diff --git a/2018/05/input.txt b/2018/05/input.txt new file mode 100644 index 0000000..c14b02e --- /dev/null +++ b/2018/05/input.txt @@ -0,0 +1 @@ +tRrgPgGvVpGyYTvVemMQnNqQxXtTqOMmxHhFfGgXhZzSKJjMmksKkDDdaAdrRzZlkKLWwiInmMneEPIipBbNjJFfVvNvdDVsuUSHoCpcCPcHhmiUuSsoiIxXQqODdkKUvhdDuUwWoWwOSsHOoFfVJbBvxXlLVVvjIigGpPUuaMmAlLAaBQqLlbxmMXEeuIhHIimMuUPpEeJjsRrStTuUdpPuUCQBdDbqUWwHhKkuhdDHOBLlbrdOoKFHhGgGgfkfFDwWNnyuUYpPREeoEAaecCDdDdcYyxXdDsyYOokfFKSmxXMFfdLlnNEeyYMmDEeOCcnNrReEaAoDrRlpPLGVKkOXxiOoItTYyVvUuUuQqUaOogGAuoCckKIiyYSrRsvetTEgsSGtTrRPoOqvVlLpaAPzxvmMVXYtTuHhUyZSsDdSmMrRnNXqCcduyYUSsIiDgMCcQIiqmGstkLlKTmMSQdDMmxszZQqUuyYPpWwVvMmDdXxfFSDdsQSsZzpGVvgFJjdDfqQFtRrTtiITsSlgGdDLyYtPLlpbBHFWbsSBwfhVvHhTCRrrRPpOoWwfFMfoOFFYybBfiJjEeImcKwWaAkbBjYgAaGyJuUfHdDhxalLAJjbBRVkJjKTDdtGnNgFffFLlviLlccfaiIAFCLJjuqQUlCZzIXxboOnsSNBrRMmjiIJrtTiNnIHhSsJjXjJpPiItaATDdpRAyYamwWFfwWMrWwNnsScLlaAlLyYCTtPdDSsqzcChHLlZQaAtamMZzAnNdDrRsSsSSsXpPxwWQqGDdgnFfNwWLlvIWwiHhzZVzZrRnWwieEINgGTIisoOSUuskKQqqQSuXaAcCvVxUdDAJjLltTaRfFcCrvVDdIiWDdusSUFyYDdfGbBgwuUHhsScOoQXxqsSnNNvVpPIinClLtcCTXGgxXGoOgnFfNoODdWuJjUwnNSskKpsSaEeAPtPpgGaATuUzZFRrfqrRQwWnbBOoWwRrGAarRVjtTJvgxTHeEJbyYtTBjhLluUhRrHtXDRrUNneEmWwYyMucCnEmhSsHhHmMsDdSAaZzHhMetTNrnNRpPsiIVCcvtnNTdFfXRJSsFflLOooOqQdDkjYyDlUYyuLHhdJEewfFqQKkhHQqaALlRvTRrtVAaoOreEEPpJUujFezZcCyLlOonNBbOoYqQiIAaZzyYMmMjJmyPpFXxfeMmuUEQqGgYyCeEcdDJjArJjRIBbiaDhoOHcCdGqQdDgUalLWwvSsppPVvPVuUwWCctayYWwwEepWJjQNopPOnWwoOxoOfLlFXqweRrErRIiRrjJPpNvViZzInutTDdpbBzZVTtvPBeDdEnaANmMOhHobmWEsSewzZvVHjSsJxrRXhjJPphlhHQqLJKkjzxXZxXMmHkUuKaAUisSIqJjCcuUGgaAmMROorQuzyJAajYriIRBbDdEenMmNokKSIicCsOZyvVqIMZzmiQqQqtvVhHrZzRTLdpPDluUHjZzJIiCeEcztTZkKJnNtTPHhpLcCVvlzZDnuUTUsjJaeEWxXwAcQDdqCPpSuDDddbBYytrHhRVJjnNNnnNnNBQqGxlLXlLyYkWwKGgQSsqfFkKPpgefFESsayYvVAGgDdTtePpEKkSsYyFfklsShHLpPJhHzvVZrnNRwkKbhHdDBSssSrZryYVvRBbzPJjpCcRWlLZzPNnZzVIfFivNnTtdDlzZLmGgRrkKcCNnwgGZXxQqhHTtvVeOoaAMIimnNQqjjJqQAaJiIWwGgfGiIgFEoOvKkdDVzvVXxgGpHhPpIiuGgUaxXAPXxkZiNncCdDIHhAapPclLmMWwCmQqiIwWOoMzRrfYykKfbBEeFYyeEFfCcVPpuUvvVZkKGLqQliIgiNnItTjzYyCcZRrxXRWNnUufjJnNveEzcCnNZPOopxXZzZzVuUFSsxVvXJHhqQbCckKBsSRrOojIiRGgJjroOWwuUuUJlCcLjiIMmHmSsWKkiIwMTtAahtkKTqqQZzQDdZHhzwWDZzUuwWdpPdzZDEeJyYwWpUuPjyNnYrRoMmOCcIEeUyYutHhCIiqQcpPTHhkKKkrvVhPpHhHRXrRxiMmXxAouUiIOatxXwWNnvbBFPpXxfxXtThvKkYydwTtnkKNsXxpPnNeEIiPiIjJtSUusTGgPbBppPtTNOonpCcPPpWwVvUHTtkMmiIdDoOPpiIgHhGuNnNnYyUKLyYleisSINpPnExWsKkSRriIdDwDDdGgGxXggGGgrRxwWXLCclnNdeESswWiyYOowbBFfBbWEeblLYyRrBbBYoOyzZDQZLlzKyYkJjqdUursXxSRECchHEeEeiIeFDCcdPfrRWySsYwFMmpoiGgLlImcCPoOmMpYyuQJjqICxXTtiIciRrAaUYynzZZzZhjJHzRrvjtTZzJVJlZzLVclLCxXCsSrRuUGXxgLAaAaljHLsSlhjJMmJcvBbCcXZzxaABbDaAJjTtlLfFaAxhHkKNnQqRWDdwFfiIrXdZKkcvVgGCzGgoxXloOxKkHvVhnNDfeEpPFdXLMPpmhiIHIihYCcyHlLSsOPMmpMuUVvQqxXYHhPpOorRwWWpyOolLrRYdDvVNnUuwnNWKkIiGtgGTgPpVjJcTvVtCvPaApWxXAawCcFhHuUEDdehHfdFfWxEeXwoODZrRCFjJSsfoOZzGgpPUiIumMpPKMmkbBunNUefFEcjJCcziKkIZmMiIRfFSkKCcssvVOoEfFlxXLezZNnGgSZzTtIYyitJjJfFjAaVvqQsDCsScdYySlLWwqXxQUueZzSIvVkKixXdDEeGgyoPpoOIHhioJjOesSoOEOlLLmMTtsStTXxqwsSgGyYWOoHhPvVgGpqMmiIQsSdZPpzYybVvXSsIRriBZtTaAzbxRrikKZwWzStTHhfFbZLlTtzDdBLbcCBllLPSsWwNLlnNzZAlLanIvViVPpvkKsgVvsSTRrdkKDtTzZQDdqUutGYKkGggGyyYMEeiImCcnDdNtxXagjJEKkeGaAlLezZbBpgGsSPpPySsYOotDdyYaAgGZzdyYqxXQVhHvDTAwWxXSsaHhgXOoxGjJfZuUyYbBYyCcZtTzzJNneEayYAGgJjlLPnNptbFaAfCNZzDdgGnNqQCkKGgccmMCMmPEecjlLJdDXxVvCdQqxDdXzZDFfmCcuUMcdDWvVuUwCPpveEmXxMAacWqQmdDMwhHCxbRrBXmMoOSbBsvVBbhHVhYyHZzAzZuUaFbLlBLlvVPYaAxWwjJhzZmMlLAagGqQOJjoMmMmuUxXkgGKoOpPHIQfFBbTrRtXxqAaCczZFVfFpPvfqmdaADRrHUrRuyYCcIiuFjJfXxUMzZDdgFfQqXxPWwxPAapbnAaxXNXxIiERrpPrUuRJcCjFgGfJjHhrRAUuQqCcaiWwIIxXSslLiAaMmXhxXHRrmnNpPMmMpPWwKkGmMgxeEYFWwHhNnKsLQqlSkXsSPtTpqmMqQXNnuUUuNnxFwWHhfAaUBbbBulBbPpxJjSNnsHhOBboXUuLyIulLUiiIebBHvFfVIihEgGrCcNOnNoXxTtpPiIfFaAecvVvVCSkTEXlLxjJezSgGbBgGGWwgLPplsZzpPSxVvnNXOooGsSgHhOmMFfFKrMmRkfJGgxXIiIiRrXOoQnNqYwrRHhZztVvTwVvZzWWeEKcYyCUZzuOoFPpfkQyitwWTIYAasSkYydiKkIDYycCULleyaAVvYEfQqFVvCJjLkKlVvEemtTMHbetpvigGIVOoXHhxUuGgPpPpKkAzxXZNnHhFfWzZwwWlLWwXIixAKTtkaMmFqQaCcfFtTZzAhHkKfvjJMVvtyYTzZGLlxNnXBSsbIihBbHJjgdDcUcfFCujJvVFtTJjtTMmOoftTsSOodaADfaAUuqAaQzDoObtTBMmHhdjJILlEeUHhrocCqQOfFeESOXZPpzAkKaAaxcrRPOwWRUuronbBbBUXxuRrFfEBKJjenNEbvgGjtqHhQHhTyYkQRrtTyDdYOoqfFKoOhHLagqpPQOoGARrpPiIAaWVkKjrRyUUulLRrDFfdIiuPeyYawWRrSstTOoDdCcAuUEVjJvkKAaWRrIikiAjJvVwWaIDkKdxXkQkfFKJjqjJfFkJjNnKcCHUuhneEyYbBFfvVefFjJmsDJHYyhCcjdBFuUfqFrkWwKRxkKXQxXqXxiItnNTDTVvttTdoGgRrNnkGgwgGLlWBDdxXebEeygGYBEYyVvxzZoOqQXKgGIikjJJRrjRlWwpPaAlLWwWwKopPhHOkKkiaAInJjNjxAZzAaaFeEMmFffHOJjWwlMmvVEeeEPptMmxdDGgatnNTGUugjJcCimMIbBnVxXvsVvVpPvxXuuEiIeUVvILlfFiUPdDpYyiISKOokFwWFfPvYRryVKrwslLpAaeEPSnGNngYxuUmMtQLlqTSsEekKcCpPXyVSWwDdbBkKHhOTtPpwWJjCLlJjcARraxlLXFfyeSjJBUuXAalQqLXxbBbCcKkBmMjCcpPJeEOojuPpUdDQrekKjJEKkpoVQqvmMOnNoOHhcjdxXdDBbDJCPRzZgfFGDdIYYyyJjRrwWyiIYyYMmxXEeCccSsvVXxxBbXCxVvXtMmyHhYyYzZfFQqTlUWwuOopPxKkXLDdQqiKkkpPKIUuSSVvuQqYyCcUsQqXxpoOTILoOliQAayYqjJjCTtqnaAYoOPppPsSYyVbBVvzakrRKAZmMVvZzcZzBbCDdVvfFnNnkKQqGjJgRbyCcsSyYZzYBEenpPgGTdOdbBSrRsuUEeTtBbvzZJaCDdcAyYLlLvVljVhHvpPOPpnWwNjJRrocetGgdWwVvDaALlTCwWNnZLlzEeCcOzbPeDdaAuIiRYyMWYkKgGywZSJjBbsvVTtyVvYMmzGTTtRrcCCctmMgqQhXyYxHyHWwKkhqAaFfOoQRrIuDdaAUiOomwWlLFFdDfHhfQCcDFfITaAvVUdDuxXrRclzoOuibnNBVLlvAahHDyGXxNnrRgMAaBbwWmhhHEdDejyePKkAaTooOaOUuOooAQLlSzZskIiIiQqybBYEAaetXxTCaAcfFpAaPRxhHtHhyYTcsSCrRKkXfFzZUuBbrHSsFfVmMvQqsnNSvVgsKWzZwJjkKkIiKfsTtSfFzZqQFqfhHoJjOFJjFfUusSbFfBgGEehHQRpPrQqPhHTtxTXxdDtTmMqQbBWCtTBbcStbFfQqBAapPWqXBBbbzZcZzCMmcCxyYCcqQNmMWwzZnCEeLlrRzZTUuuUttTczZXbBZzJjogbOoBvVfFIiGLlVvOqQsBBbAUuablAaSsLtTFfIXxwWisaAjfFbBXqnNQNXsKkBfFhzZHsUuldJjMgGBWYoOpKWMmwfFkPmuVvwWUuUrWwRpyRrNnxXLpPcgGFfOoLluEeUFsSfmMvVCdDHwmgGDdLMnNtThHfFmlOwWoPpWwPpUPpuJjMxrRblnHpPhcozZODdCNNnDdmMPpkbBjFfnoOKkOwlAzlLxXCYcvKkonnNvVNpPVvpPNnaoOXxuUFRvBDDddbeEgGkKZhHrYsSyyYEeuBbUmMJmMjwoUUusSQXxqpRGggmPpgrRGhdDHnFyYtEeTGgnMFTEetmopPiIJjAaFrHjJhPmDdEeiIJjhupdDFfNnFfSsPBeEbAcgSRrSsscdQRIiJpPjrFVYyyYtTHhMoiIAsSStTsTsStpriIkxXFEnNFfpPnNLoOwWzZaADdDrRtTqQnmMcCvDoOdNSZOofFrkKnNnNdnNDauUlLARsKlLkvGgwWVOuUoHfGgmlyWcCwYYyNHhnNngbMmBoOyXxhHwWwyRrEhKkHhHeExKkXRreCcWCeEBbLlcbAXNnQquUiIpPxRrYykKrxVNnaAvXJjSsffjgGJAaFFRYyrQeEqpPSsvSsGgzZVMmoOrztTbKkgGznNlLZTtbBoOzsEeSZjDdlcDQqdCLiIJGghHhHxFfHYyZrvyYVLOMjLlJmofFJVvdGKkbBAagrRTOoAatNaAnNfFOIivVLlaAZzofJhHaASsjAVvOQqnNWwktLUuKklpPpGvxIiqQMmXdPpRpPmMpfWRGFkQqLlcCVsSvctNnJYQbBaAPUeEkFDdIIukfFKCNnOTBbvVdrzAaZdxFfXmpPMwWvVmVvmMMSsVgGvZdDivVNnIVTtbxXBBbbJjEeBuUIHhdDGgfgGFUQqusSDdvLlFMmoOfzZTtBmMhHcCjxXrRJbCSsfUuAkKaPpuUCeSsEcFffFdsSTHhjJMmeEjiIJaAjJFfYEWYyfFmMweJjOzmMTtPpRrVvOtTAuUPpaouVXOoQuNnYZEezyJjURzZJaAvQqHMmhoOKkaIiQqhaAHsSjJNnINnVuUvaAiQqKqQkJjAQqgEeejJEiIUJWwBbjQqGgBbYWWwwyNnirRrRINnEeuGLHhlYsSyVveEoUuEMCcmeqzZqQOoOoTQIlLiTJjtaAFmMUAHgGsShzZvWDdwvVVLlaBbEUGggGubBJjJjlLBCcTtkKrtTLlRcniINoOCfFnNSsmfFMuUgrRjJBTsPwWgGfFpOoSZzzZNIivjQdDZzqfHKvVMmkjJnNXvVxhOecxXJjylmHnuUKFbeEBIilqQLfUuxXLlFDJjdfCSIisoPfFeEpaArRDvVKkBbCINnMmicsSdtTgGFfFJDdjqCccCNnQKkBbvWjXxJRczZCrHabGEegBgGnNMMmxXXPbBpIAJjqPUupQiIKjJmMoOOEeGdDsSMmZEeXxJjzzZSyYwOobdDFEeGgjRrJPSsnWwNzJjyYZponAakiIbBdoqQsSbBuUQAaqIiVvVvxQqoOZDdzzZMmwbXxBTtMSzZbIhHpPlfKDdkFVVvRdOorEuUuUDdPcCofFOpWhUIVhMmHqwWNOHhTtonhHVvkKQnNDdnPBFrRfkKavcCVAazZAwWFfcsSwdDSsCsSVvQqnPpXZzxmuUzZBbFfbBMsWwtTSPpDtTJjdBbewWpPdDENcYEOoeJCcjyYxGfrRBbIlLiWwYEeiKuUuMmWJjbZztuVvvVUTboqvPpSvVxXmYkGgtTJTYytjoOpPDjJdBbmgGBGgXLlxPXxpKkAzCwWcTtkKIYyJjYyuUQsSiIwfFOVhHyYrxUhHihHIuGgcCUuYQOoxrXYyxdeEuMZfFyYGuwWUgchHILzZgNnGOozZBbOoOoEelQOoYyDdqoQqOzvVYUulLyAaZsgGtTzipVvPIlLRgGTGgrOolLpCcPfjJgGvZznNgJjwWkKxUuXGAaOZoOzhHmMfPVvpFGtTwyWwYyCcqzfWOXymIiMtTYeoOovVwWOaChHdDQqglLWJTtjwGHhVvcefFZzQCcqDKklEeMOomdOZzoRrVeEaNbHhgUoOBbgGanxXlUuoOMDdmQqLRrRrNttTQLPxXhTFBbZzAaJgGjfCcSMmIAjJZzaMwWUvVTtLlWzZhZzHKkYycNnHhYyCqQiIqpPzZgGUOJtDdKkTnnNgGjJKfTtvRrpPVsmKBbYqAaQytDjJXxRrxXqJKYyktEeTrRHiIBTtwfFWbBUZzubtTzrRUuZxAlLaLlGCpxpPMmrRAankKyYNcKiIkOosyYWwSDdCXhISMmsJjaAgGiQRrMcXxGUuoOmMIiyYJjyTzZvVKktZztuMosStTGZzgOoDvVdpPOobBOJjEDdBbqQeSqQsZzHsTHIISoOsSteETfggGPUyYuEelXxLsmyYOozfFqQmlLRIidDFfrRcCaPktJjUCcLGgluDdMFfmTzZXxhHtwbBWYyTNnRQqrKDdhQqUkgGKVvuHjKkxeEXJXxNqQOfFoWwlLRzZbzdXxogEDdCcSsdTtskKSDZzkDTtXxdyYyYqdTtGgDuUtTvVpLFtTtvVyYnvVNFfBbSZzskKTWjKkijJMgGmIQqJwMFvRBbrRGgsSMvVmNBdDbnrRyYgHhGYVvoHhOdCUlLucNeEPnIHkKKkACcaJKkjJAeEMGgaJjBbDdKIbBRrixXkrRzZABbAamDKNnkxVbBoVvOvkyYKVHfFhJpvwWHhVTtXcCxzjJZqWKXvfFVPpUuHZzMmhCPcBwWbOodDGMXsiwWxihHWwIKkkKeAaEIKkiIiOxXYyocCRtTtTrQqttTNmEeMSsSFehksSKHOoQqJvVjVvVvEMmnSsnNNoOsbBbBAZzTtkqGgmKkMBRzxXykiIKYFFUQaAhHoOkMmQTtDcrRCdqRrIiDdkKfFKbBkJDdaANKmMYHRUurAxSsXankTVvoZxtTGgndDPpUuoONOUjYJjyJgGuaAdDnrRNFrRApeEDdPCaYyvXOoxMyYtTnNFfyYvVXdDoOkcCKlTtGTtsSATHrtTRhRMmylgGAaYSscCbBJqQjykfFYyfPDVvdpDSsdQLkKlDEeMTtmnNINnyYaARrOoiFfiIlrRAWRrwCjvVJtTtTvVvVcNUUuunaFPpyYqZzHSGsSJcPpCjJVsSvYyXMmLlOStTscCzyHGkGgKlLfFLlgBnOtToNVvuUvxXVIHHhhEeEeYyEJmMjuUeXxnNRIircCWgfFGpPwLkKXxRrZzTiAafFeEyYCwvVPpWmMchYZzyHuURjkMKkZOozmIidDKIibSsPIigGAfpVvguUXavVAxzZwcCQxXAaSsxXSwWsewRrWEqnZzzoOsSdqQCDpVmMvGcCtZzTDNvVzZnNncBKkbBAaudjJDKkuUUbBhHouUYvVyBbkKLqQHiIfFhPpJjmabBgtToOhoqQOTtrLlnyYHmNnbcajDDdOnNoHhfFktTKIicUupPnEUueDTWcuUCqQZzlLwtMtTKkeEmihCcbBUkvVzZGviIvbBVtYyHhWwTguUHhVjJAavGViIhHsZNnzEeSVvhXxHhHvKkUuVGNJjXePpHhExkKYySMmsSEEeekKAaDyYSsdmMIUuJXzRADdOoopPFVVvprRKUutTTJjYNnyjJtTSsHhGrtTTOotOskKSqQxpRmMrfqQiIFuUOoPVouyAaYFfmMdDBTtgiADPptADfGgiCtsSNnIEeZRrzrIijJgGHhsSmMtToOovVOLltTMWcCwtHhaAzZIsOjJVaARrEeKJjAuUakaAxXtTGgNsSeEERdDriaGrRgLQqFJjNnlLflKYyGMaAgiICcGMmdDQnNDDWTtwhHJGgfFEVCcvuUejyaAEDdePNgSIeEiyYsnzZoOCcNjVviIqLTtlHhemMqcCQhHOoykMaAmGoOoOuzZfaAyYeEyYTvlLVxXjtxWhBAfFabHwapHhTkRrKtijlRrjJKkxXLWwGgQGAaIuUULGRuFPpDLWbBoOlLwtRnNIkKilOOjJSsBbpiyuTpxXvqpPQVjJGgqsSAFfKXxiwfYyHVvWFfsSwNnKkBDdCcdDDdZnNGgzDhHdjMbpoOZzPRTtmQqMQjJWwGgqAaQzZqpPuJjXxUPpCWPkgGgqQraXxUZJGBbvVXxgDdjzmQqsOdADqNnQdaQpPTVYyvbBaAfFLSslZHhzLDdDdQqUpqsaAACSscCcfcCFawSjRrJrjJRKeEgYcCyGLWwlksWkKhHeqQcCPpbhqLlCauUFfsSvVdDiSTiItbaAPciIMWnSsKRrRrmmPQqpMsdDfFSOVveVvVWwvhxZzlyYLGLlHMmktTrKkiIcCATtXxajJwWkWwnYyVzopPowWAcHhFfLlTtCVvjDdnnUuOoNSsVEADdzZVAaENfFneXJJjYLxXlawRrLlCDEvMZAMUXxYyReYyDdKEekmyYTttruqHnNhQsSeNniIrREiBfFlLaoLlKkXxfFtTHhAERryaAgGdDpusJjSEHhebBUoSsOIRriiGVvgXxITYySQqbPpjlCcLBXxdDcCJRrRLlUuLlWWaweEtmMEeDjWwJMEedzbBZDfFmrwsSaHhAQqsQqlVnDdmHtRIixAOJpfFVvKEekWhHOoZwZnunNUQqNYSsGDOovVdzZoeEUmwWOLljCcJxPpBnKkFXxfaeEAmMhYzZySYybDdBJOnNqQIKkHWlLwuUTtQqXOoMmxQrRxyoSMMWwZxXzxwWkVbBJjXxrRYyvKCoOctiSMYyAazNnNnBnVAahHiIvyBZZzgGDdAeIAJmsSjJoKkKkEkfgGxXTtFXxqDdJelLAJZIiDdztIiTpinNIaPtNnqQTjbspIibdqsSfFhLwWlUuxXRpPWwkRTlcvlLnNbrRBVmkOvRrVoDdiIKmMMXQoOakKbBbWwPAzKkPZgrRrGlFfyYLgKSnNEesPpDdJhByYbrRUAOoawWmrvSsiyYhHjuXxdDpnRrDwWdYydDNFfBCcxloOLOotvVTpPNlLzVvQqZngGXrzZRhHqQDdrRHvVyEeYhKkvhdpOotTLhHjSQCMmPpcvxTBbtLlyYXVBTDmCbBcRrgaNReRrEZiMwWfFlLLlXKkDNfDvVoDdKkOGojJjlDHrRhqSNxXnNFfvVIaAezZEHhinTtzZYyuUrIrRBbnWwNdlLEeWwXxPpxXXCDvaAQkKMEeQqmQtTzIivVqEgSsyYMIiwKkWmEBIduUKkMmuULluUDUBbbBxyYxPxXQXxZzxXqETteIZziMmNkzZfFKImMiUGgubxeEXzLlhaPPpDyYdEelsSFUutTanoHqQhqQCRsSAaOoQVEedDvtTvVWiGDdTwWtBbvVyEvVacCAelphHTlPVvyYtufFnDdZzgGsSsSxQqyYnkSeENLlnLlvVVaAvAcCdDzpgUrsSVLTksSfFvcCFzZiOSsQqWlLeEeHhNMdVnuUyYNckSUJsSsSmMjAaKBbZzkfFfFYysAixXRrIBbaPpwwMXMmGgJdDjrRxONAZzaegzmMZGPuEJMfGJjKGgPKEqQeyYkMwFfMmAsaFfqQTGgtATtndDNGLEyYiIJjFfecCluCcEeUCXIixWvVpFhgGLlgGRlYyBRsSAcLtTZzhHlzDeEDjJEfFevVeOolLCcJTVIioOvEelLrGXbvpMtTjLlqJjQofdOoBvNnVbHhoOYpmAaMSsLYxyYXyyUddDDqQPZwWzpXxuPeEpSsYUOoEepNnmMaAWeaAENwhHyYWnwAjJOoMmhchZzVAavzZYyuoOqQUSlUcChHxXSsuLWwGPpgJjCtTCcfKnonEeplXHjuUHLlhnUusShHNJHeEgVvjJvVGpwaAlLfFaTMBiIbVNnaXxAYQEeqmDQwWFGgfqdAjJYEPZJlFfLjzZfqQFJIjJeEijVruUUupfqhfjJpMmDlLimkKMIVJdGgetTSwWhHsXxYdDwjJWoWwOqQJjYyZnyPwWKkSYFdDvjJzWMmjJAaPpfFPEeEePViIlLVvvloOqQLeEmMpLTEeWEeSswNntNVvNoOYyQqBqtepqrNvpPTpPGjgGyYJKaTtAhHOoKAwWZcCcCzYyNnWEdkKlLDMmejPpJrJjRaAgUkKrHFEVvdDmMcCeSskoxEeOoEuFeEfoOUJDdvvVVjFBbfNHhyIaTtcJjNdKkPkgGKBcCcKkKJLSAccCCaCemIDwSsnygPDrYnNyRdDhHdRrcWwpPRrCSrIiUaALRvVrlxXMmjGxXgJaAhBIiRQqGgtTUulLWwpPrJZzNnuUjOoCcphQCcOoqGgbmjJrRNntTiRrnSfFiAcCzZtMfFmwyYoHMmNnLXxJjCCcpMXxvVnJEUOPpZCczorNtxXaHhAdNnUnNuDQMutwIiWGwWgumMbBaSsNTIiBqQsSbWwsSuUtrhXdQqeEZoNWISzZNrRtGgAJjAaUuTIzRuUbXxBOorwKkWrtLtTlUuTRCgRFfhrAPmMpaRrRAatVKkTtFgWwwWABPYXxyhHYypXByYbikKIGpgckoOBUOokqpPmMWuShHsMmknUmMuRFELleiAaIRrwWRKkrfbiIBkwZNnIzZjzzZZJpPizaAceXOHhdXnNxXRRrKkNFfJjBbQbpFvmMVNFhpBbPHBbpssIihFRdFRjJOdDrJjpPZzYkKyAQqVvNnSsdIMmxXrRigkMmxXhHnNMqQmmMmMlbBChfLUuRyYDJFfFfcMmyYGgjJgGMmVqOoXOouHTtudRtTrUuDJyzBbaWwAbRrqzZYyhfyYiCEecLliHmswyYOfDEaAedDIuUeEASsafzZylBbAvMmyKvqQVGgdDkeWwjxXJHhEoOYOrWwRoVPYyQgGtqPpSsBexXwCkKzKkYyZuHhhtTgGHEaAejaSTmjSsiItuFfUkKrbBrRBxXbOoRVjJvzZTYYCGhHjLNnlwcCiptTEePpXxQqitTfTtaTttTYWwWvVwsTjMRrmfNnNQqnFVUPhHpZXNnaTtAGACcwkeWwcdDCAauUGgNYVvxXyhHNnRpPJjZzSsSnxmMXGUugnihMNNgMmGnqfFiIQvVyrRjJyhHrTUmMuwWoOWhiIHwFCovynNssbElJjXGOoOeEfVtlKkLkbKkwMmUuOoyYroODdGotTaAjfrRoIiIiaBbPptTFYWwOosSiqtYZzykSsKYyHhmfFMwWCcTXxhqQzZehHbcCYyBxexrRQqJZYyzjiEgLDdCJjxXxzJjlcCfqQFIiQqzZxEelXxLHWwhoOMmMQIPpidDallLjJuUEeDdHhLmNnMmwaABccPpRuJoOBbQqmMSjJXnNzZfFnfgGFsAacgGCcCCckQqHhNnKiInJoSYysFRrDdfQnlLlWwlFfIiOPNjJOoTtRokYfFyKeEOrqQPZzpoOBbINnEHdDcFfIijMGmMlGLRHNnyCGgiIisntTMmAfFxBNjJnbhHEsQqMhHXEqQeUdRITtiuEeUQqrfFUHhuKqrRbBeBbefFyYETeEkKZDGHuSshjJRrUofFEeewTuUVqSsQvciRcrndDLGKHtEefFkOZhHcCWwLIxXjVvXxJPmMoOpRYyLPpxXqQPpQqQqLDJSssgROWwcCodDAasuEQFfZJjDdzWwpPooqsSQcwWVvUuRrCvVPgfFXpPiFhhHKkHSsfQYQJZcAQqlLHZzYerRdDZzEyzXgGoOVCVvcrRpzZPDkFfdDIiRkmjJIjmHLbBvLrDdbBlQbNnHcCnNahHNsSnJTmMiAVvlVvLiIxRrYItFfRhHriITgcCyFEoOefxWwXIitqQhkeEKLWwVvyzZYCRrbBPAFfHhnRrxtIiTFfuUFGgfOopNnZsScCzVvsanyYNcCDdncCFucwKkEBwWaAuUGgGVvgtTeEPpdOoDjJUukKspPThHtTtVceECgGODMQQquUtTwWpaYMvaAVmDdQqtTyqFfQehHdrRImMPpiOxXoDotTOgtqQeIiEDdTWPkUuVzcCzgGTnSFfhHfFlTtBCcSsbuULQqufjJbzmMnTLiDREIYyxXiISLcCluUduUJpPXaHhvVsDboLTtuvVeQaAqXgQPfeXfZzqjJQXxmMCcwWPphiIHIEzpPQqRrhxXHbNXoOiIYyxIinBbmiIMBcSsbBAabMmedDZLwDgqQGyvVfKkFQqqQYtpPTelLoOKkfFjdDJEOIAalLvkKcCeOyrCfFfFcwFRnNZzKTizZAvUuXIiWwyYYoOpSRMmxEecNnnNPpCZoOzHvkmxXMKwtTWwgdlLDexXCcFTAvVanNTtFyaWwJBLVAaWwvyUuYlrpGiIgPjJZzLlxXVvpnNdUuctTIixVUznpPNrlOkKoEpPiItQqTzZkwCXxbsJjScsSPpbaKLnNVvPqZKkbvVMVvmAaBfwWFMmWOuYmMcdrZgGnAAaaUurRvVedDEAaNHhaoOFmhHdDgiyYIRtOvVoeEaWxXaAwEgGVvscyYhHlJJjsbAaNwQqRSsrumMxrnNFoOhbxXBECvVMmiKkeEuUymMhcvqNnaAQxXITtsSGgxiIkFfaACceryyYaAFfhbBvsSXJjxVIwzZfFyrWYFfGdDWZzhBkTtUuodDvVNwDdWOdDoDaxXUNbEVMmMEmMHhyYRrTtQjJqeKuUQDBVtTvJjyZzYaAaVvsgGSnJjNhvyYVJHHbcCBfRrRflLOzQBcCwWMmuUhIBAQqbBTtpoOjNeErpFZzfLtUusSLMUtTjvFeEeESYsSygGsJcMmEEepPTOuYyYyemMMmTtAvVCYyxBMTtGgDWwdFULQqllxjzZKkoODdVWwfFUNVvvLTLDdljJmSsMmPbtTBpMzgGEPpWsSwYMDdmOoFrRMmfPwTmMhHVvrRMBMOXjIbcVycNgrhNXxnHsSrRIshHSeaNSJjsCCcqRHXpPxIopPdLlqGggJjGpPQDqnoVvaSczZCxIiszZsSFfnNKcCnNPpmMnsXZGjByYHhbgGDdnNHhBNnnNnqQtiDJdQRrRrsSqyrRKlLFfPpgGsSkzfXdEmMeJjPpyDHhdYTkHdDhKAxXPzZxXjtTJJnhKGsiIzOoAyYIipPWwXxjodcxXNDUuNkKqEeQbHZzTFiIaAaAvUuvkzZCciIYyQkKsSSsZzqWwxKkXQqJgGjsSMmflhHhbBRzZnGgtHhhcBbCHdDCsSsSxsSXSseSOocCeEJjmlLnPywUuWYglLHyiyYmMrvMvVmiIcOoClcCXyYouICcgGRImMirNZzKInSaaAGgMdGgZzDwWmeytZyHhYZdOzGgxrXxiIjJRuVvFoOfDTtdqQSqQslxXYyLxXRKbBkpPrvVfFlEODJjdbQqCqrRzZXbuqGgBcCXbBVvNnorhHftQqTuUpAaPFjNnMmJAkKLPpqQxvVojvlLhQQxdDXqvVybBgEeKkbhHBmGgWVVvdzZvEehHrNnQZZIeAaECcTvMSsJqrxXRqQAaklRsSXJUvVSBFYsSJCcjqQsxTthCYrRUziDvVxKkeMnNmqQyMEemcdDbBbvVoOIKPIipeflLKkQqgPpGOoObiUgGVvyYhXneyxzZXYjJMGgmrjwPpYSsYyyYUoXxDKkZIPTtpbrVvgJjGRglsIiTtyzFUsSAYuUyGuUeEgCcSslILlGsKkqyIiUBbdDNFteETBHhrFEZFfAlLJjaBbdYbRfFTFftELkSJjsnSsfvFylEeLYvZzHSjJshmMiIkKlQocCfFElOoLakKArVgGyxVvvVptTPjJpPJEiKkGgOlNnqkGoJjOHhheaAbGgGALeEKktwWfFgGtZKnNkQqzcCoOYGiqQrRIglouppPPUOWFVUnNucHCcLlWFpPNLlDGgPRBYyJvVVoOohXfRrxXlafTwdCSBhyYmIxJiIjgGMKLyAPhkKGgHtTpaYCccCfnzZtTXPpxHFmFfKPdDiIWeNvNnynUBbuNTtMmaBNPACcEeycCvVDdYHhWDXxgGdcCoSMRrGglylJYyAVkKvEVveXCcxgGcqjJSeENgGnwnNWxAGHhLHhlrRUaAvXxhvJjcXxsStQmkKCckfPpFOHhxtTThHEXxTtNnbBnNOoGgOWFuwbBEHhHFfzSEelLLUujJJCTtzJjcCPiIvVGPkKMYGhdDHKQRcoQTSstTWwSsIitbBTtbBRIpVjeTQqCcCZTtzQkKqNWwplqOeERrfTVvwogKNdsPpZzgGSflLzqQZEexhkKiXrRxsSvVCZzIByoOYcCAaZIcCRxFJjQIiCcqbPSspBiqTlfFWkxXKwedDNwJCcvVPRLCBfFWwJCcHhhHeEQwWHhKxXksSQaAtTqyTeEfzxXZzQVjJvMmBLSskKsSOgfFpHhPXiudbBDOQMmUuwWCVGAueEwwWUueRAspaJjjYyXBbxLBbcCqyWwNiPtTpHhIkmcwWbhhldDZsyBbDMmcCdYvVPMmDdbcJjmMhrRraAHkKSntCcTNsbBnOoHhdXxLlJXcFFfLIudPaAsVkCBYIifdDlAaaAtvVeEfkWZzRQqozZfEeDtTQqCcIuUAyYhHDdPpXxWVRrcsSCxXEeltTLNZTuULltXkKfFKkPpxlRVvvVAaHuDLlnaAuqQXtTZiOkKCvVjPzZlLlugKbMmVwaArwlLVvSsXPpaAWZzwjLdljdeEnNkksVQhxwWCpwXkKxhHWEedSwsyzZzXxZzhSLaRyYETxqRrQGgXkgSsyXPluQZqQsAOqSsluqvVXHYNnDdKmiIXtTzeEdDZxcCjYyEqBbPsSCSscOoIuUiMDYyqVvQIPpiAauUOwWxQqHJCcKhbIOjKkWfFUvVRrCcLtTeyFxoBbUuVkKvpPHPuUAaTojzYIiOlLBbwEewiIWcChHceEbsfmAGeECcMmgaZzNttrvDKkPrRyYpdVFfXCddvVSsDfzKoOkLeqQUunfFvBbVCcLRnNrJiVNKtTSzLlZCcVvvLCqQDusQgyjoLHxQqqfdTtThHNHXxjdDfaUuAFJhrGgMSOosSspPLlYuqeRrqpaPpAPUuDGzVdJjfdLZPpcLqQlNYCRrZzPFlqQLXxOojhHJYyfjPpYAaAaazZcCCcjXxaAjJTtAaeBbbnunNaZoOPOHuUuwWOSmMjOoKYytTopgGPGAmJjtTMIHhrsjJPDarkKCvlLNnVFbBMbBoqQOmIhHKkZKerabYaLbBNgudDheEfFLyzZYBblHuUrDdbBqDGbCcMmCaAVqHhuavfwWWPqQLAnQqNLRjJrruWwqCdLlrRxXlQOoqNQqaQoMjJhgGHEeuOofIitDGYygdwWyYIiTlLSKkpPdUZzQwuoAsPpSaOWwUPpRzZrWtTqoWzZpPeEvHNnhJjUuDjJssfFxXAaqoNnOQosSOxfFNbBnXAaHhYyAZAeEaGRWwyMmWEePYybJjbwRuUnvGpPfcKZzNnjKUukidNXxnDIeEKZknNKLnNZcqQCyCNQqnXxpnlDnNdOoVvyYkRyKoOUPpJUuGmuUypPSsGpPgYbBHvHhMKkhHZzmzmpXAUfFGKfujTtJpIFsfhWFpPfwaneEyYefFEaAszVWwvZHtgLenNXxElvVpioOBTnNtoVtTXnydjJDJcUfysVvqJiIqTtUuazVvfWwMCKpPoPpOqQGACwTtzGTtWxNKotQfFnNsSfJzZXYZqQJwzZpPGXVvFnUPkIiKzZUsPGgpynNYxXcpDdkcCKTYiIqncURrOgGcZzjxwtpPTyYWvVOAeErRiIaojPuaAUktsoiBboOKjZdQqNUVvlhHTgGuUTGgtFaqQCjJyaAJkKjEqQeMMIAdDaCcimmYisKFcYYleIXxiclLCELQGGLJivVuwfFgBbGGgLMmAncmMRBbmKLoZppXxyYPPzXxOBuUbfFqQHFytfGrRIHhykRVveEDTgCcGtkiGgyYLluHLlSsINneEihdKZVvCHpWLGglzZSscfRzkZPIimMwoObysdDArRawMXznNZtjAabTbBlLKktTtEPpAiIzVvdQqDFfWfmMUuofGgQqMJjIiGgmojpPJTMmoOjsLmwWDdVAalIArcCRajolsIiDdvxXVSRYytBUlGgAAaCvVBeoZzVveExEeYyXFNnNfUeYyRUOouLnqwWnxBnNJhHmMTIrhHJuUjwKkTaCorxXRfUIgGivvVoOVVOoCjJcvvVpPCbBlsPpSLAcHsVnTtoONyKEekRrHUuxXhUulXbOMmfFoeDYmAAlmYySKkSshvzZdeEsmUYYhTLNSSZSszikQrWwsHcChSRLliIHhSsYfWKUGgPtZzVlbBLLsSlvlPpLwWWwQqUuVvbfFlcCElkKWokYzZQqjDdIkgGAkwmVvMYIzPpcbAncCFfJjuwZzWUpoONnsYUsSBbuuUXiVvpgxcCdqdCcAXxVFfLlvCXxLAalcaZYbtmMcCBbCccxXNnMlsNKkoHkDmRklLMphHGkbBIiHhgDdLlyYqGgLsaEeYyOoAumOkKkMeVLBblvOIioVMQDdPpwdgGbeEiRrdEeOoTSPpSdfXjJSsSsEesvmPMOompYyWDdwNnMfDdNiqQAJAQxCerXxJMAaGruUDgBbPpGkHhKYrRyIidvQkqCcgfFXLmAaxXYjJybmFfPuUpxXRWhHKUEeukYNPzZsdBeGkKTtyrRifDdFoAaJjfHhkKAaBpJoZRPSIuzZgGAacCUiKklrRxXxTtbrvAvrROoTtyZqQsSBsSfeoOXUflxXxXLwaAWAaAywWzZnjagGATJjlaCrRcMOoVvUumsSVvxXMGgMmDmVFvVJOybaAhHOoBYyYJcCDzaAZKBfFbWqQiIGFNKkxMmXxzyBaoiChnNUaAzQqQqGgCcZCcgGUKkuAyYzZajxXJJSszZyWbkKDdBwBbHhhgGHWwbBoiJjSHGBDiKBeEeFvudVukKUjZzgGJbBPoOrRkKNnAFwFRFdDJjjJDyYmMUuXGZdFdmMcCnDfrRgGFmMnNzzZZkbNpyMnRfFnhHfUHUZzXxOhHfwAwgbIWxZZzzIgbBqQjJaAjJDeEVvdtUmKQKkAUuafFiuUmMwnUumTrRptTXZeFefFEcihHmwBmBLVxXDDFzyYaAZysKsQqWwSVvmcCwODRrJCdhHltQRXlJjXUgGuefcCeQhPqQrRLlpHAsLWFDNLqrRSssmMRrLpCcSLlsiWGgTtFfScCOofsSFfFyFSpUqrPlgGMpHhLlkKPnnNxWwuUDIXIixidVvXmMNFPtrLOolRTjJDAamsVvurRUMmSMsSsEEJjeeLlSmGpiYiSjJsGgxDdDdHhQqxmMSpKAaVEevGGbcCBKSLlsUuweEWPCyYDdoNXnNxncCsneENfUESJHhlBLwWAhHJjndSHhTtSiIEeeERQqmmMXfEAWwaJHKkhPpLZzKkpDRhTNnTCcGbPpBLlHhQIJdDFfYHvVhJjDJwFfgmadgGoOsaAnNjirPxCFfFfrVvIWSspPAaQqNyYkKfFMmxOoPpjvVzLlFfaGYyDdgKhutrKEeDBOoXxbfFdMmAaUurNjJaRrwLlalLKGghIXmMpAyYVDdDdOPcCqQGmuWILMzeRmOoMrErDsSdsSCnHEeEBQjKkSuUXxgaKsrHmbBJRrlMwmMhmMHBEhIiOWwjJSNOokcBlLbbBcCbBCXPlNnLfFpxKkKlrpWbtPkcDiIXxrVvRuUSsILloOrHDduCcYskbbBDdirRnNhHIQXaAxwnNObkKBoWUuLOUiZzUuITAatsWrPpoxAaBbnVBbvkLivVnTtpPwjTDkRrrZzPplLIRreoECnAaHkqJXxsgPwWpfFGlLmMiMAaNiISKnNrRbBFJjBEYNNnuUWwxXVgGvnUmMufFzaAZzZmEeMJDPpErRrRYyKDdLlkNQhHLFfkKLMmcClxPUuqeXmqhHoOfsSFTyCzhkKttlPFmYZyYiNNnZSVvPGUwWDdgaAGgBJTNCcQqmHhMXxDdvVnjCczZoOJtTSLZneEAfFfKCeEcWwEXTtMmxftDdhqKkyYwkKwwHdDRXxTRrpPDdwWfezNqjkNiXHhxtTIZzkKAZDQYhISseHAwTtaAfFuvpkmMKqwoHhxwwWWXrcNnEcCQqeJfHhOotTFjKkaXnPXMIIiwWmuUwBTuUHClkKLLxRrROjJVLQbdDkKBSnOySdVvbIxXOnePpAaEjgGYyjyYatRWLlPYMLqBbSsSskKNtTnrEkKZzfwYQKkGgQqNnqjLOolJvKHrZsUbiEeXxnNIGgGKzIimMIyYKyYqQJDdUuCwWcduASsIQVpqGxBbrrRCcbDxXETtSRdDLltxKhHzDdZTNouUAoJKoOymeEMUukKBKIBhetTCjJaEAaeAjeMWwoOpgVWwkKVjTtJkYBQMmpPtTeExdObCuOppPhPxTtTZZYyzABbRrkZNDOwOolWRDdyxliJeESkSTrRrzZRSsfYKSFDdXFLlfdyiCpPTfFPnGwblxnAbBDdqQaJfrhaKklZzLxDdFSSaAGmeEpsdTZyYpkKewUuDdXqQpPsimIiUQeRrvyaeTzZHuUhfFaAaFfQqhHumOgfRrFsxXZMmeJPeEgTTtRDknNuSaAsfAgGpPtTESsLlLyUNagakKKOlEASsZpXiFfaDrdRtTSseDbBtVNORcpRryYPjaAoOYyJlmUYPQefFKXAnNrRaXxsPpqmvVSnDuFfwWPnqQNtUOouNLfFjJlHAPOHhozuMmFflLEeyrRajnNnUHhboiITqcCnFAaHEetTQKEeavcFuLlDKkuqeYUvVmMUWaKkATkLbBMmHhfdvqeggGXDdUQXtTLDnCdrCJorHfyYlLFhRxnEpPcqkPYcZrgaARrbpdizZzbCcWwuJBzHhXxVkRywWDXoaItrRsSOoDzgGXRfFXmMFOUBeCcpwaAaAWFfwnlmOoMLNyiwWsUuKBPeEBbbpQqPCQDbWKDLldLcOFfyjCcmMiUuICgGcsSEvVespKmlApbBPMvVmBZzBlZOiDFGgvBbVayYEyrJXxZzZzlLyQkhdDILlQqCGgavTtGnPpNcCRrBuxCcfhHFmMpRrFfRoOrOwWaXeEvZbvSRcAaCdjmdDTtdDWoOrJjxXRDddDjVvsAXbBqYYyiifdhSsrRHXIiSbzZdDHtjBbwbPpBVHhvWOoKEeJjZzMkKAajJOiLlxXpefFAPKtTigGrUSkagGyZnbjKkrRTfJaGgAFfAIzhQEeqKJjbuUkKBkHZDihHIdhGKvNuUPoUuOmjTIiLltkKciLlIvVCuryYVvnQIiIiqWwVvOeMmARxjeNaAjJxbwHYpZzcpPKjJBsTtQHhIitvVqJjQAkBhZVHhgGCyYcRryJEwWnNKTtzZxXKSsTAqSsQcCcCKoOyYEeOZjLlsXxypiIDoOdrKfxXIehnNXxXVlLpPeXxIiDnEeXPPJdDjpQqUtTbBNnbBPgeEGidDsGZqjjYfxKMdDNTLjxSsxueEAzdqQSFHbBPpixyYBfTtzTUfRrScmUFfiBwqWhBbHbBuUgGWiIwitpjJPNAaxxLlXXLllLnlLDzZSsRrZdDzNAXdKkDxXIihHKkUFfYydDugGTtRvVDDhHuzeElQnNxJtEMmHmMhvzJbBRSsXmzZkAaQGvRdfFFakEMwEvVeEwWTDyyYYdtwWOwdfSxoxGUMmVvXxImtTjMxXQqrehHExXRyYpVvVuEbagGEfFiZGgCuNGrRgnRXxRjXxeKdDYykmvDgnNFSCWLeSZaaMtlulDdZQqCAasGXGgCKIjlLDNAOnKGgEOBoOavNWwWceEPFMPpkkyCWwrIiWwUuZjjJZGIlLuUdGgHcCIdaZzAbBDlgYHhyPpQZzVwSsWrGsSPpqQgoFXxzceElYqQyrRBNnqQqJZHhHTthvVyHIbFfByYTjVscCQqNnSjnRuEezcNnXLHhSkWwVvZEedDqVvQAcQjJZqQHDdlOjQREsQqSPeEZAcCyNnYoTtrROYTtAaygKTtXBflLOBbGlhgGHPFfNaFiAfamyYvVAaMySsYBtTQmhAafdmMrHTtrrRRBbTFXVvxCbXxMmtupxXRSsmPWfFwSsSsPoQMvoOzjlLWwXxQoOqlLIXxYaLlmMFOospPPmTtNaXRGLgGPHTeeEsSJjfEsCWcClBZCczXhHaAxhEOoASsXZhQqFkXPEeWwKXpPueEhHsAYHhyaSyQWwJlMmvUuVJxLXxnNExvSsZzLluNCcRSeEGFYyujVvbFfxPpRrNYynfKkSCZzcDrsRRrlnuzlLFiemnXPjnfStIOQqoUuUutTmAZAMqpPVQUyYnNpCYyzZaWHhcCxIiXjoOJLrjVvmMgGJfFBOoWvzJkPjTtxsnNSgWwDdGIeEMmVpWOZnuuUWvGrRgLvrvbaABVsSvtrMViIvmWwtnNBAadDCNnvnwbvMmNntjtxzurRwWwbBJjUuYyqQykmMZdafCupZblujaFTAaOVvKkwacCHGgAaCzpPZoBbgVUcLZTdrAaAZKOoVwmtNxcxXyPpqQYCdxXDJjTGGGgvriiRuzDWwdYptTPyJKeEkfFZzflxXdszNNntCPYyMyWAaqmEjerJjPpRuUEmMHhXYXOrRUsSDDXVGhdDuUloNUtjJbyhHFoOfwVYHFVKwNsCcqJjaAxlLXQSnzPZzfjIxXgQIiqNrWXxwXFfeEMmnvzUuqPwpsqUxsxVxGXxrCsSWEbBVviIpbvVyUvlLaPpNwSyYoAlgvhAlzLlaChHYKBHhJjGoeQbBbxtGgzuGvVgUCcNuFfZzNnWuoOzZfEeRZDdZLIEGikKCsfIuvVLDdlUvaSFfKSsxZeUeBfFVNnvUutdJwWWMmvfQNnqXxFWwXxxPAaxXFfeydPxCMmnPpbOtMmAaToNOkxpmmrBnSdNjJJQeEwKrohHPuCLlbZuUqLtTwDssnqMmMfDdFMraVvAMlEeUPfawFfqHhQWtqFeEwWrroTkKtOYyRRJAMyYEbmMBuUsSJjAaFfemawwWgsCcCdJyBbYtTJjcetEdqRSrnNhdkIeXLlRbgvGgTiUuFWbBURruiIwchdDdDybnkwjgnHrRzZqjDhHdWbBYypzJsgGSUlyuLNOAnBEebBlQqeNWwnmKSEIQxoOfJjYfxEeNPsQwWCGJCYIFeheEbRrBbwWARlAagpPGxiIqQXKCckZtWwzblUuqQcOoFfInMyYmBekivgoOzZsUVTvEVVvdYbByVxvkpPuFfUPOirHlrLBbrasOUJJTbsoQqQqZLhluibBGgIlLUoSCMYeolpPLgwVPIJsSQEedkEUuolikxzmMPbsJfSCwRrgqQGlLKxJjXfheEnbtGNnbPUeEFulTIitZHMCouUTTxpPFfaPHHhPbSRTYNnBbPzpQXdkJjqQvmhJUujUWWXXkKiZJjUbPMQzuUZAHSYcCKSsvMmccmHXxhHMmMmhoTtlPpMQqTtRrmbBnCLlDilxLeEAQQqqgLlPpNaAnCXxwXBkLlKWwEKYynFeEuUYyffsZQqSiXpYygGkKmsSkyYtjJXxtYMMcCmJhqVqHzjSstVreAWweWygGtTiLlYyYnrlCdPNnadDRMmNRxDYOoySMXnaacPpzibjIKyYkiWZXvVxTrRyhiIKzgCxdknpxfoHzAdmMrRDIbdoBbMmXNnpbWzOoQBygGVrqQPyYyGgZZzatTRwzZfHheElCBbcbewrdEuUrRzgGIiLJYJZRiITturxUMDoUuOMQqXxutlNVvnZThnYyAuTtaAUfjJLlqzKMBboOmhHknNzrquUFjuHhDQiehHdjJzdDZOoevVEYySsXaAHhZFfzDduGDcCdKcYxXSapiIchHCtqhzxnNYUulBYynaADUuUegfNnGamMAbggGgvkVovaFRRriTIikLlZzVPeqomMUuaoOAOvyYUtaAqQyYBNnbhETNnfFPpQiMmfnNJhWzVvoOZtTaEuledDdgJIAXxaqSXxzEIlLRUPpQqcDdNTcCplWVlLdwlcLllLeEKkLnPRMmMlfLlhzdbBDZHiIFvVfTelLIibKfdDcGJzGRBewyYyFRfYyoqSsQlbXxloAatAcMOBbomCaUuxhHZyMJjBCcVBbcCowWSsIJOowWjxBQWwJjnSHhzZzSLkfFbqROcFWtNfFnYyKPTKUhwWHLYycufFqtbHhweeSUusRrIWqeUuxXrMsSBIPYypkiwfRUKSsUaAuSsksUgGPpjibTtTsvRlDdKqPpjXHGWBwWfFAaKklAaAdDaGSNnsbWMujkfFKCcgwWZztnOoAaUsSfFBkYynlXvqQOJtTxtXgMYDAaQqdbkKUuTnNbBtgGGkXASEedXxZdhqvevljJjsSLENxCLkKVvmtTMmOnfFnuMfFhdFCbPxqJiHaAFZzfwaAWhMmImMtoOEQwhHCchIiwaAWyQunuRrUlLRpUuPrGqRDTlLQmMdJjdDpQqFWwNnfKizhoDdZtVMAqQlLEjJFfZqqrRycTQqQTZWPPSHhqQoTQqtOfHBcGGdJjremHhHGRixGezcCVldkiBhpPHXGOCikYcNGBbAShHniIhjMmJnAuHFfgGhtfDdKlnNLhaNKmmodKgOwyQqfLPOpBbaArqBltRrkKzCkKckKtcavCcTinNhbFmRrybPpfFiXPpsZHusvVeaAaASBJhMmHKkOcCZKMlFwUqQyuEmsxKkgbBbBmMpzZYtGEeUuZafySPClTgGtRDdruBQqkjUqeRrtRiQHhUuTsStqIlOZzKeBbMmZzpPpigYyUSYqxXjphHkXFfxKfhNnsrRpNGGggPuUpFlHhFfLffzLkHktTMYVBSAArRnBrMmwWjGQKoaAysRdKjJkmMWJjOoSsSbdLlDeFBZzGDHBbWtaGBRQCxSGryYqQaYgGPpbBmpPzZarfFihHbBwWIRjnNkRNHhnrNzWIiuUBbTCcIgGsVvxXiImfFLlMSKCwIxshKgCcGWRGbBhHoQglLGcBbbBbJjJZzqSwWAKkrRxgqjJQlaIiVMuUtTwWaAGgrVwciFfeiZzIocCNsGyYCGKSUzLqVvhgGiFfIDOJjobJjKRqoOopGgPaXjwwmQDJjKtlLugGZjJuUvVzoaNWSBZGgFfDdhcSjakHHhhsSoigAtTBnNzbjLkKpPDnNngzofyoOwLRfZzKkhJRrjMmrkXsaNghtTHGghxmkKMSsSslIuXFjJauAwilrRpVUgxHQXTCwvVNglOdCkzZoVsSNwEWKLlkvKFvVjRdJIFuKoOFWoQaAItOoTzZQTUFaAEyCKwcCkKpSsOhEIqREemYdlmETAdKdiQwWyYFPiIUmNOoTYyJjSAoONAVUOoeznNlKMmMlSkIRYHRrMmxDdXhkYNnonNOmMEhTQqmeEMoOaAkTtNrQdlLSsDqQqKwWwVsIiWEnrpNnIoOizZyYmeJzZjEFhHEebMGjzFPptaAThHwCcWaNLXUkKdMZzYLCcrjcCuFiIHhuUttTcrcCLlvVaipLYsFnSsKksSsSQAaqktTIjRhnxXLlwEejZRrGuzZJjtggaAeqnNTzZtjyYWEdcQWjGxxoMNPwOmeoUuofFMIXzQKZzkrOoRJjnRrqvVsSPoODYMdoXSBUSHfPprRTtFunfFHhNUhLMWMwWIEeLZMZPpJYyqOoDYfwSeEeXlXdldDHksSJiISkKVvCcAasIWqQwdYlxXLHhcDrRzkGgLYBKtuDsgOEGgxrFfRGFfzZFfgXsSeoGSdUgGnvzZVMmNMmRPprTkbylKZwWdCyqQDVvWwijaxxXXiLFflIAIuUisSKhZzLDxTFftLxEsWFydTtzZDdQTtjzmzlimwmlsubsxOOoDmydpQRrRNnrNrRsuUSqZximdDOdDOEMoQqWpnmBbKkOXXgJwqCDKklLewJECyYceQEnNSEeXxskKGGWrRwTRrxXUgzJKLlkWULluNuUHrJiKBbbByYNfSphHPylvVKzZkPMmIvVAcCRCjJTtTnNuUHhAafUjUCaFfAcuJJOoRlymDuxlnADtTvVdxXfZJgmBEefMRrwWPRNewSvRrWkRnKtMmHVveNnoOIizZlBbPpLylLKyepPEFfriKsLmkLZEWrRwKkuAavahHcCnzZastFBbSPgwWGpsfnMupfyYqIDkxXDatqQeMLDmtTMyMrQKPpkieVvHoPKkSsNnWkcFfYeDdfutqFfwwWWJMmjiqOwfyYkUfmOIioMijJjDmMrJfkVwjJeWnvwRrWOKcDoDdLGnWctxqhXGuijJIvPfFsSLIWaUBbxXAfxULlfvVbBFibBLtTXHGgGnbBASxKRyYeEMmiIHFKkrlWQqYFOZElLeGNeEdHwWhnNHhlJBZnNbaGIOwWZzKAJsCHzpPbsbGJjrRVmKkMvgBwnAOilLcCIUTWwkdOoqaAMHhWYyFfWJxAOQrkBdHQlZuJjskBbgVvcgwWSzZnOElLICEeWvGuUgRmvyYrRALDdGXasQjUvVuBCWwqQqOgcCrwiLlIkHeEShHXiWckWwvVlLCcitoOwZnxvVXKJVvtTAMFfyAIiRgsCcXctTqFfrbgKRrkoOATwhdJjgbEewWfEUuBsRrwDrsSSYOkqEegJRbNaaaAsbvymKKkhhHqQYyKlZvpPVFCcnnbBNPSAaHFnNPJCcxXQysugGUukKGIPpPEkdDoAaLhHrTEQuJKbULOoIioOcpsYFZlLEglLIiGezPpAzgTyPohHaAOGXSiCcIMeUYyYmMXxuWfXxLmDdkfFzojoObzpPZsBbfFESUhzSxaAIBYZHhzeEMfBHItVACdDTaAAaCLleEcZrRhHiJjITEeXtTxLqQbQRPoplFYCUucEeWoGkDHhOiZzsSuRrUIMMknAVvHnNkFTUaXxNHiINFHhXxsagKbBeaAHuUHbBhhEkjJnCyKSsKkIcogxbIKDLlLvCMmcnNZEghHXBbIrghMdDrREUuRDgQsSqgCbhXxtTFtqQLlGgfFTbBkKsppwMmzhIiHtKkqtCYQcCcCQzeFrRrRfamvTzOGgHZIkaAxXPDqtdrQgmMNwBbWUqYHnNWqetTQqrRTnNiMmIjQXpvVVvDdBcfnIiNDHmUNNoMlcXFfNndDnelJLVEHzZhVQHDKkzGgDsaYjJyxKgjjZzJJyYXxBSPpsqQymGxTXjoVxLNKsSbBVvbuNnNTGUuQqJKkUmwBBbZyUuYzgLbwCcghxJQuUkLyNdDflLFnYrgGVSttTBIJuNnSurPptTFWIKibmREQlLwiEEtRrTWBTQUClukwWtpkTwfCbVvBorQBKEUuelsZZgGzsNsSWwdDqbXaAiiIOvbmKbBpPkGKkgYzhHeEXTBbZzsSOTtLCcVvyGgLlaAYBWwsSLOVvFrfYWEbrgZlLjZzggGvVCaAGgFkBEDdthHLlFLIiWwmKkrWwpiINzZlHHhhCLWDVkKvvwLPtnCurieZsQiIijGDELUmNnMeAkKekKJjqQEwTtHfNJjncCFjFIqtebBHJjTuGjJgVHSshQMmEpvKqQSsIitIrfuUAVvVmMHhOeEvKVGGxXBbAyYaBgFGEzZeEudNblLYLlyLyErReXZHQTPAsyUuIcCiCxXkgWwUBbxbvVBlLKXxkDEIrRqdUJfQZzRUuZxXZQFsSKQqQqkaNHtzNnLbBKkTUBbmZzhHpPdmuQqXRvVUadDArzjyjlZfFbwWCcBVvqQVvMmVPpveDRWEeEEeFGgfBLFWVvUurAzYpFfRAavuUEeCcgGFVvfYbqZaAwBaAoOHhPDdxFzZfBTKktbODBkKiaZmMhOFXPNKDobBDdJjOoOXdDcGZkLlHvVYtzwDdJgtLlTGBCcCcIZzbBvVZCAAFfdDNxmsgGIiYysSYyDdjvVJdXrnrAMmpDcLRNyLlIYwJfFjwWEDNndeEaEStTsNtTFfnRvTbBJEeZhdDQvNnQBbHjmyOoTTvVKZzMPxnNRrOoIszSFNYykbBSsBbebxJDdjWdDBbiIcGalCcXnNyaAdDYLIPrRpdEecnTtNNGgnNqQLyAaYOMCCuOoUVkEeyshaJZzjqmaApBuzIxxwwukeEKHIiMVPvVpKDxqPPpZpNnytrsBpSOosSskKhpAXttOcmhzLUfuHhDdpBIigTvVBtTNHFkHhWcswWFaAjSBpZXKiIILOeKDqjipOoPpvWkKGwWOEykKmcsOuULeEHlzZzOSBtjjuoSAKkJjRlRLhRgGIopKVMmXxXvHhQbBqDXiwWIxvEeewWPpVtvuSGVIKEbNikKvVCwfFWLBZTzNnsIiSLxXraBbJjBHEWwfnDdNiycjgBTtbcqYcCySpRrnjJXFyodDHhOFXbBqielLiIskjJMFfEXxqQLCcbNaNnonlUSsYLujEeHhZPwPpoOPUuJjUuzZprRJQIihNAaGJWKNBYWwCrRcCcTtOoFfRrYyHCmMmMfItaAVGBrxEiKyYBpTtfbBFdDeEKkPbDqQMXxmHAaRsrQDeTECJjjDcgGSGWjrRfQTCcAFpuLmRmmvVQNSMmSsSIhHMmidWyYmMiIlQzBcUuUpJgGjORfnNUumjJMFqQkWqjnDsYyYGgyNbRMMJjPXKoVvnBokKOsSNLlcXpDpPRtTrYVDdvTtEUupXVwwWjDTwNnWbEuEzXfFksAVXxiFcCScIgjLlJemMieEWdDwoOlAGgaSsRrzYyzejZhHzlLEeDhHdJEjJrwWCcFzgGRkKrZUKkRrwUoOnhHqNnQQqBbeEpPOoZVvTgGXBqEOgbkydDcpPAZLaHVGLauUOsRrWnAdDVuYjJBPewcRgXvXSXuQSPWpQZVSsNxRnGiJFpZZEezDddlLDqQHhWrRkvfgGtThyvGgWYBTunOwWLHgvHhxdWwdunNoxyxFfevCcVEJeMQwYmXxpcTnZSDLUuCckwJjJjWKFDdjbBBbZUZzrMmIIEstTSesSZzRVOogtTgtcCPCcpaANnXvVnTPpTtMWvknNzyyYvVnNYakKRDtzDkKdlWwCdDsSuvGKkOFfchHhAWoAatfAJULBYyzPUcFAHhDzKYlLjJifFIWhHUyYZXZHhzTJyYcCTVBWNmMVeyYEcbSsuUgGBbTMcCmRTVTtRVlfFVwUNTwWtzoQqCcwPVvvmMivVXJpKjZVwlVvpPLbjJtTRlNnwAcPtTpqUuQPyYoOQqaAuqwWvQmnNaztoOTkKaMiGgfFQqTsFNJpSsxNMEIfuUZUNZzoOAaLrSRdsFXbBBJUjIiJqQfgXxsrvVnqQUVSssSGgXdDeAAaaMmMmlXjlLrRAaoOLjnNnNqqQYUxkpxKzRGgrdDZiIfHxXzhHxSsWwaObBoeHbLwcSeOoFeEEthplNnoOgrxAnbBMWwpcjJCCcSfAygGiJIiZHhVmqIiOppMrPUTBcfthRDFndxXxXkKDNHMqbAFanNOoIfPpnMmNANnnpLgHhQnNqOoYyoNnFfFVvbxuXxUklLdDGcCazperqJWwoLkKmMwWhzqCazVvWCcaAwKscClTTfRAaiIrFtttlvVLTxPVvppPCZUrNJvJtCcisShrRYwWYyzjiIQbAaLCZfORvFUOZznNoXxIiiIWwufqTnNtkZzKOoFMmfGLlLihcCDigzJzjJRSscYKKmMUuZzmfpuUCwnVAboezZkNIiYyoandJikwWcxgSczSsLUBbCcCcQOoqLTmOoAAzsEEelwcsfGKkdVMYyBbXxVvEJrGgrUcgGzIeArDBbdRBeUvPmJMiugXOMmXaRrAkKsFDjJrAaRWxYyXoxXeWmkKeKAffFyYXxhHpKvVkxXPDrVgqKzZTWwtMxWwrjhnNHZVeTjXqtTPpYyIiLZzZUddUurGgxrRhHoOanrReEdZzTLlIwQWbIuMCsFuQqtZFpPbXIhktTwWKfPpsDpPZaVvUXRrXJcCqQkKltnIimCckXFnNyJJQzggGEUueSIpavmMVAuphHlLxNdEQqvxHoOEixXXxAaFkDdRPYSJzoTtkatkZzFfkejeEYvzOoHgGbKaTYyeEqSJOojbkzZjJCPyhWBLlXnEJXrjJaEUueEoyYNRUJMpMmnVkgHDdiaWwjiIFtJBNzvVFfYAKsuRIlLtDdThHkXmMuSspPUxpaEPIyYbBojJmkJThrRBseExDFIIXxiIyQxoOaSJBWwbOownNMJDxXNZWwWwznrRPprsVBKkBbzVxABTtboPeKGgkHhdDEXUeBbEbgVsSAciHKqnNYjRYvVeAfdIozLcCbbahHLMkuUSsPjJBbcCSUXxuJYoClkwBdqcyYBpeEbkSoOxXIYeEvVWPsSERrkKbuoVvvVSdDvVsPpiIfnNxrxZXxcYyNnQqCVJjvdcCTtKkuUTEWweiAjJOxdYrKkKvYyWwZbjUZzKkBXxZIDzZPSsBGRzCypKJjQCeMrRmNnNXOjcRrRPpDYycNdyYlxquxGEQVDFTtOoYylKtwurRuEeyRgGrLlGkKgEQUTtdHhUfCVAkqTtDdtThfNNnQtOBuNJAYlLkKUmMUAauVvpPoOZCciIVvzZNnpaHhdUuDhnOoFeOoeEEpeIirRcCEqQPfzZTpfFfFwWUdNsrRMpPQSxFAafkEqpyWwiIuMLCroOocCnAgGqQaWwyYvTQqdYyEWwrDRdAIcCxIiPzOaARroaeLrKkRokwWAgGGAMmnxXuYjJGgleaFUKtTdrtGpjNnGgEzSGoMUqQbBeEIcCRRrrFfqQiuUokFfJjyYKOAtJjwWLlEAkKYVFfEqRrxXsSLluMICcSxvVWEPztDSPesSyYEiIQuUqMYygsseEcCbeEBfXAHRFjNXLBxXWgNNngGCoOZzeEQqcptcCcIYDZzxfskyFrRpPttTsLlKsrRFfjILXYJjiIrwLWojJSsMXxmdnzKaWwzxXtXpHPoUGgcBwWoDTtXqkKbOoyKvvGpNnPPYrsSRymEJmaAMZeEzPpcEHbOoiZzknNtTOobYkjOaqQOpPiItTntkXTbBaAxXrsFxXfedHhBNtTDdnXxRkKGgXgQPvqzZiaUpPjJfFEeDCcjJjkvVdDiDxXNndVvZkgBusrRSSJjzRhkVyVvCGgcWFFfeQqRwWwWNmMGgnPpUuQluUmypwrTVvAJLXxlwWJNoMRrmiBDYysYoNsuXhwWHlLxXxKkqxXlJBbeEjvoqIiQxXrXltPpTtDdsSTqQchtFfENnebWuUMimxpNxLlAJBbjzZcUuCcCRrFfVvNnKkCWwRdDOWQPVUWZzuHOoxXKkhUEeahEhPUupHiHIiyqdzaCcnKJQnZTtpPENnFSHhFqQfsQqYytOorCchoOWcCWWOoQHTLlFFsSfxXekPpFaNbBzhHlEeFBbffeWwEFbBsjJIitjbWZzwGGgKkuKkgFfpssgGzEeYylLZShHKkyYLlzNnnIzytTMDdgGpQGgqIKkdDiHhPfpHhLTTjJHaALlZcYtQMxEQXxKKkkdDLlhHpXlcCZHhzqnuKkIDrXVvxRdvViUeiIdjBzZVvEecCbUPFfpuynNnNeWKkzZwbflLZzkslLVJbBjvoODdnmISjFfxUqQuXrRQKhNVvceOEilLBbRFeEfKomMmMOqQdjJZGgzZztLlJWNmMIlpPKuUwWeENJjWwXORXxwSiIuolqGQqNngBKSyCcUwKkWhiHhgGmMIRiQSsTtqdChHKpRrTBwPRLtTqyYQnslPpLynNYBMmbmMoHbWmMmLFfAaNnjyYMhRSkgKkGAGsJqsSbehNcdDjJReTtEZmliwqVvQUMgcCpomjJuUMKkvukKUEeaOoPxhHdDiitTIHZrRzkGZzgAWAncIiCfFRzZYhHykhbBHRTUHgGGgkAXxkKZDQqdJgGXkKnzZIiwiIiRJjgGBbcXpRIJSVvjxXJTtMtTmWuvnsSNVURrwyYDAKksnNSMGCcWDdjdJjHhyeEjBbGgLliJjqgtbBtHrddDrRPlTxXtoOjVvAaZzefFFxMfuUFRrrlLsxXsNnDNLlalbLjUuseuFSpPOcpkggkPsXXGgGuoOUgsSIyIVvpPPgMUhsSHlLumMdLltTdDpfmLpRQIVpPviuPYyAasjQqVvJfKkPpYcCclLsSCswIPlFfSQlwWndnNfwlwWSaqEEeFExLxrjJqTLDcOojdMmovVWnNiIMkSRrYmSsMfddvlbMRaZzArbWMICAafGgEgGzxEvVePtwWMJjNkKkNnDxXdKAaWPpqAWwaQIAaqeEkCcMuTrRJjnNGiZyYzXwiBGiIycCYnNpPWaWFHhouhVvulLFNjJcCMmrNmYFfPnzZNnMmBKaAdNDfFhHfwWDzggGqQxdvVfCcriIdDffFceVvEvVYaANnyCOoWfbBayYpKkyYXxvDqQUVTtfEeEbkIdkKYybghsNnIOgGYjyYVgGvunuUuUPpNHJjlLcHhIOBNnbAbbBYZDdfCcoOFXnkKfgTtwkdHhGgRrHhjovVjXxfvMdwWmlLZzZzALtJjJnNBbNMmYaoOwFfWFJjuYyGgCcxEsZzMmFfSFbzYdDVSsaXxVRBXJjDBbdLsprzOBbjPQqbFYyOoOfFfFIlLrRYEZzeHhgEbCcMmDSWwpnhHyqQVvwrZzMaAxXZRrpuUPzBMlLlxZzXxiIGQKqVRYyYygmjGgREcXqajGgvVAaaMmISSsKkZzrcCRsStTkKsnFVRrSxFGgDYiIbBysstDICcrMmRBCcDWTtqmSsvJjrnNTtRsSsSEmKoKkMZzUSdDlBbwWQGKgPmKrMdZzKhsSOnSLPpmCCcTSfFsSspPyYrhHRkOoyYKJjByrRzlLDGglLODdoQDXGPIxoOySPatTAfsHhSFIiNasSWwBvuUVhHjJCmMdnNpPpPDqQKkZiFfyvVWoOKxXqQuUapPKiJyKOwLeLbBvWwVGgBUjPPpqQpZzJeEuTHhpmMufRrFRrIivcwWcCCVuJjUkwFyqKIuUsnNYysnAaliItTtHHhyyuaAAtTmMGgaMSDcCLlVIiHsMLaaKkGbBgboOBcCMydtTyYTtJdDjEBKkMmxLqQYySsYvSMmhCacuFOcAtWTtRfFiSoOUsSustjdDbCcXktTKIioONSsQNlYyrEuFxXnfVvZFfzOEdDbmHCchMIicoOvVaLuLlbiISsYyTaADduUrLOJwEeWlLiLvywWYeEMlpPFfRrSJnNtYyOFOeElLKkCcFwZaeHgGvVAahTtBWwAaJTVvtTxBbxXKkmpfFPWSYfJTtjeMmExXFjXxJWwBWoOcCoaAOmMFfpzTtKJKkjxXZwWrYYygGkKyUuAaFCwPhczkGgEeDUTtIElLeKFfdeErgGKaAYFfigwWFTYfhwWlkqQiCcIvVMchHCrCNaoOlJjWoOUIYyjlggjwWJqyJjyJjCvVjJfXMmxzMmZkSIGmcCMgYyBbuBKkbUxXcuUAeEDdftLunDzJkxoOXKkIOSxgvVGXTLlKyYwWpJpPXEesSJFLlfgGCiIoXFfxHhuCOoNKQqkQytiuUHhIPCgGjJSaAurRpuNfxgWjzyxjAapPFqToxXZzOOknXwgDdZpPWcagkQCcqKkQqcmFQqZAQjjJlsSLNncCQSYvVFjJuCjYNlLxvOTtbIeEvVbUuBPnNGThKkyYSNAHFSfitTPUFkguzZacvVCxGgPMZVhMQqgtTPpjAOoaukYrKRIirMmLaAXxNPcYzlzFCPpcfknNCfFuUoOcDdYKkiIyGgJkIiCFvVfFOoQqgVNrWBBpOojJwYrgzadDPpSSNndVwOdYyDZzqJjSsvVKkQuIiDsQqFqQUmMBbrRmHOohOqAnpPLbBguCcUGUQDdquDqQcSsQURlaCcIilpwFVAUQvDdaATtcBYygaAAaQqBPhHNnbBpbdojXxJOQRFfUGnGzZglWwAyBbBtToOAREHhkzifcRAdpSdDeERHhigwWGiIagOkCcslLSJdWwDsGgowWUhSsopleELIdDiUUuuzAUsSoOhHNBvVEnNJmvVMwWAOoHhcHdDhVvVvCGgfFPQqpyEzZesSJqQyYpcpPpPynCYtTyzlAaDFDvZWwgdBbBbQYcmMCyELlPpHhVvQUymRnwWgiIGtDFQHhBbXhlGgxXrRKkeEvVOJYGqSkOoFfKwHhWXxfbBFlrRLrRQqcCUJjuUdclVshHknvIlRrLlNncnNCfFLjljJtTNZzRrElZFDPpcxvlSshvVMCckKmiIHqQbOoBwWLOolLKkVRTTnNnMFWwSBbBCwJiIIijWSsznNZWoyZJOtwWphOXOoFRrftiIfFSwWsTfFfOkKQqoYEvVluOowJSsoYygRrGYyiBAaHkzZjhAaXsSoqQZzBbdmjYfvVFyJpQuUCWwceJMkyhVvZzxDhHdQULQoaSzriIRqUPbBpLpxYGKxoOQqrRnNSsXxXtRreoOrAaLlADAadlrpNnPhLlHRsHZYSWsmMzZuwiIrRWpPWwUmMXFfFfxDlLAMmaAZzFbBfaPcwWxtzZhHTXXSsfFHqvSKKDBRrbgMmGfOIioFbGgBUuhHNtTnJLDldDJRrzCcZhHxWQkzZbBKqRvIiVRrZzWvBkoOGULpJXxcWwCcoIzxMFfmUahqQHANnNOpyYiyHhYIHhlLPGgoKkTtoOdsSUhvWKKkkwFfVSXfFxsrLOoznvwkKXoOxagGidwWFOrwrRKFyYuanNAimMIUTLFEeuUzZeEiIykKbNnBbcKvSpDUixXluMmUfCZzxGgMmjJjDNTthRdDHCVvIvViBpaSsAEeSzOoLHHKkuiIUuUBDdPpCMKnYDdKklLQZyYDdzcnNuUCwTBbtyhHYWlUuyYXxJAwzZNnWbBPiIOoSarExXWLlpPrRRUsSurUVFfvpPgGagvowWOcquUoXxdDAavVUAjJakKIewWvVEDdxQnkKKkNqRrGotJjAaThHfQqFlbVyYyYvqZFRrHhtGgaAYZKkzAaDducCUqoOjVvbclrpTtjvVWnVvEDdyYLtJjQIfXrFVvfGgNniiyYxXAwWaIzbUuYyicfFIHXEDdebBlhHLCcfFGgFDnkXuUAahHxZzGOhHfFMpPmWVvGgtFBlLYyHhbovVQKkLPIinfFdBbmMDcdDtEHrRhpPJOovPiMmrlLhOobBInNitDdTHqOCWYtTywrstoOMmTSqkguUyYoOymzZyYFfTtpgpZcjllLseEHhZtTheWUfwJjIioOoetzfFEeZXJjogGKMqTCfFVHwWAaVuWwPpgaukcqQCKsSUXsQDdCkKDdajLwWYLmstIiTsSOSEesgGwalLGgPppnbwWACctTzZGgGgYVnUdDuEnNgGwpkxAaXPjJPTMmtppMSsfhnxXiILlGRXjJxrgnNNNFlSsegGYyeXxEERrkVvmXdDiYytTMsSuUZWwIiMmfFzOoNnvVHbxdDXCcbBsEeTtcDDdWttTwWFALUuWwRzZrFOQqlLocCxljJLHXxOvAadDnNjbrpdBqQbKkxXnfaAzZMmxAaXwhCvfiIwLUuhHyTXxTlJjAaaYyfFgBETYytOfFolLPpobBOyYVvHgGiIgQqKJjQHhLoIGVvgejuUXYvIiRsSeOqtPpcCIiTLlLMmnNVfFXxfVFbBeQqZzMmlLENSZzsKUOxXoDdulLlOoJjeqQxXQqETterByDzdDedDwSsWfRbfnEeuYQPpHhSDdgadDAicCCcLQCcqBRrFaAfnNDdApUuTtPadDgGbUuaDdxXqHhQtTufZYSLGBiaAzdjKkRrJNnQqNYynpPOuymMWJRERrNhHxHXxuIBopPoOFZzbBEyYPKkppPkQqZziBVvMpPmCYCLluUcEXROordIpPZsOoSuXxMmylLcHhGgHAauUDdLlXPpSJjyqQfGgbrcCRsujxEevVrJjYyLSsKQjJjYymmMVtGgizCczqRZzhHrRPpVLlDvSswMGFfYqHGgVJbBOicCvVIXiIlKRPprkaRRrBbOLlOoxbGgQfWaAwYyFcCUBxQcNnBoeLUXZIiBboDzzTYHhrRPSsCcpEZzzpPNnZLlbBAsGgNiGguUkTtnJjAaizZUxiIJjXdhHDOFfxLVRIYhUuGpNMsRrnwYyWrRNKCdjJDjHkKhJckVxXvRJjrEoOCcqfFQSJjJjYVvysSscoQqOTbBwWgGPpFhNnHEeUGgufNrDdDdqQHLFBbeEVvKVVYyhnNHvVfUuthBnWwdnCDOOoJmMCFAafcaZSgloOLtTkHxXNmMyShHsYjpBgbBGbatUuZgGzvVTfFtiIJxXjsXxPpaRreEAhHqQcCSDOoxQqTtFZYDjdLlITNUubJgzxSRrJHhHhbBjNkSBbXGgskKGgAhHLGgHRrhlONeEQlLOiyBWwOobYhrdDBNnbQcGBbgbBXxWwrMmlPpLkKwWRnjJAOCMmcoLOolSsEiJWwjrRRGnCYvCBriIdDRiJxoOoCcLuUlmbmthzrRZbBQqHrRWpypPdDtTeAaMmZmmMMkOsSUuoKtPplVnAaoOfFuvqhHQbBqOoQGFfgoOJLlXJjLqQuyRrYfmbXoOcbXxBaBbEBbKkUQTtCcoOqoJjOdDotOoeHhVXxvCvGgXxVjfVJoOumlTOoNnlPRBUTtuhHQqbuUnUuJPabivVHbqZbBoFrUuIiFUuhhjnNdDjJfFHkKAbqQkFfKdqIikAvVamveBnLlRruAvVYydkwVvxXWKTjJtHhpPnONNKknkQqKnKbHWwwgBCcbrRsSywRYWiLiIcClHfFjJYREVvGgZzKNnXcCiVCHYIcWJjweHfLaAlRFfXUHhWjJnBSztTZjLCSRWwKkjJFfreDdRrATrGhHNnpPacCHhAMfAWwYqQtkKaATyzRDDdIrRisSXxCyUoOXxowzQpUulpPkABAaCBZzweEWDdZzcFfWKeFSsfKkLDdRZgGuvVvXCDvOoVhHjJPRmTtMbjJWwjAKkYfoOhfFHtfENKkxXMmnflLFeEQqzZGWCcnwWNEuUeVPFfpoOhXBQqbjJrsPyrReExoOVAaclLCadDItkrfWRYoEViowWdDUudgGWsZzSlzZzyYEcnNCSfFsqQBcCCtTpPZeEeiFZzxEFpqGJnNjjsSJfhHmMIiFOoTtnNJjxkKEHhUNCcbBwWnjcCJlOzLlZBdSApPOZzfvTtVFoVvxgiIGjPTtuUptTDslLiedDrxOoXdIltNZJjBoOFUzTtpPZFfXxvVsEuUeNtZZDSsdWwyYKkvKpVsSvwGGgaAXKkKvVXeExkxEQqWSswjkKJTteDdRrEAzQMQqVvmqsSkKRrmMZwWOoPqmdQGgzZqtwWTovwWCcNnAatTIFffFivVXsCGgcZzSxVvSTtuZzBbUbeWRrCUwmMWfpPNASPXNapYyRrclDdwaAWSsHTkNnqvVQjtTJEkKHheKBbxcCXvVYGihHyXaItjADvVdrRmMhPYypBqLyYRlvRrVBbOoVljOzZpPfFoJhMuUJirfFZzRMqQKrKdaAvxZhaCbBcCzjqECcqvVQegGIiyqIxnNSVvsGpCcnNOOIiRDdrqeqcCPBbpfFQURFfrSrGSjMmcJjCdlQZzqlrilNnLlxXrRQZzqzbBjhHJoKQqTjlLPsSpJhkJjglNQqRmMCrITtTfFtkmEeRrqjPpJQMKvVCYRrytWEOJfFjuYybBvVstTSHjAaJsSqQYyUCcMmhgXxdztftTFQqErBbRQkRrDuxmSeXCcaNSIcMmYhLlntTDdNEeJjVvGgtUIiufxXFwWTtAabBRSsWDdvVwrKTtkTrlkKgaALlpPZzLgmdDJmMCErRehehHxXinpoLLNqOyYjNShHNoOxNnPSpPspmMIifFZzsjhHUBbtTGAaJjgrkKGgCCbKkIiWCcMCcKybqQBYkEeaAgSuUsGRrAqMQqmHhmxlLXmMXEpPqQvVGgewWLZWwGgCCccPpXsSCcclGiIfFeSsICBbcXJjEXEsSpBbPHzZeWwBbDIidEQqrRRdDrQIsSyfNnOoYyAOFJGgOghHRRrWKmMVvUKkuoOPpkBKTvGgFkTtKomMgGgxFSsfmUrRunNctTCIJjifFUuiIyYMMmLfTtFeBCcOogGKkFfCQTtqtTSsPplVvLsSUMFfmucAaygGXxxXYsSXxaASSYEenSsNVkKOcfSstRYyYaAYnSsmHIWwNSscCNsPprnMmDBbOodAaEKosSnNOVvWagxkKzyjJYTtQqHhhQqHIiuzZSsDdgGDdVvvJtSkKGgyMmAFIXxzKkZdDTttEbBUueTPIpPUuWHhgGJVvgDdcyyrzZRGBbxXUuqQgNnJMjJjJtsAahHAJVuWwUvOoUCczZPpcUWEbaAbBQTqpAafFvcCVKLlkcCaLRrYbBbBFQqidFpPpPoNnWHhSMWZtTKkzwjJhIIFlLEeHQBZYjeEUFfhUsSxbBQSsDdyYFmMfviIiICjpPdxXrgGlAaFHvjJVCaAccTCctPfFprRLMEejZzdDJOoGgKkmhHKAaGrRDtKyYkTaWwAarRqQjJYfFtGgTyRoidFfzZDIrfDrfHGtTuUcCgOotOojgGJdTtDTGgtZxIiCcXzTSSPfFfvZeEzVnfqQPBqHhkKPpnrOoxOJjoDaAlLomMoOwWxEKhFfHrRIiyYkCWuUKMmgGwWrNKSsUwQKubKCcCqQGcCPgXxqQxXpZzPGcCdDgxbYjJyaNTtnGfewWEvsSTSsHvVvVrGceQqEGYQqymqQMgZiTaAZzttWwFfoOVvaiIgOoYyGwWTnkKQqsjJOgGoiwnWwOzDvVxWwHRKklLKkJjpPnFfsSAUTUeEUsSudDuUxXmNnFfqnNTnKpXxPkROouEedDiImMIIiiebzZBjcCFPpJjVvgGfwWNbDjJziIwWpPZkKdBmAaPZzclhOWToONnMmaIZXxzCZzyLlYQqcsOoNgGIRrMBHPbHhCLlsSbDzZdznNVvZBcjJvCcVHVvzZaKkYyAMOuUoxXtVvTxXmrIbiIBjJirRWwRuRsvLlVpNMmsSnGNnYRrOoNNnXxWdYyBeEbsSAaXOoxitTMEZzpkKmMEeqAaKIikcCQPcsLlSsYyljmMqQkWwIikKCXxlLbpZOozDnCNnFfAiJjIsSCcxXiYneeEXOKfhRhHOovVxrRpJaAjPRrIiXtzZifOooOFiNnIIzZiIhUuYysSHTuGSswaZzJjpeGgETtKkMmPoOkESsemMKkkXIixOFfoYAaygTtpPtVnRQKkPplLZzfFaAPETQJNnjbNnYyMmWlLEewnnlgGqsSQAapLlhNnFfHGgwrRZVfysZzVvpYvIiVNzymMGgDdEDsSjNnvZzdLlkKEAaYyJeEeEjePFPUuHQqhQqmMpqQHQxXFPshHSRlLiQqtCcLlTIvzpeyaMyvWPAapwRdDrmtTtAWPqQPphhxLPTtNmMoOzZONkyYFcWMmwkDVvdKcrRbBCfFjJsxXHhmMdDjJHCHaxjJXPEeCcOoulPEerRRrxXyWHfFhbBwsSDMmQqFOJmqQPpPGgRrVIiSWwYyPpstTBxgOoRtjYyEepPqQELlddxXyYIikKZzZjJCbBabcLlCizZIBrTtbLtTtTTfbBFPptrrRHTtHpPhfyKkYFfPQqiIwcWwkKsSqAaQgcCSFfaaAWTtmpPpknNgFmjeUdDpEnomtRrNnTvVWWSuEHheQqsWwmMKCyYvsSiIISuUscCHhiDmnEwhHQeEjJqKkoIfVaAMmKtlvbBRuGPKkFfRrZQqLlaEesFfKWwNXPpuUBbNlLUTpLEetPLkBbKdDYyYyeEYmMgItTwqvVVvrEeVvHhTZzGgtclLUukKYyONAWnNEeYnNiIKkhHywFsSZzlwWLpPxXtTdSsDflyYTtXxOoyYuUuKkfFUrREeTTEjJetsSCcHhmMtLfIiOoAaHhLpAZzHwUuWSsZaCcABoOyeERrYZZzSsznTtpJjiIXXBrRhQHhqZzHrRbuczZCThHzZtmkKJjAaMnNbBdOoZzDAHhaibdDOoenWwWwNmMMmGeQBbzZkKZrRqEvVewWqVdcVvxOoxmMXqQDpPGgHhhHinNRlLXxHLYylhmMpwWPNnktTKtTEesQFfFfcCFfhHdLJPpOtTPpgdPpFndwWxmzZdDvVsSuWwUIzrnBbAGMVvdtJQqjtTbqzZsSspdDPJlvVaAPDHVoODdaNnAyYhwWBbHtTFfbvNnVPTtUJIVZcCzRMuHjkRjJGeEzpZiIapJjNLlnvsSVHhBVdDvkKAqxCxXsSYyLtXxyUuMmYrLxXlesSErRbBmMKrCcPpCuDdUIicoOUuLlHQDrRtTxXGgBPSBJiaAIHhaAwWpmMAPjaERrPSFfspdBbFKkfDxXPpjQOoKiIGgkKeOMjaitOoGeEgTVvEtTAzZaaiIUaAWwuznIiCcDdyYNbYHhQqiINbVviITtZmsIwLlWbrjJRBasSACcTXUuYyUuaAYBbymMkbBQlLqKmmXxMmsZzOFfGqQvVgRrpPYrRuhHjJUXPpqhFfPdDpiottTTaAjXxsHNbuUmliILyYMXNqQUufkKFlLYyYyHhnBfFRrboTPptUUuuumMPpVvUBbuUBPpMmbFfMXxuOjJgyzWzwPjIiobtFfTBaXrThMNvOoLcCrRqQSnNWBbRPpMKjUjJVvuIiuUJjJKTtkNnkmdTWSdNnpPDsYymMAlLCcwwrjbZzYyfFGgVOotTuUvJBqQaGgqQRrjJAsCVvctywWYuGgUpzZZzVoTtOBbvdDgKkFfJjwvVWzZGPPaAXxYgLlaAFqTtQfLlGefsSFaIiAKkasSjJHhxXOJjAHhbWnNwsSIURTzCOocUuqQZLtTpuUPcClXxgGMipPIzZcAaCZzEfdDFeErCcumsSayYzmfcCFMmVjJeQqiIfFFfdPppPQqQqRreEEeckKWvVAypLlPjyYMmnNwnNHhWxvkKlsSIiZziIpPaWwAzZLQqeEJjPpeEaepvAaVPrRGgOozZnNTsStvVvoONoOHhpJjJjClIiLcPzZJzZoOZzaOOZvNKzZRKrRGghgKkSvVsQqXLlPACcaphaAwWUMoOmucEeCoOHHlHhLEQqEeouIiUrWwhUuHUuRMzZOokNrMmjeEJRVHhvYyGgwmcCCpBxXSsLOolsIAabBnNAcIiQRrHvVBSsEYfFYyyzZSQhHrReEPuljWvVwJtjaAYywpPWJlYyfFLHhqDexzZLlXeEEyYdDDdhHdDTtLdDluKkRrfFUoXxlPpoOVvLSSsshOBbSsobtTBbBmMYyUuHPpSMucChHVRrvARGtTEexXnNKCczZYhHypwLlCOoqbPpBxXGgCXxcQcuUPprRVvMJjmwWcrJBTtbzQqZzZjfFdDBmJXDdSsxsSzZCcbJjhnNEeCDdcuUFWofFlLOpPIkaQPwWtUYWwtTIPGgonNOlfLoBboLsStTdDBbSsrpXxPTqQBzZQqbldfUrtpPDdTgoOlYyuiOoiIgqHhBFfoObXxdYyDrSsRJIfyYFkKPAXTcIiBbCJqQtFIilLUXxgiBbGgMmsePsSpIiEGgNnvNnVQqSIKfyYFVvHhYEQJJNnuUTtjGnRrpXBbxYNnddYyiEeIVvRCcrRSsrFJRrjqQfqlLmgkAINneIidnNVvDnvYFfyAaOoxXoSsSMmiTSsaAnNtdDeRrEvVhHTTtJjmRVqQvaAUubBfFiwWqQTPpjJCciSsrRIyYcIiIiIFddDZKkyYzadxXDTvCcVSsdgNyYffXxFFPtTrRpJjnGQTtSsqVuSsUvaoOvVIGbXxHhHhUnNOoOvFfPpXoaAQqRgAFffFOoNnatdDkOoiIhHPGgVvaAvyYfKkOUnNxXcCuSsvkKICrRtieEITFfciGxXgtXxilUuLITVaYyQNnqrZxjqQQqiiIsTtXyfFpLlPXxYxngqQezZEMmcCgKuHkyaGgSrRsIiEenNgGQqAYhHtTnNKXxIcCkaeEAKdNvVCdHhJrRIkcCKXxicCApPCoOjSsJCBbczZCcBZzMAamxdDXMhHUuhlfeEFmMpPLNPpvVWwbBRMmHqQRrXxGAyQqYLlUSsoOOoJjIiujJMwWxXEeoOllLHhiIOkKbDdfqQlLFCdgPPsSpdrRcDeEZNjJhnNTtmMHvGHhgaAKkGgHhVWrRGPFgGeEOtToaHhHhIikKvvVVUuUuuUpxXGgBqQJnNrfFIdDtliSnNHhYysbhYZzLlZoJjxrRfFpVVaAvvPjQqlLmWKkwIifFvVMgjJkKBbiIuUshQiIfRFfVvqQrLdoOcCqfFSMmssSxXaKkXxvVAFfHcChFBbfCcdRgGrfFaADFKIiLzlLfFZxXYrHhdDUuIiDdtagBbLaAxmVBbSsRrNmMnAcRTtrLltTafnNonNXSsQqfEeZzFOozOOotKNhDdyeEkmMZzoOnJjwWhHTGgGgtjkKKkLlKgGqusSSyYQqxXuUUugGSsuMmfOFfoFHhUDdsffFoOfjJZwWcCrDdbMmEVveQQqKaSpPkKMHiIhGgMNnGgmmRrYpgGpPPNnivVIbBiIdDyfsnTwWyDmMdYPpXoOEgGepPIlLSYySsQXxqxmRrbBgsSaDYydACbTtkKTtEoOeYyAoORralLBpcCtQqTcAaXxxoOCcVvaXxLlXxAktZzGgHhZzTOiIoVvwQLcjJEeBbSscCClPjFfrRvXddZDdzDKHhKkkIsWwoOwWSbBeEmMuUKkUuirRajhBdDbrkKRfFtTirRNpnwWyKkYDQMmqybbBBrcCKknNWNnKkwtTtTRrHhVaAfHjVvJhmtiOoIVvUuTfQrRhHlLlLjzZJQnNqWwBbqoOJjlPGgmMTtvVoOeEQKnNSsBbCdDcGgtTeGODZBtTrnIyYiKRriXyYxIhHPpHhkpbBXxArMZMSpuUrRGMmFFyYfsiihQqeEtHYyYyhXxTtQqShmUnNTYoOgddDDCkKmOoYWwyzZVvqwqQWqrRkKQMqQmHeEuUeEfFbBMmdDnCcjJcCgGNCcGgeELlJjsSQqPJDdjSwrRWwWOoscdDhHKkWwwcUuCWgOoXpEePwWTthjEeQBCcbdTTtkMSPpaAZdDzFkNOomMUujouQhHbRrBGgQMmqwuoOeEUEeubBmwkFFfbBqeEQfKWHqHhQhibBbddDDBstHplqjJdDBbTfFAufzZFGRrBXxnFTtfAfFvDsSQqdDLdpkKQqVvPnNEtVvTeEeRrcCEBbAEUdDnjJNzZuBxXbrRLluLcChHlUNnSLdDlsxozRrmMZuUvVWwwWkKwaADdFTtOhHUuhHOoocCZFmWkKTBbtSMmswMfssSSQdDzZYcCKoUbBuOkWgwWXxRjJrRrFfogICcEeiGoOsSVJIiZzjFRtrZSsPpSaAzZkKKkxpPXMmiCyYzzZdQqBbiIDmAWwZzalLUjJDbBRXYyqrRyUbBxXuzZfvmMVFXxYySsNNnAanyYXAaIioOoORvoDdWqiZnNxXTPppPzTtZPptarRaAEesFAafSGgbVvcWwCVxXHhhMmTteEHyYvMmMKyMPpdKkDsxXHxzAaZXhVYyGgQOBGNnnNgYyfFAahjJHBwUSsZJjxXzCckIjJXxkuUKycCOoUuFQqvVgHhAHhaXyWaqkKuUQAjJprRPoOOooOVvQJjqjJCQqbpuIiUNjJqQqXxtTQcbBWagGAwCvbEewWSPpxXsiRrIBiCSshWwHcXyYKkGgbBrRxIkKiuBbHLNnlNnFfyYhHsCKkccEeomMOCpPWwSweRHhVMmvTtTUutQDjJdqEebmMBfwWFuUrRDrsSvRrCcwkKWuULiVvVvyYaABsjJjJNnkKmWmMsSHhvVLMYymlXtTODKNXxYWbBwsSSsyOtQyVvYhHgTtNnGHhqWwnNTqGgQCRpPrcCcfBaAmMdDEoOeYyAmMDdaWiIVvrRkKFfmMzZYTtyYysTuUtgFfQAaqEeBsqqQlLQPpSbokxXyYUpPudDaixWwfjGgJsSnNFJjaAmqRzZrQaAAhwVfMmzZOZJjzcbBGgkOoNHeEhYyOohMaALYRrgGtTCEDdWwQqqQoOoFJVcCntipPRrSwWsIRXxrBFfxXbPzZpPpbSsGuNnVvUtTZBbzvvVAaVbeufxaqQeESwWsAIiNnXoZzObBUusSEeqtuxXUQONnVjSsrubBDdbBVWwbBvUwJjWDbBsGgSOodBbnNhdDUuOoxXHwWqxvBbJYyPyYHhoOiIfFNnvVpjoIiOUMmjJCaAaAdDwWcZoytDAaXYNnyxfFkKFTtNcCcCpVOCcovPwvVWncVCiIWuUwciyYvzpPDpPSsqdDvVQoOFfnvVNOyYosSuURDvVjJqQvVtPpoXcCHNnhiIxcfFUtAaTGgUuVHhvlLidDpoOPiflLrCckcCeEDnNdXxKwWKkaRrARKurtTRpPxOoXiGgJjIjJpTtCcqNnyVvuUvVjpPTVvSsWwCHeEsShYyFlLfUIiuUyAausnNSUuUAaYoXifFIaASsxOuAaKfbBLTtlgdXjJxDrhQpPTtqHDdYbqQByhHwFUpPrUuVvzZRzZuuUbBPqQrgGeEPBbpDPJjpeKkEtTVgPTKqQoaFcvVCniIDdDOooMmXxOgegGExhHXGjEeliIRzhhHGgFflZlLzBbeEixXDdAaUpPzZNnuuyYUIFfgGrRrRlzUuZLAaLFfXlLDdBFKkzZaAfeEiIhHZzrhHPmMpRiIGgZNdDOonGgJtPadDAppPTjkKRWwdDMjUMmuJUumgGDdsWwHhSRNnwWYpPyaCcBwguAIiNSsnaUxXFfHhGggGGjKkJhHYbBrKkRWYJjnTtNQqGXxXxrRLMDdoOFYyRrhiWzZvnwWNVAQqawISbBzbCYycOFfsSCvVcjJoKkKkBcCsnVNddtTDQqGglKZzoOxXTtkSsUYzZymMuepHhKkPjJfKRPajJtTJeSXxslgGLyYdgGDUKkVvUuuUuSsEjOIvUuViIYyimvzEeZfOoqSsHhQLDdlBbqDMBxXJjFfiIbnNmbBaXxVjYyJFfTtvAdDfgGFZzCGCaUYyHsNniIvVWPpwSMpvVrsSXxCcMmRrRCcNnHhXxYbByaAmMRWwTtZeyYEzfqQOkKuGgEeUQqMuUfTtJJjjbBJDdjVvYyPpCcLlfFmNUutTfeENgGiIMGhfFHmMrIOoimwWMPXxzZmMZzzZsSpPdDgEeGhCcHudDCcvSsViUJjuIOWqQRGKkLdDlglLoOdFfxXDzVLliOoEeIryYfxXAOcTtJjQqCjJNnVkwWKCycCcpPKkZoOhHvVgmXxMBOobGDdyPpYUuasSKkCcLgCcGWuUFrRlLfjUuhHJMmogMmGyrRYiISskKqQiINKkJrRCiIOocjJxEyYepgJjGPxeEXBsSbMZMmzmJUuPpOBbBbIikKzTtZoNnLljyYfFpPIhyYHiXUsSuKLBfRrFXjJWhrRyYlXxYPMymMpJjPiFfzZAaipPZzIwWQmMqCcIcCWyYwwbvoOVdDnNqUuNZznjJQrEeRQqUopPOumDLVzZLlvmdCcvVDhbpPbBMmBHMSpVvPbsSpPSjJxnZzXxbBNRiIdDrLlndDxiIJwWqHhLlQSAaepPUulIiLzBbmEeYyMEOoZzhsSHNneZFfrRFfRnNrESzKkZZzNnSsNLlnzPpZxQvVbBlLwgGKkKhHkFffzZRrGgFFfGgZzhHTpPhHsZzwsivVImLlMSGgtXdDpPZzcCgGpoOKFfjjJJoOkOoUupPknADdaHzZhisSINSCLlcGhwWRDdrKtbBTEeqLljJOuUtCchHpiIQqiIEdDzZYtTJGgNnXQqxGgmMrRoOwWmTtMXxdvVWRrwNnRrDHDdbBrHhhkKiISsyYKkyYKZzkEeJPpjHRYdwXxWnSYysNzZIYOoyiiIIUlaACcLZwWqpPsSEoOlEeLeuUGgFfDdQcCLsSZzqjJQqQCXxlLNiInRHhCcrHfuUeEFhtgLlGssoOQqSYyumMUgDdoOGSmxXMidqHUuhhHuUlLMpIijPpJGgRrrRPYDdXtTxmrUgQwWqDdxGgXvVwWnNcrRCFffFGEFfKkjJpulLUxmMXBfFOXxoZfFzcCEdsSXxfFfFDeZWwVvoVGyYvLlVaAhHLlRrgPptTIicCMmDlLoHhkoOKrRJjDDdtHhNroOyYYyNAaaAseBbESCcvMmyNyYQibAaBIpPcJTtttTuUjqQaAIiJoOlLbBPemMQqEzaAZMmsQqRDdrXxjdcyYMmgGrRWwrRCDFfJYOoysSiqhHeEJjJjJpPzZiIucCUwWiIaMmAbBdDOoxbnNsDdXVvxEYyYosuUXxvNWgGRkpaMmAddDNnfFpHhPDkUuuUlLKfFOoMmfohVvjJHoOealLcCKkZzWwAEoOYyxRrwWlHjJFfhLyYXONsSmMFtTfMmAXxXTLLoOloBbDdhGgHtiiAaIIctTCAaQwWaAZpPzqTZzhZzmPpAapPeEMoOXmMJPpHiVvMuUmISshLJjBVvbWIzZiwRjkCcKBbYyaAJrZzGgAaYyoOCcrudDUbKIiOuUmXHhxMTHhyYtGgffFQFfrxmMXjJrRaASsRVUuvbJjSrRiGgIMdDEBEeQqbCcrRNIjJiKtdDYWwyLaAbBlTdDKFfwpcCYnNLXxcClYxXyxGHhgOogxXGgEeyYIsSiRrkKGXJzZHHSsXxhhWwzZvYyDdOpPoXDdxHhwNnlJVwWHhJjGxXgBEAaeRrkzZRrHhberRMmNmMEegGrRpCnGgBbNoWwTtWWwwuURtDdTrSSsskKWUzZuwsRAaUuFJTpPtjCcWYywSsSsiImMfudVvwWDiOAaoZpPXEeYyzZhHRraAxFvnwWNBiIOobKkWwVOTtoCsRzOoZroOSEyYemMmXxkrRDdKIiaKkAdtTcCbBuUZzMmLEejJvVleEDYyYrRayYAyKkPplPpoOAaNnDoOddDLVksevVEyYfzZHhFhHSfFKaPTPptpPpBbksSKPTFfXncCNIiNSsPpnxBPYyUupbEDdBdDjTtJEeSshVvuUcAYyaxQxCcXqXQqugxXGSsSszLlZVvbVvIiBKFfqRgGWqIiZzQJjwrOoIiwYrHhRyWDuzZPpMlLcvVCCcmUdRrRrFIifylCcLxjsZtKQUuqXUuiIIDUNnuUeEudIPpiiXxcoOCjJxJeEiIyYLlWwTTttitqAayMbBmEKkeCcjJYbmMmBbMBXxQTIjgGsNnJjEEeOSsoJjpSsWwPcVvCSdLlDsPpnlLRBbNWDdwzZngGYAcCCcaQgrRLlRrAaGGgNnUuqQoOJjNnxfyeuUTiIsAuUACcaaVvSYytqQpPTtVSsvfFomMAaOrRDdBoqQOXppPEeIiGZSsSszeEhHsiXxISfFcCdLlfFDOoOoBaAbAarRdDtTmaAhFfMpPQiSsZzXdDyNnpfGxAaCcXqvVgGQgppPnjJxwhHXxWQqXxVvXuUcuUBLloOTfFRrOoPpBGaAgbeIiEQqrJjLlHhdDKkmMbMmBRPTgyYGLXxPhHOopeEyQqnpPNWOowupPxXUYTtlRrLkKQqoOLlldDtTtRrXxpVvtHVvhTlTtJLljkwWUujJOoKYmMyAaJjpPLjFGgEDdiIXvVJjxpbBPxXNnuUkmqPpQeEZzMiIpNnIiGgMmPKiIcuUhHOoiIUuLlCvVhHLlPleELcCYgGeEoOZzyCcfFmeEDdMiPpIpAHYyhEGgoOUuIiEeMUtTsSunNmWwBbqzZQJOwWgaAGotTjeTSGgIQqiEepyNnYKRrrRaAaAaAasKkSAfFkvVZXxzsIRrGbBgAaRrBeEgGdDoODCrRSsWwcuuUUNnVvQTtkKwuUWljJkFfMcHhCNnTtSqSIisQsmKxDdXsuUSMmZztTrRElLqQezZdDsSBnNbIihHMcCmFmMYyXxgrGgRKHhkmnNMWwGfSUFfuIisVhtTHvVviWwSsIYFfskcCKuUwWwbMxwWXFYynNtTTtBmMbrRetTEIiqQfmBWsSEfFyYzPpAasSZUumMZzpPTBbCcrOoRoOVWwoYyrRpiIlLPWwQqoOOvOJjoUdIiAaDugGtAbBGfhKkHFgpPCcaTiTtvVIZZzbjJBwWtTxXBbrbBlLeEwWPpFfyyYYqQRnNmOoMzaAVvBbDdiCrRqQdDcIeQhHdLlDqSsfFMmErmMLlhHzAaXxgGFNnfyYPwyQSbBsqqQmOKyvVYkXxnNovQDdNFfnqnFfNkKaAVXxjDdbNHhnGgBNnNMODdfeEjJaDdAMmNBbnIMxXcCtTmAawWLQqafFfFzZzZAlNnaPpApPMmLlaAdlLFfoOhHDbBmMBbmkKNnNnVnNvLZzlMXlLrRhGwGglLHhvVvVIiQqWqQCczZqQgBBbbbBMmuMmsSWwpAaCcEesSStTxXwWVpPuUyYfEeFvxZzjJcCXtTpPpPKkWuXDdEexPDrRRrdTCctZeEzCcpOoUaEeAdMBDdbmgGPpgGDrqQgGlLLCclRorXZzGgxRBMmBbOobFfOUtTfzRrVvZTtAaIihHgDdGXvVxUuDdFuYywVvGgRZzivVMmIrTtyYyYWwWCcNnrhHzZRZhHgBbGzFAIiuUzuUZrRaTtmuUMRrlLBjvWwWXxwVJjAnNaJiIlLRhHxXrbfGgMByYbGguvXxVUJjmfFDAadDaARrQqgGrSsjJRyAaXxqQFfYVTtvcmMCVHhFfZzyYnvVNDdyYcCHvVAyYaVFfjPpXwWxCcPpJRIsSPpXxirVvvVjJGgKSDdoOshHkzZfmMFdDdDMUgRrGuCcAamJjTEeipPthQqBbHhHfBbAaFgGLiIZzlvVYyrRYydDksSKzZTvoOVnNYyoRrOhHmgGMIJjzZJWwuOJjoUlqfFQLXLlHhxjwPpmMWgGwWwKkrLlvVjJsSRuUrJoaAXptTPUuxDcCdOjJjbBCcFfJEqQezHgGhTtDZzdFCLlcFfKpTuUVviIbBtGiSkKsCcNcCnmMIipPTtfFIgPddMmDDWMGgMmpEePpjjJhFcXxMmBbyYCiIFfftTuNnUXxHCcKbvVgGGguULlafjJFAeLlEvwYypPWofFOwHBKkztTZbMmhWJcCOwSnNhHXxsvmxXcCcCWwhHMVdDHhlLWcrRChHXxoQqjNmlLMSsnNXxsSvVbBGRrgaAddDjtIiIiTPWwpXxWwhQPpXCctTJjxpcCgGXxPcPptTnNhHCDdFfQqYDdMqPpcCQOoQqtloOLTaCcjJAUlLrRPWARgGsSyYbSsKkBrrpPdDRnoiGgIAaMvkKVmTtOSsiIiIYOSsovVyLKnNkLllJxIiUuXtTxXjcCNTSsOoAuQxXaAmdDMHhqKRrkAaYExXmQqqQZzMDyYdvVQLlFfwWGgqadhHzZDzZAPpfTtwWaAWSsQAaqjbqQzZBdDnIiNJjdDwRnNrWvVuJjWwsiIKkSIioOQdDqkKUNEenJjiIJyYjBbJDdwGTiItLlRrgqQRrbBZzLSBbseElgGBIicCfFaAPpueLlEUoOIibVhHHyYhhLlRrHwWuUpPvUuDdYMFfmyJMWwmLJgGxldDYyLNnXjaAJjEelBbFTtrRfxXjOoeSHhzZsdsSbCkKcBDOEeJjoVpPvdDiwFfWIiIdDgGCbAaBcLllLHhpPrRqQmMFfGFfgwWhHUuQqsSWuwTtWUGnNGmMiIgHhKkWHlLhwhHgWOosSwmMUuuUJjfQLwcCWlxXjJWwysSYHhmxXMqQqFnzZDdNmRrIAaiMsSeEWzwxXWKkHhZDdZzwGgJTOotaAmMjKiKnqQNkRrQFfTtVgGAgGSsavqIzZzTtPpZjVvVRrvuUrGguUFMfFmfIAaigGpPTIVkKBbQqvTtitxsSiIMmAaLlkYyKHhSsNnUusSDWwZzdBbNNntTnIilzOotTZLSMmKTtkfXxFsvVkKxXkKjJYygdDGkGgKlVvLlSsLPpoOXQqOGgoxXpGJNnjgEePCcxcCoxXeEOxIgGipPXfFrkLlKSsRDiInBlLnNiIPUtTYymMupgtTGbYXxDdLlVrRDdvybBnVvEejJiIPAapXxNyYNzZKkyYyYSsKkPpVvflLIinNhHFcQqCqQXYyxSiIHhGgimAaNNnnMsSxXIyUuEfFFfRrDdeGglLYHhhHuUSsdVvwWoOarSsRbBAcCNxiIdrOoRCNncPpDTxXtkuURrDdKwmLlMtkRHhKkrKQqcqQJjfFkKaAMmCzZZwWwWcnNCLlOoMmzinNIeKkEsSglLGFfqQfFTbBFfPpfbBPpxTtXdYysSYyPmMTtyYEeQsSqpDhHCHiNnIhpEePIoOiHhcPpdDJjKkFqQCcDdHhCaMVvorRbBOmYyAENneiIcbBhHVFfAavtZzTWVvGgoDdOTdDqTtQMmMWwAamOYydXxDkVvKWwcCvVotlLWPpGvVgnWwrkwWXxKtTRfFKkNFfwYyoOiDhHdIgsZcCzIEeilIDdFKBRrbkfTQqiItjJfLlTtFZvVNYynglLGEeziLaAlLSzlLZBZzbaADBbDdFfnNpvVFfRrnDdNPdxGoOYygDBvVbHOPpPpoeEUuUHhuhdNnGgCcCckKptTPLsSBblgqQWwGuLlRreKkSSVvTtssaSshHAdCcPsSpaAZzDPpEnNmmMMqOoQgGUjgGJAJLljBbTtzShHsZRBbEelLOoFfiyYIZzeELlBbuUrTtaIiXHtThFoOfzZkKNOojJpPXxrxXRcVvmbBTTttMEeQgGqpmMTtsSGgPCnknNKrRPPpeEpOoTtKkwWttTAaPTtpTjJqQXnNhHxDdME diff --git a/2018/05/sol1.pl b/2018/05/sol1.pl new file mode 100644 index 0000000..227d639 --- /dev/null +++ b/2018/05/sol1.pl @@ -0,0 +1,30 @@ +use 5.20.0; +use warnings; + +use List::AllUtils qw/ uniq /; + +use experimental qw/ + signatures + postderef +/; + +my $code = <>; +chomp $code; + +use DDP; + +say length react($code); + + +sub react ($code) { + my @combos = map { create_dual($_) } uniq split '', $code; + my $re = join '|', @combos; + + 1 while $code =~ s/$re//g; + + return $code; +} + +sub create_dual($x) { + $x . ( $x eq uc $x ? lc $x : uc $x ); +} diff --git a/2018/05/sol2.pl b/2018/05/sol2.pl new file mode 100644 index 0000000..e32486c --- /dev/null +++ b/2018/05/sol2.pl @@ -0,0 +1,33 @@ +use 5.20.0; +use warnings; + +use List::AllUtils qw/ uniq min /; + +use experimental qw/ + signatures + postderef +/; + +my $code = <>; +chomp $code; + +use DDP; + +say min + map { length react($_) } + map { $code =~ s/$_//irg } + 'a'..'z'; + + +sub react ($code) { + my @combos = map { create_dual($_) } uniq split '', $code; + my $re = join '|', @combos; + + 1 while $code =~ s/$re//g; + + return $code; +} + +sub create_dual($x) { + $x . ( $x eq uc $x ? lc $x : uc $x ); +}