From 7a48856b1bcc4e9ec3882ed2ee7a952addda679b Mon Sep 17 00:00:00 2001 From: callmeyan Date: Tue, 9 Apr 2024 23:13:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=8D=87=E7=BA=A7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/AIProofread/v17/.suo | Bin 268288 -> 262144 bytes AIProofread/Bridge.cs | 15 ++ AIProofread/Config.cs | 3 +- AIProofread/Controls/ProofreadMainControl.cs | 2 +- AIProofread/Ribbon1.Designer.cs | 2 +- AIProofread/Ribbon1.cs | 3 +- AIProofread/ThisAddIn.cs | 158 +++++++++++++++--- ...AIProofread.csproj.AssemblyReference.cache | Bin 15459 -> 15459 bytes .../AIProofread.csproj.GenerateResource.cache | Bin 1073 -> 1073 bytes AIProofread/obj/Debug/AIProofread.dll | Bin 386560 -> 391168 bytes AIProofread/obj/Debug/AIProofread.pdb | Bin 122368 -> 130560 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 10926 -> 1562 bytes util-lib/UpgradeData.cs | 47 ++++++ util-lib/util-lib.csproj | 1 + 14 files changed, 201 insertions(+), 30 deletions(-) create mode 100644 util-lib/UpgradeData.cs diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo index d7fc550942b65ba3bcc4806b5129a810cb329f01..0c1a9640372fbefbf1bb8f92086e699df39d7586 100644 GIT binary patch delta 15345 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 YBpr(}lvp;OkV<}>nw}N>zh-Lw3%@lPzyJUM delta 23468 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 + var ret = System.Windows.Forms.MessageBox.Show(upgradeData.Message,"更新提示",System.Windows.Forms.MessageBoxButtons.YesNo,System.Windows.Forms.MessageBoxIcon.Question); + if(ret == System.Windows.Forms.DialogResult.Yes) + { + OpenUrlWithOsBrowser(upgradeData.DownloadUrl); + } + } + public void noticeOtherWeb(string json, string targetWebName) { if (targetWebName != null) diff --git a/AIProofread/Config.cs b/AIProofread/Config.cs index cc1dcf7..3b4762a 100644 --- a/AIProofread/Config.cs +++ b/AIProofread/Config.cs @@ -6,11 +6,12 @@ namespace AIProofread public class Config { public static readonly string APP_NAME = "AI校对王"; + public static readonly string APP_VERSION = "1.0.0"; #if DEBUG /// /// 网页访问地址 /// - public static readonly string WEB_PATH = "https://gm-plugin.gachafun.com/"; + public static readonly string WEB_PATH = "http://192.168.10.100:5173/"; #else public static readonly string WEB_PATH = "https://gm-plugin.gachafun.com/"; #endif diff --git a/AIProofread/Controls/ProofreadMainControl.cs b/AIProofread/Controls/ProofreadMainControl.cs index 6ebf582..74f27ac 100644 --- a/AIProofread/Controls/ProofreadMainControl.cs +++ b/AIProofread/Controls/ProofreadMainControl.cs @@ -22,7 +22,7 @@ namespace AIProofread.Controls private void ProofreadMainControl_Load(object sender, EventArgs e) { - this.web.Source = new Uri(Config.WebPath("#home")); + this.web.Source = new Uri(Config.WebPath("#home?version=" + Config.APP_VERSION)); } } diff --git a/AIProofread/Ribbon1.Designer.cs b/AIProofread/Ribbon1.Designer.cs index 3705b9d..03edd2b 100644 --- a/AIProofread/Ribbon1.Designer.cs +++ b/AIProofread/Ribbon1.Designer.cs @@ -63,7 +63,6 @@ // // tabAIProofread // - this.tabAIProofread.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office; this.tabAIProofread.Groups.Add(this.group1); this.tabAIProofread.Groups.Add(this.group3); this.tabAIProofread.Groups.Add(this.group2); @@ -72,6 +71,7 @@ this.tabAIProofread.Groups.Add(this.gpLogout); this.tabAIProofread.Label = "AI校对王"; this.tabAIProofread.Name = "tabAIProofread"; + this.tabAIProofread.Position = this.Factory.RibbonPosition.AfterOfficeId("TabHelp"); // // group1 // diff --git a/AIProofread/Ribbon1.cs b/AIProofread/Ribbon1.cs index 5b462fb..67777e0 100644 --- a/AIProofread/Ribbon1.cs +++ b/AIProofread/Ribbon1.cs @@ -82,7 +82,8 @@ namespace AIProofread private void BtnUpdate_Click(object sender, RibbonControlEventArgs e) { - System.Windows.Forms.MessageBox.Show("当前插件是最新版本"); + //System.Windows.Forms.MessageBox.Show("当前插件是最新版本"); + Globals.ThisAddIn.SendMessageToWeb("upgrade",Config.APP_VERSION); } private void BtnProofreadAll_Click(object sender, RibbonControlEventArgs e) diff --git a/AIProofread/ThisAddIn.cs b/AIProofread/ThisAddIn.cs index 7d6dd4b..fb225da 100644 --- a/AIProofread/ThisAddIn.cs +++ b/AIProofread/ThisAddIn.cs @@ -8,6 +8,7 @@ using Newtonsoft.Json; using UtilLib; using System.Threading; using Microsoft.Office.Interop.Word; +using System.Linq; namespace AIProofread { @@ -31,7 +32,6 @@ namespace AIProofread /// 校对面板 /// public ProofreadMainControl proofreadPanel; - public CustomTaskPane customTaskPane; /// /// 工具栏 /// @@ -41,20 +41,99 @@ namespace AIProofread public List LoginFormList = new List(); + public Dictionary taskPanels = new Dictionary(); + private CustomTaskPane customTaskPane; + + + private void Application_WindowDeactivate(Word.Document Doc, Window Wn) + { + //HidePanel(Doc); + } + + private void Application_WindowActivate(Word.Document Doc, Window Wn) + { + //ShowPanel(Doc); + + if (!taskPanels.ContainsKey(Doc)) + { + ShowPanel(Doc); + } + HideOtherPanel(Doc); + } + + private void Application_DocumentBeforeClose(Word.Document Doc, ref bool Cancel) + { + DisposePanel(Doc); + } + + private void Application_NewDocument(Word.Document Doc) + { + ShowPanel(Doc); + } + + private void Application_DocumentOpen(Word.Document Doc) + { + ShowPanel(Doc); + } + void DisposePanel(Word.Document doc) + { + if (taskPanels.ContainsKey(doc)) + { + taskPanels[doc].Visible = false; + taskPanels[doc].Dispose(); + taskPanels.Remove(doc); + } + } + + void HideOtherPanel(Word.Document doc) + { + if (taskPanels.ContainsKey(doc) && taskPanels[doc].Visible) + { + return; + } + foreach (var key in taskPanels.Keys) + { + taskPanels[key].Visible = doc == key; + } + } + + void HidePanel(Word.Document doc) + { + if (taskPanels.ContainsKey(doc)) + { + taskPanels[doc].Visible = false; + } + } /// /// word创建面板 /// - private void CreateCustomTaskPane() + private CustomTaskPane ShowPanel(Word.Document doc) { - proofreadPanel = new ProofreadMainControl(); - customTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(proofreadPanel, AddinName); - customTaskPane.Width = MinWidth; - customTaskPane.Visible = false; - //proofreadPanel.SizeChanged += ProofreadPanel_SizeChanged; - //customTaskPane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight; + //if (!IsWPS) + //{ + // if (Application.ActiveDocument == null) return; + // if (doc == null) doc = Application.ActiveDocument; + //} + if (Application.ActiveDocument == null) return null; + if (doc == null) doc = Application.ActiveDocument; + + if (taskPanels.ContainsKey(doc)) + { + taskPanels[doc].Visible = true; + return taskPanels[doc]; + } + + //proofreadPanel = new ProofreadMainControl(); + var panel = Globals.ThisAddIn.CustomTaskPanes.Add(new ProofreadMainControl(), AddinName); + this.customTaskPane = panel; + taskPanels.Add(doc, panel); + panel.Width = MinWidth; + panel.Visible = !IsWPS; + return panel; } - public void Send(SendOrPostCallback d) { + public void Send(SendOrPostCallback d) + { FmainThreadContext.Send(d, null); } @@ -71,25 +150,33 @@ namespace AIProofread private void ThisAddIn_Startup(object sender, System.EventArgs e) { FmainThreadContext = SynchronizationContext.Current; - //Module1.CreateCTP(); // 启动地址 applicationStartupPath = System.Windows.Forms.Application.StartupPath; if (applicationStartupPath.Contains("WPS")) { IsWPS = true; } - CreateCustomTaskPane(); + // 处理文档事件 + Application.DocumentOpen += Application_DocumentOpen; + Application.DocumentBeforeClose += Application_DocumentBeforeClose; + Application.WindowActivate += Application_WindowActivate; + Application.WindowDeactivate += Application_WindowDeactivate; + (Application as ApplicationEvents4_Event).NewDocument += Application_NewDocument; + // 选区发生变化事件 this.Application.WindowSelectionChange += Application_WindowSelectionChange; } + + + private void Application_WindowSelectionChange(Word.Selection s) { - if(s.Bookmarks != null) + if (s.Bookmarks != null) { - if(s.Range.Start == s.Range.End) // 说明是点击呀 + if (s.Range.Start == s.Range.End) // 说明是点击呀 { var count = s.Bookmarks.Count; - if(s.Bookmarks.Count == 1) // 只有这一个 + if (s.Bookmarks.Count == 1) // 只有这一个 { foreach (Microsoft.Office.Interop.Word.Bookmark item in s.Bookmarks) { @@ -106,19 +193,14 @@ namespace AIProofread Bridge.bridge.SelectMarkById(-1); } - private void ThisAddIn_Shutdown(object sender, System.EventArgs e) - { - // PanelModule.DisposeCTP(); - this.proofreadPanel.Dispose(); - this.customTaskPane.Dispose(); - this.customTaskPane = null; - } + public int MyProperty { get; set; } - public void SendMessageToWeb(string msg,object data) + public void SendMessageToWeb(string msg, object data) { - this.ShowPanel(); - var json = JsonConvert.SerializeObject(new WebMessage(msg,data)); - this.proofreadPanel.web.CoreWebView2.PostWebMessageAsJson(json); + var panel = this.ShowPanel(Application.ActiveDocument); + var json = JsonConvert.SerializeObject(new WebMessage(msg, data)); + var control = (ProofreadMainControl)panel.Control; + control.web.CoreWebView2.PostWebMessageAsJson(json); } // 显示面板 @@ -138,11 +220,35 @@ namespace AIProofread public void ShowLoginForm(string action) { FormLogin frm = new FormLogin(action); - + LoginFormList.Add(frm); frm.Show(); } + void ClearPanels() + { + taskPanels.Values.ToList().ForEach(p => + { + try + { + p.Dispose(); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message + "\n" + ex.StackTrace); + Logger.Log(ex.Message + "\n" + ex.StackTrace); + } + }); + taskPanels.Clear(); + } + + private void ThisAddIn_Shutdown(object sender, System.EventArgs e) + { + // PanelModule.DisposeCTP(); + //this.proofreadPanel.Dispose(); + ClearPanels(); + } + #region VSTO generated code /// diff --git a/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache b/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache index 8a2ed3cf396ebd2a65fd4c5c22985cc62b9eac3a..34d6b8ceb6f65ed40bd516f0c6e906d6ce38b76c 100644 GIT binary patch delta 17 YcmaD{@wj3_6q{%LcZsZ%kme0RUQ-2;~3( diff --git a/AIProofread/obj/Debug/AIProofread.csproj.GenerateResource.cache b/AIProofread/obj/Debug/AIProofread.csproj.GenerateResource.cache index bd20f29528b16bf0048035c09bc4481fe7c4fd5f..70129a1808f8f84ac93cb2bfa8f53cc42fefc492 100644 GIT binary patch delta 23 ccmdnUv5{kg5(|Ih`|As~M%>|GWMlvV0BXkvG5`Po delta 23 ccmdnUv5{kg5(|I#H0Fg5{O@ouGBSVw09{4~G5`Po diff --git a/AIProofread/obj/Debug/AIProofread.dll b/AIProofread/obj/Debug/AIProofread.dll index dba262f75aaa26413fdacd049d8a80ccea76cc7c..699dbc838ccba5684b7dd5e9d52938c5192c072a 100644 GIT binary patch delta 35569 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 Hhw}db20o-? delta 31603 zcmb7t31Ade@^|$yJx69Hb0m|HiwU_V2bX{Xq7VTU4+IefPfig92Pf!?A@qc6#S9tLq8huc~_{li>R82B!Me@#@v9s(1A3o+SBo zLGqP?#aEwHIKa4&?4P~VC7Pr3All;~GA!axzn~oDvJe7NR*7_rofab+wB(I${s$p_ zns5xdO_!EGe)=S} zN9j`Y0XL7I6Y){WLCeMw4OvK}FcCj{|3hVe(_nbRBifsf<`%z(T>M*r93wFv%{k*kAORyU z0n$N;}$ZaV4x9C*FAf3L+Zf@dQ==g83g(O{YRn% zIB|}p>PeIf6eTTw3fQI|Kb57#g}uRW!WB)50uLFn;o!794yz2cW3OJ2wRcj0JiatIgH0+OX{hy)1geF8}6YKq5{<%bV-U#Slfk}S@C}}cnu)O z84c7B9aMephA?P9Gh-J(SnsJs?~t~U~P^t~3CT{Gw?7!%*g*ehxA#PyI9;W%>D z6E+el5W>#HeSC2Rji58=ik$&gPS_oE3pqYIwaHUZbSBHY3B-pW8#_x-SI`|hEA_Rf zVFcX#8y#vz!$y1z>&xowH=uf5@lV+*?w!wV_b%)RIvV`sihoS0X*s1wehg+ulUO3LD|PVCcFgq+&Qf7`6(L zU|uLc6p8=J8pOvws&5H;-34P0D&c})LBl9m$i{b2DXkT{;@q?umj*f+;i6!nrMEcP z$tsiti$cYrlJ*Uh{zCWiu& zQ8kChSN!bM5?`@tGrg{cT6;o#6jo@`Yim}NDq8$(Xo+Jg!GB4M#IqgbcotNt0nI8h zEF(RAc2&C#kI|548DMGC;~qMm_0<*kaL_+d(I*vSm|g2VYOGiqGveo<<($52!4E01 zbAfo__w#UV2w2zn`KinN1;;QcegQz(QGZUz5gW%vEE^ahx+^{&m@7U3FoscSgq=Yn zUIi=xYiGnJre5?{^_TgBP<0X*U6)}7bR3MpS(zD-Etm{m|3QZi9Rgc97{P1-cB(SB z!Su8Fd6=)-&k;GXRy638Ar-$6wY?6X!>^Ai7#r4|ZY#gsA$L%>ik^^1(u@a|mCJ@h zi^ouJOjt*$mP9!jj5PA!hP+7qkij=EeyS9}UkjJ2GG9AfmM)K9rZ4V2+VF0wgA+f;1-=0=X1} zCpWr)Wk-Vn*IQhBzLW@Ol?Mc zdR-S)Yf0@2Ma*j3KU8;ox}<8cUg!YTy_`k45-Q@exT*cn*tS%~da|gh+f`s_xQ9V+ z;)?bTUwMo4Qj=kQQhZ~A?8ke z22deFN3|^<^VD|M!W@W@$|J9sIUGacYF>AGi$M@3hU4x{|NN3!;n4% z9ql?{{$?+XV0wgdFEC^97(L8(^a*p4r|aT9`R>ax;1x`N&ISxcduvx`ZR`5e%*P1Z z65d;?gyBV@wm_Y6G@NMdWxqoko~9%;=3u?u4$NC$?6Ue2MPGd6bjRTzBM#SK+vKuZ z|8P&f%W56IN9#J~&3JyfX>IDPMi-$`MC-8Zh)bJxYdQ79oNcYKKe;g(TG(tg0DqAi zXIH=+xk*3(Eoua}DT4f&FW9HX3&k~$@5y&|G_EF6Zsz@dh>iGMbTPgI$}p<2j5_+> z4XtVemKWxz@xNFs%o(uF(H9=+xIjqXa$pI2GOX7Rf@dTzqC_Lru!F8l?D$8r`+ z3d7inw6T)J4sybZk5EIFE<65dbKXjulcPv4uz5uayiibQ&V$C52oel)4<=N-u0L+~ zxDcNY4%J;su|ZH;tv0hzbOoGP7>NyJ5++IqO#}fPOt6VVJO`DlG@~%K0CfW(bp_Ue zbaFe=01=zoj>e>d>oKiijVZV@5?=^q=^0%o7|b(2?)H+Y2MW8K@JDbX2N5jnhU<(l zCMu?2iN`(zt0_M5t3i;ZNhaesGTnpQP{W-?YfS|@Mb9s^^n#ChDJSBsAMJGg$w%(Q z9WXF<4e0S}0eA*$=xWUuc4J1+fu`{J?Z(`OJKmbQp;H&LQ(F_AuD{4yM<24*QG4|) zOsqs}_vEO~Nc=jq78?p@^H94Uh_Aj2ZX0h9BQR~nhJc4@E9i(Fk5c?bFfey$vBfBK zeH$Ak?O+5;QhFa{q`DWC4=7?AI?S6g^ZP=YwF2lNy=}+sX<7npIYvXkh~JdDuBell z;`R+=4*aFtMmn%{3_E%Ez-D5)o*r^pcJggd{3Z}(t>sX8f}Vz66f|PDfC}cV%v{RV za-6{&+%)kvLSof)B=_nzu%NyODK5OhHnUF~lhB&<`5N@u)vnLhu|QSgA$Zk30H{i= zNlhv4YP#7GYC-IFG$0vv)9=S5$sMla)l{cvk%z_N$Um|9cK{?da+;jQr5))KZo-#= z0M8~~W!jz0-Or`Fu&}|aG0a*>U`3J&M@X^dz^lm_!%*{hU5PItYi&Q`_kcpK#CKdf zt@PKlQY*J@krOm*9j$VFrPPYwYhCWMF8A}rtUJ<51GNRN{YnJ1DK`Vz+~Q$TaHIT@A|H_+sDQwoy7K?J33vcHEQhbY2SvGy>BKx%d;%8Cwm2h{euJ^%ziOG8daH-a8vOFi@MBVC_E$ z+sY?d*g8oY=z?+lqpGnrAjfg<=V?Kf>uCb|>S;l8WC%|)p|T^PDvMxB9dx^Woti9y zNW`)TqO~@QAQEtWdmXr!XisR!B1jcP$ZRiyIA;hVA~|9ASK95IC9#gX7wt&k{7!pB zB)Tx6nH?2hj~ehX`^YMrYBP5}&ERgP%iN)Kne#PWW|Qo4Y=fmwbU%Y~LHyY)%5x~& zjcq)PEX{7@Q3iuVfh8^`94;=_98MO)4kwF^S!B5pia+1hSmI|SYkU*Wa%q2T7Hc_M z;#(|1ag#;noXI99I_Xkhs&k!!_zPAgMq*fIjQG|zLZXJnw`CD}TJ^2=Ed?*OvDJgd zSg2@v2_)XVv5{;-rWHnb&Cj&Lgv7|KR)la)mX%ih7u%Gfk+b3d_N_=*tUmJ~NcWk^ ziRoF|n3=JLkr?LTj5SP1G-p{OgawDyf6OIyR_#L6sf%*o@Ii$$?}J#z;+HJu;$E;)<_Oo*6`p?Ta!iRA)ZZ6?8-8d>tu{% zBz7J0FJmQB5+7w*DTFT$Q(zm(To{Q3y?p@LgiI@p#IWzmG{S_0!;wiwvsoy)OtD>I zDX?2%1g(te*ourh%N0ClrTfg}L`9Y|W@fBmgf~JNYbwxx98I*D)661?V-8bbTf2^=*1&SChCeOM;hy#KtTM?o;CRED0u< ziQR1?i32Fdwo3~M#Xxz7lw&XBVo%b45ejTPjct4dSnO3H$s8WxrvRA={dKF%(`bev zbE?h2q++&lWahCsJis$m7>U~q9%~tf3_P2`nU`TmcG?UpTDDn|5f&p7+X?eb`|+KZ zh~RuaiZl3}nV;X)VgK<4cfsC(jDU>7GIP42F>CvY9TnC!zhIN^=;s)|@w? zAj$GlsgNIJK%pQ7@we$1U~;B+LwnLScoV6Pgo%}4qLwTYwFWEJu#3$)mgaN^U(1WXCph0& zT!co%2eJ1-OM;IbOzf{Hx1a~m$S~0pxx?oyI4Ev_)`HkX_=xv>llZz5QBY$afSu?E z!KM#UQstQ_(rOB)6_!$i4`g5jA2}iCD9Vo4;-7(o?V`u%_b7K)i+{l?= zgG!FG-*uJ%*N}r4uT@*h1+t-^#tMXwoaZB!e(6&Sw3cZ*AX z8Dus;HbEMtpF3X6O9g3q(?@99dJ1XjXvSor%fnW~e%5-d9Y@YDD~|2s3Z<+ZgM`Y( zt4$BXOoZSlXfon^xst)>J8=I!*li!=cNdH%^J8v#Ka-h;OfZ^+^odA*uS&wVaEhr- zpMuuH`c%1RZ|ToPO;1clz!R78)bcm3g~zmW#YLQ3r@|olQDX=Sx3Uwng`Fu23=@^$ z)%upBSywE{^&^$^N=ssoN&FkD+>Zwuzbyc*oISwx_`kB`zLRqNdy)7ChP0wnd3lLD z+2IUSeg^GnVWk=7MrJZl<3BKywaR0{!wvkAj&8HiYW`$t(lXO3$9|ILrI*$#5m>P? zUk*qe>R!-w0JK~FMDLP}QN5Fzeny?E+Fqi-kU@=OxQ2O5yBdtOuVIalDyea7MmB=# zK;&+-=>oVR$vm3FP@bWPeJY{1e8Y>@24?DZp~U;}$IcKZp2>4m{132VBMA0DdC5&CrLq^1#7-bY=J|8_AiDD<7K`=9Z5L!LP%(2LZHp4U?l_GE2 z6>9$53by>w|D*iK{~&KV>tG2dY}z8bfvNwY!he!C|3~>dEqQDX|9>vB4O;g9dWH>6sQ15b@9ki{Cr2+qVX z!-kDsRdE&6C=}4RxQ1fpH78!cj)bCmak&mw+`+&|HTDiGccw=7?rb(NPm4K0&vAN; zC7&-U|sp}~-&pye6Z!q;{7b-jJvfNRhZ zhS6L%q{r^ynpCgW^O2Q{?L@OCuF?5uvsXZixq-wy0N8optV^DA__V@U4%58=R5wA5 z`MAL6h2oM(%r6XCtwG`KK(GmY&AdGI91OwBQ=9pswQS^z-ts(O94(tp;%k1(vwWG& zl6aTO1&`I8k4?rf;3}Wu%C_u&zSdoZh%|Gp#9#zJhSm(LbdQ|Wag}x_bxg2!E!^$g zw5=K)ufSOTQJVswwy;i1b3DjWYAhrdX{;a~ZbS0od2L86ALV$&CSWk?#qokRb|lhN z$O4_(NQqG}JYLjBkiBj6NZ8X<%(5kItVkRO`Mk`sby%kO=j(y-G9h*$+B^tgP-9bP z5Moh<&ttKXEf;nNwXrTjjaA@c_p?$ciOblLmOVwWsy14@TFTf)-3u>U+bBG%Pn#2u zNjVa$IC5r1pXq&4KI&1_S||EE>|{bFIT`7YoJ>kQm6e=Kh+d-- zNh-BVPN|+wPDZTcG=Dccvy-#E+V;uG`r=k{8i|c;P}M`AXS5~ls*Xu3YTGC6Rmhyv&{}3zi>>8os<9^|sOj4q?6-qWn4&Xt+78sgoc1zb z@>{m^Wj51HOkWcYR%}B*NM2dB)%?vvPibLZSO$4~pOXoxnpu;W))raw>5iclz3oGL4?>GwE<$@0>&3vv9>btS z6I7{kC=n}?SYLth%4Zab7H+sJtIiszs3z-e7k?(S#lJ5%Xgw4}5ZjGZZpdn` zL;RVMi9aKqbL0KQA!1x6_{=if1)nJ$;?1OX(>W8YO+i%a5O1lTjyEHR$Gc;=<)Kh| zuVL>hxMq4#E^3Qlhel)81_%2J>|O2A*}tuq9rqRd!rB+`U{BdqJccH4VCTY8YZP>I z)_eMHhHv{0Vi&8;tHD*9pI|d&LnGfCu*mVF(L{VGrd@2?i>+@ISfVz60GmMdoqmIL zjIh+i8uTeIFOt`Ux!3fxJc)Ml=J=&eF2@FP6EMZ&#a9s;aqT)-jZ}H$s{*R4%@V~#681oz8=i)ft4v^2DF_3 zZMK)==VCA9N$i71X2D)Po+8K$WtBmtgHopxM>$+r>m)&qj+_;43{uw8UKEn6Uw4i1<9V{rK11HpNT zF9?p@gm7?t;+AV9ILt(F_#(kEt>{SAbab|{0=1bhEiZ66uSH1BY^&PLr2iZo(S+dq znPt;faBz@aND%@`1RQzM2}%U0GV?aSF~;wwZ;ZDy(! zu54b1NLnnlnQzpxrb4`I%AUn}dS1GdtZq*~#69R}c@bqw{4C9ISzc?Fmyy(F!KWi> zVkaX7VyE)FOM7Tfk(Dyy0r7q&N%A;J+UT*9ICYQ^jlENs4vExrejsW2>pJu~N?+lF z*_=023Qro0_mZ61o_c&pCo_BWdRqPh^V0dj<+l953nkfumv?unv*mTZAP0Dx7g7-P zT#3vqG@>>$Ge@1xm#o1nHK9xf?`tw()#leA)A9-cJji9W`DH-awyDibZ%Y!q@?;I* z!7_kFox5cxS4tbA!H|F$asWM7o0*C9;Y(J6aLtgZ+2hx0(aMllSy`I}R+=1^3K7Vm>L6g{8SA#Eh3-h(kqD-AAy0gd?%Q4v8^o`89nYE`YB}=%A7RWAw;o@H zuk1Z_e9f_^97$9$hiE;nzcipcYGz{UrBj;V6k0oxsD}r%(WB^->GB3QRh%$-*bwmk z1$;zds_2Aj6SEZc!3Vx0H=>HgNxm?LY^8B1WB<=j-z4XdRygjlK4DzZs(ddI8BH2K zn7=u@MHVAiQdGwkp~BC-I3VC3gMJ7MDmUnvAfQPTa(|8H((_%I@qF%(VuMx%7+x=M zMUcyb1kMmxDfEYP%c0^+Kf@V985k(WcSk}smlt|ydt{EwPmjcUJ3JJsoZ~X+wZh8_ z4LZlqu(*=pH;}|T;+^yP@;5Il`dQSiR)#x5^r2!@8FUKD5vqxuP|-}El@c|RD?;R_ z10}s3aatQ?qwj%?K|UYrc{`VT<_!EA_0WYeHsXZB-i|+rq=#-OW>X4ESn>@&OCD)@ z`ErahsJw{!$3i}X{?eH#!^@bmrHUzIpstM0uO9`2ru%=58gvDGX3%}nJ3uM-TwWNV zjfDp)4XV;s*O$?vil=f6`ndDAnn5q-Twd6PZu9-KQyJadxwxR3497n^Rnu9e4C5sx zUvdi=eo?{jXF!97qJc8%mOHz17g~wR)%1NmL&JMbWgXQ9U(4x2H~6kWlb+%Pj2Iha z_-fq;p=vs}_?pUUY6di@YyJnJGMeu%E-0fVxy1z@(i_+ZY8m@rYuO?beO+7fOi?$= zFMU5;M(cg|6-DT;l?N&#c>R<6^rM$Wr*yu&u#BE5D=vtTTl%^;z#%IPGW=Sy;ROj_ zSjsyjC-Ob)p`l^c@Fe`?CvSCcM>kp!eLvidZUHp?bTLQ~y11U3JXCX_vW$+d{xy08 zU0OS^q=?>EI0P3etm63C<%Mr5i87A*PcSG#KA2KQd#gA!J4#vRu_`vSGH+B>8J$+vo1>=uiJFy{5814JhNt9V}*p-l!i^Tt-_F6jYWWbbb-jKaXC!T1WOb!7N(;F zTM9Lelt%*vnFWlAZ9hlp8!t@f$xvg4ZCM?aPPYeA900q0Zx6qapc%)Y~4h zc-sUUUuj|6X$5~r>q5KYE5dwHv6vRNvmLLjHk((MmyOlhN?#Q%1KbvGmtfIi3;Rg0 zo2o2qFEDIR8f@mr!aNYNn17dER7S_SMxqyA3O3iv*d4&w7Z-{z9<#C2#n8v-Tj7<8 zp^wo)(h%)|NZCeu3_3i(3a}(zuB;@@AZ>8mjOBT$_CU^& zv{vB#0w?GXKxR_?!_fJY^MM?Wzv}^1co!AUOn$5}+zD7teQF-hDW}DrCsAQ{bR8;e z)Sd+#Q~i97Mmfe-zzdY^fFE>X_);yy=W1UCT%7X;;9XvZ=M*t~vlG+J0)`KiGW4sE zH>tXak>^FxJz*{%$qc%!n#=wDucDVvJKhC6wRAV&Gj)5hx}BHvK+eeI$9XqnDt;{Q z0Z@h%ybGA`-3=Hi`V@xlcRq{qRkdHRwu%FQ&sKa7`bFV4RSl{9GrDblQg{fLf(FeS zq~*mfz^@9ufN@_CaJ4IfCqUIuG%|SxoIf%-K;W@3OrpXYot6*%3Dx2 z&rDt_$koDlUEpk?{4C{br0mwXv405VHlY-Nk`BQQ-X7rI;b9mkXV_25_dB_KWBakyHa6IKrPoQf3AT{B)EIa%>k}J`3KqrP1=ri@VcwNC_8~BQm1mov3$g1{ z_>C_7XkyF}xOuR!mlT)hB&RonX&%$d_ctv0lJcYb8gGbBkj=?L%E=30=WvE#x6)T- zi@kZY%*IaWyx5CfkS+Oi=K$fGjNU3%w2+Dn1Dl0P8+)fV0PG?g>sB4WJ^sBm)?9a+ zx0s%@v5)i#_&!mOYD-JGqYtocg0)h>vBFzQZwYoQ-Q{@D+nMt4It;hhJ%W1&GP~L6 zy%B7YsIQGJ0@j5l+1Lw_2~Zz z*xJGXcwgJtFF4$(qU9!zE!djNB75+d{yiIe4tMu4`Wkn%%xj4}?yaR0y9t#oVN^WGlNiS-{% zh|-=^DNIXgPns#%Lf7=X2{?tFZDUs;zCCGyjU9;|9zoaJ*uc5~uv;xmboQd<87zQf znI|*YR&Q_mya$f7*qWBe%ibetdrvmzRvI0dfft}2#K9k9Ya(xW`xCzRCfF^JPq0z% zYh%MI8QYuT&A=NRJ9}G_3+vwS9^KAsM>B(xbZgY-{wsL=V=`*`KK2fzBp(BaFa8GX zP75RKnrRTNvawAe#C<-d9d zw=-r4ea<`+%o%ltZwNK;J72*1gcm78+KCROp~ABQGnA&;lD~v!(9m|0$5XHVtfiGk z8o9pXX^3D8X>&<|??n2+#$K;AuuFD}1I$+1h#RS4)JxD-dN9AtH;j(6v9ExgOe1Y< z9k5gBA{%Q3b{fsIvE9H%(h?iH4A>}IZeuqA8%=N6*ek%!qJIds(3CV8ON9g2?roIo z&!@38La{=V!TFJb0gM+IX+ivqV6|7P& zrq2Z1M$2$>e~CROv`VlqA@50SXv+0w;b7Bu302zYzQPlMjj*xZ^}~JB=pq~Yto{sO zH``eEs&jnPZKd->>2%s@^X@Mj2VUXHRugCWE(F%y#wPlv0qbjHn@XE}=B0Fzjh086 ze3#N~HueOVm(q3{`>>X=A8hOaFJrM&tR{{%7#m|_&xIMg+Qx?X8C!2-cXwv&a~tbZ z1k9wuQ!O=LN)spASgk0%(#DP~=86y6*sIdSdp7o{D0K~IEw{RM*35!rXThv#9fk^K z%^sJs7$s>*^r}vCASv^IlIKAEYTrzod296A;1b^z8SGc%Prj>Ykf_<_dZ)6X!Rv)8DgrCaLBK7Hy@+jgy=v;ieov z)-2FU=h{4;1?JKdBbm3*HP!ioV=jGeV{?GbqterbCz&vx24%1SP7N*=td%-fpX6LX ztv0qC?fsEf@$>X_gNx`Bo5>AcL+72*rt}(`ZDH6%Fz+eBTInXJxrSb|d7oe=y^cN* z%<9B-lsB5SSX0^cbpDxbIR*uDOf9A ziF%9aX2Gm_H_mUl zP0`0}-aPy!B$wxiHc4Mu&IGz8t;N^feJ&-wXMi>a$%)mglnf?K+@6u#jVAt-ZbG!!7@D7k(}Xr&P2n@XG-kf!<2}r> zOhw+q+?i223l;Cm@J7J2Htg(LB?~*kHI44hNcMLrSy-@ki*I>`S5*6F-wF%Eukb3& zS8;@%VSX99JdMHbBhdSm8Qz87*L-c*Oz&G+7`yx4w4`|SzBDGjxIcq&ciS+N`}=^! zM1!xvi4SH(t15T&4J(}U28~dlv#=!dwO+1$2#ftysYr|N};}#E+6XDS(GLq+2 zn!`041(QRuI>Y4N+ZcFj(8QA&-UukQG4Q&e-kJ>WZv4tG8v}1M>a9)l90T0%s5S=P znHrw|tV=U}Lqk9L+OXlFgTS(P{p-nlHVf}l%5i+Yo}%Yk*f4Jmux!ZL#Mx`_AdF~pGe&9eoKdn@uz0S7sn|WOBD?YFwzuKzM zwV^QiiY72>17a)+Z0+RR`;&tvIQ-rR&UCr z`8JoPy^>A&{jzy@{C>ZJC4Xj^4JvG4X!ZNH!y-Lf@*rCqo2%M^utHGCZ^Gku@FA5H znj%p=9A>-MD!&ZXDs2JO>7`L)3)ey1uH zIc|vn$9l722|b73gmNVgRPI!|&}JN^EXHBSHmU($htCms^3ofhKKQt46Ep?^`TS=S z9vs&K@*xAmegYc>4r6HIu?;iE3LFoZPgA9QnZQ{BcL5ert+FW^rJjHWjTbmorp~Df zPnow1Wi?Z!6!KfpdT7Eqzf0FR~>fX9(rV|oxUiUTuTU@71*DhE`k7H~NA1PoxK z$J|B4OW+cEH8g=5wc{EtMETn21i(qyLM)+Euvu6_A2_E$vL+`$!?a5843zooZV~Yw zV5By%zL~~rxt_U@?24_%RIOL-&9ua%)mXq65wF`*wIAwk1{{H1*i`K;9B3|~Cp%4` z%QR>GQas$dul^Cr6N9|8*}(EaHCT`GQ2sOEv7tw(RXe}-RhUTmFh%>SdN;zx9Vij` zO3_d$wJK?KG^#X^nZiq(y{R&E5|Hw`)08brF1B;~=xt?`vP3(rBtVOlGyE4Qi!H+%c$X{V@T{eu!pnZ6wxD`1$~RPz zwn0h73_$kZBvCy{g3?dnZPf;CyysGFhr&ls?596yjoSK}R&5e@+r;TXP2s&jdK5ma ztxziSc4+&waP?_$;QE?>g3j)mCSI9D{oIGNY2t&K(oCavP2mJOfKYo6Yw_Xp}IM``Gqn#JYQ!Q-KUi66RQ{L z<@yl~H|Ra}F?F}-{q#yNMlB$QlfF2QA@`%7&RODCmSN-6Nj-$)Rk!lAcLL28bLWe> z8?@fInVc`?y49|peA=N<-t&5+{%!qV^aJqjF8zRsbjzm$%5IQ`;TM9x2RO2H58%|2 zPXOHof7gfUKj4V#fWlBw_c*@RN9vos-|LF{W!10xb<#gYj2Nc#@N=u5RR;0=kHQ2pGMPp$f<=nK z-5>rI6jk6J<3~uoRAU;{iVNl`8$OS6tIBY^z()Pd;zN!`{c=3;-=S|R;A(sb^gay5 ziM#SzeP3e(OgR=Xw`P>F3uV0OtH16XXY5e;aN&KGa;DMyYAzlVuFx8bOyhulTG0aI zN4+SD{NJZW@}?m*_^e@{`a#X5n&Mbhv%+9_KPaEoJOV|mbcgZ}&l4zf#_SUx1RZSp z28}agA01K3^d1#kjj`Gz{+Eq?)DYciY|swnziZSwHbwWK+*I@lAcwoBP|OY5@X-H( zbV9v?$}dL0G5Ue=Z==z1bk(nbuefyQ4&{20dAc&kInuEize{h2^4H=*=LU_Z?H$OE z7w~KM*k>Cw&WsIuH*dXjykoWdDCY+K*igOmfXa_teuQtL#C|#p8cK`KbzWwou>cz0 z;)*+GId&Ah%%;HV9m;}w9x#^!Dl)zs9o+8?T5j|Tr=oF_8#KNds>IB(9*|drCGbg}gOQ{EZPw4^pfzk(XuhJjz6J;Ra=gJVke<;HMzgC6= z{!1AJ_=7SA@E7GgKvE|F>gp6gmpTp5t6l~eP_F>YQ=0(`)uf3_iMjwVs$K(Fson?} zQ*Q=rP;Uq9q22}9TU`m*SA7t0fchxlAoWSWA?iB76V>McPf@o3j!<6$JVX5p;23o$ z;JNDCfaBD^0!~st0=!851aO9Wt;=-LOqJtwrOI)dt#VY7DhFl0`UQlpR{sfjo%$`{ zV)X~Wo7Gy zF~AC1=kI3XMc?f}deQrUN7F}ugN1T39YA@M(9aP#k#cjp;qLE5#fLE|O|Yy0Vq z;6y1;M7b(7RntsmX<(j^=4t;&e+bRfCepir-=e}IO;fh!t`zP{?PvVb+?C+E0Gay` zxZ%K7;cnG(lq14hq4f6f4$zkd_6vPKC_jb25J^pEBQ!m%{2@=%CsHfmw`4AMxpl5k zA?ymUAIYl#`zb(frdGIvg*zDZkMaiVZ0KO&4g>euz(nCr1lOHEQD;LZ3U?~F+XC~1 zJ5SG1dgag4_tVY!i$H%hu#)MfYbC0ElfP1wu9RvIf&ETkt5n+xZb@V-%sL*B4cYejb=8+=-%kB4o6JiNc)%QAA#cB^`vTl& z1Nf6097`KYL=6s&W=Jm$Rvi^?g$>!q6~e6rcWGdd&<7j%9j1$2!$8^=7$>BuC~Lua zQeK3zH@H&D522hN+#=;I1`nPcpwt8#oji8NThPtg#=Dt2$jjw%0yq139BuaPrmeYq zrM%b2wf6dUn;?;&+2m&u`B^9`l&DamLK!5KK|&cMlyO2CCzNqQNeU$?l%!CW3uQUV z;lO4oZ9?u7R^Vm0(4~Y3UGLJ?FD8h`*1)6e0AX&%}S`G+z0WQb86Pof+ zAPN``j01c!kOW*B*enz(;&N2rAc0B1X9LRxZU)>I*ej5VB{Kw$1AHf7F307gz-EDa z0hb1-L>dDO2L=Hy4U7}G9PsnNUcdu^Xenp)IKWo}Nr9UIQMZg69t8MmU>qR20f^=S zwP3U}=hHaA{NQrHvfy45mzp3&8IFrS!afifE$4ELvc*%2Prb6$(-qh5%8QO5m`bN&{6P6zPn<5;CxS)kmYY*fBceo)R+?@^yu|E7AhTCJaU zhL+H-)mCe}G><+_U#4%+x9Mj)?sIH(eC{YUx)?E|n{m8xigAuH)tF^mYpgRmJ4ZSv zn$8xd;W`?x;VV>zLomX7cKmIWJKVF$37Q|LR{Q_Gw`N zNNz(uV6UoTz^!Fbz(4q^xm=3hl}c3+hHIs~ua?V?co`nYze$xghZ&yeXSlL6!+u2! z4~S$}k?CK|lwBgZT4dg;Il_+vEISKUfl^18YGov$5wpujD#jXI-P&_+BvP7+FXNXyw zV{F#a&|JR@4_8zK79iFtEkvXh`Xiu9SL2%~D$=k3@EXKlrE3v= z70)J10k22&Rk{K3SLsGW#E+w-U zE_dPNPQ`BiD8LtSMyJvaY{gW11-~>-rPuJbwn{tk9xomkU~{I>8-OZC#ZZ*r22|-C zIsxT(0abbr?-3~UKA=jw@y51FAIdA_djN5Wj<>c|-0+M9{Fp}Zf$4r41>{q_qpi|s zbQa(jI1g0m|FE-D=pTS8{yNKffM3%EfZxz~z;EGBmA>QGE$H8P2|~r+NSX@xGj@n7 z9ir)|OUiTvLsx464Yd}Blpd6OV=G>ZE(cIH`%nnT?FBa$tSz_;kBff6-AjYgs5B{6 z>QU-&b+lTc{h;;HAJ$jvE=P&uB*&A^7cnvsIR1W-f_F~vyHrT&qg>Sq!&f;ihV7k57qffm(;p2z<`x&|Gll%n8#@7(b)u1wDJD z&Yf41(?&QVb;Z0y$~k}0%G>8FYwlYRP*VFA=BL&y?3Qx>aY$6Orm`u!;u*7MOm1I!*d)-_{Bdz-CH3Qy6>DOtIgT}t-S(rJdhCwl zQr>0jQ*SN%YijkK*QTzzYgMYx-GkQ5yE|7&-Lt$gb#QrQs?UnbHJ7azrln54uj`uE z?^~p-x%7ecYO3eMZ>RowS7c4EM^05zH?3N-rs2^8%9=5c-=?nl_v+C~>f$wbr<`kV zNZq~m{=ow;qM7(NgPQPGUw8bQf+5-!_%!?xxhWXBmtwh^f}uSTuP}|L3qfVdM2bVM zJ1JdpH2n42!Zr6kHCW9HkGkO0)8Cl*{qXJ=(v&AApO|QvqNM)4uJ@Xw*GJVg-#s%# z^W;=O57(WX8vXo3fk$3?X-CnASDlo4(d~*ZFV#|kP1WWSBdRE&G{ zYWl};32&p{n;)942EC~bo3N`%eYUBGndijUj`M@bMXEn^8Lrp!)yZPG=0r(YVY~zF zN())U>(w+-YUojjz#g%&b%(e3?)~&{3`z8$HhQ(xxg0W%_=^83TMlFx{tZ>#9>o@cB_isUPTr@4$renm&{Od(g-3CnN@pZA6pe~WFGAhEx<)NXd2oqGJ z1aSo+P!cFXB>n!9PEJb(?K~Jtei%yLEApY_KGFRkJX=!eG(ySwY&493ND^GZ90GHl z4zMkbIvTt@TjzYXlI3x+)XneYbiyR5rnV_WoBPmEAwpB?cazR854P@ut)>1_E!g@+ zYQqc1o!j~)>~)Is{H1=WE&lbVF-smbzc4I@2br87YW)r#u5#bEh5^)g( zc7Ws%=oaW>IJZ`Y>)fs$WKn2tPslr5DD>e%hBmjKO`F>f-BE(mMDyHZc-)s1T1cZU zorjtjY?cbe;tfsRxGmqT4YjsnsH6TxPM#N9har1l)G=7@u|Y(-FA2^aDXioYKVM5i zbI%Jp-AGnD1^9{_z-&{(y&fa#TW94&b$F{h)H>GhclS`#GR!ke{5l5g4BkrUPGq{n zV+;ME zxtEE|c(}eK)H)f&5`U<5Jl8&jJ2m%m{72Q0**YE7r;G2W^LTezp`Rt%T6|6?Mx-m4 zdC4OH- z&N85~Bs5l>(Sk-wWIYJYeM*dd%i%E*;I~Bm+zpocE%~^GW9NQeVQ zfnP>;Xzq)-q#>Jjun3Qt9h_T&Srgv|d*Txvo*t^ob9JCh@p-Z}W1=-fb6`d3$>9pn+f1VR#C1d?tzftF{be*?c>(=z&K2$SzsYaoW ziSSd+DD|s`%H>}HS``Kk25tsE%?M56LM?-1fc19TRj7Fg^7tUia z9@r`PT*k;O%?MtE&otfW6-=(xjbL&;1H2#&e=^wU=DAK>$c!zhIRc+b<~^D^<(2D{ zPgC!|Qfme+cP+36XKTKWG1XgWt-~zVDp~SdM`IZ27~F##gnR@ zWyH-u&__ma5zaCpt+hyNg><#RRai2-JSe;>#A#q$8i!nuM> zX8I|P7(}LPIE7;(b~kuxVYn=dm~gX@p8#Y_n6gaZe4(tB^3?)Yt$F^nV-@Ad)UU7a zJPNOo;0G_3SU)Jp?E+JN!C$Zx7H)*_0}AFitDvum?7CP@#oyYl%ucnwS+i#IJ6-jq zO=mhb%==*XA3xZw;G^QB;iIqnV7KFga6|gp>-#H<5;J;zjhG!=a&KNMh;QFSNCtbgm7dfZmUU^DKjMsfAtJ$dT`%jGUqs@UUux{} z*HdTJ%E*N4`ur#Jg<5?h8@+Kpr~OA08h`#sL`?rE{mYKXM~BV}EI#>{zxsa8Z}m%; zoy8BUl?i>)ly~53|E>|eVM4FB<|KXMZ5sFW;Tt}j`b&a$c+R_jy0On&BKJaapO~~I z!|&+({jJY+?{cniNkp0|A9w4BuLeIe==&FX@9gyBLhEu+;ny`3j$lEb`e|4C9LVc8aO~v{BbEsXeuHwAX-t|h9#UNJqwE|}cZ+XI19_AQgISKaN^lbd*Za{i@# zU~+fAB=uN6>pM&w2JN-|Q*KqK?8#HQt1ox$oHAAUHY0LFuANbFx9>@UH|5%MAL&p> zxWR-{J|w=a=oWQTE(Y+gu0Gjb#qa8W*Qr{*XAr#;1%Vvzof2*D+&9Qx_w|mbdRCfW zswUqaJ@1~F?TBr0l3SK8oTK9Hzt8h$2RZeu8vZNFvbuUKs~%}yHIm8bfNiy~o6qm9 zp0Q`lZ{>RyO`qo4&&_XK{HYO>Uoenje-`U|EhS1g*OvQ7ax@VEgYE zwYS`Vz3(~HF3htxtm**cgZrEKo`hfrTaWMeBnY&$GnO~>23oqcpSi1I`6T6gjTqh1{_>$->i2f`iYC4zFm|_e^WCu` z!S_1nXIi@XN?drps64o&r9Gm$wFe!`tGju2wtJ^>^MIh&^pLThm0H-qm+au1ZY_ zYowA%lZKVgtaKVm+CRmv)+s8*epWZ~H>)d7D1MUW_c?K&>qO$d*G*#kn>cCUDEs7< zM7!g|asE5QxYs!;MnC+7w?774wY`sYS2sA;mpzi;!+CsB^`r~<#lB#b1jz67u49k< zPN}Q*khR^TaBgf+R#T@V*gMu%#PmY`=Q^%wx;mf|?e6RRUWY@MZDB83x5(QYnK5?V z^_gmnU9=%HHV?h4pi+#QVo% zecOgw{>x!8;^#^By!9!1X^s*luWz{C+ZQFnZ0}>a{$UBfR+4NNKbE4B?a_}l;qSc1 zGW{!!L_^a#gqvW${aCzzZCF|_*(BSSAG?7ZI&I8VKid;GPFG`geZH}_Qh%~9Zu+Mh zw(HN2U$1=CU7Pd4$bhA}GJp7vy8|EN#~Zl&ef zL$-E7ta@w8%B=~$HAv3Mwv)GJ_~-nlWDB20Y(uvF24Wk2Q!L&d{8R(q!-&30-cRND zU;Rzd6gzTTg6|PT&t%(;w`KUx{HCaAjkI4x{87YJj{VNI9KXs5R@;A;$`vnrI>EOV z@y0p!+^2K=jsHL53C|?>)*;?K$IgEy$KU-o#Z&Afh^|MpEXV%hnGAo~{~=njJ;ApD z(SV%1yY?fuU-@NGo&4`lvqzW)!uDVk!> zd@jMa3DI*o_R8ln{OA4;(WcKQ_#Q_zD%bA(e1<*1I5O#~5l;*gXLR+Y z*_~b;nlwq~GmiEyIDeVDeC_OQuil*0pr*@i5f;llQaZj`!;ywZ@6*lquz&1cU#oT7a8 z>cgc~txYYq4%3o^mRgk4X`Z1}=J1N~(@M&mjHG!cp!X6aX@YVx>4*xlbx^`H++;mU zDodQnUi5{>Pb;sqU%ixLFFRPPrJ@Bbm7vN!^AaqXwuAl?87-<%=7RG#83Vi7{@;O&PfiZ$Qxr831CBkhvk-vcy)3TlWxUpH>vjaA6{#dwB1NbcEKYR$)D`HM{Z57ALH_{Cv-FKnHwWz}+%7%QCdiPi@6AZN|Iv!HG&-ytNgfyFZ&Pe8!8xVE^}NN5H-9_oO}$DE zi|G9#8H^2jdW`Kq)`%IQ@K_W64tK(%|B&dF(I&>OK9-o;p8B3iZ|Dx^4@S4xC>=M( z{v28Hh#31U7RT6!->etyba?Tl7(4aNl!>BX0ojkos%TP)aZ&}+6i}$6O?3D*{IlT% zkiP-JI!0bHl=l6V{FI6rmGGn}(z-GBrZ=T1hu>_{CS0zPC44KRdpo*6VqhF1>B4lw zB7M?ZDM{fe%cqn%mP$>>*aO~5M0@)2c;}juArIcXw-Sp)=WOg1opZx_Y>$2?C3OLbPf${cy_um# znodj;;aal(A6mn|ADQFGya;c4n2fk320OAMUpjT#wDQtQr{iBD%~8@Ufxj*+jd)!x z`{#EO>oz6!2y`o)9YG0Oos73Tz8h0_1Tlx88;N~66q|lBUXRLF+~+tRVJ~{OY{*eF zk~I(OBH0wKC(bEFv5NnDOvNDP_^yVCmQiL=rmHk+V;s4iSWL0VxmqqN}_v)YH1o0q6|MmviM|5>N>JZ zAiG!KOvF1So1n|rwr8Cb{g0eX;qUH~O&sI;BQ3o(lO7||(%Hm=YTMtR)Jb{FJ94ye z!TFm@rA)I+E?jS)d9S{Gr6R$Oc|Rsq`gI|FG0KXzVy#S;D$&k89Jz{KYhQjZ#owA( z$)OD>7Pqxi-%pI%Tto6zR*`+zgYiY3jZ7C%hVF0w_HXIkR#(o&s$vjlwz`41tymtA zl}8VI@%y<^pBr7x?8EoQ7xp4f^6L%Ca3H!wXCKa`3j2ahz>0;PGx#n^yHjM zE*=C^5)T2zA#fgwW?4f)>Q!z{IZB6v($j7NrLJxUnFg&9_QF#wJZTa3a~G2R_@$$4 z6o?~QqwTY&5>-3<$5Sao#+bMgFx<+qoQsuZU^-Y1HU^~>V(oa&r6wkVZNWRhcHo_M z`3LRPRD1mgDTQ~zlS1GpjxI?nwJ7IeM z2K`d*W4OyF6<9e;`YRM`FEhJiNHs#jYLT8Z30JtkAt^>k^rx86ix@9 z;GCAUHrty%9PeQ<*LkQ)*5^j4m{jr1ZA813(#Z-Iei;0p>;WI8q`yI|l=2UtG~rRO z4tNZdIq6M%@kfoK;;8`Xq*3;!S@Hh2O`3N=X{LAe*_%|nPi$`Bv%mc)Iq9U4c+W_D z05&4}w4MHOit1?3`#8n_v61-%6gxk)pZz#d^>^YvH*sH>xIao<)F@*Gb2nCeX=MHc zN_%`|UnczoJL;2^s=t`HbD*ENZ$O4E>pa*Rl(vx0@>kAf__zS}6FxW?{2NG5cjTn% zFL5qae;LHNWnc>|0sjtGgIB-};P>Em%Npq<+yUbsFm{6f1do6}fUko;g71SrfuDi@ z0x7hUF$HoEV;wzYYF#BBUDnU`&!60CxhAG6i`ZD0p@ak7swb9 zSPC`=mx1}0UxIDHOJF)-!UXDp9YD7)_qFU5pI`Od8)Z+KlAPTMKFO`lU@X`rB-bX?=kZ}{ zk$v)ul&WqIlwn{3C`x5m9?rQ8 zNH>8w;LV_P=@E9_GnwjUyVIGJD%#XZI|`J6={B%7SPI4&6kVcI<`v;L18g7?_PXYa3aSDeaOeZsUlLZ9I!a@sm9r0 z4R9_P0phhzwG!zRc^;Sve?BO))B>0(=Hs37!H)?jz9V{9}-334yP`)u6cO8c;gD$o&Fp&Mivv2q=C0 zQBeB$S_XgsBZDJIN4M4!K}WYXfOKpJ>Bvqz{nXkBpMGj>0_krKza#iK=ky=z3GhyE zGf2H#TR>{XdJ>e*F9ubETREpN);6ii=LtLw?f{zFT~hoKjtI#)Xv!Qj+i_mfCD~MH+RUc{%^@k=w3!sgV z+&1|Lx&*~BY0Hh0KF}Cw0kp1`Rch@gAonURL6LO7ET}6q2AT=UJ&dQIBhY7%+;K>t zdlo=_pb3z4*LBc~&g|`Lg z|FSRswF~DwWK7;DMsN&t!TDQ=OiV53v7O`@d~7Fuc$0nkLP|CRR6wj?N_Q^H8-niG z-##>^i!>HpNU;}9iSgFuEYnWCnAr1OrvwbCaO7a&vO+!YEfgghgal>EerW8u z+Gbb3AKt8yN~8N2z#OlYC6kDJ2+9D}+%CKtkEGq}YEIR5DoYl7&w{j^^&BWumJBYk zxO<*+nX-0(W5AtY2`KS0M>G34b2PJ$GgIvbXT#qMt^mnAu+_-NlleZ*gQF>PMjh)A z46#%cz5yP#)zA0%n#MB?#a9>4U%4)3fKv)|$dnm87=e9%Zs+zdt7G>`UO-3TM+K^5E(orts^h>tbgdC4%sIH33_i&mDfV#dJxZm=v?SsHhSyP z29jUfuv;bNGcCKz{CquNEO$yTU5cm@*N^a7Dh5=6SFqLHb0URz4OAh+qv0)p!y(~eRP{`Jsh?W;?=)Xq>UBT|JLBJty#qRkTkhPK zsVnNM!S<1VZ*Iw|+qVX*#o(JEk(NR6k0$&x7_5NfgwgcqFJJgpki}DuyRPx5H180! zoYT!bDpQ@)13c<|?~QQ2*Uf6ET=l&kQbQ&BZ%lOCR{DYDmdc&^-fDZU^am~{$qVNuIHz>6SBaj*!l4MhFZE8Zx&hA5 z!WjVvLwqVX>U(2BJ$<>Rir15Tsx?xZe5ysvEl5Q$%t-s`v&&VYzSXOm6PsRBCDtKb z=opElzrOBQQ}rUcx~6L4yA@VeeZ8-y%J*j(B~nUB(@6hV(^|VOU zjl{bnv2Qf2@%r;fRqDNs;6u7+lg$7DdD;|t zSInB)YDCmNBQsE!)K-71VrAys_>=L0{vUWBWb6x^2kBw~h2!;>TtLhZWP^0MKnIZV zBycOpL=~6@GMon%gM-0GK^!u$6~qk#dqJEpa16xd0-t~*SV9N>LI7V1`~uQAff!cU zG;2UMA<}Sxd{Bzr1uOykgJZ!ma2$9aI38RI-U&VeP6D3>CxfqmQ^4ckRPbZ40=x`X za^W3_jBpk;fh2Gi5gFjUU_0Z1e+NDaZUEPU&x4PF z`@xOi+u$bf3-EF9Z{QQ4JbT^@CiobMz+A9u8-Z>Fo(69Lp8@4j@^)|@D0AX+a3{DH zd;#1J?g9^hFM{uYyTMPvm%zV+`@jfX^cAo!_$rtI9s=8eN5DQcssGmr+ydhmSPs4k z-UYq|-VZW_2G)RYgHM3(fX{>Pg8RV};8E}-_yPDHcouvg{1!X~{sevi){Nw~85j?K z2&P3gVhv6p55~t}5%>w%6Z{k$peM$w8T!k3m8MGe{1UI0sj5TqEVZF4P(lJXHlRMx z7-%-M3VIPb4qbpE>eA_Oal zsH~{yLYEio@&?0WUf5Ks?(=c`$LdzN=cfit0{K5soEWBvrce)P6f_fB0X+pBfByb|8LGC@FJ`F(U6H9GlwZ%tRE_ki zEY(2ofKk^Uwnm#qQ^|}Pp$B9$YkifeD!m=hruFD7mFdy7b*&s`g$BoB^!6+jnN%k% zZQ0aP=Rp@EvQ&9hApc^Mi*9CEVIlJw1B|?Ekm+dU=-=~ z*{ZwudhEDW|2dmd-KtmTs?5+zKVBYfHmc#j%HX_!aWaLp^Wv^$4cm&>cjd5rDbg?J zsO!DV;l9`Ok2%c7MY>b2Y7)~4&T*4QZ?bW~`*W4wb39Hj$)nA(a#V~y!E-`=C|AY! zFNA5A@+OF-DfaB&=b^7z9t*9`=o_v}^00Qe-qKuU%2UQjRad9xpc_qbp4a{Qr{?Is znx{IFtf;x_;_E`P%sP5*bCu!Gq+X=<8k!|eJ?CMiY+6wDq{RAsb5+Yf#YjoBNoCe! zxtHSX2rbe>@>v!h(R1?EKb6)qS^&4|$pz|t^_ng&RNbT85-V%5y>nr_-dL#4so{GT zx1`cNnRWJ@Zlye`?I?U}CbRP}xfIP+>bowuz% z*^bWJ9?nXK;}`MZAk!3sM(XwL@!B!%Rh%l(ceSVR6NQzlD&#E1?pht8&$U-EQ8R0~ zUCnu#qT`AfapviwB9?6{_2MEmzU@~O;wqGYFXcf!pixjIv=rJ5?S)Q2UqM%)xCXol z@rhc~QKk7_!nB3?I-{d%=mELveZaQ|-qw7lEHCNUPLyRYoD=!FZ70<&LQ>e5)+Oi_ zom7nPWzN3N*N+pUUebR?*t-u_ZF|Uy+x4W*j6tt(+M$IkPaEpZomHH_LyKR#ODp|) zXFPtNj_tx=gb_Ji)LhTjeEoD6wIu39zFPzJN{O;|_I90oato`PCI<(l+ zxmewy^0OLnNeK;uCO~rMb|bVG`UtuNMW*5nP>+U(b;OC2bPH|`G#O?}T62si-<`jmZ?VbMuDZMVXt9y2R!4n_I>Fbmv1$E26U)j6 zRZb{(?@c(Z{S^7-kxtSC<>Us$8TeW7)8OB0(#zB$4UH+GspZb{Sx#$Fw|4LO&HG7t zXi1B)-15Zv0xMKth17dX)0$ry8^b+?YXjfza2wsi&AmI{DO^hVIuy!5cMcs>Nc34S zk!)>r61gsXj!XuVM&yGs!E0KQgp99{TQtasfxYZ`cjxvu=6hHISZaPZPvCSt<(XIC zGjF6Tm2Zk+v5b|2NjG#%#iEr>OjQr1eOD|l$PtC2zJp0P+a#1bU%{gSnN3aflf6{0 zw#ESG{*A}nzX|q)uUHDp!FoJ&+(p_in(D^ARsKY|4qbta#DCG$HALF-IQ*sXS)y6B zo4I_c4rxp54OK_!)EQHx_e+|uNVAAEMVxmDOC!zK#4da{F||Ii3!q#$1B`^ss?@vH zL|^Q!hE@d&lLpHZ=jp2gn>>M&zIho+{y*uN_k&xjLFZ44LXgAMkrQU^;@f7_TjR?s zZyzvg@U*EF<t^V={Zw*l8u5!DiLaXx^t3dm9-8SApX$=b6u}wN6_dW0A5`B%#(9qJ zE;xT@qQ0e3Wrf{9wa2W;wnKGN)2bnL(pbsUTvutZ4dr2v9L5ivFr%7pMuuL}NA(KT zNl?CNtRrG&x#0Z07x}pvI)_(kLh`{bztqV036sAM`6n~<7m;dU@)Z+5AS`}1@!w`> zPk-uIWTg^1n~`7w%OyFaJi%iQGS_G7JNm1B|0VyKk>^4zba3;-cSENB;(y7HGR{#D zl9tU4mTzpPzHxx+$JN;S0V*Z=s1XyF3?2c*R%Yt=2B>Z!GlH%pkF(?mm!F6Hs!ZK^ zU|2DOZ7q+xL&+==?}_Bn$8q1e?Rh1X6ibF!sLVY$fFZExCIb879jsp zrk*>9>uR|cb)RV^UoxWUAwg#km+x4n{%%lMjR!qs3|9eigv&pG>hqa;++aK;*rGxC z6GpzHo6Pz9JLIp+(x=1agC5Ys*c@J!i;(Y~B`eTmJ!Xh12xSs1?_QHAyu6D^)Hh4- z8xkt7yk6l+OR%5YTF*0zOW_+;XMfP#?=XzP$J(gp+{iM1tKN2_%IsMH$6Y3>P}_=O zA}L29OH}D{tw6bn8oZH8zqQYH;Gtdv5goLnf&shnUDj}z~%;Z$f1 zD82g-#Gx}ss@N)NPcb4BycOj#{EY&0z}vuFgHp>PN2@q|YRkC^Ol?_XkQ)t_fTVHa zCxRj`{xBB4TmSB0>9%Bjj7?}uLyD`(DkIgg-p{lk0<0Yzey}u?ICEEp;#ll_Eh$H> zH1jwxye`LcE_FEpl)A(e$D!^3T{C`NcamE$m#fITOGIV8Bp2*eQ%NPcFrUifdZ$p* z+2ovg%-L1i$nYDR^A;cl58%p`lMKS80>#VUUG@a~HfGxR!HqEpY{L zsdb!-ORWbPI;;(#6k{Ve2HXTL1s@0Zf=_^7ft$fN%z6@(?JQeCw-TiAL-oIgs>G^p z1Z7KXFQ^}M8+1#^XxZZCE`wEQ$t(@$loou}1fK(?2x78y&F486ccKj((}iEi`A*JT zf-iv5D|Sgs4j>=`gFzZAK)-fwz~5-_b`xJ>&haki#(V|12l=@m<#sk7i5^8`V-(4Fk zXPwL`s~u-Vlc2K|mlkoh;!1xyM%pwG!vcBWTcA`czGjT^uV%C#taJu~8LARdcFg@*8rq9T5 zyODF3tneR3!;hfk`%@@oN+?wy_;XFFEH~pC$}MsPm_W1_lwRip-HiK?alep?1;jmR zRP>Q4lMfg~^cAP4j|QaQ(gLK+B}Fgj9_LZK7rtbk4kZyUt<)IoVz4X7pb+S-)dgj(Za0ef(S8t7qRTI&`y(!+xDj$72@9#)jKMyj?RR*E3Yn~|!4hh^a0k=!3+ zc?Txz&qi|7jJ4a6QJkdR$_cBpcjTn(R@K$R(#ttHBqyw^Jfp~n^^&7-61!DAtb<6~ zO;$Zf-ccoc;zp%%lMz}9ZHD$k=OBhpD-Y@cRYFUl7op?O6)2_=H$kAT&=_bYv;ukx zIs|N_z!fNgYRrRrK%<~aXesm*bO`zkx&qawiVL8@ z&;)2UvGiU@<0WE?yLi?NTEUu&0j8SR6H*l>%t#!s29&rs~_;&VT?5P-|8mKzrcfsQi z$lcRgZzxd%c~*b1gxj%4VQpybKG3Qh%RN^5z3*6ScME_-$~BRUE0ZAdI6syrTK7mE z{L3^?uez$3hPbcX9mh*$VRsu|>ORS5-nBNgc0P%brWjUQ?`d47I;e)HD8f0&B4HNP z6&e9mK&vvUiyv4sPDNI2q!V2AIa{5{k6FIHH~v<^1y~7cbXz zQQp22{w-)1EHwP;+U|K9zl+~9^hx~B6a}oZ%1y*K^e~Bt!WhB2^lL#sy;JbnIxc48 zZ*s0oMqAR{^EtSM@XPrlSZoRsWeTE<;UAjy5$9Q{0R?MY@>omdI*W!#$VbQw-^3(pN{j=Y37V`bxpb->MtuMl4Hr@vJFni7Dyl zX)b@KDd7PcRTO`KlMC)PC7WytGS3vGxydNo7(UBX{T$Pj^QZ~^*?85Xs>Iasj|Q8Y zy4zxkc+%j{24xeYxW8L@?Q?%ixXm^>ayTue>r;%S~&W{;GKR5Cp&`9ifrY?Qn78-cH*c$=~G ztg$@XX&W}Cm?qg|EWT(mZf^M7jA3(7B6>C%{M@wpHe<+o($6qWb=lO!_a@y8Q`0}nHK`=5 zHj3(|yXO~8n|(~A#J_Axe%RF1HdDgMCjHx{gnm=PW~PJ(jI$M*D)$>->tys)-GXw- z;1M%&EHfouZAv`D#7{O&^RZF9+mvvNDd84VqQxeI!=^wzO@aPw^ffmHsq5xb!{QP6 z$VsYU)yKx0y{06)O-UXx-N^IR%NA{w!g)c;2UGWGSls{jiSp`m(3Ng65-c$lanaa6!&Jy{;~Jl*yJ}_` zxx=OH08a;*uTZt6>AzKxOYCu@P9NO5arfOmE|=V&oUJ>&s4|&V|S-C*MK1= z!=9!b!%aC38v~Uwe0{K`&H2kzg49Ej=@W-dOYU|mjvoBIVJtKimmbW>l;F?CWr~6= zX*xwS6Ftii z&AB`ra56AB%Va#uq#vEG`%R^990(30CO+M`)?FEH`eo*Pb#T}*1zl(glx@QEh{Ym#HBfx^IjEWMMpQa zB%Zey^e+{v?yzW&)m75>fhRA8kasE=i@O(ArD~F(kw-@cqCp~ z5s{uaE3Rv#mA1l)&=c-b4XQR$^NuF!URG1lj%0)t+1TOIKE0 z0CiAT($w@sD5Z!;xT&=yGEH@LloM_BiA)Q4A}pmOHllt6;*oVWI@uCyr8$BsdS0=o zZ(~x46_JiD0YXMBO|JMGyEdg!`baB6^0ic)y}Eb?+qo)c zsE&2zL2Ck(2IWERp&oiC@zF;Ko`TLq>+fc$4#|5NbB;hKpwFOl&=tsv(Vg#Bonz(Y zuaBUwpi6r3-Ku-z{dDi6&?)E)bODNBD3bTS8bDdK^y#}*o#^NCN-7)-)u)Om%0xI+GEWSytnW?f>E1ffw zr#!9oO*2(1)kZIwsakqUTI+)|RleRkSH z9|G-l{ydmP`i^-dEGpD%=Ap2trG9UoYN?Mdz?8W8+$t(+tvk#o%c3^=j`?I&)K+hp zk10j%^l1m%>st5Ad6DjQzi24Y^PTgtdY^-(`n&tFrA%im0Lt}9fpL2I0)$Hn^qUK$ z?h5t49c-yvE>!uAN?5fdTg|9-+640a`a5X4YN1Ms4hkHqp{FcV$wh}4^F3BU+X9Zl z0=W_8D#(&yKt9RR^KN!A^(mQBHmQ6XO6ytKP6k=}=Y=X!ZPp(zR83N4vrtG&OSw7c zYDtqZ(>`%9Q5QVGhEnG=m>JdvGh3yHJfIr&TP4!L=+=^#tA!B_e*dZCr#hb)3fbWD zjqPo&6~4l!_dTGJlV#6(NMGA)@o6>nx5Tr5vG{kCVU5dPYYEHr7}kOwt76*J((>uk2e@BB3tHvInNqa7mdgSs zP2VXKE4#BxhF%d?5;xAI33DF#fRWRU!oIdfKKijG%A4v&nnXp{s_QrlLXR#9sQ6k= zFj$pI_nBL~^x^`USdQwT$|O z`hjYM+mF>RRAXWLQvG!`(q%e%rITo&z&JgBrHt1F`Xx^FEjE^3S&5}3y0J|bWA#XZ zQoYh9|1$lKoRw?eDqx)Myh^puZ?7WF%vH==t@H*Ml=>ZkHu~SIC_!7Dvl?ipZxU#) z=dYF$wAIf!*iL`4nt5StdtGOZV3F>(hC+-j(f6*Q5M#&cm)1BczXq!C?;JBmiZk+X z>i^tT8*EQk*7du#jEg}X9a&xdFCD=hvSbnJx*}T@Ydo_py(Hfla_GO51h<-oZ-u?4 z$dxz7&~q}3o~}$xzcwbg`8Cw@s+^g~6*LOyML`97|4Tv85ZUv3%>Y- zcdQk@%k^3sH|_?LC~O#)U97Rze{63Jt2Q^@q+@swPH~m`Sw^pzKOQ$VA7pX!$~3sDWIb$ti4%kEp4aXvR``5i6*x9bS-LC7g59&h6;@!2$Ig(_-v@?t=^~sT=R+-;O0gFkMsT$XM$?wm^oZbK_0AR@QZ) zgkz#~uZNi-$2ba%KY%xH#|OkRdAjD;$f9M zB#jv~ls;_umv218hHnTAGun+aHsQp<(X|f~X{=t+M~`1Hdr-#McV4i z+%j!S$)ut3g~AyXVd>m>lM9|2Z2l~!SN1BER!*H3%ERRuSsb)D=+-M7VVTAFobAMW z@uF*nxp5{@*y7^{Nuw+JtHj2^F~ng7%YfSjd)=g3`s+tjM)D-4@=z_3Nw7xF)Y2J` zs>YqpgvW=ur(DTM9R$sDzVsSqq7$$ED^AfaSniR^`<(q7A(O{kJcjO0689HG` zCGTu7j9&8|H_oI9bI%B#ZtYp8Qaz<@_33r0v!}G3uD4#M=JvYRdYPJwoQuQ_DkiDB z)o^(a>(V_v(JLQW8I`~VD&b+e*#`AkbOCp|oFiVpvq6pYZdcr5&}s{B$=vW5^I{i$ z-(#v&b>8#G$J8H{x_-~Ao8ZC)z!#* z7cmw;;R?!Ert;jNe4O-KC#ZUA^(=Do6&<$}Ub%stsH>kbsCr|I*7u zJchwxpd-V}Wj{+qi9RbZ(LJkh&b;!TSCm%IQNQ!_kmpFa5>88p<2^#~eSMZlucpzD zI6+>JJB%DJ$bBy2@`BuAS7tc<@I5z}N!O`%#rNs~&m$+jrgILi1S=0if<#(1d;mS4ppy1WIFC(Or&W;huA8cNrJo} zih#uNL73ZKP|4mY$h6cYFOd00f;II?f^7HQ`2xk0t-ka~iIm;DnQl(`b;rlrK44-ukQFrBZmaMZWW*zkNZ~^U8L-x7;-HPKRrf zSKiQwbh)yDtcx3zJzlllpf4j7lx|{Vb$5fZsVd41%1$Xhx*!FU9Z!AS;I{+^ zxWVf)rC}X`8we)4!LbAj+~7)rrfODQ3$7t(l0A7X_!7Z*H`y_Q>2C1+wcvGGY`}53 zy$KqUmqX?R0a|lN1v%4|<0fN^#L3zXZi`_Kmj%zGlZgyDma&vQ6s%Ewx_!3g` zYaYC#`Vu<&61>h04kH-p21gN0cZ2d92PP=LZD4}(n+7H*zhz*8Dkl__-!3rR?$?6y zTLp$IzfoX<^4kO^D8ETyg7RAgCK#0)3d(N}814-O8FKe>ljo*fJ$Ek!lV3FIpfAJn zZXwv#4a(0BJ?#Yf4Iurk2(D-1>gLAEZvZ9gl9x&I4}uMyAivwAZ+lrK^TR#*UeLQR zpZQy#6sfHQvz?%aS4iKH*snt@Z|xS+PeqWIM0xg!Q@_k@6kfycybsCO3#2uQ_n}AL z$gl4Pa!igS9kpLIN|9gMl1C_V{K65$28^@a_p3HF8dIaQ_N!KjlFlQavaqf) zrFQjlPrD|cEzyVftN42I^@_()BXkK`Ky*EyKEGczZ2lL-+C}nhQe;L$-=k?TGV+4k z6-d<8gZ~dykKR*wK;7!I&)giVkH4cKHobiaTUQKPbKt2uR~~uj=$-~g)mO1~dJ#pBvUr4LQ6JXxIl9hibuc*r7ue3i zVK!OHm|&=Wu8 zfk%T6RfD>J<@^G45&9PT8+2*UvJch!9`Am_2Xy%-ysP{Nf^X<$pYWl9jvuOmojn?; cs2||{2>rB2ol?K3J#nYhrCIH2ITq3GcJl~DvA&fpB{`<{ENo6P(_zIWl|S9R*tsZ&*_PF3G~ zy92lG2pqX%X?D~PmSyb>;}6%>{b^O-Rm(idDzM)l_LbTf7VE3l#ro|xDgW)aD*ILR zmugvfY_)Fx#oJfCM|hn!O=q5Laewa*bNjCD_30P?{B8b*0shS;4=uj_`7=@P4*z&> z(JHkpwtMQ{J^Rag|F!luf4}@m^Ri;^n!EZwYs_m&i}!rqpl6e=1v5o%Ut;&j)N2p7 z+Wh9G@}%c_Ju;--d)waFR&~telZ#({_Uo3rr(}HnsCt4sgYyWaWagGX<4-}0x- zNVV_MzfM24GiJ;BCHJ)d=d6*Xj>6pTVX3R0jmtdx*8bPd{3&kxfsU^~b20kCkMH`+ z--j&xq1l1|nG)t$xG%4JeClIc&c67`*`D#SM{8vb7(3{ps;&1-N-=L--}B>+dpYki6<<+EazAIqcMT7P9192vImdN4tx8`&?fumk6op_ zMV958XlIVA=*%V+(Fg#)08wtvEdYLPvDLMOF)|K14`l}{s*m2GED`h#yZ$^2}4*6P+Zgd42b zmWoJRozyWRKN|!1S5u!WR5AN|O+H`Uw;s{1Ca2dJp|uKX;ZVkZq^TTj+Tyd;fFuJjydHXaDXe zrYPSt2)>eIXU$LXzLMk4P-DGziu%O9XF=_HXs%PvI3+no|!uTOaSMRDG zvb!&g^*u{IF;_1sQ$1@)S#aEkVIXRcEgb2g{*sDByKqsq=Z747?4nto#N7Q?7B%;3s*(@(<_x!b4rG+ddAxmd-mJj)tyw2P^U^($NGA~KVDN7 zhhIz%j#hwnpW1(F^^;2NxBETaDdM=JRaqI%60!F@Jt?v?@&{z;(ul5DuHx)YYyF-B zHS~MER15p5wU2wdAQ5NRTvyK@7jxTO#H~2GS+hO=CW}OH();_Z##($3~k>T{xc7lCeI9>&fN$~((w~Y18gY)-H`=u?7a{itfoV_ak z^QcUvo9W<9!w<%QEIVpzH#OJ3cWYDM6I9R0vX^Y_2;M5Ubdhv}{|fZvm16v+TreS^j~)E7{n$5V1$H>^Bj6 zN|o#GgX^vn>0) z9l8F`{y*X+&&B$dApT31J?pt#|1bX^@!02MeSbncrJmjB`CNZWz26-(`y`@E5$#aV z{`~nYe~15v=%k&oz6wN#)w37w%<>QW9Z|Kbv2Ph-v+LQ-ccuGh|BhJ2wix@!uG&5u z(akiztC4^6?}{eb(|5=EmLvLlJ$u>iEdT5O57CSlVtp$Ry$Y>n*pv2zi@(o0pJ*@NlkLIZkL_9L!EdilO4My*Rir&> zZ*325yJT<22-i!Mm8Oe|*d4#yTM*&8V~EvuUqOWHdLhj#xk_3SE7#eRBA^xD@?Bq^^Q_1cJpUpoJTrmJUFbsEH{EV{@_u#A zp8Q&jm+jy8q`mIsWYyfh^NnT+B~@Kf(HgvxkU4A*dE>#vv!=ANXVj+jyw`sJje8OU zW@J)>HNj+xFM93vZzd+6r*!Inq&8VJ1O}xmHHwfr8zi( z46(-B-$Esst$i2JN0D3N4URS3DUH=*u8z}cJe!Q zsvkgOArexWeuw>sx3la??}V#r_9O4qeyS}j#pv!(YKQlt|6Sq_;o_fd|H!^ ziV5L%8jVKS?M@}xh3|&hgHP4Ahk-Ls#V3pDQm-wIjH1H3rk->)(!Tz7TtWdFTT*%# zr5{w%8im$4`_j8&&A0E?;cvugv8mzdxa1P*EMPTO!*~O=mkbCTOTmmi; z8pw&m$2!)sYLVG>I;mOZ(k>H9oDd}TiuM9jiS`bxl3+hsSJeE)(VlQ7DYm<>Y^%qFF=d@5PADs#P$pUFURzYor=HXa z$_0Z}lsV3pAu|`51IQE@T_Ph+6lMF*#wBk@B7np~I72E)NT`mozkEODUTI5C{xgx{ zbA~m!l9YHY4jr1DF=eIWVLA3iBR?Iwhy096b(m)>O83iGb?nn;M<)biI=C8Ea_o9^ z-DmecmvrxC6oexor9LJ~1|zsAnTJrr!zWIBczp4cheeYZT$`YLHjWrWg@{V^q<(c4 za~)OPzUch@URG7b?oV9BkjTO$5LbR`*HkT@P1PA0Q8?m|6!zZ z2^>MY&_t~h)araTHbV5^gm8X&zizVF6h>cU-F;)~$ogSyk!bgUPPlBwqVn#PL&uxi z-+$2Go_jtvhmwG_l?UR|Rz4U(poy~Duvb@g?m$e3zuG==KFNOhdSpXs|LPCF2E;wv zAT6!&5ix-GS?xgF%xVv|1UuL@FVt7>+eH_W^uS^jnaSKbl|>0=2V}fEgSfrb1;oLv zuJ%(G>P5Iav$9gOf4GV%>Pey4*$b43?G4I~(FdgK*4>~e?+eP9^#j?5#90Dt7gm4U z|6yZQ(=Pfj$$uX_(RDw_5LyH6@gK&GZ-9r&Jrc27E+*Mp>ZBYub!rTzM&&LHAunCv zlXD;q90sO?GCtCk;pAmpO2Fn|DcAxWXQw<3Z6WI%I4m zFIG+jr6-fYM&ML?+F$B<>@Yc$=KK++RA#E2VR^(snZ|nmF^%i(FaMI%>QN&-6O`5S z7|51u%>r=`s~qeB2KfH~I2#-R&as<)RL?6PX{*@Zf0R@{55Bbe1Sl(4OqNM`k~|C4 znh%QU!k5i|0eP8}geHl%Ure*n_NGT-{O=gqcR?}jv_1RNxQHl*SRB-qdC$oF*~pv~8O6Ee z)1;gaOxbx*=HUY9F6!nXZ;(4eId5oBiyidUT;HO{#D6=9?`x*I`;6<<} z_yx#vvo3-CL6I8>eo0;?;VbZQ@UI{pKu5oQ6^EATo}g>)`j4|3mV2&5Mt!bi3kWQaOBQw*L?4r|bqO zs|h*B6>oyA$o~v>lDc%J8~88sxSI8E@Lup2a4`5Q$m(|FMuNYQ9|bZ$0hW=azYk)FGf3#vn*MN~=7|CD^`4lh~Yz5W?yMndA9$*}J4;T+V2vRpN9!vx$ zfHFdpz}n;|gXjz_2GJRK3akTe1XICn;}`p!(d(T6ex<$fEnc912e%d!7T7A zupW2~%m)7r=76_A89|T7#RyRJM1#5TYk~Da*Xw&&_VzDsdD=wS6DB138^Nc#)fkKd z^Xzk%;<#)0?WLshrlza_tV)^a6dB3O!fy^rVZvzek zMScX>mb?U}cHj)KJ-7($0OBT9twIu;VHDXfw|O?Cio{XTVjDESRRf*9#}y>A6y3F$_^h_wQTaZs@%a2 zJPfV?>AkfQoC9i5*19x=4r>*8bXaS^7r>{%J>Xh!AGjWTX)uWmB#wX^!K2_(@Gqb! z`W)Ou{tNIKP-4Iq@G`g+{2F`~OlOU612e(xU@o}BKKJ#%Ra5)S-$s;+ACy!hE<>xJ zm!Y%J4Ja~_bq{riMniIjTm|icPDAq9ox_tA54D8)LX)8R(01rJbP2i%)nfCfP0 zp!v|o>Q;a2IEjy-n@}{%DjO<<218}ga%d;?HgpNHSaR`@eDduDjfP|yu7wUjr=u&1 zYAw5x>hmg|q!rj%SJJ&N6%Zlh(cS*FS4OL3LWl1M#)qMBZtjSrP5NiZYo~n|<9VrI zfAjAqDBooi-a_Gh%dVz+i5kA)cIMUkYPj9+>eJr(_OVW`U9IZqw%TB%?*JUZAE+-+ZaV{T!2beS#1sDLU z5y(V49>w@Od5Pdyf=J!9JIEQiAS1WIRb zfa!z_juVbXPP)!{iGWF0TBBir-So$_%vb~ppkB~8XfCuJIu3mVU4z2yFGtkh+jq2D zb|cj{Oa_$)bT@K6M^bgy&Z?0exUt1s3_H@!`Kf~%W}lcAW6%64oO1h#pH^~1I{6>Z zM5WTd&d^|Jx~ni;ExVcO>rKteHSMgMDPH;fE03ZZ+tY6jR!Ka8iit?%GouVyl70PV z61=FNr+N^d^YcHvOHsAORW(p8yOrwm;816p*jcyIJ!hKi@AFEdD)#i>*2)ti9-bBXDhBBlT~%)RItGWiw$_78g|z{cokJGBoU=BPmz`r1I1I$01I3_} z%SN$ia_i`iQ=N3E=?QoVPhW`oYGs_Ll?x_4FeL1bSzJMkrS6JIy0 z7~P?o@~fS?Uo{oykHEX6MCMEud2Q~>c2jrj6V+4;Z$GMb*1uF!o!}Hjs=D5L;0(}X zA|1{y;q-^|n7-h05~ASX;l4$>C`yT*1;V)(&T73kO5FwL7vbCoXQ$4ruIl@D8VhP+ z0R~vfy12UPfZ(R;s8`#j#Pdz8VetU6{{~ss}bJ8 zB-`pPeyn=XSt*4J!}UhL3iosf*Y8EEIK84wb^2e=xHr_&?Q5z;omWF;tDOf2)nHCk zXFWSc-K_@ba{`a)v{KxXjyLCY6ZXPJzZ3hkq?*&JKYkV({PKQ{^OLyqw9vRB#!X z53-F1I)cl={@@C57`PIg4z2VNBa1;1va5H!bdheI1M}ro&lGG?|~b^KZCo#v*01{ z9QY>qKKMTP0Vq!e&VzpkFMv0}55cf-%lZrG53j?nOd=V^$6zk_3D_L`6l|}@B&lht zOn;iB>K^peRtr^m?HEppP+w>gG#}am9f3ZAu0heU8~~y2&@gB&v=%x7ori8ha)&z) z>JE*ANc`Uc`|v=tAvh0JxZT8gUa@x4IUo6}HdrK%L~oQ9QltS!Dh6m4v1 zuRocn3)0kDA5-T$(@=kyM*Mt1C!`a6nML2%4RyzK)gIPtVeN~klZoc2)zuQhrWZthDQ<7kGPN>WrTSQRzJZy}>t7ReaW-bN zfPBT7dSN!5o51lkNq>`#@d4Q5GPNg1*t$y&+sJHKi!${Lhvi6ql!GKo*tarM|L96K z%SDpa?0Yd&kIi)|@5)t49vYRqewTCU49!)qPuNF)qXujtp>fb$Xk&au(VUfyRI0B9 z20dEc?sG0t7dBFn>d}L}8!2AjiPl3Jt2kgtP5JjnU=8LD{~ zN;Q1~6LfUGijUGpjT{!ddM|tlHAvIwU8;p%m#;c`ThVL{{dK;o=dXd8p=J@Rp_7}? zj~eFj(=7t?T&zx_sHG8=j=)BAaubd)E%c!#s*SfbI%nvgo3J&v(CwOXKxhN!ab4O} zHCB)7s3xkOK3kx|^zo)D(*H~)UDBHvu`fyAY|5)wEp%o9XDdF8_#$<20Y*kL2$hYD zWt5YY(wmy9I?2=NUl>895H&N6pqNOcwPN-40>{Kw%~S_pJ2Zao*Rz_bEcLlwfM$6h ztY0qRIKNg`)mNIS>i*0cZd*YWHFZRDM@7Hps=j(uKh|9RGs2xLWu3IIUy9L7Td2=e z4L!c4`asRlMXgk)h{v7&DQkhfcV3L%*h+n)A`dQT%@jm@?%1fT3a9S1HtL(^FXL(F zq3@u`1a8bhouR?dOlUduGISQY28AaQ+7c^@eq7m}6Kx*d^6Sj@s;M`hWV{|iQm3|8 zVJcOx5O!18_4FA@7LaVLy&ah2#yYcudf3+tPRr`fdM?oCIPCl=AzjP3+0THqKs%Tu$#!S+4WSk-7QJzE9sflfl7LARjT+C*Nc7gPex zgf`aRTa>Gu2_KGy?R91^rgH?zE_z5W71yu5d1t4#tS7EsE;xTn5bK@hcEjp4rL?%L zw9~YyWfR8_D4zOo-{J|SNXbLjGEnaNNZsCczZ*o%Uh0w_Ttzil*+&(~18C&&tq!);zjT7VbU|L87$ANWe6i@3sW>`R&61O(Z@a0e{k!FJSbx>9xl|4F zSt=4yPv8ru{hp?Md7vj32bIt@3i;@C{ZJp3pa<_((dAChEFxAk(jpn1?v8}?xEK6L z_>18e8NMuiu`jh!=p8X}n)BdZ>Xc9?oI0(LnOv!kM4ZZX+-K=^-JxAYr7$Yt9#*-j zltM!iom2Jr0jhuB64O(3Se|H4cNN&+3H;eNyRMS|&v<74@{)Jmf1?MlCeI=MUP<0J;DY#rdGxBUip^LHeEv~CSk5+vWJBPdM z-l0N=lSxA98tIaQ;rE#`p|9=Rwsm zWKnREo%?$KB~K9YP0Y|&AFR~l;3R)%^jGfjG~_2|==%m&(jSx`Sj{!0viu*ApPiv! zt1KV1=d_WJsbv2jk*~n(Nq8j>xBN<$( zdqmjx2*Ph<=voiq8~-hl8s#?Gwo=P8kpEkTexkB`aPF5I`N|{xDDvrjxCQN*&tOs>Jg9&>$_|4@!&D0w+beLE}6K9Rx~C!e`icitoO%@gOKeHW-w+ zA?1C+A>{jk4}td>9BRsoO@1N>FEB~A7e3kHSGLp4#ffc$Xs3&9bf28p|Y)!;~Q z4fv2gGg8HMqmzLnWEsuCQE&`+3>*u-13nD8_u|A|xkWO(wsl)mYab zrG`X_pSZgiFE`6GfF2X5F2jSV0rC9FU;;=u3Z#NlL05f!R10N?hFP?^JD9Q>inby` zfTNA2?L3BM70WAh&b_AwAPdiEOF>f~sCP)4_*{2NmEp9RYUp}yk0@>o_xK2 zs_LT->F=lVf$1=;iTUoGspcQvjZUkp?y4bWa!UD;`W(P4nz&NNjjDU33H~LU zn^N6XWQq)NBG$XETKFGsIx*k*CS9uHR%`yj^gpQ9DrF~KI1YUTiMz!^c~Ey~T-}PI zCss~Z;pNAxvH;j`VtY1mQ3 zJ#o{3yy7Z+#rhZAW%OS#9aH#=@UKh$UJ{R_x{P9D@d?v#E7PMxrbk^&0}IU1<`~6; zjKMujPcJ5E&kWVI{HPgOUTSt4ToC7?G974WaFD@y2KO2)Vxc)5Fm_Eg?aJvx_)(_4 zE@md)F!Ejs`Co2%gHvL9e!=5b{K<4kzB?(3{H9}HvRg@hi0N1}Gb0O32VXQDc+AYm zwIG)#Y;`t5>KyVY2{)r`a=#?q&ZK|hgIn+b8)}x%{CoUrUN^~kaGU~Y!r_%iX(yshyXO+40XRSH=kx!+qcHxWYfdmW^p92cBNi| zS#_;U2P2GOM~&}AF=f2b!zwWfHyNi}UmX^z@>cs_Vgq zO;5X+MbX=gz&g{>3-O#F#ejQFg`bUOk6@Yb-!Kh+YYgk6)nh8I{1;Pyt7-43slM9y zT9j!|zQ-VH7MKB6rryWKWpYe&HO&C$7#G@MW_)WfdKfdzms88FcEQDBI@r#*N;_lc zIWu56W*~PN1uIOyKE^6Btite<%?yn<9hz-AbjEb(TjTpDoQ~i#%}h@Qp+pp|HWi9Y zPrfug_}I+gJk!%1W~Rp&L(@zT?=^;gX$&edBeBlR^kkFYBps)HYo4(*_yvg`CV$Qh z`7|>Hr6yl&447?tw9e!&n2}V*XE&Lt$~3F@kkNC3Hl?HY(lN(pUo<0d-OS}CBlw0H zfu~GQ=b2S{o!X*ce9%`-j~AE`@|vFJ8$(tY116g({@57sQ-qb}DC%blqKx1LW56%Q zfCTLi;HwE{r1Q;UooDRLG%nLH&9!T`!3$*el=X6Z1I640Jk#j`Q7?WtS^nCGiIiy znSnfNf+45nkdA^K&tb;dnHX`dcZZE*$iY@wAc7raG2*ghd={*v<|)wbgIT;|-$&`rCOt!U}&v4TzFwCD~8`RH(;1q3R^= zB>6J56z5$FZHEp($E)bgPpF5g-o(-{CMDXdt3Ih3RsW3iH<0tKWuNZ)q3@NY7t{+H2u*@!Li3^J&_-w{B)4==>g4%6+HH#)cGpGoRR?b@^UAY4 zxQRzdz75Iua4$h}NAxBXR!zS-U$xd@3%KWBdx2^jb)01>uhxD9UDl-wRHv%v2`!hP z@1pcO3sibJZ_Qdep_ieP&{^mk=msP=)FPpHCxIVxZ0F6QQ86Mf%e)s$zK3m2;ndNvBj#9 zr&X(iSILKYT9xYb3f0`xYNURkf``g^dSL~%^7Ts<)M}!yRH$4}aZ_Du8A8Pcy3aCd z7dO+hmZ{dB;^z95Wt0zZrvE18!<*|AoATi;bRV1Y;Vtz-n^v2Z>SH!?%|_}gHfmex zl;uFNzGpd2j?if0?l=!6);=qu`8(9vOup~fx?!}^!qDN*s{6i zwMDRnZoQHQTej3=oqQ|3ekF#qEY=@7I9ylPk{_YFYN=nM=Q#ON{fdJl^^cmd8MIAR z(|N0$QF~yO)A1#%kZ;vgzq3k)tw8_kU^CrhwQ5wSRde}-oyj7{M<9fXIxk2JquPwpM>R(norL32TmI`k7 zMuMCsjSqf4jUUpgEmAuVpX(bDp^mXj=Ck5(_Jq+}-<9K}|*MG9Eh z9-Y6H=Os=uC{lcTByU9Mv1?U&of{$=ET{dTt)p4-9&3uebGu4NbTh`35w{27d{zDV zT9xPlm#kH_BIj~I2o8$gvzFm^Ii_amZS}XR>7MIUO8G6PhAAI;dwR+UDIROU#Gd`{ z?o)YCT)r#c1iuM7p1j@fvAUI(bsAkd;$i3Ki9!SEmYF&@Q?QE%s$2Sh)~Vz~5>z$< zcvDd6XEk)ndb$U`w@%e+-JNp--c>rTbVONizDeBiksc+LjdRP5o=U!SGDa^%PvS|Z zzA3NdOKoHIG0NFLCa+glGnk5yDs(((2;mV>V4mKhZ-ZjYC|O61YS%Xuw(ZoIC( zLDllgT8!8En^auYc(-%;dCl~U4Fr^8y-#4czOsS1GD2rY=oPq zU)#vy&)5IhNDM5|>6<9bYodE@5NxTBZ6X#F5HmKRDNpBac7z`iXrh;GhDp2-DA1l~ zR2zM2GhwCsGd#&_uKxgoaJKImid*U{l53^2wva2<4{f2j;dnYpGjnK~tl<2Rv({7%w zu>;809R-@`DFRLP<{g+{px+Z{rvD|tE9cLt+^Av}XpLYP)cMbGM|sk7yvI^ptYUZ9^2)c|bx1-K`oW z%IgqOW=%E6QG*tb4%5HBpwbgZ z9e$$`WfP}_hRx-f!63>7o4a&}UcW~rCSR(oizpWyjP8W;D4qHM4|TuWqrwxNys@bT z(Jjji>XC3=eXq(&JRa*=i)NP@3srLWo}B7Ra(Sg)Fe6I0r@UtdN7hh%{3U4LDu>^vw6tVu*D>S9g(lqPoBmYV z5F@MW=k}|_>XGayA$=wK{ryCw;RKcas=a4;v2K4rBGzy{;ebS}5fw$VR=%Vn6FOQc zOFCKC{@7XOgC3u+!3m#aFP-_4+EDcyV!T{=Y)3Dt2h>J={Z*B&?>b0mXs;hVs79!E z2fsL|zEG<5!B-E#y|d6NlY=(bN!ibJ#j7eqryV8;w>^0GVRffRb&xBk{{?D#%0UizwVIYBvnn_?{y005ZBTzEFsz0P1+=@xpM3E36YbZE1KpO%3JSux`j{b{F4;Q zxAzm=!t*2}BpELsk5XNxe9b=Etr4X+NsVOIc%)k>ztQuvTbQo>Z&28V6~QT343;}| z&$vnXQf>oRE?&<@jvwP(C*n<+f7fm{f$LK6hztCBD!(qK zkk=O<6G(M)_1s)zeNHO2WLo@swp8pvvWc5~l;j7x_$^-d?W2p{qH+yA1n|z_V@-rp z;FT9Y7q~K!dao49`<@jpXQKXAIE!$c>iT=pvs$OUjh+L#9pIJUG<;kay-l-gNKST= z?1&X2^OW8tuwS1N(c_##GV~clljYEH*mWc4leS4(io^z;d9fbWGQ?MPIb3%(e31Fk}fv@>QFZQ=GT>s*RvmzD1Me)|0QuB)CcW{!6x- zY)i7flk~|qUidCh`%|2Jo=p`G`0^bU$4^`8&)-4S5m zc@UrM3drO2Y&R)S%iFohQzU!4$yymQjE)UiB;(wqycm_|CdZTXxXFpPlaooBYO`-A z<>@wWKud?@p|-JCo@JZl-$=G~1=2G^dgVd3sn&v|ksU~qJ8XYOSux3KPEuZ!-~DGs zdeLnbugE(rc}2dVEA>^TPC1K|{L*AAopu%-8CjykNj4@K?k43o_|n{@{Pvzn%5UzO zr2N*NNy=~RnWX%-o=N_4J1M`VXSnhkdL}vSc5?RZr2JN%5s=@=GfDYvJd^Zhhmu(& ztLc94<7oNWy3hM`On!K`wLSsM8z9--P0Fw1KIbI)sakzZ1gGa%R!6r~eyTQ3=YK$* zb0kxoBtI{!8-2iP;0I}Yg5F{E+1KwS?~8qQ5DNYwoUwNjQxdRv%f_q(U?;KaWuzt289G~(ddi){Wna8dQOKOUN< zKmChp4L{}J%u8yzTKSa+jlSL$+9jV=`7 zKNfd>ou4u~oULnIQ^#t3$2{+>!ks>vJ&Q>JA+Nr2O{LVV&8_U2bVI(KEJujB1eQB= z@pW!LRMC5H@Ij^Uy2?1X>bg4X@g7Csh#r4~uT;EA@-4mMhN`o-^8gj`ce39>-}6q# HKh^&Q;}ek~ diff --git a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache index fc7c96e25755687a5f1f1d8c2b3727e69a554b9a..1dddad4b34ee821428d99a5a26423edf6861c5ef 100644 GIT binary patch delta 226 zcmZ1%I*W&sjgggsfq}7^aq>bzJ5=cZ;M!+Ix2>H+~EhQLshWD{Y8+W_3yXT36ib>?#_PToROJYCEQ-gCyJ9G>HBJZ-X4>T5H@ zQdzXwS*X5CTJ3fK;LHPDc{y8WT!;Yx#Hs#DdIlf+9cVmQ22YV?@B;n@^K6Wr9;4Um zGsoy9czOw*-UClB!SkL~lk3&j5T0Iwr@o8eNpB#)c-7z}-CVc?49BJ!$Yk`Bq|0>L zMJG?Ev9wdq6N1_eodAe&2o{dFGiDHpZfhKpgy=q! z5T0Y;>C45`+`c0&t&(m?Cjg$9##nex;A|o}!)9YFG&!5&>;jp`@m3Iv25B5xlh>se zEbDPPb_^OWy%WK7ii~|Yg6Toga;m_Yd?S1_3{c?Z(Pk2U<}$R)Naiu@1dewI^29Yz zz|p?HMi7vO(V>!m*y=rHS&a)49k9P0Ff_F7C07kl?=G$Nz1mA zcg?t5zpeInwQa|F0ZLXEs!8`&7Fca9A+DkXH&!yWl;jk{(*SfOr)STez?&Sji{p!= zMU8@^BH-s9JOBYqFp9t+Q3%KACP3yEbVC=Vj!L9v(Kec=SqrVp5Cqx*36vHn88s!( zN%_5jf-fIM8Yv&6$}xqo+%(kh{2|86W}P8`E-d66#>$#V)?OTkzOXin>e`B~r9rH% zNP6J=B0T{rK?zVAD29Sn=P_ZO$A&3mve8H(uXM7ESR!3<>}YCIR<fv(Q=>)qkj6)%S!MUOpgT9%YsQ)P%u3dOfM@_5loK+ zQ|4+#FgFB84Dv+xYIqriEC+s{m78H8pc6m?BBD>;&O20l?)nF0`HuM7yIrp|-F>Nf z?Q3^BEwrzgx}h?me(Y}>&z-)|@YBY|QI9b!CRm08=L+6{5cF;-vZ~vGk&gX{zdSmGeyWBp)re`&H&#i}SWN*0h=wR(I0`dMhR2D+6-99cI(*p@Zpx4KGIYMf-mdV`GLwVm zL#X*hlSt7ZM55?`evpGB9rvYpGOOIUv+W}3$;I!V|Fxu$d=-O)oQSJ|c{m)2PXNRR zSW{@cMj>HT1qw|?21LX{9Ey}l8fDonGi_PF#MiHG{pjX-RBN?6JJ*gJ98R^jMGQAu z$^9l-a2uva^J3A z8&)O^s(CBFJUi)fYT4L=Pv(5Qeo1A?#DR@B-Fr4Q^jdu>?T8d3)D;T>Pzr+8a#c~^ zPv=<5l<-tmxMIQsa9X535BEy!>j=#Mu%xlxfZ|uqDz58GY5ijb0W4u85M)dWf_)hk zUh-&{@o5uBQ3nu*4Brja_Xv^(OnLE=242qr0GCH&tag#6)yWhA3c~5EzAmO*aR$C! z#Ot2w`kmD5_Q?L4b+pn~B8Jv3(stm|@HlWA1#}}l2T21S!cwslvQC^mU|b#;j);#` zq;^HkbQld%Mb@Q(&Z=}n{2LHBJ1bs4^7(RVjqEt>tm(BqW#t3yuBe1_qs4xdoCcVb zl0btPRJ$?KW=vbQW6a4Zwvo2cHiN-BGTD@3LQ8@_I}e9D;S0CnY9--KFC@(btESN) z6@65K4&skCZdAy@IDO4JUogh7-J#7h8#|h3+Or65q^U=Vdk|g%JhTBjj45+l;xuYo z`E3;7tbo0{a;-J6pxqD}3|Mk=}R$bzm?OhJee0$X#;~SGNtd4wr z;I)dn6RB61)SXE@`sWuZ2lwuesWX6g8)EvdYp6)vS2(juoW66jkp0y*KEJuo$)3l* z{ieQV`EyH-U%j(=#g3|YWB2s^{S$kPpZA^kY=oy7rrzT8{6hoQEI8iVI+^Zt&^%)i zKqOiijYDhuwPiydU!=viNdS#d*>E7IGVIGC3yG0J0O;pM=iQ+vbD<(kc4o1(agPmZ zmPs^)I2p2vpjAmgzt0*@wv)S5h(ubYI#(csjwpH zWggCbW+aUpt#J^>dH}zyDz!#^W + /// APP名称 + /// + public string AppName { get; set; } + /// + /// 客户端类型 1ios 2安卓 3window插件 4 5 + /// + public int ClientType { get; set; } + /// + /// 发布类型 + /// + public int PublishType { get; set; } + /// + /// 发布的版本号 + /// + public string Version { get; set; } + /// + /// 升级类型(1强制升级 2强制提示 3弱提示) + /// + public int UpgradeType { get; set; } + public string DownloadUrl { get; set; } + /// + /// 发布时间 + /// + public int PublishTime { get; set; } + /// + /// 发布的信息 + /// + public string Message { get; set; } + public int CompatibleVersionId { get; set; } + public int IsShowPop { get; set; } + + public bool NeedUpgrade(string currentVersion) + { + var remoteVer = new Version(Version); + var currentVer = new Version(currentVersion); + return remoteVer > currentVer; + } + } +} diff --git a/util-lib/util-lib.csproj b/util-lib/util-lib.csproj index 5c5c213..d14cdc6 100644 --- a/util-lib/util-lib.csproj +++ b/util-lib/util-lib.csproj @@ -47,6 +47,7 @@ +