From bfffdca6a369a944d7183b8cd3e60ba8b113e676 Mon Sep 17 00:00:00 2001 From: Melvin Rivera Date: Wed, 1 Oct 2014 12:27:13 -0400 Subject: [PATCH] Support for Xcode 6.1 and Swift 1.1. Updated initializers to support failing. --- AF+Image+Helper.podspec | 2 +- AF+Image+Helper/AF+Image+Extension.swift | 107 +++++++++--------- AF+Image+Helper/AF+ImageVIew+Extension.swift | 2 +- .../UserInterfaceState.xcuserstate | Bin 181297 -> 181574 bytes .../Demo AF+Image+Helper/ViewController.swift | 82 +++++++++----- README.md | 4 +- 6 files changed, 115 insertions(+), 82 deletions(-) diff --git a/AF+Image+Helper.podspec b/AF+Image+Helper.podspec index e0b7a60..847c32f 100644 --- a/AF+Image+Helper.podspec +++ b/AF+Image+Helper.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AF+Image+Helper' - s.version = '1.02' + s.version = '1.03' s.platform = :ios s.license = 'MIT' s.summary = 'Convenience extension for UIImage and UIImageView in Swift' diff --git a/AF+Image+Helper/AF+Image+Extension.swift b/AF+Image+Helper/AF+Image+Extension.swift index fc5855a..7495396 100644 --- a/AF+Image+Helper/AF+Image+Extension.swift +++ b/AF+Image+Helper/AF+Image+Extension.swift @@ -1,7 +1,7 @@ // // AF+Image+Extension.swift // -// Version 1.02 +// Version 1.03 // // Created by Melvin Rivera on 7/5/14. // Copyright (c) 2014 All Forces. All rights reserved. @@ -33,7 +33,7 @@ extension UIImage { } // MARK: Image from solid color - convenience init(color:UIColor, size:CGSize = CGSizeMake(10, 10) ) + convenience init?(color:UIColor, size:CGSize = CGSizeMake(10, 10)) { let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height) UIGraphicsBeginImageContextWithOptions(rect.size, false, 0) @@ -45,7 +45,7 @@ extension UIImage { } // MARK: Image from gradient colors - convenience init(gradientColors:[UIColor], size:CGSize = CGSizeMake(10, 10) ) + convenience init?(gradientColors:[UIColor], size:CGSize = CGSizeMake(10, 10) ) { UIGraphicsBeginImageContextWithOptions(size, false, 0) var context = UIGraphicsGetCurrentContext() @@ -80,7 +80,7 @@ extension UIImage { } // MARK: Image with Text - convenience init(text: String, font: UIFont = UIFont.systemFontOfSize(18), color: UIColor = UIColor.whiteColor(), backgroundColor: UIColor = UIColor.grayColor(), size:CGSize = CGSizeMake(100, 100), offset: CGPoint = CGPoint(x: 0, y: 0)) + convenience init?(text: String, font: UIFont = UIFont.systemFontOfSize(18), color: UIColor = UIColor.whiteColor(), backgroundColor: UIColor = UIColor.grayColor(), size:CGSize = CGSizeMake(100, 100), offset: CGPoint = CGPoint(x: 0, y: 0)) { UIGraphicsBeginImageContextWithOptions(size, false, 0) let context = UIGraphicsGetCurrentContext() @@ -96,7 +96,7 @@ extension UIImage { } // MARK: Image from uiview - convenience init(fromView view: UIView) { + convenience init?(fromView view: UIView) { UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0) //view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true) view.layer.renderInContext(UIGraphicsGetCurrentContext()) @@ -107,7 +107,7 @@ extension UIImage { // MARK: Image with Radial Gradient // Render a radial background // Originally from: http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html - convenience init(startColor: UIColor, endColor: UIColor, radialGradientCenter: CGPoint = CGPoint(x: 0.5, y: 0.5), radius:Float = 0.5, size:CGSize = CGSizeMake(100, 100)) + convenience init?(startColor: UIColor, endColor: UIColor, radialGradientCenter: CGPoint = CGPoint(x: 0.5, y: 0.5), radius:Float = 0.5, size:CGSize = CGSizeMake(100, 100)) { // Init @@ -152,7 +152,7 @@ extension UIImage { // Returns a copy of the given image, adding an alpha channel if it doesn't already have one - func applyAlpha() -> UIImage + func applyAlpha() -> UIImage? { if hasAlpha() { return self @@ -164,8 +164,8 @@ extension UIImage { let colorSpace = CGImageGetColorSpace(imageRef) // The bitsPerComponent and bitmapInfo values are hard-coded to prevent an "unsupported parameter combination" error - let bitmapInfo = CGBitmapInfo.fromRaw(CGBitmapInfo.ByteOrderDefault.toRaw() | CGImageAlphaInfo.PremultipliedFirst.toRaw()) - let offscreenContext = CGBitmapContextCreate(nil, width, height, 8, 0, colorSpace, bitmapInfo!) + let bitmapInfo = CGBitmapInfo(CGBitmapInfo.ByteOrderDefault.rawValue | CGImageAlphaInfo.PremultipliedFirst.rawValue) + let offscreenContext = CGBitmapContextCreate(nil, width, height, 8, 0, colorSpace, bitmapInfo) // Draw the image into the context and retrieve the new image, which will now have an alpha layer CGContextDrawImage(offscreenContext, CGRectMake(0, 0, CGFloat(width), CGFloat(height)), imageRef) @@ -174,10 +174,13 @@ extension UIImage { } // Returns a copy of the image with a transparent border of the given size added around its edges. - func applyPadding(padding: CGFloat) -> UIImage + func applyPadding(padding: CGFloat) -> UIImage? { // If the image does not have an alpha layer, add one var image = self.applyAlpha() + if image == nil { + return nil + } let rect = CGRect(x: 0, y: 0, width: size.width + padding * 2, height: size.height + padding * 2) // Build a context that's the same dimensions as the new size @@ -187,12 +190,10 @@ extension UIImage { let context = CGBitmapContextCreate(nil, UInt(rect.size.width), UInt(rect.size.height), bitsPerComponent, 0, colorSpace, bitmapInfo) // Draw the image in the center of the context, leaving a gap around the edges - - let imageLocation = CGRect(x: padding, y: padding, width: image.size.width, height: image.size.height) + let imageLocation = CGRect(x: padding, y: padding, width: image!.size.width, height: image!.size.height) CGContextDrawImage(context, imageLocation, self.CGImage) // Create a mask to make the border transparent, and combine it with the image - var transparentImage = UIImage(CGImage: CGImageCreateWithMask(CGBitmapContextCreateImage(context), imageRefWithPadding(padding, size: rect.size))) return transparentImage } @@ -204,8 +205,8 @@ extension UIImage { { // Build a context that's the same dimensions as the new size let colorSpace = CGColorSpaceCreateDeviceGray() - let bitmapInfo = CGBitmapInfo.fromRaw(CGBitmapInfo.ByteOrderDefault.toRaw() | CGImageAlphaInfo.None.toRaw()) - let context = CGBitmapContextCreate(nil, UInt(size.width), UInt(size.height), 8, 0, colorSpace, bitmapInfo!) + let bitmapInfo = CGBitmapInfo(CGBitmapInfo.ByteOrderDefault.rawValue | CGImageAlphaInfo.None.rawValue) + let context = CGBitmapContextCreate(nil, UInt(size.width), UInt(size.height), 8, 0, colorSpace, bitmapInfo) // Start with a mask that's entirely transparent CGContextSetFillColorWithColor(context, UIColor.blackColor().CGColor) CGContextFillRect(context, CGRect(x: 0, y: 0, width: size.width, height: size.height)) @@ -220,12 +221,12 @@ extension UIImage { // MARK: Crop - func crop(bounds: CGRect) -> UIImage + func crop(bounds: CGRect) -> UIImage? { return UIImage(CGImage: CGImageCreateWithImageInRect(self.CGImage, bounds)) } - func cropToSquare() -> UIImage { + func cropToSquare() -> UIImage? { let shortest = min(size.width, size.height) let left: CGFloat = size.width > shortest ? (size.width-shortest)/2 : 0 let top: CGFloat = size.height > shortest ? (size.height-shortest)/2 : 0 @@ -236,7 +237,7 @@ extension UIImage { // MARK: Resize - func resize(size:CGSize, contentMode: UIImageContentMode = .ScaleToFill) -> UIImage + func resize(size:CGSize, contentMode: UIImageContentMode = .ScaleToFill) -> UIImage? { let horizontalRatio = size.width / self.size.width; let verticalRatio = size.height / self.size.height; @@ -257,8 +258,8 @@ extension UIImage { // images. See here: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/comment-page-2/#comment-39951 let colorSpace = CGColorSpaceCreateDeviceRGB() - let bitmapInfo = CGBitmapInfo.fromRaw(CGImageAlphaInfo.PremultipliedLast.toRaw()) - let context = CGBitmapContextCreate(nil, UInt(rect.size.width), UInt(rect.size.height), 8, 0, colorSpace, bitmapInfo!) + let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue) + let context = CGBitmapContextCreate(nil, UInt(rect.size.width), UInt(rect.size.height), 8, 0, colorSpace, bitmapInfo) let transform = CGAffineTransformIdentity @@ -282,17 +283,20 @@ extension UIImage { // MARK: Corner Radius - func roundCorners(cornerRadius:CGFloat) -> UIImage + func roundCorners(cornerRadius:CGFloat) -> UIImage? { // If the image does not have an alpha layer, add one var imageWithAlpha = applyAlpha() + if imageWithAlpha == nil { + return nil + } UIGraphicsBeginImageContextWithOptions(size, false, 0) - let width = CGImageGetWidth(imageWithAlpha.CGImage) - let height = CGImageGetHeight(imageWithAlpha.CGImage) - let bits = CGImageGetBitsPerComponent(imageWithAlpha.CGImage) - let colorSpace = CGImageGetColorSpace(imageWithAlpha.CGImage) - let bitmapInfo = CGImageGetBitmapInfo(imageWithAlpha.CGImage) + let width = CGImageGetWidth(imageWithAlpha?.CGImage) + let height = CGImageGetHeight(imageWithAlpha?.CGImage) + let bits = CGImageGetBitsPerComponent(imageWithAlpha?.CGImage) + let colorSpace = CGImageGetColorSpace(imageWithAlpha?.CGImage) + let bitmapInfo = CGImageGetBitmapInfo(imageWithAlpha?.CGImage) let context = CGBitmapContextCreate(nil, width, height, bits, 0, colorSpace, bitmapInfo) let rect = CGRect(x: 0, y: 0, width: size.width*scale, height: size.height*scale) @@ -315,32 +319,32 @@ extension UIImage { CGContextClosePath(context) CGContextClip(context) - CGContextDrawImage(context, rect, imageWithAlpha.CGImage) + CGContextDrawImage(context, rect, imageWithAlpha?.CGImage) var image = UIImage(CGImage: CGBitmapContextCreateImage(context), scale:scale, orientation: .Up) UIGraphicsEndImageContext() return image } - func roundCorners(cornerRadius:CGFloat, border:CGFloat, color:UIColor) -> UIImage + func roundCorners(cornerRadius:CGFloat, border:CGFloat, color:UIColor) -> UIImage? { - return roundCorners(cornerRadius).applyBorder(border, color: color) + return roundCorners(cornerRadius)?.applyBorder(border, color: color) } - func roundCornersToCircle() -> UIImage + func roundCornersToCircle() -> UIImage? { let shortest = min(size.width, size.height) - return cropToSquare().roundCorners(shortest/2) + return cropToSquare()?.roundCorners(shortest/2) } - func roundCornersToCircle(#border:CGFloat, color:UIColor) -> UIImage + func roundCornersToCircle(#border:CGFloat, color:UIColor) -> UIImage? { let shortest = min(size.width, size.height) - return cropToSquare().roundCorners(shortest/2, border: border, color: color) + return cropToSquare()?.roundCorners(shortest/2, border: border, color: color) } // MARK: Border - func applyBorder(border:CGFloat, color:UIColor) -> UIImage { + func applyBorder(border:CGFloat, color:UIColor) -> UIImage? { UIGraphicsBeginImageContextWithOptions(size, false, 0) let width = CGImageGetWidth(self.CGImage) let height = CGImageGetHeight(self.CGImage) @@ -374,25 +378,26 @@ extension UIImage { } // Fetch Image let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration()) - session.dataTaskWithURL(NSURL(string: url), completionHandler: { - (response: NSData!, data: NSURLResponse!, error: NSError!) in - if (error != nil) { - dispatch_async(dispatch_get_main_queue()) { - closure(image: nil) + if let nsURL = NSURL(string: url) { + session.dataTaskWithURL(nsURL, completionHandler: { + (response: NSData!, data: NSURLResponse!, error: NSError!) in + if (error != nil) { + dispatch_async(dispatch_get_main_queue()) { + closure(image: nil) + } } - } - let image = UIImage(data: response) - if shouldCacheImage { - UIImage.sharedCache().setObject(image, forKey: url) - } - dispatch_async(dispatch_get_main_queue()) { - closure(image: image) - } - }).resume() + if let image = UIImage(data: response) { + if shouldCacheImage { + UIImage.sharedCache().setObject(image, forKey: url) + } + dispatch_async(dispatch_get_main_queue()) { + closure(image: image) + } + } + + }).resume() + } return placeholder } - - - } \ No newline at end of file diff --git a/AF+Image+Helper/AF+ImageVIew+Extension.swift b/AF+Image+Helper/AF+ImageVIew+Extension.swift index 954433c..aa69857 100644 --- a/AF+Image+Helper/AF+ImageVIew+Extension.swift +++ b/AF+Image+Helper/AF+ImageVIew+Extension.swift @@ -1,7 +1,7 @@ // // AF+ImageView+Extension.swift // -// Version 1.01 +// Version 1.03 // // Created by Melvin Rivera on 7/23/14. // Copyright (c) 2014 All Forces. All rights reserved. diff --git a/Demo AF+Image+Helper/Demo AF+Image+Helper.xcodeproj/project.xcworkspace/xcuserdata/melvinrivera.xcuserdatad/UserInterfaceState.xcuserstate b/Demo AF+Image+Helper/Demo AF+Image+Helper.xcodeproj/project.xcworkspace/xcuserdata/melvinrivera.xcuserdatad/UserInterfaceState.xcuserstate index 590fde1afee5cef4a858bebe714fcbfe6ac82843..4a383b2c5d9ff5a0ebcf65b505d2c4c143af4d17 100644 GIT binary patch literal 181574 zcmeEP2V7HE7k}^FzV@S z3p)=xAG;X41iJ#e65EWmW7lBUVmD$pVYgzpVRvD7WA|eZU=L%DU{7FAV$WjFVJ~4X zW3OVbVQ*n?WA9@hV4q;0VqaiiV&7ulVZUI%Vt?WyT!t%f4X($H_)t6tAAuiM5jrB9$RS1$M-pbjP8>yy zCGv@4ViHkCR1wpNIYa|7kC;z{h*ly>v=OHetBF&IHNBJetnZ$bHEaC#LtIN-N8ChgC2k`gB_1OlC!QdlB%UIkCY~o=AYLS1C0-+5Cq5=VAwDHO zBR(f~5?>JC5Z@9%0s;Ua0%AY{36KIgPyi*+0X;B)VPH5I0Y-vR;4pAF7z0ee0$gA$ z7zawgL~tx91(QJ~s0P!)3{Vf6Kmas@77zvzum~&$E5V82WN;cd9h?Eq0vCV_!KGjW z*a$X(YrwVOMsO>*4crdy1rLHp!DHZY(R9&l(HzkUBA>`FY7os6%@>74t)i%?O|(R` zRJ2lbqUdDND$yFzX`*$aGezf!&J|rKx=3`H=yK6U(I(MVqN_#Mi*69zEV@N>hv-hx zy`uX>4~e#k9uqw-dRp|1=mpV>qV1v`qBlfuiry8yC;CYAvFLNrPSMw*Z$v+ceiZ#G z`c3qg=x;G5#>HYWDW=4%@AoQJgJ4L_AbHTs%U2xcCUMNt`RTifv+-*exC> z9xu)p7l=#56UCFnW#UTl6!BE?H1RC)Y_V5-g1BDn7YD@i#4X~GI3kXU7mJsOSBO`N zPZFOjK2^L%yjHwUe75);@de@w#g~dN6K@c26mJnh?-f5G zep39D_-XMo;%9MO{Ji)D@mu1z#qWsU6~8BbU;KgiL-9A_Z^hqcRT@^*3?`7rqi`6&4q`8fFm`6RiW+(EudzDB-IzCpf8 zeoB5ueop>G{!IQt{wg6PKq8WeC8R_mkxFzDy~H5Nlw?Val5EK+$zhViB}Yh(l#G^) zk(eYN$x)KAl5vt_C8d(%B$Fi5B{L*5C9@>6C37TmCC5wVN#;v}l4i*g$x_KO$#TgG z$x6wIk~1W0CF>+-N-mLHD!EK@x#U{Ob&~5PH%RW5+#|VHa-ZZ$$y1W2C9g_ele{i@ zL-L8_Q^{wNA0O41o2Bj2o29o%Z7&xeq>oFVkiH__F5MyhK>DHd zBk9M|@1);Le~|ts!(_OOkO7%UCY8x$3Yk)tAv;KRuxyCz5ZRHk(XufzlguMKN;XzD zQFg4XRCb(fnrymkhHR$HFKduB%9>PtOo$Pzr53+w` z|H}TOFiK7-C?%Ca9Yh^W4WSO9j-*CYV<%p)b-R2)a}$A)Sc8_ z)ZNqr)Wg(^)JxRM)GO3>Y6tZy^)~em^&#~I^(FNc^)>Yk^$YbYP0|utO3P@9rfE5? zp|!M**3(9M2z@9$l0JgYrSoVreH1;G9!HO-^XX!`gs!2d($nba^bC3?J&Qhp_R$S= z3mu|c=>>F{UP>>cm(vV=3cZ>>l|Gw3hd!4+kG_b$hQ5}*j=rA0fxeNxiN2M-gMOZV ziQZ1XM!!kFL%&adM1M-}q`#uSrGKD*rhlXVr2mm)av&$=GF&2;%QbSXTqn<#A0i(r zx5%w>o7^sU$enVR+$|p~KU#i_yii^$KTbYbULmiP*U0C|=gWigW_gP|ByW{3kcZ_F zc~sseUnpNBUo2lKKT*!ePnVw|Un^fHKVN>Oe1m+We3N{$yj{LUzEys+{1*AG^84iv z$RCtHB!61|jQm;oi}LOAkL91pKb3zb|6IOP{g9HW?^n53vsR4W3Cd5ZapprTpPq6jHk z6$=z$MMSY!ahBq2#W{*|73V3=S6raDP;rssV#OtjTNSq{Zdcr)xKnYL;%>z~ihC9J zDehN1rFdHLjN)0vbBZ?Jw z3@V$I3zT8yLgiBBGUbWNla;HKYnAJiXDTmHUZ~ut+@##BY*${RyjOXj@_yw5$_JGX zDYq#fRz9M9LHVNcCFRS?SCre8JCv^~-&TI0{7m_|a;NfJ<#)>Ol|L(gQU0p@P5Ha> z?+h#h&!96hG7ilcmSN7YWLPt78TJfEhBISa#`uhajN>vUWt3%1&M42AmN7kJM#h{B zUq)?4T}E?8OGYT8H6xm_D&v%l)fuN|tjRbn1s&iE5t1ePqs=7k8QPr-x zT6LZ3M%B%#+f;X|?or*ZdPwz%>T%Ums%KR%s9sj>P`$2tOZBem1J%c>&s1NizE*vw z`cd_Z>UY&&s(;nETBMe!DYZhaQft))wNZVrdZ>DsdZhYr^=Ngj+M>3rUFxIMUrvBb*nm}UZ`H8Uame-eUkbV^&0gV>NC}6 ztItzksJ=vfxq5?ov-&FawdxzxTh+I!?@-^ZzEAz2`eF5B>L=CDsGnEAq~5N6P5q|& z9rgR_kJO*4cdEZqf2;mM{j>Tv^`Gj0G?)fxNR3P**JNlk8oeeAVtV$HFdNt$xa6itn0x@MMUuI2WS*%&6 zS*d}VRhm;Zr)$<}&eEK#xj=KV<}%HdnoXK5nrk%IYi`oqqPbmjm*!s01Db7`M>S7q zp4L34c~SF<=2gubnzuFYX+G3^qWN6&rRE#W_nMzHziR%_{H^&vYUgOZ+FGq& z+oYYZZP6~!MzxEyOSLPsjCPgwbnThibF}Ab&(mI{y;ysR_6qGL?Pl%O+8ebuX>Zfs zr@deMfcA0i6WS-WFKXY^zOVg6yHoqM_8aXF+F!MQYX8*{I-ry3lsbbhQ3jYF&+Ps&1NYrfz{Qtc&QPx;EWH-6Gv$-4fkW z-7+22oupf>TdP~IyHIzL?qc1Qy3M-lbvNj?>TcKFqkBNNP4}qoaosbzXLTRyKGJ=x z`$YGt?laxzx}CZ&bYJSe(tWG@LHCR9Pd%XrdXZkNC-q8wmfon()*qxlSU*Icqd!zX zLVuXvrFZK+`lIw?_2cy8^^^2v`pNooeTBYKKSe)HKV3gVKSy7yuhY-dx9CIqR((`= zg}zO{M8876Qhy>oTF>a$>euPd)UVf{rN2Obq5e|+_4*t1H|lTFZ`I$dzeRtS{%-w) z`iJyS>Yvg-t$$I!UB5&Bmi`0%XZj!YKk0wg|Dyj@|F;1%;0B3-HmD7mhM|TW!=Z*F z3`ZJ98*B!8`I!ZoC7ClaXJ*dIoSiu*b8hDGncmD3GFvjEnM*TQW}cXN za^|YcHJPVnuFE_#bA9HynHOeWl(`{uW9FvJ>oRZ8ygT!m%x5!S&wL~E&CItlKgj$v z^Q+9SGr!6FDf8#d-!uQn{4?{f%)hg+EK!y?D!Ga2vYyL&KI_%2*RpnIeUbHL)>m0yXML0PZPs^2+(;OKQDhVwNu$Il zHPXi6#u3Jm#!<$@jE5VKFdk_fZ5(4X8S{)bqtoa%jx`=_EHV}wOO0OR2}Yl>)>vn( zH~NhY#zte4F<=ZDL&k`4v5_%C<7viojprH9H(q4C)OdyQCgWD)&Bj}dw;FFV-fn!* z_>gg%@nPfR#wUzV8lN)mFurPh&G@?UUE_PkkBlE1e=`1T{KfdI@i*h|#y^bzWs9@P zY-M&vwkq3@eQ@@$?8CFiWLvY{*%Pw!vrDs&%dX0<&Yqn;Cwp%8@l!{%v;~9PF&Rc- zG$zL~FwOMx>fHJMC6QU^-&poNZA4wr7l~}b6qu4B7_bRbVQNMM!G93scvZU6qT=bH z@cc-tug+f-s%vZZw?w_F5d|eKXK{(kX3Dn|xlMMv%VEkdc9>1}5?8U^T41+WUG8|( z25cCXdp(wkWno4v8#@R)7#o5ef(^xTutOO!LoyOZ%E%asp&2=&V3bV8_1JK11U3>I zg&l?+jvav=iH*j_U}G2+qh>Zka1#U%K(GyhPayadg1;fY3H@Qp5W59ozi)nPD9{p( z&cDznI6+t%0^Xla}tXsHh^ zD)2Y?76w9LM2#ciuWD;4@<*b97GD(M7IXLytLvKl&3>=ST;_{J3q#GVK|gA$lEpS6 zQKTdO`vPCYU(dY|h%Tw}w}!$2@9V}*5`Rfo(p8fdS zG4AtQTT4*CL`qvG2U-FhvLNo0elHBQL_$HoEZ!;OuwpFt8f-jvGB-WTs6X6*Y^$Ix5UlryQ(vt{{k5bvEyI>$E3lQ=i5P=H zrihu$R58<;S&WydXPTHG6Jo;5LS_lGoH>y>i8+N?!>nb_V#>B-tB@l)1zU}simhQ? zQ7sxBv(dj{e-I6=g?fo_iwZ3ki^**%a3K$4ahnPX z@|`A^+36~B+g&z?$NUO*2DTPkhn+c#_h&6=2+iPs^hc(aSEIqQ34OhOMtOAw2RkM* zb1v8L&@K%-itT2b#cnn^%_YSqyT{`;xou{rsW9JRw^-b^0-MX0NarGs&Y@lC6y-ae zE{D@*Dt5UMor01QQ$eA%#AJ0B*sO&vi@7kF&gC4P;a%tyAn$7PxRJlL+UzE~tI%aC za1`21?jnb~xY%v>I4ssgel~G*Ms}fNx8~c;jv}kcZgb?D><+inA zTb&+PBAu%_I)`5I#3rA;k7dmd6%i$<2wwg+cJsy)C znFrEyF`|=icOV;b*j#Q;BAq)qI;Jjk@*Ra{Pf@3tIgtTdOA1YPr_*UF za5*g|huvIQ;4EgX(U~aMdmNqdUFa0Mi=9@~Ii^B~3)x{I@*ti~HKJ>|g9ZY&DK!Yj7|#8fZpgn6J6jt5W$FxB6P@Yr?*k zNL@J48l7Dqi%pTEpNYaa|Kdttw23*6!KBQ=%(2^XF-~GME z8}KY_{hadZ&d*|J)q!Qz_Ib=i*238Xn3_>D2IO zT&g0N(s-M>xS4G;kEz~>TbP>OwCP~mbTU(g+PnxK&$oFfGp(~t)T^B>=HrEN)5D9H z8B7^xUid_o>aomBA*z?-fTubf*$QvL_!PXFWxR@+y%Dcr=JbZ~8Eg|XnYltuY{F0A zn;6L)-wosScmvy_pE+S8-pKfR)8c%##UN8F)Z*26gm3XMrmmY77vW1fT3pKbvNeg9*gjK9g;GJu^?J?epVp&lhOBce6j= z_Qm+6sBO+W;g>PZ@wTsI+up#m2(*pe88;DAr-@vPU*AFI2BtMmW-CkPW@dp9nfu~o z@;b@fgWtz$f*Y3iGm$u%hgdS(n5Yn$ZTORX-&&ZqZu<6F{P_<3zQ8PsQ+=7G`UA!_`4l4zQ-($llhP(^AWR5h|Du_86BN6euaP2!OgeKia41cSTa8{ zD}~6s80W^-$<1H*KP(w;Q2xs>F){>>$Pferg~;rP4?GVVc)U;qO(^2r5K89cI2kod zM#HQUBJ*aPo3S0-5C;)MI>;Qttd5gmeI_xCIaP?vdvP-3JIRbDOdVu$nbYEAEG!u- zbGiT-!W}1bhQLVZUEIKp1Y#Um_T*8OtZYGW=yu=C2dCUdOMVpCQqK>F% zE@5tAo=QqQi2xVdobOd_X$S=UD7(y?8bP2AFwhca%TRoI@rgK+7fatGd1Zmx zFiP|Nk-Vv;rOm!Ze||}RJ%W?aq#MaA@;8S@TFtR4+2IwIC$e{5hT zO|R#HQWX~WlxGv?qA^OG!))0|oX1?n$<6XVsU@_irJ^kw476|!O%K#Zn}$zl{QzVC zi@$v_aRrv!PFzA%Us7?-%eafY#=rgo0uDz8=0G!o0+m%vqGWf5?>uM z{Mm&_kN$8a3*sVlmRDp=sI|<$&>xJcx(KOw1P|nt7S)707~^6I@V@!_IW?R9Fd_C)DZeX@DlV%mnoMl3JP1GEYbAB^%3zoZK1M56^L%E$m zlk`=@9mJi)UBunQJ;c4tt;}uA?aUp_oy=WV5%+V3@({6&c$m4HGn9Lo`XVV{$B3N3J7gM_;lU`HFc0 zX{2)gB-6|Vra)C;T<-6P@00E5C*n`mj(#S7A$}!(BYr3TV4h~4VV-54W1eSTxQh6T zv!j2B{{Y6k$l1}$%qz^R2bvuL8PXb{n3wuyM<4^JksSdQvwb7bFgyBYM<5fR1h^e! z0VBu;2QjZPuQP8jZ?=OW;1DnrKX3&3%pY$KS&e9nBq|6UF%HZVIm zs0B;`RmXP#EgTNB8BFOwVn7X;ioli_4pZ%qZbqL>!`7ok2lR_qrC+uT`3v)kF*(aD zRtuVd+-}E;6>%NR1jn-mISb4NbHH5YYvx<#d*;V>-~}fDAE;%1X8wXW4sl6x4>xi> z{Eb(2Mt^%aHB#y(fa)n~cqieFjX8urWSBa z{oqxd*I%akI4*jjJs(=4_Jvc`w~*uXC$H+ZP%SN!A`88>V zipQ&Q0F;M#0mC{u$o$4k+5uJ}i1!}^^o|6p!Kq*kkBxS$+E$_ztGtbkt5L}P2lG4g z=e}j^!}ISstyJ~;%1ykFSPRy9RRK!h!W8vxkv$V^d|%2YKUtgu7`Lg#ElR?2;xH^J{01ILVP&HM?(BCh#vv* z(GWL5JP+a)h}$6UfVd0d9*B>H_;`pP1Mz%_7ec%k;u9fW3h_x0pA7K|h);odHN>Yv zd^*HuLVPyF=R({IaUaC%Anu2FBg6v`pAYe7h=(A)0OApdw?TXn#Fs#P8N^pW{6vUD zh@TAcQy_jS#7~3x84zCw@%0ct8{+3e{CtRC2=R-NmPHvNl}Ihph_oV|NG~#oGDTS; zqbOT+kmz915YZu`p`skop`u};;i3_uk)lze!$gORju0Iw8Z8Rj{-v{wWA^r@+UxN7S5PuKipF;c_h<^|9-yr@M zBmg8RNGKqohC~)5hC<>nNQ{O=9wc0l7z>F4NR&Y0I7pO3q6!jIAu$sYb0AR%iAG4w zgG37?!jM=BiItEz2@g73Ac~uX^V-8eW77WCeX!H2eBwuT59-G`Fh=zqd5h4>}fy7Ewz|#;4H%IaU zl}(`*RK3>RhCT|Rz$W%h!o$@?le#?T%C+Q1>gVTGFG1CF%`vofNgh`Uw}`DjM6HJX z6T`mNra)aJw}CB@V?WP3){kH^gx?lUaARb= z2?dLdeily-*ihLH>W-k_6bMC-{?KP8o|1{Jeu_cP-Wadm{1R^mD9t`vVP^kEI!FKH zb?s?X`rwcHthoc#;qF{B+uM3H<{CCAxnxSUAh~j*a$wZ!X#YZ)VMSnT+rOGATr;-U{R=P{t{oXAsSe`U{R!T zNgh|t$Sxk#BPf;~D5%2J6li6KMkGEoSk_ARUDi-hW5jRrMNC0%>kT>bOn}ENBZwxzWLY z(BGl9AE~Y9ZZS3bThP)UTC*{+6GbGqsoB?>ps>=khR}jfZ2B=Z@w0APNeHD#o)&z; z;4YMu9(t)dYvpU?_bsdHdGgK+wA2OL>JvPuskHA=R81%ptZPCm{t-UBj%@?UU5wU2 zW8dVpMZ$uO^)oiwuN*cP((!vTP{x4fx&J$doTz~W;fsoj3#LvSiE6gl54or)R6DOO zHiCpcOUFkYaePvIWa5fla+^j4eJzb`$eoYp6Wz|8KxMHna=9l*MYt_OF-?!}`RqMn2&JeGAb=#DxhECXr8D<9KCxSKaL;iG z>-y7~J71RB8;B;IxwEyb$tg@PkgdU08|SdQ1ys_RJBudu1UZ?~nL7`;^{AwD=8giT zPRun9Q}(E{bmpGU+y$*BF>g(0?&-{Z7c*3BQKU~R8~>M?dpx&HPTp7W*(o|YV?{hU ztq(-du|8;HN^l9<M*-3PMZ}Sf8jz0LwFJ%>3G}h@cA9?#7*s@lX#vE={HYKhoiyn zv-!L7WS-nVpKTl0dTADt1`5FNY{m;vExH!59H_{r<`_mnCzWQ;;J20eP7ZfVCh z_*RA5TI&7voXxYve;t)Hd%UGMC(}y(i%|Vr3ttqs=i2K;IN~kEH!*X=o3FR&d`Qso zrj$QMVmq^UTNj+KU2DscQh1=eY=k9>N6jHq`auR+^C=2M`hw~=ZrNC+T z>UB~W+gCKhS*$69&L{|@jo)2rl=f(4$v&zA!O@<|>wwmBr8d@!S#U5$O|KL)&_MA1 zteZi`fA?oq4Jho}55@GnCMsAy)isCWE8e?}^!HY+RzK7+815!kZ$BW#S^I^^YW9zZn91aAsTFe$ZI>oaKT*kics`uN?NpRV9JX5*-hVUFdv)x>0 z6@YaS)NFHk>=uvP>akkf4x13v>}jxhT=l*rp0@HlnfKMLYu#a_<<*tGun!&d)Y?=X zT@v&scmM6YR93Gl8VCON05B<-7z=%vh(X@Nvtr+kt&B4fLsYq7CJ%NG!~suYMf%R z!d1q*jOz|WG&%v==n6;2z>Z`%@)aH_Iohi_Jq}g%6^=~lj_xqPZt%8UVQH`P3{L1j zGF@x7S#9WszXT|pFM>`iI7avW*{uS_rH)#&tJYWNNN)7ir<@DML2NwT1fb}-e@X!IQx^6bY*2H>Sy9d?3TAW=GL{x8UHP@QW^+^cgFFaG|_M0c-y6I}i zgLGJb4;6yDG-p9W{*xE3yx)+m)8Vu^Yz^+7AzPQzjtZd@P~F(M6;8XuR*&G^B!&OS z^Hk|oEsrC%eXP2+*xdDXW@i_k93GF$VYOOp7LU_`tiUEzb8WF%?RDrNjs(LLi+Gl* z(BYGd<2-c~DfSOVPTv=izAqwveRXfbpPsW0Hr7j@I+;FolD#6m=c`$EYY}6QrFosD zH$v$^M{d{S(RTy7$5@E1-VD=yN<#-chPNlo=>H9^+Y>rF&~dqLZ{7O8#pQZwH3u*l z*AESJi@^Q=fNj0fnh?Uqz8EjI7!+)++cCfIVQXR;pO4n`J8j?1J;1d-i_ct_oFglF zo~8{3hSYgF9k)uJn5t`eHfDHLjd8f9uTWMj_Dig$5ef%$TSN7cRzJE(x8v4zaTeeD ztlii$+yRuub`Ev-yU_lsL{^6ItjzJM77nl?gs%)t+>a_A#xrxgSM^|=nXVw(UIc@? z15C@S`I8fi!oEeR2PldU;~F3s*~Oo+tN{7*XNSHlpg7_S2cY)W5R_4d3&nT zGga%IF<|O9y?}|m2d<$1p?sE6UfRt0F^ki>*U3bt}3aJk8PvFMpUG6O5!ofi* znoQw)Ur~YJm`de!K(W)*#`ckIYQ0j-Ktrbcvu*|%Dczq{HJ|`#KNQn*oY|+E#cq#q z+gsRZKh!Z8Q&I8;(Y*Ao*o6CX_ihE^K58&2DCjQZy1o_}CPE4p9#W|Hs+RT_y67cJ zCJYX7aatlnPM)C#RAIBK3&xRD+f+C)R>{;I=#jizGhJtsuCqzk*`SpuA@F3tcfEEu z(F)?}@e2=oPW*a!HN}H+dkwo?N9ram-lGR63Guq$Rgny6u6RIbXrPnE142oIoIM^8 zIvdb5vcDSIgSlk4Ywmk1m+Y@j26vuINiErVE}_(9_l{fIA2pC5eDdi_={g&}BwBdo zpy&9guj%EeNT@Ab=QlO^ef9qEcy`4m7^ve8Z;oBjyq|885s&3_)26*uNs)M7ws->1 z%siARGrLNZx!VrXX>zkaxG>PdmL`UMv4f0zu92S{s&5PWx%0+Z*HXH-vZtPBT9&ol zt`6w0yWcfy>Fp@#?I`K(C>>ky|39L#9yjcy(`5Ek-Og$lLEoEBlhN`_ejKswC!J zppyCZU9x1Z5Uh7;ar&&^x=_6z4I6G_Uy(2B%S$K6yPW2BogAmn`t>KBpqwXIoGBD$ z2v&j%t!)>D>e`z9E$Hql)E)CuF0qPH-qjYb9*S4k$uxb|Z~ZRuWv*lS+nQoZPuk7d z%_{tUo-Oy!|o}gTWDwRR@w^%@Pk_a*jKFzRgiKtx{qM{S|^bRQ&jLU zMQi`h@u;nJxt-Qs9KUIH+nkQBXI<7gd=0e@r?oEWtjijnr?6Mm(qAAaWrIa8w_PVH zW+u->6yY~lbir>rPyZ<7qsBdh<>Z%mxfs;TAH2a1sa{>#)a{0-J#}yl%gH`}Wm8I@ z_hvWju3?hhE^inRu66^wN#Uo<$msY!<&z?17;T&coWx(L+3@W?~b4c+47 zdDLQ|SFPC61-0O2wB8{V=`#z`^(OHO*xtaUJx`{r+e>f8NN>hSZ^r1D{`d3pl1^kz zXo008NbIp@{(xWe-xEq2uBbja70XMXS?c)| z_B9JlTyn1ClefkFUyJwD)jKUdPnT;aT@JU^=JMDr9+$=HbUDm|Yw@0jI;+j>Nm`3< z;(1!?RbAQNwfLBt5-Xj#nbB$%>i<|Bw${^*U!l+sgs$g+gH6c~kSc=o6$%O4mDBYK`(?et zE|1zxS1fcuCwugK%zil5?xN2WQoT%bh2QGc;&ZxUL3oYQG|mYip@%s`f`%M6Sx;Fy7Tr=kWN=X1m+g1sb)u%^s`O?l#*kHme)$V{%yC zqd00MVPCU9{<_azS8s7Tld#bW&#nuv*D^tG_OyLBVNraX_ zkO}Vg9<9!zh5qw~rqUvR(BJ5b`gz=n9UB9DR80!Ey&2DgkwB!xgWQ4VTqpC}c~g9N z8s$r)e5r<%|ztr3yjCKRW$^Hpq1#_knr zruIuO_Wku7Wu{R+VQ;Wot1T%g-yW?D>xTslMqH9Ca)P}lUtg2nm&6|m#~)xIjPdOv zraKT3z9eu%U~5t`+>s3UoyDUjr=x>a+`B?e(s+qrLf0FRV^1HF+Ydk1^GwG2oHSmt z2l0|Uk-4W)1$0MK{XTy-K^j%Cno}H7Y;KOEPdn*V){{mRg!71W?GRshFLd^UDUB+m zQH7|l+XeA-?NCyhn4Dto+5KiIli$9w+L0`B8dVV9qnOfpX;i`A%S(S^a6mGia6XSG ztnF`UNQ2cMk1cuI+$B6yXYP8} z7n^Z)xATidmP|f$i?QDn2u0HMATjqcAeR8849ebk)HJ@4T58w%`yiYio8I@8-uLAX z=gsJHKNt&yp-tJN6QTRwjOW2vcS$2RY2*gQ#VOVq3jx!}&F&~Bz3Z#n6@WBy!(IN{ ztMQet2dVcD)-BE{Zg5|jq?2KcG;%X_;z(POrCT^>(9R3mN6n>gG2MY!53-9LUo6Iv z4BA}D<0EHzRS$N*|7yTCD52ABcd;Xq4cQP{T#{gW(IJ1^8ZUUf!Wm&%r2 z9rcq8_zch?yxm>{x2HC=v5sP&zb!~;Q^oF|P_rKyNAo$gvt0)%ow8GnT1)oeFBpqi<^!d<>f#gx>@QXdcprAs8 zKI~A-Kp(jw)cBz0$Aas5LR<-#Sav;}E%t8GOve6{6Zm4^u0bK@Yw%YC(_ zl){lcd|dE;u8xG@X~9Dx z&TXwr;{R@*|4Y28nmx#WRdIgN0pLiRV+b+Ie{DAmD@k0>54C0qV z{0fL)*)D!q{0KHi{20VHKzt*_H$i+eQ|47=RfYr2zVMQ`?rH+fesq#b>=r3&Yg?)8Vf4Ium(&(RiY@pts9}Jd8B5nSNS2Z%_rD}AhBzm|$`K{sk_cXsz zC>nOjjAiCAIaZr}g>)MGlX*p4lo!Q2SW#XQzbt-5ydC0OAbu6ZuZH+F?c!I(uOU(1 zfcUi#zm5~-`n@WO{f&(6hfSZm%wl(%El3=*)4XE#GK<4zc8tk!c{*hJNc=e~)5qdZ z#Gi^kgZPaQzX{@7A%1hac&GRazI$$g_^tau_bkf6{$B9-tYtR)m>i44?d%ZZXYn7b z5Wk3j75^sw9pbk`{0@lU3Guty#ea(bLPGol@w*{@4=2REd$nVlCQTal$EkCcS=|m~ zTo$v#wt|(&;~JCW?C2I!Lduauq?DAA6iGw;euzH+@dqLPP&=t0mDm_k1@UbVf0&c# zk-aL>)(6Nt9-29m8#PXk6^UbUTP(=vIz|qeO%7$nIfy)%96}xfaWv!~hxii^f3ls- zArIxP>?w#py$@K~JGEi>BH+ZapzWG*BO}L<7FGrmnM>x8W{5uv@#i4^Jj7pUC#~Yg zco|+qE^Hr=Vcws1`59QuZ;|840+#cm$z#X~WIn`ShWINGM-FU9J6T8;@tnU3@z?eN z&Re}7v`e1jjmhG%cWA$YtYKxSB&U#7WHrQ*r+pLRZ$bR+c5*5?jhEpah`+lJ$k6g* z?Wk9tJGq2hiu}@Yh<^$3uQ(aL-m8Ae>^SW3 zoCV0!+U)EMXmPt%%v@%(SZ#@(X*GF9w|2FbT*r6Hw-Em>-YFRqb@Mj6^0;A~7VCgqFx93P>0skqwE1 zAaQWJBtxR&#TWt!6ddjKH0ZSYNzpUk<1NPR>gZ(2L6RI+hJz(TB!@_bLLvteheBc) zB!;(34wVeU#z;m$0{t1ub@HgaI*!k7UU^UTcgXo$oX8nj-8LKR{9R6Gg7cT;N^Goc z2@L^>UE)9jxgc>kB#z(&I+C;6*1AjIUi%EM9FNI~5XkNH{pU&b_Ms)i*slT>dUMzqrw0MoMzABf`}oj8{_6s$M7~ zkoYAHNSG!_xFO-;ggJ^+(mSizLEoC?si>ERcjDF%A;r zA#pS$j%k-fC2jm5n*a$E1Ml@g7CPH1f9`Z%L)H$jEMX+4uzC@Sb0w=Kry{+a28lvQ z6mfbf=Je9?4Win~?~RgMS*n88ahv3JMD{9sB_VxSkhR7A-XD^GyVdr8QVbg-B_L4`36xTy@Uel{_RoJe zPtA=D3750$kdR8H3YMyn@0Tj28N70k4+_MU!-hX0B53)ZqiS_@hEh_4^dOd&5LzQW zSULo8h-SJ|V_q$8zAvXq5#M(Jqj7(_W2 z5+O*ma+DWvl%tcjANAaCoHd}ssL()gB~DLLyVQe7N*z+C)Fnk8HUfz#B-$Xcuw8nT zbSxr?eC8rZEapfq*{jpY=0C^0b;l0A8_f<2k|im7lTMVDAz1_+zI3v*9La*_$z_m0 zNhvao6`Xon9W&l~Z4uvzW)B+{pcnylL5EM1PLs}Nl`fRXN#{uCBC2Q%od^krqY62y zxlN|a9vU}mnU#$;>~=P5u(({vt06!vX2?>%bRJ7r$g4@`OM{4R3nWg4#43*NDIDE* zYL9I{F-#BbQvPL0urY}Vhu<1G>+&R{f(#3vmsyP zv2t0C-OTwSkJEz29*REV44*7rgJ?@vNl%fkmLeKwKw>Q<)v~9> z#nC={ubN8hy6Ki>cX18``F*?D#zq}(vkUb{r?M`PUWx<~1d64XNiRnNT?vVEA#olj z(D|IQn#zy0O}lU|%6S}|dYoRg+}WkZQdC+RKH>)3t}^e5L#Z$PAPg2aW8K)?Vp z#fv%8t#h6`3>I^+cnQpTKQTjWUyG8nw^k?ZW(qE;&LE=V8AcNQniJKvD%NFS$(mxTWe@p*?#I2A( z3mAykJ0Ni)w+@Nh zys9gfQ90y9kf~&P)*gg#ESW);iH(t= ztR4+d1aYC>L(5EvEOYlIW#1f(Kn@EZ*Pu0?nak`b>PsX%R5k(;7IaIpk+M;UFiJx2 zhXh&zLWCdW-BQ^O=YxjhmszY<7q^n+Kpqc8>sCAZWK52u!;8yuW!+}EGP?|Axo8EJ z*anG*6U}(xMD^33b%}Ij<7D})3WVYjS%It&aas(CMK_}$)ACsO zybbBNbDoh+l2x))g(gPX6j>FbS_6qEA%Rwiko-?`RNtvxaN8oJOSbdP4mQkjBiB@n&1NR9L^mT_EL(v{3PMA&m9i5NNeBs)Q0(AH zzRHn2t#N_#j50LaAyYyVht0}P;BGUE%UNt4YgV#TWoub(g#uIAI@y_s^jVO29TIPF zq~GL7Z+$59?2-Q=(rAhslY{J*os+tfzCgxKrGoRF>@pdeN?EIV8xm+urqhFar)_w? zfY&d&L$^bz?XqiGT7rFbo$PwVCi0fZi=!12)K?$yedU%lKJyj=cwBZifpVhpkJ3|{ zjZJ(z)?8$_$?is!Ww*=jkliV}3lbke;$ujB0*O!CW%tPLMU>I7`V10i5d%@)xmRaS zW>&)+XHJ~G3N(l-yxPBn1it_iOJk4x^jYPj z{7^|qV`V#JZ+1)TE!o>hIqyQ^8%Ut#52T#$c(t29GQV~_PYYq>te51#;7*(SShka; zDil4-zL0&1sD2Fzga)Iv5k&PTj%w~Kb@PuSke4(&QUBTOC?7`ivCG4*+jMs3kFwub z%0f`E?04B8i1J^M_yrQ&0t@jQM|u81t6$H$2l+(@3kTR72x?*BYbP>oPY2#W;S|YI z7IHw8gpy)oC<+pPK;lo1=f610@6;Hkg#4(&0v+g!`pAL+Y_`MPPCIhH9g_y7qPR&z zC@!Q76q+ykq=fuBWuxqfOD6;(2*fNYKyqA0 z^Y3_MK@29gA!Q;{aM%-lFg1=k8q3`X&}z|wjnpv^NSU&jAEgSYW4V9`p~;6JJb5S= z5FtQ$7>6kjM*$Ia9BQ?Un#=}7K*qI8K|pg&pB>y0dJgFXiGWmsEReH9OJZU~Ra4Wk z+|5)CHI{QCjl|%uhSGB6YB~d9y zOYv9qb~&dp{;^QaVD4h}AX2tQIFYq_o;8(MwXVOc?YU~RP8RbLc?|G8YP>3@zdZI$ zeJM{Tu_a@x&!`}^0NFLwOtnxUsucnq1bPSz5M;JfVJbpJsWu3*AQ%C`NC@&+|9?1l z5Ued$u2)>(S_(FDz9pcz@wkR@D2T}@p>T{|)=NTU;AA zQa59{o2Z+ptq>du!RSrYEfjKxV<0dwWz%@;n#Nm$phCPVBU?3!@-F@m6Y|^}Bk^tI{HSNPRgj$%E8GSnh@moio5A)Kh2%pdO_jqaLT8 zpq_-l0)Z6*8w7R;99yWTsb{EXspqKYAwZLl3xa$IDj}G~+BLdW6*w~6|U`W%As5FEYdM!kOm zH*VvMe@p$4(&i=9Puw`4fZ7~B;Vgcb#~=TVLW=-bQNL4vP=8W?QGZkaKu`cdAp}Jb z6hlw~!NjYm|7eWHX@Ul9UDj zSQ!emL=j({hocpsY%{H-GiVhAr4Sqk!6fDjuS#DSYF(03(AH8P^ygIhc~^{PlI*fT z%lw>zKnp6W&Y2#FHs$a)KL*(9=#0Wpb1OR1DJOQ2NKE6jfzC`Cuyi(!Ryh(zFntJ( zsyY)t7)B50Kj66>h5Rs$-0PGCKTIDxUtjx|w#;F4_$NiY})^fL8gus+?~6Fkx2D?B)@#YACl$D5nR1 zjUpQQXjZ8xmY&H>inCWh7xHTNs=A{de{>=}89810Sh|!xj-EuL@i7O2xey!=ffs@k zw$SBt1zkx`p;5p1AgF~P2thLh7Ywk|?W125dc227N@%u7bm_^i70sCmeU$uNT#vKq zxybF(NO^S|X{5aR9^5Wni`*__W)1_&BA(er7f?j{J( z2YV{mN_M++gkG53CUptDm~*@HIk$V>{jun(dmZqDdj)HUDGcpqAc#WH#`fs2ZVe$} zM0c+#uS&;_=9D~zSK#@q0xy7IVdp@;nBIUUIrHu#xm8Y$W=73w;%{8G;qeX7-;GAwcU@9Wk0f$bfG0MFF}oK2Fd)fufll6fL#- z!%=Q37}2e`Xnt%B`j+q{h9^80dwt0?U$D)e{1ig^gT7WYrzW?wB&QG^BiI-Ub4?~{ zI8KY5gA+*c>e>n_Hqtjku#(vsTaTb`=T;%I@k(Fad|xAqjg~JjEib94EGw<9@s^a9 z74vW22`aX#^z>cy-Sj>5z4U$b{qzI$gY-l6Hu_=u5&BX3G5T@(3HnL;Df(&p8TwfW z7ziK)CqZyB1gjuGS<-3I`eD_Xg{Zu#>3O2lDdeobjbxwm*mO>ucO`%`{pskfrMY-U`zSGbqQ;Oy#8 zPIUk!Sgd@76-C9~>e7kj-m2p2im6qF#onr^WyRIr%KVyRml}($Rh+l)R&d<9oe>kTaAwWxNL%wi5 zQYsfKhY|N3Q zmD3!-@~#AV-Vn3Z{<^ksAiAUro7KgIQ>#jA*s;g`Sj@VxX(dRrv3XXmkY}JMNv?$8 z!i{p2s$A6boLUkHqAi>#$*J-+#7XGoC=1yrM~K}e8|4V7yDSN@l@H+|$4kAcOZyAp z^br>2xAI&0+iknqjLTsy5d=pf*w2r){>FvLksprbUM)XVK1@DbK0-cHK1z<#qst+< z0s=JEZ-8JU1PHj=e6{=t`H}L`@-cFgJXf9vK|2InAh-&Gt0A}sf*T;Xk=11;k7oJn zS!k~lVvEe?Q$G&yLoi*vKk5qv*;^0URMH=wi;~?y9rDp8U)b+M5Acthf(YM?eUyP9 z%V-JOyo~1WeDu)V5ZcbnqMqFM+{7yPfU*tD7yQrTxSvt@QCd)1h$eVnFw|HPd!@7C zxFROV(K2#E<|r?cm$2Q868UR4$|pi_9V=aie{rj?r9LKIQG{=4lDrHl>Us{n0@LK> zo4_<|{qej6EI`Y08*gWdyehe!sd6u-xmG?+K3zUTK2ttRK3hIVK39$+_^lA2=;9U# zZiV1B2yTbq4hZgq;I3=sCt$;|G1wS+z1%NvkT+t(A-J1Saf>Rbv+jZ5UI^}k;C}QO z$e9`CfZyt(NwWfx;$WbW-Jk4L8TgNj5I9`tFO5tOgb@xIiOdc}P@W!G%9bXe={518 zc!Y^?J^thTa9vX%igqryh0(LI4|#$mzUKe2cOLLn6=}miA?KW{kXw@5LklJJPyz`> zMbdysNlc-tkrIkR0!a|5X6OP^)U`K?sMvd5yRK_nd+)Bj_qBijnRCz0y(tuR-{1Rv zzi;37FObZ6=9y>u%ri4{=Ph9YAXb1JtdZ$*(AOw-GGsn4E-bBm?u$<`l(`()agvLtDlma-#>@$B6@l9r3ad*o!NkZzn|pXH9x!noNMAd>Kr z-j%c}X>}5#v-?Ei{UY&!T}kVb)+aGSdr&04BNE@01*kt#b7s`dJ&ES4q;f%ZO`UAN z=T*vqSm~nq@{G9^VQJ-Tbx5CeohF||+IfuF*iHjrE*JR(WOaSleQ&oPdYt` zVcbe>fG?4)y&&J~Fdi^PA3#7A}|ou70;63xIrMdG6( z@iD1-w1vVqgh+f+B>s!NyAevJrX8JDu7<^Sp5B;rYjfY4$=R(|iX1e6ThpGNm4J=mPYhmsyn!syS7#1};3i%2~3OG{!TozEmauC+;e zBI(JAI6KXxAuCF5b>eikP-^S?_kS*-RibW~haEntD{WgX#b{F3>gnoQhsj;1$@AmqKD(_mgXx_YM4{hBh$?1x^9!=;vL+%b8GrlyZ z4%e#bi|Q(C>s!?))hA9aT{L4xWhL$3v&ku~y@9aQ=)}q;wNv;r66;Q%zh195b_PTB zX8ob{Z6=H_9Z54!NabhsT>B0kTc>sE+=ZW)&Rtqbtg}YWn>M?af6MCDWkfeC@ySk4 zy`%mRR zh{d{FzMt^4-tk2Vu!%S9TMR;3FVUFG)IJc;$K5tlj8R(EG+FaDjCO~CxQ)Z1#g zV7W6({&2`p8mkx^&9sW@&SAZp{kd}aVk99uFDqA`K4N%TO?7o$eS&s~maL`Hre|oG z+F-3f8>5wIQ?=<@wYE^J)fQ=|uo=8XJ6F3vyGXl4+ofHqU8Y^3U8miq-KRaGJ*~Z@ zy{-LQdtdu7p-qA(p>0Cfgx(2#69y*?PZ*g{nlK?@Qo@vkiiFt-CnQuSEKfKkVNJrh z2^S<>pYTA!!wHXB_HLD6{iz)p`7`nd=gAXaQe9ipQ%O%B8+BWgPu1??N6%E)zXRJ+1|U!`dgiLZ&o*Y_m7)@D!A8%b}r+0%wG#2YLX zh{QKV;@j#kYT2Okz8i+JB@5^+_7e!T2-JPwl4PLLx+Su^+fPV&?S~2(ZHk^r`iQ#u zandKUCe-n3R(4*SzSfg*w@7@;vf5`!pIZj1+?n*5+_Oq9tDZS+N!qkJJT!)7W~CL6 z^L*SwTV}Q7->}f2x#|-e8tosF{dYu_s>&+aNLp84#<&VN-Igk!RCpHrw^iAfMSPYTpZ#|&vX9H1m6w7u=uBl% z)){h!MdBAC@ynggw$64U@hg$|HDjal#dBxY&6zN#a_;OobzMfBYBd#IMy$J6{VmcE zIJ-EzH4@U@*+V3LD-yp`E4vNfy%qOehO>X8?*=$CMdA-4@jvn3t?eK8-C*aiM&BLg zJX|FHBoe72Y~VG-ce46U)h=gFV$tQgmiT7kV70z5TAQd^1by!Z2PxROqdR-i9%L zJzpdWb7eh;maXC8#JN>7s~49|o1QzZrm!}01JQA`de$#S*3c`mQpFF7YGzi}RL-1O zU2|fs?DP1hVJ=k5KwEy)>@O?w24r&%ATuXpaAsb9#-QA+0U5c22Mx{`Ix;(Z;K(7l zxg!S;Vlg)wYhl$$1{bvq>np3QRoXtW!Y$PrA}_C+yKqru!;F!oEP|`Ca%Bq|?MvIt zL4))9=VcGf$j%+uKV#6)?EH)&12Xe6hGq{Pk~1(f7Z$}&v)Va*L+_}QJ(s_!r z-YJ}`oU4VNBy^|HT|##YojgqzdWz7!LiY*Xzt_2zoL}$U;5^m2(YZufu*37?4=Tt8qKkcNsv*qx5DnB5L$4;AG zIS&^F{?)uG%j@Rik+VcfiTcP`;-aFg7~--puJAA}V@Wtp!ZFelN4#gIa>8X9T$O0nsH$eN2#2Yp+3lpt zurh1p&up&@-vn!PZvDG-(e(LDgQvvE^7!Iqvm!Tl5jB$C*ICmR&8sVx-`Cc$bk4l7 zrm~j5*lt@` z%lVY^X`y!)dJm!Z6nd}SaIh>|YHkG8U}JGppbhw}}g_t~MP z%bLX~ji#x#dR`@^lO;fzWIOb~o$t%g?+Km%ejs$^qt}94oAVQPTAiOdKNEU?p=U)$ zaLzBC-^jk|E9cijA0YJ1oz8Ea-wA!7&nmKr%slLp^don2y&8a-z+)E8UgB zN~o)wtGla*tEa1%tGBC<&~t^JC-i)w7YKc%&_@Y<^kuHTu70lmt^xetK-VCl7Yh9- zp^p>#(dz%F2puQhV`Qr)XGOA{O|?`}%F|<86F^zm|^I`fS+kdT@ z-?g=W7k#6np#z<2|E|157Uuqu9=meRbZxvRi65+C*& zp^p)|bzYuzk2E#M*)ZYzTcQU@o_CFNjn~?^id@C6qg^GgQdgOlPOE6EV6Pk=*Px!& z;uB&%3N`##_Q@=;o?JA`{}|D_3xonR}uwXVA6{VR967RgjL=Xz;!>9m(SU1zw?6#5LIb0B(hj_h-)X!Y#i=eRDAE$6we z^IYc(eWuVWg+6PS>p}|2#X_Gg3(5Nbk(TpP)*@Vcggz(QmAS5PT`ybCy{;==SGlfs zUE{je#pr6T&`%Khi9(+z^!Y-s5_FX_?ShHuR%!yWW*!fOmwxe244b zLg$JD#$WTNRV|t}uW4i7>qKju%a#*k+}cq!(-zDbFE@x7{Lya}*H$i?S#5o0Tl*u| zCo+PMg?`Eo*QY|SuOB;QZp;w?%YVnN{g(KMf6tP>7n zd1~N)GzMkPHVo^wB-c8xVVmNB8p5xvhH#aY$-m0l{+rM@)PG19)X)%S$?GYGa#4=m z4!T>p&1M=Xw?j*JGnU*)17+Mw!B=A4NwlwSCc>Md#m4P%hYqk2afjWh?zZlB{9gw* z)4R<=KTR0d2;(O8|2GSRBkJ_lGpgsyXV&LcT8D7@F0gL9juazz7k5uB%CIG(zXbsy)h!0}Y4Yo^u5je;{h|LeTUWp6O6(5@3R z-E-KWlwRfT*%2>PefKW+T=xlXI`T_}PRDY$>@{%C#OEpH*r(<661I zBL_*>HP*fb4^OoJpYlqLoOEi@J+{jMc&%FHa8qK@CDPZE)k!zI|JQncac^~Rb8mN_ z?mokPru%R1v)pI9&vBpYKF@u=`vUic?u*fYnN%ze503in?3 zmF}zDSG%uqU+cckeZBhz_l@qG+&8;#ao_5`&3(K34)>kzyWD?w-|fD~eXsjI_x;AX1&M`!o0F?l0V5y1#ON?f%C7 zt@}Io_wFCu|8f85{>lBb`xp1G?%&+Mdo)jir2Y`t@f_-D?P=pl@;E&% zkK5z%BzsakUXRb?_XIpaPskJYqFCXR7BI&#|84 zI6Qm2XPRfaXNG5{r_wXaGut!AGuLy1=S0su&wNjnr`of?v(QuHsrA%(7I{wcEcTr2 zS>jphS>{>pS>ajfImN^BuxFKLwP%fIt!JHQy=Q~xR1Xu7>xF)U&~Fs_O+vp}=(h;{ zR-rTGzFp{d2>ni>-zD_F3;k}P-y`&Ug?^vV?-%+5LVr-`4+;HYp)-(uMCkt%`lCXB zOy~?@pAhHKD&QbcTm- z3jHmizb*84g#ND384|uH^!J7SfzUq``bR=%B=?EX8OePn^v{LDXWhAs?47^W~B!Z<`2 zhYF*$Fxm(sNf=IHxP;*r1}o~x!blN@R~SBF_=OP=Mo<_bVT6T|DvY+mXeW&J!ssB3 zj>1S2Mkir(7Dg9gbQMOrFuDn&yD)kPqo*)>38S|#`UoRK7=4A&PZ<4$F+doZ!Wbxw zLBhxqMz$~p3uA~dh6-btFb)&O;lemV7{i5eq%cMZBS#py!pIXwzAy@eF;W<#gfUte zg~B*W7-NJnRv6=iFA2WiIy zwW1JlPs0^ACqKVX`tjzBt-u$~c3|~vSE2n)LYL%?j)pl?g$XtegP0h1a}RfE-B{u2 z(j-)QadA;eSwVh9F)q1yqei{VJ?E(}+BW`TLeAL2{ED1d4K7q6!x7K@XfL~bdFkYF zu{vDRQn;erqhiBxlNGwAHzRL!PKi{tq#&*(FMB}fb#)^1#H#oGBr7wP*LAjX;aewSMhUZT8ab{y( zO7n6!y1`+I$YBiWO)t+2G`O7GiMd+|NN@2x2gWNb8>@V?qq%yY`sR{#TvS?y_3{dcYWyhsqc_z@`#*l;d1oI1 zSZ^5RLvr6?k8VdOV+~AmL`^#hi!ne6GT!$Auf0lUGzaNuJWN zjaHUZGO8fjDsTx9Sr{+7bWCBfJWwD{AlX*>R)y;tCtDRWJD_SoRfV@d;etIxhno4M zv~03G7^cqUcz#mBy2J&ubVOu+!Gyv*43;ylFnTP@!%aO+id|_zagJ)nlu{Ad$(jn; zJx+FE@#v!Q1w}MVE!ZSEF(Q8qE7Fzo(%1=IG_P{`@}_5sl1&w|T|)CAF<^;p=;TB9 zDU=f?_Ia@6Bo(ql3qs?&l4Q3E9Bep}m0LbOpL0B8i{!B>+YTuzRC+_G{K;brb7_Re zQGPfrFjgKRX(ZXNzUkQHoAQzpS@#-+4yn-XV?uLoCeq5u)~L9l#wE8^VY@ek9a}hl zj68EwSju=|a;ZEbGiofkFVAJ!Z9#Ge^_4f~D*_Z%6c^ehDY=sh@kb87C3jVy#w1pr zY*RL}D{jmgvE=S5bj&%pra>!mb4sI%^=d4=U{Yj!#8@V`Xsp%h*_oB0LI)ZWDi7>c zaAL5maC}r`e-)@(Lm+9xiiw3~qvav6@%cF=`4wbw31gH76An}#`5Qi>br@YyR8cm$ zI4U?>h4D3nX>trOd8i7~E+&ZT(ul6CsAz0#zmt5p3K~;9t=?~Jeq5*{Rj3$y?)zL} za;^#=Q=FrNm~lC!9BQm!=vTlgK_1+Gi?KR}jLFgBxP0WsNR;Rhdp=WI zmh*WWz-4$8JAO!>r2?nN29_s(Cr1wKauPAGsCaVxH*?iDePh4L&f zKdHzq9G_ESpBPS_r#_B5@tR*Sl6p&{rjDfAIa93yrp3lmFp0x_W$F}W^hmNDoC_^U zb^8{AllqZ`lkBjIRM_6JVH-3j!{o_dYX(zVP)3^)9epOBtiJ3N`(-pAipPv6>(I!cavwuTCtN9?kk#QV@{J5gLMt$5RHU%*smzNcn z(<;PHs*>05E4sLdR7R@#bhI*V+*fo~u0&==cIKR>zKAn}RWQco#Fz7JDqvgzX-G+f zUbfsbRPeZC%d%)&69(%DcxlDxk&JqB%5v8W)W?aJ^0u}UqO>=Ii`XnyN#rr#{oqVbKs7Gu(a>Pg_P_2L+Q^9y9XfZ>U%hhLb z^>1PcO$p6;le&7P3fn!Qv~n8fUecu7k6eoxJ5dg8B29WZhw|gwbuOZ&*rzx8s-ZeH z*B4x`zUkcP8|%cp9h2-xqUF`Pt)WY!53F&*$MusRRzbauf{tdoY1g!Wst{chB0jN79=1>;X__)MT4~f^ zKCV9L5cf$Wi0X;rdPVD+i}aQQTOBoXo;-U>mu%f`k=F7zRs&`y!Mf36AHhq@N5=F* z)~y!JsxKR*(#Z_e#@Vv1n=LxEtcvQd8U{_)H5W%VxsRZQ`xcrmtc@+0P!KhQb@Rmm zOPe$#o7s;XA*s1<32R((<-$&jbxB6n{&kZJgR<>mpvvlJPRyD_vUPFBhy#-m?V?pO z>7}K0)wIG^$+})+(1D4|pUhN;>n_yXD$f>S-L;W>U?QR#sVb9KM6u<{gZN?Am#TOl zU=j<*%R0xUB_(p5GIlg>>t|itae(^CIbDewn#nLvOk&3ujFpQP1!IefW3G5ewl4JOwSV);%R?&0mKE9QvaawLxc?8O8YKlZYN|}d z4C<`AJF*W<0-4TedK^RBTo%`&TLvlCy&Qkp1t%$n%Kd%^rqoC#b*u?QFV{)2Zs7Q{ z*Q2CZ_ikh!m=fjVONv-y9$QpYY?qM~*MXK{>)IEYIn7=D63Oe7WF@YdYPzVlu6lmM zy(jAQ@bcx6h2+@rZ;DTeIJ{|+_9>!xY&k10<)v|=f=W~~<)(R2_S`NnPDpACNwROC zvF@J9V+W?9u(YC_YnVojXP_W|U|XfV5;34jlHx@~YG6+3xQa0aletf z&`%Vx@6Kd}XLQ3CqxM}a(=4BA|%a`|9rc+B8YT3tbw;Qker1VjOn%1>=14Il+e?)s&933*I^iy9qZCIQAnpTwc zM7c>(R4CWy)dJMyiaZvQqm?G}fCMtoW7189VGt5oImwSqr7B7(9Svjilq@B1@P3Tk zAV-R1pb|eZOBtf1>@Sy_{q(Q{QXpbrwKpcOKq?;}H*QE7uB0@r{mmM>IEP&?cD$^q zi(OK4l!&IiOuUHF(d^CAWtB&FWmEFihezzkgjVMgSzNR?{;YXPOm>V?vYIwQwi0QP zOQ)lhOmTTToN>s~Lw;54ZiL(tdP6=qa4%q@?`tW8iz)C4rf?Cd;76g^BzGCZA zszm(v@6bw_pduRDVrHVNwWSfgtSeG9t%ZnaMV+kV9Ci?LA_6LM%FBvm!(=D@7$qrh zUy`iLD)2Q=%Zs~@jFnu5SCblDNS0EeBsLvA#uTzRiB@4#jir*v3M*Hz*^AyO)0Md4 z2dtnaE@Cz%kfEcU+Dav?X`#cV6_4B*+&HABf03^vGXN!ITaZs1mCDueQi^3=q}@*k07`B=SIDA7%;P0JRE5nV8@m|eo$ zqI`R`JEi`hHH{XekzAaqhIu)8a>EAK6*=r`u<&Xnx@je9S<|R!h6njYoNH41J}K*z zpn^YU&0O}gq;By`GbyJknT3B$rk&Jgva;Cn_WoHDsL2jx&YHZkP8Bu5)k^fiw6{?cM5+f48YR(`U#G+!OnHb& zc`0*zDqc}JH?Z1uuxa(XQAIKBAd8&U6Eh`MsIWeLp$t7~R$q_9&FYZ6Z z(c7d|rIEKkPbe%YD`%ymL7uJOD+j1wG$%$E;^o{R(JnGk{a#lB_gS>#^|SiO!ts{# zdC|y`_(K$pWTiQ;#9n_-c}odxx|*>ME3%}~e^SG?a8$o{m8gC8ht14ctx>(&AC+!R zd90J>Fr#Ck(l+G#O71?VIW5Vp$S=3L9;AXFMn`Dg1SRo6Gck?ZuhLlRvF~A5l~YM(f8CnaC{OUx(RfhD%n!V} zil+Pk%Sy}9L`QDSK{(#jLoLG=!ujF}Kt2p*K^^3`X zmeaxFM}hQ$j1%ru!Vk2$X;!%0!ez!+n9n{=p4>L14{BJN^LkVa`CPhIStp-BkvF6_ z?5oARCqM})C}VvlXKax?4-@g+#NnrqA#?1r5?-$oIr@)^9Gk;F!05tpa^oq+#n>BA zVuu~1SZhl#b_dQIR)Vq*QV`Q;{O;{W)Z0!88GMjJWbKGqAoO-rQYJ_5GCrus9U3x$ z0dfVaMwS;qUOBGwY~OSADXMK}70+Myh=ey?3C#IpiZ_!dJ(Rq||CqeEHBN7DCF+Pj zCaO^`_f@in|1nvOGkbs%HlV09$9~%`Bk~4O^wAE>GBSi!!Q#s8AocygeSRPPlF^p* zou#>Ic)iCvSV=fs-a!`s^oM!{gsTOu1#TYIU^hVa3es^#J)pwlIMy>Dksi`JOo=Kw z08!0~k-ooDH(RbMzR}}=-XoOsBmR_hThkFr)?fMFi8oJ)%x$XPex6Wi>Ae&0NF{L4 zK?@v}XRqOT3tQ4D`eaJ98_J0G)^@I1LXRpWA*o%E;V;uI&{bJYt%a!kSoSV6wE)NMyITSZg)mqo)l#Nvq@^=Rn2Pf#%w z|79_Z8zbFJ?W1+x`AYns%iCBxmEa6v8)t!%y|3E7|8f&6o5@vPvAxyityR+h;y0pf z)lX8w53}Arjd@s=?W`t)+i z!;QkY*1DNf7&oXZXuO-ay~oS757%*fk9EhUcdNS8(zsq;#Z$^b+ZJDz^`7#(^}onf zZSD%|s85btzK1g?kbq(4MDl)f_wo$Q4lnmq+_}TcJr#G!8;DxC9?Q#a15k(q{4un0y|or8`5X%C|ft z7i7!09uvkB!gwgQ?7rfC)w-ru7>^2r`)($yTV<^be~Zfvy>ENp5yn4+@kq4%T6e@o zuY|Qr^+#5z{%53AANWiQ&moMb>sesrJ}X~qYKE_kFG(2B2;=!^&G5N>De(o|=k@u7@vJa-<|?hY z%ZP5{UK7Ua!gxa%Z(i=}!e51I$p9}n3pQkR4H$LRnD|vH2xAoZ< z$ji463SwU8tF<1Gu&f!ikG%SQ^xVoCc@~YQ%DVDVGa+O<#;w%cxL;HyAF-1!XEYZ~ zK9f}$36mNVX1;vSK;GbM-T&OY0Q(YqmECA7D^N3$L~E>6#i|Pv)je;v6{q+rc@@Do z)pv~VSl@BJ3g7X*X};;c8NQjq_*fX92;);>d?t*~h4FbATtzG`87ODkslz<^!>5O+ge<88mq!MSrcMjZfYvTt{)}Ui`6CEmDpK6VbL@s zcTUgaJ(Q*~%4Zp(!KG4G7t}uX$5C6z-&?OE#3@=hyQ;dTGH+Tf*SX6g7nK+NFnY(| zsG90U3!*h-xo@SGvctzkTi@;QanTl!IYl~c>t%$TTGzhC6#zE=1m2d)9Xzv7fK4^Ihn>h?n8$nRu^uLG4r?OXKy) zD%o+%-tAY9uDTlECB7Zp72jCePTx-1uQd7jbH3faOMQEY;xgamzAJotiFV&F$??#u z@w+f(f3~l;9Axy?E8m&fuMBU zqB{9Dfh}~G?-AcWWvZI~DkiD}=o{=}`nc}}-bC^};d|2eFW*zXr+v@(p7lNFdtR8W zh1o`!Ny2mr(9eXa(j%Wn#mS)jOg@T4WR&~H+E5;1qqk~*+*Qk&SzI|kbg2F8 zknhumCvJUT#Qgp1#G)O(Z-g0)+yLtPUXGZ4@KMb}!ff9#V*1(lo2=Hq_xAMtE<5PS6ONFMqf{?_qA{B8W?TL)pLBg78n_ItTc*6;Br z`%{G3QJ87M?6k}8^ZWheR%c;$5oTB32&t2AWX$5VsByT1^Ah*u+C|gnDzl?VqdBX} z)C$j9Cgxl!J~K_7Vg=X^ZF9%}J{~d2U_W46Z0o z%gh?2`eT0w)gK={*ZNoIhD`CNtH0ak=;80j-L?Ln{$Bpx{yzQ;e_vtt6lO1B_7-Lz zVP*)k?;eIZ>HbWukAILqOOA2qi2JExJxZ9P)wq!YBTJ$j52(!v>qK@Wp$xI}b4SJW zD{9(g^+`d#RKq-VrMR3Rsjiv=Dr<`^vt&_~^moslS3ToI^+Z!#ZBZfXc*0dKjBsnY zd`wUEMRp>G`}4KFm->(NkMQUCbNzY3>@Um#!ps!rKw%EL)L-Bq$zZOFpP_J;Ftd67 zhe|$Frc6#y3Qp#6Z<&_`RVU4@saBmu&P-;4wYAn@N)0SzQU?C`ky>_){ucSvZq&O4yf#Jm4%YTu{-^x{xV?>7Uqz8-Z^ZxUfC-l zjUE_DOHWT5UZ*d zw>k4#*XvvH%+!9|?XUFD^3V3u$s8ff5yB)3^P^K>|B3#2yh~yZ7v_;_4aYM$jn2Jd zo~&LKvR-%`k$JIyp}$53%@JlUK_`{Xk$I9f!2Wfqnl_t*)wJ3E;Zo~|1?q>q`f>Qo z%IS+{r!mZyB`u9x@p%wyesx+SQw@(U7&UD?vxW|d-c#=v{&l=d<$Kb<+P}uXR`oYW z33H4v$L{v8r|$Lf(^-y_6;Adq<7Kgw89!3B0CEyk+q4On&3oyLIhFGxk3}_fHr4`* zU0~!`t*LrL2lj7JZ@Zr{*AD;b!X&@X6lU?h27LZ={O86kHu*2`?~*Odh5n2D7yB>q z@9>j`5@D7KlOk9y%n8DrxW~WSf2m68<^C&#IZ2omc5=zA=`zLYDYDqPl%=^GIY(O- zyT+)(pIb@BG^E}NE@w?vuV+8L($sYFDV)+gwFJGWiDjE~)pE5e)|hsibA$gTX|)@L zIeCZwW?@d*r`2xv-^m(-{|;eJ-QmAWn8&CjH&?1``SUp>PyfW@jEO4o*8ec=C;D&YUn|B?S=|0lwnCCu5vq`J@D z?f;Al@P+?NVV{_6j&MRR2~yh9Oa70{zH0t|Yq8e{|x2^<<%T>?n~S9G;0z-V(pWVI=f zl327W;0^c!eqk;YW}Pq>M+Z=WP@rx65>lXDpuI3_gjq{u%veZc)F9TP>Vgrmt4e{+ zf%HZax&^umbCEDlLPGqjj$KBa@k`vteFFU&ecV4l|9Y}8mqeqFKC#$r^w|MkY}gqX z92g?ZWx`y(Q})NQAC_6&QH^pN4KC!Pde#;)oow4^h{(tw?zfZrmDjRx(r-SGcF(P< zkt{Crwf!RN@wNTN&YjLG4Cm>hFZA|q^kQ%1-}b9hk&+$A35;dEBaj=&3*-k1 z0wV*X0;2xH>tZ(tnhOb-+Xjt-OrO0_du`h$#mYor( z*7{xH-H%nHm7%n8g5oDeuMFfTAaP$f+I#ZAK8EX>n{xkZ>;g}F_b+l5JAb%rp{ zyfUyLurN>~O^lIG3M>ws99W_;s{NZV&l2Vx(##mzWWM=t;qVAY07J_HcK{Duw(#s` z%qy1%|J*9r3$ zVcz<`@5wN4m9AG772HWgu6w;-$lYbmj)gS zJWkv6WZ+-Iyj+-9sD5~_Fs~%9A`3WyXIa3hNKQy!);f*<%}6^!{*l&0{Y(8d@*nH> z_D|*!uJbJQoT+?Sa#)%*q3YE6u(%IvWUysfS%U`jNy{9#qS0?_`R#y)4_5Sv`&LHP zOr)&*S-nTvu(X`2CDz}MZ7Jd*gNb<^`;{SRxsg4Zgq zef;^8#w?z?Y)IyiK4}B{XAWI4d0Fix_w-@U}3o73THPDOBKAf0mpVQG9vgsFWs0cA#?pF4x5?Ya(ycTU+JY#Ha|{P??47VSDWM}PkyL(AUBfPmBae=`_nzLj59s6f1^<@ODfI&xVhA@%0ELU zZibxN%K$wphRvv)H;=iwoIvE%snte#IpDCKf8+tjz~^ei-n>aoV*@|RCWjH^?Q+9D z(C}{AfB}QZ^a1?`4_>h%y2Bm#OzRTo5|)~ zG4t@?A;ClKf^(lRc~^yrI0Z*36Le7wg6^P4n0E{Fo|cM1WC9!vS`*-V4?4f&Hj{&C zF`LQe19G|D-b@arW1OH&XtX^J_6)Mkxg*$1m=Em;(q}(>&^=MGe=sxJ69oqf^B>Wk zD3~1_Mo$zR92^oHD$GZO`A=a!x+{2?mL6n<;W610z4JfO69w~R%JYT!ctgrZ1&ip3 zf}?|l!J~p>f@6c@g5!lr{!$!hfu9oQ)53g4n9p7oEDjzWED4qd%e34e1IOot`MfY+ z5awILe7Qa-%(wrq>WG5Vg0ode*!n1~PwTO* z$B9-qh{Qu>N0iuFB(@=|V#|JYaDiR+nS$~PP;A*>r2V)ncv5h2km(7N*H?u3TC@TL z%dB?rWxE{=l(5M$Gx7?eY$W1Z!eG5sGhU6(P}VxqDVEE zRex23*|?=_K4EOevxF)gTx2sS-*%kE7G&-sJYOnndi0F(M+$DVnzuKt7UfJ?ju}_K z+t?o|b08hu(CmiggW$Qr3z+K#&y%Cf_ZVpI3|<(#NSN;n^MhvIr#d%Dvxf*wUf%c3aw$FR6dj91NZ>DBvXSeibYVg(IYmqlo z%^!rxGgb|6rUu`ZJ;6J{cZK=2Fu!YPgx(K+D4X98g!#>m;77vzR;J}Id^0updGJfw zIP=ohDLaB+3G;gy!GS-N8vM?xC%nI<>dF6qD0O}CJF7|Z@Vu^Yxa>L;@=(!3$-=(g-(!uo(`|H^N6j7#4ZJfszM7J1;0O3 zE4@1%eieM-TXDe`hj=@4xAX4MlF(8o&;E55j-YUagx+O$Xhmpcn?0d=;Rp*y2l-~E zBVD!;YL|Nf?+nZCSS^9b6~!r*f1z9;vCGfe&_-m3)`ixGHiS+Uj#S}jD;({Fqy28V zqp94sJ5D~de%Yi{qqtwH&vEU|udJO> zGj{>&HY`yF;({pYax30e_HUuH$(PVs!qIU@=p5lllSysCCpUC~%&QAStO#}zjxG&( zwIj4U-uTXML%feVP&hg(<1alv&iH#nSH}l;X(2qOvxTFp3V!moxZpR2Zk8(EBpls# zXzAEZYRDY1wt8ME{}C_91Mflk3P+xBDv*1CkL=!LQ)K1%*)tZ&7K(V#jthjt)Bx2vnz9#$cqJ*unTYPMn>K15*(I$o%EiQ z(!xXWjB_yEw>{&+^6Y7Gq+W)P4CkP}@@pB8;(Zz)qg-;TWX~Hoh+Qo&JgqPE2#rU~}SK#O7m~Q#GvFh6VN~+pE z53dTZZS?Uv{M#HeZw+q?Zx@bA;g}^Hvt>55;Ka6WzfNpff0+~8 zjI@1wv4ziScs)FPZj8Y%i1lF$UmRv#U{Cmx@Q(1#@UHOg@TJ0WqHxR;j`_k-B^=el zv0#rsi{|tS8qzD}2H_C0rtgi3=#IZZV4+zIe zExME`ceI%UnR?C`I3TM($~LZRnVFeUFO%>;!%s4N4?h}yEc|$w9&f2|EEA69G*oi< z-Y5KY_!-&g$VuM{;i#9X-|BjvVPzo`9sDY48ai(N}zPS%Np=xFV)@T;<|`BV6ph92x!;W!m*Mt+y7 zrM6}-7=e@$ez(^-Docs(|* z$PLV5Q*S{3%m!Dt)Z|oeRJl~2aBPiHE|?l_P%c$CwnY~zQro9?oVe`<74Mdskx~Ije>Ve9VH!o9OtOuTjC~tsbf;d zHwxZAwOG3LIIuI)~3*>L$a@Y%3!P|h10$&0)3Vf?+LDCn@ zh9NKv4u^%X66#?Ukj~)k@Gv|AkHX`c7D@nY##*x$!e$|C7Ak}ZFbSr>F|Zvjf=gg0 z?1q=&efSVQhEJ(_ouDuDhfEj*bKxX78J5CwxE}6?d*Oa~5PsCOR1>gIY8ybWRP;(k zuT*5Fl7FeBk49Ka9S)^%EGz(Irmh2QpNj2MHv##Yx)m;f>wx-@N_|MBKBPVcuL1T< z{S3a>w6<;tKtCve@qiuLP6hI#ExNZAumvdlZLvpN?9rBT-gIND;@w*P{s z;aR{wZLv>V?9-OG+I|6F!Ec(@PJ>oJ-0etbJM7;s2w`Xoq`BP)$OCk0Hwun{6#u^su{4tuma6|hA+Y|-v4I2X{p9rd=|4R90O0=L5La3@ec+C2tO0CsBk z3_J&40(sQ#7eM#+=-%EB=-VEB+ou8vYTp5RLk5sv?T>&XAs6ytBus}Bp$ZlNy0>2s z=-VEB+iwQ!+CB4(Qx5 z3kC!B?RYp02g*jrqhKtI2g*f9%04(%F%8c6=4EcgGLlBOtA)ucfsD9Y|XmX-hj4 z0uY9_KswV1nARD{pR~R}{-lxCG}4t;2xEY>rIEI@VjyqQj)&<$I@3sJ+FYoCMX(r_ zz!o5VX{0ah4EP(I4WupYGPnZB$FytUI=CIk$28KKb}u{+q%V#1rIC+mJCTo_NMENk;Fq1q$4==$+B#*yU?3kmk&m5*1L^HV zK6WClok(jZ^05=?>qPoGk&m6o$4=y9ryYRKov06;ZUpK>C+b6|JKzDJK6H8n9tG+{ zr?=r9E+0h@QOfa3wXcb*9gfwsN# zQdkZvVJ)nOQ(+TO#yXz|7r;euiKcZK4dpNqCIj-j{H$qR4}sQ@1TG+*T}fxxJApFT z^&YqnNMqNB;2%I4?D_({1h2qr@CLjE@4#=GmYxce0NbTg7SgYTo8V@+6_A^b-1H~m zX?PZpnU2hKWTt-)ziV1I^y=n^AcUbUV8?FVpa)>jZhfFH^oPS>6ikB+upO{Lx65EJ zTm_`B8|AJWdDe~ebbACIg%^SR>PCKb`w%{cPvLW*+;#gE(5ZU@B!U4BI277IcgO<) ze*ay0Hmo0Y3k7d(x5X8hfz=l$3g{=o*pxRve}~w z7C;Tu!AU@w=&>5M!WHloybPqJhm7xQ_!h8hPxSBU0ylUd1v&zD?AaIkLnaJ@Y#0Is zfKELNVGN9eA~+gKp&BTAJ^u-$w-@&5)eh2ueCkC$^+JBH!N51Yjsw!vi!}9`1#{p8 zSO;5yvfJxYxC}^7FUn7^tKk;74eo%u;BL4V9s}~P*H=tMLeL3_uXh%pfA3*%IFN?k z*tK^#On^y%O?wl6Z{qJgA4p5@g|HIpVHK>=v_7P#Pfx%;eXvg-?9&JP^f>~KgdE5N zY}JP}^;r*lf%c*gdiO!^KIq-&0eBD|hJV2u@E%ak`uwbE8Li+Dpgd$`0C8lHh78h> zK^iiK1L?>hFEYrBjPZa?GsuUG<6%0?1a!zC&-;?!eaVl$1~}kUI1A2!^WXwa>o*Wa zKrZCNNO%oCf=>b6`eECC-@td8);}3ip*>J``eX0@*rY%D^dARBfKL6`+)U!mB<{>=I2o1!`I%V{$jd}tCN{`C7tYtTf#^Q)FhIsYWDG>cKx7Q0tPGq0 z)WLz+bs+i;M8AQ^9Jmx#05S)z(zHP#zz&1@!aZ<5JOq!xWAG$A4bK5(bVxfO4BfJRw0aqA}9gsN!BEo3glDPG@xu{VS_B{OV)f?0JU%u zEP>^43Sg70wXgv;!4|;wS!ZfmHhN{FS2lWOqgOV1WusR%dS#ca2wnScf)<~Ap8R!g(u)CcotrO zmx20}{U*Ev@4<)g349J;!ME@O`~<&f+TcT>4Uor!$>YK3G5AIx?!mXh9hx?TGz~cw zNXL-VV4J25CH&A-Xa^mjlctTj6wrIrO>hg`u4$vY!9d6Y>^^!JkcQDu1A32s9$wP4 ziPNDP7D6px&xzk_+N4A%?4#@YZPqkwWUpSb2f0j~fy zpZ^BDt!Y)1k*X@7TvXM-B2B9%-PQR(8LJ)*#8-Vk{0p!{HFl_eLDLq@hoykM7pw%K zX$#SPA!T?WIxOr1{orf(UDIk30Q=OKZ~;($YDixV>8rU;(^fwW$X<<&SHB48x@I=i z0rp*UGAx6iHEr!7fX&t>fm_qgLhrLE!)L95bwK`~ja|<^4vq)%>+DKRJEs%$h5nEU zS#UYr47UPh;GDZO?OgKc+@k=yol72_i>&if0sEfU6M6%3&btQggulZ*fSu0I0lqoE z7|5UV%Qfu^>~;kh)n>np$0w5wWy4%qXmLtzzch3#+#oTX`3PlTB;3+BLyfSy-B4o|{UfX(ktfsTNE z?xrl=-3@jD`EvISKpnXo`#f+EDL;p9zl4x9%Uz{Og^k})s|rob^!0k^;d@HqSno&nOf zjx&_V#;$Dh%lpGXpgb)f3Wq}hj0SA8d_0i9%S(aymj4aVd--GV9AJ;-p91-?q7@i$2($qg z1cA6#kdG_UpbJorS5SUdV5b#}0DG+11J}Ww@CZB&$Y1dyyaKPo`#_mmL3}H)`HHWB zaSumEb{G`I=whmYYK_*F}&Cm-v*5P&eWgO1Px zdP85J{L~Ku(o&Dj>raMta1GoF_reqK0=x{b!J9yxtN#Q(hpzye)c*kFiSPksM^JXe zLRboGU^|=#*j`)$R>U{1LbiQX;?*hTt$AY+5%?-ajv==u>Gpr;V!rbu-mG~;7NEIo`V;G^sXXZtJ^|P zI2xwF48ZoQm%ws31y;dYAgI>jfAf2m;mwq{6^}pa5cpgaS>Q{j} zzWM_o4_AK%U&7Z~!Wz=QW)S28dB3I>NavbOa1Kzu*6fDMU@wryHKcJ3ajhYZYe?f7 z(zxb9cvDMQYl06BhXSCitvv=RVGdx|wb*qnc3n%}tz7}cw-&pu#ja~N0BKxHy4GF+ znNk^$g_2?0qI=#ArRNP&*3W|FV_+8`eYaaBY||T zr`)U;K;Eq<&(@P?>nWq_DKG1H!BucAkk0j_b3N%?e+Q7B^}lEd8(Kpq90sGI1S$Yq zZorlsh+_kKZ>R%oxdB^lz?K`Z=hD~rL&{k}?9Ef8BHr#L@kY^jP_yYa|Kf`ZY!o~#9!36SgBl)+H_%@PX8?o_5Y_f4U#I=#QHWAk*;@ac@4|svJZX&IlNb9B!K$+P@8aEN| zCh}s_(LfqEO@t|MEX;zrFb}Gs2I_#k*|ZV<20H;=HeCbQWz$V?E8Gj%XVb&*Pk0=j zgcpIl*z^ftpUvpH8C^G{>t@QwX7Xh-x^70-&FH$BeA$ehHg|;#$Oi1Rc?_WMX7t^R zzMIi^^YMVbo6&bO`ff(w&5K|$P?k2M^X9YR64(WM;0m}3C`+4fgFE4FxDU{OGkR|( ze>cAm-@q^MyOwZTD=^>?NCqDSAr;yKdY{$c=d)g>C3dq;f$k)@z*VB%H3YZSG zDW}bW6JRZ%(`k3WJAkcD!&X~}Z;K0vZwv8lA-*ldx1|eogPza_C{tUAcgrxKENvMN zl$|XzVKxxQmie#%mcVj21y%uZZ&?r9;5@htu7exl7PuYmf`{M{cnrwbEl+lx53!lOl@HKn~Qs1Angzbrdt+r#M?d0ip^xclW+tGJB`feWr=(`<#x1;ZN^xZxV zieM68qwUydJNj-%&+X{BeG6;{^xcl0+tG9TF4zNC0Qzo!7(RoawS?1&_jKYteJJEX zF-!)^>gm|z^yyFuRj?51U@4Y3V+rtE{$g0e^dgB7!0yN)|(EoLNJ9QReBQ=ih^`P2V($1T>FQNfg={Oh@~uJ1smARHhv=qIgOCdh*QX7WC85VNb?&hkCCM)i=7#1XGYed zF7|w6Bf9Y#AK~7S?j30cBi%Fd4-W7TM>&prMqcK>yKV%b#h4o$nLr#}f=< z2tND$H~jaxbjC8CNz7s{Kas&=ma>}d?BNJ!IL{@nay!q7=s*Q);26 z6gj5I&%ZMXrSzl^>Pt~yiY!x}L7gctAlH<)_?YiVN3AJpO;Kx#ola3}ids|DnxfW} zpIL?-Pf>4*dQ;S!qTUqsrl>bXy(#KVRd1?#Q`MWQ-chzSw4pO`bSHscJi-75qSmx$k#(APl=dOtpx!ifrl~W{ zo~F%4y=m%9Q)k+*tYR(dO;c~0jMI*A1{tTxI8DZB*Mm^{ZOAxX#_2LnS8KYA)5}tW zNbG64Y|~|%-h)JXBinS@ra#HkJjY-@$K3t9uu!_3(&dyco6+tXU5qk3Km?VkMtx*6 zI*MkrpcM}ik8DOig-k}fWAux>!aKZ=d`5qQyGMV?NbKV1sVqb-qgUXajJA8DH}D%d znCIwR_Og#-$Y@LmnT)v~^BYr+3RI#t^=L?Ayqz)8v`0o``XiGuFYzivc#C)WlrQ+2 z;fx>|^^TcICh8osnQf?Zj5^1tbIg7YafCcha+)haXsmq4n%`L2j;%&b>LA;(vK=ea zv8`!G44sH2k%xGOm$7eS-{5WD<1=JBb{O9x+p(h<$25Mz-i@_)W7m?!CbqDLe>lo< z?84ZyT;Ns^8W%?0 z=04#t=efea+zdh!^P$Iy1u2XkC*DUb^fj>w>X<0QiF%u;mWlm%n8$d6!5YC$9 ztVzzAWS1u0%l(+gB)dP!UQKe=q`nM5-IG3N8q3+lX11XANq=&LJWg^3Jxr3@WcN+Z zPXX>k?UT)ZaxvO5n9*#+ET@#9BKBfRb@Vu;F7@d^R}$!j`lje}%2N!&PE4^AQ-<&s z-r<}#1@EZ`S@Wfg14VK@4ox|jVyXxdB2Xxe8udzy2nC6j{lr^##DWTrA5^PVQF z>32{RJ2PEA)9uW3Jxs5LKBm{C1MxhB_b~l&ysha^^Bk}9Ci13_qp zJ7&ma#*2JS8e`D+jEPJ^Z8LsGk27RELya@Gu>*b1Fy9$!o^cHGopBcPopCt`&Ag40 zv>*mMHM0-)X{I^MRP)RyQS(eS&wQ0{QO8Vm%v8rr8O{8O3>Kr7nahLFthU&JSWTnj>TYtWF!^yFb4<6S=G3!FLES#zB=S08f^ zafF*eXkG#Cq%KX+$Gko`W8M>ZL-W4J{N|a{JUcUQJu;qm9JS29p9)msDP%BT2J`2z z2zAfD9EAMwROqLCIQyq(7=*rl^7EhcwIDy<`ht7tg&kO62Nu|s1;4V2wPdl0Eu77>Qla7|Rb#L;e{vQFn&#l#D;v!=D`E1gFtYhJG^S zm06Ht6vy{pram(Dkm=scHngQ39f)Tj^3Qyh!I(p)nlkNTrd`ami<$2;f>ET9jyf~P zWA8HUU8Y(y)tYI3ncipSYSfu|lv_b)kqj2q!2OH*@dEQ$#B#F8L7$84+ag&nlJz24 zFVf#)eJ$3{VzXIX0eiE!Ds`xj{uW2kl;^O=i{-djj*AzN$r66ySIl(r8g}5$#qM0} z&c*IrtmehXImKDd2cacpiA63;-QnBE3oCAs)djmp;!B)cK1ZesR|??pSsQ zMYs?7EtA_axh;#L8SYrt8vC)VI|=lnFa2@;vH?87=gdY=%hkSI&C82ZhRRgK`OBN& z+~qxR-tuR7nb%O`ayzzMmdl4Tf>ES0n#oLM2JZ4_<{^J(9$IdG%VoTLHS2=VuPup1 zCckzgo-A@u->-l0XAoMUrxkKqp^p{b-U@xJ*uxP{aGG;mMqVp!1R;Mc9$I-jcOkcx z<*7{rBGKPU{jHSSO1Z6!K@BVWFcAH&9K;K}$`Ib-UG%+D-zsXGj@5))sMXxI} zSk8L3v!6q#d1W3aIfETtd5Nq18-!Mw^(r%2RhS}_c_*p$jg}7syBF>_ZZ4Y=wp?ASoI}SSjg@mw7L|Hk;7`AS*?fF2e}o5)~Iid zOxN6ly;)NNb*+)-nrO^)O&i+N5j(#oj_xGTi)R_k3#f06`qrp#jr!K8Z_NjMjJwyU zZ_W2iCxd^u5`@-P!yMN>NN=3A_8q<>nH16)%XlX7BhFcCPHX3~2EDD_$QHJ-gKTzU z|JMG=-v!V1u0Asic*ETG$M*-G)IqF?#k+cUbFhrpGO#gyR$yzE99OfgDg2`$vI0FS@T)Q zB9u>zqAE40MSbM3p#$c=Ar`f5=t&=vc!)<) z&xT3-j5{}&^9FO?uo-jR@ZVj>k^P3VT;MX-xDkXl%4VZ%HWs4e<)= zcW-=-&zORqH=6y%-^j%bHty#TM>xZI%wywKuH$WOx&yP=q~}fY-z57@vfea=w|JMK ze8eX#Vg>Hnl*J}wyGgd2{y~46^tVZWoAkH&ZsfbU6it!kW_fLXhCw{fOMK2KQW?!y z)VD=_TlBw0?_1Qjr5%IuhPU|4mUU!f|F-Nx9a|1!wp)&&o~`*%!&aGYmFZTQZZ+$z z&fKc+t<|xATbt7f^WEA5ySKG3^4Mzkwmyb;w^cS<-{S*5#tgQ8!*`72d(x26*1x#O z%^Tw_?H}R1?Mqn2cK+lnX1e_{c6PfR+ODr1?%82? zci7z>#c=122r5&Jn$)2l^4;+o-tUf2_?)kh-;Qq?js4nTr*^n^huQAP2|~YhV;DcO z4fXuCmwg=M1gANN8nX*w*4gEebGDqb<(#dCY`tekBIE36+9T_1S!Z`azS&P9+w8%- z$ScS>`%T_K&Dm}zDsgW2BDn=QO8bo>{Q3j($u0Z4N%L@CalLz-d(#ago1 z#8!6jJGOC`)-NqMuxQ zom&g}=gL1<{<-qcjix0s&9&pXc09K;adanvUi76uk1&9NJcT{U9n6cELGJ6k$veEy zhkU~4e8o4&G&h+PWScA3-0@68zPZyet6a0nHLF~EmupVB=9Igfm8@Ys8`;8kvf0TW z{K?;#Y3@H9}q=Uf^Y3;|<>CJwD)LKI2P<@hv0yo;1er0~49T zG-fh~`7C4+OIgMWRl@a~pS1h`TAu zz1&Y}%29zzRHX*BsYgQ^)0F14qAeYGkXX9XgG73h#6vvF<2=dJJje6A#H$S9E#74) zAMq()@HN93!6;G~&m`8el^q=892bMo-XhqOz4m0U8uzMguiEyycdz^Qx^J%;?KPXd zX0!Ka*07$_T;bm!^mkdRP@Rr+CjoW-t-in2_qX5u+wcDEcmF=iHEsl`3{?UwMF)MN3{)3!Ay$8(lfEgYz z!vp4XK+gxv<-iNP!Q1%#15=qnHh=Or*MrbOdvVZS9MtQwa2mA8~ukjuqFqR*g zj@%FK;VHk;fNZJnB@_(IbtV|EXPcbnCX!NsN;x!j^4)I6s109d$a}K#!-13 zeVk7jjb55Rf@|=@r$MWo0-svE8yaF{a+vA;4$8l#I ze*=4QT&Bk-Gn;w1|M(H|g3t*WoUorKN@J!c%=AP@o?s9!FrMkm;x}?}#>pb+`(zo~ z5=&Q}F7BZr&1ppvvOo1CUo(nSR$_*yws0i~oetrQ)0L@% z8J_Nkx=;TPd7VxnonOgf6ZZJ@HDrILJib59)I!Z?)O<$GXEIohJI@@)-k!0yXYa%B zoUKSx^nA7h&*8i4>=4v?b^?>xOb)yGHwc|m@3{ihq!H$Qt`ELb&Z+yHy+8LYBk_CZ zWPEOa5ISFp+SKDIUPP_uGtt}mRa^~17sA-<3$Y~98~I=ut@<$N5Y?m(IPiY>;94=cw-Cfbom3Md_HC$1{6*XM(*(+vsH9-GY)qT~jT$TA%nO~Lp z)rBl$1?Q0U)tf=+T6^N?PBLRr%e6fmuS0FJnp|PyX$jV%+JW}hTLw*?S@)!$oR&COlCIoIKf4H_GT2VX~*Y$hk9?i_ojPq zy7yLP?D;L3-5Sj6yovm8$^X_LK{zN&6{_WFoRAip%)i-92#M-47xEyXAkk z{EHN(1Trr23h(efIqXF?_tYYiCivMspYs*+zeoP}{1t?Y%C%@)I-t&?>MW|xVgUtl zPqByjANHk~T`HEvrXXD0eiSdm1Nd3-m$6I5)mdDf#no9{ANM-z-h8yABb{;2y>pn) zC2j@b5@GzjM0XPSj&$VWKj9fJahPL4_`aGnB8q3x|9!7BiwqXy-uvBqzkBcR#Ul)0 z0yCJ+1#Sf4l0H|`97=X09yyhCcS$oT`3DF1CkU6SgF8z#Lyo2Vyi^LZE|rHpEG^H{ z@+>XS(qA)*R1R{2(?PgQYdX;dzh7oNleig#%X-6Q@8mILT6PdJFDvu1GA}3Za^6$9 zYP`vZe8NutMy(H2pa!*hj#n9iz8_dXCdawLRqWXV*Mo5RqTI{C_{YG>~&k=f#u=5e_jF^C(ig12}{g1GR5sTS^@4|>|WD)TP zxg6pcCpgVnZU*6sA@XAnDw;(_v#3~#vNWO%>ZquWigu{t0OU~de>{VlD!$4P-r^nX zM@4m2)OW?bm_wzzC`MDfwMvhor%F%qG|s6s7`axGYb8Ba`hbt{{andjS4w3xzHX(;fa;PMSN^+=l0KHcZ$j9vzq%cKLU*!^%qy~1day=T-7`0b! zPAl5do+tQ}bj-K1dn#WJ!c|IRf2zdMpGS~g71>p>Lsgzdzg1r3eLm!4KI03%<{R{0 zWdu`LkMHWL>a41+s)@Xb->v!)a@NWElHsPxO-FJrbTnxh1s-mZAZ}1&IZ0h@u@Gc#zH{ z@Fa4tp^h4|tuYEU)R1kBIn2k-)>wp0Y8>Vy=Wt(5chq!8O+D7^&STiynzE?*0p?e8 z7^<}{pH)0s7$S<`;j)ML#xY+*b0rKUS-UI@aq?w~m8uhpL3B=HcB@;G{^<-OE$ zZ!Hi6u+*A8?-e)Ku@)h>6 zw#;g$kdFRpJF~VPYtLpL3&>y<>)D7tYyXB>);7!9x$I>>SGX30>lC0cMJR@x>!_(t zIVwdT{kGyGotLA=HrsHgtBj3623 z)Hk#GW>$YZzw;ONyZ$jwaGG;m2*M3Qj&P7Qt|2m8=qKZiJi{2HjK;a$`~Rt*z)6mOuRvl}|Q zp?NfXo}moGel{G=cZ_2ubMOWmE@Tl)S;j`Tu$^pn@&|vSo`x5LaHGm};wj9!(dUdJ z74vT7jz$xhOeU-G{nbd1jr7<^kBxS4l>g4V#*H8x8E_kSPzZfS-c1GSP@hIbVZM=e zGqN+W$UCwt19^#88NyqvXst~e_ zD$aeBqAc}LZ&VC&jFMqg4|>s;{yf4UUc>iZ)MtE&JflW1id1A7CBrEDB95Ku$k9v`>nyo_p&CD*^UD0K5 zZgg{6;H>D@#L*pnMEAmsqWdAk=;1gs+B~AoBicNorE(GBg#drYswP=eTTj;Tc9$UDxg*#igv&H{-hC#f*%e=-Le89&+xaDjz zk!MRiwcO7kyw#R@oaA&6ZWTdI>d}zK=(SY`9we5o4CEzV<#qJfN*}HC(aP*v+0#~2 zf^chRw3bP0b8Vf>_oQM5ttT^;8O&lWJNbiL_M*<#*RXS~?OdBM_MlB^%29zzRKQHn8SP)kjY|JvWE58jW%j+ zqt-Tm@;3)K6olIrrW9o*H!S9$yhX*m&4zKVULwE~kboi7n@a{THVjdZo zZHJ#(!D`l##ee7NyMuf?oa7AW(QgO+cF=E3z+K2SMy@gTGR9uU=r_i^V`@+v?`x>{y*z)TKTRQENwac5F{aI?;>1^yd)<@C5HLolKVS3%|08 zH5}u=JFjvb**$1B5BmIr>U~hAoo=H51u0AkN>T=ycCtI2+MglAOP7m`K z>ghCy7kHUh`G9X3$@io&h99t3o$OVog)Cwz%aCcO)!2tlvhB2q-5lgFdg^q7)12c* z5bhk1kK55lXMJ=of<8LiiO%xv+#Y#$?o1rr(MRWg$g}f6p5j^b(fLi}+xdMyWH=*8 z#{4@^W-8N}g_=8WC!3w9x%1^99ILiiwZ*C}_6{mg2lI|?L=??1_t*}oFIIiA>Wfuh zta-;i!T)#$I~r?8W91ubma#(_hT3B7W^5{B8P6nsWG;3ib}d=RGui(KJf%rfpyick!@80T%rm7@ZcsEvE$TH(GpnZ?O0PG)g3i%Y;>#y!n*$SY1> zaj)Ws6CapoB}o1e%)?QwQ8ZatgX#&7IGW^po$lUdv`E}{N7@2hJF zv+i1u!sw-|47*k#k|snWv#xDuPe=67wJ&P#YUW)BFp#IPlU)b%0>e>b*L9dxx7(0Q zH)nK9svoGB~<#WEo-gI+bw-MOuZYjv6+pp~BLJ;n*_U?^I zVkq+K?svO?jn8(U!+aL92$^+X#tK%W&h8tKVRvVCKZLrwALBTuILmo1a+zyf55hh4 z)k7{l%&o^am`M+N(?ibj56}dC#_KO$fAJsiF`uEv_>q`(yc*;66u%047{8Srm}9&- z#_vTf@oI@zOT510)e*0b1T#!1MQO@Vj+&TXg83zwUxMrt)R_=RcM|A@c_x@a!t*?L?x!6Q9LiCptIrb>7E! zRpKYeAklYk;wVxX%~)nI7xyG)u#{z(SK?~in<(SN6P)H8vPitfjUe1J;4bdveo9l0 z%2Y!(J?l^p_4eGxZvG$_^Y8f&?&#_L_mp=}v+w2HUe4`x55>6;x%Vndd1~X#UUKLa zNfga!K`WAwMK3$uYZ{B#h5LG$Z7;L!<*r^A_?MeOxVJld=ffN7t%u(6yp0{|Ex+Dh z@-^ntTVB04;>_OrILKklsJE|=g?>_#8E z(Pt>??(+@9`HtyivKsr)X9Js&XP@85;Q+Gia}+)H(PJMy_R(XXOF_7=Jp0P8Z(X|b z4&#~4JQm=NzDxK8cl32fUw8C%M_+gJ)o)+t_SIKXfS!_Wrx15j6!S`|LQ7(CS5glW z>5bVW{f}oD#0$L4t9Y|X@=lU>lDw0KA%mnb{J=z}V5UhkS&Vv<>}`^olhmA~<|H*I zsX0l_Nor2ohaF4G<0N)1=^VF$aKHQ%;7*EAj1rV20(tdoL=?@iU;WzBfd|oBzlSl) zerDOvEc*@SMPA``-sfw~vR^VO=&9d0%%GpX`mMkW`wzt4_1Am<5u^tH_ka1r|L>or QpZI_O{Qv(S?w|gD0KLl7g8%>k literal 181297 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
jpaaH*;ow=VF@gQwQx3E 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 J-{Jn}{vU8fZR7v| diff --git a/Demo AF+Image+Helper/Demo AF+Image+Helper/ViewController.swift b/Demo AF+Image+Helper/Demo AF+Image+Helper/ViewController.swift index 9e18f01..3d98f87 100644 --- a/Demo AF+Image+Helper/Demo AF+Image+Helper/ViewController.swift +++ b/Demo AF+Image+Helper/Demo AF+Image+Helper/ViewController.swift @@ -21,8 +21,8 @@ class Cell: UICollectionViewCell { class ViewController: UICollectionViewController { - let imageWidth = 140 - let imageHeight = 140 + let imageWidth = 140.0 + let imageHeight = 140.0 var sections = [String]() var items = [[CellItem]]() @@ -31,47 +31,75 @@ class ViewController: UICollectionViewController { super.viewDidLoad() + // Colors & Gradients sections.append("Colors & Gradients") - items.append([ - CellItem(text: "Solid Color", image: UIImage(color: UIColor(red: 0, green: 0.502, blue: 1, alpha: 1), size: CGSize(width: imageWidth, height: imageHeight))), - CellItem(text: "Gradient Color", image: UIImage(gradientColors: [UIColor(red: 0.808, green: 0.863, blue: 0.902, alpha: 1), UIColor(red: 0.349, green: 0.412, blue: 0.443, alpha: 1)], size: CGSize(width: imageWidth, height: imageHeight))), - CellItem(text: "Gradient Overlay", image: UIImage(named: "beach").applyGradientColors([UIColor(red: 0.996, green: 0.769, blue: 0.494, alpha: 1), UIColor(red: 0.969, green: 0.608, blue: 0.212, alpha: 0.2)])), - CellItem(text: "Radial Gradient", image: UIImage(startColor: UIColor(red: 0.996, green: 1, blue: 1, alpha: 1), endColor: UIColor(red: 0.627, green: 0.835, blue: 0.922, alpha: 1), radialGradientCenter: CGPoint(x: 0.5, y: 0.5), radius: 0.5, size: CGSize(width: imageWidth, height: imageHeight))) - ]) + var colors = [CellItem]() + if let image = UIImage(color: UIColor(red: 0.0, green: 0.502, blue: 1.0, alpha: 1.0), size: CGSize(width: imageWidth, height: imageHeight)) { + colors.append(CellItem(text: "Solid Color", image: image)) + } + if let image = UIImage(gradientColors: [UIColor(red: 0.808, green: 0.863, blue: 0.902, alpha: 1.0), UIColor(red: 0.349, green: 0.412, blue: 0.443, alpha: 1.0)], size: CGSize(width: imageWidth, height: imageHeight)) { + colors.append(CellItem(text: "Gradient Color", image: image)) + } + if let image = UIImage(named: "beach")?.applyGradientColors([UIColor(red: 0.996, green: 0.769, blue: 0.494, alpha: 1.0), UIColor(red: 0.969, green: 0.608, blue: 0.212, alpha: 0.2)]) { + colors.append(CellItem(text: "Gradient Overlay", image: image)) + } + if let image = UIImage(startColor: UIColor(red: 0.996, green: 1.0, blue: 1.0, alpha: 1.0), endColor: UIColor(red: 0.627, green: 0.835, blue: 0.922, alpha: 1.0), radialGradientCenter: CGPoint(x: 0.5, y: 0.5), radius: 0.5, size: CGSize(width: imageWidth, height: imageHeight)) { + colors.append(CellItem(text: "Radial Gradient", image: image)) + } + items.append(colors) + // Text sections.append("Text") - items.append([ - CellItem(text: "Text Image", image: UIImage(text: "M", font: UIFont.systemFontOfSize(64), color: UIColor.whiteColor(), backgroundColor: UIColor.redColor(), size: CGSize(width: imageWidth, height: imageHeight), offset: CGPoint(x: 0, y: 30))) - ]) - + var text = [CellItem]() + if let image = UIImage(text: "M", font: UIFont.systemFontOfSize(64), color: UIColor.whiteColor(), backgroundColor: UIColor.redColor(), size: CGSize(width: imageWidth, height: imageHeight), offset: CGPoint(x: 0.0, y: 30.0)) { + text.append(CellItem(text: "Text Image", image: image)) + } + items.append(text) + // Rounded Edges & Borders sections.append("Rounded Edges & Borders") - items.append([ - CellItem(text: "Circle", image: UIImage(named: "beach").roundCornersToCircle()), - CellItem(text: "Circle + Border", image: UIImage(named: "beach").roundCornersToCircle(border: 60, color: UIColor.grayColor())), - CellItem(text: "Round Corners", image: UIImage(named: "beach").roundCorners(12)) - ]) + var corners = [CellItem]() + if let image = UIImage(named: "beach")?.roundCornersToCircle() { + corners.append(CellItem(text: "Circle", image: image)) + } + if let image = UIImage(named: "beach")?.roundCornersToCircle(border: 60.0, color: UIColor.grayColor()) { + corners.append(CellItem(text: "Circle + Border", image: image)) + } + if let image = UIImage(named: "beach")?.roundCorners(12.0) { + corners.append(CellItem(text: "Round Corners", image: image)) + } + items.append(corners) + // Cropping sections.append("Cropping") - items.append([ - CellItem(text: "Crop + Resize", image: UIImage(named: "beach").crop(CGRect(x: 40, y: 40, width: 320, height: 100)).applyPadding(6)) - ]) + var cropping = [CellItem]() + if let image = UIImage(named: "beach")?.crop(CGRect(x: 40.0, y: 40.0, width: 320.0, height: 100.0))?.applyPadding(6.0) { + cropping.append(CellItem(text: "Crop + Resize", image: image)) + } + items.append(cropping) + // Screenshot sections.append("Screenshot") - items.append([ - CellItem(text: "From View", image: UIImage(fromView: self.view).resize(CGSize(width: imageWidth, height: imageHeight), contentMode: .ScaleAspectFill)) - ]) - + var screenshot = [CellItem]() + if let image = UIImage(fromView: self.view)?.resize(CGSize(width: imageWidth, height: imageHeight), contentMode: .ScaleAspectFill) { + screenshot.append(CellItem(text: "From View", image: image)) + } + items.append(screenshot) + + // Web Image sections.append("Web Image") - items.append([ - CellItem(text: "From URL", image: UIImage(color: UIColor.redColor())) - ]) + var web = [CellItem]() + if let image = UIImage(color: UIColor.redColor()) { + web.append(CellItem(text: "From URL", image: image)) + } + items.append(web) + } override func viewWillAppear(animated: Bool) { diff --git a/README.md b/README.md index 756dc3d..b115fbd 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -AF+Image+Helper 1.02 +AF+Image+Helper 1.03 ============================= Convenience extension for UIImage and UIImageView in Swift A collection of extensions for handling image creation from colors and gradients, cropping, scaling and fetching from the web with support for caching. -Tested with Xcode 6 Beta 7 +Tested with Xcode 6.1 GM ![Sample Project Screenshot](Screenshot.png?raw=true "Sample Project Screenshot")