From 7ff6ff73fae56bc6183df5e87693cbb8b31a609d Mon Sep 17 00:00:00 2001 From: waldo1001 Date: Fri, 5 Nov 2021 13:52:12 +0100 Subject: [PATCH] More prettifications --- .../1-patterns/argument-table/index.md | 24 +-- .../data-driven-blocked-entity/index.md | 18 +- .../conditional-cascading-update/index.md | 10 +- .../copy-document/clip_image002.gif-750x0.png | Bin 0 -> 36335 bytes .../copy-document/clip_image004.gif-750x0.png | Bin 0 -> 156528 bytes .../1-patterns/copy-document/index.md | 9 +- .../1-patterns/cross-session-events/index.md | 139 ++++++------ .../currently-active-record/index.md | 92 ++++---- .../1-patterns/data-migration-facade/index.md | 201 +++++++++--------- .../1-patterns/variant-facade/index.md | 2 +- content/_index.md | 2 +- 11 files changed, 248 insertions(+), 249 deletions(-) create mode 100644 content/NAVPatterns/1-patterns/copy-document/clip_image002.gif-750x0.png create mode 100644 content/NAVPatterns/1-patterns/copy-document/clip_image004.gif-750x0.png diff --git a/content/NAVPatterns/1-patterns/argument-table/index.md b/content/NAVPatterns/1-patterns/argument-table/index.md index a14e101e..3ac7fe4e 100644 --- a/content/NAVPatterns/1-patterns/argument-table/index.md +++ b/content/NAVPatterns/1-patterns/argument-table/index.md @@ -2,17 +2,17 @@ title = "Argument Table" weight = 220 +++ -# Argument table pattern +## Argument table pattern -_Originally By Nikola Kukrika and Waldo_ +_Originally By Nikola Kukrika and waldo_ -# Abstract +### Abstract The Argument Table pattern is used to provide an extension point for adding new arguments without changing the signature. By grouping multiple arguments into a table the code becomes more readable (function signature and the usage of the function). [![ ][image0]][anchor0] -# Problem +### Problem In CAL overloading function signature is not supported. It is also not possible to provide default values for the function arguments. @@ -24,7 +24,7 @@ The last problem that can be solved is high number of arguments. Functions with Few examples of the bad implementations are as illustrated here: -## Bad example 1 +#### Bad example 1 ```AL @@ -40,7 +40,7 @@ FillInVATReturnData(NoSeries, NextLineID, CustomerID, DocumentNo, SingleCopy, ?? In this example the code is hard to read and understand. Adding an additional argument will require refactoring of the existing function. Each time a new argument is added a new function will be created. -## Bad example 2 +#### Bad example 2 ```AL LOCAL PROCEDURE GetTableSyncSetupW1@3(OldTableId@1002 : Integer; VAR UpgradeTableId@1001 : Integer; VAR TableUpgradeMode@1000 : 'Check, Copy, Move, Force') : Boolean; @@ -61,7 +61,7 @@ END; In this example each time a new argument is added all function calls will have to be updated. Option is duplicated in the signature, which will cause issues if a new option is defined or the existing options are renamed. -# Solution +### Solution By grouping the arguments within the table it is possible to add additional argument and reuse it where it is needed without changing the signature. @@ -73,7 +73,7 @@ Argument table should preferably be a temporary table since the implementation i The examples of usages addressing problems shown above are: -## Good example 1 +#### Good example 1 New table ```AL @@ -92,7 +92,7 @@ FillInVATReturnData(VATReturnData); By introducing an argument table, code is much more readable since there is a single argument for a function. It is easy to see which arguments are passed in and which are modified in a function. -## Good example 2 +#### Good example 2 Good example ```AL @@ -106,17 +106,17 @@ END; Option definition is not encapsulated within the table. Arguments are grouped and we can add additional arguments without the need to change the signature. -# Downsides +### Downsides You need to create one more table Complex types can't be embedded as fields in tables (cannot have a record field type etc). -# NAV Usages +### NAV Usages Upgrade Codeunits -# Related Patterns +### Related Patterns Posting Routine, Select behavior: Setting fields on existing records in order not to change the signatures. diff --git a/content/NAVPatterns/1-patterns/blocked-entity/data-driven-blocked-entity/index.md b/content/NAVPatterns/1-patterns/blocked-entity/data-driven-blocked-entity/index.md index d4189ae9..40da4b61 100644 --- a/content/NAVPatterns/1-patterns/blocked-entity/data-driven-blocked-entity/index.md +++ b/content/NAVPatterns/1-patterns/blocked-entity/data-driven-blocked-entity/index.md @@ -4,11 +4,11 @@ weight = 470 +++ _Written by Bogdan Andrei Sturzoiu, at Microsoft Development Center Copenhagen_ -**Abstract** +## Abstract This pattern implements a generic mechanism for dynamically restricting and allowing usage of a record by the business process administrator. -**Problem** +## Problem A NAV record can be used in a number of functionalities across the app. There are situations, however, when the administrator wants to restrict the consumption of such a record, as well as lift the restriction when it is no longer relevant. @@ -23,7 +23,7 @@ The blocked entity pattern involves: In contrast, the Data-driven Blocked Entity pattern involves adding a new record (data change) to mark the restriction, instead of adding a new field (metadata change). -**Solution** +## Solution This pattern describes a generic mechanism of adding and lifting restrictions for any type of record. @@ -40,9 +40,9 @@ Currently, the restrictions are record-based and type-less. They act as simple t You must make sure to differentiate between the reason and the purpose. That is because the restriction can only be added once per record, but consumed in multiple places. -**** -**Example** + +## Example For example, we want to restrict posting Gen. Journal Lines if a customer has not been added in Account No. field. @@ -52,7 +52,7 @@ For this, the following components are needed: 2. When you validate a Customer No. as Account no. and Customer as Account Type, lift the restrictions by calling AllowRecordUsage in COD1550\. 3. The consumption of the restriction at posting is already implemented as an event in TAB81, OnCheckGenJournalLinePostRestrictions. No further action necessary. -**NAV Usage** +## NAV Usage All the approval workflows include a response that restricts usage of a record, and then, at the end of an approval loop, a response that allows the usage again by lifting the restriction. See responses "Add record restriction" and "Remove record restriction" implemented in COD1521\.[ ][anchor2] @@ -88,15 +88,15 @@ END; Notice how lifting a restriction for a Gen. Journal Batch involves lifting all the restrictions for the individual journal lines in the batch (hence the special branching of the code). -**** -**Consequences** + +## Consequences Currently, there can only be one restriction per record. There are no restriction types. In the future, a type field should be added to the restriction table, to allow adding restrictions for different purposes, and to refine their consumption. For example, a posting restriction might only be enforced for restrictions originating from approvals. -**NAV Versions** +## NAV Versions This pattern has been introduced in Dynamics NAV 2016\. diff --git a/content/NAVPatterns/1-patterns/conditional-cascading-update/index.md b/content/NAVPatterns/1-patterns/conditional-cascading-update/index.md index bae38630..05c23717 100644 --- a/content/NAVPatterns/1-patterns/conditional-cascading-update/index.md +++ b/content/NAVPatterns/1-patterns/conditional-cascading-update/index.md @@ -4,21 +4,21 @@ weight = 370 +++ _Originally by Jan Hoek at IDYN _ -## **Abstract** +## Abstract The Conditional Cascading Update pattern is used to intelligently populate fields whose values depend on other field values. In this pattern description, the field triggering the update will be called "source field", and the depending field will be called "target field". -## **Description** +## Description The value of one table field sometimes depends on the value of another field, typically following an application-defined transformation (note that we're talking about transformations of field values here. This has nothing to do with e.g. form transformation), such as conversion to uppercase, removal of certain characters etc. If the target field is non-editable, said transformation is usually the only way for the target field to receive new values, so no irreproducible information can be lost. However, if the target field is editable, the user may have cared enough to override the default (transformed) value, in which case revalidating the source field should not blindly replace the target field's value. -## **Usage** +## Usage In the OnValidate trigger of the source field, test if the target field value is either blank, or equal to the transformed value of the source field's previous contents. If it is, populate the target field's value with the transformed source field value. If it is not, do nothing (effectively preserving the value set by the user). -## **NAV Specific Example** +## NAV Specific Example In the base application, this pattern can be found in Search Name/Search Description fields, which are updated with the uppercase value from the corresponding Name/Description field when the latter is validated, only if the Search Name/Description in question is currently blank, or equal to the (uppercase equivalent) of the previous contents of the Name/Description field. @@ -26,7 +26,7 @@ In the base application, this pattern can be found in Search Name/Search Descrip In this particular case, the transformation between source and target fields is implicit and due to the different data types of the fields (text vs. code). Note how the field triggers of the Search Name field itself do not contain any logic linked to this pattern. -## **Consequences** +## Consequences There is a case when this pattern should not be used. If the target field is non-editable, this pattern will not add any value, since there won't be any user-overridden values to protect. diff --git a/content/NAVPatterns/1-patterns/copy-document/clip_image002.gif-750x0.png b/content/NAVPatterns/1-patterns/copy-document/clip_image002.gif-750x0.png new file mode 100644 index 0000000000000000000000000000000000000000..a447a4bf46117092d9dc4e8d0263b37423939174 GIT binary patch literal 36335 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
O^!q0ic?SQQ)OjF~Mw031 zjcwnUv8QvJx(td@`D!qz(>bcc#p~xLK5gJO+Q#BUHLTQCw@+^AQIn!QUl_{9t^cL| zV3%p{^vVeXw8YLZa>@0TCuY!;0$@uq;W4=0^AVL+)huPDxpHrzQ&?b}b@0S4cO!hc zE=f#}OL;~F7H{X>8i*kwL<7!ZL-3v2PW^FcC+LeEB?Gg$AC&NS+5e2*%oIN>h1-jS z@s#}fgYVURTw{+~Ojr9%%8^>4BiINvKruGj1+EIw9^Hbtl{ zMtqj3vQ-(Q2lmwI(*p(0cVpCZEQ`@ud4(FoqMx~%S;GPY^ZZv<&a*)iI<$^Jf4b+` z^gI;awJv;#fr*%Mmv|(ftj`mhPguh#xb>i}?pR(AV7t+OwRV)*7@d#YKlBI z>aj3;1EP$H2(0XxB7dOhF>hoZo^~46du*}R1zP(YntyiJE5hyrO?Rs)@L5w*N5ge7 zvtgT{3u92#R_H9&zra1WE|IK0|AV5HJri768H(IZDXkjEQRJ@bqw;aCw(*M@2CWTv zzgQIwn_I)>2UnIsv?+5?`hfV5xrhElKpXpOV?t5XO4~Q{Pz~Qa^A&CKZ65BJ>n%^@ z9UYfxK|Aqd@_f4U>pE%Aj9WNZ^Kv`0>Li1cwpC^DYnvO;$-!j1(GMYt+&?QR?j_^- zEX(AiHSAna=)U@Ggyu?r*mo6I+TF+AvB&NQ4xiOPFAok4K2>v{zl=)g-hCs0|2s5Y zOljj3Hu%vv(RDsQpkP|(h6LQUDBi?Z4YZ-ksbS}*t`_f8(x4x@_ z?!34PeKCryx+z3XS?}L%u}uBuR>tghtEv+ANSUM!`x;BkSj{eUKkc|RVm}ymvF4!9 zQe+x4R$W@t9By(nwi8B1e~uZnx8yl!zM%i5ZL=rTOcH2rA1$-OZoi)xnhA(R~ zxu5FFe7iP*O$c5#e>3lMejKOf%L+rKNZaI2w9AOPA(oc=sfx*;^hnvR3R}tJU-lOJ zC4px#-bconJoM9bB$Qt`=~>y&JoEMQ`QZf02BFpEen?Mjrm)ih<*Xwvq5`>_eGjcL ze7{rh6_`5Ccka?6D2~^xidY!*gPIt-BD~JMJhyT;yL91~Ij@TB%I1cHUuu85ZYZnn zt(rYH7$HgMwM&nXllk23Op$oH^GZy`8AbG`9{brC5ItN!JZ_1yudAz1MSkCv+*mv| zoVY|zce4!mSk!rUWP5VoqZ$><++g>rs_}db0sWiEU8X|oA!rZA?Bl6!oMa^Sl(FW1w55QL$Vax!*y;-+>8_g4~`OjX64*Q9Lm zvb&OqEz*1su6xSXwaX@W{(WJ|*^btCl1WUPp$s|9mv5dhIPe;b5DtLeTWpFTAo_ZspU5Ep zRXm$3yvYS>h1blMu9*4=_#HCi;=6Hc%xS{tZvj8neJk-*~w9T zF@IIl=9$0tBsg&#@($5a-GBPKUGdt{vs1_v5>Mw5N5yv`@@|NA2KSOug|Q)4LWHh` zdoOrs5BTMsYwgrJYR=m~r+k#2KOAC(UaxWYI)MxG)hzOq3g51=dhMd_viUM*#Maix zPM^4dPTr-JxnfBEr}G5ryZ4w%A7#3AYfId?6w|Suox#VWJCFpmv zvNO)d6;5Cun?~qi$kz-OiKNfCNdX)`wZ2ZtylJg3H?3^ID#(yyZnn5zl@E2bR`34G z!`4;B7AK&<))5mm@J0&>jAbsrr@}&4+)j1Wh54xMsM_d=N+ov5Fe1c5UuxQx_Q(1L ze!Z)p!@lD{uZq}mO=@achC-MW>yxYW#pS;_+35=~Lj=Cwm7W_Cs@BfCRxDtkJ)6&& zf7=~mcH6KG7>`VQtID^u)Fj3{90f|Yg?{LWKc&v%(a3s8D7BcroOLSZN^0m2N|j%( zw7a&g;ZAbsBkFu|VYaaEzU$Qb?DowVn#}ZKA+@Jv82P+u>8$D|KN)g82&=OtjSF96 zQj7S$5zK~YkDJYMiS&{Lpeaxzk+ZMU-;f#U`V$vq;9R$6|Mv2;+vOAJPC>YfJ~{I6hj3-%o#!OT z{;GNvJgS{!C6>t9lbMryc4+7yNublc)Vkn^rNd>22+?KN-OOKp6{~XA-UXa0US6a) zPii<$oCPx`Tzi~xuCv!DGnHTNy2>q4-3HhYk#Xl*?g@K#LJUc+x#*g(XzZaE+lTdO zj>YFrFc#Sd`A$aTOO6li5T|!N*TUASK-Rpu^GycaUD9N&!$Bim4qw$VQ9aa4B(d;6 zB+gD|eg1e=O!&*Gx9->CQzBG+^CX|}c=79|r$)G-b;LRYY`UsaHgKXF6sRg77tC+% zsNN4X5XL2wYkp=|ex!d|p3Yzpq!==E8K#-JZ9rhj&xX!h<+G%Pn>8{NP4{R{mONLI zk2-nWUJt*e)7SbV+e&`mc!6_f9y+SG;+EZam(=BF`~xzCv%7Cu=iL`DRqQCt2TFa2 z9{r;$kK($8(y*1f&K+Vq&FQ{^bb)GuC9;a`k^=JkvydvTkOr#ePx(XsaFXe6)s>c8 z*Aqo7BM0wP)`@9?zGA^MpfW%kwc~f}e7Q@U&X{H%3WofBy)zWqxkgMI7LDTweJy1B z(SFpa%vQ|hD?VcO*$SMcB<{(Adpr7~Z&M$*a z9HI6{^+G?WI%g!zeY|+Dy2@zlqOzr>m9cuJF8o4mNQF_wBki?XLB4zv{7(aiWm=h+ zs^uZk@4wClmq4ygLVaJFIt0m6a;_3>3?6i>sBxY`zDDa&s%Y7X6FvD;(bdOf_|a*K z_UGip-^Jc|M*t9WWg5PQ5{MjD^GB!Bs%{%fVSilg(Y|kt^xh!_;MZ&XKB$z~_SE(- zDJMin{0pSjm6lE@NhciWNIr+UdnnF-WobV{IuhCV{a7y`0-yLZgs5@@=G?!gXlnN@ zlT)9#*fp2+LI|x_YPDwADN|ucno!YJB1vu(yJKGq6{3dAgN^9-sd)m!QMPY}R;9cU zY-4eT?+n@$r`B!~SIt2w^hgm!B8|x1YPI z$BZ(0T%OI3K24gUojejQi9SNoJxQ{4X}Z3}%W0rzg;2D}YZV(74|ns zO^C<$ekA1j57YZghz?6srCDb{P!boQ*%;I#0d?NnsgCCN_4y1>#sFIn>)ov^!8vU{ z_WWK1ymNkZZdC~+Xk}Q6oWP=KuoLKpee(;j=uXsBl8W+n{GF@NP~aIiDXH4NOu7PQ zFTrjFgoA1FI=KJBI!`vTK2pf)V1!v|b9naHWuWo-<@WO%)I2s~{?yL9aqNjL{>xAW z(B>HJD%E#vdW-!ZVM>1N-u@%c^Q&QK{}pMSvLPHZOK)ds_Ih9m@_R{&7pJGK9~h@W{Kztt)TB2 zTCF@yH4s|8ZEcC(Q%QoJ5`XtJq$&7me@)YjkdqCI?aQ?~1TFHXuvoy<=?UdoA?c03 zt_9JSe<&ZIKL~C*mzjhRg=FyN{{oc3s4(V3(9!>#4`$OddXFWbLlqfq*+k!q5z?Zz zKR0G|Ezd7|X?|A`bixM_H+KCMuwG-q7=WryKBf3$JC)nW=M+*2UUkp6O;yQE)L5f&KS zWzdHzQJ;rNYUmb_YGo<}*<{JR&9OwQT&=bkT4@M~Or7 zQ@rx)*pruFE=wM7ABBp4M$r2DvDfj>DHiheil;uS-5lA8wE5uH8;Xfoza&K8JRnu+ z=vLQ*QVFdoUNu808MIeIZub<8R%L3R+h8HXFA7!anR(OyX2o&!$0U8ORcay&kQdRY zL0OGnp?^|7FZ;Pw6jz3ib7?2u{NgU5Oj(EovP~`U|xSw3#Z42ucnt)e0{R<6$?Le@m|%M@?m#OqcPq zpS$R^`zYw`So||DrP#E2L%+uENy_>qwa>^gOEcK^H61e;8r!b5OqQp+(#B^GzI2bz?tpXz5(W~KaaSahU@42P;rg>#+?uX9NVdeyg^ zyOaHTqcroKc1_-nOD%s~?&>)wiy)<%sNk943>}hQ&97DGW!v9nHP!|=lNvYqLXf8D zM;R2$?ID0fG0zM;%}TqqBBQ}``{gFkdr#Cw^10l=~h61ufvr=#8 z%d*en`nGMi>ID+=O}EbGl%>gdLHMUeb+T3sCP8eGbrHlCH<6Wn@A-wh*=zL{qiD{d zKeV9zh!!#JugGsH1r*JQwWnnT$O1Yg*sfmb0mN6!oxK-$Io@)KkVjIgl}%*kJMc?CcB=tzmLRjDF?h+M#@~qUrgjI#n1@l` zDZM0FBnui@EFDrKOKLjuwRF%q^s4Ac1lPe@E-jslBJx|b~mTkAZA|d8s5D1LhrY^0=$ZW-i$N#JhQFN#6cfueIAjjw;jtUV z(l4$WnR54EAG0bx4Ijuvro_F`RvO+epnVKxuXnTb0-rpKcH3vD9W?xIH_&JnX^NFO z-|+fT(Q@SEEdTKkh~g;)YSO5palnB;bo-3bNvy{#cCM%DBjZkR*Az=E6sYteevm9e z(ktjMtMqU;h9joy+5+4ed`$TUu@h#m(cu>>sh=85K88#1|H$V^;DkTt2>M4CVH6Wx zeKE;ik)4uJ-Ue^|tb5Pw_Kt+sw^64*=*^Z1&T4Jcsyi7ZF9FouS8IkH&T7fpLEHKD z)?y<`xHGp0t1tzcC+`ZS@br4Vr(XV$W_Nx(CateR4Op7|Bg=GS2Jy%7d0eTCsb=YW zB+q*;Ulz_FMqFUZpg>(mJe}G$Zj~Z6%zc0cu^48Gq;1K0c=TsOR32FsKd3Uwd@o;? zxBR^^ds@q4a`RM2zHh^W`3~*cPsh&vg~f*JJg9L0ZsptZ9Z@1{j4WWsD-Dg9j~EVT zO{@HNw2_D8l%L2@TfJ{bm^WHGJs;~A{I$JK^b+X}zs*mP82^7%%M89@^(CNwnc-mj zGaz;R83dy$LD^G30_C*cFD;or7+0I8DlL=!_KwSfZEW@)lHJQba>Xz9NO@6mc(G2# zDr%w(4trHhXH?|ZE>1?fs`1af^<923HMt#|soPICkXZZDkk@utXioGr8sy=CM8l*p zk&9e3J9qotl7+!c$^%Yz#WKR%_IPU6FZ90D2$I^CWX8uWb>3vj+d_gTpX93ZFi z(+LK8Q=_i2z<>tOgH$P}i zoNd+P<itF-x?r}X8doD zM@{$4#DDk&fR4oQ(*FWDQa<90-vNaTPGwBSZBH`%@lNfjmwpH_)Jq)A&;GZ1{lKco zN)+BO^!-8KHKV?*ucAV7dHAd|j4Z{!@+IDV84~JRdXiz||J5B(0KudwAJ+ba5Cr>g zQKe@fNLLO#-m*{%Fb@Ae4>Ph87o8!Id2C01Zfj-kun=Zr=X;yB--@W*TY_RcLp;xr z`2u2>Yu_8zz|^Xqx2z$ z7=}?0f`^&Gi2R?j5l@*BCOgylCbtySFY9wO3xTQ!6O$|k614%@I>3j#O#(L;bgcX=W-jUfXv-p5${z(hRa7>?4XsRb)NX{li_y5TJ+k6g zge-R%;;_97e?K9h{&KSxe8U)&mn$AG(N8Z{rh_JLs{GsJqYO0@qxGJ$U;_QqA;2GI zJR0+(d)*b-Y$i#le|zzTTHy3Vgt8BieybWy)wQ;CBXDke+;z`C!NqRj7u~W)SH|In zyNL%e3RgLT_7QmjjZGem?I)&=2#R z_uLtdkYLAs3fmh~eQ}F{$Rke%S;3oNwvXQ*;_nFEhy_zMjPZVgHZg%VneEE}PHY|| z^pi-nZXbPfT|LIb04p#ihDTzUoQGOwv!otPKpYt?LvZHPhQ50cHoD*Zod+q>R>aLO4ej0u zlF!efijQMACFK^Md{Pi2Py!h}IVE3g26- zFOvQSxJ9eoryw)%TuW~P2mfvmC(1}{UA`8~ogtu-`Cddda3b3Pe2c~2V*7L$M9^br z-N86k0pZ?}?0&{J#P-1Q+Gdk-K%*HZ3!LRg?8HxVYd3|NVMN(0q z8ELX5q@oJ*TFO@3W!N!EvSeAxyeM=QSXE+-Ea}PmbXX8H)mH3PUxdKRK49tQ#0M8X zF8_Eue8ch+J@McjX!-e8J;DeHP1IoPnmY%AfM{|IXB}og5hFbIUpz30b&sOT-a&M~ zT5sjp&)&u$84pzL!bBmA-7?N{*93`0yU!Qw?o?iO$O=6~aaibN@@aM~?NkmZ6|p&P zt?>s)!@o3S+uBY(2fN*(P%ieCYt8pp9f64Ol7rRPE4PEWOWE&<1zaOL_(MZ4$F02N zITfKs(x#n8thmI<;f*^)M*F)8ozro{`>e`%hj34`pOwA0yVEXsI~66OTjTEi z)bqtn3bB)1!mP@DN-E9=!uwukgtPX&73oi9n=R$xKCD7pg!~CppGPu~g#%WLyNc5u z^B1xQ+yzDg_aT_qUyqIH#Af75HTWK=Z4UZgY^pl79frvoztR;2feratN-%p<&{88} z4P{GFqo0Dlr}>^8Nb~!-g(eEE=lB}#xSC=ri{d^K#}J@^L78fLiEOl|rm*KxHI`Xf zE9^qJZKj81BxZ_zdE#Kzdi=%b@U(m~*F*GJuAN1E3B>xSWJmbH)1tPo*x|2^^4M84 z*vTHXTz6X@;W_h}pLTXlis$2Sfm14mr}e$UP~Sm=4iPI;O)=q)N6J0I{l~T@EVk~t zQ_zyc=cl|+ge)Fe;|V^HTzc5j+5PnSQxBNmx=rym)HG~cDWUjEJ!1#HW*+JqQZ9@p zYi3o~Ek*U6W)a`DuK$aeI^Xw2!nS}?uGS%f7}mu}M;o!?GlaXW&EnWj3_X=HV|b-yq^a8m7lRZUl471hL4-*vQL9(}J(KFMG+g?DKzu zj298~5C2jfuycJNSVzymq&Fhmku`a4k1~SZX`|Wrmn_=8W~4*-V9i%us{?;R!@|Y8$_njwznu6e0>)dp8}P zE0v~DMK&k~QaSGQF9hdX(}+*T)$%1v&&uzCm&|V48djE_>x&`#{=BGMn*D(O2wR^} z|4N;fLj=N9Vs@4Kx?`fY0uR%yjn&edtACuUau7CuuG5;lDQOogvv8j+Q>AvF2kAy^ z()%((Q#&R}!tSP|jSl>q^o3G?T|WBtliVth<7D)oG|3Iny^rNA+Si1|L=Y!#ZrwT~ z6Z?kUVmc}Ok<90+Dv8!-wU(|pfk*d^clOIIx!LYeOzv;{80ghp-g>qY0TEm`@2JU8 zMnMi;5GLK{^)g__$bBDCMlBGt*Kc8?>(s8Qn-sfb=|Zc3^Y_cOTxfCvu7>PgmOZKD z8}!QfVTBs^lGCt|$28WfV7uL}>zfKe?t(CZ!+G>oNDBV3^C+RTy|FyW@tuTwLs+#~ zjMjO(8%M85L~`v5Nk$1HknqIuQ$28TnNX;wX^lW*Iq9sU0b(AW^$Np%qX)O$_ScUA zgjhhf%#xiRvP5_hb*6Q+f0ZM)^a!Ae)|^!@vhgrkm<%5BBASxF;VzaP!f3+O0*2!l|Jl!F}7!e^L113&)e)R z!nS`0vq9oAfS2F9A+1!yx4DF*le|)vvSBu*%rufzerRU)y2-4M?5iI3z5)fc;t1yF z%6B#Ywrym61&r58$^q?ahxsD=n7kV@!|>EUc?*L^GHX#7D;&>&?a!p6N$byrtLef6 z;XZ|lH)PcniapEDh;}}rCo;8yWwyPsDe48+bEARGE`viCbV;HPTur|?ZB!=HWfh+F zWJF?j`$zt@<2Io(L#&Dd2c`nPdq*Z+4rlB-=&a=uE^p>!?6>cjlzbI2Lga`L#Z3}8 z5C)Gv0pU31S_|#Dw`MT+?mqSGg9er^f4_#LdwYp+mz#|4cgCMH+DVQMe4%F(J7euV zDs)V0Nam?JzqNwK2Gp-pkYf-vUUL-@0t{-(wj-O;gN5&fAU13b7#hwo=+1{)$TwPJl1ozJcb{Myk!c(Y8r!)qNQ9IH69VbW=sPRhq` z{`HtMm0R6+C3w}W%pEw`%RdH(4JL`up~ehkxPmImsHXKk@cXwCmkBXy=-tL%Mk8)Z z4jG&7OuXDXNI-kHpH3#9+elKJ%o1vNdZY&Xiv&0RZaGJikH}ev&?jevKhE);7!I@5 ztz*$MP~jjHXJWG9p)aLX7SMAkAT&7}qOCf!Y2{`UF&?f^!pn8I)l@OFq|oqiJaDMUVlnBw zm!-T%8WB%#g`}-r-R0? zlA&Di&(8KC%vHhO%M-rl|7&P66Ox3V5Wki$#*z%pXH*tO;=GH!r-g^-HpPG{*rdV9 z_CVaW`1TLt(9!WP$grHQSE`*&hsQWe<~XGc?#E1!v$rJd(p`F8MsM-9A2{(Xc;~X| z!Z*ywl^tr4x_=H$ZTE>Jj}!HQYYHAM(HXL%Pa30#ycyk4U)R}?Eu^khyH||2VN!Ra zKRs1%o&)DMnEI}JQYmHgRhWG!lwO!TuCLZZyPQyyP1j9je#eRUc7_FGkR6|SNi~q< z*fyTKp`1nH4~sAL*!~eZIFcK(sHOCSy*C^)w?*kDZxmC)m)|0Y>b;&UFV{x09+)9z z($+ReN%)|hGa)W+jALc7VsWEF_U^_k9@;k!&FW*{{J5TfA4OZQ$i7TFMl{736JeFx zp6g!k2^pJ`*#RueNp-%W$(?U|uA}26#%n|^mXN64tZDyuHPPFT#H{-LPH7AE1=Wu~ z5U%_b8xtkk@=kI5VrfR0LA}d?x3#hkMKhiDA;K4mRrK*yV^AnfJ@MBf^Ks_Xw$1`$YyGUWU zZ$lljFfzpr&-8L{T?wwq+{!0IYfEOo2`*OzFBuLh9>RuBJcbBN^jk|~m|l5hQK>3t zTFLX+baQ@1)nXPC))#6PhWEybg+K8GhRk6z5>aNt*LGvcdVS@B$sdV2kdLXbesm2v zjW}cl8IIcFL_F)#O;0)Bpxf8}UIH@>iAotOXw`~fJw;r6dk%`4{bTM)m=~lHem1R} za&oJ>Ao=i+LFXc=H$60wKl=Rfs;=W?=K?y!faqNz zGYl{5rX`aUaN(q}9S5oXc-k|RhiV_qDCkk3vf2|%49kJ3ocKWLi%tjqNDEIVrzcIQ z`F1rI*4grVa8oPFg>R7O{pF&sMO-Ei3hRAcd2?Y{tN%Z&MerQr7O*H)~FoLMp-(Yg?u zFeVMvr$$a(rn2Dm-Wl3C83yLN7YU_kq~S+V1s2Zyc5}6oM;ECY)GyUj)k+R-GCzb9 z6#0#+m}`=q*6u3bvg+^4$5t%QY)83r=HZkV^QCs2@nZC|=7+x?nuYW=2Jw5K;LkkS z<{@o0W@;#wX*{jTH*+9-9nxP^9%`}TBgIegD9k6`R9v7CHD(Vxwxo%E-ci#|9O zGm*k^ZgJcg+am0dRhj!-O|Tm(t9Wt~#LjHj*6>Cl9}LNq?QW=Zv6cDxhTv<6$c=rr z^|KR4=2UJF)*i0u1tJZStBAVwu{c_(7yZlYITLkFpwuPu7ZGd}ii_P%P?r$1=I%s~ z3fPxy%Hjex-;ciL7v(A?19P!h9!SgE8AUuJ-yo%Ua=wxouPm+<`vJ(byN`wBXxhQt za{hLdPhe-0-hUOu+&ksb;82or2<)Bv<@?2N0RLq0SLxHRf1|l;UcDY@k58E(T4(R{ zEUy4oTVwFtSwRkh3<6V604Cy&Y4~`~I_8OYjKmKjo%QPAK8S#`0n4fyxE)BEas68P zV4*BB24_HKUO1`gstB4T^K)=Hyl)U;1@bl*pZFhefoj5&?(uwn4ZUr~$nF-;uY$Am z^rh4c3+1$ngftqT0bOu?US{I)=2-w*FkZkTeYSW8SHUDULwqWjv5ynR*23lR<(*!@ zk2)d@s|&CvMd}E{Iok(73)9p5)!U7-tEStFf-0(&K8zgq8SvZY6I`8o!jHnvj4#BZ zWk3`88kP4mfCk-+xQT(@Bs_n})7o31Xv2`CmuVJDb+h`HF_F|$1B%sYv0 zyG&)q4W(PVd$|D=I0oz=;G8PzFuh;!#YDA1BnH?NB_yFTI+-2<+_j#kdfdVf)Mo;1 zJQ?TwbW;+1wC`|F6*k?TxcNy{{xqfO(E-D=;|rq1y?&iEa?1ljxmghrCIw|xFB%@5ZYRG7rrGyaF?sGx1y89gsj36B>ILY#i%&L8t);-}XnNY6!00y5xl9!hgHlUAUqBcF z7F!qYknZ zF@V7|vR5?olux`7fq$@C(DY}L=2L;84xK^`)tz#VXK zN_pLwGGoLe!UuWGLg52w0*RWNO}mFggc46`*RcU~@rj5Ub0|9)5sDr+1N3DASq8|3 zU$0Rv!}jSA}9R)zN)bIu{WCJ++egNu6GKYileuBOPFkyf~|Gp-AjPro!L2D_H zVBlamBz+qa2<~}c^)P_5o3HM3bknO~V-ptB2Y+ln&hSoSI{*oAM)Rv5z5)>EPmFTd z0*5_DQ!UpC%8VL;cL*DeK1? zJk47r8~boK7?yeGAJ-nbDsaN%634Cmvd|47hBI9A-NzCY5gw$H_cj)H-`+?s6Ka}l z5U2IcMTKzU=*tMj05c3bDEyHeL zBm78CQoB9X5PTub#s51*6x32qB!XWYu`5z1G+q_z8Bm^m{qhc2Cfw|6?gX&Zi(SYw zhn+PVJL64PWM`Y4ctASvVEB@`M861Q`TCIdErm!7ZKytU8Fy5gr3tvjp+07V<~;U? zvv0Cl*6UqRO9NZQM!#5$|Mx8>Tn9OVvEC%KkO=~NNHXF^rN8y`xy(g8(l`7p_1 zyE?*vunl75bo;TZ%dFAP94%GC%khlfgRkF!fZu8yQH~I*SDO~{rhp1}5t%SUznJTI z?J`gS)#9-yo~8kugCAz4=iH(ufU%oefqYXA@FYa*Zmz8vfjVzCYKjYMU>W?IZ+u$_ zB?hNfH%lS9hK^Ad*-mOV3pJR4#syzaC$f7+YFE5G&q+C$(tZNqSauZ%SK4awD|HSo z?h`KubG8+!+US_mOAgBoUR_wJ?~3QCRfEP~g?~M)QOz0J#RFJ`^ArbLw!w9Y49%|q zsNLre(BK&5=_`_-N~^C4<0Z`3o7VegVY^#j1+m4^tqQ$bsYX$y)D6R>uGj3;PU%sE zdu>M3Iqjih8G!%wbWS`4Y%wXw*W zKYXlS7zVc}H|mo_$aL6f6ZI)R4^rgXjJcQFBFcsh)>(X;kgIw04+=q!iN3bI&yLSY zJqUdg_nP%n7eR`A?o`;X3B%r2{k&#J;Pwnn!!8pL;p*Dvr+wzvnCk2MI%h8~T?u)k zp|o_(H;J?z^NAXt%H8-b?w~yP^^b-vJe6Vy;*Z!FE=yASVzuo7eGcS2!CR#wl7j)=Ki4|S9|o)>LnKBv6p+cKqb9>g@2hDa(@rdrn$!XwtG&x8M>ZlP>Pc{J6f!`nX6c4a zFM8k|44DuKEmGHPIVGTyp>ka|9m=-uk3Q9E^C7AK$YZq*D@4Bk%@wvAshzgT6(;is zUGXHriWF@{KJ1vAcm5)Qm7u{hVh%%wXLs^Ya_HEJmqEj@NnZGC9fU^L$kV!=daqbzlU_t0yvNfR zLp{fCKl*dZjn_)~v0{|I_(QfY4S%QWQ?BZW_%XGl5HU<(#i?yGhebA=5~zE5K`Grl zbytJU`t6L?J&AmyS+U)x0CF;@j~16E9aP;+7-0_;sh2AAZL)gOJ&w?)i2ZdHv`id} zV4khnS@-~E;WqR3rfq|HREf;lGkuu?ky?IB=)fWs`;Ov7S$0p|?j8Z3uoP;Y1BzpZ zqjn#zlN>?%6SP6|dFI-)@|`n-)3PtxD_X*;lVZR5uA_n<1Ua9@scn-FTRG~udUoONh zvt$6<{JBOgg(uP_x81st?bmcp?{%M@Z2aAueo79ksNbIU=uVeykDq4l&RSy>>$Ezj z9>OBksz*5$aq$}Hb&NN9Q=%|53r(rvPBJXzSYC*$H1G4Ps5f(F49Rk4T>97o(kS>t&@ zAD9H`!O*hXg&Px_$-Nu5ckc4>-1%bE>+X*6H;5b57`ZuMKiEM!y~|y*Ts%4?HM9F} zl#H77{z5RcHR_b0N7;#Qp8^B8Q9{IUo6h(lEq9UG3*w#Rw2|=3Mkm&&ai{f099!KT z>KivVh}|XIml+qZv2XgfhOjJiczt=Vk$NiWvb98zGd0Z)wf5@AuGUyBsyNw^Rvahv zG`kXZLs4GOM%X$yMLu@7)Xp3+o>+N#mw$SP77h#`iYa4%$rNIWP24dOU_WGG+ffZ* znLOE84*!yuuO(uKvMu!YIvj`98C198MWRSqmC3FPI9|9;uk)8^Ow~x3sv%<7>Y=gA zehby1?D-xccjpXLIh>-u@K#0Cz9;lt-#R*E=6qi7czGSRwIxT{k|JZ?@7 zRjtB4vpD~1%*v5@%R#%B}jk+RlUHn6npL@o^uq z3qdcQB!4uN@vEnoA~gYpa1d<@Du;p{aZEWtEh@Ijb9LZbPp_x;U(<5jZF1C7$cvTp zJWA4TopH}vx#MTpO4~|bel3!+TtRkb)y%NQ`oLUXY}+Udb9$k9@TCt^DUt(yRqUf{ zA2a9Ea4l}rMzuqhLc+6KG}UV+>++WN!S+4(@=MlP@Xu&FEbc9*dULECT8EeYG>bEy z6RK#5_2Hh;>@8t~EWB7;kvdUD`P}6YJk1arG3KKM^`=w2riDNG>#8GnNJ@RfcO!bU z3PMA|ECrE2C^V%h{MRED+c^{pF>0EJ9zge2Tj1&S-fAJT4p%9;Nlfw@uZKg_rdza& zUa*T9zWV!aY&)5=-n`#cv(<-OdYJnFD!gC$Vy%Z*h*$o=h_hXC0o8StM0vn@WDEJ8 zOyxHvR@t6Mtoe~QZA?0R>8{*_T#7UQ$DdB2>$=>iJgJ(UcNpA}L>2w?FhShw%rP>o zNHvM}K~-ve&>bH)yBYyDw(+JS^=ldA((BesdCnT-?$3#FYh-L5#u9V8)vlhk{&pqT zBCEuscOcSBeGb({IJsh(NCk7P*UhMvLQLKh;n;Nt5U~me0M?*j~(WsCe??x zKg{2j@Y~;F?1bACHjB+Dr9hpE5JSXbRQ5ozqrUt4L=MrZXvZKGN8|Oib1$k-bz`&p z#I6H6qO3-wp4z~1sZ+Ai$`5@V1}jJxaCP zkJNj+-SDmp}&GSJA!4r(G2g^2n`tjx?LH0iCS{y&w9ysAKW{?eT&{+ zRK94!@kQCJ+Yug~*D1^W@UsjwSqg5e+sZpba>Ec?-x~F;Wd&M36;U4^w==F84bu*^ zTAyb*+ng%>b&agx-&-Kam4AVIZ4~wyTP3r8ODK2-U0)zW^HwRMw=k8mUPx`VfZeM$ z=jm3#V2Pt-8Q628E-Lh~8`@pv%rS(tIAga0UX@p z-+op$ zcu+3W9M;yZ;CL!nOlA3K1Gl3H8kAhU@l| zK#{t9qzBk8!j7K93eP)2$W1ppfbm|p>*i(^vjnV1Wz_oTgUypIP&pCy{d^~jLNt9MDO7W^;} zLzROVO0i*?(G2nbYR2!lX-04z*-$;qyX+l$)(Ba)7Zo*&4XZd^h`KMN3Ge{^f3NJv zc+BU|fl^gXI1V<;>`Ssy)9L_2W06~ay>YO`xV@F!vvw79o)HB8>O4Ov&Q{89r&F^N zpX84BYWSaUP2N$H4FpW36|!T5ZBS><9z>sk9w6rN?X^CB@Q3aX0C=HlEn__yuMZf! ze&zg73jlwK{2KW{m%V`(ZGHMjItU<(*d3pOb=*o^c>MD!7&2ud7)NG6IP@YJd4UK1 zYw!$^0J9WfW8VX`+U@otypJ)fYJ>a{$(|eQu2I)M8cHPY4-q7w46)WUn^X_1CElmjMoty?tjrx z58DU}%rMxO3?^qJoq+=}K2O;IR_L$4!5N4RgDcql4UjQ^|1aPgGX4apl6#K&zy9~1 gYp-q6>GWmT=K*ahvScP?ANZ%MWuRGf&HBmz1Eaa#`~Uy| literal 0 HcmV?d00001 diff --git a/content/NAVPatterns/1-patterns/copy-document/clip_image004.gif-750x0.png b/content/NAVPatterns/1-patterns/copy-document/clip_image004.gif-750x0.png new file mode 100644 index 0000000000000000000000000000000000000000..35ebe2220c732b5b600a6c109a8ca2fe28f9cc05 GIT binary patch literal 156528 zcmZs?Wn3Fu7cWc?F2x;!OK}e#iUx{9vEso>fda)Lz$xxtq)3XiK#>w8lwt*fTXA-zK6P*7X}7#*MGlfz3yf97#L4q zHB=N|`&%76VEbEw5fX7%!Pm=v%iT}QFkR(evaxo(L;1wsU%CLh!eZP}NZL99u|9q- zb81a$v4u2&cn9;LpN+J@n6IZj7C~-i2Cm#oJDbV2!^eCkQ>I3B+n?u~ugX4j{J^*m zRRe=*9^yJL#J@cWb+zKJx{n@ z-c;r?i#2gV%A&Qz#s@8|tVBMc&JOd*Y6I`hD@5is86; zMW+)9ep1xdJt6CQ>c42^^_6E{8a`p3s=ov{!VjLZPM>;&m4&x^p~w@kg#0r2Np*Z< zVAuw=@>;&`wQEcAkuh3?cAC4%i|pi>2N=C3+Y3DXfco}wxDs^PGY>m9J$+gWb$WA3W>>NF^vO0X+4M-~8~5E?u8A}0 zdm5Z>@J7J{cT_WaGD#ITZ)Lik6z|`GZbP#R4vJSqv`)wd`>&1Kvd-ohj@fT?2A#am zt}kbZ(%XL+njSqFO_-dIMI7^OJgME2ybFZWuc#gDxou9*&@+; zlBB9bI6SmH3Tf%0+Q{!ha|%v^9r!`Fm;MP`mBI7&%o?yO!(i_!&|#=8>SJ<@Wuva0 z+*Po{&v&pMl!BP)op=T8sSuPnO9EAKg~A*ghUZHYFYkuV0(R8Jl2?oOB0A$)@g|*PqtjJv_F9VOQyQ!8l*haxH^j!Fol-|xBDF} z?&(9DQSX%hyjB!i00Z!NLRCm+NazQcv{-UO}nDEP@(FsK!D2-~jJGQX?e_ndRN zx=ZtLP!#sH-L?Jso3u-KXthtclXN(x8?uy8wG~YFo%S7Fi_y@h!f@6sR;6y0UQ%Vb zE@>S0@H)9-EMd!mKYgn_7M^g}mFyKcgu_9#Mt5!k2T-QA$ycj=E*D8aM!D z5#^LPX|Zg&aoRLm99qUHCtIQ$qC=u1Uf;OFg2KEG-EJfpCyFS_6sICtg_2ps8@=2% zyI4TqZE25-b-27}!J;t<*JA-Vr>XI8mSKeng&)^4;+n+jMJR*A6*GF#%zgE>Mn0}ZS%w60R?xet@BQ)fA^ZYr`->IYfZDc7mjwYM+QR5x2? z=_)~Ij-*d9Fz9P7C`ZVUV+oNo98}nFnZS6Z|?hd^q?Ft%?g+@-KG~G%$kIXg1LXE zIb#lkDt)vFrQSwj2Qq-E3in-u+rS&a94lg{sXyZS#cn_YPCB5V|0vcsOoP{Rd+Z8P z1UO?GUm@>_){Et$Jg6uD;Y9dE>+BTaQ{az8oJ870>A~Kytfm+}amm?Q4tZ?O9g|M1 zLu@6^MGN0f;RrYWgl5KYYOYBL^-!4htUa&SybqvH?0dSvrqW(j()`E zGWGIquUoHI_`mzj?&?oLu3TwjqX78&6k?pJ^XhD`Hu_zN@;BJ;}}T$(HH%wisYVaXJf!wPR-TbM*ENHkkCq9 zJ5scK;$#)cn|01;@j|V)>f|2p-u+L~;?v-HRETxkkF)$=Z(v+29q8Sh9?bEd6|t=N z-^}nq5HvSq=KkwT++ce4zjc-WiN}oAQ_1LmDrr}EyyFFZUMw{W=D4z~T7fN=YA}P) zlO5G3s59B0DEW^PyTX0#JdU`}=eoX|*_+_H>l<)DQ`U<^V+KW~(K-aA--&PCy`md+ zKr2uIH|vsm{k;&Kw)mI|#s4{M_E55(DJ{Z`&Og5`iskx0hyLd;HV;Z8e!>j@A9VKG z7ms9`#{ZYcf83hLB9Tklj*FiXSwG+BL6EC@#8FX#wl8DjX=fmBrP9|#C(Muov?ihm zn{aXxBQieQyhO#0l6yS>d@#YwY@2+r_Q(Sh4u#w#2#Go}bS1var4bQ+8vuNfondm& z=fHnB39p<=a)odvRP@#;b|YRvwi4=k=Jb^-vptjEMPu(XyFvnA2fJ%WCFau#4tK{0 zlCUS<(2kwE>wk_$o0Lo5Z|uf-$!l-6zgncnQIS`ScGZNL4G>#yi)B5Rr|03(lviTYZ)L{LG>|$GGMc0Z*DV zI$!}VX2-9w7VqU)>ugS#b)?9PM?`ffZi-9_TgnLkJD9MaGwNW`tEW;K;VEF(u}3E; zYB};V&J(nOgEOW-{4;NsvnP%ieX50?Oa6BgZwmvT*J2}f{4!@ZEphPOpD(h%7iaz@ zho~m>?*G)P%U zUoR^b0+G1npXoR|%;|IfLJXnehfQc#N>iB0#3w-@*pn-NQ~&~#9XnZjf?rZht9EUI z$5J%`4oKb`esk{{SL*%OhG2Z3O|kc1MhGV@dv~&8scMI1rkj7?KCkCYz8#1$(g#z! zxs?phP3o&wCTwjz&~HAd;7&v$1>wUo0qsE0{*VgDCxf)Yv2vHCV0h;fvU;mnbJG1X zbr(EoN8vNI;j(w^A0$84I8FFF+Bi(>n| z66`zl(nP@K=Wp+iai1^%Q~yeDylU$B@FlSjwuQwo!fxCxq$9GSMP=9YZ0}twQf7{b zciJ4cUh{^LkgMZ0iT5kI^;gYVADJ>YR#qV45p0>|wr0)~@6368jQ$DUaAn6;zEIQ&uNerJ9_xx;v?!KgdNPOHq{xp33IfixsQ;!_= ze4rCpDC*7rN?Gzttf%EkU`B)+2STyqvof&gvndZeF6B9YJ6RQySDD|GZsS8om}HSf zu%KyVn20XmtR=&g>Qa&-J@69|C-PmaMEPxZ5_zV(jfFx#F<_xmA5MT>T6_G849x?K`^L{I0;p_r^`W;6-bUZb3vRZMax!rg`T4V!Cb*?Z#3*mSuBO6gOgNZ2 zBEB}urL6#BZS9kTza99QUYlaDOzK%Nf00AAp~%q|ADLNrWl?b()6sY0yJ|s{UZb5I zyH4$*Mn%%J@vNle2Ia&NGVf*xJhe7lPw4aWG$+dl_mC369h1K)hRd@ujf30DRGNK7 z3Mk472wE@d`jlN1etEFw z+IN?RS5=k}$RtuPo7SZvS+N7V`J`D-(86Gg=AL!NY^pCKb?f9-$^7;ZP^DK9LcHO+ zz#SMHOI+a=gu0i4vm=T1vg$c~rGzuDWsyKYH*jpwHo(q#Fw#~Ch7J)C$Q~$? z1tg>8T9nN6d6#|q2^}<}otaEhUVu$eGRie9`L!%Dr+|vqnDNDxbGwAer(63kBlv%U zMDqTjZ+-RwQ#`+B^KwX1)L2-T@Z0$_dL7ZwJm>A)SiWpok)UtoE<|3e+y2-tY-+?G zxz@vCLD+S62fo-0bzREcwDfe832uD8HCo}j9N!q+8TL~swCfXp^(%1Aj;#)5+lIN- zxA#wlnH|2}3<91m^$1r0z9%D-LZ`uTfSI$@ce%UG-;&GP^KR|`h-mc9iG_BDE~7o+ zz1Fyk7T85B*3U@_zgD5&3j;q0Pi8)tt~2|Jof_#>YSu$?SY`Xx<$_a#n2TC{h}mt} z_N_^cp19;qajO_c)vew%MS_fX<%|YEyENz8VNMuCb0DtaPb#9YSF%iH_MEEnU~Mek0FzXJia3 zcE^MD=pW_x*bqf80%iBs{R%%vAh?{F-ziBJzIacwXXp2Y7b5m9{VI(m{WbT2V(=vJ zwW^z{<+@cQf0k%<@@&{Z_F-9Rl0hb4Y0@tbV!UQUw@j=mG-2m!dP$&WIqpb%`n%sZ#%d3LTWtT%?2vTmojIOQ z%rfbE9PzhqVr+(ML3AkXqlK^=0z(C}X<$B!c*uM%4(g+hv4fS4DjVwi@7tXsPJ($} zJDngWVjYVD!j%DOiWBPwGg(kb?99(FEadtB4Wi_e(ckff$e zr^m_TK+mKiP2ruECcLt5M^M7;mqQY;tr%%h_ii~seda?Cy+e;LfC5#oHA9gRV#qS5 zm*@8kx5T>PMyQ|;r8QjH8)Y&Qxv<4Nzir^r4WyYOE^XmMG+CDb(xKjGyr8pRQOP=1 z-Qc50ibFgU4~RE=mz`(lm3*^TDVwMh!&A*eX8R8=im$*=Ncj|2g0eUcRw8aXEt@>7 z*I*2ZFp>8VE8Ui~zcLV+4)t3f&zIN}mqaq_+LJSs%A)0$T)%X7nk8U8&h0xu zJFFa`T@#Mbv%&Wkp#IYr zlZZTdtr*$Xul=Ju!985w2>;)+8nv3^3yS0dn?FmJ;#o7C-678iG$efk3o9ftBIe>Z zvmM7*ryT^5QHUPv4l%g# z&&(-RYI@_bmJ-j8Ep1~fN6&Wnnj#`G@sy)!JmForKA2Q#@An{|ed~GL;@mof!`4~qwEjc3j(vaP(7=bYr;Y}bK@BjBwNL`6#IR8ru)k=9*_KsS&_ z_b&d1=@OEQwj=uO=zjsBTDR!TderpYDMVW2^17?Jjfp!!O(os`Ha(-j82{~;{)iXk zItr{s$bVw;xu_M{_P8THb-@0TLTsViy`oCKU!k;cQpjVNeyLnMha=~2rC$$$fus(? zFOZgaHFD=ppkK}AV+=?c0%>Yl)S|AspGg)3ObS;YLmT5f1s^O5LMMJVeA`Svd`{|j z4a%kKP=g)e?Sr%|_Y0$~BA`!y&gR<=>;NQ}!O>@Ffv( zwib>jF0Blr6Vek_4J975hgXt9DgbeA9K(}q*~2?_zUr+(vHHm^Fi7;)17n>k?!s{G zyssoWELEQ>w4nw(DF>^pGa0#HrfaYtnSA;sM)XKsWTrY^O~OvcQBL{Kn_=%nDt5)m zbVd^qORyF>C^&ZmIr?lo0}udqzu~1i`b0?a1u3KLn|Ou85Y}yxnShJ?~gR zNj^lm!DgImfnouf^oEZM3+B%`acQ6{Je_`96xssNR!YiwpLRcWKq@-)p$L4S=Y1L+ zQKA`ywr_{otL*cvAadD|wB+ozg5-;t(^N<_7D(vwS)j|5!Y&o7(=o+*Nc-oR%^h+t zE}}~v;glB)>NN}(%e%I&_RF)IUG>Rf{bHEsVLs$8lnD{DaSi*>!il>VrX=AuRe{#^ zFK91cIJ6czwIyCsExnuLf)p9fXVe<#%pVww@VL-AMN_5k5PaK3%x`N3QxClZH;<4c z%8-ZyZ;N&Bjx~(}^l1@|1+MYiKl5LZ)G3;w6w_|B%hWlk>+=8RBZ*VQ-IXqL z!Vl~aMdDDByTV|Oi(Gxp%8#S3I zvzLzBl!!x)H^RvjIjU2M$dGIruUdU%un5&e8Ca$It7w$VN{sj|GAnCbrS?tXdV6PV zg;Ws!fU$tjSkuv?R9Y8e0QDgg;W2L7!&7$ZFVp(MX*RHLTzS-57ldl$huXD_knR%x zb1P);0$ER>Ri%(mr7xCYyW|3$yLrmHT$IuPLBKWlH_`wc?2S8%DKPY@;^sx(Uku25 z=(31ZS>Pj0hCccA-iA~`0Cy}brJ0Mg~kq6LIB^lA^M8!lnG`V-a<+(??l@nYpV1>t@seWE5ien{(?$Y zT%vnjfE@MrOuOZ{hvo$l;&i&J{W;)r5jl`kb-c$2S#vjr>v|6PVC3NtVPEE;%m)p{iZBBLcex3;Wy@ zHAzqlxN$6ed$EUSpZkoFQKh(Qg2A%Bs-R>+9dLP1>Px5oC~J3|MEa%yp1X}(m6A=d#;k4{7NPScXU8>-!7H|XjWhZ#mb%N**vONd zN~2_3Gu^aJJ&0ma_%BG=MEbADKew^OtnD0a1su(ygFkjzsChMgr94Ohr7F1aiAh$M zsa|i=bM9{`&^;*)fQZ&z&3l#&kG-?aW@K8);IAuENRje%PI4jlk# z-cNJpIX+wgS!M^C9FYXi@^uoBdXA})FL&_AC=;Anld@vdIR+DIMDGN!jA|Iosztks zH1Qg2=0v;XCcbR!Sw}s; zf2Z8yPTPmQ5If>HQo`|Z(!jF&S1C=IHG81aoBq$s52hSw0hQRybR1#vW@w-Hvg$pI>DlZR%#aT#KXUH@97Tp9Iqo;xW#lJ@*oq( zKiHZMjP7tZSFWd(UG^JTmIJz! znr8}S=ul21L$&CIf1+sdGW9QtZeup>aSLiiQKomrl|t@ZsmAIaNL%q}S2Z#X558D$ zvlF#RQWv7-e<6JM#B-f(TPd|24X@QhhI}a_k8GHoST~gZfsV}Lzw~l(|YdGmyLZdSu~o@1 z^vMlbSHe`q`YPczO5?3`y~20_iH@X2yc|+d4xLkHN^dbYrR_Q(v@JIl>NP_UzO8If zH_PC=9>+gsJ%(pQkZ4jL*7>l+MuBWN&AG8G79rcVT{nkg%9fOM7tozktCAdFURvoL+|O3na4;z!F7BskxC3} zKTEjgvN(hzpO;HzP9l_kQT;s?Z1nvmbAv{oU!%eW{u;A2c-(E5SSejF z8|%&V7x0&+xm;6WdWP__L0mWFJes2}?d7du7V~F@t}&kdx#lwEzCc5k4N~ukq!Hr1 zl#h{+1?TBv;(0EYMeX}95~uP+OOqWWHl;+2pBL%w8-~j_N<@}m9R6as`wRN?&4k+h zcY0J!R1zG&o)?g=2u+naLOsre2?^1IG;n;U8Gh+%ROHhKH zJx=~;H}O|FAJw|HJQnuBcbk^>He}ttn-3BH-jSu}JmH}oP?=1`pXjrkT_dOpfC5^w zM><};%lU1#@U}1OG41I&spX-v@K+q(Usx7I-UX z*d8gIbV$Zp>Q(zSCI3%aNF6Gn2&Yu4bpL120qS+617T`|O_59CtG5E#q`J-%oTFhH zxk~mAysyVA=GTmc$A~+0EUfx~T=Q#Y^(hD~WQ!)vxFa9e=|A1X*YPF?q-R3DKew$r zB3{G;MnsjX5j@BRNUmzT4O7;m8|dt(_gC%H)Y;SITlKzX!pnpHf{$eu43D-A5=SOf z=(PA=ATzPRPHaO|bNJE3vAowY*dg-z- z{7QNX9HxCjw(tlJF5x!b#<<8V5BBN@9Ou`84qI|5zuNpeR ztgP;wvG1Ql=5w=QA4KC*k-wTFY5P4Z^5)qF-_Ez1t%NnCn#L0s=cyM%4mqX)f#e6i zdw*{DkiRT-(#Fzv8#R`*6oJV&h0Qsp%~Qn8Js)?SS-E^`5+Do<5(8=U-Nf$mtlT{w zzZGSF^&aTC*){33+Dy*8oy(gq{SRIcI9Ju^CgO=<{o^qpiSD!JVz zJ$~z{Y2gqXd^5g?1yq`IxxJDu*Olj73({lt;lS&;dNq4Qwcwj}V(!Y|4*oRTQM++i zMk!l1k+u>!FtO5MnpzyVokcO1$Lq4Fn_^1PpJ8aaNlCdiNliYco@O$aM>ngOXBtCl zzP*(}DXpOj^djgWP8Y|o3QP4L)T+x{XZwYfK6j#CH}}DSFt&QvKsasDhAMsHP38Vf zH}M>;Ob2m?spAkaf<1ea6R(3B;x^1zI%w)aOt%?2b;$@a`~T}Dn0 z&flR+#j;N;Ep{`nKqZ)W(RxJ@HIP)XkxA!d>Tbz46nuJ^oygNKH2V%$YNh6@ytK5m% zZ4yZ<8T2isiwfpH}mzo9s>whomNP$t4(XI^whiD+M!4p##(!? z(v0*orI6#VZWEJcUhuA>F2%W3nbU{rZFWMsEKcdn;c}CM8dn{k5g18U7@tff=tJM< zP4+zxJ>WCli`3w6-C&c0pK-~XbPMs{CxE3^hLyR7TNh~}wLG~Z8o)>_LeJNZej4JD zc!U8)>c6luQ)`thdVyAHF9|y+hh)6?v-z3HToW?VRtF5yMYQn524ml|ZW5?1jYrKE z&T@SOs;9J|HO5DKST}F$Ht{a^6JukFN@GnPzX=^0z^Ds%8^9Ow8E@Mosc`#H6n|EL zM1mpFv!yoQ-O__goN_;iCe@40fyb?ycj=wLd@zj^L!Xc#uxNAW;c&TI`?>;2d4P5Z z7acHPS+@!^VffiD8`*RN>WgOPPrSM5JFzN=QiMZho+++KaJ-O6nm0tAWAl)IWqiGK zSNJdHzez8>>(iiOOb2qqAE*HW0vvxQSv75mhN%I=NSPSAl3~ZOwJxB>FNfIpurYL@ zA`SqG1LVh{{l4%YVmc0SH2#F%Ww=DH;F*JJSDh)HPw+T8A2V)!#(My7`c-ji2}1M( zF8(^_AcxKmaxDI2$GFD@n*2M7BR;2pv zO-qug+axeURnKHo$ARTfN_}$4XHzL3RRdgnFS~K8*JOM~!VFu;Y&G)Bfil3`IN7i_ z*bC8W(q>VZc$S@t;5csd&IpyqhS6b;Z2Cps&h-QosT6 zBt->$o(zsj1wF=T3ss%vy;yvaYv|%awJzvV-=(hf;1HFKB{nn}kJ4x9x36KGnVqWQ z$BktP_{7c>OlKdPXd@~s(EH*Rkve3MMI~D`!TxU`IarNU^3SM^T8&O=-X>eg8+C8m ziI2$pUONab9D|Pw;p5$zjOce3vxVR;;B%T?amIq&8p7d>qc5^&3p2#B$ri?No<@k{ z-6l(Czs+=HWgDn9u)j@nGZ1{)puET9TZZ7l#M~~v!%ejj9d{qDPux;jkz$S%78s0` z`#juf|EnV07Vo#khDGZ28iyxLAS@JsDS|uCFs-$K zYD=ocHv&d}M@Z|zP``5#bC#qJ-&-$IYuli;fOSm1o>i@&WLQpkerje*t*_+(8l^-x z%bM^+)^z8a6@s>Qmu01hNudb7LxM`PlE>suDOr0%K3LPHAhMw3Z_L0#>7%E_&Bqs- z4(f}aIGGQ;B5h^}%s4&8Q?#y9{Cz3hH@xOvIty?|)anf22T&^U&`w+$CtPAvuq_EQ zv1?GR^JJ%(wx&SVl|rZrkE6|oK4%x7oTLVnb~j&$P*vExUh zH^?ji|AKbylCsi@hNWn;f@AI^zM`fM#{9mn`Pnep9~$gJZtj@l{@b{aDFi;q;BtmS zsDay4$msva?3Zp#L=UUcrR*H!+wV#)kqm)>MS3f%B*mP#Iy}u@wV&q z273&WCNDUUTy|3M31Qk`jf~@^=EA;(c44IH;^A7zwy5b_lTtuaG(PFx1 zqe9tv5IgaR@g$r1weZa8w>U!c)QbEmSGRRqlrl2v>p^mQKiqTx-0Wqe*R1#}agO9> z(sixUkt&i9u`?yfwZ7YSyJMQ<^}c1H)chLE;lH*0UW9w2%nmCJ6b>9cRe!;AU^m6X zCidO9tYR9!LWxV3z1XRIJL$}F&AQ07p^(?f8hVRM5AldTN>KCX0*b>9Vuf_9*$_pS4fy& zeLkS}+VJfCj{*Bo3^(dKJ~>LY%SgTR~Y7?wtKA(T{Pi zQYPJfBw$^%Mnpm_XR?CKZ>Ng_I{i^#~r!()!$Mkg0C zh~Ti}2g|bI;*c&?M!Uo4G}u1`q%x5`JPgE&K4P|>jB0je?N6`o3jj_322p?P3P-1Q zmtt_JJF|uddsqUON<%%{zbjc01@BRw7^G7!YU+lB|IqfP)f3)qjbg@n$%ftHyahAp zc)lcaI_h%HB-vn*ZYd`NP38=I5JknXQK#fb7*&JtDoPXUO)|T&fIwD%JoSTva2h!6 zG(L6O(oB4eTAJTBg>)Idy}2#NmM!uhT%6R&B~17E5g3Jv2Ma}%BFd4&X0G2NLKIN; zBU)iFqW_E?A*AWsl7o1!)5c^N-JQ zqf3szjWc~Sbh~0TGruy7(9o=_972C)=@|C45{8?{R%*a78wam>OC~-Rksym5(x)dPD(J7cFWEnx>bN+U;)gu8#Va(W?6=6LMI|q1`uKWM? z=AR1?N=oCGbsFkv1eZbtM4TsD!+a-)f5#R{LlGDiNm^YU@u6XUbKlunL(WixJ?R(VS8on&hT2!)3C=Oq zi?MCX46Dc@2K{P;v=LD5OcL}sOU^idMwWEE5)r4#k#fip>&EeADTkkL%d|AHq?Ruh z>ymL_*s@Dh)O@jEDEk*fjKrIMg>!j+?m??f#w$Tc{!k<5o6PWf{0^!jXo0T^>m`cb z{@dM~y}b#uQDzZDg`PhT5&IT#Ouc#HnK=1k;Pl@jOF)7HW?74}zyzRP`M}lIaxZb| zRJ0)Q*yr`%vi4|GOjy52c5QV__yr=@XA63?JDvg1Y1aN zjyPyX+>y$OZs}u9DHH$JZz!5yITCl zP0HAy#9Q1}w#@@&rA2E!G>%{~ZjNVHoLkHD8W_&YAoJ<@ms*|-4pU$xFPvr&)mc*M z-ss9tHH7XLp2OISY^#1*atDo(bp*u?rD0G?wME^G%0-@=RZB6~J_kMCc~)Ox1qNA= zQnZmgBfI-!d>lDH7`@7jpjlf({CusWRL$%J?oyFWcy7GFHCH&hT?&EH1aNl)Lm^DG zHgYBZfn>FH8N=mY*Kq%!L#m~?D}Gt~qg&Z+?I(()_o#mc3z|r*LoTWMTQSFzgJTVI z71Z7gfv&uIQ(T@vI`5&(Yq%zC%ZKJAC|9MBKLjexRVq;nZ&a9W$wQhmS#E#7;y8Gu z4~cG5Tn-4j>NY29xHG~!x~DhmSV-{;6zEI}!GH<;V9AlGO%9F;I?hWR&20a85W{}p ze#N%Yw~#I4@ND`=FpWFtkrEVeXIaAZCh0^#lgz!H$tQ=n?9}p^5V6$#OlTBsqr}^R zdhl{;@@n0KcHZ;FxU)XMeU((i=T)BrCBD6~|Fb78~w1`}10CF=(aPbjLZ_2?nJ)zUAzknT=3REkJ?f z{s}p3RR=Kr+dJp)dU4j%7B(p53&f5V%IvI?q5=y!{5~C5J$QwW%=|+uWp5E-XhG|% zYR@_?7g2)EV|9xat-SK6naebu=7Vm#3 zKRBOF_oc=a6Iu=bVcmPo?9ZSXHy~y6*AU9X;AH2}Q=kY$4m@%74VMEXJIh7wat)6o zy^g%|_+Lx@yPfiHnqJ7s;qmFJOMAzMWV2aD5JM8j+8y+`hc}w8hTTjq#F0s3t95qI zTM~gY6c#*Abby~jQaUs@%N!zk1xuw{??$cfmuKJfiC0R?0E9q5Y-sla@Q~|)PJSeNY+a448}(H|er%P97`#7-3(-B)nY7vr zmv@!vhu2GzFf5kZNy0a72t7GMfWW}f-=BZeNrk*8Kvd->t~_lswS?|k%{q)mSa*9@ zzLCX#dU$HXb)O$X$}Idvjke$F`lI%nJ-@H(&K}AVGPIQ1IPHqN*5xLJJ`6AUBYmmm z2%LV`sb`LuLN|3n8HozQjt`C^wTI+>7Qm7(-%r4op58NZre+yB`}Pd~&UGK{oCKHJ z97lG0#N>u+kBE6}4)OoA`W!2eD&{HdOm@{f+OfP@K1(Hmy?@|z+AK~HJx*h5vMSC$ z=S5-_0_FO~Ul8`Zka2f29x$z4OD+||=Bo}YrFQRK{c>gQWdtYpb8s}t$3KbzuV6FC zf!u+>Lvzet&g0cBk~S3|zkg!~hhCEgBs{6iGGTOkv6-jqRrOFTu*6N5?*pYc1{n%&lO=BpLL5xT)7Rx{l2h?F)F)W|8w{Bf+X$o zH8+vP)$bj#ZyR6zK#Fdul4>#B27!d0FQ`v!@y z1|I&9!U0a3q>-;>+cept;&s0We;{!!2qL{!coKah{qG;{W97JG;3O5wCgPHCotP#1 zP?Fk{DiY_^zi>?gx!{el*X(?_U#C^wNw>Ptzi zRS1$Pk7Ok>X<&jeLdB*`2BZ69H2mV&@MOot8mu0}{$^s)^W!3~$S%u;PpojykKVkd zI=I8NC?yAD_uCDPmh(P2=&v0qT(Sc7>u<;8NyWPPiH-bA`cKB98!JN}UpC>|R2%#+ zNH&SNW0m;PKgywI2vm5Tv@4>boa5ibNcc7ANp>9*SS)kMQY#1Q>xakvxp00PHR$FybJUn=StyjVY zLH9-x{#Bg?qcj^obRV!`!#QzTR-uF+8CH7Ybsy+PSDwt}&d<)v;z9OJ*v5{FU6MRI zJ&njiwb-G~XxEq4TV_*Y?RhUGO9#dxIri-7K3^^eO)yPM+w>(H2gL~J?cb0piQZ&^8jK8;A zS8T>y?np%mT>UI!?_jsoe128G(<`Re=7g+}%|XdstOL(NgAcW#eHV>K&-}N-+c%DN zJkehU?W6AYEK!gJzn}Z3CMR6DKJB3=?9hgDS^mIP21czPJ>ygE8y!0+y4wXY)POXW z3otaI`RN{Hb+gNP@3ST7>ai3_=O@@>B747Tx{?s_(TcIbJpM`M&T1(5)T>gq1&|zi z!pao1Eri;S=JVv2!6T8sePMOyNXHbijt~9Iko03FB&>AC?KcJN;W=N}LrvgBFDkh` zClPnWIx$NjfM$X@fS4gobgkG$^~)N)*ioSTyp;NFw`z{(O6+OJ8BI+I zh0-uVLx9FI!#(V}OW{7Y@vDX+=*UBwiljvp^D*iM71--8vhUvBwZEd>C3d`=Nb>{) zxVslb2Pd7wPa6KB{Cnk5jx&@)L3{11P0D_2UG5>#(OJ6PxVhgp+U0||3xZFXhJw$S z5E9SNVch+?1+lvA`H9ZDE0OJTP!f=A10F0?jLM6t6?e4dYUOl~+i&B}(r^7JC?qk9 zM5k-5J_qle>Aw!qN53oQ{8mqUk9vl7o(P%Dk;g}VhMs*v{q09}wb$x*vIJ!n~u zs_xrz_>QDj7o4%l=M!ikmF_BF)*+OHDd?fmKRvL0UYNojLV#FnlKgg zZSA9pbMML%)pffE_f_B!azjY?VVv^*Z=$tb?i1tU`MRb5^)9sK>Zld9fM`Bh+@BEM zNDVsu9q+d>^*kO96`0V~?VixRr=MWDVb8?U4tJ?u#N&HfU>VHi?=_UM&WnGL79+K+ z$>&fr-v}|%2bQM&97KnpYx?SiB1}sG3#Y3O$!z@j@_8fF?)O_D*OfL#&8)WY#Fe(N z0oL>3-OQkD{fTNL60@6>1OY4=45C+(zNY1 zxaDe)uM0{;h9==rwwNoVviYlk}nDDY7NdWjV<8tuN}Iw`n_R^a00&dsb} zClzMod(>4!W2)hHJY%vhsx|0&BDz|9l$hu)7wHayFh8N7Etf|w{#$?PJU&SMTVn}Z z|J$g5WDufgGz)v2_D*{@EyB5m95?g#>2`X#;y|<|-R1tY<9|NYd)mFH{by{HokdrGX+YeO@|x3 z9I@D-$p2*ys!EH1$rdh!bfR4PvEp;Rnam(Q`=5ruAfWkl=3v#gFm2Nf9jz6q_ldG1 z4(DYl`y(uy;NX9;N#w#ydhA~#TVtcG1E0P3U0KcPbzC3wgMm$lxLW+50H_5M=HD)( zvUmhmggehiR|`s4RNj=+9G-?H{pwD_cUk0~V?`u3cD*wfJFKbpJkFFj(%MHC7!^|H z30BbEd~AMSq_0RvjspQC@@IG>T!5D!XM#`@!PgtokET`2R}!BWLBCgj!Iv2brK~1%*cw4!{!;^O6Dux12F#SUK5t=FIQ3 zo5FAHQ?hkehl3F0Zs6JjdRdo!^P4bc`I4?6zyl}g;08li{)GD{v-L~FGt&LZwPp{I|q(@hvG;yhFLWV*}H^8!WeA99Id6}UkMy&KZv zzaM0;F*~IPhF;5!L?1*7`Y^wZs^VC(H2thma|lK=azIvg9m%P>8P`r36DB)dQ8cO+&EVD`K zy!V<|?yL&XRzDZ<2`*y#?i@%R`ZsEcyREnGxFspLW8~+t?s3;w&zEL)%quhT@^|e$ zfcTZJj$eV$r^APz*Y3<~%F!Dr?;ik0T^O=5x}bY3-U0RDZ$N|NjA~#XeH6^ zTCQ>S-|cqhXf!-o=X;9FNq+o{nN#lZ!h+~W8V_onkNmoQ2~%>(+qJblOu2SNYsy48aOI49_s-&`XW z3PQg}{(L5^eD>FSvd4=7N~rHWI=MjUwA}W%pG?mOog8KPt@aPs!3TYC9?v%OO}9YI zp=RRP`y-3Ex=TwQT+YUs^_!`t?Y@#sck6;!2>!6(-&%`}Cw`{%&9p1-x0pwvUO10e zvqUY>w?JRU?09Tltqumwqn-qXQ_D73oFs5LRwBtzI14lDN8VBA{^%o4sJYnl(4fa_ z|4v8NHmh@7xn@@xkcB8_XrLoC2pY$@^yG4B_^ z(amdbs{5C;k&ZaLy7edyR}`^!6V0UNK@V&AxpoPDN+4l=Vqd-q#J(MXp7h5Pp4{M$ zu5URVD@W}L_p+S-UJ<#x{GmtL$ovB&$-GPq^hY(7l2YtMED0(6i&tdBV{cgr%%4;_!lp`j@GJip+iO)MvWCjaNaih@oCF{ZFwip%?8ULfu- zw(FB-|ED@#_|18@|7K3F^GcRfy&pb-vYW8q6+feAqjICjvn@r<(|+!XKNEmxf?kr7 z)w&Z?Jgjg92xo?czS9xqMM$E+n2kE_L~0yXL6 ze2`mw#D137>EoFXt=oW#(eArPoVI_D6#`@L_bIlvPr8%kV(XlA){uTe8$Xys<0OvT z;!0s=$PT2%?EL$VLN|9d;c@h<{YjzB#5ndV|6aOtZsvz3ySVC9k*+@`{I8^KDD&&x zfvu~&n{@Ekr4JtlXUj#E`u;zn&N3{j?`_*EA|ee^QVt*}UDDl1NjK8n-5}kaQqmwf z#LzKxcXv2+$I$R>fB)ln-)}P?81`O!ueI*Du5-ae3F39R3dFb?#ZH1|;V){3u%fz~ z{{BriVXUn~%B}hO;tIBOHi|F?ot=5JByfw;rrw0Da!bA5@Q5><#)FV;qZLg*L}q|= zi#%#{EMf@z(op94%9Zz)YEX+}yh}(_x_Q~nf=i{>pwDfIQ$1G6*a_&xp|R*;E-CYr zK?oQBQq2g~*7sYr@O-ERR4Cn%i>Mfhr_$DZDuvu8_?Kr$v5;Hb;m5iAs_R{9^`}d= zmikM2w+dhE$~NiE)=OKr<0!R_nhk5-`|j*2{i$~i3zglA*H3{#hp4J8c4R>8YEDcE zZMuk)z%sw*B7K@tp68~A7S$a0nbNieKE{Wf&h2E2t#6=7VywQNtBcu)M#}OVs=zo~ z?_A)tcSFu<^kq;j)Ak<>d^F>4Cc}?z4x9n-eql z_Tzn|j$|I#*$Z?%U6lfnnQ5|i*USFTPuV^p*E-mkhV0}`l_Zw+Eg@_C=jbloi0dOo zKYHJ#n9=E6k!EQaM#u|z5sp;~1h@KVo!!vd8Y($)Li&2PGC8ukA8ji;kRI&49%|~; z+YY3MA4XqF$d~tK|L}OTgiUdJO5zK>`)%ZP_DJid*99UT90+i={E~cj!FE+AJHK)H z>DcoMcV4u~Uhn3`>brqptr)_R2f5?rCy-CgjR+_DFZ*FfL=(OnSF6jgU|$9L4D42> zEvUrVQ!u?7yw3D&p+v9cdSb}UI)rc4W5eFdk^J=!uX~#9wmP(l%MH1{6Z?}~4!e(F zR4DPy=Wg%w5*A_tcXp070%>C-M~k!!8j5tKpcY0&c3y5Z`oN2VAh(MtPrJ1x$Es;- z_Swvgn7Q^lz9)Fk`<6%8dtUhMtFl!-eAlsN9BEbhUPH!}k@lWfWn2#UPh0IzrY+z6 z84rf}BJd3dsIT>)k)BoOyI#Ca>o#64Mj(C-S0qv@F7M+j&(qyr&(ncu0fV!e_8#mI z0fWXBW!|&tle0PbqRlJn=g=Khx{jrjwFq~hpmTjtWH^iCYEZ(8{7iP-v9EN!9yI3@ z(bxWn0J%x%Fk$FSuUv~jw3UPYNpjWOU{wMy!{zAQ)-i6z%^A>(7=_KIguNge=nrQD z0_$!A^8)=H~5h!4IPhtP4>-E&+RUbJ2t&Y;Tx!0)p5Trb~Wom`8@%vDL*Cs};G`2S0b!d#U@d{>2LprMPjq z`0!VU6WLqky*TW3I(W)6uv@A9@XKd#^X&GtlJN4>%)j&@HS)@=)JZ~Kt-&F>xrF*f z6V(CNaopf=eTnG<@WBkk#eNm|8!W`v*ZS!dNi|oUgwsuz(PyS&De8cPal184;=GXqthbnxwYB;oj2+usN&Yi4w%6k9ForfY(#v25SA)gKdt5@X zE#r3koraTO26r+G1MBbWjo1v9Yf!k#NvF#r%lqDAVUhWFZYN$u&1znL%JDnNi6oMo zccd=#o(cKx$PRM!AqWF&$w?<2Yj7VtJc_Sp9+lV*Nzih;@MF`GDi~I69Sjecyb#XPTV{a^ZR9;^W^+yB2&O zZTp?55kqA|OTkfm)INoE?^=kfkFWF1*RbYswXD)RK!Al4Ag_im7grl2(8rhGh~_gQ zJMTS6N^5Nm?xiJ;{*(ef2;@s9;eBPQgW?r`WZ#$Ae0qMjGLN18b3Ny!TklclGS`@) zyfF^>qGpn8(dy0?`21AAjMFUQsO?KAF@dO)2s1lreb1k+XuEPVp+P@%Pk%nJ*V;=f zX?nklMz=CPhZnT-@Z(}5Vrl8_!Uj4w+-^gORQ%=e@T#Gw_sc_`>uZY9&VA_mF!0uV zb~;*fEvFT_Tu;gJ+xbB8j?%(667pnFhZM>Az2>Bg*_8z0s@asW$jrCw$p)1%D9I;l zNJMK!8IjyUp2wNN)NL!FnOIVx1O$TPJ#1x*?L-GU-WyZ;9TTh@^MAAb^#ZVds^FhJ z#_?4lhljWtvc8g9h7r4RCGZDBU4gfiV{m&qqS;gVBC};&wd51EzNa@s{H0U!0{i+~+)pJ7Xy& zeqFB)yXr4Nyt%wz+lV?T+~naQd{5`Eb@wWM>&MpPNOiCGOS!-F`6t_(GqC4y81=TE zS_j$L=%41(EBJ!?@ePrc1I%yH@g=+_vyx=n(Dq?Pz15N*ZZsSsvTWcb)cLqry=G|1 zhK!DcCe3G}pR$&DV>Omp#lwM=ZGHE(4V;P8JghMoJgKuWbq3XKq<3LnW>}3N=_@j< zoAV+T5I`iW$O;KLdH#yW&xF*>IM$V%_n>>C8;A>c-AXvBsRFsb)HV*V8g0Gl+@5ng zNq1Lw^moZ;=uFW%fodK2h8Sx2`g>C%p{1K{8ZN@mD%QHbx?-uuueZ0mu=B4C{S<$P zgg|Y&F@oD(kQFq)$wM-Pz8sO{)hA1Noi4}F?NL;6)2aUkE+GfySzGxj>*MS1m}Nzo zy!DaZmzElIwm|8pp@gMULt=7)R)u;Xp2)n(V8oP^pV@U3E*Y742bwphfG<^a>o1L% z#i12=4@mO1;w`z-i+oQ-8Bg^aT@ILUKhbi_S`68Iz>AYMb?mZ}?T^b3a%)h*g zDp5CDP(GP&8J*R4ok#R;=@tFiXZVI+ptWaat%yi6_2Du{UJg5U;UFe%OfFQUMJrD;TAFHMdLmQUG?6i*{}r7Zdc(Jt$~rFR8?{I>u+i7sg?tXOUU7T^ zqt+V?_M&f#)nA-CM@sg$r;$052dnWA^P)X$QBf}f_`4a6>bF|o65P8V5F+p-e4W8cG<@Q9)G==A}IH6oF^y$lSNB^1b8c(=%={@x0 z8Y9h|c!)0|5gp^=aVjDX0UapCVEC8GRQ;AQ8XDN(7<&Sy!220YYHtD9eqcQObJT77+GN) z5fWT^)qopctosWk#b1n5gB$;)LyO^r_Mv@7R7%Qd5D{}bO)^N~+2UEdrPh!^E_tL2 z8Rh`u8ngo;sRIQaK73sm|XX~Ds0L=%X!j_R9mg^eFz!Z51ZQW)wmhdWE<+qV(6Zf=`WsJ@+mouft~RZR z`_rO#rI(m_%N}R7RT2wWs=1Q#$31F_W8E~i_5X4#QvPg}Lb-5QHsomEGkL>>B|bP{ zA4av^OjsX(Ni@wZK5K3~Hj!Y=HT!*kz#X>I-DJp2Ueg0Oaii5EA&S{?W1=C6)*#T4 zk*-s{^b#l;Fd96b%gEWpZP5TM9F4`iS}CIL<72Dsg@e$Q@>;OYjck@!O2#C)%XR++ zak8<$G3>U+(y%kV~XF)qP=I1O*fqgdX*mfAW(htELZfI}%}=0~QN02f4o zJ?7gkWv?q~62&Ji19}&A?^!wsOmkmKcQMg5Up}#bSyAo`#opNN6L(s&?4R6b!1v@B zt6!n~uRYqma;5grCoy7q&Kd@F!lFMK-DU6nEoV}a?ms?`85C_}8?0XF9Ts%1K`?al zJIPm@M5@N>MR}5jTLRgoHM7|#lX0;;$QM7@tBDQ_6>2F*d&EvE@4v3^1fn zovqFd2SoyKcmDHgGUJU{Q?3JEO*Dh_mu6Ox;#w&jO&-O06WQuaTW_5Ry+ZrW8!^C4 z$r#3b`({PxJrGGTiTa7`BT*3sLqI@AKh0eBuR+?p9x@nOen?iI%jAQvse~T;+g8x} z4r^B!uwI%oE@J;JyBsn5cvd0MO8SX%&KkU=0GKsN25eQvxr1IuL}SMvB>#Q^FGV&Pl(QBh7-q}!t&<|t&3%!r zF-ZXDChYMh>r-tVy$?sY2>b77H(!|hziy}cn7x2hHKB-s`?pH9ev^;PWS}x`65gf7 z#H$k@XXke>(QM89OeK({E?{`xeacX zL!1#pgA`Kcv83-?ZnQ_!)SSMjv}6~xkPXpthl%O4x|b=yyn<=k20jUzEIZb3xk0pB z1rUnDgBnmk83mY1_5K=^jVwe0DMp^r!VY{4BZ_i<_WfB1DTj@x{TeUEHZ=y(avc;S zy_2<{1;})JYUl&C8HD4B1WLA)nGgCWf(BudlA}Z!6KlUT=~P_d_BU!VaQ<84L!qQ_Ae9x z?`M-D(gCi}HRMk6iNl~J=3A)Fh{WuI0|0w`b|Z^BkUfoi`oJHbZUhTfIoO_dsJFy& zU8%eoGx<+ok+-cG{{ti5h76{d{|0;Qm@3WtTE#yfQHepufDp5&A8} zUS!d&lcX>`us!`het}8+@wpul91HUKlST!l`)r?;sSkD6OSonFckk_wzj7hx_st>m zx{0xDbC{Nx2E=lT#BC9QK1BN(^~o@4^-2H`uyH7e6Xx>uD*3yw#yops9Me#lxA8ol z0aBPoas?X>!h7)sgd$U$BA=VT630ByGGb@rNgkk8&G0 z(=lHC<@f!WdiuImWgRt zPvR*1_$f14Xc_-%HR^@Fo|V>7rC{9^4(^gPYn4nzOlV0&%VDsMSDT>dlX>UzOLR8m z2pL)J5(nkucAs0B?Ba&RCcR}>AJaZOhre-8`S!<4s8nhz*XP(Y+fwU|;h}{~2d?;; zXn>5g)VqWw^SEjy0T$`;Hw%fiPy2-Lz`#)uZvE8Vd$@iNuwDah`qNJsYmN*dVKD^V zRPGoYkU8khf6g9n)V?GwDHyvP3bV^#`nw|S#!O`TsKd}txhE$S{Z8sHe}9LQp;*tqnk~)_);{lKam40U+0Xe z4`co{yWef7jhhXKj$*a6Dvv29?9s?z1M7m4jTY&Ev-ZyNHq^OdpMoFY!2P9CYaT8M ztyul3Yh5xt)5E>RAgW*zmPF_ZnvFNTvq%+oQ;{j*Af(8tH2|iSYUJ&Ke(qZMmnP*y zO_zsa>s;xc3Uj2e6C)XuF~B?q_Dvw!VgjuTEI>;2!hLXY9?u0(jddxH)pTeQZUI|$ z#eWR}enW2V(j)!dwm0 z@Dvis2xxHeJbF~mfD)G3W;TVGm&wh|Ej&(>|6>BHy9Ix-Bu`e-xkyYxB86k|m&k+^ ziMUt@+0vyLt+P|TJ9q_iQRvm`-WaDOIIlU%<-3HZ>Bk|Ysw@s}&Ek3uE1vRQrf~?n z&f6u!<&6qr*Ai>Fx^Tj;JG_$7?Ggab;1jZyH!-q1z#^qQ79$yOFzzH}>pr9!SP7$P zWD4u9r?JP_&vVJ)bfC5fRVh{1>6UvhaUx7IrPBT9wv5UODcsOCk6)kTPjO|iN2zdq z9%Yutg0Ath-1I;gL-qS$`v9vCxI8y4k+8wO!{6xpUkdmebyN-k*W0`<^HRA<#4l#*>ypT{#>O}f^h7dKZaY$+@!d+gUH_kv_fVU)oE#sj>LI%Y?Iwp#6-Tvo1_YOZc~%j8@$Lj~D+=V4LLc@1ksQr4LL=_)fi8kDXoBtignk4uboAjo^|&uInC18 zM4M^b7_MP5V=S&Y(dWU^OlSSBv2GFc+HIJ92E8%NX_%c~&C1YYm_4nakl$QB4Kam% zA!{DQI)`)k+uI<-0pX7xGO8EGMCI_JG$s$=V*?Cu&X?U!SY#T{_*)+QfAUx3Emt!> z&~#^(Tbw(7%LXHp%#Z@qqe<&S>`l2&naP!MY*$0I7uj)43B zu=Oq>nq;N7j7RQ)_)SS9H}hiDDKd)Rx>K^xt; zOWo*;I+Xy3(JPy#EoHZus3rh{d>ga$ZPUllO77~@ZDLd+h_XPK-MCj91QE7NyH+wS zz&-z__$O8e1VMebhc{{Y2|`CpsTx`*+*BehSx@GSbkP`lJQYb1G+!;7)}toL0cPS) z(747-v&Ns4l>t3R24zG{Eb6uHsOIdqeM|s<>24mV+8-DbE== zKeG-C(@4D~Y7(}hXO-M6@8o8vp7i0}vto3{}r=_Y{bk#CRz?Csbo5>nf?@3g* zdC}^MO~pFTB3-^uR3lG;|=+w%!85=-%;f&e;Q5*yHB+?kT{L!!j%#bI zR4mlrM5lw*Ir3YNMTFt623qi0DxFf?T~zfnV3e&a@w^;reB)C0C^9?=YNM z#wpZh2A#IBwvTCn9T~?8pfUPKE#z3K*ICI0L6l8onl3sOh^vzyp+0OON1|Vlowfju zlP!A=Z)ftnOJXd+L1NuW`i(bV|H+A}ajP5afUWzk3BcA^XVqX_mFd*}0Ev41B^FX< zY)d7?0J^n#C(z;Zle_o_ejRSlM)L%*90}GmXh?e+#y-+5ecPg&+!%`fFF3;9H_zqQ zuu&3v^nfT0!!N4~vyRjxh=nPRzU1hP)K*5i%!0K^vXf|rtX(FfkF5Htl?(mvuDsSZ znfCRFU`6dhYM*%i0CDMY8P=2 zC;mhO5C4|%JI-j+RpgYG#(hK?;Wx&}q06Y;KNb$np@I2>07dweMniDZ3~H1XT6UjY zcZ!E?0X51i4FUYg!kosL_3{f|4K%Eis@U9QZLsQOou1+~E;Xj4$ahkowpBkmQ!j4V zo9B}FyW@=%(c@U-@W^Sm8Kfs(Fl3Io-sf05yo#QIlrC)i5?GD4yx%q2nDI8!NU#Nq zFoCzS&*G$4F{~X61>ggSGPjF}GIQ?_6bX%ygE57%MPR{l1FVmELxSpXk9mP6)b4-L zj8zLsHJi~ex`qe?tk-b1Y53W52_))0jE+lWyCh$|WkE3YTxLB&jG4$4$CF(8pJ)I0 z1_)?|p5s?H4VZBA3RckgdO4@R_7{F{{Pguh<_bUR+2A?$!VAql1(TQwjB=8*@qsdK z3BS51P#M_^Z!KcYL}wUtaZ&+Y@06KYw1N%Y(WY62t~^Qa_vy2kHCcm|S%R2CJOKl& zVsq32246OugqkHZs{L3ZjS>kPbV~r+NxE;A7**pSZSlSdwXJ*WHiP>HS^+~E)XR;A zyX|AelgY~1D4`kgfX(urDhd+@6_Nrz*pnqJ(*1}(qc;m%4bBZ*0U8tGu~EfR2~h>< z-!ob;tSO-d8(M(F1}%r^`?t;|DkAATE8y$QERH5Qgr>d{5{jN&Dkt!YPs))w%t>og z*Eqnkb@y!{I`%1qQ$y2mLc!A`AU7}SmV6WF$;HF|sOz#PSkt!8lRR|s)agpW)DzJ z&O_MUfHa@mNTdjJPhI0)ZiQI}Nt44bJR0uOJ#fhF{5A(5I8?u6``N(Z+|QDtry}9y z$l5{>_!>~XFTD6LH6N-(M>JH+cn}`_dH+0jloR0j2t!0PblDes2k#X^P?^e3sMD3? zCrl>vz1t;$KbJuAGAnAyR*`7gUB6fNrVQ{ey_0k*2Kd;6&vaGgc<7&f>=ihQ7UNF2 zc4WK4Ived0rM(@BX!FNEJ?px~7V`j+uJ(|oQ@y|E27{5(tkaI>tY7nwCN-|3Zsr|b zY?+}u>zJV_z>0-8T+RO|x`Db+xiOq+0?KV<4I437x=^tKO-+S`p*a$&tJQ6F8!udP zr>FL?t1WJT0=3yw6=N{9xn?H}mYnvh%U)h%E*Ygo`fJP}I zq^qppiD~8>7 zQ$g-kXU}EFNs%qDn=Sz214_-yp_Kz_O*`!ELKg?4!R~iJ%-6D5r z7d#17zU68@Q+wD^`j^p@=NY|AGArQ;FMPvu$wo{qBrrOUK7t1S7F&zRGs*%tGu<^P zRvVJ0bB7X9@0o#IR7j$tDd!m8&5n$B>|}QHROE;V2!&+E+o~|#Gq>i7>_?DFX*oNw zuFS4?Tne$xcp3;&92+Vs`Cz9!@C(_GYX;AJ`}_gFY~Ia_MYXs$;cNg_8LV*@p>J6k zF3;fm^{{ANt&3_MYH2@kgyRIO>ADZc1kJH8mY6x2t>uTaz^q{nUY?(B(-C@lZw&Mtk<`HxKryX;#`thww(L#6=F!H41naag>0!N??}K+V4t+I zD-FJM#^vL`=9rCziRVu$ubI1+Mi>noqvM2#>C5SE|a}^IyqJNSM0hA$VBD==Pp-%U)>Y_j_zfKrNW~Oi?_j^F^CHo2PDK_@gNlNPobLrTq zd0L1ky6Pb=QlLr}yd{TNv*_~C`i}(?!j#(K?{d>;NgXRSXqk)l7(fAyx%vF)`aB9i zKDr@m>+5N2A6qOC?(W{q2vkwws)+A7)tPO84v!j=n!XKN>WEHwY=gdZGgnwgU%SQZu6F49Tn!;Y?gA8C<4bo?# z9dJwSDaCmhz+Oo+?E6?iJ~6FeW#~D1T<0|{dD!QrJX|{?VUT`PECc*gXg83Gcu@j} ziPUXb@W;c$OSbmYl?;7)d{zGeGw=vs1{3M;MoY-czmHr|*fn5sk?0!7$$KrORrNVJ zELef5ccmLq$pA3|%&X>{n%b5e4TpSWJ0QUw?l_IvYw#a%EL}b0E`xj-6D0#zWZ9uQ z!(Kd!>^EB)95zJ4BXV}>A_-AQuo)z1&wzX_IBdSo4uxH}FLhPQc!^PL-QW=K6KTvd z1$Xb@WLD`04ihaudct@Xe)uZn&A;L>>gDy;t1tkEU6zsW5G}-j_RYX67@TpC1+5*X zDq@i{(fHz;^;+4aVvHqIkS^Mud#FDiYXVD}F78ZY0(!$6uq&ybLC#(5+7c~l0FE3h z;hrQkV(0$}-o=!0>K|?xE+aF1lmyGp*awfrtLu)+3G}t(28?Z~keF{dsjo36jdioT z3ur_zoNx#siTwIQku`sFoxV=dyX72t9hVzm?w-Or?JUy2`*|>32@6WLa!HP#!RVwY zteL}_8ejSYI+7&E`>`v@vup?7B+dBt_&zS> z5LX*4G6-&&PPqG)o*R?8o8nUDB6$y>Rt)R5_W2#|?8y}RM9DO=fZAnv)a~v$B^fwt zhCL#t+XX*A?r_E>Q{lPc*Mnda?axt3Y^d39>g4V?duder-mBq@>koA@u1v`ngG8I5 z%*jMN1(6v)fowTGS;GXuFb&ZLMCEMsX1V`k&A?Ij-xjz>GFDmE9)rfzh!;h`PjwPz zt}*TNk$6>Ru<-4+&%OwPl|u%2 zTrm^Q3ShI#Sv#lWCI#kQFEtp8QzTZsWI48x1l!zhZIjoO{0T# z_xog*;juN@kGRjs026Iln1w}8JpGv0CJ!Fi{GZNBbmU?IFC+q*~L5XE?DdGn1 z^0g?8Y7P_qJA;bbU`+Env)lpt&lDt-Bb1Q(4fzl4OGgfl`vJ*iRQ2(Za1}k}*-$j| z;YSzzfQe8%jV`1-#PPp{I9%m-Edzn7)|3?k&fRR|QHhGCm&~)G30kVb&XmVehXl6m z#*LK6qbyrlh1*{ngYqle5$TEJ&@s$w%Icd@i9E+0Mv=Aw3p+Wn?9-Px>5=NY`-#%+ zuM>YQCgnS`G`3&Yh%bL_Oe!eFGLvc33A>NQyv7GaQ$RP4qf>B`AMi;p>Ao@QZDqoH zjQrZjRbXp}iLa@t*MK!DI`=miH_cq0(UH>rL=g)(L)EBy=TlUWF|tJshFS~FxP5cdE;pToNVoGxFeT2;` zYootsgA@#N$Xz;l#oz$P0v*TvahJ9Ev{x!5ZCZgPJ^W|;aA`{CYazBeL|~cX_$(oXKdtVL>sy4ZYRwP**1M@!ZR{snRz2s|J}eG z)|4QAd|kTI*TxxRb&Or?1?JUce5Rmx_VWLmC*yPI-iFl>WpSLRUkMG_7Xd%h) zehZPQ6%3a^$06aM|3#Rm$pG{J9)2yyE3~tETKg0H|6!a}<9$fP(Hb8p)_j^PzNUSq z!iLXo)1k(g1vI3q3{y~iCbuV>23i-u?GUr&CZ0TgJt)UnV?OApIsP(phzS3lv9T1hcG_(H zfV(wDuOVwgAD8VBRcqPVCYxT+x+i9q>XrBPRpmg;Q0%{{b0x;VNm0MHqfNDB-0NKc zl%?_FpMF}T4)3H*N-iBS^k&)As$@ZnUC0MyX}u{82qTw(A7yL&gNhFSoy+nT0fFj& z*Zb!F#bd#ebIGs<=os|h@CV;J2r@QTxJxf zDH<|!a175-&CqAbk)=5Pr7a;tdH7|~KK9r0J_}{K(v(sDpI7xUu{As>_B%_K4y95* zd?SG6>NhZRmxih){E}<_+Z0jj$Tp8+Bomoy!qfL zxoq36BLE;E0Byj@zm+cWlEWah+xu@a`LV#9)fQtF)cBIj9bbCE7ZUN|qrNSD)OJjh z`0~GZomljnG>S)UR4;IGcW*pmb+?N%w<-q8>3gZLuV1@Fw*GtH! zskpr1J8@s;&DEFQ`skzC@)9OK^mkMw)bga~82xWI;}yTpbDs4T+v>g6nQKroGb$#F zk~KlquFv!l?WW3W+S*xOCl7cP3);hOMjE@z{_H5%YiLQ?OVV>SO4(*olS0gBj~$9_6fT_Ft!H&oxQ8#fBOY5 zOE`Sg1QqR(cX{zvLWHV+- zULJ}Qg7Iq;C89;M(9LM5z7spH-WEU7`{^knafGHf^sJ{;0cpnsL|EDq!%Qw}9UbSt zmNOvz&jJvTQ{Yx;L>6~yEeS1rvdX=@ll1+ zQuEcDmULXiFIc63ZHn~g6IZeA=a7R{gqz(2dHea&K?7}D4Dut_^(~Gcz0xPP;#-1b zGzs$h1D0eP(nP*a4%6dtDSl%D53ib+MK(zALZo3P?}H@P6;;`nT~7Mu$b9|2E~y&M zg~!;lRHGx5TiY$wqODadMRo2gzV^uIh?f`WH0itOw_EWKA@z9YGO@5p2x%o761c%6 zt8f)wImP^wfK&B!0GmJh5FlqrmYd1GUhb+!&JM#Kbvx`#0nBafj69K@Ln)X|wn($q z52T~;zO$Kg*|!2pX71Gg@5r=dJO>wf(DBZ{#UVZt{dZB(6F!ehuX1+GN!#ixPioWG zqP?K;CnkT21pC`SBy2@PeM|gM@hPT1*vqFAOD7vcjH?~GWTp*=&b^HhFalD-oM;qI z$Q*KcA%8;?;>Y$sht&2rN6x3h^)QyZFsG(t#rk-qA2@^dDm?&!k~(Zb$#^M&&$Q zj8Ve>!^~vV`Q=_olGdj8*3Oo);LZ9tKSqAWSO;8ZDb}0+UEC8WG=ew$I?Ds!w*8h) z?vv<72VCj%=Rt|$a*E0Lt#w$MzmRdE*Zb8`YOG)Cer)n;8MJaeaVpuHM>}gBJVR}Q zQt2AF)0uGKz+^(-;svb&rPN$`_yI9LmMJS&H7+QCa zDnllUM>X&Do>wn)Ll zh;LkwVt?5{cK(ZAS}pQwZ{F}AnADJ!SZaOh{K9_Uk5(@D)^O|B$XhAYE`<44e6Hc2j<~L;eja=bq&~OZgX#^Fow7148^*9M{`(iHs8^f~Q)u|- zEc)$>gaubur!LOjVgAybyR|q%J0+pY&(rKYqP+!M(+XM{(da(|Jn23VT}Ynu#icuw zKJoK&ZnWYbuya!gP!rYRk9BS6ef;A*^VR_(@ezsU_;`bItXjPYCr6G{vT5EArDz2+ z13Qe~vOTECm*yMFyYB=9h|QU#rx%M+m1{cDd`LJsmh@d%%>h-nF7)ujGch53JjepE zm;*#^`7&>E$hqGpl0$Vo%)1{>epyxXCm)n4JS5z~O@9qwux&Dgiwv{8b&wm(& z&j;w$>&B4ln!de0s)p`=EyYUs6_i*^uKlOBOq`661=Kr*C#}ZVH+O)ZS2g2TqYGDu zJnU+DS@+@A5 z_YD3#8H4MO4{`fD5tozb84=-P;^uteTPs!jrIq&6qqudSzH&C&erbF1VeEXhxpC5h zaYFz2Y6!g{hnyA*eXXLS(3%!J+e<{)BVaw^_(L8;bJYDyJ&gqrQea+30uic{Ou~WG zi6F+P1rSg>ltyUCB}u)xvmHW7{q>i#zdZR+l#tZAXZ$;t_!}DL?vH0xAAC@2deyp~ zut?@6X>Vq#eAA;HBBN{n*!rSK`Vuwy3^*=Jh%+s(z6*f9$ZW%X+!sTpm?bIBJ7Usw zF=XNEcMy+E<2G+EIG1U4GjaNjK|eC`P1DGzf0&H6gwtQwkx^h8Z<&17Sa_Dbuas0M zW}aXo?5w?L?CmfVu#nEbjL=Ga#q~z+e z0r$ULHaWKxLFaS)Uyz)Iit0q6#nY#gprykNBfb{(S+^Y`ytYcS_thHt5eFr$HDwSH znWbjZU5)-Vq&2Qni#rmel|#E2OuCK8%Cy!!u4xre(MezY$;7DGbXTv@g}>AkQzk1c z8c(cGl_0f#f1J6t%8SFWH2O`Um;}<+8F!O=@efrZDdv zuBu=YBY86s7x5E{!t`tOGfb56yWeV?<1_{LyYU`}+%+@qh@Uw!1#`yEx~l z{TDC?Hc%%MZ`u9^Qkw)V^~Hmq!E7#(!16K;9H?|%dds|bU@2;T%YaIeK#0Ab#TNO& z;YHBL9c-R}iL8t6>UpL7?+T<_%G->XV|rYLh!g{)UyW+`oi7!U!q`#$6(lgE1d!po zZ=F8}W*IHeSypp}$Lkqs4iYXDCdR#ddGI-P7gJ~YOA{_nez^jF0yHq~YQ&%!m5$-n zV{H+2!cT4w^X5b)t332JqPsEuRO{MAGU1dG)RCl#T@K9WqLV)@FZ0(rTnprF;aH(m zb4iJb@2%#mUP2&{;*t`D2`K}%j`8@eu~xW7gGLW8i$6K`wU9ONKFr1a6v7D~Oc)pV z%^)%jq*)3;nq@;?f7t$b3|T*E$iuuQ_*xlCmveYhENt6jlX|bn#A`=N(Ym+GYNS_u zLhQjK<#J!cyy%IJ@CJJWifWupEJ8@YmTx#N89(Zjtyi`*#zH~IBfPmn9pLwppW-L! z5l;*Vd;7^J{;-1JuSpQ~MWgA(om{9nrr4mk24vvUD;@!PuDH+#R9&&eGLy6V?#3EG!>f1G7APPdSs zYpqVIMo$j5GP!(8C^J3d5Wp{V!Qec)#U5IHMwQUv8|TXynoL8z-Tm4>>=MT!QWM4gHnls${UZ`pjb6|LE;e06U`DsQ=p`i-{+s?=b!TiQPI$GnkR&fYqLMEs zHp=q%sf2K>G-y%V1_;u_Ej*dD;ABLbueEscDU5M|(+_Qkzbl?mpsNXOZT;XXyNiQa zQ-hq9P11ktoB&tYXQA55BsSn@8!7>h(uAVBUw)C_Sm4JiK{foypQ_;7?Rz^^R04aq zb_!Lm`VVV9K$)MEw-}SZG=t0WjdU^{^m@&=GUGw<2cra;W`02d;u6HVtI7Ewk%gty z5*L&lf=;3+xmj&IwEp)m+fP(#Dk_>W)k@u{C?byBx~sw9wexd_p5&{8Im5llg8tED zlrTE-*Ejuf6zVl5QRl;beG=XVSOX{wO|HkwTt6j$w0RL)&Q+-R?~=7UiAq+@gHFDj zkiT|qar5+~5 zh(j-qsFqM@AlaYtVsav~Ic(JE;hvp*3z!@kL_PqOoLT(a(6!(M`3IXmWcwdE+m({p zq?s@+W(&#JO;Sep4ou7TuR=1=b6S}(pZZcdIR?@7LCtpCWsDxu4|aFcZ(gS$);O?_ zHdk~+=Pi9#^?d0bcVA`vcr7`4L7g`s>TvpUo@_aEe)xN2D)x8MW+EPlk6$I+Rz$`5 z^`w$ErhYwkW&0hT!D!=0{snxJU|u%%27~KS+*9PM9=|VGX?r0X4i@ywql%16GGS}M z59dax5R;seWgH%et&pk$(`fHukE>RSetnm|Q+>9W>?!(uvyIqKxzOiNm+>vvE(zmA z4!4DTx16YpIgwxho5}!t!DMpX@lBc|P&2OOPv>2t^C%w^ zt&BA+?Qia9Mb7pcLDhXH1-`caa@mhY)(%(`mpmg(rT#Es-;_I}=7TYj3afn(e<>efnUqk`u$_2RDnLTS_%eSJjij|{9$(%fwo!k*uaZ=23D zclXh|I_&VkUZ}Wk>+6%wrw(fvp3mNI?Q~I=MwS$QB)r}!KiQbF&4TU>t%_(r2ocxZ zlEw}2f9Bmm2+2#wB5FiHI<)>Cck;5?dT3ql+-v&y#pupmr%NAueh+uo@hR5(ZO=~V z6XqnsY!|!=ZSb9Z$5lTlar>^T>xxK}lGtwr`n8`<&hHU^VmF-NacwOMX25%?ZyBqI zDX4`q;A61i^?H}G-^6ueqdkPbqcQFvqBX=ho>HN3`F6DVy zjvJz9F$h{xBF^bw*AsA>c_P@2)3{5Q_*eg$Ab-~SJy1>;6&1zlaaqhFa{~rih$z{0w1@PSs1Iis4I32g3*}xu`8cIUaPy zg#V-KFT`33S~?|%8oIl?8NmTTNZEQ1kcVZ%DSPOmeMU8tMB07Nf1V ztQwNd!_z62fUMU+kX4=hfSfw9XXPU~FqL5gXuSMV-iwY?9L_)^bM*LID&enpPn1W(vD^R`?J?RVbNI)Wn2`bVKFR!A}!0!5DY7 zg(5}9hae2!j1(y-<08C+U=U_*CJroz>VMzz_)us4f~Y5vPI4TD*93UdogRJ%425^N z%iQ0WEu1J)kTd)6;LCNwD;Th!J0nvZm-m&P;83*PC)8)2W0WdC% zecsPN;ds}(JR?3Sd(N;e1UmdoDys0Zqk5$tB$4X?J5M1)ZVU*gE|(cZU)|&tyj%a= zO2!_I;d81u5Kio}(1I-7nqj)|E0?wWd05FL{hJqgT^Ty>=#Q>os7*%-uXLVIpgVO1 z`*T!Z?Qsh>^wEvkQ;n1n1BV5KTWv zrn&OW>#i2d*%HQR_h;LiQ%Pz1a;X>Qqs`vZs;x>;$7`!P0EAM9IO4*h6*~$fpY6IK zPcNinXseL$TNqD&Q40sHA_`<8gMYd0IYf8yUdA(-4T)}seu?lVkNavnTVmR@3o7Hm zn2BI@7gB^V!f1MrVM7+p2N425DyWD9sW;bd&ptZRF39(QVQR5Q_}&fDH#@zU5%j6@ zlGl^DYw9DKn-{w8y;eaLrs7W@nZ0stUOJXhoFRx{T($qZka0Q2x#HKsTo z5&EJP<_K=btBOucbRw@~(Cv~2`gP{(WOwqGHtnh6WKkb9fjsXyBC8(4mMG|Fa(ZuLw6?3HSA3C_OuzYT3-KQyeD@k{SG zW>jYMYF;Qv)sP<#53)wz@7W5U3&ss)?@Nhoee)rw7!Q-1cq6i%d`?ztj)aaeX<@3` z@YjH_iah75;f_E%D`wWY)ukYradjtF8n$M-~WQ%)Cj~ zxKO3qq4<>&3q(BPVxa-y8Er*QWqWAKt(=5e$LUD8V7RieqtF=JmA(o*_rq86BiWRys|;4niXGXb$#p$qMTj z)%s;CtwvQEih_3dtwdRYKSG87>qFbiEuNnIy-7KqWB$5?`qg4Y21XH|j+ngG;<4`H zh~6(deVh3Uh3+!DFVxE84a;`p(@3oB7 zvc3|e;3;BI*t7j%|JVU|Cvom6TSKpB8<}8LL>o_OA8Atyq@@njym-@5fG3bU)5}jh`8o*_1!Ia(QR6e8K*Qmj&3k2&shtV0$sNAn z6ktT{2=O^MB+cztAN4uje~u>_6BmM=WT=mny^>);SxkLEw?9z2{YA$ec4kW2YI!Wi z*KDWrv*30L505|1z?c3M$mNM#XK^ypu3&PGUKr2OpANMg~e{yC9%pECn38GnVKbuone%D zqZ{7ic*=sXw+TJCuOr{X3T>Qy+tkuj_ZTtiho!*pH-`>WT-HX2YeALrnk&~oF z6+5D?fjE5|q2Lrb{UaxOy#RZUNsec@wtK?AJlR{CrhNeCiY-%W`+}OY?u?n}9;unn zLl9d^x!cuj5Ayl|AJ+;#Do?~o z^iBq3y(pFA#JXf@7AX_f^B)M`{Pd;ovzLG>9d|w0>(Yt$w8Gq4Jgv`}Ik{k}2gG`t~g02zd)I;mAVWpZ)Dab?~7DDUjJBUD^n z#8ybvqytf@Zk$44zYA+W886bLU7zn5;Uq`h;(jjDtENeD?pE#bdzhWFQ6Ee)ZD;?P z84-X7jN+3D%tK4Hl0$LDicijJezr2c&RSXB3A0&#ct16prMd(_*v1^31D*o#KDoR6 zjKJem+JNW^MZ5tJ;-$Uk)JTi811xUleJUE|w|)}hK(9r>_8WW5RpqGF6aETZVJ?mx z?tHO?wnv~%+W}yds{ypE!#9hgp|DdTMN#M-{fWZ03T*kBj$1dc3zA9A%9S8*-G*|5 zsOZTC%Xrh?qYow=EBWd^=hxEz`6wFk`lT`3(3uJLyrx)HJ2IL1ZI8r`;5n;<-zLiM zJ8^m$5t9Ds2^X0*vO&j;E~!0HWQ}8as0V3ugp_W_6Pi|vMjGntS~R#eX+fb^qG*GbNuG*fRyF5&gdI#;53x01g<7a*8x--F07B6NjZq zwVXNQi9h2BRyGR|kpH=Idz&B5FhYKoNHyzhIoP6m8efuf?R39RWY-x-Oi(7MI1{D74^!%;G_Rb$b{ zWwV^~Kk)iuUnn!b@PmkNTn!eG`rt1TGIROvgEHFj_>8;twqWBAX37oz*^h~0*0~bb zvpU)(nZHDa_zv>ca0w%0<0++(*kBy;mkGTmOCr@5Q>1X5>hO1Oo?)J&!M#?4J?wvl zM6L#;?IeFVy(gf${eZn|%k%l+TW`xFN0I?yZ2luh4eW9$D#1gkWj6p(5kNb7>nxWe zmcvl#fK!j!b-h;7*J=8J;IVxd^3!U?7ta?sK)x_$B;Rp>rZ3kQRy@r&31 zW4M*Y0b*xPO~%ZvtRixE?-lQXJlW__a)v9aHQ6CBJZN|nmQrt4FGMhICBhA(Ju2_Y zhv!xSOm_)VQUTKt$MFY8KPa&fdC;E>a^}1tHqLL|imGL#x}p*S;vP|dB&~4pi>{S( zS*Nxl2sZz3-s5*ehnSFJRI55mVl+^<*s{y3^wYRs_nEo;?rGYj+ivp^yW0le14Y!o zhm2rFim{EcLxDlw)9TV%8iyI%PB>?q^Bh~9%v4n@dWR^E5ttxq5OdOPHj1tZ^zaKO zr)Um(LZY8Rvrtj{c>g&L4ss)Ge=ICQZTJ65PSehNBC2Zsm{G*!_b_4dC^{5;2{dJS zQ6Vcavxd};KNeKHvBp}V|Yx1e+ipC1Xq z9fEk0{8KC*cTTl}1Ez(JQWP1k$|=7ySkp3AyK=N2aATZRR4{a8QP23B$dwFXk7C&svxy@$fK{U4oYldswYfg_1UZ#-SAqSJC4>MD+c%DIK9Z#&KyS}S916bSzH&DxhpggD7zR2b}riav{Ka8`oj; zf1IeongR=U2K$x`6H+duct57920%t4FJA|G3YhpkiNT>Y3a%~Gwe}1!J`enf?EyN3 z8?|s{ApT&lziN=hdgHCchX!A22a)zfJ(CY;zhITBadj%+=xMABmTGQ7@oNSb&~^%N zKKq{bM8wlt%${%V$suunT8VL<55VZ$BmW$JqM#~I9_NT8>gpo02+5-2ISD^rFS2!( zioEPtwOH8A>zV#bplr}c2NTH%xI>cs11Csd3nR4v&1gBiPTs{!^e;bK*{L!Ov}9^H zGE9j3Sx5d2Km2daZOyos1p9j_*y4%AhgN$u&yz>wQ>jPBpMDD#E?FqJ1{gAF;nH|7 zE$=2+XSsae-4Cq;+a>>OrN^(vBAlT(zZvPhTFCOGcj0~r_QwgI0=99q7EX=5S!khT z91tMHyZAzQ$BgYW{~tN+{XgV1ZZ(3|Eue7|xT+;PgO+`t6;u|W_lgOsl7lX!?T(*B zU2H|(wrCL&TgH|yt6F+HDtT|wBbF)^%x~D5XqV!uv!tq5nrW$X7lzb-g(~22@9iaY zCo>qrz9NXZB^n9<5gyDU%)qpQOXF!skmio+)asbDlo|_9^Z$L&PFCY{h|UhEd`SH=Ec6lSjqazA!;#E`%a|cuQ@e;hkP0D7U5=jR$i(TNd#xuQnmS?jbo8ne(6Xy| z%;|cAR$>n1B|uUiLbe1kRg7-Hm&=$y3wY`~L-gHXGAV!3MjauQ z%m*sN57bkUMq6Pg-6G|gbeunFrW10icb4#Brhh#xO(dg-L<8q+Fu?5H#AH08bSEKX zZ(rhVoZVQ7x|$Me@rcs10{ZqXJiq4(Ue;KP{=n-bIsNPRCFs!Hfc&r z`JF2NszTO5xsU3$vp{Njo{$*RFXq31WeZL=lJVlPZ&_UGSkq{8G;whw@)s;B@|F<3 zxxCnQ`ere~*UfTsmMI&%(?2Ld}7cdZO{?f`t>VX?gE-NgKJM3U6oX&ji zgY1qwy|s7R^<11w~6>tQ}MsCEf z4xB|VBx6n)(UipCr#DyiO!==fRhLpqd9ZgXNpNQI6!awDQxWM`1|64}+lEcz*xWho z@`)QgOO=k2Zh_4=-Cj2WBSY}s3!F6O3UcIVi^%33%g>zPJfi8n$@Nh5iQ)KIm(8LZ zFo5oF9pALdIkP$+`58c&*mVCxneSNLW~_mv?DyhU3fnPyfDb!EsR724@{yL!MJPb`k_2N(jX^8c-6D%K$q03v0kh8d8M$|d5>t%uv+v^Ulz2R%jeD67igF*d5_}(g85`0GM?T@?CYEZ8qyHr*9>beXwJ&3a zQjX0m7;v^*c?IQrI7Lb*XGD9Fb2NEOEd>)9e#y?zrLl(3Z4dB+TaeQMm~7NF2_v4>_evoPQa*E?f&zqs4uHbGKi}pl8~V zS!fG8GJiqH`4{RZgLf#s3jmhK zpOx|=Q~KgrL1X6Fzf@4 z+qwJzy@)l+g49Y#Y-DlEzCWM=xrjz*Ok9$Kq+@R?9i&;hcLY!%m-(Q6L~8s`D3OO% zku8n5xc1a^Zt$-s@2sc4M~_}Ep#2P5EE6duR{6iISCJ%C^h&my$0Plz!otFy*Se?U zak?5s)BXaK<8eFpON}M|A~_DV`%-d2bk9#A-ly%iUxJV|U3Ab+%hrr_x-)Kf8h0&U zOj&xp6Fx0HZKq=ojI-SFx)@Dmsl&?dJe?EUt&3lG>BJqhtcri$7(a2CAK?2adY!rf zbPJ4(9qRN#p7_oUqKw$n2VXJP&3e$#;7@-alXX6dNOag-JhnE|?5V4Ab!CqnQ#He9 zEIFu8M`-4*l=0Kxw{InWcWLcMcI`%wwMJKaOrC<;m=&?0NW{2zjc8xF|FnXk?7;||Zc^>$@JYL8X$; z0NMx7O+wNPmTEqD_@J5I**-?5=F~Dy;&)I#Ec1+4n&jg9OH0WIR6;Y2YFEjqn`Qgo zo3xKY?<32qS29EU9y;YMFBmF7&=jRQgwaG-(HZT!ozZh$;TAi(*I~OFJYZ&iN{&OH z=RV%lgnamf+B6~GuJOj^`^`-YC=T1ddi$O-Fm4ab#3r^M6luDz4945j7Bqh)CKl-T z{=KCV^)jZ5RHHy`m*2HQ+VA+)T%OI#Vx%B~SZ7L%IN~5PtdmEm!`BHX*RrU!a63Or zwPQkg*D~vmsoEUXKXM}CJ5sZ?1q$91MYldD1S>`noC^nw`q2}68RSz3;Y%+O#f`4> z?j5eV6T+^c-QUxq`+x+l(xP^s;=8WvtmhRx+iTPPiDzev7)_ZJDB~vh?3W5>=PI3w z3iiwgv%NJQ%kc|8N!-=Srwu*P^g92Li#Yp-r9^l$hA(%GDa$N(u&KLu%IYd%AN{oc z{0n<6006Hb5EghrwKqL|8fRLUM)V8ST?qnbI zIxe$PNAEBkO3>K&JcIBS@v`4gs9Ys%CK%meL_ zV_(rvL9G;K^Vk@_Ru1#ma27j)kKynUkL6=?>f1(iyc}H0RJJK1`i=RZPY=wG$WphV zlf-P`sI}SIS~)5?3ieH_ji)^1V{QH89DPj{BD>6PHN|vdar`%S-We(KevL?O#3pS+ zLGL*+H7ZS%A55h(NU5fi0x;05_=a9KMaP_|lQ0_hF25A;tvk)P&c|wJ!zal6O|nVs zp>N2l;5tHVD;DreEHt}A(Q+qqZRlrcNMs`2yJK0K*Q{6)_In0`K`2V}1NK@jyFYFA z^2(L`|6~rm9PRq8F2sDFnnaq1jIV1pPr4SH_r!;FaA7JkN4Nho()K;~;FggXX96F& z4e|NLFxT80Ddme;QHK+E^9pWsy{f>Nj_*!Qtj?{T4Iopixm}`xL@`8!=A) zJ&$x739%m?c(+je59V=xQ{BZmy|s*Z9}CoN8M6`8TfEsgd-pLl5@{%od0FuLhVGMd z)3q~#L37}Co$opj9hmyiqK~K5cNgJ@fjG?f&}1&z;e+vD)uXu#0ggWAp(`V(QZBg3 zFE_N>IlZXtGl6&!QNkno)~?O^nfJ4q+QHvfsb0zRxrsVHq=h{J(OD9Wyi!Zi#~tcM zzkf`^jwggvm0R=me$eq;iC0Dj2ATPwjl6WN{+3Au%j>Nar-`QTluf9mZ0VL%TULQjhkg;krx%gwZy#$#2*t0PN}@%3{Tke4$>il`Q}%LXOHg+erPi90ek5?y zK6V#+$;zQXaI-BD^)evHA_wH8%~6&jt#tJ*)|PWD?BzZ3?a5!{0<_l%k%XT9?~58y z5-f!sip$wUz#+E8%8j_p(B&S!$v^BwxA~!(c(uFI?g|U~`JLUzztk&kret%XS`(rk zLKM}Z{!3kb{$Vr|U~1xXaRgi$CrZak5$>hmTo#AgE$YS&yP;-2(Li=Y8dLCCRH~>@ z>@7WIt`$db^fOW=Kw~zQ%$N#xE%;m*&M_g2bl5*!057VzJo>GOO>PJLAt5%Z_vf_fN6o`Gs4HIbJ3M0{NBbsLpuIo3_gt~j|yeI*r zlG$f>S{eF-#(j4KeDg3C?mZmoLzDKg)0k$?zYWD-pF7>S(8|XGsqN0(QoVF^$ zT|?V1M)gS)2OT_*_nxX0pYUyBqN;>m8f@(KJ87p3RiSy6Ok~mno10NiVeq<9$;#L^ zUAEw4k3;dL!B&0J*vR*dl7bR9VD7fSj1P7Fl+Sg9(}BVRnqesqE)5QP?f6Sa=CxmJ zO~ZI7#DP?qX;+6EW&F%i3)U7AfA}jMHrEz`vVkEt(vn#K7i^LVe-96F?j&vzfWr@J zc{XKdSq7Rg=o1>hR3k1>-$FusYb6qkBJ2kVlPyMH^Dvj(7l;g-dAM{M zWM!c~Y`HUw!96?m49l%F?nylHma1L5tjKLl8y~LUenUA68Py_^BRk3>M8~0_6ct@z zK%OR5?U2?SndW<5u36=;m4sOgvePv68c|IQiRxUnpKSTPXms+LJf5gCL4*^-r}SIj zIt4eze*LLJtAJvk@l_KBRYC)E4T2K=SiON@vr@;>!h(^a90dl{779yheeK$eC(guh zT@G;^bcEst_lA(^#;>|8tQ>N7h7HM07i`4NpP_tps0TmnZ>a18iRS}e#+%8t^XaIF zUbDE+GXv&zhMw||Y$_MCHl?SVGtsFC9U+Bwjim%6P}Q7#GXjl^aQPP;!`mb^{9CT4 z`|TSA`}Cgr+0g!U8vTlwqGKqUTt7^G@~%$P7`O#V6gaN4;KN;g@*)l`q;VWMFmFk0 zj%2@aEsVKEq~Ck`1h2`My}_;%sqDZ=C?_+DV}_6ufrO+uhsG)4QSZEH7SohzK1nuh zSqzP3#rXjg0$PopKK>`AHG5*-J1a>fVhz;(Prs3}Zp*6OBUnsBdR6Be)#urNUg8Ri z*4JsOndhflo0srVwa#$b-t&i9dC?KK8jERWMi=lq6IWcpvn8Y>wAG<6&M8HWNyomn zth>BLAtD4%(1WfXe=$AnJnv}cimJ2WhdE={qw(TPu{7}L^o(mMP}gLyXM5@^$&C3 z(<}_K<4UIz35YJ}Us~y$9W}1^_vWqX;VbYmsSOmrd!mgRig= z`kc0%U-L)0khVRsHF=)5b8@)CLa>QEWS%W_P+Sp|KGf-^c$RV*_LBROz=#>Vuh`)j zTqe3a=$K4+o^kgu?Xdva`JRlIQp1vKC5-azxYtF((xrB+n}23K-%pmGj7xfu72blS zKk2GNf#d+(FT@U0uCDJ-{r8mJs;4r;j(_1)+_VLi$)L3)bEYsU2$3)|mvkr*M6QB= zk(f{}<^FgVq7?P}SC=%7#@RX5{gN;rtdqbN+mxoI5tu#sQgF-{bNL3i0a6hQ>dG(Q zq9*W0cPH2+jSCg>ZedA3>`5(0-;-01+YR}AK(q1@Ll|V{H;NIBqYxo(%9H``{p;g>tWgOM<_}0ii-U2 zS2#R6MKY&^jM$R12RIcG0pOEOmuBT~Z=XyR=*`V66_kx}V(}={rFHNRe{J5dc;v|Q zM_k1xDQ)-VXK?j{=u*RY6nPoENSKeZSshNdHF)DBmw?D<d6DaxUc(Oo7}W3GreToS1QPJ{bqtLFQOlo zke>vsFSv=k30HB0n=u-cqC`v9PQ3{N#-r=JfQv_I8;I6Qs&X)RmhBgAAaADEv&|}N zzC}D%dPtB%9aDDBo@Q;VL_V)YJJG)^PsptDiQ#&HEQ*s=F34=6z7SoZC1{vZ*e*^vXtvP9^?s#yS3Ma;$aB%FW_!(E$dc~;Uo=rx| z6%}(m`#2p0$b@pJnJ=bX85PgcLm96GV9q##$Y;}1*^#=`NbLoL+>@e4CftdL@bCiB zWq)@}dX3HMVv3MsRtiiry>reR%mFgWq+D;ZbBGsTD|fJUEzr-mvap#4O`+Cx?3;Cg zhVHXL-xufu?D^W;bPVh0=6S2(uB|U}ixUY9J|;|@@9M)@BWwB4ysF-*RMk_27TM_= zo(@z>(%wbShhe7UacOyffWyUcijv^sp%$SsHEA6Ez$K|Y3X79~_txj7Y8wosoBzSA zJTkjwS%sqAYdkLykWbIirk7AVEo) zv^dg$nP?g&Vefeb7>oRktfzZwHtJnuxL?@WQ0!l*r^Jy8=(*Dyx9xn^2G7GS*{@h? zIj>+d=b)C2wE*?neQ)MnQ0l}d*VImST$Ze!AxN`# zo*6Ol$vvf}9erk<=KNjk+IJS}ww;F9Ep#@J-w%DAJU~-RKVW^JY|*U&Sx$AA9o5+6mKV3lGWfTW=@55B9yH1x zIw`>JJ@M$7gg5wH(mh@`=biOVw$X}32z9`cDD+onVpZa{^sQ)ek*ofMOI+(pO{CQL zGs(h1sXe+e_~OGeaWs~a0Sm*F;P1b7H6f|_sWukCG0-1DfFKd>K5;Q!-dEIwihwub z*Xeqs%SK3~PQVi)I1*3U+M%gUt=Ua~J@UDNeD=Dh*-3Q^O@G|>TBKt`@{OogCernB z6pfA*Td0fVMWaKbS~R2k3qJda5+$LP)g{F>im|2HfWFraE{Q=k< z$KD*!Av>0I2aO6MH>Cw+r?NP2#PAx$yyo6(bVH-)rE3!wlQc4muu|*_*Y}7FLC0rl z$VKq2H-=idpJ+=Ac{Yqg!+v!agBS4py70hHP~wFF&+53UTn9Hp<#jjpby>Z{yY2eA z9QXkuJUXgXADG~~HZyK!K!h=FOL}v!m7n}smID$|Df6P$!T@oq8quN(h>ILkuV&ts zMvS_Dip<{Bi;`a33RuDpn_@)=d8zNBTNzl5DRk7AEs*1@Oj%|cL0E}jQF`KvJ;Qk! z*frc4$IRbr5k%`g$INHerfp;4ZlDT7tAEAO+G;(Dzz(?!GUruM~mqEEWq*rjdc9+A~UuE60x?skv)=rEu!L{^gL6 zw2X99tsWn&C6+issm?`^R)@CVsc)fWn_?_j?~|dEJlSW3I9I)3zFuHD@qD24+>hlV zx?Su2wS!7}NNe87Llyg&jmTg${q||7g^~E7p7X{^mgz;R_A0ZBLu=e8q5p(w_r_FF zptK>~8CVf+*n}IDp^%x2BzG1h`hY`x3zwC6MhiqfYQ6@bx7VO?PiA$>$MV+g;SBqR zv2&{rjQ7NS)eecX=*vEH)yH;zuu4@dWdiorsI>$PYpLR=2paKbBf2~FF)%CMjZ`0WCl%}WoRH>A7rx23$=bVRlL6cW zvfK#Mh3sxE6~>HWF+_?oun7}OwPdFr{sY(F$mnZm!ZP}BnA>-3b1~Tw@KB-n~>Q28i4z~e^ zYjP*wU^9A0G>9RkwXYQgf7VQ)_}ZED?4`J91UyyV0E5NPb-77fnV-oq6%YG*J{1o< z)6=sQGN$o4yyHV$lH`cz)JKaS1|lro7tLW|`r?gA@RtqGQP3Jf-K)Q$*BX$sy412Q z$<6o85Aa>XkJyKP!-KcpP#U$FV>F71>8#@41_(7wxad$2c4MbnqsOL{=pQEzvy*<-?v6Iuk~@k@CZAZa!co4q}9Q5`NicC093g zAq@5)HV}dpzfi~eWLM>kg9pAM6-YhDJQ!3o#w%CCYE6$4Bn;^EGRCY+R;_eHH34r1 zR5cJOx1&nqYkU#}oxRr%OgaBZEF1n=vvQn!h#6I*ah8c;Nm=7~&4nV-iv$Y3`hb^F zLoF>nVa-HM+PS;xoFiZTW4NyLen8{c)R<dSvcr%1ab zuMpMI;pwWPz?W*#P3=l=y(}MwumS}q0zYlaXJJKtZbI}rzQ&3!guB0In&BL(cxiT{ zg(p#y9jPjej!08P42C6<(=S}U5oVuzw~KI1gc(JZlUX*%(Vyg6EQ+yZU=Wd}V0vb4 zTSm%k4S*4R@}8_i3Fpp>a=Ro)1eWg5l;$B}`uz+Czl8)nht1&MGJfy`U&UZhWvsW~8B+<7&7{SK2?HQG_X^J{{xVk@{M2n%pd)a)KY6?`}`xL{TxAW6qj!w^fT~&tZ7eg zK9P3Ig&7}Q2Ak-C75}{bzu*V42Wb+J!ym}MYC7eG;p5k%oON3p_Qi-3p=)C#FHJjR zrc+!;j%1mTv2Wt5hzS(%TOQ_wk4#CQdi|p-+xogT1TdMR0{#SrtbXwmIm}ikQnl-8 zO%EFjFFHy}@ae~2Z-6q&+>Q=o@#J~wi1RF+LB;Efh9CtiUw3iD!~xF-@B}Ixin3)+ z?M1jtts>DS3=?M2ctvJJH&JQ1@pK7@X__2Tae83lEhk+P{Qc8gS9TWPjuiL^X8z_= zpJp(5>e2Sr8z|#r<<{Khuc{Pnp9jNKZItNZ!1Ap(Gv|PX@Q(N$6)tI3R-m8j`>uv6 zrjq-c@&buo9V;VGA)}44uX32}o|Li1W{9Jx{+D{lp2gFM_pkcP1c|APr}dAAy0sn{ zL^**WvxZ$&C9gBFAI$mN0QPt^rvRRSvv0KZ7NH6D4TrcPe`%qe`nd9=WNmA%XvGJ_ zr6T8i6gDbwPn8jBnfRb6d-G+RPGf{O;N3PIWYD=8w3XZdinPgUk~n^tI=KS0vs@Iz zF(YYfZ}og~w#VDp>s@75%2`KK0)p_i!PC(Hg41 zPyi^NGpKg3okKsmHC5^)@IQt4p8wR;P7IlbA=#yfs7k%dG9^|0d=WD%EIJX;nX&o)UU?Jhj#y&hEc4-;LV)tNs9 zMQ!~ z3R`F|bCHFWp!~EObfn9uQeJtl?_=ndf5BYpq-sg8E6=_X~Jb zdTlks;bHo6%DdJSQA4dAW`d+gH!RaHpGm$?3=M-A)hwOsf1;k;Hm~QswuPM-mbDuGvZA?^qAynjQVYa2>zkG@ zZ(Nrhb;!7);(`S9@pC;hvLj7U>X7JQDK`Jxx{?(~+K9~ZZWr~I$os=$#U7P)@XXjJ zuL7CDs@B0MQ-O8n_LJA0aTCJ=1+MRSl5JwUc`W{w%tnHAYi`dQFn2-4-3U6+j-F#( zwkigpJMHnVy{UwLX6EzG$ja%F=+Y9;xEZ>z%0vZEsO4N9v5morTcU-AVM71*74ZKr z%yLV&g%Vb_if*j9+SM^zQ!5DAuSbo1Wsn$@1Mub_`Te7m#tc|X7KrMS7W55l!&=*@KY zHR!BDCNT3W6ja@r_|+}p77N|5!=AWOBHx{<^R}}FI*Z4-$cGEQ4-Rxr##6&BVjsdM z`**k8u!p}|#u79_8*1VmIQ$mFn>-F!5Z#zxKZjyq!Jm!tufsowrfNq2esJ8h)O`!| zUvL;S5lWaiLsiGyrNnjG6CjEx28Uo`fHr>-hvX)RmP!y+D{c9IV?!T(gdv=43_uya z{g_$5m|YlIq^9Y<5XX8`8*ww}>e{cnzeWC!hb`;Ms{I)tOyfK8S6|KnxH}x)(kX#K z%~C=sD&~R1eaecX%sf>mZ~m3cmA)@5RXLlS7F)-J8BIf&C6oW_&FGh~&lYo!MLeal|fAL zu;8ApuO`qC579`wPI*z8!)^Nu0*YN!BMUm%&(%Qr=jG=tC7<@PZr;)QEq`6@Xh5da z*~w-)aeCmx>)V>k50jIKFHR_#^4PIx7YNP}tspd5J<e$jSw#C1EGMdH>bsm^GT zC^n3mGMUOs0ik6{Ckoy<-~(2S;0b%HY<^P=$GU(>tx{Kue5C%b)F+sM#pK=gwAH;L zY<)j+a1{sM)rMkr5K#S1p;o^TgOGk9mKYMQG-voz*!Ag-P4q^5kEVF`m1IuAKe>!U z$wuhKHz0*D{V^f0LyPICC+X?8Q8Odo*DgZT>JOW`Vlgk_ASx@9aLM|onS(~<67)Gm zMK8sKzyW#H1ZJlIaflH;HBD@d@HTYOO(#szUJ!a@ci^bzlnFL?hamzu1@YLagw3K2 z@TjVJrpQ?_u=l`<{Fr#M8Fn;z!wDFtjoeBm%3XJcnRwz!QozD(D-~SWK zEMxEkBB>KOjFp|RBzW0j+@L&m@@=qw#k@3tHA%(6=dq6Gnz-Sy030R+;bHjZLZgrf zz$O?Ngg38Y$jrdDk4{}(M7KecCQ#Cn)%2GYSOk7_#N2JOzExYNuRZ+k%0vpTF&gjZ z4o$Rl0yjXp$@VQ%)D@SQLQ^?_xIHR`ThY5QB#A*ppe^oe%$1MnSOC8c`M4FqYcv^k6f~w`NyNFm-EU8lJHXMj#(Pc zh0ed93%S~kMLW`gPrqEcfy-9$X5>6Y?Q$G17gSvGIZFK8Ge+f3dX)NBIR2S#et}2_ z_bU2(A7Vm-QA-&Wm!s?LZKX7hLxG|v);S7DArOMN$?k7%OmTYHvB1ATo+X6*IuZYQ zN)bMpQGOy)i*c(Sb)R&7;9Fais`$DH(pA&)xMdUS*!Bz6PZelAH(u-B74qCs% z#CI*$vQ^Qti}UVX+C9VvUM_KNKFPOx%$QNpQN$;qQhaN!lpr*tW%=+?U-|KsJ3L2f z@pEV+8pUyuv^4W{$@jH8c)fM*XG77!XvYsu1;6e~SDCwo7gZW+$3u=w8m5J&zXuPC zF3}I!($4#`%$&Npr5r|6*Wb86Ug8xLT%PDmONsZ=cu{`H_GIka=p*y5Hq(#@RvK0~ z`YzLNen@;oVDPRgF}y_vsilEM-@zM8$50gH2^69YT~PcTGvA+4-LHTih5_`+6r+0kI{ZmfSROgd$e96Hn!gQXA%ha&~qvi>)B=#nh$FLCEkm- ze*|KoSo9pA$%&eMmby<^=NpQBVsm{mhiok2H(d(iq6TwUBS+=L^0v40(3>L=CdNYINNnhl=lEAh6LOo zH$WgezZBnq9|E$85qJ_tzw~B^q=N9D ze%6#5DBb-$Wp}_*viSuS?6{ugRZsyQZIV}`6Zd+HQ4&f z>jqcULgR^-LFlffa+rKPxX>Iu_^znU=kA^?FfOoj($v=34cbO@cL6guWP87W?KHT13NC68!cyxJi6jGr0CEK!B zoNn*JAOdy8>C=>I((6F*F%2cb*+p&KgSQyoioEXvU{`Vf9Bx6AKyEm1UO>lRxQKCd z7@T(i#`A0%H0Ep`XiPwM*TZyf8xh^E`j%6N?7V>)Hqh@?z3sCod4N84U)y@~g3tp{ zWhr!Hg)P$LiNz?HQ@BqueL<|ITUP z{69I3a@pnRe2l18f}Wl&#G}y01gfZPLN;fod=}b<^h^I{qERXWuV7x_9osrRe_p_D zN1@RY`%hn}-!Yu9phOXGK<8b|soqf?-sx_f_@+1cnSf7dz$Y0%b$Xoe3S^J2xIq&( zWtXmh6c`qI^L(r^%q%li`|w0Th#>M2SfWb(P<0-tMUTu&$Ci+pPZ+LTNbSR;yr~_a z4Cw!G`9@kGH(-2()uY2yOj{QjC`dFNTQD6xw;ZW51G zw8!$lVroC=nC89*g9)YwSkMOf{#aGU7~jN6=n5(0hQCUR{;u45vl_rsZzC%9!%A<{ zG!tEfr@x671j;Wheg6KtI2|F3reO8cfP625gNIZvd-7HMiE4#Vn8h~Y|V4Ar!Oo5|&7^vK11l6LUe=Ge-`JjGns5H{J?ryE30=FK*837!a5>gN*qI#4ik75sYU(=|u@Fg^X=--9ttv%D1|Zi( zLZl+Q-=Ff8cuPP@z%Lw;Kx7FKd7%_pBi&Rk=nslfPIVDjEo3?#0_XVwXnrkEusl<{ zG@|4VNV%aN;J~;#Mpq8yp&pk52c#1V(J-ZSA?ug-q5~W$kU1)FsH4T1gb^^*fe!Yp zA$FYkX1UAdEQF#c)bR=(GJJ7YyWXl3_udTlSIr}Bom64Ew40l#jI3-zdb-b{t=AOO ztPLM(^n?8m7S-EyWd^gC%g(UvhbGCh?XGus0VLYAM2x=dCZ)oopXxix?yS7UD5V1n z?vCpA^oXb+PY(4uNgBtVPY1#e_o-dJsyqJ2^H(^=?SykzJojRZzCqJ|J(qZG9Y=na zJn8xANwS~(sL%j&9!6E_^AZqW6MWA@+NuQtI3quy6tv22Gh8I+uW0vvb-w=S#c5E9 zgx|TDE$!3)vE=WsHhnaVotH-3A|sK^d((#wJR^?e3Z>w33A}Ezjdbej=6A(b+Q{L- znFF~xm<<6q9GD3gs!7Un_6UXo1Y!areIEl>qieONTM^Bw{YCPL`*pYDIknMkPgUv=sQDWJ0EB@7a&l%~UV>nxh2>>gO-?U2C?-Zeo+}v?e$K(cLCeFVIWZidt*s5~ zXQM0+5MXClnRvRtu(-ayZoTxGot;JL7xTFU2)zx{XP!+C*7+}se^6F_uDb&TtqL_M z?C$QaH!Ap3l!?;NZ2s`8ZEt@a63@ua7H?A!1A9ME^7Hct9EnH8#B^^nx|jdFbDl{J zTRe4kxa%|ff&5gkMdCi?J>ni=rjvo1D(l}AjqS3w@v|!XY(yj(`n1dGtn8q6x5Q@T z;&JI9h7t^~RUI8M%)82V_`-{ajQQJk2wiV)ijV_{1Fqh6WPC5e60dmK5%hZ zLI6CYt_-(CAHbaB!M5B)eLq}nlV-gT>&p|b`^{W7DOGye@>+j}AZ8f1=z zr=F6V<@V*v9zk{Kqz$|>de4kxpQrkgPeoTAO5*$fH_X zjfW1}U~n-vbvwtm$Sqxcpq%zM3M|`yQcZ#9fP{0C?(dMO{4vY~Y>@(bbcYT(acy|Z ze)|RVE;zx)@eQ3Rk+k?=`iDb<>S+QH}Yc3%u zS0*3e?q0irKt)RWD1RRTy26NFjM%mvd;ehfj%Mow7K^#x1}8KV(2B`HT2@&$H_0n; zFM|w#$AM}(g36V(&_^Mi+147qO|*~#6fyueOaqflloyXm)tSP$&@ka}Z~)+pe6q^m z$!oi^c2EP7YAHcB5aq-+wfrAn@cn=D1s*OBt>37NQ8O(TzeORTF34G+gFRdFShQnd!fkGI@;LceDj zrDZsLvQ0cK6dV--5=8P_vigHgd-|W)Pb_wHr^v4lH@~L6t$fbKv)M>%IMn-fUrBZQaU4J1!VxZOdzq!)PWq(p|JfCN)(jK}xtz5s% z#lcl^>08GWb0@7eD^_Jgef$lltrIiot@20_RFh5%8DDLwITec@Kn{EK}Gzj zi>be6-0`VXZHXXU_dLXb7p>})c1`u4?HT0Q&4EMPj`_cQPtG4v1T9hda_uu_^*JV|e z`XCHeD|C~7Gf*jmGM$gJ|8fXGIjma>ih$R{*PNz}h zIE40n`{gb7_p_y~Ufm3RiQ|ac@Pc3d#RUGXcW!aeQMy`6w#O%A9HGWm;k@-tb+g92 zLXv7X8!b%>ljdQpxDnqttZtScU+~8CY~r2IMI*EC+uWZeSUD*SJ0WQLOg!6*V~b9JO;4wR;U7_ii84y%sb zP1Rarv+Go#)vDWDNU4+1w`PoV#|pT$M3kD4JQZt1`xv|GN{(wmRaOQJXSHtk2K7$ZZ8Fh2M{Y89C1}JwBh{g8IVg<%XzFp;R%B^D09O;wmuXjeP z&f6^;0)@F0aW8JWq;s?7pL+p4UR`@(dL8ib23e)DJ;I3njbs9mM9&p;sDW?PW2ewa zK|l0^a0UM)5+f?!0VMXqBJ9(jTzIdbV~iOUeKh%q|N zU?Pi|IMtjt=a9$ANSYw`GI26aC;XGV#z0mvo~{3KNDMbAiA(UO)YdBWc3^G(;ij7d zRokQH5zCnD@`zI&0vpRw0`__wffiLk;zuy=BJjJxWSX9#?CUlgUveC^KnwN>oo3O` z&lb?zoA-+0d%tJqckYS=0XhW+!ogXMENtwYTMyCn%1l27eA7Uel>GXoR|(64@r8@> zhW>ZrVT>Mm9SmrC4|O&yrG14!ESH;Ns?9CNpb(Rn`*EBfi!l|)4*nMpUj{gid$?EQ z1;a;c(Hw&)4gaM#2tDJGWP!j5Xq<@F7_Rh+SoZ1wEc*Ytyq%t3z|h!%o2y-L2Q&1G z@N}W4-g?7Jb)}7xD*1$hsVrAY=M%xw579J-fH=RN~Fi+~qjSklsdb8gxe^M`Ar)psgb!vsu%?$0+IURqvS;YdV3i zE0dapn{x@`T5gMq=657@5LhgB^#;SojN%4Z#A}0=c=bdP=k(3^ykr)NXq?}=9Avc3NJR+fygfN73hhbSAhtNb@AcX3ZgQ1pn z9==me8u+%p`#-B1rDF-2H99hNBc&lIg|2O9;K?LsoxzKme;f_;hK%0|-M@z*%B^e~ z-_*LW%U=2u&)1-+yVKsn#%7Y~XkRuy9SiUKca$%Drz>r-!mKyT^LZz>LThgqoY?8} z!LmTapIR1aX(ydYM0&c$xw3=X>W25%bVY*0rb0{dn>A`K7rsp9xJ#z9<u?|Uv%s{L@?(P zC|oh9o@ZM?A4|Lb4hiUY%bc&p2S)b%p&@UsciGPF=<+)Yig^+)pQwhsdZU{dH^xqO z5_j${$WFzMUlevcV$Yu`F;uzM z>z6Cm2}Ow9F)J<9G~#ZZ5c;5Zl!Vno@6#9?JzqYG1*S!v4hHDX^1X}1>~A5Gl*s{H z{YAMU~q5u95$`_jPIHcSnFXxS=L^Rt4ia%l3m~?lNjTBzN{8(Dqg}-iPW>ubi%rgS7S1 z$*Xi<{$E9qY{T>`^Dg}D^(zbeEkvtCr{2`#zH-nT91%W?q1)zZ)1XsT_a$QV;D#~e z@mM!Ur_1yLn7rWVBwalJck6llYp1YifUJPqlW$EgvZw_FaE=nNH{Vrb;?u<|m*!zwww79d` z^BGA@fYYDjEx?)hmb<1l?8O4^*j>Y^0gJK}=jaf@;c&gR8xvUCFZ+8D~AL_qW2j=CA(=A}OHR`0n43CgX9p1(F-qUtjk%z9lp^>UwuWxT=+Bfu; zeOmuxfSxB{*`c4MT+Ly*_(UtQio${HXnyjtnu4*uio&2)qRJw5iACR&AxB0s7lYge zR&bLY2zghjq(bF-Ze@gohK>kFNJwbod`pqbjpG?=4MWLYbx|HZd(_LuZeEU!QyDtF z+gD~sj9GktlmT)>2O=!|m=?J=BcCYTP+1wbV~Jj2C-s!8VQ&A?Q)&qcYA&g z4Ly+&x??q+OX+SkfFIW2k5l|BQWoLTK&-8TqKx!I$eQFv@EE`A7i(yaJMq14%H)!? zNSq=t@-}w}v(#BigsoNxlhuqqJ$rmmq@*%7&Sw!58XEcT#Cy_^c>LXxL!=?n0c;ax z#t;zVXjz!xU_~K6l}}{pKz6`L(eEA`QEq-bDA~Ws2Yk*=eLztQw8wU#T^Apxin)=*jHo5^O$n?OcOby9l z82aWwN_d6rPx*e;ZEDjp0E!lRG_GztH`~yM`{+^xQb4Ve`hp&l1?RmRbd#7{@e3yVjclh)iDpFf!#-p+N)-Z6q7 z?4@!8OpjPwe;>ntk?U{Re46k}@faB$-9(bS4+cMn2AyM_9~9@xFl^hBJO`MN)F*&` zGV&OAoI(j8!uzBxo#gw>NYGit`TWT`KFyXG9dgIt>$Ov}e=FvHP{8EWr)EaL$cb#v z8PdC9defw-HH1z%9)@9U+MQp&G;&f|{IZBGN*!p-OY+EEfRZ1=4=WCE z%iRK1jt+&90%OZ&MUV)p9Ruy0a3RtXl2D6X}Z4G*@siv`$4GhN0 zXllaJ(&o_c^AotZxIm%A@f>l;)!sM`1x0L64}hMLk&cH4m(#cvdv3*A_-rq5<;_C` z7Z*3MJg%gquQlS{Yp^iokia zvAuu@ebbgBF(s&S?*RQ@edBfey;ckHmQ_!2sIIEx=2!PBP1c8@3qLR{Y~$=XyTk3n zn$JV-YjH>P+tv6hZ$xvoneK7dpE7jTq*!$?MvH(V0>7G3b*vN_!DTER(+F*xFI41% zgHDN8mj-#DbhtdmB5sxw+>#4#-tmTJ|MIVGxFV7 zVjlfk9wou?{Ytw=+Ob$(8cp@kkxyeAk1qTo+p#AlmvU&3I5r}RdyMh;tkhpqM!y$0 z1mPIVOj~gjpdTMK^@7SWmkp>@R50vz8L>en^mi5VfF<1iL4v8bH?ih#e5f+l?FsGH zmzS5Hn4bsc=hJk3VogwlC#h^2bzK|hIUVo6xG3ARqJY-$6O)ra$9iN97|&f)8_#w1 z2W4WO`V|xw7c1y?9Ne^(g^v3bgj#hBif>7e9$R9^_sBj23i7iI7Y1 zCOE_4=oQ1}oM-~VjirtKND=#nzTmQYwggw@Y5A*NJ7|FUnMc@;#)lXpS76A+M=RUEAoDeeIyV`lA;gS*1V_3O{;nI3Z z2dn^xDT1Z}(Z(52dE^-Qj0RP1qJIAT`KkN$>)T03Z=pgwxXAcdN3oU-(o|JpS%gyo z$D9ZJJW@F&V}fLR2KxkW4G$!z=fiU zBu;2~B=kb3_vbw^xN2Jm|<;ilrpqu)TPv@9=i!8Cl0g^ zd{G^(@oRD@t*VE6w3i(^A>CPkMhZ6oY0<<92E;sNvfa#=J65_TIeMoSu#kgoMJ2U{)x!TEUbx%^r)?RABXXw zNyBxFL2o1sfh~y7&JW6XAc1 ziKv41!vD9 znSE`dc<V`6dlTo}}d_h6Fa9T(3L1WE{3B_F}3 zqY;FWr;E*CdvRYQu_3y`$;|*@<(eg1O>~;JBPRYq+NV;LlHO6V-1#C!JJ`2&%GJ8x zZ+e3#<`YQ8N$DSvvF7gnap>auRm-0wJ#6)ajefQ5TSkVVVlk>lRsd49bcMgL>|REv zw*qW6OZA3pEzQ9NkzzTj!ah+4zz>2pssIIVQB>0T!gQ=#Dc~Et%Ww`oBx%j7LcqH*O zVB7yCI9mP_9LYt$McmtBr-(3&N%Z!Jb3zIC!QaiRJ`S7;(v^3N#lCrAE;YEb;dkfv z7Z~_;g68(cluf?{xy05{o@f)!fjZxfQlq-YbPe0jxn&AuxO|1)wHTqMX5xM9=h7vL zJ>O@w*=Gt4Y(iw8f=%-_{l=W8j7x4S%FU+_o#7kUe2{i zDn<9~=dFINT;%rcey)@_dzjXv=qZmmGNO7Rt2wSV^0q2La8KJ-6GQfS2kc>g*wHbQ zpxQ0rKY>)QM~Vce5;%X?4^f2fz^%>PBbO#g!X5{V)1%##$J z?fap_VCIH>aWnP_NMbiW#e>0{YUo}Sv+TC8;?T42PUMK!v|AmYmbZ;)HaT52hCrL_ z)?G!I7<|;3*~C{EVhLDl`dp}@>Zl5OFPuF+q-9w~U-NkL#5&|Y?P8haldCkM+$*L#evhKOlKnR^hW0>sGg*!NtR!Tov}!FMVx545hS>w!VK=2pp-_ z2iMuaUaOscSux6qpO^Nqek)^losc zxL%J94lHUJf>{`Bg;!J>AD5coSlC^KWM8!)Y6I*7OAphsUvUu&h7AeIZ~y9W)bE<} z6~qKWZz+;6oJkNFtz#Nh>W0%UfGe{*3wCgD?&N7ttN?3dc?q+oIv;wnONW`F1JR)9 zrDD|O`9o@xqFPjc%>g z@Clu%qYr6zHXUEdt&WT4IJ=Ch%2;ty^*dOiy2k3#+=ZPz0Dj62FFf|k0OEt^{w4mAu^6*23ZY$HF2`r0F13~N z_7?2F<_;cFGJZ?DCj{Q&=&2~|+k^W1sn%q!iU@s!Qs=wPYNYK6i>rt(D4?{E0Nekj zg~m2bUkRYJ&>A#yD*2RY(q*^a*(!pINn2-3+hQ!5Z~$RZj`f%_COIU{H8bqGnK?kP zCHpoES+kdvz7y(ux5tO+aWkOO6c5bzniQPFYPjnWZGR`I76yM?a@B2osS#`$I<`&F zZD-?GO6l=F{$gWN{B!c(PDhgW94w5k<7J`$O8H+MVC##Sc- zk};1TwXkd5comy`iO$;mP;j#O28_x3LZfwD_D&HDKMVoZz1eANSe;wz!=6Xz9k3<2 zj|UPmR!@V%sAA|O%CJlOMUo{jy1sNg;u96Jx|q7kCSr$BR5Ysi1g?*LPl(lAUeiR5Z^^z;+gPo+eWbxJuLaFNW!S_Rf!@7ISE4 z#-HI7;q@2Qi0o>Fitg0a`pRq>goL-g_=pNoNs&FSn4#6!H^F-^Am_l zRub~b{D8DbCi`U#(if7c57QISdm3|tq(bqBllsZAL)<8A*1~a~L)6fRv62!=jDn-C zNoAN*5OGQ&E*tyxmeh~v785gTZ!L>1ZD57FB;}adD=;wjE^I8a^Y-=V`P7h6)4X3TUi}E-89{KUM9#JXXpsG zs_aKT+g~`t#^?8a^DP5?G-;zRA*pMYhrrOem3rMG@UnuLa7nPt$p^|>zoBKj_Z?gUX z?_rPWFldmV%>;RECbhECVk#+@ep*3guw$8|-W09SH}X0Lg%9$)@IkeoVq>1#M zy>k{9A^jn~syO5n5g0^DLL}KcErK~ncRc((OC#=P7Dw#$5{=Y!rDt~ejCu!QoCrqI zjn-w8QD?H&8{J#r{Q2Nh55v5LSs<>Q6;HmzQ|7nGCuH%gUVUhm6De~V`S(AB&jXv%?7w9AjhV3=WA-`f`Sr|U$&(3Mwqxc5#7w*%|!dQQ^1NM1CUB%G~=Wf7uPhb(xco; zvp?E6UOT|nh+%1nE`fVKroBR8prSN*Su-+g2cLGH>^y^2oq#C1yb05C9aGwJhkeDD zF!H3(iH~8mvu4Nny0)L1Lxghps&0QUUdqA`{xs;8M20Fbs$@bf;c|zxxepBtJ?GRQ z@o4Yw{q)Hl^Cz{$HE+-RAf+8iJPefigA6Abfy!^w0_)8Yy7XCr3B1{Qz)~gj(ex{pW&dkS$CAD z1%$O`ZX+lLd9!Zv|D`Eq$-Tvt*1W-Yl_Q%o$jxt{L!fDp?0acsvb21^d2fpEDMz{` z)9t+TSDk<$D?*@0(igo=E$(+$F_XhUSQ$H_IN7%Q_VPKc2*Gg8tYU0?Tw0Gh+i`qn z`wRI)6DK?tX)Qlfv|6vO4nAtsv{EsCZ~7*262aEos*o-ig*-K%S{&0r6vIZT85q~~ z89IfTTL@sNP^72rt4Y6Mw@Fp{$30;=(bTb#OvO3O%>CUktwSEY(Xg=@47F^{JViHZ zNI-6m90-rZ`%-Mib=zrA>lcgHEq-z0B~$uAvZiO%%Al{yi3-Q-->NcU&j4QN_gG;C zi)x_87K9;-_CuW@mV`Sc+Ea1B%IG?$OD-i<&-bjLf;(vzX2AHpQ1cM23p)$NOJSjI z7IFV=HDU`SfY?MN(#@-|@|3x~^%hz9X4<)F#AZ~bXOi<7Tx%L5-+ntVnaG0+r6b2T|CqIZbeM+8UXMQdTWGq(O8djR zpQCu{A6?JS7wPzBu*?GWA|(z8Yeg_3W?9wMSh?%LAK<7FswsgRw(hjaM>T0iS-}=w z7~9pDpRMI-nj10vRK*|Zw*l?h>H_%N7bkw8xWKU7=X)NB0PKh%ABMhk9h~Ste>B}YKmf}rJib}z`72?v zbRRJcf07T0Ta&XH(OkY7mC&uqebBW2ygWTDM^UtY+bvV}%RLc@&hb4aLj2RBe}ah7 z699lH7w?C?rOr#BsLEb+<|&-uNqZ&>l@2~YYh*A6wQ!->^qJu2zYW3J*|whrt~gDg zC9t{~p?#B;TU+C#Sqc{WKLUC8-h$vgO9>ni;mTv zs^@Z{iZGCjdAzjQ*=01fijP|_lXi1uV*!2hM&)Jp1+AN|20b;nIB$Hd_HVu&Xa;CE=j8n6e)(8`>p1wd z=%s|G;hjO>Gv(cX1$wJkVwE?YZ0nh-gmRr}nJZ-nT3f8Z&@KM@g{4;}NaWybQ=Fe7 zMuhu`A28$fgHPxOo(~mgsJsTs=x3an(R^@FWj;@b_`UJ(n4NGW%*Qu2Jl*=c(Hu16 zc%&RbMWNljk)aFjtp92yIuBeewBLt9n6;^KUE<6d-XU&fv~OfChY0yG;Cbb!UgM9* zX7}5J*%i92&;FCiMBrNz6wB1t5=!gXH2ZOUH%H!`G7GJet5&ldUx|SBMS&a6Zb||b ze6ml5fDv)V{?bjbm$|+sDE$3x(dc9#!iWLE{*S*K6Wo|Y6j)R`{+m0z9maE;bgNFB zjNvZF&wK~u!1&|yqij0A`z*uv@|f|d5}%c);9}<16tiNtL}cbRn|+lX+cA%TBkA)8D#&mwxkjV8iq3%fv&**+bH&5$4BV zio~=*{5R|u{sf~#84Je2Kv5`$5$HyYj=0k7fmT;n2iEWSFa-szzM^r)p7odCEvJtaS5xz0JA2a%6KpBdy#EjLJV?MIwL>r zrBee2N)lzj`%kDhGZbTH`Ef11JwFH;O!=`ofi6NPJi1L1tzNj+XybN&!XPrC@TKT} zK%)s;ecN>*W$TJV8IhI3nRrCJ929bL40EprI1buXL*BI$3E@2p-dUOXcXwgxG<`}t*&YTlVoft)>cV}aNrIE6z0f+WF`l`z9}qjzZ_^^^xnEF4 z97jp+8e0ZEeZ8Z{&+rZ|`Sd#Z$Sm(t-kHsZ_{uF#!YIu8QePxdJ<~;wNS};?tyd|Tv%nW&g*YD<-tJ9bGuuUsl1{LA6zqr@cyb9B3t#Ib+;&+Azs+TqH{ef2;11 zmM!5lYhM)Km_qX9BjuFXYKJ}?t2%otqwo#wb+i2;ziJo!gzmFS7voWHZs&{m>C>mJ zOFv!fFJC6-<{~=Y?%vv^R@73cUeAF{EKJ`{&(#$TSBt}^U4bLkHsX}|0o9;jXIkTk zVXK})I|}i)P|h$Z0Ctxnf_u+oNDXSDHdPA)i=(g5YjNw}R z$jOY928JUeYB{ks?_|^`&hfX&_&TX^omR>rm+lm|@jt)YFKyn$nadcs!LaMD+UIQ;1T zOI#qz7arhv+cZ>~H@3IEAFy)O@j;b>4THWoWz(ht zpCa94>$Z2?d2da8rEvH4JfObtPP+2}Nlb9j1Y8l<)yxu9h?Eq^fo4r-2x#El$Fcbk5c%1AAD6;zlR-0vH%PnJYwK>itU=X zt+d*Q)&B&aX_@V!>-@M_)Y+I;jO;?%{Hi34nQ4v6GU!Ho$`2DSisLDVa+~~f0ykkj zo2}Uezw!!eaD?pS+DyU0vG6*bNnBv2yzmgMnjEPff9jIY2X}y45+xu}<3f z1z-H6iiv4ZUPq4Y^b7vvh5ml3>vv7VU~xJAKS_8>)rwRF@S!9wAl2r`%S)~vXwNZb|FE0x zDAR~9L+3Vl*$4I)&As6^*lyTN7{Yz(3B>fvfbj;z`%Op}Ynf``!kz$F`KC~5`U1W* zqW|sUAy@v4%zgUjl}iZPYJUG>Ze@iKba(b@^js5kJAS@1h*wtO%F`~%_bX-Kfi2;R zpn+@{FrigjV(S+^@D$Y_>RLlmdYgAG6nW3@jBQ4xWfesUbuq~zDBebXcPXueyMBij zg!G7AZ`cr^v1))1pEm2OQ+-g8N*@Lk{a{kP(63%-K&@}cJ_m!u#A7m=JqjSu6YM;m z47blp@MOKvN;HP_NYcmeF*BwWtT2v_qdg7F*bnD$JLt(4f0)Rd^dg;GzL=86_U~ay zgqr`xj^}*FrkjqnVT%n@UIVQq_U|7n$rx+n@*T-Bp*)aJ4qlYlD$4|_P|guuX(SUM zVk{y*;ioL+Z2oN%)y*C1y`c(uI;e=!5*MRDG_jHv(HEkC9Qlmy zMdws#R!_NHIG#WlNR=yb4;y;Kmr)ZpS;uNd*L|7?6En((oErX7X6j{P)+|u?OFrwTsNRCJdiF-<_r-_~l&x$OQtk2`GB6CjWDC#X-eGv+J!A9@t)!5fepogoUJu7DU#>_NQsoW z*32`uel%b~pS`E+f?8m1DStNBRAD}96yjtDASP`9unovM5yoL&eVJ1BAQZL z&b7oaxTch*%${cA5DKA&EZL#eKBCxoJ({_>>J3q%-+j+M=>^*yekTf`FhfyOU)I3{ zenHLH)yLnHlzX!ihB8RrvFkr$ zD3okUsKVzYDb9YYL;8poyC4t)Q4LGGS#o@-y`9$}IxKeMDM|mr_A_7(Mr4nv6_7XT zNivwS>2jqn-Q2$c#+tgNzm~y0z)v{9Ss-W23|`zSZmn;S<8T!{J0L=k_jauWkpA3&=7o(*3T*)8@Hjyk zduH3pGJslgH60HGhMw#KsX0@GIPN*ZT56VA!)&PZX>)*(t|VNS19=Xl!Jjnjfa=ki zzmXZLmhveHm~aQ!AmM}nhWWqDjmn{EnMXxkU3@q`Z`7TQ>){7Y#=4_`oLImmdr|1H zm}??il8^WScx)0VAP?|=M@ff4*eF)$6XUQMIJ2${pXG>mY|5khsN$}An@ncIMT3s7 z*ay80MrV{M^$b^kAsp^|ZW$V10Yqd8gti}ya=($w)S3kRihRoKQh>u@#i-8$FPC%K z&T(`5zI!<yg*g!@=KreCnqxD_cdQVoxfOjGi~KKPvCar` z`|DPM-jb`(@3{GvknR&}YJWx{0t5W28&)FGb2M=ULP*he5?}hx< z!{a)H>mjqRW!irc#?1VQm(B0xd~roZck9E(2Xt-B&YIx=Sd=pcl`UZ!CC8WkgoP`K ze+KIpoi|2~`1PCNBex}1{El~zL!BQ;V!IFybMxJW{#N#*ym~~I67TDLcz)9~yUeH= zU~ZFCu)t9z&`(!v_`E@Jnz-+|u1G{2?a?1oCAuM^spq>8V{(MsH&ruXDL)8^>u5bw zHhz-(z4cr+*oJ;!{1knlgTjy14TSFZ4K39vzd5u$dL2nj)%{oa)~XuE#@I{CzQNzK zhp$8eqonkZqvD+@9^SaLmeljfaIcHuk0!JxMu39rfNngtCkqI^M6c@$|C|R zV3*cl%M^1b)*(8Q#T|>d+G2{DHU3_#=iA3N`ORU_?#6FLX>7gPmG-;< zig~d9a|lcJzZ#HFME+~soR0qHUBG%ziwbh{g|?6?{ntWTWd;ZB3U?+(+~6PH^kCYc z4H0FJ?Y&CwC(d&G7T7?nbzo9ptRFFYV@)5nA`@s!=-`R+caO)VaXP#=0acm9T?Sg| z(D(&w;`fevx^WDD`1WME*Lk3>&~=JHPrw7+^HvQKah4*a2B?EgN`iWTo?!QtkwL!@ zCz~wP3a>5Ch*#ZHLdvGkXk?_$!YMxk`3~OKAkpRSRXm27Y{UHn&4HS<<_dr7K3ngh zE2}SKM);xzu*I#aR^VN6I&!O{Od~_Zu#+HGS1+Y+X5v^^we*6DtTS2U^|GD-EGuIP zsnvO!?Sy$|cU8rO17q=$Ahe#<$1$d5{3OK59^vOM_rM@!=iw4^j+{gnq&UBXa`(XK zSeK*>;BHPrc)Ngc2Duz!5)g=8Fw*avNx>}4RzVITkLWi3h3`Z@Hcvw%fI(;PYa^Jd zPK+BZKX}MIn04?K0C0e{z7qtuGs*fY3YkOkHtyx%j{DG#?$s6J1tV?uA69f6#qXXt zDEgL4zdx6uCN453w^Ki94ud&_qOq`V4>&J!Ul~YadE1cv&XMovlBo6QUH65d(DD+%CFX`_ zB~v<3veB_JqhI`>a9+Bx8B&uq*WkVt=I(2V94Y=?lE5x4t^wSu(wLxJHZwAj^HyZS zoffsB{!r}oC*cQqTuH%)+MA)g`3$gd19G+th3se@$OkvJY)N_N*ZTsi#1lcYUvw1Q zoQGh?I#cbX_-mxQ@2d@Y{xQ|xOjRWw}Fw0~wpcbOo>IxEcqA+QF5=2J> zbov_{;xZ+v&$fFs1f$4R;v$BUQReA;7%*JU*)vu@{@j4Zxu<%7+oY`MoI>>~Px z&il(sQdQPp$&fT-$?mBhV%OYNIm4Thpw109ixMWvpnFCtIyG)k?F{_N&++%=Rx;2bHbcJtf_Vh0W!{GfjWej2-<$i?9M_0<1G}dHovr zUoUbasvKSUqTgapn}#g_L5_$8g*8vOi%=(}& z%7`3eR{e>APLQlPcPFa8Qb;DQEcxFe{fzT22#%M*Y`|_?hwyPRm|R)aut40a7mfQJ z#y6OJ92%SQz;E9t`gJvl3g{mxNlT5XuLt33M`rTHB+(0pJ@&_fKq+IoJ-`)tA3fqr z+D}|{DT;t|5mJ4;b1rV&{uG?gJ?j8nPgL!cDD0pk29_vF8p$^j?L7+|zl$&T!*{Pi zAp1cE+&@yEjN#=OT3|T+wutg6)%v1~H*J{W`%c2>l}n*%@CP)-rRj6NYi9kYT)J&J z_`kp$I!R&NQX~kVJ@UK3kD{-~T8XMX*;cShf;dWoJW5yt4uJbu$a#jMb#{otyz<>X zI%BbjKvf}$H@k~um$SkDL)BRZ#o0vbHnI@(k&d)l58&a@4>+=33ho+1oAM zhyK0}#_h%Q*b1>ZG;95mYIxlDAuW#QR5~&A{liOOp=S@F&U?_?>ZD)z*vRy-Z>~(9 z56hfoSK2(!df1iQ#z5ZRWAa^j9cV{GJql(a?D7Ksc+lMT3flAAFB>tfgpfGDXOut7 zeoqS0bv-6rL7aW2**~%0z26kqNM9_ZCmYi7kfgU2=J$tOajB1=@I_jlxm&C|f!Qw= zP3w~FlZvv^;#@F-8`U(UMnS0%+%zjPg_<1Ig$G$^$&r9n-89X)>pZp|@KOU3~T3&C(&22T2vmQLKwp+h*M zjJS-i@L*}`^hduSehKd30$-0ixk3ef2{#{+*L8)WJqxZI#`^0sOJ-AE5@$!&R3a4n zT?6(KF2+4bC=~}gK10F4l3Hc_^)m3G{qSPc;kFNjhQGE%&QdxlfNVj-@BXKd4E_Pc z(f6}k@AXgDt_GKXUaAZDR04dmGI~WXf(|n$|LZKkz=go%$t2zGw6|KXGwj35w%^B3 zGVr}Wbh;a-uo`633KCU!7G9ZAzdzf!5olbWNpcxRsyKXLC98`N7JXZV#eP_S=YTJC zq0U4L-S3kL+@q`cRZF4)EYiR72ta3*2JV;O2|;Vfnp?`P|G%`xXW9$BO2*xw@wRYW z7i!cJ5O6rQ_u8AXPN8I?g&Sd5#7HBGT-m@kx3VgDa6sQFBAa!nkLMK*q>tvhD{ROb~>Z{Dd4~Zr3Cb{ z7QM-B0KKO?ENz=7!aV1Rq|9v<3Y9VjIGRKDc627jdf%sV_H94QczkH!p6A zYnlPE*gPTAl}XrOX&w3)Y>RJ+ZD_y5{SF`BM67Yq7ua(9494 zTSy(%r;ZIx8dO{z@A_WkG(pp=n!&BQf*oVy^o-=)(~;2c_i2V@;=1RVii2$NzrA1N=UC)h9;p3n7=$b6uH}20nRcjEFLc-d=Tjk z7smY453#>{w1bQ{it`H*y`R44Hv}}@>inAcT+|6Bj*&3lEj6IG{T|{h8BrDOS#}I_ zB>PEB%8Q9nmLK-aL{lkVEil(bkOaX9(eLl(cJB*58(^;(4M#CQEe|ujf&+he3w#6l zMdtl^`b!Ka!GDxuhXiq`Du>D_XT@;)jpvwU8K1W7Z*opao$_RUUiI-4JY5cq*0RCnaOr{aFlXO(GVE;kposRM?d5P3NppJ~zsY0UX-d zDVvRB(SrxF=Yd?qB+R)cT7|Zmg%=9_inf$dI=xGjc(`g^XRlSij51L_=-xj>@ z{%V|FA_!6Ec<`%+uE;{B_;n7bRYOho8x(*^yK9br1Y=pP|F8zc|HCjgyAu8z?u4vn z;=2QYE#p3;R09ZdNTkt1HP!7$bJ0&XQtl)!2qOcKDW+LPC5_KHrIgj~{xw#Mn9qDT zjGp|UgV61Z@zWNsL#P!&Y(?c{)N@D56=b7Yfv=IbS-kcSBltiV3`_Emq-3@CYVQI@ zx_vg`%QMNUQ%ae%XFx~m5h&AaHDenKJN%d84Q?FjWN$BUd!^h+h17+U$l&?YS^S%xEdxj>iuo<^n>s?ML zxP6=uw19yXu+ZZzqsY@16ysRCqF!E%Y~EjF%32raJPpOCD_Sw~kiz0hsF=@pN2$KJ zvbO806sN9;WMRPt4POEa6K$QxE!nlT;72-8LogSw8_KXzIvc~g$U@`8&CH3(q#RA@ z7S6s_-EwbjkT$$ zmso7G{JWu$502#KHi5H?d_GM%h8wHSU=CeGI#pnKxJT%NNLPfc9;DDmG%))Q%aO&$ z4_{RLnKW3bO1{ENeBn1-Y8o~>(&a0@?5B++(=7?;R$FWFM)Me_x@ub^nEWO2Sl#}3 zy{;(TXiCzQy8Bx;?W(~UaXp5=#rZFhNc$CmE)|vZ#ChN7vp{hOO?rln6gTGNlLL~n z-I^q1Po*LDp|GJ0evIjpw5&4QccR{;(>!pi%O`><#H;T`;DUF%r;v(jS?Q-oy`55W zy-=fXL?&*&!Ch~&A9@h-{va+dGiaWBMhkX5qq{pl$R@}ALK2|;0=PR~plo%#0xN1+ zl2dsMU5v=9%Pr#3#|yTmKkIaO5MJtf1ZLP29*8hSn&(e-$@-Cvkv{spK6Vw&>JK^l z!r1z`qBYxo7|fptAGr;aj@hqJ`RInb49=4L{F%-)4R0z9Kj?z=FRrF5t^IXxm~_?2 zM^9xKTHXc%CVGDz8Y#6UY$4w(0tVocGWF52x*dwGL8*bTXoqJ!@ZR+I$RnKLom3|D z7#|1Ne!~-9r_tmm01FNpG=X|u)&egsz;b2OSMGGR{CX%d8n~_x@b(=UVWo?COXH=SG9?{V|ic94`;^3*^zq6!g=iCE<+fA|q8MiM7f$O|!VKy&^UF5++cu z%J2^(kywm5I0JzB*`Mg=6I;X~qncHc&)yLQ0@-|X>D#{v3O28?cY|X1x#s2!eWPB> zU`wHP>wIrV=WCXArpijEW|#-+7XBg_^RIpM^P;0o1DsO?2K618LWXk{(+f*T1KD_k z!YHxXBARh%_ER-m_BJ>$ku(LH_kkp6o&1%KWIz2 z{lG!K<5@NeJD8$&ci-j_V@S&PvqU3NY8K)C)P$!0I~+lRjO15LQP)p0QfCEui{!M6 zq+@J72u*mN({K zZ3s~D+_TlwW1Y9i5f;tD*c}VAw(qv=HR7mNjyDJ;|IqnGKCeLY?ZMIid}Y#k`vadz zWK{d%O9U0+>-nAz#72}7*la$O|2`D>l~);g5korU$tlEw;`3F&{g_HeRI6aK{D)=XE?i`+n86N~@&H?=OF}HVh~n>NLW>Et^O4-qnCR z50$wyo$MkMsBj1haQ?C-mkSFMD=ZQ33b{CNl}?dcIL36c?wu&eyCT0VtNm#Q-o|V@ zv1I4#5wXxWvc>sEW5IRBFeu`Xo-@FH8^=^*b?e9LYJssiyDq-@9;Jzvc4}@dl9cQl z=E0CB+eg>O?f#yEZ7z#US#w+4Q~jdLD&NgepK~7Pp-nqN+PA0-Al$%N%IIFeGnqZQ zPr-lV8+t*W247aEEfLoquAxua3#j!#|Et!E7rxMybN+8`N#5XK?gQdKVH|fxQ*8r@ zsCP(ss}h4;_ufq`mdruq`&%(5C-2s-gSHXsfH+yMXFdmOXn+^YL;N>d0ruCxys;?& zOyxzNb>O@;Mp8}L)<93NwExu-(^<#ZvUavkPD6O-pb-DwvBi7NR2MX}zsJa9R3o4% z>573FmSmGj3zmAW#9KMK<4)&^(Xa%6)^Gc;BI^w^7*j^6~fkUNVJl z2<*T6L*OzqhI_14UV~%-h5`JON87B1!KS|pKPrznm5@4kP`*tR;@Jp^T*MPBSj1p=14@LT-V2h@S#S|? zS$@xC_*S`VLUaTx38dI!^`aOdLJht&VwgL@gKoqfi@Mz;{29}OE~BppomiW>&sly( zA$U#lkQ=+!Ej?V5ICQ&lrjYa@taYvgU*x0l!9vjJOKc8Zkpx4{ZrY^ z?7iX8!_yvPtaF%Sc8o|V;T5d?wsQ$ z*c|Y?ZF?72o9pTVuN_z}8Fo58R;n0!u#vnZnJkf3^!GT^@C^R0;ZlXqsl!?+0GA<% z9otdHD>3cJ1^hK!RHzum@G!G`K}~qD&^FDMFOzP9^b6Zqp`8AUUi}F0BfYtS9!8yAZZA&}LAP<`Ej>w_re3-p1hC$XmQ-18OPrmOvSM5HeEWAwYIalj8zYY6V zv$zhP3(V_=Xb5PVR8M84K+?0~316Xdxss=TYBdz=K_E9y>8&SGX8z6$$1Rvk3zmvn zO2IJo(Zg+k_Dz@P-$mB5JDD@Zm4RlB{UZLf;K~#z3HfZJFFPqu#S>p4hNb zBe)DH79H|2A1=PF43)IGW3xx7r)SoNaZ_;z2llt|t|#8dxWCsQkdt=9`N(Um%z%lx zo(p3U*J6{Ugfv65Vno5924SV>^#EvQ9^ueF3ap2EMA{2k0B;JbOL1}QsNJAlKwT%I z;8+kVSUna#9HnLg@y7mx1{kHoDL($E<$C~#fH*)%&}x25abTpJWDr~wBK_khhE@dT z(kl5tnGj|iwxNL|NL-C9aA^{7$#q6Ovl=L9g$~8p7Sz4RUl*QdtKt@0Cy$9(cEtGx z*|Jb3sN?L#Aoqb$IqkF05=h8$A?9ygp8DQE@iLIs@^TBmf~#gO`-B3pSuP7?M#wyo z63GA+G}VPTk4Ert`-i^uVCUyGZOTiJ(5bkeA3wQr41Ozke2RNR9f9L#(}s>HEBUIu z$0ZM>*=V&h1O3!BTHnVZZN7|oJ(~k+eq674KB0fck&DmZ zL!lZ^+||`pv6MW&zn6c7eXoMZ5y!~iw#nh|Bl+<8bb=*PQHHFA&wh8<2KcbVr4sR( znrjW0ypG(GqK^`_*ugy}SpW2>fCE`OZzB8Cs$q0H@RfHYtZmaqFP+VU z0gLsw2CpI?g-7uRatw9?S{T{?h}sWshc!bZ<)QL?!g6o42ARLaZMETJV~VcY1QPyI zVD_Pu56gK+W?VxT(+Cgjh~X+5vKIN4p;r=XL3;Bd1E{QuKD}AN*n~zT*T#bi_aFLXXxZDXO@@MBpwj37iEDEJfc8QYRmZ z0MLD2rPb7k!cpWhGpu+_?AX?8?|!=Vz7vYoTf|Sef05Z>>NCcK5?>)p{MJJVaJOQP zCtRq5U){sAouI!f(PQ#UEUtaF0%Z^eW|$d%v*`jj7nL|Xl>9EpFDuCAY8hssEm^S- z1}kS_J{qB&K)-wOq^2=R=A2!#QJil^R#7uO#P8nkwJQ(nK50Mi?{B}@^mGCM+nLP* zFdMK_(@ZvL{_-qeiVe+{Ds)kLc|7qvEt+hG#o8t19lf^wajE+;*7beY_{C(o{ErrO z?nY<$mD?K@d)_O_blw|HuJX4FYcuJU#{{KY^qk1GEiWwS-Dun7$@JuK6k8H~e7iUdp^r zVwR?Oq?A&=o~VOTv)6o2l%`dJTv#WP&i&X`0K4$dlgb=V=SLSQ_6C$=^D4O^hz6qo zF_jY0HB@0z-8ARiyAUugAz%}oO)ccVq$IN1Ra~8yf5zW(XaWkm(8iJ8s<+6~^VpUXDL7wDU(Z1zyS>*7;cS(%VU8k0VS9-rfgl2XolEp#oQEcSzv^9jB# z>3h-56KQ{lPjq0mT*2Q(mp`iz(~H%GvH+`u}+ z$VjtBGdTTTB~I{ty=i@ouA?(G(2D=jEf(Bq$AIDr0E_u1?Z3Q3yKdU5VoZ99ag2us zybvt^yb$QkIpGyq;TOKNhAckOWB8j=OLquI87Kae%5kxeUmpM5#9h}g!1LIlKU-bw ztcQ^oGzgH|OagB4CqW32ttiJI=+DBfOM33HncpFDal%ri%qWpRF#tjU`Ef`A0dcvQ zi#UAKBFgjzPR!eP_u#cosE9&bkQZ-->@NEclgUR8*8`OVwe0AkS9qKOA&B&mi?{tQ z)V=jxxYw12yGU~E!Y%Qz+_!)bFDRau`1tUXy-^MlvfW%P>GnQuKu=@9J(JeW$>2V} z3}aWX=ttJ#P77TJC|`r@wWYR-jBHl4HG>Hr>P6Sa+bH?sR*qjf;Ok8Qjjd3%+MIf? z#n*rl=CH{%=(t@(Clr*&tswNPxVPyKSm7_^uhZmk4dHy~H5sWj)!xXzO-Ze1V{Q+1 z!d^2x&nD)3>ZTE2Yut8nFO*VrIzupulf`!I>dR6>45&T!UM9FbLQ~Z0sw4R`rx9R&}%zkF$}fTKeUo- zyP&}%$ksN2zY+7u_q||(qpAr~(_XCF>VK`pW?bu7Tif$oFTcz z#M^M3SxH7jgNnW#fkhq%yjpS-P=9z~JU4!-s%q+!rrxv%#`XOWmJgeTx2OsysBcA8@VVYT zv>eDQgl@Qy39yI24` z0e9bk%zO_KUDZI0;Xr7g!2+KhPeo$}T#f~)XTUYyBAo$L^E@>Y42MI33mtgJh*XCp znRI@az!AasW01Wui>`mrhp`&I+oLQ%7zW99YH{&*4RF_1^jxFkQ!VMNuFDT(LKQ+^}6_$QU7Vv4xH5|K1=PDl)5=d3XF z4>lu))AWD4&IEk5 z&dJWRy}?9`OUxY#NW^GZe5j!|H>*4})R}c4R=QHhJA#=pK*x9hCVkseZNn3wORF;e z(V@tb=z<7%TP^F&a)JMN<&$-8L59kEc*3>z`CeEhTFzxF${AZFMK2Ot@RcNI7~=d4 zLI)|ISieVz7H816pTO`%RPCyGvFm%07sF8mhkY?tw57FquS$oL=>^<_174vMceYWgq*5>{OxxoqF zC%uJ4ZNAl{j~6*_GH%`Z%GYzFO<7UaN;Lhca`d9pp zkY1Z)LxrrJMl?)nGb<9K642I7AeB36*IS1eOCTU#va@dp-SE=ZFSq8jkg>^a}QEr{n3_4kH6h!{A_ts$*a4K}SDFqLqZwyFv zJrWzMsbP+sL;Pg;$V%4zl^4THJi(}6&f^zN3~X7*2P_utPw!2n_kh?U{a|s`y9B*I zs9hb7a7;sx?*Qo_lLm4|7mSpZ4FW%Xy{COZ;z%k$Cwt)2`L5KHbwN{SHz#{k;a)OJ zsd)}VtpaPD1ernz-cxNh6QZCBoR~KfDiZ6h&`N)2`3az3csur-+HnI;5a!=vNKsnI z2nsuUMZPQbxQs>{MNsp;{6dm6%d!ub@n;J&!W=Vq3BUA-1~$I3zaKMp+M>Wb#Clml zV*Yd?E~thWQ%tgQ%~3TnS|b!MT4!iZBcb>Z0z@0laL%MMf4c+oQppW+kKT%_)&$Mk zwf!&Q4NPmc##W90E~XmWPQBKO)9p(CMSiXvKtp)%MFAHD0Dh$d1gll|Xum3{w(Ze+ zPUCy5h(l~CG2?9Y2C6lgM7OV~X-l*V1ulx5xBx zrRTFFpPSXO9_8{(X(<&6g5t_fP1Pm?aRnH7(C1pz?mqS#k}tNV z&?1rwrBE&FMpu}W51FCTgZ-H%bDQ$75&2%}EqTM{=ah*+o1XUCxeAzbH`~TI+a2TLhVa9ZOkNMCCt=SaOayq2HMz`}*5IIT- z^gA>={N*j{IS7K;%;P9N;bjBpY_SF;M) z@x|-u_W?XB5iJUw4yAVl?@=1Yu{p-4Gp*XwPVdCd+7U77YWQQ~BY~1YwwtC~04Y+S z^T8aNynM_J?<+>4N+Sw@iU<|mL`#cGQo*fBr#@ov4tD##COIpOjVI7&e>ux)FDL+F zGUacAS8+IA!PR-*Gcx8;+qJI*;a;OVoL;!hF=kSZcm-DGbp@4Ov7yrco}N>VDr!}B z#xconBMO32IdI>{*ndhSk_VqSA#Cp<&gz=t#@&Ybmvo z4>h1fd<#${+`!vevmjqIJX9piWl%#*LF%t_8h53`bWBP}vM3GN(~vLTS0t3BP#w&Z z6Qm3tT{`EAFZgZMsHUmpT<=sV~eh|Lk5yFP@^O zuxC-y6@Je@XK&X`g|{L)qDu1^2)o8xnJ5JQnd~;J}duj+8f$6`6z#3u3!}KmKXWMxj^w&q>t* z9icJHw7XYz^6CenczkTvgH4Faya~G2f5pEC?-yQE6XEAx%Cd-LP`0 zzKIMG{P#)Lup;-WU%tKhLduq9fq7arezF|8FNUO5V_X#dlU}Xxf|yP}*lMwkw~AHd zafA~xEI#}2fpX%mS9=bNxsQ$4zs^RG&gIc*f{DE$>aVWxHXU)+`!Yp*8?Q{OOMt$w zt&sT&9&dl}ecEKCL#P*l-3+AxCoaF?; zwnlX|U0vOIHQfr?B1L3+^YKuyyDQWWe)s&tMXP>g*l;(|)Dc~=snLzFxm zUiQ#!a86aX0h6TliG%h^7jk5E{5A6!om@b=zc%;_FPe)6PQ#3x`9A;DaAX1Lu)l3F z1`&focQTxd5nnc7txACP6GkgQO6ME&*{~fdn~#KBQD3qaEBggba5p$m{Z~|gO^b;~XoO)cilzv*`i(a$xieI^xh%xGKE#0rE&Tt)-x}{OW}`2Oq*#fem_+ zGZ7mi$IQ5ow~kt9tV4)#m8>*Hqp%%u-m18(d+su3UCeXMxb=|1>Yw}k+&+PH z6%1Q-_qmBDMGgpFZS{<{<1!xNBLU5f73V(xuC+#>t8y%h8RJLH(xM#>JR}JSf@cDO zpLG=8xmRm9gT- zbo;i>5pauQGTK_hy za}@%;S2 zS@XdwqQ$M-(wwH5F&>l8$7yFfLktt&`MHE^LIl$Bd) zcR!dzE%WRhAb6lcrNVRurDT8uzn6q0so*4Zdve`bMuv^G%5bPKjwi8YgX;8` zB`;24&~RW$XM0zqU=S9@b4}!}_njOK8N6151P1e#2aU6_bzpkmQJ1Ct7?E|YeaMrg zM_vS0D|R{rthc%YVezom4~4)pS+82Zw$d7o`lfHEKz#wu4O%tnKhmlAhf}{EjD=r1 zdM8Ae*pdZ|Fi4cWqOz32M^%JD6s1Bmoe(!1@3}ZV$mvq0gVnF3oeJs4Xw5(OYg|ds z(o2`!h;h)qoYk66dWJ`%2vjv3)DVLIBF2O6SL%5;AOd`p$@m+1#tm^V_Ie_rakyvs z+^0Al_s$>#ebLwd@JEM3z;K$oy&wpArKdf$6xc8qtgvL_MUJGnvdJ0 zCXvdE!{Nm#s}Y{Q`}KvtCO#)S*|PDIL8HC0CHgOC^!FhS!rYITEc?Ta%9@>1?*x^vg$ z8BYmdeLy{u!JTH5*z*4#>JwL%Q17oBleC6}b0P%m&&>4gs(j2a?*|Yy&)0h_-g01i z6!92v_z1ll^x7k7B1Ari!kNs-6^eoR%+;5REE%+Zs7``(`Muq3!-Uh$I zu8Ch^5xVgK6+)RotF+2IyqQx{%b*`Y&i3AItmeet;`YnW zTRV@p;!XU+>Ty2rpcckBfOE>oW$`K1DlEFsFpqm^NWUuGUr&l9ytN^lR0JX8r0=)V z{-&piV6rO)hYzZB!1Qpdaa-eLp{{j2iu#=oj+SDe zj&od!N~)aK3=5}c0=~uK&*MHm#?>{kJ9R{VDTxHki|TYfTcngdBY*`0AjqPNolkDh^;Us`CTHZSvK%bOLLjQKF!-kI`_%Hy zBtY+8oEL!=B=>)@zSATU*E}OcI z0)z5SP0L;(P!j&)_ST|=L&ILJJVIkt*oXw$M`WZlaWC(F3G%a9Wg4){*3_>;<$TY$ zh)S0Bf_cqpE8xZHu>|ZQByQHHv;~Q4A@Zp)uglh&FDC{U9>_ilm`$D$9ZVbr7ieLp zz+C5fd+h}N>g^$&Ir`Fs8uPz}QNmEB{Qe3pc8K@CQt-P3APO!zXkcn- zOnHW;daR_?w*FIQ2_a;Sh39I4QZUWraUG(!za8evOXyrezyD<_{iElLWhE;6Q0l|%aU8yof2Lf<@UvBwWCY-D9$he4wet(ID z$d~kItEzOjU|FNJ*f{TFNyrI%0jvhg(9sPDaimNPH)~3+@@KcSA_5v2?CMc=w)g1J zDnCi+U8wbLi{1Tql#z0=z*AT`(;3l4I@Ns4oo)0pL=aCPU=Dp@91Gm1dTN82Q~1F& z&~}120DxMC3dciSx{wxf)YILv4A$&|B{q>yzY14{(x%^!*0eW2EA-hxNHEUvbH4^dEtfG%|@P8AzIm)`y8kiGla=*K8?}Cb2`1u7o+>~A?D#*dHK8d!n3_i zzD4A<53Ji~FZlLPvrJ_KnOJ*%^d#+**w((*d=EeW{Jh4EolQ$lQbC{0_KeRKkSx}f zIWg>|R9<(#S;-BLW^L73ThN#{L{O+@Fs!^cvR2`fr7&fb&ZU>O>&-GcyB*gk0i z>$y#7fpBRQ6gw1-1qC0#I6#%`h>B$)N_UEfWd=NE|J!eXeX`C5aDMJbB#Wik2fAKy zPd6fslv~q{J!W%ZT!E%Zi3E)ifbrIma!H1c)fB13mdguXYzI64jN!Hf=?;laN#jna zg>%a#*RkV`NbDvO{4?8Mg)D;b`{!K#Xd})Q>^PgR1U9(aii1C6EA2W%M@QZ1iJWSA zaALA$yCi-E$!eyq4g9%%*TiK?a6nsITi&-e_3kEVthTc@G9Xe8f~%^ZB(gcy=`ze> z-9Ku3#r(5VlzJUi{L3Lm#Vi))eGTRd3(?h&81T6$a|MD~uy5`bbC=V^%&1JW~2^n%`*!I$L-`q!p#Cq(hj*f`beq#66 zX7VBv0}YBMs99*=o4+qmUwxFrY|gnZHd%XoyW`d~So+sx#a{mW)bDe;vNOo%fw^w1 z)?{BX$j*~gG7w5!eeUKOs^f^-c|`QKze8nw3F?w`KmU?WY|*nm>z1It2xDPI%u`mM z_uaH@Q%)tHP5?c#w$BTpu-qHp7&+ke2u zrm6&B?1Yl@ zd^wijN_X9$tC!HAZ{#p@oAjdHg3#!6S#=tM6zB^&rQCG>K$MdtlWI7yfXR09-Jh>B z28N`g`iL=h(&-i{eR{B~!A`N=7IdUMw7bQ;#>7Ci+I8mJv&;{+8b!o5?_7gzqL7(X z1lPx*U}`NvbW}brI%5R7nzp6gi&Eb<<@EVuXV%!kpc@KRQni+c} z@}JKzLXl{FXPWR8KRV+C%{B&F-TWew|2!xqU`EA`ye~VMomNtbdaUG)SDr()a3izT zZHw)IpAi-cf3fR~+kAZ{T=`= z+b(yqGdK8b4O{0YX4qr8GM75-?rk|8f#PvQ<`jj2T4Z3d&RSGQTtyom4o-Y^7MFQM z_(yebS{52rQM;GkDoZWzghqn5aDHm zO6sF@{|ES>p2PyGT;7;aC=DeJEgd`l^8M_gCVAnE!bQRbdin|&;q@=T6OU~UuN$=I zGfQ-kO4c`^2Bf90+5-*VyGr@7!LQSXO>!gSCs=%Mzc{#wat(>6A9dIhIxVAcq7Tma z#D5lytt1TesOe?!>6#LM5he2DQtt-Oh_o=nTsg`K(q$z6nm{Tx1)nb{!TL^un$BxT zgT$;m;?A~e()(Q9g^h`GW<_0F#9eD_^lT9{ejTH)I8Yb~4)f%t7{?-=ou0<2J68N8 zr*#2UEtqOL$JE%&6k4FFXVmgcnPrE!$7es&o?@SNjW!uP~zDR+u5coW~4V|!74=s-*tRJh_k_l(hTex{^pggz6z7d%L?|ABZj ztzJw$-5o!rt{Qwl;i%(v3rmHU+LA!}B|2sN^RTjt()@HZEOyR8Q*hRwOA*hTkSg_1q(D}%qy+W+S@66_*`R=}vvUp#%R!A+ZdGZxYqdtqh z(pplE5`E{GNLiV!fV1bIv2O>I_$8(dU%`me;rFbHdwhD-3_y^5|CDcC^-)R#)3B%l z&hAaehyTP&BgBXxpquPw#*vNBE^Ia*@@t&w@z#MI@4myFfxc&p$Ax1=$+HMig*3(e z;Z;!jSG1_dWYtyF1(YlA-mr{kAcDnbHUJX&@@J~tGhP}dr=`~xu{p9k%-S&;sM3Ak zohSy<^NK`?eJ0X860$TS{r?V>Ju>CO^@KI;{RD29Lj{;ji*a}}A87bo;US<_{ zo%nbSzMxVCu15Q-F<_X=-|ulmX6KK{fwJ5J`-INBZdo2{$owJll=Oqg~L+on}BuG)m>)rzXbxB;EEt=<3U0uq97m^w}1n zI=@mX0&bv9FaL6Ez72E+zBS59Pm_apTh6)uasVlpCWf@Y>iw_St#>>8K;4jt08ys) z9_jH85!-eQHIuZ>Jos!deexe6Q8gkfsMEk_L5vT>O@b~50wK?>r;+_Z(&p=BOz z!}MV#seWY?J*c-f%9OtDY@R6Odlfinx7~f~jI+O-ctLD;Mrt*%+g+f$+@1^jAg%)p z`I@Zt+$lr^=kf;)Hi7nv7mYmV{B=EGz5~=RHx9<>RlOi74Hha!TI4(NBr(g9RgMsa ziO#s-eq*6lH#8YspPCi*sjEkL<=u;&=XK4hOf>V@xSrKRyZizx3|u!dsy_#GEmsS; z(q1&uOcw(sp0JG}E=OfQ#C>FWjcr<6JdQc{icRw+76SIxSgI@*l=PHBd_!=^yB-)u zhw$JGPv@A1OL$hAC=Lhpb|)v-dYg1(N*^w^F6LKT60~8GoRA0&G^Q$0LF#Fyr}n#} zaBFQh1jnrdWz3aBTXmQ|jRORlno=i?2#;K6Ao)CG@p5ZfK1qK+axJBdBa*}HcL<*@ zUrET4vN(| zP-X*@kKWmkQEbXu(&Dj0^3c`K0?buLI(&2rL<9T8K?NMZuADXgNq|o^R9p`>Lpi-_ zSPBMe`#G3;Ii3`%6@#%a#V!~?Cn{ojpwpDX<4hfYs&$^D)z_X3NC|IOn}r?w3Ztvn zsW`S?VSz)d&p|w<&t)^U33iSTw-e6h0biYbQ)EJ1oxvEaursK8BTKaFj0w&v&9`O@ zD&R#kd61`izXPHb0B>s&in=(EWeP^vU)UHp*)ZLbG#GX8kSk^2PEGMzdQ=f=mCF!p zOd-K?zC+*Bbr~KV7Sj#F`abm|Wnoza$3$3SNXP#ByF4e9kPvor!dwb5CMg43O86mF zwsRYOD=UQdL7OT&?fhwi0uFn*R&N@@-UtVv?e}FOM+J>UX*r>5K$9!yyj*L z{q~R?e}vV_O15ckg65Rr;b$2pc|ui$UxA+()i52OCn`Nm=IP2UfR*6f9Wy zlbhl)9teRy?LOeOe@V#D3eR2M`hh233d59Cx#a3g)@H>0rG~2!e)q7@Y-^QYLQk1e zH55^RuJ9gH^pa|3VwHrEQ|4581*kMf@}V}b!aj+W{LA26!*~9uk?CN)wK|c3c9;NI z#$9NQc|C_yqF#LbDRdN`Ec_|bEMed5drK7yOazkO2@uJlzIr98$PD2pshk(UPW6qH z2c7{fn}UAjg@GiY*Upi0W8&3EX8shU=Yl=epH09EdVy+G!V_>IS(OxU_o3&X@6tu8 zX52l(cz6}nL~UK7Ewo)`pmUsy?p#OKbUQVen(J*-gUR3z#(BxP~t7Jt3AK; z%=V6Bypc1S=;~vpZx;#mB?^EA#xi@-h9&fRLmw4otSx1tfp!iSx@d#ayltJjwk{u3 zKC^Rbj8WEg}%PwW?fzm**wPZxzb zQ&N)~PAojyqf*J-&Su_la(E=DknW(RuR1HVjR|>W1NCUgG5?Y^v?Oe}y*PN-iw9K* zN(BbfZMMK31Je)Z>UU976Q0J8uM#dU-1qlTW;0};{*`o*l30;gwds$TtoI}{G=1m70|?+g8z_7C{jBwU|B=<*d-m);>!>Q%q_;`Tmy>^~u!|9w z4~7e0UZ*e7=SBoO?4>X>U1>klZF9N^##Sq!t(-ZgV>dNQ#5Yz6{rz+XqwyC4A z5X6>{p{K;L2r;^gRVx)?%tw#^mTYR*!QRC7mmqE63zh8g_~6(TwmmXVaa9xv*xb%l zO~pvXEGjjMx6Wy&?YQoyXFjv~biH;^Hj$o6r6xHjUIzDyLPu)Br^XMt4>67N%rp5a)c9-rD}eM&dqhN%W5=qxF zo1VTv3$hKakS})2)n?WaUB)AE6|ol2B#gpLi-pFG-N~>!?uoT(MHwoQjsE)T;IP+K zmyXcROD-aUj)8px>*{(XD<{{zzkguL#Y+W$baWJzknjh@K|n}|be5+;FFrjv89X#3 z+cz-q`_G?!f$y9=Ja-PpR#tRgULf>t6Ld3m_3yb{tgOn1{vYPm^z>rrRk9Hw`g(fV z)G`th5>Zi67`OX-d)?w;dmr@m^+PgKf!auBR@R97$;G}MF(;?`g4gF>1M&~@f--X`reJp2FZP6Js;0*5e z$6EKg1zJPllIq-=gr7K$*$y^rdwcus6Z*G1FW|~%^tH9`S4Fn{$L>j1so(TTg5RZW zZEZu8LHFp*GT7MI6X$B$+Vk!YQKA}=7gM($E>;=?_!nxx722p=>cPXqXB#R626kL} z3x9YI&>a`l6@7n2-}GutN>08xb-%TIINa2GBy)X-DV{q9E>QaB=>^HSO~%~ZJWoUn z`hA|*dGq~gOD8l)zTJ))JXI9%W}XG`TIkL#{r9$9^7U7f(Diu`Nk8%Aa3ZoAxbK zlyPvkSLLko-!e~!>n98gU?@q^rcDWHLWJcxr@LW3Alx-#ETJ)k{{NG{-ocMviLCR( zEl(t0SwZwU8IC6Urv*Fd|4sU=R-TApg=7(oGa`rKR)#r2^yr{n8fwxB2Xi615Vr>N zqJ(p`pO?_0SXKHaD>(&X5mo2OR!Oa3K`xt47?4}l+qmXn&@(!m$bw&)5`H_NkN!XnaipL+3Ll1WEuHCAp z;d`AL^D8QpCr2RZ#pJgW1uTR{Q zb^#0*Rg&<`%G4C)5E{FX5M(r)Z9V_&%yG-W*bAJtc-^(LNyae@tTLRB{lK$#6z9MAYw&Ky<8Iu$Ttod^b3zID0 z>^%(mMxAo1S?l|duLPu-+#IA;UYLlYGoxMh`}fhjU5fllPxrM#55hx77w_-^qrqo= z4SH<7>v0Z>MIXO)TUqB_Z}`Uh+D->g{5r`?LVa(0Sq1@C(lhAYYz zEo*L(_ttQn>%|M&>kO71^5*U==@?4Ger1pC-$w7ie+xHDtAvb`9X_e-6aBbp{NeEn1z>9^ z9v$7K@lh`FA}aQp>fq3`kev39E?|;fmnz6g)ve8_qW)C1;cGbfZ4RzY(awriE z_1hM_)!@r5d=)%ylzzp>%@Gq-c-@z!dq-iS(I?6`$CKri;GC|O6x5cBOz^Ow*B$g^ zE~zxn@;J1~(UyCajf_cHDlmr=@)1!1xN_7pYoWykmgzhyQbE1Cx-qY^84%Ci)I_3V zfrQN9$A%;kzv(>MHNSpO=42pR>o1j|MQC<~by9+%`HGI{Qc3=a_SBu@B~KM;4DsSG z2x4sMmCR29giHl?TmP-Qn9Z8?x6MSea~aALy2sR^mE8SzQL zI549dIW^Ih9dvI9_dxUtbHE<&Z3yT_>jWUvwz{zM1_3aIPYB(H(}5pq_nww&kEOz4`oCjnV3* zNa&mDZad@Pse!so+si}iDu(C?FMgQ+cn!!*9_c16{;xddL)!o3^d@4d?LeGvoWLV? zSD+xvrV&}ol7Bs`*XmEy=oh{JG|!3NJzjIw6y-j{|L!wEZ;e!6dlu+2=b$|c2S5OU zDr(VLJlD)k18EZl=%~KezV2KNvknOF?KJbK0#_9!<@I=9Kpm{!um-a%7eLWPD%>`a z>z-n`R#Jz6h(4wWq={$&iL%(5>66w;2Eb zl@0N~YkPcQKeOEu&^!|F8xGbIlG=U2^hi$Ep`GrarJn|+L1l5{{`%`t<_Y`<%KydX zs=)@C559J%YqUD@ek*>!R1?k26jZ)8(~IQ*xPjh_2Q!&YxXMB7|J%8WzA>ukxIl|# z2E;}~j3bw+5^xi2F59D=N#O^c)0{B+TGKd+)dpv2T`Gz znDKbpK-DFqa-pUY(NE7SlkwJKOk-hA+{jEYgsKl#9}5g+>^&<1G+VQ~+mVZ8N7=$q zenf{N7*uq#1gnUp$8XA`P>KtTv4z3GaDq4d21Zl=Ju2$1JQHDo?P!#gD=ydf3|0L; z*AREoY?f%?F9E%Y0x3f+s#xj+rkqEU4>+H>5|!*Z1nw9@1O8-4uG&Wzqhq^X(7S<5 z>H%B{NXU}x3;4J9->m$FjKqoBZ=cfy2pH?m0ImjYoyDXzejb66LcTx zMXE7Le5N_4NAt^qzA@y>yBO&)P=V+5=c=0S-J^(={i#%=Sp3|#JDdNJ?p#kO1hK@Fc5(LySyHvK9L=tGMJA0rV8PfcAtG2t&ZiYPxsE+`*-{Cehp z)!FbO`?6mG1RE5*Fu zaaPROzrLY3-2D*~N=i^tR%XGcHxVo`S>^}4Vv^&uKuXFl6#r#Q<)XyQWhKY#D8|_N z4IEc={s%QO!id@;(VjbfUmcES3I7fvA>@2S$SD!1#f4Zazm)Qb{6pKu|I1(+B=+|+sf`6)0@RQShwHo2 z|DMx{ruml@>TzH}n674aeZ2`dq)DH=-~YT|m~eN_U3L#EVXaePN4M>S9Su%XAAsgv1jYfx+rseUIHx;z>z5*7EA$2O{Ra?)qoyS4yX zVG(&c(;;emB%^*TbcLK{eDJO?l91m) z#Hmkz+;~43Y}%NFi>=~=eZ`qR&l=nr#XHq|m`uC=V9Li;^}8Cmb+53n$>Sa;(2o^r zgh>x&57a-iOyz;X{JGrI++I3lK7nX=wKHVs)N81~yy<=Y;4CNG8H(!s_uy-Rskb@Fjgsl4lBL*) zq+#~Axo#BZ;pyBAS$Zm!zIF|i6oC>GFhmjO?%-F(<##Jy1E_n zNv;MYph_CIf6E{gkd-a}Tqz#zL{%DatyG6&kuN&%L9+}3jLCz8HI&M1v5!6`uLy4E}w^lIzepBxUSAvX;aQT z+Lq_(viLyxC&e)oiVMF_M8r%kOq95#CpSJG^jKFZYpUZa6uf`&S`2yglFg^I)WQ~p zIEE%#Vl%+liI40gxGArP@^ZcUoq{vvs-g-}cPpvMT>uWBZLKRl4SKZfB3${_yBC1c>?xIiI5gmN*9ujJKEt&w zNmu08DRFWEpFx#?&(AtD8ng>+&2r!LMN#W%KDMl**!TgA$ub$$sYw6itw?x-2=?)B z7yf?LbZVrxfny1db92dg|1m3+X--MU_5JUOnPqz7D^dZLyg~OVQqj7?$ZLx7;XLyXc_^eCE zoukG+a&lVrn;2@l150w0&v%%3M>sXpqN}A>&eIzqpL}A%bkq=Q-Nwm~;;2uGXr5Fo z)^RDn`FRi|YV0zRNBW77+fJf_4A5Tpx$VrptFEty+&;T5?)$51%*01SF)q`j_*@S2 z82G1!UJrPo4Cy6ad3;#0cjMmM%lnf@sH7p**}TvZ5%U+-FBcn-vDj- zPD!W^E`C!^!`;1;a2uwpbPrg^Ul9c-;B=(jC0ZRPoA_2uB$B2agvvuKE!EAsamowoM@U7-94oz|SVr`c|2V$({yl-=a& z2*G8qeZl2!8+BE{9eH{Rx5=TjxFrbtU?Qu(@YHP4K>0_ZaQBFXjClr0IA6t#z(%jN zH8uMpo0!-R|2%!`l#b8`DMR8Gx}THA`Z2`L#@(TPI399>YMKk+_&qUhZO>fif^S3D zxUzW6m%evHv7h=+D^wnZ4u7ck6*hMLR-?Fc!*K%22)v!?&8M0|5Wb94SIfuD>wig1 zB&NAKISYT>9Ye=R-}u(Oj=2i*CMEB1gOVygaXB5QIL~L|_rD`j-k6YjpW!YD@p^Fjie`EEf&!zPYxO4(xfImV298)?-7MX6e$SErd?ibPSJzUF%69 z_G0PZEKcfp)r1&Mf`3}*Gw1Kz|E-KpSfWWk|2!Zl_aK;M4oP$fDn~A@J54<8Li<@w z>Q5=8)1c6zElYp0PEWW}tyII)aF$MbHks^@JU`)(|Ef}k$d@iB}jEJS>V`*UYvg7{pkrKg`uW;tE;)ww4>&vHK)DhafWWY;zzT~XG zt-f8O`RE1uycfMMUU_GA2`Bew_LI7*#V22zNIOfi{VdNo)H*Xez&(JFyWu*i&==Bf z2(wxds-uB009l!wTttoxB?krGHrAW?XezDna^p&ED?89dNH6*;f$0Zvu4i&`Wt`FH z++5A#9mK#L6zRTBeP1A;44OAF|sOCg3CaA++9?d>8yx%7~zA>vm=pLX`s^UbAn7VT34 z6vU>uAr-%1KI0cu)}64k4K|;JIvg(B=^44@-K|ayTP4;S`W-h+iY6cO>TEpbT{z zj;Q>SouxttdXyrup2Yu_En>`M4tW&&*Z0~BsO?QC><`BM6`wN6NRk!}eZoWnJ|aN04vPicO{Qj5B+@GE_qMv?oK^X6+h^K|>pO`Mt-O>hy0I7Md zd801d(Xuh^k{>gQM*`{3v&4#inZ*tHFtLmu9r{oABn#m)zPvp`i4Bn)c+vH7bgW9rH^Yh2qiP7Y&K zNyxla?%D*~GuIYjlxl(W`>Oxs$tEl|LgG;&Ft@0TZH%fJ?8 z^VqoHzDbSSyDk43wTob6m}4zPM)(-V2XLyVBB-|4>@5EtHpv053~gRP5SS50dc&eE zP&iJ6S-4lJt(=h-p2^iv7lbC<%v^m9a9A0ahyJOpzO`|j3$@k=f!T6BoyskeVMg!; zj=O1HUrz!K|8V75{;nA6dd5id&W^JE{*x7W6H|lt&rZqPopqu*%1m5VQ6Oj8nLRJC zjJd}pLeUXP*TPjMG2s5ZvbeaJ>Lq)<=h7NSkfne-A{N8HzBu)PIBUZ%`yL%i1cn(f zdr{2>!l!D)O3ejO4N!l;bWV#p)WZ!Hksa8gR(HtnmzP}pS6D-5!ve(&RC*Mw%uCd` z+RcDsGc6>?1M0w0+^6c_8Rh7Y+>(Xa@n%o5@_CaTm+1>gV#Qt>JlJ%<68IlCX=W*e=0HtKH{E?8S`}Y8EM2g%h92}8ElUty8A9iv5W1LE zSs>Qm_#lDl!V0C=QE4VHlnf8F`_ZUhRyfPohHP=xwM!xUZ}JI6H^q9cg1PUbnikT= z#HG^7sE&m7k7b8;Kw_MPEO2z#+JLQ8cW zE3FcjI#Ep!854I5-v|;ARW}*2Gq_u6@CpC>pk!IK#&Cq+p&=svYU9>2c+$>*$KLkI=Hd|wKXLCd_@x(^9G-9}zNeIqt;gb&@C z49mO;j1ZQNiT*H=gvX2Aa@$}-;RozBUK?S7Kdj~A`~T43GOZD+-dQCw!?+s^8fFUI z4TW@8D}cyjqS6|%O%DjXm6b`WRyY*h2HnsZjVbGFE3=(Hy13szGnMrf~m z9MB*^QYQz0T}rVZR>aDbHD=b^2V6_rAxD;wVY$AAd6*q9bT0$RVh(YdPGn;HF^^Ro z;d3>rN7Q0@kyvE>jn5tq1oJ%Y(AD>o!Cj7|5socT%}5tpciut4Lf-3QyUFMn4?koF zI$&8hP*xM5bQ)Kx%?U%-K#1r`?%0@a^r$%ZcUX&A+&=98a@S78gW*xpif{x2V3wo< zqJMD7ZOrkSd4G}aGZY(?-zqTI>{UtnnH7xNn}+eJwjC#Yt(|cTsHOt(FJx@0X>~t1 zzPL2;noN03wPT5#)1#8TqTu=e&LbTTtDr|ClKZ9FYB-VYO?3|VWmym-XPE!9J-iKY zx*n8p!kjwN|7I<8{5uw53PyOHC8Nd4nO%sq2a^NDk$+TNT%Y-J;N>P%wy){l&sQ|P8<7M7tD!4i5y@O)MQ&KXlie$b!;L!)PA1kO6sDnWMAVu1C(bZ5n?Mfk3 zwo~O8l$yZS3Yx#NT=34_xx9PL6YTH_Sj~Z4UKx7@7|RTP1AYQ+-TP)==>-BLoWX4e zR=t!4-Bn&rmsaL?P!eO`EUAv~nz-;HJ;k6;iKat8-D(V3*RTtwAZLU|B>-ag5!I&H0x9nj@uAN*>1aAekPRSZ}j+kbO<)X8W}>BY_IpvMcEVR64G6R!d~Z! zqFP_+sJ_=$^KS&7MqcdL&59_Fa#K(qqd0wiW<87Tv-%8`&xradGaA=>osHfZ$>wl+%(Tn^Mro#lpan^C-4-WbjYmvGLu%pWjOv2*fVoaT{?bnh zyeijwAAxmK-zYKsS9kKx%B+x{G*)rbSNspz|7xFsgLhIt8bBXY9g=LUE9?UHgOrmd zaHP1U*{&N6A5Y%zHj=TiF&i73&z6?7%PT8@2p2IwuRS|I52%yUi&nb&`ousema4Ha z8;OSUpxb*)%t!8|ih+TF1CP48y4;Eiw7I#to@xZarZKnmAYe62AUoH_J-CvCHcUw! zCQM10ciz4_fwCP1%0eA2NgW`jq+cDs#v=f0BlMzw>qKbM)dh@p^4RhawP5TC)*1X} zWOQ>^olxlyeyf0t^1A1|Uy{G|y7#?`zHPi+JWlDq<9h#l6OB50b(i#>p~{nb=92Ub zKv(qU=`^ z5?=;jG*PX8Gccj#E36$lehrIB!1BP!k`WJ}#T!t-NFt2Z5<SZ>+@p!P zl-D?9(w2G71tjj~e`Uvqy7nue`@uaN{J-MGsm`x)kt_;I>k1KJEWxs0P)GHje6DGr zmqlulPAAzUySD_n!|$M8Kxz0Hxmo2QulhGLafh~|f2-`Gn-rp&6gaErGiYi4INe*A zg^FC(wa=%ZYQ@X0f;mTT%>;`-QB&3c*~+#_X=8~=Wf=`K_xBy1|M`u3t2#Oo-rqLf zh1Pu!NEKCTshOkh9Fe9Yf`WU12GEjcM1dJL3JK-DfFm9p)Q)hhJKF;AJMN$6&!LEz zR2_E|)!@LU@qRq4UFyhIL9U;p>EO6ri|B ziZ%oT^{sCtUfROZDbO98J(^$r(yu)&C#UG(>82n4=N+jm=`;3^Vk7CJM`DKTHw>wp z%3PmQksl=+(toeD3cxP}$r=AiQXC!~7vOZKJopbsQJ?e(fe>CUV8Hsaf7 zoHp*6)=1-F43v}5ql&xPd2`o=W@i3EbmR*lZ&lArr2~@RkVH@``T?N>IdI$oL(G0N zY!<`zV0V^`>grW;R$xBsq{Vs?1caA4FeCN7RwnX1QN>sri7nmgGi3Q8&~iCb`G+)E zZ%DShOjI@fCmIhTHi($iz826G?Q^+KeEg5)!fxni_Zb~S)cJwvvPbaFZeU=Y6|U4(ahgPDWAgKwT4`19$~L}`n1ZrocQ<>m@Zfa-u07HIhG={TeNzZ-T@ zqsXi?gy$e3wHkDZ%O?}Ob+7y9bV zhj>>i$f9f7=rgI6edK46zFW@9aj`ygef~V7AWxp_F~* zn4d*HEu6oV&_`H!<}Wl*#i`B9e`|?Vn%sX#wmnHgd$j-R#?K!IUt6_Oc>6%PcJGAp zfcLxQFAnxdyv0%2z| zLXrPm%~lH`ipEnp*iX)daiRlsM$1NhB`~H zMaW`?dYZW+u%sovS|jKKHH zB2$JeAY)&h{+pTxu?l~AV@>nKW^lCczx_w%`g_xOwc0$)Y|W!ddyo%W%3SE#npdK{ zGP<3`B)KUIvI~@#)cz-({bzp!MWQVqeAkHnx>6Kf_h9DNfEvL~@P(KWCbi zABerU=n(AZ8PRbl&pe7Jk>`ZvK`;+rRc7uc0s~Pd-nS+;nNOfFsgx2QEwVYb>5HQI zcs0zZGlwxuw~cC!(2(k1{g*VKgF3Pv7`JYN}_vh(U-PZ@8{jsH!NLzoUyT z!XdUSObBVsuz+}98}{=n=y@~V#I+i!wDc_aFHDORA@@q{?QrJrn?yrpGKNXt`1r+{ z6chK-4|sYcbq$S(s?gudvF(dsRDclId{nBAsqSFL{L`QARB+y)jBK|oA zZktHYG&Qws>KKoMs}Yt=(1#S#hhF@J;zJP!e;WH3BZeo41WZjv)!vcy{FG~~B~d<) z2w4N+Uy0mH&OEIJk64Cz>BftI!KWN1epZ-XevW?S@XW;vTPPe0fBzV?U6;=I`0T(} zY$*2pVtjO3TVOT~RHk>}TGbY@vYMSF&T^S)Uh>^{ooZN%ERV-!wr|KYHV)HsMnj8P zr7J#2HNhKTQFd@Fsp@c~SAOd0yEAfB zZ7NU=lKRNyLf9Q}#vBK@JkwV~$-Lhg;`W`mt&RFJia?SxvX}!a7hCspe3&UX(PN}Y z%QdV!%Xj!!!-EHtwX@#{eTAh53SBBvDW3o7X12QE)h0^~#k3`WK_cP55Ya|o}%UVNn_%Xvafb;=3vnN$hNp`=-RMKldpF}WX|PAwrl zqy6H#*F)T-_5EXPJA!YttB$d~n2af>bc_1c<2^A$g>rbC5OmSHA2Op7q0aGWU;Ipw z>&=y+;+Yr4CV4*FJUeqws3R7gLX~jgiV$>b?2T8Ecnu-HL1;*($P*;u(`gCk6P-Hb zu={L1Tv?RCZ&iiDt9~c#0x2|*inwH*UUGG&icYRe-5A9KTUXUvv|GIBf2>EP(tQ&? zw%i59_w|v2tf=P?Ngim=J5Anb8FCAD0JhUp-9z@U^`2n%G{Qhg*#io|>qoB4wRsHq z@oz(F_)tL%40&FlKR?MTY^QX@D9?s+`Trs9=MWJbiA3r+@CQWs`+m5lqOz3vb>!4GO4nSQ$2K3w*_3m8MJAm zKsw0EeRH;ES1Px?FIES(jS_L4>i2fy7eHNSB^;x1@mu5ROg@l&rbE4rZ-G^0IRV!k z71^TT-DT4_54>EvuecFQVm}TRxRfG{jAD_Ujih=fsW9cYy_53+*&U|sb&Ix+^{D#q zskBTb)`_{J4LPB>X59`yxHmPfzT`iaTX@rx)3I zyBvL->hzyX(eokGqCXL>uJ?^W2^tSExl8&I zMx%zA?e`z5(J!`o6~OE*9SCbSxS+rX)Xadic*6|jc*4}H(o~RiU=h(i3nQ7aFFsq_ zCD!>LkDiVqnX4UrpRK({HIZrXeh91qzdsDMkWev`ZE%?*Y%^g>+A>N48aFZN;dc)) z7W?jU@OnRS>Ugfq-*C@D{0G+To)Mt%{V6NpxH)D!$|bXvII`^#HuGtdbag~oO5YY5 z^mxf!qcM%)|BAN$x``$TiA?f306Bq%C7mQ;K`oa^N6q1be^p$sb{btdc;S&(c(-1R zqYa7b%CJ2}zDEXwYS73R_Wc3zuRc_DMFR0FA#9#K= z`{*SFM>o?oIg}5nBn&+NM5(Qj{5})u$qqk8N?5Gi8jQ}G+5I#_4jAuX!Jc>!_wwS( zfT$Hr{G^pfqtOK4q4(179#cjObjATV((ZfS~a z)8`%G8mSZ8J&{GZBo{Q-oQRQy=z(v0U4MdeqT1G`kW(!w7-~o0(&yHZ!Ip?nc^k0I z5p<)a8sM_QEOPF^&Yy4D#&`DyZAl#$g%HJN@QLWo-RnL(?bqlAsdMdcM57PAOSM=`S!sR`a^X6#!!sOyi)M}eH zv$E#q+{PP8W%~mWnI%0X2M9q4h8X%=aV3*9*dqFgg_-G-#YS6<@#`j>W_?4xa5K(z zGt%ywLTFtjT(vKcON-%<0&92ifKvXvqi_pZ^iRh7?2BA(DmV!RGzY~6>SoE9ycXdf zKN5QFH~R94r3lDQ`}2jQ7+8j-)ZQaL&u)2(&8x=lE($fJl7;R@d7!YQ5odJ7LF6#6 zY)3`Kt}<#q7V_AYZe!5=4{nC9%L(1j;yBv3<_&*I z*0Qn~5;}o;z;nyCyR8$OoSko@tl!D@%_T)b{mDCHV-G+*t2 zN0waWTHG1uA`(GAAUchG*kqsUb^g+Gq1p2{VbB^gC)c|H7v7Un-D&Ncyjo1r--9Vm z^^pBG0uQE76!vk_VzxvyJk>U-vw1-9<~G&N)Pf8(&>ye@LHSNqB@ zJ*dwv-A7f~Og6%DRcxauZQD&+P#|fV+llyZiNnVsbaCaZd)!Op_+Q2L@z{#2Y;51Q zI+{8bxk+FH9^(URuG06YL;nMcvmtRWFUGbGBH?(*hxoNS4+o)m#0@DsCvKVmOC5El zEl*Trq;l393X!TqK|>hv-=#ClKDVAgNExTA^(Fo$!wUU& zMz9l*+3oy!AsLk=fZXHtNatMXTZz!o&F*Xgo5->Ij_&JrhjvRZwxXfc^IP3(I5>2J$z^zVQn_-oAw1kWjvT1opQzSY4go%s&gelbzfR#`1W?dJfyz8VP%`Xf}C(tN)# zl5*1%_+z~r1v!Neplg|0Ru6VR;G7g`4mqxI=(A2RG0;vJM8DWEb)(dL_AOW&>*<^2 zCkvONYOg|t>BAR&p7ZrkyttAIM7<<`*_8rV=neDjKn_6dZIysa5roFmr*F%qd=&0= z(Lu;PY*7eHmsu<1)@ujrJ9jA3@RLgW3&pT@gg&f4l4jGacI_*p|G4&uOStQ)n+x7W zz{d!@_=r;@|D(XLHw(czzqB*`_FrBxx`e@th(}|QX(H%QsD#L){)u!FdE~sn`qCNJsUME{deieS5=R&ot~%0#C6rrU%0^4HS~x={!qTSlA60uiL$XK z_n)c-vcfJ`W-Ga|;k5**Dm%U*sHL*EQqen=QV7AD?!bO|Ctwy{`r!=g^hJ~ejc`~x zgmZZi*U5ke{c#|7A;nBAOS&3S92HpqP+9Cke`Sx+1TnplERrv zNP`gCuXSdEWv>4ZXW14!ua}(k-Jey{d%!let`ti4O7JGnr;S|(ct#6qoxxWXwW>=j z`9Wi;tJ_kBU)0;ILHOY%jdId`0k>@I)pvK%ka1ajkk6A;+ugYUxAIYSD@OvPaeQkw zo}S>B?q~gz48L?!cai)%-NXH^RP z?$p>ZDVQFp59V_AVP(}wBUaSEuF1Cf*gC>yu4otCV2!mKTp26AUP7Pma+_HPkb%cL z!4DJkW_A-1^~)$P$CYpJ7eRj5HE^Yufy9jMp@%-KZrztA`b!~P{i;}k~Gd@=bUpP3ep_#2_*IGin*PFvk_h3Jo zRcwX3W7-fLhJMY%mtc}+_L%B2H%D``<=gjwBzjxyu+;EX6p;4jyD`vPR|_n~P>u=0 zfBJp({L0N-<}^i-hkYV$(2mMd?zp&GV```dzH#mdQ)tAl&RY|A`ln^^#QpIOW@eGz z?PaN%?<&@Nf=ZVYz10z4O8|U%4JlG%)XJ5aj*TA^xt$jgb2{O?BI1*u?!D}(3<_1b z5Xpn;CGcw~qE;4=SCp z2m-hO1GuxcFiw$I{PC~%_)ekmdWgCJ_&l4}CctYHhkmDghHW#H{;y5(cz-+>`KFvE z)xCK0M`Ki?T{vd31ovwS%k4nHSs(aL!$?w~4+&@DyM|-3_{!1m{^Ej+dE{7gyzDM! zQdMxviw*<5-zGg4iqIGD^rD?6zY*BseN#^i4m9R2Tk=A5j4x4?S!F_1h^ginZ(WEc z=f8Q&Me6uz5Pj&QRo(XpYGB+R9bT(+=!PO}1+zy~SXDEkxRdM%j&u}z?XCTN=rq4y z^)!e>fg8!aDqMC>q`E|;3ciw5sdrir|NYn{DflSpOZSECOJ3g1ufuPHoJI(;^(O}G8f z^8_8)Jx{80=sL-x?-&`Dv*P5PhVd-hrR>M=EwJe->4qsVM3BG;WeA}zUqXbe1)XmEy$UkrjuFj-)dy(pL-O9Am=oN*`U%4Ss(g zQFS_z&--F2{9Y(3e#!q(Repq-tf4{?R>CRrkeBgqz|FZJF|&nLuFKAt+ap<5=P0I6 z{6+*&Rn;y}97Ce~8I$fSUSEL#1{N5})j?a9`X!3ORNt0vpbHN>!Nl!2NFw?L_XkR6 z#I&tmR2M#Kdx$#KB`vk&YUDeKhCOiRBDZXc{^5_7dXDy3?acR)DM@s)QV8~UEDGCSY>2gA7ivI+RvPa`=vTgRy$b z(x^O{5wj~9!6NzN6;0qSoi@Pju(5E_(pgmHr$vg1T@9j;!SR%Yq~RgghY@8yl$C-N z7KtwD20xvJ0vBauboeL-XQyiuvkx~gNJA(4iGei>ePq70N$;4jK2@f9<}9aw$&0>) zXr{^G;z><1sk}D9w=ampU~mmHW4jRO0i9k`O2WU;0x^7OX9OlE7U2uV)KO!ZLyR{%}ug(8!AwVc0%jO@}KQU--PPAVU%Gf^8xC ztp)}E*uq!ke*bv=$5`smwbqXkW3hjeu?%YMaUOd)<`QZ4Qejc~@kd9tnL^%Zy}hTW zuOEFJa#IPfI=b>sqv^m`zjEb)ogQgOd{ntN64O0 zSXs%li_XB1M_%}(R84*E+aZnUomUA(t(h3CG5Q|g<#ZIf0tyQTK$Hri2I|brV~?Y1 zIdTW^p{uCtB=YcIzPwZ`^9p*rjPKlK9`q8la={(+u@+VfnRFuF( z<|o=|R$XI!EDdyVD``NFq6K_5+n9>VugJR-uZV@oY#%w!!)q&ZEnY0YzY_xn9ic(5mG3;DmrDsnWw)sN)Zi>-eR&|AXM#g6bFIJcH3c9G zPRD6S|5BT{-*%ml6-6~K=X~vpOXogR**az2 zfpL!vxv`|wo(Rqyy_r=hQF&pG*mOq7P_4Dg!93$?M-WlY+8cpqZ}}pLf@IGcz6kUMPgDiLO#pT<$! zCuQJ_qf!Gn5x}>Ro!yy364#%hdU#Ny+`3i&B8ypDX=oX+S*>ePmP$k1vrX3X%gJq&uG$q<#Skys# zvg2?(*5}~pD491Ql2le&it6yqEl}*61&XiFn!~p_aVm=cW_!|fj_NB6vi&!s-#@$ z7G3vHR|h?BwLPXF`0Q-0JTC-B#fb@p-1l1Q9O)Y^zxHk-*u(?!Z0mwV>kjqC!@p0= zy;mY@W?U(6DvdAPZp+A0HF5TkxL88-+G#`J6{vf2y3VEvj_=7QomP7Kb%Z82E_Nf( z2+YMgoUI^^vLYSPQmXS7-ro~K@3ubHTC7MJ7(iU3Y%6KUV78=J$@FK zq+rrnvT!GsbuPNl!~`tCnTday5&uB3HrZigf4|h`b1127g88A5VlWHq(LZsnd-yyG zcd{XD-7?bca@R3@hA?@vI%kTOB}N~zxF>)5Z|U4>@72FteIl8zgMyjQ2}T3&#n^f> zKAZnZFHgePCJfS5I1EQ-5mQMmxX`mP@3V8fc-PA!)voqBNlj}z0?%uQ3y6LF`7fmk z{8x4R-8k%8=<38<0=~_11+GdtyG#~D4AC^TtI#N_8@gyw@NvN#*{a0GW(~Bj9GzLK2vQH-_BDQwc1q9vvd5mwDg&8*>8^&#k&tG z{)F8u!{Z{xWd+=}qbmcB>Sj(mP^eKI3}=V#_J38ZU+ztfnYWBohwxF~JU^UZ^ilo0 z`VS=+!@t}! zYJ1{a_PZFd;;Ii>IBB^Ub$hyPWdAK&q>||i6>gLbKe}BPT@O2%ApYMMSHvfvine_! zmj~m!by1i>H1l?U1n)Sn}j zU{Q1Roz&jNwWNyD5&DZFP%P_nqh14tz-;h*@J)P%2I`0{8`lPyQ*x7rX$_fZdnkd* zg{UBNWLBR^X00qeo?u1VbXHIkOD3;{jrw1Lxh9ZLwTY3o3nZJ@7^4#t#HXxwRl4k> zrDrBeuTfRkxWe^_Q9Xq)V@2IN&az_lD>a2be{$a}f|_^~lKi#dAJ-(035^b)E+Q(} z>feqFp*Vv+i$=7|yqMzbrD%l=1)| zwggHl9s&A)?2%Wi!bpQXcNV2A$^{ZB!BCZtjMiL4DNPM-b4p?6|U} zSs6dx_beWJ1-!}$Vyq)`qJP5K@3i1JY`^|HlCTpshHh?XIn&^}vZd{4^KkJM>;FvF3rHFZjTa-pM=-zx1u^EwZ?i@@ z5VJ=annkYPdgo~joJnQ|ehw(jIESl8?1R{`!T^%-e_FkOL{hcaK{AyaV#dj>y9GdvWTZvuM)cFV2fubOZ_NIv^2QfZ#rt{u+ zz%fl^Qsp(yuO73OU~B(th*Lxdb>ls)>2bi9eNNJh>(`jq-;85r^bHcp1o&-p$mHn&7|d2p2#6F&qO^XAL4~C(7C?0N$pKm#Pghk75=i*nXR+`AZDtI#C55iSYD=r z9KPI%126vHlDE;XP!ik;L0;)u0%@P-bLzD4^}XQ**p&ytPjQ?PHR2ZQqx2uL!ljUg z)&c2?_q2KI)EDsHJNxvYktw?j^tjw2NL30)%udzI)AVyY3s^WK$=IxrT!(Q*Z&V8S zuE|zHn@9dhEofAt(bM#;o?*AIZF9wyhFmd)xh5VSSynV;-g77L>B&{tMHCk!@Yz+u z@<;Hd*RF7qD7kKnvquK&)(M>x3{#>G>4k?S#lahVZwH$EHc2RlgrH#?2<8<-+z1#c z5tvG-f6e?LZnI6t@XCC1wcZ`5FhvOJEraodR;TM%DGLN`vLKeu2cHgY5W}0#SoGU= zPEsrBF+QJai%g{xQ9V>CE@8{WzPUMxUj}~45>hPo;&TwDjaZwh{vHTz9#ICOtH|X?%cPRKviD83-K92Zci8 zQ{_&WctKZPvzc$ElVOu7kqfvs{C1HVc=9{(#tYy9Yj{Y6a7CQp|7n$F{BK+6Mp(0t zDzNl)il1=3aKBdX+CNOenz8jurkxKVE=@q3!QS`t>-`}I_7wk1wLlzr1@W#9c>9qX zdGoaKr+9*EL!?||=H+CSh}7F#3X!IS5Ayy#qH-bOVvWVrCl`}0V$gM1p{Ql-Z>y*L zkj((*qXt*;#3q~UaElOgls$p?iFsN7#tIrUxNdk_tXq6^?3pu~qEHbH;Hi;oFs`7< zd*+c_gBg755{vNnpPNuo@hI=Aq5t1qP~?6rNdrrCpjIWQTo~jlkH;f=HtVSRshLI} z*gE6_ZTiTd8)WdlB$n4lZrz0GeRW)H!Y*P}{R}Kr>qACwpp`&Vu zcFYQ{-?1^N7C~70$nd!RHg)iCZ1w z#UZ6Le&mjSr>Y;tH*TrVSY1}6gt1rmGPusywC@m+sPXNDXIP5-u}L%Ca04*#T}TIZ z{c6W#Ll?&ou^0yYrd8t;urck$i;Hp{wG4o$>8UB3$aGg6la?zn(F9+jQoW%8r3}^yHd4R+bvUmwwRIL5T zb8yvZu881MR3MQD>a@&<;!n=>xW+S3DlJZZZi|ba$o}DeO-L~MNTkZ}LWJa2LFaZ^ z#F!2zCH>OYy;%-)ZJe?8Qn|d-qEEOaTz9-&u0GWlfvqb4s%?dFfe-aEGJL@i4_x>+ zyJ~tt@fjuQU4!o-O1&zLq8*!>Q%X$b1~0fs7721=BH@pPk^-%WmB$JbbL!YJnfE?$ zPRLu?sdu7EZZ;8(mt@~jzHso8ql7gR9yDWL4h?d&v?tXu{m`|R*0Vz7!A3H#OL1OX zX4Skjf7dn@)*6F7t$h}%7*a{vJkIb-WUVZ%#*jkZ4pAIwCe(ROR~?wmB^>QT1rW zNcyDrRpkXc?1G)vV{?ZwSp$A(B}aXSKU{k8pd1?E^j1LAG6!8!2Xi_oSxy+=b4VoA znG|{$1$2%eKc|KWJn-P(0F5MLt8TkF>fvZvRwOq0Qr+{G0}`%|WcoTX?fOx{vQ;`W z^*@-`5Jp>0x!x;uPJDZLRWz#KowNum4xe&92BcCK8|3CF4R!h=>K{($x-J_1&Y(o! zA{)7Vc68szpttvA`3Oey^ao|y^PY#QZvYU(cjHHwC|0Bi4k=czi0DMy?IHM`qaEN0dh@tIIZg!>W>!eW7&zd7Zs^Dc>DI|ZT-@+3 zMsR+lSeiERhxfyI_&(xQ&0i1**&u5}RIA1bfNIJA;4qfZW7z0#Nr2g)D`)FwT5|ZK z1asiu;_)~LtO5q|^x~3}yJKqk_gJoxjaG~S;nf8zw2}Srf%S?6v1hB<>MuakqlDm4XDmy5srfP_N}RP2v0W<;kB>(qJ@NENY3OFMp!PZe4q z2p=tEnJy9!wXa5z!ZL~PXW}#<2rCw@pk<2gZ)U-&E+;D;!gGG9sVOcUpw$ynzrW-b zL2V0ds^e2ClFoH2{j@p7k=DF+5qRukWjY#J6E1q3aY&|AXc6~Y^R&^8MU?tsc;lEF zWV$>;8}~Z_)i+4=cr;)()H%yVqSwxm+I#WFV+#;d9R=kY;KUyd+JNoGr`aWvJ`w*u zK6p*eH?an_a=wmBS^H6AAnU z6TpJ$1+(Bh8|-!{y&3z2Y;oQuJ+aGN`%KCulh*zsXz6X~0vzXM#&NP$2rT!te55NX&%@-wor}v+6SJ6@zLpaI`*XCmst!91n2 zF-=Njbf>%;Hl(HxY`InE=v00BG9Rq4CzDQSIIq~a@=jv==x$+NVLM*joV5y+;In@vZ9eEV^lFiXgA~rzI!Xc6p+>UeAA{7|myGWqaiMZWf zolupckL>hQg}P6=Tf^6_Gb2W_2!^kE+sCtBd#L|En4MXJ4+0dt!>aU8D)b4c{;9om zF2*bacw0#^t8bJ772Z7UFs42Tx-taDQuK_e|2fq#kA7rD-wBN7>B%;>{f{FBJmUcI zl=Jw|zz8+b13Rf|(scXC#W>-HToMHs%!`K1W{QC~1b&hvPKKdG5-C1c{5 zkB1)fW-97#cFCcq*In#i3Q7)1WXDv|%=owAv*>=1?tVh+Ix z)Q}cj88e*i@Pn#S8#=`BRZ~-C&%4I;7`3I(itq4#LeplrUg5AhhnvHOo8o5X+2b#N zL|=1u?CkSRkB$5_wT@rsnh=w%OpFP?cfKN(ka=hvj7~9s-G`fy$2I%kw;jYlBt$EC zg=3Gb$WtBJO5KR8}ISV#?1(Et2Xaw|A0bsnaUxQz*d945Lz3DVm#(*y$G}MpR z*C4)43DMX4&z3G*Su&ixx;Lw;CUnL0#nSNI@#UB`ErR$x_gCe%V9Yx&PMcMuH0g-j zZ^20beF=i^^#pF+wC4OJImGmCOqxYYy$^WSYx=sMrU04XLakK->FPa%rPmQ$0vnIa zzbMV=aE<3_?tl!SnAErxkTkpK51;nQ?g+-k*`;n*Kt<#<-zhb8B6sNy%WSX9r?P z8L;xBQL&tCnv0}>at^v(wN9q~V1Sxo+XY*;EIin_Km12E$qSx#@p7iT33?xYhu}Jk z^VenOfT_wkU-X!-nF?c$+V+b8r}IH!&Nl$ho`e*_gKS&A!KNJghXGK1m39}XB@FyX zRoKet*ZV((ED%LB5~nL!i*A~T7qd*kS6zx6{>whRIcR(lMBmJazGwbA>MWg>jj#J6 z_+_*0-OuwKIqE0;VTUhNUZ53IfXrtLKBge+qVh6~VE)fr5Ma z_8A~St}Wiwhrn-?7Dto@`$9N(prlLI;4MjnT>+MQM{gxWcZ$q0A%$u*lWJ(rVx9+C zVX`HQEq$e+4)N7mKtOd^e`^ARv*}Yt#J(2Lnq^5hH-`2Lng|fFj+uTe?G{~xndiR% z<`l$*h?a%t=QIry>%LJCFj2$5t&UH%5&+`@1-9uT7HpCjo^4vjfIJivsdFqJ{^tgb zh<;9Iw-GVL|33g<9x@Pgr4MH7Zk%eC|3!!jX9fYewIf2aMQL1MiI5~47!Ce=lOX(r zVeVQyJh=k)+3aJ~4#e3T6z?hI0Og>9R^Foy{PgLbA_`edj7sA0nZcg;F89FaG9n%8 z(h!a<@P}q}8AuQE{+H~p@FzmPLL`ataCRGUYs1URlv)hIQ8WDTY9oN-Gev4x zID-;+-JwQ)&C~6!-$%gU@y9BuB76^~6p-xf8zE<^l4_D{*Z8n2kTvnO^~#ZOGJ1J{$+b3Z z$PA%-6ANgAS~{=2-Q?yA6KJ!$-Z`mRc^wvC(k@yKkD`Mv|$HM2K!Um$oGBS8IN z9y&nZg{&LO!CGVFh063WkxiCVjvS#EmfVx_P+&NWAp}klRdwhK8kbC9&|+1abXA7@ z!%D8?8Ge3@A9W;MVDKLAf30ssQZ&asu*Jw37t@mX3IJOCDn>x)8et{N@;2d-7kLf2pIk>qV5_VoY?%yB+@QL%si=HzD>>wcGnu2&KHW zO+ctFICCU!Z0&MMmE)(nX%#EN*y zT@GK3HOZp>eIgUMwu%^V&#l>`qVn?v$=~t1j|wW?(B~A^phEj-z9NS0maB#b{HEK? zVdxx9Vs`=1@RHO-iD%#C#fFq&t2Q)M-l4w+-!#_${Pqk5`Udb(iX6!>5>bou)n^ke zB^K~8%6LHJqBc6aF~RlRw`Mu?0_d-+|8G^_ zp=B`{*;o|)OwohU23ww90V|$qd@Tu#{hDC(19ru2&iH~-c=y5izp(?iWY9TU7~cbY zW@%efl*uqmfTxuVTV#&-l^L-)?G8O2^Uo7BU#O}sh*(RJ+ z$6y?ZkPOtrE0@jgf<{B^V3Lw=>aXu7GOpfu)af$*EDH+Y#lQ2>RpVj!k+%jyugH*H zOiJ%(_YZm=^@b2@8vEA~0WH~T3nXFNXxJY}CEfP0+=m-F92jMkhAA5z^ACp@?Y3{1L^gYudb z#y`p&IDWj*WwACRWlgJP{qLxv_a_G3ynKGFI-&J?`~X`FjD4IlTHotl!ApBV0_H_1 zu2-`5|Heb$XJi^lzBxuUV0_-sFDF4#;rvftTR%ldTE!>l&nacPI7 zJ`|nN93$j98Ok{5@hGIfuVRanHn1R&fw)+M&zFsEa3>-`#XqBZ&7JrrvwKbbkKWq4 zo&d;3oVerVuFdztUwJ|O*5wfG$>`}z#zXH&>jkm|r9L)0xA=!$gZzB)&+d)5%1t-8 z_@2~1KZr{>IB`Le8$ju9I5<>(!Ntv7EZF1EyWxyw5$%iCRPU3H&1}+>^!B>iwX6=` z=V(G$cuF>KkO2@P_cxP7^>i8E*HRcudB6sD-<3t;H$4bwe*83RNZseR#A<)jYb^0S zEGA2UWk%Yhih&H-hK0zN%LWY}=xri_Q!q)vTIpf42mJhD@o7-ohN=JRFXf@12Q%ye z#N_1~HQ3`)mht-w)p=n+3`@_ATFLX<_p$+@cz<7D&F5p4Y@Y`sZuvsY7PSPs`y!H# za8bBJB`x@5X$ZJDIb57*wCyk`o&6-b{SSpNRb2pBOOWAi&8(()=)^QCf1l4qs5G3_ z+AbhCVpq7>;peA0G32=4_`lDKwT(nNO46##PlLVs@_rOqa?TIRoQH+(@xvZw zs#-ynw+pG?k2;58!u4M8Rc=ocml6;(<&BI52#70YzX%Nfgq#Y@Pb_2x-G1eWW~~Lx!)U*Wt`9E`e*x4pM} zKz}QCYdHbAtbpL(oeMKBRjKYwjU`wHM5h7DxpI#>RIOj?;%cjkTtA;!IgcMjuZzvs zOqWyAijtxQEDJz@^(*oRHKfS%@EE=7NMF71KQUQ2(;VUdnO8m;B)RVFS= z@Lf5YEwFWNo@f~pR!B==WvD z(&u8H;98PX{cx-NvT2Vpa4R7EU)QxttOdZ}6)*7K)wgG`3{BHm%K@cFZMI}PY}Cco zB;m|;{5883Y8n+D`#zX#6TJkLpDkxGQtaY?mu zITO*r39~*w61L7=DVOhGBZ^Y;-5GHEm;e<$DTgO{f6XP?LARs0x+h#@6J~rE+&>FX zj(}3!P&ys#^B36Q?u$(1K0|-z-AcdOGs%`>Mh0+GDhVV3Dvg)Rz%W0>4k|BR(1pXg z;{yzk`Fh*!)_+i3l+!x$eUKM9g+YqM0DXd&Ap4V4J?lM^4uDCi_v}=B^9^6qr<3j! zA`5GIdNyf{7+;uEREDH?$$1}D4^`$>gajxe!29)%s&6_r$U?^y`@Z+>=GXEiV2}Oa z(0dE7LTc4_6Xif>*z<7B^jsma|ExV6^R?4@KTMTo#&tH-w^ku18ZzYVsbO-S|BfRA z=@Up`FGGbq$y3k(aj4h0;d(MCl)x*MjL5Km*2U%k$Ns+_!I1|)#>u^LTaF*;sBp?8kB?+^A8Uacp?xk2Cc0kW0tK8V zwQJ%M&5yEjAN+9c&W&>9o<--MIk`3iLzH@qXnlZYinl85koARVQS4-S93j63hCO=O zY%6R%Ln{=nf!$26;6x1|updYPymV2{vs?(>6hWPD>_j}3raiAr{?NX!Nc;@$P&F(kH_)RVwhA}w*v(!Pewl-px@NSWlp+K`D^;I>Mq*y#z62GVw+ z9jae}dS?sR^g*fi^wdY0&DQjOU+VC&@pBfzzk8TekaZYvk56kXihW|=RCyu0!w-zq zM=G;wi<_RH1_y2v%O$_OC2Dx#>|P4*iB#`LmaWXcD@t31uJW0hy#MqpL2v(pX)+Md zhW{H*kx5N|s{lb>3 zfFbw5Quwf*@HGh)mlS*UHwR>(Z(j*tcoZgz{>G&H%?vP;e({> zzQ)!K;E>}sckA3=^hzkaZL6$)AnX=h?da{~A<|av{GlGy_jxN#*Zwe_Lwr8s;6nwF zl^+{tGV9#$UB2dP)woOA2UgcXD+l2-U2~*j-cQ&%tP*^V^FRo4jLEMs^P9tAT8Q8W zE_q(Vml5IH+YMEh7kOIk(%{tlLo@izMaQS?!`Y?foEt&T*>|Tp6{qQ6ao7&TqOm^; zmvMXySwYP1i_JU|&5;dycGDZK6ryl$nmH8!gO)TFR&$QGFFBaLM`&=cxD_+m=D3~S z4bRRk71@CW4Z=)fX@>M)|If+-Z(3C^4}^7uG{vWWy=R z2kz9ojk%9I!H1iL4vEvpUc@-Ys|*1@m!5= zMX)!p>yZSy*?Nw%L4^q=~LyXZoYz+FoyOLNwfIL{9bAX~tn3m7`VM_4cLib2% z?J{J26hzQ$Xx#Kk=;QxUqS?7!;?U}(P}^;?yQ=RwmA(;qM=)~h*6a9I&EKG&wA}Iw zko#b?Hys zTe_U%;ofg7cpt$h-^(GTH{BBSaD@e&9Husfkf|j=#fZhbMG`%_$%{bs%^Ue_`O(c9 zGs!cHH`z*c%a%J$CXZwzpcA+YzYl-GP}mBL83t}(UWX5ii7)K=vHmz)=WPJ>Th`^`h3k~A)1OyROP01^5=4GBYel>o3kJ9?C++g?Z zP^Vp+H>Eo1RW~8u_yTQDXCd-aQxi!xnT-Cdm7L#4tdMGat7SOl+FQz5!v&bhu(Y4^ z)7$!p7Mwc%$=?AK0c|MBy6XK$nc+@OWNE~PeFqf=vOCQQe^7<{1HFk)T0JOPm9OI8 z?mo2$NA`A@xO-^Qt}mtw__JfG<2bDiXPO@h2K}rDXFQyWe4$Swu`TP{nyOfT8j>g3 zOIR<<_Qz>!qKwi4H{7Q=R?}nub#Uk(QEKlh<;(4U9j)EBHZ7a|!`3)S?gVnI?@zhI zUeqDy=WD@(M7(m36mZ`uTb%9DS;zNDXPs#WoR>5E9k%~O-iW6i#JWEC`ZxLQ$1R#lP~yfO)}EBx2IiqrXTg3Wr1b1A z0Gvk$DVmINxttmy$vv?XWm0eibFH)C?G9;9-J%+V)ajfky(9LY8v7Icby~LgXfQ}WIlQ@0 zX_H>Y*fCkAJJxd2pWJ`L9EEssCov|6iGB6f8-GAh@b54eS+Z`#tXl*I{4Y|lN}x0M zQ-UDX7b)L2!D6IJu)0a=bcPS>kPq0eOlS4BitY^r~>u}IeHA7GIQ_)Wljmmp_HCaq<{bx#=5c)Et-z47Gbay;n&b<>jer+#p6>Bm}L zExNaL2>#4Op8up8#>3op#M(D@NfsNuk!RM0O-K&fn;KTSoB|%~76%SGzIh_95woxN zy*w%NcwFajaieQoC|VD&NX<;+eWc5Exi8>9-JV;?i66xeU`C5tkQi&Uf)j4p@ShI7 zT%<5M9ZLHuVSkq`uvQoff=$Gf0=1b9Sl-|DgYS5sJvxIEOW$8AqnOnyr<+B{v2{*c z6L;ngaqzy6Dft3*PflJttWaIs;C{hpf4rvG_tA`4{ue-!(ILL-9SB_(ApYDdhW&JA z=A!*2jy;^V&_ZOh>g8K-q%eH(Ch~$bA2w|>lJv!9*R562!GW2>NP&9)X#8~_aktqBGqN%!xo2A^1975;bN3{NcX1m^jF!uAHQCgEPHEuSxD+$ z;PN|VcV()s$V_TveU%T}nh?nF-%*A@mL&R|Ntq@SCw}!yE2u!eGG`W#HNC!b7aYvi zhutQPsV&G;ch>Vjy8WYn?TGd4;-y&@OKj&I=&YqeqdV z8SpL&mDlf8mk;RGR#aZZAg_7q%f`4adnl#Ybt6ufsfDUoO2Fnb@S*EX0QCrn9Q4;7 z1+(IvR9+2m6ruks)BcS$GbBTnlEt1bOVCLvG;5+o8=4d#na`43B8m(<{ta9iKs}%O zTE~swF@ro*RJQUp(aQAX{z;f;F%RV@DFJUC@*xD57k0Unzz?U@J26ibJ?AI17GIMz z0wZcCPQW&sV}GVMj_dZvKO}r%s7hcgA?=}ReK2@9upWw&Hm88+?HCu$q_6CRPUU`r zu#{|S@m1uJJKF&>;3N2Nviqt$#GFJEHo^z_qR(or?8w7jn8LDr2FWK6T)U;B|t)V zi(YP|xT|thVi-k7vmVS_V90lao-Oaim44GSq(Hy6?lDpIuO zIsY=GmPQud$3I0&Nh$3m#f%IeJiXo`-{sn^oSlofZDfSSQ)2Km8f9m}RJ6h1J)yz| zr7`;l?e(BWH`+u>=uvH@Sz_ex$a)Xfpymj%Qij};=oA2269!blhJR;GPc`y;6PG4e zA`J*dZjyV~`c(U5?>U{~Cn72lhZgc?7k4|qg`ie75E`)Fs7cY;w0?@H@*tyvQzDa7 zPlfX#Pue7&xOdh4Ltgs+=GOzAj;>Q!@@4bCU*kGdv43*jlQ1xk>!*EEw_w21Ba9bq z4Pv~n_HES&GQ$)rM>k7CPohPucZvS(6cN!tAa-5t7X5pNrnmLREzOICWWzBb!9Lm? zeNq}?6yb6bVwCD1wXxh6@na|yrYT{Wf>Cu!@nHn z(%qYnHkg>Lduod7Rg?Hgt??OTIR3H-q8sJoLpp%{?8~atp(mqYvXzQMKJQq@M@75x zH30g_>spKn5SRbkiGq)9V2c{EFAV70f8rj0p3utP`4g}{s^-T!mp;6p_coqXne7kZ z21)S7WP}p+Tj3y|8g^QvYj zBEYOhu4qo?ow>DiFex`_wIx8x^p_kHMSsA!PnM!1S@?2XYK zP#SVVmaxK>y2rc!4~y<$^1=IP={KWpZO2I^%}pm(i?h&c14Q)hC0`t;Y_X8sdp;fy zY*W)1Zv}s<-pwSE^0LnRSga7zrrXo94sCj z%2||By;Jgy)?W|DRq~pBFg+LeN-CCme)1bhIgX)D)A2Tvd4fK4u2;2e^uF^f$GyK; zs}tzAbeL72**In>Iz9a-br}_!OSCjTVpVWgN6r1R-|dxy)#Zv1u_ZmC{?}0^CK%QW#JQ)U->Yl z6p>d9LcN-vLcavyyyouNSF1B*4Q*s7OE?@s!LP zy_3F$SN^-RHKXD=G2@4An7m;r<0rOx0S3YOHI%Q*v>5)OgYIY;G82{PNy9sxxqcQi zO(7&(=xfPr4RZKuk@B|xHPQJe+dS`{wo=TLm!L#Py0@Xgox84F`5|ROv}salc19jQ z?RDtkm`yZZTBBkH8b}~b=9yO(c_$Z-?a9TdkAdW6oD$YBW2V=+_{argvKq$tZHCS5#y1fwMcXMTelkA5KwBzM z?C^=5fL=qps&QWuf|q}CM&g3-=e-mR11#yu1%_o36Bn82xk(hHpBu^Q6uiW#uf*d= z5i!8-8RkgA7kgt$fl6(ojv-&D-880juuf}`_R@$e_xZW3%*1rIElqBU5B}QdUn*fJ zMs-`{qQ)zeN0|DIyiQ*T(Fv82i=-tgIEyLf2>{I_ad4|Pw?eoT6#7IQSw=>U9bG_K z#w1M2Ogut_YP0n;XVm^JS}7X(2kL&8Cme|Edl6?FPME^0MS)S~=t(j7UV0b_S6uT7 z9tci8l6rKNI+(*E`LVvPPF#QikO}{0EaqD1YY-aLO{j%^#wE`Ez+d4zCc^7jGp60Zqu|oxdu54X`e~x_M{iQP^v{eVep>Ls9ub zcCE4SqTRkwaT05At|~0EeBxl>rjxj0LuFIHVq>{Ry>H2B+9fW*koEwqHxT=d`3bZ~ z1+NeBkPf-@JIve>I_~7Fm#Wwp^;nS3^i^M2D&9~zCz%^!E>eNGQhMDESbq11miXYc zalfJL;t&;%IV%yF6%edD&Sk`E(n$$BEA$g6iRACoHpm zgzAQPa)V7`RgDyS+$6fvnY=7cm@itfBiuMiyb?$*Xb|{V;ISwbe5)X5kBGV+5EcOk z*lT3|H3Snf6v~I$h;&|&*ZHtwC47dWKV|&9v7ma4%68utyvj^o|O*vD057S8a`a_gc`-g@x{~S zR4jxyJOK!U5sEj`hd<&BrRM<}u1pkRIx3qaH{%2dp1y{p8(FS8by&tN_qasNT*l@7 zp9^RaFX%~AZTq_=rJ+!p^kOm85q8nzNOT-Pu+3!LAn^k4S@5Mtco1_Qv!z6MjU{m& zzr_(1OqQ~E#yC!&oqA3Qt|e9iydc@DpYBxSXKunthY`A&7!tm8 zzgOQXptj3>uOtpEe$*qC@Du)7gyhB%IZA~>@tR{zOjIHNB54M$Hm7M_#z+$Uaza|S zNJt8WjoO;+$o6G;S8cuZi(VWgE(QBAxwJVb**Ofeu<|rNNLGim+V) zz}YodUdgZ<_)uTI(9}m)Gx?{KM9TSCTnsr<~=6QyN# z_ZN_*wy?Cr70@D1A>jOqnBA~@d^|o!S`yr`Mv7R7xlVKd996*V>}fmPrmur-+WDdzh8S;YQ$ zTqmy(VqKNKvro}LEh%)BGWqr!8PqeDJTz&g5$4rmaRE$ z*sge;wm&+6kJ{o;G*%=64%+(a7W$kworPRoUB~C-SBl=G3?UUwq5WQB;}iEUUte|O zOLut6NEfqnd4urUWmE!Rc3Imxm~_q91>t1F^-t{0qIfLO&hC-f;JwCKu{?g9#bs+EbcNT3fo&?U`uSn#sS_T9v3{N_O zL)=gilKs%^p|j8kl3y7D^O7&cln}aHs{JA{)?f}hTXF-%H-d{!ySCvawUSr3J`AK4 zN`qM^L2>sF5j<0ncct27$D!*sk~(|1$tHXYpuf%1U?%u3|KX2;kbf$kJWkbls*sZN ziZ>m`zr`YPJ$a<^B0m$+{1$C?xECGZ3&hZLVxH?r!mN%tT;1oED4?vu1$hC+NEH<= zUUH%``-aQLBC^AbjE}X%v4i^2-^|BFJVWyM+G zz4(h_%k@UK!`&a>vvs6cO5x9WvT^8=V-VihPoG}r7ZgNZw5$N{ngC)pecYW`3c=v& z>T1@|gNZ!Z1K$e$Ca|0dg@c2GK)_?8K;ZuLTOcaEhE9orfzdxW__3}2&!2!yk&==x zdJT?cD;J}g!jeR?%E}}69&>YZIv+oBjlO~=$uBYotlV~ob<}TdZIvDPKi+b7nzXJ9 zuKaFn^fowg;*wFa^ohRBYIBShFt_0rToI8eQqAt2p8o2BoLbc8Lq#VxHp9omvlR_{^q+9f4jmGg_ zsb`sphV}ZR%MRf^9_5F&PneYkw^ACrjK!evb|Oomuz5Pqh7sf2C?=EnKC*dGNW??aj6oDao&vh^<1*Q~*cI zpYf@H4c|;TrAps}V0$5ZY9&-jMHzNVZt?w3Bh`3{Pr?d&%h8A!bygKh)^#on;&A64 z;5kKH1KT%Yc6rgzKYHOi|NVkd?)CE475*oZTq^L3qG(`f@HvHfVK)9|5*h`*5LEUM z$)bV*e{y7?ytgmCZK}!XF{^Ea zr042+jEZhKV2Q-xy7$7nr!S(y|1U|^%wx7)^eu77t!SHVGzGSBY3)u}3vT`n+GOh! zU;7|)!DMLofx&sNh4=ecJThZ#5-(o;))jR7HSG>U5=JzXJS4E7G!i$G$Oy!fybfE4 zE_0oYHWW|&!G`AG=SU9Z$i1}hbCg>K!QdOC?hLn7v?1%096p8&R|LlJg@{waNePIa zy&sFYd+dX=(Vx#1gr4JB9@UQODVY|)^fJO%$tv^M;)t>m?p}Gcs5&b#);-pXkE9}E zk=DqtM-x1j?BEU%+E1EBTf|}dMw+$|Cx9N?OPt<2Wb`~0^pB@^W?upLtUr3nO&|s440J#GlhY?;d zN6tiB#R~Gob;+g?tLNmDC&b-3G+hrEv&L|CE$QM4E?^z_nb~WbCk3w3R8?`{P2@+h z<|||fIv>oXVCw4DNx}Lu>x?bB22m63@NgFGNKTTLZj$+D0!gUm*H>ksr#HG}OEI?xGfHJH7d9TdvV$Y3g&kR@vT=A00zOxn#Hyc zBH?k0TGiOJbd=NE`F}|$7aWjulvX!2&)^Rw=|#J~dSHvyIvhMf)sV7tq3wfePUTSl zLM}uMEGv^=bh;Ko(5#bB+rVHKiTWHxIPlZXj?v?{`lum5gd;q(0g^U=19(JFwdAWEGXM-zt^kDNZSm*F(B}h@$$)gnJ$k|OH_H{&kZEb`aDO#jMr1icl z`Fe&n8_FGJYtw7xDwBVH1gp;Y{3C;it&pR?XeV#D`a4#&FknKdS+PbZn zW+O7i)todzKbHR{>V2&Ka#gyyeojG$oXXZ@w6AzW#Xn%&Wp83LOJvt(-h${RWZ2^R zs=z!Z3a=u&btT51+$mSM7ga-B5FLqIOV{fY*kbF5dFQ0l}dVEq(oXmQW_arQY42?X%J9aN$IYk zySuwc&@t1Tm4P_3whi zgveYw>Ij$7bG@M3J0BJzsjs}1ho9Jm$P{G$CNwNVQU6ASOp4mifC|w|o4?14ycQ29 zIbdG(L0|htrej?bFk`W0v>D3#>)InZhE z&p8VCxKn;Ous7S;asJhN&38-;7YTx-A9&+!0Uhz=bE27QJA8G5r{HUMqx zhH`P*+pR~14#+OT=p#wWY@IR8UgPgoUYiMpoSqHNGv@tAbsyvzt9_0Bji->(&`%Z* zbF9qOw%*XtlCAoX?D{_x>53EzUz#CLEbR_k%B5-4o6GAm7)dX6jr1Hs*L?A98S@@M z0H|W2PjkoQSpOK8&k{Fxk7z^lt=%Hv*^cippobHF$WAmvKLIorQyQqS%Q>Zar-&+) zU|Tscoa59n!cgv&+=02`U^q*}`IBAx_tOC^F>9DpuSv@7J+xoP7N-j^tt!`r4}B5Y z@t|MWN8Pfy=g4U+(cO*=5QfK_(YMB*J5q|oS!U9$IgJM^c!d7}O_hf`m#IuPPT*HX zI7h$IJJ@~$a0flE#u$Cu$yYNS&;YQi;9M(Xy0$_@pCt|6*x3oxp9x3pR+>DgDoiK8T#Oxa+MnuNJPvq=NT6c1>AS)h9{c0jyo!O%!8jRxdJxU z-&)T_DYFZeM(!F|Fm$cUez=>Xo7)SX`q~N00XQqZ9kMS?P zFR@&yAaD}!xeV#Va%BlEi-zpZ0_a2LRmDg4V%Fn7b=xe@hEl-nHu@#P*hit@KVMHW zusB!R2Hj2u_dc5r1!KTUVBw1~Ui3jP>e2j^@p-v+bPUIO?D#3cFZiyIK`dmYyYE+` zf=V|H^@b$QYPCvtd90ye3S@mED7%%s_*F|p(F=##7aWmO*)>V+6n+yYpVDf(o6BPl zd}z{&40%{XpF$i&_KzJ-aHwrZn|Ha_9JK^`Q`~teI%mtlhV9cvZvw+IM0;KHeLV0* zziTp7e>KCN$s()pmxuZfj0T6}Sd0h`fI~DJYTVG6;tcQGC8i>FpWRT?Lp8`%OFX?D z*9`Q!%C$?nS9HtT3$B*`4jDVoLmy*B+NdeIp5>NWPYbN&KkvAIKh@lNF!K0~LRxA1 z5%UYgSL)U`Ow@Gz@SXwpwze;ZV zK_T%)Upv%VxFd^ePnPG~~e5%iwce585e$*o(q#tZk zkI)G&l_r>3c}Iqyxnf}?szbuO^bG#Pv(`G?n1Z>~@%~HmM^%T2xfSNq!4-%XSLy*M z7hF@Qq-4;VqVu)qYBElq?CHKVccT!x-iD@*J1Uck%I}^ZYZave`t9#E$(5p9dr6T` z(bdb1P3qlh?-&5<9(&f>d($Di6_{IXlUP@}p~B#fk64{Iwx`Nc`;Sgev#>S08lP(x zd_#NMRqOWO>Gd(`w}kessA!h`qCtW_=ftCqo*+lA)s+eQq)n1x18sQKA8Sgl&lryO z#Mvc=DfFT(2nNeCpsO1l5E3{>ouScCJsEBNyBIdwGL0o-a2Z zHAXdBB^YH^HRh0hyjwT;x#at`e3nUxV|D~~%XD)q;_&K#WpVM0%r!&U&rQM$$IXU0 z%fp~sq8wauq=dMdCbXv+=%V=C5K)1?kY7_qvvgO{EbC)HP%NDwba_oD#=!x-Y(f)? zop}Q$#IWYtT;2kHC4B|et`}b9{uP~}gyz?YQWEe``SA#s&)1{7Ww7%=@Ji-UdsfsE zB9c$AR7m72q~2|{yB6Vq5z@isymp=?cszNi-yg-bW_+U$X1eDIQMB9#1pGNB?MSJ6tr;c-m1K)!rSdB(9biNZY`&4B*G6~ zDrU|jPjG-LDAZ+oqNrKC;J`{tBi9(0US%!w2FzMLTSE_ zk6Vs$Q7bNxELOE)8e@P9?wQ>Nj6iGMWqS)xb5in*8Dk|jT#Zh4oVDH-iZc5sJAVLq z+3j<`RipMk>}qOO>4NHK0&1wX*cvX@$kR+dFaBJc-u+UH(WaiBN=Hky#E2L6lce^G#oKdz8~HQPD80@bX;$SVJgBPQD#A`XWS&prt@&KyX=q4DO)jXg zgtQ22MO7R6l2}6mx9@%a>XuylT-B=}+1bHT?CB5y- z$lOPR3Nh;MidoiP;? zri}kA^G4Suu@1JHNk1cIFIV^uhtEm_J)R^8S+fKade>C`?F0Sc&~L4npS?I-nnbV? zxB3{xaxR8L$szg=_8Y6`F}BYo_N6$8WLkIvL;EaXyO#KcigMR^njS}iKWenzIj`~J z-_cWT!ILoV1k!pM{SM1e=T++?yWrw!5-~w}FQcN}^3n}CR45md;cbU6SR~QiqI`lX zYPCn^C!=&l7sN*W@A$U3g&RXh{t!`4>xIMNsQSVmzrJ`R$1d5(Y5MhyEN^Jd=a%2#I?_fRIu4RVfgkQ(TS}D9E)sU?9f>{_!~{cqrxzBZ2nerAbdw z%c#2l-MrE|G4a|;i{1L=9qOsa162&tmrLNXatrx@(Z2R@TQhu*0Wdf*`Z~H#H$At# ze+GyDA_{Q|s-;}_9Z99Y%*P=W%!IOxMv{VbAYJLEeH7c?OUhI!@{^(49=5`GvLgIEFAgm<%qCy3g(kpRm1k%OoPs^ zR@nZ?vEv7~N9xRZTYp*PQLQ7c#KMJQ8pH)1&_mX^S|~k->ExFnhMJKQ(XeKadK{O- zew^F!;UA^*=__$|Ax}pFA7D=Vayr3f&YuCvc)^gERVA;>oT-zC1YV9YG?CP~lP&^z z#DEC@Vxu3@=Yhei3MrIwbMx-Q6k3TL;ecBzx75(^=zOsG7{5v*^4a3dBi7ql^5cdY zj4^gaOI9|-xe1r}x6eX@#7!e;Yx^n4=nr3{hge=Z0(}@c;-4T-_E*otQW+x3L$SF)gcoX zyCil!5QYEAB^P7g4frzPw`n0$S~3jXgbFm>&PJU)WZZJkOk+#fZ{@CFNLRsWf94 za9(EbEHaD}M8SvP=6@x}VO!`)hvD8hfI5G>TOXz8+e`VRgkTXCYiJ>avmV-=K!}3J!~$3s*-s| z)+JTB3S?Eks z;ro_RB_nvUYb?pz3!91lC^D8ZJi)we+*SWy%XBBJYqmNF&v&iQNE7+T)hBYk%5wig zX3j}+s&Khi)C+CBj#N4oAbbJaTr|h|l$UG#w~M`(B`Gs4SnjpYFP!?)hPr@|LVBXe zZ`$lp&4*fA#HFj_?4`xJBxN-<;g<5M)937{{YpbEE3>wGgkcqDIt%NxdIkm^yXBd- zW2H5=?c~buP0r`*{_LR%}xPdlg4 zpD*}m;`nn}K<{lgM)j*wy__Rk$tO6Q6fVA@KR2L*V&+Ts$34{kLcjXbbBUt+rV9P4{yWJq zFVVg}H4bH8(ea27=PbuN_Z|1q`fCa%DFQ0^P&=mjB^$v19ffJCmk>OZt$dk+-~L{a zXxsSi8zC9Ycu3Uq?4fV^TuK2%Xz|f_wW-|_=QwQUFzM@;-RBK|KG2sM5W39IA86 zn8+bCvX-+x`XWT+knS(qhL+;4pS8GJM zyvi?$%L^du==_CZv-5@qgRx6rFEE)7H&t6Df;pSlDzYT)?G!mL$Z7EP*p#-)!IC_- zOB~)wf;z-3SVuTv_5;`b+(~bN8RDk5z?)uJbGod_(OSZNLnAXxUUY8r)67>xEDPW* z#mcTO*z?-d6inl5dJ07>oqr6?VQ~;qtE^+|_J9xMg56_Z)az%rDT((OMglnDJt;Z)6D}LBn7gF1DTeB` zB@pbz2}n>A>PNuy zCFEE}UlIu=*En{*NCXn$LFSi+6-Ye|{gqHofG|^YpGU9#6#JR+>$7$$`WOw>Q+~F} zX#C5L3c*x(8DNPG=SyBJ_6N{dAia)BEy5rElMS@2D78 zeJsq;U)tD+z_vUNfhp^{WpfdLU;hi^S~R&VEn&-8o@$xR6sLZ@t8(SbSQ@8D>vh)$ zaS(E;edEugV9dp%C84{DiuufASjeq!M|T?VXek7k;E0dySO9`iQURPW#oBKs zo=I$%at%)~#^}-k=X8-d7D6XB3d~Cqj?*h6q26(A8G@!XPK;+lCiitopefGWCzmjV zPT8-f-KK!E(Z+jxNqOqzn^MCGPu~?Ka;3=&?<0G+=#EKxn~myL;6Js-KfdGJFv8BX z1hPYDmgel>>%-(Dz%xTD8VE=@E>=1dfk~G36i4uN9N`&|gV;A=zoOnZ>CcM!4a+Ib zdL>UB}OK$bmD*Zp|4_ z4wE~@ zm>%%{5IpMXZ({R7nz@Lyj#3^8^miY8O&k)Mab7aUKBZ$np;)yk0GRkhxG3MEi$k}o zkvWlHkMmW62y}Yvch&9+)vQq!SvOoE~@De*rhwJVds#e#4Zv2HRJW+lXOYW6@nT@E` zKQUIlv$p`)dlIr~>vPbSe2*Yr$fF1RqmhTn-+C-8EN`O0)Obk)pUggeT0Pz9t8qV} z-;`ISOf%|Pyms0eggZq<@Q(<#6eWHC{yh{+(%znvTFm|HRr!6mpP%1_Q-d%i{u=JG zvj}Ww^re1{1FEpF@b=-Mz~FFEg01J>)k&T5PzHo=a2s0H*hmFr>=MOA7ipL5D*Sjx zOib)>xv!g*dJ!2BL1uCOk@9f9)_;HBHmf?@WG&dtM{a6j;`iPLY*ZkSG+8OPgpxr} zIea?uiuCpC5jQ_n>Ks5nQXGXAb-#IpM$OP<;T7(#zq)*4;(fxiyR#ClL?tF07#R3b zSQenX%E*+1VT>(Tw(uY(E5>rL-G9f!6pp3B&^7 ziQjkDC5oMi)Q%?2gQ(R0reb>M83%JpmnL?<-l02fo)J(9(1hP%O!fFS%jcSl@=HD> zZ|_x=Q59wm!pu`#=DP7yk^=4yLIR&HS3)|c*M9}PJRB}|(4#QRSHk|*C#fP1%uvSV zm@;oW=Ro7re^$(=RJF797(?vtYg44yoyTjC12#R0g*jJfRZqM!*| z`i*8Wcf!wi`xZj3`=rzm4@S(QLVK^|SDc)y*JoSbFc+JBeQ{VXVlsAjcQ2f%_(385 z3anuJ$sYDEypra+lw)IK^!&jk=52M!HTC+O@rj8gd*)9lFyclhCnsGRH8nN6$kO8@ zqoQz3hNe!tI)w3?J|r@Igk0KrlxQjZHG1$Fq?BQFfgWEctMMlZ_kHb%ZiQ6 zh}F)B$$I&mk^cVuJFB?Z)_`k{1S3jKQL(Siu*sJ)6|vnD$6VuALX_II;ipgz2SDBTrw+EkWe4P{ECN6h@%c^RpYcma zM{6>m83Vhy#4!CzKi{B_8-I^C7zl7xQ~?#d6yRUFI*e`NXLnx#I9Kg^Al#Au3{MWI zUi`{rpO$`YJWydaB=qxzuAkC@-Ba;i78SWm23$5xV2j2y_%(^I2unC^;(B;`R!7Uh z$ECO_WpWBoT0{C_(ej@xJEppJ&@w&lf`mMo!N^GgrUy#(5H}$ z=j5s!=0udLDhA-5RA^U%?8^P7seu5kyg;0#3gbkax-jT(kp1E-dGR=xNa>G!MEbSi zIZeA(C3IujA1B)E>hQ~Ut;B@?#u;k-Z0{2Z>VODeYiut&kWRAiZ%?^&0GX$LiJMEo$D{t`i4$IOQud|ShLw`o650T>={y*8vOZp)mh|>%I%Iz+q*!8u)Gblb zeYuv>Y_S)6Gh&x#|NdZqAF8GG9kVaGr=S4N(uhnK5N#_jjE27V|DtXE5CBaZ>t)aL zk^5{<`*W6C6qXiQM;EIu+@;58w+sECiUI(im*RX_)Y%Y_wF-)PNhNLTxN5xJe$Jk} z+*jW^erJar8BT&8th}`6Y;T3%`;zP|2fSOn(&^TbxL9dAiH&_mww0h3XuqNt;h5=@J5ou^fpVaqQj?C`6z71MoS5H@0t?&Lyy4}d804N~B-O{|Q0iP|P$oaTa zfsd7Q+t-R@lQ3(`^7F8_b+|#3Re)730*EGb4)CL znLAPNgu|msJ~r1XR79u5ICb?Um7i9Jd8)IH z-Jtq6h93%qhB@yvTfGY7I21jJ=v;>Eto11MC(qmAchvADGRi9P@F}WqIbwKgzvRj^ z5+i0T$hg6=z&FA$cA{hGJ+JTuJ{Z|2>xs5YJdjp;$xFHO zb!aJ{IrPSZ5YIJimtD_{E?wu=TbXe$yLAIvz$qC}ORv~bLANI4Ix!|yZvSS)9H6`d z#Cmz@mt*Afbk0Mx)i=z>2V5Pp^P_=alx{^paGWJj?r+`&Y4^}?I*qlXjBB<}HO4?7 z_!Oebm8K=D%BC`zP}NjIF9>L@xw3fP>aYH>cG4*qPyn`&(jlNN@QFzixugewm*vE$ zCHOQeS^yc`pw;`YGi+WFPO8!S&EhI_{0;NA{rZdARO7gbWKVDCA&fcs-xX->XdH=W zz9b@2!1)tvw)1i|Betg?PHBGVUmuj;OZuswc?HNZpwI4K;mx+jIiCQMW>rAEZ5>Ib z0~Z|=)K_q^3P4mWdI235j}aort^&6n1ju!yA>mKQbSf32Z6K)eH%_?12g&k#Jp~Iv z#UIZB7Ep!pqQ*s3Xy-N2!JFuI_l9C=Re_B{K0lNg*q^0ABvI8x+ZF@W2X+Yc&g=bU zi_n1D(@;=X`+Y=`M~3Y&^jp-LYsgz6pamlkm_t)yK7OLasSvOg?8U4-LrDUo3%mh6kSA=0v%Cvq3DlSqWyqbcd#}a7g0qr0t3;2zgQ## zEoZII%Ps@@zaYl8MZOpUnSUK}*Dg`1d;?dK#}P1HHwWOFx&W?;vb2>xR^8L`lQi_M zFIIg)*0GRwyWP1T>xY4?2}|5w*6*GI%088Ka{VkB#;>P8oE+H(QUbznN!28J~9ixwhs<-22P9^F9__r^Kr%; zP&<$7Vk!cVXOJczy_Sbot)q2ss~ts~dnanYCNK*v207CUY?#y}o+F$PKREMk7Avq{ zvUvf4dUc_}`Z7WCH)9*-Vt_ijTyFnM-kMjQI`AL9I=0~)kJ^yLv**x%Nf+ZBGL6E1 z@^@Tc_yQH|_UZRt2-HNUBC-{dj9;C1+6Ot@9*2wuAq==mY9`kH^x;N{#w_4Pc{U## zm3YqMsa7kx*HwGWyUd_meEAFf6oxSE;dME}pxQJJkq)^IqS6yP%qCKqkF5Fk5)x$l z9|?hCgS8Kv`qo!E^8r}7=w&8*2=@Vy4x37wz7Hjii*6FDctAlehfYXKY8a4SLm5OI zoy7|esX^RlwENw%vjb~k*rb(#>5#F$x+>^B{n0gJT!(=P-yI!+buJeJVLT7etA@Y8 z;a0ulLtpak5N=nRZ#J()PYSMU#39X8lJ1sfoR~W+;yL8NaSglKZ*r%+F6pRoiwigH zsuwhwm+`9M3`5j}C7rzDIkZa!=C_@bx*f>^p=h34q;6b@nmDQxK-0gOYI;!J0lXM- z53ipp9Vj(r_y=7#i4+0obvaiQ3@K!2Bo;$r^zAK}!mUk(10V=7g=LLAT*=oolN~0_ z+wa8CDk73g$IXq3cW@~uthkrv=;G7?aFB%EWFDT6&{pzZIfLuC0a6xjvg9WD9R@Bk>$x2Xahy(ig{($ONcDv3iK_izBz5g{-?#nf=)$%Z<}Xp+&d>lM~o zdTe}mpCD1Im6_Af43f4I(2hQ-;4rN11Tc1iEB_=YLx_iFJ?%+W3X(-top?l(bU(hI1J<8P+c~3u{N?kGtO+y6}sv&zjK{^&hej#CoDl- z8Lp3@!iMBT3FNTG@M6x&8GE>*tZ7=6PG$JjvVbd;lXbH1h5jDAW;XUIjbqB=?Sg<> zJHqyAmiWXD0KuVvwG(T%OO)u}UkC#e_HXCcWy6W}&MXRyd{V4^pF=7H`Cz_dz+O{0 zUCI%wUQY{bGf*Sp81;@Y0u-f|8JhvD%o2U!gu#=-T$2rrNZ~C2Cc6IkL0Gd}Xea(p z*zm>wgHQI@^8on|&(6n>!U^W%z5w)Qi!mp=HTh2fT^~=%A?*7{Y2zx>8Rcyy049}S%{i2=A_9{Fdc3&GfvHcXo1Ml=BR*w- zCqoh6GiBsyTQM8q% z-IqGsm(G{0MTvtF`IC@35hBNc)Aw&0-1FB6@$&k(c^_t4+>S#n;467o+0IfV#25?7 z8D8rQ#7OTxP01G+V_t3fU(<@tm3(oS^Y;3z%+usJd0~75uJ-Au*J`Y}G`${<)+KZl z&%G-hDCqfPLgrd;<%_|RvA~%my_&&8e=QZvqc(g1l=4sKI=(=RUEWQB4xSHnyOuZJ zKs;q?!VL>!GdfG9#c2M=tYZBCGpqCogq#$jC6y?(^MfvGcL5NNrXBZSt7sJ7LDSk% zL8TW`ABSlSU>2umXDbZvSx%bq@79iJLCAV`cK4cwa1;6?AW2s2)9N7LBvbgV3fNa( z3NYl?4)eL{e)o@;x98wO#nC+XQ&m_!v{-#m&S}JNUV2h-EtGATGUDzb6D|a{leG7S zFq#s$ml$pY77bj@tSOhvml(2kNeBFo6QwmYxbc$FbVxAH>(B5i-MwLKnMy2A?Pllq z4#+*nULZm{k2$@ZqothMSgwES_uiBT=$C?DskHl|0`cJstRh1KkVmtzT)gRCL}`k$ z>oFtUa#l|llPGk-{Ul6k9>07*jxovfNOzO!O^cd}sdMr(9!cL=jl2kv!&Bxl4S#Ej z7cTS4z#}s8$+TPu%!ij(2B2=U96Ci~9p98ftoTRpvw!?RK}1qX1LOrU2?^dSqDS_u z;mf3UlaL?Hr5|Koka422?$&{mxvJ-269?b3c!~6uncEh*V+b_=oz}A51Uhi_Tqf8M z5I)Aa{~J?DI#~?6d5?@9m42Jf``4IJJ~*^qp=6zCpK$TQC||mpklv)&k=H6r{$||# zemqZx@RPC~0~u)DK_VXIYa+Bd$Mw{kDUg}4CjjR}+KI8L*lnQ@RyV}vHaRS@;}av9e=7=YGk~>cN58)3`VK`mnS(~`0bpNur7;(wx2~_2RSy8)gZ0*QJ&a6cnu9_?&#y?zq^6KGxbg?aL9W;i za8lU2Q?|V4@?KU4zHYwypbjkYm)wCoP9k@H9?)-gA>4E%W{KTAF^8lv3(?uyhLTC$ z03yqz&tO8qxH^ES3l9;BIm85=vluX#eN&3Vryu^m&WM0jv%2(<*KszZt@jb0jx>i9 z69Q(%VJ<=F*UV&bUtmK5#{Tw*AUn1h;>+sTgCILI3<>pkrssFz^c{#&JpL2R7`$2H zIg$JY`gNWZ4k0@NZh@Zv=ZnzKGbBR(>q3}f)e#{zTvO>;Yq z417w$Ilxm>6+Idnik*c7yeZv1Ju_0-d3kwdzK=dI)yq4+f(UEk3$s%5dLKS?RCFLr&PaI*w)R#{0f~NMcy7i0soN8- zmVlNgMr1i<@mahD&+`5PP6!O+BKdac42(k{tySp+RY}0CRm+DmH(NT1Wg+5nP*%Uu zRh_UuDCn7F2ty2}K4;>zVWi8}Pt8kC&&I`9Pm^1HG4_SGB5rM&e&Sw2D^!~7E40&E z7e52e4R2kpxP_Xu>Vco>tyQIlP2w$oy#@W|V4h#*a3|ZR%Ip`L#Zb3AJCEvWn@ zF^nVl5^|Wn^yAUfs1h9r-83fi3yf1YNK2cAzpEV6v2&JZ{0?Z@egiGBtO+aPw^Il< zc+Fjk8IkX_tq>qzqNm|crmyO-VWy_`CnioRg7N)j&>sBP$;X$b68j`>Zvf)~ zraA#^7IW?$(Gw>3{#!y_b{VAuSq`C~r0Te)c_7jskB-QeS-9uUj&U#8;y2BR1M^=w zkmd&vHbHDL3C}LgSxk6HeJ)=6-Y&hagh_@mRO%Hb3&XLeytY}i85*YC>~h`%>PLzm zS@}uDa{MbX26{h!V)B=wb=w&Y??$<$^cU3_M7<6e85|o0zRK62m9-?5GEh>}>e4L4 zW%${t3&UJPGW=$Z%ZC(QpX&W6WB}X{b=@cnPSMVlQYTSw=(4H9Z~>5M-!gbel%B}i zbOo#B{j-v5+tscbgxB#+Znr%dTb#8+KN7yKA-91Q4z~JeE#^Oyea|iUsa53whM#C9 za`}&s+Aoo3#Z}hi*+EJ_yjE-=;z4))EX@DM=@nf}<&PsyiIdWIZ-aWFK*W3Ch+!~M zsgc9FsS>XDld&t#S^QS92AsIKTW+xi8gOnpcSMY>8FLSQv@Ms?<^p#Fz9GK6*46do-zy8mG|TQ_+}u(fVntXp#_qD9pi1 z006PqfVb)kMEHV3NtKU#E*72rKv>wNRs?TTRP=|3j|%`0b_9^)=S=Jbh|)i1ylf)( z`$2JGD*TQ=kuD}$UMk@G*I#TuEgg5Mm<|&oE{Rz}(R|E_#UCl{DvmKW6$FCc7~wzE zD2D&#sp)bnd zDVWp~_M8~d{N(glm=dR%Be(}&FZQ`fstZb)GZImJ;16}3?TeR&Yx}`H<5*Sq0nU{e z700MxEt4Kka`&syEh89NA*%+Hd6`nYa1{5`GYfj~H|Un8zW70_jijLaY20)JJpuAw_VmOeYM zCC+7XI{mQ)x-$YsL)7L?se7FaePK=dT96uw4SOT0`sWSH)qR4b8YhqwoY9|HKWJi- z9&*SUvJr?1?7J`9>^UVO1M6`68-xN1>c&drY5Z$fpE6lTd6_#FLRbADhZBA%@42$o zR|Wkf)+Gm=n{X3irEN1kJ3I+hZ$b`}!~5a9`SY4a+a>=?}b${wqlj-nrQA*eU1VZRJ9{h-)> zBy)OtStO>r0M+fRomBJhjRDXRCG|JS8Xi#T`T&(~WQ){K@53ExB>{8O+H;n!jKkmp zDW<%)@{A1bjwA^e^T3TG>X=DPt~uiW_h$t@1bSDJDZ}F>hlR1#fg@TYx7E;%Tz!bZ zq=6A9cPp8D!o1zk`^n}laHrB+lG*gtWH}>Vo>&KLCw%_J<(53h7}Nhl(73;kW70AY zKcu3X8|K??smKWWmc{yX|M%B$08K3B#0Lfq{3_&E(#mM@!izy#$Z@MV$#&_3@BSR7tA^%)qym%91mx@lRjNJI5u@JOJ>BD4UmEC3lOGJ-3uS|&O0 zbI#3&0w8>RV4$IDA03U2R%B%6N3bYy;kRg{J=5#4Qfd+kmVdlCBgVh(uVB?ZR9Bu_hQ7NsKlyV&I4PIEuYvB3^7c=B<_)gV&HP*E^50NEX1-eCar04XEi<>{wwE8HLbn>!!xA5VPS z_ez>kmFINwf7I7g)Vm#Z0VP1EfS8zV8fuyfGd`6_0L1fhIgG364GhNP`>sQH@gpE- z(XR(|E$i#+Z`7W{BGuH@{fESFac?gV+FSiGcpwnFG}O(_%>YC3YNsug@k#rB66q|$ z!8BopL&VkrWbNEmU=5dBM1<|n+Llqhh^S};-`A-<8ClsNA%r(J zHa6kHdRc=f@=s|Z&@F-NkzI*YdjLDkz`)Q&*0SOdvK1Dk2GGjv2$q&#MYzYL-ZwjW zQp{0^{{C>lmHta%a+9a9q(pFV7#bcjx5-oIbAR)lhmDPm2su~(Spxsan`R(!DQM@! zCtPCQf8?71Y5gr$7dF1p{)+wVQQLNV`@2R*)cb=c2@gI%Uvb6oZ@Cm@fs8*3_Pis5 zGX~EU1ov7NRF|W}!cCYCZ-IxJsP&WH8`n$N-Tl%d8er7t0G#<}XJ?l7_Og0 z^!C0j@(Q9m^r^hB?n)a|d}(Z~Vq+@g>YpRK%9Nj*`&cgur0TkA+7U-V&A@c#bl>NCXP+QfWmu>tEy{6?4u13QT4AdfOzy zYw#t7p#AdkO8fS~fdO*;tvv9-h_T+L2$ZCFtM=M6Ym3&v-hjnJbJxTQrPnKZ$L+U7 z$-o)&1e0aBOJrr~c{xK_BcX<-5^JbVh=SB=(GRKC%4*6F&<7EQn2uv%)T5__vzXq> zF9vqtG1$+B*tv<_!W{OP+!#nRWC4BHpvMDT-WuPJ3y$FQma7lJ$b_z#MR z|2@^OwEa5cl~o%1I_|UoJ$CuCl;4Y$v1I3SFy-2RJpN{&jG(<6l9!cAja7B&@Y%?C zWN(o$dMvb~xH6FCWECf%R7Mh>D6BRaWXa@MW;Yf$aGkI@++WH9+X($kD_Grz>i}r& zC;B_?i~qfU$GE0@aYXYASf-_Q+klO>!+|Sm9dXrr^pb^ORpaX3SS;6cTGH zNWtt}TTDeJ@b~ZDI!-J`7rVXmU1`m9BN`+QkFq>Kr&_-Jr|`X4k%!d?>jZky!uR6VeW?Y zpCdOG-Vcm?hm zPDF@P>h^5H-;Cdchxt(QbkOK<_r^*4$NHpHjqIo!4Gxmr+@Tc4g3s!E9c zRoYUkk(3@HOf4zyts{&-V%3On~~8MW9*0*=-onwEMj?UXx>TXPvxr#a&gg~m@XZF7O`s%Khl%zNc%d!{U~m z4nEHouSSq%kAu>cf3-}fZfVvw*PcP8c%E909?y9C22Z(dn6%c0Zz67C$7@l?XCJ-% z{(PY?d4)XgLjsY>OSibly`YhivGAK45}~U}x0ASjcK7q2lw5^*Mr0Hno$d91`USj_b6%q^#x*Ol96@g?!Ofx26pb zac*kUbx&M=qXkRci$6SEoU#0FilVunkXR0*aB=vfw7fq;vo`c-%siWWjWZNPqTM$v zAsAY}b-DJtdZ|mVo`#MnV&$Qe>Z&s}b9uc?+I=nf^AB6K)=>urAp1P;s+Bp@#Bv~T zu@L7fxcTu&D0c2yunRu(Wpfz8M^Bt)v76@x3lr04T|>v4O>U*0NYwqu<_ptUy#MI!0j+z6TW$E$J?m0syQr0U8%g$&IPZB@|sRO=@%Tu5C?D#K&G(7 zJDW<_a<>gq3ipk~8lzTH+7Fs(AYl^Ogj9c76Zi}?X_n0+i}MnT4=y4C$Vc9psfn`M zfmHjsl95&fSd?ex5nW5`HiBpR@EzQ;?wV%C(ieDSRn}>G+GdK-^NXnvmcaC}bhf+` z`cWSVl1{F|kx7}4*icuA`+C8X!@Q%FcY_LI^%uB;N9WN&nAvJC#?tYGU?zfwx2Z#F z?@2TU$Hbl z5~{w1V3y#m4F57YABS`%w25%MPF(S@XWh)b0X(K$C$pK&L8GV7=9~4y%||KDQ(%YA z_}`^l-spicCQ{1y7yZJ~>W?cPADlEM1y@)9l9xIy^2`LzgKv)?9*=I_N84~TS!)ti z<6;i+*Qpw#9ttF%Z)Ua^63eQqkPoKSgdhk$n+*9mkDmiG2wPQ;8>@ZbT;eyFRBLON z-i~OuzBde%bKa=GhCZ*VZ4lyxVG#T=Kx7bzcce<(QfB%d3tpvW{xr2@3d$|F)o(^p z3YJuFYf8_rb&I$@3m!5=+}+`_sZh4;l{7|FFU|OQWB7y)xgJ3mXP7OE?HG6;Ui+wF z1+O@&3?F8`x{_V><^8Xhco}6Qx$5RedoLJ<8em$m1&^1fd-~kS4sIA;P;H0`t7BK1 zr=d8&W8r)EOtpRQOZe9h*qYv`nMcA>S#RANhpb}NpS^tdB(pih?1dEZPe}FsTb^&N zjCmzdL0i5>BknVr{8c`Z_&x{KENKA()GLQ5Fw`OcmaOHCy4L zZ45aaSW(PUP%lp=JQL$=4z0A=NV4H-3uLw{z0g|O^p~q~IwBritPSM5<%2Z`*fwfl ziVkQ>Es~`HbJokh8|sUBQftr2o?MNhr!}7tlJWBtSmt-_#E}e(TS?xhvv=2A6Y6@7 zo&2;4&1mtT+dBGDPz0_ep)odD43|sfH9o_5=L#WliK|PkzZvw_n21^iBKx}g^RN`O zDMV&dV5{R_Qaa{e-d7)=k0_gcdY)asg^q7w&fv6!rQiMg{}A?;VNtey)UOhf0s{!r zFr+j{r@+uHAShje^w5noBQ4S;AuS;_bT`sHba$78ychTVJkNXVy+3TeaU9GXTrk&p zp4a-X^;;0H9#QWER{~L~arYSQ&r>%&0$z7W^$qo-;|7tYXq67j^Av*|AJkkwQ7zuC zYNWO3N0sLFSlX0ybfj?{uho_siCvK608f-HMBKRwz-dFJc*02rWZ}jQUHVitorS_+ zl+sUag7|C+M;le+C$wkL=aLM92X_~v(Nq&W^&{)MDWvMNEMq=Eej)&xMCi4k!N_4u@Bu|olGx^qmaPOj|srdPRA zi$!L+1g$O~AUd0|AO>rC4%EKA8yi&|o{^0U;4Ar^(R2DiSTEdsWK+=9LpbnbE*F)p z%$YT9SW154Nn2`5XF~(d_o`B?bhfo)Hlb1V>F`k)J9+<1^jPwHfe^&;i7wU3V7S$J zD#Hk(W6=s}!Kq>mCn{Yuq~nUxMCQb#;Ppb0hvmcJ&z{huCV#gm!>-;L zOqmc*PSKVi*sktOoiJK@^>5A#Hrkq+u-nATyG#3us%kHD0qnIv7n$s&?>bg!DRSN&sO=?GKQw+C3w4L^)xH}`h>UvTIr72zt34pJ`>o4cD14+ z@j5Ssa``UqBV0eO7jeb4=yN4%rdJ=5-(|~Gb{IN&DB)+#GH7}rCtO9vScwC^z2V&# z@g=;P+iZEa4f$sMr{PasbBLP(n5NCITW^`;!iq`m?jt%V{(UZo+aE*(U^Hl1_apPI zyax*FgJHLOkK>E3XIq_6p7HjRJ*`iQ!EGrx}oAs`}BY$iG6Fm8f9QO$9A&#M63yUfW4c*6jLeaEThF zfA7SodJCjaYdT-cB5>?4PVc!}8`POdi+B0mgU=8UYv}mFn9J0M`9I7YtzHpaG3T)1 z(VUjskhGne3F#dwfXOL389gf+PoKCQ9du^hXReIq+#VO{^K8)sL|`yIBZ>MPCK6`@ zo-~!xHcmNsBWF$Xwda&(?zK8qNRM@l&2AZr<*_k%u|x1z6MDh3vnK1dk z_PVdu_YCr{jrKgTqYdB1&z7paK-DiUMt`Wud;$CRM$IY9f>rx}Gkb`>)GPV<7r=>y zXKwHKmW@-DQg&h><3j9aYP;jhEk5_~L9j`ktjyOmIrGQ2;d)%8I0|9}WnoI5{eF3-m2z^{&pSe=H|7hN$F2Yk@WYK-j;xrVm9 z{fiS-sGS~q1WpF{Ps$6!KSJ%!zlry(ePJ$%B<^UDG%a8FuJSMi{M~BM7#JB(Dl_k~ zRWn4m=nQeFrlC~qQUHY57E2vxY_07}$r}3!Ca1A|QVgXVj7}C9;-^~Xr2tAS5Q*uD zu#q-;*1rzA)*r^hImb^vlyJVGWY18MH6MSjN0)uS??H6K*79*F)e2S1gB!4cat~47zBJ5DhsYlw5Au+A_1OO< zPbOCR?pcoFLT{lyn-rd{k!dpBdt)+7edVJKK`aX0K&g%OWk#iIm-7M$Kaul5kAXlH z5S49PqT!XQCxCP!Ge9c`)Z0AZzWfZkwSKfs8R465I$tASprgU=f*bJC2f7L=#AT=I z;X*T!DcnJ4YyM4b|G1kO}$|;Fr zUXn}dc9^d()=M4;>4`ewe>`H^58Q&@OE8pXiiaV1$-%EfYsfO!;-+1*bC0n}g($PC z?@1{amO_Qi1(OVl-W=qRi@<*oxB%@d@0~HsCu?EORI)vis5kbM9pm+SX${`V&dFRl zPWWBb^yQvpE1QP++sWVGWtALr7FkoRwEZMtvK0>KZcM-4ZdwpX_W;q;cR@~(!Dys4#GJfZ5{QW7K^0}?HXA-uS63n@CnsIA`HzAF?xwSMcOrTD`O=xc zx$Sz)8`)ToeVj?IRz$DXoV-N`+^G_~ZhsFBdfN)aIj&||5jJG@90*Y2i5UAWv#>$J zy+*fXCB;c|OEDKS2M2MdX!Cuz-wDTY^uskS6FYmzaAic&t_hU$r3^Vyj-20C4pw$^Eek=2TK zABy^g4}JkV6JUrr@;n!fVopkRT{|wtjdA+pL`Z1ZA^E_o*E<|QY9pb$B9SImi4}V3 z`?)CAWYCpD=4J&KdiKY3VlqQwC<_^$mAp?g;{4@6u%Q~Y*1`XP zhN)nm)x<;gKK5BUo1N2|IODgZ7w>z(lJOXRqzT_!s{Z{8S!5NludDoY5(JGQ> z3J-v67TS;9W1=&j3f%FS;-KXEQN;NI^FQLIFcfZF+HPE>fz~;TNQM*t1A}(akuiF& zs&bI~lg#=OfAF`akw^7ARmn&m<3=H}+ERnAYZHRyBFKGHp!)|$N}?n5yM%@U)&Xgt zkT$B=>tujKtox#83xpmmS&?XJmrF@$i0eJ@!qWR|AeyQjcre~lvf7ekpz~)BYLcN{ ztC^43p@A^0>x6V>mt*;F`hAkleu(vtm*&AF?su!)@7@)IY7*Kc>k~Gajcc_`KEcsh zSbR9A$=mv_nt`M1Uz(4$Y;W-7}9_M7L`;C1VK zYqaIGeo4+`tq5i z8Gtv}XMjsUv(Mc?g?4Y~0B46Mq>y4_4%W;6wM4NO??9S*B;xa2fZR88NG@&DM5xr; zFgjV`WhZ|0w+9z|Vcc;=bC|&cLNYgU@1k|8biYMU5OTu~yLe}58y(_mK{VA;tgD^j zlF}v%$Mtzwcfx}ZsWi6m@sqK9OLQ}5 zD^)Uycqvv+ft7=UmV-mJv&lZB1K>*3-v<=v?oqXmxlkqWfe)0GmSKa_Oa65$oSM>r zY>EU}9eyw&m?aEW{lqkx0Fd~b@a)Cf~0y`s*R7S7&UA# zQ+g%%>ZIU2(OtckSd;=y&FcaAI#0#e{EoFmAFZ6nn^IBV(8!l36fL$?^-Td5I@{zZ zogzaeJxlX$CGoH4roS#lV$V~{YZe23+&*PZhs+~pZ+*#XF0DDm#gQiIVYjaS|9T&E zfybFfBp{{=Wkvhay|)hxqF>!9wwk;+Y5u14I42S9vBcse4s$17d7V!~_(?iKbV{jt z%bIik9ZF&ozSCOta`l4r!Nzc`*A=Ucfk9!_vuO5%jIy>2{78xnhxJGmGm;wdfH62lDgW6Gn{OU58Cf1HPz0WjM?esQ~Wb z50*r&A9}>4NdqRHLR|?6uAKfw6;7%Diz<}l9L%`%EqSgd={x12q`J`Fq|11G{zuIF zbZGcw^^X=S+tl~JQ^t)CapGO7;x}R$+8OO_s=gsbMc|Sl@lKeO{hGmV`UusH?BzKx zCcycmQFl8c_BJY&ajD~v7g~((Atz}+w}bOh{&q%FxNI%Q_lgUmUn))h^IM+;+%~bR z%fNfPY=dqaYnSO~1;s;M#4XqM*DHH|{%E|j0(D!wX}`rHHuGfBiw@9n3_7DY7Q4d> zEw*0?L>7NSbJ)9N6u8}gDmsorT1MF|TlT=_dpxCj(s;>msJ|F|+OQ+w<1IcXObIl2 z@nG{VwKnUwbOvV0>Rj@I2`BtMmCsTdcc-P6Q(h(2f8nirqM;yJfzzQW+u8I$#9EEo zj!_q~Ly=q4CTv`YzJm=(zraMHS>IJqS>}2HtGr|cb3atD}X??&k2EQ-z1=*X% z*V4pBq=1!N8+a60`Ang>NxS?N=J0%kry1Aa3N@`EF|ztZmT6E7#&fbU$6tznw$3wDk3_E__PRkpT^$#D(Zn?8@`n>?c_u2Vn zZ9k%yx+)^1n99ULOHa?>(9M$apFi$c`}gdZyW?4%tMuFMy*%pgty(fl_9)*>ybq=y zHz)1vyaPW6j5#0vYs^6ig~2>8;alz8?x<5YXi4@>pJ)Bi$}iNssEPA-b4I+s!tIG2 zB4ehE@NfW+{=eoN_y3u5SVAqGvgRj{pqE~TU(-mXlt@Acys_=3HBh9|bmqd7?#1jZ zd_U7t-QzQIM`u^x3psMTt#w3;zZr*+Fobg~o85r)eBfv=%oAf={&0IkTyuuF8wHMO zRMPUSg^qH#I4ESJ587iD(KxF#CD(6RZ)8(P9R8xrrC>SSv_?at<<9RLcDAkRf>-wv zIk|2KaZ4#=OpmnmQQ>gJbE_@Y^;kazq@HT<4OPZfQX-q{9xSpCD_tAU%; zytM?Xw`lbWeLsUz%+dsEh|zF;K4Y=r?g;jbXe5QK?c6#X{I$cr5|`Mh<8avBXWxI= zCpfP%>_{g|95F5G{3AuR=DnjYAhHj&&jFEs9{B(8_qqu|8^_@*%1G ziOV(VPEzyKYI@PX@Q{^+X{cimC3Z`PtYqq0!H`TrjcdtI*VcJI zf_n&iN#%iB(}j-fJMhc>AFeNaywnkQ*vc+fE9aWXS-wiR^HR_~ib1A>q?evw#)^<; zwqF{|RlO^@6qAdVc z%wnHmy$FNrE>n7kL;+{pSi8;uo`IZ`;~A>4m-;F*FWpF4A>hNHbRD_7L%gcz9eQz3 zt=F`48tmG~l>AhGY8&mru@u*oXFN;W^}ID1^6h9Lw4fQwxN!%VwuBU3T!k+%Lm`%= zj+I1bYMsLbjAYSEc=-+OolPUaUN(&NFEERDrb=Bagg{LiH9>3+?ua!lvGs+M7E%J6 zvDOn$FK&z&pHj`OP%cBt8F5i>T8)T7t;<&8&|mTon+te3ZHem|CXYk_%@SAeZ1>5Y zpw;%qa7yzDVnE}8g?+K&Ww-&;HtA_G^j|t`B-7mRuivH?8Zx$1))Xc;Z(sYGq6gQF z{SMkD{&-4Z$(ub$!#DNr7!B63+_?2U2_@&M;l(b#Z&=Jt5y z4-5&5+PgQXtuNbE%zR4jF^N9dfuJoY)?^2|ItgeR1L~GQvH&3d&`|IJ-V5~A{UQ4i z-`d5AHjxRt%+~dZSMGYe5XS}-=;br3ZLJZkOw}^x*UfKny9(A0SA-7tD>j7=pC+jL z+0%MYDL6-oHz$>g3{6oDsRtByG7l-J zy{<_sKCpOg2(P%3u#}uCl)d~+WHU(|eyZVTx}hnq%!AYzP#k^Z0bin42JeE-V|*5U z=gzG?+VM_Y-%|bRdi^;m2Y(1?J9r+FXH;1W;H3yVciW$ID@L`xOT^t<=A9wM;?(xS z7{5S;EEXb$R4N_j870GE$#1f(*8tDNlzFJ39Kk zA)|_>H`vm&YJ`R_vcMHUs1fY6p0+~S%NIa;bSLKv~n~*ke(hc zy>Yu09h_lN*Zvw(6`>kq_~&I9aNIeeN$VH%_dRn;yWdBtWJ%Y6FYr`B{T>%f0jzdiD$_-B1!xX&ZyA)*FaS@BmwFIK57;05So$fO!y^z^YTjEYr7sMEx|~U6U7Mra7Vojr*!sJ70>yip zvGPZzbc2Jll+4oSamUSg4+%3Q$47khgsxE!7X(5FZm-(1&a?6@IebsG{lcYoWRH*k zs?2+NqKyMqhRjN=EtTAyU+YiV4FrN3c5b0->#yef7Ngr!rM6;}&&hzYYQpvX!VhR6FwdOCkU zycDc*PRxGzD^JL8zP8=WuXcQnxhs6w@kp0ZE9bI%o zliEbW=GE^Q4{+9lJELlh^Q$>rvG3SQ^KI>0Ny>p^vFlHSYOKd0wFsost6ybpy?Md??cx(_W%kmA-VOz4Y^(3`bbUpT zkq(~1Fwn_6B*>H$1sK9Wx_o{64n;GeS_(QUCO52TW`JPL`AgcT19UIp33@&;=Z2cj zYyAdNIvAiGz@a+>0RCM$_S3bw-uXQXudYif1BI7mclFf9}~D2Ac_x1)I2#;+d8G|&JTk(?1J7kgk4|K z3f-c3-1-HiwRgCmb5e+EaExfd3D{_(N4-t?aePm4RF--Jq;}fPl!aVCUj#>Lw1x3ouQ-BE#D+Sxu&hUR>S zvnspY(m=aaL29oc&{9UFSsmYe_W_UYZE1N#1`MN724aAP2elX$?z>YU2v9n|XH#qX z`6gGjS8_!KrSUg9^8w^9+H$#Qn+{kzeiUFe?e*FLkpJg2x9Ecx$>pva9V(p*9}=;2 zZEAZ%-%g}3tHnNcC{T;v3|q&hR@m7Wp1yf!G~%6tTeH?4#F2| zBy1P&Y5>4-d#6v?BU>!m^A){SKe zrn!Hfd7>%eox36bl}T#A9Qovl6be8EiEY-d)R)xI5emrUal<2{j%3zi;O+{8L1j_N z;q%ue9%RcOeug5no=3M3Ss!|$Ob89CEJ?fh(Kj+{dlX9g`C)vtC|=Hy53sMMkjk}o z&n8#fUAdTQ?IPPzlcTyLzZs)t?goMp!^%Ps0c=JWN;2(} z{ba}?GQ*1X>^+}SP->hQTA^P9)1TgZBrwSN33F(HL%NF)kvSz7gxk(-Yzmn_4!S$M zWwI@kWHY|qtS8^Sv4S%03vD9G#pv=h`6S*rVMtJ%aj7OwD;S>v8xRQr12Ceew8_=l zGg*jPi{5923t>-oB4fou51u9{d5DBLvp)r8)%AS|?-sB@r+bUK*d?L#E%Wow6XuU( zs%>L2;axXpN%p z39j}2e5usaG8B;ZXkT4@45Z%OBUxUt9BVS%};B>8v&apW^)`;d#4==h@gb`d2hYM6ww-O+O zk0gnHSY+`Hn3^>VUp^6gY_4f$G8MbwPs-!^`WUMW{fWEAduv?Q5(NbxgkL0bYPdb! zys0cF@SrLi4k$b+2lhG{^djaw!r-vvpiXV6-~bXs)T*#M7a1^Y#R)%?2c)gkWS9_E zDVqd;0003-Xs7*itlfEIS@`dxZyI3pu2QrCVmb+tf%ZPc;(yP5z70*bzjh>$#r=!N zsG8QA=0?6dMzDVPmjs7ORjMys|ut?P4L={@PN{MF0zDt;KTL!(Jx!+KNX(vkJspKdgd60;lIw@Foqo z%z2zHOL4*i7teosCWmr63-&Db$|zh;Zc^Z#{=p0RLh`@a&pu$2^fcD)aQk5eG#%E0xaCd%}vNf7L#yE@Mu^9Uq21gjHUtfcbCfC>!CQzlQgWY9#~?R_1g4`VgrD&$QY75gF#0t8rE1 zCEQy>*;!>5L`!k}M`ud<;k#&9NIeLiH8gC7v)!%wlW?}FcrZx4)w14(@a4qtfA<)ao-#h%nP$!Y`CxRcG*TK zkgIgbz>TO<^|evyKv3mh?C!lYBP$^W(L)3}X_Lh@zmnkOSN9iiY_ptKxKAICtjU0b zodqh%Mjxl44DgZ2{=-N5{mFp(4ZpK z9fv-g@P1poBTTdkm+N6-w*Rr>;eq<$D5L#MmIUtjhi))0pQ*tK#fQM0sV>F;S8Be) zT{!YfQoo?A3}JY(7k-D6c|nUWp0xS2!%qK;f>HHBx25)8&1&j7$|&BR?{W;0okA!Q z(*$~Gkg->cCC`w4s}cT9*?Wzz?uA-`YxQ$gq%5hQ>y#3A2i*<7?%;Ex=~`V&`0W+C zYNL4T$#GLiN#*8O13u@;&93C?+t$U_8{z?htky%*x z85Ml6$?$cOJhae(m}lt=G#HW{_>WJ1$A>A&mMC+cq zg{Z4(1OPp${~vmiu{>S=U`gEqG*x?_0M+O_@&@sR;CG78$=9?i9v1ka=f{jM zPjT9<>jNXCj==W{&$?l(X~H)+IQOR%Rp%QkD>*iU%EURl{qL)462Jf8B&(Ul7ok4& z+n+$V&m{$pwd+N&C77(pgO$6u0q9850{F>1VrBgvr!p-gNQ*EF{e55!ACpN90Ai+*3&-%q!+pTh6 zA;`j5Qac`__#>p`j{G!SY;w8cxk=;d%a6?5T)J_Q$=ymqL#;NZM4)R{0MFD7=`*nO zecbK>s;bcf9TZjp%gZ$n@ox7iq&Ff6G6pt5F6o?p>$IT>Vy>hY$z=kb%yfSltQ8$IW#NR(Cn?)uisrb&Ja_Uxj%6LDjp&*V+H! zTuMx7FKWw+E{$faTSCXJ7tR@L)lm7&=`7ws00;!jhnAu4S_$fp2aYI^kPk#27rxNh zfK13Sir8I7;D*)j##*8UqzSMnKyboN0T#bk>oI)KoRweXP^sA^+G~j+T39rb`g~%k zYipI#O{MpM%S>1FkR5>x$Ddg%MNKrW=2eXL!ZewkiawbObkH>G&`byp2I?ZZ9&3?< zazwE5PL-4HO=Z#mTzD# z^ktTsaBR>!(V8@3C-5oxGKw09{=g5Kj-1>aT!k106ms3eEqB*BP6$d>@?R+Y+?2}X zDQ$-SC&F-=F7E|!clyEcpZ8OR2v9^1oIf_Ac<~%xVvBByh$+=PmYue{2^ECf_sw8z zshV<)eRWN6Hr{kzo`}v%dcGl(0fXliiQ+P#+`aJ>)BX?gNl3=X*Ohdt2wPx}dq)8I zb!7euK)cDa5hzk=^_B%>JI4Pj+tJ89{O-H~efdF|75k6%IkLG0zq)AY2(NRe)H@I; zuH9rPIQzH5o&a_z^{uyp$SOFyCaj;0t8_ElW%q>vTp_$*Q!)7Qq?uP! ziejT9LA`ot7JW(j61C$n^-Vg3Kj7#(M=o`Y{`FW{PX#! zTqtE!`^A+0MOd&fOsV#Z6?K~H*blR;0@ zG<+*h=#bL}&?I|AdtK&p(q(L~C{L6?;Pbl(lXy*EBK1oBvb9o&g28%m%!66cqtbttfRW3=YGr62^j=< zP0LEs<^aSvj%0~ge};|9^}3ck|6>b!R<ZiLJ1~7*eX_2}Fa@xnNNesD9GMX^LJ&vh9V5iFEdn4u#irE* z4SC?ZQRF#y#LBcrk#Uz&O6*sQu+1=9AnhIsV3rN9I#qh7f^e zBK4S0yVnrcns>>-Gsvt=ltgrAy&PJc!=a%R|Mc3(Mec|%TyMU`P_L{&>9h`;cHo&b z72AB?9^M9ZXpm^5BTLWB-Uf9aU%f?yTywinC&d38Q~1V(qKyw~zyT^`tdz-42is-D z=?B}cW;B8IWZYN&ybrQ@<0lrIHWzJ<2n=F41X8?gP>Zs^Tf4k47FpSpzXlUrm?;YnazW%M< z{pPG>R8&9^78_u27ejbf)xzA5MeBy==hH^WGSAC>o2d}(UW);3-vxTgKm6oOR%$nB z&POzz{8&G6pE~NBMm$DyeaJhEp$lVU_^d?X0>i%q0ESd>^L4dY=CA;=u`pubcF8$H zXX(f!;@aSZYjuww;HprG@9m~wtx1-n9H*4`G^LB}v0&UZ$I4*?hSivVqtWO3wi}i(pp2}pWfe+{J_xWJTlNIO{sxc$ z{eb0XQt4{*%AWLzMxoT}ZEB%0G&8b6GODZVD5_n`W&#tq@o|cQKY5y+qdGpw<)Nfx zf!ekp>hTzk1**LPkQ!vM`o(E>hNt_y7WYae9SZq6Al~x6sDe2*eDzty7GpGJN}jQf znxBYKG%f2Fo$0m_h;CR}+DsAZhaE~X0MHFUNc#%Vdu(Zi0mA8wSMT*+P@0Gbem?9x zF(IKePTzM*F_C=*NJRGz4t6HLwy41yK0S5ZN7Uj1X!Ujg$&D%z87RN?_x`qv*V{*3 zJr;e*m=iSA-``$g+S6H$ODQrVnGN)PLywmwK$}jhofr}ZkL}uqEsTiHVSL605s8(* zch<<_!xwwgwJ{5+{PwFOSyFPUs4fv6z)lCYhpK?#a})`HLs&=f<_WWIJ;)oj9&@GfM%7_PAW{EAM`#*xR468DJKll z2g4za9w%TL(_f0Y!jhc=3Z9T_%s%JSVfivW-Vk}7i>=@oORDu-!&X?|t{-t=Y9f%5#qK0W!qE z7T=z^haLw4I1hHFZ_H<6u#2nChX`DMIHdAR;22M30?dwo?l!qr*>DaAQpIFIDZOJZ zRiCOnyr1fHvuu06=|z&5>RY2Gn5n_Kc6w`C+hOfJME9uJ_C{WwghS>9Zfjd_&|moLmGY|a#vX^S66t7JnpS4s_Ie5j(+6{ zA~LA6ti9|;z4jX0%6)BG00Xujm@YtG_Nr>7Q2{8$Ce$*o0VS)C% zIjUk>J!%}QLn>X1?l&5zfmZR6F2Ql$6R1A~da+-+;E2NTb^y9LS|rM}9f+M);Wd7p z!RxPbf~?a2tHxeJ*U#B|N%RQATJRL?r-2S9h3PKIsZ1Wc#M__+O0srHbU4H{k}}vJ z1gM~v;bHJ$AN0@3y6%|qOk21}g^0`zc?}XPJ)oRA6kwJOgoGwz2!|Rvh*UwWXb5MI z_Z4l#%MImKYUzC`vR9bM?}`z5hD5-b54TX4JW(LOV6EAFLo=jkhSO9G(*X`^0E~;C z@>X~T;??@15X@V=7g`27Q)L6$_uy9(vL*vcZJPjm=`z&AQdn-ZtQDK zn=74m1t?M0hpM(DV0db}5A;0?HgEFOdU=^}CRz=Us{d(pJRB#m;75S=h)?##h+|J& z5YJHBa2>9HGYC(`nZ0NDs)L5oHyvj-yC(kmd(PMHZSLnLCL#SJ$Yfp^7&qfQ04f>3 zFTB9}2r$s`hE)Q6LPJonE{L;(--FO#S|g~MGN?m8z%n$a>9~IH)4L^PmAi9-ok++9 zYCPTnL0`sxY!sv(d-n5o$Kt6`xs+ii%xwRDlRM7p`=m~1p`rWaY#`;M21hQLqwNSg z2CFQ}1Wn*TXcyYChFrtC;w1Iaq27&Sa@-wJ=!uT&S_Y|oHFh013vt6O_(ARIH((XB z&}d@UY}hl#k}p=TZO9g0lhX?mdJ<8AJWWSm)kv+N<{{aJomAIIUUwoX!4zQLJnzQQ zW$DZnJy4JwBHYH88<;Hn{&}VhbzI;rRNqxEQEdk?rZOsMNH8Ic_6)iVKVnr!aAJ_~r z0NA2!1_oRqy&r4zf#bd>Lrr8RG@ODb3q3AE+ZNG*tvfKgA!xer~2yu zP`2~c1RheDORChAE7t?nHa3x5ZNx43owl?T0Hv;C7N=e{g7KO07!8mpw9!p+K3)$j zgNi6wMgy`|yR9vRm9=GCg94M_YUuX7mKv}x2Fo0gc%J=pjR6C1`1*x_1}vQ4m^yow znO|Mz8I#~!|G2=bb!EBuJuvOGaf=OS0)riDoV<%<=PK#D?VHR5` z>iT(Qp8YFK#^COoqI}P{mO;+tTZk=l3gm99JRh}hA1h9v-oY9i7o!1sD{1p z*VcH^sYCK)N{$F9hFHrTk=UJ9o_-FX>e#_;tWK3S4zz+UqQ;X2r{H&t3qZ$}M-k|3 zlsAp8xST?!ngqB`+sI2ul?wt}7<|t&yZzZK61~3Nb-TVwt(fwx*$(mD0Ha5m02Sy^ zA&7UVp?hqKz1Btp7H?eY)sptFub^=n9YrL?Q=Z_%NA+lhX4US*#}anD~S2*t)mq-mpQrJ85dk%6@=-6WiJ@_{*tFMUzqd& z#I>0=PqNm}0l>O7EkTr587^gfjM+c~C}r(RH8JH?DNqWU0DBvy@EQsDk;IE|u{7)f z$}2cUNqC&m8l{^tLXpxl2#$X>x4 zno4R7tAJM|vQ_NCt=r6XY<>d=B>$x8z>U1ybGLOaI()?Qe?%TLdS94!8`bG|D*&|E`hVCEiwS&{VRq!Z5AjhC^j1&MOyVbCpy2s_bI zpmb6?!Yi%-LTfT8STi36wK&BQzp&76{uoP0y3&;p6tT8+F{!r3btoyb1y}uc@ZEZq zd+J3rbO|Uo8f}_3oe!okOD)eyUr)19;P!l`-+glB8Q~R#en%v1X@dXHJ2+pbLQ*&M z7{+b=l15na#{$P**WtUG(42^a^u}k6bJ9x=8udYu5ThJFalz+_?k{*yjH51S$Q7IL zkYI$8Z=Oyi>~tl0w!Fd5Z|Lv5&jRKZ8N`miX*fObtzytw8DqZmvq4O>=FkwZZT#4) zYH%l=es9?M*NEae2s{M~WPFGQo|Y08VB{2Z!KBoF9y`gt(s%i%F2N(y zphq-2wBNy7V49y8i=ykMtEezL%Bw2X?1GLAk9VpLD6-Qfz8E*XQ7A||?l)%iRqxR^ z^oD6`Ozy#*&Q&sFq)nQD7pU1XBI>1el;)$*XS+NF4Ki*qgtN&2FVFtz_O5J724tb zk{TcD3ZVBZ(gpiUJ2DT{l%&;~CF~yGi0Ih9${mIS0I|~LRy5DoChx0&<1V>>IT~A~wi$qFbEM6F zf)n*!uCIujUTGe7Vkd)bY>usR1_gHv1I;#AM*;-eMqzSJk;f7C-vZaUBT9ghC47u2 zXZt$#*K(Y(9_$O-m)r7>O3{u{nP?`lP*Ox3j={>ernNnkg^@OcTXcPb+CY~I3!twZ zlfsN_L4yuH29cO<`@#G^)BxwJi^J+GapXO7{X3g12Q(1_QRust{EX$@GqMfp;0R|m zU3x*r{L&fBF!R<_Sm?l6@9 zVV9jpZ1n%*LpEnA|F=BuznVu;JxbgwW%mg|BJzxn3ummoY+lW<5zJ^FMgY-#hz3un zKbET<=OXaj-OBm9&vq4qBa!RnLSZoHRq*>{wULQH+xet|F|~BfOlxt# zl|_1qE^EKpO!w7CvIyzqAX}Rprj6c{9i{HV%<{ktSY{+68P{0bFE|Bx^l)F*zkFCL zbHUjx0ZMw;f(X9nIy>*_p{gF&jbZ|W=I3Y}z)p)wENXq}Ue4N)4nX=C_MbmitC-0$ z{UA2#H-99)p= zlT{Y@q8f;=_Q7OAy+jGNGoVwqnBT0X!q;<@_d-HZqdwB@R`WG@JJ&A|GdMNLrOz+G za-I6ggYr77lt44rhg7`yPSFj}spqm~ldRt`x8}zN$^VyGhVQ@6y6jICUnxEYnOivL zkOrj^6D_#7Pq{)u3_@ockvID&UXm!ceFy7Ha{O#a_; zQeWZuBJE-vHozVoOVx`ol@1DpCUx5dR`d!ti@d@?{*IZnkaMTzEF_ zm7#umzU_C4|ld4KyyVB>%zU2 zBLTX85X9unujP(Xv`8Ma*VkI&R>T>S&%GX7B)9_>!xq)4lfGhcR{!b&tib?Lu>G?| z7d`PpEFSuee&;ehuxJ^ze9bk%Z^0RLARL<13R?Fv1Q)j9^i4RM;5~vj9tZ#snPyCe zAO;2oOj9!AZ(K_S5TW7t_o3;6jQ%T*7}MWR5b!B)#_1#Ktl>M#TMkOj_y3~K=*;oU zAb3yDZ<#@1y*wX*!S#|nVGj^jI!dHp-G3}9dL$}h>>`OMx&Wg_6rLk|o5(-tp62CU zuEC_3S-*FJfI$in;AuR5d!~a!sQd^g;PNhRHPI?!$X_&F^&NUdJ!;w#5n1N|RXA$i zlmaP-G`n$~J`IxLGHw5-s59}0a{uCZ#=g&tB#F!<5s|WHxlDt>Z7g95nJh^p+Z{xf zVTKu%Z9;}pmQ0F>F3BKSLRW~&8XC(jdl<}(-*>vp@B0@#ujhN7^PKZKpY#5xdGvhD z1S*98m(aINK0CV``~n8R?K#{UnyQ3y0gmso z|A4l>QgC(z|8=@3;mb9ow*?A$8CJ>j!4JEw#rKGJaxVO0h+hUuRO7Xuf0jbHa7(>{ zy54BgyTdr_Xt@v{WVYbw+Fv&CM&WpbYV+O!GxNz9rFiKrHf=kMiu*Z%`cI?WVk-9gvREWzeN>tiF-}blMf6O`{;) zG4j_;Fy55*J4V?Gx>I-(=nvsQfB0WYJxM&|ZlJUFEQV4AC`Nd_A$SMhKq3$&BL7WC zg~dXQjP(EG>>_k%E5w*{FTzp zd(WQx_VV9JavTlhHwna+-+7LD=$sYB!vyVoHZ8tHF?AY+Js*MwaG zomCe^rr>(r8%PM;R3#&_GOk0wfIoYKKuIhNDu1G=B;!iML>4`iO3;5vqjG9)a-%46 zT1i*Y3b?bZ98}(>rKMqF@QKiJ99>X{?Vp| z$>(C%#=MGSJb=2~#YTW?2}ol_HFZ*_OnbSd6Z~}zpSp9gU&z;J<%JpWd~mY?A9H#3 z9i;_TNisF+V>J38_{;>KSQH8|(LFjD&wFE>0S~NaT z0rl=c-1E7b`=$q%XG=Oh_$+lk8Vxf;E>Xr^zBvrz7c=Ur3CzT$*vYyf&zK9|B7 zUpf93J#xrlckf>H?y%LUBNGYO{^)ptI8_T+1H};z$Ae|LA(8xdZk*{|Ew!8k7)1#uTIp%w~DvN z$HnyKNE&RTb-JSO>Oo#S0?wf06`wULh)~h3-YO&obK67o7!%LspaXYo2>~ z7egK|c`CfO)6q;6=+ruPW^E^M@z<xA&7hqu z>>D9=W;njL1e>oB3X$YOnS@_QCEGu$v* zSzfQ%qD6gH^|tMPsoUd*n)rP5OD!bg((+Y*#J7q)dj8VrGWmusSmk$8@Fhu^R*9P{ zN9>9lkW#h%Jx(Hxc>I^&R06w5@7~YtS+<$tuU__1I9g7wKjxd}i!YpU$t=P)jG1Kk zeD<2yKAjXurt{LPdd zzJ2Df`OERj_>1S;BO6oCcXiqaSZ%;jXcfGM*O$3NrR)3L-l}Iyk)AYZSTotCv2uHN zaU<{`8aj` zMh*a^9!w6pKwt8Cf*}6|CrM}r$ht&JnXLvVxIeDCvEnOV*mA@H>L89AD#=RCOrj@# ztpBzNTPzyHR|b8?gdljAszyRjGZs`W^bEBbc)Q0c?E1+q1;_8=Ci|~8UFqAUN8pp$ zb5Gx*_~R+6UP1TZ>9M8g-TMU_YP(qUW7QANm!bTb#osJ{kouf!;=H_MAI`k-GR0^T z1+}e8_szxYUivP88(WLa@RsYFlMrPG(%dk{%fCH(>+7hvR{ol>TUn|u#V?domljY9 zzm#95XrhL2gyp%&n)&B$#Z#E($_0b$7Y?=6i@MpdDG$GSW+NjU(`8nOA?m)CYCZHo zm{A4f9+4hcm!$GMHbI7SJ2_IuA+aP*_s_jAS9av=2WO&PuDuI8aQKggw&oukB^d`X znW@Q7=)HR`oJ%Omtb}p+Ta;bRJMZ6>Dfra35y8)h9-(wD9B;b@TVBS8i#MY}rZ_6D z?+mBb6Jw&#jhW^rHVexaCuWng+l`FNKd&b1>xquj9QhH(X?A+EvTa>n_uhwd2p8T& zZ9RKTz*H?(1nuZ_kav5XJz4J|9ArXB%^5Ot(e@%!*hWyaL>n+a#0eICptVJ*9MIk7 z!D8yW_WemFF-;rL?#qi)<=qDq`unY>&)Es)s08Q0`UFx*0m+&X&YRb}TYt#DA574W z$|r+OSdF4RF;3kvQnrKzHIYj4Tcf)o_wQA7Odc$pcg_%sR}_k`m`(GE{iFGZVe%oW zwk5e>ixJ>1rn3F8_U>ic8wb+Xx9m~6>#CzE^w^OvFLKth4}vgxk6Gh literal 0 HcmV?d00001 diff --git a/content/NAVPatterns/1-patterns/copy-document/index.md b/content/NAVPatterns/1-patterns/copy-document/index.md index 3c24d96b..d134de6c 100644 --- a/content/NAVPatterns/1-patterns/copy-document/index.md +++ b/content/NAVPatterns/1-patterns/copy-document/index.md @@ -50,6 +50,7 @@ The Copy Document pattern involves the following entities: * Source Document No. * Include Header (optional) * Recalculate Lines (optional) + Example: REP901, Copy Assembly Document [![ ][image0]][anchor0] @@ -103,16 +104,16 @@ In the standard version of Microsoft Dynamics NAV, the Copy Document functionali -[anchor0]: /cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-42/clip_5F00_image002.gif -[anchor1]: /cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-42/clip_5F00_image004.gif +[anchor0]: clip_image002.gif-750x0.png +[anchor1]: clip_image004.gif-750x0.png [anchor2]: clip_5F00_image006.jpg [anchor3]: clip_5F00_image008.jpg [anchor4]: clip_5F00_image010.jpg [anchor5]: https://www.youtube.com/watch?v=aTiwroXwW_0&list=PLhZ3P-LY7CqmVszuvtJLujFyHpsVN0U_w&index=17 -[image0]: /resized-image/__size/750x0/__key/communityserver-wikis-components-files/00-00-00-00-42/clip_5F00_image002.gif -[image1]: /resized-image/__size/750x0/__key/communityserver-wikis-components-files/00-00-00-00-42/clip_5F00_image004.gif +[image0]: clip_image002.gif-750x0.png +[image1]: clip_image004.gif-750x0.png [image2]: clip_5F00_image006.jpg [image3]: clip_5F00_image008.jpg [image4]: clip_5F00_image010.jpg diff --git a/content/NAVPatterns/1-patterns/cross-session-events/index.md b/content/NAVPatterns/1-patterns/cross-session-events/index.md index 8640a7ef..61325c2f 100644 --- a/content/NAVPatterns/1-patterns/cross-session-events/index.md +++ b/content/NAVPatterns/1-patterns/cross-session-events/index.md @@ -2,22 +2,22 @@ title = "Cross Session Events" weight = 430 +++ -#### _By Nikolai L'Estrange, from TVision Technology Ltd. in the UK__ -_ -### Abstract +_By Nikolai L'Estrange, from TVision Technology Ltd. in the UK_ + +## Abstract Track things that happen in other NAV Sessions. [![ ][image0]][anchor0] -### Problem +## Problem In Microsoft Dynamics NAV you can fire a function whenever something changes within your session (and from NAV 2016 this is even easier with the new Event model), however there is not an easy way to know what is happening in other sessions. Sometimes you would like to know what has happened since your last read, without reading everything again, e.g. when you need to pass a large dataset to a Control Add-in. A common way of handling this with Ledger Tables is to make note of the last record you read, and continuously poll to see if there are any new records. However this is restricted to strictly sequentially entered tables. -### Solution +## Solution There is a common pattern in many other languages called [Publish-Subscribe][anchor1] (or PubSub) that solves the same issue. We can implement the same pattern in NAV using a Table as a message queue platform and polling this table. We have named this pattern "Cross Session Events" in order to avoid confusion with the standard NAV Events which use the terms Publisher and Subscriber, and to try and describe more accurately when you would need this pattern. @@ -28,25 +28,26 @@ The pattern has four components: * **Message Broker**: This distributes all messages sent in to all Subscribers that have expressed an interest (i.e. the message is within their filters). * **Message Queue**: To hold the messages for each Subscriber. Generally once these messages are read, they are deleted. -### Example +## Example An example of this would be when we have multiple users looking at the same set of data and we want their screens to update in "real time" whenever one of them makes a change, without doing a full refresh. We will use the [Observer pattern][anchor2] to capture the change (act as the Publisher) and then create a Table to hold Subscribers and Filters (Change Observer), a Table to be the Message Queue (Change Notification), and a Codeunit to be the Message Broker and help with the polling (ObserverMgt). Below are the table definitions: - - **Change Observer: - **"Table ID" Integer "Observable Table" +```al + //Change Observer: + //"Table ID" Integer "Observable Table" "Server ID" Integer "Session ID" Integer - **Change Notification: - **"Table ID" Integer "Observable Table" + //Change Notification: + //"Table ID" Integer "Observable Table" "Server ID" Integer "Session ID" Integer "Entry No." Integer AutoIncrement "Type of Change" Option Insert,Modify,Delete,Rename "Record ID" RecordID ... (other fields to indicate what has changed) +``` The Change Observer table identifies the Subscriber using Server ID and Session ID, and then in this example there is only one filter, which is the Table ID we want to listen to any changes. In this case all three fields are in the Primary Key. @@ -56,83 +57,93 @@ The Change Notification table then has the same three fields plus an Entry No. a _**Note:** _Other examples of the pattern could have very different fields to identify the Subscriber, Filters and then whatever fields needed for content of the Message. Our Message Broker Codeunit will also serve as a central place to create Subscribers (Listen and StopListening functions) and a place to Poll for Messages. Note that the Poll function deletes the Messages as it reads them. +```al + //Listen(TableID : Integer)** + WITH Observer DO BEGIN + "Table ID" := TableID; + "Server ID" := SERVICEINSTANCEID; + "Session ID" := SESSIONID; + INSERT(TRUE); + COMMIT; + END; - **Listen(TableID : Integer)** + //StopListening(TableID : Integer) WITH Observer DO BEGIN - "Table ID" := TableID; - "Server ID" := SERVICEINSTANCEID; - "Session ID" := SESSIONID; - INSERT(TRUE); - COMMIT; + RESET; + SETRANGE("Server ID",SERVICEINSTANCEID); + SETRANGE("Session ID",SESSIONID); + SETRANGE("Table ID",TableID); + DELETEALL(TRUE); + COMMIT; END; - **StopListening(TableID : Integer) - **WITH Observer DO BEGIN - RESET; - SETRANGE("Server ID",SERVICEINSTANCEID); - SETRANGE("Session ID",SESSIONID); - SETRANGE("Table ID",TableID); - DELETEALL(TRUE); - COMMIT; - END; - **NotifyAll(ChangeNotification : Record "Change Notification")** + + //NotifyAll(ChangeNotification : Record "Change Notification")** WITH Observer DO BEGIN - RESET; - SETRANGE("Table ID",ChangeNotification."Table ID"); - IF FINDSET THEN REPEAT - Notify(Observer,ChangeNotification); - UNTIL NEXT = 0; + RESET; + SETRANGE("Table ID",ChangeNotification."Table ID"); + IF FINDSET THEN REPEAT + Notify(Observer,ChangeNotification); + UNTIL NEXT = 0; END; - **Notify(Observer : Record "Change Observer";ChangeNotification : Record "Change Notification")** + + //Notify(Observer : Record "Change Observer";ChangeNotification : Record "Change Notification")** WITH ChangeNotification DO BEGIN - "Server ID" := Observer."Server ID"; - "Session ID" := Observer."Session ID"; - "Entry No." := 0; - INSERT; + "Server ID" := Observer."Server ID"; + "Session ID" := Observer."Session ID"; + "Entry No." := 0; + INSERT; END; - **Poll(TableID : Integer;VAR TempChangeNotification : TEMPORARY Record "Change Notification")** + + //Poll(TableID : Integer;VAR TempChangeNotification : TEMPORARY Record "Change Notification")** WITH ChangeNotification DO BEGIN - TempChangeNotification.RESET; - TempChangeNotification.DELETEALL; - RESET; - SETRANGE("Table ID",TableID); - SETRANGE("Server ID",SERVICEINSTANCEID); - SETRANGE("Session ID",SESSIONID); - IF FINDSET THEN REPEAT - TempChangeNotification := ChangeNotification; - TempChangeNotification.INSERT; - MARK(TRUE); - UNTIL NEXT = 0; - MARKEDONLY(TRUE); - DELETEALL; + TempChangeNotification.RESET; + TempChangeNotification.DELETEALL; + RESET; + SETRANGE("Table ID",TableID); + SETRANGE("Server ID",SERVICEINSTANCEID); + SETRANGE("Session ID",SESSIONID); + IF FINDSET THEN REPEAT + TempChangeNotification := ChangeNotification; + TempChangeNotification.INSERT; + MARK(TRUE); + UNTIL NEXT = 0; + MARKEDONLY(TRUE); + DELETEALL; END; +``` **__**The final part of this example is an object that calls the functions above. In this example we will use a Page with a PingPong Timer Control to do the polling in (almost) real time. These are the functions on the page: - **OnQueryClosePage(CloseAction : Action None) : Boolean** +```al + //OnQueryClosePage(CloseAction : Action None) : Boolean** ObserverMgt.StopListening(DATABASE::"NAV Whiteboard Booking"); - **Timer::AddInReady()** + + //Timer::AddInReady()** IF ObserverMgt.Listen(DATABASE::"NAV Whiteboard Booking") THEN CurrPage.Timer.Ping(1000); - **Timer::Pong()** + + //Timer::Pong()** CallUpdate; CurrPage.Timer.Ping(1000); - **LOCAL CallUpdate()** + + //LOCAL CallUpdate()** ObserverMgt.Poll(DATABASE::"NAV Whiteboard Booking",TempChangeNotification); WITH TempChangeNotification DO BEGIN - IF FINDSET THEN REPEAT - IF "Type of Change" = "Type of Change"::Delete THEN BEGIN - ... - END ELSE IF RecRef.GET("Record ID") THEN BEGIN - ... - END; - UNTIL NEXT = 0; + IF FINDSET THEN REPEAT + IF "Type of Change" = "Type of Change"::Delete THEN BEGIN + ... + END ELSE IF RecRef.GET("Record ID") THEN BEGIN + ... + END; + UNTIL NEXT = 0; END; +``` -### Consequences +## Consequences The PingPong control is only available on the Windows Client, so if you want to use another client you will need to use another solution to Poll for Messages. Therefore this pattern is not always going to be "real time". -### Related Topics +## Related Topics This pattern was originally described in the following blog: diff --git a/content/NAVPatterns/1-patterns/currently-active-record/index.md b/content/NAVPatterns/1-patterns/currently-active-record/index.md index 107879f7..456b20ed 100644 --- a/content/NAVPatterns/1-patterns/currently-active-record/index.md +++ b/content/NAVPatterns/1-patterns/currently-active-record/index.md @@ -13,12 +13,12 @@ A side effect is reduced and simplified code, increased performance and a more s There is no way in NAV to get a set of records from the database, which all have the newest starting date, that is less than or equal to today's date. Having an ending date on the record will help, but it introduces some other problems. In Dynamics NAV this is normally done by reading too many records, either at the SQL Server level or in the middle tier and throw away the ones you do not need. That is a waste of resources: -< --\[if supportLists\]--\>\* < --\[endif\]--\>The SQL Server is reading too many records +* The SQL Server is reading too many records -< --\[if supportLists\]--\>\* < --\[endif\]--\>There would be too much data sent over the network. +* There would be too much data sent over the network. (If the SQL Server and the NAV Service tier are on different machines.) -< --\[if supportLists\]--\>\* < --\[endif\]--\>The NAV Service Tier receives and throws away data. +* The NAV Service Tier receives and throws away data. ### Ending Date Problem @@ -38,99 +38,85 @@ Use the pattern whenever you read a set of data containing a Starting Date and y In the following example, we have a fictive table containing: Code, Starting Date and Price. The Primary Key consist of Code, Starting Date. The Database is the Demo Database, and the Company is Cronus. -< --\[if supportLineBreakNewLine\]--\>[![ ][image0]][anchor0] -< --\[endif\]--\> +[![ ][image0]][anchor0] -### 1\. Create the view + +### 1. Create the view You will need to create the view before you define the Table Object. You will need to create a view for every company in the database. - -CREATE VIEW \[dbo\].\[CRONUS$PriceView\] -AS -SELECT \[Code\], \[Starting Date\], \[Price\] -FROM dbo.\[CRONUS$Price\] AS A -WHERE \[Starting Date\] = -(SELECT MAX(\[Starting Date\]) -FROM dbo.\[CRONUS$Price\] AS B -WHERE B.\[Code\] = A.\[Code\] AND -B.\[Starting Date\] <= GETDATE()) +```sql + CREATE VIEW [dbo].[CRONUS$PriceView] + AS + SELECT [Code], [Starting Date], [Price] + FROM dbo.[CRONUS$Price] AS A + WHERE [Starting Date] = + (SELECT MAX([Starting Date]) + FROM dbo.[CRONUS$Price] AS B + WHERE B.[Code] = A.[Code] AND + B.[Starting Date] <= GETDATE()) +``` Test the view to ensure that you get the correct result. It is much easier to test now than later. -### 2\. Create the Table object +### 2. Create the Table object Remember to set the link table property before you save it. -### 3\. Implement the code +### 3. Implement the code IF PriceView.FINDSET THEN // You have them -### 4\. Create a deployment codeunit +### 4. Create a deployment codeunit Create a SQL Deployment codeunit to manage your views. The codeunit needs to Create or Alter the views for all companies. -To see an example of how to talk to SQL Server using .NET see Waldo's blog here: +To see an example of how to talk to SQL Server using .NET see waldo's blog here: [http://dynamicsuser.net/blogs/waldo/archive/2011/07/19/net-interop-calling-stored-procedures-on-sql-server-example-1.aspx][anchor1] -< --\[if supportLineBreakNewLine\]--\> -< --\[endif\]--\> -### 5\. Deployment +### 5. Deployment You need to deploy in three steps: -< --\[if supportLists\]--\>1\. < --\[endif\]--\>Delete the table objects referencing the views - -< --\[if supportLists\]--\>2\. < --\[endif\]--\>Deploy and run the deployment codeunit - -< --\[if supportLists\]--\>3\. < --\[endif\]--\>Deploy the new table objects that reference the views +1. Delete the table objects referencing the views +2. Deploy and run the deployment codeunit +3. Deploy the new table objects that reference the views ### General precaution If you later want to change the view, you need to follow these rules: -< --\[if supportLists\]--\>\* < --\[endif\]--\>If you add columns, you need to add them to the view first and then add them to the Table Object. - -< --\[if supportLists\]--\>\* < --\[endif\]--\>If you want to remove columns from the view, you need to delete the Table Object, then change the view and last recreate the Table Object without the new columns. +\* If you add columns, you need to add them to the view first and then add them to the Table Object. +\* If you want to remove columns from the view, you need to delete the Table Object, then change the view and last recreate the Table Object without the new columns. ### Code example that accomplish the same but without using the pattern This following example will give you the same result but the performance will deteriorate as time goes by and you get more and more old data. - +```al Price.SETCURRENTKEY(Code,"Starting Date"); - Price.SETFILTER("Starting Date",'..%1', TODAY - IF Price.FINDSET THEN BEGIN -REPEAT - -Price.SETRANGE(Code, Price.Code); - -Price.FINDLAST; - -Price.SETRANGE(Code); - -PriceTemp := Price; - -PriceTemp.INSERT; - -UNTIL Price.NEXT = 0; - + REPEAT + Price.SETRANGE(Code, Price.Code); + Price.FINDLAST; + Price.SETRANGE(Code); + PriceTemp := Price; + PriceTemp.INSERT; + UNTIL Price.NEXT = 0; END; // PriceTemp will contain the Prices +``` ### Comparison The above NAV example is for a very simple date controlled solution and is provided to give an idea of what the pattern changes seen from a NAV development point of view. But consider the following: -< --\[if supportLists\]--\>\* < --\[endif\]--\>The table has a more complex key. +* The table has a more complex key. This will require setting and clearing more filters - -< --\[if supportLists\]--\>\* < --\[endif\]--\>You need to read from more than one table. +* You need to read from more than one table. Say you need to apply discount from a separate table. This may give several lines in PriceTemp. - -< --\[if supportLists\]--\>\* < --\[endif\]--\>If the Code field is controlled by a Type field. +* If the Code field is controlled by a Type field. The Code field reference keys in different tables All three examples above can be implemented directly in the view. By using the pattern, it will still only require a single line of NAV code. diff --git a/content/NAVPatterns/1-patterns/data-migration-facade/index.md b/content/NAVPatterns/1-patterns/data-migration-facade/index.md index 636c617e..03a788f1 100644 --- a/content/NAVPatterns/1-patterns/data-migration-facade/index.md +++ b/content/NAVPatterns/1-patterns/data-migration-facade/index.md @@ -8,15 +8,15 @@ _By David Bastide and Soumya Dutta at Microsoft Development Center Copenhagen_ [![ ][image0]][anchor0] -## **Context:** +## Context: This pattern is describing how you can migrate data using the Data Migration Façade. -## **Problem:** +## Problem: Writing migration code from an external source, such as a product from a competitor, can be time consuming, as you need to tackle the problems of what to migrate, in which order, exception handling... and can result in code that is fragile due to deep dependencies on the NAV data model (high coupling). Any change to the NAV data model can easily break this code. **** -## **Solution:** +## Solution: The idea of the Data Migration Façade is to provide an API that creates and updates master data and related entities (including transactions) without referencing NAV tables. @@ -39,7 +39,7 @@ The façade framework has the following components: * * **Data Migration Overview** (page 1799) -## **Usage:** +## Usage: There are the following use cases: @@ -55,7 +55,7 @@ This deletes existing status lines for migrating Items for 'My Migration Type', **"Data Migration Façade".StartMigration('My Migration Type',false) ** This starts the migration. False means this is not a retry. A re-try is when you migrate one or more records from the **Show Errors** page, which is described later in this document. Retry = true is only used by the **Show Errors** page and should not be used from extensions. -### **Usage without staging tables:** +### Usage without staging tables: The overall workflow is: @@ -75,58 +75,58 @@ The overall workflow is: _Figure 1: sequence diagram of the data migration without staging tables _ The following example shows how to migrate items without staging tables: - +```al trigger OnRun(); var - ItemDataMigrationFacade: Codeunit "Item Data Migration Facade"; - ItemNumber: Integer; - ItemJson: Text; + ItemDataMigrationFacade: Codeunit "Item Data Migration Facade"; + ItemNumber: Integer; + ItemJson: Text; begin - // loop on items retrieved through a web service for example - for ItemNumber := 1 to ExternalWebService.GetItemCount do begin - ExternalWebService.GetItem(ItemNumber,ItemJson); - // create item using the facade - if not ItemDataMigrationFacade.CreateItemIfNeeded(ItemJson.ItemNumber,ItemJson.ItemName1, - ItemJson.ItemName2,ConvertItemType(ItemJson.ItemType)) then - exit; // item already exists - // set some fields using the facade - ItemDataMigrationFacade.SetVendorItemNo(ItemJson.VendItemNumber); - ItemDataMigrationFacade.SetUnitVolume(ItemJson.Volume); - ItemDataMigrationFacade.SetAlternativeItemNo(ItemJson.AltItemNumber); - if ItemJson.PrimaryVendor <\> '' then - ItemDataMigrationFacade.SetVendorNo(ItemJson.PrimaryVendor); - // migrate dependencies - MigrateItemUnitOfMeasure(ItemDataMigrationFacade,ItemJson); - // modify the item (+run trigger) to save the changes made by setters - ItemDataMigrationFacade.ModifyItem(true); - // update the status in the migration dashboard - DataMigrationStatusFacade.IncrementMigratedRecordCount('My Migration Type', - Database::Item,1); - end; + // loop on items retrieved through a web service for example + for ItemNumber := 1 to ExternalWebService.GetItemCount do begin + ExternalWebService.GetItem(ItemNumber,ItemJson); + // create item using the facade + if not ItemDataMigrationFacade.CreateItemIfNeeded(ItemJson.ItemNumber,ItemJson.ItemName1, + ItemJson.ItemName2,ConvertItemType(ItemJson.ItemType)) then + exit; // item already exists + // set some fields using the facade + ItemDataMigrationFacade.SetVendorItemNo(ItemJson.VendItemNumber); + ItemDataMigrationFacade.SetUnitVolume(ItemJson.Volume); + ItemDataMigrationFacade.SetAlternativeItemNo(ItemJson.AltItemNumber); + if ItemJson.PrimaryVendor <\> '' then + ItemDataMigrationFacade.SetVendorNo(ItemJson.PrimaryVendor); + // migrate dependencies + MigrateItemUnitOfMeasure(ItemDataMigrationFacade,ItemJson); + // modify the item (+run trigger) to save the changes made by setters + ItemDataMigrationFacade.ModifyItem(true); + // update the status in the migration dashboard + DataMigrationStatusFacade.IncrementMigratedRecordCount('My Migration Type', + Database::Item,1); + end; + end; + procedure MigrateItemUnitOfMeasure(ItemDataMigrationFacade : Codeunit "Item Data Migration Facade"; + ItemJson : Text); + var + MyUnitCodeStagingTable: Record "My Unit Code Staging Table"; + DataMigrationStatusFacade: Codeunit "Data Migration Status Facade"; + DescriptionToSet: Text\[10\]; + UnitCodeJson: Text; + begin + if ItemJson.UnitCode = '' then + // log an error using the Data migration façade + DataMigrationStatusFacade.RegisterErrorNoStagingTablesCase( + 'My Migration Type',Database::Item,'Unit of measure is empty.'); + if ExternalWebService.GetUnitCode(ItemJson.UnitCode,UnitCodeJson) then + DescriptionToSet := UnitCodeJson.Description; + ItemDataMigrationFacade.CreateUnitOfMeasureIfNeeded(ItemJson.UnitCode, DescriptionToSet); + // set the unit of measure on the item + ItemDataMigrationFacade.SetBaseUnitOfMeasure(ItemJson.UnitCode); end; - procedure MigrateItemUnitOfMeasure(ItemDataMigrationFacade : Codeunit "Item Data Migration Facade"; - ItemJson : Text); - var - MyUnitCodeStagingTable: Record "My Unit Code Staging Table"; - DataMigrationStatusFacade: Codeunit "Data Migration Status Facade"; - DescriptionToSet: Text\[10\]; - UnitCodeJson: Text; - begin - if ItemJson.UnitCode = '' then - // log an error using the Data migration façade - DataMigrationStatusFacade.RegisterErrorNoStagingTablesCase( - 'My Migration Type',Database::Item,'Unit of measure is empty.'); - if ExternalWebService.GetUnitCode(ItemJson.UnitCode,UnitCodeJson) then - DescriptionToSet := UnitCodeJson.Description; - ItemDataMigrationFacade.CreateUnitOfMeasureIfNeeded(ItemJson.UnitCode, DescriptionToSet); - // set the unit of measure on the item - ItemDataMigrationFacade.SetBaseUnitOfMeasure(ItemJson.UnitCode); - end; - +``` _Figure 2: Example of Item and Item Unit of Measure migration without staging tables _ -### **Usage with staging tables:** +### Usage with staging tables: The overall workflow is: @@ -146,77 +146,78 @@ The overall workflow is: [![ ][image2]][anchor2] -_Figure 3: Simplified sequence diagram of the data migration with staging tables _ +_Figure 3: Simplified sequence diagram of the data migration with staging tables_ Below is a simplified example showing how to create an item: - - \[EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", 'OnMigrateItem', '', true, true)\] +```al + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", 'OnMigrateItem', '', true, true)] procedure OnMigrateItem(VAR Sender : Codeunit "Item Data Migration Facade";RecordIdToMigrate : RecordId); var - MyItemStagingTable : Record "My Item Staging Table"; + MyItemStagingTable : Record "My Item Staging Table"; begin - // handle the event if it targets this extension's staging table - if RecordIdToMigrate.TableNo <\> Database::"My Item Staging Table" then - exit; - MyItemStagingTable.Get(RecordIdToMigrate); - // create item using the facade - if not Sender.CreateItemIfNeeded(MyItemStagingTable.ItemNumber,MyItemStagingTable.ItemName1, - MyItemStagingTable.ItemName2,ConvertItemType(MyItemStagingTable.ItemType)) then - exit; // item already exists - // set some fields using the facade - Sender.SetVendorItemNo(MyItemStagingTable.VendItemNumber); - Sender.SetUnitVolume(MyItemStagingTable.Volume); - Sender.SetAlternativeItemNo(MyItemStagingTable.AltItemNumber); - if MyItemStagingTable.PrimaryVendor <\> '' then - Sender.SetVendorNo(MyItemStagingTable.PrimaryVendor); - // modify the item (+run trigger) to save the changes made by setters - Sender.ModifyItem(true); + // handle the event if it targets this extension's staging table + if RecordIdToMigrate.TableNo <\> Database::"My Item Staging Table" then + exit; + MyItemStagingTable.Get(RecordIdToMigrate); + // create item using the facade + if not Sender.CreateItemIfNeeded(MyItemStagingTable.ItemNumber,MyItemStagingTable.ItemName1, + MyItemStagingTable.ItemName2,ConvertItemType(MyItemStagingTable.ItemType)) then + exit; // item already exists + // set some fields using the facade + Sender.SetVendorItemNo(MyItemStagingTable.VendItemNumber); + Sender.SetUnitVolume(MyItemStagingTable.Volume); + Sender.SetAlternativeItemNo(MyItemStagingTable.AltItemNumber); + if MyItemStagingTable.PrimaryVendor <\> '' then + Sender.SetVendorNo(MyItemStagingTable.PrimaryVendor); + // modify the item (+run trigger) to save the changes made by setters + Sender.ModifyItem(true); end; - +``` -_Figure 4: Example of event subscriber for Item migration _ +_Figure 4: Example of event subscriber for Item migration_ -__ Below is another example showing how to use additional events to set fields that reference other tables, here the unit of measure: - \[EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", 'OnMigrateItemUnitOfMeasure', '', true, true)\] +```al + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", 'OnMigrateItemUnitOfMeasure', '', true, true)] procedure OnMigrateItemUnitOfMeasure(VAR Sender : Codeunit "Item Data Migration Facade";RecordIdToMigrate : RecordId); var - MyItemStagingTable : Record "My Item Staging Table"; - MyUnitCodeStagingTable : Record "My Unit Code Staging Table"; - DescriptionToSet: Text\[10\]; + MyItemStagingTable : Record "My Item Staging Table"; + MyUnitCodeStagingTable : Record "My Unit Code Staging Table"; + DescriptionToSet: Text[10]; begin - // handle the event if it targets this extension's staging table - if RecordIdToMigrate.TableNo <\> Database::"My Item Staging Table" then - exit; - MyItemStagingTable.Get(RecordIdToMigrate); - if MyItemStagingTable.UnitCode = '' then - error('Unit of measure is empty.'); - MyUnitCodeStagingTable.SetRange(UnitCode,MyItemStagingTable.UnitCode); - if MyUnitCodeStagingTable.FindFirst then - DescriptionToSet := MyUnitCodeStagingTable.Description; - // create the unit of measure through the facade - Sender.CreateUnitOfMeasureIfNeeded(MyItemStagingTable.UnitCode, DescriptionToSet); - // set the unit of measure on the item - Sender.SetBaseUnitOfMeasure(MyItemStagingTable.UnitCode); - // modify the item to save the changes made by setter - Sender.ModifyItem(false); + // handle the event if it targets this extension's staging table + if RecordIdToMigrate.TableNo <\> Database::"My Item Staging Table" then + exit; + MyItemStagingTable.Get(RecordIdToMigrate); + if MyItemStagingTable.UnitCode = '' then + error('Unit of measure is empty.'); + MyUnitCodeStagingTable.SetRange(UnitCode,MyItemStagingTable.UnitCode); + if MyUnitCodeStagingTable.FindFirst then + DescriptionToSet := MyUnitCodeStagingTable.Description; + // create the unit of measure through the facade + Sender.CreateUnitOfMeasureIfNeeded(MyItemStagingTable.UnitCode, DescriptionToSet); + // set the unit of measure on the item + Sender.SetBaseUnitOfMeasure(MyItemStagingTable.UnitCode); + // modify the item to save the changes made by setter + Sender.ModifyItem(false); end; +``` -_Figure 5: Example of event subscriber for Item Unit of Measure migration _ +_Figure 5: Example of event subscriber for Item Unit of Measure migration_ -### **Combining both approaches:** +### Combining both approaches: If you want to migrate additional entities, the **Data Migration **framework lets you initialize the migration with entities other than master data. In this case, the **Data Migration Overview** page will show additional lines. Item, vendor, customer, an general ledger accounts are migrated with an event driven approach, and the additional entities are migrated by calling an extension codeunit **OnRun** method. -## **Error handling with staging tables:** +## Error handling with staging tables: The migration starts by calling **RUN** on the façade codeunit. Errors thrown during the call are captured by **GETLASTERRORTEXT** and displayed when you choose the **Show Errors** action on the **Data Migration Overview** page. [![ ][image3]][anchor3] -_Figure 6: List of errors shown when clicking **Show Errors** on the **Data Migration Overview** page _ +_Figure 6: List of errors shown when clicking **Show Errors** on the **Data Migration Overview** page_ __ @@ -224,7 +225,7 @@ The **Edit Record** action opens a view of the staging table, where you can edit [![ ][image4]][anchor4] -_Figure 7: Edit a staging table record _ +_Figure 7: Edit a staging table record_ __ @@ -238,14 +239,14 @@ When migrating data without staging tables, errors can be registered manually by Errors will be displayed in the error list, but you cannot open and edit records because there is no staging table. The Edit action will not be available. -## **Limitations:** +## Limitations: * Data migration will fail if there are customers, vendors, items in the database and if these entities are selected for migration. For example, if you choose to migrate items and your company already contains items, you will get an error. This should not be an issue if you migrate your data from another tool to NAV, in which case you will most likely start on a fresh empty company. However, if you just want to import additional items to a company with existing items, then it is not supported by the framework. however, you can still use the different functions provided by the different codeunits (such as **Item Data Migration Facade**) to create the entities without strong coupling on the NAV data model. * **G/L entries** are deleted automatically. * There is no automated rollback in case of failure: data that is successfully migrated will be commited, and data that is not successfully migrated with be shown in the errors list. The retry feature (in case of staging tables) then makes it possible for you to retry individual entities or ignore them. -## **Usages in NAV:** +## Usages in NAV: The Data Migration Façade is available starting from version 2018\. @@ -264,7 +265,7 @@ The following Entity data migration façade codeunits are available: * COD6113 (**Item Data Migration Facade**) * COD6114 (**Ex. Rate Data Migration Facade**) -## **References:** +## References: Façade pattern on Wikipedia: https://en.wikipedia.org/wiki/Facade\_pattern diff --git a/content/NAVPatterns/1-patterns/variant-facade/index.md b/content/NAVPatterns/1-patterns/variant-facade/index.md index abaeaf0e..a6746a9d 100644 --- a/content/NAVPatterns/1-patterns/variant-facade/index.md +++ b/content/NAVPatterns/1-patterns/variant-facade/index.md @@ -4,7 +4,7 @@ weight = 1440 +++ # Variant Façade -By Nikola Kukrika, Waldo and Gary Winter +By Nikola Kukrika, waldo and Gary Winter # Abstract diff --git a/content/_index.md b/content/_index.md index e186ec62..398d40be 100644 --- a/content/_index.md +++ b/content/_index.md @@ -18,7 +18,7 @@ A design pattern is a repeatable template of how to solve a common development c In 2013, Microsoft NAV Dev Team and prominent members of the community collaborated on a Community and Microsoft collection of commonly needed / used Design Patterns. -For some history on this, Waldo's posts [Code is Poetry](https://www.waldo.be/2013/06/14/code-is-poetry/) and [Design is Philosophy](https://www.waldo.be/2013/08/28/design-is-philosophy-2/) are a great read. +For some history on this, waldo's posts [Code is Poetry](https://www.waldo.be/2013/06/14/code-is-poetry/) and [Design is Philosophy](https://www.waldo.be/2013/08/28/design-is-philosophy-2/) are a great read. ### Contributing