From 709bb0e8ed028d649b3ac3f83d509a1d2c7640d1 Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Thu, 6 Dec 2018 08:25:12 +1100 Subject: [PATCH] Move input out of redundant 2018 dir; Address warnings --- 2018/input/{2018 => }/day1.txt | 0 2018/input/{2018 => }/day2.txt | 0 2018/input/{2018 => }/day3.txt | 0 2018/input/{2018 => }/day4.txt | 0 2018/input/day5.txt | 1 + 2018/src/bin/day1.rs | 4 ++-- 2018/src/bin/day2.rs | 4 ++-- 2018/src/bin/day3.rs | 2 +- 8 files changed, 6 insertions(+), 5 deletions(-) rename 2018/input/{2018 => }/day1.txt (100%) rename 2018/input/{2018 => }/day2.txt (100%) rename 2018/input/{2018 => }/day3.txt (100%) rename 2018/input/{2018 => }/day4.txt (100%) create mode 100644 2018/input/day5.txt diff --git a/2018/input/2018/day1.txt b/2018/input/day1.txt similarity index 100% rename from 2018/input/2018/day1.txt rename to 2018/input/day1.txt diff --git a/2018/input/2018/day2.txt b/2018/input/day2.txt similarity index 100% rename from 2018/input/2018/day2.txt rename to 2018/input/day2.txt diff --git a/2018/input/2018/day3.txt b/2018/input/day3.txt similarity index 100% rename from 2018/input/2018/day3.txt rename to 2018/input/day3.txt diff --git a/2018/input/2018/day4.txt b/2018/input/day4.txt similarity index 100% rename from 2018/input/2018/day4.txt rename to 2018/input/day4.txt diff --git a/2018/input/day5.txt b/2018/input/day5.txt new file mode 100644 index 0000000..66a5c80 --- /dev/null +++ b/2018/input/day5.txt @@ -0,0 +1 @@ +wUuXxrRbeEaAuUMmJUuXxvoFfMmOTjJmMtVvmMVWpdDPwGgAalVvLKkNmlAaLMnpGgeEcCcCBbpPPHmpzZPAaPQqkKMSsmuUpJjMPpNnhHhJjrRpIyYBbbBiMmPxXMgGsBbSmxihHIXIijAaKkZfxoOXFUunNntTNzFZrhCTtSshHcHhHRlLVvrPpsSiNaAvTtmMVIiYyrhpPHRUvhHVunIXxHhaBbAewWEsSrYyOpPlLoxzZoOiIZzXYFJCcQqjxXfNJjNOonnDcCddDbFlbBLfByRNnRMmXzZMeEiIUpPEeuRrGgHhMmlLqyYQlzHhZMmztTZLrRtTkiIoOZzKmbBeEvVLlxPpXWwcCxmMYTtyIixXdjJDHsSPphHzZBbkKrYyRhWMmiIwssSRuUrPCnNcpSWZzLlQqwsFCcNnbAaBfOPpVTtviIoCcZXxTTttzjVvrRJRuUbBUuYSsyLlrSZzMWgGDdYywFzZfkuUvVKdDllvxXVXxTtEeEeJjfnQoOpPOYJjyQqoqNFwWAzuUdAaDHmMhZaflLFmuUMBolUuLhHvWWwwIikwWKVFdnNDYyvVfaHhVvAVvODdQFfxXHSsCchHcCRrhjJqZzrdOOobBaAPpoDbBAPphHasSvUUuuVPhEeHvVUuNpPSxmLliIqiIQMTtXVvJjlFwWMmfLhCcHhZzLbSsDdByYyYlJWwjgGHrqQRsEeRNnrDdtTEQVpPvBbFfFiZzIVvfIiPpuwWUqHhJKkmMWwjefFKstCcTZpPzSoOMoFfOvVmHhqGIaGgAigcCQkTbxfvVDdQbBqsSYyvYyxXPpEeVFwWAeEaPpxBbXXxhHJjiItTyYrRRgGLlHnNhhjJaAcCTAatyxXYjJvVGgLjAaPpXxAZzaXxzZJVjuUDdJvlsSwWHXmOoMHJjrRcCuUajlLJAuUECcKiyYIksSeQOovVQqfFqiIhqQoOYMeEnNQUUuuqmybBbQLlBCcXxbqBHhlLqQbBnNxoOznNXxRriImMZPpRErqQtTRpPeZzYiIyVqQvjNnoOJtHheETLltTuUrLQqlQiIqfFtyYTjJRrBEtvVTegGVvhsSHThHgGtPxgGRrXRkKrNnpTtxXnNLWwDCcdtwWQqTwZJjEezKhHuUkRrWmTtwWHhAaQqMqQllLMmnWdDcCIiMVvWwUsxXJeEjSCTtcumwDdsyYStThHAiIwsSOYyoJjcCWMUumPODbBdPtOoTWBbwLpPlpzeEZoOoOJjFfrRNHSwlsSLWsHhDnzZNJzZaAFDdfQqoEJjHhhHJjeWRriItTXxwupkKPPoOoLlOWwqQsSDlXHhxWwLQqLldWJjhHwGRrqQhHcBbCBtTbeJjRrNxEeXnCcIiHhNnEpPPppPewWEbBwaANDLldnwDdDNndzZWzZksmMSFfKPJEejPppQMmqWwWxqLlSsQtfFcDGgdKYykDdYXrRLlbwCcWBzAaIaAjJxXkKirRZxyLFfjJltTQqpWHhwlLPRrdGgTtDEjJeEuFfypPYUSBBbbsXxcCOoCciIBbQqexXCFfolQqMmuULeEBtTuUbmTtAaMUuxXVvVvLlmzwWZMOJjPfFRrFflLpAmHhNnYlLPpwWywWbBpOoUuUuQqCcPeEyYManNPXRrauUAZznNKkYylLrRPpcCqlLPpsSQxFJjRrfRSsWwIivSBbiINnEDdkNnAPGgvVxXpNcCnIZzfFiExXLlzZjgGCcfFSiUjJFahxXHZzACcfFfYyuIyYPGgEeZmMFeEflLzpNnfFsLnNHwWXxWwheEZzlHQrRLlsSfNAapdDAamMQqUcCuPwWwWWwCNncbZnNphHPoOaAugOoGgGKkzZUGaDdAgXxzMmrRvVZzfFOoVvLlBKRrkDdSHNnBBKkcAaUuoOjJCMAardfwWzZhHJjVvgGkxXjJjRrJKezZRrEwWCcWwFDZziPpInPpNoOnNHabCcIiBPBbpIwfFfYyFMSsqQmiIzXxZiIYygGeoOEPpZzuUZYyzEedLlDWdDcaTtAwWNnnQqPpNSsCiukKUavyYVyMmYjJEEeJjeuUxXYpPeENnVrRvtzZDdSsoOlsGgSLPpTyzZXdDSsxAAEGhUJjuQqcCHWaAdDwliILgFfhHjJehHmGgYRrycCcQqCpPidzZDIITtiWKdDkKkbEeLlBPpwOoXxcCRruBtTkKXxKkUQBSspPjJEsSsjJShcpPCQqXGgxilyYZzLIHIiqQwWFIinsSNfsSsSrRZTtecCGgHhqQEQqWwmMVzRrqQZdDZlLwAaWcCWwgGzvvnNRtTDdwWrYyMmYbBXxcCIiyvVvVQXxNnqFvVmMsStTfGgvVGoOYyKkowrRgNYyqxXDdYyJjiILlZfFiIDoRrBbOdMmcCvSnNsqQyYsSfFVDdIivnFTtIkIiKiIiTdpUuZzPNuUnHhLlaADyqQSsShHvVsYtqQnNoEeEewWOBbBbiIRrfBeEbnYyNWwCBbcQqNBbmMDduUhFfHhHIIihHYOoyihHmbBMADdwSsWaVFfoOmZzDWwhHjJyYcFfCRLSslNnAmMzZaryYZzdsSaJanNAjyYqQpPDXxDdzZxXyYdVrRFPpKTtmRKkrMkZzfvFMmfeJjpBbBqQGrhHRuUyKFfPplLkSsvdIiDAaspgGPShHWwJydJDSsdHtTibBIlLYywWZzhZzjbDdBZzDZuzZUPpkuYUuyhHbBkPsSpFLVvlfWIiwrRLlclwWLrRtTbZzBJjHhwWgyYGXxCKUKkgNnCclWwLGgLsSlGxPaAfFPbBWMmwpkKqQwWwWpcCXRrVAascCSPpJjJoONnjfgtTGvVtiqQNglLGnuhodDOHhDdKkTjJtgGaOfhHFGgofFAHUfFzLUuvVrvsSVwVviIlLWtyYTtVvTQAaqhvldDLsSVoOHYymMcQDdqcZzCeEvVEeeECRGCcQLLlllLAaRrZzQqCDdcqQqHrRhlidDuUWWwweEIvVBULluiIRrZBbcCJjxSsXzIijEpiIPpPedDoOIoOiuTtAaUqQCcJXQquUwWqQxbAamzZMqVvlLZzQZlLNEefFnIiMmTtAabYZzyzZBhqQhHpYycCPQXxqPwWgyYWwZwWKoDdOhHkTtjJaAQqRrlLlIieELJwUKkKxXEekcBbCRkKvSsVrZzfzLlZxnNXFTFfjJyNnrEeRYpPwDdWOoizZeEIOofmWwMmMFtKkuGgKkWLoOlMmxXIijibBrYyRBbOmMDVvyYdohrRFfHfFSsukKuUzZUAahHIVvzMmZqmMxlLlLXGzZmMmXxzZhqQGgHiICcXAhHaVvtDdZzhHDAahHdTydDxVvXaAGgYDlLdjGKkuUOoAFfZzxXRrOoagJJSsLlOoFJCGjJgGOoAmMaiIuUYgGsSylbFpXDdxPyYfnNEeZzExmExXAzZnNsSaeDdCcMuYyUhHKEeEefYKkEsSAaGgeyKkGqQgibBxXIFkKvVNnIzZilLYyYHhIiDdyrXxRtTksBbtTMmBsSbBbSBbfFpPSsZKIKfFkisiIZXxqQzSkVvzZlLtTzNnCzajZzJAZmMvVQUuzZyYqczZxPpXtrRTiIfbBFYBRrbybiIBNnPpdDVvbRrkwLTthHlpPWsMmYyIiZzzZnNzZcDbBKkLlyaAwWYYhHyAaXJjPRrpkzZKxzxXZgGhHdKzYyZkZyYzxjJXTFfbMaAmMIimKfFYOoywWkHDdzZnLlsYySNBAiIjSsJabgGwbDdBOsxXvVSnNCcXxBbHHkvVlLKGgdDaAkLlGgRrRrjVvlLeTtEgGHhqQqQwWJrRrRZzloOLzfFZdTtJjDHLlhgGsStqQTtokKOOopPTtlcCLBaAfFTtTtCGgMmcpPLlNnaZzWwfFShHspPUurvVRfFwWqXxQMphHPCcbAaSHhmMyNnYeEiIgsSJjGmMKEekZzKkwWVrCLlzZTtcRLRrqlLcCQGgiIGglZMmWwzrRnFaAfFJtAamMTHhbLleEBjRKkWwrJSsjsbBSOpPLlojJuUxnNSseEXnNmKPugGzZmtdDgGyYTnNDdxsSXMxXdDMmaCcsnNMmSAEelLhqrMmlLqbBQQqRicCINnOoPppPyYQqOwWajfFEeMmSsHcChfFJBEJjeCcOopOoPwWkwWKyYuUWQkKqwxSgGKkUVvfFVaymMAadpPnzZZzsSzZNfGgkKqQFVvtTDlLqQYHhzZEeLGglaAJjAcCaHhHhJjyJjzZsSYAPpaUufBbFeESsxalLVsSvAxXkKiIcCEujJUilLIEIbBMEvpcnNRrCRrRDXxkKtTtTEjJjVvJQqArPAzZTtfrRSsDdsSnFfNbdDXxfcCrRScnNNnrRCNnszZnJgGhlLHjNFeEoBbQmMyYqnNQZEKhHkpPeStZzsSVKXxkvhHGYIiCTtcyKSdkKBNqQnbeBbmMEFFffIiDaAiIUcCmxXMuUuxXuLlUgGEcCekKEAaeXxkKRrshHtTuxXrRkKUoOwWPnPpNZzlRrAadDDdkiIRcGgmMCBbiAZVIiBoUuObiLlxXUuMmjKkJzZIAapPjJvDdmKjJHhXBbxlolLOLdWNnzAbBaZwWgDdtsVWcCwjJgGBYyRfFrbRrtTvPeEFfpqQiISjzZcCJlDdVvLltTLaAKWwQqkpXMmAaxhPyYpPpxXEeHPpPdxsSDNnNBbqQndCczZBIRyYrTtapPAkcCEeAaGgKibwWDxDdXdRZzSIisriIjJrRLjJFgmWwMRrLlJjBbGcCNKknXxcNnCdPpVvwWrRDeJxXIijEbMPpvVYymBUubBbAEekyDdYBbXxBbeWwTtERKkFfeErUwWAaJMmjuReSFkaAlLKfswUuWXaAEYyexOoLGcCglEezZSNorRvVcCOjJvVnbBIiWdGmMVvTtlYyLrRgcCSsDhFfvVHvdGgsSWwsSxIHKkiITFDdlLKkmMtTwWflXxOoLXxtBkKnNvVuUBbgBbKkdYWlLEtTeTtwvWwVjdDJSslLVIiTbMmBlLsSkKUiIHhmyYQqMPpRrYVvyneLHhlENnNIiVLUulvkKvIiWqWCcwQoGQqgofRrTJjZztUDduAaFgyzZHMmhrRnNJjYgGHgGAYyaxQbBqXqQaaAoOzZdDnWovVODjJFfdOowdDNmzZwWvYyIimMmjomMNnjYJvNBbrRKEekLlnIiVWXxuoONzuUZnlLKkXEBbNnexuIiUUAvVaBHhbuAPrRaAYNnyuKkUZXxgWwGqQMmKuOoUkkKUlpjMXxmJPqWeEHhOxXoxXCcBNnbvVwQHjJfFbBuKkaAZzAOgGoTtixXINzZnaXxwWUkKTtdycCYcCVvDvVhSzZnCAacaIiFgFrRfGNnkKcgGsSrRCcluULiIkKFfCIOoiIHGgDoOeKkETtPLDdXOoVvxLlfwWkCcKOoyYgGgnmMvVNIimjLlJMZzVwWrRvaKkAUVvuJgvVtThHqQGtTjBbmaAsZwWzSJjMyYTtkKkdDKlLbBNnTvgGVmkpdlLDJjPVZzvaAFOofmwoqtTQvVvOohZOmCcMmMoknuUZzNbbZzBUubVxXvZztTBqycCYeYYSRrsxhiIHXccCsSJnNpbBMmKuUWwkQMmkKqsRrSVvuUfzZJjdJjpRrdDWwWUuwYyJqQZzgmMGqiIQjBwZztTtTnNJjSsqQVnNGgjAePCBbRrcEeGgzHPpesSPPTtpHDdoOuUhSsHjNWwnJvbBfFvYPALlPpaWDxtTpPrSsWMmNnTWwmMtUooOOoCcvkKoOpoODdOWBbwomkKNyYnlLyuHhUYEeronNOiIRrRNnoOQmMqCfBbFymMnwWNFqQarRVMmQHhqDdJjPpmMBvVbRrWwiIvlLVxTtKEsZxswWSBbXzbDdzZRrexXCcsSxXEUuBkikdKkDPrCcRFfUXkVgHhGDaAnNfFSsxfApPkKqQXxayBYyHhrdDRbtzZCWwVvckkKSsebBEvqQVrRanNaPpAFsHHhwWrRTtTANnatKKPOwsSyYWiIBbXDdxWlyYPpkKlLLdAaPZzpLlDJjIiPWwAaUgLlCcGfFBfFbuTqQtAapKkSsHhUulXyYuUQqGlsSjXxJLgFtORroTaKDCmDdegGEdScZzyHhYCMmgGscgRyhtTHKHSfFMmlpPLAaKklmMjJbozkKZoOnvwWpPYydDCeyNZzZJjDdzDzLlZxXrRvVNnmMdqQZHhzLlndDbKkkKBtnNTsSCDSGgqZzuUMmRUurQbaMmAgGqjJfVvFwWQFEKkefKHhYyLZzodDaACcaIaALNnKkMmlGgNnhXxXHHhhGoLlOoudAGgaDjbBhHyYJhHLlVeMmdTtrajIiAaEeBNOonbJMgxXwWGgXxnNCcFfOBJjbrhHbBrRfaoOBsSYyIinNbABbFRQqhXxHoPppPgvGXxTmMrqQREyYeJrRjkdDGgkKrRKcCVvWQqwtSsFfgVfFsUunNTtUuDdxXSXkXxHhLldSsDKkKuBbWwUpPHaAlXqQFAafxKkdDXxLlrRNnLaEDdKoOVvkeSsPpMmAAaGBlCcLmMOobcMoSsmJjPyYiIpDjJdMLlLlCFfxXKkpPIicFbBuUdbpEeNnEefkKjJTtTtwmDOodPpnNlLtrRlzZsSUuLNndDdgGDZMmieEILxXlcCuxXDdGgiyYqIiIioOHEeYzyJvWibBaKcCNnkKkjfFJhHCAaTjJtjJPpckWsWqQwrRzZOnNoCoAaFfFiIOoJjBbZzIixXfoOHYKeEkQmlLGhHBbBbBOwWWzZzZWwbdYwWyvJAajCcbBlLdBcXxrRTtEeGgDdqQrRWLQJjqlIHRrUzZuhVEeIivEWwsvbBVMmIQqQpPLOqXDdPtxIiXTpxODdoKkaAOoLlKkVAayYZzkwTtWrRpkaAKsCcMlLfFFflLLiIXfFRrywWfFFfYCchrRLljJSnNsEeYiMkKGgghzpzHhvVFffGgFZCciIVvWvcCfFVrleEvMmVmSsMDcWwUavVAdDSsRWRruTtPpTjJtpPmKkeXxFfGlgGLvVgGaALlRrQGGggocCOlfFLqgvVhcCsWwXxSHGghcZzCHHhLzZlWgMmmMEeGdDAnNRrVvwnNGYygWgPekKEbSsVHtvVwZXxzSwQuUUYsNnsSSnMoOTWmzZBbMvVvVvCcVRrLGVqQtTJjYyRrzZvWwqurmMwWnNRrAoOhHIDdqGgxwcCWeEQqOLlqFfAavVQoXTQcZzCkKjJqvVvVGgtqQvVQizZEeoxqQfQqhHBoObFThwWbToOqoJhHjPpOFfFfQkZPpfPNnvHWoOLlZPppnOzvVPlLpMOomiIRraAhrNYmIiMptAatTUufFTLyYFfYylmMSMmsGWwDdFflTtLBbgPxXxXysShHiQJIijxXRBbqQKBbMLlbBRrhHpcCPPfFpquUmQJjGgcCZzqMmZEeuUzSsOoLqQPFXWPpPpwtTZYyUuzDdjJDdyYcCzyIGgXxpUuPGgEqQJbBqyYVHxXrRhRreQqEvevnUuZzbqyYoOtpPTQJMtTmsdDzZvVEeTtXxOVjrRJuOMmafFJUujAsSIZziJjtThXxFfXSeHhLlEUudDsxYyMmBqQhHFCirRxXSsvxXVPpRUuVYsrRYyzZTjHUuAaPoOtSBbsTQqKNazZHYyhRrAtRRXxxjJXTtHhDwDUudEnNZykKYQqzUuoOrYyxYywWTzEepPCccCkKZRrkTtKGeKxUPoOyBAagGBbOgGoKnNkNNDadJjNnDNcfFxnhUOouHjJfJjFnBbZzvVNrRCceEJTtlLKkpPlLktTKexTtXEtTjJFfxceEAaCvVThIZziuzToOAaXabqQBbCiEeIbBaMZoOqQzEemAJBxXGgbBDotTlUuLXCcvVEyYeEwfxXARrmMaFWeecCEOhJjkKhHHPcCHhpjuhQNUiIunqKkNeEnHUCcOHhouBfuUMmQqtoOjJTPpKRrktFXxBFfLGglMmbrRtKkNnDdcBuUWwDdlLqQEeZztTbNHhniICMpPAwWNUunaUuXxXxdDVZRhHrOohHzXxKaANMLlmnkkKCcyTkeEBOowWbbOgwxXIiZVGgtTvzEmMIiieEIsblMOomoOkhcCHiNnNCcIimMnyYvVAWgGFfpPwaGlLPpSsJQUuqsoCcOkrSsRqQZzBdFfDVvbfFHyYCRrbBctyYVvNRrnwWvVvKkULlUtkKTpPTtfFuEeatTGEeuUgAZzuVEesSCcBefFwWXxXxEpcCtnNgCSAasnNQTtquxJjXxXXFfQqlLtYypgKknNwWKMmmALHtGgThOjCNncxhrojiIGgqxOWmMwoXQJnNqNnQAsOoAUuatDWwdRrkKqQsWXxwhHgNnNzZnqQHhXxGasSAjJSsPsvtTVjJDqQwWdSxXSRraAsdbzvVZXxBDBbgGHeEAbBaLAjyYJkKapPEiIhLlcCuUNbNLlpvVPXxFfRrXxYJjzZuUysSgJjGAgoqQOTfnNUrRAaZzINniuZiaPpAYfNEePBbpXxkKPAvkKSqQspZiIUuVIivhHuUVjJMkKhFfFqQRrxdqlJjoqQVvaEyYKGxXgXxoeEWXaAxcCwVvpPnNsSOeEKpPrRknRrXbAZzaBbBxEeRuUbBOAaZlLiIzgGjJKuyYUDdkorbBPRlLQSkKseEfsSFIirRHxSsXQqbBhQqpzJjhHPpZGgnMmcCVvgGNtTolLsSOTIihvVFfXxDdHOKkoAahHXvVVvxToOWweEOotoxXWwwWBYtTybEenNtTQAQcCjJPwWbTLmMRSsJvVMAoOFfalLhPpqQWwQZsIiSBbvxSFfsKPRiInNGgqQPprpFaWwmMAamAaMIaAcyqFoOIRrkKIiiUUuufiguqQxUFfaArRMmhHLlzTPWwpoObBozZyvVYzUqKkbXxoOiIvbWZzVvPFfBbbQqBKhHflfFLFyCiIcGgQqlMUtTMjJZLlJSCvVYycsjUYyuOKOoQlLPGgymzSXcCYUudDKZzUuUulLQqbbBkKSsaPpYyAOowVvbpPkKbUOoNVNQzZHYyTtTSdDsSsTttTtWwhqcCDdEjJxTadDAtXkKeaBbLlAneJsSjkQqHhKrRkmMcQsSzZqCxAaXKkKEYyUIDHXxhxXbCcmMbSMmDdHeENnhxXEeoOLljtyYTagPpPiIrRCceEFfUurRjSsJXxBbkWwGPfLlFoiFfIOaAvVbBsSsiIdDqQGghHrRsSVvLwWGhHNOoUuYynlLlXfFzDtbBTJBbdDjhHKFBbUuRvtTygGFfJqwWsfFRWwrCcSsdsRyCccKkFfvPpVCHhPpuHhUZzQGoFWwfiyYtTIwWWwrEFfwsWwfGgFwyKkFPpwBbqfWwNCIYyKmMGgzaANXxnXzZeXxbBsSDdXxEPpMELlAaxXsgQqbBGiIXRrBbiwWIlgGSsYcCCcyLAagpPmCuUcMbBpjJuFktVNnvnNJjVviQqUeEukKIPpTBbkBNiyVvmMKGMGpPdDghlLHKQUuqdEgUTtuIiGwWzIIiiZfewpPWDdzZbBkKLWuYyUeEXnNgfFbowWZSEeehHszZKkSAIiaEoOWrIQeEqUuitTDdvVShLlTPpoaAOUxXutIiBbCclBbxXTtLLlENneNnSsbDkKjIiaAEetuUTJxEeKLlmMeKkEuCcUqQRrkWwBZzARrBUurRaoOAmMMbOXcGYygCxVfFaAvwHOoPvxXVSBbsNnnVvAaSsNqQDSjJMmooOKgGkAaWxtTabBUueEhHFQqvVnNkpPkKaAKKnpwWYTtyiMJnNbBjQqtisSEzAaZehMmfFHeEuHhWwmMUFJjInNvVjvVNzJjuUBmoOlHhdsqaQNnqAbwibBFjJfIzAaZDdyRubBWwcCzZLrbnNBwWjJsSJZzmAasSEOorRxXeKkEeyYAaOoOoUygmMBbsSzhHNnxZzXcCUuNnPmMpmOoTMmtOodDCcTYyuGzZgtvzZPrRpsKzcCRrxnNXRYyYyrHhZkXxJjfTfssSkKhHiIIiAxXojCceEJOSsnNlLcHhChHmaAPpiIoabnNBwNnNnvxXIpVvnNPpgGAaCYDdgGykIKzxXZrRNnvVcyYCNnDSGgstTDdBbkkqQKYyJvyYrhrPUukvVuUeyQMmcCqQALIFKUbBNxfeEFzhTtHfFWwuLfFcYybNCcnAZzaMYGgWwyGBRrTtbgGgRrtTKFfnnNKkNdVvvFwWbBSsffFnNVSgGHBbhsKcTNnxXtJJjIiJgGsSgFfGIinveEnNEeTtJhHjznHLlcCmMVvhlQqLHhfFSsMPpgVvGptcCFfyFfaAsndDJjNgaACcIiIApUuUuSQquUdDsaATtkhLpgmMwWVvkqQKSsOoKkcFfCsSRrXMmoOorJjlYyLdDeQYaNnAyWwqGgRrpPwkKtTWINnGbUxpPsYyBbSQEZzswRrMmWcuUbrqQRBqDdNPiWrRKYLleEQqyYRrDdMjzZfFJmxaXxsWWUfuwWfzlCCHhaFfujoMmOJooOOeEikKIsKkRYyOoZzEezZXxyYwdobBObBDGgWuVviIjBbVviJavVARsSdkKkrRcCBbyiIdDGgfmmMMFRrFfHhBelLRrloOQqhHZwWmMgGHiFfIhtTPPYKVvjJJjpTtnNaUuNnBbmMWqQzZmMRHhWwlLlZUucgdDGLllwWLIipjJPClzZSGgfFswWLtTkKzTgGtMmLWwVvGgNLlnaSvVuxXrAEewyZWwwLyYmMWwqTHhtQyYcCjwWKkJJjlBbXAaxbEeBjJrRWwxYbBJjcCFlulmMLkKULuUoXxOfeZWlMeCiJomMOJLlNnjcCQqjSsAqXxzaMmbBAZAarrRgWwrRLuUjWwYyJGRrtRrnnzZYEHlLHkCmMcIisSlipPnNbBKLpPlvVyYPpILluBbkrjEeUuJROclLwtaAYyFfwbBbBsbBSWoOzZyYkKEQqkOhZzGWwgsBblyYLqQSMmnCcNsCcArKkTSstsSmMTTtQaAAaBbJjqlLwWplnNsiAaIDQZVeErELuUMzUNnyYuFfZlpPDQSMSsZGSBcCoONnsbnHimfyYvvBNnmMbICcsNnkKnKkSBJqVeEIivQjUWwpPzmwpPWOEhMSseElqZeVqZzQveLlEEeFODCewWfIiwoLlOTlLRtFfWlLwQpPwWEeqxXBFfDyYdNKOogUdAaDEfUuzZjJUNnuFroHHvVwWiIhfFTOoGcCHMmXCcjrRJgmMvgbBQwWkKkKiIlLqQwWNnlIGgRrXxKkLoYyOlTtVBbSYyslrqiYvVqQCcyIEObBofFqQfFgGQpPqlSsLbbyGgaAaoOAPIEDdaAUuegeEzfnNZzSsyaAYLLXuUXxWJxXurqyVvYvFCcfFnLlBiIbzUuZzpPZEWrRwfVvtTWwqYvwWVyfQwWrRCcrRrRLIiiIzhHpPWwBwoWokKOVqpPOyYUuqifFJitTIrRYyPpeEgZzXxqAaQYLldDIhKknNHlFQTttFfHBuhHUjTgGtYyJPYypLdDUugGSiIbBpIiHhjJPYGgdZzDTbdDlLSaAsBtXERrmnGgNTlKkLHJjhprRPtMsOIUuQqTiJpPjZzFREZwAaSWAaZtTIinGUIiXaAmMNdUQqcdDSnOSsIlLNJjaAsSrRDdQqEeLgGvVDdiWwWTfYyFGXxgacCaATwWwWBbtDmMaKIizZGgrRZzDdnNqvVHhRMmUDSsUuaDYeWwEJYyKkKkjXxSRrsXxjJsOGgZJjhyYIigGiIjJOoKkVvVrCcpPUuRSwSxXsWoSXMmwWmMiKpNvMNnLlCcHuXoOVvnWUuLlwVwaABbWuUoOygOoTtGawWDdAoDdpPQqJjnNOYbBZzBbbBvNxXcnMmoOJjhqQaaSfFtTpIilhjcCJxQqXHUSsuvVaAtsSPpLlGgLdPpnyYTpsEeSnNkFCcKIigHhOoJjDdGEegGkmfFMcCCcLhHfFNnSqbBdDQsSvNFfnFOoSZzAiwWlLuXxQqUIqQYySKkwrRSicCIXhHXhHovBMmQgGoqQpaAcneEwrZzRhHwSOCmNoQVvPsScCrRsScwuUWfFCXrfFcXxQLTtlyYFGgtxXTTNeMmIiYFZRnNrzpYnVkKyYJCcjhdDEeqdDCczZabRoXxOeJjrKkStPpTWCcewWGgSwWDtuUXxkkWBbwnNKKZieEoRrOhuUaAGgrTiOMmXxoRrNPpdDnNiWwRrEDduHhbBqmWwnTtEeqQwWsDdMmAarjYySsPGgDMmXeEfumMKvVkcTdDlLuUGgpAoOKztTmMyrRlLYFjsBMlVvLFfHNMmnhgpXAIUunNCcuUUogUuQIiZSszNHhrRVQqvdDiNnzZDZXxHjJkNTPpHxbMPtmEeSsbSsBoOCcnVuCqQbEenPGgiiIIKjJHSlLsmrTtRMhOwiFfIWcsIixXBESeEsUuahcfFpUuKcCCcCcSvSqQmKkMsEYcCyqQeqUsSuPLlpiGgZwWJmMtNnTKkKkQqzZGgjvvVVyYeEBJLleBbEgGfFMmMYtTyoOuuUBbUYlLbVZcbNvVaFGpPgKkKkOYyXfGgFCvIDdiVWBvOoeEnNlTtIHCcerREYyXWwDEeAaeiLlPbiXxInNpfFaAPEeWOosSwDxFpohPkBbKhmuUJsSEezZkVbByjfFfHwukAaKvIUuKkiOCcoeakziIDBqQgGrQStTCcJjknNhHipmMYeEFyGgLfvXyYHhloGgOAfFxXdDYyMmSsSxGgReEcCeEedDAaEIVvLlqQipPPQTtcqQZzyatKNnsywLnNlhZoaaAtTzlLZoNnJjOiIZzuUfdDFguHJQcCYyJjqkqQXReErxzFBbwTtWRDdGuMHhmLFflrRIiJjrqQnFLljaArgcVvDOodmVvJjkBzoORrKKkkZbiIKpEerRngnaANvqQVrplRrCUJjmMEeiXxrbMmdDxXHhKkrROoTthUuHZUueTtWKkIiwnNblkKlLLjkxXvwWqYwTPQqEendcCZQqznjUuJNnsuLlUSSwWzZpjbBUdDEeGgrUuDdirRFqQZzNYynzokKOZiHhRrIfyKoLlxrfTlhwWHLFWpeGGggErZzRrRbBoOcCPdDwWpeEsjsKJjNSsLmMlgectTBbWRrWwwfFepPCcMmbvYwWyVRrBECTfFhHUtnNqckaGESswHhWnNeyQqJBbZzBIiBmdtsaumRggGGroOeEJjxXVCcbITtiaAmMBwWsSlmUUJjvQqxrNKkxhHGgPCNntcCTFfJOflsXhHdyYdDPpsSsqQIepcCXxjSLlsSBbNnsHuKkrbacCAmhHMbOJhgGHZztfMmtQAjjJJrRBbsSaqSsTDsSqyYJjVEevQPpqQTtDdDdZoOAaJQpbBbiHhDdzZiHrRZzKHOesSEobBjJcCfFtTEfDdFlLxbgGDdtTwUgGLozZOvVEecdBbkKZzrtXxtrRpPThXciBbtTTNflYyJvVjXxPPppinNAaKLfZwWzOovVuRhgGGayYAgZzHBbDMvVlLnWwbSsBxXTtNXUuwWDdBFiIBUzcCGgnWwNclxXMAamfLlbhHhHpPjZzZlijWBiDpPstTSDdrLlJHhkeYISsiteDdiIlWXLJsSzXxJZzbBRrxBvEBevVnTteCcjumMiwdDWbrRFcRXxegbBjOuUSZMYyUuljUudyYXxyMtTeEmQpSrhHCsmMHknFBbzLlWtEfFezZdDAgcCfTZzjyYOMmTtecCCGLlBbglbNDdnGCaAcnNhNcVxXTyYFfAambOSzZskKpPyYQqVvfXeExAaZNfDiIMmdubqQlPpLEyfFYJQqFPWTzZgBbGsPkrgBbIjJMmddDDleMOwWooZzYyZzepPJKkjaAcCNswWVvfFxoOXsSFSIisHhqQxbgGqNRrvoOtszZeEYyiTtzZIxBdNnSpPsOPpVeEAhHaASsXtTeEBMmkKKkaAmpPENMmdDfFneTPptdTtFfHhTaOFKFfUNdVoOWwGIiUGiIRvQrRqGgEpDAamMdvSdcSsWSsLlTTdYkKyReMiIzpxoVWwjJvlLkLlzZEeuKYPpykrRcCrCcWUARrVvlLNcArRAptUumGFPCcpJjutTUMmwDcqQCCHhBhHbqUhJjYyYyACZzZwAaWYanNAtTyosGgOBEpeuuaJjlAaLAtPpFlLLlQkwWKqZDdusercyZoBdKMRrzZVYyfvVAZtAIGQwVvFlLfAyYqQpPqePpIrRbmMBsSopgGcCXDzVeMmNzZoOnEQlOdqQpPDbBWwYylkKLpUwTtWuPZDLBhXTKTtktSWbKamYWwOWZznNrJMUJoOjuuUaAHjJLCclhHtevcCaHAauCzkdZzDPHBvVDEeHHhgGhjnNcUfgTEGPBbVPpfFGgMDAatIiTdEeENOoawWAdEuoOvGmMgSdXDHdNPpPpnNZzVXKkxxXHhLqtLhoOnNmMzZoOenQqbBHhQuUuzZaAUecCDQqdxXxlLNnVzvVPcCFdvHhhuceEsVQqqlLeEmlfDdFvVFXTzZWwRmOCcoMYyXjJxqQINniUdhgpPAztTfFapPfhhOoyeEYhHUUuhnNgVpPIiKkAnNLlalLGgWwkyfxtqQFfTPuARwTXxlLtRrWFfFfmMOmZzMoPmdDCPVPpvSspBPpSsrRaADmHRRrvVroaaANnADdqNwWDhpOogiEQIiSsCFfsWQaAfrWwRyYntXGgxirZmWVUuTtPpRgECceaABUuOovdDVZwuUkKtNnTcCjUVIihILOoJjUiKkJcjLlYTtyJxaQPpqrIiRAswMVvmJJOoauRSsgXvyVBbBMEQwWlPatHYgLloOlnNLjtsStTTsGgUutgXdDJjxWwWwZsSbBvDJvpPVoOHvKkvMwmMBbroiKkEsPpVtTXDdRrRtqaZbBzAbBQEFSaoOAapbQqyWwYBPCzniqPpQjJmMGhXxiIKkiCcNOonIehHYyjTZUOSsHFfJSccdoODqlLiKktNgGlLnyGtQqzgDfFCcXKmkKkiajJAwKlpPLkpAfFnoONWwUuLQbBqlCcLKThHOowWQcCqhIiHHBlzZQqWXxPpQnNqCiIitTvVLcHhgGenNcCdDbMmQqJTHwWhceEGgqQcKcCmMDgHeEhpZuUzvVPGcCcCpPwLlqFyAQLlNnfjcCJFOlLdDkKdIiHiwdDrRroOReEqUTtcQqIpzZPgGgnHQqhZZBxXXvMtRrTEdDUAaADtTqAGgVQqcCqNnQSAvzjGlOoLBnFfgYyojJxGgXOGMCNncgSAXxaRPYyprERbZMcmCvVnxNnCcaBbATtHPneaAlTtlLRrkijzjDkTPxvVtZNccCCpPmTzZtMkKvQgGXxqVfdIYyBmZpzZcCZzoRrqjOoLQmyTkKgaAWPDdnNPlLpiIpwIxXNbBnHDHYhfFeEebsScCBeKLUVNZgPnNhvyYwmMiHhuUjJLXvVAAadfFmMqLJttEebNpPjJQVvqQMdDvVdDGgmrxoOqQXjkKNnmRruqSsQrRAVlLuUuPpsSYyNmMASVHdivQqJaeEAjVTUjJfFnNadMmUuhxXldDGvoziIJYHYyOomMgGgrJNngGjRgqQdDGdDjMZzmhHpPIrRLljJwWHhXXkEFfPyKkMxXWwVvwWLltTqyYGPpWuBbyeEGMmwWdiIIWeIiEwiGtTggahhqOolGgLiafNYBtMOBbjzZJhjLJFouUwWOCcjFfJnTWKkFJQTmuViIwWPbmPUupxXMRaAYBbuUmbwWBgQqchHxXCoOGVYzaQbBZxXMJuUdDdVvrTtXxzFIiqjJmyFfYeEMzoMsSiRrzxgOlkTtKCngGgGRrizjHhVYyyLbBKgWEQdgGrRDMmTwpPQBYHhkgGhHGgKybjJqLlWtJcCjqjAtauNTtAAAwEIiIiescNqMxqQXmxXIiTILfKkFgeMmXxUuxykajluULCckKXnAEMYjPxpPBIiDdhIDkKtTdiXuUNOonWBbfMmKyCKkWwWBbqfFTAGdyYCcDxXgJVqvVQXsMmRBblYyLUynJjxXNkXxUkKuKoaAOKkRfJtVNnXxvYygGJjvxXGguNoqAakkvqQaArVxlrpOfFbhiucUuCNnXicCIeEmvVRYhHZeKNenNprRGoOgfFPDdqQEOHhpqQPpPfFCcWwYyDdoeNEMmJGgnPFfxSzZSseEKkCamdDeELlhZzHFrTFfYpPydRgnNnNGmqlLkKmuUcGrJyxXYjPpRBjGgKkvVueEUJbVvDdmXxFfdbCBiptTmhnNRqQvGNnHhFzZFyQQDqrRKXbXqQxWwDFfzBAaANnWvUkKtTuVwlbWwBozRGrlHXOodFfFVwMmOGyjfvVqQtTFJIwkwvVWidDINndCczVYcCdIiDtnVvNgjJZzoZEeXpqQfFXYXxyWwvVxPiIDQXxpPqpPXnNJcCjRrpqQPzrRrMKkwjJxFfSRxzZXOVMQlLVvHhFfofTWwdDQqmMWwNMmnJjMwMsSCcmdmrRSizZBfFnIilLdrRaAhtvVtCUbmTtMGSsgFfJtTuURrDfTmWyiILTxEerRXhHYyTRrtyOoVfQWcWwCwuJjUqnNnxprjSsjQqJLlzyYTdDqfFYCcybHhgGlLfilLIPzZDdiWcCPiTbpoWhGvRItnVvNgOSsyDIaAjJURrUrRuEIiAuCBbNhHsSnzyAXxdDQrPWwpKkVRrBbvaAUuPpxzZdjJbBUMXxTLnFfZIAaisnqObBlzTFfCBcdEeMmCOlKkiFOooObBJBbNnjRvVgxXnPpvViZzSsINdDWiIHlEeJHlLhTBNicKkPpBkgIyhVvHiIYmEeIIiiBBmBbUXBbxKMZOVRwwTtWzYyqvzZzeNDdyYCcTRrtOorgGRWwTtnUuNBbkyYyXiIxuUYUIGgMmpRkwWVCthHDjsSRMUuosSHQwuUcZGCchAwWaGgKbHOvVoneBbaAhQqTtHyfpPhoGUuOcCeExJVrnNZYyzsSdfoOhCcnTtBbjJNQdDWVrRvRrtToOcLQqlsEeGvVgaAfJjEvVbWfOoutTVnqjPRrpbcCTHhPjibBUQRrfVUtTKkSjWwJLTtZzfdDIhHrPpRnwqQUucYWlLJwIieERvXAKGqOozcEexNngxZzGholNnCbVCccCGBbEhHeaGVcxXCHhHXhHxnNxvykGgpjJPKYVgRrmGsjKkuMkKmasxdfFDGgXJjqQRJIinNSNgXpyYypPHhYBkpPTNnGgyykJjpPlpplHhJjLZzkjJXuPpviIgGYRaArHQqOolIfFljJjFTQqCcjsSwWJtDdGXZzxEpkKwgGbMDdiIALlLIQqYyVVvxfDdPZzGPpxcNnCWinvoOhiuNnLlOomGgRrDdqQBqQxWsSrXZzxTVvkazsnVbyYHwUXxufXrjaAALlYyYycCEeaJHeEwzQaizZTluUBqQbQsSKkhpwQqVdraHhoOvvIiHhwEKItTiVvqQzfFjdiczUBbVGQkfiIuDdUTTSDVuzwWZwutQFpPNBIiFjCcnNXgRzEqWbTWwUoOQqgCjJNOoGgRHGcCdDgnjRrSADdvuUVtnsXxYZJDMGgLfFTdDbPLIWrpPbBEpnNgwGTDYVviBKepPVBpOoKskKChLxzviSszhzWvdYyhYyiIiEecwqoMWwonHhNeyYXOozTtMTtlQgMuoOQqWJdmxXiDLlJNnjIiOoIAuXPPpeTaYyADdmutTiCcIfFbqisSIRrPpRwFSSKkCNncsNJjJUuzZjbBNyPpPBbpqaAuFlLsCzZLlcwWUMTtFfmYybMmdLNnRrkKeEcCjQxovJUvVLyYsLKuSoOsYyFFfFXXKkFfzZfFgaAcxLlKkBxmWwWRrGgwGPFzdPaoHbBlLhnVtTvNSLlTcxwWngGeENWFfhHHsjqQpyYOoZxeTyIiYtnvXHKGSYSsKpPXxkyehHAaCzFfdDaKFSkohkKTSTtJEeWqQwqGWUnlFfcCAarJDdjyYVvWPpCSsOCcvtTVPRspPlCcrgKEwWyCxXSscJoOHhjluUUuQVmHdIkzpPtiQVvqzZzYyzPHhjgRmIRgwlLWNneTtEqkKClFfxeNlfFeDMmxXRQjzCsMmqJjCcaGSlLYTtBbVkEekKojTiSfNHhTtnKgJZzKBbmXUuHhdEeuqQdDdDYyHWQWxLdcEXkkJjQwWefRrFAKQxtIiTXiIqmqQMkaEqBFBPpeVvYmqQiIMyYuUVhEeJdDnNndSXXxxgwWoOvzxXUuxxXIudYgGyDGDUnNMmsSbBxXCRZzrZzmMMDPUuwHviUnNyXxYFHHhVvYywWGEcCTXxOpPoRUedgDsSdGZyeqeizZIRKDdVvBGHJdijJDxNniIcIiCWQNnSUoOrGgXOlPpdONnYpeEPbTGnCuUOHhLNnDtGenNMNFfVvWJJjxTtkKOzFfXApzOEjtfFhHTWLIAXPpDdDdnNPDFHhfdoOKZHhoQtTnRrDlLZuBDkKAJlhHnropvVhHlXVvVvIdDAuUxQDiIdNJjnBbfFGxDsvYydDlyYTtBbcCjfFmQVvqTtgXxGYSvVxRjiIJezYBuWmMevBjcCcjHKkfdwqYyQWxDywQqHLsSloOFQqdCEtTdDeKOxibLjJdDkxpPTzZtMmoWXMmKkcsHoLNbDdkKnNcCjFcdYTkVEcCEeshHtTEdAahHPpBeCcEmsWqhHPFfBSBbssnNRtTNtThuiFfqTlLtoQvVipPIMmGgpPEeLLIHKkcAaCjJBZzbfkJpPkjJwWvdDLlVYEumKLlXxkMgsHHhhSGUgGgGgVvbfVrRBbxmMjVSXxVnNvAAaMXiIxhHHhSHEehgGcRrhHozZHfYCrRXqhzZoOvYdDyVdDbbjJBZsLsXoalLAeEUikRNFfTthLlQDdqTAaeEHhQWSTtbBswWwqzZNKjHVLloDdDdmWelzEevVEVveKkZLLlBbPplFhHxoOTtzjKknyGucihwftwYylCrRPpcLwXxWFfWwwdDzCZzvledDlLWwAatKkTyuUwcRgCJHxXaAhZDdzEfpdPanNUutTApzUoOKkuZJMsVKQWGGgRdXxJjUjJsSWDdxavVAOIiuiIYyZBbelvVLEzUNMXxXxWMgGmbbsSqxPpVvTFhbvVeWwEyYhHBHjVvJGcCkpNdhrRHDwpPVmdUuTLMzCCcwgbBGmDDxvGYIDdohlmxTiGuxXQqpPvtTcCJHhwWjVoOvMcCZSnNjJdDjBbBkxwZuNSsSFLncYpNnPgGWLVvnXEAMGggGFJjsSOMGwVvqFfzAayYSsDbBdhHaADjGlLZvYbuUBmeAOCcbFfqQBNZzeOoEPypPrlLcwjfCSugGCcirRcvVFTtSJiQqIpkdSnRrKbAnuUscPpCYyNaAoPIpuCchIaACOoJbpQzZDWEeFhyoSxWwWfgGFuVxPKvVReEdsFdbFxXFXKkxAaTtZzwWyrfFzSsHcCYGgyPphxpPXZRYxXhwWHsZzChHcAaWUuwnhrGDtTdgQirjJbvVvljJAvVeEawVHhtbhKPpRrktTQkKEeWwqAaboUBldDXImgGqGgQTyapRrtnvVNrTJjsSlLtjJdxRWwGCwWMzaLWJjJDMANrcaPpAVLlpjnNqQEfMmLWwVSzZTtPpBmMzDbBdZWRrjCcrRWwtfQwYyWwZBYyoOPpReErYMmilcEeABbZzsSmqQfXCcWwJeviztvwFtnNbIiBbBaAtTxtTVEaZzgGllvGvVgMmlLkKznWwNnxdIiiJjUuRrfYyUNwWwHvNneMaAFfbUuaNtNnfbOoMItyYMmMPWoOwiLlvwWoDdbvVIybBfIiFQOIiYyddHlsCYOoGHYyAahFtTRrEjmgGDpntNnTrxHhiVRJffUyXgNnGlLqwWxqQfkKhHJVWwSQqnvVVvYnucCCFDqJDgGqXxUQqNnuQdSCcZzsPJjAUuFoIvrRVZhLlMmVdDYDdKOokOoSlWwLgvssSFLlzZMqXxQKkarYyJjsFfSWwCRrhHjJmMwuSqwrMeWwEmSIBbuUAacvpPxXHhgJjMlLPHHYRuyywcnxjJbBGmMwWIdyfwikteOSMmIrkKCnsUuUupBbPgcCGEIYmzaAJMmHXdMmhbpPuUBfkKrraAJWBoYUNnJhHzZfJpdcCJCVpVFPoSsLlcYyphDdHrGtfNntrRiITszZXxUNOHUMCRYysyYSvXdUuAajJQbBEeqzxlQqjHZzhXtglIXSaANnNkKuNnUuUNSswaAbBWjJkIXCbhWYyUugqKsSYyPPXxvVfFtxwvVzqsSvHhoOwXxMTtpQhHqqjrRJwyYKXFqeSsBbryTtQqhsSfQlLDiIaAxzCcrqdBjJSQRDuUdmCGgcuVMVJAQqRrZzmMaBbzVoOqNnGgrYKkPWbroJjGgFVteEjJFfuVbSsXFNnvIiFfSLVvayYdDSyQqYsGiRrNmZUDwmMGgFfKoORyPiMIycwNSUWwjayYCcJjIiCcAaWwgKaAkTcrRCPhjlsSLkKnafQqBmMUuoRHhgXFfhHEuoDAjJQzBuMeIiqQFwEZwWoCAdDrRvgsSflLFGGQqgGBbgKsYyJjsqUuekHsSPlmMLMrmIPBbpjaAqMsCcSVMmljkbQqnLSsajFfJSIidUNnkgcpTDdCcBoOJhZyGSVvPYqMiKOhHhHwGoAajhNuUnhzvVZxXHwPpWZzgGHYVvHECuUVvcMlbPUAKMWZiIuNhHDyYIidUuRHhHRrhrnZmMgBbAbOEnNVvLUNAFfLlYyHXmzZrcCDdvVyVvhiIHSrRmNnsSYGZzuAgSsHEtQfFjJqLlTUukKkDdKednMJZYRRhMZzmdDjUuUuJJjRrjiIaYuYyUvVfHyYIihAaUoQwGeKTbQqBLyLYyGEmNnLAopPlTbBbBtOozKkjJegzGgfMmccjJIhHijYybcCIZNnmAaHhnzZyPcCuXxLFflrxzZqRrQXCnAQMmLTAatlnNlgAozSICRhAupwCccCMrRfFWwIvZJjvmMWwVzxXKlLkZzHtrBbTtGgRQqTvPpYyAkKFfHhfHEQqEeekAbBGHefFkgkRiIDNRPpwWrFfRfkuxXUoOjqYLlMkfFKyYuTtvBaAMTBHISsiVvyoOfrABpxhmgLzyHAdSsDdPDVzZWQqRfgnNQVgGgGOaApSFjEezZsSPpUdDGghHntTbBkKNzYDdkppPKkniIUuaPpMHMVvlZljJrRmmlddRrBbsSNuYkkmfmFfjTzVzHhZcCUHnIixXNuiNnzYyzInSYhTZzJAaqQDdxHpXxLlMnNazZawdCSsSPeKpPCoptQqmvFzZtGgnNpRcPxBkKsSqHJsdqHWwhOozUQKkMSkgJIjJlFfLoOijJaAlfZYCcrFqQMmfRmbnNZUwtqQrRAalaqbaAoAaljgGJgyYGXbTtpPFDqrDKNnPHhFVvfIiHzZkKeGKkxInHhfFBLmrUABuyYqIHhpPENHArRfkltTWwLqohJXNeSYslLmQvVGfFIiJNxRuTxXTtgIEsxyYLsgGSlzOoVsqxADdaXQSoOsSFWXxlQvnNVJOogjJjJsWwSbcCBnfcOAarOohWwUSwnBJyYAazDwMmrRgqANyFfSgGpcCqQLQDTtwuQqUxKzZpgGtOeCGgcvVhliILMaAMWwmNnmlLTaAdDPpPIiwWymMRybhRZhHINniQGWibBekNnkqQtTKEwSsWnxXhzlLpPYUgGlkKHfEsNKruUsSRzZeVvepRrGKaJbyiXoOxTGxcCYtAaHhvolVttTGgbBleyYEHcChRHhtGgBKPpnNFRSBbSIZBmXqQRrXDUuNmTtyJXjJODVpPzoONnZvnSkVoTtaJjAaHCKkcOokKtapxXPpPJjAiNnrRUuiNbBZzpPiSVEaAueEUBEiIXynhHNFfFVvQqGSEPpQcsSbCcwWRvVrVLlOGIigofkpPeGNuFXxizZQhsSdNkHhKnRzZkKWwiIRrdUuYJJtTjVDUQHkhwWeknJjLsSfrRaApPkzxXckKRjuwRNnQqcCCskoAaOsPYhQJjqBXVvMbBYnLqrIjJRToOtnNXxrRoBbBEebvViIuUhVJjzZrRvefFbkKLFyEeYbTOosaASGFfuSsSEeHZJvxXeHhabnTtftzZpPTywnKefjEDqXAKkdBFctRGlLtUJWoOZzrMABxXbaSbBsUOoutdXsXnrDVvEtMmrZBbmgvVGleZAmAaAadqQEEeNLQqDekZIiOozZzIZzOVvmMaXpLloOZzyYwWSpLJVvjBbwVmgGMWwCmrGkYyKiWQqwBOsLlSifibvmMPMmRGyGYesSEzOcEeVwxXBohHZzAKwWngGQdDEePtTnOdTSFlBbLfutRrZzzZUTtCBbNoxXFHqQOomFfCHTOGFuFWCNVfBdrnNRDbcFlagmMkKRrjJLCxuUCDkBbQLzgDtSDfFTpPtfFrLEelGeLJjDVSwDdiPHKkPhHiIpjZyvxelGrrRBbeBKkMpbdDgonNzvVmtncUPglITxtFcVRKkQolLEmMrMmyBLgIwZeEeESrWlfdzKCcTzZeEtYtTozZXHeqUHeVmUNnxXhsBbSfMBuqwfoYyUWhHSxqVKPpbWcCPYCcrWkKJytsSDUuJGoPplLKkoVvkKdDIOWGlLoXysPDdpTRruHvVFOlLmhkTiRoyqeArhzZYMjocyYTnNOzZcKTtvCAhHFoCcOZzfbsSZxPfFeiIEeUuIHPvnNXnbRcCxaZwDcngSMfSDtNkhHKnxtlINnGVLHtkIJaIKPPpnLkoAOFypHlIabJBMnNmUppgGPsLDyYsRXxgWwGdnkIiRRkKXWgGwacCZyYZcCGFfLUYMZQqhfFpPLnixpPEcXxjJUujJPdDKMmmMkvXYGqbBDHxXmMaAYayPpVvZzHhknNKWZrDIgVvOcCDdwWKjRrtFfYhHKQxXeEsQHVvLqQdRjwgTttIgobSJPqQcZzXIizeEMAJVPpvJQhKkXhHxNjDdJgGFfHAahIkKaoiJtTEzZtWUUuuDcoJjiLZyYhKzVeTBYyOBKzyDdYZeEnroqqCRHhrfBbwHtHxXKkjyXrRRhYHhfEeiANSvpDSEcgTtosxXIDdidyYeEDSUGPpDLOoAUEeXKyoOjJYJzZWBrdUuDMmFvNnUuLBgiIyjJjDogCZiIYXRQYmMUPqrmQCdkoTtUwgwWXcNnCnSsBIAKLoYyOQZGgzrRGuRrpfwApmQHReErlPNWwBOgMmauXxUOYylYaqyYGQEeCACLxXKkTArbpuCAahHktTJlJzNiInKkjZzSACcCsQpVpSXsOXiFZJkyiIKkZNlcCRKkDaRNysIiSKkYynYyEevsSWwCCcSuaAYtGdREerDgrFpFiICnTQYYSxnlJjdwWHhQMmqTchNzZnrkaArQqVvRjEACGiInhvfldDAwWXQqHfetTEGeRrEstDvgEqiAaGxsSODPJjHhpGgoBKeMmabhTzZkKgGLYypIibUXrfcsaAOonPpSGzZboUuOrRdDaGgAFfFfrRJTUutRPlLAOsSdgBbGiJUgoOiIDkKIibMmRrJjiKixXIkKIiIibUuBcUuWwAAaoQqFfgtFAiAGcCrDdnNXxbeixPpXYAVdDCFfcvmnNuTMmpRPphZLltRacvgLNEvwWDxwSoOXxHhsRdyHVvvabBXKiwmSydmSsSAagqOrWwRxXVvcgktiItTTENnaVngpPqOqriYQRjDlLdJFOfIiRjJKkysvbBwfFcChpAakKkKINnFfNoqFBMvVPprRVBHHcUaAuntlLqjEUjmMJYxDIiPkVNCcGPGWfzZVmFfiITAatPjdDuPZlLzlxHEpVXxblaKnNqINGXkdWwDKcCrDzzceeXLlKjhQqcCZXoOYXxlLDddDkSsjJjeEYSYhrRruUCVajJkIvVzJByCcDENnRrRfFsSVvonNOoYYylqlJoMdDWwHUusSLrJjnVBbvmyUcjRhXgNcnNCqQzZUujJKwbgMeOfoOyGQzEefkAxXkwhPCeNprkqQsXMdbBElqUuEIbBYXqiILfFveqpPSGPzZlLpgDdgzZGUkwWATDdsKkSTYytrRwYyyYToqQIYQgeOcsSGDuXTMmKEenTeayhmMWoaAsSIPpiOGMZBpWwiiUmnumLVgLliHPpSMuUsJjXxRnSudYyDbBrvWnvJtttlLWSahHAspPkCnNcesRrlkoSsdDYWTXwoZzOZyYyxHIYpPyirRisSCRrcKXUzFisXwpXoOgGxqTeBbMxuUzHHllwWYTpcBylJjtkKuUUgGvczAdKkODDBbdodhIHhiHdMbemRcBbigqQwLKbLlBtBbTEoHeEcrVBzLIVwWRgpNPrHSfFqTiPjKkJMDdPhzLlZAaMIieECJjDdcichdfqFSjJZzKQCBqhHQyLByYTYyjAxXKGqfFeEcCQgfFkqqSvVGMmyYSRrKHEehkIcrRCYoEKygwkqnNQnfVVEVvptOBgrIqmroORMJlueEUIWwSZzCWwpiFgGSsdQMmaXEXxYMmysbBdiuKkDwWBKaHgiNdDtTMosFfSCkKvpsFHWyFbBGiIEmMDfSbBsZmzTCGJGjHjzjbsreFfMmPHvVPolLVDrDzypvVjeEXIgGiNnJoTbRrMwWNcjONnLloaAJGrrRRdzRfngxwWYfFmMMhEeWFlLUwHhxgEnzoGqRNgUupmJcEeUWCgOnSMbBmsNHtjNntTCsSrsSAXxaYyvsSWeKBbGgiRlLYyHdPEktnNpPcnkEaHSsPcFDGIhHoOLyYEexYiIyIXxCpIBbgGNUkcIFcCbeEBkYhBmEzZEFfdvOASnkrSsQxjJDoQiySNnsRTtrYIqOddIiuUpOXDGggGhHUsSuXyLIvVXQsAriIkaAeEQoObbnOWFfwoVSBiGfkKFgSrRtbCcwWxaCDxFhHmWfYwBbWdfUchFoKkOnNfHmLtcsrRDVNIhHuwVunIiNSrrRmMOoasSxpFLlRlFTyAjJIQXOwqZzQWRLnyYDdxxXzWwcBmMEVSsWQqTtkKkIasqQStbCDTwnEeNFfUOOTtoSfFfWwRmgwPpWGMrFgGsoTtutTgGtXxTWTttBbdcBTAiKenNEwvebCZXeENljJtgGTroEQqexqQqiCcaYkkKKtfmMLrQqDdfPFfXQqARsuFfFfUUvWrRUKFfkgGinvdSCCcOoTtTlMCuFDyFwMfXdcANnXSsxXTtBTsJjIWwbsvNZzBaABzZqKRaGgSqxDdilYLlxduUxoPeEDJjJjXlrRjJLlLqRSIisKNTtsaUuoVoRalLArODRrevVeMRrqDdQbHlOoTtLyKkKfiCKuniPSsciXyvVyYYligdfGLkHVvhKlKkgCEsSephAeKNCTKEeepDhMmrIkEwVRcJrRLpPORThQTtqHFftgGrSsAaolTWwhlBbZzLomMGcwWwuZvVpPzCjMPGnLlrQfdDKkQMwWwWmgwWcCGMwabBAWmdDvVoOcwYyBWCqFTtbBlLwWgOZsZzSNJjeGXxXoOWulLfwEeHmyXEeGNFrZDgQqCZznmEeBcCoOtnNOjpPKkxDdJnNTyYtPYtTZdgGRYydhHvlLOGgpaAmMhpmMEdDRSBJZJhJhHgjkKLlTtgctpPZMzFdnNUSsuQZzqeHhNnVvSXxsgfYrRwhfSPVcOmnIJjGhAkrRbQKkqdUIDbBuUSoOAaexAULleEuqtTDfhHoOIPcGgNnsiRrgGLjQiRGboTPevvFNKQwWqWGWwYkeOyisgiAaIsQQmMaJYNnlLytPpblYUubLlcqkxXsfQFDHCIyHhYmiIpPHpvVmpZzItQsnHhYyNhRpMmnUuPGkpPKaANnaArFCcfvilZbyYvXxRChOiGgJjIeTtklWGICrMEZzBmDPpDOzExXVveYyZdpPfFrRoKkDaZCVuTWwjJbBLHhYqjJQPpbCPtyLLhhZNnXmEROortQPZzWxSIfZuxnNHhkIhXYzMmWxtwyOKLSxXEIimMjzrRZJKwToOTTjoOVNbBwVRgGwWUsjJSsNrWnNwJjSmsOohwWVvRrIGvlMUNMuIIPWwbzlLmgOoqQlLwWwjBZzbJIinijJKXxkIiSsINHYAnNEtNKkkiItxUdgRrkKCoEGqyiOtWtaKuuUsQExXVlzZQHhdtTJjKkDxyieoOUjJuQLeDUumxYySKHhRiIPnEcpHWKvVaKFZqgYFoEmGBWkmMzZxXnGsSxHrJCufFYMNnNRlhmOjLPpjJQLyOQqHhgGIiredYbjlLZiKAvcRHysyRrQqpPfFJKyCcxMmzXxvVHJkxEWwEtoOTCZFfZYydRxgniQkALwWBvPenNSxXshXLpUHclLChJpMvFwSsnNgpgnaANnlLvcWjJjJwtTCvVKpaAGgbBPpdXycCueJQUwWuTNChhbvoOZnNXxiwWIIibBzmbNnfmMtTQOniPWwHiIWVSYrFofrqyjJIjJRQoQTtOopZzPOoGNRrvAeSsKGCIioQGspiNnIWwPMUuDYKksMWIkxAVEWFfwYyKeEkehYDruUWXdVenUBDdeEbjJulxXrRGVCArTzHrPtUMayIEBuUSsqQfFRgaIafTGRrOaCTwXxWtkNnIBdGujIDBbWwoaprNgjnNJzZGnTtjONnoixXIXxlLBrRxUuJjeEDdXgsNAaSCYyWwFRxqQuBoOjJGGggPqQlxXKktHGSsRrgBAMNnmEDdkbBbOTtdoXgJlLjaAIQeGZzVdkKRzZrTSgTtQqFhxadDPpLFnNVHNgcaeJKTtRQWwqsSHCIitDLNXsyyjJqtNGgdDcfPUufMmPpRCcqQTyUsCcfFqQoFfOqQUuYycViINYnrAzZLldrLnzyYLllLYKjzfAvVaIJjxoSxsrRPVpPvvPqScaAasJZjLjKxXcUMmPBRatyYcClcaHhcbBqgQAyLpPoKkNBbnAGobnpLCchqMPaWFrRPUgquUELlelkaibNxGWuOKDcqMRQpuUuytTqrxyzcGOdJYGblQqVfRbCcJFfjwjYyyYkxualdPpguOTtgGlLGCcCesdPVnNshHnaIMYymFyHrxYoOJzZhThWdDFaAcQQORNkbouUbtEvZkHzlIOEeCdwTejaAIOAimMbBnHqjjamZxaAOJjoAaCnNypvVPYpjmMUusBOkKGiTGWJwWrzZDqdDQlhqSxwWXyYIiqhHhyYHtTyeEkKYkvVygGzcCZTJkpPQqoVdDvfFGidRzwYAyxXhHZzhjJdQgytTxVpJjCeXIFfNlRrHzmyuLllcCgzzAxrjJrKNDyBbYIUqQqQCcrRuiQqrSdlSHhPubjBAiLhPyYYfoaOKpPlNpSsAakiAjiPpNnKTxAaqQDdXhlvgiLTXTdslLFmsGfFNCwTtMTtbyENnAaQqeYBmWdWSsTtzyYUPpuAXrBNVvxVCcphDdiOgGoEpXzRrnNBacVuGgUkChCcHotkQqKCOJmyHSsRaEmmMMQrRYOrItKHMofhEeZzRrUcCtSTtYwsSWxOgwoiOOLlgHhGgjdTYjwYyaARDeEdQbiIaABqsGgSWwypwBPGgQqpkveEQXswuuZlLVvzUOmMrRFWQUbmBbFAaHuMvwWEhuQkKEbBPpLljhHJhxOykOoZDFLwRPpCcZzsvVzlLWaAMmiGlbYReOqrQqvBbCfTXtiLGpJjuCNTMRnNroRrOZOGTtBvVPuUmbERgLEXVYKkzxXJPpOaAohpIWhHSssvBbdMmpPyYlEgTtREeOMmodZzsTdGZlCcqKUuRrxXdcXcYylTeEtNrRqQnGAfFVvLfCFoOvncwfUfqQgMiImothcMbBtTDhHdhUuyaAYyYyYRrfIiLlOncuFfTUWwRrxXYyQqstDDdJjoNpqgGNkuoOUaObjJoOWvNLlnavVACoZbBygtTctOoKkLlRrTCYgrMmpVBQjDdQqbBJqIFIobIgVvRMvTtVcFRrmMfvWlPsPOoxOoAZzoOoiKEdlnecCDdDYyAZlLKkzaMaAazELMzRTevVpPdRNxSxDeETmWwRwoBbhHODdjuXneEKkNxTgrTCfbDgGaBbJjxQwtzZTWdeJFEkNKkWwWYFjJNBAPqQUEenNupEHyYkNnKkMmKhivUuVjJIVUuNnbBpPqQjzmMhsUTtggLlGpPtBfuuCcUUljJBkKJjEIiHuUwWOXcCxTtmMriRQlNMmymfFxbHQqpPyyYBxQfFqEeXbzDdZpSKXwWxScrWUxgGXJrCOoZKFlNKgGEUeEuHKbEenfHhFNGglLBhqudvjyDkKrDHfFqFfIfUngEZzdDKFvjJBoOCqQqesgfYBbxinNGoFfyYOgzZIeboOeIivsIqQqQnIXxIydDYOoHhThAOvKsNdoTtoOiIxjEeYMndxxMzZbaBZzbAzixEeXIissrfkcXxCbTrRJjiIrLTiIHhvLIiOOoVTyXgtIbBnNYBjAMmkgPEEwzYCaAcyQqZWVvkpPnSetRrTFBbhLrbJjBEeGgQqDdRuyZHyYNwCBtTbRrcbBWwWeZzKEsSbBNnLltTIwgqzTfFWwtrHfDdFBYrYpPIihRrHpTttHEoTPJRrsSXxjuUBbpPkXWdqlGgXxPsyCtTSscoOTtZzYYnaQQqGrhHRWdZjDdbNWsuHRAaoYbByCFPpwWgGNgGGjqLwhIiHfvjJUuKkcCZGgnNgGXSeiGtGgUrfFXnjzNnZgqMSysEmMnVvyYxjxBbXHOQKFbBahnerLlReEcCiQUbauRMlbDdNNvVniXhHgoOEhpkdQqsSsSRQdWwfvVyYBxLvVOZzBQALvVTWOGgouzMmBMyIizFLJjjGqQKsmOoqAauZkKQgGqOoQDcCSjhQEebXpCaAoOrPTMmfbBVMTAaPOcpPkEiIRrpsLlJZzjcDWrRAkKALlMmmPhXjwgGWtHysNiZZIUhgrlUuLRTtGMmulVvLoOvZtJMFMKKTtyUnDDLMEeMLzLmhmZzAtTLlNlLPKyZeFLGglUUtBbTCcuAaiIuoOoOfEuIiJfsXxPQqovqJjGFrwvHhdplLDahfcCFODsSdoYRrZlGMHXqQPbaRVvNFfnFHhcCYDKkdDaAdbBhbtmPpbVUmyQYdDHhGgNnyPpJKFrnTtdiIrXxKGKERrhPpgatTKOohsSiIBQJjqbFeXxEaNWhpPHwnVDdhVimMmWPUaHyYrcisZOaIiJjGLIiqaJjoONcRkuUKMmtTtTUpYoONMkKAazWwiJjBJUuCCFvVZGEJjZLOalVvoOMeglIiKkYlbBtkErRgWqJjOukKWwFyAJIiyYxXHrFfrnNyzjmNhHDsSDdhGalLUgyMsYyYDlyYLnNdRMMmFfxhanuldDlLeouUBiItTaGzeENnCcUzwCcmkaKkWwupBFfiILmAaetThyYyCcUoOuJicCIOIzZirRgWMxXcCjJLlmoBbkdDNVvnImQypzZsgYFfzHjbtPCGAaXxdDKuDiIsAVvxXEeVzZPpvGglfFNBxXKJLvmzZQJpPiMRmZzphKEQSUuSDdkVgGacdDKkOEegGzeWBbfEECcemUQqpPbZqadOUebBzZxpqQPGPprOiIbFAUuNtTJHptGbBaTtAVvAJGgusnWbBClpPLYimIpYrkWduzMnXuUUqQuxICcgmMSsApPfFlsVfQqxBvSlLsUUucCccCCfvVFDLldTvyYfPGgpKkUrRusSOTbeEvVMmBtRthHTBwBbdDpfFylLRrRyYQvZtTjvNnmvdDmMUMZZzzrqsbDgGYyQRZQqXdqTtFHQBbqYgBbGREQfHhxOokKdDkvNnVWnoONwmMWQPmWVQSsZWXBbTrRprRrRpkCcQGeELljJqQwHzZYtYyTyBUTtucxiGgKnBbnsxiPpLGjJgGTxJQThHtqWwLXXxZjDMmdJDEexVoOwWspPIiSwWlLrcDdXUuxmnNuhonuSaJjwWAFTgREMNWwnmePhmAatTMHCLlibBIOGgpdDQqfvPvdDcWwjqQztTZgGcCDPjnNIiFLljulXLlmMxbBvSszZVLUuyZzOSsbjJNnwjTtRRFwWHDxTWwtlqQLhjMmZAapPMyiDdbBkKkKeaASNKkcRaATtiLlsAaeERroETKIWFXxYDhFfHigsSkKXNCWYYULlryhhpCcgGmGVWwCKoODCcdGgkisRWNfFnQsUIiWmMcRAmoOfSTtVlLGsySsvHrRzPpiOTtfapcdDCuUcClLJjjKkGgQdfAiIyJjbBUuYacUNVvwpNneEPgGJjWyNVQqvsvjFYPpnNyXHWwhQEexYuFFUueEjBbrvIXAaRNTtPpPdGgMJeqQfXSseExHqQkKhgyCccSLhDDkKoudDCSQqFvVfmMUuscmOYyoMUqfFTttTYPpiBOGgVIuUcCUmMupmXxTimBFNnKkTRgGrneUuiIEAAaBmEVhWnOouFZzIiMmIDXNXxIKkiZVHhyIiXxYtTLLAOXHhxoaAepPvXEeTfCcWVTZIVEsSjpPQqQEqQqxBbFMDdaEeeEsSCLIIiNnsSybzWqWwFTJwbAasvlGgiIFeJPvyYCRnaTyYtmdXxBiImMbjxXwlACcOoZmcgrXDKkRjJtTTPAYQqtlLkPpKGgMmMvVixLbuQjJqOBgGHBLWwlTvWLVBRyYgGIqRHNwWCcSmPpMzZffBmMDfSDriIkIizZpPDbBdJjpXvUwXsOgLlGYHfuUwdqPBjnNciwWHUPxCcXZzpPipOoAgGaOncGaAgCSNasSBMmlLKknNyYIiksSNgkKhHPqQpGwGgbBtTGguIiUWsiBbIDYyKPBtTbjsfCIjJUscFlLIrRXxiJpPWCRYiIkKpnWwoXdJjDqQwWqQIixaEMytTBbZzViIoOzJjtTWwgeEkKJdoONiInZQaWUuwArRWgaAvVPXxpmaxXAoiISjJsfKkmvVaexNlwnNgGyCNlkKfOoZzsnUQqzIiEeVvqgGQWXKQqbaAJsuUzmfFuUVUgItXMLjJHOiUuPBbpCcygCcVXLlkKddDdMAaWcZmltDeExXMvxUUuuXWnPKgftRTLlSsSstrXEeQBBweEmnIKkioXwuCcDrgwqkvSmjPpDPFewWPpjcGrNnCWwWkeEKYpVvPWwEZnNzPpLVtTcZlmMLWWTRrFWHIzpPZCUgYNaANnRrlLJDdZItTiXfsTtScCLfFExXgGwMOHiIhZzOovhJkQqntHnrKItTuOxSlYyxXSzBQqNncOOoNOonZzoCmMyYHQxcAaysSFUuhOCAPFfpPsSpSsaszfxuUXxXvVFfFRrZmasvJmgGMXvVvFNnFffFfFBpPGFfeyKjKvVFhdDxXiUQquSslLlAayPpYswWSClLclHhqOQIXxUwWoOHnruUjJSbhHpNnQwPpSMPpbHhThHtDTteSEemMevTtKtHjJhyeEPpDCfRrFfJBHhnlOhSCxwOaAvVUgGAaUuuXKEelBIXoZzkciIxXnNDfLlhWcpPCYyYdXwWXxuUKkDkdDWwKJjFqQhtTJAKkaPpCJStaATsbVEwUbyQqZzZErXsyCcfFgGMcCAaJKkSsNnZLYylzLfFVSdXgqXDdbBaixLPHhOzZRNLSsjaTvVtsSdbfFMmUqTtQzdRrNEeqOzkzXxZpxLlaQGgqAaivVQqniRrIAaNljJtTZzwJlLeoZPaVvxZoXFfFfjwQqtTnmTkKtLlbBEgZzTdNaAGbBgYynfFFVvfDdlDmMdocNvVPpVvgtByoXKkVvxDLoxRukKsqQnNqwoMmOXdfFIDjhMmgbkrPpEQEYznNDEdDJVvhEejJtTHjZzXxuGgrteggGhfuIyYRrVTthWUupaGgdDAxQqXdmgGFBbfcudIigUiKkXZVGvRrVsDRDdrfFNjXxQqHvyEbfbFfKKFYSsaAeEyfxhHeCDlXwqwhfFUpPheSQqsENnXxJjHlLDUuyYxkKMBbdDkjWwGkFsIDfFkKdtfFJONKknttTTKvyLlsXxgbBpPAQfFKJjknyaAYqHhQBbLlNScZFfJqrFfxXbBdELnEXBbLoOcEeQFZzfGrVIivZzixCcXdaATBfFbDdoOTttDMUuUuXxrGNnJpZuUuUmMZITfFZKiDhCcCcMvqNPpCcnLYrReJjkGRLzZgGPDcCdJjyYpzZSrpFfocwsSiIfFRPpAaXBBbLlbhHxLjJNBbuhHwgrRCcQArREeoEeOajsiTtImMtIiHVvOKsAafXxiIkQqNmMnAZcEsAaSsgkhxVmMNEXzPqQPpbBhHJShLpPFfYylwXXcfFCxCtvrRVsHXxiIZzhOApxXRrDZfJjpgMXbRrXuUCGxxfyNnYfUkeElSluUBbuyLlYdDWwbBjPplLkKkKVOXqgkKkKGqZzQJKkkEeKlOotTDBuSfUQfFBbYNnnuUnrRsfWGgrYhHyQBeEUMTttEpxUfHhFYPpyaQqipPdOoIMDjDGgdwUmGEFfeqpPLmMgqQGXJjxmZxEOjxUuGIigXJmOQDdWCIHDZzVwZHhHZIVZXlHnDdNiIjJckaAtTTtKSkOoPbBVvbMoOjJsSmwrRQqWvYyEkQqbIGDdCcuUgyaZVvzGgAdncCNtHHhhgWtZzTGPeRoOwilpBtfiIFFfjmnNMJFflZzmdjzyxXSNoOAzZaTpPasJNhrncGutpPBwpXxPQeZrGxqQJJjiIfbnfqTUWqQUvdsttFLlKqgvurRZCBkKbIDJZEeUWwukeJjWVVUoOrRuKkHhbBARDveEwhHWWPHAayYqLsStIaAgGAMmqUVLlvuLlZWhEeoORxFWfOoFhTtBhHvNSGgzZZMmpPLlMmAKgGRrOotDdRwXOHCJjcheuUobWCcwxXMUyYwmMWIrlLRHvVuUVNIiIJjwXgpFXvioOlauUvDdVmBvVKkWPegFLlfTIitfJLiLhyVCeEclLlLoOyYeEUxKlLQqPoOPLKifFIYYIitLlKZkKEeziMlLmIbkKgGPxGnsOojkKrSAURrNCcnDdJSgiIMGOTtjJoIivNkKnVXbBhgDdppPPGvvVgAzZLAaGglaUDzZduygGYAgvBcLOHgdDXGXCZIiWYQqywQgrRkaQqxVrWBbjwyCMdDmWNiFlpPsdDuecoOCEvFquIJFfpyYjJJjVvtBJQFfNvUuUNkKLIiGgMmlnFwBeFSCtThHwMmqjJxGgXHWwFBYybDRvuUjXTtavWwVWJjwfFvVJjBbAogRfFrOwWHkKbBUuFYEUuEeJUujNhVvBkaAlLoOHdDSYyqQsCcuUgzmMlLVvCWrRqpPeEhOmaArJXYycCxdTwRVvKTtyYkrbBWplLPcvKrVvOoPinNuIiMzEeuUZmCcKwWnEtTwWZfFVQZWrvozmkXxumMXxzZaGgKksSAMbbMfFiGXxHhKbCInbtjLMmhwpPGrMmfILocDCbfBbFctZFfLbBoQcfFqQLlCxXNSzNGgjJltxXmuDcCeEXvRrYLlyVRrRqaYZcEeUVvaeuUuXxVvGmKkMgidtTJjYVILliaiITtoOAtTGiIgVvvoZzGTiRrrzZzGiLlIcCgYyZVgmHhMBbHwOPBpPTsStmMtIpGgwIeEpFhHyYhyYHBQkaAXxKtZJRcQRrqCPXNFbBvYXxVvvVtlYwkKMHhtFpPdjGgBucdDTXPWwpBbPpoPqQPpaApOxTpPsSHRrgGDwSsWzIieEZlLNbfFIsMdbBDDhYyHWwWmtdDFOjJiIqmvoxXrQqqQXxsXWmRxXZJAajxvwWVCcSsdxoOzOgGuUclLCMmzZGAGXxgwRrWaaATyNeqYyPmiIMpQqQcCEnvjJfqQFhHWwZRrfFDWwKWiYRrlEekKLgDdoWMvVmvfDxhUuLHsShxXGVvgFfRgrZIiOLaSsbfFZmMdPpBxkmMQdRrqqYfjJOofbfDdFAaBrTtRHhgVEeGDdgrHMJjfFTUuyGgQqYyYtCcSsSszZPIbcBDoOMHhJrRjuUgBbCMCVvcYyQMiIYyrqQDkKMiIHhmtRfMYydDUUuPpRruzZMmFfAcsSshHXFfpOoNKdDkaAKkOoqQjeDtTRrdnNnEnkDdsSEOoeYyEUuzyraArTtRMxZIizUuQqUIHwWBmMoPqQDdhHqQRLmMXLlvBbRVKKzCcZQOnUqQVTGgjUuYyFnNcCrPeEpYurSsSxvjdHhDGgjJCdDczZtTqQaZzzZtQwtTcYkFEeHhIiwxISsXxiHbXpJWIiwyFfYGgnNyiITtmeMmJjaNxiIJkKeEAKYXZoOzBbEGlityYQngGCSZzWvVRrJjaaanUuUAToOaKkJyYfFKknzZIiNXxewGklaAYvJZINcLiIoGPpUzZuWwXBbZINnoOoOmOOoAaZOKsSkQqoQfVvZWwRDMmHhjmoOziImMQqjJqAZtTyvMlIiLyrxXnqQNgGtTBpVvvfFUZzMsnNStfFqjfwtNfjlLICcilJHomTbyTtnFAIxXQoOCcHHAGovVODgYFfUwgQuUmYLlpeKxxiJBbcCVvCYycPbBpOoGtThyHhjZOVlLgLnNnNHpPBbDAgGutIDhvUusamMiInUvBAaBbbSsaUUufqQhHCcFSsCcMJRqpPmSsUuHhMnBTTjxXlQmMDaDdxQqXdDKkJjxcClJjIWVHvQlLqVcCZWwzpfFGzmMSsnezZEvuTtlkESsEHyNAaoOnhdDdeEhiVdDvGtAamMYHhxXnjVvbYyBvVJNRrMqleEZzjJOFfoXxJdDVvQyYOrRPzMbiDVvFAanNnzTXpPptKeEdJTtZJIKeELJeEjxXEIiNrRphxpPFfCcAaXXhHNcMCmdDzBresGjJmNbgJnNpPZVZzaJjsYyWkKwvazZQNnIidaWVvAawaGgAcXxCKkuemVxRrbzzNGBcCYIiybitTCWwuQYydzZfCcCcFqUuQaADnNWsgGTtSIYyhOoDPpoqaqQxXYfQWkKnNTeEEetdkCCcCtjoOBfFYyJjECzZUzZIQqiRrurDdQqdDRlNtTnITtcXxBbwtTLbDdhbBtkfFlQqaPWIwWKMkoOxbBZzdRrGJeEjZKkTgYTIBaAbQCCsjhXxouztwWJJSsAajCcwWXxyYwWiIENnHgcCTtBblLHnNeEhInNNhHMmZdDgSsGctTMmtTYykKEeCcAJBbCcjsfebBTrxvSefFIORhHDfFdrzrRnNZRJjWmFwWfVVKpPkyYzZhjdAaQqxXVzGPpXxwWkfFKTYkKJjySJGycVvChTAIipLqxXembIijJwWvYVQqPTtRrDdpxCcUBbuGxXIiHhIirUAjjjXxJjJWSXDaAdEeHhEeCjIuXxcsSCtTsSlAQqaiHvfFuCcJSsWzbGrvwDdMzVvRAfFaIYyFwWfTtTNJjfTtFFqRQUuqrwScmMLYylcCqvVeIGPcCNnHDdwWdnQDdiIEeiZzVUuvIZDCcdzOoOsVvShgGaAUuMXxdbcMpcCtQqTVvnDmnNMRaArdNjJzZdQqDHhrabBJjUBbHUuhVvfFxXpMmFkKtTfhHXOogGFYKGsSBbtAaTMmgvGHuHHFAXwRrWxZaQqGHDurMxXyYIiBbmtHhxfLhHMoObBQvAaSjJewWECnNUVvHOoIiVDhHSsfooOOeEeEpZvDdkKXmMYyELzKkZlbBOmMoqNEIRrXxitTKkbBHaACcZzlEeTQlvnDhqeEKktTQdhHxzIiZDsVUejdDJDnerRmbBiIvgGpgxXecCtDjJdEybBQqYwhHWeGFuCCPpcvVHhfiIFWwJdbhpyYJjKZcOoOLloUhmMApPZzOoVPpEDdwWrRThmjRwoyMuUvVAkBwsmMfhHFxHOobLllQdDcCqdzeEogGIiqGgQLqecCEvZyYfWwbBFdxGVxXvcCgtTPOVsyYrbBRSviaAEmMdDQaWqgiaFfTzzZalEzZeLFGkKgvmkbtvVXxAaTYyKQqkBDmMiOoIbFfLEelOKKkkzsSYXxhHCJjRHhlLRrEOoSUzfTdAIiaSsDTtUJDdsSjUgGEVvPLletTwWbaAoaASTtVFfvOzcJjaHuQNncXxyYdWTtfgRrMSsTPaaCKkvVnUQquKWwqQkauwRUKOXPVvpZzPZcCmEeErDttRyXxYmMrwCDbBTtnNQqsUuOpPoGgmsSMOosSoOVKkPeQqVisSIPpMmrDdGggugGhHaAgihZzHIDdvlLDKkIPpiSqQsnmMukSsfoASstJjDaALlMGgnNKkEVviIemMKyVvYuUkbxlLXxpPYyQqXxavuUXxoDbXPptTSTJjXeExMmXxVfFngGSsRrJjQQqBBbXlLPpfSPMmpvVnUuEuQlLqUDdOmEvVLiGRKpSzZzZjJxXzqQZtwbBpKkfoOGgCcjbBeLANnaVvlzZUujrRJBUFnzFVvbBoBEVvDdeMtHLlhvCnHCcUugBLXxcEYyhYyHoJtGgFJEejuTtUGaTwZwjJWMmtTLluUfAoOoWwOaNxXnNKnNhScRsPWaAwqYnNiuUxXIDbbBBMmJSsweEDiRrIdWrRJjLYyzZmwWzsoIicCJfFrRXxGEuUrCfpPBIUJEeEnNNaINniAEFyYfbRwWLxXyYlreVbOocCXjIicDfFlLvVdCLlEeZsSjlxwDZzdAaLbRrBSsECnNYyMmcDdfFnNTyEKjRdmMIbMmwJEeILQqzJBFLCYyZuVvYycCpPZzbqBbQfrRbcCIixVvmhHwWWtTwdSsrUFlkIzZyYPIiprRLFntICUkKSsuxJjoOHTkXxnNAEeaGgKGgCcRxrRXDCluZzWiIZzTtDdPZzpBHhLNnlXUuNnMmwWehkhjXxJIwWiIoyYOHhSRrsIeVbBIqQivEBPqIvrRTtViZJjzjzDdtTsSRrdUHhujJBbFBbKkxXTsSjRrEeoTiItpPPpBhHtTmMBRCcMmcCUWwAUhHJjuahJPEeEiSDxEaAeAaSkcCIiKIiYIxXKkkKiyCcXcCxRIirLFojcENnepxWwXTtXnRXkKzZVuuBbHyYhMLvTtmMfFeEMMmUuUASkKjJTWwDMJjbPlLmOoMhHpbjXxHhYCcZbUuBgGzgAKCQatTAowWOPhHphSsTtMmHSsTuhHtEsMmSGnkKkSiIJcCSPwiIfPpsStFRnPpNXzZmMLlJjxXOQquUGgkYIRuJPNnssRrSuUZlWwLzaANDNptWytTQPpVmMKKkJBEzBRLlzZIaAIiEeEeugGcLSqQsPRGNWwPVvLSOoUuslMmMLleEeECGMmRfFTteEJLlfrRNRjJrRXxQuUTRrtqUaAKkgrfZXxKyYDAaLldjhTtTtgGHhUqNnXxQGAOzdkKDhOouUHHWYSkTzZAsSYCqprXUusUKkuaLxVFlYDeEdfXxjJAaeDdEyPIMmWwWwUunNKsFMmfRqQRrPprqRbnNJjnNdZKOoABbHhlLPDdpEGgEsSehHVkKSsaAeEcCYyUWbBhFJCcYzZIiVvvZzkKVvKjMMTtmvVoOPpHpGguIiTtxIinNXUHOPfXmMdaABpVvIiIEdxiIhiLVbaAwcboMmHqQhOEeYWwXTtxyqQBxonNhQqHvPpyYoOVfAniIkKxXjJBCzvByDdmjHhbDdJJjjzIlLOowGhHgWIiGgQVAaoLTtlVvWwVzZvOfFmMjJsWwTOJjNDdnxsSXtvVnNbBTotxHhXkfFPCHAeXhHuUNkKncrRCxpFwWHhvVfOoPbSgGCNnIoOiDVvEedrRlLeEonNkpNcCCcBRrRregGkKYyEwrRWcgGxelLEXUgGvNeBIibQqgGECJjuYqQWwyUmMcMTpmBHhXsShtnsSdDKQVvqjuUJhzdInqGcCOuLYylwWEUueiKkgGKkWwYyaxCvVfFJjZzcPvVPGgfFpGKVvrRVhHvAaDdkpPmbBbSzZJsSfpLlNnZYCcykaSsIicCPmjJKfFkxXAaMOoOoRrtCUFHvVPphxMgGkpPKlhHEeLlLmdpJRIiSNsjJuUSMVzZWwvrqQRQJjBbUJjjEeJeEdDeIyYnIthHRHIzLlBUuHhGgVvKrRkrqaAQRbhHTdsEYywXxHhiIuUCchHzZYyWDdwsnNNnREKQsSqbDdBkOorBEeWwSsAdEeAaDQCdDcWwHvNmlLMyPWlAaLwSkdDRrKkKspPfFeEfdUuDydDEntfPpQLlqqlLCRxpqOEencCMyYgvVGcoVFfvxXsWWzZNlLCdDtTPOqbRrnCcNfFVObBnNxxyHbghHmMYyGSsiIVvLlnbUuBwWNByYKjEeJkhYsMmWvVsNncCassaCXxlLcdDASfKVvIikVyYxXszZlqQIiKkCPpXxcuUfKPfNnFgGpPtNjpPsSJDJKkjhHZzlGgTLnNHYyjOoJqQhPXxoeEOsADdqQAHNOoxXwWCdDlwutTUnNqQWLyYCcGgxUTthbBrRmtTVxXZzOonBbnVvNRrPNnkBbIxAasJjGghaAHOLluUsvoPpTtjeKkEJQqOvTkKcCXxtVTzZtHzzZoSUuyeEdAduMMZzmmqQVvrQtGgTFfCZzcwWkqQjJAlwWLJjHCrRUQquchdwWlLhBbLlHAtHhwIEMmelWSsGgaAwnbBZzWwHhNIinirRUuoNsCuCfqQFcDnOoxuPpgrRiINoOzicLlCIkKFhHaAHfFeaAECchmMjJIHfFhifFTFNnBbaAiIffkKFHhtpPfSswrRSsPpsPcCpYyOgGVvovVWdDzerfMmItiJjoGgWwHcCZlOoCTtcLhpPgGHoOzhzQqDDduUdZhHEZUuzeSexAaysYyTtIiOKkolPqQtTeEpRrmMbhxXTqYyfMmLZziVvyGYIiyzZjqQgGxSwWszNneEZVvXwWSsIQoQvboOBwOWXxbjJWsSJjwZxXlqFQVvgGFewWNxXfVQDcKkCdRRrUjwOomMyYyYTtxcClllIiSsLVvFZGjJipYBMmBeQRHhJfFjLviLqGVGfFsSxhoOgLCcvuUdTDdtDVAalvVtaFfAiIhgHhLlGeEOReuwWBoObKCckGknCcbTVvGgQqroOtIiWFvVEfDdFwvVWcdofZzSsMmwWEzakKrxXRAeEdDIDditTGgQpPLmDmMNndAwBeEuUnNbYynNWjzZLfFlJuUjJfIitTFaHeoBbzHhZzZnNAapPMMmZsgGSHhWwubHVgTtGvxXhBhUdDmMuHaAbsQqNDXxVvdSLlbBCciVDdVFFLDdlYyfcCoOMIHhhHhKkCcPnNpPpNEeNnaApPBSbASsasgwWgGgGzmJZzjVvsqdfFDdRrLmjJlKkjJeRvzRrqdoHhOSLgGPEdDeJjcCWLlwtLlRpPaBbSHoSgGsKeQqTnYyNqQWBbCoKNnUJjcCikqQtmMTILGUWwugKJjhheMmydDNNiIRrTglGDdRzZQaIcEmMmDdUuLNnowWOwCczEFfqnNQIZziTrlLRtzZyFfXWzFfbBnNLlYWaRUsOoOvVovXxVPJjpdVwWvDAacCWwAyQqYruUhHwwWxXAdBbDPsPpSkyppUufFFfnhHNuUGghHaAIWwiHOodDhzhHgNnGLEboOtnNXxYyjJVDdDaAdHhvzZTIilLcCPpYMEGPpyYfFVvrRgemSXxsiIKnNDDdUurjIJhTtHCcMmUzXxRrCcpPZrLlTtQqQqHhdDOoeEFfSvRrVfFbBzHNnhfFyYZsSUJjAFzGgZfeTtAaQqxXEccLZFAaUFucCwwbOoByYSAXHhqtTQysSIFfikwIpnQkKgcCsSUuwWGCWwoVQqvvVPpORroOoOEeSelLiTBkKbmhHMtIqhHBbgGkKCciIQqaAuLlxXDdUXumMPpBgiGqQgqQNnHhVvcCLlDdZzqQakKsEeSAERYyOxuUEbBeuLlUakKAGPgGCoODDNnCcddcvVlcCcCHVvyYQqKJjMmdDPaDdiGyhbBqQHhHYSYeEwWwWTwWNnPNnAacCtVvTYymmMoOmMSsNZVGTtgNyYiISsjbBcCCcuUrRjCkWdDwhsSMmGgwWDddDZzHhHgGIJjiDWwDZzdsSkVvvVmBEsSeCQqMmCSsrRclUZXsShHQqVvnvVOoukBFfbfyYikMmMmNnqQKlaqYtTEuUKxXnNpRHRoOVdDdDjtXxHhTNnKAadpPmMkiILliKFfaKkPyYpAHhPpcPcCiVWAOUupPMaCcSFxXLAalxXtLllqQLwxXbBvVWFSVTDdEAaGNriIRnZzgiIEeedxIeEiXdvJjZzfFVDwWDURrtblLBTbBfIwWiFtMZlLLlGYuTtMzZEejMmRMjJmpPoqBbQOlUOocCrYsSSnNsljJLWBaAeNnEQqAsSfPpFgGiIgPpvNnVGHhaQSfyLlYTtFQqDeELUuuUWgMmGQqPpwAaMOobQqZnKkJiRrfIQqTzZmpPTfLlzZFtSsdPpDIEAaeybBYrRPNkoOFfVqQkKvfkKjJAZAkKaXxKkzuUXTtwOjJKkXpPxmMMmujJUsdAapYycCJjJjTNnCcthWFzZfqQoBmbapBbqQPbKKwWkkwWmMVXxvXHiIWwuJjjJeEUKkhdBMmTsSyYtHsRNzZuUngbBGMoOWwhHIiCcmwssSAaAaCczOsSUuOPqQpjJoBGxwljJHhAlLacCdNnDIiEZzgGNnFzZmBbaAsSMvNRrHhnVVvwaAGgYyeEWiIeDkmFfgaAkDdUubBYXxOouUIXxnZzcCMmpSgGyYhHoOsQqPbKrRbfFBKfDDddUxXPHhaAGxSemxZOokiWwhHcnFQWWwdDdDdDRrfYYyWpPoOxXSWeROIigGgzZRrqcCRrYrFgGfIcCLliSJjDSxFPpPpyYZWwzfXqQxXQQqeEjYtTVlLXxzZrQzZiIFfzlLZzZqUuIyIivVYifkjNnYyjJJdAaMmLlZsSxjNNnnJLgZzlSOotTaAsSpLlgKpUuGBIibAYyrRRrsStTJssaAAaSapPABtTDdVvBCLlyYcdiuxXcbBZzCvngGuBMmVvByYpPQqyhHYWcCuPpUxXBkcCKsSWwkVvRryxsZMYpOoFfAaRPprcCaARfYyTtFtzZFfKkvViITrQqqkozmumLHhhHeEkKYVvtdwWDlLThiIHWwAQqakecChHaAEmMpwBcxiIXCVuUBVvKAaktVvTQuytVvTsSBbYZzZUurREIiJrRjGsSgAaAaeTtoOObBSstZIWmOoMwvVLlyYiuPpgGXHhUxXGUuUukKIOotkKvVEeTNnEOoebRrBGboOBDdgaAQEeGgYmMCibBHhzUuLyYvVlGgZAdDfkXVfgGFUNnQquzcCqKkHmjyYOorlRrBbPiIpZztBeExDdQqOoXnNpIisxXSqPpakKIgGiwqQWQqqUXxulRrtTtnNTAaLEeCcOLKklyEeYVvpPtpPAVvaoOPjrRJLlqrpdDNkEeqcCiIcCkzZKFfQAFfaeAeEmiIMoOOLQUuDtTTtIiNnXAkKazZfANnnoCcOwWNhHjJpPaHvVmYyvzPpiVcCvITtPVapndDWbBwQqFGgyIidJjVvDIzFtGanBnpdDPHewWPpAazZcClbfFBeEhTthZzHJdDiIjLqQlgGpIiGgfFSTQqPpALlMRrmCiIcaSaKkmdDMOMmNnsSPpTtRrrRRlLHRbBrXJjJoAatbBTHGiIgyYNzZnQqrRnNhlxOoXHYyhfFaMEelDdmMLkGPWmnNMwsLlSTxjJUcGmMTPUuhHYypUHhsSJjuDdNFfnjwWQPpgGUuXXxEexqUuJPbnNoOeEbmMbBBTjJgGjxKzsSZkaASTtsXJsqBbsSQfFSIIiipPhKSwWjEFrRfetTDWYywqQdgIAaZKIikzQqZzKQqDdQlLqLBSMmefaAFFGgIifMmZzKkWGtToBbyYBGkKVvgKtYAagGSsvEemkKTYzxXwWqQLlZyfTOnxXNoVeEfFvrRYlLyFbUbBLlJoxIiFyYBbfOXxdDWaAwdbEejcIiBAxfFPptoOZzZUHFfVvJfFjGlLeEgtaAXzZAgmMMmVvzZXuUaAxnNKkQxXJyYjmMRUurtTqGrRkknNRrKhHGqQgJjKaKsSnkKNBlLboeEFfyYOKkkdDMmrRLjJljOoiIWwTtPpWPpjJDdKkwUuyCcYbBNoOlsSjJLXCnIiABbRrdnnZgGzbYpoOwWuKhQqHkddDDXktewWETKkltThHzZLdDEuUhbBHgQqtXRoOeWFfXXtTAaxxKkHhnNuUdAapPHhIzzZZidgGdDDHhqEekKQCcqhHQuUOorrTnYyibBoOIkwWpleEsSLhIiJuUfFtOouUBbSRrFzZfyCcvrfFiIRrmKkMthBbiIHhaAHlWwZzLTIcfSEWwesaqQutTUDddDAbJaAjYyPwWpHZtjMmMAafFQqmXxJuUTzCcUuDdoUgGuUfFvoOAiIauUPHhRhHrVvZzpoSMmjOoiUuIDRrdBbCcxXBNOoVoOEQjgGAMmsSalvVLepPGdQqDgZyYzkKtlLTdpPDkKXxSsiGgdDztTnNZwWYZKkxjJoOIiCcYycCfpXxFflMoiIiIOLlzPpNnLlzZoNbBnrRWwCcOFoBbCcZzfFzOoZwWODdAacRlLfAaYyFUuCcriICfuUdDZQmMJjIcCIiHhCHhBbcnNinNmkKDeEdtTzZEecCTtkKkrqIRsSBbrsSiImMeCcEPpnRZziINnmMecUubBCEEerNnRXaAPpCcxHqQZoVvNMmPzwhyOoYVKSskZzxXpYXxyWsSwFzfFCyYcSrLlRFfsEeSpPsKtEiIeJjyYcCBrPpRHtuMmUIiaAIiJjTtXLliIHhOaoiIJjODdRvIibBVUjJsSeEvCcVbyYBxXbBQwWVrYyRvFfWwgGtTGpPgiIOoAafFgWwlwtAamEezIiZiINyuPjsBbSJrRRrpqKkVvDdZzsSWjJsQqnNTtWwWThvVNnvBpGEeVvtOoTFfawSTjJtsBpPiIbSsmMHhbBoOWrnCcNlLpPQqRwfQqFEuUMUaxXAwrFfuhHbJjEsSeBMmCrbnNRdKkLRJjwPZONnoNnHiIEezZGTtzZtTmIFfsDdrIiRqQSyHzZxNqRrQeEtTnzkwWzZKUfFuZZEeJfFGUugjzlKkaAbBmmHhMCYycSPjJdyHhnNYZFGgfzKktTemMEJZzjDSsKvQLVvlolnNqiSsoOSeiISsOnNoiwoOCbQqWOSsowWwVvDVDeqlLQEDmMOokKFfdBqQjbBJwoaAVZzFfNnaAfFJjbBExXpPeaWwAvLlzqQZbgMzaAZVMmvqyhcCgGOctTslLSQqyYSeEwSsFcCfKtTdDQqCctTANAanKTtkRZzrIwVvVAaLWwlLDdrRlpPdDjYYyZyvVhQXxfFSWwDdnNsILlUxXGgzqQqQrRJjCfFcOoLlwWYyMBfFccCCbmuUMQEeqDOotTdnNmMmJSsjTxiIXzZMvXfFxPpwnOoNWXxPpswWtrRTSgMILliTtmGVpPFfUuWwFmMozZOxXfrwWRrRbBWFjJRrpPnNPhHPIiBxTtXLlDuNnUfPDdpNgGnRrOmgGQqJbBrRYywWyYyYUuXxjOoChkbBKHzKkOoGGggVWwvHheELlcCyYZzZgWUdDMmuwGgkKoHhOAadbBDIDdiyYHhheDdDdjJEMmxnNEENneeDKkdnNmMTJYyKkCcjDdtrRjJRrnNGNdDnhQqHBsSWwBrRwkKWcWwCVgGvtaAOojDRrdJTuUfKkFBHhbEebbGVvQqfFmnoOaANAWwXxRDdstTSVvLltTYPpyUunNDZzaAsSMmbBErRvZzUulLUaAgGELleBbuUNbqQgGBncCTtnPgGpjJmMeENbBkCcKOQUvVuLlqjqQtTJglLjGgaAJyYEYyekqQKNyNnYUunfFwmMNnWodDuUGNngOxdDHqQqPpQinNNnEeAuUamMAOZzlPpBWwbpNnPkAaqRJjdDrXxQbBOonJXxjNBczfFZUiIuYaAyMmCsDdoOfFdJzZjcpPyYYEcVmDdMNgGDcCdZzBFffFCyYcFfbODdZIizmGgMtTcCBQqFwWNnEcCetUuTfuULlGgLTtImMiRrFfxXsNlLnhkmWwVvyYMYwWrqJNnjQOZzVvohZBbzKtTkmMNnHhHGlLCDmMMcyYdDdhHSsKPpGgkqNnQBbkKkSqQWwSsuUsCqQaAcAiKkfFIfxHhPUupyWwYDgGuUdLyWwYwopkxXoMmgGqQhHOkTtTnNtNnfFhJjSfFfAKKkTXxUunlLBbEeNYUuFJjXVvbrRBdvEeUZkKQqPpzuuUEepPKxSsSsfFSNnytuUTYrRFfNnOZzQqozZNuUGBbgZznTtfFaaAbBxXAsVLjJltTMmjJvWdDSswAaXxaAuvVvNnsQpPqGcCVdDvEegScCVlLMqQmpOoBbdnNDpPKIvfFVKSekLlXaAaAxXxXcCvJjAIifpjCcJPYcMmOTtdDoMjJRrPsSXxWwgGAaVOuwWFfkKqOoQwLBhHbllfFLvVRXEedwWjFTGgtfJiIFmnNMwWmvVMspSqQCcsPkKSfmuUzZNnZGgeERrSwWsRrgVvGzmxlLYyXVvMmMAamWqQwMMohHcCBbpPFfOTtOUuxXowpyVLlVSjJHhrRPphHEeshSsEepEfcCLlVvFNnNnOYyoPNnpPpNBbnhZpEFfRrauVpPvUJvWmWrRhHzZwMKkGgspPSoOEeIiPppPbYyJjyOoYPJjbBDMmFeEDdbzZBKkBbUuaauUBbbBCNncJjrmMGgREeAhHNjJcCPpnRrIEeYNnyiCcAPgGjCyKGgkpAgGiIeEaiIPymMSsAaHKkqQhEZzXcCMmxuUJjhHxXMmjJrREeVvXxQdDuBbeEUBtTKYyoOzaATtxlLXeEVXxuXxUvRrHzZMmNnVXxmAaMIiOPpCKkcAzZNnaOozZWMKzZMiIBbtNUuRrjJONnonnNqQGLrRlWwFsbBrRSlkKTmMNntwWWwcCpIibBnNJNTSstnjdJjhifIIzZnNizZioOANaAsLuFfgGgGcGgqQCcEeCzpPOopDdnpPNiIaqQFfDpPdAaSsIadDqQAiUkKcCIiTtEepPOovdEeDVzZSswNiXxtTwWUVvJjdDycbBCLlYsSuIoORrCXxcnjpPnrRNynNJLmMlhzZHyYDdZzxXsSQFfqgGGgCgGcOMmdrRDbhHBiIJCIicnxXCcNjJlLMGlIiLgeECcBbNpkVvOoKVvPnVMoOHiIuhHGgUhWwHhZDdzgGDdEetHhJjXxkKTzZAvVLlaAziIYywWrYAaAayEeWwRiQqYyIzZZGnNxXgEeRrMQNnqmCchJxMmXzZjAaSsAaeEGZfoOoOFzbSsYyBgaApPYtTqXxQFfZzyCOofFcqQGJjJjGQqgcCHmMJjAKJjkaHiZzIhyYHIihhOOwVuEeqQtvybBcCRoOrJjbBmmMhHSsMDNbBneAabBEQqyzRrZYbDhgDdGHBaAbdBGbaAPpZzqQhgGiedDgGnNEBbQqXDpUuGgPsSjMmaAJXxMmVzzZXxMmmMDdmPwWpMKkZwswWFfSzLlqQZJjBbsRrOoEStTsfFrKaXxIiBfqQlNaAnVvYyQqDdLlqQiIuUdDRrQqjJQuUXxqXrIUuiRAaWwDTZFfDdzGwDUnNudGOBbogDJSsSsjKkpyYnNdDPsSpuUPksMNnmsSSKISOrRosdDiPpcCxXDdkHhuUeMmyYEKkTbBYytsjJFfjJsSQhHqSWwHxXhMzzZUuZRKkrpPjsSJzNnpPFfQqqQhHynNYXiIxHhvVFfaWwIRrfuPpxXUaAmMMmFkKrfKkaAFuUDQqfFdYTtwWEeyKJbBUujJjMmVvmMDdDKUuiIkgoOGqQdLyYptTlaAlLCoOPCcpcGgLkgTrNnyYRIFaAfitCjJcHZzhsSfkgGKOonNFSyYiIfFsTszqOwWoOIiyYgPpGBRrJjyYdtToUuOCcAarRQqhHEeCcKkCcRrRrDFVvkKaPpUuoOpZzRgGatSsTxXfxxXAaXtPpTUutTFerHhRfFRrhHdmvwWtxXTVMgGGgFfbBpPrPVyYXxIzZUuiqQtYyTecCKpPQqkmSsiIieeDdsSSsXoOzzZaAZNnlMmKkLNwWnUjJCiIcnNuvVqQAvuUNnxXFfuCcdDsmMVvzZQqiIqQMnNmaAiIYoOFfyXcCuUVvTtbBzZiIpPmnFfGBbKZzkgAavVNoOdDXFfvVxMiIFfFfuEeUDdcGgCuUsSgTwOoDtTdmMWtGbAoyQqYAaQFoOfLAalBTKkoOtcCbHpPUpkXxgxXGsSbByxKkXYvrtTRGgUuVMMsStTmZLSslzQqjJIifNuUakKAdUKkuDnNvVvbDdBslzyYaAyYZLmJmMjlZzLMcCBoOSsjDdJNnaAfFmMDdmWwArRpPbleEXxyiIkKYDbBqQdLCcCcAaFfTKVwWvkUAaMmxXjJiPpIdaADDdGgzByYWMmHhwpHhLldDZzPDQqddDRrbdqeEQGanNAgZzDKklLkKCcNnZWwQQqquTlLtKdDhhGgxlLCcXmMpVvPqQokKWzVvSsjJDUuvVdZjJAaKkTtQqhGgBoOoOSvVsfFtyYTtfnNFUuZcCzsSCSuZPofFOnNKkpIixEeXzUiIKqZzQiKkwWRJjhydDYyYhHNnHrxXIAgGWPpwaxjEYbByeJLlXvVkLlxPrRpAajAadYyDZzJJjXZSszKBEeAahHeDdmMDdnvVSbBAaTtspKxXkPNPpYyVRrcCqQvvVEXIieToOtYpPzZyBVvDNnHNnhdzQuUqZbZBbcCzzrRZRrOohxKkXgGkaALlBTtCwWcbKHoOcCBvVHhpPfFUmMuLEUudDAaWwtTaAdVtTvrZUuzIiRYyDgYyGPpFfDdenNaAnNaAgVvGeESsgjJCccCevVEWuUFfkKTKktwDdpPOoSgGsxXlCcLxXVdDvQqvVWvTtVeECcwJjcaANnwQquUWuUeiIGaAgxXEHhjKjJkjJNQqnyYgSsGfLlnNfFpTtPsSnNBbfJjFjxUuSsoYqQiIyOKkCPpcWNtdDnNTtTnwTtnNgGPpMqvVQmMWqQmMwuUglWwLDdbBMmQnjJYyNznpdDTtPNRhLlrRZzHFfOeEzZSsorIiMmGZzWyYhHwEeuUpvKlLkVHnNzLYyiZbBzQqIglFfZjJrRITSDTtdeExLlOoBbXsYPphHwWygaTDdtAWweRLlriIEGpPcDdDdaAeYyCcWZzJjwYyrRIYyLlicCECwWzZwWFveeEESGgsAafFQKOokqpPKzbBzZrRKkYhzZHMwWmFfjhHuUVYhKkHkKQvVqHhtTlEeSsLwWLMRrmUuloOoOGggmMMmbPFfeEEbBKkAXbqQhHBNnxwIiWnNAgGjJaMUdDpPuvAaVzKkJjOGgyYoZkVvKzQTOotTtYySKksJmMKaAkjnGAaWUuumMUOGDdgTtuUgAoOxXeEKuUvqHhQVGhHgkLlDSscClLdaGgpPVRrSsYfFBbyzgGedBbZDdztcCJjVvsSpMmHhPdDIxXiTWwuHFfhUpiIPvzZMNnmnNVDhHsSJjbOgGSsgGTttjdDJkKTzZtToXxtrRrVyYvRiiIItTlqQLTLdlLDjlPpLJuUoOQGguUAaqIikyYKElLiIaABbbpPBDeEdWCcweEedDsUurRyYSJjTEetTTWwtXxeYoOYyyEtWwTtOrRoWkZzDyZzYdKwluUqwbBWiIubMJjhHmCchHDlLWSdDiIjJsmMuUlLEewQqqRQqnNrQdtTYyPHhSsrRARraoLlvVOpUYyhHwmMWMzZdDgGDDdJjdPCcppPAZzyYBbahwWRliICJjcLmlLIimMRAarQqljgGbOKhHkofFBTtGwWghHJLBpPbblLsStEeTPpbzZAaIiaAhdDDdsyYCwWlLcnFKkKkHKkhUuZCczWmMwukKUwWacCAqCchFeEBQqbrRfoBbCUuGgcZzSsaAOmMQEeBVvbhOopPHKHbBXxhkqHxgGCTtcTDdxtTXuUtXEemMnNIihHoiIJjUWwuQqONSsRrnNnhRrUukKJCnNOlLoceVmMvrRsSrdDRhPpZzHFIiGgfaopPOKeFlLWwvVgGqzsSwWZQqAyYaQFffzlLVPpvZlLZzsldDLtTSsjJVkFfKRgGruNnUKVqnNQvAamMxiIXPpqQLlkAxXeoOEaLbCcgQQqqFfGBfFlqsSQEsuUSerHYyhtTDdpZzTNneELlNFfxhuUHXnhHXtRrTUuTXxsSpPtuUudzZiIPpAaDkKeEdDMRrmdDmMDqQXxQzZqmMlmMLdrJjRhuUHQoOqNnhVJjvHEesQqdfFDSUAaqQiISbBYydDtToOnRrNLlswWwWTtvVhHxXFfpPJZzXPpAaucCrRFDdfYyUgGoOxGKkRrgScCsqQiTtgGoOIbRrBdDzFfPiIsSAapZvVBbeaAYypPQmMqmMEjgsSaAKsSkpwWiIlLmluUuUuULmMAaMPiIdDoOpdDUOjPpdbBvVhRdsSDvVrqTtQiIzwWKkEBjJbeyqQYSWwsNTtPElLepgGdDPpFfnuSsUrkKRyYQqZXxkKfPpOoTTvVuUttOoFnbyYBzNJjnZopaURnRnpPNrNrRrWHqQhHhwHcTtFfChgGMXIixmnNuOoYyahHJjAHhOoQqxWwVvsSDdXNCrRrSsRcigGxXhHIDdBbDdsEeDoXxOORrodXgGGgxSjJqJjQdDIzZPpihifFIOoiIHlQqFfLHjJyYypPYAahOobIicCtTmMGgLlyYAcCkKaZQqQqIizSsrAaYjJFfXxqQdDUSsdDLzZlubBNnVvyRrsShHOoopPOQbBkKqepiIDdPkHhKErlXxLREeCcxXlLXxXfuUFYyBLlcCvViITUunNoOpDmMdfeEFIiPMZzekKEmyYtHcLlCQuUqZzLRrlhHhQSyYsyYXoOxqkPpKBSGghHsdDbhHtnewWEcCeEfhHYkKYybBytTSNnxXeEwtiIVvTUouUOupPSspPWTtwWZzpPtTgUuBbGvVQqNnrRCcsNnOSsCcoWwFgGNnUPpuGgakKAywWYPOoBbpuUpVoZzWiIwKkPpRFfrODpPPpPpbBdTjJtJgGgqQGgGjsgQqGmdDZzMSAatTUuWwJjHhzgTtLlrRoOhHGwGgLlXxWsSzZwPpWDGgJjddDDRrdZvVJLljqQvkKbbBBjJjJRrKmMBTtbkVdoeEXxtTXxHhrVvRoOqQODvzZzeEeEvVmMmMZziIZRbrRSsIiOoLLsSwWeuUEzZiIFaApPXxhiVvIPpZzHfFtTfmMdDwWRrLlKbBTuaFfAqQhHUaWwAtvAVvnNaBbVkxVUuvXtTxXtvVWwrRDdTfxXFmpuUPJjxXhHhoObBHMmGgJnNYyjzZOERFfrPpYyeogmMOdaApPDnNooOjJVvOsSoSspPMBbmUuPpGEbzZBSCcsenNfFJjAaZzpiIPdDKwWFfwWwWvVUukzsSZHVSsvVKEekvfFhKkQSsAmMabBPnNpzZqmAaoOMCeMPpmEdDqtToOrRQciLlkKdfFxXCkKcYjvVCcTtOoJyDNnNnOoYVveEyhHXNnxnNIdwWDzdDJjQqAaFfJfFBJjbjJjoGgOljUuJLzZiIUuFhHfuUCorRLiIEelOzZcjJmMtTeEfogYyGOfFWweEfFnNtTIiuUToOyYtWwlLYmMynNGgfFYypPyYvVNMmJytTYjGgDxXdnyYPpKkRHhAaBxXCcIiUubPlLprYkKyUQqswWSuoOnWgGxNnXwTtgYyGAcCaNeEIUuilLMmBKEhHeLliBbpPIkzZJrczvVwWwWKkOoZCFfnMmNnNwLlWwNbBnPqSsQaApWizZfFIEaAfFZOozZOozeRmPpMjwRrWJbBUuelLErRFfEeHmMIiWyYwQqvyYVLlZjJzMmZoWwOeEjJzheECcaAqcCCcTtLlQkKAaHkKhXuPrRpIiYSsyqQUivVIVrRyYFUuQqfvJGgjFpPkzZQqcCfFKHhIizZrOyYotTAaPpRTtqzZQfMmmMyYsSfNnFJjxDAadqcClLtTQRPpZzrmoOMJSsOuJjUVvyYoxXbBXxqFfQjLzZMHhFDdGgfmcCcfFClTtmhHMZsyYuBbUfFNnNNnSsncCSQqTtzjfhXxlLHPKoOkdJjDpFfFdhHDjJDdEeQTYytqAaEelLwPpWhrRdVjJvDHEeWPuUpwnNW diff --git a/2018/src/bin/day1.rs b/2018/src/bin/day1.rs index 92516c5..b7f78cd 100644 --- a/2018/src/bin/day1.rs +++ b/2018/src/bin/day1.rs @@ -1,8 +1,8 @@ -use std::io::{self, BufRead, BufReader}; +use std::io::{BufRead, BufReader}; use std::fs::{self, File}; use std::collections::HashSet; -const INPUT: &str = "input/2018/day1.txt"; +const INPUT: &str = "input/day1.txt"; fn main() { part1(); diff --git a/2018/src/bin/day2.rs b/2018/src/bin/day2.rs index dc2f30d..db68967 100644 --- a/2018/src/bin/day2.rs +++ b/2018/src/bin/day2.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use std::fs; fn main() { - let input = fs::read_to_string("input/2018/day2.txt").expect("input"); + let input = fs::read_to_string("input/day2.txt").expect("input"); part1(&input); part2(&input); } @@ -44,7 +44,7 @@ fn part2(input: &str) { |acc, (chr1, chr2)| if chr1 != chr2 { acc + 1 } else { acc }, ); - if (number_differing == 1) { + if number_differing == 1 { println!("{} and {} differ by 1 char", line, other); let common: String = line .chars() diff --git a/2018/src/bin/day3.rs b/2018/src/bin/day3.rs index 16bd8bb..581dfe8 100644 --- a/2018/src/bin/day3.rs +++ b/2018/src/bin/day3.rs @@ -22,7 +22,7 @@ struct Claim { } fn main() { - let input = fs::read_to_string("input/2018/day3.txt").expect("input"); + let input = fs::read_to_string("input/day3.txt").expect("input"); let claims = input .lines()