Message ID | 1446486077-14973-1-git-send-email-mike.holmes@linaro.org |
---|---|
State | New |
Headers | show |
This applies and builds for me however I'm seeing the following errors generated by make: Making all in doc make[1]: Entering directory '/home/bill/linaro/uguide/doc' Making all in images make[2]: Entering directory '/home/bill/linaro/uguide/doc/images' convert atomic_queue.svg atomic_queue.png convert ordered_queue.svg ordered_queue.png convert parallel_queue.svg parallel_queue.png convert atomic_queue.svg atomic_queue.eps convert ordered_queue.svg ordered_queue.eps convert parallel_queue.svg parallel_queue.eps mscgen -T png -i resource_management.msc -o resource_management.png make[2]: Leaving directory '/home/bill/linaro/uguide/doc/images' Making all in implementers-guide make[2]: Entering directory '/home/bill/linaro/uguide/doc/implementers-guide' asciidoc --out-file=../../doc/output/implementers-guide.html implementers-guide.adoc /bin/sh: 1: source-highlight: not found asciidoc: WARNING: implementers-guide.adoc: line 175: filter non-zero exit code: source-highlight -f xhtml -s am: returned 127 asciidoc: WARNING: implementers-guide.adoc: line 175: no output from filter: source-highlight -f xhtml -s am /bin/sh: 1: source-highlight: not found asciidoc: WARNING: implementers-guide.adoc: line 201: filter non-zero exit code: source-highlight -f xhtml -s am: returned 127 asciidoc: WARNING: implementers-guide.adoc: line 201: no output from filter: source-highlight -f xhtml -s am /bin/sh: 1: source-highlight: not found asciidoc: WARNING: implementers-guide.adoc: line 221: filter non-zero exit code: source-highlight -f xhtml -s bash: returned 127 asciidoc: WARNING: implementers-guide.adoc: line 221: no output from filter: source-highlight -f xhtml -s bash /bin/sh: 1: source-highlight: not found asciidoc: WARNING: implementers-guide.adoc: line 250: filter non-zero exit code: source-highlight -f xhtml -s c: returned 127 asciidoc: WARNING: implementers-guide.adoc: line 250: no output from filter: source-highlight -f xhtml -s c /bin/sh: 1: source-highlight: not found asciidoc: WARNING: implementers-guide.adoc: line 278: filter non-zero exit code: source-highlight -f xhtml -s c: returned 127 asciidoc: WARNING: implementers-guide.adoc: line 278: no output from filter: source-highlight -f xhtml -s c make[2]: Leaving directory '/home/bill/linaro/uguide/doc/implementers-guide' Making all in users-guide make[2]: Entering directory '/home/bill/linaro/uguide/doc/users-guide' asciidoc --out-file=../../doc/output/users-guide.html users-guide.adoc make[2]: Leaving directory '/home/bill/linaro/uguide/doc/users-guide' make[2]: Entering directory '/home/bill/linaro/uguide/doc' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/home/bill/linaro/uguide/doc' make[1]: Leaving directory '/home/bill/linaro/uguide/doc' Are these expected? Other than that, looks good. Bill On Mon, Nov 2, 2015 at 11:41 AM, Mike Holmes <mike.holmes@linaro.org> wrote: > Signed-off-by: Mike Holmes <mike.holmes@linaro.org> > --- > DEPENDENCIES | 9 +- > configure.ac | 11 + > doc/Makefile.am | 4 +- > doc/images/.gitignore | 2 + > doc/images/Makefile.am | 33 +++ > doc/images/atomic_queue.svg | 302 +++++++++++++++++++ > doc/images/ordered_queue.svg | 658 > ++++++++++++++++++++++++++++++++++++++++++ > doc/images/parallel_queue.svg | 470 ++++++++++++++++++++++++++++++ > 8 files changed, 1486 insertions(+), 3 deletions(-) > create mode 100644 doc/images/.gitignore > create mode 100644 doc/images/Makefile.am > create mode 100644 doc/images/atomic_queue.svg > create mode 100644 doc/images/ordered_queue.svg > create mode 100644 doc/images/parallel_queue.svg > > diff --git a/DEPENDENCIES b/DEPENDENCIES > index 51951d7..7d22bde 100644 > --- a/DEPENDENCIES > +++ b/DEPENDENCIES > @@ -187,7 +187,12 @@ Prerequisites for building the OpenDataPlane (ODP) API > ./configure --enable-cunit #if cunit is in the PATH > ./configure --with-cunit-path=DIR #only if you need a path to Cunit > libs and headers > > -5.0 Documentation & Doxygen > +5.0 Documentation Images & Doxygen > + > + Images are stored as svg files and the png or eps versions generated > when the docs are built > + Image magics convert application is used > + # Debian/Ubuntu > + # apt-get install imagemagick > > 5.1 API Guide > See http://www.stack.nl/~dimitri/doxygen/manual/install.html > @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 > > 5.2.1 HTML > # Ubuntu > - $ apt-get install asciidoc > + $ apt-get install asciidoc source-highlight > > # Debian > $ apt-get install asciidoc source-highlight > diff --git a/configure.ac b/configure.ac > index a7e7413..5cf07ca 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], > AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) > > ########################################################################## > +# Check for imagemagic availability > +########################################################################## > + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) > + if test -z "$IMAGEMAGIC"; > + then AC_MSG_WARN([Imagemagic (convert) not found - continuing > without image support]) > + fi > + > +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test "x${IMAGEMAGIC}" = "xconvert"]) > + > +########################################################################## > # Save and set temporary compilation flags > ########################################################################## > OLD_LDFLAGS=$LDFLAGS > @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" > AC_CONFIG_FILES([Makefile > doc/Makefile > doc/implementers-guide/Makefile > + doc/images/Makefile > example/Makefile > example/classifier/Makefile > example/generator/Makefile > diff --git a/doc/Makefile.am b/doc/Makefile.am > index 73bd8e2..3aa29a3 100644 > --- a/doc/Makefile.am > +++ b/doc/Makefile.am > @@ -1,8 +1,10 @@ > +SUBDIRS = images > + > if HAVE_DOXYGEN > clean-local: > rm -rf output > endif > > if user_guide > -SUBDIRS = implementers-guide > +SUBDIRS += implementers-guide > endif > diff --git a/doc/images/.gitignore b/doc/images/.gitignore > new file mode 100644 > index 0000000..148f2f2 > --- /dev/null > +++ b/doc/images/.gitignore > @@ -0,0 +1,2 @@ > +*.png > +*.eps > diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am > new file mode 100644 > index 0000000..df8f9d4 > --- /dev/null > +++ b/doc/images/Makefile.am > @@ -0,0 +1,33 @@ > +SVG_SRCS = atomic_queue.svg \ > + ordered_queue.svg \ > + parallel_queue.svg > +SVG_TARGETS = $(SVG_SRCS:svg=png) > +SVG_TARGETS += $(SVG_SRCS:svg=eps) > + > +EXTRA_DIST = $(SVG_SRCS) > + > +TARGETS= > + > +if HAVE_IMAGEMAGIC > +TARGETS += $(SVG_TARGETS) > +endif > + > +all-local: $(TARGETS) > + > +clean-local: > + rm -f $(TARGETS) > + > +atomic_queue.png: atomic_queue.svg > + convert $< $@ > +atomic_queue.eps: atomic_queue.svg > + convert $< $@ > + > +ordered_queue.png: ordered_queue.svg > + convert $< $@ > +parallel_queue.eps: parallel_queue.svg > + convert $< $@ > + > +parallel_queue.png: parallel_queue.svg > + convert $< $@ > +ordered_queue.eps: ordered_queue.svg > + convert $< $@ > diff --git a/doc/images/atomic_queue.svg b/doc/images/atomic_queue.svg > new file mode 100644 > index 0000000..bd4958f > --- /dev/null > +++ b/doc/images/atomic_queue.svg > @@ -0,0 +1,302 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 528.09972 227.74805" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="atomic_queue.svg" > + width="528.09973" > + height="227.74805" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511" /> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="1920" > + inkscape:window-height="1176" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="0.32777778" > + inkscape:cx="1112.9523" > + inkscape:cy="-489.62767" > + inkscape:window-x="0" > + inkscape:window-y="264" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 253.41842,115.59224 1.6875,-0.14063 q 0.125,1.01563 > 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 > 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 > -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 > -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 > 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l > -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 > 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 > 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 > -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 > -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 > 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 > -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 > 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 > 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 > -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 > -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 > 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m > 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 > 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 > -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 > -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 > -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 > 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 > 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l > 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 > 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 > -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 > -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 > -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 > 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 > 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 > 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 > q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 > 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 > -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 > z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 > 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 > 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 127.20471,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 127.20471,46.43307 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 194.90027,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 194.90027,46.7874 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 226.26509,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 226.26509,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 483.59839,46.78346 415.91333,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 483.59839,46.78346 415.91333,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 415.90289,47.1378 383.11554,92.05118" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4463" > + d="M 415.90289,47.1378 383.11554,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 127.20471,181.31497 67.68506,0.34644" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4491" > + d="m 127.20471,181.31497 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 194.90027,180.96063 32.78738,-44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4495" > + d="m 194.90027,180.96063 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 226.26509,135.33597 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 226.26509,135.33597 158.2677,-0.8504" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 483.59839,180.96457 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 483.59839,180.96457 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 415.90289,180.61023 383.11554,135.69685" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 415.90289,180.61023 383.11554,135.69685" /> > + <path > + id="path4409" > + d="m 623.79973,339.07069 959.99997,0 0,720.00001 -959.99997,0 > 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > +</svg> > diff --git a/doc/images/ordered_queue.svg b/doc/images/ordered_queue.svg > new file mode 100644 > index 0000000..dfc9c22 > --- /dev/null > +++ b/doc/images/ordered_queue.svg > @@ -0,0 +1,658 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 761.46093 486.49073" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="ordered_queue.svg" > + width="761.46094" > + height="486.49072" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511"> > + <marker > + inkscape:stockid="Arrow1Lstart" > + orient="auto" > + refY="0.0" > + refX="0.0" > + id="Arrow1Lstart" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4562" > + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="scale(0.8) translate(12.5,0)" /> > + </marker> > + <marker > + inkscape:stockid="Arrow1Lend" > + orient="auto" > + refY="0.0" > + refX="0.0" > + id="Arrow1Lend" > + style="overflow:visible;" > + inkscape:isstock="true"> > + <path > + id="path4565" > + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="scale(0.8) rotate(180) translate(12.5,0)" /> > + </marker> > + </defs> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="2511" > + inkscape:window-height="1416" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="2.4820709" > + inkscape:cx="414.43619" > + inkscape:cy="241.85164" > + inkscape:window-x="1969" > + inkscape:window-y="24" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" > + inkscape:snap-global="true" > + inkscape:snap-text-baseline="true" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 256.25152,115.59224 1.6875,-0.14063 q 0.125,1.01563 > 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 > 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 > -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 > -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 > 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l > -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 > 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 > 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 > -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 > -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 > 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 > -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 > 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 > 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 > -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 > -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 > 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m > 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 > 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 > -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 > -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 > -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 > 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 > 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l > 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 > 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 > -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 > -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 > -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 > 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 > 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 > 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 > q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 > 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 > -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 > z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 > 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 > 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 130.03781,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 129.63492,47.641738 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 197.73337,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 196.92759,48.398958 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 229.09819,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 229.09819,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 486.43149,46.78346 418.74643,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 486.43149,46.78346 418.74643,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 418.73599,47.1378 385.94864,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 127.20471,318.24836 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 194.90027,317.89402 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 226.26509,272.26936 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 128.23639,141.26408 243.31544,-0.83984" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 483.59839,317.89796 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 483.59839,318.70374 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 415.90289,317.54362 383.11554,272.63024" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 414.06808,317.81135 370.9359,139.95963" /> > + <path > + id="path4409" > + d="m 626.63283,339.07069 959.99997,0 0,720.00001 -959.99997,0 > 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-7" > + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-0" > + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-7" > + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-0" > + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-9" > + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-6" > + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-1" > + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-6" > + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4415-7" > + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4417-6" > + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4419-0" > + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4421-0" > + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4423-5" > + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4425-0" > + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4427-0" > + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4429-2" > + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-72" > + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-7" > + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-0" > + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-4" > + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-94" > + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-1" > + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-9" > + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-3" > + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-3" > + d="M 629.87967,45.654886 513.97954,45.315094" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-3" > + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-5" > + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-6" > + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-9" > + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-4" > + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-4" > + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-9" > + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-6" > + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 509.12913,166.36411 62.3283,0 57.60646,-116.157282" > + id="path4458" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="M 512.9066,441.17526 545.01512,440.23089 627.17515,53.9843" > + id="path4460" > + inkscape:connector-curvature="0" /> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="742.00342" > + y="45.748047" > + id="text4462" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4464" > + x="742.00342" > + y="45.748047">1</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="716.00342" > + y="45.748047" > + id="text4466" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4468" > + x="716.00342" > + y="45.748047">2</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="497.00342" > + y="48.748047" > + id="text4470" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4472" > + x="497.00342" > + y="48.748047">5</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="491.00342" > + y="168.74805" > + id="text4474" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4476" > + x="491.00342" > + y="168.74805">3</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="497.00342" > + y="439.74805" > + id="text4478" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4480" > + x="497.00342" > + y="439.74805">4</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="115.39186" > + y="48.568272" > + id="text4482" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4484" > + x="115.39186" > + y="48.568272">6</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="85.003418" > + y="48.748047" > + id="text4486" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4488" > + x="85.003418" > + y="48.748047">7</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="113.61497" > + y="142.49117" > + id="text4490" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4492" > + x="113.61497" > + y="142.49117">3</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="495.00342" > + y="317.74805" > + id="text4494" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4496" > + x="495.00342" > + y="317.74805">2</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="743.00342" > + y="320.74805" > + id="text4498" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4500" > + x="743.00342" > + y="320.74805">1</tspan></text> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-9" > + d="m 129.54104,56.932167 62.84594,-0.347244" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-6" > + d="m 192.3997,57.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-1" > + d="m 223.76452,102.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-0" > + d="m 129.31719,35.932033 64.45896,-0.346976" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-4" > + d="m 195.3997,36.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-9" > + d="m 226.76452,81.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 384.00341,80.748047 35,-35" > + id="path4535" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 381.00341,102.74805 69,333 36,2" > + id="path4539" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" > + inkscape:connector-curvature="0" > + id="path4503-5" > + d="m 630.54942,318.71899 -118.50454,0.33949" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-1" > + d="m 483.05483,165.96601 -45.10454,-0.35047" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" > + d="M 385.96803,91.256236 437.94076,164.5821" > + id="path4946" > + inkscape:connector-curvature="0" /> > +</svg> > diff --git a/doc/images/parallel_queue.svg b/doc/images/parallel_queue.svg > new file mode 100644 > index 0000000..50e3f38 > --- /dev/null > +++ b/doc/images/parallel_queue.svg > @@ -0,0 +1,470 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 529.48229 486.49073" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="parallel_queue.svg" > + width="529.4823" > + height="486.49072" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511"> > + <marker > + inkscape:stockid="Arrow1Lstart" > + orient="auto" > + refY="0" > + refX="0" > + id="Arrow1Lstart" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4562" > + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="matrix(0.8,0,0,0.8,10,0)" > + inkscape:connector-curvature="0" /> > + </marker> > + <marker > + inkscape:stockid="Arrow1Lend" > + orient="auto" > + refY="0" > + refX="0" > + id="Arrow1Lend" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4565" > + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="matrix(-0.8,0,0,-0.8,-10,0)" > + inkscape:connector-curvature="0" /> > + </marker> > + </defs> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="2511" > + inkscape:window-height="1416" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="1.0589091" > + inkscape:cx="705.36023" > + inkscape:cy="16.23361" > + inkscape:window-x="1969" > + inkscape:window-y="24" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" > + inkscape:snap-global="true" > + inkscape:snap-text-baseline="true" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 > 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 254.63996,115.59224 1.6875,-0.14063 q 0.125,1.01563 > 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 > 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 > -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 > -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 > 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l > -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 > 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 > 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 > -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 > -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 > 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 > -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 > 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 > 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 > -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 > -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 > 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m > 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 > 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 > -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 > -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 > -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 > 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 > 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l > 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 > 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 > -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 > -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 > -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 > 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 > 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 > 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 > -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 > -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 > 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 > -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 > z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 > -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 > -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 > q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 > 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 > -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 > z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 > 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 > 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 > -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 128.42625,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 128.02336,47.64174 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 196.12181,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 195.31603,48.39896 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 227.48663,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 227.48663,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 484.81993,46.78346 417.13487,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 484.81993,46.78346 417.13487,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 417.12443,47.1378 384.33708,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 > 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 > 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 > c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 125.59315,318.24836 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 193.28871,317.89402 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 224.65353,272.26936 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 126.62483,141.26408 243.31544,-0.83984" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 481.98683,317.89796 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 481.98683,318.70374 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 414.29133,317.54362 381.50398,272.63024" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 412.45652,317.81135 369.32434,139.95963" /> > + <path > + id="path4409" > + d="m 625.02127,339.07069 959.99993,0 0,720.00001 -959.99993,0 > 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-7" > + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-0" > + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-7" > + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-0" > + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-9" > + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-6" > + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-1" > + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-6" > + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4415-7" > + d="m 632.64464,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4419-0" > + d="m 681.84149,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4423-5" > + d="m 707.51079,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4427-0" > + d="m 733.18008,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-3" > + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-5" > + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-6" > + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-9" > + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-4" > + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-4" > + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 > 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 > 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c > -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-9" > + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-6" > + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-9" > + d="m 127.92948,56.93217 62.84594,-0.34725" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-6" > + d="m 190.78814,57.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-1" > + d="m 222.15296,102.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-0" > + d="m 127.70563,35.93203 64.45896,-0.34697" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-4" > + d="m 193.78814,36.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-9" > + d="m 225.15296,81.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 382.39185,80.74805 35,-35" > + id="path4535" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 379.39185,102.74805 69,333 36,2" > + id="path4539" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-1" > + d="m 481.44327,165.96601 -45.10454,-0.35047" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="M 384.35647,91.25624 436.3292,164.5821" > + id="path4946" > + inkscape:connector-curvature="0" /> > +</svg> > -- > 2.5.0 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp >
On 2 November 2015 at 17:48, Bill Fischofer <bill.fischofer@linaro.org> wrote: > This applies and builds for me however I'm seeing the following errors > generated by make: > > Making all in doc > make[1]: Entering directory '/home/bill/linaro/uguide/doc' > Making all in images > make[2]: Entering directory '/home/bill/linaro/uguide/doc/images' > convert atomic_queue.svg atomic_queue.png > convert ordered_queue.svg ordered_queue.png > convert parallel_queue.svg parallel_queue.png > convert atomic_queue.svg atomic_queue.eps > convert ordered_queue.svg ordered_queue.eps > convert parallel_queue.svg parallel_queue.eps > mscgen -T png -i resource_management.msc -o resource_management.png > make[2]: Leaving directory '/home/bill/linaro/uguide/doc/images' > Making all in implementers-guide > make[2]: Entering directory > '/home/bill/linaro/uguide/doc/implementers-guide' > asciidoc --out-file=../../doc/output/implementers-guide.html > implementers-guide.adoc > /bin/sh: 1: source-highlight: not found > I think you missed a package in the DEPENDENCIES file - source-highlight 5.2 User guides 5.2.1 HTML # Ubuntu $ apt-get install asciidoc source-highlight # Debian $ apt-get install asciidoc source-highlight > asciidoc: WARNING: implementers-guide.adoc: line 175: filter non-zero exit > code: source-highlight -f xhtml -s am: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 175: no output from > filter: source-highlight -f xhtml -s am > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 201: filter non-zero exit > code: source-highlight -f xhtml -s am: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 201: no output from > filter: source-highlight -f xhtml -s am > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 221: filter non-zero exit > code: source-highlight -f xhtml -s bash: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 221: no output from > filter: source-highlight -f xhtml -s bash > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 250: filter non-zero exit > code: source-highlight -f xhtml -s c: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 250: no output from > filter: source-highlight -f xhtml -s c > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 278: filter non-zero exit > code: source-highlight -f xhtml -s c: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 278: no output from > filter: source-highlight -f xhtml -s c > make[2]: Leaving directory > '/home/bill/linaro/uguide/doc/implementers-guide' > Making all in users-guide > make[2]: Entering directory '/home/bill/linaro/uguide/doc/users-guide' > asciidoc --out-file=../../doc/output/users-guide.html users-guide.adoc > make[2]: Leaving directory '/home/bill/linaro/uguide/doc/users-guide' > make[2]: Entering directory '/home/bill/linaro/uguide/doc' > make[2]: Nothing to be done for 'all-am'. > make[2]: Leaving directory '/home/bill/linaro/uguide/doc' > make[1]: Leaving directory '/home/bill/linaro/uguide/doc' > > Are these expected? Other than that, looks good. > > Bill > > On Mon, Nov 2, 2015 at 11:41 AM, Mike Holmes <mike.holmes@linaro.org> > wrote: > >> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >> --- >> DEPENDENCIES | 9 +- >> configure.ac | 11 + >> doc/Makefile.am | 4 +- >> doc/images/.gitignore | 2 + >> doc/images/Makefile.am | 33 +++ >> doc/images/atomic_queue.svg | 302 +++++++++++++++++++ >> doc/images/ordered_queue.svg | 658 >> ++++++++++++++++++++++++++++++++++++++++++ >> doc/images/parallel_queue.svg | 470 ++++++++++++++++++++++++++++++ >> 8 files changed, 1486 insertions(+), 3 deletions(-) >> create mode 100644 doc/images/.gitignore >> create mode 100644 doc/images/Makefile.am >> create mode 100644 doc/images/atomic_queue.svg >> create mode 100644 doc/images/ordered_queue.svg >> create mode 100644 doc/images/parallel_queue.svg >> >> diff --git a/DEPENDENCIES b/DEPENDENCIES >> index 51951d7..7d22bde 100644 >> --- a/DEPENDENCIES >> +++ b/DEPENDENCIES >> @@ -187,7 +187,12 @@ Prerequisites for building the OpenDataPlane (ODP) >> API >> ./configure --enable-cunit #if cunit is in the PATH >> ./configure --with-cunit-path=DIR #only if you need a path to Cunit >> libs and headers >> >> -5.0 Documentation & Doxygen >> +5.0 Documentation Images & Doxygen >> + >> + Images are stored as svg files and the png or eps versions generated >> when the docs are built >> + Image magics convert application is used >> + # Debian/Ubuntu >> + # apt-get install imagemagick >> >> 5.1 API Guide >> See http://www.stack.nl/~dimitri/doxygen/manual/install.html >> @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 >> >> 5.2.1 HTML >> # Ubuntu >> - $ apt-get install asciidoc >> + $ apt-get install asciidoc source-highlight >> >> # Debian >> $ apt-get install asciidoc source-highlight >> diff --git a/configure.ac b/configure.ac >> index a7e7413..5cf07ca 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], >> AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) >> >> >> ########################################################################## >> +# Check for imagemagic availability >> >> +########################################################################## >> + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) >> + if test -z "$IMAGEMAGIC"; >> + then AC_MSG_WARN([Imagemagic (convert) not found - continuing >> without image support]) >> + fi >> + >> +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test "x${IMAGEMAGIC}" = "xconvert"]) >> + >> >> +########################################################################## >> # Save and set temporary compilation flags >> >> ########################################################################## >> OLD_LDFLAGS=$LDFLAGS >> @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" >> AC_CONFIG_FILES([Makefile >> doc/Makefile >> doc/implementers-guide/Makefile >> + doc/images/Makefile >> example/Makefile >> example/classifier/Makefile >> example/generator/Makefile >> diff --git a/doc/Makefile.am b/doc/Makefile.am >> index 73bd8e2..3aa29a3 100644 >> --- a/doc/Makefile.am >> +++ b/doc/Makefile.am >> @@ -1,8 +1,10 @@ >> +SUBDIRS = images >> + >> if HAVE_DOXYGEN >> clean-local: >> rm -rf output >> endif >> >> if user_guide >> -SUBDIRS = implementers-guide >> +SUBDIRS += implementers-guide >> endif >> diff --git a/doc/images/.gitignore b/doc/images/.gitignore >> new file mode 100644 >> index 0000000..148f2f2 >> --- /dev/null >> +++ b/doc/images/.gitignore >> @@ -0,0 +1,2 @@ >> +*.png >> +*.eps >> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am >> new file mode 100644 >> index 0000000..df8f9d4 >> --- /dev/null >> +++ b/doc/images/Makefile.am >> @@ -0,0 +1,33 @@ >> +SVG_SRCS = atomic_queue.svg \ >> + ordered_queue.svg \ >> + parallel_queue.svg >> +SVG_TARGETS = $(SVG_SRCS:svg=png) >> +SVG_TARGETS += $(SVG_SRCS:svg=eps) >> + >> +EXTRA_DIST = $(SVG_SRCS) >> + >> +TARGETS= >> + >> +if HAVE_IMAGEMAGIC >> +TARGETS += $(SVG_TARGETS) >> +endif >> + >> +all-local: $(TARGETS) >> + >> +clean-local: >> + rm -f $(TARGETS) >> + >> +atomic_queue.png: atomic_queue.svg >> + convert $< $@ >> +atomic_queue.eps: atomic_queue.svg >> + convert $< $@ >> + >> +ordered_queue.png: ordered_queue.svg >> + convert $< $@ >> +parallel_queue.eps: parallel_queue.svg >> + convert $< $@ >> + >> +parallel_queue.png: parallel_queue.svg >> + convert $< $@ >> +ordered_queue.eps: ordered_queue.svg >> + convert $< $@ >> diff --git a/doc/images/atomic_queue.svg b/doc/images/atomic_queue.svg >> new file mode 100644 >> index 0000000..bd4958f >> --- /dev/null >> +++ b/doc/images/atomic_queue.svg >> @@ -0,0 +1,302 @@ >> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >> +<svg >> + xmlns:dc="http://purl.org/dc/elements/1.1/" >> + xmlns:cc="http://creativecommons.org/ns#" >> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> + xmlns:svg="http://www.w3.org/2000/svg" >> + xmlns="http://www.w3.org/2000/svg" >> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >> + version="1.1" >> + viewBox="0 0 528.09972 227.74805" >> + stroke-miterlimit="10" >> + id="svg4406" >> + inkscape:version="0.91 r13725" >> + sodipodi:docname="atomic_queue.svg" >> + width="528.09973" >> + height="227.74805" >> + >> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >> + <metadata >> + id="metadata4513"> >> + <rdf:RDF> >> + <cc:Work >> + rdf:about=""> >> + <dc:format>image/svg+xml</dc:format> >> + <dc:type >> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >> + <dc:title></dc:title> >> + </cc:Work> >> + </rdf:RDF> >> + </metadata> >> + <defs >> + id="defs4511" /> >> + <sodipodi:namedview >> + pagecolor="#ffffff" >> + bordercolor="#666666" >> + borderopacity="1" >> + objecttolerance="10" >> + gridtolerance="10" >> + guidetolerance="10" >> + inkscape:pageopacity="0" >> + inkscape:pageshadow="2" >> + inkscape:window-width="1920" >> + inkscape:window-height="1176" >> + id="namedview4509" >> + showgrid="false" >> + fit-margin-top="0" >> + fit-margin-left="0" >> + fit-margin-right="0" >> + fit-margin-bottom="0" >> + inkscape:zoom="0.32777778" >> + inkscape:cx="1112.9523" >> + inkscape:cy="-489.62767" >> + inkscape:window-x="0" >> + inkscape:window-y="264" >> + inkscape:window-maximized="1" >> + inkscape:current-layer="svg4406" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4413" >> + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4415" >> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4417" >> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4419" >> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4421" >> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4423" >> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4425" >> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4427" >> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4429" >> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4431" >> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4433" >> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + style="fill:#000000;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4435" >> + d="m 253.41842,115.59224 1.6875,-0.14063 q 0.125,1.01563 >> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >> z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4437" >> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4439" >> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4441" >> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4443" >> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4445" >> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4447" >> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4449" >> + d="m 194.90027,46.7874 32.78738,44.91339" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4451" >> + d="m 194.90027,46.7874 32.78738,44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4453" >> + d="m 226.26509,92.41207 157.54327,0" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4455" >> + d="m 226.26509,92.41207 157.54327,0" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4457" >> + d="M 483.59839,46.78346 415.91333,46.43701" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4459" >> + d="M 483.59839,46.78346 415.91333,46.43701" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4461" >> + d="M 415.90289,47.1378 383.11554,92.05118" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4463" >> + d="M 415.90289,47.1378 383.11554,92.05118" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4465" >> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4467" >> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4469" >> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4471" >> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4473" >> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4475" >> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4477" >> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4479" >> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4481" >> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4483" >> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4485" >> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4487" >> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4489" >> + d="m 127.20471,181.31497 67.68506,0.34644" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4491" >> + d="m 127.20471,181.31497 67.68506,0.34644" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4493" >> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4495" >> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4497" >> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4499" >> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4501" >> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4503" >> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4505" >> + d="M 415.90289,180.61023 383.11554,135.69685" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4507" >> + d="M 415.90289,180.61023 383.11554,135.69685" /> >> + <path >> + id="path4409" >> + d="m 623.79973,339.07069 959.99997,0 0,720.00001 -959.99997,0 >> 0,-720.00001 z" >> + inkscape:connector-curvature="0" >> + style="clip-rule:nonzero" /> >> +</svg> >> diff --git a/doc/images/ordered_queue.svg b/doc/images/ordered_queue.svg >> new file mode 100644 >> index 0000000..dfc9c22 >> --- /dev/null >> +++ b/doc/images/ordered_queue.svg >> @@ -0,0 +1,658 @@ >> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >> +<svg >> + xmlns:dc="http://purl.org/dc/elements/1.1/" >> + xmlns:cc="http://creativecommons.org/ns#" >> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> + xmlns:svg="http://www.w3.org/2000/svg" >> + xmlns="http://www.w3.org/2000/svg" >> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >> + version="1.1" >> + viewBox="0 0 761.46093 486.49073" >> + stroke-miterlimit="10" >> + id="svg4406" >> + inkscape:version="0.91 r13725" >> + sodipodi:docname="ordered_queue.svg" >> + width="761.46094" >> + height="486.49072" >> + >> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >> + <metadata >> + id="metadata4513"> >> + <rdf:RDF> >> + <cc:Work >> + rdf:about=""> >> + <dc:format>image/svg+xml</dc:format> >> + <dc:type >> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >> + <dc:title></dc:title> >> + </cc:Work> >> + </rdf:RDF> >> + </metadata> >> + <defs >> + id="defs4511"> >> + <marker >> + inkscape:stockid="Arrow1Lstart" >> + orient="auto" >> + refY="0.0" >> + refX="0.0" >> + id="Arrow1Lstart" >> + style="overflow:visible" >> + inkscape:isstock="true"> >> + <path >> + id="path4562" >> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >> + >> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >> + transform="scale(0.8) translate(12.5,0)" /> >> + </marker> >> + <marker >> + inkscape:stockid="Arrow1Lend" >> + orient="auto" >> + refY="0.0" >> + refX="0.0" >> + id="Arrow1Lend" >> + style="overflow:visible;" >> + inkscape:isstock="true"> >> + <path >> + id="path4565" >> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >> + >> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >> + transform="scale(0.8) rotate(180) translate(12.5,0)" /> >> + </marker> >> + </defs> >> + <sodipodi:namedview >> + pagecolor="#ffffff" >> + bordercolor="#666666" >> + borderopacity="1" >> + objecttolerance="10" >> + gridtolerance="10" >> + guidetolerance="10" >> + inkscape:pageopacity="0" >> + inkscape:pageshadow="2" >> + inkscape:window-width="2511" >> + inkscape:window-height="1416" >> + id="namedview4509" >> + showgrid="false" >> + fit-margin-top="0" >> + fit-margin-left="0" >> + fit-margin-right="0" >> + fit-margin-bottom="0" >> + inkscape:zoom="2.4820709" >> + inkscape:cx="414.43619" >> + inkscape:cy="241.85164" >> + inkscape:window-x="1969" >> + inkscape:window-y="24" >> + inkscape:window-maximized="1" >> + inkscape:current-layer="svg4406" >> + inkscape:snap-global="true" >> + inkscape:snap-text-baseline="true" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4413" >> + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4415" >> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4417" >> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4419" >> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4421" >> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4423" >> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4425" >> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4427" >> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4429" >> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4431" >> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4433" >> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + style="fill:#000000;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4435" >> + d="m 256.25152,115.59224 1.6875,-0.14063 q 0.125,1.01563 >> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >> z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4437" >> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4439" >> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4441" >> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4443" >> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4445" >> + d="m 130.03781,46.43307 67.68506,-0.34645" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4447" >> + d="m 129.63492,47.641738 67.68506,-0.34645" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4449" >> + d="m 197.73337,46.7874 32.78738,44.91339" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4451" >> + d="m 196.92759,48.398958 32.78738,44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4453" >> + d="m 229.09819,92.41207 157.54327,0" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4455" >> + d="m 229.09819,92.41207 157.54327,0" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4457" >> + d="M 486.43149,46.78346 418.74643,46.43701" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4459" >> + d="M 486.43149,46.78346 418.74643,46.43701" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4461" >> + d="M 418.73599,47.1378 385.94864,92.05118" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4465" >> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" >> /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4467" >> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" >> /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4469" >> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4471" >> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4473" >> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4475" >> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4477" >> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4479" >> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4481" >> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4483" >> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4485" >> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4487" >> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4489" >> + d="m 127.20471,318.24836 67.68506,0.34644" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4493" >> + d="m 194.90027,317.89402 32.78738,-44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4497" >> + d="m 226.26509,272.26936 158.2677,-0.8504" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4499" >> + d="m 128.23639,141.26408 243.31544,-0.83984" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4501" >> + d="m 483.59839,317.89796 -67.68506,0.34647" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4503" >> + d="m 483.59839,318.70374 -67.68506,0.34647" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4505" >> + d="M 415.90289,317.54362 383.11554,272.63024" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >> + inkscape:connector-curvature="0" >> + id="path4507" >> + d="M 414.06808,317.81135 370.9359,139.95963" /> >> + <path >> + id="path4409" >> + d="m 626.63283,339.07069 959.99997,0 0,720.00001 -959.99997,0 >> 0,-720.00001 z" >> + inkscape:connector-curvature="0" >> + style="clip-rule:nonzero" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4465-7" >> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" >> /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4467-0" >> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" >> /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4469-7" >> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4471-0" >> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4473-9" >> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4475-6" >> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4477-1" >> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4479-6" >> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4415-7" >> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4417-6" >> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4419-0" >> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4421-0" >> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4423-5" >> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4425-0" >> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4427-0" >> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4429-2" >> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4465-72" >> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4467-7" >> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4469-0" >> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4471-4" >> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4473-94" >> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4475-1" >> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4477-9" >> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4479-3" >> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4459-3" >> + d="M 629.87967,45.654886 513.97954,45.315094" /> >> + <path >> + >> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4437-3" >> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4439-5" >> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4441-6" >> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4443-9" >> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4437-4" >> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4439-4" >> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4441-9" >> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4443-6" >> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="m 509.12913,166.36411 62.3283,0 57.60646,-116.157282" >> + id="path4458" >> + inkscape:connector-curvature="0" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="M 512.9066,441.17526 545.01512,440.23089 627.17515,53.9843" >> + id="path4460" >> + inkscape:connector-curvature="0" /> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="742.00342" >> + y="45.748047" >> + id="text4462" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4464" >> + x="742.00342" >> + y="45.748047">1</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="716.00342" >> + y="45.748047" >> + id="text4466" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4468" >> + x="716.00342" >> + y="45.748047">2</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="497.00342" >> + y="48.748047" >> + id="text4470" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4472" >> + x="497.00342" >> + y="48.748047">5</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="491.00342" >> + y="168.74805" >> + id="text4474" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4476" >> + x="491.00342" >> + y="168.74805">3</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="497.00342" >> + y="439.74805" >> + id="text4478" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4480" >> + x="497.00342" >> + y="439.74805">4</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="115.39186" >> + y="48.568272" >> + id="text4482" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4484" >> + x="115.39186" >> + y="48.568272">6</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="85.003418" >> + y="48.748047" >> + id="text4486" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4488" >> + x="85.003418" >> + y="48.748047">7</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="113.61497" >> + y="142.49117" >> + id="text4490" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4492" >> + x="113.61497" >> + y="142.49117">3</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="495.00342" >> + y="317.74805" >> + id="text4494" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4496" >> + x="495.00342" >> + y="317.74805">2</tspan></text> >> + <text >> + xml:space="preserve" >> + >> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >> + x="743.00342" >> + y="320.74805" >> + id="text4498" >> + sodipodi:linespacing="125%"><tspan >> + sodipodi:role="line" >> + id="tspan4500" >> + x="743.00342" >> + y="320.74805">1</tspan></text> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4447-9" >> + d="m 129.54104,56.932167 62.84594,-0.347244" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4451-6" >> + d="m 192.3997,57.2861 32.78739,44.91339" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4455-1" >> + d="m 223.76452,102.91077 157.54328,0" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4447-0" >> + d="m 129.31719,35.932033 64.45896,-0.346976" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4451-4" >> + d="m 195.3997,36.2861 32.78739,44.91339" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4455-9" >> + d="m 226.76452,81.91077 157.54328,0" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="m 384.00341,80.748047 35,-35" >> + id="path4535" >> + inkscape:connector-curvature="0" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="m 381.00341,102.74805 69,333 36,2" >> + id="path4539" >> + inkscape:connector-curvature="0" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" >> + inkscape:connector-curvature="0" >> + id="path4503-5" >> + d="m 630.54942,318.71899 -118.50454,0.33949" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4459-1" >> + d="m 483.05483,165.96601 -45.10454,-0.35047" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" >> + d="M 385.96803,91.256236 437.94076,164.5821" >> + id="path4946" >> + inkscape:connector-curvature="0" /> >> +</svg> >> diff --git a/doc/images/parallel_queue.svg b/doc/images/parallel_queue.svg >> new file mode 100644 >> index 0000000..50e3f38 >> --- /dev/null >> +++ b/doc/images/parallel_queue.svg >> @@ -0,0 +1,470 @@ >> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >> +<svg >> + xmlns:dc="http://purl.org/dc/elements/1.1/" >> + xmlns:cc="http://creativecommons.org/ns#" >> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> + xmlns:svg="http://www.w3.org/2000/svg" >> + xmlns="http://www.w3.org/2000/svg" >> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >> + version="1.1" >> + viewBox="0 0 529.48229 486.49073" >> + stroke-miterlimit="10" >> + id="svg4406" >> + inkscape:version="0.91 r13725" >> + sodipodi:docname="parallel_queue.svg" >> + width="529.4823" >> + height="486.49072" >> + >> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >> + <metadata >> + id="metadata4513"> >> + <rdf:RDF> >> + <cc:Work >> + rdf:about=""> >> + <dc:format>image/svg+xml</dc:format> >> + <dc:type >> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >> + <dc:title></dc:title> >> + </cc:Work> >> + </rdf:RDF> >> + </metadata> >> + <defs >> + id="defs4511"> >> + <marker >> + inkscape:stockid="Arrow1Lstart" >> + orient="auto" >> + refY="0" >> + refX="0" >> + id="Arrow1Lstart" >> + style="overflow:visible" >> + inkscape:isstock="true"> >> + <path >> + id="path4562" >> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >> + >> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >> + transform="matrix(0.8,0,0,0.8,10,0)" >> + inkscape:connector-curvature="0" /> >> + </marker> >> + <marker >> + inkscape:stockid="Arrow1Lend" >> + orient="auto" >> + refY="0" >> + refX="0" >> + id="Arrow1Lend" >> + style="overflow:visible" >> + inkscape:isstock="true"> >> + <path >> + id="path4565" >> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >> + >> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >> + transform="matrix(-0.8,0,0,-0.8,-10,0)" >> + inkscape:connector-curvature="0" /> >> + </marker> >> + </defs> >> + <sodipodi:namedview >> + pagecolor="#ffffff" >> + bordercolor="#666666" >> + borderopacity="1" >> + objecttolerance="10" >> + gridtolerance="10" >> + guidetolerance="10" >> + inkscape:pageopacity="0" >> + inkscape:pageshadow="2" >> + inkscape:window-width="2511" >> + inkscape:window-height="1416" >> + id="namedview4509" >> + showgrid="false" >> + fit-margin-top="0" >> + fit-margin-left="0" >> + fit-margin-right="0" >> + fit-margin-bottom="0" >> + inkscape:zoom="1.0589091" >> + inkscape:cx="705.36023" >> + inkscape:cy="16.23361" >> + inkscape:window-x="1969" >> + inkscape:window-y="24" >> + inkscape:window-maximized="1" >> + inkscape:current-layer="svg4406" >> + inkscape:snap-global="true" >> + inkscape:snap-text-baseline="true" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4413" >> + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4415" >> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4417" >> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4419" >> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4421" >> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4423" >> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4425" >> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4427" >> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4429" >> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4431" >> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4433" >> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >> + <path >> + style="fill:#000000;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4435" >> + d="m 254.63996,115.59224 1.6875,-0.14063 q 0.125,1.01563 >> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >> z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4437" >> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4439" >> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4441" >> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4443" >> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4445" >> + d="m 128.42625,46.43307 67.68506,-0.34645" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4447" >> + d="m 128.02336,47.64174 67.68506,-0.34645" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4449" >> + d="m 196.12181,46.7874 32.78738,44.91339" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4451" >> + d="m 195.31603,48.39896 32.78738,44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4453" >> + d="m 227.48663,92.41207 157.54327,0" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4455" >> + d="m 227.48663,92.41207 157.54327,0" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4457" >> + d="M 484.81993,46.78346 417.13487,46.43701" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4459" >> + d="M 484.81993,46.78346 417.13487,46.43701" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4461" >> + d="M 417.12443,47.1378 384.33708,92.05118" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4465" >> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4467" >> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4469" >> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4471" >> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4473" >> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4475" >> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4477" >> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4479" >> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >> + <path >> + style="fill:#cfe2f3;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4481" >> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4483" >> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4485" >> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4487" >> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4489" >> + d="m 125.59315,318.24836 67.68506,0.34644" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4493" >> + d="m 193.28871,317.89402 32.78738,-44.91339" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4497" >> + d="m 224.65353,272.26936 158.2677,-0.8504" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4499" >> + d="m 126.62483,141.26408 243.31544,-0.83984" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4501" >> + d="m 481.98683,317.89796 -67.68506,0.34647" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >> + inkscape:connector-curvature="0" >> + id="path4503" >> + d="m 481.98683,318.70374 -67.68506,0.34647" /> >> + <path >> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >> + inkscape:connector-curvature="0" >> + id="path4505" >> + d="M 414.29133,317.54362 381.50398,272.63024" /> >> + <path >> + >> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >> + inkscape:connector-curvature="0" >> + id="path4507" >> + d="M 412.45652,317.81135 369.32434,139.95963" /> >> + <path >> + id="path4409" >> + d="m 625.02127,339.07069 959.99993,0 0,720.00001 -959.99993,0 >> 0,-720.00001 z" >> + inkscape:connector-curvature="0" >> + style="clip-rule:nonzero" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4465-7" >> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4467-0" >> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4469-7" >> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4471-0" >> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4473-9" >> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4475-6" >> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >> + <path >> + >> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4477-1" >> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4479-6" >> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4415-7" >> + d="m 632.64464,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4419-0" >> + d="m 681.84149,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4423-5" >> + d="m 707.51079,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4427-0" >> + d="m 733.18008,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >> + <path >> + >> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4437-3" >> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4439-5" >> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4441-6" >> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4443-9" >> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4437-4" >> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4439-4" >> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >> + <path >> + >> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4441-9" >> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4443-6" >> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4447-9" >> + d="m 127.92948,56.93217 62.84594,-0.34725" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4451-6" >> + d="m 190.78814,57.2861 32.78739,44.91339" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4455-1" >> + d="m 222.15296,102.91077 157.54328,0" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4447-0" >> + d="m 127.70563,35.93203 64.45896,-0.34697" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4451-4" >> + d="m 193.78814,36.2861 32.78739,44.91339" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4455-9" >> + d="m 225.15296,81.91077 157.54328,0" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="m 382.39185,80.74805 35,-35" >> + id="path4535" >> + inkscape:connector-curvature="0" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="m 379.39185,102.74805 69,333 36,2" >> + id="path4539" >> + inkscape:connector-curvature="0" /> >> + <path >> + >> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >> + inkscape:connector-curvature="0" >> + id="path4459-1" >> + d="m 481.44327,165.96601 -45.10454,-0.35047" /> >> + <path >> + >> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >> + d="M 384.35647,91.25624 436.3292,164.5821" >> + id="path4946" >> + inkscape:connector-curvature="0" /> >> +</svg> >> -- >> 2.5.0 >> >> _______________________________________________ >> lng-odp mailing list >> lng-odp@lists.linaro.org >> https://lists.linaro.org/mailman/listinfo/lng-odp >> > > -- Mike Holmes Technical Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
Yes, you're correct. After installing that there are no errors, so... For this series: Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> On Tue, Nov 3, 2015 at 7:28 AM, Mike Holmes <mike.holmes@linaro.org> wrote: > > > On 2 November 2015 at 17:48, Bill Fischofer <bill.fischofer@linaro.org> > wrote: > >> This applies and builds for me however I'm seeing the following errors >> generated by make: >> >> Making all in doc >> make[1]: Entering directory '/home/bill/linaro/uguide/doc' >> Making all in images >> make[2]: Entering directory '/home/bill/linaro/uguide/doc/images' >> convert atomic_queue.svg atomic_queue.png >> convert ordered_queue.svg ordered_queue.png >> convert parallel_queue.svg parallel_queue.png >> convert atomic_queue.svg atomic_queue.eps >> convert ordered_queue.svg ordered_queue.eps >> convert parallel_queue.svg parallel_queue.eps >> mscgen -T png -i resource_management.msc -o resource_management.png >> make[2]: Leaving directory '/home/bill/linaro/uguide/doc/images' >> Making all in implementers-guide >> make[2]: Entering directory >> '/home/bill/linaro/uguide/doc/implementers-guide' >> asciidoc --out-file=../../doc/output/implementers-guide.html >> implementers-guide.adoc >> /bin/sh: 1: source-highlight: not found >> > > I think you missed a package in the DEPENDENCIES file - source-highlight > > 5.2 User guides > > 5.2.1 HTML > # Ubuntu > $ apt-get install asciidoc source-highlight > > # Debian > $ apt-get install asciidoc source-highlight > > > > >> asciidoc: WARNING: implementers-guide.adoc: line 175: filter non-zero >> exit code: source-highlight -f xhtml -s am: returned 127 >> asciidoc: WARNING: implementers-guide.adoc: line 175: no output from >> filter: source-highlight -f xhtml -s am >> /bin/sh: 1: source-highlight: not found >> asciidoc: WARNING: implementers-guide.adoc: line 201: filter non-zero >> exit code: source-highlight -f xhtml -s am: returned 127 >> asciidoc: WARNING: implementers-guide.adoc: line 201: no output from >> filter: source-highlight -f xhtml -s am >> /bin/sh: 1: source-highlight: not found >> asciidoc: WARNING: implementers-guide.adoc: line 221: filter non-zero >> exit code: source-highlight -f xhtml -s bash: returned 127 >> asciidoc: WARNING: implementers-guide.adoc: line 221: no output from >> filter: source-highlight -f xhtml -s bash >> /bin/sh: 1: source-highlight: not found >> asciidoc: WARNING: implementers-guide.adoc: line 250: filter non-zero >> exit code: source-highlight -f xhtml -s c: returned 127 >> asciidoc: WARNING: implementers-guide.adoc: line 250: no output from >> filter: source-highlight -f xhtml -s c >> /bin/sh: 1: source-highlight: not found >> asciidoc: WARNING: implementers-guide.adoc: line 278: filter non-zero >> exit code: source-highlight -f xhtml -s c: returned 127 >> asciidoc: WARNING: implementers-guide.adoc: line 278: no output from >> filter: source-highlight -f xhtml -s c >> make[2]: Leaving directory >> '/home/bill/linaro/uguide/doc/implementers-guide' >> Making all in users-guide >> make[2]: Entering directory '/home/bill/linaro/uguide/doc/users-guide' >> asciidoc --out-file=../../doc/output/users-guide.html users-guide.adoc >> make[2]: Leaving directory '/home/bill/linaro/uguide/doc/users-guide' >> make[2]: Entering directory '/home/bill/linaro/uguide/doc' >> make[2]: Nothing to be done for 'all-am'. >> make[2]: Leaving directory '/home/bill/linaro/uguide/doc' >> make[1]: Leaving directory '/home/bill/linaro/uguide/doc' >> >> Are these expected? Other than that, looks good. >> >> Bill >> >> On Mon, Nov 2, 2015 at 11:41 AM, Mike Holmes <mike.holmes@linaro.org> >> wrote: >> >>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >>> --- >>> DEPENDENCIES | 9 +- >>> configure.ac | 11 + >>> doc/Makefile.am | 4 +- >>> doc/images/.gitignore | 2 + >>> doc/images/Makefile.am | 33 +++ >>> doc/images/atomic_queue.svg | 302 +++++++++++++++++++ >>> doc/images/ordered_queue.svg | 658 >>> ++++++++++++++++++++++++++++++++++++++++++ >>> doc/images/parallel_queue.svg | 470 ++++++++++++++++++++++++++++++ >>> 8 files changed, 1486 insertions(+), 3 deletions(-) >>> create mode 100644 doc/images/.gitignore >>> create mode 100644 doc/images/Makefile.am >>> create mode 100644 doc/images/atomic_queue.svg >>> create mode 100644 doc/images/ordered_queue.svg >>> create mode 100644 doc/images/parallel_queue.svg >>> >>> diff --git a/DEPENDENCIES b/DEPENDENCIES >>> index 51951d7..7d22bde 100644 >>> --- a/DEPENDENCIES >>> +++ b/DEPENDENCIES >>> @@ -187,7 +187,12 @@ Prerequisites for building the OpenDataPlane (ODP) >>> API >>> ./configure --enable-cunit #if cunit is in the PATH >>> ./configure --with-cunit-path=DIR #only if you need a path to Cunit >>> libs and headers >>> >>> -5.0 Documentation & Doxygen >>> +5.0 Documentation Images & Doxygen >>> + >>> + Images are stored as svg files and the png or eps versions generated >>> when the docs are built >>> + Image magics convert application is used >>> + # Debian/Ubuntu >>> + # apt-get install imagemagick >>> >>> 5.1 API Guide >>> See http://www.stack.nl/~dimitri/doxygen/manual/install.html >>> @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 >>> >>> 5.2.1 HTML >>> # Ubuntu >>> - $ apt-get install asciidoc >>> + $ apt-get install asciidoc source-highlight >>> >>> # Debian >>> $ apt-get install asciidoc source-highlight >>> diff --git a/configure.ac b/configure.ac >>> index a7e7413..5cf07ca 100644 >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], >>> AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) >>> >>> >>> ########################################################################## >>> +# Check for imagemagic availability >>> >>> +########################################################################## >>> + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) >>> + if test -z "$IMAGEMAGIC"; >>> + then AC_MSG_WARN([Imagemagic (convert) not found - continuing >>> without image support]) >>> + fi >>> + >>> +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test "x${IMAGEMAGIC}" = "xconvert"]) >>> + >>> >>> +########################################################################## >>> # Save and set temporary compilation flags >>> >>> ########################################################################## >>> OLD_LDFLAGS=$LDFLAGS >>> @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" >>> AC_CONFIG_FILES([Makefile >>> doc/Makefile >>> doc/implementers-guide/Makefile >>> + doc/images/Makefile >>> example/Makefile >>> example/classifier/Makefile >>> example/generator/Makefile >>> diff --git a/doc/Makefile.am b/doc/Makefile.am >>> index 73bd8e2..3aa29a3 100644 >>> --- a/doc/Makefile.am >>> +++ b/doc/Makefile.am >>> @@ -1,8 +1,10 @@ >>> +SUBDIRS = images >>> + >>> if HAVE_DOXYGEN >>> clean-local: >>> rm -rf output >>> endif >>> >>> if user_guide >>> -SUBDIRS = implementers-guide >>> +SUBDIRS += implementers-guide >>> endif >>> diff --git a/doc/images/.gitignore b/doc/images/.gitignore >>> new file mode 100644 >>> index 0000000..148f2f2 >>> --- /dev/null >>> +++ b/doc/images/.gitignore >>> @@ -0,0 +1,2 @@ >>> +*.png >>> +*.eps >>> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am >>> new file mode 100644 >>> index 0000000..df8f9d4 >>> --- /dev/null >>> +++ b/doc/images/Makefile.am >>> @@ -0,0 +1,33 @@ >>> +SVG_SRCS = atomic_queue.svg \ >>> + ordered_queue.svg \ >>> + parallel_queue.svg >>> +SVG_TARGETS = $(SVG_SRCS:svg=png) >>> +SVG_TARGETS += $(SVG_SRCS:svg=eps) >>> + >>> +EXTRA_DIST = $(SVG_SRCS) >>> + >>> +TARGETS= >>> + >>> +if HAVE_IMAGEMAGIC >>> +TARGETS += $(SVG_TARGETS) >>> +endif >>> + >>> +all-local: $(TARGETS) >>> + >>> +clean-local: >>> + rm -f $(TARGETS) >>> + >>> +atomic_queue.png: atomic_queue.svg >>> + convert $< $@ >>> +atomic_queue.eps: atomic_queue.svg >>> + convert $< $@ >>> + >>> +ordered_queue.png: ordered_queue.svg >>> + convert $< $@ >>> +parallel_queue.eps: parallel_queue.svg >>> + convert $< $@ >>> + >>> +parallel_queue.png: parallel_queue.svg >>> + convert $< $@ >>> +ordered_queue.eps: ordered_queue.svg >>> + convert $< $@ >>> diff --git a/doc/images/atomic_queue.svg b/doc/images/atomic_queue.svg >>> new file mode 100644 >>> index 0000000..bd4958f >>> --- /dev/null >>> +++ b/doc/images/atomic_queue.svg >>> @@ -0,0 +1,302 @@ >>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>> +<svg >>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>> + xmlns:cc="http://creativecommons.org/ns#" >>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> + xmlns:svg="http://www.w3.org/2000/svg" >>> + xmlns="http://www.w3.org/2000/svg" >>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>> + version="1.1" >>> + viewBox="0 0 528.09972 227.74805" >>> + stroke-miterlimit="10" >>> + id="svg4406" >>> + inkscape:version="0.91 r13725" >>> + sodipodi:docname="atomic_queue.svg" >>> + width="528.09973" >>> + height="227.74805" >>> + >>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>> + <metadata >>> + id="metadata4513"> >>> + <rdf:RDF> >>> + <cc:Work >>> + rdf:about=""> >>> + <dc:format>image/svg+xml</dc:format> >>> + <dc:type >>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>> + <dc:title></dc:title> >>> + </cc:Work> >>> + </rdf:RDF> >>> + </metadata> >>> + <defs >>> + id="defs4511" /> >>> + <sodipodi:namedview >>> + pagecolor="#ffffff" >>> + bordercolor="#666666" >>> + borderopacity="1" >>> + objecttolerance="10" >>> + gridtolerance="10" >>> + guidetolerance="10" >>> + inkscape:pageopacity="0" >>> + inkscape:pageshadow="2" >>> + inkscape:window-width="1920" >>> + inkscape:window-height="1176" >>> + id="namedview4509" >>> + showgrid="false" >>> + fit-margin-top="0" >>> + fit-margin-left="0" >>> + fit-margin-right="0" >>> + fit-margin-bottom="0" >>> + inkscape:zoom="0.32777778" >>> + inkscape:cx="1112.9523" >>> + inkscape:cy="-489.62767" >>> + inkscape:window-x="0" >>> + inkscape:window-y="264" >>> + inkscape:window-maximized="1" >>> + inkscape:current-layer="svg4406" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4413" >>> + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4415" >>> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4417" >>> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4419" >>> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4421" >>> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4423" >>> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4425" >>> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4427" >>> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4429" >>> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4431" >>> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4433" >>> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + style="fill:#000000;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4435" >>> + d="m 253.41842,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>> z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4437" >>> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >>> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4439" >>> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >>> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4441" >>> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4443" >>> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4445" >>> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4447" >>> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4449" >>> + d="m 194.90027,46.7874 32.78738,44.91339" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4451" >>> + d="m 194.90027,46.7874 32.78738,44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4453" >>> + d="m 226.26509,92.41207 157.54327,0" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4455" >>> + d="m 226.26509,92.41207 157.54327,0" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4457" >>> + d="M 483.59839,46.78346 415.91333,46.43701" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4459" >>> + d="M 483.59839,46.78346 415.91333,46.43701" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4461" >>> + d="M 415.90289,47.1378 383.11554,92.05118" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4463" >>> + d="M 415.90289,47.1378 383.11554,92.05118" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4465" >>> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4467" >>> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4469" >>> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4471" >>> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4473" >>> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4475" >>> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4477" >>> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4479" >>> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4481" >>> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4483" >>> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4485" >>> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4487" >>> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4489" >>> + d="m 127.20471,181.31497 67.68506,0.34644" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4491" >>> + d="m 127.20471,181.31497 67.68506,0.34644" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4493" >>> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4495" >>> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4497" >>> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4499" >>> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4501" >>> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4503" >>> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4505" >>> + d="M 415.90289,180.61023 383.11554,135.69685" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4507" >>> + d="M 415.90289,180.61023 383.11554,135.69685" /> >>> + <path >>> + id="path4409" >>> + d="m 623.79973,339.07069 959.99997,0 0,720.00001 -959.99997,0 >>> 0,-720.00001 z" >>> + inkscape:connector-curvature="0" >>> + style="clip-rule:nonzero" /> >>> +</svg> >>> diff --git a/doc/images/ordered_queue.svg b/doc/images/ordered_queue.svg >>> new file mode 100644 >>> index 0000000..dfc9c22 >>> --- /dev/null >>> +++ b/doc/images/ordered_queue.svg >>> @@ -0,0 +1,658 @@ >>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>> +<svg >>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>> + xmlns:cc="http://creativecommons.org/ns#" >>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> + xmlns:svg="http://www.w3.org/2000/svg" >>> + xmlns="http://www.w3.org/2000/svg" >>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>> + version="1.1" >>> + viewBox="0 0 761.46093 486.49073" >>> + stroke-miterlimit="10" >>> + id="svg4406" >>> + inkscape:version="0.91 r13725" >>> + sodipodi:docname="ordered_queue.svg" >>> + width="761.46094" >>> + height="486.49072" >>> + >>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>> + <metadata >>> + id="metadata4513"> >>> + <rdf:RDF> >>> + <cc:Work >>> + rdf:about=""> >>> + <dc:format>image/svg+xml</dc:format> >>> + <dc:type >>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>> + <dc:title></dc:title> >>> + </cc:Work> >>> + </rdf:RDF> >>> + </metadata> >>> + <defs >>> + id="defs4511"> >>> + <marker >>> + inkscape:stockid="Arrow1Lstart" >>> + orient="auto" >>> + refY="0.0" >>> + refX="0.0" >>> + id="Arrow1Lstart" >>> + style="overflow:visible" >>> + inkscape:isstock="true"> >>> + <path >>> + id="path4562" >>> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >>> + >>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>> + transform="scale(0.8) translate(12.5,0)" /> >>> + </marker> >>> + <marker >>> + inkscape:stockid="Arrow1Lend" >>> + orient="auto" >>> + refY="0.0" >>> + refX="0.0" >>> + id="Arrow1Lend" >>> + style="overflow:visible;" >>> + inkscape:isstock="true"> >>> + <path >>> + id="path4565" >>> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >>> + >>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>> + transform="scale(0.8) rotate(180) translate(12.5,0)" /> >>> + </marker> >>> + </defs> >>> + <sodipodi:namedview >>> + pagecolor="#ffffff" >>> + bordercolor="#666666" >>> + borderopacity="1" >>> + objecttolerance="10" >>> + gridtolerance="10" >>> + guidetolerance="10" >>> + inkscape:pageopacity="0" >>> + inkscape:pageshadow="2" >>> + inkscape:window-width="2511" >>> + inkscape:window-height="1416" >>> + id="namedview4509" >>> + showgrid="false" >>> + fit-margin-top="0" >>> + fit-margin-left="0" >>> + fit-margin-right="0" >>> + fit-margin-bottom="0" >>> + inkscape:zoom="2.4820709" >>> + inkscape:cx="414.43619" >>> + inkscape:cy="241.85164" >>> + inkscape:window-x="1969" >>> + inkscape:window-y="24" >>> + inkscape:window-maximized="1" >>> + inkscape:current-layer="svg4406" >>> + inkscape:snap-global="true" >>> + inkscape:snap-text-baseline="true" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4413" >>> + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4415" >>> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4417" >>> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4419" >>> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4421" >>> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4423" >>> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4425" >>> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4427" >>> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4429" >>> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4431" >>> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4433" >>> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + style="fill:#000000;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4435" >>> + d="m 256.25152,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>> z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4437" >>> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >>> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4439" >>> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >>> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4441" >>> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4443" >>> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4445" >>> + d="m 130.03781,46.43307 67.68506,-0.34645" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4447" >>> + d="m 129.63492,47.641738 67.68506,-0.34645" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4449" >>> + d="m 197.73337,46.7874 32.78738,44.91339" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4451" >>> + d="m 196.92759,48.398958 32.78738,44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4453" >>> + d="m 229.09819,92.41207 157.54327,0" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4455" >>> + d="m 229.09819,92.41207 157.54327,0" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4457" >>> + d="M 486.43149,46.78346 418.74643,46.43701" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4459" >>> + d="M 486.43149,46.78346 418.74643,46.43701" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4461" >>> + d="M 418.73599,47.1378 385.94864,92.05118" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4465" >>> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" >>> /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4467" >>> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" >>> /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4469" >>> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4471" >>> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4473" >>> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4475" >>> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4477" >>> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4479" >>> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4481" >>> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4483" >>> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4485" >>> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4487" >>> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4489" >>> + d="m 127.20471,318.24836 67.68506,0.34644" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4493" >>> + d="m 194.90027,317.89402 32.78738,-44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4497" >>> + d="m 226.26509,272.26936 158.2677,-0.8504" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4499" >>> + d="m 128.23639,141.26408 243.31544,-0.83984" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4501" >>> + d="m 483.59839,317.89796 -67.68506,0.34647" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4503" >>> + d="m 483.59839,318.70374 -67.68506,0.34647" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4505" >>> + d="M 415.90289,317.54362 383.11554,272.63024" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >>> + inkscape:connector-curvature="0" >>> + id="path4507" >>> + d="M 414.06808,317.81135 370.9359,139.95963" /> >>> + <path >>> + id="path4409" >>> + d="m 626.63283,339.07069 959.99997,0 0,720.00001 -959.99997,0 >>> 0,-720.00001 z" >>> + inkscape:connector-curvature="0" >>> + style="clip-rule:nonzero" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4465-7" >>> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" >>> /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4467-0" >>> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" >>> /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4469-7" >>> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4471-0" >>> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4473-9" >>> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4475-6" >>> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4477-1" >>> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4479-6" >>> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4415-7" >>> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4417-6" >>> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4419-0" >>> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4421-0" >>> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4423-5" >>> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4425-0" >>> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4427-0" >>> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4429-2" >>> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4465-72" >>> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4467-7" >>> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4469-0" >>> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4471-4" >>> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4473-94" >>> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4475-1" >>> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4477-9" >>> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4479-3" >>> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4459-3" >>> + d="M 629.87967,45.654886 513.97954,45.315094" /> >>> + <path >>> + >>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4437-3" >>> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4439-5" >>> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4441-6" >>> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4443-9" >>> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4437-4" >>> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4439-4" >>> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4441-9" >>> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4443-6" >>> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="m 509.12913,166.36411 62.3283,0 57.60646,-116.157282" >>> + id="path4458" >>> + inkscape:connector-curvature="0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="M 512.9066,441.17526 545.01512,440.23089 627.17515,53.9843" >>> + id="path4460" >>> + inkscape:connector-curvature="0" /> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="742.00342" >>> + y="45.748047" >>> + id="text4462" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4464" >>> + x="742.00342" >>> + y="45.748047">1</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="716.00342" >>> + y="45.748047" >>> + id="text4466" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4468" >>> + x="716.00342" >>> + y="45.748047">2</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="497.00342" >>> + y="48.748047" >>> + id="text4470" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4472" >>> + x="497.00342" >>> + y="48.748047">5</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="491.00342" >>> + y="168.74805" >>> + id="text4474" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4476" >>> + x="491.00342" >>> + y="168.74805">3</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="497.00342" >>> + y="439.74805" >>> + id="text4478" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4480" >>> + x="497.00342" >>> + y="439.74805">4</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="115.39186" >>> + y="48.568272" >>> + id="text4482" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4484" >>> + x="115.39186" >>> + y="48.568272">6</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="85.003418" >>> + y="48.748047" >>> + id="text4486" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4488" >>> + x="85.003418" >>> + y="48.748047">7</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="113.61497" >>> + y="142.49117" >>> + id="text4490" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4492" >>> + x="113.61497" >>> + y="142.49117">3</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="495.00342" >>> + y="317.74805" >>> + id="text4494" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4496" >>> + x="495.00342" >>> + y="317.74805">2</tspan></text> >>> + <text >>> + xml:space="preserve" >>> + >>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>> + x="743.00342" >>> + y="320.74805" >>> + id="text4498" >>> + sodipodi:linespacing="125%"><tspan >>> + sodipodi:role="line" >>> + id="tspan4500" >>> + x="743.00342" >>> + y="320.74805">1</tspan></text> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4447-9" >>> + d="m 129.54104,56.932167 62.84594,-0.347244" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4451-6" >>> + d="m 192.3997,57.2861 32.78739,44.91339" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4455-1" >>> + d="m 223.76452,102.91077 157.54328,0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4447-0" >>> + d="m 129.31719,35.932033 64.45896,-0.346976" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4451-4" >>> + d="m 195.3997,36.2861 32.78739,44.91339" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4455-9" >>> + d="m 226.76452,81.91077 157.54328,0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="m 384.00341,80.748047 35,-35" >>> + id="path4535" >>> + inkscape:connector-curvature="0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="m 381.00341,102.74805 69,333 36,2" >>> + id="path4539" >>> + inkscape:connector-curvature="0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" >>> + inkscape:connector-curvature="0" >>> + id="path4503-5" >>> + d="m 630.54942,318.71899 -118.50454,0.33949" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4459-1" >>> + d="m 483.05483,165.96601 -45.10454,-0.35047" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" >>> + d="M 385.96803,91.256236 437.94076,164.5821" >>> + id="path4946" >>> + inkscape:connector-curvature="0" /> >>> +</svg> >>> diff --git a/doc/images/parallel_queue.svg >>> b/doc/images/parallel_queue.svg >>> new file mode 100644 >>> index 0000000..50e3f38 >>> --- /dev/null >>> +++ b/doc/images/parallel_queue.svg >>> @@ -0,0 +1,470 @@ >>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>> +<svg >>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>> + xmlns:cc="http://creativecommons.org/ns#" >>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>> + xmlns:svg="http://www.w3.org/2000/svg" >>> + xmlns="http://www.w3.org/2000/svg" >>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>> + version="1.1" >>> + viewBox="0 0 529.48229 486.49073" >>> + stroke-miterlimit="10" >>> + id="svg4406" >>> + inkscape:version="0.91 r13725" >>> + sodipodi:docname="parallel_queue.svg" >>> + width="529.4823" >>> + height="486.49072" >>> + >>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>> + <metadata >>> + id="metadata4513"> >>> + <rdf:RDF> >>> + <cc:Work >>> + rdf:about=""> >>> + <dc:format>image/svg+xml</dc:format> >>> + <dc:type >>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>> + <dc:title></dc:title> >>> + </cc:Work> >>> + </rdf:RDF> >>> + </metadata> >>> + <defs >>> + id="defs4511"> >>> + <marker >>> + inkscape:stockid="Arrow1Lstart" >>> + orient="auto" >>> + refY="0" >>> + refX="0" >>> + id="Arrow1Lstart" >>> + style="overflow:visible" >>> + inkscape:isstock="true"> >>> + <path >>> + id="path4562" >>> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >>> + >>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>> + transform="matrix(0.8,0,0,0.8,10,0)" >>> + inkscape:connector-curvature="0" /> >>> + </marker> >>> + <marker >>> + inkscape:stockid="Arrow1Lend" >>> + orient="auto" >>> + refY="0" >>> + refX="0" >>> + id="Arrow1Lend" >>> + style="overflow:visible" >>> + inkscape:isstock="true"> >>> + <path >>> + id="path4565" >>> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >>> + >>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>> + transform="matrix(-0.8,0,0,-0.8,-10,0)" >>> + inkscape:connector-curvature="0" /> >>> + </marker> >>> + </defs> >>> + <sodipodi:namedview >>> + pagecolor="#ffffff" >>> + bordercolor="#666666" >>> + borderopacity="1" >>> + objecttolerance="10" >>> + gridtolerance="10" >>> + guidetolerance="10" >>> + inkscape:pageopacity="0" >>> + inkscape:pageshadow="2" >>> + inkscape:window-width="2511" >>> + inkscape:window-height="1416" >>> + id="namedview4509" >>> + showgrid="false" >>> + fit-margin-top="0" >>> + fit-margin-left="0" >>> + fit-margin-right="0" >>> + fit-margin-bottom="0" >>> + inkscape:zoom="1.0589091" >>> + inkscape:cx="705.36023" >>> + inkscape:cy="16.23361" >>> + inkscape:window-x="1969" >>> + inkscape:window-y="24" >>> + inkscape:window-maximized="1" >>> + inkscape:current-layer="svg4406" >>> + inkscape:snap-global="true" >>> + inkscape:snap-text-baseline="true" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4413" >>> + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4415" >>> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4417" >>> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4419" >>> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4421" >>> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4423" >>> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4425" >>> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4427" >>> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4429" >>> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4431" >>> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4433" >>> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>> + <path >>> + style="fill:#000000;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4435" >>> + d="m 254.63996,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>> z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4437" >>> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >>> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4439" >>> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >>> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4441" >>> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4443" >>> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4445" >>> + d="m 128.42625,46.43307 67.68506,-0.34645" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4447" >>> + d="m 128.02336,47.64174 67.68506,-0.34645" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4449" >>> + d="m 196.12181,46.7874 32.78738,44.91339" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4451" >>> + d="m 195.31603,48.39896 32.78738,44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4453" >>> + d="m 227.48663,92.41207 157.54327,0" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4455" >>> + d="m 227.48663,92.41207 157.54327,0" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4457" >>> + d="M 484.81993,46.78346 417.13487,46.43701" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4459" >>> + d="M 484.81993,46.78346 417.13487,46.43701" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4461" >>> + d="M 417.12443,47.1378 384.33708,92.05118" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4465" >>> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4467" >>> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4469" >>> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4471" >>> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4473" >>> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4475" >>> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4477" >>> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4479" >>> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>> + <path >>> + style="fill:#cfe2f3;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4481" >>> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4483" >>> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4485" >>> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4487" >>> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4489" >>> + d="m 125.59315,318.24836 67.68506,0.34644" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4493" >>> + d="m 193.28871,317.89402 32.78738,-44.91339" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4497" >>> + d="m 224.65353,272.26936 158.2677,-0.8504" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4499" >>> + d="m 126.62483,141.26408 243.31544,-0.83984" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4501" >>> + d="m 481.98683,317.89796 -67.68506,0.34647" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>> + inkscape:connector-curvature="0" >>> + id="path4503" >>> + d="m 481.98683,318.70374 -67.68506,0.34647" /> >>> + <path >>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>> + inkscape:connector-curvature="0" >>> + id="path4505" >>> + d="M 414.29133,317.54362 381.50398,272.63024" /> >>> + <path >>> + >>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >>> + inkscape:connector-curvature="0" >>> + id="path4507" >>> + d="M 412.45652,317.81135 369.32434,139.95963" /> >>> + <path >>> + id="path4409" >>> + d="m 625.02127,339.07069 959.99993,0 0,720.00001 -959.99993,0 >>> 0,-720.00001 z" >>> + inkscape:connector-curvature="0" >>> + style="clip-rule:nonzero" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4465-7" >>> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4467-0" >>> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4469-7" >>> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4471-0" >>> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4473-9" >>> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4475-6" >>> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4477-1" >>> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4479-6" >>> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4415-7" >>> + d="m 632.64464,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4419-0" >>> + d="m 681.84149,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4423-5" >>> + d="m 707.51079,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4427-0" >>> + d="m 733.18008,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>> + <path >>> + >>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4437-3" >>> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4439-5" >>> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4441-6" >>> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4443-9" >>> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4437-4" >>> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4439-4" >>> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>> + <path >>> + >>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4441-9" >>> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4443-6" >>> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4447-9" >>> + d="m 127.92948,56.93217 62.84594,-0.34725" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4451-6" >>> + d="m 190.78814,57.2861 32.78739,44.91339" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4455-1" >>> + d="m 222.15296,102.91077 157.54328,0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4447-0" >>> + d="m 127.70563,35.93203 64.45896,-0.34697" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4451-4" >>> + d="m 193.78814,36.2861 32.78739,44.91339" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4455-9" >>> + d="m 225.15296,81.91077 157.54328,0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="m 382.39185,80.74805 35,-35" >>> + id="path4535" >>> + inkscape:connector-curvature="0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="m 379.39185,102.74805 69,333 36,2" >>> + id="path4539" >>> + inkscape:connector-curvature="0" /> >>> + <path >>> + >>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>> + inkscape:connector-curvature="0" >>> + id="path4459-1" >>> + d="m 481.44327,165.96601 -45.10454,-0.35047" /> >>> + <path >>> + >>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>> + d="M 384.35647,91.25624 436.3292,164.5821" >>> + id="path4946" >>> + inkscape:connector-curvature="0" /> >>> +</svg> >>> -- >>> 2.5.0 >>> >>> _______________________________________________ >>> lng-odp mailing list >>> lng-odp@lists.linaro.org >>> https://lists.linaro.org/mailman/listinfo/lng-odp >>> >> >> > > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs > > >
I will add another configure check for source-highlight as a follow on patch to make it easier to detect if it is missing On 3 November 2015 at 08:32, Bill Fischofer <bill.fischofer@linaro.org> wrote: > Yes, you're correct. After installing that there are no errors, so... > > For this series: > > Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> > > On Tue, Nov 3, 2015 at 7:28 AM, Mike Holmes <mike.holmes@linaro.org> > wrote: > >> >> >> On 2 November 2015 at 17:48, Bill Fischofer <bill.fischofer@linaro.org> >> wrote: >> >>> This applies and builds for me however I'm seeing the following errors >>> generated by make: >>> >>> Making all in doc >>> make[1]: Entering directory '/home/bill/linaro/uguide/doc' >>> Making all in images >>> make[2]: Entering directory '/home/bill/linaro/uguide/doc/images' >>> convert atomic_queue.svg atomic_queue.png >>> convert ordered_queue.svg ordered_queue.png >>> convert parallel_queue.svg parallel_queue.png >>> convert atomic_queue.svg atomic_queue.eps >>> convert ordered_queue.svg ordered_queue.eps >>> convert parallel_queue.svg parallel_queue.eps >>> mscgen -T png -i resource_management.msc -o resource_management.png >>> make[2]: Leaving directory '/home/bill/linaro/uguide/doc/images' >>> Making all in implementers-guide >>> make[2]: Entering directory >>> '/home/bill/linaro/uguide/doc/implementers-guide' >>> asciidoc --out-file=../../doc/output/implementers-guide.html >>> implementers-guide.adoc >>> /bin/sh: 1: source-highlight: not found >>> >> >> I think you missed a package in the DEPENDENCIES file - source-highlight >> >> 5.2 User guides >> >> 5.2.1 HTML >> # Ubuntu >> $ apt-get install asciidoc source-highlight >> >> # Debian >> $ apt-get install asciidoc source-highlight >> >> >> >> >>> asciidoc: WARNING: implementers-guide.adoc: line 175: filter non-zero >>> exit code: source-highlight -f xhtml -s am: returned 127 >>> asciidoc: WARNING: implementers-guide.adoc: line 175: no output from >>> filter: source-highlight -f xhtml -s am >>> /bin/sh: 1: source-highlight: not found >>> asciidoc: WARNING: implementers-guide.adoc: line 201: filter non-zero >>> exit code: source-highlight -f xhtml -s am: returned 127 >>> asciidoc: WARNING: implementers-guide.adoc: line 201: no output from >>> filter: source-highlight -f xhtml -s am >>> /bin/sh: 1: source-highlight: not found >>> asciidoc: WARNING: implementers-guide.adoc: line 221: filter non-zero >>> exit code: source-highlight -f xhtml -s bash: returned 127 >>> asciidoc: WARNING: implementers-guide.adoc: line 221: no output from >>> filter: source-highlight -f xhtml -s bash >>> /bin/sh: 1: source-highlight: not found >>> asciidoc: WARNING: implementers-guide.adoc: line 250: filter non-zero >>> exit code: source-highlight -f xhtml -s c: returned 127 >>> asciidoc: WARNING: implementers-guide.adoc: line 250: no output from >>> filter: source-highlight -f xhtml -s c >>> /bin/sh: 1: source-highlight: not found >>> asciidoc: WARNING: implementers-guide.adoc: line 278: filter non-zero >>> exit code: source-highlight -f xhtml -s c: returned 127 >>> asciidoc: WARNING: implementers-guide.adoc: line 278: no output from >>> filter: source-highlight -f xhtml -s c >>> make[2]: Leaving directory >>> '/home/bill/linaro/uguide/doc/implementers-guide' >>> Making all in users-guide >>> make[2]: Entering directory '/home/bill/linaro/uguide/doc/users-guide' >>> asciidoc --out-file=../../doc/output/users-guide.html users-guide.adoc >>> make[2]: Leaving directory '/home/bill/linaro/uguide/doc/users-guide' >>> make[2]: Entering directory '/home/bill/linaro/uguide/doc' >>> make[2]: Nothing to be done for 'all-am'. >>> make[2]: Leaving directory '/home/bill/linaro/uguide/doc' >>> make[1]: Leaving directory '/home/bill/linaro/uguide/doc' >>> >>> Are these expected? Other than that, looks good. >>> >>> Bill >>> >>> On Mon, Nov 2, 2015 at 11:41 AM, Mike Holmes <mike.holmes@linaro.org> >>> wrote: >>> >>>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >>>> --- >>>> DEPENDENCIES | 9 +- >>>> configure.ac | 11 + >>>> doc/Makefile.am | 4 +- >>>> doc/images/.gitignore | 2 + >>>> doc/images/Makefile.am | 33 +++ >>>> doc/images/atomic_queue.svg | 302 +++++++++++++++++++ >>>> doc/images/ordered_queue.svg | 658 >>>> ++++++++++++++++++++++++++++++++++++++++++ >>>> doc/images/parallel_queue.svg | 470 ++++++++++++++++++++++++++++++ >>>> 8 files changed, 1486 insertions(+), 3 deletions(-) >>>> create mode 100644 doc/images/.gitignore >>>> create mode 100644 doc/images/Makefile.am >>>> create mode 100644 doc/images/atomic_queue.svg >>>> create mode 100644 doc/images/ordered_queue.svg >>>> create mode 100644 doc/images/parallel_queue.svg >>>> >>>> diff --git a/DEPENDENCIES b/DEPENDENCIES >>>> index 51951d7..7d22bde 100644 >>>> --- a/DEPENDENCIES >>>> +++ b/DEPENDENCIES >>>> @@ -187,7 +187,12 @@ Prerequisites for building the OpenDataPlane (ODP) >>>> API >>>> ./configure --enable-cunit #if cunit is in the PATH >>>> ./configure --with-cunit-path=DIR #only if you need a path to >>>> Cunit libs and headers >>>> >>>> -5.0 Documentation & Doxygen >>>> +5.0 Documentation Images & Doxygen >>>> + >>>> + Images are stored as svg files and the png or eps versions generated >>>> when the docs are built >>>> + Image magics convert application is used >>>> + # Debian/Ubuntu >>>> + # apt-get install imagemagick >>>> >>>> 5.1 API Guide >>>> See http://www.stack.nl/~dimitri/doxygen/manual/install.html >>>> @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 >>>> >>>> 5.2.1 HTML >>>> # Ubuntu >>>> - $ apt-get install asciidoc >>>> + $ apt-get install asciidoc source-highlight >>>> >>>> # Debian >>>> $ apt-get install asciidoc source-highlight >>>> diff --git a/configure.ac b/configure.ac >>>> index a7e7413..5cf07ca 100644 >>>> --- a/configure.ac >>>> +++ b/configure.ac >>>> @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], >>>> AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) >>>> >>>> >>>> ########################################################################## >>>> +# Check for imagemagic availability >>>> >>>> +########################################################################## >>>> + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) >>>> + if test -z "$IMAGEMAGIC"; >>>> + then AC_MSG_WARN([Imagemagic (convert) not found - >>>> continuing without image support]) >>>> + fi >>>> + >>>> +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test "x${IMAGEMAGIC}" = "xconvert"]) >>>> + >>>> >>>> +########################################################################## >>>> # Save and set temporary compilation flags >>>> >>>> ########################################################################## >>>> OLD_LDFLAGS=$LDFLAGS >>>> @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" >>>> AC_CONFIG_FILES([Makefile >>>> doc/Makefile >>>> doc/implementers-guide/Makefile >>>> + doc/images/Makefile >>>> example/Makefile >>>> example/classifier/Makefile >>>> example/generator/Makefile >>>> diff --git a/doc/Makefile.am b/doc/Makefile.am >>>> index 73bd8e2..3aa29a3 100644 >>>> --- a/doc/Makefile.am >>>> +++ b/doc/Makefile.am >>>> @@ -1,8 +1,10 @@ >>>> +SUBDIRS = images >>>> + >>>> if HAVE_DOXYGEN >>>> clean-local: >>>> rm -rf output >>>> endif >>>> >>>> if user_guide >>>> -SUBDIRS = implementers-guide >>>> +SUBDIRS += implementers-guide >>>> endif >>>> diff --git a/doc/images/.gitignore b/doc/images/.gitignore >>>> new file mode 100644 >>>> index 0000000..148f2f2 >>>> --- /dev/null >>>> +++ b/doc/images/.gitignore >>>> @@ -0,0 +1,2 @@ >>>> +*.png >>>> +*.eps >>>> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am >>>> new file mode 100644 >>>> index 0000000..df8f9d4 >>>> --- /dev/null >>>> +++ b/doc/images/Makefile.am >>>> @@ -0,0 +1,33 @@ >>>> +SVG_SRCS = atomic_queue.svg \ >>>> + ordered_queue.svg \ >>>> + parallel_queue.svg >>>> +SVG_TARGETS = $(SVG_SRCS:svg=png) >>>> +SVG_TARGETS += $(SVG_SRCS:svg=eps) >>>> + >>>> +EXTRA_DIST = $(SVG_SRCS) >>>> + >>>> +TARGETS= >>>> + >>>> +if HAVE_IMAGEMAGIC >>>> +TARGETS += $(SVG_TARGETS) >>>> +endif >>>> + >>>> +all-local: $(TARGETS) >>>> + >>>> +clean-local: >>>> + rm -f $(TARGETS) >>>> + >>>> +atomic_queue.png: atomic_queue.svg >>>> + convert $< $@ >>>> +atomic_queue.eps: atomic_queue.svg >>>> + convert $< $@ >>>> + >>>> +ordered_queue.png: ordered_queue.svg >>>> + convert $< $@ >>>> +parallel_queue.eps: parallel_queue.svg >>>> + convert $< $@ >>>> + >>>> +parallel_queue.png: parallel_queue.svg >>>> + convert $< $@ >>>> +ordered_queue.eps: ordered_queue.svg >>>> + convert $< $@ >>>> diff --git a/doc/images/atomic_queue.svg b/doc/images/atomic_queue.svg >>>> new file mode 100644 >>>> index 0000000..bd4958f >>>> --- /dev/null >>>> +++ b/doc/images/atomic_queue.svg >>>> @@ -0,0 +1,302 @@ >>>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>>> +<svg >>>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>>> + xmlns:cc="http://creativecommons.org/ns#" >>>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>> + xmlns:svg="http://www.w3.org/2000/svg" >>>> + xmlns="http://www.w3.org/2000/svg" >>>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>>> + version="1.1" >>>> + viewBox="0 0 528.09972 227.74805" >>>> + stroke-miterlimit="10" >>>> + id="svg4406" >>>> + inkscape:version="0.91 r13725" >>>> + sodipodi:docname="atomic_queue.svg" >>>> + width="528.09973" >>>> + height="227.74805" >>>> + >>>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>>> + <metadata >>>> + id="metadata4513"> >>>> + <rdf:RDF> >>>> + <cc:Work >>>> + rdf:about=""> >>>> + <dc:format>image/svg+xml</dc:format> >>>> + <dc:type >>>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>>> + <dc:title></dc:title> >>>> + </cc:Work> >>>> + </rdf:RDF> >>>> + </metadata> >>>> + <defs >>>> + id="defs4511" /> >>>> + <sodipodi:namedview >>>> + pagecolor="#ffffff" >>>> + bordercolor="#666666" >>>> + borderopacity="1" >>>> + objecttolerance="10" >>>> + gridtolerance="10" >>>> + guidetolerance="10" >>>> + inkscape:pageopacity="0" >>>> + inkscape:pageshadow="2" >>>> + inkscape:window-width="1920" >>>> + inkscape:window-height="1176" >>>> + id="namedview4509" >>>> + showgrid="false" >>>> + fit-margin-top="0" >>>> + fit-margin-left="0" >>>> + fit-margin-right="0" >>>> + fit-margin-bottom="0" >>>> + inkscape:zoom="0.32777778" >>>> + inkscape:cx="1112.9523" >>>> + inkscape:cy="-489.62767" >>>> + inkscape:window-x="0" >>>> + inkscape:window-y="264" >>>> + inkscape:window-maximized="1" >>>> + inkscape:current-layer="svg4406" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4413" >>>> + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4415" >>>> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4417" >>>> + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4419" >>>> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4421" >>>> + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4423" >>>> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4425" >>>> + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4427" >>>> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4429" >>>> + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4431" >>>> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4433" >>>> + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4435" >>>> + d="m 253.41842,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>>> z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437" >>>> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >>>> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439" >>>> + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 >>>> 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441" >>>> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443" >>>> + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4445" >>>> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447" >>>> + d="m 127.20471,46.43307 67.68506,-0.34645" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4449" >>>> + d="m 194.90027,46.7874 32.78738,44.91339" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451" >>>> + d="m 194.90027,46.7874 32.78738,44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4453" >>>> + d="m 226.26509,92.41207 157.54327,0" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455" >>>> + d="m 226.26509,92.41207 157.54327,0" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4457" >>>> + d="M 483.59839,46.78346 415.91333,46.43701" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459" >>>> + d="M 483.59839,46.78346 415.91333,46.43701" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4461" >>>> + d="M 415.90289,47.1378 383.11554,92.05118" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4463" >>>> + d="M 415.90289,47.1378 383.11554,92.05118" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465" >>>> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467" >>>> + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469" >>>> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471" >>>> + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473" >>>> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475" >>>> + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477" >>>> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479" >>>> + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4481" >>>> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4483" >>>> + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4485" >>>> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4487" >>>> + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4489" >>>> + d="m 127.20471,181.31497 67.68506,0.34644" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4491" >>>> + d="m 127.20471,181.31497 67.68506,0.34644" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4493" >>>> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4495" >>>> + d="m 194.90027,180.96063 32.78738,-44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4497" >>>> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4499" >>>> + d="m 226.26509,135.33597 158.2677,-0.8504" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4501" >>>> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4503" >>>> + d="m 483.59839,180.96457 -67.68506,0.34647" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4505" >>>> + d="M 415.90289,180.61023 383.11554,135.69685" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4507" >>>> + d="M 415.90289,180.61023 383.11554,135.69685" /> >>>> + <path >>>> + id="path4409" >>>> + d="m 623.79973,339.07069 959.99997,0 0,720.00001 -959.99997,0 >>>> 0,-720.00001 z" >>>> + inkscape:connector-curvature="0" >>>> + style="clip-rule:nonzero" /> >>>> +</svg> >>>> diff --git a/doc/images/ordered_queue.svg b/doc/images/ordered_queue.svg >>>> new file mode 100644 >>>> index 0000000..dfc9c22 >>>> --- /dev/null >>>> +++ b/doc/images/ordered_queue.svg >>>> @@ -0,0 +1,658 @@ >>>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>>> +<svg >>>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>>> + xmlns:cc="http://creativecommons.org/ns#" >>>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>> + xmlns:svg="http://www.w3.org/2000/svg" >>>> + xmlns="http://www.w3.org/2000/svg" >>>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>>> + version="1.1" >>>> + viewBox="0 0 761.46093 486.49073" >>>> + stroke-miterlimit="10" >>>> + id="svg4406" >>>> + inkscape:version="0.91 r13725" >>>> + sodipodi:docname="ordered_queue.svg" >>>> + width="761.46094" >>>> + height="486.49072" >>>> + >>>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>>> + <metadata >>>> + id="metadata4513"> >>>> + <rdf:RDF> >>>> + <cc:Work >>>> + rdf:about=""> >>>> + <dc:format>image/svg+xml</dc:format> >>>> + <dc:type >>>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>>> + <dc:title></dc:title> >>>> + </cc:Work> >>>> + </rdf:RDF> >>>> + </metadata> >>>> + <defs >>>> + id="defs4511"> >>>> + <marker >>>> + inkscape:stockid="Arrow1Lstart" >>>> + orient="auto" >>>> + refY="0.0" >>>> + refX="0.0" >>>> + id="Arrow1Lstart" >>>> + style="overflow:visible" >>>> + inkscape:isstock="true"> >>>> + <path >>>> + id="path4562" >>>> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >>>> + >>>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>>> + transform="scale(0.8) translate(12.5,0)" /> >>>> + </marker> >>>> + <marker >>>> + inkscape:stockid="Arrow1Lend" >>>> + orient="auto" >>>> + refY="0.0" >>>> + refX="0.0" >>>> + id="Arrow1Lend" >>>> + style="overflow:visible;" >>>> + inkscape:isstock="true"> >>>> + <path >>>> + id="path4565" >>>> + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >>>> + >>>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>>> + transform="scale(0.8) rotate(180) translate(12.5,0)" /> >>>> + </marker> >>>> + </defs> >>>> + <sodipodi:namedview >>>> + pagecolor="#ffffff" >>>> + bordercolor="#666666" >>>> + borderopacity="1" >>>> + objecttolerance="10" >>>> + gridtolerance="10" >>>> + guidetolerance="10" >>>> + inkscape:pageopacity="0" >>>> + inkscape:pageshadow="2" >>>> + inkscape:window-width="2511" >>>> + inkscape:window-height="1416" >>>> + id="namedview4509" >>>> + showgrid="false" >>>> + fit-margin-top="0" >>>> + fit-margin-left="0" >>>> + fit-margin-right="0" >>>> + fit-margin-bottom="0" >>>> + inkscape:zoom="2.4820709" >>>> + inkscape:cx="414.43619" >>>> + inkscape:cy="241.85164" >>>> + inkscape:window-x="1969" >>>> + inkscape:window-y="24" >>>> + inkscape:window-maximized="1" >>>> + inkscape:current-layer="svg4406" >>>> + inkscape:snap-global="true" >>>> + inkscape:snap-text-baseline="true" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4413" >>>> + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4415" >>>> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4417" >>>> + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4419" >>>> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4421" >>>> + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4423" >>>> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4425" >>>> + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4427" >>>> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4429" >>>> + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4431" >>>> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4433" >>>> + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4435" >>>> + d="m 256.25152,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>>> z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437" >>>> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >>>> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439" >>>> + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 >>>> 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441" >>>> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443" >>>> + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4445" >>>> + d="m 130.03781,46.43307 67.68506,-0.34645" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447" >>>> + d="m 129.63492,47.641738 67.68506,-0.34645" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4449" >>>> + d="m 197.73337,46.7874 32.78738,44.91339" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451" >>>> + d="m 196.92759,48.398958 32.78738,44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4453" >>>> + d="m 229.09819,92.41207 157.54327,0" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455" >>>> + d="m 229.09819,92.41207 157.54327,0" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4457" >>>> + d="M 486.43149,46.78346 418.74643,46.43701" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459" >>>> + d="M 486.43149,46.78346 418.74643,46.43701" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4461" >>>> + d="M 418.73599,47.1378 385.94864,92.05118" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465" >>>> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 >>>> z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467" >>>> + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 >>>> z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469" >>>> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471" >>>> + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473" >>>> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" >>>> /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475" >>>> + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" >>>> /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477" >>>> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479" >>>> + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4481" >>>> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4483" >>>> + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4485" >>>> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4487" >>>> + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4489" >>>> + d="m 127.20471,318.24836 67.68506,0.34644" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4493" >>>> + d="m 194.90027,317.89402 32.78738,-44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4497" >>>> + d="m 226.26509,272.26936 158.2677,-0.8504" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4499" >>>> + d="m 128.23639,141.26408 243.31544,-0.83984" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4501" >>>> + d="m 483.59839,317.89796 -67.68506,0.34647" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4503" >>>> + d="m 483.59839,318.70374 -67.68506,0.34647" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4505" >>>> + d="M 415.90289,317.54362 383.11554,272.63024" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >>>> + inkscape:connector-curvature="0" >>>> + id="path4507" >>>> + d="M 414.06808,317.81135 370.9359,139.95963" /> >>>> + <path >>>> + id="path4409" >>>> + d="m 626.63283,339.07069 959.99997,0 0,720.00001 -959.99997,0 >>>> 0,-720.00001 z" >>>> + inkscape:connector-curvature="0" >>>> + style="clip-rule:nonzero" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465-7" >>>> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 >>>> z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467-0" >>>> + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 >>>> z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469-7" >>>> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471-0" >>>> + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473-9" >>>> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" >>>> /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475-6" >>>> + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" >>>> /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477-1" >>>> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479-6" >>>> + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4415-7" >>>> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4417-6" >>>> + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4419-0" >>>> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4421-0" >>>> + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4423-5" >>>> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4425-0" >>>> + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4427-0" >>>> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4429-2" >>>> + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465-72" >>>> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467-7" >>>> + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469-0" >>>> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471-4" >>>> + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473-94" >>>> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475-1" >>>> + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477-9" >>>> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479-3" >>>> + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459-3" >>>> + d="M 629.87967,45.654886 513.97954,45.315094" /> >>>> + <path >>>> + >>>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437-3" >>>> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439-5" >>>> + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441-6" >>>> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443-9" >>>> + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437-4" >>>> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439-4" >>>> + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441-9" >>>> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443-6" >>>> + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="m 509.12913,166.36411 62.3283,0 57.60646,-116.157282" >>>> + id="path4458" >>>> + inkscape:connector-curvature="0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="M 512.9066,441.17526 545.01512,440.23089 627.17515,53.9843" >>>> + id="path4460" >>>> + inkscape:connector-curvature="0" /> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="742.00342" >>>> + y="45.748047" >>>> + id="text4462" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4464" >>>> + x="742.00342" >>>> + y="45.748047">1</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="716.00342" >>>> + y="45.748047" >>>> + id="text4466" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4468" >>>> + x="716.00342" >>>> + y="45.748047">2</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="497.00342" >>>> + y="48.748047" >>>> + id="text4470" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4472" >>>> + x="497.00342" >>>> + y="48.748047">5</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="491.00342" >>>> + y="168.74805" >>>> + id="text4474" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4476" >>>> + x="491.00342" >>>> + y="168.74805">3</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="497.00342" >>>> + y="439.74805" >>>> + id="text4478" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4480" >>>> + x="497.00342" >>>> + y="439.74805">4</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="115.39186" >>>> + y="48.568272" >>>> + id="text4482" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4484" >>>> + x="115.39186" >>>> + y="48.568272">6</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="85.003418" >>>> + y="48.748047" >>>> + id="text4486" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4488" >>>> + x="85.003418" >>>> + y="48.748047">7</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="113.61497" >>>> + y="142.49117" >>>> + id="text4490" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4492" >>>> + x="113.61497" >>>> + y="142.49117">3</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="495.00342" >>>> + y="317.74805" >>>> + id="text4494" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4496" >>>> + x="495.00342" >>>> + y="317.74805">2</tspan></text> >>>> + <text >>>> + xml:space="preserve" >>>> + >>>> style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" >>>> + x="743.00342" >>>> + y="320.74805" >>>> + id="text4498" >>>> + sodipodi:linespacing="125%"><tspan >>>> + sodipodi:role="line" >>>> + id="tspan4500" >>>> + x="743.00342" >>>> + y="320.74805">1</tspan></text> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447-9" >>>> + d="m 129.54104,56.932167 62.84594,-0.347244" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451-6" >>>> + d="m 192.3997,57.2861 32.78739,44.91339" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455-1" >>>> + d="m 223.76452,102.91077 157.54328,0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447-0" >>>> + d="m 129.31719,35.932033 64.45896,-0.346976" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451-4" >>>> + d="m 195.3997,36.2861 32.78739,44.91339" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455-9" >>>> + d="m 226.76452,81.91077 157.54328,0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="m 384.00341,80.748047 35,-35" >>>> + id="path4535" >>>> + inkscape:connector-curvature="0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="m 381.00341,102.74805 69,333 36,2" >>>> + id="path4539" >>>> + inkscape:connector-curvature="0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" >>>> + inkscape:connector-curvature="0" >>>> + id="path4503-5" >>>> + d="m 630.54942,318.71899 -118.50454,0.33949" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459-1" >>>> + d="m 483.05483,165.96601 -45.10454,-0.35047" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" >>>> + d="M 385.96803,91.256236 437.94076,164.5821" >>>> + id="path4946" >>>> + inkscape:connector-curvature="0" /> >>>> +</svg> >>>> diff --git a/doc/images/parallel_queue.svg >>>> b/doc/images/parallel_queue.svg >>>> new file mode 100644 >>>> index 0000000..50e3f38 >>>> --- /dev/null >>>> +++ b/doc/images/parallel_queue.svg >>>> @@ -0,0 +1,470 @@ >>>> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> >>>> +<svg >>>> + xmlns:dc="http://purl.org/dc/elements/1.1/" >>>> + xmlns:cc="http://creativecommons.org/ns#" >>>> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >>>> + xmlns:svg="http://www.w3.org/2000/svg" >>>> + xmlns="http://www.w3.org/2000/svg" >>>> + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >>>> + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >>>> + version="1.1" >>>> + viewBox="0 0 529.48229 486.49073" >>>> + stroke-miterlimit="10" >>>> + id="svg4406" >>>> + inkscape:version="0.91 r13725" >>>> + sodipodi:docname="parallel_queue.svg" >>>> + width="529.4823" >>>> + height="486.49072" >>>> + >>>> style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> >>>> + <metadata >>>> + id="metadata4513"> >>>> + <rdf:RDF> >>>> + <cc:Work >>>> + rdf:about=""> >>>> + <dc:format>image/svg+xml</dc:format> >>>> + <dc:type >>>> + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >>>> + <dc:title></dc:title> >>>> + </cc:Work> >>>> + </rdf:RDF> >>>> + </metadata> >>>> + <defs >>>> + id="defs4511"> >>>> + <marker >>>> + inkscape:stockid="Arrow1Lstart" >>>> + orient="auto" >>>> + refY="0" >>>> + refX="0" >>>> + id="Arrow1Lstart" >>>> + style="overflow:visible" >>>> + inkscape:isstock="true"> >>>> + <path >>>> + id="path4562" >>>> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >>>> + >>>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>>> + transform="matrix(0.8,0,0,0.8,10,0)" >>>> + inkscape:connector-curvature="0" /> >>>> + </marker> >>>> + <marker >>>> + inkscape:stockid="Arrow1Lend" >>>> + orient="auto" >>>> + refY="0" >>>> + refX="0" >>>> + id="Arrow1Lend" >>>> + style="overflow:visible" >>>> + inkscape:isstock="true"> >>>> + <path >>>> + id="path4565" >>>> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" >>>> + >>>> style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" >>>> + transform="matrix(-0.8,0,0,-0.8,-10,0)" >>>> + inkscape:connector-curvature="0" /> >>>> + </marker> >>>> + </defs> >>>> + <sodipodi:namedview >>>> + pagecolor="#ffffff" >>>> + bordercolor="#666666" >>>> + borderopacity="1" >>>> + objecttolerance="10" >>>> + gridtolerance="10" >>>> + guidetolerance="10" >>>> + inkscape:pageopacity="0" >>>> + inkscape:pageshadow="2" >>>> + inkscape:window-width="2511" >>>> + inkscape:window-height="1416" >>>> + id="namedview4509" >>>> + showgrid="false" >>>> + fit-margin-top="0" >>>> + fit-margin-left="0" >>>> + fit-margin-right="0" >>>> + fit-margin-bottom="0" >>>> + inkscape:zoom="1.0589091" >>>> + inkscape:cx="705.36023" >>>> + inkscape:cy="16.23361" >>>> + inkscape:window-x="1969" >>>> + inkscape:window-y="24" >>>> + inkscape:window-maximized="1" >>>> + inkscape:current-layer="svg4406" >>>> + inkscape:snap-global="true" >>>> + inkscape:snap-text-baseline="true" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4413" >>>> + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4415" >>>> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4417" >>>> + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4419" >>>> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4421" >>>> + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4423" >>>> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4425" >>>> + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4427" >>>> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4429" >>>> + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4431" >>>> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4433" >>>> + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 >>>> 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4435" >>>> + d="m 254.63996,115.59224 1.6875,-0.14063 q 0.125,1.01563 >>>> 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 >>>> 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 >>>> 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 >>>> -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 >>>> -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 >>>> -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 >>>> 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 >>>> 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l >>>> -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 >>>> -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 >>>> 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 >>>> 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 >>>> 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 >>>> -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 >>>> -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 >>>> 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 >>>> -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 >>>> -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 >>>> 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 >>>> 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 >>>> -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 >>>> -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 >>>> 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m >>>> 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 >>>> 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 >>>> 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 >>>> -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 >>>> -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 >>>> -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q >>>> -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 >>>> -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 >>>> 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 >>>> 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l >>>> 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 >>>> 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 >>>> 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 >>>> -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 >>>> -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q >>>> -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 >>>> -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 >>>> -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 >>>> 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 >>>> 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 >>>> 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 >>>> 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 >>>> 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 >>>> -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 >>>> -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 >>>> 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 >>>> -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 >>>> 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 >>>> z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 >>>> -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 >>>> -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 >>>> q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 >>>> 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 >>>> -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 >>>> -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 >>>> z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437" >>>> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >>>> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439" >>>> + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 >>>> 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 >>>> 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 >>>> -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 >>>> -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441" >>>> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443" >>>> + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4445" >>>> + d="m 128.42625,46.43307 67.68506,-0.34645" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447" >>>> + d="m 128.02336,47.64174 67.68506,-0.34645" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4449" >>>> + d="m 196.12181,46.7874 32.78738,44.91339" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451" >>>> + d="m 195.31603,48.39896 32.78738,44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4453" >>>> + d="m 227.48663,92.41207 157.54327,0" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455" >>>> + d="m 227.48663,92.41207 157.54327,0" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4457" >>>> + d="M 484.81993,46.78346 417.13487,46.43701" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459" >>>> + d="M 484.81993,46.78346 417.13487,46.43701" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4461" >>>> + d="M 417.12443,47.1378 384.33708,92.05118" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465" >>>> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467" >>>> + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469" >>>> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471" >>>> + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473" >>>> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475" >>>> + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477" >>>> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479" >>>> + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> >>>> + <path >>>> + style="fill:#cfe2f3;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4481" >>>> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4483" >>>> + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 >>>> 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 >>>> 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l >>>> 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 >>>> c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4485" >>>> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4487" >>>> + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4489" >>>> + d="m 125.59315,318.24836 67.68506,0.34644" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4493" >>>> + d="m 193.28871,317.89402 32.78738,-44.91339" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4497" >>>> + d="m 224.65353,272.26936 158.2677,-0.8504" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4499" >>>> + d="m 126.62483,141.26408 243.31544,-0.83984" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4501" >>>> + d="m 481.98683,317.89796 -67.68506,0.34647" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" >>>> + inkscape:connector-curvature="0" >>>> + id="path4503" >>>> + d="m 481.98683,318.70374 -67.68506,0.34647" /> >>>> + <path >>>> + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" >>>> + inkscape:connector-curvature="0" >>>> + id="path4505" >>>> + d="M 414.29133,317.54362 381.50398,272.63024" /> >>>> + <path >>>> + >>>> style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" >>>> + inkscape:connector-curvature="0" >>>> + id="path4507" >>>> + d="M 412.45652,317.81135 369.32434,139.95963" /> >>>> + <path >>>> + id="path4409" >>>> + d="m 625.02127,339.07069 959.99993,0 0,720.00001 -959.99993,0 >>>> 0,-720.00001 z" >>>> + inkscape:connector-curvature="0" >>>> + style="clip-rule:nonzero" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4465-7" >>>> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4467-0" >>>> + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4469-7" >>>> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4471-0" >>>> + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4473-9" >>>> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4475-6" >>>> + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4477-1" >>>> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4479-6" >>>> + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4415-7" >>>> + d="m 632.64464,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4419-0" >>>> + d="m 681.84149,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4423-5" >>>> + d="m 707.51079,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4427-0" >>>> + d="m 733.18008,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> >>>> + <path >>>> + >>>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437-3" >>>> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439-5" >>>> + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441-6" >>>> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443-9" >>>> + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4437-4" >>>> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4439-4" >>>> + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 >>>> 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 >>>> 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l >>>> 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c >>>> -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> >>>> + <path >>>> + >>>> style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4441-9" >>>> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4443-6" >>>> + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447-9" >>>> + d="m 127.92948,56.93217 62.84594,-0.34725" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451-6" >>>> + d="m 190.78814,57.2861 32.78739,44.91339" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455-1" >>>> + d="m 222.15296,102.91077 157.54328,0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4447-0" >>>> + d="m 127.70563,35.93203 64.45896,-0.34697" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4451-4" >>>> + d="m 193.78814,36.2861 32.78739,44.91339" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4455-9" >>>> + d="m 225.15296,81.91077 157.54328,0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="m 382.39185,80.74805 35,-35" >>>> + id="path4535" >>>> + inkscape:connector-curvature="0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="m 379.39185,102.74805 69,333 36,2" >>>> + id="path4539" >>>> + inkscape:connector-curvature="0" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" >>>> + inkscape:connector-curvature="0" >>>> + id="path4459-1" >>>> + d="m 481.44327,165.96601 -45.10454,-0.35047" /> >>>> + <path >>>> + >>>> style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" >>>> + d="M 384.35647,91.25624 436.3292,164.5821" >>>> + id="path4946" >>>> + inkscape:connector-curvature="0" /> >>>> +</svg> >>>> -- >>>> 2.5.0 >>>> >>>> _______________________________________________ >>>> lng-odp mailing list >>>> lng-odp@lists.linaro.org >>>> https://lists.linaro.org/mailman/listinfo/lng-odp >>>> >>> >>> >> >> >> -- >> Mike Holmes >> Technical Manager - Linaro Networking Group >> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs >> >> >> > -- Mike Holmes Technical Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
Merged to next branch. On 11/03/2015 16:34, Mike Holmes wrote: > I will add another configure check for source-highlight as a follow on > patch to make it easier to detect if it is missing > Yes, that can be separate patch. Maxim. > On 3 November 2015 at 08:32, Bill Fischofer <bill.fischofer@linaro.org > <mailto:bill.fischofer@linaro.org>> wrote: > > Yes, you're correct. After installing that there are no errors, > so... > > For this series: > > Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org > <mailto:bill.fischofer@linaro.org>> > > On Tue, Nov 3, 2015 at 7:28 AM, Mike Holmes > <mike.holmes@linaro.org <mailto:mike.holmes@linaro.org>> wrote: > > > > On 2 November 2015 at 17:48, Bill Fischofer > <bill.fischofer@linaro.org <mailto:bill.fischofer@linaro.org>> > wrote: > > This applies and builds for me however I'm seeing the > following errors generated by make: > > Making all in doc > make[1]: Entering directory '/home/bill/linaro/uguide/doc' > Making all in images > make[2]: Entering directory > '/home/bill/linaro/uguide/doc/images' > convert atomic_queue.svg atomic_queue.png > convert ordered_queue.svg ordered_queue.png > convert parallel_queue.svg parallel_queue.png > convert atomic_queue.svg atomic_queue.eps > convert ordered_queue.svg ordered_queue.eps > convert parallel_queue.svg parallel_queue.eps > mscgen -T png -i resource_management.msc -o > resource_management.png > make[2]: Leaving directory > '/home/bill/linaro/uguide/doc/images' > Making all in implementers-guide > make[2]: Entering directory > '/home/bill/linaro/uguide/doc/implementers-guide' > asciidoc > --out-file=../../doc/output/implementers-guide.html > implementers-guide.adoc > /bin/sh: 1: source-highlight: not found > > > I think you missed a package in the DEPENDENCIES file - > source-highlight > > 5.2 User guides > > 5.2.1 HTML > # Ubuntu > $ apt-get install asciidoc source-highlight > > # Debian > $ apt-get install asciidoc source-highlight > > > asciidoc: WARNING: implementers-guide.adoc: line 175: > filter non-zero exit code: source-highlight -f xhtml -s > am: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 175: no > output from filter: source-highlight -f xhtml -s am > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 201: > filter non-zero exit code: source-highlight -f xhtml -s > am: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 201: no > output from filter: source-highlight -f xhtml -s am > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 221: > filter non-zero exit code: source-highlight -f xhtml -s > bash: returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 221: no > output from filter: source-highlight -f xhtml -s bash > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 250: > filter non-zero exit code: source-highlight -f xhtml -s c: > returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 250: no > output from filter: source-highlight -f xhtml -s c > /bin/sh: 1: source-highlight: not found > asciidoc: WARNING: implementers-guide.adoc: line 278: > filter non-zero exit code: source-highlight -f xhtml -s c: > returned 127 > asciidoc: WARNING: implementers-guide.adoc: line 278: no > output from filter: source-highlight -f xhtml -s c > make[2]: Leaving directory > '/home/bill/linaro/uguide/doc/implementers-guide' > Making all in users-guide > make[2]: Entering directory > '/home/bill/linaro/uguide/doc/users-guide' > asciidoc --out-file=../../doc/output/users-guide.html > users-guide.adoc > make[2]: Leaving directory > '/home/bill/linaro/uguide/doc/users-guide' > make[2]: Entering directory '/home/bill/linaro/uguide/doc' > make[2]: Nothing to be done for 'all-am'. > make[2]: Leaving directory '/home/bill/linaro/uguide/doc' > make[1]: Leaving directory '/home/bill/linaro/uguide/doc' > > Are these expected? Other than that, looks good. > > Bill > > On Mon, Nov 2, 2015 at 11:41 AM, Mike Holmes > <mike.holmes@linaro.org <mailto:mike.holmes@linaro.org>> > wrote: > > Signed-off-by: Mike Holmes <mike.holmes@linaro.org > <mailto:mike.holmes@linaro.org>> > --- > DEPENDENCIES | 9 +- > configure.ac <http://configure.ac> | 11 + > doc/Makefile.am | 4 +- > doc/images/.gitignore | 2 + > doc/images/Makefile.am | 33 +++ > doc/images/atomic_queue.svg | 302 +++++++++++++++++++ > doc/images/ordered_queue.svg | 658 > ++++++++++++++++++++++++++++++++++++++++++ > doc/images/parallel_queue.svg | 470 > ++++++++++++++++++++++++++++++ > 8 files changed, 1486 insertions(+), 3 deletions(-) > create mode 100644 doc/images/.gitignore > create mode 100644 doc/images/Makefile.am > create mode 100644 doc/images/atomic_queue.svg > create mode 100644 doc/images/ordered_queue.svg > create mode 100644 doc/images/parallel_queue.svg > > diff --git a/DEPENDENCIES b/DEPENDENCIES > index 51951d7..7d22bde 100644 > --- a/DEPENDENCIES > +++ b/DEPENDENCIES > @@ -187,7 +187,12 @@ Prerequisites for building the > OpenDataPlane (ODP) API > ./configure --enable-cunit #if cunit is in the PATH > ./configure --with-cunit-path=DIR #only if you > need a path to Cunit libs and headers > > -5.0 Documentation & Doxygen > +5.0 Documentation Images & Doxygen > + > + Images are stored as svg files and the png or eps > versions generated when the docs are built > + Image magics convert application is used > + # Debian/Ubuntu > + # apt-get install imagemagick > > 5.1 API Guide > See > http://www.stack.nl/~dimitri/doxygen/manual/install.html > <http://www.stack.nl/%7Edimitri/doxygen/manual/install.html> > @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 > > 5.2.1 HTML > # Ubuntu > - $ apt-get install asciidoc > + $ apt-get install asciidoc source-highlight > > # Debian > $ apt-get install asciidoc source-highlight > diff --git a/configure.ac <http://configure.ac> > b/configure.ac <http://configure.ac> > index a7e7413..5cf07ca 100644 > --- a/configure.ac <http://configure.ac> > +++ b/configure.ac <http://configure.ac> > @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], > AM_CONDITIONAL([user_guide], [test "x${user_guides}" > = "xyes" ]) > > ########################################################################## > +# Check for imagemagic availability > +########################################################################## > + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) > + if test -z "$IMAGEMAGIC"; > + then AC_MSG_WARN([Imagemagic (convert) not > found - continuing without image support]) > + fi > + > +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test > "x${IMAGEMAGIC}" = "xconvert"]) > + > +########################################################################## > # Save and set temporary compilation flags > ########################################################################## > OLD_LDFLAGS=$LDFLAGS > @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" > AC_CONFIG_FILES([Makefile > doc/Makefile > doc/implementers-guide/Makefile > + doc/images/Makefile > example/Makefile > example/classifier/Makefile > example/generator/Makefile > diff --git a/doc/Makefile.am b/doc/Makefile.am > index 73bd8e2..3aa29a3 100644 > --- a/doc/Makefile.am > +++ b/doc/Makefile.am > @@ -1,8 +1,10 @@ > +SUBDIRS = images > + > if HAVE_DOXYGEN > clean-local: > rm -rf output > endif > > if user_guide > -SUBDIRS = implementers-guide > +SUBDIRS += implementers-guide > endif > diff --git a/doc/images/.gitignore b/doc/images/.gitignore > new file mode 100644 > index 0000000..148f2f2 > --- /dev/null > +++ b/doc/images/.gitignore > @@ -0,0 +1,2 @@ > +*.png > +*.eps > diff --git a/doc/images/Makefile.am > b/doc/images/Makefile.am > new file mode 100644 > index 0000000..df8f9d4 > --- /dev/null > +++ b/doc/images/Makefile.am > @@ -0,0 +1,33 @@ > +SVG_SRCS = atomic_queue.svg \ > + ordered_queue.svg \ > + parallel_queue.svg > +SVG_TARGETS = $(SVG_SRCS:svg=png) > +SVG_TARGETS += $(SVG_SRCS:svg=eps) > + > +EXTRA_DIST = $(SVG_SRCS) > + > +TARGETS= > + > +if HAVE_IMAGEMAGIC > +TARGETS += $(SVG_TARGETS) > +endif > + > +all-local: $(TARGETS) > + > +clean-local: > + rm -f $(TARGETS) > + > +atomic_queue.png: atomic_queue.svg > + convert $< $@ > +atomic_queue.eps: atomic_queue.svg > + convert $< $@ > + > +ordered_queue.png: ordered_queue.svg > + convert $< $@ > +parallel_queue.eps: parallel_queue.svg > + convert $< $@ > + > +parallel_queue.png: parallel_queue.svg > + convert $< $@ > +ordered_queue.eps: ordered_queue.svg > + convert $< $@ > diff --git a/doc/images/atomic_queue.svg > b/doc/images/atomic_queue.svg > new file mode 100644 > index 0000000..bd4958f > --- /dev/null > +++ b/doc/images/atomic_queue.svg > @@ -0,0 +1,302 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + > xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + > xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 528.09972 227.74805" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="atomic_queue.svg" > + width="528.09973" > + height="227.74805" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + > rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511" /> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="1920" > + inkscape:window-height="1176" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="0.32777778" > + inkscape:cx="1112.9523" > + inkscape:cy="-489.62767" > + inkscape:window-x="0" > + inkscape:window-y="264" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 > z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 > z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 50.19685,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 50.19685,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 75.86615,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 75.86615,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 101.53543,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 101.53543,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 225.56167,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 225.56167,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 253.41842,115.59224 1.6875,-0.14063 q > 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 > 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 > 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 > 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 > -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 > -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 > 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 > 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 > 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q > -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 > -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 > 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 > 0.57812,0.82813 0.57812,1.92188 0,1.09375 > -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 > -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 > -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 > -0.70312,-1.07812 -0.73437,-2.45312 z m > 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 > -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 > -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 > 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 > 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 > 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 > -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 > -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 > 0,1.98437 0.76563,2.89062 0.76562,0.89063 > 1.98437,0.89063 0.98438,0 1.64063,-0.59375 > 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 > 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 > 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 > 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 > -0.75,0 -1.40625,0.39063 -0.64062,0.375 > -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l > 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 > -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 > -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 > 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 > 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 > 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 > 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 > q 0,1.89063 0.79688,2.82813 0.8125,0.9375 > 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 > -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 > -1.10938,0 -1.85938,0.90625 -0.75,0.90625 > -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 > -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 > -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q > 0,1.3125 0.0937,1.76563 0.15625,0.65625 > 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 > 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 > 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 > 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 > 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 > 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 > 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 > -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 > -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 > 474.31668,1 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 > 474.31668,1 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 485.74539,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 485.74539,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 127.20471,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 127.20471,46.43307 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 194.90027,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 194.90027,46.7874 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 226.26509,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 226.26509,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 483.59839,46.78346 415.91333,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 483.59839,46.78346 415.91333,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 415.90289,47.1378 383.11554,92.05118" /> > + <path > + > style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4463" > + d="M 415.90289,47.1378 383.11554,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 1,198.77954 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 1,198.77954 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 470.06039,217.24127 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 470.06039,217.24127 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 127.20471,181.31497 67.68506,0.34644" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4491" > + d="m 127.20471,181.31497 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 194.90027,180.96063 32.78738,-44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4495" > + d="m 194.90027,180.96063 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 226.26509,135.33597 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 226.26509,135.33597 158.2677,-0.8504" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 483.59839,180.96457 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 483.59839,180.96457 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 415.90289,180.61023 383.11554,135.69685" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 415.90289,180.61023 383.11554,135.69685" /> > + <path > + id="path4409" > + d="m 623.79973,339.07069 959.99997,0 0,720.00001 > -959.99997,0 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > +</svg> > diff --git a/doc/images/ordered_queue.svg > b/doc/images/ordered_queue.svg > new file mode 100644 > index 0000000..dfc9c22 > --- /dev/null > +++ b/doc/images/ordered_queue.svg > @@ -0,0 +1,658 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + > xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + > xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 761.46093 486.49073" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="ordered_queue.svg" > + width="761.46094" > + height="486.49072" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + > rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511"> > + <marker > + inkscape:stockid="Arrow1Lstart" > + orient="auto" > + refY="0.0" > + refX="0.0" > + id="Arrow1Lstart" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4562" > + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L > 5.0,5.0 L 0.0,0.0 z " > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="scale(0.8) translate(12.5,0)" /> > + </marker> > + <marker > + inkscape:stockid="Arrow1Lend" > + orient="auto" > + refY="0.0" > + refX="0.0" > + id="Arrow1Lend" > + style="overflow:visible;" > + inkscape:isstock="true"> > + <path > + id="path4565" > + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L > 5.0,5.0 L 0.0,0.0 z " > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="scale(0.8) rotate(180) > translate(12.5,0)" /> > + </marker> > + </defs> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="2511" > + inkscape:window-height="1416" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="2.4820709" > + inkscape:cx="414.43619" > + inkscape:cy="241.85164" > + inkscape:window-x="1969" > + inkscape:window-y="24" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" > + inkscape:snap-global="true" > + inkscape:snap-text-baseline="true" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 > -49.1968504,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 > -49.1968504,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 53.029955,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 53.029955,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 78.699255,28.9685 25.669275,0 0,34.92914 > -25.669275,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 78.699255,28.9685 25.669275,0 0,34.92914 > -25.669275,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 104.36853,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 104.36853,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 228.39477,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 228.39477,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 256.25152,115.59224 1.6875,-0.14063 q > 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 > 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 > 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 > 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 > -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 > -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 > 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 > 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 > 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q > -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 > -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 > 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 > 0.57812,0.82813 0.57812,1.92188 0,1.09375 > -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 > -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 > -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 > -0.70312,-1.07812 -0.73437,-2.45312 z m > 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 > -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 > -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 > 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 > 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 > 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 > -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 > -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 > 0,1.98437 0.76563,2.89062 0.76562,0.89063 > 1.98437,0.89063 0.98438,0 1.64063,-0.59375 > 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 > 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 > 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 > 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 > -0.75,0 -1.40625,0.39063 -0.64062,0.375 > -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l > 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 > -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 > -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 > 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 > 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 > 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 > 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 > q 0,1.89063 0.79688,2.82813 0.8125,0.9375 > 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 > -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 > -1.10938,0 -1.85938,0.90625 -0.75,0.90625 > -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 > -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 > -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q > 0,1.3125 0.0937,1.76563 0.15625,0.65625 > 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 > 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 > 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 > 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 > 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 > 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 > 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 > -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 > -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 > 477.14978,1 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 > 477.14978,1 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 488.57849,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 488.57849,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 130.03781,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 129.63492,47.641738 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 197.73337,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 196.92759,48.398958 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 229.09819,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 229.09819,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 486.43149,46.78346 418.74643,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 486.43149,46.78346 418.74643,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 418.73599,47.1378 385.94864,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 2.6115575,160.45605 49.1968505,0 > 0,-34.92914 -49.1968505,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 2.6115575,160.45605 49.1968505,0 > 0,-34.92914 -49.1968505,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 > -25.669282,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 > -25.669282,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 470.06039,354.17466 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 470.06039,354.17466 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 127.20471,318.24836 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 194.90027,317.89402 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 226.26509,272.26936 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 128.23639,141.26408 243.31544,-0.83984" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 483.59839,317.89796 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 483.59839,318.70374 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 415.90289,317.54362 383.11554,272.63024" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 414.06808,317.81135 370.9359,139.95963" /> > + <path > + id="path4409" > + d="m 626.63283,339.07069 959.99997,0 0,720.00001 > -959.99997,0 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-7" > + d="m 3.0034146,110.16796 49.1968504,0 > 0,-34.92913 -49.1968504,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-0" > + d="m 3.0034146,110.16796 49.1968504,0 > 0,-34.92913 -49.1968504,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-7" > + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-0" > + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-9" > + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 > -25.669275,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-6" > + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 > -25.669275,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-1" > + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 > -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-6" > + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 > -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4415-7" > + d="m 634.2562,27.62961 49.19685,0 0,34.92914 > -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4417-6" > + d="m 634.2562,27.62961 49.19685,0 0,34.92914 > -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4419-0" > + d="m 683.45305,27.62961 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4421-0" > + d="m 683.45305,27.62961 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4423-5" > + d="m 709.12235,27.62961 25.66929,0 0,34.92914 > -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4425-0" > + d="m 709.12235,27.62961 25.66929,0 0,34.92914 > -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4427-0" > + d="m 734.79164,27.62961 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4429-2" > + d="m 734.79164,27.62961 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-72" > + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-7" > + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-0" > + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-4" > + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-94" > + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 > -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-1" > + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 > -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-9" > + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-3" > + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-3" > + d="M 629.87967,45.654886 513.97954,45.315094" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-3" > + d="m 468.33265,131.5554 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-5" > + d="m 468.33265,131.5554 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-6" > + d="m 484.01765,149.84391 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-9" > + d="m 484.01765,149.84391 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-4" > + d="m 473.05449,404.47781 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-4" > + d="m 473.05449,404.47781 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-9" > + d="m 488.73949,422.76632 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-6" > + d="m 488.73949,422.76632 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 509.12913,166.36411 62.3283,0 > 57.60646,-116.157282" > + id="path4458" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="M 512.9066,441.17526 545.01512,440.23089 > 627.17515,53.9843" > + id="path4460" > + inkscape:connector-curvature="0" /> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="742.00342" > + y="45.748047" > + id="text4462" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4464" > + x="742.00342" > + y="45.748047">1</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="716.00342" > + y="45.748047" > + id="text4466" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4468" > + x="716.00342" > + y="45.748047">2</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="497.00342" > + y="48.748047" > + id="text4470" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4472" > + x="497.00342" > + y="48.748047">5</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="491.00342" > + y="168.74805" > + id="text4474" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4476" > + x="491.00342" > + y="168.74805">3</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="497.00342" > + y="439.74805" > + id="text4478" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4480" > + x="497.00342" > + y="439.74805">4</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="115.39186" > + y="48.568272" > + id="text4482" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4484" > + x="115.39186" > + y="48.568272">6</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="85.003418" > + y="48.748047" > + id="text4486" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4488" > + x="85.003418" > + y="48.748047">7</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="113.61497" > + y="142.49117" > + id="text4490" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4492" > + x="113.61497" > + y="142.49117">3</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="495.00342" > + y="317.74805" > + id="text4494" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4496" > + x="495.00342" > + y="317.74805">2</tspan></text> > + <text > + xml:space="preserve" > + > style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x="743.00342" > + y="320.74805" > + id="text4498" > + sodipodi:linespacing="125%"><tspan > + sodipodi:role="line" > + id="tspan4500" > + x="743.00342" > + y="320.74805">1</tspan></text> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-9" > + d="m 129.54104,56.932167 62.84594,-0.347244" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-6" > + d="m 192.3997,57.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-1" > + d="m 223.76452,102.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-0" > + d="m 129.31719,35.932033 64.45896,-0.346976" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-4" > + d="m 195.3997,36.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-9" > + d="m 226.76452,81.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 384.00341,80.748047 35,-35" > + id="path4535" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 381.00341,102.74805 69,333 36,2" > + id="path4539" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" > + inkscape:connector-curvature="0" > + id="path4503-5" > + d="m 630.54942,318.71899 -118.50454,0.33949" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-1" > + d="m 483.05483,165.96601 -45.10454,-0.35047" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" > + d="M 385.96803,91.256236 437.94076,164.5821" > + id="path4946" > + inkscape:connector-curvature="0" /> > +</svg> > diff --git a/doc/images/parallel_queue.svg > b/doc/images/parallel_queue.svg > new file mode 100644 > index 0000000..50e3f38 > --- /dev/null > +++ b/doc/images/parallel_queue.svg > @@ -0,0 +1,470 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<svg > + xmlns:dc="http://purl.org/dc/elements/1.1/" > + xmlns:cc="http://creativecommons.org/ns#" > + > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg="http://www.w3.org/2000/svg" > + xmlns="http://www.w3.org/2000/svg" > + > xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + > xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" > + version="1.1" > + viewBox="0 0 529.48229 486.49073" > + stroke-miterlimit="10" > + id="svg4406" > + inkscape:version="0.91 r13725" > + sodipodi:docname="parallel_queue.svg" > + width="529.4823" > + height="486.49072" > + > style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> > + <metadata > + id="metadata4513"> > + <rdf:RDF> > + <cc:Work > + rdf:about=""> > + <dc:format>image/svg+xml</dc:format> > + <dc:type > + > rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> > + <dc:title></dc:title> > + </cc:Work> > + </rdf:RDF> > + </metadata> > + <defs > + id="defs4511"> > + <marker > + inkscape:stockid="Arrow1Lstart" > + orient="auto" > + refY="0" > + refX="0" > + id="Arrow1Lstart" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4562" > + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="matrix(0.8,0,0,0.8,10,0)" > + inkscape:connector-curvature="0" /> > + </marker> > + <marker > + inkscape:stockid="Arrow1Lend" > + orient="auto" > + refY="0" > + refX="0" > + id="Arrow1Lend" > + style="overflow:visible" > + inkscape:isstock="true"> > + <path > + id="path4565" > + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" > + > style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" > + transform="matrix(-0.8,0,0,-0.8,-10,0)" > + inkscape:connector-curvature="0" /> > + </marker> > + </defs> > + <sodipodi:namedview > + pagecolor="#ffffff" > + bordercolor="#666666" > + borderopacity="1" > + objecttolerance="10" > + gridtolerance="10" > + guidetolerance="10" > + inkscape:pageopacity="0" > + inkscape:pageshadow="2" > + inkscape:window-width="2511" > + inkscape:window-height="1416" > + id="namedview4509" > + showgrid="false" > + fit-margin-top="0" > + fit-margin-left="0" > + fit-margin-right="0" > + fit-margin-bottom="0" > + inkscape:zoom="1.0589091" > + inkscape:cx="705.36023" > + inkscape:cy="16.23361" > + inkscape:window-x="1969" > + inkscape:window-y="24" > + inkscape:window-maximized="1" > + inkscape:current-layer="svg4406" > + inkscape:snap-global="true" > + inkscape:snap-text-baseline="true" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4413" > + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4415" > + d="m 2.22154,28.9685 49.19685,0 0,34.92914 > -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4417" > + d="m 2.22154,28.9685 49.19685,0 0,34.92914 > -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4419" > + d="m 51.41839,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4421" > + d="m 51.41839,28.9685 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4423" > + d="m 77.08769,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4425" > + d="m 77.08769,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4427" > + d="m 102.75697,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4429" > + d="m 102.75697,28.9685 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4431" > + d="m 226.78321,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4433" > + d="m 226.78321,113.04724 17.81891,-35.63777 > 109.05511,0 17.81891,35.63777 -17.81891,35.63779 > -109.05511,0 z" /> > + <path > + style="fill:#000000;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4435" > + d="m 254.63996,115.59224 1.6875,-0.14063 q > 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 > 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 > 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 > 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 > 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 > -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 > -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 > -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 > 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 > 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 > 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 > 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q > -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 > -2.35937,-0.67187 -1.625,0 -2.375,0.60937 > -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 > 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 > 3.01563,0.875 1.1875,0.54687 1.75,1.39062 > 0.57812,0.82813 0.57812,1.92188 0,1.09375 > -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 > -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 > -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 > -0.70312,-1.07812 -0.73437,-2.45312 z m > 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 > -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 > -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 > -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 > 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 > 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 > 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 > -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 > -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 > 0,1.98437 0.76563,2.89062 0.76562,0.89063 > 1.98437,0.89063 0.98438,0 1.64063,-0.59375 > 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 > 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 > 2.95312,-1.35938 1.09375,0 1.89063,0.4375 > 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 > 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 > -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 > -0.75,0 -1.40625,0.39063 -0.64062,0.375 > -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l > 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q > -0.9375,1.46875 -2.75,1.46875 -1.17187,0 > -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 > -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 > 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 > 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 > 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 > 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 > q 0,1.89063 0.79688,2.82813 0.8125,0.9375 > 1.89062,0.9375 1.09375,0 1.85938,-0.89063 > 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 > -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 > -1.10938,0 -1.85938,0.90625 -0.75,0.90625 > -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q > -1.14062,1.67188 -3.125,1.67188 -0.85937,0 > -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 > -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 > -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q > 0,1.3125 0.0937,1.76563 0.15625,0.65625 > 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 > 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 > 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 > 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 > 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 > 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 > -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 > -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 > 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 > 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 > 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q > 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 > 2.0625,0.85938 0.90625,0 1.54687,-0.46875 > 0.65625,-0.48438 1.04688,-1.54688 z m > -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 > -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 > -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 > -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 > 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 > 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 > 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 > -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 > -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 > -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4437" > + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 > 475.53822,1 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4439" > + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 > 475.53822,1 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 > 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 > 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c > 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l > -38.02588,0 c -5.25042,0 -9.50671,-4.25631 > -9.50671,-9.50674 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4441" > + d="m 486.96693,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4443" > + d="m 486.96693,28.79527 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4445" > + d="m 128.42625,46.43307 67.68506,-0.34645" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4447" > + d="m 128.02336,47.64174 67.68506,-0.34645" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4449" > + d="m 196.12181,46.7874 32.78738,44.91339" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4451" > + d="m 195.31603,48.39896 32.78738,44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4453" > + d="m 227.48663,92.41207 157.54327,0" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4455" > + d="m 227.48663,92.41207 157.54327,0" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4457" > + d="M 484.81993,46.78346 417.13487,46.43701" /> > + <path > + > style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4459" > + d="M 484.81993,46.78346 417.13487,46.43701" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4461" > + d="M 417.12443,47.1378 384.33708,92.05118" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4465" > + d="m 1,160.45605 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4467" > + d="m 1,160.45605 49.19685,0 0,-34.92914 > -49.19685,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4469" > + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4471" > + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 > -25.6693,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4473" > + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4475" > + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4477" > + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4479" > + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 > -25.66928,0 z" /> > + <path > + style="fill:#cfe2f3;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4481" > + d="m 468.44883,354.17466 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4483" > + d="m 468.44883,354.17466 0,0 c 0,5.25046 > 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c > 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 > 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l > 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 > -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 > -9.50671,4.25633 -9.50671,9.50676 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4485" > + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4487" > + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 > -25.66931,0 z" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4489" > + d="m 125.59315,318.24836 67.68506,0.34644" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4493" > + d="m 193.28871,317.89402 32.78738,-44.91339" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4497" > + d="m 224.65353,272.26936 158.2677,-0.8504" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4499" > + d="m 126.62483,141.26408 243.31544,-0.83984" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4501" > + d="m 481.98683,317.89796 -67.68506,0.34647" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" > + inkscape:connector-curvature="0" > + id="path4503" > + d="m 481.98683,318.70374 -67.68506,0.34647" /> > + <path > + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" > + inkscape:connector-curvature="0" > + id="path4505" > + d="M 414.29133,317.54362 381.50398,272.63024" /> > + <path > + > style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" > + inkscape:connector-curvature="0" > + id="path4507" > + d="M 412.45652,317.81135 369.32434,139.95963" /> > + <path > + id="path4409" > + d="m 625.02127,339.07069 959.99993,0 0,720.00001 > -959.99993,0 0,-720.00001 z" > + inkscape:connector-curvature="0" > + style="clip-rule:nonzero" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4465-7" > + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 > -49.19685,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4467-0" > + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 > -49.19685,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4469-7" > + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4471-0" > + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 > -25.6693,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4473-9" > + d="m 76.258,110.16796 25.66928,0 0,-34.92913 > -25.66928,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4475-6" > + d="m 76.258,110.16796 25.66928,0 0,-34.92913 > -25.66928,0 z" /> > + <path > + > style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4477-1" > + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 > -25.66929,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4479-6" > + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 > -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4415-7" > + d="m 632.64464,27.62961 49.19685,0 0,34.92914 > -49.19685,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4419-0" > + d="m 681.84149,27.62961 25.6693,0 0,34.92914 > -25.6693,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4423-5" > + d="m 707.51079,27.62961 25.66929,0 0,34.92914 > -25.66929,0 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4427-0" > + d="m 733.18008,27.62961 25.66928,0 0,34.92914 > -25.66928,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-3" > + d="m 466.72109,131.5554 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-5" > + d="m 466.72109,131.5554 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-6" > + d="m 482.40609,149.84391 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-9" > + d="m 482.40609,149.84391 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4437-4" > + d="m 471.44293,404.47781 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4439-4" > + d="m 471.44293,404.47781 0,0 c 0,-5.25044 > 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c > 2.52137,0 4.93946,1.0016 6.72229,2.78447 > 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l > 0,71.50618 c 0,5.25043 -4.25635,9.50674 > -9.50678,9.50674 l -38.02588,0 c -5.25042,0 > -9.50671,-4.25631 -9.50671,-9.50674 z" /> > + <path > + > style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4441-9" > + d="m 487.12793,422.76632 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4443-6" > + d="m 487.12793,422.76632 25.66931,0 0,34.92914 > -25.66931,0 z" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-9" > + d="m 127.92948,56.93217 62.84594,-0.34725" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-6" > + d="m 190.78814,57.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-1" > + d="m 222.15296,102.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4447-0" > + d="m 127.70563,35.93203 64.45896,-0.34697" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4451-4" > + d="m 193.78814,36.2861 32.78739,44.91339" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4455-9" > + d="m 225.15296,81.91077 157.54328,0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 382.39185,80.74805 35,-35" > + id="path4535" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="m 379.39185,102.74805 69,333 36,2" > + id="path4539" > + inkscape:connector-curvature="0" /> > + <path > + > style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" > + inkscape:connector-curvature="0" > + id="path4459-1" > + d="m 481.44327,165.96601 -45.10454,-0.35047" /> > + <path > + > style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" > + d="M 384.35647,91.25624 436.3292,164.5821" > + id="path4946" > + inkscape:connector-curvature="0" /> > +</svg> > -- > 2.5.0 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org> > https://lists.linaro.org/mailman/listinfo/lng-odp > > > > > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/>***│ *Open source software > for ARM SoCs > > > > > > -- > Mike Holmes > Technical Manager - Linaro Networking Group > Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM SoCs > > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp
diff --git a/DEPENDENCIES b/DEPENDENCIES index 51951d7..7d22bde 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -187,7 +187,12 @@ Prerequisites for building the OpenDataPlane (ODP) API ./configure --enable-cunit #if cunit is in the PATH ./configure --with-cunit-path=DIR #only if you need a path to Cunit libs and headers -5.0 Documentation & Doxygen +5.0 Documentation Images & Doxygen + + Images are stored as svg files and the png or eps versions generated when the docs are built + Image magics convert application is used + # Debian/Ubuntu + # apt-get install imagemagick 5.1 API Guide See http://www.stack.nl/~dimitri/doxygen/manual/install.html @@ -206,7 +211,7 @@ The tested version of doxygen is 1.8.8 5.2.1 HTML # Ubuntu - $ apt-get install asciidoc + $ apt-get install asciidoc source-highlight # Debian $ apt-get install asciidoc source-highlight diff --git a/configure.ac b/configure.ac index a7e7413..5cf07ca 100644 --- a/configure.ac +++ b/configure.ac @@ -248,6 +248,16 @@ AC_ARG_ENABLE([user-guides], AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ]) ########################################################################## +# Check for imagemagic availability +########################################################################## + AC_CHECK_PROGS([IMAGEMAGIC], [convert]) + if test -z "$IMAGEMAGIC"; + then AC_MSG_WARN([Imagemagic (convert) not found - continuing without image support]) + fi + +AM_CONDITIONAL([HAVE_IMAGEMAGIC], [test "x${IMAGEMAGIC}" = "xconvert"]) + +########################################################################## # Save and set temporary compilation flags ########################################################################## OLD_LDFLAGS=$LDFLAGS @@ -296,6 +306,7 @@ AM_CXXFLAGS="-std=c++11" AC_CONFIG_FILES([Makefile doc/Makefile doc/implementers-guide/Makefile + doc/images/Makefile example/Makefile example/classifier/Makefile example/generator/Makefile diff --git a/doc/Makefile.am b/doc/Makefile.am index 73bd8e2..3aa29a3 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,8 +1,10 @@ +SUBDIRS = images + if HAVE_DOXYGEN clean-local: rm -rf output endif if user_guide -SUBDIRS = implementers-guide +SUBDIRS += implementers-guide endif diff --git a/doc/images/.gitignore b/doc/images/.gitignore new file mode 100644 index 0000000..148f2f2 --- /dev/null +++ b/doc/images/.gitignore @@ -0,0 +1,2 @@ +*.png +*.eps diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am new file mode 100644 index 0000000..df8f9d4 --- /dev/null +++ b/doc/images/Makefile.am @@ -0,0 +1,33 @@ +SVG_SRCS = atomic_queue.svg \ + ordered_queue.svg \ + parallel_queue.svg +SVG_TARGETS = $(SVG_SRCS:svg=png) +SVG_TARGETS += $(SVG_SRCS:svg=eps) + +EXTRA_DIST = $(SVG_SRCS) + +TARGETS= + +if HAVE_IMAGEMAGIC +TARGETS += $(SVG_TARGETS) +endif + +all-local: $(TARGETS) + +clean-local: + rm -f $(TARGETS) + +atomic_queue.png: atomic_queue.svg + convert $< $@ +atomic_queue.eps: atomic_queue.svg + convert $< $@ + +ordered_queue.png: ordered_queue.svg + convert $< $@ +parallel_queue.eps: parallel_queue.svg + convert $< $@ + +parallel_queue.png: parallel_queue.svg + convert $< $@ +ordered_queue.eps: ordered_queue.svg + convert $< $@ diff --git a/doc/images/atomic_queue.svg b/doc/images/atomic_queue.svg new file mode 100644 index 0000000..bd4958f --- /dev/null +++ b/doc/images/atomic_queue.svg @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + viewBox="0 0 528.09972 227.74805" + stroke-miterlimit="10" + id="svg4406" + inkscape:version="0.91 r13725" + sodipodi:docname="atomic_queue.svg" + width="528.09973" + height="227.74805" + style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> + <metadata + id="metadata4513"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4511" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1176" + id="namedview4509" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.32777778" + inkscape:cx="1112.9523" + inkscape:cy="-489.62767" + inkscape:window-x="0" + inkscape:window-y="264" + inkscape:window-maximized="1" + inkscape:current-layer="svg4406" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4413" + d="m -175.52231,-118.55643 960,0 0,720 -960,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4415" + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4417" + d="m 1,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4419" + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4421" + d="m 50.19685,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4423" + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4425" + d="m 75.86615,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4427" + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4429" + d="m 101.53543,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4431" + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4433" + d="m 225.56167,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill:#000000;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4435" + d="m 253.41842,115.59224 1.6875,-0.14063 q 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4437" + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4439" + d="m 470.06039,10.50676 0,0 C 470.06039,5.25632 474.31668,1 479.5671,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4441" + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4443" + d="m 485.74539,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4445" + d="m 127.20471,46.43307 67.68506,-0.34645" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4447" + d="m 127.20471,46.43307 67.68506,-0.34645" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4449" + d="m 194.90027,46.7874 32.78738,44.91339" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4451" + d="m 194.90027,46.7874 32.78738,44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4453" + d="m 226.26509,92.41207 157.54327,0" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4455" + d="m 226.26509,92.41207 157.54327,0" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4457" + d="M 483.59839,46.78346 415.91333,46.43701" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4459" + d="M 483.59839,46.78346 415.91333,46.43701" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4461" + d="M 415.90289,47.1378 383.11554,92.05118" /> + <path + style="fill-rule:nonzero;stroke:#9900ff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4463" + d="M 415.90289,47.1378 383.11554,92.05118" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4465" + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4467" + d="m 1,198.77954 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4469" + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4471" + d="m 50.19685,198.77954 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4473" + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4475" + d="m 75.86615,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4477" + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4479" + d="m 101.53543,198.77954 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4481" + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4483" + d="m 470.06039,217.24127 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4485" + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4487" + d="m 485.74539,198.95277 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4489" + d="m 127.20471,181.31497 67.68506,0.34644" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4491" + d="m 127.20471,181.31497 67.68506,0.34644" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4493" + d="m 194.90027,180.96063 32.78738,-44.91339" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4495" + d="m 194.90027,180.96063 32.78738,-44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4497" + d="m 226.26509,135.33597 158.2677,-0.8504" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4499" + d="m 226.26509,135.33597 158.2677,-0.8504" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4501" + d="m 483.59839,180.96457 -67.68506,0.34647" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4503" + d="m 483.59839,180.96457 -67.68506,0.34647" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4505" + d="M 415.90289,180.61023 383.11554,135.69685" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4507" + d="M 415.90289,180.61023 383.11554,135.69685" /> + <path + id="path4409" + d="m 623.79973,339.07069 959.99997,0 0,720.00001 -959.99997,0 0,-720.00001 z" + inkscape:connector-curvature="0" + style="clip-rule:nonzero" /> +</svg> diff --git a/doc/images/ordered_queue.svg b/doc/images/ordered_queue.svg new file mode 100644 index 0000000..dfc9c22 --- /dev/null +++ b/doc/images/ordered_queue.svg @@ -0,0 +1,658 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + viewBox="0 0 761.46093 486.49073" + stroke-miterlimit="10" + id="svg4406" + inkscape:version="0.91 r13725" + sodipodi:docname="ordered_queue.svg" + width="761.46094" + height="486.49072" + style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> + <metadata + id="metadata4513"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4511"> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4562" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.8) translate(12.5,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;" + inkscape:isstock="true"> + <path + id="path4565" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2511" + inkscape:window-height="1416" + id="namedview4509" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="2.4820709" + inkscape:cx="414.43619" + inkscape:cy="241.85164" + inkscape:window-x="1969" + inkscape:window-y="24" + inkscape:window-maximized="1" + inkscape:current-layer="svg4406" + inkscape:snap-global="true" + inkscape:snap-text-baseline="true" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4413" + d="m -172.68921,-118.55643 960,0 0,720 -960,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4415" + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4417" + d="m 3.8331046,28.9685 49.1968504,0 0,34.92914 -49.1968504,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4419" + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4421" + d="m 53.029955,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4423" + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4425" + d="m 78.699255,28.9685 25.669275,0 0,34.92914 -25.669275,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4427" + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4429" + d="m 104.36853,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4431" + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4433" + d="m 228.39477,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill:#000000;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4435" + d="m 256.25152,115.59224 1.6875,-0.14063 q 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4437" + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4439" + d="m 472.89349,10.50676 0,0 C 472.89349,5.25632 477.14978,1 482.4002,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4441" + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4443" + d="m 488.57849,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4445" + d="m 130.03781,46.43307 67.68506,-0.34645" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4447" + d="m 129.63492,47.641738 67.68506,-0.34645" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4449" + d="m 197.73337,46.7874 32.78738,44.91339" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4451" + d="m 196.92759,48.398958 32.78738,44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4453" + d="m 229.09819,92.41207 157.54327,0" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4455" + d="m 229.09819,92.41207 157.54327,0" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4457" + d="M 486.43149,46.78346 418.74643,46.43701" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4459" + d="M 486.43149,46.78346 418.74643,46.43701" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4461" + d="M 418.73599,47.1378 385.94864,92.05118" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4465" + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4467" + d="m 2.6115575,160.45605 49.1968505,0 0,-34.92914 -49.1968505,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4469" + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4471" + d="m 51.808408,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4473" + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4475" + d="m 77.477708,160.45605 25.669282,0 0,-34.92914 -25.669282,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4477" + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4479" + d="m 103.14699,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4481" + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4483" + d="m 470.06039,354.17466 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4485" + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4487" + d="m 485.74539,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4489" + d="m 127.20471,318.24836 67.68506,0.34644" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4493" + d="m 194.90027,317.89402 32.78738,-44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4497" + d="m 226.26509,272.26936 158.2677,-0.8504" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4499" + d="m 128.23639,141.26408 243.31544,-0.83984" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4501" + d="m 483.59839,317.89796 -67.68506,0.34647" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4503" + d="m 483.59839,318.70374 -67.68506,0.34647" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4505" + d="M 415.90289,317.54362 383.11554,272.63024" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.565;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" + inkscape:connector-curvature="0" + id="path4507" + d="M 414.06808,317.81135 370.9359,139.95963" /> + <path + id="path4409" + d="m 626.63283,339.07069 959.99997,0 0,720.00001 -959.99997,0 0,-720.00001 z" + inkscape:connector-curvature="0" + style="clip-rule:nonzero" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4465-7" + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4467-0" + d="m 3.0034146,110.16796 49.1968504,0 0,-34.92913 -49.1968504,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4469-7" + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4471-0" + d="m 52.200265,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4473-9" + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4475-6" + d="m 77.869565,110.16796 25.669275,0 0,-34.92913 -25.669275,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4477-1" + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4479-6" + d="m 103.53884,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4415-7" + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4417-6" + d="m 634.2562,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4419-0" + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4421-0" + d="m 683.45305,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4423-5" + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4425-0" + d="m 709.12235,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4427-0" + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4429-2" + d="m 734.79164,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4465-72" + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4467-7" + d="m 631.4231,334.37404 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4469-0" + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4471-4" + d="m 680.61995,334.37404 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4473-94" + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4475-1" + d="m 706.28925,334.37404 25.66929,0 0,-34.92914 -25.66929,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4477-9" + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4479-3" + d="m 731.95854,334.37404 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2.59186149;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4459-3" + d="M 629.87967,45.654886 513.97954,45.315094" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4437-3" + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4439-5" + d="m 468.33265,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4441-6" + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4443-9" + d="m 484.01765,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4437-4" + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4439-4" + d="m 473.05449,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4441-9" + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4443-6" + d="m 488.73949,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 509.12913,166.36411 62.3283,0 57.60646,-116.157282" + id="path4458" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 512.9066,441.17526 545.01512,440.23089 627.17515,53.9843" + id="path4460" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="742.00342" + y="45.748047" + id="text4462" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4464" + x="742.00342" + y="45.748047">1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="716.00342" + y="45.748047" + id="text4466" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4468" + x="716.00342" + y="45.748047">2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="497.00342" + y="48.748047" + id="text4470" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4472" + x="497.00342" + y="48.748047">5</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="491.00342" + y="168.74805" + id="text4474" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4476" + x="491.00342" + y="168.74805">3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="497.00342" + y="439.74805" + id="text4478" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4480" + x="497.00342" + y="439.74805">4</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="115.39186" + y="48.568272" + id="text4482" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4484" + x="115.39186" + y="48.568272">6</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="85.003418" + y="48.748047" + id="text4486" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4488" + x="85.003418" + y="48.748047">7</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="113.61497" + y="142.49117" + id="text4490" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4492" + x="113.61497" + y="142.49117">3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="495.00342" + y="317.74805" + id="text4494" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4496" + x="495.00342" + y="317.74805">2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="743.00342" + y="320.74805" + id="text4498" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4500" + x="743.00342" + y="320.74805">1</tspan></text> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4447-9" + d="m 129.54104,56.932167 62.84594,-0.347244" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4451-6" + d="m 192.3997,57.2861 32.78739,44.91339" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4455-1" + d="m 223.76452,102.91077 157.54328,0" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4447-0" + d="m 129.31719,35.932033 64.45896,-0.346976" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4451-4" + d="m 195.3997,36.2861 32.78739,44.91339" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4455-9" + d="m 226.76452,81.91077 157.54328,0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 384.00341,80.748047 35,-35" + id="path4535" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 381.00341,102.74805 69,333 36,2" + id="path4539" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#ff0000;stroke-width:2.61961603;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;marker-mid:url(#Arrow1Lstart)" + inkscape:connector-curvature="0" + id="path4503-5" + d="m 630.54942,318.71899 -118.50454,0.33949" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4459-1" + d="m 483.05483,165.96601 -45.10454,-0.35047" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:10;stroke-dasharray:none" + d="M 385.96803,91.256236 437.94076,164.5821" + id="path4946" + inkscape:connector-curvature="0" /> +</svg> diff --git a/doc/images/parallel_queue.svg b/doc/images/parallel_queue.svg new file mode 100644 index 0000000..50e3f38 --- /dev/null +++ b/doc/images/parallel_queue.svg @@ -0,0 +1,470 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + viewBox="0 0 529.48229 486.49073" + stroke-miterlimit="10" + id="svg4406" + inkscape:version="0.91 r13725" + sodipodi:docname="parallel_queue.svg" + width="529.4823" + height="486.49072" + style="fill:none;stroke:none;stroke-linecap:square;stroke-miterlimit:10"> + <metadata + id="metadata4513"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs4511"> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4562" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4565" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#ff0000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2511" + inkscape:window-height="1416" + id="namedview4509" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="1.0589091" + inkscape:cx="705.36023" + inkscape:cy="16.23361" + inkscape:window-x="1969" + inkscape:window-y="24" + inkscape:window-maximized="1" + inkscape:current-layer="svg4406" + inkscape:snap-global="true" + inkscape:snap-text-baseline="true" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4413" + d="m -174.30077,-118.55643 960,0 0,720 -960,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4415" + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4417" + d="m 2.22154,28.9685 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4419" + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4421" + d="m 51.41839,28.9685 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4423" + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4425" + d="m 77.08769,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4427" + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4429" + d="m 102.75697,28.9685 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4431" + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4433" + d="m 226.78321,113.04724 17.81891,-35.63777 109.05511,0 17.81891,35.63777 -17.81891,35.63779 -109.05511,0 z" /> + <path + style="fill:#000000;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4435" + d="m 254.63996,115.59224 1.6875,-0.14063 q 0.125,1.01563 0.5625,1.67188 0.4375,0.65625 1.35937,1.0625 0.9375,0.40625 2.09375,0.40625 1.03125,0 1.8125,-0.3125 0.79688,-0.3125 1.1875,-0.84375 0.39063,-0.53125 0.39063,-1.15625 0,-0.64063 -0.375,-1.10938 -0.375,-0.48437 -1.23438,-0.8125 -0.54687,-0.21875 -2.42187,-0.65625 -1.875,-0.45312 -2.625,-0.85937 -0.96875,-0.51563 -1.45313,-1.26563 -0.46875,-0.75 -0.46875,-1.6875 0,-1.03125 0.57813,-1.92187 0.59375,-0.90625 1.70312,-1.35938 1.125,-0.46875 2.5,-0.46875 1.51563,0 2.67188,0.48438 1.15625,0.48437 1.76562,1.4375 0.625,0.9375 0.67188,2.14062 l -1.71875,0.125 q -0.14063,-1.28125 -0.95313,-1.9375 -0.79687,-0.67187 -2.35937,-0.67187 -1.625,0 -2.375,0.60937 -0.75,0.59375 -0.75,1.4375 0,0.73438 0.53125,1.20313 0.51562,0.46875 2.70312,0.96875 2.20313,0.5 3.01563,0.875 1.1875,0.54687 1.75,1.39062 0.57812,0.82813 0.57812,1.92188 0,1.09375 -0.625,2.0625 -0.625,0.95312 -1.79687,1.48437 -1.15625,0.53125 -2.60938,0.53125 -1.84375,0 -3.09375,-0.53125 -1.25,-0.54687 -1.96875,-1.625 -0.70312,-1.07812 -0.73437,-2.45312 z m 19.2717,0.76562 1.64062,0.21875 q -0.26562,1.6875 -1.375,2.65625 -1.10937,0.95313 -2.73437,0.95313 -2.01563,0 -3.25,-1.3125 -1.21875,-1.32813 -1.21875,-3.79688 0,-1.59375 0.51562,-2.78125 0.53125,-1.20312 1.60938,-1.79687 1.09375,-0.60938 2.35937,-0.60938 1.60938,0 2.625,0.8125 1.01563,0.8125 1.3125,2.3125 l -1.625,0.25 q -0.23437,-1 -0.82812,-1.5 -0.59375,-0.5 -1.42188,-0.5 -1.26562,0 -2.0625,0.90625 -0.78125,0.90625 -0.78125,2.85938 0,1.98437 0.76563,2.89062 0.76562,0.89063 1.98437,0.89063 0.98438,0 1.64063,-0.59375 0.65625,-0.60938 0.84375,-1.85938 z m 2.89062,3.60938 0,-13.59375 1.67188,0 0,4.875 q 1.17187,-1.35938 2.95312,-1.35938 1.09375,0 1.89063,0.4375 0.8125,0.42188 1.15625,1.1875 0.35937,0.76563 0.35937,2.20313 l 0,6.25 -1.67187,0 0,-6.25 q 0,-1.25 -0.54688,-1.8125 -0.54687,-0.57813 -1.53125,-0.57813 -0.75,0 -1.40625,0.39063 -0.64062,0.375 -0.92187,1.04687 -0.28125,0.65625 -0.28125,1.8125 l 0,5.39063 -1.67188,0 z m 17.12574,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 15.5007,5.875 0,-1.25 q -0.9375,1.46875 -2.75,1.46875 -1.17187,0 -2.17187,-0.64063 -0.98438,-0.65625 -1.53125,-1.8125 -0.53125,-1.17187 -0.53125,-2.6875 0,-1.46875 0.48437,-2.67187 0.5,-1.20313 1.46875,-1.84375 0.98438,-0.64063 2.20313,-0.64063 0.89062,0 1.57812,0.375 0.70313,0.375 1.14063,0.98438 l 0,-4.875 1.65625,0 0,13.59375 -1.54688,0 z m -5.28125,-4.92188 q 0,1.89063 0.79688,2.82813 0.8125,0.9375 1.89062,0.9375 1.09375,0 1.85938,-0.89063 0.76562,-0.89062 0.76562,-2.73437 0,-2.01563 -0.78125,-2.95313 -0.78125,-0.95312 -1.92187,-0.95312 -1.10938,0 -1.85938,0.90625 -0.75,0.90625 -0.75,2.85937 z m 15.71948,4.92188 0,-1.45313 q -1.14062,1.67188 -3.125,1.67188 -0.85937,0 -1.625,-0.32813 -0.75,-0.34375 -1.125,-0.84375 -0.35937,-0.5 -0.51562,-1.23437 -0.0937,-0.5 -0.0937,-1.5625 l 0,-6.10938 1.67187,0 0,5.46875 q 0,1.3125 0.0937,1.76563 0.15625,0.65625 0.67188,1.03125 0.51562,0.375 1.26562,0.375 0.75,0 1.40625,-0.375 0.65625,-0.39063 0.92188,-1.04688 0.28125,-0.67187 0.28125,-1.9375 l 0,-5.28125 1.67187,0 0,9.85938 -1.5,0 z m 3.89133,0 0,-13.59375 1.67188,0 0,13.59375 -1.67188,0 z m 10.92609,-3.17188 1.71875,0.21875 q -0.40625,1.5 -1.51563,2.34375 -1.09375,0.82813 -2.8125,0.82813 -2.15625,0 -3.42187,-1.32813 -1.26563,-1.32812 -1.26563,-3.73437 0,-2.48438 1.26563,-3.85938 1.28125,-1.375 3.32812,-1.375 1.98438,0 3.23438,1.34375 1.25,1.34375 1.25,3.79688 0,0.14062 -0.0156,0.4375 l -7.34375,0 q 0.0937,1.625 0.92188,2.48437 0.82812,0.85938 2.0625,0.85938 0.90625,0 1.54687,-0.46875 0.65625,-0.48438 1.04688,-1.54688 z m -5.48438,-2.70312 5.5,0 q -0.10937,-1.23438 -0.625,-1.85938 -0.79687,-0.96875 -2.07812,-0.96875 -1.14063,0 -1.9375,0.78125 -0.78125,0.76563 -0.85938,2.04688 z m 9.09445,5.875 0,-9.85938 1.5,0 0,1.5 q 0.57813,-1.04687 1.0625,-1.375 0.48438,-0.34375 1.07813,-0.34375 0.84375,0 1.71875,0.54688 l -0.57813,1.54687 q -0.60937,-0.35937 -1.23437,-0.35937 -0.54688,0 -0.98438,0.32812 -0.42187,0.32813 -0.60937,0.90625 -0.28125,0.89063 -0.28125,1.95313 l 0,5.15625 -1.67188,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4437" + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4439" + d="m 471.28193,10.50676 0,0 C 471.28193,5.25632 475.53822,1 480.78864,1 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4441" + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4443" + d="m 486.96693,28.79527 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4445" + d="m 128.42625,46.43307 67.68506,-0.34645" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4447" + d="m 128.02336,47.64174 67.68506,-0.34645" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4449" + d="m 196.12181,46.7874 32.78738,44.91339" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4451" + d="m 195.31603,48.39896 32.78738,44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4453" + d="m 227.48663,92.41207 157.54327,0" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4455" + d="m 227.48663,92.41207 157.54327,0" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4457" + d="M 484.81993,46.78346 417.13487,46.43701" /> + <path + style="fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4459" + d="M 484.81993,46.78346 417.13487,46.43701" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4461" + d="M 417.12443,47.1378 384.33708,92.05118" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4465" + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4467" + d="m 1,160.45605 49.19685,0 0,-34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4469" + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4471" + d="m 50.19685,160.45605 25.6693,0 0,-34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4473" + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4475" + d="m 75.86615,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4477" + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4479" + d="m 101.53543,160.45605 25.66928,0 0,-34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4481" + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4483" + d="m 468.44883,354.17466 0,0 c 0,5.25046 4.25629,9.50678 9.50671,9.50678 l 38.02588,0 0,0 c 2.52137,0 4.93946,-1.00162 6.72229,-2.78449 1.78284,-1.78284 2.78449,-4.20093 2.78449,-6.72229 l 0,-71.50616 c 0,-5.25043 -4.25635,-9.50676 -9.50678,-9.50676 l -38.02588,0 c -5.25042,0 -9.50671,4.25633 -9.50671,9.50676 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4485" + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4487" + d="m 484.13383,335.88616 25.66931,0 0,-34.92914 -25.66931,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4489" + d="m 125.59315,318.24836 67.68506,0.34644" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4493" + d="m 193.28871,317.89402 32.78738,-44.91339" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4497" + d="m 224.65353,272.26936 158.2677,-0.8504" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.46436429;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4499" + d="m 126.62483,141.26408 243.31544,-0.83984" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4501" + d="m 481.98683,317.89796 -67.68506,0.34647" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round" + inkscape:connector-curvature="0" + id="path4503" + d="m 481.98683,318.70374 -67.68506,0.34647" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero" + inkscape:connector-curvature="0" + id="path4505" + d="M 414.29133,317.54362 381.50398,272.63024" /> + <path + style="fill-rule:nonzero;stroke:#ff0000;stroke-width:2.56500006;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none" + inkscape:connector-curvature="0" + id="path4507" + d="M 412.45652,317.81135 369.32434,139.95963" /> + <path + id="path4409" + d="m 625.02127,339.07069 959.99993,0 0,720.00001 -959.99993,0 0,-720.00001 z" + inkscape:connector-curvature="0" + style="clip-rule:nonzero" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4465-7" + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4467-0" + d="m 1.39185,110.16796 49.19685,0 0,-34.92913 -49.19685,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4469-7" + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4471-0" + d="m 50.5887,110.16796 25.6693,0 0,-34.92913 -25.6693,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4473-9" + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4475-6" + d="m 76.258,110.16796 25.66928,0 0,-34.92913 -25.66928,0 z" /> + <path + style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4477-1" + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4479-6" + d="m 101.92728,110.16796 25.66929,0 0,-34.92913 -25.66929,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4415-7" + d="m 632.64464,27.62961 49.19685,0 0,34.92914 -49.19685,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4419-0" + d="m 681.84149,27.62961 25.6693,0 0,34.92914 -25.6693,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4423-5" + d="m 707.51079,27.62961 25.66929,0 0,34.92914 -25.66929,0 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4427-0" + d="m 733.18008,27.62961 25.66928,0 0,34.92914 -25.66928,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4437-3" + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4439-5" + d="m 466.72109,131.5554 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4441-6" + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4443-9" + d="m 482.40609,149.84391 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:#cfe2f3;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4437-4" + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4439-4" + d="m 471.44293,404.47781 0,0 c 0,-5.25044 4.25629,-9.50676 9.50671,-9.50676 l 38.02588,0 0,0 c 2.52137,0 4.93946,1.0016 6.72229,2.78447 1.78284,1.78286 2.78449,4.20093 2.78449,6.72229 l 0,71.50618 c 0,5.25043 -4.25635,9.50674 -9.50678,9.50674 l -38.02588,0 c -5.25042,0 -9.50671,-4.25631 -9.50671,-9.50674 z" /> + <path + style="fill:#000000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-linecap:square;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4441-9" + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4443-6" + d="m 487.12793,422.76632 25.66931,0 0,34.92914 -25.66931,0 z" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.92938769;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4447-9" + d="m 127.92948,56.93217 62.84594,-0.34725" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4451-6" + d="m 190.78814,57.2861 32.78739,44.91339" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4455-1" + d="m 222.15296,102.91077 157.54328,0" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.95323598;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4447-0" + d="m 127.70563,35.93203 64.45896,-0.34697" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4451-4" + d="m 193.78814,36.2861 32.78739,44.91339" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4455-9" + d="m 225.15296,81.91077 157.54328,0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 382.39185,80.74805 35,-35" + id="path4535" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 379.39185,102.74805 69,333 36,2" + id="path4539" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:nonzero;stroke:#800080;stroke-width:1.6421113;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10" + inkscape:connector-curvature="0" + id="path4459-1" + d="m 481.44327,165.96601 -45.10454,-0.35047" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:2.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 384.35647,91.25624 436.3292,164.5821" + id="path4946" + inkscape:connector-curvature="0" /> +</svg>
Signed-off-by: Mike Holmes <mike.holmes@linaro.org> --- DEPENDENCIES | 9 +- configure.ac | 11 + doc/Makefile.am | 4 +- doc/images/.gitignore | 2 + doc/images/Makefile.am | 33 +++ doc/images/atomic_queue.svg | 302 +++++++++++++++++++ doc/images/ordered_queue.svg | 658 ++++++++++++++++++++++++++++++++++++++++++ doc/images/parallel_queue.svg | 470 ++++++++++++++++++++++++++++++ 8 files changed, 1486 insertions(+), 3 deletions(-) create mode 100644 doc/images/.gitignore create mode 100644 doc/images/Makefile.am create mode 100644 doc/images/atomic_queue.svg create mode 100644 doc/images/ordered_queue.svg create mode 100644 doc/images/parallel_queue.svg