]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.1.25.jcn1: jcn1
authorJan Nieuwenhuizen <janneke@gnu.org>
Wed, 27 Jan 1999 16:26:40 +0000 (17:26 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 27 Jan 1999 16:26:40 +0000 (17:26 +0100)
pl25.jcn1
- volta-spanner: junked dot_p_; not so handy after all: kerning??
- feta-nummer: added : ,-.14s4s
- volta/tuplet thickness
- bf: scs-paper
- bf: ".|", and bar-thicknesses

22 files changed:
NEWS
VERSION
lily/include/volta-spanner.hh
lily/lookup.cc
lily/repeat-engraver.cc
lily/volta-spanner.cc
ly/params.ly
mf/feta-nummer.mf
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly
ps/lily.ps
scm/lily.scm
tex/lily-ps-defs.tex

diff --git a/NEWS b/NEWS
index d182cc1488791ce844a6da72bbe5943136da2439..a15cb1731464d08649cc800154037b6f6efe61d4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+pl25.jcn1
+       - volta-spanner: junked dot_p_; not so handy after all: kerning??
+       - feta-nummer: added : ,-.14s4s 
+       - volta/tuplet thickness
+       - bf: scs-paper
+       - bf: ".|", and bar-thicknesses
 
 pl 23.ms2
        - property noteheadStyle
diff --git a/VERSION b/VERSION
index 29658f68d27f264919ba3b6070d94aba991c93b6..9bad00d0a5dd8aecd0da60145a66457e19d0bade 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
 PATCH_LEVEL=25
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index eca97a825215afeade9381e334e1c911873d858e..74f037edaa6cab5e5ed436552f827bb263e55631 100644 (file)
@@ -22,7 +22,6 @@ public:
   void add_column (Bar*);
  
   P<Text_def>  number_p_;
-  P<Text_def>  dot_p_;
   Link_array<Bar> column_arr_;
   Link_array<Note_column> note_column_arr_;
   bool last_b_;
index 7cc0d6b8a070ea45194e8b5468225c2e5504e035..b6daf8beaa672a16f14ba4acac9aa275f72c2a98 100644 (file)
@@ -149,8 +149,8 @@ Lookup::bar (String str, Real h) const
     }
   else if (str == ".|")
     {
-      m.add_at_edge (X_AXIS, RIGHT, thick, kern);
-      m.add_at_edge (X_AXIS, RIGHT, thin, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thick, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thin, kern);
     }
   else if (str == ":|")
     {
@@ -166,7 +166,7 @@ Lookup::bar (String str, Real h) const
     }
   else if (str == ":|:")
     {
-      m.add_at_edge (X_AXIS, LEFT, thick,kern/2);
+      m.add_at_edge (X_AXIS, LEFT, thick,thinkern);
       m.add_at_edge (X_AXIS, LEFT, colon,kern);      
       m.add_at_edge (X_AXIS, RIGHT, thick,kern);
       m.add_at_edge (X_AXIS, RIGHT, colon,kern);      
@@ -485,10 +485,18 @@ Atom
 Lookup::plet (Real dy , Real dx, Direction dir) const
 {
   Atom a;
+  SCM thick = ly_symbol ("tuplet_thick");
+  Real t = 0.1 PT;
+  if (paper_l_->scope_p_->elem_b (thick))
+    {
+      t = paper_l_->get_realvar (thick);
+    }
   a.lambda_ = gh_list(ly_symbol ("tuplet"),
                      gh_double2scm (dx),
                      gh_double2scm (dy),
-                     gh_int2scm (dir), SCM_UNDEFINED);
+                     gh_double2scm (t),
+                     gh_int2scm (dir),
+                     SCM_UNDEFINED);
   return a;
 }
 
@@ -534,8 +542,15 @@ Atom
 Lookup::volta (Real w, bool last_b) const
 {
   Atom a;
+  SCM thick = ly_symbol ("volta_thick");
+  Real t = 0.1 PT;
+  if (paper_l_->scope_p_->elem_b (thick))
+    {
+      t = paper_l_->get_realvar (thick);
+    }
   a.lambda_ = gh_list (ly_symbol ("volta"),
                       gh_double2scm (w),
+                      gh_double2scm (t),
                       gh_int2scm (last_b),
                       SCM_UNDEFINED);
 
index 51a657dad4a356d0567039373954e7f07aac9111..ab634c71da15e37d9e1f17629d6ccda180305a19 100644 (file)
@@ -127,7 +127,7 @@ Repeat_engraver::do_process_requests ()
       if (i == alternative_music_arr_.size () - 1)
         v->last_b_ = true;
       Text_def* t = new Text_def;
-      t->text_str_ = to_str (i - bees + 1);
+      t->text_str_ = to_str (i - bees + 1) + ".";
       v->number_p_.set_p (t);
       volta_p_arr_.push (v);
       announce_element (Score_element_info (v, alternative_music_arr_[i]));
index 0a376776ac7939d61dad0c94f09556590d12638d..4ce91373f29f9ad32ea91fd1dd52b5f18054a218 100644 (file)
@@ -29,8 +29,6 @@ Volta_spanner::Volta_spanner ()
   visible_b_ = true;
   number_p_.set_p (new Text_def);
   number_p_->align_dir_ = LEFT;
-  dot_p_.set_p (new Text_def);
-  dot_p_->align_dir_ = LEFT;
 }
 
 Molecule*
@@ -50,7 +48,6 @@ Volta_spanner::do_brew_molecule_p () const
   Atom volta (lookup_l ()->volta (w, last_b_));
   Real h = volta.dim_.y ().length ();
   Atom num (number_p_->get_atom (paper (), LEFT));
-  Atom dot (dot_p_->get_atom (paper (), LEFT));
   Real dy = column_arr_.top ()->extent (Y_AXIS) [UP] > 
      column_arr_[0]->extent (Y_AXIS) [UP];
   dy += 2 * h;
@@ -64,14 +61,10 @@ Volta_spanner::do_brew_molecule_p () const
 
   Real gap = num.dim_.x ().length () / 2;
   Offset off (num.dim_.x ().length () + gap, 
-    (h - num.dim_.y ().length ()) / internote_f - gap);
+             h / internote_f - gap);
   num.translate (off);
-  Real dotheight = dot.dim_.y ().length () / 7;
-  off -= Offset (0, dotheight);
-  dot.translate (off);
   mol_p->add_atom (volta);
   mol_p->add_atom (num);
-  mol_p->add_atom (dot);
   mol_p->translate (Offset (0, dy));
   return mol_p;
 }
@@ -86,8 +79,6 @@ Volta_spanner::do_add_processing ()
     }
 
   number_p_->style_str_ = "number-1";
-  dot_p_->text_str_ = ".";
-  dot_p_->style_str_ = "bold";
 }
   
 Interval
index 1989c2b2a2dd48b9691b49c6bd60f7339b3101f9..b94c31d875a993981174aaf070bdf67bf8ab0496 100644 (file)
@@ -90,6 +90,8 @@ notewidth = (\quartwidth + \wholewidth) / 2.0;
 % ugh
 barsize = \staffheight;
 rulethickness = \staffline;
+
+% stem should be thinner?
 stemthickness = \staffline;
 
 
@@ -103,11 +105,24 @@ castingalgorithm = \Gourlay;
 
 %{
 Ross. page 151
-%}
+
 bar_kern = 0.5 * \interline;
 bar_thinkern = 0.75 * \interline;
 barthick_thick = 0.5* \interline;
 barthick_thin = 0.1*\interline;
+Can't be, these are ugly!  Changed to old (TeX) values.
+
+% barline should be thicker!
+
+%}
+
+bar_kern = 3.0 * \staffline;
+bar_thinkern = 3.0 * \staffline;
+barthick_thick = 6.0* \staffline;
+barthick_thin = 1.6*\staffline;
+
+tuplet_thick = 1.0*\staffline;
+volta_thick = 1.6*\staffline;
 
 
 \include "engraver.ly";
index 66a4649ac17c7d86f3f43dcbb26422834c7758ea..2ca82d771d6d3e85e58fc397836af5c2027e1c09 100644 (file)
@@ -7,7 +7,6 @@
 % (c) 1997, 1998 Jan Nieuwenhuizen <janneke@gnu.org>
 
 fet_begingroup("nummer")
-code := 47;
 
 define_pixels(height,thick,thick,thin,hair,flare);
 define_pixels(foot_top,foot_width);
@@ -81,6 +80,48 @@ def draw_six =
                ..z4l{left}..tension t..z10l{up}..tension t..cycle;
        enddef;
 
+save dot_diam;
+dot_diam# = 7/8flare#;
+define_pixels(dot_diam);
+
+code := 43;
+
+% urg
+fet_beginchar("Numeral comma", ",", "comma")
+       set_char_box(0, dot_diam#, 3/2dot_diam#, dot_diam#);
+       pickup pencircle scaled dot_diam;
+       draw (dot_diam/2,dot_diam/2);
+       z0=(w/3,0);
+       alpha=65;
+        penpos1(thin,alpha+90);
+        z1l=(w/2,-1.5h+hair);
+       z2=(w,h/2);
+       pickup pencircle;
+       filldraw z1l{dir(alpha)}..{up}z2..{z0-z2}z0{right}..{dir(180+alpha)}z1r..cycle;
+       labels(0,1,2);
+       penlabels(1);
+fet_endchar;
+
+fet_beginchar("Numeral dash", "-", "dash")
+       set_char_box(0, height#/3, 0, height#);
+       pickup pencircle scaled thin;
+       lft x1 = -b;
+       rt x2 = w;
+       y1 = y2 = h/3;
+       draw z1 .. z2;
+fet_endchar;
+
+fet_beginchar("Numeral dot", ".", "dot")
+       set_char_box(0, dot_diam#, 0, dot_diam#);
+       pickup pencircle scaled dot_diam;
+       draw (dot_diam/2,dot_diam/2);
+fet_endchar;
+
+
+% skip slash
+
+code := 47;
+
 fet_beginchar("Numeral 0", "0", "zero")
 %      set_char_box(0, 4/5height#*widen, 0, height#);
        set_char_box(0, 11/15height#*widen, 0, height#);
index 5206232e4d109cf6df030740fd44e1b1730cc6b4..40ba14ccd477549dd10ead177e2914c709be28aa 100644 (file)
@@ -49,30 +49,10 @@ allemande_cello_staff = \type Staff <
 >
 
 \score{
-%{
-       urg, this breaks auto-beam-engraver?
-       really hairy bug: 1.1.23
-       extra bars get encountered!!
-       \paper{
-               \include "scs-paper.ly";
-               gourlay_maxmeasures = 4.0;
-       }
-%}
        \$allemande_cello_staff
-       % \paper{ \include "scs-paper.ly"; }
        \paper{
-
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 3.0;
        }
        \midi{ \tempo 4 = 45; }
        \header{ piece = "Allemande"; }
index f308a206129ba4f3970bf4ac99857346341ee365..f7474f22d77d186d1f2d91cbed127e2b1c827be9 100644 (file)
@@ -50,18 +50,9 @@ allemande_viola_staff = \type Staff <
 
 \score{
        \$allemande_viola_staff
-%      \include "scs-paper.ly";
        \paper{
-               linewidth = 180.\mm;
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 3.0;
        }
        \midi{ \tempo 4 = 45; }
        \header{ piece = "Allemande"; }
index 94c9a8d0fab4f2eb03dbb247b2e1f3f10d6f84ab..9b29acde14ddb89250979c2f2c3ae064278e1aaf 100644 (file)
@@ -51,19 +51,9 @@ courante_cello_staff = \type Staff <
 
 \score{
        \$courante_cello_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 4.0;
        }
        \midi{ \tempo 4 = 55; }
        \header{ piece = "Courante"; }
index b21bcca92acb29395b0c1d8800cff1082a5fccb4..ee0f6c4f9e93dfd08d4aa7995431d64231580226 100644 (file)
@@ -51,19 +51,9 @@ courante_viola_staff = \type Staff <
 
 \score{
        \$courante_viola_staff
-       %\paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 4.0;
        }
        \midi{ \tempo 4 = 55; }
        \header{ piece = "Courante"; }
index 8a1feb0b6425efdfe02215830406bc41bfb0288f..32c983c8d28652b4661decff070dfffeb22840b5 100644 (file)
@@ -49,15 +49,11 @@ gigue_cello_staff = \type Staff <
 
 \score{
        \$gigue_cello_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                        beamAutoEnd16 = "3/4";
                }
index b52a1c798f88175cdcaed1f7b91fe5ae6f2be304..fbb79b2a0c49897d8fe9d31d3357754523abeae8 100644 (file)
@@ -49,15 +49,11 @@ gigue_viola_staff = \type Staff <
 
 \score{
        \$gigue_viola_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                        beamAutoEnd16 = "3/4";
                }
index 78e1b68390e3120885e61d7de743be14ba8fd937..8595daaadea44ec9b73968d7328f28d2503152d6 100644 (file)
@@ -63,15 +63,11 @@ menuetto_i_cello_staff = \type Staff <
 
 \score{
        \$menuetto_i_cello_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                }
        }
@@ -102,15 +98,11 @@ menuetto_ii_cello_staff = \type Staff <
 
 \score{
        \$menuetto_ii_cello_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                }
        }
index 36bd3e082c385af262f63b625619d6d58a96624c..90267514e0887497af43de8f7d1b2c9e1d3fd7aa 100644 (file)
@@ -63,13 +63,10 @@ menuetto_i_viola_staff = \type Staff <
 \score{
        \$menuetto_i_viola_staff
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                }
        }
@@ -100,13 +97,10 @@ menuetto_ii_viola_staff = \type Staff <
 \score{
        \$menuetto_ii_viola_staff
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
                \translator{
                        \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
                        beamAutoEnd8 = "3/4";
                }
        }
index 226be714c7dd7ed056ca2bccc5ffec6eaae2b468..9abe3b887eb68108aac5d161afa25dd47b903e69 100644 (file)
@@ -41,19 +41,9 @@ sarabande_cello_staff = \type Staff <
 
 \score{
        \$sarabande_cello_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 5.0;
        }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Sarabande"; }
index 7d2004711aa85f97938ccccf101240b491e4f2f1..9c1cea87a657c73927d435409ca28496220b005b 100644 (file)
@@ -41,19 +41,9 @@ sarabande_viola_staff = \type Staff <
 
 \score{
        \$sarabande_viola_staff
-       % \paper { \include "scs-paper.ly"; }
        \paper{
-               linewidth = 180.\mm;
-               \translator { \BarNumberingStaffContext }
-               \translator{
-                       \VoiceContext
-                       % add experimental auto-beaming
-                       \consists Auto_beam_engraver;
-                       beamAuto = 1.;
-                       beamAutoEnd8 = "1/4";
-                       beamAutoEnd16 = "1/4";
-                       beamAutoEnd32 = "1/4";
-               }
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 5.0;
        }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Sarabande"; }
index 926571ac475c89eaae201d8494bda2dc1f5f136a..3c909d4daf754f0f6f2023c0160ac3b241b89e5e 100644 (file)
@@ -2,7 +2,7 @@ linewidth = 180.\mm;
 gourlay_maxmeasures = 10.0;
 \translator { \BarNumberingStaffContext }
 \translator {
-       \StaffContext
+       \VoiceContext
        \consists Auto_beam_engraver;
        beamAuto = 1.0;
        beamAutoEnd8 = "1/4";
index 88477154c795641d97d1c0ce78d985fb3ff95931..90735771b948c9c10f8baa98a6bc7b61b1397e8b 100644 (file)
        1 copy mul exch 1 copy mul add sqrt
 } bind def
 
-/draw_tuplet
+/draw_tuplet % dx dy thick dir
 {
-       tuplet_t setlinewidth
 % urg: the only Level-2 PS, check effect in print
 %      true setstrokeadjust
+       /dir exch def
+       setlinewidth
        1 setlinecap
        1 setlinejoin
-       /dir exch def
        /tuplet_dy exch def
        /tuplet_dx exch def
        staffheight 2 div /tuplet_gapx exch def
        stroke
 } bind def
 
-/draw_volta % w last
+/draw_volta % w thick last
 {
        /last exch def
+       setlinewidth
        /volta_w exch def
        staffheight 2 div /volta_h exch def
-       volta_t setlinewidth
 % urg: the only Level-2 PS, check effect in print
 %      true setstrokeadjust
        1 setlinecap
index 7b8db27f8bfa552d36d9366bed71d025082c0af8..c215e827ad32b5840e7dcd039ac302ca687a99c4 100644 (file)
   (define (text f s)
     (string-append "\\set" f "{" (output-tex-string s) "}"))
   
-  (define (tuplet dx dy dir)
-    (embedded-ps ((ps-scm 'tuplet) dx dy dir)))
+  (define (tuplet dx dy thick dir)
+    (embedded-ps ((ps-scm 'tuplet) dx dy thick dir)))
 
-  (define (volta w last)
-    (embedded-ps ((ps-scm 'volta)  w last)))
+  (define (volta w thick last)
+    (embedded-ps ((ps-scm 'volta) w thick last)))
 
   (define (maatstreep h)
     (string-append "\\maatstreep{" (number->dim h) "}"))
     (string-append "(" s ") set" f " "))
 
 
-  (define (volta w last)
+  (define (volta w thick last)
     (string-append 
-     (numbers->string (list w (inexact->exact last)))
+     (numbers->string (list w thick (inexact->exact last)))
      "draw_volta"))
-  (define   (tuplet dx dy dir)
+
+  (define (tuplet dx dy thick dir)
     (string-append 
-     (numbers->string (list dx dy (inexact->exact dir)))
+     (numbers->string (list dx dy thick (inexact->exact dir)))
      "draw_tuplet"))
 
 
index 9f60b99b262e4a30b6065f434f7100a343e70dae..57a8108ffe4db20430f2df55cccbcb257f12acad 100644 (file)
@@ -82,8 +82,6 @@ interline 1.5 mul /bracket_v exch def
 bracket_v /bracket_u exch def
 50 /bracket_alpha exch def
 staffheight 4 div /interline exch def
-stafflinethickness 1.2 mul /tuplet_t exch def
-stafflinethickness 2.5 mul /volta_t exch def
 1 setlinecap}
 }