Bug 1608280 - Part 2 - Use valid rect to reduce pixel costs. r=kvark
authorGlenn Watson <gw@intuitionlibrary.com>
Wed, 12 Feb 2020 03:21:12 +0000
changeset 513482 b174d2f9072d36738d5dc484526d51a3a4f2ef82
parent 513481 174d5be06caa95bdc01153cdd8cff5152f406b6f
child 513483 8e08016b3d0acf0c5c3116b087d5455df573d99c
push id37116
push userrmaries@mozilla.com
push dateWed, 12 Feb 2020 20:57:45 +0000
treeherdermozilla-central@e84a0546e6e2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskvark
bugs1608280
milestone75.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1608280 - Part 2 - Use valid rect to reduce pixel costs. r=kvark With this patch, a minimal valid rect is calculated for each picture cache tile. This is used to reduce the scissor rect during tile rasterization, and the draw rect during tile compositing, whenever there is a partial tile. Differential Revision: https://phabricator.services.mozilla.com/D62177
gfx/wr/webrender/src/picture.rs
gfx/wr/wrench/reftests/transforms/prim-suite.png
--- a/gfx/wr/webrender/src/picture.rs
+++ b/gfx/wr/webrender/src/picture.rs
@@ -410,19 +410,16 @@ struct TilePreUpdateContext {
     /// require invalidation of all tiles.
     fract_offset: PictureVector2D,
 
     /// The optional background color of the picture cache instance
     background_color: Option<ColorF>,
 
     /// The visible part of the screen in world coords.
     global_screen_world_rect: WorldRect,
-
-    /// The local rect of the overall picture cache
-    local_rect: PictureRect,
 }
 
 // Immutable context passed to picture cache tiles during post_update
 struct TilePostUpdateContext<'a> {
     /// Maps from picture cache coords -> world space coords.
     pic_to_world_mapper: SpaceMapper<PicturePixel, WorldPixel>,
 
     /// Global scale factor from world -> device pixels.
@@ -437,16 +434,19 @@ struct TilePostUpdateContext<'a> {
     /// Information about transform node differences from last frame.
     spatial_nodes: &'a FastHashMap<SpatialNodeIndex, SpatialNodeDependency>,
 
     /// Information about opacity bindings from the picture cache.
     opacity_bindings: &'a FastHashMap<PropertyBindingId, OpacityBindingInfo>,
 
     /// Current size in device pixels of tiles for this cache
     current_tile_size: DeviceIntSize,
+
+    /// The local rect of the overall picture cache
+    local_rect: PictureRect,
 }
 
 // Mutable state passed to picture cache tiles during post_update
 struct TilePostUpdateState<'a> {
     /// Allow access to the texture cache for requesting tiles
     resource_cache: &'a mut ResourceCache,
 
     /// Current configuration and setup for compositing all the picture cache tiles in renderer.
@@ -748,18 +748,16 @@ pub struct Tile {
     /// The current local rect of this tile.
     pub local_tile_rect: PictureRect,
     /// The picture space dirty rect for this tile.
     local_dirty_rect: PictureRect,
     /// The device space dirty rect for this tile.
     /// TODO(gw): We have multiple dirty rects available due to the quadtree above. In future,
     ///           expose these as multiple dirty rects, which will help in some cases.
     pub device_dirty_rect: DeviceRect,
-    /// Picture space rect that contains valid pixels region of this tile.
-    local_valid_rect: PictureRect,
     /// Device space rect that contains valid pixels region of this tile.
     pub device_valid_rect: DeviceRect,
     /// Uniquely describes the content of this tile, in a way that can be
     /// (reasonably) efficiently hashed and compared.
     pub current_descriptor: TileDescriptor,
     /// The content descriptor for this tile from the previous frame.
     pub prev_descriptor: TileDescriptor,
     /// Handle to the backing surface for this tile.
@@ -792,17 +790,16 @@ pub struct Tile {
 impl Tile {
     /// Construct a new, invalid tile.
     fn new(
         id: TileId,
     ) -> Self {
         Tile {
             local_tile_rect: PictureRect::zero(),
             world_tile_rect: WorldRect::zero(),
-            local_valid_rect: PictureRect::zero(),
             device_valid_rect: DeviceRect::zero(),
             local_dirty_rect: PictureRect::zero(),
             device_dirty_rect: DeviceRect::zero(),
             surface: None,
             current_descriptor: TileDescriptor::new(),
             prev_descriptor: TileDescriptor::new(),
             is_valid: false,
             is_visible: false,
@@ -877,16 +874,21 @@ impl Tile {
             frame_context,
         );
         if !dirty_rect.is_empty() {
             self.invalidate(
                 Some(dirty_rect),
                 invalidation_reason.expect("bug: no invalidation_reason"),
             );
         }
+        // TODO(gw): We can avoid invalidating the whole tile in some cases here,
+        //           but it should be a fairly rare invalidation case.
+        if self.current_descriptor.local_valid_rect != self.prev_descriptor.local_valid_rect {
+            self.invalidate(None, InvalidationReason::ValidRectChanged);
+        }
     }
 
     /// Invalidate this tile. If `invalidation_rect` is None, the entire
     /// tile is invalidated.
     fn invalidate(
         &mut self,
         invalidation_rect: Option<PictureRect>,
         reason: InvalidationReason,
@@ -944,34 +946,16 @@ impl Tile {
 
         if ctx.background_color != self.background_color {
             self.invalidate(None, InvalidationReason::BackgroundColor {
                                     old: self.background_color,
                                     new: ctx.background_color });
             self.background_color = ctx.background_color;
         }
 
-        // TODO(gw): In theory, the local tile rect should always have an
-        //           intersection with the overall picture rect. In practice,
-        //           due to some accuracy issues with how fract_offset (and
-        //           fp accuracy) are used in the calling method, this isn't
-        //           always true. In this case, it's safe to set the local
-        //           valid rect to zero, which means it will be clipped out
-        //           and not affect the scene. In future, we should fix the
-        //           accuracy issue above, so that this assumption holds, but
-        //           it shouldn't have any noticeable effect on performance
-        //           or memory usage (textures should never get allocated).
-        let local_valid_rect = local_tile_rect
-            .intersection(&ctx.local_rect)
-            .unwrap_or_else(PictureRect::zero);
-        if local_valid_rect != self.local_valid_rect {
-            self.invalidate(None, InvalidationReason::ValidRectChanged);
-            self.local_valid_rect = local_valid_rect;
-        }
-
         // Clear any dependencies so that when we rebuild them we
         // can compare if the tile has the same content.
         mem::swap(
             &mut self.current_descriptor,
             &mut self.prev_descriptor,
         );
         self.current_descriptor.clear();
         self.root.clear(local_tile_rect);
@@ -983,16 +967,22 @@ impl Tile {
         info: &PrimitiveDependencyInfo,
     ) {
         // If this tile isn't currently visible, we don't want to update the dependencies
         // for this tile, as an optimization, since it won't be drawn anyway.
         if !self.is_visible {
             return;
         }
 
+        // Incorporate the bounding rect of the primitive in the local valid rect
+        // for this tile. This is used to minimize the size of the scissor rect
+        // during rasterization and the draw rect during composition of partial tiles.
+        self.current_descriptor.local_valid_rect =
+            self.current_descriptor.local_valid_rect.union(&info.prim_clip_rect);
+
         // Include any image keys this tile depends on.
         self.current_descriptor.images.extend_from_slice(&info.images);
 
         // Include any opacity bindings this primitive depends on.
         self.current_descriptor.opacity_bindings.extend_from_slice(&info.opacity_bindings);
 
         // Include any clip nodes that this primitive depends on.
         self.current_descriptor.clips.extend_from_slice(&info.clips);
@@ -1068,16 +1058,31 @@ impl Tile {
     ) -> bool {
         // If tile is not visible, just early out from here - we don't update dependencies
         // so don't want to invalidate, merge, split etc. The tile won't need to be drawn
         // (and thus updated / invalidated) until it is on screen again.
         if !self.is_visible {
             return false;
         }
 
+        // TODO(gw): In theory, the local tile rect should always have an
+        //           intersection with the overall picture rect. In practice,
+        //           due to some accuracy issues with how fract_offset (and
+        //           fp accuracy) are used in the calling method, this isn't
+        //           always true. In this case, it's safe to set the local
+        //           valid rect to zero, which means it will be clipped out
+        //           and not affect the scene. In future, we should fix the
+        //           accuracy issue above, so that this assumption holds, but
+        //           it shouldn't have any noticeable effect on performance
+        //           or memory usage (textures should never get allocated).
+        self.current_descriptor.local_valid_rect = self.local_tile_rect
+            .intersection(&ctx.local_rect)
+            .and_then(|r| r.intersection(&self.current_descriptor.local_valid_rect))
+            .unwrap_or_else(PictureRect::zero);
+
         // Invalidate the tile based on the content changing.
         self.update_content_validity(ctx, state, frame_context);
 
         // If there are no primitives there is no need to draw or cache it.
         if self.current_descriptor.prims.is_empty() {
             // If there is a native compositor surface allocated for this (now empty) tile
             // it must be freed here, otherwise the stale tile with previous contents will
             // be composited. If the tile subsequently gets new primitives added to it, the
@@ -1087,33 +1092,33 @@ impl Tile {
                     state.resource_cache.destroy_compositor_tile(id);
                 }
             }
 
             return false;
         }
 
         let world_valid_rect = ctx.pic_to_world_mapper
-            .map(&self.local_valid_rect)
+            .map(&self.current_descriptor.local_valid_rect)
             .expect("bug: map local valid rect");
 
         // The device rect is guaranteed to be aligned on a device pixel - the round
         // is just to deal with float accuracy. However, the valid rect is not
         // always aligned to a device pixel. To handle this, round out to get all
         // required pixels, and intersect with the tile device rect.
         let device_rect = (self.world_tile_rect * ctx.global_device_pixel_scale).round();
         self.device_valid_rect = (world_valid_rect * ctx.global_device_pixel_scale)
             .round_out()
             .intersection(&device_rect)
             .unwrap_or_else(DeviceRect::zero);
 
         // Check if this tile can be considered opaque. Opacity state must be updated only
         // after all early out checks have been performed. Otherwise, we might miss updating
         // the native surface next time this tile becomes visible.
-        let clipped_rect = self.local_valid_rect
+        let clipped_rect = self.current_descriptor.local_valid_rect
             .intersection(&ctx.local_clip_rect)
             .unwrap_or_else(PictureRect::zero);
         self.is_opaque = ctx.backdrop.rect.contains_rect(&clipped_rect);
 
         // Check if the selected composite mode supports dirty rect updates. For Draw composite
         // mode, we can always update the content with smaller dirty rects. For native composite
         // mode, we can only use dirty rects if the compositor supports partial surface updates.
         let (supports_dirty_rects, supports_simple_prims) = match state.composite_state.compositor_kind {
@@ -1389,26 +1394,30 @@ pub struct TileDescriptor {
 
     /// The set of opacity bindings that this tile depends on.
     // TODO(gw): Ugh, get rid of all opacity binding support!
     opacity_bindings: Vec<OpacityBinding>,
 
     /// List of the effects of transforms that we care about
     /// tracking for this tile.
     transforms: Vec<SpatialNodeIndex>,
+
+    /// Picture space rect that contains valid pixels region of this tile.
+    local_valid_rect: PictureRect,
 }
 
 impl TileDescriptor {
     fn new() -> Self {
         TileDescriptor {
             prims: Vec::new(),
             clips: Vec::new(),
             opacity_bindings: Vec::new(),
             images: Vec::new(),
             transforms: Vec::new(),
+            local_valid_rect: PictureRect::zero(),
         }
     }
 
     /// Print debug information about this tile descriptor to a tree printer.
     fn print(&self, pt: &mut dyn PrintTreePrinter) {
         pt.new_level("current_descriptor".to_string());
 
         pt.new_level("prims".to_string());
@@ -1474,16 +1483,17 @@ impl TileDescriptor {
     /// Clear the dependency information for a tile, when the dependencies
     /// are being rebuilt.
     fn clear(&mut self) {
         self.prims.clear();
         self.clips.clear();
         self.opacity_bindings.clear();
         self.images.clear();
         self.transforms.clear();
+        self.local_valid_rect = PictureRect::zero();
     }
 }
 
 /// Stores both the world and devices rects for a single dirty rect.
 #[derive(Debug, Clone)]
 pub struct DirtyRegionRect {
     /// World rect of this dirty region
     pub world_rect: WorldRect,
@@ -2359,17 +2369,16 @@ impl TileCacheInstance {
         self.tile_bounds_p0 = TileOffset::new(x0, y0);
         self.tile_bounds_p1 = TileOffset::new(x1, y1);
 
         let mut world_culling_rect = WorldRect::zero();
 
         mem::swap(&mut self.tiles, &mut self.old_tiles);
 
         let ctx = TilePreUpdateContext {
-            local_rect: self.local_rect,
             pic_to_world_mapper,
             fract_offset: self.fract_offset,
             background_color: self.background_color,
             global_screen_world_rect: frame_context.global_screen_world_rect,
         };
 
         self.tiles.clear();
         for y in y0 .. y1 {
@@ -2897,16 +2906,17 @@ impl TileCacheInstance {
         let ctx = TilePostUpdateContext {
             pic_to_world_mapper,
             global_device_pixel_scale: frame_context.global_device_pixel_scale,
             local_clip_rect: self.local_clip_rect,
             backdrop: self.backdrop,
             spatial_nodes: &self.spatial_nodes,
             opacity_bindings: &self.opacity_bindings,
             current_tile_size: self.current_tile_size,
+            local_rect: self.local_rect,
         };
 
         let mut state = TilePostUpdateState {
             resource_cache: frame_state.resource_cache,
             composite_state: frame_state.composite_state,
             compare_cache: &mut self.compare_cache,
         };
 
@@ -4299,17 +4309,17 @@ impl PicturePrimitive {
                                             tile.invalidate(None, InvalidationReason::NoSurface);
                                         }
                                     }
                                 }
                             }
 
                             // Ensure that the dirty rect doesn't extend outside the local valid rect.
                             tile.local_dirty_rect = tile.local_dirty_rect
-                                .intersection(&tile.local_valid_rect)
+                                .intersection(&tile.current_descriptor.local_valid_rect)
                                 .unwrap_or_else(PictureRect::zero);
 
                             // Update the world/device dirty rect
                             let world_dirty_rect = map_pic_to_world.map(&tile.local_dirty_rect).expect("bug");
 
                             let device_rect = (tile.world_tile_rect * frame_context.global_device_pixel_scale).round();
                             tile.device_dirty_rect = (world_dirty_rect * frame_context.global_device_pixel_scale)
                                 .round_out()
index 6e44734811a7c34517165d1bee6134d0274b8815..1e1ad837282173ed391b194f748abb241649f3fe
GIT binary patch
literal 48510
zc%0OH`9IX{`*uk+Dm0Pq#+I2v8EG5)5<}{iErqd!kY$+ckt}KKw?TyLqm&r?zKiVH
z!r1pUYxWSH>pk6{&-eL0|H1P^%S*iHyw2q~kK??~cm8TBii{@^Ck`Dt#CY$n{DVV>
z4iAA}&9GzOD?vGOvxg3qE8LTpedrv!5O+M5_0eWQ@L|>?QP)o%d-zQZAEWloq8sx>
zud^hh)T4)SBqQd%So+~wPq7(df!N7ubRz##g@<Zgd#xIn<5we7m*z6w869iYsEphi
z9H@D?bziwszc7{1@>52Equ!RI-ojqeffM}YQ{2yXNAQ(cr)q2u__}RB1G7Hu8~FY|
z{f6g=iEuuZP^G0(dH0H;Hq(T&n;l%x_q-n^OE9kN_be+-C7gBH@Ygae*nS$;QaGsR
zUOts+TJBBlR0I!;{T$@GbnEN&=Uk{y@wTZA|MW-kbkiway->O}pidh4>5MbkRLJWD
zpZ-qAc~%7_xiO}ZvsYOdxi#{_<H78B;zmxIpn$KnZ4^iD&h`E=QPRYHMoEWHaHmo`
zk>bsMyu#D($BfcsB|2ow=dJWj%k!yW#sc+COy$qpRUkX1R@&o^6>SFLr#v;7L$VWs
zlwS*<8deirk1F)FD%^Ln8{DaHY+9pGq(~E@Dz4C}vc_E4n`)S)BrjXp%0=``zOIeb
z*4yke<lf$%lZo7Z`cBmq@=n25Y+;!Fcqd;|=J9<U-uqD@K7xnwgja#@|8ieT?bg!M
zCutwR#LSCd=hZ;o6_9k0xW4>yn`GrO9I-klkQwle!g({_FA)PTD3WFWm41AVnjT|S
z()7`8p`^ZP`lNM69Ap!If;`|awln;GYCTOgfwf5Vuu@P815V>q<+hrP-#3}I-#N|E
zr42%wyWZ$dxATh*z&M?g%tI<o@3|$fl%5(?7(N)?yJg6rC&@|<MBB7{ai16cUZvdi
zKq$BOhFz7;@rF<Vj>|)(4m~uFp}9)p!u6jGKFTOvF1cl;OmEFk*F*0@PUDg2z`6<L
z?4Ou#R_)pOywK;Wx@ZGFtZ9@yz)(EiA}|>e$Q&wE@Al3o-9M30p%+<A9ULtrd3q+-
zDI<!e?OTOEt?Ond{C=`w(C}g{^AqiOH=Spl<b?k!dnLI#h_YyRQXeByiv1H6i0Lk;
zzBI9&7XO|VH!G;)JnU^6+`SoMtSNqnEy2x}c1*+<5Q3F9@<I5B{+7hHO5{ZoEIe=8
z5Bh1bsI?eHnG~B3W6^n`-6g3X2puPsC>MMwwtl}U%WbrnTn_Lh@Qt@*KWh?>v_@r?
zuj!Qd;*sWXS-eUE(o!x0kpl017H<fdpTQ#aQ0dU~xX)=;?Pf=|`w%i=oaYAAC7>LC
z0giwq6@g&yF6DNDledr4qcI>%F)$qszr9V{lQ<6bna`JA&O}>Z?IR>FPWC<ue%n2b
zQ>Oj6BuET~txAu|1^3#e)v+1wIl@P$(>c6e)YvQq`gAd*m9o#?v@MGf{<~V7oS;z*
zf6BQ858FQ1?(!)!f&Ke0TKhF<5BduPy_!_Gz%L@@qJb##3sIoAo~0MW$SMV~<ni{O
z-lu+s%Lbwtzek^-d;TQ7LT9;qG7G~LhTY{z<%DA42i!55By#l)DpTx1#m-XNy;pdZ
zs^}P)uDur<yg>BCSRr?l*EvO^1wSM8t1^|TY~b6FNtmg~y``bj?rL3&PZOe~BU~k%
zv27K5_X{crc$e`FKHj70F8p$AP++nYh=TD)bq^g5M9rxYEzpcTUqib^EkDo17)$rr
zPH|54J|exXklL{X4{BWx@+BOfQN<oy^eFnlY|$PK>qEnH=&vU6nuK=KKl^s@&=Vym
ztV9nULj{j1`kY+e<)zf<p0>y*v$(7Au5^B||A#2)rrS7q;FXKZx8|HZ%s_JtcNvtQ
zo{S0&;9xk7ze@OtBhqvn@SKm!k3@5HUf=p0+KnSvT4d&a6Sw<1r`X`GwD<{fPbW7x
zS=8%g8SP`zqSqMv)#$CzUc#(Af#X&Ahy{`0`W>G3t<+wuMWTv>Nxn;BUuo-A-Sr_k
z_lo{D)3Ep$bK0R^gF{WVZY_noWeh1w@6S!#GRMMmru{-d+92tuv57%PHwWtB<N%bV
zyz{sp!aLvR2P=sp%-of$sM=@!c4%@Y?YCY;wDD!A1m10~v@a&ES0+~ut_*To6tyN*
zGxYW{;Osl^U-4p7q(@s1vesxCBGp>pm@oH&-WO3XD9cMU+vg1?H8&nk<GxUz?hxw)
zq3Qrg;@hom8+u~X)5a!)%oE>j^4k^YDPl;I7B~-kQ#G4n*B$NLvqa=wWuutW7;oz|
z%w0b56Z0I7@5q6a(r+bpT?oa-rE(_-Mq({kn1`6^j!(#h?DuR%l2N`N#{yvbUT^#5
zV?r3?LO@B;r+KG~1!SimQY7-9z{~s95l##sK7umSGzctd>(?)MY>O9j+Auba+opEV
z9(fXa<g<jG^xuoEmC3RL`93fl9d%H?9cg*8ulKNG6`SWF5qQ!xuN;e_<^(@Q89eT6
zVeTzilTep)_Xs=<E5izAx(}gR`3Rbb#A&Py`xOa;(%gT3o0uRdE?<;Dj%f{gu`!#<
z;+cvVdg)G&X2UdCzWDnl2|XO#(hsZ_S3(r|7n;{z(hSE^#pOwl$IKxN{P7!j@4{yJ
zbA#gbY$ZPL^kRP-3^OJ-z!M_^&m(&#Di|^qoCOb4w+BHb&jy~|!iT7k`OW!KlPl*>
z>6^Zu5(!C2-@DmoyTX|d+To`)khHQzD{<_mRU1bp*H#i#Pw2*~B@1_uOpWj)Sf4gq
zj%brt`WJcgabElck)Mzw{8$z7(O<{Q@dVCe)V@VJ(yDZ>U^Ot`{rb>|+_n9%I3u4j
zgO3xUoQ%MY)zcz`t6LQ>pCKrqA}`5N<r~I{=zOumf#wrsd@-nN%-Mp6gEwBE5b5B(
zZENB<>w>&%%h>sW$<&Q}T*vB5tx0D7)|-UP9s3`B>7Sfbc3JmWHhwzBl7c~ckLE?H
zgdLP_983<JuTXxC5prPY)utDaWfwn;CpinXKKRF)fsB%474f#N4s#M@RtOpQ6A$;9
zV~v0RC_-O>N%!EIn3Z=;o^k(&cQP$HUz)elHi{-ht%H4+9!|$)j)YogjNEzr*M=N|
z!d5g*FF;BG73Akx3+D-(t${D+W?yh9pra?(1CvcKDt=GJlJ3x71|`%3<^H<%PVq(C
zZi@cXw~SiDYNVl`+CM6tJr)<r@-`EU{>s3ONW2`hjoqxlKEJXSSnt8Z$0%m;pdq>*
zX<`h|A%YKMz_C~l>waEQGbHpzc%rIu<)flemepYh9A}CDZH%H(x>2;BIIPz{U^h?d
zd2q4m?nXi61XV^wGs^7f;zF;(2N^MDgL(@Cz+;fXZoi`zUMyy;4o7YAG7n_k0iXh+
zQ8Z2zz;Fd@J+cSq&^=^L@63Ne{xcRtL;f=y1Ii^ODN7js5%=9wSw1L5U8&qTv(|J(
zdGoDtkF@6WJ5#R31?{}r1jI-##w!<7;X5I^0f<n*f_u-B-A1RD>Is}Zi#46F5)loc
z*wX8)H)c6`I{Qhr;48#o0$uEBj3N&6Du7bQ@W_&7QJa`j>|+72sQa@P&h4z2T_9>I
z<Slat>9ZorLuWHzp}MU?_+!ICx<cQ<vZ#t1IM*31QqcpZ;<3}`C5#q6c-E?GKW{t@
zP()7HVOZuf+%Y02E1jo#4R~%`7^&A{4A1yew1^KZoZgP4r;8u!T}67;-1Db0O#&|!
zw6_){cgVa?GEhCuwx{#@K*J~JV8k}|CHN#d`bA+8YZP<&z8c77bP`FSp)MMykTvcX
zZKGh+;`+%YA_rD@EDam15H;@C&sxaPi-uFOVUJj;;KRxfx0EMxEf3kbZZA$(zLmD$
z>S(2YYDiEE&9ty?@-c%B)EW+$>Cye|L7AyvF~O?Xw^<5Z<XMy<NCz_71UpmyMtoh{
zkjq$?D5f2R@?vE+b#snKo7>7;Cn;wk`-|=!xn;W^6yTIXsbFi7-decvv+#&%@YGg2
ziJIJypjw{!dCM6l8?~{qKBGRL{UUt362P&)FF|6hu2;mQbiN==YsACxLD4ur1pskC
zNRUFxnLP5Ev_EPN?frGpCNK+pKJhXkDUQ$UEZ@V=E86sF#Xe8R8!S28-dC$@EB0G#
z#ZB(GW%k^e*H~`jTV5&K&*?hZ_;cl_7;z8R<qFdMiSum1O-0F<#8|h3K8qBchG<_1
z_YVhF_sdZwS(ihnv#ZLu#;CITs`Qo%pb98;@G(SyT5agDr{9GYyU1uO<7et^mtHgp
z)(;`^n|c}&I*~6t#8)P4B|cD%UAj(G>jZZv4IiX!flAI_X}4Bf+8vedTkDsas>$Y7
zIia(rO%%w9h7PAQ8od_(mn#}Y!5itqxK7x}hm1GOwKHgQsQV%f;bcUK&(jCK@t3^V
z)ZZscPlp&!PP+5q-%AGl{!BDrr{2*_FbeiQZ02_7m-hYKVDGNok{7`eq%goHBywu3
zB^p|42=T0W(>Ns5ctHeh<%67szQP^B2L@J0oH=R3LPogq%R$9~)U##$_Ti4^1Y1g8
zdh1Gsz{Xo18BXNM)`CQ*@b?V~_ozKYHzRA44UE#`)6*N+++f-Add~WHXPAeap0u;S
zo@`(zg=c#F5@+nDR3!&{D&*P9H~1h;l!<A@{#$Zu07AYlN?Hkg!5-!c03Abt`!IVT
zU;>HJw<P&qP@d_SIF9CilMMVllXcLbp2nHXImN%qcg91xmkFQJL+~j(^v~{u)7@cX
zm%Tf*4<>>`{%jOUxO*_a+Z^^x>a#^6r=J>V)&NstLV`?rAmUYaJQ`IM3a2V$rC)TQ
zcSg$zs{)em1$~DCBA!KxZ7hHytf=#>pyTNcld99!&`A}4V~k2W#F=-aMMuXALc5>2
zO}k7=#rHge(uZSDqC;kSJ+sf^ri$|p{q{t<$Nida`9wglbXciGD}M0lS<x|1)!x<L
zs20DNIZ_aUR`g^^De`xsEI*p&trljL4NSq@=1aY##)1oapBV3&QEd9t=ymeJnZ5k?
z92@(R)%EP3TX-nBe%#D8f)wNGdWvwcKXmr=`o!T0(oHF#lIqHSZlBDl>6U2t$?W@y
z2anWN*JjD#?I&8H>E0${I)qmqpDShf7E}~hfAG+dNpk{+)NY}XFGGwXG2LI-=x+es
zU4V08EG?D`hurNt3eH))=g8l`HC|7#X2LlxoCfJ-aF@f%mYpKB8B&z_c%WfkWKL>H
zv{Qhq#QNK-El&P((l$nj3|=~nlNXye1}azu`YWUq7mpg{yj&Baqx$|QFCDG`Lkup)
z2CxH)C{j;(eS*ef{R8^T*%mJqa=lDjk1Ne|3P<gC`VE}k#91?G_N;|u2~pO(zU{PN
zDa?v@wAqaew6TN2t2;p;y<69Pd<pD!11SS0BWas&RV(*zF>0}V38;<^0Y?KQ&JYXF
z5M8$D;_c_B@NA;T>#GG(X-u4lRkA=Mam%a*Kre5NG;d*e7?zLG=6m6@pS8t3Npw^R
z$uZf(eRVS$m_w2-Y=%%O(A8?W{Tvh~&RXq+V)abx$qn`muII5ojxrAke;C==n_Mzm
zRsqq^0uW-@0<=_;vfmjHg=}Yoo6JYEvD#*E!g-wIEDZM0Ql2v~1jDD-(n0@L4734d
z1SM?S`E0&rO9j4ZXm?Q1-Z4%|BARbr6}gmK0HG_4^Dyax6DpI_M@##4elCaXf?>Yc
zWcTU9ptAiCqyZr5H$WV|;)LQZRTeFsyRq*PeS$3qr;_-<mmnJ$1EDf!;8reL7DUpe
zmukdh8+3?I4f<k8(Ai_w+AOKlcV9c6c-FC?|1|REmbAv^a&9Gv1F&Erw<H1u8=@~_
z_{KxwA-wk1S}?>AywHk<ObV8M19u)*sxRBtzl#9acH~YlyP&Q?cD|&@@8Vn9%EVN$
zBwoGGEezV09O^7NeulMhNB-gZ`&1uE->hSJUtRffgyQX#2dFe#mcw|JBB*zPuvso3
zGW>7MaZ-n534<$ltbrMAJTx<^0A8G2En{PQEP8`dhn1a$*_fDgPoJhjj&Oeu6@(xl
zkjFT-8f;gWb@$_ZuE++U(pJ>y(}0|WV*tvi1=a3G7Bj4Jtj^g4raVGbfgX%QnqYD5
z;L|Sz0WHBBFc&ZNqUn*V!6kN~qHHJ|?O_9&J*#S-=irkrTx>d`bR36ChnSBRG1#y^
zS?q<}!u|(|%yg=;g>PNvCO(<WC_Rr*=MMh+2pc>lI|io7(Lzb$6z5?Nv|+4uWjleV
z&wdSAKE|e=cE{6qN7j_<Pm3$?>;GUR-l48kr80eY9<|GP+05#tk8l(G;4;xVEtli)
zW6jg9Y({G8s48X8o-?B`8~P27Y6JkMKcMvStfYhPJ1N2tHsi%;>McFEQS=PN6&d<^
z8T!=d@#x{qZ&=xd5Um+Ffk$%!W+M+cgE$)~*hCCGtH{Uvf$#8{41Y@9qh`U9*ujDs
z>+i0l;eK_}PgS0@Ry%s<c=umpzF%`$rH_fy*=LEL;!DG3UW&4<J0B*_I?7uG@3M#C
z|C<*-7C?tZ_LMmWaX75VuGan%`fiAUrvis)#d;<)aRQY9(*nHm{b_4S)~`%1j$C7G
zazRzGw*loB?%*{9bQ5YvEeu_~7`;z6k0K8oLn{}5iEK|bRd$i=h#tpqjuA13f=ypp
zlB&g7_ikI?sP50QsfLdRU12h+f{()H#E6)$)~L*p6wrblG=XzM8HI+`xVScL5P%P9
z+IJ~<$H27ZWe5Nj8K~%$eG>v5$16}>JTAIN_h3J@O?(^s=_$qjpg~n3<+>%qeHP@O
zb=0|uMC^JvR6>zq&@Kf=h`{4TbHv+}ZP{(;r+L`^7Nw(OHTO;8Ry5+gvUHr|Fu@C?
zy>QOXg@0`k2DbQnNbL!24~>pA63^ed4qWjnAjX`9Qsl3e%&ZRDh&{`48rfO38lDeQ
zcD$rP)6jsW#9u9FNWKA?#?Ys|W2_{1R<Y}D4aQb}C}}CzA@WrzWBAaE#gCj*umk!W
zOOC@_Cw_{GTA<QeLc7T`pbcE}OM#EtI!9AR23ZSg5a8c!=v|nM7;XQ9>2VCqLz;%a
zddG6QU344gYYY-tDWZUTON1X4B&8?=SS2IGm$3j-aUcQu%lOAMpI}q~S+N|HhlUG%
zYAiQCe2JzP%t1Wsh@W4&9Jy7h$3EpJ;(<4FiMVh|CCyeNT^Ms>Ud@o}i7ac$<x_1G
zgksmnEKaJY8N>gM*D>IuS2fGxdi$;|9-V3!c#3EaLeWSWsuOXx!*~ci%b4H!CNZb*
zw5>JtU#XU!1Jw=<UU13{bx0HVmjDza^@DZNP?EyT<A)god*V3!aDLu<j<IR(9+;d+
zEzkLa&-lyx2+$#vPnUW#gUUAjf@@aJQ#O*ID0}*Pz4*VK!+D;0=*{54(q7I0uC%e9
z+auP8|5ZQ^&=Q}lliEO3yv~Zi6W4j>w9Aga^QGgEjmMU!Uw9cSt^`UCP&bw=9P%N9
zj(prDM%~VXja`}T9`S?kcZ|CRx)xX3;iEVtKOB=p+SuC~;fqiHd7vE>QzcnfeLPsf
zFuK|a;H8Trx=J}@2Esh7rPMK~2a)`I3HJ($9oUQa;s^M=Eh12J+Q9qKo}i$o$*>;n
zvaKjzI>~T2HQ%q0sh{k5JGl;v>mB#=3{q%EdUZ=i982H65}1xGTznCO9<(-E<X0(g
z8RTkPmBif!9F!8$GS~dZjhW+>3md&ETJDUuV@i>Xm2MD7s`>vXV7DY4lx)77JlCLZ
z#&Kz)E?DVxXEmk`unoZCWdmW_YidM1|FHcN=A+IjQIrbjv@EAtUSI;mgn(QoQhw;Z
zb>U~!S;IMqS@?!c`c0AAN#k7uUu){q>y%F)Bl}B-<xkio1NEovn>12UZ+5VIzvQ4@
z$^wXY9-AEb+eukWn9ln*O{Lj3ar({h(d@){?Ef$Z6~!;u!h6yO)AoJq-;_;z!)m^d
z%ClvNCS_cbgQDXn3{4s61(K%Se8e4Csh;(gM4OXjk^)ekcjz<x|By+`FdwV&l;mMM
zZ^5Yy&Lvv>zJmBEd$RZx`4<4Z-~&=2v>V5TZ@=;S!%R_p&XVhV6UWH6(3c+9j?2~2
z7kTp#0tWorF>Nm-mvWsV>gfjm9~>9vDp6h?*mW21kl1@>VHk}zHx5<+w1wBim`~eQ
zE*znbN^=SJFORR1Jn4!agc>3|Bbz0M%#xK2!*v#3S&Q(DONrQ&9GVVQaw?WDz?rbq
z0xR({7F2z}wXcw(HsL{(TqdA)Lb`tmtd$`v4SsB`;v(Bj_EdW!7w-`G+(woKZo0{6
z<Ve4^X?)|&6VF#Iy!qmwo{Jd>*8gVWe`tut5#}LY=asN?rt=;I!S|23-ySnVpVS2+
z=gNusce<=p(1~CV`$d6wz5C?{SPQYQ#E6dfiyYPJkq=w2xY2RIn(2hYeJnrf(4FJX
z+CNmBWk(i9yr)icN<YQKUy_3>c4fo9^#=0)?q9h{iaf~pZBYDvhI8jWZ}vnAr)h4X
zaF~L$j=b(=;@{|#RqYH9CBrwoNhym5Q;i^>U;OW4rkUG2A5cEI8YrZC<jv?QOyCKT
zTI+pg0C#}7gRZTPs=lRKRv#5JE_{O`oOx9DUIa|j1n^tX%JFg+y)aafRJLU)gJ;FI
zJ?y5*#hTwq<0jVqwg$Z)?|7o*u5Y5@(fpLk-KEm6KXUsAcWnA+8x<15Wzu)}^moJ8
zIYu-JI4jaA8`C=9jjfm$I}Boc0{lm@Mx4!FnC8%K(G!(gnjV6Rp7sCR@<kw&S*%{v
zeO#SA65J#*fq}#Rrn~i!BQN`x3>o%_1N08un)b~*<8DV4H78skoR%EEVh+5FElgyL
z1FZ~zqaOB0uwzo1`^dr8YJK-XN)WJ|`p5DZSZy!E-B@8vQcw)+;h>4NJuB7tDJSX^
z#WCPioLP$W>z5G+RxUpdUU=Y^(x*Pmi|B{l&Q7es`;W@w^2KrxnS8p>KvGMxMjgSN
z_}t?|sfdCS#2U!au-LtCeRk8FW=(;r<xxJDjC532df+MR-h?FOq6ZV%ut%|5a7ztf
zh7qHvS1%)efcmN)G-o*Ebfq8^9ncqJh`+H;NomxD@{fZRor^a{&}$Zow&N`&ngf=S
zY(|#xm*{RP86`f5p>T?qJlo!#q?~R2Zl?ZE(8!SX6`@Ba*`a}#jJ#l_YDP9XLGQEf
z7)fMcO*i^Va?2tPDgMc6o;0BkfKhgGInPFnPONY@S8{I`p5nTpJ<PdJKzwkSOKP%{
zdn>-KMlWyzFUP9b#XGEF!`j1Jg*|V?m}fm-g@vb*Su(o7uWZ=EYGH~kWA9gZzGcCA
zv#^^^l2|6~okO4=sl1$<rrkvhkSvJ1RDC1jsKsn{wfo$bYnc!q!8xf+YImSydi>jU
zBc{I97D3bWb3Jd0Wuhe*&Q>#dkKGNb7T5fxt&PG@Y?!q1ILI@0;UM<H`k9Adrap=1
z_#_C3`O)~@Ut-(!M-D;;xGI$EUP|*acB&CA7Jv{mhEt}=&dh<FEAd`2l%N>U{D}ER
zx-b%~yO#k6XnQI@MbOZeWl;@L;GZ{4m|C2iwkA;T7=Mj%cr4+-G79LrUkEtY(NF%u
zC-Aq7s)=7G-1|i`+}`Vzf9o!pp4K*5K<0Ee>o%?m2?^zr;v924KQO)RJ}0mrouzCI
zFi<URCi{>GXq2Ji!L%F!xh-I~_A_Sc!>;NZMc=uV;pJOmfTAVVaRnLz?f5a<7kS@U
zWM$Y3QVyfMeo_GacprYoioml(Y4=aP+6c<K@7zOlxk48rm+gwJ3PzvytH)AW#1;ba
zETew6YeTz<sC@qd?~ndY5onv-TTjN|tII(Lg2tu)bepM>-pXj>gxv@lxP^_{56#c@
z--Mw4(#5W9CF!fu>&5r5d}Zq5zi8#_$OiS_f;wy=qv&2==Txk3Yv?(Hj)`)k1|LVX
z9L7N|yq`neH(LGe4DYb<H)ZNEpd93^=3#M$wH;em`Wr0e*gEQ<z6WxMQFpCISp0tL
z@J}o2TX)LDX7aJY3Mqh`vyKI@L;<>$jkYot2}-ai)2mpSdZ16alHU078R5!2ldje@
zyO_ZlJEBR-JF|F~8$wBxWo*J_LJX`Jt=Q#4$8lbBf@bdh^m>j@Qa{_RQFlC~bW~pM
z$QO@i3rr3%4=cZBH9acy3YvfrQ;IKJu_QLk^}?5Lek`)4<EZUr^Fn!@RiqcNmJb4?
z^cD}6h(|N(cA0&Vwrjpx*l@%C>U+-G#{Tdc=`^gOCyEZ^BnNm<)cQLBIflwqCeHGr
zg+RMiAHMm1-2|=)*9JDBXFLKjg*o3gJFM>UBTx4CuCYq1sEudOwy^}WICN#lm>-G1
z1mirfFc+m0ET*Ch4LT$@Ry0-<>JL!QPnBcqUZ&T(mYVaC&-(~jvr@BR>a0{=uUl=(
zWo=QQqCMaLH6Ulh!o%L|MID5uPlm=8z0n75yOqr=0^FGp*45c2&|K`J0%=f&`;aa-
zY<VN)6CCG8IW=gPSSFf4^2y^Vm!7{ABU4z6-X4GRePcf39t?R>gG0Uk#O`N?yL0H3
zsLKRj<WErhIMBphfQb2%6;;^6xFW(=M>`+~n~a5|ct`eCJH0&_6{4c+k+*H-<M_O8
zIRWis4788x^#bovUO8d5!|cbeBF&X|zTZqX3e2or-?7^z6)J6A9m;<%y7Dx(hiQnO
zc-e85w;Du)*V-ii=;frVNqkgyxvM&BNPYX=thyA8$$K*Uy|y0Lrf)JIjQ$RZMp?2_
z`3YwJqo7Qoq>$vm1)YP_QkYN=aSa`I<{_u)4>KxnUa2yLN8YKpb=kx?^HOzgJnYe$
z_WGJMOJKdtwc`Wga*9NXe_|~V^!9SX5y$YzG~H^p7O}NhyH=H%hG5qNZHa)ed<I`P
z+n__t3Mrt2cDFNVT7sle=TLwDta49yMUA@E_&cGYZ?7$)!~P$tSx3dXYjFbQx&z~n
zeW$I9_u*gu5>FELUd&=rFdrw+o_yP_I6LJc_)1JW=sh5eArObdkC7$L{<YnGSInii
z(XRWZR^zPdMo?sy0?`r<kDd0b`fA+4-Mr%xe4Y8|w2w7U5v1K3bb6y%DA~94KDCQn
z+0gIleU$Ozd5|yyHB4OVC!6`JVHD}{v&1WyBw_f6X)@X*wEI_xJ9ct<>KWDShGW$7
z{I<#3j7a2EyuM0_8&!}2Tg__PE!vc(OuWPuxUXi*{py@}4kGxds8>5Ys{Y^kP>%Dg
ziUQa6Pq^5RcVUwm=a$}NkNl(jI?oTL0=NYoZEDUxKe1OkNH2P$SMCWsZ<?NRR50ld
zkXhdiTf%*os-@T>(w>*=P!l}dpnfsUzFC{kU<1%lCF|eJRiA5Tcm#rqntLAkQcGoI
z&f$EIX{_|?&&@Zug-|g}Ll4<pEw2B#QPKSMLaj2j)sB@)yhy5c|7uLm*@2a{1D*jg
zR}|oc5$AXF%85KSt`bhq=8+P;R_C2lE|YH+zh6k_quo@{^Ak=C04ypiREsf3!G;Q$
z?BycF9Zu>%6CSdME*4QzZ{_|^Y#G7WZ1t&i$$v{M@qw=j05b$UiL9IDL!xkrtceyI
z4X{sk)N*&5eYe$q{<S1$|K@yiS>`v1>u8WC=fs=R*5o~Xn&wcy<RBOuG|{%^deeQ}
zWslUU<2>thx+3bQckK4}cQ<C=$*%UhW+uz(DAAimup|O8X^m-hJxNI7yi!+iMlPa1
zmZsiM>aM2;IL#vR{L?hGO^y~jM(UdS_eHitoUOztp_?3Yi0>hm53~|RqU9|8<)k2#
z7siQYu}9NIdB3#J!?A@kn7~rf_)+NDl{6;(N7K&FNEc5rbf8!M%IW9ub`*qv0Dy@+
zWNQMrYL&7flaV#+qJ1p&E4J|U%1&?3)CV)wH}mo3D$*QlM*G>1t8W5n1W8)v+THsL
zJTweA2hBuqEQbT}S-g(3cV8FIACxr76z+cF$gRFkYhuC+&8f884v@1V@Qi7{)0hrk
zZTMolvVqgVgR6aGXI!i+de+}L=&^B>8ru1Hd~drdnCpIh{_E*lW1I|$BHR`xrQ#Po
z?u4$swuwGWs)B@vu*rs)3Ld(DE#BI5oeDQo3FQ%D4$b6y8F$Pw0@fiZ0{<YIbjPS=
z_tXhIYqjPX0VaJqVQS$OFE(7dQA}5=a^%RvrJ?P|Q1j}W&d0W$8M7q8sDOjZvx@*O
z1f%w1rOH=2?P~kAW^exBSa++;w7TKIg8Mb)o!m@Zm?-C+Z?n@FWK!@;Dnr11pbz6b
zVM9M1qUAfe0jhqKJn*IXXVA&80hsi5U6@6b4^kAmr1guwmfUK`vV60_vI?H{mbfFU
z&>oGF6J|Zk{x?>*OE0(e(zyk@R|{poS|R@_3j-2BU*vx~D9(^E&L){D?ly2E;5o|c
zZaM9Ic1xt0rutkrN?VeBb_Y9qqj(zyWnX#y`I%T3<i#}*W&U}-+b!yv%72YFSW2ow
zY>@{_Nd!nqI_d3c7O}nL&Z#%#$Oc{RvbV=9&~mq&04R3#VpkrsocQ)iuvWfdza42Q
z-|hpD9+AURuHc$p7<p>=Wfp`+CNwlM1ZX6X6Ag{ZlcpQI&bECQIoQ3Ex|e1*v-*7Q
z=8xEK+byv<eM&Kn0a&f@KA9*fh9(`Fd6*Le^q<9=QW<J{L%Tgu4fe44kTUoB%Yo3+
zk9V8FUDDR@uirtdKOz%88X*F&VSwO)DD}7-ujVP;ld|jqRSNXh{Lu1Fp?S8;xv=@?
zm5-@WW{foOL2TkU#pyWUso5+U)4bK)93cOIewW{kc~)`HveUJ>g74FUO+ZHZTJG#j
zVAFIP;c9upGRVHST+1yihu=;4A*Q<h4h3=Il=-KN8RQf}jc~r{Sr#>2X<sA`ZZ28d
z&9!Sxz0%?iSs4jZ#bQ{EEP+raT17Z#GMufUdckz%d!qpdkrNI-wkWT)mwJ#n$&Ek2
zvIF|@a6%gI%N1zD7-yIa)Nqzx^lj+s2}pM)?DIkN#H0`Bvye~cTy+u}^J=avXCOh}
z(|%FWuTk<cfonOaJ6S36;)TyG>e{G&eu^>t<1{~oK@lh)m<_!PSJ=NsevRFm>$6+B
zIn$H{ulauAlD0Cn4)33cS&=p-1n`*mJvoiZNd(cO6#Fd5Yo&j8JzH#CC}Hx2aMDuI
zHb=NSt8EUN6J+pH;9o3NXe!g5<qJaK)KE{4yZ$kPxLS{-bxvPeOk;E#<+6P+#jQ+)
z^_72plFY+F#i%;2fDm~jYiI)f4>U~V_=Ne{zBu_0mxzvv+t|Zmt6tO9R=(vAvX(}H
zs5u>^IpA=-{kN^NlA~a{Ys<Rw4bd>1{RgAKHt`9H-S<|$#<6DZ42Zkkuc@FQf)yZx
zwC&}KqEXO}Ny@bU=$>7?(A1kaq0q6lQ$1!k7H{+v6`KT}D-5Zq*=e#$_!hA+b|#8k
zEltPL2DsDvEMZzL(I>maUuZL4-QoOnimRj(rs}p69(!y3V)3H)fXTO_>tWTxo7%)Q
zv2nLLdU9^^=^Rk*^cls+=D%iPL@a)8>ZT_Q7HdrKovn?rcr3AwhHwt51`t$F+8RwU
zAR_RMPF-oio(z|C>98NKhZ8m<T70Z|%MIoP_3Itu(B^A%+VmFj^+>%nd2Q;MNte5t
z2@~P9(0XS{VP;roytFcx+g`^yn-{(1UqwdB4biBy#d2P!f^an=+9)suE{jK+A8EN+
zFKPE9KJxDag<U)p!j3GV4EQK7=nR12SHDFlb^$i*g;633?l(S3XegFQ5J+g-DV7fW
z5r`SV-7NMVrF(|Hpzp|Yt0pn|PM3mwRdluRm?c+W)~&WPUum-5R_6%wkVSadW668R
zq;IM{ezBW;PZrM=m>6WbEHYgcai*!7$^kE!M&yx?Sqb01I`~@-f?0nW%z`vZtb^`(
zV0~)DD<|+Lb$`d4uL$KCU<}=jC|6BrTyNGCvc80uF8%mzV@Zz%%cf`>cggi1LkxiE
zfa>V1TZ)=TNEe(M(l|fm|7?%*Ils~k6WcBho0>DyYMyPo^XV`?=Mb-9i*i{H@kZ|h
zIe39zNG*eorDXUqLgrD|#+Kbdv_NZqk`pT*e(lsQg^BYpO+RV@o`KGZHVjfIdg@<Q
ztC)W6@7CU>Q~ISh546@k)w>$Z3fRBAu6QP%Xn~%uUz1M(#P}glW~K||3vE1^PO;P~
z>~rx^GBfv^ummyO(u<X=+p94`owTJfONcmgoG(Z|oz+#;SWT7uelW0c(3n8o4-*C?
z)S}Lf$|S}11tCrjFrVP1jb3T%4{Qa$iu&pr^Cb)f+5~^cO0(3@uGuC`?w2c76nyw5
zZbbDzJdlrnv2d<KSkcHD8cV?`AUA<g00y$Lj~7MLU->RMd>t)3*8EO2?s9O&syQO-
z<M~I^W%Wct`>_HxIZ!ygNXA}&l7rCmjf%8peb=E&YppjjA^&tj{sAQZ3Lx=bXVrDv
z$3Y^ojUfWFYC8nxE0O1{UxsG%H9pxZ?1>CY7|~{P#~blHtZ8S2W`9hOBW(b<d~`uq
z!K40bOkEU%@#H_}+CpSi8Q+KuyBR;|jYbWdefu(K7|3Ieh39=-=KVZ?9-3TtQ;mEb
zA#oSb^g^6YrI;ED8dFU3(t+&CX|SXdW+Ph?a;j?UTV*tlE#A0$XXCHrw(3UX0*2hi
z>1S3~=gaa)-?mm>-ph(c6B#ri&I#Q=KysvuSFUrAzNj&)f6#A$q;ZUS=tsC#rSl^d
zju%OKGV3q4f2{?B$kp!t!(cP;04TGVvn7JV9yR-R1HpvOJI0gN5!8e!98#|Z;35G4
z7v>8hz#S^9^zDf~?#LL;(t8R18bt33y}Jc390hPw8;?HJ7jfOo(wVJ88s^GZf!|w{
ziBIGIWHK6{j@a|c=Y_GqCmSEQRa}{<I3IcJDrj@zU#Mq5lOs~@)vzTzA9k5)!e)fG
zoa@t*K%k!G=IsM`M*S&ny0-{s1<-Cl+V~|Zba8L&-)-&t!Lgl_#wGL|@uW6b>wfj~
z;=;(VzWqp*j924_cun9K^4~$wX4W(r)~fA^y5?KfZ`(9Zp1&Bo)#PHgX>8WquH{2z
z)~{k1P($RgB!6*jZ#~|)t(%Y;G~LjDD_sa+-M@pQEYM*wtYph1YgxQBq0ZK>hxEJ=
zt0eWIt<EAsS<(7ROl3tedgIH3ds%g409Ca83Qr8Pf(<h5un2UAMbcnn);B|P2OZp1
z;d073<!+T#CN*b0B%asFTFqvRv{DA36?b<z*|nL|cZkRB#d-(nUn{hU(8kLNyc|f4
zRNj7~Wdz!0rBKUFw{>{O%8geASE4$5RX2E0N0=)+8@)P(yw~6}rc_01A1q%2QXoAY
zcgc@))w2HbYu}8UM{A@xc@NxwkJ!ym6gEY*)tjpxBMRs;CEZ~wne+JF$UU_+zxNor
zCsM^vxFEH$eA=IBH@C8Z)ewZVM|)uEwd}gDYBe@X8Bon8^VkAC@{6ow>|Aln<r^l$
z%hSqU5kD{KeFi_-q72>GwciRpN~>7YpY4uz#kOCA>{eg%HNS6@yfWgxmcGefkUu(m
z{B5z1U`3rczClA#DmlpRYs^PTvJ^%8La8_wK;bn32!KOcwHWmNI$CV?x_SMbsP&h*
zg!HQtq<(ekFK5Pg#&u%6$Dnmzh;s&x-eNxLLilQ3ZvmYD=_((y6s|QrULdpVXFvgK
z!C&-<oO?m|*;cBXu-LAdS+l#_Rwv1h81qyQRi#W!bwO93<ue3_FfoP}wsh96pCpC8
zl3)&Jp8kD1!MihJ{UEE-O6G+t&SK&3d!tA%VOCkZ3bb}0+JcphX9vwBx)$4W`KyFM
z1?u3%x`AD{n^vRmGmjLDPjO`TyZJ4f0}biBBdO3)lWF|}1nbdUJDhd}gNAm}gg1Q)
zJ+ukBpI4N~vD3ZA>s)q|?25dv0%6**HlT$8;x{O76CHC%@pLJ?kn<Bx(jm^r*?GNY
zwaxY5GIog@Y2dMw|1rS{$vEh8E=DUuVqd(^IW#E$J;&J7^F6#(a56%Ij3_y3Jxg!J
zFNaa0Pv1V?{PM!V&{*XS!nEzqsn~+2*(-sK+zAKo(U_}Jx#yvM6;F&Jl;Jf00wFjf
z8U*U<R_!GredMP>_W;S=+1%AVXHKns*~yRu4&=;|bB44I$vG^~X*L_0MEqIyfMa+9
z%_l%U1K+Ob*EI`D3?qZLUg#zGcXDxT?}X+|_;H4XeTM0<{8>9|K+>@&c9AbQgeyF*
zoVexXo1qaPGk9>k_-Dk)Fp(lx5BtpZrD0vyW;o%ErZ4G`B0YWqQjY?Tv(SDK#0!$#
z@j-=?gMv*SSvCRLb2Dj82U2SuH%6YXDWB4h4N0zp4<yi*#iO!g{v}QPTqP<Nk9QX^
z#hbPGsUG%y9o;FINIgW+{tT=vS)h2~ECET=DT<~9dGt*voiAH6bTO_F0U5gZW!Yz6
zh3fJ=?jp3=53O<Lfw0B?+w3=^AWab9o6%|HC!&BiD+Y=KB>gxMSWUD-S9i-d)JZ#Z
zlI^DYwdQWx^uHDy8G69<a;Iw2j_0JFJ#C-{fErZCHE60SyTF5UBXvSX`|=F3=2~(b
z2Al*E{QdIn(GZY%VOV+aBx(K0&PnGDzFfB?{PX_k;)*yWlE=C;Zf7DnERoUl6`t@1
z|4A@qR;p*rzZ6#;q!*KH*?Ap_W-R<)*^xEv7owmE&DKE_57>paHY>H39xoBxj;Xk2
z&7`?DF|{p(Kqp~?XNi6RkPN_440)?X8G5Qu(V}Pz$Q=h*b<4F3IFSV1^srE}St!#q
zra&uqML~(bRr;1#^>aJ9*7uVNIo7JK=Tt?Wya=TQ#6YV5Ohm1r!h`7ef1Y~Zaa{SD
zl}5}VW`H6r8KOzN(5*`?t)Yc5?xkfI0QR9L(1u?9Cu7KhndCg@H_5vNZ2gy{=*Sn1
z`&E4iN-+k~T=HUCn{D(LY|p#7uQ7(bAB7LojD;2`Zqq6e{7fniX#?L-!dF~8BEpq|
zcj|wQ88Of}HYjp?I`-P9Z#SCJ_lkUwHh>54f(|bm2vg=zKSJ>8#X`<K51jk?Z|by}
z8+nHIet-|OZ=ox%ocLgZ4Abq5Dz0xhDxr4)HG}xvR&BxTj+xZT`Q~T(#xn>T83MS7
zHQI|RUj?*y%V81Oh3k+MhH;g&K1AU=PwrCca^)MI`m0?shv)l;VE7D`sl4Vb9W^o1
z=$?!h>C#6&N%ih*q??xR7KRaSI>jJuKu1ymt=!xg9!{U`U%&uJS3M;EQO>jC8bQvT
z&6W^n$(Sb7c1@9bwqAgN)1yfguJQ(RG5eUCrr*$FTP#jGZ?`MrRY@gl{J5VrN5j<8
z&zA5)?=67fVc=2I<bUf74jo^P`t;l;;4)Q!(x}%1h=3*+ID7dlAEXt0LsXxz^gMU4
zaMG<r^OMxCl}?$64KADz@DbGQbYdYrLR&U7hDT>#aDw4cAY=%D!SAk^SUVXdbUVjG
z%$x#Rvm$-E*q7)_a_7n`7Uu1mrrrJ3TsvmMq;HH;4}YI%=DL^SV}!@>;8lvCC)-16
zO=%7NN{pBv3gE6~lsum&;S!_Qs~U7DSOLft5KbOE(#p1)MpVX6@fnnL*RBrIwf%^W
z+Z_G5%M@vvpzHLcD%#B7Fu$snL3^$px@~wGPaF9ZOoT&;b!F1pX&nWVVv}VLOjLjn
zHW33H+(36us-WN4?o0H!S)I5|!}8GiMwP<Fi$fJks_}B5n!Z3UYk&-guAIAyK)1!Q
z+l0ZPP1K27fuQ3*Y8Y6URXqKIpYG2Dp0;=j(+=}q^0oKi|77hRT_#aq3VfRWLzo=H
z;W7}K^HcXEA5S1mYYkfa(YBQ@`VMqF#V@)_K5s?M6NRGi5F}KfZu9w0*$<qA1AUP{
zgaUxN0@7_F3$1z5FSoD{qI<TAANNe>9UmyqinFq-=e?J5CeKg&-^Fjh?7Sd{*-SG$
zVQ!qWkG=74Zsj`7LJLtoDn(H4_p5;f3<=uUk;`oM5Z(!X**ztoAJa)ii#o}QO@73h
zEHTfh$i1yn=*ouSpfxI+WKQwJfUUIO5~1zu5oklJ`TLl0<+gruj3=#iLVODJvP6i{
z)U{sIJeDqVmrL)LtbSl8*TPzZbk1sxfa)n7T8YziH~?+Kpt$x^oGI|h;_EoqZ+~_0
z@vm<5Acsl=38Ki{mXFM$D#p+WyeTcMJ92Gj4&zCHgvkjz&_y6b;Ca)h1Z1)&S?tE6
z`Q{KHklxIiAyR~1?9&5Fr<Uwn<}J`lH*|t%lw7wY>lX_W)Yn(~_!1fhGs}5zzT7Wv
zSZfRXhg)d1Rl=fut^nn>Gplu3*NSK7tNe7VhDoSGUX88g1UTv0@s_Jrx<O_j)%l<$
z(>&3!zk_06x@*j4+iEJ0w@h4IG9n#=R9tPoaw^`<oN>KGwlu<XHG8o^B6^m11-fs3
zu%;F=^<FVJVywouIZRdha(4{j&HMcFz7+MO5z(Q}ZpR;W9}I@72kir2Ci|jxHab<$
z2>7AP^BOdD{m}(c(zBv{z#WS!R9>j6&HSNdPyrCr7<1atiu(KG)U!7ycYa-xTdckF
z%<7`<P}y6DU4z1l4?#^syP5C|&@wp1p+2MrG|mxH)o+%eG&jYqCv6hTlErJS5>xg=
zrF(=0?d@`cNM%?3$&PegM77&)z(Rgx!_`v1^;t5rXzL`+ieX-}Ju>7Gkw33%U_j?&
z&{-2Ht-S2<c%p4}jKV$F5BN^&v+3}J!Cx%zJih+E2f7Og#bNelD2iu0>flC*QU;r^
zPHQXm+|3^QYuukT)5HUQzs%A1TpDN^PStp1|M|rGwtHI9OM6`IMGe9O=AS0+S7UoD
zp05gv%`;0WmEmZ+Swt&-FX6795f8zc4JlQE&LppX7)ZQZ4t%&>Qa+y#nv_CI2W?0J
z0hX5-ZN~7EolwNnaVb(SNlGIpVh-IMo%%6KY2rnjlme5~LzDb&5PpY&PLa%Y&Q{z0
z(0{X#2Q+i@KQAUSZu}|>ZqC%&&(El}U}oEWdA;wTWG{J_ZzxPHKMM$!hPs>(+AN!w
z4jg+l!F}g**{|`yoULJ3K5TRB{m9z;sc8>OQ~u8GdVoC6aUthm9~pQxm9usI9~#i~
zFHnRWSWW}c6!RzZ<suM@39Uar|90E1Y<_PqlRDCE!F+5`=5~aeL*K=Rg61GO0V_G#
z-^-xMN(FT7wlyNH-g3EQ{;JqixW*)KvueRR$&$|`jkpWxUw7sMe^2ruOP8+P*j?x!
zyC3{N<tB3YSx6VOjK&_2$fz)yv};you(V+RX;7wZZ%03_;A!`Bt+#QRBe<vRGP-9{
z_yug>JRq#la4ni9p0h`z@fo4Ht>Q{t&ZCE|yJr+r!yW~u=mZTpv4|~P3vChU@wr((
z_CMA2-!|34fU{?Lh2Jl}8r*u2GMLrCxVjqaUaY3O+8N_<C9o{-?wM4!0w6?twb}B>
zEU7?Jriv!DeoxD+xKhty|BvMFpEawPFg;d7vF_V%m);j#U298-pL*HA^JD5xs{^Fk
z9{GusW?5qZA^<rET~LDlS%sOo-_87V`}UH-q<gVTN6a32TG%jGOE|2BFm(TEx3{4J
z4oC$Y%NT9G`LyfLRxf$9r*c0(*0%2a4Z@(P_1X7nbCTWeSKgV$ufNcD+mG(=?>K?}
zl<ofW3vzb>^*#5KlW3<njYtfx=ghT3@ydoU8FX5!&~ADm>6aN}H$L>7E_PXo0g!^f
zwpCO-6*A8p>Y~^ZL$rJhbh{?B-EYVk2Qei-wIC^K2oH9$>Iic<$Sa{fr+{lSvGz^h
z1JOvuttG)D)W^Eat8?m)RfsRfj&@A4xlEt$7<%e<u3N3gn!@__Z}G{pdaiNkl|j%f
zY&x4$flRD|*1e74S&(JK<zL)&%>pMYkk7BWeUcnrv(?Yl@EM99RMxCC+qkGEXagl(
zHcVT-h&J^F31H?=o;<=NdOM?ZN!(3yV@#|?V!15Z!xdo20#ZpZKOFtdU-iBddBETO
zRl{tDRTQ#2wZY>+V0HBM1B9G@Ph_lBe#ae<kb(aimG-FT3}E|)v;}|YUD~QzWn(ig
zfi}UF*umi$Czss%m>qQN9o%ZzCDY~k%?L5+7%X6%QKqyz(&#@u2UxeJUFBG`FvXT^
zQ0d;-^DMVTxN(@E?7;peSo%!yuP0K!B-AE1dh&BGo)r8r(I=kh)-H=|M!)B5%_Bl-
z!yr;gL5LhC&{P6K0#F6enXTes<Ek^iAI2}NeHhIDroZ}wk}%gFm&9>v@&azoKlx3T
z0*zM0n4=(pSryGfp=Iq60s><hzL4MZcy;!D@EmG`$J}GP*`VoT3?ViBn9Gt_sD0bn
z;@@_ms=7w5IF~7hCqdi?qEhh-_gNsfytP>av1(&E90)OI=nWq%Z81`xBj~Ytp5)+`
zQL*di(v5eb8`|@W`6i|FfQpVd#r%~ARSp^ly%eNpOZQfMUHj)&<$=EY!R`qD5qm}a
z%&&GVbK`2WkWj9z2>B^!3l0t2KJ0lNCu~@blD3xe!h~a6N&oSNIJ7K-U!YHOiGV@x
z1(H&7Z#|9-Emv%E6By>ho<pRzRW(jTv6DiN8t7kR(DXt((9i({2b#%i*~{H<q8CL7
zTWQ<rZKf9ve;?lYy%OvZJ`pS<?LtUCFQGX(m!{Avra0-(m-qhSDf@$2#UCq=Rp#u(
z1)(b98>COqm;xuF&1GpjmrztB-G&zNF4o08lS^lpBMM#1(%Tvs`sQlWO(q6}BXCde
zW2x1`tYem35N*zwCSD<>z{!^Jmqb?^P>y+8zOE;;3Xb)4Bi;lGRTLHIgodINjxqj?
zc|r_->VHZ8*r~hSX_2CF%*^^`sVoF9=miLyKgR+bkLC;Tr_so{H8-9bO$0ACf*on_
zZPi;EWwxI=9r-#_LVFq^)nj6$q?`iUcYRI>bhkq*<{|oDi-jXscNYr{>|!dAr#M8f
ziMgb<IIlLYJ1;-d@_*TJVxU<EpIq<yd_@0)>+?k$@st1hA$JbVtdIqY&$HzWkB%xm
zx+!%f_=VfW;PjoS!OE_^oo^qXZN79+#TA#>oymdLiD}Ik@KO$VN*-2`nCcQy_s@CM
z?s8@2;EVb69m-s87?(gf=va>QTD~>|(J_R-gSX~<y)=z{IloVo@9pAiew>1GG0vIg
z)PSaMJRhB~D$yzern07!6H*)6{Y&Jg8*2ILZpK5c^rpa*6)A0YJH~y?k#D6kM>L)u
zJlSllj);a{gk=Jd^M4ho&HnaG^Vnc>!J)NpH-q(@`b=}q@(JXhOK^*bAA33Ml5{*i
z|NX^5$%LD+?;hB7KgzH9(Ll3<qI_*3SDbdQ0&T&wyz+<EL~uEY3Ysy&3HD`W72oIW
z+M2c+X2lfeZ^pU*YSfnrecZPGw_JoFXxISvazbbqsA|bfoHm_5$7)R5q_)D%q6AY9
zDRMf7$GY$Q&`~}*?2MiCIw^m(<nCno7D!7aAwlsw@xyX9W8T0NKVS-{7p0|rC#Ng|
zN^w?^j@C0|e^lCvPEHmEx7+Mp5pI;m6y_RPsa3JGnlC+J5wqc&DYW-&K`7T<Wd1*i
z0c|IBLAlA$-OliEuHE<x17GX~kG*+={8ZHhX}33FpERdm^nPa0xOZdn+dnvi!s^YO
zFUNj_+|1Q|TfE+A!9p7`3_msBBSWvY7Dd-1@3-X2n?tXnJHm0l+y`fjT^u$Pr#gm%
z=W^qO-&t2%+5J-XZKiv6HH3IYHV`6s&>fW_jmCg>2eVoK%A$JFwRpK~jkHOf;Xe4~
z`+H8S@_Xv*s(YGxPaKxZ`^}FQef9e}WOdV8l=CRF{->Id{L4OWT`(JZXMU(k$Ta%N
z^2V8ez6M%HUt72Cd1m@>MBQ%0a;p))R{62bssBmoOhFhUVc-J8qwsSj^b~)aS~&S{
zcJ=?X7zQTkUxu8Y%kQS`Smkxxv736U)g*VnxHt6IPi*Ly*J9TMSHCOutG_wQcDm2?
znY$>`ZP(KGX8uaMqxdOY%#&U-4C%r;v@Xb7eMV7pA{(X*Y<gdGr>kMp0UMOyT2@xF
zns&ovif6TBf&0hJrQhh^wbgc`jK}{DW_G>!#S-bv@X(UQ8hXVCdOg*!7M|}9Qt0R}
zMv=jg!LHF}p~|lK9laMnlA{$6cR0_|MUGzbWEjsmT|_UG`R;<#M+9xE^i1Q_Zh9S@
zNT9vnOh8_QuKs!HSQKr8D0Og0LAUJLb2l6|$aXU)p3mJ}8eG`@S&=hdBfv}6QG%QT
zX#f)JQNLfme2NcK*GE<9ZTZbUGw$M<c-QsNooh<n-sc|k4;7`UD*BS2lD6iuXEa}t
zpZdg}f8q4;#Q&JkYDX`MyuCIkuLixI2{-ch&5^b@!8}%Cc^VbMvFzr&;XC!YHsQP3
z;I{V4-dWRN_N|b<ifBOwDh>3NffC7rrg!836x~~=*=$et&V%1GGCir%Qm&if0vSbe
zSKbCVAViDj`th9;<*^Qr*i<t59kuR#44?cU@JXK*7Z(thghv2I<Zf-M5ib#Pgt-Do
zzbYFI%(a6YDSS4ycy=VhRjX9Xr|qVmf$Yp!ibU|6$3mcbF|4l;rI0*(Xe%E?8+)Z@
zqpCUpC5(=h+@KSQ5ULV#Upcwm=CS|&5#Qv{^G;ou-8*<B`&-jch426VU2M_IH=~o>
zFu+l>PeCYpn)#m&;#6k|>H3(ZtglMsCsCM&SPMIfw(A;|(kd=uH93$8&v$_#^-se@
zL_+rqHzIK!Q5XhImRAUI<U<Qo8Z>~W)h={tFna7LU%YdY<_6BT_N-(0rX`M0JeAk&
ze_j|J_u#=+Z<xPuQ#BFc%XMYv$E7&)8Ve1mdKHGJ|Jw4kPP3(Vj)y(4XQh&1cL(K5
zBcK|x29CF75Bh<*6R$IIx%hdX>&97!`z0Qo`lO;M7;bcN{R~+Rdd2q&0jUPxn}&wB
z5aF%je);pu<m2My%7co{u9<KRmC%H}1v4FG)U~%4>s{aJ<X{Z1+#_w>$p6s!6auq=
zvX<*<G7GuDDS(ItP=uKkM4|urK*4-Gn=%5}$BA9uZ?|NnwKtEr*lZl1>QjjC*6PUa
zo$Av!dCl|Vk{pqrkQ7uMtp;==IiMN=r%d~)VcNd`TAA=xA{H%tg6Udid+WJxPu&=K
zxn_Y!c*XGbZj`G^C39XHn`Ri4e>G8#&-ly<{r@@h4*aXa^~gQV3D{3HPZV7j@B;zK
zx}vsz_N-CB`ywV&w_m^d>YIPQ^=U3o8y5IKOuctJo8S8f+*VuErnN`y)`(TaZfmu*
zT1u@LwJD7lv9<PSDN3l6DryEr>{Y5p>=m0J_TJlb=ktAjujlzQ|KvXBT-Ws;*E#3D
zxAq@MjVYUy{Y~awm^GnHVoyJO_Vg=M)nLBeF-Q_nBmMvW+hHOUFW3^pgi%fQKO9R~
zgTwI)84igw+$x~Dm)3pv<0@y82KHBZVNKUpgm0Rhd4><l5b7s$gfHbN`GC+O|Io&z
z(j7Mpm~m<<Rr9oUS2EqN`tuJ8F7ub(?4IZMV(R_35`UL{8h#^s06vZjw#m*hcyVJW
zXqYur^8a=S4ZF4e^KEazDV8>2i0CG^@Y^(MgG8}PY3y6WR@jcu`<T)mSwI7U#J;&{
zZ$JsVaPH4mos*1WO*mqjSaY2szkFf~m9&g#`>CXXvjXzAbX7=wC>?Z=Ctq=DwL7cZ
z8uSZo<iEeVJ3kR9R2C@VOPlq8(ny8lzwSU(^S8$YZ$YU*51qTq|MH$?zbeCUKeoWS
z{$ONq#QiUYbXJ@1R-GOTs!3Z85F!(ME}H-Ak!Mf;N;#-H7~b{adH_HP_1y1es>ETt
zCsEDgDjZR3q!7OLT1;c=<kRi!G?A482c-b-UXko0r}_kH)eyln-k{<C*+;@IC7=rD
z2JZ7!dTpSw<&}z!7aQ;KB7rB-27{dGe&Q?iLA?q&Y`iJ(>F1Ty$Z_e&<-dePP4h{$
zKd(Yt5wE@kf+1w3Zpjw)@~>98maE*?TaH4fal;w0TZ(38CMS~BcG<oQ7c$e>H+>cR
zz6I&;0=Evu3qUvdKYrt9CtSt?q=-IXq5)O(;kjrsc_s;fCN(joX2Kev>a2=iR>vQj
z(e<YDaz5prU$b=5_s7kOb~fzY-oS4Fb*rt6(vtKmH28df--qkbE3@zXH)umWgpG3l
z{p5JXUC;)SH%K!&NLirGbd`u5d^333B@w_bW7{rP+P56aciUk(V_Cu|^`)w%7C|Nt
zk7|98=;r3v5!<k$xh!ZYP{IkB^5dT<Jjzg_tG@J!b48WZzbk(Qc)7hEuJ4vFx+w`z
zmY0jJ4vP(yG-Of#g7@YE#|{5ZB~h0DdVu@ATuF`MJ!9T`$+3U(nBDk*)BD{{+rEA|
z$hW=(@$T^0_PM<=;f$>cTa;qZe<k85^mJHWW3v4N3p3OznCo5bMn#7f#o{+7kh4sJ
zD?ZWT*q~rQU>O=n+mIMVcteGUEE`&CZ2Nb~ZKwJ666Rw5r{cX%k<dr6iC7LnK`71D
z)r3)FA`U}=@HMDYH%mYA@R!6J`E(7yhWyn#<gJ#TH^*=DXu4XXtNpbeoIa%~d{9UV
zL?q*bMnDy)l0?C0|Je;VFpR;Zgbrek2vb;Od(%g*;<}$~yengR`wU;rY|Dpq$8ifd
zph9F<ol9}^mK5c2G}zzQs8rjB-N;&mb_{b18|3l+!WYX0)s68>Z@kPljW<CjRTFKe
z>#0l2Ik8D-Gc!R_9Re=~Nf{hV0vew{d8N!yI_c~yz^Vwvy2)r>r&QQ~DHGnog*>g>
zZq70x2{3)@+dq@gCDxWzhQu0cs8rI}y&&X;dYqQj`8PF3*6U_EHz8?D9ZzYcLpMrd
z?kU+iv%V_3jAb}6WH-XmRJ*On9V9;Lso^LT43~#RbX{(&(-Gb6)jI}zB$4RTIo}{0
z(Ru6~)OdMN3~MIke?|j#h|&ldF|?v^mI>{j$9H^@fJ+Dv*@4~ShqnR{X4r{cId{JQ
z)*|X%=?-?t(d0Xx50HhU!?2()vKsPXg;GGhbe;k$F0=NxF?B_bY0Ni^d__(rZS~}9
zL(m*@dzo|q{(6RoRrs0f-I4b347wjxgbNZ+CEb5W{gLRE=bluxKi<ZT=l7;xo!j|0
zVx|3ZTpLbbEPQhsc*x7)|61;w_2HQ6<u-8~cdX`n?q$s|AWv5wly=zqYfU1C)xO{}
zu1V9tz@>nQH+uH1@N=e*q)XI9g_+;vyZMFCZ1XR2r<0s5ORPn`by9M5Wx?xvU5W$v
zz?F`d^jQ(ifP^cFQT<^{*!R12Y$^NNTd^hmmLYt~BcXn>mEJ_tM0@ZPbL*4+eeq1d
zY{u|e&{AApHIq5DkP;GB_&{o^u5JFZ#Mwi*mv)xk-J3n!D(RT{E;fSs6_$2QTzz|G
zGQE=<BhOVS;#&J@MOMxCSJu*T+U`V7fMC7iTH;OHq`42DCvHA;;gVk=v+>VJz1E0N
zGKqi4+V-g<ph%3t%qxSOQS>p=;Hf%O{6k)uiIcrvbS5~xu<A>fZ&$i1rR*~k?Fho6
z<W-U`DX<f`pKw1~gWku;OozVEJEoa=?1)m~tJvEN8W>g=-l0G?m5J(*IqnX&S$YH4
z4*Jsci0WSWy9Z~deO5HN4+^dPi{9^^ZPpe~_H3-(DZzkhmwU!k#fka%z$gr=@>iSh
zf$~dsb9V-&0_OT3?QR7T^0lSy;u9Q#X9t(T?%388LhnQC<$H-9UwMKGki{rpXU8;)
zV61EoOiKQx@i!3PanftAgft{BF?gG~Y<iTDuZd~;s+`7b2sZj3R*GL$og_R~xycV?
ziuAkGLXmyLoB0o2QfE!4T4d)UxXbgYD%Wb)OEK0M;mV<;K|ay(Cidb>vxSu$v@(&W
zCB=k{q=lrlu)Vpt8a!%=_T)!SyLJuvh>a8k`5b`#!Mg`iOaB))s#{eZH%gMiJ6Fp}
zB&BWqh5e19IA{NLNvW|L?{ijL;#jP&DvuD|YR*X^86C|M?s}sYvhH+ie`wGh;~!F|
z{r0*S7V<Kb!&kWvWKNee@k4q#!<`Op;C}@z$AM`(BD=f0%;g2k>_wEIPsXn+Pxjx)
z#9h`Pi!i!1;Dqfyk6+JMokzT5+b#gzYMjPP($cru_sTG{>ho%75!#h5Ih-2$p-}=W
zCw_H&V$-v=q&a@`?E|s_pP0g!Mk?n7^mXY!S7(7&I+vG6jZXUMHVBARin(`oqQOAY
zAp7}igoJxu=%tj61jJ=9y8zU~1E7k-H=k7a^t@{zFcl2VEZX{yAqJp40|Hj;-d}#(
z4Yp#AZy%@6dQhx3QgIbt_)n|+BlGpkQL9)|IE~NI6dawScy)?xT)4X2x+;f_2g`Yk
znILrB^N4YNNKo|Z9HHr+vY1yH`TwS5_a8_3yR*NAcnBA;QwyEhJ5RTT@K5?$xv0Bo
z(4h{6bpe-DKh+5Lwyy69n!`GHjfd?Lw4~w)R)F3V`ovkrx!VwOIEcRuSrv-~g=`kP
zul$OZAf<xX)nrWnN;~qJ<fuRu;eTIKw|p5U`SWw>>S)|Bc$P1C{03z%%`E*FBeU0j
z3Z>)n^s^*IwVO3O?u~Eb!(`ppMzn5IvL<U%t&~$SEW^HlR1KdZKGwV|ik1NMT93PW
zy_VwE4&kOR1XFgiDwOw*leIJ9$X7wP@{{$jP_{H)G7Z*H^ux_EshHf4%&pE%N<bPc
zRQM~0k@u&aQdb~<ua{H3Un{Kz#jfezJcQ{Cwx-Y$#+}t}n|>tuzbI&Z2)`ju-czDB
z5~J{Xl=!#ZlVyD5mo7KG(O*(VECl5W-Y6ej03tA)uSm{s?u}0@-TBAjgmIv{%))TE
zKWvV#F-2ikYruMh&3Ek3#Q7e3>{(02F#5ks4WT%ukzXYug@49BWExZZWn8Q5Qvp09
z<&?E^lk$`0;=0`zu-&0(k%nA_1Ki(-+CO09;W_RnaUgEsug%?0P#|q7_L`W?p)-kg
zU-?a{2?H#QZk7Z}*86h*<FHrKHR<7?S)#fmp=W@geNd?NA@%;@e2kp7w(JTIYPBW%
zi7D6L?5Emi&<N1dnr_H}d-V$jB`X;YDo7h??$Oeh|BD}Alh#W?)4iMC>~H@t_z2tF
zaxzFK?0(M#UR`wTj8Q3_zce|pWIWALy2vxo_Jt;Z&Q^CrL8^>dn9CaQ2~geID)mZ{
z#<6X&p#&s+vdq^MO#)4@M9Ua%e<WP-cr9qScM}{m+7`<pLd@=E0kiwTwZDcHk@0pk
z+Z<ahmq}k~maMJ>1_|+~eufzHaNPy49?80T;jr+(WVRv(>=pQiyau(;1MVW>V{)f(
zv)3Qmf{Yctwk^iqH(r$MbGTSTcUl=RJ#t%x!Z`|H69i!${c22$F!VKqcOZEnWrxn_
zI{vqmsmi9Q_xFJqldygC7AASp;wY~H<iq4mwBP=6f5&+zmBRj)!=dmsxXA2fp?2+d
z7zimZsfpk^*F@;KyRHH*2Yf5<C@21Zt0*OH&)r00T}|5cXLXdKS>zvKf5wGyTKY$t
z8z9!^V-fEgPSi}$Mt(c337pFwBSz{b+P>Q?kjo+snxsL%V;Ky!=Ea5=%|CivuY{;;
zD?4pzD6FATx1dBjk|}W)6HdQh2ONwAr9o=r;kXm*7#Gg(TRr1{^!;!sjOG6Mica7_
zrvnxHhz%8FdN`ZpY6Op{0k;BhhvdsWvP%F4nvRu{E(HFFa4VOmptt1lqh=||8>~-W
zNf&n4!>XhECf+xqP~(Na|1o#)KCSmX8UgT3v~icW=5EGM%)OfZq1K0h8kqn3V>(^u
zKQQYlpg5)e>k_h2($jK7?BA)fdf2cxrR4<>gmxpl?}?@e6KfH~2gQXi$^d2&g+&rC
z@1j8mvud}y+UjyZ+OG2MY&rLU;eGvY9b3jp&T`{uM${%5Dq9{unp1RY1E#BN)?HKm
z<l>b&8!vpuzw&UQ<!S=p0D!bz;*4xlRDF>Zi`)>BK3|WA&1L}Uv^tPeL2~AIS8})l
zFU#8h5Jwl51bMo@TfKOQ2hyp{nR~sGa9C8$ERf_0BJ?0NczE$;R>M}q8G+q2`Ob6O
zK1)wOxHvmPfFL#Y7zZcq5xgNJs^kmk&1z{J=)X;GHiSg)-6>&Oqkxk~UPsd=S$1to
zp0Brb1h#hS0!TP81)MJ73kvjMZ|M)Ksx6(}xZj0Ko&$WL(_?x$7cEkr*lS?ooJg)L
zQoRsA4jcc5aL3Vd){#siFVkzlp9v;f(<~5TT{)$a=Bv#j{H`Xi-7-9Ky`ff0R`KAn
ze3!j<EgVqpQl+P#>e}WkK1Fg+O?XTG-H27XG`!qPzZ$AHx?W~}alWLavuJH*@$pu9
zn}bt82IhIqT}vAX_;5m<AqQCf?=c-aZPDiv^9lR!$|6MtX>hf;u<`!i4|kUmk0iY>
zz8o25UWmEAWCnsw>BL>IwN~7i1o0eG-K<#yIpZa;rfwbY1NKrET%KxAxTS+wF&8fp
zTmaR+ssVQsl&n0v-%IOQ1r@c}5j9FO5uxV0LB#A2O1s2?hvXgE8Em<7Z>{Z~W{g;Q
zTZi)fy>MkIJ^f&E%;x%+Mi*s}O<&d{TOfZpYSqCOI=bdDPT8ZY_?Tgn{B;P*ov9F0
z_kT}098<U6wh-2BNU@<$;eEgOQ{R9F7az}YWoVt|U7l&Bx7CZ9o;R|-NH1)#Z6|w4
z!a=qs<mES%`>J$MTdreJM+v2HLS4b1=JgiVoH$rvnokC&5oku%m=<ERfrk(RB2-it
zAL*(3@AIHqr-v-^{AAKiL-puOlHZ!}Mu){3YLIh@4L+pSmNT6Wsc$Q@U%Yxmbe);D
z(rSIjF5TZiiGz(xNAV=9q7>(}G%|BAAFBk?5JtZq@Ei|2avy^**!~b`{#Zi}6j?Z+
zE?tjjiQ*KF?)F0^r%hqctF34J(Jzef)l2c)-_Oc=%kPOTAy=LogtH5j9*z?twwLo}
z>uSWe?!m#+;<z?|5xK`)YB%EhPzUD*hL*Qv4u<p+*4)2W%yZP78zZ=cipZ4v)|ThK
zwkTs)z{_8Lp6?=zHQ)YVFY~wi-CF()*?Doqk4x>K)rcTx{IV&g2ZwfEl8&5R$+L%<
zJH1-)4Kr`~%cykHp<~_tg>$^qZZX9!X~LzpI~*}Vy~+NU_vxfoE=eO6A6o;)6QuiX
zk%nY5uKiBI@n_zSpCuRQrzARq>mkkXdu$b5)+n^f3|=*0pF3`I3Jt{TQ0MphmB>@Z
zp9c|*hk&n-uRofWOWFTPU)HNwdw#LS->DOr-zb-(1=dBB0YLw)1{(QN1cKZp)Ml_%
z3=Ny!5SPtU1PHd;uZ}^ub!DK&p-99w<b0zNop`;?TV@*LI-~t~OsRwGN{LdX{WQ?X
z9HAOl%pzf{32XZSWCX-S%q{=eVo0wMn=d=-ntXm(DX0<4US^*@_-!(SOb;CJOM|9o
z5N`oNju6f>or+GjkG1)9^;VgL({q>w`lF)C{tfEz<K&h`e~(AacG<=-xYZ#f(&WH4
zS3>hw<~(;(Gy1pA5RK=mv0TUp>4BH%ibZ{z3c-To?>`jt*=3*o{(%f^P;6G#F4zeL
zAyIw_Al1<)44dE~2t$qsLCJz-7m`^6>lc~D6iqFz%dBm;pdFDZjb|X4ky=~}m6IS*
z(Tc)$(>}9#(ZR;7d%04tnzGcw*;XSWoFhQ_aC9ENdwHhe(Ay~xlr#%bkxUR!C6--S
zFC(}d7VQGp22l92Zb-EU?%O0l_9!4RB|NH+-^N`WVc*ie*=VS(`|F3{&FxYOq;0TF
z*126~<XQ(uKn9G8WWjoCz2%ziwmTyxRtFLz47;<z3gwdF0;xq1RnIB?g~qGlCrg{-
zxUaS$AXBdWERZVL6bPlOF$18~R>d4&%kB+v$J%q_hiwpv7^d5x>voNo>vl>BGSwl=
zi>a#G;3o?yc06<x#|vItzfv7D=jkr1ZEw9j_A0aXpBb6k>s5_WFj)8*t+G00Zx49d
zfUC28?ED{-G&=W(KDT!VYM{GA`M{(IXT}bW*UVJ|j^u>-Tw^x<W6YpWP~YsLg)92l
z#wgHtW_eI_+RtVVtlYtJDYv5Km=Y&jHc1|x@=qmkrnc(8iDZQ%+uP&DbCt8X#GyZ)
z6`M_xJVEk#KV>+CsjupWG_L6GGn?gz5e|^G^kuAM%fD~P`~0<S1oCEc)KL(4Q~;ZS
z;%+-Py7R-?UK%v$+2UB)i<yR%ukpTH-O>XwJz68_p1#EI=s5y~n*I3UlNq07yB_KJ
z;IT88BM!H@WqF8KU>||x0I)H!HUgx*MmQD427VPq<SFcjYSY(|JGEz0!U&B!rg1oY
zk;r_dmF6QrF=O&RQ8Sq|QcSCeCGGaCP91j$Y6p*4LB(GI{=e=aTG?m+S>Qc&);LNP
z_qAW&wJlxxY?L7XR&{SKzF8!<%W(#Ba6Em&MdOGsIAfalk<gZnPT5WW)BU*m!*Pv*
zAkm)Z#|`JDn%9Z%%5+3+J8uv0=1A4e`vJ!PTkrHHe8$1<dR5oAA7=gs`znGtis`F>
z5QGDNZ=1)Qg?U#4b`A!hu;CL^0=rT@p5D2<=@>_+(;iHv_+Z#kvbsEriO|+Ds!G9p
zxV(hNDP4;BRyxJ04wMyCciHD<m$x_w_sHo0I<Gy1bo{|H1ZYJw!}P^MW6UWsPov*=
zrl%N?HSc~!4|)=gOkt{*ej!#vM7wIcrHms0rN*E;JnPT5^=_VZ#K?|qWu~#wKx=oi
zR{Rp%m}DeUt-``oSYhk~lyt#Tnu#2;bUD`aa+e_v1DZc7V!LJW6$ux*@)%n3fQ-8N
z8vxqT6p`TWI!-v9f5E6|+EyIEv%5byZvPS9jS<1Vg{j4`J{)$`zly$0mxT_xfoN6@
zb}eQkv8LQs2SnG(j1PKDL^voJVbcM=&R`o$J&X58J8kIxo0n_tOJ0!6JPn%D)n?wO
zRf83T*$^{8E>C)mZ$jlgs`2IRwxcDMy2INS^59FBGBo?T34F=}?U;r&4}{#NVlUM1
z%&#$Ph8Gncz-+0oN2}0^!s=h1;O=JUgslcS1-X>HiElEcvyCwiy<Z{}JaB2%s^C`$
zD-YLkc3?XGUhBX2zwdm9m-jcn4@fX8Fd>%ecSH*uIg$K>k|V6DZDe$)L>n+(b{{TX
zpJf{-YO#AgHeuS|6c)F5oZrg8kR!9-CIkpZ_5wB~Gr4bn1KAQr)fs+4g_?iWK!xDf
zA;=2#nKz>gY&oB0X0OFP3AW~n27NQjoIn>yMeVHQq`yELCoTa}$>bpt)n$aS@tTX|
z4>_w`6pJmY)J1i6_9_*l$oIWqFyyy2<K$Zy2gZqcyhQS)><h8_E7_`lhu0wgR&=R)
zbQ@kW@by5)iGf*dRBzVolUsoL9#w^QJt21J2TzjM=W~wM`@$7e3fm$yw!5Wg+VgVK
z1k3|3&=rnlUyCY#u0cMn2$qd{FYRBmY77{MGUMxyR5t4*6tFS9`nLjjB~#b~**KP)
zOJMp4t`hYwNC@HW$5;mw#S@--XO3F2e|)JCuM2dO<Tk66rN-^Kale+jVL1&Lg2y$!
zXD6(1Y}mh~BnN*Ml>(pMKY%%+W)MY|$EKcV8(a*g_nUJA#%8}y2e7fGUStE-+7MCT
zZh2cE=YmkG^uJ8yPwj<oY}UV_;&IMb-IL$%Q-<{_94#-qzsY+oP#Qo-XIOW2dA2)a
zVNj^He7aHD5oxfdv>Q<&Zqc5q;JqkkYR|a=Wqv|@FFuo|t5)8p{Hv|cu}57lCf42C
z2*CyQ+?xTCf`PDnUI)Ybv>Drm586D(K0o|3`r9gj6SozV_sQpQ{oy@|8GH(V$^AE`
zuAz0ior1=ay|#P3A}o8HL7e+SQqy3CrglTS4vlZW)JG>2mRRG~igjYol5C7GJ)qw=
z9@gCbSWE00Ne!oi{qJG32I5zjmGr^@EY^^f{iPkZPfLB@V3f9aqn8|T3NnP*S$vnf
zSAV{XA?!sv4$H6GxcNiH>-<|NRtgPT!dAGMpbFx|j7-LGW;G>_mE4dBN>KTo!SQ0N
z2$0eUo*NR?q^YmIJXfy7UZXwH1iEw7Im|g33H|KiF4(B%eYR2Qp?-1$<ybcDv-Uh&
zH_iy=@&kG}W``l>@cW^^2Uy<sot7I3+Amt9ouYUZNknh)%_C27O%CKz*%~5R;Ybb2
zmpqz+jWNaUOg}J^fKqpYfCg<`AjrcuAVXLH+gF<M>z_zNRhKL*%K%?>JQs~89LdR7
zEbEp^ef`J_Yv$|htTl%V=SZq;p{xD&0k_^#t*1-Ru`+%84+iC4YUtX!-^CuFw%47*
zrp;ZqeFLkXGpG(rZ7Ov?G$)4N8aGF9xno1i65)NVDY5{Jpr|Y{a)wRl+I6mUmwNQ;
zM>i2hwoDriNP?t|-B|fkf7{49PBm+wbXuhGTwI1-J|oWPP-0a1Xl{*N$<{@=88PTu
zHu^T&{gWFOg2p}SR5;2~?!lTBd^Y$YaVe{|QW_451vEymhl~z`-728w%R!&6JKpDQ
z!3fv=-XDNHtlV|7%uY0jf050#2UAcdqE1TpKTI*`{^KKadCFL3mH1))pD*lX$pb$U
zPCuF7Lbfq7190!2&3;bT9I<_g*R(arcf+%Z<|*zK=4~^C#)|54HW`8hl^rc{091uB
zgEn&RX8wmgD%odhVnq6X|FOIm0@9Po4*ALioo7&>tDk83yOn-$9!|Wn^pQ9#e`XC(
zPkqz>WHjO7tKV}INe6|$L!TZ}SRYjL(nUZ$kK#2P!v{&aKtBDdTnuIpe2$;Uy%=B$
zU{m(M(Pl^kK9#iQ{0T7IIbgQzrp$m?{=+_%;Dq9>gb60I`s^=rCcaQLm^X8l5xtmq
z$oc+DU*>QMZf=y1=PR`O_bD#__EukpGFqQiyKmgF09Ec7UpbSs)5alER(h0r3vREp
z-{)R#QB(~O;LS~vj!y>2<TQ`sD7BUL#+Vk5lVSiDOaN_y0D@dY2r_Ykg(#C6*^K9g
zK#t?g8`&(AShISc=c+B02%jzwEQBBDhv_Z>suTnAF_p3X8$mE<HX%L=jNcTE&2^@k
z`c<n}^9vT%04czSU6y<sVqLmXaa!c#wW{4R=_6>Dn={S4?X>)?F=oPj%mmR3EWu+4
z<xp$NDdF)%c0>|0?1PFG&^L_%yAhjAQa60-5?}C+5#3%iYFLQZC>J2Ml<Ae<vrnY(
zt<$G4Km4#aYB1x99Z)zDuglN8h9LH>E?Ds)onbdxv%y9|ggnusco=h#0_4zZY|n<O
zN{9`Q6;oqa)ND{iaII&N*@1iWfan9hq_bsAi1pf_g6@29ngafv!r>S>>paSS8`cG%
zZTjd_x5>8QoTeo;rXnRQy1~=tRWR%b>yoy8rNHOE{fF2|KgO*`MqMqI9W~5jJ9J>+
zUeBU*{G&qL5Z19j%cW#RDJ4tsN6akd0M=Ex@awB6I*@H?b(anjB^nDdO{h%-X}2{g
zV;}bZc(PLavMI4fV|y2daTu1LOuhtM&wz4kuTz1{;=mN0?dNZnVNB)vpLE>c10=*)
z1P7`hE*oKHT(F2MbZ{B?(pFb99aRM91*vogy&}>s!0#Jtmw7PH^{b!sC8TY1E&VOk
z{A}I^g@C<R9UxKAERfyuoI5KZN?|2yP2DS!FUgye`h=AcAV_=(QhBD^Ebzi3&ylfJ
zIz^;eTW*7=pr|I_;Iq}5jiJw*X(J6$m&vMy_?(?vn*$A9Ebn=6wa=#4@YSMGO`+M^
zEz~upGZ>Es)Dz!J*??k9IuLR38qvmGff_Iyfm~TNH;&I{oWw}O5}C|EEdWG6WO-Ne
z(I8>gc2A!olk2D<l-Gk5+IVp|n9n+S8EZl!-lAVN8F03-3r?_k)HJT6m=dz}&ZroX
zmyrA+B=2joZifSjZRuMzLEDN>7DM}x!($KmUu4p$f$D(tQbw4s%()8zlU>C9A~NNA
z<X0u73wDj7%k3;_x<S@Xqt2Q!{1rNQ;)u>y4vlpzkRoRH`XSVCJZCIP)dt@J?B~KK
z{EO_L%2BevM(+c^(~y`kc`ecC1~ct)W09?c)!ZOfcWSJ%m~^%$_;V9$4-s(`w8*R@
zuZnJb7wh@~6b#r@wHnh5vZF2!S$cp%_MndiN$5ZnbF`eGdjc(+vZhm&@6A!WII}81
z2F^S>fJg*Oju<Le%mnzNzJ*JqFwrjF6bybYCcxa#^+NwE#vQSW#+nW0dsiR>1I9k=
zyxg??+RB%jWrh6Q^%bwFqJ-s9?wRb)m9*b5Z#$@2&%q#S?&5SIRaxyTUO?e>yJCcq
z5EXF;Zv1us@M`#&4WI~Z4z8|}HDd2H3!mmQH{jTUZPUCL7reHSZasOZ#p<1ZED0Ks
zr54lps4x*}#oSghSx@h7Nv!>_d|8jI)2>gAE0JLjwG!@T+$>LV<ThA33g6QAkHrZ9
zM4wSe@_1?j%Kby;Bh<m#u?mCB1iTWYY5`g#^H>37_znQa%;9ABQ#4L0CIBs2vlbO|
z(#ahw&!tcC=Y8XafgH;c|0yN9?<twXFeA>Va`Y|P7_@}~UFog%iIFq-HbuM-)Tt3*
z3P`Qz@W@xfsc)b2Z7aZGt)VJMIEpX*lrQ(vANe(&zWDVaont=rliT4+CP0Os*uPUs
zORSs1K5%8M7tgyxVn(t_6g(^qtA9ohitP}F<qH0_L|T2}Iq-xG)OM_!Kb$XrFr+sw
zK>6os(<8Dq|K*JE7yeXMUv6(k&~RswAT1$zudRWV85-eX_uGELByJsH(A`2ztr%h5
zJgp$DYq6RwWMC$vP!=8+eEU5J7a>Z@%x??{sNQrA_{qlWu!!BsCphCekm_+L=&HYU
zr3#4I=bgpWl@2{ziC~U1C3|7(f@q$qehb1Vd-YGspDyOsmyS$D4X2JLbI~GMKRNC9
zgrx5%cajTB-;sWuTV9A*YTB9IYP>Sza9|G`XMz<+#)$Ix*2AZGQ=o5I0PVBp&K$-e
zm@dKO<3hoF;=!7OX#^_w4q>Nb7pPo<)DjCgs@->y;Vf=2cANa<oj^du`5^g<G27IK
zE>bfOkcEGrYuw%we)H&Nbx*~E5FY6_vpo5>mi2yKv$Q$lP;n;y#Cu^>iXmGp@7wP}
z{d_B@7#kS?g9YeH%XPzktG$(->D$HUomuV0^VcC@#j^&GD%c2N<?bpg1(c2JewBmx
z$$IW9z&TL^(M0F=UL4Jc03|c06_eV<(OhNnyh<n><MuZBcIi)?iM4@1STGYksD)NT
zh?AHV`gn6q_zptL_2hNS_8Ay=a}oXZ;Vf<bbt08?f_0yJ^l##QG&%EEZ9$p0Azy!u
z6kCZvK-g@O)U{@8PjU3%Zy+0@TCB?$%nMb?m_f3hLgIs(;}8BVr3ZraDSleEggFS>
z005C>lVqe;uxL3)%J-u^c;&ue;*0LFJTNYjF1@p~@e=8Cw29I`Tob;*ALRPfa1hAf
z`G5n#70+S)@%9h%z2WTN0wPwYA#zByS@&BPpAeHTpTzQf<-7Et{z1GVt_?7A5#~O`
zbFg*g7|4rOi+9dVA3A!I>Su%Yxqax!ITTHS6s0Wd&TDyxpB73sj+@WXL>tCVGl$&+
z7*x%wsytl7uk&%P#DVpv`sp}sbpZ6vHLFx2G}1evt@qxvOP@Z;0{l!6q+F;fDJ5a<
z^avX^_&|CFnb!78Y0==Lc^i9pAm7r#jL{~rJf@AlaUks_fX(uH)j3?%sH}>|?JWnj
zQ~|RQ4J(0ny2nnPc+K!ks(eT#ebl^KPz*|ZVKe8GV&}a*`v*YT7HkNw@36Q0UYCUK
zF!h2;fqe2%aEC%?(*fp9Da%OnDuLcA<%s#M7SrUuw|?Zj95xuF%%M>{`$Pp^N$F7z
zcT|6V?BVBGaaq5SF;h+%y$Z_)t*y<uQv$Gmx@?xk>h_8L`swW=VvTHaRyjPQfUo;K
zipOEESwgL<STW9F(E6nnIa>+o*Ce>ZkE}{XZSWcY9Hj<Fn71DJpn<r*jZx3YR57%f
zI@t(o(m&tDVp}L}nU|d`m$2hXSx!JWRtL-Na1)ZG@vpX*+IptS@HcFb{Fe6~C(*#t
z`~jARVo*r@{A@0I+#dHMSfxkFJbKYmCzjK)hhAziJuraaQkw4w+7~eX&&FCP+NAYH
z<DA}o@m~7=Cg5~1-BBMI>wYsMAIDOJV0i@13=@~%ZRdtDV5=8I8;cOz5KhA_>*aQ3
znDGXvcKLeC7`nwFB%DLL7iPO#vTd(vS@W6h1Ru#2cp5m~ZYK$;Qn7ysLG}cP7wM&%
zU+ONX_!EiNcxovPh}7gteOvmK>hdDYxNLbaC-$|#JtHq%C_0hKvel#7W>)PsIjP%s
zQ5*zikWjy*h8qbKM3u)A1Oi^Utw$9!U3mS7W3h!?!fiM+mM}8#)&WdGis7qEMT!(s
z&2n(zboy6J^STeJ{h<=Ju?$`w*F9Fl3eZ3`Km)sZ27^}qI8k2g^5vqm@gpjJI!L=D
zgNLErcaJRHyl3J|(A#!t-nONchGD3Rae=Wx3Y_M0e#0RbzwLGD$|b%d8ytNQ%lkT4
zpxm1Qmn1-Fz8ka}shf-7CWO}xR*A3syK)h8bcMEz;~w2eUCKuMB2pHq&tg+u*{g}s
z=g7^Zq;jx&QPFQx0&)Yy0|>~XcV0w`T?@0;NLK($rqn)tDK*U^t_P=9l4y#*%6lFE
zkV_fN?n4EidUzd9F8fKLnjFkslmEwL;U+3r@(aCi^^*CphrYgdaV1IDHK{M8!KoGo
z{`L1DS2fH{DMF3%B9AC$ZHw5_dc05YkGx1{sg#Cde7bf&Z}M^QiCcX6yWbaDOX8dp
zJ$M2vQ7KN-Y}$gTsGoC4r(#l9fccI`4qsQs*hBi1;3~k7{kCf3Q_e+xc^#(UA<{4{
zd<w`^VL)5GN%0U2MvoY4R7`oApuR1Y^(tzZ={!63iH3FXB9_~)QUNn=P-9n{w&}``
zZMOcs@@wUb8@Ggw3|;k>V)wvR)B;3NA<n2Rn)T8=E+L@kbBD}pgc|_Q{OmP7U+w#N
z-mCy3SW4H-+?I){ixnd*s%ojKoDs*AP$eRa)3uFK9l>}Ml3z!BG}+tu<0RCsAuDA#
zynP`$s)g%$%1V`1ztEwEH4m(pKU*&|)*>yg)SX@GdYy`OUDPH87j>`Uz;M{(-Ppi|
zrfNmn408n1y0ycA#U&RYa=!}?pZI(HCMzGb6fd^==4;xPU+xu*KU+bO@#~;6q6cLF
z`2Mw!esx#o(o2}nHH}iZA=Q<M6fyDo(Op35*g6j{PWx^p0`l*1!QyWXM@F+EM-r*p
zO5bB#IJTa_g&yZ~cCdz+94{t+Uw@Ef%G$G=s9c{ev8RgtHc>;8vS(f<Ox?ih5`j~x
zyg1Ylkr<$|(YAtKGB^5wBz!JBHX>F|GTQOJtIN&)<IheKKvy~pgb$FdX~t}d@ghiW
zZQamWX4!F;v=w^WTc(>ggzUp5=qSb!b|ea5A&4Q-E>n~NekCV;#K1NAla&S=-+TIz
zv+WkD%1+^%B7N}5%9#L@g42ZyWXk-B;y+=Hmu{C%YKq!m&hJN}(fS7cV!g^t#S9L!
zi?rHzf?3b)Q!K1Xd$mku_lwOVSv_i`R7QsJ0uXwDSn2>`NpKr_g`_W3?et=El;2p+
z#5;xEU28J4S5^M=RBU0~sW=fJKC^;FBh{J7GEg38dH%3tDb|o`(;q|a2zZI|Vfn7Z
zzj&F%7X+?5Vrjr9nUp(z+Ft6K>>(dRTu6W(U7<Je{J!<x{3Sb_A@lWeo4FJ@uQsc=
z6{h8OzJ`P7R1O;r7u+vWhpg%tR>dDP<hT*q+d*{pU>6p@$p)(e)WYxEy;;1hf{9UG
z-F}{(K-qI5VB@yWNi@#VjG(6F`8Z7EbMJSRQ=YUl?;2j2dE@U*306NX_<DRmZ`m9|
z`rHsUfAOD0xnGBAI%qYuGiCgzLON4OC8Jr;aZt~?1#uDv^a(CnWT0h*bxW)0e0({B
z#~p5F^Ss&+Ap_*TG$2i)C{tEPQSB7c_S`o6L1djWb>32hPEge9`Cc#L6>j5N>W`l@
zIX?xS>IYZmN8$MPh}qn~7~qeKH)9BGH)Abr)pT=J{gB$N205mmAmy#;`cOG${R6at
zes{B`aaZoJC_nN`*n9eQ$prS(KTQtEIPSp-V#=Czlat-93;eDy)mLE;S6M=bDvI4?
zNM+zHEn-cq<_$}gH7{9_v`swe;nUR6)IJWB^5o~HX&3$A2c}yMXPbf=VvSHzcK`iX
zY}8eH1@A^D01sTs@Qv8+ak|Hdk#S<M@8S4Ve5u)c8X)J&x}^s5pI50w&U8ChI&jZ!
z1*Xqg%jdYJd3k&?JsshO8Gm*YK=y=&7bOG~F4kc9)B4mpH83I~Z~ET^ZO1dmR2oR$
z1z(Oos9i6OF09+_G?t7(A>^*M{X3h)OnYcA7gOJt>$5c1>*n$JV#VG-JoI6tx=d9X
z1C(;>KZX}Z*MxW7Hv2Qxch6D)iI3L5!B&bec|ZI!ltOyp2i(WAY#y9|%UH`&4k5pH
z8|iV3+qL}eq`VgA@tmTKqk#F2YOD>d*?LA&s0oQndB0jm<m>K%uDj6y=f4)9!(w<?
z5at2Z2Hg^ani9O04wbxJKihk~+t}b=hdZY`b(9`I^Q+(EMQDosj+zHQWUm>N3nB3>
z=T?i@DY=cG;sxbhFZzf#9u)#d=H`EVxsbg0M0Vjjx^k4n^SKsK5?Md5xAQ80ZWeQh
z(UMlKnkKXmlJWWEsqY)Scd!3sM+fxO`y9kyC%XO2;q*{z3H)d@3Cw6T`wrfg!oJh@
zeHu63bzie#NTF2kfN|<3MU=Sc1YMcpaFA81K1FC<hQT4N%tRHr5r7r7daBA_#?qpi
z$FRsy$nB>Ht6~EAOhzuZbH@(lgN>Ayt}|EFKl0Mpi4BZ6KgAlC|4@2^D|Go4<<81a
zM>VyQlIk+I{&Qb8l%9RkNrb66C5QL^JJPA2q6@~uFG-HBjmcS)42RjI;=@>6z7WK(
zByX3KY5%rO+PpE;UkuBH_$Wub<5QLKWMoaaGd5s9Gi+0u_3av7jfz|tF*gNgI%801
zLVc!>QSjWIcq|(uaSK>b!J0N+->vRH+Ro)aS~_LvQznga^56GNI^-}h8rXVOziK`Z
zx4P>aW;2`hlS@ws7Uq$y`}~F&neD(^HI(@N){IiMz9oUun*76#2B=hREH0fkd;S_>
zfZ0>`lSERoM3}l!q*s;Wz}oDD=b4t$Qt3^5AneB-{=BZ8&&vPUxBU6me;tBvp$Ce`
zv%%R7;r;D*qt_!11QH(x#Z~`Ik*Fb`{B-s5*YmCqSQ8ZenarNTv6;;*di&e1*?Z3Y
zqs%;%YSVN6$n*0hV{nWf8L*l(F<Psl*)g?_nYVhR@P&gBa1X}c`5D_jq6}_?P9U`a
z;!fg64aX|FR{&#f4u!~wa_n_`SLPI4ccXq|Jc4nX^%C_Bx3SpzT0dkwbS6U=vo4JI
zSnqK-uH1|@N$!^BuSeT|T=SDjDrie(Ya@ISdcXaBK!Uaz^;2rMPoQuHGp{H4%y&2f
z&wp2x;u=aP%`3=R;p8HDgj+A!x_Rw>d)+yxw@~8y&G9UBfU(6Jz;$k7LDEDscG52Q
zUwtV|muPA7OSar9Cuc=09=p@a_r8cr-&199rBBjSQL^W?6WrtMaYfd6Eo;AD7MoZo
zrQ8&>J;zb$ndYPtD>nj0t>Nm@*IDarzbZpwFqNWV0c-)H+rle;kK$I*D->~?Q1vZy
zCZB^<UZUIN?f&(uGOM|ntHegPaX!_lG;QB8P3-%#e}d8ZTHWaqzUO|TEMiajnj^h#
z#iSxWa^I{m;(=3JAH)o%5K3iMYj;2cZJz<(au;Z1vh7n7YdD@G%X7R>@EPMT#?-@e
z5N19OsBhtP(VMddf-<5^DnKgPT6NB6#wx~31lRINVm@3a%6e05cEboLotuo<At}J_
zFT|<G_X%SFU5+5PWZ*nnIzO9<K0oON3P^ddqf3uh$E$$2z<RiA-gP-+h3)3jHw_Lb
zQab{OM+m!MA`vC^$*Gfbc@vaVTGl=YuwO6G##*2?hh>l?lOL)#@*#aRvIFDSa*rZ(
zy585x2}ZE>-aD-fXh(Kiht8U;e`Z_TxE8cNOHec?u1n$HZHwIR>CbtW4(LB}?oP~A
z$B~JS^`^8??YNp#>YX1H8<(^B*efzsQwA<fyi1sV0zKP6<G|m^fvgOrQo4Jx6U(o3
zJ*-}oElQYdkQ?SrwZ|e&mhl+;s5!r&NC1e9$(B=bJs$$%nPSkb{0!!HYmv7ncr5_%
z|KdAp>|N3Ft!ZzAMN@9^Co=5-RKKU<=9fw(+1>0@*}uKTEYGm9Ko_&T9VRtSdHBwQ
z-~Z0>0rYD~s)g#&J{(C&$kXNy{+tAckY(2vYuG6*^n?_V(IwhKuG{~3)H*?{yi$zu
z(E7NHsrewyceC0j_f%oSnVn$mi--fIh8-nS-in7QsBB()O~0w~_nj^$4j2SnWv=I$
zjo}L_rF9ne_-p<yuwxvs5J<nC{x4!y<#9xExbxhjne@~%r|@}qsJwd)v3u-8rpy)!
zPfoC0_Dujoq2?n|VK=1JMDFk(Lx1WpRVgNyCGPd~0LES3bxw~P%A}1p{{F6ha=t>^
z;pGkOoAV(h@=@o=>Lrn*OJU3tBI3@snQ9KhHxQteEzQL=6BcKpV3Mw>pG5aV0XO4b
zjOaFv^#p5&w<^PZJ}8(Tx_>sZ)6z*3km+wG97IzNryO>C0nW?+nbBm_jh>}VaZ2vU
zy@}(M?20u7jPmVUpPRE4Ol1ejE6jp?bG~~Hq%GoFh&XJk_VWl-^8edm`=+D7JF$Wb
zj$Hn|x}Z`grTC-MF4WdD3qCEQFg<a{tpKc@I-4Pf%2aOb_&o_tj*naoJP;KA7M>6Z
zn&T;yg-*GsDu0ZWC<V`dlHjZ5Lo<PEr5m!sOt$q4h8NhYR4rf;^<!v(>wz!Gm&E12
z9|8EA#jd&8PqNc{f=8Gq3CfgJ-Gnq=7{n-UJWAm{XA-~2q@1th^<%e=m0a30g}75c
zJ{%YH&zHP?gVin{7>jUAhXm2>EdILkZ8W8C&*6xPapHV4nTTf3qVNrg*ZPmB8E;VH
zjE6Xt!|aFUHKW`2BaHkCGF}0u6yvh$8quIEA*aVw<$u4;YmXpaD&kiJQ#nny#_ZCC
zIsCRi9!lvn)@~&ow4_6d%~mSP7rzZ8ogY?m1)inS^BQ>?u`w$>Pyp4<294vuY}cr!
z9GHH2d;$^I7{fUgr``4PmQy9*M2@$M-qc6R-IXMfenRN7IlW|hYO@<IemCW9+;*Np
zLC3T?Jy1Ip?^-+_@E-3E>Lh5SJq6(Uu1jCjXXeflTo?;q+c(1ad{%qcq5r&;FOS>y
zgT|ynJ}uqW*J5RB4|Vv-1hXA7k9`d8c?~3rF@6d@2p6&a;fRx@$iXl=x>#1@lM;YL
zt@IJR!};8h_8U-m)jT=vJXh#hdidmO(F4|*LSQJQYX5}Fy5d=>Y&+Y;P2p1>yOVCc
z0BP4vzxbHG2Y5k2g7Y%yZrK(u4zHgs#F~6nD5`mpM5UZ6kyu`g(xI6S3{>>8@4sEL
z;#R8vhpv$=M{B$9yMd*P4W9@J_)WOw45kXc?z4vCPkg~k`ol+*wW|cmv>wk4vdMFN
z02OwSfJ(q!R;M4}d@9Es3l<I#9}{w`I{Xz3b+Z5Urcg;tE;NuE?U{!IXp3<$++yOO
zvTZjBv~wn18l+&n@55>~POf+)I_cN<WM#W-z8p~AgIq0P*>*qe85v_&(mL5p-lO!T
z);WRXn3G<o*7lnFn^OunC+JT-eWH(a>C7KFhlDFepB5}y)SD(LFDKyvd5*>Py)qu=
z-&!&qPJg1WA4a&0(xNiRLuB?|zcCOXILjp@H(8i(8<Mu`xtm*0-scKjX6%5%s|!sm
z2pV)xFLbS+H08bG1{CSp3<PK)f?K6W(Ion-tIz$lq0HE%owA;M)HrnIIZ#3xuipNz
z{q{w=l`BJk_@zbhZ+5rUR3+tHiC+1#if`c>jt%F#8hHzK(_GYVyV{2z;CfT)O%7q0
z(&Ei#Vg03;YX<>6Yb$0u29s~bW?x&_o~&YZSe)A)=4gJO*nyqd#~f{zMoY2gumQ0d
zsk%6HH@NQ4E$xC;m~8XVsiaAE&j9d*hrDUwp61(EVN7;NF;b0~rNuuybO4mf&^(CU
zsGKnyc_4Gd!Os+m82SqY1IeakSjsRaREWSW=A`+&FzGG>aK#CFS0|=0eea!lps<o0
zP}aPxVYa1Tmf7o2pDzXCKc>X%*-BF+IILHg_|!?)>~^^tvjKHPs_imR&qmrK6!0Dw
zil0=b?9Z2xn)b5FvuC7W1;0!#`c0ndTw%0(5!JLG56D_*g`lC|PAk5Nh-xUG)f+Li
zeJ+p~wS7H<9lpYj<Bpa8slO*wy%1kI6L5xanEokhz7J4*roL6k+SFpjgthaOTl%wf
z#duS$tdG-4=er0l{<PfI*J|oZ2Yu>3%f^AiF@t=7WYJjutr~eFsVq^(shS*l?eBM&
zUE6el8@^wZE>?8V0+fTA1_i?%BN~rsUfXyb<HGTqwOb<sEQfyu6JLnmO(XuO1x18X
zQTu)Q0F=(nMayaTK`pc+<;dB3^-|}*Hntqphrmlco=qp4%~}zKqynWLN}}Kg;p_q(
z9al9E!P*6L004`=RgqO=AlGZCYQ6)LoVVq*h*CZLS(RlQQj}?o>LfWJwA;wDrCLZJ
z=K5F-#?7wh3cRz7AmwH{KFvM@XM%XTM=@izDn_m)p#lk$#G2|=Ot{FQ`0P|LYit>2
zRGZ+xUlgRDKDdQ_=w{zMYR_$!_3Yo+CMq<>b}c-{U6PF^K$3N9%G1OdtSyKGhO`~7
z6mh<yW2`yX#U1k{_FGjJACFU%DqmZ!<Ab~P28e`EpoERUmVj`ne&bv=3Bw4VRxdn6
zMYRZ@3M6*^J%C*Z@>?cmXdpm<+ZLH4P-Mzdipf^u+%9Ht&`TK{z;T2YFZ_8=Dq2ca
zX^_XaZvAA{b{3os$T)h7cv2V8>EXoqGjIDA3Vd3(G&bLxexM$i4)uI~TQeTOdooCw
z@Ae;Je!I1#jQq9y{HhseK*%*$zM2L!+QO*2M93PxN1<C2OjC+aGT}SAU!;yocLN;u
z0pr4@aiVoKUd7B`Kbrn<QlcJIX(H`hPBHm0PSkgq)47~WqWy~RP8Vn4$(<I*$-89>
z@hfIBN}KVir4rxg0g`G$r_?>K5cTYlNze#s5cGcD9eZFgQR-n!Jv%<-i2mmLkOrG6
zZmG;v`pa;^MKSS3c1G<D2&{v5m#=IE@!`h;qy6-naPti^q5JB~4^+6VFOVq~A(3h?
zcCd|6=bLcj^1d=V+3A9|$O&3X29CfwdfsRAV&)c<mfdd{4d&4|*HDNweAlbgF*__}
zn*%k~R8J3uG}JSWZ^O_zOTKEWK|CaOk#~8bvUpQ|ZQAWgRaS0(26Y;)>vafuhB&7R
zlcUz}_Nk8oi7%#7?`>b5DB8?=K>boR`~b)Q>bQD$&-u2A$e!$0Nekt;UQp$X?YjB?
zwMr@D+1GP{S0>RF^J8{{gH-$3kH~kVGtWg+mPp@H;R^2W%U}F(BJ;;W2IuQ}7wues
z>B+mxNtjx7NLItA^FGtNAM3GuJx=qQBh6b)-NPbL12@+rf2)r?_<x&hJHN=+Q%b{)
zsa%X-=Dm)mYbdqQNl{o7FKO#Z^Zn1>wO{8Zv9V}RDJ!n7d$@H#&&AByZyCH#%NdqB
zK@GZ4*wYlg^K{*)>A#OAQ2UaY+q}fmI!USz?R80KuA`60eU5o9`en3f2m{mXU^EYN
z>s8<qZiA&bRpx(enymfYL@m(9ni>k^uU*QPC6qkL>bI%|Rr$|97+!78Ntf7(&BTvZ
z1FWe%L0A*vW4A>{nYK=h#h&?6{q)o2y~JbjOg$ZZkh$=9jNIlkC4TyobLGiw8tLqH
zvAU#BB~r(Cf@_it3%m;zG2IV{+2oaBy2+G}!P;8DfCP){lVbW;N>)_B7^}Yfk+`h%
z{DuzLh_eDXHHp)*r%0Fx@c8wX0Hf5dKO(YYa;tF7gi5Es!1yR#ox63%>m{&sAwHHB
z%aGO51AKwJ)iXA0bG)1x>n^gRiQ=Pam~N)7IyL2Q20yeDTl>9R5yXApXF=Je?iGvV
z{YBgOEy<pU@`tVSgbx*p_68N-s7o3^<B3JabHx+R7fP7o>Hf0vQvum_$1VdZ6(u(R
ziK{DTqP9}1)O#fxvF~3Yz!7kq0r<?CS4AAcMA%~5n%iw608%Qq44bNJ7{VaVWhG`Y
zE#gWrrmBYIwNKIU2X31qD3e{wu(dP{6is>6kSt-&Ra~jNu+;Tsmv9O%D4;L?NpMxN
z@i;A8d0+nxVc7lYh+<J_%eb{UgAd`mgbjDL<$sTiD*G4r(yBvhyLsd`<*jHNSXW$;
zjKEkUD24era@1o-)W|3%Es#tpfE~VR@(fiw^yr3!q?nZ+dCLgky10D%S<4o@lRl;t
zB>#!p((CrBSGD95wjFZ(3auyH4)I_{Udb*>vQ1TeN~IdgSnNHi-BPJ~c!U2HlMFWx
zs-ry)`S_n0)Y;ks$LuRi6S?SpV^8Q<plR>#c$ZU0Gs9MOpJwS%fCL|cDG^EClk#u7
zZ{rj6rI6pA&1l&ly(eSA1ieOG^lAYldEiCxn=+Am7RNQZc|((_wp2TXWjzD=thl?;
z1Y3$MEFZH?br@zXL~J{MHX$Kcq+ND~D*F3JOI`RUrhL}R#KLSz)C!`7pDTiUL->*R
z^&S_}l<>_79?I_ocJJL>G}_kxuoQ_-S&FpdkTbT#r!34W+df-la(L_b&W`!7a%I^c
zmWAuY5uaFcKGTD1-^9vD5%E6+l)p7&MO^KW^`9wEM%u+qxdV&hnx7e8?(Gu#cH$}~
zw>O{uor-w7egHFYS4j4Z=frVIE9Ktu&6(dn($BMQoaU0hJf4U7g0-xk@SVv>Tvzj(
zMEtk2YcIz*wX{!k=&3wl_#*h8v=Iy8-T0J*k68Vejq*Ax#-+gsyHDH&t_kSMQO92k
zw3&bbN|YItWUu*78ul(l_?fa5*Ttz;K*!63Nx!}BjuLALc)nQjuiyRiIg{~4KQk=W
z{PlxzFzw}s*N?_{g{rq)*i9=<PzKo}HY$@xl_OeIQBBtLli{Ng=I?2$#%^-hl5E;q
z)=xMb!|M-?ozYEoVLqP>+i>W9Pbe#5zM4}417}wK`%2&~88BdJqtpj~<A%M`K9wxe
z1k36awz3*^m;Kcm`S;2&wWeDpA>cUqNx&{0$aV0Z+#oM7>d32e^@XcTo#<<9HDBYg
z%?6Tw`2w>sl8G-=nZG{{9LjwKQ-sSn(wc}U=VrE84QrJEQnfvd#U)qYzY3X~U#xH`
zu{>OWAlzc^g#BZ(<0*UI`d`PiVLnD~;ddMRV7_;f_dLaz@3sZ%#^srLk>$Y8jaf|_
zg+h>&|D#uGH(N8DxSFBXl4<-6>E8d}$mMn9P2BE|{B9V0(=a+GL6S;OWKi!DDe)bb
zF=5oFz;}@>L~9n)>@_@Q=hQE6I?`hHngm{yXMg{Zc-&<+!c5@(GK()$^0VOQd|?zU
zzfg<GftM%v|1}~_4PFn=QefpC&)oA(^iy9jHZIER&TI$l!2KnpTZ{o7tfE9MOxu%&
z-l#Yq@S+{JXJJ&C-6y)}`tn#MyFY=W=E1qF<J}Ryw={&0HtkWf-;&qygYOy2E3>{L
z+&Q0}izuFl%B6dQ{}kfQn0wqmg#SOyePvTzP1NlZ!`*@toZ#+~;7$nc!2^Tq;34Qh
zAVP2p5Fp6lGK0GfPH=a3_j@Mqd#mnGxD>^Qq0aQ`-MiObyHD?KC)?#D%h6s;ED4k%
zR3;U(n4tUfNknBoBJqjsqb@(up4D&hjGzY}xFBVX!&4hwizqqH0-s%I?e9X`D=%=k
z<J-XBG^)tz8Yp@91R}W)iz6{u?Aft-_;k*W=I&<yJ29C9>!q%<xnF^F&pCosj%sMr
zFl{q~BJ;REwu`Fx2kfyFL*ytmH_`iLz(hylxr+fOOY3AS$a~`}iNZMr%y9cRdN(&8
z?yHwoPr+MWC`r~)1<%^e`-1L4eOVhQv{sx=R~AtFb|obs*SaL#-p<eD%;aXYMz5K+
zp^zA?uF;JH-)!gS7SakQ7!YF&=WEbRM~}&>yir^z=<b21zC+3mHKF;Rb19|xE17)E
zajx$T$ZW1RD6XgN@_QXbKXc=Im694d$p|N#N<D6&*7ZJ{qzv;+xC$z_g@E~o2$CX>
zSe6V{>QikYwqyX!Rh6GUemH=SjS1jLXnU;5h^5();LgVm>Y3$EYKHs$z~t<K<&dny
zmOf)*9ICmwz0ZB0yrTblOk%<Bu+dNeSBOm*SuU9J<FM&g9l6Oydx_d5Vn=KONcxL)
zPX8s7NYFjs>DPge{ua8nox4pFC2GW*7u6s9IB(m2?O7@+;u973XXcyPqv0COV-L>U
z6bSN2<Ht@nDz5T@x-I9EEd-e6(Y7xEz-7YO^17#w*d-5QM=fW<um=O-u~*b}RO!*2
z1S6}_TEn%@zN@}CXaZ0CzNeMXu~70swOM=dIBQ{+Xy?d{pb9Cr&Jsu6^PlZo&mwfN
z7aOLNlE9zQS^8SgHPWt#2!Le7_;+*Va(e`5Tzt>Y-NqA%|MOupS43xb$m8AS8E=+g
z=#WDH{K<n~94cpp=$S9wM!%*$;aB18!T&X|a`W!bRzzh~V+Q!VoWAH<l9s~Z8;&Bk
zQWCX~YaT5i7DV^rxrvf$h2ZmEbj)cjQ@@GA8Wq|qw#pnyu+|5mmKMfRhA0OS^%O$P
z9B7riIs*RfN_4_F{fyG8)%qx$`^yBG?BGT~njU2EGh5EL?31Xp{6A{|r48>BFf|%1
zpJMIDb&`z9&z2uH(S>l`XZ|k#5w+EdtTJyC#E+maIu_5>Ooob&DpbY?PC6VH10A6^
zeH~joc=E28FPzpl_VV8b0K2C^DE?38i}8W$!!_mBSS(hoq+#gM_^aY>3EwZU9v4Rr
z<PMpfg<Iw<fQ?g|!q5KX#1c3uE&}2Z4*5@rkmcEB0agDH3};VMk2Svk)20RlmoE+5
z1cm8*>B<SI4$JNkTnOsp<E6JDqcX&fXhq^npB{TdOUI5>SFL`uNfx<k%`vS2L`NN+
z#6R?&dOJre>d+qW3(MHHnGUuN<W0CBq8bBREG@g;5AWO>`JNf8Z+6Ml^1WRmXb3^g
ze@iK|#Jg7Pr{u$}O0k%mM}{N3^q+wRgt1DQ+4+zCD}G;&*D`-notxnQvtN0JycSRV
zu;CPA@mq$(ZWM|$<=LF%x7|QQ3t7LaS@Mh0TEnAFe^_knnH4W_h-=^5kR+P-GZ=zO
z>L|WPk}H;O_)@UmnJnaON1n)w%3>mwPubVMON!=Rm25C&Jc<1SL=|wDaD}Lc)|}uv
z66JI5w|gGyfPc_q3GAlY^PZ)>@Ka(=`-UT-@V8DyO;gt_z;ilymy(Y3Db${Yo5Aqw
z!F>I$ZAfOXD&N3w=!SWe+=fsI(&JtDT<C9R+f?i^+TOY6S~pS#t;=6qFQZ@^OKV5_
zN^PFg_{iSO2h{3vaQ|?*UhgN*j;UGw9VZ)mD@UH@Ll@;jG|5sdg9JXPMV_qH_bada
z*Wmk``HFbS=)D%X20DPK8$?yaO``_{RU(iFpo!7|@sODF3H+dr-#<B?74v~rLzwnH
zviOKeO))<B8v{G~fH>MYkYMfUY`*<SxM2N3!atH*c)H+y0RyuXaTvugA4C6d%7Hdt
zGAE}q8w{SJ;)<xfhSNbq;*d$Rn83lxpmQBJ$h%3G2M~_L7RW(`G;}(k_OW-DOXC~A
zsC~3z8{pWske+sYPxh5jagwBGjh}2^-^Xf2Ri|!3^oYeUc6}|Vs+ZPS^OTwWMYj94
z#Q~ZIbkMrtEGDPoVSZ|7X&__hA^gU3k1;-Y`9pYEbc^dMfH)0C+*ZclK4xv6B#uQH
zf^Y<KFE_gP5-_IAk)t0eOiLRVb8C`7MiT}&bs91ws%<>iHDJREa&l=wjU(3kD?jVH
zS5B9od6(|--2#Z%c_-p3vSxcs{}*TXN_}#wzF6#^(~hFP)9jRAQgRJw#=5^l=zSGG
z@4pjE!}%I<P}NpuPMM?{fiHEdD#o;FL}k&S_4Tdfz_5FqOB*4xq`*^KMLhvLm~8LT
z^J3(Sh;i}f*vz5ptz<2LAW@h(H9NdLY%YEFLiGK+A0g*&X0xL?3z6H}q~$U}a^vj9
zmj(eG6v&H7pFZ3>e>Z!0A6*lYL*;jP-ROUTuQ}p>L<cYie!xa#3hcN1-|`m9trz0D
zHzuP?)-ivPIa>n;AUWi$f}^jR<;<nAIX!K0(wQV{MfM{B@F=xGV?t)|Z6-(6-q~m_
z&T%!t@3lLWLj9jr{9qmVWJ#eph2|amCw=PWiY?p>{TU__!aRU;SWz=Ku0*k|#Um}P
z4}w-(&3@S?+CS&r)svX2x8|zlH*y{*sVCvsIy5l*%@9{mg)f={%^`V=qbSJ`cW9p>
z0<eQwb}=P1I)3>S^NZ$dtImk!jvn&DfmAL7OkAG2;ze4LS2kpyp+WCbASyHHd)Br6
z3%sQs?SCxiyWa)h%oE}pSTc|Z)Q4)X@og+~{1>Ok4Ur>Dk`0-C<hfHB=Escl<*#Gz
zJsyo}GBr9xa5b~*xeeH(*Lm%ygfd>z4TktYi^!Yi^yzS8S5NMgdB8_&m)aAS{k^oP
z>da0uu=vy9TYTJtwh!1KqFOas5~m75;1@p<d3|xY9W@)%e!8*$OLsyLpMvhG10bLQ
zHWW1Y6J8<du9f3b_riUH(wBt>qq=?j9e^A0g_O3}n(pJ8BIJ4zi;uyt@v>;Al|M#x
zQXeHR+G<A8$yRUVzqJdmm^NyLF+D*U*h1xyq>&^VSApH<!226UZ}~#hAd7K(fm1iS
zixv?}IR8!7#|q1v{<jj~G7?ABe8N3=_v0EQ0s>JAwy%c2cIu|91GqW1jT}E>qsKmb
zOk5W*GW^PEBeJ^FX(bs*>HjGa$TAZsmA=TpneS|e5m`{in1GibvXmtzanwObr;6Hx
zE+EQJak?#j%CLMp*T)6|DZ}ue2r;lc6Ovu(LZhAQLGCjU(&xeu`pCj-WrTTA1;@k_
zs&G!oknrnUj-V;gafKEC`M2c`<VN<C>xGus!^5RvRoSrgcG*c61t@3#YIaff;mF9s
z{Qa*D0J$xM6mj~lBO7oHX=Xhn>d{9DxPGb+O9ls$qc?lo{#xyeD_9RpEm|onaoQvy
zPm0T9rLG$zRMqG?UO0l8wWO+W#D^Y=wekn6K5yl?gq@p`!Om%F|LeDSZQ?A~?p^+&
z(STbU0YyV_cT>7E$h4W%d3+aI^w$DZ6F_ldH;R^ffZDIPJ3)ZPg^@3Z>c4;rC@ebA
z0zZA3N5~2%?_@sy1(bh7<9yJW6xlV($Tt)_38Bt?aeUkIZaR_ynOuBPxW(u~Z~Vid
zk_E>`IXI#GCB767rGd$i4~{jU5YNDex<+>G$@c$V_AVqCdl~rVxtDblpZrY$F)iQb
zqG*Fu%X<d);k^M86MxTjS>qW<E0@*^47=r{-}IDc;FXj@fh?DSLQdZazJB&@JHt?5
zC={J=4Y{nEJ`&?@=1dDavmbtyjFyA)<>T3Q4iHo#={*QVQ-za=vVlm4(A1wKJSOog
z=BH*3<2tsZW(6FZp($Df(4^ff)19WWccCs;o*W8){|F4X=B{Dc#$Hww2=4>rch<LC
z8jVHS19seSe9G*xO{d}9+*n-X_s3e~@$S?bNVN>dBP52EbLl8#_3reFbP5XlS~AYw
zqEh`H|B3fm=l%hAQ;na%CFy{ZUH|0Eho_02>&R6f9=B<KcaEo|ZO%s(CGyM9uLCX~
zGX1X&$TRHtRSS_P@&FOsfTlb=qC!$!#ZFbdgkPB%-No=zg!1F$nsW2)&lQ7YKu(oX
z;}TyOq_49SZHUy6q&;;Re!DHuL>c2UgNr-AosLSQ`t_2xUT4DU#+c5d4SjpAQSE3g
zPJ_voU8oPamPm}9(-d&KGw8FcS`GvB^p4`*d&Bkidk~U0-bhBDPZ()LY}Skx`skxx
z_F<!&Ih%WMiCo{4-QVQqke&_}#nimT4P$0jTJ$=-B!6b7xWZB-r~uHiyVjh%EM;tQ
zSLM&HHHKVGQTUfC0l>!vl(xOo--}ZKl+9$y<AgD*8xgxRUYuXO?A=SYrGAUtljCxY
z)$LcL(;Er`A<K-%b;sm+n(i-VtrV}=I5!-ASSOn3Cb|7M;(W#o+HY&{dEs+Du6M4W
zIsW$3$c*yx=&M-gA>Mzb%ta-2tU`Z%8i}zN!*=!qx3+>Q-6BaiT*CY1Ub^0Y7o5R~
zRp#bbqQs+xy>_r2ubu;Fu!Ac0Po=DON)BN0#P2msdN<9ZWdcL*Z`do^Cpy@=zmLn!
z5!JNU2^fIQYve{WNgRdu!y`)g&^fb~r`VjgeB$Kq?l$eNF1E5_X68I6O-_LP^&_C`
zlPe<nv}2I3q1oVMXexsVPCs25RX?{{ky^j%=dztB6D?CP895rj0tay3gea9x^9a|>
zuH|aWk@3(;JiAEFA59(0=iyc|H)}+?v@K)`pk>0ujjU1ObOw4ywf8sUaUI@5wgbWy
z<U@p|L<+i-ZpaI^>2JX5&`#tj9`}ca!uwGGRz|L-q=Qjz?PQ)>S6+XgHgtinRBqVp
zlWhrMmSvRDFPxO$L3P9Gp9(ykTz9J5&NCE1-L;-kDnW1{L_~i|`JR1*?zEGw0`VPY
z1>y}nP3>LefUiZGBzR7Y$j`RgLZ$ANLa&r8Km3R!ozpII^i0Sp8zk8MN`;@ek;ng@
zxmVFB?q{GUYg4L-1+*NHNkGV{qzn@%oRlwa7WgouI9Pjnoia;<Yr>rAcc2uJcB-C7
zhXrOHgoP(gXC$2$V5M32Pj~UmUDg;vF@!QoyN%rk;*IG#I!LXT_CQXr%nGzar{O8V
zw@VAI-BgAGC~-fu9UAXcS67>ib8fq(>_@!BA7BiXl#TaZqE%laNyK$^gQgO7B4XP_
zHDt5lkSTrzyWi?RfboBQzr+7=K&^P7AptCh)XhKja$t^8w?-j+L#jh>yk`KE`GS;R
z89mU=sO$$q5w>WH>j`5h@OObxa)UdJ>>v~MQy>pj)M>w5{VFw~D=4;K6&F}I`SqM}
z>BgdjPcSK{4jEoPv0wxb96LJ6F0vPU-?oNWla$m7o`on?BqG;KXJVh>62Xt81KNip
zl^1XFiCjavqmYM5ZA6lX2~-GbBBQnzd1hRPyC9hz8?jl~X>)-qA&3VE-KwryQ#IrY
zJ_1p*EJa*IL)BPD&gnQ7)%}q>ReaQS>O8Qu2trTrX27Z1e$OX!4eZ5AR2<dtL`2zo
zf|2qF;v=#=r9ijn<o<FI1R{V6bkgzJ@#N@Y)e0ADv$jcu@4DXZ*X}N?tQrbv(9BmZ
z?p7eGFg^tCAB7eQe!5n?Sd>cd|H49NI9mHS(|1z`<8m+pIIH-(#7kMKs4{`vk(53~
zqk_>=Wn>ru*zI?j!0{JXE5L0UM72$WSZ>KPR4P3VGcuriLb6G||EgU2`L>Tu^T_V*
z-1n2xoL}m{Inehu@yQFWOtXafZ$zSWHziG!8$x%+#x^IVks-!-q@OGu)mB%J9}JrR
zmgz^DsUn=P_U<0eRlEqIn|01?3Lz0LfErvCxAG5q&*x%?B`MK=_)&3F@$=l%+)S5B
z6az$f{E?b9W@IHR^`TS=2p<tEWGg*8>_VN6KgVCP9fG!;6GCv+AN|t{kVmvo8v7x>
zopRKEv{aVoEDzNd_!54(!x&RhPc81S<vafAfA{nZYA<BGV{J|1vHU@6eh{mT>(p;H
zGC5oC?d+&FXkF)hGXpBM8yDZ*GIe`A0&`o2_@;^Mf_*`5U1W4p_XQ*zznyQ-<rtQ$
ziGtKj#XOKpT%&WcKUeIk@_0ve3yWLiw!Jgni`R=Qm^=3EMC+`9R0oEO^n4kz*U+!j
zm5?QGBkx8-YPa!h2cZ|?JI8+u!$*=n`&k<2-&k%Gusyk)UJqpq4}u3dSI&V~V|YEb
z-a(@(Qx2B(&dz6iMGpM`x4dh|btyC5E5&1MwT*Du26N;&1r$4z5GLDWgUOgZT6@<e
zXT0pw=PQmphS;2nH3p$X2gV<o|M`&08sO14tkyjHb7i^%kaL~;`sdW8%o%<;X)e-k
zXWhwtz>u$#Ns3EMh<*H~*fsDhFv+#cigOb+>1_cH@{E}s4J^$FzXLckyu(%=5I@hp
zUB^&ZcSPdfxS=TVh3-nocoT!tw{$|G=g&Io>hi_#OGegxaj~yz*7TYQt|yzTJ_du8
z7f%q;Xziy&Qq(mCn)(rRg02}{0vYlSg=dS}BrxH}RPrGLkdT6T%!=0^!><DL8P4=B
zSx@}nqOVp}tpPhutd@7f@N_&T)frYdo@DlmITJJul~(<z$+I$%AnC^@={p)xpy^FE
z#>M9@EvbE9(4#D}J7Dn*<p2$PffuiC?pJVSW~z18NX|O*7lzQg^U`f4kYi5>t{XEW
zzRA5TT4~7%6c}wNS2p(0`>Uk!EP8wC1ai&Ov}1k?t=z{vIxBQ;@q077qY5T_E6**K
zV#{&gVu22KhtS|>BHeE>Z3|bkcB>@&SNo3_0QuDQ6Ins6bQNppq3M{*jsLt--j%JD
z*BI*eiHjGmfTFVN%N8HSPF^g88UB;Z5D2*XuDyh|g6@gAh19m3zGD&JXv_lP><Hn~
zR<+Y<YXd8M$0{Io8z}$C@f5A}j3Y?7T8@;^2V7jXxHF7DG@iC3XV<TeF<<5Vekp~%
z$#0LPSj`{+n(KVd9NoPFC$Y{?AH7ZC*820W^mYbC-H%FKIQ>1Zt;S(*^@MWUWzn?l
zOQ#=Fo&74<ZN18ARob|DZU6`M8u#%Sdvy#D3quOA#P-VCiER1#f;_4X<Fnm0F9Wt2
zr%j|}RZ$KzZV!s&W?LcKd&FT8--3mK5sxksXcq?En`e&0Aj5JUAoA+C2&bE^-(_<C
zwNo<I=kYqGunoxOyHKAEB`NXv28D>RD8L&X5k;kWmPW=iCl9wXJR-=-=%GDWPBCKP
ze~ZhahIJ;53bZ}CH7_Zjg=3Lr%M{_-kBg`E`v2!nYulpss&L#sOQhhd@GiT-n+ODR
z#jF!u2nr<7@LSDiL=l;8(_^5cES}P~QD7l&u;IpI%F1R)F|JT<xu{*F$h{Diq5QU9
z?n-?UkVldUke6h&JtEv$+rBI0+5QsyS3n!EWRkYpC~BP2%Ubk1Usup4k&-Fn!_z4F
z<t7+0wwaUa5OVcVI{_edsngLcJSJS^Mx;Fx1Ba`l_KHr4%a7x2cc=MM^;ZvYXn)WH
z{YlVcz8uQ-Yygh{Md84Ml&r%F(+tzf_=Oj`@hn1(MlJrKRNJ*)GwjK9B>8pF`G<*j
zD9Tr3ZlX9qjJa(EGis5#HCzUxR?$C`PCRm4O8;Cy49`d?AW5~pUQg7BWs^#G-`3Iu
zq+J1XwDgv)fIqsq<zTsGoJy$8!-1G%wM#z_9dl-}-0X21<~F0Wk5H2G;?AiKKX-JX
z$sd~sTuu8}G*irZZkKEOQ~7a4#ccVeriICgRhmadAW;7+sl9FI=4&6o663o|>*NZg
z?F|bP*f14@F(sy={|rt=-)p>F=q+>Bk@;r6B)^=8ktW`$MncYLe0WhiM+XXBE~P>H
z!Pl0W#{HY+=I=SUhD7AI^SM^x$5%BMlUdnjsa+snGJHR{U6KCq1ZK0oTyxXj<hVsn
z%&6t*9N*-&KJtnST=g;wb<x4IrH-Pc7bJ?8z93cfULNDv^@R0rGC24L8_&|Vw4u6j
z$ZbfosBRRkHs*~(+pcrxv0~~*Pna`U-1f>1tEj$M@i9YU%Qk;Bjcb%-XH9B0#r_$<
zm~HqFJ^sC^ghW+0FOxPMClYyf(efzWK_jC7#-O;~iM)wy^2n`**OntOxH3<~Pc&S`
zzmUAi_(Ti0<i&%Xu$e`r1Kc|0Q#guG1)>f0o8V`aLR2h8XC|HKGiab&XI4Ufwpm0}
zpyNm>A3kh3!)eAy)gUVo_|WKL_hd;{c%yK8LXAQ_0(op0>Cxa29xJoaIyN!i=>s}5
zHwk;oIm|fGC>(h%UxZFj0_D&^NG}Hfz`&cF*K6K$GMs6#ClnEUv1k@e0#<MEJ7}s0
zWV#cz+|~qrK+%vc{gWwOvsA{<6XLr`oMzSw#V67{8ZrI>(9(fy+o3Z)!(2Lb)J~vn
zeeRgGUvKTExErlVns3wbnrt5~n|raet*7jZp#M%nFO-~fMJDZw{{<@vA+KD3Dz}}*
zIydIZVft&t2Gr8t!KV58>UG={Z*<Mf2A*5<Ju+)Nci4N*=?5pN+uJuh%03H9z+KX>
zmgZ9dAdsYCv;sLyH?s947drfIdw7;~mn`ujJM7n7)1WA?!?;fMIHfVC$CP=5ole@2
z)T41Bc|&_R_Ly#8D=Lk#cS2F!Rs`DhDvdQ=+LLzBqKgbbr$N`zJ&(6RhD4u$0CkXx
z+iUY^#t}AzIU@fzltVy$Df?{E!}(>dS$a5B1Y>tXmwuVN?}28B!zPS)R3%jSaPVJQ
zFjcCNlhW7A1+P@Wyig-lT~GEHBXq&O48Mb9<IGvCc2BN`!evBbQ0=^z(f;cvezkk+
z;gmrQJ&TVe0AWHS;Ifh9FM~e<(i2p~@mWB7;<QXsoMfcWl#_RK;&-D-+M#SrahIBF
zJ=ChzP(?hEw1j1~k2l{Ec`%;8$04uCyUvWm;j9@R#yS4Xqx)<>Z^!Y7UAM~*#?{Y_
z7u+XJycvZAKa{NJO*=RDMtq0MCz~WBSWY^=5WA+7=E7KxZ(7f{-*v&3BU;HTa}=PC
z-c0KP0n&XmXpGiIb}7$H0)BN+9?`c0QVBEfcgHawB-&6n$07b71k?-ud=e9gWT_l^
zyY4lAsWH`F<3U`v?-o=zQg<%fy#~yTuUz0w3901T{6~P!X?NN1Y7R7f?vnVMJW;6{
zrFJ2Ons?(=RTHi3jH7v9Zf`lOO|nP^x6{27qO-$q^Dp)`pqW0r6rhf(?u>1l`8htR
zy8<Wg#}NJaPE_U3*fH{mI~sD2UQY5!nE!dam+D~m=|E!WAtqbNAL#4p4<XoADx3qa
zpYSQB50rVg_}48&g&#%%@*vc*23M+B4%3)K0PG^F6+rQJm;m<NnI7*05F2)*!0nYp
zk|dKrAPse3$?zsGFBlEd!iR0^0STcA6GUJol6-wU>*U5rM%+0hm_RZ@H2oP69ZuUA
z<sa`K_tUY9({$3iaPNCY-@TFhSs(a;=iO^|O=UZic3*5KV~dx@wB(5&$$2_;CdjdP
z?7xJzbn%lLeB1h=R{O-M{Oz}Dqq4v!%D?eCKIs}oqK&_QUIk(^gM8i;dc5@>O!Hev
zhP#V7ANGqkuPt9^^0_ZwHvEPU1vC#{vlbC`bZJvZCEB7dn#9GKwzP#|Qk0?%WJ*cZ
z_}Z>^#l*a(RN<~4zq-0IW1jsJDn$wF+I4}XOok7NvI*WOG|f8E=I!Y{^vn7$Gp=Xm
zI+nWroQUl4@WzKlme=n!Gu>7RfTvUHqw$w|K$N)xeX}Kn52hVc!JC&WQk~zRv$Qrm
z7$!VZM}5N`p&Ya@N29%@K8gH{8Q9`&|K}Ix>wWRdKef~$jg6H7w-?~(Yf!m8Zk*GX
z?t7BOCpH-$sWX)IAX10oVzH8KGFsx|oif^uADU0{nX@rU-#_@wT!?xCcwhjYd{`$)
z>+U6*k$sa|O#M_L0BN~r_phd5PD6U(ylwiL|IHY!v6lgRN6W8a;`S%D>HX{dcizXN
z&V%l#G?WKlZNDMv(GcqX0vRS!gLfk)E!lUgJYYTUB3%r=kx~<iXeIDXN<@AFM|8|X
z>+ah`Q}SqPTDQH)z-rL|=EsIYlM}BBm_yXC+;b>fn8tSJ_j_%vnsJ*eUeUSr{U141
zUhy}^`;sc1mrH8S6+ygr`%EaPVI`!TPR;4sRUjwED>cvK&SG8~-{q3}0}P`Y2gvvt
zDFp@QDv$q5E>j1@^;)GK4^v*<9=+>UFltRQUJj7Z-;OU5;fLxKocYY?6{?srcC8&$
zkP6_}aCRFq-6r$~&U8%77j^s*gR?p3yf-Tx-TZ<M{{1U)_W4RnHedzRL?`FEUMEvs
z4#l90=`4JYG4K}T1$qf=CF<zzbf{a`ncbj*A&q#b>(OQ`Zz_esG#rP0WoX)o#-Q4M
z19uKj>!PUHumeAXZQogszI47wR=lpBT{6|8{~rKdtr}uNKi5(M`tI+O!aI3@3EYmU
zx_Y#i2?=S>%6`QQx3GA09-T~CUOccRrqlSccoBV&qZ#B@xisMubY2kOkB@L8Ih?{@
zNHkm7kUa3&?92{2`gK{TBiMPaT5k5JhA#vzX^?VE+yMr9la9b$p(9VMLf^5kTvzMD
z5!2YaW5JCJLf`s*vLL6BeBDudM<#;C$y-ym<O?bt3JzfYz=P(+1U##YPm7O|URIQz
z+8@)-GlByDd?t=~NOei0-82jEBvqlwh`LOs2qLBQ{pfIpny_m*-Q;nco%~_MA}gs-
z%dCJCurGZ!p2FYAl%C)6e>tQ7=2059)c$dOY2<3FA$&p(fN1|d$*7<M%n;6-k)3fb
zd<85fU}lKAa3$O}3N2DnyZ|45KH_L-_cIZ%-m-x-dlgUB3EUA{x`1DLTeK|<?9(4d
zf%PkyNN&-ydo5a|@x7}-e)EGSKB-gfCRHjH4h3j4+OgFs70yD|Myaf`ej@%N%7E*6
z#TMG@&3K<>i^Krl%Nc`8i$VZ&oa17@QbAHg2ez3prMYx}SgSG^_cg4dYB9z*GyMtX
zO2CEy&pl4y0emWDEr$ks8DSPH_c+xwZ;HP%4ZVlReS$=`n%K?mI*Gr$m!+yk%z`;r
zMyU+aY5?08?d7w(%)9eocqi71Scu18daklSH5Z!J2>hO!U~vN7P7%NPh_*YKO6|iy
zL<`O-`O-S&#4+zAygFgje!{=@Rbrwo(<kA!NABghZGjM7k44K<LWSHJD$Sh2y7Z}h
zKcKC7Yt0$fZbN8ACU3dUrSX@pMhe%p0{T+dwd#5{M=m3t+T(_KkSQVV8!UF9#hIfI
z+6_Z9SB^E_&U+u%;pOFB1fMU5UQs??ly|q;AH2>l`;5niex8gIG0E5QQ!e-gQ>?P*
z&Y!{(0?kA}R*O*yVoTK*!W=DH(;C%%7sIUb@qS{*LC+L&MLo53N^dhm$Z^{tt@2rH
z&;3tRFIHA-n}{j2e6Er#$+eUZ{P#hYAm6*)aO`E+*|yz=(T0S@L_ZV)G)5?k>bex$
zz$sE#s6w~mvL=ub^|3!4%~RuFWB3&Z4pa(%;iU0m%DX?VnnUUv<_Et|KHhPilJkXf
z8k3@OqL7D`;0<O-T!ix3=JwK^zm_tstHN)(t@EF`>TsNG6Y0lKcboU5P4jbN-^q<`
zPbHBh7<u!>!%bUflWxLg&2xwI;w$}*Hc1Y&uY5swT0^LFVqS|!lu|RNiW73wp;=IJ
z(jJ>c!&H)~<=doz^$Np;)(xzj?Cn<y$tO7;bs5au7{ILk`ZYpq@g!l&e&~gs39;#*
znAo7-f+d2`>)6z#dCLVn_Ic{)Kd9T!2^MF1IxKG=3I#hghLuRsM7fVeZpF1a7h}+h
z#;R~G`VN3Aly|kMvrDS>J$oPb7dHhm-n?uNmez}8)pz@<_a$k5C)w6QflY(j$BN#+
zmcxL+NK0gYP^^7>8$+=a9LCZ0SX0~C6`bF`?D?YnC(5760~V->9nDBs{iq<|se6P9
ze|tdLV-k9?=QUAKcqJ;OCVeRx)xn8i2J1fkn`3P|vjRz*<GZrsa1kvVY~qk;pl$Ud
zB7#!VfXCZ%o_MNms!6oPc}vT3Yf8YMR*AFVK@aW@YHrJ6wEoA@<w+(k;Lt<I+D>^~
zJVLuj-SPQIG(@9vM^=6Gmd8-MWh2yr?SS)Q!<11z)35gAlbp{z4d{Qm83Hur1YSX}
ze~Iv%&U_U2QnlVaS&uogmdoK2a>QWH-`z}i`P@k7ad%wKbGx;2#7djO&SWSf2o-~D
zwSAui$0Mgl^iTmXmIW2is;I^~J;+FXPSpX!QxXN!$9t)M+(~EgKRo6sq|`)p(yFKg
zknLAWEE6XKV6WECM=eUsVe8(DR7U7#H}BDC9>MH3LR2`V1QyJ=(+wsBQW5l}T3irP
z53b&9_d>T~??MMQuPy|20noA%rChxC4^(LMMK#5SVBR57dl=9e)1~)(lU5>r`yJc)
zvzG10)JMO#)7zh|^sTi0eeD8yJ-6;ind`~A!sY$a(q-ty!5gk6fOG1j8#he}6ygA{
zXT`4)7TpXurO=~VS#+`JdAEfz!X_TjarSNQaJ}F+K?EfMd8KK(yE-X<ok#=GN-tfG
zs0V}z8Fe=;ZsGZKyz}nCV#AnVrJ7D%o~Su@S8d^Jc^ywq-1$Tr0WOEDnY5#c+O8*2
zSu$B{9jepSh=pc@+QEfxrRx?{o2JP9CwcSB>v%%4isW?*iHKV*1-pH^3l~`v#_0Zn
zr{2F_9{q3tSx>X{wIaSFC5P5}0Cn9<Q+}ah6AD!3aDZ&_ZZU1rJ`Bp4Vp=do={5FI
zW80i()4q~wU}cvslw(-#0nNqNLjFxSdD&b)B^&_>98V>O@%c_P7ulFma#w8_ViuSa
zKVl#2ePUE@qF;8mLb7B5v=18-M*HDg5aw`~Y3p)J*ipNseJ?>rf}CPeBrT;+dL3f6
zg97Q-(E)Xd+F=2rIu7F!FLPYIeNuDUO%~Ltay<(XkEg$m%D;97L$c(u*kq-q>V=-`
zG8tB}2!`Y0e2oJiTrT)I@AbUOV3%iq<C<8jb;wY&Y04Ols3<JcKvX~zI{(axL2?GE
zas@>1X*T&YYQ<I}g}HgESUke;Bu;zi1&h{i&T04N$P9t+P*;_G7hg*_>k3SN@s-Fr
zWu2*f>uFu1Aut(!Y(v*9B&XC(w(-OATo?4wyIBlJ8A|}*n~pEb)m8_WZc=WGO;bFO
z&e$-v6LJMR6N2LeKTf*QMg|v+Wvvz!i`@e_smZ~9$4Kp|PSM`imppe!5VtX@&Na7<
zMl~H>3?yPCWs&5$o=P1?2aNdN4;X{}FfyN-5*T@NK{SC08B3{PT3^W`k+`E*92tTy
z^Ho|8t=w!`SMZX_K>8>c)k2|TB~RevnCQ#$1hJD8{SK3=qUQ&%{V~At4!h801ez;A
zsEj@>*;U~~fr6nboRBb5bYPxEHXSX62qvCZPllKIdGmoya)%lFkmOqsDMzWPhd!ru
zMRdeEJz*p>*~wBQu18+QsbBY(vzN<|h{A#a@Oj#sKHQ*>iD}KpF?bn46HkfOvs8XA
zGevV9wyV&Q&lj!z7RVI-t7E}+z<8~QUkwNnTvJJR@QvU3j(+6#w^?kVe_k++zp^@j
z-FK2o3=A_?9BD5^)Dn(tnKCj%uRF3z2>e_XO!)xK;5ZjwBjIxGW4o?wq`w0Al*|__
zU=U;-?=EV+;K_(VTu0{cyeLw4<V+xN1!jT^s=cIA*1UR6qRmpCMF&#xyk2MIDsKtc
z6a$_nLO#8Jw`W@ux^zy+6)K^Duf(*%cFBqlIna4}N#Kup#9A(N$;xvxXHw-ZdAE$$
zbP^As1}0>v@CX0P`nkgZp1Z>slClo%oqbt`I>25kM;t9h9Sd`_z0U+a135R(OKbH)
z)g?s)J9@H)iKQvuWdw?bmIg_L7Cr8Ex(u1f>hQUYk>iH|*h&dtiAzSG^dODv8BzFv
zHYtLgjp9k3CId|Zvnn)+_-;d}24m&MlPgq##tC~?Tb4HV&+PxSIoo@oi(`_A>Lj*s
zXCsCPI4=S^$bj_G;+3Y`6@$ZZ+PSjhu(HcXNO=Jr#{B<%3<3~w0mW6$XU2riEkJxr
z_bUrJZv;A{)!xy3w|NpxUwZ82HafFRf#WGwuIK%8V&3gynxqb3Hwp_YO<??OID)Q1
z8W#~ie_Y-t{Q-qT{o-F;5;eUj(1W<BQK?1Hf5kFy564@0xR}DDj{)44XV>S-+$b!9
zuhZ;N)Jt{;%S5lV*nqHYJ+WK*i#QT-OPOcUfPLrKV9=fAo?@B41I8RJ^g4W1Aj3ZB
zI9zB7tRYMb*fR$}i$y6kZ*}R{e40L$gwnD7fc4kus_mupRR^;Ltt`@Lq>357eFt%F
z&52|sHuS5jUK%&?rC8GZNY_P4p%QaYR@&eVygQ!aQPD4JIgn|-Y%Hhk_-D9xF5OgK
zy~%ut=@$6r49!#N-^f`j(_T3=Q`ac&a2`U_5&NuTN*|3vDBNYnuAEl(GqQUgdkgc%
z(nqbRmI?#@Cvmj?52xjLbV#2eH4MDb@*9pqEeX7=pVEBBoNiT$M&;+=fc72f8(0#H
z4>j|L>!a??@RL3~PS`6FX(A*}`KL@{uw|6`MZe4W@*LcTRVpvt`-;TQaJ(1DDg51H
zQ$1Dv$D~i-dC^pPrtsM?UJ0Bj)Vq;QF!awGWV=cSjgvq+5nx23oAjFI?w16NQC95V
zqc&qqz}F%;%17uGXdIUVb_#%QQ2hIs?GSaUb_jEN&`I1BkDBBq9FMa}7;OX}2prO?
zCkV6fGN<(U)A?#PFOSv=Yp;acy2%%`qDU8t{6cfzli}8M+=T~tyH{0k<tlCf3yHJ`
zAePW*SwH;1Jh%)z^efj~>gRLZC~C)v#-^=90>yI#pY-A}F*z{iIL=yhGjIhIoM*bq
zJD`m)0s|7d_1WyM?Q>#$NCucL^s7HZXi-TN4H^$N02lb{R6oEe611a5+i)CHE)!`7
z<kQk<wD!`-@0I==iflUc4>}S(nkFIg>+rIfkWbResv*Z!Ix+=m>rgy_tp6_`e0ch1
XAX+tyReJ3|;73VLUA9E}!{`44bx~qf