From 34e3bd52aa4ca0ba0586736dde299070848c5a42 Mon Sep 17 00:00:00 2001 From: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:04:36 +0800 Subject: [PATCH] Inline equations linebreak at appropriate places (#2938) Co-authored-by: David Maxwell Co-authored-by: Laurenz --- crates/typst/src/layout/inline/mod.rs | 49 +++++--- crates/typst/src/math/ctx.rs | 5 + crates/typst/src/math/equation.rs | 175 +++++++++++++++++--------- crates/typst/src/math/row.rs | 96 +++++++++++++- tests/ref/math/delimited.png | Bin 29020 -> 29090 bytes tests/ref/math/linebreak.png | Bin 0 -> 7385 bytes tests/ref/text/linebreak-obj.png | Bin 45919 -> 46208 bytes tests/typ/math/delimited.typ | 1 + tests/typ/math/linebreak.typ | 50 ++++++++ tests/typ/math/spacing.typ | 2 +- 10 files changed, 298 insertions(+), 80 deletions(-) create mode 100644 tests/ref/math/linebreak.png create mode 100644 tests/typ/math/linebreak.typ diff --git a/crates/typst/src/layout/inline/mod.rs b/crates/typst/src/layout/inline/mod.rs index 39af8ef18..20e6dcbc6 100644 --- a/crates/typst/src/layout/inline/mod.rs +++ b/crates/typst/src/layout/inline/mod.rs @@ -19,7 +19,7 @@ use crate::layout::{ Abs, AlignElem, Axes, BoxElem, Dir, Em, FixedAlign, Fr, Fragment, Frame, HElem, Layout, Point, Regions, Size, Sizing, Spacing, }; -use crate::math::EquationElem; +use crate::math::{EquationElem, MathParItem}; use crate::model::{Linebreaks, ParElem}; use crate::syntax::Span; use crate::text::{ @@ -61,7 +61,8 @@ pub(crate) fn layout_inline( }; // Collect all text into one string for BiDi analysis. - let (text, segments, spans) = collect(children, &styles, consecutive)?; + let (text, segments, spans) = + collect(children, &mut engine, &styles, region, consecutive)?; // Perform BiDi analysis and then prepare paragraph layout by building a // representation on which we can do line breaking without layouting @@ -180,7 +181,7 @@ impl<'a> Preparation<'a> { } /// A segment of one or multiple collapsed children. -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Clone)] enum Segment<'a> { /// One or multiple collapsed text or text-equivalent children. Stores how /// long the segment is (in bytes of the full text string). @@ -188,7 +189,7 @@ enum Segment<'a> { /// Horizontal spacing between other segments. Spacing(Spacing), /// A mathematical equation. - Equation(&'a EquationElem), + Equation(&'a EquationElem, Vec), /// A box with arbitrary content. Box(&'a BoxElem, bool), /// Metadata. @@ -201,8 +202,12 @@ impl Segment<'_> { match *self { Self::Text(len) => len, Self::Spacing(_) => SPACING_REPLACE.len_utf8(), - Self::Box(_, true) => SPACING_REPLACE.len_utf8(), - Self::Equation(_) | Self::Box(_, _) => OBJ_REPLACE.len_utf8(), + Self::Box(_, frac) => { + (if frac { SPACING_REPLACE } else { OBJ_REPLACE }).len_utf8() + } + Self::Equation(_, ref par_items) => { + par_items.iter().map(MathParItem::text).map(char::len_utf8).sum() + } Self::Meta => 0, } } @@ -395,12 +400,14 @@ impl<'a> Line<'a> { } } -/// Collect all text of the paragraph into one string. This also performs -/// string-level preprocessing like case transformations. +/// Collect all text of the paragraph into one string and layout equations. This +/// also performs string-level preprocessing like case transformations. #[allow(clippy::type_complexity)] fn collect<'a>( children: &'a [Prehashed], + engine: &mut Engine<'_>, styles: &'a StyleChain<'a>, + region: Size, consecutive: bool, ) -> SourceResult<(String, Vec<(Segment<'a>, StyleChain<'a>)>, SpanMapper)> { let mut full = String::new(); @@ -493,8 +500,10 @@ fn collect<'a>( } Segment::Text(full.len() - prev) } else if let Some(elem) = child.to::() { - full.push(OBJ_REPLACE); - Segment::Equation(elem) + let pod = Regions::one(region, Axes::splat(false)); + let items = elem.layout_inline(engine, styles, pod)?; + full.extend(items.iter().map(MathParItem::text)); + Segment::Equation(elem, items) } else if let Some(elem) = child.to::() { let frac = elem.width(styles).is_fractional(); full.push(if frac { SPACING_REPLACE } else { OBJ_REPLACE }); @@ -512,7 +521,7 @@ fn collect<'a>( spans.push(segment.len(), child.span()); if let (Some((Segment::Text(last_len), last_styles)), Segment::Text(len)) = - (segments.last_mut(), segment) + (segments.last_mut(), &segment) { if *last_styles == styles { *last_len += len; @@ -526,8 +535,7 @@ fn collect<'a>( Ok((full, segments, spans)) } -/// Prepare paragraph layout by shaping the whole paragraph and layouting all -/// contained inline-level content. +/// Prepare paragraph layout by shaping the whole paragraph. fn prepare<'a>( engine: &mut Engine, children: &'a [Prehashed], @@ -566,11 +574,16 @@ fn prepare<'a>( items.push(Item::Fractional(v, None)); } }, - Segment::Equation(equation) => { - let pod = Regions::one(region, Axes::splat(false)); - let mut frame = equation.layout(engine, styles, pod)?.into_frame(); - frame.translate(Point::with_y(TextElem::baseline_in(styles))); - items.push(Item::Frame(frame)); + Segment::Equation(_, par_items) => { + for item in par_items { + match item { + MathParItem::Space(s) => items.push(Item::Absolute(s)), + MathParItem::Frame(mut frame) => { + frame.translate(Point::with_y(TextElem::baseline_in(styles))); + items.push(Item::Frame(frame)); + } + } + } } Segment::Box(elem, _) => { if let Sizing::Fr(v) = elem.width(styles) { diff --git a/crates/typst/src/math/ctx.rs b/crates/typst/src/math/ctx.rs index 9352f08b1..73cb87071 100644 --- a/crates/typst/src/math/ctx.rs +++ b/crates/typst/src/math/ctx.rs @@ -140,6 +140,11 @@ impl<'a, 'b, 'v> MathContext<'a, 'b, 'v> { self.fragments.extend(fragments); } + pub fn layout_root(&mut self, elem: &dyn LayoutMath) -> SourceResult { + let row = self.layout_fragments(elem)?; + Ok(MathRow::new(row)) + } + pub fn layout_fragment( &mut self, elem: &dyn LayoutMath, diff --git a/crates/typst/src/math/equation.rs b/crates/typst/src/math/equation.rs index dee7fef34..04e408040 100644 --- a/crates/typst/src/math/equation.rs +++ b/crates/typst/src/math/equation.rs @@ -8,13 +8,14 @@ use crate::foundations::{ }; use crate::introspection::{Count, Counter, CounterUpdate, Locatable}; use crate::layout::{ - Abs, Align, AlignElem, Axes, Dir, Em, FixedAlign, Fragment, Layout, Point, Regions, - Size, + Abs, Align, AlignElem, Axes, Dir, Em, FixedAlign, Fragment, Frame, Layout, Point, + Regions, Size, }; use crate::math::{LayoutMath, MathContext}; use crate::model::{Numbering, Outlinable, ParElem, Refable, Supplement}; +use crate::syntax::Span; use crate::text::{ - families, variant, FontFamily, FontList, FontWeight, Lang, LocalName, Region, + families, variant, Font, FontFamily, FontList, FontWeight, Lang, LocalName, Region, TextElem, }; use crate::util::{option_eq, NonZeroExt, Numeric}; @@ -136,70 +137,47 @@ impl Finalize for EquationElem { } } -impl Layout for EquationElem { - #[typst_macros::time(name = "math.equation", span = self.span())] - fn layout( +/// Layouted items suitable for placing in a paragraph. +#[derive(Debug, Clone)] +pub enum MathParItem { + Space(Abs), + Frame(Frame), +} + +impl MathParItem { + /// The text representation of this item. + pub fn text(&self) -> char { + match self { + MathParItem::Space(_) => ' ', // Space + MathParItem::Frame(_) => '\u{FFFC}', // Object Replacement Character + } + } +} + +impl EquationElem { + pub fn layout_inline( &self, - engine: &mut Engine, + engine: &mut Engine<'_>, styles: StyleChain, regions: Regions, - ) -> SourceResult { - const NUMBER_GUTTER: Em = Em::new(0.5); - - let block = self.block(styles); + ) -> SourceResult> { + assert!(!self.block(styles)); // Find a math font. - let variant = variant(styles); - let world = engine.world; - let Some(font) = families(styles).find_map(|family| { - let id = world.book().select(family, variant)?; - let font = world.font(id)?; - let _ = font.ttf().tables().math?.constants?; - Some(font) - }) else { - bail!(self.span(), "current font does not support math"); + let font = find_math_font(engine, styles, self.span())?; + + let mut ctx = MathContext::new(engine, styles, regions, &font, false); + let rows = ctx.layout_root(self)?; + + let mut items = if rows.row_count() == 1 { + rows.into_par_items() + } else { + vec![MathParItem::Frame(rows.into_fragment(&ctx).into_frame())] }; - let mut ctx = MathContext::new(engine, styles, regions, &font, block); - let mut frame = ctx.layout_frame(self)?; + for item in &mut items { + let MathParItem::Frame(frame) = item else { continue }; - if block { - if let Some(numbering) = self.numbering(styles) { - let pod = Regions::one(regions.base(), Axes::splat(false)); - let counter = Counter::of(Self::elem()) - .display(self.span(), Some(numbering), false) - .layout(engine, styles, pod)? - .into_frame(); - - let full_counter_width = counter.width() + NUMBER_GUTTER.resolve(styles); - let width = if regions.size.x.is_finite() { - regions.size.x - } else { - frame.width() + 2.0 * full_counter_width - }; - - let height = frame.height().max(counter.height()); - let align = AlignElem::alignment_in(styles).resolve(styles).x; - frame.resize(Size::new(width, height), Axes::splat(align)); - - let dir = TextElem::dir_in(styles); - let offset = match (align, dir) { - (FixedAlign::Start, Dir::RTL) => full_counter_width, - (FixedAlign::End, Dir::LTR) => -full_counter_width, - _ => Abs::zero(), - }; - frame.translate(Point::with_x(offset)); - - let x = if dir.is_positive() { - frame.width() - counter.width() - } else { - Abs::zero() - }; - let y = (frame.height() - counter.height()) / 2.0; - - frame.push_frame(Point::new(x, y), counter) - } - } else { let font_size = TextElem::size_in(styles); let slack = ParElem::leading_in(styles) * 0.7; let top_edge = TextElem::top_edge_in(styles).resolve(font_size, &font, None); @@ -210,6 +188,67 @@ impl Layout for EquationElem { let descent = bottom_edge.max(frame.descent() - slack); frame.translate(Point::with_y(ascent - frame.baseline())); frame.size_mut().y = ascent + descent; + + // Apply metadata. + frame.meta(styles, false); + } + + Ok(items) + } +} + +impl Layout for EquationElem { + #[typst_macros::time(name = "math.equation", span = self.span())] + fn layout( + &self, + engine: &mut Engine, + styles: StyleChain, + regions: Regions, + ) -> SourceResult { + const NUMBER_GUTTER: Em = Em::new(0.5); + + assert!(self.block(styles)); + + // Find a math font. + let font = find_math_font(engine, styles, self.span())?; + + let mut ctx = MathContext::new(engine, styles, regions, &font, true); + let mut frame = ctx.layout_frame(self)?; + + if let Some(numbering) = self.numbering(styles) { + let pod = Regions::one(regions.base(), Axes::splat(false)); + let counter = Counter::of(Self::elem()) + .display(self.span(), Some(numbering), false) + .layout(engine, styles, pod)? + .into_frame(); + + let full_counter_width = counter.width() + NUMBER_GUTTER.resolve(styles); + let width = if regions.size.x.is_finite() { + regions.size.x + } else { + frame.width() + 2.0 * full_counter_width + }; + + let height = frame.height().max(counter.height()); + let align = AlignElem::alignment_in(styles).resolve(styles).x; + frame.resize(Size::new(width, height), Axes::splat(align)); + + let dir = TextElem::dir_in(styles); + let offset = match (align, dir) { + (FixedAlign::Start, Dir::RTL) => full_counter_width, + (FixedAlign::End, Dir::LTR) => -full_counter_width, + _ => Abs::zero(), + }; + frame.translate(Point::with_x(offset)); + + let x = if dir.is_positive() { + frame.width() - counter.width() + } else { + Abs::zero() + }; + let y = (frame.height() - counter.height()) / 2.0; + + frame.push_frame(Point::new(x, y), counter) } // Apply metadata. @@ -316,3 +355,21 @@ impl LayoutMath for EquationElem { self.body().layout_math(ctx) } } + +fn find_math_font( + engine: &mut Engine<'_>, + styles: StyleChain, + span: Span, +) -> SourceResult { + let variant = variant(styles); + let world = engine.world; + let Some(font) = families(styles).find_map(|family| { + let id = world.book().select(family, variant)?; + let font = world.font(id)?; + let _ = font.ttf().tables().math?.constants?; + Some(font) + }) else { + bail!(span, "current font does not support math"); + }; + Ok(font) +} diff --git a/crates/typst/src/math/row.rs b/crates/typst/src/math/row.rs index cd75e7c32..48b339342 100644 --- a/crates/typst/src/math/row.rs +++ b/crates/typst/src/math/row.rs @@ -3,10 +3,10 @@ use std::iter::once; use unicode_math_class::MathClass; use crate::foundations::Resolve; -use crate::layout::{Abs, AlignElem, Em, FixedAlign, Frame, Point, Size}; +use crate::layout::{Abs, AlignElem, Em, FixedAlign, Frame, FrameKind, Point, Size}; use crate::math::{ alignments, spacing, AlignmentResult, FrameFragment, MathContext, MathFragment, - MathSize, Scaled, + MathParItem, MathSize, Scaled, }; use crate::model::ParElem; @@ -103,6 +103,19 @@ impl MathRow { .collect() } + pub fn row_count(&self) -> usize { + let mut count = + 1 + self.0.iter().filter(|f| matches!(f, MathFragment::Linebreak)).count(); + + // A linebreak at the very end does not introduce an extra row. + if let Some(f) = self.0.last() { + if matches!(f, MathFragment::Linebreak) { + count -= 1 + } + } + count + } + pub fn ascent(&self) -> Abs { self.iter().map(MathFragment::ascent).max().unwrap_or_default() } @@ -239,6 +252,85 @@ impl MathRow { frame.size_mut().x = x; frame } + + pub fn into_par_items(self) -> Vec { + let mut items = vec![]; + + let mut x = Abs::zero(); + let mut ascent = Abs::zero(); + let mut descent = Abs::zero(); + let mut frame = Frame::new(Size::zero(), FrameKind::Soft); + + let finalize_frame = |frame: &mut Frame, x, ascent, descent| { + frame.set_size(Size::new(x, ascent + descent)); + frame.set_baseline(Abs::zero()); + frame.translate(Point::with_y(ascent)); + }; + + let mut space_is_visible = false; + + let is_relation = + |f: &MathFragment| matches!(f.class(), Some(MathClass::Relation)); + let is_space = |f: &MathFragment| { + matches!(f, MathFragment::Space(_) | MathFragment::Spacing(_)) + }; + + let mut iter = self.0.into_iter().peekable(); + while let Some(fragment) = iter.next() { + if space_is_visible { + match fragment { + MathFragment::Space(s) | MathFragment::Spacing(s) => { + items.push(MathParItem::Space(s)); + continue; + } + _ => {} + } + } + + let class = fragment.class(); + let y = fragment.ascent(); + + ascent.set_max(y); + descent.set_max(fragment.descent()); + + let pos = Point::new(x, -y); + x += fragment.width(); + frame.push_frame(pos, fragment.into_frame()); + + if class == Some(MathClass::Binary) + || (class == Some(MathClass::Relation) + && !iter.peek().map(is_relation).unwrap_or_default()) + { + let mut frame_prev = std::mem::replace( + &mut frame, + Frame::new(Size::zero(), FrameKind::Soft), + ); + + finalize_frame(&mut frame_prev, x, ascent, descent); + items.push(MathParItem::Frame(frame_prev)); + + x = Abs::zero(); + ascent = Abs::zero(); + descent = Abs::zero(); + + space_is_visible = true; + if let Some(f_next) = iter.peek() { + if !is_space(f_next) { + items.push(MathParItem::Space(Abs::zero())); + } + } + } else { + space_is_visible = false; + } + } + + if !frame.is_empty() { + finalize_frame(&mut frame, x, ascent, descent); + items.push(MathParItem::Frame(frame)); + } + + items + } } impl> From for MathRow { diff --git a/tests/ref/math/delimited.png b/tests/ref/math/delimited.png index 727f2d13a287e7ee61222c0a697885e89989fbd5..5c827c48c3df4500e244492c69d39e051db7489b 100644 GIT binary patch literal 29090 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 VZOp;HXZ|q(20A9%Rhll5{|lQyy?y`y literal 29020 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

;!o#K;a=Cae~iUTB7xjv+B`4r7su^ zypx^CA9up`&d+BbB8UQt;KE?WK7D?!$PYjtR=ot+eMzQ28VIbvf9AkuAxsgq^YiCD z18EtVV2)1UIqji1mf-dc3hJl5t_)o6Jt7Gt_V6%WswA zy>H*!xFSs@E`-spO-CQ?Csv|h&uwgM0KgA0`D!AjUvv_$Ib<;*oor#up) zJai&AGY)-h0M034^Yrv<)T68Dcu}V_2+jWDw@)94p^IgeX$C_ZChDcIXb9f zwEjyM4S06+rv1F9BVo9Z5M_O611O&YnB600p8dOjqE=mV9!C$sA-heGJvzkEc} zC>iuWs^US>arKuh)A3-BRvNK7@fDlE&~sce&3&&5Z6mQP?q8-$&jjDTeOsT_KAq5I zUdCre^D-||qw9JaMym<9YdOAv4wk~1(7S34I;G!`7)X(eFr>x}CBagkZ@9R+im+zD zmJD#eZI&~65nNGaLk^#1~jjyXIZ#i zXruo53*ktmR#Qm?<1p#XLejarso_ahnF(4VYPWM#1yp93!|QqTZ;fgpP69mCiw z9E|w~06V$5Z@02l!XlQ3yu-(MQQ@hpSOnMUCFR&9JYNTIJRH6Ov2o}6SQhb=G9ni1 zumg#~%AVYf9;#WHA3hwG+#32z+7lNf@yRswf%$#&-{#|wje+=$f2fpHSt%@`CWmm) zp3KwZ6MWZ^cjwC(mIgH5&l4toy(G{0p*BP|csnV$wM1w4Z4=lmn`Zom10lE>c-;*L zHQz_RklZ1$FZxSbKfnMf9hOc15z1?lDM{Zz2VwXDW{=>Mj5;jRcl8ezO622P(&*P$ z`D)kq5&_@rrCiMlFm-3=={xBAp8%VCkgkQqCb%uhM=8UV0)D915h&^KJ(7`lR_fFh z_S~TgE?PDdN;K53dz{5>+gwE>E4nj0(1~yrht67PUblUcjhfg)$XY;J&fmhphnd|6 zO5T-BJU*Ka0fB+Bzn8Ylz(r4)(9=Wq)0qRc>rdg58~R!aJ)GA?$d|w5U8m zPBh@Q|Elbh8$Sv;y)ztlLGSv8)1}_(KGp+7ce=~iG&~ftnG(>o~oRd1^67)fj z8z)_?d8tvZ5~i$_vn$M6kHk)jBW-KPk5shaR<|Qc;#jO`pS1jXU=uD|K9=|nH*xgp zau2v_^;sW&7$H3B64tC7x-mCc^UVW=EpofWssr2eAg|iIq+Hb^(c(uBu{MUYI3~$87VvD`y8$a0%`q&e@1)Iyj|LX33it&YB$2ULKE&pxr~g~GNl==Ox+#q@RN@X zzmmGtLB*x#GRU1VSq%T`w$$cyl-M8N+}1;ja>+)dF~04I#KnZ~J=wY}46P$`))Z=X zrDl%_(PF@ZezMu)=fo;ksSO!%)WkTsbod0FPx`0$uaJ;v~>8y+3_z=S9g{&$8v zJO6g&C|}w!u4|(;h3-q`=Mu#htuui8v?Uz?MUswkQ z1T5;tEHmvw6WP)sLQ;rRl9P=y$GmSb!P8nGmXE;rC>1lw=OWz^YqXc$A{0k}U zmJ5#qNZI6mF2pHCH%`sY&YD%KpZzW`$zpKhmvWW+73hGymK?`XB>88<+BhuZDumRQ z@qGQKN_=g6_zvlV@^M{|VJnA|Lk6Gx$akkZhYcOc4$(&nP~csh;hT#Ng>eIeUxQzL zi0sr@w~fg$jWbV5Oay;rOe*%7GyeHyF(?Pj=RwZhwxQxN#*WLp!4m0`CX2lPUeDZN zOL3<_8BqapM|Xv~Bu@I_JvretKZQStv9Cg?7zb?fQ{IoUu~+FKqviCEeMW-}zxnYA z>%}{Nw$p|c!Qh-_a55(QXIB^*)Ck!LEc>WxYaIvLZUQ+<16D`bAJ2JIXU-j_hw|*- z%MLMiPsT+!t&fp=A|(4IL`jZDn36M89ccgmzL$Hjs^pwewEyivo%n)iai7)MD8{t- QUj^WXhJkvODmLPO0dgR`g8%>k diff --git a/tests/ref/math/linebreak.png b/tests/ref/math/linebreak.png new file mode 100644 index 0000000000000000000000000000000000000000..f3212a4a10abf4cc90afa679f2a8a574f4f80b54 GIT binary patch literal 7385 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 literal 0 HcmV?d00001 diff --git a/tests/ref/text/linebreak-obj.png b/tests/ref/text/linebreak-obj.png index 3c21377c4a2b09dfcf65cded1bc6d4aae8d4aa41..b13ced1af3a4133cb4e473609e798dfcc245593e 100644 GIT binary patch delta 18675 zcmb@ucQjm4`!>uNjG7spC}Z>zL<^z}Mz29ciy(*=5k&MEy+>~m(OVMHB7*4AJ4q1H zg6PqE$-DDBzrWt~wRf%W{4t9&XYF&&KKtDFbzj$Y&)jbaZVi$^Pw4}L;Nju5TYo6W z!~39C#TD*^?f#q)`joj_SZ{$gk{+3Nw~RACB_V+1C0AnUXS`Y^<$7VXT0V8ym-~6_ zcX(CumA{0ka)=)HyLyQ#ve!5Mypf~FPG05wuvzT(KIdQjWbDQ()^vlt@5ftIi_B?a z+pFI$l47s-o0z92Ie07=U*AyV)RPJeHvei zobN0x*$O>wJ}0(kGzc_*E8HSGoG0CayxW&E;#&8_)%8vDJLiFdTRD%?sJNL29iK{v zti~C=VG=!-D2U!vQEF94ppL7pm8c+4+IhCMwY8kWdF}blCK_1VJ)>(2L+A7r1j)Bu z*coteJSDsfyE*Wz{%3PaV|aLnKRL+dW^%j>0=x4dY~F8fVPRow>+wffS=pt1w)=-& z-oCzl>8HIe3i9&r^Ig= zpWeKV^&r((={Pw#nVK>^EGWe^U90dghGJFEYU@(M1-{$7#+icG3 z9_ly;{vHy8{1L8z$s0rms49Ey4mMJSHO2`G+a2VW<) zh~zAt$E}|43Rx_jddD0)CHnvU*0gf_`3c<$cKGkB_;{y>T3T8U9z3XBJ~%iyJUpzc z?X;=dyH_~AW+BAWT}v5-Q6ewQ!sO|rlZ>uN-d#GOc+>m2lO3I$oV>ig+f?z6q1&*> z+`%O!JhOj~kDoi{F-H=5%d%SYrD_@xi)O}>i|vKY%*@o*)~>BN9(WZIxz_o)yH{6L zA)y(R#3i&Q6u$FATn49K=b_&(3`B z-Mjbv`K{Z^0>Ad;(8G*0+D!Uetv$}85vFQ-!Jlg z^A$$(l>jlql^k`*iDHPuH`7;gO(!s()o~Mb4$)|<}s>O(ih@+z;bxwn_ zpz*b(@WsW&^YT@;*ts9gu>X0@!FRw0RrI5FDp^*AAcL1vCvtO94}1Kv(0!b4@Km7`-> zeSPLE`=XnatfZuB%AUowYuEa%JfxUy-Wil7Q1#kUvCXQ!{igYO?eI)t9pd__sp-ZI z=p$w2j_=>oGJd#7GDADn2L=b*=&|3b&KBvvh||R=a)rK+)i$kg0T+ZXuWiBF-&NCX3kdzd5kgH(p*|;IVZtJ}n9;&2^2! zS>V>^ySj)fR$E*3yoT;e)FMecRv42|3H+~6d`b-o=)NTiDiy)nN`u=sXoO+%!Eq;e zHhIA(Fgh<(zEz%NzB~?lD9=Vt9`YI{{R-`N)dJgG9`Z7O_vE{s{pIZTF#}IBN#I>U zI+D-(r=OcncXxN!*ZHOLl9Ap%J_`aC@B?4DbH11xX||$_Qv5We3~P27S~l>QYZlqL zt&{!BqDKpECoJ~~nqRa-XYlhGg3vO0aAf;46a6wHiT1ulfHx$W+Fi58Z@&$^j@));Q^FUej~sET z^`-!$-h%6AcE|9}R7^NKzcYTzuqI6OLOU#8rp1{v@`M~Z}^N%?M_aFr`HG(3S-^DYq{}4?N(wzwLDt2+A+VKOR%QFLn6b z(qh-{dUW!U^qY9U#II_D=w*w`X@Gp|W6HIjY=|1l(}@L>;+6ZDY~72_DM z(|bq|C;WozLJ~PLj~9gAqlbnbd}eP#`@BOVeMlirCoa%m6w+j^lw6b&y-x@sy|>|R z@-5?Qm1?+Z1rD54zCa5tjB`*h1q#tXCj93k`8=5p`=5W-B0^eUklPF1dWezToeu=*$fvDdFc2RuKZFD=Az+pd9x!sb3QM;Ri)9ib*{ETh@o2ZF zPuskOyOO6!AQs?V?dyg@dO6@Cx*SY#KSpI}U<`+y2Z5*m#+{aMkj#=zo-*IN8HC2} z(Ll8~{d|4%O+HO;E&Usx57xK52eONcWO4`zG^qq>#eX_DNHLCCy8oYVRSOXNE%)B0 zW{YzFJ9P`X)iuAau5Qr&;SDx6wts`39Y!>H5Nk-pF7B8H7dxy%Bvc4h;9m{2B)(I9 zg%ct$w|JR?SCzE1#A&e5<#+kss?stf4X}J9Oo)~K>6qe9uvF>%ypM=CLS|Z;Vtt#j zeS3K2ImzsbU(2ntzrJeF!T@1G!Gv%7HDTjx{#fj-sn9(A)x*QPi#jOyeIbbGMWBC> z?SVa6b@(LbmAbMn3O*wUX(0c523ZTSuWDUzbNH+QRr(t)$ccrpBVbWzb*K^wP8E~@ z3&kKg|G(@SQC`|VHR9(&M9$K-fdsI#vokU>GB7}1PF%{F+zWCRzleeY8)bw}*8bt) zGp}%v%j{PS`BOhF*VWznbFjB(fPyy(K(JDBa$G&F%kG()1*0ZrX88I=53)aVH$_VFWA0Ho2rFeVU{S;iGzyHN5b~RF7 z_a!2dlCEuLhGiJrGWUc(Q#+iLJR|h_Rh%4DmdBQZR6&oiu(5LZVf>}idT3i-R;}ArGgKP*0*eHOvB}ft!1~jx07o& z4}C#4;^E<0%jl!r^?oH(_7lP{EhS~;)Kp)u(WKAohSm+DWO#!8WMyl+B<6-s{glza zbIYrSq}J@Qvoo1+B~R8n=Y)Btm`;0s{Z578FwU>f+*+Dc(MZ&|PO}z7__r zrl#gX8dn!Gd}}r;isbb|NJxmYv$N6s)zz%*dq%T>fPj|2mCygYAtg{`aK-ExPsWtT z<(4}-F)+DglgCKCE4jlgr4 zyWzC+tu>T#)vK|2n~b+|scOpQ!&`$g5p#E>zW6KM5?e6;8hAMZbTYk6aKUsf=A`}? zBhMRIJn6$kvig_NP({+GlF&a1!z=8NP#a3c-{PMAEbr!Tcq)#TBMk6n;Fn&FH?3Oc zoS!gvciJF`g5Ha=#`{piHD8t+Ydyj_;2Gqz#j6FXx6HA{sk%{=LZ=3;MARvvh3p** zm7@;Klo43o=$~(bl3gHe8;9-ek7^iwYo`2L=6C@};`oFfh-lcb3ifES>}HExfG!|m ztuW>jYPcXBne)=?yOpgFd>%e$;kp~UcY-neU+G2US+6;|)|tONK4;1P9AXnXIk6$( zwGKJz97!g?H{3(md}CqN%HqN6K6`gr5H}fIw#S+6YB1c)dv*2p~LVz1RF6m5!UxKu2uJ zsY1B?@u>)MTGhAkw6F_5oowLrNL;R;<&iu*pI$9Z?4*ZH1a&o_*tyg!Bp+D z&8+g;f!%tj@%f*hncK9A+^17_D)zm4u@2(D1YDmy(IQMeHDUySuSB$mBdOzD8!Gr_ zpTtq=LsI|Y#Kgqmp8}&w^t^Q-p9ZN-^Tb9fDODQcslUGkeOpB z>fxUfc;N5p(e?oxyc#6|5g=4SQXudv$$HW~!s)hG&UAIt@Dem5VMFv%>wZ`)cCHGA zj5TfDr?XQ-Gd-!dNTZd_ONgQ+)@9!|;Xjd3AF3fy009Y zTU$?I?V|+s;SKt4!iSf%Z38UYU#}h?64K(v{zT43>Fn;QPjnSU)W85Tkieg%gaky6i}q;r=kSX% z*yqi6u)-#k6$cCAD?L+HG}??GGWKl7^%ko1f`jML2tUNJ0M^rWC;aQ0XQ_UnX!_TN zr*C0jjO~({zKpM_@@iAW{!an({=Y~^h-gAJ@e>fi9b3XE}z`R`ixld#}kJCeqrW18Y;Yf zB=$i7CUF|uf| z%K{4OHieH?SqTJ@85TV$*5L9ZClXYW@oU7e2=&{T)^8m-0y5b{o-)h5{_-m;4+I#3 zyE~9 zs5P??y9#Sz-{Lixk20tsP;m8^oC#?4M9If6l0qFMJ7;QG7%~{<9>AUt3yy@Lu))ER z4hv+8WMqg@rR!Ut75=na*T)Z;ug;YHCV%wkIC6h$Q*huoZpcp7N%$61+~A-NY;^tb z%bQiD;R`3vfbau?wgyNSA%dqHgWO$x2mMC?CZwH+cbpG>ZN@jv-%Od zmq#}^^+{nVvCdTqE^G>6N{TfH=K&77_KzOfQE^tUnh0{=k`LboP$)&SsKuwNWXc7^ zw$%enguh&(dXMKO14th=2@aDklDowTnnl53>}5upV&NSNRw4|fVOU5IUPl$kxMzG- zRP`$|MHK3$m8~-;+c=zQsqnk^?_X+jk8wQ{*B6~dqdVL${QdnM=<*|t!x)+@D=I%s zZvjlSMHrl{8a{{Z`|;z){{H^9D~Pjy{s^g&XX`%4V*j3;s4FSvD^et78xFLq_6dd_ z1ES{ZR~k%gzV0p-RP|n7zmLzOs+O1SMAXq#AIJm*1jv1SeW?^F`NprVu8xjA4zDa$ z0YbvULWJ2fmrx)E6hR!s!Rnmu?(Xdq^%g?1rA$Fd8hDV8#wL2ty}ZQxXJ=XeK0_sk zhqbp4U0hwgKn2Im+v?H9hYIv3+_J52hQR?<=D5~1ft{eIi&Lh^wH7oa5MT3@N$)3d z^2)zYHm}Xy0sl1lg=3@xo*BGwaq-zikTm!7@GHo92+w;GYbp8 z_#2Z_+k70}fDIha=OG-+}$jEFKm)-Ns%JY%J!opAne2sNo^<>IQ@`BM5 zwON{4VJv^dcLFD8*M=G5n z{kTRO)csMH$9mJ$Un}1HC6h@GvfEtT<-K7@hsj1F5>(KYQ!dp*#&5ZjYS8mMvTE0U zrB1ofu@;xli!aV+-bmN_M!Ge=@7wgE2de5dz2!w&?9lxH_h#epOdifqfGl$&E+xQf z$ZH?fqLEYIog{RG8{UtveJLX1RgRN8n|G7?ViR{OZ{e6*7@`P@;<{-S^t?Q6#XQ12 zUD$11I9TnAgw@(z;(}4$wEE^5*WXC_Jf;)6&-MkQZWJ^{NPNZWZRVS=hgX6hOELH5 zFMQ=N;-{6q*!2$e5Y064X`H#jheEJ=(jwWqF*w|s8qGp|4ZCp8@FVY6<5CF){O0Xz zdX1y|3OsDVuP+1R**YKCC{x2Z&n1ya=%mhl+->rbzMN!TR@QJH>e+S3Dm+d`vjPUI zekSi#X~eH_{+jWPLPm?lRS8VBHdyB?#CGD9E|0JcHE;I9=ecbYz4LDCQeSM4sB{eB z5lP_gvlEfXFas8HqCZJ`=!8u_98Mx@aLX$z#&#UK+VN8}IkLes>S>k9D$CE;y!p{M zv<~~d{+xzm-=;wMoXeO@*y{1QeBShy4P&+G#Oqmu=m$dd7P(BEbuH_;X65gV-|k?d z@_qsGE}D{R(OXv4jRv1hHxw)Q3(u2+y!6T6w{);_c%}@?xG|mpn7ZT5h^GB}j+~^6 zt7I-!wY64u!X^Tn1P+b@yl2oOvma5Dk#X6Pbm5@~8q_@rLMrN_d`d8DrL)EeXn2sV z;ij33>kuD?TN&B;{P)o1{`u84gvds-#W40I=cA|vz%~^%b838V!7}Z%>+L?oXI&JO z`G@T zJJ;(Oqb}~>+^2ZQT{#?VN~?loRkjpUgDZUAmO{Z*DuV_4;rKPriHLb2Q)*BT(w&DIJ{}N$+HzDL44kObt{I zv>QUH%3+bmoS`w^Y@*WA7g|K7ci^74q!bid>g(AnQx?0Jzt&#R1byL#ykw%SQFe4w zAHgdKku{F3X|<;0@uH8yrRAU!CNXF=JXCB?aBUSlr-_TCr^LsZi{ITd7LOzy-+A`4pY>oWP1G}#XCNX)lPf=>xw%W&W%Xe4vo>$L^yIy#gCua=jKPzi&-&G-7* zSXq_+0W7SLF@Gu^q1W^0=HgJBVW7y4d?q6$m7&cYJ%7t@r7z!!CTu}eY`}Uf6hB5W*<>@= zhT7=MbzZt{D>#M*0~hXmU?mcXQoSUgOLiE=@-xsR!^ z{e$k?ai3kOD!6PQ(KKec-3@)@PbiT%e1$wu_3|TKuLH4{mzwu7}mz#7@IKV z!u|I^Ci{IAr+$=W+(Z92yfBEcCO`DrqgdLVXMdw@VFE8xEFh_oB zgG#h&b}lkFr9|SY%cfiayuzZ9B00m~n1c9^@u0Fl^z`(+8t=cKpRKo`WD}wxwF#qC z5@$-?4eqo7xzW8+Mhu}+ekc0ik*j(D;yLX>1Z6~sc4!n|k}3;9&mF}G_j*Cqa-EWK z0NmZZ>szQwqB~I!?sy5cFNmNyJSXV}?Zt@mK#IXvegK1hrD2N05>3*?cLQ$BOwedK z5ae|dLb6qs{3nvvS$$}jGt~4LpdpGUFT!5v*?gYfiahO&?oFsCQr4e+;wPW8obU`I zwbIcMGQE{{sYPy6#n3>*e+q^4$%a`$A$Kz$xcSOtrv>QP5NF!K1>x_hE9a{`(MSi% zFr^0&=q6ZspRh!54QrJxrc(C^G+H>j`yVCnsKzwkImM~A@0U##62?QF)+Gh-rTB>F z!TDwAHP-l*jyvk!e7C+}ubkw1)(NBui8>ba8J|&$COps8(%??c*gE#xO;iS2PsPOB zRb1bfyt(a%zddE@*%cc)9oBZIHlqlG6&Luo3tyrdnKeP2ij#I&ik z^A#1dM*j%!JmSqC%?;+I>mY2)A1t1-s>#5>3ycfCom)`4NWLKTs3)L5J||+Vizu-E z?(u!X(%jb!Znb_jy>?CVtGX3dVXAd~=O7YxzA^Q)f=jZ3k&8#7K6D)KmNaUX# zy}M^vr_9hZ!QjHx8_#rRRqvz2l-N;97@_ZFt{0eZR`NM3`#z#9-e@U4NYFtj5-qFr zz|s=-^%82%oy@)vQMEAEsPfBStYBhw8x4=|_R*gsz%TNy4!`$I)5_LGH$sNKFQIIcsqxN20i)pK(&UNBoc#CbZx)! z8c0-@5+)TB7*$)Lv&*Yfe>zy<3O+vN(Z+^A@6KCPOD07`$J<|~l38}yL>Q+~PV5CA zuZv`sAF{PPaxB4!Zfs55c;%1sps)=o^KJ_edPZ}o@1nSqNmSIXn%{Vitl{Vvg;BW= z?P(--mgr*$xroNt(#;|83w!rh7kD@&+64X8JrUn zKuc*0Mk5`s?@_=rGRYQmOmg2$Y%EN`ph;-Af_Nk(h=>>lHTZ-?+G0h-WZg^wBTq;Q zIg6Z%wX!cf13|r9s@gmVO-c#<@N1mAwHWUVo8kP$3q4g1Mzzo5gscDK_Wxf#{wlyG z^Shg8EQGqrsg59`PccN?aCPe-T$^R=nYHMn4-&{!P3+D5bRX+#K!KCOpqtaj@i$C` z(tjoop8n4+AUE1~dB&~Y2&rSh@4}#`03S~X4R)>T&qKQk3S&gX@(KR!3p1Bsi0}Ss zNDYNT_$=UV1`Hi4(({pR=KmRo20B1GGG#bjY=YG_D;Vg5$r2?-0=M}pALAE)}z$0ySU z314OS{OOZJ-E#Ga&kJ}g&1Um0kqY^3NYXL1Rkwzt*v;cJv!8Y$p(}fRZymd5CChp2Nqf{=sD{mn(~77Sf&;U#*bUdZ^UclJhq|ZU0^0S-wxSyP5capa zCCQu;FCRNPMrFc6;#%)UYu_@#Sq*@?8$hFHrN(c8DgbEorCJc=uh02CefreRt(A|Y zv9S^85`7aB^pAM&_y+_?G^fKSfK}pU^3))f3jZ(TRVARjUD;S1oRAHc&{2mJU|V_p znkf}nK*GWZqd7S~3M{yJ+u3z8>>M0m=B`|ydV8y9_%_}cw5^$nh#(dU7JTvIMQ~eg z_hRO&SFc{a>|5COjuXidYVmf~Th4`9ao_=XldrLz@ zbY8~i9Xf`N5;$-f%$EGZk-~6lsWde&x96LqqOT z5Fuz{>2978(KYs>RAY!jM(@GJVa7Elq-R9NRWod`4mV+9p%vzsO0YuTW38;AA862=C7oN@_%YaUEy(q6R@(a~03xVj-nK?-d^QYqG4HE;oMb?{hhQLl^%CFa=zX=|s_!-pnV;8swIh zNOLddo z_=Zdz<_z9ABo%{GM%0?=1R>we9&KHD$}&?f(wbN?H)6426d0>;QNpUKZ%zxr88A** z`}p)$7Z3#=(tr8lU2n1a<&?~I>+b_*>lXNU=6!8#ftDl=VEb?wHGfN4ir~Z~^gN=% zNBFJmpKf^x?9!njRR#pnF-Nm`Me6d&y`hKFJy(7pXCb8%851=mL)+|Gi z+p4%5T~H@bM6y0S8X~f#@)l&Q=42y*So&x}clRlQ2y}HN-><1uH@&=H;KVQvb*KJ@ zb&`-2MeJiaIacC33NjrToDrA9M$Vh3!hRVGt1iNiS*O0~^JmNdDib<;1@%Wz zpA7$etuBEdzf%;AmJRnefUiyD>!F#jZ}*EAU2T3~e~ zDr`@igJS~z$pK}NIM%#(WM`LwM+{;RCJIKt^e4gb>zS(jt*}$ude`hSSCi zpK{QE0#ph}NlTRfE_5v#N1;NLg@UIO{g2E+g)QuKtuy@ha7e@2;|Z8=0);UasESut zKFI5_Oz4&DA>{AE&_y)x#50swDA44EQ>-VSX(yhmq+(-$*b~*gga){4%g* z2=?JpEGwpz#LA)8Y)pCb!TtO9&CQkZb!65IjVdOVw;aS#S!mVzDVHm+$tf2i_0N`1 zO2!vHS_mb_rE79MqkAQk9%GuIi;gk9PcY%Vnq*vVTqKq?IA)oM^|3Bm^W>KlEi)p$ zR?*wX)&bE96z!bj2nPJU74tNg0nf|Z>*YZohjpN(>;(TZfn4i#y4Fl>?y!gkyxUHv zO6A4?2M{DPs3*u#-X+MVr>B1hFHP3W&@Ki;;NXKkFAOmO+yZse z6q+Po0qdhb@G}aJE2Bbz!e&eY@|a8siuc6XS*!DObQGZvinBm}e;QWck@A$`;>%4U z4Ny0#B=>2~{b40CKYDcJRX0t`ijrkjYTCp>Df6&Ydof;(gSzGegeP{Q!8rka`};MY z;<^|8AyGZ1yyyM9cOIvda@!#*fF*4o1-a56@bmWWiG{}r(K(s(qFO;5YzygG0GV>D z_Y?5V%}h?_Mz%_fR!nR}rAKXHp0vg$2JPSIPgtRRgKy7zN5xR!MXW|K(lzRIV8cxc z`?Uf|S%v4w{PW z?JovO7o+m*^{ZD2xKd23zEidV&J=sOba{E%f9>cGn?xHj5+YSt4Zi~=Q!J;c`dD34 zvk#?{WbOFz(7`%&h}r}e9Hs_8K=ob=wI=ZoWpI)A>U;K=ePH_56V;W)#a{XhiZBLU z|0}YZA+q78R<=wqDP~Ib+YJjg>HW)p(YPN#!&&oOr<4xJC?7}-%hn}UxrenXI5zDG zO4YQhGI=+#G2==v*17b}sn#lME~xctarYAp_UE`U5nxIoL~0@0t#JlQ<|~B!yB1RM zyv9-e{B||bP&*DNqaPs_qHtRQ9=NwzJ+%G>k}X6u^3XTiHlc4@lRR6i2#XI3of@?F zs5PU-$9EQI3TZ>KD8du4{>~3=C9`%lek^!3#wp@|o=G8TCV<&o1-6tZjtNUd^`jHY zUC>Cf9xmYAU4LR$ShDTmUEy)lKZU)|@mHeY7))t>aYaVBWLeun;C}6t%e(fij$^ykKgCb%zgIOXXfYpl1{>|R6>Y=1LXlKyjIiodC@iBo zf7Lb3$*+6yrfU1WwXi13cmv)VWO%x|FeDf-kVbwAH~mkQYzpHU=!+EhlzSBnEPkYX zqb?uNm_?Xo46hgv5n*8``bbh#hs9ly?V+TUKn?4y#a(rt&}>~EBf{mU_!@8$t;WmR z{(?nb?t;e_3mU4i7&$`oohlBSkrXa?7LU=Y>;Wbe5aG z0M{8yN{B%;@JMuc=#K&J^JNkrv5rUOl!u7IBHG4`(jX=^q+L{#qd+6BFiozdWbRB( zu0=um;*9U;^BnQk`QYLHy3fZ)a{=ZiCXwBXPv)4^u}L4Anzp`aeN|GA?3=AtnuP;&e*_*TxG}@mc6Nkg%{tvfU{Ib+C*2M_9| zx1K$FrWD!MrnsC99?NwW7BDD9n381Hpi?afta$hVDdr(%Wqi+mKeD%{xep-M`tRSr zi}##qX=$rWw0mQ|X2z-(fV%rHSuj{%>FHSd@7HgLo@`9-EhX-Smwam$%=dZ^y;S$;)H=dI-IYMPk$j?8Q#C zMtd(WzTPs7}cdXaAa9Ww;=ee`rOGrfq_I0s}IhTc1prEdRF#*U!c=H@F9+;0E)E_ z=jfJjCr42O6Tsdcipjgla*f5x40r~13J^N;LD*YN6qW_XZyo>kxYj-FB!=Ki7+4{_ z0!@`Oi5A>U452A)9>x-%<}NA|b|IC7{Jn#w+)|Mop9oiX*g2P=Az8yK=X6Mrdv?8< zVF3Pq4mrBJ@Qu11Hku<-6%$ znin2M`MDEd)pew|X%{1u=WqUZ!tbCCYRPw=*SQSnV^HCf<4(9GnvG5DZFg8lj~M@; zx&lB9B(9?};;}u@!UDi^!|F?JU#{8YpjMG~z(4ZBBb`d}hPIie6kl4^HMGNQol1>G z@`c`*UMPa@qUQGj4hQJ2pj6SsHmi}#IFO*Fgb%q4_klqM8CgsQ-9$I8x!1C^fs!Of z*^p>uWrZ#kOH|I~%K4NA)>`ylRzbnsnj$S7K40XM#m?zS@gaBW=TA(|74z4#gCNU7)QA)B#79YsN>NYqr>wG-$5FTKd>S|Eg=tr^Poo z1-&*@`+p0Dvwc-J7cWv2e}+VAJZs@9Hn8eH>|SGj$CArZS}QJ%E=e&O1fM@_&L`o{* z?FJ+vMDChza7nvX?nOg!_^`?6)aJ^)dwSL7IONNq3idkIw&(Ol_bn}d-D?hKCWNvL zBk&Ymnc;9u4H;xnb-7*flZ&w;v<02X;NI6D=>N#AMB?8FBneaZha z`g>$?q*G~beK^w(r$`i2hch3v;a4< zo-Xjuuwv57jQG8Cz*35di2*4d>sptELN=iwp53RXr$IqLk&gkLW{3AuH6=tvgLe)O zYmNBXp@8mOb_aOE_3`5c^hF>IX=i(TdtV>vYZ@W=4D`v9fPni2qegGPVNg{~O>wt? zOu`2l6DSHYDEp#*;;aeUN7PEcIW1c^S%P(>TQZ(642rr+%bF?d1p=|;UJv52i{yE# zC+O)iD^EM9wGaYW7qm^@fi88g`acGJhOvilWMeyR7+8UXxi?}Zviavv^i{qG0yGYQ zSO&WJz+0_-@(at%%9>BRnw#z7;({b03ZcPYBSGN3GaBXVSa7=y6l~Dx2U-sIUN_a% zJrd1a!nWWx_fK6UuX8K!5@u=>o#Bi*>sLKxHWguvyWSS%#s#$G>L6Pxa>=)CMnlup z)3r`616|B>@2Bv5f@+8}9eT^EE9E6zd^GW1ta*!StpTqPm}*cKV_WpcHV%1}m$+yp z$wq+Pst~4L5s6nT@Mr(zgjbJ2=n@2(>yUweC1COLcnv-8&3kCBsI(p~BFE^>Qv^2NMj~~OC!R!KRsHLfC!S-Zz zbroj!5ssa_{V;vMo%e-sJ~>epe~3mO`rW&B7ZLp{ygUZ3FaHu^(*Dd6fM#)2-Mt${KX(}B_vk5s(Y6i zp)R?pNN6Zd{!RqV`^(eEbfS?X8;8IHM%>OWwE>_v15(7E9tjdIK%K1dZzFDHBN?gK zm)%W^LRAacAJPE+Ly8p}Zzq$jYw9DD9r#DP;Wvk6cJj%KNi% z*f71d$6$tM9;XYPHs+^wuEKHR-%R7naw|v2n(@-~+1D8B3DSkouf9%zoP=p_AKy;o zd)OK|z3Yt!z6082j#1p-H}|^+?X?x9iZTg8yQ#%G+@s3- z?ppUWAJ&%=q<$^*rm0!_Qz=pfyPgN06zC36izAidaSwjij6=aY^TEI!)8B;`bkm&W z=GE}*)LU+<&ZjhV2Frv7g*^f;(MCR@XptnEAQOJCUj!!8KVUIzk>$uq*8=3E3AVv( z%Ea^(N?H>E6{-oert`WvAg!VQE z*NUCk*jyB@FivwR0hW>Z?iGMR1q|Xa00n+YNDr#8DwpIMl!dn0*YvJccD2A2GnzKb zF~q0-@=Jm|N|EX-ToQH~sNxkSo}l&y`Kip+|A49$0a zB(qqk6st_gIXtgS9!7W(tRW*%g^@NpC*=-X09<4Zs@?>&@Lz8a59*fEG2vW3^vuni zVdX9jZv;ztdTYJOp}$v{p4}IEjh5!-BnMR<^hFRXusP()w+YKC9KFa3krqaXJbGVI z(R=z)2xqjI7k&*sdK0_KZ4gJjW+%!Ry`qeoKhrQzga%1omu7R1nq`ddJ~;Iz`4a7k z`sH^OdFd_cax=Hqn3o13!2Id4nEml{* zjoL^VFoB9w-&NnLCN^HUq<1(YaFctUhY)+fGr6+ZRgysCsz{%}YWacScFd|n0tOkz zaqiEZtkF30TRN8qqQ$C>VZ!W`{R-wt;D(1Wzd1EEdki>cl^|3C^k+EpHi8p3>VUaD zGM%7;aOv>9;uzi!ApnHE5tNhY-0TNvk46f(T< zP(2Gb?XJ$|@J9LxZO}<(*ncSYooX&*f-rk9kba!mVmjL$i(#C6C?Mg@9k->!WCp>i zWJ=zxRt7BxgxCbYgbiYEkNP$lL)|S=-ayXw_0=pH2Qe1}l*B2QuI;shCr9taXy$~; z)8$a|>c){hpm$5v7?rQCVbC+cKZRHb(TU;}%ZshPr~($msF6Z@~l zMXX=N;^M>4XwW1D>Tf^4b3o&&LI+O5U?8Id5x7$Q?p<0!&~gH*Y(gmX?Ck8*5b$vk z5fLE}h+DUAZDU(#>FCxsHi!uc7bfDPqtCuI0n$KFQ1D+`xdiG|N(v`0FE;Y|P$Z7A zC4~s!dJ|4*=}a=?d-n+5y?uM$$^=M<+>m2z4?Iml2@2ptUS8g#M~`H;>1b$9PEUbX zGBP$(N4n~@JRp3k0TXJ+Pg z^!ID&EBp9JpTX3h%JLB@CgtSByO2ZxBOsWJ*RNUEaa07~)O>wqycC7N&otb(uqb>E z(0-7WCg=+%1pH0b%a@hHUr9%~C-Xsbe9y=Ty!@g{5SyY92*$W#Ma;JW_@J$=t-mvV zt95+GFOQ|Bu1*aBekkDcKJd=}ckaU@B6jn%b##iO@si_GGNI^l+iW6tTbteu(8u90kD~86K_zK%P zdJoieYWINsf$C=Qn>W#o;F)4lts?orOuBKr{5du@HZb5~YYXj2PNtRue|}i;GiPS zd;cNmsN7DBRfau(^<7cMUYf|0!hLF&J~cq>^j|GGAZ zhA7dYRngIXi;En)it!ZX5*P_a6zpbEUS80jUz?ks8ymGM0L1D&?C*~$E#;N*P*8!I zR2CN#EiJFDX?z)-AP?mg5~Ael^aV>e5@t0zI%?wd_%X!s1`rRgbhk-@D z1Vv5)Ma6_}m&oZv9)Wxo^7`x7uMh}C zQW7gU+hPqmMZNttPZAgvsPL<)N2fX0LHozkpdZ(*)YORGMQ^*l~PDNxcGYz7p6FrI_)1gW*la8!sz>V=%Ti%zhXY78hS`j+M5~ zGmvx3*`6QC5!E0e|8mhSi}!X(zy4f4I4AG@@93`?cldxs4{%UWS`9dedvCg8^nuy$ zs(>Avt@X1mBpv*)?CoJO@%E>n&eXhVmTmg4&aEiz0uG;=g&n(pL)|JM#GyJnGjZwm z%dc`u1(?FLSzcaSpt@0U=9;&)cLXzLZeaZ>_IB3c@`cuxmYD`R+y{Xp)b{tkZjSEJ z`&yb(aarKj{rmbXXDybkzkT98XZ77{Os5X&c9V zYl)4W-MeDpTCb#tB@tf)n}Nfr|5|gKwj^5a>z2QM&rAQ}Y%6>F`r2CAX&E0s_49Kz znlgnMvaD_If1LYe-_#F*%xg4jnYZ>|t|`jC@c)O}y`@WbI&i+=va!v$aJKCAl)sku zEc0;}{lRlq^-BMdD4DF9*k0DzN<7 zrL+E#YdAa*; S8VW0&K!TpGelF{r5}E+=Nl>u> delta 18458 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 diff --git a/tests/typ/math/delimited.typ b/tests/typ/math/delimited.typ index 6607c3028..ba623b34d 100644 --- a/tests/typ/math/delimited.typ +++ b/tests/typ/math/delimited.typ @@ -2,6 +2,7 @@ --- // Test automatic matching. +#set page(width:122pt) $ (a) + {b/2} + abs(a)/2 + (b) $ $f(x/2) < zeta(c^2 + abs(a + b/2))$ diff --git a/tests/typ/math/linebreak.typ b/tests/typ/math/linebreak.typ new file mode 100644 index 000000000..88ce69d24 --- /dev/null +++ b/tests/typ/math/linebreak.typ @@ -0,0 +1,50 @@ +// Test inline equation line breaking. + +--- +// Basic breaking after binop, rel +#let hrule(x) = box(line(length: x)) +#hrule(45pt)$e^(pi i)+1 = 0$\ +#hrule(55pt)$e^(pi i)+1 = 0$\ +#hrule(70pt)$e^(pi i)+1 = 0$ + +--- +// LR groups prevent linbreaking. +#let hrule(x) = box(line(length: x)) +#hrule(76pt)$a+b$\ +#hrule(74pt)$(a+b)$\ +#hrule(74pt)$paren.l a+b paren.r$ + +--- +// Multiline yet inline does not linebreak +#let hrule(x) = box(line(length: x)) +#hrule(80pt)$a + b \ c + d$\ + +--- +// A single linebreak at the end still counts as one line. +#let hrule(x) = box(line(length: x)) +#hrule(60pt)$e^(pi i)+1 = 0\ $ + +--- +// Inline, in a box, doesn't linebreak. +#let hrule(x) = box(line(length: x)) +#hrule(80pt)#box($a+b$) + +--- +// A relation followed by a relation doesn't linebreak +#let hrule(x) = box(line(length: x)) +#hrule(70pt)$a < = b$\ +#hrule(74pt)$a < = b$ + +--- +// Page breaks can happen after a relation even if there is no +// explicit space. +#let hrule(x) = box(line(length: x)) +#hrule(90pt)$<;$\ +#hrule(95pt)$<;$\ +#hrule(90pt)$<)$\ +#hrule(95pt)$<)$ + +--- +// Verify empty rows are handled ok. +$ $\ +Nothing: $ $, just empty. diff --git a/tests/typ/math/spacing.typ b/tests/typ/math/spacing.typ index e62d2eb3a..63a60ae15 100644 --- a/tests/typ/math/spacing.typ +++ b/tests/typ/math/spacing.typ @@ -3,7 +3,7 @@ --- // Test spacing cases. $ä, +, c, (, )$ \ -$=), (+), {times}$ +$=), (+), {times}$ \ $⟧<⟦, abs(-), [=$ \ $a=b, a==b$ \ $-a, +a$ \