From 3e8eb396d7cfec8a96efb78719c0556f1beccf68 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sun, 29 May 2016 11:37:26 -0300 Subject: [PATCH] Finalized DynamicFont implementation -DynamicFont uses Freetype by default -Editor fonts are now scalable thanks to this -Cleaned up documentation browser and added fonts for this --- .gitignore | 1 + core/hq2x.cpp | 2636 +++++++++++++++++ core/hq2x.h | 19 + core/image.cpp | 40 +- core/image.h | 1 + drivers/SCsub | 2 + {tools => drivers}/freetype/SCsub | 2 + .../include/freetype/config/ftconfig.h | 0 .../include/freetype/config/ftheader.h | 0 .../include/freetype/config/ftmodule.h | 0 .../include/freetype/config/ftoption.h | 0 .../include/freetype/config/ftstdlib.h | 0 .../freetype/include/freetype/freetype.h | 0 .../freetype/include/freetype/ftadvanc.h | 0 .../freetype/include/freetype/ftautoh.h | 0 .../freetype/include/freetype/ftbbox.h | 0 .../freetype/include/freetype/ftbdf.h | 0 .../freetype/include/freetype/ftbitmap.h | 0 .../freetype/include/freetype/ftbzip2.h | 0 .../freetype/include/freetype/ftcache.h | 0 .../freetype/include/freetype/ftcffdrv.h | 0 .../freetype/include/freetype/ftchapters.h | 0 .../freetype/include/freetype/ftcid.h | 0 .../freetype/include/freetype/fterrdef.h | 0 .../freetype/include/freetype/fterrors.h | 0 .../freetype/include/freetype/ftgasp.h | 0 .../freetype/include/freetype/ftglyph.h | 0 .../freetype/include/freetype/ftgxval.h | 0 .../freetype/include/freetype/ftgzip.h | 0 .../freetype/include/freetype/ftimage.h | 0 .../freetype/include/freetype/ftincrem.h | 0 .../freetype/include/freetype/ftlcdfil.h | 0 .../freetype/include/freetype/ftlist.h | 0 .../freetype/include/freetype/ftlzw.h | 0 .../freetype/include/freetype/ftmac.h | 0 .../freetype/freetype/include/freetype/ftmm.h | 0 .../freetype/include/freetype/ftmodapi.h | 0 .../freetype/include/freetype/ftmoderr.h | 0 .../freetype/include/freetype/ftotval.h | 0 .../freetype/include/freetype/ftoutln.h | 0 .../freetype/include/freetype/ftpfr.h | 0 .../freetype/include/freetype/ftrender.h | 0 .../freetype/include/freetype/ftsizes.h | 0 .../freetype/include/freetype/ftsnames.h | 0 .../freetype/include/freetype/ftstroke.h | 0 .../freetype/include/freetype/ftsynth.h | 0 .../freetype/include/freetype/ftsystem.h | 0 .../freetype/include/freetype/fttrigon.h | 0 .../freetype/include/freetype/ftttdrv.h | 0 .../freetype/include/freetype/fttypes.h | 0 .../freetype/include/freetype/ftwinfnt.h | 0 .../freetype/include/freetype/ftxf86.h | 0 .../include/freetype/internal/autohint.h | 0 .../include/freetype/internal/ftcalc.h | 0 .../include/freetype/internal/ftdebug.h | 0 .../include/freetype/internal/ftdriver.h | 0 .../include/freetype/internal/ftgloadr.h | 0 .../include/freetype/internal/ftmemory.h | 0 .../include/freetype/internal/ftobjs.h | 0 .../include/freetype/internal/ftpic.h | 0 .../include/freetype/internal/ftrfork.h | 0 .../include/freetype/internal/ftserv.h | 0 .../include/freetype/internal/ftstream.h | 0 .../include/freetype/internal/fttrace.h | 0 .../include/freetype/internal/ftvalid.h | 0 .../include/freetype/internal/internal.h | 0 .../include/freetype/internal/psaux.h | 0 .../include/freetype/internal/pshints.h | 0 .../freetype/internal/services/svbdf.h | 0 .../freetype/internal/services/svcid.h | 0 .../freetype/internal/services/svgldict.h | 0 .../freetype/internal/services/svgxval.h | 0 .../freetype/internal/services/svkern.h | 0 .../include/freetype/internal/services/svmm.h | 0 .../freetype/internal/services/svotval.h | 0 .../freetype/internal/services/svpfr.h | 0 .../freetype/internal/services/svpostnm.h | 0 .../freetype/internal/services/svprop.h | 0 .../freetype/internal/services/svpscmap.h | 0 .../freetype/internal/services/svpsinfo.h | 0 .../freetype/internal/services/svsfnt.h | 0 .../freetype/internal/services/svttcmap.h | 0 .../freetype/internal/services/svtteng.h | 0 .../freetype/internal/services/svttglyf.h | 0 .../freetype/internal/services/svwinfnt.h | 0 .../freetype/internal/services/svxf86nm.h | 0 .../freetype/include/freetype/internal/sfnt.h | 0 .../include/freetype/internal/t1types.h | 0 .../include/freetype/internal/tttypes.h | 0 .../freetype/include/freetype/t1tables.h | 0 .../freetype/include/freetype/ttnameid.h | 0 .../freetype/include/freetype/tttables.h | 0 .../freetype/include/freetype/tttags.h | 0 .../freetype/include/freetype/ttunpat.h | 0 .../freetype/freetype/include/ftoption.h | 0 .../freetype/freetype/src/Jamfile | 0 .../freetype/freetype/src/autofit/Jamfile | 0 .../freetype/freetype/src/autofit/afangles.c | 0 .../freetype/freetype/src/autofit/afangles.h | 0 .../freetype/freetype/src/autofit/afcjk.c | 0 .../freetype/freetype/src/autofit/afcjk.h | 0 .../freetype/freetype/src/autofit/afdummy.c | 0 .../freetype/freetype/src/autofit/afdummy.h | 0 .../freetype/freetype/src/autofit/aferrors.h | 0 .../freetype/freetype/src/autofit/afglobal.c | 0 .../freetype/freetype/src/autofit/afglobal.h | 0 .../freetype/freetype/src/autofit/afhints.c | 0 .../freetype/freetype/src/autofit/afhints.h | 0 .../freetype/freetype/src/autofit/afindic.c | 0 .../freetype/freetype/src/autofit/afindic.h | 0 .../freetype/freetype/src/autofit/aflatin.c | 0 .../freetype/freetype/src/autofit/aflatin.h | 0 .../freetype/freetype/src/autofit/aflatin2.c | 0 .../freetype/freetype/src/autofit/aflatin2.h | 0 .../freetype/freetype/src/autofit/afloader.c | 0 .../freetype/freetype/src/autofit/afloader.h | 0 .../freetype/freetype/src/autofit/afmodule.c | 0 .../freetype/freetype/src/autofit/afmodule.h | 0 .../freetype/freetype/src/autofit/afpic.c | 0 .../freetype/freetype/src/autofit/afpic.h | 0 .../freetype/freetype/src/autofit/aftypes.h | 0 .../freetype/freetype/src/autofit/afwarp.c | 0 .../freetype/freetype/src/autofit/afwarp.h | 0 .../freetype/freetype/src/autofit/autofit.c | 0 .../freetype/freetype/src/autofit/module.mk | 0 .../freetype/freetype/src/autofit/rules.mk | 0 .../freetype/freetype/src/base/Jamfile | 0 .../freetype/freetype/src/base/basepic.c | 0 .../freetype/freetype/src/base/basepic.h | 0 .../freetype/freetype/src/base/ftadvanc.c | 0 .../freetype/freetype/src/base/ftapi.c | 0 .../freetype/freetype/src/base/ftbase.c | 0 .../freetype/freetype/src/base/ftbase.h | 0 .../freetype/freetype/src/base/ftbbox.c | 0 .../freetype/freetype/src/base/ftbdf.c | 0 .../freetype/freetype/src/base/ftbitmap.c | 0 .../freetype/freetype/src/base/ftcalc.c | 0 .../freetype/freetype/src/base/ftcid.c | 0 .../freetype/freetype/src/base/ftdbgmem.c | 0 .../freetype/freetype/src/base/ftdebug.c | 0 .../freetype/freetype/src/base/ftfstype.c | 0 .../freetype/freetype/src/base/ftgasp.c | 0 .../freetype/freetype/src/base/ftgloadr.c | 0 .../freetype/freetype/src/base/ftglyph.c | 0 .../freetype/freetype/src/base/ftgxval.c | 0 .../freetype/freetype/src/base/ftinit.c | 0 .../freetype/freetype/src/base/ftlcdfil.c | 0 .../freetype/freetype/src/base/ftmac.c | 0 .../freetype/freetype/src/base/ftmm.c | 0 .../freetype/freetype/src/base/ftobjs.c | 0 .../freetype/freetype/src/base/ftotval.c | 0 .../freetype/freetype/src/base/ftoutln.c | 0 .../freetype/freetype/src/base/ftpatent.c | 0 .../freetype/freetype/src/base/ftpfr.c | 0 .../freetype/freetype/src/base/ftpic.c | 0 .../freetype/freetype/src/base/ftrfork.c | 0 .../freetype/freetype/src/base/ftsnames.c | 0 .../freetype/freetype/src/base/ftstream.c | 0 .../freetype/freetype/src/base/ftstroke.c | 0 .../freetype/freetype/src/base/ftsynth.c | 0 .../freetype/freetype/src/base/ftsystem.c | 0 .../freetype/freetype/src/base/fttrigon.c | 0 .../freetype/freetype/src/base/fttype1.c | 0 .../freetype/freetype/src/base/ftutil.c | 0 .../freetype/freetype/src/base/ftwinfnt.c | 0 .../freetype/freetype/src/base/ftxf86.c | 0 .../freetype/freetype/src/base/md5.c | 0 .../freetype/freetype/src/base/md5.h | 0 .../freetype/freetype/src/base/rules.mk | 0 .../freetype/freetype/src/bdf/Jamfile | 0 .../freetype/freetype/src/bdf/README | 0 .../freetype/freetype/src/bdf/bdf.c | 0 .../freetype/freetype/src/bdf/bdf.h | 0 .../freetype/freetype/src/bdf/bdfdrivr.c | 0 .../freetype/freetype/src/bdf/bdfdrivr.h | 0 .../freetype/freetype/src/bdf/bdferror.h | 0 .../freetype/freetype/src/bdf/bdflib.c | 0 .../freetype/freetype/src/bdf/module.mk | 0 .../freetype/freetype/src/bdf/rules.mk | 0 .../freetype/freetype/src/cache/Jamfile | 0 .../freetype/freetype/src/cache/ftcache.c | 0 .../freetype/freetype/src/cache/ftcbasic.c | 0 .../freetype/freetype/src/cache/ftccache.c | 0 .../freetype/freetype/src/cache/ftccache.h | 0 .../freetype/freetype/src/cache/ftccback.h | 0 .../freetype/freetype/src/cache/ftccmap.c | 0 .../freetype/freetype/src/cache/ftcerror.h | 0 .../freetype/freetype/src/cache/ftcglyph.c | 0 .../freetype/freetype/src/cache/ftcglyph.h | 0 .../freetype/freetype/src/cache/ftcimage.c | 0 .../freetype/freetype/src/cache/ftcimage.h | 0 .../freetype/freetype/src/cache/ftcmanag.c | 0 .../freetype/freetype/src/cache/ftcmanag.h | 0 .../freetype/freetype/src/cache/ftcmru.c | 0 .../freetype/freetype/src/cache/ftcmru.h | 0 .../freetype/freetype/src/cache/ftcsbits.c | 0 .../freetype/freetype/src/cache/ftcsbits.h | 0 .../freetype/freetype/src/cache/rules.mk | 0 .../freetype/freetype/src/cff/Jamfile | 0 .../freetype/freetype/src/cff/cf2arrst.c | 0 .../freetype/freetype/src/cff/cf2arrst.h | 0 .../freetype/freetype/src/cff/cf2blues.c | 0 .../freetype/freetype/src/cff/cf2blues.h | 0 .../freetype/freetype/src/cff/cf2error.c | 0 .../freetype/freetype/src/cff/cf2error.h | 0 .../freetype/freetype/src/cff/cf2fixed.h | 0 .../freetype/freetype/src/cff/cf2font.c | 0 .../freetype/freetype/src/cff/cf2font.h | 0 .../freetype/freetype/src/cff/cf2ft.c | 0 .../freetype/freetype/src/cff/cf2ft.h | 0 .../freetype/freetype/src/cff/cf2glue.h | 0 .../freetype/freetype/src/cff/cf2hints.c | 0 .../freetype/freetype/src/cff/cf2hints.h | 0 .../freetype/freetype/src/cff/cf2intrp.c | 0 .../freetype/freetype/src/cff/cf2intrp.h | 0 .../freetype/freetype/src/cff/cf2read.c | 0 .../freetype/freetype/src/cff/cf2read.h | 0 .../freetype/freetype/src/cff/cf2stack.c | 0 .../freetype/freetype/src/cff/cf2stack.h | 0 .../freetype/freetype/src/cff/cf2types.h | 0 .../freetype/freetype/src/cff/cff.c | 0 .../freetype/freetype/src/cff/cffcmap.c | 0 .../freetype/freetype/src/cff/cffcmap.h | 0 .../freetype/freetype/src/cff/cffdrivr.c | 0 .../freetype/freetype/src/cff/cffdrivr.h | 0 .../freetype/freetype/src/cff/cfferrs.h | 0 .../freetype/freetype/src/cff/cffgload.c | 0 .../freetype/freetype/src/cff/cffgload.h | 0 .../freetype/freetype/src/cff/cffload.c | 0 .../freetype/freetype/src/cff/cffload.h | 0 .../freetype/freetype/src/cff/cffobjs.c | 0 .../freetype/freetype/src/cff/cffobjs.h | 0 .../freetype/freetype/src/cff/cffparse.c | 0 .../freetype/freetype/src/cff/cffparse.h | 0 .../freetype/freetype/src/cff/cffpic.c | 0 .../freetype/freetype/src/cff/cffpic.h | 0 .../freetype/freetype/src/cff/cfftoken.h | 0 .../freetype/freetype/src/cff/cfftypes.h | 0 .../freetype/freetype/src/cff/module.mk | 0 .../freetype/freetype/src/cff/rules.mk | 0 .../freetype/freetype/src/cid/Jamfile | 0 .../freetype/freetype/src/cid/ciderrs.h | 0 .../freetype/freetype/src/cid/cidgload.c | 0 .../freetype/freetype/src/cid/cidgload.h | 0 .../freetype/freetype/src/cid/cidload.c | 0 .../freetype/freetype/src/cid/cidload.h | 0 .../freetype/freetype/src/cid/cidobjs.c | 0 .../freetype/freetype/src/cid/cidobjs.h | 0 .../freetype/freetype/src/cid/cidparse.c | 0 .../freetype/freetype/src/cid/cidparse.h | 0 .../freetype/freetype/src/cid/cidriver.c | 0 .../freetype/freetype/src/cid/cidriver.h | 0 .../freetype/freetype/src/cid/cidtoken.h | 0 .../freetype/freetype/src/cid/module.mk | 0 .../freetype/freetype/src/cid/rules.mk | 0 .../freetype/freetype/src/cid/type1cid.c | 0 .../freetype/freetype/src/gxvalid/Jamfile | 0 .../freetype/freetype/src/gxvalid/README | 0 .../freetype/freetype/src/gxvalid/gxvalid.c | 0 .../freetype/freetype/src/gxvalid/gxvalid.h | 0 .../freetype/freetype/src/gxvalid/gxvbsln.c | 0 .../freetype/freetype/src/gxvalid/gxvcommn.c | 0 .../freetype/freetype/src/gxvalid/gxvcommn.h | 0 .../freetype/freetype/src/gxvalid/gxverror.h | 0 .../freetype/freetype/src/gxvalid/gxvfeat.c | 0 .../freetype/freetype/src/gxvalid/gxvfeat.h | 0 .../freetype/freetype/src/gxvalid/gxvfgen.c | 0 .../freetype/freetype/src/gxvalid/gxvjust.c | 0 .../freetype/freetype/src/gxvalid/gxvkern.c | 0 .../freetype/freetype/src/gxvalid/gxvlcar.c | 0 .../freetype/freetype/src/gxvalid/gxvmod.c | 0 .../freetype/freetype/src/gxvalid/gxvmod.h | 0 .../freetype/freetype/src/gxvalid/gxvmort.c | 0 .../freetype/freetype/src/gxvalid/gxvmort.h | 0 .../freetype/freetype/src/gxvalid/gxvmort0.c | 0 .../freetype/freetype/src/gxvalid/gxvmort1.c | 0 .../freetype/freetype/src/gxvalid/gxvmort2.c | 0 .../freetype/freetype/src/gxvalid/gxvmort4.c | 0 .../freetype/freetype/src/gxvalid/gxvmort5.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx.h | 0 .../freetype/freetype/src/gxvalid/gxvmorx0.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx1.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx2.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx4.c | 0 .../freetype/freetype/src/gxvalid/gxvmorx5.c | 0 .../freetype/freetype/src/gxvalid/gxvopbd.c | 0 .../freetype/freetype/src/gxvalid/gxvprop.c | 0 .../freetype/freetype/src/gxvalid/gxvtrak.c | 0 .../freetype/freetype/src/gxvalid/module.mk | 0 .../freetype/freetype/src/gxvalid/rules.mk | 0 .../freetype/freetype/src/otvalid/Jamfile | 0 .../freetype/freetype/src/otvalid/module.mk | 0 .../freetype/freetype/src/otvalid/otvalid.c | 0 .../freetype/freetype/src/otvalid/otvalid.h | 0 .../freetype/freetype/src/otvalid/otvbase.c | 0 .../freetype/freetype/src/otvalid/otvcommn.c | 0 .../freetype/freetype/src/otvalid/otvcommn.h | 0 .../freetype/freetype/src/otvalid/otverror.h | 0 .../freetype/freetype/src/otvalid/otvgdef.c | 0 .../freetype/freetype/src/otvalid/otvgpos.c | 0 .../freetype/freetype/src/otvalid/otvgpos.h | 0 .../freetype/freetype/src/otvalid/otvgsub.c | 0 .../freetype/freetype/src/otvalid/otvjstf.c | 0 .../freetype/freetype/src/otvalid/otvmath.c | 0 .../freetype/freetype/src/otvalid/otvmod.c | 0 .../freetype/freetype/src/otvalid/otvmod.h | 0 .../freetype/freetype/src/otvalid/rules.mk | 0 .../freetype/freetype/src/pcf/Jamfile | 0 .../freetype/freetype/src/pcf/README | 0 .../freetype/freetype/src/pcf/module.mk | 0 .../freetype/freetype/src/pcf/pcf.c | 0 .../freetype/freetype/src/pcf/pcf.h | 0 .../freetype/freetype/src/pcf/pcfdrivr.c | 0 .../freetype/freetype/src/pcf/pcfdrivr.h | 0 .../freetype/freetype/src/pcf/pcferror.h | 0 .../freetype/freetype/src/pcf/pcfread.c | 0 .../freetype/freetype/src/pcf/pcfread.h | 0 .../freetype/freetype/src/pcf/pcfutil.c | 0 .../freetype/freetype/src/pcf/pcfutil.h | 0 .../freetype/freetype/src/pcf/rules.mk | 0 .../freetype/freetype/src/pfr/Jamfile | 0 .../freetype/freetype/src/pfr/module.mk | 0 .../freetype/freetype/src/pfr/pfr.c | 0 .../freetype/freetype/src/pfr/pfrcmap.c | 0 .../freetype/freetype/src/pfr/pfrcmap.h | 0 .../freetype/freetype/src/pfr/pfrdrivr.c | 0 .../freetype/freetype/src/pfr/pfrdrivr.h | 0 .../freetype/freetype/src/pfr/pfrerror.h | 0 .../freetype/freetype/src/pfr/pfrgload.c | 0 .../freetype/freetype/src/pfr/pfrgload.h | 0 .../freetype/freetype/src/pfr/pfrload.c | 0 .../freetype/freetype/src/pfr/pfrload.h | 0 .../freetype/freetype/src/pfr/pfrobjs.c | 0 .../freetype/freetype/src/pfr/pfrobjs.h | 0 .../freetype/freetype/src/pfr/pfrsbit.c | 0 .../freetype/freetype/src/pfr/pfrsbit.h | 0 .../freetype/freetype/src/pfr/pfrtypes.h | 0 .../freetype/freetype/src/pfr/rules.mk | 0 .../freetype/freetype/src/psaux/Jamfile | 0 .../freetype/freetype/src/psaux/afmparse.c | 0 .../freetype/freetype/src/psaux/afmparse.h | 0 .../freetype/freetype/src/psaux/module.mk | 0 .../freetype/freetype/src/psaux/psaux.c | 0 .../freetype/freetype/src/psaux/psauxerr.h | 0 .../freetype/freetype/src/psaux/psauxmod.c | 0 .../freetype/freetype/src/psaux/psauxmod.h | 0 .../freetype/freetype/src/psaux/psconv.c | 0 .../freetype/freetype/src/psaux/psconv.h | 0 .../freetype/freetype/src/psaux/psobjs.c | 0 .../freetype/freetype/src/psaux/psobjs.h | 0 .../freetype/freetype/src/psaux/rules.mk | 0 .../freetype/freetype/src/psaux/t1cmap.c | 0 .../freetype/freetype/src/psaux/t1cmap.h | 0 .../freetype/freetype/src/psaux/t1decode.c | 0 .../freetype/freetype/src/psaux/t1decode.h | 0 .../freetype/freetype/src/pshinter/Jamfile | 0 .../freetype/freetype/src/pshinter/module.mk | 0 .../freetype/freetype/src/pshinter/pshalgo.c | 0 .../freetype/freetype/src/pshinter/pshalgo.h | 0 .../freetype/freetype/src/pshinter/pshglob.c | 0 .../freetype/freetype/src/pshinter/pshglob.h | 0 .../freetype/freetype/src/pshinter/pshinter.c | 0 .../freetype/freetype/src/pshinter/pshmod.c | 0 .../freetype/freetype/src/pshinter/pshmod.h | 0 .../freetype/freetype/src/pshinter/pshnterr.h | 0 .../freetype/freetype/src/pshinter/pshpic.c | 0 .../freetype/freetype/src/pshinter/pshpic.h | 0 .../freetype/freetype/src/pshinter/pshrec.c | 0 .../freetype/freetype/src/pshinter/pshrec.h | 0 .../freetype/freetype/src/pshinter/rules.mk | 0 .../freetype/freetype/src/psnames/Jamfile | 0 .../freetype/freetype/src/psnames/module.mk | 0 .../freetype/freetype/src/psnames/psmodule.c | 0 .../freetype/freetype/src/psnames/psmodule.h | 0 .../freetype/freetype/src/psnames/psnamerr.h | 0 .../freetype/freetype/src/psnames/psnames.c | 0 .../freetype/freetype/src/psnames/pspic.c | 0 .../freetype/freetype/src/psnames/pspic.h | 0 .../freetype/freetype/src/psnames/pstables.h | 0 .../freetype/freetype/src/psnames/rules.mk | 0 .../freetype/freetype/src/raster/Jamfile | 0 .../freetype/freetype/src/raster/ftmisc.h | 0 .../freetype/freetype/src/raster/ftraster.c | 0 .../freetype/freetype/src/raster/ftraster.h | 0 .../freetype/freetype/src/raster/ftrend1.c | 0 .../freetype/freetype/src/raster/ftrend1.h | 0 .../freetype/freetype/src/raster/module.mk | 0 .../freetype/freetype/src/raster/raster.c | 0 .../freetype/freetype/src/raster/rasterrs.h | 0 .../freetype/freetype/src/raster/rastpic.c | 0 .../freetype/freetype/src/raster/rastpic.h | 0 .../freetype/freetype/src/raster/rules.mk | 0 .../freetype/freetype/src/sfnt/Jamfile | 0 .../freetype/freetype/src/sfnt/module.mk | 0 .../freetype/freetype/src/sfnt/pngshim.c | 0 .../freetype/freetype/src/sfnt/pngshim.h | 0 .../freetype/freetype/src/sfnt/rules.mk | 0 .../freetype/freetype/src/sfnt/sfdriver.c | 0 .../freetype/freetype/src/sfnt/sfdriver.h | 0 .../freetype/freetype/src/sfnt/sferrors.h | 0 .../freetype/freetype/src/sfnt/sfnt.c | 0 .../freetype/freetype/src/sfnt/sfntpic.c | 0 .../freetype/freetype/src/sfnt/sfntpic.h | 0 .../freetype/freetype/src/sfnt/sfobjs.c | 0 .../freetype/freetype/src/sfnt/sfobjs.h | 0 .../freetype/freetype/src/sfnt/ttbdf.c | 0 .../freetype/freetype/src/sfnt/ttbdf.h | 0 .../freetype/freetype/src/sfnt/ttcmap.c | 0 .../freetype/freetype/src/sfnt/ttcmap.h | 0 .../freetype/freetype/src/sfnt/ttcmapc.h | 0 .../freetype/freetype/src/sfnt/ttkern.c | 0 .../freetype/freetype/src/sfnt/ttkern.h | 0 .../freetype/freetype/src/sfnt/ttload.c | 0 .../freetype/freetype/src/sfnt/ttload.h | 0 .../freetype/freetype/src/sfnt/ttmtx.c | 0 .../freetype/freetype/src/sfnt/ttmtx.h | 0 .../freetype/freetype/src/sfnt/ttpost.c | 0 .../freetype/freetype/src/sfnt/ttpost.h | 0 .../freetype/freetype/src/sfnt/ttsbit.c | 0 .../freetype/freetype/src/sfnt/ttsbit.h | 0 .../freetype/freetype/src/smooth/Jamfile | 0 .../freetype/freetype/src/smooth/ftgrays.c | 0 .../freetype/freetype/src/smooth/ftgrays.h | 0 .../freetype/freetype/src/smooth/ftsmerrs.h | 0 .../freetype/freetype/src/smooth/ftsmooth.c | 0 .../freetype/freetype/src/smooth/ftsmooth.h | 0 .../freetype/freetype/src/smooth/ftspic.c | 0 .../freetype/freetype/src/smooth/ftspic.h | 0 .../freetype/freetype/src/smooth/module.mk | 0 .../freetype/freetype/src/smooth/rules.mk | 0 .../freetype/freetype/src/smooth/smooth.c | 0 .../freetype/freetype/src/truetype/Jamfile | 0 .../freetype/freetype/src/truetype/module.mk | 0 .../freetype/freetype/src/truetype/rules.mk | 0 .../freetype/freetype/src/truetype/truetype.c | 0 .../freetype/freetype/src/truetype/ttdriver.c | 0 .../freetype/freetype/src/truetype/ttdriver.h | 0 .../freetype/freetype/src/truetype/tterrors.h | 0 .../freetype/freetype/src/truetype/ttgload.c | 0 .../freetype/freetype/src/truetype/ttgload.h | 0 .../freetype/freetype/src/truetype/ttgxvar.c | 0 .../freetype/freetype/src/truetype/ttgxvar.h | 0 .../freetype/freetype/src/truetype/ttinterp.c | 0 .../freetype/freetype/src/truetype/ttinterp.h | 0 .../freetype/freetype/src/truetype/ttobjs.c | 0 .../freetype/freetype/src/truetype/ttobjs.h | 0 .../freetype/freetype/src/truetype/ttpic.c | 0 .../freetype/freetype/src/truetype/ttpic.h | 0 .../freetype/freetype/src/truetype/ttpload.c | 0 .../freetype/freetype/src/truetype/ttpload.h | 0 .../freetype/freetype/src/truetype/ttsubpix.c | 0 .../freetype/freetype/src/truetype/ttsubpix.h | 0 .../freetype/freetype/src/type1/Jamfile | 0 .../freetype/freetype/src/type1/module.mk | 0 .../freetype/freetype/src/type1/rules.mk | 0 .../freetype/freetype/src/type1/t1afm.c | 0 .../freetype/freetype/src/type1/t1afm.h | 0 .../freetype/freetype/src/type1/t1driver.c | 0 .../freetype/freetype/src/type1/t1driver.h | 0 .../freetype/freetype/src/type1/t1errors.h | 0 .../freetype/freetype/src/type1/t1gload.c | 0 .../freetype/freetype/src/type1/t1gload.h | 0 .../freetype/freetype/src/type1/t1load.c | 0 .../freetype/freetype/src/type1/t1load.h | 0 .../freetype/freetype/src/type1/t1objs.c | 0 .../freetype/freetype/src/type1/t1objs.h | 0 .../freetype/freetype/src/type1/t1parse.c | 0 .../freetype/freetype/src/type1/t1parse.h | 0 .../freetype/freetype/src/type1/t1tokens.h | 0 .../freetype/freetype/src/type1/type1.c | 0 .../freetype/freetype/src/type42/Jamfile | 0 .../freetype/freetype/src/type42/module.mk | 0 .../freetype/freetype/src/type42/rules.mk | 0 .../freetype/freetype/src/type42/t42drivr.c | 0 .../freetype/freetype/src/type42/t42drivr.h | 0 .../freetype/freetype/src/type42/t42error.h | 0 .../freetype/freetype/src/type42/t42objs.c | 0 .../freetype/freetype/src/type42/t42objs.h | 0 .../freetype/freetype/src/type42/t42parse.c | 0 .../freetype/freetype/src/type42/t42parse.h | 0 .../freetype/freetype/src/type42/t42types.h | 0 .../freetype/freetype/src/type42/type42.c | 0 .../freetype/freetype/src/winfonts/Jamfile | 0 .../freetype/freetype/src/winfonts/fnterrs.h | 0 .../freetype/freetype/src/winfonts/module.mk | 0 .../freetype/freetype/src/winfonts/rules.mk | 0 .../freetype/freetype/src/winfonts/winfnt.c | 0 .../freetype/freetype/src/winfonts/winfnt.h | 0 {tools => drivers}/freetype/ft2build.h | 0 drivers/register_driver_types.cpp | 3 + modules/gdscript/gd_parser.cpp | 2 +- platform/windows/detect.py | 4 +- platform/x11/detect.py | 4 +- scene/gui/text_edit.cpp | 2 +- scene/register_scene_types.cpp | 5 +- scene/resources/dynamic_font.cpp | 305 +- scene/resources/dynamic_font.h | 78 +- scene/resources/dynamic_font_stb.cpp | 527 ++++ scene/resources/dynamic_font_stb.h | 178 ++ tools/SCsub | 43 +- tools/doc/doc_data.h | 3 + tools/editor/code_editor.cpp | 25 +- tools/editor/code_editor.h | 1 + tools/editor/editor_fonts.cpp | 57 +- tools/editor/editor_help.cpp | 56 +- tools/editor/editor_node.cpp | 2 +- tools/editor/editor_settings.cpp | 8 +- tools/editor/icons/SCsub | 4 +- tools/editor_fonts/droid_sans.ttf | Bin 0 -> 6314324 bytes tools/editor_fonts/source_code_pro.otf | Bin 0 -> 140088 bytes 511 files changed, 3798 insertions(+), 210 deletions(-) create mode 100644 core/hq2x.cpp create mode 100644 core/hq2x.h rename {tools => drivers}/freetype/SCsub (99%) rename {tools => drivers}/freetype/freetype/include/freetype/config/ftconfig.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/config/ftheader.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/config/ftmodule.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/config/ftoption.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/config/ftstdlib.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/freetype.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftadvanc.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftautoh.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftbbox.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftbdf.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftbitmap.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftbzip2.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftcache.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftcffdrv.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftchapters.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftcid.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/fterrdef.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/fterrors.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftgasp.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftglyph.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftgxval.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftgzip.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftimage.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftincrem.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftlcdfil.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftlist.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftlzw.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftmac.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftmm.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftmodapi.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftmoderr.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftotval.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftoutln.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftpfr.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftrender.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftsizes.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftsnames.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftstroke.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftsynth.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftsystem.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/fttrigon.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftttdrv.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/fttypes.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftwinfnt.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ftxf86.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/autohint.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftcalc.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftdebug.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftdriver.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftgloadr.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftmemory.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftobjs.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftpic.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftrfork.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftserv.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftstream.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/fttrace.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/ftvalid.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/internal.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/psaux.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/pshints.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svbdf.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svcid.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svgldict.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svgxval.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svkern.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svmm.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svotval.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svpfr.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svpostnm.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svprop.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svpscmap.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svpsinfo.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svsfnt.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svttcmap.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svtteng.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svttglyf.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svwinfnt.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/services/svxf86nm.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/sfnt.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/t1types.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/internal/tttypes.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/t1tables.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ttnameid.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/tttables.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/tttags.h (100%) rename {tools => drivers}/freetype/freetype/include/freetype/ttunpat.h (100%) rename {tools => drivers}/freetype/freetype/include/ftoption.h (100%) rename {tools => drivers}/freetype/freetype/src/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/autofit/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afangles.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afangles.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afcjk.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afcjk.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afdummy.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afdummy.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aferrors.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afglobal.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afglobal.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afhints.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afhints.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afindic.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afindic.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aflatin.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aflatin.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aflatin2.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aflatin2.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afloader.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afloader.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afmodule.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afmodule.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afpic.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afpic.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/aftypes.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afwarp.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/afwarp.h (100%) rename {tools => drivers}/freetype/freetype/src/autofit/autofit.c (100%) rename {tools => drivers}/freetype/freetype/src/autofit/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/autofit/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/base/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/base/basepic.c (100%) rename {tools => drivers}/freetype/freetype/src/base/basepic.h (100%) rename {tools => drivers}/freetype/freetype/src/base/ftadvanc.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftapi.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftbase.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftbase.h (100%) rename {tools => drivers}/freetype/freetype/src/base/ftbbox.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftbdf.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftbitmap.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftcalc.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftcid.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftdbgmem.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftdebug.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftfstype.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftgasp.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftgloadr.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftglyph.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftgxval.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftinit.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftlcdfil.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftmac.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftmm.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftotval.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftoutln.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftpatent.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftpfr.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftpic.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftrfork.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftsnames.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftstream.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftstroke.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftsynth.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftsystem.c (100%) rename {tools => drivers}/freetype/freetype/src/base/fttrigon.c (100%) rename {tools => drivers}/freetype/freetype/src/base/fttype1.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftutil.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftwinfnt.c (100%) rename {tools => drivers}/freetype/freetype/src/base/ftxf86.c (100%) rename {tools => drivers}/freetype/freetype/src/base/md5.c (100%) rename {tools => drivers}/freetype/freetype/src/base/md5.h (100%) rename {tools => drivers}/freetype/freetype/src/base/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/bdf/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/bdf/README (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdf.c (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdf.h (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdfdrivr.c (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdfdrivr.h (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdferror.h (100%) rename {tools => drivers}/freetype/freetype/src/bdf/bdflib.c (100%) rename {tools => drivers}/freetype/freetype/src/bdf/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/bdf/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/cache/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcache.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcbasic.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftccache.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftccache.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftccback.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftccmap.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcerror.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcglyph.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcglyph.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcimage.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcimage.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcmanag.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcmanag.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcmru.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcmru.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcsbits.c (100%) rename {tools => drivers}/freetype/freetype/src/cache/ftcsbits.h (100%) rename {tools => drivers}/freetype/freetype/src/cache/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/cff/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2arrst.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2arrst.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2blues.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2blues.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2error.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2error.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2fixed.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2font.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2font.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2ft.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2ft.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2glue.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2hints.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2hints.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2intrp.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2intrp.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2read.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2read.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2stack.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2stack.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cf2types.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cff.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffcmap.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffcmap.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffdrivr.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffdrivr.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cfferrs.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffgload.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffgload.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffload.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffload.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffparse.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffparse.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffpic.c (100%) rename {tools => drivers}/freetype/freetype/src/cff/cffpic.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cfftoken.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/cfftypes.h (100%) rename {tools => drivers}/freetype/freetype/src/cff/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/cff/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/cid/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/cid/ciderrs.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidgload.c (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidgload.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidload.c (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidload.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidparse.c (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidparse.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidriver.c (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidriver.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/cidtoken.h (100%) rename {tools => drivers}/freetype/freetype/src/cid/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/cid/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/cid/type1cid.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/README (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvalid.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvalid.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvbsln.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvcommn.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvcommn.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxverror.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvfeat.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvfeat.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvfgen.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvjust.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvkern.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvlcar.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmod.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmod.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort0.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort1.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort2.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort4.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmort5.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx.h (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx0.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx1.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx2.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx4.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvmorx5.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvopbd.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvprop.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/gxvtrak.c (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/gxvalid/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvalid.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvalid.h (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvbase.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvcommn.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvcommn.h (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otverror.h (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvgdef.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvgpos.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvgpos.h (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvgsub.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvjstf.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvmath.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvmod.c (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/otvmod.h (100%) rename {tools => drivers}/freetype/freetype/src/otvalid/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/pcf/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/pcf/README (100%) rename {tools => drivers}/freetype/freetype/src/pcf/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcf.c (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcf.h (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfdrivr.c (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfdrivr.h (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcferror.h (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfread.c (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfread.h (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfutil.c (100%) rename {tools => drivers}/freetype/freetype/src/pcf/pcfutil.h (100%) rename {tools => drivers}/freetype/freetype/src/pcf/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/pfr/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/pfr/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfr.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrcmap.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrcmap.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrdrivr.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrdrivr.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrerror.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrgload.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrgload.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrload.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrload.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrsbit.c (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrsbit.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/pfrtypes.h (100%) rename {tools => drivers}/freetype/freetype/src/pfr/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/psaux/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/psaux/afmparse.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/afmparse.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psaux.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psauxerr.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psauxmod.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psauxmod.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psconv.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psconv.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/psobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/psaux/t1cmap.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/t1cmap.h (100%) rename {tools => drivers}/freetype/freetype/src/psaux/t1decode.c (100%) rename {tools => drivers}/freetype/freetype/src/psaux/t1decode.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshalgo.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshalgo.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshglob.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshglob.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshinter.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshmod.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshmod.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshnterr.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshpic.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshpic.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshrec.c (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/pshrec.h (100%) rename {tools => drivers}/freetype/freetype/src/pshinter/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/psnames/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/psnames/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/psnames/psmodule.c (100%) rename {tools => drivers}/freetype/freetype/src/psnames/psmodule.h (100%) rename {tools => drivers}/freetype/freetype/src/psnames/psnamerr.h (100%) rename {tools => drivers}/freetype/freetype/src/psnames/psnames.c (100%) rename {tools => drivers}/freetype/freetype/src/psnames/pspic.c (100%) rename {tools => drivers}/freetype/freetype/src/psnames/pspic.h (100%) rename {tools => drivers}/freetype/freetype/src/psnames/pstables.h (100%) rename {tools => drivers}/freetype/freetype/src/psnames/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/raster/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/raster/ftmisc.h (100%) rename {tools => drivers}/freetype/freetype/src/raster/ftraster.c (100%) rename {tools => drivers}/freetype/freetype/src/raster/ftraster.h (100%) rename {tools => drivers}/freetype/freetype/src/raster/ftrend1.c (100%) rename {tools => drivers}/freetype/freetype/src/raster/ftrend1.h (100%) rename {tools => drivers}/freetype/freetype/src/raster/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/raster/raster.c (100%) rename {tools => drivers}/freetype/freetype/src/raster/rasterrs.h (100%) rename {tools => drivers}/freetype/freetype/src/raster/rastpic.c (100%) rename {tools => drivers}/freetype/freetype/src/raster/rastpic.h (100%) rename {tools => drivers}/freetype/freetype/src/raster/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/pngshim.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/pngshim.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfdriver.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfdriver.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sferrors.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfnt.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfntpic.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfntpic.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/sfobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttbdf.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttbdf.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttcmap.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttcmap.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttcmapc.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttkern.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttkern.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttload.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttload.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttmtx.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttmtx.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttpost.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttpost.h (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttsbit.c (100%) rename {tools => drivers}/freetype/freetype/src/sfnt/ttsbit.h (100%) rename {tools => drivers}/freetype/freetype/src/smooth/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftgrays.c (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftgrays.h (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftsmerrs.h (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftsmooth.c (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftsmooth.h (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftspic.c (100%) rename {tools => drivers}/freetype/freetype/src/smooth/ftspic.h (100%) rename {tools => drivers}/freetype/freetype/src/smooth/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/smooth/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/smooth/smooth.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/truetype/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/truetype/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/truetype/truetype.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttdriver.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttdriver.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/tterrors.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttgload.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttgload.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttgxvar.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttgxvar.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttinterp.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttinterp.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttobjs.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttobjs.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttpic.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttpic.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttpload.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttpload.h (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttsubpix.c (100%) rename {tools => drivers}/freetype/freetype/src/truetype/ttsubpix.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/type1/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/type1/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1afm.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1afm.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1driver.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1driver.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1errors.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1gload.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1gload.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1load.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1load.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1objs.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1objs.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1parse.c (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1parse.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/t1tokens.h (100%) rename {tools => drivers}/freetype/freetype/src/type1/type1.c (100%) rename {tools => drivers}/freetype/freetype/src/type42/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/type42/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/type42/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42drivr.c (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42drivr.h (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42error.h (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42objs.c (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42objs.h (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42parse.c (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42parse.h (100%) rename {tools => drivers}/freetype/freetype/src/type42/t42types.h (100%) rename {tools => drivers}/freetype/freetype/src/type42/type42.c (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/Jamfile (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/fnterrs.h (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/module.mk (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/rules.mk (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/winfnt.c (100%) rename {tools => drivers}/freetype/freetype/src/winfonts/winfnt.h (100%) rename {tools => drivers}/freetype/ft2build.h (100%) create mode 100644 scene/resources/dynamic_font_stb.cpp create mode 100644 scene/resources/dynamic_font_stb.h create mode 100644 tools/editor_fonts/droid_sans.ttf create mode 100644 tools/editor_fonts/source_code_pro.otf diff --git a/.gitignore b/.gitignore index 72cc5bc11a2..ef17e135348 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ tools/editor/doc_data_compressed.h tools/editor/certs_compressed.h tools/editor/editor_icons.cpp tools/editor/translations.h +tools/editor/builtin_fonts.h -fpic .fscache make.bat diff --git a/core/hq2x.cpp b/core/hq2x.cpp new file mode 100644 index 00000000000..6495c77b2ae --- /dev/null +++ b/core/hq2x.cpp @@ -0,0 +1,2636 @@ +/* + * Copyright 2016 Bruno Ribeiro + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include "hq2x.h" +#include "math_funcs.h" + + +static const uint32_t AMASK = 0xFF000000; +static const uint32_t YMASK = 0x00FF0000; +static const uint32_t UMASK = 0x0000FF00; +static const uint32_t VMASK = 0x000000FF; + +_FORCE_INLINE_ static uint32_t ARGBtoAYUV( + uint32_t value ) +{ + uint32_t A, R, G, B, Y, U, V; +//todo big endian check + A = value >> 24; + R = (value >> 16) & 0xFF; + G = (value >> 8) & 0xFF; + B = value & 0xFF; + + Y = Math::fast_ftoi( 0.299 * R + 0.587 * G + 0.114 * B); + U = Math::fast_ftoi(-0.169 * R - 0.331 * G + 0.5 * B) + 128; + V = Math::fast_ftoi( 0.5 * R - 0.419 * G - 0.081 * B) + 128; + return (A << 24) + (Y << 16) + (U << 8) + V; +} + + +/* + * Use this function for sharper images (good for cartoon style, used by DOSBOX) + */ + +_FORCE_INLINE_ static bool isDifferent( + uint32_t color1, + uint32_t color2, + uint32_t trY, + uint32_t trU, + uint32_t trV, + uint32_t trA ) +{ + color1 = ARGBtoAYUV(color1); + color2 = ARGBtoAYUV(color2); + + uint32_t value; + + value = ((color1 & YMASK) - (color2 & YMASK)); + value = (value ^ (value >> 31)) - (value >> 31); + if (value > trY) return true; + + value = ((color1 & UMASK) - (color2 & UMASK)); + value = (value ^ (value >> 31)) - (value >> 31); + if (value > trU) return true; + + value = ((color1 & VMASK) - (color2 & VMASK)); + value = (value ^ (value >> 31)) - (value >> 31); + if (value > trV) return true; + + value = ((color1 & AMASK) - (color2 & AMASK)); + value = (value ^ (value >> 31)) - (value >> 31); + if (value > trA) return true; + + return false; + +} + + + +#define MASK_RB 0x00FF00FF +#define MASK_G 0x0000FF00 +#define MASK_A 0xFF000000 + + +/** + * @brief Mixes two colors using the given weights. + */ +#define HQX_MIX_2(C0,C1,W0,W1) \ + ((((C0 & MASK_RB) * W0 + (C1 & MASK_RB) * W1) / (W0 + W1)) & MASK_RB) | \ + ((((C0 & MASK_G) * W0 + (C1 & MASK_G) * W1) / (W0 + W1)) & MASK_G) | \ + (((((C0 & MASK_A) >> 8) * W0 + ((C1 & MASK_A) >> 8) * W1) / (W0 + W1)) << 8) & MASK_A + +/** + * @brief Mixes three colors using the given weights. + */ +#define HQX_MIX_3(C0,C1,C2,W0,W1,W2) \ + ((((C0 & MASK_RB) * W0 + (C1 & MASK_RB) * W1 + (C2 & MASK_RB) * W2) / (W0 + W1 + W2)) & MASK_RB) | \ + ((((C0 & MASK_G) * W0 + (C1 & MASK_G) * W1 + (C2 & MASK_G) * W2) / (W0 + W1 + W2)) & MASK_G) | \ + (((((C0 & MASK_A) >> 8) * W0 + ((C1 & MASK_A) >> 8) * W1 + ((C2 & MASK_A) >> 8) * W2) / (W0 + W1 + W2)) << 8) & MASK_A + + +#define MIX_00_4 *output = w[4]; +#define MIX_00_MIX_00_4_0_3_1 *output = HQX_MIX_2(w[4],w[0],3U,1U); +#define MIX_00_4_3_3_1 *output = HQX_MIX_2(w[4],w[3],3U,1U); +#define MIX_00_4_1_3_1 *output = HQX_MIX_2(w[4],w[1],3U,1U); +#define MIX_00_3_1_1_1 *output = HQX_MIX_2(w[3],w[1],1U,1U); +#define MIX_00_4_3_1_2_1_1 *output = HQX_MIX_3(w[4],w[3],w[1],2U,1U,1U); +#define MIX_00_4_3_1_2_7_7 *output = HQX_MIX_3(w[4],w[3],w[1],2U,7U,7U); +#define MIX_00_4_0_1_2_1_1 *output = HQX_MIX_3(w[4],w[0],w[1],2U,1U,1U); +#define MIX_00_4_0_3_2_1_1 *output = HQX_MIX_3(w[4],w[0],w[3],2U,1U,1U); +#define MIX_00_4_1_3_5_2_1 *output = HQX_MIX_3(w[4],w[1],w[3],5U,2U,1U); +#define MIX_00_4_3_1_5_2_1 *output = HQX_MIX_3(w[4],w[3],w[1],5U,2U,1U); +#define MIX_00_4_3_1_6_1_1 *output = HQX_MIX_3(w[4],w[3],w[1],6U,1U,1U); +#define MIX_00_4_3_1_2_3_3 *output = HQX_MIX_3(w[4],w[3],w[1],2U,3U,3U); +#define MIX_00_MIX_00_4_0_3_10 *output = HQX_MIX_3(w[4],w[3],w[1],14U,1U,1U); + +#define MIX_01_4 *(output + 1) = w[4]; +#define MIX_01_4_2_3_1 *(output + 1) = HQX_MIX_2(w[4],w[2],3U,1U); +#define MIX_01_4_1_3_1 *(output + 1) = HQX_MIX_2(w[4],w[1],3U,1U); +#define MIX_01_1_4_3_1 *(output + 1) = HQX_MIX_2(w[1],w[4],3U,1U); +#define MIX_01_4_5_3_1 *(output + 1) = HQX_MIX_2(w[4],w[5],3U,1U); +#define MIX_01_4_1_7_1 *(output + 1) = HQX_MIX_2(w[4],w[1],7U,1U); +#define MIX_01_4_1_5_2_1_1 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],2U,1U,1U); +#define MIX_01_4_2_5_2_1_1 *(output + 1) = HQX_MIX_3(w[4],w[2],w[5],2U,1U,1U); +#define MIX_01_4_2_1_2_1_1 *(output + 1) = HQX_MIX_3(w[4],w[2],w[1],2U,1U,1U); +#define MIX_01_4_5_1_5_2_1 *(output + 1) = HQX_MIX_3(w[4],w[5],w[1],5U,2U,1U); +#define MIX_01_4_1_5_5_2_1 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],5U,2U,1U); +#define MIX_01_4_1_5_6_1_1 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],6U,1U,1U); +#define MIX_01_4_1_5_2_3_3 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],2U,3U,3U); +#define MIX_01_4_2_3_10 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],14U,1U,1U); + +#define MIX_02_4 *(output + 2) = w[4]; +#define MIX_02_4_2_3_1 *(output + 2) = HQX_MIX_2(w[4],w[2],3U,1U); +#define MIX_02_4_1_3_1 *(output + 2) = HQX_MIX_2(w[4],w[1],3U,1U); +#define MIX_02_4_5_3_1 *(output + 2) = HQX_MIX_2(w[4],w[5],3U,1U); +#define MIX_02_4_1_5_2_1_1 *(output + 2) = HQX_MIX_3(w[4],w[1],w[5],2U,1U,1U); +#define MIX_02_4_1_5_2_7_7 *(output + 2) = HQX_MIX_3(w[4],w[1],w[5],2U,7U,7U); +#define MIX_02_1_5_1_1 *(output + 2) = HQX_MIX_2(w[1],w[5],1U,1U); + +#define MIX_10_4 *(output + lineSize) = w[4]; +#define MIX_10_4_6_3_1 *(output + lineSize) = HQX_MIX_2(w[4],w[6],3U,1U); +#define MIX_10_4_7_3_1 *(output + lineSize) = HQX_MIX_2(w[4],w[7],3U,1U); +#define MIX_10_4_3_3_1 *(output + lineSize) = HQX_MIX_2(w[4],w[3],3U,1U); +#define MIX_10_4_7_3_2_1_1 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],2U,1U,1U); +#define MIX_10_4_6_3_2_1_1 *(output + lineSize) = HQX_MIX_3(w[4],w[6],w[3],2U,1U,1U); +#define MIX_10_4_6_7_2_1_1 *(output + lineSize) = HQX_MIX_3(w[4],w[6],w[7],2U,1U,1U); +#define MIX_10_4_3_7_5_2_1 *(output + lineSize) = HQX_MIX_3(w[4],w[3],w[7],5U,2U,1U); +#define MIX_10_4_7_3_5_2_1 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],5U,2U,1U); +#define MIX_10_4_7_3_6_1_1 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],6U,1U,1U); +#define MIX_10_4_7_3_2_3_3 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],2U,3U,3U); +#define MIX_10_4_6_3_10 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],14U,1U,1U); +#define MIX_10_4_3_7_1 *(output + lineSize) = HQX_MIX_2(w[4],w[3],7U,1U); +#define MIX_10_3_4_3_1 *(output + lineSize) = HQX_MIX_2(w[3],w[4],3U,1U); + +#define MIX_11_4 *(output + lineSize + 1) = w[4]; +#define MIX_11_4_8_3_1 *(output + lineSize + 1) = HQX_MIX_2(w[4],w[8],3U,1U); +#define MIX_11_4_5_3_1 *(output + lineSize + 1) = HQX_MIX_2(w[4],w[5],3U,1U); +#define MIX_11_4_7_3_1 *(output + lineSize + 1) = HQX_MIX_2(w[4],w[7],3U,1U); +#define MIX_11_4_5_7_2_1_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[5],w[7],2U,1U,1U); +#define MIX_11_4_8_7_2_1_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[8],w[7],2U,1U,1U); +#define MIX_11_4_8_5_2_1_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[8],w[5],2U,1U,1U); +#define MIX_11_4_7_5_5_2_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[7],w[5],5U,2U,1U); +#define MIX_11_4_5_7_5_2_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[5],w[7],5U,2U,1U); +#define MIX_11_4_5_7_6_1_1 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[5],w[7],6U,1U,1U); +#define MIX_11_4_5_7_2_3_3 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[5],w[7],2U,3U,3U); +#define MIX_11_4_8_3_10 *(output + lineSize + 1) = HQX_MIX_3(w[4],w[5],w[7],14U,1U,1U); + +#define MIX_12_4 *(output + lineSize + 2) = w[4]; +#define MIX_12_4_5_3_1 *(output + lineSize + 2) = HQX_MIX_2(w[4],w[5],3U,1U); +#define MIX_12_4_5_7_1 *(output + lineSize + 2) = HQX_MIX_2(w[4],w[5],7U,1U); +#define MIX_12_5_4_3_1 *(output + lineSize + 2) = HQX_MIX_2(w[5],w[4],3U,1U); + +#define MIX_20_4 *(output + lineSize + lineSize) = w[4]; +#define MIX_20_4_6_3_1 *(output + lineSize + lineSize) = HQX_MIX_2(w[4],w[6],3U,1U); +#define MIX_20_4_7_3_1 *(output + lineSize + lineSize) = HQX_MIX_2(w[4],w[7],3U,1U); +#define MIX_20_4_3_3_1 *(output + lineSize + lineSize) = HQX_MIX_2(w[4],w[3],3U,1U); +#define MIX_20_4_7_3_2_1_1 *(output + lineSize + lineSize) = HQX_MIX_3(w[4],w[7],w[3],2U,1U,1U); +#define MIX_20_4_7_3_2_7_7 *(output + lineSize + lineSize) = HQX_MIX_3(w[4],w[7],w[3],2U,7U,7U); +#define MIX_20_7_3_1_1 *(output + lineSize + lineSize) = HQX_MIX_2(w[7],w[3],1U,1U); + +#define MIX_21_4 *(output + lineSize + lineSize + 1) = w[4]; +#define MIX_21_4_7_3_1 *(output + lineSize + lineSize + 1) = HQX_MIX_2(w[4],w[7],3U,1U); +#define MIX_21_4_7_7_1 *(output + lineSize + lineSize + 1) = HQX_MIX_2(w[4],w[7],7U,1U); +#define MIX_21_7_4_3_1 *(output + lineSize + lineSize + 1) = HQX_MIX_2(w[7],w[4],3U,1U); + +#define MIX_22_4 *(output + lineSize + lineSize + 2) = w[4]; +#define MIX_22_4_8_3_1 *(output + lineSize + lineSize + 2) = HQX_MIX_2(w[4],w[8],3U,1U); +#define MIX_22_4_7_3_1 *(output + lineSize + lineSize + 2) = HQX_MIX_2(w[4],w[7],3U,1U); +#define MIX_22_4_5_3_1 *(output + lineSize + lineSize + 2) = HQX_MIX_2(w[4],w[5],3U,1U); +#define MIX_22_4_5_7_2_1_1 *(output + lineSize + lineSize + 2) = HQX_MIX_3(w[4],w[5],w[7],2U,1U,1U); +#define MIX_22_4_5_7_2_7_7 *(output + lineSize + lineSize + 2) = HQX_MIX_3(w[4],w[5],w[7],2U,7U,7U); +#define MIX_22_5_7_1_1 *(output + lineSize + lineSize + 2) = HQX_MIX_2(w[5],w[7],1U,1U); + + + +uint32_t *hq2x_resize( + const uint32_t *image, + uint32_t width, + uint32_t height, + uint32_t *output, + uint32_t trY, + uint32_t trU, + uint32_t trV, + uint32_t trA, + bool wrapX, + bool wrapY ) +{ + int lineSize = width * 2; + + int previous, next; + uint32_t w[9]; + + trY <<= 16; + trU <<= 8; + trA <<= 24; + + // iterates between the lines + for (uint32_t row = 0; row < height; row++) + { + /* + * Note: this function uses a 3x3 sliding window over the original image. + * + * +----+----+----+ + * | | | | + * | w0 | w1 | w2 | + * +----+----+----+ + * | | | | + * | w3 | w4 | w5 | + * +----+----+----+ + * | | | | + * | w6 | w7 | w8 | + * +----+----+----+ + */ + + // adjusts the previous and next line pointers + if (row > 0) + previous = -width; + else + { + if (wrapY) + previous = width * (height - 1); + else + previous = 0; + } + if (row < height - 1) + next = width; + else + { + if (wrapY) + next = -(width * (height - 1)); + else + next = 0; + } + + // iterates between the columns + for (uint32_t col = 0; col < width; col++) + { + w[1] = *(image + previous); + w[4] = *image; + w[7] = *(image + next); + + if (col > 0) + { + w[0] = *(image + previous - 1); + w[3] = *(image - 1); + w[6] = *(image + next - 1); + } + else + { + if (wrapX) + { + w[0] = *(image + previous + width - 1); + w[3] = *(image + width - 1); + w[6] = *(image + next + width - 1); + } + else + { + w[0] = w[1]; + w[3] = w[4]; + w[6] = w[7]; + } + } + + if (col < width - 1) + { + w[2] = *(image + previous + 1); + w[5] = *(image + 1); + w[8] = *(image + next + 1); + } + else + { + if (wrapX) + { + w[2] = *(image + previous - width + 1); + w[5] = *(image - width + 1); + w[8] = *(image + next - width + 1); + } + else + { + w[2] = w[1]; + w[5] = w[4]; + w[8] = w[7]; + } + } + + int pattern = 0; + + // computes the pattern to be used considering the neighbor pixels + for (int k = 0, flag = 1; k < 9; k++) + { + // ignores the central pixel + if (k == 4) continue; + + if (w[k] != w[4]) + if (isDifferent(w[4], w[k], trY, trU, trV, trA)) pattern |= flag; + flag <<= 1; + } + + switch (pattern) + { + case 0: + case 1: + case 4: + case 32: + case 128: + case 5: + case 132: + case 160: + case 33: + case 129: + case 36: + case 133: + case 164: + case 161: + case 37: + case 165: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 2: + case 34: + case 130: + case 162: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 16: + case 17: + case 48: + case 49: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 64: + case 65: + case 68: + case 69: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 8: + case 12: + case 136: + case 140: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 3: + case 35: + case 131: + case 163: + MIX_00_4_3_3_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 6: + case 38: + case 134: + case 166: + MIX_00_4_0_3_2_1_1 + MIX_01_4_5_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 20: + case 21: + case 52: + case 53: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 144: + case 145: + case 176: + case 177: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_7_3_1 + break; + case 192: + case 193: + case 196: + case 197: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_5_3_1 + break; + case 96: + case 97: + case 100: + case 101: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 40: + case 44: + case 168: + case 172: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_5_7_2_1_1 + break; + case 9: + case 13: + case 137: + case 141: + MIX_00_4_1_3_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 18: + case 50: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 80: + case 81: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 72: + case 76: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 10: + case 138: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 66: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 24: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 7: + case 39: + case 135: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 148: + case 149: + case 180: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_7_3_1 + break; + case 224: + case 228: + case 225: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 41: + case 169: + case 45: + MIX_00_4_1_3_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_5_7_2_1_1 + break; + case 22: + case 54: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 208: + case 209: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 104: + case 108: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 11: + case 139: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 19: + case 51: + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_00_4_3_3_1 + MIX_01_4_2_3_1 + } + else + { + MIX_00_4_1_3_5_2_1 + MIX_01_4_1_5_2_3_3 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 146: + case 178: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + MIX_11_4_7_3_1 + } + else + { + MIX_01_4_1_5_2_3_3 + MIX_11_4_5_7_5_2_1 + } + MIX_10_4_7_3_2_1_1 + break; + case 84: + case 85: + MIX_00_4_3_1_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_01_4_1_3_1 + MIX_11_4_8_3_1 + } + else + { + MIX_01_4_5_1_5_2_1 + MIX_11_4_5_7_2_3_3 + } + MIX_10_4_6_3_2_1_1 + break; + case 112: + case 113: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_10_4_3_3_1 + MIX_11_4_8_3_1 + } + else + { + MIX_10_4_7_3_5_2_1 + MIX_11_4_5_7_2_3_3 + } + break; + case 200: + case 204: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + MIX_11_4_5_3_1 + } + else + { + MIX_10_4_7_3_2_3_3 + MIX_11_4_7_5_5_2_1 + } + break; + case 73: + case 77: + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_00_4_1_3_1 + MIX_10_4_6_3_1 + } + else + { + MIX_00_4_3_1_5_2_1 + MIX_10_4_7_3_2_3_3 + } + MIX_01_4_1_5_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 42: + case 170: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + MIX_10_4_7_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_10_4_3_7_5_2_1 + } + MIX_01_4_2_5_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 14: + case 142: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + MIX_01_4_5_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_01_4_1_5_5_2_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 67: + MIX_00_4_3_3_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 70: + MIX_00_4_0_3_2_1_1 + MIX_01_4_5_3_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 28: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 152: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 194: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_5_3_1 + break; + case 98: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 56: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 25: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 26: + case 31: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 82: + case 214: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 88: + case 248: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 74: + case 107: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 27: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 86: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_3_1 + break; + case 216: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 106: + MIX_00_MIX_00_4_0_3_1 + MIX_01_4_2_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 30: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 210: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_3_1 + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 120: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_3_1 + break; + case 75: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 29: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 198: + MIX_00_4_0_3_2_1_1 + MIX_01_4_5_3_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_5_3_1 + break; + case 184: + MIX_00_4_0_1_2_1_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 99: + MIX_00_4_3_3_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 57: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 71: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 156: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 226: + MIX_00_4_0_3_2_1_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 60: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 195: + MIX_00_4_3_3_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_5_3_1 + break; + case 102: + MIX_00_4_0_3_2_1_1 + MIX_01_4_5_3_1 + MIX_10_4_3_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 153: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 58: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 83: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 92: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 202: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + MIX_01_4_2_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + MIX_11_4_5_3_1 + break; + case 78: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 154: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 114: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 89: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 90: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 55: + case 23: + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_00_4_3_3_1 + MIX_01_4 + } + else + { + MIX_00_4_1_3_5_2_1 + MIX_01_4_1_5_2_3_3 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_8_7_2_1_1 + break; + case 182: + case 150: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + MIX_11_4_7_3_1 + } + else + { + MIX_01_4_1_5_2_3_3 + MIX_11_4_5_7_5_2_1 + } + MIX_10_4_7_3_2_1_1 + break; + case 213: + case 212: + MIX_00_4_3_1_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_01_4_1_3_1 + MIX_11_4 + } + else + { + MIX_01_4_5_1_5_2_1 + MIX_11_4_5_7_2_3_3 + } + MIX_10_4_6_3_2_1_1 + break; + case 241: + case 240: + MIX_00_4_3_1_2_1_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_10_4_3_3_1 + MIX_11_4 + } + else + { + MIX_10_4_7_3_5_2_1 + MIX_11_4_5_7_2_3_3 + } + break; + case 236: + case 232: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + MIX_11_4_5_3_1 + } + else + { + MIX_10_4_7_3_2_3_3 + MIX_11_4_7_5_5_2_1 + } + break; + case 109: + case 105: + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_00_4_1_3_1 + MIX_10_4 + } + else + { + MIX_00_4_3_1_5_2_1 + MIX_10_4_7_3_2_3_3 + } + MIX_01_4_1_5_2_1_1 + MIX_11_4_8_5_2_1_1 + break; + case 171: + case 43: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + MIX_10_4_7_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_10_4_3_7_5_2_1 + } + MIX_01_4_2_5_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 143: + case 15: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + MIX_01_4_5_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_01_4_1_5_5_2_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 124: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_3_1 + break; + case 203: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + MIX_10_4_6_3_1 + MIX_11_4_5_3_1 + break; + case 62: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 211: + MIX_00_4_3_3_1 + MIX_01_4_2_3_1 + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 118: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_3_3_1 + MIX_11_4_8_3_1 + break; + case 217: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_6_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 110: + MIX_00_MIX_00_4_0_3_1 + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 155: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 188: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 185: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 61: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 157: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 103: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_3_3_1 + MIX_11_4_8_5_2_1_1 + break; + case 227: + MIX_00_4_3_3_1 + MIX_01_4_2_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 230: + MIX_00_4_0_3_2_1_1 + MIX_01_4_5_3_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 199: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_6_3_2_1_1 + MIX_11_4_5_3_1 + break; + case 220: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 158: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 234: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + MIX_01_4_2_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_5_3_1 + break; + case 242: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 59: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 121: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 87: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 79: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 122: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 94: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 218: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 91: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 229: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 167: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_5_7_2_1_1 + break; + case 173: + MIX_00_4_1_3_1 + MIX_01_4_1_5_2_1_1 + MIX_10_4_7_3_1 + MIX_11_4_5_7_2_1_1 + break; + case 181: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_2_1_1 + MIX_11_4_7_3_1 + break; + case 186: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 115: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 93: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 206: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + MIX_11_4_5_3_1 + break; + case 205: + case 201: + MIX_00_4_1_3_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4_6_3_1 + } + else + { + MIX_10_4_7_3_6_1_1 + } + MIX_11_4_5_3_1 + break; + case 174: + case 46: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_MIX_00_4_0_3_1 + } + else + { + MIX_00_4_3_1_6_1_1 + } + MIX_01_4_5_3_1 + MIX_10_4_7_3_1 + MIX_11_4_5_7_2_1_1 + break; + case 179: + case 147: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4_2_3_1 + } + else + { + MIX_01_4_1_5_6_1_1 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_7_3_1 + break; + case 117: + case 116: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4_8_3_1 + } + else + { + MIX_11_4_5_7_6_1_1 + } + break; + case 189: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 231: + MIX_00_4_3_3_1 + MIX_01_4_5_3_1 + MIX_10_4_3_3_1 + MIX_11_4_5_3_1 + break; + case 126: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_3_1 + break; + case 219: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_3_1 + MIX_10_4_6_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 125: + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_00_4_1_3_1 + MIX_10_4 + } + else + { + MIX_00_4_3_1_5_2_1 + MIX_10_4_7_3_2_3_3 + } + MIX_01_4_1_3_1 + MIX_11_4_8_3_1 + break; + case 221: + MIX_00_4_1_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_01_4_1_3_1 + MIX_11_4 + } + else + { + MIX_01_4_5_1_5_2_1 + MIX_11_4_5_7_2_3_3 + } + MIX_10_4_6_3_1 + break; + case 207: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + MIX_01_4_5_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_01_4_1_5_5_2_1 + } + MIX_10_4_6_3_1 + MIX_11_4_5_3_1 + break; + case 238: + MIX_00_MIX_00_4_0_3_1 + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + MIX_11_4_5_3_1 + } + else + { + MIX_10_4_7_3_2_3_3 + MIX_11_4_7_5_5_2_1 + } + break; + case 190: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + MIX_11_4_7_3_1 + } + else + { + MIX_01_4_1_5_2_3_3 + MIX_11_4_5_7_5_2_1 + } + MIX_10_4_7_3_1 + break; + case 187: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + MIX_10_4_7_3_1 + } + else + { + MIX_00_4_3_1_2_3_3 + MIX_10_4_3_7_5_2_1 + } + MIX_01_4_2_3_1 + MIX_11_4_7_3_1 + break; + case 243: + MIX_00_4_3_3_1 + MIX_01_4_2_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_10_4_3_3_1 + MIX_11_4 + } + else + { + MIX_10_4_7_3_5_2_1 + MIX_11_4_5_7_2_3_3 + } + break; + case 119: + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_00_4_3_3_1 + MIX_01_4 + } + else + { + MIX_00_4_1_3_5_2_1 + MIX_01_4_1_5_2_3_3 + } + MIX_10_4_3_3_1 + MIX_11_4_8_3_1 + break; + case 237: + case 233: + MIX_00_4_1_3_1 + MIX_01_4_1_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + MIX_11_4_5_3_1 + break; + case 175: + case 47: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + MIX_01_4_5_3_1 + MIX_10_4_7_3_1 + MIX_11_4_5_7_2_1_1 + break; + case 183: + case 151: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_7_3_2_1_1 + MIX_11_4_7_3_1 + break; + case 245: + case 244: + MIX_00_4_3_1_2_1_1 + MIX_01_4_1_3_1 + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 250: + MIX_00_MIX_00_4_0_3_1 + MIX_01_4_2_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 123: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_3_1 + break; + case 95: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_3_1 + MIX_11_4_8_3_1 + break; + case 222: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_6_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 252: + MIX_00_4_0_1_2_1_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 249: + MIX_00_4_1_3_1 + MIX_01_4_2_1_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 235: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_5_2_1_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + MIX_11_4_5_3_1 + break; + case 111: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_5_2_1_1 + break; + case 63: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_7_3_1 + MIX_11_4_8_7_2_1_1 + break; + case 159: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_6_7_2_1_1 + MIX_11_4_7_3_1 + break; + case 215: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_6_3_2_1_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 246: + MIX_00_4_0_3_2_1_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 254: + MIX_00_MIX_00_4_0_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 253: + MIX_00_4_1_3_1 + MIX_01_4_1_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 251: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + MIX_01_4_2_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 239: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + MIX_01_4_5_3_1 + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_6_3_10 + } + MIX_11_4_5_3_1 + break; + case 127: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_1_5_2_1_1 + } + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + { + MIX_10_4 + } + else + { + MIX_10_4_7_3_2_1_1 + } + MIX_11_4_8_3_1 + break; + case 191: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_MIX_00_4_0_3_10 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_7_3_1 + MIX_11_4_7_3_1 + break; + case 223: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + { + MIX_00_4 + } + else + { + MIX_00_4_3_1_2_1_1 + } + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_6_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_5_7_2_1_1 + } + break; + case 247: + MIX_00_4_3_3_1 + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + { + MIX_01_4 + } + else + { + MIX_01_4_2_3_10 + } + MIX_10_4_3_3_1 + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + { + MIX_11_4 + } + else + { + MIX_11_4_8_3_10 + } + break; + case 255: + if (isDifferent(w[3], w[1], trY, trU, trV, trA)) + MIX_00_4 + else + MIX_00_MIX_00_4_0_3_10 + + if (isDifferent(w[1], w[5], trY, trU, trV, trA)) + MIX_01_4 + else + MIX_01_4_2_3_10 + + if (isDifferent(w[7], w[3], trY, trU, trV, trA)) + MIX_10_4 + else + MIX_10_4_6_3_10 + + if (isDifferent(w[5], w[7], trY, trU, trV, trA)) + MIX_11_4 + else + MIX_11_4_8_3_10 + break; + } + image++; + output += 2; + } + output += lineSize; + } + + return output; +} diff --git a/core/hq2x.h b/core/hq2x.h new file mode 100644 index 00000000000..8f119d2a01a --- /dev/null +++ b/core/hq2x.h @@ -0,0 +1,19 @@ +#ifndef HQ2X_H +#define HQ2X_H + +#include "typedefs.h" + + +uint32_t *hq2x_resize( + const uint32_t *image, + uint32_t width, + uint32_t height, + uint32_t *output, + uint32_t trY = 0x30, + uint32_t trU = 0x07, + uint32_t trV = 0x06, + uint32_t trA = 0x50, + bool wrapX = false, + bool wrapY = false ); + +#endif // HQ2X_H diff --git a/core/image.cpp b/core/image.cpp index 8635aa1b29d..57496683ef5 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -30,7 +30,7 @@ #include "hash_map.h" #include "core/io/image_loader.h" #include "core/os/copymem.h" - +#include "hq2x.h" #include "print_string.h" #include @@ -901,6 +901,44 @@ static void _generate_po2_mipmap(const uint8_t* p_src, uint8_t* p_dst, uint32_t } +void Image::expand_x2_hq2x() { + + ERR_FAIL_COND(format>=FORMAT_INDEXED); + + Format current = format; + bool mipmaps=get_mipmaps(); + if (mipmaps) { + clear_mipmaps(); + } + + if (current!=FORMAT_RGBA) + convert(FORMAT_RGBA); + + DVector dest; + dest.resize(width*2*height*2*4); + + { + DVector::Read r = data.read(); + DVector::Write w = dest.write(); + + hq2x_resize((const uint32_t*)r.ptr(),width,height,(uint32_t*)w.ptr()); + + } + + width*=2; + height*=2; + data=dest; + + + if (current!=FORMAT_RGBA) + convert(current); + + if (mipmaps) { + generate_mipmaps(); + } + +} + void Image::shrink_x2() { ERR_FAIL_COND(format==FORMAT_INDEXED || format==FORMAT_INDEXED_ALPHA); diff --git a/core/image.h b/core/image.h index 35bbd1a6849..0f0b345eb95 100644 --- a/core/image.h +++ b/core/image.h @@ -250,6 +250,7 @@ public: void resize( int p_width, int p_height, Interpolation p_interpolation=INTERPOLATE_BILINEAR ); Image resized( int p_width, int p_height, int p_interpolation=INTERPOLATE_BILINEAR ); void shrink_x2(); + void expand_x2_hq2x(); /** * Crop the image to a specific size, if larger, then the image is filled by black */ diff --git a/drivers/SCsub b/drivers/SCsub index 7337482628c..79cbe506855 100644 --- a/drivers/SCsub +++ b/drivers/SCsub @@ -59,6 +59,8 @@ if (env['musepack']=='yes'): SConscript("mpc/SCsub"); if (env["squish"]=="yes" and env["tools"]=="yes"): SConscript("squish/SCsub"); +if (env["freetype"]!="no"): + SConscript("freetype/SCsub"); num = 0 cur_base = "" diff --git a/tools/freetype/SCsub b/drivers/freetype/SCsub similarity index 99% rename from tools/freetype/SCsub rename to drivers/freetype/SCsub index 65b4827f9c6..75e872a06fe 100644 --- a/tools/freetype/SCsub +++ b/drivers/freetype/SCsub @@ -66,4 +66,6 @@ if (env["freetype"]=="builtin"): # lib = env.Library("freetype_builtin",ft_sources) # env.Prepend(LIBS=[lib]) + + Export('env') diff --git a/tools/freetype/freetype/include/freetype/config/ftconfig.h b/drivers/freetype/freetype/include/freetype/config/ftconfig.h similarity index 100% rename from tools/freetype/freetype/include/freetype/config/ftconfig.h rename to drivers/freetype/freetype/include/freetype/config/ftconfig.h diff --git a/tools/freetype/freetype/include/freetype/config/ftheader.h b/drivers/freetype/freetype/include/freetype/config/ftheader.h similarity index 100% rename from tools/freetype/freetype/include/freetype/config/ftheader.h rename to drivers/freetype/freetype/include/freetype/config/ftheader.h diff --git a/tools/freetype/freetype/include/freetype/config/ftmodule.h b/drivers/freetype/freetype/include/freetype/config/ftmodule.h similarity index 100% rename from tools/freetype/freetype/include/freetype/config/ftmodule.h rename to drivers/freetype/freetype/include/freetype/config/ftmodule.h diff --git a/tools/freetype/freetype/include/freetype/config/ftoption.h b/drivers/freetype/freetype/include/freetype/config/ftoption.h similarity index 100% rename from tools/freetype/freetype/include/freetype/config/ftoption.h rename to drivers/freetype/freetype/include/freetype/config/ftoption.h diff --git a/tools/freetype/freetype/include/freetype/config/ftstdlib.h b/drivers/freetype/freetype/include/freetype/config/ftstdlib.h similarity index 100% rename from tools/freetype/freetype/include/freetype/config/ftstdlib.h rename to drivers/freetype/freetype/include/freetype/config/ftstdlib.h diff --git a/tools/freetype/freetype/include/freetype/freetype.h b/drivers/freetype/freetype/include/freetype/freetype.h similarity index 100% rename from tools/freetype/freetype/include/freetype/freetype.h rename to drivers/freetype/freetype/include/freetype/freetype.h diff --git a/tools/freetype/freetype/include/freetype/ftadvanc.h b/drivers/freetype/freetype/include/freetype/ftadvanc.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftadvanc.h rename to drivers/freetype/freetype/include/freetype/ftadvanc.h diff --git a/tools/freetype/freetype/include/freetype/ftautoh.h b/drivers/freetype/freetype/include/freetype/ftautoh.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftautoh.h rename to drivers/freetype/freetype/include/freetype/ftautoh.h diff --git a/tools/freetype/freetype/include/freetype/ftbbox.h b/drivers/freetype/freetype/include/freetype/ftbbox.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftbbox.h rename to drivers/freetype/freetype/include/freetype/ftbbox.h diff --git a/tools/freetype/freetype/include/freetype/ftbdf.h b/drivers/freetype/freetype/include/freetype/ftbdf.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftbdf.h rename to drivers/freetype/freetype/include/freetype/ftbdf.h diff --git a/tools/freetype/freetype/include/freetype/ftbitmap.h b/drivers/freetype/freetype/include/freetype/ftbitmap.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftbitmap.h rename to drivers/freetype/freetype/include/freetype/ftbitmap.h diff --git a/tools/freetype/freetype/include/freetype/ftbzip2.h b/drivers/freetype/freetype/include/freetype/ftbzip2.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftbzip2.h rename to drivers/freetype/freetype/include/freetype/ftbzip2.h diff --git a/tools/freetype/freetype/include/freetype/ftcache.h b/drivers/freetype/freetype/include/freetype/ftcache.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftcache.h rename to drivers/freetype/freetype/include/freetype/ftcache.h diff --git a/tools/freetype/freetype/include/freetype/ftcffdrv.h b/drivers/freetype/freetype/include/freetype/ftcffdrv.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftcffdrv.h rename to drivers/freetype/freetype/include/freetype/ftcffdrv.h diff --git a/tools/freetype/freetype/include/freetype/ftchapters.h b/drivers/freetype/freetype/include/freetype/ftchapters.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftchapters.h rename to drivers/freetype/freetype/include/freetype/ftchapters.h diff --git a/tools/freetype/freetype/include/freetype/ftcid.h b/drivers/freetype/freetype/include/freetype/ftcid.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftcid.h rename to drivers/freetype/freetype/include/freetype/ftcid.h diff --git a/tools/freetype/freetype/include/freetype/fterrdef.h b/drivers/freetype/freetype/include/freetype/fterrdef.h similarity index 100% rename from tools/freetype/freetype/include/freetype/fterrdef.h rename to drivers/freetype/freetype/include/freetype/fterrdef.h diff --git a/tools/freetype/freetype/include/freetype/fterrors.h b/drivers/freetype/freetype/include/freetype/fterrors.h similarity index 100% rename from tools/freetype/freetype/include/freetype/fterrors.h rename to drivers/freetype/freetype/include/freetype/fterrors.h diff --git a/tools/freetype/freetype/include/freetype/ftgasp.h b/drivers/freetype/freetype/include/freetype/ftgasp.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftgasp.h rename to drivers/freetype/freetype/include/freetype/ftgasp.h diff --git a/tools/freetype/freetype/include/freetype/ftglyph.h b/drivers/freetype/freetype/include/freetype/ftglyph.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftglyph.h rename to drivers/freetype/freetype/include/freetype/ftglyph.h diff --git a/tools/freetype/freetype/include/freetype/ftgxval.h b/drivers/freetype/freetype/include/freetype/ftgxval.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftgxval.h rename to drivers/freetype/freetype/include/freetype/ftgxval.h diff --git a/tools/freetype/freetype/include/freetype/ftgzip.h b/drivers/freetype/freetype/include/freetype/ftgzip.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftgzip.h rename to drivers/freetype/freetype/include/freetype/ftgzip.h diff --git a/tools/freetype/freetype/include/freetype/ftimage.h b/drivers/freetype/freetype/include/freetype/ftimage.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftimage.h rename to drivers/freetype/freetype/include/freetype/ftimage.h diff --git a/tools/freetype/freetype/include/freetype/ftincrem.h b/drivers/freetype/freetype/include/freetype/ftincrem.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftincrem.h rename to drivers/freetype/freetype/include/freetype/ftincrem.h diff --git a/tools/freetype/freetype/include/freetype/ftlcdfil.h b/drivers/freetype/freetype/include/freetype/ftlcdfil.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftlcdfil.h rename to drivers/freetype/freetype/include/freetype/ftlcdfil.h diff --git a/tools/freetype/freetype/include/freetype/ftlist.h b/drivers/freetype/freetype/include/freetype/ftlist.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftlist.h rename to drivers/freetype/freetype/include/freetype/ftlist.h diff --git a/tools/freetype/freetype/include/freetype/ftlzw.h b/drivers/freetype/freetype/include/freetype/ftlzw.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftlzw.h rename to drivers/freetype/freetype/include/freetype/ftlzw.h diff --git a/tools/freetype/freetype/include/freetype/ftmac.h b/drivers/freetype/freetype/include/freetype/ftmac.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftmac.h rename to drivers/freetype/freetype/include/freetype/ftmac.h diff --git a/tools/freetype/freetype/include/freetype/ftmm.h b/drivers/freetype/freetype/include/freetype/ftmm.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftmm.h rename to drivers/freetype/freetype/include/freetype/ftmm.h diff --git a/tools/freetype/freetype/include/freetype/ftmodapi.h b/drivers/freetype/freetype/include/freetype/ftmodapi.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftmodapi.h rename to drivers/freetype/freetype/include/freetype/ftmodapi.h diff --git a/tools/freetype/freetype/include/freetype/ftmoderr.h b/drivers/freetype/freetype/include/freetype/ftmoderr.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftmoderr.h rename to drivers/freetype/freetype/include/freetype/ftmoderr.h diff --git a/tools/freetype/freetype/include/freetype/ftotval.h b/drivers/freetype/freetype/include/freetype/ftotval.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftotval.h rename to drivers/freetype/freetype/include/freetype/ftotval.h diff --git a/tools/freetype/freetype/include/freetype/ftoutln.h b/drivers/freetype/freetype/include/freetype/ftoutln.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftoutln.h rename to drivers/freetype/freetype/include/freetype/ftoutln.h diff --git a/tools/freetype/freetype/include/freetype/ftpfr.h b/drivers/freetype/freetype/include/freetype/ftpfr.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftpfr.h rename to drivers/freetype/freetype/include/freetype/ftpfr.h diff --git a/tools/freetype/freetype/include/freetype/ftrender.h b/drivers/freetype/freetype/include/freetype/ftrender.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftrender.h rename to drivers/freetype/freetype/include/freetype/ftrender.h diff --git a/tools/freetype/freetype/include/freetype/ftsizes.h b/drivers/freetype/freetype/include/freetype/ftsizes.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftsizes.h rename to drivers/freetype/freetype/include/freetype/ftsizes.h diff --git a/tools/freetype/freetype/include/freetype/ftsnames.h b/drivers/freetype/freetype/include/freetype/ftsnames.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftsnames.h rename to drivers/freetype/freetype/include/freetype/ftsnames.h diff --git a/tools/freetype/freetype/include/freetype/ftstroke.h b/drivers/freetype/freetype/include/freetype/ftstroke.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftstroke.h rename to drivers/freetype/freetype/include/freetype/ftstroke.h diff --git a/tools/freetype/freetype/include/freetype/ftsynth.h b/drivers/freetype/freetype/include/freetype/ftsynth.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftsynth.h rename to drivers/freetype/freetype/include/freetype/ftsynth.h diff --git a/tools/freetype/freetype/include/freetype/ftsystem.h b/drivers/freetype/freetype/include/freetype/ftsystem.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftsystem.h rename to drivers/freetype/freetype/include/freetype/ftsystem.h diff --git a/tools/freetype/freetype/include/freetype/fttrigon.h b/drivers/freetype/freetype/include/freetype/fttrigon.h similarity index 100% rename from tools/freetype/freetype/include/freetype/fttrigon.h rename to drivers/freetype/freetype/include/freetype/fttrigon.h diff --git a/tools/freetype/freetype/include/freetype/ftttdrv.h b/drivers/freetype/freetype/include/freetype/ftttdrv.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftttdrv.h rename to drivers/freetype/freetype/include/freetype/ftttdrv.h diff --git a/tools/freetype/freetype/include/freetype/fttypes.h b/drivers/freetype/freetype/include/freetype/fttypes.h similarity index 100% rename from tools/freetype/freetype/include/freetype/fttypes.h rename to drivers/freetype/freetype/include/freetype/fttypes.h diff --git a/tools/freetype/freetype/include/freetype/ftwinfnt.h b/drivers/freetype/freetype/include/freetype/ftwinfnt.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftwinfnt.h rename to drivers/freetype/freetype/include/freetype/ftwinfnt.h diff --git a/tools/freetype/freetype/include/freetype/ftxf86.h b/drivers/freetype/freetype/include/freetype/ftxf86.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ftxf86.h rename to drivers/freetype/freetype/include/freetype/ftxf86.h diff --git a/tools/freetype/freetype/include/freetype/internal/autohint.h b/drivers/freetype/freetype/include/freetype/internal/autohint.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/autohint.h rename to drivers/freetype/freetype/include/freetype/internal/autohint.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftcalc.h b/drivers/freetype/freetype/include/freetype/internal/ftcalc.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftcalc.h rename to drivers/freetype/freetype/include/freetype/internal/ftcalc.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftdebug.h b/drivers/freetype/freetype/include/freetype/internal/ftdebug.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftdebug.h rename to drivers/freetype/freetype/include/freetype/internal/ftdebug.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftdriver.h b/drivers/freetype/freetype/include/freetype/internal/ftdriver.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftdriver.h rename to drivers/freetype/freetype/include/freetype/internal/ftdriver.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftgloadr.h b/drivers/freetype/freetype/include/freetype/internal/ftgloadr.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftgloadr.h rename to drivers/freetype/freetype/include/freetype/internal/ftgloadr.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftmemory.h b/drivers/freetype/freetype/include/freetype/internal/ftmemory.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftmemory.h rename to drivers/freetype/freetype/include/freetype/internal/ftmemory.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftobjs.h b/drivers/freetype/freetype/include/freetype/internal/ftobjs.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftobjs.h rename to drivers/freetype/freetype/include/freetype/internal/ftobjs.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftpic.h b/drivers/freetype/freetype/include/freetype/internal/ftpic.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftpic.h rename to drivers/freetype/freetype/include/freetype/internal/ftpic.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftrfork.h b/drivers/freetype/freetype/include/freetype/internal/ftrfork.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftrfork.h rename to drivers/freetype/freetype/include/freetype/internal/ftrfork.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftserv.h b/drivers/freetype/freetype/include/freetype/internal/ftserv.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftserv.h rename to drivers/freetype/freetype/include/freetype/internal/ftserv.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftstream.h b/drivers/freetype/freetype/include/freetype/internal/ftstream.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftstream.h rename to drivers/freetype/freetype/include/freetype/internal/ftstream.h diff --git a/tools/freetype/freetype/include/freetype/internal/fttrace.h b/drivers/freetype/freetype/include/freetype/internal/fttrace.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/fttrace.h rename to drivers/freetype/freetype/include/freetype/internal/fttrace.h diff --git a/tools/freetype/freetype/include/freetype/internal/ftvalid.h b/drivers/freetype/freetype/include/freetype/internal/ftvalid.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/ftvalid.h rename to drivers/freetype/freetype/include/freetype/internal/ftvalid.h diff --git a/tools/freetype/freetype/include/freetype/internal/internal.h b/drivers/freetype/freetype/include/freetype/internal/internal.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/internal.h rename to drivers/freetype/freetype/include/freetype/internal/internal.h diff --git a/tools/freetype/freetype/include/freetype/internal/psaux.h b/drivers/freetype/freetype/include/freetype/internal/psaux.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/psaux.h rename to drivers/freetype/freetype/include/freetype/internal/psaux.h diff --git a/tools/freetype/freetype/include/freetype/internal/pshints.h b/drivers/freetype/freetype/include/freetype/internal/pshints.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/pshints.h rename to drivers/freetype/freetype/include/freetype/internal/pshints.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svbdf.h b/drivers/freetype/freetype/include/freetype/internal/services/svbdf.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svbdf.h rename to drivers/freetype/freetype/include/freetype/internal/services/svbdf.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svcid.h b/drivers/freetype/freetype/include/freetype/internal/services/svcid.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svcid.h rename to drivers/freetype/freetype/include/freetype/internal/services/svcid.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svgldict.h b/drivers/freetype/freetype/include/freetype/internal/services/svgldict.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svgldict.h rename to drivers/freetype/freetype/include/freetype/internal/services/svgldict.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svgxval.h b/drivers/freetype/freetype/include/freetype/internal/services/svgxval.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svgxval.h rename to drivers/freetype/freetype/include/freetype/internal/services/svgxval.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svkern.h b/drivers/freetype/freetype/include/freetype/internal/services/svkern.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svkern.h rename to drivers/freetype/freetype/include/freetype/internal/services/svkern.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svmm.h b/drivers/freetype/freetype/include/freetype/internal/services/svmm.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svmm.h rename to drivers/freetype/freetype/include/freetype/internal/services/svmm.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svotval.h b/drivers/freetype/freetype/include/freetype/internal/services/svotval.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svotval.h rename to drivers/freetype/freetype/include/freetype/internal/services/svotval.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svpfr.h b/drivers/freetype/freetype/include/freetype/internal/services/svpfr.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svpfr.h rename to drivers/freetype/freetype/include/freetype/internal/services/svpfr.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svpostnm.h b/drivers/freetype/freetype/include/freetype/internal/services/svpostnm.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svpostnm.h rename to drivers/freetype/freetype/include/freetype/internal/services/svpostnm.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svprop.h b/drivers/freetype/freetype/include/freetype/internal/services/svprop.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svprop.h rename to drivers/freetype/freetype/include/freetype/internal/services/svprop.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svpscmap.h b/drivers/freetype/freetype/include/freetype/internal/services/svpscmap.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svpscmap.h rename to drivers/freetype/freetype/include/freetype/internal/services/svpscmap.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svpsinfo.h b/drivers/freetype/freetype/include/freetype/internal/services/svpsinfo.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svpsinfo.h rename to drivers/freetype/freetype/include/freetype/internal/services/svpsinfo.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svsfnt.h b/drivers/freetype/freetype/include/freetype/internal/services/svsfnt.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svsfnt.h rename to drivers/freetype/freetype/include/freetype/internal/services/svsfnt.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svttcmap.h b/drivers/freetype/freetype/include/freetype/internal/services/svttcmap.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svttcmap.h rename to drivers/freetype/freetype/include/freetype/internal/services/svttcmap.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svtteng.h b/drivers/freetype/freetype/include/freetype/internal/services/svtteng.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svtteng.h rename to drivers/freetype/freetype/include/freetype/internal/services/svtteng.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svttglyf.h b/drivers/freetype/freetype/include/freetype/internal/services/svttglyf.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svttglyf.h rename to drivers/freetype/freetype/include/freetype/internal/services/svttglyf.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svwinfnt.h b/drivers/freetype/freetype/include/freetype/internal/services/svwinfnt.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svwinfnt.h rename to drivers/freetype/freetype/include/freetype/internal/services/svwinfnt.h diff --git a/tools/freetype/freetype/include/freetype/internal/services/svxf86nm.h b/drivers/freetype/freetype/include/freetype/internal/services/svxf86nm.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/services/svxf86nm.h rename to drivers/freetype/freetype/include/freetype/internal/services/svxf86nm.h diff --git a/tools/freetype/freetype/include/freetype/internal/sfnt.h b/drivers/freetype/freetype/include/freetype/internal/sfnt.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/sfnt.h rename to drivers/freetype/freetype/include/freetype/internal/sfnt.h diff --git a/tools/freetype/freetype/include/freetype/internal/t1types.h b/drivers/freetype/freetype/include/freetype/internal/t1types.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/t1types.h rename to drivers/freetype/freetype/include/freetype/internal/t1types.h diff --git a/tools/freetype/freetype/include/freetype/internal/tttypes.h b/drivers/freetype/freetype/include/freetype/internal/tttypes.h similarity index 100% rename from tools/freetype/freetype/include/freetype/internal/tttypes.h rename to drivers/freetype/freetype/include/freetype/internal/tttypes.h diff --git a/tools/freetype/freetype/include/freetype/t1tables.h b/drivers/freetype/freetype/include/freetype/t1tables.h similarity index 100% rename from tools/freetype/freetype/include/freetype/t1tables.h rename to drivers/freetype/freetype/include/freetype/t1tables.h diff --git a/tools/freetype/freetype/include/freetype/ttnameid.h b/drivers/freetype/freetype/include/freetype/ttnameid.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ttnameid.h rename to drivers/freetype/freetype/include/freetype/ttnameid.h diff --git a/tools/freetype/freetype/include/freetype/tttables.h b/drivers/freetype/freetype/include/freetype/tttables.h similarity index 100% rename from tools/freetype/freetype/include/freetype/tttables.h rename to drivers/freetype/freetype/include/freetype/tttables.h diff --git a/tools/freetype/freetype/include/freetype/tttags.h b/drivers/freetype/freetype/include/freetype/tttags.h similarity index 100% rename from tools/freetype/freetype/include/freetype/tttags.h rename to drivers/freetype/freetype/include/freetype/tttags.h diff --git a/tools/freetype/freetype/include/freetype/ttunpat.h b/drivers/freetype/freetype/include/freetype/ttunpat.h similarity index 100% rename from tools/freetype/freetype/include/freetype/ttunpat.h rename to drivers/freetype/freetype/include/freetype/ttunpat.h diff --git a/tools/freetype/freetype/include/ftoption.h b/drivers/freetype/freetype/include/ftoption.h similarity index 100% rename from tools/freetype/freetype/include/ftoption.h rename to drivers/freetype/freetype/include/ftoption.h diff --git a/tools/freetype/freetype/src/Jamfile b/drivers/freetype/freetype/src/Jamfile similarity index 100% rename from tools/freetype/freetype/src/Jamfile rename to drivers/freetype/freetype/src/Jamfile diff --git a/tools/freetype/freetype/src/autofit/Jamfile b/drivers/freetype/freetype/src/autofit/Jamfile similarity index 100% rename from tools/freetype/freetype/src/autofit/Jamfile rename to drivers/freetype/freetype/src/autofit/Jamfile diff --git a/tools/freetype/freetype/src/autofit/afangles.c b/drivers/freetype/freetype/src/autofit/afangles.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afangles.c rename to drivers/freetype/freetype/src/autofit/afangles.c diff --git a/tools/freetype/freetype/src/autofit/afangles.h b/drivers/freetype/freetype/src/autofit/afangles.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afangles.h rename to drivers/freetype/freetype/src/autofit/afangles.h diff --git a/tools/freetype/freetype/src/autofit/afcjk.c b/drivers/freetype/freetype/src/autofit/afcjk.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afcjk.c rename to drivers/freetype/freetype/src/autofit/afcjk.c diff --git a/tools/freetype/freetype/src/autofit/afcjk.h b/drivers/freetype/freetype/src/autofit/afcjk.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afcjk.h rename to drivers/freetype/freetype/src/autofit/afcjk.h diff --git a/tools/freetype/freetype/src/autofit/afdummy.c b/drivers/freetype/freetype/src/autofit/afdummy.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afdummy.c rename to drivers/freetype/freetype/src/autofit/afdummy.c diff --git a/tools/freetype/freetype/src/autofit/afdummy.h b/drivers/freetype/freetype/src/autofit/afdummy.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afdummy.h rename to drivers/freetype/freetype/src/autofit/afdummy.h diff --git a/tools/freetype/freetype/src/autofit/aferrors.h b/drivers/freetype/freetype/src/autofit/aferrors.h similarity index 100% rename from tools/freetype/freetype/src/autofit/aferrors.h rename to drivers/freetype/freetype/src/autofit/aferrors.h diff --git a/tools/freetype/freetype/src/autofit/afglobal.c b/drivers/freetype/freetype/src/autofit/afglobal.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afglobal.c rename to drivers/freetype/freetype/src/autofit/afglobal.c diff --git a/tools/freetype/freetype/src/autofit/afglobal.h b/drivers/freetype/freetype/src/autofit/afglobal.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afglobal.h rename to drivers/freetype/freetype/src/autofit/afglobal.h diff --git a/tools/freetype/freetype/src/autofit/afhints.c b/drivers/freetype/freetype/src/autofit/afhints.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afhints.c rename to drivers/freetype/freetype/src/autofit/afhints.c diff --git a/tools/freetype/freetype/src/autofit/afhints.h b/drivers/freetype/freetype/src/autofit/afhints.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afhints.h rename to drivers/freetype/freetype/src/autofit/afhints.h diff --git a/tools/freetype/freetype/src/autofit/afindic.c b/drivers/freetype/freetype/src/autofit/afindic.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afindic.c rename to drivers/freetype/freetype/src/autofit/afindic.c diff --git a/tools/freetype/freetype/src/autofit/afindic.h b/drivers/freetype/freetype/src/autofit/afindic.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afindic.h rename to drivers/freetype/freetype/src/autofit/afindic.h diff --git a/tools/freetype/freetype/src/autofit/aflatin.c b/drivers/freetype/freetype/src/autofit/aflatin.c similarity index 100% rename from tools/freetype/freetype/src/autofit/aflatin.c rename to drivers/freetype/freetype/src/autofit/aflatin.c diff --git a/tools/freetype/freetype/src/autofit/aflatin.h b/drivers/freetype/freetype/src/autofit/aflatin.h similarity index 100% rename from tools/freetype/freetype/src/autofit/aflatin.h rename to drivers/freetype/freetype/src/autofit/aflatin.h diff --git a/tools/freetype/freetype/src/autofit/aflatin2.c b/drivers/freetype/freetype/src/autofit/aflatin2.c similarity index 100% rename from tools/freetype/freetype/src/autofit/aflatin2.c rename to drivers/freetype/freetype/src/autofit/aflatin2.c diff --git a/tools/freetype/freetype/src/autofit/aflatin2.h b/drivers/freetype/freetype/src/autofit/aflatin2.h similarity index 100% rename from tools/freetype/freetype/src/autofit/aflatin2.h rename to drivers/freetype/freetype/src/autofit/aflatin2.h diff --git a/tools/freetype/freetype/src/autofit/afloader.c b/drivers/freetype/freetype/src/autofit/afloader.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afloader.c rename to drivers/freetype/freetype/src/autofit/afloader.c diff --git a/tools/freetype/freetype/src/autofit/afloader.h b/drivers/freetype/freetype/src/autofit/afloader.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afloader.h rename to drivers/freetype/freetype/src/autofit/afloader.h diff --git a/tools/freetype/freetype/src/autofit/afmodule.c b/drivers/freetype/freetype/src/autofit/afmodule.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afmodule.c rename to drivers/freetype/freetype/src/autofit/afmodule.c diff --git a/tools/freetype/freetype/src/autofit/afmodule.h b/drivers/freetype/freetype/src/autofit/afmodule.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afmodule.h rename to drivers/freetype/freetype/src/autofit/afmodule.h diff --git a/tools/freetype/freetype/src/autofit/afpic.c b/drivers/freetype/freetype/src/autofit/afpic.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afpic.c rename to drivers/freetype/freetype/src/autofit/afpic.c diff --git a/tools/freetype/freetype/src/autofit/afpic.h b/drivers/freetype/freetype/src/autofit/afpic.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afpic.h rename to drivers/freetype/freetype/src/autofit/afpic.h diff --git a/tools/freetype/freetype/src/autofit/aftypes.h b/drivers/freetype/freetype/src/autofit/aftypes.h similarity index 100% rename from tools/freetype/freetype/src/autofit/aftypes.h rename to drivers/freetype/freetype/src/autofit/aftypes.h diff --git a/tools/freetype/freetype/src/autofit/afwarp.c b/drivers/freetype/freetype/src/autofit/afwarp.c similarity index 100% rename from tools/freetype/freetype/src/autofit/afwarp.c rename to drivers/freetype/freetype/src/autofit/afwarp.c diff --git a/tools/freetype/freetype/src/autofit/afwarp.h b/drivers/freetype/freetype/src/autofit/afwarp.h similarity index 100% rename from tools/freetype/freetype/src/autofit/afwarp.h rename to drivers/freetype/freetype/src/autofit/afwarp.h diff --git a/tools/freetype/freetype/src/autofit/autofit.c b/drivers/freetype/freetype/src/autofit/autofit.c similarity index 100% rename from tools/freetype/freetype/src/autofit/autofit.c rename to drivers/freetype/freetype/src/autofit/autofit.c diff --git a/tools/freetype/freetype/src/autofit/module.mk b/drivers/freetype/freetype/src/autofit/module.mk similarity index 100% rename from tools/freetype/freetype/src/autofit/module.mk rename to drivers/freetype/freetype/src/autofit/module.mk diff --git a/tools/freetype/freetype/src/autofit/rules.mk b/drivers/freetype/freetype/src/autofit/rules.mk similarity index 100% rename from tools/freetype/freetype/src/autofit/rules.mk rename to drivers/freetype/freetype/src/autofit/rules.mk diff --git a/tools/freetype/freetype/src/base/Jamfile b/drivers/freetype/freetype/src/base/Jamfile similarity index 100% rename from tools/freetype/freetype/src/base/Jamfile rename to drivers/freetype/freetype/src/base/Jamfile diff --git a/tools/freetype/freetype/src/base/basepic.c b/drivers/freetype/freetype/src/base/basepic.c similarity index 100% rename from tools/freetype/freetype/src/base/basepic.c rename to drivers/freetype/freetype/src/base/basepic.c diff --git a/tools/freetype/freetype/src/base/basepic.h b/drivers/freetype/freetype/src/base/basepic.h similarity index 100% rename from tools/freetype/freetype/src/base/basepic.h rename to drivers/freetype/freetype/src/base/basepic.h diff --git a/tools/freetype/freetype/src/base/ftadvanc.c b/drivers/freetype/freetype/src/base/ftadvanc.c similarity index 100% rename from tools/freetype/freetype/src/base/ftadvanc.c rename to drivers/freetype/freetype/src/base/ftadvanc.c diff --git a/tools/freetype/freetype/src/base/ftapi.c b/drivers/freetype/freetype/src/base/ftapi.c similarity index 100% rename from tools/freetype/freetype/src/base/ftapi.c rename to drivers/freetype/freetype/src/base/ftapi.c diff --git a/tools/freetype/freetype/src/base/ftbase.c b/drivers/freetype/freetype/src/base/ftbase.c similarity index 100% rename from tools/freetype/freetype/src/base/ftbase.c rename to drivers/freetype/freetype/src/base/ftbase.c diff --git a/tools/freetype/freetype/src/base/ftbase.h b/drivers/freetype/freetype/src/base/ftbase.h similarity index 100% rename from tools/freetype/freetype/src/base/ftbase.h rename to drivers/freetype/freetype/src/base/ftbase.h diff --git a/tools/freetype/freetype/src/base/ftbbox.c b/drivers/freetype/freetype/src/base/ftbbox.c similarity index 100% rename from tools/freetype/freetype/src/base/ftbbox.c rename to drivers/freetype/freetype/src/base/ftbbox.c diff --git a/tools/freetype/freetype/src/base/ftbdf.c b/drivers/freetype/freetype/src/base/ftbdf.c similarity index 100% rename from tools/freetype/freetype/src/base/ftbdf.c rename to drivers/freetype/freetype/src/base/ftbdf.c diff --git a/tools/freetype/freetype/src/base/ftbitmap.c b/drivers/freetype/freetype/src/base/ftbitmap.c similarity index 100% rename from tools/freetype/freetype/src/base/ftbitmap.c rename to drivers/freetype/freetype/src/base/ftbitmap.c diff --git a/tools/freetype/freetype/src/base/ftcalc.c b/drivers/freetype/freetype/src/base/ftcalc.c similarity index 100% rename from tools/freetype/freetype/src/base/ftcalc.c rename to drivers/freetype/freetype/src/base/ftcalc.c diff --git a/tools/freetype/freetype/src/base/ftcid.c b/drivers/freetype/freetype/src/base/ftcid.c similarity index 100% rename from tools/freetype/freetype/src/base/ftcid.c rename to drivers/freetype/freetype/src/base/ftcid.c diff --git a/tools/freetype/freetype/src/base/ftdbgmem.c b/drivers/freetype/freetype/src/base/ftdbgmem.c similarity index 100% rename from tools/freetype/freetype/src/base/ftdbgmem.c rename to drivers/freetype/freetype/src/base/ftdbgmem.c diff --git a/tools/freetype/freetype/src/base/ftdebug.c b/drivers/freetype/freetype/src/base/ftdebug.c similarity index 100% rename from tools/freetype/freetype/src/base/ftdebug.c rename to drivers/freetype/freetype/src/base/ftdebug.c diff --git a/tools/freetype/freetype/src/base/ftfstype.c b/drivers/freetype/freetype/src/base/ftfstype.c similarity index 100% rename from tools/freetype/freetype/src/base/ftfstype.c rename to drivers/freetype/freetype/src/base/ftfstype.c diff --git a/tools/freetype/freetype/src/base/ftgasp.c b/drivers/freetype/freetype/src/base/ftgasp.c similarity index 100% rename from tools/freetype/freetype/src/base/ftgasp.c rename to drivers/freetype/freetype/src/base/ftgasp.c diff --git a/tools/freetype/freetype/src/base/ftgloadr.c b/drivers/freetype/freetype/src/base/ftgloadr.c similarity index 100% rename from tools/freetype/freetype/src/base/ftgloadr.c rename to drivers/freetype/freetype/src/base/ftgloadr.c diff --git a/tools/freetype/freetype/src/base/ftglyph.c b/drivers/freetype/freetype/src/base/ftglyph.c similarity index 100% rename from tools/freetype/freetype/src/base/ftglyph.c rename to drivers/freetype/freetype/src/base/ftglyph.c diff --git a/tools/freetype/freetype/src/base/ftgxval.c b/drivers/freetype/freetype/src/base/ftgxval.c similarity index 100% rename from tools/freetype/freetype/src/base/ftgxval.c rename to drivers/freetype/freetype/src/base/ftgxval.c diff --git a/tools/freetype/freetype/src/base/ftinit.c b/drivers/freetype/freetype/src/base/ftinit.c similarity index 100% rename from tools/freetype/freetype/src/base/ftinit.c rename to drivers/freetype/freetype/src/base/ftinit.c diff --git a/tools/freetype/freetype/src/base/ftlcdfil.c b/drivers/freetype/freetype/src/base/ftlcdfil.c similarity index 100% rename from tools/freetype/freetype/src/base/ftlcdfil.c rename to drivers/freetype/freetype/src/base/ftlcdfil.c diff --git a/tools/freetype/freetype/src/base/ftmac.c b/drivers/freetype/freetype/src/base/ftmac.c similarity index 100% rename from tools/freetype/freetype/src/base/ftmac.c rename to drivers/freetype/freetype/src/base/ftmac.c diff --git a/tools/freetype/freetype/src/base/ftmm.c b/drivers/freetype/freetype/src/base/ftmm.c similarity index 100% rename from tools/freetype/freetype/src/base/ftmm.c rename to drivers/freetype/freetype/src/base/ftmm.c diff --git a/tools/freetype/freetype/src/base/ftobjs.c b/drivers/freetype/freetype/src/base/ftobjs.c similarity index 100% rename from tools/freetype/freetype/src/base/ftobjs.c rename to drivers/freetype/freetype/src/base/ftobjs.c diff --git a/tools/freetype/freetype/src/base/ftotval.c b/drivers/freetype/freetype/src/base/ftotval.c similarity index 100% rename from tools/freetype/freetype/src/base/ftotval.c rename to drivers/freetype/freetype/src/base/ftotval.c diff --git a/tools/freetype/freetype/src/base/ftoutln.c b/drivers/freetype/freetype/src/base/ftoutln.c similarity index 100% rename from tools/freetype/freetype/src/base/ftoutln.c rename to drivers/freetype/freetype/src/base/ftoutln.c diff --git a/tools/freetype/freetype/src/base/ftpatent.c b/drivers/freetype/freetype/src/base/ftpatent.c similarity index 100% rename from tools/freetype/freetype/src/base/ftpatent.c rename to drivers/freetype/freetype/src/base/ftpatent.c diff --git a/tools/freetype/freetype/src/base/ftpfr.c b/drivers/freetype/freetype/src/base/ftpfr.c similarity index 100% rename from tools/freetype/freetype/src/base/ftpfr.c rename to drivers/freetype/freetype/src/base/ftpfr.c diff --git a/tools/freetype/freetype/src/base/ftpic.c b/drivers/freetype/freetype/src/base/ftpic.c similarity index 100% rename from tools/freetype/freetype/src/base/ftpic.c rename to drivers/freetype/freetype/src/base/ftpic.c diff --git a/tools/freetype/freetype/src/base/ftrfork.c b/drivers/freetype/freetype/src/base/ftrfork.c similarity index 100% rename from tools/freetype/freetype/src/base/ftrfork.c rename to drivers/freetype/freetype/src/base/ftrfork.c diff --git a/tools/freetype/freetype/src/base/ftsnames.c b/drivers/freetype/freetype/src/base/ftsnames.c similarity index 100% rename from tools/freetype/freetype/src/base/ftsnames.c rename to drivers/freetype/freetype/src/base/ftsnames.c diff --git a/tools/freetype/freetype/src/base/ftstream.c b/drivers/freetype/freetype/src/base/ftstream.c similarity index 100% rename from tools/freetype/freetype/src/base/ftstream.c rename to drivers/freetype/freetype/src/base/ftstream.c diff --git a/tools/freetype/freetype/src/base/ftstroke.c b/drivers/freetype/freetype/src/base/ftstroke.c similarity index 100% rename from tools/freetype/freetype/src/base/ftstroke.c rename to drivers/freetype/freetype/src/base/ftstroke.c diff --git a/tools/freetype/freetype/src/base/ftsynth.c b/drivers/freetype/freetype/src/base/ftsynth.c similarity index 100% rename from tools/freetype/freetype/src/base/ftsynth.c rename to drivers/freetype/freetype/src/base/ftsynth.c diff --git a/tools/freetype/freetype/src/base/ftsystem.c b/drivers/freetype/freetype/src/base/ftsystem.c similarity index 100% rename from tools/freetype/freetype/src/base/ftsystem.c rename to drivers/freetype/freetype/src/base/ftsystem.c diff --git a/tools/freetype/freetype/src/base/fttrigon.c b/drivers/freetype/freetype/src/base/fttrigon.c similarity index 100% rename from tools/freetype/freetype/src/base/fttrigon.c rename to drivers/freetype/freetype/src/base/fttrigon.c diff --git a/tools/freetype/freetype/src/base/fttype1.c b/drivers/freetype/freetype/src/base/fttype1.c similarity index 100% rename from tools/freetype/freetype/src/base/fttype1.c rename to drivers/freetype/freetype/src/base/fttype1.c diff --git a/tools/freetype/freetype/src/base/ftutil.c b/drivers/freetype/freetype/src/base/ftutil.c similarity index 100% rename from tools/freetype/freetype/src/base/ftutil.c rename to drivers/freetype/freetype/src/base/ftutil.c diff --git a/tools/freetype/freetype/src/base/ftwinfnt.c b/drivers/freetype/freetype/src/base/ftwinfnt.c similarity index 100% rename from tools/freetype/freetype/src/base/ftwinfnt.c rename to drivers/freetype/freetype/src/base/ftwinfnt.c diff --git a/tools/freetype/freetype/src/base/ftxf86.c b/drivers/freetype/freetype/src/base/ftxf86.c similarity index 100% rename from tools/freetype/freetype/src/base/ftxf86.c rename to drivers/freetype/freetype/src/base/ftxf86.c diff --git a/tools/freetype/freetype/src/base/md5.c b/drivers/freetype/freetype/src/base/md5.c similarity index 100% rename from tools/freetype/freetype/src/base/md5.c rename to drivers/freetype/freetype/src/base/md5.c diff --git a/tools/freetype/freetype/src/base/md5.h b/drivers/freetype/freetype/src/base/md5.h similarity index 100% rename from tools/freetype/freetype/src/base/md5.h rename to drivers/freetype/freetype/src/base/md5.h diff --git a/tools/freetype/freetype/src/base/rules.mk b/drivers/freetype/freetype/src/base/rules.mk similarity index 100% rename from tools/freetype/freetype/src/base/rules.mk rename to drivers/freetype/freetype/src/base/rules.mk diff --git a/tools/freetype/freetype/src/bdf/Jamfile b/drivers/freetype/freetype/src/bdf/Jamfile similarity index 100% rename from tools/freetype/freetype/src/bdf/Jamfile rename to drivers/freetype/freetype/src/bdf/Jamfile diff --git a/tools/freetype/freetype/src/bdf/README b/drivers/freetype/freetype/src/bdf/README similarity index 100% rename from tools/freetype/freetype/src/bdf/README rename to drivers/freetype/freetype/src/bdf/README diff --git a/tools/freetype/freetype/src/bdf/bdf.c b/drivers/freetype/freetype/src/bdf/bdf.c similarity index 100% rename from tools/freetype/freetype/src/bdf/bdf.c rename to drivers/freetype/freetype/src/bdf/bdf.c diff --git a/tools/freetype/freetype/src/bdf/bdf.h b/drivers/freetype/freetype/src/bdf/bdf.h similarity index 100% rename from tools/freetype/freetype/src/bdf/bdf.h rename to drivers/freetype/freetype/src/bdf/bdf.h diff --git a/tools/freetype/freetype/src/bdf/bdfdrivr.c b/drivers/freetype/freetype/src/bdf/bdfdrivr.c similarity index 100% rename from tools/freetype/freetype/src/bdf/bdfdrivr.c rename to drivers/freetype/freetype/src/bdf/bdfdrivr.c diff --git a/tools/freetype/freetype/src/bdf/bdfdrivr.h b/drivers/freetype/freetype/src/bdf/bdfdrivr.h similarity index 100% rename from tools/freetype/freetype/src/bdf/bdfdrivr.h rename to drivers/freetype/freetype/src/bdf/bdfdrivr.h diff --git a/tools/freetype/freetype/src/bdf/bdferror.h b/drivers/freetype/freetype/src/bdf/bdferror.h similarity index 100% rename from tools/freetype/freetype/src/bdf/bdferror.h rename to drivers/freetype/freetype/src/bdf/bdferror.h diff --git a/tools/freetype/freetype/src/bdf/bdflib.c b/drivers/freetype/freetype/src/bdf/bdflib.c similarity index 100% rename from tools/freetype/freetype/src/bdf/bdflib.c rename to drivers/freetype/freetype/src/bdf/bdflib.c diff --git a/tools/freetype/freetype/src/bdf/module.mk b/drivers/freetype/freetype/src/bdf/module.mk similarity index 100% rename from tools/freetype/freetype/src/bdf/module.mk rename to drivers/freetype/freetype/src/bdf/module.mk diff --git a/tools/freetype/freetype/src/bdf/rules.mk b/drivers/freetype/freetype/src/bdf/rules.mk similarity index 100% rename from tools/freetype/freetype/src/bdf/rules.mk rename to drivers/freetype/freetype/src/bdf/rules.mk diff --git a/tools/freetype/freetype/src/cache/Jamfile b/drivers/freetype/freetype/src/cache/Jamfile similarity index 100% rename from tools/freetype/freetype/src/cache/Jamfile rename to drivers/freetype/freetype/src/cache/Jamfile diff --git a/tools/freetype/freetype/src/cache/ftcache.c b/drivers/freetype/freetype/src/cache/ftcache.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcache.c rename to drivers/freetype/freetype/src/cache/ftcache.c diff --git a/tools/freetype/freetype/src/cache/ftcbasic.c b/drivers/freetype/freetype/src/cache/ftcbasic.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcbasic.c rename to drivers/freetype/freetype/src/cache/ftcbasic.c diff --git a/tools/freetype/freetype/src/cache/ftccache.c b/drivers/freetype/freetype/src/cache/ftccache.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftccache.c rename to drivers/freetype/freetype/src/cache/ftccache.c diff --git a/tools/freetype/freetype/src/cache/ftccache.h b/drivers/freetype/freetype/src/cache/ftccache.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftccache.h rename to drivers/freetype/freetype/src/cache/ftccache.h diff --git a/tools/freetype/freetype/src/cache/ftccback.h b/drivers/freetype/freetype/src/cache/ftccback.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftccback.h rename to drivers/freetype/freetype/src/cache/ftccback.h diff --git a/tools/freetype/freetype/src/cache/ftccmap.c b/drivers/freetype/freetype/src/cache/ftccmap.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftccmap.c rename to drivers/freetype/freetype/src/cache/ftccmap.c diff --git a/tools/freetype/freetype/src/cache/ftcerror.h b/drivers/freetype/freetype/src/cache/ftcerror.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcerror.h rename to drivers/freetype/freetype/src/cache/ftcerror.h diff --git a/tools/freetype/freetype/src/cache/ftcglyph.c b/drivers/freetype/freetype/src/cache/ftcglyph.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcglyph.c rename to drivers/freetype/freetype/src/cache/ftcglyph.c diff --git a/tools/freetype/freetype/src/cache/ftcglyph.h b/drivers/freetype/freetype/src/cache/ftcglyph.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcglyph.h rename to drivers/freetype/freetype/src/cache/ftcglyph.h diff --git a/tools/freetype/freetype/src/cache/ftcimage.c b/drivers/freetype/freetype/src/cache/ftcimage.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcimage.c rename to drivers/freetype/freetype/src/cache/ftcimage.c diff --git a/tools/freetype/freetype/src/cache/ftcimage.h b/drivers/freetype/freetype/src/cache/ftcimage.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcimage.h rename to drivers/freetype/freetype/src/cache/ftcimage.h diff --git a/tools/freetype/freetype/src/cache/ftcmanag.c b/drivers/freetype/freetype/src/cache/ftcmanag.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcmanag.c rename to drivers/freetype/freetype/src/cache/ftcmanag.c diff --git a/tools/freetype/freetype/src/cache/ftcmanag.h b/drivers/freetype/freetype/src/cache/ftcmanag.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcmanag.h rename to drivers/freetype/freetype/src/cache/ftcmanag.h diff --git a/tools/freetype/freetype/src/cache/ftcmru.c b/drivers/freetype/freetype/src/cache/ftcmru.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcmru.c rename to drivers/freetype/freetype/src/cache/ftcmru.c diff --git a/tools/freetype/freetype/src/cache/ftcmru.h b/drivers/freetype/freetype/src/cache/ftcmru.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcmru.h rename to drivers/freetype/freetype/src/cache/ftcmru.h diff --git a/tools/freetype/freetype/src/cache/ftcsbits.c b/drivers/freetype/freetype/src/cache/ftcsbits.c similarity index 100% rename from tools/freetype/freetype/src/cache/ftcsbits.c rename to drivers/freetype/freetype/src/cache/ftcsbits.c diff --git a/tools/freetype/freetype/src/cache/ftcsbits.h b/drivers/freetype/freetype/src/cache/ftcsbits.h similarity index 100% rename from tools/freetype/freetype/src/cache/ftcsbits.h rename to drivers/freetype/freetype/src/cache/ftcsbits.h diff --git a/tools/freetype/freetype/src/cache/rules.mk b/drivers/freetype/freetype/src/cache/rules.mk similarity index 100% rename from tools/freetype/freetype/src/cache/rules.mk rename to drivers/freetype/freetype/src/cache/rules.mk diff --git a/tools/freetype/freetype/src/cff/Jamfile b/drivers/freetype/freetype/src/cff/Jamfile similarity index 100% rename from tools/freetype/freetype/src/cff/Jamfile rename to drivers/freetype/freetype/src/cff/Jamfile diff --git a/tools/freetype/freetype/src/cff/cf2arrst.c b/drivers/freetype/freetype/src/cff/cf2arrst.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2arrst.c rename to drivers/freetype/freetype/src/cff/cf2arrst.c diff --git a/tools/freetype/freetype/src/cff/cf2arrst.h b/drivers/freetype/freetype/src/cff/cf2arrst.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2arrst.h rename to drivers/freetype/freetype/src/cff/cf2arrst.h diff --git a/tools/freetype/freetype/src/cff/cf2blues.c b/drivers/freetype/freetype/src/cff/cf2blues.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2blues.c rename to drivers/freetype/freetype/src/cff/cf2blues.c diff --git a/tools/freetype/freetype/src/cff/cf2blues.h b/drivers/freetype/freetype/src/cff/cf2blues.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2blues.h rename to drivers/freetype/freetype/src/cff/cf2blues.h diff --git a/tools/freetype/freetype/src/cff/cf2error.c b/drivers/freetype/freetype/src/cff/cf2error.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2error.c rename to drivers/freetype/freetype/src/cff/cf2error.c diff --git a/tools/freetype/freetype/src/cff/cf2error.h b/drivers/freetype/freetype/src/cff/cf2error.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2error.h rename to drivers/freetype/freetype/src/cff/cf2error.h diff --git a/tools/freetype/freetype/src/cff/cf2fixed.h b/drivers/freetype/freetype/src/cff/cf2fixed.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2fixed.h rename to drivers/freetype/freetype/src/cff/cf2fixed.h diff --git a/tools/freetype/freetype/src/cff/cf2font.c b/drivers/freetype/freetype/src/cff/cf2font.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2font.c rename to drivers/freetype/freetype/src/cff/cf2font.c diff --git a/tools/freetype/freetype/src/cff/cf2font.h b/drivers/freetype/freetype/src/cff/cf2font.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2font.h rename to drivers/freetype/freetype/src/cff/cf2font.h diff --git a/tools/freetype/freetype/src/cff/cf2ft.c b/drivers/freetype/freetype/src/cff/cf2ft.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2ft.c rename to drivers/freetype/freetype/src/cff/cf2ft.c diff --git a/tools/freetype/freetype/src/cff/cf2ft.h b/drivers/freetype/freetype/src/cff/cf2ft.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2ft.h rename to drivers/freetype/freetype/src/cff/cf2ft.h diff --git a/tools/freetype/freetype/src/cff/cf2glue.h b/drivers/freetype/freetype/src/cff/cf2glue.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2glue.h rename to drivers/freetype/freetype/src/cff/cf2glue.h diff --git a/tools/freetype/freetype/src/cff/cf2hints.c b/drivers/freetype/freetype/src/cff/cf2hints.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2hints.c rename to drivers/freetype/freetype/src/cff/cf2hints.c diff --git a/tools/freetype/freetype/src/cff/cf2hints.h b/drivers/freetype/freetype/src/cff/cf2hints.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2hints.h rename to drivers/freetype/freetype/src/cff/cf2hints.h diff --git a/tools/freetype/freetype/src/cff/cf2intrp.c b/drivers/freetype/freetype/src/cff/cf2intrp.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2intrp.c rename to drivers/freetype/freetype/src/cff/cf2intrp.c diff --git a/tools/freetype/freetype/src/cff/cf2intrp.h b/drivers/freetype/freetype/src/cff/cf2intrp.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2intrp.h rename to drivers/freetype/freetype/src/cff/cf2intrp.h diff --git a/tools/freetype/freetype/src/cff/cf2read.c b/drivers/freetype/freetype/src/cff/cf2read.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2read.c rename to drivers/freetype/freetype/src/cff/cf2read.c diff --git a/tools/freetype/freetype/src/cff/cf2read.h b/drivers/freetype/freetype/src/cff/cf2read.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2read.h rename to drivers/freetype/freetype/src/cff/cf2read.h diff --git a/tools/freetype/freetype/src/cff/cf2stack.c b/drivers/freetype/freetype/src/cff/cf2stack.c similarity index 100% rename from tools/freetype/freetype/src/cff/cf2stack.c rename to drivers/freetype/freetype/src/cff/cf2stack.c diff --git a/tools/freetype/freetype/src/cff/cf2stack.h b/drivers/freetype/freetype/src/cff/cf2stack.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2stack.h rename to drivers/freetype/freetype/src/cff/cf2stack.h diff --git a/tools/freetype/freetype/src/cff/cf2types.h b/drivers/freetype/freetype/src/cff/cf2types.h similarity index 100% rename from tools/freetype/freetype/src/cff/cf2types.h rename to drivers/freetype/freetype/src/cff/cf2types.h diff --git a/tools/freetype/freetype/src/cff/cff.c b/drivers/freetype/freetype/src/cff/cff.c similarity index 100% rename from tools/freetype/freetype/src/cff/cff.c rename to drivers/freetype/freetype/src/cff/cff.c diff --git a/tools/freetype/freetype/src/cff/cffcmap.c b/drivers/freetype/freetype/src/cff/cffcmap.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffcmap.c rename to drivers/freetype/freetype/src/cff/cffcmap.c diff --git a/tools/freetype/freetype/src/cff/cffcmap.h b/drivers/freetype/freetype/src/cff/cffcmap.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffcmap.h rename to drivers/freetype/freetype/src/cff/cffcmap.h diff --git a/tools/freetype/freetype/src/cff/cffdrivr.c b/drivers/freetype/freetype/src/cff/cffdrivr.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffdrivr.c rename to drivers/freetype/freetype/src/cff/cffdrivr.c diff --git a/tools/freetype/freetype/src/cff/cffdrivr.h b/drivers/freetype/freetype/src/cff/cffdrivr.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffdrivr.h rename to drivers/freetype/freetype/src/cff/cffdrivr.h diff --git a/tools/freetype/freetype/src/cff/cfferrs.h b/drivers/freetype/freetype/src/cff/cfferrs.h similarity index 100% rename from tools/freetype/freetype/src/cff/cfferrs.h rename to drivers/freetype/freetype/src/cff/cfferrs.h diff --git a/tools/freetype/freetype/src/cff/cffgload.c b/drivers/freetype/freetype/src/cff/cffgload.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffgload.c rename to drivers/freetype/freetype/src/cff/cffgload.c diff --git a/tools/freetype/freetype/src/cff/cffgload.h b/drivers/freetype/freetype/src/cff/cffgload.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffgload.h rename to drivers/freetype/freetype/src/cff/cffgload.h diff --git a/tools/freetype/freetype/src/cff/cffload.c b/drivers/freetype/freetype/src/cff/cffload.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffload.c rename to drivers/freetype/freetype/src/cff/cffload.c diff --git a/tools/freetype/freetype/src/cff/cffload.h b/drivers/freetype/freetype/src/cff/cffload.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffload.h rename to drivers/freetype/freetype/src/cff/cffload.h diff --git a/tools/freetype/freetype/src/cff/cffobjs.c b/drivers/freetype/freetype/src/cff/cffobjs.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffobjs.c rename to drivers/freetype/freetype/src/cff/cffobjs.c diff --git a/tools/freetype/freetype/src/cff/cffobjs.h b/drivers/freetype/freetype/src/cff/cffobjs.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffobjs.h rename to drivers/freetype/freetype/src/cff/cffobjs.h diff --git a/tools/freetype/freetype/src/cff/cffparse.c b/drivers/freetype/freetype/src/cff/cffparse.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffparse.c rename to drivers/freetype/freetype/src/cff/cffparse.c diff --git a/tools/freetype/freetype/src/cff/cffparse.h b/drivers/freetype/freetype/src/cff/cffparse.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffparse.h rename to drivers/freetype/freetype/src/cff/cffparse.h diff --git a/tools/freetype/freetype/src/cff/cffpic.c b/drivers/freetype/freetype/src/cff/cffpic.c similarity index 100% rename from tools/freetype/freetype/src/cff/cffpic.c rename to drivers/freetype/freetype/src/cff/cffpic.c diff --git a/tools/freetype/freetype/src/cff/cffpic.h b/drivers/freetype/freetype/src/cff/cffpic.h similarity index 100% rename from tools/freetype/freetype/src/cff/cffpic.h rename to drivers/freetype/freetype/src/cff/cffpic.h diff --git a/tools/freetype/freetype/src/cff/cfftoken.h b/drivers/freetype/freetype/src/cff/cfftoken.h similarity index 100% rename from tools/freetype/freetype/src/cff/cfftoken.h rename to drivers/freetype/freetype/src/cff/cfftoken.h diff --git a/tools/freetype/freetype/src/cff/cfftypes.h b/drivers/freetype/freetype/src/cff/cfftypes.h similarity index 100% rename from tools/freetype/freetype/src/cff/cfftypes.h rename to drivers/freetype/freetype/src/cff/cfftypes.h diff --git a/tools/freetype/freetype/src/cff/module.mk b/drivers/freetype/freetype/src/cff/module.mk similarity index 100% rename from tools/freetype/freetype/src/cff/module.mk rename to drivers/freetype/freetype/src/cff/module.mk diff --git a/tools/freetype/freetype/src/cff/rules.mk b/drivers/freetype/freetype/src/cff/rules.mk similarity index 100% rename from tools/freetype/freetype/src/cff/rules.mk rename to drivers/freetype/freetype/src/cff/rules.mk diff --git a/tools/freetype/freetype/src/cid/Jamfile b/drivers/freetype/freetype/src/cid/Jamfile similarity index 100% rename from tools/freetype/freetype/src/cid/Jamfile rename to drivers/freetype/freetype/src/cid/Jamfile diff --git a/tools/freetype/freetype/src/cid/ciderrs.h b/drivers/freetype/freetype/src/cid/ciderrs.h similarity index 100% rename from tools/freetype/freetype/src/cid/ciderrs.h rename to drivers/freetype/freetype/src/cid/ciderrs.h diff --git a/tools/freetype/freetype/src/cid/cidgload.c b/drivers/freetype/freetype/src/cid/cidgload.c similarity index 100% rename from tools/freetype/freetype/src/cid/cidgload.c rename to drivers/freetype/freetype/src/cid/cidgload.c diff --git a/tools/freetype/freetype/src/cid/cidgload.h b/drivers/freetype/freetype/src/cid/cidgload.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidgload.h rename to drivers/freetype/freetype/src/cid/cidgload.h diff --git a/tools/freetype/freetype/src/cid/cidload.c b/drivers/freetype/freetype/src/cid/cidload.c similarity index 100% rename from tools/freetype/freetype/src/cid/cidload.c rename to drivers/freetype/freetype/src/cid/cidload.c diff --git a/tools/freetype/freetype/src/cid/cidload.h b/drivers/freetype/freetype/src/cid/cidload.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidload.h rename to drivers/freetype/freetype/src/cid/cidload.h diff --git a/tools/freetype/freetype/src/cid/cidobjs.c b/drivers/freetype/freetype/src/cid/cidobjs.c similarity index 100% rename from tools/freetype/freetype/src/cid/cidobjs.c rename to drivers/freetype/freetype/src/cid/cidobjs.c diff --git a/tools/freetype/freetype/src/cid/cidobjs.h b/drivers/freetype/freetype/src/cid/cidobjs.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidobjs.h rename to drivers/freetype/freetype/src/cid/cidobjs.h diff --git a/tools/freetype/freetype/src/cid/cidparse.c b/drivers/freetype/freetype/src/cid/cidparse.c similarity index 100% rename from tools/freetype/freetype/src/cid/cidparse.c rename to drivers/freetype/freetype/src/cid/cidparse.c diff --git a/tools/freetype/freetype/src/cid/cidparse.h b/drivers/freetype/freetype/src/cid/cidparse.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidparse.h rename to drivers/freetype/freetype/src/cid/cidparse.h diff --git a/tools/freetype/freetype/src/cid/cidriver.c b/drivers/freetype/freetype/src/cid/cidriver.c similarity index 100% rename from tools/freetype/freetype/src/cid/cidriver.c rename to drivers/freetype/freetype/src/cid/cidriver.c diff --git a/tools/freetype/freetype/src/cid/cidriver.h b/drivers/freetype/freetype/src/cid/cidriver.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidriver.h rename to drivers/freetype/freetype/src/cid/cidriver.h diff --git a/tools/freetype/freetype/src/cid/cidtoken.h b/drivers/freetype/freetype/src/cid/cidtoken.h similarity index 100% rename from tools/freetype/freetype/src/cid/cidtoken.h rename to drivers/freetype/freetype/src/cid/cidtoken.h diff --git a/tools/freetype/freetype/src/cid/module.mk b/drivers/freetype/freetype/src/cid/module.mk similarity index 100% rename from tools/freetype/freetype/src/cid/module.mk rename to drivers/freetype/freetype/src/cid/module.mk diff --git a/tools/freetype/freetype/src/cid/rules.mk b/drivers/freetype/freetype/src/cid/rules.mk similarity index 100% rename from tools/freetype/freetype/src/cid/rules.mk rename to drivers/freetype/freetype/src/cid/rules.mk diff --git a/tools/freetype/freetype/src/cid/type1cid.c b/drivers/freetype/freetype/src/cid/type1cid.c similarity index 100% rename from tools/freetype/freetype/src/cid/type1cid.c rename to drivers/freetype/freetype/src/cid/type1cid.c diff --git a/tools/freetype/freetype/src/gxvalid/Jamfile b/drivers/freetype/freetype/src/gxvalid/Jamfile similarity index 100% rename from tools/freetype/freetype/src/gxvalid/Jamfile rename to drivers/freetype/freetype/src/gxvalid/Jamfile diff --git a/tools/freetype/freetype/src/gxvalid/README b/drivers/freetype/freetype/src/gxvalid/README similarity index 100% rename from tools/freetype/freetype/src/gxvalid/README rename to drivers/freetype/freetype/src/gxvalid/README diff --git a/tools/freetype/freetype/src/gxvalid/gxvalid.c b/drivers/freetype/freetype/src/gxvalid/gxvalid.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvalid.c rename to drivers/freetype/freetype/src/gxvalid/gxvalid.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvalid.h b/drivers/freetype/freetype/src/gxvalid/gxvalid.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvalid.h rename to drivers/freetype/freetype/src/gxvalid/gxvalid.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvbsln.c b/drivers/freetype/freetype/src/gxvalid/gxvbsln.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvbsln.c rename to drivers/freetype/freetype/src/gxvalid/gxvbsln.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvcommn.c b/drivers/freetype/freetype/src/gxvalid/gxvcommn.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvcommn.c rename to drivers/freetype/freetype/src/gxvalid/gxvcommn.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvcommn.h b/drivers/freetype/freetype/src/gxvalid/gxvcommn.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvcommn.h rename to drivers/freetype/freetype/src/gxvalid/gxvcommn.h diff --git a/tools/freetype/freetype/src/gxvalid/gxverror.h b/drivers/freetype/freetype/src/gxvalid/gxverror.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxverror.h rename to drivers/freetype/freetype/src/gxvalid/gxverror.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvfeat.c b/drivers/freetype/freetype/src/gxvalid/gxvfeat.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvfeat.c rename to drivers/freetype/freetype/src/gxvalid/gxvfeat.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvfeat.h b/drivers/freetype/freetype/src/gxvalid/gxvfeat.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvfeat.h rename to drivers/freetype/freetype/src/gxvalid/gxvfeat.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvfgen.c b/drivers/freetype/freetype/src/gxvalid/gxvfgen.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvfgen.c rename to drivers/freetype/freetype/src/gxvalid/gxvfgen.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvjust.c b/drivers/freetype/freetype/src/gxvalid/gxvjust.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvjust.c rename to drivers/freetype/freetype/src/gxvalid/gxvjust.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvkern.c b/drivers/freetype/freetype/src/gxvalid/gxvkern.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvkern.c rename to drivers/freetype/freetype/src/gxvalid/gxvkern.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvlcar.c b/drivers/freetype/freetype/src/gxvalid/gxvlcar.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvlcar.c rename to drivers/freetype/freetype/src/gxvalid/gxvlcar.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmod.c b/drivers/freetype/freetype/src/gxvalid/gxvmod.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmod.c rename to drivers/freetype/freetype/src/gxvalid/gxvmod.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmod.h b/drivers/freetype/freetype/src/gxvalid/gxvmod.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmod.h rename to drivers/freetype/freetype/src/gxvalid/gxvmod.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort.c b/drivers/freetype/freetype/src/gxvalid/gxvmort.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort.h b/drivers/freetype/freetype/src/gxvalid/gxvmort.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort.h rename to drivers/freetype/freetype/src/gxvalid/gxvmort.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort0.c b/drivers/freetype/freetype/src/gxvalid/gxvmort0.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort0.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort0.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort1.c b/drivers/freetype/freetype/src/gxvalid/gxvmort1.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort1.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort1.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort2.c b/drivers/freetype/freetype/src/gxvalid/gxvmort2.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort2.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort2.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort4.c b/drivers/freetype/freetype/src/gxvalid/gxvmort4.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort4.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort4.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmort5.c b/drivers/freetype/freetype/src/gxvalid/gxvmort5.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmort5.c rename to drivers/freetype/freetype/src/gxvalid/gxvmort5.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx.h b/drivers/freetype/freetype/src/gxvalid/gxvmorx.h similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx.h rename to drivers/freetype/freetype/src/gxvalid/gxvmorx.h diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx0.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx0.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx0.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx0.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx1.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx1.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx1.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx1.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx2.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx2.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx2.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx2.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx4.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx4.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx4.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx4.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvmorx5.c b/drivers/freetype/freetype/src/gxvalid/gxvmorx5.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvmorx5.c rename to drivers/freetype/freetype/src/gxvalid/gxvmorx5.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvopbd.c b/drivers/freetype/freetype/src/gxvalid/gxvopbd.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvopbd.c rename to drivers/freetype/freetype/src/gxvalid/gxvopbd.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvprop.c b/drivers/freetype/freetype/src/gxvalid/gxvprop.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvprop.c rename to drivers/freetype/freetype/src/gxvalid/gxvprop.c diff --git a/tools/freetype/freetype/src/gxvalid/gxvtrak.c b/drivers/freetype/freetype/src/gxvalid/gxvtrak.c similarity index 100% rename from tools/freetype/freetype/src/gxvalid/gxvtrak.c rename to drivers/freetype/freetype/src/gxvalid/gxvtrak.c diff --git a/tools/freetype/freetype/src/gxvalid/module.mk b/drivers/freetype/freetype/src/gxvalid/module.mk similarity index 100% rename from tools/freetype/freetype/src/gxvalid/module.mk rename to drivers/freetype/freetype/src/gxvalid/module.mk diff --git a/tools/freetype/freetype/src/gxvalid/rules.mk b/drivers/freetype/freetype/src/gxvalid/rules.mk similarity index 100% rename from tools/freetype/freetype/src/gxvalid/rules.mk rename to drivers/freetype/freetype/src/gxvalid/rules.mk diff --git a/tools/freetype/freetype/src/otvalid/Jamfile b/drivers/freetype/freetype/src/otvalid/Jamfile similarity index 100% rename from tools/freetype/freetype/src/otvalid/Jamfile rename to drivers/freetype/freetype/src/otvalid/Jamfile diff --git a/tools/freetype/freetype/src/otvalid/module.mk b/drivers/freetype/freetype/src/otvalid/module.mk similarity index 100% rename from tools/freetype/freetype/src/otvalid/module.mk rename to drivers/freetype/freetype/src/otvalid/module.mk diff --git a/tools/freetype/freetype/src/otvalid/otvalid.c b/drivers/freetype/freetype/src/otvalid/otvalid.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvalid.c rename to drivers/freetype/freetype/src/otvalid/otvalid.c diff --git a/tools/freetype/freetype/src/otvalid/otvalid.h b/drivers/freetype/freetype/src/otvalid/otvalid.h similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvalid.h rename to drivers/freetype/freetype/src/otvalid/otvalid.h diff --git a/tools/freetype/freetype/src/otvalid/otvbase.c b/drivers/freetype/freetype/src/otvalid/otvbase.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvbase.c rename to drivers/freetype/freetype/src/otvalid/otvbase.c diff --git a/tools/freetype/freetype/src/otvalid/otvcommn.c b/drivers/freetype/freetype/src/otvalid/otvcommn.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvcommn.c rename to drivers/freetype/freetype/src/otvalid/otvcommn.c diff --git a/tools/freetype/freetype/src/otvalid/otvcommn.h b/drivers/freetype/freetype/src/otvalid/otvcommn.h similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvcommn.h rename to drivers/freetype/freetype/src/otvalid/otvcommn.h diff --git a/tools/freetype/freetype/src/otvalid/otverror.h b/drivers/freetype/freetype/src/otvalid/otverror.h similarity index 100% rename from tools/freetype/freetype/src/otvalid/otverror.h rename to drivers/freetype/freetype/src/otvalid/otverror.h diff --git a/tools/freetype/freetype/src/otvalid/otvgdef.c b/drivers/freetype/freetype/src/otvalid/otvgdef.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvgdef.c rename to drivers/freetype/freetype/src/otvalid/otvgdef.c diff --git a/tools/freetype/freetype/src/otvalid/otvgpos.c b/drivers/freetype/freetype/src/otvalid/otvgpos.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvgpos.c rename to drivers/freetype/freetype/src/otvalid/otvgpos.c diff --git a/tools/freetype/freetype/src/otvalid/otvgpos.h b/drivers/freetype/freetype/src/otvalid/otvgpos.h similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvgpos.h rename to drivers/freetype/freetype/src/otvalid/otvgpos.h diff --git a/tools/freetype/freetype/src/otvalid/otvgsub.c b/drivers/freetype/freetype/src/otvalid/otvgsub.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvgsub.c rename to drivers/freetype/freetype/src/otvalid/otvgsub.c diff --git a/tools/freetype/freetype/src/otvalid/otvjstf.c b/drivers/freetype/freetype/src/otvalid/otvjstf.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvjstf.c rename to drivers/freetype/freetype/src/otvalid/otvjstf.c diff --git a/tools/freetype/freetype/src/otvalid/otvmath.c b/drivers/freetype/freetype/src/otvalid/otvmath.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvmath.c rename to drivers/freetype/freetype/src/otvalid/otvmath.c diff --git a/tools/freetype/freetype/src/otvalid/otvmod.c b/drivers/freetype/freetype/src/otvalid/otvmod.c similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvmod.c rename to drivers/freetype/freetype/src/otvalid/otvmod.c diff --git a/tools/freetype/freetype/src/otvalid/otvmod.h b/drivers/freetype/freetype/src/otvalid/otvmod.h similarity index 100% rename from tools/freetype/freetype/src/otvalid/otvmod.h rename to drivers/freetype/freetype/src/otvalid/otvmod.h diff --git a/tools/freetype/freetype/src/otvalid/rules.mk b/drivers/freetype/freetype/src/otvalid/rules.mk similarity index 100% rename from tools/freetype/freetype/src/otvalid/rules.mk rename to drivers/freetype/freetype/src/otvalid/rules.mk diff --git a/tools/freetype/freetype/src/pcf/Jamfile b/drivers/freetype/freetype/src/pcf/Jamfile similarity index 100% rename from tools/freetype/freetype/src/pcf/Jamfile rename to drivers/freetype/freetype/src/pcf/Jamfile diff --git a/tools/freetype/freetype/src/pcf/README b/drivers/freetype/freetype/src/pcf/README similarity index 100% rename from tools/freetype/freetype/src/pcf/README rename to drivers/freetype/freetype/src/pcf/README diff --git a/tools/freetype/freetype/src/pcf/module.mk b/drivers/freetype/freetype/src/pcf/module.mk similarity index 100% rename from tools/freetype/freetype/src/pcf/module.mk rename to drivers/freetype/freetype/src/pcf/module.mk diff --git a/tools/freetype/freetype/src/pcf/pcf.c b/drivers/freetype/freetype/src/pcf/pcf.c similarity index 100% rename from tools/freetype/freetype/src/pcf/pcf.c rename to drivers/freetype/freetype/src/pcf/pcf.c diff --git a/tools/freetype/freetype/src/pcf/pcf.h b/drivers/freetype/freetype/src/pcf/pcf.h similarity index 100% rename from tools/freetype/freetype/src/pcf/pcf.h rename to drivers/freetype/freetype/src/pcf/pcf.h diff --git a/tools/freetype/freetype/src/pcf/pcfdrivr.c b/drivers/freetype/freetype/src/pcf/pcfdrivr.c similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfdrivr.c rename to drivers/freetype/freetype/src/pcf/pcfdrivr.c diff --git a/tools/freetype/freetype/src/pcf/pcfdrivr.h b/drivers/freetype/freetype/src/pcf/pcfdrivr.h similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfdrivr.h rename to drivers/freetype/freetype/src/pcf/pcfdrivr.h diff --git a/tools/freetype/freetype/src/pcf/pcferror.h b/drivers/freetype/freetype/src/pcf/pcferror.h similarity index 100% rename from tools/freetype/freetype/src/pcf/pcferror.h rename to drivers/freetype/freetype/src/pcf/pcferror.h diff --git a/tools/freetype/freetype/src/pcf/pcfread.c b/drivers/freetype/freetype/src/pcf/pcfread.c similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfread.c rename to drivers/freetype/freetype/src/pcf/pcfread.c diff --git a/tools/freetype/freetype/src/pcf/pcfread.h b/drivers/freetype/freetype/src/pcf/pcfread.h similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfread.h rename to drivers/freetype/freetype/src/pcf/pcfread.h diff --git a/tools/freetype/freetype/src/pcf/pcfutil.c b/drivers/freetype/freetype/src/pcf/pcfutil.c similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfutil.c rename to drivers/freetype/freetype/src/pcf/pcfutil.c diff --git a/tools/freetype/freetype/src/pcf/pcfutil.h b/drivers/freetype/freetype/src/pcf/pcfutil.h similarity index 100% rename from tools/freetype/freetype/src/pcf/pcfutil.h rename to drivers/freetype/freetype/src/pcf/pcfutil.h diff --git a/tools/freetype/freetype/src/pcf/rules.mk b/drivers/freetype/freetype/src/pcf/rules.mk similarity index 100% rename from tools/freetype/freetype/src/pcf/rules.mk rename to drivers/freetype/freetype/src/pcf/rules.mk diff --git a/tools/freetype/freetype/src/pfr/Jamfile b/drivers/freetype/freetype/src/pfr/Jamfile similarity index 100% rename from tools/freetype/freetype/src/pfr/Jamfile rename to drivers/freetype/freetype/src/pfr/Jamfile diff --git a/tools/freetype/freetype/src/pfr/module.mk b/drivers/freetype/freetype/src/pfr/module.mk similarity index 100% rename from tools/freetype/freetype/src/pfr/module.mk rename to drivers/freetype/freetype/src/pfr/module.mk diff --git a/tools/freetype/freetype/src/pfr/pfr.c b/drivers/freetype/freetype/src/pfr/pfr.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfr.c rename to drivers/freetype/freetype/src/pfr/pfr.c diff --git a/tools/freetype/freetype/src/pfr/pfrcmap.c b/drivers/freetype/freetype/src/pfr/pfrcmap.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrcmap.c rename to drivers/freetype/freetype/src/pfr/pfrcmap.c diff --git a/tools/freetype/freetype/src/pfr/pfrcmap.h b/drivers/freetype/freetype/src/pfr/pfrcmap.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrcmap.h rename to drivers/freetype/freetype/src/pfr/pfrcmap.h diff --git a/tools/freetype/freetype/src/pfr/pfrdrivr.c b/drivers/freetype/freetype/src/pfr/pfrdrivr.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrdrivr.c rename to drivers/freetype/freetype/src/pfr/pfrdrivr.c diff --git a/tools/freetype/freetype/src/pfr/pfrdrivr.h b/drivers/freetype/freetype/src/pfr/pfrdrivr.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrdrivr.h rename to drivers/freetype/freetype/src/pfr/pfrdrivr.h diff --git a/tools/freetype/freetype/src/pfr/pfrerror.h b/drivers/freetype/freetype/src/pfr/pfrerror.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrerror.h rename to drivers/freetype/freetype/src/pfr/pfrerror.h diff --git a/tools/freetype/freetype/src/pfr/pfrgload.c b/drivers/freetype/freetype/src/pfr/pfrgload.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrgload.c rename to drivers/freetype/freetype/src/pfr/pfrgload.c diff --git a/tools/freetype/freetype/src/pfr/pfrgload.h b/drivers/freetype/freetype/src/pfr/pfrgload.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrgload.h rename to drivers/freetype/freetype/src/pfr/pfrgload.h diff --git a/tools/freetype/freetype/src/pfr/pfrload.c b/drivers/freetype/freetype/src/pfr/pfrload.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrload.c rename to drivers/freetype/freetype/src/pfr/pfrload.c diff --git a/tools/freetype/freetype/src/pfr/pfrload.h b/drivers/freetype/freetype/src/pfr/pfrload.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrload.h rename to drivers/freetype/freetype/src/pfr/pfrload.h diff --git a/tools/freetype/freetype/src/pfr/pfrobjs.c b/drivers/freetype/freetype/src/pfr/pfrobjs.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrobjs.c rename to drivers/freetype/freetype/src/pfr/pfrobjs.c diff --git a/tools/freetype/freetype/src/pfr/pfrobjs.h b/drivers/freetype/freetype/src/pfr/pfrobjs.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrobjs.h rename to drivers/freetype/freetype/src/pfr/pfrobjs.h diff --git a/tools/freetype/freetype/src/pfr/pfrsbit.c b/drivers/freetype/freetype/src/pfr/pfrsbit.c similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrsbit.c rename to drivers/freetype/freetype/src/pfr/pfrsbit.c diff --git a/tools/freetype/freetype/src/pfr/pfrsbit.h b/drivers/freetype/freetype/src/pfr/pfrsbit.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrsbit.h rename to drivers/freetype/freetype/src/pfr/pfrsbit.h diff --git a/tools/freetype/freetype/src/pfr/pfrtypes.h b/drivers/freetype/freetype/src/pfr/pfrtypes.h similarity index 100% rename from tools/freetype/freetype/src/pfr/pfrtypes.h rename to drivers/freetype/freetype/src/pfr/pfrtypes.h diff --git a/tools/freetype/freetype/src/pfr/rules.mk b/drivers/freetype/freetype/src/pfr/rules.mk similarity index 100% rename from tools/freetype/freetype/src/pfr/rules.mk rename to drivers/freetype/freetype/src/pfr/rules.mk diff --git a/tools/freetype/freetype/src/psaux/Jamfile b/drivers/freetype/freetype/src/psaux/Jamfile similarity index 100% rename from tools/freetype/freetype/src/psaux/Jamfile rename to drivers/freetype/freetype/src/psaux/Jamfile diff --git a/tools/freetype/freetype/src/psaux/afmparse.c b/drivers/freetype/freetype/src/psaux/afmparse.c similarity index 100% rename from tools/freetype/freetype/src/psaux/afmparse.c rename to drivers/freetype/freetype/src/psaux/afmparse.c diff --git a/tools/freetype/freetype/src/psaux/afmparse.h b/drivers/freetype/freetype/src/psaux/afmparse.h similarity index 100% rename from tools/freetype/freetype/src/psaux/afmparse.h rename to drivers/freetype/freetype/src/psaux/afmparse.h diff --git a/tools/freetype/freetype/src/psaux/module.mk b/drivers/freetype/freetype/src/psaux/module.mk similarity index 100% rename from tools/freetype/freetype/src/psaux/module.mk rename to drivers/freetype/freetype/src/psaux/module.mk diff --git a/tools/freetype/freetype/src/psaux/psaux.c b/drivers/freetype/freetype/src/psaux/psaux.c similarity index 100% rename from tools/freetype/freetype/src/psaux/psaux.c rename to drivers/freetype/freetype/src/psaux/psaux.c diff --git a/tools/freetype/freetype/src/psaux/psauxerr.h b/drivers/freetype/freetype/src/psaux/psauxerr.h similarity index 100% rename from tools/freetype/freetype/src/psaux/psauxerr.h rename to drivers/freetype/freetype/src/psaux/psauxerr.h diff --git a/tools/freetype/freetype/src/psaux/psauxmod.c b/drivers/freetype/freetype/src/psaux/psauxmod.c similarity index 100% rename from tools/freetype/freetype/src/psaux/psauxmod.c rename to drivers/freetype/freetype/src/psaux/psauxmod.c diff --git a/tools/freetype/freetype/src/psaux/psauxmod.h b/drivers/freetype/freetype/src/psaux/psauxmod.h similarity index 100% rename from tools/freetype/freetype/src/psaux/psauxmod.h rename to drivers/freetype/freetype/src/psaux/psauxmod.h diff --git a/tools/freetype/freetype/src/psaux/psconv.c b/drivers/freetype/freetype/src/psaux/psconv.c similarity index 100% rename from tools/freetype/freetype/src/psaux/psconv.c rename to drivers/freetype/freetype/src/psaux/psconv.c diff --git a/tools/freetype/freetype/src/psaux/psconv.h b/drivers/freetype/freetype/src/psaux/psconv.h similarity index 100% rename from tools/freetype/freetype/src/psaux/psconv.h rename to drivers/freetype/freetype/src/psaux/psconv.h diff --git a/tools/freetype/freetype/src/psaux/psobjs.c b/drivers/freetype/freetype/src/psaux/psobjs.c similarity index 100% rename from tools/freetype/freetype/src/psaux/psobjs.c rename to drivers/freetype/freetype/src/psaux/psobjs.c diff --git a/tools/freetype/freetype/src/psaux/psobjs.h b/drivers/freetype/freetype/src/psaux/psobjs.h similarity index 100% rename from tools/freetype/freetype/src/psaux/psobjs.h rename to drivers/freetype/freetype/src/psaux/psobjs.h diff --git a/tools/freetype/freetype/src/psaux/rules.mk b/drivers/freetype/freetype/src/psaux/rules.mk similarity index 100% rename from tools/freetype/freetype/src/psaux/rules.mk rename to drivers/freetype/freetype/src/psaux/rules.mk diff --git a/tools/freetype/freetype/src/psaux/t1cmap.c b/drivers/freetype/freetype/src/psaux/t1cmap.c similarity index 100% rename from tools/freetype/freetype/src/psaux/t1cmap.c rename to drivers/freetype/freetype/src/psaux/t1cmap.c diff --git a/tools/freetype/freetype/src/psaux/t1cmap.h b/drivers/freetype/freetype/src/psaux/t1cmap.h similarity index 100% rename from tools/freetype/freetype/src/psaux/t1cmap.h rename to drivers/freetype/freetype/src/psaux/t1cmap.h diff --git a/tools/freetype/freetype/src/psaux/t1decode.c b/drivers/freetype/freetype/src/psaux/t1decode.c similarity index 100% rename from tools/freetype/freetype/src/psaux/t1decode.c rename to drivers/freetype/freetype/src/psaux/t1decode.c diff --git a/tools/freetype/freetype/src/psaux/t1decode.h b/drivers/freetype/freetype/src/psaux/t1decode.h similarity index 100% rename from tools/freetype/freetype/src/psaux/t1decode.h rename to drivers/freetype/freetype/src/psaux/t1decode.h diff --git a/tools/freetype/freetype/src/pshinter/Jamfile b/drivers/freetype/freetype/src/pshinter/Jamfile similarity index 100% rename from tools/freetype/freetype/src/pshinter/Jamfile rename to drivers/freetype/freetype/src/pshinter/Jamfile diff --git a/tools/freetype/freetype/src/pshinter/module.mk b/drivers/freetype/freetype/src/pshinter/module.mk similarity index 100% rename from tools/freetype/freetype/src/pshinter/module.mk rename to drivers/freetype/freetype/src/pshinter/module.mk diff --git a/tools/freetype/freetype/src/pshinter/pshalgo.c b/drivers/freetype/freetype/src/pshinter/pshalgo.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshalgo.c rename to drivers/freetype/freetype/src/pshinter/pshalgo.c diff --git a/tools/freetype/freetype/src/pshinter/pshalgo.h b/drivers/freetype/freetype/src/pshinter/pshalgo.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshalgo.h rename to drivers/freetype/freetype/src/pshinter/pshalgo.h diff --git a/tools/freetype/freetype/src/pshinter/pshglob.c b/drivers/freetype/freetype/src/pshinter/pshglob.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshglob.c rename to drivers/freetype/freetype/src/pshinter/pshglob.c diff --git a/tools/freetype/freetype/src/pshinter/pshglob.h b/drivers/freetype/freetype/src/pshinter/pshglob.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshglob.h rename to drivers/freetype/freetype/src/pshinter/pshglob.h diff --git a/tools/freetype/freetype/src/pshinter/pshinter.c b/drivers/freetype/freetype/src/pshinter/pshinter.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshinter.c rename to drivers/freetype/freetype/src/pshinter/pshinter.c diff --git a/tools/freetype/freetype/src/pshinter/pshmod.c b/drivers/freetype/freetype/src/pshinter/pshmod.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshmod.c rename to drivers/freetype/freetype/src/pshinter/pshmod.c diff --git a/tools/freetype/freetype/src/pshinter/pshmod.h b/drivers/freetype/freetype/src/pshinter/pshmod.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshmod.h rename to drivers/freetype/freetype/src/pshinter/pshmod.h diff --git a/tools/freetype/freetype/src/pshinter/pshnterr.h b/drivers/freetype/freetype/src/pshinter/pshnterr.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshnterr.h rename to drivers/freetype/freetype/src/pshinter/pshnterr.h diff --git a/tools/freetype/freetype/src/pshinter/pshpic.c b/drivers/freetype/freetype/src/pshinter/pshpic.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshpic.c rename to drivers/freetype/freetype/src/pshinter/pshpic.c diff --git a/tools/freetype/freetype/src/pshinter/pshpic.h b/drivers/freetype/freetype/src/pshinter/pshpic.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshpic.h rename to drivers/freetype/freetype/src/pshinter/pshpic.h diff --git a/tools/freetype/freetype/src/pshinter/pshrec.c b/drivers/freetype/freetype/src/pshinter/pshrec.c similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshrec.c rename to drivers/freetype/freetype/src/pshinter/pshrec.c diff --git a/tools/freetype/freetype/src/pshinter/pshrec.h b/drivers/freetype/freetype/src/pshinter/pshrec.h similarity index 100% rename from tools/freetype/freetype/src/pshinter/pshrec.h rename to drivers/freetype/freetype/src/pshinter/pshrec.h diff --git a/tools/freetype/freetype/src/pshinter/rules.mk b/drivers/freetype/freetype/src/pshinter/rules.mk similarity index 100% rename from tools/freetype/freetype/src/pshinter/rules.mk rename to drivers/freetype/freetype/src/pshinter/rules.mk diff --git a/tools/freetype/freetype/src/psnames/Jamfile b/drivers/freetype/freetype/src/psnames/Jamfile similarity index 100% rename from tools/freetype/freetype/src/psnames/Jamfile rename to drivers/freetype/freetype/src/psnames/Jamfile diff --git a/tools/freetype/freetype/src/psnames/module.mk b/drivers/freetype/freetype/src/psnames/module.mk similarity index 100% rename from tools/freetype/freetype/src/psnames/module.mk rename to drivers/freetype/freetype/src/psnames/module.mk diff --git a/tools/freetype/freetype/src/psnames/psmodule.c b/drivers/freetype/freetype/src/psnames/psmodule.c similarity index 100% rename from tools/freetype/freetype/src/psnames/psmodule.c rename to drivers/freetype/freetype/src/psnames/psmodule.c diff --git a/tools/freetype/freetype/src/psnames/psmodule.h b/drivers/freetype/freetype/src/psnames/psmodule.h similarity index 100% rename from tools/freetype/freetype/src/psnames/psmodule.h rename to drivers/freetype/freetype/src/psnames/psmodule.h diff --git a/tools/freetype/freetype/src/psnames/psnamerr.h b/drivers/freetype/freetype/src/psnames/psnamerr.h similarity index 100% rename from tools/freetype/freetype/src/psnames/psnamerr.h rename to drivers/freetype/freetype/src/psnames/psnamerr.h diff --git a/tools/freetype/freetype/src/psnames/psnames.c b/drivers/freetype/freetype/src/psnames/psnames.c similarity index 100% rename from tools/freetype/freetype/src/psnames/psnames.c rename to drivers/freetype/freetype/src/psnames/psnames.c diff --git a/tools/freetype/freetype/src/psnames/pspic.c b/drivers/freetype/freetype/src/psnames/pspic.c similarity index 100% rename from tools/freetype/freetype/src/psnames/pspic.c rename to drivers/freetype/freetype/src/psnames/pspic.c diff --git a/tools/freetype/freetype/src/psnames/pspic.h b/drivers/freetype/freetype/src/psnames/pspic.h similarity index 100% rename from tools/freetype/freetype/src/psnames/pspic.h rename to drivers/freetype/freetype/src/psnames/pspic.h diff --git a/tools/freetype/freetype/src/psnames/pstables.h b/drivers/freetype/freetype/src/psnames/pstables.h similarity index 100% rename from tools/freetype/freetype/src/psnames/pstables.h rename to drivers/freetype/freetype/src/psnames/pstables.h diff --git a/tools/freetype/freetype/src/psnames/rules.mk b/drivers/freetype/freetype/src/psnames/rules.mk similarity index 100% rename from tools/freetype/freetype/src/psnames/rules.mk rename to drivers/freetype/freetype/src/psnames/rules.mk diff --git a/tools/freetype/freetype/src/raster/Jamfile b/drivers/freetype/freetype/src/raster/Jamfile similarity index 100% rename from tools/freetype/freetype/src/raster/Jamfile rename to drivers/freetype/freetype/src/raster/Jamfile diff --git a/tools/freetype/freetype/src/raster/ftmisc.h b/drivers/freetype/freetype/src/raster/ftmisc.h similarity index 100% rename from tools/freetype/freetype/src/raster/ftmisc.h rename to drivers/freetype/freetype/src/raster/ftmisc.h diff --git a/tools/freetype/freetype/src/raster/ftraster.c b/drivers/freetype/freetype/src/raster/ftraster.c similarity index 100% rename from tools/freetype/freetype/src/raster/ftraster.c rename to drivers/freetype/freetype/src/raster/ftraster.c diff --git a/tools/freetype/freetype/src/raster/ftraster.h b/drivers/freetype/freetype/src/raster/ftraster.h similarity index 100% rename from tools/freetype/freetype/src/raster/ftraster.h rename to drivers/freetype/freetype/src/raster/ftraster.h diff --git a/tools/freetype/freetype/src/raster/ftrend1.c b/drivers/freetype/freetype/src/raster/ftrend1.c similarity index 100% rename from tools/freetype/freetype/src/raster/ftrend1.c rename to drivers/freetype/freetype/src/raster/ftrend1.c diff --git a/tools/freetype/freetype/src/raster/ftrend1.h b/drivers/freetype/freetype/src/raster/ftrend1.h similarity index 100% rename from tools/freetype/freetype/src/raster/ftrend1.h rename to drivers/freetype/freetype/src/raster/ftrend1.h diff --git a/tools/freetype/freetype/src/raster/module.mk b/drivers/freetype/freetype/src/raster/module.mk similarity index 100% rename from tools/freetype/freetype/src/raster/module.mk rename to drivers/freetype/freetype/src/raster/module.mk diff --git a/tools/freetype/freetype/src/raster/raster.c b/drivers/freetype/freetype/src/raster/raster.c similarity index 100% rename from tools/freetype/freetype/src/raster/raster.c rename to drivers/freetype/freetype/src/raster/raster.c diff --git a/tools/freetype/freetype/src/raster/rasterrs.h b/drivers/freetype/freetype/src/raster/rasterrs.h similarity index 100% rename from tools/freetype/freetype/src/raster/rasterrs.h rename to drivers/freetype/freetype/src/raster/rasterrs.h diff --git a/tools/freetype/freetype/src/raster/rastpic.c b/drivers/freetype/freetype/src/raster/rastpic.c similarity index 100% rename from tools/freetype/freetype/src/raster/rastpic.c rename to drivers/freetype/freetype/src/raster/rastpic.c diff --git a/tools/freetype/freetype/src/raster/rastpic.h b/drivers/freetype/freetype/src/raster/rastpic.h similarity index 100% rename from tools/freetype/freetype/src/raster/rastpic.h rename to drivers/freetype/freetype/src/raster/rastpic.h diff --git a/tools/freetype/freetype/src/raster/rules.mk b/drivers/freetype/freetype/src/raster/rules.mk similarity index 100% rename from tools/freetype/freetype/src/raster/rules.mk rename to drivers/freetype/freetype/src/raster/rules.mk diff --git a/tools/freetype/freetype/src/sfnt/Jamfile b/drivers/freetype/freetype/src/sfnt/Jamfile similarity index 100% rename from tools/freetype/freetype/src/sfnt/Jamfile rename to drivers/freetype/freetype/src/sfnt/Jamfile diff --git a/tools/freetype/freetype/src/sfnt/module.mk b/drivers/freetype/freetype/src/sfnt/module.mk similarity index 100% rename from tools/freetype/freetype/src/sfnt/module.mk rename to drivers/freetype/freetype/src/sfnt/module.mk diff --git a/tools/freetype/freetype/src/sfnt/pngshim.c b/drivers/freetype/freetype/src/sfnt/pngshim.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/pngshim.c rename to drivers/freetype/freetype/src/sfnt/pngshim.c diff --git a/tools/freetype/freetype/src/sfnt/pngshim.h b/drivers/freetype/freetype/src/sfnt/pngshim.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/pngshim.h rename to drivers/freetype/freetype/src/sfnt/pngshim.h diff --git a/tools/freetype/freetype/src/sfnt/rules.mk b/drivers/freetype/freetype/src/sfnt/rules.mk similarity index 100% rename from tools/freetype/freetype/src/sfnt/rules.mk rename to drivers/freetype/freetype/src/sfnt/rules.mk diff --git a/tools/freetype/freetype/src/sfnt/sfdriver.c b/drivers/freetype/freetype/src/sfnt/sfdriver.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfdriver.c rename to drivers/freetype/freetype/src/sfnt/sfdriver.c diff --git a/tools/freetype/freetype/src/sfnt/sfdriver.h b/drivers/freetype/freetype/src/sfnt/sfdriver.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfdriver.h rename to drivers/freetype/freetype/src/sfnt/sfdriver.h diff --git a/tools/freetype/freetype/src/sfnt/sferrors.h b/drivers/freetype/freetype/src/sfnt/sferrors.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/sferrors.h rename to drivers/freetype/freetype/src/sfnt/sferrors.h diff --git a/tools/freetype/freetype/src/sfnt/sfnt.c b/drivers/freetype/freetype/src/sfnt/sfnt.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfnt.c rename to drivers/freetype/freetype/src/sfnt/sfnt.c diff --git a/tools/freetype/freetype/src/sfnt/sfntpic.c b/drivers/freetype/freetype/src/sfnt/sfntpic.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfntpic.c rename to drivers/freetype/freetype/src/sfnt/sfntpic.c diff --git a/tools/freetype/freetype/src/sfnt/sfntpic.h b/drivers/freetype/freetype/src/sfnt/sfntpic.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfntpic.h rename to drivers/freetype/freetype/src/sfnt/sfntpic.h diff --git a/tools/freetype/freetype/src/sfnt/sfobjs.c b/drivers/freetype/freetype/src/sfnt/sfobjs.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfobjs.c rename to drivers/freetype/freetype/src/sfnt/sfobjs.c diff --git a/tools/freetype/freetype/src/sfnt/sfobjs.h b/drivers/freetype/freetype/src/sfnt/sfobjs.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/sfobjs.h rename to drivers/freetype/freetype/src/sfnt/sfobjs.h diff --git a/tools/freetype/freetype/src/sfnt/ttbdf.c b/drivers/freetype/freetype/src/sfnt/ttbdf.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttbdf.c rename to drivers/freetype/freetype/src/sfnt/ttbdf.c diff --git a/tools/freetype/freetype/src/sfnt/ttbdf.h b/drivers/freetype/freetype/src/sfnt/ttbdf.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttbdf.h rename to drivers/freetype/freetype/src/sfnt/ttbdf.h diff --git a/tools/freetype/freetype/src/sfnt/ttcmap.c b/drivers/freetype/freetype/src/sfnt/ttcmap.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttcmap.c rename to drivers/freetype/freetype/src/sfnt/ttcmap.c diff --git a/tools/freetype/freetype/src/sfnt/ttcmap.h b/drivers/freetype/freetype/src/sfnt/ttcmap.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttcmap.h rename to drivers/freetype/freetype/src/sfnt/ttcmap.h diff --git a/tools/freetype/freetype/src/sfnt/ttcmapc.h b/drivers/freetype/freetype/src/sfnt/ttcmapc.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttcmapc.h rename to drivers/freetype/freetype/src/sfnt/ttcmapc.h diff --git a/tools/freetype/freetype/src/sfnt/ttkern.c b/drivers/freetype/freetype/src/sfnt/ttkern.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttkern.c rename to drivers/freetype/freetype/src/sfnt/ttkern.c diff --git a/tools/freetype/freetype/src/sfnt/ttkern.h b/drivers/freetype/freetype/src/sfnt/ttkern.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttkern.h rename to drivers/freetype/freetype/src/sfnt/ttkern.h diff --git a/tools/freetype/freetype/src/sfnt/ttload.c b/drivers/freetype/freetype/src/sfnt/ttload.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttload.c rename to drivers/freetype/freetype/src/sfnt/ttload.c diff --git a/tools/freetype/freetype/src/sfnt/ttload.h b/drivers/freetype/freetype/src/sfnt/ttload.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttload.h rename to drivers/freetype/freetype/src/sfnt/ttload.h diff --git a/tools/freetype/freetype/src/sfnt/ttmtx.c b/drivers/freetype/freetype/src/sfnt/ttmtx.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttmtx.c rename to drivers/freetype/freetype/src/sfnt/ttmtx.c diff --git a/tools/freetype/freetype/src/sfnt/ttmtx.h b/drivers/freetype/freetype/src/sfnt/ttmtx.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttmtx.h rename to drivers/freetype/freetype/src/sfnt/ttmtx.h diff --git a/tools/freetype/freetype/src/sfnt/ttpost.c b/drivers/freetype/freetype/src/sfnt/ttpost.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttpost.c rename to drivers/freetype/freetype/src/sfnt/ttpost.c diff --git a/tools/freetype/freetype/src/sfnt/ttpost.h b/drivers/freetype/freetype/src/sfnt/ttpost.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttpost.h rename to drivers/freetype/freetype/src/sfnt/ttpost.h diff --git a/tools/freetype/freetype/src/sfnt/ttsbit.c b/drivers/freetype/freetype/src/sfnt/ttsbit.c similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttsbit.c rename to drivers/freetype/freetype/src/sfnt/ttsbit.c diff --git a/tools/freetype/freetype/src/sfnt/ttsbit.h b/drivers/freetype/freetype/src/sfnt/ttsbit.h similarity index 100% rename from tools/freetype/freetype/src/sfnt/ttsbit.h rename to drivers/freetype/freetype/src/sfnt/ttsbit.h diff --git a/tools/freetype/freetype/src/smooth/Jamfile b/drivers/freetype/freetype/src/smooth/Jamfile similarity index 100% rename from tools/freetype/freetype/src/smooth/Jamfile rename to drivers/freetype/freetype/src/smooth/Jamfile diff --git a/tools/freetype/freetype/src/smooth/ftgrays.c b/drivers/freetype/freetype/src/smooth/ftgrays.c similarity index 100% rename from tools/freetype/freetype/src/smooth/ftgrays.c rename to drivers/freetype/freetype/src/smooth/ftgrays.c diff --git a/tools/freetype/freetype/src/smooth/ftgrays.h b/drivers/freetype/freetype/src/smooth/ftgrays.h similarity index 100% rename from tools/freetype/freetype/src/smooth/ftgrays.h rename to drivers/freetype/freetype/src/smooth/ftgrays.h diff --git a/tools/freetype/freetype/src/smooth/ftsmerrs.h b/drivers/freetype/freetype/src/smooth/ftsmerrs.h similarity index 100% rename from tools/freetype/freetype/src/smooth/ftsmerrs.h rename to drivers/freetype/freetype/src/smooth/ftsmerrs.h diff --git a/tools/freetype/freetype/src/smooth/ftsmooth.c b/drivers/freetype/freetype/src/smooth/ftsmooth.c similarity index 100% rename from tools/freetype/freetype/src/smooth/ftsmooth.c rename to drivers/freetype/freetype/src/smooth/ftsmooth.c diff --git a/tools/freetype/freetype/src/smooth/ftsmooth.h b/drivers/freetype/freetype/src/smooth/ftsmooth.h similarity index 100% rename from tools/freetype/freetype/src/smooth/ftsmooth.h rename to drivers/freetype/freetype/src/smooth/ftsmooth.h diff --git a/tools/freetype/freetype/src/smooth/ftspic.c b/drivers/freetype/freetype/src/smooth/ftspic.c similarity index 100% rename from tools/freetype/freetype/src/smooth/ftspic.c rename to drivers/freetype/freetype/src/smooth/ftspic.c diff --git a/tools/freetype/freetype/src/smooth/ftspic.h b/drivers/freetype/freetype/src/smooth/ftspic.h similarity index 100% rename from tools/freetype/freetype/src/smooth/ftspic.h rename to drivers/freetype/freetype/src/smooth/ftspic.h diff --git a/tools/freetype/freetype/src/smooth/module.mk b/drivers/freetype/freetype/src/smooth/module.mk similarity index 100% rename from tools/freetype/freetype/src/smooth/module.mk rename to drivers/freetype/freetype/src/smooth/module.mk diff --git a/tools/freetype/freetype/src/smooth/rules.mk b/drivers/freetype/freetype/src/smooth/rules.mk similarity index 100% rename from tools/freetype/freetype/src/smooth/rules.mk rename to drivers/freetype/freetype/src/smooth/rules.mk diff --git a/tools/freetype/freetype/src/smooth/smooth.c b/drivers/freetype/freetype/src/smooth/smooth.c similarity index 100% rename from tools/freetype/freetype/src/smooth/smooth.c rename to drivers/freetype/freetype/src/smooth/smooth.c diff --git a/tools/freetype/freetype/src/truetype/Jamfile b/drivers/freetype/freetype/src/truetype/Jamfile similarity index 100% rename from tools/freetype/freetype/src/truetype/Jamfile rename to drivers/freetype/freetype/src/truetype/Jamfile diff --git a/tools/freetype/freetype/src/truetype/module.mk b/drivers/freetype/freetype/src/truetype/module.mk similarity index 100% rename from tools/freetype/freetype/src/truetype/module.mk rename to drivers/freetype/freetype/src/truetype/module.mk diff --git a/tools/freetype/freetype/src/truetype/rules.mk b/drivers/freetype/freetype/src/truetype/rules.mk similarity index 100% rename from tools/freetype/freetype/src/truetype/rules.mk rename to drivers/freetype/freetype/src/truetype/rules.mk diff --git a/tools/freetype/freetype/src/truetype/truetype.c b/drivers/freetype/freetype/src/truetype/truetype.c similarity index 100% rename from tools/freetype/freetype/src/truetype/truetype.c rename to drivers/freetype/freetype/src/truetype/truetype.c diff --git a/tools/freetype/freetype/src/truetype/ttdriver.c b/drivers/freetype/freetype/src/truetype/ttdriver.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttdriver.c rename to drivers/freetype/freetype/src/truetype/ttdriver.c diff --git a/tools/freetype/freetype/src/truetype/ttdriver.h b/drivers/freetype/freetype/src/truetype/ttdriver.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttdriver.h rename to drivers/freetype/freetype/src/truetype/ttdriver.h diff --git a/tools/freetype/freetype/src/truetype/tterrors.h b/drivers/freetype/freetype/src/truetype/tterrors.h similarity index 100% rename from tools/freetype/freetype/src/truetype/tterrors.h rename to drivers/freetype/freetype/src/truetype/tterrors.h diff --git a/tools/freetype/freetype/src/truetype/ttgload.c b/drivers/freetype/freetype/src/truetype/ttgload.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttgload.c rename to drivers/freetype/freetype/src/truetype/ttgload.c diff --git a/tools/freetype/freetype/src/truetype/ttgload.h b/drivers/freetype/freetype/src/truetype/ttgload.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttgload.h rename to drivers/freetype/freetype/src/truetype/ttgload.h diff --git a/tools/freetype/freetype/src/truetype/ttgxvar.c b/drivers/freetype/freetype/src/truetype/ttgxvar.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttgxvar.c rename to drivers/freetype/freetype/src/truetype/ttgxvar.c diff --git a/tools/freetype/freetype/src/truetype/ttgxvar.h b/drivers/freetype/freetype/src/truetype/ttgxvar.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttgxvar.h rename to drivers/freetype/freetype/src/truetype/ttgxvar.h diff --git a/tools/freetype/freetype/src/truetype/ttinterp.c b/drivers/freetype/freetype/src/truetype/ttinterp.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttinterp.c rename to drivers/freetype/freetype/src/truetype/ttinterp.c diff --git a/tools/freetype/freetype/src/truetype/ttinterp.h b/drivers/freetype/freetype/src/truetype/ttinterp.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttinterp.h rename to drivers/freetype/freetype/src/truetype/ttinterp.h diff --git a/tools/freetype/freetype/src/truetype/ttobjs.c b/drivers/freetype/freetype/src/truetype/ttobjs.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttobjs.c rename to drivers/freetype/freetype/src/truetype/ttobjs.c diff --git a/tools/freetype/freetype/src/truetype/ttobjs.h b/drivers/freetype/freetype/src/truetype/ttobjs.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttobjs.h rename to drivers/freetype/freetype/src/truetype/ttobjs.h diff --git a/tools/freetype/freetype/src/truetype/ttpic.c b/drivers/freetype/freetype/src/truetype/ttpic.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttpic.c rename to drivers/freetype/freetype/src/truetype/ttpic.c diff --git a/tools/freetype/freetype/src/truetype/ttpic.h b/drivers/freetype/freetype/src/truetype/ttpic.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttpic.h rename to drivers/freetype/freetype/src/truetype/ttpic.h diff --git a/tools/freetype/freetype/src/truetype/ttpload.c b/drivers/freetype/freetype/src/truetype/ttpload.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttpload.c rename to drivers/freetype/freetype/src/truetype/ttpload.c diff --git a/tools/freetype/freetype/src/truetype/ttpload.h b/drivers/freetype/freetype/src/truetype/ttpload.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttpload.h rename to drivers/freetype/freetype/src/truetype/ttpload.h diff --git a/tools/freetype/freetype/src/truetype/ttsubpix.c b/drivers/freetype/freetype/src/truetype/ttsubpix.c similarity index 100% rename from tools/freetype/freetype/src/truetype/ttsubpix.c rename to drivers/freetype/freetype/src/truetype/ttsubpix.c diff --git a/tools/freetype/freetype/src/truetype/ttsubpix.h b/drivers/freetype/freetype/src/truetype/ttsubpix.h similarity index 100% rename from tools/freetype/freetype/src/truetype/ttsubpix.h rename to drivers/freetype/freetype/src/truetype/ttsubpix.h diff --git a/tools/freetype/freetype/src/type1/Jamfile b/drivers/freetype/freetype/src/type1/Jamfile similarity index 100% rename from tools/freetype/freetype/src/type1/Jamfile rename to drivers/freetype/freetype/src/type1/Jamfile diff --git a/tools/freetype/freetype/src/type1/module.mk b/drivers/freetype/freetype/src/type1/module.mk similarity index 100% rename from tools/freetype/freetype/src/type1/module.mk rename to drivers/freetype/freetype/src/type1/module.mk diff --git a/tools/freetype/freetype/src/type1/rules.mk b/drivers/freetype/freetype/src/type1/rules.mk similarity index 100% rename from tools/freetype/freetype/src/type1/rules.mk rename to drivers/freetype/freetype/src/type1/rules.mk diff --git a/tools/freetype/freetype/src/type1/t1afm.c b/drivers/freetype/freetype/src/type1/t1afm.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1afm.c rename to drivers/freetype/freetype/src/type1/t1afm.c diff --git a/tools/freetype/freetype/src/type1/t1afm.h b/drivers/freetype/freetype/src/type1/t1afm.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1afm.h rename to drivers/freetype/freetype/src/type1/t1afm.h diff --git a/tools/freetype/freetype/src/type1/t1driver.c b/drivers/freetype/freetype/src/type1/t1driver.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1driver.c rename to drivers/freetype/freetype/src/type1/t1driver.c diff --git a/tools/freetype/freetype/src/type1/t1driver.h b/drivers/freetype/freetype/src/type1/t1driver.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1driver.h rename to drivers/freetype/freetype/src/type1/t1driver.h diff --git a/tools/freetype/freetype/src/type1/t1errors.h b/drivers/freetype/freetype/src/type1/t1errors.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1errors.h rename to drivers/freetype/freetype/src/type1/t1errors.h diff --git a/tools/freetype/freetype/src/type1/t1gload.c b/drivers/freetype/freetype/src/type1/t1gload.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1gload.c rename to drivers/freetype/freetype/src/type1/t1gload.c diff --git a/tools/freetype/freetype/src/type1/t1gload.h b/drivers/freetype/freetype/src/type1/t1gload.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1gload.h rename to drivers/freetype/freetype/src/type1/t1gload.h diff --git a/tools/freetype/freetype/src/type1/t1load.c b/drivers/freetype/freetype/src/type1/t1load.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1load.c rename to drivers/freetype/freetype/src/type1/t1load.c diff --git a/tools/freetype/freetype/src/type1/t1load.h b/drivers/freetype/freetype/src/type1/t1load.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1load.h rename to drivers/freetype/freetype/src/type1/t1load.h diff --git a/tools/freetype/freetype/src/type1/t1objs.c b/drivers/freetype/freetype/src/type1/t1objs.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1objs.c rename to drivers/freetype/freetype/src/type1/t1objs.c diff --git a/tools/freetype/freetype/src/type1/t1objs.h b/drivers/freetype/freetype/src/type1/t1objs.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1objs.h rename to drivers/freetype/freetype/src/type1/t1objs.h diff --git a/tools/freetype/freetype/src/type1/t1parse.c b/drivers/freetype/freetype/src/type1/t1parse.c similarity index 100% rename from tools/freetype/freetype/src/type1/t1parse.c rename to drivers/freetype/freetype/src/type1/t1parse.c diff --git a/tools/freetype/freetype/src/type1/t1parse.h b/drivers/freetype/freetype/src/type1/t1parse.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1parse.h rename to drivers/freetype/freetype/src/type1/t1parse.h diff --git a/tools/freetype/freetype/src/type1/t1tokens.h b/drivers/freetype/freetype/src/type1/t1tokens.h similarity index 100% rename from tools/freetype/freetype/src/type1/t1tokens.h rename to drivers/freetype/freetype/src/type1/t1tokens.h diff --git a/tools/freetype/freetype/src/type1/type1.c b/drivers/freetype/freetype/src/type1/type1.c similarity index 100% rename from tools/freetype/freetype/src/type1/type1.c rename to drivers/freetype/freetype/src/type1/type1.c diff --git a/tools/freetype/freetype/src/type42/Jamfile b/drivers/freetype/freetype/src/type42/Jamfile similarity index 100% rename from tools/freetype/freetype/src/type42/Jamfile rename to drivers/freetype/freetype/src/type42/Jamfile diff --git a/tools/freetype/freetype/src/type42/module.mk b/drivers/freetype/freetype/src/type42/module.mk similarity index 100% rename from tools/freetype/freetype/src/type42/module.mk rename to drivers/freetype/freetype/src/type42/module.mk diff --git a/tools/freetype/freetype/src/type42/rules.mk b/drivers/freetype/freetype/src/type42/rules.mk similarity index 100% rename from tools/freetype/freetype/src/type42/rules.mk rename to drivers/freetype/freetype/src/type42/rules.mk diff --git a/tools/freetype/freetype/src/type42/t42drivr.c b/drivers/freetype/freetype/src/type42/t42drivr.c similarity index 100% rename from tools/freetype/freetype/src/type42/t42drivr.c rename to drivers/freetype/freetype/src/type42/t42drivr.c diff --git a/tools/freetype/freetype/src/type42/t42drivr.h b/drivers/freetype/freetype/src/type42/t42drivr.h similarity index 100% rename from tools/freetype/freetype/src/type42/t42drivr.h rename to drivers/freetype/freetype/src/type42/t42drivr.h diff --git a/tools/freetype/freetype/src/type42/t42error.h b/drivers/freetype/freetype/src/type42/t42error.h similarity index 100% rename from tools/freetype/freetype/src/type42/t42error.h rename to drivers/freetype/freetype/src/type42/t42error.h diff --git a/tools/freetype/freetype/src/type42/t42objs.c b/drivers/freetype/freetype/src/type42/t42objs.c similarity index 100% rename from tools/freetype/freetype/src/type42/t42objs.c rename to drivers/freetype/freetype/src/type42/t42objs.c diff --git a/tools/freetype/freetype/src/type42/t42objs.h b/drivers/freetype/freetype/src/type42/t42objs.h similarity index 100% rename from tools/freetype/freetype/src/type42/t42objs.h rename to drivers/freetype/freetype/src/type42/t42objs.h diff --git a/tools/freetype/freetype/src/type42/t42parse.c b/drivers/freetype/freetype/src/type42/t42parse.c similarity index 100% rename from tools/freetype/freetype/src/type42/t42parse.c rename to drivers/freetype/freetype/src/type42/t42parse.c diff --git a/tools/freetype/freetype/src/type42/t42parse.h b/drivers/freetype/freetype/src/type42/t42parse.h similarity index 100% rename from tools/freetype/freetype/src/type42/t42parse.h rename to drivers/freetype/freetype/src/type42/t42parse.h diff --git a/tools/freetype/freetype/src/type42/t42types.h b/drivers/freetype/freetype/src/type42/t42types.h similarity index 100% rename from tools/freetype/freetype/src/type42/t42types.h rename to drivers/freetype/freetype/src/type42/t42types.h diff --git a/tools/freetype/freetype/src/type42/type42.c b/drivers/freetype/freetype/src/type42/type42.c similarity index 100% rename from tools/freetype/freetype/src/type42/type42.c rename to drivers/freetype/freetype/src/type42/type42.c diff --git a/tools/freetype/freetype/src/winfonts/Jamfile b/drivers/freetype/freetype/src/winfonts/Jamfile similarity index 100% rename from tools/freetype/freetype/src/winfonts/Jamfile rename to drivers/freetype/freetype/src/winfonts/Jamfile diff --git a/tools/freetype/freetype/src/winfonts/fnterrs.h b/drivers/freetype/freetype/src/winfonts/fnterrs.h similarity index 100% rename from tools/freetype/freetype/src/winfonts/fnterrs.h rename to drivers/freetype/freetype/src/winfonts/fnterrs.h diff --git a/tools/freetype/freetype/src/winfonts/module.mk b/drivers/freetype/freetype/src/winfonts/module.mk similarity index 100% rename from tools/freetype/freetype/src/winfonts/module.mk rename to drivers/freetype/freetype/src/winfonts/module.mk diff --git a/tools/freetype/freetype/src/winfonts/rules.mk b/drivers/freetype/freetype/src/winfonts/rules.mk similarity index 100% rename from tools/freetype/freetype/src/winfonts/rules.mk rename to drivers/freetype/freetype/src/winfonts/rules.mk diff --git a/tools/freetype/freetype/src/winfonts/winfnt.c b/drivers/freetype/freetype/src/winfonts/winfnt.c similarity index 100% rename from tools/freetype/freetype/src/winfonts/winfnt.c rename to drivers/freetype/freetype/src/winfonts/winfnt.c diff --git a/tools/freetype/freetype/src/winfonts/winfnt.h b/drivers/freetype/freetype/src/winfonts/winfnt.h similarity index 100% rename from tools/freetype/freetype/src/winfonts/winfnt.h rename to drivers/freetype/freetype/src/winfonts/winfnt.h diff --git a/tools/freetype/ft2build.h b/drivers/freetype/ft2build.h similarity index 100% rename from tools/freetype/ft2build.h rename to drivers/freetype/ft2build.h diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp index 235438f1267..afa5f34bead 100644 --- a/drivers/register_driver_types.cpp +++ b/drivers/register_driver_types.cpp @@ -113,6 +113,7 @@ static ResourceFormatLoaderAudioStreamMPC * mpc_stream_loader=NULL; #endif + static ResourceFormatPBM * pbm_loader=NULL; void register_core_driver_types() { @@ -141,6 +142,7 @@ void register_core_driver_types() { ImageLoader::add_image_format_loader( image_loader_jpg ); #endif + pbm_loader = memnew( ResourceFormatPBM ); ResourceLoader::add_resource_format_loader(pbm_loader); @@ -250,6 +252,7 @@ void register_driver_types() { void unregister_driver_types() { + #ifdef TREMOR_ENABLED memdelete( vorbis_stream_loader ); #endif diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index b713dc318f7..9e90027a706 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -86,7 +86,7 @@ bool GDParser::_enter_indent_block(BlockNode* p_block) { while(true) { if (tokenizer->get_token()!=GDTokenizer::TK_NEWLINE) { - print_line("no newline"); + return false; //wtf } else if (tokenizer->get_token(1)!=GDTokenizer::TK_NEWLINE) { diff --git a/platform/windows/detect.py b/platform/windows/detect.py index 56e8a5d45d4..ed0049b3623 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -204,8 +204,8 @@ def configure(env): if (env["freetype"]!="no"): env.Append(CCFLAGS=['/DFREETYPE_ENABLED']) - env.Append(CPPPATH=['#tools/freetype']) - env.Append(CPPPATH=['#tools/freetype/freetype/include']) + env.Append(CPPPATH=['#drivers/freetype']) + env.Append(CPPPATH=['#drivers/freetype/freetype/include']) if (env["target"]=="release"): diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 6b3f7147efc..5a43bf9323e 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -143,8 +143,8 @@ def configure(env): if (env["freetype"]!="no"): env.Append(CCFLAGS=['-DFREETYPE_ENABLED']) if (env["freetype"]=="builtin"): - env.Append(CPPPATH=['#tools/freetype']) - env.Append(CPPPATH=['#tools/freetype/freetype/include']) + env.Append(CPPPATH=['#drivers/freetype']) + env.Append(CPPPATH=['#drivers/freetype/freetype/include']) env.Append(CPPFLAGS=['-DOPENGL_ENABLED','-DGLEW_ENABLED']) diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 03024daff5b..d021c7b40e7 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -412,7 +412,7 @@ void TextEdit::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: { _update_caches(); - }; + } break; case NOTIFICATION_DRAW: { int line_number_char_count=0; diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 8327473a605..1fd1c77dca0 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -133,6 +133,7 @@ #include "scene/resources/mesh_data_tool.h" #include "scene/resources/scene_preloader.h" #include "scene/resources/dynamic_font.h" +#include "scene/resources/dynamic_font_stb.h" #include "scene/main/timer.h" @@ -254,7 +255,6 @@ void register_scene_types() { resource_loader_wav = memnew( ResourceFormatLoaderWAV ); ResourceLoader::add_resource_format_loader( resource_loader_wav ); - resource_loader_dynamic_font = memnew( ResourceFormatLoaderDynamicFont ); ResourceLoader::add_resource_format_loader( resource_loader_dynamic_font ); @@ -578,8 +578,10 @@ void register_scene_types() { ObjectTypeDB::register_type(); ObjectTypeDB::register_virtual_type(); ObjectTypeDB::register_type(); + ObjectTypeDB::register_type(); ObjectTypeDB::register_type(); + ObjectTypeDB::register_type(); ObjectTypeDB::register_type(); ObjectTypeDB::register_type(); @@ -647,6 +649,7 @@ void unregister_scene_types() { memdelete( resource_loader_image ); memdelete( resource_loader_wav ); memdelete( resource_loader_dynamic_font ); + #ifdef TOOLS_ENABLED diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index 19aa0e79cca..c76b5f3d3ac 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -1,65 +1,11 @@ +#ifdef FREETYPE_ENABLED #include "dynamic_font.h" -#define STB_TRUETYPE_IMPLEMENTATION -#include "stb_truetype.h" #include "os/file_access.h" -void DynamicFontData::lock() { - fr=font_data.read(); - - if (fr.ptr()!=last_data_ptr) { - - last_data_ptr=fr.ptr(); - - if (!stbtt_InitFont(&info, last_data_ptr, 0)) { - valid=false; - } else { - valid=true; - } - - last_data_ptr=fr.ptr(); - } -} - -void DynamicFontData::unlock() { - - fr = DVector::Read(); -} - -void DynamicFontData::set_font_data(const DVector& p_font) { - //clear caches and stuff - ERR_FAIL_COND(font_data.size()) ; - font_data=p_font; - - lock(); - - if (valid) { - stbtt_GetFontVMetrics(&info, &ascent, &descent, &linegap); - descent=-descent + linegap; - - for(int i=32;i<1024;i++) { - for(int j=32;j<1024;j++) { - - int kern = stbtt_GetCodepointKernAdvance(&info, i,j); - if (kern!=0) { - KerningPairKey kpk; - kpk.A=i; - kpk.B=j; - kerning_map[kpk]=kern; - } - } - } - } - - unlock(); - //clear existing stuff - - ERR_FAIL_COND(!valid); -} Ref DynamicFontData::_get_dynamic_font_at_size(int p_size) { - ERR_FAIL_COND_V(!valid,Ref()); if (size_cache.has(p_size)) { return Ref( size_cache[p_size] ); @@ -67,6 +13,7 @@ Ref DynamicFontData::_get_dynamic_font_at_size(int p_size) { Ref dfas; + dfas.instance(); dfas->font=Ref( this ); @@ -74,21 +21,34 @@ Ref DynamicFontData::_get_dynamic_font_at_size(int p_size) { size_cache[p_size]=dfas.ptr(); dfas->size=p_size; - - lock(); - - dfas->scale = stbtt_ScaleForPixelHeight(&info, p_size); - - unlock(); + dfas->_load(); return dfas; } +void DynamicFontData::set_font_ptr(const uint8_t* p_font_mem,int p_font_mem_size) { + + font_mem=p_font_mem; + font_mem_size=p_font_mem_size; +} + +void DynamicFontData::set_font_path(const String& p_path) { + + font_path=p_path; +} + +void DynamicFontData::set_force_autohinter(bool p_force) { + + force_autohinter=p_force; +} + DynamicFontData::DynamicFontData() { - last_data_ptr=NULL; - valid=false; + + force_autohinter=false; + font_mem=NULL; + font_mem_size=0; } DynamicFontData::~DynamicFontData() @@ -100,22 +60,106 @@ DynamicFontData::~DynamicFontData() //////////////////// +Error DynamicFontAtSize::_load() { + + + int error = FT_Init_FreeType( &library ); + + ERR_EXPLAIN(TTR("Error initializing FreeType.")); + ERR_FAIL_COND_V( error !=0, ERR_CANT_CREATE ); + + if (font->font_path!=String()) { + + FileAccess *f=FileAccess::open(font->font_path,FileAccess::READ); + ERR_FAIL_COND_V(!f,ERR_CANT_OPEN); + + memset(&stream,0,sizeof(FT_StreamRec)); + stream.base=NULL; + stream.size=f->get_len(); + stream.pos=0; + stream.descriptor.pointer=f; + stream.read=_ft_stream_io; + stream.close=_ft_stream_close; + + FT_Open_Args fargs; + memset(&fargs,0,sizeof(FT_Open_Args)); + fargs.flags=FT_OPEN_STREAM; + fargs.stream=&stream; + error = FT_Open_Face( library,&fargs,0,&face); + } else if (font->font_mem) { + + memset(&stream,0,sizeof(FT_StreamRec)); + stream.base=(unsigned char*)font->font_mem; + stream.size=font->font_mem_size; + stream.pos=0; + + FT_Open_Args fargs; + memset(&fargs,0,sizeof(FT_Open_Args)); + fargs.memory_base=(unsigned char*)font->font_mem; + fargs.memory_size=font->font_mem_size; + fargs.flags= FT_OPEN_MEMORY; + fargs.stream=&stream; + error = FT_Open_Face( library,&fargs,0,&face); + + } else { + ERR_EXPLAIN("DynamicFont uninitialized"); + ERR_FAIL_V(ERR_UNCONFIGURED); + } + + //error = FT_New_Face( library, src_path.utf8().get_data(),0,&face ); + + if ( error == FT_Err_Unknown_File_Format ) { + ERR_EXPLAIN(TTR("Unknown font format.")); + FT_Done_FreeType( library ); + + } else if ( error ) { + + ERR_EXPLAIN(TTR("Error loading font.")); + FT_Done_FreeType( library ); + + } + + ERR_FAIL_COND_V(error,ERR_FILE_CANT_OPEN); + + + /*error = FT_Set_Char_Size(face,0,64*size,512,512); + + if ( error ) { + FT_Done_FreeType( library ); + ERR_EXPLAIN(TTR("Invalid font size.")); + ERR_FAIL_COND_V( error, ERR_INVALID_PARAMETER ); + }*/ + + error = FT_Set_Pixel_Sizes(face,0,size); + + ascent=face->size->metrics.ascender>>6; + descent=-face->size->metrics.descender>>6; + linegap=0; + + //print_line("ASCENT: "+itos(ascent)+" descent "+itos(descent)+" hinted: "+itos(face->face_flags&FT_FACE_FLAG_HINTER)); + + valid=true; + return OK; +} + float DynamicFontAtSize::get_height() const { - return (font->ascent+font->descent)*scale; + return ascent+descent; } float DynamicFontAtSize::get_ascent() const { - return font->ascent*scale; + return ascent; } float DynamicFontAtSize::get_descent() const { - return font->descent*scale; + return descent; } Size2 DynamicFontAtSize::get_char_size(CharType p_char,CharType p_next) const { + if (!valid) + return Size2(1,1); const_cast(this)->_update_char(p_char); const Character *c = char_map.getptr(p_char); @@ -124,14 +168,9 @@ Size2 DynamicFontAtSize::get_char_size(CharType p_char,CharType p_next) const { Size2 ret( c->advance, get_height()); if (p_next) { - DynamicFontData::KerningPairKey kpk; - kpk.A=p_char; - kpk.B=p_next; - - const Map::Element *K=font->kerning_map.find(kpk); - if (K) { - ret.x+=K->get()*scale; - } + FT_Vector delta; + FT_Get_Kerning( face, p_char,p_next, FT_KERNING_DEFAULT, &delta ); + ret.x+=delta.x>>6; } @@ -141,6 +180,9 @@ Size2 DynamicFontAtSize::get_char_size(CharType p_char,CharType p_next) const { float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2& p_pos, const CharType& p_char,const CharType& p_next,const Color& p_modulate) const { + if (!valid) + return 0; + const_cast(this)->_update_char(p_char); const Character * c = char_map.getptr(p_char); @@ -161,58 +203,84 @@ float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2& p_pos, const float ret = c->advance; if (p_next) { - DynamicFontData::KerningPairKey kpk; - kpk.A=p_char; - kpk.B=p_next; - const Map::Element *K=font->kerning_map.find(kpk); - if (K) { - ret+=K->get()*scale; - } + FT_Vector delta; + FT_Get_Kerning( face, p_char,p_next, FT_KERNING_DEFAULT, &delta ); + ret+=delta.x>>6; } return ret; } +unsigned long DynamicFontAtSize::_ft_stream_io(FT_Stream stream, unsigned long offset, unsigned char* buffer, unsigned long count ) { + + + FileAccess *f=(FileAccess*)stream->descriptor.pointer; + + if (f->get_pos()!=offset) { + f->seek(offset); + + } + + if (count==0) + return 0; + + return f->get_buffer(buffer,count); +} +void DynamicFontAtSize::_ft_stream_close(FT_Stream stream) { + + FileAccess *f=(FileAccess*)stream->descriptor.pointer; + f->close(); + memdelete(f); +} + void DynamicFontAtSize::_update_char(CharType p_char) { if (char_map.has(p_char)) return; - font->lock(); + _THREAD_SAFE_METHOD_ + FT_GlyphSlot slot = face->glyph; - int w,h,xofs,yofs; - unsigned char * cpbitmap = stbtt_GetCodepointBitmap(&font->info, scale, scale, p_char, &w, &h, &xofs, &yofs ); + int error = FT_Load_Char( face, p_char, FT_LOAD_RENDER|(font->force_autohinter?FT_LOAD_FORCE_AUTOHINT:0) ); + if (!error) { + error = FT_Render_Glyph( face->glyph, ft_render_mode_normal ); + } + if (error) { - if (!cpbitmap) { - //no glyph - - int advance; - stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0); + int advance=0; + //stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0); //print_line("char has no bitmap: "+itos(p_char)+" but advance is "+itos(advance*scale)); Character ch; ch.texture_idx=-1; - ch.advance=advance*scale; + ch.advance=advance; ch.h_align=0; ch.v_align=0; char_map[p_char]=ch; - font->unlock(); return; } + + + int w = slot->bitmap.width; + int h = slot->bitmap.rows; + int p = slot->bitmap.pitch; + int yofs=slot->bitmap_top; + int xofs=slot->bitmap_left; + int advance=slot->advance.x>>6; + + int mw=w+rect_margin*2; int mh=h+rect_margin*2; if (mw>4096 || mh>4096) { - stbtt_FreeBitmap(cpbitmap,NULL); - font->unlock(); ERR_FAIL_COND(mw>4096); ERR_FAIL_COND(mh>4096); } @@ -304,13 +372,14 @@ void DynamicFontAtSize::_update_char(CharType p_char) { { DVector::Write wr = tex.imgdata.write(); + for(int i=0;i= tex.imgdata.size()); wr[ofs+0]=255; //grayscale as 1 - wr[ofs+1]=cpbitmap[i*w+j]; //alpha as 0 + wr[ofs+1]=slot->bitmap.buffer[i*slot->bitmap.width+j]; } } } @@ -322,7 +391,7 @@ void DynamicFontAtSize::_update_char(CharType p_char) { if (tex.texture.is_null()) { tex.texture.instance(); - tex.texture->create_from_image(img,Texture::FLAG_FILTER); + tex.texture->create_from_image(img,0/*Texture::FLAG_FILTER*/); } else { tex.texture->set_data(img); //update } @@ -337,13 +406,11 @@ void DynamicFontAtSize::_update_char(CharType p_char) { tex.offsets[k]=tex_y+mh; } - int advance; - stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0); Character chr; chr.h_align=xofs; - chr.v_align=yofs + get_ascent(); - chr.advance=advance*scale; + chr.v_align=ascent-yofs;// + ascent - descent; + chr.advance=advance; chr.texture_idx=tex_index; @@ -353,21 +420,24 @@ void DynamicFontAtSize::_update_char(CharType p_char) { char_map[p_char]=chr; - stbtt_FreeBitmap(cpbitmap,NULL); - - font->unlock(); } DynamicFontAtSize::DynamicFontAtSize() { + valid=false; rect_margin=1; + ascent=1; + descent=1; + linegap=1; } DynamicFontAtSize::~DynamicFontAtSize(){ - ERR_FAIL_COND(!font.ptr()); - font->size_cache.erase(size); + if (valid) { + FT_Done_FreeType( library ); + font->size_cache.erase(size); + } } ///////////////////////// @@ -478,34 +548,21 @@ RES ResourceFormatLoaderDynamicFont::load(const String &p_path, const String& p_ if (r_error) *r_error=ERR_FILE_CANT_OPEN; + Ref dfont; + dfont.instance();; + dfont->set_font_path(p_path); - FileAccess *f = FileAccess::open(p_path,FileAccess::READ); - ERR_FAIL_COND_V(!f,RES()); - - DVector data; - - data.resize(f->get_len()); - - ERR_FAIL_COND_V(data.size()==0,RES()); - - { - DVector::Write w = data.write(); - f->get_buffer(w.ptr(),data.size()); - } - - Ref dfd; - dfd.instance(); - dfd->set_font_data(data); if (r_error) *r_error=OK; - return dfd; + return dfont; } void ResourceFormatLoaderDynamicFont::get_recognized_extensions(List *p_extensions) const { p_extensions->push_back("ttf"); + p_extensions->push_back("otf"); } bool ResourceFormatLoaderDynamicFont::handles_type(const String& p_type) const { @@ -516,8 +573,10 @@ bool ResourceFormatLoaderDynamicFont::handles_type(const String& p_type) const { String ResourceFormatLoaderDynamicFont::get_resource_type(const String &p_path) const { String el = p_path.extension().to_lower(); - if (el=="ttf") + if (el=="ttf" || el=="otf") return "DynamicFontData"; return ""; } + +#endif diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index ba7249a7b74..f0cf80b042e 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -1,10 +1,14 @@ -#ifndef DYNAMICFONT_H -#define DYNAMICFONT_H +#ifndef DYNAMIC_FONT_H +#define DYNAMIC_FONT_H -#include "font.h" -#include "stb_truetype.h" +#ifdef FREETYPE_ENABLED +#include "scene/resources/font.h" +#include "os/thread_safe.h" #include "io/resource_loader.h" +#include +#include FT_FREETYPE_H + class DynamicFontAtSize; class DynamicFont; @@ -13,39 +17,16 @@ class DynamicFontData : public Resource { OBJ_TYPE(DynamicFontData,Resource); - bool valid; - - DVector font_data; - DVector::Read fr; - const uint8_t* last_data_ptr; - - struct KerningPairKey { - - union { - struct { - uint32_t A,B; - }; - - uint64_t pair; - }; - - _FORCE_INLINE_ bool operator<(const KerningPairKey& p_r) const { return pair kerning_map; + const uint8_t *font_mem; + int font_mem_size; + bool force_autohinter; + + String font_path; Map size_cache; -friend class DynamicFontAtSize; - - stbtt_fontinfo info; - int ascent; - int descent; - int linegap; - - void lock(); - void unlock(); + friend class DynamicFontAtSize; friend class DynamicFont; @@ -53,7 +34,10 @@ friend class DynamicFont; Ref _get_dynamic_font_at_size(int p_size); public: - void set_font_data(const DVector& p_font); + void set_font_ptr(const uint8_t* p_font_mem,int p_font_mem_size); + void set_font_path(const String& p_path); + void set_force_autohinter(bool p_force); + DynamicFontData(); ~DynamicFontData(); }; @@ -61,11 +45,21 @@ public: class DynamicFontAtSize : public Reference { - OBJ_TYPE(DynamicFontAtSize,Reference); + OBJ_TYPE(DynamicFontAtSize,Reference) + _THREAD_SAFE_CLASS_ + FT_Library library; /* handle to library */ + FT_Face face; /* handle to face object */ + FT_StreamRec stream; + + int ascent; + int descent; + int linegap; int rect_margin; + bool valid; + struct CharTexture { DVector imgdata; @@ -88,6 +82,8 @@ class DynamicFontAtSize : public Reference { }; + static unsigned long _ft_stream_io(FT_Stream stream, unsigned long offset, unsigned char* buffer, unsigned long count ); + static void _ft_stream_close(FT_Stream stream); HashMap< CharType, Character > char_map; @@ -95,13 +91,18 @@ class DynamicFontAtSize : public Reference { friend class DynamicFontData; Ref font; - float scale; int size; + + + Error _load(); protected: + + public: + float get_height() const; float get_ascent() const; @@ -126,7 +127,7 @@ class DynamicFont : public Font { Ref data; Ref data_at_size; int size; - + bool valid; protected: @@ -171,5 +172,6 @@ public: }; +#endif -#endif // DYNAMICFONT_H +#endif diff --git a/scene/resources/dynamic_font_stb.cpp b/scene/resources/dynamic_font_stb.cpp new file mode 100644 index 00000000000..344043fcdde --- /dev/null +++ b/scene/resources/dynamic_font_stb.cpp @@ -0,0 +1,527 @@ +#include "dynamic_font_stb.h" + +#ifndef FREETYPE_ENABLED + +#define STB_TRUETYPE_IMPLEMENTATION +#include "stb_truetype.h" +#include "os/file_access.h" + +void DynamicFontData::lock() { + + fr=font_data.read(); + + if (fr.ptr()!=last_data_ptr) { + + last_data_ptr=fr.ptr(); + + if (!stbtt_InitFont(&info, last_data_ptr, 0)) { + valid=false; + } else { + valid=true; + } + + last_data_ptr=fr.ptr(); + } +} + +void DynamicFontData::unlock() { + + fr = DVector::Read(); +} + +void DynamicFontData::set_font_data(const DVector& p_font) { + //clear caches and stuff + ERR_FAIL_COND(font_data.size()) ; + font_data=p_font; + + lock(); + + if (valid) { + stbtt_GetFontVMetrics(&info, &ascent, &descent, &linegap); + descent=-descent + linegap; + + for(int i=32;i<1024;i++) { + for(int j=32;j<1024;j++) { + + int kern = stbtt_GetCodepointKernAdvance(&info, i,j); + if (kern!=0) { + KerningPairKey kpk; + kpk.A=i; + kpk.B=j; + kerning_map[kpk]=kern; + } + } + } + } + + unlock(); + //clear existing stuff + + ERR_FAIL_COND(!valid); +} + +Ref DynamicFontData::_get_dynamic_font_at_size(int p_size) { + + ERR_FAIL_COND_V(!valid,Ref()); + + if (size_cache.has(p_size)) { + return Ref( size_cache[p_size] ); + } + + + Ref dfas; + dfas.instance(); + + dfas->font=Ref( this ); + + size_cache[p_size]=dfas.ptr(); + + dfas->size=p_size; + + lock(); + + dfas->scale = stbtt_ScaleForPixelHeight(&info, p_size); + + unlock(); + + return dfas; + +} + +DynamicFontData::DynamicFontData() +{ + last_data_ptr=NULL; + valid=false; +} + +DynamicFontData::~DynamicFontData() +{ + +} + + + +//////////////////// + +float DynamicFontAtSize::get_height() const { + + return (font->ascent+font->descent)*scale; +} + +float DynamicFontAtSize::get_ascent() const { + + return font->ascent*scale; +} +float DynamicFontAtSize::get_descent() const { + + return font->descent*scale; +} + +Size2 DynamicFontAtSize::get_char_size(CharType p_char,CharType p_next) const { + + const_cast(this)->_update_char(p_char); + + const Character *c = char_map.getptr(p_char); + ERR_FAIL_COND_V(!c,Size2()); + + Size2 ret( c->advance, get_height()); + + if (p_next) { + DynamicFontData::KerningPairKey kpk; + kpk.A=p_char; + kpk.B=p_next; + + const Map::Element *K=font->kerning_map.find(kpk); + if (K) { + ret.x+=K->get()*scale; + } + + } + + return ret; +} + + +float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2& p_pos, const CharType& p_char,const CharType& p_next,const Color& p_modulate) const { + + const_cast(this)->_update_char(p_char); + + const Character * c = char_map.getptr(p_char); + + if (!c) { + return 0; + } + + Point2 cpos=p_pos; + cpos.x+=c->h_align; + cpos.y-=get_ascent(); + cpos.y+=c->v_align; + ERR_FAIL_COND_V( c->texture_idx<-1 || c->texture_idx>=textures.size(),0); + if (c->texture_idx!=-1) + VisualServer::get_singleton()->canvas_item_add_texture_rect_region( p_canvas_item, Rect2( cpos, c->rect.size ), textures[c->texture_idx].texture->get_rid(),c->rect, p_modulate ); + + //textures[c->texture_idx].texture->draw(p_canvas_item,Vector2()); + + float ret = c->advance; + if (p_next) { + DynamicFontData::KerningPairKey kpk; + kpk.A=p_char; + kpk.B=p_next; + + const Map::Element *K=font->kerning_map.find(kpk); + if (K) { + ret+=K->get()*scale; + } + + } + + return ret; +} + + +void DynamicFontAtSize::_update_char(CharType p_char) { + + if (char_map.has(p_char)) + return; + + font->lock(); + + + int w,h,xofs,yofs; + unsigned char * cpbitmap = stbtt_GetCodepointBitmap(&font->info, scale, scale, p_char, &w, &h, &xofs, &yofs ); + + if (!cpbitmap) { + //no glyph + + int advance; + stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0); + //print_line("char has no bitmap: "+itos(p_char)+" but advance is "+itos(advance*scale)); + Character ch; + ch.texture_idx=-1; + ch.advance=advance*scale; + ch.h_align=0; + ch.v_align=0; + + char_map[p_char]=ch; + + font->unlock(); + + return; + } + + int mw=w+rect_margin*2; + int mh=h+rect_margin*2; + + if (mw>4096 || mh>4096) { + + stbtt_FreeBitmap(cpbitmap,NULL); + font->unlock(); + ERR_FAIL_COND(mw>4096); + ERR_FAIL_COND(mh>4096); + } + + //find a texture to fit this... + + int tex_index=-1; + int tex_x=0; + int tex_y=0; + + for(int i=0;i ct.texture_size || mh > ct.texture_size) //too big for this texture + continue; + + tex_y=0x7FFFFFFF; + tex_x=0; + + for(int j=0;jmax_y) + max_y=y; + } + + if (max_y ct.texture_size) + continue; //fail, could not fit it here + + tex_index=i; + break; + } + +// print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" X: "+itos(tex_x)+" Y: "+itos(tex_y)); + + if (tex_index==-1) { + //could not find texture to fit, create one + tex_x = 0; + tex_y = 0; + + int texsize = MAX(size*8,256); + if (mw>texsize) + texsize=mw; //special case, adapt to it? + if (mh>texsize) + texsize=mh; //special case, adapt to it? + + texsize=nearest_power_of_2(texsize); + + texsize=MIN(texsize,4096); + + + CharTexture tex; + tex.texture_size=texsize; + tex.imgdata.resize(texsize*texsize*2); //grayscale alpha + + { + //zero texture + DVector::Write w = tex.imgdata.write(); + ERR_FAIL_COND(texsize*texsize*2 > tex.imgdata.size()); + for(int i=0;i::Write wr = tex.imgdata.write(); + + for(int i=0;i= tex.imgdata.size()); + wr[ofs+0]=255; //grayscale as 1 + wr[ofs+1]=cpbitmap[i*w+j]; //alpha as 0 + } + } + } + + //blit to image and texture + { + + Image img(tex.texture_size,tex.texture_size,0,Image::FORMAT_GRAYSCALE_ALPHA,tex.imgdata); + + if (tex.texture.is_null()) { + tex.texture.instance(); + tex.texture->create_from_image(img,Texture::FLAG_FILTER); + } else { + tex.texture->set_data(img); //update + } + + } + + + // update height array + + for(int k=tex_x;kinfo, p_char, &advance, 0); + + Character chr; + chr.h_align=xofs; + chr.v_align=yofs + get_ascent(); + chr.advance=advance*scale; + chr.texture_idx=tex_index; + + + chr.rect=Rect2(tex_x+rect_margin,tex_y+rect_margin,w,h); + + //print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" RECT: "+chr.rect+" X OFS: "+itos(xofs)+" Y OFS: "+itos(yofs)); + + char_map[p_char]=chr; + + stbtt_FreeBitmap(cpbitmap,NULL); + + font->unlock(); + +} + +DynamicFontAtSize::DynamicFontAtSize() { + + rect_margin=1; +} + +DynamicFontAtSize::~DynamicFontAtSize(){ + + ERR_FAIL_COND(!font.ptr()); + font->size_cache.erase(size); +} + +///////////////////////// + + +void DynamicFont::_bind_methods() { + + ObjectTypeDB::bind_method(_MD("set_font_data","data:DynamicFontData"),&DynamicFont::set_font_data); + ObjectTypeDB::bind_method(_MD("get_font_data:DynamicFontData"),&DynamicFont::get_font_data); + + ObjectTypeDB::bind_method(_MD("set_size","data"),&DynamicFont::set_size); + ObjectTypeDB::bind_method(_MD("get_size"),&DynamicFont::get_size); + + ADD_PROPERTY(PropertyInfo(Variant::INT,"size"),_SCS("set_size"),_SCS("get_size")); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT,"font",PROPERTY_HINT_RESOURCE_TYPE,"DynamicFontData"),_SCS("set_font_data"),_SCS("get_font_data")); +} + + +void DynamicFont::set_font_data(const Ref& p_data) { + + data=p_data; + data_at_size=data->_get_dynamic_font_at_size(size); +} + +Ref DynamicFont::get_font_data() const{ + + return data; +} + +void DynamicFont::set_size(int p_size){ + + if (size==p_size) + return; + size=p_size; + ERR_FAIL_COND(p_size<1); + if (!data.is_valid()) + return; + data_at_size=data->_get_dynamic_font_at_size(size); + +} +int DynamicFont::get_size() const{ + + return size; +} + +float DynamicFont::get_height() const{ + + if (!data_at_size.is_valid()) + return 1; + + return data_at_size->get_height(); +} + +float DynamicFont::get_ascent() const{ + + if (!data_at_size.is_valid()) + return 1; + + return data_at_size->get_ascent(); +} + +float DynamicFont::get_descent() const{ + + if (!data_at_size.is_valid()) + return 1; + + return data_at_size->get_descent(); + +} + +Size2 DynamicFont::get_char_size(CharType p_char,CharType p_next) const{ + + if (!data_at_size.is_valid()) + return Size2(1,1); + + return data_at_size->get_char_size(p_char,p_next); + +} + +bool DynamicFont::is_distance_field_hint() const{ + + return false; +} + +float DynamicFont::draw_char(RID p_canvas_item, const Point2& p_pos, const CharType& p_char,const CharType& p_next,const Color& p_modulate) const { + + if (!data_at_size.is_valid()) + return 0; + + return data_at_size->draw_char(p_canvas_item,p_pos,p_char,p_next,p_modulate); + +} + +DynamicFont::DynamicFont() { + + size=16; +} + +DynamicFont::~DynamicFont() { + +} + +///////////////////////// + + +RES ResourceFormatLoaderDynamicFont::load(const String &p_path, const String& p_original_path, Error *r_error) { + + if (r_error) + *r_error=ERR_FILE_CANT_OPEN; + + + FileAccess *f = FileAccess::open(p_path,FileAccess::READ); + ERR_FAIL_COND_V(!f,RES()); + + DVector data; + + data.resize(f->get_len()); + + ERR_FAIL_COND_V(data.size()==0,RES()); + + { + DVector::Write w = data.write(); + f->get_buffer(w.ptr(),data.size()); + } + + Ref dfd; + dfd.instance(); + dfd->set_font_data(data); + + if (r_error) + *r_error=OK; + + return dfd; +} + +void ResourceFormatLoaderDynamicFont::get_recognized_extensions(List *p_extensions) const { + + p_extensions->push_back("ttf"); +} + +bool ResourceFormatLoaderDynamicFont::handles_type(const String& p_type) const { + + return (p_type=="DynamicFontData"); +} + +String ResourceFormatLoaderDynamicFont::get_resource_type(const String &p_path) const { + + String el = p_path.extension().to_lower(); + if (el=="ttf") + return "DynamicFontData"; + return ""; +} + +#endif diff --git a/scene/resources/dynamic_font_stb.h b/scene/resources/dynamic_font_stb.h new file mode 100644 index 00000000000..6b72fb37033 --- /dev/null +++ b/scene/resources/dynamic_font_stb.h @@ -0,0 +1,178 @@ +#ifndef DYNAMICFONT_STB_H +#define DYNAMICFONT_STB_H + +#ifndef FREETYPE_ENABLED + +#include "font.h" +#include "stb_truetype.h" +#include "io/resource_loader.h" + + + +class DynamicFontAtSize; +class DynamicFont; + +class DynamicFontData : public Resource { + + OBJ_TYPE(DynamicFontData,Resource); + + bool valid; + + DVector font_data; + DVector::Read fr; + const uint8_t* last_data_ptr; + + struct KerningPairKey { + + union { + struct { + uint32_t A,B; + }; + + uint64_t pair; + }; + + _FORCE_INLINE_ bool operator<(const KerningPairKey& p_r) const { return pair kerning_map; + + + Map size_cache; + +friend class DynamicFontAtSize; + + stbtt_fontinfo info; + int ascent; + int descent; + int linegap; + + void lock(); + void unlock(); + +friend class DynamicFont; + + + Ref _get_dynamic_font_at_size(int p_size); +public: + + void set_font_data(const DVector& p_font); + DynamicFontData(); + ~DynamicFontData(); +}; + + +class DynamicFontAtSize : public Reference { + + OBJ_TYPE(DynamicFontAtSize,Reference); + + + int rect_margin; + + struct CharTexture { + + DVector imgdata; + int texture_size; + Vector offsets; + Ref texture; + }; + + Vector textures; + + struct Character { + + int texture_idx; + Rect2 rect; + float v_align; + float h_align; + float advance; + + Character() { texture_idx=0; v_align=0; } + }; + + + + HashMap< CharType, Character > char_map; + + _FORCE_INLINE_ void _update_char(CharType p_char); + +friend class DynamicFontData; + Ref font; + float scale; + int size; + +protected: + +public: + + float get_height() const; + + float get_ascent() const; + float get_descent() const; + + Size2 get_char_size(CharType p_char,CharType p_next=0) const; + + float draw_char(RID p_canvas_item, const Point2& p_pos, const CharType& p_char,const CharType& p_next=0,const Color& p_modulate=Color(1,1,1)) const; + + + + DynamicFontAtSize(); + ~DynamicFontAtSize(); +}; + +/////////////// + +class DynamicFont : public Font { + + OBJ_TYPE( DynamicFont, Font ); + + Ref data; + Ref data_at_size; + int size; + + +protected: + + static void _bind_methods(); + +public: + + void set_font_data(const Ref& p_data); + Ref get_font_data() const; + + void set_size(int p_size); + int get_size() const; + + virtual float get_height() const; + + virtual float get_ascent() const; + virtual float get_descent() const; + + virtual Size2 get_char_size(CharType p_char,CharType p_next=0) const; + + virtual bool is_distance_field_hint() const; + + virtual float draw_char(RID p_canvas_item, const Point2& p_pos, const CharType& p_char,const CharType& p_next=0,const Color& p_modulate=Color(1,1,1)) const; + + DynamicFont(); + ~DynamicFont(); + +}; + + + +///////////// + +class ResourceFormatLoaderDynamicFont : public ResourceFormatLoader { +public: + + virtual RES load(const String &p_path,const String& p_original_path="",Error *r_error=NULL); + virtual void get_recognized_extensions(List *p_extensions) const; + virtual bool handles_type(const String& p_type) const; + virtual String get_resource_type(const String &p_path) const; + +}; + + +#endif +#endif // DYNAMICFONT_H diff --git a/tools/SCsub b/tools/SCsub index 2210538a252..7a0feb6e3dd 100644 --- a/tools/SCsub +++ b/tools/SCsub @@ -58,7 +58,41 @@ def make_translations_header(target,source,env): g.write("#endif") +def make_fonts_header(target,source,env): + + dst = target[0].srcnode().abspath + + g = open(dst,"wb") + + + """" + """ + + g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") + g.write("#ifndef _EDITOR_FONTS_H\n") + g.write("#define _EDITOR_FONTS_H\n") + + #saving uncompressed, since freetype will reference from memory pointer + xl_names=[] + for i in range(len(source)): + print("Appending font: "+source[i].srcnode().abspath) + f = open(source[i].srcnode().abspath,"rb") + buf = f.read() + import os.path + + name = os.path.splitext(os.path.basename(source[i].srcnode().abspath))[0] + + g.write("static const int _font_"+name+"_size="+str(len(buf))+";\n") + g.write("static const unsigned char _font_"+name+"[]={\n") + for i in range(len(buf)): + g.write(str(ord(buf[i]))+",\n") + + g.write("};\n") + + g.write("#endif") + + if (env["tools"]!="no"): import glob @@ -70,11 +104,18 @@ if (env["tools"]!="no"): env.Depends('#tools/editor/translations.h',tlist) env.Command('#tools/editor/translations.h',tlist,make_translations_header) + flist = glob.glob(dir + "/editor_fonts/*.ttf") + flist.append( glob.glob(dir + "/editor_fonts/*.otf") ) + + print("fonts: ",flist) + env.Depends('#tools/editor/builtin_fonts.h',flist) + env.Command('#tools/editor/builtin_fonts.h',flist,make_fonts_header) + SConscript('editor/SCsub'); #SConscript('scintilla/SCsub'); SConscript('collada/SCsub'); SConscript('docdump/SCsub'); - SConscript('freetype/SCsub'); + #SConscript('freetype/SCsub'); SConscript('doc/SCsub') SConscript('pck/SCsub') diff --git a/tools/doc/doc_data.h b/tools/doc/doc_data.h index 877f30defbb..d1aebff4ce5 100644 --- a/tools/doc/doc_data.h +++ b/tools/doc/doc_data.h @@ -50,6 +50,9 @@ public: String qualifiers; String description; Vector arguments; + bool operator<(const MethodDoc& p_md) const { + return nameadd_font_override("font",get_font("source","Fonts")); + text_editor->add_font_override("font",get_font("source","EditorFonts")); +} + +void CodeTextEditor::_on_settings_change() { + + _update_font(); // AUTO BRACE COMPLETION text_editor->set_auto_brace_completion( @@ -588,6 +593,9 @@ void CodeTextEditor::_notification(int p_what) { if (p_what==EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) _load_theme_settings(); + if (p_what==NOTIFICATION_ENTER_TREE) { + _update_font(); + } } void CodeTextEditor::_bind_methods() { @@ -607,19 +615,6 @@ CodeTextEditor::CodeTextEditor() { text_editor->set_area_as_parent_rect(); text_editor->set_margin(MARGIN_BOTTOM,20); - String editor_font = EDITOR_DEF("text_editor/font", ""); - bool font_overrode = false; - if (editor_font!="") { - Ref fnt = ResourceLoader::load(editor_font); - if (fnt.is_valid()) { - text_editor->add_font_override("font",fnt); - font_overrode = true; - } - } - - if (!font_overrode) - text_editor->add_font_override("font",get_font("source","Fonts")); - text_editor->set_show_line_numbers(true); text_editor->set_brace_matching(true); text_editor->set_auto_indent(true); diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h index e28517c6010..f1a1a7072fc 100644 --- a/tools/editor/code_editor.h +++ b/tools/editor/code_editor.h @@ -135,6 +135,7 @@ class CodeTextEditor : public Control { void _on_settings_change(); + void _update_font(); void _complete_request(); protected: diff --git a/tools/editor/editor_fonts.cpp b/tools/editor/editor_fonts.cpp index a3ec08f9862..e04dce294a7 100644 --- a/tools/editor/editor_fonts.cpp +++ b/tools/editor/editor_fonts.cpp @@ -30,6 +30,9 @@ #include "doc_font.h" #include "doc_title_font.h" #include "doc_code_font.h" +#include "builtin_fonts.h" +#include "editor_settings.h" +#include "scene/resources/dynamic_font.h" static Ref make_font(int p_height,int p_ascent, int p_valign, int p_charcount, const int *p_chars,const Ref &p_texture) { @@ -64,12 +67,54 @@ static Ref make_font(int p_height,int p_ascent, int p_valign, int p_ void editor_register_fonts(Ref p_theme) { + Ref dfd; + dfd.instance(); + dfd->set_font_ptr(_font_droid_sans,_font_droid_sans_size); + dfd->set_force_autohinter(true); //just looks better..i think? - Ref doc_font = make_font(_bi_font_doc_font_height,_bi_font_doc_font_ascent,0,_bi_font_doc_font_charcount,_bi_font_doc_font_characters,p_theme->get_icon("DocFont","EditorIcons")); - Ref doc_code_font = make_font(_bi_font_doc_code_font_height,_bi_font_doc_code_font_ascent,0,_bi_font_doc_code_font_charcount,_bi_font_doc_code_font_characters,p_theme->get_icon("DocCodeFont","EditorIcons")); - Ref doc_title_font = make_font(_bi_font_doc_title_font_height,_bi_font_doc_title_font_ascent,0,_bi_font_doc_title_font_charcount,_bi_font_doc_title_font_characters,p_theme->get_icon("DocTitleFont","EditorIcons")); - p_theme->set_font("doc","EditorFonts",doc_font); - p_theme->set_font("doc_code","EditorFonts",doc_code_font); - p_theme->set_font("doc_title","EditorFonts",doc_title_font); + Ref dfmono; + dfmono.instance(); + dfmono->set_font_ptr(_font_source_code_pro,_font_source_code_pro_size); + //dfd->set_force_autohinter(true); //just looks better..i think? + + Ref df; + df.instance(); + df->set_size(int(EditorSettings::get_singleton()->get("global/font_size"))); + df->set_font_data(dfd); + + + p_theme->set_default_theme_font(df); + +// Ref doc_font = make_font(_bi_font_doc_font_height,_bi_font_doc_font_ascent,0,_bi_font_doc_font_charcount,_bi_font_doc_font_characters,p_theme->get_icon("DocFont","EditorIcons")); +// Ref doc_title_font = make_font(_bi_font_doc_title_font_height,_bi_font_doc_title_font_ascent,0,_bi_font_doc_title_font_charcount,_bi_font_doc_title_font_characters,p_theme->get_icon("DocTitleFont","EditorIcons")); +// Ref doc_code_font = make_font(_bi_font_doc_code_font_height,_bi_font_doc_code_font_ascent,0,_bi_font_doc_code_font_charcount,_bi_font_doc_code_font_characters,p_theme->get_icon("DocCodeFont","EditorIcons")); + + Ref df_title; + df_title.instance(); + df_title->set_size(int(EDITOR_DEF("help/help_title_font_size",18))); + df_title->set_font_data(dfd); + + Ref df_doc; + df_doc.instance(); + df_doc->set_size(int(EDITOR_DEF("help/help_font_size",16))); + df_doc->set_font_data(dfd); + + p_theme->set_font("doc","EditorFonts",df_doc); + p_theme->set_font("doc_title","EditorFonts",df_title); + + + Ref df_code; + df_code.instance(); + df_code->set_size(int(EditorSettings::get_singleton()->get("global/source_font_size"))); + df_code->set_font_data(dfmono); + + p_theme->set_font("source","EditorFonts",df_code); + + Ref df_doc_code; + df_doc_code.instance(); + df_doc_code->set_size(int(EDITOR_DEF("help/help_source_font_size",14))); + df_doc_code->set_font_data(dfmono); + + p_theme->set_font("doc_source","EditorFonts",df_doc_code); } diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index 616037c5455..b426def5033 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -130,6 +130,7 @@ void EditorHelpSearch::_update_search() { else cicon=def_icon; + for(int i=0;ishow(); - DocData::ClassDoc &cd=doc->class_list[p_class]; + DocData::ClassDoc cd=doc->class_list[p_class]; //make a copy, so we can sort without worrying Color h_color; - Ref doc_font = get_font("normal","Fonts"); - Ref doc_code_font = get_font("source","Fonts"); - Ref doc_title_font = get_font("large","Fonts"); + Ref doc_font = get_font("doc","EditorFonts"); + Ref doc_title_font = get_font("doc_title","EditorFonts"); + Ref doc_code_font = get_font("doc_source","EditorFonts"); h_color=Color(1,1,1,1); @@ -794,7 +795,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { //class_desc->add_newline(); class_desc->add_newline(); class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/text_color")); - class_desc->push_font( get_font("normal","Fonts") ); + class_desc->push_font( doc_font ); class_desc->push_indent(1); _add_text(cd.brief_description); class_desc->pop(); @@ -805,9 +806,14 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { } bool method_descr=false; + bool sort_methods = EditorSettings::get_singleton()->get("help/sort_functions_alphabetically"); + if (cd.methods.size()) { + if (sort_methods) + cd.methods.sort(); + class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color")); class_desc->push_font(doc_title_font); class_desc->add_text(TTR("Public Methods:")); @@ -979,6 +985,9 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { } if (cd.signals.size()) { + if (sort_methods) { + cd.signals.sort(); + } class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color")); class_desc->push_font(doc_title_font); class_desc->add_text(TTR("Signals:")); @@ -1098,7 +1107,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { class_desc->add_newline(); class_desc->add_newline(); class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/text_color")); - class_desc->push_font( get_font("normal","Fonts") ); + class_desc->push_font( doc_font ); class_desc->push_indent(1); _add_text(cd.description); class_desc->pop(); @@ -1168,7 +1177,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) { class_desc->add_newline(); class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/text_color")); - class_desc->push_font( get_font("normal","Fonts") ); + class_desc->push_font( doc_font ); class_desc->push_indent(1); _add_text(cd.methods[i].description); class_desc->pop(); @@ -1248,9 +1257,12 @@ void EditorHelp::_add_text(const String& p_bbcode) { class_desc->push_indent(1);*/ int pos = 0; + Ref doc_font = get_font("doc","EditorFonts"); + Ref doc_code_font = get_font("doc_source","EditorFonts"); + String bbcode=p_bbcode.replace("\t"," ").replace("\r"," ").strip_edges(); - //find double newlines, keep them + //change newlines for double newlines for(int i=0;ipush_color(EditorSettings::get_singleton()->get("text_editor/keyword_color")); class_desc->push_meta("@"+m); class_desc->add_text(m+"()"); class_desc->pop(); + class_desc->pop(); pos=brk_end+1; } else if (doc->class_list.has(tag)) { + class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color")); class_desc->push_meta("#"+tag); class_desc->add_text(tag); class_desc->pop(); + class_desc->pop(); pos=brk_end+1; } else if (tag=="b") { //use bold font - class_desc->push_font(get_font("source","Fonts")); + class_desc->push_font(doc_code_font); pos=brk_end+1; tag_stack.push_front(tag); } else if (tag=="i") { //use italics font - class_desc->push_font(get_font("italic","Fonts")); + Color text_color = EditorSettings::get_singleton()->get("text_editor/text_color"); + //no italics so emphasize with color + text_color.r*=1.1; + text_color.g*=1.1; + text_color.b*=1.1; + class_desc->push_color(text_color); + //class_desc->push_font(get_font("italic","Fonts")); pos=brk_end+1; tag_stack.push_front(tag); } else if (tag=="code" || tag=="codeblock") { //use monospace font - class_desc->push_font(get_font("source","EditorFonts")); + class_desc->push_font(doc_code_font); pos=brk_end+1; tag_stack.push_front(tag); } else if (tag=="center") { @@ -1496,7 +1521,7 @@ void EditorHelp::_add_text(const String& p_bbcode) { if (font.is_valid()) class_desc->push_font(font); else { - class_desc->push_font(get_font("source","rFonts")); + class_desc->push_font(doc_font); } pos=brk_end+1; @@ -1618,6 +1643,7 @@ EditorHelp::EditorHelp() { VBoxContainer *vbc = this; + EDITOR_DEF("help/sort_functions_alphabetically",true); //class_list->connect("meta_clicked",this,"_class_list_select"); //class_list->set_selection_enabled(true); diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index fedf738af43..8313e38f02b 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -5225,7 +5225,7 @@ EditorNode::EditorNode() { //theme->set_icon("folder","EditorFileDialog",Theme::get_default()->get_icon("folder","EditorFileDialog")); //theme->set_color("files_disabled","EditorFileDialog",Color(0,0,0,0.7)); - String global_font = EditorSettings::get_singleton()->get("global/font"); + String global_font = EditorSettings::get_singleton()->get("global/custom_font"); if (global_font!="") { Ref fnt = ResourceLoader::load(global_font); if (fnt.is_valid()) { diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp index 0b7e389773e..96ced0d5e3c 100644 --- a/tools/editor/editor_settings.cpp +++ b/tools/editor/editor_settings.cpp @@ -443,8 +443,12 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { } set("global/show_script_in_scene_tabs",false); - set("global/font",""); - hints["global/font"]=PropertyInfo(Variant::STRING,"global/font",PROPERTY_HINT_GLOBAL_FILE,"*.fnt"); + set("global/font_size",14); + hints["global/font_size"]=PropertyInfo(Variant::INT,"global/font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); + set("global/source_font_size",14); + hints["global/source_font_size"]=PropertyInfo(Variant::INT,"global/source_font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); + set("global/custom_font",""); + hints["global/custom_font"]=PropertyInfo(Variant::STRING,"global/custom_font",PROPERTY_HINT_GLOBAL_FILE,"*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); set("global/autoscan_project_path",""); hints["global/autoscan_project_path"]=PropertyInfo(Variant::STRING,"global/autoscan_project_path",PROPERTY_HINT_GLOBAL_DIR); set("global/default_project_path",""); diff --git a/tools/editor/icons/SCsub b/tools/editor/icons/SCsub index addf6879a22..14d2be66f6e 100644 --- a/tools/editor/icons/SCsub +++ b/tools/editor/icons/SCsub @@ -35,7 +35,9 @@ def make_editor_icons_action(target, source, env): s.write("static Ref make_icon(const uint8_t* p_png) {\n") s.write("\tRef texture( memnew( ImageTexture ) );\n") - s.write("\ttexture->create_from_image( Image(p_png),ImageTexture::FLAG_FILTER );\n") + s.write("\tImage img(p_png);\n") + #s.write("\timg.expand_x2_hq2x();\n") + s.write("\ttexture->create_from_image( img,ImageTexture::FLAG_FILTER );\n") s.write("\treturn texture;\n") s.write("}\n\n") diff --git a/tools/editor_fonts/droid_sans.ttf b/tools/editor_fonts/droid_sans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a117feac8554304ad2fd56b5e18c1bf7c4586130 GIT binary patch literal 6314324 zcmeFa53KC@S>E?M_usBvlx(+-Y?@FOQHym+P0BcMwH}|1bI;rT}1?~ zi1F?7nfv{$U%vUxoO5^A#!iUz@VxKyKJWAW{(dv(+`Ee%hNEE^p3MKaHazvtcYf0! zd+#q?|2@O}KRu56`~Ju~{-byP{CocK>xOUr&^rB({E^u=eB)pFs=xX3!?*s$PY=WY z{RjWZH-7WmkAC-`{o}*8{+GXR7;gN7Z}`SH|9fYD>5N^fSvp{r(UB+*jTjuKwU(8ivQN|LJf0 z;4=4kEa!b^_P^v$|Jm<(=0E$||Ko$hV^930;oU#{@x`C|wr_vofBc!ZX7~4J{_ig$ ze98avkA61&x2ONN7w`Yh)qnd>KK>sJ!Sle;(zMTecSv0)X#t8hkk1K=KuNWod5mH@A%+%{+{RG_s@oJe)g{q zulYYex%~5gYWWxcpRf2ghO0mPUnlcd2HsWh;NKbk=C}UtKlsnC{ME-J48u=-^esES z`}%MA^?&}6Pk-t)pLqOFL}19q?teb^!O!F!yyi#$`A2^9@4e;|P2UaqAHVR2QSv`u z7@iLP&Ed-M#PH_fTXO1`AAQ|$J=3d?{ru53)#KMcdOgP-{aX+D>b>EaqkkITzjous z)yJ=0xpM9PaOMA-3{U;>#OA4n;cNcGZ~ViP_#D=KXm2O!|S5`iQp%Kd4T8j!S@Fr2)-rwGhpX`Dj}BjU?Ty15uYF>8_R5pP*_9_B z{N&XaclEQ6ef97x`n8Yk{Liv;^=q>KBg41ku3wSa$FKg~VYvQc&L4)ay!y+-Yp?$0 zod0)uk4L{8<~={-yHEX-!8?Kv1z(2e>OUU7CwF_xjq~B#ul(5Xj;p`a-hbXb+O^@q zZ(M!<&i_p2UlV-!?pc0nc=q~RbN_rkM;{-)GWy%D{LJw7?0?hsUmD&P{Qls}^X}iV zd+)sa4mW=G!Dsj^_#7(oY=3C?S$tyn*Ta*1R&Vxm;IpX6bNn~EKA#1jhuD1<`OL2U zY~CO5eFQgte0bmPv&iSbXCd+#{DXWJ`8*!{Z^5tT{eQdue4IkvQsNl2M zebz9~&G|j&*>~sf;oWyMpE=LJ`@Zm=xaS4T_nGh1Ugo{zdzJ6}5PtH?Cm#H>Jm>$E zcm3Az{~Nv;{s+6y;K|_~ji0^ti}`N6G2hYrjAZ_kyPuPMSNXp3bCh@X*BU?5_@VyH zZvJK2`E@?W-Pt|A^TC6cX8gS69q)eb3P1Mc!}mVM^XF%fpM%Ep#($olOMW&E@ays{ zU%}6A=DYnKX4n66biP|}AKuM7 z=4bH6SLSzRemBDLygU1o-Onb!%g*vy@q6!M`PsQ0@H;U-ue*1epE>4NKOT+Wfqyx_ zYvSX(cJ1{K{^_;+{<-#*dH>A$j=XmG((uQ3eSW`QJsqATGoR@Pu6@meU%CD(!^dyj z*k$~l-C6t$XO4F5XYw=pp4{;)JMDMT^|Rr1yLZ6vr+lw?Ztl)^Ki|ROvG2Z;Q|0qxrqU`TTy{{dx89&$eIXJALE(hbM0Q zQv7(h2lwIkWIof!et!7g8{d&X)83eO`wPSC9{Z|1E5EDWocH?e!)qUVQ{H8MH(&n? znZJ(>-Mw6GYwbyOd7xD+lTLc{ABpRjko3d`lZ7M9{Y)$ zHw(9O`SWP^JNX~xd;4AaTt7DaT7GtZ5j^(G!*N0~xe@CA2cAoiH@?HF=`8>R1e#ZEm_<7>*0Wa~-rGD%1l{Y?; z-%~%3ynJu2{p9e`9p^I)fAU&#Z+!Rg*6Uw3yhY|a&i9n>%Jp}}^Y7-&Ka;EvwhPlXE*Dy8~J?lGs~{O&t!kE?S7{C4*p>7KF#0x8haK$7rXB!e0%u4yPprv z;^zw9^XEZ6)34{d$Ir>``_r*^^mF0oh3{-9=z!x^FPsk^Vc8t z58j(uG9KhN&V%ef$fv>lLH>Dw8UGBhn=^}t|M#0eo;rCCZe^Zt!e{cgc|iZ*tqtS? zH1K5OpT7FU@Zr?&z4m=azt*%{SHJJ*?Jw1j4n`%9r=zu zIh^M2na^JN;o&X$9zUC(-;ZB;eZJf89KPz>Yx54@`rtp`>3?DPT6|Z(EWZoimcO5# z=e>P;_;B9i59Vj(wRwlH&F`@fv6tV?AJ6Z^w_b~1Tz%c}_wxP!d->;sZ_1x#-^<@G zuihHomES9O^5^2$Ut8pN{FB2Uz5W~dXNvruxbbz#&hIvOSATSP@3n?}XWjy?{P=_K z0k8R<;ln$;KOEdR8Qui)XTy8I(fc0!%Hv-e{qGO&CF}Y;nB{j>c=!7=XLD|TUU`R4 z&K{C)iI=l-X`e-iv+<9CMn=Na&x+U z_e|5@a&XSy?f5-)i2J{1w!aJdcfx(V`@PPekLB;1yWe-Mzw!3Z{9OLL`Jwy{+x<%d z`O06*KXXSr`sVyT%5R+fybMSD^!`k+`+pC9G2fpL1@K$4_nyZa_-9uB?g^6dw(yr; z`BduQ>h}$A%Re`MD1T;s=<1c>hx6z451A;x=3Dab5%SOV{PX^mcjxa;!PQ@X=sSAt zXU_7^i*F3RzVVyG{Ilg(TzPT#&++^-{yT0A$^JXT-`M@VFyFx&`DeY{@w*@U)b98A z8}q*3eeKtVXKwti;Twau1m6&R;M$Mn-xcuZ9{+6rCBwUt^-TWm@W$)s!*^f((&33+ zk0yRR|8C$t!`J26d4D$_;>sfY;^V{76XEsa`6&-?9?zc?;pZOm(f!6JjpI9-1g8)C zE7`?=#QaY7mccApPlw;|5La(KK3rMFbC&)*{9Kr`LGAB_;BO#)K3K2xgywGM~nC9ID9vJJ9s*nr#}mygrhOr;Z7LbZ+spOcHe`iQlBrwoCW=HpelYq0He(2+FyUzjt&EPbcFu?WON^?!+^_)NfLs24n&DZ-+sAyYEH#h&;TL zV48O`%kw=KPJQKGa2)-1n2c@qZUr#76PyNTK|DLqpEoV_Rs2JCpAH^R{akQAcp-TH zw_OL_k-tyMFVrdS?l0#FbkM319ZLgFSZ_?e$$wqJu={Jt34YA%+=VZhAYr! z4YgMLd^6Ag`9AYsrStgitb$2<&$8b;`1t_FH*Mg%gm$Mfo@Fo(&VthhJm~DfK+U@E ztB)Dr?CPJTzZY;1^i5;VJqd0H?s6x5_Q$F5pq~e1O#+U5% z-lpxa|6G0ta(3#Yr@|)zcYGz_zV5$}n!9o)=Xw5lYB5c{Z8P?Go@H>>z>f9ZQmeuD z_vqC_&6(U|-u(2Q?ObLi(72O5H5sRknXdy_;H6#!*7UQ0Gs)Nlb;i8!&2z@Q$Ngx} z1?FlKCo!KZ;$)(K32`gzB`-L^zKsEewLnH^~!ap zujw~I)$8t|89w)^=cPX>nbor>Iy=*VciH1kv+HGJs-)$f7xebAGot=dF)fKT3_!#&DlM?i~6K^$fNfxGvrxj z*6u$lbH<^aSDL>s`%!ZHchqP4401oO{Y6>TyRYug>HB`~m7KXR`!YJ7-q-isbxiA@ z;gDyQ44-k`>O0}nf=y~N_}tOifzjBZ7MzVA54q@QXASh$==6Be$lJD_8jUP`>(-;; z2WTgasnOU!4<-S7^8+|EXEuA4FqUtIxEFA5?h0=Lo@W`b3-G@fFn^&jb;Z5( z_|RbX%&ZzUXTY^qgZIImW%De;w_1I>F`koP6`U2#9qvTUGvb{!CW~{;p;n`IpSpq^ zGS%og8~>u{%P5i&r3Ulhc7RTO(rTFbG(cyk zXEcDtGXbreMwvvu(gR_`xdRj7fmrgI)9S z+mpu*K$GjddaRjq9_OGf8?VCsF7qCf=BqlpfEhYDoI#DQ*SV|?vjclCXOpsz$NM^W z$8+%GBgZT=s_wjMH4~j4wzk)2e$~gkV;Sylk`M5xnZIvO9ly0Zvid3>?`OVy=#!G+ zj{eHlc&J6~t<8Zwt7_KgnfsldwoLq|O{ezr-lV?UbhT-EJj~XC=S@;`KYYyXoipQH zm^nUr&RqrgVRXPA+Pc;D)7Haa8;}F=;0N@avuRB2eBQKWn0i}a4l`;%U3>MyyZ>G6 zHa^ePf7Z0qFn1XPd+6K+z85T74O=stHl2D^K<_>t&J!oCUW7Rd9ly}GZZkY&teVF; zylfg-^fEPh)oVSbljD5W?dmrhMgyxroqg`CPJJAZ*Mps^P12*?39N6Xo_63oGZM+`y*j6^XV%Q#XTNSa++)#YPFkLKyv)7G z#m5fkuUbt{o_ExThJV>+=#L8T$9bMh26cTV=A7k>-m^|httOK}7C`g9b${7;s^1(m zcGiKKd{Q*esTy~{>x|lGsrR6sG%t+DU3Q$AMIJlu;Wt~&9cG@72JFp&t=*@`dp9_1 z^+}j>mI3vmF*SS4(3n$`!HgWeFjzHEGsiy{Fiy==N3eAJ$KoO;?c zyv$aCXTbs=`^*LBP^0%a?lk(#f-^7j-ie3%dVin!G#Vgd72v7xIZv9-9&>syX}oQ` z4wI$FeHcH?98k|1GoyBIl^P9SWox|D;4C1kf*f{Xywm`XbpmWKCyl9{%Qf5jB6fG|-7~8&%N=^>b=J?F>6iEI z?%UTdn_K;A`*@u@`!4mkUvsNA=0m%z$K2{aR9C;X=kM-6;VYJM&k z4bEkJ)O9{-J$w4h&|7tDzIWD(R^Mq%@7x*BiNBshFSr{se6T+DnZbCS(d$uLHQ%y% z+1mtWvd`Wav#V|{JvBRO_If8}hDMJcP&;Rjd!U=;j6G-E<21M%pyLJef^};A?vM%a zRHnxBLgQ%|pj#i}>f4l^+?Dwl``|54W+c&TJY4Li7tZ!XBYB0Xu+xPm<_GCCWulCkv!qbs6 z>+Ydv_dPFL4q0lG)PNqHOg<0lO|Wfz5*F_A4wnJ@X90Wk_~30o&a5!`%mBJQOuuey zhWpIenKx$64m}=vcl2zdu>;JZW)GYOc&XW?p5=e1_(XUUoCSDb`&DW(?l+ye&`-ZD zx^pyj&!0q_2Cz6zUD50GbzbX3v+Dboz4o2?K5B2xJ8*7Y`}&UR&U4v2Z{YJ>2loO$ zUzpFg_UtbMcoxhX^Vy^0KWQ2sfrbY^9#CtwLyRAg<^E~Y;Ik2+JL5U-G|#5!?CCLs zd}|pG8TPU|vzlX#zG{0XWuH4t1Lyc}2QWa#vkI0CoXHGkR=w)5GcqdNckiUl&GSt5 zt?PcxH3QaDHEMHeT{GBQH6OZu^QO^e0esTxMPqa{QG04I4<-$2@NwWAk3D=DxFfsM z_v*hLyzefPJfkyt-~E{Pp2;QO(Y{P{K0`j!LpbE&v#Yx&U0-L`{f_$Tf?cw~aYL=q z#(K16*}-Su`?&}2bkY3%`=)nBj$qHaa{u|9#0T)m)W6-}xyGKM*YWU7dadcz;L~7J z*t+WL=2*eNNwD&0a^*ugnF1zm6+8i|RqR*M^o~%A?yR-K0$iZU|)9aT#kDd%YuroD2 zV?eJ4v&Vkb?P1~0*h~*+daj!Ons04p?fcriLtf9Awdas)md`J-+u<2_ZspM_j!)V*J=_wx?>nVx;TYWZVxvv`g=XNOs@>v7K>W{1zZYWwQC zf0>$`>g#h)N6y9X=cB*+rftVuSub3lzt(zXcj$#@(^EeR$XmB8v-fek!%P3YaK9sP z&OCZUcol2|GNSLa=Tmd1S-||X0gc^Fz#S&RSuhQleJ;SgIE!p*&+y*d5vWg6PfL&9 z_j<_%JQI8B_Vc1S>$B+9;akOT9(oUEfcCXS3L$c9;63WLl&58T9DR7NzD{oWacI zff;CKSLQiy2djV`X6(WC?7ENNnR9y2k(pVuy9{8nnW<5u)03r7uUyYX1DwO1jz@qF z@Q79F=^jk>=)IpzwRNehUTeLT`+472FZD%pJ=Hf>FWP;XIj?oiajpjQ8Nd~Ff00=Q z@0)kTXXUOnylpe;v*tk~6AiFu<}&p<;CyBI5UpGH&jhC5OJl{6peT;#5)#(8luN3620+@T%b862y z%wYZW+kofdK2>LT*}#k*P?JGz9-1CC&w&B@^a}*s<+AtT?qm0^dY@(QIb(gDy_)r= zJ=?xaKev7JLpslVXnxU*_lQTn$j_YnF5BL!@n!bLJe+$7oK@$2zsUU62G6!HlV=#4 z9oiZ5zg&&y?|1n*=lp4z`JUic6aHS2$*#3$Rn59`-Q#)I!6x7toZU`+uYo!Hy#G~W z_R#cG^B&;SR>SPzg_*l zN1q0G9|eAPGUuLuk>FnLDf&B~m1nS)@lxCGtE;c~y7Nl;wB4h!HQChLU>Yofd1LBj z(PpWS1AJf-oCJ8-ac`BHIes$mz|8RqeCyUTrv{s*QO}#^88xr&xJxEF%=zkQW{?Rs zfp?(C1E|sU={;$4X4LF+2K6=|-;8}+Gi$xi|F42x-@~KUy#Gym_q>04Gw1>D(0bka zF>PD?%=uiwBsdSy$R=yknE7dNJHSIP@KdjXSwJsSlVgt$?JU>^%-BPt#|Nmn&!+Y4 ztpmL1#{n99(_kL3CofYwhw1TI!_L`ZW)}5v)2J^C?sZvj^>Odo@2l~xgGIpo09x(U zybFClcXx~rd8g&fes|Som({E9(3#cuC^dII3vLDE1Kw2+-Y4&>0#EHZm%g&K`qYQEse%9;Ed(TPJ z(8&Uurk#d)j%n+cg~_JxK~Aq7+Us-ZxznKx?~G^Fz`1~a+rYE*z_SUa9cBk~z3kT7 zJF2}L=2>3O-l3gEGP&C!&)96=j=Fc{GwS!9q2C;tS3h1dj~kfPeZ9=psr_y^htX@_ zYtCo!3399#sW}6Untgiihet*~ZyNO?fB}9ra@a8sAE2MK8n3{+3CuVz9yE5=ZN3QK z3SeNKJdZXF&Kl$KF0<71cs7m6N25Ovj$4n;9y3`VGcqQPSDk0tdVFG&8vQt67oEIy zKn}I{qh`Je*uf8@;o&}Lm8tQl%~Br+WN!m9E7%9jVY1ci$s@;J#;f1Da?N?UHRrC& z`SfF`&%}Mfvax;T{yshjI(yC+tyYt(uh;0wn*{9B!=9mr4psqq+Y8{GD%VVEvdHhx z@GNyb`}&%LhhC7y9n3gsJ=&z{@OiKfcrG*8-2~>Jr3QGI*~9qAa5hivo_X}>cu#|q z0F5jdtQ*fht6jbI@c)j}Zuj~8=LysA{`;Wh;@<{$gUojS4ug5Ju4Hz^d=oTn=SRyf zv!i)x_R{apzt@<%plyP)_=fN@xE(M%37DS-=mKpTBzt#X^6$2L+)3>odUAHTFQz^Z zwgH~!TfGi1f?L7a!+Q6B7b|-&-36T;e1C%-N>qoRfe|?<$i=ZBKU9Jd1rY@uj}<#6#Ylbu0C3 z1ni9I)9BKq@q9lQ|mxov{u0Pi-?b1yY{ z%wg^;W;haEHg*D6WkBzU&!A<-w@_(baJej)87kT4C3AW-;;w^!L5KicpGpI zxEq`X%m8`zFjxmwy&S5LBD+O0JndbN|{bKjX>xcZ#)EY$YZ zk9HE6xk=5l&Kj6aO0SNeS}%L_RbQsR*Kj9%zu~#?Iyf!Bdn>q`ce{GXyDajVkqhYI zO@Qw_V2(a*HQ9L3X8|+3=+w6Yz3@qZm-$(M#{M>7pE*6uKHg31(W%*GrWbu0z~Hzs znfRPh>p4$NHobHD`@t%>8_a^U01wzSRws`;;FqcKl7$Z@1Mj-^=z5r=Gp8np+TJ|; z%ua)|z0_B-}?HVxD~(;`?mrbb`3o@c_3 z{$k_0$86hlJm%$HUVS<}Ip;xgj&6oen?}}i!To@}yAN^Ysr+7kL+VxVLgQrlJA3yT zout1Pz|RGofgj&2AdeX}`OG%~b9MaacrJtKC486h)U))<&icOBne!|#&+|fX+OP=Y zhtC6in_wBB0pEi?8TzVbeJ}HEunEYnUUu;=esaXPhRTXXM4Nx zd3Y7v3EZ(}b{5P7&%Kwr&3FF}k@{BCsLyiNQ(^CiwtlGZ?uU+c7I1gYd_F+C8_WZA z=Jy*@2fKfVO?~IL>M!}(zFFLjTI`#8yhSu+&mRa4?%ky{^yXf@Rz7KW1eP4IxC4(Gh)xT&x zTGjDQ1DN;Z9G*A5_t*Z;i04)`^qNOLsJZk$t8+c}`0IJpi=fV5XdZpcxdVNLJ20Nw zTUURrnb+QW)^hA&ymuO#yGXCcENAGv2X~$O{_c#-^tdClW9}G_-Pc_h;Ia0c%F{MC zpSwFhZM8FX^Tt@uyye!6>er`6Kc=~_Pe$J!IK%Vto6WNUHM7v_In>O^FvpC_eGaol z0GqA9_U2a&pU;C{GxWiWHiONn-dS}0K2x2K)oL)g?!(Tgc~A6J)4PsN&H2n1tw$T% zG2>qG>6Pc1ai)FGt8SOM9`g^Kt;Zer?U~O@=BCtm7D3HG1M59HGyLwr^U}NDd-xnT zf%BfpKx41Y7F}O+_1B&HeH!z+1MhqHdg^{(k9p9*Jiu>1#?H6RYd_{)lstVWC10)X zs@2_o?zQ*Qq$vEG>x4K=JasCTYY+Zt?$i2ztytcU9?^gKZjN0 zp3ds$fHn`-0a=0`AMXnfU7L#1SD!PP zync_KcTmrw9@F&HGt}xCzK^QudlcplWYnD1$X)B){4wn^Gd-Vg=AG3$_wS!soo`F8 z?q|#0)yAHq`Y!U0?H|e>^Q-y2>7Uhk&zv)M)|lpQo%x(&?^1u|x?6Q>vif=LYu)eG z9$)YEz35|p**mk-=k=O%*>n1H)hqWqbv9PxC)aHEt2VZ`Pjg?^H_aK;lYklDDQA~u z?^yl)Id$eU^q&nL?^E~B+TFHccbKEE1MUn~t;Yw@U~=J_NsV?MFvp8FYc)L}pWJQ0 zd1&-z(KDmJ8!)S2e_nuZ8k{t+zX`~m1@z4DS+h?MYORJ3IH#T!O<&KPGnQ9#oRi0M znSqXGPgd>K;j!5|`m)WK>-Ri+X3p8Ez1ey%%iD5Z&DeMU%jS;xyt_Q+`CMxCefIC} z)japrdOp4rujak_Ebl4zbNWNGG5;5ecA0mlXEpMkoqeG^&!Nwu-nG{C?uYiP?@{Z0 z=N-!VT;0VpXCt4dv)@i0dsp7I{%*SL9s9h#ziiIS@piy@m$~|(2qo>2C?N0pJ%sHFDdwEaKpB9hWWtj84159rg`}G`k@4(!e-C1xJoCfT{ zn^JF6uN%x=rAN0XlRb2p*{s!Mp#l8v&@)>F?sFe@@ldz}44`(`j{Gg%M2fJ|$7Qg+s@=A3$_y-bev%Vo}Y*SpvsVxHG|U({LIR{fn($7R?#YX}w5of4}LzS2DclDTYsxDGjf-$&+hI&n}x;< zyijV-ccxE9=ln&m4A^DIJ$!oQ(`e?MwfVaEn9Z7p>}Bc6c(G~JivYjbFn+Wb0_XG< z+<`OEV14H3eIYY7J@9i)SHlC?gSodo+A1)!&KJ!G&ztZ0;_Y|nm))E_GW!{KK=TZ1 zdS~ppi^dF}Uiel6?@8~n)%bxue)?HJO(r`P=m3pO>&n*dEt~&tWAsIEE6^)*rgwFp zeig8z5AAN#)$q>(GR^~fXN#`K$6TF!`t!h@Wve+$A0FnyJ@n@S7_ZMTZ(8l^&T;d* zciQ|Xjq!31m|T2hp;_YvXr3dpgYGUqX5u*YbNM}TH;j+@JirgHTK!_FGu!>W5)XT1 zQCDR5=!s}|!cT>t56sSN_xljP`Ol@M=Nxz)+zyzZ1l!=bU=wgpYx?^EJAhvJJoaP& z`qRegclSg)Yg+bR($E({wBPdGKnL9OJYbG*6(sYebC_2zb2QF}`#D}bFgf#9>w`H5 z7PV&&eHNS)51I4Un~#rsn}bdbThrfepgsxoz<@LH%j#&S0X^pcH0~Q5owS<0^MLuZ zV3r!F**_|?-|t*j>-T=A{};q=j_WS(m z_&B%vA2q`)&$st^s_t3!jH+3?qYoXlce1;$UOdia_uysw{|lt<)*8>Wz;p1dgPKK+ z?tVRwTCekI)0i#G93Qi~i$NH5;zJzOVW2sL`9dXf;`rR`2sKGj~@{ z?ae2v-c22@`q-|y?o>~m)%mjA3mq&9+>@De5BBt*r*^Jx595>j+FpO{sqN*loMrKu zGsgPJs?dwZv+?}=uJbJCwZ~g^{c7gh%jo3W!)j#IJ?c7lr+U=PTxJKXx-5NW+V5k0 zybD<1MU%~vFUn%RZ2Q&AKKHLVy^mS1nZXR$%V;(CvOf1=bIo#Ab$!b{cW~F8ZMzqD z>v!~ej(ps**-?}0PR*-2HGa5a+4XwN?t6BuBVk2QLKZ+W-x$0`Ch8JlvHzJDcDv zK%+)qH?U(K^)i5`0e;||dJ-^a-+q-EKQov)GeC_#FW59)pX^T0b)I_n|JTG>GI}4+ z3e>IDN?&!R`x5970+qz3lzp&e$z9rDbeR!5_+n)%GgsUB+QX29WAi#Q+cSH=y}9~e zHS_AsJ-GU+u3xS8)apHxho;~6V6VUS)^OdOl$^R(J?>O*uT{S}`sr6e?a}D=3Oy3w!y7$RB=D^H7yKxi+R(~%zuK31Q{7zpT05VYJ!@vQu3l#{zFNCi^+WT^&hQDd z?Z+~l>6O>zzSZMgtuT^Yqxu=(V=5Y_0DQa|h;QJ80^% zS@yEJtPa=OIqa;?H_^Eh-&?=CxAX78hxGT_4F5KWzVqU*&vBl96C4NB_?g3K)8M4_ z=zyN{W&u8WYP|F^UUXmvv-99IaLx{}U#4CKFq%4yk38nL8sigqm~De~fS=i>)hA&* zJx`+Ho3%L^)IHeq4sgvOgKU`Doz~+yZ5s6|;4D1!>;QUnz_~EW={UChTQdt`{Y^p-z^;-xA|!p@Qf#o zsW%PO%(w0PuRr}RA0K=4)T>g{-w9@c8PvJUu16!E{TG^cJA6MN50JsVSFJ~5pZ+wM z26)hx0dq3lmGLrnrp_MwF9v9wH4E@DV-Njq7Ng{FPYqFT6(&S%*H^c7~IxuXUz0`{EYv*#@LDzBPfAJ6H&TzB!&>xXZ) z9nSBci3~h~UOx<&nMqyGrDi6a!PQ&qn=M0j2anHNHT2`4zkBuKVUEw;%FCkTtuuPC z4cK?yGdnkfy6bs(IUfcm0X}OT2x$1q-?#-5uM<2RiZoNzm==J+ddSKs)d3bJid(Pae zy>;bD+xHpP>6r`9Wq#7UF!OpgzPjTc8uxaG9KCAxu(eru7EK?U>x13(S*qW96W^rd zx#t|NcU0#YteMlh3zO;dR4=pIoA0h?!Rx>?U_I9KH=FJrTJ=@$B(vJfywrH0L`yYArWb$ZXPyNl@h zo%g%ES7!KnuQTVKvus{7W%l)2yQ9bRJ?kVpXq*MByQjbI>p^o*pBeg@zbc<4(;*TeUk;gX*o%S@%41*>>1-ZfzFclQyq2 z{W3G>i!M*y&xxMT!h4t@_xtE(xI<433-|TfSFYz?v}cZdvz$o|`bl6uJ8?rpNzlva&FZ;*Bxf;*?Vt#fwm0r>Z`1;YMe_?w)yt@JgeT1`XunI zx`WORa87L=j4qa`Ia^P?2cFv3%zEa$<#`5~=DFh;vff4WqEoXAGY8w?q%rqlhUS@P zsh3U1kBt&xTdiL$m_L$*a z1f1vz$$v=e+so@vR!WV}BeSsLNHemi3G=p6aufPuf}Z zJ(!`%&JXpxw{5_4E*hv$1KuSXj5cYEwh7qfefoaUmF1YJ`HMroF1$KGT0%9e%fmKTfs>KKI=)T zv%`NUk^ipY?!Rxi&WznnKrK@P&e#U04a+c~m+P#r^^;4zZEXG`Jy_*GpEqwcd=hvU z=Cd}VW~P@+vEo%Lsp&Gg9i3^aGf&QQ}c<|j|!qxP&x z>Cw$|uD5;$&S2*5c?a2f-@7B5r*9vR`Oxr_Wv$P?pL^e)$Idm^tjeBK_spz5G9j?H%yUV9ZlB>V3WMtRzJkm>puRf*Zuyk{5|E6zwY)mS)Ms|-k8>BjP+*LnfI(3^+jh~ zH1G3jKX#9c&V0G&^=FY|7JmlUdyUn4y@v82_X0@Eni2Q_t?-L!BL}z3aZS zr|li?n;**VXZtd|`()4OwQsM_f0Ulgnp^8bIfs1CWOL|y&Dj{QoBvUE#=K)%J@2A< z^-^zxUb`rxpZ9&ASNlWWL$jLkxvcv;^u1?a=J$}^FLWMzmVM9t+x0BVk?$#Y@%Kz$ z@4KhZp8=0&JA>J`$79|m^{ULO z4?kYe*Pg-59ewo6VBPkdlTm@kS?+@TlC)Qf#cWkhS#~8=dtS!HD2Lac(yfhUNY#JEn7{`U6_&K+#K#^7M?oamKmO9 zpa&mt-4)4#Al{{dzrJ?_e@zoT<6o`H3JWI-Q_;$_+ffAdQkml!FSvIJWS8|>sGsS zmi{zY1!xuQ;0K&@FR1genjJCkYWk{qCp5C^eA9NPVS#3STIxlqo%g&d9{utrGwW&b zSu?lhJIBa*5J(VvHfMZztg_H>a&q& z;y#>LeV*^V#%6lpTP2qr{c`nIt=40nvy#ia_tW>9InJER&f$93s@K|_F^zZE&-dJ@iT_n!g7%N+0X0UmZ%0p~GGz4PKh$HN{yJP($wKM8LFcA1f79?YCQwewb^ zfpueh^H)u0&l$`)FlXX{m%&Lu7IQ!jJPD?IaA>w~r`IpasPp4?545V=SIu*r(Lc&u zZ{=Foe6yMB;jZ@kxMtM7s{71pvVMEHKezA4?sCX;XtpoQ9oV|ww`zSxosHFK>OGUC zR%>?-vG>s9e&1KU?x@S|jdAZe)H~zzC2Jnc0{TVa)cl^@{kz!n)OgpyNq{dJKkGXW zI=>e{w4I09Q1oS+>A}YyeBO8-W`5S#9X#&A*6Q?&z`>!G<2Z9ubsnWfmJ|1 zYp9;SK5t(2d3x?CquZN{Mz*t))SJ?y3+`hrSFP6d8O>vddf9UD&~v7F)vM;7J?GT3 z>?`A)2Rv`xo0eV9@;u&$`|6&tY#Gks+f8%d89lYk*|lc24!E1oJx$F$@d0YhMMm-O>tM|oQ!JK~4 z>9h1=U21&XiTjbsJ~%1BQ~SOq7i|(yPa9LCsoOIL>h{c!1K4`r_0HHe!)L}Jz)aFt<(`WCj_IN5T{y@Z?Bt2hF&!o)R`H54!wKk)IGKO+_iQ-#^hA*)9Llq z`>36ixtd&O{rzfh-RF-zWAAa-GvP)4-g@UD@17<7j(M(H(+keBmd7+^>acay-LJf9 zUfzj2{rqVDWXV!9mh8eOxS=~K&Th6XJwLSZMrf{D%*6SPN z7m{%|xEE}L7Xz}vB3K3NQ3KwsIBqpweDrwXL%?&=JhFag=*}vu%g0?#)v2BL%$=*Z zpEE<_KFd~Dk8?frpx&QZ)#=r0jfb9HFbmMQqds+d@1tK2I|7Y)o#`KAeC)cnX#3v5 zok{VaaaR~!4;hQnqt_hIs5>=-IjHkmJ7>r9sVk~qeICy`I4w+l-ZbiyU>hs~{LFaY z%w%`S!h6GVpQ(DS58Y8uW$s=3i|T26R(*%gJ2YE9!nud;=uGxr z7qNGftA9)zoBIqf=iB408C9=2wZ4p}&+YqJJGY)qZSNV6`mX9ZW|+xr8jR^^>N5Tc zb7Xz}`*er-*!|IkUKq`6do(?DM;-S3S@F6vmcto%d%rrFpk|mO>w)`cbT(@lW{V%E>=9o@lG@1ky=j4qDbj(1>x46{A@ zn77xwSFb-x&wXpos@z8%<~i`1J!zVK&+NF*jQ!qY|4QD08TykxK1J!g%3 zkD2JstZR?2*WKO6?$@~)r^!RNx1Kh=?u^xD^NiFNy+{3?=iXShn(xdWc3-W}RqxsR ztq$B(&sb)iIq%P)_j}CU0UCbx%}}fR%&L#tbH;X=ncwG`g?<`%PM_mloy(ppS6vOR z=cuDqKWFskGDllA?>fxB8ScxyZZGRQ#CZF==|64vu$RZ~?F=Tf+~LX-?F{$6(Ajs= z-}6!Re*bgTdoTH-bE?l;uDfVsdi5NtA7!`q_C4oRjoN;ln(v)Ix9DTvNBv|mp9W|Z z>-1pTn3=x2?LRMbCmPrUoO#xm%zLd~g%<(4@$LR|HuUS@G?+Jy{;7xk?&qF8wDW)( zWdEi6kRh187@P*w+=bamzz+TW0F6u-4KE&QeCUE1^_Xrxb836CX91baJd3)b>eFt< zxpnTInfCjbJnxRD@6pU>Mo;#6Fb}o?n$SCmR_}mc56^$I&B@>$oCehR*u~4e0DiN! ztv3s1AI7K7-g#g?`*lt|4fMl!Ho>h$d30rbqsyDZqzOD)i>d+ujE zOYcGBZqB%$&jB+7y+-e@zN#@hZ+qtJHv-hlY7o{ zxJa+wTDzy#vvb(UuWHm|{(ZaTtOE1&nOT|IZ2a`|#`?^0ZqM9z%?>&4z&+UO z&(bq3yPnhM>ETRgGCAH0#-mo*+C6w)y!2z|>sx0|{bF#|unA9tZIE+!|6P_lspkRb zEgPs$1MY^GxxizMkNWulA3eBRYW!w6hslQ7UpJ;+1?cSIfd&1v>3Y}!o5pz6UMbIB zK^D8hdze?bdaBM&o!QII-0=+AxqjXq8jL1er$1_V>2u*71HA0|&ed1Zgc^BjvUjw{ zYrRgr3}9<#FnMPIwLa(WcrUzoPMV({Fh|2*y|pLPo*jCb+OyHfF!Oe5<~{Vup1W?l zFgy16=*_103_blB=rzM#^on`&F-M1M7Fs>Kdd!rW@h1`dny$UiQqI z!A$+6`R8Si8V~tq!|3ENbFO#nOnsb%4<@tj()VCa-lQ?Ld(7so@AaBrXPfxzUSG3^ z<~^v<%z*2TGnl(D*W*3a*>h$+iRKwHd+Y$}lYl*XJU|T{51Ncm9nCYT`#pMe?hns{ zN$cG+d)DUonBk>n4)nvoY-W04d(QOSe%D;HWc=(;OAeX)fR`-x@xY!>f6_E_^}^Qf z)C_9ov&MSegE^<}QUlJMH&(;T4)WNIb9~gZ#^j;7 zE3=P>nfqw$;;B1iOq-?`Mu!2r)5i2G3c-Zao@v7?1m_ro-&u zVTOz;VC~%mV$BR->ztX_j~LoK6o?h#F{8c*}$>=lP zac_QL2M>1}%TPNmb2B|d&lu~SmoupK9y-@uyu4$$YG%ka3!i;u_t9#-YWaG}wASZ2 zF!$NCovK^UGTR1ZOq;LfP&1pi8GH2XIHN~DZ;Y4Ov@tWmjM^Rhs!?;V-b1hE9o4GN z>^v~D-jn)v$-x8At>tN_dxmp%>K=3Y>f<@|&)Xc2?_B0Aee9csR?jeB){D;?wuk4f zKW-j+Jg^{-+FWb;Wt+K!2G&h?hh7hCP1dUQ?wXH>cT~YUIc^%vj#<^$*Z7vrPtDw2 zxPmp|~*HP@M1-J6tr>fYO*d6}MbmMzyj_tfos#_v6u zEm}_9tMh(;tS6)H@SMF5&mql>-e(VcM>Wp$`Rn=9qEmx9ueEb{(O{-Cd-w1;gZU0R zlk0p;Bg0(0c=X9N!48>N#q?uiv2;)r+nw|6V%y`YgHwiq? zJbFCl=!YxxS9V9PGi&q5&Zv8y>)t*d^Qp=1k}uR?eAA$6)Y}oQ_gvJIU7xG>*O}kn z-g8mE-gD1GdG*|V`G@xR?ezMgbND&hcShCC*!P_Mne4K2+`Sh*i{3lyG(7ce=4gFZ zpR=!LH@Nb2c%SEY^xt_mujD)6ca-n#A*|cHp0#S<%S~fE)8^y5>kiBwe!$O{8s~E^ zIyFA}3N&{5nY()N0DI?k?^fpO&38nP=L-p&+-DWs4o(B!7d<-n74y{F)}MrZ26SqC zw;GcH@J*V=E?#_K8L)?s{&t{7--Fp{r>{!y9o*YwMz;CroX?%$>OV{G9!ze%8$0OB z#?$a=tE*0J&kjC%&cpAS=IQnPRr9)oA59<3?m8fwTza^k^aqM4)0HpMGg1$BHFsl^gJqa_eb5Se)a`=t@WwFYI2=f_c>$w&2rYV)Or^qnzL8R zhwk2I`z&%lzfAvXKFgu3L$k}=^HDsn<0 z)asqk#`bG|U*jipY|k@1vwF}@0zKv~qFIlzS`gGc#68@t&#Bh)wB_9_xoX^v4Bkn_w)C6SW^%W6o3V>d zPsZ=ycizFjEZ+fs7I+r)^Xq-v-4mbFr#Oe zyyqL!yl1(53+zyJWDl4$zpRqXB9( zW_X?J#d93Ms|I`k4JHF-2aOD8Xse<#yB)yOfZ5H)?6}XI88~UcPu{Zeq}0xsQ}GCeY$hA?9HwEKFu9@-&s|+Hd8j^)nLzfl&qJt z^Clt-V{rC~?KDJNJqw1dBvpN2pGd~XeozVN8kLhUU z?VG!Q9Iu}K{c)FiAANO4ZH&iutM4**to~Z}?`2V*qxwD<^}gro?^MsOJI9Z3*Sc5p z_SIxR>U-thH%IQo+2nz-^ZdTB@4VJ(m5<}qLtST&T6=!KM=n4gdl$}lzA=w;W)=JN z>aq42?Z^1Id!{=Vam}l>dt;h2_@a6B zUQ}Nu>yYQr?4q-OJLX?(_x*gmBYrMFmuGF0zc_$pX6GF?UEj~Yn0nst7t?*m?s_lJ z@Glcq`OkYU%I9*Hy2okLcpuLC+ILmwRimys&SdvseO1F(`!U~GR==~aA3GE8CKx;0 z9Ol+CS^M(zRMtxtb)V^6uDi9ad%f4bvNai=jaK1|-(AAFGZ?LApv{}+9(~2K^^5RH ztI=i+Xw$$Mtap+cFIu02#+)2#unsueyj82oL&u{ZR>#NeW`K{LtW9Gy{Q9ivsqwnU zj=5;`Fd9C9CNraF4(y%7XrTA7=N#r4^uo&k4|^~`hq*gCdxF^{Fvq!!kJ=tT+NNlF zd`EaW3orMv*JqCh;K56chq`+8!+^Qydv&?)azFY_V|%n|)2P4LP@m(K-ktaMN;B&I z%gI~k4t{>_!zZ0yJ=DC1Uc0D&E<5$U^hqw)=e8Jf4Xidb8na z>(TLWUiF-%-voFk4b*^L!7g)l7Y*C+S#TcUgPGyM4{8=YJ{XTRELLr{2m^HU$YK{z z<6Q=m08c#&z3!5w2Ynr&v4f7r4%y@}qjsm(?9j7=4@Ns~J^R+oS50SU6W~V&K+{WUEPf(Q*rF(6_(GNni(QW`rbYZywAP&OrqNM@$9NRg(< zrV$5CCnX~ZQY1Ji8Au6xAaNi>L<|%m!#Inu2N`A{zW#pabzS$H{q%jme%;#^jvnWq z<2=r5U2EljUN+rTYp-bZ|BTzL@yzaWrzkqv`A?nk0qA2~`k#A@H(8@jAI~CInWwPx z_KU`zv+7Du{)F1k{9hCoePN%|8P8N^%f7;;Ud|{x?~L$_!kS!aMWc_fZq0ZCb~&GB zw)P{OS^rSiL!EPNj^~+woHsA}!oQ^XZ8e|C{`|wM?6v;K_5E!-e;3bkuHWYK+50^6 zXZ=qS`+k0$|9ofbU+DkZxjElI_y6yQXa1AGUH_u_U(@_pH~(!ld-JR@UglgDW&Tgf z-nZYrp7JkY^DFhD-Tp$q_!a-6{gD^HFk9Yp(VCZ7{`55d%)O6a(tDnw`*G%%Jj=a) z&JqD z`F@M9+=BIo{4Q^3U3jyNgzTb@R+W&Z=7hxy%&bAM*v8JMdg$^MTLWkG-NR zb@%N*X6^r&ml?Uteb#>0`24YFPQ1(czl^7I3sBg&Z_)h-d*zH}=EuC$Kl#VK=6cOCtJUXoro`%u3xCGe3QGOc=X2)M zugrXMnfFetmopZPb!)=7!2S+we+Bjm9>nFo4#dvtW8eM7vz*1cwKDTdtj2l^W|@tD z2}SqW`%Z&H^}k@xukHA?bN_Mb?kIbH*K-$LnfsU7>$~(_=^?k^mf4!Qtfwr>oUuH_*yv!GE*(-}9(0dK^Qg;HgoXht0DzRE? z>I)l}ea1ywH05mSCtwMTR~gpSSSvni3iMe6eUHFgIJeAknUmG&y~(kfDH!M6UYS*E zUsx~m`ee||V{T6mwV$xAN6{~G zUOXqcr@v6IU+L@VOsQEHyIePRMx89&=S&Nnlg-tNF<66AQ}4XmGH+b;@-D-AnX}#k z**P`Flbl<#UwBPiw6d^Yc9&QmcZ`7={ff3|R@6$YcJ`6GPY?UXTW|pCtXnf)X6R+# zJ@&1unSyg>^=gWCony5#&;m8G8s}woTW|#StP6AJif;K)H+J^~Y=Amz=5op1S9Vx4 zU+0>-GV6{hknI-_XFlhwt7$(pdJ1*azyEjf^wD29_X+jppKSa~D09EmD>ctl{7UV| zywv4<*0`@yZ>j5JUS>;PG@op*pwvtLIj5H>clm3)&bp#4bB8>ur?s-nxc$gW{YNe{ zt6$On=%G$HS7r)(h7y-OQ)SU@doUH{>4}Q0jzUfFQL}nCp*(- zsL@BZUf7u*@ua49`^UuYW6rq1vl+{J%kG&0&s5m>*Wg+0$)Ebq+`6#lJ&Dy1u=gX1 z#=5a*lS}>?|2XT8A8UWy+~;$5fj%YvB`$kfbe?er${krN^YRv`v2VNv)~Dddxi;5j zu>r@7ExgRI=DF@bjov~(aR6$KTVQXKQF3c~n5!+A60d;z3DCpXewi_LR@j&AZF6kC z2kP|N0c(@YYMm=S#>HD!*XG(f$7=MjUwpU3hn(9tx9@DxJ5%a=;w7*qixxPu271|B z0c#~LI_v7>DR75SC!E>lcmq2ptgACF+A_D#b?1s!&HW>1SErYA=g7ln0v|!~a?d8` zEv(-f=qK#U>W%HmKgMe8$@-T$*;&0mYwFx}2F}@6XKe@6mRW1Y6HvTXAN_l-tFu4< z=#|)cXVe@sxA3Rl-U(P&Z!YvW0JSBTKWA52)56BG8ljgS#@6jybAFrSD_k_z)o#EZ zIAd>|c?a7U*2|pitlsv@j-pvnD{<)`sC~|?$=zFY?%IM0Xg})q&8HvG)4J?#W4%h< znkc#bBXEDgxcMKeKPUdwf1J?$v(-PTs{i+&Hh;JJo4@%@^^ZUC^_%Li7Bv5B_1EkF zrur+*e_s9huYbMTcmIu_{-FDhe)`|O{+;R{cmM29f6)B3>fdetOf_r%a`o4~{%-Y` z>OWVtUw@_gi_QO2{eJU*RsW#*z3R_2=j!jMbH~@;ul{m)EUW4_|3UTpzxhw9-|sGe z`or!Y{Pc%^B>u7YL*DzV`2Wv8{bBQe{Pc%kz3TUxzeBwL=@0Awo8A9u^%uMU?5F>t z`#%6!-{x=8|NCi2^Y0UrfBo0g|J&+sfBl!$U+@ggKcxS+s=xA^zhC{0-_ZXJ`sN>0 zzgPd;)$f%v_U6^^b8ml8@TdPw^%r{8*ArBr2i9N|U3 z{(Px_#?8N1{q^QA@xAy>e#D>O>7VLyzWmL8ev^KO<#~y#=KuWZfBEXC@3YkXPUG3j zcgbCOPrZM$YK!LUZ&v@&*M9~6X7zjU@BPT>ouvOeeT&^E-{FC8$nW$;%(q#S*L`Y3 z@*6xRUw|IiklUly<(unHQrvmKZHl|2pX>3xPjlTF!A$i|-+%155|c%Im+PX&fx zLv04^Ey&x<{iNw|md*(*@!rDfci_&M*%xOf@Al|d)SMfEF_2cS*4|N8-< zafW*54Ko+IJ+XcA=v}C*xdCG5?E9Nf`_ga5-ywf9)9+^u3x0=zQ_eT=63FKqn~wp% zznC$efEG+M4`IF3SnGo_W6xNo*D)5(i$2%@`|=D}Gk4D_$9m6mY+daF9D#b{HCO_* zQ^6fH?m`);C}Y&_+(&8IiBS3a~$7HP(v$NKC)6KL_?_V9!pxsu!Ri=eZ_!{!7gk zl$osQ45{VV9dQDP0X@MI1){3r| zcMhq!Q`WZvMPq#g`e@g%K11&c}%Y1M4w@DM{>JjT_y#n^k^>lU(USQ7MzTpuVXMVs( zpzaJ7UxB}zMTNqvB))rs}MriHLQylNfo|@c`J36qZPwfU)fE}@m`M9qk zxqbNz^m~E)|rjETKo16pr3Q+*1&!bOo06(m~kd! z=Hd)+JPZ0}MO|++@jNZP3wUJ>`S)-2n0+d0^IUh%dAwrh7{))&=d8LO*n$&S0P6J+ zzUO=gtC@m6m;n1DZ~;%S02`p6JM78F6gTKRbL2~S2=vi!4O%b&Gtf)9? z_>YL`eLs(ToUx|IGRG^P<4n8;`c86ug@wS*fF)RfY0hUkS1a_iw+86z z8+Z^q-vV~{cRhZGM{;L|0Bzjeme_g^RKQ-Fnc3LAgy;Ca;1Mw2fHlA;W~V83|F@4i zJqJKv;^qynfODm9+yZCiS>mrg?A(I0I%mEGgY-pk@r48Q^mfit4?&_!GWEv&V0&Ig+D^@5)){K*j#}Z`&V98K9}*j{Pmj z`grae`>4mA^wHdjC-4)-C!Tqo`tja|#B=&@aKww)cjsJuOZ4N;?Nf6;?hs8p$A;P| z)tf6lbbiM%&sp^7*w^#P%nZ=4C)9v7_p0%kJ6q~~;su}{XC|+A+3!> z2Vj2(W`JIOftM)`54B~^y0Nnhpx!y_qWy>`IljR=px(Y*^haX-&F#tN53mMTFarlb zFP>cusM-D9)6-lyC)D8;??z8O)NN8dX0zt|KJ2U2$GGJB?Lgig{XO|1*U&fptZ`mA zy8+`Io9ioP87-`bHNE9&j@4UJYhBO%M_lw1YHRk7U}v|$S!c4Be~-WG#h00C0$PAq z-Q)W>rPx|y-<`+Yzrxn``JH>NWyTy<%UtYrhy6>cHRi(k9e4nJ4>_jZ42h>ePjz}N zfI4gB-8Z}eTj0JqQ0p#d@BF5E@E%xa&c8+9=for8d1n2cMHhR_neEueztPJYbF~^_ z&lynn;T<>w>ajcbJZF3p`_u~`YB4{Ci(k>3ufR0-CiuUJo!RC0p+(PTB+&_rlJGI6he*Q+g6`DOfg~3E zNAl*H&fU!67ho>_)|lh(d+7Gy1(*S5I@IFbk$VsE4O9Da*OuA~Mjy}ggzq_)_ZjHp z-zWCi_dR;%?f`b?3@+db)LPqv1301U!#D5%YId2`5XZljdMtrwDSdNi^jYWni+fPJ z$~eL1>Tdb@X6c!_8yJsz58FF}ZK^d@;tKC7>+2q|+7(!^N6iJOG2g%^fRDZIF7@in zao=O=^lS98-%!2cY|M6s#Pr?au6jajeU9##@_GQH508G*bzix^%=sSqxSGS;1kd=J19KDd6Fh_$%;4{x)Fbi>xC8Pp z5c}Wo5?u>#a(@Q{&l}ISVt$-r&lJDUBRMnfjsHfqzXK0|cfEkA`ERJ2xJUcsafTE1 ziWr}I19Ogum*hiY=dInCUBOqd1;%$Y6SxnnL-T!)dt&F%$33bUkfZY~;d_A30G(&> zH{#A}O>G2@fcfT0?Ew~9JLaD5+#R`h8hg=oduiUk-*NUWwGHtEw8SUy0GAx^vM2R8 z8*@Hm{YtvJ4_^Vh;$7QF{V(arP_qagKZ3KAHjcux+x)Z)4Osi$wbr?|s8b^NMBp1afUW$glf180WmTaWMONDY15#RO(P za%O!te>>${i2G+geD*N#yYXHc=HkpJYAcZEnl1e^xY8fN>!geC(AtsO9N<-}6BmF- z+_yb+73c35qyKsmztHm>an=#MNxiu1JMjrH6K5j#e&Ze3Q-1+da0NSHT|R>cn1CC* zs+_;!S2{<%g^%Q$+;eVCZ3SPz0qC=*roZ_-x6ij_0Pm# z%r$S~4cIeJT%n1Y+FO2ByvuhM-sn2u``fnP14lqy?O#AV>%9dt zFa`Q8z@29vGJhc6ql2UiS=Q*p3Ov9QT!8b|=YU!7v1Trw zOC5RaoWZ+X-@|2YNUTQf3-p-Zq_f2H+_+z6tD;|_VcvILp{vWRp7wUBALkhppMbOI z<6Z{%QIEd^u+Ln->FGmHeRGFL={MD|qp`O`H-Y=KOE0+f|-r`+r#4=Phihre+yn<2lS^_y)%}1 zhrJm%W=)&cm#;!nXKa<&%&JFPp1zm zY7;O6#zW4u$~F4&8(yG)f(`W@wNr{KV!yNM4m{5-^}`FF4)u5rba8L&jPtXvQOius zuHiTOGxa@n_ISQ}N^HIb3ou55m;XjoD{|QLHhnOo_e`32o&)h3sFTrDXEcMfr$eoC z0=JyYmy9=B<2}G9z!{?N&Rwo;ey(+>hyD&5>vzgcCd*}Z??Y0XT%1Jt@NIBRQsMfaVx ztJI5cn_b-#fNMPB{mDD9rq+iyc@978?y9UEb6u^w-khf*J~L;Zye9V?zS|CYoNG*P zPP|Ck_$~B^_dxBHKJ)QgpynCkH+!UZBX3jxs|PQsJ>e}l1N7Al&5-&OK9RG>T6m+2 zXEUeQnPmSJxwC6{4jusCn!aZajNnc3iaTFsJ#+Ca=)9Beg}EMlAh(9MXAZ9cb-b;0 z@8Ai}Kcg{bEeUR0@oHA^EXDC2 z$U8mq1vr2cnBHuuWR^o~1hk7l1Z;&Z*M_FMT?1c*<{i2KT@NjHy@bH16ZIAfG0! z@5pD=zoUm5foGhPe#brfE~yex?2Z7rb6D^;+#F#eN6gZRgI}d&EoXoUMb# z@1$zUukaLX!H#?n7GOe-M*q+n4~gxet1IFI@rl?PsPQt7_qj~k`uX!d-%;$;o4WAt zVRuA4V}1-)#O#XuTf*#!xlM{aW3>ktKfFnLGsJ@D+zblMb0otpptRBw0zcEtFpiT;+HT1`K8 zTw(o=z}^zDC-}k4fLM<+IDj>nQ=epv$lW6|7rW_)-yYV_oL<~jKXLK#-KnYdhP#)X z=h?bPZvs4nx-(21_eI_;$g_VvqJGEYo%%6njh*!v^nkO>)U%v#V0`KppJSTs=x2?* z9%QJis9$sMfRV+Tmcy7Jf;dzR_`%K>c`xj?*?*dGz>)!&; zJ_74>&ZsTP?T=G0{O#Y!@zU3CHST1K*MWK;I466K75zuX70n6Qf2Q3LJGV*o$Vcd3 z)OtzN5O>+@efdn$TaZ^t6VFH9y`pDlr=^aEcVthUXYiRL-xBL}N&fNofIRL(?Ge1e z9o%w$Wu~8NYuGaZ-(%bdbK&{G2Y=5JK6rSRuC*ueJnQyw547M-k3H^>GxWJv&K74t zAAggU=oVl=POm~A_r6ZG@TsVc!5!FNfg}A1d<73;G@i#Z#=Tg_uiR6-uQ&ZO{V8a{ z0O+-Wnf3dQGt7xkU;+Bnj?9T2u^#%~vYxztl8Y<2lTSbedZ`}gc@aB@M>(r^7I!^N z{tbETD;|q9ANRc_K7tb(bl#`?LJ!A%EMfioS+^l>iC-yKU!ke?)60g%-{UAP|o50M*ySS0}z!(gvZNM8nGjizQGUGjeshfibb@K0LP=5#OyboPN zKkj=^{h4-DGiq~w4+nTbtpdH|6JGSamUU$f68^PM`e zcN*{3`jGgR{9@OO{6W2f>BqA#bG)HGA=U@);4QQCzo>VfsqeGIJ-O!%WV|Zozh@t4 z`>7u9=$Ln2sS(HSGqoPEwLAWM_=XRD)r#k&AG_XgOYe{nXV=3yG|onCOMGGu#P^~P zXY%~<9gffqi1m4a3DDz)W&xx3{i+XasXd8TK(@oI?K2v># zoe?e13xDt1a_%v8=Y;1zf)>nywZb=I&Kuv=9=@h`<5@a-uq)>ESOI6PmDt?5b!K}r z@CJG?=fC}-Kc!k|nd_)?w==60cgQ<)VtuXA>r7#5di7yvh>K5XPI=BcGXXus46HK9 zeaGMa`W|w=h2NlPt)Fsl&)krB%AP9MHb3{`JPUID9zd@hSOfj^nE`yf>ZTbQ`s!7YqW{N1PKZ>akM z%+yEv%v-A`xi(6de*VEx_CJ`X1vuTEcpr=-t3R>w3&q=nmjcUymc$5wBtD?u>7912gX# zfpZa<}dmVDm zRo-Rv>6v>D@7r1zO>@Xva_=%`x5S%VuM$^x^zU37rTw1Gdy8}S(oF1F6HkG&^E@+5 z?EU!O{O;mD(fNJGbD@oSp26=f`f8bp-*=z$&B*Pwz}OjLpV#xnd5Gir;rKhEW&kFj zmvjwY-)CDB@3O}WK4lnhm>H+J*jpuC{YY#rzKvnd_uOeqJYz=foPBqIKF&bTyEPB* zMXJXg42jLBz!-e*ypns4irSKScbwo$s?~jRc7-RJn0FT*@w-{4x$wxk?u{D0zK^)~ zZSwN$;dNxz9q6LJOnrC7_lK^06XqR#@$$cw;{ABm74ZPx0On)oF8RdX9x?Fy`hK?3 zUr^stAH&9YtBre^z~p*<&mGD43@&c}Tc#~sNdFixn>Fg3r;(8J!T8sAy)joJz<$@iJjsH<9P71{~$j5Ffr ze=BsD>Ab-;^?a7j9mr~o?LX=F!GL%J4#ZXJbr(6GP@94|`5v%081K#roWTX`G8^B4 zeYHZ3v-S?41uO6d&%E~~xbz#J^W3{dmC_FIh}eZPz9k+?H~_W+NmZ*qK1b^ra0zavxr-{lR7FZkeB9lcw}trd}oZ?W(o^<=i%%yL(N2XPZIt(5rjSJK)$e zLpP>APxbDae46~KduBYnqv{6O5$8GP8hfqz9G;;*r+#gH0p{$V=2#DE%?Y+PQyiyo}zbFt^EbsCp-jm;ukzlp7AXE6xZ}Sec~h70<_fyZ1Q_x&S$G9 zxrSa%_rTl@49MB*w-MjpiXQX6@9*!pmush_wePnT?@upscf@|Y!vCFW-eYw@!>;%~ zHpI;MJ8+-Bg$`ad^YxgTx^>p0E8mCTnfFzm%l+NS&wcCOZT$W?L%dUV#Ba`=`MRHZ zns&rJu9;!4_u+RD_qZp15bv0w7Vl{S4*)e0ciO@y=IzNdn4RD6=R&*!Q|e=2pR?3G z_zm3ggwNmw)Xw2Gj5hAU*xEbQu<@0;vuY>s1~vxXaoqiu9DMr3yIxXv7w3xiP-YM0 z@1&3Su_C^KBY4s?cDCqcG`>UYb(P}y4ravHoEtlMkDQW6Q)^BouOs+orb?}P!yM*!X z?g6viA*j$@;VDc%X4E-v&KcsI7kI;a?ellhSv@OiXE5i?H*(mSxKI1&oe7XPGinF& zEvz^C;3F};W;_w4Stt7(eWHsEVOzR0r`?|@q9 zr_}cVU;EuLbt49=Fr7{eJ*HT@DiNqS(^iO*`qtk zF}2Q}9-8)rTX0t;B!x5iw(hn;ag*J7`8^ke?B&wS^Bw_4*1&)0+RX}*KDb{6ikKc0V( zH2QaLN!vMPjWuTVwBO(<$9FZus{%u6)aw!Gfj9jNJcXZdmGtqq?L~Y9D`x1|3*sBx zhaWI{*&X)k3Ay?+ah3LX?uHrvHpSn_k9q&D*GuYpFzo*Yht)5!whMD!jBi`wTxCO9# zD&Sq#127?9fjND4#WSf_Hv?3gqDpWZq3V~<*E&Yi#(*gt|DxF?^8?Q`C`2dm!zbj=dYmYBI_Ld;B@dxdsD zd;_5TkHUPg0_PIM~ z8fF`G{sx`(_u##RZUq}(!2#$$Lfhv22BUBAiF0pYfnS_wl5=ZAumfs~-;#Kd_x14^ zbEX5e0r5U_kNzs1*K@~vzQFY3Ii|$=9LZbwonvS8nuBfDGGCtoyW&~yxzB8T^UTC^ z>WR+#@P6WNgg*L@fPH5MV3u?FfF6Wi-m&YI^D@89xn2vf;%w;r&ippxyw>;N3ea~R zsrNM@-vIj~Fr|KksmE`aSZ(Mk;wL?PYxR1o9e@Mp+`#U=f-zWwRf^;HU@k_$Ic7qC zftR3%$COlt z3^f|RThG%}iS0-2i0(|h1rz!$Ozn^8ou%hD6u$4D`+A0#J7>8*&#`)E3#(Nl)Rf+l zy~cZxHSrwQgf;v_V_aZQuQfPjMi7kCFYz&ZO{FbC@75>JWko6o=+plS3l zwsrtVdP`t=poJLk=v_d>nGult1YjJu}h-=)}#zR}|hE`U7FTfzAZ^?_I)d)7Ai zT;LX1KLUHk?k;t6&RS34Ehzbz8v1$<*6i;koqvC7H14a_IBSk37@v9$=yk8~1`L6H z>m{EOqb74ebU8t8i<-{<<98GV@d9eRdN3v&kN zyo>ODF{95IJkq@SZZFU5;1#)i1~=j(yaoqiJ(r2&Z>1h+iS`S9tyh}r9TyBDyb-%I^WRaq7T*Xu?>3$dj(uBZr_@I90)B!G&%nM4jx+1G zBNuzV@f$p69*y_q-Nd(pzPbSCjv350E%6&1(pt`j{DaSO;Bq z-l;L)9l+G$EL-wR>V4n+hTh_5#B($2dld2AjW{1??DoMDJgCFbqaJtKQrG*IHD_kj z;_q)EG;?Y*a(cecFMDHfq(6Y|p^5KjOYKQa-(B%sC*}{-_FxCz;6<&<^Tgg;cs+>q zzc9Z5=xg&e@e03=c(0Yc85rO8klKWN1kb4TiC@&^E!cxO^>^xf zXYq_H_yEpe5AcfjYMolVM|nbi1q)E|uHJYZi8tT@PT&BR8FyyT`S-I%7w-rkzk#?f zX6(ne!7jhA*ncBtm+vj^U<+>mKB2)Q=398c8PG<)&VNJncNTs4Q}>w~cGYjG?eI-5lv{f%6BTb_HHZBgeC#iF>`Xi(1p7ai6nG zum;Xg0Q1qOS09k1QpRWPs@K7H7E!F>4b=%0zF0H3J$U_BOK4ba55?#u}+ zKX4(&uXBS3oMn&S3})WFeoxH^X2#g(t6IQJ)X;{`xg%JETx+H|R`2`-IB&eo@d_>; z>eXhQ-$3N_8)w8k!x_EQyVJTgHDgfroQPK+c;`6#boS)A*4gmf+mHU5ybnCb1nz-R z%KcsWec7w&#l1d>r(ggUph|ZezZGlb`owo5AAn~iu4lxYGyLYnOX@9H*(qj zG_#s5*Z_Qru72?yq5V>;=91Z1sHImQ_y&5!&I9K1rei2V|4WH2Kbpg(w!7k_ai91735wE}<+`t>C--C1R8|!lf zCvX62K7n7%Y+!wyS$<%}nFr)^&e(?+a4$W-fA_i*?q>$)y1nig?123hGtWGK$#t~e zzkc!eYzr^J5KO@pjF_S3dAuWi?025<41Oo>u36c={f`=X=CkwCLmccf=s{>YjkP(63>% z-_O2J=Zx7~uB&(c42JAl0_NP?xlkK}37C_=;g;v`!Dx&-N7()d;Hf75&N_!K-m5+@ zK&{!p^XxSw7UbSt`Fk5@#?yBZ_nP&cD>~-m_xL8JAA1Kdnm`|(0(9{n)fju82|(wb z8jT$LiMtiME_vUYbCP$DV42QgKjvHVL)O3HMbd=-DCg`5tv&Z{@Y^wWC5GeOOyD!9 zz&6#Ib>i>YeeSRF&H?$IvmfCeAn%;uH_&GY#`K@?8tmym;29W!K6uf$cgQ+wO-qh8 z&T4Ow(AlIj`##INkGo|yv=zJrD?Ic!*K3OY3~#^$4D&hE5XY>Vd&ZUdBk=_g$9ZSO zJL+@t1#p&Hd`C-IA3W^E%o=|1PPf3F1DJDFYEPg7eV|X9W4N;=#v`6X&6L^`c19m( z;P?)y#XS_C6}>t4NFL8SgCF2VeGTkeyTk5T62IXQ|5o)AdzJ=G{AQ{9UYjM@<^B*} zfC(4_=cqMsoQYm@NIT;G+_g%&Mm>Jz89Y;SBG+ri%p>=w`CJ3|NR7ETr@n9U5ug|M zJ%=Yh*Q0N5P3@KH;meHgCC<2_k7wMmUhIo+;si5i9?x(?f6g=N`^0Z}Mj!aC`%T3A z>%rsPhr>_pgxU*U0W{y=*qyvhde2oah;K>j`;N0;(BKun!%^-(sP#cbet>6S0D9y{ z;7;;pgQq)&)Xwl4v|yWRF@sNI|AzKTeFVlp&jnDsq}PMdMNiEH&~uk(jhwmf_iMie zbNVOv0&l>97+rjSJ@iZR3f@t>63^f@-y$4${e;oQ+4Wq3QPw;20BGVI#Ga#ClHZBP z@C(L2yr|Xt6n8hoNBVfEuh!H@_^K7ttQ(?v0JQP0^qXbhHr3)Dnf2Vw8GeE*I0E$H zIU&9PHO$AmLmRusnfvsu4LBQIc?Ptx|B&i&pLoZ+(f8341J%| z=ZW1n*j;$JuUWy)5y$<%k}mE%$Mq&@;`wj%IdAO2r)FQZ1vBb*>i9M-@fCIldqaDo z#%%1gwghu(XLt(wd7fUp*GH@6!b))+hF&jdwUqo^f7$Vwc=czVY1>`<&&!S-gv`=d-4NFKOfN zS(Wmbe^TF(TbmHOdrdq_`p7SweV%7l+<%+&amIU|yXD%0XIrFa^zU|j7u4dr$H(uW z!lNRNdsxEwMUA*KB4&Rz1?-F--qkk8Xv+Q7Lt?zTda1R?Y(0P%@FW9GO+9wV8**mr zKCv@sgVEXRFc<#~{6I4T1M2je*N1M725oiA`|+s9NvBu$K)eI$TJWa7h40`D*5rLK zLBnk9$IpEc&tUX*1yk=5S9^d~AJ6kSr^Z@5^Obl`e20%b&zpEiyaf2VKlZ4psNw0~ znm8~0*fD|8cLr#-^l#)B;QSMw!Uw>tI-e`@SS{n`&cq`Y3i&JU88f3M>H)=66*;XGfD=}o{e&4wp?I%>86ulkkGupyrl zo4aet_ti_Y@%`_ZVS=Z>#2TJ+wt-hNZoV}DES zfj{gSyHBu2vxN6>mHM8s!6$yFM`Gsff2q4M3kR%U!3vxg4zpgz&m+2Yx?BQ z)=%ncF5tipbNm{#u@`N8pY+wo@7?(wai94f@tJrI;LsS4h+BYnH6a(C4-YlAz{HI?dwuurs+qGMyV3k+Ky5>QPc^+`S3YNa_g8v(uA}b8%m`*S zen&I*RDjv|Uh%75N#`ElmwO}DpIT=O`o!j|G}lbijNfPMSipDsvourpvX&XYh3W)0 z#C;fTT@mkz58#q!pY%8J+-kHq6I89N{e(rd>Wq z?3B@kmvinufg9K{Kj1t|;yi2Yorw63#=OfTF}_9Xd7B=-dvt4rub)wNBn4x99oX7tgmMCXeSc9QfBT;B5}3ch1gyXbv|z{{=hr}AYxFx0 zcn8q=t~&RepWy*mgBe(W2^azA&6)Si;al=0wH}xQYa8IMF;M%2i{Fk||0&ShnOo*j zX0^^=nSJGXd&J-88>C)5<2&iqhNr$_3!GzD=L{dg5G=@Va0})s|307RTIb#cc5azr zuMfs~xA_cA$RD{kO#L_)v%cpqJ@Pr?{1y2Y$UUIHc?+D^Q#K#qanG?e^9xKI@9s_h z1UG6sPyy!S{ivS+XV8UTFXwuUfcg(zXwT?DyvsiEofwYyInMP-%H0$9?#>6bInZ|n z^mQM#IL|uQ=*4-a@ICe78D7NViLM3oeI|X?$2ste8FX>h8(abR43jSE*F1B8)zE7m z#K#new=)B3&)hqwUbW# zUM+k8_Rx0k0Kd8q&!}JF3(QP41$f4});V9IJrgruEr5Nve!zO0ZvZ;uW}4y}P5j;6 z!NxD(K6M2}W3K;}`D=b2wDFv4>f#909Wsn}xn_IIT#5;Hd)}T$j?wh$QXY7-!Sr7wfyH9lH%*V6J+f?h)uibfu2cSiVzg}?` z*mqa=k|sRR`0U*mc%Wx4o(&Iky?y^8;!TR1KKY!xoWOYa&YLIR)SEH2WvYb-vCk4d zJJ>zU`fTys_Rio9*3{uR) zgYl@D^-eu=`R?L7L>up9g5Q%Kdg1xx`0l1KI-lJ;ugNR*x5VLjrA|NI%aVAJbArw`PgsR3u>J3-@YJ;?PP@f=uh!5X0T+|7}A zlA-0@6LU{=S$Mn3+6#{rgx(@1o-;A zbwzJWya%h?m+u+OdA81hd;^$?_sz~Y#~6O2q2El2pTq<7OBijOMZY!qkl7J&_V!GA z$9HukuISIfnc4$T>t2BRC-q5+y(9b80W64Lsb2Jz`!-;o;GAc!+QiL{y7RMCi}yp% zJ@Geq%UODP{)y%Y@T<|sxvu0(;2wPZHsX9O@i^709eto@JR|Jgbr;k@ocTh`Oq}}( z>ocQv1e`g3mp9@~%Ketq*Vg9n0jvOZ&+EGnZ~F25o#7!q?m-vto;bd(amvGQmi^%H zFkb-o5&M2cyqkHRpHO=elY9PnjuY{L+K_w+@Q8P}Bc2jpxZe$Y<6G&c8Q-Pau0E?2 zf6ra1y#ZYB>CK3b;7*Kp+zWnjU)Jcw`#TYRFLu$3*%>wGgnk3~1=#Cv&gY499AUk!?a>X{X%Fu>ll2?8fF&?@ zpL|Gh$9xV}+-;R=aW6Y!b@)2#`|V7K(S`RJ-sGHqoLfD<5v!yAeK-2ea*cZV_cgrx zss8POPke{e{Z`8U@N*}->rv9g@2Ew0As+zu%)x^A4jw!gT5C0$@K|P6y9N7?I&<+{ zN7z{H45(3SE}WG&pvgY8N?ohrQiLZNsy>)A}7eb8JqpnI{fE=DKS1+~)J3i*xO%IYX}*=Xed{ z;qN%^-M$`Zzt6p;mgm0j^pI=x;%~>9{0-FV$^7?o;@7;$@#wUmB34HpJDH1nzvjBV zIl!k2jO!^HYtC2`_y&7^X2RG09xQ+{9Q9Ss<=pFxi1G2ib3AK&t3`*#Z#evAHFIzP zTY5b>`^26Xxo1NArOsIB2jW}NXAkr$u=WP>6FBqfOWw67X1Q1TdX<w?1=w{{G7AytaEej zWdu{}Ug2YkV<)|`uV~_%DYM(u@6MQIK0GF{XU_ZT9jyP=sm=Q6oyZTV7Vlz3yaqe`imrHFsT<=J_kH1fAkKpR`#frd z=g~`_6To%6)3#v!zbWdyF~zc*Ys?p1RMD7j<^pt0&+F z&g6O@Qd~b^G``Q~h{u%}?U$N0n1UgggMHdj4>I@g+A%kxS5aeMc%h5m#06$&oN+~O z1Jo{op3|g@vsn|>&)#)QE_&b$*68Q3I&n-K&$A`&gI?13-?e(h`Q5W29)SUPk}q;^ z3@?G_a~@6i0o!L^)DJKkzYWjhHx+fyGQ(>R1Mff1t8NXLiDzSn-%H#NdqRi5?DYe|x72|5sMcP5hVCce2PJ$yrlCf+B#I3K&> z9lEDo&$1||k?<&5D6}>6>5oBH5hngF` zUiP^Yw<+%Ka@|>Kp_^wvJj~;MPn?IkXLi4FGa%ohwGMmVp3~=b#@xFN9N~<3-};_& z53S#j-;H+=`}WyOKM?PZe!K@6gdR`NQxMNH`tW-5dn1o~aVL5B@2FK^On&BB@QC+8 zJzuns zFZ7);Z0^xgsW_;lu}9{o45x)t>bEYF-yv!hO2GrI$*E7f6JMkQBd1sf@_Z>#x z+JR>P;dRW+yua7*YvDe1dtw35`;El?Ea3w7_{@GE9d}yyxyHbp+4>E7#3%R#ha$P&m7OFkH8e*(Y?U~dhGMQ;~9^z&=*ZPW4$5Xfo-lWlRoO| z@u;tWnYcr0@%MC_>fuGN8PlIpv(EFyJ6;pFfPVLt>Ygk9eYn6CAdhoCh{y-g% z_-`+D`mM+U1z}bqgIz4@d?(?^yXMU_K8;+6WII&wqOKWumn>u1Y@Az9P|M7cvsKF@ho^W%=nz~eDw5; ze8nA%h>u{KYwOI5Tz|ncz@E6XM;&US2@DAILo^wUx+#}_2eti$Qudc-E&E;b{ zOX%IX1I)!;6koVA1mnctXSMH){dt~4Q=L=%eXdi|#B+Xl#;#TFS)T#VCGLQl-$~Tl zTsIe+be?YBANOwEe4hGII}__y_S}ef;0=hoQy8!BvmS`I;FN25w(DHp8~RnwU$9;~ zfKT@UuYp=&tTxyD*5f>L7=854DehWxW}DgA{qhXZkG}=P-8H$;<5RDentzkxO#9sT z40^%-{^IY)A@|VKlN`H8PxW|oU+@u}fpvZ9McsT3mcaOP);j3wvjZ}^u9~cmzpch= z>S(;HXE&fB-wgYB=t5m1l63Hm(pInjl$vu|eRU`p(a zI{RpgkAJI;yFK^>oYPx9{=wFa#TIPP;~QFQ`pVP;##3+y`ha+E`iMPnUfu2^F1bEx z)~C%@3@< zxB&In%+BaZExzB(^@Q3Qw7io&%$(ns-$wW^e&G8@?%WRGrS|)K+va=@gV^Vpihe^Z zoDECi}-~P`vbUUbYY7_oSYh ze*@z8n0MBLtfSY^b8n}GU%9R~z4A^YHV1zDwKMKnePEVi_jD&2+_3W4F3P&YdOizTg?idAT3Y)VN~-CVUI}tpk%){5R<@p5K|&fL0r z)|J0G-CpjM{w(Pl>uRmbTW|&^;JNT>+8pmPt2?ky-8{p2wDCO`FLd>cn&(z$T^L(C z<=j2y#|-_2etU2M&RH{8zsT0JzR<{91V7~?GWpgz< zFv+>SqH}f&*1)=~-q@bH4VVIJqIgb-^|e0(Ss(9Az4`IydU@t%NX;4dxV!9I6Faxy z-VgBSyc%=C{`wB13vA#P>~g+`(R`oNSZ%4TiS^M_Ouz{^hezDMo}$bhi4TBT|DJUo zIkrws?~eL8^LOG4@eE$2T8G(=nguZ419l0Yxfu|ziP88hb(J)6&N;a~>qoS`teX&@ zi0Q}Q>RHlsU%9`5#S$Hwh{?lC?G5b6r!d~}yD=wL6MxIpor%%b`>e61&jFw>_u_w} z$J~jU^T6FTx$oSw*W+AU5#t-)JJ|dJ+}$U~EB^g{rnA>C>gfDi8SiXCtmgq7!8OMd z`t-aHecV?MGEdJZ*u&6PU9{fddGhc;}K_(H}r0B56r+ASRbOtCp@Ty-->(+ ztna}A%?5UEmty}Lt1(97Swp{thhPHKJ3ppxegpPfa01N68Pr_aORu?PFEvXrOK`W} zbL==0ztHNr09jk%8D|{xKYQy@XTBkh=Vd0&qn>*BJ>iyo0Q4g6mi=>jyRuld{-ap>f&AB(++<>)hzk?ZH50E=1e|ooE@*o&)FZY9=V3rJ>I9!8~RD& z&Wak^cy{7=#tV9D%y^dW4!nssU%QNpU}>E{>s))!o;|+q2R-V>)Gp+D(l__6*^e_|jrbjLrbGKm zXsoM2>v@;-LXXaOA9rS**Hd=_E%_Tp6Kfuc>D3SL1@^3o1^EhGiP6WI-k9qEJ)gT` zHsTRH=lR?lTK80~Q?0_IvOfbmFa;C#`+>&^@tcV*ersfOKFjbsQLYrc@w$xTI{XtvZa?GrE!+Lds z^|>UUW&vMWe?*OWe`9Sx}uij`bmx1IHw*K z^dtX!%^@Co=d9hq15U&pShK!5IMzGB=6W1~8aTc~G(LN17w`pa0NQv4X3G&dT=(z} zFxyOWtag>xbH?5?Kc6{0z5G66=1j~Q^_#l77uocuT&5=fK=}lk`4AeISN~=kV)mKBfMELChZE6L5Z?X6gm!#`<#j>A|eN zzt7YXe?WoP3LW$HEamP`Z|mL<|JKDhI5Ppv#N8fo4pU<0sweszx&zpf_tfX`H*wV7 z#4BpAgp$7X_`78tZNYlQ72TBlll-mgAD;S-iSe@bdxtjEN1$M40nd_GrQZ(i8Ajvx zQ(ZuxaZPhkdlS=BSHiK*7ha_Ks-xFtA2gnEGvhbzM6BnXp16Vq9usQsRFA!GiFe?O zXMu*?yInu19do|PJ?k@SEm&laD|`kYfX`2t@_4=%I=%0inTs>id#J5a>{`Bqcs}Dj zP(KGfSc4AOGvA~=#(s^d*YxWfYmp1@mhZm4=k@LF0J^vnUs&xH4fAnE&h!ACXW+9o z1sIbrfIVlZ#~nl$IkotEaZh=vt^<4a`i0j(?S*%s)}A?tb%vO}zO|YeSb-L(JLj1z z`~V$58{iq@o-#N1x>ofe_nD~2ce>0v_4v9!e>;kIieuKgzVwO{eP(=i{oPZX#gyFj z57gA*S3TfOisQMMspqVFrl#hZIL?DS-uE$a^wGsL-m(Y1dXi_a@BuH^T!A$`<37dS zy>dhh`@T!G^_YAQzmm4vW<8p?H+|BF$0uq1TUuWJyFPRAK5nox`n1H0Ke1;MXV`H* zCt`GQM|bF!3eADq8f@^@#~N|{0WW|@)Fzo(r)fb? z?+H_H7OB@vsa?Sd*k?Arn->0peX7OT;uG2p{KR7nqX{OD^#_e!ExiIhfel!KIT+Sd zI|25dz_r(4md+raPziJZPjJ+LT)^y!~8vUKucM8sE%x7Q>^g97+jq|W~BavPx<$qX{!%}}PcUPz z_*cyO?#dNC{Xv``{R)q24^E&5>R&()*}Av_=Bp)8zXngR&G{L2UhNLtfgVD=wMS;P z*7e)~XP%(V=wQK&?SVPO@X0yaW<`7gH}C{|U`-xkXQn{U8Bo6i2k-!EeC!SSOOChj2FyX5 zVt=FK{dDjGs1fG){CYb#;6UuUYL1`Z3# zzy(-40{xtKja|;qnFsGHc@M^5liB$dSZ7|s>dp03r>0HcM4XfJbKrXR)bBE^J7-Jvi=yd(vC&G{xl^o&o%dHtp4KwPdDvF?WLxxhL;3 z@cNC18r-m_pP>Zx5D0Z($ve_zkiztcer20B06p z(A(?50oXHl4xi$k*<8Jv4xE9t0nP|DdJMcIM$?R7`gM`=m_t)L?>h1f^uXB_uy#mX zet8cq@!)OGxnUi1W7hDuCC*H}8bLi~)fs1P^wbSC>sQ|KBx_c%{ds0}<{My7zkTNA zU-8hhZ*1=X^q0559;k1bkDL?QYLR>R`n%!T#rdIa3Tm&E*B|0js=0^gJ*cra?^o#7 zco8?_oKN8^xPb%p34906b*UDf>h;-zGq`{wXqj2S&Y*9;@E+)Ajs9>ZvA-*|4S42f zr0;hVzODz#6}(Gv?15Tw_^b9|rXWB4;bG(6td)fkZGjIfRFwU{H36R(L zF8?6DO>=zWeXUaLS;aZ-$i*dl!Ofhw1Jr-^#Jea8>^LHXwdtNkw5b@ zZ^&;zKcLUA=A3)>4`9XJdBOTwQ~!nEV4U(ehcodSEa*EYx9|)wqkr7NE%iOQUMpgB z)jeyj@CKlXwY%)mlFy0B<4)P{!58en1>k32Z~Z)DYt<8=i*ukK?+cB4u3qp4T+>|m zUvhm$U5`09fHC-Rehakf&%jv_-<#gf9Ki|PK?|1j_OcO{f0iXu_tOVPc8QGWsN(v9gH@faSN-X7T?r}`5Uo0d(urS>9U zf%df*xPOpSRD_V{o4-do~nf`0Bb-sgnc2rQUuVYE$`{m1Zw+Ai~)7)`v}D>41% z2qwfUz?^r%`}Kpi`jBq`dF+o`yz5c&i#x}9?s>Sk&7RoVH;gXkS{NVC#&_WU;%-dg z6}(5e-~_10^B51cJFyyB=pjFW^Ku8yz@D)<06mPYe}MWu&_C;%E%6!* z`YZ7nv|!LWzXNxmhdsUFY6ic-6MVsgn)M>*FIX*H9pOQ%Zkct~KH!>lE9z6?Gw1=n zakj?#Y~d5YL-y>$SKX5M2|92E7iuF|E%85`pZx*1^nQvneBv%Hm}91*Ua@Ya&l{jG z@V4%KHIM!s2DO?U*n>6Lq*~n*;}PE~I-jR@&20wyq6O*?speg)Uc~EEx97KFJ+w>W zBKQ8937tN3dT1i2?{{0QQeLx%@W9VK_{|Ug#o*uNnm*3r;j@c!{EvC;(f#WK`|cuk z&U#)ae2n$FWY!a1If3nEt>^l?rh0WU+Fu{y>dXFL|JZNzQoG4ob@v?a;WKa@YY%!e z_yk%&J%aTxsExoO_vrhL zy03ad%uIDnesLe1H{XFx)*ay|xPTA!b!N2Y;eCRgvxfKY`uC)XyiK#iyO8Tgg0b(| zTx~oLv&PK|c3EIBR|IlZAcjvNMaE4?gzVT1#4A3jHmym2_JQ?VQwtk6YxGXGvXZ>G{){B>zgOB`(Um)0cT!7jkP&Ag9*rf zq3g-<^4)vK%=k`% z^(m5%UUC1=IafO()@KQ~@C&A1cEmk+liOSU>BYBV9i7kM^Sibl{+`u0>RZ6R!VisS zSw6vunmLGXy@j2nudkl*{p37;7tZ{C%;?dtUirB$=$H-tocIdXsaB(pJ<2EGT0OHL z*tw25XSc*?Vy`l_-`|xfy@J{*p`MXb^O@X3g^%Z1;UDKp9CwI*>??DehwGW&z%Iq{ z&h%d<#98C(GkUihdfpx1uf5_83*tDR9V~8HJ4LevJcG00Lma<#)*i&{G48v4_j3lP zG&7t_jYsU$bv|GWj^GUrK#wP|b^+GRyPQAZ7PvS3PGv_^v_j<=;k=N1VOK%JIX^meVYWPLX zKI{DUSvzw4fBS1<)(Jm-iK`w~E1YkEp5}TExoqFMvFramH_Q(;W=q%8WAK%4IahZD zdi7`vcmt2%FZ+TkdxCnPgO6FOFL`;%d?p4_I}mSy8ue>%%CTNAK(Bmq&a+gHd$J>D zwkZX=Z ztMucp?^Eu&?kRo`Hfgq=k?XevC-4PNaL%~EFK`D3V6LCK9*-T2*8Nu2#=!m-;M*MG z0-Q2mU~7vE<0}|}F~IA0KYF0|w=d>zDgK#~Z-5@`!SyOV&VV(4|9&1)??>MPFz36e zK7c&-zE1mYUi1&(M12qL?0ri<0ZVca&z{#TSkGG2)mgU&S5IO*VqdHkvHLuO15m#L zYEIc>mU7Rro`NMXKGI(&_zvQ`J;QiZF+%SmTi9y&v%%T0f>*ocAQpxW=0p zKi@&sCymb$_hme(Yl=&}Vjs+uZH`&bTIBnr3r(K)o)>4pjQ7OnjPK-__@{u? zn!BEH5Ace8z)^D#cr@#jhc9_Nr?bv2bDrnb7pL5FT{YIwg*S2eCby^W3aF9Mls$Vc za_&CR+mCy1u2vRkJ@44pig@spsmDHyh5aK~=h&Lwtm*mx`Wjmw`mXmkT5>&lFwEJv zw$E&??>y($2Q9h^G|sCNtQYtBM6C9hYQOKt{n%RpeOh1*pP2pR*fp)~fxdTe1c#LW zID*T*{S|5Dvt$|)0XNaz(C!(&OJ+T7nS*xC+K_6$hfLlP{HRCtomTS(T|D7LvzFI#Y8@6_ujb=Tfx z#@Br|vxHdFTui`-nRn9EJ$XTnS3KVi-$UyE?gLH4)XNTBm|3Ey?)!?rBh1AfR@rBZ zW}M?=TBB&m_o?QY>t*iW)tI%1w*G)SG0)?-YaF!~za{v_8LPn~{;j`*pWsW+{yAx4 zE&L)!8{Y$-YJPv)d-4|G7y3Q>Du~q!yyKpz5zG$v@z+lca{>Fp+EAA};9m3~Zbo3n zK3KQeq+0z-8sAa<&iy;J1Nkk@sPQ?QG4(arrd~Y%gM3H60$u9GUiN>q<%rnaeZam) z_u-l``ynovf5T(2%2?Ci0Q=1N4C?(B)y8vJ$G6U2&in3~Y3}R$C5MNz@wwvtUa1{Y zy<{%-y-9h@pLj24@;yKo{}$d7cVLxSJ^kTXLTf*3+^fAfZ)foNc_qX*?R@_S)gsSc zn6aMMtLMb5Q-R?*sweRy=jh5C@dwQj#Py_g=IT%I2u4#a!Gd@Pn2)oDt2gl> z=k_|#W;Pe+bZ5&Rw(s1FnEh0D&Uc(@;jsOs->2A13%i!H&K&`|m_rlijKBA(Qe*FuIG%5bSDvps>c(p3U`)(ReDf=~AYTJ| z@wX9et%jb@`Fo!RpGDRUj92*WVb^i~38ty;xzr0e|&UZBhTc8gfzgqPJI^rH2f!>?HdV|Jwt>fjK|2?h#XPj%)>kn9^JpSGdvvBpy zb9*#*_A??Ujy2)<%~01L+F=01cv){WkRdq+*Uzvcw5GLEb{BJR+> zQY^z0hpYkBL|CKC#c|`>Gf4o0@fUQIl5>;$ucjekWdoU1rwv z+iG55P7TDjzDio}t@o=~!bdPgSETt8jo*AgzYc8C5dU28{h}rJZ%w>Ewe(^S)GF&6 zum&geBj)I<@q73Iet*N+s_}f))$GMN{nfjt`0h7(9-a00-sE@EJNpBg7F@H|y-reJ z&yqa$w17`wgVsJA@9UiRL@&Od8$D{V9&35-K5w%iw#QuTah&;(IL-u*_Vim7xsoG-Z!;4-#l0J^nrK4 zd*K>!Cs%15eQP}RtJ~!7`mqPw4fjd#^r~(1L(<_sU~SndvTsuYV_lK z#J53Hs@dT&1!H>7E~stD>DNnu#&_x-25o#7YqS^Y!`z7+fA`~=>hH7I557}7ru>|r0teDY@^}H|Pvmu@U`aYX?(mPsx{`B3e zh<)zh6?qHb@M6}Q9`zTT=% zcjlkWxA?qM?t8Lcu_vFyeU=+|P40R{it8gWy7)d;^j-k1wOH=}w>jUkpPqaN>kr4X z-co-!W7lfF^r$zi7i+Oj?8iN1sIO;W%9<1E`<$O(;}KW^^0;5ryc;pctn2$;>dl}1 z#4}QN&#})rnlqY7%JnVB|9B7LIjGC^3$Iz8Wv0qL(K80k79HBgwTbOj;D8ct<{k)zOP*KyMsPH=2c;O#s>YV#H!?#q6zPao6;6>~@aNHMSy+Xew20sNk>%_PH zrS?I4PdfMEdv6}Fewz&H)rI;MUVp8m1tJQHWXPMWxX#@Vw(BkEaxzdf_;Bi>~P1J`n$*n|0&`~vW( zi|n;xKch5P(~q-!!B2Dt_)Px+AAx4z#iDg+t}w2ac<1S{^#%^Y5cA5 zoyKoYk!tmq+Jp6Ger> zfxn+Ll2*L#sxla zVmSU?xhL;(Z<2bUZ+V6db^1Re>Suh2W4%}Mj^D8@J@(=L<9rYBin#}jhw%J<#&D7R z!b452RTFf0=ZjsK`wM**doI3mR ze0}x;lnHdI z9$*2MfHmp@{S&^k2j;`?4YvTFrl)^M^hM!qKAz^hbqAFf}G;4bYW&gM*x#&_WFito(zV-Fvgnb^yW_`=)?W~L_h z+pEyj)O`sQQH7d$@H(EE%f8t;*D zoM}sZBHmK}rh43yC-ITmo8E@_3hx2)F?WJ@sTS{}MT0Kh8TB~x+>bL{;?+?{_j{HH z@-d(nH8mIV5%^H+*{{A+uqDUO=k>hm3B51+1Gtm#lRlnpOpaH~UEv4&D$;!HnLO6p z(4%kcdd?2tvF|g^+xb~SamaJ(=V@*CQL(QIPrYK_dvw72Rjt6Ad_#|U?_)DdKEC_k zdXZ+_i_a5h-13a*L$hO++&$=P&36%Jx+FdWG`{ENiS|klf1e}nIJ4%%w;JbxHtwGF z1#sSV9`HVS)dl&O**m!8K6%NSo_#r`))P~UbNs?bW-?bZ_H)bq6EW)y`;7axMQd#h zzyrhQK z`{lj$8RL7!!*lQ~t2ea?d;>e;F`!r9>36U*7x2k5YFc8v>n%7CU*S>edluoT4|DPC zbK(`y4_J%+Kj9rU`{?6&_W0oGo%K$|{a6wA)Nb$+yucBBzyVmh(SN`NGuz}9-voZK zw>LZo2YM%X3~#^=P>(Z2Q>fR2^?Y{?vF~g+o9ayenDzACYhX+53h3z(KJ@Abz_(e^ zn-HUm-Y0u>Jcaa z^TitO@w7gMnTzj&yqZ#DHlBM2-^piS%Niqi!8~z*bz_egbn~Qjeb;n7_Y?2tOWu+T zW__mm1yv+vaJRX@)o-Z8z%nQ!Pf%*UQaxlg@VQd=ZlRlqGk=bf#l;6kp?4WRcf#XX)A zAHWH`!Iqf<;N|(pzBaHLJmXBR@HnCQz)L)L=)c73oSWdGhJNgQPrL%u;vH?#19kDf z`y9W?U&L+7<33W0`#gd#*^gPz!E=sty1|KEV!3UbzqcZ|k8*!OO__n4W}-_zT|YnV9Jpl{vx zq2BZK9ES4?cFmqz2k>uJXz=lV#rr3A5A_S&zz19tdrrf-#F@=fKKQ%0I1@Y@W~wuN zW|}E{2l|K}EHbybhF6@;i=3HwcW^xSIXy${4_)lzjqeEEIO!YMy6k$MgR$?&=ZwFh z=$lLO^!cj^z}t6Q7sMy9LGw*@&o7=+59Ujkn zc#|)|7>vM*+8rE-&oHQOaFKoS@T`gj{Gqoc20o9^SoLrRzf;fijCR?j7DtnWGHvd!{%ovqk0^`~o-jKce5GWv0T*=Z?K@sXfR)@Dz6D3$EnMc($(p_j#$& zYj}6|-Mi-%??XS?9e`aaG0tdTFs)qTMoxStbnkJevs z!Jc;Tk{oXEsL|H;%<0EFuyz0&YGb$q`p)1rp!S0{&UBUcai+ebhR*L#O~Lv;SG<4x z;@;lTJOJ!j_$|AiA7;uG`I9xLxxRq=R15uqSR4U!feZY>i*(yJd`1x*&C7wOFg9E)uV$U}20NQwNJiUL_ z0?@0*)Qvx24UA9BkQe$p_W-ik|A}2U@-@08b8onVXTX~4tl%@uY^*zhpVT(+6+Yte z1_$s;y~bJUu|Bh{Rr-^@<@!1MI;~p8`h|$IOx`e;fy2SCW7HPk6hep)V$NY)-3}p9(S7Qv< zQ!q)-TFi;njll}oU#6bt@_UD}hd!R`kMl1))fD)DKnv~wzoMsa3`gFPA5z>bh_B$u z?3Nn2i1XBI#o2#zPQTex+a?KA7|JM-I!cXwhBuD=Cnta&#|eB76Jvc3`@GSG+i2=7zud3%2wFMm}deKeh1NQyUYTJ3}5YcJ7fl_Drq% zP@7ZB{rIN81;*9N$$(eO+-&_2?k;fgm=eZrsT1^kLAK#1@1f zbj_65`kVR|ekO$WLk*AO1Y{8U70(0wmh7wbed<#$;5PL=6Tj`^3h);74F4}oZ}5yY ztv%?mrtdO-E715Z zj-r1ce}N9a6}$i^(34N#Be()}V`k9Bd%lya*@G#d7iVL9&RD^7AmbIk+2$i=zo{1c z#>c%EdM(nv>QCa>dq-W+k2&KVSb+_g?u63eTuN(%;#iE$qw^I5P*M1kcem z;=IvU)Z-m66VJbgUwI!V;wRceUTa2-XWaLW-ZyD|C$UH7hHtr85i{#K7e{8uo%NlD zc1I54og9+Z`&n<%*t>xVF}dr--L<~q*-l_hJf(j~`Z&jq_=@(-S-s#E%`NFXgLv*S z`I4Ak+<|S5@s7RjGvn_w_>O<>pl2>?+(SIWhnj12$ZYj|@85m3 z=TyG{>&AL|E{Lt)Q$KzO`!wSk1wQfK)_LYb&b;;d0o0h=AH&CtEo={zEBFgKu;-cV zp$~6;=vNPPH)8e^^$oFJ^vf}P0n}n0xEwJ?5forI9%{f?rQI6F(Z*L0BPdRp`<(zNu0Sp>++*Qe~kGxtvL2JABM`i&RFYp~2Uz1mz; zuXYQJ^;l(AXWcnt(E)XXM!oZD^i;2Io#Q8Low?FF`ce<$Gw}@GrFztk#HXBFU!l>v zhsQ88RY7ci0eHu`>2(7gxF=Q{>*48ddBuD+BYpw3dR)N=IP(O|l zqKz{^8_#-x_vm)4aRba$XyP7y>9t^+d-!-?>RHN*7p(6cI5*Gvk=)tbudc+-nm>U0 zE!^eW2fhLM38;Iv>b#@j-x9CD7}!6Hn%L7Fo-*IV z^sT9ly*|ii#P~Ez_>%gbRqXvs?M=;jeAR~cmb@oNr%yw@F2IC-OU?Qki~w_SR!`y$ z_^@BJ;j@GB^4Z;Yd57_f=j-8jt{ZpE!tty-@&~x4zGoYE6A#yqx}L|JKVfGM-~!G- zov@~tHT3lfY`_AnS(9EZ?9IUv;1&G>p0Fp@ujD(tho9g@OyA%0xR3U4xo7_auJlHD ze8HLZTNr)$0BSpGXkvdSa=hc2h=1QRdSl;f^@KO%>UQ7)$bF7@KI`h`Bd{)C0eau3 zz2F0WJ$ajI_Wj=UtgPYVS;RVM!_)eUKDmfl=k92ybvmSYkKkQ#6FXEq+llAjhY=;<#max zK561E;SA z`%FL9*;3zSY;x^QzC!l`9kl@mVtwJ*JN~W_^J~}{JWA%=gYPijz4cw{)n{t#!Tq?m zpK;0?Yfn5}>w~sWeZM7t1MOAD_`06=x}K1)!3L14t1s{pyulXS*@y8y=W5k-z&d+~ zXRvkvE3gLU&hLS`C9wVk&N3Hk68jEH_14wva|G1d&5eBwRz z=^5jFqK&(C&$SL-=9t;vvu8H$f<5c2%tzQ6*7$wTtQF5}PtdD-a0h3Az8--opdRb9 z*SO#G;vML*qrZo##oFwlbRX39jb~b=IQB!&_Yr<-`mABUabE1hp6BTOt`>m(ct*qC z<32rdjy}F!`J47!z0$tjkDkSie4G0EHms}0dc4yod?07tW{!47eg)@@b@sLPKvTeI zWA*~;^8sr-w(tnN!3!*@p(&V+=Xy{hk9+Dmee(9Kn>!$Pk99%JY}}72XKLP(qlq)Q zkuUJv!S)W+PZ?X7+;^qc_ZL3qU*H~`BaSn^!5eBXfIjY@IrVr>=ISvqYnQS;pW&1C z={M=~`L1iU(Ra-wz^}%qoDoj}n)n9Pi9J{Yykm`ySTE*$hTm_aC0?=)y14tyc%E@5 zHn2G}zu(1y-kC+yZ*eG*d7Ji|j#O&Dq0?9QHiQC)@${8t;*s znpkr~?B3}&Gh%TB`cSV5bT{|_6UY3L_zfpWZ#~$>%f(Lct*mn;v zav#0V7;9Kpqu+}98L-EAe*9`?LPs2oZ|vcgwbo}jJ`mH7cSb*+{g~dlah&;{{vFUS zh>I;a<+ww01|NVXzKb3F2GrHnBX|u~fLXPkWqnV%_p5pX_xS`Z^%wnd>etK^8|q)! z-he$d>T%9+%ztwqPv`4`{E!f9+=zEzg?_~Bni!vQ2@{tK_yUgf$z8iTk+)!z*Lc8p za(l+|9vndjcHj$`^Lf;{7weuy{D$kb088-B{x@Rudbw}4<%AsHx=p>Byq*#>6MMM8 zVw-c=d+RfXm%0P_D%E}&KhHhRg7t>y^SR?)^>FqvZwhifh-1!mj5pv6_PKt6)seez zpFP%4x5HLsi*M?H7F~Q3H+(YiF^@;w zU;M&j4eOz1^p_sb@ZZ2Q@BnHi8FRGHtk*-`7^sm2HTNCg;}>3}SdaLoAMiWZoLhl; zo-ub_^6TzIQx2b@r-)u zSpa5=CwKsKaS!m0IOp}9oOJ^D7WR)B#HAi+y~AyFz;SZX(smLytC^16#H$du^;=mQ{NHq;R8$@o~+?F6TcnQ>p3ugCtW>( z3*hXQI;hWZ2VOw`9*`GT&U5-#Jj(eEUQ)kJ1;XFW=S=k^-oPigPqjGjE%7Yn^$5NK{9H@V*q?Q3 z#<7nnya&7dj$7g*z{`5v^EL4kxSmkofdg2AGeF9 z-t+kxrMc>Z?waS8)Ld(W=1F}8<|(gRVrJsKG85~fjr0DJUy^V9-ZAUnC)ac@@tbo( z(_8+(>MTby|d?-SxKorw?N3+$c15m>Wl&G?!SGib^s zxw;+D&pGzzcjxbMS&M?8DU^W;Xs#z;Pyes1eqj-({FDb8H{qSl|8);9DKp%bNHCToYa8jBBdf z{uR@UHQs0zIo`l$;M@~F;^!QBym#jPy{+UG^)>u~)pUUQ_&p}CALOoQ@0;Tzya(ul z@rviT!)mRcfI8=h{U&4o=Uh9$^#9?v3~h-=b)lyZzMgMr^fDiV97nz;f6`+%KpyL$ zjrI5N06lNHzhO^mtmWC?Go}}{7kmWjtUZAGAztQKjUM*YW=;IvwtfKa!5(?sqmEb~ zYx1CRR#>+-#Di||aYnedI{nakR-R$(Cu_<#HS0I(r}VqxH(j=z0rmLipUK1TzCiE# z_2N%0ejBDaht-9a_2b=cVKGLtf%Sm(Y0&z&Sikbb9(UxRei46&JK{;Mjo^K%$^JXT z->s6_3Vk7%^?P&g)jWgwY6@obTbRE0+IwH)5x;?t#P*|Cpu4fZ1$?2$Y}KclcPxGz z_GpQVD?0q+eVA{-85pm@2C!D_eFfW>tsmI`8>Sz>-(BMB!5UBM_NbKwb@2sDfOkCx z%zHldCG$MZ`Aj}bc_qiAVb1sOe6=N?C7tIM&xT(-7c+IwEPn3O*?7Mbctq_(?E$0r zjN@+YVNl)SU788Lq*`@A`vE7`UBOS_I`S3ti9JI#k>efb;jH}*%mJP;^M-f8dJm4^ z0h|}kzrYl1fjZgs&R_)&z&Z7^wD-{M$a~;g_MO>-HBh?*%vWF7p1zx$w>f^m9iGmN z!G!*cTr1c)tDHM$tnV%%o`<=(Z&&yM%+Y$r@h#z1oN~@w)b$+`AAx=K9T@t~q6zH^ zW-kFX*4e|aw=;Oey?wwv-k`owrx*9d{0_{I887+=VtXA}lgoI=U7{cNV3~9FXdd@v zmuqUR^)U0H-@|I>)E{XNez$Sw3%-44;A#mU0DJd*>M^x1xDwCcBfQ`)p(%~$z&>jQ z9ma z0(Z~@)+%2qt|mFRcLg0D){GxOt$YH9%=)Q6gHPr??2LNrYULYHYkfdV%sQUcujiIn z9eVGZ&t8$obK@KLd!WTD^ckS$#;i=gR%egAn&;SDk4?rqJ@45?sUrFO{ zlJ7lm;0~=>=Sw~T^qN&d+;i8zf<0(~p3Fo(tk;om0JCwv#=^eb0@euVW9Z2-M}Nq*W}@| z)o-OgdX)?f?l)2qU zyaQiy{F_srS){qptDOKnF0j1~@fSV;*P-s+Zd#c2O7lIvIoyL)%74F0)>8LdH)lTn zrpo4esL^u?p1?Z3@%?P!F4wFZGwWUOoV-J!wI`S>uhbVw7y2P~9oJX`wfGEst)|58 zWebM2haDWXj^cmhHvb-gPDuHQ}b_0yo(jAmNmlf$;=|_^t^#Py$SpUtfj9$^{e^6ivQRY z<^K-;9rzDL@n8SfqWCZWN8XiUoTB{_c6!KT~)O zd>#0mso8`u-$Sw7(T4(oQocRj3U4y^Uy z3iL)FFxK}Cj5lBnoF(>oYWq|CkMJec!%y!+>P7Bs5A@NaV|JW8;#pjC!h5A(e$qKr z1vTdeFa1D00``tziU)JCUp>jA-oiKhF4^l$z5{Ep1c#hYGh5$gF!Q^2>-y_wU;Pr_ z6TF9sqd$We8P3r6U3<4;%_EF{c)#VF*qKRs-q>45-hy31{efN6d<+WKd%`22ms&X1 zvA@o^!3$u2lQ`DXYXTl%2F#~GjhF*H#-IbPtA<)L^qqJ81wdD{0FU|zUqBD;IcBz* z6W_oIToe0TYD+wd1At3rVqNCrdt4L)wuQ# zz4%-2+&tILu(R}o?LBgAeF5y@73*!`9iZNP64xhKt)9*c_127KH3zT0@xqe z8b0L`?!Y8_QXBSL?ugOF8Y^OYwfZsV|AhODEo@HTJvJk_19M<+1*Tw6Pt8!H-#h?o zxW4^T#-n%>zhJf27cd_674*!U$n`z5mv!RuiHEpYt#^g(|A^w0n@icM6jCZ2i0`&S6^kdC8wHxsfwm!#iMEnGo)bly&F|iu; z~cCDyYi-{ILns|o3O||kvZ9%NYm>J)b&k)agA_nCWFzb9Z z0vE6X6R>CY38M?16Cc0>d_j-L8=%okT|C$z-nD;s3{J+#sN!N^+`w&lo{hs^|(3e-he7Vna=Jw86cOZTNHOz*7 z(7@qk9j}OCz5I@2M(r7N^ylys-hml=Ii;H4Q?cS6EU3Lf4|X|bKF;F~<5?`>ZPu#8 zFXr`f<^p#KKdcvbf;>FX)?<3s*=M{LW~|jk(uN0X)+6$F?j4y~r##+oOWxD_P&2;3 zEAlC^T61Q-@58&Y9`6)=?03!kSrDIrd`R>4gcJa zlD;?)yAGQ0yu%=7Suf624|JaIpmjapZFryPZBx(vdH*~U&!?W#!$)20`$>EuKC%z` z@q9OQSL$t=^Zv&=)O?PZ$FBjgrk-a&?){BB%}nI3vjHP|OMGWwPrL>_*a5U9bM7P7 zlJ)E0cdk8Pb8!GG)}O;`_?Xze)#_(}HOno01mi%7Ufho*eym&HsrBGQj92x7C-55{r@HIcXybXAuO7tCIWvW=p>f7%^10(K?_u)l z3Ad>h`|7D3S)W?nscJ!?~;wQXKJ@*ys;qSYO_jyaTp93{!Blh(o z20yc0!_#+H-B}-RHTuN6V!qOElssL#*b}LWy_ojYJv3=L~jKYW5y~KTdP{Zd(&G8T79$e6z0QGqPE9MH~E5IvyOJ+Li z-<%&ZGv_nJIvZ-}O8xXYb4K)wDPT5g^lIR5YIy6@f_3KX;r%X|E!j)l2{l)61J3L- ztmEf=xd2OIYe#Sg62X{y{k-R>L035qt%DFPS&qr#L*R zMUHo@rRN3cr-xc$f5REvVP={IJcVa4af9Botev6Ouugp2%*1nd@CodwqjPVbXYBEr zSq*EIXv!YoRm}kFRK(>yql0hYjE9~p`b+W$vHZ?_Ottb06Z&(pK0o~c%k$q(QGmelYzkM;1W@vNuhA8;aGfqmWw>`XnQ zrL5|_DEcwQm;Z& z;vM(#l{B&MKK0|=c4^=BliCpvd4uPLxJY}5cZQGeyB+~&X6RTa-q$>FysHH>Z*uyv zpB|la)Ph-~Kp%H)0`Kwqro4O*cYqo1p3h-i&EOR{XWfms0~bI)Vsq9m@s7NO>AOzk z8~6x5;GSdsg&yot|M(uP={E!W6o=35Pj20F@{DSENxsO>P8@es%>%TVnJ;>9qQ8Zw z{C^{zJCL(h+$HJ}GZW``WX*#2JkL2=zcJ6<@8<`^x5J!wJ?;_y)h*@Tm2!*@kD^Ox z@NTI49-=-aX8qmt2VE7hVKB4^WNEN2kalf1#G|-;1NCh zId+X|0@PaDCiZSbyoQ}G@JDCeJK>!wZeR~);11Avmwi6Zqr8F%d7EmnH{$96&eWzb z8uu9S8twt!@yvSe@Or~DxT8)l&U%kGwOCg@p6BZSicjz zgV{&y{SM#2o*HqrBA±XGb7D5o&>dQ7~begXK{vo_qTxDQum>066Ez2Or;?;5`A zdWla#z9+}q-N1J=Z8m}1v8=9liP#UREt!P=U^Yv zL+iP#55B|t$jsCadZ$#2z2i~p=llg+fm%F#mUxaMb8q4$wJE@7;PBAT8FbAGotmDR zGu)BecV-8+Swp>My*S4ud&vDbpFO%MnA2}z@gm;B^h)EQk54>b&fRA`<0g5>Z!GKT z8|S*B-?N7z)tW`p6&<_&vzH^08O0L z3Xc~xwDCg7YK#lGnMyvWagp-ubxSyH=z4(!m4a=e1SId&F(_+J0i>VnvOli7F+oPC0OhWiKc zjQBSvaVO^*fYRq@w0Iq;}-%I4y z&R`GlXzujT*4D|RwxT`-Tk>Vz?>NQ2uf}+hv^DF(jDCh6yPXmJWg;Lxu)ZLZ=Z7QkJGHQe7G{sbCSTHgxNowky(h ztBEd2+pPv$LYG~$zxTQBdsF>Azt{7}^ZfO^UQfP#JLfvrIiGXg*LBV8>`1>2XpbU! z&G^*n8uXl9t*wR>L?A)D$D4PfjOphlAp@G1268ml_C?3E;iDNK-=Jrop$VUu(LA-( z>3N$Df4+#Hz|UZnO8jPY1zTcFPm{-|#@;_-uI8Y-dyi`ANsaEK>GbDX{BanYgMx?N zFWW2X#dZDm&h${Ld7!ULyC!lq-whFOC6@8$>0{3fP2D41qtH*+?6g4S#@zoJ!&vOW~8FuO$;@+=8!KS=aQa=ovX&Dr`<>D^tG<_Ry#yoW7;#M&4~ppv{6PfO2L&qn*}dtE>^sk3*0 zJnIwJ{jzn;>z?YpuxmumYV~y1i{x_#)HqQF{_i|Ov%wXDdC3!t9`V;t`}ACKT`ExC5zI=!*pZ`IKAcVm!%6ggecieJe*aa-5MxZNAO1+4Z{s0pYJ zzO}XZS`&w6$OCiwUTVnQ9V5^7OcE>kd8(!3w6{)CzZuvh?_sAOi(<9DntF2d zJe*p{gZetBx|&CP@J`tNrubM+jqNH^N_AZtVGu zC(oGY)IC52DL`D+L`P1 zu$m=&t>1>+5ynL!X9pcyga_nhx|D6Zi4laYwuJ$wj1bcbzAW} z02@eQb-n}z&)T{k{7&YR*f#2_@ihnE5Yv0%M!dM@X*`f;EbL1h@Ga^yFHJzbT3xf| zxYZD%R&#UIcVknKfi!cKSn{2AY?N^=zG}oEj!%u#iQnQ8pibvqVcY@KSco}2#FLEE zUXCQN^mW?k-%D@MxxwD{o}jDyW7pn{#n(L;%yGN$i)b`qW7rIIdR7X=a`Z&Q)?-bS zIjtvG?}2?U)LMnwfMC(nI-95Yng_bx0Cj3rTld=TL9ZVRW0`k4JgaBp`Z2eYnC4Mu zd)H!{$kkXBGSKXuVNmcjPh;R}P6=}O=-a*4`3Pfj?X!~?WGrD~tx$K1$YhtJ8@t8g{+ZI8o^O&z#lkU`&l_3Yd^*b$#|s z(X#bD3oWDEw%@nhYo+f37Z6+S6#IlQ$Inz=BjoxL>Uv)eC=Ua zlf5??Ecu3c=>l?e&Gx=9XP-^2_Sbc(UnHNg)@u)groE4G#wGk-VmgPWeYPAnCeJV%QEqL!ZY{U*{5DuHFlK#%fD|hQ1H${_FdmS|^O(h0SBTvDKh? z=;)ji^5>KI8PGX$Y%SJ_LC((^tYNHqR!@AZJv*pF)ATY=+#zPyhpv5XR5M0T>vT<~ z$HS@g$J7Tv`0;d3vah>e|=3_RukTdai<& zy_*_q<{9Z_V>(t;tH<{>U&m;=y?#u`1?seK8-5YY|U7N@R=-wPT`K!ksHTOytVYVGSP ziVaiO!+f=eegDC?d(NEQhnPRtNp2VPGG<*`;|}JAyg7R&1?F@;wScyL4t(7gt+)HH zYeCvIZTj(u&`5^G{U#$6_^YqL6<-wCbI z?)jQy_kkQCX4i_gU2BMO4x0UVFS#0{#`dMgJ~O&@Jt@W!h=RtLx95<@?*Ltk&cz_^ z`Sv`EjMI!&FX_(<<4Sy`7Idt=(bv6EecN00d`-Ll9699c^QxB9486q2x6fX}lB4&} zzAv;hr!~Z_ZDM~z_|)0gN)b!0^^@2FWPlnYSe>Ir=S>)^IXbVgPDn%Cw_2M6ooj&v zYt%V^Z2PL;4$YAAZHFII-CAn2r`o}K^^?H7z00gaUl+DlE52&wAPPxPT^%>E=1MWd77iP2{Jx8Y>ai5uw7ov zu1n`zKx@=5Lc)JGtgCTdi(0MAL#ID3VKd}tFO8$)MzPe{XYa-`uj60{Tk^+ESnZjE zBE&)URVNM2o*&S$`kJG*9muusYg$`?D71l&o1hgmU*~j;b&^=EPkqg*ujm{#_BE8l z*V<0TgFf{pNlfe0UnArD5q~{8r!^fwja^p)t35QXG1VCy7kyuCE&Eo94MQ5pbBXC| z)xI7z=I1;3PCN5xyUg1=NX))g-S(QnQJ1J zxV@_x;@$o{`Wmx$se@R|`@C=0OnpE#T8USCbAoU8Gs-vu%-i}-FVE_z-v;f#dYmG3 z0s8iiXsm!=OMMF@JYVmo=Gh#bi~0IFV!c3}Mg1PgLpP9T(fDAl+GfzaR{wp9u?aCw zK@plj^OBH;JS2cvKUvtp0ekbD|#u>)s+I?Z( zYNMlPZc<;X4>1S2cHM8Ar?F~JN3~53A8Y+I8ai%)CcjpFG)>r>b33p_#z|}f;t(O1 z^_W`xm>0KqGRj(YuAP|9q2Z!y_c?=~@?u(}`Fb~WPu-Gl)z6WGhVDs_d0U$x?$_9J zLVNdlk?Ri5Yftriut`r}&rA1BpVL}hgZc%3OrCuWYmO52t@;UQ^3l9Jnmt(6R5Yfv z`TM1sVE0Prk+6Xj(>Sus? zyB@Txu8x(#9POjN=5|7Y{itRgniGQ@r0G$K)m$BGFYVUZa3>wqg1$KoV3BYuBzhipEt(t!h;JR>y<$E%;&3JoV%LnMUz_&E36giD|zy zeW)>-qvIS5<`(c1fR62}IWcHOH{|M)tm^Rv0E44(Rz)kW)9jwV}oeD`dXhxrv7w`uyd8PzS;OjbF%-8bz?7&9o*X`B1z5X*WXWwI+JsrDu34HCH2hGos6N0pt zDY#6*Q|F2hV;lvv?YeZ#oV_2-%;)e0sB_Zjhw;gEsC9aoPe6-r@ojJB?43$sn;^nk zLfAZHsE?CZf&_YKI?Oq$ne_aiKc{z5?~3W7jyYYc?t%VXRUP~KX5P***8R8r(X=tG zQ9t2Xdk!i5L7hr`9mgS0ZMQ%6^L6iZo%R{f*Y`}_7u9jvh^u}R#2Dk-Jru@i4@cw7 zJC)EuECD)h#gcETu_?x?*9Apr2Ij0T`Az}91&9yUTbpN3g%~w+Rj6Mqev>rn>jL z>s2EIn&0EcYw^4AbuQ+|Sc@A4^4v=1Td~a9-hv;(Z^GhR9rB$#`;hR)gL(G+S%W@b z0DawOJEuK6pxr}z53bWbLx$WmHJab+&$SYxPS4P#&fbFpR&`6zM7$E)2}RI6)~7YP zS2jO^pTnodtp;jr-!y&;WPGB&O_JLT%&WdIZ*?>l_Q!c_42u3Zhb?%%?u~SV)}}z? zaCKIXaH`am`JU3$_k@qw_s}yb`Np z%|kB`C08}^RYT8FwS!@7En}>GAMU_rKx>KXe%m{bueDAm7A?CDt&K3Rd4jK&99Lu1 z**W#o-ZR=esyXOe9qR2J?j;t2B;y{>>e@8No*mlyoZ83Et7XnUM;m?t(9pfN_q-C@ z0^Od~eRs*%HR_$vbG7@?fgdH7f}DrW?Y=*n-%3sloAhl4zYU5&jXfXcT-Iy*l(6Ik z^Vq0g!@6v4EmpO39Pxc}?Ov&d)>5a>qSn5zr0~N)p1!tpExIRmUo?jv_6+01@B=;E z18VI1Y#K{1CjliWLM>z<0;;996||-VA<(*Z=mB~-)u8i(d8!!)wVjXz&5MHOHTmPT z@7H1zpkwtF&C&b}Xl)Bbpa6sMG=3P=YJCheM?h;dUI{rUfad7D+7M_?2C5+iVIWV> z%=T#V##TdflMn;d(=qxIVLyAJi!r_>ibY4`HdlLuKtShG9(F#4uT(?W*V4L@uicFw z_t83XY;W{*oq--~((?rkjp@CxmRvo5y%RR3;|vVu=oo@pr!|_ZHU$ylgF55~v@Xd# z>&9nJpTWLn+OQqODzPPKhZb@Zo(%|AYjoV|`S$gZ!S4mF?*Zntud8TGZPD+kb9u;t z>iE9C2f3;f^I~qC`A)!UOll$O<=8z?J0J=Fz2Y>1TB6a)zCVPS3>G*B=F;Y9{F}obMp}P!PoZz`?_fN zd{@^KWv{y#_u!{NW9S89#9GnJK$2LkH`e}6m!BK*>na&n19MVvko=Z*L>!jO2$1NQo=U*dWYhEvVq!vA=3Gz@Nra3y+c#GFd@4UU6wb%^gSR?uNenc5-9PA!cdcNC* zjf2itLjofH7=QO`QDZun1bUi~XZ0DS33N_v8j6tf85~FaafbDl{^Q#k)~NfZ&uaHE z;oBlM3EiODT9*Nhsa0+2T%AvW=4f2~I265S*Ze>WW6iDg=3M49$1U+J)L4y#7qe@R z`t#K3>m{f;X=o!J!|IrPYl*q!*}Z7S&w=LTA>!pbo%q5tcCZ%JN%{Kp36N*!wI^u3 zo`Ka=zX=9=$BFkcR@;J2g66Om%~O4QmN7q8i&b4t?*-PLS%EQVjlG{~#+sA#^Kw|N*KrIO>pGn-{3yQm)A~4QP7&+pTm2Ga zH0>RyPM^`cF(QzyELZ_cYoxL}zN3QmDJFrnKbM|%5*zRK-OP6+XQ*vYHkY1)#uW?YBh-2=Zi7Uf!YW$`sw-t;?3Lpo$zV` z87#hCYb#c3^f`<8X{^TRZ=X+Xvp*(hcN}fIk807A4&DbUv3bx~6R4intJRzoXk24h zqc!cmU&7Zu8c$$*py(6lIg+?gV^ic;VhhmXX#}vEZ|}Iqay}ZX1;%<$?45~Y)1aEFt#gAU@hgF~ z+PWxK^O~UujDuj;DvV2he6WY+rl0`oqi1uqPsm%7?X7jHor5B1O*3dr^O(119P{Q( z7kd}>>g`=4&rmC^5GSVv=&AR{r0{DY!8ihW{5C9Oz3aN?TBC7$2aDc$nHE2;HRP(6 z6UHi9sXH{HYaaF~4D{ic~t)ftIcSTdh>WU{S)>gb& z@k+&O6`LwHSA4PWv_s4x(+;`ykS|7^HtOB*knsNDL&9UihlVGGBjLL6vEixV6T$aWt?CDjfM^C@?%m?Ql(6DdAiSw^MZ}G*S z=H>3+KKzq4^2f)%oYWWSJEZTZzNvjD^qtsO-#4poUf=w_g?*RwUEX&?-w*ok=)1e` zhkXzCt?m0q-&g(T^)LMDlk$P(Bg!+&XO_<{UtGSdd{g=6^0M-6v!rj`Gg(N9CUKz`%I} z4-fop;Hv@sf2PkXNt!vkX0w*F`_ielXZHqY*U8z*?z3CQ+1=?r=Dx+*NuUtCJJ=EI z@y~8_MXVxKk*T=u|K{v^I6FDyghTR&G~2V2@P6TMgu|TO;hf!(;bV56-8G!uW1QWS z|8;if`e!%vYiHMJ&rTx2$jHd($cd2$BF&M$BZ5a9ab)<&Bkb8dw)^bH)E(-d-6{Ur zeYY-OSE&0<-S0WOKTna<<@9||Klb$RpSfyobwj9O`uyy9*IfKr-nqMjvwQRl=`(!? z_l@t1a(1!4>3uW%=JcK2cV6GceV6rpx3AE5d*5As_i}cR_jTK|OL2Cga->{WKBe4H zo?lLvGrP}jIcHbo?CvW+SbnJdX!-HoXZQ2+bLAJyuatjLexv+m`M2fGH9n1Z+rjX_YZo1 z*!x4@-|PK7-s^ksFYmR#_xigFx4yq+(w2!^4&O3<%djo`ZrNwco?G0v``^Co?Z&sy zd;7r6pKo5Z`QFWUY+kOz^OVhXn&3TTc&qiT=ihqnt!Lj_|JE~a{rvUh1JCEqT~b(*S#t4`i_gcfXIEu^ zlzlM!K(;A+fA+rY53?(?_h#?O-kmLG@5^+749d zf``PsWt)1>+JEZL%`n^u{Opuwem>rWy%2kk&vdND9|3C3S}4Ix=<$hTzXaZ!%_$;I zH5`b426lsoITQN^{EGNo?5{n{JZvXyBYqb4QxCJi`?2ow1pS3FHeC(bcCWRg1 zVHRR*Jj?~yWw4z53$ZIa4F9_>?wz2|avAn9_$@xq?7jt?@qdQ>gNJ#_+m^s>#Gl45 z@Nr{5*7q&!-N3UruVFjjPxySk2)^U7Z5sB^9=h(}R*!8lEYBMJfF68y39^U5UHIr$ za8ioP{#A_daM{O-Q6BC=*wJt-IXaJ41$*YQo(lG&;&S}i*bMN$JL8^%y$-&M&wf^L z&Wd|JmS<92t>d{Amp!cDxfGW@tZ4FZ*~5y}9&RJ{2@m%oEcZciFUG#;;eH4EiiexV zvPX)033ii*%UM*g--^pwRIm>fU*Ini*_XXj+-pUK3K;fi64vnuMzHMZP~E>eYz0)} zACKj33>}7lB6c|JkG~K*(j!RUp$Eeu#M!T*VUOUI*fCH;oc$ZhXG&Z1k>0*c?3Dfq1@-8dXIHK|Kbr`gni$`?(N_3!S2=H@gb;Z z+U*g{VL$M&d-zX$u>1BAJ_Nsq544 z%l;n1Ub>vcA}ojKrOZr zE+U85*|;}70@NIKsz+cVzmBq}5%w>@UPpM=2x|`3U-!kQvz1gMLg2)t$j zbFmM=L-_1pq!~WPe+tX_MatZtfXESO9zkue5{vE;cjD9QNS^sfjo*$XekA7_{2`Vz zRf6|pIWHyHgyp=BY{92z9qUzs4`cW72-3f9xJU32Ea#yFAH}kdbv5{C)UjW6>{IY3 zSoT5*vi`cGJc9J7JI*8c1ojl*xr0w)PxAdjek=Aj@HRgCRQG%M1Mkt?i@Hva3ihq;&%o=Zg8iE!BBwoz&mNwRe|i zyK>bpu=_%k`2S$pKjo?yu)ID_zm+&=bNX!_SMQJgzQ~yma@SA7{>bC1zhYO3%soJ4 z>{(duw{jJ|=CYR!^cedVmV2sPO^=2Ua3{vKW6@HsV(ksnMdn{k{7dX&kE^y~vm)m) zo^Uu;eYol$*lR>C{*-$|{Ni06S1rJPCc-vKl(WbikE`y&I>PVLB6HZ6yMO0#)t|5( zA`f%67v3zwF|?*L{sH!2I0XL=?07f|pI&|J zYu{A-A7fAOxEj5_81U>@qua;x_SNIlyN}mQ-z79WS@OcZx4_C9DLpF3K9z{4Gf<@H@& zMSL3e#~$vXSkAHBO#CG5BOdNy*hgVC@fp~kc(}FL$DxII9Q%ZaJ0AO_$KqMopLw{4 zV|n2zi)Uk>@^B|$pY~XM8kYN_xD&A@kHx2B*Lk>;us?_O=$wIl*2DcK_Bm)JekS$> z4|g*5Mc6=m9`9);ZuTZr>|DgWNX)wBKsbP~T5`zH@KihT#R62BbF>p^jk z!M+P!#536UJltck@52t_i?M(8aP@Bd4R#X07W<)xdp!0dkHt4&KlX4>!1j17z7hK` z4_EKZCoq7{P5kd_8el&b-+|@%2Oh@%Czf>$&@aom5A?%V_(zBd@T(n2b_%xEBKmzt z;56Vovq$kGZ!Z!AVOQk^O4*a|r1zF8*+=%3Arj)( zoMEz`443`o0QrVg%Ykx`jF6FXFduA3Nmxe97^#u5GENTVTkl#KFNeznzT2K8-;~LG zI66X(lsbL@e@l*%qa`ZG$gy&qOqJv11eqo=IZ;lM=~6ES8$L6*x3St$?5!?Ic)lb^^> z<#B0|C;0*PGkHp$mXfTMb@FprFVD%d^1Qqtt@5&LkXPhYK07a#i{xUt)csPflSldA zMqR|`(Is*jJO2au5uX>cf$@REB`vwYsKA)OXtRpXjhD*}=2m$^UXq)oQLYS(HPZu! z1;TQL+{h>J3*{EMO`6R9<^cCY_apZ+_jC7O?kDmhpCEr>jtlG&7#?r~fvbOT^>X(M zx!(QM{Ws@*tK1>WxjtYZ%&$6 zd)T4l#@37(J*s;6(9n>5_t|@|JuCO92nJlo$ix{nGgINxp{Y{f(3*IBl8$Q@5?J`P zK&libH1of6N@1;A$kcyj#>l+*f6I({nX%oOCd4lvQzuOf&!`EPep6o)ZZ+r3N#fs8 zUo$^k`q28PSwC>79qhwk^k^!=Gpf_|;gU&(XOw1Mn_fO6RX=H>S-1CI(`%+*wAZAG zvTm=varee6)z)Oznc5SKb)4E6$F6gvavyD5a>vbB*jP%;NzSMrF?#g;NfS>g?OTHq zQ!?F3mMW%~_OO!SOG+$VZV#`U*tUE{Ye+6gO{i+DXud1GpYYSPYWBtcCe?TN9%*%-Wrn& z7?kpJlHNEh7mWD1#3oOeUvg49(>6G>|2&<^56x^@K|YOy^!5I%9dV@#4~`)QCo2X%~l+BSx2E^Eu%8HOY(S z>qTRS#&^+gf4)MkiD*FmA^GCR39f;mL62N|oa(!%1g^ zJD_Dj~#%+o)dElct7~W`qo8vy9UC@QjP<{X8B2mnZ{w-1PXM zT7?eLnI0c8nisYGGijp3bl7i9d8KY@T<3Jk9T#T0lKVMbW8Pj?>zxlLYc8spUy}}( zVu_?~k#3LOWq&j5o_nVRYW>&*VlP2c^5>3m zrl(GtziupZ$rr->tgul>qZ-tduntt|Oa_%Uf5Zzheo3^m0UNO63tNrYn3qJ%$c3$r z7YhyMIm7~9EM{Z#`NJtyr@4^4vCjxM>iI04pI)AtuXkJyU`O~5|H`}O1a_z9gmuQL zs4DGMbJ0nqy=zX=_%w}A^Wqg6-=pTFk~zRknt1*4(2SbTswWB07TUAd9T;`jzaRd$ zbJM3L^@(X6=#EYJXH{tCU+T8adv{>#yvR1Q&A9Wnx?hfp{K8z>_Hmoj|6KK`$nz%k zeExZ-b)YR4eSXM(GylHMj9NQ+?X^tvY{|)Ab|cPI%Ca zde9UfY<|#L{NODQI>FX~4`K&CxaZz8*WUl?{f;}~J~Qe*^YDFZ?{k*kXYA~)_c1&9 zo@w`-agQ6jr)tQ|$#67Rt$I{!X=174hO*&oBCC#)>~)11xWYVfg}MIh`xPmCG$?{m%0 zb4|m!%g%L9IoBL_uKD5|^YJ<6vUAL=bIft)n2P=ChRqAIb%8o}-YC}$ai_U!U3bXY zqt2duwyT=YoHcC!nXLm|&z!Z#-q^Nh8tk|&c6md^-ZRfkOc*sSaYo|&g!^UOd>l95 zkDH6)=B&6mHg3K=*?fGm`Toh~xRXuA$Pojh4yfCI-cU1SUZ`%!JU*GsGbhWuzAqFGIp>rr3MH9$&bi5T#@spo);sQylMbF$I&yBZlsb6+tWqOROr1PV=-_n+ z$Vu}TFFtQ^_L>R)A9McV-G5~91f${e7t7)-_P^$I%nY@Q7iUG&ylIB~$x@LeFhMI9 zYa(NY)(ZbL6J)~TtXZu8oPb$8VFLd#6R4F5)#p_V=ac&B!RPo~eogSX;BUD8U;D#% zjl=o$CoMGe;1#{|MTa*|G07qpSFv9rhjdB zXTI{1D<#M0<~I2~x5oQZHpkLACuQC-KL1+%*Ij8^Q+atveG$6 zZg#b6i??FuI{A~VH~jWxZsE6po21#wTu$x({^wphcQe05?EVvcu79Nr9r&0X;(YjX zxqNr`q{s&Iq{}CI{%nxv%pc7U@$Tc-w5Nm5@i$Sfa-)ky#i|kFT3axz>@bA3p0i7Yl zL!0<_8%sro5gW#d?}x^Its=vl`MXV1M81LkH~RVOaKsLb!Wxl-;vypgK(7(KA|n@x z99#*+4~YP48CBrt)mUJD^j5xiFNxHkSA!j!0y(uKp%Lg^+aWTZ z@!%{WHRfVj7Eg|NE_dyr(h-DiRWM!-xbq;%50Hug~QHB4=RFV4Vr<9CGL6U?bl* z6cxnXF4Wg-izMZTSYJgfnp^*nl?Hw79+&ff?-MN%Un4p~?Y z^jt{ZLh=@-MJ_17df35t&mo9G2FPt>?xLlD{zd3tOx?v%XcYNQ1X56h4M49nYf95A zy$sMy?-03UIMhQHS^%9(D*>HLslSw7mo>slXoDV+MXY(zY@qj|)zHn0746H>xg4F# zo1sH^3xWusb43Bx!w!)v!?2ORZb^NHwP&{Sop}{Zg+;Imn7?W#-^Y%G1g!SHo7L}I z_4_}5OvqyLvgl{g&#F&NmYQqGxrUr;$hl^N$hAq>C9-5JptU3i&CtPLRTQWfxsGSP zj@;|0zn*8gJ`PM?zXrC7e78+xDfWgchyp!t;F)e{g>L>z1~oULb0a-(MEk~e=n=Uo z46NlQ;y0~=O+Y+P&i9CYZ#A%vn*}Dq0zmiX4X{(>7V2+F0BgC0np?*s$oaIwQZtoSjgWh*+5xFw}#O_Q1z3(iE z+{N?URSPSHA0!X~G>g>T-2}Tt?qMPKRsr#Q8Lx~%2Vcr0pp&;}H15la+@FLMB9uuJ z>ubV!fOR~Ohi;Jvqp%2A_k-j;*dy|z0+9D3w13npvI>6{{wn+*qyOU+WJDgS0<<2Y z&qJ)|;o&eArie5*K%>Ybtn1Nw$iW)u6nQKF5kTiLdag$6CulrQ-A~DFnJV%`C9sYs z7eP1liu|mHfA>TFQz3rzB!K$0 zo*xU;wyqa>p(OGm`Y%<(Y<|GSAS3c}9Fl<6%V@v6M&y;PBCq1N5pOF%D^UB|QlQr_ zSpP5Tp+V%AQvtn=)W4428xf%A8$Eoupzc@g&GJC|Dk?U6|{={h918iDe^nU9prbA|5gZgiEL&KZ{xom7TLo5@0tI75!yulFaSD!8vyeEvPh(>LF7Hg z?~(srqsaU9kP+FA&UWgy$ASIXzCvUN_OI;AUwcIU#@hcj8*(Clr@kBAf3%8xutDUX ztYatnAENUS^B*_!@qzxIp!q31cdZxsJS6gO=D(m{-&ml({=2&VFm&=LtQhnT$>@6GqxRqMs^G0w2Rr7@3{9RH#A!e zf6v4W+ahMa9b$&B60?7!m;)Aw`9=lW-86l0sUf5jz9`BkcSeW9d8kH3Trxrey7my zQ~`8PWnHJP5;KeZ*)dSt3|qvURtfYwjo4{uomK>%@w8oHPOpUpumW0PrCOKQoeEOcVRLr>rF$+p! zzP&=sdG%t>9}Zi^@L9nuBz6HkFC@Pa{YLT|SBtrb@kQNYE@lniX%v&DPg?DIF_(~c z$p$f(1_13#$-68L{bDX(Am$4CUqSCHnZFX9D_6oUF&TPg$i0ewS64wZFkUXEr4O_(A$a-(w!CwWW7e80cO&$D}ODw-y%=e}OeZNQFo2k8-+MB7pB?&8F zmzZVL-kJf{f7?YR-?d428-Ur66>~TCZu0JlLJC;dz0BX+4Cvk4D`sUF z$opXxWW?Nuy^kLE6~x?+e}9XZCgM%&#XK+-@~}qCgXBEOIv(s0^P?$H1fFeGBdh@O zS8WyZWAuOADdr(G9@-)1;cCEtnEuVwHM5rHEn*(21Zp3l_E7=y9*qId^(bq2tO@A# zSg)AX^j@6+^nSux9uEP19$yA4VKr<5`aixCSl3V6#I!U*mzXD_Pz2&nqW>iMPm=#6 z1v>U=6UIbz>n7P0$X#Vt!r=NmvH0z&f5`9nUmC0a)8JJz~~VyM7U{hV^JYi~h6p zd^Q8k&>`kIfe17LJ@~v}o+tMF6rk_(tAM=L;jjQ!0Q#-;d|@QahNZ9uwu*VN3Z}v$ zSOuG)U(8Drfi=Ix`d(TOU1BznyMf#d^w~h~4eih?=H*%-_hp{%WpZEMA?6kOzY+s9 zU#2Us2cI@_*$` z*7IfqGy=8%69sZDO=32MVXK(mtb%?qzhl0m3RuHiv&C#C_ig%a84HYmpB3|m4l#d3 zi_azIoj4@L{284;Gxz5$Vzy3!6=JsK#k@NbmWufcYyAsae_1c4Yp0m^ielbhEoS>l zF*~T;!P@^C6Z1FnENJ{K3*`J=paDwIDW;oocRdtf4X~Df1c3GYBMoT&qaAjM`2g(? zW&`~`*dpeitmmJNfbKuh+DX5iXzfe^dOO?1d`RrWWzY(}Vm^w)1~DJAe*P<6rbjJn z`4@TrS_I^LLjI>{e@gu>@^|%%`Ha}-Qy>dnV*cF#Jz{!efc6&?fwg~$=9d}RC8lq+ zn115@Tg7~p6jK&JX8@gnHGE~0fECawj=?ug;y6{X0EoFup-Y^=YH@;bXcMQRL7Y8C z0`ba5arPVz8^zfxDbC*2KwVWBR*JJv2WnxCQg`4^aSmecAS~bWI3rr1Tbz+$SOD}N zxl5db$vt=}pmhlAJ0t;3z<3mEA5{;{;)DZ`25Lr=GkS|SW2V3cacan`SqW|8jKv>I zzp=Z-8P@<^;v5=-P2wDe)?w(@P6RZ^hk$h*F0c%ko4`IyXccE7v5DwRByVEBIFqQI z#CTGdINwY{0ouixJO$90OutAPI>kAHXF6g95Id4yM;4)1oI2{KgkX(0-wMD2SOv@- z#afRliE}jbN5_ENqgMlZ(FkM#|Cnl+4fH=|qd3RX>saQF-5}0!XdagX@}`c31T2D; z&@ImK=p5e!9pao&360Pu&a^6^ZrUbsV(7)Fi!B4@V$_|;dQPP7#2wcQk~sAtNW&I!W&{9#26{8YK%becZ)T4;Cr^bWtO9aR?iGjcznpj;n#DPV+EegP zX#w(29Sd0?cUBCD&nAb@tIllZPh2D`**7zy-hD8UYK<_(7kBmsTPdTg&a zXCQk+HfS+q%<%gMQdbzjjb&Xv?zI~&?3&=Xx-f=&OJ@y+)Mmk^i~r8VNsm>SkL|B-A~UZ^dDgU0p=fEEzXaa zTQwZe`*F8857$CToaP7+dn5~6#d&lpY!K%$ET0dZ)dEWaou8ojI2wE=bol(|{1n^5 zxTRB^C#Zjd9KM5bewKz_an?}(R2b;W_`Ho*?)7w3iH5P>+PAO}Tg zfi~C*yTsvhnDZk3i})|$zr=c9q932ZoR{dw=P>6b`fV5qQ(!i*t_@3JC9HvsfW`(i zUPj|(G+v$x4X_B7!75k}o1j~qR|KkoHNL_cUr7OLe1$c>!Wv&elkb$ASI~SF%~#QU z70p-Cd=<@C(R>xnSJ8YG%~y9ozc_8fp$$5rN1WFxf!f!oeT~}JsC}&fJkx6%U<>RN z=NADO2~!{eX~;tpl%O5DpjVt#Xy2G+#&abu?c`^K~>|NAq@H!zS1P{rp$t zhQmathXs%YdjE>vziNX{=n<#A62cIL1fbcDW;>egC1?jU+tK_rnr|}qCjS4dh7GU< zc8aqp03%@vpuGw0-=O`QmE!!iR-E7A|BgOHx@W%wCArGwekF52NTY$B8ver)WI?3yt z4UMoAR>B(C2wP#7IDe{wu`m@HU=b{XRj?j5!4Bvb=bhm&5$a(9WMKuYh7GUfeJ8SrRHAEl|Dab()TA)pwZsOg<|AGBrkvROG;rz2loSl^rhA1Q; z4a;B^tcOjo16b>ato1|I`e8jRfGn(l)vy7!i1QKJA5s4i^&e6H5%nKY{}J^cQ~xpb zA5+ioEzZZ(e@y+y)PGEU591!jJ&b#FyajfO^REDmgefo^8eu7{6z7vgP!Q+S261+c zg{h!E@mD3cJMlq6*Oe z0{t(j`GT4+(EkGcFV@2**dflB)b(Xy1+0b*umyIC(;tA5Fa>5qBP@lLKwbYv*b2ME z`Kk)W!c<5?7FNJ&*Z^C^Df2vKo~O+7@OSB*@+Q~;{o)J^hlvme&V3*UMQDLG=!70| zh5wfz5{4)=z#?%?5n5m)Y=vFoIw7cq7%YG+tbo<90XoHXyTuI%R6_*fkb)engf)O> zpbPrN4GstLg5(9s3z8S4cd!N80L>u1E9hOp|KE{{dZ2d&y({QlLGKEBSCCgh-X2xr zR!)K0&?xSn%D zeqo400@9F&CMZEWbV0AU!$VLD^{@c4umV=Y20(K-n){=W?#SUV5$eS~7@b2Zf%T1A4Xia>f_7jXVb(F4-lOR~ItEEVcXR=op%pry zTlBxe!jze=Cn&Z$Mhvqmm$Duh6&2easLvtLOhYD0f1mb|^p=ch8=AmdF z+74(QisoTx9##uz9){*&XdYGoG!H}bFfD(0c;CCv-tC|FxqK)ItoBkcA?&KpS*IkGPX6Aq-JSKpOJU1SM#PF6b5a zn<1!$7$hMB1!#s==zwm~|EiKZxf-UxY+#Qjv(Cw^b296k%sMBtN0WDn8>s>`BWOm@ zjG!4oGlFIW%}BqvM+}FFP!9_r3oBqXY=AAWQ`{p15QZouAPsqFg7vTob^w}nXx5=w zhh`m`b!gV1S%+pFnssQ_p*aQ3DI;MD%!Wo-3M*j^Y=o`iev5S<6@fUAa}+s8k#qEF z*Z}Aqjb1bWBLTfAdQoztD$5g>sagSA|LIW&DQ$xU>PmKY4KDAlg;~N0&)2+Q*}PJlZD=2eeN> z`vkO4$O76Ypnbvy*aADnofd$RP=pqs@3clDPRos@ArG8StOV`Q1-;^) z7=l`eK@u`hfM#fg4(Jy5B!Oy(Kpaw#6L)}vb=ga1X*9mYjl zmU#odcITdfHZoc#!=j>XHnG^kb~H3H+)$}_bkxzv#-wfBMV&3Ou@`GfDk@BR7Hu*z zGEyp9DaocpL!}lAcc;W8Bc;UMQK?u%L&bL5-op>a59Yql^M9V#^*p~mfZ70Zd*${z zN3V1AI!CW_oah`UI>(7!WEf(UDHd2o=7};-l6jKMlVqMG^CX!k$vkO>Mb_93v6BNW zbkfHlBiQp~d!B61legFpu|Ao7GW&WMKxW?rb1bvLZiv0P33YE)_hxl(E~4(u&huvH zd9(BQxn1lnjkM84h9O3oVu4k**blL{HY4+`GT*uvV*Q=;;rj#X52!y-53y5{cy_8C zPEFBGmI7l;Q=uASnPJA6VUe{EJFP?+d8e6wn)#=h@8^H9)6GBK{L^z3ai-Iq>5M@} zm}HJ+HrNfZtUa>!$l4=okE}hi_Q={JYmclw{G2eBt%ul|Njm7oj5EzRbAnlxSZ621 z&WdOy9b#{@|A79phw=T{GdRoHYix&S{uSuhJ6hZiB1Jb@hC^&n-=MxheS>NT)efqCm)du!eV5vIseM<0F{W7zv40$ACdA&I zqsRoaEVIFGh~=F(--e95jJ$byefb$=pNfH`BN<5ZqMJM9%2`?&`BSIsJozyx(n1@pzebG z5WBFMc6u0Km~m!U!t4vpE|^_t#q5IF1+xn)Y_b<(|I$Q?Zn6{@W10$8YScsQJxMy~ zB}b77W?5pLoe+C(L@Qln7z(jrUx%OhI?6PQtg#(p?+dh$M&0|=y-(fyrdVK=E%rm~ zB0F4Uhl}iRksU6w!$o$u$PO1Rv%zkNy}yw*x{&#PneUhRewpu=`F@%2uTc-NqRgVq zqRgVqqRgVqqRiqF>+FQs#SyKfk$JJqi)CIc^J1A7%e;7t{Sf;=Gwt+**#8@2nhI5F z)I)3}Nhf^_GQuQtEVIFGh+Wc18(m}=Vw5QsSY?a-5c^m}zy35wt39(N{w34QuJSED^v%)5OA$EBa zGB598fMLdQPnWx=%h%Wrv57zno%Aut2$RgQ%m%w5_8FO=A_I?nUgXnN0?-e zWn@k|`xW-Q!k$-jBl8NGSIE3V<`pupka>m7D`j3O^U5^+LmB4(G({+!vLYoU`q1{qT&?G7Jy+|wTF=#buGVw4o~!kIQO_6K=pw@qqfD{DDqHM_ z*mN`P^f16M44O(Ufc`*IsyWEf(UDHd2|i~SIr z8E1w?*4Pfu{AcxIUumI}e)M1K`|H~2A;$=1~ER1I8(m}=Le974 z+$iHl88;T0V3sB9b>mKmeJ7$7dwr*$JflppfW5wBukXmK$gB8V@wwvjcYXeDJ3S0w z#&^y5t{LC+`Fq2RGs7Zln0b?#H<@{pnKzkvlbJV_m|`Ks7Ue9;S(LN5%qDvwc5@Rc zx{-gg{F~+9EdOTtH?JfA7Wucxzom-|LyR#^g(|fW`+lH>PWl*Rgh}Qwd&&1pzF&Ig z`wezO?AAuwu*a=gh8bsuMb_93vD*UjZ|kIwLFC^y$vi6|cDtSY-ZXZ*oo?5&tY_Ko z%W3)_@VHl%j_L)cr`^kLFlL-H+7$Sly4+{kR)-e*YQ! z@g(YgtnSC^e!LfAtIZ*HXFKxlRCnhvq=nP-Jf>~vQXvhM03M=`|KWUR?p+X=C|W!&9H z7a4{aWr_u=)ToEp&ysY|ic_Z4{Yc7WcNX&Q6H^GNP3<{p4{UzbrG)3Y+YO*nRf7&p!9r=RW(~XP^7*bDw?g zv(J6@xliW(GVhn^ce%0qW!^9Iewp{nykF-1t8B3!Vw*BIWp2vcl({K$Q|6}3O_`fA zH@Cwx{|U+1uUhD&k3mM5WR7Jv*bT8?H_}EI8HN~TiUn5LVn4(lXr_Zc1{q$F7V*eFrp_4ua8DWw+mf2u8#QwXH zHoC|##3)lNu*w$uAy#XqonCSjnP3i?HJLS;4>cn5A(;=!e5k-Uvmy4d`iIp&yn;Xf zhyD3K(nN}GvZ#MV{Ub9hvc`6ZZ3kNDq>nuQ{I~u2Z_l$zje3avM%{1Z{YKtzg1NslcgNfvc{}Frn7gBHr$iZZcUIVBFU0<*i4@&r z8OChC!;byW66=`#Xha+89vz^_1nM4D_o%u@)&0H^dB0cpdwIVvFvc_$s??~5*lv;z z?6{j}6m`4mcAaHc-ed9}Q}dXb#|9Z;k~vn`WG}=XZ>F6da;ST}%slEISNFKOKQxh| z8|V0g^F9%1p%ZhSFy{&VPw0PQfmOEH53whc*yqV!)IF*0$w}<<mfQUiE|xhhr>KS%=5!0m}QA|c0%-mh*r|{lc$7PFEHx` zX1$3@ZKRDZG7K?_GqpNXt24FAY?b+9nJA_H46fn?2jM*bmXmnvwZ3nJ<(1vSG%VVUabq!!!R$=IC!)=%kN9Mwn!dWj5Fi z(aRf2(M^^DV@y*)=F4TKWTs@MWTs@MWTs@MWTs@MWTs@MWd5zpzip$73`2}E#R97# zdWF7M=zE2}SLl0%z9aM`}+63rsbsNq`S$YKdnDK!y;>Jhv?{lSx1|7v{^@+b@T|6%(0Bj zqh%f=^B9@O$UH{oF*1*ldCW8ws??~5=ygdt=p{#y31(Shot+SMMYNKppFAbXEU?NJ z`yo2EIYh_xu)%JKUf)O?U1S(ylxZqdsZkG6cajcz$>EIMlQ?7dGBUemzCq?2WWGV> z8)Uvg<{MvKOM0nn=-2 zmI7l;Q=v+YdWcR=(m^jdicB!e66@@Qs4t?GH2vf$QD&YMHrWf&o0~|{O_l;%i4-#5I>2y<`qlQU?N{5s#5y}6IuOxHntt+> zC^OFrTkMDElxEuLWs|)So!Uf-Zn6{@W10$UY=4EblsKVu&GXE?_h^$=x~ zbkIwVA`{HA#5y}6Iy0h`H2vf$QD&YMHgPv^Q~NfxZ&UlW3`JzVZI&h0kvY&v8{K3n zFvc_$oNd6_-tKH~ceb}X+uQrdQ=*L7Z(m`Py%3$CE?oH(7n`uW~egJiO zb$N61>hkLH>drIwycFGJG55SNrm0}=dG6<*0xfjX#~>rf{3o;jX_*anL-fy$w9!R| zAx4>EfmOEH57AIF?es7ZqVv_Cul{`X=c_+o{rT$8SAV|x3)Ekr{sQ$EsJ~#Cab{R# zjqMO!7-%6)KY2=&aR(Q=gA3ikg?k|?xPyW_D7b?{7I#o^2L*Rfs8FRwJw*SKWP{xh zy{C~jy2vnuzW3;RkG}Wldyl^N=zFhS-rGqZgOn&U&kCFDg=n~m6y0PgAai&cnZq)N zWe(Rv^u8n=^pc~<1hXu$&Q6FfifAQGKY2=&nP-Jf_CoajX4>gtfMLd&VUabqLsSen zQ_-1<&Qx@!;s}$>u^gg{&A-_E519V}^FLtz2QmyX$`lK%vc-OgE@`6+b(g5SMBOFo zE>U-hx=YkuqV9vuw9~@?!;CY-B5Q1i=tF@PI_bmNKjiEma`q1`u!_tN)k9QD(t*0t zAnHo$O75tnuB5JH_J^Bkr-vLxCYfWIjSzjryN?Vo%s4YFvc`6ZE_ElDwvwhFdtGYY zrRH5~-lZ#SvKOM!CQ@{hrN9`|RH#y;9-@yX>7bWEMzGsQ?e2X zj%7Bm*Om6VvJLaDwAYpPx^k2$7FcDA{SbZDyw95VS@S+?o_{7H`mA}Mon?u2c0yE+ zXeCWQc}mDE%Pd!^Q4i7QWPYxLUUJC%+yt{MA@g%PA-XD}6`5D{lc$8tt7J}jH`RqR zOgY1pGfa6m^~^hGm~w`x{SbYjnRa>@V3=`cSY(au5M3Q;p_4ua8DWw+mf2u8L|<&A zjV>}27-O0WRch2jG%a&l=CsUdXP9<|=`!;n`jYq8BNUpDj0LyR)T0;`z$WtlTFXUv@GV-PcE%$zZEM%~O7`yu*@y04i16|=u$_E$!j zWR7Jv*bULOjkM84h9O3ora~37uQmHRnb*m@PUdwouPZXaEK97j6QbFOR?_s7r$m`~ z>^W=CS$lr9nRa>@V3=`cSY(au5PdDsLMMF;GQuQtEVIF0h`!#0&tLcX>$@SEYov`X zG7K@w6br0|=o=k4*EhC9^lyO{I_YDO5hj^qnGJSBbiG;Er|2e2fib43P^CsaMDt0^ znKx%XN0A9;Sz?`?5PdVEl{Ee2DN$yg6*k!m(YKmN(M^^DV@y+_N{xDmZb;HWFFA@# zFv}9_?1X3`qLnlmhHzgC?rULzRklL(?Pu(V=*DR(n02FBH`YV+og`*`$E@$zGw(q>V1J6c|Hhr9u^%6`9{n(m@}CjNs4YyK^kF$zF)Q*F=gQ1{h`>v%hEd z_trzSsAjRuJS*s3)O)k%H|xE*n=A$N-aNx1Yix(;mOu-g^f8EiZn4iTb1bvLZiv3$ zNE=;b7-EcRDpaXa57APR4rDILT#~sYb4lis%q5viGH;c6tIS(v-YWA}d)_MZR++cT zyjA9{GH;c6o6Or}-quTwA~J82d7I4JWZow8cA2-!yj|w)GH)MZlqnWiWsCg~EjQCn z4+9J{&MZr;vlF5pM6{BopFAbX%(KEKdm;Lv%pc19q0Ar3{GrSr%KYIBi>$F7qJIyx z&`BSIj4;U@%WSY4qLoJ4=pw@qV@$Ki8rvbdL*^a!yu+S%*z-s2^n~cg`hUD1qSa`Ja6ZGQuQtEVIFGh^kGb=q5`6dsJswWR2|*{Up#rCo+E`^CvQY zBJ(FQe@{?nRg8`g3P;Q-nGmIGS{4ct)Dz4 z%FMIECVL^eyNMLea(9*jV@y+_N{xDmewL(zUUC#M_h<90u*rUi?ooG-x_i{!qwXI2 z-J|Xv``u%|d+c|Q{ni_4ql*kfj55t4Yix(;=Ydw#{X9#7ab{RT-p}_!bZ-;wn0v3e z_l{uhy>l$H$$p4_VZUG4?-%NRF^IZflv!YvE$SiKP`9COL*0hDU#93L%P@BMgoOm0E}%2(-|N zx(C!fpzZ;A56mO)0eKHN$CkV;bzADT1~GSQk~vn`#M}p)G50}r52|}m-GlNTT)^B1 z&HXQP|ErZW848Ru%Q746hUmW=X``Dg>i&C-X)4J3Z+SI&wH7)tx0a`bxixcZt88Jv zhni`phXIBeXNE=A*bdRdG9Q-ta3_7pd|2kgG9R926`2p$L-dHcN7Ox{?vX*%J)-Ur zb&sr|?vecvZ8y_S4+9J{9-`m2(M1Ml{OuUiIOA`f@wYY1`CXC@ddX2_f?1YWXD38E z5v`=@57GaOGQ|Sb5Iw5*QN54qeN^wGdLPyMsNUb}{k`7b>;1jn-{&b&W}X!`*$dHb z6DhjMQecc}DpaXa57A>SbmER4%Tq$;V=^CGVH25;%X~aVH!>fW`S=*q$b4Mp<2C9b z`a=?#e~|fyK}IO!oPStli~SJoHPcQnIf_g$%M$DChUke#{8>EFMTQ~V-4j#Dd_v|E zGM|w7q|7Hfkoly{CuKe<^GTUc%6wAhlRF`LO6F5CpOX2M%%@~NCG#nnPsw~r=2J4C zlDRK)znvZikhw2&e~x7~*bULsjkM8)%%_JKWeS;3SJ@8HA0yQLv70Of#+aspx~T*{#oXqW&Syj%sj9X)08yQ4jIIYN3-p1{q-?;&~*(R+yAL-Zb^_Yl2@=zXr<=jwf~-skFlZk`fl=2>Bry%2A1B1Jb@3XCz$ zBJ1pg`12xKNz+fB5@qIDVUxWO|LZ1FbdzP6ab}SD*K2Ht_@M!rhsr!u=AkkVm3gSl zLuDQ+^H7%CD1}AeGDSAWs*6TL;P@khwD3B-{JZW z*Y`qwFSO$e?fAl3mRM&e#9tKAN}3Eqj55Un)evv3Q4jGKCvl#a^f171h`+Q%nR!;& zWG}?qnrKIDo7y(DZFXy$!ESA9*zIM37CPx;kP#-CW0?(hL;Prkx%J7-pOq7FlN}#8b|na{g4Be)2d|%9&C!Q!-OBQ}q!4+aw+IlB383vn;d0 zZiv64kv6)>FvKWR$b5y&SIB&Y%p+tTA@c~CN60)v<`FWFka@%s>+FPhdqgW~`pHwG z%seY>vKQhq$k`8*wQDlNymRM&e#9tNB8sZ&23^2?%Gc2;k zc8LF7poLEQ7-WP==2&Kf-4K6uBPqJcQecc}DpaXa5AoL|>7bV!MJAYKDa1QVl$mFh zE%Y6w?=eKYO! zFu*Y5%&^EB+aaC~w2-EsJoZf6Gi}fG3Y+YO_|Z+I=q5{nF{Y7uw9KPr9uv`u%wuF8 zlc$8tV-~1VqaNa~OVU9vIf_g&$1)r2hIm&KDZ0rrjPrCkPnX$UYnXkk^Bn6u$9B@k zAR|m7^H`b3$~<;A#E+ACoXq279w+m-VPqaB^EjEuts(REGG8zA^_|Fkz0B@s$nBm) zZuc^ByLUtU4UM$XMTQ|pnPP!ew%8BxFjY@`jDZ_H3& zjA<%VsfG9n9qfhpo1zf!b+!`+Lj0r>W#(C76E!C{q2}anvJ@CY=E)VR)ToDeUy=@b z$x&p2S(aF5C&b?z(MpVNYPD}0%J^5p-PQUUrL?(2a2I^ezzxUU1U56C_s`+)2NvJc2UupQ#31X_@Jip*1Fo+9%U znWxA+Mdm3oPmy`5%u{8aD)ZC~LyR)T0;_DXAL5y2+Ua3{VaAzZku|nM{Ioy|o%Aut z2$RgQ!WR1>etI+QxP#Mk6q#U_CDz#q@iQV?Nz+fB5@qIDVUxWO&o+^wn=A#!m=5u? z>~xl$&a%^4b~?*WXW8kjWj5Fi@wYY7Mi&`|7)AfvDpaXa5AlH{G6!T1$Q&q9#!drv z8rWnn#NTeGx7+FM-DI)T+sBz6fm_+8;GS8NIw#;|Pe22_; z^f16MGT$-F66@@QcrK!iF3irEol}>aVG(uynV9%Fji@_E-8mVC7-O0WYix)3JLSEz zl{Ee2DN$yg6*k!q@pGGL$ByR?V8?UEG5cJz&y{(u%)vklo%A7dQ0Ab_L79Ux2W1ZK zh4{OgNYPD}0%J^5p-PQC^OFro9u;nzKImw zWGOJlG!?4UsE7D@Njm5yN0A9;Sz?`?5dWu$R?_s7r$m`~R@h`O#Q(X86y0PgFvc_$ zs??~5_)wA#ddX2_f?1YWXD7tZk7y-LKY2=&nP-Jf_CoxECQ@{hrN9`|RH#y;9^w}! z>7bV!MJAYKiFI~Dyb#e!nhXW}Jt_EmQt1aql*kfj55Un ztH^x6%%aSq%wjJxi!zHci!zHcKd=_!mkcn>I5RBr%=7IK|6rhnPWq7XK^Y&MM8*eY zd~k!^5dTmkZ6RLrzT|z$`;zx1?@Qi)*!vHA|KTn&3^B?S3#_umeu#ghnRe{`ksL)P zm}QA|c0&Bph*r|{lcz+Pc~;m&=BUh3nWH@nFw8hJ$Q+e9D)XZZ zK}MKlj%7C34e^Oa+UO#~5Ti`7z$#nphxlijX{Uz)h8bsuMb_93@q+7bV!#Skw$ciFki&iy&({#*;4^fAZ? zlOg{33_~G4C38yVl*}oaUy%6)nO~6k1({!v`GpB)Sz?3T5Wl*SHoA~?wXCa0nPP!e zWL_=vi!#3`^NTXSDD#UlzbNyIb1WnCi!!HWPRsm~+Apd7lG-n+{gT=*ng1p8zqHOy zh+h+-_8RlAG5;F#uQC4`^RF@g8uPE&Vn4*c+)O(?3^2?%Gc2;kc8Jf&oM|OZKY2=& znGf-=nEe&AuT^)gx@*;4tL|EL*Q&c#-L>kjU15{G5Wmjs>&(8+?CZ?F&g|>VzRv9H z%)ZX->&%`Fw9rW(gN!iA95QER&dU616DhjMQecc}DpaXa5Am-h>7bV!MJAYKiFI~D z{Ob{|r0HjfQKnd6l`Zx|e6AUpb28@!vFDsU=j=JR%m%w5{*6Z3=puv6Z;Ud<0y4j` z#eRtYTQlwSFu*Y5%&^EB+aZ2^z@FFJ^Ll$;pJx=A*UP+K=Ji|DLwr7oJ?HxvWQ0lP zSZ0IW5dUT)ZFG@gh*4yIQ|32U*y=l9^yA9 z>7bV!GH;w@j^z;l&KCP2UNO63cE#+9*_C0&nPHJNwnO~8ffhRH3-O!u-K6g(eK+a5 zN#9NSZqj#?zMJ&jq;FB*qP|6ai~1G^8DWw+mf2)4#BXjQMK@Urj4@3G=eybYZmx&; zElHg37MZumyhY|MW#(By<}Ldn{{3d!>0y9j#+hM}HMT>1DbPZie)5bm#R6t8nZ0E8 zt!CfaiP^UfGQuQtEMxYqdm(;X6DhjMQecc}D#*Oe?Ay)0-R#@bWEeu-?don{WSyN5 zUv8w0F4QfnTOMVK1yPBnL`xl_%Z zYVK5Xr{`sx11)r-W?jv?nxD_Gh`OJvyI0-4>h4u{uey8H-K*~2N#{p6?GXQEpoPv5zt0)(bH@9e@jhp~-x=?B#`}B8QDlNy zmRM&e#DCStAR|mN$1)r2hWM`=X`_n_LyR)T0;_DXAL0)*(~g-BnE8O2519FYnGcxx zfSC`NxfRh$ntt-g+>*H^^TF*9|8LK0dTV-XdTV-XdLPpJklu&%KBVR$y$_WrGtUZ} z?1lKlO{7Bnks=e!BI}WLc0znRLe_Sge)7oLE;G*xvbOg^{5MUc=q5{nF{Y_drA9r( zf19Ku#DAyfcY1!O=XZK`)Ykbn@%>gjdpbhSA3gu$ZixS{-v8YT z@%kX@|76bpsqwq!_@8C}d6~_S2u%zy!*)pgMGp%h@t2)Uup1Jwk&uXb$%RBb(9RHh zA(1Gt9uf_C)Hcqs5faa8qzk!!<@>)HM%}Z!nGcDkB=VbTA@Q6HDG; zY1ZGY|9SeKHx&|p-HD7tCqp7R$YMx5-#*W8N8Mo&qapEvX6*HX-H>R}+tP-tmJAzs zez@m{dw#f#!`Ijji5CW1=tSKM)xAjFi`2cSiwr}IhD7T#rdVJV=V+~m#EYHb#T_B> z5@&cxntt-w=OuF?@lts&9SMoH7M$f}GG6BFf73*cN=Uq1@5|-Cd?O@M?dVPIg~Z=> zGr?9!yh80O*4Pe-BfLLCPP^=O{q5c#*-9GquaxmhGhU_VRn?H_=wTov{w~l$Crhle z6B4hEXv6$h?}o%{lqfUL3Y+YO#Boh{cbs>} zd3T(5$9Z?0cdz&E^(nf^Qecc}DpaXa4~gz19rTi;$ON-2g~S{B$y1`tJS%Ln7ZS%e zk)oR{1;&`BLX{fzka%N~4tmK^WP(|iSZ60BdLmj$(@&lfQ@Gn6ciZD`d)(~_?)C(C zdxE2A@fw3r^-CF6T4>Yn(3gI97QIWWr=lmLgKWDR?_s7r$m`~R@q`dBu;OpogN0T z%jtIUd!U5h10_zE>GwbhzXwYAJy7BdnPCNfQ>CNfQ={-m9IeO1Y(@&mJrdUAcIWo_Y`A(Vdl=)7X?;K#5 zab{R#4VmZ4JXhwqGS8KHuFP{wl$mFRP4+@!u!$7iWGOJlG!?4UsE5S6l625Zjv|xH zvCIa$A@Prmw9!R|Ax4>EfmOEH4~cg-BlF!d-!1dqGT%MHEK97j6B2oud6{{cd6{{c zd71fXDpav&z8(_iC6Rfa%=2WPC-Xd+=gB-z=6N#Dlle~(t)%HEPl+<~tgy*mNc?jX zDZ0sq#84lDs2@^4q<%>KkoqC@=c_+|HzY2w_XYO8z}^?w`vQAkVDAg2S!9jvkhn0= zLMO5>lzrg{vM-cH(3gdA=B?{5(SwBng0^eN}7K1nEfwPEQG{+ zeE%Nbzvr3ntLS;JJ>J`bJ>F}N_uAvVBTO>KG8@=q*dD|7817+!VaAzZku_w#FVKR_ z_u1op_IO{3DHd2|i~W$esF`+TUNpckGB28CiFI~D;{6fM=65~`zw=2HlXTEajv|xH zvCIa$A#t&tFHX@-mI7m_yI9@D>MmCIfkxWsBEt})Oi`iAc1ZlcKntDpF~|s$%(2V{ zGDjL|qYIfMW{;RXGL6iUHDq2Q^Aeetbka|r5@qIDVUxX(_+T^b^pK;7oDZ4tAzw?L zm3;khAA=$B5!oM^4T($B$hlO`sGg6S_tE8$_}DPxA@OmaKW^4oZ%BNi4RxO!VvOmK z_*9-!NQ`%r4T;O_a9Ixn$oO;)xu2e3mZgxmya^eXZ-&H#_n)!LXEs9OU@J2r@vn`@ z|JR+6nCxdgB(CuF3j1HF@5=3v_^kKkX1x2{N=RHK`}1Z_bs_5u=3K4L&+Zd`cAuE` zZhAf>zSPbXyCHFnXV=*A%jSQ10vR*r%+x~SD}Ahn#I-(OyB!kO4TZ#PhC)buwFjTS zIvNsRi?H|C(y0B~7W*Obb-R7NonD;r>+ay|6PWRJyM28lB<6gc^LftaZ!EAA68|qQF>4 z+-UC`?R}$nH`@C~d*5j98>d*HN-ZS56KKIM-{}vDirR{d%5+G4w;A7mcQGWs7h(SQ z%>162-`fj`o0>>5hG%}(n^+tViJN`Bc_t)o>7bV!MJAYKDI~t%Mi=IN-)`R@WeU4} ze>EhQ%FMHZ>?QMVHSg9G-DD{+#xxbG)ToEVZAm)lB}b77W?5pLoshUaqLnoLQtXDr4;pcXA2`DgoZ$z~@B?S~fiwKT8GhglKiFbFB!1XTJ3S0A91{QD zLMMF;GQwm?tjJiIVgVT|GFJ9O;*Mry+#$oyXA^e}GtLZ)tg#&uemR{(@&lfW#(C7GbDal2#NdD-KXxpDmCgMaetByddX1?iA|q3ectr>R~d$o z^Q%qvLgLp=$oX|Yc}kR-N8PX0{aW1v>K;hZO_l;@n1Og zI>T-~Bp!2)$L8?-@hlT;hQuGt`GfubkYg_-_6m%J#1rN|A^V9zWIWkQntt+>C^L^e zo|N^Z{->Hqg~Wb0vi4U);%PZg%XwPP)Ao4U9#7lj=?!*6;*X8A(M5(KMww!PRkqj< ziT`b;ogM}lW}F!oSz|jS>VX#QT(@)G&UHK2?OeBW-OhD8*X{f#JO4@MpJe_?=AUH# zN#>tq{@*eip&?AL6&n5`M~!-D_{$`o$2!;!4bgaLh&Qqj8WQRnJa6m?4bSQh4SzKh z8lF8(B{Vd(F%ue|)6O#T4=FGf8lIbCB{Vb-hlb~6(D%I2(D2t~=0n4wMJAXH4N32l z-Y30JPKAc&kB5fCy72rk&tKs43zkAdi#=O>e|W(2!_^K&X#&&3UNuY&J`WR#cy?)l)@RH@w@X}V&^y70|3g>8Z zj+Zqu%1&tbn}{KN{+lTlLc_}g@?S3h%Xi2PI&a#G!7DKLiJ|F)kzCCbdR!X|s6 z;T6ra)58G6j5EU`>!IO@9M62+2@UNLt)!9NF1uZJ`xJI;UuBE^&~T*eBV`|H-jU|L zGQ$wn(C{j~uUck<-O$j{NE=!?u=4S$!UgI;nJ*$WM?9>vU8FJR`Y&3v_)uW822 z*Yq&JFyqXy#CmAxv~y>PGV|E4a}&8oHIbs5ECt4xW|1|vL&IwWEp*aHje2PK`y}@L z`(APsnFtMOd!_A_wpZF-X?vyZm9|$}Zdz_y?$L6OmV0!Xe)5zkv%o4_?1zS9WF8~) z7@5b&JVxd*GGEt3iV9Wi_By+DCFw+Nm)tJ7U2?nTSz(jC&~U8&WAz`~O_l;ys3#4=D*4OH<|w?cl@Rq7FlCEH1q~qkl8Ds)B)9|#Qx8fl{oGY^<~z{~^FRH#y;9vV)Ob&9N0eLeM=uQE@~QDh=CWIWG! zp7A_mR>rK1SsAl3%WSY08cu5>MGtm3Z5aKhsXI;GY3fc>ce=XM)t%l=7ImkOGs6<= z?1Y9hB3en)Po5G}EU?NJ`=KG*j2T%o&YWbP6}&&w`?I`1tDRnQ6j67U-Tpttb{tn< zUEdG;m4$gttM71=GZ zP_KGTwlMFEk`faaGjddDlsBb~CT=$)M;jL9@97`U#~03deO~YP=lJL^9=*-Ew>kH= z-4K6!L@POZ8D@fVi1+8QZ~rJ$%(2KiJ0X5{poI!cxX0P<@ea9n$h}j~JM|27(T|=1 zJp=Ls@&ob%@_!Q}6XNISIwy;}pEJZbGq~G1E7aKw@pDtOk*AN55FhNIzyM=RQ(=h> z8X$`CMcu(eBI~kK413*au?X)0y|tVf*mf|wKq&A!OJF4B3C9WRo*NbaIC3#_t* z+{H06bRv845aY}sd$H`rvKQ}%_((Gy6c}KP5>=M5=g4k|zc*rqI(s4hz7%cb>0^XR zW~qhvCDZ7*#F7c*>V@y+Fi47Vd{^1xpKdke^IzK$bI5X({ zu+9%};X97YUm<@*E4dK=JDq=5qRKLx?1uP9q7a{$WDc_?JfHCVqn>}%*^gyI{NwsR zKFKR-d41y<5Gtn+4_x1?wzkIq|k-lFpsowqEpK_kSgcBwj7b*}2%tfEi)-CDu9Tb;Yrxv$2^&`A$Nj5CAIuj>4&&adu=_-)PTyiMnAI&af?o6g(p za@!*7?1cDypoJ{m3{s>-m1Q>B4e@`BXeCE4!%R?SfmOEH5AlC$W}Tf7|5~7hEZq!J z4Dp4CR&w+*9OAdT-|g;qyZhblez#9hW`R|<*bniqH`7iR{fse9g(Wsn5dT(0D>-@@!H(aWrN%mD-(~h)X5W>??7Pgqt4Il*cj>&#?7PffYR2p(vzN?X zGJDDFr3y=I&r04?~PI!#pe0*$eUS==@GQT?{aW&hO~_&Jr8!hWOnPt+>zK zy$mx!nFUta<{-qE-DkNIxn;R!xn;R!xn;TKE%rnFo@UzVqMuRBzQ^o)%)V!n-4Oq7 z3c2sfeOKyI1aBxqIbSiw$st0k%|^UV9b5dYT{ z-IPQ8e!Jdp*Zb{yzi0P5cfWJrZ$|f8J6)Ln1Gyj6Si?>~@a%y!Wu(hC2P-Uv_(NkM{*w`8H=X%e6ygsL;oZXA^uc^&Zl%frSmDBPfapQjWxD82=U*g>7c*>V@y+F zi47Vd{`(jiI_Y7Eab}ojg*tm7evqP#JbjEX$t*S2*ybR_|B$AG0t1XOO@$>kXoUD5 zV`S*0hatw9VV)K0?1lK#DcZ=>#|V?mQe%y64nh=GsIwQMKS|L>o<2sHWR@ChY~$RY zrs<%-0Aoy3VTlbIAvz>RhE94IVw^Gytg^*^h+@sO(?vg{OfknI>+FQ+S%DU^bTdei z5>=MjWH&^IMzoQqj}a!BrN$cD9E2#Irh@_lj4>UeXqXAgEU?NJ`yom+(@q!tj55U> zi>$K~qGX_jEZq!Jq{KWc)Y%JBQ;Ih7^fAIDv(#8)n}ZOg(sWQ@fH9`2u*4>NA$oR- zHuCgg&u827+4g+4J)dpQXWR47?D=Pz5FHlLN{(KJnPiq4b~tRCgAg^Ru|so#0miUH zbA=@~XoToFF*0=0!w}=lFwY8g_CoaB6m8_`V}wa&sj-HA54Z2(EoA9tkRm0jEVIdO zh|&@6ly;}IJEe7|b*6Qub*6Quw>b#W^U`!sV1O~Esj$QbjSxLQMutv$7-E7l3#_um zeu$1}rkyVO8D)w&7FlN}L@j|9vUD>@krGvwsk0ZNBU7}Ir;iaPnWe@W+Z=@Gs5BiE z7(nMyGt9F>oxKpfAVnK_`WRu7S!&qx1@_F?Gh@$;Ju~*q*fXOuqw|H+R9IqzMu?7% zk)e|whM1tt0;_Cs5TX~Q>7c*>W9WR5&KK!?(I&egYK>?mM=!(ZY}MJSvsGuS&er`9 z9n*}?V{{&)^Ozzt%(FtBy%4=PMH_kg7-5oGYOJx%L5Ti5O$Xf}YBRUZ+%|LD%xyEb zP39#nWRZEvAm+ZLM3rSW*$vT4BU;JP%PhZpHZfmW07?lA!?72 zp_3kl7-xogR?z8hebLL^<>l`3@&W^lF-?UfHfV(C6)|)kYrkVBC}Y24?RTuMjvV?s z{QSyZQ*JH9JKuQvPDo%Aro zM2KFKr!PdE{_T9`-w`I64bf}$`MX>6S~Fg2#%m8k^tv=16d0gLi7IBk&dk3UWs12F z<+5}$h-^+aC!1Ri(Fwf_Gl5wrEU?NJdj4NC?R3%4C{rPNy&Ya}hu7QT^>%pu7}Hc( zVuMDA@-Z@W(!&tr%rMUib@oDZVv08M^f7{2C(g0RIy)gcDbPZeZU!l$^CX=o={!m2 zNjgu~d9u!v?SHcUPqzQbI#1Sl@)8^DhNvq-uFLE$v%Adhnq-z5Yix56qBo>5`weEl z!R$ATGlSW0SfS2dh)yy46rHE!=|kr!I!~FUhR#!To^lYPH>T;JzyM=RQ(=h>8X+o} zSunG(#eRrRZDyIx5S`{;r_He#qSM{8y9;;je&%QIy1o0$ab}ng(HTSd{S3dK;rBCj zo!O4x&-8mwC#!5>)?a!5SKj}XecoixHw{n>(O+jc2vKjE4!rBFh3L)ZzuEaWJO5_q z-?AK{v!+AT*Mr$_4YaUAoxKpfEkzr7`WRs{ME=ecy?p_herNl2^>4BpqO*&XsN(tA zo}cacJI0w|9y8uy#ygyUry1`wkXoP4eMutv$ z7-F0m=2@Z6UWm?5(S~Q|dv?BO7kGAoXBXt@V}wcOSj3$#aHk91=|Xq9(48;rW{@H! zs_49Mi~SG{H`7iR{fsij9E+^86QYX(EoA9tkYb45@)j%X!EFT+ewW`R|<*bkAvO+_OebTdei5>=MjWH&_bjc6rDFT+ewW`Q-fISA4F z(&&6&fdO>BPv`q|zE9^RzUd{t=_S7DC9~9U{u1XeaembKQRhdUA9a3ojA<$?u|Xq5 zm&V9or%Ua0shuvh)1`L0)J~VKvc-Og-rr0+UGy``6mu-H&Q6Fv5NIJwH-i)@QDvD; zc0)84(Mpb9hMAzu0;_DXAELi)rkyVO8D)w&7ICM)b*B$Tw30*T2Zx!UjLr|PvW4$- zneTL&?{t~(beZpTS&OW5~A_WiK`1|QDQNe@GeGs8S9)Y%Ksc#1ai^fAg5b1bsXPKd4u=)6Mb z6*{lbd4^qCGV3a{K9!}L!4UnubJOF@hv@2N+8JRIyZpmIh(6sBqEZZQ;v^Vd3mt@GDTQ(-AYvt8J2b~HrS+37kvU6-SmVJ2{= z>+EseYKXop_vI<(SY(}@5PhW@qB%Wt-e0fddL7sIGK`MvbzHx|DqA7C!Lu7YyTP*? zJiFnUXZs<#u^Ic`Xx|&{dt;Fj`fprjlid(iB3jAe8&pP^WES6`vc^t`ZVI%JrH3KL znPEOeH!ooR&F0^{AEH~DX{U>RMww!cMb^<<)mznD&C<;vMM_jzW-~;$rkS7|qOZz- zbs@!GMns% zXd$AN9K8%PL74?s*Q&H7yXPf#T<*QvlF7P2U^I|%^*ceR9R+|-4NXo(Mpb9 zhMAxoqS`YSSY?a-5dCvA?R3%4C{xU_$T~YAx--y1mTm?qQo?`FJAKDH>+FT-8!6hz z)5i#t%u-{G?GP>MT-3R!b5ZA_&PAPzIv1-fv&n9Vz8TR$34E|9^Y|~@3@D* z^F(*IlEZzL2ho3z{(JP_Q=}21@5b=%-ZUK)*km_ED>_zmtms(rY{j$tJiE`c`#ig^ zmtiI-v%o4_?1$)InrWwtenvy|JwJcX&)<9I=PBk`WSyN5tp-}?q?chPD6_z7i2han zU*-Q*{(kxUmgka>3T@lL%JT)^^mTIbp1rvPg=;*%^*ceR9R+|-4Ja?w34Hj zVJ0ZEz$#nphv=uxw9`dDqfAj@i47Vd`dN$&ow(D_-05fT^fPz*nLGW=oqneCXF4C& z`LNE1bv~@~;W0{7S!R>H5Yj+6OE-fQDN$vaO?E@{%ZOHT^fJr@WfoXv zi~SJ&XEW_|F~At^^q=nZpG$1uPLH|MV;MSer^npsv2kW_r^npsu{t_;bnfWf(Ye#l zC{xU_$T~V7*ZH{4$8|og^KqSz>wH}2<2oPL`MA!<_d@hvDcZ=>#|V?mQe%y64np+b zX*wt{z!=k1SYm@lh#E06bkf5R&&h*yUy%7v%A15TO5Sw zH)%R3Fu)ko=={wR8|Zve=aU&a(fOp#C&!s#o)zlsh3J1$w2`Ne5hj_X#v0okglI2K z2L%QwQliQ-o9u?@w-GvjtMj)y|F?%B#+hLr_xfM=`rrK!{a-WfbkWZ!Q_Qi*Iy)iS z544b_n?Z_{sItr^yCHfiq7^$lWrwFmm|`wOzmxsl3U&5E^!pU{{k`n(Wq&XG`$=Z0 zVgB!TLUa%?|Dcl|-05JP8Rl7Ki~SJ&p_z8N=x2;+%>KhN_WXlA{}|Cqj$VeDpv(em zY=`LSKnq#A8N}?T&3@YKr&p-67ZM>w8+rN|VUk&Dtg+2ONc>5f4hjq~#xxa{*q{*- ze;UzBj$VeDpv(d~|5WFn>O4f}AvzDyd5F$KbRMGfkSfb;vKtaHow5Cpcvds*bkWZ! zQ_Qi*Iy)h8XrP5G-3&6$4D+l|XD=k;DcZ=>#|V?mQe%y64niVI(?Nj&#wbx`nL2wR zkLe?Ltm?3u7R{Lxx?fRlY35vPI?(; zf>~;;g~Z{laPJTI{_u5nLLwb#Axk%dn3pb5WtlqWJugiM_Ilm``kq%t z-}B6S-Zlpz@qD@G%ROK2`Et)6W10#}Y|sdaBO+SKVaFpzm|~7a}OBwi3`!S{KA z&PfH9`2u*3$9kT^OpWWL(K?Ub4~Z8w(~k44 zI*)Po7@1>aj*)q>?iYLa=i?#K*3T$YA@PzTrI2`OA0tdMOD!Z`Ci}7(=0l=gwtX%n zUhe(Ny?@0tI$yEG291z7Hb#a{dKf~-u{w^`aqJ3p_Clf~MH_kgsD{KV1HBA0fqT9x zO$P-A7-O0WOKi{xiQ{5q=%j}s)T+KYpAU=2@Z6 zUP!z;MH_kg7-5oGYOJx%K}ftNO$P-A7-O0WOKi{xiOv`qI_Y7Eab}ojg*tm7@!Aw^ z?1seaB3jAeTfNS=dYy0eI^XJb3#_umen|X9GwpQI&nQz=u*+ZA>F zL@POZ8D@eq3#_umen{k->7c*>V@%^td3VaYQ{J6Ubf*(_o~ZLgohRx%QRj&|PtsPiP9C$*#VB%LSeJW1zCI#1GhlFpNKo~-la44w2a#5gm|vqGJ{kmyR$MxH)K zm}HJc*4YV(Hw0S9(#;@6N>o{9liiRwC8Cuay$mx!nFUta<{%{An5KgQ1B@|Eg(Y;p zQD;GCL1#f{L1#f{L1$r>8f)k*=sZ>DsX9;9d8*D+b)Ks8RGp{lJavOcNSqc!=V>}m z(|MZC({!F@&(rLAnmte3Vm~BKZ>F6tbe^vBbe*T`JYDDMI#1Wxt+P8rCp`=?&J6Rc zP-ibB{xU@ydHNY;ia8cpXD1}i(0PW=GjyJz^9-G5=sZK`89L9$K~5^oN)kfobJ#+hNB73%DT#9MT} zMdw?(=x3BE=Fs^Too~^3md>+uo~83FooDGhOXpc-7FcDA{gCKurh@_lj4@4xB{pb; z#9L!z=%j}sbiQ?lc~+>i7ZPtv(MFy=Mwn!l8uomfJ>PE6x7+jW_I$fN-)_&h7b#I? znN4;>qCcXQ9K8%PfzJL#*4YV(vtwlF#GYplA$N8ev(H{*n}d*eN180%3{s>-m1Q>B z4GDkKPQ0^?F8Uc|nhHy7&>pb6m&R=7jgOIqOg)H3+Qlvzc zWj5Iji3=lI$3w2&tM(2e(FVuOV&fykx4(l8qLT*@Yc!5>6*bj+|n(3gx07ZPu zi{@FO&R$5oCq)~1`WRt~ITl%`5fT^2$k0g-LyV*I;(2sltn*@>BPrVHVgR#8N>q^> zksFbFuiSg(-YfTBx%ZASO@$>kXoST3Vr1x~hatu(7anlOLShM z^Aeqx=)6SdB|1lSj_MrMIoiuGlgv_MjcpD>;?guaFD)>D`&{Zi?>G1T=DuI%12P|w z`GCv^WIiDC0htd}S!R>nkQhtRhC7e-Gs+ZmEV2<2AMB)uA;y_ufi<=j}azA;_tF_Gf0sVRhHSrtdE%W5uG0~>mz1; z#H^1@VAe+#SY?a-keFzuoi6$rWr{f#S!X9CJ{o8tOE-fQDN$vaO?E@#V-c<7=w+A* z$}F(T7W*Ob@n+iTqMuQwm}3#&@8iDBq;E6n+f4d4pUBe9AVo@4S!R>nkhn6!_q)>f zyK)IVSL*qso=@ueq@Jl}+A({|?5Q!Psi130*OacSy!%w31?N81!w?gcSzwhd_Cw+FQYw6oLBPOq`eK}cMkrh@_ln0>X`SDSsceg9!IBtG2;iBb&vmdq`ASMsjp zU1={QK9i!2F8V{_v$CIUCC@Xzk1~aGpLOnYb3F6!2D>3KK&lDJ>$P5c1@%eg4 zd?An_7ZPQCWqoBkma8lyQ?|z!^?Y$6B)(++m*l_H84}m(y>^5eYaub~{H)&DRkqj< ziR+q?yRHlGuhW0s6mu-H&Q3^tInY9hD$8uL8xmiMXeCE4!%Q-Z*h3EoxPB#rf4Hi zA0tdMOAR|zw>b!jThnwEC+1DG*CO@$@Qm~Vu{KgP)5_kZ;JKSi{XqnBYOnWe@W+Z=?%*V1&*jc@Zc z-{xyG%(FtBy^vV2%YxiOfdR&tros{%G(zI`7#W6M>Zk>1Qyj$npa(AzV#Im!? z%OP>kXh?iFiygmf$9tW**O_~rx!0L{?R;+uJKrmR?0u!x zzL!Pc_w2B$Z&lx_zEypzc37RpuB%HS@voE2Qe%y6oV(xe_xt^Rzu)io@0;~~v)0U7 zGi$Aro{;##6mu*h^MKh8%!kCkwK5YD>nYl(hQtpuIQK)@AIknv-;ebDsD$@FT4s~o zkoa+gjvwdfWthE?*wDA3ZzE41BTO<&jWz7NVdn?abWmV`F{Y`o#0HI!cqm4OPI?$( zoEhd>p&k-HvBOU$D6_ySTOqM2yD7UVyD7UVySWzoh{*;TRb@>0tBNNgPk57XNGy~^k|*Ekl0FLr>#7Fj4;V8HP+bXAS8Z~ zrh@_lj4@3mB>ugZVJ0ZEz$#nphs1w0(@q!tj55U>i>$K~65BB{bkf5xlh|k5KHK)$ z-o`$^w9hZ?^UDJE`K5h+X`f$KSYm@lNc?Av44w2a#5nf+&l+nX@tD0I^ZR4=ery$c z`+Ir9-^&v_?bv&#AA9diVeg$q?7g!S5|0O3$kNRqW;{N_JS)^g;=f8%S!R>nkofP2 zR&w+*%mlO8@4xN$-#a1E2$<2()zH=03yEK)Xd_P_BTO>KBI`K&M2rlb^f1IYGt9Gs z&L?#KTIa9Z(D`efzt;KdNp${N=dX4CTIa5PcI~s9r8^{koPW~!C!K%N z`6p+ovBowBA@M(HIw&x}7$vGKv&n8q?CIRoxtF7tVJ0ZEz$#nphs1B2X{U>RMww!c zMb_B~iT@3>&`A$Nj5EVLE7aKwiT_K{MxH)Km}Hh3Yix5668mX7=w^^2C93G$*SW9r zDSJNEjy<2U=Tl=$Q(=isc0=NK5v}CtWta)dEMWHU%>I3#g)H3+QlvzcWz7D)*$2(E z(?vg{OfknI>+FQY9|Ai6kfnzq#woLa*?*M%qwLeNPs={tiR{y|Ps=_%6Ov(^Xa1dM zg*tm7`6uh_gyf$FTFBDPAVo@4S!R>nkUYehL!5~@6LTi!Ow5^>Gcjjk&cvLFITLdx z=FGDqTFKGN2$RfGV~y>QJXGhQIuF%(sLn%m9;)+Dormf?ROg{O57imh8Q1A=*vWW5 zqahg$Fvc_$me`;Xl8G1@I_Y7Eab}ojg*tm7nM~0}o<2sHVvfa-Y;vZ_nI>nNoN00< zP9nngT-jIA=8+rN|VUk&Dtg+2O zNIpM}{hx3D=iB4?MM_jzW|Q5J^f&ONzkw%@(C=^H$s>lDpp4EVbRMx2k}ZK2bhdOe zND-YaRhHRA=aCVu1L23C8{j5$!={|)_Jtfqjesw^Jtw% z>pWWLi~Rf|KfmaipY^|JnN9S!>Thi&M=!%nP-X%Bt@>LJLh_h2S@a*H^BA4S%rMUi zb@oH@#m%(S#Q<_ImV2?>i{)M{_u{>f{PPrTLuFT+ewW`R|< zI0(s?r0EFBm&VB8%uAhlsWUHi=B3WOw8k3SIP)@RUgpfp3JfsDG!>TEpb?VoI$z#S z7yZb+T<+y^FPD3{+{@)&A@_<_a+v)JvtMEME6jd{eP3bUS8Ro3M>G053YgoWuR~vl zzK&%!*$v58M(BH`zE}1!5|XbfQlg6Nt7Km#dt3^g$92(<&f|0*r}H>F9w&F4TvlgR zXEsMK!%R?SfmOEH56R=3>A;@H+w*vx$Ll;^=kYp^-=Gnaua1$SlOBc`XNGxnzFOz2 zb-pG|2RdJ)^EG2kQ)PuZdm-7GqK!QL$aTtfR#;+#Mo7LkMutv$7-F0m=2^k)*P8vh zG+DYCq(}+5*U7!E&R$6VMT$1^^fAH|b1bnzBP4S%TFKFiTyBzCYOJx%K}epErh@_l zj4@3GohRr#p%Id=&(KK^LyR-SJS(`%>kmRQpQZzM$-7J5UGnad_Z{Zf^{j`9?F}*p2(Xu}Fz3%WSe6lBaris&}V) zcdB=%dUvXKr+Rl+FT(U#4gyPah*pGE0p$wmAsNGtxM7 zrZZx?Q0>~?_9rZzihv3 zzij^&`yqLDGwpQI&nWgg+kR);@9Yg4A^DCN89M14 zEH&2H<{%^o(sWQ@fH6u`S!R>nko=p7R&w+*%mn3-JSR&xgA{T89Out*{v7AeasFKA z&vpJ>=g)QiT<6bq{#@tJU0{_h_Cs>8nNE5_@;tk~tH@qRzI!Glhdevq`}5mF@`5bg z46?~?NM0CW&V@O8Lvpwjk{7igdy(u#vKQ&Q=$YqLmT~r?-H?2bv+rqy!9>B>&cKf9ozE><`Jynz8d`cD`(t zE%rmQ=y_4D*hM2GFOQL-lOBc`X9j04clL5;FL(As&VI<*4>|iGGd?uR6mu-H&Q3^v zIM70tZU!la~zHp^Q=&3FC_miMH_kg z7-5oGYOJx%K}dciO$P-A7-O0WOKi{x$%z;l_CxZc?)*`A{-`^D)R~XE$45(4S!R>n zko;IgD}MgCpFi&BkLT!RmJ zTOm2U%qF`bd38i9IeHmpf-=rr?abBAT)iKX|Ikc3UGy``6mu-H&Q3^vI?zIvZiX1g z9-p3Pm2D0}vXrKS0t1XOO@$>kXoTcvVr1x~han~?vw+UeY_T7bpKYd{F8Uc|iaB(C zR_AAReop7-bbe0f=X8Ef=jXo|F>}$;ag4tha!|X5gGs+b1^Mys$*$K(A z*=3#OPI@rAJkAXB=q&3j?}y|Un`x&DonIVdnhHy7up5$JifAQAFT+ewW`R|<(0Of| z4hjrV#O!O$zSit(&AxUoBxh5!k*ALlCYfWAbs8agU5pH!^e}|k*O`5t+1HtUo!QqN zgyfggWRd%_9lxya%d^y2V>=|j5@7c*>V@y+Fi47Vdc|(j0o%AroI5W(%LY=*kyfH-^UGy`?G!=B-xIrT%D>3X@ zv1i4e6?<0fS+Qruo)vpm>{&So$(z!2P+$O^H|e~o$}*emhUCo=I&ao_v(B4!-mLRx zoj2>eS?A37;~C{xU_h|XJeepTmJb$&HRFT+ewW&xdF)%n$fki0ET2L%QwQo`)pR;aTV zlJhCDbYsW)aqKuRH!n9YH!t^(&9tNMANBp?7}Hc(Vw2sF{HKUk?D$W;3^U0rHP+bX zASA!mLMJ^8G0qHTe{F?2dm*`yqK!O#j53Aqv#`iIJ0W>{AcM}^b>6P?cAdBDyj|z* zI&ar`yUwrc{JPGs>-@UTua7Vpl6Q2`j~REEafcaqm~n?0cQit>7Q>8M4(Dpl)tsx% zQe%y64np#uTgcMQAVo@4S*DI%?o81}9-VjUyi@0$I`7nZr_MXw?;C*(o%Arw1Z5Uj zWsCigTx_O;0t1XOO@$>k*$v5WMzoTn7oFeK`AwbQ)cH-bzquWf-wL#lrJF&Dl&G@I zCc7bdR~obLlDkXpF1fqp?vlGp?k>5z6G< z-eGj!tMgu+_pZ|j$(0xxvdkvCA^E+CR?PlhFC$Dc#}XSfLUJ`mhEDn!WeT~~Mb_B~$$t&Bkfnzq z#woMF8glo`-7j~)-2L4QQe=jCR@h=cB){KGI|bb3`*PneQAO_ib@oDXEkzr7`WRu7 zS!%3@emuiGt89hjMhth^aF>l9^leN~W&ybkciuP%$p_PPpzlF_4;Cq*??Jf-^*y*B zk`Fc0P8a=*GQ}K=tg{o6KMAyur5oSzCwBaa9e<+pC#&fEiOx-(o9*b_)VVpvG*yUMWBT& z-3&3#4D+l|XFnwWy&1Fr-R%GH`!9#l`O8^!{?hEnbUZeQj-B0*d^|-PdHS%&%WSe6lDiSD7t)erkG=qb#_AX$v_KPx)}_~ z|A~>Ilb(>=i-#@zVAKmwl?)%3gC8{h_XD=k5PSHl5K1ML_=~?tYt^aBLPalM) z&_b3Th8Smtc~+>i7n=TLlikqtrxC5>=w+A*$}F(PHo6bdeTeQux*4QMi7Lx%vKyLW zI%7IxxzO}1|32%Pe|ypWtO?32p!-?6pQZcIG+A^XI!KWcx({6rP4OD?arwA>Bp!%R?S0ehtFk+#S4?D4z~3Jg%B zgwE&be7?@->pVi|5jv01d4$d*bRMDe2%SghJYs`JXljX(L9RuvMXp7zMXp7z#q1Wd zTg*Pv>?6%S((EJ6KC(y&vyU|U$W3-b(@|z0W%f}zkJ5RR&Z8!oW07^teu3F9kb8mL z3*<8Wj5396W{FL9L(>a&zEJjsvPXB)!w}=lFwY8g_CnK(QnZn$j}a!BrN$aNp{X^{ zLY5wMw(4xv**cHTR-LUnk4d5Pm@Wn=Qlg5SzvDL@BlqHF+L3#4Kch@B$08dvLQ|Ve zo6JkRdr5^Qyn9(hD>?cYVUk&Dtg+2OXlhT>L4g6rm_}c_zV;0oq3Pu@GIY|*FcXwR z)3G{^)p4wjV|5&><5(TX>UgDhugucTAVo@{={SAI={ru}aXkz%&J6RcP-j0hWt(Zo zU928l{Y4=(<@!R?33mB^a<4Ckro5iK zUVnRSI&qDi&~%b}oaEifbeY|?ADZ5v?+vnVF!K%lj55U>yP@fnh*om+GK`*6beyul zDqHA!V>9h^q3eyKOmPsJ3TgaauuEYZ&rbF1)DG-_>HuR*Q(=h>8lma57#TY0VF){% zW{1=4aGD)Xv%_h2INc7X+u?LOoNkBH%{<)>r_Zs-Iy<4MJJ3QFo!!GsP-cNuw%89% zf7whsUGy``6m!_~FYWo4_B_L$XV~)$d!EsY&NFnLq4SIy>+FQ4GXpJT>1L23C8{j5 z$!=)siD)H9FT-rHADaHEnRdG9XOt=CSY(}@(DbH23t8OtO}^io#+hNB73%DTroT?n zMxH)Km}C}r`0F*cIS5U?X*wt{z!=k1S)tBeXnJ#sHuCf_!X&fQSYw-m(Darx9TXT~ zjA<$?u|Xp=ofXkajy~M|EO$T4-OqCOv)uhGcmMws+JAiOb$#gZk9VEa<(n+-R*afy zC*3vou1XwHd++L9b-h|=ckO0{fJNdg5TR()q5(RoSR_K7QL9F+8nr^eDg~=Vtq`@i zBHgG^u|kIhGtH!GysP(ivu^jvAJ4}*P2Qi^=SSH;J5IX$q`ObL`{Wn}%2a8v$pOb9 z_NpWqMzHs*?ENZxzslaPviGa({VIE(*+ZHf<4iNh602yQxzACEouzq}=2@C&{bu&9gPn);uSWBFh+>=V+dz zd5-2en&)VqqxovhS8Kl7IbS`+EQ_qL!7hg(Hq}F#9OFzgPmOi9X>$@{=k_s(z0WOB zrb>erdvrtWHNEsR!~`=eu#DzwG+(3n8qM=G&vT#iG|$sKPxCy@^EA)XJWumH&4Ok@ zv!GefENB)q3w4_8&+`?%`Cq%|U*{NSnpHMK>~*@Y(|w)p>x#@% zV~s5iI1aJtBpF7?Q=&qhCOdRO?EFBAEMpWXQ>8(RJ-Q)wK`;FbF+q`eYIv&)ywwHX z>H=?dp|`qlkWr?XWswy&*yS+9iaoe%F^7GM_IbU1UT>e*4>QRO3oNtFHk}Z=D3Bt{ z7zN5yY0yIRBF&36FV?(xhzW|!Q)7)S4mb|6nIsuTm|_-ZpKerdvrtWO}+Fp!~{j=sjK4)j}`<(Urob~&h-Nv0}PeSa{J_Z?Oidhy}VS`-`L+q_Rq{%VP zG;=J4*xQ`-ZO-~Ovu`t7?xmk0CMYsbjdiwZa}r{g^)bjOQ_Ql+3hs27J6+~Zmup_G zdAa80nwM){u6eoUYrcJlPKaF@NRh+dS57m>602;Yd8PZz zC&}PG^X@Z0%OWdmuuC_@-qA~ch+WmkAfrrS{wniVnZL^XRpzfc46%3ikS51C)6B8N z8e1IT3=7V%;0z1Su;2^}B`VZuvO_1tt`4Noyn3B&+MI;gyZRVplmca{A$E<=ukrac zKEGy)Sr%DggIx|otkOf89OFzg#}cb-vd>Y7y*pxnVJ4Yjfo0a&rp-x+UE4>NF`VmK z=epLpu5F-st>(3w*J)m-d7b8Un%8Mwr+J;`b()Lry{NOeM>oXY(@Q@?)M>I4Vt-o; zvG-1dSap;sW?2le_ocAk`|~08fgV=aU>Ch5doKC@gIS#IL;4@m`ml3-cmT6CGd1U` z9fjCOeEt!ie`FY+f5hh>IS#RpCdn{@y*^r^f-`=!$qt$@{pXy_f(GdG|njGWU+rKx* zKI8Mx9EI3Q!~nw~_SqEs`22dGU+?ql+nj{h4SF}|HIgBAqch#)EH`b1*ysHDxySxI z;5fuqeZQIsvCoe&9b#W__Alt&yvio}H~V>Qm%|Xd#oR3g-0PMq4czONJ-Q)wYcKr_ zF+mZ{TWhSb#R115_QfO_M#xj5LY*c%bb|la4=J*YQJ_qf1}*mJhS-;S>1T)uip*1E zjV%s14zVvM$uL5m5*6w+*`X6+w*^vU8KXd%Dh*of(G9U?FZ~QLL6LcCtg*!b$07EW zBpF7?Q=&qhCOdRO?5lwkS;i<(rb>erdvrtWYrXU{!~{j=sj)wm9H8#J-Uv!w7jwRH)NrhfaunGms+77zN5y zY0zSiZis!WmwtwrpvXKm*4W~J;}F|Sl3|2AB`VZuvO_1t?hK^JGDd+iRlMn)-t1T)uip*2P`oG`efa4JRha?$B$Wx+1ohCbULhPPEiY#LkC{v|Di#@s_w$qDy z?F=&+V&7e0nRT{lhuFOp>~XI>?zP9goe;av9{1VfK6~6ZhCS}H$9?v=uYo=8v&Vh* z*zIMCSr%DggIx|o?0Y?=$uZ6}b1bpSCi@(R*!@W|j53Ah{hIgN^L~5YZ_oSf`F(qS ze}G{onPGut*4d^LVtekfmkO~TWEo?cd1|b&6=Dzg{sG@V;QI#(*y90vJgE7g=7X9K zYCfp>V4IT=+wWtLQT90sv41r8&@hu&`;fH{J@%Qk4_W(=wLdIT39*9=O?K#n*u&2G zuyZ_|W1MN`SYnmU5PPIdl?E-G^AYF#kxtuu+kD%6+kD%6d!M5a`=^KjhM8oB1(sQ7 zn>HsQ_TxSV8D)xD7Fl6~T@FL+Cq1OeG0t>|b^P4%bLS|;{yAcRVJ4Yjfo0a&rp-x+ z{j`rkMww!kMON5gm%|Wy)V&{d??>JHQTIOVrJo@tC^AotHMTh5IK+OIB*O@KN>r%R z#2!Dh$Ip96lVhA|=2&8tP4+nov0p?CV2`eIcK7Ip*e`qOXNXB=u-7l`^-FvGa)(Zc z{hvUJEMp<|FV_8wb^l`Bzf4eMo*HXxalmni9VN*yLY@*8Rxo#D?#SG)%>ByTugv|* z+^@|2%G|H&G})mOV*j^?eukK!$UHUH*rv@%i2c7l1{q~4#E!?AW)AOkyvio~c&C4j z7+@Ih@vk#1upDClwoRLp5c{?6uLl`ridhy}VS`<|A$HPBl?JU4`;EK&#$A516Jr0N z{~uc%a2%qLWQ#T@A$nY2i2Pe#^q=|}VuB*`)L6s(Zw;`*2D==FsHcZCImVf0jwM#v zWS^rD{dU9v!%Q;60?VwkO(#T;52VO4Mu9R_8noD>8=_Ns>1T)uip*1EjV%s14pDEC z3?t+zQK3$g9XcU;LLfz!F$$Ea(xAm2-4OjwFZ~QLL6LcCtg*!b$03R($uL5m5*6w+ z*`X7nD3B({INmgxV~JI~X|&H#h~g36G(OBEGkDYZGV5&9<|IUkJ_Z?Oidhy}VS`-` zL-e~nq{%VPG;=Jm$|n09g(w-}PDyu4x>M4flJ1mrr=&Y2-RX%9TI|sc(eL##z%Y}{ zu)s3wY}4i>ME|*uK}MNkmPJvBWBy>~j>NCq)b}%p@}`;LJ~Q z<|jGxlR6$==~Q<*)t#Q~PEYPeGD?n6lJP3*u*0&2`SimOJ)?&-IVM8Xzsx$@v^fdUAM`QEC{xU`$O;?mqV-IzXQs(9&NOo@vC0)8-^Z&l+TuDfU8?$udTPGF2M1 zcE=&2f4ce8&7W@m zbn~a1KfOVVJ-Q*v_R`M~6L`a{H_Up&tT)Vh!>l*Vdc)`T;T@mr9iQtRpF7JUD{QdK zVTk^?hcr3HnP!e9R@r2q;}D&ZB*O@KN@$*;d4_YI;hbkUXU;iu&Y5%0oO9-i%(Kio z+q5|e(ewHkWRxjpsfOtJNi<(D6QUvC{r6Oe{>Nh~)M>IqCq#b|@ZFze8KXcsM8kd_ z_Vcixhada7N`n@AbVKyQUiukgf+F+OSYwL=jzjc6lVlhnPl*b3n(Tz=PaCw@qZ^`; zUiukgf+F+OSYwL=jzjdKBpF7?<1Jp~eP85#U$ns4ISkQQ4{36YGtC@J ztg^{IMyD+%^XXtvdIC* zAsSDTVT3#-D%5GRLnlOk5lE3`i~?nhUl+)LiEZ>W>{bu zd%n`1ue9f+JtyrsnPrRuWvVpTWS`>@y(&qD5%QF<=b6rUrtX=|5S?{^*}U1j*}U1j z*}U1j*}U`RoiFcvdFMOZ`OZ$0L*wjqwrO(`qI3Ef#F}%gImen;Tk~pbUTw{*$C+l1 zr4UU`GQ&cM&K+ilPKaI;NRh?Q=lS_OKcDC4^TsGprb>erdvrro=%t?_CMYt`3eNRf zpTE}Uul4zBeg4`SYix1AaftppNrn;fl&Dar$qt6sEMpWXQ>8(ReU3tOVZ;F5`9kl0q2`5} z7iwPUT`t_k@2l8DnjC&##cAfKvBnk$9Ea%jNivKu#Vm_>>(^_(Ui0;u7inIkd6DKt znipwaG>_&*nipwaq~a{QH}#Mvhvu7#xX+us(VNz=_nW-Yn>637`DV>G zYra|Y&6;o4e2e|xvWorRV*j@sg=jWnfMF(?VSzeLb~p^trS`wn{+HVS(s8D-|E2c7 z)c%*+|5E#3dJ>|yrpRLMt>)f3hqIdgNvOftg)b(-wZ3DMsKQsi*PzbRtwZ$xR zYI|O7&#Q~fQ$zD=&8s!9)_hlz3?t+zQK3$g9XcVpCXgb_7zLd38t1%bjV%t)tR%@W z5~6pz=eynW-R^nq0?Vx9^J{&6tuj}0FI`_J63irBhkrg)Bi$afbIe!+V_JJ$Xu0sMBPJPKf?CkRltR_xkg_kNr7DAw<K7U=Nxf)coK$(`bHB^Mk8wqWMA14@C^1`61{0kaK>h z!U`MgqWR$-(rA8I^TX53q4{CW4{x%MW=*p;z%Y}{u)s3wY|{zRM*?Ybv_te!Gaohc zu_IwAUOAVn5;|7?+YYOJxv0mmV_ zK1qfV@|37hr^ybT5Zw?+k!6emWvVo2v4?Xuyl2CEHoRwJk{K3QW}R&`Z`8a|^G3}Z zHE-0sQS(O48#Qm#yixPUZisH`rJo@tC^AotHMTh5I7FXIl3|2AB`VZuvO_0CtAP|* z#zORYbDuZ&d2^pP_jz-lH}?f|UoiKD9NzN_)6B8NDx2(c6r!6W-2G;Ezj=}w-2G;E zzj>W)+MI-Ft&c%QnPQejR@h*d!w}ulLz)~D6q%>S8e1H29HLv3WEde&i3)WzZ`Hh2 z^NX5a)cm667sr`qjwM#vWS^rDtw#(n%p@~tuCK7cE{7rdQZM}s;hbM8vcNLyY}4i> zL|^V>kWr?XWf9FUx7ec_qT4iY8(^48+~+oX-{wBIHQAvPqGljPmN5#HsnS5RsoCs? z=qtVSGsFZ%=5fxiIOkWK^DEBz73ch_bAHu1zv`S{bW|9EIp>5zhIw zVJ4ZOLY*c%bV9TdNRefX0%bHe8nn>d(EPgQ*E5Wer$mK1nqSxadM8A;2Q+WbG0rq| zEU}7n-hRMwi0(+Dd57j5ns;d4p?Qbq9h!G&-l5sjY-zSMTbeD+mS#({rP^J0_c!hR%{oo&{msJ=eXAF9-x_9;85US( z9dqC61pnkgiY#LkC{v|Di#@s_x>NJcetdVQ@9y;7oxZ!%ci;Biw|)2RAtop?PmMLU zIN&%$f0rb~2zg3WsMBPJPKdSwDYA?+jrZH~ep{<-;{CRcLUdPz``+cgce(Ff?t7Q} z-sQe`x$j-uv^fdUclsD)i~?nEw_NqA75A5>;`~1K@Kd{da z?DGTrJYb&(?DK$q9++a5MON5gm%|V}*h88e<4iNh602;o&ryi>Bb;g9nf9G&e-`K1 zZ_o5{X{o5LCjkd-= zO)|p*%dE2U2W%&w&(K#<1rU=+SzDN5QWRxk~_t8b{cc_1;|8w8}-1k5C{m*^>bKn2m_dj=@pYL)QqF>Z-u3v0n z-7l=`I#)Nt2zg3WsMBPJPKbUPNRefX0%fW+Xt75(ME|Fk{t*33CPYX6el)-^lgzNd zGV5&9<|IVF>SK^mrkG`s6*k!AFhu{ihcr3HnP!e9R@r2qqY(YShyjL~WQGNnLv-wH z$B+HF9-@C8WhzAfmL|t>h<>f}>-`X&jF6{9g*wd;{bm@=-)R0u^Eb)8-_^d-@n;lqqII{I@5W!J6N;#{XU-?td>4 z|7~l2+nUE)^LT3>Z_VSadAv1`U!*~cJ)Gkd=QzbVPH~P?oZ}SdI7Ram%~Lc_(L6=- z6wO}E-YnxxGshBZY;nMGh(94oCd7Y7>v!g!qI|?D2a==Bcs9 z76%-M_W| z9EJFk&8ISGq%=|*smDIkNNJ=rQk@WgN+3m+F$$Ea(m?YmnorSus&{y*cX+CIc&hh# z>I@4khxpU{`LxIWTxXkhh^PITe(cYa5dZx?1{r0FSr%DggIx|o{OLWU$uZ6}b1bpS zCi@(R_%o82dxp7Zn0tn~XPA42xo4PrhPh`Pg?N9&0K-g%_#X_0_%r?dOg}%<&(EA; zfn~hSGri3-z0GOf<}`0}nzuR4+nnZYPV+XW+2b^OoMw;H>~Wes2JA7QIiNY9IiNY9 zIiNYP&NgjMLi`W=7-WXF1EWoaI^0@+@b0ma{y|S)NtJ z@99}B_UMLqrk8$(n4ri!HP+bTfa4JVuSqhDkf%h2I!$)yg!q38q{uQxfihJZwAiB? z;(ydjKSNAVWS$ypY;nMGhz};oFhZUZ6}-iuw;1#mgWV8+b}yRG)_nE^MKqtS`Rp~k z)3d$Pv%T+gQe+vUK$#_0*<_#N5I;Rh278~L5Am!$v-Zr|Gwc1I+e4Zh<4iLb;(xq| z**`Y>$7cW7>=|ayFnfmCGt8dhd}lb{88w{mj4j%ngm|uxK}MNk7R{VyPBW*O(|n%h z^E98Q`Me2cSYVlTwrO(`;?M8HouBW{&v)nNyYus_G-$C$H^g7iOFu(QqWJ>N7ihjf z^97nO(0qaBkmk@}i2wH-<4iNh602;o&ryi~kB9+=nPi=9wEko<#D|?_*qRrvh4}wW zl3|2AB`VZI{7=pP=}L%?q{%VPH1-`?LgPj5_9DF(9ftUeXE_e>KU-iK`;PkTe_8hu z_k2k=#9z7>;$yyhna^Lgi2k21aT4M$_w#s~9M+86YkUshkFT=HK1U(`7g31+@5c>kqO7-yO}mRMyo#LpR~g>#(a9IviWr^ybT5T6Rz zV@i8UdrJFU?Q^xy)jn7IT=K_{;r$`!7kkpe`7EG3^75Gd1|b&O`DSt zFZGdSi~?osU2?~gJHDxkzrWe{Z}$D0egBq8W~fl7$qtP(k9(_8x(WRxjpagMh-$6KB0t@|8>_}h|X7$J|jw=L43g}JvKhj>}9 ztXI}6J5RZcUfEpPT-jV%@3M#ihS9rB?=rp1%w1;gvOT&Xe!02J&0TKp@=0b`V3{U6 zbVB@!9@6BPz}yw)uBc<~3UgN+hWK1BdUJYndUNLH%+2Y|t+P#=lMw%#J_Z?Oidhy} zVS`MhyjL~q(p@}_I{VW-_;56YXX|rXkIghyIoVJ zism(%*Jxg&S<$R$Rz}F9S<$R$Rx~TS9ESM2dq|UGoN4B$vBnk$9EbR|Nit|&t9f0D zEY5OWfihJZwAiB?;)}iX<9>_ow^*V=ohHt*=q&Fs_a1Za8DfGW^VC>livvzV{BQdh zWQ+o3sx)Y^&vA&q*W7!vn0v3gy;twO%dE3aJH)F2XQ(>E`@F~d(&QMY$O6{9&zkq` z&q#}cb-vd>Y7e;`SQ5%QF%P^XFJ2Q-(QV=0B^lIBv8d1|b) zO`DSt|6m`3j8dRXl?E;B{lVi9|B$^ulwpKC_Wn?XIvebA7~&u9A&tF1Z0`?GGmpJL zyv7y>Xx8jqvv&_A=C{x&fxk`f;dmM%M$0G(9W|A2eSjOHTxA({G z{Rw~nguj2n-#^(ynjt1AGEa>)wlP-^q{uPOH0J8s^>y^>=02tODZNjb`;@s)nfufn zORTa*o0Aa#bRUC^GQ})a%zfJ2rw=#|@y{g5FoLC1U@tYzt z*!w1X-(>HbD%krbd*8H&xzCyVoHKsT+~>@F&fMqBeQpJFpWEdy#8-PrlVgGz7FcGT z9XcWY`9KPDpC4zMIhI&ulLL-J{0n_#8N=Kc=Bc6gg>BlLg!s+oZZ>zbxtj~<-K=-B z-pyN>yV=~DxwSz?nPQej8noEQzPFgW#oR6CZZUU@xm(QLV(u1mx9rgk@mo{a_g4Gf zYTsMSR55p}xm(TMYVM1@^fSyPGc2&oIy-bid_ADKuDPzcuDL!(oeg$54Dm1ZkY)bTs&G})mO;;lf6EZ(W*om!eL&6Z|sivx~B{2NI$zu`{b zaHnsSsnVdu9^DZCW-t8=G06-I)M>IqC&a(iLz*1+{+7MJW$$m<`&;(@)+YNLh4^N~ z03+lnQ9*N4b90x&5WmyjciQ_-d*3<1Oo)HmXW!QOw$9(_{GHC<4Ks=F|89Y0*4d`b zNr-RtF~}%W%(BP|8|-oz;&=6sCWk%mDl(78cQn4E@g0rtXnaTG?hNj6w|m^}9(Px8 zkGtLD?j1TIz8y%BrNtiI5dZsL`Wa$^BJ#J}6eAfps0Q>8(RJv8styjSyH z&3iTPb~j?2-`D*90K-h8`TYf!X|h8n z#P^(gFNNmbIGTH!do|YB;(+52|3Q)rBjhPjp-z(>G#}7>AVroj3Y4kRz&Rgq&Ig?H zLFatXIUjV+2c7dl=X}sPA9T(K*V(4cNr>-j?&omM{b}Z@vBnk$9EbQnCdn|u6tgU{ z!Unq>hWJB0q|tmx^C8WL=2&8tP4+no@gGJEFw7(~EU?Tv+q5|e@dM{PaQ6duKXCVh zGVXrh?guUQ=!W>inh$F}tog9!!ZKpeA8G!mM1^{Yw^!I;m%|YMrykPe7-yO}YOG=Zf9izzj|1j@Z0^VAer)c? z=6<}yDx2(c6yiTgl3|1?W?5u~4R$#U@lFqEa%grmJ98|d+0pFma}?tL95KK!lgzMy zJNJaftuS-GAopKN}%Wi3)Wzf2R4fPKf_JkRr<%18T6osQh; z$lD*SvrU_m5dT#lgN!o8EQ_qL!ET8EzaG-$7-yO}mRMzzeU3u>I7x;P@|37hr^ybT z5dYUeiY#LkC{v|Di#@s_{%^hXQ=yK|zv=v2C&Ygp(D}8_ug55$bK=}5havtOYkxDq z2vhj(H_rW=HMY_CclZ1Eeul|2OBHwf_bu8X{vY=Fk2FI}vL6y*i~?niJ@#3H7JGC<;y?A$&kz$7nP-`Gw&{e#Zv|3l{?-@;G<(wIu(rqA9&3AQtg*!b z$070CNivKu#Vm`gu)!{eA@TSgG#{_|_;IG0V~JHZ+2<%EPSHF?^Aycf@|37hr^ybT zkmwDh$TCKOGF3EtHG4ICHJ^|~^9h?4lXsE^aPv zE)g-nFq6!%z%uJ>)8-^3ez%V-V|b(A^+rjvNwZ0_NwZ0_NwZHh`@}&;G5bWbPpo49 zC$`w58xp_QOFu(QP(<_h>NMHmFeLtS4{36YGtC@Jtg^`g$05;|#NK_QOi`waz5DFl zw?{W5o@DPQ+51VuOfo}-6*kyK?^L~0^-k40RqxbU^iI_~)xM|hWA4f3o^0;P=ALZs z$>yHCh~AU!`(*n**}f_JrUn=$PYH7=bEysNn>q}Mr}U5}$2il>vBWBy>|^hz+WV;) zM$mk!=2P9}sdbv{&wi z+dF*}62BiYz%Y|+gv8UepWb4RZb&?%mwtxu-7{ubU>WD@A0bZ(=kBlb*ylSq_a6jO zWErDCnJNuh?9mO0XZF(15EB%cr^Xsv9B>>GrzOcSLY@+ftl%D}?Q$3r13je4G0rra z1DXSx1DXSx1Db!R`G=Z+sQHKMY}4i>B>qbugN#z3OqB*L_UMMhvwG=g2y35ZZN}P+ zwHa$OQ_Ql+3LETl7!v=rhcr3HnP!e9R@r2qqmcM-5d#b}$qWlDv(7ecPD0|3`WR%C zDP~z@g$;H&42i)W(k$TTXZ!itetve2ai*DLiB&e)=O`qe6EVOrlgzNdGV5&9<|HIe z?_-cryyfZM@^o)`y0<*tTb{0Yx@J~0tC`izYGyUFnpw@PW>zz+nbmx*=5sZltNGk1 zW?5u~4R$#Ui9hZkO^$JZ>5%QF%P^ZZbosf7zAVroj z3Y4kRpv4~DkQnNvpTm&&?>(f+G0rq|EV0Ta`y7SD|A-i1n8}d%6Mz2`fB%y_B`VZu zvV;C`4{7v=^@pdKr^Xsv9B>>GFHDkQ1kD#}zEJapnlIFRq2>!aA@M&0DYA@FpiGqp zE%xY!#Gm%k&kz$7nP-`GwrO(`5+i*KGRhRQEV9BzNW7>{lN~xC@!~*=EMpWXQ>8(R zJ-Q+BXT9_@!~{j=sj>GFY~r9^R_SZ zwlDLxFY~r9^R_SZwlDLxFWaRX5`W%HKSNAVMDx!z|6KFWw`p?{5--<$x#r6?U#|Ib z&6jJwT=V5E_Rt*H9M>Gz9M>G5p+cP|_8vbBiNEL}jk&*=#N1yju*^E!w6XX9PLXAd zY35jBl}+|J3W--l3^0u5D>PrRz%rVz(0oOklaQF`V~|m%m}QX_+-G8+qmcN^hyjL~ zWQGOY=P%voFL&sK#4FwVmG1pY_j#qcSC&Fz(%j@S>ul5JBqUzd#~|+Wssd%IG_d!p z_UMMhnVM(X`%HVEsd=Wo&(u6q^GwY%?R{n^B+d$?$f9|c=2@C&X`ZEdmgZTSXKCg& z^Zg8=nJ>{~2d%TU&Q6g<>ujyF%T&=iTkGsSx*>6n);U_|3^75Gd1|b&#R115@oIN| zwL8ChlqqIeWQ7fOISh%Z9@69(XPP;dSY?xajzZ$xhyjL~WQGNnS!bIzCn52gJ_Z?O zidhy}VS`-`L*l$1(&QLtnmLwOWs`l5LZT2cz%Y}{P@ztf9XcWL+CYjdV-zS;r9q25 zx*_q`z4SB01V!elvBnk$9EZf~l4KYmPl*b3n(WXCiRnO!EMvISv^!0^)3iHHyVJBg zO>3U7dA{cPn&)etuX(=a`I_fzp09bn<^`G;XkMUsf#wAT%4lA&#uf)5aiR4WT7RMS z7g~Rz^%q)Sw7zJ4(fXqGMeB>!7ppXAg~aOz8D)xD7DM79y^HiN(z{6SBE5_BF4ntP z?_#}+^)5aRiJ1*{ISh$QdPtLF9B**R9L{^mYDm1npKo~VPjB&teU3unjS&M3Gsz4K zEVIrwZB9a>)W;yBOfkzMD-&Ubc z6L0;tPDqpk8zFJo602;o&rwKR?(diT`{n+AMZ^HZOftg)%dE3ao0E{3>tm2nrkG`s z6*k!AFeLt_hcr3HnP!e9R@r2qqmX!e!~nxgGQ$GPtcS#v)?I1cmDXKp-IdnOdz1MV zdvrtM9li836cSgZLgJm?=$#ox$m5OPS)oo7Z}iSiNGt@*FC2%&)z(~X&DGXiZOzrz zTy4$O)?97P)z(~X&AY65mo@LoGDd+iRT{L|qZ<;}^wQ4|6BL=J#u{53a2yhqB!i4H z#VqdnZtLD{=G|tlHFIr-5%QF%u)+qr9EQYoJ*3Go9ukXvXe}Ov#CswJ7^clhNc^qu z|27*E@Adh6wco4#UhVfTvcd+tbVH)rOFu(QP-LDOYix1AaY($+-{0r&?_XjyBtB4~ zPLmxvA+Z!lk;7S+rkTT8(RJ-Q*W+)F=0Oi*N=8f$EEz;Q@?JV}NT@|37hr^ybTkoZI(h4=Y{_xXhP z`GoiRg!lPm4{36YGtC@Jtg^{IM{dEb+&195)z;4V~|m%m}QX_HrVAb zBtG3knjGUyGshCEY_iW$NPH$@fMF(?VS#1V*{01&NUZcR$S70Hvd9V>>~a_qpY5Ta zAtorYfaYg4KdbrKHk#LKUaxumD4N%6Uaxum3YypN(G7_kdeOW=^9IcuG;f%v#u{53 za2yhiBpF7?Q=&p0&4zO}ob$#W(&QLtnmLwOWs`l5LgJ=~0W@#Yyh-yW&6_lDYO+Ho zBt92Nk!6emWvVo2u}3!~R(t7ZhzW|!Q)7)S4mb{p&nL++LY@*8>NMG*6B1ttq{uQx zfimv&g*CP~;5a01PLg31b2pp2xk`f;dvrr$t(Sg=n4ri!HP+as%}Gey(#Ig0w@fk1 zA}eU#;yrKip0|3>TkU=82zg3WsIw6gUo^9BW_^HRCYfP@Wt!~J35hQSQe+vUz#Pu^ zCFlFn76%-M#Fvu{;(T8=_vJEG8noD>8xptm(vS7GS$~`Lw^`q`zL~-L<`nMNTx5j} zb~y}*uk?^6$2ikC(^r;QWs`l5LgK3t0}M0C3=1LgwLS(JNMG*6B6GDq{uQxfihJZwAiB?65s5lpCKkFGEa>) zwm9H8B)*j-!w7jwRH)NrhfYXr22x}hqd=J|4O;Bc4T(E@>1T)uip*1EjV%s14vB9k z$uL5m5|xnnyDAM@?9mO0tzP;WVuB*`)bP97^1IsdyV~-*y36nCF2Ae0{I2fuySmHo z>Mp;lyH?m>m&1_wP7j*j8D^3h7FcGTZQ7iK#NB-i;=8+jcen5E_TAmS+xFeI@3u#o zVwOc#*kG5#kofx^(&QLtnmLwOWs`l5LgF7H1{h|N85US(oo(8jgv3343^K|Tvn;a0 z2D==F#7+-sa*X2*cf8@waY%f3nRT|&z1RACt-sg$d#%6M`unWE&wJfBOrBZH-RF08 z-zNKL?e;OqXh?j|pZ7n;-|s&NiSOqaXPP;dSjGD9TmSu|kl2eDz&?AE%&@>R>ul5J zBqV;&#~`CjG0P$=Y_Q8=NIcL(njGUyGshCEY_iW$NIV!Zz%Y}{u)s3wY}4i>B=-9l zWRxjpS!9I`b~y}*f9xSmj&Y`$V~JHZL*gNC`jGz{c&I|1COdRO;)j70S;i<(#`+&x z|3mA4xX)2Y97GH-%p@}`u*^E!v^fchhx^ccSo2}chczFr(xAm2-H>=h^AXKQG#}A? zMDr2NM>HSNd_?mR%||qUr1_&kMww!kMON5gm&1@~_mC#XIMd9r#44NYa}*N)6fwXs zlgzNdGV5&9<|HJ3+{YlJOfkzMD{QdKVMzR>hcr3HnP!e9R@r2qqmbxC3^2?jGc2&o zI@`2435kF1W03#PrTxddKiB^se^kqRwBE1Zb1*FSejBFu@*al8!DMg7`{X?w-or2) z42!8#CaYFPlY`Nb@jhj8Fgdd7&|=l-l&Mp#I%Vl#)rrNSmAx50HKh0IsT?2*|cvlqZT7O^60|1B7S9}y%li7CvYfhDZU+E?vxBZx6fActwpVFAk+ z$lBLbcrl7`q*1^O=COzsS-UD2fgcehFo`M5qJbr>%G%fMa3hE@OdyA8%wYk`7|7Z; zRCqCpaimee4Cb+j6W$kt{x6|i#`rJ;R+v#&VeQu}E?ew{w%fdNlalD z4J=_**1pU7cUk{l47{WFct`K?j^3-Gg)WAohzTFUh$Dj{DyXB4o+ux%!G!>#NFs|8 zs%WBvz9=7bz=IHCNFk3hYG|R0p(r03fgcehFo`M5qJbr>iej_FjUdJ_fgGkWhXpKS zAj*eTcrl7`q*1^O=Fvt^lpSnvA%G~7$fATQ$lQU<9mrfm<{C2Bgb_yuMO07+nQO?j zlW8Z@PNtnqJDGMe?PS`?v^UW~Uz8mk@F0X3Qplr>8d~ULD9TPIdS%-WIXRz`^Eo-6GX^r9WID-o)&%GIu6(=M2c)narKZ+_{aOC?htw z5I_`3WKlvDO?1!~WfuoL2qA_P@+hN*7P=UUva1On!iXb-A}Xk(jh-mG+2BF|Q6!N? z2~{-FL0=S?10IABLkfA6Q9}z|3`N=9gb!iFk--#Z(E$I=?9MyggLk?I?{p8|=^kU? zznMMwZ)Okvo7rOy3s}ZLls#2=F^X}dQNRr5v4|B>+%~unKom)2Q9>0>bkG;&V-9!_ zLJTS7QAQ0dbVb=qFakd!NMI6Em_-9iSQTY&JKP9j3=_zK%)QCno6Nn*+3VD=KLknFDMcK!M4`IZSK@k;j zrhPcmKAg$RnY^6I%bC2K$;+9%oXIgxt$lQ<2{m9&J0m~SOvcC#1Mlp^w3Yft>7O^6VPcQ;MB1m8oB~;Nw z2YpcvaKM8QVn`v6GHPg{i=ikVH{nAVab!?L1r01=Rg?{OctGX`GB=R9ArCS)khy`( z4PB7wC(}=+KMXScWctbUS5QYAJyAYkg9`yfkwg|HRMA8SeNhf{z=KhYgZFeG@9Dr9 z%!BuIAn$3TU<71tBy%H~8_C=_jX5k}83R!QD!d3Ijtq*ZppGT1igJ)0ZUixg6bfMP zgQz>Gjh-k6+u#CwAI#ndv-iPSlu$(z9rQ&x!~ym`WEA7bpa}Lpgv>+Q=!p^}Ge~AI zfGEfe<}eM;6I{SD2BI9wc@8D>P%;lC^UyTNJe15s$vl+IL&-dh%)`h$jLgHxJdDi4 zvM7Pf!^k|0%)`h$oXo??JenMaU$1er&Wc?6k9ka+}|M@)mvBNnkD%8`N*_z^(@lbFIR8d$=r zD5G|GFp4-b;2n)tz=KD5#76UaOv zixR46qJzFDQ3pIAGfHNZ%qW>rGNWWh$&8YDqF@AmM34ZPCz5$0nJ1EYBAF+Wc@mi? zc|qn$WS&IkNo1Zx=1F9pMCM6kZYFaxnVZSnOy*`XH&0>;vuKF&X&=IfBZDF;sH2UZ zC@0(CLI6=DkwpnrG||C8lr1KF2qTURnA_49CFXz!A;geE9%a$a7z+g84A zTlutG687DJdzzpU=W}M73$vl(HGs!%Y%rnV6lgu;8 zJaZNeEMZlYv+Qsq2r|zi^DO#2i$2ey&$C+SVkpYlCVU|CY%ALIE?F$0F$SeEK}!g#e;Rg3R;D zJfF<-$vmIT^U1t`%nQi8fXoZXynxIL@+hN*7P=UUa-j(y!iXb-A}Xk(jh-kIHnREE-tCswfxR;YJW+m_QEGm=om^_PT`ZOUS;2>`TZ_ zk)84&1m-SfpG(>2QuettjRIyck43DAa+zQRengPKB&INn29~fY%H?*r5yTiKki#_Q zuz+O@L`kdgVie;@qktLAV-YK&d`2(=KO#tA5>uE(14~#H=KD5#_Uj5%>{7 z0+X1+EE-r6<#RrS5l03^R8U77Jy9lYa3O#wlE|WjDw^n^FUsc~@F0X3Qplr>8d~UL zD9RU1_z*@M85B`L9c}bPx!ML70*E4sEJ~=Ni4OXrWSPs>&_WkOQLZuJLl|*nP(%fF zw9ymgi#E6rKom)2Q9>0>bkG;&S_eD`A%+z4D5HiJx)_R*GvPxRd>wLp9ddjf__tU} zj;}+GuS0HClrP!gMi66|Kn~NG!vdBu5ar7%ycoqe(kNgC^Jt?d%2#Y~A%G~7$fATQ zn&_Y}O5OnvLWm)SJj$q{g)WAoeAR>xVZ@O^5f#+YMo*Nl+2BF|Q6!N?2~{-FL0^>X z9Pl877&y~)oas8wbRB29ZV@Y@6a*viBZ34bF@;$)KxTo=>&d*H%8nRk+T=Om^uizYhgi&A#LgAig!A&)X@AhWz8%3Yl6t`YbVK>}pn zMdn>(-qiq^caeEFnRknc{iDNlX*9pcawQHnRjp=)HFn^y7E(8!o5?Pc`MH3wiM446LMHq2pP(%fFv_aS&`U%J*z=A%G~7$YL7o{XO>n z9(#XpAj-q+{V=DKuVeF9z5}3pkX3;#_g0nusS)Z7}Jji^4%qImSAoEEwpG;s9WIjpelMO6^%m$eaH+X*yG8<$z$ZYWb z8oa*-@2|o8Yw-SlYQl#w;>e(g3hHR1C(6%ka3O#wlE|WjDw^n^FUrpy@F0X3Qplr> z8d~ULC`!{r5M!9YiYQNU)~7h@Q=Ijw2srCgob@Tr`qV5q>re(g3hHR1C(42iE(8!o5?Pc`MH3zLMfs%z9)u7>3VD=8 z`PDemC}0NjSj37b&j?1~M+6B>VhXcpUuE(14~#HW!Vllf*8XDa+t;(7Qoq;Ir|HItzPgUj5zpOy--92^vS{70+Zm3UC#J-8(at=iX^fqp^7Ft=!^0X2RsNN zh7|HBqlOl`7>e>w6F!6yM+QYyP)8d*QC4hlA%G~7$fATQn&_Y}%D)`&AcS$GQ4r;2 z6<&;j+Lx()h1yrBeTCXrVn`v6GHPg{i=ikz6F!6yM+Q@({5y#(N~ofV4*H_J>VO9! z#E?QBWz^6@7ei5AGvPxRab!?L1$DI16J^x~7XpYPi7ZN}qKOXrqP*^a2O-3eLLM`i z$0GRpzrol44Zi+w_`%oz4Zi+w@b!O#^Sv>P29~fY%75%|BZx6fActwpVFAk+h|*W# z#VE#+MgcRJ$0All`LAFEengPKB&INn29~fY%Kz+eBZx6fActwpVFAk+i1MZiFGdkZ z21Qg*M;kp+1~#}5Kom)2Q9>1D4#*skxt+}IWNs&O`#91lU`gdVO3PI!;K)uFo7JV zF^2_oF%8d~ULDC!O-d}yMBzNl*)VEr1_uVMWf)~{jx8rH92{TkM< zVf`A`+gWdCy*-RLGAN>gI@;)ox}yy)1P}%9a7W(Zj=aMid51gl4tHF}K-8U7crl7` zq*1^O=COzsQ9mLWfgkMUNMI6EsG^CEs2`oi9N6Qd%NU5dRt0;k9mP1(V2`ykn8za6 zLlKO?j|dWv-Hz!FwPRUPmkgcwrDql_9_=wc|UX2ORs;>e(g3hHR1C#r6P3qg!w z0y#`$4hvYuKvYA87o#B4n8Xz5)1Xgd39F)-cDON*MXZQw2}a;Y1PQR-V!g%sohL-y zg*Cg-+b;CB3%%`1Z@bdlt^q`mL>47ccS|9UGHPg{i=n746F!6y2m83#$HhLb29~fY z>h5;1=k7s_fgX0xVH$H-z%mA+?xDg9?)T(=Pww{|#W>O^Ugb_yuMO08n8$D6?w!wt}qDUf(5~^sT zgTAO92Rz_R9?s<9OdihU;Y=RRv>P>S47=MFakfw+=tA4a+t;(7O;$gsQXg0Zv+WU zVhXcpU4j}6QvJN2Y0J07s z>j1J2AnO3K4j}8}WPRL=QH&#v0%kCeMXZRrK`;V8BH+9mc!wK!hZ}f@8=Bx9Zs?2Z zcfbQO{bc&d^poi)(@&(L zo*?H5k{Kj37)26Ulu$(z9rQ&#)Bz7dh#`eM%BZ1*E{38WX2ORs;>e(g3hHR1C+gug zxDY@TNn}w%6-{)|7d7MnX9|sC9BC9VBkB><9T`Ikd6ZE@3tbFF9W~)Y7;$7!L~JH9F-#zbY0O~(WFAH4(PSP?=FwyxP3AFCB#}i4RZxG-G6tfCsSi^hranx4 zm>$AKR8U77JyDOf!G!>#AoEx_M3F=mB~;Nw2YpdbbHIZTVn`v6GHPg{i=n9e`xkZGhcM#Epoj|U zXrm|U={C3!0PpE^-qY#4r_*^)r}Lgp=RKXijDe_UsPJMG<4B``8O&o5E23@{khzu2 ztx+VAMF~|j(LrC-xC0)95JL)ilu<(qT?|D%(}WKZBru67%%TA@&m{9~=FVpB>=LSA zzq6S;o4JGo?3V~3h7{N@QAQ0duwP;*>NzHS2qTURim0HDHhQ9-Yl8~`M3F=mB~;Nw z2Ype`bHIZTVn`v6GHPg{D{7K=m>hv0oHxmtlAI~Yd6S&?{GO;6*x*6{Q6!N?33DLp zf)!COB(z9<0p zzKFdqV(*K{yr_yMI_Qgfu>&525JL)ilu<(qT~RM#{1V15Vf+%tFJb(W_s55#rcC${ zMjROwQ9&JTQ7`2jmvW9vImcz3<1)^1*(k=5MgcRJ2lbcrM7`Vw7Xlc=1ag?h9LT(! z%*)A4lbI$nO=g#kzmRjj)zgCZ)Zqm7=Z zpXK^luAj5Pg#e;RB8w8LXrhC@sFMzO5JC(o6`g*?irp@lAnqF!UdhcL*zhIe=k@9-Ml z;WfO&Yj}s(@D9JoJN)8;sMj)gEpyj0cP(?*GM8g6=LYXLHzw+r{Gxt2jtq*Teq}<` zJbUEXBhPrA@jT=C3hHR1C+b&iaDkk!lJiy8eKm(^%wYk`7>N2c6<&;D9BC9VgLy1s zMbzsABk&`FB(kDj&-nF>U(fgr?0W#qHd#p8}-|$-$wm5>bFt9jrwiW&rm-@{kNOw zi25DQ^c~Lh9nN%54J}dc&5HV6&U2p^oc}(~e;?<+kJ|gFy^q@a$h&V<)LA>`M7^K7 z`>DI1y88#BK9Cai!6{LzWLC+1XaaeZ!TN_;_plow#6+D7iuwrIk1+ShB34BGzQBb5 zqDYGRs0uIG@6mCv-=hVv_R%`%>(QR5HO^UMZLKfr4;=7-y?(%6KNyPoLlZuP5l2SU zAJOkTHS^RwmcumWuz+O@MCEVlYJCKLQGdd^Cjy|iC+O{oEJ~<~`Xt#;lKmt#Pm=v4 z*-y@*fhCaBAh$togWR90@M09>NTYxm%!|t3ozaWKzfu^Xx35mMM{cq|0x8q2o0DAvj2lW1X>VHqo?{k>^ZQq7|1tuxB;bqQ28uiux+Oy*h>oJKP9j z3=gux_U?nA<52=633c_7OV*qB)p%jDtBx9rW^1H^~2JTC}yy zucar243&D7wOUm)J%lL8GhCPy&19X~1sRqNDKs$@%^3&JJ7Yu@Z5QTujUj_FI->37 zKp2ee#yS^0x}qqe4$kBvdw16D&N+8yY!BA#5eLtE)UYhto{a4|hG{g=6V1(-+m8uw z9yj@JvOeZR5(}d3msIHxBH&g`LwbpkKgbKSgX>shlt z1@>Q0PwP9P?PCMu`><{w#=Pw1r4R2MnD_QX+c$vl{}bbyMG<7~yMR^E_G7R8*lWKa z5@3)0+8BzqzXu_3p8Z+3e-n)RIJb{6-xTWTigthsY7dw|2~{xuaTnNcg9l`9XkbM& zKlT0`nEQke^mpL<`l4;5W@AsZzzD*k9mM=Wj2)as1ual_$gF6=AcmqHYJ$2$spt2o z+F|3O9qvX1X|V2a)`b$HebNSMKe;U05sV*M!u!{nXrp1U&uB-qql%&(O`k_IcXSDg0h(asi(ql}Jd2|MT|F$HSR;rSfq`Q43n4)y0!e=b?)CXhn~Ez!=S?z|+XK~9oA zlhh>Vu_D^}F3{Wg1@uI_z>Nt|e*tH^Faomp9f~%={RI0>G)23Jx{K0S676CSSby=d zXqN;qiCM5dMSd!a711tLF@_STy^Oibis*>O?UO)rRc zM+9xrz7-ekPVVn4paRCqJ|s{?SG2oah=Sa^`l8*q zE#Udv)P1`t+IMV7Vjkq&lS5Cm3j0^MuP}bE8)V;0-n~Q7zB`I6sOM)Y?Y;%kX6bL1 zoY|6S_mg>l3U$#Q2xC#S2LoX2!D+Nat1@0Ki}sKM^!89gwC}mV9^YFP?cp)x(H3ov z@wpicM0+HGCDFbg1Y?hmpeS06oEmvQp!Nq-qWzE_en>ArGQnOyVs4(fc`_ek?6C~! z`*Am@e|#v~kGa+bIjoBIlNj2fJ;7d2F!v;L{0yW$*%7S~MMJcohENghXCBl<`?(i0 zqBVV>w%HQxsd3SsroX4-pyn5&Xo|K#?Lt|!U)sRAf7uu9S4mLw4Ci`=v1f*&wWw?5 z!1%L_Kbrx2|C&91&Hb;JMEgw;RrEz$jDdZB8^*F|zvKCLZP9*DufJ!!&AK+{X%9sE zLk26N{V{-|Xn*4Rr#aD`3fgGtf0+b|{CTW%CZdzX(RZ++Ci zY+3ZfXG9Nq(GvZWQ4B>tg8U;LU~V*khUiBzcNBdeJpr!A6fqDz9LJLA$8!CY4^7dJ zi-55RwVO=jL_dBMjGaKv3DcrSsgJVPiDl7G;(oJ=y69se^hN(P<0rG`WcJ!JiB-{K zSyV+o#f1gYPfd%?_e=U|L(#`)MCW@V{dDTiVC`1cZe12Vo)i5{FX-#6aWHl^V+qC* zWS_%1&h>-)^Ae&b?V!K&gP0Tjf(XdF&;$0Kh+`o7MH$gA_Ms*EC3(?P4%9@yl(m=9 z$K@uLL{Fzd{bxd$7yXL5=vM~7eTM9-sJn{X&rYBx`sc<$kCR2wKhOLZnE%3}=vS*K ziJnbiRrG5Z`(j4)Ye&Gk9CKe{&6ks+e}%EHtcadx?5jR3iT*XtaGh85f&(4Vuc!6~ zKf0oSJtcZEDEf`meuMdMFn?1)^eN`2hN9oRAo?ww>6X6ex6X-P%8GuQD*Ej^_W4m&^m(%8$$6|S`s3vP*pF4w>ty^SBl;8LqCZLPlTFe2+|z%` zem|WP{b!S+|2&3{=*^1gPqE+A77D6n$w_^gjy%p!P4bqCZDXhco`w zg=Nv7C--mcyWAB01^RiB=a;<5h~6Cs>;6u^|0s+8Pd~b%uka53l@|Twu;{PY5e4gd zHPQdQDEg~y(O=_vmAconqQ61ie>|f19as|mzbTOWKfFml1Nz(^5&f-z=x?+4kmq-7 zqQA@Yd!`r?7UKgRG5EcV@xitjAL@%?>xuEV|y=&;o<6;7h|0dH8IwQ(H3K$ zsu_f-U5#uoG z4>wU2BSbHuvKXJF_LDs^j+heTNFUg1ls%4O%~6YD98JbC4up}xtQcYH!ihF(<}mfgclK%@}iI zWR2Cu_;emiV(_!KadJnDEfJ8nWhh3BtQc9RkaJ2It74qW{HX;r#W*d5NwmZmcVilD zF;1ty(<@?}!Mbcb6!J?WCU|!obLyNA{f3|*#!Wu-#F(P)=1DPb85iSL2eM+6*ylESy=@@I?HMt?N%l1L)8yYl-nUqD zrwwT_%GBNE731#rQM-*jXWUp8|*hVf>L%F#ZUAe4qR8Popo!qhvo?6{AK?ErB^P zelUVbw8i*g9_;y}aj=Q!57hjTb${%M@uw8XS>kz#p8uQ`<1eFPJZGXMMu*J5vhH~s8e;s7+GX-yz>Dnp zVpoiprp4$c#rV4&aj@q<=EeADM~s!G82lZ^czH>TS88JP$m#h}1o{7FpMS?Ng`OC% zviGaZ@%IfF1r!f@cb;jOsfPVio4)*D@{=f9|U+(`G7UNC!d2 zkHMT6+k?nsUW~UqNQ3*gsd>8qdL1Ukct^#o81It#?iBiByjK*H&s0={6JI8 z4;IAykRMB8+9t*PZ~#LwcW8*YW>!pl2|Y1)jDz}}Vi<_|ksP{WI!t6RBj!iRS!+iK zb66Hr83nmY4Xa|R)Tq>|WN7TIk)e~VH^ej|sEBELL9Z59YgSArYn&4xbLW7VBLeo| zGu_<9jxfmFmHS=E+I2z9-Kg7*OqYsLbi~{}in^G4ctHK0T=!fS(>;ckm>(NQTg<)4 z<8$8RbKcyWEKdx5G1swXJ-w`-0`FuW_V-SRxvvWiG51S}$>+Jb|B9HtrkDrhF%34v2pO_c(z-ciz&Vl&=`vcH}7N=ScQGa#hSxH*%o&Q;*rvXi z$4{Uw<_R|Bup(wO1m^i3z&z21vY02iz+NYDzuAFNOo=%rpmuCo%ukzO>|_=7s^P>QI z|J;h0lTkFq{QLyS`$8PlT}}Sg%VK6jm=*IHuGcJx`Nar0&$X<(wt!VJb4jd-`K2(* zVt$!DzFZQM?-$Ik%!-+JBP-@t1+4iR&tI#Fd7TRlG5MasEKqkn&(}|hc|#C0;GAEN zfqse;V6PkFVEh{q48-K;TJxqAF{e^k6!T_!xS73gUKaBfGHwl^B4)|NEXcTxvD=zr z-adu}F~7<4H+i1sOw(;K?_mEsrp5f015;w&DVP_N-&>n^c~KSfZmxHefA@-*+sNi; zU~?N8GhAo7VtzXTuHTsy^B!{ezQe4LQ%Q+=FXy~>SFgOn{#A7qM|P5_hVr0(Q%MlbE6{W5Bz9|`NJS) z#Qc#DdXfn0&usHb=quQ`A0H67y*(K@KEt); z0`t#iLEf)T%!~P(0O)0rGcDG{{OvfX`&|*N{e4Evwha-?i1`Pue_;I|$50mYPbNxe zh`GetKRdwlUjkSZ^Eq-lDp>PZ4_3u|9)F9XF6OcyrO z*`rI3e<$8$s~=AD;iSA|~IHnE$2zzhwPy6kOk&0P6=eF}IIl zTFkdxD1q^}nSXmI=8ztS12NyJi1}_DjPd=4C4SVz`an*s4~~lUp%F}rW%FT4tPf9O zDAo=Mbj4c3)ox-+tQ}dq<3OyP8e)AUC6>bj)_gQA)>;Rq#Zn4lsctZ)E{dgP#L``8 zi)Aopj*4ZGXXVim%gM8IL9CslVvR(=-n&q@YY?p8Eh`q^KUlkyv3pglJ?6#QGa;6n zz1@AWKF0H2F|cm$vRIyySnF83ZXnirp7-&K<#nSa*1kEh_G6#@RaC_C@qEAtxc@lg z8%9B%pD{mUpP-*l^u#)l{x+u35i5`v>mVQ4`(U0AnG`D+5bIDIieeo`&f!6^LM~AA z$uQbt@pHU&q#es*jZTPl6g?cZB-YXNaCBF!W8!Fl{lYP^j&)#0EPjT!K1JPe9xxsW zVO6Y6b7CEz5$go@I)VGB7cH?)q}P*Jvw2diu>i>bG`*Zm-pNC;wp7K6rNughb*HfJ zsS%XX5$iN^#>qIH^=CxI+Uf_-aUW`8oynTBRB+GdtCe8wIn?m8wRKKktaIC9okvD; zLag)cV806%#JbQ0&cbJ?bN*5z)o((I9D{xcP^ zuAt_Mo>*6w#LA?^x+)>oX9FO6lDf}R|Ai4yd$oyGv9f8guJM5EFS731Nz}#4F`pwZ z*B9$cU9rAQ-(Sgyl^+%BtK@vmfqAj6qrTu1>-urAZlL!Y$ox9v#iCd@j*0aRzgRb^ zVoeD;V%?k*>z24!x3cC|>PjiGZe#3r&ht&OrborPgEe=oiuJ8ovF>EgJ2_u@1ZB|A zT~lJ+J%*N8+uUN!*uglTLDqMwV%-xFtAcx3b8lO$?Z?iS=jB z@|T!c&)LN41jPC)`##Uu-9FtE7nVOvAW|Ji1qiRSpQ(ZfA+-smq)CZ zS@#Ohy{1^NhB1j5bj5nj57xi7DAp>qt5cxI*F#_p|KGOWh=R5MaUl(A`=iKVRjmI` zU{0+6*+BOHhGMSDTwv18&hJv zCn$?kCa^5d4{-g!ia0-*7w3oE;NF%N=Z8nJD9#;X7>ILCMVxjIn&RA%^*i~oB+iep z&fyd1N3-Ho1R>;5$Fexp5iqAVFchaot(F4MI&(UE>5Lme6v3V*<0flN?kxwxU>~Oq ztaZ+cb7way;v7*iBhFo@+a-sdICu4cx!qidqa;q39Z9srxjXZ_GrtG>>`??`dy=zf z9({4TqoBW!`9S8!xZlf-G?v7M# z3q(ILEx073Zfp+ov1iJUK1SEsSlci!(;{ zDQ?V&^HlaabplJ`Jgq3sak9o&#CbaPr?dWyFqXx+HG!cx@&f-iA8ZcMV4C^xs;=F1~oS)@v ze4aT!mlfwEHT*p1KaegWI ze-zqlTrFcC#_1o2q9YtA%qY@2qAXRZ3jP9DI`{t}g=n zH`FW9k%3MnZshtVa&H<@;$~`ga@{$p#4Rmg@77u+Zp*`z5?#dd{gt?#y0=d#aYv&P zcjllfIP~s)}zSO0}%h^i2BJ?RSf>()ojoDtK?(5`_ z=7ZXA)T3XCH^-ECs}fU6yzMCQ4zcfW{VvzW`B%PL219LGF9AO1z(g zCd@1GK?kTeQGr$^J}d?6N5p*8uf)gMVBU`xm6%LpT!~LgFs#I<%=H;R)6W_)sl*gH zQ?*Kbo`pILD)9yNzM#&R^#8J3iRl7Rf0}&WxrwjJz${;lDDia)EnxOT2E^1kZdQ!{XDgPHCGd;x!RbLt2^jWGCKolu(t*| zYji5PW+v*u-dg0Y)vshuIk;b&n6+D#Oi(LPie4p?g}4a zfxPv~z|8!6Z!(vj>$9#uq2va|m{)Q`ayOh(GLQSbF0i-Jh>}a#Uox!Z#>8*jt7N`V z1p01LjzJ|i<(W67_GavFHmPJm1^9Vy-l^mk~EC|a<(qOfRfwf zft;cSCATGK+i@kgODnlOaoclUT!|?qcc3Tl-sFyLO74^bGnE8rS90eH3@Nz_^Xx*O zU8z;-fY{xtF`?w{jUa!I4kgP9(WT^`y;=93QnI{N$$hA?Pdm8Z z7yC7VwW16&O733=Y92tn0|t~lupFaGR?_RBZ1D3txLV0W@3StkYlC1`ay@LBI zD>19&RXs|!l__~OXID3Yy=$m-4ZW^qZ7)>vI?k@+{(53>V6P(+T;Es@dfdeQO@m6_ z%)Fh{>ReFrmTo0)Ee3J76)4%2jR_@hr}rHdO7h-K-bq~dsFHW(VM@unnepynCGR1( zr%lOwb3yEV8AvO6e*wtp<@|vX@SG3UDESaEebnpY>|y43q+Q8JiSK8w{vjnF>sRt| zVtCgkpBPtifaiRY{3i#Le2TfAYQ~t7Pj@RhNbWPWNy&(fd0sRy zqU3Ogk}nlvUdfkxm3+kk&oDxbR~wXkjb5*fD*1XIs6R^VDCcjqD*0wg$+ry9bBy`k zruI9;znhI&CCBkzo09K$Dfs~_@6_anX(c}@Rq|u%OjaxTNe-y@>7*Z6;=w{EqYQ`;?rmSMrBiC4bDvu#$X_Cg)gx zE(W>3;8&iL@6F_Ii%R~Htt8);$v?sOWb*GeB^P^?{D-`MbI}N{|H}u@{@=6=6`%pL zGM1^skc?%sP>p^Wd`}w7rDbFosFkriXUo^iSb@A1nlUb8#e584K}P1VjFmWBiL;f< zFe77?CXC9+A~&mF#;Pfd$ykkbwM7|xZyKvl$;c*ejYbf&#;lAri_wKS8EX-r!i7&ek1}v0gQZ&ux^kK0VhbeuEMj z8#3#L%#&AuRv8y zqH*@DjB}Xj9AX;-aNWq>xs@``qyBl!c^8J82=nnH~X-do0%?UxsRdyc^Q! zl+nRF9n`%s3-rHnO2$p)XaRk1CjMsjI`h$lVHvkLp!O{@GH%U76*^?_9ctW0t=kr5 zbW!7Wp$6pNQGzZ^$hflzJy?*@&3-q}+&wSjE@JPRmT`9lsC`cXI%V`^fZq4!pj*a$ zxuD>^1l<`WVj1dRDGF~mktc=&vGG1r) z*E?m5mY^NeGTxy68}l;WM``elrfJH|Y3Q~z!5-(h`cQpUSH*EqR+`x@`nfoFNY zS;hzCeZccfF#Ctan33@j`5#xwn9Kq_KM6q0r{sM~th zG%jPVO2*FtsQ-%rVt*|M_2#MbTZ@d}bI}U+{%|lLV}boYb1*IAFXsGVq-AEYmo+AH)q0t$70FyZ10~=*n;N{c%{B96u0>o<4oWd9lkZ3~Q71FW zesVyj(InHXlxaC&Cc751G9B(6YPJ(4P+=18~yJhawBeSF* z)ZKYd<}TFPbxdYy7TDX3oZSOZcaJ=oWz4WAHTI&%-Ze7IS@)TcxgS0DTaa1N2znln zEAv3ED+@sVgN8x9Lvm0jv#MU^q0~HVKql`)^KfS2|AR5B+d$7F=ygOV#$_H^fJvE0 zHOZ_oz|W{=QRdO*7?pWUHON1P`p1%YYy)_X+G4O@%l>h-=#_bV0P>Hg?+MgBfpgx8 zX1X0yGEXG`#1WY%<$yXTk$W<6C%4M1W3R3T(=tz~K$px@i9fXu%ySxhr;%Gcn_LwjWVw;lz9z%*L2FfwpeC6wXe&@luX`h<_-Dimf4Yo2K33i(Lg1r zc_T45k$+P)IJ;?9=FObl%vq;{RxHZAg}qzodus{Wupsj`a&9B1i~KHrhFw!KZ|D4W z;_j#cXLshHNoIE@T0pJ4+GXBdfC-uRlww$BPZ1_%-b>AU$-gfRdfeY3v$qgjKhP}m zLE<0e`XT1(%Lj8lTqpC9Z1l){G!Jt!d1smZV=^CWlli!T5t&ag(-ZSD2Rdaw$=;L1 zKh-GnX|A8{mO03r&y<6hXNP1y*CKPMQ0DWQAohg{nJ=a=E^{~o3o>6CmicnM%vZ=8 z$(H%5FedZ0L7A_&$sFZ5-pI$I%r{45zD2FKn0>5D=G!GQ-{Jn98JX{rGd>~ny)K#W zbN)fO%n1kd`fyt2M;$Uhu9P|1DD#tMnY?Gr&stl^ZCa=|<^)cdv=?Uqlz*I4G09 zkD5O*(@)Is)11t?BD8|*pV|MJdcRQnmkF7_a`tPN%z1&B`30H3m7-tf@9h2FAoGtL zP?v8_bD;yw@Mk6ZWd2nKa{eBbxyZ9E&dU6UoPU|;-%gqTwP0Kp?=ERdf)Cu@yT5Wgn9)+(2k!yIcDq6ssy5_RA_S&J!IMlPz+EsGbUWwy#< zc*`1=W#@r?rvO8;+zOE6m0?7dPc6PFt)K=SvO@O5FTvl$0to4i0ENcUvXF~^lviLivmB)-5HOX4iC~M1hJtDph>vNq>>bJi_{CQQiMvKT|M3i(+S_Q={Q1>(2j zZ0jtvU_sV4)u4V6@kLFTk+p3tc;@Zc+m2bco07G?gAQ?!r3k(vUV*4y-V9=?Uo6iY4;p(zlYExtE>pEvi8iypsc-E z_v(_hcYsb=<;0b9zE3v#W$jyv5n1~cfL;|PAb$T05V!x7tON4VBkRB_(7&=8L$VH{ z_Cd^Wa3<<7BkK_QA2KJasulyX4khML<~uA4HJFukcqz!QE=I4cBj|a=l&m8w!1+;a zvTC@lnUHmKTGlZF@yC*X?6j=fR$0d}?{OotjxPjfCs6Z*X3#s`1m--k5!5(|n3E=D zoy>k+4%%g%k_~#FnhEkw6Y6Evb6!tgJ#(C1DeH^?U9!%k_nFjgXpwbR3CKB{8fOp7 zI;RT#vKpz;*e&Z^2h+07qu%*hU=(p|Xo0l0o|Ue@~qvOXYo zf;lEwKkNdrAC1fUxEj=&?3MKiIiK{)`m_vfvOcQ=`Fzh=pL702pR6yNK>g_w@O;y= zvc6*dYEjnL#D6^}>l^N8sPU~ppYO=~zERd}t*jqfW&PMK>!*BKb6KGG&pF`imuz&& z`jz={gb+Xw#fR6+J804`kOfx(-@KU5B}|t^KE zu&$XcdoA{J%4DxyB|Fg|J6SE;5L#uM)UYaL+fA~aM%iwQY;Qnzztsjl zMbwGLWyf5{coufby>1c6U60=DF*E;0XRn`yHrX2lpyr0vASaL9jfycW zdkJ|<=4Ee8-F$L3Nnt_urX8|3tC3w$AbWEM#BNb9d&^36gPg(=P`_|m_Eyx}su$#L zT?MYU5qO4e24oj8OHmqJZ(D{T+1nAf9dX;|qE&V=`^7z=-VW5;p%c{Gu?FPr#Ix;` z2InOP8Zjq(=UR-*-lYPAvUklxJBTZ#PHCU)-AX_Y-bwcEl^|{p>g~}CYL~HJ)-9XA zsoHziU_|y_4tizpT?le{KiTEPmygNbryQK^n~4tD`(=T(g8YhljLY7i-uw5-K7cw0 zl!5vO5_ez&CS_MrqjFC6LF65@Ap77ZOv^r`6x6P&!i4NYi9d8y_F)yE-r=l=b6?GQ zHTg%-=ZGHJM+RU$in>QpzouXI(VQL4^)b{wW=8h0W#GP+nzf6vk0bWD4$R9wp1S;v z)jlB?^iLDZyUISXOZG|Zoz#d~*(VcsGVygSU_FJO$tlF0%JZE@&S})G=lb*_(39^* z`^+qK%5Gqu2A<)p9B_YjCb&N*1^S#bC%cjLTyoEykbPcS_W8t|-y^%J6qB+qsK&JH z3#(*bM7?IAU-rfHxwu#MQr1fxaNR;q%b4s-S$Q|vmknW7_T{zcmfczi?yunbO7^bg zd9Er4GqvTR4eVWADf=4wTr)2F+O+I;1Dsu#ivii!H_E<&S~rZ!?x>J`V+Pt~-^BGz zbF%qfv^xvH^(}p}Zw)Xg`?h>c%kH9n*O=_v`(@uj?K?VU-)GTFSV?7Nx& z9`^5?7G`AM-zK}4Ssq}P2k{U&4|T}yE5W$zha0dc`w?b&guah9 z$?m6q|A6ersPPyz9%qIp4A}!2Xa#Xk24MdwdOc0t)6^IomHiBLp3Ov;?B|GoZcz46 z8CajMlKp}M>c2qU7wI)j{4me?66Y`1%YKEJ5%ylqmHnDP&DX1CkETH1Hzs7i*(3Wc z&faRlyzDVz-tLn94z=ImdEO!B-3r;`)Oarwt+L-|h7a-LqA$2}#mi=+1 z>`7uL`(%GY?5D(imX9{sQ^Zg8%Kn_WzA(V7UvfR2jds~zQU9x9*yu0iln`HkqBzvw-_Rq}!GrfPQ$CT_}nQ1-?ld^xS1-ZXd?~kHF7fRWsan|k)59EVyCIW9fCb~%2(oS;Nbm;w4loW;bYn0K97 zIqS~JS&zN-sk1?`oDG}gcZ{<$KdYTbBIY)DTi~;H# zOP$(6F#mD&a*of(jGPn5<=x<b4jBd zzGD#1&TS=V1UX$?cah&UC+Bwh-Oil16LUujH5it2 zX9lQyXTO|o>U7s*Ud~H@@?jf3`~^Hw${<&5F&PC4%|+q=1Pc&9nz-E!VzeUI4pdA1Mgj9xiE@eDt8$(ak#j9EE9 zmx26W1mb^T?^o7enSGu)=9%v|dj3YH6F)4R>&X(_#yFw0XF(G%wVsv0$Ze}&6qP1>%>?$=#SaH?GI1-27I|%H5;{-Euc&-Ly;YW~E>)C<8q=ua&z6y|$p%maJQL z$}P-9v)rvx7?itpIVR+8(h%PlR!nB3i}u_$-&&Q(NY8=7Yk#*>kdsGT7a%-|d+|gVg z!wkm^%RRPMZY_DW>>bD6aXoU6FU5k~6X=oVEZr}c|Bi4^oRNDHdnf0C8S2=pYm|FR zE{5cu%KfSApH>HEs4oURPH&TYMjcxuy`l_@aau_;v>~aOMv6(?fCxGchigcdz?w ziQMOeVYx#FnD2RVo^JRPVN3-0IYUF-gA$PJ&?kDv5l=#oMo+_66IXyq;8NXnjF9S@GjTtU$>p8u{#qw@ zo|^O2`>jLn@8#h7590oqkh{<*_s>Gm|1akIn|g~Sa{nRcpDDTj68~SBJY~vTra<1Z zS?H9v9P4uJ@-o`wEng>Zg=%>#=E=*fk+)JHZ)L0^d0FJ~4)az^VMgBSz4G|CJ};ZR zHCpAZS&J!oYmLgwVO_gVUZP1Je-rhL26-muR+T)vUY^q;&t(R;QJz-<`umw+o`CpZ zPF~m}FB+2<(~Bfs0deVgR%=U_-)MV`FyyF8< z^Y~$TCsczv=}NTAJ25TqqzZW_XQEGD9nVy^An%lV(C5@rbjdr7{nO}KpN&p=r_=9r zV$R3`J}+z+DFd|{i946`b2&dR53};lC$6ai>|Ma#1*{k1 zB5F5N^J4ZcX7-C`=NM(k$;%dR#gv?=t4RjCy?Qd6$pNYi*EsMGDjM zu587WysI44$!p65b*?T4b@_enT{9q$zY}`xS!k4Z9kJI@gWu`i^_*YdE$@aR49nwN z&+BNCcOx_0NbHT1@@}d|m%N(;5ZlRpC$(>>l6PwcnBg{R-}e7?R$do#+@6hgd3SKm z?|bh~&bozOd3WW3_3jqT%Dad7o_uh9Z(81c^to?T9>4FsUh;d1dw^aK=E!>}3;mdu z*H+$HC+`{Jo@ti%Y%W^mJ;z+nHOU(im~DvM=b7R8QF$*=|AirWFBXIQ;R1}wdx@Se zQ}bokS2EBgZ-lxd9hi~#YBk7vjhNT!FevYJ;$ANUv7=eY2l=D(^4_4|8w2v*q{f>~ zApXr+d2gk`^;m#LjLLhv7$frDaX{?50{QQD%Nu8Jyj|XV?7c_sd(84aXYY^6`=AKJ z@+Jz=EAK-CJnx5`eN=)zc^{MiF*QG)lQ-Ec?-S~L!i=Bv%lkAN-SR#o<}=PdTa-6d zgDw!y-!r|>iTi^3U$lX}FDo!6Z@L_l^1jMNCpi0>+;6f#t(g?sTE(fh3 z?|W)~-+^g)vz*WJ{6CanSl*9CVEu{xIp&??ndSztDDUSyFw-xYV3uE)<<|y`%A2nO z>u>e)e&_sm_J60>AFK=XUg(j>JI(vESKeRD|JQ)Lzl+fh=HUJ2E%NM(GxGk)$Dq7_ zOEDtvze-HXR|^*9FVl=^`ODT}PX2NY@-rMX%3nSQ+%G>We+2_o7?!_c87Adta-TUb zf2C3k%3nDbtgCRp%7Xl?M)|xO{Z%_akJUI|tw;Xq?5$o7Vzcwmi$(cs)XQHpg)#Yj z-}!3|$TNVCe+e;5*k7_Jf8!DP`9&C(zX{iyHp}0v z0Q4!K&*lcGyG4ckEwfRDZuy1fAZ9CSZZ$7|YxcIG-!^mdi>Sdn+uycB{&vJ|H!FYp zHu=Tbr~@onpCIx0ZhMZ%I&@8`}y;{zXqu%lCoj|`6>Oe2v^*-Ni{)x$92f>;d`b zG|6wI2j6S{xy*4c^PJZ$|NIj9O$PepUqJ5*7Uf^a92aqY5&fI%z{adD*w^~%*wy48I$raub1D-oL4wt|4QcIz3yMdSzEjOtBWxs|C%=W*H+7KC$62d z>zL*GGR(=pp-+BCgZvvgzbPLh@^7v}r~FQ0Iyt)~K&$*)>*U{-La+QTX1JZW+Xv*| zkp+6+*(JZ5obFlqcctau?O;LvJrnYKI^^@d_U|2*e_tVpzn}A7fmt75?*YypY?A*F zKaaj#w1T~dnd@QVAL)_*Xc3sPzf%5VnV6CPIJKWJK<)rF2Y99@8|6P0fV`*cu^@l2 zO#U-@n3w-7InNb>*df-T3Hi^Lfc+P!!S|Z~!mRuk>G$HI{NVxlFExXDFZarSrCR<7 zXCrg+UmcbIT00ixzfO%&=6&P;nC(r@-fELSRxbbTJW%VMY5DKA${%O0_bSmTpYJrE z?==5|5&09f@;@w=|4|Nz`{ZEMdWK902^!tpuQ`G&u5VP{X=$8Lwo%pqg zQTbo>$p5+unXS(En+k`3k-=*b$&oj&h=#c+I7U=(Dwfvuo!Sx({ey08} zoc%H+|5u*x*BSZqjq-o1l>d7H=H&k|DSv_ZKU?JgMeg6!{d-vcBKN$@{C}F{|J#Ns z`TqqNQlKUU%akfuHV@4TmdnAkf{e6+P3RV&7 z6=daNSi!2r=v1&;g@Vu|r$tb%oU zzV+yt+n`|mLQr!<&Nk#ek9qTY6>OAJup|S-ZcP3Beg&Ig(@F)K%vh57u8@! zL368ui#cCPAAV;CE!7GxEmd$C_m_1kxV%?EE4f#+D7cdAtC)k|(?J_Ot{zoz&8&iJ zrxaY5tKj-71ve1eQI9zVH?}Ldsa3(v%+Q&m;FdfEw;Bp=3lwy*-kz!8jsgXDl6&X0 zg1d;ho4M|(P|#Da;NB4h_p#pJr=T~j-~r}*U|hk2TtC#QppP1T{R$plRPbntf_`Ry ztV6-$lL`i?^W=hpr?`Kb`cDrk7#vpcY?gxOGSIEy`AUpoR>2G97*Oz{fd)`xnAl$e1+;jJMBW2KD`f znEAVU1>ZB<_hSlXb3xx93{)%lF$c9E|0iO8VzxQ<=Q^;U;O8bxDd7L_2!0{vS8D!B z@A-TTDEN)uzmfAhv;0o{9~GeYLWzPuGr-J$&MEk-QNiEj@H;O8XRJd#{h7~U7pb^swGm6oraQO;_E7T}lF;8J;KAJIxMTIM2 z3DyL)lG$iiXp~`2p*f(?;@av_XtybJxOV0hy1fedyI<%Rph;mMOehRH6-HH{ zcbo-!@IDArGYZ$KP`GX`m~%bqi+x*|O!lE&S+x98ku1n$e^eE98D-ZP9Yf<6e%(VA{ z!g6x=VQ=36X@&b`phsav8zvR*-wWan7*u#5F$YrTz!`;=MQF#Y!h@)PP!othn7Riu z^C5ZY#E8Nw2i*z}%|sQL>9BH4C_FqLEeflNsV47;Tr^`!;gOY~|54QE-4fRHC_I|I zqx%&e!`?BA3Xf%`V`miB&M7>Oz2lhaIA%J2RN)CN3e)VJSg(+GO?Yyb!n$UKylcW! zxjv1!({oS=>YvX28Kt29nYm~Jdkq!f{Hzpe!S&hHJ-b`sIjrXlDr}@iV;^P|o?DJ~ zaD84W#<8IA{1&j+MBW7j;CV0P=W$U6=ylPw!scFu7w3V#OM4Vv!u2Kn3S0R3v~YGQ zwJ*y?EqMORJ3#H$Y7ln?XIIeU%1(t>Rf4@XdhxvxUR{GJh1YO>ZKJ|=V%x_RUe}`V z`ZTC>134X;3UB0$Z;tRL>fDUZ0L0zG{w+gb)?10YmH1n`FsJY~`rOur358v?=vR1q z4(NOPl)^izz}cPDx^qNfH$A(Fzl%C|^(nl&1cO*qcn|qKLJwvY-rI~Zh4-=EpN&S$ zDD17rxWWgDLF|J?XjS+SeIMe!uNIs?OfTM_A%9y8A7Pe9%h9i}KM&OGr}ks?=X)i5 zoSY{Lz^nu9m{j;=3eyUoY67uOH-I{W`Cxs9`)5lPKIed5&yh3Krto=cJx|^X?7bK$ z9L`1u<`lj}%*%ZWUty+^Oi=sPe1)&oD180@<`s@o`;A70Z<7C3k;1VY%qV<&Od;PX z;kzRW$Ga82*QM}%>U>bBaH3q{hjj`+s#eIqA%!0kKS|wBIQz5!)cbT);gqBB^OV9b z%FwIuOH5~>1q%wlq8{(JkoQ~o^{B#cTCu2bhT1dq{+2%96=PoE_uS9YZ+1fA4<#5> z_#^#(q~=fAXac!&Y0N47nVLV3EBqxFoeF==LIY+M&eM0EdVIfxzl|#Vy%v)S|Df(4 z3knxF|I-0^f06fBpTfWC{WtX%Sr_LO{?o7U-#oDXSFcFr7*@1Q1;!LDTY`Q?%e5%V zC{?t49y%1QP^4(Z6vh>0a=%g&<`k_wplFpLMOg;e%bHTODtoKtpbpcDRxbnl*^OXb zBOlaRvm8T;)}r=W^vuZu{d2l7p=fR5)@F{iM-(L-RD!r9wUf=5QN;T#GCCER^f%i; zUEXt%MO~YDZF<_&a;W7{%V8e35WSdFw#fi>wwY2?RHJBH_P4DL*hY@pl5!kElQFKHF_}Ly= zi$z68u^u(6sD_$H7l629xISh^(XkzhYN=66-f?L~$8&xBq@ojA6{Yh*?1@!qS9B7& zCsFrgp6}!-MRn|-A`B`zwFJ~Vjb8ORpx^1eiq5E4bY_jB2I@8tcNWiZR*Ryu$vb;g z(K&e-Q`9)3=vH64n0e@5-Z^6ziab+d}DXO0^<>mcq% zYTrbSoBwY>QD>{7TPiWF=+=Hkw-M9DGjt6ry1hry9fOMQ>{HZD++Ar!cQe=B^NQ{n zRn*g~=-zro_oWowp9f~`CH{eSMGrP8dZ<}ZU!9_dOB6klqv%oUK1xhKxsNgbq+jPnou;D0eU>kjL+qxU(wK_q8B)Skv=an5AUjIxC-NnUZVd?jiBbs^m&6kq2t>ev96s?pq^@ z#;EZ&^Sxt$KD_6mcRA->7mb&Kd;TUDyre90h(1N1W}*V!iaw*~XAO#`vQQ6de@@)ztY1`PQPG!0s0IC}3(%zKD+A2^HS>Jk zspuQ(e>19RhFafJ^V=HqEBdZo(f0x76wPw~LltHf{g}p#qMw-IC(h=m{WGz@Fvl-F zihgZWG@q;Jw^A_wZ!?O1r{?d}_|Lvev z(IWFMlE1j1=pSnTGpvaBWArcUe<^e;R)A)VDPE=ulZuzE#i-)t$}yujqX6tLPuvQb z=mhsGR$@ePCTnJw;+0Ajugv+%iFnTs*S7W3F`V9%*SyJEKn z+ae?9#JyO$(*BMv5F16PyRGeF)czuDG_36I>aU1k0-Y_5Z$jd?l zrW9|K2YN2aL8Ic0+rfPKWgs?xR`DjqAZ8Q#Y)XwyyA^L{pcd5N`!MEjhVka~+`I_X z*_;|%q%om*%M_@!C3}UOZAIKx6_`=HHT&D-p+|8MGZZyoQSr9*VBM|?^xd9b+q3e1 zi;JnbLm7q@@93aa@lHixEy+Z);+=Cbq<9zNcj;BUEAhK>Us?>FWjEq>8&te|HTo6r zLEIkPmvO&m7CII0RRwbPZUnQJcPQS6xP3+x?@Qdix3L zrudmQEGT|1Tg-*pUa{uD6;$h-mV%C=pQ16ur#UtF0EGmAr5?zX4 zBbM*K_%&+1PTcFY7*#yV^(g&Erxm|Z0?yyeM+fNjRy~Fkk7c0&lZxM_&O1410X^QW z#F*l7_QvTuKCbw^0Mvbt>-P)MgBisiG%KFSLo3Mrko6-61ByRprb*5wiTxxOy^250 zLYv~xxc{t4@l*=b_?-Hmlk)}pU$Flr>zD0{rtN0JD|7cRY zK+K<2ivKb&q4;m+TI^NKyDPZ< z&p;i9l;WM3%5GI^jT}&ajTQ_jwPt`WEGo5DHAa-msYJI@Ytwse&erBEkp}Z8shy;+ z;edHedYHACR?4aYF*fyW?wvf))0tDstpfc#_Ph?I{4As~s8mpZA*I3qoJB?GRf_M& zR9ue*rBY28Rcf6EOewW4z1C%2kKFYdF`-m$DTb6|6iTVFgX!l{2je8i!Z$}6rgb-r(dfn@F3n7FM8bSymgb+eQ2%#|{gb+dq zA%qY@2qAv?`}YhTxC&EAd@hw@B^WuQ%o3TCSy?{MlL-mkR9VomyoxF9!qAF;QgC8 zs|Z}zcPepqE;^JrhrM$~lsK38h6EawIFI$bAtlbQQsROF3@gzXVL^!t$-k%$vr1e{ zUQ>kq@!1fYl&&g2Ys)j&UM6I&wMwOfcP6TP^-jE%y`qN5;wOg(ZM{o{ z&jZ)IPZK@FKTx2=gYMu~DCljjPcw zBPRy~GBzp4xQtC}K;CA|lUs!`8T=+`Y{CAb43Lwk$FvNiO@>(_!zzVt1|t{rMhd>{5a@jLX=y7R+75x*K(NE5)>o-RZgefQ&t=Ferofg~9v6*pr%j z4$Ih!x%VP}Z|axW=$5gVb@7;tedPA>)J=87CHj+>|H=!V}*N=MMhH|xL(REONqIJI?MPB zmT}$OCF4>L%yU_-jLS1Y&z1%mSG3ExlANp3K%G|RxSE--A^+M8klV&Q*YT{^P06^v zM#c@~w3BmVu8f<=fS-`J1b;#mC3j(fgTxm zvwsiw_i)`^BI90Wx{vk#Y#BYo^i0ZlfU^h5dvH!hFVECV{fFuK2z!q#$as|VKGw&m z^>`s_WIWLzqrX+glk7c3t*4qXCFAKK83VmCp6QhFY>tfQFo@?fWxS9p<3)N7mCAUj zMaIhoGG3{YFm#xbG^yln_V*AV!pS?d22=n-;0d5 z^D!dh9cFrGT*kY^j}bFgj!_x!WrNuF+hu$}zYnHljB`EC-iNhVknu6IecXU)851QK zl)?8PL0Oeq{VepP$muEn_wdeKLL~ z?-#CrX#mglYmJOK{FaS28NYM(dnx*5{K5JMedp;r-z9_J7LC91LEhi=`>=CYWtcV^w0KD%V20TVKJEkvKpB65m4K+WCq(IsWV4^gFRz z=1C1QYtk?$^W<_&$vlPi6xLHYt4(0}Ixh1x4|Ot6Pe(0?IfK|UsK_~%!?ajHZfll*GpSK{3WcH^vhh91M->^7?61> z_m?(dUgl*TGB0P2%bCBWRpu21n2>p8t<0;K=c-Yetz5Ux%DlP+b26`Km3b{SuAPzD zM*eloe0>I}c?0`5kl#+ujp=BXd6S0`nK!q{?5L7?O97bY)=ZFp8=uu}^zY0@HORl+ zmU)LTBlAwqy2!mN4HcM{dH1-?d&*^YCom@SKF;nNmU(}(%pMQS*hB6E%=RFC9-NiQ z?}}z`k<5qr{2rm#qsvjJk9v=lVN~YhLo%P}m)XztligsJr!z4p^BLA>nD^NMna`2? z9J4$}?4S+$4o=B@p4!j%%6x$tULfwpa*WFyVjUWj`4a0(BQjsE0rR~=>~IFyf0g>L zGRJG#C`OOW*CP-&(k1f^W`BeE-sJ2}YQNPgb2JM)qQYe=0)@W@OHK;ChyMel9_)%wICV^)CZ5f2Gc^O&FFrmjn9DjmrFu z7=B+gf9t@Q%-=l__dC~r6ro4vd;)DU|4c&-sPR_?_$>Y=_ixVro{_mwhY6YgP~#u! z{hN(ung3;=PL_m5Su3!v(299k|EtBMtQD)#B`Yl*W$2f+l8t6e$y%Acm4{@lQVQZ$ znU$5^fN5E)R$*AyYQ-RC^$3HqGSWc)8W|vGP4?I9l(iQ3YgK}n%mTDxLe|<9px!$4 zT8Db;W}_Sfva)i)Gw=?!_)XGUuK~=kem**6ZBPQvva>*s4RcT}Ya?dZs9x5_>EM3j zX<0d?Aa@h)H<^^RDfgT9$l9zJ-Li6R^vc?t{msW^ZBc|aS&NuqQ3Zx%C78<)nq-;j zs6i{HWLccq#M)!B9CDozSuQnQV%-T@NzRkh_dE>9@`?3ZWCg?o)Cjo`i3vw#Ma7_I zTrDfbd8!^WvbN;2$jd|xh}(+ut*E_q1n##Xe;eX>Z(I38vbLq>w)EdF3*EA|=YIQI z%*!h1lC=YQJM_xhu~pViFehtqEjZtY-utx5+BX-}ETv{CGwf%h zMb`cic&-EbWtA0z&+kBL^S#nKr~y;54sMcFPJTH(%Bg(_JrAMwp*iT3br^YvQM)1y zbr_O$IP2lFvW}>gb)-PABj;sRHp@DSo<~i}I=WugF`OOKCaa2CRn$C|TE}vBTsC@S z9Z${U$*s;ptE>|epw5XkvQEkXXEi)aO{1)nbI~vBlnPACI+d8(OmxXQjo8!ZecG(7 z)5$rbSXLc1>xN}5DUo$%I+)|kIay~Fp-EP~jdodQbAC4a=ahr|b9-bp*88jO=TFBwUoU}DlsH$8S%|LKksSl(l%L_ z70bFj0cy3-`wIG8(JSjp8=bPQV!f(ERx5F>^RljPmUT^mtZV6YZ8g|yqwaO&Ubi6Y z`aW4V2(7Z(soOpw>qhc#s=%DAo0+SF^A6^{g&Mao!>w89k#$?8tWNeihh^PP{OyCX z?r4;CCwq5Nx2sUrUFl%&?gEUZK3AVOkH*$a+uR%PZ0COh^+ns49I$tI!_Y! z6zfydvYuvrdREpzqpW8#P>V5H&obL{;PAll30G-kX#4{*bH>s$`AlVNBMCmFSiA5$7NE$oe>6)r?JOU6A!zldMVVea_kE)c>MX)|b@yvR&3xgnn6H5&IQ$e_bo6ntm``P-I z+TT&*dk>?sW~l!I`#%=Q`iYu9b;_D8k@Yh@e#t_wtY3+lOQ28IZ_N4Igsk7G^9MP9 zbjg~h{ycksHp}`e6JxUeZk4q_?}bTO{|w0bw?fu`)c9{!w)$kRP>EjI|7(=JViu-k zr;W>AsY&+A<+4{ndLbrdugd;v#pss3daLXVtdWZz*=v%&R)Orybkxe`H&T1;e%b3_ z-4@xr|Lm+W+3R)4UcU(QvNvEqyHNIq-!I0j z>|jB5I4L_ClpT|o>Xgkp%H|zq=MlFR>sG8=GwU`vvh%Y*?6&0dPO`Tflf6Cn1?{qT zXp+4n`#WWzTXtb7reyCtEPEGf>}rFVia6V?R`%|B;C_!j*~PuG_auL>YT0{}w>NW@ zFw5dfP-CAC+548sF7?0}|KAaNf6fnRmR(jS`#{bP%94F>8i*~oWgn6$`_Meuhp~6q zr0fc69i9v79Wg5V$R^p9C9;po#-Qw@i9dQq_A$M(t4d`bn=bpf95CbY^s6TR1Y%C8 zl6@lUiJh`fV(+90*)A$IZJzFU(zmn8GV;c%5LtLed&no%f@A2&OU$Z?JGP`lfU)$Rq1E}v8|1=udb4P zjX>RNxo*pseH}6Ujkoz5Z{HAs{_WIipO<}Ot?Zl1W#3$YPT3s^5O+(D>|2Sstwwfd zne5v+zk@n=()-SS* z_iUx?=h9>k=E{CP6GO6J=#c$lCl+K6(PwA`)PAW6!?Itlll=&>!9h~e+C{boMMdyD>~Ss?%I2C%*}D4X9L?J@G-%ai>+>j%XclReJ*VU_HU>Mli2a0T`7|N>vqIUE>9Rkk_UGh%L7y+CWPdp%dy1H^x@3RdE&CgCrkUki z5A1)({rBY0kUKLi`v-dbh@Z%xrPj~cvVWkM_8d-4u4af6^rDgv944pXXQ*et7OPY&&Ir*)mT^eFexWv zKn}m@Iefox)@qTHStDodIyvi*w{EGNtb94^mB?A2{SA=K{)XK1{lM9{Sx!!soK1+| zv{BAx9ddH9d5fGaSos_2Bs@6=F=m4t{_)}PZ+piXlH)GO@v`LjIdTHdLTX3M6?4zO z)txOn>gJ#&s=jw9RTR5It$k(^_?gt|*c zI*U5>)T{58b2fF(=DE(H-#O%;+a;%=Ko0+=b@;pHoZl+vf@(R9#9zq% zh1_36&P6=u#U*l@(&Q{Dg5)=dK)(cXuv&@EXy+)J-}$-j@@ z_X~}3dWi3-mh(UwnEOFu9^_dc>X6f$K%X4`ee66uDCZH*AN4RGr>_L`d#niKavo=W zyj9Kwh-L&_t$xjd;Wdw3{J{< zo|^p5<-CxC0XZ+SKNMk1&P%OwUd}){nB(O+Ij>ZKb(k8ja{cOvoY$H$A?J1SUZ0XP z!rUVZa^4{S%~G)URukwqIxOeyPC4)J8N5sFcX_TcYQM+c`_%g&U(R?oX61a?DCeUb z5c4s6AD7FSD3tRFd7sepQ}#Zcmh)MKoXJcK$@#oq&KK1FG9BbkQS&Ps%=|Soep4rh zztPUOlJgxg-!cF91z^6JN;yAp{Uc{TlKWGhoY@2><^0?shkqYCzc$O6YmoCB`@hZ0 z`MpcdAN2lXP|iF#fAZ{qF39<-P0rt(EfD`trJR4O<@{G7S03i&{x1zPa#tLYo7N?F zrFOY1=c7~ZD)ktbo4z1-)hW5F4a;49NNz^4+%?MOt{I_Q?pk$nGqW)!ckKqb>y%+a z?z-G(6@Z-e8s)BEEq4R1HcF5)5%Iq;_Sg+@qEokb86;7UUk&A-9V9RW)FqW2-SD_qblU$G6F?&XIcp=O+}) zJ&}GVQvW3Co>VWlra%y!EZ9|xwUc|5@?otUIm!_{6ciey?{QAZE`PUrVA(JUSy+3?#1-Gm|ho; z%55sepxmX@SW3<%^uB~1%W~0)8M)1MAofyXFJ->V=yTb$+{?=_E4PL7D~P{>vnw0r zUM0}GH4B4suO{#6Nx9dgftYK{g3*B zB)5Z}w-9#=eQ&M8fZW?6w8`yEM={vDJqzUB;bB7VolTgR+chlrt^(A6{kt2$v)#j- z-I-vHdzt&*4!QSH@4gc!0A9I^{l?hf%o?m0(0}Zz;y*K3og>Jklli zQD%8`T5ccbkJ0~e>O4-JC)(xq<4IzkDwO*)wFc7UK107}m!rnB)OwEn=ZG7m=U^4M zexB>+tHFHF&&qwF43lzS%t0f@HteS`ZqnlL8!P3C%&x!$UgJ1TU`eLDeqy_1d}x$l;tSMC^f z$2fnl8dGxLr^g4xe!%s3r`!+oK3~?$onn8A^RKA$)q>ow$K-y~C3o7xwA^p2F)8=Ee!1UgqE7Bi z1m^yM`yV*_aaQh6y>e&S|2Yj6a(|)TFMKAymdTyV#i-oh2IT%;46gs+dFRV9B==AD z{-oYt`Evix0W}v|<^EHIZn^&!f@k_~TuBuuxk9#*|4YZTk}H-dnYP@3k}LHpxpEE~ zm0Tr4pOSn(Nv^uwoRX{ODVag+8XZcm*`?%Kol0h=VOYtvGeGUN$z7Y+b@I`wtF%){yh444lQaN~VMsCAaj@r(_;yTO~l=);5UWhVyOc#XB##Z6)Zp z9edkRV|!{8q=B9V^xuK}9mbX1k@en$%UH{1l{~On$%B~TVB!vDznryvQprPFl{_>X zV@e*z{JiIqho_@L$s?HM2=8MKqGoFspJ(AYQXbenGfn+$^KO(Af`13Ef`nwYU*A+sN^+;p#HV=yOzAR z4DdO%%`15w&v9KRW|h3Y5#-&F5Axdc(5B>#^yGV7@+M+$no{!SDhw;xLH!Qu-opMZ z?DM`%-b&5eI+X0BekXgkvv>Qbl6Np4@5$ty4VY81i@JBw=dJ-I?`~J}9%|jQpk#NS zlJ_#lecazSt>pcj_v9)0K(mq$wkr7${dzM|hF&EfPD2fblzb!yJxV@W2zvIh-#4k` zW2}#jDfxJ{l1~Wa@{UaQ6W`yV6)-w&5Rr1+#%qaO> zvyy}K9%TP{4|7Vs!1ap}m~p6D$(M+IIUU6FyIFFW`ojxKzDoS7)PIe=*O>2hW*@;D z%>8CAT9kaNQpwR$j4Syzac}o3`Az|t@7*fUZ){%4_sDKnktxA5`rsUM1l3z35Hwn~&{OJ-Lum zn38|c^ABR@)6fFW{;bEil7Cew`L_qo7npCM0p##KF8L2L{7cRM(ou~`c`5_z3al&4 z$opTNycG-3EiWw(gYs75Y^6DQD|g9T1?e`}U$qL;@>VOssJzvQ%g6#TYfxj2S$S*r z%3F*5%mjwyt=%DSof>)T7J~DvdU@+%eQIrxFE3m2Hq1t=Jl=WUM&xfy{f)=v-~T*^7?*th+r8&b z$xBv))oYXI=YlohJfLsTgIReYwZmR{Q6}oaUQArPATLFJYCztW%(3P2bzEK^*Lj@h z(QhkiZdHXY5Wh9GwypuSw-L%PEH6KSZh70%oA;!*Z71gCZC41cx2N~^^xA$*UI8@< z8o?YpRDhm4lD}gs*xRWHeew!3(Tq8HJ6B;;-YyYpF)eS`QV>_fTGS%H_mpi z19kVvMLnp&cSf(cU*4WJm}##}aJCoEy>|}U?3Cwn4jl7fCKdD<@4YhdhdVHt!P9BtZO1->OGr@Ij0eCjP zQ+lUS|MV((XXJphI(pP`wxmtonT25QEcVV~u6p*)rq|i+@_46u=giAHw^3dLvo>_e zJCFGD#^mu%_0FG`cR>ZnYiyQxVFE+)F6x$daWN+4HFd~a+9L0gNFLuQy=DFKnv3LJ znucL{mzB!9oV?4Kv4vRPqu!OAUD<^>c~?=pm7J@aO(_Zh4Og1?ZReC})q-<5Bh> zos!p=3ufsXlJ^+bk9Ep>T&TvNyeD$N^%GPu)Jr8e})>*CeR}9ximC@*uiFb&lCGRxi93R3A6HEti_}}-i6-KoV=HK?w97} zyyDHo8-JXE$=OAzcnLol$^JT zd3#FUJ9YBj6^I#2piAC+*uP} ze|q1|%ln@FnRlkauQ z_lfsM6|cwYWK)Y@kd#OzD$eTU_jl2_U%e?MyOHz|MrJoL-wd!2s(Ygq(l zE+hZIYOo$uhjIA_m!n&LIep68|KjIvw5eukkP@|5|3awnu(j38;6SjbZuMmx5=x zp-Fx_IqhxoZ{+%>Owj-4T#U-^p!Y4sVE$VhLI2xWdB6FcbMkLzhC9;0Ja<;h?<$ag zR|dGho4k93F8SSgpx(Vz^6$$Db_#*Tc|iUv><@dGlK*P8{MWL;9Iun} zIyFa_?G19?7?=NMpZvF4U`J>dVPeC$(`ty{|WUz%>{d((QlF-pQp+Hf;wNY_vM`YDe}K+lm9ib-&D$< zwlOXL+Yb5Pk^6n2{FySa_XF#X%<)r+{Mm&3pNr-H;>rJ&>$!CF%m1xN{_lD6|De`< zwfsNH`Kw(1-&mj)-^KiYOXdGpr$ECBR+v@rzbde<*rgy1D`lb{lL}TYMvsD3gbEBO zNRQBlc?GMMfxXpA(5+x~8^mW6f_04q1{JJH+?t%PIiX;!76rVIf=tdcsj+r7=(|on zm}A`r1zGH^$NhTTuTT8?GYU2sQjp!KU_)lvaQQl>V54I6D%dy|)W~6$O+3(VlUmSY z6LL4LL_0Odk`fkpQTTpL{4v@Qu^F_?Gi2Xz%sA*(?`Udq( zVomCq%wrW{NP%6BZUv49>hS&w+tg9sWS8_*s>JOm{pM1rC=)?oeH*QzO6?TY*VKoKO4-qEqmK8DA=w^!S?y!yubtT zI}~6@!HyLQc1i<#g$WEQ*tuH4F6`~XEW4I~xFYuWZWin|reJsMk%uM)#ndgHSFmTJ zg1yQW>`mU@!wO0|6f7op@tlHv+7#?tglPq(y$bfLQLsP#`Ta83pR@f(6daI_O0-}~ zL74|?@XiYkB>uo|1qWq;J_oUPa52~`&j9D;GYSr&-XWa|4khkT`W%*regzfT=uvPu z_lL6{!Ft4mf+LBoWZueV1xGQ@QG8}c7h+n$F?9;6vcL?-Mi^9ZT(yGZ)6u1%x=O(b zHi$j372^s{%0VTD6x2|sW=g@y+@HLl;FJoqfw)r}71UC@mf21#S8zJlr#FGPGddO2 zl`2@051#4Fb_Hj73hE2Md}nii&bWeesnx)K1AFI{qZtzl&acJ@<`rB(%?oA~G!~;z z!G-x41br?d?xKDL7w3T3rZS8xSXzX31(#6!l3oSN=(}uKK{GX)iNDka=a&(Gc{aus zw6L}?_Z1ZiuB6_TT?(#BC}>SraJ3X%L+mx(3a%yh+U4tnf;Mv6+7w)ui53OdXMlNm z*9AA^qYA{em!nU?jRj!6i5fSJDY%)Kn+Fthq=7ka$p!hh=AcW#ZS3DhuTJ(mI~3er zi3tUFRAE}dovjMG3ek*t1$R;VZtnTM7u=JFSq0q<3hw3l-sLN~_fh};5(PcX+S9J! z0cL-I-VfTCRPYejz3FIG@Nf>M6g<+Q;8A+_@f?pa^J8-g9v@QhM2&*}T+AqVlDbcE z_H;Jp74Tgyc!qhNCFZ#j1%n=D6+B;$aRo0>|3z|!iWR&h5dU(wf>+uV47VwGm3dz) zSMYj)f)RSWk*VO#3{dl}E(N^rg11`~ypxUv1@De37^D9C+<#D{V4OZ5a{XZq`W1Xs zf)NED)AQqL1ryv)^eXtIRl%n@py#LLe@6TyGkl%^=U>qOi)v8g%M5Tfm4;@}_p25K zUuT2;Z)`MTSiy8T<`sO)yx(;x_&y8N{+_cL&SvHm{LrJ|M{<6o_fMSv#QkiAf}bN0 z_Y1Xt<^I;508WjB9s$hX${}h0;f2$Snn`Q7{ zvqI%!K;a4%SWx)Cc7-cO=vSClgb9T!H7Z;=2jdD?X;GM-z_h|u%P^pDH4hyMS5HSB zMipihU{>K8H5gL3WQRrZBv+)1#;ITcD)Mpfcy1{ zTfa}?1{vUbgE@uSRTxybA+Z}afH>ZtA@9#{WA-+#193Uj$(d5f`!n2ROyQ&2P0JRrSD%^+X-j^Ds9vac7kau6W->|~{ z+1sD%{mDO|TVWaf%32j3m<9F^WdERA%qcvW-sL4=mP4p>D7l9+>tXaij9wKy>)~Yz zk4OhSj%2@*nJZ@$9@V7q=qiQB6e+AqfW2eMJ+5Ej@${?CMvKA|=zBsrI6IN}6Q>lO z)TXe8oSJThC$o1-4i*%i%Cpt>C_Jqa%y~L_r*|nlqXhJ?Bd4xc;Sw91E#dmiJoGC( zD+3)0>m%?iXEXEJ)IUdP!kof$nWur=25O#H4A%3xKYvu=1s+%%>D9;_7gFOQ&Mq2I zcrmdTk1K4dP`ES`b(mIoNiMn-E=$9p!sY_7URs6;g_l(+yqvn1)4Qcd;T6=mVn*SW z>|aIBRecIus}){N&8yoKUc>n{QwpzbQP@@rVy|mecs+e@s8rZa-FEhPSB3m{xbWs# zg&jrcQFu!N^$Ksz12MN1Vpw6Phc1P;bAEfT!aG>+V7;?eVOJI=72egL@a}wt_oRVX zzN>}ZJjcD%yN_qOZ%E<&8DNf{Tr`5c2blMP5rq#@=fNt__n|sWDeR@k!|A9-zrsgK z6+W7cCWU*161`qd12tYDZkXp89#Z%!bG}xL zDTS|dJ(3P)c%u~5ddtI%!qI+(Z&xUMM+)Cfpj+V>HQ%God&3If?@{xu zIH&NVW`!R|V3vtdg`ZI4(wfRxMGq8fUBLU{(>|?V>g66|G5)wMsFrD3kci z0n8~{oA`AKFrjE&>aRPkD63V`df6CNv_5C+_bS>T3w4-PlwFQ~MH?1@`8G;`J{z;Y zG5I;w7*@1N1mZT$2emgPcQg8JM&H~9MVsefK+zWLZ9$zy21OBb#UALJVsA_OY&oeYkJzoK zwRJA)(4%OZ7Df5=%%4`YEj4)`McdQAfcPD#%eyGrk=PyC+le~7kD|gFMLTC=MA0tQ ziunC8+I3J-QH7%2N)_#%4(jZ|9D58YDlS&ECwqIgDcXw~dy~8OsG^ceMT2Xj7I6pWSvGVmXh{vG6rI_r=&VRleK}?n@m(r9rwHtyOYFJCHspiY^O_X#&WX;a&IQ!FphHn3 zxs79rE-b`|qKj%3T`Z8-l)!|drQ}^g-X*h&mT}&kg*FT-y0k^nWf8c)yg^Y*9>x@1 z;VHV3&)~{dMOPIoYE1((U0nd`T+^%Q+FC_z^k`$hjXu{!7*%vV_cu%`YG=K%R1xo- z=%y(}H`gfY;8{AlFr(;}enq!7E4r;rQ718-gNknN2Dx{TduOGht{jldZ-UX?#PFVp z?jg6E^Ly!cpFq9)TNL#aVL{OYeTp9B{2}W0W?)Xy!_#>I=0#@X zeGv_@KSaNmSYKj&xeyJCUSYmh#uW`S$MBS*S4%LX=(To5ua|?pk$UtidV{?;n-sm3 zgHc7JEtpjFb|=VrCmZ96-t|D<7`?_S6un3Md$kx=^nMnI`GA-Y>cRCmvy9Ix`mh?* z{isOM$7vvUg4~G-MW67Qe8O{lT8ddkpS3BP6zVXi=<^Z~_XV}S7*zCSCWaJEQFCfU z(O2w$)urg`bkO%}V!vUAZyGVFi0@L-^r)h5>HRHpe%Gw%`wTQG;@uR@Oe^{!7ww9E z%mMp9GRIH!|EUu*ie|eN{hS5r|B{9QMZZ>JT+v*MqTlHETaTjOvq8=uRUmJ^LD8S= z{Yl(kZHoRb#gw9jMl2}$hhG28EBd!r(SKzaRIF-DD_)@ntpBT1yka(b6{qE5Sn*2b zm{YuRyW&-H6sM=5QSqwjs8_riajOx(dadG&OtdIoBLkg^*NiZscrD^Hi_oWdZO+yn zRJ=|x<`u8op*X7)^k0v9>(gU>`fkAa24jk|n-p)Dz@*}hm~*2A#TzqAP6?>DNjAC^ zZ(4u}#hbM$=DSmzOWfwU=ux}{@%+XZFX{kmf|^DisBd;EwyG4{%xcruA=WKdob*6X zuUWBgV_I>5a9lC}LyO}^#i=axD&De8ah|~bR@B})7jufYsZq>(Dc&{%Q;N46QM^5Q z1+|KIC{(;7aXYfVQ=8(#e8oFcXO~P+bJt46MMa8tBX_qU#k{CT;URDAx7;tQDV z03+ZuDnc|DHFs!%vm*U_tRR=4|d$d?~dqWyZ@IKj$&6whAt1zv&ty%GPj1JxK% z+((VahSixodf-jl70pW?H5+6Hk0X&~kqVxE~&{2cesG4Eib;^%WQ zsrZE=Q0qnFhsrRc_$97iPDi)mSI8S?eYHjLYn;Dcs(8dkr{XvA(V_TF_TFs9pyIbY zkTWV&foFKTQt>;?_YOJlGT*!XipMH2q?q?j{61&zcPaj$810J3dA@OS#`_e1Nc@M? z_-H`!$AzHA1ie1VRs3lh>M^JIvr)y9)Z#l${6z-H{gU`E7Zgv?=c@?heofBT)r!9< z!L;IOX8E=l^!Tnp@%PL>BT(~)F~vW2DE_Hb@oWOb{M@Semn`%s{cZse^jVcj8vUcTT*9Ba`LFXRX(V{)x1*Mu)j^GQu*}G?^bHtEKqm5 z2Bo%VEg)_O&UdU)YA5n`;xj2EZf8D+oq4`p29(-WV83WasojX#ZA7Wv%az)L8TOb` zs<>CFJqs|X)Lzuwo3oM}^eDBsNvVBokiTyw#*`{;RBAus_s<5o2h=H5Mtm9jyeCoz zQsW?@7UN1C+@}=3lcf&HQ|eG^99F1Q1@RTkbNHN6M@%YJnNaGeT+r`mu8$GOscHo0 z$CiM3j!RSO_~p1ieo(1u4?J)6tWqabgV+<9|3rG8REz~bQm3^mbvm)9Q|pWdrRq4ZWBw)dSTdm$?~WAjj?`K7sBZyrXE!Rv_m$MS z+2~WMp%TD^eP6#va9by2QT7iVBWDc&KerR*(j!@N?wM^cy2 zZyD>d8Ks)b!CaTJUdFRuHloz!9ZI!$;QER#Oe%FHJ+I>Ys!H@L)mn^RrLHbi>Y9X7 z*HXVN2jpB=rPTEqXi@5hY*4Q~5AB#z>c%oqdX&188M+3Px(jy?DRoaHMwRN$2Iuz{g4}!Ol)A4H^thi{ z?q{a^mtQX^)nkL2J=A(24O~CK^@HiC0M`$(&v%~GLtUU&ZxPxsrPRZvm{97G>i<({ z?_sr!eHh1Ygb+dqA%qapoM+7mA%qY@$QD8fA%qY@2qAGf{2ipHruPVMn=6}?B^ zd*r>(jPG}-=z}~|t7yUm^M06#MhvOwBkFwA24?)2^N)vBG`XmvPx@8#zbw>YUPYf$ zV@jar)SQYwD@2!yK4wkmREDz9fJqt4f3c=YbQ!+A2 z&@N+Dp;pFftgE@`kg zDi1xFm$7vs-Pz6EHJ zu^)SUE;aU}&iRBKs$GgP4;$Wz^MSQN}6MJT(o2 zGENJ?c|AQ&XU5a1dq$ItGl^*+rh)sjnq{0_jX4?T49jS2!>o*RyJehb$~fNz^_zqm zjLEow*)FI6&vC(!j0+Pi$he5w7fs1%reE``cp zQW=+Xefa>WaRoK57?;sXk5=NZECG90@hn%7cXfq~HgejAWL!huHMQuMaV_h0UShEZb}FHHxYYt1_m%M^+?aVs&mR)O5xnBlfT zEXugO785eM$nRpkgL-##%ea%=J3D0D)hVO9OUB*Qy}JSfGVaMn9eA#Lv(OBlrH6TY z$nBx`eGQnAaX!x`BfjsymH0=hK&_>$ zOX>A!F=l1-mw~zZxqfU=#^dBa&iNBfG6vGY{gat!#Egumc($i{WjxK^(_JzK$sZiW zqKs$Qf3^VBd(OqMj3Lg4s5Qjd^PD};_4CZ}LMvuvyolid)P9LsU(Q9pj8}3{DPtrJ zZ5WjCY6j{tE#tLr%*l8?K___jQTEUG8Ikc#DcJvJPR6(S=#lYVCYnKyS@vex<8Kn#n6XVx95dT{~sPTIa zsQo*A7O1tr*&hX9u0Pvl{3TR@`io7NlJR#5$oab)#Qj74f5v6}Oa8y)|2r>J0h(kk z!@5ixW@RpGVnF6{gLi@PJAY{Gr3+P3(Ydu%*M3LwaCe;lDT%C%ylwAoplCfu3IZJ zy8!Jn*JGCTda)przdy|Nhh%PGqDy8@KG@%|4D4@2ExvO$H!emasGnPod6}D(VqE5? z)Z3JLo28)=%#}x-Jn}Xte{*8CVCF3|L7go}W%BojnNQAE1?ZQ#bsp%s^)TjSZqq8W zAOqbpwSXSehY6WG_sJ|~j^Y`ayL8IjwF*NrcO!l`>g~pUNfzocB6Ifw@GQH} z$=st9!!q|2nm|9k^Ds-x&?R%P3{ZP7`s|$vV)iC)p9Zj&RbfcxzPaFR-$|MKx#*L* zKRx%a1wG4az}^AOZ~*rQ=7Z}4xjrZx@As;c~m*5Tit+J znMZSfbSD;M9z*^yLo$!e0N2NM%dE*kBj#luR{-LVxN~Xl7PKaCS;z<{;9n(Ps;+&SkGGD1kO&U=IQO2mw86H%ri?c zF0+A|&f=NQ=4WvBh|F_1J7+*$ULuI=K1;PklDn%O?@&iCiw{hRrDD#?3)M8fVwRJMD%R;}*_F~ZQ`g$W64&1>^RW_{ zj|VcJXp=dRgIZ93U_|DVF4%u^O6F7KJk=%hX@Quhi5WCe1NuKx2>LwB`LpajJ0bHq zdOkby)W-_Mw@5dX@Y%#l%Y)6bAQt!^V=HC%KUCn z=4>MKd*XjcL#NCiS^2xg{E@llT+GY-iM~J4_h;(-+#~ZB=KO{I`8JuqviEDZ%-^W- z8$Eu{2Kx)tSzxAxVVQsApd9q%dlU1|ewlw&gR@0q{-(y?qcZ=gm-#RG|5jo|mRt&1n^vYTxA8oQ$%tp7Y^g{H=TB!{4vQ}=FwMrIRWo4wH zSr&hLSgTgaS}hawS-lwjvN8+MEo+SiS!?2GrPqn4B8S%i55bjfmNZo*S2g`njCt&dJ(@dHCDI+LWA4 znRU}?S)1j8UYoI>SBC{zn>WeYq7v+FN$i$WvhwR?ZIzC8SzG6W`rEkZmsP;tw)EVV z>+J;cw`bj+-0j&b%t9lmy#qaV7?xF(jcN?YGN{WJ2bM7-%Ouz2XJPe%d%I1RlPk;3 z!MH4sJ-*MdQp_A=qDxko5Bfv_IFH#&O3^86#{|UgI3{bSdeD1kdh@r0RZL9rpsZa? zu)izot{t*=%K|xkmtpa@gtdDf>SXP~y2pepzQeFe=~cQYYcJ;Co0xsl&?>8pwT#$( z>A~L#*1q)NI}D5OFs%KiW$kZ*wLAlzn3r`x8G2`IUugS6!bs6PSzP|7?yP=duNWyYABI)mWd8oXXk;ubEtC; zJ@|(Zx}X}Id5r} zbs6WEb<4V(=eoRI))l!R?uuDit<@Nnb!7pn&?oDvJhaNXIt~A=6SCTv;hIF&wd`HX zjMvidx*E*N;yVnheO%V{r5KTQ193Mn%Z-KTl+}@iHd!}uesenLeM>%w?aV;8tXqpg zjoZpFD(iM~Zts=V#eUbEtUIW~_ZHTj{j%;V$C#|{N=(bTyH3_U)V+tidx^Q1y`E|? z<9*$-?yr&cfY2eUm$=>rS$s!fJ;>QZ%=&OH=*4^4dc*|#OR2Mzy`__~9<4&Vto|I- z%X%yWZL%KE12IpqK0%KshOj7Wpas*io-6_PPxZ-qIvY)xk;S{&8sz+$YOp?AiB4J1 z<)BN}kc%l<&$r5YLFmVXtQR{#{4g;urK4Nc%jCY2i6L1db+TT~!nmy0$}lhM^+8#q zZL;2=*P8{P&Rb2g#_~bj+l^S1^$v0GHp?0>#h9%3DrLQ&0qTB0-Urn9fVc_jOpM6- z&;)aQM9fF^n3DBz1L!%~0%AX*&;L08U%#wR%P}Wws#Vr!%>Eg(e@4vb^!y?ReX^#D z!F*pD8^TZUd)-xYv$HUrE$OYQGV&@Jl+_I^y0 zHAmmMW?4UR{S&kQ9AH$|FIAY8HP1TF{jUk;W&K8f-pAJO0{s_iWc@*{KSpHznS}va ze-ZQ7f~>^~w9ES2M6axW3NR$=-%`xWRt;ulFH?aY*~_M(9G$Y4%LaRC?4`}fUcN*2 z3f!-l1+LTc&?b8&6O*!6ZpO51-oy4Pt@8}6@%y7oLZYxXY)nbTO?SJz2%VX{0wx; z-l_~!vbPQ}B6}O|x0#n+z}dDgxZaNZ?WwapeG8kw-VR(BmB==P9@!@S%n8|6E#_p~ z4YHjqbjap?Yr9jjJ#u`m{TbP*Y1zSoZ2s-Qj;b&rJEl&;9Lc!s9cyIo#53;HE_-M8 zb|$Bo>s@j&B74_H*}IvTmCbwA-ksRp+rZf##O+C+JvrmuYL|}5-m6>o-VL(%DVAN9 zjvm?jCg9oj%LDiOmtabEIeQ0`Vp{fr{jv`t=OAXS7?yo-lk7tZF(dm>>K!^NyRs6* z9Y(#w=yf>#kD&h%TvxGwWQ*)2)LugEqZ(ybb5=bd`{+8^$K-?kW4mPYjYqTL6Xs>tR$@fgaz8G5kLX_NnZjMxWDW zW!Lx0KD|vg?@9ZNTG?lkf98bjhCHyI)r)9o;N1@{2VY- z6Z2kBj5*mC(&wUb+0Dc>Gv~$RU&5@HW`Q|d=zCeeY~G9Z73{YX*UCNbLi?(85OZ}Q zhGe%@$i9ZWYp8!MXV)^vbp;rZ-A=#uMcLQ)$-bdl_Kn$~S4W-fo4CGdO7_i7vTwLhagBkm%(Kjah5qd0Tf9ZhiM=LNayPtU< zRA^m?uAQQ}6a!@J9VGeE!Wx6;rg zoA;MJ#*A+lqeu2T8JL&-F0+o4|DGwE_m}vz1%rtU~N6gK{!ljL2D) z`&Fs2T9%yEg+|QF$)wL3%(4dkdG|PL(QB=4Ia$SW*5-QcAvx>RVqDI;#AcVv;a%gb z$Mt$sa@G&9C})E~IXU#sVcn2^8>NFec;`49kIBg;E|*%Hg1pU3 zK+P?<-(o_}mdvmvx%rK9w#vhtoUJ?LY*U3^IRzQ0M8BME$=!BX&URgLwx`$joEOro zupXQj&dAw;UOP~?s1WQKoSD=x$+OtA7Ub|Bl;aTR*2?i}^duFH)hz4m=a=3 zCgkkiFK3S&^vc=O#GIVcHaUA`p-0Z%%(9Owr;L~~dhFXQXFuZhF9p}-)Gnvr0VQ${ zOvA98gU01l(7$3)&LMedlyhi-oJwj`Hpw|mC_^XaM#OzHCn3i(^buQ?Xb0M`aY>{(O8m8nlm&&=AXSsy+5_()pUQ3Of%L?UO zPR!-Aa;~8E6(e$5>Df9V=gKxYSFv}sP%o#A+SgRcxt8@hVyFA5>%a^T)M8jp zFZaBsoCm4-5IGNx%i%rc^qF!VNdxDPP-TtC_^r@uxHpT(TV2IM?W?&A}3 zo}ktf{c;AV|73}rr|>lKPmjnMEJT+a-dWBwy>gyykn>!boS_`d$a#KH&I_fOlJg>a zFH+-0@`i`xyp#=MUd{shFH`5`aXGIr<16hL#=M-7JoJEBUagVyT9usFiFut~uTyK3 zI-}&h(Fy9kNw2rKA4|}IMLBO*%Xue|^KJ>KIbJU3Jz-ML``vOr_z!UtjaZQLA@Ls( z{}J^*rp6?(lU#q&C5QK$^C_lsvD0hP< zxj7|rH%v#j+>I*aZk&Y?xw*Y^H|fHt+)cAl24Xgyl)G6m+T`YCpib`QLM_PQJ?3sv z0A|{9KyE(!d}ea<=j3ih-d62$x2E6L!*col(%pubf*eq1TNA`?N4@Q+vE88D?Gq4N zSO{`=$VUSf(?+-Bl0&IS3GxS;N(g_w}rLTpPp zCgonn`Q^-aMFtk+wwh?hxZEqryOO!C$^&~>(few8w-M7eAom*TT>GDHx!0wkMK13+ z_j>y9esgc6|Bb|Tlww%!O`P8}Bll((HRu5MeAaSr>6hEd?6-1uYp2}XxW1kJ+sW&y zmwQK^+&h`^E}yHYNnwcL9e@FaboYLfdjb3Dx) zgB^08sgwIG_s^Be9ZJwG_xS>l_X0g%=$HHAgxq0z4v)!wsTf0YUuG8GP3|ky8)5I& zTyXtbD@NqL&fe?fj#hzQZ!p6f%=PAw+_%awEO)FM3v%Bk_HAmvL+m@myxSmmJRKEs z-(!~d1+G6JZi4%XMY$hRn|I&a(e~HfrVm5Xk+pSneD-b2D;( z;`*m?xj$3q7h-;44&FQNujv?*`&*CP-)rP9d8@keRwHM%R(Y!noM)DR`fC)*Ta!Kh4b5At26OVVsxdB)&rjYuo$}VDM|L>| z<*i5FdK2>2&qWia=6Yk|b8A7&CINcnZJLgDd7F`&*DP=I zDtTMf$=i~i`Si)3l(!YvTMPB_w#h=DyaMJg=#{r^vApf_F)D9+`ttwec!lH@F38(~ z`b7ok!mK=_T%Ji^vjsetRUyx&uH7xqsg>ut;M&VX6UOBErC5}gDgko_mGZ(g^va9q z8x6>dIZL=ss^#rSy&dVdBXjT6hIx5A56Ua1-Y&%$m$z#oZ#Uw0>ycMdh9P;o7hqQ2 z9@O2F^F2F3E}xgY(rI~n)nQTI-YxR>sltT3GUCdZscc5xz5)8=?MJ=+*()dKfKhn| zl6N5e4p|Vah&gOZ-r>X?kuR?*4UO`S%*2Si zC7drIZwdKFb<3-!?$N{?-6`)Fp5vGydB+lSENe{}=H(qXE${e#c_(mwLJQcdEe3T? zOb6>p8EC+aypyZt)p5@I$UB9cQ^w_;$_%IFU|3##35YwrPTm>9g1j@Cqk(hYKi*mS z;Owkvd1nvEJEtC#@*2y~Chy!#jLAEX9_J0pJ3kl1HBqB!QQifun3Z>7jXXYEc^A>Y zxl7)~%y@C1yi2Hm3Fnvg%4=cfmJxZE(c^OJUQW*|I_0&pcO~_&?7*D7tEhF=ki4r~ z{@GQ3t%e$SrUAW^vqw?-F!HjoNubcYan1m&a!-?|~_Ky{r!kGV3d4@<#gPy*eR}_mTH{v%Jv(d2i;S5!8IkMFYm=jb($HWAx=S zlJ|C%ymt!Zz5Ab0dE=!RmiHb#-=og^^nIV2A7r6P-b4oKFe&dtX84fUkE-Q;Ox(xx zpQO(ubwBBr$7d$*Q}RCTkvHYa`;6<)X5@WdEAI==rui96PssanOx{=Y__{;hOpUy6 zi2XKO-gkLm&e>LZ-!s<_-2XuBABW}5b;|pR8b6nVyr1Xf{Za{LoX^L9Yp=Xt$>ZJR z{njS$cj_*1|3{&`Kgs)x`@g2;EpqlZ`+t-3H~0T=_Rplee+T8OUH&rV@|P`@zZ}(^b2Jo&q_?m8lWw ze)k4YcMtmPLGL}Owdc6}QeyTRlD~Hu*x#oD)GBKRHTF#~FMq#2`TJMNFQ+e`d;9~4 zJ5XrBto(yGJBWG}gYpli_93P64`r{CzK0cHQvTuO9Z@a6iu)sT2-Ox{3`9xy6ia*ul#YmPp$Xc zgi<4R=^zbf~uwkfq*0f=91QK{9bk(mp6tl@&VHFGeg z6z`W*7WK2JpEae_+Lf48YMmCP)+J_L)@*uaPb;+^b=I#{YJ)-$lhdcvh80R}M9+<= zxiLL?m!xv3vkCE=4l1=7^17AUyk4m-GSQ{fmWfjN#BaqcTTyds?zf@FHVaDeU0P~e zDYacLI+fbKODR6*q;{Zh5iv!~WBg}MDU*HP87X^2DVH3NdS1Iyehxa6O68$VslWvB z;iOVg4ThA8i_xbP?~hbMUP7H@OsO5~K-^B$-l#oSX64yCZ$R_E9Go2p;xKBE0o%&3{y(+{aR|@4yE?1 zRce11b4rzWDRls~52W{j^GY2wq*O(s)WP&Ugt~_oC{>vTW;l%8!^u6OTq)iusUx${ zqSO+497W7g%u~%?HM1N|{4onk@p&axgX7wjI=)q@6R5#wl+=mYN}ZIc)XD!LzHVHp zQ|Woygi`h7ox%PY%ykC)yc<$ywt<=r^&sXf<~W;}v#EOyvz#-kR3m4N#GKor)Oi(3 zoll?h=agz1QR;#o%qn$Zmr@rA<(O8gxdvlO@qJk8l1dPF3G-aqh+(B#*t;wX)VPef zE~oD0ElORHhE}CobI}WGU&+~(<4Rps4QgE7tW=wcexaf#K5vEl6Nbyw~>2$Avo`1?mH%xx|5u4_IOvM z?k4x1W~J^eK@%pF>d8kH`jp~*k-BdHQ%c=m4d#5HR;k_`^eDx5VW|gsz6YuK5Op3d z1-<)N`^J@egzKgBT1t&aYe1cT@_ARJ9vf8Z@e-w;$V97B16deV>PgO?r1w*eNXJxV=K{PP`3z0iO~rCwwmCT^Jc;c2B_8d2(HW_yMDuMqdj ztWvx;QX>;ey;`r-Ys~jL@vk%68wKdaf>Lj`DD_r829+A4-`KcPZzoEKx}3nx)iLD4|=T0x@Nb6wX!g;AdC35xn7&zYcD8Rrxue6)-6|%O+7wW z1liPIuU*0V37CcVK(GOG<80xmydZ3V1gJ+cYRBNJBZ8V_Rx&JELH`b_Lt>Y}?bX zumU_&AvJa=!-9e$&JALXAq8eOIJZhMs=%%XwH#)4iE+91sxYX)uLku~%#m7D5ReyA zKT5}dg4jf#0=^Fm67qH=ey2Q8cjsmW#W`Samo$tk*tJu^ZZ60zX;QGe(5+w(`tn&M z*pu^8YL*Tw*eesI7*eozvx0rf6_io0jDGtD=vS~G=ld-x*q?so6ABI>|3G5-3=&ij zb8rTzeej5aL$bixq3LMHn1V`rR8A>4j9Q0xU|hiwEefh?K%c641xHqc8J3WH6#LbM zm{f2Kb&g^0*aihP^gAwJ0iQ*Js0nnD_2nO zDma}wXJlhS!I@JE8gLeKoXtI-F@i>N&uvw3UXFtEd7kqZ6f`v|xWH9#VXcCTsNc-l z#UJ)V_LNL0hkaYpN7nTchB*Vg>EYbUm>* zv?{oEn+ZB9og8Uz<6#Pi+k7Ekv1{D0nOh0!j_=Vj0 zOa;IGXGj6>fnXsG{45rD9)AA^e-Qg8_kYeR_^U+0Vma7bM^Qt zoq7`pLy5sR=7ce8HG7R3O6K%&kNzkS?E-lTc~go;x_45 zxGA+aD^{4tSsryauT;22KDgepR$)H-`C|&V>Q=aQv%+o2-G;seJqow2Q^@yC;r6*8 zzOYH*4($qy$`l&ZFmn`I>6lh%k1KR~6}pWIJ^1wsQ#A^M5``giM?DJT5rql;5^C(o zd^@u4lnKsuPB5vkm|VVZ3U?V&xGQ~jD+F`yHm0zo7|c*IuWm7cnEoi)}mWsC9_o0|FCI=N3<#AvqH%4`S3{ABgtP9U_jwfx!_r<=~X?i z@aRE>$J8r4whq*;;kt%8$5mlb;qlZvfgUFiTT8tYyA+;8?#cA88&P-)F{dsltS1ITJ$P>fVc;k_kn4Jy~ID5h8~3vu|CwS@Zkb9fE3ZJF+v(pNnYf(5vouN5}&yOm6VL;)FIha>COw914!k3B_zD(ZBZ*7XMy@Z@a#X*_a|!p#P!eQ z@$VMld^V`_D>Z+k#_!}U(Cd!@g@4v5{HsUdBIkckDg0+#;lC4#)TLTJ-jD2JR4D-~_Td>aib+L-&? zaz&dk*CyO=I;dzfYUEWY;(MZK^Jzs}j4Rp_`J8Vxqi7py7I3z0kD~2}+rAOAiVAD6 zsEFV5QBf8;6&aP7RAdrojw-Uqu^SaRRf^m^MP7~~Uy4$NXi*g8f|!u}kUA0f(TJkB z9E*x}Ohb*LozlV2XD8;{nRRFS7q@|RmjK-$ephPkR)Bg%B^l^dv^za_A62wRi6Vag zM|%z_Dy_nTqP^(3ccN$?>hlhW%4QYq+oxzh>_4ffyjjr!mDM7@K^ zso+@;&c&3XL+E#CCRi(L6&)t@C^{TR5OYL_qN+sEk?bEisAvhXOUPfsIo}yYM>Swh zQ8lsE^gcQpor;cOJ*Ez$ijFNn7p4@|xad=KTt0|9J{@HkP{hB3M<)BZ-VDPy-Lv;0zJ+c#-gG#**mjO zQ9~W5a~A8_*=WL)qI1d>H8NLYFBTM?+oYqoy^Qm=ytD+{>rcOl{1Q=9wAvG?_ z1+z3WM>BOUZd7y$dzZ8;y0jK!idsrBspvA+%X$@Eo`)VqSL7>dO#^#Za&{GYR~KSh zQCpLuYq-CLylWd2U6+XwMeWSlKC0;YGW03Bp&G-AZmhwqq7L?ND#Vzgo2hy8ydvH$ zQD=vuTRFRRQPFKBm{4?kCy49nQFI5r?%?dsAw_q!De9*G-OP43dG|Ccx|crp&M4|3 z{yys5|DSP14^X4GOVNW>iXJKibsw%!)Rzn9d}K(`(hRgIdbCzif1RSohaLD5shKGmz}X=Z$yT7zSXo*7W|Y@Z_D3(*kgL*0s==lX>jMK2OJ%-&0R zm{s(0kD^!F6^&5i)h ztLR(meaGHxg`)5IS@L^5`f*0lPvref{4Z^a=JA`U=y%Q+Iu-pft>~{ZMSm0XcQyJI z{UZ!1`nN@~gg(W~WT6&=ikHpCh~niqPcs$sw|~5RGv*YpP=#T|D^@5@FF=RlmD13L z8O1BJuEPB)qlz=S6|b6ue#QLGk5^}Z^##S5?5|O-nD2(-HCr*Ic&%Q=Sv`u^u2j5E zF$NT`OI~)1;`Lb9r{4y|=eQt$L-sbJ_Qu3++^0BqMDZroiZ?A)ycy4s7obb==4qHv zyahR1Heo?=exu^8Di!m+PrP-5;%%}ptGIyKw`I=lm}z_JZa<^AuuAa`C5nqO6&u8x z>547RtVP9k2dL-NV^p!rzT2tTBgU)7uwtJ+J~1h-gGR++Hii^O4T|GD#Ys6h-?0TV zigzM!Ct`Q5QCv)&;{Vnu#k&-Pbyw!wm0r75DK6o>g#6vpP>N~AdvL#JF2)s?_ABOh ze!Mrm_F?{gdKH%?7*o7&z2g1474OeX<%5d(cYyf74AA4C3Jfc*pjXAL;)4q@r}&To z#fMV+&^F8~uIyBNSPAHRICCCO?h#{(tC|!aN&O||ijQKg&Or-^J31fqJes=4l%YrQ zvFTv8WBEDMlz{p*lZuZk2It4q^LWlr$OQFH;H=gK^PE_v_$2D{{ZD*ywcx_ZU!nP8sl8x-@qIlhrOZk$)l@8$R=p5Z2X z-At{U`xW29dJAi30Ag?D{MKp3x78}Xy-aZz=Xbb@@1);dS!h$-P2Al%Am;8~#rI@@ zUiVBWzL(g0n-%wDqFeEO#NF4b`2GSg(*q?KQQT`{T=9eSc#yn@*nfzh@x$$k`-(BG z_z`+7C2r}AVt#kW{iTW@qt0XViXR_P{6xLt0b-vd=BX@9Dt>xSF~76pXWA7%OP}X5 zQH^26L+PjjanILaQSl4Zcwt`gixr^faED_4wvS(8kH78XSF+Hnc!a%?amBATD1MDO zUSp=$xgJdvzmWst-z4s>a>ZlJ__jcOez(W(a`s*ZniRj!{`>TJpI#r-V?yyn35ff! zTJc9FrWAiXpm>t~$yvpp^eg^ft>RDn6i;<3{;Wsw7wKrkyy9ujrsouYN&T<#!2Z`c zXi+>DNZZzY+HvHF;OW3*;?u{l|pjKdJMVt9X&UMe6)LqWB+X|F;$MN;Icr87$kZWVuRo zD@kitvV5146*`ox*r+7EM9E5dN>SWd{StA#nO4iH) zd26{!va&%=){K(1hq0(+ol1--S+@Z6$`;B%KfVJ>*5i6T>aL#&>a0JfWCQj#V9lvk zvLW#svcDmHH);dx#;rl5HlH6f7#)mbtdeM6Z(V>y#8yr*KZm4x>tnCX^VnN-TaZR+kc+Jexfy zK)n*TOo^8dYWtaJQIg64y@PCwC<)6!Zp3}m2YSZj#sf-{O3WzPk@KB+rk%*+yQ5_1 zDJ8{CN_Hv1ypml9mF!lbq(taevU`V;J;>dYntPI8+Mr}FX4yL(6H4|OQc_l}WM5aw zeicggZ&p%1pyUAR9nh)dKzbcm1D^4qVo<-rM6Z&A^FYiYS!f0I53RzS65bujVdNc7 z{^1=;jtG=grK3g3k&Q~0FyE3MB}eg`)y!~o0mwUMTFJ4c7*$e3-5O$Rrj#5<{&B<| z&z#4%E8$&{oIuZ7>eu!wIk654N=~BZN#vef3GV9#mGD_0Ifd&}>%q!rfTX@l$?4@v z`1?OOgL-FHD`_YOGn~a-XE!Q2hqH6YZ=~M2ZA#7~|NIIiO{^E>I3vy{lGpKn z@cu~JN-?YCntCPI((l@7CD)PDPT%X(F{$K+UL`k{gWL{cI*9EUQ^NO0$<5r~JfP$j zdfYnHXxJf05nAD>n71bv?%Z-CeV za-PgYosy^0P>4n)Pc!q=%rIC6VxDREKa+MFR@vD9fBb_GLI@#*&=5iwA?$U3ySES; z6B+vJD|i^9@>?7FB|U9_%G@G<(Lvv<)H4@%>DJC65o_5 zG0pWfb-v9(Z7IoJq zC$m7tI@DcfRK~i*tjAtfIR<2`PyPlqGB&J|kxlMK-7+?&{wCDOVWylm%*)s`2Kk#& zYqL%no2P;NTynPXWo(%zW2^tn%E)V#v2_I&WNb4nV_Wk0<}em@$=I$0gEF?aWfTx! zz&`H|V+U&PNZ*~PUzmnU@T@xz$=Ia~Gct-YF(TuCwV*EV5Mwv;cBlXD6EgVrF!pGY zv1hl8y*T5W!zdxQWK721RWkPZ&#;Vrsgbb3YGi|bqgRH>YGqwdY2F(jij=l?^k(iRNL*uMbdG7cc; z0CLKxUq;vsP-0DI!fxY9XaomiI<4Zx_@e49eV3rd& zKVe!%4Y4&Xn3Zv2114mgWTQvM$$4nRoD9B$j8lq1?5SyJmvI`or}3NA3DuzA=@l|~ z&lzWQ$T+hIeKP9Vs~-gCXEk6!#@YNX=VYNxMnewzW$=w;oJ*Z^CuE#gCFA^TFh^qo zoiZ+nWn7qnCK(r1%4jM9`%TP#aXF}U3450e$+(pJX69^elyO-Bx@0UX!+?y-6PS|G zQYYgI&aSADab+gRzlyV~+GVuTr*%@s)%`NAq1H9@xR&d-JW%U8;;$qBx)~YQGxPQ2 z+`!oly)xRV(atm6ScwrCH*tScr;M9(&?BRRKDT6p>sy)kR%+iyY-bV3zny+}WPs~C zxxRB=Mi=>a)ylY=8vL7zaZfI&)18HO8TS%@Ujb%h++P8nucuYU15Gj>te5dnETfn6 z-bon`_sMvKy+_l~FQczV27muD9;f!>^m(FGMn84?snb6pOuPc_PTx<b*HO9-)|dbd{+v3@IEwn9~$2?*Gz{DzNL&Gnq~Z01ZweaG=A#B zf{a-k#LSM%_&Ea==#lXYHGb)r@oPFdLEfA|-W)xC^TG9R^x(V8_`Me7{ZWV(8S~`L zQ+uAhKQmB;F&Td)&;aT!=X`mejD-@^gJ=J{O~yae`==e#GX8CssX`3MTp`As%oW*N zDGe<$(=x$++NjKx%P}Eyl?KeqT(wPRdI=_FuEyT#zRWd*QjE#WXqLHV9{OdjRfZ{< zYm<}7^*Y3^n=5m@e2}}|w9Kqxnd`H^0XZ9TwjuqqD?#2yHtI1hbK?wDf$L3}eUny@ zpF`c8KAD@6zbQ30ot3#+4TfcIP8{EF=H|rZGQ$?cY|$)p%PjQE+^Q5~GV@sTdSz~1 zh8~&Q6k$l_wzc4X+Xb2VG3I41q6hD1bGtT~+qa@mW&v?KR-6887bLKRvuC37EY?$aW3-!u%#OfW;DOQz9)F`1^o9`A9}szs+vn^?O@ro-wC z%XEuT4bI$onI8B28m{;;!wI*+z{v?yqZ=c|A3*pOkq+kIZ)R+nKYS8hq!PH!jG$sYB+??J_&6 zWb#foZ>hzI%v&2}-c|r&`Q9~eXa9~Y49UE+82vK4a==;Fn9RFuaCUbd$}lMNo(9az z?5+pB?(LCzA366`qg&?vO)`79ejs1wgK41GL*?j`**hTf;Y@VMN9$zv@w|QX zcq{`|Xp{MPrOYRM%*yPakojaMMrA%#3SysTmH`_JGM~-Hq|E2~We(DRa9rl|Su$Us z|BJ-D$b3UxGG7{&`7*P-QY~}Xm-%V}%`#uh1beUNg4j3mK+iXcd87UwzE^@KOv!w|7Nashp!NqNGRKQiBlE*jjLH0nypOtNeoXvC z4!UH1!uqK|txxA=epZBPa5kBTN_1jE=I7a<$LBpVzbFLz{2QD3CH21Ke9A_n%&!VS z{#P?HzxL6GS()EZ@0%73$(*L|bUB#oTVlTLkog^X-*Nuku*~o4WzOVcTILUJGJmA@ zk5e*#YLGcg@7ZpdKa=9b;w*^iV2wu?EOvL-(52Qq1Qic7?=5P76xP~6ZNuID3!Hh z1`1J)FyF4;uU%Fab=I$uwE;CYD3!HgA*y6$$Feq} z*G8?fHuhz0Le3`nvT`!eC2P}KS({;V_BL-szpUIISzENp+OkE~R+X~y%4BVA%i5+u z*0#B_^7CXZDg`l%MrCbBt?h`}j`-~+W%2i1Yx@R_$m09lDqz+E;&xzfhdx<57NJJg zPQ>lR428rLl3Pg3&YbPc+0LD^cHw%LF_c<$YDQHL2>yI0C8 z&cd{;JviTEMAn|f>_y+bs8ho8mo#Bs*50KUkhKrJ_vrw=_ssz{_MMcKC<3_#^^9g& zW;)0A9Ho&^**&NY)bSENKL@RkX=Ej6VEr**d&S))Dz2zOqWz(rom| zISQMnk9RYl*UYh@jiz_hGmdu3Hq_c&kH@$^1HXp+VI+Nzn8bz--ylbC_`v~_X@ zhGf-JueMp%Da>)on5;i&&ay01Z}dG5xb09%f@6~UJB~8P`{-b>|IfZAz4@Ep$zoAinFWwWwjQ8 z{;jjJt|s^D9$D8AcTKyjYtxXxu&lNwS=VL5$Aqlw$-91D)(zBXufUwF8w)Wa>!uc2 zH`D*-E?FJ6tXncMBHTk=ll3t1k5r;p)}!gD z27UTCe=G+Tn2_~2*N?YiRMr#pd!h}~vihmj-zn=!a-VFH^;9mnf0`J+)vc!|Weu=5 z&@Jm3YCJ=|XERX>@}C=&HCP4CpJ&$R>G47aN-!+zMWF#bvWBQLME=mEtd|m~2m3Eg z$$FW3FZY4#SGazq6SK00>o6wk)k;wBwJdPMjj|?*nPiU7OHhM(Szj>Em({YS=sQJ^uPSAIoe$!^sg*Td z4069MmGxbLtnZ1N$&>X1>yOm=k+`1MLOBLx{hbc3|DKTb4}JgP`TrS|^=~ffF(~{0 z{cl9}3KbZYy<$1$Wv|pJJ1q}&vUyM2D^JK?rAGFu?5)aPI+?2#$zDARA7G!7AE0f%HSl6Ncy7?H8y&iSftHZSHtVY@EXQNB@ z24%80BxXZuWw*)Rs1Q8E#++?DC3};0**OieH_em18F8EEU{ZGOkZj)B_LjA>w<^Yh z?7SJ-TTjT|HVee$&&giY2iEOoWp6((dk127r2me@?o@(SuwO`>LTc>ngZX#KK|Ppj z*9-oJK=xYV@l{pw|x+TeQs7TE_7e*iTPEI_YpzQ^sd zS=k45f|!G;#e3I2q)B!;bCgfXUR)~sP@e73X4y;FTSBjjGz`f;ECWrLmwk9G`Y|W_ zh#K^Q{mK%Mvy|AS#4a6?eI)gcr00>GA60-l%*d{ye--mp&B{KyM)omz=#qVGHX1P| zyE+H-swU<*8-ucs&q6)eJE020vTKSkD*MDzjLSZ$6|5(7Uz-NvPZ1hqpUQe_yX@0) zQ75~ObKc)}9kZUEz^v>u*gu2kII|3Wvg~lCfrxBbrQ2*R) zbjdz1Mz8Gi3otFakr^%^=Yk&D7dB%=_C+P=m)%5cQ!5r^Urf#=`RI^+X%_lqHy4Bb z%PK(LvQF8T7hy2WZz7Wj$$y&EzEWc>#bFolzm${$nT`i?d`JfsFi&u zdv}u8#d=qv?7P!I&ONQNyXku`?kkpkf067S&U@x$Kfu|8WwIY)j$Y0m7Mf%~!uccP zvL9`e-N$(!&+=Ha?8mA71ZPhS%I>e1{bYsgr)=3zXJAP7K#%NaI%GfFhzZ%xQTMq@ z*@M}#pU(s}U+9y~JJcTHw;7t1{Zg;&mznkD7}R|w2lN}RmHjIHUL)@HI#7Rvy^$%| zZ?wyPvs?CCf3#sr_B?U(3$p*T!R&ug^RHIS$X?Fga?Y3c$zC9T zp&661|EA{O)ckv1_CGPEW&c}&Nja(k>k6e9lCxq3y5+2tfksToNsBQcXXOGkV^q#6 zT(2@BXVrXk$Vtyc9jLXMEr;)2XLa(|NJF)p4DK_y&zP38W`mryiox~T4SA0 z>aJ5SXWcCH$yqPPtemWNIqP$_{-B%FANONu`_|&T^=+ zDQBDIfoIvAS#xVKDQAl!EXdiiTh3O6n3I!NjwU%^p(awS7l;I$9 z4yOMhMc{0)^SX{|NRgsb4uFXK9|CBiTQSIjYL#98LXW z2IU+(E2p{@3v!Onki$2mQ^VPbeR57>ua;h?lz|$jW}z9wa!$*Hjc!n*t_uBfPN)9q ztY_3>O3s-ra_ZC2Cg&{Hvj*gx%^YWs$vLMIqjDO!ZTR6IF~lcY33RDW_0*obS^7I9q6%)>t%g% zE~oD0)M&{Dc~?;T3ihvLwkw(SD(&U;ZNzU~`B_`$EP>XRn?WI_d!}p?dM&;aG1ZvzoFQ=md?V!#rnJ7amM&#T| z+^x0f1iu0AD(5!xZX>Ug>&`ZicY8MK!Tue^sKcC`JB!dSr;F$5ib2i0GSCHPyt@!J zVD@_oKutoWoQJ9Z z@SvPWsxcww(HwC9D7E<(bsj4L&-FODPn3h}{t7uyreR3VQ>;(1KF#`czZ||foq;hq z&t%ErZ^q8EopN|5I?uJs86^MtHaRbl|6-|}A?{yF$a$H)SMtFO!|A9&pPW~j|5avv zjq}&$3mM^7e#26^CkVh ztOs*Ub%35<5&u;KM&3mI{Zv^6|iJzv&bPHzWd|QG+Ip5LmyD|*O`91;mX2_js zl=B1ict<-wvj5|VoS&FsHXWsC1HFHy-Y*5<{?}Rz%b6>e^IJBE|2+c}a{ll!CTE_y zf97LE&R@jy-gTCDVNT9MG5X~E9b-YxKlSLB^DpuLHegn+e00fOp%@()m%E}Zm-nr^ zQor1^T#U$FnZ1>pVTZj0P4xZg4tlXACekeio}QMp^!$lZpsZARp7n~kf;T~Z^rf|$cf13vNac$RCZaV^@aFd+9j>Rv~^>p8oALGBH$a@%u3%^Qi~ z9qHag+|B7|m)k-7E!4WD93ygXEd}%4Mt)}z$h*B$?j2m;(T6#?ch-YCUHRyd%RA4# zs}{3z@1_Uea_&9UyoYDFhx2aEyM6q3%}n<;ftdS>K;C`5n3sD$*Y{Jmrv@`}AE?HZ z+y_}7N=KvIUh4Kzx3^pF!#=v?K9Yqh49b195S%?aC%3N>LvkN0z_{GU^HB$$|A}IB z%I(iUtK28k(JuEXYCpyOQ{+EQ?9=2A#2A(POf{JE*%rCa<$-n32C>hVVM^``<(QQF zBDIE?Wr!XxWrF*ceay&xWl-*LHrnLAnhWk^-)4dR?z4Z)y?^VK`@2wy1-XAvcRnBV_>($++2DHlnB0X1xqp{nNbWz>`e#b+zhm;$ zB5#ERX63CoB5$Pud1dZ%(h+fBKBPGs-Y7?@VT?x6vo>ENY!KChu%=&*to$Jb4Z2Xa_yd z<^0@1EXX^r2E?9UgaLVtW%4ed_676uE{xHEA$b>}i8@WpdT}8d+t|0bGYF|k`zVE!NIJ>G#UTY-=Ib(COG-YwbS?3P)1w=(;!ZJ3aETOPVF zBd@bb-tFYxJ}mDJ;_smL9ewid%t9%;<#iRH1=PN)LEhb*-A%o_sc}yRc$Rxc*-iy?Jk$OYy4GqbAi5%WN-pg5N1beSkfx54dGfez&9s1?HngGAwYd-q0 zAn$eN9Vx}Qyf>QUy;%sZ-{SWi<$9F$?KIHu?GbtJP~#oq-evFIX?bHsn3DG%d+#&L z`(_eXh{l=pE7$eEax_sNXB&vHP_Bz-2i|GWyEe^CSCzsy7{#^g=K z7?Jmt57w_)zaEtLO#-abHi-R}xNk@0eOHMIdEYbl_Y3l7SZC(t{lNOeth^tyFemS) zc6qZoAm?ZNQi=h2zq0phJ(y>Xnsbx#erpD~ztijYPAtg#qX^XagSdHm&iBasliWYa z{gXZ3QQlwdEzd*^sIyRlVR?Vk>u=8fDMYute~I~*n1B2E(kjD%{1sUF&hl3*!ifBp zYB3}~tpL;VS6-06O1Jz~b5Jioy;A;ah4^pnmA`s1n&q#-y2hCN4C-XmU{wB^8EC<* z{IyEKx;FjRo|K>22>PzW{yJ^)*Udto{Poh%fI0bDtXcG5-v%>nkcSER8~PZQpUr-D zk9@wv{Eeu+F*9vU-X?AGb2!^H3&d?!0P;64$GrU9DzI)*A%Dv}49ee%I(h7GosKT~ z+tkS4HV1w3^KJQyxL!0Sf4g4!+tYu0;tQ}thx{Gc+o?`|A@@6%$ls+x{;s+5izNSl z`SN!wlfOHA#SQZJsF%NIv;4hKLj2w{^7mogmpS%jO=O`RQ}PXBjUoAFCaTdV-%1Dj z*06j#2dyC1slmK_*T;x_kKe*C2G>D3=H!ROM&v~FiQ6zKKUsiA`MekXR1MhMuM~sw zOY>2OZuz_?{r$(~A3*#8_3{sFkzbaDO8Eyd`$0YO4^CiA{vo+wrt%_iznD6U$yvN0 z|Ii8$d+40}B{k@mUmc{N}?pIYb7$!{E!e?f)(3o|e*{~|P1V^IFZE%GlR{?Z&w%Wr0m z<}Ue{b;w^H=_oHTABc#x=w8 zuPw%c{5JYsmq4HV>$5=I4fMWYNPatO`>gyMYeC(c=yNl%9ck#1e@m(STl2sSw=om% zTffsrm;Bo^(1a=Zcf=t7&Q{FJ@2UW^+*O20`FE3Zceng|GSMl&I}J4;_TDb}_fh}; zTrhVJaSs%NxCedt4>99I)aYgZ;c_gOJ;MyoOv!&XAEWZ0D@LFE!AkHv&o_Yc7pmpINX-}NHPj~m zrF7JTS}(Kr3VE-PH=HZ~)jW{HyVQTJQU2?t@<(F%Zxmui{+pb?RRQ|HH7kF#3?1^{ zCim@Tkoyj~?{vz4S77hmN%>>U@*XkoarWMz{P*ekejVoJe^7-X`Qt_4>_d8e*eaj@ z53T&L7g*Mpde0<>X4{wK`w3Gts&>(gHOpXH%j{v>@SYr)y)CFqj>MIl(fWc{*J z{uDK*s5wRduekr3+^;$RdR+cDRT!2(U5bAB-?Dx?C;vO1;rn8+_x-f|8LnsQ!PyV= z{gHWo9F_l56K3VlR?7dGoS(H!mH4?<`TRZ8|BbxgiTR!1_K$q@%b%yt z{Ji`>tL6Wd1)gJhnfwK=7kcIMZ-@Th#Qjr(7Ww~HDv;2mV1*bB3RX-9`zzTB((*B< zVC4=4tJEo2H4|eB(z#!)8Y2q$cfnwdA_W;)3fBA&duwsNc8!9}VsM^0r(hi)tn1dH zTfutt$SMGF>lZ56APuz&He^4$UIFjOVB-n}o8*F+9O`UJ%%-ynHXBp0IkqTLuw{#a zt=biAouObGVzv00!7@5G>*z2jJqr{D3z3QnN@2?Gjhn5~97 zC$=a!sT2zePHs?8TZBFZr=+7(!Ks{`O5ADf3hJ1rjnia1?|jtBYke_R&X;h9RmvZb_{OK!kmKJ78G>i_GSflbSSuUNWonK>)o>ox--#; zUIq8k_uh5|_oXYipP2jWFsY!2xgQ{&cT(_R8>SUJRDvc9E9i~E{=>}iNCrwVpy1Io z)GO#??IVW2O9p++@>mtR6+CV$c!K`@n7do3Hp zyw3W1je?OZR4I6aoHywACcWRBSMXM?0>1fz(QyTDlm8Ca@3bj+w*j*X#s(C;R|(GF zuU7CuI=CKhRPbTBf{$`Bq~K#)!9+GX6ns*Q2?d{)pZ2^bQPu)e9Qf}@A)9+k0P{V zQo(!zZ3_Oh(F|(;MciL?Ab0tQf`wd=|96Xmf2jXYp8~$|f`1#)t56jRSIEMk!WDBc zp>U-_G=b~13=oqxt8nFZg{$OaO5v*A3e(9;XKyw3R%37VR)uR2zXr83sFl&FaLr;+ zXRR`jvv!NZ%rw*}TqhG93fHYwxL&EkEON7aP-}g1HW*g8VV}ZmVzOrxZbUBcr*ISE zb7mE8CWV`qU`$~yeR7)=ZbAMQ^xa}!;g)qEZ!6C8@<7hkcO7P40adj>yYD&Ds(Hs^Lajc6#B&bRp?b1B+#!gEI=)Yi^z+rLG6fs zG1qao!lVuIlQRlaEeiKb2fg;2RmeLoETzu=tosiuJfIju3J>%ZmSuoi2jzi1-f`i< zrQrGy&dak=jd6vGYe4-&tHAjZ&X)8jtgz7t_6{omzr|tm3J+@MQLDV^IGT=09at;i*juPb*i*H(*%Tt?+ba=G_;bLGGD8h^?pB zSzMpRZ+$k;bxszV6*e$W1J819kHYilb6&l|^Yg*8Hs+#V;RVEBFs|^zDuoxNqZHI> zqUObU3NIn=l0k)+lG{w(=01g&m1ADvGIE#ADZHHCmrp8e8CQ5kqrxjI6<(DF=5M9W z)y#YKsKRTQ<67prc0^%Ytnj)VkavBH!W)_twijYp;f?tUZ~70lZ|+psQK0Y^X1Rs? zTYD7VM*YqzQ1kX0g?HEr? z{XAz6GxV@NK&6#x_vDm?y(_-k5{2z;S&Q2`}-6=$umC1 z-qV?AQ#e4}GweMZV^HC9%rIE3@Of%KPpubb6~2g}afL7WV6K;26~2;>8HK|O3SS*l z_!{+In^gEZ_apS;@0sD7B?{jv1o@-vy)3?C_X-s9y%oMs ztq=(|9lzw^t&%=QC5sLMe8RNZIFppMH^=0zm@06CTF8u)GFFI z9n883=bQ8>%JCI#S_t+wt5>u+ahuO5$}Po$qAjo`&$1=!R-EV2Gmlt;(Zit z)2L|MB8(`?Phd#VB61cDE833x?WPoMUjfbwN)+ut?2h!`aX`^d?TQMC-MLcHF3hs4 zjRi$T%@|VjzdA*`6@yuKC%(8>(H_L^K@9JpXfNuQlquSqS@y}toT7dE6(t%K8TE?H zbVU~Vb{@tRIVI=>`7S-&QAJ)Z*z=|o`4t#c6fk4JykRD&7nLiDvlQ|7#3M19g+ib%5%Xii-}*{ zr|8fkaK40RTr#bwqD2w!jp(pW%qlv(Qqd84=vP!(feA%RS(gqfILY{SWtB8oTAez zFrcU|3+$g>1?D+}8fP%~ne5jK)ZiTvoy81iXQB=CJBPaG3@K``F{f*B24nl#O;p7ndozq*&3VxfoQ`Tmt64tVz)_a+cBW@&pzXwNU>G zVz1~@bR{!f*@ziMSLLG?`3dqN@wht>~IGRAEHXwbZ(nnr-B_wPIe;bv*a= z^t!$t)VqPYH?ZH{sp!T6j4Hax2DNUcKJS#MBUW?^b#EC~bSuwr>xiP;NgrQ;7kj*4qPxkvoBVs46m@5U>wD>aUk=E*pZ%U(3@Cbl`VZ3c zp?pxMm%WF%ekPfXkO7vor+$r!?dDT#uN?LDta{sBZ^)l z_cdmFy+hGRIvN%6O%=V-tLRPc-{kx)f#>4yf6?fIqPNL^o1AybF{tR>LUbt_%R)Vd z6uno3Zbk2>p#igsKCnU0@k}%+`jGWQ){n^lh?tLw{h0iZ#}!TZAoi0A3@Q4w2JC;< zu4pn3Gm1WMQ}l%mX81B2EnvQ>PDNjF_BHjs9#HfRIn#BDzAabu9edwRDf&K3(M&Gb z`+?p+a{lAAqM!N|&9XN;s_5rhMZaXA72N+?39jcdLCoBkqTfm|uIP8pexFqI2eszQ z(4**2di}|7@RvaRU+gVsZ#l8cnPGw4g+4`p+n~ljg`m&B?TVF+4#g`Z6t7r{F~uw8 zV^DEgnc|f>=Y1Ei(x7I`xi2RMF6>nSy)=gM>Z^fICm(!wn(|q(R-mFpa z=FGbJxZ>O*3@F~B5FLuQBxXzQw@QHAyaJ3U-nvHdHq5uy~y9I3B;Gwq6Jfm_s##ceREL<>L#d{=vHi`fjwhRu}PfCp2ZAS zk7C|+u}xi@GpA9pn}H@wDE5f;CKdba`>X-?A+^F*#ZeZ96vxy}W@Aussz&jC#b^gJT+9p?FDSmG z6|9%`C~i)mPw{1}myx%O{+A0r#uT?u;|k`vlG<1Or$%vWCb~h-s~f<2O#y}!Ut0p| zwWXsPGm5Wcy*>>cif_n68+eX(>fT7N8|xI`J!}$ZXiXSY( zxZ;Pn?j^pL``#AC59fothneLO8{|D&iZR7~6_{207(E{+=kYehPq040`4dx$`^zz; z_(|fP998^OC7A1J?w=-qfcnoc_cL9JpREG5o@)X#@;-|P8x%iZj3LD@Q0oQuUt}E; z==D+#dKAB$iB`q06o8mv8}xZKR{UBPW)#0p{0Oy1S}>vbjVi@&=3zkbTl@~AJm=fg zeY;EXJ2i^mrO#Lfs5{17@8SJ!#UFGk9P`50Alr8*_kaxkIf%JoXF5`+C!Ta--adNpEKx0PHYUCE46CD*K0a;;Vnzcw{9 zsguby-&@IbMwDDvXjXDPYOdF=WL6sfTPKxVpIYm)ZZNLohJ|PX*V$E=QF0?{Z^Ze= ztea3bhuoZgCHd}3Zc5Ci^x2HMo6&dkOwcEne!2BZZo#?*FT7?BA_h;4vnB#y>B@fKNsFG#OP&T6EL97Q2D|v94l81182-oF; z56%~Jy_oC8=88oJwMsQfFxc zrj$IgS;?a~JBqqh)U6_>iu|LSlstyqV>*;PmLA6vTiv7NaaFil0&ly&- zfnE(=O7fmdo=flZa`4|espR>^7*w*c1ieaLzLo@`^$%D0yWSrj)#jnAQd*ueO!E zCJXeqmNUM|l5Na$9rxFlVpK`~rkA`?VE-nb^X4|pDcMntX(eyzQu0=2xOG;^+o;{y zuH@|%7*O(#7A5b@#E6nzTz8RwR|2ee6L(KK=z9-+x^qGPy*8+SANhQLCGVeCvZq1G z2a3TnK3D?sAF5EYHw(=AFg+gbQ1X!?3@Q0&y^?*|7*_Hzt{)@sapvo%_LF&_{?lpT zd>~fx8G1h}u>ahEl7rPsK3}Kg3x!I)SfJz(EAOi0%T-FglCR`&GlrCWwG2~AzDAGN zv(N_aM{1RPgZbW=QS!}cCEw~(a@4N927puH?sUN=}q1`3ZA>LjI>CN`A&nldPW;_c?iA6oVdL zmMS^LvrUon7587aD)|jHr^%h3Rq|WTzwJ}a}X<~Of)OS`zN(x8pf1bsTgxgr8OzV-w0DHcPO<=4my=uwFIL|r4zqe zK8RbrOQ|(#mCC@HMHo?PEgzh%J)jitqf{o>>r`M`sdb58uS%(`bTliqKIiLGbAvXe zcn766Tu>@|NU4n)mD-pYH_1Y`QaPOS-brnitrYK?)aLz4<+dob1^Zhv&z8h&m4;!Z z^4Qxt9qez-+*{8n#dlI_+k9}w`z5s~2jnke#_bxE+CBkl6i~ZhOsO4++mU)ZHe*7m zojBjAOQ}NY7V?Zc3$2(}YL_OZcIAFoY8CnDQ|fo6D&~9-dheM9 zuJ!qm)^%l+~z|O{_hwl*2r3l~P`wQa-VK z7o`GXLi$Dm_c1k-5ou^us*?Uo(?QOW6-pgds#F!RRSilVP2HpEbqssQj45?2 z_tie;l{&5lgGwFGJSU*0Sg8{;L5-7QrA{tDn^Lv4N}XaWb!rw`F|E{T!%EfBw~jie zGvDdGN}a*^88b?qS%(Fscvqy(DpBg}Y|JTj4!I5VJU0UaN}boP)cNc+)+==ZG5<%| zn*c^tU;E?tdzaalJNuT|Gnq^#$s{w`x4B73GK7$Qfk2W0Lf8qLMx_`K5d$J1i-@Sy zTC1pliV>+5sEW0%+q1UM=d+Mkte0K-5vlH&Q6WX|= z9Ui|W8h3H<_)nto&MQRY?ltiEfN0zUkG*isU2u=PpsjuBMB{$=-hpO#93>hLvhe7K z$3p~3?3?%#+RKa*6k#Gto+Hr2Wlks4$5_i|%O1;73r(pG(>*;-ji*!hCF(`CuFr{ zd-Ujj+WgIPY58uo+MS=~%lELXC!c^HlGsK)Og_c;MNAZOUiy$&EPYdYNlJ#KgVJFs zMI0h1mbye;rf5n;l41(_5s8E%DAY67)1xg8jpgPb%1gQ7f$9V617ucUU4R)Kzf7|D zf$ssEhyDugVI!QxJ=`3MvRchXhh0pIOeT?qKs3!fX*RnJ&J+nP)$6rtm7LZ+DQjjC z%PJJoW*L&DpqLUVk1Hg!!bz~lH5P*=s%g?()KChILc^GJA{j%3BGHJpxHuH*(L^FJ zNn!q}Cme>(;y#CZ*bhv_VU5;Qtcis1%SiHdB!oxdHoz!!{3GA3bHgJ-@ec!n|5AU5 zB6H%k)_v`X_gnWgCKAYAnfMF^TlcjhU;CbRB)alfiPIma*Ni4%1~LzfgC!Q7>UKo?A57i zm^E^OKm>urM5R($xcZU>S+H>ANaQg~M6VB&mFcnzCFSYs-9ERIQ)yyOr=!`8)NZGn zl(_SB>m@3QNW@6sOHa#`F$n=u6bWhY9EEy&@Z1FX|G?yFVQL~8Sl(dI7)aXh;p4U8 zF-ofso!o znlvgzy&LY?*1jV=5N~(6yW)#ObGLS8Z+nU>gQ~qmwi$ntc~={OK3Ie zRk?H9&I7iBg#No~O##iqo+7B4rh273q4% zsqi!2Q|XoJO2nL!Jwu#g^)7vmp3+A}6=vUP;j`}1EDJTNepWnc5yNkQ`eKZKMDb4e zVyuV#BmAr3#jmI+H%F&8M#37_>k%=@t%>IcZ&ma^ej-I)^i5s!kt5A@=#|v^^-VL^ zG^BZFu5FyPcD5fqp8Vv37e1+9Gb{N?gMWg!^3MHKCQbhIr>Gvqe)7|mk6#~+UjO*Y zmB+5DsJQOfc>PZwLNoaf9>X6zHu(W{*EjXBE#ZeER!w}uY+_y`G=!UIBQ|rh{bo}= zJu`D=OjcJ=Sy$z%LIqU?Rd%Mdtd5RB0bVAXNlG#^J+2svb=YI9$K@eCm6f^LmL?sL{{8hn^_=cSf*7NuB1RT-WA+e;R< z$6Sd`dCi3>-l}+FQ~K<|I%io{O1O8&oVKm=a>DJa%23=E^w?yl)q(s9DvOXdKclzr-%$LXgNKdGURLC}P>6w%d%7&rAh3{b*xR`K?`j(>ybzJzVUd2_y%MopR;W?>@gfQP#Oc09Xv<8NsxKO45FXdK+ptq zaTM?d!Q89n`xfl!`4o4oFsZpFLB_so@x|b^&;k*9F#I3!^6hvMkyy=20m85ZgP_~d zkOoDH!l9x_ZVpy@rN&=Sx`I?&c>oWU_j1lR!554r#hc-O1N zmi3GUlyDS}nODA821yly-H*upJZ%L6?SQllNPGmehoDGQBrS=oeQNmn6YGm3gHPT( zbaF$ zXbfgOfbv0UCe^FhUqMajQUF1hudG46v#xK;^h7)J`|hb3NT0v_`pWpdD@*fxw#-U= zL_T>0ZECq~^OlCv?x<^a*-&aU+g7l6@4Sw~2M)F*-jP68VSZXCKA}E?z7`WboZOw` z&e2*2rT#%IXI#486e9>}sjCzrpe)T;SKD}GWxKdoo=rrMQ1SzScOXWlTUSRpb#vp0Tp z1Lw&)mK{#7Us*k4LDX?~di_9oUTd+Vx?q#DAYd+7unjP;2{3Pzd4Z6@!Z&i6(oVcd z$<-Q#TIEC>JL|PP=C?J>jpgf z+}vz-{HU--TVaj<2{N1ky)>s;2N|&I$e)^;zSN86dXd+AS&h_q!L$H2)%NuSVeoHA z6&cpEvgFcW9{|HefY;DV5Ntp~AYo{lSHeR?enrx}9srJh9fsN!h;%P{Y&bUKwwE_Y z7R_sQyXP)kl+pB~&g_$q*rL&5Lw6zh)c7ZU*D`8L;mV`S){Wj=Ez>#lkDF4>N?+sk zExYe#BvQJVJo#{(P5y3uZD3V zq8sE(1nVXuf=`NIM_uMLFnq*FSP3E-aswr39Nv_{b^)k`l`Xg!U>gv!kdbi}_4xQZ z4EyljZ{CAhSq}3?fWGw;B}6^ozcz474QvBSUu~&a{f-y? z){D+y`Cu(B3u%!#mKGfU9TRam`p7t6dRG_0JrLI&R*KjLSE9E4m^% z9nsXAnb$Js+&ZUvWmip#v!U<$nez`UEh<=i*Zf&G#OqU>GrLz+b#0xK`R&8`bE95w z<@}<&_88|>mEB9VFJD~T%0V!Y&LPmdY_oRPHdeni4oqS39yRB5;v*R3Sq0`|6lbbU^n5BPwF_Do)pFGOe~7q zj}HVHrM{>k&I@96{Z9uLAKzS`@J$NhjMcm#Qnkz8df}%xfFO#PBT7Z@kAFXuT9GY? z;j>r_|AFe#+oy}+iYj5h@z{bM;O%q;m%;`%2lfPx255)up#J;tf|Fx>;l0qoTnjU>Zkseqc+lU29se5)q4xUo-71wk-|x%Alt&({3C3xAp}z{y1q-+k z>)Gtt<2mY~O$W~@-&B(Q$_+}gS&3#SQK=F+l_4dmRDKu4X{JD2%Dq}v0CIRBNhpW) zApXH{^(v(M9#8Wfh^M)BB-1e;`RTQz!25rI_zbY@`>_8Txg0{mNdRde1PXwmM1#aI zLFQnCLxZhprq)oKsW*YaVWJeEFC?M}-j=QfzaL<(wzxbLi6Aq)#^BKh$iN^)GrgB%;(C*q?Ch;FA(VG1bUP}w-IO~ftC`e zia^EC1NsRk6Jp3=fPDo@Zk5x&hTRgSAn4sqKHA!u!zjTo&)*6j~&eHcgC)h;=!W<^3u2q-xlpg zRcPhWgmWM<2gdH3_!H%W{fzm83eFuqoSyElB?!H|Hl;jNj`VVqnn2*OWZhe+V_Qt{ z>zZM7A7YAyM_^zVK@G!Om@?zF*>nVk@hVT_iB*&xeNSF2YJXKYXGYNADDEg~J6IcS zd453;=q6i1b3tBJn(F7*iV(WrS3JLYc1EDOrYS$Cso0t4*_%-siSO*HUe?_n%Bqf5 zWoi>|U5nhY-dZ(LFWLgOrHfcf406#qrnui}Lc@M!^4He-O;ls93zl{{w;Yvnji@nG zF;6Sj_NS<|PVHGO7@ia))~0AvxPmr{tCFr_91J!h%hc@TI-mX0l z{(lH4JNSS-&to}3<6WcaOq2?x0K%KnbzToGc(hpg6&f(~PX*$(otx7SY;*y1DtYhgyTBgZD4Y>TazunGiB~f~M@+kh$~FTN@uu zBu;cU-Sek?|ynFAiM)9x6P41c}ZrzhYS2QP>!^(yEl%8TE^!Ddc+< zo7OIf1svf@uMd8=SkdA;I~PB4(+r79BT2-KHdaFA&q!C7FTJDj&i4;B4Zf22{K32b za$rzdXZ zQbkNHiE8zT)KfDhK<*$3IQ=RLFpd~)7ViY=p(u=)?qF~QjAZ1{qz!G9C3jahf zl)#iPibxTaO#$lyO*)T`UwrU+(sGQnCYJ0MX|!62SgX~D_M(>)rOfl+%pjMeN3?lm zl}=|>c|-$S3be>8Fs|(&YbL@&gouS)h1}82h|q_kFGb|<@itD)n72l=Swm`;&xUrvuLE-&h>_TeQ& z#3sN5hd_sTi3U!8LWNYE!5mYm%x7FE?pgz&0Ap>uYA%=Wgby+E%mb-zqR&n%Wqmpw z)+q274-Bsjm`)g25DX2v3IqyZD`1Rp)eAOaI+n7mIKHvE^!k(6&pq1cZ|qo5`q1V3 z8oD0+=E0ROH8n=}GyaxC|1q-by@QQj(}QZ0O1$y{GCuk+(qCAenQ_FG4Sgs1wYmap zrGV7}pIkYQSYlx~cXm{NJAzV$xdU0D zUV!_{i7GBlFF_IsqKPF+k*pi_E2Mo*BBU0b5RpK2%a}frlJy~>J1|GR*u-FQVE>G< zFw9s0@uUtWcHGnp<5Kcp<1dn?@sG)JX7r&%*@NR>@#{5tPbsm6)4&bY6q=yWW@-;u zREoljRRoZRqU36MNWNQsLQacC1oTHH?Nj6aL`8$52@x$3aaMaw#Ic4La9X%`c(X;Z zTn2+zJI8N0Sk$%fHct=my)(GcmNS#xgU*d#c}SQKEK7gqeVszi5ezB<-Fk9K7Mq2f z^ArP_!9IdWwf1S~)IKp59R6nfB*4<}ls+tvTQemrSZ`us0qL1Sm4z@nD)d3&n(J?w zb>H6~?(7>y^2Y{$J13UfHm4{1rss#N3U7Gfw#=Coh1SG76g?i%rs!nLUPPwjk0axY z%Q7<_)HqBkEL^wz`;ksYB4^Mkybtice}`Yoa?UG7-Na($IVC!)L@p(g(A`YGg6dP_ zC6>rU6eDP+2+tQMcQuwT*v`PA05gXfI!%Or=gj!PnKR_!Gvu-HPT)unkxTKtT0waG z`FnM7X>w&yNp4i$t9(rPt&(n6qM))=IZH`7m57wcW!((y7QBSKutMFWZ())>f;0jawc!1F3t1u0f2DKV@Y(B=3pIMfF>$jzZV zQ>+Gz6+9w)q#?!AnB|*Qp7!(7W&08vmGYxfxh_0s2C!(o%MLGw2=?SWKM40!5dB;h zsTfco1tF8Oayg(wmLSFO51~4#LLp393Nx=HSvebnV9{kx0WU}i14}?KFnl4t77R`< z0X7fNOZYdUDF%gvmjj9UGdH4_-WvakJhN{6G%Skm5pX`YCi}+k zXNK@{I$C^!XGW=RqF)3ANgtkXmvLLDmxy{hSk7}-}`3jEhX;5P}SQXyp*+nQ|1WkYHklF0D|R`@7Qj^w1ITiS0m zBg9IzF{F}H8U@V2DEvnu;l(c;3`67-0%iQ@!#%KVv26hkN)ri2f?#QaAdfvgZsawZ zfQ-T<4NL--&b)%cfSsoG7GF8YjD9=(;P3)*c#1gK!r56enPyJh`mBgu-) zF;Y$`aqr=!k{8@?I2eUqCcDme9EbAw1-sha2#Tcn!Nb->7}X!fbA_(HL;e${YMjjxv&!Km+9CsWO!-CikB0AeQe~tdsDa`%4- zea1Q{0`sZ@3998X4fE28A_50!m)PF0A&wUkky_j>>9?xmIU-I(ibP^dTuO;~-Hq*t zU{nN2=;249!X^%u9#BS-g-i<~I#PJ^8;1^_LCbIZ<;`W|jazzl&dYx2_)%Im?~yID z$ALsHUUf9F#8tPp@ z#sb3x?_nbg{{iENm&s+s{1QYCk$;jz2_mq!s2|A^xh+cz(Vg!le*ED>-8Z-RFcEi@ zoIm~$Gy3{lUAOd9=*QQR^Y8c8EUAh0b9PuaL@Wh9^;NLR5x^*ZOrUDIi6!}G^C$Aj zcs`2eql|8;Z6HsR!T9@9U9>7L#hU>r?g(@Z_cx3+K6D!g2yj%*%d39i=L;}fkGCgJ zi}0upC~cnia!}N(HJeYbA3R^_>5318kKSXSc~j5atsMbw!;cpXy-;6W`O`T!-R7uW z-#%|-eh6(}aL@8WujeV&X;$B`rl7ex>hrcOy|sPLj=pe~_lP~XHeTFTUFuG4h~Erj zf>;i%g>@4XyoPG9x$SqF@}wUa}Z#}ycxyD9E_-&T>JAxFO^92G1`ZcSm!igo%fm3 zpaa2n8oLp%{st{4EF>UMRkys~tmzZ!6xaiRkVkSC2#N)pOP(~tmJ_1#;4NzC_p7$O zdi&;=w$1qY6DQ_wZcRtb=_?KEUfR<-`_5NxqK;pQoj6yp@b(t!G>jj9=$$Zr1+kK2 zDN-t>i8xw=PC|%{MtF2a!0RB8NEK2ItInz@6(^F$80=%6q8XZ!o}Re$v`iC&=gXW7 zK7vq~mH@H>8`MY;G&A7r-zzek)`uP>7g_nrHpAbenezK?F zw?ptM#ixfDf_R4b6nKubPwz|h&G5DR7_rgkGm0sPl2D;F5Scv(qvKr^K)otfrOF)4 z9L^+NnK_xHIul8p4m?Jk!{~zX8d(^tQAt21h|iat19%3rB#rr4JKm}=dJUcgcosZP zZ0iM|6OskWF);w>m^ZLf|KO?7IVi{vDAd6mQIKtt<`;=oNQ^zw-HVpwQtQ9~ zAB(IE73M_>Lu(4IfR}e=d-kG*^U{0^R}SVTWg-r9Ehn~ccBzb&$%sNg5t1Sx%1NNM z2(*USOq>IG#IvQxv?m}frCNzO#bG5a5sP3Zo)(D&SDdBON#qCW9x|Zdtt8&%oo$$x zFbab*iNy@sOrj^bv47h2>ca7SJUHv%3Vmtf;(6{(zj8NN5@j$i#FX zWC2J7PY;qyK!g4{90~)?^kE=C zqHhj-1Be@eej><^p)HDVKT86bL<|AW#N|^I$OLTo5ae_`<^k}6H`Rvg#-n6mg!Ey) zle{?Y20!IW;(4lZ0s|o}WCt+_ogw+;0{*)=f>LCAZc5vn7MsD-($av< zCw!?F?B@}>7xRb<3^;x|1~e9gmBPF@1cU4tNCZFu40!!lnZ<%A(6D@h5d?+>{#D}x^H7d} zgEi=ll*K1;S2f0?H5)o|KKkUey|5*(ZFdz1CtnO4Sdfzll`m}w?(V*6rfb2WtjY|% zzhz_lLnkHTn(FRCbB<>uy(lnu$HH-TIBoWIO^d{|tGFdHzf&0Jaj<7m$a`@D>s9nj zR*dP&%{@JFnls5}8dzVQwmnBjXbl<7YMIg1Yy;g94P%UeQ*Q7$f`VyFQd!u#`MqN7 z2J1y)5sp`yuKMtR8`8-8dk?QFD_eEAw=_Px)THoj8ztdKVk(&(w=}P)wAm_Gwrn3B zrh8+%e|N{OclOM*21{H!A(iHKZ<8lI&0CgfxjVA-$g;)vttkAD-@f@e3Vpf z<%Aq2vt8-#a}T>o){TrYrqiWsk+GH*!kCm-?8WiCK65pEmE;-#!hli6v=t&-7oWVP zzG2%_1C0m51*W3166<|?_U>=lT2Qc2A02t;;C=6nRCp|hWjeL=)!)7SqR;Z6-66~; zj{B1QeC7~&oIQ=O)j2xCY#3$7$bYJ2^!?H>znVimjp7Lz# z)fvq!ae189LKdC+`jf5My}Nn?!fd|v8pu7K%Q2Ws2SgXDxpZ&L!gd8N1<+ssc{DJe z>6&JnC+H#79whR3^v-4(tDl@*p5IEkA{aa381~dOJ4icn3mFlZ8l)f%!VOYS##fJS zjaA+7v&D<#E52@<9DQOdo};h7^WV1L{`&)sbz7cUz4rX5 zOlQ|Vs7ujGsP~Q>n6b7wla~Y7y5wb%6Y_i4aE))+FWSkteY1U!{ivOG+N1U+J7u#C zvu9b7Wvyf#P{nEnM}G=zg7yVwQssXf$D3XCCQn#6<^iLGiqMBzxhm&c+&G2l2h z=0m{d!LA0xi1}QMkZ~@AHy>69uUZlm13LniW#^aA{_>Yu9Y1O;UE~irXQro@r0Kq- z&R>aA=V#4`uh`Y@HK}&VHM*R(N??h=)DXUep1J~S5Cz7lm-rcHQHGhexWWAi{vtDqx1bYlH1qN{OCR1O89Ldt@$rpU22_zXvh$-g*=T|0OiXi5W`E*sR zDZr(muDqO*7V5jB$C#HHt(vMhAqAMh>}@c>1LZ-D+)EQ zDxY)5g1n68wRL6lsxsud*8K9h8QN$|JTmu=g?V!6x1^8Dwyj^8UE)@-nX{?*`Za?? z8#mkldgnOyM_{j8h%k6vb(RhrYm3`9+bFe4Rwr+_vUIb7RRA;t@d<+fP0}8`&V-a1 zJ_!Z$GZBrD+F>+ksQJs*w5+bSkB&-YmYUZ2InO>vzIe+mc?0|7GxTTw zZ9F3Ao1>rruVX$0snHNVPS5IGI#L0@g95c{#cgUesTS-|=tJJ6!{KdkZXjL1KnU}R zz^z05qoXgCXBqu=O*AvBoUTWKvI1pF&{0xc1UDfko=@ocd*}!^kApu8>ZaeiDko~P7IL#FApA zv`*HpmJ@)2fl!5gAm*t!F(r~2C=hx+VIMpo-l|O^T%1J&q#B4eu!uN6P@ohk)VUq` z-cAgn$KOhvTy^RcOBNnO%M!lvz38jfM7KykUXb`y=pX8b{!x$WuAKUaOT>H>W#UliDaq9f%#y-%65&m>>D0PlUQeV#lt6_#9|tnw|&m| zgHr-a*YC&TI;S@@Bg>c++T^~0F`9`S4$iVScR&(a+`8FH@!Q6trknM!MAvK^+;5nz zY2A%n?cLQ)1Ks-Grb+gJzq^o^l?C_K0b0o6?A933<>uUPx-YpYwHt}_FJ!1RE?4JJMKWJUH+C*4uBt_0}722z&T=LQhAbPtYTxfOBNWY+V>Jq_HAJow7aG)vPhH zDz(BEY-TWy0RVeZVT7X~z^x|>Cek%{X%95yT z%XHA7$Iy!h3W=boV86FK%QguisQ0pa@90ay1`NVrUSSL*jDZ!#5OguVx>O$csA9&> z+*F%K?UFa!*h~UO1BwEN52phkK*ZO;8`D*Q1{rXXLcl*s{#r$m`O`Z(Fa>}b%1jd5 zzEP|R6c`(Q7v9`G*?(JBxp)89zeexqN^C9<21k>7kCMO`j6@|Te~S7gMPf8S^3gS$ zSPs!ObB?*$yxB}?ly$0hlUl7bXmR8sdOkUpFlG%Pa0V)43Iy;P9xbfc=D>w09Py1)6o4jE9w~1gQ;2!6IX)^$V(NSJkIwc=p+Y)fL{n?2z42HY<+xoO|LEayL^8 zRWQv@T6m2eg2YaSaYmg@PSRwn(>t{xEvY3~0L$!2_8j{rD-y9*ZIe+C=`GEm2C=nC z0w<;6Ts#DrUP9LsR;;g(sm|Jw!luMiHm6Wv1lw(9 zrCK}P;}gQ-ur0siK*8VhFJ9+p#dYNhI|PPA%TAhsT8SMFnUjG4Ke)8rGT))ys^5ox;J#6 z>!@ZOQtLvxCLJXvfq(<@57kML6ew>29blHE=sdO#AihPx;CVhD34%$Wa0Ma@q!)8s zXecrA{3~*Y!$ON0v%?{O<@v-2T|a)Gd+Ex!#S&k+)J-meF7sS1^C#$Uh_Lv3#NBR?>8oB_=EJTo%8;Mp%Vo27nA zla-wuD}Lsn2qTuwW@qQRa&vM?buQ%mXz&n?nk*+wj8vocTSS%t%k>t@La<2ayasD&`DQfrWpoJo8@F4bm*^DHG5(US0T-}n)j%hOrQ zmdvwTyB74h$ra-VJoEeJ!2g!63Xw5h7!Yt01oa-wt(^Ff`|*er-3Gy78vTn#AJV9R zMl|!^K!Q^r!750lB>IX(e<4vZP-bWavymaY7*xX4Gh{#7fXF!rGR1WDBu7c^QJz$iYN%d$SB8EiLuX`2 z3iMs6e3qO{mm@}Q0I(v4pfZL!7;b}{CkkP z4QnL4&dniudVr;~@c;~CutSLl-uUL5Hxl=u>)uFwk@))?WP~&&2GHU0kH=p_rxHnC zQ3gKLMVKQG(Ld^8B@#k~v&Zoc;j_r?AT?@Mtxi3g`bO&KsZ?_+Qm2Men^GyU839Oy zkTU^a^QJT#Y%1&(0htd4iCARL0|WZqjRHDH$J4z@Il!q5SL5VSB>Tl5RCWujI%Bli z@s4RssqEa)oY!D8aNeBSJfFH4mi^xJIdfXQmd*vecnkSkwshypMSB^sDU%Bv1vLb# ziFwF;7?TwEf4TH-NDq)ml`$c~N&_22ECyDxPd+TC4#Dcd9(x8pme4rx@hl8H3L?NW zsamljCZ?MhHOay&QqqKATZ}z|dhOyxqjU;!OKW-<@2`PDU{0q{t ziJCET*Oj+~zTx^T9N+g79Ott#%)eazzj<})f3gq}_Nu>pmjxBohdu9r^-IfF%$Fj8 z$pp%P&yWiB{5cZ&Tll|1pfho;45Yk6{1*UeKE#{&;sQ|U2Fxnq`U>=gIjb^#_SU|F zt(!J&E$G`iJH0Z?JhXoO5Svr(RicB)UAG!C0+)2&+qneIZd_gGMhB46Tb`3RwQQqa zp}z_8q7jr)>B(UppJ#DS;1_ckj#z$LT(OlrQ{(PdjOAJnVR}9G4VI+KlRieJF?T(FF&_TSjcywR@S0Q{nGoj@=G}E z4Q!Wy!htEqC9Qu>jvc(C!hB5k;20Yew8D_VK{h~q4M&f}`H-nOhQ~QMes^WOVrm9Z z>GGRkbQ_nU27Vq6@bi#(Ixm)`hnYw`#m~e+ekMSk2FQ9qO5LDO$~dJR*YB{fgH2D! zoLI3MSsm2xGEb!7SV2_Tq#RW4R*ICsrbhnut57h^r^@0?T_j}ci1T@$(ganwn5Qy; zYYFU*)>oJnFs7817FqiD+rx#`AzxuAoqxl;=m36$+{qf1jLw~Dd2l78wCKO{KbUx^ zQ%~%KTV42*UR1kG$r6_*2%GLtET%|LDoCs)NRmH_L%P8sqHdv<$Hc+Pq* zdL}$#kB2aBu$aZuODte45MBXQ!Yh;@1QlV_Jdt({Mh1k&N5J73q`Vw?^CNiQlZTfd zuc|8AH7lpJ%#ChH+-~wmY~&|b+?g};9TzT?F1w3)HOsrl9<-JARwdpYdAnjR7i1qk zEDy|BQ2ovbn$b1V7X}&Hi0srS^iGiVLgF^gtJ-ZuMq~D42DQR0a=0Ndu?DKYpz5O- z(XP~En_+hF9>|4&DnS&PHan41Au>DEB3c?aPS}u5$wZF7A^luR?vWmqo|IBfX%r4B zpdkGLjKkOkKE#j9`!DneCj+!?QP%fjK%%CfQ**;^Lf;`Djl!|^TID}Vsb8jcS;y*qrBUE#>w zs(!Y!`URM!@`6zKQlrKv9XM%KzQxGF7e>RW<72QHOv0G(ze z4si2w%zz&i#$yI#FeqpVdW=L)Fec<7m?kkL@4iQm^sHKeb|?@|ALA617~o!9Emn)P zaUDhIhSj^(B!qk3#6Z-kBh@;!4#~9!#K)d_nE)^V^MhGco?6BG0TO<3rGL1%2Z!b( zIKc^&4_poY6^`8TupWRtAFa=K=fgW>1a+TH41b<@8)YTleoA=yOJdtO9MuDd{Qi-| zH%J6ekfMxr%QPDxCW<*9Aw@Y*Nw7w`Sqe1%F{mzJ#hiGv_?(y#i*b&WNU#N1ig_j& z+zy<=fxXkDRls)P$`=XCm49H}b>qZ8sb1iuYoJo~y#5el=uonqlkPv$ArX&WgtVxxQ#gp+l`q%`Wn!aizr$i8HH2Sknlj zpq4Z50zS6jide;MCqO>WiEhK0h8)oh1#5(w+G~0M=Z=6N@p~3Ze|Qya{ZBr93X_zO zk%Q?`-*mzf%7xSYB_;m!A~aN#uJc;ilC<<9W_>|UZhn3^oL`Wmu%y}G73T5#;jD)l zyq%~dI-pLWnt9o(R(q`QC#~T{A`hL*LwQ|QFQ&;}H4v{l)dr^_WEeK=HauW}C3mvU zxO0tjvy*}Momq9iDsA~y7Ov$80dfHG!!-=B+z8hEkC0W&zXuzH1vY3Z3mY3^KC?Di zs>MepkWg1h!^-0t2l`qiLv1YY<=po2zG_oJagoKGn_uP~IJ7uYuy=w7^ziiv~mlKO8pJ{t$+YPfCZ)gpQ6&mSQxmG2vy6M=G z#Xq~D+HD`UrX*gtrje0_`S}Y+pz-OgKx_Qk5;G{4tYTh)_*52D9EGxw`VwJhfdvVv zL(WiBXgG8t#H3!5n@n*?gUHVMK&`eS{|AKVobChbA7S>a|M}8bF&J6k&phhZsC8(IvI)e5{mLan;GZ%D3 zE3uy1N4)|uawQSxG$gJ3tE`!h1Fn(LGLan8b@Hsolqf_`&Dj3~`AYckCFQ5ysr-DqBPK%3IOGfIH=_M0sGNM+4%A_*BY*6V929-)mSYEbDU#1N- zgzX6HIqRENO1zs!R@zECYhEO>(77z2sY+jTs?4tvgwbX+SS7F8;9|AaX$@J2t-Gxc zSYg}oF`P9J#bK;At1XTDRi3W?S7~_PVZ<)%yR~>KaWM*x>`&i+e3B5ni>+Akb~eZo z=eILK_9X-ss|O?r6R<&qPht^6ZZ2q6FNFh#AY%X9o+Lkt&1-6#TZ`_pWfeQC^Gz9U zne6G;`|kVrk^8^>>+~Hs{q^^DBSpk&>Pxre%qmV-uI}>H6=^gmo;XTvx+U@A|Bro$ zCcY8rX_4qCXu1C(H-i>^`vt8K>G|9Yz+Y4+iE9M#ISSQWrsFYL-~l*C;aCo6WRkEP zXVoq>c}aa)O%AFN0j{|V#9XcR9%qE|HSBZq)p>Zof*fIsHd(2LH|@1LY-6}%eP!kP z&TzOBKX-&TI`V4M(`)k`j(q%_=b(3A{diqRZf?iAN`FnB!;x3xPp`{&I`iv54oRqQ zBw!!nvpUp73Fl@tkR~dD13MH5O+T|k`GjKHu^pgXFkk`0%*S3Z9SjaM7-|5w;5tHT z;q)Us5}T+aQ^$BDzJcOGMC6k7(Rsz;&W?G7_d)-hWHGrE`j-RMt7Q}c zzOBeH27#?HQMfO>J4}XgNBw>kXK}?;l;s0qm-SgMS{aGes!j8LnE6NThidsnJ_%wB z6c_fcg|6d{=(~AEP&Knzt>}Z(RB&DqWHRBrB49@&U}wc%G-3>eG9axeI=jVt zBmITFp{2!Ru(ix-OM#|f-f*l(3mlFeP6hDbsALD&dDo<+*W2q-+8tIK1wj(IAw>$r z6GRq->H|K~gUytXJIZH-Kn@Y_D@-Q(M^OLr!PeE)DWm&rvYb6jV$0!B6B3P%qU}?J z^1inA?2NQ@Z%0ProCxR3txa5^2Y?6BL7&|8Jp_Y^kY)x5D@KX#Aq=bm5y1J8O2`&v zAe{<|Pq2K$J``3B`oyO{Xn2>O2bpeq;D$GDEbr*McU4*C(8K*?BymM_mF`I{;dM@#4TK-qyTK zUM2Z>8T1!M;E(`xXxBkwmRg<5)-_wRqrUDNi!mBVj4fCxqE=E=FxTw0>ZB*vORNDv zs{rE3dUOW-EEQx6xtrKwpvdsfQK`r=Vwl=ZLG^GBgrLaxmC_H1|AYsssKOj1pI{KpV?1Y zFY#`!UJ7L?Zis*CFUee{514cI57Yuyf^q*IYuq3<-Pe#N)1#l{&cN(dGos5IgMo%s zGb&azW+qBzb#}~})zLYNUe$KX+)!xlEp2UE=45Bj+0r(2=wIGd z^y}a-BL>cDf+y-=;@24Hpn}BG#BVV8LHVRAvA7Yad5_42&^HZTscwZwXuA?H*W;$mk^=6U)p9P)N;N~>M8UhK;O}2*{cV(1B;ydQdSjtzNS5yaeD0GctfOUZ%`hD?wZ5l9p zcs*uJ`~tNShEt@0Ndpr7$SIqF7W+^zpMbwVaQzUm3$E93ayUXNja+H4OYi-aQ=P&MjB7!-;=1uSAeKZYz}42fr^-{X;M#{lsta>ummhbC^AHiqTj8v}TD+vL!(?`IMnS<+x#CQxse^yK=zcU8n+A)B>3c()6wc#w-w;ryZe&jB zRk6S_xb>dLd_kPw1|rc9TIBFlLh97XbE3jj+zrE`2uswNAAV74O*O(_%4<_s=732=&gHeg`-Upzh5yRf!nVc&Z%$3X?l3iVGK~8bqBR{thVeN=^ zxE^#@Iv8}2 z{y_gX3H{08`*ZnJZglDnSNnt4TIl}@;uu`d>#kg0ccqsJ*H6kTSl3-Bi+Z2l2)^0& z=Liv0vA|hwP|b3QGef9_VDZUrE_fxyucY`Du7JQ7!Sf|92j1Y6NDL>{$PsGB(NviX z&O3HN%Y+MPLR>g=ln^Lbsfc)*us{azTA-(KIvwCZOuX{v=Mh2pLHHjjDwHCV6p5t( z#(tCd4g~W?X$hT2+S>l(dVoBm`;@ki#PrSSY)CqXen{o#hqC zF-aqG;Y6E~fHT8E+x+v8MXsVX^tDx&wt1R?uruJuptC%EP>RQ>XI&jGccqrk8Gj+Pt_GLDGRF@rO8oIzzW%jtxN&bk z%6NeBua%n5;HrduKuC+L56Rf-v0P0*AKOiWm4$R3SNdmCP{=1JVNG7 z;SQ5B34MYex{x13IX{LWA~)G5P`hZ6R4pbatpHpqoMnM)e_2SME#urKsIRp@U`MPS zY2>)#H$@W{+2V2${1GP$e)(_-Hh)3}AYR)fI_E2XBL>Wi@GHl&O_MdhXHI^%=9g08 zn%~5W;3r%y`rUmy_DOI}$aN62m_@AOV&d9tphDCZrzHd#G@Mcw>&qU5q*KtZA%c=v zvI!#FLRF^LX}V^!vt6^#&8E1z%Jzm-aXw`%ffIx)4bEn(5z@7A)d-(W4*kV_1__0_ zIv{qy--prg4hC@25d4R@H}7lUB#PDTME|(%Id%0F7xi>wZw`)5`xw((*R-& zMe2mB1qq*QTeN-hdNgP9`XYRNPI6TYt6n;b7$9B?}I(EFOAY+{2k3xNe@8a2y?zM59+u5K z_`>z+*;7~JKH!?6skTuY$OOI?H%{eDYkBfoUfzU$toVcgjG^mlOYaZsvN)2<(y$bsvjH;9EVY@lURSK~c90b7IY zn7SUdC4Qc~9^ZgaOlzIL{xi7V$M;|8&kFu}-XXW{JGu zK@<}kxLR#G96jhVTIdvyImP2iF~gZIU8P*_RoStgx>!Q~`vTWdRP~yCydxEHcH@zcNTX|FIpXy(%9&E~d z-c!4J*6dZaZg<_P2FPItdtK#` zpTB>yXhmx{d(PI5hE3hMuV5bw)(q^E%eW%kdvhrMae1C9jh~HotTIP_rPLnec^1SK8Fo-)|eWeLJn~Z%(EEVB37Z z`M#iT(8(Ba^L-gV6)2o)eX1|K>$Ln$XImnH6kuHVG#oj-S;!17=f( zORIHdn9KpE_S*kLK;vNIGjGVDR60UlcgU$yIYZ=o*SrB+4Mw(p;uIaC_X74!1y652 zSL%1B1NQaBOlG4&ERjhiN}?;oh29KZ3Q_7164_$P&g^uD-$@5O&0?7uCWHq* zh1V4|m)RWSKEv>oO`q&go?%)adk*mTAQ<5+YHsUvo`` z3tlsR-27Y#<6iM3Z@Wl@l?jr23x$zS+Ab{I^!uXopsRR35p@s|-rs;+$?bX7hy?~UYr2e&dT_| z7ttrSp^c+Qj{Hz5eeI6l-nRYqoplx{rFY{}`uj&lM@PO5Zq1y#t=qrgz(C#`FJ5?& zp97d%>IGg0@H{N&fJymQ!P=1u$m8QDY`Xl7@j8IV$8f!{PcvYjYSIJW!QFh@ybciB z{(r>134B!Lxj%m1bLO1c_a&K3lF4MU@5y8(+puMZEle;3NPr2*s!%{hq!a-W5z&IX zQY|T^R;^c4O(TL8Y+Y(yptmm9>+KJ{y>_{^%C%nWRWkg(&wFOFAicNu^ZEZi|F9-G zdC$8(@3VZL@6&VPtK`10qiw}A&LhnG!u52SWPsXs4=`0EG0M@lwPvE8uC|Rpz3M;4 zK85YX^=Jq$5M;S7*>Bp{)HdyFsuMx2lZ9$3sv7ILIxmnJ;Lsdxe~}o#^Ok2o`|!Iu$jf0nb3^u>X$>!%^4Xf2}2@= ze4BxlhHTTWvYKSmydM|M$&2s6-H)BaJD$06T(8x& z)V#&Om~-#gG}XijRJ7;o{xUI$QZan`zG=yEkOt{sU8Qc{U&RHv-{}z|KYWwpq{&>%lM(-KqIZhj``aCx!_s-`V$5I5wb z!}veRLXxAftP$Izv#$1cfe=g12g!3`qC6)bFgDi;;FK=rE>JT@c~k+L1JFg{F2Hjn zXXhohX;5+zSOoqKp+cnO)kf$x={wTdT%>V^wc2PpAqLVEC3=$3@9aQ;#R4c1$O80D z=#=;8aM6(3W3arCi^*LO7{MLJ6$m%x8ybs(5553_W z=G89DK(?+8`Ty2wK!VWRWg^GPZnN8wLs97jL!}habR)WKk*yl_I3rVnhXzJ@ERr-9 zfh2(i=Vs!R7GQ#X3LKPW4@W z8hzn?fAK9QK&E&Q05k$!q_BR)BvRj@Gqlrr!TuMAM%z_he5+Xy(t*X%fXO4OAzsC$ z8jU33CrV4{c|JFM{dxP)e||f%lFsXoP!UL-6h4R4?h(a>{mlD|=gLPKh0?I+f|GsX zWQU#XfRpWTvbdA^os1o06+@b&e!`E2dN(oP2UQMoGw_!+Mn%T0Cuz*!^py=d9o&V? zW`&S5E0VU?C>T~)WR2OR!7rwb8ys{w5e+xLn<#ta^BTI2fFGy4Pl8>BY}@y0UUmx4|%4z&Uqdg>awc1A_XweovK73{8Gs9POil0l_Ba5bQy>0|3yN<1?J&d?I>4G)t zo)kV!$^o(m=ci|1$if#Zk#jgX*ZZ*EX;9kQhsd;Jr9li0H|_>og>zxcL5b`jr; z9}J~hro9DO;ov$gZ}Y{sp_=fg{?E{8i^=mgzOSrXcp%wV7-sO~r2qGQW!)z3Q_4nH zk6rk3D9=0ATbc{>M9_Q>^12XXJ3yn8KK+9r6o<2f^!bIK6ta_r>~JBA7qUuZUgUBgrfdWGeuBa9P82!`_D1TD9ZguO3UEt{Y>q22d?Ug$6I4v_CY*mt-Cv0VJE~ ztW}O^Nq)Rx#es25DDxNisopP&4~h;==a1vJHO7P)kEHb} z+NV(loAY-Q4-((U(B0)tT)%<;0DACz;aPQWK#PI@r>OX%y}|w9T)(-DR+`Os@qH}j z!a5Uj0%K2OSMavEZlku{!?76LQbgOV=3=ae+BVshYTG^7_3$3xh;T1g$;EziwS78+ zYWsb{N9a4pdH{SPiBm7edZ17I9sC@s@966wp9YX^aQsN(^ou;_oCjPv3LbDTSZMpg z_2B+M2-=n2TUe-f2&>EdWhhRdUsakGpX*{)*Ap&L=W=-+al4cex1dsi#_3HGzXJut zD;5Cy!2|BZ=!pgA@kYpo>0m zH#?>Ftmv6)R$Xmuh~{T5pc=v#CbRHlRtn!rI4kCBFKrjC?M!KJuV|@_d7L0usfbCc zZ-rbc6iDTuZk5IlITy(oDpI51nD!>QsPRdTr0GIRibUuVFDLfQhX4sV<4`l^KH9QK-oMbX4RLA!h zb}z~KH&i(vgzyZfWm)K^Px%x{*8_eR`&c(l|b1?=Qv&+7twq1|5Gu!INo~E{;`-8(A^QZQE8zYAfzbU^Qnv`rA z&-LOta3$e6>aSMVhMZY$E3uYTgZ$kW_qF@N?~;9OLSKFD|5IPP?^XK>90g0CoN8L# zKQ6k{`JQN`IeYQ#|4R1spN4c6DXG_^uYp7}@gAYC3#qR!zI|ayYD|9}%Fc7}C-EG_ zGgypCMpApU#=l7R)r`JMPF=FilwXPXl>Wf=RcaUdD)ba+pUd*{(pA3(?rPp9?rJNz zmS_9z?0q|nqjbHPW3RG@?UL@Kd;w$ysIt+EWP+G@P84~Tw|NWOi}XOLI#o*+RXz>o zel2#P(V>WOiLjDHIYmxcN}{FIC&2J|dK^(?;tP}`t#YcXIZ#wLbXet9XN8G(PbA)v zLhS6(qlv)XBg@6_-iZjWS4a*T>gc zr1tMm@klW-k+_IU>Z@D6;AB!?-1613MYn_Y!SWyh&|)K5S9)sAOS( z%f8I7x6O3|we22`h2u}7aUpjca*m%hwcn%@sBQN^7p12uj-tt*7=u*jgfK{I+Y7uO|etbL9{QrlmM_BjfJkN`|hy+Qqn(Rruyq`sq1crx`4DE=a=zXX<# z#$e%cP<=-qOg8=w1YJcIofsLVcksB`vC(%d61}P%GUunDh-%;QoJTV=IX4t9JElHo z2?V(Jn#3I1!+BK_Tn51SBwr^>$?Z~_^H6E_1fK;xFaMVJw@-bZZZ$sZRhV_5vC3YN zx)pf)_~v-5B4qa&%n7ZM9_@>E{dlY*`g2j-mtFSA*j^M%gJW@DJgc@%*vVGvi*V(I zH&XKrZvl*deU{q#xHW|}B&p+V<3F=SXiE0SgZ?Zvpep->{?qeye7sBXJnrnb)&6)e z+WzrRqd#ifOiA!AU zfK>w1QC-D}Q;1Xq1=l#H$Nsp=KU`4hkAi==(5V@mz&rd^C&tEvS8xg01f;IKKW9ASq>>u?JFp5kJ2FqWys>pAT!WdbIpKNa}KZ+N^bi2;_W zWiLkgu!xcG5;Vzf@j&_fZJjx-nHf#~qUHi;iZgk%&!0=v&bL#y^~(J^1K}^FpU;}M zZ^A%s-v`$N*)K{y#~joOv%+OQ#i`HfW304KzqTHO7u9zMj8LjmnT*GnT9h=4si?iT zy|jF+R?sI$zxz>FakW?X)u$Ji3sPL3mW|71r!V@a9gimdG`?=ohE=AznM-QVzjDdi zL1Y(wrukIJK~~w!a9P?+uQ%IaC`4eESJe_gjd!qOpklB>69B5L+>tGp#L}#ws8{Jt zUm6`N7LAvxX;QPaI8J7qmM_(X)X|U6`kTmky5f=cidwJolGRq;-qVzm_qX^@Bh$Z48Ne%bgpRhL~d9+(>ikd_zEq9CwYaIVcvh-8S+-FMP zg#0rD0pg1+EG)Javz@3%{C=?nCUv1Wr?{$E(h_}SQAR<5|7#SIFC~XS$`tW#<81LE zj8zSQPi{03*gZO~OA|s6?oq)b1cB&jV=TOMUok6wuB4=@x;m?IH<5*jHggWuEA9!d3W`CkZc*CWG*L;D zvubt|YaR>uq3RO_|zU>21R%`!+WUbz2nb=X?i0mml}vERXL)j8E- zu*Feb?Pv*VG{t%iWs+5@;B#ya9B~qx;JhO)mGR|GI0+_nS^P#;DVG7f>?nuL(VB!R zDF>Od)4}6FiDoH=oovwvQZ%555fL0s4d+fFV(&^r+M^U}39<9f9UA%d1JANALX&cu z=hakqw*^h(>y_?tSB>S8KighY-5#no)wIhGbo6__3bMV4t(y0|{T-pXjagX@bI-@w zc3VY#b7p2seT6l#TeCmCb#ge<=9wIs;z@j7+tN}SYL;4%!OgKiSVJ>bFpLb`e&K;| zaQ<%VWdG#K$eYe0kz6PFBRgERy34 z|4>{M#Zss`28mm+Rg+`d_PPzHmXq;}P9gjIYi3-WtgPkU2(`omdwFzX=LM0n_IFp; zU^fL@yQ^#FH3tG%uPUt9=Jsk-s%@-pSB{OF?f+W*zo^3@>q1>vz{a_u$59r&7)cr zbgnhn;Kw63=P ziqO`KX;YiQW!yYxgV?y`o4Ww}1i5s}MF&s_8_MMjMNl+kJ4X|pPERNvw6dVRvX zh;;(8232i%eXfvn$U8mxj%gWNLs!(-t_y8d6ucxB48~C3#+SRSv2j^0#^uAfdSw#F zZp0V`;eb_&6Pg&OPNlVgFB7$v+DD$3H-M9b1@Qbf`D3V?sD0+%eF4|?DdTQ~u)}b` za2PrHJ8cK7avUxMY9ZtGCB%)BEJO zu15a2b>+QyKpPDBODtC?NG+sEjMRsLl#;*Mz zmzT<#O*-A0-jZ2>hU`Iu$-Vq5`M1b6YYYdiX_cT-5>P%*)apI*0ZSO1pO!GVaV-|- z0kDr?Q-G=va=5e<)hnPNzD5@wyuZYa6;x5V)RPc6*%L)`XLsb3S6SA`fx4L$C0(

By*f;h|BS6=4qD=XQRT+F}3KU*<@i$y(iW4tV) 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

xkWP#Dkk&_ajrL_U+7{N|C9P?6E`y&& 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

xzb?5Ja<54!0Tv7$5T26o)+`ibi} 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

!*meB7GCcZvn=H_Rf8 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%0Ad);SIt_`?Q; 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