From a94b62ed993fc156b7c2946de2d3d16341906ddc Mon Sep 17 00:00:00 2001 From: Jochen Pfeiffer Date: Fri, 6 Sep 2019 13:39:12 +0200 Subject: [PATCH] Get ready for Xcode 11/iOS 13 (#209) * update project settings * Add iOS 13 test target * Actually run tests on iOS 13 * Actually run tests on iOS 13 * swift format * Add missing reference image --- .circleci/config.yml | 33 ++++++++++++++---- .../JJFloatingActionButton_Example.xcscheme | 28 +++++++-------- .../Tests/AnimationConfigurationSpec.swift | 4 +-- ..._view_controller_iPhone12_4_414x896@3x.png | Bin 0 -> 77073 bytes ..._view_controller_iPhone13_0_414x896@3x.png | Bin 0 -> 77205 bytes Sources/Styles.swift | 2 +- 6 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 Example/Tests/ReferenceImages/JJFloatingActionButtonPlacementSpec/JJFloatingActionButton__looks_correct_when_placed_in_view_controller_iPhone12_4_414x896@3x.png create mode 100644 Example/Tests/ReferenceImages/JJFloatingActionButtonPlacementSpec/JJFloatingActionButton__looks_correct_when_placed_in_view_controller_iPhone13_0_414x896@3x.png diff --git a/.circleci/config.yml b/.circleci/config.yml index 41c085de..6b3bc63e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,18 +2,27 @@ version: 2.1 executors: + ios13-iphone-xs-max: + macos: + xcode: 11.0.0 + shell: /bin/bash --login -eo pipefail + environment: + SIMULATOR_OS: 13.0 + DESTINATION: platform=iOS Simulator,OS=13.0,name=iPhone Xs Max + SIMULATOR: iPhone Xs Max (13.0) [ + ios12-iphone-xs-max: macos: - xcode: 10.2.0 + xcode: 10.3.0 shell: /bin/bash --login -eo pipefail environment: - SIMULATOR_OS: 12.2 - DESTINATION: platform=iOS Simulator,OS=12.2,name=iPhone XS Max - SIMULATOR: iPhone XS Max (12.2) [ + SIMULATOR_OS: 12.4 + DESTINATION: platform=iOS Simulator,OS=12.4,name=iPhone Xs Max + SIMULATOR: iPhone Xs Max (12.4) [ ios11-iphone-x: macos: - xcode: 10.2.0 + xcode: 10.3.0 shell: /bin/bash --login -eo pipefail environment: DESTINATION: platform=iOS Simulator,OS=11.2,name=iPhone X @@ -21,7 +30,7 @@ executors: ios10-iphone-7: macos: - xcode: 10.2.0 + xcode: 10.3.0 shell: /bin/bash --login -eo pipefail environment: DESTINATION: platform=iOS Simulator,OS=10.3.1,name=iPhone 7 @@ -148,6 +157,17 @@ aliases: jobs: + build-and-test-ios13-iphonexsmax: + executor: ios13-iphone-xs-max + steps: + - checkout + - setup-gems + - start-simulator + - setup-cocoapods + - run-tests + - update-codecov + - store-reports + build-and-test-ios12-iphonexsmax: executor: ios12-iphone-xs-max steps: @@ -229,6 +249,7 @@ workflows: jobs: - lint-podspec - swiftlint + - build-and-test-ios13-iphonexsmax - build-and-test-ios12-iphonexsmax - build-documentation - push-podspec: *filter-version-tags-only diff --git a/Example/JJFloatingActionButton.xcodeproj/xcshareddata/xcschemes/JJFloatingActionButton_Example.xcscheme b/Example/JJFloatingActionButton.xcodeproj/xcshareddata/xcschemes/JJFloatingActionButton_Example.xcscheme index 5d555a69..57a6d400 100644 --- a/Example/JJFloatingActionButton.xcodeproj/xcshareddata/xcschemes/JJFloatingActionButton_Example.xcscheme +++ b/Example/JJFloatingActionButton.xcodeproj/xcshareddata/xcschemes/JJFloatingActionButton_Example.xcscheme @@ -1,6 +1,6 @@ + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + - - - - - - - - L4zhBC{2V= zlhBJef*L~&0TO}*0U=TZ0qNff&OAe+&yV-V_pSAQ>t?M;B+0qY+2=af-upWH-1+^C zsiD|v$<@o2EfYI+^0@i3WrECQ%T`|%76N|>d<2gKzn1%&8|p91so&lY{v&enq>b;g zWpYQjkLADO4m*KAZudNHb`Ja&01xo9QWyNQ_xo?|^H3Af9@fCJWxC5w9oIW|dHLt| z!|RtV6aMSaEJ0|!-x`6?mxuis>t%JXE?X`jC@lW(laVd=CnNa&_WfO!h%rH)w|@V# z!16~hT@}3_8q(E8jIDs)F9_M^Z!|%8SX?6z9w0m{ZkUKk%#$D8GjI0pf?H7J%@u)EW>!KzM-gu+#z&9+p}I;s*#1 z5FVCV0K&skYe4(};Q_+KQVT$MSZWQ3A0RwHcvxxy2oFoG0r3Nb2M7;KEdb$RsWl*e zfbam}VW|ZmJS?>a#19Z2AUrI!0ECC7)`0i{!UKedr51qju+$n5KR|eZ@UYYZ5FVCV z1L6k=4-g)fS^&bsQfvG#<_CMXz~#%9>47(DFx^|91DbpIlVn+SNuiS^Q51CQF+7@uJJZA@hHS24sG&9U$~W zlKG0pTEORDDdPuO(^h$;{Jd0FDUK$JK2KLF0QMD zvfjTla!7Ol907?Af9F_`=m3ch|4M_9;<+fkK%xUAI{YjAL!tvDIxL|`NOXWihb7t@ zBsxH%10*{9>n$PCVaY~6BsxH%!@ngDkmvx34om8Hph}0oy#`cf#pMV{bbv&Mf5Rw9 zbbv$$NOV}@Eg{hX5*?P*1wx_&Bs%=-Eg{k2|Ay!w3%)OYVL?8^1$_7X_b-Wuz9Rm= z9V>y3S^pca{p=74WFN>rO9B`{2oDe*AUr^~C4l_t_c$KnLx>L{K7{xX;zNiJm*~E- z5FQ{rKzQJ>z@qF2#Y<4U1jS2Gyaf42$UpLU2k5r7kbhiSHUQxP!UKedr51qju+$n5 zKR|eZ@UYYZ5FVCV1L6k=4-g)fS^&bsQfol`0O0|`!%_=Ccvxx;h#w$4KzLYc0SFIE ztpV`^ga-%@ODzE5VW~ABet_@*;bEx-AUrI!2E-2#9w0m{wE%>NrPhG>0m1`>hou&P z@UYYx|08}-+u0-c&%FRZBmbk%Lht{_>`?7GRJ#trm}Fj|HIE?4KZk zYZfTJg75(0VW|cFpWq>tHyY zV$lDzg^_y$3xte5TLnC`jJcg<%O%pfAW$n!s2Il@X{0)C;4CfB);TMbN|eYAO^WOF}(fNT_q4fSt~C6vu~PDHWB;h z!%IH&NmsX#vHY>YPhJuyW&UThOP)vz3o|u!{e*wKGo(O-n(FuPV#x($b(5jV;J4LP zXfl>U1X>wC5R5KFQ%hM7qNyL)9`YGWoRT2qz<&%YAP3Gvt57uc14N+EmWNiM(DsKk z0Ln9#W;9UJw=^jGPA5>(x0F_)44gmLUA7#OLzdF&{||CVc$Mhvcy1WXNPCC&m2ZvL#}`OS6I!lO7%?2M*ue1DblURea;nV#<} zK2E6~1@E`i`i6`|$b^1#_B^)Z=;bpHdzy3{=HDLmn7P7iD=RPi`qXp1ILU;1vUn{Y z;F33nyIZ%eDL_`YuBpPyG3RC`jY2xh0&?kf?6LqVa>w}Gl>KeOTbi$0ZkmJR7@jcM zEE01qJM(HX#w1WWfhT4Z7Pm%)yKieor@4rUdVS1QJ*36u2lHZs$9dXj=2Z2R2@cXM2}S^j3WA!cQ_)J_R00m>&jeT-s9K#m$!9MCppf=+LjKQdlCepEFI zC3I0WIIE2?f-xUa+vi7k5WfA>jnzyc%{;GLye3=oYjPxN%6gEaz%I^*g(3O$T=c+@A@jGlFD3-*pVf1BV-A5%3b7Q8q(LX;?n zsr#X9#oT5+`gH^`g(|i=_joUqy)#@=vh^aY3RSI^=?i;rn~pGD%|O1q_bw~aQ&ksk zXQz0xZyhetuqgi6;6lh$u6FLdHtbyS>__%6Zg_aMZFB(csPMLZ{`AyqO8jdD_%REe zqN%tP!}-L%(V}wsTw2g**Y=%tuMhivPT1*eU;p4xPUOY$(hZfn1-EZ4@97#)X}Of> zRoXeda8Z~!EwjRk-`*;M%;j*gHase)b)2!`DET@0`Z=--Y`Nv&IitMu2IOmFt6rxY zNWJ!+m@k-}DSNB%w)4yBsac%ay{+n1dFi(kcJ{s2@Ex)<$Vrm`7tK!eroDr4DqAzt zyY-8D@m{n>;uW>u=6s`p7L5|*&8QYyNBfu@bkseIVu$?JCh!%;eqOA+q3^emkRL%QA*(f~JF-ba2XS z75mseNA~B({x8#>W}=1eJ;NpO z#;UZ6o*llqC4HSiYmlFC^_9#Xh6B~)-9&b4Y5Alm6W90gJl|k+4Fwt`^Hj^)lwSA@ z=d*j_gXUdGde5@2dt_DAqswE1Xxe>UEzjD9d^Q&QpL>#ZBq|xR8PTQBM||0)PUbHy z1J)BQj<-Cs3|LE)M$?AK-J*4`hbQMsgF|Mvu4*ZvG>^b0cU-epDeJ^bdmWB)8@!0h zdGD^-KY+ZP86d*MHGfg(vjCvDdxGc(^Y?SI1<|zrNB!?KHN#S8kqr%0Dt!JDTL?X< zdtl4q-%X_0;=E)KTssS5J+AZ3g%Y6Il5h3}K zd1(q+*u33GHIIfNRNO|#;5xgVShF?O*Vp(O$U2M z^%V_VGNvMmG_#9$AvD+|3#r}Sp}jwl9!u0P@w2POskS%YyO;NAu6xyMR9UEPQ2DV#@Zsu;(jmA&^0*(r@r~lQpFgw4}6e{0R?o__bE2tjh0us zmNm|4qjG7C{ZW<^?Z(b`{5;>^eRXi7OIcCr+KkA{a^732oBZbghQKKTZTF@q zAUL&6XMb#amn;0#Ryf1iNcgU_idmA5ebFiw_K0a5?#)3U+YNS!dpa*^M2-_y|qSL;WbIdmx8^$%%+NpDi1hu_Bx?f z`Q%4m%64(ch&#~AcK2v@+Z5WpJAxt<8Ma|*a0%!yYa`+&`hk2Y-4;#01#3BOrnvoJ zRp*>-;H5av$AcHM#}7+=4ZB!wR@~#vN5#8Q+1fTXX=7XZXr*s zJAfcGh5L5!H76;!p_J~GQQH5kIPA?KR3=A}kk zbVJECOlIQ&RFRu;0Ty1n7d-K3jk%*R^~I&3#Fdy^B-T8AO0eA;vat$LMOpDIBpRrah^bg_C)>CH*C2{UU~ zn+GtI8vbCzw-%iubd_BRq<%g7+pt@M9=0D|-H7X{nw+gU*R*d<2eKXKSuT+hbw2Sl zJ`d)i;mM|GVveZ3&)B3#*v~h$f;bp=yr>}6HW#YjUoK<5JwaMkp3kpkuI+HRtfV86 z6=hSKQ=;HmOX=vqi5=WPTFsgt?%s)*IVQUB3$N(}apKndUCTmdu%3}c(8d3UGFR-d;J-^uZAXl>INok=AAGT_f6o-9=?&j z^A<1@?I^%mMch|RO^U@_x|F~D2qibzpGDQDNc6j+Ry~v`i*l|l0Bs$vx87sDnG!O~ z(rcW!w6S4n0L&#xvGAVj=#DfcITi?^PKXW+>y%~%ds01app_*HS{q?5_w%y}yHo;p zZKkN|>VHg@45kWE*X=m;AsbZ#a2wtD+=djS^BNDM_jYQ;punW zvkA^{cJ#S+%RiEdak;Xq_^j}Jz4g;LjNMC0*pRlAO!l={VkD+RR?eleIS+FrDfU&s zF9-s<`ylTno!BDuSQr~U*#Ef5i@m?!p)`2PMWbo44@D*#+iZ`&X7Wj*hU@%hkp?mjD-k}|++B&bdmD;OK0T^m(^ru>fl0eS_Us^ur4)n1!B@H{&RiVWsQYtp~ zf7_oh=dlt~cr0>=&%Ymy(-rHeB~o#;bvX_dwgt~WfsocP{55U`VaH8$k~m3(Iq$F{ zX>aE5*D;xQ=%r6*>&AkRR3YZ85@f4?^|3VP*{{3;LxdO+(LQRjQR25tv#rv5xr;<(C zS)2mZj3{>u(Rc=xL#2#Y_tweX^6&5)(kA*2Z`@68w#$W)&$XeXrZ<`Ev0^KCv-xP- zI=#Bsi!yPyDVu!H^QvKt^Z{?@PIL>y}$+Xyxn&c9KYkv6TH;u~c_+t;|QFTMyh-u*$hB zrS27#zB_|4a0Qe3?5KI1!MF7!G3QO}6?_H`*A-(H?44^#kE#qB865o}Z*jt(L(G#J zzC=sKK2*EmhmhI{vc8dDKc?}mKn9nIZpwrn8BjcZvxx{VI?*ztM9Vdm&<>rwJT)tDUF)* z(&ZtlfU2v}s`nZYOc?y! zQP}hGRh(PHBX*B30drOMB}e|H5iBj;9G;nvwSprLzaJJa1^h*w)gM**aj*yiorayC zojO~0c1!L;KkHZ{&HXhZLp2uvRBC4`qgn3(nb~}{qjQ@xqYb%{L>nzi{h?RlPvlss zUX)u~55{cCGOKIqG6>ocP#99s68o!%wR)m+;ph9nUTL)jhxL&;C6=r+i~aegKf2*3 z{gG;;VW&oWnm@bGgbmLgf0<6em;k10{fsmk6eDJtG^$bG-pxtmU3Eu62972ZU}ZDO7`t5YJzk`o9BuMFNh4x32PsvvHZ_8h5iB>Q%!}>&ZsC%o zG{WGsYpYVm^YB{HYGoavU+NpK8-r#@Lgp?2jT5$*%qIFkc2282g3#k_)Mm;{kq>`q zT*H+2FLYyPuedoGA73=vjgM5c_dlUg|2bz02YO&)n?=L|xI7$vHsQf*0Nr;}tAUql zInlE3?#jO5&JtzYtqO_9X? zE34vdO=$HO+S5}8U)9wda|~Obq>HmMoMRj4%jP zo84^m)&q8XGt80>>@iK)%bLKf-vCo~HM+0XZ`epFPllPYCNa{j4#-2~`*>qa{T0w6 zra9yJ7~jH-q!@i{8FI>ieBHUvDi6o-T=0EbN+6 zeHF|Y<^(!~ArFw_C5>U}@|>^Sc{Y{VOfs4FyZn$BaBrRfN62hB;oVt$82`8p7GrheyY$>H3q9xxcUFfB zWS%+}a{YW^Xgy%d!>SMV(Kd)+cwPy{i2g4b@0o zL!zx6avFiuP)%e$oB+&9x*f~e$;+$?;+MaEYTA4E^2obqhynH>tH{Wg`3Xcy4+sQ> zs<-1(V16+B0S|G3`%pUwtMWoamB6F{jQB)Q=o6#`VP<;Bbvqf}!C9y41~C!(e`Ndn z4>HL>3#D+>DV#HnC%+op`>mti}eL>F6?2XzQ6w>=s_gP6adeH02l^|#BOQx z-1t-M-PhGZpmH0q(_j02X1{&$`PBGmG!2%tnbeOU{2_Vr?-m%?()xY)rf^sIb@4cchgQIlT_&e+u(QZzzW~njQ@Slp)p*pAmS5g? z<1BYsXks#3xdB5q>@rxEO}5tx3rv5$j%x*Rg*vRJ6ho>^*Bmh!bB~P{sg<7-rp<4` z6Kmgx1)hDe6pt3l>qN;tW@OE|!4xjkK zAN)o6Yg)hg4}-xr;>g5;`@xLT*LW)s{Pg_w`^FSf)uTon5XQ=fXdX4=rFQp|$r6iDBT>$8iEFU6>T5`nfhi@u=v}wt zsC6Y}+)a-VL&KI3RZxCa~46{SSC-qH3!)>);g!gY}w3z0cmg$`c0^`ml zd%l6K6cCZonH_oVvoJr`+Z3fsi@CIqkv|`-vOnn~sR#+5zf=m3K16>XL400S=S+sl}gW6XK!#ret(r@Q<1HPOA0N5}~y zN924;)mkbvh*G}@Gu=NLwYc#LQsJirXvu@XA*Pjda|Ie|rbWiZ)iZtGAfqW8KhLl6_@x;3i8& zMa8I^TU-=*d(AbUi&SiBcUJAk%STgF+k)nAxV74GEtU*ZC4figXGE6PZM>#t=4x#| z&dtNh$JvyW_@2F!oPPDQ;j|d$QmT4wj$fw&S<2HIY6R=# zI8u`gLlDk|@Xv#w=K5`0N%ml0$F9^bGeJ9ul5jN8XOqLOzrKy)wyxSp!f286kIr(Q zo38QrB3m-KO>xg(_#17hYN$rs;&QT}f?Oc`Oq(&^(mdm&p~t$j)9{2`?N+sg7N>{@ zshcA?}H~?Is7rXSl{7OuEjOmn9&d6w_n!lf& zAsjd_cIO(sMoNwT7a!ihK-VcyKtY6ANt!CW_COPE|a&NJ6)^0{^l@X!n`vF$-eyTTghj+! z6lSuG;txb4OQcC@y%}HnWYWJpw%f={M6!9o;XQ&F!`nNgZ)`ipo?r1F_E^LgW-2Kx zmv0+DP;(Q2JG=N&id|)JNrF~D&i7?`ecJ-LyKj*x>e^Bt5&mWh26s6!O~f*A{v?y9 znhm_UxR#t{>Av7@1^Hl(jWm zQca`>zbgFoj5i%v7QR2WQBLZY;BW75rW^w1;%}AW&9G3qN#MSaCBc@mN^s zCfn^=SoEd~pSvo`%1KjkH589eNP-GNfZVeZ*_~h>w}jwWsmQT^5w+>2!Ix#r4xBx8 zT<_fX*~pXU^6&iIOb>TMTHU)#@o!FFOgrjs%N$&_Ziiyf#AmSWHX6u{+MXh1RUiCk zn&}r8<3L6eMcz?v?P*>b5k41wNsk4TiHCw15Hh5Ud}w@R;5OV<(NhMm(l{?iEnb`9 z8JbgC6lON2YBoboTa48JF?RqzhFgglM2>~=EgvVE;D98if4U@S((BZbOMFq_S{WU? zuAt$HQ5jaKA_7Eb=Rx9a{2!OW^+Jx zAZZHQb94)d_)heh5pPhoEWB0JHIV{H7Fg5=#Ew4Qwb4yE(cqcXjjg`EzGm1RA#P*G z%+5C|8L=JXPI%&mobfrTWb1(KCeiYMZYcrVi2!gRwqfA1oR`H1c#WMW5Z)Uptjcxt zptniK7V;AftE$FX5tQ>-vWXE1Nuh*`Li3{uU_sv~b%3%;cF`dHAt`hl2~DbNnBF+SaB zH*azg2MCeXqISH!+_&Z2b;Uw@;Q3tt=56$kE>+DUr5m&ZNF$?!0CU_5;?GY>=&@_VKNxd-o_oBO8Ag9l$VS@B)iZcK};^xW`s+0et=pU!&3|FA0WiCvv2r=w-*4H zGs+sQ8rtpp;KkbPE3~-ClzH}W59W^%7N%-Ps}nLmrvWEf;nQ>a6*GdXSQ1r_C~ykX z4ha41P|!QFLAICAOncAenj^2x5Cp1}Yt?jU-8k27m^DO3L5jjNczU{1Lw|kk+3v zTm?k-fv%*Yg)jf;ETRACEEe$=*NjZ0Fu*GRJulz%#2L<@oHlH1Nxxk=RPl&)T*&g#hZ=|V@wN_e^Ju}82zVgQz=?eWHN?QrDds|?qH~J-l8mO;sA1!$!it21p zt^ySD73hE|Y{P?g#fR_(0U!SQovThX)qJ%{o;QS77Cs(1-cBmW^VANSyEs;*-61Fk zhQP(z1?*oYn647v4A+cKn*=rd@EU1M;XJK>n%9R^3x-QlTKiL|9h=_M2EFe#^dmQ_ zVUONWQ@zKO9FP|t-?{fE!w(k$ePg#`fxkJs>g<-}T*5E(97@sK(6Zn#YSBs)=~X72 zk~rApLm*REfHjt~_Vpu7#F;8hLCpCYZ{C%ENSE7#9EzgK+pbOTf%M+!}>Im!)RQxiZp4aU;lz^_ljM+erjEr~G$nWP@!b+*>S!JI~V(Pl_ zrv_6aaZFFYlWg?VaZ%>O;YobqPx_{onZ=EpdcaOf3R||Xw|6m>pZMHi(RGDG9DQ!` zc0H*d3IAumjBbwHuN9qMYYwtId#S-tLjCJUeuX{PUH(YB#|a_#4$O~6iP9P<>IBkq0>-CA?+ zO^Ohun5fo0iaY=SFGEa95b^@&uOC>iyb7 zo!FfjTT||KBapi>tEPJrSjXHbGm~yvMj(1!J;Xs3w&t$YgWnq=@IoPb1u%G87I#-< zH`od&@%5lP`;8B@o~>(opzQH_b~aeU=i^Jn`WgE&Y;^kadDpSY_|240?(nK`SL7~> z6Bf!H%j8t={<9XmD0DmIK_Ke}fBkg!6sCR}=vNHG#&JHzTHHA6XvI}`gB=U*wt5eM zVM=`p*gFHeg&KaJ8WD$Q6p>Z_EX%Uk0W@J7#XX+8rx?XvCI_Gm>;~9To#aIcUi0&f zKEZJJc3jM3#S=+uQ-DMovn4ZEYNu0?O zZ=%DvqZ>g1G#0%chu60akP8{Em^^{H=vG1T_L}}P50e-`NfR;`wRwJ!+|=pjm$@&6 zCMIrv(_jkh3A^oLui_i+Bj6430EVgaKs8B8l*_d%8Fk&-9Jj{|mtuGumt8>yu~7ji zv@7uB)Q;XWN!m&wwt$k8Bp_C&%9~4Z5y^H_QN3$_!otFUz3kCc{zj6j>MTDJmBTMN z!-H1$a|@$dmYF3SIm_gbG417#$_u^})=>PnP~6@qPYn8ZnD2a`gvWahDQSM)moknr zXtdnTzi-7k1M(&@7SrOSH@kEk^fsI958~rL$wdVYEN*&}V_$Xx}>0s^^<{AVI6*S^fs+<<0(;-;n>Db!#1C(AUEyE{@L>M8IiSBwXu zd`v`Kb_qEz?+m!sBZHeKP(E(UX9W*bz5QA?I%Sfyfg*MkP2J{^&FNib6AvSE%RJ~{ zREu>ZT(F=|mPJvjlms!D^$UCnA?HkTB!+5}3k!eU+1ZJBKU1nv17?M~fSw*6Eip;j zL=jU#Q`_C6lo>SII_^NmOAo-uIQoqY`Usz|%QIaGAh(gCeR(7qSg6zizJ=uN9TR(X zx9GcJu<5d?eAm^f+~_KCir69UR(w8D4qkf{OzXCyDZTWl^zWp8ZqU_;C^l}`s7Alz z@5mSQ+z=pV5l!VVH!&c|l!0ALx-qnM>sIRQ>}*`(NmM%p!=j85qN|jm{dAq->9^dC zl_~wMS#ogfHWRVbEwz}?GX@mUe=(+|HBNclM~`JJ7JrK`|3WD=u4N6qtvY7wqJYA* z($*IcT-m>qBq)O&g&E~@6RZ^7-T@+8P%UK}9dcn73;0Bg$T_An z3uK`>8z^pnI5WnkskK#ibJ5e~d6-&&Oi(G8^U6}IV*_a0O0qyK(4Nw3X!Mgw)pY_@ zhIuf;PP>XL<2w^Ev^-)?2QIlc+C=KLx?1HgXu=(^H18b-Mz-gcS>d>gl$EbxPwIF@ zanPp(Ulhbt>hk)zW#Rb(A}0&3hU^eAEzr;(M1w-SiM>t|TPbdHIlW$~TG-Ef32NT^ zj|Gou^%N2u#EVTl-{JCKZF9?3avzLd$4o?nvI`g}mMwYy=}P--^4zoaB=WDbNxZH| z{4&^GXDQwA(*Q}q@Ka|NkWQ?+LMGW~FBZB{aidx4VKxq3U(ISL`$Snv@)Crov-*pc zsraG?#$x`G@({Z%WK_;`)}WD5Jz~ZiI_bXa7RVA~^@0e1>pUw%W?lmhcn$ZiI8X6n z+s=RMUBKmHxGDH)VDDdRce%tJer@drY6>NuPt>l`r`!%ZF`)btZyk`s^ZFGpMmmEy46z)GML?i8i*{5UzN9X*r@z{1u&;;lyMR* zpH&El>+#$gHcmwxF%(S158^`J)%;_h-HHsH@yzu4yjG{x)Pgz3asPT_uW1#MT&GNrGrPUKIN6n zMm?6RR2W|+o}jIO(G5&TV1We19-MU8MBkOC0lf38oO?E7Svf4rj6c2Fzg?M{C*xQJ`|u{+Tgj^z<2Du$TKMdq1d?*0vqXGTp6x@ttl5D9l0Z_r#VO-)sd3Sg0te zd3JrOG^kEItCGIhi4b+r3C;5=oP4(^B}<9I?_`j63+6HpvWTXgKj1) zE34pQXb_uXY-HR=2dr#}-EDFcT#CxXJYW`kwxo~VR1bBWAEbF(S789@b^Etp*iyEw zR*5@cU#q4lQ2P9Rw(~a@z|PLP%2jon^)y_eZm!NE!^Ql%=G7 z3H*>gg${aUp^91)PjUR3&%UF)pX>?po<~h3h;5X|etRK*BJ47Hb78Ma(|rcH9dD18 zxCR#IM^8?EYyV^a@_0u%PT#!<%D6IPh%c4MexNJnI8bW;;KGpuXzICU?tTrnAX{oT zeTY(ug|i=!O!t_)qX1?(d--df*aEzAp*E{0%_J#d+mVXmKZkOcm#c9P9SBgYUu0{W zkaAwAW!}PcUO{(bx6rI-Bo4~{w0`=Az+fH`Ta;EvTwEfQGS&bS(=qM?idz6BAV_Dz z7#mPRUj5Cd?|;n@3)_Dzv^%KBNXpT!C>%bdEff~oZ6?$2gc3q`e3r!>jvlP3sX-)` zW4FT7Cl7c$eG-f5Uw0!J<0%uy=LQ8W_r@Md$5LAJFdA%(NLVu)$3Cc>2zI|xQeyX_ z{&2(OUkYatyen-&E8bi6lz9hpzL=&h9QoD=o4mhx0EA$1997M*y9tZTM-T1Ao7R+W zVVT>b{huOg&8sQp>%x;Ufu;_>^13kLY~ADzHYhYT-jhgYTL#EuO!r7{EpA;~1ah~& zSLq@T_Lp4ht{t6@th(!nzD%6u5F91wwq7)SR+M(-ME>9LaI|)HZIk62rOjjs5T5!D5VRtrafWoSj+*6CK^NMw2Vo{m~6} zY)>;bp|HhnnyvyxAdI<Ac&F#>XbA6sEXq zmLlU>Ab2wjKNped7gq75R;p(*cOhpM{rony=NUAX(wA7$YZoNe z=40kvG0yk|P5}9DZQAB429Auh?t852bjw+>ZYA1A{h)MYzf;Q#O3mYkBOqWB+-An# zN4AK{bBbSaYc;V1%UUH9e8@JoN}|{e2JiuAtGs`CXJ^m5XV=WsOz&?hZM8RQk-&*_ z0;J|M$|>*PQYY2RHSxHqo;oQ}*FSn~hpq9xAMGBj#{2e3`oK!k?ci)xl|)o`4Vek- zSYOd*vKE}y8uV`;a9<^&wlS|&`d1bzzyAU}ge}Un^zKXKC#BUZEjJXqiRBynq63QE zD)Rk`-B!_hNzL4}+V8SkVu7GJI3;F!kjVB@y=>HGE%w$SY;L@c?OFw^>KqvxjcW@# z#PpMGQLh^322fQ~;4mB^>7e74u@`j~XOE2)MQ`2kMmyB?TEx-#svgxqOjq2bdw0Zk zg}OKSzA=(ddpZZ5FhIT7-DcZnPX&1JF)JzRbQyG@R@BLEIs9r<6LuBcS6Xd3YxOPv z%?G!VhypY?zh`L`HD1la6L#;~B-!@fvh5-jINCH7i(Q3VY&1)od$7P=pB2BS`xIO1 zcEuC>;ms9y|35ryvW;ID=iM_|*{p{ffmx_-4DC5^zg>U&w@Q=g#K*0_e@6J5fv^JRd((l5d$aY1h?7~^dh#BW_f<*915%bRQ@YW*<) z?5(Z-b{_(T{Kl8d%8qmjK2*JkGF31!Z2R!xL!Ew+G4ahNYPO4I85=o*^U8PsHZj5S zzOA1tS-o4>XqBCQ{`AR{6naYKfvT~t?I{vZdbX3{u)ca#x)Tvg?6KvL8nMN=AT&1j zMRJ7@;p$+?y^%Uou*tmb_dWcE>f1L$s)liX2Xs;Dsh@t_p(=Fl6{*?Juk}EY`zJ<% zgYADhf!l`{sX#8XGARB$^uSP{py%iSr$sy7MP&s!VW*y>SgVhisx|d)qn!)Zn%JV> zQeyd>e2I-Z{M)Y#@-36nWt>e-m!zaWIl)=4!TuF7H-&#$P&Zlczlie2$DY}j2>0*4 zE@%q2L8Scy!0`uJNgm_k)NBx(d?XBE=gj-TrW2w99qsSK9Rp<9A}w znT8?up?wt^Cw8cwp=$W#Bq#&Re6+E@{iQj}N-7r{$DI*sc<= zVRIg=P&ny}TLi^J@GF+jc_zcb#FWN31&OZ7`qSWo$RreyeezxE5tzw&z-*9;f z&#ZRzD;kMgUMrTY-MuS_xigojXWQjiM)&DV*m*la`8M~&r4WjYg0N3D&OEQxsif_b$z6Py#j})xa59G| zQJpqJ#8&SXrwR!M(v#86!_%dbsjb~$THK%Da>|(bjI|78AJhE3?NF5vI{){xA?K=8 zW%lm5{EI9iNdLVIKLMz$rdRK+Lj87bMN!5LFaIl^HBbGnldlz(-tyGXVNT)RDJ-|v zFP=WRt!>T64Y=qadRyycPXJgJoy<&219CzYHk*8nJV9z?mN3?|$(yW;zL(Soe09)# zZ#`f7C7f-Z9OICvAika-CgVM48L_p-YfcffrRcb>e-A3Z-z(iOvv2AO|S%VZHtC~&P{ zaOSxGYSwK*m+?Ev=+2b+ib%wG#gu(USnoI58DhyDy&RNz9%IN36^S}LqAU&Web~Qk zl@!0%-_;5tM)x)Ov3u5fA4*=U)L0R!$|);DeWqid)yb8xRsz70!Crembme zQvErpw9;1FBj=IMhNmKohu%cL5U{=2_Be+BY`k%_uCgDsiqK*_HZ17{=A|58g_5N( z-_l%K!_*r(Dj!aan~J51+Tg(PbQ@!b<9yKsIBYHLPJW)#yFhrCcyMZ13eQFW(ujNdj0l8AClLB+mOl()Su#; zG;j{_2skVHE|M zzNC|uX{=)~W3&h{St4ZrJ)_RaOnv_N{_*==*Y|h5U6*E><#|8P{k)#nec!L=e%}5( zVP-73Om>-&kdWlDqlYboghW_ELd!0TiGo)G9v~vX!y+FGV?&|r+Ks*7KNnrCkGa9& zLOa28F(HvfvO-IE9|6C5i{$=$eq_;hp~dsB3kwNd_Ye~K{uwjy$opvpzr62!dt98f z==-O^Ye~ZYep-Z;wD{lW%PxaY3$0%^C=DLO&mXn%5fW0`&--2UJAR)NcyXi0Ve?bq z5nPb>vqT^Kv;Es6?|BGZqKn-pB&08N?6AS9i;F(B?pp;$@Xy|9qUb8$<-#E^_W3ba zDe7MqS|ltYCiUaV(7LZtzn>`ufO`#n9(PAp3kr z6NHEPH3H!Q!oxy-h42930m1_mKS1#k6i+S;#34LDc!2Q0X8|aFUXZ9m`~dL--|B$! zYlt5pepqM$2oDRb0r3Nb2M7-fEdb$Rp*0|Wfbam}VW9;eJS?;Z#19Z2AUrIz0ECBy z)`0i{!UKedg%*JDu+SP1KR|eZ@UYMV5FQp<1L6k=4-g&}S^&bsLTf<$0O0|`!$J!{ zcvxr+h#w$4KzLYa0SFHZtpV`^ga-%@3oQWQVWBl3et_@*;bEZ#AUrIz#{b3qVDB0L zZZ)7M$-5W8{E__si^l@>|Hn-gptHl!*V%r0jqByJ&fx6p-jRZRmb8YPy_RW#B_L&_~Ki!56NDd1erkl41pYfA-_%XZn|` z6cx#me<=SCv2?>#5bj_BbvKc?uvcdu$HENuAu5cYz07C#i{zvtR~yN1M- zzv$%#k*m~24I&GJyzf_dKwtXbwSGKVE^NrYj12$DV3#k~cmL{cY@&-EVE@h?;^&JBg+b>31`WvkJUc+>hsb9E^+DwGo$(>=2Ob4-y+6b($n{D= zk zBsxH%!-D!9sM6uP*MQ2bcpL$V4v^^ZBaDJX2S{{)M27|55)vIC(P2SdAS60KqQehw z35gE>Z-@?x;P1uH%_)aFv;O@f@z9@$|6j*SpkvlQ;{|Na< zKJNhCwifb_3(E!|JV1DW@UYMV5FQp<1L6k=4-g&}S^&bsLTf<$0O0|`!$J!{cvxr+ zh#w$4KzLYa0SFHZtpV`^ga-%@3oQWQVWBl3et_@*;bEZ#AUrIz2E-2#9w0m{v;c&M zh1P)h0m1`>hlLh^@UYMt5I;b8fbg);0uUY+TI2tSA2c_2DgApd0MN+)(RZQG|7&)r zb{(o+hiccM+I5IOq1tt*cAd`xP;B;Zkiatw6kkDjfbg);0{@@jA-i0s|8MTjI??zy zSj8}>$R|?WZ}%E0hA3Ut-%#z;MsRIoIvry&{O+KCRe_|DVGt-tsYSKQP zp5u^dWzu}wy=csG^qoUpN9p2428gA9toT*HQ=caKGyjSCDk>tmLJdm4cuS1M_;Ew= z|ANS{6(S;7c}4AC{SkNrqUM}GL3n2onjGqWbAEK#+tOwE5PiznQj0H|f z1aja%hZT?m=c839n)(SMP-x3Xt59hBQyKu}84EKSDCt`mlzpQUDCt{Bt560mnCl8H zg5;2ewEF)CIV7x7VtO4#(YjyM2sxLI@@aT zr0wbTm9&C`cx~L2wryN*rP_8yB=L!X&r1PLsTu~Kx6=8Fia;uad_C)NXw$)qC+>GO z=sC>3Ip{uhiPchCR{G_!$0{i@oOZNmg#h4^)`YoPH!sgeRW&cKBq*_Frp8Tz+e`g( z7|%JS{xsC4(U}SRo5VMCAI+Rp2geZtalBDH`bt*DXTKt7%?W)zdMMu)j=XkMOy zI)D0UmhAcF`b^QYbgBL;EA_Sqv={sIyzCt7XQ$2-`Ejj0^jM*FbHwM5o@4K4-mi2p zFR!>%J~~MpXOy*2aDLNwB*a)&p55{S=qa_56SMgYP`G*d| zI7|Iw!2bBzL7>K^F7#czZ0U8RzGNIB%u>xxZhcm>XTI-U4I_%|qpceWN?r)NQlx@LwovbC|4b z^Lbb$x=J&{2lmc34QaNFiF$G8ZDxdrhCag1PUU*fN_>KGVcenqx!{Q$-JCluxS68q z51c{#;NW!2a38{P*PGVa;}fr_aj$kE4q56IPQ)e~&nEN?7nUjK&;y4%Hg10YYM;-i z_|0eSYwzvNjyOMBvbtic$j0?$T^)VuO&1b8OWG&r&Wo`o6&9Znw70qlYY{@Sg@Dd( z9%ZgRNO?-RdWzxfE37+(N(k0D5W_+T67L69+<_aLI z>Xise@sv($%@WK#Lz}0Rk`7zpN2aBi2sFi+B#ORnwo%1v)3nLNP5VPT9Xlr96Cyk^ z#kt<_Vyc~UHbvBn9$hF~(!3+Bw;gT1hhDQ%xbRN1eO%5uvR_88wcxe>T7qBJ+86zR zewkz@34eQgfFg3D*UqHKs+4IKukD~IACx>@$vL#ckuy8YSb{c}==7!+kF^^Oq?&2a zb-NvW>ijPC7VR$Vv+{>EzoWj-w`-OY!DgNtQ5IO>Z*7*`Uze+qeqFP)1yzJk&{cb; zYVRoi&@91WJA0*<44f9!`+3sCT%y3OYp^)ZRD)jLwaF)^xTigEIqD<6wu05gbfCfC zj%78Ml#NTU@I4<+3k*izSh!9$SEIB=^_llz9;YiVaMqb@@FeT1duDkprYt6quG`bm z^rU6LdrgtwsYjXnBa^UeksXEt#Fu5}Wbwkve-+8{aMKej{}m*841IvoDe?T(;P^~Q zQ1I0HrA@`u#v$1FrYqL!rR@ZH&wY`u{pZoy@7%O|`%o7%{KZ-L#?M*;7624?M+9?k z_HK5T2!`JKp!cn|c4*2ps;-VkL(E>_h+_Kncdy&`Cp?nSbliD=_EY#<<}sVlPm1Bx zo3}0sZVr63NRr9d@LvsYwQMeEw;49=6yP2H7=%iVfV`(P+i-F0{bp|{nEJzZ^m zrPamOBa0A*D0m7}a?5Huuwg3FAaI7N?O@NWx^w`age{LGPi^5}2z53|qMA21>Fx|* z#E=faeeJ678m*0Y?&N-)>0J5>T^eGir@xpMLxKh5@bUhZGx zTv}MNB0b__S?jah>~~gL@IU-s6S;+;?e64VNN!ET$)DTa;(|D~9>F|oB6eF|-8@mx zzGMGT&vTtWW(zK3tEC(6M1dSJM_Q}=mgzoEttXfB!cU1Y#+iYgPduXTie!41-Z z)4mpzPidgn!5$Z~c_kKNtOadU5Ul@96L8cr3B z2wlA}xCHc>c&1&Onfdp-N|Soc>3z8C{5W@lFF}26{B%xkeLk>a+cRoWk#&c5S$R+Z_eM!8 z^U)2g#fkMJt?tWN94tNI*mLad6VC(TH&91b?nV+D!hG5Unv)e-UBd88FX??!l=0AJ zWmelWTpz=5Vzgr}Xk%{gIihp~X=WsGLzF?yLk>sNBl+sssYZ`SPdrLQ4cO{Y5ojfT z*r;t8BFDfIPHK6!U(8SbI5E;=%)KJ7eWBhKQ&)Tin^C_TUFd3>k3-aK2T$A^BkgPU z>inbWzjZAYJ{z-)rOf^+!KV>QDeg4@D-t(8!1-HV1^oh_@o@bfhmCOa*V%FGl~_vh zN9k)Ajmxy!6d7WPnn#U_^O>jA?(7tsQ1e#JSpY-1!S^--YtboOU(JO`?lrK#3A@qn zZu|b_wb-u8@#*SQ4Lg>%p<3}CWirW;rxT77a$(K~JUCQs?0$`R>Cy(oodQ!Uf`{?O ziw@Liai;nH<2>Ti6{u6`@$^c@iZ+Lfs(Lb+kv28i#k)LesBLX{$vvyd%hOKI>F&LaZjr%QeMd}W+h|JUJIsh+u#^w~YFpWDCKxV%=y`EjTi zms>&<&%a}KRMX{;UBiY>y%l5OzY2feCNR>sUc%-QZTa{!;dfP15@WCzF63?8Pt6JP zW77<&GQBS7rT1k@BhS|4gSPh7T5q#nOAVf88`O_oSW~w!0OpaTWLVc#Ok1j|5*vh2 zMJZSFMFlw^-&Gj(nyLnl}E$aST)>1X}wuH{5C-rwK-xt7#$n5T1LJYR& zU4NGZV)obz%}ynRBwH0PV|kX{RJl$BYpylCjDHZhyO$7@*dP!!Syx$CVs}sVu4kI5 z62?Ct8!|^9ZtOM}Zxdae-wdXTkY{h!inq1NK~u$9%&s%3L}h*xn@DVN$uvNO$9~#v zV?_OQ@W5`DKyJOJ61z&6DogJ2uck(RF3Kep%Xy$uBe0Zcd^Yvn^yzxd_&ncj{ObnL zxomXGE)P54E7oJPUsAa*O4Dwv*zb}VhDf{RmPI^^;6$BjwfZZG6q}>CRKN;PS6M%f z#oE1~h7Rb;DP&!VAw^)@6qTGS8gsGx6JuWb|Ar)DI`{Bj(upI^h=Fl1{k;zhJvlpj z9ZG^GybpxVPH#sZ@cndRqK_I!dP$8Ar;2#Wj6?=kQyGS+-zc|aJ^ZPp^ih@wmOHSk zNpcMzg2O%w_s7793cOf5Xz0n(WTCFfQLecm_1Uv$s{Zeh6U^v65^YSI7gjoK)v=5) zhM^?eVzW5gLMXOqNhM>k?S9UVbfQ7zNye%W(L4e zU2QngJdg-_7VyIADQ}<;<*BK-fsS$=7KvKEruXa4_!;*l*n&e50|Ng2V647mTMdbZ zr?1R*D7Vdj`VoY*#$m7Ui;0`AV-lsv;;dPR#fjT9{=ACKxWzb*Ql=DiFwtwsx=m+p zX$e@bZ5`4~2HtWqL6vYh#WN)4?FW!vbTKk4UFRBtyY7(YR9x2N2d9WytjUOC97S!_ zXlmd1pxgmLDs7wn5;Wbn1goI+c{xAdS!)SXh@=CqzU|#h+w6y1KRb6d%R5dTt+Gg8 zIXP2Z;(rX-i=cB$Q_Hw0bZ!>ue6{-$)@Uk8oE4$@aNs)sJg8VY*}cGPP{4q3!yk@u z^Lx()qVC=uWm)Xv`ju-MuvIIA$|Cu{v;0_+87GsQuaO?s}N;mx4 zdFxf5JA1LDs9WhF^hI2-?(wZ zH6)~B`aLI6yv>B}$;#h8)07rj5jfO8{9f7eh#!}fD>rz7o`SotdCeCow;5!8L%)AW6DfDcr z(lu;2)n+cjcSfMSCBhm=lNWeTs>mjgUCF??rI$wgkOW6u(94m^t)WX4(t2OJRwo`5sj$>W7u^G17+bskANYn?u6mgc@gj^#<0OM=L7)hiE zOz-xR;Hj}kPq*J_c5j$89nrb){%}Blg2Exos^NnrsqxO5X&GsF3(E{rIyN#!Hla(w zfUR=#K6)EJ1Jk4*DIxmZO8o~r9wl#2_?<%R|I}8{_2Ff#Yuy7*mk$wpS@8u|`GpBA zHO&H%k%v2jK<#@sC{+UZi#BaItorj{kwgX^H#1 zBxh&qQtrr_kfOLKx#|@u;negXr3p2DY~OValO?AT`=4A{nmn3I(23G4Z43EaTX)qI zG(#4(a0X}`v&CjKF#58xo0XBoE-#Z7Gk%J^|6BcXma<=gD<^C5_3^m4!s$*zgo?f2 zkps1#vM2DM2XNa=5)Q!S{_vAAcYXutznxeHyj0VXrX9DJ^bEEatJ$vKm2jBuNp&2Y zG*@D)mbOt7Sk{|nN8iOhd0jaYFLXX&krN7Q2j*E#gJ27%*Pd%lOYVR9y!wy;7vzed z>Y42#@0cV+GH25s`;t?&_jPspRJ1RBK~D5BhZQF^wdn4 z#$DSiotTdDz{1zwXNXCpkl&^SqJqV%0VYd{{Xn(Z%E7GPZMQw$JaP9nv-s`oG3=_< zFf|vGyPCbm_0+N?m>GK6u+NHgkES>iz8GDIwmw;1~CV@0S=+4-IO?4Q&^fZ_X}^H z%@o#>;gh}>@ACuh^&{X2Sxra0+KcuP9<~6(j_QW4&L<@iVP_dBi9Ir>B;VO(ls~}! z1th;Oy+a2DkaiLvO(Q*u2}oX9>`)N*v;i<~ob1tlNvx%a0Xs6pqXff`jlIW`?$je9%jZNci6 z@$P=(Ck@ys=GS|~`2yUk<;wui>0;G&w5jP)vs1N$5`c2bnfj<)-C%VJA)~gSXzEcC zRh<>&waZhZCSe_eD7l16Uu zB?Fn$OMOXBF&mknIXN)ve-)GY(amJLMsIpu6$)RMU~7k(M4}F8B(Uy}0cIuNjNxwP zXVzU(7r%UL*na!s(Ay`-K2ATo(8P!J5kyM&h{Ro$Z${<7{9tzi9^wJ_zHT5+{n-Hx zB8v_%;vG(9jFIQWSZTpm?G*S2XPu@W$U++amF4Hx&!TvLe*et7`}IB5Lx&urHy*GE zA$RInuF8LXZW}Y@-Q8z__ae|{0C<)}z%VEjZe5GVnqOk?uD%Wuol}RK{Le}Q>^=N~Zy zcz;?1kxPb8MTmt{WhNVaGX#k4Z+(u~JD#_B*15*aW#7crwKjHoXh%AoerNI06}RIw zL%kn^bQ0f$IPot|0oaWR~k~#Ng64utZ#%~pWYO+>L#eehF zguwp&lUa+JQqBf2JF~~f(}B5-0Kfd&+*hbs*gMZYu;rA>D!Aq)ZTHWzkkz@z4smt2 z2QsJ3v6~Kfr@XGKyQw*d^!nq34$FeuG`Sf`WZt@9FEFqr!r}^g(?d_a=VoUb+b?{1 z|Llf2ZsYtCA7xic1N)}si&_Aj1AmL#)_<@h{AP_$a7I#pvA2#4{}TG>kW{?NFr0cp zC)(}S#HYTm1%)B|? zsjy?h^rU{^5L1ggc>)bB!!rFOPT!F7T1|67w)D8-mO8yv1vyv zGc(#4o;W&vpg5zKK~2J1j0On!6RD4foxt!x0+d{T&ePLV`dnE_KRR4f9&2f{ID;+% z)*Se?H$ZH2T(v?_byYc|XfU7R<6JQ~vVBERfV7p0ib`bl4IYZTJZBnDMW{5jp4I3j zC`Zv!S^{UUxi;JJES3b*AcEiaPsmK2n*?p`jAgn4pcexvpBj=Dom}YkX4ADbVC)|o zl3l^Hc4Z2e8V_BwAX;y3l1WKC%LlRE~3(kXx_Noo*$@XAh z$F9UTBVIR<8hzA$}V|6Hb2dBAD&6c}=RxBRhpt9{B!nKwZO>{ke zemPmvKrWDVqQz8TX`XO8V8Fh$+4zW3&3etbCa3UwqZ{*^RimD$Tt(7~YZz{Tq#q}d zqI2KyBlU8X&srYy$7-us2nQ~7S zKHnF!KBNiVytD3*Y3J|7f{MM*BAr% zvn;Dju0SYdxf{4bPfp2c(3Bz?mIp^f5@oe0YS zu`W81e1x5es2np@YO)nkDZsrxc10UKz7N|%WW`I9+m@fTX#RN>oN}_O$IVQR=9NZ= z__MW^V70$71+XR~KZ(?ovwW$5=N3^GpWm5Xsi3C$@i&ielaC?!&g3-&Zk? z-ne6Gd~na9*2zBJDqz}E7^9}L*Hb$>z04D{iSvlHEXd%P#O;nk70Z)TyVF1SD5QOU zXt#!+h!k^!!n#DT#y2;~U)ykqGrRad_L#>Ob|Nt}M_?O3L|Yobol|rn*{&j}I9|s; z``fa-x?zse*)z`+&s$O+5Wh18leZjMaLIJM9~u5wyN*AXTqK;ZO#KQqaD3nn@X?Xg zf4bFcYH6KWv2p*2*)L-XBLA9-=f`xACh&Bsnyz+J3S7Sb%dUT(@TUVpVLM~$mE?X4 z`ugsA@?Kyr-ZrS;k_2r(l(a+H-0YMqyA+Y8>T<7UMdq=VQyg~Xw(^bL@QQBTvLuQ{6wJ zi0VjTO4kxpXS_x10)k_wphkWmO8UCdXCa~8CyyOAIQ4Bda+P`fJ3BMg#oLh9^6F6e z>`M$Mc&CdzP-;q!Kvx32eI!2k@e{$0$XOd;d){&QBv^r@}56 zuz@mhUjz$6hUB65^$(0(2Rq8UN)eR@PAk!hR-}7`WS10%nvZChPf=3mV>Lj`ZNQJ= zmtgx*BcTGz$B8b|CyVW!EDjv^JhuOWKoqz_LC>xuaIkz>fgPfP1ku@Pka(N^=Q4O6 ziQtJNliHT{%B-ATS@$)>OTe>OB%qi+Mb;m%wD_Y8=2 zOalu~PfaRI`cL`IR!(cMdG=-?C0Q1w^d!>2eu8ZxlNS_6M{)%;^<7dRa{|1-o0o=( z?*a)UV%@rRuXq6+m;hS0zveQQFByJXGUeZxRg*%LHG^$CxQ&PMV)Agz*9LLxr9{7Q?glr9pwf{zV zlro@Os{ck309>$bD7Y;5MbU14W9JHobw`M4@EkqpZQ`N1yaeOQ%29SW^)!wGm&JQ5 z%W>2G@ZJtQosl} zo#WTIfl)bCJ`I;TcgHq}bwrFVZw!}DI2HD@%UomqGD55r*T2(|HT^IbyVf2XD{5Lr z&A$wD$aundFQsXC)c)fy)4P3PzLPFSSF>DCw|JmE|2W^r$ngHunzv2vw`nJCCXllb zIT|stS#nA#nwH6(pdCOO>BU5t<9ZOUPBr=#^E*qYzx4wrkxUQTx#91N?qa@@A+wqV z(ys~nnB#ovwzPH2+<&Q?DSXqRkf2i_1!Z7RS{es;H65`8Z68ZqAwX_nGHU?V=zgr- z3o>+`KS!U#h6W-g+SAO%*jBC0ni(pS%d^}*xASDYz+ft)50r--AqJ#GfVgjGt$>nn zxr(q%#XW&qTwLt^wkoWFW&NgYSn}Ug+ZBBM9LoFb*$2Epgcp$T3QpQ9f=jm`19^EM z3yBJ3@t`&(R;>3E)KZxqI$-|*DVddZ%@2G$AGn-hc7Nr-R+oFvR%BhG$3`U2at6Dw ze+{v*m7AKKP~a7IKy8(wbI87qo75oVdSzr_HXtF8SI=kuZSk6yxJ*(5xxvOZ@f$Fv z8+`>Tm;f*&S)25N_S>@iKxmx2 zcdQ#>S)%<48^*xsKW3T9(F-Gzu+&N&dtLrm;Okv5U_3$Z()Sd+VIUd!WfX!y7jA4y}X~eNiK*N@?K>M^zaL2B>IvJ&e z%v>G9?~B70iIcBTO%=+)_UOxjWPU}>ldL#1z$vA5%M)Lj5Dyin8PH-%3fgHByB^i;ZsH{)^#To`#j0m5(#wXAs*oVr-9VAyB&#VmnLP!1yv6 zu2%EvN-{V$Q>(~y)*rua0Gl)nh6TDHRe6m_oi}K&J)G)L@jhOlX9pdD{eg;K>fQCK zHJj?+5s*F|z*SK2iX8g$^b%MJEiJS3Q*re3PQtPNln6Y_!}ll$GjUjgb$@W2Q1FYs zX=Y^d;-)UJlakC)?CI{FPvyrxwOMvt;*y4+!r!bS_o5L0?w2tvP&;*^(rPR~c4sfw zA405s^}x5F>k16X?c&mp3BYw^{iCz&lx!+bjB83ak6W|N>^9hpkK=`By!DJ}t0)e- z(By6FWF zbin(=3*@RP`%+v~+M-#Pk@2{-)Q@h6$}kty7Rw`+YHdPF8n^#l3!YSl9cmAdb%VZq zJb4UTI|=kFrg8nK0AtN>oV7LMt2)7s1#eru3&1eBHW}=lf!)Fbz8~w6`=(S-m40li z(wIIBaRb#Yj<=^6$q`Zl&<1t`?5IWdqy{bj^+umam|H78`k~5^#1+XvB8^^`kt4U+ zrNoi5;enYFCwFvocsMPTuz@#_M9|=$j3WuEwp#i}B{jf5QK?Lx!+l^XLwX|-PTl!V zi{C$3ZvzuU^DR%+JYsEUw-G*-X?YZ^Y+b^-uSEJBwp=p-YhKOFqTvZIZZ|NF`n*D- zK6=P0E_Y=iD?sTd_k#%oE1)~2=}WQ+mPffYVx4I*n*K_hJZIyH&uN3Y;G^Upm3wF{4!~J(5|6Pa+-v3g=IBn78!9ses0!R^bVTw*E@NgXQB# z(C1ytsa~Fwf9GNo{Hdv;77{j3_fQ(zU41ilB-16OEUp_(fIVT?Eu5tSqkRCpApyWJ zWfrI=$q7n1cE!Uk>lSud|Js!7N^e*Z}pmx66Adr+4D zxuBZrw~p%iT5YV~ugzlfJyin1V?b5=%Z}txv{Aj)R>6HM?g@}LNwQg%N4+>DqoB80 z6h9Cj|4k{(cVP3MXE9B^p(7UjF#+1jBpL> znT#O;UzcmP1VC;LRrlgh60lH-17aQ7%PTtO@>YqrgJ9D|x@^nkiJYiPDXQdN-d21b zNeNMN5KQZa!U==4$h2>yeyZQagd{m?T(8Nv<>x36^js6BWRlF3u-CC5$y9)yPrNp; ze*Jpd^z?LW!clZ970ad$6Qe3sqkQ$xBGPWSnW|BHT{4vrxD9a0lyx=OkP}8!(0@sm zl{H>%)Z2hrPJo6lSH;>NWpgQ@ z<<*Z|&b<7z`(D!4v-5J~B2zWYR8!g?~v(&m}ra;4;nukCY zjQvUlm;w9J2G{YU{0r4evECsEW;sVlz>1$@on?b8RBtua^{=zckx5!j~#iZ&xfhxmX7;&>*`K8g#30QhADZ34y)Exzv zd!?mW@f(JC3oOk$`+$+{d1Y33-Xdk^9k3_2y`(xAQiINmU@P?b{hUx(p0N1Q{L8_c z#Le;#81`d8A>P<_Czdubqd2Ms&Ighz?RkaF4h6yq6nXvsB&s zqgJvKFre%L28v~ipMJd5I-NB0WEGk6`*b3|E0VehcGuae*L)9vq+syzSvHVP&U6Hi zb55QwaHZjgGqpl(96G+3S5tRLuvL|1h><4^=PgtI*#L~i;sy0SZbR^}lE<`BJ+o@a zoIiBZf7>aXDaq~z5dhD5Rs>JI0vzxP;Z=T`>dCR4{n|Z;&%yFi@Z-SVzt?PWj@|dl z+7;9k$~+ybS!zhV8G58o?HAraaqmed&|{9`yXlD$S6)8H6TKN5wS6CbdQ(}+lf^y( z<)3_`s|I8+Tl)_nGcA8tTi0fz{{0GIPM53UWtu*z6Zh2;cr|R?@>o&`n24XkQ+=mn zVd>Yfep-#RxIH(+frqZWeeK#cUfS>db?Dv6%dwnY+~^d*L%S<4b;fl`$Q>e;_8++J zx$kChO_JxOn7m_P9lyHk`bjlHyiGL?{MHy!Un;CIV7thL3RL2W*b19m!?p$F%TVpX zNe5}hmfQotJHO1nV>6PO&9+Ma+q3oSrHNT$4jxdb;ae&*jP2ZM{k+UwE|0i!T;8RTz$??U-m;&PRx$o+LxPKjS8FGc4S#cg?XAaD$Gz_0HV zxLVtm2ia`A$6sERGh;~BIql4l@tV2YITaI2&a!2%VR@y-YNyr5WUiEKLewZb-~K*6 z8CqmUO#cpr$mgN!$hw>tyZBQYp)kC@8YU1}?NLE5PjLhxY_h)c6I15!@e@8^FZXZG zPEaSUYdex@wpI81Tm3drn1kHufh#e+-V6?~(9m+ToZ1w5P@Q;EJ#D@d!CIgb+NagI zd9IPFRx$;uJX~f`LLOjtH`ka&KyCjuLkw6?ELc~fgGx-iD?f5u(C03EBrdR z6pe+w$13t@N*lhe72-JCPxrE}!~)Xm^lLr0u5?3GQYQ&RdfYJ2~w< zy9FtC<^2wUr3W@l#M!8~R_V9g9!!HGX)vr3wyN$0@I(F>((jpxE^JOX#`SGH`Ih=_ zyerUa7CjL!xkefH^_lXK(2JP01>NcmcbSw{f;~p&3Rs*UJh*wyy$}7$;vAK@J$J&X zqiW0nfm9;vp1!1GUy1#_bNhE=Xr~%^`!%@yEV-?W0cr^j!MR5^+XjD21$tOaYtI?vKy^Y83eo2=M-FYaaGqB4< z&e5(g3^AZ98XD4RuF&g*7R9uEQpE3z>aVV@MkbWu)+5r!ce_7+6oc(uc`XU+p%5zI z21Ts4$LvkRQJZtI2RK;q&_)iPvqvof?0zLD$81Oc<%-R_5XL5YRoH}-zdO@a>J`NO zY?eB=|7$&L{O;YIc55bmMZR9g@sd{GeA1^8B_!fr+!_A7W|8nNX{4xUX9*jW+adNUi2Qhke>t4PH-_ELqQy|yux zGDWU1fDZ&m{oRXOo4ejVxnizqc2~Nj+1{i{1~0|+mzzy5qrQ7X8`mn+Cg3N!p36zN z{MBtcXif0>V0UjB!KX*o8&;fVhu~e+VU3o3UFGh->EKo1Dw%E4V z(*Pd4&5H}$o%X$RUql%e! zK1|S8#(CH{KJaxpbF}50)Qt=1Tn(L8W%wGB&R>1N-nv?Eb|BHHuL8NO;!wNDeU0;I zvt4lGmiO=9KQ}BiCB2rWWjR}wa!^Bf&pfxUV`FTun}#{ERa?bOmf9KSO&&c;Wh7VZ zt{myum@M#5aXIFWFqE?X|S9#@19#NcwCC6$X3FZUPU8G3F8Hkmj4xlPbe zJv)ZTRWRG$S_#FiCa+J^+qoPj(_l$+} zyAJkon{?xx)fZFZHyb!gHhW8ISkrFT+d1Q`Nlk`L#a2%#7dYsBfBep*+<=z|aitqB z$jN_nLa<+f{VP&Vvf#3yNn7tckM<(OoY;|o@aw!PVg|NBolXnE(#Yp#aZ8qcT;NRu9j8pR5fUvL7>GYJ7U zraf(ZFm`bW&cO#VC9YR4yA>h~vwZ(-mRyVaiqGBkT(yOKib(v1C)|k!etU$+m7AvEG*OWNMiQoRaI!=; zrMVMKi`yf7b}1{5xq^x6VOhMh9jFw=OG z=s!*^E=<4X>37Ma`myg-%9X;B8y<$)tO@+vU5l&@izbh5Xj%SYH9jhk(b7ELjGpf&>PzB>11&ykX0S=cRD@0tICI>4IrFB7^XRQ4OndTdc?5E_ ze8N6GwEHXl1gZFzK{nbVmpNdEjzI4lQj-VwKJ4AF^o-z5AG0i+z$9?`nGS4H_8>kc zQ}jG#3Z`T&`Cc`uVB%4j%?xK6G2+#T*ajmE1k_ua0_v{CHs~?Lq?|YGa zgTeM<%fo2Fv+<@;`f9$kN@A1g$e^qzn3pm_C0dcndP8?^4%Mn_tGGWlY9^T?VS@+9 z(``&04huvR;IOs48|7(s_Z;y-D{7W=&}!;UKX=1lgO@5+f)sjF@VG!lwph^NB>51^ z+?y3N)|^*m#mwBz_}8JL+dy#E9#f(ufM{^cQV*Oh4t}JwjbG#f<#knW!8=#vEVKms zB&Aq?9Zc~`zaGH?5HYC@@n9V1jrt-4m<_Z(3GQ||`d}bl0N^0!y|PA%Ea`caBlS}s z^cBFQ>oF2y1u|nreW&x_ohOnRass>fp!JVN;GUP)OMLhxMPA#>&GhRviy{ot(V+X#jvzXH$e!xtrR zCsHHM0Rc$?yai3tyoI4jnqLOcN}6Aa&`O%;Dv0jp9SY==<`1HTK|X0-GlT+%`N#tb s9H7AA#{o4caDW1bA3G`_aF|nw)D}S+NUaSK0zb!oH#?kd=oJ3{0DZ;Bz5oCK literal 0 HcmV?d00001 diff --git a/Sources/Styles.swift b/Sources/Styles.swift index 1b31a901..919b9a66 100644 --- a/Sources/Styles.swift +++ b/Sources/Styles.swift @@ -107,7 +107,7 @@ fileprivate extension Styles { static func drawImage(name: NSString, size: CGSize, fillColor: UIColor = UIColor(red: 0.267, green: 0.267, blue: 0.267, alpha: 1.000), - path: (() -> UIBezierPath)) -> UIImage? { + path: () -> UIBezierPath) -> UIImage? { var image = cache.object(forKey: name) if image == nil { UIGraphicsBeginImageContextWithOptions(size, false, 0)