From 2decae570f1b7a4cd44319716b1f8e2975de778d Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Mon, 18 Sep 2023 15:57:16 +0300 Subject: [PATCH 01/39] Started implementing HKTs --- README.md | 4 +-- src/main/scala/AppRunner.scala | 17 +++++++-- src/main/scala/Cli.scala | 3 +- src/main/scala/ImageGeneration.scala | 53 +++++++++++++--------------- 4 files changed, 41 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index f6f6c6b..9396559 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Options and flags: --help Display this help text. --swap - Flag to indicate if latitude and longitude should be swapped (default - false) + Flag to indicate if latitude and longitude should be swapped --download Flag to indicate if image should be downloaded to outputDir --browser @@ -41,8 +41,6 @@ Options and flags: Input file path (default - inputDir/input.json) ``` -If neither --download nor --browser flags are chosen, by default only --download will happen - #### Example ```bash $ sbt diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index d357f33..dd37047 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -2,9 +2,12 @@ import FeatureCreation.createFeatureCollection import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} import ImageGeneration.executeImageGeneration +import cats.effect.{IO, Sync} import cats.effect.unsafe.implicits.global +import cats.implicits.toFunctorOps import java.net.{URI, URLEncoder} +import scala.concurrent.Future object AppRunner { def run(args: CliArgs): Unit = { @@ -39,11 +42,21 @@ object AppRunner { s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)/auto/${imageWidth}x$imageHeight?access_token=$apiKey" ) - executeImageGeneration( + runIO(downloadFlag, browserFlag, outputPath, staticImageUri) + .unsafeRunSync() + } + + private def runIO( + downloadFlag: Boolean, + browserFlag: Boolean, + outputPath: FilePath, + staticImageUri: URI + ): IO[Unit] = { + executeImageGeneration[IO]( downloadFlag, browserFlag, outputPath, staticImageUri - ).unsafeRunSync() + ).map(_ => ()) } } diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index ecb4c91..9854248 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -6,8 +6,7 @@ object Cli { private val swapFlag: Opts[Boolean] = Opts .flag( "swap", - help = - "Flag to indicate if latitude and longitude should be swapped (default - false)" + help = "Flag to indicate if latitude and longitude should be swapped" ) .orFalse diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index 16db358..b78577b 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -4,49 +4,44 @@ import sttp.client4.{DefaultSyncBackend, UriContext, asByteArray, basicRequest} import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.effect.IO +import cats.effect.Sync +import cats.implicits.{catsSyntaxTuple2Semigroupal, toFlatMapOps} object ImageGeneration { - private def openInBrowser(uri: URI): IO[Unit] = IO { + private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = Sync[F].delay { if (Desktop.isDesktopSupported) { Desktop.getDesktop.browse(uri) } } - private def downloadImage(outputPath: FilePath, uri: URI): IO[Unit] = - IO { - basicRequest - .get(uri"${uri.toString}") - .response(asByteArray) - .send(DefaultSyncBackend()) - .body match { - case Left(message) => println(message) + private def downloadImage[F[_]: Sync]( + outputPath: FilePath, + uri: URI + ): F[Unit] = { + val request = basicRequest + .get(uri"${uri.toString}") + .response(asByteArray) + + Sync[F].delay(request.send(DefaultSyncBackend())).flatMap { response => + response.body match { + case Left(message) => Sync[F].delay(println(message)) case Right(byteArray) => - Files.write( - Paths.get(outputPath.path), - byteArray - ) + Sync[F].delay(Files.write(Paths.get(outputPath.path), byteArray)) } } + } - def executeImageGeneration( + def executeImageGeneration[F[_]: Sync]( downloadFlag: Boolean, browserFlag: Boolean, outputPath: FilePath, uri: URI - ): IO[Unit] = { - (downloadFlag, browserFlag) match { - case (false, false) => - downloadImage(outputPath, uri).map(_ => ()) //default - case (true, false) => - downloadImage(outputPath, uri).map(_ => ()) - case (false, true) => - openInBrowser(uri).map(_ => ()) - case (true, true) => - for { - _ <- downloadImage(outputPath, uri) - _ <- openInBrowser(uri) - } yield () - } + ): F[Unit] = { + val downloadF: F[Unit] = + if (downloadFlag) downloadImage(outputPath, uri) else Sync[F].unit + val browserF: F[Unit] = + if (browserFlag) openInBrowser(uri) else Sync[F].unit + + (downloadF, browserF).mapN((_, _) => ()) } } From 8375696c825d3be596fa8973e57404414a1d7ca6 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 19 Sep 2023 14:05:42 +0300 Subject: [PATCH 02/39] Small improvements --- src/main/scala/AppRunner.scala | 9 ++++++--- src/main/scala/ImageGeneration.scala | 10 +++++----- src/main/scala/Parsing.scala | 5 +++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index dd37047..c81244d 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -2,12 +2,12 @@ import FeatureCreation.createFeatureCollection import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} import ImageGeneration.executeImageGeneration -import cats.effect.{IO, Sync} +import cats.effect.IO import cats.effect.unsafe.implicits.global -import cats.implicits.toFunctorOps import java.net.{URI, URLEncoder} import scala.concurrent.Future +import scala.io.BufferedSource object AppRunner { def run(args: CliArgs): Unit = { @@ -20,7 +20,7 @@ object AppRunner { val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten - val fileSource = readFile(inputFile) + val fileSource = readIO(inputFile).unsafeRunSync() val inputCoordinates = parseInputCoordinates(fileSource, swapFlag) val featureCollection = createFeatureCollection( @@ -46,6 +46,9 @@ object AppRunner { .unsafeRunSync() } + private def readIO(inputFile: FilePath): IO[BufferedSource] = { + readFile[IO](inputFile) + } private def runIO( downloadFlag: Boolean, browserFlag: Boolean, diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index b78577b..5ec1026 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -5,7 +5,7 @@ import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} import cats.effect.Sync -import cats.implicits.{catsSyntaxTuple2Semigroupal, toFlatMapOps} +import cats.implicits.catsSyntaxTuple2Semigroupal object ImageGeneration { private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = Sync[F].delay { @@ -22,11 +22,11 @@ object ImageGeneration { .get(uri"${uri.toString}") .response(asByteArray) - Sync[F].delay(request.send(DefaultSyncBackend())).flatMap { response => - response.body match { - case Left(message) => Sync[F].delay(println(message)) + Sync[F].delay { + request.send(DefaultSyncBackend()).body match { + case Left(message) => println(message) case Right(byteArray) => - Sync[F].delay(Files.write(Paths.get(outputPath.path), byteArray)) + Files.write(Paths.get(outputPath.path), byteArray) } } } diff --git a/src/main/scala/Parsing.scala b/src/main/scala/Parsing.scala index ac8d9e2..9f21132 100644 --- a/src/main/scala/Parsing.scala +++ b/src/main/scala/Parsing.scala @@ -1,11 +1,12 @@ import Models.{CoordinatesList, FilePath, Point} +import cats.effect.Sync import io.circe.parser.parse import scala.io.{BufferedSource, Source} object Parsing { - def readFile(filePath: FilePath): BufferedSource = { - Source.fromFile(filePath.path) + def readFile[F[_]: Sync](filePath: FilePath): F[BufferedSource] = { + Sync[F].delay(Source.fromFile(filePath.path)) } def parseInputCoordinates( From 01c1dbee0a89c1086f08940cc87e2bd8db0de2f6 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 19 Sep 2023 14:48:22 +0300 Subject: [PATCH 03/39] Changed CliArgs inputFile to FilePath instead of String --- src/main/scala/AppRunner.scala | 2 +- src/main/scala/Cli.scala | 7 ++++--- src/main/scala/Models.scala | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index c81244d..905aa1c 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -15,7 +15,7 @@ object AppRunner { val downloadFlag = args.downloadFlag val browserFlag = args.browserFlag val imageSize = args.imageSize - val inputFile = FilePath(args.inputFile) + val inputFile = args.inputFile val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index 9854248..b668c91 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -1,4 +1,4 @@ -import Models.CliArgs +import Models.{CliArgs, FilePath} import cats.implicits.catsSyntaxTuple5Semigroupal import com.monovore.decline._ @@ -29,13 +29,14 @@ object Cli { .option[Int]("img_size", help = "Image size 1-1280 (default - 1000)") .withDefault(1000) - private val inputFile: Opts[String] = + private val inputFile: Opts[FilePath] = Opts .option[String]( "input", help = "Input file path (default - inputDir/input.json)" ) - .withDefault("inputDir/input.json") + .map(FilePath) + .withDefault(FilePath("inputDir/input.json")) val command: Opts[CliArgs] = Opts.subcommand( Command(name = "plot", header = "Plots given points on a map")( diff --git a/src/main/scala/Models.scala b/src/main/scala/Models.scala index c780c40..e48b47c 100644 --- a/src/main/scala/Models.scala +++ b/src/main/scala/Models.scala @@ -12,7 +12,7 @@ object Models { downloadFlag: Boolean, browserFlag: Boolean, imageSize: Int, - inputFile: String + inputFile: FilePath ) object CoordinatesList { From 866bbc4681ddae0444b2f7d7fc795f4ba5dda08c Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 19 Sep 2023 15:23:08 +0300 Subject: [PATCH 04/39] Refactored some code, moved unsafeRunSync to the very end of the program --- src/main/scala/AppRunner.scala | 63 +++++++++++----------------------- src/main/scala/Implicits.scala | 5 +++ src/main/scala/MainApp.scala | 5 +-- 3 files changed, 28 insertions(+), 45 deletions(-) create mode 100644 src/main/scala/Implicits.scala diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index 905aa1c..52f9966 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -3,63 +3,40 @@ import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} import ImageGeneration.executeImageGeneration import cats.effect.IO -import cats.effect.unsafe.implicits.global - import java.net.{URI, URLEncoder} -import scala.concurrent.Future -import scala.io.BufferedSource object AppRunner { - def run(args: CliArgs): Unit = { + def runIO(args: CliArgs): IO[Unit] = { val swapFlag = args.swapFlag val downloadFlag = args.downloadFlag val browserFlag = args.browserFlag val imageSize = args.imageSize val inputFile = args.inputFile + val outputPath = FilePath("outputDir/output.png") val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten - val fileSource = readIO(inputFile).unsafeRunSync() - val inputCoordinates = parseInputCoordinates(fileSource, swapFlag) - - val featureCollection = createFeatureCollection( - inputCoordinates, - colors - ) - - val encodedJsonString = - URLEncoder.encode(featureCollection, "UTF-8") - - val imageWidth = imageSize - val imageHeight = imageSize - val apiKey = - "pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A" - val outputPath = FilePath("outputDir/output.png") - - val staticImageUri = - new URI( - s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)/auto/${imageWidth}x$imageHeight?access_token=$apiKey" + for { + fileSource <- readFile[IO](inputFile) + inputCoordinates = parseInputCoordinates(fileSource, swapFlag) + featureCollection = createFeatureCollection(inputCoordinates, colors) + encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") + staticImageUri = new URI( + s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + + s"/auto/${imageSize}x$imageSize?access_token=$getApiKey" ) - - runIO(downloadFlag, browserFlag, outputPath, staticImageUri) - .unsafeRunSync() + _ <- executeImageGeneration[IO]( + downloadFlag, + browserFlag, + outputPath, + staticImageUri + ) + } yield () } - private def readIO(inputFile: FilePath): IO[BufferedSource] = { - readFile[IO](inputFile) - } - private def runIO( - downloadFlag: Boolean, - browserFlag: Boolean, - outputPath: FilePath, - staticImageUri: URI - ): IO[Unit] = { - executeImageGeneration[IO]( - downloadFlag, - browserFlag, - outputPath, - staticImageUri - ).map(_ => ()) + private def getApiKey: String = { + //TODO: fetch api key from env variable or something similar + "pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A" } } diff --git a/src/main/scala/Implicits.scala b/src/main/scala/Implicits.scala new file mode 100644 index 0000000..abecb91 --- /dev/null +++ b/src/main/scala/Implicits.scala @@ -0,0 +1,5 @@ +import cats.effect.unsafe.IORuntime + +object Implicits { + implicit val runtime: IORuntime = IORuntime.global +} diff --git a/src/main/scala/MainApp.scala b/src/main/scala/MainApp.scala index d277fc1..51b1e9a 100644 --- a/src/main/scala/MainApp.scala +++ b/src/main/scala/MainApp.scala @@ -1,4 +1,5 @@ -import AppRunner.run +import AppRunner.runIO +import Implicits.runtime import com.monovore.decline.CommandApp object MainApp @@ -6,6 +7,6 @@ object MainApp name = "geopoint-visualizer", header = "Plots given points on a map", main = { - Cli.command.map(args => run(args)) + Cli.command.map(args => runIO(args).unsafeRunSync()) } ) From 400089ec56119f83ce7fc9f4060e87007b1c8f08 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Wed, 20 Sep 2023 09:08:26 +0300 Subject: [PATCH 05/39] Some code refactoring, a little bit of parallelism --- build.sbt | 3 +- src/main/scala/AppRunner.scala | 12 +++++-- src/main/scala/ImageGeneration.scala | 50 ++++++++++++++++++---------- src/main/scala/Parsing.scala | 9 ++++- 4 files changed, 51 insertions(+), 23 deletions(-) diff --git a/build.sbt b/build.sbt index d33902a..237a7c9 100644 --- a/build.sbt +++ b/build.sbt @@ -13,6 +13,7 @@ libraryDependencies ++= Seq( "io.circe" %% "circe-parser" % circeVersion, "io.circe" %% "circe-generic" % circeVersion, "com.monovore" %% "decline" % "2.4.1", - "com.softwaremill.sttp.client4" %% "core" % "4.0.0-M4", + "com.softwaremill.sttp.client4" %% "core" % "4.0.0-M5", + "com.softwaremill.sttp.client4" %% "cats" % "4.0.0-M5", "org.typelevel" %% "cats-effect" % "3.5.1" ) diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index 52f9966..39e4484 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -2,7 +2,8 @@ import FeatureCreation.createFeatureCollection import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} import ImageGeneration.executeImageGeneration -import cats.effect.IO +import cats.effect.{IO, Sync} + import java.net.{URI, URLEncoder} object AppRunner { @@ -17,7 +18,7 @@ object AppRunner { val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten - for { + (for { fileSource <- readFile[IO](inputFile) inputCoordinates = parseInputCoordinates(fileSource, swapFlag) featureCollection = createFeatureCollection(inputCoordinates, colors) @@ -32,7 +33,12 @@ object AppRunner { outputPath, staticImageUri ) - } yield () + } yield ()).attempt.flatMap { + case Left(e) => + Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) + case Right(_) => + Sync[IO].pure(()) + } } private def getApiKey: String = { diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index 5ec1026..533e906 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,20 +1,29 @@ import Models.FilePath -import sttp.client4.{DefaultSyncBackend, UriContext, asByteArray, basicRequest} - +import cats.NonEmptyParallel +import sttp.client4.{UriContext, asByteArray, basicRequest} import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.effect.Sync -import cats.implicits.catsSyntaxTuple2Semigroupal +import cats.effect.Async +import cats.implicits.{ + catsSyntaxApplicativeError, + catsSyntaxTuple2Parallel, + toFlatMapOps +} +import sttp.client4.httpclient.cats.HttpClientCatsBackend object ImageGeneration { - private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = Sync[F].delay { - if (Desktop.isDesktopSupported) { - Desktop.getDesktop.browse(uri) - } + private def openInBrowser[F[_]: Async](uri: URI): F[Unit] = { + Async[F] + .delay(if (Desktop.isDesktopSupported) Desktop.getDesktop.browse(uri)) + .handleErrorWith { error => + Async[F].delay( + println(s"Failed to open URI in browser: ${error.getMessage}") + ) + } } - private def downloadImage[F[_]: Sync]( + private def downloadImage[F[_]: Async]( outputPath: FilePath, uri: URI ): F[Unit] = { @@ -22,26 +31,31 @@ object ImageGeneration { .get(uri"${uri.toString}") .response(asByteArray) - Sync[F].delay { - request.send(DefaultSyncBackend()).body match { - case Left(message) => println(message) - case Right(byteArray) => - Files.write(Paths.get(outputPath.path), byteArray) + HttpClientCatsBackend.resource[F]().use { backend => + request.send(backend).flatMap { response => + response.body match { + case Left(message) => + Async[F].raiseError[Unit]( + new Exception(s"Failed to download image: $message") + ) + case Right(byteArray) => + Async[F].delay(Files.write(Paths.get(outputPath.path), byteArray)) + } } } } - def executeImageGeneration[F[_]: Sync]( + def executeImageGeneration[F[_]: Async: NonEmptyParallel]( downloadFlag: Boolean, browserFlag: Boolean, outputPath: FilePath, uri: URI ): F[Unit] = { val downloadF: F[Unit] = - if (downloadFlag) downloadImage(outputPath, uri) else Sync[F].unit + if (downloadFlag) downloadImage(outputPath, uri) else Async[F].unit val browserF: F[Unit] = - if (browserFlag) openInBrowser(uri) else Sync[F].unit + if (browserFlag) openInBrowser(uri) else Async[F].unit - (downloadF, browserF).mapN((_, _) => ()) + (downloadF, browserF).parMapN((_, _) => ()) } } diff --git a/src/main/scala/Parsing.scala b/src/main/scala/Parsing.scala index 9f21132..46a8ff1 100644 --- a/src/main/scala/Parsing.scala +++ b/src/main/scala/Parsing.scala @@ -1,12 +1,19 @@ import Models.{CoordinatesList, FilePath, Point} import cats.effect.Sync +import cats.implicits.catsSyntaxApplicativeError import io.circe.parser.parse import scala.io.{BufferedSource, Source} object Parsing { def readFile[F[_]: Sync](filePath: FilePath): F[BufferedSource] = { - Sync[F].delay(Source.fromFile(filePath.path)) + Sync[F] + .delay(Source.fromFile(filePath.path)) + .handleErrorWith(e => + Sync[F].raiseError( + new Exception(s"Failed to read file: ${filePath.path}", e) + ) + ) } def parseInputCoordinates( From 3ae5850a3b5b5a212c52df4a628e8ede0e8a6cca Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Wed, 20 Sep 2023 10:33:00 +0300 Subject: [PATCH 06/39] Implemented api token input --- README.md | 22 +++++++++++++--------- src/main/scala/AppRunner.scala | 8 ++------ src/main/scala/Cli.scala | 10 +++++++++- src/main/scala/Models.scala | 1 + 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 9396559..0433bdd 100644 --- a/README.md +++ b/README.md @@ -8,27 +8,30 @@ Create an image of a map with given point coordinates. You need to have [SBT](https://www.scala-sbt.org/download.html) installed on your machine to run this project. ## Installation - -To install GeoJson Formatter, follow these steps: - -Windows/Mac/Linux: - ```bash $ git clone https://github.com/arnasbr/geopoint-visualizer.git $ cd geopoint-visualizer ``` +## Api Token + +Create an account in https://account.mapbox.com/ + +Use your `Default public token` (or create a new one) + ## Usage Start sbt, pass in input. `run plot --help` for help ``` -Usage: geopoint-visualizer plot [--swap] [--download] [--browser] [--img_size ] [--input ] +Usage: geopoint-visualizer plot --token [--swap] [--download] [--browser] [--img_size ] [--input ] Plots given points on a map Options and flags: --help Display this help text. + --token + Mapbox api token --swap Flag to indicate if latitude and longitude should be swapped --download @@ -41,10 +44,11 @@ Options and flags: Input file path (default - inputDir/input.json) ``` -#### Example +#### Examples ```bash -$ sbt -sbt: geopoint-visualizer> run plot --swap --download --browser --img_size 1000 --input "inputDir/input.json" +$ sbt "run plot --token --swap --download --browser --img_size 1000 --input inputDir/input.json" + +$ sbt "run plot --token --swap --download --browser" //use default image size and input file ``` ## Result diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index 39e4484..5834af2 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -13,6 +13,7 @@ object AppRunner { val browserFlag = args.browserFlag val imageSize = args.imageSize val inputFile = args.inputFile + val apiToken = args.apiToken val outputPath = FilePath("outputDir/output.png") val colors = @@ -25,7 +26,7 @@ object AppRunner { encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") staticImageUri = new URI( s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + - s"/auto/${imageSize}x$imageSize?access_token=$getApiKey" + s"/auto/${imageSize}x$imageSize?access_token=$apiToken" ) _ <- executeImageGeneration[IO]( downloadFlag, @@ -40,9 +41,4 @@ object AppRunner { Sync[IO].pure(()) } } - - private def getApiKey: String = { - //TODO: fetch api key from env variable or something similar - "pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A" - } } diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index b668c91..9dda679 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -1,8 +1,15 @@ import Models.{CliArgs, FilePath} -import cats.implicits.catsSyntaxTuple5Semigroupal +import cats.implicits.{catsSyntaxTuple5Semigroupal, catsSyntaxTuple6Semigroupal} import com.monovore.decline._ object Cli { + private val apiToken: Opts[String] = + Opts + .option[String]( + "token", + help = "Mapbox api token" + ) + private val swapFlag: Opts[Boolean] = Opts .flag( "swap", @@ -41,6 +48,7 @@ object Cli { val command: Opts[CliArgs] = Opts.subcommand( Command(name = "plot", header = "Plots given points on a map")( ( + apiToken, swapFlag, downloadFlag, browserFlag, diff --git a/src/main/scala/Models.scala b/src/main/scala/Models.scala index e48b47c..69c9ded 100644 --- a/src/main/scala/Models.scala +++ b/src/main/scala/Models.scala @@ -8,6 +8,7 @@ object Models { case class Point(lat: Double, lng: Double) case class CliArgs( + apiToken: String, swapFlag: Boolean, downloadFlag: Boolean, browserFlag: Boolean, From 8c234a158a91c53c5d58d5028a487e14be417a66 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Wed, 20 Sep 2023 10:40:44 +0300 Subject: [PATCH 07/39] Changed Async to Sync in openInBrowser --- src/main/scala/ImageGeneration.scala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index 533e906..8fe5eea 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,10 +1,11 @@ import Models.FilePath import cats.NonEmptyParallel import sttp.client4.{UriContext, asByteArray, basicRequest} + import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.effect.Async +import cats.effect.{Async, Sync} import cats.implicits.{ catsSyntaxApplicativeError, catsSyntaxTuple2Parallel, @@ -13,11 +14,11 @@ import cats.implicits.{ import sttp.client4.httpclient.cats.HttpClientCatsBackend object ImageGeneration { - private def openInBrowser[F[_]: Async](uri: URI): F[Unit] = { - Async[F] + private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = { + Sync[F] .delay(if (Desktop.isDesktopSupported) Desktop.getDesktop.browse(uri)) .handleErrorWith { error => - Async[F].delay( + Sync[F].delay( println(s"Failed to open URI in browser: ${error.getMessage}") ) } From 24ad063a671959df0d187f3cbb9850e439a8d419 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Thu, 21 Sep 2023 12:32:58 +0300 Subject: [PATCH 08/39] Update .gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index ab3a35b..1de9b34 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ build/ outputDir logs/ + +.bloop +.metals +metals.sbt From 66f511e66c28fc14491e12cf787f04f832db39ff Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Thu, 21 Sep 2023 12:33:57 +0300 Subject: [PATCH 09/39] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1de9b34..9c3405f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ outputDir logs/ +# metals lsp files .bloop .metals metals.sbt From e258075ff802966d58ca14bb6583f8b39f1e6c77 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Fri, 22 Sep 2023 12:29:39 +0300 Subject: [PATCH 10/39] Cleaned up import statements --- src/main/scala/AppRunner.scala | 1 - src/main/scala/Cli.scala | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala index 5834af2..5b9b8ae 100644 --- a/src/main/scala/AppRunner.scala +++ b/src/main/scala/AppRunner.scala @@ -3,7 +3,6 @@ import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} import ImageGeneration.executeImageGeneration import cats.effect.{IO, Sync} - import java.net.{URI, URLEncoder} object AppRunner { diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index 9dda679..557dc29 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -1,5 +1,5 @@ import Models.{CliArgs, FilePath} -import cats.implicits.{catsSyntaxTuple5Semigroupal, catsSyntaxTuple6Semigroupal} +import cats.implicits.catsSyntaxTuple6Semigroupal import com.monovore.decline._ object Cli { From b87f60c3c5ca634602b194791c197217b9db21ea Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Fri, 22 Sep 2023 14:10:34 +0300 Subject: [PATCH 11/39] Moved to stable sttp version --- build.sbt | 4 ++-- src/main/scala/ImageGeneration.scala | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index 237a7c9..b7d02f5 100644 --- a/build.sbt +++ b/build.sbt @@ -13,7 +13,7 @@ libraryDependencies ++= Seq( "io.circe" %% "circe-parser" % circeVersion, "io.circe" %% "circe-generic" % circeVersion, "com.monovore" %% "decline" % "2.4.1", - "com.softwaremill.sttp.client4" %% "core" % "4.0.0-M5", - "com.softwaremill.sttp.client4" %% "cats" % "4.0.0-M5", + "com.softwaremill.sttp.client3" %% "core" % "3.9.0", + "com.softwaremill.sttp.client3" %% "cats" % "3.9.0", "org.typelevel" %% "cats-effect" % "3.5.1" ) diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index 8fe5eea..de7bb6e 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,6 +1,6 @@ import Models.FilePath import cats.NonEmptyParallel -import sttp.client4.{UriContext, asByteArray, basicRequest} +import sttp.client3.{UriContext, asByteArray, basicRequest} import java.awt.Desktop import java.net.URI @@ -11,7 +11,7 @@ import cats.implicits.{ catsSyntaxTuple2Parallel, toFlatMapOps } -import sttp.client4.httpclient.cats.HttpClientCatsBackend +import sttp.client3.httpclient.cats.HttpClientCatsBackend object ImageGeneration { private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = { From eead56cf4326d48f19d3d6c58011b2b9b211b591 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Mon, 25 Sep 2023 15:13:33 +0300 Subject: [PATCH 12/39] Implemented support for Futures --- README.md | 6 +- src/main/scala/AppRunner.scala | 43 -------------- src/main/scala/Cli.scala | 11 +++- src/main/scala/ImageGeneration.scala | 67 ++++++++++------------ src/main/scala/MainApp.scala | 7 ++- src/main/scala/Models.scala | 1 + src/main/scala/Parsing.scala | 16 +++--- src/main/scala/TaskRunner.scala | 85 ++++++++++++++++++++++++++++ src/main/scala/UnsafeRun.scala | 21 +++++++ 9 files changed, 163 insertions(+), 94 deletions(-) delete mode 100644 src/main/scala/AppRunner.scala create mode 100644 src/main/scala/TaskRunner.scala create mode 100644 src/main/scala/UnsafeRun.scala diff --git a/README.md b/README.md index 0433bdd..89b84cd 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Use your `Default public token` (or create a new one) Start sbt, pass in input. `run plot --help` for help ``` -Usage: geopoint-visualizer plot --token [--swap] [--download] [--browser] [--img_size ] [--input ] +Usage: geopoint-visualizer plot --token [--swap] [--download] [--browser] [--future] [--img_size ] [--input ] Plots given points on a map @@ -38,6 +38,8 @@ Options and flags: Flag to indicate if image should be downloaded to outputDir --browser Flag to indicate if image should be opened in browser + --future + Flag to indicate if app should be run using Futures instead of IO (cats effect) --img_size Image size 1-1280 (default - 1000) --input @@ -48,7 +50,7 @@ Options and flags: ```bash $ sbt "run plot --token --swap --download --browser --img_size 1000 --input inputDir/input.json" -$ sbt "run plot --token --swap --download --browser" //use default image size and input file +$ sbt "run plot --token --swap --download --browser --future" //use default image size and input file and use Future ``` ## Result diff --git a/src/main/scala/AppRunner.scala b/src/main/scala/AppRunner.scala deleted file mode 100644 index 5b9b8ae..0000000 --- a/src/main/scala/AppRunner.scala +++ /dev/null @@ -1,43 +0,0 @@ -import FeatureCreation.createFeatureCollection -import Models.{CliArgs, FilePath} -import Parsing.{parseInputCoordinates, readFile} -import ImageGeneration.executeImageGeneration -import cats.effect.{IO, Sync} -import java.net.{URI, URLEncoder} - -object AppRunner { - def runIO(args: CliArgs): IO[Unit] = { - val swapFlag = args.swapFlag - val downloadFlag = args.downloadFlag - val browserFlag = args.browserFlag - val imageSize = args.imageSize - val inputFile = args.inputFile - val apiToken = args.apiToken - val outputPath = FilePath("outputDir/output.png") - - val colors = - LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten - - (for { - fileSource <- readFile[IO](inputFile) - inputCoordinates = parseInputCoordinates(fileSource, swapFlag) - featureCollection = createFeatureCollection(inputCoordinates, colors) - encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") - staticImageUri = new URI( - s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + - s"/auto/${imageSize}x$imageSize?access_token=$apiToken" - ) - _ <- executeImageGeneration[IO]( - downloadFlag, - browserFlag, - outputPath, - staticImageUri - ) - } yield ()).attempt.flatMap { - case Left(e) => - Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) - case Right(_) => - Sync[IO].pure(()) - } - } -} diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index 557dc29..b523847 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -1,5 +1,5 @@ import Models.{CliArgs, FilePath} -import cats.implicits.catsSyntaxTuple6Semigroupal +import cats.implicits.catsSyntaxTuple7Semigroupal import com.monovore.decline._ object Cli { @@ -31,6 +31,14 @@ object Cli { ) .orFalse + private val futureFlag: Opts[Boolean] = Opts + .flag( + "future", + help = + "Flag to indicate if app should be run using Futures instead of IO (cats effect)" + ) + .orFalse + private val imageSize: Opts[Int] = Opts .option[Int]("img_size", help = "Image size 1-1280 (default - 1000)") @@ -52,6 +60,7 @@ object Cli { swapFlag, downloadFlag, browserFlag, + futureFlag, imageSize, inputFile ).mapN(CliArgs) diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index de7bb6e..40888c0 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,62 +1,57 @@ import Models.FilePath -import cats.NonEmptyParallel -import sttp.client3.{UriContext, asByteArray, basicRequest} +import cats.MonadError +import sttp.client3.{SttpBackend, UriContext, asByteArray, basicRequest} import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.effect.{Async, Sync} import cats.implicits.{ - catsSyntaxApplicativeError, - catsSyntaxTuple2Parallel, + catsSyntaxTuple2Semigroupal, toFlatMapOps } -import sttp.client3.httpclient.cats.HttpClientCatsBackend object ImageGeneration { - private def openInBrowser[F[_]: Sync](uri: URI): F[Unit] = { - Sync[F] - .delay(if (Desktop.isDesktopSupported) Desktop.getDesktop.browse(uri)) - .handleErrorWith { error => - Sync[F].delay( - println(s"Failed to open URI in browser: ${error.getMessage}") - ) - } + private def openInBrowser[F[_]]( + uri: URI + )(implicit ME: MonadError[F, Throwable]): F[Unit] = { + if (Desktop.isDesktopSupported) ME.pure(Desktop.getDesktop.browse(uri)) + else ME.raiseError(new Exception("Desktop is not supported")) } - private def downloadImage[F[_]: Async]( - outputPath: FilePath, - uri: URI + private def downloadImage[F[_], P]( + outputPath: String, + uri: URI, + backend: SttpBackend[F, P] + )(implicit + ME: MonadError[F, Throwable] ): F[Unit] = { - val request = basicRequest - .get(uri"${uri.toString}") - .response(asByteArray) + val request = basicRequest.get(uri"${uri.toString}").response(asByteArray) - HttpClientCatsBackend.resource[F]().use { backend => - request.send(backend).flatMap { response => - response.body match { - case Left(message) => - Async[F].raiseError[Unit]( - new Exception(s"Failed to download image: $message") - ) - case Right(byteArray) => - Async[F].delay(Files.write(Paths.get(outputPath.path), byteArray)) - } + request.send(backend).flatMap { response => + response.body match { + case Left(message) => + ME.raiseError(new Exception(s"Failed to download image: $message")) + case Right(byteArray) => + ME.pure(Files.write(Paths.get(outputPath), byteArray)) } } } - def executeImageGeneration[F[_]: Async: NonEmptyParallel]( + def executeImageGeneration[F[_], P]( downloadFlag: Boolean, browserFlag: Boolean, outputPath: FilePath, - uri: URI - ): F[Unit] = { + uri: URI, + backend: SttpBackend[F, P] + )(implicit ME: MonadError[F, Throwable]): F[Unit] = { val downloadF: F[Unit] = - if (downloadFlag) downloadImage(outputPath, uri) else Async[F].unit + if (downloadFlag) downloadImage(outputPath.path, uri, backend) + else ME.pure(()) + val browserF: F[Unit] = - if (browserFlag) openInBrowser(uri) else Async[F].unit + if (browserFlag) openInBrowser(uri) + else ME.pure(()) - (downloadF, browserF).parMapN((_, _) => ()) + (downloadF, browserF).mapN((_, _) => ()) } } diff --git a/src/main/scala/MainApp.scala b/src/main/scala/MainApp.scala index 51b1e9a..e107d47 100644 --- a/src/main/scala/MainApp.scala +++ b/src/main/scala/MainApp.scala @@ -1,5 +1,4 @@ -import AppRunner.runIO -import Implicits.runtime +import UnsafeRun.unsafeRun import com.monovore.decline.CommandApp object MainApp @@ -7,6 +6,8 @@ object MainApp name = "geopoint-visualizer", header = "Plots given points on a map", main = { - Cli.command.map(args => runIO(args).unsafeRunSync()) + Cli.command.map(args => { + unsafeRun(args) + }) } ) diff --git a/src/main/scala/Models.scala b/src/main/scala/Models.scala index 69c9ded..0ec3fc9 100644 --- a/src/main/scala/Models.scala +++ b/src/main/scala/Models.scala @@ -12,6 +12,7 @@ object Models { swapFlag: Boolean, downloadFlag: Boolean, browserFlag: Boolean, + futureFlag: Boolean, imageSize: Int, inputFile: FilePath ) diff --git a/src/main/scala/Parsing.scala b/src/main/scala/Parsing.scala index 46a8ff1..728d49a 100644 --- a/src/main/scala/Parsing.scala +++ b/src/main/scala/Parsing.scala @@ -1,19 +1,17 @@ import Models.{CoordinatesList, FilePath, Point} -import cats.effect.Sync +import cats.MonadError import cats.implicits.catsSyntaxApplicativeError import io.circe.parser.parse import scala.io.{BufferedSource, Source} object Parsing { - def readFile[F[_]: Sync](filePath: FilePath): F[BufferedSource] = { - Sync[F] - .delay(Source.fromFile(filePath.path)) - .handleErrorWith(e => - Sync[F].raiseError( - new Exception(s"Failed to read file: ${filePath.path}", e) - ) - ) + def readFile[F[_]]( + filePath: FilePath + )(implicit ME: MonadError[F, Throwable]): F[BufferedSource] = { + ME.pure(Source.fromFile(filePath.path)).handleErrorWith { e => + ME.raiseError(new Exception(s"Failed to read file: ${filePath.path}", e)) + } } def parseInputCoordinates( diff --git a/src/main/scala/TaskRunner.scala b/src/main/scala/TaskRunner.scala new file mode 100644 index 0000000..b4a9717 --- /dev/null +++ b/src/main/scala/TaskRunner.scala @@ -0,0 +1,85 @@ +import FeatureCreation.createFeatureCollection +import Models.{CliArgs, FilePath} +import Parsing.{parseInputCoordinates, readFile} +import ImageGeneration.executeImageGeneration +import cats.effect.{IO, Sync} +import sttp.client3.HttpClientFutureBackend +import sttp.client3.httpclient.cats.HttpClientCatsBackend +import java.net.{URI, URLEncoder} +import scala.concurrent.{ExecutionContext, Future} +import scala.util.{Failure, Success} + +object TaskRunner { + def runIO(args: CliArgs, colors: LazyList[Color]): IO[Unit] = { + val swapFlag = args.swapFlag + val downloadFlag = args.downloadFlag + val browserFlag = args.browserFlag + val imageSize = args.imageSize + val inputFile = args.inputFile + val apiToken = args.apiToken + val outputPath = FilePath("outputDir/output.png") + + (for { + fileSource <- readFile[IO](inputFile) + inputCoordinates = parseInputCoordinates(fileSource, swapFlag) + featureCollection = createFeatureCollection(inputCoordinates, colors) + encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") + staticImageUri = new URI( + s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + + s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + ) + + _ <- HttpClientCatsBackend.resource[IO]().use { backend => + executeImageGeneration( + downloadFlag, + browserFlag, + outputPath, + staticImageUri, + backend + ) + } + + } yield ()).attempt.flatMap { + case Left(e) => + Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) + case Right(_) => + Sync[IO].pure(()) + } + } + + def runFuture(args: CliArgs, colors: LazyList[Color])(implicit + ec: ExecutionContext + ): Future[Unit] = { + val swapFlag = args.swapFlag + val downloadFlag = args.downloadFlag + val browserFlag = args.browserFlag + val imageSize = args.imageSize + val inputFile = args.inputFile + val apiToken = args.apiToken + val outputPath = FilePath("outputDir/output.png") + + for { + fileSource <- readFile[Future](inputFile) + inputCoordinates = parseInputCoordinates(fileSource, swapFlag) + featureCollection = createFeatureCollection(inputCoordinates, colors) + encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") + staticImageUri = new URI( + s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + + s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + ) + + _ <- executeImageGeneration( + downloadFlag, + browserFlag, + outputPath, + staticImageUri, + HttpClientFutureBackend() + ) + } yield () + }.transform { + case Success(_) => Success(()) + case Failure(e) => + println(s"ERROR: ${e.getMessage}") + Failure(e) + } +} diff --git a/src/main/scala/UnsafeRun.scala b/src/main/scala/UnsafeRun.scala new file mode 100644 index 0000000..4956b2b --- /dev/null +++ b/src/main/scala/UnsafeRun.scala @@ -0,0 +1,21 @@ +import Implicits.runtime +import Models.CliArgs +import TaskRunner._ + +import scala.concurrent.Await +import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.duration.Duration + +object UnsafeRun { + def unsafeRun(args: CliArgs): Unit = { + val futureFlag = args.futureFlag + + val colors = + LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten + + if (futureFlag) { + val future = runFuture(args, colors) + Await.result(future, Duration.Inf) + } else runIO(args, colors).unsafeRunSync() + } +} From 63a15b951b025231bef21e2b7ccc6eb36d2e41c9 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 11:47:26 +0300 Subject: [PATCH 13/39] Fixed error handling --- src/main/scala/ImageGeneration.scala | 10 ++++------ src/main/scala/Parsing.scala | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index 40888c0..f802229 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -5,16 +5,14 @@ import sttp.client3.{SttpBackend, UriContext, asByteArray, basicRequest} import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.implicits.{ - catsSyntaxTuple2Semigroupal, - toFlatMapOps -} +import cats.implicits.{catsSyntaxTuple2Semigroupal, toFlatMapOps} object ImageGeneration { private def openInBrowser[F[_]]( uri: URI )(implicit ME: MonadError[F, Throwable]): F[Unit] = { - if (Desktop.isDesktopSupported) ME.pure(Desktop.getDesktop.browse(uri)) + if (Desktop.isDesktopSupported) + ME.catchNonFatal(Desktop.getDesktop.browse(uri)) else ME.raiseError(new Exception("Desktop is not supported")) } @@ -32,7 +30,7 @@ object ImageGeneration { case Left(message) => ME.raiseError(new Exception(s"Failed to download image: $message")) case Right(byteArray) => - ME.pure(Files.write(Paths.get(outputPath), byteArray)) + ME.catchNonFatal(Files.write(Paths.get(outputPath), byteArray)) } } } diff --git a/src/main/scala/Parsing.scala b/src/main/scala/Parsing.scala index 728d49a..9e50316 100644 --- a/src/main/scala/Parsing.scala +++ b/src/main/scala/Parsing.scala @@ -9,7 +9,7 @@ object Parsing { def readFile[F[_]]( filePath: FilePath )(implicit ME: MonadError[F, Throwable]): F[BufferedSource] = { - ME.pure(Source.fromFile(filePath.path)).handleErrorWith { e => + ME.catchNonFatal(Source.fromFile(filePath.path)).handleErrorWith { e => ME.raiseError(new Exception(s"Failed to read file: ${filePath.path}", e)) } } From 27686ca7e53a01d49953d89a518ed017bcf6bcea Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 12:40:56 +0300 Subject: [PATCH 14/39] Added Parsing and FeatureCreation tests --- build.sbt | 3 + src/main/scala/FeatureCreation.scala | 2 +- src/test/scala/FeatureCreationTest.scala | 80 ++++++++++++++++++++++ src/test/scala/ParsingTest.scala | 86 ++++++++++++++++++++++++ 4 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/FeatureCreationTest.scala create mode 100644 src/test/scala/ParsingTest.scala diff --git a/build.sbt b/build.sbt index b7d02f5..ae69e6b 100644 --- a/build.sbt +++ b/build.sbt @@ -17,3 +17,6 @@ libraryDependencies ++= Seq( "com.softwaremill.sttp.client3" %% "cats" % "3.9.0", "org.typelevel" %% "cats-effect" % "3.5.1" ) +libraryDependencies ++= Seq( + "org.scalatest" %% "scalatest" % "3.2.15" % Test +) diff --git a/src/main/scala/FeatureCreation.scala b/src/main/scala/FeatureCreation.scala index 9d7e082..7260739 100644 --- a/src/main/scala/FeatureCreation.scala +++ b/src/main/scala/FeatureCreation.scala @@ -17,7 +17,7 @@ object FeatureCreation { featureCollection.printWith(Printer.noSpaces) } - private def createFeatures( + def createFeatures( inputCoordinatesListOpt: Option[List[CoordinatesList]], colors: LazyList[Color] ): List[Json] = { diff --git a/src/test/scala/FeatureCreationTest.scala b/src/test/scala/FeatureCreationTest.scala new file mode 100644 index 0000000..5f426a1 --- /dev/null +++ b/src/test/scala/FeatureCreationTest.scala @@ -0,0 +1,80 @@ +import org.scalatest.flatspec.AnyFlatSpec +import org.scalatest.matchers.should.Matchers +import FeatureCreation._ +import Models._ +import io.circe.{Json, Printer} +import io.circe.syntax.EncoderOps + +class FeatureCreationTest extends AnyFlatSpec with Matchers { + "createFeatureCollection" should "return a valid FeatureCollection JSON string" in { + val coordinatesList = Some( + List( + CoordinatesList(List(Point(1, 2))) + ) + ) + val colors = LazyList(Red) + + val result = + createFeatureCollection(coordinatesList, colors) + + val expectedJson = Json.obj( + "type" -> "FeatureCollection".asJson, + "features" -> List( + Json.obj( + "type" -> "Feature".asJson, + "properties" -> Json.obj( + "marker-color" -> Red.hexValue.asJson, + "marker-size" -> "large".asJson, + "marker-symbol" -> "1".asJson + ), + "geometry" -> Json.obj( + "type" -> "Point".asJson, + "coordinates" -> List(1.0, 2.0).asJson + ) + ) + ).asJson + ) + + val expectedString = expectedJson.printWith(Printer.noSpaces) + result shouldEqual expectedString + } + + "createFeatures" should "return a list of Features as Json objects" in { + val coordinatesList = Some( + List( + CoordinatesList(List(Point(1, 2), Point(3, 4))) + ) + ) + val colors = LazyList(Red) + + val result = createFeatures(coordinatesList, colors) + + val expected = List( + Json.obj( + "type" -> "Feature".asJson, + "properties" -> Json.obj( + "marker-color" -> Red.hexValue.asJson, + "marker-size" -> "large".asJson, + "marker-symbol" -> "1".asJson + ), + "geometry" -> Json.obj( + "type" -> "Point".asJson, + "coordinates" -> List(1.0, 2.0).asJson + ) + ), + Json.obj( + "type" -> "Feature".asJson, + "properties" -> Json.obj( + "marker-color" -> Red.hexValue.asJson, + "marker-size" -> "large".asJson, + "marker-symbol" -> "2".asJson + ), + "geometry" -> Json.obj( + "type" -> "Point".asJson, + "coordinates" -> List(3.0, 4.0).asJson + ) + ) + ) + result shouldEqual expected + } +} diff --git a/src/test/scala/ParsingTest.scala b/src/test/scala/ParsingTest.scala new file mode 100644 index 0000000..1756989 --- /dev/null +++ b/src/test/scala/ParsingTest.scala @@ -0,0 +1,86 @@ +import Implicits.runtime +import Models.{CoordinatesList, FilePath, Point} +import Parsing._ +import cats.effect.IO +import org.scalatest.flatspec.AnyFlatSpec +import org.scalatest.matchers.should.Matchers +import java.io.ByteArrayInputStream +import scala.io.{BufferedSource, Source} +import scala.util.{Failure, Success, Try} + +class ParsingTest extends AnyFlatSpec with Matchers { + def mockBufferedSource(content: String): BufferedSource = { + val stream = new ByteArrayInputStream(content.getBytes) + Source.fromInputStream(stream) + } + + "readFile" should "successfully read an existing file" in { + val existingFilePath = + FilePath("inputDir/input.json") + + val result: Try[BufferedSource] = + Try(readFile[IO](existingFilePath).unsafeRunSync()) + + result shouldBe a[Success[_]] + } + + it should "fail when file doesn't exist" in { + val nonExistingFilePath = + FilePath("non_existing_file_path.json") + + val result: Try[BufferedSource] = + Try(readFile[IO](nonExistingFilePath).unsafeRunSync()) + + result shouldBe a[Failure[_]] + result.failed.get.getMessage should include( + "Failed to read file: non_existing_file_path.json" + ) + } + + "parseInputCoordinates" should "successfully parse and optionally swap coordinates" in { + val jsonSource = mockBufferedSource("""[[ + | [ + | 1, + | 2 + | ], + | [ + | 3, + | 4 + | ] + | ]]""".stripMargin) + val expectedCoordinates = + List(CoordinatesList(List(Point(2, 1), Point(4, 3)))) + + val result = parseInputCoordinates(jsonSource, swap = true) + + result shouldEqual Some(expectedCoordinates) + } + + it should "return None for malformed JSON" in { + val jsonSource = + mockBufferedSource("""not a json""") + + val result = parseInputCoordinates(jsonSource, swap = false) + + result shouldEqual None + } + + it should "return parsed coordinates without swap when swap = false" in { + val jsonSource = mockBufferedSource("""[[ + | [ + | 1, + | 2 + | ], + | [ + | 3, + | 4 + | ] + | ]]""".stripMargin) + val expectedCoordinates = + List(CoordinatesList(List(Point(1, 2), Point(3, 4)))) + + val result = parseInputCoordinates(jsonSource, swap = false) + + result shouldEqual Some(expectedCoordinates) + } +} From 4221fbf8af1cd39271b3cb23e6208945b62b2cd2 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 13:01:55 +0300 Subject: [PATCH 15/39] Removed ability to open image in browser --- README.md | 10 +++------- src/main/scala/Cli.scala | 18 +----------------- src/main/scala/ImageGeneration.scala | 28 +--------------------------- src/main/scala/Models.scala | 2 -- src/main/scala/TaskRunner.scala | 21 +++++---------------- 5 files changed, 10 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index 89b84cd..7813280 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Use your `Default public token` (or create a new one) Start sbt, pass in input. `run plot --help` for help ``` -Usage: geopoint-visualizer plot --token [--swap] [--download] [--browser] [--future] [--img_size ] [--input ] +Usage: geopoint-visualizer plot --token [--swap] [--future] [--img_size ] [--input ] Plots given points on a map @@ -34,10 +34,6 @@ Options and flags: Mapbox api token --swap Flag to indicate if latitude and longitude should be swapped - --download - Flag to indicate if image should be downloaded to outputDir - --browser - Flag to indicate if image should be opened in browser --future Flag to indicate if app should be run using Futures instead of IO (cats effect) --img_size @@ -48,9 +44,9 @@ Options and flags: #### Examples ```bash -$ sbt "run plot --token --swap --download --browser --img_size 1000 --input inputDir/input.json" +$ sbt "run plot --token --swap --img_size 1000 --input inputDir/input.json" -$ sbt "run plot --token --swap --download --browser --future" //use default image size and input file and use Future +$ sbt "run plot --token --swap --future" //use default image size and input file and use Future ``` ## Result diff --git a/src/main/scala/Cli.scala b/src/main/scala/Cli.scala index b523847..575cc31 100644 --- a/src/main/scala/Cli.scala +++ b/src/main/scala/Cli.scala @@ -1,5 +1,5 @@ import Models.{CliArgs, FilePath} -import cats.implicits.catsSyntaxTuple7Semigroupal +import cats.implicits.catsSyntaxTuple5Semigroupal import com.monovore.decline._ object Cli { @@ -17,20 +17,6 @@ object Cli { ) .orFalse - private val downloadFlag: Opts[Boolean] = Opts - .flag( - "download", - help = "Flag to indicate if image should be downloaded to outputDir" - ) - .orFalse - - private val browserFlag: Opts[Boolean] = Opts - .flag( - "browser", - help = "Flag to indicate if image should be opened in browser" - ) - .orFalse - private val futureFlag: Opts[Boolean] = Opts .flag( "future", @@ -58,8 +44,6 @@ object Cli { ( apiToken, swapFlag, - downloadFlag, - browserFlag, futureFlag, imageSize, inputFile diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index f802229..d901eae 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -8,15 +8,7 @@ import java.nio.file.{Files, Paths} import cats.implicits.{catsSyntaxTuple2Semigroupal, toFlatMapOps} object ImageGeneration { - private def openInBrowser[F[_]]( - uri: URI - )(implicit ME: MonadError[F, Throwable]): F[Unit] = { - if (Desktop.isDesktopSupported) - ME.catchNonFatal(Desktop.getDesktop.browse(uri)) - else ME.raiseError(new Exception("Desktop is not supported")) - } - - private def downloadImage[F[_], P]( + def downloadImage[F[_], P]( outputPath: String, uri: URI, backend: SttpBackend[F, P] @@ -34,22 +26,4 @@ object ImageGeneration { } } } - - def executeImageGeneration[F[_], P]( - downloadFlag: Boolean, - browserFlag: Boolean, - outputPath: FilePath, - uri: URI, - backend: SttpBackend[F, P] - )(implicit ME: MonadError[F, Throwable]): F[Unit] = { - val downloadF: F[Unit] = - if (downloadFlag) downloadImage(outputPath.path, uri, backend) - else ME.pure(()) - - val browserF: F[Unit] = - if (browserFlag) openInBrowser(uri) - else ME.pure(()) - - (downloadF, browserF).mapN((_, _) => ()) - } } diff --git a/src/main/scala/Models.scala b/src/main/scala/Models.scala index 0ec3fc9..b7b141b 100644 --- a/src/main/scala/Models.scala +++ b/src/main/scala/Models.scala @@ -10,8 +10,6 @@ object Models { case class CliArgs( apiToken: String, swapFlag: Boolean, - downloadFlag: Boolean, - browserFlag: Boolean, futureFlag: Boolean, imageSize: Int, inputFile: FilePath diff --git a/src/main/scala/TaskRunner.scala b/src/main/scala/TaskRunner.scala index b4a9717..907b96f 100644 --- a/src/main/scala/TaskRunner.scala +++ b/src/main/scala/TaskRunner.scala @@ -1,10 +1,11 @@ import FeatureCreation.createFeatureCollection import Models.{CliArgs, FilePath} import Parsing.{parseInputCoordinates, readFile} -import ImageGeneration.executeImageGeneration +import ImageGeneration.downloadImage import cats.effect.{IO, Sync} import sttp.client3.HttpClientFutureBackend import sttp.client3.httpclient.cats.HttpClientCatsBackend + import java.net.{URI, URLEncoder} import scala.concurrent.{ExecutionContext, Future} import scala.util.{Failure, Success} @@ -12,8 +13,6 @@ import scala.util.{Failure, Success} object TaskRunner { def runIO(args: CliArgs, colors: LazyList[Color]): IO[Unit] = { val swapFlag = args.swapFlag - val downloadFlag = args.downloadFlag - val browserFlag = args.browserFlag val imageSize = args.imageSize val inputFile = args.inputFile val apiToken = args.apiToken @@ -30,13 +29,7 @@ object TaskRunner { ) _ <- HttpClientCatsBackend.resource[IO]().use { backend => - executeImageGeneration( - downloadFlag, - browserFlag, - outputPath, - staticImageUri, - backend - ) + downloadImage(outputPath.path, staticImageUri, backend) } } yield ()).attempt.flatMap { @@ -51,8 +44,6 @@ object TaskRunner { ec: ExecutionContext ): Future[Unit] = { val swapFlag = args.swapFlag - val downloadFlag = args.downloadFlag - val browserFlag = args.browserFlag val imageSize = args.imageSize val inputFile = args.inputFile val apiToken = args.apiToken @@ -68,10 +59,8 @@ object TaskRunner { s"/auto/${imageSize}x$imageSize?access_token=$apiToken" ) - _ <- executeImageGeneration( - downloadFlag, - browserFlag, - outputPath, + _ <- downloadImage( + outputPath.path, staticImageUri, HttpClientFutureBackend() ) From 39dd3324ef162f7f80914d39f0450c8190420667 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 13:23:42 +0300 Subject: [PATCH 16/39] Reformated some code, added more tests --- src/main/scala/HelperUtils.scala | 24 ++++++++ src/main/scala/TaskRunner.scala | 89 ++++++++++++++-------------- src/main/scala/UnsafeRun.scala | 15 +++-- src/test/scala/HelperUtilsTest.scala | 38 ++++++++++++ 4 files changed, 118 insertions(+), 48 deletions(-) create mode 100644 src/main/scala/HelperUtils.scala create mode 100644 src/test/scala/HelperUtilsTest.scala diff --git a/src/main/scala/HelperUtils.scala b/src/main/scala/HelperUtils.scala new file mode 100644 index 0000000..0889510 --- /dev/null +++ b/src/main/scala/HelperUtils.scala @@ -0,0 +1,24 @@ +import FeatureCreation.createFeatureCollection +import Parsing.parseInputCoordinates + +import java.net.{URI, URLEncoder} +import scala.io.BufferedSource + +object HelperUtils { + def generateStaticImageUri( + fileSource: BufferedSource, + swapFlag: Boolean, + colors: LazyList[Color], + imageSize: Int, + apiToken: String + ): URI = { + val inputCoordinates = parseInputCoordinates(fileSource, swapFlag) + val featureCollection = createFeatureCollection(inputCoordinates, colors) + val encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") + + new URI( + s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + + s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + ) + } +} diff --git a/src/main/scala/TaskRunner.scala b/src/main/scala/TaskRunner.scala index 907b96f..a2fc9a3 100644 --- a/src/main/scala/TaskRunner.scala +++ b/src/main/scala/TaskRunner.scala @@ -1,74 +1,75 @@ -import FeatureCreation.createFeatureCollection -import Models.{CliArgs, FilePath} -import Parsing.{parseInputCoordinates, readFile} +import Models.FilePath +import Parsing.readFile import ImageGeneration.downloadImage +import HelperUtils.generateStaticImageUri import cats.effect.{IO, Sync} import sttp.client3.HttpClientFutureBackend import sttp.client3.httpclient.cats.HttpClientCatsBackend -import java.net.{URI, URLEncoder} import scala.concurrent.{ExecutionContext, Future} import scala.util.{Failure, Success} object TaskRunner { - def runIO(args: CliArgs, colors: LazyList[Color]): IO[Unit] = { - val swapFlag = args.swapFlag - val imageSize = args.imageSize - val inputFile = args.inputFile - val apiToken = args.apiToken - val outputPath = FilePath("outputDir/output.png") - + def runIO( + inputFile: FilePath, + outputPath: FilePath, + swapFlag: Boolean, + imageSize: Int, + apiToken: String, + colors: LazyList[Color] + ): IO[Unit] = { (for { fileSource <- readFile[IO](inputFile) - inputCoordinates = parseInputCoordinates(fileSource, swapFlag) - featureCollection = createFeatureCollection(inputCoordinates, colors) - encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") - staticImageUri = new URI( - s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + - s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + staticImageUri = generateStaticImageUri( + fileSource, + swapFlag, + colors, + imageSize, + apiToken ) _ <- HttpClientCatsBackend.resource[IO]().use { backend => downloadImage(outputPath.path, staticImageUri, backend) } - } yield ()).attempt.flatMap { - case Left(e) => - Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) - case Right(_) => - Sync[IO].pure(()) - } + } yield ()).attempt + .flatMap { + case Left(e) => + Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) + case Right(_) => + Sync[IO].pure(()) + } } - def runFuture(args: CliArgs, colors: LazyList[Color])(implicit + def runFuture( + inputFile: FilePath, + outputPath: FilePath, + swapFlag: Boolean, + imageSize: Int, + apiToken: String, + colors: LazyList[Color] + )(implicit ec: ExecutionContext ): Future[Unit] = { - val swapFlag = args.swapFlag - val imageSize = args.imageSize - val inputFile = args.inputFile - val apiToken = args.apiToken - val outputPath = FilePath("outputDir/output.png") - - for { + (for { fileSource <- readFile[Future](inputFile) - inputCoordinates = parseInputCoordinates(fileSource, swapFlag) - featureCollection = createFeatureCollection(inputCoordinates, colors) - encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") - staticImageUri = new URI( - s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + - s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + staticImageUri = generateStaticImageUri( + fileSource, + swapFlag, + colors, + imageSize, + apiToken ) - _ <- downloadImage( outputPath.path, staticImageUri, HttpClientFutureBackend() ) - } yield () - }.transform { - case Success(_) => Success(()) - case Failure(e) => - println(s"ERROR: ${e.getMessage}") - Failure(e) + } yield ()).transform { + case Success(_) => Success(()) + case Failure(e) => + println(s"ERROR: ${e.getMessage}") + Failure(e) + } } } diff --git a/src/main/scala/UnsafeRun.scala b/src/main/scala/UnsafeRun.scala index 4956b2b..5e91365 100644 --- a/src/main/scala/UnsafeRun.scala +++ b/src/main/scala/UnsafeRun.scala @@ -1,7 +1,6 @@ import Implicits.runtime -import Models.CliArgs +import Models.{CliArgs, FilePath} import TaskRunner._ - import scala.concurrent.Await import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.duration.Duration @@ -9,13 +8,21 @@ import scala.concurrent.duration.Duration object UnsafeRun { def unsafeRun(args: CliArgs): Unit = { val futureFlag = args.futureFlag + val swapFlag = args.swapFlag + val imageSize = args.imageSize + val inputFile = args.inputFile + val apiToken = args.apiToken + val outputPath = FilePath("outputDir/output.png") val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten if (futureFlag) { - val future = runFuture(args, colors) + val future = + runFuture(inputFile, outputPath, swapFlag, imageSize, apiToken, colors) Await.result(future, Duration.Inf) - } else runIO(args, colors).unsafeRunSync() + } else + runIO(inputFile, outputPath, swapFlag, imageSize, apiToken, colors) + .unsafeRunSync() } } diff --git a/src/test/scala/HelperUtilsTest.scala b/src/test/scala/HelperUtilsTest.scala new file mode 100644 index 0000000..6e75d9c --- /dev/null +++ b/src/test/scala/HelperUtilsTest.scala @@ -0,0 +1,38 @@ +import org.scalatest.flatspec.AnyFlatSpec +import org.scalatest.matchers.should.Matchers + +import java.io.ByteArrayInputStream +import java.net.URI +import scala.io.{BufferedSource, Source} + +class HelperUtilsTest extends AnyFlatSpec with Matchers { + def mockBufferedSource(content: String): BufferedSource = { + val stream = new ByteArrayInputStream(content.getBytes) + Source.fromInputStream(stream) + } + + "generateStaticImageUri" should "generate correct URI" in { + val testFileContent = """Any Json""" + val bufferedSource = mockBufferedSource(testFileContent) + val swapFlag = false + val colors = LazyList(Red) + val imageSize = 400 + val apiToken = "your-api-token" + + val uri = HelperUtils.generateStaticImageUri( + bufferedSource, + swapFlag, + colors, + imageSize, + apiToken + ) + + uri shouldBe a[URI] + uri.toString should include( + "https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson(" + ) + uri.toString should include( + s"/auto/${imageSize}x$imageSize?access_token=$apiToken" + ) + } +} From ec3cb09f54aac383c9c5dfa431dfcda622b4e234 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 13:27:10 +0300 Subject: [PATCH 17/39] Updated imports --- src/main/scala/ImageGeneration.scala | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index d901eae..f8a5e0c 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,11 +1,8 @@ -import Models.FilePath import cats.MonadError import sttp.client3.{SttpBackend, UriContext, asByteArray, basicRequest} - -import java.awt.Desktop import java.net.URI import java.nio.file.{Files, Paths} -import cats.implicits.{catsSyntaxTuple2Semigroupal, toFlatMapOps} +import cats.implicits.toFlatMapOps object ImageGeneration { def downloadImage[F[_], P]( From ae0784ffe603148d12cac77ac4fe59118f8961d8 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 13:42:54 +0300 Subject: [PATCH 18/39] Created integration test --- integrationTest.sh | 11 +++++++++++ integrationTestData/integrationTestInput.json | 8 ++++++++ integrationTestData/integrationTestOutput.png | Bin 0 -> 149543 bytes 3 files changed, 19 insertions(+) create mode 100755 integrationTest.sh create mode 100644 integrationTestData/integrationTestInput.json create mode 100644 integrationTestData/integrationTestOutput.png diff --git a/integrationTest.sh b/integrationTest.sh new file mode 100755 index 0000000..97bda85 --- /dev/null +++ b/integrationTest.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Run the Scala app with sbt +sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" + +# Check if the newly downloaded image matches the expected image +if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then + echo "App works as intended"; exit 0 +else + echo "App does not work as intended"; exit 1 +fi \ No newline at end of file diff --git a/integrationTestData/integrationTestInput.json b/integrationTestData/integrationTestInput.json new file mode 100644 index 0000000..af9420b --- /dev/null +++ b/integrationTestData/integrationTestInput.json @@ -0,0 +1,8 @@ +[ + [ + [ + 51.499619505045594, + -0.12919985466434053 + ] + ] +] \ No newline at end of file diff --git a/integrationTestData/integrationTestOutput.png b/integrationTestData/integrationTestOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..c37824215caf6a26bf0a1c07ada500a09f45960f GIT binary patch literal 149543 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 vb^*y8yya~ Date: Tue, 26 Sep 2023 13:50:19 +0300 Subject: [PATCH 19/39] Created github action for integration testing and linting --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ project/plugins.sbt | 1 + 2 files changed, 26 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 project/plugins.sbt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..95b5e60 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set execute permissions on script + run: chmod +x ./integrationTest.sh + - name: Run integration test + run: ./integrationTest.sh + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Formatting + run: sbt scalafmtSbtCheck scalafmtCheck test:scalafmtCheck \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 0000000..5f25811 --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.3.0") From 1ba31feae7985b651accbb057c7c87295442a928 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:00:32 +0300 Subject: [PATCH 20/39] Updated integration test --- integrationTest.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index 97bda85..aaa9e7b 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -1,11 +1,16 @@ #!/bin/bash +# Create outputDir +mkdir outputDir + # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" # Check if the newly downloaded image matches the expected image if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then - echo "App works as intended"; exit 0 + echo "App works as intended" + exit 0 else - echo "App does not work as intended"; exit 1 + echo "App does not work as intended" + exit 1 fi \ No newline at end of file From 8408ef6028f61876cccc43887b9fb30e82c5380f Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:09:52 +0300 Subject: [PATCH 21/39] Updated integration test --- integrationTest.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/integrationTest.sh b/integrationTest.sh index aaa9e7b..e0b3269 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -6,6 +6,9 @@ mkdir outputDir # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" +# Wait for the image to be downloaded +sleep 10 + # Check if the newly downloaded image matches the expected image if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then echo "App works as intended" From cce900d2829bec3a29b9314a86fce2adb3217cd4 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:15:57 +0300 Subject: [PATCH 22/39] Debugging ci cd --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95b5e60..afee1e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Debugging + run: ls -l && pwd && printenv - name: Set execute permissions on script run: chmod +x ./integrationTest.sh - name: Run integration test From 4dde8e1501a5501910d8b7c1dcdd334f925584e8 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:18:37 +0300 Subject: [PATCH 23/39] Debugging ci cd --- .github/workflows/ci.yml | 2 -- integrationTest.sh | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afee1e9..95b5e60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Debugging - run: ls -l && pwd && printenv - name: Set execute permissions on script run: chmod +x ./integrationTest.sh - name: Run integration test diff --git a/integrationTest.sh b/integrationTest.sh index e0b3269..f426b03 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -3,6 +3,9 @@ # Create outputDir mkdir outputDir +ls +pwd + # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" From d47f9cc4cabca5e5e10489d64747370d02e15092 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:21:29 +0300 Subject: [PATCH 24/39] Debugging ci cd --- integrationTest.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integrationTest.sh b/integrationTest.sh index f426b03..cdd414d 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -12,6 +12,11 @@ sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo # Wait for the image to be downloaded sleep 10 +echo "Checking if file was downloaded" +cd outputDir +ls +cd .. + # Check if the newly downloaded image matches the expected image if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then echo "App works as intended" From 2823ad45d8d3213b6cacd97c77f7f3fa4b6777c4 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:41:52 +0300 Subject: [PATCH 25/39] Debugging ci cd --- integrationTest.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index cdd414d..60da852 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -12,10 +12,9 @@ sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo # Wait for the image to be downloaded sleep 10 -echo "Checking if file was downloaded" -cd outputDir -ls -cd .. +echo "File differences" +cmp -l "outputDir/output.png" "integrationTestData/integrationTestOutput.png" +diff "outputDir/output.png" "integrationTestData/integrationTestOutput.png" # Check if the newly downloaded image matches the expected image if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then From de55d10dc5df094ed8fcece2abd7afa4067fe8a5 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 14:49:32 +0300 Subject: [PATCH 26/39] Changed integration test to only check for file existance --- integrationTest.sh | 23 ++++-------------- integrationTestData/integrationTestOutput.png | Bin 149543 -> 0 bytes 2 files changed, 5 insertions(+), 18 deletions(-) delete mode 100644 integrationTestData/integrationTestOutput.png diff --git a/integrationTest.sh b/integrationTest.sh index 60da852..a492f2e 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -1,26 +1,13 @@ #!/bin/bash -# Create outputDir -mkdir outputDir - -ls -pwd - # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" -# Wait for the image to be downloaded -sleep 10 - -echo "File differences" -cmp -l "outputDir/output.png" "integrationTestData/integrationTestOutput.png" -diff "outputDir/output.png" "integrationTestData/integrationTestOutput.png" - -# Check if the newly downloaded image matches the expected image -if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then - echo "App works as intended" +# Check if the output.png file exists +if test -f "outputDir/output.png"; then + echo "outputDir/output.png exists." exit 0 else - echo "App does not work as intended" + echo "outputDir/output.png does not exist." exit 1 -fi \ No newline at end of file +fi diff --git a/integrationTestData/integrationTestOutput.png b/integrationTestData/integrationTestOutput.png deleted file mode 100644 index c37824215caf6a26bf0a1c07ada500a09f45960f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149543 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 vb^*y8yya~ Date: Tue, 26 Sep 2023 14:54:08 +0300 Subject: [PATCH 27/39] Update integration test --- .gitignore | 2 -- integrationTest.sh | 10 +++++----- integrationTestData/integrationTestOutput.png | Bin 0 -> 149543 bytes 3 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 integrationTestData/integrationTestOutput.png diff --git a/.gitignore b/.gitignore index 9c3405f..18508ce 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,6 @@ build/ .idea .bsp -outputDir - logs/ # metals lsp files diff --git a/integrationTest.sh b/integrationTest.sh index a492f2e..b7dd52f 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -3,11 +3,11 @@ # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" -# Check if the output.png file exists -if test -f "outputDir/output.png"; then - echo "outputDir/output.png exists." +# Check if the newly downloaded image matches the expected image +if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then + echo "App works as intended" exit 0 else - echo "outputDir/output.png does not exist." + echo "App does not work as intended" exit 1 -fi +fi \ No newline at end of file diff --git a/integrationTestData/integrationTestOutput.png b/integrationTestData/integrationTestOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..c37824215caf6a26bf0a1c07ada500a09f45960f GIT binary patch literal 149543 zcmagFb8uy08|@jZJGR-eZFFqgwv!W^9d~To9ox2T+s4V{`|h2Ys+l`?-c_sCQ|GU< zYwwr8z5gi4iNnL;z=42(z)MPqD1m^0pZv!#;NQP^`j9PwfPnfd$f$@SA|j%rqhn%X z{a4?K^<8}%8yg!J7w^CNPQ35x+l2pVME})y5`9N|PAt8er1@riNs2nYy%OF&TYJA{OUG}$?Y zg+)X}gdOP^Ma9I##U=i$@BD7!GBPsp)bz^A$~EM)>Kgx%hK9P1j*h;;xAgT5zMHpi)weHMcwAgu+}+&V-Q6yEguT7JgMxx0BO{ZNl5S0{?)`#G zOG}%Zn_p_{$HvAM7Z<-iKeL|e6hT1zK_o?lRNON!I=vD$hW=h{?&@mKU1{#ee9ch& zCb5ka4jF+}>KG-Vu+Ths{`zhINx)jpTrtB!giBWROlt%G4uxr3msvj59j2Ho8dFLjs#~* zMd;1Z^fUh?;L+FBtMOWsz+CE{e0f=3zsvh^d~(wMTwp0{ zy?cA>Bi9FrkiPr%pxap!vc#`}5o>d>#*E3C^dtk}LSuX>nzhtZ(Q?hT~1$-ce1 zD$LgcEI)$?bjW|r5he~FtoXd`nwtM74B}j_-Cy`ctfAQovr3_RtU}Nod{7&fVB?|k z3h)SAv8xO*5JdMYnx|{<9`GmV&}uGmEI+)jbJWfEpvSV;@h)=@+)(d&XnyRILxg?r z2aLEcq=Rml5x>u)%WeUbx9jb#4v)_W%;i`DJ>AcJU`j{HmwA)$%(Bo|ej7M>J3Zws zlb|mQ5@JM?kQ;b6$fW-Y$OFhh?RZZGIZ>B=#!bE*C&Dfx)J$w+S5^N%;W!YX=PT7U3#oo?ttLt6j;OkwVL+BK`>g(X`Z5B}-5s3NrZXd=^x#)@2 z_tj3&Vko)X!_mVgh#&*~-cbd%mf_!;Tal6b_)g%1SNYt82xC`Xj?lg=*nr6H2IAoF z#mV_o4Kg~K*3tvBPy~xX16o&uI%-$O7PEGHarfoMav3TshIlsY*#`^hb+(@9iuz?YDDs-h9*1kaj8wooOFQ7@8`=6jnn3sVsEB)S(kHU&W>D^9O-)TsND=TnBewZD2&Bsc{{fhQ zxlH?10|bhH&~@zqdcf=hao{Pf(}{cFw{fhxY!&C=rSIrVxBXjd!x5TTd7uWKjQOD8 z2_e9g@(dBhdOw%gKPh*hiIFOA3KVOS$0@dumYlF)811+)74Qq%50{M^-`l$R}1wvIp){ekuW=}TWVgZ9nBGqtV?1I9C% zy0weo1L4h();v9Gzy^?OA`q~S+X_gwjVDn5-fYBosFD2qc838ZH2Y{t!k?g95aUEA zX9lOn`{2h07%omj#;3-q>YyvMua4u;_yoal1;O%Gug`s2IR?6sUqqEC{F339hi^6> zEuS|$za85>_6ldFLr!9#Hk2V+x6pHZ-Y*Hk-mpF@A9J8jx`Br%C*6oMh>@Qu(|uN7 z!(rbY>Z$1Z;)kt;%hIN5tRBMGc~BkvSZCiGLg~fq1mBW#kHyT4;UM0Cpu*70DwyYO z8>Ar;1mu&C_z16exu7R1nJ}&cK_!IcSMG-P6lxrP7fj?m$fr~&xC3JG+lZCnKq8@_ z4=xZOlob{txb72=w4U%-c5AV}d*OAC5O{n)UgL}*c}xp_(?NMRTKZ)CYCrI9vgQ50 z`Te(BUJ3LBx`0#`p9Z)34J+NS=b2#w}jlu>%DsfLCm&d4fLKK zsg43D2KIrg_^hoDw^)_u24~RtQ^&ouh-;kwn!s0b18qZqp202jqCRpw;SE^S$*KP} zj&mnmKSU6pf!B;dN8jVpUMnFN=Lkq;XoLp8^q*bj;FaoSioVsN+HIKr?W;U<%Ubzb zglNFfO!!C^p0_%>H*nPDO@9s;xwU;*F7WvDxwwcJ8#MT}cR23X)#~9j)ZAwJ{&@6w zp8J%e|Mj&r>L+*$l?3m-p4&Vc_2Z>{M2{Gq{={f-3aq@}sEr`7OEkwVm!tHk+LA}d zDk;$EpbsAOi4T@d2%bYo0pe!g$oja{LlmjAzh9n{&l^P!t5)8MfV%@Wo&+WoqX&`h z56`YCYBghcgnaHiVU56JG&h#d=hG4&mQ7e@$R(nTRHJ^p6L5D`C;VPp%OIB_J5(!cb(M_kUi9eQ9H7|2)$2p(P+ z%t&5pauDEgo1^+Nujulp#&_k!jG8vDfO0d#g}?fsq07O^+$(-@82F{|yg#geKPzF2 zz{um2UyqqPglZo(`jDGnd#kQ11W=$3kHbA*#I!NssS?41RlZ|U=j&bOOq-c^YEbc} zeMZ=>o3)uajrS67)N0QP0bWkpUU#~Ef|Hr6T8m>AgB9{mJY{!ofPu_3H-Cun+ZTcXpGiMi(xcd+C&r&86EqJV?lVHDh?$#g;6G_;uav ziqaTR$7pCHn0S3Kb$A=Le>LYm5$gYV7x;3zzaC%c+U$edY2@`|VE6RpUjz`Ln!!Zi zhKDRVy_l1sChawf!CL#*r3_t{N}N~ZMrxyMfaU-3Yjm1i{17*(LO60GRNG*qs%2Zt z!k6?aOT-qBmcc6M>y4T20)M1MlL+_)TLQlm9~f3Q=D{xAb*NHo)pKN;{Shx~p!!vf$+%20%;k_eTt zg0G$>!L2g>bF4wtN_dB_(NY+Phpnqp+dk+`$O;nR$AYRHynTEmmAnz^G57&-pEakR ze0wlUX<41mUtRMw?JjVC(S-jo{p=>PHsx_zMd$q*Wdfh6JS z4tU7z5k?x-#x}U7y;6)HuE*_u^#~8$+dd{MzMaB`IocY217hw(&v+U{a>(-ugIWU) zd3w=5=x~7ZMx!NuRY+94H*zzTH6WRjf5%fkVEpz34z#*A2q^0XQbC+CjwY8X$2Xh7 z56cXx@YJSA>DiMPDeaa|uEV+`ri4V0 zYs-08h}hnsFnO-rt2SwPJzVKz^{65-eq$#U#qT3*LW~Dx-(f19Bqj#Q%T0B53fq`F z88ol1UwC8~qt|@M*{~sw=fx064zaNx<~Afh-EmiCQ-m!9*LY8(dpN#vMu6AMjibL& z*|oD$j@f9ahfPyj4EkZHFr+zR-4b~cIdCYk`1B+6H0b0 zg5`a0T=J)~NZd@1LsBZYV7JP4eC(&+BVBXtQQO@#kEXY`cPrPs_~7cu^_)pfqA_QWbxGOqmsa0B4!A zN|js71~sq83J5KN)!doqhD|;FFp>g>-Aj~UcHP#XN=QZxz8Ck4 zs$qf&^U1L-h4|fLZnzL5jIqSvQk@=qhAS+E~625<|-V;U7=V#kO*e zF2~xZ1HbDOzmlGZx(1saZL%B(u{`EQ(4}gImyS)^sjm3b>)(+bx=WBcoV7seGuG+L zl|*cB_xAWj4P|!GoS0K!hqli3!Rdu{hkpD8@PMESK2n{1K}iB zYx@G1&kg{_;JhuH7eKO%PkiZEm=8gRSggq_3@p5P=9~z&!`dI{R*BJCroA2HMqQet zt>sDd-fl+cCUjEY`Ykx0FeTT;dsyortn?7kPf(&G-G(2+h;D$G-u3srOF15o>dx@9 zyGBX?{6Ur^#rVr(9lo^p|Gw*na(80*$(YiIzjG5pBj3GBWxy<&6n@0GA7MMPIH|M|PWA%hj8CVGw z1*rG#i74q*ur~Q?PuPX$iY1>2Z6^S$Syf?3B>=?8zC^2#Akde%3Jk?qGB0{!U=PY@ zoxAncIPUs9X+NV&E3k5nw+(uh3#Xe!4xo{he;Q?-v57!0LXsG$7wRjOc$!09#0dJG zvAwxrWXz*QFa4xzt*)n@@gFp%8$N86hdb~}+cTX$nCd=SWr5=q+e+@gzwzhE8unWF zNE1~WOSnideLv9aqF7fQtzOSlX5)Hd+j>U8Q4c&jnNuU1DJ*Rs3q@4pU}fzrEyj7- z4NqIXN9hjhO(Nl_f(YE4Bsg&n9uchVv>%x$>(9?Q?2$l$&-OBzz&dgfx6f+IMas2Wzih@3GX%t!rn z{djYj)Yi*z3HHYa0A?kSC4XpGR+Lk)5+=m8#Gms3)yTX$iE_DM!_W~S9~5etSTJtD zC45b>b7l;F;3PL5UAVH8tk+r83~#X-KcJ1k+>i9>IKmq*8S-WxqKx?`x=ljX2ehGM zjTq9*R`9REYMjsbo3-(FjC-EySr+In)gxF-8l=03^=sBct0^Kn!x5s9^o$ zoP3a99s4)q<9#JNV0YGc6FJivD6PxW*Y$?lM5n%8?flE#0N}W4SQCT>EyjYDFQ!X3oQ#V&(9;$i=d2)s$is zN0Hvr%tuAot4mtE@RqP^NoPwm58T0Ht%NVA1{xh3Hh3+@&)c5yK@5xsAtfTY+*BoU zJVQ3T0M{Zb0Q!i^!Kky5(VJJ@@TW8WNrwC2mCDN3hCLnB417wZD)+2lwBO~|tw{bb>{rRDM-bdXT!Z&WKatEF|y9Rnlf?!faXsrnd3EIcOk zco30zIcSq!&RqxIvxA<$FdVt7OfQQF`MtlfMx6SK#FeH>$=v!Z4gVmT6LrVQ@Ddm3k+i7j~%8 z9{11C4)e6W8)Q{V{H1`kE3_-BAdU@;NFMAkfu~{#o**v78kx@v?o_&^6>0ENlG0UL za5|2eerB1`dsX#M+ov}>dMr__;L2ReH|6TMXdZ9Zp~ag#QM_^Y76p+tW2EujqhG>2 z>6(T|GFa~Jol$%QR+5lAMK zB|-f-Ti}4-fDGQ_tO%&iKenaFHY+zM7b0*QQvuIsf}k`Di;Hp5L~fhs|NGFQCNd4* zc;x!yorW$qyd-iVt4r2F0ur83FC0HUn{Lm$SflY8P^qR{g8K2CEPTBU>ym85QzZ7W zcN`+F*VmSnuXjmL=+1V*>X&ypX-&f-Ri)m+VooJ<1X*HsJwYD+e5imIvI6FGJ*M9g zE^f|Tshj?pROx3p_T+F~oW)`@%lQ8E(r(Q&LjvmCBIiNFs&giK0TY5-8MOz18%frW zad)d4d>7o~w!A>Mn6T{cCYSbXL?)ss|&)@EdCX1$vF(^Ji4cD#Ooeak-GBy)%VwJm!%HNhdB{{Us)YDWw!@(EO-6=4>?7mj#(j?t9QDc5oeczk3 zQvV{G&d_HE>VWoRYArT(0zF&3I000PUQSNml$)_5-FMdAX+pkjsIZOyibf z3HgU-tj6cbBk{f%E@e8M$jyHX^pMM|PeQ$@>P%ulI`PsVEfx2Ifs}7?Cr(g*x(#C* zw@tTlN~A~gE;deJ3Vz{SFB84fv)tI*ZQx`ij}WS8`e%Ly*aBKR%EFJnVl`h`EZD7Q z3=iTOkT>s@dh2mW!R`$3r>Us)OYNfS_@O@rG~USgh}AaXvPnMZC^)Qam`F) zDAm?K$a#c5mbWz5%nS_ku_hfL!|qOA(7<$-G^3~VJ&n_&56~s3)nh{|WrJsDr764x zr7DWSXai3ECy%1O%* z6-CE6;dPmEJYENMU$+G&YHc($B*`8U(c;QIXKIJulNyQ4lxSJ8=(Qdsp&;qxY}v|t z(*-v=JZEQO+$=4FoFMJud@dHIhln*bqsO4OhW#4Ckyv{-dJAT)FYUMT^qHp#5_l5-b@mI&8?_2)H%36ko%jqgdC<9;Ms!fp;32^)0*Ju}*n^ zW0ByY_Pe5b-0VUQX}px*d1o}?y{E2P!W2WyNDt(|*-mc6{!)@Ir&00|4?r#A z3f&rXB``@t;vBG8g+>i`qU_@eJ%2lC}I^`3XrY)u0}*Dsj&iWv|Rr zdRB`A2+8w7du_K`v`+m6vk?tm%pnKhx-PXsuQ`B`gj5J6sQb-ou%P}JeqBw{jo=Jc zxZJCBhY>Yz~0OO`-p2{&8F z_%Xr8F$b*zWZ({rcuWbFfKPmJKT~Jp#IJ~&m$T9 zyon%7iZ1(=)C4(HxwzO2InCMYs$_K%BJoP)QIUjaU0+j0st(1$)lzx#7Y@6_lQuuH zf-4W*Z)+nrq{yE$=TE}(J>ko*GTXto5(h}TGANHZr9A3xUvXiM3%8ep@~5v0mwSOq zaG&{Uzvha|E0B$&OI=Wx3X{sM#u1tGt-|tzvh+mNr`JHdg4M~gyWEuepA&90+kFXw$6ca%Ei2c<9Q% z?rXWd?Q-O+B(Dc9AK_HG`VfP@>XtBJEUIf)6k*Qcs#~Y*ZvIva=m}*#*DRS?uLe=c5pAZ zmI$%%f_1BM5shlSm&ZOmajFNPSws-=S~(^alrO*kWn&C0p3O~NN}d_*9Z7k?rP z>g&*RvGj0oCAF^RlTB_l#W&V8bC1)H3-&3EZErx#g^#TM7aZI9l)TcB3-syzCc)XU z^}1(ne$*Z6ia|ieNw%tL@r4WH=AstSykB&jn})LT<=pdGxJP`LExqXjeFR=`*N{A3R3 z8~N5BOgCu=9gFs0se4gDrDJ8VUYwt?L$4+PUFGhfX!Wy^q=0F`DT7G_j7f9rLTz`P z!>s7!Ra7xnPQ13f%matO0(a*yd=tO&L-P&Eq6EmtR~Sl!2JO5BZCI)|d$h;4h|yEm zkvT83KSh3Uvvp$VM+f6dbAe0<y{w1&v$TBK6xj^^$AjbT?h}dNtABM1=pH!z%35ttd9>? z`XVZzw#|4$7M@FS-v&G7$j0Q+bOa{El0agEvj1fDQt%`57BUqBDd@_Gqj?#)OJ zHaont&TnM7T3I^*FQaGhi(7>>pPZVyLx0FEg)DX@Z7}E!BB-=%CFU10&#}o;X3}~y zm39+a`&vv^-UfR%pV+~bs8a;bcf}sW-ymHl{&p+nR+;Zwr8KYTNwINQqk!w%MIj;4 zTD)yMY;JgRKHYVqzgLu=1%Avf*I%vElR3nxs}NK0(TjRlkPpzSPV}0qTTL-wM9Z$g z>$@b;-wl^pfAG7R2@m16Ti$r3;&CT*l=GCLc}G+#c%lcNO`vE(!ucXy<>=iwk_sr8 zWxdK@P;(0Nbcru-Rc?`dx)RgCAFXI-{x8@@(?&dnzhqH7V1!M6Qmja6Yja$EvQG); z{$ijqhta@OWX|R@r;W0iL>$IS6qK}v5n*cO*rzx~UxLr?C1D&UYRqnq&;F62swIv%&&-=e7*Cjy#W5B!0dW%- zZN1rG-)7=07uNUtfz!*B`whILv3&w^_@FyVY1G?xTLZUm$0w}h?bCN^4SqcUPO*iM zr{R}}gM#?PAx$6?@pX*ca5*ymXlThml-N&|s=WO6&;=~4wK9dgqH+KK1lvBm8cYf_X@KBkIvK5D!I>|*jq(^5*js;OU!_(K-EM|$ zYOk7YA!o8YM|bTWbH8Z4noBFGgj4v|s8l&B>&fFq<8=EI4U7!Ym;eo7WGri|V7FD8 z2qw9Dcz()&RKEUJhB<%O8Mm=0K7w=mcDhS;oBvR_M1OUPbm$ghno9c-6R6ud=qSjj z-=wpOj@F_u;CEjE$xSuh103AdxoUH?E{w<;N%Dx zS=gXLEjIsy7Dx~SNNQY+=5B$c`i8|Y$2(aN>p@V;>kE!{ixQC!UBC2WA%$p;EPh6= zwl0r_*F1y1{pvu))j7kKydSprXuJHEx@iga4y%85FiL2;Cz(KK>6EZB`IO&f%Qc0K z37dDAln8Q%c|DbmUVdl|;#aS>sr{p8v;J#$Zum){WbHDR`OA!lS51kDUwdo_-AkxWxlt}YN@l9{H2ltZkoTF%*)k}WD5#sV3=gs zwkseJ>FN-(#KA>A)Z;+`Xse+Mye^!k6_hq00^v;6s)Nx3Fs4i{+Jh7b))QiJxmssshz+;`HS*MpOTtN<5!!8z< zDcRBZSC`iwOY)N2xxFQsb4%>c7ITh3;9mkSy)93>q|0VZiN zQ>Aq+v%?nV?s?pmb{Zt&xl+E~(4w*|=1ppi%v##FyifV=gzFNVAJ3nt{DBIIu7gjd_(bQ)D&^{}6Z37rUdLZ^GlQ2apB9%aLoeXvfV2&YWcF2|86+W3d7@W&J;i}f1cpMXfh^MYqLm+N(B zo>Gg#(9Y;a2k?S~5o3n|DnodMCub#`F*F=1Eyi#dUnE_KYA*L3;&^|0Ih~8fx8nTG z)xQlXQfZD0BQrtx&^-L_2n+QJM3Bj3nd~~?tqm{d;lImZ6@ohaOo3VAG2 z1=*#X6GMuh6Outi_^2{5CcO}igfUQ_GjlUG@O7 zXTKk~p;<3paaAej@>b7jHe2W$lYt4l6B4k)8#+XPllmu}Te<%hVJ;kalC-1o0qPXM zku+EP0t)xT(AL|TG=+a@^NzO320Hy8>&)Ooe!veuhlJTvyfJgp3D`zOTXr?tI%|vl zqpb*V;Da2LpKx4daU^Oq<|zPAL34H{PskP#V)Y*~PI{U8&FTzRF|lTh!4~6`teV$a zg`rVH;y;=*wfPA6r?PbP?)>Lnt2c(94?OJ!^|l(r_G@+V8Z4VmJ+Ig~WrL#z6wrsP zqJp>v@|I!yXkTsz9cM#JdMsn@^YldZpbx6?~L8b6@V<0e}&9q#isjM8|z+7 z!d~Jdw?7G7K<;g)f#Y%W@BkH9lkmGs5`3XuP_?x?m>SZ1* z;yr)z6Sm8@q72IjS^57o25s26nB@saQkxaFmAMA&HRg?E*11tua>j(?Hy)D|qYuh% zPX!wCQwX)b&4cXOyPtvk7FiTBAG=)Y@Y?ZCnTv?SF;# ziWkGP+?Y~tf;xP{_!%Mgjb=`~jr{D9&o9?7Otj*i-0K8k{FMIu|Yb zjewfkVZ*;6)l!-bNMoh6NqEm`MF?GKilhG;T2JRggTtxPh5uM<3nBtAMeLL=S#aVB;mR zkM=(ZUjV;sgEBd6voe4Ht+v!@ZD4_<6xJ!o*S^=Hg_rAU`1?Y%*lndkS1aTmML{2a z@<&=)mUK&EHL_c?tB$XBdTV(WL~s^1$Bz$6&s2)SdE zaH9Dv&VcbbD_J(LPiPQHNH8xk)X;KL=DT!)lj#T!tSbMT5w&Ew7w>-nUkxZ%&>*Zg zAV0%byO|_1qAHiYoddTqt%xl(F4sC8ffM!SE8k}h1%h;(4$DA4*&VqLwU#7uyHg@D zx?hH$MIts`9W#3KL|yRDAY18e%%@W6^dAZe^z;0)Tov&=uWtveMV>fUS>G8|c_x`C z8ZGAysYJW5NM@`FzL=QZIWpZ;$z|02n~p$0gma!O0sRTY$fRF(m~v{~U&Cd@Nj!Tw5$V9fYH9`Y-&UPWrT!xZ~T#QfL!bUcpM40(&ZKxbF5eGjtok$qWFK&!QT4a zqW8&JYu~Vs4a>j(He!J72W3|)8TS1EBu#EU%#%p|-#wK_M`wy#KdBKf4N??nSW(PG zPC}UwtfR&ht+{CyjI#1bsj2QLU%Tu@-+s2z*c0cTN}6M)xV#|PNkr&5uIwjTOEwoE z6@y&}&2u_*q3Th|!g$t=<$TJ|G@dN_4d%-ofsJ?Hm@sW_QP$VZnJFPU;TO+lnX~!S@NA~b zpE;AH`@06+8x;X-muNXU2g#Xi$oS**A({puaz0zK)WJZk96Vb@?V@fPS@b@bcwLEL z^&LErdHW)@CA?qeM#&@&6w@8vfU~AzPMpu=ylNx=7$2TBjvi~}zrPraB7`cHJ3~)$ z+XNvLc%=VKA{?Nm+{oE@N_p{(RnE7?iph_6=qb-3{8od+seRGR+`rqPfV}IJxvd)x z7*DPq{;X2>QM_*TvmKNB3yb0P4?ANhf|sh++O)rwa4@`M-rlWO*{3rBXQc_BTQ#A= zi_4DPLI<|IKwA5+U_$;DH7>u#W)e<;Fq^10)W|P11;nv$W~f?~pb4uWy%r}>;DVd_ zOJoDMD&&Fp6e#u)2j(jN$qnmqFkPRhfT-3*+|?{RG*R&*z?Y(V zLl5%Q{zFRu(k0q#8a;DRA^qzfj<3q3^V||%;b`2Vvl?W_;_E>A#l5k06PaPg!o#_= zLVoh!ab*1E=`UjhnVaz8$dgUC#leT?S2 zOL6{r=*P#PG7GIfqTjfK{uZ>r6`wrq^JuHkO9xaQ#kJC|C#ppGkB7(>tS zi@V34*8Mt;y#D-NOvw`8b;8Znqm|2?%2<|rs=F6=$gOY;)qnl}kVBG!;1pSaPnJne z0gpTcBu^nf^EQP{JAqt2gxzwDTr#;`Ha~In~ynn45j0Az-2}lhH%18;!ywbp4UG7?KXF1QWH~zGAaY2VbS_qtim$ZGk{(5sF1f zLOZh*PRAGi9}Fek*IN3(U-j#8IG_~s{0FYFSBmR({rgd%LKXfq__D~e9pwGsJC2^>y>VYo(OHe z6{;;FyE)4}y)5wi(0hZ}8$NspDK}LYKG7iuHL1Xda<`(Sa{G#AAgnS zjlGu`oz>f&7$D)<6n>wU$r%Vv*LayyGrLUpdc{XTz1%Cvs)N>jzrzc4=|cXxyS3F5ZOM#bTcE4WvMPUDnFeqFv$yzeTTAi+3;ZH_S#cnSn~SA)?QCLP0^}zFN;gs zkePv#&C8r!sDmMFk8%JbPMZ#Q@%&Wxl)3pieM{@BFY$7B%OlPBYL_&iI_(y_y`X}i z6IDQ`qyrs?{*eR_+y}2F=EwtSGR`30(Z00jL*$sn3V7rxaWAr7$SYEdWUD)B2Q6+6 zFu-9|bkRg3log=)Q2W%PKA}{7`2FXd6Zfcg;{QQ1OM;{|c)Y1|?duztV>?~nAGhY8 z<*z^=+`!&~n!kYl1(U6vL*q*wMPSqi{)^p~;iE)b0smZ@JWRQYy`X(Bt~)Iod@kS`>FTZ4iE!i@EFpD(2TKz<7s z(9b;9xBd#2sUDty>;?_k&LmrAXBN3vZyX8K_r1kYo*IIB+SUx2IpeoZ^1EdQ5n@;dcNbu{{Y7@H!^kg;aQ9~o`e}K=XCO$(q=C5i?BWUUOuaC8foq5N)nI}xX z*H}4yEX{hD|26m|W4g<1k5xPw>)cuxbMC$rTt;)Dv4FF7{>SsbWSg_p`eL1_C2Os5->a0UbJ*~~O7ZZc(v&ov?4wcBOH zgW+Z!73I(8qUQgwx3iz#nD5s$)dc))U0uGwkJE$_Edv3=R^U9U4&b|g{iwJqncnI` zp7HbGshQpWyxBQ=+&?docY%m}xVfG;m+uG5`ugsMw+|&Z-8YN!3{JTzgCXU`3}ycox{cAVP6&oB zkJqSl;(bSo=wh{F6C8S&E%!y5Mw6dr+#w8X*`1)+g8ujh33@!GoJmn!WQfMfMdcqW z>6=uZMZi!rzNkoGP0H5We~zD-5D_2hGpdw3eOCu3fbY7MajKZ`ds24m>2o7Qa{?3ytq) zkjIH|lW>scPfsG7P%w;NYZW~<7YoTci&k2{=98%mlI9jMu5q~aqnwktD?@b+EeJ({ z)mo1@X0Tvx`~IiV3A$4}1Fx$+ABtC`ZGaJT^Z3^5zC2^DKvrp*8IJ_&9Q zz_+TuYLTmUJ*H0tl0HxUa%P=+uqY=tP4ej?8nys9m-C(+(t_V_M!?$siWJX!+!duV zoJkI-;r+*_{K3987cnnj#0CU;B@plS0;G(u3S3!U&G#G!H3ij8c`cSj(~g2KN$}dv z>@afnuStkaN|-n1=AP!mSSC^$yu@j6XyL93J|Dg=Qd#<5EFNR6XLN8!tkU4LAvuMm z=Og!+M+(XbF`u5UDEzZ2{Rg>#nRUZo7bLvs%=gjxur&R>Ga*S0V7@wTcUxC!^gT`n z{cMM^O8@yo)laEGclU!71PY4-7MiaGGxyxW>_ZrD4j(MTJlTo zs{f+W?gQOt~eg~kI7X3-8!?5;gevTbI=j!gmS@RJ@6;`#8bjd z8qI1cE2nVc6k+c8cKBmP+~d)#eX->l@c+WFvWOwA_~3eNxgmf2@?tG_=Kd#zRh5S_ zI;Av3mT3Z`UahAc=y$(aoPi59<#TjIIj_ZTQyV*n{0Esl*sMG zJDFYz=qj7p@x+~ZrqUl*I_j3KcTZb8zvm~RmHiA)`TdE*p;z|(q5wZQR}dSI25U~$ zU%Oq)L^pOVGkL7p9fy-pr}%!@n7v7SK-_0pa?Y&ID>VOT0`lu?>fRi{e*sh{+J$b& z3xoCrr!WD3nM$=W2)a5Ct%^c}J~w_A$3ad)mJH==oN)^FyfKv|7f{gGsg8qCwSJ}; zooeCApU@WDAoZ(osWIYU7cjgmFVEh3Vo++afDc#vs@MABLpu3o3TwvR)a3i&8(W@C z*rD<#!Ex-Uo=IYVZT;+ZW9b>kj;qZj6LY;BtM=&ej$`fXbV2#fYwZ0j9=S`$)IWRS*H8jeC&{@r`Uxr5(S;<8utu6G^uM@JsFZDA7xLW|H( zX1*em8_9>n3`J8hv&mAxsKypwq8uBVLt znwpFIC>qo&t2=9%t<-4sFE_qPN*5`p3g3S-{-pXRS0N~NS zhv#RxwPIICdV7P(UPV3khKg1G6n8=S^T~n}?Dc^BI>bHy!lo(9qRkYy%?pR9KlSqq zz&ZUZh{t9V^!D#3b>KWD#N6R_!7toNty@BcqqPY>vV#G{o9*wB3S|p+;}n;dx^P~9 z>#WPBI9)p#;YtnhZMx1aa!l*r={|y7S({-No8v@>&k!DC`HO|V{OXGGLXLPrR26Nw zx(*%z{{IPQC(2D*``S%IfuH{3?ow{Rju2Xaa6v+m6s)^zzK1_hzH=xa2!v{DY{xFGNdCn@`43!IbC^o$0%kHo^m^54)52!v!k3j=qBS;1OVu|_1 zTl_(U5_y9eH^cs=f~58s*(Q_(Q@|8w4EIOm(act&mPPT->@fute-eHT+B>36UKf$A2_^htdt_BdEL@QVav-Bms3YBMrWF61OVRmtoz@D4Ub5HmCI1tA{ zd#wg|9%$e6MO@Slm0naMmho^UweYajLNjjB>%eOPwNTeEY|O3f~RV z!>bzvK;rJq4{$5}8Q^Nu|Lbha6#+O}dc!GqvJ6%OY!dctEAbc(OiM-dJJ^q?ql+XS z9fp&KVS0u;1)-Mq9tRQGftBtKI`_4vvDGC2ai!aByPgVONu;_HY+x}}8mvcF=wOAv z@oDOa0I=tRLwKWXsfD6Y3)kj5X08^u*emk0T3Z7c|TQBj-`aCXxE8UYg zDJ8h`dy_Y(E%6U#t`_BrSMKEke`6O5Tm znNz28;oRiiVl;&su%xdoV@LzZqBV;!Cvunjux7vy!cv&daCnw3H*vgewcVHD$T3QE zt@Wu^yABDj(Xeb4a_j#PEJ-FcJinWE|GY6?sGML6V_qUw=t+g%4W6ctO})H|!_@Sr zxYJXIxTT3{jrOG{t40lg`V_K0p@ysZ+S!4oX&D+jiWoOO3j;;rZQ#qms_?Smo3a@3 z_(=QU>;ZZY+xvx=g*NL?;uSd7246Oh$a->EBc~!9at9&PIV9xZCDzg`*Od}i`mstG zj&Z;i)0BT=kdb-xI8)R8{;3P1$!<0(FEXM30SJp{fesrdJws~$>N@F>mMB}@9&hd& z@4-GDmLwC*npRn1YqHM%*Ux{%(Tfx26fW2M)u3m(ZHKpi$|1TPN(FO&%IR(EbauhJ zcno7v8CS+!YS%Bd4gc|!f&CWxF#*Ypk}VfVQvvT=F&oNvpysYLF;kUSpuoUt=J(p2 z4C%A@D94)=vb+h)e@wV}%#=WpQU@~J6nav{5oUEU-yNVOT6E7VSU06F3@%x~hRs@7 zr(I&K27wchVX-mh?s=oJF>_?)I6asdgG@yd36fdD?c?S%@6D3Ys0>d-TjuNa{5?yJ z`l}8-n^H%=7;29^QNDrf=ti4N>NMy>SQM)B@b2)d>`+` zDs|;OXdz(EctAq`vqhf6_;r`j&I|Plx)%P117Nl&iXu*~Z=l8;+1=ib%24kZuzEL! zQtQ9rKVNy49aQo?cqR`Ep52#TOt_c_6Z{D}p_%59JZ>gRis29>iaZ&an$2GB%1 za6ARcSpljt+12tmx{fWsJ~O!NJ_F(=Ns+WBHSq$nFZQ{?1vGiN_TOZ|%E{qT;9CCf zXP(-s803`6p-=_TlZz7#dK#7ZTN^3ZSybd>dDz*VheV`SR-BO#Brh46S}M*xTb zV}%PXcchf2^jj&>Fu0TRX!`QK=oR*Z!IWYEulAP+Sia2;PGKZL0IzTicBK{s=?25a^) zB?lV@leMi%Zb?Wo)T(Ij@Cs`8@SvUStVghN(~et-qxEKU#ZCq4*0Ihsq-JDO?|4S( z)Os-TTjIU{2kZXeBg-&>4)Dn&Dsr{w#SiSsc8x215YFnn)f!ww=k1M8SK7E&{NZH! zFh_XgB$e}s%HS2(D?X#UK_ds&T=<(j*Cx;W3$D zMjFUOSDxmhv>)`UPu~XBD$FM5-a^;MP|uc_s&p#aKxrfj9US8})-=Wpb_|B4oR3#i zZfqGzG;J7czb(5*O%p)aFHV;t-G45- z(4l(6;l{t$M3o+iRWc9iGm%d~PW94?#zIizpPMa*L|S zCSBXcwvnUuS>J~q==(=;AgR?`a2^`9?gZNp-T`DBg2XDP{YDlT6xaDv`%28|FS1hG zyQ}3x9%r15Nu8+qxc{#kFKeiAWg-dhxQfVR+_`lhJeiF1Tvc2&2{gNi{&4<5T1^Kh z-T6Ar=jU*sr8Hs$}9n)ujTHfdfssL$%=Qg+By;;H2ftmP)f%`z}Hh@vupmk?~b`&lBD??Rv zpR!N5hIO&xnHmn*?|8Df8r4#5NUJD8OywaAFHvp|fm4~VNA_$Pq4>o1o<+}_I1LWh z1D0o;_aVvbM?UcfpLB~Rg%C`wsoHQbwwW6BR)$Lxgo9qdw^b&`w~dWg<*wI7ZBNhT zj;AcJcleFk(OQ>U5p~~a9qUd}A_ z99wi8Su8|$RaqMwtLYzI8q!!|AC=tspO*%!o|3J+G?ojRO08AHPpwo4NnurI=P#|4 zkx4M=1dGF+ux&yeBYD`YQ$GrFJk+g_U_Tx!}aw_oJj-hXjZ7D9Q2Xdy;> zaHpJrIGZ2aQuh6_cUFK`*HRsrGOujSExo)L^}qIHAXt~e5|}B|Rc}>!dZD{t!5Kovw9V{F))CYb-BcM%k-sxpJt}s@Y=0b= zRlQ&1dOxZC))ohCx$u3@=ys+T8`pmE=CGIkzaO7#XTuVN6;#e{Q0iaPgdeCM2F`1y zO9E$RB0GlAPLMqlG4Ak+s=@j1GAp5dzDGJfE~yGD1Gn{ti_9GPP@<7wMG9wNu_A7n zvUapF;`EI`B5i`!jk5kUOu@3VBc;EmN61niK~sLYDg4T&`kCP) zJ}3&Kb4Eq5jH)m6MF>xEpP+oSf;zh91gkQ=s2tRZx(<~mezW;&+fYLvEfd~1b??iI2a;D{j zMHKw@SCJNK2zUu`B&^vfLO2taOT_hy=s9d7U8(c{6cehT|1QCGCg<*42=Pg(g^})@ z5CS~Pp-{!X4Y|b`vdfZnl5?{PYwC2~=GCJZ6rI276_RsJ2k(QYl?$tXuSZ)l<$W8% z{E^?dm1%q22Tt>{bk)tE*M|Y%qjuZT-R5Ge%=tp=6-VjlQ=Bc$fsL~WPznk_Vf^+w z#weEkf3jlBne}brr3Sqvpvd&i3LZ;s5VPj1EG}gH#)Et=kslP3!s_;=z3kU|=&S(s z#O#(B*k-oYE(7-7LD;RvEm($TtMLCwZOdk*6p6ob<~qve@vyuWWqT8Bhj6xCPmwEq{=Hgh;~(h5ruNia$9 zYWlXW$9lf1peIss8iwe6$0E6xewOSfWNsNS*yaTEak_!WrmZX18~%ETaT#wGx`Qa; zX3~zG;d3-D?Kg^awi>}OvRcaL_NY*WYdZ5HJ{~p{NoSlxxTpz8WxdI57Sj%>R`4!a zN>+0oJ$hvqtrRH;lV(;n&xE7fS9+>k?7kaRMJ&Se7lA40AI&O(|0HLZL@<26b5B}g;oU1{G0`<)4| zdET^Yz)uuDuyi6GH?!n_pRM)X;QeQeA*Lni+UfMa9E0o1Q*=TQi&-p?;if9y6`L)MjjfG17?#`kh{;*#SQ@JD`gjvQa|N-bn8-fnQFcv{anq{n_{R zF){49whgJQ{``aQgOw@9;)q?C#sw>O?lq`YcbNOObS+Pac9q_o_>qNGk9ZRwvs$jI z)J#O{AsBp0eE#g~oT+Lx25f?ZjYoz!m_Jz&Q6BG*?he!Y?g#4+^c_!f_&aws8JsYC z6qfW0S!%{>gxqeOzwg;hA8B0YxF}_BPL`f`)Myt~UT;037w}rxLddBRbKY<+LAH*6 zNy2VyF*2OKja(Sau9({8n zfT9?7bi4dL#ZZA!NRfonYkhO4qC;fMVRAH{jn9d{5X%#DN;HcqyCf0ozekq~a?YHDyG6g&PVq&n3}J;AC}FF$6(E zLj5d+{42xVs?ZDU~-u^;MEU3xOC8Cj>DiR-)-`0sfXqiRu(_ z=iaKe8ht9|bYg*lSVd8Yx_irJmzXM9PW8+Up#p4HV8D zutm|598~+BUBlEp6w0PrwhR04Q*(nF4 z$#XxhVgsMmbC0;zDUu`SecB)aiSB# zbj4}^gEz$Cidn>huapX`k-8EQz)hK4YS>zswPH|odbY@q(917kD^jO@5HxptQ)~=d zVRiA%HJikyHRNpLCFSf)!C!^rfQ!rjYF>H?EzVmvvC*8_wL^upk{I7|B+B-`SDdvU zm!;*6-Dd@e=swyUFHX|ne?LuFrX1vV#e)1ia+#VaN|dKkZh7pJ)DCTt83NzOO;o`>JWf0V^!WnRc&jE5cpNL zYELSmQehk}sZp-|movY@H^GXY#ocz;DJ|GXtb}zK-9iKOijp~^pO(8<)p4m)2wnsQ zK*2=gTSxTD@-Z8Qk6UW)4lHl>`t9F=VB8fTSiuhJ>D){3q7D>>ah4%K-i0N@8Qv2 z7mx;LDnOA9PV+)My)v+lbRxN4N#!=*PVyWbe;$5SyVpR2h@1Id> z72ZF$ML~(n^K2K${I5)Esj=o0=AUfCTVTRh`_vqy?n5xmeUOM^ZOf$sQqYfC&KJ$P z9I9s|*+_(WsQ4XvZN}YxRebD9#zhMAa5zmta`iacH9lfO<{M!zs{gj+6I|6PV@Pov z1kC&jQ958Kc@Zg7;5XAO6Tz{1U@Hg*P!#FII|loib|_POMN1@+vt!Y<}^koL_n^pS2)160Aw}1Bm+C6N^re9;(QcwJgn9>&mRH9V9oQ>6PJ%&SLE!I z5&28|al*;fC8#o#YSz{^<~Wq*_~h+cNUaY*1mgQCsNfIjrk3H`=f@LJw$LrA{>{Xm z4And`NCxC)4i6KAbS1MEh z>bfkapux%HV{;wt_Cs|*FCdh!ALEd0*ts2+;WUeTBVFnTnW`n>Z|TmSln9 z0C?-)xPUkgQ(`pw`P6RLTHL{I`rlGU2gtVDZ65ncX@#fNPuA}NxNqi}gexsiO=njS zJD###FO24`_m00IkLOjg;X#l`Ej>hZI}{y$=Ic}_G7zDR((U69J`HDY48^DMTT`Dmb-U-l_{`R5DjjeAtpmY1BG9@?{Lh*b%FMaBUBW~1C^W2B{x=uL zSmxF$s?mI{##So3w#{Qq#l!`}mKEK4)#o!bHy5s$G6O~irJ`6@8PYiDFgEf6ivhjA z%Mt~$x&pn_aJv7a=$8}wJ#j8nBR&{$n+o|K86y_-T}Ct*uJ+0IcG(oog#>|`LH=?& z!{O!!5_Be(7%gpE5ho_StPi@dqra-nehcPgeFj>3wmgEs?yCrI?&zZ)>9#gN7Pv&c z@?pQ;X3s@2%F7ogqE4)ZsyU)ay+*dHP?)J_4E|&=?=ci2wu}ckG>l&PXf3tb=@ey9 zpXU^uW&SBdj2ep&(>ofPpVz*c*9i}EEe9^W-^A#`-4Lhu6hO# zaJh}EnxUm*9-I}Q81DqHCu&>VA3%K4AYp%3n?($_@QZrAX*;q zO1|C;UZBwixLZpw24f$s(Q^dRi;HEznnM=E?bWsRRhM+feHM)>S6O4PTjoHlw7YGvWkcDbIm3(3HW4tU z;`iJ8;$`Gze1JivOjY4;^gUFrC9F&C-e2@%*vfOy4hqIZwd(uJfXo04F-@DKxalC+ z>|(Y|qq$p+1WC9rWVNs*u7@@wO70d~(As@yi>2E_dI7b`IcqtN{tcgA9zn8e6U43c zfEw3+j4ti2cmYchL_FyFfLi7QTeeR?SxfV=aCmcl4B?Q-5Ptc|xF-FuM32@r^4{Z6 zy0nzGE1Dof*Mw^orE>QnknQcu?v6{??;WZ^)!MRA+1fP6^FgvsI`5J&1X`jklYIXq z&HIhl>30YE2kO49ar8LbFHRSF03O!3A9jCp)$3fs)u1I3JPWO06(W5Bp@qg00{^M1 z;}}yb%*7pIo7=Tr4VB@MTVfCW5s_A$#E_aTo|GSN(Ha`?%l2XN0dJS0(;$&k)NpwL zdi&Zv*0Ag!Y>vNWp1hGgEeG<|^%U9gwVe?EY(2q|*A(dP-i(Oqmj<_22FAjjYtX)|zH_bj=qLX-Thq>KgxT_B<~`CEwKHQeR-hKMZqYxR(*!a8 zf07XfdNb&XC@jxtXXVFc1>U?PUloR<1}U-sjf)s_1N`B#FY;v?b+c~j%b+I9zEaG2 zA^gg#mn^t4xL3H7g8t(Gq&(ANy#wW~?G^po`Zo6>`>$4zHu8~}7wicve6+I?N93ge z53zC(Q}i*cH1bP!&=z0yP&w(8=ghDFD!M!Tr|52OzBwDVr?sl=Wl(hZmZ)JW>~40W zcbz1o0{yHm5g$0@8l0RI?tG!3-9({vF>|oBm7+4^o^t-!Dwv1!SDyMtsy?Xr6Gu{mf9|PuKyRBC>&w_kbS^lkfMV-hC?s%aXi|tMV>`uq` zyGpFha!|Pp{>1KZwM{>YQ4D<9>F3vq)h*Gz)z(rm)8Y+I6~#V-zqDCb#O){pokQvJ zJo1n`?`sUQtbFWtC_3Mp&hx<-F%v>AZv3_Y>S@Qo38Fh<>_i4ZPlyq)q*-@Cbr?#A zSlI?RzrU$u{K(+4jvP=7&btz5`KLqw-HGpA0$20Y{9z?QnV5%C(Wdp*g>@Fv1DO3& zrKc92fl6GF;!-HiwD<$ZKz|J)XOzD&NY>18lCyOA9VIoGL8_mcLQ&wqfDj?{hey9V zJ;q1xLTxjv44v3Zz>udpb`}wPo)FKV4oA2Q?_fpD$)%9ASTwOB*oGuM0i;REMesnG z=_UvLd7#5Z*nqgIlEBJ(xW$`_=lBj#Igg3fOTwh9T<%^qUc&JtdNkM=0B^1{qN2?B zyJrv1oiS7IWCNDQ5HarP`bhK%YUoDw1BP-~$Y#1J@ZL(|gZkm4d8S`D)Xs{|NEn83 z%AK8`hRz0WlwQ8xYQ5tsk} ztCp!D+_n^+pobS{*fOsf%pl^=#L2i>O6qkU@msZ?fbBt_Wi>Z!?Yhq7$HU!!pAR^Y zB+$i#dl@U7rzV&gdlaI?0c)7F^#8;L6b35rS6tmL=|)VaXAONlk~&Mjiklq*w}NRU zV1XFhtNc5~A(aW$C=ruUem^VJv)sxW(sRE;-K(8ZGF^+2K}6r5b4xntFO?n6N^@tN z_d`1;7MW5Q8v(nrI+jVQldZ2eE9e`LxiQR`o#=O+TAAS z%qXSTU@R%N)-mSf;G_wphNWQK>IAl0W?C=8bFg%E-o#Pf7p4HDDPw38`4O9p$LGl% zPOKbh=0-8QJ_#k)OicqwtyP)>>L4X_-##n7qsnLn%i8s=Ff9jBH&E$qK2lw9cW(^6nJ@ z&gqjG*E(C-<~B7uk&DZk4#nl#{|FQ#|TMGA9`D< zcS#9WZhbEHVQuxdjTEEx9>`$HoQ&aGD10h0MRJau#DDMj9|Qh!{DG|?mdTLvj^i^R z!6{4And#7o~D)|I;=_5GOT=d-spMqY&IcZQPj z&?|YS6@DRjah6SYYWhdjL?Lw{f>n$k^Hux#nC!Y4RJD^iwxP3eOxpr$&RtzWhuf&O zl2bI58_+`x>E&W}>vT*+X;D7Au=Rs#?yeu~)_!FHQJsRfyn}58?v`W%Gz?(IhgZ zZ2mXq3cX#Mqb_$cd>U3ZS_h(hDX-{Rnf4so^*f0O~5C^GC??oE_iM#!LTeb%kR+-b;rve?^P%m12VgVvOEPJ{e`o~X5`-Qr9>^7(gn;#j@g%(2)nzV zD(jUD2Xa#AX55kc8F$+L-U-igkY#UXJU)XEDGurnghwo{k4cy5`SKR)tP`!)!0>tY zxS3Q?J+`v=%1ik84f=aXJN=H@d~wXFwA2r3SQH`s*?RjdfDp2P-cWf0cbMjeqG&!c z@8n|Z`UKO+Z`Q1KuC(51>HmV4uuv6RbUse|$r*oVZPw=*Iq&PN!2z2LN;+4rx;c1! zGr~WJT7LI(c20u-eSQtV%nqZ>$b^weiTKuA{OMH2v-pqvYl;|I_YYD61S%J(f+CjZR5 zivY^4j(gq@XZDD+s<^C%bqFo)$-?*C9}M4?LFx0>*w3+wYhRoBt@p$3PgALO#k1YM z7|b;QH}yK!?pP8_*3M?IYX{L}p7ktV-u52MC0bs=p6LTV+K~56Zd>F)tE-0!zxxkR z7#PQ7GSBQr^U`p$E#owZc`K)qGc6Fd7MGy;-UtnAAxF&UhIR)ie^E|;x*i)fF0wKY z&6Di~Ux5a7I33kXymcjKW+PD5(`RrmV>N#CD#~ZIL`4`|EeC!}lcEE-3UY@Rq2YzI zk)K^eXPV`*lA3oSzrm%m-41pmmA3838d3vHWn}MFZl@1TLxs$P5;gurQfdnky|<_BQ*tyi><{lw`@}ezDx3_IXFd(eF9mj>Uq> zSP3>iT~HyCEh=lB01LmhwVK3B#j748PMVDq?+x!?rbbeS=<}_x8&LjdbU-bRLvB`E zaS!(ztQZ}pDf$l{r9@5|BRaNVF~pDh_eJYBsq{adU@TNSKNm1qJyB6^HK^&IwMtUf zEXqYQHi&x@%Y^rySs4kl3gZ1s1 z*|!pCWlvvEY&YzS5M!n%&=p`ZDeLHa6kOHjPN0@~Vzz!jT9Y`w8zl*L-?2N6sAm6k znJV#?DG0UkQMnr#%LLv2150_DlY`oW3#${W;r)T5KeU%kUnB{$bdn)PBfMuLAIk1` z5PFMHs>uQ3Na#g=CpAHW!48i6yTPR{CH(Ar5k9g1Ih0$n|pdNQ$EJ2p{N*u5<&NkVT4~u;&Vs=7sd8#$OjLL-Vv6c!yaLE z{2E!I$b<}S+|X+Qanf-{vn*1&dxROdV1)X3c+Kx88*4=KJeBMLJnb|^v2}_0Z4UH; z{i?T4;9b8r(`)TM?+PMZUn37y6b2kV;W}fdfxKo`_x#~e@%x_Xvozg}&aiMqt-m+a z%U_lWh*pcP05q1k>*w16>Jm}#Anc;0-;1VD(e>NqoN50=P#jkUj&s2V*CdNq~NeZZ2VtkNxhC$Fet%lyXT_=^V4NT&l5s<$ys-F{DSi3B>RGq zJ_G7JkW(z|q6j>$MH=S{V#kU!M=c*$t*J6y)uNtqfCqS z&0KF!0NVeCCJck)-JfsIzZZ$g<#0Q1c%6s*4lrKLRpu#RFBkW`T#7jCFZZV=Z zk}%dl08`;hW7M|Wm!2qE_bYpv)F_cgx1=td9r*9W49UnmUs{^QCKcLwM$%ce;$*K( zr^aN_*OThD`XXL^&y<<1iv(IVJv<(GRzL57;2PDL>R|=?6@+&P@FfeCFv>9!;x<6e z%{T{v0R8-i;FSi{TJky(;4)>*@?b^Z>&ko)&+T*V>ZMP=%Lg5zCn1%oF0;)2hRb8G z)t~Gcn4++4L*m#4I(f>h0l@fnh@HGMmAv7%5=tzLN0<&7Ddw@=l_R7u=nmMPI|FZU zE!Dn4e>>S~l1GftkA1#spFK2c#wK}=2gUQFV{vWAa7yi*y59#Rpr;I}xEoKzri~%| z4~=#$wJXl7jL$PqfeB~JFo^Ynw~-#`w=LeHQ$Iod&#*y@|7X~M&^!%!Z%k22xXaAQ zy$axxWFPWp*C23#pj~6)NAlD&&@ARtMs7$hrML&oq0*M{@J0 z%x%W|Z%f{LA^dZ;jT)O#X+bqNf`h^zOd(!w7 zNH~ngiu1t&To_Z!BUic68Q~6C!}U78ueMg%S`WGUhx76o9Yff3?1e18`$Df%W;?v8 zlm=pRhEafP^B$4Q4*B1TXBg^f^SdJrXS!9jT;74+*f#+_0#)mZVuxpUqvTb;=2Fz^ zu^+d3BVYk`3E7#@;uyu}m{$i6XRg^CR7(7Rfg*6@=%;PXGSG<*>>MN8SPaD@lHpKq zhvH${uK$UObWmjN#p2xnpN;YuxHsuboGFzSbNGJ7ucSlMzQb009iGf>EeV}1E;-Hb zRg4frge{NJD?yu!3`|*(0s7hSERg{u`n5i`niy6r9haAWi_L()VjW&ju@tKH6A#HZ zw?WhTXYwF)4T?nSkK=+9Ugaw2uGQ|$+37!-kUr=Yq<=6W#O2WyYK+rjDIiIy3zq0p zu)T`iWrx1(d-5y3OP(G*71*@@5kQdlt6O<%^6B7AieU=#Q7MNs2QkP)-S07_z}++L zZiUZz9&z&9rw;pIuy>-EI!g7kLWY%N3PlPGjl=2Z|BvXqjMv|y?<2bde?;GdISZ_f zm+fMAL4p(y_=2E5d_es~&oqW0n8;7EJNjtV#PH~!HeJaoP_ zsQ!5yC;Z8LWL#IOn%@Y&d8Hx23eb=snklQE34{;b;_D|uGY%OG&6_*kT4xu*@Hzh( zGZ2hN+2_uWRcMW!;hGAPsSq^HmkPo%bxpvZz6MqjBb5*EK0tn6V%&o9c_)!TAqVMu zfr?S8P)nC;<_n;eP6>1nQz|Q!T}u$Q<%74^h9M+B7j2aTK5Q_rP3uLNMTkT(KmZff z-M_jR+tz%)qVBXO)$ZPK7}ISm-`sIGE<^=2ICn75KNxJbXLFI((lMdH*+INn&eGUs ze4i2X46b>%4VmW#)g1llA@WbC;|XJ+u2juWDrwe)@DV#2W>G-8h1}KVxOxPPn3($7 zdA?NMtfFg;^_y5vJLLhkV#TG(H^Ztqt|tBpJPg|79Kj;u4*6F$jgj@lm*%lt%iM?Q z7bdj_C#N#JCLO=DFc4BTSuQu87itrPs%Oq)WxNgxfm|YG$hG1GnmG=+lkkZFVAB!e z=lE)a16N%{+&qu!zgqHJ&i`!5t5|zTpUaWZ{8c${i?nzs^av%sIW1^P3F!|KZOk@G!mS*iRZ)IgOIYWItTgcC8wfs!O(*cZKxDiXyh`&~IbLNC%@{~Do3zL9`#QJIa5)yix6tI~&XZpFFU`7_b z!9Bj+L?c&*%}UsWHR!X2YN-^g5r4TgqBJHWYYyIbIPJ(9`PI{js4KDf$hUw23FoX^NE7YHY&RJ&Ctz$43yfN+fd%JSeL~_F~rpG!)hQULA z8l4P0XSNH|A>=epZOZS;_VwQ;dClhBTgGw$$PnBoY-|ehY{CFt~?CY(>>h7z1`J= z;DOlxC(c6FLKFaFE=I4X7^*hx`ubt(T-a%gWtv*mF(&u$^#<-tCu2{ub@yldBFfg0 zl{mM+5Gq|4qZ{o@chHmxrU~D>-Vg-Q#|vgB2?YZIK0{c7qAb?r{_T)K4P5OI%lZi$ zl&mZLRFq#$Tvz^UPhe&NLRFXl*6*NvaLX3LT-nC1aRhpHjRph#XCZrYf*;o??FjxD z%}(yLgLgVIt$pQivgtyv%n9j6aE>%PR2D565I5wFE&R{)uBu{63`Oz61~5b6T*TON zqrJ3KYshYEkliY1R`}%~vlrWj(OwyJ>$Jj=oL2%vY&HAbsw>qmVNN8R8N1k=>N3(U zgXs^R9MXH~SiRcX#+`PAscPn9mzQU~SrlUP9bX(wzvteXz}OTTH~2}1IFwHC%glpF zIVufP|9YeGB`?a6Tb@LWiKg*41v)8-$3NYu_sJ^IVRiNY5?CA&phj?Pl^?8@qmUzs zqyGRQx8MR(=MyBNp9}fS2f~nNHYpA#fC2m4JbYGmsd$$ot41@WYrpoXmelI1ksA`lV)(11XK zY8}%Irvm*gVV5n?I7;on5Vh)|Wx0qP;bwL^)25}F3?V+V*+9Zv>}ghq?}%=i)rjL# zl1z2%_0ex|lDzT+FhzV}-NIWUkxRsKDZOowwKJwjw0FBk$f#1TkIXMZ3o_D%629Py zVqzq_H3eO1z}!HXg2O$>l%pcID)cqxUGlM22_JJjHB|ynLE45d0Dyc|rJn|x!i|-K zg_SLdy%yz@;=_-v;88b{EcY~<12j9oRW7vj3tPf;^N0QOVLu6N4ri?h#j`Zk$7!Q8 zDiNjuGcW1q5rOPpVBB`0RRmnF~(6+KI3aa{}3`|2Yo`|D4cLo zOP31W!XRn(Y6OA+tRmo%a~t&^qxmxd{v(w+*bMHEDaV$k7iT{W&tv`j8oeK<-EXg0 z^o7?#rg=X=+1+MZ7RMq$%fGR*&Ywz-uvbq^kD?$-ts~=}fpTFF56qK4yNSej{kaIE$CNYx65kHo23FIIjB zHUHqie&0VAz7s}oX2!k~1mgg_OqbphPwD>Jr+*RrbYl%Rh@V4yk`o%keGuG*2EN@A zw=pi26Xu(&DA5b)jR?FJ(VHT$D~)_N5l2JMHAkZvr9-i``Az;*qk!*ufL8(p7ozc^N`V01|~vG3^yo8aG? z6239sNUC@1XeF34b$ii?zZk=Tw8P|5JN4K+lsP^$Y}Pf9qm>-Ba)d8jS{^@W4X53+ z?RAkujnn351kbIBy8(C~Okc3!an`HWUV>o*a5)P0&~#bdGA#8NK%^}j6z1+vwl(S5 zNfk*qhlTcY;^$a1eM(kAwiLrGVv1S8*+`Zcs;OXah%A4p4)xS(P}GYAr%(a8kjFWS z*iCUGMxXnbpAz^)n%t!q)LIT<=A+dzqf=W;>{x{8yxTl-9B2lA83WU-qYfZE;ejBFwL31lA6tgb?={T(zC;qBz*;V6Xcgx-x_p7(1 zFrB1B73?ZK#0)hE|3LF&465M#@BASZpy4keY)X==KXC+cVF@YO;v-sCg)bxRQ`5(NI!YW7dbCv82gA4p zxbJ5C3hV0fM$l~1+mqiVfUmel0Ip7^nU|0t8*OlTraW5>9^PNH{YX zK5_r7oBc3Xy0~JR^0Bz4T=S0mN=vf%o|n$1dd3r{%=E&?wb=-Wx(S78e1+>ox@c~< zwz5fco?tDCWa+%{{=J{KMN{$lstnPgW(t6QI>CW$**#?V2P&Z!(C>WwmqoKa&2AJj z$Yv02$ySC#R3Z~Nhb&ov5{yA))hrA)3STSJCUYVmjACjNJ|oJ+LpbuQ84MZc-VunO zAOcE>kh?Y}WkgIgeW+vudwQz^H%hA-pWk7430GDvRrDaIF&gxf*wNB}58?_$WGhxG z#!uFXz3_cA;C`r)Dgjkh*gTz*-4hzp886HL-7{!EV#W3wIGLrDrZ(1Ix##A;6^^=*v1vYwO z#+J;5{90?3fs_H=Tp1Npn^7kn<0aGsP8$8*aSLWmGTB*3|m6T5|ic zzYwu=Ujk9&qrMHf5%f~(Xw#~l=NxrnZ=aRiignhud&v}>bxXtc8UZlqC-}nV%mF~t zldZEruk2g~(T@p*f%}$N^9+GbGW!kj38GQ1q^}QM5t-#F`IOQLu!;MN9;tM5hfG{@ z;fK2FR2~^g#-JSH3+|QWHYDoBS z%Lk4hbn5RhhHq_#9+lj`vO+h(?G;R3BaPrN!#(sh!IzWOmlSQ(P!!P)-;BMQ?$nRj zMK%CPf?5?P4ck_PEitPLgWWOP$h#A9Uv;dlDyrFJR}os}z1-?~?&UZZ5_%T2=26L8UqgX@xh7J3H2C$-wk`|~28)6G! zwVGl?Dic@HOsgy*{0!WX`1m~bC4)NT17d4KV+aMpeFk`4DBIqf5I?&sTd+4Z1)X{u zV=OtP#;1eN9|kuPvF8I=+c&;ispo=*40FD~bg#+o@X^Do@OL9X4^I+1384wSD;nm_ z3JO7Lni%{f${DZlxI(>2aboDr;5O45QJcgR)g z$NVCMK`*C53w0_hO6@m|#eNATIz)#?b+6D-V&I&^A8qyjv3AbimG#Smj&0kvZQD*d z?pPh$b~+ui<8;zt$9B@OZR?y^Cz!nV-kI;3HTq@#gT2@Opmsg=R82#_Rv#?U#S?LY zLMv!-f_owQ$2iq~I^?n&mVZm=`64K1N<&wcV=s^WUB|V=@d86rET}W7ta9~`(L_N9 zHV@v?WcPkYUb`rFyOTR>M+!yE#-{A-Ey61VO=@(7oel15Im%=H_**-nd)V>G{&wwB z7wEZ|>%$&!?wi$F%kkRK4}ITivbw=_Q}u4X1oV8zPAd1Lby@^SKI0-a!@D7WN2<@o zy-^Dh&Kko^3&DShq{toR>1;#}%6IPsZn=F1D z${z4JV^M%3)@tWgnHg+rDNs`R5Nt-ow@{T0+7k=wMzXd|1o0U2P*?se zpnKXyDM&*vf4*9>8N-2^(BG`WMmmdW#E%KO15AyE^urR$<^lLZ-pZ_4yL@g!m*$fl z!zvgAg<)8|b*0R2R^(pbp5s5-hwMW(p+$+;1Tl1k5)+8C6)?)A_h#d-8lJWt+( zCapN(PvbMLxG>=ziXrQr9+ILJ>uc^`q0S~`Dpr|1FcK+q@9Fw#gJq|4>o(msfR{+`+_2S$~>_GnLyaW5ww!|?xxP4OW3I5yuHLp#JjFZu&zMC7&_ZRX*b@h<* z3;<)_lqp0`WeEm9u5ST2KCC&+l3iO$rD^5U`j~E&?7&E65(uoSi$f6UV6B56j--6% z!JOgAGIKxA8pYUVF<pF6>3b|X3_zIC>%)w_bi(&YzB2PIL= ztUjiAsAd4B{;sti=BrKfE|h$~o0F>>zYnA@nZ5%stl8&e9w1)#Z7)#YD6r!9S`zia z#?M()*yim7qb5}cblhg^rNH$P1LPFzirpN2^jlL&x_JY;En~RB;Zga9NU>${Ww6lH zZQeQ^^8L{XtkY6C_AFapfRQ4vduhc(NZj7R_p$W^vJm8Pxb0C%A$kuLsTOBGB`J=^NAWrY(*2-0Rj7^Ndy`tl-auP**vE4xJ9U3!^_@IHfO3wiOrWHC z*XT$MXx7v2+bQEb?K(t)hJm!2-9;20Dy1r1Atz;-ZT{?!*_U;#ghIk0K2GXc_4yw- zJsgwY^I$r}{nOf{3edd{=VLuMTs&>%2VQr49D_OQtm!f!TT<~j`dGfu3_nU^5JL!p zi++BtkS<#{W=8t9B3|-?Zn_iSWw5#E>vD?}NVFcCDZv=|`ov;Ag`7)4#&Hh#39W!- z%VX9pL*FRwI?V1sqUK&bR=7=ADCrKt)>{aX-f8I54$u58VVlmqKEKk%QPmw%8Wa|< z20LePCfU^Rb1NZIQvc*m!i?^QLrcR#FAB5b(A@9loe%tRbkXxtL_@@7%KS_(-dn zXBOBPc$|RnjrSXqMwUgB?Twa%&76m+x@;D5c?Bh~+@vm9`Gmg~jWQ(gQ{M=lbnhn( zP-(SVP-c%Wi2*6vkssP?ExT;8PTb#O1N}!m-)wipO5a zzh5gyqcu-VF20G;39Kapzn~~SqO1ZS)&?rv%ttHz&l79s5+*<^_=t4JaZa|t0&pjf zO;JtK_De6qCE`uq6HA}tpCqE(LWCFG3+Z~>j>?!xI!!I#(V{F|P&hRSjn>zrp+jLK zUc)fh`{AV;QlA{KPNP-j@_a1lrCeo)^tG7qGL_=dGbH~K<>1VmM^t3U;5k)PM0%?P zC-r(V>n(u4V%;THiV)!%N)@VV?!JH5awy{xrQ3HiNJKxeX}1u_809yJ2dn!);#2fd z#NQ}f&9K(EwCUf9-kTGHp*BlO*4leufaKJsO_oewsjI!mXbCF+W>K=16UW~qkz@Y` zIrQe#=|UXdRsN0 zlam01Q2Zul%OSmdk}I%YXMC*rZYl0-)09pQ7j{UH%BPj=qQNY+t6;mLE;JkjJ=zI( zrd0lwaJHhKSJMl}VNye7izPyjhpYX;JzB&)$o{qK#im8}whG1iv+Kk9AMz87V+!?=Z@86oj|;a(B!R@62t{m+G#sc|@-W z&Lh-$CP59%qb+1Y9A+Bqc49Q(T1duY8XlppAi+3h6USTS|g=33>8@f7ot9%wpvMj_}SpUGxm@i&oEYl=NE zjJps9ijo3wclX|we;;&+Rpr6C?X6Tjg}L?n4W->qwk5f{_yly--2ey&yFXS}oINlF zqmo8xYCZXbt{A2An}BSuBbCs0wjrz>L%tMVY!p8NbD)ekXuii`5S*Vh&dbvBcvsO- zgv_Hi4Dy}3(43j>fc0x<%ceZ-)>~@97504{g`gXOJIIfQ`d)}1g~3IU#(`d2VvbA9 z>ZVtiG}cbbMX0AN=O*!P7r#^gv-n$vK9vsl1j&jj7+JFTmz2`Ubvj|aL><*&f^wtfpLra$N19VALu9j|~q?e!XRz98;0 z=Gm#W9-*!3F6L%0OHNgjM+)7`4l)&`ya=Z*&X8z z5h|*{%sH>3{Q)S{p)Y-L6=|vYn-ZJ9t91wXuJ`;nIyY*Y3nE7P|N1-xdXc7Y^_A2; zBozQy!b*dZ&p@&XuNnfNw5%Y64wK91*By2fCBw+^ykm64KbzkfrqLK8i6`UXGL;zc zs^kCmwV-*?r&>U8mrImF;%3Grk?U!Km+V<7>|k*SmNK~L!?#-$=-HIV&v5$dwCi6G zYS_V2%6gvZFW@PFk04e`%1oa;4sSOQ&!Sp{yu&us_p-+v_{0up!l)$1A06mZvRg03 zmtA*=0ZINa0U`Q*kpNId-y#8Kg)IrLm&4-3P!go^W@G2&W~{fU4PCeOepXPj!zD;QGVma!1q$)-K)b_(&EVHDIpN_AH?ioiB{~5 zJ_UHe(6zE+hd+P6K`9Y5J!(yML@M@vj^sq~fj&>sptPpQTx@@{u(q;}w=63BDxXy5 zfDy>jlO8UhQ-VtekXg~U3eYAGN0HFgc2^lUYsa(*>9#aor8|M3+R2lAP$@-y3Xc6^ zRvg2uuN3oj6*QYqs12;RK3Hq?^Uk_jJR>9N!r#!#ToQj;RKfB9-ylXbZrUEQ)C0TI z?-T{wxX*FxIa1txV144*jDC<1@|O~(S>BplOVVrdLdudXIC&e@P#3&C!cn7<&!411 zYGrV1ftT)&Oa0os4uucs(*KCd^DdqV`vl*yJFT zm^f&QDVy_Da(oy(lgV7+szI5-KOum|eS800MG5L9G5y{KKm2g60RoTAiyjA~w6hB8 zg!z67K^MxMCd~oX%^MV^U0J6fr@ERBQwdUfd7ck>kHkd^J6%3m)SaI!p9&bzG)@Wf}pas?qo+$d7_%%GB{7Sne+Tv8wx_nGxKG<-+L^*7dwJHwe*azv` za2Y{-(=4K=Z&cJu8Lch++H1`a6_1*0#omC68q z%t(=SPh>5@0EDe%pswCzgxA_5a40ZtNF7z4kvLFlc2Y348WB5oLEYY^j))m-5yOJS z8NSh9Ff_oa>`!OHVZ7gyc-J|xDniH_FM?~ay(=`gtk zw%+8|C4GS%;>nKbs&oIq4RoGLT@K*$^8zZo?%MNPD+`kx{eDwGS`UvoH)hH=uneE5 zhOi2;M`+XLkc&y7L5NSq7{yWJci+J{0+d*2G*i)`eGd+V*3bd*lef{oU%`TUn?>wfl%|z+SRY`p2JYy6=`E62DcnOr zf!GLd`PJ3v_$m~4IoGSo9Hw7F{q;{M4e>Snsq3i6k&(oFERp@3VZabtIQ{?8abCa<2Am-|;&7t6PN^K5NiaDp;29Stcs?u$y&5rI&DgKu=fiC8JZ&0WbF903*?|N81`R!!Wzg6zZR|o`CWLyk~8q&A?J;Boq;O zKoCCXgtZqsVpG&aGD0a{jQB%)7 zj38WH;$KZTUXdhAY{pAhC_0P+I1a0rZLqW@+=(!;zLvAQgScy=w6pxom?43WFS4!) zFamt035$HKYN7UW;K@3JvaC6)&^Xt7$9*Q!PaLVy=`zHv>WHjb?I5Whb-m}1gUH{Q z1mfmI>4Q}Oe;42)&-B!nT!42;DC#UZr5`rX$MSS{s+i0(`a-0<-) zU1H!TZnSeo)1KL{?-G)w1-X4=sM7h{%YBUc%dbBU*hoI7~)!iq> z-FeuX{1BRW9dI}s(9jKt+3*}O4kZcTp`~`tcP*hIg&dDm#rA{&D23P`w9KfCCh9e{ z7|aHVJW&^w-M&RaiiV?T0`dEyGix72r$^d9ydwb{WFh?)?o}(vIZ0PmpOEV+C!9=hP%6JE}hV$ zGi7)JpCEz;rXd(r{v{%Xwab>WgwQfOHSWcTz6kx=Nwn)|;KljU%e^Y^{v`{5dp-bJ zsGWq+Kbf!>XngcaxU_Bt2dnMv(s&zyY?Kp9dynbwl2mWfkF0e`I_Miyaq4e^^9mt@ ze}}nX3eP(x9H&j=F2J4;C1Ekr`vawc+5y*B0j<8Mh=za!v*^aMkQCa2Hbnk80#R6z z(l`WmpdMKsam`&`s@N$chtkr$)nRP-F5!qLurR6TTJTIIe!Lx$P>w2gK6<m?HW!#49qx~>1gS?W%WjRCpC^_6S1lPD zQ_7KQfk54hQg{KO6v6QZuY)(aVc0Me+TArgUgVtwASa7jt(k2flR+d5|F@=e__V@7 z>n3k{rDlvHi<}Z)B&`fp$v+z}Q6w`sQW{#Yovrv$r_=cHEWDNQ#ZfN`-7u=DdtOyA zi3DY;7T$x_yaNwt0NjFU=t)KFwailuyHg=cBVm_Rb+#cwapt`R=R|rsL2|$t@fV6Z`zL z`1TY;HvzJ5X<^Z(Rix#|7RCk|dG#TOX8$TK^@&oq4IBGmtW!MI&TJTZDRM3M#KM(4 zERT73@;;Z?DzOuyWtLX9i`pvp9}6o~QOz#q%dUWmi7&3nPqjuLniCy>_?{%lzL9Ht zEvN?^8g2c3wc;#7SUqwVmtU(nKRitHiZht0ayuENRK7NnJHGz;W>{mS5l4FBw8M8_ zLrD1kZ(bfr$;E0aOG?=3E)>#fzb0+{hJ-uENHq=e6gl6i0{w9Dx z+tC?h#qX0RN*stUBceu7;kbf;+fabZelGiM%2xZgDZ5TO84>ypaufdlLB_>MZ=GHR zVWmEjQI?BY6T6=s7XyWQ?Gc;f$Yi;9Uz?Ua=-86tQ53KdyeYDxly(xO{{PVMSd+}& ziOe8KIQ$C?pM4Ev($XI7zfi=4(x&X*YG=xJCG>-b(r&yVRVw>~plAXo0D>wKWEX5w zliB`xDU5bIXnQt%{jFts!pW{?b8ji zB1tI6;m$K5+K^(3{Z%iYQV;eW6T_`KyERHER)i|c=oxR*3al>6X&UO@<`oxRR8dN1 z9#-qM)V6utrTJhdl7^rmhNt|epuB^wFUM+G_V6$CICm>Acx_0mwj6{zV%Y2x)*y_H zNF0$;IFBSOhf?jOvC;JrhAHbc{ zlF-VyLUBl@yHjQB1@l$}H5mfnjHT1wZ>2cbq_n1?Zc4dGsT8=lQ!3w z08ZVEOytGS#U1IAizq)^7g&;+lRT|?MDbt^D9GX&z<*l|U^YVCqs;v3hbABz-_Frn z)eu%e2tN#nfW7Ry^2z1zzO{YQXbRe%JhlLWR)^VusgzS|KDY?92vy4J1QSp_jpX28@Zv` z1_Z<$&HT7&I}@7JX-x$aRm=S)8fpbXCV7nQ^22xWkg4KTMm!M@Vx)sdvNZ{X6in%g^0AG=5f`Vj zbqCB0zsfoJ8wWCZin9x2nu1cUy7sr!q_HV;UBveg8lj&EBKZvqmdFih(8AfSb3RPe z*GfIvwmh&SO>-q#*by+FmrrhLR;de7h$h8 z#nmAHVcGdw32ScM^)(QV6TdGQ_?R~_tOiLo;adU~i8ILs65MfX-h*;0yL3xhgzpQX z@Gd9pkB2(szO*$-Y?AVAiF5EVw&UXa%>#o(&e^uk*T7aNE*7RJ){2L}*BDb_kfq1B zC-`JRu69l=btYGnpSH(bhF%zsWs5Z{Rzi*QlQcwvXw+?nkHw_qw%Zmg*sv{1oh*+s zzdthSEjRzd{($7gL-1U@1OqZO5Oyax?8iN+J$|N2*mZN0Izi)F0?C;ZjXh`^#M~rQ zx53oGNz%-ik*JhNlpntuW=|=K$KCaLv>sa5F;2{sUQ$**rh!Q#z@8?sN5(*Ba)7X` zUihOb+8uDyzIA%u`n_g?)NkC7{Mce@&2VfuiwjuKSd{K2G>{dMqL^vAl2uXao>IM7 znjyiNN2hZw6PgkkkA;H-;ivUI&Xg+(MMwg}6=`@yD9xE+^-Bd>$+{c3C}SHp0_Dg= zH`!SXG+EtepC2SGIzsD-r7A8FHYanX28)>RRueuVeTB0c1xEfk9?uy1LeVYR`Gt#{ zG*;@Wuqmj9+AH6y5(f1t=PiPVSb*w;(C+;Eya=G5?tY(%=}gw(dM$?Sv8Hc%vyezA zYCRhCrP)oi_MMan>FwNg;6!jMn}*~wkoK~RLftiBPzpacmz^yBQUe|4*l!d@CCPLg zA*5xhYIP&^)ikpEXS5ZEs>~`jtq0Z0Wie)MBBK1TWrB`ENHrxsGFSr4-Hy$HkmXF9 zsZxQBeqth$1>O4!ZxfieAqbf}P4e}ppP)W+EpgC@kU%wAM#4t1mM@ZMqx)G1)(&cd z5LFY#nqCYS-<1oP72LFF+FxPXl7+(yWV6B!k~pUmDE?;90&Ke9^X6D#lb0muPuPh2 zTOZr-TL$vd+0^+x@sr&1c9G@t$MWzNaDTn_t`EO2lfB4DYoWkf-A*LDw#afv%(0FV zBGYP4fzVCIv2GFx&D{@E4b_KHXJQ@^`_)cV(dW(GSZ7b9ce$ip;N8Ax|(Q{74%(jq1(|i@IA980((n-17xR!qKh8IJwK%2Ygl5 zk$BK4W2(cM)}Q>CzANJ)@;WC!@M5#u&tJY3aF9fXLtHNygyz<9brcqXq)8sNr#=Oh zCynoC{A4XdUXc8~iHVlDo>&E}OMX&I>$Z9|xKSE*+kjh5jYFh&&8mOmPwWQt3bW=J zPA#-2?yI{EP)_ffkH^!7K|YhG`*!UIU~s)d*q3QWb-@{qiwY76EQF9)H~|}TRzuNe zx`ZP=>M_)jdd+YKq>Tr!bOH$*ir&zV_;ZVCkx@7q^(>S#33h%@1_u3v!7X-ZGgiGSS;X4p?)h(Z zu}-7zg#f6L!HzyhTAsR67DzlXHgF*Z2A8+F0O}QdB~#8cEsA3aAScqkpaQFle%&b^j=YQ(E zsamhOwSu_%8vfOz6Cl)ou>IWJJ>$k=6ERkkHEgL@F0UAR5Q+oA^aDa&S7}D>0$T;j zy|_*}YYuZoqKa_t8w*}Jk}jGC1c}T~6ZEYocEYz^#r>?^d@_#{HJ4ttCW|Uo;gvrQ zOIJRx@gh@bBrX%QHL4>JUm|aI5;Q{ID&r8~9d_L!6tK|xk%Z;AO0Rw>#fO7&T!-=l z5uOd%*Ikl$-hFe!k7U(g?XD>%6zc#PLTvF-Y+g9K#+TbTPfqp5u+zdm?%vN`L6J3; zC#c_NAAK}og1$+~x3a*JqBxjrzwzm0%1YmOv0NaobK3VfYW$8I2HwGlst4jW6X%%~?QIa{qCG1sGO4zQU1?rXl<~nw8DU;kA z`8C}6fINTYgg+E8_)mE>MV+F)WZ6k?`fKn19XEHwF$DqM?(UIkwO$Ff;s%_~4x4uw zfdDfO&;CEma5}pduc|LGVjo!V`1^McfwsHEjQeI=znDnfmbwFjF!guax<;^B^G1YL zwt#WV&;+G_Vha~mP}xa%*c3)@2Dv6VvpEcca((&+X}!={L-q@=2vll8st#^e9sbA8z zQ`H0I+=7757~I=c4(9FVv#!$baX$c?UC35Ucmjf}LhLod3Db@(OsXVK*Tg}c@C0-a zt`c@4w<&H`Y(3vJ)Pn+>f-HR`hA|ckD5G|))5_D;aGnGi1=o&INW3q=)+%IrVC4W? zJjN{WyUe3)7Tld`ZBQW#gz$zx6TS}CS|vBJ&sU!R3uBJ|vSAe=2AqCcUhj1)s&T5X zwvb;#9#6UV!@byg8|HZ0Nf$p@79U-H_d4tBHf&Dn9?H4%Zgo3twr|voV+Z$U)yW*G zUYmX$u>Su}nC)&DKFf+IW+Y|S79y%aVwYLa5F_8kMC`(^l9eJ(nF%}@B2%fn+Obmn zcEG=>Lb+FZVZgXKY;O=m&UJlU_H0Rvciii4Uq`Ah2ON|v0{WQesSA7WKJJUR{bK5n z;o4u`vtE$4KRXt0vcJH1Juo%~R&v(r{AKRfzwu;htH|7s4uJhi^t&YLYWt> z&RLNsK7}u2@uo{qd1>WJ4~2$|4dQ*{FPW&f1@AJB_O%V)jf}O6K8AXNb65_QChk=g z2WFlPe5;p+df~zbu*wfvDcpvggou!{HQE=tZC^ESyU|(6&AWw~d81H*U5G+XX>4i0 z@Y*~aW@!m#*YOs$awUuZpx$k=oVWT_>xYiBqjJtR(^2S7F>zT8+qbd#yLO?&!0gtv zNAIzl@VMum?E=Is=5-QZcDv-lC9^N&)5MmGSNH>DA{BcZ4ZAKl&}jWXv1NBO%h;M( zevf9euBr0ZvCz92J7!5Vm~n2JZxvI!B?i&`X>)bO-tiv@$v)@{St{c^Md}gGWdNp? z?9$xMF9`JxHtwI090fBIANfv{jnDdK6z@Bq^_+NwF@ELfwIp^zV235`_sDLVa(>W2 z5jk`w9(io9)*R}cwr(XXas9eyi(@n950t{PBw<{#`K>YLd63O-(4FW7c&@|-F)SZ% zn@8B~OED0Dyi)6qfRjWiHdc&J{<-Kz*tQUFnBkI?GPU9flI6j$!*oBp(tdV0$$^v3 zE$&Uu!ZgQ)%0z+X0c0`~TyJVj-VT~t?8Ijjy$;Xtl-*fFBncvh>$#Vib(${F#62|3 zkR_Ajlm@+u70l$Vcyx~kgw4IR)V>~h^*m2Hs|3E~r0NE~b!>Ovbm#^)8nJwkZ5piz zCa9+hLjdz*80l;`O4Q>^r)2$7zYto2`^mJfB{Ml1ebxi`=kndWdwd*2SrUR+`iDTZ zhGSl{MlJfAN&6`&!Ryd>wXLq*{J@m`p6q5j(V|wVi97?@0^z&Z-h|7VZ#P6L%xa2= z{wefJm~CO`KkwG5cD}Qx82wP=mng^+5vcDo;J*ZMq7(-=7DT|+Xs)ckLQgS$!%TzZ#M1E5Cn8Hl`$k`=u zw=-*!KdX*abD>h*XBafdnhDn*m19kMV1UlfKNf8i^%7990y$XXd-^m_8ov zYruScx}5=fybOGU0wFNUXdqN(4WdL(duU`_32x%Tw=D7ZvS;h}`E6Fwj?UNII+LyT zh#d1ZycR4qUGPDx9dz~)7m}m>t9}+CscfGRJPBeJxEBX|qjFM-lhBFvwXM@Qh>AL9Lxnu7xC+jgQWjrNyR) zpBDD{Z>2#q0%bRK5shMG$|4eJstlbRn?oO>IeGy%2cD5uDEJT);rSO%c)+?eXQ-RJ z)RWECvOHfp;U|{MhDeaR_9G;;)dTXK2Pd?{wHHss`lw0%>jQ7k8+ZLjl;Ot@wpPq& z8gFjenGTuN7$MYC0;u8w`^~krm;+y-bwSb&YZ({I_<*BM1+c`~Wtr_v;&jf@l@Q>9p$sBu0sYdDU)_ z5=^~JUXGq?^NKn+k-V*T==(`kM(o}jcjg%!PxAN%bSrow-$tLl0(e%YApTN~HD-l_ z>wa}YIx0?anC4c6Sc*X*@YjA$9xV>3W{$^|@&vm;`rhYH`M&a*4kCX1#sKT9mw}3UD+U=X`$ptZafFuHLP!!`AwY;`;E=PWZ$Jz8Yh=Nhr<-DRNMxVDqv_+j3>U`eJz$2o2BqZsy|HN@%;qp`_WAqWrFAy3bRHN6e zsngMLO_(_$^R)e=+hfq~&AqEzlyjTweebrlT@&?u$e6P=-=HJc~W>_j~ z3q2uJG>X>|oO_M@zl0Qoa}^cSA%x0o)>cvZHq`fupVt9){>ml6d{P&nXyt-4S=T6O z&_@)_@P5(#LtHm6DIdu{-?7?XTjVp62G-r{*o zy44-z0~$l66&&=D8lD0f&hv*jNpW#TxGdkTy;AmUJ5WNZ|3#1g!>HvqtU*LT(C-O7_r*+-&R#u!L3|W^TrnJd9*GUTkSVZG zbrkaAFZfYQ=k~-)>K7TU6klGpADOxC>OW3fw5#v?>aZR=agw$=~SS{I|` z#C@8^=a<*UXmmawM}|u}eD|uwIorKb=M}_%*HXqv*R>Yb6<93GFe`$V+=y5X;8{&q>|{p!3J=nUgHw{`sB$ z=STd9dybT!mV9fCZd?&U&!*ieV9ZN5Nc8z(XnFiR`!0I(*@z|Z6gXA)k}i=5!Tekp1>ZJ_v4$Jq4^$>?X?ow*Oc|G z<90D?K@<#_?il7(&9akZrg~9Mxxa8d(zGn2j88o7V-bb)nD9h<45LKG76ND&*pZc^ zxocq|?kK5W>avY02vgb_lt{_!GGd?z8GKsgbOg*0dw=wbnD|$Kd^@LBwY?~?O!L28 zLN>J_O=^L}P#_i&g^;=Ku35E*$->j5gozmFmF)YdWPIp-&KYfFa?O^ zk08+EFYq$w#GAt}Lk;-9u`)0a@}fC@C0B*i&7Dftw-f`bzwh8>pw5p!sJvc@A~-<-@Rt^+Yk&RzB@fFf ziu&(ePv=q=`E^|vIA}Hnd1{3#jcCTr5jr#(w6}JM)RK0;j>oD_rK=jNIL}eusBdp) zX*JT7sz=WiD=#QbkDf{ioV5NAb+}^CU_#CSrMEhF5bZziaC9l#C-o$jEYgY$mA11S z4F8|qVK1vU?*>~b>%_t{5%iNJ&wwZHr)GO&Z<^jzT(`lCSMqGkJ*Sh7)m6r|0fX(+ z@;q5o*yH7JUoVTzk*A|=UkSrKE2`c0BJxmh#ShEkW!(?^=N;A~lk{!lyfZ#;)115Y zeXjtb5n}CSB#lW3^;RTLf>J>j-ZqE^=qQscg{7umaiviL$_`5*gNhr+NZAMGp+~*g zNu=XOhV2S`T@6JJm@o{&Mf!mN?lXvdUjFmg(C34|nb5a?yYet?vPsAMboyC9+D#no>>IVo|k`&4i5}mXtI2 zu*d_s#GATBxSZ6v0qUVs2XQ)?o!_K+WiYNz`l9C|mkF%wo=T3vHY5JG1hetipgp>= z@ezv;Iw_u4At3zMDeFVP?w3-l&5_oSE!_(zCohU-6cPM1kGlabqMy)ISt5%6fkIKSL(^B4a&=tJQMeF)sJ&n0eZHzepMN$Q zL;Sazd%`sCBdxLT4N>Nb_=lG)#Iht_ORin7!P?Z2;3y8+`|9dHa_%&TuQMc<&gwSV z!>AF9V=wmu`pJ}BAhqJxbumO$dK39U2+sbegQm~W6b124^}#zHnB7^q(xGM0qJA`3 zLzo`8dP!^a@#AD~fe_eq$I1FWG8NGsZ6iYZ5i;e}&sEQB8k0KJ61u^n@_rN9<^eij zo$h`gj}xrj^0nJ)6!vQ{M)7@N-AiM;#jeIt8;{3Y#}7{N7#r8dd`y;|jiO3rBrRS? z0^^y##NS9Qx;Bw|WkSbSCRMx6u=x|W6d45W(=OH#xk<={OU0;EN}KBV%eI=JUe4Mx zLyen?w@k2J@SEMX7%lU}<~aHZ>3u_tvAy|N5=L_?KlT-cf3_5=fYe6^Ckz zsNOTD+;NL%uf{a)N0?DaZP_Ni(oKVe-7l(w{a;l7U7~e&{4a@C%Dz2zCJABtD(eGi`1!dgI@f^?v-3Ij)bUTf<-+3j2{l;Hzwk|Wasm5Bi zvkzWZ8`o1uBsv=%S;hbUFC=jnDw?3ma#XW)Hym4V-b+K+#xvoNkH)4^xj5plr}0hV z2_CJ|K}xLTw2|IQ?v0VZ4u~VmKVReJWljXw$x)+7DQP!R1l(!u?XlOkU3Iq&m5>I> zowk4d;GB9bc=PB#_ABpX;3W}Gl{W3W2p{y>_2`3r%yq%xWlrVVI=5afey`<5pzHb6 zZ`j&`&rSKhzaI4b4EX)weZ7-|Ym%qLJWVR2bnFMO!J_f454@j4rzIqkJy}Uo?tpMZ z0a_2{L-bm^&lBsD{$q1D5;_ZL$CBact~@ou02x-tytyd*ShZCaahELj3%bi{6$mA2uxdQx(M z4Mwit)o|irUBAV(m=JO6x08d?oJv0Af6O0Do^JR6Uk{^bTY~OiSI3HzRP*1wZ_b@- z^F>>^o9sVW37a27@|#BaTxv@#zj6%b_4PpJjydA6vfbk#ZJM@Ojr;2{B*YZSi?vY` z!Nmx8Sekj0k(!Nx@!;4X=lD=U*kjh)146KIix4tsoB6_LKrpBAkqQqm6*@?UaLWfB7P5GBN&yh`xtyM8Ey@ zeREPW1uX$yuW#0Ir{Axu?iYhH$3gewwBv^3hlH4q33>w;%yMmPuJDpw%;QqblktNV zc!PaX zZ3+HG1s#Ij%&}Z?lz-VctNRgG2-X|V|GDH8JyZ<mL*84DC9#<{2b?HvRY z{_`wg^KvVSX<)aXH3!tk`TTR~ zAUS!iS~>3DMe6ne?}~%33?o!+}Xq9JL$? zW50yqR#wNOu_#{A3jwfaDi@?Dx5lMy{>ul;o!Bj;rD1zrj=lE01nY7n@ssEI>1R;Q z>x;{qAJFAWCTmF_NX!wSR*5O%8lJgvhsiwB{MY+a)EU3>zB^_0Oa!Cx&NHQ|aB90{>9I86L8!~n0U$DUi)Xt6* z1Jd3HgoF4Vf(voNPr!E9CV{z9Thw=H>*XC$qoxp~g^nNgRS(T}(RUo{hP$=t+kqdG z%j2j{!XHjP%|dVEUo})WI4QC}#5$s((_BNzuy8iB*6c8N12~3w4U+$%bxhY{lhS&S z2(Si=WJ0M5BseBAj>l+4b@dEHOa$(Hp~dUQzr0khuw|ri+8BP?p#MN;#*X(Z)`;4Q zN9TKh3km!@NCH7Feq90llAA?cktA_uV;2zxnpsgTzQ`@GC2rI4b(k&yeph1$r==)N zQ87cX5f_jWr#0RKKg3CE zosyvZKN4sGjTIo+1@Y(Y->2SI_{|u62Ta!yl7am$J!j2-C|k$(^_V{Jya~jA+|KBo z?g7-jt&ftRhM2UqE*%V($cuq=`$qYgAEGVCDmipZAD+bhkmi!*m(E|_X zccryGIDh&rmz69ys^?3nLq-V=F6-0~pe)rg$m`cPOyu%i8c`_Fut=JM%`bCd%3uEwZFldgZN_vpm2CCoiu*dV znpm+IMSB$D@LE68Z`W4mp?@ie?x5@sNZt;N8t4@82KWl(wP=IB+1e5BuxPw*WD8EK zX3*Yuxv}dy<-Pm*fF6F+3&%!FD?vS$OZPVu0*zaLMPN}^>@t4m+R-wsExyfV$CK4p zAZtba_?}rtGisxqej!0p#qBs0&{hL%Yu}`q#(HRlWn-F9lkw1pN?67v5TuUfBwg%5H0L zGhafS`_DF3D~IZXT3fjDw&lA!eBXEOmKL|uQ2{v_wRs=5XL`{#O@Fjae3$Lb!V-}2 z=W5Y(^lUA*n3HbeGs}ErG-b}6DFbAezLHrtNVzX?l@8S^HCmSUvB=$g%~HI>|E4SQ z8!aE=A4~?~{zFdQ#qn<`GYl>j?LuyeI3zL9`ZXYPx3D3pan5&IB6!SQTta?{8Zw~TAomGvR^CSZHeC(_;fC}A&BW`+~DPe;Wbwz zY2VqLC}yk=)`Y389_pRZvZtm`RHXbkAJO>~Gozx;y@Iky0zJ-|FOm1RAM*&an+k^R zO}omlRl0rN-)^SH=1J3Ax?fJuMo68u^I9ziNkLbD&NiHgl>=8+>xoEiNJWpor$!Vr zVhe6RcO4h=M)8O%=^gOVGG-(;X+GwL9Vz~0Qj*eKasJ1oY%-B&x96J6Qsjp34OV~E z{g+DV@a$qZwQny;!ob$(RS0Yfw9dT9s^szcbD0Z?U+!YrJ=PIW=ZWf+#R3jp_5n1N zJLbOMOu*dsWOT)vm2kO>{j1qA#eY3NVqM$g{Qy!lY!Kz|dQ*Komxoc5Qck$so{P6P zvp}4T{(;|;B4iOuX-6+YC@rvusmIHfhUt?wNpR9?)E$?mymVvzN0@JwP`@pfm>42e zBRb+=9E*(TACC29td8`ASTlf+1;(;70B6JGJHoeLCDEuJpQt2rH%DCgYUug-4Fud0 z6cp@eL`fZc2K_hM&ibv6XwA~N6Wk>PcXx;2p5X2h+zIaP5Zv9}-Gd+8Ik;`m&et$_1kEN zZ}!mvS@8`u(EX-D!_RF1Dv2ePgBM@#BTJEmdDv9Gq6tX^mwqXA zFpoDhk=9J+=-ZXXSyHswQ4!n;$-XH8_;j+MUl|`_vl$JQ9ggRi39DAreRk8*%kJf1 zRJLW|BPiy27zZau(Btt>Um%Lm>$UP)?8j-AB#ztX*VCt`4)csJXru1;Iev=aHn2AD zBON_W1cM9S#=!k+)!49OAtdt?+q8|T%~QcQK7rmrne!0Pzy1aXHl=AkUk|rXi{$Ol zG3=DSUKUXB={+p`zcnzbSzTiju`^9i!weK@!8-I@}Wn(52 z)6Vg{r0k(bB(|T*my)eWxw`DF2B>}dqD@NhHFN?)Y6)}ZNrXiMi@}k$;4ml!$r1G3 z%7L`fKz~TM&}h;JuKK`{QdC+@YTRS+F&2on28Hn}ou)&?JU!fbi<@h>%;Z35vuc!E zS%^1)Bv}&h4E|PqBk=jUogmt?;touH_x6v-$bBD?!lAc9xopIFPDQpYfUo!ITNU8N zP`@(meK7wyw#Mu2dPpca1!ug%S4jS%=XH4Yb$H?VV)q7Kpgxs;UE}!GFp(Pj-&~O6 z1}OzpBHxE4;Gre2*+2cLTyWB4U0Kv&YYTuTOkgur&RYv510PMTg1Anf2JFUJ#zu(l z3aU_HkX#o{5V7WezM?L)*nf+&(wLUgUN#c!J{tseClRW8lRowZhJNjc1K!#~o+46PQK^RRuFb0@^ zvOH=uZfA=fS$byU%>D?0PE<*6C3{TImyWk5+={0+%76maDMAsa$R6PdT1CV}^U;5fHmSl!9b84pE?=LPKLUDNlPzkS{VZZEJ+W+-O8gp~9ie9~(}C8Ss0Jo%jQ zaJ8IZuPaZ0=+QjM*qXG_dEw0`=Zb|n%c6vx!eM|QpPI?G>ldE=pKjpVv2XCucjU_rb=Xv{9SZ_FHd3;xdI{tCH z8>`su`*c>b+1>iM(8A>Fb=6n#IePQs=I61O(Yw&cwJ#2$j`B#=p6*(PED-*;bhtI! z|7BY24aF*~ymumPRl21DJH!~}TSZMqMj~KuG`X_QpHlzEv|rZwrG9%p;F)lh6+R(; zHBWsM4Z=HLDTCms0b@*Wj{^e8rR)-M8qe)ELf^zz=A?EBfMDQ9>ojmX3BC|cl^7BG z)H8b8Rk|8GcM^N|w3*yF|G~NW_ISSH=zV>=GCKNpv;UFa>MO=_2q)HbppD>zgGiR2 zCbC`@5Ex^NDU28Wn;f!lFiVC2o#49z{gBPmCnIba{2jL1vA$;0UW?_D#Jvj2&a`r> zdXq*|-ocb#qk2Ply#ZOhFnZeInFvNPiJ^zh{_h6=K4y|D*2=_Jf%4i6RhPN~K1nDS zIgA)NpaJz~KKrP)s-nM!W?0W=CU%z+t=VgC2&Hx;oK5$(g z#hXwCSP~ziN2VeCK*t@IG3ds-I0{RN_BSytHiuYm1 zbyjEET5v9U5hZ38qc)Y>?jb#*F#&Al(Il2g0837h-TW|%U*ra@@w&X486d0R{$H!$ z2J_E~L1k!l*ffE@Y4P8v2FI9N^5VI9BvKx0vRfFY`nzx=tye8(YPlFb4e-amvKlBT zyxA6(-VEEO)Q|;H*m@rFTG&ocyq4^WT+Q#aXP;nvZl7jC?c?1o*M>5g?3NU>yE;{_ ze0&Z|Qq(uI6to!588Li-cf(I;0v^#hZHUdgB!*iV%LxLe5ivgy@6BPP(|+Y=DCoqg z|FKE^f*_(iTev$aruc~#TTXY>F^Z^8Gr~GXlx)X-pu6MB?ogRj`xf>mCle_9E%BDVp&Vno-Io|RniQ+3- ztg1@NbgHvu8m6KpWTR0W%70CO05ijT{XJtO9hq<6Oq+fg)sp_Z?DZoSPRgz*j=fnh zm$&zKI9V{5Bq_cN;yU4%f&o)m&SJZnjp2I`6%v?6bkuOC<6V_XRP(?H%vwM7PQ7oq z$t8PGexOw33v6nZt5LrrxnH9~(tZxNyQq?H^g@SkV|8!(+G=4G`Os2)Gd`}pDWtpD z^KpFq9d~4DBRf4va&P%N&~{Z~Q0TYE+dbVOYk%2(@~8_1pl9 zp>N0qoMPmA;|BP>9uae-nne5^G|&U1Uj}gTSXL;%*oXmbYT~{vtobcb#@6vQyhHT; zaQZd&W)BPpk1}nsVoENzD}MIqx(=~W2AYkfS>#Au!6@N2mVcHQZcAf)su6gb0PNNnqlp~sUmXsUZ+ z8qB~H%DayKY*gA`LyA4qj<~GD%)kSfC*{`OQ|CTQFs&|bm8upYJuH+WzRHZ17<1(U zWzAevuH&@RCjF;JcTUH};BUJsaqq7U?m$*u0Hd_$KdD@8FHL~18Kz^ZflfAgFV7R= z`05xGoKtwvfJUyh0G7trKAv`N1IPDKnCuj{w-^gzKF4MQmd<8YBG@b?Da!jH7m}|r zFW_y%P!}E3Xp(y8XPlClv<$C*V*zocdkbL6WC--EQp>gzvmu>vL}TW_Ox;=;;!MB) z=oc|vnvO{m$gfkS(2M+YO|l!q?40vBIk|>>RlK2Xm+RNXxz9NYr?O&lhjRum z?n`Q@OAsN{tFfF`IDdK#%l44H#SJIM)`-FUjK5{)B83`-ph50(e0Poqj~2-z3PDIN zFGpe)ko*ttU3@$z(%M$7>a}s1SioFEt(2rCdXSz=kg$-Bff>S|j^ZJ`5u#4fbvI;@M@_Av=c_XGcMz3jjqfGbE>h@&+CUSouB{mtw$H(aXJQTJ> zc@?s!*V$(hD)4`M>9~2v9rgS<74D)_B2QsB$ZrZbNTA@@cEuzL#+ z>F3WdYH6pB_DyD^a|@DihhC7^=^l?hO3nV-$v002Qb=ECSX`RBiNiZvR;7ub>Ot}! zr{3v`6HIv1okuTZ-h0vZg|__cRPn9mdJ0_ESnv^It@ZZg?fJQTdwaKURWeSc_~CIE zi;=i4&?VsT5q9iFz-tF^c@s4f*_lMMYH?pZupzrZXqMs`!Fse@&FUj(qAM(xx#p>s zany;wD~oSHms$$xP=hG-KMBA#fhi2R$VF$Wl3{}~tWzu!==IFf^v?flgc~$P+mX%w z+w-Laf1}ka;JWkjL+s<&(V}Y+c_(1K(=ovHrtYE1esv>e^EENAtGK)1hAD&VY@|5+ zl=0=awxNyuA?O?_;O*Mh+41@^w|Beg(_Q*GTXBE&XFLAP?9-?ERYZ=Bw81R!UThvH zF=p?*-Ze#qWr8S$0>U{{nL@OB+O`nyGqAbOz6UZP%HfpSopO3WsR&n$Px77ZE?ipmL0|g8Zk>Q@pFc2DOo|aqq z(dvmH1B?Y&J&fy$U)0X7qjy~lY;2a>yty*Q+NB?z&F4phH_wVQ3cjk}?7ZHC)&tm{ z=k3cH0e1&;bOf9_zE}?H&2uJ)_$(_>nI`2~kjvIa3 zv|-ZLTzYF?J01&lar2c05+Qt|@_w{qOHr^W9>I3*?rFr`Yu}4FoY6x?4_VTdQ zdPQB%)n^N1PI)E>P?x;8GrZ)h`uM?WH}ZxpF-O2kiu%I*T$*p0ZObIeC|(pdC5KGD z<2ZiJ!{3ZM^V0(vbHqIJMyGDU{0F&O!+bn-8zjn63%X9Sp@unWR`DaS?)0;?Xvb~?juM!t&9Ppy&JK=;uU`O3FAT}SADs5==@Hp#hasQNMHI30}7NQ zim{-U*m|5u(>)U)#ytyT8V+m8*pIKoJzWm7ou+bK`^aj^7m6Ajt@@WtI*wb%7NdS? zi^1R3!Rk(m$q>MrUlibAr*bl#!7|EnYf4EH%?9}fcnv+HKoc-3=2iMx{RVbHd-G>8 z$qAwLwCSQdaZ?Ori}qe5Uh^{*plN#C9^D@=aY@k8qd?L3w7=Wp*f`v`YEj(Cgewm_ z=EuJDI$-~4IBu=>W02XHBgBUDY)D1AuXXu=|GyNMq71=eKj~DHW`{}O5o_s$Kv4Ww z;!@DTCGrsy!kPc+P;WPlgjn6?ZJ z{!T&?*p3tqJb0Js|NfuWEtX0(Le2Ov#c0A5np?Vl0wFW*L-B&E346sjUT11+M;);rg}-#SBM zEF-)dRQ75z^5W2FL&bjRA(f&Y|C53H<)Y#yqtGV03fi1|CGg41d4tq&O?OYKQItsh zTL6AHsWhZQ(;YAG6kediuOcX;@mj+@sgcIdOtQlE7Tt)8v?e-DD-9{6Lnf?7^`-&I zwyAC3&eyK9|3c&`USN|ie!aC;P>xPQKdx`6x0d3!pSd){OtAhZ$-}ud! z(99ZJxpAt?4J6l@Mx6o3^?dX5oA!$9lLfw9r^1g|Gx*s_`7M2 zHsqc7v==xTKt}Te8E;R1j@LOs)SO@4^pOh@)&bg;%SsCD;)lVv}spyA@=)7O5SkXuQdq!g!3td(-uRMY7URngqs4b#_e+5w`PmP-D^Gz!89gRiJHYCx6rf;fdKb|kH-*MuZW8F#Cz zAJuw~YKEoqB%@QWEBI>g9idL?8}d~qSWw`(R&6OA-aTZOaXHHHkY7~GRKSbucT;gk zCx5|*nlzzFO>+T%L2YhV^65Z{HRZUn0b#ciXGo6~>@F5tcFua;q5o2FgS`c07BNLKoA~YKU&MWY_)k1cqzMPj zx&PC%v>X*pj1@biw_>pN>lbNh;I9-LC}Hhqu>Wu^ozWy>Nuv5k=kv`Vm6@r6Pr#Vj zZnQmav@32L!C46|SN#=pIF3EGdUt+ZdU3x2n?(VjovI^CtFvUiPNJLJ-J|LK;v^$c zNPd00zyj;HE!EVgCGgAH058Nb0SrnG^A~6s>;wc8Y(YkmD#LiBs3dQKG@dW6@j-Lj zy}yZ^#J}DF4ko3hIG{fyEU2QEnH>lIh+zC&*CZLtXG7kFF5uK`ObLeZ|B>+SRLRxe zLn*=T#8)RYe%#9^CHC6^{~eUWFGx)g`+Fk!mIya{PvS- z445UU_b?fmlU>l_n5Le`R1068`f;s8 zw=oeO-t7WLfJAExZ_m+I*Wz{x=+&NOY3uJcOPTRY6)Btao7sqW0Up_fx0o-P|`#M6qtmgbKHe>YE!18CfZJudkEO}Qh;Cb!M2}cpvaAz5k{;; z`C`A83(z7&zbIwN`HiHox{ZYS3>L)YC;bCCX((6Nvf7q^q`(gEv8ZAqlw7X=r$><0 z)@j;KA@4$d36?y$%J5yyTK(5?g=$VD_oAo@*ZN7@}+Aza2JljV?sD*NVzB>_483-#s>Wf2UWc`cP5wqO)j&~ z-NuHJ9m-AfPMg1`XN57^P0@v7^n#h*RZMn^anViSjQjt9_Aw=Rj|*Z=l#S@XH?A-| z=oOEG%K~WDfC|9&b?@N6wVbYb0get2YKB;od7bd z;@RjLik$viC5&OXTWSb4&p#^ONyEBKn{rJ|qc54n6KfJR?OB8R%1teVGhvB!qgHb= z!}E2mJ;>F9yAdgXnk#GITLcTE=E(OdsGZ-enRuQd5J(rrq$T@tn!g5yB%s9t|757p z(yr9S1=mSqYjs&bT7h=nKvl0_V<=+L#Hc zwKiDJ&7+7k$MEis@SsuLM~+7>!Ja>yPL_^~YLt|4g;IS0b?rPUVH0y4zQ4@OfS=vZ z*4d=!#ui@Kk}ehhNs9EjRKHAQT9EE1>anzw-eEcP2DLw*dkwv0=br<}Y=p2S#MlB` zm7!sYfYg4h_|eiZ0pWZ}oaCH^I~oyd*F^sYH#7iwYR3I$YX99+qi8Z}G4343M3dMR z!R80e=a1akjLw5KNJxb;^>#`vl^XGh~K3LD)ld-ZsuPf5_>X7qVt=sX2 zev|%Jea+3(w+MkQPSu511+(XfB*3o2p;kfU*BT2_!bqeWGO+4kWFv9|5x_6fRJ@6$ zYdLF_Z7Z89L@lKv2J)prQ@(Lu zvH&=jovg=u<0ryrq8Lqi*5nnXccPlb{hpAIW5y^`T$z2lXcODCBKW-PpqEdxna3 zWp&S1`Nc3X&J3Bzb?j>#^Y7U2;ILU=R{!M-?)D@c2C;OtdugXeHR!;855yt8Rkp7P zhq0QhtOBDONF}U_fQp@mAi(Cw#;c%0&P{UHGoBWuBbhY6-!r{Ic}}p`E_=u5tye+4 zCurm0efBaBZu5V6nt0(#`Fv!pXQUdQT%eO-sTpl`eJ5;J>_TW9i4g; zMYl0XvRErX>So)8deVuhI60lLrXlMfK^|DJ6=g{lh9B6FEd?RPdAD%tOSPNx=yN3`NAkkZt}l_BVX^6ZpCF-0{O&v#j(CmGjm#$Y#X=_C znLq7lRAeZij1JTyAKWr!iUKpsBj?&@>6m9bvgUlL(Vcf0Gfw-$dx0ST2?gin7!8aq z-kECA3T)O1B1=6jXC~DD0;WE(GmxkqwxF%pvWI1EaKn#+Sn)h16@*KK3VtE2uAIuZ zW=NwgElZ+3R;gson~OL3onBUFY#?La!2H5=%>u(%R9afECBvc-PX*cG%@;T68TJAycXLXOo z)qGK(gxecQVZ7^#%jMlca4FW`*7JQN)*0(3{o<#^Nq7gY+YWILClWcxZCk*Jmp2rs zX2HaoC7F)s6^g~nvut$vl zRT!L@afM7L_V#|F@nfUdY}RsM^zWSBvoHkRMBv}j`6saEd!aO+3+yj9e?Z4hfhMvO z9p8S-ANN=e%fvKUk{6(D3;ZkQxnxEY;?J#GmFtl1d}gzK8x*kKI%-9wkgqHQVg6V6 zH0>jPzjLQQeT9})RfS2-E|BwY4vPQM9&$AzMG#_Rzx>E0{+)4n78=Pq$)LecVvs(9DnYAUJI2ej>j>FoS9O9AVdsKJ|w@JK-;& zgmf^sXXGeXCC{&*f&LK7VpnA|Y*b~|v?YA`H#IAI<6OO-9F&G#DyS`>Z-5MO+_7q! zRABt53wc_@)Hh?@Ne{M=Zwvng&e>ck0tNz+H3mETJ8{G_XxmEYmBTo?c~x=GYU3a^ zqVaAx_;qB<)$NFV1c>m~cG}p_4vRoZTv`DI#>}h_?RqO;ipv~+>mWGP5@ulgZfy=G zu}HzB{;zRppakRJzI7(_RIKTOxjRfV7C2Q5lY3icitvP=Q8T}~B`jCpns|}_ka3t{ zo4kneOVLyu37oW>Jy@d`T;81;g9Y%`;!>qOXbLI?0Iw(Q<`Zp&(W^Jhh6o?C#7_W1 zv7FbS9X+<_w1MR6AgpPP-{z(n%?(<+kZ=#di{l(%kdT7)U76yEP@RIOdgOV2L=(Qy zYCx9`d|uc^1d$c;`&T!m@D#Noynx!}l3C)dE0(#2O3H3d4oio)vsPgXD zwuiTRIAZRL$!>%tz1`fnWrzKOyqxh%`dvK5OKL|;NF};D+~Pptx?mQ3$%ZW z0@H}a*j?uJ3!bEz8ZvKUN*q0;DXL*QciLV|#va~k6hm~LUpEV3s2xee+nX^xsypgi zdkgVuI>B0N8GM>tsj1}4)|$`KqW`F`+1Yl@M_!Aio@~ny2 zx61ARhZ$n+1Q%d+3O_U@kR2X6`O?J)JjiY#I3w2x(1Hr0e>+YlKh>(>V~8jEIm&XQ zqPv_xr`yv&^V~=CbcdrFG^TNhPOm_cVWbil5g6Y zZalwjys9HWbS+ukw_jHW^mJSHhcI{usN|2@Y2f-YBI6OoB}PUaV(hDE3s1L`9_@TGd^kz7wWBugokh_K*6| znaX4%fBV=Bz!G|BkiBS@9<};fr}oHK3MOS9%29!6ch4{RX%mUxT!T*npgO#r1LhpQ zjN%UJhHLI^hzvvK&iD}%%KMiG{SC+xh`<2b?OR&zCwk;36B2&#bBy@{!N*9~92z_( z$c}}-=nhThzhNk+!w~LQd_aD8Ow}<{-sN2Hk6Fd8wYdZze^s-CE|4Tmm&fBaBW(@;e9FCkqp3d|PCUSS){_;QQd zk!~5LnvQLHTEok`i28@-eWFqTLNSZ7oe!H7Sv5_Piprb^%M~JYXr7Z2Mlk;oLM0{I z_f;OO3rlWZoMS2-nOocWPt~EA!wat|>uXs5?{fQE zi)quSWxU}Ew-)&94c#<;w10|>I+`RLC^03S{;d1a8z1Si!jC!f`LG)sgknhBaGewx z*5wNFY`7B(Pd6;7mgoK8zR0mF+{3GJ2p=kI3wQ3u_C$8#5LNqcE4{`V7PV(Hucn8Z z+SEKTv{*jy7?ZsJ>RdiMb@BD>R$lO7^ZhowRaQlXQ}E#;f>qJm8XrHZb=rjR{b#}t zxe%B1Msig5uN6etGX8!@C#>YI883A3vVEMUGKvO>Rkl*YwOS4);-rEcjylEDHE?#X zsoR-2(f^XhG>qFWIhS>mZN2doZk^}u%>M3T$c^bsi#W&wTXEkZIqkC-fuZ(S|HT*+ zY{!OQyC9X!$2y^oK%f7EC5>-iUbQsi4#15npr=694nZc96fJ)HsR}MG(zQ-&1FxkeN`me~~usHN{~bN`g&#UoS8Mj(%Hpf2hpEAo5+kfF zEZT3uyKjp}moYs+&wP1FeBVkYQi$aFF=AMqm zELwussf-dFmpS62d_70{^XxtN-<=O5^+&a$nUJgPxnOgp-RqJT%vv&Rk9%T*J&_pw z`yi7<=CJJHOs+lGViwoZ|3vMQ2=wiWdRyrKI`G1+w7kOebt02*uetP@baONIRbr@p zgOfiD$~~;4BUZhfLhB}|CYXWv3-IHTQ^E_xYq-)ipow`3kelJ)Edg*=E5=E4n^DnT4Etkc!*2{ib?BKJi}LT`hm39Hdw@KUX-%4IO)dg;nMM z^7N4nba!F^D-%`d!$~s|=re~O)0F9vhiInY>{p5c7^GuW_DzSyJ4O0;1%MMcPL6b7 zRFo`>hNSXWo+4J%}lXI~+ z^7nBhHjs#+8l-4rx($=!1Px1kj)|7CX5WKI6d1j5Za)di^Nu=AMfphRBd&c=kzaUU ziq(U+u5Aiploe&=SDw=s6<)fle0cA^z)l#~!W~mHs%cX6I?o%49$kSr(b!!QHKzh- zY91OE^#gkaj?P1zj#XgVn+H^qtP_OOlN9g4aX5qFqY@H(Zi zq{#GEIY02EBFUR%HyVWtr;E!6CX64Uo;4z=Ay-1Ip&st&;d`03pICeJljw5Tu!r^Y zG??<);~Cjbzll@vOIfE58%e5L zyk%e3WUR0`S5uPaaHM#+6MVlFk1?Y=qcPM#-*9%oCuU~gJhg)CSC+^x1JRZ$Qu+SB z?IcnnGFf7v3z?&&IqMhL%m&Qi>O^Xmksf!yI0(YZh5R8rgO@hGhXlVchU++tf=S}R zolh9UwV{IC<|(=iDuH1$215ZZ47OUoSl=eOo=g(g4BLC1e|KM}r|r$>7J|sqeUMZG z+z*92jY|1*tnv_~H``_q0JCy;$PsNazNmhB?lt_=5y%Y_Z_}9TCxOl!ip6Rg{h0Y} z3qnRHWY8VA<5zGLzA+M#*mQ0R{e(3H-=@+@G(h=BLmVfmRh#@e~bWhQLoqqr6 zg*!hKoijJoi4wo=IV2H_72YwJ)yLElOg7Hn<8p}p%m}QqSUl)fukuoar&Tgalnr7s z%TX!tlXn5hx8L^Bcs3-xyPwiIG3!JsxZxsBPxwqGM4|E7bNtI4M{Hz8@R0}SL`Dwf zJOb5;2*~hUIEWDR6Sh{y`-s87T}e0#mky$KR7O(g+_Fh{du6O&6r#4fcgg7WaJmfw z6(`#iie|+|k!kiV(UlQZ-2X66lTib{N{co3n_*!e3uJXNgJ%gt)B0oA#_=R_AWXm^ z>C2WxS#s#cnSV)v3E>w$rfswZ_)T!}0t}7&%imRxrWK+NE+wiw(0OHrw_^5~$rlR~ zm+d!1ROxQ({HXatI^A`PLO)>V^wduRzpcw3|0H8j zZMhDcee^mDP*46tJH67BZOSq3@NLmuBn{5bv+UQGe8YDcUSxI{ZD8seM79H5^;a3> z3DKZy zl-rb`Rki7N7V`0ffFnk-Xtqhafu##OYvK!ttF2zA2K32&1$6?1wK;{~%xd!*W6(rs z_n;fn#9-pr>yr<{JnaN`w;K!pIW@vNh3{esCFhuBC7l`thfc`L{dGxVr1T53raaCx zvp8D11jQG1EWscRUMZVp0)yxJrxJ%*e(+&!K&f(YCoi?xF!S^fE)sZ~Gfba+bgw;v zD5WIQEIfhQDCIoX9&T3Bc<)R5-<4RUVX=4KPTZcI%lIRxkbxW;BxZ-^* z_W=`%cuB5T{`Sk!y+em~lox@w`cfclX-g1!u?wa*ZTu0IPM@mBG5xjIeP>1|J*OU#XufnJ>cx3@3MP@kVTjN*@H2r0^lM0 zBIst0cg&r3>ftekdNS{0wliR)Y9Vc~#U1xLkHn1QmX+fjL8b(JZ={DBN6r_Opp#Px z6tS5W>rWjQo(Q@lm(zkO`}A~1ZdJHln1>sJ8<^@$_T>ks%aTnnro|oacC-|6D^S@7 zVFs@&gP`^jXWu6QlDw?l`7Wc&!BR#uxrRKM)jiKHsbXrY08IROkgJJ6^onk%zzETG zk*7hW)jsRo)P+{PP*b_u^V4Qvu{}+x0^|bGEKv9gfKP@dB1K@MdshV}(I_I5!NQ1V z*65d9Bm2|hB{`^VSYp`B9#G;aL0j34B^>qXS=`)tQs3MKJ@X|b&z8I=U<5WYOSst+ z+sh?))L0*em+td1@^Ur?{!EvHOA>Lw<@X=FDV!4#_UJbS6RM*ka z@nBTa-cho4k~D@0)bg!sxXG{YxDjoc(N{TOuwF_ejA~R{;`-KT(C%SHk<_%frbPmC zTlios<(^sXa(EPeGhKO8g%_;Lp#4O4Ns*Wq^)27BF);YJgqf2iG31fg%a+qTWHbWL zI4W?(2tlI!hG6mc~)QR-Mbh+_;9Br?#hX{fxyX%1;}WzeZNiRSqnU_;E3**4+g%UJ~)eHf#2{TJ93(GuO^xe zsHf&3odp5n+wFfZACV@J{>X&c)#5tK%PO21BDyw9h`Wa{Em5*d2fcoYRl*75QPYO$ z7?=RpQNqG5(Ntst*pTcxno?`T(il^i-+?r$FQrM3&)rH`OmSCnuf&Vfm^yp0y_N_Q zMA{x}DoHy|W=+ffT#@xbbZ)o}@(s8dD%?*7tHuSYhnLO|J|1yWuYO?bZiJ!S7w;_( zZ7+X9?YQ4A!@e3H>C3)a{3`9A;E?hU#XiHmHqNaL#&w!=K|jnLA_RRz{c3DYSiCZQ zu*{k~R_xJ~5*7Fb{U9&T}$gc~}l+LQ!EybpkMyBgOSbNRBC2RNzn`85#C}fV0ji<47*%z1ui{DBa zWLh_+NWQ|TK}SsjXM~OoU>$5-1~dbsx(J0?r};c6}AM3q&oSB*0vk=|xIs6sP!>FOQ%F@f?PakT)_6s5? z0A-5ypYLeE34hfYfjaMb#=P*oKUw%CkOwe)Dvn(Xjjci3j1QLGwoK&3oFb(VSxMZ! z1B?AMlP9NKiQ1|UOy*@_g4o+$FP)nL#P45XJ{RP`f5K?BfP$SBvdwitcQn^z%qPGT=ipzKdX1ukw7sUsBU}-OCxAnf zkOtx2A9pA+1&lSSQ4 zI$~Vjsp0++annTR?H#^m$zTsj4PmerPhXJuIGmAMfCiM4`4DpJ8IbDTEJ9kabPn(7 zqYVk>7|WZbV{93AfwN7Zpza9)9g9z}1BRdVn|#f-wS7*0ZbN6B_#hV)uBjRUNR2Ix zt=qR#QT*R0UNl-XYb}_($xbJmtJlH2#`k%WBaaT&yvfKp$vf}IRd?+vJ?ll#scgo# zNJU3Q{k=D%5d>}TQ2`UC2s&619-EA5nupyfF_jYOL~qL zt{%`Rq{)AR4QyzbspUaCwpLL!#&IAi7x?*|zdu;Wb{3uMjJJs(m1Zg(wnjVQ+V;JU zs4vAY&drv*me2QEkCg@V48^^uSWT&i!QH&l(Z+j5FfctC9~>yzn6Yt0HNP30&R>?q z-uf0WDPseTb868KIWCnivT50HW-56Y>A1jRkXmT`$HkqUzWjjJ{Ps{3E5PqF9rc_` zAemD`)Z4P0Y0nt7&+dyX@4-k{PDW6;^Gky)PO);;GQH;#n0!oc*5 zaq-)VgM2&0Q+_4|?BtGc8BV_{kL(mEg_Ccm&M2_&t+UHBL;x^s?bh$*T^dKGk!=Fm zTjH5G{OudIkQ?P|t&@)Ex?9@kOhZi-!9yp1LQo6-Me@?H(PxxjOu2(cB(>c1b;^`>d1_^MT3_h(=9YBJQ`4q90a)!{5l8rnYo$x zIX`v2jDfb!8>af_k>K}w=F`s7Qo9nL4JE9chJAs;b|!+ENfV>_kJO{>R~n)4gIWyp z8$Q7x^gtAD90!=}MsGrWH z_TCPxkDE0XyUI!Y`?|&e>+XE(sq%8z z*|en=CG)ET7oas2oZb}8ke8r;~nZQFLz*t)T;8#Z=wW4nzS+wcAT-_Pfq zJ+p&nW@mPG_tH7jzV-+l(QOp_##te7iE@IQtOu&BG7CII@M3WLj3a{SraL_SCkLN4 zT((BNZOYB^mDq8G#9VS)x*;?yCs!l#r7{iZXRf!OYz%M)4Xp^4(|aG<7d8g6%Ee2? zm7a7{l6`_EpUsTA;o+1wQpx2}v7_qK=-Sjq^<#8ZzF92#E%s4PLE0?n#bT>qT-7zu z8zyjIIZnhCRnd^oxr0!vdAQOtB%MRFGN)e4eRektlb40ehzB+}WdcfaSGzu26ba^0 z>)1*Z;v|x4D~X*5r)ke$V>-$~q z>H4#v(Joi+W|-zdY#{DP#lb)&6!21P6sfrsP5+NdPUfpX3J*h?g=eur}y0E*oGOk}C_*!KkDp6gPv8^p# zMBR=_{2|H^x7O_=f(D}C9>K2)P-_rsU0)RR416<)hm#ERxJA^qL~E@&`aR7UZ9l~j z=-!+9J(Lz&Y5RSs$t@~vu2-qMqnGGz(Wi2n5zN4wsqekIkDD5)7->45z~y~zo)Evi zB1ZWtMZ4QhXTkJBi{^>vz#v!$?cCb&OOB2^5^n4LH!aLC?iv#B*tqSxw+fO*ih@8b z2Kca#KG)J&0QG}|e?5a-zcIaGnEW$>c*q$_&x{X0773}FHCJEd7_W_N%uT=ho#DL! z7V-EM9275KxP}B!Dp)qFP+Y6o z{C2^0x;VF&edUQT%SZs8GP^so>SWu2bX1Ow36uNdL3c`>T-s>M=1G9p?fVuV7k(9N zU4mLjiAU>pXcqmRBJFGGtcsTD>`+`6m&ha2H3Q}T{M|yZ%7jwm(AvxN8b~~5a{6+O zgr$KFR{T=Ic?a(RwHAr02dDcR-$EHZK=MfY^^O*ySY#ve&nDzJ6Y5A8C1Sj!WAhwp zR_X{j?Y5O|y08ugzM!^GcFmFc-vw=AlUOlg&24gQ!%YjPt#CA&nonZ5=xZAAkafCA zc*mdViF5XQ9<-Vxk!QGeRAkH4E>cX*Y-1X5%DvGPguL>t48F7ms}agEGZU;K5LJi= zP0|L$@ibe~oHkuz7Q~^02T(k8_B}cxc!ZTtSuL`Tp%Q;{uQy*4TFb@IFc;1Jy`u!; zsM{=hOeCToXas($d6_JeL?s{xm92U)8p_MtpA{7CT6(&>vk-^pj#?I+Fl_u2Rzkki zuzZQY4^E`$_tNsW}Aa8$b1KH?@ma3jCx7?RN~@&&!AzJ+~+hpup;Iiuq< zI7NBJCQVm|9H_lyfuy*^|BGB15CJ*4??Hv_kiJ#5`JPPMCy;9O913@O9_gT~Lw1v7 zT#a5QQDwboY1f~Scoi(VK?(U}D*70koi3I`LimyTraX*tNac6&a3-_2V#X<)ZqRQ^ z1+2-XGq5e?zBRE7b!54pXhhi+5-OQD^^eW!BE`X&xyG;G~~!@7r06{Pl!@*XP71ye-u;}C%~fLa9cQm;HQcYy~1G+pG=4@+=(}3-6GbU zoR`pj8D*Owo|AK?af$t(q6$|bZ<({|JEz_b-T9X+Ps!=~)Kd}AT@dP(%A@YqYqL08 z`;ZgO`+foow7ZarxhD9-qF4K!*-q`2hxjsR=L@Mrw^A+5FS~gxC&}0 zal$Eyoh837-++h2rfvsd8Q_qHpr#38t?iPI?a-?*Irn-U(r570PbnYWe8 zA%sT*>_kSzJZJrJoWIJ9lZH`7_foMn$qwP$RG*) zSj7RvQuk?`xwK1UD(YhYuyMB(cci=hRM$O9Dt23u?fF^U^KG*$-Qqn#gd17v{NN4G zwX#s(qc|#Ap#Ksl@uL zvmm+H%+Fqgr4BdHQLaw;qQ#GU5d@VMN3>L(Wl{@?xp-Qw=K^ii;?kft?xuhOc<^4JdPy#QI4gOWrk; ze;uq^7ywo=d;a~Gr1;K|UOg@-Hp;pM_htvOYh6+Zf7pt# zEd;co9aNHE;`h%LFQP5e{BsNesje(!VLK%V`pc=_Sin6B1hDhlO6A1DWBK+=aP8Jp zo0!Ht$q)M2hcA+*w@($T%4H%?Ntv#QuJdjyeR$5HSdQO&T~||2WM^lu|7iqLr*>}& zsHxe!+-X>g(TwRA8-(t9?OXyQ^{Knd*Ru|e-i!jcagm2>mzFmwhU@OuMXLH~EQw=4 z>~%L5pCuCnYTfx~A6}{UzFs$ti^!0u;p8w>8gXEjSi5;?GyHM))#+(FI>vy zQhWo^(Iod2aY)z0woKkj#W5)~iJL9uKyG_9KX^AQ5P<)K!$7Z3;8?JHLOq+J` zo0^hDO^ZUAWMz&EhrKFEE?TvW3x(U9m!=&}JC(B}w(oS2QkcO*!=QfXJ$-aI*;tcG zUo~9J1~ufSE9*O(cX>enzQE-OlDFo+0AJU)smSID=`Wse9HA73dUIf3wD}Ge_ILy+HJEJ*85g9C- zWj>AeC{iJ1%X+-fu~lPoyre{}+5aKMVbeo%%X@$^t?_gQ%1Yfm6VRwRA$k(#jbDBy z@vcxdnR5=rvv#f;|K4*CGcFFtLHqC{2WThR(}sfEFXfTnrzoQP{B`o*97--+yrQ{c z5E5-7uizqQZ9t1H>!wX5p9>JH4ZD#U>`>RHEvBmc#9vIGzOej` zyt2^zETgu$&Qst^qAPqX=tP+XF&lHVmd_4dIqc^M?-fqqb>cOetY^K2`>w#NwNp|v zsav_B1TlN4LfZvmn`{b&ETfy2(nV|Q7GO%7Oe6nU$13oZ-1K`oNv-Y*0#j^EtY%Br zq;Vzg+i$E9S&fECq%Asu2Hp%x?^CtNHjrl@fe)(&HmV*YY@s|?YwlR|U%r|`D+l&7 zp|U#!F&c;Q# zep|ox?eHw-eg&I}V|Kt=wp2FqM9eQ09G&l){mx=uu4JzAA}wLE&JjWg%% zDm~Q@`^__XRG#N2y?(SAn*}0pjIA-#YGLTrbvcor6HVZ#A|8 z3!m`%tcc)Ms>SH5hbvX>2q|SXxGU^k5zu)3;v)x6R-kooOG6ySbP9f>f%8)y`Y{gV z)fe!i0->fn`rRl4`B ztBtDFIS@3_wJ+$dK2PDt*}W0E*^kH%GAe$XEOdm#AoQh`9Jzl<<)<9DJp(zV=jt^T z52jN;1dJ0S3wAn6hcLh~e*~7~J}fQ&Ri!fUjH;SvEp-GgD2p<$J;xWV;Kw^vtnu6G zzgafT?IS-<<9O4+FTWZfmud(weJKN^V{o7^Kik}WH6h4#7fnIX1e_gqIeJ46Sj#%= z>m}YqAM@>fttj8vDLQyFboyEi?Z9@AkJ7E!YO_6xET{N&fDW#VI&atfcNX=^Lm~5G zxujYHGmV-{W>dGo6Um9kuV8OGrGrxKX@Kl5987(;cQ!X$#L=}pcd)L?MC14FK?F+- zmY7SM2~I!i$!|;9k{#<>s%VS4KBAOMX*oo0CB5NElXnSaupA6f^TK=H2=#MOglRT! zn^jmQMi`7>t9>3UAW61&#iBj~-fobjnm(2RtLK@%{%x_rYxpc)UdvL?pWnZ5@XK-Fai(^}o11Z^%={uabXU(s9t)Ew>O8qhz-s z*=w6zVc5bVd*_pSkG$i8C$AWUO;Ya$)sj?q7O|!tmm9O?em}L8Z~dp2wT8In+;62j z@rIfVv&t=A?a`@S{j>HONa*(U3N1A96u7t4*^!KdJ}Bm^o(<82yyqp^b)e{JAHhEO{O1h4tDy1e7_( zd%CDB(zmc(y7ZIN8=al3n?993eSiR+Z8{#0A3gH{sDJxQagJkLoDCqFriD@Xmqu24 z5xb;9KBFf>Uct)?)@`~ya~>dxU>p#GxCAdFFj6!4M-(G#;f27#(^ zxjIgb#|JUx%@J#4S}3Ep>s?i{5d_mZl|Dj%UIH?Y&yQy1fHEWk%^hAA@+UkO5((;( zWT^^VQ9HZ-TcGkT??Auy`z7E{tsAm}$v2ZvL^NiTQRn)<450kaugbPiD(F{OXcOC` z@xFDd+A&fV+XJT^O=_H+HqJeM)GXN(Q^g<>Bk!~LkER^KrrQ1dfrGree|V0Xs9)cd zfn5N0B6MI=T*s^4Ur+9awJ{d&vL#8(N!-3MWgViB7M5}k#M%Wfjz%8|LO((8M0p?H zU^5Dj1tUGtnj2N(pu$%*D6ZQmWEw1m9(zT(eh*mKax4>*;z=JNT>AQ~^%=T(`lg*3 z8|BTed))Nnc58Qz&7Hcf*^;dLj+2#bD8n`5+u*umYV5>=phK69H2z84+6Lg|@~A1A zb7z?UeSr#$^X;1MQS#*qUOUjvscH~CA8hqm%Y2r2*1Iw*Kz6NAvPN+CU>QJgr?z`i z4OWU;`Q5JLa4CQL_nlBj^qYu`QJteS=D+?(Ob!pe7-Y2HUi`yzFB~51+|$N(w-GBn z0VRQ5i2s@q2IkWaRXq{_4$P3$%H`Jh5+86L0h5`K02hY~Ke@sh%330fW!`{H>Vcfvd^GnN2 zN|oYxw$M!1H=$+zI-1Xdwyvp8-%RQ-{24Vuq^LsK>EX7l7m3_gq+2QX+3V`{x>6f3tUvlO- zts{mvFjx+cdCHUz4t)}77K7rX5xi-f@x0mDy7+#(8n|t! zi(>vEpmcsK>HHLvK!eUGuZ(2$H|0ivQQMxIa^M%1>zT<WpFC3$ zFfiiAn0!+`=Avpvw@iRXy!)X1xttDaSi6kvz%P)XJdTP~6l!0w(mbKzn$cx#$CV(N z>8+)T=Nxra=BYWyMh>Oal3jz0kMq8o` zPWM-M9Te%E6i&`&Q=_gsH(!5pFt|i9LM?AIYr?q9?;7>O_vxn6k>LF0Vzzi}te{yQ zFbMj1T>km-dSmdxa-)UFE6d%tGV`t@GP~X0x+Ey3@$$0yt@MTV!d1u>u6^2&rWviY5JWTk3;Xewj~^<5E{P@CkTT+r{{jXfUbx9!($6E;$>=Rhh@ZK!vy`^R3_ zb_HsDZ_nh>`RAYS_I8h~SF8(CX4SX#^h?^w4tCBtVG|Dw^Yt%|dV4*od& zs3-Og4N?0FT4rCe+aduT2xKSWfJ-_D+`hM#H9Hw^D_4J0R&n*e z%_fpa+&>ts%+Pe&-0JKYU^?<&>|u@v3Q8DCGo73p!lg@ z*&UuC+G&N=G zZZ9gcr_fDfUKacCqjQygpmL>o1RsuUMAgIlsZbYEaHpSS_3^aXbt1t08|g0;LE7TtD|+EuET`;f|C$Mj6fbA7m-2KXqG z3EGO)ovz~GEPBFx?K|8E`2+#TDD}iB-jY--D}(F8%r(nc7|f$MA8&@avZ!;aNa>Mry}X|Jl1*v(5GLXk4qGY(2G=vUMx{$?`_W1|I5^SIaQwoA@4%?87Ru z05njBetx&RzzXc=o_%kYAGE~7u!6}RjM4@B;occIr52K@J(*Rst{LaQPDl?;Eb7}V z`aR-^_W%oF4`fXfX~~&$F+RZ~YY;l`!LN2U1Id(>v`aLpPQj>B$;yTt*K74&zTeD7 zGBSjox@BdFzXW|SpXQL5*ZJo6G1Ru^>F62e{v0V!gGhfkHhL7FUgL6=f=3o8!#u?R zsI}o!uv-4jA1N5dBl}$^NB5NRgL9o|E^Lob2Gued4)4+P{L?3oeX@2ORxm}z9Io`S zOp&z(^863ljOLHlt1nO@cX~6jYS~I#dbep&We+FuX8rv!w}l#E5JW1Wjj^(Kujibs z6Vm%E>uYvnP8vFzjhD_^(#5B-QKVOC4x5cw`nZ`q<9>ud0z%fhTe1Pe-5;_>wSLZM zAOB1B5pGVp)s>LKD@}Qldd(iOrwAJ%c6%Cu z95J#)o~G{j$NPHC9-&04qaQD3k{j?5Bb)cWAUm9`O$nKoyl-7y1fT&g8sdlK$*$$jVw7iwVa;L zzTl(e@ab!QQGrnQ$#pI*jVkF?=J}5&BC`_U(xJ7g)3{d)Ajm&P>7Sb2mwXO}7%I@g zuTuvOg1hGlZMhnCy3}Y$I!KyAOG3$+CK939Wtd#iAPrL?S%+Z$f;3P(>Z%Hi(O~b+pmS5 z4LeHwD=*uFwR1GLyo`p@GMYA$6-7-_}Di<_$q~UthQL& zc*!V>o_;RRylEjPqZ)}^M^-J>FRTjGnK5ec@c3HFn?@f355auf;9Qd<2{EsEbzpCt z5yVVwWy`r!kA*%+i7L*ONWC@h2!o)(4&`T*ralfDkZ#HigQnW^V^Tf;=VC>AOqrdy zq8onoetYC24;(7GO^Zq&$j`v#^|+s*Q31Urt=aWB-xuIVB~$FyN@y(Ql%=yvYFK4! z`3l&G-G$BhW^KOjE&N2Tw14B4AQN%z#f(Hy96R(IrSbCx`US~+^038Q^tn9#qU2FE zEYzvNIq(g#tHnO}90Q3gHwg7L&LI*JTnMWoDXeoZ>?+gZcfU<-I8FT`-+XX{-fiDA z&#sd!5|?~@@@+vUPH8T7M)jc_h2Y=#FKxV8eUL?WB(OEXNJd~7RHXM@GyZcyxKJj?b%&(u*gj_=E}CW&luXwJ2;vjow671e z^7qPY-P6nlAG0JKd4wMMGoXwZ>PFdv+7BazI~{r1%vUSU)ZXiMkGrogyMV~QAWc&s z)hXnZUnaf_SiKPGknp0H`8;@ceyX_vQQ2rYiK|0MBMZpU%eUfDdaEqRr&z#oi(nN% zL3vQ-z*B6_ecWJ1*<8Nui9{jD^QNXU#s;L1_}4sz=jn0h%H0Rn#Kc`7D?H*p?vD>l z#0$M>|C3p?6=KQXLo)~jpc$-fC!yv_^E`aTH`y#W2GFjA&Es%~R=eoSEyzSCVds$y zjQ*P4{nhlob;?)O`i1&_9LO}m<4ctVfK({`38k}sOd0(F!QB)iE*RZznyV*&ymDuU z*gOHWM2xRqndafj4kUt0y0v@JN~~2i(Q?IRwtwyLfyr?J4?IHCJeI(j5^f*XE#@4Z z7EVSdqJ6GU3I?l}uMvM&hs0oad&3(GIXK#dCusZJ(-+-8{kfulZp<0*07|h(B3IgB z6a36m{1xBQv$g_d<;F_;O$=a}Fzn8sSjhxMCZBcXe5;U_I@DTkC7&@eq{Gd0u z*od#&1n)edQv(u|xM(y5dT`$%^Y^hI`-{pB>`bgMLDO)_wiUKB{6pr;uui^@fB7{} z1#bDgrRScfu=?sbLhijxhtfNCZlEhTNdUEoVEXVe9HO-7$;{GZR>!Q<2?eo-_CEFL zM>v)GYLe?~?ZK?H0x43R5{`cw2M~ZQ0eiKnm0H1#zemb(vGntp(3o%muwOW1FOh3H zVpWcPOIm!S&kGNWyrQ@?ifpPnqSt9~tln%oK=5i|QbP3IA(bvT#mji?m&u?+lVJQWkZzjzP zZ-GGBAxPTV*^hvj7x0~eAaU=-{Q!BLP{#CP8X9!C*{u_4{%thsLG#_{!nS+GTNm^i zlH7wl6CK=Q^KPG3snrLhVI&sh5mC7K1{R(T2a3)q_aA;Va;HVr`TiOxC9BX$pygm> z@^4QObF29&<#MjI+} zN&$UdZQHaF3!Kfu=a-PpnM;OVdvoWCBV=>(-_g5F~{@9jTYC zIG2%d%}SJ)N}`RWVD5Zn@lK0L#y0p}3#BJRqi_GJ@4ZU9-?XLly}Q(xq1e3>wLg~_ z^pnB%I8xpyx`oNHx}|9{m0pu>9!BBtz5RAL{*a-AbMMwc)r|D+WhlRd*km1>FElaR)oAS`XStOU>DF--8Y!v*w{>cg;1SgF;<$TaJ zy=TAB{HPNKq3}@r8IaS2{B5?Bb4JI@y~MgsvFSri#__FAGVMw%Gs_OIh!@$tfIkk~ zZT&J|snr$Wfh(2Y?9Xq=2qjS3ER?pQvg&U-4MR_jC>FN#U5 z`^>n!jhdElgpRzyypr-MQ#c`H{c#^s9MNVy&QJYz5_|m@*T*z*mGyL*LpRKnZUI4n z#Vo(uQ>47ju`9&|Wp2)wTOIJ9rjn3R%EP-rCU=Es(3&7RXST6lv+&I)`l>bLf)v;h zD!Xr?$)}JzRy75IGi-As>mUBVKF?DAdAql&S#-B^5%pfS2Hx+qbEN>-kBYL=etC^= zG8kO?!lyWj`9@9`c%A(Ckvqq|s2VqJ0))1mnKQesp+~k6Fc2wWqUfMdn~sheJYEi^ z&TD&8?>5bicd75P=G&2n2n!L0kpx`PtyQaH+I1J|5_G5v+)n9UvZhLmu=t{7mAEe- z{<6_|M0)L?QMRcS`*}F155&za&cQ&O?F;iI{nrtDSsQ8U6vl2-XDHdMjf!~=Bf7&& za$F2@f@9HL?0!cwno_qdYI6{cn6^w!>lb|fBg=sRxe3-Exus(jXikLENz|J}TpYlt zR)PY5tO^D>1`Up@8=Ry7Y@{ezrvU9AGyU8mUmo#e17VVP4hBRJITIQ93^=!&*>sy$ zZ}L$&#caB8Q4~7c-QHzew-_PO4GuS~A?b=&sOIJ#>@6LF2>uT_Z}*dEM#l~(12rPU z6fd{pBhowF7*@#qZf5icuG+G883DaEQF-gFHD93d{9}$W9%U@o#RUq4IvQL8oTJrK z+!j?i>haUdUeoS%HJ*xbBwoO)RKd!%O!f^gg7lI|Y%FfOZhnNOG*BhhHGg%mR(Rb( zyC#>_tQe7((AZ>iJQTfUNzh}>Uy@JKq$A{TInwXsrze`8{C!VY2|4eSWB~5DnXO8c zych+`k(0SkmAPMUXirYfyuCRNpR8s`5=l$T(Wx^c37UvfNXEBE5=m@RX49>m;OMNP}I&W z$r|;4JcgH$gKWzfBWgR>n+r06X9=&p-v7}BeC!_?F9@gHu3{M(_~D~`WMR&3y;8a` z5P=O=SZQCSVZCKm=qwp}=6^hHjU62bVrG*%)WER6R(g1#rL^|4kn-x*Zky2Kfm0in z-jjwaE}6z!%{t|``O|k;Bgx)GRXbiKX~o8u6cKnrxEM7Tn?FI?4ThW!v{EblA1)Ev z&&(NGwB>p@u#w=QiE@cEb#qjTpT-d+#2~`ZgzVAB0*?R{zhI=N;kN~fN8iGr@shh; zY6 zflY5uCaFYHn0cmt&nuY~#^EH$&qb}ow=2Eo8JI)yV@S#x-pXM(>uQ z7=Akw?TRxOp({5=NbDIR20GG&tU@C$ZvK7X6s^21~>WI@GtY z0#S2P=4zFkSWDj-#VgKtYVH{P&iTP@6{5ea7}iB94Vv%!txQdr6%(2HcTaUc_@O#e zLb>zy>=KkF_Qd{&Ov79oUcl|^7KISZUSx_(k*lwJ4_H)>iIo0?K<&&NkHiKArCL`G zwJE4P?Vo(xSCyB2z|ueQXnq?PIjreMK_H*Z*0BSfbh*Nod~RL_VkuR~*5Vrp&8jOW zd?u8u8UDbDySK^WF$AHQJCc(Zak!A1Ye7cGW|b|-$mWO zNe>11=IIBGC3VdMxVDbyKue-%RZt$UrIR9@O1m@9c-=8Dq-9_1zu(26TPT~9wDNr^ zNg)>GU=VWs@Gs(%yUhx#^TUM*afK(_<$3T;AB25BCVFON2Uw7^A9&WOQ&(BU-}}$+ zco1w^0cE1QS9BuJ1=~sx?G0$ZXEQW-1ywMx?ls9`A&={V9;pF}3K!dMo^4Tr-ywr? z6M{Q6^$LgYA}q5dE%X3S;u)d_Cf~=0aq}go zW5Sffu$R1tN};IlSU;8^3zdHQK|LYwYJJM>PJ?0J<>*?y;OX$zShkww|Bjg)hLkc4eTl>hbkbyczyw-UOXmd(tu_BZ>raeb?&`??IGFF>6HWqUQ zNm^Wbu6piTzx%PsAdHLS5dlR-zJ6KWjXwHe2F(()*f)%Tl|OgX_6Aar zDOcgfh;ZgXf6a5(^VdI{!)0?=gD77_O~hQsirv8WZVp-T*V8fIBqOSu?!juo+^#d5eD;)emOvZ zpq&&1#mgqZZxR-T#V9D1r36DELke*!^%>aB0}xpGBw#cAmSnge7Na08QS8L^x0#uH zGWv+}=%4HHH=~0voj?5z!vFB@gev)B+_~w1*@kNCA_`3|A*tLJU!xx=1l>`KR39+F zREA04=v3y|HjEZO5($hA=KHA^{lsqR6a_4&ALe-m((sKJCBsRmUp#yx_4QG6S&j-X z2qGj5_riRd#=}ga)Z`{0otXwfYs7nyFlOvWG7MTvneg^sXOjOoJ1}vg^R+b;h!**_?6}6KU=liqPt+I>?u zy^HortV8=uAqLn&2y133#OA-@lf4MI6qPq2NdB2`(PmrXH+LuLGkv*fGy7?V=PvGh zgh8DURM^o~ltX=m)$h#P=%c2Bn4@)d*Czsmyb+1GSQ2WlsjI6<$kSc63JkDAVAiO& zOwgK{@C|lN2lrmsooGS=@(|^sKw>`~aQl;9ac{;GVRrPwTPhZ#BE*QlDsR4ZIx5Cj zNBX1P0#=TptvL1D)vSH`BK_nLV&iWvl!V40!v@XymUGmIU}VJd8?<;K;iv3a`2K}( za&H^7@0O@gqD;rH+#%n^?8MnIVdYf;sChc0XOKqmPZWz*Hd7Tpq4keJ4z zWBpM0QPjftsXSD&|Bp5lFQ%MO<|VkislTi|Inox%JbD2$2dtU8^eqnpr^_h$I5@V} z+Jwc~V4znj|u<9Jypud@=9;L{@g~aCX%J$r62q zm_Hftr!8EeEn}+uskb*{vaC5PIYN&|u!~g=X@e3X_dTd_ObwnM!L^b2@U8%XOY9834Ya+ z?dk%B!>+P)$l@+MxKbjGmbgV*Ksw?Mjj>ER@gUijgloO5YH|<~^)aTsQcR3gBrAZ* zjWKzuRGCJv^c3EJHdE%WByXzhNw6RuSCqU{Ii#OTiL>(>v~IW>&fr9zJ4rcDBg+ax zq0;(RK*cgm(Nv+!i!j~MDSZ3Lz7mdSsK}o%SD{wRhoP{dT0BgZLgpvx44TXPswR*u zB~pMSt(_EV+VIWW~#b~9O65S*b3^qYbSvb3lt!>_SrG!hR z$I0DTo#dv%EOXje8y)hOM>tA-M~Wj#8dJm4q*H_r;u{=8;DV9H`|YCVej2Px#T~xa zBFihGOkQSl(ZB{SNnfg?6m$rmdW1hs0c=72}(&VMFfvlpB16Tikl+ z%w1D;UV$!O>Rcg9TeW`1f>1QlTN*a?8168~-3ebe6&TkhAlTu^73loyC~N5>-}G(> z%FUK{g5*UYq@i|dM9!_vU%&wil4*lPE4^`0>5Cp`7~rzLVu}M{U)esL_WbccB1WmX z=e5}ux6z=*5Ah^ukl0`2zitML%^5-kDK(M)NR-w-)y}*2K{BEeIJqa8x~#ch9qf1^ z2f++T=8O%?6{zsS4_e5}B%*?ww7Q&!^@7GO2gSP}Ukt3gB|{XUD*KOOb(V}U-HIxu z|L>On+$>zubhS9ETpz$LL7@X0$(J^lTe}h1U1p)14+0a47eN{ z&Hn)D6N|WLNh5|UNo>9eDjllG&ppO^PBVX5A=X=Jvdk#os5IA{rA;#dP6%qOuzG?z zK~Cq6XH56dQrduoY($4UI=P!#xyMqLB}*d?zTGdE{~mc&-f^UZHGG=NB~H_bo}xzQ^cJk#h@bqs{Y5E zx~CDDuzC1tdsBiso1D2KjNAp3OQ?`H|F?M-DwJtL0n=|&!%$`ZT8=hVFORYQ+MNPB z8m}Eezg_DW?2!&~A-QY1H2t$Nf3W)eH9(!#defZ4lF1FufRSP2uyNZs@#Ni4d3h#{ zIKGzd#M*Ix8p>%pEc;7;(S>o^caJzP4u%;sF{KB)wvTZ2IyE|-#x9g0LdG~@4G+Zb z;B!{+pX*xO9Q0lh`Yy-MzfVbr_sDY4sSUs%JPt0Q5&*81Fr@t%@-QL=K`LmrF8Q>A z=INvKB+>Qd)rIB)+pOY?@)Je}7KE%RzqhL+jo<`yRF8L*P=&L9 zixIshs1CYsam~HIPKo$mDSnE+j6AB;1r%d<4w@9oQ1-s)eYgZJpTVYJiNC$0{knwB zO1>AVLz1dX2}!+mr2H6>;IZ8HTaIK*4{089AY;U+XxDl3DtZVbPe2gSe}x=V*87)h z(3guQdQa5p&B$MrG)ZzW;%Ox5{i$fA_)T~Pg-CGjgYqwty<~rcJ)uS=;A6y1>D>4Y zHYo#(qG90=*UtAO|AN=yqSt|KEWbJv&sr;*QL~cD(_4oe1}MF5jR(ZJrk*d{ppPQ* zM$l*X2vv_w%tK({j0-v3$`98?Js8g_C*up$TtgEhmm1e_K0)#Z&w|Ta^k8jqWi9rt8V*Q{UYPd@+^?eE~)rGVqRtRoXV6I6mKo|2eOJb(Gy{+c4>$LgI<_apdv`7o_LXQuS0jg;M@v&`X`w6AK*M zt+9-&7azL^-q!|fFaNLCe?&EOe_FRGw#^^AqTOwQv37+$LVVxpk7D0Cydwnz`t^1X z#b3&b_T^LSJRYB;-lt06cZW@+xEA5k6dc>A-x=Zcge{v>MXMc%ietihk-z)=IEFtR z;0!gHNBXCnSf_W*KFMn z#gFcc{se&Ys|#1YLbAp1gW#)}V;ix@McYp}WiG9SUMlQ}H!m=kO)zU2g=Cv_p(ZUI zhL3RFS=FD$*U8^tNH0i1_4I9q)a{uxwv&@Y+#F z)I!oFHUYh-O2+CfpG$D!N&VqHG5R#u_jvyMbHww-)AZqX@%`>wZR>j`_I7e}{0gK( zw0W*^LzIyCzFXJmv|@ne*F*_%c)QIoG)FLR_Hs=)J7suRozc3@JTQ=)#PZMcGG*oi zK|#R(G4_^0bu~@YC{A#P;O-jSU4jR9cZc8(f#B}$esFi!;O_432j^U#_pAHezxV&H znq5;p)3a80uaycw7RV*dL+e0KF*vj9REVKaqH*`mb?V+cZ)Q1l870LQ^utUDHU32X z5Xuln_N-bzue`U`*zI|U!F-T-lK}bpb#3y!e5oXrJ<;AmcS|{TETci+*6IlgTKNZ} z5JwCfk)s<#4rgI|s;sJ=bC#zgk#rU>$H-T_eIQQgM@BB|Rf|g`K^m7dL;8(qCiyLK z*ywc)e>rXK4ELL$nGk_0K~HFXe?H+9K$0wh%m7uj9;1OBdAxoXwxa!2Tkw{_x84i^hew;Psu>x+?_ z!DF^?dYm>X`)?6u$Jta@jCQo1Qft-4`g}S{15Y<0b7{`hD4+BSp(@{DIqwD? zx^hNntfh`1g(uAN=c17g0pqL$)1#fbyv+F*1HZ(({(;kJ3Gj_0&pxU|wRau|?LAKs z#5;7~zE@~g%UlA)h|Ki`JYM;#_sEfO#&iY+3pR=~@!WObI83zoAAGj1ZWTK_a;2&} zV`(0t^JY;0Kr95WT_h6L6<8ps1tvoH<& z4oLn5-lC8E*hTWI8v7@N;Sqy&LhyeEytqE^r_KexS3YDxjhg}$1VsMBrtj__I{(mE z{pS+NZ31 zkT18;IgXIq^w8UO%$978>u(_+$(S!&2cCXvU&lVH?Fa8trUIMW^p!(Q<0^9C-!VXSLQz0L`H0MKS{Frk;bp z>eartZ5}i=T|L5dcm(i_zc>5?V7id>iO_b(XTDVk#542$G07Pz83=X`OCC_nb?RB! zuj|wipj1YQ^gOM*Q9BX1KG*3bzLYs^ZOuOiUZMyg7~F<(_Knnky2oFu`X{-&D@y0% zXc-Vp#^T@O&^oA{w-{e%$XL8_ac3(OtIRge+BE?oQhvPG+*mDqdCSh+Ri#ADK-!DV zm%lf05k#=^I>1xv|ANO6r`((uKYwB_s+t0CGe39nkUB&9gMe=lURSy6H3t*xL4%gt&f-tYF`o163i87h zZf<#Zr;;MSA<~D;$?aXZ71Kzl=Dtu_>vbQo9G{pOqunx9$ADQ-2-6Gd?9bV=vF`}( z^mWb}vWIH0adYA)vnfd&Xz?@ugNRp1(6&jsDHJ4`4qy z&ufd#P;ST{H^)NhD3~Gi35ta+qiyaX^C3M?@v0g_5)7XkzJVm`8b_+k(a&nCn1k8v z!__#@7CT@$WwOuFwm>az7$Lj*Bf4epu2ZH1F_)mgrdZ#9EaXwOe&x5fqcXFlqseFW zWcr*^<`RFKnETbW{cJYdA|lpktqmcXZ#s|AR8Cmto$$~>vvcwol}T;F;TeR8u%jeV z>f29>ERCdlAl}VSCKU9@2p}IsS}&qCit-ZZuOW<{3YDU+XZTHko~xKu_X0G-=i7hT zoO!Z0%H|(R_=P#tSxbu}(QVo2NF{NCCL4kOa)@wIg=I?j0t#qye@%32j*<{aMrgRm-#cA!hN7bYdoS@k6G@8Rr^uB=B|gNd6TP)qCK1 zdVi!x)&%roV!}RP^5KBrlez8LY4mx0aGfx#edfO36YttCoAg>MVW9qtCMl_F4Ln=u zt4GesUjGf8SKu0n2^q=Z#Q{!_x98dbwIHVbn!a$_)2LOysxY!*&{Z;MR=VIdY`;x; zf2brGR^2I)0b~5Dv^wxAu{F!+{hzj_(u-eVpk8p8AhVdH&575`-=y9`zy4>#o(DO< zl-B3^B|e#-mNS$mx``b2Gx{1B;$!5{ua7Kv9d0FKWV zq_3TbxVWTDpyzqqCz*HS)=eGxGTZsq-CgaPSR!_&iJ}%NT0^}C4Oz9&AkHkKbnMY= zFv`WQ?vrzPT(~rE`O$$9G}6}%YgMwx&;h)sk+At@%z?`-bO~gHpZIj5N*W8Hlblk| zZ@*<#AWo$QI%RL*1OFtP`EijKyX2X2CVw$XRCr&>QOsPAM<@w7RP+=buo#Wjy2;V) z?>Bdu>l&AGOc}rb_cvflHDY?te#q>KpT;%ZolRK=R>nM`O^y{STwVG8er?;y!j1yI zaBFP{CrU`adzrDegv96Sacxhr9ju1dyDvuAp(^PqEl_#>&Ukhii?y3NU6nIEMl}7b z6EVFaZim>JV`A}b1V`q0ua=FQZS(4%!}rJ}96Ycq&Ezw}5r|q!_XCgL^I_WoNaFjp1A8pIDfel!}+QShVNXg7eUwp{f)dHT-j zT(i=;^#Zns!eD6hZjjW*E_8|{`tn&z@V4gsGIWYO!5}WCR;?|Q8dK&NRpP444JU6@ zrlltJ_vvw))Mv%(Ygd?)stB0urq7dei6E3|ik5yoxuovGJZ_Ioca12nxazij7bZd< zrO5bJL#%~7^}?m1qB0##cxFUcJJt3Hdd7SK&3!yqK_Pbn*IG^5>pGFf5w2hu@wsx_ zjNl)pv!iT19Gk%z%hh&yC?j_I75RyYM)pRjYJ$nO`t6Q_1caPl?f-R^47!^zC!GV9{yg-m@>FK()o#N zpA##occ7MG({z?{8ki5IyJ57-3fPM{PFk$}FLHOB6~BOE)-VQ)RLy2KXSW-YuYk^o zb>uZ+JoXi$|Jov#(Vg%x9Et+><)WOB?mwby>~&K9S}dQSuezG8LP~C!eZEEFDvPa) zwAWmg-(a)nWzRCx;z&ktC}C9c;7k4w{L5aubeVlKwRi`*RlgEGd81WRQMo!9SFX6; zQ{4p9fv`eIL?_$Vx}$?88(oL6xZhqp1b#9HQKQL7Xee5J&EJzy>ErUVhZOEl_@J>dBC;(x|vvO!>t*9 z3A4^`H3kvV*ZM_z$Kbdx_!CFbPOCuge7^?X>dQlOmrRG(OgwguQOLuw^RHFjDvagh@9smoDs^IobWRkrdAg_#YLAItE2gV1ykc=!7QZUK_e}We zNsmXOTDO%QPhlYx`(-<5#@5j-Z#I{1%89cD27B!1jPw}N>c`9QAp@G~)~T4xg#Ups zkZDoac@29Lpl%oedCt{htHUm1p-ho2TOxMGA~qRUCrax-OWcgsb)f5970~vTF91iJ z-t+b8Ubm1ELAuR@lEGgTyMo#8{FRgXeGxb+*2^5>6VCcj&gd&9!*}uyxTtY;C@jAJ z2u_kLIg2k?fLNHEbiSaHEauYHb|mul+allKuc2-IZ3-h1KA&b!b1}e5WK0gbv;i0W zt0d3wVrToy_cDXJc(sih)v;A_C9M2B_y$wzy(7VR?={*Q+|rv8 ztuqOsq7yEE)756Xq~9s*={$ZUF~n0~bD53^*N$+p;dfcRv$iZ4LLVsDaJmlltp3kC zsV-yQ7|cRt%q62pxm@^s7OUjLaN})_I(7Gqy`i~J@FQ|O#T$*@R;Q=IY(4vhfRrLz zp1J`XU9Y*$QNVEe{_mGGBv-_|ZPHV5!_ywrzoTwjp6D=BCn|XeO5VbXnIHOI(=IpU zGj?Jy^l!UvO)nKuj4^p(=~WU2 z8l%Evx-iGAJW)Z?fo7FWZ|K?gCDqe9aGXD$)lecvjXApez*0#ml4Z^6`wrS0?3TQC zn1x=dGM%+N%{0txe?S#C8?7pD_Dq{ObBnQZhvhig`d%XCPF;G6k(nF0*7tv{<(F5M zG>zk{N4nqf6_^y|rc~qn%f9nw`fmgtPfeM%;~G6k=ROgPuPEvQG-U7*7G|@lSe)E? zc8bRdTARuivJa)UO>WGdmko}`Z>4FDoLo(|_8YAM1!`Yi8T~M1r?ym?(v-MdIgX{& z(?Lf}>Y)dY7a8wI}<>_2d+n zEY700(b~n06*|%AIodsC#R!S-X%iIA6jBL@Qmg`z8B0uURpxbLu`Z4dy+E=c8~s3V znv9LPHdVhrG7qX$5(&8K;ud^UX@OrKBIU2Q&17eQWwaZ6V+xyln^po9krAj79OCH=Wf4?q;rPg@}oUBXoR8 z6zuRPHVk#?d+b+vaOtX8(#>zJy#`5s9*AOnwv|(mWTvHm`T%b7RZk3%HFM-ll&5O2 z$~CL_Qk|fDKWZ}Q8@OUKIBK_{8H3O3?M`PIzGuxh-SRv4Th)pw)98 zIn`a$Fefmn%2wko-=t8*%WAb+X`XA14k=l*IlHQ6dTcTCOm;YibRycmL2?JJzioWH zZMbhdZTkfI9n>9*or+H^?fEZw&I)+pSS`xpL5s z^)=Y##9WKie)u~H`$=T>`_vTsdxmU0JG=V?73yB=HR^A9Pp0Sw>91cZuXJC`u3D=8 zasIJO3$rspcy3>-f@*n&2l|wCeUgw^-CE-K#Cmcl6lJ8hXL_AG0(ZhSMPs4*X(*X0NBp1B)G!jU&yV}h9HXBs`sR$@Ot$?50u~q(cXm~e zF;76<-*i*NSS-$TXslV}$++{zd7)KCAv^}!YoPI?Qvc>6(Cpe;W)5%}`MgGft8^&a zx1;1td6Fl8C?}x&*fQ{}55RYP2@_WQ{9OfcNYt;6&)p;Ax)6a>E7ShguSi&^O6~3J zu(0k+D5z$tJxeJ5KH2MIQjy`jrlv%yoS1^-5U)h`1%XW&D{JcWqQysw_q;Mb=X~BBS)vj@X2CWhMXV!sk$L(LF*$?I&+c67c#|m0|MQK}^G)0+7c`H1aAH(*l zq7++eR)nwt*HyJr0#p*es+qE=k5aMU4zX&Oy#xor;Fp*}$mKReu{;Rxpwpr&f#d1m zEUtKwPlW{Mk1e0|ZJzsU!;1joPb$fG3~I-oEEPo8>nhq(GDV(6bkQbpJ7T!Sf)zpZ z${cr6rDke}*m{r}PSz%(`rw&(XdNAx)|27#KxJSzr-<8i z*l`J&#dpg+C4}ho(a4_UpF%frFAjEgcAIOq$HUZI)xN)@^FhPIi_w5{V&7H;w%(Tk z*iyJh=a*M@(Z8h{Nyw2Y(b`ndNG?wk_;iDtcB; zpA6VF<3;vI>f`Mags={vE%t0Wk>kU2$!Mdt!*r$0Q4z+8fxlCT?_feQ{6k*qb#^M7 zxu&6HiE z?5$sUJJ;tN+bH5{dJcy z+3cn?L*z!oUvMAR#KdRmE!jZYap?(^`oYh=OtmD7J+5<>t0R{ADoA6Ed&O}!QLftOT=!_sP9F-#8vmr z(_^IEvX3zVu&YxXsEk`(t`ON+?@K6{0FZN<;7n-E+7q%$l1VjpY`%kYlJw46v<7lQ z=6>5}=Bpi5?hCy1a3kkBBzu3|M=5|4id8 zbU^G7{p1jp9Jn*Vx*ll@iuq@$-P8TD9u_+exK?Y~a7WPdHv;w8=~lY>-Y|~CWe0wr z!B8-${A~W_o~)$Bgne(x3M06~cv0`VUQvK`zp3p1X;pAtweJQt7wMZIz@o#hgC3)f zi}`#ou|CIvJ)w97R=j z-R=jQe4)t{#gXt!wpFc7y{012i2j^*E*s{czrC#00HO#l;&17PPJx=@Qti5h4xS=% zSQOUHY{Y}Lzces_>`xo>;$7nh)~*|oJ!N2Z+CkZ7_}kRIL?!q)zjomsep{8-0xr7i z8gkiNqQ76a3GU9K|74->z}o2B6H~YUZolHkeb30ScgHqpe{0{r15)UE?cY!kXg4W` z=lrMZQhK5#Bg<(Vd0kpso{j<~yUI=PVtEOX=}5-W7U!ThxAwbrVE8yE%GY z1lX(@Z*8n>Xmzx$gIwR5UW$*ABF~Mh`{>*eEXQYnAjTB>pX%b8+1ic>-i82dH`>H7 zv0D3eX0-_gMgwYPXA;}U(x#SB3)#7)-UdVR^q^p8!CLl0dm6)CS=x+ZX)$~9$*=uw zJ_vx*t-0Fi@9(_Id;k2=a+Nq4%jM40>d@V`rswT_-?QY<4%%9E8wWHQJik&uEs25* z4BD%={idyF5Ogx>$Eyvl&ZYS9ANx<&kiu~ZSWctv#W?ysMi^_w_wB1oyhD$%mOa&veX|sAFn>V?jHWr%Ij-3HZ$Y; zK$u2zBWYosqvmG-R3~&X);Xnk;F4Zr1~DRF6D_$d-OQgJCND)9t*HMXIv(HBy+cg( zfx3gIGsISX;@$&*K^Nc#8!-&Ay&igAP&!z1;0icIL3w!5xK!*x1M!;>`r0CIX18tL z)o3-k$8s%Su5SCfPksVAK(XE1FLf=MEuaxa#heXye@!htw;un_-@sDu%{}++CmiA` zSDa6`BL|eXmQSFVe}n&>pZ~R6S9^y#=<&dS>$B_A(yZ`GA8%=HU(-U_5BKh2q8Gyn zwmVBZOI)XtY+0(3VMHpBD$}q1kFJH0x{Ah08KdQD;g5y}*js-+T9HCGz#i@y+KPIm z4vIkV z{A;`T+wn(YQ*^eC29ay#=GA128}UYuKgh`fbh9kGdFPEn^zgU`^8Kh8vESW2dOh1F z?sR?XyTh?bRqy$9@_alePT_i^POWzJT?Rcr{@WyeTl}mFZDIDiHxaUp;T~SalUq2b zZLs~|UT;EQtw5W`9Whqln7XSbahN#xw?&6k-zHEp=)6T_PHZ@uQ zCDiWzw6&l7H*{H0|KsRW=cyaO=YCcBxgTow20G??%Vn5`c#bowDSQYI5S+{agMNO^4=VnG? zRQX<$QjYP{ZLXuxJ(fiUw*lvEu>V~UCYSIVZzQl+zPD$cvJZaC`|X+R-oLjANWz7C zF6g-UseCA<<~83 z)IgGZSnC<#EMqn6Wh1c$h5R3(s{)isFH z6Yz*}#x`{oA1BJ6dL!4oC-8$g4fSLs%lujhc6u#WsHp4o$mv|H*Ii+wY5$IRX-QCb zd!^OS#QDCV>T;br73i=uaub0F(Xq|kA+_C_>AwB?Hjv!HnWKBr{n=K1)$VtAo1N^vy_}uR_W{{~t8mfsa=1Yx zqu~+J08yDW+ElRaZSB}Jvaqz|6r_tbRSY57a<>UPz5~6QwiT4A7KrSa{Gll!7~$Fu z<6=A6M1pW|X?WS*1WOdmw@R=ORqQb$7}LZ%@Cp;ENQmJXuXUM-64HyT+vFghTt?Z& zE%97Mm>&BIaDE$D)gRGtX3|+Q=xKMloS&S`)LCE8MY)MoaBl8Mw)eIu)W2+LpY(b& z{#f1wY;xqW+kielx3Js`-;P3wyW4s?9sM8Iyg~1ZAGy)Q#6q22op(FC#Vy_Iz8;|P zbE5a>ozMMCtccg_Y+2Cz%fDK>XQ|gJ{c>hm6jJs`bD1)#up;b{u|Ep?9LETkjfwpL zvx}rgu<7Db;-?d7k1;u@8Z_R>XW_LLf71fkEtnGo8xHzMs}40n$J}3Vn!Cs^Su4%J z4P{^bllJ0jDX%~N0*+mr!l1WvHoGf|0E3LV(6*pveVms0apKA z6SePe)5P3XLIRTY2H8l2NM@M-65Yad@{tpB8&(Kfy5LZTD6>GS6|kl`!r#WmK40i@ z_0#t42sj0NjK;@bws+8N$~{*02jx4}n& zkHN%yA3Cb3E!t z!MrG;rpSxQWo}_j=jOF^z1lEWh>a%T%Y!8Mu)kV>KLVPY_=!)b)tjyfSG5(NTSO!; z`D(x(d}LyaKVpTHmn^2ZrXxUiZ`806Z|BmuCBVvAx<5>1-HWIs#R-4QM?@+bz-2Q4 zg^%WDexeA&i^XJk5#$CzVHQ>?H2)~k|1zrtzM(&$*iN17;e$`9q~hQ>ckmi^h&ngv zlYIFnL61#>IaF{z|a6b5m2C6dZ+XSr9+y;0 z$If3Ae-_PgcP}h|#l1?xcZyBjkDZ`#`EVyYU*C`YM}S66!J*g3Ym*|#=W_Te-?GPfpF)GSi#*b#f^5UOE;w^7*U*49+BqJOL2jt!51Zh0 z@#{}RQmnpiU0Bl$)X(_?(#S(6!QmXHy-0ZUDR@_lL$E{ed9a$;xCf)rfAh59>*dCs zE5~AG;a6Ixg0;|hN|0y0(}Yvgw}VQorRQ>*Zp8PTo$r0bpxS1bD7VW2lx3ktojsFH z41D}AcH!ECajKkk8MUPEU^cS7lodZQzGh%dBaE4i9P7ytL zT=tpZ^51@FBiytQ0$j}kR$lc3B57{!A3xPqmFB*$t?tvEyRdR5)X809=m^|2l&N4I zoF&ZHW^Z;$br(Rt_L^Hum90I+{EIji^4^ck_p4l|UhK_YV(VKwf@(oeWvIu9Txb9r#K9S3|U089GVe*5W&0F4D>xUGA9jQJb`y z7kIB6EYTnd3C0A*c#c+7rbt>lpnlmB>)Zyh@cfAC(EGBp(30ut7r8ftL1oe?__p+@9oIzEufyFEK$^@+DmwO0WN|ZG$8B03^GVHgD-Ugsz%wyDP*Aqi=4GIk< zh_}%6$b|~(b!BJ5NBtxnzx}VCm$`TdAznaJ1PFJ@@>^Rtdqf4)`|siF(@Hb_qoe+Q zuw2)uGpr#nb2?B|4yLC1c?bEGEc7CcxFvi^#bm+{GUUk}WIN5g+PUoJ>oIJmWVRsT z5r3XsLiZcbx70L(#{9Gf&K(<1s$Z|$V0nErr7gz%;O1gv3R4!y@?0s_Q$c32+c1g$cOBQEnf9i=g}K z7%F#2D}|NK_HN%xoWw?1utMCQ4^2`iIq8wZV#? zmkUqvs|0&jSoPX+rx8j=)o4bQ4AWuMb=G`i2&uR{~?uIx){)vK3 z$=Q5)SG69?ieU?!@tPA_vhnZ=%b!?Tan$mAthXcWzzzf4NXG{w(#Vhw#5gG@R}-w? zO5E54@(Qx@$C4V}DnsV+?p_jDbL^Os6yeYg*J&gM;)?;rc^sDin7gW7@)vq76eFQh|(!C1LHIX}&beql?pK9=;<$wQK3WSI z5UO;=kigM>4*bQ0x)yI=+S*dYEN_Wz@AxH}lWiZN87`03 z*6lzIoNQL7fkXJVVn5$ekASRlgve!%YMpPK-Ap^ixt_C9uT1d&)ZvdzW_j|Uv(Si! zJH}9`0$Z8q+;y~a4?PHM^sHg55ziQKLP@x&LK~s})!EL}51Nbnh*2lN^jWPUXGY%& zh7n-evFf&PPNz~(7DC3|jUYdO1Ax(eO-f%OX>@$or?|!+RpGZkvWL|~JyT;j0R2Fo zC43s}QXi*4*BKwzi;f%E(jUxd;zppntoD4^n#&tKnXUH?J#09H^4GbJgK)@H!rz*? zydW23RAj2k&a_idd`iUY@LY0>BKhI*KJq>cdk1cskj3%Tw_Dx^In(kOi{X94TBzEZ znYr&F}P1 z9;nJj;-d`9Lp;duIpKJX19cCJ2Z0PUN(i6!;dnHizLJ71Nx#B}+RASiMK|Z;%9JV` zX6=!+y$>iyuPWygQjw7oAInJf;vo^mz#a}v#52%evxL-7{hV1$hj!Rnvu{6M@7P2P z&4URie7w?(iJ-jV)d})#PB9ZXI@KV5;nCfdNqef#IhdctsaDC9u3zaoJ1Tj`NO^_N z#i;*0M`noSh7MoVHS3^BP9HXW#C%uh!9+WWAv#$f@LWccO|-Mv$oXpj z$t#QvicVJ?30XJEGe6aEuB92}@!&YRKuw;;y%O(&ogeAX@y6~=KXu-1X@|kEcyz{5PXylzJ8|7+oB;G3>@w*w zN9y1=iNQP>m|R;vGHidbmT%GDzd!Ap-X2xXeqpFPgV1LZP>-Ju8ybY#{7si1?uj?f zVreCkVx3^EfHyP1Eb+0J=xwvj2rnX*lj1}U#wUCMw)x@%fVTWVD-fUmqO3_vAU(W# zTjpB9v`|=)EA<3q@`&Yk9`o308Rgzihq0a4*mhTmQ?b}`nRa8;*L|W98Mk3%YXdAy z6REDTP_Kh|6MiRwS+=}NI*fm(tza;;KK7=_B{$^##>lYp^9WfMmYEIb3}%AN*h&+> zmbE**u7Ck0AUw-TO=-jEeFfGZum$Ic#KXEm8h$W(LgO z93pE*)gt0$Zc%FaEM6fj95GzmA+h$qYPRxKsTbqnkSkWTvmF z4XhK=iu{3%sk+x?JsK0IG%@Sc7biOfZ{iU!5my+*wJT>>{&`yDU%h<&5aGa6D9pA! zz7?=kfQX3})$1Zp4zw;O;Gh|;z|U9J%M?WDaKd@qh7So#&M@)!JkX~ zE}rw1;$8{=T}A0BOLB));oW8_1)B~mn1Ot|dyXFP%uufk#8V_wOm3)B62$Mp4gMCU=H;3w?pC>X~ ztJ8wu8_#n(fmQ_@@dbte%y5KuxtKPU*?F{}>Z5TP*}}KSXh*7COajMmIRe>?DTiuY-@e`4up_(yJF222HbV$h4DSCNqn7 zCf02HW+Qz7@oMUX$1(UT>G0I6S_qC~bt}6674XpP-Zthwcl(bzCS%oc3iZOx)mMa91W_DLk^Ii%<_nN<~5z z{f&R;m8@kL^AJDKLI>J&AD=)FE`ypC;Cq*Zx>A+@x}C2(|}XLY_zthK~A##W-M!Xy8#(kqN%c?Afq?(Q}&hjC(ntk#5baaiX3CugPR z|6HLG{rG>wX*#XJ+cTi~n@FZEmMJm8k&^A(^JX%BOOlFGs4Zk=Ke5bzA4x9j;uqj+ zwoxvr13}Sfp!4Y6O}92{E>5X4ntBR}7%mGE8=aCtd&1)DKmEh}+E_a$$NVyI*kFg9 zbYXpbQYp6Fm`5JBp&6;M9S=^LtW{SDt>RuG`o@#$S`Um2s%9Rq#cD#_a0cEeMMAtO zbko%A%mW*l{brpC4GN9&CfEtXINzysLIOw#*_{)WHGdK$*>Y0QK`P9va5EwRupH8; zZ)HKyM0_mw?cskL$#BOS7~WU#7wi1u&kX)i_)i|#$yLTxi}sfa_JFHjvc?6;NG;-)3@qKwYdbBgK#aOCs@nY{_k-PG_^5_|M*<_>amy^H$%0X zCyZdY2#!7{`7tyr_D!9S=B2Fo|G0zuGo_?M(GxvC8@bhSQds0Q{a>t?Z20pCgmlP(m{-V_VoSf%oC z62wrwbi@+$c8@BwlIbIva`vlKv7(c)J4N-UglIu(vmifGhup{b zAd%%1Yw>2zhJ!Py+$b{rHjR6b!zwF5+wn=Emz%ge3%In#fx=V$-WEdh(;mjd=J0de z`(Z!z%0J`l>uMRrl}`-iJw~WFOBwp1hGyTi)3WqANWeJHjnh`a1CjFR z9wypa2xUP_+{Hb3z)ywfnm;C%vU3O#sM|^Dk$2JBAo-0x304lWQ&4m+l$2hP8ch}O zof-Hd0(iArvKav!a&{AN4!gr_ob{|)u*(yjXcp_2SNyOP`9)_`-7mThZ)awCK(WA3 z_$UsPJl0wi$nE~T?9axTAB5FA%IvJ1+Nu%QA*&mf&qrOwa<{Ly| zGYK|@WHdc2e!>tKLA6n7IPSrtG_7?Fd%1_lW8(U-kAqX^={F3 zrH15+XyDbTxw%VBp~b1^*FjV4oj#PRrKSJqJR-q-Ol=CeX%#?@4B^4(R2>n{ePO^R zm`xkxY0K7dS*uSzzM*r)6(#87?fp%JSw-S*^pD8b;9Ok>3R6;u`dd-|Zg2sJVcpN;#rpwxN*f7Q+4!}x;` zqN1`lr}eUj!vs%I)-1bc*}NE;(ii5h{^5nB)NMU65?D>f0Ld3^Xl@z$7hPQ47$1pS z-N=n}RFkLOIlLLalh-37V#@@bND!WXboU_Uhh^t8Q2J1(bm6 zw5X^5f7rjcLNUMy+IHMCo?AjZ0uBE^>~CQJMW~5-vDPJ#;d=#>UbjjZkO;{J&TQG4 zsLqc4!~WH1W5FRHdKa8^8efuTPKxRf%tACT*5x5xk$BesAsH7RpJ}{iujmJi)X!o2 zKw;EB3eaee+Rd zzbU+e2P2Yf1DvRFlQ1G3k|menc}2WYU0Hv0TDZsfvy#Ps8wlYHH}Re}CAm(oH-%LY zWKZZQO{L-PWAUnK;BM+{WLBtIDVMdY z->-v4MP{i6Ty5@sq?K8D!D#(ML_K&fQ&VZsnZ z#BT-rCkW_ENPI1Fv;Qv*V0Bn0F1b_1VlQ|~M;nzzmbd}8d zI;D#q9v#S$Er88Rx5;N6>!ZZD>1x0-h*2LSLpXux+GFzk>Ef<2ePZ!pTQQp1>6s2G zZO5*hdHo)+uFyzA!puwzH*}xF$W?JXZYh zFB|!9qXCKy_F8r>@YpAJ2DMb$9qfVDKRZl;45&U4X5kt5m59XUNg%nc8-3`%>Az;Y&1?}pS_>h6oTsmSq%ac4(m{7}1^y(osoz$qS- zPb6s|B5RZSX{{6w8Mq(h#6M#_M9i_yKW^a%Hi4_Pu2#r^Z$HoZs=jJ)gkMux$ zxGfP(*5mct;Zm87#By|=)gHe|n3@DteM=rpI}-t4KbjggDvQ4KF1nKx z4CmYE67n8iZRXd!YURV13B9guf?&}m*4LUvLucLhslXj4n5T@~|6QaPVv%1gK~h-- z?@KT^RW|g1x=e!nb_p+L^py=-r=I+w==bL|J7z#K*og zxrMz_NZM1#K3Qb^(%Q;5-&+|OPTM$c^zCC?GGPwsfDe;Zo8)S+aN!X0+S{L`+z%k?4 z--DJb?E1Pjfq#}vhd80w-E3Xf)2#^lYvOCj4;Y-mx`o(2>GJWJup}WV;gwKwIRtS| zh>?lo(gPGrE?EJD-B40+qSRi*niHTP#Qp+Zv|ZJ_tG z5Bw0#-NMnbBm}={D5>T5%6t$W5U#(*4MsbQNSqWoQCq+<;Ov zLKRM~F;(0*c6Z=((({2nB{O}%vw0Zzbv*Ms6XXL%mg=l$QNj=<%kA89ZbI1wTA4*7 zPDz+1qt0s0HIuP|aZ-_^1L71IA0ru)P=I76mqQmAp)-m@(H+OeoG@X;hDnV)h@2v7 z8yZx!;!NKl$k08&dO^!QGyVrV!%)EQ%jnZG(}y}+|gA^tRLNKZf z;;~A{@fd1~Z~T)YXG9R`US2IurMTS_;8-JGX&KwZC9fqM`Vs8S&}L8I*(vwo!ipPX z2|XeP?^x)m@{g`5$l>S4-QsbLX~yYxYlMA)K8d_Imov`bPVkI$^np%CKE)Enp#$d- zf`qMtv|j)Ehm?Gt$uqI*?jSlCVIo2)dy9W-%xHj7L)<3#ks*JPAod`p2xnYkbGVK47k*`5Oq>n92A- zB2io!1?~&C3CfUFZZC}hM?((-j;n$;JkvEuP7Wj25CzH20B^0_e=*QsLGeB|=O=$g zfti8MGWH7e!$nfeh{xIgFgry3QQ9)C)W$behNoyYGiJ}4(G_SYWbYuqrPvjiYaTCE z7Vd3zhOj&O&FDi?J>cM$gtVhysBPvZ8L2&?IZqoO?ElJa*}nFRfj;+T`t1>vaSG1C zi_`m(FQ0E{TYYC9G>f9yx8YMsEO{y9({H7 z@_d)+e}3^hj_1{%gI}DHjy~&Iaa8Jfn94i}K`B<>_?a?#i$K$mlL#8Q6*wp0T0*Pt z`3ynYJ?4s_Wc)&u?Xg2vimzZDIFc1rt-41U3hPuSl}NN+k$J_`33oSFP^Vz#kLR+- zsU5H$6TAZgeXh&&5g>C)&KT&!oaKl{8<-c_6QckpEeV*VnK?Q$GUaywaTq5tPYd!+ zg2$H8frW)m(nrU23GXyQp34IfIAwPjtAfroHHoT~JWV>pRr|W7DZ-*zqX7UHfX^bM zSK;sv3iSCc(?@{JX*r|r#6YJfV#Or^}kSffu`wr0pHq8%h`Hm7%3W< zP_U-aJ77QL^CPsU3P$?gfoXctvh~~X-OXYxnM3RSdR*z3Bfl^&5 z`;l?&%xNAs&freZneY<-<)nYE*Y5OEZjG2EOCzR0T7fPuu1i#JjrXDMf@0k=u?=$# zS2Q*97U>d`wCeyjrw$!xR3U?8B$KSxs}yRi07ytkMl4$^iZxURfNS^A^+4`eo?ET% zrSoiQ-s_7UuwLWL!Q^}-MxClN>P`%F&PIu}0eXXvFn?m*fzdox)mPlhp!sR_INu4wrX}q;IYiQ4eOUk)$hH;CxGK2`RohA6kG)M z1sMI?S3&RwM%%#|{ql5@urr;J=zOZqs5>#xfon$njHpw@ctu>)Kx^$7geBxzy_VTd zM#tdQJWi_edB|9%C7C?nxKN7k*~I0dA)1pKl*s138L_e-&wPqBEs&247&I`{LmV1W zNF?Y$*x|g`)&X?-2L<{Z#M(EH50JS&YRV0GCItF;9nX4t%cX_37?HSO;Ry_u657Ku zVb#rE4aY+lpra7X5Ym9d6wiVkyERSFWU}1LI^8}OhbKU?9&w6@ajKwhb~zCEn7{z4 zLt6s*nh4yTaewmINWfU-PRW68BKU)baT~)!<8BRrgS$0OiiSKBHY?X({+Z)>?(_jQ z88SK=k+9B@a)M+AVN}A78K#L~=RUwJp6V*_m7E&X=q}+!^ZGS3*Oc>Ar|A|?lXobYx_GMsY0IZ`jQ)HYf6g+4a&s6{%4oO#e~ts;Ak{Uf-$r9(HbJg4OPX zGY~*#?aMLF2S200%rIv~3KQtKR%yI=Y+7oG3H*$gSbG3;4jdKXNFXtaH#ra|qnce;y{nn(gEeUum^3bS0vMj^?MUyLEY%Bwu#RCK<}D8C zIRvGPw&^fnp}zuW=MIosUES;Y!NviOV*;;0zdAY0zls|Vcc0v=8_N%#d|NM1ALm1D zWY-7%YU9~E69i^P-H91bk0NA-B@R$Ubd-SbBXBnhZGdqhVQ%c(RLl{mFw`I za7Pr#tjzIJpERp?6;lUB_gp0Wr7HMA&sry-Wa^)+zUM;HhSIDkf_9Q#+KQ$C)d4#AQh1> zUnjIFN%#S|8vGr==1FNjLV|%l=hKtlm4+@yR!g~#kI5^8Uxh}#GX)p zi11gyvFB#Q7Uif0Mjdq-RHEdt$}SFNX8Vh^=mjAv>#vhO0>myl8g@7^o|Yf=Nhd3H zlqqNi___=PnAukU|*wO;(cpD)z@rR($o!BrbW zf5GuQJqN#bW1!D^78!k8scxA&LTN7zp^NzB^I?kl&-= zFAE;~Q<89$)dOsEi07&YqUbRh%XBV`1o(!6+t-dxx5$4T##3`;jF)rZ$KQIagT{BveL}`UK;3k+|~d5d$V`l{U7_)_kR58_R3+89&853xvnoc z1W1D8w6vP7Sto$Oz}rKGp|w6e zE`}gcIcTZmX?QNEJQh}FsKjRZq8D0!geZ}WW4d05>3}_BmEl^!tf~1n%A@t5K;Ij} zZ(sXFe_p8<*S2<6|Ms}Qv)cE+JB0Ld>%$?R!WQSFD9v2X1l@@dWjyOy&hknPxEBWr zxzQ}6{tytDh!9K*P`C{EJ+OcS50}BhNXXG)j4n+YTKL>yn2J<0(i8+UP#UD@>@h`< zR?prnA^D19DqL9U#ABB32x$x=yptLovb2~(u(^97&~L1`-`O9ZUFcUYyt~yxetT!5 z`~E>cIm9^wt2j46?nttj&lv?~20F`7)Wk3ayw3a_3><1O;Nk$S5SX|nIn~uc$T-ld zIG|&@6xCgmhw)QB+caS$9|6|Y3USu)zNKcIo3d=y5+gZJug`~p+oD+m9hQ`ioHVYE zkZh!SkzO3exqt5VTRVU4{8I-~ByFb6ev z;N(KN;j(~hVv!Fbx)Io;q77*UHo{UkA4X`Xr1}h49hGQiZ^R`3H!eB(GetQ&3DH{V z-|ZGDd9=x3f@(lcmYv8xc2CU={d|C|$mF{bo@AjKJ?(UD9%U?g% z&Hw(_47Jjq`y6y~X(m$eh=ipgS@8Ue0({glh{R*t2ZV6Y5XcsnViL5DH-m zKr~TIR4f~O>!}l_YpljYpqU0K8&eNDMhtTRZBSsM_%ATwBKndfc;Gca=;g?qMToIO zu@J%SWbxnt&?7;`CeFU^i#>Y1(070CAKtj|&f4Sq{q3Ed3u|}3UhA$L9_Kq>4vC&r zoZlYfd~RpdofzgUgNXCemMEIA35y2DghO9N4xdepH8dC^7XKFTvY^;~ zj{^&0aV|(&GRa#l3j`QXmUrkvGG)h+$?AbfxnSQpu)oU<9W;RehCH)3>8qds5_RZHl6VsaJUc`ndzUFz=b?)J-%?$yhOkS9n zRb}8kI|UThL7-{@his%8YR7OLBzi&96(Ak+Gn#C>Fcu{;MP&dtwIJ+DNl*lv=N>^o z5>~qhBH!)^t`8hnA;vS_mu3yCH^k+@-htD3ZtDJ3_xHOG*DtJG{Ksy+xVd}z;(s38 zS((ALWe80A#ux3*3rO`XNadIlI6ROEI+_c_M18r>a=kxGUGWb2U9tr z%I!Qx7T*lYz@bvQQ;{>J!%v0szNnvPUFK=zk*C49ElF&~Ezno9StGK+$}(ava7`ht z3Zw0{zz3PXGPS|M&jpSD*EdzU{mF zPj(;F3o|Lj{o%OJ+s57~;MPo&y$%8&Ge^j}6$mg-3BwJCS0ydVibed=+5R^l@=NFJ zT3dPfFF7I5M>_h9rw3}Tu9&Ja5WMh6B>xaFPz=n#QHx>Ig^Hxs?x;aKwB7@ZHQIIR zd0+fFiNa?kf9>M%dGgq=>*3Z1B!S)&#d?s@OOn2f6X6ADp0x?g^<&_MKrTA*-_HX5 zPYWw<`Mrye|9Q#&^84-G_bzqsxqiaBb<#QJJnosy&5WhN0@q%ksA0z8MfAx42=R*7 zy3t92FY|n!Ki_v}yS|?y8eYG%3<}e#!xbxK`lW@*51jAp0!?_Qy?d*<`3_Y*yVz2zf(w;a!Gtgtxy{re9e?S9|&|K9CyT7%p@yx(tM zn_c_)I6$^%it;yR%_|+i;#9IsB_k@gG)6l-Ycb_^uP&9L0`VgANDtKdekCF!cp$U2~Sgo;o_8Lxu?kVklmV<^7tbm z7>OLLg{lBFa9?DylsM~9JpA_3#!uhA0yq2G=J}bUeCIgqr?sbH{^{)H zV~_8JAOjNNO1c!G?*j==GQ)|&5~H7m4>ePb#P*ZTL-xUve80FfRn2>vPZ#k6VPYde z607mL36GpGcp1rSv!3(l#8jzEAjM87Yh{+0bzACzs7eiviGoM|iE=YAk(1IKm{zWX zj4LBsxz39qV_ym}DM;oO)(l}C@p%Bt9uh@9dp7=HZB7=apXW9xT0sd;k05lQ8sICQ zsk`5-TwdAU?XO?je6rrNTHD#V{oj+ixR;zG&f`9M`rVF1e_Kvy=>RUy(y)K(LkoU@ z(g|-niEKuVF|o7bsZdRX!!#Sqs-b0mI=y=xL%zf7k6~^>sEi@6OA{h}LQ6I}WXyV& zGixp0MNaN1PUJJ}*PI6J8nIb<)pTPR&q+km12_=rC84h&EvHU&y{If z5HVf8s(@gb--D53QSaf&An6?Nbs(ZyvQ=&9q6Yn0Luzgne`e+0lOMl*YwJ11RkoudTm$4`|CkH&Icfr!tum$Og?zz=0jiEn&zlCsCXjtdWKX|It8)WNpM zNV*a%!2?PX%a^wPZN_(9|MrSM%FlEHr=xbW_Y4}~lzJjm|D`@1~LO;mUq47|1wUt&;DLnf2uruR5H7x{Bcw)U;;q{p}fa#BY``rGMR(x!%ZL>5%(cXBlK|@atJ_- zxF6&n==!h@ghIs2iosS#VSlPazQZF#Mm&fKCxBKF`_2P%`UC{*sM$5+c?Yc~T4%gb zJa3_ZhPtSu5?yb?P`S0{6|qK3zU{%8$3=<2@U8LegO1cQ@vD7*{o6V6A_<-BnJ=5=@U$OMqu2Gr%w`e z0m5SCvD}xGY?=MUHZ~_Xk#dsXA@4QmO3;6kx%mwH56G-g)XqVHiz@7~UPKa(;S-V- z6|g)1CA2%2I_aLVJksxA;sM_laomxsV}>t698&{d>zTXD{SV(QZ@AqDoBw*WbMaU~ z&Y4Me?3vQ^&0`Q!`zU!0hMn3lxGEljY~n4v#RfoE2jDRjUz{^|p1sh=;D#8>tIDCM z_ZV1eG_UU6%P|K{5Ls73K(hOG*;@IVVHXAsN><$@{Q&K`|WpZ9AwIvS$U>)-oyDQEj zAJNp|^-#dHP5jwXc9C9;)eZFC(zx()US!lS&deJ2j6W zr%;FVNP3biybHJlrgeJyxMMA~J2hL3EIs25=JfUnd{M9ACiny&DeTWKSQw<^{0_%E zeV>sGvog)@J8nFr4=5SwJW_sf%eHm!OE>9d=(Yc?{#}0Ag-N6QH}G`!cChyub27nB zo6xh81^e@&0-bBX!y9KIf)Z51Sq)eXg}FmfN}8>97UYG@q&-Rgoy9p<2IKptK|$?` zsiI1JtRR@k@%Rc}hg&5zYjk_lQfqKm&=#aK+dJFcg9rWkTYcBRcUYWXTb)wXeaagA zS(tAf6Jg!qH;JY#?{99;Ac~%*os?6kcc_xl-!;kz(%+4Z#*YCt4wZY_o4Nq_5b05M zzYMM6^fL03Y>-P$XCH@onk9P)s#rDMiDW+D60jUF&kbx>ta!u(h&KSM*LU`R!fXiG zzJN^7jsj#toVcEU8tB zYu=Y&oRgT6qL@0h^3Qq$YpRE^oReb&`5SvSlqm%GrY{xdoml}udoNvBCUFeoc5be{ zfBEt5BX{HT!=m>F@Yd;8Zhx8PDf%VMkF6HfRY_(C5&KJ&vIjjj?@2KYGJA)F$0enD z*_*x5$L2=vjirh7;$nwZ0OEesLilK@BJ;2Sy@sodU$lv*4f7g#U~0=0ghz6r7N&P_ zXJ1vwzsrWfYbjfC2V%vRc-bjZ?49#MWKJl~4*u#LU(HLSkW$jV-k8((&N=qmw1%Rd zM)?=Z){vnaoHpKnkW9$1%IlQx6p-LqD{q+WwJl+^luE~B4@r3H0nZl-Ui)|ke!QG? zX3XS4+a*@;8tcoWfj4771mh`VYu35${2gnSXY7#V7S4uQ4~N(ZR%-)Bs^GMdJ%*@j9n;!_AIG;a_|e; z&K0=5Rq|d|_Edpt@U2Cy4-Fu)B`fQq2`Wt)Yt8^73Gy#IqIMaVw5+v!zwGMqf6vKh z89xuCg-I|Pp++RUOjBo{)@WnbfDOm0jw@R?E$t2 z(SGcip-Vi=tA~j&grh7h3p4}Q7=8$1W+7s^YlWFbPCrT_gatXR1PM==Mzuf@0b79r=`0;old->sL0E=i% z*nL^b*q?zvnBjF>Wb6~TxsV+PeMvhoR_{8!SYmQU^(e|%pk?7yEsgV1*n5GXXP+bF z1_dOFt}bePM@h|In8IA0cPGJCf*%J6dvAIP(BX|5fVDHACxzh6VwoHvcPv{(J}0$v z-}q+j$`3(r?xb~7^O<`OzwZx~kNI`doszS9xb)al(SxC^oBB3xMrRlLn)Q>w2Y5ii~Alw z;blBXP@of=ItV=&LEt!1q?ZT#*{o5aX6<>5l{i zXUWK>%&{>?&x@g48sw=|VcE=~uoog4kqn3lw)J%K;`X>^~3mN^RgI~1+RNcFR zdmjrOR6Pp%!d~72V@l`rVyH?126sbvCt9bo_aU_>-kLZn65^H>LR;t3mV51ao3Nu6 zWcKFi1<)>N$f^l1O$b``YN~>8u`<^>nZ0^x7es=tWgQ!X8KAE$hQNnGXo1#RpmCmA zxirBlTjzz`Jl#BQqS(y!I|tq$$2k_{uvqr?7j#U8s3+{z%-Fv;ifwjJOsc$y23ZD} zGO+ZL;7Ne$3ZmNCNjM+kaA-1p1V4AI*Ju>sPgWn|zVp_{ua=D^q$Pk#yzoGAiu`V= zFC554?uHB_fv$n^Sy3ARukl^RcZ+@h?$JWN197djOi<}Y(v@iluwT1q-ro243Bb4) z#h&}3?S-%eC>KZ3E>++h!hwBr&fA&<(W^1xrpe*9r7(}=VG70~1{J_(~CoG00faM)rl0?crtcPFi>?ulxN+`kPGZe)fzr*7%CH0huadyAFR&3G) z%HkVw7Xw?8SV-22KLNp|{t7C(5@=?zlhGck!Z+BD%H@x{28(`ozVFX1O;^|VVkkBA zD^Pwms{n)=b+^7yW={!>bHdR=zhFJd=B_k_1@Ihctln2w*h28~X`!paQ7)<>E3IY# z7@Eu>7u8-}gpViyB-Sns=q%_ZC45+5l*A{I6KM8Ous|=GE5vRO1Z6c#6Bab-TzyFF5v}sNrLbbB#%u&Wkwq$2I#oRqxdnb zNfF&F^1_Vb6w4c@nP4WwgsSjNkmdp4CK!dTac_8txCmSbd{PeW=92K;*~M;oWum;T zHr+IbAcus7WUHQ_M6%$2AtG-b{F?2**jL!tGRj4%i>9b(uuqR<&&-IMfsHOe49?`R z$+XB}KCUIFVo*ILqauPD(^RfrM4B^dP*^WTwOlmUZb`KhMJTlNB%CbcCA|i+WD(XI z2(6q{<^DvGPOj5tKDH~S1ZA%_t|zgjJR#5z8I?_t1mAz2zbBrB`KKQY{cQJM8*%ix zn5F~%1f$Aiya;|sB#}fLGaZeeEQvkAhFMo|bNV)?BU&3)Mxy)d$Cz@lc9$1M7XB!C znPyR8(HaL~<*35|LUE%qWQo3kW(IFajR79gLgQJ zS_RMJ77xpfI{U&_zDJdiw%=(f%bZ70Hv5|Js`d}vrv=9KEDiA)A>2{4z)(!c8TFsz zlOSk_&h|TCRV#z4mZM744Xg~#z=|HeYHE>%H4yv|nxWVN zD&8f#3w)ezn+~e5u$Fp$!u6`^;nBBxAR7_?}H*9 zG2#a-$$4rC#@bQiM}cFT5LJ*soJBRC-Y70f_KXlSr3xuy^(@9E1C*4SjJwKFl<1Nq z;qC7S1^Oq4|9TUaGyBi8%i?(QF)ux59Z#FsD%8zc-Dwb5oqLiD4A8A8T6p@S=r391 zLV{d-2y$$V;`|CatIL*tN+UfAabQQZPe^c5t`k@6%7lfLzYas0C|Hxs=%Zd&3TY}U z-5QaCK_fsGA5PfaDw;!*j#z4!6fZD84dq;xF$aPY?DvwE2Mp5z*<1Pc4gh;hd>9#e z!854ifer`-K>so&Fz(L&hxIHg==rq6V1z5erB=H3oyI_4l$bl&8=wTMkE)$(6cCm7 z9J`$6oSO9!E&;ittA!_JN0A8Fr=@(3VCHR7Aez$>P>Zu%b5WZV-d^5|#1*By07MM2 z=pdaLN&{`+sw`Z%I)1**i07-v6)+J2Bu(g9}i#VCb*3m_7tSru}(G?lL^CcJJf`hg^N0_)nO zi9>1&7KHGW>cy02Par*TECW~t^4^i05G~EhzGrNLjou5uxK1WNL1l{n#c+;DPVT&xAXu>L}cxG)9XAiPPrC#La%ALpwG=RMB zNjqAaZb?Pg*5^5C$?&%TEJNECwyNmCCvja7sKg?IH>b$#yy;#rSv+{u{``5F-{RBA zwui1iB}C3E%;_W@GWcXcaB+5_R-QLK56YscLBAVvskR9QcrT!WwXudJCMV5U;+5Hl z7e*Oved;ji0$$AHr_1`NO&)~<(BdNVtDq$wi#4%erM&GR6+|^*MS6W)xti~boQMbs zh&-rID)w0gQi9QKv?^bkqH5%5?imkgTTVqHt{n^gqHTATa9|r8NZz}Zjtl4Zjqaxf z#&tpJr5Z1KX1~C`&=uEy*N^+PuAs9@tkFp$1_f-@seI>xkK&r3*p?+qNPO~FW^is# zoJPCYC^=8x%b5{l#E_e0O``6j*O#P}LR!M^l;ylhq#4OB7b;e07EoDekE~S>XgL%^ z>%Ksrk{CV#aIycaeK_xI&gnsLX!Q*Ty@>hG|0fgcZR!N&Vh9FR0Q@)bIbqgVj5C*q z-r~eOq77=Ab712%OYu_A_N>$ejBygn))p-`4Ui;Zf!F}aOig8c1ZEY_ZqQVF;brg`ymaSi7v-v+@mv)&{$ zkAQDV(}jlN#^a;d6=VTq>m*vC@y>Jp=-U$&M)scx`plN>B%4NnJgNLKai{GEHXT%UWmVs#Xa=tU zBct%WWQL&jU(*8WcsfLtE7i-bgQWlnN)_+CK`89F_yTfR(*}Bv&PHt-gBk5Hz4MX` zf9*ONv2lH1#{s=b^a@?agjIA=-^F+tf>ajTCwq+lUUVN-(1>OS#j^$OgE~I{3Xz5fve5p;PRKbhWRQz zbrjgB72Et#gg|6=oh81>=tw4Z3@Zb?YBr5h^V7IZ>|H?%#r}$TJL&oM6bHaQ*|b&Z z^)=2WgAbluF%}}Ce~d>#&x;gJ!IU*i14segMEz21{y0EeSoYKU=H`Vb0RrlECm{hg zYfMX7>{d9-CMVbtPL}y^6Xndz)Wdbnnh1b8= zC-a0t-_K%F@U%LSd0)igym4o_>auszVh8^q+%es^wyCHjIB6XPc`#^P#=Ax1IIj*6 zmJ4+fk>BA@AiZcYt_1c_y~&22=3YjsyxXJ%t(h~35zT^#=@45pm!)x$lqrDJkl>#M z`r(YT{byZxvyyU!F0loq*Vc5-}Qn*dcGr1vIe^JEnE0c(ors*KDEI`so003Tb6hpzTPw!PE(=M=+7e>ViXuKz>&vpuS3@k*7J3=fE8z7&EhNE5UqWG1G~@v?WMA%$5A=7Ov`OR$z&@<1FJz-5 zkfdWO29T>^;n~K(d0--*#DI{5fd;+6FkMf%E9R-Ms-vNSk&(F%B^t-bOxDz(5}l^#QvPG`&I8cp zBOdYE%R8qL6@pae!0|TRm^4C z?ULiQ0S8hiD=Bv7+y>$}QPCHzQR(}G(ED}^a5K>3fs2!dkf1scT!7>N5h&Wz73q~g zr=671FM-_WnLvCP(mbRc{z}a#nl1AHW}dX@#l1WK7x#3ZcWRR+6P;Xjj_^vVs)L*v zxQUB)Im#7+Mj%MWU>2Ar^W3UU3*($lyAm-pSiq5l#DMgq9WRfzq@rH~8V%WyZkKTh z1$%1d1rnlEU#M*odEIi61^Qo)R9#OH65V&^fP~w3mdN1RLQ$MM>2Zp5p_RCdsmMeU z?`t@1AW2yZamh?Ixqu?1ic>a}dIK6=LK9a_>A)*Nk>k#7g))d4$vyDYGg?KWLS~qP zB}oH=sf;+PGQ>j2FKQOAgqs@V8Rczx^LXJ*8^1}qIAVl~WDhD9tt>6lQ6Lh@q3$uy z!9Ig|)K5>~3pyc~Py-Cg!WTXc87QU+(8m8q`B9{n#qZnZ57Hdt0%Un^zYpJi?>>9u z)t}#0@0Imz1Xz9=yb$hMx_D5l3~JSyx6(`=Bfj<20Hg730qM?5HGq9 zjBSuu#a3dNo&=p`buWc5p(=|eugnlji$eixdG~RpCsB8~Z|l{meU7)xpr(GnKDG)fUk zO3;8Y5s0u)cRjtM-VvI!?PU~6yr*VQP?~*%6F0rYrbhuH3&mo2vKF!8ir%xrYjYU^ z^*nRrU-Od*@0aJ#;2f6yr^~X47ka-mjkw4*oiJvoC5boQskE2Enuo?XO~NIDd9MO< zYcNWY1CvZ64?dd|4UkmJvfLCbQkzL}cUJv}%6uR?pdMIe(mQYu6uD%Q6@e%TeGgZ@ zijPp_5~rbwJP|?MOP-nS3QAR~(-c;8jqB4kvGr}>F5pXL?(mV`JB@IN)(F6VRp-OX4&)n_2`XB`tlC~g+ zQh|^M4h1j!HF?ix>9VWx&GMuY+b1b|!%&qVpX8+)9yx1r<)yj_Fiq80k*Gd>g6wWt zidE2SXh4c%zyeE3@92UkoAT=LJO|<01eGCJoLVr~47-$jDeZZqD54PYMlwP}FA#Zx zSNgV8!+FEY4PG)bK-^X0i|49x-HAI6Qij(YE~Pv|Nc~pQ{LjI!)Mtq32$Ii=Lg_td zil4=^(QczH2(_bo4AMPVgS1`PiAios z8l2Eqg0z2xF_l^`f7Kg4%fl_T_qU`Y7(+4CkGd#W;8A5!b~lep$<0d9#t8wB=m1@o z5-WW+5e-`y0TE4IYnHVeR~7eg5aXt?;2ZQ2*^;U*n_Nmu;3QAPwXbWQSzIHOGO&fE z+nSUtx6Py;E}$;11)+2AAN)$)i0bTt@rXk$PJ57!mfSgWbM00eB5iRr0N4a2@o(S; z?`;I-OW7?g{nlNa7G%T(5RE;oECi}DFeN&dIHO=TGhQCXl6R!EgR`jO3cZ6W+aLu0 zI&FXnSnXFNAzfQZAhbpm;+lJ#_bH<&E$P_zW*Ik753=ELa*b&KjVjqt`wqtl^wq<} z=ANB-8}}_k%TwBx9y9Q?ECu}_t2*jdKw@MamhI@JAlgTj6WYRAT}&elG0*~5#^8)O z8(T=8DI(Nqm_=nDTJw!GJUliMx`^hDG*lbj$q6Gb;eFoyLX=6`0tAy(zU8Nf?uh!Z zC|tR4Ep+~^oF_x1()?j~=~$_2uPUvotV<#2GHIL_cIq0AYc<2Z-;3?ihCXWZW1T== z+lWrr7W-XRbwIb&{nHh+H?Yt{WP8~P=}qN@;pK-G2T&Sitp2$)Lwz_w$xE>&+{a}RvJ@Rs5gkPNk|*(#e6f1Hdyo!HFFMBa~i)O7NOlih+; za#?3ljuSvmOpGFEaAq_O+e8~Tuj#r**riQ5&}<|7@yrM`&V(=OITf$FHjZGF^ftFP z- z(V3H=`$_I_`T=3iWC3}&#O1H31r16UVzR|%{t+S2Cn?%Zc-htx4m8RMS-=cg`$c^$ zh$*DE6>l?3Se3X4POWi!&)Ra~Nn|vvINd)xAaGKWNwOd0+G@$516u@^?)nnj)%7qXY@KC{7E~ zC*&-F-*ZE0LwN_97sYn=4c_f)17p@>1^RUOxcOpc_X9I=Fc&Ij^1MSox(n)oMU&#JC!Efh}x}WSGp*^7OV=c&*BItti+E_-3-uSkR zXolVLr-<6+IC11%!-Fw9Y#FUB3)Eq;-a)Da>;Ctz7q0LF52Fz^T~e}ea@XVTt&*9Rf*jC9 z#&r}`j9=SrFYr#5VRh9OlySV!5Nf-#t_BH93nG(ZQ;`?c9`c>v^O8^pA-028Zx*FQ zDtC|2z*n>dUefl$P0>JNQ=^@1n4kr=8o3t*u%$`yg47j_??id0UZU9GxsmTc6naZ; zejqm52#7ru%ZrSV8><*T8tX2J zg*j;?P~UmAWl6)i?ubuQ^VK+*akoFPLVLENiVv}x955?W<9WJF5 zrS`n%l?_Nl@2@0ni@c{GNP0V7pigDSHdj(hk4&1-GCE1pWkI&TOb;mqG z2hg7C&x>aW!rKF(;=8shw(6F#cl+@Ief6^`0)4KanNEs5dVh;{qG>zae)ij54Gv2p zrqYt&Zp4r%^a^uIDZmCH)Vw?we4Bx0@!1?2j{?S3;bB!g%ic|_Kt|(@I3N`moJ^(X z&IHt{sG#W53@tTrcp@l-M(-A2uX%U?egHJZ-io5kheoD%r2+hC!m?CG{ho{So^A#p zcffW~nXpb04HAfsNcW`hCUS{0CqrEBlL=+m1?k^0#U%L(Yow`elXPc;;Y7XFwNvB~ z#5)t(U=l8yQHkclQT=>#t^%c~H!?qwh900x)I$_`)H4s!(1fyxR?1^PO`3n_v^Vq1 zL7GBJ;HqaDS*;D?K}X1R1+q(QG6Y_fNP1}3gnm5(A#Gvo{kO!sgp0kjeo}fhVkS|4 zJBd59Jq8zo{I=AKAUGEB<6yXAx~#VenoBZTrlcizg<}T#R9*TURVP+EdKws=fCi(u zKn;eV(m2Kj{g=}z?n%7$b8gZPdWZ3euJL(YYWj>#aJQCL{fZ4L^=JWSss^A*do9UJ z!`h7E#+5x=a#Wm)h)E%~7gpVRyINEYOQ%kCwJwXSH%yj(hG<7lax((>@lzy8hjLA5 z-a=|%PzLf6D4%?%w9Xc1nO{TF@$_jBZ~2aB-#9tK#`?v?vOCiWx0s3!kBC<_-8c3z~!a6i^9XSwUokvPDr!+Mh|h5m^!| z01)G@8lq7LUCL5H z0NacnPiC~fASG03NeAfziJIV=_L6<(`L{{)(CSXl{7xp^D3>8xC>lbqu>t=;MsdJUh18QY64?Q6D?@k1KN^uO&rG1?qC@rlWCl)gR19B z6h|$1k|sZNryBlBeeM{6zBV1NWoNE9*gi=^M-t7=5}e=M%hw#}t5-iGnvaMf@+Q+3 zI<%)#C@;oYT4dj`uXcD#H*O}T9-%`rqW|p&0;Tmr&KCcSe60ub=G%Fj(+ zlF)R-R|EVig-{vtQ33q-!LQL)mU;;r9_N~fUeQbk{2P-vFBor>nP9uiyy#g1a6z*p z08&7$zeo|rB+GLV%3C%_=7bO6N`~TxoTs^dq=`-qp;Z#<~v^h{|cZG5TA-s|#x@AqDa{;%SKG$2Q^)v)Jy)uyM#+aDY z!i83J^^3qn&uO|deE^&BaC|xoOzDVvxTiu-Cm-QjI3Dbaaq!5LHR5n3U z`#HVhnZJrQD!~C`qsNDhNtx-Ju9s_~0hk_2QPTgb;waTZO)a2=%R0=wmJ=;O%* zM=inbk?n)FfT4-}cHPMsT#hw~BY^Ezs`3`#YQ_>AT1PU4xX6kUMpfF2=VaH^qO9L_ zqhH%%QD1!$*35r9(+B*GkA0<}ZWnHvMMDWFqPQ;tB7+|hHBEaYgLTb>5g-V%2gST< zagdL0OC=qJo1bQjBS7DYdNiqt9IRD2eYl8^4SgX08v3SpWsV6zCwkI9wV^lPHBTz~W;G0`42UkRh?3 zoXG;fd`KkC)D7Te{(`2wY@DV68*K}H(c(2_16tIJNb;t`z*x&@%CiWd{&PN_V{w4S z&~0>Sr^7Zxhd_pC!=H_`pt^xMh;CMxP zmTR>F+k?a0>uZ{oKJ_qJ4f9*PbGi=E>vu%muWraK?ygT#z<+-{*ym_~v{#l2qtJ9) zmh{}ZBv9;X3t5*f)J4(^1^sFo<0)2aKj-j&9|Ntumr10*D960MX29K zRJ(SIQ>|_@bO@BOE9Nt7ndgJ#f0Z?h9SEf>%g`f&wnC&&64@~R%9L71|1+coh{DxD zKCKi-tM37b1YaHW3sn5e+|p?OJ@|L~QqDmfjMiEb)jKl{Q3yS^YGouDl_^WJ4WT)j zDipZsP266enJqtbJVCvOn)ii1X4(r{D8lb*E;LXPpdNsIC7Di>IGx!NVyg5`I0Mh` zw9z-L{kjwKClRK9Z#-D2E{oLPxuxgXpnJ7t3#P1-QBiRwXd9CfFbBCLBhH4q-h`nnm)fC8{t zn{);#c{tZH-Uq{0)Lf0pgZbVBai`)KsDDT)AmVFri=iM@!&JT|PQbD~9goDzKf3ypJV>4kAHE`x5RB7%njONM({4;7>74++ZyM5Z1nt0X2I*5 z)3i16dK%lLL9SSnr_E2wSy{~tEyfZGQ&j&Y35Ud@+WsoERMI zy`Pthv-kb6?Dsv6Ygo*!C6r!jftqy1edq^l_S8qf#A*(GnB0z(H98yYp3~FRaP%x9 z9AM?s@C*tZ3d2>oF|H~0Rn=rSvva}cSHENez45NnqXMVVs_bRf@37IY{nIzE=_k>) zd|wuk2dhh>ZcL4Y2AR=-A^@WKVr(=!L>muHA%+~)_$yhd18=1jq=we6i{%>jatjcz zF1^e4lGz0KJxqkD?f~H`-m>X>HAUt048T^-!$EX8$*;U{u5#!1)MnG}t((CCz7Fi? zm0V2(fcGl5%vjzc{Q{n4)s;ezG8Q}29nU$))%rkjF+!l}-s!Xc-Q(ZTm7%2!4^wAZ zq_IsOQb{}v;)f);;e36n{pXlcR%_4@<08?vUPR)Z5*ryxIT~6h7E4;-^ILNBBeq?` zc35N54abfln+{7_g>d9{6rL~#=;KinL&Xu55`t>Vwm6s^s3_YrDi6qh@0tDma|dS% z*+0WXqL^-HgEvCXf-_02$c5Xq6{kpKs@pUMZlaP*%vM1o=CZq@X70f=Fc;Gz(I>O& zTHFj*W?As_EarwnoRh#XHnGtZoo%w41bUd+^4GZacPsbL-slgrSKj!K4}a%L=yCrh z1>}rA&OyqO^olAMQ41~*T`jP7TuGL9XPHb5DG*I4iXO;mAZpXqSKK7#E-81LHU;v{ z!LxaLMf(~N{pNdHghiQt^Ofo0LD3g?!xB}96eme_MkCMcbn7<|ZZs$CD(RBE{jTx1 zrbGHz>Ke03ex-!&!a0i=KzH}+k1_P7l#hXKrpuk9m@vfIypJJ?`cz`vWgecDxk$cv zhSY>W0ePT!pR0I#i2vmeM`^U%&pS<4LCJ-xCjZ-;D|C zICF$CNM8kwxK#Xqjx~Au(@+$g?U{^(y9jo*Y#nV+g|5_W7``H!HD$I)EyXtq3a5^8 zTx7gy6I`%L)stb^9>n!Q^A~C`IL>RL(M&y&sMe*7z}^LSAGQR5YP1>687P1Q&_EWj zB2m5twn|ZaBI|Y)z}1tG)#Z1toUW=`>`rfrWK~Y3Q^Gec!o+jpZq6SCjP^1PAI%%- z&Kjz7p61_@q)#tDb*M(;OcKFJ?UOG&kDTMcok-WWE;v*q~bbmT4lrd6PP5 zO8(X*OHLDEg+@%dBECWfi`fZts1Q?5>8z8)mJleT`52@Xu4O8mVLwE0(j8mQf55hRi@=sW znN|xwaI^@6HPwsI069WH0s6?m&&p%BBu+V&r}{gZU)`vtkBZ5y)M)|9;=@*jr+;1L zPg$yUYZ?}9vH}Oe&35!@ny8d}CufTQy`Gy@R-%^XRsL}IR`0r`m>anYTPwI$g1l&% zsIMZQch6V1W0Grmd9j&{TMN z8Z+VsvP9oxl5v&nHZ>EWz;)j?MzXbAuV>=#OU-1PS26IB(h#9 z1TO(To*n@7FjP5|0Ey-7C82+y#(&O6|K-+=zy9+-`hzFf=-(3$_J`md@+_pnIFg~X z;byB2oA@E2W}0!aHsxtaS7G{KUxfIG8Lnd}v>3p63e=m}7vU(Jruus<>e5~O+!Gw- zEFA!I&@0*IOq$}%SwpD>8t4gN)S{7*HKoVYMTWCOr%0X z87<*7jsb-Q_%ri`j@+KGg@_JkfHNp41Sj8V#5kMr#mB}00}??&?o-qG)w0J0twyd} z>T6ra-)7k1vlI!3_fz%d(F`NJq*Y%8A$lf#&A@2Mnr7$#xpNYMe1L#xAHeNy%e~sB z@?S%*4HL$Ut!gISnP!l~A*K(M(W3RLaEgPx_?&ZygUAlpp_A}V9pGAV^@beKnJJfKWH=cFo{*; zW1*EKzmTZ{n{*kQYbB?2*Tqk+YIk1d?F?~tg@dj|E!zee3^g4`JXTX`;$|%HAjS+; zhY0Av)pU~(+Cyj53uje2A3NvZFraCiWz!w)5pAyq) zbF(VrRp$ciX8J^0XufFit__=@8x*Gy4hg5BuQ(()9AIqdXnj$jz`$G?!W;obz$Bw{ zS&~v{;LaKf0WP;g)6>P?2#N`(o;JKA3L+``oHg*%U@|B8S$#5p%^qi!dkC;Uj8R#7 z8lv)SCiCAancoLXTjfn?$O|gM&z1A5gsVQ}{ADJ&5WWFM%FHK7q5hEucbx=TCB_ z|HsGt!@u}rPqRd}a+4P44cGu?H>VXNeyP5}r68`uVmD$6CL=@iJ&* zSou!Wo1=tgwM-;1NJX;yJe3ZC2WyMMFg_kHOc719@A>{$zGt#HTg_AH+K7lXLs8f5wHbd??9jOTHP>Bw)Y|e!DB_lYqh`QySFqex z!7K|a-x}M-1=;1#E4ML1N*7zP6>5VGPow-c0$U#pD#JxHQLt?5cE0JZ4-LYR;+U>T zi&vO?N}u(25;SJby&q~2emq66heDHkoxa%13w63ZM>7SCfrHcQ5U}OUbE4AHQ>`pg z-f78ow_S_~vma5@l@JQk27x)`=tmmBaGK-Q1WkJW>OhUEWr(raj?GwF4IRu4JwODn zs8Dv_s;mjHZc)HnbOLR<;0HzeapaX$@p#BoL6opshL)f1vF0J3Z19z_^kRpRdl%&?22s5bdVqt1%rdeAws=DqzWON94#GTjq zm%?jN5z|f=Jyr~G;IH$qkfhMD>h`V;YR%DUz7DE+;yP9MSPB~ZOXv!T3qt8 z&zdq+yI9k>G_G=-FrCe6Dy9q0sDJbLxARId^s%`oC>yI-z9Dw0fs4(Jpykka!#f>u z8l*qNL#s!u+Clla36qkv1>1{e)rk{;rL-F!)3R>l;U1a4o-KCJ5aZ1o^gp}C{Dwps zOU$#MTJSdMkoi(TQC-=r9Vz z&Zb!{?!JTFj^BSu$P5jNgn%j4kE5ZSht&lx6b zVokyTy^>K*dFeSmX4FM+Xm-U==FH#qm*19E+AdtB#tGT;PtgBE`Xh zz2KVwhf$nS5w0PaT0NM8rH5xrkb{6hF+PoY%I!3r(-UrSwYJIJLzP%Gd(}IKO=lga7pQBIAD=6ed6%LWl<*o1OQzcWT&EBjuc|xWAno{GMNP+39W82Ybuv$|^XMW$vN15zUOQCCdhxFWttOdMCK zF-rnR#Lvr;z#Dz5=*VO?s$&IPHpmt>vB5VCrwE#8zA8^o2Ug)2$-jvoKHd(i>;nD0 zA(oe%2eO2zCa9rkh?OtbghcZ?ig-GECYEgS_O-)YmVM_Gu^Jqb`IH)WM--4BI67&f zz+0!rod6dKRcb~)T@$`V1;x|4J8$`T+7Hl*DXum=5EICvbqZu-*M#3Yw@~xQO!L+? zo|I$F;u)Hp?LP6J-soRd?SG85f8#Gb!AAccc(9b{MY3@Z2}x_FZo5Oj2T_%EFH=^= z%Hnuv>OR49^$-ZX#2(ceo982e)v5`8$PgbfU2*8lo>W_|YjxUHJ0y-12AYm^&8CL6 z0*XIHO1ya;yFln*`DzC2s#!0;86SJBt0Sa2ud1NqUUUKyvAiW0wbLAg<23 z)OA7~t+^^)i*Z@y{gheg&x^$D7F$Y{DlT`Xyo+J5JlJkyI5Vu(eiBg+>$L|aZ)MZ` z)8fj&Z6VyZMAo#pMe4+7D(ke=#C(BfsTei@EHLbyu}sUjGue+_KWo*-bS{u-Mvun> z34}}=S5|{C&vnbAM9ldmXTC>ZD{PMYTHVHEy0DcbQW>T(Yq?KvsJi(n*Fn{`*EzvA~!!?7FQMVWhXH{2Fixd_4 ztZ9Dup*}nELJ>%6ZQVi)7%OIJEn~Co$#}lY7@QJN6eV?Yq7iKs>A1}Fr%tKWY#f?` z9;%_8gENDk16`XI{kLsJK;=z-vg18-ivZtq?VYn7L4)w)K13WAnx&Q}Lb*J7EGGL@w2k>+HGc34%8 zyk0PC*rY6a^~zv_bhEk<^Uf*xPO*kmMm;r;nfewDOIu5z(00YWS371Jc>0o|#&Xdb z(=ZqyBI(yW@us_x-~^lkXo);Mf)R@}KC{?0 zAc{6FJYxoQJ%O6xGDWA>!}8KG)eB!kKyGU*KVDfg$EW2;VTfg^OHGW)NXXf;z7_|& zhQnwm+T@@tx=YwgSMk0gvEDg$HLZgrR74ysr{)NqSP5q0%PFs>WrlAg1FTNyBiuRc zYE9r&$?K0{kE*#X%p}Y1uBn#35?xfl`kB)}*kILzQ#6fY**0Gjk4UOzFv0G#^IVnB zbayPnjwK9wFlOy0n0e5KDUGX^1vELuT_90+(Xw0K?F@No)j$z0Gv6yzB=q8@D7cHO zM-ksMlR(wH;60q|YRM_3*{>#MsTmvfDP3N+R6oCf$FbfrAl>u|j_-wj)D*4Co1Cm} zh`Hl$8lbTc%v&UP(M9k?feWpE`EUkz4_)B#vFp zof(OAm-LY93D%~PM0>BP@)O<`S6lxM##KK974y?(?iRV0R zmu>=ZAX#AA!hxS?qomnX+`sKd@RF0cQuS0BvAHNpN;Pd%l1f?&nq`&<46o#Yut`{= zyH9)yG449ojCE1pELa!aP^{l6m5Sr^C9u-)c2fTXL2Hd#t;eU{Rj%fsm?6w1n(%>y zPFfOil<5Pqt`V9vJuIC|Yoe)`RVf>#u9@xeP3Mr1EnoG{9`-MEKt+5ou0VWqdZTtD z?_@lgm?Q6B?vCbwUZR%mmgdpmI?K{iyXP*jBJcL;T9xT?vplm(Gj7gZQ+PR0Ga7Bx zG;E3gGp!9TL2nX)6Qk61w~j+;EBib_U>UlgWr>Ng{&UXLU=cE55If}j);op!tH&p0 zXcNZ*bJiE*k^sV{|D3wful*TSdp`b8T+!xkd9SbFK>2r+VK`C7JBUX)$|R0M5ja~h%3MZynk&k=&rdv&7=O&FtHj#0_;Lf zyi`4&WUcs3^fbl*pnJaLawItQIiV%jYPP89py_Zv zBgse0SO*yV&_jz(7L-zGa{(I(eyiFD|V>((v?$5=9 zOUtDeC#UJv(c;D53}n&_RWSo1(Baq0bD$9OJ6gu}zmjIM_ z2C>G7y6u4}E6q9r8HxgA(X(;JbiHUg*XB!)e=q+z5=n1IX5K^hx2|GOhlJ>$+D60W z*;1hkAVQ?G_+TR7xGyml&fbT~)F4H8dmL*5#n~FZ6Gr$FeHMWhc227vWAjt@1aOaSzLH<%YZ2fj|*oF2vTf21d< zKBPsSmhZKspwK;t69$&MT;wA4e=+~NnIOzk(mc8e|Jj)q%?b?)c&r}%ueWrrxBk3& z*pu*JpS(bLqK|#Lttl{5t%f-C^_Aewt0*yjUuWI&Xduy=;Pq{b&13g;8 zR^^_coa8#wkO|@^wV+-m(07n8Qkl_FyE&zdfDjm`g6Inhd}vv6v5F4jY^76V39rZ{ zh4~#a?&eo2r9>xFX)5AaJ)Y~v{z(Ssr_*9uQ@&_*%<>h}GDA#NxTG!VB5h>Ms~fpa z0%GM{*Hg(cK*Y2tFj-oZfA~`~_0VHP6WZy7p_-8iIYx~&Vz@1`_EzD_0c{SE#Tqwo70Dwac%BuB^Dqw^NF?7e3 z!@oM^{?O*t$CU2Be&aiC$|vE$zI`?u{Ncy`a9Ya2r7N&(2VbHC(G7m@kfmEtPp+U^ zl2b^}!wu=Elq;H!l(STwZw*RfEvM;f#2F?)#QTNrKk}+oVFZ=oa4ch_a=_cByQ)No zYJds+J6-PRIQcCt$9i~rydAtprh(?@Fkqo6uXIcs^L8!}V4SWMGt*`5C{e#|c>c7n zm-#{kZN38o$a-34GJnZ7k1j)9BiG=tPb?W%t-3}{O*xEsgAL2%yLc^YOlWvA6)T62 zPr%BvTLpDfDU?);e(2)qb5;Waeg*WeRqxz_!Ofgk3S2hmvC9~2s{KjaXj<$Pm23uC zR<+04cnzg%65;5sU>lf2&va6KoD>M75y$4d=7|KyzM7jsm#$HLJZZTQruG*5S}m^z z#k2V%0rz|~0ch0Vfo3OXI_U=G{-H;we<(IFdh>$xVHa{(8tt zR+Lx->C{%}7`m7NrlL^dF}MxObnyoIqmBN`S6tR7!`i>`@$b%qJrEhuZ;7#Cz&EDi zbc^y`;Y0z|)ntAzCeUfYfCix&257&%EHUFPp=&sg^k~(D$h4NBbcli#WN-UtFx;&C zs~x$#EX4}4nAO9Yr!K9v1q;%T1)l{DX)_qOe2~@l5~-R_@QO0sYmRK}YXQ@tWfYUL zwWNd`W$OyWKAnA;cI@S+aGYnP1Jv#roMH|6*G4hI0+>2n8%g8cpdFe<7OMc3)gWGn z-cs;X787V0E9kksZ22KcpO#t8})2T`Mh4Y1$8wRDrCFAB%xQBSE7AE=WLz za%7F=iokeD`#8Ji0k zbUw!+rXfksfzYzIN$?rWtpcYrsx+QrPbP?-?&i@s(rL-istIJ#^)U#>?o;j=S)=P+ zui;Qi9jLJs)apZ$e9ls!iM}~2X#VI-G*oBE9yF0XppBE?{*9!TtN-v7a(?~0u-N|H zd9bqBI2?6b0VWfnhBnZXCSr^zYtnb19BUc`U^Q)i_tf)LS*Gzn!{7vPH7DR|J{7Vm z7pZz8(m&A>b&*q7CLqA{poZC0w4QW$-1JTz){6>R0i8^8r1C~OUx;oPt|+t%Hu!pH zI6HDY&d6wkOf`LXSf2_+-r}2Eib_n;O3iVj2O>E z+k>){(Y8Ma8!mPYJ3>%i%pjF-TX_=%UP3w4_CKRCY z7ATFT9-M|?cSS10h*-^2R;{@>I}JlI%srk`sdF|OLpsZCN*HH^@( zl6kbzum1fb%FCPI@!mbfj_eyBXUT(oZp#tW_RxxYXsa5h2L00YiUJv?U{W-MAM=u= zJADOdE~)3#ofQq#HSD5B)sN5m(VIlmVhUQ}Tn*T{Y7m|n;l!%dJ*Fi5b~SWyjklOp zgW--#M1>l9nL`Ybg5AsfuFjZ^Q3lh2&$P8eDt)l|s=ZAQO+e_^>mxpGG>k>-_)jtzDkhq=ccPn)D)F zQsbc_Q*&rg+MQ8wH0lL6L_O&4L5h4>EiApgA?MMAYjd(UIi!9uYvMD&GL=m>W5A2% zLV+w+fhfo7JQi*&KIeUL(ll|Ooz7?L@KTTTBVU-HkNqe z7aa4Nv%=No+*qB1dw|FsN#e{~;4UrFa`i#rsOk#l{MyZYWG(+ypDvD-y5kfUXmbPV z!yuBtLoiQ!Bs@yy7{e+Z2fLnACRCh4jQa`oF92INetJsPL z#Dh9^YEw2S;KV9|F!inrvg)VdD0j{;q%V)0?d*81^cG*L=7DI1VCuA9wu?R_MXT>s zod}YsmQsCp<31w|r6(g5uT0|*lUmY&u{(1U*zp} z$};-K#~E#MK7Pm>Q0Bn3J>tM6McBu}h@97_DX*~tiZG{2ZstX+21N1IqYTpVJ?4g8 zl{jN7)efsbhY%hRJoQ+lNQw{W#_U<0`G)VLJ1D06Rpz*iGKQU*?e+Lpc3ovMAILbT z8`;1bsIJ+f7ZAlmCT>dOnr21A(XHfN3VW%ljA%Gb(E2@}O!JnNYe&B?SFUZlr_g(?oM^_&?qt85#6Vb@dz zF&6_OUu2t5B2}&R5qVCJFlY4~o0Q3F`kL+4Q^~7XBsp^OQSWF`g2z#O>-34L+LU+> zcYhiO8KQ8Y3ED*T#VFNPx!;I3NO#b6!z6j0jt#d=EOXhBR-4eEz#{AdRvQnRfuq&z z6l|&G2d_LT=H7n&FEwR;5^2jBxPs<*S22efW+YT#U@=(Y2sa9uWLpt@Y4~i!0@!FCTq_!tn6?} z0LW=ftU;B{kDZ8^Kg_$`clCp>UiRx}(LFzbwB-zO_dSs~tH0KgZXlyS>IEbmT`@~e zI^({mg?iL&*2@&R)V#5#a9XU3k|Pr3(Sk0VvP?-qg_s;EIoI472xl<}lgbbJXmu2? zyT@pO*b)M60jTLsIP4LeOKVVdm7By7I#^vCE%0xVK%sz?%HOm^k1)$}0ItoDOrJE? zOHs@tj-W!4OU5DpDa5${5&_s$9>wHWGvs;O4#dZBNik{6o7o)u|`h=db_(!_G0E;)jnthYmk*lg6v%S zIN>(u3!d{zAq{rFW{Pb2++;?v zPfQ1Ha>3}0SL;omFkm)p7S*bH^=Sa3f{1oYrj1RQv6)h`XjY zHu_%xzy0yY6ZpZN;ec&FtjUZWi8^V9^f{=KIXTUyYg#X3L3CPXvTm$B znq0`ZaZCgHD+)Xq)>L6GNh34&`R3;$ADd1>d5Njbs|E~QE>UV!#hfkiqfyq$MC)-; zG(vKb^y^W*dgoSIxkX@Gy~}J{fSgU!B8A^u)U#2$4n|?k<`sBy&AKG!A zhQ|49`N3PSooTef6YyZqj_>}gb}bN=bZ(=GvO=W8@*(SvocKN(SSi~~C1i08O+0CZ zo2S3cof$bxva9uoLoW#w3e6if7PVnq46U#Mc#Zq4Cb5R)O<_5s>)x)+H@ zQb1(x2~4R8Qdl&SCkZ8>CPT;mxk(l=#a6nB)+$g4mTXHk{60M!_Yx?i11P>jK;Bdv(l0>nd9 zol1D^R^$PNu?{Ox2B+3QLUrp?2^ax%XKc&!Y9cVJ@4&)PsIjWAGxi=cFF+sKh8v;Nam4k*q#6B$Yz?wDsw|+nYwDO!POzI-blik zah<5KYhDtbqT*840Y_@zvgbE`rd^T(XeUKg%+4(IYpi=l7%m23!`l=3)`BVS z+C!UPK4I6SLqVEM`eFWZ(c3cB@kmReJC4>~J;IM>NMWq%^&~=M?D&3**5p0uzeew| zr=zUPq!{3%Rh%87Wr!%9HtS8_9$hs7ER)BDN1)*k{+(UNzbpzamdy~LIhrsf&e0j` zY{=XgT5oHFXW)I!gE0)Wnm$0&!tltMj5&d5W6pY`e}f16#%l+Mum9@5-FWNV8}kt$ ze`aXhLASOQbgD^=Z+54GJblUL>YnMXgz_y>n9ERGKeZHw`b~*$2{Bf6sFP@-yc9$0 zq+(^PfO8rtsxi3AW*UgKC+fOtgtjqhg_T@OR;HUwDj9}sR>`gFh^D%&u|?)xL%N9Z zA`}jjB^Z>q2#h!U8 zU3h`6WT?B21HLmnm@_?uFq@a@_dEu=Ed5fn|1*~%4`PEF~psP8?&{ZLy@xd)o z28uDnw_vwx5?jqCm^RW{sIb3hLe7^oW)?Xfs}co<@CsO~Y3frKUCQGTSJ)-4YE3@N zns8Q%`I<}*<{!x8q%Y{=RpKYglJZ+#65z4OfMuFxd>=4RduqlPTZn@TWN1fnEm;rGgfrjhS01r%UcK`9=YROa=bs(lyLWW(=%zn2=eT|9IJo-?KANl; zE@T8IimSU>0Ic`us+3g2g1@MTSN)~kE=&ti8KB)@$+ zlj&2UBlTWfUy8|HR9&87atoY!CnscyGli+!&Di%*H>ZKFJXR{f?x@=vn%+zS1Y5l# zX=ar_7gfL#GElRfm(@Mv$?2(~@5+!!;QQg&hQR5WvMXP{&yD{2{=9m0^ZL#AZ{NOj z@zJU}vmX6v`nxLIr0Ps$`KWe926tPdF6tE2CCcksV@m+oU#&M+eGjIiAV#i>>356%NX(mP=NLMu z^6O6?viQUwU%NEkd~N?1`&X}Ax^U@NUt3jYhVuVVR%TP!;MvD==+dV$O0|+1+D%cE z&l1Bg;aTlWL5oYIP+f=!t0?VDq@QNCs&F;QI8)OR=g6ZaUvMZj z=CF|mi(1X&rAcwtP0jhp3`Sk_sRALVaL|~JlAJP_E<&qiYk;E9!=m}~8b#L{yE;9? zt@PHJ-7+HMF!#VL&&Ticw}x&RFg6kys4~5+8);ewVGEot?MN%VMFBmfy6an{z#pBX zhf~jNTE^_=8YHJ+#=U*cxXCKi6|mApZwobGZBr@4ahG;ME~`11HMgWiTF9dMbNXt` z4`=idjB8byC_33&1TJ0w03NLl?$vfoe+E%hS`sjsuun0Fu?&`CtQAa^I;%=`idZnX z(pt}!0dkB7we-0jos1E6wAE{LmO9YT?kT%>0<`Yym|{Q>KcswUM711%tGQicBOMm= zlbH;p{7A`%Nt$kDAU9y0UBmlkl&*Fue@1NblYTtf=-2ixUcdI*%X`o7&#(7}XSUJz z)LF&E$126lWBmwQWW20DM>Lu`$V2Tysp_DltH^hx8l{jMzS#w`S3gv;OpPGYRC%}IPGP{lnY7__z%$A?z*^@L zRE{9j4E+SRv^&)MjZ=2f#9ey@v*${J5t%Lkvy~-Cm7+D_FUQ=UcUG<)rE!>tJy?!D|IF@5n`$he0hj3G7OIyp7s<>@6)3= zi3gOh9@iCMv;PB=8y>j2ns5Y;JvE0McbU2vr`qD)Z0wSL^h*igO8{jOg;+Q;XuLEy z*0Aw-rs`r~^rw^r2~SC+lK$>gNZO1;Hj1=0;S>%ECT06-gp+4ez<@AiWn7h0Jmdb7 zkN^H~`CNbM@aI3j@snTPJ3hX(_qBWe@qw)0;bR|LM*$#B_QYjGLKA=h#3BJg)6wSO zeCh^7O9w9NsF!`q4Yp|P!GvislQUiuG`*7AikD-L|AJm63eU9ZR6n3vgG*h1aKDhK zPE`RZJyk*q(3`8l<;MCR=6PWO*JAoFSA=mISncp+FpZJ644sa)V+dQ_XMXGSFwJhA zzprOH{%BJzax%kqe|ic7_BD!2rDziPm5u7JBK1oztvJ=M%GWsiawK>T)tI%c(OW6@ zS8Xr`&deyqwj5dKkK)p61*_8(qqd;tic5CcMLKs75>>?Lovzak(h%(EZ zE(AmYp}63DIBRNAk)fs_TW5oiB1NTGwd4EP=wB_LpTGY3rK_(W93Q@M>-gr^me`qn zrG0r$&^s*3mo4U$>1frQeNE{kdNWm))5EVikhb`3uG)DdS3{knvlnEPLu(ahQ!NY+ zI!)Qwt;LvEhhd8{?kC(tpt9JXNr1Om3aSG`OFEcpOM|sGw;|`q6qKAA50}@fDaPU$ za9VhDsjSK2MidSBYG$azG!2%!CXAqxl6}COSMvUvmtuBEj7jb`9Uen{) z+&O1UB@K-ymZNRGr;6&fDmW;>Z!uq^dogbmu+i!ujkCd1aortGu~D`O)XT|hx@B1_ zYi!C7sx#-*b~2uJCfnnJX=56*Z6O&zGsex!Lzv2WV;7mmeWgXbJ5oAzXZNE-w!*I# zH=76x0})?SdWhs-h4$0-i^H>`+jr?f1x3eI7HU-|Ly*VmPY5P!Kc+fXTRP*kAtdZA zdhjM|L!rS`bFA^BhSg}5}j*E0Lkbn=*FlTFz$C^X_WglNHpMyIe zl^a*yK0f$)x&7(>_ps5QTQyQQynZaw`o$#E8XL+iXvIu=%*uiT#)ntMP1<^lzBMrcY&Db0+mxJ|P8;6P zHJNj&HUl*k)zwbXwyC-Z5?F3GFgA8H@-Q<&sW!pMZD8b-v`0?)A$ zcJrNWHm=nCJ~1s8dJKGcl8YVb##V5=9^$)i&>kNwZc*2+UzO81S-O1xdhf}u4clFX zk(05eK7rd$7mp#VSmi-#ySGKb2;p)tq+>1#Y2=97{e3K8o1L71z4l!uKE>zCns7#d z-wb8dixkZfla^s9NQ|R3p4gjqC46R0NiyV_W)6%N+w6E!Y3%2LqL{HM5Y|%PsX)w4 z4E&nTI#zkWyUXd!H~J&C`~J~8S8mJ?@0`2w%hx~u9yYpwxIivAjK)pc7nQ`=7gsI| zLkL$#A{D462MsN|oW~fBAudz;CVVvBVkGjn7=@-o`zGtA?QuIRVp*Lud)0YKYxlJz zwoR{zH8KdQ3~Sr!^;WEQi}0LIl~fg|=M^HS~ba9Egu4xJ3gmCeQ z0p-|IQ0$afsmQ^>TJQ=@_1!m;=|n`NgGgrF&OKWe8z@~^rpYLLt<3R^aAro;G-Ec( zjrxk7LrR#CRIut8zXL#kg3|3w zCrm!2(-)RmGuFnmZBAcJmFRz%YIy2sl;!ZA$>H+t*=yhB>_h?uAbGq6bop{|&Dhf}>D7&8On#saWx(Dk z=i+ZZViGx3)#)a@Dux6S@)${*qA*t6g+3BS7yy_q#4H^}n))f3JkU=G*|?{janrpd&tJv4I$I@ER(`d%85 z4bMSwiN%oQHcyMt+hR-+(yiw(HT(XOH(eo){Teswq_99B6~2Ykdd3NGCw!5 z39SyJ3;_S`#Cz&p=_nI)nD#>EiFUh6h%xUAc%>g;o?fr)4Ii?lF@=N4<2lDzc4;Zo0{@9*3fn zam+SbF@S_ltzFSqQn?UM(7$?tLuIjv&5zolY0Hd#0Q)e>03;*Ha)Is z)lJ!21Fu&@9f3O~(oBt7r1~!L_F1%puW_P8{#1?D_G&27c~@ODMO4jBL|ov^!Qh=9 zlLLS{?|sBHn&fi2KW)l(59-%r>^c(-pcf^yTB>R%0KIJ}kJpH@+eFB(2~=9v{lvUm zaq91`mRG+22xh0Wso+c3|L|+$wKGde-!oQt$z9?Fh@7j$u)vu^*wrCv6)$bAM~6c+Bt4eCRR;z7$)eRs zxA!;eMoR=mmfk%!ij+r2jOk8cgpo1G>Z5$;QsT^3E$hRju$p*ckhRKa@N1n0xw4RK zY0xg+Zfd`(HN3n=y_15sm_kwGs?Nf2pd;NeCJ31~rafyjtTyasB^B+~=qUz3&`!qY zn%kmEGo6ZqMGC3tC0BCQMNK=NDrL{?1u)@tWYo9HH*N}ZOg(WNp)f@>J00(Xi+bu$0XO zT3r+vr%0Qog@yB`=mN|-*oXC?Oettw$_D<5Qny$HGkDR6CgI*O^x{1^+SfJOh>~ux zqJhsUQ(H3NnQ!#3Cj`8G?J9Dq>t*jhKl;r#&gv`el@L~)xoSmN#eK)}P(r4ymw}+& z9ET zw`t*)XumA^c*M+Aq^u_Fg;Ag3fFizDdu4T&B1P@0bytsOcEN4UCO*39K`&xBZv&d)Xa)I_otXCKH2Od1xvGaj#&7>%{Kx9z^? zXQUG}Yitlpeg@I-7FsUMA5~LSWD3q?`8KzzZc;vu&Fy1fM3;(BScTO=z2UY^0nQ>Q zHK!pcB|oovw=ONV_h<@7GNt5S~ z=#O2pD&RLsp_tyRjgnm|p@D8OKq1lPxTSHVWE4mnu6YIhEpSB_~+xhUN}S1}(UsUT%;ec^zutx@ng% znnFARN!Sw}7d`)1IM7z`B! zZd1WjPIENQ%3);~wS+nXR7eQSyNi~wq?dHm+topyy?X6W8o~aKCs|wq<~(e<5De`Ff5=|f$!l46Wg`ls};O<9YFOxN^GwY(c!@6foS4Out#aKmKw zs`Fnr1F|ZdHZ^v!1J$4f3dL}Eg&^*<%w$=6=A)V-z(%eQ2{+uRnvIVZs49nRTQ~Fd znaC$|!3-!eP!)I$V)0O!pTOI`8T4?^YmlpGuNZG)Bn#DP2{DK-A*TtNd=c)_Hl-!P zUIR!u^U}k(K$~gs)52+$E{ecFq@0SJ`L{Ok05n|UQ_V@0sSuBEV@er^g9wZmY(O30 zesw98m{)TA?wf1M*-~c+?sUlSFjj>y%T4d0W#tdcwdl0zLh`J1NpJw+n5N&E< zsck5XRxL`+s~ak;7H_r)vzs=6GF?}(gc(hA(Sy_&dj1*{MNP-fe53zKd&pPM>MNbI zL$W`WXQq7Eq1xif=s>j?fmsr$sSY^F9+FrzD_!NsOc|})JwRc~L0H1AP&7dG`jF8C z70h;R#B`lIhR%+1b`>M88SU11V5m}?TBN~IE^(-cr-A|}?Mih@p)RNFHhk1+=o$yt zZe)*6K_+u(SS~n+E^!#0LPxGnl+8`I%M^*x7{$hJkGy=!8;L(zF~I?fDAdu&%~cW168=J9)*G2@Ns((Yd6iBnuKa;RjK88+EG2nFrTUGx7!ts zI9uv&uA&Op{1s=S_74U^*lsns^SC`2gEbO{qoPpwlFwI-o$-pD3GHdB=G+mC<0SV_ zB@j*^j4f|keVCtB^{&S%M(Nqy$GDwAhI2n&S4apY*~+-JEtcXK4^mtX5z49o61_#! zMM&A+Sf1f0)9eE2I;>8}|K<^>Bv3*Hw;?=kPgtk?f<0`071TZ1Y}L{3;sC-~KK0I{ z9{uG@7k_-=g_r;0?f1=auWJYU`#4XOM|kg<`A$5`bXFpP`8-P`-JGLc0gDqi(O!zX z?toX&xB7RCQG>>{nr6I?AW*By5&fJ^+AxWLYgNnfCH=c`V;s$Odl}OcH3K%Vk=6gE zD1`HffU=}Cqj;?kGg0GqqU|L4zD1;EM7Y85S0`&VO9E}$(QHn)T0Y7nS!74B`Fr|m z7w`z-Jn|1Mq<8noUq61MzXHDN)KBX{?jMc^;YOA|dU$%CTssMe z|9Y!29PTPw?Putr+||u|V=CLGiZ)*Zil5d;)F1l444;74_hL!yKs~Y)qsWB*V!3Vi z+caY4%F``y7`7nBC<(8bhmmlpKH_V+I0oQi9X`<|-theBf}y&3HtF{v)h0;CK&O44 zezRrdgwrt2j7J<#IJIhgnc4bsHMIl=4o1W{G?p0gqh(~iXQY6seRL?CJ3t7qrzzG9 z(AG5^s3##8W;%GI>rLx1wx~dKVK;T0h$zf?-+go2M!z(lzwqi?ufKF|z4#Yyzi*6c zUp@En=bs%PAKkh32#i0gjgDeMYcMQNnAWnifaUPQTvduu{V-o%jL1-aqJe@&YTPB` zA>|t2n2N6}yp#bmR6Rskr5&_}1I%%3ryN$VVO($YW1BOF`OIvq7w)P!&Se|kv%x}! zHc6gQOdWf&gcC`Sa*R$m$4GWu6ph_wS2bo;F6W;vg5*+eYDQEB7}^4Bitd0#cjHr1 zFt5ryV>0M5MwP(G$tQ_vv+11t)L_Pl>iDWczKbFqY?ln3()P^h59||7rF2B)r?nnWeohb<>bUbuj~)g<%CG#(55kL+r)3m@gZ!< ztPQrX!f5^Coa&6|Cg|bWv_De2Gh;%ilZr>L0&5Iwn^ut{tbdx1DZC450tk4Oif3?$ zeGs(`LxX1OXZ$Zhn0e{K!K=q#p6ovU@b1BU=?Qn*r3)7>{fUjfe0co3*WZ5U*6m+B z0^|SF8Ey1)?z}~tM+E~0-SIY!abOCo>2{M*VA7{!4GlCo9_R<5JJ@!Y>`Yz;k3K=0 zRn)W@Lu4tM0TS03brx^9C%vbnYNOB7INyl&I8biazZZ3K1^^VAOxYJ` z?Y7QGObS^1jIgJn1ziY7>-ZVBAuwX&0zn`QAvk-A0hn;48DH8)=}9c))I_q&c9*GOM578;iN!;!tdSr~ zlsw%_&}lcfFldDISJPY7dvi)lLEn8HtRbaQ>mp)WEL)aZCe~OE5o0Sa{Ya=Dm^>?r z{?g=}qF>iDa+8X^hw&`YgBvIS-An2@pi zdD-YM&GPxl!;c5o%9GXamk!>zcJQ-*^V{DDN#8qu`{FOJUisOjOaJuM@12#C)czWC z^F;;aRI6(L1&PZ0vAeYvMGBy9P+D|2SYjLM*3oUBF$IhdM%Bh8F+$hORmlR#1_Tki z!nzp^&|16VDHA!KnTjxt=;}SOQ%xn-WhcGzO@u0qmOB$ruEr(re!w5pPk$1yigm_44fI zb~e4X#!^O3Y8Ci*SV+Z2H^j}#B%JO?NlQ0~#T@k}eV}OTqRF4)PA2+m+k#Mvu}tZYPUj@g2v2@jOMWXR#-q(iV^y8E>a(w_xzXR#7|F0A9XBsZ+xU8Bd$Uq| ztfc1hhm(^(d#7LOCtp1OZ~x|3&G_5bu3g(ZdhP1lf3&R5%6DRqt+Yg&BYO-^p#h+Q zvIUJt2t{4U(hNe~cF_4tDB)VFEuxVviik;ByiB~B&9;`XxM=Kd_(Iiuxg>coWK`K& zeFN#~M%Ai=zI7)-f;Q5wyRy|S3=|gMD)k%kE|tWh&2o`n$z5F&rOnWpI@AfZ5)Rj+ zC3VX!2t872DJPe-S~aT3+T`%9Z`^q7$3;C_wK(r;MBP}rKP<*41r-3lFfg?l_?gh6 zRdT_)kyO`=*H`#@knE~qU zAN}m7KfV0o#h>o}_+kq5OE13g(xsnXe)*@DfA-?Vi!WWdw4Qu%{^Es8?)8^1y>RjJ z?%!Oxbp6IZz9|jv>ZPkMU%YiV!Q!5M;d|KV+O_#uAW;E^Fr;DnQJpiGOKK+Q>TWBx zFN^*Ss!_N;t?Vi07a>qRdJQ&*7nkgmSP^s+ZuBB|%wn_FA|GQ6E52g}nIo8{fuX1w z2e0|9Rc0g8vXYvRnU`G4D821`jp}uJ;&|C_T^`gH)Cj%>CS?{)j}>hgg4FUH9vl#C z%SCDalt>Y+>S@F{rT8X2mCa9FKL@HKI&Nog%s1G7i*v%^99zwFGt*L1s%DDSDC=Q_ zvzcLjUp4N#TV}9&L0*y>(6Qhsx@u5quCkM+OtKo4Qq@nZnyDuK=$LA)!J;Y9#Qqt5 z#|&TBL@chB^&mTPd?EK{m2S2{F>~8c6*Df6V_{x=w<=~Yo&$V*y-1%#G zKhmhb{Ox>yXPKJV9zT4X;0FkS*pHs4F!7=gcHUF1|7;`NuMtDiqpM& zJ9^70#fn*KG|VOv_brHl!W^Qq+2CO8-K}U2foVa3ZrRj~vEA+TTWc(5faj{b<)Pn! z&a>PqiG)!O=BTu3g;*M$N+ZqygwGy?bo0T!Yu?VjVv^2j`YR^84^~uyW1F0{#JCp&P z^H#Zi{HejEBQ9M<29XpXr`tvdC*8(~T1V%)BbhFw5_c#%5*O<>LtRdJjcu3(LJft^ zs7(q5;HyRV*sv&>o@;|$6}<&WWoSufyIN({ASz-7vu~7TQGY!I=bj8diB-+WOzr7x zo$PyP51da*udh95K~l~2wHcD>*}1!KWS=RWG}j@aacpRMi{Z1hL#vVSYMj3=>KtYb zCZgLxe%2O|1d|p%0i6`ZYX8BNOV4tRpL}-y+4CQkbI;w`{rbv8MFYfxQ3l|R#ADob_zOu{&+R<^`WpXg0!|p?rMocCt~$uSThp`x6?2MOc<%vhos{!fDT?FHE%0U5e6{d z8FB6kfH3rcC(Su{xn2;9w6p2=9~r?a<;dLW82a&J>bzsP6u%6kS424<4td_&FHzH4^a9I+zn?gcg ztD>(6MTp}R)4FM}wHKs_SVNeshQE~MM~f+LK&SHDbqaM!YrSFR=^`8U0clOTk(hky zIN5?K8;(^r{bV&2Hd|o#gZ$vig*Uy>uRM4DCtn_(f9{1ZPfqTXD_5TT;^fP_e>nN_ z%ir(*XB^x+dGLFH`K#sR;H~NE<_wJp1_H%2* z>;HJ|Kg_3ob@j@n|L}wIXkDGrKEJZB``1)lINaor1y*GiU>!27b06VBpr zN9Beaz+FX^93@Y)`D&~r3}PB{OG2O+6y{;v<%DZ>r~?jI;{(N13SArp6z@Sd@1j}( z1PkUJpPN0ti0ufx$pk4*3H1^zzPx3|BqISuvH5krWD2yHj;W67%`I_F=Hnt8#?Z09 zX^Kmxg5xw|Tvgy!^*!p3>fkCZ%@lM@sW(4aRySJ(oFnr-7@B^k?lis{!LSWy54^aPf87>-w^-n&mWu zn5*I`rme;(8~bMCvwLXA-~Ms`PyG3reEi_bJan#haPZNC-4?!je%G*nasJAc-97)$ zWqELNyOb|ZUcYkk;N^1gZZ`VugYx2olQ-tc$%hB!$6uVhdG+MMi{;?f$seA*aq?i- z<43~s>V*pz5BGj??b_8}-g)ZmH~KlQHLcc3`IQ$5#zR%?$`PV8x276mMCDlItO*8} zxS@3qbw(X3UZzSP(@z)oW)<>V4W=$J`{Ej2G|$ceYbGMc7{IEQU>nr0J=Ei#5Kedc zRHY%o+qn{@Sv43%c3Es#Gzsh)zT=Uato1|b)rZ;GcqE$%h zXS$x^828%L;C6Atm?a*ElvUR<=|P&$T9Fqy9Nq9T27@XgK`k6TXgxg@^Fbe_)9qV` zlF}diixtW<_!*9xd&{taoU3NX!4S>3W?=Cc950cG(Wc1dnRBb%Mh2MlaJ;oS^Q#&k ze}NMn2qX-JOxz7WPde;Ms$BcX#-m3kSQ6{@~nYHu|NDyZ^ZMV)^Xk&D*pxZvi91e>#MY6Axc7j&T5Oh_b-dFC35r^S-i zG&5pQ6&#f0U9r7WcGW>f9v2mT=9&lvRw1@#NE&l|nQKx>dK`sJ6JBhX)a8S=nBusa zGCN}g$tx0w8S*2FTpnQTMbJ;*e8wO?;-QoUE_7G)z3xvv3Ju`FUt`)S_yxfpD87n; z6Bc;&|E7)poAc)n%7YINo-4ch{K3J`uAJX(^cQy<{nu>t>u&U)Z5#dEr7Lx}(Z|Vy z^Os(lZuI|AUZ&T-@Z9n4!rwM}`QXmc{rktCefIfh*Drsytlm1Kjea1%G*0*2B#yRi z54kaxCF~gsW$wy6c8lw3@~Vi>Fj*WV-V6c#8?+8-SwwVkV4qIcOiSoSwZW=b>qF_u z;xa0UZEj|9clnoEIZ4MV(wD*S9759svn$|6839%eU1U$QbLgsS)FjeKliclS0CDn~ ziY34+`1;hjsGIH^wub%#vRKV|az-#tb&NBLuV}Bteu)BVj7-PjpV}9fk+2}@>sCTM z(>O`Oh$kYyCI?JAc`A@4>5*M0J&IuPr{VN$ZoJZ}=cTUbb@Q6$&y0s}>cn{is+N-X zmdr(cwPvi2lXJdU+{a;A$M_!RzB3IWk*SAQH#%w6uv2M)xefX+M;DKhkej{6(noHF zG(Tl-yOVj3ch^n!s5(=&&9GO`k1#7R!D-e>^-q@W{~kMix6v)#-#mZr+2?PSgXe(Y zzc_f=js5~R`UN)nu5`abasIG$f8oK&>uvX|=gSKZOZVq@rTf8eccuH6*Z$rG^vi?& zS3cU`KUe0t3tySNpP9kTxh7D?ojQWs3|pwaF%5)wmHFx2zi2PPV&%$fM%YlSYuGF1 zvWT3b12N)qN=R6vm|ncg^q}b}zN;=hxvMoDlgj~q()1)yGXbHMW)fVK>M@EU4UxS$ zWatUDu3?8VaGnXfb~+-%GTx`Kn>K`XNn}t8>DX@QdRwycIYO#)CN41LtI|%}Da5$H z(W}WdKH}bBkyJAaOB5?S8H!uJdv;h)X0zd{;doaSqAK%Ncb#=qGg-mQbJndpt~2%t z4AvRb&p5w!XNU%+^Jc`}H7_;@kx!m57G~sn>8Hz3LQsvL9F8Q@#w{B=A0Xa#eQ}*M zdl9w0MOC9d+d3xm1Q@AGj{??&VyRd`2MflohVkxxa@?7#j)ErbC?%E;yC}Ie@NfpP zmA}YFyL0>Yp*!xwyZrA5_rA8#Z$4(HAANNDll+}~AKm)s-oO0|$DiK5{jZNdB0l}l zulUh7H~NJ)*yz^|&YeFvcX03I=U%$5h)aC#B#_Ml<-NERr3}*JL+hdxsP!clM8%dR0 z7PF>-npV{kT0JTuUyXzUpX8ZH{)$8mpL94_-;N(2OfUp=Jb|4^zV_1q_QLbB;Ye*+|L* zEgN`Q^V?i|%p0A6tDlWIr~0nYbsb1g?*is|z_BV%hkox{;&T*9P->VdnmPkO$h&3! z!RYI0j%s6!1GedQtJ0h@GY39js>y+w+~~V5_VA-y?6~)DvkBim`u2@}`0ky?kr)kNjV-6Dv+$mDDY#qI&l?KTyVedHAFzA2@5O=y> zZHvnAp$jigh8au&g*iTsSm~WOqw_mqaFG)bwJ{y!^6xgPP>6 zZ7oa`6L?lJpSp>oEQ{4TbA*A46(_&|?JdsjGr1|oHy2fjo_ecPE{1fs#HGrjXo;LXg3K~FZHk|EnJh7l|DGAx)sjFS}kf0U5Zq=39*g^~v7$DFXFyRm^ zkw9HOuK)k#}a(?hApucStU9^bp)T#C`&u^Q0Z%-SpYMV)t}u2&0+}{IZ-^|u>t`2uZHeGDcG}eliZ^3z0_Bws7x!0 zmM4rFoO|qk+TFhW;Lgq4pB(j*o8L z`1tt4JID9l-|hYPj^4Tb&qu%A{rwN_a4>v$@59?Sc31S_&G$b&zV+daTlepJVBC1` z*4>ZayLtT4jobH+@4UM^9-kvb0~&7MTuhI2)FWxN%mQa2s@@ z`w3Qbiz#DUo{RK)<-`l88)bLJ89im@g-Mrbf> z@DVjR)HwX9rVfm&CLg{Qgfmi3|u%Q%yHyF`K-?*{xG_k`$)&ywzDMWWJ#_yGHO1L7I`}Fw3f4%?i(XHLizVq=Rh5l~)AHTzOfA8ke^`qkt4nKYW{%-eQzjJ)} z(eZm9?f&%k|Ga}rJDhqsRJ+&{W?eEsh6M;{-5 zjRN}>*`wELgSFI~BE`SNb#zx={aUc7wy@dM{q)MqmoEQmx5cHvzP(@0y;QEe^7@V6-Man8=2ZJJ^7(-iTSQa{O3*jfEyClr6+6_)kh&UY92v%5XRSbRv z3uIM6(yQi?Xucv{#;4^x~NgXOwU{-FN!(U&cna4^=MCKD`*V)f0YNfE-pZON{yW}qM+aM4GE z)58E{Xnv#NNekcK=w8%9$H%`r`YrqQT{imBTf2Mvy?e)ZKDmA8_O9}N z|LErKj(_*}yGr}${o~)iOM`uQ_z@TR?N7Ije*ZVS9ee!gt&cuBJbeHDjoshe-Pwn` zE@1ZwxZ2o(^)EC$3;*UIIJ0fKG0 zhD}|aUV=z**LeIszb;o?p>uqSX3`HOyR4em+dNaJ7V+sR^r;GeCbzqXat)2BI6iX{ zrxHaN(8Pg7JvhC`R9NJrab9T37(bb^>MqAs)fVFedFWMEnY21BtT+*d0II2#bPfq> zRwig;fbuIH2CV@=ph~eJRHL$UDt%%uTa)8#az;_PW{<55+IS|Lebc#UY@XJnR(KK6 z5*8LrXNRwPZftSPJWTG4A4)^FWCJbvpw#lY^r@7})0IdJQP!#j8G9B&(acM$Li?tZX4J$Ao+ zXLmTMeDTI(Ki*_nPL-ZT znu#$0GRx^=szp&(VlO#WLgAthg=1`K=K7><^(rvNl5A)W%INYufqKSmP67-^$5z2% zU5J}j3&vqeX=Pxc!%UslKJ-J2z5&KDORg)LCQ5#7TOtR68fsdE{gXhisihXm;15zr@^C*ev6WTjsC%|(7%85zQ6bB@$Wx4zWx5aqg#ic9Dn+o(#otWIoIk39FtI1Q57q-ahWqYqNy$5cB zaoR)hTufz>@)H=LXNc4cYmz6gNPSiIs>_?CK@J8@caw8RHKe)A)CvT;(}hUuK@;pn z&BG11mvvX-4TdL-HH7(n;D&o@dFb(sa)%2fn4)pzDz`{$gep6j8+~^fUw`}k|HVdp zZ+Cm&+wJEMZru3b&h6VbcMbZ@TQ}didwl2Zo44-ocI?qj{@O=3etR?XxWnJx*!}A0 z*6((Ie0=-H&G)m>58t|R{e$B>Z@tGxzklnuH*Oz){PxXvjt{T@^X_-Y%d&$gpljMS>l%46qF@esAbaBjRRw6VN0li zV-hmestT%6^E$S-b<}DmdK!T7hn!0;=;1UtNRpkr<@*2M+TH9#5kyfOUxF^|>guXC zB(ig3qKUqMi4Wn%CtwN2_m7<4Z4CrQh&l@rnwe>OGSziI&i$Y4Eo?s5sWDzx!e=1D z_l2WIW6%GmO%3Emer#zEQ15C6I+=j%eVZ3FakFQud z)ah8)*e9q9T)J<6G-|Mts~WVKorua;@rW2Cqh|@OGr+NwLu!OejL)+NPTjExWY{@0 zQhIiyIf*&-j?>VY$(C)~EN@p;*SumwmMr#l^h^0H%D=MJM8Z-d3IhUeD6APGjF`v9 zJSE^sS(uM>gZ9o~iJ=xJkd(a`f-MFvo z_+x*&f9(3(BTsqaHTC;fKkvXHFD_oc`O{|otjAr<#FrO8-e11GoG;JLKmR`X@n6qS zk5_J(Nf#F*-s&M8hX?0n^8OPoD()a}C2mWimXWc&5QkWZ?CLUqmL1(Jans&mauGz& z%Ak9&0S1!JOsT^6Xa|$A3Hdv?Zgp|9Lp1aC!28G^BibqLyR;+7nf_m%Ije3SbO?9oNgw zA|=Xfm8$(?KP)Q`GspC^7x>g2!5(~pISq@#+<_t^;NO@lO0LB$JrTA3KrVUF;I4!t z_cp0ihw^}zCz4SL#VJ>2r;tgEtO-e|Z@`pc0=q@*$R-WY2jis)#6j59_7bt8F_wWv zFDLDR0AAZiMkO{#lA4?E=WZlP(`0IFDHql$7(A)zqgG5)X}8yMdSU)r=ubaxp0&^) zdsOS|f8(C-Wq-@{{y>fOpSTm}6*v~oGxLR^OYqT1u(*}?xe>?aD>&7^C^0~H3gW~i zzMIR)LQlD9hfRWrBd;`WhUz2@_wGq18(=S|);Y=`ix?{ct8{(`1y=%iQuXo>pHzI= zpSJQ9U-)k5_cmBZhT}oww5*hsV|j$7qg)6BkBN&NGq{N% zbG}cHFZ6eb>*3;Iq_KmSL+IWxtnjY~;b>Cg9YeX0rt;lcKxVVuS?FEBKgkx{M;CkX zpkB!inR|s?WL53Uut{WG0I76jMb5QPsJZQUq~Ia1qEv_ z^SVqS81#<*F)$y=Rr(N?_lmiZM>5L#O~0k}pSiW}NAyP}THg45A#)+o>L+ vb^*y8yya~ Date: Tue, 26 Sep 2023 14:57:55 +0300 Subject: [PATCH 28/39] Update integration test --- integrationTest.sh | 2 +- src/main/scala/UnsafeRun.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index b7dd52f..d2afcbb 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -4,7 +4,7 @@ sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" # Check if the newly downloaded image matches the expected image -if cmp -s "outputDir/output.png" "integrationTestData/integrationTestOutput.png"; then +if cmp -s "output.png" "integrationTestData/integrationTestOutput.png"; then echo "App works as intended" exit 0 else diff --git a/src/main/scala/UnsafeRun.scala b/src/main/scala/UnsafeRun.scala index 5e91365..c250290 100644 --- a/src/main/scala/UnsafeRun.scala +++ b/src/main/scala/UnsafeRun.scala @@ -12,7 +12,7 @@ object UnsafeRun { val imageSize = args.imageSize val inputFile = args.inputFile val apiToken = args.apiToken - val outputPath = FilePath("outputDir/output.png") + val outputPath = FilePath("output.png") val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten From b6d9b0b59c7b1a3651a642ee98bd20333a95a505 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 15:00:21 +0300 Subject: [PATCH 29/39] Update integration test --- integrationTest.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index d2afcbb..4b2a614 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -3,11 +3,11 @@ # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" -# Check if the newly downloaded image matches the expected image -if cmp -s "output.png" "integrationTestData/integrationTestOutput.png"; then - echo "App works as intended" +# Check if the output.png file exists +if test -f "output.png"; then + echo "outputDir/output.png exists." exit 0 else - echo "App does not work as intended" + echo "output.png does not exist." exit 1 -fi \ No newline at end of file +fi From b900f7ac442ade41372f0f06d327c35c14e3752f Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 15:02:10 +0300 Subject: [PATCH 30/39] Update integration test --- integrationTest.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index 4b2a614..c1a93e4 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -3,11 +3,13 @@ # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" -# Check if the output.png file exists -if test -f "output.png"; then - echo "outputDir/output.png exists." +sleep 20 + +# Check if the newly downloaded image matches the expected image +if cmp -s "output.png" "integrationTestData/integrationTestOutput.png"; then + echo "App works as intended" exit 0 else - echo "output.png does not exist." + echo "App does not work as intended" exit 1 -fi +fi \ No newline at end of file From 5836d31088a6e45666d03cedebf456d063f292fc Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 15:04:44 +0300 Subject: [PATCH 31/39] Finalizing integration test --- integrationTest.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index c1a93e4..b8dae7c 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -3,13 +3,11 @@ # Run the Scala app with sbt sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" -sleep 20 - -# Check if the newly downloaded image matches the expected image -if cmp -s "output.png" "integrationTestData/integrationTestOutput.png"; then - echo "App works as intended" +# Check if the output.png file exists +if test -f "output.png"; then + echo "output.png exists." exit 0 else - echo "App does not work as intended" + echo "output.png does not exist." exit 1 -fi \ No newline at end of file +fi From 073a506ae58f5564c785a6382dd53607c174df44 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Tue, 26 Sep 2023 15:06:34 +0300 Subject: [PATCH 32/39] Deleted unnecessary file --- integrationTestData/integrationTestOutput.png | Bin 149543 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 integrationTestData/integrationTestOutput.png diff --git a/integrationTestData/integrationTestOutput.png b/integrationTestData/integrationTestOutput.png deleted file mode 100644 index c37824215caf6a26bf0a1c07ada500a09f45960f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149543 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 vb^*y8yya~ Date: Wed, 27 Sep 2023 14:35:36 +0300 Subject: [PATCH 33/39] Implemented support for docker --- .github/workflows/build.yml | 24 ++++++++++++++++++++++++ README.md | 14 ++++++++++++++ build.sbt | 26 +++++++++++++++++++++++++- integrationTest.sh | 6 +++--- project/plugins.sbt | 2 ++ src/main/scala/TaskRunner.scala | 4 ++-- src/main/scala/UnsafeRun.scala | 2 +- 7 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..bbd852c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +name: Build + +on: + push: + branches: [ master ] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Login to DockerHub + run: docker login -u '${{secrets.DOCKER_HUB_USER}}' -p '${{secrets.DOCKER_HUB_PASSWORD}}' + + - name: Build docker image + run: sbt docker:publish \ No newline at end of file diff --git a/README.md b/README.md index 7813280..55f750f 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,20 @@ $ sbt "run plot --token --swap --img_size 1000 --input inputDir $ sbt "run plot --token --swap --future" //use default image size and input file and use Future ``` +#### Running with Docker +```bash +$ docker run\ + --user $(id -u):$(id -g) \ + -v ./inputDir:/app/inputDir \ + -v ./outputDir:/app/outputDir \ + -it arnasbr/geopoint-visualizer:latest \ + plot \ + --token \ + --swap +``` + +When using a different input file than the default inputDir/input.json, don't forget to change the -v volume and use the --input tag. + ## Result ![image](https://github.com/arnasbr/geopoint-visualizer/assets/140691866/dd311615-b5e2-4135-b26b-3f69e4e73a20) diff --git a/build.sbt b/build.sbt index ae69e6b..43bb13b 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,28 @@ -ThisBuild / version := "0.1.0-SNAPSHOT" +import com.typesafe.sbt.packager.docker.DockerPermissionStrategy + +enablePlugins(DockerPlugin, JavaAppPackaging, GitVersioning) + +name := "geopoint-visualizer" +organization := "ch.epfl.scala" +version := git.gitHeadCommit.value.getOrElse("0.1").take(5) + +Docker / packageName := packageName.value +Docker / version := version.value +dockerBaseImage := "openjdk:11" +dockerExposedPorts := Seq(9000, 9443) +dockerExposedVolumes := Seq("/app/logs") +dockerExposedVolumes := Seq( + "/app/inputDir", + "/app/outputDir" +) +Docker / defaultLinuxInstallLocation := "/app" +Docker / daemonUserUid := None +Docker / daemonUser := "daemon" + +dockerRepository := Some("arnasbr") +dockerUpdateLatest := true +dockerPermissionStrategy := DockerPermissionStrategy.MultiStage +Docker / dockerGroupLayers := PartialFunction.empty ThisBuild / scalaVersion := "2.13.11" diff --git a/integrationTest.sh b/integrationTest.sh index b8dae7c..a492f2e 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -4,10 +4,10 @@ sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" # Check if the output.png file exists -if test -f "output.png"; then - echo "output.png exists." +if test -f "outputDir/output.png"; then + echo "outputDir/output.png exists." exit 0 else - echo "output.png does not exist." + echo "outputDir/output.png does not exist." exit 1 fi diff --git a/project/plugins.sbt b/project/plugins.sbt index 5f25811..be0a400 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1,3 @@ addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.3.0") +addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.8.1") +addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.0") diff --git a/src/main/scala/TaskRunner.scala b/src/main/scala/TaskRunner.scala index a2fc9a3..32e3ad0 100644 --- a/src/main/scala/TaskRunner.scala +++ b/src/main/scala/TaskRunner.scala @@ -35,7 +35,7 @@ object TaskRunner { } yield ()).attempt .flatMap { case Left(e) => - Sync[IO].delay(println(s"ERROR: ${e.getMessage}")) + Sync[IO].delay(println(s"ERROR: ${e.toString}")) case Right(_) => Sync[IO].pure(()) } @@ -68,7 +68,7 @@ object TaskRunner { } yield ()).transform { case Success(_) => Success(()) case Failure(e) => - println(s"ERROR: ${e.getMessage}") + println(s"ERROR: ${e.toString}") Failure(e) } } diff --git a/src/main/scala/UnsafeRun.scala b/src/main/scala/UnsafeRun.scala index c250290..5e91365 100644 --- a/src/main/scala/UnsafeRun.scala +++ b/src/main/scala/UnsafeRun.scala @@ -12,7 +12,7 @@ object UnsafeRun { val imageSize = args.imageSize val inputFile = args.inputFile val apiToken = args.apiToken - val outputPath = FilePath("output.png") + val outputPath = FilePath("outputDir/output.png") val colors = LazyList.continually(List(Red, Blue, Green, Yellow, Purple)).flatten From 5a41a96e2032a990da8b05b3d061740dbe2ff14c Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Wed, 27 Sep 2023 14:42:37 +0300 Subject: [PATCH 34/39] Fixed outputDir --- outputDir/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 outputDir/.gitkeep diff --git a/outputDir/.gitkeep b/outputDir/.gitkeep new file mode 100644 index 0000000..e69de29 From 45ec47c64a45a7da85b415b721a805b755b3bee1 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Fri, 29 Sep 2023 15:19:14 +0300 Subject: [PATCH 35/39] Cleaned up build.sbt --- build.sbt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/build.sbt b/build.sbt index 43bb13b..6080ca6 100644 --- a/build.sbt +++ b/build.sbt @@ -3,26 +3,20 @@ import com.typesafe.sbt.packager.docker.DockerPermissionStrategy enablePlugins(DockerPlugin, JavaAppPackaging, GitVersioning) name := "geopoint-visualizer" -organization := "ch.epfl.scala" +organization := "igeolise" version := git.gitHeadCommit.value.getOrElse("0.1").take(5) Docker / packageName := packageName.value Docker / version := version.value dockerBaseImage := "openjdk:11" -dockerExposedPorts := Seq(9000, 9443) -dockerExposedVolumes := Seq("/app/logs") dockerExposedVolumes := Seq( "/app/inputDir", "/app/outputDir" ) Docker / defaultLinuxInstallLocation := "/app" -Docker / daemonUserUid := None -Docker / daemonUser := "daemon" - dockerRepository := Some("arnasbr") dockerUpdateLatest := true dockerPermissionStrategy := DockerPermissionStrategy.MultiStage -Docker / dockerGroupLayers := PartialFunction.empty ThisBuild / scalaVersion := "2.13.11" From 44eb4c93edd52222bea0f3efc8b67080729a564a Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Fri, 29 Sep 2023 15:47:40 +0300 Subject: [PATCH 36/39] Cleaned up UnsafeRun.scala --- src/main/scala/UnsafeRun.scala | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/scala/UnsafeRun.scala b/src/main/scala/UnsafeRun.scala index 5e91365..b854086 100644 --- a/src/main/scala/UnsafeRun.scala +++ b/src/main/scala/UnsafeRun.scala @@ -7,11 +7,7 @@ import scala.concurrent.duration.Duration object UnsafeRun { def unsafeRun(args: CliArgs): Unit = { - val futureFlag = args.futureFlag - val swapFlag = args.swapFlag - val imageSize = args.imageSize - val inputFile = args.inputFile - val apiToken = args.apiToken + import args._ val outputPath = FilePath("outputDir/output.png") val colors = From b15e3b9742a0d08545bd10704c26ae783ee21b75 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Mon, 2 Oct 2023 12:34:47 +0300 Subject: [PATCH 37/39] Replaced Java URI with sttp Uri --- build.sbt | 4 +--- src/main/scala/HelperUtils.scala | 12 ++++-------- src/main/scala/ImageGeneration.scala | 4 ++-- src/test/scala/HelperUtilsTest.scala | 5 +++-- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/build.sbt b/build.sbt index 6080ca6..6691a12 100644 --- a/build.sbt +++ b/build.sbt @@ -33,8 +33,6 @@ libraryDependencies ++= Seq( "com.monovore" %% "decline" % "2.4.1", "com.softwaremill.sttp.client3" %% "core" % "3.9.0", "com.softwaremill.sttp.client3" %% "cats" % "3.9.0", - "org.typelevel" %% "cats-effect" % "3.5.1" -) -libraryDependencies ++= Seq( + "org.typelevel" %% "cats-effect" % "3.5.1", "org.scalatest" %% "scalatest" % "3.2.15" % Test ) diff --git a/src/main/scala/HelperUtils.scala b/src/main/scala/HelperUtils.scala index 0889510..ef2cc97 100644 --- a/src/main/scala/HelperUtils.scala +++ b/src/main/scala/HelperUtils.scala @@ -1,8 +1,8 @@ import FeatureCreation.createFeatureCollection import Parsing.parseInputCoordinates - -import java.net.{URI, URLEncoder} +import sttp.client3.UriContext import scala.io.BufferedSource +import sttp.model.Uri object HelperUtils { def generateStaticImageUri( @@ -11,14 +11,10 @@ object HelperUtils { colors: LazyList[Color], imageSize: Int, apiToken: String - ): URI = { + ): Uri = { val inputCoordinates = parseInputCoordinates(fileSource, swapFlag) val featureCollection = createFeatureCollection(inputCoordinates, colors) - val encodedJsonString = URLEncoder.encode(featureCollection, "UTF-8") - new URI( - s"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($encodedJsonString)" + - s"/auto/${imageSize}x$imageSize?access_token=$apiToken" - ) + uri"https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson($featureCollection)/auto/${imageSize}x$imageSize?access_token=$apiToken" } } diff --git a/src/main/scala/ImageGeneration.scala b/src/main/scala/ImageGeneration.scala index f8a5e0c..9cf4742 100644 --- a/src/main/scala/ImageGeneration.scala +++ b/src/main/scala/ImageGeneration.scala @@ -1,13 +1,13 @@ import cats.MonadError import sttp.client3.{SttpBackend, UriContext, asByteArray, basicRequest} -import java.net.URI import java.nio.file.{Files, Paths} import cats.implicits.toFlatMapOps +import sttp.model.Uri object ImageGeneration { def downloadImage[F[_], P]( outputPath: String, - uri: URI, + uri: Uri, backend: SttpBackend[F, P] )(implicit ME: MonadError[F, Throwable] diff --git a/src/test/scala/HelperUtilsTest.scala b/src/test/scala/HelperUtilsTest.scala index 6e75d9c..0c0a7e6 100644 --- a/src/test/scala/HelperUtilsTest.scala +++ b/src/test/scala/HelperUtilsTest.scala @@ -1,5 +1,6 @@ import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers +import sttp.model.Uri import java.io.ByteArrayInputStream import java.net.URI @@ -19,7 +20,7 @@ class HelperUtilsTest extends AnyFlatSpec with Matchers { val imageSize = 400 val apiToken = "your-api-token" - val uri = HelperUtils.generateStaticImageUri( + val uri: Uri = HelperUtils.generateStaticImageUri( bufferedSource, swapFlag, colors, @@ -27,7 +28,7 @@ class HelperUtilsTest extends AnyFlatSpec with Matchers { apiToken ) - uri shouldBe a[URI] + uri shouldBe a[Uri] uri.toString should include( "https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/geojson(" ) From 0c47c13ecda2f7ca1407b9cbd3d16ab5c3d25a00 Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Mon, 2 Oct 2023 15:36:02 +0300 Subject: [PATCH 38/39] Removed hardcoded mapbox api token from integration test --- .github/workflows/ci.yml | 4 +++- integrationTest.sh | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95b5e60..6b04318 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,9 @@ jobs: - name: Set execute permissions on script run: chmod +x ./integrationTest.sh - name: Run integration test - run: ./integrationTest.sh + env: + MAPBOX_API_TOKEN: ${{ secrets.MAPBOX_API_TOKEN }} + run: ./integrationTest.sh "$MAPBOX_API_TOKEN" lint: runs-on: ubuntu-latest steps: diff --git a/integrationTest.sh b/integrationTest.sh index a492f2e..722d930 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -1,7 +1,9 @@ #!/bin/bash +token=$1 + # Run the Scala app with sbt -sbt "run plot --token pk.eyJ1IjoiYXJuYXNiciIsImEiOiJjbG00dXY1MDAybGJrM2RwNnE2dmo1NW01In0.XC_idJ6KnMWc1N-MX-Ry7A --swap --input integrationTestData/integrationTestInput.json" +sbt "run plot --token $token --swap --input integrationTestData/integrationTestInput.json" # Check if the output.png file exists if test -f "outputDir/output.png"; then From 6e013e553eeab71ea38f20a967b443c15a31d9ab Mon Sep 17 00:00:00 2001 From: Arnas Bradauskas Date: Mon, 2 Oct 2023 15:43:47 +0300 Subject: [PATCH 39/39] Improved intergrationTest.sh --- integrationTest.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/integrationTest.sh b/integrationTest.sh index 722d930..4fc03a2 100755 --- a/integrationTest.sh +++ b/integrationTest.sh @@ -1,5 +1,18 @@ #!/bin/bash +# Check if any arguments are passed +if [ "$#" -ne 1 ]; then + echo "Usage: ./integrationTest.sh " + echo "You must provide the Mapbox API token as an argument." + exit 1 +fi + +# Check if outputDir/output.png exists and delete it +if test -f "outputDir/output.png"; then + echo "Deleting existing outputDir/output.png." + rm -f "outputDir/output.png" +fi + token=$1 # Run the Scala app with sbt @@ -7,9 +20,9 @@ sbt "run plot --token $token --swap --input integrationTestData/integrationTestI # Check if the output.png file exists if test -f "outputDir/output.png"; then - echo "outputDir/output.png exists." - exit 0 + echo "outputDir/output.png exists." + exit 0 else - echo "outputDir/output.png does not exist." - exit 1 + echo "outputDir/output.png does not exist." + exit 1 fi