From 3ba8e3ca1f209945bce0d9f146df7cff589de618 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Mon, 28 Sep 2026 17:35:27 -0700 Subject: [PATCH 1/3] LT-22674: Cache text analysis only for text NFC leaves unchanged Line layout now stores an itemized range in the analysis cache only when NFC normalization leaves its text unchanged. Text that NFC rewrites translates offsets on demand instead, so the offset-map builder and the plumbing that carried its maps are deleted. Also registers the view cache tests for collection, adds tests for the analysis cache and its store rule, and adds three render scenarios built from decomposed text. Co-Authored-By: Claude Opus 5.5 --- .../RootSiteTests/RenderBenchmarkTestsBase.cs | 200 ++++++++++++++++++ ...rio_multi-line-wrap-single-ws.verified.png | Bin 0 -> 227048 bytes ...rio_nfc-composable-diacritics.verified.png | Bin 0 -> 48958 bytes ...Scenario_single-para-mixed-ws.verified.png | Bin 0 -> 153683 bytes .../TestData/RenderBenchmarkScenarios.json | 15 ++ Src/views/Test/TestUniscribeEngine.h | 90 ++++++++ Src/views/Test/TestViewCaches.h | 69 ++++++ Src/views/Test/testViews.mak | 3 +- Src/views/lib/LayoutCache.h | 80 +------ Src/views/lib/UniscribeEngine.cpp | 27 ++- Src/views/lib/UniscribeSegment.cpp | 90 ++------ Src/views/lib/UniscribeSegment.h | 8 +- 12 files changed, 412 insertions(+), 170 deletions(-) create mode 100644 Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_multi-line-wrap-single-ws.verified.png create mode 100644 Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_nfc-composable-diacritics.verified.png create mode 100644 Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_single-para-mixed-ws.verified.png diff --git a/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs b/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs index 91cc09d374..7e27cabc46 100644 --- a/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs +++ b/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs @@ -25,6 +25,8 @@ namespace SIL.FieldWorks.Common.RootSites.RenderBenchmark public abstract class RenderBenchmarkTestsBase : RealDataTestsBase { protected const string DeterministicRenderFontFamily = "Segoe UI"; + // Second Latin font for scenarios whose runs alternate font family. + protected const string SecondaryRenderFontFamily = "Times New Roman"; // Pinned Arabic font (loaded privately by RenderTestAssemblySetup). Used for Arabic runs so // they don't depend on the host's Segoe UI Arabic version / font fallback. protected const string ArabicRenderFontFamily = "Scheherazade New"; @@ -320,6 +322,15 @@ protected void SetupScenarioData(string scenarioId) case "multi-ws": CreateMultiWsScenario(); break; + case "single-para-mixed-ws": + CreateSingleParaMixedWsScenario(); + break; + case "nfc-composable-diacritics": + CreateNfcComposableDiacriticsScenario(); + break; + case "multi-line-wrap-single-ws": + CreateMultiLineWrapSingleWsScenario(); + break; case "lex-shallow": CreateLexEntryScenario(depth: 2, breadth: 3); break; @@ -539,6 +550,27 @@ private void CreateMultiWsScenario() AddMultiWsSections(book, 5, versesPerSection: 8, chapterStart: 1); } + private void CreateSingleParaMixedWsScenario() + { + var book = CreateBook(19); // PSA + m_hvoRoot = book.Hvo; + AddSingleMixedWsParagraph(book, sentenceCount: 236); + } + + private void CreateNfcComposableDiacriticsScenario() + { + var book = CreateBook(15); // EZR + m_hvoRoot = book.Hvo; + AddNfcComposableDiacriticsParagraph(book, wordCount: 80); + } + + private void CreateMultiLineWrapSingleWsScenario() + { + var book = CreateBook(17); // EST + m_hvoRoot = book.Hvo; + AddSingleWsProseParagraph(book, sentenceCount: 200); + } + #region Rich Data Factories protected IScrBook CreateBook(int bookNum) @@ -928,6 +960,174 @@ protected void AddMultiWsSections(IScrBook book, int sectionCount, } } + /// + /// Returns the canonical decomposition (NFD) of , and fails the + /// fixture unless the result contains combining marks that NFC would compose. A scenario + /// built from it therefore always exercises text that normalization rewrites, whatever + /// normalization form the source file itself is stored in. + /// + protected static string Decomposed(string text) + { + string nfd = CustomIcu.GetIcuNormalizer(FwNormalizationMode.knmNFD).Normalize(text); + string nfc = CustomIcu.GetIcuNormalizer(FwNormalizationMode.knmNFC).Normalize(text); + Assert.That(nfd, Is.Not.EqualTo(nfc), + $"Scenario text '{text}' must contain characters that decompose."); + return nfd; + } + + /// + /// Adds one paragraph of short decomposed sentences whose runs alternate between two + /// writing systems and two font families. + /// + protected void AddSingleMixedWsParagraph(IScrBook book, int sentenceCount) + { + var section = Cache.ServiceLocator.GetInstance().Create(); + book.SectionsOS.Add(section); + + var stTextFactory = Cache.ServiceLocator.GetInstance(); + + section.HeadingOA = stTextFactory.Create(); + var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; + headingBldr.AppendRun("Single Paragraph, Mixed Writing Systems", + StyleUtils.CharStyleTextProps(null, m_wsEng)); + headingBldr.CreateParagraph(section.HeadingOA); + + string[] subjects = + { + "the \u00E9lder", + "the h\u00E8rder", + "the s\u00EFnger", + "the tea\u00E7her", + "the trav\u00EAler", + "the wom\u00E3n" + }; + string[] predicates = + { + "spoke of the l\u00F3ng rains", + "walked to the f\u00E0r well", + "named the sev\u00EBn hills", + "counted the cattl\u00E9 at dusk", + "kept the \u00F4ld story", + "asked for a bless\u0129ng" + }; + + section.ContentOA = stTextFactory.Create(); + var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; + paraBldr.AppendRun("1", StyleUtils.CharStyleTextProps(ScrStyleNames.ChapterNumber, m_wsEng)); + + for (int i = 0; i < sentenceCount; i++) + { + string sentence = Decomposed( + $"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} {i + 1}. "); + paraBldr.AppendRun(sentence, AlternatingFontRunProps(i % 2 == 0)); + } + + paraBldr.CreateParagraph(section.ContentOA); + } + + private ITsTextProps AlternatingFontRunProps(bool first) + { + var bldr = TsStringUtils.MakePropsBldr(); + bldr.SetIntPropValues((int)FwTextPropType.ktptWs, (int)FwTextPropVar.ktpvDefault, + first ? m_wsEng : m_wsFr); + bldr.SetStrPropValue((int)FwTextPropType.ktptFontFamily, + first ? DeterministicRenderFontFamily : SecondaryRenderFontFamily); + return bldr.GetTextProps(); + } + + /// + /// Adds one wrapped paragraph of Latin sentences, each naming a word spelled with + /// decomposed diacritics. + /// + protected void AddNfcComposableDiacriticsParagraph(IScrBook book, int wordCount) + { + var section = Cache.ServiceLocator.GetInstance().Create(); + book.SectionsOS.Add(section); + + var stTextFactory = Cache.ServiceLocator.GetInstance(); + + section.HeadingOA = stTextFactory.Create(); + var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; + headingBldr.AppendRun("Decomposed Diacritics Microbenchmark", + StyleUtils.CharStyleTextProps(null, m_wsEng)); + headingBldr.CreateParagraph(section.HeadingOA); + + string[] words = + { + "caf\u00E9", + "d\u00E9j\u00E0", + "no\u00EBl", + "fran\u00E7ais", + "gar\u00E7on", + "h\u00F4tel", + "a\u00F1o", + "cr\u00E9\u00E9e", + "\u00E9l\u00E9gant", + "fa\u00E7ade" + }; + + section.ContentOA = stTextFactory.Create(); + var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; + + for (int i = 0; i < wordCount; i++) + { + string sentence = Decomposed( + $"The {words[i % words.Length]} recorded here is entry {i + 1}. "); + paraBldr.AppendRun(sentence, StyleUtils.CharStyleTextProps(null, m_wsEng)); + } + + paraBldr.CreateParagraph(section.ContentOA); + } + + /// + /// Adds one long wrapped paragraph of decomposed sentences in a single writing system + /// and font. + /// + protected void AddSingleWsProseParagraph(IScrBook book, int sentenceCount) + { + var section = Cache.ServiceLocator.GetInstance().Create(); + book.SectionsOS.Add(section); + + var stTextFactory = Cache.ServiceLocator.GetInstance(); + + section.HeadingOA = stTextFactory.Create(); + var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; + headingBldr.AppendRun("Single Writing-System Line-Wrap Microbenchmark", + StyleUtils.CharStyleTextProps(null, m_wsEng)); + headingBldr.CreateParagraph(section.HeadingOA); + + string[] subjects = + { + "the mer\u00E7hant", + "the mas\u00F3n", + "the scrib\u00EB", + "the sheph\u00E8rd", + "the weav\u00EAr", + "the pott\u00E9r" + }; + string[] predicates = + { + "measured the grain by the riv\u00E9r", + "repaired the east\u00E8rn wall before dusk", + "copied the ledger onto fresh parchm\u00EBnt", + "counted the flock past the old gat\u00EA", + "dyed the cloth a deep saffr\u00F5n", + "shaped the jar on the slow whe\u00EBl" + }; + + section.ContentOA = stTextFactory.Create(); + var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; + + for (int i = 0; i < sentenceCount; i++) + { + string sentence = Decomposed( + $"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} on day {i + 1}. "); + paraBldr.AppendRun(sentence, StyleUtils.CharStyleTextProps(null, m_wsEng)); + } + + paraBldr.CreateParagraph(section.ContentOA); + } + #endregion #region Lex Entry Scenario Data diff --git a/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_multi-line-wrap-single-ws.verified.png b/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_multi-line-wrap-single-ws.verified.png new file mode 100644 index 0000000000000000000000000000000000000000..9d19d891b415a6718f47816db0fc8c48198dbad1 GIT binary patch literal 227048 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н@ZN8q(mVPqarUPJ-VPJQdr}<_4*ls(2aq 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

dE=v41E*)oBSMI%~V$>ep%&kj+Nnv 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 z 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 literal 0 HcmV?d00001 diff --git a/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_nfc-composable-diacritics.verified.png b/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_nfc-composable-diacritics.verified.png new file mode 100644 index 0000000000000000000000000000000000000000..1925ebb15f61494feae44955d63b2566afa52753 GIT binary patch literal 48958 zcmcHh2{_b!-^Y#9rVW)nYg8kOkYy}0NsLM+*%F$vjUr;~%&1g$6H>$&OJyf(wrDX1 zjX~Mhvd!3IjLg`c-%#guUf2J;@B8{6$MYOVj)s}v^8Ib^&-?Xxe<$>cA&hhH;k|5Z zY@8SL&tGL@+b+Szw(Z*PUBF*ndOf@c{Kt;E3OmP^PZpT~e%XQ4zO2p0R*2oVdTS@} z`<{FH7AQ70uFtF=cA{&h9UEKCw+rXBO?+<5tX1WoX)a0*pHKD>t>%1?AJE&EcA_Cg zmVNON=kU~Gvp1K%yR_8vyo&Fh>(>vMSUvw%F0~o{*c}2zI>`LY$M@}b8UrW`R=fV9w)V4JPavaUqa{$E)L}vs&l)YLftZrK zC2B<=J|z5sHn|?9;V;z}MWW3kPAp8$3)$uqfrAQpI=j<)PLSgLq@r-;-A2{M{G6f- zb^Y7MYT!!nsQh~0#=-`}GuB{Zw`yC_5#O3y&-Po^eNdjuHO{yv+9w$|E8Q7)?d`Wn zq`jfLI2TuuYFe!MlrcR6KOPnXRX#W%*imoQXyz=CO_X%E_P`)%Vn*V0>`1#6%rZKg zGm5lFWMC-AAM`7^ouTALOC)8&n`avn-XFjoS%6y8`)Kza4Mha(#^rD~_t9>mabyYnJL*l>_ zt5@_q7Ve<4*YAWM8_I3&G@z^D3#~K7!W%r}88hQrQof#Vzj3NMy|lklDvFC8SVMbY z>(^eFCCP&2qas2Tn+lXFgf0zY@60U;+eY^XbK61$Hc#d7K0n>(Q+kG~(8|=%xwLF} z^@-({jjoLqX#RR-R)o7td6DQO??41W_)GSww6Z1+)eAPN{Pl@ob_rFs%p9)Vf-#-BC07?&U9ok^*7lygglqQPZI8vUF5YRfY{T|8}^)hkamU=Sg`p z;+f)a^u!6hcF-JbVyq%^sifXbEJ6Vvym?{F@6<~7?jC7=z%aAdGGkh+boXhW z`N~9#fpmIeT6Tz)K)P33V--D=`bO!6eh0r$W6qK+Gt6aBsqMMTs8E%Q`)l!)(2lYO z{hHpIz5*G^u3M$2in38}W=I&5DlXso6o&|g0dNzKZx?#sszZ0l`v2M11D87|`UUru zn(B^L3YLZ&4(4H7IW^I~NWZ11rI6_AJGE)9c4y`i9A($D;>IrouJiuW21{n9F(&@~ zJgcEE6~~-bgK25vK@TlOG|__BJVA|{$tI*==ccY?a}3*VLn9CrLO{I-35rareQ zqD}hMw?d8`8baqYBSwKM@^u-o7p7_0fomqi8uPNKtMpqKPc6x%me<$C8_!qo$*A+Q zD|4uj%U+r`HbI-OW#?kHZCe!!?Jei85I4CCql{9M!;UQhJCJi1R_|foH;KvZl_*1n z7;(7?D%1xY2cD3$2h^Qf{4RTaf;|@VCFkPng@Y$!x4C#Ma@lu)zEni1T1!~iy^9p~ zAcS$RI+)pny4S}H4ImO?yE*(d<|c_>^RUd_0SzE5uEnKUPu)}lB|tf6f=;DrB>oCv zhN^XDzF5)j*aaKkVYc+lZZUG@p`SxpZM#@j?@ez5^Rm2IVm7C{|0+-Za#j>@c36*Z zn#!m!AM1HtEzWv`5ANE0`p5rbJ#a{U-!}z-w$6Hx`wDMqz@Yg5#{%Kj$3BW!%L$~n zY)nAcG6LIY$7)w!Y%H{FFcBM5wZsFAzM=J{mW}nHjg`Rm!5}4C_XNZVz202QPz^+g z)4G*2oy}LE1sv|o_rm1ZmN5&bw@o=j0k`A;IrF@a)b$CAfKP`t<}l^XFomB+x6Umt z@7GVBOqq8H=2la};%1e)D01rqwJY8)qULMY-fb*-`yUmjsRlvPABt*09yTpau6rl1 z5~RAQrsaz8^$9%iZ(|1dWFTI3uYYLu#Fe4!124qz&4J6@8$aeMxHYc^n}@nSRx0$W zoIAq-V?5Us8h|E@Bv~XH{>oOa4G$K%opZrwyso-0%_B+ZQpU;!)S2N)1@~|Bz<>kS zs;ry1OiyC1f?&NEU2?>`Z);C{tKB0u=ArAv+950Uxu>@*RcB;P3agoitG|hXd7Ls< z3{m%<$r2l;LLj#>rJ9TiY(EGg-kjy*3J)W^4Er`1&<#KWJ8veA zzJksj-tA0HKi5N1=P#VZLKIxuCa}Zl*7FnNrn$>)JjO|Va#0B`J1iD!Dw(E zdVD;0v#_6N&b*_D6)~->`$cKk$hdm`P>3Unk4Y(Qn6JBb)6?+C(m;=@DU{ioJQ6B_ zEew})SXG19Z!SNm443G&eo*6k%3V`|zdPX@+3+3rt32!nJn(nZ3PlbuAa;Rw!yARlP&F_XEm$kT8o%UoJhjw*2xWZ)hvh`|@{rxWJ*H zgCz%fGXi#p8!O)$^ivcSXJqw|$eS?PZ59A56gSS0p?lH^JT)`{<2?)ZF)ruwL8QRnnY-Xt#W@ zuE3u%6DE=>zaX`8d}+HiC8p0MW+GFPTAjo0a zu5>jMbA;A8B)q6YSr0_)Z~iDP=i%r*xV9_7<{Xj^Uvkm9|Mr^X(ydQ=Mf=g_s!7gv z{u=8~2{o<2>HIR|d|g%m5zzGB%e0lN7dTp)V zwwF(*dGqOYU$vo4T#GHJbA66h8Yp$km7dkeX|i40aSu$k;E{J4a7;*%H;HGoE(tN} zFnUdb$g?s{o^a$^sA*War}7ThlF5O~6A6wds4k3XGGZ+>y~p;r$5Bx`JrhufGqgZ<)qB9ab?D^^rej<-LTI2+`vnY%ELW0Z5Vk#7Fef!p_#SW{IN%t|cf4HV2 zyl$Q>$gc5BRA$IJVBz4UPJy_SWxB#LMsKF%G8E$s)C)~8lBO#LuDYNX*8Y-Tit?-+ zFzy!fD=xmDng!%9)>WgH?>GHAxnxyT(@=D+V6jN^g`v4gk)w{iL(V_!!4RGPXubQK zcU+UVfOuDh9Xi_HbZB6uAle|ex6fi^8s=r2Krk(BSv2!-?etQ(WU3_Qx9w$a@`_K@MrGXBT=f)0Z8w85cfyX@bo$GPpS3#0iHY=Z+TX zStVK`)V+DSj%NyI@I4WvwG;!XOnM;N#1%IuSAzrN^42C-J;8BVb~tf6ax7grZ*k}d zeA)lzqPNQ%N!DkSP%mdZR_=M{=^mSMK7vXXK^Xf4Yc}2tFS1%Pc^K*|(H8tSs8k$$dXFd;<^2g;Czg9~E z5j%NXS?@n$@OGbt1uvPCd9?c`*UWQi`fH>$5mIOQ*NO3)yf1oj-nCha$jt-Jt|EMw z_fUS2?oAu2um8SRU6@aNwgf9wvR8 zhI^8b!~ebiLjYGRK54Zht>9xqDb)jCTE7~by5Y7GoYQ%eKnC>sU2TgN7UtWT4E~gG zO=AGr{D3wtKYM+9%{TlfsO|{O_?}CET+8+C-%B3{WKr$r8q(bz>yNdZ3uvKBsf1#t zb!)eQA41a4S^1r5p^&b7R1UqZHy;-&i!Z+BP=?yL*4i;*VK)6U??gxV2eODY-<)Vt zXz4d}23W1BqX6Fjp?EG{b20Xg?A&#MK9?I>!>M5`;R? zUf=bEhPv$Ub{~uw32TKZyf+?f2(2p{6rW==TKUQ;kzuB`XU(y266bz^vE3W_K_YVktb^vPt6 zh5Z&MtDrj`8%FGOtdeYT@XGXFIbGkuXhusl4ELWyUh)((4UY4Xg&GlkX`fjO>=G{` zO3~W{WnT$L;|7#7pWa=Z$Z;bDToIpX+h3#>*h#oX?p71d(&L(tlr2Z>j+>JsZ5wf6uXT7(>~?EUJom5 zr=-$CUo){S-mLxwdZzB+Si*E*2fQ;VKk#^yes70&aHY>|gVF;L;l;d8^!ccr?wW-y zvq@fF4lAd7an1BQ`&)aO+(KDH9vB>olxkAy*~rG{a#(K|JOfU-MEYAyzoT38RJ+Vy zWx&f&bcI+md{D_3>+qBipAxRrC!ka-1tmv969_1Z(_Y2_S0D4n!n0AJrJjUucV>?C z1+#`c9x~)jN)@W*k`QdteKMk)+q5GwM&(fIOZ~I_9GEe7JKjyHG-|XF4u`LXX*4-h zMq3P>6z_QuooA(2rrQDeX4%$g-<8}@|1KpGs}{P14Dx3D+8n z_c|MyWd(T8H)2j&AnYu1&HZpmesZ`|MvZBlaS3_Z=r`}uV!z~TMcen7$tgiAa+lE= z)!Hv4-O+ku8t({|)5I7$fjk8V1!Z53U{b#J1pm__@49%GB<96Z7qr5)UgXN_6=iGn z8e7cwG%CiOoT`V+t6%*i?(dokkcNhR>6epn9@?ht^I5xu6TVeLel(=0%H#weU^)y{ zoa(GnKvEOov2FaJ#ARNmXQpnq3NBKk@jlt2kszf7jl(okg^&8MH3v73%7l}abfqwV zPq+zl+O-!pC&5xroI&oW#m=%2Csx5RlmKq_@>=>qwt~r6AonHE#+MI&))?hO z?y4(g3A!uN(ECPU5!MCkP;`nqe15$D8iIInL)3kHh^uE(0&6Ygq_6LKgW_8LGmz#~#GMY$-txyRzpyX>5X0~QH{B&JV zRBtj4i4zse0`5_A+tzR{xq)4y@)S~FE3y<$zeOp%wLP7(W6hIOa6sSDB`~EPeh;^% z8k8+sv>4)7QtR%*R(7T~8cEruP94{}#+U}4LH1s2QN!jdIpeJnP>6=Z_FGRsy*b!( z0a$_c_7?QcGNBJL-Xdpjo*CausH?i{#~yRa#+FOESb**0wy)y80g@pzb-b!NWy(dI zQWmP?vNneX0<;B)2C6ak6_5p`q8Q*({Ta&w7?4ZjGP1r6@b#D^ zgp(#}BWi&zir~OOhZ?22GK#Fn^lr$GE?SNqA9M2S+1rbm$2qW z1QW)!&^4L-8$mFX!)5h>oGvC`gwQx+@lSZ%oj0 z`Man9W);=t)v=MioG(I=Y5B?6O^!(aw)TuMQSKMfFEa5iOZr@aYh}gvoRO@88e?mM zMd<)R35{q@DDspSFQgp|vpc-GCV@~}sGm7xr_b=gAL`k!?Hcg%aoqZJp)b-LloaX6y7{^@5dwck8FmgNjz9PKgHqe zif!~3iEk3E7L46U{uW1(Hi0YH!kpUgFU$6xy12UIQJE=K9MI^fTx|yx=t3V|M-Nx{ zV2~aoN4=hCh9b}>58FK@DnF1j>=?7erZ3Y~!=#`_FsEFfDm8~nAv^Lr{Q5(uUYVz3 zHHDC%noTAUkmH<_jM6Eyv5xR?%)r0* z&aq~bbheML0#s4YM+D))`0}Xv>17>$il920wN(HntZu;s&?x*>Y-CDc1P@Tc1X9CS z8C`s9>$7nH|-zsJ}kaCqb{1K!jVo$LnN)(hR4Eios3*6tlT9us&KqJlE=NO)9ix6!na6Y)qleU zONNX$-hMvj2JlDEOsR>KM`dm0QRLgYWtKBtBm;^;ZlOHjReexZw5ece|94$V+R(5D z&&*!ER{0izyXgvZB=1srnY2h}S8uc}f^|&*e!qp=Xz2ulXTna3il>B^wZ(gn`&)br1a4#Kj_&Ff1k7+65sz|F$ zA;8f>@==YY+D{DG=-<93s%%JqbcflCL;hMI+gjXP=*&KnLg^>emahc(cFv2Hr$N_D6;)Xq6m zzkMw90eJZ5PNU99sV|Cg0sKgM-RUrB&1VzFM7?Hs`j+Mz^``^t+z?$jyOzkNng}Q=Xh80y~RF)=X3-!h3%8 z&}V>?*9Kgfu@^T6XrQl+dM2##4<*d?)Lg^$$+51<$1Z1g=u7x*3)>n80)8)@^BoU7 z7bS|{FEeyjV@YH273q<2`5R6%6(?2=#v~`@li^)(#kP!yEj8Lg8rsn_--xl9OGC%&sY|X>Xd`&5CQ}b)~4BkFcOKnls)EJV{Nbmn1 z?KfC}BRjj|tTzk;c?)`R2*COS6hU-hAAlQjwLFJ+h-DS?w~)0wS_c|4rdOt!UI1)q z2L^WeHCAk9?j^um z_R@q+3=rsovDt40U3jt^c*>elGK#Zw_@~kYj!Y;*#-kPeA7VYlvYa>-EzCXKV$O8y z=s^$mwS`_d1Ke&xQDk69?r6`o^8)5a0b)=yKO6*k>>K5D0jL4q<#vtjGFkC_gK|LV z6(v&_aR}o0FWiFcL(z+mR=@e2**KfqLelDP&Y0d8mFxQIoAc7l$ic^_$EAnjT}NXSyuWuT*+z}5W?6vkJeK+1-v1^H z(xwSiD}8P>pW_uo@c|$6d(jvV8~OdYHpJ07_>9-Q?9GRJ?2B;;?eGWNIcVCfGU8sc z0P5J#OVd%@(1MhflwH#ROo<=;d^2;fE9T~M8E{s^hpqtZN& zA&W9M)bn8LlGnuo^8Z~2JI+Y52sivC+_~H&vdBKFQ{fk(sXg^>pY%h7dk2pa=$>8W zZA5AqZL+&yykjK%Us%FcWbDA*)do=YbuMdr;wm8lJmXP&E03k@pq&M-G0j{O(K6)h zX3gNgctbrxDEQW)C?2k^a~B#k*cs+;_dGhPCl;87^Lmd;IVvEFSv)7g(F;`6krLtS zz7Y|tc3N!&7CyIuoN=Xk=GLdX-4hM(wLx^sL?up@W2DlW!xA)ghN=xqOh*oB&<1)Y zmZT$ATgxinofl9lOVSzH)OK>JI5n{=wCs+RjeSitfcYKGTc4cjO)Kb!61Dp~2Ir<{ z@}Ubxq_54W(_uiJFqX9X08-_&?XRxDucoBY4-aab0Zx>)DeN{wZOP}JuU)|^?DlAx z{iT_#KPx+|wh&(sa^XCb{IT|0By8lnI)5plMgzRurN6QB*`A}A)dIqsNVW;7ipjlJ zfD-0E8iSi>PFdGP18zUG?Ufe`DK=b_7>+)r!ta6k7qrK#kcNdKrI_0$6}$kV@J%HM zV0UIY+;dDD^ABev^6 zal;Z^nczzBfyp3lrlVN77$LQiIeAdsKPE39`WsxQ>Qtc?R2z7C)bTN~)lmn7Tyjge zWLu&2drGXMV;3Xm9mVwmEAtmXWPt`elj=4Kn*G)0qu5Y1xhSxdVl#)L~|vXWl7=2-Y>g%i{ji zxXZepM|F5_cN0yw&yiF`(|U=oMlOiqn*AwCliEmG;t^KUK`nUQj=x2A^l7iOLNZ@# zOCIkl*QulNRbW9tt8lT<^F0}(M``)O`Lf&+EII!bjXv_5 zO606Tu4j-MTvf$kw%3IaOQk%pXUL)rQ>X{slE2?OX^ne4-@|g=%tpYw>_c_7u^^36zkIJ+d zfaWV%{u9E#06zNm@&2luO<|&_18%)2ck)a4KKZkiM&W4nwI+TRli&ECnLPe!ER`TE zGxJ%NOCr6yf_!W${33s!*TTVUm3VsdLbRx0Pm{f!rOAxadp?|%*G%ZiFJp|$X=CNl~vs5Hvv7DC;;exi8PT$6J+v%0suK) zwLl0L9qHn{KCKj<-n*g!7{&EJoZfK#!s`t(IBP09SL_@$air;PVU5yIF}g4j+FfN+ zYhFfZaDDd+7c}Lc_BAkABuVUSe89H6!JapO)`BEBO=d2#0a`0Qaay4e!E(B>_Boi! z@*JRo5ZCI3CEBrEyZZ5aW5SNab(zJC-MA82vm0#L90g_!UFo++1R$c;lL z%wpx9P*7(@jTA^~R8leTb1}-jOul@uQGBulKQI?}*Ql{l0l~*Z8qZ;M?i!0sq1OGf zz+hllfd7A-VBc}?NyNDY-D?MuB*L``ULL~|Fw8S*e|yoqdo8Q8c@$9FQKVgQxa=Xi z=ZN7gDUaNGo+-_%UAr0pAb?z#>Q3F=fjV+4ls*Z%qoz3YbZS8C@c^1l%0i$RMeTlx zxyUu~_`XU#@7;q_vXlb{#OIA2R5dGr>=pp;r^GkmJqSA!4R34=={&2NTE`?MJ#s-z zkEWN~)MA}K>vu->fXiz@Y3mweH*s#`P7)RRGPWdzBpu54ouqhK#+#&e=vvg^#0`S4 zW4_%nj`t%qf`g(zN}MCWPf%15KUiCQ&hne2(Sg9hiq5Jwn48#3S&L@vxpMi(AYm2# z)#a~(#Zf4#Cg}$m-z4~Lo)g^oAjs{in$OP+IV5pP^Ne|6Y|wun=9+H@1UdIAI`F5Q ztk-h3`ntjsV!G8I_}(e<)+?a+;Y5WKdYK4Yqe(%aJ1NcH3%PXm8?g7=zPn#R3RrpCdgH6ak#;a+%s=uQ^X1R4F{Udjwl6j3bGxghhC+p-!Yv0eFn|wcj zIxpnGpxsu5BgZSgp~sm61YE(TdF9*o+}Wf|hh}@p1D!ig-)E zvmP3BM)!0@drt{0b6bt`0nqd`^#(9b%{zvJx4EL+>4Gru&VWcsL{7sGpBFM@*K2r~ zyTiKrfa|pvImGU<$nOIbYrJXF&|65shXmhQKL&E z(zEUj=9x3K&BJ$W>=e23sK%cuZTg{PzL?qj(>GQs9hX=#i~Ervx@xmMA%-iHD5;0J zEqqzMNHB<6fB)35wpie#_mB!8SrDn$oPsY94&c7`^;xep+m> zFs|za@$kr_4#qBL%38uqIExXEh78GIQgG`f8nu`dtPS(o>dOvft7-wy-H!6Q$p9Ty zZ}XW`qYaMO!mF_7M1V=~mB6gq2p0_Io`-Af_vYi0KIa)XAfBfU;xG`7CGOk3{SEp1 zSsoHdE+!I!PUuM`Ul0pPth`ZD9_8kVK@IIzoCqa9XF+t?c{5B}luEeG%x~(i^f&51 zc`~_8EloZ}%+@^cqw-xPssQ~bToeH`4I^vMRUYi=vBvN1(Zkmq9wBki+t!$XqhV>3xokjl2JXt(t4)hQ>fUZ1d zvnx;GS-6C1?g#A6T|OpJ?LnFBf|H8(CS%Z=v!8gFA9^rhJbJ2w-Y9{c+6ip=%R4dH zeCDJ&` zao2iTRgGU@9Sj9+0VLqUF)&P$YM^2`rN>vQA#Pc+YH!&>K%2^88acpxWm^%N)!MO- zTK2@uG#A+6pCRfpz4E=!f_}UGU(T~;&XRotmTkmICO}f+Z>kzL%oG6U-C6u>ok4Qe zHuBvxr%UP>4YGnA`ZI{)0>vVycaS~UD3kt^n5 z*|Oc!(BCzJDio*@{9-acaOsjJmA3Q^Se+gEW9(tLK2uP2so4*=KU+m%5`PIP{ts*X zWxTMf8y_*Y+tkW>dO;k>2S{0Th|Of>E>GJfTzvk&7QUs=Q;gPPQt%wa%P$)0i+ z2oE&PQ_d8ybNK-?;U@0A?g>3Pf84*ur=Kn`?TEAWp@DI6+I8w>RY#*p)1#x>V(@UI zceKP6Jr=XKpzkOYmXGil7V-EC`L9q9>#X~nDF&Rgx8eiW3;B3(zhY^g z^ODSWp!it6`CV4L(A&%BRetl)s%;ilqh!}59w2ORitsv6?CZEisP`yLJ@?Xd*T0az zl+%7{8^kYdh^6aM{%H%GCANWlOyeCYSvh~z92iCoLMCB2ea`1{jef)~o@X>GBrSkhywLLC&N2lr! zjD!il3kL=QKb#xs;$Zt%-QYb7a8M(>+G`#6KUG8WUsc2T;p;FK1)vtv| zMmylq$%v{b|NIk(=uI3saY4_Pq)ryL6$_?0adVmXU%^5O6|t;LHrEFYscPYy5f(&W zThhoq%*;m+M|B^R+5SnBA4v4|oEO*i3cPL?!HA^Q#}j|7UJu&Nfzk!MJ6_C}oE-Gu zr@mL!@Bf5@%>&-e$*qp?4h`P)%fBu@etqZ&TA-!Z(tMM(7mpJw-qkDpnv+J*(Q9*$ zXcP_KQKm^*PJe^bW2;)%c|*0}npk9BiwtboKXiKo?x$#vc~rD3{Datqx>eofLcv~X zs}>+<2l#Jfn<})w(X?VBL>fi!({_S1oCuK zR~2e`FPUVUu|lF(glo_;{H=4I;lAv30)y%%4MS*hYPE)PVx|OgcYhg)3t{E$w zG@miSDv_6CT@f;5a|B*$e$9>T*09F_{D`5j$u=(zG)=wDEb>w=S@ovBGC-_OC}vyND0M9vcYybEnEmn zPIa?7$drBqCmo^M@hvt_owrn$D^wc7;asqv8o2MKzgHgaifA|zC=hyU()s$8E7kFr z-U#^Y<|otR7xT;4clnHhCZ{7 zIOiQ}wk-A!KJyofNS>cc*tuPew@rc_Yq#Z`ZSTqMQw|Tdo>!H%`?}LoxAifQNYkE2IXbp^=h&Jw~c zuTe=WX6WV-+Tllo&+mx2$5|-@}4K|65q_0=OgwA(dV3Fwz7tf|KF&i}GJk6CTKu;%DO<+MZ;JcmsfX zecHAS=VS9ec27X@9&p8EdX`XkstNU|C_GB(w_$cY^r-L<$gaxt5ZPnlT0z)v96wwI zkHe>r0Kt|&nZFgT3L+?+`b{-Gaj(_{(Enbtk=$GdOWVC^CsrU;HMn(YNG}c=cy*%I zfBigFr)LW%kONwl2$TI@jOSaKz|_r5pjNOM&FMUVS62SQ4GzHG@7_!4xRCGOPj4|{ zR^Ar8`vDjLZfbe-3S(DqVeQ_v6GDTxZ%NsPJH_91-YkPK4mDX$hR>E`X!^KE50~x0 zUyV-sxg$TDEu{OWe-kIdn#|%TJm~`v zryK662kQG2saj4i8F+HG!<*-p7~SFbm2*(`1*7PhYi|c_M;2L9&yhOErqM0QMy+#SJ!u! z?gM0fU1Y$x5b?q_Av!m_2V7F~#%ROXJ@Zb6gj6STyp?454tC31+@l?KhW4xO*sW%6 zXF1#14;4s~TM|?m=JJ%}JuFhmF=WbrPkrpD3#L^ARIhoMlB_^wXgBTYQG}DQM8OFP*5sqeVQOhX?_3S&)TZLBz|@|I3*pC z*fo({=)Y^dq7j&UM9HS#%BQ0{3qF8yYf%dtzMaf?s2djsK=UnOqL?!Yo^4o=_z#Pf ziQPz>84tWN$6Smt*NWDZxZifDo#=3{`qXRf{1~nkw4+X zsKPJWtoR?!iH~Ahi2t|vpU*BJ-ekak;q~Z2zat|9XE3dxPops&4I?c@-}1eOo)Qsp zR`cnPqQY5~@PCQwMcZ87#G3wb(oF$USlzpA`6-;1CAx@;z^I_|ocBXLeb#}a>G7`< zDK~iqX2QOJ8QalbT|3N1+SCAbzFRmK2X2f!$Sgt=*kAn?W0?P5izOYcdWlx8sv(+> zWJN*9NP}&Sch~Xvx zi;AaB8@tE&c7^xHaXe+U%U2p|o}MJK#c4InbYR5uj2%YbC1TSR@*?C{dPDy$*@yl* zB`NV4;+3tXAW7TpKWOg@kc)`-xy8~?<}fFBo>RS32+u(DJT&#!n8L3$xST95|A%$|;&DIpep&K0+J^wd z1vOZ80T37LGlZP$*i~F(0V&!pWmys79R3eY`n9?)-4ERMaWeUGUOm{~`dkoe-155k zn2be9s$%g!=JA2?zTr3!z18-Uyj3w<+a%6DdR=Hd{TLzW6-IeyPVfUr9wk=WT> zomVlQWlzBwQ3VPl_emiGZV3aG?FELv7Ik48i|G%ttmP$(j;KSw-b&jtuUlPn?>S7! z7RKKU->DyWW?_6xuwe_I!jZRdsMe8|NT;Nv|Fdm>6 zZ;g6d!C!X~TKaxrN)p>%rFEF%iWHS(rTWX0jES9st?B4z#w|Df*w|G>6!$jr++vUC zwR5wr2WbAQ$W0Q)*)11=is&8pr105HsV@?Hx@ zR)s^bvReQVm=>`b;$aE)>H7NkG;ToWxyaKV{?CAH-}+5YQOV70UwfhQU}IKQLhWM* z$l;jKql!d{tjLNO*QUl*c={%$pPx!oz!F<}5&P#p-BVW~wpNMPTM<;pj?S4Z$lVA~ zrSB%|ppIdz&y0($=B~Z|`LH?GdA0oO^hc4JUf9cVG~)@-V*RLgLPT>p_F?ger`XG! z-B)EE+1K>9AAO)cB4!k zqDv>H*02`5q047HHbP#la7WL6C%pu^@&$BRcck3H=SMMaS~}<)UQq3UA0>+zJ{b-Gqc=ySm{Wd-^39{%o~v%_$#2<2_vYV8n%+QG zA7c)Pyu3?(rqpjnZ(a`><`NfeS*rb#;G;3%ofs@-1+JG9h&IZ=sb+YunXMIst;uL; zXnv+}0fD@d`~6fRT)(q0E|0AWT-jV z?lfEiw@r*#XnUl5-y!RyZlc_R+8l0(4|;K3ErWGQ?=GT3TY4Jcojleo$9#NThxX(K zFzw_pM;B|xz;R=31N)9$wfcN!Y5{{Pvl}i~%5bwu$l0 ztDjf_7I_Q!=g>F@`mIafJ(Wt=s=p{|AqK3{q*csQR{*2{79eiU)q@-p2))qtL3!l* z<3GW>e<1}}>5I*bUov`EU~^sV*_0jiM2j7;l=&95`28+7j@sUjA!y&Z|J5|`BfaT6 z-6iHYBK(28SQZgG=%BAEsnJnh$pCWor>g7KXxi2wKg^YICiVD1izG|xu!(gc)ot7x zaOaLnPW`MSvA;-a>Jy#3YWMWSalrm7{)he7BMW~FCq;`pe*xP2=A)6LhhG4pdlWlv zAiao`k6_KTYfS|Xgs@%M9vr+uzFB!Drmbx6mIG%fCu%Tem`Bp{-@kr;(z;byLGqiX z`}<0W(5Tz{lyGBDM(2n$hBAy$NTuzmXz(oKnNp$(Z`KEdrm{(}tDS5oK|k1Q61Fs5 zyj-ei;9jjA`Vj~^nG_pzoz?2S^~2HDrsUSMRjH@NS;NP5v7biWln9;>cCXEZKxBP? zGclt3#Z+7W52@od<1#MgyNd*QJlq^sY*@#juc^js_}}z+`h5ToLg6=-mx8N-4I2vU zAsRI6nSBjQsm1;#&%wi8j8fIw81z-lK`AEh|4HS^gw47lx=YQY0&0h@c$0f>NE1;K zSs&n0BU?0ZM;_^*4zqn9j*!(kTOs|yhcidKJ>l?$?$;q!_^nji zl5HdNq1{clIJQF9&MCVqr2w(AQeV09CmsK{sc+L-OA>eILzQ`EvLl8q;zDIvNWMfo zHOxsRADDJ0*qFWK2)8F7L0?RYa)npwru6?IJ%G80nXksq_|SL}R3u9rQ8)nRTMq@` zE_J}`%488Ml5t68Rt`)5R9qOlEBv7jIpMge&AEQK>VsA47Ri^!Mhr0n?~7B?n_mP) z(hZLjmO9(IYEFJJS+GbV6WlfoUT@4+2v&?V-&djyjB$G9 zyx05&u0-Mq1;`5zK@C1>yuJ&7e^;}pC`b`q5j8lyCi6BlVzl*m`y;Z-sm+|k+_+Rw z^7z>cCpB=~KuS%gkrLv(uTsq(&)B9_NLuy6y!zZv+|=4F`+mckm<#0O(m`We`oFO2 zXL2v*0tmUTiVJA27%Ks0y_m8Tm64BpuR>^HL6MDZM{_}YF?GOVR4-^`Z=>I5aOmV}B!lwtg7P%#wd?+sb;vETag7vB^A*Ehb%qk$QJ_lCU%=UTVS ze`A=d-)Su%Zg&&CIM86m4=|_fLRutVzKOe8xZ0 zkGJ;5%)N_>sLA2$t$H}`U|IoQ5xgTTiRW30bzsxOB=#^q=*vfHjNdYkCpP?#GH;(Z zTwW11)pc;j{pa`V8TMjXus+d0*j#<+{>+^~o9%0k_^E4k*-&O(xo!qD4C_UptTG-z z!X^N$sd#5DCGZBQH`^_=gYl%>8wodEqw4rafgWns%T>nDkBA)JoWsYg6M1N8_NPMl zU*dtN)rI>y$3d9IG){ftSUvGZ(=NNogQC6k{6~X)U3;8Z!d+O>x+&a>DxC8T{E4FK zP^&o-oHb<~hCl4_9|^tfiHr78?1^n$S6c2$Q3U{Pjmm}Vxkt)I!6EdcAfYaWWYNHe zVG*5-g35p?U`qfJ)P57+%6POI+A4N8|Lg_}{Ohhuce1j&z>NHWFB0Lj{eR8K7h!IZ zfw2QLtTX-ieyaGUe5V5TK3%Jq@k5<>@+rah$yTzUcv%lf764G&LbKqR4sQAm=6&yv zXP5bJ+1Lo9&m3vUZfuz`a88Pk#yiXYr^hY~HA_B^NvHp&Cdu4l*MAShM>=SZPLbDlj{b zwin#qC`J(Hc&a&}ARX5>8uAZLd2CP2)-`pQ3r-7Vk5TmU_9g8$QGe&~td za>lU3)A?x;NJ`jWy8M67!H3R!X2x1KFS4DxiapM6p?tG<8kpC zqA%jHy^dY|c3#7wfVTf^K0dOe0K01Tfq!Q!@3;T;pQXnw_5|}Vse_*mjAQwgdZa6 zWpD1Yg7QE+>(|ZV&x>r^4A>O+emuWB>48)@4`6vhd7ulQ??=x+N)ztu{=3Rf4~Lyc zYu&!uo%AO^e*(ptMjv>LTO~x}7ii*)STpp%R0n+ht@_ZF8MsYaWQ=P_k-S<_O|;<< z1Lce<9g?0)hHeAv9+)boQGoB`S*r~A5@BaeA_HxWNG3i;r^NKJum#JY1C#IkdA)wI zZ@p{l#5@7q5h0$>bzoUTDyI?K_rTMHZI=Li9&tlDvQaHK0!*wLf66U^*q?FTu&O>D z4S@Fm$tL!rwTVs!^DS!fAm*8DKPANc+MVeP!*ss8`>Pby84tc;^5qzGlN6o&>WGo%oT zh-1&BvK^AlLm`BYjFg?S$3bNrSsBOP^H}|!uX7Hmckl7}-hO{~Ivj`dd_Jznb=@z= z1@~~tEMe5Rx>->TS6UUTq?v1NtSDu1NNTeQDPo_#8;aPwiLXcO5qAReo4vX)&nKzd z7gr9jg^D1%i|fS$;g9amI?z+Wj_2hD3YmQwy8afIzNahJwTW@=lV&Zmyov=A>xVhN zbPjODmZrgHTrg?!kR0x!N!0@%J0?_|>wbK2c7CTnQl1*(lR57TlQ zeLKWu)~s7@H3gdIPc0s@!yOy=DuFOw8;^8WWm`^RNADUPCwHSjw%zM`qXG1I*p|=v zAq8I^-R+$7ovg{szG_Svq)0aqnh}NAaM**hG?_wiF7X3VsxQX`j;l{~mc--wP`GX& z>RZj{l{4RAxg6*ss9A>JJ2In)sqN}O6oUvNPD!OlQo+Ws421pelRWH+_P+5%4?8EN z;1fBU`BNJEFXhd$dbk|OvY7z_Yn-0dA!M;}ZVy~#hgD%7hS^jMA}v;{;&FQ2|3|O8Wae#h%iJxPte`#Xl&Tty#DFoMYgc?>b@0R-zxjL+wmM`NMnFxAuMA$$08^K^7-= zP%qIuD$j;vI9{o-)Jn?ttnFMAhs``EM_?$jr=d!~9vE(Sv$olCRKrKV&MAKck@m*z zpBbT7&twE|jvhhbtJtqz9862A`ps4MMoAy1HF@sr9;Yq2J!IDM%Ey`usN-eyH1V_p zyZcmJXGN!J7nV&WnT)WOA~+!db?8`~1jlMU<_y~K=4;>;BRJ$eg(M*5uXlI_S43lE z)%hapr8qL>6Qo5a_eL+>q_59H?D{cX1`_#;#615 zIQkFwfe!5uU4j*V`LXbdrV0z)Yz2MZU>O(r|HTo{)pui?VD&L|$YFL%<{2>KA8+O@ zR92P>!#qniYJ6N>tMSLNUfJprO)l^^5N{rkLr=34u5lLxUBfWa8`gWNCl{#LqjCA1 zzBYDSeX8;)^3M3V8e6IPWE)aXSJ+0JPlEPC*%i!Jy@8|g7)q2^>bChJl z$0_+sC8!8!d}vPl503c(mbB-naLrec0}!mfvrs6hyez8V^UYW}T(o#m`Q*6RBfggQ zQHl+X0EL%Ez_4Ro7juB+v$9hF{KX!j+_$~t#_YRWtSHtqQS^#CQ>0PS$gguq39IiK zW8}ThT}?jO5*+d8_YutaZ*oD73wYOwGCmB;agwCIFB%aR^IbHwtjvRhs5tM=;70MZ z0K9K&rT=`c^idz;b$~M7Un}_47*?zm`#sp{9lUpC zjJRbu5QZ3TJxBop_GZejlvhS6(E2<{8v5@HQ1Ib+qUZ1`@q-AwtQ#+G$G@3Us2wGX zdgSwB)STtU{>FGIiy}JbCB>&7d;Gn{gDt31-m~Y#(~4AAA}wzCXez;e;q2(?1}7Ki z9er~UO8KKs-*4Bv;f&MY8L+p9ZLYYNYzrh|7PVHvt;*bB*vG+X%vp$gt}5qNRjNuD znKK7HwPGW{Crbz0OW0VXjFz5PCGgvqh}oJ4$Q(&xN83K784*I<8L;JT$p_ziUYy?y z>kN+OYwV?Bv5Rp6nsRYZo_CSKl0weL+xKfg&U$n~0gD zDiQf0!B=qMWBy5#dz&AH1&`VyB9(;|XIZJgA z!G+y0OYGRwPIiQ)o@rUv}Z}90E&sGX1)P#p&Xot2%>)X4;3ui?2s* za@vbBKo%}vov@TBE5yw&(?tAVA0Qu03K#mRR z<5=;v{HqGv^rSjVT3BV#EF8P*^TR$=9sFkga8Kr6Z1li7r!QG@b-*Vacs#)>>^jr3 z_g_=@`MO`fd)m1b*tA%J*nMkyX4WSm7wHGMJykCnixc12tMgAxms%k%ecRP&@o;Le%9(CdjX9pM zVE>SV)9$UAmxq)u>rzWPnFeL|w&1MTQeRl%`|{igU{zNLlK+u95=OG;gYlgA`dM`S zbIXnS++rNvrc)W*$Y%I5@Hi3>dybhR!Ea|sc(fleo)`PXuQb7|JJRa4+z+Cd&pQ(! zN$-I+z}Wf3x7DDO{cqXVD-5315734Z*|#+dFolpguk*x$s3~9ziQm6B`5djn;h4a7 z*M8k%Fzk{(*>Y@cH{&hU_uAzrZG~w~&kD&_oiYW!yC-A7cXxX~NYYo@{Ft?+HU0F!yChwEskj3K3@q8mmkCxc!t1and z{gCLQ54UO4y0NPzJ3tn_-*uO8ZSb~_*Gcod<&s8K*w|UIoN{AoYCbyo_~ zThOAJiSsW0F~@$Q?!J>g0-W+Yub*)@f5F>&ndFJr9RO4uMUA&`=VQFm655IXV7&vr zWv(;BQ#&Q41u%c`#5-8rEO0tAYy&;XmuEG#*Z+9j^OajE=FH@2LTbV9N<76e?Y~9; zbsbpCN7800$MD|pJN&EY z{z-FPbWdHpT`%&YHE?1@jlkPOt;_a8Gt1+6y7WUWAmKtv#A^Zt+bivxPJx4<`_v=F zObZt6XRrFQL{WadP}05wAz)n*1;ot!8s1ILx zwPUlN>C=F6nz>_{d^T2}8CVAlI%KXw9y^KRX7bnrLC&o`2V+ovp(xePNyS1ZJ(i(b zK>aL)5Tfe&hzX(_-+ElWXN2v|{8t}Zho>vp+;<{u{!6+Xh zZg3i834`p*7)-ZiP+ z&osuCjC@+9w{e96sP_vRT0f#5@q0dMmOE&OE+feGF_Z9#uS`U_UdV8~`x~M@LgT}$ z;E)6XoKv*E^W^xEiBm%zrwq{_a~GK{w!4yn)P4I5c^|dI^v$cK$m0P5E!{t@_!XTo zLWm=nGMSsoc59sF;T)n1ZvVq}{|n{5wGjO-5!S|q*4Dnd?4_QVtfN^x>=RVCnT_+)Qy=7ZBuseMvibbo;QtS|+Un;T#_FRyh zQ{Sw|bChd=V0|7=?<6UCPm`fv1pvSsU|hI=M)jfV?z21R0DMl}u2w%f;*0Xax0YdK zzQ|F}a|Q-I^=TEc^895O%$09ic$6QqZQAO)6& zf)Z$rFZ5KXTt=1kCN4ur+!N8|pP}duyP<~cs) zoA{bTZ9%poH<^gOd23T+FOV6=;H3Uuj$b@mzLG9Sko(oCY=I+?5;of?dGDvJp|fF^ zlk>70=(B_j12J=4&c)-M;oePkFS>hA-|&>D*Je9IzbpqfCH(KQ!Uu2D2Cf+CU|W<~ zRAYYnJr!1*M*$5RCr8Hb z9ysY&{^9Av4E^R{$!DQT`~H?%)4$zw?|GdCBPPeNM4&~LnyLco-`FLpTAGhvTsI2OCQ?F<93BJ5wD9Lxrkq?Fbhq1nAWM58D zqY1&32l09i*Q6BXFW7KIXuW-xwT4BGmJ9m*iLa~K(nqtB=iIyP)p^ASy$=)m{7MGS z7#P~_Yuai{faI#s-yd_Re!Zghi&4)6C*m#{2_?xTB0h+yTpm4AnDz9GrP_2zahv^f z_dqCT|F^<@ls?+tBK+_m;Y@}+cS+xXtz1?u6GJaJ&@grSk$wFOf1_05ePFfLMH2vX zhag}s&COqf_`oCwpX4>%;Y~KHB5oC&{eIV#k^zsC_=~00`FBXX+!kEe-bQ>d)ozBr z@^VAQh`ikUL|*P}pf65bPD0*>pF3{z>cLv78oXyCD-GblZfJ|tSOWffv{-_D{;?R; zS%|8KoF5#Q-bbY7o+VOq^$^~<^sVqjidEi$pyzkzV)y{R&JD*#^Orcj<5u^AT>>}v zJdo{q92bz8ncEPLk`oL}wt4X-y~ndPP+9k3Fih&zZO(3_e~n7aSX0$1#%{ zMYW6hts&u@7dIm#`tCVprr@SYI}8e!d|&|o6*&H?HNECttzvW8D9bhdFUdc6#7b?| zgP>#C)ENBa-{e!@;2bfqqhi(hqEdCp<}Jpbr|odFCg#xKbwlH&rcV90@AB4Exjxr< zAf{W{uvJy5ue!Di;m!m_bH2o1a*;ck_z6<)p@98db$FHoL&Udk6pivXoQO+b6|Iw- zNK3dsqB0yI>VKNle8XCIuqE#{5G=Y>o2mOT~C5&6?{H5sl&1afc>KjB zAoE}DPnU7sOAy%8PUB)(SL^!`=xecb67I`@b6>@JJA$^|HU9L zT8&CK1H@de+ex)<0a}{`{NWIbAWW@(l5;}P8rNua-;i%q)w2}LCbeSm)Y z*YZj)f8}OXfUS!dxMzF<%E9+S$F30Mm=C!1SI4|)HAlIq(^wDASD#OMx=NRBKqRf6 zLrlmWtk~0Pz`x}W^nO9D&;F$_%6%tJsd!K6F}4K_ZGQ-VOF++aY0Ocg^J9HXJR9Ll zR-bG$nP$_4bx-pNL?V4#!yZ3 zDQ8@4ql;1u2-rY_xuddz8-OeIKfB`Yj>N^i*5DH=#bY03xM!Jgb0jj370Vb6PWwX$`jel^Y^@5hq!JZn{vqd z|6G<~xe~bJ0cMaeng7`y|JS9z>vo9xE{+9qy51->qC@93 zC*u_FI5#MrF?P*zF``t+v1Y>3{{f6sL(8ecm|ey-evxF<$Kd{dN%IovI{zHE54rBQ z5x4(UTEON{j%WvlOqrg=m6QP-PP745HoCwzuI{;g!iEyxSqFbyB%saSc36qg*`+Z! z&3Cu6xz2VsJjHsA(_wDyNqYg8%-Tlcndi2f{54+LyD<}u~XSU4R z>t4I~B44inn!8r7#jf-KytAM9*b=3*x6(w{~A)0-0G-(AhAs&y`yi?8`Kw(TOpVV6^#Ma_OP5(%Ml6`T$Q15~aX zcNUj*NeI(waK*zw2$g%|Us1W*R7Bhk$zT`aDF9G9uKU1Ye-AqBXXEu|C{suFF#*bt zD0nGTNqq-O-v;J*&qav6oyiLw=~%0S0`Wry+WHmAKa?CfU`$}y-zoc6CQFL=`PuxV zVRlQaEa#xehl(L{-^TpisW(1B$Q+`OUq0GfAn>lE!}?%<-|F7Uz}-oWjYBSUg;55z zbS_tcFi(l$0k(in#`pc>&!S9)bv7&bjjh-z1G52+^M(rRB0k}<-`}R|nmy+U zod@gNi{o8fD_Rr>>PLDgD!o41o68vZJ6-XW*?z!%k4b-(62Tr{;Cn2wx&oz=hP)OF zx7q;Y3NhfPcuC3neOYYvahBT)LQ)Ofg&`KNTlI>KZiI8I0mi^52jAvmL3P`txPHZ0 z2cq-*C0GydN?IhFej#b#KZR2ek#f3{NJQcSO+7XD6TBj8b;9~+r}9Dv?)wfTqhYAu zo!$-sH!@qG&bzmid#8?$PVR|CcGrrEcc?_f2J%)Ux8x0v7|yjNG20YL$1V*^G=Z?* zZz*~|I@YhuRi2q|!m&AcKhOz*Z9!@@ zyGHr3C#4{(vcs=>JVlP?jL)AFPI^gpndl+hLmlil5V2{Pf`nDwR_bGrF8 zpL}JN9U9>;Jv*95IOEIXXprU^*yl5!ewyep(Z6Qsw?^%fX>)Kyzxs)-;TQ>ts6(yT ztp=&KIJ^yexjV0!_Ss*-HMF$Q7aQmS&>SEM>Y7LpfVj|6uA2scxHAeHK-_u&#GUgX z0daE|NI+b+Of4-Hk4tTbhu>}a&zXCPLc3dTw@%LVrVottm3&JN-dIt;dYLR#zvQD5Cw&xWN9vgo>XlUyy zSZR3i4Ko**>w6$pZEmvogzwNJkIY@JGo-v8x)PYJqa%i*eNGc{^OhF&$kt~Ss!$dIh^J1w+KKm8coxl6nK9(V~6 z!)^C7e)tmvV8W%KMMQt#${cORC4Pm-Fy(h4w~mS3&8;0({{yftsn39gGRGmIh+t*6 zCC=n_(+d9qf*aPJ`hot4z8{1UAe@7@B*1!KA+w_et@}@5d(;diNZ2WB#d{n|W%9mCaX6dUz6n05M4x8?Z^Jl+R>4o+t^pdG}YiMOnTZ=L>Occ>Q4Qe3?Ip3mJ)=ztR- z+0Mawly`mv!ch@2ZuU(;Fdy-`lWheYhPG(KE1E^nH6V`bTAghgk$h`J$PS?J*VjQc zZ*kfxTU3P)!oQ|g<~5Wlfo!{lZcB%Rm<8)3p>Osk z3kpEV(j3DS0%{&HQSY*==M4NVfZVp7vECG^pIEHPgSHP>fq9W6(XXk2%%Ch;B{%2Q zhw>iJSJjgN@ykQqn||7QMZKKYY$009C*Nn2p{N@U|CCrkunTK2)qBAVg4so zulE%Y;yqq2DSzipHXjk;J-kA(_eU9j(1`ugx6NC%nFGepMZE zs>A&Kx>DXw2V84Z=4)+&1b9D!0KfM)0e)%V$Jz0j4-=$XHh67KwO+UF-%(7#f26gxryUo!EnA?>`mHi5Th&t85qA^U@6$K8v&CQJqP4R75WDXQH5 zBtW@qRvvvRT`8y-qXD$`=Dz-&^p!?eH=r{HCYV=5Y;KlNC)m4VgHQK3nYal;yjouO zw%^KYwqN~9i=+IJ*JQlff2kYtjO5!YznrK|eGD1Ugjr zd>nU;n&43B6}-=eBkm`RmS1GZ+@dXyIgkX+f5T<^$vt$G2U1DTjT4sf}ut7XT5Q=L*fv^&1Fm*?#?!lr;omSHL@%u57YfA62*yo6R* zJW`qWjlAxMF8wPN7#avgP+x1G^JT0N<%s-6(BHG}RRsUupXwYCQKmY!%IbVl=LgA3 zD8cn3;j{Zdbf1-)2KAx!T%P5U-Lip*`y2Z*w{%F5u$U+|r23d{GH%LvmRl2Jn&cf? zr?c(JHv`rmdrbTF4Cb1S9>%HbWWZXkDN6D5g#%L_q}#931_^t#(dCdDe3eNaR;#L4>aE1@|XuLDoTi zF|Vz6<6FX&W8uS&6BDhT*d^cI0|r9GM(mc&t0oM{U~% zaNWPv_q<-T6)BZ_F8kg1c0#f=C`{X9Ah|f$P|jsRZ_uPMTEQ4Dd%n{jg4;xFD-jmF z>jZ7<%UJPZ;@5%73KsR6xYM7Zx|}?#q&HO(8ofS%iJ!GSXnB|U#A3Zz!o04c)`n|e zV?avq324#t3Vc13)E9KUkJAq*0HKH-c`e})Zf_Sf$6lk|zxvo9x}zm?;2IG9Ly_-EH6vorK!cb=p&;&j5f9gli~+37(P6K?l%Khr@D*q= zuxBFhUW!OL3qToD6~>#^s=HiOwvMfkn0GmRZ~MS^TbHrpnLBwnp9`=`VkbGrJW~WJ z?opw<#G+SU`3t1FoCP2HH=+-WFD%Zyfb#m+y^vP_wOSp5?A4#HUp#+pji&m?9%%sG z(a!kP(vWq@|QTypg?TkeoMll4rMS2ziWbPK@t6a7~uCyhUxjp=SX0^ z+hyo&<{X~UNx0OUoii#Da@Q<#rd(goTWczli%gCxRT*~;u#NRS&?Bb#duR53rbdnH zjZ9x0ua0V0j!+#+z5&W}p4Y^xRG$zPs)x#TC-}x)^nBBmc%4tSRc*_6TCph_C$sKn ze9M!XZaZSc3k-a8%S;jy!1d!yiHr=fkMxWO`8(~-Np)YBw>`lsxD?Uio33nC5%>{s z#n3~u^bU{gosgbbO6ys9Jm&~1^$;MeFk;`&s5w5jIA;&sS+B2@Io=vguLWxZw>&-C zNG=+tvG%Q{_H0=(jC1u3@Q^xW!K46cleo_>B4X99I}jViuoO7ttDLhXuPG4_^dL*V zr@lG6;fYz^S43lez>^)?{%33qKRlaP&<#;7c+=y>a0_jiwh`B#+sN@Hs{C~AL*hOp zm@R$g{}zECoVPqmNc`KAdiGq;cb;RcAOFsp?})Na6Ho?MXwaS)`&)Y+fLu~S+`Ovv zK?-R4SvM9eq|TTB_+m*+Y~yOnj?FFJi@ zgbMNMb~aUsuXAsK`<}M)`mfQjgY&y^d+p$IUZfsp9`6LJ`(Gb z3EoUJPudBQtGWaBk2jtG_jlmjyuxDUUl{ny*)4~y`zr&^2hv)nWz_$Q(0$!gKZZ#M z9=?!iKgQefgpMAPIZz)3AVZENY5-!-T|*m0Am~kPeO2bq%)71x#3bMTF^3_fTTEc`su_Z2Z@?sFd87i!J_JpHQ?!4QxnZVORzb{C!$z_g2u*a{}Ml_tCM zp8H&0}G8rQ6JoaQ@8*@}mKrRSN*~I>|E9F=rA%><|(FbjCy3%+1jMZhBk<|zF`J(QpFg15P8?fpoK6Z17y{RPUhoq=aHZam z?1y0ZY<`U%R$u}c*}vHYP)V}g-wY9-8c}(3ohRuOrPG;E6owM{6}~JIa`y~F(x?Pj zObCn+FnD{r;Ru+cUFUO8i_TbLou6^b1h?B;!09Hq`0{ZKl#Ihr62Gk*i=TsD!~L>^ zfRClV?JE9&5m_YtB>rUMdN%Jn)NRB1qm*^bCKGOcp1{KAq@UrCu!;w`-0(LfnZES> zAXlCP+-)|Yq;1exn4pC~2fqCP8e;4defQb&0Da5jLd)=I#MA@_ZB+=BcmEBI8y{`v zdR`^19+R$Vyo!k9_cS`{1G(m+1&v|E-29xR3mH#$X*Ev^BVsQ}zlUP*^<|VnTVb~| z4&}>uo-9x6-Sj_P{`)W=FL{5^Ie=s3lkyt6CnXmDA~Ic_WU4c(E2?kPeFum*MQ7I_ zA`Th{>DeZANQ7m8$#|D)QBkj1!f))`R}lNQnR~(_g{$^Xx4m@6v|e3(_+q?E8_?o; zTMp{fY9DVDmZ5)Xhc-DUkqeGjlkdj3aptgJboy1v8j;#J$Owt^D{l>poMRb;+prTt z#hI#fHgk)66!1>=RQiCfGYaTB()Ly+YwVxGtW6)At8J5Ta@iU>*3^EFY87g@XF6V7 zxHRff{H@fPf^DE$V3_QRYf}srEPB+@pleQNuK3ve?@~Qr;|7Qoe~s!YTS;?d4~A1ql)F2jYSqr_PuEM8`WVu&+f+jrpo5@oB91mmkNEyU2sxeI$p#2KAn& z7=ir@^IqOG47EosJGF5j;d>#! z$98;G7FIT^oXhpYYVV`YrY2?z$t%bliS^w8Snao7uj4`+(xk2p()Q95z?*cjGXunf zI#%(g0T6`t4g-hmRdt!AhL{bpLey&=qi0&4u9xaFPuz2^+xjIu4%Otzihw-ja_ z(Q9~nREJ_9(!;7POm9h%{;p9F@6kq3LF+PNb)dM@gAwf1uc?)NBbfD=>r@B4HZprI z$Ho0jY+t`3HPeFOUQ6YLa4-pA148zRnXjEN%vfJrfzK~cOTkiLS>Hkl%ID~6xQ~Jj z1*8#7JaJwOl45&RLnR!~`aI^FLZ!tyX$&r=@1Q12tP9SiN4z|%ms&g85TJF#EFsJ- z&=v`0I6*QXKZ)Cw$sCN#!pA%OBNLZbEc;`+Ud@N;y^+!7BWPGAi!P{;p{AEL!d7l) zM+%f!LU4kp!FGZD7;eX|UDWyg_s3wLOJs zBQH4*FliBDb1>9|ulc*Sng{^i&>|Mm;q1UmRh?JP_45C?6l|zF!YWa9SpD0MrGCOR zkHVwp<>j-3$Hvf>qr1UdT+|La!VXnKu;bx(6syEV0Kr3MZUMJ5$uy-Emr?f*`i43S zN^|Z|y`D5{>ER3$z3)H((g@Q(Ju`w!|1t(B^U6AWLe78M)AK~sUC?nkj5)Wd&OVjv z2~BI9?Eh7(Pij9KcGy6w=J_4wGsVQio^WcLFTCXq1EuYM*L1h~bj1g#4}-B#gA5-G z2n7JYr<46+|E;|7=@VD05@;{85qXS0y<_M~J!Ev>T>>zrmmNGSG5W6 zq9D!Imkf^-_dFlriV)sQ;h(2#_WksIZa+_!p`SH%9GBwS=!&87-L%#O$NOt-4m0FL z7!XI>5_o&?izj=|aB;D!OiDK1yr43l#Xz}%(nU@`2BSK^y|{0GWlY^Uso$OTFW@o; zUt@!~7u2|vyMx8erbgSZw*MVAS3+J=!W{smY%Oxx`T=>t)@{%)5Mg?kC@S~d#` z(!S?^rM2=f<;h`6Cwo8IwEgfrbI$FTNCJK%SV({rQdv1$=3)X=TDSWTrFFDPHm#-W zmxgA@fT5$DOKByAaR2GA zzabL4IqfgQTU(?M=LHiV z5U{y@5sh(S7t3Yvi%!^n{xkGFSR+Hw$FNJsN^ds`E1>-2*yD>RFG*^2RK4%(JAMth&4A}t_ z)n`_cFWth4EFeKFFXmPm)q>wov@TT`i!7Qdn(L;;lj+-m`pI9R+PjtEMAt{)#J{*i z1$G#H7t>JV5_Ki2P`#bkV&T5Gh1aNDKZ$qM{Z@Oom{3dTy#oz8_TSf8yGX02p5pgw zJN-dRrlb0(39)?#LhQ|QR?3yxn*zk%qaM{Uh=F&jqzU#u@wMEVrrVKIOS&FKO-DiH z9DqJWU`zOggRDM9d&7vXFz&;2aRkf6)q=gdB~F|+@U*jt@tkz?~~ zi_<&9oMY-&Wc`DM(n{00IO|>hS|wcIf=E3C@uUkwOj9n6qIYf-?sf4Zo={M(lXn^G z;PRsqZC5KZVZ#F3J;t%CF%`5`uJSB!wi!ABpFx10W%${hm%?%mE**H^;(8K`nLjPz zl`xH|4rh1=>$fR5kEyOiTJ3#!mED6TNco|zkf?ItlVJ8IWgo!toLt=Pbn1IsZEJ6^ zlkKtood@xzS?bVXonmDR{Xkxz8R(?>;?Y+fzzu;VOBQnE>!i#ii$hj)AMv)YzHiqJ zft%X&exvhhcu-@(^Pg6ziuj>!Byt#*57IO_uPXk>f;>S`kOzHhb}d}-4l~mJYc_iQ zD(hxNmG+7FDWjlU#U0`GrD~94u;e$#VCo02(J4i#@_oC_K#)!VSPd$djEwD)?VV4R zH-UDXiEiMWJ5%n1B)4LPME>o{fWs$fYWRd(*X)5{CHF-tE;00s54B#*n_dN7avjG9 zx0wTSqmX+t8&_^{9esuK6!`e7=Km)S-`mhnaDvkF*Co`(X!z=+=4YScRFf4FiB2G-}gi7c|!XBc>T*SbfL%F zE=OQf{yN?3&mVLS1Z_JJq_&+>bx^1$@9egJoamS*(fQT&3uOm4umYAQt64B?z%6>s zKgIjxl;apIcVtt8wU@sEp_1>Iw)wXzcyil~W|11W-3=q&u;9C@e}DwWF6Qk(r9Ie$ z0nnx&3BAsh6m!93q;Vzkro|{cikq@!+x5KoYjfwD{Q2y(q zjIkCC2C>>KO`TmClv#7>HhF|qA7UEf0fELU_^r8pa$N+AAqt;p2>`M)l+K!?KuBlA zkIffBF?F@2iD*wcR2tE}4}tgX<_9t2?Ir0F)Z69mH*xLm;Jn95>u_pcn~9$<+iJKh ztLUkl;nq7@EgMVkp4-c0%B>2O*~ZPx}442&I8UDjI7q|n!i)6y^rG3+VbM$ z)L}}7k;tukB|+NHc#H9y$<~j`qbh~RF0OG1@ASuUfUIW4LsS7dN&Bx51*!sIa?Ki4 zm0aG*y1@v@N3=j&1o4$C#?B6eV8K#6!rSbvP$D-6lnG#$?n$b(aIh|HTTY$VXptE{ zmnU{lne7_~DCrEApkfDR>xMBul*<9|&II3O1U5qn%9e$50Mp0fpCOR=SAc+o){k#~ zyEm2eDK!&H`ugfMD_=B9bfk(>*M%5Pf{zui^JZ3kuqG^vy%07bUC5Ub>x$b+HmZ#DLjv;B~-aXJvo=w zcSWAd86K_QRn;_dwO_u!_sjIa`Dnk10BUyFt}Z{f0Fle;xDr}T zCsV+UVC8~5@ywtJXMihl9s8qtvDOQ>w=i&HgI{y4%nHHU!hiTj6MukRCS60_$Wy}r zs|PL^9P{9XVsoObWq!fN%Am_pD3DhUNC-TRv^OR5z3fMSh5}kK042!)8NDlMiq%(S zC01{P{y0c);K9?m%KoGRG`gtyFBuo3>bRN5F8qTFQKG*`)on~LT98b-`9K?Iw!q0H zMReZwG`NlF0E)63?v*?uZwJBoe+#1!Mens z6Las>fA#j0PHJQ@Lj;FR_0fD9e5+op|Gxuz5h~v!a|jm_1GTi?J|E5^abgi`cH|0aNnzqaNi*wU0%FUC3hN37mW|?OK;D&zEc`F=exFFM`$b+T9vSbRK^++u0KtO=6h!@Y}G&5DI z`3=;-kNIEv@dzYdl=T!hxb04tHax2_C5!t*ZGG<0jot=&5yhiz>P%%>$7m(BzdZgi ztR(mR0u3mO*LZFT#oF>lE1t}4tCExZFKT`j^9^^wXB>pHC2WGwWdEPpyY;pOj=mzA zpiU5y2>!JWZ_^UNz8bt?c~{f6bRQ5tD4BVTyA6?PC=p}9D-#;HRJWnw+rJY#4EFgy zi|~XQlgwR@YkIJ_qTF(i@(n_ZL_!6<<&&^Q2l59bW%&<&{fp4*0ORuIT^mUk$9d}y zwB+Jl7gl;A|70rMD8frZShWL3U-4N!wp&hQHyasm%$aPNmG?r*oS{vyy9*W5gRW23i1vc9oNP>;xKFFfU)|n+Dn~XXPt$wHAP|LNEwAJO%x@ zJN7d@>I--iwAJf4)lmTA;WB}W?xH*A9uk)i9NN!DIAl1YAQDeHvYFfbIrt2OXg>tf z?tHCG>0Iq9ToB6dv4Q+vSE)SKasOkeK@^yyZ93D^4Zr?KCrjM*eQfC8@v>TL_q-!F)r;sF2to8qtjp4V$}+tgy6&S)0) z9f!O`E;yoN_sV2e%xsxVhIKfHE^3H^{AC5cLP$V_(mZ=b*%#Ueh&>(Mt~XbFr@KD< zgUO=H*7eAM6uaj z#Z)uFfZO*iy)t6TF0bn(5_!-Nb7=gB1M3!}#imQkfc%$UBt4Ps4mm}w)|`$uABtaU z`n1ADtE-Sh?1*yH5@4a=Wfsp>QEjsk~vcI%|7dxa{5ZC^#pl1haf9mtfX(~LD z7oIU^AvSC3HpYI5s$^18Peke~80Y|eg!+lF%bUgs&f$wYOjRfOv4b4N07M^o}o0t%B`erp7Nq{v@fY>u-X=J#J z%t(cZJXA3*vovo$7-v&_MF16?u$Z@2A>w!u(pId!*eS2$7ygY&xUD(oLnam^unFd?TJAmk`Z@{bS%|i(V%!@7vDClyHO5jJUwpb--jRWvrKk8?9<>gs?wSV$&!AM&)Vn!_M@KnR?>})e7!>TF&frMW!#T@%wki_u4A=3!% z1UtDuvZYz?%6|$NzJy^j&m7ze$`o@#RGw61_VSOEOHYaaNxg@9|6DGEJ>9TD7!uqE zl8rJ>v|aWQ)U$``<39VmoTh#CSK**brTP%nNfybV35eWFr1)26{tdWyg3nEg7Lj>` zQTWiky2mw8AD*_5#&))m#j*XuPsW1S{U3=Q`u6(Cy~L0TCv_4w=Kuur{iP94Vmag? z0j0mwWoFBV&d(JeIlR+-&x+7FeFi1;qh;sTn{WTvjyHJ*d#x1~Akh z-M<9l^MK5Y=Qpr>1%3#>fqN&y&mwUxLIP(@C)@5hva=|+R_-}R85$a(w^tCf7lu4U zhKAVPg8RKL4U2{k`&0MGA#D!$#k5C+oOk2Y7@UPqrRWJ%Jsw!H=sDuTLs3pZeU95p$kE`{~dwAJAQ7yn8^o#OfZh z^}eiNC6}~%4_3Z7ocbXP z*8ftibxEVU1Jf)MzSys^fSW)y%!B%G)P0#FUT<{hER1|W?(bCAmoe4W4$70j5(vzd zQjtrF%iB&4mA8{`Abcff%1a6uFo$M*UHbLjE4zYjyiTSb)ON#KX-w?FRe3p5$iLv2 zz9R#McA>f=xIEg!wVbwio#Y#9cG=i{-T;6A3Ix{}Km6B;8w{9hH;0(?M=E5L@UUT$ zpl`nf3HmYs<%>p4zx}Np&jo77JNZjH9wG7{3wDL=JG;C9qBkO4_o3T!_}I$H+R-TP zIFv52A&MvByoMI81b}%k;pb*V`$$w%9$$uppluvK#R98(lic`&144)L6%+ zbvT^DwlcYixuyeWo%(3k8;m`|SXlzZ{8Qlp0s{%%VJ1^b5v;O@36=K~A4zKj*y-|U zAmp>GUTZyuNi~o$G=VQbUsV+`t&F($6dsV_q}RLmbmt@y0iZVmoLmnXOr(@185?(t zcm{B#rEw{&3e7g&$h8_!&~w_9*OT|}#fkrT>RL8xh#dsIs~S;p0KoTGCeFL&lb}M` z(tb4(rdLJuZ z6k_{Aem>}6|GNS`=_5%8bacB|Ng~2WQ)xTA*|s0s_T0J0_!6VA<*spOZqUUE1MZ+j zv_gxF=SAB4nCjTyRQcwTkM=U=-ZGroNP%iArYE z9Gt779V#EQF>MLp9#PcWDGiMLPyG*`g<_JPwPN@$`XE?e!Oi9PfNQ%{#&s*Q+{0W$ z%)O2ONu`&RpltMeS=~rwV?e0470o(Z_$^)ljjPT7S~1M!bqs!&CHx;eU+_$$_Fk#jW+6><8&(%pmiGzDw)K28 zj?)WOl?1grJ>XD3mdjzz*faKl-VNP)Abz7!PmoWTNx;Mz<#ubg#@JYz`#eW}Ms3d@ z)cr1%N~PJJki_}#bd*7=8xR2r{0?>I+9hLrC6&KNAkbK-G46t^X6s z_huLvt`(rX8^L3kp6NpNJzMlz!m<01Wo`gRi$bk> zyfQ&75$dKzyJR#n6%&K4-HQ z&q@%l6XM;nM58^6!B>v1E7`TOZ-#(YFu_TD!(!tlM)pCS_C}ajy=HqRVy+GvL{aRz zcZt}-2det~0ckL5cSZC;p(e6C!2APQdU({PQayd`bLQ$IC#^i*Af<#4rkUpuBAO;R z=e`Rw30u`;Aw#~)fgMvjEt}YCn~OgWfrw04+uO%PUf=7@rG1-dzl5$m1C`bPO^_FC zd7zb%l%wgU*Y~$z-_&(UwRbvs!Tnw(I)n}*1xqlHi z32mrG+Gym8zqy^2eB4@6pHW{R#STzoX0vR-1uLUlb~R#F0Of(0k~t|FU>~G3H23FO z0ww@lH`J0l1b1dx7#2SV9-ZA}uJa?;Dwevox-xOnDj5Zql%FD) z`thPDmV<@7?|f$(bba(00&<^OVt9(h>Fycy*_a2uu$S@A^|h>4>U`Cw_i~&yoi5r7 zcYY<$wDzrwvogMkr)0M<^IKt&((AG6R(B8 z#7%zP(+W6V2GF#-j`r=ZPwJ3FK|*@Oh&_XSKf{}euSJ=Z@q}xJrfQiQ{=JYpS~pfg zH0vm8yvc0Uw>`pdAF+Aw#U{8fW+uy)46jxo5IB=8V4cZ^9W&w}`1h}S zKvZJ4PfJpF06*z{?nj2=Jp_R_MRYH`$nW(g@q1yXDOu|$@jD2wZU7I0 z()-;%OBIo+!V?)%R(eXeDk71_dHQy>IS=tLc z%D5krCO-)P;na1^o9`5FeS2|E{YlF{5i&262aPzqkECA>JYBvMB=r8E)Wd-#y-^bk z`}&QPeM@`Rv3w}YLELys;UgBNF#(O?%4yKV`|`njGH;%!PgSlcX%&#GcyXFs_lwDf zMsTYrxZ-ewdM%dEO3gX=J@u&Zg-G171 z+lSLsiU-<~zfd;3z(|;UKvm6w9y^HQU`RlE2Yst2K69Jcb-drVa4G!+$xhh4p)lhJbC_@8a5!H+?se|TQ za?re^zuvs_S(hL;>O5M5_V2zckt9+;y|Z@Sb2Ec;iH?0vP=3DG37C_Ir(aj7u3*ZF z0f3j*nx@d4s~HFx1pL2W=-nnnXQf7(Uoh3!SL7&mPv(2+hM`onmV$uTf}1Sp`4O8= zavVbkQoT1meD0~h;$XCoEP7ildySG;Kx;FWL8$mohq|F*TG8$=WkT1MN%($2)%O}b zf!*h%+h$Q|9K;G-lcGOM_2*(g&QX!ld?r5<<>29aUIG z42_=s!@hjFuRJmCgmlKn!S5Ca8g(DQTRls48mo-etm?``p(-BjCbqFxX^W%4O!&;! zFxG+fk3)GCf6PJ#t7Xiz-&Hs`O$o5R#<{wdT(#A6=K0fa`L9&nuDNBL{)bhA%n^oO z(Kls=O_oqcJPGqB;mGmtY6Kd09oIs>l_J^zDDs2sl>0}b-KPEMtWo=fu=F#E^OvzQ!?o*o0WRkGXVM2*&bY*jiemxbfNvh!slQ!U!D&DT z8v+9JKGK6q@(3;mdz`cFc%EBj9@N6dUn3amLccEFJM$@wI|y~xy4X8{$$9P@Lc(`LvM9RilUjByZ+0L8f|{gL}ByDER70bDQS3$!s_9v|%_ z$O|303xt9ncy1Wpmh7fbcXZ|q=bnrEow7qXJIFH8H?AHI2~f<2#cmY`e?Lwc{hS!% znqRPee4w z%_Dy`2Ihx22hY{F28faGlt0X5h^`=zcCR1T?0O|+Oa~R?2^k(M5UTz3U5`q+vOIjm z%5AJ9Kdd0DLL!n_i|4e^8NO>`&&*|q>F+zm+>CDf=WZWpImjX!&by0}dad>Y!Wb&E z<*Kd1#P)?xeEicoeUs+@ox&R|;K9ZnC;T%uP!0+YiWb0HhX?L0^YEkX!*tu;sH3xY zk7_QRCLaBg&p=59%XYN*jzI=?Jd+cMsd)^GKb@Sj_=+FDOIqL)2H@D}fy5XUhMx4& z&yO!sZe`s?=yK=pDnYM(m>cBkjA!)*pQ>>aSX{7E_Fba$&`}TS1UTU7NhvbVBHdFb z-Lf+DrE6{e-4DJmT-3T1DzeE0dzd(z#bI%>|F@(54jIfjZq^RA+a)13$4!nee|18xDtQPnkWo9A4PEtzyN3+?IdGn-6Ubh+dLq4Drn#wf*nzlp4!>m!F83 z$obEw%Z$(Pr~GN_5i9L6R8n|GzK(y=<{dMDX>C z;<^9XmsnqbHkIPqfuksPnH~Rk3qEw)Z{2Xj+2Nfw=w50*$&bPUe zJB?i$8fc$?KF**1#W#4$58u!$?(70`D_<8(1nwn${lTE=KX0dDf$abImioBs|2saM zSjYm4vu9s{jfhVkKUAFA*`Nk}FTBmz;;;V5JPH~r`}(8#6n+)2d{yra31-9lhu79O zK`%}GnFllL*qt^4Ej+AiGzcZCQA6>znn%MFnr@Mn{fs6lXhz+RwU{2wQKLBum_TOS oCjJ=x(Huolj(Rlz|Ih#Y&jM$z`Yv`sgaHUVUHx3vIVCg!07my~>Hq)$ literal 0 HcmV?d00001 diff --git a/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_single-para-mixed-ws.verified.png b/Src/Common/RootSite/RootSiteTests/RenderVerifyTests.VerifyScenario_single-para-mixed-ws.verified.png new file mode 100644 index 0000000000000000000000000000000000000000..38c21c2c427b0aa3058a246626d4c7beaedfd455 GIT binary patch literal 153683 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 z zg1E~{>mSSyKJ80UY?Ixz-E|6(+Yf&|q;l zHPMfJh34cxtq#tVTc*kEtWwL?7nxx#T~4k11&OT3V4AkPxWWtF3{(I~!V0gO%Q!L! zwn_X}d0#?x4AT7^n(c)r+)J*QQ-_| zpCqBNy#0e+5{jeBFnBFpWL--vbm<^muh^RAWp38vw%El3nAVm{k>>4zP^A)C@@^b) z3V{ZUIOI?iXc(q(fhy*D#w(UrTebB9JB2#eOlk6Nsc~;$sTw&`gD(9%o?yFf@Y9n& zhS!;2{rJ)qxVz5Z!$WlgbE642k8rEXfOGoxeo>K}( zCzFK_o3+x#hL{*X4B#~ACeii`v%qtf!b$R^9>wu^ow{|;8|9bi z=G;X&EC-I^xpkD$t527&S2ey{FbU7@bWZU7_oktyw+*duP_nk1R7D#SRunLe8u5mS zT*EF*xo;&C=Mfp>_FQclA-CSE2P!BSW;z+n6%>T5wr7l}t0T_Y-)j#B4_rbSV%MB&cov^Ab)N?w$~r|2nbR@VuI%k z^#~DFh6xjEfB{G=GV@}pgFL(V$X0Q=8P(a{QwT?~F=@Wvw5HDFS+}Nlp7%w>XO`9s z4O@(vzm)_B*<9x8pUtqehPlmqFgr9ln3^Q;Zf~u+v~IQ^<6Xk}BBag$A$5JpuiR(m z?XN{vBGxn~UB~2{twr}~i4iUDjpq6n-(B2|d<{Inckcwp|Eef8iIh(5%4)-UH~VF@ z=@Az@Wp2XaFi0nQDfUuhT=ig^W@EgUYGZ4ND#9&R?E;7KSj}m3uWpdrXMiXZfr845 z=}AG+cW0MP7e1M7+Q!~movkX_sF)r;dd&D~^*H3d6`(&vr^Ia$-=FMbJLnc&Y;dbT zbjNVBv&-ZRUK0^r*Kvi`BTn3Zn*6Mr?K#}{%ul>$Y9pJZy40GD1*TenR`u{6_w&7+ zeTUphOn!4p4p!H!tAiFuco;xLV*>b$Ae!#$nNog+EyF@LLe~U8> zQD)UoY{~X|PykaQXgbVrOmxl7+Ev)Rw@dRQ4r?OPQva zM+Y7r9Yt=%gG7_|!otuMg;n*<8o?8&hEi<*84j|K`vL84J3GXzE%j!5P^;YWWtD`y zc7Uh(t7&L3eb70h5++E`f4QbndMsrL=qUfD4=$*)%fzvb zVyIGu@LUH`W;|nbfA&HV<>FD1l|GPW5ZN(}NM|6K74T{2tvik{4;50)8xxB;?Mqvx zau0RpwuD;9ETGE-Bj66H?WWV`R$Uoa-982}3UI5Po(j@{gw$?&;H{m*J8e7j+^Ylo z-S{sZr8}|suuxPnU#=cdjGmK zH}-X~EM0XYr9p{m68O}F{$>q>p4)+APn%#5PoM-Gs{=b`%%pJh&kkPb;eRNWaUE4~ z`~)$*bd$fC?>6srM8Rj(DmY=vO~mGYRM0Ds0QK6Ar#pJK&z_x1SdFd0 zI9;O+;57iY>fU2#OMtC93b0iYi5?$D*IRS?4wR7$nq77lf-|WDk>uKuk(B9L7xwHE z>ip4xO_l4{7TRSotenn!<8iKl>7YR0ssw^L;zkYBcKZL6liwIffCykqfQ+9!-zKE>NA*wEMF7_GnR zss2)3nCq#>|3o%02abDMuJhYB_Jw}T>;Hq^q*MX(Ixm2#3NAttd<8ns6$&p~=RZRZ zfWG2Gds_5+7H2$ijvd-t-1(ZcgZ=?Fs*v!>J-m9oT+S?tFz<>P8gnP$_9*&&H%#S` z{VjzHc?y}uwL)^}>`9`r|C)|rKSk{sr`W6>n+btT|M|&;=ScR@eu1nn{_Fht*H;Qv_@<_?&jBLf1GB$yz_I2qIaXs>ftUuD)wqTXv5ZS!FKeliRLF+jF z9q!?QewO3Ups@(NQxKxMf|jD&=P|qnj_by61czaljw84WSnu1eg##e5dT)LLs4O5lOp_Cw^8v&E{Ny+?+sFV3dX^t|Z zd&c}oV=b{asZ)&fL&|GC!yl5%#*VdV!sKA`Wa)^5J5*yshpd$%ukMYlOt$6(I5=4M zN~mrfjsHaN>hprw=PswS1!fxCgr$TXP7haSj)k0vW6oc7QBg|#_42i@QlZ>`=O4Ns zMu{Vw$z33&4|rDbZYfCf?&wcV#c%MeGUj+zrb3<-itveNMI|g8D6(JG(^By|z+2z9 zDvxCX&KInYw{f0bGs5BO(E75M<;O5x&nlK)>w%r-Mg-SLr;nq%6b+WZVucth%~db+ zGV_qLc01RiLzJl$i#-ERD%uZlIWr$Fk*~|nMh8i_sP>)Lj`$2cD0;v6hPspXZ-K#f zjuBIvid=F32X-P9{(?Ijsj3V5IUL|EKV}$Zfj7rqYPMCEMb&By#-V2VLz`OmS74@5 z5jdKeDViNvzXrTb-t2Q_KR#ri**gDF;@@@@6=%y^cyVn~hsfLF;iVgVElSaLzXH$A zpi6?XZn#<1?NO8bFVa!g)IRYy(JQpOX>iCJVT@-(jugr?rPgPE*%&{w@-wl!PvO?{EO(PMKL8Q^FA)6Kkb%lc_K?wDcL zOiGo7S^<6x32+HdXUySWV%K#QsWVZNV2Q|2@UGGu^$9ZC!Crm$;bNj zyJ&9cs3eGgne^w_dG#Y5en>_SYc(pyRC91Q*`*V(!BwrW{aj?iUs3DXyGE15rRk1+ zPmKu+7ZHB;MM~w0wcM~{{uR9b7grI~BtRt!R0R!kaA1~4OEwycq~S;OakB3h7P7=? zg{xx6#Q<2UK9PzX%(2r=8v}H!B#GoQmIuDhr_t|Xgu3QwH=N7Q{nnY2H$l98pYBT? zgc@GayShKw$g#EX&XdnWH--EzzxC?JIIj+Dh(|bfBB868?Vp1x7cFpvmU2AKrf1@xoz3 zgt{CUg@8tHe)OjPc5`y&Hvv}%MUoRenWEWRe=-t720CLOJH>z`oLzdnM4E=(yFfO6J<&9@uw`njiQ zrnncVHTU2{u)CG9zScgsMd|J#jOkvN#KI5aih$t>qU1j$i8pv_X`6p#31`rjc>hZB z?&jsJ7)MX3R{;#u4%PGB2||c=mclN11WfwTrUCc4wW2pR-p zOHS&I(-seB>t*nlcrb7xxX?JT1fXL zbH|s~feTB!y4w<+B;UGX8 z1g!Du%2%JxuK*>p+R9yaRSoGK)Uh7zO3BgKVtJSzFamF7zTi(QVQd8+o%1jtww z#5&+3K&p)Wvvte#i}aE!Yv*P_0RE}T3S`+J)>Xjocny+{)ghAN89lw!Dey+nkgDkB zJVAmaH*H|?jKa2F#kC5Ur`gl+8zow|FpK-fFwcqDm3(nv+#)$TBfh%Ek1y&6?yxV=JoQ# z?ds>aA4(1OI8BngTr>-oO(EB7l{4u1c4e$Y0|mK#m!8UGS{kXGNe1NB5VG0$;$ZsN zkmynK-LiAS7|@Ly+kZJKrI-dS+l*q)ZVuUrJxp2%dgMui4$PW7;I9tcL%p^Aeh0GZ zJx0GqiI6mXn|G9%jZsOzH+XC&;=y46!TBox+|N=4>FQY9+?E|3x}g@CT4ifgBOS3@ zmQoY?M`k(ySb=Qf-U~jw}b7>&pa%J zzw)pS`G#K}o#)hEI!iMCn1upafxErW#B`xe72uWQEG`)S$xbKve= z<6D2A)v=G4Cllu_*C-I`RfI`+VgtUjYan?i@^XO?L^@El&mB{W*JM{_ME~hZ+xf+n z7Rr`r5(!9DhSKolBILtqk|?{33cme}{;1Jdw^bd$wtRNf6_Jg0xT-V9y0Z+mTbc#Qm+LCVvwl@RfmX56cpB0}z1TF8V%&tHZK zL(c#kH1)T>%~8>lx6~hp>xPo|O;XkgQ%d-r&ncy-4#l!o8nqJKRMv#pYkOo_oT`s`AMuVA%(^-@Uvb<>_X3KAqCS;Y-TGHa$<72&4UAP4zlV!;%}>IveX*Y7 z`UiuHKIQ8FB^pbfF{x+@+zX)*M<>42c%^IISj*~fIPK%jil#?J@=S)y6xsgY!kP+3 zmo+5^3(=hlMr;Xd-=i4^l^;Z-0U~}{i5Sx(5pS*j50Xq}0Cj<1*$Sv)OXTaz{WAu( zGU$@U&AIv=&ulhQ-s9{Y-KFqJYrI;XbS(U52IUPpy)bUW{sfxR?~+w>`T1`MPn&ub zF{%~2>KpRnTKK=Y8=TdQvp$MRzh`(LZqC02i)TGh-E&fb4kx8?=&?-PFoZ?=N}`O> z+C9EqXxnay!{Ky7$`-=vg5CmG5P&Hfi^Ngr&}SK@HD6uVGd`Wy(-Nt)%d6Xugn5RX zC~i1#TkRUaUNt8oCSr}lrSBX8VBU8>1>0_GNdK`@Ph)#$OpDPA%Z*zlW13wwlkR>)eG0^wq4&I@oeptj8;;2TEES1) zHd_Tl3{cXSwa^DyAUyBR2aUo%RT(oqB9DGGclH_o)6_$SnO~=;N12&|nHt&J0*R?p zIMrhxFy7gn^^%x!Mo^H@8X+X;#nrEEemb#O#CY1isRr5U}qH}nEF25(0tTgnTX5}o^)dO7d^(2o>1oD84~1N z>!*1AC3q(EYoVz>#{`4 z<0!^i+el&C&qsinnL&S2`jc3Z=ro~k*>ULUgNP}^-!PayY1PGfT?exWh?FJex_3-J zVicaAE-rYzs^s;&85V3j_>Tb{9|dSYrzB5-efo{&t-AvG_PC8-2N^_HK*J{vuO8} zY_s@>yU}2ndu-&bchjW1 zS?y@%z!mQ6JF~ge%o6^UL8h$leCCN=O-Ob{`Os6mW9Ns=Y$8~UX2Gv>v>V%X`o(m$ zuO_^a)$-0$)WA18XEK7KQ(FIEvYW^6YOSn(b6I7~{}>q6QGiBuGK+a6xhIpDuD|lL zCJrdbnP1Q3UMq8L^1S&~fEKOCUi5UWW)%0%*-?kCJM~8=#by7%q0$V6kBb)9+TH4{ z<{h>3;ts2VW4G1g#}~mz8N99mY&_2$Gi{g@<(9%<$|QyFKWP_P6_`aHIeLP2HXIDc8ldyeAoxEJKI-p`ygu{j2B*uA*~) zxr6p!c6ACJ7gD}$Q#N{!rUfVZv(jtm!S(U-1yk!@wvR|ZujvC&)^-SR96;r0yIaB;m?*Z=Sms9BznqK5A z;R=>|%W!jW*6RmI+swGiQcr-j#m=XsPb9+z&A8;mdG8dM0H$O;+tzz5F*a)KU$&(X83Y8Cmla zUy-5y$sqGzkgQ?pT#5fv*FasPu zs#EqUUdJXrf!M=$sunT}OhxSe{ zpPh{h!HrUzZMmLZ38Sxfd+xhg4ix^Vf;J^~nj$|a9VObiHf> z_;Pl#S>OX3Yrbuv9K?gEJVWZy!Sps1g$E9u|HW}IM4oytcO4j9)MAn}i>$AoEG8` z&2)N@Ej6chYtJLA^npbI!!QeJ4{#Vs`^pZ^bJ|5v%vak%J_o*_ev$b4y?RT;HxTZ) z4_rR%XEC-aQXho#p)Zr`Ik5o_$2F?R62C7a22yFh%?J21;!abx*x9-+;LmAI!7`9> zr@d#R(h#Zk1{6(J;?#pavN$?ZQe{OByIE^!2uo6&BnBCli=!>4R|bgpY7=YnW&vg# z1i!uxZ(yVxOGe|69j)sJeD%sAMPvS?d~N$e`Fe*zYBow1dis5%-bi_f=20w-MgTn` zpsAp92xja)oqPAaml`kuU$zb@0rdB5Um5%GV~>O;{bNIwBNM|XF99U>H_;6o++zw} zQ%;%eu>ULJ`)7l=;C}$%q8g9WBW~2dJSrU{9U9B8(DTJ@t}>g|eNsbfZfnHPYJGv% z^0O+F!B1XEk&S&k2a@j;m7N z%5^y{qTSf8cm=t!3t5@6#_=hZsv>kDE_AY$Wu<>xFv}sTN50a0ji_E-vp17HYVv@0 z1t6s=Fi5JIeZ*V$=e~nqtv9kv640RDgBGRb@odRm9+gz`33w!r4}{}0&W37GENzNV z^EsAAj|%+EMx{rYvL0nld|uiSbof0jy8$=CmLv@Jzj`M|+bU#OHNgR@bZB`uzeL(G zvu{kH;4EMsGk?_rV)mft`ZN22qg+q7t4EQqkfQbldr1mLj+aTxGww=~kgt`H!s(s- zHz|G*U0rl#SkRLFR=-{z_ICu+JKXv<^2uv5cP1H{1Myjz6E^2AMt3~NyY-rdO-&d{ zK9E*5c^|I^CR-0rycejunvYuF;Y6UQwAwdlS!5p1vRM0*Mzz|BkYN6P-00)RO(1$e zN8im%5?ecka*J!LI?N3wh9rX3dHl>!e9x1C6HsvL0Q2@S*=K0iQ55~CY(?Ygya9TN zMDDndD`gT{B0LOHNN)8tvtgLueOCP=_gM2I8-BXG&hcZO4KU1)$xVbpZd}s-{3V?9 zLe32H;Q*(+&13WUk*D@O8{mr)g9h^ad(!VIMxsU8TLX_9^(d5`&FisFd1LDUfT1)O z*3ryA`;x-}l_rw8)(eZ*?Hbp3k7hm#EDf)XL3AE+#V)>6qI+x=${|I`V+B$5u(ijs zVOCEw7yhC2ZzZcZV+``q;3r#<+M&n{3{<1YL)S3Si}A(9_ZL5s`h11;#RRQw(UX&6AMo(dJ*(H;m~P`e zcq@QL1;0BvFYy}M)j^DW5~L*H+aLR^V%VR709)ZZM%GhQjo>M`wBR{}d@oahI*2VY zP#`;u4NFeO541VH&OGh`Crjgj8#CDKoRzA10-+S+Ly$v})4$-m|q$&|m+5g4}zs zN+&0NE3%q1=n}3Qzkd8=P-D&{L=Q0j@wGQ7glnCdHXC+z)^X41?tu4#3aD^f@JnRs ztj!q+nTj9G(Q1^+L)bXg))!ps>s}XJzuzxa7|9C7n0+wn7Ze85Q%!il3_NBUjUI2= z!vB4wQpJTSiWo)+cOqf@e_QZ!U zdhRb66Tf%$L#tA-wfay+ayB<{Fr8u_*I_1G_iVtTav#_7#V4{@G&^+23rH)+XO#5+ z(ZL7Kt1Sa&BOWkk9UOSdN8sI`p7X~&MZNt(TIvL6s;|tZKw19!!=+^7z~96Ha#wmq z*uSB$y8@CUADib?)&ypG>LcF~%dTv|#Q`6hc@Lnqb#c+Nzati_l6X4vB0GAVDYna} zxbkm#pf=g@!dIX)qpWH4K==H+{oI9xT%F*t8TkSp4n9%@qr(0TR`qPH zMLWgPM@ZBHi)5ZUVe-RZj_K3@Hnj^XH zQ_V5{$Bv1B^}1KpH;fh|s>B&%eI6R$0B0#qn&_Q*EmmfwJ6go}uv{UD&*{rK>3*7F z-|J|zGqDbalwE$hcTY{}V6kQtd`8SU@rWEeg*blSXX;xp)I)qEdqf3nU&3uyi9FlZBok zJ;GXrpe*#Xp20n2c)O|BLKC44iE)gfd^qUZRed$igOO^tGsvzxd#fwXe|m0B`Y+I| z6LKr$p^2WuRlWC?c`qs<^!J>Bc>waBv3<3jdY1#>Q++>7K~aUjSNzs+ zhcA;Wx3`A0s}`&@i|H(W;QMyJ(H?$v(|{7+dZ*cC!G7*s79}1@9p9@^(a?To4VKPUH#&K*^y=L6{dR&OsU%+NEr^Be?rOLxkiX79{5P z^sh-s5JK!TG%HKYPC1LMztbE^Jy9$rWO%hsqg*EZS9Hld2{@ZrOmlJ_8M3*^wUlDB zPWIUYkp1wlUbm_a+emfm4*R3t3SSBDuX0pBnUD3fEO7zVtjA8zbzRr&mX<}98Y{1* zD~j*lFB%Q`iWHa;4%q_9C_(Q0J`EwN6yW?SSv{aK7}vt6AHun#WG|u+k^sf8TLgpR z?zl2RrLzZGDs|(#)ZwC#f_J)o%0nz&7khP#ee!QNqzBGE9nHdEMlsV{6hF#IUd8A+ z&v5{JR3JU6Nbe|9#Pw9*_-e1vd%PGhpAG)JpM1eSH6rtbZ`I+jg*5=m9`DpFt6sPCm?NhV(16;T-cXH=MyD62SR}Htvp_5b4w?z1NUn zg_hDjBDLfzo@4vLEq}w$8X7Xwhf?sn!kIhgu&Mz72&ulr%roYBYyW?S;g5aL%qW)n zluSd#4KV1yPI)rwl87orfg0eer(8o!`3ogw1``J@6_xd)#+x~$K-~19j&qOp)T~le zKNYaKpmR~9PZ_m)kJXYre+%eWpPb&&8_lh4;&#FQH_ z$-U!CxENMmBm>9oymp&*D)Kh2?)Z{!)=|jv4Ap#gsT~RaIjuz3Dw?(c@N#iuZG?iD z0;7)bY!@yCrueBc`Sk0R$-|=6KT&(0qCHyCkBR!CDR0)D14>mZ1^W|ovsqQz+O<&C zG0KXs$G7nqnS9F_u$V(@nY|UxLLYLHCaM9*>7JA2M6x>?{=?;W8vTACSTFTz@*H-c zuX*-I3uz+EMeta;UVIYgG2;1F%lZ5Cs;6G_(s;VHaooP^J7-evdheSm$YV9S%K0|) zcF)f5`(uwM^EbEp^vix0SGyO_ri;(aOsI`9x|w?X4+kik*zV@m?PDi)%sf?@;q{Hx z>@th%%lH=S0VLr+l=AEsbu+a4&s;t}_IUgBxRE(t*LqZ|qIVK08;wtERVO<j*V$s@R;0*PwneQYpsR3)sxZ#DyI~k(-|-DeQAvt{V=eXTF&E=?+xcNaLB%4 zhFJ(R()_^Ny#m^S6oGeis|!T+;?5Xj^izq2`D#j4?CU6@?1gqy%WMh4O`kMB>zPvO zAZUr&)Twp0{1XEejA8J97gNqWaap^)JmW=VjQqpdDs4!R+N(cntt+38-ZqFrOUiP~V4 zNn>>1INDz0Y^&0eOz~QyPFPoc-S7)m+HGRR@~rQ}XgR*({|T82MtBA|>{T0s0RI}{ zr1>|V;*`=6CPo(YF?k-PvHH`;rxMsT#+eC^DmRYbxG8&;>dijBUduNyoIs%wGn8mu z1l$TU>G#9i#hlb^NIZMjKHED%EjVS?n_-he3hvZk8~JW`%M;vF^yCk6R(>toM*niG z*?W^IiRS_b^>(33!bD$>48?;%X}SnnTM@&T+in`5nRLNErA%PVI0URtcN;`JRQEtrC=`VoIH z|2+SnliIC)dbe~eYMIj3&wQ#DUv|Fy05SRR*PGoOEjL0gW5}jvNxpF&0$@(K29^WQE857fk zDpQb)O}(u@DsPl@wC>p3Wi6kB?BHFY@lP09&Ua6y>mI^=vIrZ!WFISyaP_EL2DM~? zGWCHGQ5>cGq*xLN&t?cC=I{97hW_!DD6>2zCHsjOGz)gAP+hb_@+bsNT=ji2B4DtDdV<&wfe1p88W_C}IW^ z-q{~O4Sd196{5aF=T$42O4j+^Pmm-h9-I;yr#&0j==&rFRGwC66i@ zs>}*!T`0I;pCA#~nC5g+*i<;%wr^{037NerGwLTqgJ@;m9u&tLC*%# zpgC!NGg!3&pK%(XtuuMYD9P4lhrga%XL^3jt&azR-cC=Ivs~SF$_kOKc4Nn{Ad1WV0v;pEmb0{?O%x)SlqR2S6?v?jyHQQQ2$DYLCI z)VEm&(vFC7Ojd1KUgVOzrcLGOGno^aA?v_R0<yQk$$cEvpf{vTu(^6Lf1%vW@8Y{LwxpS!?@%`8Q4>9{KbMQ!8fUl zMc{ULZ!@bj$~+BBJHZ=qPKaEDN0Rd3=3})#2-2msuUORfh7L7m`2G=HM~>MaxF}_R zzAHsyD8~kFepbpID|?CD7VVA?Qo_~^3_;5^QlM>kF_evm9JmHUP6EFJgtCx*{;J$v zPvYIUHSt^*`*9TT3!Y87fh1L~(ky90K<$p#pEp z4O>xIvq&R1v@>({?b3AzKL*%WxBS}xd($r&=E&eydv$0Gr=K$T$NY|;6|n%m<^Keq zwZ(*T8M`={F7l%vSkyzigG10iJbJ7i*$Z6M3k`<6$sggMBTUk{r0c15PtGW(CH>7K z=Za3)`+(DiPvlhyt=1x{2e>~WR6|ggp{IO$r|Ql`%84HA>;yZrdnz<~$lgn`8?6%_ z(NU3?XsUk@Ko7#gVM!gO#;R8T0nswOsiXj~U!!T_9h~O=Im#y=0z_m6^O?8jk1oGU zbBaLS?%|(EtGo%$l7a*07k1l9p@Le+*P^>^7uKTt9cXR0S0zn4K8wB#+V*AT=plv& zlD$hcx{QPRm+AD?11Q5`r=9CBziwRw#)^wwoWtS`A=b-?319{U_xVf4Rdlf*dYA)DaQ)CMDWae9PFG zz~u{_hzsjz+<-@{iIqfC)9u0u;B0m=t3i3wk#v>3Q8xgD_MA0tSk z$?5>1^k|z@1OdD^ifp_WstlrB;C=vFQHg#mZH{r(oK^x;#u%}46ib!Y#Wxu(W?0r$ z2qZ-z_+$ngn>_A&oE>A_KDT(m?vBt!L!X_D3v4`s*Ap{whW!f7E1rTn9o9h(lOXkl zt|qyotKIJL`Vs9s5F`?I^#J4@))vXvJ0O(K`i~RC7SgI5+ki7!FdSLmu8Gg%grvka zM|9wmpB{(gT4@LceJ zrmaJBL-Z&EjHRm=4-(BHtrpL~f+9OH7%SCIZp}85_`}!Af=|zXm$JoZJ5#8>hTaj_(O8wm zbB1Vr_4s~|e2ul(W*ogaaTBh2q*xq9y+~Q_=$#)878+67sX7JAM&nzOe23N-6|-x- z_vv~s)?F)h@JqN>>|^hn+h!@sb34$WQ0NxsKJP(bZG4~YYO)C!iU#Bbf^T;%`6hsz zzBo6$GaH;)ihyrw_SOM{y8C&T>aNI?h*${sowUeAloQu%P#@aR@#ebsf_+|I(!N>` z6x-$wv)wD?pg`0|q{FvE>|j<$Ww!Rq_2(SMj4z|0bkbFN$r!Y)<9tH5^6vJpR1l}Q zz(vd!sEzrLR{@&VqHbjJ0DaQuabt)>qc>MQqeQk~+@(&N&zgRNb?=v(8pw1nziU<$ z1etpO32OHYyQ}LLb5Zuwth2+jY5i57XPqnAFaNmi@Wxm%Ki-e_&EerpL-W$fEzDlB zv4G+1GXCK=eX z5hfx&t)kPq=q}^l=$`j7x^q=Y&P>_*%uU{W(cb-{wW;GRLVT9mh5A%nW^i%QlW5$m z@@AJvGjvDGvmrBMh_GyZQdJFC2_~F3gQAncVs3^sJ1_R;Ilv{13}m!wYKtYU1BO6jkE`oT>dM+dMRZ zcqYKNa6pTZ?3K~sr;`&jAR&Q)%@duE5j_f%Q>!0{C&t`LoeKYvz~q>9c|(re3+Mld zm$ka%)CO7?)BKBSp6vg;!c(Lm4$a(@dF=<9jS-H-`^i`1)?=#O^4iCy3zN9LkjonT zeBDKGMqV_>b7;e;XV~Eeoi({F<+#&Q!K#<@`PBG03lO;d>?LZd8&zQrh|u-vbpowFYy3OR#{#=S!Q2GDXE< zj+=~-lTp`CICdv`I!HhYD&YSSkn z2|yy2YOGLNwwGw_W%(SLn7})jJ=fjSvi<(;9V6AIy^WqrCu9LHDdnJsV5lfGc@sJA zX4DDYDuX?LT!+Hx9p3X1nnTwsKFOX}l(FpNZ5Y=?f93JRLc86F!qm55;OD;_h1fiT z8nI^CzG7q&s0}7+zSQtnx9~s9al1h5ye^y_ynQ8d+kwsR4Sqp0DoH#ml!(H^qgWv) zzBkBFjP>a3W(k34+9yZ?^l}h=9Xa-=!q7vq=Hj5V_b=t8WBEN`eCDIN1X+m}@en%c z!pVs(w2d$5X(Jvo7*1s4u{mZvmEd4n^n?Ov3JX3HR?qaAf52GXzyAMNd-p)5`~UyH zv#SH@a!EO)qg`=DDml!dQb}QTIV>?NlnX@;GpA80iV%|H?5boKTT~94L*+1(Da=$x za+u@heApa*&)2A{-tX)E{=MJt&-c%=+V=9=Yme9cet+EVUwQTRMWvx8dQnSJ`ev$1 z7SrYoM#|h>W7NPGYU1jEaP)Qgyc^+tCi_^9m)N4HTY-B-ZCusk0uz@kmKz^fnwY1n z=8ldNAwx}gXm?hT62y(VePMp@7)I-x#01b$O_6BA$!*U>@8}lSbO;+DdjVZff<%Q4 zLr`F#y%0|1VNgcVD{ET zLZjKg?Avi{0T=k}^N&XwHtXH7=5%)K?34&H{T4)L-0`6 zt4k0-Ukg?~IfYlE@5B(pbfS*Am>wyb;e*`m((_h@-cM1!r+fbo7GliUAUFY1{vTko zl;TglK%NfUrt7ok#@|N84shYaWfp%?vvvxpS?|h!q2Ey~0^D|LNmJSbm-UDRb~{!2 z;0_f<)Rt7hZ)Zk&8k#I207sZyQhj zKh!*<%?_US=Oc%cC#SgFh05>G05TvApsQnhA?T{kdx~*@sgcgWN0{MP->|(n@hq<*f+yN{@60YwL{0%k#zH=-7|4JFD1-#e!Ez59;&-n-ZHU+Dd9_f${ zZnyl(&D!(@aI=D4rovKmWOT zpZCybXQO#4@b~t6ZUI3nPcV?-o~rmv#S0!>n4-MJSN(T07Z~znuTBP5cGUeOXuA-? zmTha-TM+=z@m7NGArA9Bpk-$W=wfmu`iOb+!bS9H68e<3OKW}^YUZjGUB>wshqmU0 z8IMfO?1e&Ba~Ao8^POy;*XG|>L@WKVP!SE;g{zynvNz;+jh3FKmw0zkio9!)|EeiE z)8~belDt@eh!Z6Y&&Zfsk!RCgju`L-Mst)jRm240L<76IC-C0lDL1$L;?eR=~4E(SOvehO?w zg33RzA~?*s^BUR_BrtdZc${QdE#hQkLoK_807aTwG~6Gj`#;olcM;L^nrR$DW6X7j z918;BPtUnlIEi`68+LJ+lXMb2VpH2Z)WqX}xs3m@A6o3o_{%eg_WyhhwO0*`phh6Xw!B@n@U9Vp#g$;^2SGEci zTL)v4RgZYdE7^>%wk^_p*q_>d)PNPP>6Yw$;P|u!Vg!{{SFNNqU%s;OkCrxOl}((y}nO^1>#aL>8NHlx?d2`=!OMxGSL8ccJ6>-(}I0%>PXm{V!Khl8L$Lt4r;_ z`xSpbT@N8C*)Yw)N4b6s%3E=(IQSRC1lE194HVoM6B`%@yWOyQRZqb01%w!E*C}dq zRsw9iH@OOIW2dzfQg18fTS*zOElu3MuNKdDnz)LQAM8Hcb%g&O>4COHcH;*`-UBPK zl|4K*b6-f2uo$X7i@ES5?SBAcE$lp1{vXPCRx}@MIx?$mBU!HbV~VT%YK=;IVgn4d*&!v3j37bE&1boIaiuV_TrO*Z|cyU!ei^Mpp+Ne1ZkAe{u!iu zObzjPHl-FhzMnM?s6aQSZx8;d{9;CF20ZUVyCK=nAKjEToc}@O`?mx`c?7 z4xS1mLcevCWrrb|4v&qTeRIpOZJ*C#y|LmDegM`71?7mPR<5yaT`!f?WT(9`AKY*- zY#}JgStPil_CSAW*+s)iE;lcB^8CzW7_cZ~3TMVWn4fCLJ3+~@;JL8l*gv0BqQwi< zHbIHnHtVgMZTPj|tF6|8le-}BTK{8>;wWjP%p!%GPQ2LTFK0f$JXhXH6eY#nudJ+o z4O;kv?p}e`^uHZpN`YwuiB{+FXqN1UB&GJWL%#6fz+^AYpB0jKo&0efhuz)AEggI z>S(B*$HM2)=qrYJx%T^{qbYA}c=lvy^F)Y&jY9Zt_5=i2q%Ri+@UQyv%f4X0vA+t9 zC1I=$d0|@Lv#>}b;#Sqc&bPm373gFPByd!f;mOuhp7lEftK+m_8xO968POFFI`=6# zZuw~{(yCW4+w`z;m;39ro+kbTxXh}6iM0XUZRu?5MU5HG_^-DMqiY^`zg0}}5GOEToy_Ug#D7)d zY)c0#V=GXi{^pUoItxfx(7^j>Het%^bRDbA3-?89S!`hJ4nIDUdKr2hpC~o?&9D0o z&4`I`8lEC%JLOYgfAu}@En>7JrR)bY5#cFUti^(%mc_d|_(mf>qc$mhAeB zsF5y|q8Q7oo?Ufg`NfB6qxA%OZQmZZ1x!p1Z&SdZ{|5?IC!k<$OVP8eZc}DOs{M@w zwQh3gD6d`b!&eGc(w^@JDCduT>ZksRf&~dp2D!PgnbY^xH@kEHumKc=so^J=Z+>fY z&am4itoO08q&LvpF5onea%dn^MJUhbEm(HnIfz)Mxv~7CT#Po`FH@$8EsLeJuhz{u zK6~rABtnj6j;D+b4X?P26$_Eqe;_w4ncGdAc6?Tv+y3!`dv`rgK+00 zBeDXK`)3IsLy#=YYhqK%kYTe^DNI0)fhcyi;quun_FVc8V=Lrgw&AwAF8REey+#O$l1*sSGw+O6~{VXOJ zO5CD{GuG^*M3@|cig#=&-xu!)rgT*RyZzkqyi7|oH|9B6N(D@JE~CyRV6vZdVPQOC z^$J#4^rxRkm2ap+HU&<QQ+Zr4CS(TMDrlj<^anSF zOiorS&c_I-N&Rp+541DcFJBJoDugO^ZE5vbs#Zx;XeQ!%cU2)C)mAT!ph)~Z!j$HG z^2g0Vk>P;acYu8r4=H1TiGlI>m5v&*vqxFZlAMF-mp@N1c)F2Tun8wuVQ>9$pEBm^ z=6duQW^-3z8(Ig3xwog|C_h@!6@<+>;Y(03x!TnzQA^R=@^7MD$IC2*70tkB{6}pl z?YqEv;K=`&Y^at3v z>Z|`rLG#@FK=GC64((`9+Wg>{!X;5&U2Ao*!=)m61L5|PU!!W?D$4HP)FHEV_o`zV zim^WCcrcxA_)~C<6QDf6h|B7;_%)>ax>1=epkx^XN|t2)Gl-J)Lyb@JTHE5`zA322 z=R#)fu&~AluQoMjM7b`eJJ{!v7DKr)E$f*-C`_k+a4Jx?G|RQ6X%NFKt6hTFEpH_p zdBXie!7mMUyW`hcbg6B`M z{<=pc0SM|%qOPJA+^lf3UT+PvC*9U!m~kHz|LHp*_FZ~{1i-NKAf@G<6;q=4K;ih~ z_s0hR(RviK%?t+nmuXa`(wI3z1IBwMP?!4cRhemrJ%YBSInO-J1g*}f^KV#(R#J8~ zol%|EIvcsa7hoOswdUK_V}%tyMh0={uB?UeOVK4W;WG=`5!@|UpAlBATwmIMN|A8c zG)2F~vl#LoDJaznF9?vjTm8eJ>C;U79BJ|nh`(F`1(XOa_Xu(x$dpwJGi42aw@g;C zXskoWuysSyjTdPiuG<(1U=0#6^u$U18ym|PS@t2pAyc!rm(=rx*fM6km{RXg4Fm_F z0rm8=R=5|YJ=7fa`86P8LG3*aD~0Vn4booUxA&N{a0gT`^ZcWky-3E&oasBi=aZGa z&Z!%r!^!~d$jQB|8XN}tTLMio%``@M1Y0^(6@~voZq^3ym&$0W= zsFmd=cu?^@uHK9ELr5j55lfy~IUHjWi(DoK@DLVDa5Q&6{dr(7VX=>~McBt^%#+mG z46sxu0UVvQD{T$%nkO0*^%}b2iuQudc_yT09s6KY7$HVtVBhJ;}P%OBQ$6xw0p0BEF3-3R@u75-= ztFQjoF1xnd7tu@R$G~@r2cC@9ldv-4!!-ZRSYv^SB@@kCU}BMj3eDiX{tZE* zqZU@}zAzZ6;5p{|^~6u9$Z1=cOFmdnG%C51AvVys9YnnLS6Bct*uo)5gDgi2U^(Kp zf51OpJ}<#xjFQPYiO=BqhFxW8xVMvQ@axR8{YA|@C)d5|4-$w7p0H|&JQ!~%GSkS+ zSV7PklXc~z5<3H2ifhC-?+4I>V^Rx9EY>t!8D!-PKo^tiBtG2X`c`*(+76)Z28ri&t*$y^iqO^pp|Ck<3qwmq}7r?YqEI zHLQ;u=r=010wMiJWZT(Q_c6HH87tNpy!^AnRACJcQk(|t#-&eC?bhHU)r{2F1;4@n zMa0tDoQm8rE6GI~_1(*35DIW3L`p6)uiTDWP^0%lL_MasrvJ;R@3Dz~RnRBk&=+Up z!Nhv?n|b2a;QBs1{gm&;laQp09lstKPpdGXFwM&5s% z5uK=xTuSeZnT)}DlSkUGPHp^S(+3T4-r*QdFh*m>*vwTo#b19U-`#hD^S;z2zT~=w z_M6_FA!YKFg$eAn1cl)YX8TaS8&ujObQaf5rTr-gZXeog0@IY8+smjO(A9XL?LUQV z2`Ot^!MYY%Hha|?vEVIA3%x}zK7Z1kTHStCLsl%L47`L*U?%+f2Mzzb0Nb$m6AfA2 zN}nZ~3l9T-C*J|It^gg5-Vjb688J)nPf5dd=;ieDa{XF-*jvOzruG1f5d~R{t*`LT z^Q-CYTs1TLI*ZYn2dr|qzt55jAz-&76zR@=4F#PLJi6R?#=~v1rc>7JqH|V!xSvRA z^=BysAB1)K%!zw*Gm4+^0F3o1K4O;0XrQ&YrC=v(J8X2e%q_Q>3$lBO#ynIIT%VV; zsr5@FfJFNTHizJKnL4gr$iO=DIwc;rdrm|UeeD1m)pv($YB8_ng;&9|2WRDCh&)rK zY7kQ!B4dpPs?QgmYqqQm#c#^78eQ$r#j;epO3$%I)A%%donaTYod2vce6i36u(4z( z5+Y{XJX5@&7o)kQ<$P5KGI}$}VJ+aX!~hjt`f@~^C zYN#!IV-moBf}L0m>C0GV;cL8yZqA%}?O0$Rh)b}<2emh zU!~7Zd)RYc6Jj7UE?@z?6G7c!E_mJ01&(VVqSUuWMjhuqpm+KvIgDRpJ@ZVa?iN&i zy4^0baG?!)v+izI3DgEne}iMrtsc;|x5}3HQ=>HCVd+jolWmX?^(aZ|({me#&|{M< z#4d!O^D{^d9|NUU1?(cQ(+CIT_SH5hzqq&wgnSZn2Aj<}iN|uRyLj9V6FK=@Z|6mUpWO#3iN!&qs#*GN=)<=-a#mHK%!yZZOvyvvW(K3*K}uDP$(J}JO%fDr9zK2gMuL8F{1Eirt{py?w!Zrio< zr=IS&_>}=(8OjrC_CYafxVj*(1zxq{ebcTdI0IH*sD}&y1PVH_1Ud~o>c@I$3s4W8 z%}Eu@y_kH0a4&o0PBrZI`xoL+eN86WU9MuUh-#zxm2Ge%=R+37=GHGZ8oU@=WtG+U zbJ8SgQkZlr#@4OOnesq2uC%XB$|3nFIiD>?UI#Oi=6l`M_LmXET_-Q(CR>~3ejyfA z6R%Wif--1Dny8n@encwn3Dh?T7xoQiFYvJzzMlf39(r7WN`1iedP~U1$}MewQ<%GZ zfV}bpPO_oJu!&KGj9@vRw+(%S)~YhM7JZlUkFZ(y-Cnk#IL-rs8~Y>ig$!jzn3wAcgNVx?Q_ zsdv1da1x-b`VbM^EJ+`SJ!97Vhpj)ru{bx*mZJNn`b2R}#qO?bAIdVg^U!R94FE!Q zIbGOC$Jooiz8DWWnSY9lQ6z`b)3*KYg{l%dae$>-r9W}z%m-4k@?zp$>q8VSbkJSS zc4m7LP|euKYKcp%pO$;NYVQvmIn4JkDm1JtFp2pys)y8=F_EgoGC)EGWn1bFP7lb0 z?GABzmjxuNVC}Agbs2Eefe3KMyw+5xbX^~?d_(hQxP411iG2LnN8(~(YjL3Tq9Thv!S*ZQ zqT#nQTCM$b!ZWxvywpH2aC$>hwu;T3{K*bE(HVk^AnDxhC30(H$+Sb#l5Kuuw>oW-zo(YYh?TV^VruX|6S-zVjsa%(Ev1 zCkb2g`lUXDD(iyGwGG8zfdBM_V6k3b*LiG9L1uqRpXr=q>llI`>v8xprZlUGSz*#2 z+*`Z`%BQ8x@j^;hrF?!PSq8XZSo;%%V9)o}lB8z*0wSvr^rKr>_uF&W{yCxS3|h_d zUOetb{ETO%%63-aRKZWMLU7RTVTp2Y;32P55+*~z;B11lzn zxlsWksph{PH}UcUEz>V8fhf)#afVM@da*NIM!b@0tZ0H`Twx`oJW=ot)rh3GU-g#3B{t#`aT>C|1zuoey70(P0_QEaC3vQ8 zT(_ckD5Pxp(C+1ggPsH`7?l!)^OHp~WIkG{mRy)#K`fIOQ-8Hwr1svcAQ7}3cgE^{ zS^JPA$^cAXd%+~f4YI2)qZ3>6lf?r6-Q*>l)}RMOf`9bw4`p->@vR|cL7=>+a}2(o z;S|v}L>Plqt69J9kD$96gUR%m#sg3mt!)jM<@7?@-Zjjdk!1xQDVOHlU=#9|!$~{z z2EGIW8?1ClpNlXM{0cQw+tsj2w2S3QpqZKnnyHD2@X_JPXT|OJJRFv1wmv2Q6|j%N zXk)lkt%h@Rzcd?65ZVPKdG^R~O^yOj&SIL<7>G6IefH49U2g6Ao`ZU&3q3rBJ2uqe z!I#LotT$}uSsLEk9N4E_{05;}hqjrf?jCyj3gCxke!UamhAd6Vkc;1HvXwSxx){ld zAAurSN*2xq9xg&-GNX^nFnCLpdFKQg58F`zU)-q9#-;63dape7qIi8FXFGoaW@K*C zcV=X~kbr7BixLu0#Q*^nn2}?vZ3#WbA^k@5xn!cVf8jEXv+JU$`vGm|L-q70@5y-2 zX@YiBgSFmlG6yg|U&sShYk~rjPkOEeW2=llmobQ=B(xFFHpeGsR0DVR-So2v%8MJ~ z+owJso<8Ey*&-G&FqP3>`aIMBbBz1^^CBzPW9mX=*0b@B;l9Ehm67v(8UqYVycNuO z_2tC2e!uLu;{{x`d!HSCVvS$Es(dhnpAb2^M6xj%{Z4IgE+fKUZi*DBbyQi9;o~@E1840jEipf) za6H_?sNdL&({nBAu^hju$LcrvnEn1 zx_p+LG+;57OIjH1@ ziYx%ka)E$ZSYhWhF0>aQ-9M!LCZ`2@UliNSNH^jyADZi~nYBjaRT4mr&%sQ#W)vHF zxMKwI`_WiZjG|B(trDW5tm!#ZJ=hf8#nF2{o|I(7T1MWz1 zZ+0>>(;SLOP8G+g0|`rbSRDH}@Z$5#n6wvLd1J&yR4R0x7ot*o8Nkn(l$;+Dk;!6I zbB9ZUR4D!%W5XtHt=V|fmD9iZOR}NC#F?n!63Lj79m}b~>9$(b8AXSS!rem)H`Ce` zrC=^XAwGnhKpA;O&7lZ81WJWsssXP|fFQ-SCD_7&eM!HcG-SA1^lr2H<8w@tK&E{T zr>E)cbjv~D*TUp94UnI3<}ID2(Me{y#qBKQ0BZIvrr1w(Cv8&VCH-uaY7EqTy|4vo z^tW4(7Qn$<*n%{P6F0Z6d@NXxAE?r;@B%M|J^quBGvPoaILvi|xLUk>%w0EJe%!0S z8w9Va98+kOf0QN*2t%~#ks6lm(LP3}$G%JTltwUO?eE2cj`4W+C03xI)m$0i<$aOM zy}o!kW2ct|O2$l>KoR+#5uG~vin-opUU>DE1{n>9(Aval1y?M?y8q}`cow$5#y>IZ z^40N8+1>FIDzh;GP@U7oaJX<0GD1aNVarc1?G_}g6GN&;`^3B^T#t1leAVMdPtM&J zM&`lm>ENGCS!na=chaCuo9>xzrVe;cyHISYTF_Y3>+1>9VLzMeA&Z&Th*sCMLag6r zBmVPB<{YSV{1nA;%sjk~9@0L4x35MMK$A*}M#gvc63+HoiJ|wdbw_jm)VF>iNyfV8 zhMuyLnvYnQ5k`6e`e&k_8~etpKyO@cPgy4^egw}xH|?m8J>1az$1470oP_CRb5rAl zelO@vub3_uh=$4B=yP8eZ-5s39=9p`RR8+KB;79)O7uUl5n?ll&GiA*=Cq-Mt)_EoD#w+B?DiaGYr-1!6xJZtxS27H!=QB2RU z<}K|x;6Si4w)%_|zhL8ft@(hu+S$hi?svU7=`Ri5vN_755F|9gG+P3J9Z1MzmX6#-+Oz>R3IXvIiQBVv)SjPIo!3> zo*$VyBWF8%#Vaz&9sH!N%(ZvrOvVX*LO{$iuC)N6A%>+q)VlOEk&|Df03M*D{oZe? zZjeEEhlM6Di!~mzNAu(l$wvB(Z{>?WoC-U2P@Xd6)Y>r9h|#I$>drs6Ygnl9@q-aI zi4vb-hn5=$48~v$^lPcuGV%Rg#)IS+W%w86eev2D<)fIl=hf6?eEeUY$aL_*8pi9Grg7#@w2hcw4rcO-qh{Ml} zo#G8h0J;48;5<^TVLrpo8-s%TI}Pq-hm8%r!rhj)_=J*zu%?92rYT`3_I=(2w)q`S{eua}-sbH2+#6O{^XN4xpOY}6I zc}2awBPGR%AO#euN`3>+Y;vu=yzPrsZ7inq%W5BMmjAMZLZr7?YJm6r52IizRw&DX zZXeH_X7U(515AC7{Lmy2J#%2@Kd)p9jtb{ILRFl(qlkAyoylW?@o5oKjOI^p^kmOx zKGCFER%|<3z&lhDd@tGSJs^3GVKtS01SH6zJ^{Jr^oN&&F>SalJn*O=UCy(><;+is z(W-jjwjFmQZwxab_Qi8>xi3qvap!cD;xtu0E3*$YY20V) z!mS$v$%{NKbHXG>GYcqm_6&yfO!6Ou75nl+du?teW2`Bsjk+EC!E5=a(&z>uQ56P> zb^kkTQaB6s;~ zsnQ)D@2H5xpT#r^*Xd2&fYtXNi#km|b0r51Ev4t2qbZ%gw&F};mv1iZup@2L+U)h^ z9#Fe2(4{G1Y&XI>JmhZDh!!BQyVOr3eZ+EFTi(&;Ua7TCN1KD%=y%>xj#VIT z-{B~#O!?x~^xF7dK)THG?}PBlx5twx;9K>071if)iW7D+?Cl53AYR>=bo!sVs_X0@ zB98e4{i(j}uH@zzA9(KQNwR02H2KuV*sNw{Mz5{K*J%qbEcDT>@N~nzxorAC48JZz zU+P&*5}3A>_^4tcK&6_tSu)+w6^+Dw*mFo`KDiYZjn|~M5MIV1k;+ZuatR`<#C|%6 z3pIQ7Y8Rw1z0|zjSh!4WVbGe`P0V$;o9=!KY?8*sFybaMS{FKf&Q@GBmY2lKWwzWU z09nk_OqJyAP;&~+fA|bO;$ZE-+e!wC%h&4Y`W-!+eF0IcO0JZYqle_-=`7a2teW6+%$gzVu9TUDz zfCCe|&oWKsnS!IgLzCa!3UDED&tXSodA*xAJi1ah_yoSFcWK(|(F^r}sFew$QsF=3 z;CW6O@KGZ*m<~=7HFH0yWH%));b8Gx_@% z`?*x4$F9%||Jmeswq4cyn^{@cs8ZbB2)w7Pbbe#wGc14OG?FV(&5)%DCguEnFkQB& zwy2eeyUnwIYVjNE^)Rm$rpiyc{+8T(=}5Sfk~PmB)<3WSXLnF{2o=KFU)(Z;_zyx| z3O{wy=E}nuJXj5l1Gt8Y8km-4s39|LvabDNq zTo8v>iTO1cGc9d_Dcn#^FWK;>WJ!RYg5h6&Wk8nDuT+1(0Mv3#EKykmYB7s{(hz9@ zK&{c?YQGIxU+SAGN_Xh@eR0YLv)IlnF*aRc_yYDv#GAd-3TawTO~c}0zIDG?F+s(Z z3trNkkm!35bH{Q#TWRu+JvIXRo?G}l#9U{5KID1zhK6P6u_nXide<14fT+dwJfV{@ zg91nf9@Hafg0-rjCR*nU4*pf)lK?7w9)(4*XO;E4`e)=)h-c%J_BHkT=OQ2?gG5a6 zjs7hJGSYs0*$Fnqhujrmjsm-rTag~-I_XyWv856~ZYoN6@*uv?y`xda);GgN@sQ2{ z%GF3Om$HA{MNTp+j2b#FW7jl3J{kzC=Xp+swMap2(z+&-+v2&$ir(MD&yHwXmJzwf z?hQ+3#^itiz&)GrF=PQ+HADZS7O3v2Uaaov{h~N;?~$pIKHxGMRno}jdV2MYP^XG) zqGo-KW>4}!<7am!Z=flohyM$|@!5rZ*E2zCp-S|g*w!i2bo7~!PoGypQ<8+G?Cs8(M$^J9J62Y5=K@oK#TPxRVq zyvFst0(Ugz%s2Y@#=#k*+!CJ_68$kPa;VHC83%qd$Uimb3A=+ZYPAGKRE+$Er9X`wRZs)e8ly4@(Uk-fUF zXZ1^4BIF5MvJ`Gh{3pX4au|-ewyAW&bY5nbVXorv*Vmx0FKce2Y0shZ~}3+~+gRNKFhil+gFgWO*X zhrkyP*t4iX5m1^lIB_RK9mCqkH&IzaAoYO);9Qqu0OL-oD^MAox=BD(zMz=P4KRn@ z+ZsJ`1oy7I2pC`%F&aHc(*8=HA-Wd3s5xz1%M`Ts1Sn2(1wVZrZH@qfTmpFJjtnZ{ zGxG)3$8mlv$Feq%f4SvQCij9cni9Z)1sx%KnfJRDo!;cXsm`?a#AWopC7Zk zwHJ_W0`QO9-X~F=KX9ySZ?%r6I_{~0uv)#{t7=Wh_l+F#DOyU5u*F6oxdfL*uGSCY z65RB++z5RbR&f7b+4_vNeYPA~<6qmHK|fE=0HA8ol4IF8@a&2-j@hronp1)Z@|DGC zT(vM7*E0}dyHEMb<~Xf_b-k2yr>v0{o>iTpoc$Y(DBWgegU#W)WZ|ad+@%uP7kx{n zOT#gGBIMCs2^{0Nph!Z{x~kSgM4&D8J7*2e+^1oNUJoG}w8re;z)-#$RHGR-QEmye z9dP8Rq+W%w?v?$F4EN9GAFe!2O7el~3(eeIJ^|(_QuDGJs3!3?*y#A_PVZI*#bXTa zYl_|DCpJRTaXhzn#3Zn<+a%YkyV$+RrnivmhiOfPBT%Aj$g6@;m0H zJg5{}`_9O+R|nPnBX`8@@x6i1(XTY7_Bk!$7xshP*Lr1`xwT}Zv3}|R^`6cwAatAs z@PUwl$B%N6nkZc}x6P4Ueb3wuA9Ew1GqO;NDR^)?cM;aTi!0VPm_k$?{M4dsP(}wq;EJ2TBsp z_GlL<#V9vnJ?=;P##A|f=+Ev>{Hm)IL+_oaR`SUMjnCgv*I*X3DMDO-{`pdJGAM`M z?PahL%QjddZ+EQHh%YyO6p4jxv8i_B#&g679?0Z=l&FJ4N=A1ok@6^v;NGCVSj~7j z+J_ncvJF~o1YdtL)9&ROOQsFaV6XjgO?Ia)-m=~2@_S5!nOx3(qPynd&43(s`J;ha zfKW1O#tx8VLiXIfV zGOQsv8KmIT3Zt;TLg5Tb!9(xU=G1Qi9H5!86Kt{eQG&)ZY=ar&HJFUYu7^rGbfc{b zPW>02VW<7bs~Ql#{~!~%109hl9WOoMdF@)zo$$lY`WHD`;@>!0GfB;3V8tQ$ZOdJx z{Gl<7Mv&A=5%pgxa=6@z)J-{5w_h#XiJ;{PAQJH0gI7OwF7MsU0o8)6gkX9oxacYA znHA<@ekj%vo5VmYEiq#5b-KgdH)1Sd0W|o0Lo$(Y5x`CI-$+H!G3bPIcXYaC4WFs& ze~Km)L>}tmxdTKU@y!D*PwJ;=h91CaX9HbVUQ6wwAuurC2JGn%(<#DBRBJrghyQWR%~qO z1UV^x7!f8X#uK`3r6Fj{3l9(CVby}_QAzX3xgVE}LugHn%nU{s_O(v7AUqnp7wpgz_{a_e#KB7eJ3%8fUOfor@*Bx6dXC0AEw}&d z0-AmPPJnqrduh)bEqj*tMO5dk=kvg5LN{A8&42Jsg8=9?sHqa|Gx;RV>13iGVmuh5 zMrS*F-+(%JHe`2Xc(9n$hT`&w_iTjy=9D>M}^L+N%bnk3ErMqc)6;sdQB((2G ze6&yut=dJK#cNt*HC^SjWMUlHS<)cV zh^giEJyXjRVrsc&mY#x`T5Q17%8fY~iOp=`b?T8WT+p@ec-wkC4&{&#DNRMw$K znk)ACtj?R^yal`Ozn9hkN$>9rLQlb`4}ojYi&U)(e^IqK-%+(Bzf!d_PYsmL&+_J* zreTO)7GJTR;(I`|_DNF5^N5>gX9|_o5K!WX>NZ7{Z90wHMbHF+8;?ggA!_|%mS?r} zTiWZ6TL4VO5c{X(yD~&a&<1pbm~V6h`tZzM(%AFs1E``;N}6^z2XvE7Ca+X_0yhp4 zLO}2`alb%+0&gzIlarjH>8gznSR+|*N((HSt*KQX89*-_rNW()yR+PJwPGcG{)(+_ zO4nFNxJ~biSN-e`k|&@2pUK02)pK@&69JX`3Gl>nI%VVp8N~q^!^+yk-T~NKp?D<34hR$*OyF@z?5R-g6 zn8Vr9-j%P-k~&Or`=g)(1tpX2=nj5K`!h+bY+D?^8S8q)q^U&+PI$(=ipov5ukdm+ zk$M)*UPXht3|o6MqXOC|cBh5WtS%+xdiL0#kfUzOXj$+zm#N!9`g+{lp9MsEmic7 zboMm@HUwG=No%sW3}Ycq~_{vo*$)HL)%bCP$~{{K49 zo=YV>eZZZoKP>7{ABFp$X1StI0pL?rzKnK!Yr$>D7Jg@y-BjmNd42T5Wwj;FTT)78 zSclh5XPqI8yv!sExKlex4bXW3NLp+vwb_xq7q>@D2wxY4p_fbW^LBE6o;v$x4UozZ z=v%hHe>38v_N6MP$-cCxu)iF;7SP~Znb#m`1Xc19U6EQG1K8^p-bUsQD^&w#jRAXo zKVYwGj^o){N}13H#RZiR*rgja@K$vY&4krPfC|RWd!ks=e z`sveU2>|(C6s@Up1%9nzF@hB4uH^=@jZBg4WZZDc>xyPgP3@IZOCM_<5#EbF%5~gy^ z8OMNG=Mb9hwc^1D(C?Xq(%)uB77%c~^OH56Ou^|3yuD>Up3wx>c zT!jJS!6=;+XuZ*d44Hrnh}3Lw;-9pE!FkjL${UP#3%-rk{P2D4)~Rc|ep?xkEU zwf#NhIcBaLx^%@B=kD6l09u`^ziV}7_YS=4!VLQqZx_6X1{pf&>?rJm1M85gdrNox za`T{7nQ^*XSlSrH)RDw`@ zh^vGKm*lz?3|1H7K$^AQcWTls zBd0QLA<=#bO0+Aurq0rTUZ84aMN~ITQu^XwIf0D%@YpnB>XiLk`t1F2t(l1j12bLw z(5(CUZ@}8)O*JRHkgsJl{V@(PK*tVWtZP0K_&zOQN)||5NsI}1+NH_{DX5=z=yN%_!-?jma;7r?2R z0GuiZz^NZ0aH{s99%S$4FKzR4lY#xdJzuu1L(L!g^G(uFfs#+#o$uYksooifI?ufa z>^o|u5Yttc<%(519R2vW8vXZ4^-#SjZ!3;<6~6nPv1L8xU;igAyYDQ@GL4=IQ%wB6(!5>iP2g^t9Y zVV0akSL_1j;=%Dh$ym)rU$N2P01G}l%J3sN4RoFf?d!xP&qoQH6z;#FGiCJY&B0O{5q-z{(6CPDG~(mTT0FkiM`#jn~#u<|xz zWjQOsdaB3i0JX~d;Txh<;1TNpIneFwr0kh8au_jLgKxU=8(Kt_4O;vfQ*STrx<2y9 zmc}y!jNzJDQ@h3@L%tSAV|EF&JaqK1**k(ZP*19tZI&?_-HxDtO0bQ>$Z8dSBHok@ zzKR>c{Hiee9P|G|LV^tn&xYeVOF?KmLAX(QLCjXz;S&#a_>dMld_?okGIt&1(YXtQ zB`;;I?J$R$zP2h+-3~cv-SpH~eEGL|(qcWwr_obx-zsn$CnVedhiSA?)2Up=jlEJ5 zT2l9}>WMxc-DNGyG%eE7^DzJU}oZgv5 zIpzTa@Z(pV2^^`TgcEK%nvAdKj2MG{oWUxSkCdjwP9@DyEWxzvP$h4w+3B`PFkYh* zEFso4%Y7(JOu{JOY9x>y+d9&U7|7~`B*0ccx=EIMM;_7$!ksSP7;WLX){EK&C zy)nKG>yZ6vXaN0vmLd>(NxGRGB=s>s(b2(jbk+@Iy_$6J6*XE{;?0@fG2&2qD~i22OWfnn_hcK7Jf(Sphe- z;n$1fb*ke{&=uzEAEzvdiAXN9!;hKgH0X4)=Mq$VV_FUyjdy?ScQnEv17Ne@=Z{IK z>6WHy+sxw8EvqarN_v#Fm#3xU{}j_t6{F=vD6-s87`1=D0y*Uf4eiOw3M|KS4Kma< z^Zd<4txn4GjZ3^(LMg^k>wp7JtFvUcxHX}v;A3eg*#|zNZLD^?eQNL63r%ZHm@vfu zn>#^a%+M@FBHn*BklctATXTdb2Kz%zPb>4PS9gMw34m)+r*^C3Ol{0XtYS?ow0e1C z=GH4!QSwUx0OGAVDxSNIH&LgA%ex^g<^kF6Npr#oVl-{RMOFs`#QMwOK03W(eN%C|$V{U)cE4@dVAenhLf#sbE0v9o6@*Y;eiPg1wxT&ej`79Ia zdY%YBJAQN~z$ki*qlGGUSFYNIoIKMNn#twrAfJkTnbEnsxb5h&a(LYj!owIBIb~tot0pE1TsNSC2whAhuwWPKjT&2<}hQn09Te-}p?&1j)VydyeBJbIQ zyQHd3EN1*>pV9b{t>eAmdQkT&V&0UqI!$_N-xjYrL!sshwxX`;pONLfcJ+>loK2M0 zDC+_o_ZR?o2g@WTaeFWzS-%S(Sc9RteusKD3~5xNZu-FH?K3N3w6*($VhXq0;TbT2 z{i)I_jp5MZ8v)mNTOgnY@X%Z@i^aR3^*t|1X`v%D5#Q7 zI?H217lwRVWM|1s;4@FSQT2A63oFB&>~GZFl|bj~V&)eMd8}YTV@|21uV+II%#hQxP3%F=nKM^*0&VST=k?t5NCcFsP4 z4d0+^{5hjo;MsLmTf<%8axNFz#SZX)z?|;zuZAAdc~gK9I2-=5Evq7;V~0DzkUixVXlMw zSz_4i43a7S4e#cBPxEZ?B$(W2)1s5t^M=qz@``iXOvB}F2;6?m`_QBVOL-eA;%1PL^rA$ujVo zRisTLyS;^Z{8C!P?s+CPMV;BUtN#wRpZmEVtC``iB$rtPaqk>{Fd4T*BDp%gOA7hd z~IL$+Cf)If{(5CsaoPV>=8uYA_pHx__%IU}knF5B8 z#x-4i{cCBon#e={KUJslm$QA9sG9F^J7Wpi@{!0oIn{s}B>e)G(buA7dFp(_j7^*K zMKT>jxxU(V^NrCk^6|QZoDB(|qEz9U61;BY!jfc$-KZ1$t)CMPc({b7+>bmHg3~gg z@%SKvkj-5hjpa}UTVhq2Ese(L?%~S&C8=M>#WdY;5H2B&+flkPX}T!pXDbK7+RaHl z-4zG3SqZl9XU9#e5p8~BwF2{foLFgwFocGSR#9pads>Un_(82wtS_lQ<^Y;mjt4PT zmcgjj&wG6BOk|}tNL}-%{u;fziDMteFx5>50J6*-Xpw+GjrE zZgf}rZhTYH0ONgBz!;o?XR$3iAm0U){g`u1hpDRj!~w_w;t`y`;UD~GaQ{8kKXKg{ z?T6NNaZqOLe~`4~Ot*OQ%}m#K6fd2P2xvmhL-XYrInwyAy-4$UVc`AuuYq?R4MWfn z{r8^afy27`r^_&>jl^t{l(cRB#+39IL0_s}sk?iT%)rgECADOv=qD?0JTxhlBPd)C zNAIh+R9kci%Qp@5tHJkamQPpwL$GNmL!|b0vw4Fh6m7SD z`Y)sHY8JSat;{-WfMs~OA_pMh%?@^#AH-#=Wco(*11>~8m&!?FC;Z1tkD7*PBIS$X z?OyVQt8$tlbS?PgwYLQSdvmg;F43xF-h>`lpyc=T9l9vd3#~<>*uC0ar$xD?RpkO1 z-foD_1^G6JR=+==!OV5&7^tE82U8MUI6io&vX3CcD!=Mh3SNC0Bww){_R3Y{(O|#H z?TMfwIPmonnn(9J*jTLRWOcEwaa5@lvb(|BK8QsBL+zj03~v5~)jd`Uk-hfmPF>*B zp%MH}W{JzMFExo7IKT96Bj#0Et&*O6P7?p%OQuh#dSZNsk!~79dUH zcoWL2EXGrxWmkfzy|mZtNj(Xs&Y^J&&=MV)*xfo9xVN`Kx^1w5!uS?*e;6pe63JMY z48p+sZl091kyikLGLr8j5=}y!(&?Y5@{GrQxrkf<(_;5l1wG9kWsSsNR9sL$31jV| z57Khr4rI&`sq8lYKe(B1RL^h0-8%J^({t9l@_DM%@#G8vJtCT-sTm0PD zVylNvGKkakf!|K(8yzHu2Gwv6%J-gP4;peP1Hvu6U#C2m?hsVOXoZW&1W8RD1sIO; zn{~^tE9c=g_mgiV)-YGD>#3rarCpMQd& z_n#zGejO1rOG>_NHxk7v;Ot`h(ENnxT^zl3m8Gik>KmK-hx9FTJxrUZ?>vfxEU(E0me+2yU}P)+IE7Lr zDp;QB;!LN_revyTku2if`gG?SrQ#fj!nnb-AW}^C5?b?xFRM z^EKNLi%c)O8i?tYb#{U21+w`R;jRCaS`1iv?4Bx@Zta3?A<~-0WFqF<%K3@`KiT|5 zdDr!1mdU5&CeD+`tuscs$+T$_4l`Smczb-?CxCpQ%+K9ik&q1mPoH|0mXLg*InaW){V3joGutEvt zxS7+oN+lggZg+)Q#cdcHIyjT$9Ab_!a<)yw&}__pulK0C?z#`%-{0SrY;Ei5Iy^2? z^DdK`3P0m!_swa0YaJ^5*@Og?FJ?b~WJZn7Hu6g$W@D>#YEeEsC6%IKTjpLq-k2Baag)JTpJt7ktwNeL}x#gL{Bf5!8oxxULB z342l-dQLm?`$!3(7By=PN@?m!$+(xE(-?FiyKKn|iJ(laOc9b35{nMQpIsf=o;v@; z#Bm62)_7C|%DA(W^aiOuU$PVYi*Kj+?KrMAUpNr7SV`TK%p(zt_b`>>;@WUod`=x4rE!N*uf#cdJzBmdLk&-Hxuqv`a>(QmN503 z(a(PDo|ZN#Bq31ghE5-T9kL|pcDO5zpz|*<#PpTGt}ygWbDdjN%Q(yl(y z$BU8;Y~&uxD=eG`1=8XI#HQC2*i;PNA9QRPO>bO*U#{m_4m`rxbiE93O)aJ=?^i`~ zDF`R|;VE}_XaQFF6BMGmc@OZZ;)FdCVs?=)Tu!&0$8M zKem#lo74Qly{oG6b*Lp+Ue?3>BY!Jl_N}+qK$sstfRH?7{MdPr1PkkWY?7enyXk0* zL|=SN+zqBef{Wp|((D&Hvb>)tB)E2eLU2J!%tn;Qddlu5+|}gRo}B*r#B$%x8wWaP zLGQA**vKatL?Z_aDN(+JExG#zWYrTT$5BLoaZjoy3)C9(I!acz zRcz$zB(ytbW)>y;@F*SDcR`YVt5m%a_@;B-vPj)q1d;9WY_nli-E}s@b|QsWRpIJ- zN5XxY3BrBoe-fT(C8A`i23qwcgx*S6!n9Bb>$3O}ptod~eu3UPe+r0#o;NFs({K3>>{Z6`NK}$$mD*x&72zUEr zk$OlF)~}-^v?QNxCPCSL|F(vKq(iThn{8)53ILt8-LIoj^SHOqz|N$=mZxFdna2?T z&Put|`O=7N?{hi4+>rZ|YxIYMXr=X8`E27-Q{8yGI#9pC-h0GG&4|w}3nC3$6|H%D zOGDtGws&r_VeK8_&G2Q?>w~nMWl1>?7r!oFJpc9HO$T!{KU$ZAE{?#uJi@R*yB&3T z2%_w|AlM&{!6%_1BxHkSN~dWCnSyYCNBgsN`Ow(aGt2oL{;gsiep!>2!Nqgp75@pp zg%?N$?6vDD$BGfLzaz{Hnq0~Ljc)iG z3mG5@CJ)Z403FQC6TnREj2&!?DmEl4gRiq>pcE+&8IIG+Q$S=g^1w`L2a1Ps=wr1n zMS|_x^nFKQFKY7N=@NH9t;X-R8=(Vj#8^l0U}P%GYe>*LrtyBgU$;IPri4`?#qeK1boJFg4JenRD4S`}P~R@D=XbxMdE4PM4ynqI2YY57+q z2Ir0%cx$@z&|c7@9t<$8HoW5!m(eB@<}z4!m|!nruN_*LiXohH;h|w zc-Cd->--*fx2*`<+nE0-sb<6@I*C4t*A=$ZM^5$?q*l^m;FapKiZQtEen>c6J{DF zG)*Qn9LI7Ntbdl~Oh)@N@tnPl-TX`(H6yB%KU3?7nO^wTvUeluvJ6O)fV^bvb2llx zZQk8sotHhyla>9}UFml%pt$ws)L+=pYCvtPEpvyPkK zzrAtwE8np_1J&yhWA%=28cnbFMD>bg2J$=OP*51*Ho@Z z3Oet9qh}ZWqT~6!rHR$YCqhAC|AElYKdz1H*I-~HC#UyX9K3^E>xK}1@RqqZZyNS)~ z?qz?jFby2jxihL~_+0vN#A!uw9e{G!;R8V)&f*Uc*smIW%d@sp#w@-1w*Y&>8vN7w z34jern6)80a%OEvBK?v7!;8=f$W?q(u*d3uz-7xAMV9Q|eRiPbF(r|qLxz&(xy;yT zA16Sj0=v!0SxR!z*Y>xfHU#i?>_nvlgp>qW-#J6^$_Y&DR+pm%5BA27{SLkNda6%D zY4+PClv>tpr+yd&e&4DE!0*mHjboT{wZ_NuKn?x6!*OXFc)qH2wz+OvlsPVv3+FM3;$m&Yx|t;eT(55sPf zhMu?#xigiZ?}0hl1DI;Lz+DDJ0flQl#czx( zF8;xjqAv8jbpwt$P-@0AueLO(Yovt)1CEqle|GVJkR0(B@Kxjt>BCa{TsaXkf=-0s zNQjR2sc?UfMQXiI_63j5xPsx~Bi2VIVvt8c%LE?%A<^zFn zv)C>A(~LCrvl(d>(RKomml)=f5^lA1T?Jshe1B~?vH;v!8tVgHc9wUvLa`3>T z2BXfr$-C0*z3ynU)q}=VA`C> z2L3nrUqSbcu&?E$-;gs~o8K3h1^liTDFzr`8yvRC9;FQ0JE9A#4s&&J!2?^H`fl7p z=@Nz_w(&Ri{Bj0u-A8%|f0vsJ-uy3-xJ&2&rkl;xG7sEi$Z(t=)mb}zXaNLSH5Q4j@3!r}bE^chsB1#Qd`#qne)r;Z?G`((MA+2R>CSjBeH+|K_20#;#kr-%IHlE7@e zk)F-iH!Q>J(+{hNZj5YISTSOey&-?(H!64X(pteXW6BKbQOvO7<8N>lSQrK)wZ9eU zQvBpEyu#l;^9p_Yc8NYA`d(}dfyo3_2iBme+qu4aXlCdag>wMr);v$Bw zNj(W`NCn^A3GN~_0t-&kF-*UP=7yBf$(sCYJ%ZJg_Mq{3UK4=H6R!DBIIM`8%*xiQ zEsDHWLJcl7&HT!>^D|FakiEx!>N-Ixk6Dh{Oga0%G;Reur?Iw2ui;T__x#pitJES+ zr2CdYTsU8GSkKGc3G`4@)z2ypxcAT;>ickPE0{O`H*f5Oc4fg^Bfv7vg`^MwO-L3( z6BrjB3ZV(ir~3-ljkt^EOdS7LO46yzR{Qqy#>J*T8g<_Yz!RS#3o5Z^2#}cO=Kg@! z%8*m=Lz8odj|{VacTri6#}8QeuenBEFYEd9eVBPK({S&GHAaHoA12@aU`v?U9no8gVB?FNyo_~W@b)yh;x1gOGcJ%QrH9dyLe6W+1erkWhhBmZ#4EX z^$vWnWAU(@#Z%dHLHy5#ds0WNDw3d?=#4<4a3f69nM04+hh{IV(s=QDz@AWoR;Gss z18ohSTNngu4~qdT=@S-@1D$nfU=1wuYNWDytLi4M&d<^MiSwiwueza0Vx#B{U!S!Z zZgL|@J4F+DXE%ELG`*YJWTY5+>DGls;Qy~m#q|&sD@Pji_3SDlYmOJADjwgJY%9^R zeSOep{ZRke*!=-S(mvkRHsXC1mfM31mGzGzHh>D81iY&p_H8h-ctz^0$W4 z?*6j**LXQ)kF?n386>?fvvyLHkY7Kc2G8WREqj+R0#PoOvh?WN$Tzf@xmL zMpt2i>J}&U{#|uI!v&6|XN2IO+fnX#f}P;XBN8E-j27DIk`WTe zvHuZ-1?9Y;|K4+4*V>rWbfwqS7$}S>%0pPL04+r5d2?-g`wO4-8`HTz?M-D+GgN#~ z3JH{~E@&e#+s`Ae34T&Ju{iO5U>f`8tq0@E6aO;ezC~AX3~;cpg=ZD{E`T~jErDcDAU zKG)HkoO7e^U9YZ^m8d87av*}7QdGq9RK5=0leMtCCZhYUgkZVGawtg^VQKR=XA+=E zZEaE~z?e?_g?dt8I>6RXIj`H&`HNI;a{3NY001RzeV*JpCzO>&TQ~Ntog4Hyo*z2% z*X%2Ih1H)u?s2Zcbxf&Zo8s{9f8z?y{ab@z$VLi|lDVUq%1MNCy&NChI?xzTlob)z z-nkEpC#3ZNIcV6UsS)1P?#KV<&PYg2^2w!*6;_!j_5GB6Jmq%E{e}$}@J60fy)eWX%K4Boq-P{9L&s9)m`^5mKZ4-~ z)5STV+nY=JG((4)Js5ECF&V81&v(f*-`m{whJMB{(`~zbX7fkV!B?^neSX*|Lu5Zk z`u^d-y}aox^?Q_{o{5lv!{1+R42>Vlx2L?zDMF)-qFM8k2h`(ddJP!1j5xnZi5PwJ zx8Nv|KWBR2jGlh6qTBLd$|s8t#&j64EuKf18ENnZ*{U!AvdV|z?JqO81ga;(w7{9w zl{vaQGQ%?q>GU*D zn5X&V^!+Ks{&%*YykMSJpOKAS2>*iVR4MMa=1x~mmJ!z%$X8C>ZTujkZ3iS8B-EhY zo-euX-~n={8KNt&AmnfKOouI^&hsufkH#IYY@O9+M&Lh|JES&v=*oMA!hJP|oxkEF z@LB2Pp%x7v-(QZ=Pm! z3~$Nwq(Sdb$ZBPb#gMzxY`T88ca!Q_^_U99$(?7>b`+2V>ib(ryBk&t-Uwr%*|NPu0nEq1keX>@yOrr&WG2 zOy6~u`L4%(2@!A)kXK>S<6Dg_MfIMsrPk3*cI+Zc&j;Ipslsi*N4uThztXi7n`z3Z zy$VddG5hEyrfK@1?moQ!dkfKY@ZnXa&uzq-G!442*lyS|3zSh2$#s}rKSOtT@|k-G zW=G-vmpg;cTi_VHsJL0b@b<|T5MR%49A0k$h~j0gqqi^NT+`G)<8^Q&Am-!ml~o?qSod_ZAlzW zT$xn2RpM8ZpogLMmL|7@MOT+>tO}kP#tEhhQJRJ1uHPl{tpytHAlixqYfj7+?TKYz6q@kGDD>%*U=%uab`)Bx1*kw)w5q|7 zxdP;$a_SCEhiML9x`nj|IuHIInOJ4O+&Xwd+ic%Mbag4lGPZEZgjLjFZ`I=dnV&F} zn&>yv$uO%NX$^BnX(f>p)yOC*Zslk!Bc<1k09|}YLqj|RIM^pPF`m?31xQ8$wBJ);e6+7U;2aCu*T8G^}LjTK5YB!b5USKg(5i6IeuZ8!~_3# zbT2$KnbYdG8Ln$B*1Y-V!QGnBM1-83wnjK!C02zT9Pq~3-sSbZ=x^;li3)XtHn!n{0zNZ(^ z{~%wP9u7VdZivtuOQU7qJH!7@_Gzd4yDFCxd5B4}x7sI-2*0l*e}3rzA#hid7b_~W zSg>`T>1!HM%-{40D7;X|a|Zd35MCzSa}OR0pZ zs@(jEgA!zgYk^IJ7;j(@@>V0bBtI%RvVce2Xz=_bTuLu>JzFk9M_6Pu-VX|e!V{18 z+vaAgaLq0G(X~hZ?Ld!vPt}dq`Gq64CQXVGF597GI!eVw`tU?8vX^RhJt69uOdvO; z1^B`%4vA@&0_ytqN&Hr)lkVyt(@6XF_Vw5dw(C&Mj5URzhVLd{eH3l=p*KO11AB(; z=AK_4q`bN~Cs2%(qn}p(E!LGGw9P}ymtO{`>qdts3jlvUh}Ls_MQ!3>V2nHq{yNTk zqGC$wZ&6p+^@!uOHIr9|bD~r?xv#L0i#Ol#vh-cI&$y(1bu=#QK{g<&yBu5>&C{S1 zx8I1<(X|i@Tqj{G&V!~qXyHT*0~|MfOgC}TVzThef_)J``d+>0mGXzB{)-B7r+|uP z%8~NT%w&~2{v6?o)sef)HEF-R z#G#Dz+5)*IPSTVVU`Q|=Q`-LZ7>{5Lw%J7@SYotIr5C7B-Vbp|_XY_{QP6ye-Qf1Y zC3X;}6F4dZwoP4!J%p%q5;&{^y4L?ta2n`8f-*>Un%SOp5rnG%-aQiNPC_rwXC|x) zjO#q&C`%WHjHxg`LLB~i6z9{)6*ig*C=S67^aOEoMl!v)I1o?=IVnYu^qD|Uq6Mp{ zwyq4uu>rPTm(gw?+%o8*bHf&6-og4l(X0eQn$`5#nNhb0Ddc6dV)~Hmw5)rfReA1M zchYC%b@qr_eix3>jzVGUi_0uV;I=Jj{>6LmM5`u8mCr8^y((CAUuF1j$PBJgne5Y4 z58Z$=DraMn#DFJ$0bppvb27KfPQma*bas#aFe|z&-(TM@o0Gyilsg${6ao$Ha9Nlc z^;|nEb74?)^ycQTVGP8FTxRptb(axKnkZYwlB5hlLv6O|C;5*d^tpNn)+eh5IV4CJ zdz$Mm$6<{6_H`KR3)JT)PaO?zuI1Ww{c*k#(rN|wG0zmZJKPj&gU{!^Lq zWYa6(xZMMnyON@AuCaB09n!P$aYaQlhNe}*i#cC6afOo5HH%p1ckQ}Ug>|uu$`md^ z!`9ykITEyz>L2kJ5CuD}ef{(2Qb(qDY7O1fE?~M)3+)=WTsg0a-!x91{yt{j* z%@PZ0H_VO#{oRGAEKmgLRO;pSd!BlFdv1a7Ik9Ld$9scMfg>Pm`(0wygbWodmEOhK zr{?`Jd+zd`GRakmcb3DNvxS8rtc>B!c&bW zBLX*@jIz9wWy&XI<*mi)D$-U3$M_NY<)6ToF?<&K_*_|AIJrd_^|m;#coQO-uTnV{ zwKAQQ@FW>Olbn63wk|dOn|pv7wr=xyOY{B^l*F}kYIL3@2TLTfb-}=kB^*jTLEF%v zSNM%>Xr)iv&~)~r8&$qY`Nt6v@IZ@DV;i(s5EBA@wq}bue$H1He4DQ>_{3Kio_|Ju z!>7&J3Am$MGG_jkiiJ@W+|RduWJWfk>YqltxbRRBZ0SSC)X1mfMAq%Z;2o?XnZ&C-$t+SXz?=p&o`Eu}%KlbnPkvHL7jx;8?lhwIcT&@z zeLn88E+Yj0nqYM;;bHIaZKmk@u9|0pD?J_`$yZgb-GIU+54^pZxcsqMZ?CZJrHx+u zvjnm^N~LfWD~RSEA%k7qqm1TUZE1zVV;XHQZOcFUabb6DSDtvp--B5QRTd5FT6BK;|9nfj>WH_?wKZiC<_b!rVHQ z@ABt@V0UD|ogjBkiy!#Iu&ye(K5?vnFnp}@S*$Xu1MjVcle~we>-hm7*5$hB9nZxL zhXP;L^A~&?jJ8b4o_zXZU~lP`9L-Z>%Y5h9Sm`4$4yhk;nye0MrEiu78!`X;Vl!v^?w{l0#&*DF#s))Q6Z)r8r=7x( zF9H>X7s=nu@KHfI>vswpP*M}?P#fNyd(&vsXgc}Is(?l9`P*nYgDO5#VZnP=aATa* zkqZXtAV`*;5R$b7f@HnZIxJ*A%|fyusDZe54>jnPy`~j)ZnZ`)3kG1K{5?5S>WkY| z^$RLJq1Ny{c09PJuwg-!i|eT>$uebQJIM9a#Tn>PH%jlVl^Ii@XTJyAN%mUkiM<`y z*+@x{Bk4RLI#NzHj$$n?6*4ba5Nc5<{)fu^&0yDc6MqmLqesboQtDiz)Z9Guj#NYJ z=JOZ*Q7+uKXevn6$h7C#3q#gJo?$Qq@tTR?X1uitWW9m>vTEH3!@dyG=p9cBy8%+~ zYqKplUNR5N1nj-dlDa&VyJY!ILM8I|+16&}iDU;U4O^*4Dt+W*s%vTbKhe-^Wqc z%Qft6fM#p7dC-dqfYiYg0)f=qgdlY$8Dy*hNZn??k-ruv5_P7d#&d;*N=m;i9##v> zwl)DSfdV1il%r69qRTOqGO#t-n*_*$6b&guXm$D9W6ud7?APvgp)e85(0~RVon${z z3PWK0mrE(B-!57o-W~Wq#XcEJ8&NgOu~C0%3tD970Rc1{=mIy)L}lD}p=xBGSV7hF zv}#P9&QnQ)>TJ5pgQN8a?xM`i3MxUO@BrNG_Kokc4Q)FkK@5g2jRs&-yJ7nq?;XRT zN?%4>+bK&uK74rFfp1!d2^=Z>@;SS(1}R~WZ=u|oP_$*%O>PT3;j9u^kM_y9NoP1t z|CzQ47JjLrcDI*ILz#2$`L@|V5OZGaHCfd}+y!_@KTWRX>8?)D93nqEd1#N2i`4>g zv65kd2_F?D?q9{uFH@e^B|W*U-IV>3Sq%Q(J!&9kwS}*;?x>W7_$iXT`t!=Gx!pFy zE-xS`lnUY<#lF6y;xJu$6}~We;MJu?jfK+1<6ASV8W)AtEh4YgMD=?o zX!_2$*#ytUkrEW;r}q6kwP2D6V^axCB)>9SA=pOK9>5RC_RhDmL!l+VPMgns#2;#c znW0*kCgYg%P~Kd4eEogi{4wBSooTO;`OkrK;SnY}-?ag&ODGWKYZRpXdewDQXyyHN z;ONB#x_5g=iN~WZ3x{2?D*IH{oL{bT2V$p-oOKME*Z+9sW}0;JG(Kx-SXaa{NL9Lh z6v3_c%}YNlksEs8F4hs@#GnBmRSG4^)QU)9GMkB7EOdj-IxKn4UbF&Gou_Ly7>Ev( zgvn2JjXfzy;tGlH-_6PbhVb-vRK|63;P6j540s z*PWT4Jy{)NDDYzwvSnui%}w-VR6N{FIWLJufeTQd%t1rJiOHrb?jkwvOT}?ph;g#w zQrcPxQ}3+UBVCAAz-9C*(iFt?iN^Qo3K+DtGxz2LV#;8 zb4+OoS(&Rzcma)4e?NWyo&j*t?ZCeT|1W&_T1xUQgJtl9kyzKL&C*^K7P z6Q_U`I5a)4h1G5+-#P(@km#W(j3Olk^VTU7<_QZQd!I58smba`db2X35hW;|68ZAl z!m}2*$Xtd^*B4k+CV+-DR&N~c4~YU$^c74Df^zrnKtSl1ZL^+c-0%&j({EUkA> zn>@DQL28^9Vp@z%Z-)C>5Mh!0;Ja^7M-UGVxi84yfQ0BSpCl*pNJZ91$%*sDBGtyOSr@QO?p&{;=odlMbu#RcU)*pu_2ivC(D;g8 zuMsA_QthGsVL7cObC821FoXFMW)Lj8erx-gx{!NoY0XN*e6akz75@K?oJD+M43|jI z-~AoYbkhDpMt*?G^%4T}v5Er7r`giN3L{i0Zfh!5D4+P3s#CK24cPSw=qanPW7$yb9LBmUTY266rHH1~#jGl}sE87*hpLQ?xr4(jgz z0nOeXKjuJTgjm`tluk(ip%7`AxkqPsyb1qo<8aDVL$g9^v}e{yE&g5Qdcs6IuFqx# zlVc@|@Zaf3Q|9yx_g0aj_v(VQ`U;g|0H6YNs$-s(`a8wKGnjimj60oY*h`{K+?wx4tLa3}^q!YzI$*9lW@;n&46a^eJK$IzUQ9kDFEx zkg7M&*E^f$x({B#l`OXdYSegAAcHUF2|(!H8w8w8hF}lPTx^> zRelHxac}NHUmh09RO^?2PHoo!9EQR5p-VzV+*h|aIhJdQht3{m=1r{?g-XTBIyG)J ztBD(E6)i5yB2vQ3e-q*v^hP7|-tJM?w zyjak}D0rOkn_+mzi9@B9j<=XD1-H<0yH5RGa@}r!ZIRdwQE7UNapAg*TB^to{~xef z9?@;5GvIHOM`*O!*Tsw6e3TaXrNiKbh950#JJP23rtZC${(_tZo}nZ}9k`6t#w*^` z5L*FrRGv%%hm!AA0&gE5)`w&kcLj|kEh5+<2@gRSs#yn`TNXy!opfkC58t(N+UL$M zm(!noiy8ofY~sNf75@pWA zM!vHYVOa978-)O<8|T0dAr9}oEWf{(xA=Lk(Kt_Qv>{!J2`?7ZQg80}RU2$x&tG)Y z%qWC{pfxP}At!H1Sngd8{#)rOgCkl@;jMHZrh#$#hNSg|G1JgB;axx)>PI~2p=ss^ z)$&=o3Da<v3CEvtX=EWD1?3`rqw|eW zt8=~cyaa5y>4gY8v7b{wo?WV_h8N;!5;7|CvSKCsiNkWo^UBv9v@_Il`tABqjyC~pn=H&0Z!1<~387jziexWCY2YBjZlw(TPV3u!nM;VueMAvmrr zd>g^++H;4D&%iG}e~49s#trbEYY_hEZ+Y&Z87R}b)=wfTQ1+E>r4+=2_?PZu{Mcz& zr<>XCTb#w?dc4+}DeGSN)St*#w(qHE@YBhQh!r;zeafYdY^%HwNuXRxJEDco2-3Z^ z)TOJ6a_>~-p*jDr=U;Q&3mnK)O z^;ugHJtYrTqcKR-!wlL1u1jJ;_vl`a;%Z{{R=LEAqMm)Jl%V5>gX`*qpCF*BXI7Gi zYJD)C3-aBjIu}!KRJ15bv2J+hljiGr=03{}yi|DOK!Bq0@2;jc6O?W+KMS4&vVf-L zVR61G#lNy9Cc7ylIn$3e?T8~bhu7XV+X?o*$sa5LAN5Zo&m3_~Rj(R;xn*h~#EBie zKMkb@B4*t3RsKy?aXWVx_Bj~JF|sWNO+hDne_U=9vm&5DgX1O$IzVXheFp2?%{}<; zKzIm$Avbf)&p$+qFTQzp^s%*uPnh*?edEbXROw{ceRX&L!6Ph{^@wjQarP;)4@&rxCJ9U+%dt5e2rR<`g?~3`1AD=K#<5HOjoqYh1 z@--E~U*yprrsQ?HoCep>Pr`pQE;4R|Ez%1*^;m!yztP%lZ=?uli?{k|A)uS^xSu_H z_W(k8XYB}YE^Kalz)S)US&MD{=`k1Gg9jDF+NZ58T9B5mUDW+1ooa&#&e`idFQ2tE zb?@N3(+;V&sjsayaU}=;3!q&nIt|fD<*qWVl&*&C-_q5x3bxD{me08`8oe{sqHba* z(*FVER{8|UY9b>pLR)^HC)~fXDea*T%Ft#-)^0G~{2$K1otcUcEQ%&>gt;!clj|z& zGj#&Z7Y_I+4j+NWdjzvP&lsLK4_+yf<~`H^W!|%1L{$3tUL&p_>LPr~ywe?q$I{Wd z`p-s>{UK}3W!@PHbD4KwI~oM`;>ET6zQQZ`>F1*5H4^ySSe)FD9S}{6%IlhCW6E zw3`2NW;q1T<3eZr<9!pgwu_giPZ(d5|O@m>72o7%HK5Ikg9cE-XD zW_Ld`aF`AEz}~My$nBcMi+5HKa;VeSZ_UK3S__Umu=U|o_t+W8P5-`-ZKbTa(8#wR zccMs;d>OlmHN*(kupDcrLzy zdsGn|X9G`eqXts*r)7?^4bFDGZuu3fZ>IFTsQ_(u5UYBqVraMjq1A0X?ri_)9`NH}(>XpzS`CPMbS&-OqLCL!+L^o0hyXW`;?wv7x6W2HVLmr`MmhDG}@ITJ{03$6P#)Fbi zz^IeuGl-*o=Z@*UuP)}x+^V_f;UNsW%Q$`tySJ`?IQ3(o1wOL7!l|Pc!umc)Xw)qztQ{3g8Nj6DStxtE|4tjFZ zk?{XA{H#b?3l5*m=e$LxABUgW*X~B&Ey&>9{{xK>?fOlP3E4RwV@a#5WiGIu4Szpe zV_1kAm3HLA%Xtx@Lvb6w?;f;7LsG7*547tu1QHZ=sB16~7+?Yi}~)463w!2S6h3qD(X`0Fw&MeM;1JgzK!AM8)F;D%UbQZ@8_ zrYoCCuZ|ku_Dp^R6ep+32TjqR9`uIky~ehIyoD8*p&f>;3DMVP*;D^#$!Tr=CCk^d z$^XO4nQYAz2K&XvIhT@u|0jAaDhJzVbH|u0H~yd7TjxpS=l9 zIjW~_pNts$r`$U@1_Aya1pqyTJm)~2A6+)O9Hg3yi2krXD53rlC48OC&rZpgRC^v( z?Iu8NC_VO5nCuNH|E^PUvCX5HR|BrLnjX~~vZ)&;;@N1O3}PYm%pqA_+JyrH1TPw^ z?I}FRqV>i5NO^#R-7s+jnjp(v9!VKP`^MValFO}#V-<$2^{VRP?fpLY0U_(jB#Q-L z84tBMw*u#VWF(ASi#%zcT(#b=JDeUe)BoGo;u3Dt9TbK?E&6_3k7lrCZp$Z^qw?nD zE2Llnf>8W#!0e_{aIRvsMak|n=;*NV-&r5x*}2v4x3?;@rAgHB9mcU=hwqXAy>r>P zmdy)-)g}pf>U!+Vha5^5S@UD=z1gM(?WQ6lS|kxU8V6E-GRp*2s=Uqi*96JKl7R(q ztG>dcf>~8)Jl*e}9>c=em`5DRPVj@fR_a2;s@fm1z2>-`zk!#pED8Yf^U10_K?27mWx|Ju72>*t~{vhz(%&lnlLLmG;DMlqY2(<7- z8fGjD9%h0bUOBVjp3%h=wvs;UAVh_dM5i$I{LZ|m8s=hd1l)*mcQPQ@^cbD3UsPoSoFOhWwf2r(gLh1curz>`}0kD&J?c} zmt)6tMnYqb6)0)-Bt%_aJByy6%cW6`jzi!HwmFRX5td~~r~a`HeKSj-4hUk57#p1q za3Kbkq#h`^8|TZ>u@rZl4h>7a1_-Jl#x;OadW#m0CuN^- zswd_VC)Jll^jq1c2!WheU z#*+6&2MvEwRHV=T=tR?8PTn*yV&ya-cjpfqastYQf6Ia7OFi(#U61mzxhC98#&SB0 zLyhJcaOZVrk#nRaoe5q_0j1ZK;EC5jEFYlB2#oxmu?@*tH!N+M#*fssKB}yq1eyI( zMesDZ*W@k>T|{57xkh#Set|h&GVt=QKu!e)o6(u7Jm##DG5Z>D7JQ9ch&WO_@rNFR zL}D>NLck4fgk5#yzgrhfWT1)<ft*qeyS-Uw`x~4|oqWS==6Fk^WVz;-vP@K2qCUsG=wymkg z?aIRBCzk`e`TfS;a9cxz(|=;J6DPJnI#ewTqu(*1%w*@0TvPgoYAzh*ra8+uzLNZe zTv*0IHc@wX5$kyEen)zUAze;(?q^#xv^4WJpqZ&H__zh~YAyxq2t1Z> zRMG;0wz5ffWKktePtS@NV18z_v-|97UAsUe_i6;uuQmwZ88P;#*8e2+`3 zC-$IzhdGo9lExN-PNXHG(_nVE36$o8yOoi#EZ=!YQhL94uSc-NP>U+&aVjreCRS1K zpbeZv(>u-O^<-kZBHXPcaBDzN{>{tG1%Y4Z=YF zq`22<`ameGJ|Hapr-0VtX+=`!2%(c}5iu?1&3`EOZOJMGTY^gjyU}(NU@V7o;`7~T zOxlzf*o|J|hMU)#pQT6E2wuY3bkYMyr9XKby*{C|#8`>HqavYvr%N@aF2M~@= z=n86dV_EPoTt>}Vm(l5D72%~aN1;X}Ck$RA;x{~p&Eip8bft4eZ)c&!N8DzVYWVB4 z`j*%mwqB3z{USI8?Md6d8J}2Iaq9}A>K?3`;EP!wkMK;WSxTWq8Of%Ou3}=)p<6rO z55G>ge|Al8;5b;-F$dq05^Tj79s4Y*XO*k(J%Vox>m=1(dj>WN^7|4BaHB~!FPZys zKnJ(c+N6iE8yifURx$q&SttVTo2pg+{e)(G-2{;)OVtN zWltFn1xzLzT5!g1FA})<1 z$I^XnSy~}I`A|yKGC}WF{z=4Mp5-vjd-u;XHuntqCQW(kNYNK5Rj0*(UkL@ljT8Z5 z3&KXlifZ`vSM(2`!wd~yVNA)~rK;%u*RZ@*E48x~h&`?{d@{tIu1<1&&irp2cF^|o z$O*V(uh~*7DW?iv9SCU@fXPL^;&(utMcEpM%+3X7=16~*iLT>49^(R9QW>^)EXin-oU;wVM$ zoY+jVqQhMPV(i;4q=1pX8L+*gy*A7a6TUA{a$_SZ%#=FE0g=0Cf(1$oKZ}stgI;(m z&P`c=R)OTg2C8CxL{IA~(4*POx-H2uN=*j}8NDl1C<@PWCtskV`Xg_8BrmgR(Ku~; zYc421KJV+GJZth;G8Ni~%wMwSOE`Od+8Fp2WUo~(v*_qiZB3Lh|wgxiSSv$e-j#j!K6+@MX_y4%+g zH`t~Gf|_TACmHop6Q6)Rz_?{LYAy^vHFMXIXWxTaP#oc8l%Gir&%#d7%c%-|I z`P_Uly>UP8>Xc-JZhY#PB82}V4MlDny{|%M!#*GEsi>5&AP?GqQk{e^j79)mJBG{` z!!X9u+L(z&(j}1&<9{26hxZzkhben=bwM6JOY}@2;|<+SB-70BPOK+R30Gz(S0JYH zleqHy5n6(YHri*CdY$eSHZ<3@RZwCa1Z>3 zWt~wY7cLg0>d0U>5sl^L`T)m0$f2S*7_Ibw)42GiR~^N+O|$bB}f z+r%AC z>%wxU`aLOf5_0+(n!;Q`v2m_(Kn_WDZDlo$at-POUZ+JpB#q zX1d|8SjlIMCfro?1NilhJEKV><5j77NmOFx%%($wIlI78^m>EZt8Uv)WNvgw&Yq~q zoKg>i!6#SSPMvHlvXfQiSWYRXP2IWh3_H}AXO512m|WDE#`)ZPq#=wVg}ANd!J^{* zO}fdVEBY%aAM`S?f4>_rVp)67BM%5`ub~f7DL-SRQ}rJfaMty=_iARnGDSl3vO)( zujY_BMCFuP7Y(sQVF)LwNW`pLsJ;bt$F7wIr*A~<$C(U7lNef5bGCl+wzH z3Q_r~!=tL1fAL38ZlvO5ASwIJL_(MrFIF#g(TM_a`<(3EV~HzQid2g9)hQ&#wcvXq zr-=PTzrP1B$l&2L86f!1;<+#cUx%_66qm*Q2s9w*1P z8_cHR{VolY7qw!*WbT2cnml-DGk|rE=j*!H~%FPFUq;ido?#bja=8s}!Z8a-=Y;h!_?nY;GzyLrh^tnR{l&h8Z?@zxQX-sdGB# zI@k66{pr-n)XZzo*YovwXh0{F^#;A><2Syw$T}(xGO>C=y#XzN!Zb8@mnP(Au#z4< zGmMEJ0U_7TNR>0vTw_1h5ro(HR(mD%=s%&`|7Jf)o!a>6rm{mBJQ?g$pZ^oL{V0tc z77ZYP4a>T9Z#qqgR#MqwA9lJ90%YXCyR!$oZI)USiv^Ok-BG>F2OP7kfI zxCebSd*fnFz>c?~NrCEVY3 zam0exQ@gm0Cn)>HD}vAp`39Npxgjfy!KKVRh3ikO`hksWsaM!`B&R3AP#bK}0f(C= z>;w_qV4tzOY(4Hq=8K=JL=PnkoAXQxQ$^U}mGdluIJ(o+kYptQ8ECX*PhGx+0;KIg zgWJif1r*soFC>M}Jq}o4CxU+h?A6)XiizH8S-C-li3R~hnj*0xR(=p(YJXthHQ4&3 z+q976&W8a0XByl>FJIp%e2SExv02|}r{MAwX;KX%bJcdRGI(z?wfxG>SMiw=LHbo4 zkEBHAXt(Jn~Z@Hb|10TSZ`!c`g_Kn|g*^Gn2Jw zzbFL*%`bH1AdBnOay;A=Yh5o$waJ^>Jru(+-+exyH~hwZuR}$T06cm|&9Ij}EuWZb z6|4H$GpA_R$p_bvY6UPhU9MpDou(uIh>d&chFl1x~S^1 zb`XREY~{C@$Kj=ldxA58WrlN+4J0^nwhsfOf_&u_!hBZ=wxx^LmM0V!xku8|7|@Uaf3YP zsSpy;Jf{W+Dn0SJy~Dse*xu%tCC@o&hDz0qZC^Pzl07v8lC94y(0PfeA*~hy%-G=7 z;GZAwgE`E-TR*dS>k=?s2!g+RZ&ZckK``|%N>y2jeO@8I#&@`319+Rb)HBD6PNQqx zCu9>lz-Po9XZwC)aDjI|Gaa##h=cHnENNojHH%qQemlAWKG}*?jK>xv8EEZF4q1f< z;4R*1`r4S^x>y0XJ1C?1rWc3Ygd>GW4H0+?NHYm{WI}^$v;E%*Ll4eQ>)|htgt}G2 zmzS~$eMlph=`#Oz+@IZo=pqr0*??he=^1Dz&K;GC0<yR zYfNDTV_Ma-keq@YE@($nexGwj*ToNT@9@jW-q>M2IUysE3OqYN0Xk3M`kmKU{6ov; zu+k;VVT%|m#=f~Tw|~(IWS-Os1iy5OlKf__Cp)oExPw`EQuzgV5c{=uIdng?rEjn{ zlAN}|5-`48yKKMGQEh`m_oh#PMCw)iKHR}6)*HRzs?H_f4Y^n>5AZH*h4GyR4IHd9 z6$7-m*!tohf|yHT-^_~V_#Btqw86SpDWXd6H^%=SH}wy86pPlmZD-#)ow9M+wc4vl zLpf4uUo@~4?)Q!0>$E&#!s0miflB(tk}1bigQnXBSK|LOm@9RnDuST{c)Wg+ruE^$6hGmvA=Ntvb}m&{7&>Zj;SlrY z1)sOTyQ{?WabU*Su+C}O#QvmmA{(91P@dtC_sZ3^@7i-L$vGL59~8mr;@oXX`AJ@P z!*Q&VVr9tVlub(U*GdXJ5GEo7l@b33$73@iwT4{v7*e$2VMwI%c zf76KnZXB=G^(H7(jrc?NPAsIv`IiewV}mEt1i8Hl^Obln$!3-!!C-ghGQZSRZ%^eD zaGtG>Epg0gqDYsEZ75bbv2}^|%i<-1Z(cX7gQv;cUoYOrFNYXZ|BV^&e&D7#2-k2< z395a$D18ERaU}^#C4kB`P!aaGOGuV@i7*(2@I(VaAjolbLAG62m46t81_)F#r@#rT zgf5VM-J2Xi=*o7w`a4=?K~V@Fy%l6`KCY7bCR|0W`(4mgQ&S~H^I40?OzY{Fn-6uxzL)_+(fWOrxAbrSH8F zG856JB^9@hPN$Z1CfE_;NQq9CBIR|Za+{mME-YZX`*I(sX`GC0+Pn)kQ$B=>dd zlXz`xBG&sRErC&BqN2EaD5-7FkAHl{uiYLE$`lV&#Q6d4K+&C&>UX!)bPFKn)&%;* zmfJh>0BBCt4>wpCuMWYv2zu`2dDdpoa3$q86HtUJNF*7Vcy8g2A?}Si-6YH$8P@kp zG&nF7A^LK^d42ux$Yh`qsum*}Uj7%jLX3%5vC8*n*G-=N?n0}U)PoVA#R)R;%06L6 z-zB+p8k04~ZAyEP;^7pw7|FmQbnE|s=C{3#Gmfh;RA{3Fy|rEN~o z1T7i8Ockdzb-4MTGOAL_yk6(ubg~e$iyVYe>C;6HGeOv>cn|Q0obH0$f$O#bcVO!Z z;0{!l3n$Z$%4-6Pj57> zLFM+#!J8_=0b0vxRz}u#hP|d|cK_GN?iE?bvd!@94^zu@h+|P(*=^!8yWEccjp5m^ zcUDV~wWkefG^Gr#@4<{iFV-tk1Qhiv+&7G=Mp{EcOvy84}gy#M@z4&$Wge+ zM=}LaN*AAP6)yWF>}YhB!cSM}sZPQeV|_0ZUx2!j1_Q!BNdb}WX0tKEHud9QAu)&+ ziiI9?ae-2{2m9plGzR}{{EKaZXx$V4Kr>LM07h{w2|E4<(Ma@}N;v^UA@&a)nFbx_d*L8z=i=1@t z#u4j^#}aCWLe+Fxg5Jbbljrf}Ejvw<>sW(F1rAU}Zb0Tj8(*%ARD9RmJBIz^L73z~ z`ioogDO#HdZ7NwOuP2@K58YwueXSRtvbbpHmkY;YKd1qaC zdx;VzoU;1=b`W_U-;-v!F9Flt5B~nrD9+Tu?JWdL@51)L<(SBw*V7D6cV0NtU`Nre zeD5cg6Xz7WrKKHcgI>XCC+05$4mHD?F4ehdi8@8iKokjgInZ`u^~?>0^o?>hneo9@(yTgv4s=G(Pt5Elz{XC%6n{*44{EF;hmR)2 zzO~=lb6gR_Y40Ia3U!$OUAvtM?&@0n2SLE_r&S{tKIw7U?>oC!KmDY**5j=5*}}@Q zsf+g(DomVlCvenf#B?+r6y#bT=tJrPY{UPAbU#sEi3cZlH1$)TmX2=IV_NwXfE3VF z3c3Ton$~6$pno%sQ_Y>X_PRFkn&V&ip#lEGH^+b9`D_(s zO^WZ5t>qUKEYiN@Ej)Mgr>491GW{;@z%K!7NiXABi!88?nI@g8#}o@Wm2{~R3?)B65G?s~>%X3I)VLaIPy(2f(dWw!bCaK3mbrSSci z%!SYLrju*q@#Eg?0lQRhLypFM&tJta#TBlsVnU8=`AMrI;KB(IFCbQz9%;~6Xa;1+ zDRM6@fq*n-HL|>*jdlT-&v=h6eu*hhE{c9wul1=2pNR9~5LEwIM;2cnUBkO3aoxvL$mbmcRML-Sc-$Yn zQ2q)Le4KWG)wV6)MX|b6<{UiJwVw>S@@^M5G7`;a ztCe&y(yRTVwoK{&E{q9=Y6}*`_nAETMo0cI{dM#x7?L={QoC~z;huIR($^|Pj(?4fwwL!>+Pg}%)_-N!dY}54ehuAsF{u%ul#@vmu#yFDh z^zio~A%fJGA!i0>Q>MVfU<5v*C^%;&fI_^k38il;ih^Sfbq-IAQVJJ!)>6hU;Y%KK zTzs8P&^Y{9UpIP~enQ)4w+uD(tz`G)Tb*Cv-4a+{naZ5$42nLs%3y+AS4+@4hL@GC zM_j4Xs{J5%>T2WkXQPMm^OzMzbz&p z6swf&$V@6YFhsS~mh7YuT>O{er)b{B0_*~q!FC?Z;Lz)72{LwWzhgMtm^tf4G9^>` z+_7~OT#=ERK{Ixi88Yh_;0igSmaVF6PRI5 z%BzGTb82fI+rC76ss4<=`!(YmvNv8o_#;6mDgsD zJ`qc2oao-=7{hk)8FsoE*_Er|tT`eow}aPh0Td+JANExCaN{LD=$PzidTS% z`QI!dDf28PD!{x;0nGc{-(lV<*DWCKR$%W4>k7Hgq&|F>%Kl6RT@0z9nLq^%eyZU& zC%a54Y>7Wqv`^!Hs!`r`s>JByk~b$>7|I~a$_X&N;*nnXoZIi8(bXyjY^VkT26F@$ zt{KOSD<1FYKE6D5^Nh5`OckSS&tLjlVkrYxba3Mj6 z(goszeFbQlw|fPk_{U(vZ`Wu`d~ifwgrsUu2BqTi64)NcQ6LhVAJ=+rnnweod_)6tancZ zcha|UEp83mz4E?teIhuK^VEW|jfKA}XI0Drcx9r@)|wA&!ha>UiRU&%nQ;*kG|@qSGY6tH57 zsy}1AS1q@|iDISjkFnC=qWcKJrWu_S01AU@yg#$5`R`~KtCi|uz;Z|;HF#G)lpQPq z6Jh+5?UY{+G49)8d$3%6TfB~6YfJdw!?dLFlE=!w0@K<)3p<)+i#d$Nw>I=M>f%8a zaY=fht53^?LdL;on&Gl14hWTJ0No$t3s?{RwzR+m%d2%DXVc!C%?^cTf~TzY3r%+Lvf#d^Gkyc* zO5JZ6$0)3xivB0T2CL}smV)Tdb0!NYXHr~XENCq-7U;3=W{I2ndB ziMmi@&x%xkHBrUhMSHtEd=jThpI@3CPyo*BHQDb2F7RI3mTIuIYOsU)f)&WB^U9Q# z+WTF*lHnVy^ znPBb(3x1l~;0t zV;_!s&q~ypWxOf5of+eKA$W^o+kC(3{N!(dr=VRJ-ah@Bcm4vHdzQae)(rfiA;=6$ zo8}wq6YgNT35J6)N%G>&I9|=E(msO2T*M^!9l^Q~Q=V%y0m$+3I&~c%=OM6x)1Yp= z^)Ek~C4m8nlG#42I3NJp1bNSyqu=R47zTwzfMKAX(yDXwGZkSNiw3|V z&aL=ox&$&ajbMg;!@UeT?da&z&eWgVipVf5C8qD~#k!gLRJm|PxzVt_ZBjRXWE+Sh z%6>N)O3N*c&Mg~AC}f|!I*{tn2ld;)~1F9*o8>+ zDA~_Dayy1H%IOB!h3(T;i3TY&jeHC^UN0nLEYz(~o_a-L*kMq!SI_V+WWV?JPRX6# z-r5p6`O10jjc?i7fS3fX3Sk<~$DkWj0o~I8#!bfEKTwqOlrg9Vmsl@n(*3tO8EBam%r0H-BF{(Qld^fcueg>L{X<*8FbpQjY9*E zgC3*)=(NY+eG?O*PWv3Ui>k1{@Lb>)Lj`Y3-x=p(RS`Igrd4#QZe~E&wl*Zjy$>bx z0x(L4nl1SwQ@4f`=O!t0!TT=NB!x=CVdfL;qV&|w@pS3tF^lZJu7iBP+kn;}-drd! zai^V>BbKLrH@lMR96Z5xvGr0s+{=7NXEB$Opv807RaDZtW)d$Yr9U`ax6w>*)6`mm z)?{{8;u3kC)W~vXdS&6Y8y{+?;(hrEUIM%xy}_oWHx9*aJu#&s2730111R)QFI0=1 z)4zmlxnteZKDv7pW&&G_e99&T7+g3*2Q_uH>AU7#CG?4t_u1~?oA{Dd*jx9>Y^;N; zQN>`7abX;0Boe}`B1T#VM=_eu*6*lP47!~bdTxVqJu?~Y-{<8Hpynnwsp1r}hpad$ zju5vJ^KCUf2yG=QC26hybKK;-2T}$WTQ2(p1y7)hQ1C&cmq0JcvbKTV`&6ub&w;+d zj90{Kk%u?gTklO^I`Q64_tX5U3nj|^GDMexfc!u@RC0?`d}GnX>L{W|0(7zbSdaA@ zTnfCy=^KQx=NAXjg&$OP>@N?3PK{bn^~EYstP7BvNt>^?2ax_+Z*Q@_ zBQpNXmgVwDaF>L>43D5%iQ)l&l{O4!ULdW%9OwjBIJ+3sTHp`@KLz9y1H(g*A-c{ETi@`s6!KMmgMGKJxZJlZ&hBx(bpEpzQ|_jw_$O31+6~R`Q{E@w2jZ{Qw44Z4tQ(U9ZQISs znvxq0Jc8@RAjism@)kJO<1z0^C&}ShRm4zNg4&sFWN{x)O=NOWgT_3X6BXG{I%J047mv zz^&;Uw0OzA8A*ZJTi__3G@{(ZKwos$h@N*F;(OlI6x?!scdK~J&=I*ar2*wG4W3W> zB7O5=jPw!1M^60&WK?I0QD4~D!Q}s3dcRY82AKKEPD4)V!k2f!L^kkq*)K9Uu!~Vb zduyreY*Q>x=2l+F+MIqbQmv%=#KL`{x#lb4vD-d$v+>QxWuno^A@tY`J3?z(qG797 z6ge_s3m2P#=OUT6;?F#G4nh_y?3j z+4J8|R;)`p*(k+Z+wLPol`am6nZmg5)$6<>Hd-Ysf|9cNxDUEAarTDEOmyIVzmv_> zN7)uS78%jArkHYzwGE8G4qX#owTU)und`Z@rv}SL*Bk73NqI|u_;coIY$omGcM#`O zSSDua&6p@lJ&p_Rg#ssu`M{}kOd1BFl?O_-+M=Lsg~z*s?=RGxyi*fjnSZ!FEp0uR zzLaLRf6j+b{VE?G?hSYm;Z`M%kXt&=KZBm&Pjkfq^F+KbFfXg7Bqwhx+|!s63pk@W zSvBOG3Y<+87Bv5bk09?4_;&z)8m#1{njsMLh2+}C{%Im~gmI(-@3+WY%J^7gR%-n1jj|g*XjO%iNJIU%&Ov2dNe(%4)S^c}a&Q7tPSYCgi~7=0LrrP@ z{u_mj%+q=FAco|*C^$J* zKlt0B5!{>wX(|TG>m7TxQo%OV*>*F(#LAq%Cj~H4XwQ%=wT>?LZ0Y1dGSL0+aK1 zwMT$Oq1-DXU^Azk_QxnDIb(od#~I zgrz&A5Km#~EADcg(fzr!v(9qV@h4ui=I#x4#95sqL`*F<1_kH{pa$>ZIMkp45gKHm z8ayY%9hMsJ84HF!PI}R$X6#r)D&W9Z>9l9hTGWn(49MA{=@R&p^qC6mI|jEPO7w3e;Lc;gTp|qv-Vd*sTf@%wE!aA7og~%eU*mr4yrw-FWyp^ z_4443b8+mLHepZklaqn|oOaoaK5WUH=7~QKiS+B{4s#V_fCmJ`M=(0P3v?69H`P6Q!L&YlXfhQi7QflrE+11{W@ z6X|p*Fzi$?t>;@tR5^u;(B%34gMm=tKk~am#u6I$zPKU9@~l_W_tc$Q>JE0Cv-=U5 z&^_fE&$WhV+V?r7&&3>Q*3d<%`4RP}<>_kK1t>CxE#krZ@A!-dKSaqm%@>OKGXccNF($rh#xb-$H}45@3RIDmm$LhuHID zTaanYk_{!@-Ny{Qb`F+pc1%1JPywi_wAKtwmRVxHtmMK$<<^;gG_KkJKuZ|Bz|L2% zLG;7xmcbCFpAnx25an@(gOvavF5PpIai>@`x^%;8 zAaRfD(ZuG~z%nm&JRCl!yP|~t4!)cvnL3q1Vu#>o5bt%91v!^&-u@zk`b(JgG+h}-aW?M2yRN4LO1%04 zB|bJ}=Qm_XJkikFdT-aMpv65v-ED(!%GWLKN%Mn`>Y4yo_4LnUH0@8Z*62ORA{Z%- z#v5$*43v(p8xj8eM?*e8x?4}9PRf9p_8G4Mb3g{so8neY7&t}nNVig+5s70{*cu%m zSR7_vf2aL))f(`SjH_M_YtLZ*v$CF5%K7Gfd z`_8nWk2Gc8>pR$_b1c;TBQIVa19B0r5U%^-ZsVc8<`VMd@jzZf^s%hXhqQb*yoJC+vEGW{KS1ar49L9*G zynaUWP5GH#TATml<)|OSyalqB-hQP&C{hk)luYtH?<9-vC|$rE<$L=WK<*+>WuKBS z6RIx(}S5+f}UCa;o^)7%Pg)F2P3}*jHl9DpU^#piiB`Vn z4ECALpQl{%vb&jZ_N2znSYnKQ;{TV0rfF+7>U>>S012Np@cMblOTs)Zz8U{yTMB9H zm-f2p@*Q6+Fkc5~XU|puk#$QHSzjq?Sysm0^Eb!=GG}*~=7n4&)}0Q*zb`SUsQE)H`Agj(qI{e0a7+)iWJ*s?Vya&O4)QKIn8@m074+0n{4#kzIfg_3ZGJ#g z>@HjcWJ3S;qiJ`&89aB=taKJjKdnV^o0PnOw@R9QVc}s3oe8FHkfdVBlGj(x914aJsT#d(tF|CHf|lMD#WxL<=elAONAMnUv%B+P zlB0>|lxV8~Lmo-&ln(^d`Xf&AT$0bisxtPZw$IFuv7u3(7jT^=?WK|qRgr<=e-6cn zqx*xL&mNjvXF%WOCVcA&tt&Z2hlYU@HyT=3y8p4R#0TRhIO)sZ-K3?@O6iDM_SGfUbY6;({KqU9LlnK2FH8bJc}?7uCoWiw z4IhXtm12vI6>U$)v7_0(SDbP17qpSiiOn0;pG*QXwULqf3ttTYSe#J%J|6Z{RQG|_ zo;uy)rd77aqmPaY_IdWSN(2v1@?V?(s5oifS|Z=yWc{x8A_p7^>Int;0Yg_ucqO`$ zWKT6Tb`X;pZ6o z;w0sQxs>20##}#qW=UXH>co>9X?>Pa?wG!jm5BEGPeWoF(*Bb%C=H3yn*6!))6#Ng z$MjT7+1{URz*-P<2#cw>Fm;83(lM3ULY_LF=mh{+T=%0bd;H%Yi0SqXuCVZbzh_*n zZ73!|W1o+rv{S5YZ$1E^7ruMYuypeG*!b_!>Of$9CItwrXY${!V|$KXovjO*<%M`_ ziBBNCd)O~AGYy+PbWCfH@W$U4s0sKi*iH@SIJ=W>;7;2}_zs`%V~cgX*^pq7MQnM6 zLLJ5`mYeY59CyjN|uvJys^~TLJKiHeeK&R2{!AGMBCzp!FxWnQy{}Llk*1ov}H8OOa=7JXy|3AnFyjLK5o|o~}0pfj#$g?R7mI zxBYc2Tm^Z#-{BTDDU5yRz&6zv*F8!1Vg`3N*VY0ol_~1x7;ryopj#VuMr}V5ZVI4I zD&wx1mz&Qi?Xv0&c70EcHO@Yv8Bd+B$gdQn{_v<8*L2|7Yob`VaZ*aLEX+pVi13Bx z@T+N-XKNvAf0Hsu7{tlDcU45(s4A3iDTpIZZg(AJX+Z93&Q~rcJC8x`YE+NI{C)>g zdP~imd;eE?HJr&d#rw1~{GvJFFW|XM_B^O7ZZMGx-q*k*Lf775h(#A~SwaeXVy8=* zR&o3l8B&p=X6bHLyR_sWfM+3F!T~?s=k_cblM|5%z%6p%>^~mR;u$yL3&B;VndBe# z>eF_Ai;O?_ZB*CaapZR!!N$MmoyG zFnN%4OMeF3-CC9F-~P);2yPdPfis82IelK_eT4rVF#g(@2_)v>c;P&rh)t>Q9GO*e zu6EyWd~QczL6Y_g{eRn#8kkH1&;YxX_;=p6=eflf;_aRR=k+2{g*=@|EOPyb=(?Bl zistz|&R(~83@L;pmoZwL9)Gaf(=Iu;Q+T(^UW70Zg{oFdNCu}3`zF5wq%I1&lYbhl z5#5ymHy*AfC-C)ZaSz&tETEdXBYV8H5*X8IccFEsm%x>4cS>0iYH|EGd(An`bg<*& zx4#Zy9Fx0x{zP)-^^gN$jpekHASgQgUa1Jk3qVt^eMf0e{Jnt-qS01RwHNDIpPZj9 zNVY3qXH7E?ee5JMb#KD^wg;Z&q`%QQrBL)Td7(9LQa6O6idysS?n8Rq0a=0$*(KiG z;GFKk-;5(zpT|~wTl^Sfn-!~>D2?amea2=SYA6X6&7K5e?)UP-9zX)9S z@oMtZI7p2hkFnib0~g+}oN8we)$p^x!N5kpRMEviVFRFZ;TGszamlmRlSFvLl5f@E z&0724>uyL!ZJCkgpo|A@y`bVnhdDW@7iIRO{Axr?f{KI+`9ol`x_6#3ZZ5Lu(nd+V z>!}`AUovRT4|h2~0!~w*|9#j}fA>5{X?@hJVAr;brb+w)+J$Ao)YZX#e6Z&9G%MXW z8siB>-pdT^5{rHAV}HGwM$F1I6O4&Pxlf26nvlD9w6L4`iv9GMN@6#kS1O2WyKq(l zO3UE?3pk#NDt}G$<)8wQ6VIF^kLt&6=3_aZfblq@YLM*0%tsIkIa-Hj@{YD22rm`W zV?pG2$&y^w^qDay8Wpw{%r(POz%)H9rA_=^GEc`15Ffy5^4W0aH~4)lvu9uk674M~ zwEy@$}u=uqe!*`%Mb>Ii-kW9y zGLiij2)~;j-1f*tkps?8FB2ObE8VeJC%mB-4RR(jgoRfoQ>GiJCV7e2EFSGWwoc1m z;#iB)WcH6-nH~m9@i2(3g14%`o}@NOAORcRb2Q6kv*=TCGP)UbM8UI=ku48r=~p?k z+kPMl%tq|z%KR}M~tt*J0_) zK}6QXmwOqG3$CAWUT|7FpKh=TR2ky^U@ygxed=eA?@G_rw!Mz*nr_JdgUz4^JcS7h zoin@Di|b+OGjZ6I{A4iE>|uh6`VgG---JrK@K*jxI{;QFV(XN> zGn;f&8TFoXc$`kKG17Ri_vBA-cqggv2&A%6WWa^s`yU|-1Gx}n;fQ+0Z7sJ7XTvdX zos5U??RPqYAjQPXc=3i0tGe`%8RP1iQQf$s3qT0)fd7}#5GSvKKL=_f6{1ZY2;Q|) zIW1WLPUTyY_OhM-BCU=|A_WKh>Lyr+$c$4@IbSsm!)f;bDNkK9H0Z>8D+N_cp}IGBrxa3ARrlkK zXQ_FBie*;v4TzTB{_;ykr8NVc$*)i4vr&Dv%D1k`8YE1uAlJV7bdy^MC!!o+wYH2 zH8%u4M6crKNWSfeV6BBsxr&;L5Lm>I_MVvro}8qlh!f>-Gh1Q3Bu<}Ym(q$O?XjWT zzZBg8CKDqb6W^ZagVy}p$=fXJwi;=sq0V;ZlP=w>X}dRljScUU2l(ip_u;kSQ!>0; zl!T8e#7f_gb^mtus~1>mK}=Y%s1r?E3-^)Hj5aaCdsYc4FEBzKr7zPVjQnXD56jpT z*?B9^e~B4TGeLKNHuKztf0HVu@-VrmwIBHF&*M@G2A0@a$eiWuIvupCM`KJba81xn z$p%>;`pL{~o5KQ|`hz?z=s`4POhX|HKL&Ef<^d_PGa5bk+_e&%Pk`XyXf$l8KuD5+z6feGmRHlQ2lu zTBacoH>7)>P2W{DfX~@VAa!Usk479bb2M-~8Or2Vcz=wUTFiU8o3Hj-eN%!5OS(_1 zN=cMxRVl79zp6B8`fOEMs+&IZ1{RQsY`+lbF?Y$r<~?Z=1zbrsnf&yO+sVJx69TiP z@~o#AJB^F4srgvgJ4)EKy(6YHr=Ot%6jjC({|}AKv?DcOao=KXP##N2RIcL7-;cgb z?db3UlZ|rP7M`WJO*W*dM*jCrDd`PtuZ4xBMMl{9mWQa02K~s4*+pp$=YXh(0=M+u zD}L{yO|1n#(^cGJ*3{+-W%$wW5GP*gklxN2I%e{?WB?u65H-j)E`lgOkFxB7qThUE zci~*4s_Y>QgIqVKZQ04|4LG;oCd)kK3?$i8jkC-CTV&T^Cbvr-6y|vfM&khxDgGc0$9UI?tZfJhsciJ8BvJUWddkcL8av>ggMBO8|o>qtuuLfqN zXT#!4@oFICnmgZiAy6Hfp4@$pC+}jx(HS+h1@~RIX`$#En)e^ z1jGL2E`hBD61F^vFX~u-PM)^n^!-qXBa`p8&j?To#Obwd?XSH!2ydKi?=^N|z&Qo% zL||)6fKt0Or>`g;;Nh`30X2xBRxh?6Qx}sNG+~p(TpKf#dfw@P+{?zw`jUwD-Zb5k zZ{tdW-J_4aO0^9R9uw;U*ArvHhCuiiWvrBGvbVllddZO{DPj}j6`c$4L|Fq;WyK#O zr$5$@*l`8N(QURNac;5yVcn>b1>VxN*M?+@`E&i zM|)#x_5ziQ+L%g^9Yf<+Z;0>jE8m?-zi;<$MqmaNpA#Utn`<%JwwCLQVj$0BhtRg~ z5kan&JVb7ys<$o96BZKTiK!?e6{iYvWaHMYo@RnwUy1I<6{NTo9=R*8jwKORzB~V} z#rT4@?52&s2Qrk$KMRdgwR9us6;Eo*Tma@6PkOV`eWO6vqU1ud0yIo|`OK0%exkD9iPZ}I((j2W&@CH4yk;a?i@ zZVBrvn@@S0WF>IZsK3lMwrL7fa)PM^|I0GbVH8ztQN-P1HWf)zYjMyJMjTsZM+#VPV?^!DHpR{bn0{R~_(gK0 z&bfVU0(Q(S64-b(%Q=z1Q&L%zdUmZff)WvzPJk1Afo^6Deif1}S`D8lcu+`VCj_e~U( zov`rR&JIbHX~>QGP&fO@O+|o<0PueBUsd6sMoU6nSC)c^?Cv)gP(-saQ;cuA!(OqNaTIJ77u$bbA%!U zv}&!w^qxH=gR_AMT2o+Lsk|Gtz*va;$XIwcpACY&oD}qx;tEKBAp(wrjQ;>FbRQWG zf>xuGV|c4+YK+Sr(Ld@BQBI&#)i9+0R#0rutupfcB@F(DKYHL>B~jHLdKiOcsL_FM zbz4r9qx?Q$R-s&KmN89tK0Cham+yZm9S*y;W8?kMsP$UyH;}l40B2<*FA9U$c!}Y| z3UkNQK;b><;!apMXXDzwgN{!%h93ADF?B|G)i%YEG^GbRTd|N@fkB&G48Z|aAD2R!#0@Faim6|+y26VWR* z=i&!d1Q@9S^hyNl?AiXfm?*notb72 zp#13CeD57U{KL@sNi%^9SFKp9Q|dk|Isy9CD$%b-fzau^uVM&|QGU?G@buHuyqNqs zUMBP#Sfbyc$gl@fl70f2{joN6UOVsx^gn^_yl6T1&mWD5ub5l(X0C4%c?Dru)ed7G z`}^AaxlgtCyg$|6gCO9QL9y4?;OVN36=w5A_a~s}UR5#cup?VnnM?Zqk*?#@I3`uM zEoeq+_6N`rH_BV;Az@UKU$dv!uxa|*WOj&M(O*`4=Cp=Dum_Rn0(AS|F84sk?fi7} zdOx+4LNo^=VBv(sES5Aln8U}T{2oCBtU2@Ij2l;ibG|K#R%QlLgea|sxin8-Z!|p6 zdFWDKCI)%NeE3={@vxi0Q(mYm*<~DzMTnJOuesOyi?;q1+}OtUS0ea=MR1p&zq3h6 z=XA++SIMqgh53Gud}VVPwJqik{uL<&HC%uJ{Hu_>ET#z`Tjk$HBXPUh3H7gBDl1lN zGIj+gU9f#Vvhv7;YT@T~cel2w!pi3Td1B|=q*l*0+5wp$UrU_?fD62S z_L%2l2Jm3XxR((+SDs_|+0U@BPm++XSC=~|+U1HNnrNO6wlKZ!HOvX_H~nzy+KJnI zvS9X%t-dmPR=JM9i|$s?S3m_7lWkD5%e-X3E*s6VFq6l)9H4#J12%-zbh^_`a=?)T zu;ufglG)A4-BM9EH=s92EqMP0&s}uN_^}`icv)Xr38n>}*l~R#UKY18QpS0gtd|x_ zOR9M1@5CvMjPxuI`SK^Pj-qm}4E~(C=mg&q>iE-+FA=3e+m{a`6YGh5i)0Mnw&?q^ zt~zg4xpq!pt<`Ufi`BxldQjE3bl@(-E|2WLt8BJh%k;a%u1qkk@F|G2+lh<S!9ex017DY>FG0XW%Fm%|5*?$Njl%iAFpmZ1ateUR{pG;?``Gy27 zvRz$ZZ3Mz^(B&R0?6Cra#GM-U(FAba_)i`8zsP*_hwy!G27jt>bM|ue0UNn`YHY@U z<&WV9FATym;+md|#iHEdE)NgCz0kO{^UItFb_~~^zQOS)<6IpC4JIWb-Y2qj084vI zr&(re!q_z#^`*~8%mHx8p)C^pu!;HiTS5?CK_!(*{m5D9DfFzb5pXA3Q5yUgHMk}V zJ_(e&b2PtjNlV&QU!fHe*et((-yHQ%AlO|6J_yaDsr>|&-R+B&fOGlqh;3{k)CDO;_CqbHlf<>Hq%yF8LwV( z+*PkSYG)YoEYAluKe=Z_clK|XU)X(wZ%NO?w^TldZ{@9tcC$-gQV(5V6eeLzvMp+} z<|8x^Bb&wEvmlZ|#b0EWrsVSGWje z+oeIJ{s(J=2$khoJ>EGy=UMQ^bCv6^?^7x+=rL}zzHMILx=9}R1jTA9#TL~Z*zyZW z%Ul3=msT)*c63WjK~4E;UaDiDS}_Sl`Rws=DuZNufD1q zc8Q@Z22fY+3b1&1n5)eYoY6d{M;T<)D;{SUI_hR%Mmvz4H+9pis4yc&~Bu zZ#aZIM2!BGcjJGFp^i zFn40I>9X6BvEORJSXPvP8!$<@$r8~UhKYlqjb73*JM2Cwm%wdcwy$>69&7EpxqR*% zYY^1sxy(UJ(U>Nh*8YnE{Pa7wJ=Bo3fCT>$*H96XL2vf~B=|x=g2xJW%!DFRk4TQS zzw-4MLUihZ`#@3KynQr5dm61bE_PWt|GZ9GVDqj7YTGOB{z;RAZE#oJ;LC?XzPn3N zMMO^I{fwJJqEk_RUAo-)w)yn0>mdqP!t{vhtEdzK=6=DH%o&ej{A+-JhqvhW;eA|5 z{6bG0u?et%?Hl@=)8?`O{~Ztb@2j1-M#xP0#Efm0%pOL7wdkf2=Uq4@RK||0H~mPi zz-dKKG`t%*JS*kf^W$ilmvZXpJPSHx^l|W{TtmTJd{zS|+pm?u+Y7YPOEoXY?Q+`< zes*5)4T?*_tZ0hQTKSK(21bG_745?#r)36%)4z?dP!OzFCQe^~V&9?W=R+EFj=N z7T;YR7B~zjdHhR`;R~8D8^zOQcwb5v!%t7yfbkBd{=%t#lIta~GpT;ak?_`?ZEM-qmWlSBIHw(5O z6F89LVnHo?gDz|(e%Qk^iEzLFVAry|KnD42*QhFTSYYY-kjIht{c5=#whPh;7LQIg zPVaKNV=#ubP0b2(xOhW6#qV}1Z^$^iQdbh!Di0Z!AF?~~n@%6O_l&2LUbj|c-ub^L zOgV3SXt8UPf*188#~MU)=FiJD8ZCa?3^#V!V_9Tjll#3DR z1iEw32(s!hlN=qrmI+nbH#3lC{edfC7JMqh^VZB2YibN^l5_GF3P#(7y_2iSr3y~U zW9}4_c}fiL0q3{cw~MmV?q@AP7#JEr-+f+Nq2;!G%Z6YZsWM$qT*-+ZC*&##eu?a2 zFwJ#tjlc~QwDv2Pn#y?q?y2Ko5FSDSA*xLXCIh=pxGf{NPx6+O_4j)WA;I ztloG;2JyX}kq@Wm7v`~2@2W?4q(79;cok!!KN=mG*ro7+4MGWR7e3F4)a0Vl_8cbK*x| z@&OsM`$%G3-WFnmdFXnoq#@>J>6e+!$JdK`{1aso2|fZ~1%7sk%7LIf^$(PHxTsLi z^!EBKiPY@G__?SUS|2qw&dm&iGMo2$yT|b66U>Mj{Ftkn(I@EE zY_xzFW4c@n7ZRfk&>EtZ-r?)*YqLDJjO?eCpjt0lIh(^;sW#5_yKszL2S$XGs{>9- zYyE_`U&nkNH)#M>ncklohNH6PXnm#dZYgX}pV$AX!`}XjjF|~k zredY5`5JT7|Ax241tU^ORs$bwTID=)DJm#)Z|sCUbOlL=1^Nqu#FI}ct_Wx*m z|9GbN|NsAV`gN*<&XJ@1?xz#Qkze_>RVsDDDnF*eDoQB7XBc**D23#RFsqa?KNgM? zhE>R~5W^_He+^^9{5IS7@to?^sdHX+-kneH|MM4}6|e7;Bp+kwa-)#LYDuGd$)P5*p_m!6O2Vb-G0mG092c` z3aX^f>gXaem5{b+v{_riMd199*QWFoDTP@F0B(ff$l+V?*=fsN9exJ)08qHbzipaU zE$mz|bcU{Vxc5@TmQrn^ zaO+!jb@zJ0s$rmq&b{*jVB!5`Cc;@)=elGHHjKmR*xlE%PvO?XR66nA)2k{!t+iK| zbRBi|WQshM6b9FwnliqZaye`mn8aZDWl$<63|5HlE=t}US8Jw}c8!zYyRb|O_CipQ zf4eIDpC9Fx(D;WDxSlsBs>dXGiJkII$<$}HmO8ou+w@MVC~v9lH0G^sdUz>L0a>#^ z@Wm(Da2CpXYB*Eyf{7JZL}yo2f#d5cZa9Mb07h|7>EG9Qj-h37_L=|LB9ez$=VfdHp2ZYPT zgCI_8zp)G+ON2{T^+d_m0snN(0x^RIsJwVgcy$jeAzTM5GTIX{K8Wnbt;S;f1B3^Z z{#J00n}l|PbJe%!bS$dJuB#VRB6Jam^g+#dK4ve6uDnKdS)7tKHTLD67k5UlH?#6M zb6Oo{o*eSav7uP&XAFO|vK9OxQ4fPhT$#thfu{Np2r6eJoLJwOH=cjTW z>)4?$;nTK0w)ZEqb9T{t@&%pU%=+bvbS^HbUFp)+zAhu?=B%fDY-AGe{T7hd>7U~znyD$jvuVt9?|Bv9RbOBrgtY_ zl+zn|Q0b}*?@`dZB!?AePyJf6ej_D3q*5tvz7@DU)-pm@;N^c&evoTlH~Bn%cfzQe z)@;7)#@Mrd#xix@b|MZEiyU}3HEY?24fpOJ@2*#0{~iR7u+;fbPMtvn{H|RhUORi8 zq@k;P-=J5V+csz9Y}~z+TyE+l7u5<*5^w0tCT!Nt2q9nO{j6*5HUvyT)bi#A5Vqmw zv?ht&%s~{0f}S^IFRaqmde580 zGm!Z?T)ea4*l^8kWlxpf?tj0QjG0ORGyt%Pxow$jQSnyC!}e%AM0J^8M=RCa$%)DG z7_dFmHt1_6^u!1(1oKaP(}vogN07{1B*II2V2o|2&0awSuVa12%m+)lAS?B%qo`2H zjD*C-k7R|q*92?I4B}tdF2TSi3X^7P&_mJ)?$B+aZz;kx5)r-u3~Vk)Ps!o_^9hIM ze-$^2f8z<-V`jqP5)z(@`3?Dn4$;X%_MEUpGAI?nZ0V4|MdggX-^ zWd82_5n!w4&IgH5Csu5Cr$+KmUjJ#}#_&&t?Q>18)X&9)BzTj^cRdQ{-02Fc9sLf6BgdX57dSy=P7#15ihM?@_wE z&br%hGO+(xboaY@#OmxHO6mF+oFs0%A;%{Ip35k;=e2ixqq@1fCtU-i3LZBdx<4qo zzmmTtwPxvtxYME9#`2m64HnU;HGk(cT)#N`Gf67mmoB#!YM- z`H3o$UY4{tBlhBXDU{w$l=8qg5aqyN%)Z;g)jP)w+&%R6u(uSTeiAcUQ6et~Lnw&^1Z}EqRw_M!|!H zXQP{%%evgb$sjv8^knTNjf+LvQ{-!4?CK)A&oy_sgmXw!U$~e2bb~pwoO_4Au9k4G z*Ex>KzEvFQ$X~_i8dNuBd~eR--eEw;k1){An+cz)A-qb3Wgc8`S_7^NC2QU&-n2V2 zy~QsUYDu~Et(uPs%al%`A7M! zHh+)jB0mI~*XsqfBHctSi-3P&i@r~*1Q*|&u!9q(ctu?;hE5ZebeD&~7pF2`cbPbf z7X-XgmRG$3ZV0d6^G~PK8~co)bt8K}WbA>e_?US`_cTBatH?8BN~5!_1*f`W*bnON zUJ3ri-q@?kwdaMK4lgMD3toY$Z4QbS%K#C}tL}yTmU3NfpS@-BJKB^-NeMw0t&yi` z$kNywR1EuFwOthdw%UH1OM3|NC&pE>FYI<@Z6cXgyUK%^eA=qy2eNqEx2G`e7PvX- zp@BC`yO*>CTcke=M^8!(lxwLI_MB&J;cVOGq{(*fZgj8j!;M=a+!yXRCNM1r&!T<5 zd{Y_aI4wFmed5(#)hhzb)qml4nkCFH)V*WDAI2_zE`vgiReK0SuLKh6(HT3%aWwpj znE=yuN#^g#(jTj?19c!Ers8`T?sw5EwqR43N5lhEjPD zc?u;e9l7VlpO@XiNy6)<2#Ws?{rsGy~tsvr1Mk@2kB60^n zTj8!F{tBpsYN_7>S$|5m9G-7H8R@&#V2tHXk}98(mJOG95P3#kSc|j&wW=qiw>ghL zOc*a|^eWHYPG012u>}WIE!Qrbf4-oW{B}dR?V6$cIl0tKV@DTnu_xI-X{bq%V|70y z!SB2_8EVRiu3nbqzDN?kE~DRLkaP^2XcjNh_b@&&gejNw`nS(pr+<90;=uRxUq9}%e}|II z@!F4gzZ?7-3KzIX1K*40d*eH@LEQ{YQ``THJOEjCDx91H%|<3rfJRoy_;b6sK!2U| z8XlosdqMc=-H8dav@Zv{tInqSfCl@umP`B9jGRkEQ}g$@6IU@!en(c1#{n8Jk7uNg~|3byoY^CKpm z1!sbHCy1cDZK(BIdPqgHf_OrRdtvGl=$4P-8$b;?jFs1akCfK?#gCrpzE5qS?tsTLXui$r(LJs*$~R?&ac+|^J&>9Wfi z>>+b~*MT2zSs_PGiSt8%^C&gPI!gWaA4Wdl-lN;ok$MV9fa*%kr&8V5a>D%8OU>0O zZ&$EMFoe}v^Fmf7c-hy~1@NWmEbx+VdHGDmlI3yev!=i=j*eDZ?JymCRhk-+;=K_Q z`rU<-&Fc#eF~L3-Xs3&oEa`tRyR}V%#KnU!smsL6xyi&zWA8%bE{*M%*6z_8)|Nj! z7vYCb!9YJM8qCt1x1FHVYx(#?p8;+i7=5r;BP{jJe%0_vFjcKn%%g3b47o`@ioc0I zB_BB9@R0g^A>^=hebcPy69jLKz*3`ps%$Q7^ijs~1 z@E#AS9_o`8|nn9@wDl9W!|8pgA(;B${vZY_tq6^B#H%e?bB z^fPWnscGZv1{~Um-04o8Z!M@4olLpEalvH9l2#BU5_hnySCpG{Wm?*;z3$p-=p|-=YM~6!No%(GwCB|z9jR^^nf9iJFvgP!8u&Zgj)hS9 zJ+HWvH}JgPx)o35t>-4K@teCRRrxbx_C0Zj`owsG{K~^-w<;# z5uA}UMvVlktBO~&pH)Kbujyd?3>Nv2v-Kosh*7P`U_Q?+7 z=qxcOEsR1V#zM>lO5s)U^U`e#;YBp~Qw9lYF{Xj`Z)58aoK>X@>tb9@4$C107HXqd zadT?#!CH6cJj?=}@qS9S7azolzxl)3F66*81F@BgW!Gu4krj(2dYyK&Y0*|IY;^P# zf)LlpMWi!+#UmN5)hOvyCbDUNnn+6$uVFH$<7Kq!i)SeTRSyh55MkkL)HBZ z+k4pod!tiduYwsn_{S!CUAn0~2-Tccs*`yfmGKQ{AFYvAMciK1hZTanHdd__(^6fo zX1?b*23?t8R|XQF1K{W$aMNk@mIHm!&=PHL(apos50ReJX8DJt>pN8X_7V|`9c^O! z1M7{b>FqB6mI^(5n+nlZ2wc)1^ADWCXQ9b^U=a&-?QnEjCa3nLuC;(NDuR6*iUtWi-o;>>2 z&Yt~q@jx*MKX175EkJ9*$XCn6f8XvO+V^N}pV9K#GbR4UL@5{k?1{s@1cKWWVWk+{ zu0NN8eJ3W-_raqzZ2v*%P_JwD-apYjH;sIbm*rfKaa?`2K=U3J?gB4-#M$~Edh8|b zOQkfKB}JSdc}{jea8xfiq#rK2o#-_UnDVyVuy6yRx{Al5!SUXkMm7NaDbhW=<{`qn z+d_NLf|h&a1V%fYRRzv-1=b(NuW;!3AMrohxWrgcZZfek6J-tAWiSi$d!L`7 zjQ9Vxv0w$-dq1MLid?Pm-=iT1`||#W)_V;xB7w|uE#0O;7Ou8}Td{JmR;6#-hMqYn zBtd3`X9$~WL=*`?^Y{!C;l|EVJ-|YEj)hnVn51Uu*+{I&`>owWzsi*14Vy`p_az{E zA?J}FX*#4fIJsNF-1P*_;DBAQf@TlcP)bOfy;NwwJ6<2{KQLVJJ5zm^(&TDz>?*MR z3_JH#ofr@77L~%4EuUEcZ^gFgytY-TzG^4`Dz%TP|KyqOcX{{0tFTK|Hlol)ZzRv5 zQ0a>(2=rjf&{bSOLC`KdH@zGW(E!r>W8ZmC-% z{+_*!jSB(oF-?Vbhp5R+r=1&+5&t6z0u>Yev9qtS-1T>>=#?tCv+RJ%jy{0QHICki z9`Jaw6_2Y#Q{YL3_4vvaPT=RZN+jTzdZ=VkI?g5g;;F@)bxgMdFSPN9sfs)P5w5RF z_lb#E=}zw`BF+ywKY*!j`t)C)m3p4JNBiQD3_@Bv;PJraj z`FA>2&7Yp0-v;Kk>9I$&F&hK+#VoFziAIjRH`P6D3Uj%37)xA7{a6aluu&8gAHpe^kkW#RCG zG|*j_NLcsDClHBE6OuK200><t|uszB|`mF8m4 z?<^57*{mr^C@5b6`0XmNPUrq3D{L?B)7oa^{N0gP@2`FIZg0eHauS z+zuEBp_9ap`(d!LjWQpWl}tDQK4tv44{pR9^|>|IHTh9eGz>zB%V2~;e4r9EH!T!W zGpHF!^T9XeQl6N4xZj&UqyP{1hq0`6&T_fr8X*5o_50az)y3EjCN}-$WG)L7q<83F z@DDIFit!aqSekVHulc${XUpBUC{D*ADqoyQ^YxhOnt{P#uBLD?Fc>PMkYCk^)P;8{jnyKHuBzuCC0 zlj&xmKRN01A-vtP-$>gf^hB+2Wo@jF2k4G>!T>;OV$C3{YP}0}bVi|U@T@HcRT&A* zReHh-l7|qKWH+hW+T33elI88Cl)~Gp2g_L?)QD8dOO0B~5M20!v)x!#?5|TG5@BnK z%~0AkCTA^?bZ7GL&I%xc9W=mozxHm!s~fwU=M|k_i9+j%vB}C$p?k%}?smyTM3Hc* zZGsHsQvCW$MLuN)yoATj2N;XqJt`df&E5XuJ?69r$GoHoWdicS#NhQ0P*`nCY>?AFh}E8?;x4A(lhi9P&MVp9wWQvJPX4cPXue;D{ zwRx1=mMi=>b~`M6^F|H0^iWe{sWCHXP|*p1y7wAsg!>8`9t}Qr-}$(&^h+vM=0Fpu zF6|8a@-)eR`dlj*fqFiTldLu8xyIzpd?-|TsUnT~o7soPya5jU%muqZQ&a4%7~jL- z|2<*WT0wB@G!`;|KpioM;l6j$kxGgd`GW>&EYe~XmtrB`Y7l73JGr6sYd7m*-T0r1WK z?lQM?Lc*Tmr}pY@?vi-C;n)%SQj5fBtCz@qxw^3WsG z#IO1P#BV=XKeG4eEG%zj+yB05EI^E%JMVP*r^KMZc+DJ%Up7lFd!>6}|0>V38(JSe zsO-27$pNoUpVw=AbZqF~!R?HWq@<3GE8xXsv$yr6RK}j*rcKSi*!JYQiH>9}XU4@+ z7lnogULcc=U*xAp?)6cxM|Js^J`}cRa<4-T1_kW7Bf3d9Qn``UDc$$7DAfjY$1&LB zv*Z{0;)LnlSsleGs6j#0m3Wotygy9izRGO)+y( ze#zrTWM%CQmTYhc6CzHNQJdY3A~Xl?fYTDc8D8qQ(rnk}A@r zxxt&AJ2*48abY`@JN^7g?!@pNO|;`7&yFjXj8e8sErsze-=xb6Tk&*StFf9Nxd)+z zAy%HSUWh>|?6F!<11_J1-^J^Bi8nsqYuCX{lg-+ddU+lmH*a@Tr@C{mxX-c0de7#I z=4FAp?cZVUTC&{y$Nt_YsH3Txh~~N+`^@Y2nQz3qCsLo^l>XmPEMxz{x!vq-6?c2(TT*2;NqBGe0iOHg3*@PM2z=-Ku7;zS!_QDbIQ^9l^Rm zIv~=p#=@eS?LVbD>$@e2V1ObLLfPplKzOo*eu@i z1kH$d&@6(B@f)!Vu5F_Cv!SmHRBUJ8%FC;3H1ya!W_t&L7`?LF+4?!-RQ1&i%#6=U za;yE$@^SQ9TD4HDLFl#hM?ni|#a?LvZ4-F5tK%MuEZ_l#eB%i@n?QT(-a%g-lO0(# z`tq1Ewfl&h4Z|q`tb6Qcg>{U~|0k{XqSdpi8C9nmmqL6k(BeKRSU&d41?7`=+6LPT zm6M)8lJ4X?)~9cP?V~%{^D}El%IokG#Y2-qf7yXtG5q?u-R-OTe2V^u7$}NQ`(1JL zYTqVGDO>7$760OU?vdY3)7ELDo(ml8#dR|*y#v`9%Uk>aq5E)CO~I$c_O6t{ zj|%SS$Nt@ZoA1dKx8$JH-2Mwo>r`FiZwff#wzZ7UwA%?u;$PNoe-*$V;%&X#H9vmE z?do{xKixwXu#JYzEHA;jNb;bu~DXzQgkr7eOPRlw(^h47Iez^!aT?2sRw?gy8lu#BlOFlZXHs2;75MQhJtnn zCBE%9o^%0mA@8pJ)465kekL-xuyj|nZ-oiR6YBD;EuK9ykm{QIS7fu5tGbkH#%a8< zR2?l-mx`!Zuk*E7E%^l`AkaaEX%xik|7GND$NTd7@e_&D)n-=HgC@RxVNdRY<9oD zMrBF(K)&_2ar77sq0&X;U|M!0&g^Tz40wfYHWcj*$bV|NGYL=KFP6CN_^qS%@a^|f zX_6f@FMd*T524IQQv+yo6WjVD=f(dvA+mcrvga?morx0KhP|5bn@`r}d7%hxO>vDC zh$i7SsqfpCbxv9aHB2fcoXo%P*>u}gY(r0etny~fYuiPR6Kd!~Gg8Ad0Csem6rkL5 zW_poY4`kC}XWcGjpEfzR(<*Vl)@6v!es(KBLjWtYlEKsjCjTOI__uSAYm)J1L1iS0 z1+X*NzF;6XI8^xHMnv0!l71hPE1f{Jh*sRyH0Ya!_;Vt#>>=)4s;}6@YJd%;nOVh5 ziF@TdVZAW(`hH$Cr^GZ`Jg10|68ss#^e2FJTKn=?c$owLK}J(x8$-Zom+Mh9mA7eY zs*o#`7$mz;&mIpJl+VB$rZ0cBzuasNtINeJi12Cxj7sb)yt=}p@YX<0{l=Bn!Nn9U z@``VvmU|wK1g5A2Fq47x9|oYT60SPS&7ALcnGvo@4dBbRyMQClg0W7;3OsJwd$-h7 zot`I{x-bB9wYW;;oMenz#Uq!#9ml{wzT(snEGem1hwa* z*?ka>@iQ~$=UL#7#&9I30^m{a#5}XS9x%Jjb7siMqn2AjF}oUZZcgw!n1bPL#8cefbGQT(IYxQgxtpCv!&%*mcLjhK_ofXHx79 zwxQDMn6bPLv=ghTx&V{THksk-I0DPDb^7LOlN;YSIp3XYaS*vxphKr&O<$P0n`rvo zEn8zUcl#fglSNGTjevw&(3~`>ZL%XDj#HRz!-f~@a#aVVO;0`K5y#kxJ$wAFRj#O~ zDUqbgII0=-v=v#HF(-2G%^$MnV{XBFwEfIP06Q!&Lw=X$&V1__(K4eFAvuCmh;7Iu zz-!YfxOWJ5wzKfEJSk#-BXKn;ig_EQxf>wdfB8~`yJJ$2hML1Yoq@*A-N?7cex-Qd z+8<<)rAQ6jIzUTBM`%Ap*d^z^*M(@J%R}DitA{NV`Vo7 z+JRd6LAl-kz~Wf>If(lQOU#U6z035CI`hIm(>Yrqtq$P3M==6C@`bhkW+9xk z)x?CP${o~Pb8lX>Wuf&NUit3X?DOsSDDIocPTEe^eAE4=d9?fsduAFtZ`n6AAbWyR z85h+5mDnIHwRx;}HmTI5{-6xA>`s|gCh04ZE=!ftUm338L46IyedvIWhJ{t6A_Ggx zz75Zr9=&v}8)MP@K_?S>>W2=`r9@5HiR0{1Vk2YiMHJtN!`uFzJa6_Gq`nFMw=K9>4 z>dgG>CF|nU7erSy<5lU}_sI__2v*+pwvKc~PTttLKqv{$w?vtE*;@`Yp@3o&?H2Ab8lPp&QmBhX%%35#H7+D0q^yl+~ zt*G_2`*T(%w>xA2Y&WeHs`G;#-q6f#B2bKjHJ)4$r}z~-^zu7LbEyuH)m!V8_3A_> z6oDtb*=wj1^S0_lKh|f6#^bfFRUm}(CBwFrhK{gnbO5?DNn(d)y`Z|^_D9j|jJ#0% z(*CZ{?~X>VPd~z38yokcdrFaU;d92p#Ms=ki_rQ*Ua(H`D`5HqLzz^ZCa&dNRcKwE zCP~^`87TEA4_{*aV}Tu=XmILGQ=q4K#uyQZ@-TQ5D3hFh^lr+QnQ}fk~@o@fi636 zT96sL9`b7R6#l1{Ix;avDz$K>hxCtOv!d8q=g#R2u92xYM-$cAv4Zg$@I@DT;qH*P zrsD;)fn;|VWC{OOWOsZHitI#nFtsce*=PLXkxk1BzMBG-D{v$@e=$%)XEqlmK+-IbzK@^x=jgT^owLFffv z-zOAUATMzYBDY`J9{1YBF<9Oa>?XbGIco(1L`>5di^(4CImwH@I!<0aw)xat-A;{j zsA&I3cLRJ^y5Y374_2`IAyWDW3rd4F(s?^(w_jjOpKLwR<7BMKP|}$ljP`GY?R_aPS*PReR)a~y znW-)iw1biKoMM2OFK~UO%pIcRy^EKC0Bp(lw(s$~3upKA8+3Zo4deHCE)XB6`!7Pm zC<{?q=4nl%y{)84+qSeGAN5+WlK(7`3;ryc5*X;el1-Xl#mXqGIxkCih1* zsqWU*NZLx8p^Mrty-EW*y+XL<95@T*2IrZX^u#*0q zB1s}ucX~dN@lZJHT>K%_RqlppG}m>xtG`Ji?dKVy_FF!ebqR3e{AO;31SqYB)1Rld z57E5*Ub8-;w%^GA4N_3Y{YI`jBUBU+@5dBU8o8>KK~+Fi94nXy z&Y4~QWo3y$1GdfA^=p6*=O(C_r{|$hs$}{`#pj7x30Vw+BUs?+u2yPA zWDodOkesf%T{u*(Cc7f*J%a0ue&QHu)$@;afE|a>{`PZ=sCIXMlJhnJ$zGS{es3w< zvF`k;UKOd9i3&-8;aYP3;(@Qma79*9NtvWoUyI?gZ%1(YSf|ej=Zg@t>~1EzU3Its ze9D06n9}|~NuEesJ>s}k3R80u!XilQn4rGIhv*jh@6)b3Z+2 zBtIA@JES>$tKwg4EXcl+nvH)FG{Y!`LSXL0p`8ya5Z)wN9$G{?P{<*1T%;Q{P8qXu zjr(zNC$_B}i4ynaMnK1JfnAy=IR*++uUhS&&#f!BnfZO0tUjvh`5!@TIp&UsAw%Gh zsH8+>sE`IlS^oR?0Y}pp68nDdl}S?D+==(<9?K>;|PToovTm> zU^_#=8vSAj*8>i6GXC=rt|Sxi)Ct&Y0JqZ-oM0bP|5SqzzpzORfNxY5Z*bN0#YxCK2H_oA1~x;m$s%|Aklhr2H=aw)}2+ z74|6YRh(%5QW-z#r;}Yq!kmGVKsT+1gbapSCrTgvv($&#oW2r5z<#l98ql7>C*Wq6 zsRqz6;gwDey&7~nqRs!E>4`JMKGKO20xP(UHroLFY5=q?s8vU2wQ<3W?M;0lH__UJ z;mDl}ohpOmi@&reHf(8Fe~XgzjoQwO-&;RKgHH!oUv~WVjeFg-+wb}9+w(P<5R;3L zpM5wb;4`sP(Op|B6xI4ErK9c!?nCMH5(5t7RUYGNU{i|CZL3VFY;rJEgkP@&5;E(E zF)>nPrW4clmUZX^G8d(iqW@YO*F6QOf|b@SKLT#M0^io1v^#m&i4#%O(8e-Ufx^50 zg62Y)bo`+Fdz zvQEsbxQw8J--7$AGcV9eV;?v>`hOeVaY;9&#>f|P7iuIiIxWZhi>X<_70BO5Myd%D z0y%zjTx^$6aKamqgAsmPcv#rk>Ix>QxA%r$5qCjI27YVvLa2cCuEjq*I-l#t;`cJu zq~q9d8BD?x@W(1qAK^yj(SreVT?c0_6|xQdmOc-EHN$^h%g+pdS<&~f2eYk13BxH- z;2SR>=@YAA)0EokRNZ5QMdx&5b!v_oucoOKIeO}c_JVS(foe}#axNmEtWl(QA=Hq; zGocTfCFIsn%KBX~HDzsuc2Q4m(7A`X4d}wiHXEKjBk5GF4t>^P1n+xR?KXh_FJLBV zY4d6mChfkj+)GRx`RmAfSeYOcwn6#KkT^akU`dvLg$ltUl3d)A(QEea$oH&B4SH(4 zz%C^*)}{RyeM=CQJxfB!r4|U2Bh=ZWptml{oHJ&n`Dvejf^cPTV!Sy~i&tm$d$_Z* zA_@L<U;8YG>Q?Hm>1s@bY~wqT#L=w#~@og@2#H(Q9^F z@Y35*w_PdT(&T<*L1MoW_{`N*x8>iR&Y1LDO~BdhM26$afZ~~zu)?=Fk4QwBkFanP zc-|6NwDo{@;>d?PN?1fU&H1y~EfYcp*ilkH*-?Tj?BnqpH(M(1g64mZ6&n7mEeGRm z&!5OUQO$4g$!PFKgWF_E*^YS<%wIOkXd#8^7&Zi|$LQr6kk^Mi(L|goh58vg)u{WL zme|`g1ju1#`sT7Qr3fLNY-ov^RO0U`L{w>pVu$F)K@7XPskPd!^nZcZPpUQ6MG_OGZmnS_t;@t#n8i*~oCy(&07_o~Ai zpD%HH`7Vu^{sRd$PgF}cF?BuMFovR-X_@|#vdOrkLgdZ=Py9crhj8M`^CX#nC2!pU z!^hC$mm;1f6)H{I{KWEB@&W-yiZQKlS1hnyT@(BQF7w%)Bi6A)8fj7y~{f6ZW>&kC`7O zOqtW=FGhP}2OO^bmqSQ%Qx(NGPF8F)70TisVse+ttSQgE_Le#Q;$8*n-B{QWu7 zHjxLnpP?nR-B&K`Ur03lgnJ&^uEu4GA|;9 zuP6Tn$OLg_dC7cS@_WJ-__la?y_P??-=Im*9kVC6DPUh*Q$QvM1-WPq`q~qQ3cEQQ zNx30rmQ54K>RRqsR?mRC{Xqk<><~;+!Nen3ZR~+)b{as=zpcf8EQ$sbc&f?Hkn=CE z-_z2^ti5}xahx2ZFf$E|EJE??50>^G+2vG^acKXNder*n3QW?;RhdvBUb(?sdEj;d zzYwHK+&|7^cAj{0HWvFtpvbe7MvXTVNJD6;5*PpVb9Sp;-U*Utz#)VpwLIo9?!i}a z-Uk|EfFBC<;eQ1#<)pRp@5*(_?DpcmX7dOki<**#-H(y zWFJxXdutokH_*=5*GH5ijYYtoo9z0E+s0u-6{|3d*#Iy`ft}fCOe-Y(M*56m#`=a# zZ*)I&S$ordX^kblv2{cI@4_G|da=Wne5k`g^k`bIF<@`rL`ZA5UF!U^Vr9K*O~uS= zvZ_$HSjw6wNdIKFb4<6V3&8*PkYzg7IVB~{Vs>W*O-R*%+e`%%RC!m|?FDcC67m`= zrcW3EZvhbfq5TdR?esfYn0@DFYWaHlTe5q4Snabgz6pI*lEe(Ds0h1w006cNBIFDwfLFa9L#chKP zBlVPYeh!ZQk(}We4C+|Cv2YxB9_cf=CRWWSAPr@D{=32@d2@D#g$J9sDHlQs7VK1a z!&xWXxiB#xlh%6Tpm#!(nG36SKj(iI-bOZe_dP2_9v7{pnK;e~G5FH0ZGpfxQH!U? zIIteaf#0?`(xozE#@S7i1t~nG6NrM7n3X7MmGNs!vKu5N1>r8Cx9Zs3l2Q90+-3dj zXSGB_-kOq1S87rJf$0cSf0>j=;+4AE5VAcQTo0?RYv!Kqo1?Lh2K$7(CAOQxjK+Ho zy!cbUMzKBvk(O~=3**2YEbuYT=OPlA&^EBzy|8hPEG3!=v&BN8M{~vmDJ6`Y0}h(+ zX}LMsH8THr(N_5ALEO?dgX6Q_6CBs+*FW?yaA+A%hUJLDk%5?H<29mJ=Ss|-%^%wt$)?#~En6eloc%Xc zyWvAB4dbw?doc_$(ld8IkEpQDA@wXIeT$>NNrDlWLvte#bQ+(yd12sFuGQp-}dQoTcx7~{nC&YN)p%d#QCDxdUE)%YlyehlfO(SAr z{_wB$gvnMoC@eR{{VaZU<{hWqDseI%uRb$YUYm#1FVhGhIT0c;lAO*cKR}Xm0vbVa}6z>C25c3L2?RUTekYtSkp@?VyfZN7}fwop;QVw$^x%CE@#|g>OQuBr52W?7bD?R_IUq+2UTOr>J0EY-_tdK8(&M-|a47ic zv7+U%SxUUw&fvE=EAW}PaKg0F_c3Gi;GLCOfA6!$ZWI4KCgXZB$b^X7Z4#ZF4z7~a zqTk5z2#wcTFD>{njWh}kxjAj1GN`lbp5rxzq{J%lO*l1ScX8;fm}aBls3RDiCV%(4 z)=+9IKG-p7X38@QH8TQRr!p&pnuuvi%vqfi0*ut~l!is4F~6~JYl^Q^9C+$~Gx5MI z>fyx$(D@>G_TAvwYggp$12a)|%CQJfx}N4p4bT_@$DygKnXZOVL>6=3+eb0IUnUFi z*sS|JW{;Mh)6EyDs}KV$?DU~k-R~ScU`*J2?wFdCL?A44iG(5j+V7haW=u&mB6>?n zKT*GJ5xVJDDg+?h$rb(24yKc96=vpQxm=9@DwUhUzG?0UnqnsGVfWXA_V~7i?SMvZ zBK)sxD?F9NfY??b7Mp7noVo)RMw_-G3A*}lvbqcGe&8h#6Q;Zn>3_}&lD6pN$*@gf zHOkoFqI2VKc~-ZPQ*sWh1XP6jm(#2~$Im=Mu2pR-25l_C8>PcDHJP7wTnHIxl$YwA zAuS!>`pso+|w1CO-%zYq@u zi$V}ijYHbLpZ`(Y7xHOMeNadS2zzd^v~K;pt;|8>TdTk;oXP8YKLfbBF-9`?(s;nc zP4`_z&zXkBHU~f*B1)EI*^)2if_p&(f@d?`Ts?!}`TX3pje5bVvx<_2Q>z!%&4}Z& zEz8H{M99V4O8VWQmbu@yl#9XBE^}N)1+E`zHsO8*Gm}Ul0ynd4$YnP-7!=d7T7EpB zXI@1(?%A;p3{u6;3{YX;3sFA1P%U6vhkLfr)ibKKyMtIu6>oPL$g7qV;Z>BhtO5Tm zp|YhEIy78Ni~dy)_=!5uy0;Qn!;Rzvv&uzona{!{O!$0cZ5gO_DMKLEn%)O zd~K3$ua0f?XRzz-74ip*^BjPg4qly)(1-V3RV(~eH^y8CJ62rdq!3NN9p00>} z10pKe^)S>p#Ty;A9aT1dy=NvgK6`wVZf1UeRMGaSC)to{5Y*&f?4|yZikfSTli$;% z{2c_Gx>YQK9jO^n&+37F^i|CA z972Mr=O2R~tAgP{R3j8WrNGgC)yMRNS_(3rCcz%O>!X(v`+4cl9Q>!V2^EaZDcp}N z&J!1=Rs^K$IMe*UZbg)0Dmw8NLRlbC{%7Bk}?Ha$@Mx*K*xV|C9gSNBUf`BLS;KPGN-J>!>m$gGC zZ3dcR%82~}@BxC65vMtrVS?1p+Vf%st)QGX>zQO>iw`zth1p+b?g=He*w|f*vc4bl zl9u@9fZfX3`VMdl#)^#hJl3K|+^1z`{Tkz;XYT402(Ew$To%Xc$&DJ;&)a(H@3^J} zR^8%-kX|U%F7O7lQUWh-kgrG9&7MQ>|3}pG)sXcNdw#5MvmdxD^iKO9ZS=^Fo_kpV z6Mx)LU?4iHesDEGBfQ$~mA4K&_fxx9@QhYly(23Fj5&FcX?X88?IiV#Fy+G?ZQhYA zZM6D@_;NLMbq#e|qk5iO5m8$)PbW#Z2~ps@OgLx5K7x7XVaH+@oPl5=_w{rH#r&8I zjp3$AULbEjNC?u8)+iRD?b6GErw2h>b0RSJq~^kHMQ8xT^_^VH#HQ7dtzX%-DbA18 zFeRH$1j^PFK+S^OglPOL@ClD~5i#Lbn6hSfrQG{~-(#XH4B}Nin)Px7_eQx6xHbP?)JduiuRGXlzXW zSDEt*!hUZxo|vi}Mw7s7-Oa1`<{=g9dKc3E<(;vA+WNG!XuF6dp($6ps5ix12Xf+F z>*D@0(YX7=E_Ttgr-)*LT+p%mh?Mb@=C+}S+5PV3llzevc^OvkZp2H@m0E9wn#qiy zY}Hy*_j($#t`w0s7&lJRZYISmG!1g?QG;S79(pS*sr3jX`poOa+{9%$Nw z&`%owRzi;ir7Q5>Es8yL+cmPt#N<6@T`5WGsd=gG#i%s`7vXPhxgCeR)e1QMdr~E9 z&bi>@?!+ODVv|f}Q!!Ie2nNn@bd#UulB<@|iO_ezvuMJ#HgKQ{*z)?4-+vSpJ+A0R z?KKo*pqw`s|6#v4S+!JX>&zn0ea%iV?{=K}aR5$`Uhn`ItZmcLNGvl-#`6C9raniD z#z{nrmd4pe(Xn{|5r1#u8Oa0#Ut8OP#be=a?qsNJRh0VfX1$EFuc<87B||? zO1!^&cU~+UERqU!`eubDeh*y;bct#xn2QbdIzH3xi2#()b4`#EHTrJI+iU23%jd~K z3u!{2G&T14izHYz(?bv#?UM0)uLA7-d0Vi?nvImx*%6_R192P6bk$uNBU%A8{rD_J zs)g1unDs~)&-(Kr2a)GAUG@hu-vppyqGWfSuLle&rGuW+l<%X+9E?}OS*wh43nHfi z)>1Db)5EI~juJX9{+aH1VJM_=UgOzOTM&F)gi>?(w!baPZb;yFLyIvBwVBo};S{}X z;md*I+vTR9dcKlTl%;BpmHZ-o^LEygv8K&+^7?JW7BKn9;Es!eyFbF!_Z9SlRp4W6 z!HC)Sg!Q8}1@p`LfNmMgR3BE*gTTKV<_x5+f8Rhq%pV$e*g_-p5-zoF>XTeavd-G25Xyl)r-X`3TXS4xmUZtWqN!RN7Mu;8 z2qKz4;}=}&zdh!>h;LS@_p22evorUVili@37_F7RWks!Y;zem$ThSC}TFDtUmDE#o zPSPC3R&UIqP1<)sNynb!MXX96UIj%{!A!7Ybj~+^zh5+P-jm_qc_0kbtc1blO*b=x z-B}evTsm`UB|UwbWCi+2k_a!oOmC0TGYr~nBl#I7vzfbMa(CNlynw9k;M-d0Su!(=!Uwl$0W7ZV&Hy70){h*OCqvg; zX}-2LIhXm)cJmpo0z2)|jl+})Gb3;h_-16M3H;Q^lG_-Dk572zUq)x~2ii>};i)0t zJm(==vtRk2C*e~L)^5ob3*K2T%thGIWqAnSP@W@-Fs5@g*Qf! zmr|)(YkS?|W25^=a@?)PnUPMmpep>XB69Zmd%#)=5iBC`1|D_G{a+sG>#;BJ7=^p4i$aXXLoIY$!Nght%Nc-MZ7oRb{ zTlV`SeR=(%!wjke;u@{`+X3DdPq^k;#*w7vw7Z%EtoZU&$*>hi+se&Ye<(?;^;h3* zE1^EwnACrc(oNt1*PeP@^x9baZ(#0s4=Ki0LL&!; zsXia_(-FgZzlEcBVXUiGcT0H)V8I5qZzjJz(RAJ@d`2CP7FG#qfsLeM8+^uVatTQfx2c?7E^98o&dF4;oSigwa99UG^ zd<@3|?-s*(F;4eW5A=}F*0)z29h4Bo^8vEHnYCgmJ#UG*W<<={>?GXtZz%5lC*>!i zJf|2sa?bUh@9S@x^u)T3|4%p&g^g2i-0V^ zbKFMK+cRnIUg#bk+uuHd`(=|THFwVaOnzTDKDggAt~+t zBe8lDL`@$*mfK$OCDimlqMHtsGrjdbx91oby>~ui<|gE!8BbQK8xOC>a% z)C%8p+*R#S@Zjvq-Md^{lT@3&V#lbv^{6UYQ}tqOoJ9LA0We-+^asvFPE~=TqoE&A zY*Z38y>3#R_ki#72QgB*$_hG52^u;c{o`7@QM7GOT|lsfmj4gA5^Yuo+dZWeG%wac zTe$doscG%GLkoCtmy}xsplFW}4Cb$d7oTnjy|uR)sA!pE!(}(S&z{uk2jBfiKbrFp z96wdmJ?*_6-t|0<-E{wKnRWzE^$8efW-cvSo#9>Tqk#Bn@jMUaya%?jBX;!qO_=&$ zJ@k2yBf-9te*=K&E=9GHx2B&TOlN3FYM{jbzt+w)D(QTU<6};GtE)C+MmjD{)5KV} z8p{nAoN`Ldg&IP}eNxk_-ZCXc31rHxveYtCG^E0tCMK3TE~vDK3%OiVq|ALoB}Ek6 zm-_>&)66v8SuSrloWl#w|JB3u{XU=1yhRrnyke;h(z^P5lljz37^DBsE~k`PYnS@C zfio(ig;|@W*5ZhqPtslI5ymPA#x0qUxyTF(_FvPY_y{)f0d^_MU2?%-#KW$?=ZNp4e*-?wY^dIJvDm zB5k!}e6@rXOUf4K28dcU%X|LQpY#D1764C$bEV*PRQV5X^&+uG=Od|BC$UwO8^Gg| zTZ6-N8bgxe#=k9I3v)~V6_T?S!4fy@atzV(w0Lp8vo;A+;k8Il9bRsMm6hgd!3#sX zd7^Nd++4H|yysjkzx$=zZi9Du2)bRPjJo@tg)vaR<2|UrM~nKzNqW$IW}5_?m)fTq z5JsYgrKdYL2O2LERRzo$d+zxP9&YcD(r5A}fz?^SeAnu%8bF1p zrwz6KSfAFl0ez1xa>nEOsNFe(*tZ!WffC_x)5U7FU`u?M`;W`4<>}?6#!1QdpYx~@ zu_i4@vv->1Fh=w2_lTwDg7`Y&;9Od`bdy9i<2AdoMpGFLzH{j6*#8FvYusgqL2o?! zPh%3nisz-qH_QSKsahdC0SgdRz_7gQgnF_`@!y9TS^hZ_?ZSlgB$Jx!L0brF6pv7% zEBDjNS<{1I+76KV!Xm0rxVCSm zc6E-DZs_d~)lsE%jb23;e*Bsien*=Q%g^*?ICDi2$g?Z~z(zNQge*?2u#>Muh@rU@ zUWZekzAs4-5IT1w%1E0BHK}Dwo@}+7edlfd)P%f88`DDYU{H zRkRA(YV)K(PTXTy8joccziGS zM3!0(dmr}YZ@~;e=iLE)Sq$P#J-7DeJqfzDu?{gUNevz^(1n_wi?1v8PM8r;upgtR z;9LeB1lhO_kej_A)1F3)X;_Sh6MAs;hN9lUWB*RBM7(fKHr|56L?&6D4)9WlIsEzU zxt?mt285%hL$iYSMm!_Yn~tz^dMUcQ3B$1s?oI3xbFWZ;)jnCHeEfST;HE2GxO0mE zH;+lvCRcS|whn?{OA3zPo*S8xJsbAkMtM&IXq59RkD-btCd(dPm(EndxsZTbBh{n? z{^qG2d5*qP1l9XF2ES1zpTvepTUE{GV_tb(sS-WKscBkFDsOV94=p18gr_BK7 z<+XJyT&@$-sGy|fLnptRmD!A?a~*gJrsPN|WJ@>>lkICxg$|Pa9YCMEbVk>RfOJPG zx{#1;6N<&Cw5>cgD9`gtWg7Kl?>gnx93|0BtRB~01COatj`mYx2Hb1Cy515V&;m8g z%NA5X;iM5U5Y#<**2M}{yklb-A$)N7!IWc3h*Yqp;?cF#|^D4SMm z@26HhIH;+qh*XA)atL)4q1>zdtRXw7L*D#DCtIz-BUp&J#Z>qEn|{o~h7tgjH#=xl z?Ag*nZX~yMe~5V{6ZLV=lXhg6UOe7c8*&sZlJFRjSIGkfMP@bXRKo>&3jU!+;Wl4f zGYuzgVSU);%<#(msXvD-D|n!h|3c*p02&;?1i^ht%a=Y}LGB7BZ>B3~)J!;{L5DE| z(g11SqzX@Hsy)o*@E->Du*N)<&t0j3&u$g`Zc0HhE8p^XWXozJ4Y+|q|FBPgOjT9) z0q5%MU0HH_AME>iiF~+3L)|XK@7f$E`9o%BiPE`wt@4MyGld*4smW2(OQLy7pQzkG zIPN=CdYX6cFZ9Px>ru3}f0nUJmMa?nkzDaD{)!bn*8rI6M9mj9%D)u`KJPmn{iJ7i zk4($#_#Q1Y0%)0!QJd8OIW#I?&s>pz)ktTFvn5YctG&f9OV&LvC&Lol(yef&Y%y8l0uc+$6epOnJYatf=+4SkiyhWWD zjEva2qP_t)P_6?{_eL2h&#~;Up>d_ zyJ2^!QF-IjtW(qoj{D|$g{CWoNEU}at0v4UiECWU#bAm~4weTHsE_$wPPULQ&di|= zMDvN4AwGEjvvo9@(Na6Hd3WAK@1^-8_gA^q4{=;^pA22jaj|W^R|D2bl1f&RKN-MNYyA*)?4l=9_6^kuW0Fj&ECxrb964k*{`-1h16IffvvY19dW;{JDxx zp?nj${^0Jm`;SIaU142F3aMQSX;n0R7)irT%1sCpgUFyc<;QXkxXS4Ns*~VAl2>Q- z^&PQ1z2{Zs=f3IIXR4%{!1kQI!^rev4Hb2xfsl$r4eb}VE4U;xk*en>-xDVCn$}5T zR^_(Zv-+tIiRPBZhm}(z>x^_LD(Y#<@m6BBKf6cT#=@)TgS)~oOo|ja>Lr@bKhr~= zO;UMA_2Ss?sR~JjE1`6P?cVQg{$;IvEM@zha;wA1&P$D7d>mS(tZp=%P5*P!X0%<9 z+o;xg@-~%o58m~j4(~!;a zR{)#qQks~OO2^%%GgVcv!8f3T;g9)dYJ42}$qTY?Hf(s9KGd7pF18OxY5fc3peAsY zFnYBu5Eh*5TE>U@_NG#J-0GTsiS$Bm)kK~ zpe%oE17SIH@Sh%+#CoYg`;FKBZS+eg?+DMr=r(%}x2z_;f`!MPSmbD!-PP7c!(-^- zPPX(a46O*BfNbRTXA%cOWHo(6kf(23L057uiEIVOg7~n z4iegy6R%F*I5>4(JGl-KV#jwpX{zWXTr@wJ(A<(xH+{dht(C{mDo!ZiX1c-#p#Lyz z@xR|=47sbFpP1-14u9DaYpM{3uAQCOWIjl+k1rWHDWOz9o8MLr?Q_Pf6C#Z%vD#F3 z2A!W=gCq*3qnb5aa28`r4!9c*<=A*cqb>@e^J;ft&!>C43=tG$SVQ0|^OTX7Fp^NR zGuJiYKASA~X>Pc^j^CJ0?bRPhoV^?0iMiO+SKEr5&Ef0aX>;uA59g*;Cv~R%!oo5hKx zxWtSD9qMgkKDM}+Y0_5nM{_|T$0pN?+iXfN2O5?1O}LERv?gAFY`&U4vFh7r)W@q8 z*L@bbPNiarvb22k8AhU=lmRXK=*m``s~OSYTj1TjZ}oZUM_!oR7MrVEhriU(S^j8e XcK?>#g}|F1ftSqzhi`ND|8VZVwc9L) literal 0 HcmV?d00001 diff --git a/Src/Common/RootSite/RootSiteTests/TestData/RenderBenchmarkScenarios.json b/Src/Common/RootSite/RootSiteTests/TestData/RenderBenchmarkScenarios.json index 782b92e682..305b23157f 100644 --- a/Src/Common/RootSite/RootSiteTests/TestData/RenderBenchmarkScenarios.json +++ b/Src/Common/RootSite/RootSiteTests/TestData/RenderBenchmarkScenarios.json @@ -89,6 +89,21 @@ "description": "Lex entry with senses nested 6 levels deep, 2-wide (depth 6, breadth 2 = 126 senses)", "tags": ["lex-entry", "nested-senses", "exponential-cost", "stress"], "viewType": "LexEntry" + }, + { + "id": "single-para-mixed-ws", + "description": "One paragraph of 236 short decomposed (NFD) sentences whose runs alternate two writing systems and two font families", + "tags": ["stress", "layout-stress", "multi-ws", "single-paragraph", "nfd"] + }, + { + "id": "nfc-composable-diacritics", + "description": "One wrapped paragraph of Latin prose spelled with decomposed (NFD) diacritics that NFC composes", + "tags": ["stress", "layout-stress", "nfd", "diacritics", "line-breaking"] + }, + { + "id": "multi-line-wrap-single-ws", + "description": "One long paragraph of 200 decomposed (NFD) sentences in one writing system and font, wrapping over many lines", + "tags": ["stress", "layout-stress", "single-paragraph", "line-breaking", "nfd"] } ] } diff --git a/Src/views/Test/TestUniscribeEngine.h b/Src/views/Test/TestUniscribeEngine.h index 4780767501..494cb64c89 100644 --- a/Src/views/Test/TestUniscribeEngine.h +++ b/Src/views/Test/TestUniscribeEngine.h @@ -16,6 +16,7 @@ Last reviewed: #include "testViews.h" #include "RenderEngineTestBase.h" +#include "LayoutCache.h" namespace TestViews { @@ -396,6 +397,95 @@ namespace TestViews #endif } + // Installs a fresh layout-pass cache for the lifetime of the object, restoring the + // previous one even when a test assertion throws. + class ScopedLayoutPassCache + { + public: + ScopedLayoutPassCache() : m_pPrev(SetCurrentLayoutPassCache(&m_cache)) {} + ~ScopedLayoutPassCache() { SetCurrentLayoutPassCache(m_pPrev); } + LayoutPassCache & Cache() { return m_cache; } + + private: + LayoutPassCache m_cache; + LayoutPassCache * m_pPrev; + }; + + // Breaks one text source twice in one layout pass and reports cache hits and misses. + // The engine is built here, not via COM, so it sees the cache this module installs. + void BreakTwiceInOneLayoutPass(const wchar_t * pszText, int * pcHit, int * pcMiss) + { + *pcHit = *pcMiss = 0; +#if defined(WIN32) || defined(_M_X64) + HWND hwndDesktop = ::GetDesktopWindow(); + HDC hdcDesktop = ::GetDC(hwndDesktop); + HDC hdc = ::CreateCompatibleDC(hdcDesktop); + HBITMAP hbm = ::CreateCompatibleBitmap(hdcDesktop, 100, 100); + HGDIOBJ hbmOld = ::SelectObject(hdc, hbm); + + IVwGraphicsWin32Ptr qvg; + qvg.CreateInstance(CLSID_VwGraphicsWin32); + qvg->Initialize(hdc); + + ILgWritingSystemFactoryPtr qwsf; + m_qre->get_WritingSystemFactory(&qwsf); + IRenderEnginePtr qre; + UniscribeEngine::CreateCom(NULL, IID_IRenderEngine, (void **)&qre); + CheckHr(qre->putref_WritingSystemFactory(qwsf)); + CheckHr(qre->putref_RenderEngineFactory(m_qref)); + TxtSrc ts(pszText, qwsf); + IVwTextSourcePtr qts; + ts.QueryInterface(IID_IVwTextSource, (void **)&qts); + int cch; + CheckHr(qts->get_Length(&cch)); + + { + ScopedLayoutPassCache scope; + for (int ibreak = 0; ibreak < 2; ++ibreak) + { + ILgSegmentPtr qseg; + int dichLimSeg; + int dxWidth; + LgEndSegmentType est; + CheckHr(qre->FindBreakPoint(qvg, qts, NULL, 0, cch, cch, TRUE, TRUE, 4000, + klbWordBreak, klbLetterBreak, ktwshAll, FALSE, &qseg, &dichLimSeg, + &dxWidth, &est, NULL)); + } + *pcHit = scope.Cache().AnalysisCache().HitCount(); + *pcMiss = scope.Cache().AnalysisCache().MissCount(); + } + + qts.Clear(); + qre.Clear(); + qvg.Clear(); + ::SelectObject(hdc, hbmOld); + ::DeleteObject(hbm); + ::DeleteDC(hdc); + ::ReleaseDC(hwndDesktop, hdcDesktop); +#endif + } + + void testNfcTextAnalysisIsReusedWithinLayoutPass() + { +#if defined(WIN32) || defined(_M_X64) + int cHit, cMiss; + BreakTwiceInOneLayoutPass(L"cafe deja vu", &cHit, &cMiss); + unitpp::assert_true("text NFC leaves unchanged should be reused on the second break", + cHit > 0); +#endif + } + + void testTextNfcRewritesIsNotCached() + { +#if defined(WIN32) || defined(_M_X64) + int cHit, cMiss; + // Decomposed e-acute and a-grave, which NFC composes. + BreakTwiceInOneLayoutPass(L"cafe\u0301 de\u0301ja\u0300 vu", &cHit, &cMiss); + unitpp::assert_eq("text NFC rewrites should never be served from the cache", 0, cHit); + unitpp::assert_true("every break should still have looked in the cache", cMiss >= 2); +#endif + } + virtual void Setup() { RenderEngineTestBase::Setup(); diff --git a/Src/views/Test/TestViewCaches.h b/Src/views/Test/TestViewCaches.h index 2b108c1d8d..d4a85e1050 100644 --- a/Src/views/Test/TestViewCaches.h +++ b/Src/views/Test/TestViewCaches.h @@ -218,6 +218,75 @@ namespace TestViews public: TestShapeRunCache(); }; + + class TestTextAnalysisCache : public unitpp::suite + { + static IVwTextSource * FakeSource(int n) + { + return reinterpret_cast(static_cast(0x1000 + n)); + } + + void StoreTenChars(TextAnalysisCache & cache, IVwTextSource * pts, int ichMin, int ws) + { + SCRIPT_ITEM rgscri[2]; + ZeroMemory(rgscri, sizeof(rgscri)); + rgscri[1].iCharPos = 10; + cache.Store(pts, ichMin, 10, ws, false, L"abcdefghij", rgscri, 1); + } + + void testStoredRangeIsFound() + { + TextAnalysisCache cache; + StoreTenChars(cache, FakeSource(1), 0, 1); + TextAnalysisEntry * pentry = cache.Find(FakeSource(1), 0, 10, 1, false); + unitpp::assert_true("an identical request should hit", pentry != NULL); + unitpp::assert_eq("the hit should carry the stored text length", 10, + pentry->m_vchText.Size()); + unitpp::assert_true("the hit should carry the stored text", + ::memcmp(pentry->m_vchText.Begin(), L"abcdefghij", 10 * isizeof(OLECHAR)) == 0); + unitpp::assert_eq("the hit should carry the stored item count", 1, pentry->m_citem); + } + + void testShorterRequestFromSameStartIsCovered() + { + TextAnalysisCache cache; + StoreTenChars(cache, FakeSource(1), 0, 1); + unitpp::assert_true("a shorter request from the same start should hit", + cache.Find(FakeSource(1), 0, 4, 1, false) != NULL); + unitpp::assert_true("a longer request from the same start should miss", + cache.Find(FakeSource(1), 0, 11, 1, false) == NULL); + } + + void testKeyMismatchMisses() + { + TextAnalysisCache cache; + StoreTenChars(cache, FakeSource(1), 0, 1); + unitpp::assert_true("a different start offset should miss", + cache.Find(FakeSource(1), 1, 4, 1, false) == NULL); + unitpp::assert_true("a different text source should miss", + cache.Find(FakeSource(2), 0, 4, 1, false) == NULL); + unitpp::assert_true("a different writing system should miss", + cache.Find(FakeSource(1), 0, 4, 2, false) == NULL); + unitpp::assert_true("a different direction should miss", + cache.Find(FakeSource(1), 0, 4, 1, true) == NULL); + } + + void testEvictionIsBounded() + { + TextAnalysisCache cache(2); + StoreTenChars(cache, FakeSource(1), 0, 1); + StoreTenChars(cache, FakeSource(2), 0, 1); + StoreTenChars(cache, FakeSource(3), 0, 1); + unitpp::assert_eq("storing past capacity should evict", 1, cache.EvictionCount()); + unitpp::assert_true("the oldest entry should be the one evicted", + cache.Find(FakeSource(1), 0, 10, 1, false) == NULL); + unitpp::assert_true("the newest entry should survive", + cache.Find(FakeSource(3), 0, 10, 1, false) != NULL); + } + + public: + TestTextAnalysisCache(); + }; } #endif // TESTVIEWCACHES_H_INCLUDED diff --git a/Src/views/Test/testViews.mak b/Src/views/Test/testViews.mak index 1b2c2adf54..4835c5ea4b 100644 --- a/Src/views/Test/testViews.mak +++ b/Src/views/Test/testViews.mak @@ -154,6 +154,7 @@ $(VIEWSTEST_SRC)\Collection.cpp: $(VIEWSTEST_SRC)\DummyBaseVc.h $(VIEWSTEST_SRC) $(VIEWSTEST_SRC)\TestTsStrBldr.h\ $(VIEWSTEST_SRC)\TestTsString.h\ $(VIEWSTEST_SRC)\TestTsPropsBldr.h\ - $(VIEWSTEST_SRC)\TestTsTextProps.h + $(VIEWSTEST_SRC)\TestTsTextProps.h\ + $(VIEWSTEST_SRC)\TestViewCaches.h $(DISPLAY) Collecting tests for $(BUILD_PRODUCT).$(BUILD_EXTENSION) $(COLLECT) $** $(VIEWSTEST_SRC)\Collection.cpp diff --git a/Src/views/lib/LayoutCache.h b/Src/views/lib/LayoutCache.h index c1bc0b6f44..1afe0ed949 100644 --- a/Src/views/lib/LayoutCache.h +++ b/Src/views/lib/LayoutCache.h @@ -2,6 +2,8 @@ #ifndef LAYOUTCACHE_INCLUDED #define LAYOUTCACHE_INCLUDED +// Itemization of a text range that NFC normalization leaves unchanged, so an offset into +// m_vchText is the same offset into the source text (LT-22674). class TextAnalysisEntry { public: @@ -11,8 +13,6 @@ class TextAnalysisEntry m_cch(0), m_ws(0), m_fWsRtl(false), - m_fTextIsNfc(true), - m_cchNfc(0), m_citem(0) { } @@ -22,47 +22,6 @@ class TextAnalysisEntry return m_pts == pts && m_ichMin == ichMin && m_cch >= cch && m_ws == ws && m_fWsRtl == fWsRtl; } - int RequestedNfcLength(int cchRequested) const - { - if (cchRequested <= 0) - return 0; - if (m_fTextIsNfc) - return cchRequested; - if (m_vichOrigToNfc.Size() == 0) - return cchRequested; - if (cchRequested >= m_vichOrigToNfc.Size()) - return m_vichOrigToNfc[m_vichOrigToNfc.Size() - 1]; - return m_vichOrigToNfc[cchRequested]; - } - - int OffsetInNfc(int ich, int ichBase) const - { - Assert(ich >= ichBase); - if (m_fTextIsNfc) - return ich - ichBase; - int ichRelative = ich - ichBase; - if (ichRelative <= 0) - return 0; - if (m_vichOrigToNfc.Size() == 0) - return ichRelative; - if (ichRelative >= m_vichOrigToNfc.Size()) - return m_vichOrigToNfc[m_vichOrigToNfc.Size() - 1]; - return m_vichOrigToNfc[ichRelative]; - } - - int OffsetToOrig(int ich, int ichBase) const - { - if (m_fTextIsNfc) - return ich + ichBase; - if (ich <= 0) - return ichBase; - if (m_vichNfcToOrig.Size() == 0) - return ich + ichBase; - if (ich >= m_vichNfcToOrig.Size()) - return m_cch + ichBase; - return m_vichNfcToOrig[ich] + ichBase; - } - void CopyScriptItemsTo(Vector & vscri, int & citem) const { citem = m_citem; @@ -80,13 +39,9 @@ class TextAnalysisEntry int m_cch; int m_ws; bool m_fWsRtl; - bool m_fTextIsNfc; - int m_cchNfc; int m_citem; - Vector m_vchNfc; + Vector m_vchText; Vector m_vscri; - Vector m_vichOrigToNfc; - Vector m_vichNfcToOrig; }; class ShapeRunEntry @@ -194,8 +149,7 @@ class TextAnalysisCache } TextAnalysisEntry * Store(IVwTextSource * pts, int ichMin, int cch, int ws, bool fWsRtl, - const OLECHAR * prgchNfc, int cchNfc, bool fTextIsNfc, const SCRIPT_ITEM * prgscri, - int citem, const Vector * pvichOrigToNfc, const Vector * pvichNfcToOrig) + const OLECHAR * prgch, const SCRIPT_ITEM * prgscri, int citem) { TextAnalysisEntry * pentry = NULL; for (int ientry = 0; ientry < m_ventry.Size(); ++ientry) @@ -230,13 +184,11 @@ class TextAnalysisCache pentry->m_cch = cch; pentry->m_ws = ws; pentry->m_fWsRtl = fWsRtl; - pentry->m_fTextIsNfc = fTextIsNfc; - pentry->m_cchNfc = cchNfc; pentry->m_citem = citem; - pentry->m_vchNfc.Resize(cchNfc); - if (cchNfc > 0) - ::memcpy(pentry->m_vchNfc.Begin(), prgchNfc, cchNfc * isizeof(OLECHAR)); + pentry->m_vchText.Resize(cch); + if (cch > 0) + ::memcpy(pentry->m_vchText.Begin(), prgch, cch * isizeof(OLECHAR)); int cscri = citem + 1; if (cscri < 2) @@ -245,24 +197,6 @@ class TextAnalysisCache if (cscri > 0) ::memcpy(pentry->m_vscri.Begin(), prgscri, cscri * isizeof(SCRIPT_ITEM)); - if (pvichOrigToNfc) - { - pentry->m_vichOrigToNfc.Resize(pvichOrigToNfc->Size()); - for (int i = 0; i < pvichOrigToNfc->Size(); ++i) - pentry->m_vichOrigToNfc[i] = (*pvichOrigToNfc)[i]; - } - else - pentry->m_vichOrigToNfc.Delete(0, pentry->m_vichOrigToNfc.Size()); - - if (pvichNfcToOrig) - { - pentry->m_vichNfcToOrig.Resize(pvichNfcToOrig->Size()); - for (int i = 0; i < pvichNfcToOrig->Size(); ++i) - pentry->m_vichNfcToOrig[i] = (*pvichNfcToOrig)[i]; - } - else - pentry->m_vichNfcToOrig.Delete(0, pentry->m_vichNfcToOrig.Size()); - return pentry; } diff --git a/Src/views/lib/UniscribeEngine.cpp b/Src/views/lib/UniscribeEngine.cpp index 570217645b..03b6077374 100644 --- a/Src/views/lib/UniscribeEngine.cpp +++ b/Src/views/lib/UniscribeEngine.cpp @@ -414,9 +414,8 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( // clear. // PATH-N1: Get NFC flag to avoid redundant OffsetInNfc/OffsetToOrig normalization below. bool fTextIsNfc = false; - const TextAnalysisEntry * pAnalysis = NULL; int cchNfc = UniscribeSegment::CallScriptItemize(rgchBuf, INIT_BUF_SIZE, vch, pts, ichMinSeg, - ichLimText - ichMinSeg, &prgchBuf, citem, (bool)fParaRtoL, &fTextIsNfc, &pAnalysis); + ichLimText - ichMinSeg, &prgchBuf, citem, (bool)fParaRtoL, &fTextIsNfc); Vector vichBreak; ILgLineBreakerPtr qlb; @@ -514,7 +513,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( } ichLim = min(ichLimNext, ichLimBT2); // Optimize JohnT: if ichLim==ichBase+m_dichLim, can use cchNfc. - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); if (ichLimNfc == ichMinNfc) { // This can happen if later characters in a composite have different properties than the first. @@ -538,7 +537,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( { // Script item is smaller than run; shorten the amount we treat as a 'run'. ichLimNfc = (pscri + 1)->iCharPos; - ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc); } // Set up the characters of the run, if any. @@ -765,7 +764,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( vdxRun.Pop(); ichLimBT2 = ichMin; ichLim = *(vichRun.Top()); - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); vichRun.Pop(); cglyph = *(viglyphRun.Top()); viglyphRun.Pop(); @@ -870,7 +869,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( vdxRun.Pop(); ichLimBT2 = ichMin; ichLim = *(vichRun.Top()); - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); vichRun.Pop(); cglyph = *(viglyphRun.Top()); viglyphRun.Pop(); @@ -984,11 +983,11 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( } } } - ichLim = UniscribeSegment::OffsetToOrig(ichMinUri + ichRun, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLim = UniscribeSegment::OffsetToOrig(ichMinUri + ichRun, ichMinSeg, pts, fTextIsNfc); break; } - int ichLineBreak = UniscribeSegment::OffsetToOrig(ichLineBreakNfc, ichMinSeg, pts, fTextIsNfc, pAnalysis); + int ichLineBreak = UniscribeSegment::OffsetToOrig(ichLineBreakNfc, ichMinSeg, pts, fTextIsNfc); if (ichLineBreak <= ichMin) { @@ -1005,7 +1004,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( viglyphRun.Pop(); } ichLim = ichMin; // Required to get correct values at start of loop. - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); ichLimBT2 = ichLineBreak; fRemovedWs = false; fBacktracking = true; @@ -1013,12 +1012,12 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( } ichLim = ichLineBreak; // We limit the segment to not exceed the latest line break point. Assert(ichLim <= ichLimBacktrack); - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); fOkBreak = true; // Means we have a good line break. // Store the glyph-specific information: stretch values. int cchRunTotalTmp = uri.cch; - uri.cch = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis) - ichMinNfc; + uri.cch = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc) - ichMinNfc; UniscribeSegment::ShapePlaceRun(uri, true); viglyphRun.Push(cglyph); cglyph += uri.cglyph; @@ -1044,7 +1043,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( if (twsh == ktwshNoWs) { fRemovedWs = RemoveTrailingWhiteSpace(ichMinUri, &ichLimNfc, uri); - ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc); // Usually the worst case is that ichLimNfc == ichMinUri, indicating that the whole run is // white space. However, in at least one pathological case, we have observed uniscribe // strip of more than one run of white space. Hence the <=. @@ -1068,7 +1067,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( dxSegWidth = *(vdxRun.Top()); vdxRun.Pop(); ichLim = *(vichRun.Top()); - ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLimNfc = UniscribeSegment::OffsetInNfc(ichLim, ichMinSeg, pts, fTextIsNfc); vichRun.Pop(); cglyph = *(viglyphRun.Top()); viglyphRun.Pop(); @@ -1097,7 +1096,7 @@ STDMETHODIMP UniscribeEngine::FindBreakPoint( Assert(irun == 1); Assert(ichMinUri == 0); RemoveNonWhiteSpace(ichMinUri, &ichLimNfc, uri); - ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc, pAnalysis); + ichLim = UniscribeSegment::OffsetToOrig(ichLimNfc, ichMinSeg, pts, fTextIsNfc); if (ichLim == ichMinSeg) return S_OK; // failure to create a valid segment fOkBreak = true; diff --git a/Src/views/lib/UniscribeSegment.cpp b/Src/views/lib/UniscribeSegment.cpp index f40bd24bfc..c2753a9465 100644 --- a/Src/views/lib/UniscribeSegment.cpp +++ b/Src/views/lib/UniscribeSegment.cpp @@ -29,8 +29,6 @@ DEFINE_THIS_FILE //:>******************************************************************************************** //:> Forward declarations //:>******************************************************************************************** -static void BuildNfcOffsetMaps(const StrUni & stuOrig, Vector & vichOrigToNfc, - Vector & vichNfcToOrig); static void ApplyShapeRunCacheEntry(ShapeRunEntry & entry, UniscribeRunInfo & uri); //:>******************************************************************************************** @@ -1634,17 +1632,6 @@ int UniscribeSegment::OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, boo return OffsetInNfc(ich, ichBase, pts); } -int UniscribeSegment::OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc, - const TextAnalysisEntry * pAnalysis) -{ - Assert(ich >= ichBase); - if (fTextIsNfc) - return ich - ichBase; - if (pAnalysis) - return pAnalysis->OffsetInNfc(ich, ichBase); - return OffsetInNfc(ich, ichBase, pts, fTextIsNfc); -} - // ich is an offset into the (NFC normalized) characters of this segment. // convert it into a (typically NFD) position in the original paragraph. // This is complicated because it isn't absolutely guaranteed that the original is @@ -1692,40 +1679,6 @@ int UniscribeSegment::OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bo return OffsetToOrig(ich, ichBase, pts); } -int UniscribeSegment::OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc, - const TextAnalysisEntry * pAnalysis) -{ - if (fTextIsNfc) - return ich + ichBase; - if (pAnalysis) - return pAnalysis->OffsetToOrig(ich, ichBase); - return OffsetToOrig(ich, ichBase, pts, fTextIsNfc); -} - -static void BuildNfcOffsetMaps(const StrUni & stuOrig, Vector & vichOrigToNfc, - Vector & vichNfcToOrig) -{ - int cchOrig = stuOrig.Length(); - vichOrigToNfc.Resize(cchOrig + 1); - vichOrigToNfc[0] = 0; - for (int ich = 1; ich <= cchOrig; ++ich) - { - StrUni stuPrefix(stuOrig.Chars(), ich); - StrUtil::NormalizeStrUni(stuPrefix, UNORM_NFC); - vichOrigToNfc[ich] = stuPrefix.Length(); - } - - int cchNfc = vichOrigToNfc[cchOrig]; - vichNfcToOrig.Resize(cchNfc + 1); - int ichOrig = 0; - for (int ichNfc = 0; ichNfc <= cchNfc; ++ichNfc) - { - while (ichOrig + 1 <= cchOrig && vichOrigToNfc[ichOrig + 1] <= ichNfc) - ++ichOrig; - vichNfcToOrig[ichNfc] = ichOrig; - } -} - static void ApplyShapeRunCacheEntry(ShapeRunEntry & entry, UniscribeRunInfo & uri) { if (uri.CGlyphMax() < entry.m_cglyph) @@ -3092,11 +3045,9 @@ void UniscribeSegment::AdjustEndForWidth(int ichBase, IVwGraphics * pvg) ----------------------------------------------------------------------------------------------*/ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, Vector & vch, IVwTextSource * pts, int ichMin, int cch, OLECHAR ** pprgchBuf, - int & citem, bool fParaRTL, bool * pfTextIsNfc, const TextAnalysisEntry ** ppAnalysis) + int & citem, bool fParaRTL, bool * pfTextIsNfc) { * pprgchBuf = prgchDefBuf; // Use on-stack variable if big enough - if (ppAnalysis) - *ppAnalysis = NULL; bool fNeedOpenTypeScriptTags = cch > 0 && TextRangeHasOpenTypeFeatures(pts, ichMin, cch); LayoutPassCache * pLayoutPassCache = (!fNeedOpenTypeScriptTags && IsPath2AnalysisCacheEnabled()) ? @@ -3117,24 +3068,23 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, if (pCachedAnalysis) { if (pfTextIsNfc) - *pfTextIsNfc = pCachedAnalysis->m_fTextIsNfc; - *pprgchBuf = pCachedAnalysis->m_vchNfc.Size() > 0 ? pCachedAnalysis->m_vchNfc.Begin() : prgchDefBuf; + *pfTextIsNfc = true; + *pprgchBuf = pCachedAnalysis->m_vchText.Size() > 0 ? pCachedAnalysis->m_vchText.Begin() : prgchDefBuf; pCachedAnalysis->CopyScriptItemsTo(g_vscri, citem); if (g_votScriptTags.Size() < citem) g_votScriptTags.Resize(citem); for (int itag = 0; itag < citem; ++itag) g_votScriptTags[itag] = 0; g_cscri = citem; - if (ppAnalysis) - *ppAnalysis = pCachedAnalysis; - return pCachedAnalysis->RequestedNfcLength(cchOrig); + return cchOrig; } } if (pLayoutPassCache && !pCachedAnalysis) dwStartMs = ::GetTickCount(); - Vector vichOrigToNfc; - Vector vichNfcToOrig; + // Text that NFC normalization rewrites is not cached, because offsets into it would + // need a map back to the source text for every analysed range (LT-22674). + bool fTextEligibleForCache = true; #ifdef UNISCRIBE_NFC if (cch) @@ -3154,8 +3104,7 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, bool fComputedTextIsNfc = (stu == stuOrig); if (pfTextIsNfc) *pfTextIsNfc = fComputedTextIsNfc; - if (!fComputedTextIsNfc && pLayoutPassCache) - BuildNfcOffsetMaps(stuOrig, vichOrigToNfc, vichNfcToOrig); + fTextEligibleForCache = fComputedTextIsNfc; if (cch > cchBuf) { cchBuf = cch; @@ -3168,13 +3117,6 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, { if (pfTextIsNfc) *pfTextIsNfc = true; // Empty text is trivially NFC - if (pLayoutPassCache) - { - vichOrigToNfc.Resize(1); - vichOrigToNfc[0] = 0; - vichNfcToOrig.Resize(1); - vichNfcToOrig[0] = 0; - } } #else if (pfTextIsNfc) @@ -3317,12 +3259,11 @@ typedef struct tag_SCRIPT_STATE { if (pLayoutPassCache) { pLayoutPassCache->AnalysisCache().AddComputeMs(::GetTickCount() - dwStartMs); - TextAnalysisEntry * pStoredAnalysis = pLayoutPassCache->AnalysisCache().Store(pts, ichMin, - cchOrig, ws, fWsRtl, *pprgchBuf, cch, pfTextIsNfc ? *pfTextIsNfc : true, - g_vscri.Begin(), citem, vichOrigToNfc.Size() ? &vichOrigToNfc : NULL, - vichNfcToOrig.Size() ? &vichNfcToOrig : NULL); - if (ppAnalysis) - *ppAnalysis = pStoredAnalysis; + if (fTextEligibleForCache) + { + pLayoutPassCache->AnalysisCache().Store(pts, ichMin, cchOrig, ws, fWsRtl, *pprgchBuf, + g_vscri.Begin(), citem); + } } return cch; } @@ -3391,9 +3332,8 @@ template int UniscribeSegment::DoAllRuns(int ichBase, IVwGraphics * pv OLECHAR * prgchBuf; // Where text actually goes. // PATH-N1: Get NFC flag from CallScriptItemize to skip redundant OffsetInNfc calls below. bool fTextIsNfc = false; - const TextAnalysisEntry * pAnalysis = NULL; int cchNfc = CallScriptItemize(rgchBuf, INIT_BUF_SIZE, vch, m_qts, ichBase, m_dichLim, &prgchBuf, - citem, m_fParaRTL, &fTextIsNfc, &pAnalysis); + citem, m_fParaRTL, &fTextIsNfc); // If dxdExpectedWidth is not 0, then the segment will try its best to stretch to the // specified size. @@ -3453,7 +3393,7 @@ template int UniscribeSegment::DoAllRuns(int ichBase, IVwGraphics * pv if (ichLim - ichBase > m_dichLim) ichLim = ichBase + m_dichLim; - ichLimNfc = OffsetInNfc(ichLim, ichBase, m_qts, fTextIsNfc, pAnalysis); + ichLimNfc = OffsetInNfc(ichLim, ichBase, m_qts, fTextIsNfc); if (ichLimNfc == ichMinNfc && m_dichLim > 0) { // This can happen pathologically where later characters in a composition have different diff --git a/Src/views/lib/UniscribeSegment.h b/Src/views/lib/UniscribeSegment.h index a62b44c3f1..0cb9770f4b 100644 --- a/Src/views/lib/UniscribeSegment.h +++ b/Src/views/lib/UniscribeSegment.h @@ -30,8 +30,6 @@ typedef Vector ScrItemVec; // Hungarian vscri; typedef Vector ScrLogAttrVec; // Hungarian vsla. typedef Vector OpenTypeTagVec; // Hungarian vot. -class TextAnalysisEntry; - /*---------------------------------------------------------------------------------------------- Class: UniscribeRunInfo Description: This is the block of information that is passed to all our functors. @@ -237,12 +235,8 @@ class UniscribeSegment : public ILgSegment static int OffsetInNfc(int ich, int ichBase, IVwTextSource * pts); static int OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc); - static int OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc, - const TextAnalysisEntry * pAnalysis); static int OffsetToOrig(int ich, int ichBase, IVwTextSource * pts); static int OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc); - static int OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc, - const TextAnalysisEntry * pAnalysis); protected: // Static variables @@ -310,7 +304,7 @@ class UniscribeSegment : public ILgSegment static void ShapePlaceRun(UniscribeRunInfo& uri, bool fCreatingSeg = false); static int CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, Vector & vch, IVwTextSource * pts, int ichMin, int cch, OLECHAR ** pprgchBuf, int & citem, - bool fParaRTL, bool * pfTextIsNfc = NULL, const TextAnalysisEntry ** ppAnalysis = NULL); + bool fParaRTL, bool * pfTextIsNfc = NULL); int NumStretchableGlyphs(); int StretchGlyphs(UniscribeRunInfo & uri, From b42e64a08f9342ccca79c91a01fc64e2c5230077 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Mon, 28 Sep 2026 23:39:57 -0700 Subject: [PATCH 2/3] LT-22674: Map NFC offsets once per paragraph instead of per request Line layout now translates offsets between a paragraph and its NFC form through a table built once per layout pass. The table splits the text where ICU says normalization cannot cross a boundary and records the NFC length before each split, so any offset costs one short normalization instead of renormalizing the prefix. The analysis cache stores text that NFC rewrites again, and serves a shorter request from a longer entry only when the request ends on a boundary. Also adds equivalence tests for the map against normalizing from scratch. Co-Authored-By: Claude Fable 5.1 --- .../RootSiteTests/RenderBenchmarkTestsBase.cs | 95 +++----- Src/views/Test/TestUniscribeEngine.h | 5 +- Src/views/Test/TestViewCaches.h | 123 ++++++++++- Src/views/lib/LayoutCache.h | 32 ++- Src/views/lib/NfcOffsetMap.h | 202 ++++++++++++++++++ Src/views/lib/UniscribeSegment.cpp | 52 ++++- Src/views/lib/UniscribeSegment.h | 3 + 7 files changed, 430 insertions(+), 82 deletions(-) create mode 100644 Src/views/lib/NfcOffsetMap.h diff --git a/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs b/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs index 7e27cabc46..e64903f076 100644 --- a/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs +++ b/Src/Common/RootSite/RootSiteTests/RenderBenchmarkTestsBase.cs @@ -976,10 +976,13 @@ protected static string Decomposed(string text) } ///

- /// Adds one paragraph of short decomposed sentences whose runs alternate between two - /// writing systems and two font families. + /// Adds a section whose content is one paragraph of + /// sentences. Each sentence's text and run properties come from the two callbacks, which + /// receive the sentence index. With the paragraph + /// opens with a chapter-number run. /// - protected void AddSingleMixedWsParagraph(IScrBook book, int sentenceCount) + private void AddSingleParagraphSection(IScrBook book, string heading, int sentenceCount, + Func sentence, Func runProps, bool withChapterNumber = false) { var section = Cache.ServiceLocator.GetInstance().Create(); book.SectionsOS.Add(section); @@ -988,10 +991,26 @@ protected void AddSingleMixedWsParagraph(IScrBook book, int sentenceCount) section.HeadingOA = stTextFactory.Create(); var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; - headingBldr.AppendRun("Single Paragraph, Mixed Writing Systems", - StyleUtils.CharStyleTextProps(null, m_wsEng)); + headingBldr.AppendRun(heading, StyleUtils.CharStyleTextProps(null, m_wsEng)); headingBldr.CreateParagraph(section.HeadingOA); + section.ContentOA = stTextFactory.Create(); + var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; + if (withChapterNumber) + paraBldr.AppendRun("1", StyleUtils.CharStyleTextProps(ScrStyleNames.ChapterNumber, m_wsEng)); + + for (int i = 0; i < sentenceCount; i++) + paraBldr.AppendRun(sentence(i), runProps(i)); + + paraBldr.CreateParagraph(section.ContentOA); + } + + /// + /// Adds one paragraph of short decomposed sentences whose runs alternate between two + /// writing systems and two font families. + /// + protected void AddSingleMixedWsParagraph(IScrBook book, int sentenceCount) + { string[] subjects = { "the \u00E9lder", @@ -1011,18 +1030,10 @@ protected void AddSingleMixedWsParagraph(IScrBook book, int sentenceCount) "asked for a bless\u0129ng" }; - section.ContentOA = stTextFactory.Create(); - var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; - paraBldr.AppendRun("1", StyleUtils.CharStyleTextProps(ScrStyleNames.ChapterNumber, m_wsEng)); - - for (int i = 0; i < sentenceCount; i++) - { - string sentence = Decomposed( - $"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} {i + 1}. "); - paraBldr.AppendRun(sentence, AlternatingFontRunProps(i % 2 == 0)); - } - - paraBldr.CreateParagraph(section.ContentOA); + AddSingleParagraphSection(book, "Single Paragraph, Mixed Writing Systems", sentenceCount, + i => Decomposed($"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} {i + 1}. "), + i => AlternatingFontRunProps(i % 2 == 0), + withChapterNumber: true); } private ITsTextProps AlternatingFontRunProps(bool first) @@ -1041,17 +1052,6 @@ private ITsTextProps AlternatingFontRunProps(bool first) /// protected void AddNfcComposableDiacriticsParagraph(IScrBook book, int wordCount) { - var section = Cache.ServiceLocator.GetInstance().Create(); - book.SectionsOS.Add(section); - - var stTextFactory = Cache.ServiceLocator.GetInstance(); - - section.HeadingOA = stTextFactory.Create(); - var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; - headingBldr.AppendRun("Decomposed Diacritics Microbenchmark", - StyleUtils.CharStyleTextProps(null, m_wsEng)); - headingBldr.CreateParagraph(section.HeadingOA); - string[] words = { "caf\u00E9", @@ -1066,17 +1066,9 @@ protected void AddNfcComposableDiacriticsParagraph(IScrBook book, int wordCount) "fa\u00E7ade" }; - section.ContentOA = stTextFactory.Create(); - var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; - - for (int i = 0; i < wordCount; i++) - { - string sentence = Decomposed( - $"The {words[i % words.Length]} recorded here is entry {i + 1}. "); - paraBldr.AppendRun(sentence, StyleUtils.CharStyleTextProps(null, m_wsEng)); - } - - paraBldr.CreateParagraph(section.ContentOA); + AddSingleParagraphSection(book, "Decomposed Diacritics Microbenchmark", wordCount, + i => Decomposed($"The {words[i % words.Length]} recorded here is entry {i + 1}. "), + i => StyleUtils.CharStyleTextProps(null, m_wsEng)); } /// @@ -1085,17 +1077,6 @@ protected void AddNfcComposableDiacriticsParagraph(IScrBook book, int wordCount) /// protected void AddSingleWsProseParagraph(IScrBook book, int sentenceCount) { - var section = Cache.ServiceLocator.GetInstance().Create(); - book.SectionsOS.Add(section); - - var stTextFactory = Cache.ServiceLocator.GetInstance(); - - section.HeadingOA = stTextFactory.Create(); - var headingBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.SectionHead }; - headingBldr.AppendRun("Single Writing-System Line-Wrap Microbenchmark", - StyleUtils.CharStyleTextProps(null, m_wsEng)); - headingBldr.CreateParagraph(section.HeadingOA); - string[] subjects = { "the mer\u00E7hant", @@ -1115,17 +1096,9 @@ protected void AddSingleWsProseParagraph(IScrBook book, int sentenceCount) "shaped the jar on the slow whe\u00EBl" }; - section.ContentOA = stTextFactory.Create(); - var paraBldr = new StTxtParaBldr(Cache) { ParaStyleName = ScrStyleNames.NormalParagraph }; - - for (int i = 0; i < sentenceCount; i++) - { - string sentence = Decomposed( - $"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} on day {i + 1}. "); - paraBldr.AppendRun(sentence, StyleUtils.CharStyleTextProps(null, m_wsEng)); - } - - paraBldr.CreateParagraph(section.ContentOA); + AddSingleParagraphSection(book, "Single Writing-System Line-Wrap Microbenchmark", sentenceCount, + i => Decomposed($"{subjects[i % subjects.Length]} {predicates[i % predicates.Length]} on day {i + 1}. "), + i => StyleUtils.CharStyleTextProps(null, m_wsEng)); } #endregion diff --git a/Src/views/Test/TestUniscribeEngine.h b/Src/views/Test/TestUniscribeEngine.h index 494cb64c89..d627bb9a37 100644 --- a/Src/views/Test/TestUniscribeEngine.h +++ b/Src/views/Test/TestUniscribeEngine.h @@ -475,14 +475,13 @@ namespace TestViews #endif } - void testTextNfcRewritesIsNotCached() + void testDecomposedTextAnalysisIsReusedWithinLayoutPass() { #if defined(WIN32) || defined(_M_X64) int cHit, cMiss; // Decomposed e-acute and a-grave, which NFC composes. BreakTwiceInOneLayoutPass(L"cafe\u0301 de\u0301ja\u0300 vu", &cHit, &cMiss); - unitpp::assert_eq("text NFC rewrites should never be served from the cache", 0, cHit); - unitpp::assert_true("every break should still have looked in the cache", cMiss >= 2); + unitpp::assert_true("text NFC rewrites should be reused on the second break", cHit > 0); #endif } diff --git a/Src/views/Test/TestViewCaches.h b/Src/views/Test/TestViewCaches.h index d4a85e1050..a8ff6f95da 100644 --- a/Src/views/Test/TestViewCaches.h +++ b/Src/views/Test/TestViewCaches.h @@ -9,9 +9,11 @@ This software is licensed under the LGPL, version 2.1 or later #pragma once #include "testViews.h" +#include "RenderEngineTestBase.h" #include "ColorStateCache.h" #include "FontHandleCache.h" #include "LayoutCache.h" +#include "NfcOffsetMap.h" namespace TestViews { @@ -231,7 +233,7 @@ namespace TestViews SCRIPT_ITEM rgscri[2]; ZeroMemory(rgscri, sizeof(rgscri)); rgscri[1].iCharPos = 10; - cache.Store(pts, ichMin, 10, ws, false, L"abcdefghij", rgscri, 1); + cache.Store(pts, ichMin, 10, ws, false, L"abcdefghij", 10, true, rgscri, 1); } void testStoredRangeIsFound() @@ -287,6 +289,125 @@ namespace TestViews public: TestTextAnalysisCache(); }; + + class TestNfcOffsetMap : public unitpp::suite + { + // NFC length of the text in [ichMin, ichLim), normalized from scratch: the definition + // the map must reproduce. + static int OracleNfcLength(const StrUni & stu, int ichMin, int ichLim) + { + StrUni stuRange(stu.Chars() + ichMin, ichLim - ichMin); + StrUtil::NormalizeStrUni(stuRange, UNORM_NFC); + return stuRange.Length(); + } + + void VerifyAgainstOracle(const wchar_t * pszText, const char * pszLabel) + { + StrUni stu(pszText); + int cch = stu.Length(); + TxtSrc ts(pszText, g_qwsf); + IVwTextSourcePtr qts; + ts.QueryInterface(IID_IVwTextSource, (void **)&qts); + NfcOffsetMap map; + map.Reset(qts); + + StrAnsi staMsg; + int cBoundaries = 0; + for (int ichBase = 0; ichBase <= cch; ++ichBase) + { + int ichNfc; + if (!map.IsBoundary(ichBase)) + { + staMsg.Format("%s: base %d is not a boundary so the map must decline", + pszLabel, ichBase); + unitpp::assert_true(staMsg.Chars(), !map.TryOffsetInNfc(cch, ichBase, &ichNfc)); + continue; + } + ++cBoundaries; + for (int ich = ichBase; ich <= cch; ++ich) + { + int cchExpected = OracleNfcLength(stu, ichBase, ich); + staMsg.Format("%s: OffsetInNfc(%d, %d) must answer", pszLabel, ich, ichBase); + unitpp::assert_true(staMsg.Chars(), map.TryOffsetInNfc(ich, ichBase, &ichNfc)); + staMsg.Format("%s: OffsetInNfc(%d, %d)", pszLabel, ich, ichBase); + unitpp::assert_eq(staMsg.Chars(), cchExpected, ichNfc); + } + int cchNfcAll = OracleNfcLength(stu, ichBase, cch); + for (int ichNfcReq = 0; ichNfcReq <= cchNfcAll + 2; ++ichNfcReq) + { + int ichExpected = ichBase; + for (int ich = ichBase; ich <= cch; ++ich) + { + if (OracleNfcLength(stu, ichBase, ich) <= ichNfcReq) + ichExpected = ich; + } + int ichOrig; + staMsg.Format("%s: OffsetToOrig(%d, %d) must answer", pszLabel, ichNfcReq, ichBase); + unitpp::assert_true(staMsg.Chars(), + map.TryOffsetToOrig(ichNfcReq, ichBase, &ichOrig)); + staMsg.Format("%s: OffsetToOrig(%d, %d)", pszLabel, ichNfcReq, ichBase); + unitpp::assert_eq(staMsg.Chars(), ichExpected, ichOrig); + } + } + staMsg.Format("%s: text start and end are always boundaries", pszLabel); + unitpp::assert_true(staMsg.Chars(), cBoundaries >= (cch == 0 ? 1 : 2)); + } + + void testMatchesFromScratchNormalization() + { + VerifyAgainstOracle(L"plain ascii text, no marks", "ascii only"); + VerifyAgainstOracle(L"cafe\u0301 de\u0301ja\u0300 vu no\u0308el", "decomposed latin"); + VerifyAgainstOracle(L"caf\u00E9 d\u00E9j\u00E0 vu", "precomposed latin"); + VerifyAgainstOracle(L"a\u0301\u0327b a\u0327\u0301c", "non-canonical mark order"); + VerifyAgainstOracle(L"\u0301\u0300abc", "marks with no base"); + VerifyAgainstOracle(L"\u0628\u064E\u0651 \u0644\u0651\u064E", "arabic harakat"); + VerifyAgainstOracle(L"\u1112\u1161\u11AB \u1100\u1161", "hangul jamo"); + VerifyAgainstOracle(L"x\U0001D400\u0301y\U0001D401", "surrogate pairs"); + VerifyAgainstOracle(L"a\u0344b\u0344", "lengthening mark"); + VerifyAgainstOracle(L"\u212Bngstro\u0308m \u2126", "singleton decomposition"); + VerifyAgainstOracle(L"The \u0628\u064E caf\u00E9 e\u0301\u1112\u1161\u11AB\U0001D400\u0344!", "mixed everything"); + } + + void testCombiningMarkAndLowSurrogateAreNotBoundaries() + { + TxtSrc ts(L"e\u0301\U0001D400", g_qwsf); + IVwTextSourcePtr qts; + ts.QueryInterface(IID_IVwTextSource, (void **)&qts); + NfcOffsetMap map; + map.Reset(qts); + unitpp::assert_true("start is a boundary", map.IsBoundary(0)); + unitpp::assert_true("before a combining mark is not a boundary", !map.IsBoundary(1)); + unitpp::assert_true("before a high surrogate is a boundary", map.IsBoundary(2)); + unitpp::assert_true("between surrogates is not a boundary", !map.IsBoundary(3)); + unitpp::assert_true("end is a boundary", map.IsBoundary(4)); + } + + void testResetRebindsToAnotherSource() + { + TxtSrc ts1(L"ab", g_qwsf); + TxtSrc ts2(L"e\u0301e\u0301", g_qwsf); + IVwTextSourcePtr qts1; + IVwTextSourcePtr qts2; + ts1.QueryInterface(IID_IVwTextSource, (void **)&qts1); + ts2.QueryInterface(IID_IVwTextSource, (void **)&qts2); + NfcOffsetMap map; + map.Reset(qts1); + unitpp::assert_eq("two ascii characters", 2, map.NfcLengthOfPrefix(2)); + map.Reset(qts2); + unitpp::assert_eq("rebinding discards the old table", 2, map.NfcLengthOfPrefix(4)); + } + + public: + TestNfcOffsetMap(); + virtual void Setup() + { + CreateTestWritingSystemFactory(); + } + virtual void Teardown() + { + CloseTestWritingSystemFactory(); + } + }; } #endif // TESTVIEWCACHES_H_INCLUDED diff --git a/Src/views/lib/LayoutCache.h b/Src/views/lib/LayoutCache.h index 1afe0ed949..112311140d 100644 --- a/Src/views/lib/LayoutCache.h +++ b/Src/views/lib/LayoutCache.h @@ -2,8 +2,10 @@ #ifndef LAYOUTCACHE_INCLUDED #define LAYOUTCACHE_INCLUDED -// Itemization of a text range that NFC normalization leaves unchanged, so an offset into -// m_vchText is the same offset into the source text (LT-22674). +#include "NfcOffsetMap.h" + +// Itemization of a text range and its NFC form. With m_fTextIsNfc set, m_vchText equals the +// source text; otherwise offsets into it translate through the pass's NfcOffsetMap. class TextAnalysisEntry { public: @@ -13,6 +15,7 @@ class TextAnalysisEntry m_cch(0), m_ws(0), m_fWsRtl(false), + m_fTextIsNfc(true), m_citem(0) { } @@ -39,7 +42,11 @@ class TextAnalysisEntry int m_cch; int m_ws; bool m_fWsRtl; + // True when NFC normalization leaves the source text unchanged, so m_vchText equals it and + // offsets into m_vchText are source offsets. + bool m_fTextIsNfc; int m_citem; + // The NFC form of the range. Vector m_vchText; Vector m_vscri; }; @@ -149,7 +156,8 @@ class TextAnalysisCache } TextAnalysisEntry * Store(IVwTextSource * pts, int ichMin, int cch, int ws, bool fWsRtl, - const OLECHAR * prgch, const SCRIPT_ITEM * prgscri, int citem) + const OLECHAR * prgchNfc, int cchNfc, bool fTextIsNfc, const SCRIPT_ITEM * prgscri, + int citem) { TextAnalysisEntry * pentry = NULL; for (int ientry = 0; ientry < m_ventry.Size(); ++ientry) @@ -184,11 +192,12 @@ class TextAnalysisCache pentry->m_cch = cch; pentry->m_ws = ws; pentry->m_fWsRtl = fWsRtl; + pentry->m_fTextIsNfc = fTextIsNfc; pentry->m_citem = citem; - pentry->m_vchText.Resize(cch); - if (cch > 0) - ::memcpy(pentry->m_vchText.Begin(), prgch, cch * isizeof(OLECHAR)); + pentry->m_vchText.Resize(cchNfc); + if (cchNfc > 0) + ::memcpy(pentry->m_vchText.Begin(), prgchNfc, cchNfc * isizeof(OLECHAR)); int cscri = citem + 1; if (cscri < 2) @@ -354,6 +363,7 @@ class LayoutPassCache { m_analysisCache.Reset(); m_shapeRunCache.Reset(); + m_nfcOffsets.Clear(); } TextAnalysisCache & AnalysisCache() @@ -361,6 +371,14 @@ class LayoutPassCache return m_analysisCache; } + // The offset map for pts. The pass keeps one map, so asking for a different text source + // than the last call discards the table and the next lookup rebuilds it. + NfcOffsetMap & NfcOffsetsFor(IVwTextSource * pts) + { + m_nfcOffsets.Reset(pts); + return m_nfcOffsets; + } + ShapeRunCache & ShapeCache() { return m_shapeRunCache; @@ -369,6 +387,7 @@ class LayoutPassCache private: TextAnalysisCache m_analysisCache; ShapeRunCache m_shapeRunCache; + NfcOffsetMap m_nfcOffsets; }; extern __declspec(thread) LayoutPassCache * g_pCurrentLayoutPassCache; @@ -391,6 +410,7 @@ inline bool IsPath1ShapeCacheEnabled() return s_nEnabled == 1; } +// Also governs the NfcOffsetMap, which exists to serve the analysis cache's decomposed entries. inline bool IsPath2AnalysisCacheEnabled() { static int s_nEnabled = -1; diff --git a/Src/views/lib/NfcOffsetMap.h b/Src/views/lib/NfcOffsetMap.h new file mode 100644 index 0000000000..59213ca77f --- /dev/null +++ b/Src/views/lib/NfcOffsetMap.h @@ -0,0 +1,202 @@ +/*--------------------------------------------------------------------*//*:Ignore this sentence. +Copyright (c) 2026 SIL International +This software is licensed under the LGPL, version 2.1 or later +(http://www.gnu.org/licenses/lgpl-2.1.html) + +File: NfcOffsetMap.h +Responsibility: +Last reviewed: Not yet. + +Description: + Translates offsets between a text source and its NFC-normalized form without + renormalizing a prefix of the text on every request (LT-22674). +-------------------------------------------------------------------------------*//*:End Ignore*/ +#pragma once +#ifndef NFCOFFSETMAP_INCLUDED +#define NFCOFFSETMAP_INCLUDED + +/*---------------------------------------------------------------------------------------------- + Offset translation for one text source between its own (typically NFD) offsets and offsets + into its NFC-normalized form. + + An offset into the NFC form of a range is defined as the NFC length of that range, exactly + as normalizing the range from scratch would give. The map reproduces that definition while + normalizing each character at most once: it splits the text where ICU says normalization + cannot cross a boundary, records the NFC length of the text before each boundary, and + normalizes only the tail from the nearest boundary when a request lands inside a chunk. + Requests whose base offset is not a boundary cannot be answered from the table and report + failure, so the caller can fall back to normalizing the range directly. + + The map is bound to one text source whose content does not change while the map is in + use; Reset rebinds it. +----------------------------------------------------------------------------------------------*/ +class NfcOffsetMap +{ +public: + NfcOffsetMap() : m_pts(NULL), m_cchText(0), m_fBuilt(false) + { + } + + // Binds the map to a text source, discarding any table built for a different one. + void Reset(IVwTextSource * pts) + { + if (pts == m_pts && m_fBuilt) + return; + Clear(); + m_pts = pts; + } + + // Unbinds the map and discards its table. + void Clear() + { + m_pts = NULL; + m_cchText = 0; + m_fBuilt = false; + m_vchText.Clear(); + m_vichBoundary.Clear(); + m_vcchNfcBefore.Clear(); + } + + // True when normalization of the text before ich is independent of the text from ich on. + // The start and end of the text are boundaries; the middle of a surrogate pair is not. + bool IsBoundary(int ich) + { + if (!Build() || ich < 0 || ich > m_cchText) + return false; + if (ich == 0 || ich == m_cchText) + return true; + return BoundaryIndexAt(ich) >= 0; + } + + // NFC length of the text from ichBase to ich. Fails unless ichBase is a boundary. + bool TryOffsetInNfc(int ich, int ichBase, int * pichNfc) + { + *pichNfc = 0; + if (!Build() || ichBase < 0 || ich < ichBase || ich > m_cchText || !IsBoundary(ichBase)) + return false; + *pichNfc = NfcLengthOfPrefix(ich) - NfcLengthOfPrefix(ichBase); + return true; + } + + // The longest range starting at ichBase whose NFC form is at most ichNfc characters long, + // reported as the offset of its end. Fails unless ichBase is a boundary. + bool TryOffsetToOrig(int ichNfc, int ichBase, int * pichOrig) + { + *pichOrig = ichBase; + if (!Build() || ichBase < 0 || ichBase > m_cchText || ichNfc < 0 || !IsBoundary(ichBase)) + return false; + int cchNfcBase = NfcLengthOfPrefix(ichBase); + // Find the last boundary at or after ichBase whose prefix length still fits, then + // walk forward one character at a time inside that chunk. + int iLow = BoundaryIndexAtOrBefore(ichBase); + int iHigh = m_vichBoundary.Size() - 1; + while (iLow < iHigh) + { + int iMid = iLow + (iHigh - iLow + 1) / 2; + if (m_vcchNfcBefore[iMid] - cchNfcBase <= ichNfc) + iLow = iMid; + else + iHigh = iMid - 1; + } + int ich = max(m_vichBoundary[iLow], ichBase); + int ichChunkLim = iLow + 1 < m_vichBoundary.Size() ? m_vichBoundary[iLow + 1] : m_cchText; + while (ich < ichChunkLim && NfcLengthOfPrefix(ich + 1) - cchNfcBase <= ichNfc) + ++ich; + *pichOrig = ich; + return true; + } + + // NFC length of the text before ich, computed from the nearest boundary at or before it. + int NfcLengthOfPrefix(int ich) + { + if (!Build() || ich <= 0) + return 0; + Assert(ich <= m_cchText); + int iBoundary = BoundaryIndexAtOrBefore(ich); + int ichBoundary = m_vichBoundary[iBoundary]; + int cchNfc = m_vcchNfcBefore[iBoundary]; + if (ich > ichBoundary) + cchNfc += NfcLength(ichBoundary, ich); + return cchNfc; + } + +private: + // Fetches the whole text and records every normalization boundary with the NFC length + // of the text before it. Chunks between boundaries are normalized independently. + bool Build() + { + if (m_fBuilt) + return true; + if (!m_pts) + return false; + CheckHr(m_pts->get_Length(&m_cchText)); + m_vchText.Resize(m_cchText); + if (m_cchText > 0) + CheckHr(m_pts->Fetch(0, m_cchText, m_vchText.Begin())); + + const icu::Normalizer2 * pnorm = SilUtil::GetIcuNormalizer(UNORM_NFC); + m_vichBoundary.Push(0); + m_vcchNfcBefore.Push(0); + int ichChunk = 0; + int cchNfc = 0; + int ich = 0; + while (ich < m_cchText) + { + int ichNext = ich; + UChar32 ch; + U16_NEXT(m_vchText.Begin(), ichNext, m_cchText, ch); + if (ich > 0 && pnorm->hasBoundaryBefore(ch)) + { + cchNfc += NfcLength(ichChunk, ich); + m_vichBoundary.Push(ich); + m_vcchNfcBefore.Push(cchNfc); + ichChunk = ich; + } + ich = ichNext; + } + m_fBuilt = true; + return true; + } + + // NFC length of the text in [ichMin, ichLim). + int NfcLength(int ichMin, int ichLim) + { + if (ichLim <= ichMin) + return 0; + StrUni stu(m_vchText.Begin() + ichMin, ichLim - ichMin); + StrUtil::NormalizeStrUni(stu, UNORM_NFC); + return stu.Length(); + } + + // Index of the last recorded boundary at or before ich; the table always holds 0. + int BoundaryIndexAtOrBefore(int ich) + { + int iLow = 0; + int iHigh = m_vichBoundary.Size() - 1; + while (iLow < iHigh) + { + int iMid = iLow + (iHigh - iLow + 1) / 2; + if (m_vichBoundary[iMid] <= ich) + iLow = iMid; + else + iHigh = iMid - 1; + } + return iLow; + } + + // Index of the boundary recorded exactly at ich, or -1. + int BoundaryIndexAt(int ich) + { + int i = BoundaryIndexAtOrBefore(ich); + return m_vichBoundary[i] == ich ? i : -1; + } + + IVwTextSource * m_pts; + int m_cchText; + bool m_fBuilt; + Vector m_vchText; + Vector m_vichBoundary; + Vector m_vcchNfcBefore; +}; + +#endif // NFCOFFSETMAP_INCLUDED diff --git a/Src/views/lib/UniscribeSegment.cpp b/Src/views/lib/UniscribeSegment.cpp index c2753a9465..17687b0625 100644 --- a/Src/views/lib/UniscribeSegment.cpp +++ b/Src/views/lib/UniscribeSegment.cpp @@ -1629,9 +1629,23 @@ int UniscribeSegment::OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, boo Assert(ich >= ichBase); if (fTextIsNfc) return ich - ichBase; + int ichNfc; + NfcOffsetMap * pmap = CurrentNfcOffsetMap(pts); + if (pmap && pmap->TryOffsetInNfc(ich, ichBase, &ichNfc)) + return ichNfc; return OffsetInNfc(ich, ichBase, pts); } +// The layout pass's offset map for pts, or NULL outside a layout pass. FW_PERF_P125_PATH2=0 +// turns the map off together with the analysis cache it serves. +NfcOffsetMap * UniscribeSegment::CurrentNfcOffsetMap(IVwTextSource * pts) +{ + if (!IsPath2AnalysisCacheEnabled()) + return NULL; + LayoutPassCache * pLayoutPassCache = GetCurrentLayoutPassCache(); + return pLayoutPassCache ? &pLayoutPassCache->NfcOffsetsFor(pts) : NULL; +} + // ich is an offset into the (NFC normalized) characters of this segment. // convert it into a (typically NFD) position in the original paragraph. // This is complicated because it isn't absolutely guaranteed that the original is @@ -1676,6 +1690,10 @@ int UniscribeSegment::OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bo { if (fTextIsNfc) return ich + ichBase; + int ichOrig; + NfcOffsetMap * pmap = CurrentNfcOffsetMap(pts); + if (pmap && pmap->TryOffsetToOrig(ich, ichBase, &ichOrig)) + return ichOrig; return OffsetToOrig(ich, ichBase, pts); } @@ -3065,10 +3083,25 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, ws = chrp.ws; fWsRtl = chrp.fWsRtl; pCachedAnalysis = pLayoutPassCache->AnalysisCache().Find(pts, ichMin, cchOrig, ws, fWsRtl); + int cchNfcHit = cchOrig; + if (pCachedAnalysis && !pCachedAnalysis->m_fTextIsNfc) + { + // A shorter request is served from a longer entry only when its end is a + // normalization boundary; otherwise the entry's NFC form is not a prefix of the + // request's own NFC form. + NfcOffsetMap & map = pLayoutPassCache->NfcOffsetsFor(pts); + if (cchOrig == pCachedAnalysis->m_cch) + cchNfcHit = pCachedAnalysis->m_vchText.Size(); + else if (!map.IsBoundary(ichMin + cchOrig) || + !map.TryOffsetInNfc(ichMin + cchOrig, ichMin, &cchNfcHit)) + { + pCachedAnalysis = NULL; + } + } if (pCachedAnalysis) { if (pfTextIsNfc) - *pfTextIsNfc = true; + *pfTextIsNfc = pCachedAnalysis->m_fTextIsNfc; *pprgchBuf = pCachedAnalysis->m_vchText.Size() > 0 ? pCachedAnalysis->m_vchText.Begin() : prgchDefBuf; pCachedAnalysis->CopyScriptItemsTo(g_vscri, citem); if (g_votScriptTags.Size() < citem) @@ -3076,15 +3109,15 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, for (int itag = 0; itag < citem; ++itag) g_votScriptTags[itag] = 0; g_cscri = citem; - return cchOrig; + return cchNfcHit; } } if (pLayoutPassCache && !pCachedAnalysis) dwStartMs = ::GetTickCount(); - // Text that NFC normalization rewrites is not cached, because offsets into it would - // need a map back to the source text for every analysed range (LT-22674). - bool fTextEligibleForCache = true; + // True when NFC normalization leaves the fetched text unchanged, so offsets into the NFC + // buffer are source offsets. + bool fTextIsNfc = true; #ifdef UNISCRIBE_NFC if (cch) @@ -3104,7 +3137,7 @@ int UniscribeSegment::CallScriptItemize(OLECHAR * prgchDefBuf, int cchBuf, bool fComputedTextIsNfc = (stu == stuOrig); if (pfTextIsNfc) *pfTextIsNfc = fComputedTextIsNfc; - fTextEligibleForCache = fComputedTextIsNfc; + fTextIsNfc = fComputedTextIsNfc; if (cch > cchBuf) { cchBuf = cch; @@ -3259,11 +3292,8 @@ typedef struct tag_SCRIPT_STATE { if (pLayoutPassCache) { pLayoutPassCache->AnalysisCache().AddComputeMs(::GetTickCount() - dwStartMs); - if (fTextEligibleForCache) - { - pLayoutPassCache->AnalysisCache().Store(pts, ichMin, cchOrig, ws, fWsRtl, *pprgchBuf, - g_vscri.Begin(), citem); - } + pLayoutPassCache->AnalysisCache().Store(pts, ichMin, cchOrig, ws, fWsRtl, *pprgchBuf, cch, + fTextIsNfc, g_vscri.Begin(), citem); } return cch; } diff --git a/Src/views/lib/UniscribeSegment.h b/Src/views/lib/UniscribeSegment.h index 0cb9770f4b..c9f4b72fdf 100644 --- a/Src/views/lib/UniscribeSegment.h +++ b/Src/views/lib/UniscribeSegment.h @@ -30,6 +30,8 @@ typedef Vector ScrItemVec; // Hungarian vscri; typedef Vector ScrLogAttrVec; // Hungarian vsla. typedef Vector OpenTypeTagVec; // Hungarian vot. +class NfcOffsetMap; + /*---------------------------------------------------------------------------------------------- Class: UniscribeRunInfo Description: This is the block of information that is passed to all our functors. @@ -235,6 +237,7 @@ class UniscribeSegment : public ILgSegment static int OffsetInNfc(int ich, int ichBase, IVwTextSource * pts); static int OffsetInNfc(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc); + static NfcOffsetMap * CurrentNfcOffsetMap(IVwTextSource * pts); static int OffsetToOrig(int ich, int ichBase, IVwTextSource * pts); static int OffsetToOrig(int ich, int ichBase, IVwTextSource * pts, bool fTextIsNfc); From d023698a2a1252851426d762d6732eafcf9d0cf8 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Tue, 29 Sep 2026 14:17:26 -0700 Subject: [PATCH 3/3] LT-22674: Keep the last fitting offset when walking an NFC chunk TryOffsetToOrig now walks the whole chunk and records the last offset whose prefix still fits, instead of stopping at the first that does not. The oracle corpus gains a string whose marks reorder and compose, so the NFC prefix length shrinks inside the chunk. Co-Authored-By: Claude Fable 5.1 --- Src/views/Test/TestViewCaches.h | 1 + Src/views/lib/NfcOffsetMap.h | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Src/views/Test/TestViewCaches.h b/Src/views/Test/TestViewCaches.h index a8ff6f95da..a3311e3de5 100644 --- a/Src/views/Test/TestViewCaches.h +++ b/Src/views/Test/TestViewCaches.h @@ -359,6 +359,7 @@ namespace TestViews VerifyAgainstOracle(L"cafe\u0301 de\u0301ja\u0300 vu no\u0308el", "decomposed latin"); VerifyAgainstOracle(L"caf\u00E9 d\u00E9j\u00E0 vu", "precomposed latin"); VerifyAgainstOracle(L"a\u0301\u0327b a\u0327\u0301c", "non-canonical mark order"); + VerifyAgainstOracle(L"\u1e38 L\u0323\u0304 L\u0304\u0323\u0323 x L\u0304\u0323", "marks that reorder and shorten the form"); VerifyAgainstOracle(L"\u0301\u0300abc", "marks with no base"); VerifyAgainstOracle(L"\u0628\u064E\u0651 \u0644\u0651\u064E", "arabic harakat"); VerifyAgainstOracle(L"\u1112\u1161\u11AB \u1100\u1161", "hangul jamo"); diff --git a/Src/views/lib/NfcOffsetMap.h b/Src/views/lib/NfcOffsetMap.h index 59213ca77f..32eeab7330 100644 --- a/Src/views/lib/NfcOffsetMap.h +++ b/Src/views/lib/NfcOffsetMap.h @@ -98,11 +98,17 @@ class NfcOffsetMap else iHigh = iMid - 1; } - int ich = max(m_vichBoundary[iLow], ichBase); + // Prefix lengths need not grow inside a chunk: a mark that reorders ahead of another can + // compose with the base and shorten the form, so the walk keeps the last offset that + // fits. + int ichFit = max(m_vichBoundary[iLow], ichBase); int ichChunkLim = iLow + 1 < m_vichBoundary.Size() ? m_vichBoundary[iLow + 1] : m_cchText; - while (ich < ichChunkLim && NfcLengthOfPrefix(ich + 1) - cchNfcBase <= ichNfc) - ++ich; - *pichOrig = ich; + for (int ich = ichFit; ich < ichChunkLim; ++ich) + { + if (NfcLengthOfPrefix(ich + 1) - cchNfcBase <= ichNfc) + ichFit = ich + 1; + } + *pichOrig = ichFit; return true; }