]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc: essay work on benchmarking
authorAndrew Hawryluk <ahawryluk@gmail.com>
Fri, 4 Dec 2009 21:25:01 +0000 (14:25 -0700)
committerGraham Percival <graham@percival-music.ca>
Fri, 4 Dec 2009 23:45:29 +0000 (23:45 +0000)
Added new Finale example, improved annotations on the LP 1.4 example.

13 files changed:
Documentation/essay/engraving.itely
Documentation/pictures/bwv861mm28-29.png [new file with mode: 0644]
Documentation/pictures/bwv861mm33-34-annotate.png [new file with mode: 0644]
Documentation/pictures/bwv861mm33-34-annotate.svg [new file with mode: 0644]
Documentation/pictures/bwv861mm33-34.png [new file with mode: 0644]
Documentation/pictures/lily14-sarabande-annotated-hires.png [new file with mode: 0644]
Documentation/pictures/lily14-sarabande-annotated.png [new file with mode: 0644]
Documentation/pictures/lily14-sarabande-hires.png [new file with mode: 0644]
Documentation/pictures/pdf/bwv861mm28-29.pdf [new file with mode: 0644]
Documentation/pictures/pdf/bwv861mm33-34-annotate.pdf [new file with mode: 0644]
Documentation/pictures/pdf/bwv861mm33-34.pdf [new file with mode: 0644]
Documentation/pictures/pdf/lily14-sarabande.pdf [new file with mode: 0644]
Documentation/pictures/ross-beam-scan.png [deleted file]

index 58ae21b751a2c44114b17aeaadcf1290a68b7a52..5b5fe67b7d7b1c4f69a0e0346e0b6d42445845de 100644 (file)
@@ -16,13 +16,10 @@ This section covers the overall goals and architecture of
 LilyPond.
 
 @c TODO:
-@c update LP 1.4 example with PDF
-@c annotate typography errors in old LilyPond
-@c add Schubert
-@c add 'tweaked' versions of LP & Finale BWV 861
-@c find a good value for #'between-staff-spacing #'padding
 @c remove 3mm eps bounding box left padding for Sarabande (This will
 @c     require adding a new snippet option to lilypond-book.py
+@c check formatting of HTML output
+@c
 
 @c Notes:
 @c Incorrect beaming in the Sarabande is a known bug.
@@ -51,6 +48,7 @@ Why does most computer output fail to achieve the beauty and balance of
 a hand-engraved score?
 @end quotation
 
+@noindent
 Some of the answers can be found by examining the two scores
 @ifnottex
 below.
@@ -180,6 +178,12 @@ necessary to become truly skilled.
 @end ifnottex
 @end quotation
 
+LilyPond is inspired by traditional manual engravings published by
+European music publishers in and towards the end of the first half of
+the twentieth century, inlcuding Baerenreiter, Duhem, Durand,
+Hofmeister, Peters, and Schott. This is sometimes regarded as the peak
+of traditional musical engraving practice.
+
 @c Now all newly printed music is produced with computers. This has
 @c obvious advantages: prints are cheaper to make, editorial work can be
 @c delivered by email, and the original data can be easily stored.
@@ -462,9 +466,16 @@ magnified by 236% to print at the same size as the previous example:
 @end ifnottex
 @end quotation
 
-At smaller sizes, LilyPond uses proportionally heavier lines and so the
-music will still read well. This also allows staves of different
-sizes to coexist peacefully when used together on the same page:
+@noindent
+At smaller sizes, LilyPond uses proportionally heavier lines so the
+music will still read well.
+
+@ignore
+This also allows staves of different sizes to coexist peacefully when
+used together on the same page:
+
+@c TODO: are the stems in this example the right thickness? How should
+@c line wieghts be scaled for small staves?
 
 @c Grieg's Violin Sonata Op. 45
 @lilypond[indent=1.5cm]
@@ -511,6 +522,7 @@ global = {
   >>
 >>
 @end lilypond
+@end ignore
 
 @node Why work so hard?
 @unnumberedsubsec Why work so hard?
@@ -551,6 +563,12 @@ to see and love to play from.
 @cindex engraving, automated
 @cindex automated engraving
 
+This section describes what is required to create software that can
+mimic the layout of engraved scores: a method of explaining good
+layouts to the computer, detailed comparisons with real engravings,
+and enough flexibility to deal with the wide range of challenges
+that printed music can present.
+
 @menu
 * Beauty contests::             
 * Notation benchmarking::       
@@ -560,46 +578,96 @@ to see and love to play from.
 @node Beauty contests
 @unnumberedsubsec Beauty contests
 
-Rather than trying to write rules that describe how to draw an
-attractive slur for every possible scenario, we have written rules that
-describe an attractive slur and LilyPond finds the nicest possibility.
-For example, here are three possible slur configurations, and LilyPond
-has given each one a score in `ugly points':
+How do we actually make formatting decisions?  In other words, which
+of the three configurations should we choose for the following slur?
 
 @lilypond
-%\layout { #(define debug-slur-scoring #t) }
-
 \relative c {
     \clef bass
     \once \override Slur #'positions = #'(1.5 . 1)
-    e8[(_"15.39" f] g[ a b d,)] r4
+    e8[( f] g[ a b d,)] r4
     \once \override Slur #'positions = #'(2 . 3)
-    e8[(_"13.08" f] g[ a b d,)] r4
-    e8[(_"12.04" f] g[ a b d,)] r4
+    e8[( f] g[ a b d,)] r4
+    e8[( f] g[ a b d,)] r4
 }
 @end lilypond
 
-@noindent
+There are a few books on the art of music engraving
+available. Unfortunately, they contain rules of simple thumbs and some
+examples.  Such rules can be instructive, but they are a far cry from
+an algorithm that we could readily implement in a computer.  Following
+the instructions from literature leads to algorithms with lots of
+handcoded exceptions. Doing all this case analysis is a lot of work,
+and often not all cases are covered completely:
 
-The first example gets 15.39 points for grazing one of the notes. The
+@quotation
+@iftex
+@sourceimage{ross-beam-scan,7cm,,}
+@end iftex
+@ifnottex
+@sourceimage{ross-beam-scan,,,.jpg}
+@end ifnottex
+@end quotation
+
+(Image source: Ted Ross, @emph{The Art of Music Engraving})
+
+Rather than trying to write detailed layout rules for every possible
+scenario, we only have to describe the objectives well enough that
+LilyPond can judge the attractiveness of several alternatives. Then,
+for each possible configuration we compute an ugliness score and we
+choose the least ugly configuration.
+
+For example, here are three possible slur configurations, and LilyPond
+has given each one a score in `ugly points'. The first example gets 15.39
+points for grazing one of the notes:
+
+@lilypond
+\relative c {
+    \clef bass
+    \once \override Slur #'positions = #'(1.5 . 1)
+    e8[(_"15.39" f] g[ a b d,)] r4
+}
+@end lilypond
+
+The
 second one is nicer, but the slur doesn't start or end on the noteheads.
 It gets 1.71 points for the left side and 9.37 points for the right
 side, plus another 2 points because the slur ascends while the melody
-descends for a total of 13.08 ulgy points. The final slur gets 10.04
+descends for a total of 13.08 ulgy points:
+
+@lilypond
+\relative c {
+    \clef bass
+    \once \override Slur #'positions = #'(2 . 3)
+    e8[(_"13.08" f] g[ a b d,)] r4
+}
+@end lilypond
+
+The final slur gets 10.04
 points for the gap on the right and 2 points for the upward slope, but
 it is the most attractive of the three configurations, so LilyPond
-selects that one.
+selects this one:
+
+@lilypond
+\relative c {
+    \clef bass
+    e8[(_"12.04" f] g[ a b d,)] r4
+}
+@end lilypond
 
-This technique is quite general, and is used to select beam
-configurations, ties and dots in chords, line breaks, and page breaks.
+This technique is quite general, and is used to make optimal decisions
+for beam configurations, ties and dots in chords, line breaks, and page
+breaks. The results of these decisions can be judged by comparison to
+real engravings.
 
-@node Notation benchmarking
-@unnumberedsubsec Notation benchmarking
+@node Improvement by benchmarking
+@unnumberedsubsec Improvement by benchmarking
 
-We have tuned LilyPond's layout rules by comparing its output to
-hand-engraved scores. Here is one line of a benchmark piece from a
-hand-engraved edition (Bärenreiter BA320), and as engraved by an old
-version of LilyPond (version 1.4, released May 2001):
+LilyPond's output has improved gradually over time, and it continues to
+improve by comparing its output to hand-engraved scores.
+
+For example, here is one line of a benchmark piece from a
+hand-engraved edition (Bärenreiter BA320):
 
 @iftex
 @sourceimage{baer-sarabande-hires,16cm,,}
@@ -608,8 +676,12 @@ version of LilyPond (version 1.4, released May 2001):
 @sourceimage{baer-sarabande,,,png}
 @end ifnottex
 
+@noindent
+and the same quotation as engraved by a very old version of LilyPond
+(version 1.4, May 2001):
+
 @iftex
-@sourceimage{lily14-sarabande,16cm,,}
+@sourceimage{pdf/lily14-sarabande,16cm,,}
 @end iftex
 @ifnottex
 @sourceimage{lily14-sarabande,,,png}
@@ -619,20 +691,28 @@ version of LilyPond (version 1.4, released May 2001):
 comparison with the hand-engraved score showed a lot of errors in the
 formatting details:
 
+@iftex
+@sourceimage{lily14-sarabande-annotated-hires,16cm,,}
+@end iftex
+@ifnottex
+@sourceimage{lily14-sarabande-annotated,,,png}
+@end ifnottex
+
 @itemize @bullet
-@item most of the stems are too long
-@item the trill marks are too big
+@item there is too much space before the time signature
+@item the stems of the beamed notes are too long
 @item the second and fourth measures are too narrow
 @item the slur is awkward-looking
+@item the trill marks are too big
 @item the stems are too thin
-@item there was too much space before the time signature
 @end itemize
 
 @noindent
-(There were also two missing notes, and one wrong one!)
+(There were also two missing noteheads, several missing editorial
+annotations, and an incorrect pitch!)
 
 By adjusting the layout rules and font design, the output has improved
-considerably. This is the same musical quotation compared to the output
+considerably. Compare the same reference score and the output
 from the current version of LilyPond (@version{}):
 
 @iftex
@@ -667,67 +747,187 @@ from the current version of LilyPond (@version{}):
 The current output is not a clone of the reference edition, but it is
 much closer to publication quality that the earlier output.
 
-[@strong{Andrew H:} This comparison is not finished. I promise not to
-leave it in such a mess!]
+@node Getting things right
+@unnumberedsubsec Getting things right
+
+We can also measure LilyPond's ability to make music engraving decisions
+automatically by comparing LilyPond's output to the output of a
+commercial software product. In this case we have chosen Finale 2008,
+which is one of the most popular commercial scorewriters, particularly
+in North America. Sibelius is their major rival and they appear to be
+especially strong in the European market.
+
+For our comparison we chose Bach's Fugue in G minor from the
+Well-Tempered Clavier, Book I, BWV 861, whose opening subject is
+
+@lilypond
+\relative c' {
+  \key g \minor
+  \clef "treble_8"
+  r8 d ees g, fis4 g
+  r8 a16 bes c8 bes16 a bes8
+}
+@end lilypond
+
+@noindent
+
+We made our comparison by engraving the last seven measures of the piece
+(28--34) in Finale and LilyPond. This is the point in the piece where
+the subject returns in a three-part stretto and leads into the closing
+section. In the Finale version, we have resisted the temptation to make
+any adjustments to the default output because we are trying to show the
+things that each software package gets right without assistance.
+
+Many of the differences between the two engravings are visible in
+measures 28--29, as shown here with Finale first and LilyPond second:
+
+@iftex
+@sourceimage{pdf/bwv861mm28-29,14cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861mm28-29,,,png}
+@end ifnottex
+
+@lilypond[staffsize=19.5,line-width=14\cm]
+global = {\key g \minor}
 
-Another valuable form of benchmarking is comparing LilyPond's output to
-the output of a commercial software product. In this case we have chosen
-Finale 2008, which is one of the most popular commercial scorewriters,
-particularly in North America. Sibelius is their major rival and they
-appear to be especially strong in the European market.
+partI = \relative c' {
+  \voiceOne
+  fis8 d' ees g, fis4 g
+  r8 a16 bes c8 bes16 a d8 r r4
+}
 
-We have selected the last seven measures of Bach's Fugue in G minor from
-the Well-Tempered Clavier, Book I, BWV 861. In the final draft there
-will be pitcures here, but for now please consult the appendix
-(currently pp. 12--14) for the output from both programs and images from
-four reference engravings.
+partII = \relative c' {
+  \voiceTwo
+  d4 r4 r8 d'16 c bes8 c16 d
+  ees8 d c ees a, r r4
+}
+partIII = \relative c' {
+  \voiceOne
+  r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
+}
+partIV = \relative c {
+  \voiceTwo
+  d4 r r2
+  r8 d ees g, fis4 a
+}
 
-My findings so far:
+\score {
+  <<
+    % \set Score.barNumberVisibility = #all-bar-numbers-visible
+    % required in 2.13
+    \set Score.currentBarNumber = #28
+    \bar ""
+    \new PianoStaff <<
+      \new Staff = "RH" <<
+        \global
+        \new Voice = "voiceI" { \partI }
+        \new Voice = "voiceII" { \partII }
+      >>
 
+      \new Staff = "LH" <<
+        \clef "bass"
+        \global
+        \new Voice = "voiceIII" { \partIII }
+        \new Voice = "voiceIV" { \partIV }
+      >>
+    >>
+  >>
+  \layout {
+    \context {
+      \Staff
+      \remove "Time_signature_engraver"
+    }
+    \context {
+      \PianoStaff
+      \override StaffGrouper #'between-staff-spacing #'padding = #1
+    }
+  }
+}
+@end lilypond
+
+Some shortcomings in the unedited Finale output include:
 @itemize @bullet
-@item Finale rests are always at the same heights (in v1/v2 situations).
-@item Finale doesn't interlock notes nicely (mm. 28--29).
-@item Finale misses the B-flat in mm. 33!
-@item Finale's beamed stems are almost always too long when they extend
-off the staff.
-@item LilyPond 2.13.5 has a vertical spacing problem (no padding).
-@item LilyPond could use a little more space before the first note of
-mm. 30, 33--34.
-@item LilyPond's ties to beat 1 of mm. 31 are shorter than any of the
-reference scores, and Finale's are even worse.
-@item LilyPond's stems are often shorter than any of the references,
-especially RH mm. 31.
-@item In some locations, the Bärenreiter engraver(s) place rests
-further from the staff than strictly necessary in order to keep them
-vertically close to the subsequent element in that voice (e.g. mm. 28).
-@item There is some acceptable variation within the reference scores,
-although some scores are more attractive than others.
-@end itemize
+@item Most of the beams extend too far off the staff. A beam that points
+towards the center of the staff should have a length of about one
+octave, but engravers shorten this when the beam points away from the
+staff in multi-voice music. The Finale beaming can be easily improved
+with the Patterson Beams plug-in, but we elected to skip that step for
+this example.
+@item Finale doesn't adjust the positions of interlocking noteheads,
+which makes the music extremely difficult to read when the upper and
+lower voices exchange positions temporarily:
 
-@c Han-Wen said once:
-@c A lot of readers misinterpret the Finale example. Finale is a
-@c powerful package, and in the hands of a good engraver — which is
-@c something different from a good musician — it can produce very good
-@c scores. However, the friendly GUI is misleading: you need a lot of
-@c time and expertise to get decent scores from Finale.
+@lilypond
+collide = \once \override NoteColumn #'force-hshift = #0
+\new Score <<
+  \new Voice = "sample" \relative c''{
+    \key g \minor
+    <<
+      {\voiceOne g4 \collide g4}
+      \new Voice {\voiceTwo bes \collide bes}
+    >>
+  }
+  \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
+>>
+@end lilypond
+
+@item Finale has placed all of the rests at fixed heights on the staff.
+The user is free to adjust them as needed, but the software makes no
+attempt to consider the content of the other voice. As luck would have
+it, there are no true collsions between notes and rests in this example,
+but that has more to do with the positions of the notes than the rest.
+In other words, Bach deserves more credit for avoiding a complete
+collision that Finale does.
+
+@end itemize
 
-@c How do we go about implementing typography?  If craftsmen need
-@c over ten years to become true masters, how could we simple hackers
-@c ever write a program to take over their jobs?
+This example is not intended to suggest that Finale cannot be used to
+produce beautiful output. On the contrary, in the hands of a skilled
+user it can and does, but it requires skill and time. One of the
+fundamental differences between LilyPond and commercial scorewriters is
+that LilyPond hopes to reduce the amount of human intervention to an
+absolute minimum, while other packages try to provide an attractive
+interface in which to make these types of edits.
 
-@c The answer is: we cannot.
+One particularly glaring omission we found in the Finale sample is a
+missing flat in measure 33:
 
-The last two points lead into this concluding/transition paragraph:
+@quotation
+@iftex
+@sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
+@end iftex
+@ifnottex
+@sourceimage{bwv861mm33-34-annotate,,,png}
+@end ifnottex
+@end quotation
 
-Typography relies on human judgment of
-appearance, so people cannot be replaced completely.  However,
-much of the dull work can be automated.  If LilyPond solves most
-of the common situations correctly, this will be a huge
-improvement over existing software.  The remaining cases can be
-tuned by hand.  Over the course of years, the software can be
-refined to do more and more things automatically, so manual
-overrides are less and less necessary. Where manual adjustments are
-needed, LilyPond's structure must be ...
+@noindent
+The flat symbol is required to cancel out the natural in the same
+measure, but Finale misses it because it occurred in a different voice.
+The user must not only remember to run a beaming plug-in and respace the
+noteheads and rests, she must also check each measure for cross-voice
+accidentals if she is to avoid interrupting a rehearsal for an engraving
+error.
+
+If you are interested in examining these examples in more detail, the
+full seven-measure excerpt can be found at the end of this essay in
+engravings by Finale and LilyPond along with four different published
+engravings. Close examination reveals that there is some acceptible
+variation among the hand-engravings, but that LilyPond compares
+reasonably well to that acceptible range. There are still some
+shortcomings in the LilyPond output, for example, it appears a bit too
+agressive in shortening some of the stems, so there is room for further
+development and fine-tuning.
+
+Of course, typography relies on human judgment of appearance, so people
+cannot be replaced completely. However, much of the dull work can be
+automated. If LilyPond solves most of the common situations correctly,
+this will be a huge improvement over existing software. Over the course
+of years, the software can be refined to do more and more things
+automatically, so manual overrides are less and less necessary. Where
+manual adjustments are needed, LilyPond's structure has been designed
+with that flexibility in mind.
 
 @node Flexible architecture
 @unnumberedsubsec Flexible architecture
@@ -1351,6 +1551,7 @@ Finale 2008:
 @sourceimage{bwv861-finale2008a,,,png}
 @end ifnottex
 
+@sp 4
 @noindent
 LilyPond, version @version{}:
 
@@ -1424,6 +1625,10 @@ partIV = \relative c {
       \Staff
       \remove "Time_signature_engraver"
     }
+    \context {
+      \PianoStaff
+      \override StaffGrouper #'between-staff-spacing #'padding = #1
+    }
   }
 }
 @end lilypond
diff --git a/Documentation/pictures/bwv861mm28-29.png b/Documentation/pictures/bwv861mm28-29.png
new file mode 100644 (file)
index 0000000..346f16d
Binary files /dev/null and b/Documentation/pictures/bwv861mm28-29.png differ
diff --git a/Documentation/pictures/bwv861mm33-34-annotate.png b/Documentation/pictures/bwv861mm33-34-annotate.png
new file mode 100644 (file)
index 0000000..506601e
Binary files /dev/null and b/Documentation/pictures/bwv861mm33-34-annotate.png differ
diff --git a/Documentation/pictures/bwv861mm33-34-annotate.svg b/Documentation/pictures/bwv861mm33-34-annotate.svg
new file mode 100644 (file)
index 0000000..e0b80cc
--- /dev/null
@@ -0,0 +1,744 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47pre4 r22446"
+   width="217.1875"
+   height="115.625"
+   xml:space="preserve"
+   sodipodi:docname="bwv861mm33-34.svg"><metadata
+     id="metadata8"><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="defs6"><inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective10" /><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath20"><path
+         d="m 0,0 0,925 1737.5,0 0,-925 L 0,0 z"
+         clip-rule="evenodd"
+         id="path22" /></clipPath></defs><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="749"
+     inkscape:window-height="606"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="2.0410811"
+     inkscape:cx="108.59375"
+     inkscape:cy="56.832627"
+     inkscape:window-x="422"
+     inkscape:window-y="215"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g12" /><g
+     id="g12"
+     inkscape:groupmode="layer"
+     inkscape:label="bwv861mm33-34"
+     transform="matrix(1.25,0,0,-1.25,0,115.625)"><g
+       id="g14"
+       transform="scale(0.1,0.1)"><g
+         id="g16"><g
+           id="g18"
+           clip-path="url(#clipPath20)"><path
+             d="m 7.92969,754.996 0,-571.871"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path24" /><path
+             d="m 868.715,754.996 0,-571.871"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path26" /><path
+             d="m 1720.94,754.996 0,-571.871"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:17.871;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path28" /><path
+             d="m 1691.52,754.996 0,-571.871"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path30" /><path
+             d="m -2705.11,754.996 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path32" /><path
+             d="m -2705.11,719.254 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path34" /><path
+             d="m -2705.11,683.512 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path36" /><path
+             d="m -2705.11,647.77 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path38" /><path
+             d="m -2705.11,612.027 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path40" /><path
+             d="m -2705.11,326.094 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path42" /><path
+             d="m -2705.11,290.352 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path44" /><path
+             d="m -2705.11,254.609 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path46" /><path
+             d="m -2705.11,218.867 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path48" /><path
+             d="m -2705.11,183.125 4434.99,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path50" /><g
+             id="g52"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,-15.5516,68.3512)"
+               id="text54"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan56">œ</tspan></text>
+</g><g
+             id="g58"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,-7.36094,66.5641)"
+               id="text60"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan62">œ</tspan></text>
+</g><g
+             id="g64"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,-15.5516,29.0352)"
+               id="text66"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0 -4.6167979"
+                 y="0"
+                 sodipodi:role="line"
+                 id="tspan68">œ#</tspan></text>
+</g><path
+             d="m 50,790.738 64.039,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path70" /><g
+             id="g72"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,5.89336,79.0738)"
+               id="text74"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan76">œ</tspan></text>
+</g><path
+             d="m 101.938,796.695 0,110.203"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path78" /><g
+             id="g80"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,15.8715,71.9254)"
+               id="text82"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan84">œ</tspan></text>
+</g><path
+             d="m 201.719,725.211 0,181.687"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path86" /><g
+             id="g88"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,25.9984,77.2867)"
+               id="text90"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan92">œ</tspan></text>
+</g><path
+             d="m 302.984,778.824 0,128.074"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path94" /><g
+             id="g96"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,35.9766,75.4996)"
+               id="text98"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan100">œ</tspan></text>
+</g><path
+             d="m 402.766,760.953 0,145.945"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path102" /><path
+             d="m 99.332,897.965 306.039,0 0,17.8711 -306.039,0 0,-17.8711 z"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path104" /><g
+             id="g106"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,46.9969,73.7125)"
+               id="text108"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan110">œ</tspan></text>
+</g><path
+             d="m 512.969,743.082 0,110.203"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path112" /><g
+             id="g114"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,56.8258,71.9254)"
+               id="text116"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan118">œ</tspan></text>
+</g><path
+             d="m 611.262,725.211 0,122.148"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path120" /><g
+             id="g122"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,66.8039,70.1383)"
+               id="text124"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan126">œ</tspan></text>
+</g><path
+             d="m 711.039,707.34 0,134.004"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path128" /><g
+             id="g130"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,76.6328,68.3512)"
+               id="text132"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan134">œ</tspan></text>
+</g><path
+             d="m 809.332,689.469 0,145.945"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path136" /><path
+             d="m 510.363,862.223 0,-17.871 301.575,-17.872 0,17.872"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path138" /><g
+             id="g140"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,11.7016,66.2664)"
+               id="text142"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan144">.</tspan></text>
+</g><path
+             d="m 61.543,677.555 0,-119.141"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path146" /><g
+             id="g148"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,5.89336,68.3512)"
+               id="text150"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan152">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="30.0832"
+                 y="12.5098"
+                 id="tspan154">J</tspan></text>
+</g><path
+             d="m 362.371,677.555 0,-154.883"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path156" /><g
+             id="g158"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,35.9766,68.3512)"
+               id="text160"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan162">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="3.57422"
+                 id="tspan164">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="-4.02109"
+                 y="0"
+                 id="tspan166">n</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="11.02031"
+                 y="-1.78711"
+                 id="tspan168">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="11.02031"
+                 y="1.78711"
+                 id="tspan170">œ</tspan></text>
+</g><path
+             d="m 472.574,695.426 0,-199.559"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path172" /><g
+             id="g174"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,56.8258,57.6285)"
+               id="text176"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan178">‰</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="9.97813"
+                 y="-7.14844"
+                 id="tspan180">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="9.97813"
+                 y="-1.78711"
+                 id="tspan182">œ</tspan></text>
+</g><path
+             d="m 670.645,641.812 0,-163.816"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path184" /><path
+             d="m 469.969,504.801 0,-17.871 203.281,-17.871 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path186" /><g
+             id="g188"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,76.6328,57.6285)"
+               id="text190"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan192">‰</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="-70.7395"
+                 y="21.4453"
+                 id="tspan194">‰</tspan></text>
+</g><path
+             d="m 149.781,361.832 64.035,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path196" /><g
+             id="g198"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,15.8715,37.9703)"
+               id="text200"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan202">œ</tspan></text>
+</g><path
+             d="m 201.719,385.66 0,137.082"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path204" /><path
+             d="m 251.047,361.832 64.039,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path206" /><path
+             d="m 251.047,397.574 64.039,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path208" /><g
+             id="g210"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,25.9984,39.7574)"
+               id="text212"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan214">œ</tspan></text>
+</g><path
+             d="m 302.984,403.531 0,110.211"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path216" /><g
+             id="g218"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,35.9766,30.8223)"
+               id="text220"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan222">œ</tspan></text>
+</g><path
+             d="m 402.766,314.18 0,190.691"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path224" /><path
+             d="m 199.109,531.68 0,-17.871 206.262,-17.871 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path226" /><path
+             d="m 512.969,296.309 0,83.394"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path228" /><g
+             id="g230"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,46.9969,29.0352)"
+               id="text232"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0 -4.6167979"
+                 y="0"
+                 sodipodi:role="line"
+                 id="tspan234">œ#</tspan></text>
+</g><path
+             d="m 711.039,314.18 0,83.394"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path236" /><g
+             id="g238"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,66.8039,30.8223)"
+               id="text240"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0 -60.9105"
+                 y="0"
+                 sodipodi:role="line"
+                 id="tspan242">œœ</tspan></text>
+</g><path
+             d="m 61.543,302.266 0,-145.95"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path244" /><g
+             id="g246"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,15.8715,29.0352)"
+               id="text248"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan250">œ</tspan></text>
+</g><path
+             d="m 161.32,284.395 0,-134.004"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path252" /><g
+             id="g254"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,25.9984,27.248)"
+               id="text256"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan258">œ</tspan></text>
+</g><path
+             d="m 262.59,266.523 0,-122.148"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path260" /><g
+             id="g262"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,35.9766,25.4609)"
+               id="text264"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan266">œ</tspan></text>
+</g><path
+             d="m 362.371,248.652 0,-110.207"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path268" /><path
+             d="m 58.9336,165.254 0,-17.871 306.0434,-17.871 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path270" /><g
+             id="g272"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,46.9969,23.6738)"
+               id="text274"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan276">œ</tspan></text>
+</g><path
+             d="m 472.574,230.781 0,-145.949"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path278" /><g
+             id="g280"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,56.8258,21.8867)"
+               id="text282"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan284">œ</tspan></text>
+</g><path
+             d="m 570.863,212.91 0,-134.0038"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path286" /><g
+             id="g288"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,66.8039,20.0996)"
+               id="text290"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan292">œ</tspan></text>
+</g><path
+             d="m 670.645,195.039 0,-122.1484"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path294" /><g
+             id="g296"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,76.6328,18.3125)"
+               id="text298"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan300">œ</tspan></text>
+</g><path
+             d="m 768.934,177.168 0,-110.2071"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path302" /><path
+             d="m 469.969,93.7695 0,-17.8711 301.574,-17.8711 0,17.8711"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path304" /><path
+             d="m 954.977,671.598 0,119.14"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path306" /><g
+             id="g308"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,91.0785,66.5641)"
+               id="text310"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan312">˙</tspan></text>
+</g><path
+             d="m 1482.17,653.727 0,119.14"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path314" /><g
+             id="g316"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,143.798,64.777)"
+               id="text318"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan320">˙</tspan></text>
+<text
+               transform="matrix(1,0,0,-1,142.01089,80.861)"
+               id="text322"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:13.11;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan324">U</tspan></text>
+</g><path
+             d="m 955.09,641.812 0,-119.14"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path326" /><g
+             id="g328"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,95.2484,64.777)"
+               id="text330"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan332">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="3.57422"
+                 id="tspan334">œ</tspan></text>
+</g><path
+             d="m 1166.57,623.941 0,-119.14"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path336" /><g
+             id="g338"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,116.396,62.9898)"
+               id="text340"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan342">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="3.57422"
+                 id="tspan344">œ</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="-4.61641"
+                 y="0"
+                 id="tspan346">#</tspan></text>
+</g><path
+             d="m 1440.59,588.199 0,-83.398"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path348" /><g
+             id="g350"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,143.798,59.4156)"
+               id="text352"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan354">˙</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="-52.7195"
+                 y="23.2324"
+                 id="tspan356">‰</tspan><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="-42.8902"
+                 y="26.80623"
+                 id="tspan358">œ</tspan></text>
+</g><path
+             d="m 1052.08,332.051 0,110.203"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path360" /><g
+             id="g362"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,108.205,34.3965)"
+               id="text364"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan366">œ</tspan></text>
+</g><path
+             d="m 1125.05,349.922 0,110.203"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path368" /><path
+             d="m 1049.47,451.188 0,-17.872 78.19,17.872 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path370" /><path
+             d="m 1049.47,424.383 0,-17.871 78.19,17.871 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path372" /><path
+             d="m 1155.02,361.832 64.04,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path374" /><g
+             id="g376"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,116.396,36.1832)"
+               id="text378"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan380">œ</tspan></text>
+</g><path
+             d="m 1206.96,367.789 0,110.207"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path382" /><g
+             id="g384"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,126.225,34.3965)"
+               id="text386"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan388">œ</tspan></text>
+</g><path
+             d="m 1305.25,349.922 0,117.726"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path390" /><g
+             id="g392"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,133.373,32.6094)"
+               id="text394"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan396">œ</tspan></text>
+</g><path
+             d="m 1376.73,332.051 0,128.074"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path398" /><path
+             d="m 1204.36,486.93 0,-17.871 174.98,-17.871 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path400" /><path
+             d="m 1302.64,449.777 0,-17.871 76.7,-7.523 0,17.871"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path402" /><path
+             d="m 1482.17,349.922 0,83.394"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path404" /><g
+             id="g406"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,143.798,34.3965)"
+               id="text408"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0 -4.0211028"
+                 y="0"
+                 sodipodi:role="line"
+                 id="tspan410">˙n</tspan></text>
+<text
+               transform="matrix(1,0,0,-1,142.01089,8.4832)"
+               id="text412"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:13.11;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan414">u</tspan></text>
+<text
+               transform="matrix(1,0,0,-1,91.07849,23.6738)"
+               id="text416"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan418">œ</tspan></text>
+</g><path
+             d="m 913.391,230.781 0,-217.4333"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path420" /><g
+             id="g422"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,100.908,20.0996)"
+               id="text424"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan426">œ</tspan></text>
+</g><path
+             d="m 1011.68,195.039 0,-181.6913"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path428" /><g
+             id="g430"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,116.396,25.4609)"
+               id="text432"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan434">œ</tspan></text>
+</g><path
+             d="m 1166.57,248.652 0,-235.3043"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path436" /><path
+             d="m 1253.31,147.383 64.04,0"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path438" /><g
+             id="g440"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,126.225,12.9512)"
+               id="text442"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan444">œ</tspan></text>
+</g><path
+             d="m 1264.86,123.555 0,-110.2073"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path446" /><path
+             d="m 910.785,4.41406 356.676,0 0,17.8711 -356.676,0 0,-17.8711 z"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path448" /><path
+             d="m 1440.59,177.168 0,-83.3985"
+             style="fill:none;stroke:#000000;stroke-opacity:1;stroke-width:5.21232;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
+             id="path450" /><g
+             id="g452"
+             transform="scale(10,10)"><text
+               transform="matrix(1,0,0,-1,143.798,18.3125)"
+               id="text454"><tspan
+                 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Maestro;font-variant:normal;font-weight:normal;font-size:14.3;writing-mode:lr;-inkscape-font-specification:Maestro"
+                 x="0"
+                 y="0"
+                 id="tspan456">˙</tspan></text>
+</g><path
+             d="m -216.574,819.035 c 58.078,31.274 229.3435,31.274 287.4217,0 l -0.7032,-1.312 c -57.375,23.648 -228.6405,23.648 -286.0155,0 l -0.703,1.312"
+             style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path458" /></g></g></g><path
+       sodipodi:type="arc"
+       style="fill:none;stroke:#c80000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="path3264"
+       sodipodi:cx="96.027542"
+       sodipodi:cy="28.416313"
+       sodipodi:rx="7.8389831"
+       sodipodi:ry="8.8188562"
+       d="m 103.86653,28.416313 a 7.8389831,8.8188562 0 1 1 -15.677971,0 7.8389831,8.8188562 0 1 1 15.677971,0 z"
+       transform="matrix(0.8,0,0,-0.8,1.9597458,92.108051)" /></g></svg>
\ No newline at end of file
diff --git a/Documentation/pictures/bwv861mm33-34.png b/Documentation/pictures/bwv861mm33-34.png
new file mode 100644 (file)
index 0000000..f1bffb4
Binary files /dev/null and b/Documentation/pictures/bwv861mm33-34.png differ
diff --git a/Documentation/pictures/lily14-sarabande-annotated-hires.png b/Documentation/pictures/lily14-sarabande-annotated-hires.png
new file mode 100644 (file)
index 0000000..8879ccf
Binary files /dev/null and b/Documentation/pictures/lily14-sarabande-annotated-hires.png differ
diff --git a/Documentation/pictures/lily14-sarabande-annotated.png b/Documentation/pictures/lily14-sarabande-annotated.png
new file mode 100644 (file)
index 0000000..ec33fc6
Binary files /dev/null and b/Documentation/pictures/lily14-sarabande-annotated.png differ
diff --git a/Documentation/pictures/lily14-sarabande-hires.png b/Documentation/pictures/lily14-sarabande-hires.png
new file mode 100644 (file)
index 0000000..755f9bc
Binary files /dev/null and b/Documentation/pictures/lily14-sarabande-hires.png differ
diff --git a/Documentation/pictures/pdf/bwv861mm28-29.pdf b/Documentation/pictures/pdf/bwv861mm28-29.pdf
new file mode 100644 (file)
index 0000000..1136ae2
Binary files /dev/null and b/Documentation/pictures/pdf/bwv861mm28-29.pdf differ
diff --git a/Documentation/pictures/pdf/bwv861mm33-34-annotate.pdf b/Documentation/pictures/pdf/bwv861mm33-34-annotate.pdf
new file mode 100644 (file)
index 0000000..50461e2
Binary files /dev/null and b/Documentation/pictures/pdf/bwv861mm33-34-annotate.pdf differ
diff --git a/Documentation/pictures/pdf/bwv861mm33-34.pdf b/Documentation/pictures/pdf/bwv861mm33-34.pdf
new file mode 100644 (file)
index 0000000..1911248
Binary files /dev/null and b/Documentation/pictures/pdf/bwv861mm33-34.pdf differ
diff --git a/Documentation/pictures/pdf/lily14-sarabande.pdf b/Documentation/pictures/pdf/lily14-sarabande.pdf
new file mode 100644 (file)
index 0000000..144584c
Binary files /dev/null and b/Documentation/pictures/pdf/lily14-sarabande.pdf differ
diff --git a/Documentation/pictures/ross-beam-scan.png b/Documentation/pictures/ross-beam-scan.png
deleted file mode 100644 (file)
index fe4e72e..0000000
Binary files a/Documentation/pictures/ross-beam-scan.png and /dev/null differ