From a06250f07f4addd0d3cd92157010d88ff9ce3456 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 2 Sep 2003 04:33:12 +0000 Subject: [PATCH] rest of ffmpeg --- stepmania/src/ffmpeg/000 StepMania README.txt | 22 ++ stepmania/src/ffmpeg/ffmpeg.patch | 198 ++++++++++++++++++ stepmania/src/ffmpeg/lib/avcodec.lib | Bin 0 -> 94196 bytes stepmania/src/ffmpeg/lib/avformat.lib | Bin 0 -> 50414 bytes 4 files changed, 220 insertions(+) create mode 100644 stepmania/src/ffmpeg/000 StepMania README.txt create mode 100644 stepmania/src/ffmpeg/ffmpeg.patch create mode 100644 stepmania/src/ffmpeg/lib/avcodec.lib create mode 100644 stepmania/src/ffmpeg/lib/avformat.lib diff --git a/stepmania/src/ffmpeg/000 StepMania README.txt b/stepmania/src/ffmpeg/000 StepMania README.txt new file mode 100644 index 0000000000..660ea51cba --- /dev/null +++ b/stepmania/src/ffmpeg/000 StepMania README.txt @@ -0,0 +1,22 @@ +This directory is only for Windows. For other OS's, install it yourself +as usual. + +I'm not adding this library source to CVS, because it's still in heavily +active development and there's not yet a stable release, so it's too much +work to keep a copy here, and because it's easier to create diffs to send +upstream if my copy is checked out of the original repository. Check it +out yourself if you want to recompile it. + +Compile with MingW. +Configured with ./configure --enable-shared --enable-mingw32, with the +ffmpeg.patch. +upx packed, to reduce CVS sizes. + +Changes: +Implement shared compiling for MingW. (sent upstream) +Fix localtime_r. (sent upstream) +Don't include windows.h, to make the DLLs smaller. (sent upstream) +Use -g1, not -g, to make the DLLs smaller. (not yet upstreamed) + +TODO: Don't compile encoders, audio decoders and unneeded video decoders. + diff --git a/stepmania/src/ffmpeg/ffmpeg.patch b/stepmania/src/ffmpeg/ffmpeg.patch new file mode 100644 index 0000000000..a8b0e926d4 --- /dev/null +++ b/stepmania/src/ffmpeg/ffmpeg.patch @@ -0,0 +1,198 @@ +Index: configure +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/configure,v +retrieving revision 1.101 +diff -u -r1.101 configure +--- configure 24 Aug 2003 16:02:39 -0000 1.101 ++++ configure 2 Sep 2003 03:51:33 -0000 +@@ -191,6 +191,10 @@ + ffserver="no" + network="no" + mingw32="yes" ++LIBPREF="" ++LIBSUF=".lib" ++SLIBPREF="" ++SLIBSUF=".dll" + ;; + CYGWIN*) + v4l="no" +@@ -884,6 +888,9 @@ + echo "TARGET_MMX=yes" >> config.mak + echo "#define HAVE_MMX 1" >> $TMPH + echo "#define __CPU__ 586" >> $TMPH ++fi ++if test "$mingw32" = "yes" ; then ++ echo "TARGET_MINGW32=yes" >> config.mak + fi + if test "$builtin_vector" = "yes" ; then + echo "TARGET_BUILTIN_VECTOR=yes" >> config.mak +Index: output_example.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/output_example.c,v +retrieving revision 1.5 +diff -u -r1.5 output_example.c +--- output_example.c 28 Aug 2003 23:05:25 -0000 1.5 ++++ output_example.c 2 Sep 2003 03:51:33 -0000 +@@ -30,7 +30,7 @@ + #define M_PI 3.1415926535897931 + #endif + +-#include "avformat.h" ++#include "libavformat/avformat.h" + + /* 5 seconds stream duration */ + #define STREAM_DURATION 5.0 +Index: libavcodec/Makefile +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/Makefile,v +retrieving revision 1.104 +diff -u -r1.104 Makefile +--- libavcodec/Makefile 11 Aug 2003 20:27:17 -0000 1.104 ++++ libavcodec/Makefile 2 Sep 2003 03:51:39 -0000 +@@ -7,8 +7,8 @@ + VPATH=$(SRC_PATH)/libavcodec + + # NOTE: -I.. is needed to include config.h +-CFLAGS= $(OPTFLAGS) -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE +-LDFLAGS= -g ++CFLAGS= $(OPTFLAGS) -Wall -g1 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE ++LDFLAGS= -g1 + + OBJS= common.o utils.o mem.o allcodecs.o \ + mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\ +@@ -158,7 +158,12 @@ + $(RANLIB) $@ + + $(SLIB): $(OBJS) ++ifeq ($(TARGET_MINGW32),yes) ++ $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) ++ -lib /machine:i386 /def:$(@:.dll=.def) ++else + $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) ++endif + + dsputil.o: dsputil.c dsputil.h + +Index: libavcodec/os_support.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/os_support.h,v +retrieving revision 1.6 +diff -u -r1.6 os_support.h +--- libavcodec/os_support.h 15 Apr 2003 22:29:37 -0000 1.6 ++++ libavcodec/os_support.h 2 Sep 2003 03:51:39 -0000 +@@ -12,7 +12,8 @@ + + #ifdef __MINGW32__ + # undef DATADIR /* clashes with /usr/include/w32api/objidl.h */ +-# include ++__declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds); ++// # include + # define usleep(t) Sleep((t) / 1000) + #endif + +Index: libavformat/Makefile +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/Makefile,v +retrieving revision 1.46 +diff -u -r1.46 Makefile +--- libavformat/Makefile 28 Aug 2003 19:53:47 -0000 1.46 ++++ libavformat/Makefile 2 Sep 2003 03:51:39 -0000 +@@ -6,7 +6,7 @@ + + VPATH=$(SRC_PATH)/libavformat + +-CFLAGS= $(OPTFLAGS) -Wall -g -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE ++CFLAGS= $(OPTFLAGS) -Wall -g1 -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE + + OBJS= utils.o cutils.o allformats.o + PPOBJS= +@@ -80,7 +80,12 @@ + $(RANLIB) $@ + + $(SLIB): $(OBJS) +- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(AMREXTRALIBS) ++ifeq ($(TARGET_MINGW32),yes) ++ $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(VPATH)/../libavcodec/avcodec.dll ++ -lib /machine:i386 /def:$(@:.dll=.def) ++else ++ $(CC) $(SHFLAGS) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(AMREXTRALIBS) ++endif + + depend: $(SRCS) + $(CC) -MM $(CFLAGS) $^ 1>.depend +Index: libavformat/dvcore.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/dvcore.c,v +retrieving revision 1.1 +diff -u -r1.1 dvcore.c +--- libavformat/dvcore.c 28 Aug 2003 19:53:47 -0000 1.1 ++++ libavformat/dvcore.c 2 Sep 2003 03:51:39 -0000 +@@ -21,6 +21,7 @@ + */ + #include "avformat.h" + #include "dvcore.h" ++#include "strptime.h" + + /* + * The reason why the following three big ugly looking tables are +Index: libavformat/strptime.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/strptime.c,v +retrieving revision 1.1 +diff -u -r1.1 strptime.c +--- libavformat/strptime.c 27 Jul 2002 02:56:22 -0000 1.1 ++++ libavformat/strptime.c 2 Sep 2003 03:51:41 -0000 +@@ -46,14 +46,8 @@ + # endif /* GCC. */ + #endif /* Not __P. */ + +-#if ! HAVE_LOCALTIME_R && ! defined localtime_r +-# ifdef _LIBC +-# define localtime_r __localtime_r +-# else +-/* Approximate localtime_r as best we can in its absence. */ +-# define localtime_r my_localtime_r +-static struct tm *localtime_r __P ((const time_t *, struct tm *)); +-static struct tm * ++#if defined (NEED_LOCALTIME_R) ++struct tm * + localtime_r (t, tp) + const time_t *t; + struct tm *tp; +@@ -64,8 +58,7 @@ + *tp = *l; + return tp; + } +-# endif /* ! _LIBC */ +-#endif /* ! HAVE_LOCALTIME_R && ! defined (localtime_r) */ ++#endif + + + #define match_char(ch1, ch2) if (ch1 != ch2) return NULL +Index: libavformat/strptime.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/strptime.h,v +retrieving revision 1.1 +diff -u -r1.1 strptime.h +--- libavformat/strptime.h 27 Jul 2002 02:56:22 -0000 1.1 ++++ libavformat/strptime.h 2 Sep 2003 03:51:41 -0000 +@@ -29,4 +29,19 @@ + */ + extern char *strptime(const char *, const char *, struct tm *); + ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#if ! HAVE_LOCALTIME_R && ! defined localtime_r ++# ifdef _LIBC ++# define localtime_r __localtime_r ++# else ++/* Approximate localtime_r as best we can in its absence. */ ++# define localtime_r my_localtime_r ++extern struct tm *localtime_r(const time_t *, struct tm *); ++# define NEED_LOCALTIME_R 1 ++# endif ++#endif ++ + #endif diff --git a/stepmania/src/ffmpeg/lib/avcodec.lib b/stepmania/src/ffmpeg/lib/avcodec.lib new file mode 100644 index 0000000000000000000000000000000000000000..c00fbc0a871434d700a290dbdec604d935c24113 GIT binary patch literal 94196 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 literal 0 HcmV?d00001 diff --git a/stepmania/src/ffmpeg/lib/avformat.lib b/stepmania/src/ffmpeg/lib/avformat.lib new file mode 100644 index 0000000000000000000000000000000000000000..0351e7a6088b896075580d30e0b66f7486a1b31b GIT binary patch literal 50414 zcmeHQd7K?AY0l(_OD#)wiy$uH#kD z>vt;F2ZrZPdi%8SZ^rc5GiFbpz2lCvL-};$oH4y`#*XTK$t0o)_Yf_r5bb#&(Z{YQ z+6yv;Rk%JuwD&^bMvZ-@5-A*xE937P`z|9=cnnuyzxf8&;tG6Xioub%GS+JBzaNpp z1GoZ(cN$!UE3jlMgX3{!Jf~3vp90cX1p4P-3rIz%6L|zgm@Gl z#uXTv3tXYG6lqpigDYbl(Qv=PH*f{YeFhic3M|{)0A;g`fqXKSFEMx!SD>Zd zxkL(=5RGkSfc%az))B2h+E<`VS3++k(z*(HR6sgcF`m>|y_iS=Xv07Rnrd()u8e0i4n{f@9>5hi1ZARdI8v-@pag9$eAX2yn zSKu(zr^4~L0-qtE0z67|ILhvD=rE4h!T|Mm#5#>5_ai#;exlD#2hP-3Gm&Tw%5lw) zHICYuNC9~`3OITj1ElR};Fw7U2ja?jO5<4MO95qkEN~psqHrUw!13D}fcJRdgpCaj z#+9*F9xiNT?`GM?7>+#r#{Be(*eM>#6oiYsvH z)&R=y)MtoJTLwUfar!)iYjFk6Ks}yuw81)}Gxs+@+Rg;Nu)D!+xB_P(eF{k1S-{zo z4NwnfBRu0A82gDcW?-Z1be(fJF2n~A=(EpR%~1segYfZq^Z zxEQ#P=%PO00-}pI0}caFo|m9bE85T!peyxCB?=>d6L3+trN6HLgJ&DqN2%@Z~AMvA}a0*H(xWkk)H~ z>kzL3;=B&H9`Pz5&g&V7mvO@agKKaFZbZBai2FvyI*pt5CsKF-SK#L928jD+;1Q>=KT!F7lGgyNwW39$*dl4x-fGco2%KLVdH{*`Y4Nxa{FrL=9bC^is zAzXpG<``UoD{%Lg1_*OE19io?XCH%ma0Tu~ds8@-=)Ot7!G*%EANt6L7cDOA^8P*E zw`kXoEdKDKLUF~=XuVo&QlYT>o(mVIHRuqlq7@b|*mL*Y3cI{_@p}=ZFt~c8Sg#jX z7m9;}aF?q!2wO<2qa%gYgT>WWuQ;$nq3qaIP!^3QM2(?Bd8CX47TulZDUMkWdt>A) z3ImnVMhU*Pv1VbYTqz-NmeA=Bl}84xx+x9>$dHC18qIpCSVh30QN^GF1VXQ0FAnHJ z;)tCi^f&o53fdKFG)i0$MnO58|I$*kS+44=x_jq4Tv}Ba9IMt;Xzy_TBc+vvT5({x ziC;Pc9i2NB3+q^?(;2OmMr=vif=|hucC9|zk9w*WmzD~)+L5~~aWagqTVGiwOdxh) zP)(>`rco)E&QM1bfl{(=p|!N!XqM`QVx?l@l7h5eDs%Oc2@v{Zgbeb6V(}pZpLEF4 zv8HPIzI0sBgqI78wuJhx7po;?uAy?46otCYhHv*u(+Qm3%6hqpdgVw}gn>JuHH;c6 z)rFcBB=meG>e!4sq1CJx(fDL^PGU97gQWrFKy@rDgv0rlMufk2X#asx4&IOMu321) z;*wH4eAb5wS}_nMb<5~Ey&Aic8sLyB$|-eLqHzT2sN19uxI3-SU4VPi0*CQmfo`@@ zs`gi0#SNxKUUzJ;JgRHB&?p~(YG&<}(CH71)=P!KQU#4nsRr&)OIHn|Q#!IQgsij* z^*PYgR4S%~#KmRh{2&L4THy3_?_(P)C_;hP=r&ijmv)|xKytf0DL^SqA?mR9LtX{nEbd!$r=l+f#I-BgGSu?d5L z3u?ZEW<2C?g`deC`^oxO%A9Z$PTz`f`YBRs`d0X<)R=(g-umKkMXfhS2S)K$^1=~r ztRrL9e!Q@nr3RNb`o*-=hESs*Bw5v&8U9$O)u}g{$zj`2SqX#JxKvLxQLUazZv{=< z4gyT*$_n304@rmf_Z>6*y~FsAj@4JWmL?s>Up>0Rqod39&`dwd-ks7yng>b^v`wMu zWGU@BI=W(mn~3LeGOev%45b;fso?LV&&)pS!*|kWhnd!g@1)Oc7l!XbpTgki82WY_ zbatN;2)(hPA%1tN6q$SByPErM<)`kvkItoSU|J_B^V$`cYkenuY~CuRFmIKT&6~dS zVK5FoKr`w)@5Ap#+wXCzrQ2wgF~bNO-clB2G-oAO{g%J;k(g(ay@JPc=@{CKd+UZS z6IyA6j9M?0No_s!PDGm!YW?Avvr{uIB}+V)ko6@?Ldg<(UAX0`*vJY1lHxYco1HA`6Y zT9}Mwl;6Jmx~jT669?R?t_y=)$g1CDoun+KU96%<=3$-CcCwT+wETvsdr=;OzDeY!|C7H{Hlclu>%m_uKq-kYo?Z!YlZY#^sPPLOpvteWz z+Noy;+D4Y4eLzM^j4Z8<33a088%--qYB!gs%iGIR+V$e{WZW3J8(C6&g{wDT-d^Uk z{oo5~-eLS}GgDo2E%j2W;?*!i&2Q4mrKPn7rjFGyjQ(w$N@hA{1cicjcz=|aUJJyq z1PdGJwxE|1hWhmZ9(7nn?FuwfsX&B270wZaNu(P}YE`UO!oVO*T1pZ;%cBKu0|~bdJ~CFRB%580S9ddpDp)DQ`ZC@?$hN%K zF=>e&`qqVxlt@j@pr?B}tdtnd{uU`2sA4IyxH36zt66zsD8usVSc?GKBO^p(#%x}v z4Tnk`mG;OEfjMb*2zX?Ln3JhKCrfv%ReH2XM(ps&PLKA;3Xz$fv2=Qtwy2q<)zxDd zH)b`TaxFbyuZ^^br`AG_vHk!*$~AjqS_(UB*kw_2zABF6#_VJT0 z?dD0Bzms9a{Lv~TCX`ByHAg!IOS(mDW~!+)f@!Ccs0oF?^WlanV~t_AcflH=#B1t_ zCTqwkr*_-i%PFV!vALI1PWC}DW6J68Jdb*7vxmCzayj*6Z|T-rb$*c5M8n@XpUl1u zdYLawx8U!WSu#W>ZZt4WYHzfh*UL=rUKr>n+=p(X)hyOcRvZ4-`qi;p0)GTbq7;wsbB&3Zd$b|}*)3^`y3p^Dqk z59?Vr8n^7K1iV&=wP$%RLc&+Sv#h^duv9XUQGF{y*Xrewrp>B#2>(W@gavyQjlPwB z%gflv)PCw#_%%zsF{k|Wt@q<%^2<}K5=uhN%%WaTNh3?8dVQ?cRL_f#&lg0p9N6uf zn|Fm_c}G2=1lZfbX6L{?VF&XuqDinnSp_@+EZiG5 zFThmTi5w369ay$6(PO~;{a{}MO!)-tz<{;Dez1*s0C;BsHax&qOJJV`JO?Z*B2HkR zexmOII}gBq2bekt8!zBlU|EUiVPNhMY=nR*OJPR_tONRCt>@@=07GU})?4*EAYOw7C9s_pyBy4to?dtFYHf+GQ5O@Tb z+l0Lnu-O>W0IUO+tU%g~n@)!+g84uI_xu*s)jBMAHqn13M37MOYv z$_jV}SaLAR3YdNfY{P&J4~5Ml@HnvG(oA^v}YM44AkE`2c0K%)HU!Fu;f_e2iWB})HAT{@dyuWd;;tV zfwe&YiKr7`{z)h+V7rrHiw10R3i1v-4Gew`Wd@@fR^G-*5 z0j8b-+dp6(u>YBe8`%8|uyq2qJ4@TSO+FiW1J(ik=b&zZx#yxjfGxg=`T(8*hR;Kp z01M7X+JJ4pgggQpU4S+W{03NjA?%odzKhUqfXyz3ts}4&SaJ#S56rz3?G>1M8F+yw zfkl@iFThq;z;+P$4={Ws(L=zztB@98^3~u09tY-MgK`F@d>QQ-cn+vsi}-u+Q zThSY6YkDJXLvNyO>CLnqy@lRNZ=>z$?KGWc&`jEa`e+u-rX6Vxy@TFK@1mXP-87fp zL-Xjpv@^YrcA@vveEI+_pk3*Mv>Pp?57F-QVfqMtlort*w3zm!kI~0zFWQ^-p?zsT z`ULGy1zJKy>Zbu3q!JC$QW~Z*Eu-aBp(>5gDAnkbRHp_tX^d9TN?Jv$=>Yl^9Y_b! z!E^{6N}r~~@VFgLN6?Y>ZBL1)qz z=qx&$&Y^SZi*z2HPhX-7=t8=PE~ZQ9Qo4*Trz_}6x{9u*Yv{{#EnP>~(+zYZ-9$Ij zEp#h=g>IwU=?=P+?xMTt9=ezAqp#Ba^fh{bzE0nuZ_>Bu+w>rPhaRHu()Z~5^f3K^ z9-$x7qx2*CG5v%dqo2~x=;!n}{eqsLU(&DW*Yq3uE&YyuPfyYx=#TU#dW!x`Yw0ia zH2sy<(ckFr^bdN5{z=c$zvwyoH~oj6NA*vbFmb~8YhBlQ>l*j9ovdrF>3sF;>z3=Z zhPv#e9(Dblov6EuO|7lJCdO9_u{ziQgYEHHUADBM#JDfR;<8iQN-nM!xE?!3rg%%W{g{{@vb(X6*hu-4gFlqJfer)4Jv}IS)Euf&#I-%l+-TjB$U;X zS4ufy8dT(Ei)6KzllumGSf9hrPA4Ip1teu+IYuk;BmhD;>5W>;>DXZDlr)g@9ytx) zT!0*=ZB92dWOHJ@B&#h^|4dZ`%=ndiGgE}t@}HIrIpe0Mo;2!fNq$|#0rf^8&jq9TN+7eOv1;;Rmi*eex`)YkQU}K64IJounf`>jmI3wglx;;Cl#ipsmNds zqn%`Id5m$AVe%N+B*Ww}o=JsinbSN5Fsayb7`7zCopun zhrxhN3~RiBMjqpjWNcBR4x`*_I}S^e(@G;yZ*7+msO2!l2=vvWd``29AfPg?SdY;} z5I~PZoPk7ZzxHh&bX?=LanPaDb`4VgKbr+U{HTl~(l!DxmH3~{0!jxX3}v%m8V)*5h#5#sOYm^wF%I z9{TlQzhAT0<9qsADYkKMHCpY_8~@h(@mhg*^t36S+JsLEGqy8Z?yLK-LoN2tg$9qr zQ(L*Af7XV$&@j8;p+wH}IBP@6joqP^d)gwRM)vNt*WlFqE$dJo$yK;B>w_f|x&Hm; zFs#~#j%^})_4RKUOI^P;ETk>=f3*fbLRrf_ESJ-C^-hiK=IYpjE!s}DZ^bEfx0=c+ z%{q{talRa?>9tc9x)bBpq4Q{6YNZqov=?^>+^>$pLmuchPCeUGM{ZR+NF0~XS_MT& zBM#O-Ay$i=X5r5|?P`y5%hgUP2xp^#PnyF-l33eBAhmdzaeUdWXF^AhuFOiNbK4oX z6ZlN%0B+qfSh0k|uT}bXXjUraY2EO6uX+*qb;jTbE|$rXYl|#Ottvto9Gtao-6Y_$ zYlSLk#;I4RgzJVZ2#>Ks;-U*z36)RcXsRwLTa?hy0^0zbz?G$2;`8S}TOagHt>3Y# zX3+neWj(dtCJtrl42X3)b*p=Bxi)7z*yKscVCgM5ei)oJ9FhkM#rl?7^%8Ek-X&yi zrHeayZJnv_{J}rAOw=-7PO^8-%u)%=xJKQp5e?sI8k;#CRIgdFuO7kZI~y^21apc` z4p9736W^&4M`XeBQr20u%q1m%V2mqAEc=KPU*ez^&u4Wl`k8I!K`VCvkXExq) zheOOUh3sP?!PyVf^7Kgw^@?nDTqC(UV2?s%9=8b2Rp3cX9-z>Dnp*`haRpL73XwR( zAdexWC+g{A1#T+l%*54vNEnD)lW0BV(!OG{r37M{rQD_?QuoecJDgOppR~lbGy*g`Sk|A-1(*k@k$>)!eH0h=O)Z?^@~jD>v6rhwbKse@b;TSda9wM-b9vD z;9n5z*)mO@LOlu2l3Kak?2V&v5;;*|4{cq_cRpQQP2p@s`}+xja(k;#^ZrQ>|NX#U zspuiU9oOr(Nb65oO|l=k+J3N7;qOhZ?;Ddl&eS%S)21z%v~a=(wCV@*-}7f!Tx~?K z2!rL#OD1fHyU5>U_)R3(X07iJimc23sjIuJFJMpow;wF^k1gGL4@>es+*FW%`8SUy z@4S5(r=*Ho&$RN*aC0^E?lrm_z&($q-(~b>TfI$i^9!NJ@_97vE)*Fo)?Um`+E`ZF zw)Be0FM^OG+ZWL-{gNAL%<<923;vHQlJbM6%hQhi|sAWY|hn206qAR?^2h5O|$gUc&O% z^MB@#<;kX!ryrR)XNE2|(U1HP1hH~E)|7+2h;o}{ zW!xOUV;$xyp0hsd#d_bj4x!h@^37AGQ$gLu*4XzBQ>Z9abOU%u7f#?FnyZdGo}_i1 ztTk%;UC=ixo9)$Lng~9yIs3d0ncNqT!+dQCrVW@$ep4}^l8!v>vM<8)0?T9#f@I_* z9l4n7i!@PJuR@-<`}HeoGUjpAlI@@pJez}qUlv$s(W8WbMmqB3W>#NzTi6N={Bq%s zH>MT?B}v=mH>*YKdjr^bG{TJOmBxUw?G_))CBK^;r(R=3xx%I}pp=e0<}Y5;mZcj$FBF(Mq_FdZ}T; z*k3Ik%ecq!oJD#L9@TN4+|qPFB^|l)G$;F6n*x@X878srEu(M0RYbUWSkAc;X2ut+Zt?}8pe$MfPhpw^3-08^A#bd+z5~~U9CkP zX>u)!os7=7B4dzON-ncX9+0(PgZ9S{61^4=toRM5b0#)n0y^o)Rd+4&_9ig#dplqY zc6cOH`+du-2=5jt-j>a#?b4myqI9k5x@T&pWRpMh%Gis=RTa-^s=Yg$_R2Zj`n>7= z#(=Et_BqQ=A`?&l>%heDY<35(GrrikWt!&mr#k{F>B#d0#F+Sfh@AP2SQ&ZHT5>V9 z=v%mLY{fGkz02#)q6B2^*I4Aq=8?OwZLoXF0ikr{%3Wks%WrwXhYf2Pd;3pXUu3NG z#*m8__yaQO$d#{1t!?9LjTeW()d0%T$SH_1-G*=^D&MRY%w0=KA+z?>QnyK zPCuZMjy&b(mhBQf$273KSuv%I5+p@Xp1JrU^W*I-U(({CBgWWU<}HR%no|U1?YEG~ zbM{ur)`i()tk-{=;R;PbI?G#Zbg+Gbj|a6u;|LtNT1w=7{dU6^Sg{0|la5?$kvHgc z%NCf(NQQAd;Vt@q9;?qVeCZ}4IdkPIQii-GBR(syZG|L3S8I$H^aY#xW>r8CIP&Bz zw(8o)JwL3DG8ZV@f2Je7@hroH*)eaVCSEYIIP>Hw_JqwgC8$Tl-58_B*mexqvZknQ z=PmMt%?a4LG)9d)Veeo*Yl9{;(taz9j0kv}&i}wcK+}F3Z1LXYS?{~J4f<2D0g-g% zYJn}*33*Jqlg*D>BGK(oo8C#5_WQ!vYVx}+XVM5Tpp=eWxoq)7^GJBEWz-pLnay@N z`yw^?9>wX79LuQNZ;=t6d5)*^cS|fk?{z%N=A&o%+1c?ZW0=l(TC{v#-+7jDH-@K#Lxj zXSlm5Ht};X0hM&*%2$MGp=yodhh=2sZMTouTGfXPlQT-~8Po2HN!X-!#uQm!`LJRN zKl2cfwcXxhPuNEiY}TBMSKagU?Njm%W`a!hQr-5F2p z8Q$CSB+jOE#u$5|_OXo0XUCZLjzJkM@y{dI|B>f&fH@&p%EIr7hz@t53XPR7wwL}rlvmM3E( zBw6#6UteUcd_eKYLuNAe_VX0$l?FXmH*FPKlp7Be7|jy%tF zY(KHW<(K}lm!t@Kt~`9PRj4ZG%^xi7j3+Wq8{vG3?~nyV?YH*G`)ib$>^Ax%aqyF+h%If7xL=$C%KmVnO_-o`>i3;((5Wmx;b>Ew~cT$JXd$hFVa&qRr%S2 z(n0aH-S%Q{$uY~LSH#^h?A|f1NHE%i%e`Yb;#(BzxR&u zfRNE0uJ0Y=r$R<|bia3u2ZoI9!vMWwJSb#zpB?BOg+G@nf99pj-1 z#@_b;pH48^--7L39uG?}+K)-}j`1@IM*FFX-Z35?GP)08^p5d}1Y_^tR!1fn?eDbq zE{~s0FxpRq^p0^&lF@vCq<4%*B^k}_oO8OGl4oSv*^ zZQ={ZL8hdm)7kYYn#unFwv4>(S#NCC_BqXz`d#gSulYc5ufr%OilU8;bpt95pUtuy3Ke?_}Pu1KAo zDe{%xtdP8U>MUjj`~{IK{^+-idmK9mEp{vTM9WzsPwHf@_)u79tg~BK&GOldvy-fe z&yaP-9NPy!M=-mekPqmjBTqfX*v?I|@fXx2LEy;6)?z)4Pn3O8vcVL?ex5BLZ2Rep z+2Nfh81>?s{rFploGqS0wsJkc73YkgFat-fl5JsiJq>(cvd?4qOV&Xqr6Uht%xdid zmB;Wqc{2X?`+!(~eIe&A_`rT=T(RBdi9R~461V@XNBAyNHP_$Onv1oR%M~AfexO+4-f>t_b)t zH$U3vi}Wd1TE6O7%M8lanx{{R?O|RO@?~bQn|xPWzQ&B%{G)_f71&L_YeK%B=kLpc z4@U1j&)>BnUsv)Mdk0x`Xlxm_`qYh61j6e-O+6xT?1OEbcEr{b%1m9MYGC}MNe-d$=G2va=% zaUxksfg?|U5@WgBvEVn4I%8=ue|;4g?ollGW_FLy5Zvo|dTQ}}pXce=;yJd;@Kwpv z9oznh-Shp9&3{5YXcBGrhOznE*Bo1~PZB)fn7VM1Akss8-SPwFF1RzGGRscUmFR<{n};_iG28we8p% z!FTy>3!ccbT-&`-jPH8^Uzf&$E!xI3lp%lL8lQDEA3w}Kz$#0()A#(tiVuUA)KQGK zSt4(cA23VeS1x4y<5=BnF}`Ih-A5Fg`wfkNNIG(rU4-X{n#cY?hm1NHGUeilJX?<% z9{uYd0ZrR&J=XvI$nfaj7U><&j}?#o<&qA0BK7kV=HZ{@P@AAZl?0Al^%Jq6ek|ZA z@Xw6|nUan?T(NbGpN3ra$4n$eK%R#$b}r#(mQVj&OlLfia|u7UJm$A(0;2X?d4%b4 z$E1JhrbDL4bNdU&#J{7{8BgqMvQIdktY5_Gj5pRcekpke!VF5*PTSzGBu|H5t%}V& ze(iYluNTQYjN=W}Vh^6bP5T?k)P-G~SS|h5aq(_{hqcsVmv&2V{Lb;1pLGg~PdYkn z55IRz>bIF>)Is(-<$2Qc@NeJtjOP!INB!DWM?A5y>>n);cN6ZXv;w-ed)iqo-izCS z>rav|`Qu>$t#st6wOB5n;t@N)^@E@4k__W`mLt9VpKUJFk5}8J8QZg8D|ym`jJCOA zW%!qXD|3+1K3}AzJe}ebzsD9-opj`BDY5bHUoC6;!(VOZF2=LY@}#?~ws~TW(vhoWL}m`pSe`C?IUx3&{gZikea8PP zbLU^Qj`UT}TE6sjzwMS78*}_i@zl%B(jMgl5+7-4yPjI~8&kmX9P@;~n<%3XUfFrt pMC|GMH@{abSB>|wG7SLQF2@+>e^Q)XT7inJRzGhzBU^)${tq#41VsP< literal 0 HcmV?d00001