MRY5-@x$-CKBeUHDxLFLv
z@A8Vg3{TWf81zw#Gg=LWe}tdK&J_X4NkhUG-%`iHZSog=XsOb85SM?!E8kJ7DgGMm
zF_GumtB#w+U-qtRy<-cj=K6#kJp{T*|cSg_8Hm*@9?yrkIk7wvm^mI=O7PXLFSpnN4ElbPN4G6qjN4JWeMhq5UOP$Y8<}rylx+#?&Mx@
zSI^anL)V>S{U|x#;Um_e$|Ym_mCe_>lp;VrZj{=YjY?=VRp`^oo=f7m{ZDaUvk&;KpD!w!hc`wqW?bE%)r0_DR|T?5gwS6~2~mO`{vla!p6@JkvpK*wD3BM4s%`25ty~E6e&2&m
z#MMs>qWXdkGHa_~GO+?!K?F4-z~FTQgFn1AQ?z#2S7>v1Wxn!i{LSONqUg0kyt`wo
z224}+0mS(7V)e95ij-;=g#oYLP8e_jTdqkMR=tb4(Wj|M)8G8u*n
zNs9LjVjJXu%!aM}Lml7D!8N0@30XG$i`S{=wmYaUjI5+e!f?V2mfI!KB@oGP(fRbx
zD)vnmUe#DuQ*Y>w%t)`8WSY;o%?^^U@Z%6AVnw86y%0+DKu-UWmq7kFPG<_H~=j
zL`AKCHS#jdV;PSO+>Va5q>L=p%|(lgh4H3QTM7Bq&`7G@gKxH?Mw%HpcVGvf5^VR_
zux|2vzpcgcm$TG3GgO7LPKd$D)w5N~6Z%p}BV=N`r>Jz;Rfc$0W6I*RO6h0B)N!98
zU0C&t!VW)=Wcv2~y<+t#k|!Y&-g$ZxZ0Azr
zXgFN4|M!uaM!%C@`a26f(H7;O)Z65Oe5A77sjs&8#%Y*q$fT?7#fSz#6POxk2bnFzeFquS^DcOg>mkJeJlLpH(LAMNqGO^)IkC
zRn@IPq_^L0y6pLL)gg5T6P~Hk=Szd$8Qk#;``zu6=_(Y-$2*7qdF%RK1m7ZxP@};B
zsJjyARXV_gm&kxVpeuLugJB!I4*ZaC!mjqq&mmIDnuOv#{5@Ql%~Z21N%?l0p5*i3
zE}Ln$Gm_VffyW2oq^Jj9Suk0!m%D`fa)ZwD}N35dtI&I3f4H{mKFZu>Wr-
z*KxL{$!4A7wweGXuIGmc-$cHVDZ0Qg^ARXf{(djxqVkx*>4P&PAImYTWTH-
z(W<7sLCw7bQx1}9Jpj+(Dcg*s1SL;?L3nyq-WD9xeI3RU(B%pL0j4H}0)x4IJ9u#N
z_=tv6mdh~x>kN4zxSDA>q_#OJY74q#+~coBkEZvs2<0m-NnxGb9~&mNRXHMXmhqZ~=#!%>`7_*)R*ha~_^a448@peL
zM>Wgy`46-U7es5Q<(DtK4U$avP`}(bBh
z4Q)4%@`InGs=4NmI_S9&dKOX>jacI|tYK@NGn$T#bk^z;BJ-E>niu(R&a3Tv4%dge
zFyi6D!QFuc5lH#Z2$*`;r#@SQ1>PIy(A{-fO%L3I+^-$8zG(I9>`ygJALbQBZ=sg3
zYB%8X3%S}cEpsNIZ5GbgL6FBYd6rg0T;Syi_UygIT4zfiY!Hea=5-gd_#61ySfN&DCvbmrV9gu~uWE3f3Yo&j=p??%!(8yfnq7#09k+
zDY{=5HZGo6;Z-0R`%t5q1dxS9tR4`ObdN$(3R0Bp>qiu`tr_^{AzJ1yx^41{oyl1c
zU+aOxw5CbE(lE`t=O0X$`TMX!Y7?UE-Je5CMq1_iTeb;*?8XN1CD&D?^UW>UskMR}
zh^cF{g=EKO^~e&f5@)67i64%;z2t9y-~h>okU!Wu(gO>&`Sw&3kf<4yFj@BwVKcJ)
z6=MA%{S;q$&8ZKkdtrZ4u#CtccR!{dOI~cViFe~?ezJ=9vQDc1ON@PqqOf7YP_7>P
zvT1t*pS+ue+eOdJ+kn`BZl%*m|6y6>Lr@H*A@9?;MAy4N
z`D&KAp4#1GBow*z6ZLAZ?`b)+wuSi(XP!bGeNdZ1mo1q{#2ApHW~7vgfTonmM;XSp
z4;4bkVhJ1*gs7Lh2?8r%$1K~^h3`z)LS~PJln8{EUDPneyF>LO^Otgd_t
ze#fxg0x!cxDftiFOg9-6PwLRCy($xVaVrTbO_FEy&mU_G7AhN&eUNne#p`t=Eka`}
z(y5pVChm4uel|Z5C8j6Q5?|my$1e^Wnqu^k(``m^`P3`ggp5r#*CL%OOfOvhxXWu{
zIH(I(3?6;1>Q_Sc!P%Lr3|zS3Vs}_+f
zRe>q!pG%b`CNm~j!XNo>(r?sz)9Zk|zt{AMM4jPSlDPHqn=IjW;uKJ6Tcia53Taka
z4){;Xs*&-8tJKLo^R)z^ikAeY?7!U~5jc2?`X%3t+Qk7q3}v)LKoCs=WE1!mlsX=$
z>GkY0lRfCQM!-E{S&+HzOnX!N2PjNj7?K
z@uZC6?02n_OwQ#&<@j0~)<|W?x%Sp?*q_iE7shSL0*5loe6#!C{-0d
zy^wYV^DeRT;%x881j?!M5R`cmHFYcmdKu`F-1VTa0F~A$AdTjragt4aJ=_Vi&4h7t
z-YZ2pEC$c=%(Gc)AwL=cfkG5e2$+MB$fpgpQTWOj9+@xw3O;|W-h{BQYD+N!nj&J%
ziLX0Rx_|EJ7l{xjAwQXd8CttZfh8zC1MA(1T|7oSXB8h
zRg>*AL8cGsIPPXhxYF%JQFO)0O;Nz#QvK;#;mI@p?;foDyzKD}Q-
zcAWY9)H(iQ%8;)3YrfFM&&p##|9KGyAPtdeFML^BvE1#UiG4~(5cM$y=Ygzwvx4`4jF%Zu__eqEJ2;}k;u3STpY(L*b-M`BJxHSP6uyg7rL
zySU5L^2eXRO6UZo04vc7tON&$%sQ=~j&dbBH@~&NJKlV3JZ{VAq?JYZVA?_Vro|7$
z-H@6}@od3ufq~U~=(Z}ys2Pvwya;|Zo}t(pDW+iM{eyfr)vnJtaK$~K4hP?No5b3J
z>hWBs@4U4iv{zbf%E#-lMMOgtNZ){TSkCT0hlMrSdEsLA_K~e%%;kKuz9s3!QTId8
z;!F76&n)Npp^1-O=~6Y7X*}bhqI{Cu7%y7}71(Ch$ngDxF>l94i3G9kdd@w~K8Hg%nKT_~G089)R)$qq=PKz%wObX02v=!GLDu
zI&}!@Ss$U%J&2gvL(t<<@$?z~*IU0f=2Y&+o7>(*cn>V)#ByEY6W25~xUD)5C5K6sea~oWE<_B@x@1zT3T2MPo
zKu2-@S4FLOK-D#$_MiyJLN{a0$#)u9fY|u7nNG%JU}wHk0qINI^ctPwMrm#eOkdR!
z9`LN#k|hcsHsSqL~-A%
zyYj{0HtRV8Vq;Up|8`GXrf_wi??s7t9FpIq8_b7KTU_g!F*z$t*^rsg?qC9ohBY%q
zh~HA2&GGUIOgk8v>1hVDO!*7w*4FmQ&R3-j2~DIX8Dhfb?2CV^AJcn*je@$`qjYIuLG0H2_8{Y#Vi+Z7j^skcS++{e)V1A
z1l7w-XtDX@H}S0D`lTp$zOuH*uO2;0Y#**GC5-|k0|7AVUBEXfTp<6EHNc@H5{wT)
zUgq;~d^iGafEI>5`$V@#=gPyS#|eimJ>%>p`n>7L~sk2ht+`W`egTt7qQfgL2Ow&
z!IG8$ol6FqPmE|XVx&P}L^1#}VM>9(G6apFKw8mJ4I=Jh=7f!8-;-}T8|=QFNh>1S
zHADF5;;t$w!sw`-TATIxE0K|#;u(%-VnO>ankf^2Qd4f@DfC~Hsd0cY<~#i
zMlC(4qDDN!O%}Z_%ggeU+U-QatF
zvrZsLHU!m3pjc*7TjXI_QCDS`a$Wq@+XUmkWSYANp|WW>Fd<|*LBGDbYRf5Q;+efd
zhVbrGWahDf28fH-a^TGY6Q-mOM(^js5DBzTb>JfZ#ir*fS|X8Z#iG^QLiSC^9eIxv
zHp3u%8ji(Ovp$~**xk&9?f{OC(~e9J8`=j^{{^Guk)Km64HEvkt^BqVnaPeyq@wEE
zCW+w=xU`Yh{a=xb&BD@+lE2q3#p`6UFKa`%5$G*pEU*hvK%k5ZDk8vVurHN8B88br
zx!HHe?Yo`|8`%dqW|pJn*V7zGUKGOk8(*m+A`>JRWehSf*u4sN6h4xUPY-uWZaN
zolA=CVTzyon)-I^!?OoEtEp3*%JtVw3B0-bKdN7L%38009(OBt1;|q`^+ZE<6z&XS@tzV9t*_GWnCR~tuD;FOZ9xW;6|$+CguIG^Pxcd?N~y;#oVqL~
zm<3iD){^rdu^G6eL^HTomD%k(Chq?F@=ozJz@p!LETH+q7o_uS`>}Hp2%x75cGOd)
z*@vAw31H#BdaAs>EKO~(0U@lI{fOA?58!*&8H@ZC+XLgHobpC{m`fNO^zWPLF{+`)
z9O?QfFc6u5__JiS?e2%>50;ps8UY2HT^U0;hhatGXrpss-rb0>E|8qoIHSh>9a+{@
zyF<{49TOCf|CmAF#^^9-XGF}X7J;?Dp(KF>C!`sElP`z7TLkJM>t)agEw=O<1M{iP
z6|$Qirxh*^CNrh2D-~U6zflt3Zd?(M>xWkJ9A|)iE9&p>=5*<}cpM@8b_C=|v5=os
zdVe0!5?De3)E)E%;8!YU%@ZwzJnKD+JvQO;9Cp&KM>ZO7#2~GbLBeDJb^c@xfZbj1
zg3^KZ)gJip&L()d2ldUq-PPsg#T4BT_T_tMs@x%n0kDWpN1){lO#l$tAF%m5L{=Ir
zP!&0tDXc3cAI$VH+qTXW9$Z^4-YMt*(IFi7t+P!Z0Z42!9%L{*(hhR42H-gI<1F+g
z{R$BryK8S}*f(E2u=!Nj|AMukk7SsX5J|NeE%cYX-5m36+0&G-*03+)-TgV3g@fI}
zRe$e01Z=av&$?INx(9#2nYM{%=6qvhbZa0aVm8baWf9hTLBjD$28(DYH+ir1c_t^J
z3n1U^;uQpL4uidTQ~#9815$hWp^Z-GQ0i0UM!dZM9ul%i)tp{8
z8@V%liKFZ}q4Lj9k-(8ZFgSDF3xtR4_R^_u7GIt}i3bT?2+a&Q-&wK;?XF*KhL>7b
z7B5+=X9(B7_MB+>@wGKLZ`awo@Iy;U>%J)*fUzwmZ|9RMQ7uTp^MP$(!GOZ`2h13`dxd>FFV2QW|q
z3fI%tAVSm+&1ueZtJv#refDSd)T7U1gT1VM5O(NX8lVx?z1@e|-AiqP?qA3}4LGwn
z-DFKfeROx{i&B?$vsE10w63zo>Z;?Z$VRG6
zvo9tBH`e*N_^k(5nWAe--@CgiF?l+iUnsLhzE~~|g)e{oYi|u-@~JAbyXfv%X(u&)
z+1UZp&dacJ$3hRp3;cOvPf<|?NR7S+gXJ!gX+ln0VNGgX$U_hw9IhVK8h6`Vcv(2P
zz9{}16H)I<(u%rwLSCTry1|U8b87>~k5U5d?Zmi&&)G!tbB;wOgsHaRGXz*@SrB6j
zt~D(()MKBQ3IEMeB{h#y^0U#(zeXy9(legn5@Uik9s(iC0~Nr4U9ez)n_;@egeTdL;I
z_&zAKZjkf`)F{(Px7voZZl1!C+uLhWDhoa(j@^4>C4SJ%SnqAS_C=*MNcN_P>c>$V
zpK~RR#iant;LvcwEZ=fdH;Yql&6xG^I(Au)QALY~dS(!a=w}jN=Vxv682
z{SQx|n?R2M1D+0|Whi5hlRJ%uorh(eV!I#6h~^&q83-G^efh>?O;Fb}ETIw!puDbJ
z6m199lv7Qvoz`Uv@lX1hQ~*%`Mhlve2N-S-$Ed@&oz})Akxdg-ScCikz#V`1Hx+*!=|3pZe-D^Aog`1s6Xd#rf)cG*2V;%%}s4UzZwA!u4F5
zTyGK|h+a#u{0nQ2%b&_gc_EX>m~`_d>lVg=ma_TOBlwa{V}Pez%LR5LqkA=TU>(F7
z^sEgofo1iPoi5
zEmocF*3<4ucXXHjFe7^oob~r`&QZ)svPZtb-`LzTB>2e=dO1aN=d
z*;OW?VmH>)o7IaiotIoo+VP|{-vh792;W7D4LO(TRemsbPdZ;71$2P&y4zVeNssJB
z7&fvzZiIXU-ASh*9P?ePa$ff`zn3juG$q)XOQQnB#P6U-1EZ*9fcH%SNe#yVlw??5
znLcyh^?uCX@v8A(>=<|9AT*WI_)n@wm;xc)2yHRb^`~z(gxlB^+BwB)S6tE-o2*P&
zXPBO6dSCt~_lpYH;R}fqy1yGvC-dn#l#~gJDZsOteBLK=%ft2jvptk2#nv$xY
zWe+F+AFp3`%|#*`W`~}*!%XU&Dnc$t{1Uwko={?NmoKvCi)axO)2PB|62WaK&L#EM
z?(`QTpZB;`hF#o+dTD~bnDAXW$J_SCYnQV9S<}eJ9`9=HQWywclc&*aF9lo)tYIy68XZ>%aEeL_P?^ga`jKqX$b@j
z8vCRc;g4j^d!H41#X~&@6nKl(Kw$m+^u
z>LIz~>OzA#Eo0V5>oPe&T+jDPMx@YLuHcZOh@3ap!yp4s!7TP1-y~(p(m|&HhCK^O8+}@%9SqNH{5ntF1hG^A}23h-YtQoJScyu&a+TrXmDGq
zl!;wjmbGhB8={AN8aGFV;q_wdr`F;k9E_IXneb7+L(ujtQ1%YCqsr`Z{k(4#;-qDQ9kjsc8Qs;UGGsaT!7J{aav-Pc0!73sizlNB7oVNj0J7z$
zvQMY&_xMX&8Zbf@a0hzZnlG4b)jZg=vj`V5aCVNXp2cl*Jqp1D<&sMi6xAiQFnvAR
zkk)r)97$tzt%rvof0Q~X!!<;oaVn;KR;Vri4h+Ut-9g~!bIz4G|Mh%hjzf(vz;>2zSsZxC$
z!}QD17pKNr6bNri2o;8eB3XTlmPhtV@9Bx2yQ}c})H+;+;}LUk3KgjGCNdtSy^D}7
zOqV)Mmh23)c(MY?&T2Pw{wDYhAkhKuCdjbT>+r<`BtXwgK=b_b>QS*g3Gnu$@2J&o
z>G@!8s%1SHaUpA1;mWyOf7=^jN~pTdY%oq__u|<)mdw{SW)QopD5{ZtN^}#+1xT
zk0_M?1+MAhV?@bA)m?!
zbi+=h&Y{{8$dt)ZQ=5H!VpdZ=cq=)sC+#eyPvQO4uq|U*8WxBmglMM!?XRf%n&*hi1tC
z1jja9CaSj7LrsUv1D-yagUJbj7(?MUzN)GUM-ZR4!$4^_ofdiC2LM!6n92(jq*DtJqysPN0j&P9N5d4hqX2Fg$*;0oV1yQ?_WtB-|e|&GL
zT`OEf2_p4~&{yAb%SLu3YbxXRzMgz7Tunsal^0ur9**3?mPHOtzxvH7Bz`hup%Usm
z6(x*n3G%im9eV0q8H-~OeeaoM)E)@hMuQQmlaQgT!Llzn&c7!d-=Nqr`u$p}{uFoX
z-xrlfjWvF~R*Ap8nkRSeh)iPMlk3da^7*8iJLh?XC3=h{O
zGEPuSMc?k<8QS8STEAZ8x_5ijAZPT4T}iaU^9~MAz$Mej-gtJT<#fG_ZB@kil&zCu
zqGv+2+3^XC{@$%H?jAgs^d!aRU5-+&I0q3EkMm7!^57U-6#;X6e%ocMW9fjOc4k=1c|6ZcDu02px_7OD7r2sm4@s9tXjCc2*M4J5fl*f
zFdv{hVs{4_hRIMoBnEjFp;;MKE>ITfd}1Z*Oj>FymZ#1VKcV)-mu9-Lp1k++J`1?W
zb9WidpuzBf2yXQgeq7+G!QIaAPU&j5i_pTIug2fSJ})$UBLceX{LIt|vLb9~-B)HY
zvzt*`W|k?zcHgjCG$wOAgs`A^@cNS{_5by=aP#{%d)lhwVa+JcQ$hc<^k!VL;sdG%*)3v{);$WJmG
zlL~cznkjtrvZU09)0vXws82}GesO|%WD0)3qUM2grw{tvow-H6McbaWPQ0nSaa}{I
z)j;Mom$choPm4=+d_x_*HYt%nd(jC96C*e+4FJRB?SZwrh}vPiW3-y~AtBRfFA4h-)i&VtR7
zfEPfjkJJmSY!nEl=t?wb^z&0_^uV7MNYm$tg(R7Rp8Mh(BxpHxGBdR22gbGKSi~!%
zn`Txl>>|nQ_JKZ_Zt!dL)*Yk?V2%kisgt_`RAopwcCiPr9_&M)d03tm)svYA1lU$2
zW(FJOAWc-slrPg1!EX(CnqRrh_UkKMnjjxdz36eAe!hRPB>wS5p?Bc-p&7Rn*C7m4
zf5J$dhLK0ka>ZWBgc-Y~G^h^tW#yUjaJt{qmnIK>>t@W|D5A1Cdnwvpeq&nVm?5
zu@!fmE=ZK1#|0d34HR#t>%IyIo6|u-TknI{ZIc
z`_8B)w{G3gRXWmJP*9`@B1NeIkuJqXhqy($hy|n*1d&bz1O$~JNE0!j6s06c7gTx?
zgb;d*B-9X+?6dGY_k8=Fan2a`$Nk|LK;9(lool_bJoA~4HAzm|83Ba(?y>W_D>wqT
z8k|2|{V(@vxx$h6ex92rQ^)2C(vou_gJACqh(T0}4`O%iGN8yAO|S250Zev%44n%A
z91AjdoMRh$yAUZF@R&T^CnwXbxm@L?6g!!sV4@I;6J0dv3wCq445Z;zaJld+B+k0T
z#-MUvjl;*CTr8THW7s6Od+Mw2bWK0G8qMuPs7A+1st;E$DOVF1SHjFj!|$IG{%dt4
z>b%c(?@!!}QZ{kbc?hlk{LYEQ8D7zNV^huVzyq~plOO$=5}$*Cs0g;42e#zcNR0!;
z$^is%D3TMjpe!xuv_x*eh+!w~m{zDm&mtz3+=P4X(R>$r|M`~TCfR8m^7ZiTxs2AJ
zM|`(D&Wl4@b(fg1^|a^VW~DBcVS?!5cR^h4HioxYHASeaO#_k2OVA?$J#d!Qr<1*<
z-k0OuvzWV8Ry!hVwgjTp9@brBI>WH86L7_Ekv%qQ`4r^jMGk
zy%QtbW?Gq@jy<%Gh`E>c0C}9IUt`!PX(2>Tw9s|?YhKI+)mFaFML&q)R^R(zgB(4S!GdY2VEF$Hp|J>s%j+I^w!D#t9+J$g4a1K9kZoe4v
zQe3TxsgwyzawdLtVmV#RODS_M?FVD3@9!LpLa+or5YA^W=q|-cUF7GW5{FJZc2j0X
zE{NdM3S|Oh_+Uj5xPLqQ)%gfdyih87+jpYDn%kwvPiI~6&Zkxd6{+nl_3hE-6d{{F
zJrQrmhv?fob!m5SN4H(QL445v6CdD8k>j{cCB%d|C3zG`l+;msP&)%fe7&$gBl8~)
zHnkB;;fyGp?cL+s#!)sv38$}43R**fzD#;2y=fl6uf7DRB%&+xJ-GN8mcsB>hT5a+
z({1mn^~A#B3EOMlbor`P_!}r^z^a@MQ-0OQI+>rH={K)fL(OkQ-s|D0to>OSJkkFw
z25uGEwo%{`{IqN3v+15&>UIZxl*h=QWSKrClc4vNcRUfY6rs>@d;RxXT}0|i@VSWf
z)7^`!iIDxyot!i!JsuxYbB|)qC3%Uq%_W5yEYsK|I$6!u*Sm%GUME8gqUW;(`)}fC94}uq_q=`*PqLx#-;i4fdFm#4
z(LLaAh@g)7S3hmJdKq33-ME^_xa$sTt8yp2PkgKkx?`bcZbrSQ56!;+MdozvEw4YD
zWD(hh+7KrR9Z+oTVYMa=iP>Fw?08BlS$xw)
zz4paTzuA*N#?tc_yWzz0s*bc$`{C;*`h|>9P|LItm2CIRE1mo+MCgRz#zIeXy>nJJ
zU-QByOX1BoB!a#qX{Qvn*a-S%g#;T!Z!mVf3jQ2BL8+rLuOrs?5h>7r{0xbFMJwjs
zBM8xUe5Q7}V&iMnP%b`qjhCKKYEoUsM;0YdIEeEdYCB332}lef@4
zT_@A0u4f&V)a0Lc;W|X&b)-Z#l}lV0lCUBo)e-X_Ly@5n9izV<(xrwH$A2{c>N4Q1
z>irf`z7G94DGH03k}wlUYh#mdWe)FX;DlOMMV$OP)jigr|2Ts$-KwA9*x!*RW#51K
zkAd|r&}y-BoV(}q3I9_Lr@}e8HG)v
z>)u?M-H%3pEPwf$L)YMY%a^1ouCcNrW7$AFaA7vxy*IfpKG(
zTxzMkQV1$ZjR!lzaFT6W0y9Sv|)0`WR6^AYQe|{!wks2(@E=mWL3*Js}aA%`1eO;N@ZCw
zcN@sFvl9&t6~!Yt1(`?Ak7+XB82ts~377So^=EhS3i{Z?EW|9Bu979JJ_{vwV?Z+|
zf2t55k*6Wy_pR(RwhJ&FAoIFT#L-x{q5Jc`^ZpWEq~Nf2N^P3Iv>E5C)(h_^?YS17
zL(S>m5uD+&GsrmKQr~eMp&*2JfYRO%Ru$JxJd`om|I0?NY+OLs?Yz5!7amiaBYbC(
zu_y_3?l`y`y%Z;e@Y)V;Qicu$9K_*d))2%$hy?Pn?8b@
z#i-!g>ap%PZ8PXAMxB+-*}69V`WzuAzqf0JyKedF+*D;`JbX*se}6||a*mc2u6uXE
ztzzZa8||*KM$cRzqlJz`ES&?x%Ix~RnN+u#NzV?^Xn1h+(xh`ih))~CBiFrsK15eg
z8*KXvY)gKV8wurJ!$<@d<1P)pFaDfr&stnKz)QH)yy?X7xJlJ{#Z&fItLUr{Qby4oT4gm4miQchFW%#IU^_qw_Yd&D7k
zSt4E&8?H5sG%~zi(Mrzqn{5Bkh)lktSF>05KqYU+;W^~i{W-3mn&=QBf^gz(uz#y#
zB$6w^ThaF3q0I3MhYxg3hTp*i$ybd?e$Q<4q^eRkrp`^3(iqU$VA`<;NfBDZuCLma
zQd!AgBS^9iL$}dtU8e=ddF89EtjuoTScuZHCSQSbBbJO8^KOr>ho%t71Xlsi7=`(t8ZFj2}b2`ONkd=8eX!030_P|`!oxyfP~}A
z+n)N=rCrqM6#wy77jl#3A%(j`SGC}m7DWb{aS(sQ+23aU+?~zV1$iZ$jOhT
z3cn(^pUF=PE`pv!PqoP7qM$aZHWQad@MRQ
zQjzR9@dcwb6re5lCYRlV!PVf2rUX!VT7P8w5GP!%YiL7`WAxd5cs2e;2&;yih}6v{
zRXRVi6-N>B!>ZEN7hzQ<)P(wVTBI^P#x;|K?Hq-1QBQM~dwWX^HqIPRHHC;m<}h;M
z$BBAr#7#JMa7!%s4uRlkI>$V3O7)!)yUWoZt(wJ%c`=C5!iAe*;=YWIUlXjYZ;i+@
zo4N186a*Qyfw`l&^~3usR%AWDrzB0}LVl~kqNf;8MwPj6ZYQ;Lr;fFsI_dctBMslV
zFAh?*i;aqxc6$8Wxql^u9@z^;j6b;EUz~9%$*?AP?fHa)T1wX8jXC=DE!h^F!1q}=
zi@k3)&xyu5&2L`!SvgOh{~h>;J>YE8hD;b&Zmqf%`02M8A!LJ^`73xemjFgxC!FZ+
z*nRISCm-U7gBbR8|1t#b^+6Y8FpnM7UlE}G0xZpxEs3L-Nvs96qUvwzvXj{l6^h(s
zyXpd?%3DiZesX2|^+a1EL_kqB^7e*J5
zMIx5$z^*+4!+9-lNb9sC6eNuZ>xlZi%}rHXj0W8V+yMY!NcD!{OLT<(hUfu!i2|L4
z15E0lZ$Of-Md|`n0}g6j3>$fn9d#MeYDHG2M{FzaZ^1e$yy4Yxpx0qO(k&dwaJnr?
zG%G1NBXRGjGdXBxlFbqT7%i@0gOULg1VId5KWbtH*El8
zMOt55oQXhmXkjY6!){c%{8B4@-zf!kq_ik+o6(ov148MH^5cO0uNBHQ`@%|p`K23g
z+$h`1_iV=TQQ1qwVWS!5!$nUV#*Zo8)D%|#MgM`|3qZu#)mM+tIBQKBzs)oMt;yCT
zOR#>woF_$&WtmC|XO}>lVtcb1&5SK=OAt*fWGw1?B|7CFXLOeDWqftp>eH9df
z?;-n5zmiEewh}O8G|T7iJB1kPq%W0>@}rJY`P1HF6V&G2Aw0L{M1!cOm6;KJJzyFS
zh-oD4`~a9nTnYGwr}V%_`nX4U6@
z<=0J*{4S`r-Dl`ECrNG{qI{gecCNDrqnkx*Q%Vd&>+CMC86LmEl()T6qydNxN`cD7L+O^ly&tjk8X~HqIQC_)}2Yoq+ajH=n)k!_A@sgWDwxyUZOkMGh!O`{r<0;>TJhv
zC45j_c9q!o0?=g)IJu*XTlp*_kxJySnc|F~=}88qf}tAIZ)X~pAG4uliD=DA+Ve&S
z|I!I(b^1$NIa|X`$*6_KiD``z_d@EGe&s;zctXYTr`cJCv91aPz_WGKJ9GfQS%G8y
zjA6{N<7RE5hUTe9W|SjT3at<}R|!DWdgPn}0U&k%zBH4#+ZkcrYez1sm|Cvm{Wabr
zC8y{q-^$O>Y}XH~f>V*9SXu~TZFsXL;^@8rSp04|SbR49yFSz@xWuWJIQ1y39H&rI
z^TxxBk)u{OHiQLBP@Vo-oTwgW!zs-It>0E(!V0PFSJ>e(Shteq&B@-|SI+m{ssgeW
zl9goZ+0q(zTLh;MgY9*hH9|eeolh4#B?T8FwPo~I^FB$d17Khu(6YYX8pYz^^Y937
z)BfeGw5}qTzl@}Iq>hksdxDSRkM{Y
z7zdPQ+yNi89lwLxQ7eL
z^Hx^ApPpRImB~8Ek;a7i8ifX8jHU*to>N$4>QeS^N(=CSiTEV@h>u5n>(aVm*n8CwI?
z_P)E(=716(_aoTc1K_JyH(&?SqyOtm*U!K%&HN3yhWedIogsGuWWxmLw2=RX3}8)e
z{*Qlu`olmf%i#I!L&?_<;Fk1u^FE)*5a?<+*Mk
zmQDi1IcGcN%IeHQw!p~iKs6)ysf{c)09V{5$I$h)0Qe3%75TXkY8wW$1Xq!iCESnl
z;iPpk{S#merchU!7zNW4PeBS22Z&>wGo0%7jGW(Y#Pm^HqU70~qR&b_L+)}yZ-K@i
zDg?V811}MzXgv4B|9EjL(g0N0LW9d7dfi+`Y;k@7k30JTjRjuylZUF&a5Qp_R)y^C
z^g-|6O1n3$t8(M`1*N^in-6#1v+ZE&Q6{7(8G;#VS(kOoJS;pmhF)&B%oNj*zwfA{
z_*O6b3^Z+-`MfK;f9a9c?|f0nUc(xo*Y=7a)?+Mo96;1e#_oPW53aBIDbpX-!gukA
zmU16Qz2}Nb_eva)lPbMWF%X+9nnA-8^ekYyRd_q|M{uS9e)PY9RR#B^e0!Zb}4+
zC~ZEtK(@qp=C%x&iH-?+#G2{kmGCp{?U3rlwa(Iv6_#LQO~X1t<=Mwf#u`vN041)y
zUett63UIH9K6P!p>bTkw?(YOR?B~>^gJzg^4&hg_VB&?x$d)MBWlX=&zm8~LIBatO
zw!dTtlowY(09yL>b}m2CuTg{=y}QdoZ?aIpX{N}V+tXgdpCn^3Mt
z%tuoqPBCC4@{ZwYXGD0QAKKFzXpih<+N1rN^-vjYjBI-r$%k7l)Ov3ohsjc-(;e
zy33}%)44YPKo{5IBI;Y_>TP`%@TP^4EudVJ=1<@`43=)qP1C%(C~
z+56LwZozWUETWeG0SnXq6D&N8PQto#?
zIm;6^ED;v_yogS~;{KJiH`;T3TY1gsZwS=&1Ym|MFPc4C0phd&>w}N`-(I?UBQmF*
zUIv>K*lQ;t>E=kF*hKmpQWTl`KmGMs25A44Bhv!o{qJwL0K`l0YCjV7!M~@>w&dnVwB8vJZ`cvjDLpp!b8`
z1;j}(i@~j&F>TU1`Y@>P=|?`ZO|f*4WEzHR1CMY7fdlos==PC46!2!%PhR5@B0lvp
zj-c`7t`cuL@YG3yq>nTOtXEFrIz37b_*5~fZ#%*V8Yd}4^pCCXL31sad+Uszkcc^&
zIq~v9==;h0VW5;;4UTh#Gj|7f@-E2ye6`stJ~bHIYADb`5Z1VGokx%>Zj7J
zT3KFg9={CJ5ig4d`JTgS00R
zw3}!rLeQP?=qxB_qqb+6!wQfy(xID~UB1SpnsO7EhrDj;VmK)5Pa0jpp)7WG$lf;+4$)-!ffIXMx=y9IxGW1;|Q0_9C6MQ=r})n
zBWbCV9wJ{le0`uXqKNheFCG7|GG}{dA5uczlnh5{=#8UW`P{jU{t!o3cC&|Z3!W9#!zV2@);m%&uzfLrkGJal;HW~T6PWI)z
zN{{Wa-lq;R5TL}@7)eAQ3v3;aPK`Xj^iWcqoL#;gdXaJJ2P=a#+xf2Vp}RnT8F=Lj
z^CdL853ZVQ=tjyKfJ*p?rgXfz_qH^xqQIv6`79(a%!W;KUkQk7bS5{RD|aR*Svh^4
z{%qf$#2c&d@}5gvhb5aOSsVX&6ayVE&ME6T^{7bX_UjeRca~0$u#fhZQ1hhyo4VGt
z6M55Xr|gnBt_C24>Igz=c>==~c4ki|BS&N()m2H&3ac^9BZyc!NM-tNf%4K2F#jKS
zU$2QWn5Hk;RU`hG?hFor%LJw~{Dd<)
zg1}eGIT{C$_*wQHkA#w~pv+{)!3(vY!=6`sOpwr*l^xHJmo@o+&&=v(!sOIpTt2ou
zJSRWbrOQkXo-jp&5a5ww+i6TL@eFx8Y2@uwX)fyEbmXwWjz3iq%ZljxT8zN0czAZ>
zh~Ewb;qxe-G?0<4UO}{;2_B?}Eu(h#4+hDuBU*Zho-~en@Nywt5FP^q2`G@hgoJ~X
zo#V?ad~Y3m&^o;)%z6z^Y;Yn6-g~F<`NT(Bg^ldf{i>KBzI_P1J6Vc3h!TPh><-z$Yuzqs}cb
zU|yr0KgaERc)~x6U4cv7gXgisvik)X6X46&HfL}=!Gre0w~H$UcY`?P*)o`!R^iS@
z^fJBZ&o9=Y`oI)XAZ^^9G?=o6MW4PzhXV_H-{rL=CsUZ}NYv33A`u;c-3Nw6KFA0r!Y
zUTUbVCUK!oxAisNEBKoJ?OGJenez?^ZxoA>bYXkxyl@$<_ns?!1{)nIO^%xp!wGtQ
zba?-&95#M~4@x8jHjw_
zQ0#z{00$?*pGHHo(JH7;`N455p%+D!%6-Gsf{b#GMYM4?c`+?2Gm~%bc1TLs^ape#
z+$%uGfFt^iW}br9ayP-OgJ3$^SOv
znLD!$%1f#lxe458+;~wF}5d=eA+lJw)q=GUJ;?x^{
zj*R&Leui&8S1W$J4%7+xDf14Lp|a`}fdhf(1BTKV0topHbdbzRpa?x|dv%C+$ZitB
zq7#O9IfqBYt*viQh=rB)OFx&
zWcAu9p6vxt0Z0>`+#sQ;JD}R!_N4NX5i?Ea0P?>c$jM5d8WD@?RZPQQyRqT>JL^V%
z)-*%!zki83A$^}@yH
z!rF9w&FlNJ@HcB?)7rjP&%GR0{<+@iXcwgee^9o1)1xkZtc}^?)1rEFa7^oXXIycr
z!~^S3Rapj~1#gX;7JE4gmZ2xrYm?k`*H#)5FMO5)LnRY*VOl;_dPX<0)3h>`>f&mC
z92sseqF1waov7Rb{=bgk>{h_@P&@79)Q`R$Fkz9I6_!&to>uz9OgAq?N{?=^wRB=Xch$
z{zgcljZn*jn&VqLLQh`D&i+=y5suLK|NEt7_({=oc1ZI|yQ@!o?&Qbpfp628-A@8K
znLn(PeE^}fI^1%jjv9&ep$YVkeDvt6&YAc299X-Rmg+FYB7?ebq=0-z?FM)4e{e70
zJGXl1yx$L2A9S$#D^M;k)Yc*3fSUt>8G^X3Zfd(B0b}mZ^~RY$A?!2?0QW-{d8Lo3i`1VZoV4e(Vc7LgQd#
zVtV9|vE*pk_Fa+U{_I0lk9PArvt601pZ2W3RUpC2${xaYoi@;eP_l`dHHFz5fMpyg
zya`o0_urN;z;}lm?5mb5cbw*_l+Ffud=>~RQb{-p03f=C+5L{1*W`HA4&KIRhU(mX
zTS?WgVBLGfna<5Dsw7^rAo&(aD+}4Eqbw5W{Xm>O8oOam1)
z#vK&i@l3loucD1qs=DwsgDAF2erM;BE^KXj773Gj?I`_8D5B{qy-6jr+^4V!G2gh$QG*xX>r=fd2iDYfJ*z&{)_Mq^6wW*>Nd|Y|I~-v`H`s-5
zf5oP~`MRwZ_taqS&+;@rA!&7`;VGap;{$9luVIN)SS(hars~hN^sfDd*PnZ|PO
zvKcsG3;#S}pYEe_8pQfW`*2l0m81pqQxgggNU_RSuw-L^V*jxv7Yc8CJD@_V#qdN*
zN=-vrbpORtQ!0xP*HzcoO<^uMAl$CGlT#u-gYwBx*Q6;T0#R)5!%-38?svcYOtDvHJjLUM+nePb
zJ`u%tetvV(ECmTRvnvPdWS=#mrlXG{02kVvx>RGbe+i}#fuESd+Q_EJCKSBlGky72
zT8Dw;^vDh3LL!%OTFD~42|RzF?q@e@g1Y!OAm6xFA(j~5_3VCEF&;jW&%y-Zin`J_
pHgp>h*N?XVIljlyiKmLs0CEoieg41wWBU7Nw&w`r64vg}e*lrHAn^bI
literal 0
HcmV?d00001
diff --git a/src/index.js b/src/index.js
index 99c2e68..8373c72 100644
--- a/src/index.js
+++ b/src/index.js
@@ -15,31 +15,36 @@ import transformMatrixIntoPath from './transformMatrixIntoPath'
const renderLogo = ({
size,
logo,
- logoSize,
+ logoWidth,
+ logoHeight,
logoBackgroundColor,
- logoMargin,
- logoBorderRadius
+ logoMarginX,
+ logoMarginY,
+ logoBorderRadius,
+ logoPreserveAspectRatio
}) => {
- const logoPosition = (size - logoSize - logoMargin * 2) / 2
- const logoBackgroundSize = logoSize + logoMargin * 2
- const logoBackgroundBorderRadius =
- logoBorderRadius + (logoMargin / logoSize) * logoBorderRadius
+ const logoPositionX = (size - logoWidth - logoMarginX * 2) / 2
+ const logoPositionY = (size - logoHeight - logoMarginY * 2) / 2
+ const logoBackgroundSizeWidth = logoWidth + logoMarginX * 2
+ const logoBackgroundSizeHeight = logoHeight + logoMarginY * 2
+ const logoBackgroundBorderRadiusX = logoBorderRadius + (logoMarginX / logoWidth) * logoBorderRadius
+ const logoBackgroundBorderRadiusY = logoBorderRadius + (logoMarginY / logoHeight) * logoBorderRadius
return (
-
+
-
+
-
+
@@ -47,19 +52,19 @@ const renderLogo = ({
-
+
@@ -72,10 +77,13 @@ const QRCode = ({
color = 'black',
backgroundColor = 'white',
logo,
- logoSize = size * 0.2,
+ logoWidth = size * 0.2,
+ logoHeight = size * 0.2,
logoBackgroundColor = 'transparent',
- logoMargin = 2,
+ logoMarginX = 2,
+ logoMarginY = 2,
logoBorderRadius = 0,
+ logoPreserveAspectRatio = 'xMidYMid slice',
quietZone = 0,
enableLinearGradient = false,
gradientDirection = ['0%', '0%', '100%', '100%'],
@@ -148,10 +156,13 @@ const QRCode = ({
renderLogo({
size,
logo,
- logoSize,
+ logoWidth,
+ logoHeight,
logoBackgroundColor,
- logoMargin,
- logoBorderRadius
+ logoMarginX,
+ logoMarginY,
+ logoBorderRadius,
+ logoPreserveAspectRatio
})}
)