From 2afd48a6e39b1a169a05bb16bba36fc20cdb4846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Tue, 27 Aug 2024 21:54:44 -0600 Subject: [PATCH 01/14] feat(documents): add support to convert pdf files to epub --- pkg/files/documents/documents.go | 3 + pkg/files/documents/documents_test.go | 13 ++++ pkg/files/documents/pdf.go | 96 +++++++++++++++++++++++++-- 3 files changed, 106 insertions(+), 6 deletions(-) diff --git a/pkg/files/documents/documents.go b/pkg/files/documents/documents.go index 2d7f39b..aef5062 100644 --- a/pkg/files/documents/documents.go +++ b/pkg/files/documents/documents.go @@ -8,6 +8,9 @@ const ( XLSX = "xlsx" XLSXMIMEType = "vnd.openxmlformats-officedocument.spreadsheetml.sheet" + EpubMimeType = "epub+zip" + EPUB = "epub" + imageMimeType = "image/" imageType = "image" diff --git a/pkg/files/documents/documents_test.go b/pkg/files/documents/documents_test.go index 42e6ce5..7d8049d 100644 --- a/pkg/files/documents/documents_test.go +++ b/pkg/files/documents/documents_test.go @@ -38,6 +38,19 @@ func TestPDFTConvertTo(t *testing.T) { input input expected expected }{ + { + name: "pdf to epub", + input: input{ + filename: "testdata/bitcoin.pdf", + mimetype: "application/pdf", + targetFileType: "Document", + targetFormat: "epub", + documenter: documents.NewPdf("bitcoin.pdf"), + }, + expected: expected{ + mimetype: "application/epub+zip", + }, + }, { name: "pdf to jpeg", input: input{ diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index 40067ac..5cb554c 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -2,6 +2,7 @@ package documents import ( "archive/zip" + "bufio" "bytes" "errors" "fmt" @@ -33,7 +34,7 @@ type Pdf struct { } // NewPdf returns a pointer to Pdf. -func NewPdf(filename string) *Pdf { +func NewPdf(filename string) Pdf { p := Pdf{ filename: filename, compatibleFormats: map[string][]string{ @@ -48,6 +49,7 @@ func NewPdf(filename string) *Pdf { }, "Document": { DOCX, + EPUB, }, }, compatibleMIMETypes: map[string][]string{ @@ -62,29 +64,30 @@ func NewPdf(filename string) *Pdf { }, "Document": { DOCXMIMEType, + EpubMimeType, }, }, } - return &p + return p } // SupportedFormats returns a map witht the compatible formats that Pdf is // compatible to be converted to. -func (p *Pdf) SupportedFormats() map[string][]string { +func (p Pdf) SupportedFormats() map[string][]string { return p.compatibleFormats } // SupportedMIMETypes returns a map witht the compatible MIME types that Pdf is // compatible to be converted to. -func (p *Pdf) SupportedMIMETypes() map[string][]string { +func (p Pdf) SupportedMIMETypes() map[string][]string { return p.compatibleMIMETypes } // ConvertTo converts the current PDF file to another given format. // This method receives the file type, the sub-type and the file as an slice of bytes. // Returns the converted file as an slice of bytes, if something wrong happens, an error is returned. -func (p *Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, error) { +func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, error) { // These are guard clauses that check if the target file type is valid. compatibleFormats, ok := p.SupportedFormats()[fileType] if !ok { @@ -389,6 +392,87 @@ func (p *Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er } return bytes.NewReader(zipFile), nil + case EPUB: + // Create a temporary empty file where the input pdf is gonna be stored. + tmpInputPDF, err := os.CreateTemp("", fmt.Sprintf("*.%s", PDF)) + if err != nil { + return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + } + defer os.Remove(tmpInputPDF.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputPDF.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary pdf file", + ) + } + + if err := tmpInputPDF.Close(); err != nil { + return nil, err + } + + log.Printf("pdf file path: %s", tmpInputPDF.Name()) + epubName := fmt.Sprintf( + "%s.epub", + strings.TrimSuffix(tmpInputPDF.Name(), filepath.Ext(tmpInputPDF.Name())), + ) + log.Printf("epub file path: %s", epubName) + + cmd := exec.Command("ebook-convert", tmpInputPDF.Name(), epubName) + + // Capture stdout + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(epubName) + if err != nil { + return nil, err + } + // defer os.Remove(cf.Name()) + + fileBytes, err := io.ReadAll(cf) + if err != nil { + return nil, err + } + + return bytes.NewReader(fileBytes), nil } } @@ -396,6 +480,6 @@ func (p *Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er } // DocumentType returns the type of ducument of Pdf. -func (p *Pdf) DocumentType() string { +func (p Pdf) DocumentType() string { return PDF } From c8d07ea2b3caaf17fb7d3117bf82260b3e9a0b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Tue, 27 Aug 2024 22:27:41 -0600 Subject: [PATCH 02/14] refactor(documents): refactor the conversion from pdf to docx --- pkg/files/documents/pdf.go | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index 5cb554c..b5b5fb2 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -275,23 +275,18 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err stderr bytes.Buffer ) - pdfFilename := filepath.Join("/tmp", p.filename) docxFileName := fmt.Sprintf( "%s.docx", strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), ) - tmpDocxFileName := filepath.Join("/tmp", fmt.Sprintf( - "%s.docx", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - )) // Parses the file name of the Zip file. - zipFileName := filepath.Join("/tmp", fmt.Sprintf( + zipFileName := fmt.Sprintf( "%s.zip", strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - )) + ) - pdfFile, err := os.Create(pdfFilename) + pdfFile, err := os.CreateTemp("", p.filename) if err != nil { return nil, fmt.Errorf( "error creating file to store the incoming pdf locally %s: %w", @@ -299,7 +294,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err err, ) } - defer pdfFile.Close() + defer os.Remove(pdfFile.Name()) if _, err := pdfFile.Write(fileBytes); err != nil { return nil, fmt.Errorf( @@ -309,19 +304,20 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err ) } - tmpDocxFile, err := os.Create(tmpDocxFileName) + tmpDocxFile, err := os.CreateTemp("", docxFileName) if err != nil { return nil, fmt.Errorf( "error at creating the temporary docx file to store the docx content: %w", err, ) } + defer os.Remove(tmpDocxFile.Name()) cmdStr := "libreoffice --headless --infilter='writer_pdf_import' --convert-to %s --outdir %s %q" cmd := exec.Command( "bash", "-c", - fmt.Sprintf(cmdStr, `docx:"MS Word 2007 XML"`, "/tmp", pdfFilename), + fmt.Sprintf(cmdStr, `docx:"MS Word 2007 XML"`, "/tmp", pdfFile.Name()), ) cmd.Stdout = &stdout @@ -345,7 +341,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err tmpDocxFile.Close() - tmpDocxFile, err = os.Open(tmpDocxFileName) + tmpDocxFile, err = os.Open(tmpDocxFile.Name()) if err != nil { return nil, fmt.Errorf( "error at opening the docx file: %w", @@ -355,13 +351,14 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err defer tmpDocxFile.Close() // Creates the zip file that will be returned. - archive, err := os.Create(zipFileName) + archive, err := os.CreateTemp("", zipFileName) if err != nil { return nil, fmt.Errorf( "error at creating the zip file to store the docx file: %w", err, ) } + defer os.Remove(archive.Name()) // Creates a Zip Writer to add files later on. zipWriter := zip.NewWriter(archive) @@ -386,7 +383,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err archive.Close() // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(zipFileName) + zipFile, err := os.ReadFile(archive.Name()) if err != nil { return nil, fmt.Errorf("error reading zip file: %v", err) } From 1bbdad6d92ee55b03b6c13f585e5d3863503932e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Wed, 28 Aug 2024 08:24:00 -0600 Subject: [PATCH 03/14] ci(actions): install calibre on ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 919731b..69dc616 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: - name: Install linux dependencies run: | sudo apt-get update && sudo apt-get upgrade - sudo apt-get -y install libreoffice + sudo apt-get -y install libreoffice calibre - name: Setup ffmpeg uses: FedericoCarboni/setup-ffmpeg@v3 id: setup-ffmpeg From a58ed070813db6666284cbc849e70e5077c08405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Wed, 28 Aug 2024 16:52:41 -0600 Subject: [PATCH 04/14] refactor(documents): refactor the conversion from pdf to image so it does not leave remaining files in the tmp directory longer than needed --- pkg/files/documents/pdf.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index b5b5fb2..f8ae54e 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -117,19 +117,20 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err } // Parses the file name of the Zip file. - zipFileName := filepath.Join("/tmp", fmt.Sprintf( + zipFileName := fmt.Sprintf( "%s.zip", strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - )) + ) // Creates the zip file that will be returned. - archive, err := os.Create(zipFileName) + archive, err := os.CreateTemp("", zipFileName) if err != nil { return nil, fmt.Errorf( "ConvertTo: error at creating the zip file to store the images: %w", err, ) } + defer os.Remove(archive.Name()) // Creates a Zip Writer to add files later on. zipWriter := zip.NewWriter(archive) @@ -143,8 +144,6 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err subType, ) - tmpImgFileMame := filepath.Join("/tmp", imgFileName) - // Converts the current pdf page to an image.Image. img, err := doc.Image(n) if err != nil { @@ -156,7 +155,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err } // Saves the image on disk. - imgFile, err := os.Create(tmpImgFileMame) + imgFile, err := os.Create(fmt.Sprintf("/tmp/%s", imgFileName)) if err != nil { return nil, fmt.Errorf( "ConvertTo: error at storing the pdf image from the page #%d: %w", @@ -227,7 +226,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err imgFile.Close() // Opens the image to add it to the zip file. - imgFile, err = os.Open(tmpImgFileMame) + imgFile, err = os.Open(imgFile.Name()) if err != nil { return nil, fmt.Errorf( "ConvertTo: error at storing the pdf image from the page #%d: %w", @@ -235,10 +234,9 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err err, ) } - defer imgFile.Close() // Adds the image to the zip file. - w1, err := zipWriter.Create(imgFileName) + w1, err := zipWriter.Create(filepath.Base(imgFile.Name())) if err != nil { return nil, fmt.Errorf( "ConvertTo: error at creating a zip writer to store the page #%d: %w", @@ -254,6 +252,9 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err err, ) } + + imgFile.Close() + os.Remove(imgFile.Name()) } // Closes both zip writer and the zip file after its done with the writing. @@ -261,7 +262,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err archive.Close() // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(zipFileName) + zipFile, err := os.ReadFile(archive.Name()) if err != nil { return nil, fmt.Errorf("error reading zip file: %v", err) } From a9ff9d82d989074c84d6c343454fa886aaeb7d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Wed, 28 Aug 2024 17:03:41 -0600 Subject: [PATCH 05/14] build(docker): install calibre in the image --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0ef2246..617dee1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM debian:trixie-slim AS release WORKDIR / RUN apt-get update \ - && apt-get install -y --no-install-recommends default-jre libreoffice libreoffice-java-common ffmpeg \ + && apt-get install -y --no-install-recommends default-jre libreoffice libreoffice-java-common ffmpeg calibre \ && apt-get autoremove -y \ && apt-get purge -y --auto-remove \ && rm -rf /var/lib/apt/lists/* From 8c8487eae81aade1b47d8f2c8e32c2fde1a5a349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Tue, 3 Sep 2024 11:23:51 -0600 Subject: [PATCH 06/14] feat(ebooks): add support for ebooks specially epub --- pkg/files/document_factory.go | 5 +- pkg/files/documents/documents.go | 2 + pkg/files/documents/documents_test.go | 4 +- pkg/files/documents/pdf.go | 87 ++++++-- pkg/files/ebooks.go | 7 + pkg/files/ebooks/ebooks.go | 8 + pkg/files/ebooks/ebooks_test.go | 81 +++++++ pkg/files/ebooks/epub.go | 217 +++++++++++++++++++ pkg/files/ebooks/testdata/no-man-s-land.epub | Bin 0 -> 298388 bytes pkg/files/file_factory.go | 1 + pkg/files/files.go | 1 + 11 files changed, 396 insertions(+), 17 deletions(-) create mode 100644 pkg/files/ebooks.go create mode 100644 pkg/files/ebooks/ebooks.go create mode 100644 pkg/files/ebooks/ebooks_test.go create mode 100644 pkg/files/ebooks/epub.go create mode 100644 pkg/files/ebooks/testdata/no-man-s-land.epub diff --git a/pkg/files/document_factory.go b/pkg/files/document_factory.go index daf4b1c..89a8766 100644 --- a/pkg/files/document_factory.go +++ b/pkg/files/document_factory.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/danvergara/morphos/pkg/files/documents" + "github.com/danvergara/morphos/pkg/files/ebooks" ) // DocumentFactory implements the FileFactory interface. @@ -28,7 +29,9 @@ func (d *DocumentFactory) NewFile(f string) (File, error) { return documents.NewXlsx(d.filename), nil case documents.CSV: return documents.NewCsv(d.filename), nil + case ebooks.EpubMimeType, ebooks.EPUB: + return ebooks.NewEpub(d.filename), nil default: - return nil, fmt.Errorf("type file file %s not recognized", f) + return nil, fmt.Errorf("type file %s not recognized", f) } } diff --git a/pkg/files/documents/documents.go b/pkg/files/documents/documents.go index aef5062..7e0115a 100644 --- a/pkg/files/documents/documents.go +++ b/pkg/files/documents/documents.go @@ -17,4 +17,6 @@ const ( documentMimeType = "application/" tesxtMimeType = "text/" documentType = "document" + + ebookType = "ebook" ) diff --git a/pkg/files/documents/documents_test.go b/pkg/files/documents/documents_test.go index 7d8049d..9c87654 100644 --- a/pkg/files/documents/documents_test.go +++ b/pkg/files/documents/documents_test.go @@ -43,12 +43,12 @@ func TestPDFTConvertTo(t *testing.T) { input: input{ filename: "testdata/bitcoin.pdf", mimetype: "application/pdf", - targetFileType: "Document", + targetFileType: "Ebook", targetFormat: "epub", documenter: documents.NewPdf("bitcoin.pdf"), }, expected: expected{ - mimetype: "application/epub+zip", + mimetype: "application/zip", }, }, { diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index f8ae54e..e5fbac7 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -49,6 +49,8 @@ func NewPdf(filename string) Pdf { }, "Document": { DOCX, + }, + "Ebook": { EPUB, }, }, @@ -66,6 +68,9 @@ func NewPdf(filename string) Pdf { DOCXMIMEType, EpubMimeType, }, + "Ebook": { + EpubMimeType, + }, }, } @@ -390,9 +395,18 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err } return bytes.NewReader(zipFile), nil + } + case ebookType: + switch subType { case EPUB: // Create a temporary empty file where the input pdf is gonna be stored. - tmpInputPDF, err := os.CreateTemp("", fmt.Sprintf("*.%s", PDF)) + tmpInputPDF, err := os.Create( + fmt.Sprintf( + "/tmp/%s.%s", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + PDF, + ), + ) if err != nil { return nil, fmt.Errorf("error creating temporary pdf file: %w", err) } @@ -409,50 +423,48 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err return nil, err } - log.Printf("pdf file path: %s", tmpInputPDF.Name()) epubName := fmt.Sprintf( "%s.epub", strings.TrimSuffix(tmpInputPDF.Name(), filepath.Ext(tmpInputPDF.Name())), ) - log.Printf("epub file path: %s", epubName) cmd := exec.Command("ebook-convert", tmpInputPDF.Name(), epubName) - // Capture stdout + // Capture stdout. stdout, err := cmd.StdoutPipe() if err != nil { return nil, err } - // Capture stderr + // Capture stderr. stderr, err := cmd.StderrPipe() if err != nil { return nil, err } - // Start the command + // Start the command. if err := cmd.Start(); err != nil { return nil, err } - // Create readers to read stdout and stderr + // Create readers to read stdout and stderr. stdoutScanner := bufio.NewScanner(stdout) stderrScanner := bufio.NewScanner(stderr) - // Read stdout line by line + // Read stdout line by line. go func() { for stdoutScanner.Scan() { log.Println("STDOUT:", stdoutScanner.Text()) } }() - // Read stderr line by line + // Read stderr line by line. go func() { for stderrScanner.Scan() { log.Println("STDERR:", stderrScanner.Text()) } }() - // Wait for the command to finish + // Wait for the command to finish. if err := cmd.Wait(); err != nil { return nil, err } @@ -463,14 +475,61 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err if err != nil { return nil, err } - // defer os.Remove(cf.Name()) + defer os.Remove(cf.Name()) - fileBytes, err := io.ReadAll(cf) + // Parse the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + ) + + // Parse the output file name. + outputEpubFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + EPUB, + ) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) if err != nil { - return nil, err + return nil, fmt.Errorf( + "error at creating the zip file to store the pdf file: %w", + err, + ) } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) - return bytes.NewReader(fileBytes), nil + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputEpubFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the docx file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil } } diff --git a/pkg/files/ebooks.go b/pkg/files/ebooks.go new file mode 100644 index 0000000..0592296 --- /dev/null +++ b/pkg/files/ebooks.go @@ -0,0 +1,7 @@ +package files + +// Ebooker interface is the one that defines what a ebook is +// in this context. It's responsible to return kind of the underlying ebook. +type Ebooker interface { + EbookType() string +} diff --git a/pkg/files/ebooks/ebooks.go b/pkg/files/ebooks/ebooks.go new file mode 100644 index 0000000..102b367 --- /dev/null +++ b/pkg/files/ebooks/ebooks.go @@ -0,0 +1,8 @@ +package ebooks + +const ( + PDF = "pdf" + EPUB = "epub" + documentType = "document" + EpubMimeType = "epub+zip" +) diff --git a/pkg/files/ebooks/ebooks_test.go b/pkg/files/ebooks/ebooks_test.go new file mode 100644 index 0000000..3f2e855 --- /dev/null +++ b/pkg/files/ebooks/ebooks_test.go @@ -0,0 +1,81 @@ +package ebooks + +import ( + "bytes" + "io" + "os" + "testing" + + "github.com/gabriel-vasile/mimetype" + "github.com/stretchr/testify/require" +) + +type file interface { + SupportedFormats() map[string][]string + ConvertTo(string, string, io.Reader) (io.Reader, error) +} + +type ebook interface { + file + EbookType() string +} + +func TestEbookTConvertTo(t *testing.T) { + type input struct { + filename string + mimetype string + targetFileType string + targetFormat string + ebook ebook + } + type expected struct { + mimetype string + } + + var tests = []struct { + name string + input input + expected expected + }{ + + { + name: "pdf to epub", + input: input{ + filename: "testdata/no-man-s-land.epub", + mimetype: "application/epub+zip", + targetFileType: "Document", + targetFormat: "pdf", + ebook: NewEpub("no-man-s-land.epub"), + }, + expected: expected{ + mimetype: "application/zip", + }, + }, + } + for _, tc := range tests { + tc := tc + t.Run(tc.name, func(t *testing.T) { + + inputDoc, err := os.ReadFile(tc.input.filename) + require.NoError(t, err) + + detectedFileType := mimetype.Detect(inputDoc) + require.Equal(t, tc.input.mimetype, detectedFileType.String()) + + outoutFile, err := tc.input.ebook.ConvertTo( + tc.input.targetFileType, + tc.input.targetFormat, + bytes.NewReader(inputDoc), + ) + require.NoError(t, err) + + buf := new(bytes.Buffer) + _, err = buf.ReadFrom(outoutFile) + require.NoError(t, err) + + outoutFileBytes := buf.Bytes() + detectedFileType = mimetype.Detect(outoutFileBytes) + require.Equal(t, tc.expected.mimetype, detectedFileType.String()) + }) + } +} diff --git a/pkg/files/ebooks/epub.go b/pkg/files/ebooks/epub.go new file mode 100644 index 0000000..cdc23ef --- /dev/null +++ b/pkg/files/ebooks/epub.go @@ -0,0 +1,217 @@ +package ebooks + +import ( + "archive/zip" + "bufio" + "bytes" + "errors" + "fmt" + "io" + "log" + "os" + "os/exec" + "path/filepath" + "slices" + "strings" + + "github.com/danvergara/morphos/pkg/files/documents" +) + +// Epub struct implements the File and Document interface from the file package. +type Epub struct { + filename string + compatibleFormats map[string][]string + compatibleMIMETypes map[string][]string +} + +func NewEpub(filename string) Epub { + e := Epub{ + filename: filename, + compatibleFormats: map[string][]string{ + "Document": { + documents.PDF, + }, + }, + compatibleMIMETypes: map[string][]string{ + "Document": { + documents.PDF, + }, + }, + } + + return e +} + +// SupportedFormats returns a map witht the compatible formats that Pdf is +// compatible to be converted to. +func (e Epub) SupportedFormats() map[string][]string { + return e.compatibleFormats +} + +// SupportedMIMETypes returns a map witht the compatible MIME types that Pdf is +// compatible to be converted to. +func (e Epub) SupportedMIMETypes() map[string][]string { + return e.compatibleMIMETypes +} + +func (e Epub) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, error) { + // These are guard clauses that check if the target file type is valid. + compatibleFormats, ok := e.SupportedFormats()[fileType] + if !ok { + return nil, fmt.Errorf("ConvertTo: file type not supported: %s", fileType) + } + + if !slices.Contains(compatibleFormats, subtype) { + return nil, fmt.Errorf("ConvertTo: file sub-type not supported: %s", subtype) + } + + buf := new(bytes.Buffer) + if _, err := buf.ReadFrom(file); err != nil { + return nil, fmt.Errorf( + "error getting the content of the pdf file in form of slice of bytes: %w", + err, + ) + } + + fileBytes := buf.Bytes() + + switch strings.ToLower(fileType) { + case documentType: + switch subtype { + case PDF: + // Create a temporary empty file where the input is gonna be stored. + tmpInputEpub, err := os.CreateTemp("", fmt.Sprintf("*.%s", EPUB)) + if err != nil { + return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + } + defer os.Remove(tmpInputEpub.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputEpub.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary pdf file", + ) + } + + if err := tmpInputEpub.Close(); err != nil { + return nil, err + } + + pdfFileName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputEpub.Name(), filepath.Ext(tmpInputEpub.Name())), + PDF, + ) + + // Parses the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), + ) + + // Parse the output file name. + outputEpubFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), + PDF, + ) + + cmd := exec.Command("ebook-convert", tmpInputEpub.Name(), pdfFileName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(pdfFileName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the epub file: %w", + err, + ) + } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputEpubFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the docx file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil + } + } + + return nil, errors.New("not implemented") +} + +// EbookType returns the Ebook type which is Epub in this case. +func (e Epub) EbookType() string { + return EPUB +} diff --git a/pkg/files/ebooks/testdata/no-man-s-land.epub b/pkg/files/ebooks/testdata/no-man-s-land.epub new file mode 100644 index 0000000000000000000000000000000000000000..ae627e7b1c9c5014b26bb33695b5bd817d0dd9f0 GIT binary patch literal 298388 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%0A*$*7fZ( zBFg#(c#eARZ)u%`u!PCL+UG?6I=@k~lfk1qFGO}qbZB2evhQj}=)7dWc3z$0&wji> zW{3FSswW;~0baQQ+-G`^|ANs0F*gai%V4SSm2ypF4z~H0dJcgu_?42q4r&2_w#~4O z&2?r`kvb)%J^}FH^m;YN(gb{pQx@Ezu0gkP;4dr0^P^0D-gxp)1u2jS=SzUN)u^vOdgkZ7v{%UBqi}B`FN6>oxyT+}=AHhyM`*Elcy=25?7U zkGJT~6nqRdzFh+E3SUMe0}AeGU5A_=;~CJ|LSP^7`BKD{ZblA|rBq=MdbO9y()n6| z?RZ&6%h6Z=%7{}aTP`4`mpW-#^=Bpr`!9rh$iMI&hBxw*>!{yleoAwM>-6gW;bq-a zDsz4<19c^KLR9KmZsclyN6hoGkvT~3j4P7u*c!b8-p|AN?C!yI>sFYqHoT|%0wh<( z7zvlk^Zd3oJ<^w*x6UtRdj4@+T_oZ23k-4sMHLc&lu!R3#}Nw=&R8UCD7aJAo>Qcn z?*_3|dlFig_V~R1Q_pS0CmP zSX^ct|C5@nons&6;(3_7PV1#vyKD0x*>5oitLTED5K zH-^aaA(nWT=CXoF9C@09kfR&3EjaMf-3N09vGKyWcz3;WF%R z0d&~X`mp;9<@>Um?UR4g!wP2rl!#aHBffB3N?OA2Mi1sm6xGz>q9$CHQ&phtmWsvC zD~5TfVp%2bR$t!nu@|6IwR8#pN^Ruon>OFW92<_M9YZrnUV~S%eBUj2?tStu-Q=#3 zyuevu+kFAUY;)-Hrv(jjAHXMmiqo>sy8CquoyLLMK(4b!cZlBwF?T(t*VW|@ZoYYh z^;0o-Vs1wa0XUmDDKuEPRBWXhHyNp=OiLSd*D?8j_N@hX-)bWv6E^4#krrtXyuRv= zR|36yu%2)dU^j| zm?;&U7QX_&y|0sL&u^N22UqwiJ%sJ!L}?~J9G4Dr_Ic^eE!#AB4qF|t>|3N8(lj&H zN>|)`DU<=WxXM_8m8SM+mBPtG{~LJ2rz<4CufJ$5rG&beO~hk?@;()%e8ho;XRvm@ zdJ&6Gu9bWc;~_=+Y(J`0?4>#)C8B1;0$TJR0lgC`mn4a_YEM&K?G7#chFyq^^bICp zAEQaC+C)f`I;$z)TVA3FLPu4WNB>46E}S)_k_5Hm34J#62FPYh#u|5a$?Q2-feJBg zp%ze#IRaIgxVeIiijBjYcM4-&ITPRdyis$(|Tn_S0+fA_n(sx03VSIwERG_#^s_%TIVD&P7^G-CX# zl$%Y7)z{R`xz|0eqVojW`ab}3K#adP!&A$qMwCK;Cm6s_*w|pKn-{4IGrS8U2XafJ0kxp@p=gEtBSHm>A2N(nR3FEv@<8~#ltQc$jZC=%awzO1gAAd7H z5q~95(t;pH4S$rJD8bk0K-5h-f?wD1>&?_6?{Qq}|5Xh>KksD0jXRE;d(o3g(4x53t6s+l!Mwx&VQmID7j4Yn8@i}@Lh1*O8(>8|sq+{Q3kd1N0?Du@QW z)(h=>-pc6i+)mFRE%jT;lkJj&bKDRO5EuXF573iA}KBN{-HatOU+Jl4Mo9Z_6O*oE%BrL6h2$6;Ijyq)gSeOh&lh&R8%O~ryK z#jgqjwak#UXUSM9#s@f*o_DA+2MyFGUqQ{XnML(KnhgeyJu-k?1}R%cRl$qk7i)^f zzg?Dy{8K-Q7B!4K`L4ik%qWX ziQ7`v0zCNLh6XTOzE7tqo=gc}I>^e(Fb%_v8MtfI*Lp?`fSzSyU;w-B2gq+-el0ZT zoL2ys_7xLX+nsOmnIxmHxCU_rub%Glx3l6L9-jsDlWG<^N= zD^y46!(fvq`RyhV$9-zTYmA+%aRR9~h#Q%yxG`!Wj9k}>q`*-Oy{xwaUEG34ubGKw z^_(sccPodQdU+l9-ah~19li!K=2RL;YcJ7pFukXgF4&7O;^wU+eBS!n>#kc2W{#!# zwKL19B7LT{dG4Jm)u)lhxvrl@XOH055+fYUt*1j0IgUxV1)+JdjUi=~s#LzRd{-f@ zppBh>(RL|!#{(a@4c|WoR&0tD(%qr~eacZ;G`-v(FB?N%<0XZRzAqV|MK(a5Dr@o25X2tfj)S)+UCUeW(jzPlLkJ_B18kS zM`1EKVxs3pjV`Yg7n`QWz~O>|7IlwS&kBFiYsRZm_Fe}wyr)vQ_yPi1E8D}*i8!Z2 zC&s@Br?>HZObmL%2dM(icE14)2`#U!^$P2J;-#RCGV32%JlVZux0 zP3_pN8-;`@&30Jx7zi!YQ5S-Pe4DfNh#TnC*s7>nE<12dSwr1jD^ne5<;2Jk^7L?X zuj$oqUA&ucubaPTxGGin9X0al%|KBkGtzUF3{37cJ%w6>X1NV@A>(jH-n*Jw_6%yw2ZtD&`B&$k&VE#M*l zv)6)cKm3-zTBOaupRTclny~|BJo7lBCbU_H60MbJ5f)v{w;Qzn(e&6w)bH*Lx>~rsj zy*@r!&s=lO`CGHBHM5?M*{5&b>{(vefVo!?ipD9?FVb!@#7-O-4R`i&s=Bxb9%=|} zeav_(MP9@uFuElmRaBE3-+2!vu6DjXn#heFBm}Oo@`M;zJ#>3uHC$n&a{fGjv=CLz z8(O-T6x9?I6g=0DJ>4lu)MZ-+-oMKCnKZ5yw*nXP5fbu6U`7a6bQ|860leYqE;<%+ zecEQ8L#^Z~xrm5xGCN?xu={5DJ_EbTej#-qeb;MVQ5&bXkYV$V5pG(#XL>@dQ>IdV zp;i2d{_nmFtc$|qYhzSJ((A!a{N{B6%!y{#5vVKQmb3*uQl4mXUQjtOBO4%NJ^w`I z=xU{Bw=$G7XP1upwegXFS>P?Su|)a1%!xK<|13P( z_&K}r4~Bb%kM)U*n_@=@>y1zD8}Dg(Po&4!M)clE3m1Phg9iz@ls`!MNZ?E18+gKEKIexVY%X zdZl#+=FWqd7wu{q4?1eEOXS8s`f#Qk%sJ}*+g-0=U$s5IUMb#E?ZI-@UT<{31r8g(dner^zsqY4hL>UL~gGDY$1c-Cq z>HtwQkyM_(coDelWs@KGt3gg3{wT`YxB5d?Ss;VWrvi^Pc5dis?a%MA{x^S<*(w8- z&lmnCQ@UzS{ayGNa>S*7ywWfLS$S{$1!KpallLgZ08kM7}yWg49@~#t_B$NaOPaHYL zYc4&zKVKw6a&Q%}rFL!~cvd>d1!zMltM6=bw!-=I@-p+ISvy*u&^S;WYt!aXa2Jvk z3R9h*t-&;<;kO_B(BrlC0a)7DWh1bTXMdr{s{Wj<8R_mZS>1mteUalJF{Zp zk}He3j6T_Q_z~1@rkcBN;8B};MMWX;1eSkmHjbROa_B|p?!=p8woNxk~5rsQ0y0~swD)rUZv|1WAO|Fw)?MwRy4J0aPl$%}NU zqt%d7GVh>R#Q*jK4=-N42z(6>K5jI+*?B`{@PDHEKehj3a`x|P|7Ump?`r?~SIB>q z{O@c3QSyJ3{O@c3QSyJ3{O@c3QSyJ3{BLakQS$#!l+0k}jwA^eKBYEFrU!(>Yd|dG z;5$cC1Wvid-(=Htrd58$H4JkHJjt0wUZ##bZEMQnst>oyhLuBx{jGxwr!5PfGZg%2 zr!#73eDI6M;5eKk-xHnr<97B}W@){(P1U1k8cR1E(?=#lc1~hGJs45=2f5Fl=*%Xi zKmDdvkNp1hYY5r-_NSjG!`$ZCuqJCfZIfrimJTb2RG$rNQSh9>;cQs^gJ0Z(XTu^h zfBY}W!TtyKApf9O%=Hic>>C;%%=`<%oP*4wPEWfmMWvkIWIC}U3dPb_<~FaNK!b~w zMp8p}z9sw=JL60v1oe8=%a9}gf9za14Jn9WfGZOgrOmcVhVOjIuYSGi{)ZW*f5^)3 zAF}%P4_R&gk=6fha{rfQ_5YUKDS+UL?Q|ypob4IVCjSAnKm8yDfsOiS0)%Xp3~Pk^ zCBOe!*cJsb^sCB*tsH5+wZ41aepp;?s<-=3+7DDG=9$0A>JmzCgA{op2s{444u?O&V?MqA=Yy5Qk)r1kzp9VQcl>Ya zw44C4znB#M=>3~A^$IfPnR))#o9p@!4Ak@cO+1+mN(YXw|4E`{pqWegr;^6fz!k?P54zCP{#)c#M}U#9v4>6|Ay zzsXXbo4;q}=J=r(v*!P5WqIWK-%OjjC+Xx2w1j4?{G2|!B;M<~Mf7_q%U8}k0 zSF=y*wceb_&v?L#M1S;t^Br~3V7T;HYw)KzUKQnvkQ(}R)^j!^Df^^>?!sWzZ!*H? zQOV`mnrp%dd#igWQ`Baev=*FTsN9;Yr9I=&mR(BK}VmrHypn5 zqxXb>+S$?99sJ%dq;zSpR+c9~Peb$Q50UBpbe<6yci>7+6umR&nfyMt$Al=iuj=pR zsJ%%Q+Ja|h{3iSKz7#@eYcm=`JvT)=u!dK(v<5%_^uF|Q2m_t}b&UgyAqT2g4=Xp@ z^5|E2F8F^o|J)vV;{Glv_jc;TwcdLcpJNy@rupY?POR(4@KEgkyg33`T)+2x_3JO& zpN>Dgy`6R&l#9`hhxe%3Li#nn-ds0YXlwPqsc~TEY`%ipsB*A(YG7!6Ts4}I9~0n< zjQmX|l9g?0E_46K+sp#I%8|~==r7RCp_2V(+I`Xqb=Ge(!`FY%Mtk&(hkAuO;-~iW zzt9#kxYIHq%BrxE|1a3+J9$5tzM1oS>qzJHS?jOs8VBw_DF@?zlMx>JpE4=y{rKaG zfBuS46PmY$oTZROX0>A@2+_)~vCm;EnjK9%)WX2?Ey z{U%lNK4I_H@#oPvP*#z$UrRVu_s-nxkJ~Y8{s9i3|A2R{t>x$$&+t!*!PiCl z$4LkIZ6Sd>C(4B<7qXQfo=q}@f%^Z?84-(o{VP8EPnQcv=?o(ysqY8VxBrNH_^5p6 zb=crfORAR+<IRdy>^j^Wgb%tFJFl=d^HY zo_I#`yGKKRlMOBZ=sg)Z+Sz#@HTcsIUSpeebGbX@Gcx9f&bO1{qn(|;{b?S$wd(VC z;SevYp{rbNb2o|W`VoMAeI3Gk?T{7L@aFc8vvuJ#*VguS9`)SxLN${bppV(;%W={{ z;jY!~ly|u7lkDy{C&B=obdA%w=C{WLKfjv$yr(QdRmyqm`fS3>!QW(I&&|i$LqhaF zuKX$>IH04M>&WwbjqWCizjdfP`Ob*4bzcvl5ev>Vp0h@`i|90s8ie6MTbV&ct z)5j4EbiZz@KgV$BG7OG!C616im-tolI)>rWnJ8RX16RJ*_vaPhzusIoL6z_5YYo09 zq2-yfVZX_8Plaqc-`4g#Z15*^I^7Y249n0(ZLSueLFCD{y*#YT7!ZPGGwYrawxeXa@&> zlMM}@Ep0Pz<*T`KuLq{NPipl4>4B70QGRP9%BRcatjFw6y20(@hkx1hACHm(_hmHR zl^UI{h4zrZUEfCx1AW}T$>I$D`Gox^?Fafb^Mrr(pDTUjEjima9AkdX{Y@zZy*9@1 z+%M$eFZkb&f)|X3^_S8_yy)qR+_)?M;>k}A5d~I*gr~ zj?+962G2R}*YteaAc@A<1WMAi&U{-1HG$O}m#7&y1aTgegZ1{oe)AihAu$}I#3bhd zSFB>*f;(2yE*ZABp%8D38MC@r1ggLSqI$vb{ys_O6uRj7_*GkiYAPqlq~5VFTP`=R z-S%^cna$5uf0C^WU_XIkD`nue5z8|fxxv{YO$h=Vvqc=1kehG#aHsZTK{-D`L_GN7fW zgX_2FrZwCgn>rL3_;2Sb*;d#6+rc{59aM@XUpMcQn?4W^l7-?{%9ug}`S8Z7P@LVf z`s|+ELd=P~lTK7XqS^flT|S1{WyExT(~C%`Sp%u()sUlD-B z8c{phuYmM!KFzISUGANh1sxsKyiSh$XOLI-U3&ai!K~gTL?OLNu96pAHz=}1b9;2Gr0RwTV|gZ8sY_YD0R1DLb^&DnPQE!Bz>1JQ>aGAvlM5OKUN&Tf zZ!dj+Dh!nJ_eQQnyX;JWk^RQ;Z6L8;ej1UIMu%|Twp6b2SGscN1r@4pZ9wJ}=5drd zg5zj~fT`{w&TkvVh|8QHBQ>16D+qm%!Fl8veP=Voceu2-_WL(x(+m8fG5{<>he}zj ztsbIf$vH3wBNRKKj@$G+@Xm5Lcw=yX=XtsbwS z(gvOC44OJGWYn7|MMt&AuwFB@+I4auAcI9X{S4z< zh#q0^%a~ur#aFKjrRBul^6tUrHr$K9Gw^6Ho3q$agiEqc3Q21Sua}AfrKlS;<@KWG z&k42p_NJ<`u_-zk5Oihxgs%hj+C}YwwQ(IbV1S~d08ZOURW0Q1P)@4HU%2Cstee_0 zysP0##!9O_s&!s1c)vz;D3o$*(*FP}=Se1ICaSqAl%mq%i&ZOk_M#NKZ<`St7Vl-} zHeS)2u~}B?WHA!~Y+c1XRH=5;0#>TGYTd)@Xe*LuxpUo=ay5cC?=SGFQyAX$0a`Nf#YI==#b<` z-6)<_-D7>vv?7~u&2+4Ktg)kIjoM|mr)o`0EI9UxnT*P*?x$;?QahF0u{3cVchJg4p`Dc{M)#31kk=*(X6=JZV*Zs zvaVeAQ&7FZ&yU{+0=>WF?WuE$$rM{p;K_7!J6c)I=B~vs0KS!~lZZ`B4Od;py zf-A!x%yPF@wQ&k*@Ww)2R%s3KV#ENIx*NqJARUw^^_DwUjui8%a23b98JGTUgdKA! zfG%`0yp=BXP{vKAWO&CIe-KsGa8V~WNxLDHy|CM}N-})(+qwjXo#RwWj!V+SR=WG5 z3bnu*;-dlY;wl8&Bb;T$2kr`5twMw{=p?{v@14(?);+~vV?gNHN8Tw? z9oZdqzmM+fR=E=h9Nxkfc2ZYS89?x6579!7)D`u>hFtf>WPlBGU!;A)^9sgc^C|7I z@U-7#DG-iM9ub0;jG(D{ye9uug%fgf>?%FvPUDP;4-A9&+FqQbUTXF*nC`nF zc9k=J0S^a)+_yQcvX*^^qq_4Fw8?sg@VPoh!2S6FD1zBaIPwxJEmU4B@9nd1l)_FX zx0;R;)(*Q`Ac3GyZQ+32^369kxsgG%KPn45fj zpG?Y(_K%-<>DEq#yq)~@O$Yj?__E5p)ixkwTYhL@y6RJ3Y3wUq?UgC@iu8?-K39|~ z_!J#;-&Zf^W%=DL=OKn_TBbsId3i^6D^=`iGkf0Q zX`}7N%VqsoJ@XZ!(ib|{Z>3lX?t0)hOpH^08v9THuGm^!c8>=UEt+*0JDwCiy$-C! z2gI**-gNZip5Wjday8Z6oV48OKG)h#3!Y!XVsI1veF_>v&LO^)HDbg%YFZX^4L@4C z@Lth{XWzKidMe{P(-1R^ZNk--r6O`U?Luy_CLqvzI=&N^CX*W!&5OlFt*P4*bfBDK ztm%TpYNm#(kG)qfl;+|fYByXNtRQpIyJB(_fgLrqBqHizgZ44+wKBm^v$>H|=t|Mx z(wDn+kKYt5&$vejxI~g%D}nbY0MxM{^s6iRZ}L-@lt-FQMuE|?#8{$NT7V8Sc-tr!TBjbdUrLH!W>~)GvETj5~bx2yM zj8NL6*%tQ*WL%h-jKZi>dLueov1y?h!jXI|n7~^;V>krNaV`_Ng<eV(I3JThn&D89Ut8+hdUI^7zI@2SNtQ%n|Kebm2gYNlDKiJx_ zH8pr^tx$2X6W0J+Qv22^^YH#xFHLQ+?7N5Q+g|A`XI7I;Q-&f&ER{t8&9=J$_YbsEO2)-8E_= zMNRqL$j`&391A*Qh&h$@MWq6f$__KRVX!p!?(?-gO~PXFmLTht1n{PU@7<|Jbc%Du zxz={$Dx?@34)Lhc8|>k#AdX;4kVK`-zRJ=^D~qf+t~uKz%`eYFe20sHkgUFbwi=_{7kGR(MAWgybkRZeC=-Vzt5M5?-d(7K)%AVLfN zntQOO$pAbb&db{ma{^phP~mpG=!0DP%IWJ>T$^WdO($enT~fLp*KXOVl~(ZaGD3ys zUxLYVLLV4|3D#|E0_Gd(7+9oju5}GZEqcRT2&KiyIOwwC6b_Rl z<89sBk3O(*VVl$-KA9;kc1ot~_yENuYQj_jNK9V7U8Odl4|(txkPH5aqCgVn>-%w5QDRhMX?Bd*P&0&8L(Q0Q5nja2&UE2kt=c9PW0$6!M|WpH|K?mj z5i@Mrrrq^H09q`BOYYhzzDrJL$CD=h`|-%t%s?-+d7=>o?l$ivfAIhKa?e&d#~k0CO5Wu)wdlW*zp5z8KK$5q^nP z-pgvOL;0c;{Ml$b+_lmY;WZpD0I@|2hDS)HGq+5QxtJKI$QKRq##J*j3A+jNRSB{a zHw-((0CSQxErv4_db|D?#XH3qV9AI%>+q4&Nb+s899r{(fo%oHefg{YpB4{_fkyJP z8(@{0Mu|qJnZ-5jU;x|TTa*XNP{!{fAdwP@CX)bkD-gT>!%iMYo*KRV{( zuacdHH^Vb|X%lbScr`VBXLa_#BjePN9{6H@LwUKDERuyeUh}PwUzy1%sKx!iH-&fA zea4$MNqG}$pkA0Oe6oAA>Fb8l{EXd6sWQ2R$h12G^yZ8gjH9@*vP@P+fmc61@Y9o&`HiVKX!1Sru0%+in$C% z&Kl;vZDR0o9EZt-6SQOz;k+XR>1?>lW8;WUF5;E`Ke#Q*D02+_?1QKDMkRO6NBwoP z0Pq)!%#e|1=QM=HeLwNgXxbutjBc~R`Po60lZpbw7X6+-+c6XUiD=|jnC40E6x2df zxtVBi7J3~QM!ghsp%|U0>#56m8}8QU`d)Lk$}X*hU;*U}?YShE+4>QoaxpJSwCgH- z<@A@zHt3Dw9o&q$)nSbw)cvF=fCkL(IFxPr2jOl`uW7fym-8>Qo&x-NJAsu%ER%C? zBqn>0R5{sAg^DWDKs@GVLCqUw6`u24H_)9b_{3LdRG1CW(D|@?^J|uWS4?oGvO|xs^^Bj;SvO*OOikKQc00s^IJ6;(VB3 zC%fIO=cKCkV!U>x=h9WG?Hha}rtNxi{lo#;92^9kSM)aZO`Q9vtNCcUodiGsU2^hE zSEaKSU+J!Pk37KJITzL?$#G6Ysg@r1;Ov%$N9(qn6DR%FRZVZI=zHpW!sd*gNlhz_ zbgSQ^prBx<_t0&*Aumy6GR~9?Y#8qO7`o1n?)<9V81-qH*a#h?4MaIwR)+KTLYHLa z@;+YcA;d7#SBcQY5ax3;I4fHmx>dd`8-(bt(C|GpoZOB?tkQzzNFh^3rgM=6RGPsM z`KNFZ7&cKKw%`V94>k8pLb~5l^d7E)!y=$7>8^;opD&d>Nw1O#4Blzb!6V#>aQ0-V ziw$NW%*X7q;;%DgzzD}37YOnYj3si z2l6i+wu`=XYHu;FNB5A^rSLDvz(Q|8s%x#;YadoA$9N`IwO!?*&#vyRWmk=%>ya$I zWp0kRd+A?2Ru|l@oJPX$;p5r_;kjly=kB8y_TUV~_w!#oQDap-p!j#Dc797Ka#VO%rTpzX zpPS7s^2v3gK5O@KHmDP6(@79Og06jfIX)tK7P~6ZtG%qW*RVK+iH6prqh1Dfl%ztq z*gCsrJ80vJh`F0oY(1_5iFUF3u8^8uP;GsFZu4v2i2+8nPKE|78Gy_jCBwUPd}no{ zozn8r4FLKM(m%ezh4X3A%%SG|AuhhSth$x_l3brdJ@_78kI_VZI&ztL%5M2~8jmS3 zy6s8c`c)t_ZCQ3IJ{$C3B7ojUM}6b#%-4~O{AGBs0m;PqUkHd_Blg5L0<0 zz>@1};*ZX+DQy8}9cG&zl&S(xo+2Bydoih+^z>J0BmzWrrGJw_*oXvH#P>+s=u12BUoJ(WEB zG7t|(Q|i`(B0Xvr;JPJc;RP=OWt1r1to0O*gLta8jI`V^gEh_yoW0&#srpX-(-)?N zzSQeV7EN8=Y-dvIWIhf0X`^pY1aIGPa=x?^wM{$}N-{1kW~0P$eFhZgeyhJ-BbXC41w#wb~p{dzKFiE-+_U^%>Lro9GsiNUj$3W9AHpQox z@p>{(qamcvsT&_-@PT$hX4w;CcXXUzVtwpr9rosuzq{G*`310ANPFd6xUq^ig0&>=v?N=gXD3AI$* z0QcU%^L^l+2ltS@_=gxqfYsSPUm40?k}jMHf8oJsU|*s|M;WoRkaR;<777Tm^s0T} znO}%aIZj5SUXjEUED0tOnf1vC^_?oaGz7tdo2z{L9^w?W+x%2Bu~qg&cG$aJQwudN zsEsV7&CSq6@Y`6-XNtrQE0E*ips8i# zx13ivEpz7{jW188atq-A+RtHH;8d^i!4H&qbsB!X{nNeD{nM2lc9UMft89~S3tCC8 zpXV%4Bk#sb;x)84`hl26H#{<~6X}63)vOdyp};WGEI4;R#Oq(n&WetEan389WIYB% zSLfy7*98E+>4YHQKgPPSlDd=a1tv+n0~E@ z_0w7vF(tN->DJ$DRrNLpg+D(tNcvIGfa2g@c-QcSq^d8Z{)&Q)mur@XkKUay)K6;@ zmczrCYENXT;gAXG^8iS&7%uo@q|I*{u}sr`jb=4MZ1o!(4Gs?hbg#gTZ87c4cT@tz z0v(p(nferD1sVkF@>LDHYmr`*h3NHY_eOr_dCX4JZ5gvyI^g=OGFu&l&s#t%7Tya& zrFF|+jKr(3=A|CS1-fWLs0;474sx5#Bl%#u8me!~v5$ytp?}EnLQ|*K$a9r&WQ$W7^`JnL9 z?B<}5k5z4=+0Tx1Att73#;s<~{VpjwY;~(8hFA~F#_=32RP1T|I+)1$n64K8DKDk& z$Ts0h#V^!^#NJx*U2^(C<3849s8E7oiSRC1mZ}T%a4UV@NibRkT?efBgX4cRs<&9# z_Nm!0M5xg`!hugIS8spYcyFXn?9dFDP2@DVN5T18TxjrkxCWOL%ue^MUh4kSMv(zc zauS7)t(cre<78!fqumXce)QJGuKVb%Vx;@+se#-=CzD%E8&ml=V#yrJ&EXvoNx=DX zVJCLW8kkN@7@rniqq*W%-PXmO=}I*Op}~Ghp@DoEIps_g*Z98N70)R6Hy+I`P55#RYtu_QR(N9V?ye%d?c zayRx&&^3VC71}7sGzM7YN%Y@i7mA1VE69R~cpy^uPUWRHyu9m_f@(UIZCBjx)vDEq zMGW`a>t1)_@f@B+&ae(oN{6(;fC{h>J(BsiFExn|t9Qu8=N-;}%u6D2fv9Gw<4jWi zS=QL$Xl6&D^x~Mg3IP>-XzDPA8~vB|S(P z795kgv%W&6SLpTyF{~xXrxLv20L&L_>bx#hJzi2_m(G`P$PfoH@4Q*GcE_~>zyjym z0NoY~sO&{+Jqz)zEGZo^Ww&}Sm+g3(4-w=p*>$={_T~iF$wFE3wa`6uj{%PlcXb7E z9+bNPt{&I^4V2U5TzSz{BjUx2K(vm4-KHCjdlD-U2;!EcAiyO+dej?kJqCU`m1bXN znwY^8{{$r1>+?CfY@M*7Dwv*i2ujWk^4PT{Q7Az(2CGFkGjHJS@Zv?FsZuFGn|1Zm za^g`UDQYU69RNApHPzM1>nf3J$y&@r#x2HnA!I;AyaIaW#+_wl-%4rmy^UgB9>H3= zHFIn=jP`RxPC*zMRm8apc)qaB&lZy5sC)04Tup9Ai@FW*Ef_qtan33DDEuVl)92a2 zIx+NS&vbS8t*>6l3;e>at;ZSsQFuXku_w2xni`h?8UXdeq}LH^(nXbilbP*SWeT`l z@?SF_%Em3OIMT3;Z01wR_ATDdwIO;h)JV=O*VQjA7Oe}V#-G|s)>V4nR-X!=VSHOO zWV>38{JVA}yz<7&>Wy<0Jy4;tf&e!2Awu3nz2>{j!8-n`yk%|?FJ0UCc@8rxGKpKF z^QO9=1klD6e`I*GwhKo!-Q|p94E}hw+^L11L>u%wG^D~nwnp=8mm~s~A{16B6*`q{ z13TAmO@`~#_lemPOr2qg1>x1aEm!YV5H2RQIyW~lT8ha*jpi}&cuDP{rXExEy6O~-}8=BNrblB_aYCZ>zUb7GO)`YdSw~kH=5^X3r z)2~o%+*XtNjBgW7jCSgn5w5f)4fzkSIGm;4%TiOaF(ULOC52XvHkA%TRc_j`a{cux z1J-+}&gUYRB5m8AUfp}cY1@fn-Fws0zPJ)S^N@2o{9#<5XE?oBN#XNn!Z+Yu_5Ctp z*Lwm_{TZM(HV~I1K#GL!8X=~dZjFb@WjqbbCcd-uLQtB#;%J@=Ab~A%yyS-DKY;4@ zHaS&rUYJ6T)nWr6Q}YJ@{3Wh+_K2!=sW`zn8tT56~m#Tx^j1W^fkLSiOi9@#7)Atj%A)}Bo z>j2ph>8!QYAx;6$KQJT1VLK1Ob~|30=1ItL60i|!u9}Lt z3$A-p%0jp44$xF`G$Uc<^75As8Bpn=exP(DBB8zG~ICiZWTl?zdVnV05A{6D;I!*46 zZA=+s>d`Ajp||cR(CBhFz&vypz`MdZqjff#)czox45^`r_rJD*E}2_)!qs1bDUj$1 zhB!KlURN^Kb64-b;U#F9_u+c5xxIR#Fp|u5>$EDtvQ3y7XrPAQ5MBw?;z2qX!D~w* zn~o9_;6l@r1A|YhhaduUtkjO?*i}w)U969_ZliQ&c1QJ8s#`(X{=}$xlfPNpoP@P7H~L`f*|qd)^po49>$$A9C$xI~ zExed-xyv;Vl8^5`14w24;&YjCUeB>5jmVd&6C~G-F*E$G^?9AP5~6fTU<-R z6czCjG*fu1f`+RQq{wcFWpF3Id(Wr7`FwgXlw0oct3FMgg~o-276^J&Zu6YUIN!=G z+GHeMsJh?B6W_cZiTAMPV#7`1rNhabntoVdD&np@q-KQ9$U)CRUv=fEGnIrQc;Cu$P0`2<%tP3MCk1H_?tc^Rn) zfe}jrq)4BKH8|`Me_-x+eG0<;r;TQGJ+-_`$D$QQ=GeFn%jzwy3tTVA%tT6UVsCj9 zhVgm;=u=yJtehw8yhfCxuDn)0M^W^!METd4Lc3{ktog=E>xGY)5P{GIx^ZxPjZkWO zQt~5iK8FmuuhDZYI?%n|XIYas(t#yZ{TR9Xc55w>2Byuk27m4$;2MT_-^4(htND+yn0c=+4(X% zZlAbJbJc!`8$}y^L*nfGZcHw3Q{Zx#-H`Ri^SH^iaRC=@T6ycavfaj=qkI?Vtk^62 zM!qB=G`gEg^9xgi0GtAd*FujNKY5`RdaugClNmSF;znRaxb@O`#qfM|ee%6mo2Zc6 zWcaXC$vxKt+R0jXS%W3tB*&5p91yvK(=mR1;O?@bXpA|*{N5AW z84?jxXp!U`2hEAd4eZK`?}+pP&@U!pMvN~zE=eyq=rH!x+s2C>Iv54}b*gKR9mP-( z4L8rM>9stv^X?p!C)$@{ILLN4?%cU^TeN`sV<4;I0~%^y4qLiY*Dm!m%C2uY0H=dm z#%g(OTt#9L=JW)Lbrj2(tHaS-t_xlk@U%K zrq0#w@Oh>-#I{@~o~bS{*};ZmA_JUg4{vM=1AN5}bsF-8EMq z+4$50^$3pFMvSTa%Ov|(6&a_+GkiBMpVbFIeQap?byLTbT1qM6LugBsspzU}?k;CG zu{yi=D(&oD^woK>9C5BrAR-#DZA3<9Mwt(n>H#_|#GBeinn#W--Y9v)%R4D&6V$S+Sp7;z5Ta(GYc@y+BUAJ)S%=C&kxC0e zCRahwBcF{ghXSRrw5CktO!W$Hlz}$S=SZ{tXdqb5K4i+sTGqz%4$d|aRoE=o>*l?& zqosc>+9dWav7~ZmQEkwClahT-9$T!G9lQBAzVlTiXJa+nszs)8kA{XNvTl7lzT21T zR;6_*;Z2rw!3%9-^pUXLL@!snUn&jAb)v4MZs*O%0y{z)g=~q z0D7I-$EP3Q%Mxc}HdjqmbmuT;1phor)E-p*-s#S{Qf|Sd+a}CAG&qkhEQM0*(ehC_ z&$oiiH3|xB6>Yco&Jbi){Vpl;; z$IhZ%*xHOpHaOdbRYm5}V>_7pwlSekp#Nsv$M~93`EGu-hj&y0?o4XZ z$m&1V(*F**b8qt9Gya#aD`IMW5UG|Ag;C+9zsaiDl^j=}6})Y)xS+85Q+tggn!dQ; z`7>eRTnC#t;-XjDn~^hTsG2t9I4DOl5^U?oOOiVR4B-^1v2;9L_ves zzpeQX-pd?ZD`@28qGQsAD)bopz)me+ngsgUraAQfmL5}+eXSIL zE6B2p$oJ11@@b?uqlDVvx_RS#8eGSB)AD_LVNPhGV*>=h7fK`T@c}?TTwPNPL*bxk z7CBw#ky1L=bH;O(bON!r%v^K~r)6I(H<0YH3S%bKf0dH-j3-0qv8$qlT8JgEN}=nj z0(t>C%^x8)=JE~5*OjE9c~Y;+0UG?meF2#OEZCE^wh<3qaDD-CC*8)rzOfkt@Kx0A zT8)<9+T`CXcQJQv)dDbGiUFTv)h$?COE(g-Mhw=8YUM-ivKoqtudgjA`07)N+AAJR zUUL?a-RojikH4`(DoNs}4AGj+BTOsC2M5TT(9Aned1U~_z*9w&7v0!CZI+qG5id#4 zG#0I_USb?p7H}5SLG|_MnUoWZ9!TOJ%3h_%q!ZgPJ)~9^J3&FU2_Eq@*7?NXBOW zW$p{v|`k zA{^_SR&gjgTaf?JdefbZi@vDSU@mE zrJjZ&6TMDVNmi&r&u-D$1&757it;V@;YQC+(X5SYCaGIDK3^EFfgHzkdvOB|8?7?F z8<$dA<@;-7z?!w}#z0=vC>q|&CeZZcAFZ9fG$RkcFFyG`ihzOq=iilKFa~ThAYTSb zS&t;+1btgM3w(A?KJtfJJU7f-&7IMojbf4I6f~JzuwQn>_-;nU0LMhml&z` z0-^nGRn!U*tEd!Y`Fh* z%;9AaO4O3#y!D;fyI zEyHAD^CoJHETT2oL?becMZ2r8rxI*4pu5ECM%TY6dx#p;X`M~AGk9i4?*cd9R zf)ebAB3b1BtO@N3@XjA2C2Dja_1;!-`;DJc1yII$ zm73$kly*^qMJ{4U-X6NOLYv;`hIh`6o?3P>QHz_A{Q_)b6Von6W~i#(>(Sh7UiN|1 zbb@Lt^YU-X&4B$3)hjx;@??X9@--N>CLb7E8`p;g@K+tiu-FXc$^INs($x&BH}`3` zK-ps(fnfqu>BVA-wd7p{JD!kk$aN|@(pjz5V)g!JSZOe;8C{EQZ*%btUWD%a-_U$= z0ZdLZ8BLUZwCYHGY$EE`t6Z>d5n7qX_NKyrGyQ_l@qO2NuOctG&u$)3-4^JC`+PM| zqn^}@IExbA;hDn8Jl?ygdgoxPzKAhPdnX>;iy+xk7D}y($Nhh}dh=+u_wIXKl~!vg zty!qKC84Fn+)IrS(V9XGy)}zS%wx4zshOxChTyj5xq={u-kRqz#)K#uN`<1W4!6C( z)%HHm_w)R+vR3}hdcXHMuYJyIpMCi3czJm}>w?qcAO>{p^VK}V(<^3Pd{PH%xx;bI z0ZA{L%l^tdv&mU5Mhg++Qq8LP&GDSsuhK-t47A0Xkm=dG{$Nb2{89(kQuN`zNFu)m zLu4WtRtQSzW#!I0F?qFhk;5>jn@1%`rV9KU#A|bXaE#S*K&`7m7U?rm3UCX^Z&Lw-*M7&iqB85Ypf9pn39AOX9Z21Gj5$UIW z^NV6{kH5@*_p8~sW;S`guYc6xcTyF)qdtl#P^e=bD1rdPoU7_2cW1PNm* z(@IG9PrrCS>l`-I5PhGAq3Ini6h>~KQbL`Imh}x{PtkdiR3@o{E(?oLHjM_QO!WNU zV@#&F3*bZA=Jr&%B0W-S-8PxDv>EYc$t$l7EvSQ6YEIfTQ^YH_k z)CUlC6Yu0`L&@g}$NH0Gshb(AmS7*p(7@nkv8T`bfsbL=`y;m_U)7~=V!u}HUg2#^ z#WK+Tpl+h$w${FKAQ^b=H_#&wgj#;$`VoBOy@N)M(yS-G7|O<#oc=GSb8>W9`c}b1#c zn>IhE;(9#NaKnOapjIdRi#Sd9$?LF z0*i2OIJ8N2ov8Llr#TwDg@oiW$}bgcX_9*Tm2`r(KAz1G#miy+qMzK{^vqtDBiB)~Ps5lbHJ{NtZj*0(`-!gf6%mvql7&%b9{Nds@CAXr49TCqGRkT?gSNt-2xxz z#Nu}fn?63(JF@&*)aJk#rMU>d?Ae4HXIZABieD|H;%ew)D;gL0CzwsC!w;Yuomd1K zecRGQYmNTZ8rGnB&~3@0=78a}Y`Fcuug~{T2~;Duc!5gg_lZxvS-iRmNFtmYXa5cjYBTG z7FIXClQz*mFxyq~44X+#Pn|p>)7rS2$Wj}^$${7PnMGGp<_b_;H+Mq}h!gBAzkk%f6UxRH zaO)?SS@y1K!puibE&p-xMtwlTpBI85Dxb4Zsz(W1c!H+GV>oYEMGZdZb7^3k85E31 zzgDvwulDj;_2%A;-S#T1`#AqN`0Sp}`6iO`ssPeGaYKtEHhAJqID0A}xNrZ;ytS$A z#8a=80V`Y_CFf|331OQA=&x`C&XIo^~9S}soJe`%@2w- z;z5-30;oH)u?kzp3c7Qvsshxxq)h+w;zU94*yZ-h{(yzK)1X_k7aYwewU8!TWUNvE zk<)U*d3xQA4@65Zi(f8?uGPIFpjuqrl=gh-z;|v8lgD^rElA+?-8w6en`q=*ZjP{d zd>}6Ru`|#f4Q(C%iCz^nUSCrDjUb002g@lkD-9I)YlWqHFm;u|8M5X4S;Oyq&{Wiz zgJ=UD1~%q3t*Y@e1cE!4nu91Jo(;S&qbHREkLr%LC&EyM#xafvwdG$^idOb{VWQNq zWKW?dU-0O_F{K8Doz%UPRE^R>9J(&>YxPqWkcN`Bmfpz{uTfns8Wc`HZU@R!hs3KY z^V&O*E-f{0X~MO|?l+Dxrvnge{x=c#3r>Z|LP|<;O?L))eCQDhNK7#d1``0?x=Oew z=!~Y078I(Tlh9g~kn;%byU>x(b?uiPth-2Q?(XcYvH3(?VK~`swd=EIkbZxl#BzkB zEX3$XDfh^tT=U8ZWO7de@YYlbKF8nngu-#+-Rs`vat>Bsp+`HZee4y3%Uwb%D)FGEP68!x1h zz;Agd*MN$r8W_{Aa&TPVQm6I$H2Z|Ap(8p8Cjy$@FBF$|{yeuDc4&`MUa@i-06pn~ zh}GQ^ME{Yv!Ciw+9+RXCf+%>09Z&wnt*&YXUEOjl@pIMhU87wboBA)$GXB zUK44SkYF2fvp%ucBP6 zVgr*?Ye<1F#kV2DHjFbtVHH&>I=~FIFFCm|SA5N^$e)+`Gdubf52~~8TF%Jlq5ft)ouPO1g5zO7M0Un9!tLd zl%$mh51A~geye&ccU*7L)rNg&W5DLDq|L#h4m#Uk02Sf6Z=9jUbJ%#_*^g(=h1vAK zd>KlmxP?8#6y)mB66~}rKg7J$^?j4sbT!6|mBFT%GQKh#{Z{B2Po($yK<33@-D(-p z&?Qz1EN{r{)gUJ>_JpU;$$|~XIs5<$W)6W`+bheJw}-(YY?(js9K!+&Lozv*!0(HJ%3!8D^!6VMx(`N&>B9cqw-ZFJL}0-yIblq{RI0hzj(a09 zkPcU(P2ueoeLy)R*OqN z8#rBAitYX>vJrhoc0fM#tHWq&nfDy*%EO~Olw!Kv|5H7kb*S-7N^1afAho$Hw0jNQ zl6z6|?kBvdt-~B*ANc|0F??aEpR$Pr_1@N!#QP;;5wc}tqkKptQBbjEOybRoM4uaP z_hS1)S?Uv+ERVPaqE}(l5Y()qbx1tL+ybZTiX>HtCEcAn?)2Z!Nd*KC?aSNEn%aqD zhqwnIA%j}?ZExIqQ|y-6D&?OW>1E|&b1HqAK>yQvVsEqf<~&A5e{?v#Rj+#o?s6lY zGU$HT9T{2Ch?sU9N`WM?=Aj|$I}LK8WdNqQ6bk}C6{7$7a`+!i_+5R z8)rJW_$fmG1m)Pm7cMbVu`s!0j!g0nvzSJ?;nGQ z19Vcjp8i`~_XLQIatTSqBv6mBCw{MzS6J9)ce2^oM4>mNg#y23w?Tq3&qK@WAB}N2RCCDlwQdwMoRI`krV5+bTU1U@7)}@ub!=j&ksmsD&T-_-&V?u?l7gW8*O*Dc&zo zL3Umzt+sQ>=^nNpI*e+1V;ffA`sCYAEJUpQs0;7TvrXf3je&k9A6~e8^%Q6}a(jT? zY_Dtg)FauYtd~4X@F9HZnHfM>1W|^Ph?4P@UXKwX>)NL|Y?pqb z+3!{Z9vum_6Nf5OesH0mw=8}SKJuHq(VVhaj_h;KZuVnf=hc_)D~cjyg1Rt41j?V$ zsG(h?T=_$UD0&)RQE~A-?T#Vz z<$q^!ZkwO+zxdzpsVmRU{4#}fo#Ymh@8RANb!@UUGoBJ4apX56afYd~)1!7a zRN@m?O`l4iV)*yQeSqK(zEb}zY4j_1U*w&^`!%D&si|)1o#u-?--xNZit^S&ZK%m3 zB4#CMY=x0*&*A8rymH+2&R*CR`?VUHgKi2u1VX&RKTkrQ_A+(vvtjJ5%sP3?-izLun~Xhg9rV#o6oC(XGIVHg|h*yy}D?xDJmZbVQ4LJs=GJ9 z-||%=XKae({N4o#wPvK(jQ6AG>=~T8Ds8HhJ=RKrk%H;6cI$ceOt% zXRS_xl&Z$SYp;9qmnRGbjhbfq9Wgydfgb5I?W7*h?PhZeckVU&(|_=uAEk>tuu~9n3_-PA zCX1}QLhs07OvN;#7RqU@A_pXBihb|9kJ|k*Vdzj(CvhnHzOMgy2S(s5O7=}qTAM*# zCK%2LFlxGMN6MC(0A=Rqg$on|_BA99H|Ll9TFSa}L!u*qzz9Z*oFnhO7~>QR|&(p5-^&4Lf^_;p2bX(W{`H@!QkT23Rdg@x{qMSWKE!oam8UvRI z{2-*#-Y)`XPhuRu7q`OQwOA<8lusU_>tj6t2VM1tF`KYOe-8Vsn7V@W{8>8W5 zSY-!EIgoCCV@&A3`}D8t>rDGC%Vu-6d!idLY%EbOg2_lC;A;c7GiaXisVtF5MCxQ<~ZmqL{Wey>jTJ<^)D9c&GU0o9FjAx0yc>Fli-=5PQ(}}tcS=k#d+TM(G9=*>)pOCotwF2sf-ZJ z1y>@+D#6*xjk}P8vGfm%FJ6;@#dBpntr{yi#gfX;=UvLfHmIBWgMDc9#{PANx=m^A zf4B=}$U8D^5B|fSh4l^6A4{qUiV>G>|6wuOOoY$1i)pn1>~gA$zJ~eD{M8-QiSY!6 z+Wz;hsk9=!=s26|ToxD#9cgxQ9e_HJ4-$n~k0ZtNZ-4MEMv&SR>z+!E3GVtB$R z+(9I&ZgQGz!u1C|o?}i91{}$)q?Pb`NM$MD0WmUR`eSP{1903PfFMojo>1lNY@6`X zC;o2$wpo7e868#fIY-^I!x-~7??Ik9)Yl-JS&JH^EMe@9=BRB_AA032b zT#FiPzWT6IE!jfPmOH3to&YnwKHD}QUgfLvaCu^C%P?2JU+`?t~t9F#;4 z3m#rp{kKTrV%Z`P`}sB3soK3-%@-6cx=1&UvKQ4iZ@_vf(M>VuknLCHDRAcmGry?w za;Y3!Y%H4$%X2PP4#9@;DRKl;oNm`5XKZtyAkxXs%prJCt4mYKe5KPAYubA#bB;}# zejxp<-qTs1J|)(>?Nt~wWOq}|0)A9RM#r`FoUB1v*LGl0 zLFC>%+$}`wTvbwVlqq{1szKzNou0Ag6EB}_c0cELYZ1@!^23Y9Kn%~j(!>iQ{Q)O4 zBZ0wU*j^H_RSV6PTCgl@|%hbC*{A z7Mx8S1F84U<1n;G?(j>Oc9gYC zHo4F)7j02)WcTdUsWTv6zeTO?ohE?BrC|+11@#2JQRam5v!i|`oLdT)p9=AAGku@s z-67ubTNy!bCQj$f`{n&~m|5%KO2t&L;hp17H^S{upKYzx!;TwcKi`p@wJT*_EXHwC z(WwIC7|DHxcUY9u33U)IppMce2en`YO+eEvE4YAFe%Vt&aapeqmn3WJ`(wInxBhmn zOW#b)LC6wtwYBNShOUBQ&f#($?x60P?O!(;h=A4w{U%UyUg+t!aze|(blWxv-Z4_m z3Jh+&O1P)No+|<8f4`xU-&bgtxyGeVZ@4~s@#K86sakkxO1|yXZ&fXLxPeIK)=SVx zn*#XoOHJvw;x>EGI*Wu z^xiZd`G#V{Wl4XTT(z~UXn!&zpG5=w9&gjxwN+h#;S;rxHesfJ?t;VQdMEkH%8Hf0 z#hZYL{jnO4f1I|G;_GKbf9IPJIZ~hp6m6foGv8#1`rP1{kEQ?^3@P~Ii^!TWEgTvU zA?-j+aXQt?yjm#B3Q#_;_H#h~)+tKi(F<%Bi&+PGqGid3$M>giN zuEcX*3lm*fe0h%5IpMJP@sksph_YeNZ$pt6;lx_e^NZFa-eQByb5nF@@~5{0m7R6nTCt8= zPzhyvVxVI#W|j#^t*K-EIW#S!3qtOS-3TLS`g2+{*8r`1>E*L-7j2#_9_RPPB3f1Z zP*sW|z|)%nN1qiB3Z59WQxD4^zI?%#eQ0_3TYU<)B&8&0 zAv0mc&eszd`~Nr6>DCi4wra7$X;ydN2+9mMEM=nqyry~hsxssNw=3$f&ieAAKo(Rb za~b|vI5;l+X@(wD8X1CZzI71|LnPgN`r2E)c>brx$jD^HSCLJrk-FLb1KuqS!G$M6 znkzZEJP6j|S(pGI2bXX?IO;aL5;Wws63@hDxL0DQ~ow^i#Ay>MJuK4!7%lz-G|P01-Q zI9n>_lOicOKYli>H`$A3Y$JOG_>lw&X$D>@&BST^G-G@V>H-_k3(ER~I#Caj@Mw4b z&O%B+5^nJ<=VMvR?IrB=3d1PYXt9%%-_;MgxMnugsgM~B( z(1Mn;djhLHhnY|Jb?qTx@7;4dByB0)+l|5Pf!0I1@4lvtc9_^1xjjL@(d7@$y)9Bx zj>FmT$L#~HnN*kdntFp^0DwEmB;s~OwO=W)Rm<0<)4lks?cVIoiyXOq{e>4;CHgS@alw>HW*|18yw4FsLmNc7eJQ30lYOg6E!ffIeD9(8! zK07w3zpffLAc@G!5q3uZCG0GVm+s9*C&^RpeIS9QRYjw0ss6oN873QPXKewK=L<;w z+-lcjgkORxlGCs?RWWh)!(wE%^W!F(nCal(64^a`-F=IZjH)oCc&Lj9r2rTYgSv@0 zkw!3uM^nzgm2JI&NewyAA^b3fqy)+dO4_^}Y1DRGzN`$3lj3*xhio)%Vs80#{=s~_9B{X6bTwUUv~{Pe>Eporz$W27VbC=B=$J;blyjkF_#_>lInst77KHYR zhu2h>k4+${_%>fqldAA|2Kbbv17kCXr!5NYPDn%9g@#UalkZcBK@T-*vB^C&g^?;2Zdo24US+SEXwZ_~BYml$Yvj=_+sAA3P!&+AOy&qG3pMLj9^p{W^Wn%9$6zugc zf@5RR%2#B;9;G)PB-axI);Lq5+8I77?V6x>+n&iRab#Y7eSJys$ERN#2$ph{R$s1v zd}+&Qwzbsw)x#yZk=GrHTpc$Y$3B+Q^vtA2;x?=ZH}gJE2ZYK&xr;axGtVSwo%yu7 zb(K|%=gsQYRSmQpbb`Q{k$E=k-coiEL*=IJ#r2tjZCWdK@vXs4ZlTJ1XCj0D>=*`B zzZ+HbU%qw9Xx0p+-^e1}6cZC;CN^zaRf`qOl8HGtIzlprU-@a|bGSjO*LF`J8^{)w zmAY||)LjdQC+S%|(2#9>)H)|BeZ=Yq`s>xzNY+Uu=nfOcqE_77lE#kb6NT~7-|;K*gUIjdYAUXG-Y`}Bf^XeXrd+Qxl;S^@K(0i97$Q@b+dEK6 zQZMVY#>(310A-$Ol1>MdG%1!8_EIwMxZ{FAVJS8O)n!&!hPDk`S*Pd7Q8XFM8WEZ3 z+bY8}-nOwBW6_CP4$xNl#vw#vOWjkqx>mcd>`h6X+tt**f1Z2;+QtgTGt zl}yJ>^s|fo1yN0Ok4kR?IQ($RrN&39_tlEx-Y9pz%w|9^z<>jfc88{tTmAlF*|i?h zNsO;kS23SF3a=gAp6Eqc%kuI^dJMb_aZ4L?^`;BA5HE^6! zq#{#8xy4No`?FoDWi;xFj*rk`*{UoV@9I~|xS9Xib%!JVI*KJ!!WuZqQ+=xlGnDm&VQJ=Htc9MKw1(N2(mSgtJ) zG^~I2%!Gp-*S*#FPNb2d7GS*P2lBZcI&S{NAyHXCN7+rUk*8?PDcxe5Dwg*V@Epl5 zM&sbPzLm(y7XqS+8w>Wj3!Q!DwYfe7y1CKn7^Lj9W#i{RmQo|R_341rIY%UjE9|a{ z=Y6aHC_4so$CGcfX`WSE5oo*Xva`!&Nz|QY57E*{JX6}7M>7u!Q5aED!F!MHS_o9A53Sd#ls%B2Vh#`F^%~UW@&Rm54e|z|oM)#!LoCL#!P{RK_iR zU7i3scLa6x)%I_a%>52K2b#V`xtg9ce9{0d@}3Zwf*Zp1mXZ z`?KXjRog3vfO0}e$MAgfRepnJ*=X+@00X0Dzh3=m4J6maeNhjx_b!i z*jOOk?nv%SmT>%^58I=zm{_$>@oGXBviy_PNw|5miHgkrl2h*A_V%!Gfg`AF!-Pz- zVw-Hbm60d}C@mCdL^gY*Znyu+ny^Nq>*5LwA0Xh!rNLDqWV6u8HuIl1a68@`` z2DHzuegTV7PZr4g+&*L=>|N*6XK3IJP1fVCcg{>&LL|CEDv9G%ip-Rr z?nPLh>kHfG4;oGcUWk7(%4BS9hqLGEgw+lN^32g^ILX_QuSjYBfQP#^#b+(Qb#|E3 z$~zFm^z>)-VuH?0s)bcT+ECP7`li|#U0Bzrbw~VwMW}0u&C|)|j#p@66koO4tL-zf z+hQ#79r{%@sxE0uYrX>w2+tRQr73z4QteGml8&*Z@H==5{oTb6|d?$p)CczahIApyRRZhsV*q3a*>~-+n{9|2>4!OuFb*0 zp)=rO$1`Y-?ok(MA0_Z;9yU2V-|Q&xdPR`9X7cUGQx{a=wP`J4#Z~k=X4QyNKSYrT zF;UihDkGTH>6{;(CZZc4oJovi)-9ay?DVM-K3Rj|bUVM%QatixP zeE`ZY0>Vn&WvjBvaA7%ZcLg&|mI_3to1K|dBP&|r`Uz0RVXE~Y;vU%!Z5sSMT(bmN z<7-hys+f>yLGTrSB$iKtPYJF9cNN8N)PdD7oPx|DQ0oHNsnGhCsj(eiWeV(L__$qR zU*CspQ+(+K^s0grZ)f}pNxq2K>$YF(#=V(g;d)`GrZZHQ7yOsc-^I|1EM%Zt z_NDKmPcO?op+fHtagvxfZNba@`uh3?xk+38sG>(NOSPN3?C0;jJ}sv(elvsJlV(%> z!4B)5x3L(@VK?j2m@?~t0Q#-BJuN4AZK}fOY=kH6Ipf;v5S3iS_Gb`2ubGxBvh@P? z8ckns;pNhLbe@IthR4gzsLl>#_@(n8+kZ~UAVYHGDoI^?I$dUXknmoarnIbjPw$&W zW!0hFLJb9X5txjv{&GHg=xMbw&IR}gSL_sPSO6!7F#a%b9&P`)7eN;UQLqj>H${Su zox>EA@wWK(SOCRMuz(S0kkoolI&b;g*^~jSh--t$^S=Jg)_%}GEWWs%fH9YvqKRM# zDn7|YeC2g=Q|lzhq{Dd5hmd=XO(t8e4hx0K8bWCs!nWCEBbT**b6cPdDILYsx^X#3 zz7;UajBpsug$T#Hhg(Ds z-*k62f}d~T`62(j&zTR16O{4q-*4TS3nqWDJTCb;>!USh z1#ki|yDlYQtfgR9vYpqm1FToc&JC9O2qVu^>Cd`KiU;8zrsFI-McV!>O5|7ktYAhP{prv9Pyl0nL)@b|^% zq_AQP%k7KMLX7z$&x#C8-aQ**O~gzCYx5xzU%U3t$&Uw8A5G#aQ0=)|10n0Q_;g+F zcsxDIe4;bB4XI*EC=8cHfcLh~q}FTn>d>7r=Bm$Yt0pbbI@-}bP11VI^natEvMOZq z9~O?4U#82hX|1z$kFhDW5gXU2VeFbv8{|$}BG5R7ZVk)Z3_=)lN}~(F?{mm%2P%1O zCiy7mBhhKdRs4=OG!A!q7i;z2mNcbY`S>HpQ;eCgsAlz;c3b8zyY;(+sktqYR^SZf zD~4y8S57Y^%*f7KXmxKMf4*dnWh%ymH+mgaBqTzeW{m$h20q(NiDhLUUNJj*%H;Nh z{kB&gaI^|DnyVE>%ho16(s+9|A9@KIIC$*BTet=Z%@lQyqr>sn=cgP^wVx=14zoNfs?kj=-Q>lv<4v#Jo!y>Ot6xl?i*|iuFHU;uTN+;@qKw4=+1ga~np^s)w zUlx!1R%7m7Ot$X+wMQW&EEjF|(`_tSPki4&`NFLUtX9Z}z9Aw&@C2XJst4M@gFS3+vcG*-I_q8-{ru6+jhq?L|5;WUge$rFQ3(Bt zK+#a(^Qes`h)kSEPi~_UzOK-BRYzI5NDcSn9M8$IPm0GbCHoSBrw0hmO;gdj3FmcK z?t;$VGHYLd@!>iP`w!Xx%Nx?`sS}dp3?V=3qgk@y(0>qv$(oGfucq36L*>?EjyrC% zdtC2(uv!kp2_M<=JMGkgOV@GhDnc1=5n`FHwM0lvCAR$(fpcX%;@GMxS zb=AAiHHF+w&E+GQyfG~y-dV~Fc>LbA9bGt@meVFb85u}6DWh~ z*VoLRH&b3H+<#THi=hjsYeVc6r1_{rMF{TSNq+M=>X%75Lt~zyf)Id#p6uuO|9WSg z_BSw)E`Cvwhh3C99g9a3z#S#C*WZF4B0ttGyXzgg7$Ue{dIpeTBvtHgi=^b6WzluK zK8Fctkwaj~5XLAM+!-4{I1N>Qu;W4HL7h3I?C&~~pY;Lbdv2ZRS68SMP5|c9h?E}y zGr)_jPOSCFx!JQj2507OvxB?_?-fmVCh7Fzb^<#bnoPRRHm)e+m{ga#YG1bc(alMY ziDav;#!pYerJf5)uWLDhu^$D+#K%C0GEpiDOYLbZ1BwoQlkTySQ;RiQbrWbtBif$K zESTC$co8)H0YW-zn_gM#xhLYUA#jiV7HV(eB^9c|1Z{esQ$w8Wowx$4E5Q=;srmsc zx5hi%0S$@}x9Dr2%vPz8@LaT&b9tplX=sK3h*s=iUfCZIW_j+u-+m&y&d|+Ix|oKP zC{spe#p>CVPK+loww{B7L)+8}2=-bcAaatq>X8Su929!|?@qAK8l5bbZ%*I**I)lp z;J_Jd0XTfph-|j;WdVCg&hm5qTjoUxLZhQEc5;dAxRoR+DR}@j)^n;C3Ro!!$YgByC#Blm zk;cG_18>1)!R#R~~(^@69+YY7vmVnfGsa-1QpB|R@&atw!ZWAUE?$ErUF@?_SF z$gr@BWJQxp-B@`p+4b>i6)N-7G!*#fsYVO9VXdL10+P<_^6Gv?UkDQ?CJ|q))-1x; z`aZ|;SH7{(yeX?eiJJBe==gXL^O@qFwd0-fSJLAphMPvq=U)p>%qr@O^NuCZv;6H$ zLR#(0Zva2MdwRwUP|#s2+MdsL=&GQOd8e-@u&JIy!y~?vXF6?Z+uo2H70fF7Jlq|P| ztHtH?c&4g7ud4vb!+HE~C;P$~w8xi5ZcE}c93DG?k3_YXc9(x%aTOH=Hq+pIu!pFV zLkQg7vtqXD@SH*ts$nYt(Ts_7eIbZ5h9&idwO^W!x;4cUw4zv0QsC&#$n4ZUztS0& zZ~nU0f)@a~B}Xu-?%T{MJCiCAUxXZe|9x{Pkn7YT?n~fzqqXdO1hsliY%>r=HQ=-) z&}`Y**x1CtrftC~=x`Ty=T+s77rQTZSK#gbXbS3}?(g6JVQD4YG>`uGx2HaEg(g4s zz{hv%O=#At&8nj|QhZIbx@EPi#puVY@f%)~iF25R7)Cj}eqzJ%e!>64lIi^run+&3 zAzjh88UKu|e>woBtoK_7o`v}HjqCL4q|lBo{I`}( z^aR2w31SU(3TsXjs8-v-iZb|+GlPiw39s)!Fwyr#Q>(Vg#m#W>9$6}6|G7kQq@t{< z*#^W#meNuXURr)l+BCgLLXGNF9_I+*KINIb`ctw18>!Ut_)ERgO>RG3w^wkj@~KpP zty~r|lOek9WTlnAwl0QOqG1vD3rxnCI@y`Bp^ivt;ij}nF+zvG%QE2^W6rrFSz%&{axPVM6N+3PltGDxGj0>*Lt@%!p>gFj7QqgT1e zU2x02{o1XkH8F*Ugg{us%$~`+TQ!oBXt5N|^SW>czY$2V$-%{mfi&XU1*x+BypOB^ z2}=7r1U)|=5enzZ#A)1s^}t;^psk~|ph(xHWG~tTmwF&0qQl<;vr$t244?Vc0Hjk$ z>h9dku6oQ0GU-RMR^$x^w{?F6d14E1^to*C6TP-IqRjiNUWf43T3+*PO&?PysJ(?* zyM@_HAnipLw2}k=|MDGf}QWzz75z>NWQN%zS)CtQJJ(gt~5B);C>gh z-VKw(J%!(U{{bd7em1tC;qI7b#D}nqISTHLNnl^B-wBFjr=Tz4!0yn;pOhHcs+_M~x`a9(+ zsYWu_IB~?5TE}%O1mm2nK>`Fmc-tg;M z%S$i}D!LX-^zG<)p>2{GJ*5-dUe0dQ#Ys8>r7$`d6grDT%oGjz3ryn+f-3Dx>v6|^VVUM?1^8=`wE(4)!jGe(Q0v9qAi7IsEvlHsr_m|gyyO|a{_80&u@wSE%TxM` zuxnYGdJKCJvzL}--_^xjNrzNaQS66@sm`1C_}d_uoDUIM4!yx1KJ}vHIyzyP61=yzy1RX z2T_W01^NXna$T3K;fG^LPFT~TAmK3-yk`{LNZNRHz_C4GwIPhEPR2<^d`q=v(f}vR zrzUtroWU}cieCzXFE!}Q61|F}-+g>GCWr|RuLi1?@=f2OSSllth=u%a98xi;c;UGD z={tMT1rZbpL78+7|77{0&1uzbC^2R$+f)9^mY_~AsBZY>;pQ6!uQ71i$Fr8U>g zrJ}I+E%yEX&p3G2t-^At+R0|V6NC^=SP}3`mx0Y zm|X=`9YT5L?OMe1Qzo!lt|wx)>%>v|s+q|uIimVn7T^Q5R$@qH;5i#_>s#d|W8Ql$ znhuYla)vd%KD$&WS$BVSwV~!-+;d|Oq0k!#J*~C}0s_KlPX%cQv(pLlV6^axKih+K zyZ;0V`{b+JE4)9~>m@Po;4X-#puufrGYIY?>#u?69Lo>k(8n{g;F*5i8svjwo70BI zF-`R&GFMCfQ+-@q1?@C080mz%ih&ugi2jM7=C&4;eab&9jM=@@Uiaz}G#|_(fP2zb)>2*nkobw!hzuh#8cPOZy0j@a`9(om&y=7c z&F(Cx(l~XAqZWY)7ewa@FfbLFqf~ANrxpFxwDU$%eO2N3!MpU~xxKpD>hb%|-rkT6 zVovaw(#NC;WT1_cTX+~Njg2dO(7lS2%2W?a8XV9AJacx4x)i*lyC)`=jEURx6Sq2_HpFLd2QbW zG#*Zck>Mj^8-af5lJWJVZj!NQL$FyegiW&T>40IqxMAIXVxU9&&ggoBP|JtMh$byO&ZciT@EG`<$Lgwg>Bgy;%ZZpZK{O`pT1;JqVY^sRuPACW`8~-dM9r zfKQ!%7XHa{gP2X3!r!E(sv*b|V%D}fA}{&eYAt02bFjj&vZ_h8+d5H#jL^PoHN=YQ z>xB(e%C4jDz|V#+pH#*L2{qq~CK9?xui1%Gh;RTX0h@Z2032Hyf|W|cs*LXV#_h$cGB`C z8n66}qv`j7Z_gK!nN`+4X%oNI){OslUbJd|Ce2I&btBR$WGlp9SghLryN4RL*dWgr zr$6$!wKYssq$9`27={qOH))gK%Hh8smH1W|mSop`Yw2zt@o)htyow8@ z;)NGd&pdi3BaQo&yLgiUHx6hK0X$cI}xTiwlQ)9L~ zIGuw3>?$Y!l9iS-0s12%UAwDHV`J>$Xp$OSOzMo&^mQuD; zY=`_!Ykd|6cBlX3DpQkuw)6pR@Wn2SLK#K+uJjw^G~^PNlA}{mdvAPoolSm_gZiFqCJIRj7o_^-4TZ;{$ z`RO}E`={VB@srdqzD+MVUGn2y^K(*#U;paTI(LkZlzv^hkm}e?^uaz-@EH_jn}K;bb)O z)vZ3@dEZCCpsY#Gvd*v}rAmrz-mv?WMg}{4AkM`NF#E4^3NG>Ta1$m+Fu?<37t`PB zstnl8*>ng6B3Iz$7?<{v$~zlDHh_%I{JvN`x{yfyUQmzI(6!`Yckc=&45&Ou4N&cJ z$YINNypYQ01w2Tt{Fil01HJZcqoNbUPLf#^|A7eI;V4xPG`C&6TEvESqy;ND=lJ}O zJA%H!!g<8*h27=mv1zMm*z#FZcAW(cytC$<+ojtRfWZg6bp^hzSFVn> zO3qKA*jKES{y(a|!msJJ4|n>Yf`lm2siZJKI!1^nNDKs|L+Ki$TMUpciH!!OCLN{O;@i-ru^e3&X5y;#wPCMT}fN|8g|@sKY6!U0Jf zqoNTl*nTZR%|wD+I8KJJ;z7Y{)aAQTWg^uszRBvMg-Uc&i|$cY5gk=wWK>Is+)S!~ z!bZei9&=6@(3q4OzaCqF!gqc`1`;}+sKUqJZDO^J`LT6T7O5Y3wThUdX=zzMJTPt;fdf{1cU>4hI-SVYTH@CGt;w%}cBf z-@sm~=y1GuqUqCrS0dTILhn)(7k-6&lxlj2@wY5`t0}nch5Ris4MG;tzrSbK@AxGV z)~`!R=?=f$Q$ry2rg;p%ky-M1h*I2Ot(Rz7X#**{uDwq z$%Uw7$X7gK?xG1H{sdi-b}pxwb_r?-&d_ozVywKPvy?PrbAO_AgvPFNKV;bg9m_6Q z<*Y`^H2$xMf{I5x-j=LCr9PwsL$i#lk#H4Cw}V!4V1Y|bL@D+$z5FPl=5)* z-uYBK@6YKauF;PSM0RBP6c^-qaEo|dlO!gk`HHFkrh^)lhLt_OX0I(O25ss>HYfut9c~ifNxuqD*Tz+bORDP5EBH}Wt|5!dbH{~Z4DZ}thN_} z?2`qLIzPK%3T#*Y8=&0cZIJIK-{8axH+Bu?q!b1&nI3?1yZ)0GEPMXp??I?=%=b_~ zPK9A9S0T>T{MWnu??y=h$X@1kMLIelO$G;6z{Rfq`80d;a@VSxa9Lr&;AstW26qH7 zOhmr-p6d+w z?aOlZ9qVR2hWwBpYpY4 z3*>hbj_1cz<`*8v>l@~Lw@u=Ms@^?U7!eTaa-usd=|QNwVjf_jUv+w4pU2hUq4CoK zJUgQ=6l%P8=aA4TLcL3M#BJ2Isvt@uqK1tP&vehH-;sh-O?#AO-KW(bRL9L#;ui2G z)KaQsF4Ymo6wWaP)BW<_bS7qtA8@LEuR#WT0pUDh2Z!ib=8`GzX^q`TpoNhws>+G! zIV1_nTgBEfJ{Bp-nWiQlr1NU*<^*F3BF{DyBp~yIkB3!5ZCpfTytu>?K1AK@0o zRv}?NL*s^mEXRx;90ERz3XJP9H7@FX)tE>N_~lHh-LMFsPF=vd6i!rqh7lI-O6}zS z+F86I@6j_ER_g9u-DVk@L1VDT7~N?w-00#jSVdG` z5oYZn*e7v4uP7XlVq{mG^r9Y`G|j^dFRjRIuJOQu>|7`K1MLnhLM%BuCl=$ZKfk4G;(q#eAxe54tt<&h+x7p_a>LDqKs`dS4#k zfAnsi+zO?5QdO(QlU)ZO6|*(A0XK$(L;|X&Qkmw4+=72>`?}UoMHQ_VM)p`z48%u1 z=7<*;Pm;{rtl4O&v^N#mXZ}}KXA8;5U$w3GT-hgQ0P0PY*P!a?E%x0Ot|wZxz_sH2 zUSCD@z&y6LVV10;Z;MJ5*jDGNH#{io71;rco_F zVk)!00r2^rpA6l$VLlh0?(13aAZ>O0eIEE2=@&*$0KRMP0fM3jl6s0+&-qnkTBZGwjpOLrc8dMM_ zt{5JoG(eG>G*FaOP4X&~nB_xb%K4n|um zSWINMJ1B6_FJqnarB#BvvRFDzF4QvDL+i$k+t0Y&$W2yieHFfE1i3Z{q%tJ@9u^%Q zI4~9Z3t9VYp1;|NS3kSA6qVLQH4wyt^BDq`mXP~2GJDvX6G3>2+1PqbR?@1*zoXw% zZ+;~%yb~$hA7%1hA~n{=$1CP8y01m+729|rj+nh)^Q@0i`uV@|GDRgF6Ow{ahL^)h zDltaOuaBf9Xk-k65pPoO9%EYhq8CB!13D1vm>C7K>CFl$^TFW6|H7`io3%Iy9?5JK zo$$14*DKM&RK~9*d^q0NpSiBY8Tw~=E5feqBkA?q)=U%uYWS&72L`4VNQ#E9Zxv_ zb-H4GJ2p%bGOnXy^Skf|j!lBbTS3Rq#+bVD#h(mYF}-En3nE68XdFn?neBT?FOz9^;}_pqLL`buebw{w2mCF&+8Vp6qs}}!$d8Ns z7`R8e0W_B0up$pUT!(ItXVFUie!0P|q|E8DCsutBiF-y8QA(L!?K2!(ca5y!FeG?Z zjSp^8?{g90zn%rl?_&&{LTS`3=Gq8hB!vQ(Nt?M&uRI_fP0U7bdN3u{Pa^0 z8&&;n6NWZlW-D-AOJ0yA<3|Sj63GU8*5;n}bPPtJiab+*>OBVMThyqQvV(nh4d0(sO3Q~p+UCVSdLv^b{`G#qsE+BDRE>hUHj1%`f+zdFM_U# zu_3TxJDPHx#F3_400Z!5iOToeWj^n4&7@lSDJ8eI#fb-bC)SyT=4Ob8Q(ZZ3xV?T> zSU^CqgJvDNbbEm{OI>g6wO_;yQ+%o_5PCr;;9Wd9aFhhru=cX0u+yinDMw9DJE^Fi zhBH32=*TVEAwarh;xjW6hlt0;Z>5>}dmHs~o|Nq682mC^h43$E%;goqjr7%?xC+18 zZYr+BRa3BsF(lC~ibwg4?xuR8nBBr3YNpIbIrSJhObh&2OHs#7ZiCSMrTTn&PZgm4 zUBd~zK8vMW8{pa)Zq>~alB!yj=okh)+pm$udtC&D!jkvrqx;5fhRi~!SLiCXZlW|I zdY70-smjK`!e{DK^cGzy(f12tlWwX-_b4U*r;KlPWYWs0m>hg)8XWqayaF~wi6gq- zbgii@JVujNHU8y+MG=uzvWcsbfE;t5d55UYT(;A9BF2Y$l%65JY+g33O`PFYMUu-Q zl^{w%42_R_Ic7gQ*W?wW}_m~Ii~d0G=VQx>}#owlAzbBoFXY5?y(tnlyu*S zG{ZX3AsJ~AV^szk?|X8z%DXCr8W6*&;XjxhsX*%iDnA^=y!g!KEv5FklC(Mxb?O$P9p{wx$2|WZfW_NnmmGas|Wjmf+A3LzMjj0ysT9sx<21r1vrb9QT4j?pc2t zn)8Pz_47w=(8apPuS(%6g&qVsJTi8QI~4M)7Af?iB9pc~V!t!ZVreRW3t^lQSRTNCK()83(DGEPWP_Uq1@o zZ~7awjq?eZt@yaaKIF?OZ&-A_@s@$&t@=Smznhg}G1A^f9^Qc|n6!*&?NKL;dVGg6 z^C#N1yKeC&umnwxt-gKaH~v?6j+j@)pFJ4EI+X0m1G%QGivU)i3|wC(pSD$;E^?%inS{`M$;bA8Lp< zS~qUThQ~5Kw+AX@kvi57ZSuN!hdsc8?@OgZq;*Z}|7Q@vwm~gg83${moP1Ab;FQ6I z32)R%p`sHf8e;d*x^d?T7l09jj+!j{QF1YUl*v>1=z$3oJY>KjN-H@|B>AkMP&hqm zJD`ZB-WonN!K#*^-n~|&vD0}r!0HA^I+##O+ZsUr@zn;GN}j>Belh$*H!`#qZ^@z% z^7^igSI?ad=5@nbsMK;*59?PSv=G;j^;e<1EnXKqj;=UWUv+Z;Bu!)DG@0|Ttk=&c zW_Ct~rXp=?RPv&5K77BM?xzZ$7alV$_{82&y;sx}WhUsqsuA&fE;KE_ z==mcwcUXATEYs%v#U~dd!~~{>UI1Q65OXOQ+!J<|7IO9Wc($J$Ui+9>oF~U*gTN09w{-b<4HGwA zrgTDFdsPkD<1@9#ZZcu2d&~HWrR(05EA0Yf4yU-h(z_G2#^R-!cb;#tZSiHK`tG47 zLq+vgYthBIrMyMTm1jzaKs82%*MCf5IO8_Xp%^1gOB}mmD)cU{su2=YEG8I+^O*~d zq~l|_h?aX{`=zE%(uCdE`o@jhOkH(`{kO;;_lGKQjYj2BH7O?DO=+~0it~y%_08EH ze@@}=^YGv15Gf0>v~Z?9sOv%C8=p5@la~&R;85~F*<2f*jCD1G(c_Y9gRK9!R#&M; zbRjKcoL$Wx}r+#yN4eKX5((h-ekUc?Xkj|_84&gG*Y7J zsmYI3uA$7co5wIoj|DylE)luomFPBW6kj!z-Q-EKrTK+rvuaN@in+itMm1c~*lm>> z8*27=Jsy_WS3bGeRJ^wgH`WYfo&ETgBh8WN!}=@QaheROCk6bcJ$I&PoGh05t>1mJ zirT*je-r~+*87hFjz*<@bndtH@lW)b;f`MpKi%xE-F=z-JzfK&RdM5v(z9bib?8Gi zc!qE%%fO!;P<0S{On)1>*ne_@**RUsD*)eU8n{c2ME>{7DTg&{XnT8_IQGfh`|j(8 zbdXo~3KT>MF?`suRxc@G8TGYAc409>j4zcZs99DgTgtS$<(JK36;9Y@)qWNe<+8LQ z)z~iD@vko%sjBp7AIKzR@ThnKAyaYYq@$LVMTf&k<`(dh5HV6#jqxP3C8ST!bf!%V z0zdqAe8Q;RKk722^99BKe0vJe97|RZfPu%+T_QE+%5y;W^dmu`-zA zq8KBCish!266uMmkUH5~Mg?WLhjsbPli`{7`$4E%*0>sa=W5;N=)VxIwLK2VN$v7BRVehMPg6d+v=GHtIFOSeuo$8nOG3CS+ zSJu8{xQ?u9fzADF@&n-(T@3J75?>?`PHWjWZ{EE1dHmTv+tR54>#WjU3W|2TrXP;& z_x$|~jB$66PLMc``;d){z6K{>aJz#z$~pe>1!FB~9`imlsPV~@#clQ*cZ_e8-&nam zn5m$s5nz}z3EJ5KzcIC^D6?jNe?UNjYx$u{yy zOsgN@E2Eeauv?o@pAi6|2L%kRtJWS34tj0HGH7hXJbCv3aubUnsT%$ck30JV#ML-i zR92VAjL|n%eOnH$-u@zI^9;2O)1{v}<>FL`xQhHjAj?cTKippig(&vcld{BYcE4iCsZAp1&j@l{82mY9rZ{msJPO`C9yHifL znEtr=limwwfc>kY#BWzb)KT5-yEuxpNv}ky4`WsvCuUt1;^V(bHBQb|_nKsb??+8} z=h+&$^)kDZm1a|u53~)kRLw-WVMU{72+4#NU0kT&YDaXcf%cn^ z%S{((^o&#hSH*J3qU%i6blR(xZXENs93~!DCfVUqVI@KOLw>bdh{!DOaYdzQb%(jq z=44BD#_zOkd;E2l>=6tUZ%kE*x zMBCIf`<*f2m6#{@5k%hCusXf+RDW0l?b8>}2*^!yPjF_*^mSMfkdOe~#B*ij4jcU* zy6a`*vzn!yhRZZ`lB0`?sh^TSa7hyQOQuGHOPLe!1&X)5W4tSDrYjt&VSzNsCf>fE8eTmhZr8wwQF}5$ z*Z)N416}R=d#PviIx*!$0Zwo3Wk{!Rw^m^4Hzj1OK7_yn`cUe%>@tZUX_qONmd&wSDC1YJS&Ej3 z&~M-Dm-l&rbfn9-BGk=d?ho{f#tTp9xB*KT7BEa$i~G)=)yxJN^(MZHe*JE}%+zlt zy1Xd7HKRE>pZWju*)nisYb5P?ya;2-Z)8V|j_T&~FREli6fQH8xebm?Enj~)vZ@H+ zmblZYkxt7oW4qlG3>?v8cidJMOMvzcpm*K-19#CIF~(|^y%hbO_7EI0wI_$)rBPL= zJ&5v~C;PsrnMhrc!1PY9orawYdfr7B+W+m1cJkH=Y3+E0D>lU7dVPLBRVJM8K^^b! zptKyE*CtQutB~@bcxP$V;lcI1Kqe8nk?<^L_@jb6_Tcv z8V=kZaPY&7#kQ9?kN-D>Vvw^-souW!DQ@o#aSwa36)gTpv@u4jjrP@+dpZ>S+x*6D z5^`FupKRe`=G+`|o@wu;rj94sYh-J^Fj4rShYB-1P6IxBPaMS&I+zsTD#W>(3*^is zF@vbS=5rc*C#ci~{Ifor(moWu%#WqF&O0;eHeeXC2~MIgG27e!5c35Jeysb37#D{~ z4^R`&H?%k9h>i|XVSXn8W2%3xuP0XuP9ndPN~-?&tbGAfsYlgNKaJihn3(i3(8gLJXQZZRoNzQSn8od7`_+sdP^lzAdzJRVDr0=r z`ix|6O~&U3qkDbbjJ4hOIVKwn--;k5FWQ(nurKrt3Z@^`k4qv*+%O74KXIZ?I&jb! zt?ZzLtFF;Ewi!ul*o37yC#gpk#RFyOf)n|UmUZV2T6q$!PR)Cp7JywX(2Vf|mHL;z z|DA?(ng8LS4=5ccB_t1T{2DOiDO{axv*xU2F7`h@= zi&Z1}SHmC|^KG2YOfBg<>x=5=u@dHooM|Q%lc!P=DvT`)<;(5pOji+!{gA@~(~4eu zGGFtF#$4VSr;*K=Y~eA|svIhxvDmTKE%D&MO;E&eqZf)l`zuBJ{VM4Q@OGFl4OEWF ztz(OCCGhN7g$~poBSgeVZAAI53gk!Rrl#SWPr%;=w;RWjxD2BNdMBo6@^HCmed{;R z{slDA7v>aG?S2eIQG?KF&Acz-``Qc2Prsd03%h*+Zs z4f_e+kl;h-dYX4LI)0YGsy*TfW*LQO8b>`7(B#r_Qq}_ruDEq>N@SP!6MMLkUJus^ zhxd%0iSO$Lv97!mI^Uqt+9+(PBpyqi-RJ*4=iRn4wUc_~sZn*_l30#IluFh3;{BSR zPI_Km30mfAYDtIjip2R9_7YalArRm z7JB(9oNJ`=6`sjtAtv7b2T>Z)n;-Ti0||X_d}M+z7x_ws%CzVl__(l`ZALN|HeqSc z@x2|LMND>6wbuBY*C{gV%g-aFsjp9;@}$o4lWAK^H^(HQZ(m%eNM|^zlvU_E0K^DLwb+(O%^}eN` zhvgMbzs0p&%Xd|@jVWhPLY<|I&r1^;g}T?Km@wfsqp$lW(p+0}*)vidIlNXS+<+w( zu$?B^P&dPBq+_ZtPK(ZG7DHnK#K`IjURqgh-$f4>o@5h(Ym<*-2S_B|=mSN=@ps{(MBzKIkUuY=$M(~3r~ zzX2W%cN+S8B~YIfl>9r%1OCCYx(IaCm8jK1+$JB3&&%>z(?U^CY{q-Zi){1RzOIbN zz%r#=w%dztL{4Hx2&M#z?!j`EbA~?Z=HuV zb`;C`m6P=3Yv*Lw^s*sy1xoF%s^ewF;ueX6wKgxelZ^H1$7fn8;`wlW^}XYaJO?nS zCx56jEuAoRpWjKeKe!fjdXpnfuZKO?)jdL5C7%u@J7FZAov-+h1uaOEn%})GA zb-L#fdwgLxQQ8d;D*V$F8{~=NjsQGo(5*rqQ;j6?5Y4?w-Er&6w!$ue;~S zp0I4CBp^^G`3u=ami%yPeo;^bcVn}Su1Cw*9o+%Kw*Kp3JAAI!@k0#0z&+-e^*`Or zZue9u2{ET)*dTN2eoD@FwFnani0&}b8&%EnxmgWptH(hjNroeqeFToL)_p<5{5Yj= z+^aTF#MNFmw9Q~-TW`@V85*b@eJ?9%osCePY{)|o%A-QN($ z{K7hx_KuGdsFUkaNJ~oBt2Uu5?Z2U4b}ulxxxRn`Yy>Xt>3^0uUngT_TLPqL4HMlq z@tcPD>9h)FZ3K90V!>v|9fuU8-P~`g68mEr!~Z0HbNV`+B=2IzxQ;x14{S|b$6c89 zS;%~@R(L%|CYLh&B|2nzRAn7`#=Vze-#f%`1z6HiDK!13(=$56KCRGx=XblEsXAk_ z)aZ8EqFGE*!HMwE`0=UcQrX)AX>XRdF#UqVFRb||f_qxu##mxT@pADaDw^sGLoZ%< zQ=F>xj%}QKYwcY)m$qa*i4pXrK&=D`#r(tcHI1pY5MMI@L;Lk*N}Z$h0_5p8VxKLI z*i=-2@1#E8eQr3p)cbB{-qo6bKjhY-PuMzj){<3Lwb@x7TJyI|fEPY3f#QD*O_}9( zkcV@KuX>KLv}zyhPWfDT|LDbfT#UEA`G`DLkl(m>@btgX*&U z3h?p@fc{{kd@!ifffCKCSXAZ|SsiK?doNu6U>yAP(Q5E^g(IusiuA!1AhmJSr?T5CSD#t85x`iMspW#n1w1Ga$}F4ZGNCJKt(SLe>n44+68PkUR6-V`$wys`(hO|>3LwJ0y1mZ~ z-jT03{x&c!Gy%Azy#nxlFjJph@oQm1S@u3tXhpfb{qy!5vAmRpnfUX;efjMVCQ>ai zKl$4vMh>_6agEj!Ndl(5L%-K&N{>$Ef<~;@^Ns^#loM)-pY}UBvLw84^$S(hl=O8E zg8G)UEVq<;BVrb7i#KLMHC9y*^Ac z<%60JEb_SlF=)-8mH;NK?MwC>{GTw9GCR#j{F?gLX9?df-u>_vOEAKV7gbD%`m5~h zYl?uAH&!4)VeB@`TOBg)X`ROb^2Ug=r7lV0k0)~XVH@2l#C_fcqe0EDQtOw2hWupBk^iO z^bs_{GWu)Hg)AqS5b3oD%vwEb4p}SNSSKS?`YN5sMyMQ6ys|7 zV9ja0B3b1SXClMMR8cmzZu7@0KYfNLo!T8H4M1aFV*$+Qb*$cZaM&Q{WCslK-7r#z zF2ZD$F{eMLB4h~@tQHRdr_*=k9L*4UA)c+@jl#$ZRBwPfkLn4_Z_buuL_9MH+EvgZC=g{f%FHjDJyc z+xR?(b1QA!M}8~B3rvLQKi`>e%zb1ts?|Ngz=UPH*w?T0KGn*Jz^x`$ru=QT*N ztS%EHEZmJT;aj)w)2N%o6qoc?k<4El#Wt&n4j61VP=i6d>_D%}z$mpmrk$2dMaIss zYl%}3#V>U$MWK}g7E&pTE`y8CB`UgfCalZ#;Bg63(ub)b2;c&Zpc3D0rc+nYn6b~b z-|3L5g-sll*;IfgH}$SMms>wSPCMwUyH9PMrWKgdWe<@XzZ>Ty0$aI0V=i|Vm<%Xd z^mMDYb^0JNaww=@;#M}$gs9iXcYU_6Rtj44;QBnwZysQrbMJwTQ|IT23cqG~1WG1g zLauE03V`xBot951m~{r5pCdgNRV3j^)|kqtP|JsXPUl6<2hAXm?8Fs-3cq<-j2Sd) zDz_T#LJ0MnE&4rOXHu%J5ax}0>JmRdl%C_YJa|uYcU9Q8LB4AiJer~6FV73FZ)5^C zYZej|)xIYVl2>v!mtO0-U{RPT(u39V4jNamtm5SqHAAKl-MvkTJTj<$6>W zH_|%`D?^=Tmi3R+m+hDe{;W8+q-uML?gHz4fs5yr$l_hAK>s;v!wh_Sku#PbJ*<~{@3V#E2fdNDEOBiD z?!A|pMy>KfS>#3l_rh|4H!l*-_1Qetv|v-a`Ji7C&hYcpu%tT4rGNGADP&6urMW0Q zh8Rm&Z@s^#M(?X=*CAM4meFEU_VLH%ddn4H@9n%>fO^J7A#6{=pIw0ES&QNxRnlC5 z>~eLnDLodbd@J9P`4&fB3B7TZ$)R9QY<~Mjh)ittKkxE&9P-6WMG#x%qHmV_Kdl@ip+*KG z5Lw0~Ik-1jUaVl=hV}3DzKZuHBc(PQeB@zS6Z+CZmxlaT0P91M%icp%e`k%c@j}*P z2IqN^aavRv%Is~F=SeRgSj@7d*!lU>CjLsy{B#j}Z(6Mg)Vs`C4ZE00#d{`~^ygf9 z`bkDpbHL?qCyS3mDVO=BS)s8>h*Lhq^173c z!H?fKm`P#sncrO3}u=d%Kx@x^{wTT}80mkTYaqv&-%sa4wmCJmRfpPcWz&->CE zKHU5$KyLlpqWZq3dQWy>wvrX{<>Xjg>lP_~P$eWQANA)043)HLs_Ljj4z;7coh%$V zr#&3Vf#^?rbQ^c>*fxScH}rpdXXMl$?^laxZszM9RJP;u;0j`m=Q`)R=YD4VY0}+* zwb@UWMb8>Bbjb*kPGS}8`166rrfTG7-x`zt@9Ittk8vJkpWZa3>nGH}wPu8cJuHPJI3`=74N+FVOnLp-8b7u0KmQGFYBQ!ElR~LCytW-1sv|@C{U^d>?_A9rn zJW zoyrs6UB3KWY%0mHq!o-q_SjK!S9@9nZe((UoWnvg^=3@KUg$BIf=ue(bZRj=fkSNFn@>(V2-K7=0 zH8ziF6VpoB?(AC-Ix}LuH!5|Zt8y#;&PX1)1zAb(~}p4~&5dD<@7tU&43;%bpN~nL}OY@}ibwC)+k5CFpsVH||NQ z6WJb`{OlIU#@wx787W@^<3pr|uSJl)Dmr=7OA^YHyqw1r*T4;zF$gX-_0{ayWxr23 z038Twvss*vs+jd8$SOpImQUxIhkI1UC|#EXjcPUPMO7lp@e+03v5x1zSkKrqIuC3U zS}Jz}WPbDB7A_SE8|q>&KnSdgd~XeCKQV;}(982}G|+qa)pnX}P-#t8k4B~mB-AMUOl8gdx~AT0{DgJK*fyGET$dsh|(^fmhqcAM3gVms0!#X5|&N~65* zbgru>*jsJ6i==Hv9M#78H*0F1#t$NXwK)ZL~ zfY+e#?m^{|HQ(Z?Sy{(ON{ix%0w=%8L1lUMZ}gw;$Eef=`OTKb!@Vu1Q_ZjX19RsT z$FxZ!AI!wOm&%&GhaxBUz}!b!)xM7%?obbBM(Jzj3V)7RRFZh}llU<( z319*Njl~Xo+G-!Yf4e06=1@u{_P#rMRgK3(M_Y0e+1I8c<79Q8))2$gesmT%sL1N& z8moY9)@b^0cPV0FORE8R1<2!6Y$7xqA6@|(%UaJv|3I>IS1ogM{22sRm7cMH1QXA5 z32#Nk5_)vr)?H>U)MZkA%XctJiOf!z=cf-Im@dMbkKy~Qs!z>gOAr2dEY-`u*ppns z=1C*qtttojz^wa4PJvKtLTa^3f}xK`jz@CPjNBsU6=18S^y9>b zva*YjfT(X*09V8%mF(yDe&+$pYyFmcaw9dB2bflHMP0gM1zASb)a6>a>CPd&d2EgB zH0zRdGZPoxE{ntzN#VT{ihWoax*vP0Q+ytZe)}ewrtmO`D|!t}YR|x6bT7KrY#_$F zAZBCpRG{WV4q~e}3BJdXLtr3un0Yb9Z(ac&XXbyrgnZ-FpAgIN$ZACe##lF8{k2Kly4(JS!?`>CJm(M$uT%0&#)IP1u z8{R6jtI}3is20q1%n(z7KHEs!TC3bS^ve=3Tm5E|5B2t^Ey8+i$&Z$moWDi%A_R2=YgZ)D0CeYOKzM8thf{96IM<5ni(1u* zRpAG#jDQNq=teCIy12yTcQXI7&6-@t{5~^5Ve?V6oc4_#jXAkaqVJ5h|DCrsWD!Zl zc#~%iCpgADDgT8xW4PVvY^ye5)g>;zY*&6)3RiXav~Mg#1ev?5r>yRJ_98}j(M_Cp zq;$aD0JB(5^wQ}?m+j2?P#wFQeOR_f>8?j2Kjs~Ic$zo>0d$My2wweF>>viH8z+qq z#NBImvM*Gg8sT^EmH$x=cV!j&^maT)*oiJ4+%p*yNS?x&3HhC;=Fx}23`KU&tsW4i z6(9HL=!f-dy9L2A0Q@Qlm8h_YAD=!2*<5S6YEFex5WW?F)PR!H5>(U7#vxR*YDwMs zy$LxkYhA~t;Ixv<8+X)nC!xrHUmbC1?sbo;t%8QlH%@fvl-E!~tTs-4TaL21dxl+UakMI*`YhDS5)EUi9u4~UdNW*QW2{OD8@5q0lc z%1B_U%5yhC(bO3PBg}MM&R-61{ku0j%E0Np>z<1BJq&u|^@ahWgYH%5?XS zAaFmJn{%yh>PatNF3)d10PL2Mh39tCX5x&Fb>T8g*2$AbjBZ!01sbqqvhp|5qpzs% zb@FrWL;I^rLil7hdHFETt z#%K?U5Ont>-Dj&%bWd(U_$X}lnCM1+`(gU4JLP^xr+$tZ1FGBMk7humujGoAYlYR z^h%y#N`+p0&kspOKHs(skaPGG$S~`Bsq=DYHw81Rw}Sw}K!jBRH$+?e6>%j3l2S1F z+K?fGd3P-@ne$2u@jFL?ira211?!ITcVmn>k_h#z7}(Iw4dpQERse| zKw3M&!+qid*Nh^-Q&yW7NtU6q&Z~(J-46G0Lh2B_N|^WT5Ksf+Bup@hJslIfi06)E z+pMu!l3QYE{_Wbk(_))Kmc1+R=0GfPG3sEh-&0>@sO2l`+_Kf8$MkF?r%Jmti~(Y* zafG8Zeps!gV94Z=YG~ZhMEg*L$+nypv_nAVu*s7Qpxfc9yQ7%Ay55uck<0nUj;g}E z=g~Af8vGSMEADE6+0F8?%@5d%!(N>Ag)j(+43s5 zWs6o-$xFYH5f8Av!p6&xgGos)r(p32NXQI?ZaTfR5WS<6>T}$118d8g@cQZ`(vr5} zr<(Vgw_~9c`TobHHw;JFMtBWqz#1C05iw)%P0mfUbZ;X(Z8*yyx`y=V_FNmLGGM>T z)GXZz`^6z;)806q+oks+(#7o)tv*=qTR&?*^~C6-&g!~g2j6)7CVT{&7u(yW8uu@c zOY#f*;rj}))kA=t_@;pWJh*&JBAmWo;tGDtva~1pi^ZqDe@Y)co-~y>C*k2U2BO zEP~?~yhBsqP@OT^hmFC4si(U@?kt_1`9qHJg9d-D#QRS8^tV7#tZ+!!g-P8zK28M> zBwJLXZlokDHa=-F=0*SDLb0Hoqz@^=X^Z0G`%g`sKh&WOtTbDNDvUlI3qQfU(U6qW zpU-CSd*dCFj(&eu_kr=xlx;_qGAfkh?2AOoS~{;y^4wLqN0wAvMIJf?ec71ig-4ZrqvZmt-GIuw2N0{F(4L zbe`R7NOuI_O)+V5s_xczB!EZLN>1KIK}i1H1CrkG-n3*& zj<*=$QSqpbr$sat0)rB+~*f zv@Q580ZK5JhZcL1+s&@kM0k5L+2HmCi=6uRcbW9O7jaxvuYB$n@iT`dsJ7F}N&HFD zjArkB&q3X%VeVJ?Q6 zgLHD+L|?EN;3pSFLyXx1V*jfTF`BJL;`08>+zq-|BJYNRa4qJswpM z`C*N?Y5NF-1D1E5 zQiF03$4mU$aP@xAV@N-UF=M;Gy7dbjfMf}Xr=JU3%$-|Q%BV2t@UuF3^h!~^B#F`c zNx~STS&{Z30qyJF&U@9zs`z;BQjv6bs8;#!(B5FZv|M3>I;Bfo3+6L=yJC?qIeTC4N+*SUU+Q4IJm_k@A?&ZnM|pwUL}`1o9jcU1r?9)K zA}%!t0Q8UNs=qIfuyszqHQDa#5xo^I08Le0ll0iM{5Q^N=tkjOI#Xx!L?ZxDy2GhE zP5AptL*EIx*atasx!u;buAgZnwYg5`K5u?yo=AQieYHQCh&I)hR%*(Y z&Cu1qCDfE@!@E(N$Tg%4#V=a`izyk(%oX75y1)Nn+bGYk8_Ftqsg)saT|HEE?wq*o ztnAoN|Mz&KcjD<6+ABtWM3_i4O{VqBN^q`c-s|Y;uP)(0$`y$9VC@4Vq@ZSV^mg|x zf?$*_gYTE&7xmA~f}l!a&UIJk_DdM)nMFHhPO;`g*uh|Rb{En`>P{b&VFZAj%bOlC z?jEhiqwSXH`D-=s?IPfejq6tP?!q>WoggThfBnD?cQwS5=pL9IA3Xoy`?2=5PA@k( zwxlIL|Aa4X=~UG7bIES^6Z=cwPBj5s<;j#7){ue1DBw!+>?l@h{K{>9_(sp|J|-Ne z8p-E(Eaj{5n2u4`KZcD4H#0*L#yk@1hI-!3kkrM$N6$tkH(om>ehv@kHYw29n)q^@ zMx=pnpXL!$^u@6dYnRsFqci^cY>OWrKjg7{`M2gA*wBhDApvine#K?qwCsI?FgMPan5|dOotCB+P9!AkN(FPA|6FOxw4`=+MNkc@xrPPF zpX21$S(J=47KW_4u*ot2GSO?ujKaz~?;#&)(i&6_bnYT=pec;{+y(e*)8wI)j!E61 z_)M`|41_6I?Q_~U0vl`8_g2-=l-r4~Z+RXqHKjMstbc#gY@`CH!TbHuLjL?pQ&T3Y znqYfXQ8JqU2XZyD?8k+E7fo{GbW$4gqMO_ORevq(Vsm(9J&Gqe+0R&XFjCy^S1BRS z#F4v1Dpa$59{et1HvQ&yk26hyX((8N2s9!dGYLa<7>xh|1&3Fy5=Lsxvu73pc_Dzj z!&rtNwtPuhLCjaRvv6$tMx5!%!=BJuXQu;0}9>jV-$_AX&*a6+dflaBz) ze~vkR)y;*O{Z&SMGrem#O_JsxJeHrW6mZ&nRNsmvQ1pb}n+x+&G1=ehNeKsoh{&mc z)Zuz0??KAIih({8Rpa^<)Md+xqcfxfL_?KK5-nkf=W&YQ$@PH^RKWB(b#Phf9W_~2 zbwtSb52`0{MTS1glOU`N-2}tVP%qs2Bfd8UtPR=DPcW1}*54nQ2VR$!*LuEqx4ONr zJzDgSDppuAs{5XGe|1X}^Jceuu^y-9xV{ESqV=-VQfx$6rK1GUfNh#+w#Y{lre8_r z?EVbSHQ~~}e3gGzU#nNI@UQ>1Tf&KRrA7*+cnTQ-|O^TN;3)vqHabI26;xL(Tfg-k;L%jM+N$@d2ij&IrZ0&P<+GD2A-|VNx@jA9}74 zA+C???hFLDecNB|%-yJmAOyoMKX&PMTV7F#!b4t}UHG-F2~q;Idpgs$=`(x>i;Nxh zUPDmdBUivMRt17~IMv(u}BV^t!xVNHqP6Xp&Q;4K}BOF^Ib+|M~)7II%sN+4OS_%Xc zcU`zR0Gh?3`^SafP>X%{)qqq@=3dwl%mH7MW5ujF*4CvO_0~5n-%iCZaOee?YG0vi!q|wc^)Btj@z2Lb(hH_t z#{rF?ska&kjult9r_*u85F*c%Ud3&lpTWJ(d)e~Vy#1_l+Pim>{_SBqL3}~a842Jb zi-RYtdShnVPRD&j^Jf^8r4=Kn07TXYxv*cu%WnaRW1Hvtujesg#cx6Ud5GmSW*Aw1 z*~cU4%r88ru8LZ=yoy=?i{ExmA#|@zuh$Qf82VkoomzEpCHNz*Nt9xr4+^cqleeujuVoq_J54Ibd2aN31$PN{nQF}9`bd+{=Vp43b6qUr+ZAE`-2G>W!W z`MBn$Tb+RxDf|#CW7SlsJ0bHYzj?i+EGhtNYqF%6TH_^Gf*p)6(A2UhIWq_P3P&pO+hBQt4nsz`w8)BeJ)T)}Vd>-c5si#I0mbzgk7I$~z0 z`ex_&La(Zq>Gk!|xAb&RNQv>eyqP`L`wCM6>O6jyeFeqJs@8h07nLJK=?A{%7e^}@ zN9PeYS!~0re^Kgllh&Lfq=~Kr^#-#(pkiaD0 ztTeqfM0s-Hv80*ZQVNauz%|QbJigZr)Wk`gz{twYMTyLPo0_E!(60Q2M^8{>L=TP8 zTAaZ@jIPsNRc5520Igr2uWG6j3p2)2D{*3JzACRLD3pl;^OsvA^&CdE`^VET>J$kVJz;nqINg_6*CMR-)g?-`NhSB9mm+r{Av$#i!E?^MEi!u!CK0{ zpRJK)u>4+pK%S*!X>{%s8qmq@x7^k&HH7qb$$8Dn3D&FletESTwDt#|j^$ncFtFaP zbID+1ke#_&N(O2q=$hwIYKv0SQ}zBy`0adb);(VA+l9%nmZ zUIqnY?Kd^c-?7jj#awW@l{YTM3&?wD(s$5$1a8Pzf?NVyr-#<5$!FF|vayzVN993^ zEQN{ZjlqAi)HrA;y-_YsIA)r`NHRY|x>dJykqgdslnp%&e}_nR%9eHqwx51(g#_3% zFtiyi?`$5Cl^O{3CzKmVxE3^TUf>{D@(vLZ;Kb*4hp(Z{?THFnDFjQd2Yu`~{gnR| zDim5dRQWto#7=Ado6w{*!;>i=Wlihnt?TA$ul<7;q!D9&SWhz!?epqN|It=oS$&dv z%*60c(Kl7S*ERYowj#U5Rc#3jcph&%pqJ4&D^{ruqIS*N-?Yqeq$pU%bt+vo=U>s0 zDOQylOdL_HFntjvy$(}dz8s(Usm%XB@R6E z=@&gFNAy)dlS}PTD@9jy%|a$CyHg|i37~%UA!!<)JCd2Yz;qxJeji(=%&!6~Rj9zw zJg`^tzr!qn7q8%MI?G840ti}GEqYA^gQpTx+`aKxm<%BPX$dmqpW^G9xT@Nv? z2xUtHx@MsT`HLMn4T|4kx=&}CMIjPr|1{#Q?>|B;^#bP#2rlM0)}RjHBL#839$}ck zj012t#{dc`JZ4cxZPqa+YfTi@TrmQoA4j$>ZclAx6YC3z)vVfq zZk)S*u3Gd3&9q2g|CV6BT|e+v138t+a~Td^Ypy($6U^_Z7ejKAnWJz-(&cT!!bvqHBHs=9Ip~=f9XI_(qi#=YI zN2+#*YIDb zf!~Nu*?%z6XN-h2nYgl%D?0Tau<2`mMid1c0u%uK=)T3@A9;+h@?xINeTL*p&z$F@ z=m4jN5HOk&+aO9ck&*d{)q2O7Q{Az(Y2;3y$aE#6K>_Qme|FLa`MN>>Av84OK}3Z^#{<^YQoy=@h0`ABlhHlEj+JJaJ%cBcUy$t;UTzV1ypgbLJ--OgcZ9r981Yv*5nVnU~Kt4U+9+$f( z&bv$^(X8X&eCMLtClY}eP zLk4Lnf;SMGY1$olPurn5U&#jEOy}H~M?aA#!WL$0QvlqK9gs`U;)f3s}n zt&N<{S#X6=*i}Hvfh0m>kt?Hmr{LRk`~_pYxf(LD8|Q_S7Fx^<1JzDyHBRPk@9Ga# za=2rjQJtpOI$M)F+tdznV<4lY>iVm=e#2y=OGh)jgKrzj2tGoh{n&?~8pl)k||c~WSa8~5{P z%TXh-!&N40%vkL+4QPf3X-bTP`^eK53TVSAU? zy3x0}?`)a#p|!f(RBR_{tn z4{jk!t}8g}plBhoXAlRhR=GR+S8AHJX-tk~$D@W6YVCQvjnj2i>^=HAK&VAA}}7bsV^; zaJc(I?HNU{%>}x*Cq$|758HbhE%(d1yfG;0P6{&pebF~TM$3vu5A=bZNX{TjV2}l6 z3Ps86Hh#8hfXdvojJAJHbN`vcX^^*zAXsQh(I>P}Wk#S6I|k`dRlfsY?nH>Hc;pJ(hdJZ)#7-MZ|wI)N`24*frn?RI3w|zElb=xZ+4*J>3K1Q4^1$dP3;@X z&3~vB7ZEj3m*a!RDf7WAAnjvYNtZyrj zS+OY(y`DL7*uP2$wu7c+(O_++H4@z!?V{{t%@8FbXoCfC6Y4PWnJgH7E!y|8gNqhY z%u=wLz&DGGE14a9t!6a8jfo1^Rl%l)K`@x}Q(s3l>FTc%3v@!@kf`!~xVdJL z>D@(u2~mSMuo8{qv+#X_Bl)jVOpgX!*x-Ynwb{^ug^1bXN!;*R z6qbyOrDP!pXT-dA(x>_2;vN)4!szeYNJ?X7uJz5)a?7WGPTNoULEso++M2&@)u7R% zI~)YZ>Rt)LGy1k{p%BrrZlYZ))Iuqb2!C0P_XhEGx-s@p-9+3WF+mkMO51ya%qNIU zWQ*VFZdZLbZ#wT-8ntx{oww$HMepbKi2lI5)qZt3vVroG3vrPyIWadU`T_|zmp)FN zE4&h*4lOcuA<_xvAkQjV^H!mQfyw;?E35`%7&=8Os0BKO%NoC5uL3uc>CP*j9(4{F;6OE%DX6%zYjt_B2^wu8ctjK>l|dGg<4=fPqBUL?{smRmRL zpzmHmiK#YKyeld=q%lHEVLasy?AXZ9RtiV3TKqK5Ax+#IV_|y!eqkAO*|#S)g&6o@@;y=-cTnXlhW`dCv}q-Miqq^2>?27AEXHzq8~IDD z{t2w3_UMt+NWNBFAw)!+atDK(sJ|r8`T%-(j<*)pr!Rk~=#*Eu|2J%W&v776ZWy0k zB*8DjZrhxsE?FN;${*~?%vDh?U|nxOUZ%fduI6Un-NuWks5?c}I?aI$hmVKy7|d7l zG^@^jL}rX5@yp;Muk(GDXVtNRmHfsx+w>Um1&>94f9#FXR2Bf+NUa+p9jRCu)L`>< z`h+>_Ym$r=6W3^e;6>LT*X+oz%K8XP0cCh`t&Fi?DiKkJ2x9As-3d5=u@HFtFyN3$ zDN!msRrP@)aR_@5f@xp`K7WODiE+yefXr{Nt@6GSOm}1;G9d;gc!DcP9EfOM zRsZJ4Jej!9aDOrNQydK#e0PUtDsni-R3JvULd34!*?6u};6Vwx}CE1u`l0_ku=ah?^5_u9V&>OIm&J2Z@`Acg!o3h_@wz z;l|rmJY@%?>GoeTh%{bbpB>Ymko%$4W|W=nKXX3aN=qel(>CMS*qOov=Ij)Z(D>l(LnQ|}4!3`BA@y#iR5!h22P+hlbg9I-NT9=+aWP*Xd>qj^rL72y11;xg8B>Wgp3v7Pgfd**bKZ-ufX zrkSYuv?H8HkvkL(J-05m=IBcqc2Da#!mcU0#&GmO>CT4Bl3Oc8gCP>>Oc&Q?&a#E| zY|Zn3I>#!%u1z9E4Z868gg4jiGURzf>w5yz@MRHiS&bgr^rlf?P}@bYbb>8>Vpp}* zz5cZ{VUnw>d&)(>c4+iyv~V{*zb3mxHxT6QWj(&CC8~{*0!3z)PDGwnzhKwn@Na>7 zymcj63xYJvv3bEZ)LsI2d#t1F&VRqb!y$zrc@Z6cv)pu{F0HI^_5n7Q#n?m?q7;9^ zte~xSjL3P`es%6KfyKE$4-%TJZELWiuHgAeU{LUIv7&pw(*>6zA;0jB;M!==bEvr@(SUB}+R!x`|$hr;5?WX#Wo2*GT z#~1Q`Wrac-{}60SWaP4yDc%}iGP8~BoC>#NK@Yh7;#Knx?6HAl4Nf1jMEDXW4G@69fs z&GeXhd=wvR_w^7W^J{d9WU=SF8LnKUkzB{?QXL5igk%m^y#TjDWnDR#|=4EAsV3iC_hG%z(#z+WhdeK?b=Vuhf+JMOyiII(eMmB(v{_cJ5xdb@TC;r~Ve`$==E| zy3mlkk$7k)wyvswq&Z)XEGwpaNG&gNtD9aQc_F3KGzGAXpj4wG$f>|L4X_Ba*f(Fyjx2Fwb~LRp#`jULq0+9%kPOm@0QZT(;# zid+Mpuo!o{SR^l7Qfk&%1H?+r8y@FVWV>Db^h(yhZanpv{N?H`+U~*iE*RlGcXq}j zBXFSU&M##rkpsa~!va8zv6ZbJjpmD}yeT<6r7-u0 zxJ#(g6|1XjubqL@_u{QjV&uOM`JNw(+?n&>j>_ke+4}4!ep;vUkEddU&V{J~+oRfnHVzEpTSI z8O(`$ME2pL-wc0znouclf?Vd=9i9jf-ouEn5!q|K4lb{9E+D3+X`k7fsbV%Gp=9^q zy_Z53!^Wwa!&K;XW)8d4Q?)9nPs+PBSBFxRh~L!N?7MlI_qE=7g$i(MOOSwM6Kjm2 zA*OFal{Ca;j@{$R!gQfEmQNNd(#@($xw6@k99Lr!^7jr(t#6#x4#O(qTbH~hQ2maM zjApOOPx#CuNI?yvK`aP|GGD@a@ z0;%s8KqxSR^&w{M6@cZnnf@k2TAUfucEg@}8&n-bYO^fL>X%f)s|f6sAIe2kMx4)M zMdyQlvpN0iUG`mL2y<1jdRDZvzyj zXUd7RMhH5Ylv&U-@^Wedp469dDZ}>sRR2E5KIH-Be>q^*xv3-r&A)pjA-|?v z;2MNi35+8)d{roLmK=+zV2NgB_juV&Aa%sN<{-uVX!%5GEoT2oP7x-23;+!`84diw z-cfy`sGZz-n#}!^OAYe;rX%?u`fw!86dFl-60i`z9MJ6|{4nrCT2Ch^miRH^!JT0aESL-2kXa z5Cl~!-9l1tX_S#>VotiIj7CKDrw!3}^FY{FZBlo7F1^vBtjxdMNfb`smJ(vwKzGy70h z_sFScJ&{tgU8xL*qy%=hVADSIb)J_VBhr$TwDeTb2pM9y5DiXE*ZBlGRJE>y=!Ynv z!&&e~q6=ltU0^RHv=-LXsL_hPm;*>kZA0QXG~*ABrS^)lwl?^Xi3%a-B>yI+4kJB6PQYWlP^o40WHYd460d zKYuTtE@vr=$CIl{{9+j>Hzyw5|D=5x7;GbqzKxClj*9afGd6K>gWlKSw$$#{Pks#89)l%2~-OUV>z9U|1x3p_ShIi|;sgFLflnvqdjVk+n(|SsfEw zS_YtET|&~b>)P9oD362j4etaVl{VFHBUDrxg2q(N~qI>XR>g2-i3+99) zw=haDcAtwTO46k-L%9zEi=T|AF)$}@$I*@~97Ib!*HPCcZNYmIBdmc22r(5ZcQuVd zYKX&jF+}bU8DKk5DfE+FUYL7A_0L`(lHLiILoCmpR$dF*EX=Q`DArV325eC|lR8CsAdH~HtN>&=Q@svkp&(PV*vyNQ-=HsJV<_!jV?h79qb_!C8oWy$+x5< z&-mD0_1_Lq=FE1GkUj^w4UWJauqW9WQ_e%2_S%$z0I)+56EO@}u$RNT+Y=5r7TR@k z+2d;S@K9mq`p0Z{@T+&TJc$Wbw9Q&afjtiaZ`~4$_uNzI^Ef-O8x9u zd3Ea}7C`UE&`XB+E%!x@m~iCN-d*N7Qso3>%5*f_90o?~GNr-LPby38K#l!)MMX~T zcRPgc$PUW*!fhVp?G!UU_AVobt?UGed8tUi2EBKs(5LBH-LEmOnlhS_Hh(CYXgy1F z)29sl*}GTNU-fniG;8YpaM9PP)ad;th9=*aP2Wm{$8Y}u9Vc;ABaU~j|0PzULPz+I zrebOMg#nAsUg-#K!527xAX|EzXX=d@5g^3{srtmpbSW~J^75_s;YO58*-S_O=`~n+ z9M=*?HqyJqR)UgoJ_efYQ6aWetoJbvG>4~++Z-8~bt%ot{gghD-cq&|=lgr}-(i9U zj)Jbt{}-gu!sJveb#JStzy78mG+h>y#siRYle~2>X}3%E18r(J%?|Vy+>^l-IPuEn zQi4)(o%a0eJp8RYaL^uLX3G-B45N;&@ADeh<|(D}PwKs7&$iDe#{NTVet-?6n?s=7 z9nbeh_!9o%dRFtGPCe|eXe0XX9=%(C>v3lAMjiIph~=`d(a>@w+2!U7oZ##$LwRluw<_o6Vh3^aaQJ>9t;?yTaa?fOKvZbmX8 z;`|4b(elz5Ne;{;eosh(8QFT$peJqE2+-AXwV0&v#EIR|C{B*YOdcc6@lXiLot@)p zVW)j5hiN&Tz+=AsTKiul?bVcX!(b@$l?wJQhmxtbIS;SikT2*lL$^0jW4s%`Zzmky z=klDXzq11%G1|s&XPJK&7nnui+~6>uZS4g>ta5zSdL9b44$7|dh;kjZh0MM&5ZFUZx>EnA0>nC+wpL(tAXV~Xuy}a5c!>e5l5^n=waT@IS(C&JC z89;2SUbb0Sn6xc`s2pdb`tY`$PtzyA%YPu#t^#DlzLrptCI3rO8uLb02|VC!3W3&k zk=KRR4-w*Ljq_H;YMbxQptBXTEqk&~M=v@dmS|RtpN3uY;Hz@W^o!bP0>Nt~ABPY& zGko7+nJgZ7D=n1{GD0la-+*=`MnuHTx9nYRs>ULWbEF4_Fq|$hBOMJ|cj&s}av{RX z_xnk+&V^u{mlcBzxdyv|o%`Vm2iv0bB}~hxqJ@M-;&R6j%<`wT{QH597K=7RX%blW zSIG6+OXL-AJ@4w?EI=-}1(aj_FTMwBUNw(3^IWkw$n$C)8^1dhJ2*#)FV=ws3?*i< zfu$$q`f?yEZ#H?wOihiM9QdSyx4;(S29}^v|8NK(k>1Po#=yJ%5ePDl0$sgh@ve(0 zvvN%Gv1of5SF6Qd=Pe6I{yskzz#o>v{nH*T z)Ve(QOI(kJb+c#TrT+c*1A6B<07EWb1B%i9U!SlOO7PULlC>=5_2=T zt#M@${o&i3@DX{GG!zu3jr>f%dqF@zetwi>p`e>Vg+c%Oo&-{11`47i3kHr30{!3q zzZdd<2a4h%N~(-T=1j~C?&i)m)=7yo5gSa%!#6&#>MvRv4HG>5&mx`lbjB8c7W_&J zM$u%&Qi9nsx$G9q&Jr;;9AwN@S10ffZ(gF07r1)u@I;@H3tU_B_@t>pY4wY3^k-)- zViThh!Ur@4xZog~W42T6?pu*^w`+TA1&~9csUK<*{xey}R3mwZFbW$a;hsdrvK&5n z;I`sLAP|GQWz2*tuK8?PQCN8VFXc&^I02cA6o07$a#9LcGyR@(OU~$JxgYx1uxOiw zt}cg!DvKLQ@r;aW`m*klfQ8}^%DHx!FHaag&Hpl>uW z-~_@D#?;oyjlv0dHg078)aFBl0c9X@sC=GOR3edb!&3iX>*&po4u{*fiey>Nrq?cB zV=mzLp*j5nwdRC`t?H1$JB0o@WA+;g6J>dyY{qzd86=!EdXWJNFa&7A1dp{{y*%KE z{s=xlkQ|L!K)pM_b->nPpfcdV(Z@uoQOElI<$HU2s1I6=yBSs=A+dt4nj{^)_V~y4 zdw5#ZJ@~ft?8z;!2+oB0(B;@!T}gjybLx1FZi4HCb0I0kqxi)ra(gWjH}pVN`E#H5 z>j#p`;JE69;oKsPWrrv1%iS6~_33Bp=6@^0BU)l@6BGob2Mpx@p$xSDLm5v0TO3+5 zF&o2)JrC5DE_zh+lZUC%Kjy=AMrQm{_)v9j-Q4sM#_?Oqjgi-u5vB^BVXvsfpwCHA zYm#$`bQPJ4QH{Oeqxix3tNQwWJ?}l1S2^CN`1n-eCVt%=n|f9L-oWOktEY3pZQrl8 zAPgxnK%tT13hhiKB`5G2kkk8peucEt3xdY$*0`YfI?K(tLW^efW8O(H;=tS9q8%5#M_3o;@+3Dx`y#xee zZA4Dk5UnEhG+@(z%;5XfVSJd>N}YTgKO8;Z8`37mh7RTMCyIVhUNE*enrm|MifZj# z7DUI`GI0KU2)1_G_^xtaydaP2*ODp33?TzChRRDX)QgZDbpKWLfm_ySvTKq*e6voi zN%Zb~cYk##B8)b)7l!ZF7hb5#=KPXCq%B*Oyub5&%BnP*^m?u3+!@GhbP4!DkL|{e z`T4r-4`LK}DnN49ny#D#9+}p-!oGMu@rOdU#_m>=xQC&Mg_=Y6hy(mAM;5}|cVhJP zzWNuFkMA_xY@9r0Yf7^$VK*|fm5P@_#`8y?EPeUx6iu`Ojt`X;QsGTZ>SEC~{#;xn zSO44{ogfi;fA97m0eim=&JA4}E3f|6r%pbus(gEXGil~_t;D21HjSf%N-84+P&c#9D<+re_ZO-Ws@nq$ZK`$z6s^ocs-R=wh{q+p) zrD*h*G>WPN`0k2uYL!Nn6GL=@b&3xibmfUzUtH+o`KX?!L&RyXOZU7-YlZ|q1Ezp6 z0v+RF=L3h(*l4&3j@_>nAe6iweOQLD8t|mESKuh>!Q;yY4r%r35SJzbT1a%+k3tBY z(MQl_UTV;-=2sYM0QuOAQFyYZrB!?34Q`v4+1EI0+Iq$AQhHEZOHl>`R#%ySXyL>2 z4M}kXGniv}`VVnzk3B1ubahrJii_dJGST4By4HF8^5gsBtH zH%IQPb+}~@ES<<0K}A`KvpNVkpazo zON>s|9^aEY%1tN?pIG&`Y0e*>1J;=irHxOEa7bQ!EC_d(!mPH`6@m0!2L(pU(s02v zteJf7fgCb3FKAvBgA;gBA%a2ROiXBGa^DfrU7=iX+I&3#qjNsrIXBEMW#ZE`{kNzi zoT7|!>>u`QFHu!csc0pP7@lLGsxJGgwi$C9>j!eEF-9bzXjVcZOy+6E!re)R-)|%W z4{U@Wv16Ua=viIK|E70afGJI2=;wz^0TGxF60{CT`9ITt*ow@S+eeu0Kp??DMM6Xo zmz{za?y%saeFV1}(Q#7rF$@@@8f9_s60?!v!mj0L)ZjZJYh`b-_gB zyIafx8_j5)261S`!^YXBpLJ}EXcM7_%~eyx4183*Q_+&BN^r6$HF}#fd-)px^be0$7@^dP`d<9`Z|i`8saUyj|y1$Wd@#$$dDHsUT<9? z@fh~yOAs~)&`>Q)_}RFYU`Rf;uaFYIrd|gAwAV%wiq9LlR=|rrbqn}OI~__o3t)!{DVwcuq@9*WohsxW<*oYSdRpAZhYJwp{W!pLMG@cjSyp!OXq>6O=RUCRU?yG$j;a_M}-=P+|BN%TQDOq zH&>%aX3A2j`OHt-i~B{$-R7B12zXu2&n1ew$`Q&)&2?UTwd~KaazLq&pRy40_>K9{^n1*54iREA5ofuzcZqv@}bJY z%`;-)ts(E!V!IyTa`e+aGX*^rG@WGs229HTDbCJ1Ws;ClreK~*DVL92$Q3^Ix9dvk zFgf%1E-sNm{lfzxU{JYUG+JtBDs;zTp}ps++5V)R^z(a~Au#G`)>kRj@B) zCn9h;ys6(_z|S1WQ5i!kEKt;gWOYY-O%ho6bXs|?U{XajC9n_v8y>Ibiq;mqjYNa} z{!8{Rr`Wt(^-11V))P-0X}tU$&!Bk7T-=4(@C*;fG4t4MT4J&yc%iyMhn`n8LNJd` z<@x!(LVSgqp-%_+ne;3qUlwIf8kD3-YH%&lyO2teti2(|eCQ%|q!}5v8W~r?_cls9 z(tTD^0dAmDHkY?ucA@9r8rw3(kz9mM-esRbeM!G2bsWrb-G;J9>?t`_C>?0(6>+ac z*6^I9qq0~IM3)M`Jee!ADAx;-r6?xV62-H{yaE_83%f%4`G-8mU?$Y7{6VsUt=($N z4(kYbos2(}{5iFN#V5$8Y466uYl*>CoAS;z8<)8$$`BcH9X}OWe!dW%$ncJj|19K6 zPst~DqEV$!o&qNjxHe|#60zkqu5$wW4N%?Ho*O$D`_jlct?W~WPlu~}@XR~97B!T6-MTwt@yyxDfT+*8Dheb;l(J@&QlX@M(aMgw3Vz9m?StgQy zzXG;)Nzcizst|GWwtxM=K644>fo<3meOT>+aM;+SFMT-vcHxwr28YckAR9TLKqAC# zJ&$=}x0w0-*e(hQEC@&z`u|Vu$?`uN6Rm#7&6b9(2U?!SoJlEH zmHOhjqO4RdW%Z;JnvbLI){Z5z3}Z>+zP$c?cg+W+rnQgJiNZMg;KmtZ=V(IRb}MoYfFb79$k?3aXiIDoP%SDyEh-(wr*_Owr$_owr$(FadKnZp4hsvZEY6s*49>S)&BmO zs+p;p?wRiC@28)0p7Z<`F!Jf)7tonJFqRo8%N?(M9r|c&zQ`JOTR_RWBzJ0R@@;v$ zk3T=3=I*tn?bLxXt;0Z}keNpr2LEBtDzTEzwpvjP07PXS#)wAgb89}01r5Hz_wOgG zGK2$*O(ju>)w!i2VhP}4MA-7K=!1Vt|8xv|_dn@Ab~Xt2F2_6jX8-+7Umor4_PPBx zS=M<1dKq`FcDdG`lUsKbQHDy>{PnT_R*_iT`LcNO`jb|MYBg??J4f4{$=rapyb-Hd z+8;7eG`3{y$G7%-5wieE*VM(7vI^r}(g@h57Q?3JuW2^#qYj(-)G3t=4pZ@Mm0lj%KHrw(-1O;X%^vZ6r}o!hAop&}y?GQ- zMBLL`7lN}lj8x|hc-IZ{z5sd@+vP=D4(r@@@Q|@3Ix)7Mexjk}q-uos9pG)R2)b$1 zD15GcP{WXw?d>GdYbb5jzS^h4U&YCtWCbjM20;aq&3YHcqCSRT(b`N|C3!_eM<}qS zUzldiTF+iZ?sP(YoRk$pWs@iCJ0?VopdSapTEJZhJ;C+EP%D6cae}LAU@$qq8bi)W zV&Axvf)h*0SQH|y7Ucl-<(j}ee|3*RQ$*!w?Ln@g{+44`334C8Ltrq97_O9jB0=y3 z_Dl7x+*nyaL^`bcbAB6x-@uS;*Z&z{5FrXIWN@qg;jwF@hZ)6k$SUhnpHr{sMEXKJ zV-QgBI9u&9eC}9_^I(9{cMo1kTUgfEQLt`sliy#69Ku4Ne#Hu#9v$a%1?yM~(ruD+< zk-FSfRK?QXvpdDetPJ{BJoPxoLC4D`J1Xb+Fi_s0B0ALN>HM9dlKmsi=_yT#*erhjoL9pa}PSK?g;Gu zJQ#>brCCZS=;F2JY2a4GcZdqnLkyI!Rn1*{oex%%O`Jrug3%rCPzVvdINr&>W+YIz zoi`)h#+hGJsb`s7gr#7&<^-?hYU(9QRvtnNyNTfi>42>4<}OhJSl_uW_b6@2EJat@ z?&eyeJaq&tghTD1OzC(3eqW|q(>CBeJ@?eM8^Z*Q7Va<*JH}kbICDrHRATuu%CPm^ zlIi?ZCPKAPap)cnyk!_$2*jrokxiD&EAE2-SUS;yt5bb6BXS*Fln! zgu!VFVDab$#nXXH`9)83=2n(x;tPk9Z>U+gZb-~_x9ZL@efDDiqdE)!{CwUPw3HI9 z|G4{*dOJQ13XM@actKD*kExHr4=RqFk}9sEwpq2Lctn&) zNjEFSv2sc8Qe;Ae4j->$ty>0NM8krLVW3_TC6>a3IDI(fLIh{HPh_Q)28iysbcLBf z5q%94@ls5iQPH*{s>HK0^e+i!s)z1iMX?YiQ;VW=LdYcRzb0CwA(Th7w180-QYN+w zT^!e=zr6w%*T;-_Prcp!irP474$iCok}+Li(FzA(m4jcPQXyHw&$IrD6V1N_1fVW> zHNcjTqS0K)R(v3aAF=K9=lHIZ2_{W1r z_>s`5L0VB&>2y%X4t=Z{(Gxf|x~rj~FEYhWTT+|yuKSQ4!65{u)Ko|wvsj_vE8c~E z9cPgN^oBe7XVTLdTdD!aY(>}UisW3hoF0(CTG2_S7s0pkTtwSA>fLRn{N}lI^&M)V z@}=glA@LG~WlsG0rWFjtWfAuUU8tAGfItq2BsXP1EqPpz;#xA6k1`SMCsI05u7YJ2 zUh&e-Xy0Z6JA8E%o7tDEpG0GU$%3KC_!OL8T_ip+2TFyH0mhcW6yp1{wwn18Ic9VG z8PgEeVY@~0>JdFA0Xc?$%?nomJ+2s|pG(2(gJvE(nWdnwcVV_~S z+}qC!B{kNi%|-l}O;ih!+cdZiRhVS2Bhrs0$+T6a^3>I=mwfAwxnboTgA7WT+P!TXB2(j$iT1$em6`ZXs{VfHU##WOBTqR zVjaGSLj`^i_A$E(l#GC^_s5gemGt$r6QSN`@@UNMd6b;2K*ht`=45~ z@nc_RDl`xf(vN8P|JIuSZ$**iKUB9Bx7m`^v!asn-m$><1qb|$!_uUga15G7vAiaVMYT9+&4CkPp_J{E>9PulV`Tq|LID={{qtBYjg ziinfY#}*fcrBAe5)M98D1GA#lrq#xM9z)G-i)UNE*ZsE2ApSM9{}Q@cog1zsQvePf zgrR;C)~8pWZGX#ph56dQwD$0BAlMr{sgDmk>?O#{_kV52^ey;w(l?vA8fo;-Za<*< z7roS-5;*Jb*^xHu&i67{3)yilvDG|%O52|2WJP7e;GRfbL#~Qo(xo}=pVu;LX%Kj{ zt0b?0H!)$z@ZWXB=+qiQAJ^}_*U$U=&S!$0-257P_vS4IjO0QBor(BkLg(wo=k;I7 zc^X^;H&D_TjU5&3?e6Uxe|%g0-zVL}cEyMcuy_B|ql5n?pbjo1!(tMioq?$-!~?^@ z<>mr^hkqau(Mj;9N_duwivAMM- zku3%+%zGWE%gXRyVL3oV1_UZmF@R5#i(otc0I#5~(5&{}YW9uf^Bo;dh}FnKr?P)l zQ*M4`}Sf!h{S1cvPpFGprH@r*1%BZ*`ME90FD<-!~8z^vZr)5aVsF#s27 z16earX_l4|tdl}8kOPZE>zI-N@!A^(;=R0QmWB<4a!GN;0f{#EXwT#21;SQ$a26EZ zn*i_g`SxZqFT5>`V{|aw!V*fMfSZ6{5zPVWQji#MnEs#zBjzjaPDc#oxeiiTR{rMh ztJpx9@VRGSg)y=qp#+So2w~efDxNqE1ORk|6YL?i2+t~8WgDqo&anX;-`it^dwkR6 z<-s4yJ0yZ%*j9jM=l14yO?PWP$zb;7DhvQG^h>3#m~n;i0h>vH`rqd5&0d8){&)~% zfIaBdxLoKHWQS1NWm$n}ds?=5Cj{I?O`4zc{x#0iDOd<5)s)RgZXtA$5-fx-J|V>d z#B-M7vW;Q%GG-#a>$Y4pYz6CyRt$)QOd0vXkOaOLxEFON&MjNa0r(=Ckz@#)$=+gH zI|ZniP)$fcs$?xNcps@aUz8}mrKNDV9q3J*Ga(Hqnyxqu42BeM>MMhIRhtB2a2@3Q zz%w3-y#wek_Y&SwnPFIAt=Z{e#v;|QvlwKS7j{`|hnyr4)M1wwV1Xgu=R6@XAziYc6wu#q+n^Bu>Xx z+5K8QMc2fr`7UOCV_Ztf66Ejq4BxPPw61#-qa6h4Ss5sF>pWyQql^l3`q)Md7zj#8 zvpScsw>Y|YDbV_&httz65t5R2pCxpcuCflpZ%XHkM>_DWxdKIQ5{hu4o2b53gsi^Y zx7JL@YSxGQ0OADabu$0toXsZQvENejRAyLk;==>U*pkw9k>075%%>AhIZ2`yuTdWm zyN85r+MH&HxszWsnkf=Zy_9rPiZpTIJGI#o$^c z3tR%>^@m`!?KZ7a`W*4+KOX(WWb&xG2uiwFQ_DtW80INS0HCCSR+dGSn<7#p zZ*Lwimu?`d`B)50GMSJ(C56$!S#d$RGlJ*VPVCTO`C;Y4Lt4lZ!wu|8ry0>ns#7FT zc8Rk&G4@PIi(qvWPb@Q0Fg)62t;Qg8T}?WJfZrD#rpdSw!oE|SOPGn2kOX8h=}CC; z)_?Vx6CXoZbiQ~sxw()tIv+RF1DVvQsRPj*OZYu|U9=%Hg$m5oPgxP95BSWEL5*?^ zjm99b9D|ZfN$)BOsQ4Un=W0>`rhnj^cAT4%xV@+33aL^KRE>Pm&S~o3Lm)x0gJ!Aa zv5O$^9DgovV;&QxVYOTYeo|v)wxUSzIJqr7*aqAcomvh zo_RcCxU_6Y=&zZ_19goW6zMyp_imFU-BxotslwdmC^JeM| z3&q4Mr^~XAl%AB7MP~4cu(ZFtlr=>D7C9OYn24GJ$>mtI*%I#>Df6r+MW#%q5++e|vsDX7!C}Z| zNU6}LaRbU4U+iohMhD+H7v?sN-&}IFsS*9smkZEb6%j3@i>ty6b#&^QHG&^6YrbQ| zf3k<3A}`Hru3ax^7s&c&NAf^Kubfy)r4eez2We30!q(+Hi#F9oR*ja8v&7D=)Ox+u z1Lt*OQy{etI_K?`B^jXQ|Ap6v`qTuX)ejzWqlPu)D9;Fb3@K887|i&dd&ue`J26mt z(k>Vfn&T&eWnA{X?eFn*#1*3j*R`F4V&APdX#+fr={q6?Lq+}+V{y^t+CB_XViwlKd0T)7gGgCSBFZ~95yYU3HJ zwi?g;Q?`)fvs_W9$s)TP<;2QVORFP&+gR-R=EsTobxLf+I;!H1L!E~9(Q=L~Qhv-| zk;3*@6>?{aG!wSPm+Aa+Yzi@{WQ-mcb=AFV&%bTYp^`OhJ4VT`0!w<5Z_r#|1Gxy) z>ZyXK-}pJ=_0vsE(0l47@p?}-ShL$`mja${_lFayaIYi1(^rjdynbQIM#yp$6FRJx zkr{_7JG(~G|8C@Z^Q5HX+UWD)@U*jRD_$`@E?@P3+nFdadRJI6(&HziDufhm;#kRl z9Czz5T;w%}Q7GonxK6F~&V>aD1guGlNyX}`9%q{d#JL<%_{pv1o!Y6+RmJAn7v5iW zO-mPcCXvdWSw3iu*#Ld%A)hE8-7D(P{0c?tb05cJ7v4iVbo+X8X}8WG^UYa5idWls zNPHmtse}JdhL!CPu?_wqT5I(G3d6GghhZm^HpCmY_G#vI7ff4C*S!Af5Kk^QlayFX zNVe2za3qz3DH`)Jrb0LDp??c)Qwqo3Sn&_#4=`koQ3upK#b7oDE()q0o*#^>Z1Q&B zB0Qz6jyN>8>FUu22;;}XUoQO{ZDrv1Zv(=BgV2L>X@+vVedt*Cd76Hn-TAs3Yz0KR zui*L)#JUI8VdP4Fdvx>TAyf^1s>xoy-OUwCoa5>>QbrS~{DihuH~q1{TldDqG^jC| zy_f#xfaKTh6+gY(f2{I!y#6Zw{CNv;88iKyf0!|3y=WDS-`&OJ9P6liYWs8gX!7xJ zIBS#$zn;%~pq|&6Z1#V5dxG1~l(Bpa0efE+eS8;(BNA>t7AZ94UoLG8lNoFp$f3{v3>mnx z2GQ^7>ZAk2Zf-s8GHek1_uZk`YNB7;6lY1BQr0%G&#xUa&Nf@?ZA|2>MXyAts7_}&|wWMJs+YSYxUkJ*}qJaYE3sp!fh*y`rlX%-P@ z)8H9+z-m$I7;gW!)%~Nx+P^=n8Tg0S0>c4@i33Fn!SD}{aDx;{K6 zkwoMI=+^&&!TtGHXd4*{Cm9YhKL@or+>gDxtp%*=K7>33fxwO=X(PogZHUXJdA=Uy zEnCtlR9%MNCld(T&;yO+qQi?Xut>k$Y12x3iK6tBFI4TE+Dg9Kg6hEJ#moqX`=oAT zp#ij`6^6A5rFUToJ!Yj>!~)Rj&8bdBqL#7%EfCC)ppq;k!qujPEpVrlljXOERVs*m zQzNmF+UQ$8A!1LhjSXB>Wk(A9z*s;qrW9gM^wMS@fuO{anA)Xmnoq@3kWT;xBh(5A zTGhUERA@H5WHn)Eij$LN217Ic3k-E$TUmU~6uH94%?cPn5gzawm5I=f4n9o!B*>&{ zO2N`JW{oEf%Sj{`UlW%NOZRFxm?$-sll7AH91I!2Ne8i>3LMQ7cH11vaN=ggAyAfr zLUh%bj{}KI0AJk}RH%0cgXc=0jdM@xsYU~4Hw9(;V_HupXc#}!ALh-=LHgPwLN7CUan_4Y=NkAW;4d9YrEY2bi@HY${iIjSa>-` z+ql;bIm^HXe-?H`*_)Fff1hLp70Fqg8H1ZH=nVto3--7V5G%N$k9!NMkSD!~(^LnV zU1Xm`K~V3ADyCp;v9#gi#7-}D3@$mrt2l<+COY{tPHKSJ2!kLd?c{euhE6Hh+uGlL?v983R4-GV=h^c zvmU1YQSu2O)T|)F469I2c}HGFeq?X@`E)wVG`rk)gy#|^E2E?&A)t_v*q>JkyrmsZ zY_^2L;hL8PFGpBlScbf$;g^)L@qYF{AEXP%r;c9e9HO2W0WP+2$WZxWNi9?c?x#$u zh%f{#S&asxPF+f>p1>OH{8sno7M>J1x1ic7o5^+9npTAwDZJ$gBjY-2Qc&Q@o4}HJ zF#)D256>S_+b~CIP0bwE$GpgMi8Xuh1Owwbm%yBfL5bQfDoH8=GXV|-kKZS8$d%{& z%YmsW)rCDEx~(iH9TWN<4c7cjAuoIZW>@Z^ge78F7HUQI+(@Vk}pNJ+t2--R!L)t<;2)nd3PlH zaI>bqYxsCv(kJEsC|2J^i@Ai)>#|;!^$HbL_ymPbvI9rJLB1 zN|#vtZiBXMv5S6;MJxD#>@WKGfJnOl&-T!PF-$UA#g|0p98wpK$qO3DFii+MGE7&r z2n?&asM(RK9CKha;z5YA_eZunzayl%k9}d)whjn9m7P7yKXW&8Dsac8Dq# zU2uD@Lzj;i+W_AtW>RgC-0yGf@*IpeSLi%W1#$h#zcW-7DJyr39q7<OcmF%q9k|8nx;LO&T4FjupnHAp0zVEVh+*3*pjB$TP{t zN32pJ%P-0uf=jLiYLCtu^zhi(W;Q28GKbZEyKz&Oq&wi;<+T31Mr&`|v1--l#AJu5 zJN&sEGy&J3WfqYR%nKd zO`e8SzG=%%VR=C6{_PiXB;A7rKnvKLC#|+5tj@zGb08VThPf*&(IC(4T1x(tLNo#2 zv7W6i?VSsKdYNouP0sObd|~dDgMY2m+>i=(xI2o^lP{@G_{km*YqU>HcB+);cbU)0 z&H5@B-iS|2ht5AaHB9byR*T5<>u3BRe0lj5Q6cwVg{V_ zJKx&VxWBb0vLr-aMgOvCs$}Aa`%K!Q7ip%|pQNhd{(2Xal~VN!Ii(Gu+jGJ9+bC2` zc3a*fW!d~A6GRt2RX#rnL?h1Ig&ow7Ox}!N)e2hQ1F${D4l-L7uC_MC70H95%>XwZ z8{iLTp6kA<;XD%h+O(8(W?!S?wY-4Hw1V5+dSqa= ze3+i?`qh79@V}uHV(+I7<_AjM|4Zd^w*NrsblkyMY|lB>3GcD0`gDG0r(ewLrDee= zJK(ba%CcWoQCT)D$cZt9`jTqL=xsg#^TramH|&%Al@yk_q_VdE0i*|wx-^0)_~Yfa z*zU_=2a;16W%kz1+10TfIEsyjaARZIVB7C|yb)e<^%zpdp zIKMZT{(0|8{CmKcuxQh+BPSfQbBk3DbKy5;&idBU{qd~(bBDPKMt6bHrhwMz7GQN< zfq}ulcVB2Z^-}`Dr{x{l`M1BHPd7cmfc^US!`)r<*5Q(!B;Kf|_f+0KMc|e1wBr`d ze0aP~&$^!8m1$i2uUo{t@%qoPx5-?*jp;2piIXe4hS|WYp0=0c9siECR6>saQBYEt zR@`xCqSJ^wh&x`uCHaEy_7Vy12@2a!Oz>mg>rLdyg>e4$|LE34OmKBpz$P|UXw6O| zA)Cr!S9G32yT3frsqHoA@AL2SgtsS<$9$0@L6~>^sym*|^Sxb+CZ2O_)^JbPaC&_m zPIBnHy*#>)_W$}^Qc!Rg>zGw=_kFF>Gq76JKdse+KFZtD1(C6IcmJhoO<#yW>C~y^ z$8XbGU@!RVrU*=8#CK~ify%b8b0gM0|NE=)c$VM$>EbNs!cUXtTgH+$KGXv2s`C}Qbx)_lwVhkb`C#whR(wW?4-_e&5GV}#cOah@De&8=5BHpAvcawjCjKY`kKf}VO z@)fRqK$(|wwNG8FW09X!p}in81FyPG$9(ud|0&X$xDaJR028ugA2Jb;DBObV;$A(* zOj+@|M~=2sIfY|8U@?OEzB<9hzI}KdQR=KFdq^<4_FP@Crn6=u^w4X(ugkMV zv7}+bBOO+CtdVa3^dTk=X9N)vsG`1N1qaL-w#FNGHd6u>B3tq7s9Lt;rYdy|8K^CC zzK`+r6E>E+T_Si9YNr5}Ma6t^0j+3R@`tkcbs#uiJ8#w5hAbHGgHdrF$e4Y{-n1|L zuGH^D5&P*X?5#8XXGSUq&)Ltx?6|OVWGy=I474{tiF7jCf?h=9l!c7wxx51p5Lbh- zK^JoUC)Iz{#t+4cV+gqqlsv1)RygZ*lqgC$rY?j7rC&^m1cz658o~4~dBcp1ZwkBf zvT963JUGsgt6?0g^O8w+zITQpzN}gET3P?PB49fGuH!nbpH3%bINydaKDv&W)?Mc% z-80e#g`ZA;liQcwNn>~ z^Ke)jtoG?7k08lr>+IY+tSMvYGfJR@(S3{c=zrglrf`Oc_jHkx%Owa4_rRh)U<2wT z2E`sdOeFp-bnwPgo%u7Y411v4QPHOj;bB#L zN?ZBgFkl3kn;`-1uQJl6 zALAUo0v*P9SqqAFNUmdwnHt~?-PJfd|VnmBjs5N zMQ(Z)Jg53fA~EHca%o7RHARs~hS6*WacsTeF{r9(SgXlH13AO;MBUA=uo#`mg13E( zcBQ3!i*r~@46O$G1*xOUk=Sow;Et*=iZGmY_lWY!e zvBlePQHxVcGQA3C8tZ;1mwph$KVO9^SrF@dumud1xNzm_E5R#D3wEq_iMrML%^Idj zAwvomkW}qd#`i8Lm58k=)N)uvm1IL;E4ko>c;@@-%`MNz2j#_?WXn%LDx3 z?yxdMM%go+j$!4(I%h+VgbJyl`Vb75KtJ)ycdn2O8Rt+PFE6<%5GAngFH#yZhnC>@ zqYL6bbkHnrPGF+*NiCVCfUZpBq98*!4P6Wu3b*`qySR5YXA~XmIvwE6u3{9HB~rj$ z_fVSn?a!_FUFR=qb1DTpKVx}Rm8bGh-|gozQY)NPxF49sl!1r}k8MSOfyfzjq;v>X zO8pWRGX@sV-{Pc)WiGppgaJkeuMH2j<8A$K1dEjSPnNVDbu&68O^sHz!hz2=bq3+W zp5kOu4OjYLC>voZ3U$W{bU|NjA+#4^(6L8%khvu5?!fT7BYo+XBVa_P5{rw#q83AV zIZH4h=S8r}0>4}m8odaaTNc48<;urv1^vK}HDB6O;nY$QI^EZ|TYN0Vlm){2{YJ9g zWbEgBGHZu_6V<6gv#Z>!Pk1X24CJ#!SX`;t-(EgRRQA%Ercw^N*nfSH5l2TV6?aiF zs$hL9N4}nOp@|Qg8`lO$rDzQmwX2qa^RHT`u4*~_v*XO%-wYF>y};s8Io`DDBnApd zP*uO@FOFYPV26%RO{;XK+0QJ54G?g?$xI=}&G#~qo`%*2tp+Uxl^p$<1-hfbS?Ja! zaJQ_D5?@%}FH3w9H1G4^lY0)crqCh{2){qw608^$qRyuGl8-E-qeWE1Erbc|qHZNT z5wbsPQ<5z9_R%ycs@#W$NrtB-EAJW{AR8B4^iIEO~%O%?o*H9j_T# z6Q05f72B1k$Y`&=%p6W;;#90d4b-S6I4QJ*H8YQqcJ4r^z7X!ufM7d{O9vxeBTTkz zJvC8pOX>AYnY&o}#*0$=vS3<5%7~EjT_Ag&(b5I12mbxM7sZsTMu|3}*+?hQi;7dz??>VpL5!O<+m+EX%jRwYT>lC*boFy708Wp29g-%e&tsxo{5~9(mRsX1% zErmEF4hw)ugC(jE_|itcxw64#+UNrP(i>MSn5mMamu7`pDUO%#B$}jAOCqNLfj!b> zc{{O&74z2Oo~{Wx9_>h3A;@S-)$~kv1m=`YgdDJx8R+{`fKO`WtH5NSlS50*M;?7A zN^GM+ojgAJBm|^pdsAvJn~Nbz-XQE*96S1aKEryz9f{NKH z+vfnNMsujn(C$;Aud`K>l60(8fT%@GG227WmEoT5io$+9FDFyJYSZDr-P)p5zrfwC z^+DZSOF#LB{f|x@;ou3b{PPTe@n6x2+5ZnDA4&XiPYJuyt365*%*J$dKsJzR!At4` zCmlXoBAY^t=SZ6)C5{`bl=(rPGY4RE37Q`|)}^t>d6 zKR=5Epi150*|XQVY2X&D{=Kj7T>CgIv*-8i3`}9-hQm8GNA|Tk8G1E$jWf zVSDg|YK8m^eJ37rX*_i%=v}=&_S~M%zt-&dta88JzPxsw`UCeCG*aQmG~Zd@T%WI} z*S&V1G4m^YNAu?L%X_N()8~83^9Ji{=To4w!>ha3tC=u#9}PEt&G~~B&~49|cl?Jn zWGCap>if(pKP|&s`U^#i+qIYJ%PL=f>*xu9+OZ+>#09v#cK`k~5ZJ+gI;<19xrGwm zGf%!lp?nne1ogx|HBUa}zs^o!2f#LS;Eu{o`+TShZJgeJ_OcrspMsq7dKSbWITmEg zNhE@?OhVwqWg7Ra`3z4JX2joI3;00_=&LK-I7e~*$-DRO@_v7MoTL;lT=4Au)9aO5 ztAD*5vl038tDy&^CzEU)rzdZJ)JfUHHS^@QFjy>Kqy^EAe?29X&zTCNGL~jfza5+T z3HgG;^kahOvM$NRn~<*sxO3oM`#m4syW0!+zdtRV?{vR@E*(AXew=m{)UX&!9NxYy z_&@#YRv#{ZSE*v-`j{ozCqZQ6b;8tv z-`5JpLXLG~!6<|ine}zMxANzCF$~<~5_hvaTgx7vPw_exWR%ZJdgpI6Z)WuKVrn zo(Y76oZuX-q!>jKI39gG;`b*0Q}Nwf876PsHbOBEgjJ(C>SOPS%2bP5@I2FEj3?~r z$>^LzIVSu9np`8BVMzP$U&eR!#8?0-RS;0AV5awi*&zvLq>jD@pw^a&DU=u<{(i_> zSY3LpooyADyMA`PH|6`Dx4yrj5j18xE-BAap!n>r@3W(;9Usj!}NlyY>WCAI(9&$pvOn^N_ePaUn{q7BYU`K17M;YV73ix+;Q|>C&nxlPqieN5 zM%(&gWQ3aPL-9m(ErU;AVGk`2tac?QpQKXeny7_n@`_{xMPi*uHB1*DV491qZ)LN< zVrsLPIQUZ2kXWU89-k>AeV|ebl9k)&-pa?$>5so>`N3eTos>g5|MWG|EjPXxR8uxN z<__;(6;Z2{pbl@!1Iu?AYWxHCr5>@2>lh;~eMFyLzNqX{Wr0SQY}#;u9Y;D^hANFc zm-?2)!;OO{b8UXIK~JkJu>r`Q<~_maOi-gk{6T4TSr{@KMBH@MRtjw1G3~P=wUINU0#6j5-qL0@zC5^-xJM8oqc_bY`j9tdV@rZT*>o$OmK}_I|DR z&CT~ey%)uQXKyQtyoJXr<}=|D`Q3CFjZ^gl9Uio26DYkfBvoRCEUjc}GX5pHC}fDo zsa-?zWn`ukNNBe@rZmLs&zi_}jiW-CYzS6`E$M?tEBE}wfs`N-5c=_zATy|^hSf`S z%Wo1`v@JQ~Ke28SJaM125TVb4c!izb?h%^f%1|IkqoBTQ7LyQ{1Q9ytyB+cNgeX}X z-cY?maHFYkpZvj+s#Ny~xK{ITUDiSGV%jaTh|k~~4r@6}R_qiTKy^c7EyDpfg#pIM zQ_bwj3z3*_yhUrwajjbA&zE8JkBlqhPG&h51{mixO>^H;z-S}?Ug3_Or5=T;kGIWW zMfq)J%F>%+q?M^r^eP04Vy;H<*f3ns)(o{9-~EyTDVtU}8XoWP{Bpw-GH;T+_LpR0 znsi;uM;WKqYfUAwoJX=mR=S(e78tUhu%<-(2zjwb^AJ^fA-gFpf}1^9ZSTIunp!kc zks(3WB)E*tcBj&}9uS0mWq)O<#O^n&rBhsy8yZ-6qg0GGEZHWcK2fajNmP?& zeqWedTGz+VmeooXSvgt0EXmPso)Gf3E5dz^cXm8}Vxg<*Vc<)T%k5)2c%WICl{}24 z2i78tZ7nqynN*un277E!+d0qw6`V;;&Py!O4q#f{n%K(~bU#Q{VeB`u1uRizUg}&c zoUu0UGU8N`Xf$HNq$qp(|EYeA%Pi*ku~!)ASWpBH%I}6dJ6`P8@f}HHUO3`WC3z#> z(53yDO*+{SQ}X#}Wvs6q+ITIsA2)%t@$Wdnol7inB-ncgC$e_su5{9V*0vf!W(&Ri zvF@MtU$ zW@^hdi$kYhEoJvOnoBfi{Ac(|CwxCkhqK)7EPt+j0-cPZnlXWzx`KjzHA|0&att5B z8A@A?IU3+CfNELadar^Ij=!Ucx}m|!yS+K}sc;#snRL-Qb5f_uT~VvChOzfSq0cpK zyn;XD0Z7OC6fjDH&bqp>u3No9ciMtUx!$!~GMh4>?W?gKL_ zv^+nU%3z)mnsxEjI7N;mMBYP(t~^xkTSzZ;VWqK`wf0Xmay0YS@#DSV{CNFXUc6q% zA~MWn6wA%{?jyEO<`+uzeQi1;Ols}~ggG_ooo9oBt%79w0N_S)9z&gwHe(4M27QG* zaoO80l?e}h8hFz68LIlz;VH7^$ziem2+|WK9?@T6Eqdz=a^|ZfWPZv;_$TvXAYnQC zcKFlLVLJ%Ahm4Q5k~ur{bO@2%K#9B4P9^Xy zz^L4DIKEJ1lJQ8F1==2XFhWMRz)cK&xaN1Pbqa2wW{f8}vA9F_l$9#IcK-fK7>wBM z>Uu7WEPZ|xP3o$o32QmMg65{^Ac}L>Rek0mp5J7hfVe;By z^3(EfsAYe@-*qxp(oww#sKD(m()Q?^!KjV?W(BxH}P!&73u=Z@FZ6}f)8_Zrv&S4I`!^nYHh$W~4H z08X?u`lGsd;GdSp0?JK{0MlyRXpy2eAodOL?0Ejqo5SgF4vrNLLOoxX=2crbLV9H9 z0$?8M_+!NPe{0v=WXX9eoC6-Pu99xIJ?Bruc8xQB3IgFrH3M zTIoah-VwO(#+Bj;Rz)twgNoq+h6)8NYtXoret2ZSEs;edS$#u{aHc@MCL&<6uMq;_ z=Dkx_u5c#5Cl_Wy$Ba@Y7L?S1{D}lD$8ebs-5<7)DL9=P0Ad4RVLY>z+8|!Vk^78D z;>>;gq0+(%M2n)*jGQ**ZC12v_l%0Vz+DsL<|-lxWq2?`c<$_KawqQvzPbaz&Tati z3$QpeXd6Q*(}~-(f>A;#6poWkuykGOi-b>@UH(9%$M!7j2t2`lc-t?1V;$DBSS95A z0`j}m7&#G=%M*2=ItlDHrG|=%F9eT*j4?qzp$1x_O~g2$Y?rdcUx#0Bik4NBAaBrc zNB$zPY?df|I3OV*^~GSe5rX_{N?6U5C*s#s6EOOojn#45!6O$Uq>{wP0$@*;uR1t< z#0paTP`0G5Rc(ZfSt(8 z7a%~p?$J3gUvwxifz|s4}1Ku1Rv8ZDCiJ%fHUlA=$mbvt#U|SiK+zBMwmT$(G z91Y;YU^>8X4xNsCFYjZ@>?t+u#Ux^UzREM6n?+Xp;N&SBvK&XkGdp`9t`xrH7osgBPa&$GGsd!z? zW-JlvVR0qXvps}9%+Ukn?$`vxE^y)XAz845S>B}K0F{G_+6UXwN?1B!SbI_xj@VxbJaeBz;AM;{;fY%Q%UKa|N>pbuMi+ zHVGT;!5`jlwP-nNX~2FS8fy7C6TSt3=CY7y(s?rPHm~v*36GOL{h!5(u;* zB{2_k{Mk$oeElp(y!0ge#AIE&KE`<(Us(E7N0IUO~CToS9tWK zYW{0-eu9Gh>eR<8z1mzgh22Arswh1$^%wzl7&hAgeTV-cYoavwb5-+%iA*`%i&h-x zJt$sZvH&5Y0QREuj3&jU$|v`I40&KKcs~U%@DDaGx5X%HB@Rth7UNq=q7OI$;z=dW z(wmPLM(rw15US6YSeycSzT>OPv<=pZT4({%OK~hQs+Ht7*Zu{R6bb5& zNeUQ{4o+q!8T_St;d|e`h^$6-X-{Cys{NQl%oAO#RE_7Tt{s{@cYum&5>ZJ40QemO zvU;ul2&2L0??HE3eY&C)4&)tqjB-l@wY7dxye++Kgmbc5^S zW?jFEIz6AAmL+W51)fVG+yG^I^QIVYIa-Acn1Z2%iHnUYOrKn4((BJ1wc0IQ2-)$^ z1&;jydoChJ)L?+*-4414v!vRYH8BN*we8_#Q&~%IoKtk32a7#X$L^#BjnPC2$Ej&k z^KVX5;~ONccrrsm21^Ay^X`6k)?0s3&({U};&l(USZJtY;~&3Pt*S$M2EFcGF!cFJ zN!QK7D?}_nRnByLJeCHGEZbj!{B4B9>~3a!?V@(Ne`78kI`4V^LhX~p8Cc4eEP7;b zODotV+lhY{H62VO2=J7SN`-dfn=O|-KQH*0s>O9phS8(ZM8NP41$a$QE1X&OnL10w zD+`tu(*zJQs`C~8nDU;){%xtMT9`w54??p4($9E#!KbfXLS2E4770Y`QGq|$T4!rM}-7xOSID6vB|I#w|=If=sWVeN)>XoaR+*so7UHRtukD!NpDO5}JGZ~BE zXBO7~zj=xCe*uQ}v>oYa;*WW0=%HQC$<&)ofE0Y<&MN}HCU&XXEFVKDbxw`S+^poT zEV@*s7xb7p0OQ7za43FWp&??dlAOyLTT_r|aVs@5@%G-=Ky><0OPrtbQJ%QOP_{Y6u%WL1$VMlM^b3eM{`*NP|hbTg@^;r55`abvS z(v0ndU_UckX33rH=Q~m_;Q#vecz*BgX|6)(B~tifu5Kc~cvxegr|;oCPFSWGHCVk_ zdTq^s{Jg(>f85*s+Iuz7)%|$-_;=_TaS?q@Yd-m<5qD)f>Zg}If8u9!J9(dud2IRQ zSzxM=R_gl=J8O_r=G)ueg9kPJXx6ee_gK}~`+Ygv+S;1_!@8x7UkD`aRdN%J#jHq& z@CRIgrJrIu|F!aZACjeeGt*}ClzT5qYwq~-@ptcIgFL(B`M*TwpwYxyc0SLj3@*C@ zll<}Hs%ef*-)SF6|JN%%ANO^>{`}<81c;gM$G4@b9sX7l(e=7x*TLaQm)pZN6zA^S zrK8ESpyNs2t>fcKegBq=$F-erw|7h}SAG2ThRiBwsyqV&@-xyr0GI5kRih6todJF? z@a;hMS%K=hU0(u~U0+sJEL-pE-AbLo=g&6M>*&7@IWV)&WlWyW(>hf8^3GN!^Y@~E z_sV2WIT;>9?c-W-A!bt;5%#q8@UDa^e21NHz@d__iV+Yaf@Ol<$bUZzv~>pa8m1|* z$Yyi~#`ye2wy@v2y-5&vntAK7#Ad;Q!Mev_7I7$reA?wYG8(Wb0NZliO(c?NvV$Fl zjA|cBgKKi$cZ^5So?24^i9?zkBO}+sjCB7E#IYUlc}&h>bvZMVLcCY9QPjO3x@Ff zvuD^7Hq4nEGN~EAw>81o91jkz8Y)f*e9xc0)&5-nYzk_>gXduZ&)bl}- zm!umk0*`gh=6O6>{!^zTpDTNmV^2Fa)jGl_PGx^s&9<65+#>pKCgBND1g8`@sRWsr zlm&HKd-8@)qS3-@h_osx-73Nu^uB8g*i|w4NBSM9k+HMvT)gg3&9^*Rl@<7$py^fa z^(gDnM3USmTqqW}m*f#bzRi@L5;%zC#>smkHV5915By-0oqT-6Z}=M{qLX0;WM#`a zvnT@c&1B$^NX8k)vHq;UU^%4KH(I0h;@Q;&4DxYJEXjRSUl4I=y85Z-TK9dgwSIBlN*jN_*$?< zAFxT@r)CJEn%~UqHLoLJgXLjTn?Fnj)yI! zTbH$L$&e>QqFFO=(36HRN5JkGIpw@}_cJb^dqF*N%V_VNRlUBFCpGJ_@m@Hy!YTtg31inL!{k@1Wum!JXwf;XbS)ZVKtYF2q>y z!FD9SnLs4ZuMFjLrW1$QBUWpH2*2dhP~KE}JQg*-ab?RVlXUI*hW;)bSBs8Qw0Xf! zm6k-7oh*hA_e)59Ay-}5{wPs^>-_Vb8Z7zLZYz@5RtV~`?v7U)3>3v4MC3Ti8xXyz zY>OkE>y*HocQ(-fA(=p)XX2EP&gP*9tDXiY9uw~hszO>;t@=k4aFDf`z^J}+qWX`4 z8HB`{h(=2OIATO3yOqR(x*Z32yDBvpk;NCe5#bGj!4J|EVqhD^4!q|XHJQ)dF~>~~ zu{M(lsV?lRUk->~O55MleOWY>$6JYI!V2)!i0hLna6>^^d6XHLB3W9b-S=aenleN7hvL|;M za8q2&hTHH~%gn;WVs8{|gg?_f_|_R#UO5K&3$fb!_<}ei@oNRyhzkRwmKJ|)8HZOp zjg1GTp{fq%D`t{`2NR&R5tv>|vEGMl)b69Q#Z8OIl?KH$7;0eJ}tN$;qCo$-ha z@!ewV-@$%RL|j6n$G~yYOC@8bHn-uL-GN2HO)`&|BaFh;tAnJ(lF!V$<7e>KkrN9K z=hsE{prPdL5F>B3w*hUdZ>8k{Vic&AMbO2Df&a zMjLj`D_ik6qa-K)uzdK`q?VS0%(25kAy6xDw;cK5%nwWI4Gvp0;q><<(Hpx=skjt2oko1UeXL^bB)X4=oe=Ql z@<>e$;ixzelSgfSXxV>rtpw|7A;4Q!oxM~J47Z2g-bc7?nWs!GKF>t}oo9*LlC&7=OAcz~v(R>%U_=oeS0-_ya`_8tKL zPk6YHDt+95W%m%j%vbz^F{s<-4sBtm=i@dmYN9f)^~`*CuZD`*T6e3C>OUS%?b@J=q6 zHo1Kh6-WM1wxZUr4JB!J0klc|gGw!btSI@20j0*jY3!Hj{fkY3{O!7E^oZEtA;0vR zH|Oxhl*6WJ+nP3B#{}tV|P- zBGL!{PGeU(7ZF-uA=_XCCwsf6vK)>WmD-8@=2&lxt-Q)W@pcFmMDJ)E{3*Fm$5j!c z5E)W%zo4+uTy=^rjSwTKP{eDl)me+wkUT1P6tUqh7dv+Ldlz9ROAc`oBB5M#l7)AdnldSPOg%s_$FwgYi z=Qv}+>RIL~1PGsgV{v5}mh$g>Z}c2O08!J)ASd5kM!I4Sw8`lONlre zRany%nYrDJviVHCm)ApHv_SEQTl*9_XPgG~7v!VOo|vpi7T=B^)bDsv^y8+~xqv)Y z)0h))<@RJoq!a!6!AlwjlSUl}`q!eyX87q$ev{$2-^{J^e!`Lr78jQXxdg*8@+u0+ zqLeV1w#_nkq|xw2d&!psBzad+57@_)%G8XrWn97SbyJKiM>tTJ*I}9x?F!@p_uG~q z%{LUqYj?%EYwBrHn3)(xV<`Iw5u(`5r3uQ}l5E~Lk6^uWq8Vr0&#aLAT@bk}2&uMf zx(0Ke0?wimDaY*k2HE2#%N0I~3Jc`}dc~!@Y-i7W*X9_S zW!2avS+^(Uh!JsT$ICP0ipZZe@NyW}9-TJ)J;*N-b(S6;lIib`y1>}8<6wl2FBD z^xPvq$e4rzG%f_*(j+XNEz8`doO%{7g7hvcvJiG3o}y#>ie_r9a9Jx$kx;zOy>UF6 zzs#n5%`bh1;B8j6jqANqG|hh$v9*L&Njdkl^Z!xNHS>TcsqmmcvuW= z?&?%A)8=85%3zEj3SDvACW=yx4qF?dviM4ZCkOR|Esr?RKau?&PNhL!pX(;I*^ngM zlUl2rcW{)_*it&BW|&bl7@&l<+Rjtb4Mz<>awZ4qMHuTW_z4B0Ih9nSn_8yw9+<2n zR_+y)to_0i)%d&i%UFi{se;B+W1=9 zCMUN&$?7vkFGKFZip8Fme-%tmr1C5n%XtNg6~O5rKK;`3nLNGJ)hkr^Ct~C03;mfm zXL&}s@J<=h9jYVDg&G$DKw)Bn{$45vAMK2HG(sg!f7FK9}zamAeZkyDsf8Tp+>85qJr966| zMD72uo}iO65IKfZm8TXLtVB@*4u3i_lMy-Z=AMt2$#hj$!{jlcW#F2#jJ19Is=)Zk z_1`@T=N1@OlkfeBHj@9z9tF>T4?!kl*2Pi3O-Ho+bn!#0#B9xl#7=vrAl@dG7I!Y% zi6f{TY?F-n9n?rJb9|nRps2(pgM#5ta`)s>XT_#}JO~UyGn!ZQ7WLE&d<~o)Ui8il z6-cxn&u@*p=>z}M*gV<({x;e0he_sFP`CJS_EORD?VViR>q*5`_SXCTtqt>B`=oS^ z<1#PNauLcYArodl^F+A95q|pM;Ns%qp8Qjy*SyKu>%ZWv=1X_0tAfMZ21t*a#)gl8 z{_#P0^aMht>>N&yOaJUI%eHsdx=u~kK;J96DC1TCi<2q!3x#Hu=1cG)tf;6%(inXN zG4F1z4KAXU9^C<76?^rt+O5ig$b!km_er8kfmVUp6Zbp>uT zu2fO9L#VR3o9&ftYpmOTl~Nh!Z-ZYJHSTA`*}rvAA^tE_jfe3=q9akLUW9g5j@Pul z#=l_t`8?q3XLU(D3j#0ljb4Tq4-ZQK4zrMJIp1B)x1@|r$0~y=1LwESpGSYLYHDhT z*1Xyipxv>?pDq}a@3{QmOVy(?rx}(_rWis8%`wX6oP`gWhunBR_%n_>Q*xy|Gw;ye z?96J>;3!srdTXytIlj(rFQbQt1&4zcDdWx!<^Mhpm|sq7^WK5LR0+URlZ3cHwR6ZW zi>;QdS9P0LqZUK_YR9y_i^(fYQ&k@_#NV+1>>!8Pe>>3lyE>O-px(@!f2TK~706&p zo^O7 zo0X-TE3Mj!9a;>o<41uGp673#t=o_3lIIR?JfZsQn=xQslhH7t`@1=Ji}~|ozPmQq z>?-Rs65trXlbP2T0-uu*bX z%s)&ubfVvuVcdvq_wj#-wD?694Y9~`C`x3*vutpQ%U8#1i3d`G_N@;|Mg?w-9?^xB zOkKiu!*Q$A#|H?QjYoo-tZNCPLuO()K?GK;qqL^P6cB3oY`SyKAkZT8DOW`YqtJ?= zyLY*e72+e1Birqi8)H{KD!l5<=!5%iLPlykiC`aidUpK_UXHRT)dWm~y+#`DY%K;% z-7w2ALN%(eM5VK*HeR9c%D_Q&B$lHX=QyfaAR8~j(-b!~St@)Aq#m@wcEg4!zekIH zWr6!FmypvrJ38|p`W0)9+PDM|&B@KT55efrqB4f|eb;4QQHs(Oi1$KOeZ3Q;M&V+#6CMZc)ShPvgNDuPD~N=^>Cg^9bR`Nu-1{*%vtBnjpdR638Y*0uKXJss zY0XuNw-(8x=XLbjl%f)PX;^04QZut7t*r%yN=X2*+w3zly0VTdDPDwn&9?GQs7ZsQ} zPM@)kD0Y(^ScKyf;2nZQfIyv;78B7G9+r317Yqfvea)14cPo8#jq05OyqCdG5=RX$ zP0PJcENSr!QXjH znqyTv`4es+wk}%sQZTTzy#|BPLI6y%RDzXJPQ=xA$eR-<8zg1RK~%MfYyD*U6KTdv z=!XcgzP~H@@gi^+2XtzVQqch>8)MZLq1m6$C#eZgQl=3TnFh^OmF&v?lG3>zaJ{k} z6vnAi@5Q?uQTm;oPl&HwWE)YdrVWr@cL`wf4wU8~EsH$BrTj~eN>xFq6hIKy@Vx@P zEP!}K40Q#P{)!17Fm&O5n#eiPJNxxSp^)JxLw#W3Z_ek_i&<}X#^xDiz3z@*u*o~; zz82rms9~Lk#ntzCwps!;)Ej4xa~fTbrHU?k=sY18$4Q=__9IU@pFwp&`e62zc9kwJ zAcm^BC>7L)uXt036rdBn_)o_cJ{*&F*p~oajp$OX+kUEPYU6MNBK;f9HEH(5j}Lfi zofnRT6&;ks&hK`SF9|Lya6sjBPZd3L{gd-X?QT()T@-b&SQ#D~FJk;ikAn)ua@w@+M!lz<#5<8AY}Gk*}v}NjzV27 z{$5z0;_wC*T!QnS^eWJ&5=_8Tb;TAr=OD##qu+z?3>6c;Tz)(lBhpWLpg^B6R%sku zzQ`grJ=}keJG{TU1(ck(H|9Go-e^1(kE5O>8SZyT6_Q$$x5X{2zw}30Q^Nboyc`Ku zC_33+=z$D>$9h+QAu1>uO}XD}`rhIZ#k>ASIoo8R?ZiV*AxBeG~z1o|ew$ zp@QO_0|SZS*Ar`Rqe{%r9@EbqEJ-TGsxaV7=z}@mGG^Xnl6=q7Fhax?b+7jEzwHqR z-fUs3(BFl+fd7FqU}65>%3xy%MvfhZdvqA##VT?}z{ z{Hi{3^ji1$#nk)*efT~Q_caFMQcTbo?N zR<}H%1^=(-{-|+WawE%Gms}Bo*3ZZGHUFE(8vmE)=^kGIC*mitMx&L$CsxEx1=oOU zl7BkmWiiZT`=YwKI$cLVB}JshDl=wUzTN%eb~R=F-!kGKXF(pHp-IM;iu3i`>v6FtPcX9TnHz%am@BfWlKU&d1Tjn`KNjghhtna|VP`%(XQw~dBhX*6 zSBbvFUr$fp?}0yxW$qMzdgY&dvqnbJjqXie_uBUtzbQ;tfo&FBsCR7URJ!wp{_9HT zfSe+0kqJyTcIm=m9iznlLmCe3@@<^1UCzbsWV{}6Wyc&At%F)7v|jdmd8nuu*GNg} z_;_Ngf_J7cwl-CJ@#+>+&5t|TYvbx1qG|0 zW^?<4awgt`DiRyvCze-$DeP9>)ee^K4uOKOp(C*)XneG2FA8tAF$db_2-FT%ifuD4 zb-)BRG}fzgCUJYWM_vyIf}P)WoUv;}fd~_`PBneAp(n8nzi>5O_~O+^b~S7)&b!l!zfB2m|!mMTU~whY_oLCLwwPw&O(p!V9>Qqzc`Ra2GbCDr&=Xr)%T{qusbmJYNe31-0DV8ers- zF!S=Ru3{A^?5tF9NY7dnY0!E~S(6Tood;VBa;_e*sVS9HJb=QwK7q~jM6jDhR3{ij z3xzNl2;D^B~oJ*gx@&l zrS;`G>(ma{E@6Y?qu8K8)VPUo)%Gc=^2`Hdl_pCqex8V=NW^9C8l?t35y> zMkEsd`Qe3F%A%qhIlY?fDp?j8Lq%gcGQy?G{ir)6mn0QbU}2Aus<{vnAHjHl55LL( zpuW1ap}{- zCxO9lYytuPd31ySu&bo8e!b%FRR4@T$@dA3`m*X#7p@dX?n$F5zqmCKh2SV{6g*6b z(y+FEW*c^IwwnE6tk|fkZlV&S{(KFTz231bA(S&{QHCyaB0T&b5#b6ny$-R3;7j!^ zCj5jh>LhE}>LS*S@gY&IhZTkDMc=U*s}0u5scs9b(n2+XyV;uqwr|4v;SHae(Izy$ zFFe~L7=EKs;-x*DQ5km+wcXjc=w%zmHTOd^^~JQ%)zznpqummq^4xbg^A<}}rF$g( zJ*U_I8zJ<+DnMDB2qmDtXAr{wWDfn8IQ0z`!W+Kno>ocpEFRr_m=>yO^ha2~%|RsR z4oqATgd9A@bab!tt^Vwy7lk!QaD_tpGyxy8WWl_!`S8v%&q$_CH>cG2AK_xSD9+x~n$ zuIZINcc^)QeX0VSnwyKYV~rm&BSh`)Lk>UOzQ5cZk9#+zVH993JXA;|Pr1r9cX9K* zxsK}bYBnoycj|VF*S*}lF7~zF`Fnm2uC7vzH{6+F@!aRRQ^)j6WMAq{?$&Y@EeX}V z_;~p>%bFm|j1rK^tUsVVT8ua9P21NnhCjwU4{*Myf-zSh6{Kau8)Tx5cfYl|{g)4{~h zW7tZ0zAKc{x(;69j}YIlk1#rUfC|?w=(RG*hgZ`~OhR7xVpvw*+%?S>$EWYMEJgg= z&*tua#W4I^7$^FKSMAS^%VI2&&8I6#(8hCtd2J zrN@ie%-sPPQCR|}oBA92On2S$79MYUAaxLQ;(;kB!|7tZ#_WC}k|%nk4It0yCe1dw zvS8q|P_3hM#$-xnu*woYdm*1`D+QpylLcKHx4Rl3z$uZPt5L`PtPcz{_) zTd78g0>QDCV4-B<0tS_31LDflMdVmc;wl8Ue}n(?xI()|uJ8D`Y#Ds0SHU000D+`$ zfxw4jHguGI+w{H;(Mb>9%P+0cyNCScQ_f6;|Ieexr{8u5L*mZ1=S|J%_k!_8tkP43 zWUCePD8_|H&wGS1{%+MFb_jSS28LTP-mXpxEv}4V9RP>6pw0$@qnNPk_l{mXWNE_{ zgLe={WUhvAi?1@HZ5ir@B1p>5naRMjNx!FRCmk?*Tn##Nykmhh9`+3h5;$f@B3b!s z0t7}ajnJ0=^vB{{0kqOk@e=dDXw`@2Fm>9UX-I0317g zTo%4)N9`f8Y-rmYSoR(Jho2@jO}xg9uD8o(kthDH|B6h9vY`!V&6Q&w<~RQePY)`~ zhf36rsKm50zwmpKPo?`KTr`AaltujPTTBesIh4aq7{LxLf-S@sq`o(GTo~iH|F>Q7 zsH#XeBKS}`6bH5c$CiQ)&EI4_JyQDL9bgY3O_r5qSJc&*AUV+B+qGU$$>Frybwj!8 zKvAE_-;XCMow1gpTxT$LNpaB20Fd5HEIMhaHKAL z;e8R13ur7S7buGs`s`g#Vpf!|o|QbUyifJkdm`ZkgIJ2V_y|jj>PA|58Vr>@?2OGS z+R#|AbD}s=#Xv*Sa8JTw!yfTbP_?j`s3RE}?ts>0RRsq3)AAi`&y}k! zt06YGhI8duy7u$|IkQ4-r71uoV_7OaNcVW+T;bVf(*nn`^m{~S;N7Z~(+OaR15pgl z`3y(!+9!W>4C!yCC3s^IcXHwZf1c@KFjH6LO5KAKI7}H=*x$N=a)ic9`g>(o7riHz zWZvh_U+N$_*hlQIBHK#WO-}JCXMgnZ&$+`BSu)pRq-V+ALYFM^t!c#t4K?mv^jU+- z98dGC6}+eLk#TXIp%pNyy+8+P-lu3DZ7Oc@5Z)6Xw7&ip`X@<;<#?S~0{|cJRd23R`Z@e>ME>cVUEY#i~F0)eMQ-eW(uu=bO83T%! zR|+)P47Cy_Ni3ag5k;YaeMAYK$h+f~&xb{9U^3e(;lV~|f#{WHw%Nnf0Y((tJw;VgfnD|v4hd~xYVqySn-P! zoRcsmuwljv^(5qB(-WXlOqQQ@tqs2WlC{eoRO!-yj94q=l4O-q6u9lb7%>D0;U%b3 zKRwF6;^wRf@6Z!nGRdt)7B4vd2tqhZ{IFB|uI7}6Tyfi4Y`s-Iy5@{?C?27=Z+K&U zh*%6tDPFcKVlGek%MEFW)V7bQr=23`q1Zy&P2g~1+U{jjmrE%YC;+$vNSx((OXRPW zFW$C2GCIzuAd=+LZC08)lz%^FyTGD(36fVqf6H*nq&NR-^82I2yTIvPAeQ;vUOa}c zU%#B{#s~oZIGX}%Nlc`Ex(tW7le32=96#39R2mhs+-%(Y{iwqR`d?7kld(C6p1XN`o=PE`e)}{_tIhT2M=j8GKCOGyV_IHb(7-tdiK_!Z&2QirWqdc> zvW?I9^x3l}#K-eu>*d^jK^9K3fHdgzyfV+H;le#qyzl~m$zfDbNVY;SrfKt@o-6+7 z{rGO}Xlyu_k+H018jL78pKloK`MkNCoII@0Wa@&q`E^iZE+wuoiaLs5dU0w^c`u*r zCe2nGmtK*!3mokH)HKpLxjX!#tZ^p?n<*)U^i7;Bi&7SlCK1&UocGGZjoRlv-1Ep^dz=W5Ft z9)+EtrgSGWU+(V|vNQdi{rub?Pe)6rzJKCACv=jQ${&WLZ>FMv_r3nOnQCwo)o-j? z6lyUm!>xLdbB%OQ?PxMGbSX8)H5SUFv!%$;T$nK%<_^xeL1%oXOOrcaY;}`E?&A8pPidiP(`LMNNTTqrxB1wWLWF^_wN-ZkWN=K{TfHogP z&4e^rioVpbD12>DgCtR4d9^v2e7*g1*QG}AZ@@Rf6jm;r0kEYS2#M?J2YNjeA@I6^ zJOry|357%2H`Y+f4Pf=s0L(f$vkF!<)9S_h`ygcF2KFMS@mX@4H^B#Bi4;TGQO78n zp$0mY9aZm^&T60qiTvh=kh4oq zy(3CC8Yh6-K^$~e4WkZ!>gecQ%@{naUl#VxQzp$up9E&HwsQ=f)E2QXM@n~Ye<&9` zndbJ96Qk%+bA<=c$tKHE#I*@^j?G%s>drVagG-vb@`|F5P~cL2Mx=I%;?Ts zqI|~&pL10gVX@Yf$7>=GTt((WU@Bn{zSGmPaRh6MazF9b9&!v{pCk+@6(2jE9K2Sp z{2mBxDM|Y=vjV;)!KmMp4Op;K*Z14tGv=XAAwmG`P~&hZ>M5frl{|H0GC);mi?6CI zAF3yYQ>9iRG3myWDJIC<=9>-!_H*Q<1hY96Cj^H_V*pp8g4(#WW|i}Q6krg}x$b5- zlQ9430%QM*_b@x#v}Wtm+vy>22!lE)^Hs$_5Hl!cn&FfwY13L8l~ z!o^e0WLPBAMin-zZ91!1^GtVr$*qU}CIPAy~LWYQ1pEFu>#jaSw1KS-ZoXMf^X!z%{-kkjeBfC|EIn|hooww0c;p&N8_ zoaoL}4y4eaS73*a>dy_^ANiWt_$rL+-;?^|Qr<#(+9qg&7G*B?u7NdfhCLYiFE+JQ zZsKFdf2PhEm7NBxbjDKH2LDuFi-~zR=`12Hj6jHYkM~u4vy5!5aKYCpyCCV?7y5^X z&vaSa+yFvVOqlbpL~481b$wLIv4TfBIVBMEK48{SZkL0;TX0%12|8bsMIHK4cu@4r zH8NW=Z;Y;h@Z=V?^j%P)X1O{eVE?!dQ=?zKqJ~iP7F}uMuACLxDQ*H^J?^@e=)f5w z#LW?rp`58H{$33SS=~!_LUh@aR?a7s40_Y@VWyQlz4jmii0Gnk#uhoKix)WW-UITi zUxFcgrndl^oKlN~_;Z?u=g^JNY;#w$C~tW)_x|Z}kNZ-4+9~ACO_UV3WZfD}rdu{x zH)@6-zyMwSWJ5PocX5UjGDsswDzi&>l(`%x~4+|t!@1B zGl^LTHLRsSz2Db0uxRXTBoSkNC$&I0Q0h+Xv=rEZ=lZe)DN>d4DH=XF@5u3Q2!}Om zg#+rB*YZCa&O?h)e02(p`O;-I#wQqp_Vn7bV%x&@wRG9^+U?EL+o|<>L{nCrW%fc2 z*_UR);h6B)lwtL}YRBNI{jqt`c%i?mqv*x7>xo(=6?6IRW_Bvq8y?yQp@Y7nDXLYR zUj;kw)SIjd>!Z%E0`9)6%rc*S&GbS$$u9~pUr7HIA1Xv8mHgl0BjW#Z3%VF~`Jm{{XU;i0A)R7n-cz~dL3BNy<=x^ZL70Dx_T&=joC)sxQF6f=ondAG` z`P%mWmtBohrhRN}j90devb;q2;_1!MpWwL|eb2?Mq-wrR)5_uErm(_W4C#mJB<|Vel$P@LU$!9) zjM=BL8xfphV{%R|9s&_H``nQSlhC6Lh0GnZtxpwdu>Ci6C)XF*Jr9s4%rc@1Ig2Ly zTJ<;CuSx^V=_g;!+o1owM`%$17DwM#jsN$EZr1+~(OucKJ+(0uPvtpXB58Gnxk#}- z+~sRK%4)hQ_&TMTJfz(6WXP;ZK5ELMH!91^_LAgTeMV3SsU850eIaIY%+b7Em~D#E z^NU<7$8;JAcr@W@TNar#@%y(>&$HM-LCrRT{APNp?X|(?m+RN4ubB^;_Br7D;&^%c zt3T(eBC*M#34Y7RZ9DwUK&YB<^X+kPe%asqCF|^NhfpZrznm-h?zG~~cWOTcK$t0C z@^Py0h716Fw+BWs5q9QHZyW=Bt%l0FUkmMqk#asR5)?j9e`2e=99;7O-tU5sd7qw# z?}*02C7x!tzy9;-O&?W`AhyYMfU9dZ3EjMq0O(JuZJU<2T|V&3k=?exs&hx>t6qt5iNh! z+18rN5`Mk}pvkRo(($a1n@|SV%g=;4-$jXeU$-7aIfB18M3#W3`(wc8aJRyC0d(Q* zVV`MLC*g#~6JRK#)aBQc8k!HMpugMK`iu|SU!{+$8b8IFaqXl-Eq#ww;iRa|@XzC)}1LI(H9;?*{1dr|UBZ$cufamf9Ho z2RiTe1kr--yoa>sYiV8Wnf@J01rgD8El@q72I)QyjpH9aJUwnC_*Q{cgv!@^MZOh{ zV@nk?YT-ND`)cX??3dSQ;g+tPO3~yTc`7AaoL#rOg|2w{!|h2AS&uKyemSZocz4@g zB@zJf)t(X~X9l|%oJxm9e99#6tV3^3nksqT@*OonNDfVl_;m4iQ-t=-GNbCb6ZS3* zEMd;7^5BfQ!}n$+5;HU}fPZtFhBg6dmo387EL4d617}%|J0Gs12AyR|!A-nLD4U-%M=RIlzACCv ze=|Y(p!;R4oLy(9AcB9>mh-n#?;%S_(?M32?@;z=@B)M2YWuhKUl1i{*C8rk6HS?s zHLwWKm|6K3eQ}hxrNVmtga&7AZT!X8Gz~`S!H9XPuuy)jg)-ffr>FmGGjj^5Ep@lYUBsJ+fP2ttdj9pR9J|3s&2SXq8Y|r_JN=e8FF@5&jQns*loL z#e6tEmkD#>xxnBk6})}AEE1!XJHGQpNua73ANK16tcRf4dFI(eRUcO36fK7@jD5`l z7g{rmoSXsTqg-~rRKDB-wj3$ROW2ga!mBl5v60pN`{*8Swn;X6qq-?42GB_9~ zoaMi`u?q67?d2`iar`@cztj=%G$V23oK4$fJ!y6e3;D-klO&yU->H&ZGe%;XG!%;l zi>JCXJ#$?}(eJ~2pKd_+kl#~cp1^qQF%D4o#Iws^lyBlS_bagEgKp_NU#c7?oIG(Q zlMV-L0rB6C1`1~79JCiB43eS=MYcvR&c8mFwsp|A^DEF__?eB>=IUl?*2Vd_8cyuc z3CgIlR84%~T=_It{1}^i%?~eTThsh|*4{sx4DLEx`S=#)C*z{=&T&>jn-e?407FWb zd|4YL+AcEMUUx@ag)KVp8n_y=jDzD=*ngIys)No`z9kOwA3d*`?d2A%M{mosy zd3rwF=2$XPPh4{R^6!<>jAkl!0~qr@a_OSRMTV1P(R^g)isll<*H@T}7Uz2Omql5N zp#yx_@ z5Xz0t7u@PC}fUjXK5J02P3;a9^*_w#?f ztU#VGgZreO3xkWC%f(U3TMTE#V3xLgCd@y|T_?Qj*Z*vQOIca3fxoxukS5*lb?Diw z)H2p+8?h-L}zQG_DeE>`?_L+f)j!aXFI~=H%eQX z&Dm>Q6xAeV$B2Vz+HKe8g(P;?%xiVLl;89vYA11ubK=L@m0+%a)jT4Sc*1yUy0qf1ltaPUj@Bs_JWy>#R{ z##y^IhCXI;ixl0HKz&pBFR=*Z*Y^i*D=Mv>5v0>Hg8;7O`@)SxD99w%(u>t{n zUCRp5v+n4I^daMQEDUyB7aNr;b6DCP!L54m6j$3SuCk!wJdu%u6qVl?ol0ATubHZu z{DWzlOv|ZZn?4vi><6G*6WZ{=QDhQpv&)LzXjh0=i9 z9YmLLT(Ajg3QR;0DB)zNzRm68x)G7718yuHzOT15tFZ~6ZCNI_K^Td%^Pxwm$hS1) z*ETIp#*sgzeRh8pVwDBU=1zNI%4N2DfB` zr#KP06+N9v%7ddXfpqrBzGVY|mD#JE@L?J(Xtc;bTTI`gO99ysuf~3)?M4EFH=T64k(E}@RtlZfiDp^sNq$C3K|g?`yp)K{GI!l$7+Q}JydWxQV=1P1Nyal6lF zyRQA|60F6Q+?65{sYpyUpBgzyWVkDAOI~XcUBh(C*Mj{YMQ_eXQ zA-^IxF%@3wy(pg>ZM6-1v=xrCr5&2#lw{SptE$WO8TyDvOIB(agyDp;q39IFc;DfB zjnBZgWFjM;tW0dM9Qj2Qo}EwJ&qLQ_A4of%ZsRbPY1+6S^<-M-zd`=u5WLvQHl1le z5kJpTSyAScTg*^nHGRfYxE;YIUAZF zRCiCAYN5-c)Atz}9%wk$<|N4B;5R?74z0pkGeKYM3WreE2_I5>o`xL zdzcc?vGrQ~ytr4aWEzgpH@4lpU%~^*Do4aUKw3VLtPfq#zJkY$siOIabffYyYX(-2 zBG;P%sZpq`Y_|Nr8Fyb=bx+G{;(Q!KGg5Gh*_i>lv@aUBJaw*-XBqgH^1&)exr!wA3DD8r5=85{Xdd05CtEu*H&W70VlUBT*o z3McAhI+4g@v^(Xoq|zayi=Qif6!P0jfQ21xDqTfgV}bUM3-y0`pXDEnzg&9~e1m(S zmKn()>uB{{sOr3mTt-7aY*#*{AEV3d*tiaqiUng;en7FsdArg25jyAyj8k*ThAsz85uaI4`6vX~@tW2$rF8zym`VBG^^LI`T!W#;Bahr;Pi zBojoXJhOl%y2=j=_`??RYNz>r!L1LzhsGQnU0_CyU|m1r>>f} zRmPt#hk)YI#fyw(*!5FTQ5!eynqYI5mP#Bt%k_Q6BFY>PsQz=mZA1Mp<4B9<&)w|U z&IRGJPhRN=!oy^r=6(U4HL)q-KfH-WC&Xg#I2+=#l z*>+}bN6Ys^hsPJM%xk&OHHSWi{AJymu|{CL?zT~rSjWeb!m$Gfz`rIp2N@50{NSYy zBW5dv$^Z&%VZiN!uC3E2@4jC5^rP{zI#fZ<^@jKS;HA5K+b0BV?M*EFYa}$#SFS#7 z53i1?`aAi@m}91K`ZKdLwjG&byOaFIWxSP?PZ~;V73@#A)vI_&ZcMiZYsA3_w&Av3 z45s6jtmq@$zn<-1f8LJYG`v>|gUB60l%wMkDTG5R1_+mi@TgbtJGLn0rTCWCAA249 z^!M`oFe>X2wX^ak(f6IJgB$Ry*v;5Zuh%W*@jq3`Y(cEX*9~<<-A55Pj?H(WQ&)8R zeZgMzX@sZvoZlJG+L4t-ErmYFpRAp|42%^rOKy1fN(M-tt-dz(efbc{%KE9^rUf_4 zO5Ua)bD~gwMn*nLvZX3EsW_!1Rr957dV^Q?Y<+FKiMb-xKv2Sc}V=rf$QmZ!w zQs5hV)og-^?p#9?W84OV)5XPuRvkbW#8D@iWfQJjA8Ge$;L8?hyT3!LBsnJKX3?e+K74uCG#!f-rk1gFz9-vvjdt|D;E zFoF;a-CdDof*@>?v-qNtZnnY0gP*Ve4*trxOKaY1`|^V8<6+^7oDC z<@}Ce&gHXvrM?CBTNTgK%#1Rm6S?>&W$)Z&PLA?TZ%GAle2=BCiiq|J3-^IBlVPwq zYqvsz!J86ClhDv-C*Ovt&Iq$>P5&Gx-_Uh!ISG(*)U%{1>xm-mO3;NZyc@6SpqM7qZ7FfXL)T#g-+U8<60ogMmK$x z1d4+9%|HY`#9se?oI3EmhoXTc@_{B@it_UCw>^nVjWVwf0=p;ZVT zrBN@eRWppePBz_t{KyQCzqy>>{{o30f=|{=asTLn86H1+K;L;Rug7>6=-WaF%?qFn zT1n8z{8WGNOD1JKSa0(7`J^07h5{IXaZ|985-1>Aes=OL-nd@#mK6I|P-udBP#6Fg zsBs|~RnHGq`8sF98Bqte=AjoF_zC1A3jnl}Sn<@`l-4x)G1=Bw+zqgz!|V zJ|G`p97)i@AkMC5721});QAeA|guLTi za;GD^DY+;YdRtP$0NgI;-$-c4lxu%5e5D#amN9f8p|2UaU;&*Feg-l(iEoe=$&pxCatxI5f4c6JL zMEJ*ouan*}%tYg*81hOuNGhoZzDG&8KA~x*(Jt4L+<=qc9<9n| z7(>)?u5=wl_i5KjGJ`2Rbf5y-fpm>?qUw1G?IlCHY)Y@e zN>}PH@IV+QGO2QUQI>h3Ujv~f`OG0MnH9(i;<#DWQ{=V5IZ73BnJF72XpuOC8)kiu zw$a%XU@bI_X0{K-otvzx_H%{!%c&FK#tl=#*>N|Xl={f!GJ+SywJ z5$g@TNdk>m_CJhDGDNggM+#~%3kdLn^a}tT7%NR;siXQIH5qp-1}>RR3`g@xdJvjg zQaq%aK!?;2Vfz09=gYMSKWTi9J4w`&I9W{}nm|^3uhd_sl*@a=s^h(dN>+4t7O*6%0TJ>!5<)`u~ zEOc9Fw1ryylg)ouv!O__)pLcI+XrwQ>9I+!*H0>q&q-fU+4f?ZeZ50&_u z+xRzy5md=T)G6&hh;c6GceYbEL)%y+o<)X zH)hBCVl&DKNi&c(8G=8gTyathcP2snm<9hlL__b)nWYo&W>T#&Bd?px`O&~(yynH#*Ao^l^hE60^W5!T9Wo4~eZy8Lz<(HIiHlM8)A1 zJGJ#(AwSd`eLJfDs_vTbA5nxn8W;uF>L`2=@`H4+iH#cYxkL2QD}0 z&7hho7wr8mdyqUiHk>)^V8krl;%DI`oKXipI-e;761HOGETkpZI_njnCTm1aC|rJ% zwRP#yTjc>x7 zt{{&tI2TUWR-2)ZlXmbkm(<9MC3awcEpa{6Fq5w4Vg)e-BNrmLxzsi8n3gl@nCFUK zgLaTi{WNZ)5YmQ%*HY91B1N%C1xq23CUq+jn6m!XGFKdx!4x%bph?|G?lk2PMA6v1 zq(>_k{6R(SkL>rT-nN_Q`b+uKG&&7*Yhf!#j{SiqR|9D=9M4Ejl-Y!weB$NxC=j5( zWd=dpme_FA8L?pKRP81XyF1~5(v#{C^+D`gJyG!6Oe4TJk05ZS%XuoH2wulcZ>DI; z^xm3-VYbmu#fc=>wU_g|$(O*RLuDz#F4Ed+HhNKTuS&7oCI&^6zyPERVG!A&TP%Ra zro2Q-1uo~ebYXW(PVqW~mta%arKHL!v=V}oWdf!4V61sAL`N@c65)n&AbHeI^^L!rul_evE@<^&J!twl(BotSz0jVn+(`0%dL!SJ@||EzQ>oV{3s_`_M0!D~*>v*NTyVaV zF>OK_k1ep;idrn!7k(PBZG5Wh*o>BVu(zq|3VPQBop&3}DM1#3wO4Q^$;yk%H=5XM z*v@DS{-QeB)^KST(3MRMuS%0Y8n3=Jx5200(#_Kz8gB@#aV12Cxu_6>S$|kUs1z)) zmV(1r=ccsDdB4iq;qC}1aMEd~CO^i|2`!Nye*$^aq@}Ex63gTRE)RDpwDT9`TIVVRg&W1zX zip?5O7x@vcrWvFVUaL%Q4A4H12e@wFyEQ{ZNBhs7g8#pU-tX1=?<}2RFr54=wH18N zLEr~KgLvbashlOHMgfOnE<64JCo^s1iV$jGA`e41; zE@&-m)>Dhf9E;MKybzOFNFXx!@k*z}SRSWmZ0?z(-Dp4z4LW%Y8707oW1f-d zO@|&nDU{%7kpxy;bqf8kiJ;}pgkZybx0D0v5vz1j4@UA?6dIpGXm^bD3c1V*VSsO|Q`T2oHrl@A$ww}|hY{nq z#}f5QY+thp2(>G?HCXdCWt)G6Id5Xg%^Ya2vQ)7{GgKe5MgkYshBbJ~(d33R&rC8W zyU#@jBW*w>xRT`>5(>@0c`PX;vTRy1^~<9>3)T)iBF%U`zl4o>W~-wXBJfVGn;4M< zrwKLBV3mVK9x8g|@4i!S_;3W~rr>fgq6SGYMJivP- z#htXXNO$Qbr-hniye9Zt$wKZi?Sc+d?7%_SD(&zwShr0s+d(5~gd*PztgV*vvfy-NckBU%LkRFtIC??f18-a_3 z)EZnQp==f-trjC~lQM~xXSIXe=D;SKVjINKE6tPy0^FC)f_KYGuqn%OPCbKO@mK`Xi&Q{X5Z0*97)MyR6f!22+4y;;ef9yaZnQ1El@EE+p&DfQL zXZP~@xUL;N5@U!`#p&!-8eku$fr329bgw0SyM4nVRQ%)Q7{9blqg(4%g4Y7KrEK$5 zz*CZsc*_v~k|7J}s($yTv=BK-OOPz?d0we%ACCY4vFcPsxba37F50w3RRH;1D{G#s z8j;)Jt|LVX@u9_Yh38IcwN*?1o0Nf0-4s%E5%x5VV~81VxZ~o7N+ZXs?g z){EsB4l0|Lj$vMY!ikCG)mpPtk{+Bv0IlU@d|L_w+320Lm)0c*{dYqLb~*nBQXp6J zsc6R1+~jv#cP#Zq_D<<1V#%t!@?F{#$&YLr8JWxZZP5$MCs~i#M2<~pEYu4-9?s$W ziOXiVm?f6$O8>d~`kcR@r%3fsaifg#=AbjZ!pfSsF4aSi8(ht;=(0C!3v-#Snr$XW zaiDc{H!E^3bk1DG1`HDpD5(&6`#PEu%F>6qb^w3#r2S<=<@+Wp&N*y)wFn|1MFFkU zh->6l;HDrC1-JM5B4a%iG#*U*kRn)e284Ue_l=E4E?9({R#l+=fe+oaRRJ$3yt*4( zp~@;6E<%)oLcG*t)=RK49MY!FolNq=v06HmwM_72It9&{XQx}(w99b^* zTp@gl0nqH{iE1KlM>W_O3o?MhSnl+((0@*0X#iBhVP>aT-&!4~x;C+@bt2!)XvF6k zz56U;^sTB)*^C>6|5do0-==Vn?hW~D479+iaaDVwn+~)Y3PyAqxElUqWbA9p+t?L%5vZ z;VFPv4rod!5d^)vQZM@5avJx@02$#+l#VaeQj;JR7o_9a)qNU#M|Xq1cf%b(Akj!B zhxF@Y$xzyiisnri%w@puwAyqd8z^d;jYb)yU<(Bmak{asn^hXP_avVy3hqkP7q~Bd z44M@G3(pl0lXUem#Y-mBl=4Hm2(Xuc2{Iu0&NkNg#HAVKA|Yzf`VpJe>uO!wyeg( z94tB(@Xhq5=ao)gR@!VYcQRIzoc;?x@M+;>I7Xl>$p;8IMb27NSg6LMg2!|E>Q zcRu8*C7lv=CcpA$>8~)%Kr)#e!1XW^w%D|Ef0K8<;jS$C>*~gDJF|`^+C;)o6c3)W zs82pbx)9*u$ir+d=Ck4oGt_R&Al+kU0-}Uw77JAMVd~d0nh($}3P3GuXjL#pDy2&_RB{$K9 zNY;MK9Y5G+8t2xI7Sh$1U$PG|+RmD`Dn}qNgMA}pg5?r)G5p!l*366ANS$)MxoV6l)a?46R2KT^bZz2#LCe^3@u@W0V` ziX{uD><3gbQw+I;+KK&yZ)S5jzpZD(3H>k{g%@?MGX9q^vtP1Ymo>1vN{E-E;LJXp zv~7UbgkcOxk^lw#26=nQn;@p#wEPs6*qStI8&_3cZr|1@ak0XkCRrM$-ng zb2RLJu`J!7hl7=NMLTfY3OxePN7aZl3iobi#_fU3Ls5g0lGol28i@UZGO%eyw+J@X z$_`9Ws^G8RFp{@j0WxZBE3E-Kr*G*POODs*1-VcuREb+~a$Tj=mVoxx1n+}Q$xM;4 z^&L}71)T+f5AubidbP+DyMR&MY7bMqG)PAsOKpXG<>6GqJ-Ia=xtts-k*K?t_!&vL zX{CRO6vl4tDM|sy7)pnB?#zT96Tq*Rj!M#eD)qFj@XFNWQ8xu6wDeP#4z#5k2C8>S z304Pt&_3HnwbM}3Wv5e-<_yAauU)81aA!Q%@$}Qds5DXp+GxkEgFPq-&T(px$>}L; zcieCJv%(|7{@#V*xyuDExlpY*L=nEBz(qnyULb6^4;JnNI4c!C3{=QDw7XOFjGXeK zmcr7UD}rZS>H=b(1<C$!AQgB)dyzYc~@*)v4SkWK&J4T z?DdST9HL!dHg`&52kjNg#xr}y2{?c8W{dT~jj7Nl(d!t)i7870gCjsE|LSu7ZT%to zi7QqITBAh(H zoYX|a*k;sqjRZ(E*Ik@zn<0K+UhR~FuINLwe-A!$*-EKr45KOJ)Y7K=F!=)SSB&QD z7Uo0XN;|OUR>M28HZn8Ex6dZv5MgxMo3yWf*s^luEI7F`3C)H=Z9R-df+4mGelG`Y zGu;XhVys)5%-ReDMsvzw4wFBWDu>0V#<>fOsdKh@YNa}4kYtSz1(CpnWQ2 zW;cVyEjQ<&hYw{tP4U*uTOZf@c5=w(UAwqIQRHOT3-lLW_}YV42$0(X-p$Vyml7h4 zN()H5vuOUm^i72l1>qB2aHJa?Xr0&h8?9kj=(b$oy;9#TbUrlyPQ2SpjG+5*?XRM9 zWCts4ol}O>u~B*JO~EF(?+@4Qag{z@wwvO-B27~j0zZ4n(kK-Gf5_Vy=#|DT8ak6eEsa^~e8k2)UYa>7)TY8l9u`_Cl z2!F5CE9*J7pbu1i!3&@rCN8|;m`#HYh`Y-Px5Vso+Ki7;jWML9T+2bUxE_lHhm-6M2?$Es4I;t^%KTnC*nj7?yRrIP&!AdMd>2P6 z90jb_Yu&zhAz{jQT9Ev}nodPKuKK#HmX^j%J$K9AqjgHxk(-V53tk0&^R>5(G~Hqy zHN&@Q>p!b>;@(Y5+rWMG(rHWHsqnUuCNBdD(EZOIdWvOnzJd`z8J|K8mRr?E@F5}0 zKC5(+t~G7xrWQ6*_W9-fj@jPPAXMa{=NL2t*h)9Km698l45^J~iWjC=73LogFv>uS zt#jTaPRvyl97>nCg;bJcW0nS?`lL&GmtDxgu9bN@R}r!4TVOwU8@B!A8$R6D#3K|^ zQS)RW?hCWDEUdOg1v_zg1kPCsx2+dL$!xX^A}mPk+>7$r`Lhx0G;KoUrEw)Fy``dUxrKhkVtb;GmrgBRA(m;tqu* zm7a1KbQului-|``OCd9tjx*|Ab_-Rs+-7v@UWv9gU64H)1besHaw!VTIU@MZ2O94%x8eXmD06qD^&l%LcFCpd zVMBttz%bk$=&#|{+*8uQ>z3W{-VXPcdPCh7B!ug)mX`E#giE?ve3N0vof)uv+Zu{V zcIxPjNhq)wxxk_hWDfL!^cq@2BYgWyXzvwvhh)`k+LnxO$W=Ni>u-ZYi{F`jNlnV3 z5CJl$4o214!-VQ&;puM~-q<^Kgi6xq%dJh7%T?T0P>J(Hu!S@e7=dK>QIFm@VNEZi zqy{=j6otIm;Tcl6vtkxHm!KL6E;CCA41P>0_mA58)s1%AayWcN54oJ*rYu#vRe>&w zI%8i0`$?}_hTKsk@~{6Bm^qL;_LMdhKqlR7+VgA}%vUAxpl%6So>`vEi^~h~7{S3e zVb;?d^~ImCL0^yqbp;-N@hRT@i%%#%EIjeG>9J7UzxYgT+GK55hfo24Tg z6EN@05L=LnLN>G>?h0^GzB1K^wE|Lv!%3UGp;E3~O+F(aELk}CAXhFKo-bv@jbXf+ zR(XiVz}YDEO8l~tep)|Mac5c`ojrn?65cStM6n0c<+)n^Av^H^(%6kkB5&0lc`E~0 zoT##B4~Uow_%#cK|9Vgu%yGrR#+84jRSYM#aio*pj+(=%i01vNNDjy7<>yJ^H<}xi zn1Mn>-^|=5K|IYSxBy_db2=Kyd>pLgVPEZE>|gDrhlA7+!3Be7gx&`Ub^Tv*jc6aF zLI(Cg`bHNjjc=<{4DyGhFzOHyUp?XW->DBL?wx?Z=%iz(qq(;Uj3|zR558odMLU-+ z0~Xn5n7F%%a2_cDVikvrSFN*CX~wq1(Z9pzlX$@BV^Pr0^exN}h6rT!gRZCOr$Idp zIin1;fN9nr1%lfo4UzX^JLqj;>5L)eua$bHZyDDR_y(@-oeq*OR+G1mTEVc{Q`x3x zbXQ1{)D!2p`}QG#$H99fvwK!HCKnfa)zecoeRcySuZ}&>GB^eg`v;7sVm_fw{iby_ zc~JZfAV(>c|!rAM{cdA7Via38j}PeU97BW#OyH?vU(H?b9f zuVAX#kpNG=c{kToiqFN(E! z5DQnHRfjnFwX+L1O1GX=Z(bu0poh^PIJX!$25dXc^q0%| zy-k(3^=7_7>Er^2BT9~?2Q#iZDb|G~Dy3(fCP1dI5_BH`nI*BhoZriRzntIm^kBYe zh22CROV}+apAYNZE}fqb(RwfGmDEJdIp5{ZUR9MB#Ves+%d;UI58Pe&i}O_*!==sG zf}NCR2bc(ixy4*=3^weFz(;cc+6l*8NEgx6lXb{dUM0UF*Vo0U%Kxzf%Cbd$|Rw5L7GWxcY z3I}<(0E?*_o$*3~$4@xBc5JYli5=1rp@x$bPHTeub!l#ZG6(@>SF%;!piu>{svQqE zfE+R~P&F=0E%anMa_Rr(uoj{!p{>|WZVn#zW$a?i-sGe(1Ui_eay8@djGjxhfHvQ-_P22G4O!CHJ_Jd4yEdHjZ?Y`FzNVnKQ$kqqX zt(McMFyKPE!n_C1f;))XHS^IjL#_-WcXUS8lk4^uT(iRDak;3ddd%y#o?MzkDKp~RxnaGpjar6-VhfuFt4dIsa$D78v z+<-7he2zXeq-YUIb>_76&R7I3OH&^NWjIIXmg$X`SV>%Y0Oi9?!zgW37SbP=t;#Rm z4ANGRKR~XCd83=`=4$0pZ)h83k3_NXHe2rG)aivNhYPRd!dE{qcbOvoax%P1ROTLg zeYBVJI|ttPpl21jjEU!{yO$$H#J8(7EgXnHQ?E)xkJU|w1&^CbC=SJRj=>=te>uMc zRgz+JCOs4fKo|xGBQ4ZGh34*qTP6{UWG;9$huZYG?Mp+;sl?R7LKlm6u-V?46_(nD zOeeiw^s#s508gb{1WZxU==TizF&di#08LdhNhc@@6FJ)AepP;@94YAp0C1J|r?4{$ zS^JkzlQ45X<=k%uB5?Oi-SC)?1rbqc)P>Sxg-c)u!|YByjy!Z!b<<#$M28GFqQH-- zt2@SY{rl`Ms%@?+%PyG{F4fEc7;B`+^Hbt=0n6(FVfsEr?V0VxP~!NE^@R%x&}yd<6F zg}Z1Pv;>lXac$zVOn+pouoSy84|~ZlO4Qpl);C!?J=zW$vf-{+MVmV94^ydQkx}S6 z4l_v3b`(7G*|LPCj6nKP?y62Y5fz3yt8`rEJE1yv9gcb#B@4y@_;pq37gNs#F#iMG z0)13ZCUz!Xw}aHBm>%&DyF>-vVc%QA6htBD{hK#s{-jX<@Moj0Da2}RllAp4uWWNK zP1!2l3Nd-NcG_13k)XSYkym`3^-`znjK+4ZWQmXA9#@$M`6d8)O-jtPB>MnYKK;`t zye(^fO3V(P#+WczvH)^~)>kt^zJ@p(>c%#@xq`&2#p8eB3v5d|kh`X!L+Mg!z0sE3 zP-$tZx2t3-Pc+wyLC~_$?zshCnWqv)p4ot((aM|C0$cH0j#53*pgC*{&t5mYGmO8{ zeXQd&W_Q)>y<|W*+!bhw!r@$gjGQYT0u9cjw(wZIIZ@pEmi(R*`zsZ*jXA}+&I;S9 zJaPD60#o#}Dhx|BR&o|ineQYHF6Vc(LliJF1c|xbcif(}4s~I4yeKe(WGQpMS$p1g zcw0Eg>WR7mow?}IA%zTBl`8R-Aa_c7N77j+qhyf%@6(|Sntb}eG@f4y1 zojiAz1{o{$3vkWN=IDM^n;-oMHL5sc%uD5i6Iu)s;GCXrD{gw>l{p+P=eNx?E`b^s zvMWsb;{HNo2pC7uS~y7T0)x1iO+>o~iDgN}F@Cpp$>j#drPoy!hPKGJ<;t__mq3Ps zIb)5pLv7c#-(h(l?#aeoNhV=}>B(nj77g;9KhVCFEti;Gz})TrI6Lmv#zVR(!?NVe zD%_+it#BtpUILcui&pdmPn86Pr)o`VqOG?Ua!Ro6EZt~Slqg)**|ZPU+AE7iKEeb2V>rhh?THM}{!iiYv=GO^BY<*)=Z%6LN9pgHo zWsz3dx{^yP0b|;}%dqi!{zCy0NKfO(( zG{Mv{nYHEFRUg(Za%6nFjOEfJD6VKkl)MQM3;8yWea z>%1A#%>(M_7TCCXKcg)H;R zO7i;(GdOVPU0yc30mAx*1d($i)Nf`HK9R9B)k4!#bqt~1;_Z^yTLxDoV;)N6$FK#W zX*7td0RGZ{AJ7kGQ=RwGf+Myv1D+qc#V6IdlFE|&Kc1tLD%^4A0BefO~->-J4y-ECMOEh zbf@_tM+g)aU*R>zA@RcT}p1nGb(1&}i3Ne#STOwz+Mv{+ zkp2Y86z~frPSJGRp5bt;&{=0`IJCT*SXy3?_SG@~a#OFH3--hZFW^&#+3HY690Z^Q zyNHxW#UuIfYxJhQ@nJBYbkR!_Q;-4NH%iN>KU0(2yO(0)7|`XIMy{-q!bY^4rn@B8^3H%5n7v(9XJ3cKFjjeRjXtFVgWoWOM)V zqcn{l{He0-SNG*BkN?xB|M}5_G>wlRJk#lt z8!wD)@f|V|y1vR>^1>EaqGvL42%+C$-s(4 zxqz++9SR#3^MC?b?q<36S(FLf@Fr#Y_)5<8YAH}&t`@&|)$w?Gl|tl(5?nq3t>{g2 z+}%M<0iU2z04LsR@;b@s)HMmaOgWH97quFGR^$b4RMAZ-f0pTx6eleJAK9JG==cY7 zX#tm41#xDvK7hVNX6thP4GLazjSMOZ=Nv4^iS0^~^R4XlWMywUjTFk#GU&q*U+d+$ zqsRS~M)-At?0X(2&J!BI&MLI}HmqFi>nA-ADJ%1)G0s80I57EHXi^vw!0nr*8Cj2J zp&8)j<@_5M4T(!CC9^=G_<$CqP&krt8$%dzIlGP?^XVu1e^mOY%rNL>_BAry)v&GS zf4%rNvV?K^``?`@{ct!L^^mQ8FB51Bp<^ovsQ>IjJOs3DE<7b+^J9;mk~eMCH%s%v zXJC21{gsD!gT7gn@{`51^VUO%`i0EId-Do7!VTW)!!bP1rG~W*QZd%@_^&=}$ZIdB zVLV#QF6;E>&pU?!2hmgqH)ZQtik@*J6=_hYg}NjjVhMe4QPv?KAM z7iT+3wJJ2=up{ZRjAG-oXWV&P;w5ow+}%tAUw;;+uTZ_7BU3Vmd!#SHNEy1qH361)%hl=@k_qZ)K<`a5R4(YM+) zx;2~bT6a+uG?bT`j>7jMi(eow1l8>HrP8o`p>5X2#I>tWgLI*nvDoXJp6^4f(AV)~ z$Sg|LzTo)G?AbuYrRz2O2d%bl2AiW2nm`%zLBbEI+o5j|hd#GDT9a9cEY-Tn@?w97{Q1jwjX$S{hh zRbfzU7nX9Tmy!Ha?bTl~A+%ykqcNxks{;!j92-Gps z=7XLxj1h5FM?E=ba#Ew^A;+V{;=|pl@FWp@YRHVPG_`Uiz5&(wB$i6YjqycM4c+Y; zg94e*2hI=Akz`XOhN!9wA9eHf4^hkVm<)21b(}gXCt5{Vtkl5o~lAtT$!lxplSvsvq3$ec^SBI>L+C0DZkNY+JtadfM1cb}k7%W^!^`ju=Xi+_ zP(65EJHu&uywWo9_j3N%jVyeqR!M90_muEu-)|SU;R9e@LKhqKT=j)E1%c@t3LPP) zFu>nCSg0gDDmXMah0w~MjE=M#Q>EJZ$le<(GkUpif=SjNdh-w-z@TTf{9wX_-M78b z(lEHRAr|l(kNQEYZ*)rk_TPB3eh49b$ zGsX3V^M!7xgY^eD!#Aebnj4Y~GVcw)M;C`#QIa75%b9_KQZH~hzXJ=}!Ve{htXh*zT%%;I4v3!lzqM1n&e1H% z*Ovi|DL9CUYZh{EQzg@&|0h+m3e#(Y&%bc3`VSO-{S;1ZNuatg3o~kti!)cRrIlt>rbmG_Q zm}O8Lu8Yhu$Sb2Nhstp^5vU~lI~d$mhq|&Hrsq>cOSad%A<;~d$=HcwTJo)_$|viO zZt2-7K(KV`L33?3Nz0y4P-%?Y0IWtc*!ljuiUGJ&h|$U;-+zbofX9-#l^WA`&DaNj zx8c!M#{mthROHzzO+Ph9XLj7t1;`pgvy{y!vl?}kM$Pfuw$U9p2|}0W`B2DVnSlZj z828#i@28-8QyLTVErP4U#aEIEE9r67h7dQ_yEM_A!?auAasV;p37dNiw@W8o3SmQV z_RWH@xrBTNcRw%j1~d4Gx9E*Y8Pphf^pgff^;Fo>(J}X$HY*b(A2u79@kHu)E(4|^_2g_*uu7&kWu8$g z>1G$guv5`A;o$AvSt?sqp}47wkzZK{{uKg7h*I=T_8qMTCD31%ULh}W$L5!v5?Irg z;#JNk^r6sqCF}Up{`LOF{%fVU0eVDg60O<3d&3NY>wjHiwr?#51==mYxzrgebyEQg z8fNKRupn9hno+VmSHTg4DS=gSqGMTA5Qm_`W`KYEMJ(# zj)EYOq;bvCl>%)4kO5i1dRS9SuA*B(k~Cj)(GzjIY?Z zZa(PB_cH>?cQ-2aWJvq9%|Bg;hw5f2IqgBlMk~59b5V#q+~c`tF`}@Zf;N3z67HOb z=ZjZnaW%Tk??(4}bozQ8&?wJ`8IR)KS;kp`TDw;EZ-$awb&Ap{Rg zI%=IPvi6@r5Buj7sm`hoSqjDCS|K1BJe_nL;LQNgy(0#^Qjthz_|pyr?lm;XYzFSV znDqRS%pNn@IG?SR3wP#TJe!7lMcaf<@n8hxMJ6Y+6H1B1x_g{M+NoBjUdo&3D@dM` z_(2gW_4LDI=Y8j{^q7&O)VI?2Te?1F@{DJdCvVc~4iyj_jj`C6b5>3iJ=yP)qs3yl z`TOR;OV73C77w$k!^{$bij$qHXT^GOUWPxQ}5PZ&-Glo{B>Qq?fg!g3x7GkzntHpL(?3l3ao^6AkFHDDfN^u zKi@E@;_H+D77e9cTlV(DM$gO4F`Z;(tupmRL2_vbXS8nlAWxDSAPD?XwspYSn z)c!8Z%|Spi>9Ma0a9*<8pk@G@zMS7-QZD`buCkti(SySX`@Q-jkMwnzenFY*zx`L0 zgWWo(n~jpj!-wF_PL-8j$xg~RpQXA`YR9Ah)P28TjIHpdw^U5-= zkrwM1s_QYNtvQzNCMW?z^v9z`mkBidDwx(%1JD|@U!MsavpU%WiXviLY8eZ=pbtJw zadSn>9F2ZLXzOO4QoEAe_`RT}*!7VE;i-!G6e^j6U8rz6!f4jUS#xW46eVot7V?-( z>6Wt)OD^a4)j(0+0+oKV|8D>N{&Ie|JRNHBrH&TqhcZ$^QwZK!W*SuAk&Vt~`!y_z z9E_C{0Y3uK23YOPs6gSP7liqyLL*;{;22F~ySWUTy^B)L2MMIE};bE+=qf87KS zo@KR^l`TY_7{ajh)-?XsxGyfvlgyjlGAyyf4Wz%IXZhTy|tA3*23N4 zF1F-cRe-cQG!wx!of3dp>2AP8ov&qz+>&{cg7NhN+%frrzvH5l*wDLXYtjd!6t_LG z8PlK_2J>)R*f1LrUo2f4{@V1*N`Y1O}>AJWI7(y8jhMTZNC~%Xq9;`Q+8xeyz55LC_%Z2`f zCI6^L7s4Hf>fMWI57ujksZFYssC}?Twrpi^T(6Ugldr^cA~)~<-vU1T{eQvyMjUXh z(U=~18A@{*hJp3}$RaCVBzgWQTsTQ6+=?1ytA;XRvWQX4jZLL%3DOob`*50jl)?+z z35k0r^O?};1Z4s~gDVsH47S1M{E!r%(U0TIs)kaDK1II%}tX3|s^D z1E~Y}3g6{<2reAvtJB4{JZSCh@=qB{_xKU5*w7w4s6#tHe)OQvgM0k{1pom5|4>T@ z2=#<@v$<0M08+~U08mQ<1QY-W00;m80000000000000000000J0000_MM6+hFJovh zGIKC8E_i5kZEU1{+tS=dlHPqiMGY?(%h5sL*L7uBFk0$+f&!js%bZN?oXe z>d;N-s^5XUup&kgd$ke!8oO`OPvXeTDggbH(%P~128ZlM1BI$QeEH>9rDvbMo~%A$ zh{n559({24jSr5RiC;7^ib>p%gyAL!mAI^H<6D^0@8e_~Vu0 z_wkEq%0 z6B)d2@p`)F!wwn#ZAO<{nQl}`H`wzqs$Nk#PcqQfvw4I{&+X$weIOZ4ry0%Q<3REC z*uD9=a)wxT{!zt*>8J=-Uk(G$eBSGB#OeF-n*VKn7~kvTHpJ(9oA2vpH2-*-%dxEa zxP6Kt$5ZPIgTLc7%hNJ9q#2EnXE92CKYzO>>9+rP8t-2A$!BW1I;Gp|`i1EP<-g<3 ze9S@wz7GO2FEL(U`xWyUdr-^9M_M&p$9029R}G)+fTp2bF5!il%$~*-^J|t9KDU$; zm)VXbLl^BHIeNr4x0$S92)TYJFxV3AjCqM=|2Ilu35*wfcP6y!hOY??yahy07j0Y= z-nz(w=_NWNw^_}3!M-cG&;5#o&W_w%BiEvKz2alNJXef7yxlC=E;+CMsZvLvPP)?JX*(m z7pKVQ^P+XgVUaHLARL8?qqMv_KQ4o$%_=cx8cTGJ%>8R{s#0_xXJ6~{mvdnP%zIq0 zh&~Ts_jdygQfC%&uhSObsi80b-C?@+S)iU{wfoF&8~I4YJBEN5vo4-(}PJ z=Hi>Vg_seZv*48E`#op*KvP&~t>XDrj;MY_bB!*CfZxlT=AT5`^xYz|$;h42CTX-= z^L7Ub7hF1ZiUH6?%+^hO;_YUEEi(aTHy_D-M3YVMkWSmzdP^uAVAchRb7uQF){ee` z7XF-P^^*BnQ4!BZ0JkLu!9E-(8K+r2gYY)y+DA^2h1dpB_JZ4-Q|puEu@*KxQ>=(J z*eM96Logr{J*g0b%?z0~z3nM^2~+McOdZBb31$%Ew87WCT2iAV*oRJOAuiqG(F735vTGvNL_qo= zzk_~bz!^z8T*+kk`520_cPZ)q8aeN{%UN?86 zqLG}rP_mO?9Qb`NK%i@hp-`IPjAIX)|E>BJ674!aCoFbcMX3X#Kfh(jWgPl{gawMp zM0>DC-dxcV$pVJx5!jB)>hNqsaEgN>wuz>+=f(T>NC{JPL~|@V{;0OPQ7tFTZ6aOQ zma+2QT{_-{>}f=6DDju1PAun&{X5ku%|oMWq0gMaFNoO=jlea{0bRz(1O15U<#Bqy zzG;R#_xr#E(e)r$Fx*MW>f;?#d=Bk75(*|{k?`iBQ|3Uh)g1dlP$N(_$8ydpQSsHg zSD)F#@6RpW@IoDWpZB$QIe9*gri}K2`JZZ%=as~OB=%L-mJCl(rG5aW#U=Z#x z&4mA)izM1^(q=WC`PfUR{|aZ+%0g_;UE~kI!?oq#x}+gRKXqDoK>~7Q3S@IUPbk8k zk_|HYuiOFqj&o6AKNSJ;eX~)q#N*oAR5yZb<%>_IA#U06FEA;YFf`M#*(JOa^eYKV zr)l}T?F`wNj~G0PScLEqdGK#X@k0glUCt5_x#8onL;*_ACim zj7kF$qYVP3&t&G&!F+kPoDtlQUg@3zg06NhcksHcMxe$-K4j-|S$VPfEtgzT)szmY zD4cfURV%SDC96kIYUrUdiA8NPJ`=R!Fvqe7D`nJ1_nmn9Il1RhxT5ffAL{wodOsxq zJ$Z1UrWvo|$MHC&CCt%`QEtA?Bavi+x!-$gI4n~vX`}Kd$kpjKHP3!Sckx|ZCuB2u zQK)$EWxZ$)1Ludd-`mw1KEg<}=Fm;x+>HX6ph8;O?>;wj9qD$z23mU&(VR^zz29l3 zY7A5|j*v=@+`eFok4H_Rg;z;DpD>DleC~YX^p7Wm2!|GMG5u60zn(9Fl1rKh^(Xl+ z70b4fRa_-v+GYl=NbFZ1(0a+8{e)Ra?Ey2nJ^j?Zx7Cj}X-icJXKX#p8P};Nan<@& zIpe6|gc5=DTXEwW_D~&`+)mPDzZxUY)ykLN%_=b{4M!_a;EX~6w=9T*AGYCdXWofZ z@gx811hZUN#LZb^NI-BE^)LFVt#&@m=u<`n)D|ML$&t{z5J@IcG-a=fE8eJBflVVV zIaVX?F8V`$S%j2r=iZilEH4AkefWdUw%^6HwETYi47C0NkB@is8WjT~UU%Tc+`=^< zurNW&X}L~M)I_8LvJ7q1l4Ib2^7BJDK?_`;F|+kre;B{Bza>@>R_CYRa@x zAUDGtyu5+$tveaLt2`yeZRRA=6Q{3v^;9PRanz)R5WxXf6{*O?)e?Y*16tuUu}JHJ zy5Id_7uh=!&|TxS7V7+x-+&>+KOj53j&^~>{a`vYLwmKN;=PBWAg-kQ$=FsfQYeMs zi{!oVAkNB$Fc2T2H6#V#$ybE`l${rm8w!9$DQN-rmB3yLCfZtk5HB8I-(G}R3X6n( z6395QDPTCQLasDy87m0>kRCe)3aMcvP}tWz#(j_-HoGc?eH7wfgg~u(XS2JgTa2|1 znMuWoh^)FC4u4Y(0u-R);~UH)r>Mb zB?cE9?uaJyyo2E350pK55YP{|Igq4FR#rkhBO9)Kak@gnuRieJM36nI3Q*)^q~idC zB9QW_z=j)k+L`fP`PGR;+YRwDf(zvzQ;-UE5 ztll+H2l1-DlP-|B8(eXV91?MAJ+eA*d{fxSh!6o)tuc@aK1|D26%zy+6Omb0NXW2X zB27J_@ab6=`tg!cCOcAvFo{yFcPW4)!l}07gTPE1Nb{zxqcGXd+8I36j1MH3o;^!z?=^4~{DXn%`WIeoM0wMY8Kk4Au@)q(gdS2Va*k{7OYW+f{1r*c zOR1r7c^HxMZ?u$Oe>%v8Ph<`zl6d$F?PLN`3=%p{zL`} zI4e;EANSW|>Tzw<+R*XnfmKErMCUgHOx}wk1lq2n`K;wUL%|VR5Sc_*M;m z)>s=@V{L>w70aSkR7j%{;6IXO-*ZUIF>zj?ie%Mc{ywC5zQ*(-XiS?}X^q4ux8^qE zgBS-CrCsohJ$Q!8=`)O7BoVS|`d~98A?orq1r`ST&xZ{R3Or_J1LZA|3scb&vP~~g zTds2UG11(MM{+`RsL0Y>_t{*o^%1w=Liz~vN!??OiH@^drfQPwFp6WMP|b39rS#OO zSs%Zote=7-Dp6oD%L|L+1;8=Ahjx>SYU@JTeG_Z&6(%2H)R71K>0W@8d{pm{c^^VL zZ7(#+BtgVJqo=mJ+3NVC5BuS)znOIDyBQ7*(X*7G9&=EH(oM?W$?4_s7yuYRkkO;g_2T~kY?ALOL8&bV{|a1 z8zAo`0ifNj_3FS0X zv}m})TrAc4s=Cw4C1Pl%4#KjM!niPYkq{J81K2~w)4F|e7+Qi=xDjEwe$S&+_!D%4 z4Bsmkg+tgl_EVeGTMj!153YICefvY4Z1;hx&eO*>6p(!(#@mPw^d!ceFF=9*u`&nN z!ul8`qM6zY^}X242AopXDS970FEJ}rz%*F++)6R5!jsK${U!@{I#)K>>B&IYB{iuq zl`yP`?8<4;&FlNU>?HMsMvSr@h@l6Nx_Szig3r>Vva;MlBGJ|6{sKB{UQ`rSskZ=oQ`d1WSFl<`ia-t@*6_y3gY`}@X z3zS4D-b2y65*8lf&^YoxbTL<-t~QilJmU-qq>E}o3XjrbxC7Ok7hzLLY+-`8GNHUCl3>uydnj?RSS@t@^XR7%gS4h1l$2ks!Y#+l6*c!`B;3)S ztT>Bwi&V+Tgk8oMG#(x0Rs;WYi)$<(A$SZ<+JM%?qN#Ey*~bo>!L?l#y$*pvF;Ln1 zP2GBV*{8oTRwBA@N%w>SZRr9}D6I)OVzg{3xp>21$j}w>R&0fQ7a0Qb%v0a8JHS{t z@h4Sb#OY7#1Op1*iF9AVfjRXUjj!g3eQ(Dz>DY*-T?nkI_^Gf%u&=~vNmS%#^au$> z(9^1TfBxRea&+WE#2~k4rpk@!Py@r{N5+Lo1Y$4gDWVlAW5uB}G#@)!wp5l$pEV3u zLz*F8AWzr)TY96oP&GYSaBS);1(GEkgS@k0@EWkBvG^kb;siIT&R&SRm2hi(d9B$x z3mCBX1nreb!CK@F0`QPO>a`JLw0rNkkL;{UX_l1>xm(llaqg=Lja!J(*$hT^*WSV2 z+zv*3Vt!My)va=YK(HA>DQO8pN2AJ!Ry+|VSn*S!FsfxvJ!#{zS0a`)q#|QAJn=G% zbI=+tt=H>)SCVC(eX!Aq#6fH=?TKh8ba6-YGjtaTTLN!~pJ0wQnKSYCb4Z&>B)6@X zMnqfGw;F{a1r<&V6gtYXeh~b7UE_DiOeR|r%WcbKj+T%ot}<4^2VH_1U^9CF#{64% ztWgh#Jj?7qa#0VNjji0_a*qFalsU0X=a)e#J+g8P~q@LPEl!|1Mo?CRb{!+i_i-eHFPAI;i+zHR#XmaCtGR2OJ1YGs1 zFdwcs0S(Kv+^@ODe3-m4zdR2i zy9G~vkcMalk}>TS=|-09L0;$R5^~8=qI`|^+H@)E#cd?VI6rCPrgQ)eB%3OLk0G<4 zbdYO5J89`~sw!f4e)^cPm|sF8xmbEHT!?fj{G$d5(bPQn)E&6L6oU}f&sp#YO*)&Q z69l~|xfo$Rb0!CVWR1V!tWcMA+x91`)z_PdKsgD0sVulp&1P7MkrifKbjnaa=9U%Ymyt0N?@nPhMGAT? z7zy17K0(oABUG$o8%tcxZ@-&>0e4L5XDoHt1_P)rc?cM8gHy;Vp;%x$s!^!5Wbte| z(VZD0?qn5z5}n8_#*5y6WS6e|LPY!m8}^nU=0r97c*M<4x{$HC9`{tG zV{Kue#o9|%qW*z_V6V+RE!nRdO+jXB?y1&Ih(R)d zQX@WCDe(A=ce^6IcQN!%Cz4jD=sJT7ms8VDMCoO

wM7pTo&bXbX9SWaddl6;d0R zJd7;0gJeqTHJ(P=7NVRvA9H#$j1G+`V;{fkko*q+m?YoCZrBVsyS>-@Pp|Ho`(-wy zUv`_Y5*$CVh z8dW|boyL2>m2v&YuI-dvoMfREE*CM!>N*g(xX?xIFJFayisz+IXm-11$PJ3#i)0^f zLt&f=m+L}?h9!gZERONt#e#;7QsVckDbpfKa2yhp<-J>%`_*Tqto~AX^3({l8;N?w zpZTTof-^pcPcyO&wVOxgR4ju3%9qyUIIShel|64pA@qDO;dbmd$YLUr`n?E4Y#Cx_FmAol>-UAfvUwYTWj$b z4^I|aBaVTHd1yy&-`_XjgYr9FpfV-or+lF^iP?f6={A20)gDyFkf@tsQMTrpeuhC* zXKg-zJsjgGr(EWrAL=$e3CwEWS}1F4P=*k(7^kIvo4BkwzLu4#7knf{!_y|Z4C!l} z0MekV+nE+9{?ZH58-IZ`k35Lf%svbGy9892Xh6wlz1&H^X(YP_GUV@*JPRB5m5ix8 z(uWXH6wZXP8CZ9HV?wGAh4G=!8fXDg%lJgPW{OHUe(jIexWDNbMxMm)az#irb!~2SMKUo{H>Mq+Ru%YW3aQ9lbo`{VS16*JIKub2{VM$AB0<7h6P<= ze+aMM?X6o~>|_F11Yc>J%8*IvwYc!WH``1Eif90YtSKHfrDN{`Roy$PDxYNcCUMU% zbHlcd0?Qt+jMh~DR%Ght8W0!UsGAO(JBOQjFscrjp0H`E8k9VIDdw?WXSXhs7PR)S z(XW3;@~_gviHHKjO3(fUr9TT+V*tz2k|2)^5_79JJk}~FAMcXI^-_c=MNm-M2JDkx z0fPK6)QxPbzrh*_)vNN6Q#oA-`EA2BB`+jWOEp3?@)+uSW4cb4&l~Pq_z1nFkbgtK@8djOT*4$GD}|MMFt2~vfVxSjgCyH&5!FOgi#qW!8CY1 zLMQoiV%7w+;+}uhg%4&hY;`X~LnX9hY=mqDHSpM3sVH6a5cd9KsuqQIam8e5 z37urmaT=OvrIXO#PpMMU)VU6HfA_hk{7n=hZrL?iMk6J)lOaDU2+=cH4W6s9<3zP# zyQ?BWgUhj+KZqR<=Bm4M6X@+yx%F=(@-l97(bbcL%-)}i-g?s~MIC=)b@%@V4lYED z{f`gjas_X(A~Y+7kZ7LFPjjNGJmQ0vEHl4J4f?b6MW9i+?lKLR-QPiXs5G6a3box< zy61cE>YW>_>LRGA(0cy|xwHI}#L{WJuK3Gj&Kl(kb7pII`5`dJZ+PSW0PK7XK)B*_ z&)cX;R%}l?`>J$= zUl^R?9+CIjwAn;bE2JDPP$e%Iz8XKL9Nr3&ezJA5gPkI5By$;M)oez7OQ1{dc3ftJHPYyYlWzYxT{2xAJLY-T2+PPs{iqf++(PWPEU7 zlWV{X84-Lnd;vL`k|}h~R^_1qMTO!SiyW>a4vziN=O?<*N1_CtTHmN@!kKp_tLEy> zP->8pru?jXnkwTF$y(mir;WN@b5;D$D!K5%nSkrnC6HmU;X3p2tEKPq``~MMS~ShK zZZ&k&QBF|q)tWpZxf!pO!vQ6r3_iM88PeSIyGs)6rIxbPW$>-w;o4`1p zs4^4y?sK>AiV*osQ%M+QR?209MIm%v%4AQbeckhQh`oA!6NMRglw!DN4SU?G=k&i? zF{(Uo#UzT%?$ywj(k1#yXjj017PNqcxb<9d^JiSDaj_qw(?&D1_358krFWV{>ky9l zeC!D2RX+A+h;* zyK>S{oGWONbNjzn4}ZVrQ@;Q~mk6hGn=WKD+JS~J*1hD87oIR}i+r;IlT6VyAoLw5 zIfK6r7S(rmRy~Mhv$GG5W!hVwZiUt48_!ph`hpD%6!mLF=oI7K0g@Hd0kj~oL^azK z$W-2tQ6%T#Pd|rv4cIolQ&akgm997*ogHP#2nH?#Mf}@1e3xo^?mDRL)1uinoX?Pz z!Et0G%Ccspv-uJ=`!u>710QYkrPOccwz_j3^0MR=qC-E7T~=-0UR|9ihk|tQZ~0ch zqeeDFf(#C;-c9}QWFygmux2qSd4J)kdsD^KVjkANY(}w+)7-Rix~}=PIr?|E#a8jv z4(K!W&&lm@M4T!}4uO7SK9-%Xrl*R$y;h%rd)nMjl&y| zlk+;&jBE{Hsf23;1oIPe0CAyv3+EmF6He~jrefIDX`1rO=uNSRNJqW& zUFuAIjoIJx2T~dqs{f}!V*N+(GaAwAZuEg2i-B{-kFklQVsYj438$cCkoB!zl3y9r zGGIUr{waD;G-R!*fb*b+5DJ*jbC|f)ZlqPzSGwz^L^GlvwSy**=bEL7U*Wk^GF9tv znSp61iAq(A0Se%5?pRsDx&Q|42Ppr96xA>lp4fGZwGfwqRL~9c&lIIjRN44LIDinY z8)b+|;Jz%qe)BO`)E>v)P{(8XX}b`=Kw0!l6vIoR$?FEjRAXRZMG8*@cpSh`T0h3u z8UI4z{fk9j3Tds*-<4Zo1RP4t^5dv7TvcNF1BjfLcASMm$6rty_4)@X!i%4_qlsg` zX8gd(mY|cBQmY<<>a1DXpPLcn5BHgGtv|`yH-eMm1bf zP|n+bfRz!ft+OToA-Z;Ekl(EH^YgPb=suR!aly+Ms`*H}!&E=GB;5#|&4^FQqM4Zp z(gQ)YfQHxb@1aCCi$fMzKB1gsd;XgZRz<>H}yvU*! z1X~mHzqhVi!ws7TIo}!V8Hd~>#2)sUF6zk}sLXf)zsYT-G>iZq#p*F1Vk)CFV#yEJ zYKxwo9iOtYOzajU{wODTFN&mpHr79h7Krjo>;QLx>^X0lKAhOaW&fpql} z-3-rdpvzpiKukL#Oz)xvq{tv`ju}H(>Cu$gFKbWgPM%@z)ai(3_a=m{gwF*;)v!Gy zlaRJ>e-S#F<1-0Ed79{1D@$(;A>S8nk zYEBVwGYr8ej@c!gj7&zQ2Al!ucTxt-oiQjxIa`5XsN@1qA7g`enoMM{rN8Qpsaxx7 z24vm9;!}+>*&b=JsxTaaPB&KP!7EWhScb&WNJJV6H%1yy}7!|Mqo78AZb&x239-+VK@HxdW#; z1B0n1T&_S15fZh1C2ky$9j!0jnw%Ut)d~~_YT+;E5lPuU%CEmLv}Z=A8&w`Thc{sw zz%7x`cUqT4(dbx}iKXNKbhZEk5aMBKg67=rP%Q1Op1q$`TaL+H!K3gl>Pzlo0J2gL zDZm&E<7(MVU3vkDiHX^WGA zam>X9O(8{xi>n_xa?cfncqt&Si%kX}D241;epK3}^ELgvs6{+Emg(L~mC`Y9e6Gm( zb}4sWoj1bTUY8lc3Z)X7qOo`7{u)$th^<20Qbi=WlfYQ9>kvP!ueC{MonBr+|4u1% z3sQuA2L1PT#w282hfdXZ1`W{}2W$eqG7y_Na_@dNqo%JM(sWBOg^|JsCLx(-&=NLBYH$O+b|SpA6``SiPpj+R42AiQ^`Td4;3iv_(c81s#$)#2>@g8x z)Jt`rcHJ6T+G=qYO6tHk)YE10KQmM2ec7miV=Yvjq`h|m6M<`zv-#)9S8wh2(u}8m z$vqXs63>MnYSZ)_8&(-3USzq>P}0`LyDVk_1W~+hJnd0qXVtQiw>v+W5C?+|Dn=hf zq%Y>E+G;ST)(mApI@PlB1HAE}O91_Qh!HdgNMeAvn`I{sO21#a z|J{-ab=R;-r&3#cv3Ce#mFW+G7_NA%!w@DlAKu;}M2nEBEVbwp_uKb|lSe3%OEEEf z?W98_hHlkX1Q(y@UEt{auPY4K=C9n27g-P9*Pp&75_2N;@6wCN8~0aDAWvHPb}7@8 zoukeg*C2bT{wBlgR>C2|_wMZ78N@~=xvm`WI|e@4$E~VkZ7ON`I)mD0CUuSbwZ7@F zMV++PV=S;{DIr#Ui|Y*vxLHn=8@^yRCG4VVO`u8J`a32_^dkISIr^%N*CY{RB|HV1 zc^Iy%#-c{OQXTA8xDXI$yZrAZf@N|IElT)47>BSz8r!PDkU2$Md zc$zuX=GOE5_jaKlioox)#sj!nET`A~{-mFtR1o`qfcoC@q9BPSm*Up(z<5=xr7(@@b0DzH(*Q@x`vwPyO|p|82W{e0>Y% z@OdXOn5HNGcCqURN~&q#ZnlO29dx(aUv2O%8o7Mr^S#S`-+%XD^~DUqeMp%6y)Wk@r&ETS2Wy$r?d0qK#eWWdH3{tQ-sItaTNX*X#_a> z)#AD|z*ciWCUjxQkaIS#(`NVgF#gxWF#pGGO!mhxxzEeXeu#Xw)0J9w%&^>(z@6de z_RZ+v^{a2@>t!W*Iv?x1T5!m>j9##O79Sw6*y@{~_ftQ#{(6FQihCdQZ$p&h*g&~M zv?CKaHkT9~&fOGZwR>7Xt#vpjyDo`qO=iB6$Ndxbh%fuL(wZ{Wk!6Zmwv{yZyeNtR zBb#n|Z`9DE34tT-9%XvBg2nXYa@B`_w>D@CP!p~rX@}OGb~rmIIv|r%2=xbLYO{=}s#v@-giVE55}IjmHw?Gim(*>u4o2zX z<@Z_CmQ3WcXI>hj_BkM)?>}O`N9FNmUmiw@zi#HK4ZnDf4Gai?G80C~xX4Kc&skXL z8q10ltBJj6^Xt*urH0Qo8{%I&`16FxeahG(zqA>Fb8%cc9P5c3t;zhWLp?)~SZOIa zg(?*=WUZZ#nWOhxZ$gwOTS2k-I<3Jf+zZiJ&h7c4boyB2|emW3n#AjwPbQQkgY2@La6K}_jHFWR0W{Oy228*^-#)lm<5JiaqQM{#Ldhe$%08{oD20|FjI zg(KQ1d9;=Z)0#37&rsT7L$I1PfH%IDFYa=ROmq3tTli%XcQ*tVg9w3k5EzmgAxi^W zyY?m88FBNohm8$~9qc^r&m+8DJ?^(<^Ja@IA@319`{v7FbF%!oVFy>bPMC{R#~g-a z{55b4^NL_;3UdqB(_P(oy0-c}n-~w`kD4&3p;LVJG|u73df0|{LUF@PXCADEJXu@3 z!gGKA@kn=LMA^_E{cOMb!lQ95n*k{n$1dBoIua5^ZE&a3$cRi~uflBbVBC2QBOjJD z7be7+o<(rPmxYBp3UaTSPq6*v0>9eeLZa^SC0iFwYCUxhdi7F08QN%NZ4ROM`BCQP z{IhtDCv75bE*~})x!-R=_+p*+c&5zQoI_Ny#l;Yf67=tzVvg6-zq>jC z~E@E^OuvFJin%SS9D+CHcv3xUmTT}9f&+8-NV`A{=GaM@vaZ@0H8C^BhN?p z7>*#416I-lVn!dM+f0&bek@Vkn+(y+ex2+m_<5(YJlkC*?<)G+CnUywT^sX$-_8Us zoOyaiuVI-4M#?sv(uU;g_Hy!lps3c5u-8TT3y1p6Ju`~4^%rIeXWaz1n6)anT4@&h zxx2^x7d>O@t(8N@rwKqD`!DYk=!#gAd~&)dg4ujF9Qaq8pVW@)P21?`y8~wq&1ZXr zI`l#uy*^tryY2IA5ncLc>*2JbzrlWN5$=SH1!U<0;*Q1(`m)=46 z58f$vAq1r9OKrR|ZM^eW?ED17GCxz%C&6rs231;HJCeR#WLI+M}6#U5JRsEaWTl(pq@l z(u|z5x@)cV#q|kLp7~3^{~?u4{?4j`fq-^r5Tb#DA2zJdE|)yjf~;V}1Y0CO0J=ie z5HM53bguEGPeoy?7htwnp=rxy!?^HGjG`Hw_!w{o$6uq!7iN3qWDsU=O@;UkV0ha4 zgi9XWdwAIB=#8m?R8Zhc&93ZK-FVx=&szTI6xwYTa>y?5{#`I%QHNkY z3H+?3V`U8Ofu{-nHC|~@WBJ_F zd6Z<*U(;Nu7E_2{Mz&ho>o|Jg=5gQD$RHTDGU(oJ8Zbbhf`km7*2vu*B#-eu^OnF{ zkHDnp&{L=!POCU<8p0as2H6%#zYoot>>)W||sE4o|UWl|DLg=hGYHBv7RuDFd zi=#kx;mk3!cjCnj!7I)~u~qIp1*`Tu=^w|g5b>J6lb@0ffj4aM7Ao{Au4KU`X@Z#) z%MF4bY{KPB1s{yIqyJ9miy96QkF0mkSK)MAQr-Q(p^qM)D>Qa9c|Z3^=pie3x|ThR zt?QR^2D=4#|8!8|=m73HhaDGpbmhg~mGsE` zB~sS~{PqPLx8sETj+T*kRMREc3e|&2fLtfn;A*gqEy7vONQrR$i!`~%5PcgUV}WZV zoN*|Mmm7o_v3Hb-$p^{zX?4_yAp<)sAE5Scy-w8DI?wwk`vjyE;};fP0zVy=wU5mj zhg=rMas8W(x>+u`blt@y|6iEi`b6Tv{gSDpym~Qoi$D;9m0koc5*>jp84TY4DC(fa z({aXq#?vT`1wUW*wuY4vQ+x}%nD^>OmQfvG{BhNf3t`*0H?}^~00RrPbcR-!Oy%-E zL+86>Wf5=#*aCd{p2^Y^#)TJ|k^KZELYhxlL=1~Z$<$S!W=qRV=4Tn} zyf)Woc1d}omWT_SCPOxlEEnzJSbT5;G#s9Y)c+D|atcuWhewDGdf}yi*F)5L95#CA zBpWsqanCtMW5ofca87x#8Rr~j%Gwnm5;0$6$SJ3Cgo?)=VYMFMybFf>#dT)-8prB; zPqd-jcQd?Xj*FZ*5R`7#{hWwNtCj%q@~30c1>z;LPMMo9m=f>V&O zgfWz-95UVJjkC9DE`2mO(yRco1%C9wE?)!^+kKyj$e+nd4UybVjDeWD{tq)?IRQx+ zB#J~hyvwpI7x7^e$jU-iE9wC!tB?n*=QGG-sRPs5&t$Og$WV!wNnn1@h*-)bQ2_;<}Az9y>}W85O_!P8)A3RTJ)t$i+9l7 zii8%ATWFx<1&9TK53X)+bxaZi0#!9UoDMf8E+&50A$zU<>c5^wuVU=U=JGvFn}!Ht znpj=cTB&$r{*hEC9wu6%sYM)GM#9(|(7Wlgfi5!7zkYfD36WgRX<%FLa05A~NBx(R z>l`V=M}t3s%08^u`()na^`Wr2-W|#6C6YB0H^9DgMOE{;Nt0MTLLk>ILc#p1QxSR#P2~dfpY;mX z3l;zkPTa|QA^#wuyabVNn1j$gJT^*ATaDMph9c4U&mv@VmT|j(7NtcS5W-0!9)1KD~IO`!xAWF@xuD@h>=0ro{gneQ#7O6^}%1rl3h?SQ1nEUpv^{0 ztKA)NrAF}(OA^1=ti+O@B-HcHRK;-~B~V}H%+?_*b7PeEgx)fv!Z}fS|4sS#WI3&t z-pw9sOrK>sh;R66zn`VFh3QfSczaQ{TcrsHH}@wHZ`3bV9i$svx&AviJ?9dNG`lbr zHeo#A$3hPk8YA$luh!_vn=GMvn#RoUtPa>_#X7Gj>Q()uv)4pf^F{q3WcjoJl7pd^ zk9Cc2h-qWH6;J!Co=r=+*SB+}0PEPo9p8}2+JJk2S*Hf98qA+0tC;?~DBG01w~^Z{ zF#?}(mHg>FH&CXog24I&kpO1EF=OdA!W`XqpSNhWp1PmSeOWC>gk$bf@3XOwR9$Ss zvl$f4(gAzWm1|Am!f(LoIM@>cAfxEu%mB9##^{tQ>oBnLqko1H>;wN`l9$Xn%}{S{ zw`+zuywLyHJgSCPDxLkGk2d}wa-12_flr3}b=u!i{^SEt(Xv*C%Fd4<<`bNV`*koWJRN>{|7SJdsli#{AW`0hQii%tKRHJ07227F$M+S z5PWg?0RUINZZ0+3gmrE1uE}y;qpUeEHk?jB1^KXhIa$5E^1rx~KZcl>;b@p588!m; z;r2C1JNe`>=(Uk-p5@&|VkzA)(QWJJ-RdKw4(dUa1sZKEx2#P}sl>@Zkz4-m`>*x% z=h`MpGet(Ai;C_V-O8E1dW>|$}&R=)>MB9gUHGTwi|5o=P5i?X$o5Y^ZwsJp5j&47= z2B~B#f4?v=k4z$zx;n}sGsq`o%`6yYO29PE*xz_K=)}F7`d}d*;iTF~N{!*u7Hfit z6y0Dzxc!kEGBK*pn|5Pr&_pfA3)~Wf(sZM%HN9NZX`eWIiam*(+yX+?in)O9Yhg87 z;)5=_J4wuub|`#V!7JLQ4zMrI>szUS-H?Cv#eIhUG6mG9@sDw=6ZWn1uFxnRiPFA| z?45M#a|3=5PE>BeiDl$e4 zanf-Qk9)eJaP6s)27Fu)^atj;xp>JfR>u`@sJVKmG)bZ})JeqSfh+`JAf<)cOwbfA z?t3Vlh>RI>UZFKrRc5CwvV9zZ^P`;pK;Re1cO6YmJR|7DaYhlzPHB;ZwdTMJp)JDs zFf^O|0vDkj&3-bCk~$9HHZ<3m+bysRVs)q;hZlAN)p7Jswfv^MZ%dAQyy2A2pPyiqH-{lL!cI?(;*A-YMJlc(M3a;l9CvJcxX)aWk2An5 zZ-nhIS;D~5?-ekq;-g`h2^hrqk6r~QNRwK(dqonvvJiI@V`@cAU{opwYq z5&Cx1USql}@ATg5ZhyI14!DgH(NsC{(q!_QN?t)$4-gRcy!){8!ERD1kJ`^tqnr2( zwwVZy4D3w9rP~0lD4^96a@nI1PM#SR!P|`hD_LyEZcy{=#`eD|+6c~h4yc!4uYM8r z+AJbf1g-Q(!$PGEK*Gf6sw<%7^4rA>z9Q!L<`E07M!R7WEl6{#rBtQ;6YPE1Dzp)< z(R1C8wW4sx>LJuU_iL5nvevRer#Yl=|Vqt*PZ zN^l29VwKgsI%Mf8GciQ4vEtH9GMs$ne^+95|3le1HfIucTR66D8&7ObY}>Xcwr$(C zZQJI=$;3`3I(g4q=Lek6-Cf<)U3K@~>)vZ!rHwKLnb)Po8E{p7(}fQ;qFSXz7?+7C z9*Br2u<29{d*g$xReHMNF|ce^IGV;Og@yClrN~#Fbk$GP~S-?Ik*}n z)h2UYrTcoZ3UMGkmX@0)rPdG=#n_IEgoTFA>NsQ}_FPl*=XAI)Q-8ryc z9g{vz%g#%*r4|ckqYWt%LEi3d1lCA4j@BxIpKL9*q9%{#!i%4FJHU?bqL#EPm&}vJ zLtD7_@^ZZLmqiw@e6`LCSTZqLfOT+j8rV!GkS?Z-#7}V8g=`h zk#26oEV+8ZLA43M4q|nrn8`WAIBr#KLqWrieCiWkU+{V~dL~97Hlc8T#m@>Fs?Ig- zI2*bP_W+d{)R^eLSy_Y?u!1TP;b=8Ec)9-9(lIkSQGhH|s-p$fXSbVQRHO#LrVt|@ z@h{O|Xhn)xXf1`x?v$)KRa)JS*gS_?U_CzADeDr)(#STv9Ql&`Y2@*@)E(I%TYDp3 zA5CYD>>3<0*pmI;y}PMM1fKt^f)B!jD2dn3Fpz!4-w6w{$_NMKMOo^-GO`~5;pLx& zbtjhg8e0wIX_lijZ-hmsgYKHG`IpT8W{7v#Bf9w4J`EeJdU-XqRKe+Fexl3%^U2l3 zJy})U?t0G;Ce!hdqL`Wd;yxAczQ{@Qwl(FN3b^eb&b%u56P+b5zmbG9sprCxX5$DH z0!qp+D5tW?q=oQcwn0Cyt&wpmOee!Q^OnWLQDcWiIy^@7=}OF5D?JAFtDD~|-XC{e z;tKt6y_c_DwBI#wHud60Kx#8E<922PX&*?grn(HpT1QhF3lZKuy98M7U059=AvlgF z-TK63a${;39t6qZJf~M5q57JZA!<>sPuO;)TC}lF=?Fh+q-2R;Q>_ zM5KZ&eBme7^vBhm!;3rMnkaD#JqMp~iG}3<7UNdf^ovmx0oHZJH3Z=-99?mYoIKE6 z&aRSaP5F7`>*pm{(}Ut1Su?O;SqKK!o4xmi@#OiVoL1M7Nm-cx>c?&;YW%1RasQ?w zY^ei5D<&Fx)cAq?Och}=ZOU_fbCGZZ?oAZUs}L5|TnJunDMWEW%FerzQ+@n+e`<$k z=8zba<=a0w*Em?cGr zN9J%KQ?YJfhpA6LIw&LpJ8v=q zxki?v{i=3jO_Fr1uB+OF=7c-0hkuW$`24jDk9;9SV~%!qUuSVmon6*=w*U*sV@E6ZP8N@54@UNBaehJNqZ{9pOQ6zW-psse4Q#Gm zCC4!q3w9QFg%Dc#R{yT7$l(_<-ptbmGsaUv!bXzs_N(ASsEtmMjb|{`L>8VZvIHa3eg!&6IgqX~EPi7!9o=gz z|F%ad3s<2@&O{4$_-x;hyy9_J96xeiaBzFJ;O(!_lw=I0_2J8s79x>Jl=Sia&n!uD zX71_;62bCKXv6`Ve_J_HP2j#>lP>JJOLIM6L*H^&{&+*Zo3)mAE*KAMTB@Zw`n<(S zf9paB2CsejU`h65t{~Y24BeVwqAdl?zRmM9=2Rgd3UeGk)F*oh$+(TB8f*@%`lQ>< zl~tf|>Hym4H{?)bq9T=l&>jLnc6ntHF?7iVT%L@VD}Y3Uu^-3bFf-{0GnnNM4CsaX zo_R-}^#Tf*Iy*SY-)BH95U)KUX;whxGkCoVJ}utgOn6994hP`!?qs>p0RTxpyqrHE zkF$K;629ot|CoHvY`SeB_|;z?Qo7A%wBDl-Dt^TN1p#)xnvHL~Sp5^QoK4O`H^`6;)&x)<2Oi53iFd{6XH3Y0F&SvKaKlD+hk zBn~m!16!V_DbD=)LrziRJzPZR*ZsOE%78X4u(}qQQ-*@V#GqDi=NFr=x0VkQhGE59 z)v|p>;GZJt^D_k@H*sfuz1*4l3d>`9jPFB$EhSo%9wx+NJQMSPvw4U~Y3cPU}9 z5UK1b9K3SWX;FeFL)Wi!wV(>q?RefnAJFYmJ;kD`w z(W9lVex4=LB2o6ah~Tx(GL|g*t!DPQ)SUf1^R(IU0MQ6$`wK;#adxUKsB=gMck39h zhk<3Z&Ky z{EOt)@COmKiT02G-D@N~K zw)b%$R4i*ohn*=Lur@jg9zDZ92U5b*@>2C7Fj~XJG zJ@n7B0)p|K^V*FqEMzCuGv&HJ6PmY4NqJuyjB~8CHZVNWcx*Wo9(c6fp|N5KFE=>m zb3jau4?p@e`lxdSBTQB>CBTJ;X;L2AmEr^&Qw!UMj$Y)-SjZ{V8S zJ|MwLq1rcZjFNy|>IK5LlO#^DmV<|sRs@8A9{=@QkMfhV2&M*ybHO^HlYH6Bi{W0QCt()>VG#-f=zBzOT|WPl zJl}6-*f?TOx8k_yVb>EMK^%M6D?}EGqNR`m z1Pl+01P)+91lII+i_0L5R#mTx>Q(x2G?q#`4P?4Bv_6`04B`k>h{uCnjiF_|K!SQU z6#rGolhGmo-}&9W)+Z#DyLZomZ;7tPTqdxnXW5xc!oRkbE&`*GIy2#Sbw>Dh^s`N8 zdqmUjH(hFo0H%@0bQjq%Jtc}*ih0mo;jb3hLhrDRw?Km}`$yHg@7F$-!}K37q~FI} zYty9NK#%AzaCBQ;2eXM&L+@SQq*n?*ITkCd_O>$LXB4;Q3vt1U4W)g0l=YGV4pf&| zp#_^}uvlbV8l@CC_1L~$Wp0wj%@_c2GihPsRfpy}T&Mg&ZksfC85?DqHTIL+0mjut z{@E|6&hc=1WGq2-Ph&nA%lwfus|`X^N=QvmPV(8a(8f+O>z=}jO9T@&Bk7%Ns6gsV z1@+qLHK!v*kWm_g0{@+crv}^8bDg^pw58TsI8AMt3daCotnb8ub=>C+B!1%xeM@4> zG@gQv^8~sSf5pY@De6+@Y|U(LExN>TXN@t>JjiD4aMKxbO3BAp#F1wodNggB*5sYO z19(rS*kvwSJQN(AGm#mA3*SswhRK`aUob+NZ$&#JFg5WvZq_DcO??V43vvZK7r&gH z(ubI%_kQg%_qRV0)+h+^c!nQ@X*6_NXhkj6K7c}QtQS3{wtbTtcNv=+EAhmen|{hH zoGy57nABjQcg8Y!1nFOfPlxg3Um~~s9??rOO0FFBb^ltk&lT``+x)oZK=7mo*NS)* z>Xd$#piXjl5j+I*V906f{8J>q!S*4w#HlNEgWbs1;bqqH2c-K4r6XYdr2%q0x3aZ^ zH!~Xe15+;b@AZD#sY;vcd%wykrW&DmfAA^j60j=w8`TnOoB&)|DGakOW{nX99)5~b zfZd#IbZGFy@OfC4Vsxuf5qCZLT|mvn1ka!p_@ z)o-zK01mns_x`JyZ&L+Fk?2WEsi2%jGi+{Z7NJQlJ$tPL(=_&~w;BCB0WVv<9`D!? z!DXmgK3vKDf$Hg-J36n`QAy~9z7|N%ZdpFI%`ORYH?Bb{fhpX@$CZ(5iw~Lmi|2R= z3E&y7S@mxxphRm>WM@^U7sBrsPV00}=mty_)}ER)&(F(?x|yoFKHt0Jhd!g4dF9Jl zbu#og_fM`_?SngYzpt$eKbJ4DY;E6FALP%k>vh)?SV;ZLuc@#5ou;)qy&hKm-hW^3 z<_vwFUu%2bv|HIlcpoE_1BTI6!x*!TAb(ugp-ID_u+7AJqpsl`;)}&(AaxMSh3ldUefz&X=oM zf!DOM1dSvRxM0$A3F^CSkWDTSj=UlJ1t-Ab)JkX+gchE)hZcHbS^%R;*Rg%Ue?JLI zP&E;*D{D`SxXv7`1+r*g=TDj0D>@jXYCcJCVrfZDUh4ccB5VH#(J#8yMSsT%pS3)q ze9m3WDKG8a_v|_DKnmHYs|URtB&=%@DSol>6G(>M_}|(VS(1rTQ*=5Fd+nedpey9Y#;J z;OG@Ri}UN?E7~8_`6ooLA5RITxiQ+pZ)HkMBD}HNMnl7z3m{1T!(3SSzX+R|H z5w8_R{kcu&Ns!7rx72&5j!niJ=S|9|4c}pButs+(|1}1lXI)hF1o?;^J&R^W9DahB z=K$v>(;q@bt+wTnT7vJU!tJ@JCPaCys?bu-8UDaH3dmAN;2y#o_VE7Y7Zo|8q95W5 zO+%f93bk!Zd8;E`;bu>2SWDZvmet+hzR8>f7`19XyS;Y}dr2*C)F`nQ!?lvxEwzKY zu+K`s&ve9;unewPQ)9aniSt<&`E~>)u*RBeAe{q4(c7+6!@FDfXQ7vtgGc$VW;=RN{EKmOv%>k(+y;M z7Xrl^a%Y>*bzapgc$~lg2*xiLuYhvEILMvGcU8`67*#_u_79NN{9>6+U7_#Y_Wp_ zYc`9euA%I+!lmodFT9c#^|X!tG+21rrmNott&9D55eEG?Etf>c<2cpFv&R)MbcrrbOSYE$hFvw}~ez(&qlk z0KF#{8CBMV=xNygemqT&)ivoQf4iDII?!O!*$&GkUO6^#A2C`{R?AAuu14zQ&0-DN z+^*Qb#Vn&eG7i~rku8VjO^H_|a#o1c3mg#a{x{vg_0>ybH#@3)!aPp)aPuki?(6~wFKzm-!p^3 zs;NtzrAhPXi=h;*OdSNYbf*ek5*t33t>HJ!AXhaa0>$H%6Q&4;hCcN0Xa)*mG^<(D z+|gGglDzo!N`b4=`mGeG#Xh+T&;j;tfTGH({Nhl7zVmGrBXAJwJ|kkU!oJg&^GR>} zEi5A*&P}vq*pVLBYe!RJl83y-E2w&u61+`vG&Im3997GWQ;IShmCE)UOUe)Vv8jR= zT*A4gX8s>2{L#g|9vHK$^br>{6nL>K%k~tK;%D`*6X5vI_B%yE==DM z%d4bhXN8< z-AaveapWaI8jk~^fANN}tD2lB6M!$>5(@p3CZWH52VEAgCS0v2l|Xu8zi^ zpK4~cs-_e!teU~suDKdM1lz4@Ie%UbhN+sz@5;1tYEPvFPs9g%ln{I#QB>+hAR$`4 z&%`#n$G^Cy%DL0p+4$oISgn(4Fn2OYVF=qko0zWyQL7leGB08+y)hAvc=8DiJu@iM z-$R*Dq(u7g7DTwxzhNK3VJh0{ZEv;4Oj)7fB%E%0aocK{*-@&@COH(oPx5<&8A&vU z(abKP3vYpITWrnW4|rZ|W$CA_>R{XUe0lXC`-51Eb1c?Y;DONxf^JdezCIpLlv-mw z1hsk_cx|ovc3}5l5B#y2_mGThTt&d(oFpGvO=*HCW6h2^)3Jq4vq?yF@M_HGTaj68 z8_c;lU_dJtQyfN?tOPk&gZwkh-{HOEk6=J%z_8<06@*BX#O7?+;+px5;Ow2ZKr4s5 zX-yM{au3CK*h8FW*+Y3CH=&{HXSwq!w`pKY)#>o}$=on0PET8d-rIzU!lGg4D598J zbR$0S`OfAP|3`^=l4?XqEZ!=&+x#PTCAQi;3Gx#&+g27ZUR7G-!@)tmGtsH=>v|E( zC@!${M4AWvqB#f`2RI@qD%J;GXVar1DF(w`GX0%Awzb`LiYTG3=|(ThIAt=9(T%#j z#ZrfW>^w{b_^h2=^rqncO!fk1Pzn<;qBPrVQc^7JuWj*cVVI=r*`LpZ9IU-*EzNSF zkP$Z1(#pXtdK_CD{{F?nac7`YQtzCx65LetYjNDFjGTj>k$9dOc3mMav;jdvm#WEh zqPxd~_8%EV2f#d%D@eTyI21%B66~}#vkx77Mz|Szf=+zVw>^obAHL1&d~qDZ#<}3a zyl%5&Uw(uP9@AZaTgcrqOe)v1YREbzD)8lzS0xQ{v|4Z1vh5LB*U~l#NgQ+jZbh3s zUpvV!ccRS!a zt)Nn&{%*Z#bH%O-;?i^D!j9nOQoSLFFpGD1>D0}tQX&(qF+m(O%&P%JwQo==!7h=O z3)@Yoc=R~)*GLbFo2S4zb9DrQKl^}n#2|xQA`U_b?3`5yxz+|X!HV@zzC`^`-M*tK8a#?TMeL_`NZ0mqqpVu zQrIQ3I!1&mT7IK(ubQB)C$0=Xmwjpi_q6wAne7>ANE6jCZ9fo(XMW1s zL80`a`Tm;~W(3yBj#Yw^&@QQYp%vFNOeEhBUkGyqX?^i) zNKF)DvCFoN@nn5NTT<%m9u`WKptn*^eJ`YlTncIM_L=+2;w-QRJ;c_V99#VMsrXmn zKU{hgD}AvCQN7aj7a3bJP1am|Y3wYg_`05G9O6D+6&)uH1?Qw3#FIS}^Rh!1>o%mu zEmF$*ct~-GH^LQ1Pj}{TiI_J!nRDttR00a< z{*k8DqV=;;feV5}D<@fATY9u<+T4@X;lffhRw!H0@F&@mU;3kGI@9UOn2RG>Fk}i?z@Ea%ebi zWoH+{y7>%NK4rsVmIEc?Ug?(S$2O_jkT|}cp|-ut3bpyACe)uR@&D?b6LssvG_}@u zYO3mKwcC?Q%cKiUy@IwzA6T*$uXURoOM^Ufr|ha@2K0*(lGTWziWYf})KYNa{oawH zxD?&;?Of{rWp+iDX(g@C5oZf%n5nC-J_juh7~JSCZ0cn_?AYhHT{h$u8$1)W0O9Tw ztYHt>8G&T+58a>l_A%>cXYsVuLZZ>qG=cJ0;U&AKZ&^Ew5ss}lz-x-uLGA(Wfij;$ z!l;73yF$W0ku-;BXApX+jh2M*&Xph%#zE_~*Dc)+952A7R!zK^%a7ts z3bqxBW^?N|*Ph4Y=|!V(6jKlo(v}9?>Jmbds^p}}p-V{FK0-5BH(LW7Gi*v{47cgH zx&@sR!S`;lt!l8~Vrpd_#;^$4vYi1GPNvb9nygir zDv%QV3;n!rPY9KpDk{dg^xjay`V*?SIe_5>a~eZDZxXF0mwy-it8I3ZTNp=#Xi}pK zWSqFxFxh`|f+DS43bl>)o}jQ~a2$tF7i(C*GUa>oSS4wZZV!I?De}X&$l3AEZ54%i zyCX1ZNSaw*y2ypU66GMm(xlj&eKJIN(8osULI z98a#1c`zFM-wEa&%&_(IBMpmr$ymKnM7xu<6l;L6VqrsgjV;(ohuqWbOsq9k&vqSD zPxK`aF3rliO2GzM=0!}WMfI(IJ0X+{Ons~R&&J}73wb&vu*6$464Agj!I^no$$OB$)iDuZdy=ZE-e9kQ+PBYox;MQ%O|K&Ixt}aj z+_ZdFS!`D@@Z*r(V&>euWNP#!E5evBV`i@5CmasW=r@kZ+3I;BSU51SqtC37Yx#|AZKOLYMhGViOoud2U-#@i&i&sn7|#6dUjs+fwIts zzg!a8pJdU)XhJr;rBhQ1PMVu2iZ?kA5aLl#u_ix|;EC?jM7Jh8Z8_;x1LPYl)Ci6E z!v^G*Iw-`A5~Z1tK~#47VJNve;wh}5&+(WSsLqNUb3aYDRiWT`J5?~84pM71^sbU0wRa=#bZ|(`acixowp*qP zu+2L95Xf$4GB%r|(038jkCvK8vNGdr6p&jq<1n2Bj|WetDwkd2;x*DzBewXrXfN7; zzfbMtH8dqH(I>lpCakJbFlHH2zs99Md>sx`-X5~0gFGRrv5^hxYfP#-To}u(TXEXX z3XYYX#1qYxl}TriQtxa~@QVai^&U%7F#?e>B0Y!|n_)U?$_K=>w87!Y057=Gwk52@ z@vbgnb#3A7D)2!m^MnZ`cyzTne|q1#8X=ZRRg|FZTaV4<_`(C#V!cEN(xRo9X(ElHmtDPD8yPWQ zo|5)9FF!TcWu&Of`rEb;oc*~OSNR0q9R-@AHFo>US}A?k5SGkv(}$Y1-0Ca+%>j^j znP^2Zu(X<^sFo99uV|)GeVAP)f3q%^3r?&Wi#TCx&zDjOWC0nmXz6I=vY&BA99f^Q z(n#YLpeu&r!|bb&sw#>OD)a5m4iPN#wSO`2lj zKr*h;j%VI&uuiHq=0^LqP%#bGd9UBYH7c+DQyRlG`$D@W#WA;Wix$ltDv2IPB?N->N1!Hs2kD`OOE!{SHQp;{C7~HBwbB;k^)$MfU zDOoxhF(*g2q$-D;T_M6|&9;%clB;aq;Vx|r*UAjxr*2AR84w6||Bh3OItgF+^c60~ z&{#eOOCclWY14H*^UQl{7J&T`YO_6W=K;H-S3b;Fy6FFcvmeoYtoDgtkiCdq-rJ#| zztD0rl0G+2!mobb*4xu`KIa4CHh|aDR6g_>{m{I??SA)g&6!xrZe~k*>ebYqzLX&^ z2bKG)8wJUII#QrC<0O9Zvz*9YHnwODP%iZCm7atzIxKV4lsWe#nOGF~OYD`#p+&~q z8seprQiTX%XlqpiA^ahElll7k#bgoiWsN~Ib2a0YR>EcGHevf}wS|7CQc@6gA=@fV zg}8{>q!XECrb7t=u(j1tHR7BmtB~)oe;tanBOX)XaI2q^{dP=zE*O*TbpzxdPvrC> z@Uce1hH2LFcS3PU?iP^An)dd_@02irHU?^?Q4<)Q$V)Vqzzy0aXB(tuMfdRSA=>>t zmYr|3en~c3$|;^|atM7(V27RR2fSRwlkE(#h&7RRz**BbT8q(I^_c|&Zeq0nF*FJ< zE3=7nLSjj=CF=!#A>J$V>l3K~thFTc$*cYGH0pfa)==lO#YT!DiB1D(Re8!f?f&nT zGOaiYlW>Ziwc)BM5+Csdz;-iAg7e*iV~UD*OWB(Ph11U^txm9mi9cp3bvehod(08O z;Us5b$OckLLs)EgAT=7ZLC-{ZIVatCNh!isMwxp+ILmtR)u8dCwW(Z)r>=;ZeBIs; zF+4tW%6t3V!uo-c6_T0>d}~6NR+~OWH={&KiC8h~WL4A8G?!4)NOGk;Do;HFA#H8> zN=`>i_D}H_xvh72wwo7!W+S%?*MhQ`!R`sU7iE%Aw;&-JR=>gTZSYglm*!N}9 z6lTi@2EI=hgeaMjpImtW5=l<>V96H!;o|yBmJ|+dXA6^Mlc%GmHj;!jI7=t5hO20A zGq6yT2#o_*tlAR-fWupX|Jy%=ZqeH+`>3)W*v+A3Bt}R8ZHHC?Q3Kqo7e4sYXZ9s~ zM7GcQwPf6(5Izz$m6lx;_H2ZygIRytn?hbX%bxsnLrY!1c&!-?x;Z(`-125!I_pWP z%b%q8(MYx2Enx(IO>*_)Ug*fouwa--yZNf?_M7tK$us>y3)|SjiOZF-&`nDIXDQP?r>JLoXC{ znSW3?E2Wj_&M_!pYqAnp#ybh(l*fO*ky$1#pU1m7cKz`VEoS|kVv z0U#jgjQ@{~p7p;r`s$vY9~*rmh5L>C{=tZmTS8g+HGhm^6&1>|eAFc}xvcWi=I@sJ z==yPolrXRHoub5oDo@BeBQOj9UK|5`AM}Ner>#s1(ef7M2|L5r24>rl2w+t(F zo{I_)>UZ}#>cX_Vcf$L&_j*T2@V!4Y<^gXye7QM!e|65$`@MhY?dAFSI1xTC@E;@n z>!W_%*QtR1*P-$IwlA(O6+6Q7Z@NDpNn`gRl)E9gS@VAPRB0>51jtjQ+N;Q)j`zsLAOB8-UQj0`L2? zhjkyE!Hpe+05P zLNLXIXWTcLVBq=jC^;Hi-0w=@^mUZ*W#0AIo?wks+Uupk##%3S2kQ60<9O#+l6dX+ z+E0){pZ8-~9RI(iFv8E{Aw)txpT({%PsH9wILc&!3xQDqJ#V?q)1X{iS)%2 zU-d^u`&jk~0^)wrr$Jm4m~w#Z%d^Iu10}JoxAX--6Me#WWPELPPv85~1J?D8FSToA zoBN8LZ*0Zfb2Rh}RK-gbA4M>;kzYNR7UA48T*i$iqY3YN_ah&K7lCdr6Fwc7rW2Pq zk0GOOq%?<-eVGL1Dbs0C4zgv%Y6!~P7GH6eKi85==YmnYDB;t2SruiR`A+4HxQw%M zT5b#5+Dya7Sd+djSC>xx=@>aziiN)7xKqUN=w}x2CBR6lk?N8Sbg%J$PKuKcXu`7 zdw_w@a(l843I=~h0)aF1h{r#hmZl54dh>#XA|_ObGmE|t=9yLSucKsl%j4*RYF9xz zjM@4{ltbs@-`wOJ_;k}OWN;&Oqg}wFUrsyoE2W(FBOy`>D_NEx=3kIJfDO zDJ^qXj&}r6Gc3@<^c1@~UKiY$X_sq3d;rnsuvyk&qXEpfOlh;&jRfz#y`JNnZ7|-c zHpz_Fi)!?EISrBKP&CT7mYCE2u_Re_aFM6V2PC;Ct^;~ct*RFc=NrqIt=WWN#Hbev zgl7ynSb}O;J_JDj!V-Ga|S%E~LY(d>P|NO6k){g~Q!nL6+i8bzCper>o z-sQOIKf2U(quml4`N;p=XP?8H(+$elFlC%IS_OM2uGVZ0Jd<+Fv8#pZjaoa%42bC# zW)YObFjvne*+oU($xERF_l+A3qzC6?TFKI9>+ff~4AP?4XcEA?-Ew4MH^M93ek6Fu z8L^V(5-b~#)28DjO8M)-L6kMH;pfkikZ1WZaj!HrcMKLHE9XQFZ8Q1QDV%^wLFH$4TF z+#}iOl1(`m$$)1?nMmG-a^iJrIWl2JG#PUVAO71_Tpv#EN>26PUhzR7JYo{qSC-VK z#J{VzTwL}?&d=dJoU|o=C79Gi?YrJ(q}+Ixbr&8LKL6|fvqK-*-N43FWFK^^5rt zd6H@@u+4;KJZLNUk8bHyIik95@tj!jaP6)R6do}8^J1aMee_RkTSIV2a4|+8b@j0T z&gWq$6V#p>7x4|eCP!U8GTC(fQZqxt_?WfMaC@F1-~7l~8wusQ{u0ToyWh(c{b~$| zmop^~=tcx>71j(KfLe_7DNT0bcXtH>yv;M6P|;K~Ur-q&QMdf5!mm_ArmCqA?%XS= z?lKd*xbR^8M36#%I4FvHM5mU)IZY$2l}SjaqEK7D@7L^cu`pU|{ZIm)%?dlo*bkC7 z6kN&kD{P@SXyx9%_mSs?5Y(-ix*`wofVgYgXXXu|dg*j!JRQSR@TJ5Agg;s}$l4h& zu@Xv`KQ*xBk568c0b`L>k7 z#OCuK-z-cP1KadP)9=qvPJ*y2-)GMtX|eQyJ}IJm zyu#5e)j8F2%n(OHk`%9Gkicr-iy5oSh_yf>8znb-8W>UqBiXqSC+aYUpyk%}Gj70i zEmRW4C7P~KED3R!JzpWUG$g0aML6SSW*L!OZxXTgiGTufE@5vUm-xSef5k?+_=6Pn z(~L}sor#Irt_4zILuW)6kcDN$P(7nLfESZClQ;hENY>W;O(rqUUOCq7zQ~-k{fB9) zsJ^O3&*lLO`hmGYciYQaREP{b4>00SG-pglF87q`%ntg7vAcqAqb4uz)dF^}Mq??4 zzZr7h!C`tt7`62WUFvoPPI-whU=3`0A|7v|PKT{;4tV%zPzg$#O~4zN451m_TprOK zBMsw8>+I8$k#UY1d2>-8jY+%j1`J|7-*;@0h6hnz|1MB>4}ce9vGfJD19)>-3y za%KO9n`1X{{izH33{T4X`n+(3e=9tDIqCP5lK%YJDPV_p#fkx{L_cRtG0Qe|5mQAB zWG6W5=_tpdUVQyLFr5C+X>WsO4j?ZUEY~+*+AbB4_qdO;U!w!Nd!KE8O=37V^Z~4< zEe|B+;?C*YNg~+yf55DME^8t4+#=yo@01B3Fi8#i zU^8H#o~p|>%n(Bmp5Fg^#o(^elg#M~a>}S1&1jKl(eGzQV4=6!G+80$#n966ydg@EKEhat8^f zZ$L1<(OjFUv^kjUF(_qFkWdqawO4q%$1*wx@$HbPLj@0h2k400D$BY>xw$N1OtspCQO6(3-sLc8S(aV zJ|jV81~$eGSB4nnDOsMNgnART3!h(HZjuCp5fQvm8%SX!9AYgXVF(_ctmRCOKN}88Jf_f^8#@U&j z2$`MvbLGf|kBpKh4o6in#t{t6+0ajg32zKN*V`4f1UHbdojo?L78orP#x+%W3a0Cr z;dhn@&k1DiA|pBf@RxDlu?3$F<=s;v=?v_IE0jQZjF@8J84!w~OvLud3m6lMU#!^hH0dK(FMDP&e4Q|~H!^sMcjmc|u6)FETx7etOpAp-O85XR?ViIshPC7W?nf6?~MD!nI+Jn<#wZxr_U^JPB9D2@v7B(2Mq*g1qmY7HmV$_ku zZya5?HY~i*!P;!2hC%m3K_(el_$U)Q(JK7j15>& zNb+_K1e-IyeiJKSwX2+jguvErLZ1%r#Ap!ugyhgc)DuDz@v#irWrKAwqPRpn%cNYq z_RkNFi(!a}^DDT(JzKCbeGIDOwjh&hq$CX`9jHwI0WZh=SowwCPF;Nn=`Xz~=rj3S z8Vm7R#79Vl5vkmT3aXTJI`I=zJXCpqG8$&&kY>GqE!YI6f^m-kUdtrn7avXOa!$dO%GIvNrwGEPn2AxZbUA-ySx;K8dohMVNWH}*-$&l&w-Z{6-Yv6T#wo{#j7U_vDS+B z;=ZRVhy=g>qCv1W7m81Q((XT;*fGk_KWfL3J2zRgcifr!CBs=3Wh4j@wQHWTM{=9x zlSCT#j$t#93rk2ZF6I#Yoc2c|)o9b+Eawb^E-*-$cG;N%*J+IaHjSCdm?ql2V{_fm z!0?($98naO&>ZF^J6UZo;s}w6Yc>FwZ+I4}TsZs}ST=hA(`D;Lbc(fPzr@!w)m?}n zJPLh>{psPNxmP6EjF;=q*i-$Snnh3eHojqmwhXrI+?RpBLcZux{jow9r{PI6jc$G1 zX}uLtX~7%Ews6Mr&(VJEJv87PP&*FOpamGkI2oVuFteSRSw8Zf*T4XE=N?G8)zW5eK(qhO_fvYh;09+*b6 zf_y5l?_yQ5No>Y6cfN-<<+Xk(6;l*{v>{)?W#>j0Wz7BvFHpCTNg zZy5vx#NH~KQITpY+(7VaN){+B8?yU_y>+VM9L*Q3-yEH&&F9}Lq8#O z6IcIEM;EL7SlH*#7vjhKnOw*aLft%5cH%4-A~6Y@W?AqwBg`^Qh>~cPXFoUC>F4^R z=b>a?n}U|GV$tPzZYPm_pj0~zTlx(~1)BvstJs8IxMZaWv37f$Hcnm}{JAJO2n9#H zZJ7b)ZqY#J#H5wo7RrWrMsK8sIxW$9p(;~eOxOZT@4c8u+c%N2*D>D$q&XBumU#~H zeaWX^I?^>y9z5;15^h2UzLogn!N@kDMeFmvwPEAxdpk!tg>91;MCTeXu$mr?R9OmT zDFxgFid z!VV$vE;0m4vqA|5)oyK7a-3iGw{U?+hz_M8DNmtEI@L(lTY5eoSVeU({mqXRiK8oS z*kHTW!(oF#hneh*yXj z2}-1cZZIy&NO*Fz{jhLB=Ys2oRis+EoLq`O-?hj!jG=RR_e9 zY77OxHCjL&$(?fLMY?&+15q>ojuUO-xlc;{`S(lcGe+ady13blZNK>O*F4cOvpxp* zSJOjoMWvVT+1gL%sEkz0dx<_Hh{LnHef=^r1_{x@e)lWHVZNR65Uau0qB5snwM}z<*LCyht~e-n;Z|o=qCYfuKN;LXZH= znrhE21AvNn1$?JrKn7) zJVKS7e0QK{+L$N+RI*6BhVK&W_Iya}v~q{;ag-BR?=3iEjnl1DusI^~ZoLX1gDQSgZzA zNom~@i0=uSMPN2u^ z;X1^cz}Z00#~GNIl$C~HH@TkWHuU=AfzNM%L754cVGgq%t?ONP#m4$loP7l{sNH5N zDcJpRdxQg;Q#7Ot{@zet2`eA4hca?MiW~*WW%F0qkNWY7 zFb9o^8zo5Q>Jj<{T@SWUA0FLGhTBXZT|+2xV0MZjVR{KYSDzZx!L6w(OyYL5>q5N{ ze+JzC77rSY4DwXzh#IJlU;F^OcWv6k9;|HkvX>Y}W>gtJ42BjBiRGQ(uC?9#n7 zJge-8Ad;?@Ab*Z#chxOTEM9F;>@rVLUH9CE^?25qnZ`0ogW_$^H8<`}MD*RTqL zT;G_d1>jPE`4$Drt9zf*y^M39`YCtgJ~H0b9?>tLef{Wab15@oCb8NVL-S*r#r}%2 z4+ySc%=4U+paB<$*p!_^$y+7^pUKdE4InAOAs*e{h^+Rv*suSU%bBg{beNohG$!XI z8E*rDpu3$8>1D)A2l~;vr~2eVFqvm(;8lEfvC^gU|MSyyVkWNV6>;1?qR(AC#_OxnHep1`H)3WpWLZJ&h1^{b}4V%s<6I ztvKhSX!cihSHU@6xK{Zy;SXxSd)Du?9eqqwI_|Z#V7de)Gzq*p2Gzy;sjG@4t3-1;H?Em)6E{^ zwj8Ig`C)Y-#wTfP?-elJdCatM3k}AX_H04A!g}f35Odvx)hpFdZ0OL|BUG-b_lHd zfO6Bj=OOLpS+rb;-DJbH$jS(oOLdmDB*@OBOnI4!oO1YCJYyui@(CcS=5bhVy9-K* z9cn)aRXUS!z$F(39Fk;WA(IEFo#^ia|1GD0--el0lV(0lcbhFMV9QGsOUNfeyUuyK z+jGzz_mV?^0$CM90jDscHLbN&X|IT^w33n6N*Db$iyJpHeaw`bFl16MsI56ii&{Rz zV5=g*EpS0sOq?cbGKbBsON>?&R$-*k))*8t6d1>QVF@=WAjH;FZj&tz&X??L5($yX z7|^*7N()h7PL=43%yUtSj7+6;6Yx32_r^{tVtQ}0N*T=wN6fZ7O?H0!kS8B>F1>6f zj=lMaMDsu%4#1FOH!aIU|zd2Rf}nO@CDv;ehW>A-*7))5}YzCj;o|A90xV zO7=4wNmcUs^j^*?bh5EVRjF^34qp;|Gvug`!X?|CRg9uK8q{3{ojD53m#(e^vy!(B z1}s2OhsrXrdhA?QVc+GZJ=Kf=>_=3({#;8Jhh^hs4o$#y$4j?zlJ$Jh?&#=l0{gYj zuVfmynb?5PvJl|s2w2B`rf)*QB<*FFypFY7$|Wv9J6CyMp}%Ok#hp#T%zf?D?-^kk z&StqwSRhk_-UW!tSKc+5UP!_*fr4JHU zGxop*=-1v&kEv4GtVTxs8>}<@8zK{w{p!6XXB{_ z?fn!GfC)uZuLsf_n|QgAIpd#Y{)YH8g$pA4l*A_rt#llqUF%W7mqGks5n(D<5t#C1 z&&k(m&e#ff*05h7K5*CoBW>lUpVwjEd=Ks3$Ago}t*Bo&dJ7ft=<&MdpOf^)3DMC) zRDRD_1G@d72|v>5LD}F&=s{$}N7rswBkIp0KOtsDc;JTB?ofDaxbc6#eAA2~k_!W_ zXJ4A8wn2RrmyINpGp2$~CiIBfE~DShgmW~ZzMUr2(Tn+fjQAjONpI)^1p8HPl|TLg zIi=Vrv5W5U6-df&;<+Q0A5tjllDVTb##f>^=*08D-w^=M9r}P$A=v(7FSFW>3asyHswpNr2FP5*i)e>ACkUXeR)h|M=#$#E%@10?LZpB>(MBRHRprtq-(BE&<755C4h{z06bt667XP z3v7qCc!r}?{u?{uz~GOrd~$Rzuk|Sw(ymD&5P@&WVx54>6juX0_MciL@cNoBvJPZV zE;9c|`TTNAUX{RC4iu*i8_@pm28Y~6WMb8+!k!t4{)+S(v1ijHS0lG5nvk3P)z}M} zu}(FjPyiIXtpXBT)Ao1?0(U1ssB{%>@Lf3R1h5?}JS3Y*BXIE-(a)j4ugkg!#1XYj z9_f1=P}=37i0pA2I^UUMsd$09EH}5_zAE1hG0cS|*o0<(;ssClXiXsC7x0G!@Lp)# zLSE8y^i4NmGw!ww)wVhgyndwctQPb2xtUiQ>y2C?J`Hrc+=P~trzJr>2nO6t!yFG} z61Q{O-?n{0w|Hgjau|%^ABRaZR!m_s>Q}GfV`Fz?eUUj8kyOZYKOG%g11njSN21<9 z0wC=c=VsD81&S`g7qWtv9Ortc)b(H&1xM#lX!1TN+zx8=lh&!HG48Zbgbc0n&e$)f z&c2V#cZ8bWo?=j(>E9fYpg=<-bee-R$Blr5aOUA*6!D#_soJbsLN60sn~8dHn`C5( zu6wQ%UuX=Ijqn^yNp`2U(onM~9Om=lN(31x3(f->^kSumz#eFu;f-VUCwiO9{NMlx#6<)$P$>F(U=>bXal#g!7jbmTh=RYcgb^V9elRy?dJOiohuuWP&4m6 zVSbhlA~DsF(0Cw3S4+p!?0S#E9GCo{IowCC^Oz%Ze1qZw7|5<4mIo6iJdi=o=K9=o z4MM%z^j;9vG8iti*0BXaAUVZzME*r{1ZEYp|@QtjUR$$>eC;r4et9Ul6tE(=k!0dhFsOG_ z;&k*PIQ#=C)LGh~7(1Mpc84d;z;8Ej!17dg{2S*0fgzpFDoSiZTFZyo*r@SOrzn|a zhe5vgIJ*L)2RCFC8gcwCkTybl-O8A9olHGgR1AYJVRCgx-v_3pfA2`pM^KUpt=pZv zc~{3oXCAW_ee^+V2DTxj#bJjWR-Gg?$7#{s8GWygw!qu&XWy2=TjlxH34=XNEp8|)c<40yikZJjyr zjt}ypl`Ml#LSHc!=GtSE4b9!~aOVI&F*%NsjN$)ESu##ITtI5a_V#0EVjh=qo?ev* z2=8Y|D%0D}5hogy64;m2a{Y>d&SRlWBVSNTUxpHAnl}eZb!vE0pBSE`t7nAw)|S8} z*>9DnHRXbEyL7~`hS1Ag&aV!#VIEo-v;CWMNy16ImG`O$q~YlVW520ehXhT#ieEx>O(u?>4y6d9*SeeJoj`w@*T z{oI7-{3yFzV(BG+1psh$W0MJs2y-8kPL_dJ5Vk<+Dt^asOvtrj>|C(H_g*8u(*xZQ zaiLF=7OlebL|Xa#HOZ?+5u{=54w**x2|Akmrz}Xi+YS%g$ModdAqwXsVd z7epgHwj#(KAd(B#MFMMcu|8e=3NrCuuGrusmD;uXYOkXWWr)Hj3VTBj?G(OOf2q2b z=5yrYooQ72#or>E>|0K8t=ah>FXra(5F$xzi8T0~K4f`b(^r*EwWJvivBoXkN>Q&S zfa@pWvsqYGs(Gyv^EE$8p~*>TWRUQ+`%dt`TVl#a5MSNxPu!gh8xzJ-Ej@N5GOh^Q ztkg%A)QIT}CFLyjhiZp>+Vd5#a9t9xv`?`7gsD%rJl`+K&4S1uj<^v~8*~2-fp!e) zpB~9ef{)eNbRL_72l3fQRTCO zmXpoXvqRTS>F`K!AC{&L?l6J-d%9_TAiN<{v@QesfuHgd6Zpto6>^t-pBx=PoRW?D#j3&WO{xMn&em-L-SZ`A+ly(K!9 z`K%Hr>mDh3_?~Z!dC`7wS#=gcqKy=PRQ;2oxa^85$v%!ym*=55Q` zh8IG|(kv*&B`U$(_Si67d#7hmkSzvFDU(pJ005Kh&2rCCAd#29ceK(kHS>_4ZjtUS z!DcaHw3;^Yh(T%CvKDflc_~jc?W$ddNBCm#L?x0j-I*!VmK3_$+c_bU!$Sda!;8Z& zWl?WGx$JCdt6rhY$!e-{?ZLOv(Jjy$HQ3kVmsiTu7?~XKt|G3etGS`O?b3?MT1Y~1 z*Xx91zD@2}|B`Y~K+~9dz$sH`C8kVG;_A{9T=G3Q7<%TM|#7 zukInNnYUI+xw^T|7IYki8M6diPxFhVEkK*J!L(DuEz{8zrdqI!!9in1Yc4Lw^m^>d zE_(^@oVRoC!1Jk7o}m!pM()p^))7HYPLS0DtU_7FnW7mP^Fe}3p?lEd>Bv$t)7!At z-3i&|X+w2D#^`8nM-)*dKTJ7F)3GCIcf|c^mdwrS_^J$@%aiU>z|Swq@NZ*?vbjbV zb-{z({93g1=a}T*{_fp*vFwW8)omr4m$cIEUQg|NHWx(>FMt$o6$%3j!3kQlfGJ^+i z$9WQoH#XZ|d5<++7I@5j=~G|ZTY)_@hQF$D8chmH>1+0wt1hMIa>LZw4yiMHmn9kE zKhOQL<2f;j-9kB#;BBoBP;xUf5i)k~JP}htYbfrnf37?~qoSz^37#-bB`z-9adi+* zB%wvzNG5f!OKqBg9W#ywQgBm(NnWr3rJ4)cD5{l-|st@KCt8ek76c2k2m9Fb6WE4-IU1LkJ9(A2w=*;IoosJ2)>@9zg+!1p{@?kSTLSSgg=P`a!^; zw)^zHo>$Ovy&5k8ZP#(FwNRTt<%L}qBOo>dpfS_gQA7bL@Q#*F$Rn3M?3t!r?-Hf+3-UJh-c=fN+9Zoyt2{JkbYSm>)Wmnx!=lET?0`Q z?`1?lvy{0t%)F)a6FtfGR=c6437-b}Yt+LmRxRnpwl>9RD%neS@L)ft z;`=;LEVU%OOVWVPVgdkf%{%Z1Z`)DdSMGcN&$s;1KpvV56N8P=$L&w^wfx7%fcAsv zrf&(kkF^aP2=%$3Y%#K1oz+Pse=Qz~S|>tZ=Taj4^U+1^AICN`N{WkT)??YY0$Y^m z?gUk5ij0~vQF0&x+1=G05J~ZUedla#!j>}iQPro{?j}xnOk)4WZmN>Cw$tv!PBIy< zJrQMcbv2p5B&=<1QC08qsWuK_^)5b~fG+%iXb}llu`j0ni$mYrK^K{$XBy_@S936u zWoO~|;;Nf5eYm~7f8Mx(h^5`N1BUFKgT2rrTUDbwJot*#?q!+>?XB?s((fiROu$T- z6Dneq)gvug>)E zz|dUm>RO%gS!R1DE7v_TnwEs5$!UVm@;fh@G^cAhXf6bP%UA+H(xmAr%q&G|SaT0| zHDFcrXYP@U-@1D5UIFR!?4G(F$c^jB^6*t1VYt_TcW7Eht)dnT2l_GYZ#(6Mi$A~i z`c1?Uzkqu&a=z7MwmFir$XCK-Er@RmmeTu)BZAVnQfsqJPn8O47{#_q01jK5-&r2F zdvB%gW+92hWg)8~12Kn``;2`}7@p$8OjbhX)f9A1S+35OrEfM7y@nPS}i|sad z+23WGv`*!W?IAsSxx##&^KL1MHB|cXOY%*kQkAhAhi+k*@rJzwO z1vK9UwBmxggrmwj25-7>g@EGY}qMbo0VSDQ~>#vZs z&%ExNae>*X<|fC~!kSar(|{bpHh4(YksNIr)0fLtGGVUuFBWJ#T}yC@xm`=b5$%Iv zrdNvFzp*)d-8KQ9;K90HTW$iFkwiI%I-x#wd$(-$q8E2xXwh_Z~j#`FG7Fo)J2Vv|^K2O6uLNS8%Zw9OQtK zOdfx%1Gdh+_FY+XlMgbu1UWZB=!$2g^K{RiM##m`V)*HDaIhv0{^A<1(MCFO^d;J} zV>}!A#suvch}p0@_^PE|)mjzofZ?y<6`+Oab%!+6(nEvNjf9GqP?#tmSl!ZaJUZyb zF-vaC4=8dJqL!#;^6g!JdSgdPbN8t_iZn^maMq9U@^E6&^;j8CCYs7zlGC@75~odD zN~Ec>HUDyQk6Uubs)nC8!kOKQ)ZY1``X%3k$&C;vTDTiZ<=3~_S@;iWaAHf9;kc6+ zgpRNNvJ+Eozxg z9jt{+MASitdd8TEl)MgJ@V@0D*`9{rAgF~jDx={_ z_F9S;xrgz~*ij}sf8ttu0pMDYk}_l({DrfbfWQCUsA_xNun46E3adV2Yw1Hsgu>2A z@j76S(mFd_a?|BLbx9tb-B#`MM$^r*{zWa$I1MwGfzkGUQdYA|-&tg`~ei zaw&K;n}X_W#0Bh$CnRhIU)&bC;2_8eoz)kcnGhN0wq!F?86BpRvndkrpOYuoCTR}yR9ci!&lQ8QQQ*KBubXgU(3UQlW< z%I-b0x+$w#Tuk@O7A+pVR#RfB!;vvfxGOi7MU$>~@a-o+W8(v`c)}P$f=k=ebdIT> z_Xsl`i&*b#G_F=$TN}8r9#3hZW$?7oxod&}J42Y zA#)ZLfst`;kl19?M1u)qT*0;D+k$!d@vh@H*Og%6ur|~d-)@u9{3WwXM&6;I=*wn2 zBc}Hlwx)A#>ODCW)Hd8{BMnTsLsJiK=JxQOyG9agQAUx>^H0rU&&)a%Lk|67<4ikz zn$$HMy&R^t6k@6yHvXXLhv`M>A|M+a*sxc2y(8wcGiEcW3BUG^p=9Mg`s~flNpURN z%Fbww)7}5IRf)N5T#ZjyFspwon7rfkjDcdVYSTF|88_??+}X_~k5i{xwm-4Dk{F4_EG zFed#wmza#J*NmwFyv*-@e-1K}1=*K#B~19!k3VrwY3S5)7%Z&NOumxeZ8N^Q_#}3W zPuH+GpLyYBcJXZ^e7+Cu?rl~*{^bNN$ag;XqvHs3Yi>V8k5R(zz8Pmb(KGefzTwmw zqGR4_5~P?LVqFm9n0H|y5OS<)$5!kQ4|gc$16)3T&Ib;_q@>OvWuWFazy6)_as7`2P$gQa+c=QOpDNzbak zTQ+#|I5G3`225Etg-?5HZk@J9q$ja;NidV%eE(iOTXA>7WG}0L?lE>8DH7d{26+6V$#i zKjd@!m(^B8BLsW2CxtB5j6x;_h|(vaxkz0TaCsX*h)QI&tT>UxUy z$n3$Bw1d;#HC3pcVk(5)Z@HqABByC| z)HH5^800v}S$~U}ncKbQI`kse7=66&)NMCsA@#A7y=)6MDD=K-5Suk&Z^wPm}Yyld_D{#noK;T z&9I;EzvFuivY)3P*#CKY$>PU{lDPo@o)Z5bPcQ5LR%7oZZHqbad+Ez79-l-IJ{<*rhkIUy--M^gI*zu1mJVS=CU{g_>T6yx*Q+PV?;8y}~;#r5u_ixTz*z4tSlyzl*3Qp@LtaN~Jm zvEw6j&i{cVw`*)J@5La?T)t@rF7NB;zVGMJKL4+J^!Fx9G+ga0?|HopR!w-h{F|_R z?lU>=fbR>($%x=zzz5^pbVNSyoC8}wrSd0@SH#UZJodsmA&xKLn-fI;pJV?Q-%mU} zf>e6=gxD9efH^$(eZnl9Lt|a={DHGMygr!cGs2vwpRa$`UtT?4i~iEPF_rM|KkrBQ z-*@rp@{D2}=^ra!N#K_qXJqs}aU_u|EGH^94|`K;wfAlh5UmRos8NUdu@3^QQUNt-Y@Vd(}9u z@twfRDyzPlO(Wo2Z~45ev-SO)?S0+D_k9fE`@K%w`hQH2$LI6fUUh7T)A47)y{$d) zf7#Q2$91;uD=)*ze5$AuzQ+H!H!l6WY%Gzxw0!-<&FwxF{EV#NLqsrcc>K8rsyvEY7J2k`)V{DXKK6_nySfiRPJ;#p{}t%dix zvE8{O%qd)$2;HFF^a`DtkB#kKxhU|>aGf;7x!<&n;0j&~epUv1zl0w!eLu1>DwZ{` zQGZh`zGR4nyX*Zr#@1OkGD?Q)1n0$e4-x~fckZVr<9$T{{7LcFFcmo}Sf;5x7(pKA74xega^!f^m-wdb4vO)M}!zil;xFkE-X4h;DzD35=Pmm9y2L>YAEt2p+xP|TE|y7H*+Lnq_? zF(K(nkTbZgkFa>2Fq>RFqYENZCsZfG4!6hr+j;W`>~bsMHaQnW=$`y34A&N5oR+`x z8d#rQj`sQBteY5Oq(1-7ra?;Haz&v&)gsg})Vw{)I2 z+r{C-$<|aaSQtH-2ZS0Ad~JbMj4k8)b#vmA`PgjUBrl#??yA z!4>C8G%Gr*0-`p*A;w^$^~mvUJZ9nLoEA zX-OKQBa)WRA28>US$;U^p9^X$v2{eV_n&`8LB?i9H|q|I?Tj*TijNk>%uxi^&J{zJ zmn?K1%C6HkuraY^&ZaAtDx4SF#^bcuIZ$nZRyFl4*D@!v80wmsvqRKgsQ`BY|J1D- zSQ@Y@MqVCZ$AUe^(TI%w`!7M^x!97%@4e#L_O#q?^>OGYsT9IQjwhr20`@j1N`c$h zQJi_$!Z`vOip$Rx0{HE-k_~GF>e@>}z)k9vu-W3X{9lPut8Fys- z&e_qtu)s(B>`}$Ddw15dyzJ26oE`C7u0Il{kg?M;y@WK(E`Wr=kiAKaEKPa({nomAERB^{5q(=ccWW`ZbUwbSJC^0R9&=_6FMd zOnigsbHNa15ylLnEv&b!8oZZQ4>yA}3o za#&zKnd~m}(-5>J6RAr$`)MM4LvU$`QhJEDa!)XmmH{D0EE$yd@jy*sQAvI!pJIJUQyy*_?%mOhO!<}f%ZZ04w z_e$H*cZH}GbcR3UagYuAD`hQtEYx#HU~&~X2%V8IU5g}3hOgi|T&>Rmb=YT~8LKCX z1)zsf)87SPlYyv+ItF1YKwD)<(O0}&Y%CC<)nm z1Y23YL%@zGGb#+*=7>S$(puH;)!QS0AL8)$2*zi{K1(JZ%>WLhn7=LHvTS}c2L)-T zRhy)JbiuD45!cRn^_Q+1MnT5?-ScU+tLHwfK5r*1d)VR>3F)>WfE{!RfhF1Em+3X0 z9)VIC5Sq1$`Uet2^JIX9l7RzR>{AfCh?lQgUeF!MIQ^R|w3?@m73K44i2T}aWPc4o zFc=#8wa%~Zx3bP;lHy0NRAt3pyag2@;|Ges|DGEf0L9Sl0d3)L4z0HcRlH5Dkb~QP zzmiwBP?Kn&SoB*V4Bk!ueD&q=1s?o9bZ?pFf2;Qu4fyB3fBE`Q3=PPFxP&#|rrwra zGq>aOZgG@u7ZrV=$z|CET(qyJDnj1N_P8?2~zLG1h>w}j^ux}G63 zOAyvmsja+r%@eckP`R*@< zQkqq`o@5d7-;<6135jrn^#9Ej3Bhh?678H;jsV7imP5<)N?Mmr{{F86Z>Fco41S2H zERxCGhg&O#PO(MN`y-A6kdASC{fne-*8?n1IROiF-`Ap#Ln*Oy9u9wTY-kUFM>88k zyJ?s#(=ALw)$JhKLAgSq;(1?3^EW5%c{O{<;>$Y3I0X`AO}^$$W(dWgaei6&BFLL- zug~AUlRqaXI$mM_!V!%j*Zv=V@uqLHwxFOb{>D3Eui#sO)O8=o1 zX6vM#_N#jKo+Xs6*j8!x{uc+|NP($~vM&*%w8e%KWMdd)A*C29cnh=xr$$8qIzuPa zHXb1?@`)@`u^9{E`LKpuovjR!?uY}!hP%K74z?<87@G(XQoH%t{wxY_m;;eR62bi* z0}s)B8iU*bv4{tQkZr6ohCHK;TxaavQS;PZLb}Kq%xq?c3-_M@(QWbVy{6|4mjsXZ z<56BOPz!}wCb6xa0Rf(!ef?ZpXCh%6IgmMtdy3N3VZLg*q74H}=vq8slJ_Opu%Ktk zd&napOr--+3VP8F#NLQlsA5&080JAVs5ramd9v;I6ynXSXMmhP82wF*@(Kd_E$4_q zCeIj=HG$Jn`(%3pB}O1(AcoC&?8{`lVjS4vfQgtvw@PLPz+_$$+%myz$Ug#W#Xji^ zJ=gz;AR5K3S}VbK11ZJskn$Va>~A8St`X)b;Tn=L7$6%4BS4D?%x4b5j?zXVTZJFOEKt4) zeAIVZG}=&O7>^n1+ z71#U1Y%612r5!o6_@XN59=L<3X$rxf2C#6SF9==NuxH@ll&@n}{MvAb+gb7Y!fqCZ z)-{A<1jICyQh)-><{2RA_Z^eZC8U$WnXWar)>H@T4LI1)iq%Pz#4N-~_;goivPFV~-Lks2icc`EX zFv9$Nel@R68tgs$xA@0I3}(t@2Uvt?9W@dA`wp*T+g^J(jq>@s0sfM8l4Et zC_lUt9Aw(7ne{>`{Ev^0ipA|MpTKb+Cxc4@cZd>G1?ow1uP`SLkk|^?4(UmtO^EdT zi*2)cb924Sm#w^-EIS~Qru5`QKA@})G}+(4Awwa)PYXzS^_4G`{G9#~klnC~B^Atc z!b!RvD2dza0`Q04rz^6&;cUiEh2I%Td|1-E_tYNXs2trR^34q&UHtntaUD=!_#4h4+lPt6}vi$F|S|MMYG$W6U-j zA=8#11~lRdteZ9XIq41M58>s6Qk@1ThDh;cjZz%4x|$@G?WO>;#^Nz6Cy2c`I+h>Z zNYHYaMlu&xB{1H+MX+=M=I)wdg1xyE>KRVlKj~jqPeS$BPcrBH=LdM_8Gebusih!) zys9%aDe}xhS;n*a0_1VI?}zJyfs?|jydGx0g+L{tle$@qvYMsE9RPDvMJRUooImSUhj*#q0x z6KyHiRS`$v)t(l=X;h}vMwBCDDLnX&N68MUr7bWkNCL?c=_ME<@t@ys0-qp2#O^Dj z)W%!ixFw{}>~=+|7sf04L~uQu1*|SZnAvg6^;M6;Vfl=ik^`-BZmtGGQ3lVocT#dv z!blEtc-1{|)oi-h748vdGOBv4)wd?LW5=PuC%C2oduKRSw~MADpTH6;hhXU&G9t z2_1h6|bUXBq{X$9#66jM$tltTX=<$6~s z2Aj%aY|)}fI~tF*oubf0u_hHI%YSW)Jgw7$8D|4Pxtu-Go0MBTR%BnRGx7_T{QoYH zXMw@}TS9V@1~lk)W&n3?8bE4{XiSwxq@}3E=_=;qBKgjLf=XEo5Sg08 zC#!1duPTx|^j?}LyQ+jy5%|M-0k#-HNX$86FCk@MYoV|`L7@as#Wn(sy7XzLp|)uH41M$$@J~aR zaJhD=wcA~^D*IBk=>q=XY1^n-$ey<y(TO2Csr@npw3cdMfO zC8b)eTES7!%a!`dQIf~R4Y=|T8Nk+G@1;4NKL?EArl13>*&8*!Pca~|!Uz&~#C!tOL?|dkZ_`EjkP)@ z&cLGh9m5@9a!|^m{#U6Mn$XE|7<^c)cY!Dz>B1G6p|6RCEo>f5hbM&c)dC0A5ocX@ zmTc`yP<%@>jFh|V46b{;DD#YR?IyMy4%i$_G8UQxU5qA(wwQWSgtD&j04nS9?XrC? zeGcUHfzD7J@gz8jxQuLY^fz{G(kAW`5IL-9H-KbS0Y8fmqcp~+?JUbQh&&qaxIJDt zuPesQIrSsV2bCL-bz}Hrhhxy_;}{`E5Oj{=3pvlJ{2cB31kFtQLv!sX5jwk#_uR+S?H zc-x%|86xbGP?d;8g(oa)00vg0MV@K@BnU6JWHU9bk>dOX{PKsN%nZd32v8?%4QFr| z^}={`db|gKip2r@g}3-&luT4u#uYN6fD2WP?bd9Uxfbf@AO1OP=Y#M4D)UtL(?IE) zHdPCx`blxIIOtsq3~_{~6U1@_Y^X?(g@87gp#M5cl@y3lLM?ov>CQ=gDC{yPi0^wK<#WMI)mNJD62>{-HD2O=B!Eaop1!w1iw8(wv+T?L-Hp>4}UrCKUQvcR{}}NF%<; z$c)tHu8*>JIb`{)+Eh{^&eC2qoSb00vwUaIlt>+QC_+NK6g_BnL^4Sh)Jm?Dha*m6 z5Wqi$-82_X-~-(WN1W&1QRvdVFTVPloqE^nRnKWN8Zszd=Nm6-gxC|q_8^w-lo)Fr z$AtULj<>9JS}C&x_(&SV?`UQe42}`~L)pGRz(^`-b%5ekRZlB}i6C8z8Pb9?i~GC1 zX<3@gSCXxc5W76+zHHKfMy|3*A$J6sfbDT}c>!)fnPZY9;z-TVf$an+UxM8(Lp?(K zo-~8`4fx<7NS_mL(oF-qE5{bPIvjIc&ni&NU1r9{@ily(RE>;~Iq8luCCg`hQ$cYZ zt^+=nD#mF@>g8I6Q~Pqw6+dWb3l#;k@Q)mp5a_QXgd;sS64oFf2pTicVqA{`4@6xw z-Jy263y@u?5_*l-x_zPw?i+?N(dNnkius3P3=N39qLV|hheNq2Wwx)P0z(baN$$3w zl)r-RN?`n&Aj^XHU!hy0A>Q+?DRH*e^ zQrS-1lqO)pG)h=DCwNZhjlYOc=r@sr%Jh+^z1coP7f(dgw zt}CW^TEa6Eo`50}Myvz?RQLb{^mHHMhHt6ok3^A)ZuAlKK{?O{5x8xl^{31F=;x+? zbaBvR3=*+$+GxQyMEYoAn0+zaRh+UgBK(oqCXpinzCv@KB85KrR7_oFB5H!d4RC3H6wJcqI~B^FDv zIHh|SP3VOG`Ejz*!ZodzA`UAZt6&m3jeaTYKXD6OsS14I7)Ea9AxSVv&8X@oNx@X0 zg*^1WDT;aI2=)<_+5z=4@ip-(oPE|@%&SSozYh~X2eD!|RRB@*rTm>Z|KkodQZq!$ zJ!N_ZIHl6}EH&ww#lnXTOBv3_sF|zGxzznI9QQzRLKwFq$7@TaRjRS!GtBrHM2tv5 zHP#_cUUu^KoY#Y(RhLFX;*(LyAGc`>g<4~yO7Qk7{No9Y?eNw!mR4BI5T{F!jqerz$&c*4$#Arqx`nYRuu%2Lv`f;+5FHDjdv}vQU%}1S0X|Q8jV8PlIV91Nc z+xSL#s3wO9CxUS@$AIge2R%{l;*$6<8e;6=-ZxV3BP0h9uS#rdADI!iJNMSXR!8Or zDC+Yj^FSq0%VaFonu{I$H+mAXwGl=z1s?1c-9(=2Ksk*>4Tuq#zuW{uSgP(#97?6C z4?awhGkhay&q^?z(xsOtTB0O_iPCy}KzB(an3IrbxXlNjC!oukO^ZTVnBsPOa`W58Bn;Saf)L|Kw&t+#xdFy{59KF8dkaPBlYzV zJIL&UZ#g4NDEHE^u~V9IsnuhIiHDb_x&~-OVs@5&jqrX-`Uf-X)K6=*>1>InUu5Gi zp`q}CcA^To-}#su_291`Go~rDnL%kEVziZ8R^7T0#un*escAKlXHH0e4K?uR(%4sO zB;3ntMGt?}^o zf?%~J2xk+At0e0K+`H3wRWu$Ep%jCdJeRT+?i^)8g{WrYkhXH|5+>grRP6vGnkgUF zUOTU)F+tkxiNuD;xeV-Jo9{w``@8ow@3N|*O_|ex#zs1j13A_}eZ7)7n#MJ+VyW^V z{zbCfDvcp#hG4u$Nk;^#xNeHQ2MlCFO_3ntApSYC-D2gT5hrpoX|@=e_dz=|5y;S; z;qF{#f1GTCM=E7cl&TQ#@7_y6ipp(A^#$n;`rOcRIhRYbvLf*|V;TO$9ATyd1ukm& zMqyxC@}D{Alx6ABQG**18w6uoHvJJy_wbd>Qp8RzE>6a^%hwU@s3QPIA)JG}L zD_%ZvupS!r1Z$i@n7Xyy#9=9I^G0^cQWDhJj`w%(b3lh8G~{(3xO=KJ42xhYqQHr6 zh)bh#rHuaRVe4!t3`ObiY^i&Z_JpcexlH6yp3O*7scK zS0-9GJfL3o!Ndf`qtl0ey&3z*3G@%3^ZngVrU?=DnS#v)QDR8-7oww2mf3@AW0o*Z zDNTMT7NN34f9qmk`m`DeY17xJG;cg}h^ZjR<%eyVUqqYV9dt=ZNN)z7W=-8Z)?+x? zaHBvD9@5V7LTL&DwCRe7Hd=qzFV8jgTMiQYahOEzjjLev9WLqfevCKj#^8}b1v%6I_+XPz3Ze=Spm)^4yDB8bPO8a@G9YYMt^)3C!jdlS)bq=5*dlL1_#sUMI^ zNjzQf9r{xYwiIRT)+|JE$Hmf6c6B!-P7Kw7c({a_Y$hnGPzw&6X)dQTPVe41>fkc5 zl(SKjNHM@c@dcyy6Qk}OUZKAtAndO_w(2WCD{>qXI*%X04bw5h}_ zJg{6o7mLyWQAn>1%I*sqybSbE7-%BoDU=*^>9r8)XA@~|!kPK}d+3ymKW+3>T5$`r zzGRdN<>DaYs|pkNQ1Wkrsc7g{*yl_?=azV$%CSlKq1cbLdmYi+etlcbszXl05x zDaQyKM@z4RY}PEmtKjuZ3zO8j+sK4|H2{?x0;Swz>Zt~ujYFik%RoK2Ic}?Xv4VaF z#^z#EqE6-{ld5duc~j*3R$eIa+QiJDtCjI+mz}xmGn62*3yuDoVwC@x#uB0;9%a&o zWtc@AFZjwt4E>2lW(N}XZ!wT6D+3~!OTw0L_pl^zEt*U9de6OP`?salFX)>kH+9td z_2oD!JMf4o{02{jDf;|+j6_~oX=Rn0paSPO-QBt{vzIBS!Sh?J09LV_7xiVX1#Cz_ zm|ZM+#6B3TgQF5cSAxvWFheY*&jFt*!%BN8289^F6g#R?ZWC78#$8}wj^@ecP0u*R z|IG$jXKb+I>y8_sSo*f)E7*4%j9&?$5Y@`XVB*XeQXYdBzMP?MW*(a-!#ZpO zVM_WU>c~M!Mn@XXxUp2&XB)x)#|hmfn8b|}lFGeE3#w>_N*aMyiR8in$F`K{9G&rL z#mhg0DSBAYr)TSkOT|S^JbHAmyFPMMCE+M?Mx24WleW{ftBPQ%;;c_;4wYV|<7F~s z?iVdsWoE9omYz`&k^?&-5fX?yA>pFGGF6}~oIv`mN{*kyuq!3A2(lc(oNjb3e` z3@aJ;F!dNp(2D4QJ(JPi?C1iWNmOaC<06C`#uIi6&9A_|8Vyy$sb76fq%1o1Wbtw_ z0fiM$WcX@N{wkk53Yu+{bks}q$V|<=Qrn52DFMYul>}}>kz84QqG?AwXY#O_z>;p^ zter`=S=(Q9VP8q2=pe}NkM1w~ zBGw`v>QSLOAwpR^PfM#-KFN)`zx%n_uB1Pfh%ab_3uATgT{L-eCPQ;nuS^3&un8Q^ zi!7fl$?BU;5r>5xn54XD2tzVu@FR-R&h~v-MoF&2gMDeg5#T9-H>2?qf0j@L4|wiv z28C7;kL&*KL+vJ}S>dP9sT9l62Th40QJMoI%c*lqnT&&aMBsJ{fC>M!b|Z?RnT0sm zqK($)7@DbG$f zzR(!(12uifzGG0qg9nDepzSdaT55C$-kNm;!dFwu%J_?|D2c;VnD(3t47x&dTo_T4 zPrY3yRH($`Axj#3EoDfljNQc=np0|u2JP9-$RWKBMGn>4gDzz|vqwR*ZQ+sDFZ%T` zhlP79*N$kT-Bh2@fOe16_w?Ic?YEmy+~_e$stQ@a?Z%W5Ql(sy5D0wlTwxw_4D(gJaOvZ^O0e>&% zXmm_&6Xh>M<%&e@{!F(Z$>AnDo`ckvhPW+`;e1-21Kl8ap3jlX#2dmYn`~2ee`z)% zSY^&qeB_41j`=>UKg!s+Wm7y2`*y+_;7Ck1vjPvTl$y%EltFGXjRqq@FN>va!9z(! z35w$@P|~Q33|;?Nh|&r+Q!|^mBgk8+gO?icfz#sg(w0kNA@i)k&EzE-Oe&AWSy#Mo z@yQrPwI~6>_mn&bBNj57o0DC*G^Kw$1S)vSk_8#k^n2%pvArZ!) z5+nGq@dLE})>z+8t~8^?362k&BlnPu?TY9ew>ZW@XHItDg3gmmTt<@FP7u{>Y|6q3 zub|^1P6FKaX3wss1c@$LP{GJ`@Y(uF`cQd(p2ujYOp~4sSC>|L8G69O#S~3BZYqf! zwZ2uv(~e;bJ2iL!wbte$nL)$m=tfo4NJ3{xE@(FnOFnr^PK5}#GHjmeHv_?So~r9Z zRwPCw>hyAot)5?jX%^NVN*c<0AEf<=7qdOCOpf79IkS$aupOsyCEr}Pw(qHIIRZBw z5P46KJ%P(AT4*uC-#}$?VKeGfwzVBme=yR^nJ3axn6K7<3O3&GOv=IA)H92GZM9E%8lmNRQ^d+IZ1J@NtpLCr7~zF> zUC8FqGB=<3n$tL|#*wSB!$_T#6&X00ntFftb7A7im;>RyNe2jMQ}2dkE6zf4K(fP| zMAOO92AUH|8nye?uVx^b9tW3&tAkn*4-48(M7iwIw&0U60+}&s^bkA`J6=g{+^~?> z(H(ltjm&7Yew=KCwVEgGpDe>Or#&nY@m4AYFaIEsAhX9y7R7~>faVnZ4PrC-16^Qr zR3Te%`$MEw7s}X_T@NEfvmZka9)_h1Iksiw9?f?(UQtSQ+Gn%4c(U~+NSd+%)08B~ zu8f+C^AXuYtDZ7xotI2!ShcGH;yA6o`y~R>GB76XG6XC~Nt&Shg+1P$qc{-Fm?^51 z5!Y$F%72wu(+7;t5CAh7iv}djcx#(E)pk)gFAtk+mKQ1zSmeeGcG26bID(8U>ABWR z=B^8V;f(A!QoHsg75x|3T2f6W`ZYa6p%|4}7F#`nfj1Q$DHSe*-zodUV^?0F$1Z!% z1702fXdHcCUO8d$2l2eictxQ$XI8lYibJY4zr~>HTnDVyH zen1yZ@4sPs(%#5#1(lsxmYk){zh1L`z-WK){f9g!&KS4)R%6(hBv1Q#8X;D0;fiwb zR9|C+dqW`!V~^6aqAF9L_z%QiVP6t4I=+}~c*~p0q#W+2UB_E66+On~W88R=D~iqe z1ts)tJU2WOE<^JeYw;}1&T2rv&PV+f7+>1G!K=c;+KkH8RKMQR8)c4Kf72h({v`_& zjb;&Ac@I~hQ-)$dEJHES0-QX+*0o1W7{Z=*7+qlNLz0JA92RN*V}{vP@!U7SQwa&) zi6D`SraIC)yhvrq9@3`}c(kgbH!tw4om*|1vrNdMLTiZBm9)O|ghK8u zAFv97SfZ>R)B@{3gGdk(95Wec7N+qH zOi`RP3)i2|;)*UR^oqMG_X(kjT4}-M-3*X2nv&-A^VY5PL6xWoSW@FB(w#>H9}vq>XH!0=?SrL-CKQ{=22 z4?z11hM(h_kUNlrn#LUpXoG9e9plmWKqPhEMfSkBEjw1-?wx~@HCyEg_~n5DwJT@d zQGJZ7HO0~InX&v9I3|a{NNfg4N|5+5yyLvRP$MZZ)&tM_49zyC;*xIimk^r!yZ6s3tfo@Mo;Xeam8Q0H2tg|vq9L4^}$)2egd{oy-FpD24DNw#_ z+D}4Z)&)k>9TYr7%{j^kE|C_BL@xOOdSYI})_uHY!Rko%ofu@%_)gKBI6F)(8xP!K zybXuyO&oO{P0i#$dAY)MEvf`##g2c3TwBL!7|9YBf-Tu_eih+5|4Ih9?-^=E40evF zl$?nUBn9U*(qg2ZD5@*#;7=W{y|k9}w{&V)89{PTSA5&@N**d%4jWwy&ygK)KSj6e zt>+26psFjby97tQG4hdW>uEw!yT>5{tZ@?(csDK>p+tWv<7c$OD~>~igXV}aOhO2&q88qIRY(E z-t4;rHH_JS$-jze+v%{IcbedLUYuw4^GoPt*3Hm4E%Ak321oAt?xSkqt?(aUB{t-#^7EN%Ow|XACJOYkOiArm*s3ii zdU;8QOmdaIqh>|vO8kn+0`sO5D=9?YZz(T9y}x_Ejw9js!8KuIqBF7O$OUsR$ZGok zPiBz5p&s_~Iw17C1>fu(g5JFY#g!3{E01Aci=<=L{lhm_}( z#|fVA=XP_Z(MD*tagu7CyI9GaB_hyU49`GAFVJD9G#Qx<{SPf5lHZGmG4ls7@ARLz3Rn0#`K%ylZ^T29so`jyKTmL zWHMIfIk?2dFQ0$z9{KY1_memGl(LKA)91gq`RKW!(8b<`;nU~;^_zeAyN{onTx{sA zkAXgY9^&)YubP+7KKs+}zxnH*|6s;4`ByLbzvlbNhy3aDv6T6f7cbUzy;*;C6VveG z7r*`OZ(n@R*F2YtKB0MOuda0ce8#oE{OF_KyohtIS5E)V13!N8l`SLw^VOI2;@SV~ z`+xb-N56jY(Jx-iDTXC<&K4KL-+B7pburX?bDsRabMr4={Nke*`4Y-V*=-}s_rt$) z{YNkI{qX$N%aLsV>Sb}o)2qL~`CtF?&u>35U&S&+7tYl5BV)8_*P zO18xG+;lM%3gy%1pT+KXG2WT~_Vt(M>+R{;{BsU=&SNb9{kI=~{Ojvc%!%&n`?~R? zU*?Z~eWP2C8Grix*Sr#+n6ED8OWR*eJex9-`NHPO1-gD%pzq7|!+!JRVZXt$zWv1f zjzaH-XugPn^5et%(Pi^ZB0TVgY(yLTi);#|7q4Ds>R1j;=WWiPKG$EjCqLP+=Z07B z6Is~2wB2auLg~42{in}e|NsBySHJ!ES08`;t6%==H-G=p^H(o>cVC~32hMgN`B?um z{_^U3*0Kw~xASDvC#H>MeEy--jK6&K@&)cc{&#-$%}8dl!Q|pnqTVclYP?A;!aeyo<2qhExr=vewJsOa z$2F`r^;zEH0)N-IP$=D7pLuI78;`biVKB3Gfv@4G@g|(iNQak=WRsaG&Yqfeba|%4 zcLn~qz3>pt*$qn~Guxc0H=U1}aHpG27?pmH*A6cEW_4xcsV6g9mrne4YlcJ@(zZ@$QbySJ8XCwn@}KKD--aF)qa*6QW*LC0Q44@naz>qv0K`$^7BlN#)aPH;zC#aMXq^#cyC9UCqH-Of$8#` zVa9TMkn3-QuX2GV)d@JMe&ex_3SwCF#~USsv;e%*AHeK4blAFIm6i zc|Ljm4HL)eh(X_Vr7gghw ziz#lZH()IZi+uC)#mx5Zb28p818dqqq3~AAyAw?`waJE#ZcSbNpB1^1Xlgz6H^%%! zO!BxwiFcwUW6kWzW*hjib%WRzxnf*4lrx3mtZzzPw3$+l!K`DHXYt~(_VUwQFz3a4 zGsm1MGuATk%)&=(0r1GCrBW!Jcp^4jOtOVevb0ss>jOh9X0-QYS|XlQG3~`z)5fVi zHI!%SoMqv4XQQS9rYNqI%(r%xhqf_^q_k-XrLODa!%u(VZ*3xTiHng%;`yIrI*C@j zeth_w*c+G#yr59%Dcut45c(=@l&(|?FJazR4 zJhZ%=&zO&xU|z*HIt#t;WJFNJcAM2+pks}AT=ONw`)oe9`SIZ$3&o8wpSj+=g{WkE zF}swyfM;B*s#v?nhaa=J_Sdop6`^#*KK=Qt|Ig_E{-Yms`&bIr82fB^v&^@=QSwrk zOiQ__O~q#Um|R@4xsdm9#j3O^uB;^u*~IF-lw}Gh5g6(Z_eS4u0z?JIlm*F{x9sf! zr}#75v{AM;JGm+b03+`yu$2wu zVQjR)MG<#FF)*ull)BN;xrt}f$E7W-AiU_oyHHJksK^R<1k;yow>^mp6q^b>as%6W zFh}3;L?M|WnjyyC%!%0CxG2PD!Nf@ z@oXZ&TW*@!cVQiBD<>NZM4Lwo+47UX~?Qb6+ew?7-s||(v6F%|Y4AEFN5x|qz zKbkV*oOzcpn+fLKYq$eq#H% z9{gA{#(9PnXrs85*T%e2A2&qx?;cIARNrv`jOra2R-eo{Q671aVW?q(g$}VyN~{Q!l42-qb%CRKd0|2{jta%}lpN!i z(*dO4g~(n+UI)+05e|>6>1-lKKJ0-ZD^f-3YTdSvE3#6^+S--td90BDY$;rSL@JZW&oApruia{fdSfNzl{k7WgeZ6InLvS2k+e( zYA#HOhxqbJL1br}it83{QzJ-%%+(^>HkV|(B2q7)$A-vOS`6U5qm{N8xr?D=E4G=^ zMAn~-clU^-IyVs{aOP*SqlrOL!G(&^nKYP*cyk2*@oXk`7i@EqqtKB`l;zbrQ^z}t zAYk8pTbkUB9C__R{nZ6g4o4I|uKC2GJBkO()&WWL0>rMffU=n27=2%T$l1r33?o3t z{$}YfCj(`v_GSgHjvVd`vScswY&R~3rg^m4<>#+n()4PjmoI2~_3{N@@``O0Pz?f3 z(dRN!rUo05cN=Cq#w}GY|Ic5*^8~Wq5T8hwn`ZB*Z#cl9lt(vj3MeQM97%*JC?os9 z-m>d@rx9z33`mtgah@{!%r){>v!~&)hG+_<6jK&EhS;00IGO3mrkE9xHG9Oy$JCz$ zvZ|-tgwq|c#a)PNme*TYy2%DR0J2OsykwWg_8b7_4x3f&8zDHxbgVD;+*8b zY1oSjrO5cRSv z!X`F0vaIReg`r`P?K;PcEQ{SCIEJk$(bypo?Vu9EMJ&P+8?Z&piz~MEWI_zxXgxcJ zsx*H(n=URX)5%44H&#qh8(zX}l zN@iO}hq*(sS>En=^B*66OvJ$}f`5*AOJo(Wmz!(X4JcYksOsiIufUeSog_lFj2=e^ zx3ov;8h%xhO5;{cvVaTaU|I;kOI%(X4vs`uHxzFshMz33XCiO1>+Y_d`|l|g>w*XJ zU>orG@Sf7+!}~a@a|h;nkN^Me5cl*PgmVC|(o?C1BP+-;V*Qv6VDEsQ?8Pi>b$A^< zm@OmO!?ORCGVoC52`_0yVWnZjBn!E{NeseLh91J)#dAL9x)_OvTH-sXn(c-?ipm| zFX9^qn_+1ad4}wa2-Zd7H(^G|--_F@#d6{Y=&Zrh{>K0}%iE3D7Q2tl`gyKhIPc%?bP?hsCZZ;bVIa ze|d?6O)0L%+d!daV|Gb(vms5XpA|wTzvR$|2 z5(Q3bC`P4{vm5;-k!*^{C!F>l8KIBV)F4XCB35}{P*BlIV#5sdjxi9=(`DLt(y$J3<7Oe%-Mk^-T7SweS#X&l1IU1 zOXyE#ivV(LTk0DtZnH!K9Nf|MOsc8d<0o;pqdbRIzcefoYG%sn3J4V5ce0s0YI&FKbX2d+OCRYZv&?(QB+<1(x_xJDnq)Nal$w5E(X!p0I3r`&u1}X{uxtO!m_Kjte|Gd! zOWyda)|O(uLv||>3rGT!XcL>2GfO6h$Jh3j4b?gF!2b2-;PrUDS`vyUB>_vvb*Z$3 zq`RIO^Ls0c0cM0q84XnqZ+l(=b+eLnK^CFWn7-PHe&f~*77DteG!X+YmVT8?P zdGoKYDQ1zMO5h5J+T_v4c)o#~@iVX19sL$8^L6IOpc3yWz;rgFWjFth zrII7&$cUk=3>wbf&NHQvy%`dzae_lw%JtJnN{weNR%%6a$^2kb#Of+{IvGu;36G(? z@e)jSf#tQSI=y+O(RrV*nb3>*FhJXZMGaNdQr2|ERYcN&jc0tQ60>_Hc+qWmBXUtl zPw3`u#*U%HK)qRJECL=f-KaXMJ4y=(YuWRd9Oc(n7c?~ld97BC^*HitIJngKlqaav zv5e)zr#6U(fL8d%Zy}Eg9KTy!cPC7n(ifv*X-T0<-Gb~SsET>6a|Q+#EMgk%h;dArDGQfG2w%pr;v=1j^#bPWM2VESA}2}AFY zHw#x5XoG&e%bMdbV$&uOoK?1Hq)9W!x@r7WwjTU2Ht5TS*?>K_B8sXObz@nv*}!4P z)YPq`^TbkuoIH~KWK-D;H7?7N*zKY{(%p#AHn!*Buipq#Vjm@MhFD6W3C`PUdehRSi&$daWFhBhrjY5TsC|jA5cv!*FAPL)?G5ipF^>_qc#J z3yOAl^VbZo%SqG(+jK(4)Rm30AIYl_0e$g28D~%!pt^wv#AvT+Z642yKbh?#H5{-d zqj*<9s6@Ra{#?i)ugb}|2~KFqr^Z&MUW2I}nkX+Qvqcbf9eCDn_Kjj!ev(L3w(+oY zf7lmY7J0+La6W{9S{|a#*ltPLau8ZE zYXq{2XWwwt_#qk-dh4DvDw(C84M|00&08D#8)LqV@$PVOt#+9%4T@c^GjiAZ4m!k4 z#K6xLv&`_S7he1wDiH#wlIkHDsr%mS(4zro8YZdT!yjX5cdb9^ChAeZwpw){wPkQuqaCb z1VS2Ax|y>RJ7aS*rwBSkMP5VJT5V}frci(!v@EcqQg;?lVa>hGr4jtuUB_;*H-C&z zf=OfEp3O?a3YKVw$iIQ|_JkTAz`{4-(oFH55LvAXRZs#s)nM@EX;M}5M0m2;FrBqT ztD%>?g{|@1XtNM~0n{PVRJ_rQU~CwYt8D037cDtMuC}F`tMk5+^GcCfFjtZ#xg%qn z^TO~7`6lT8p zK0ZFYV|3Y@K6WLdoNh%575jRbV^3*vozW7%V;$&5*X#wa0y!BFXXEXF5TH_`VpKtF zn0dTp*ID1JD4xNcH6bmg^&DfV(4i%ztyb$cZqf$y5iC-)*&tE>fkoBCVwW8Cd!@nS z!%qyR#Y$U$hdp47`Bn@nU}c}kGS+EiN3PjPj#NR4OFdT?Lvdjd$_^t@Ft8!Sr$Um zWC(#H(z*n9j%nJ`Pz-?DY>z;u@2+>%*f|Ym6 zSK3l+Cz(id@4UAI+nYCXsg#VG$tHC{lA>sO8#*K+LX=9?GjECFr>kgoFT~w=xN4JF zU@n@@po`{Sq*yYe>QiQBw_>D#f?}lLH366XN>1hG{j<+ia9cF#;p;zrsFL zVpmHl8Fp>)fYc|AHuX0@n+-WGAzO+*xp22zwSpRO5EkIray0jLSj3Mlf$iOEDU(=7 z#5s+W*>hmULg_t*36axPY~27AdX4!F{2`(OW6$iSZ6h(E@^mPZLizH6VC*Q+p=e&p z>b>m*e-E(|TblKCHi0i6sGJuK(w;=w*~}>p$xd5MY8hSXRni*z zz9b8E_*TldHHWMlv1;XA)@jz_RV|xFVNqT>bz(B$N>~(01Jil&W<+47^@)6QPleG^ z5MNi)1*D%}y1PU4Sj#DDJUoiYm!VfH9c;eJHAn`XzvHmKLCk_UH!!Avs}z&ZPfRo~ zQtT>?2FanwbdKH?*ExQaCK1zub&=RNNMXR^!@EpfBHo5Py17EHY^=}m$-`X$4bbds zbaPadZ13&BV!lUgsxlm^>CDd-HI^lEV9-^TdXo07lA^SLL^ZzXpBRWSGW6r%5VS}Z z5$`RGrdm)9(RifUOe9T8^*6ronK8d-H*A*q)Nq{aj$Z2xTMZlNupbOfl6AQ@nT#&q z@qXFR^ZLc!YNRhsJDLqV+k!fm&USbHy1qsEU)bpW7@Sx$GJxY9QsoD50-5!N?e206 zaLrQDLwzGvOWl&n?)p9$-ATGnj&V^n06gfJdTCTC(u-F#2kjlN`>{;@bAmyGC9|n- zwiX|k5=nh?>#2@ZVrKP6DE;t0uF7(RWRNCf zO5~vIEd8Alv?9?Uy=<=MJ-AR-$A^X^n*>n9rdz;LIBv8{)Vf-mG8_47o`xt?FB+w5 zYerck6xJ40OY5t(ZqG>Fo`l4}K5X`sJm^fp+{95!Q|>13{M)4(5v zpqjTW+pbA+zuM-ajbV*$pqIBvT(g&ERXBA;tf>WP$vYB;;t-ljFt0doqS~aerRiu$ zG;l=JRJEhYm4cVeo)^j8L#@5ohyUPx(!pfG{x@$i`)exY&m#B;f>WXn$iIz+V@6v* z$z;i{GxmFSsH;Tvzirbp7k_EgTAo>NA%BzA2zROlw!F$R;6DXrfd-z)G9Myi7n(1D zSQrl8g}6RpLpd~I&?ocdOJ&{aN>!9G42f5w-^=~CH9)Og0b zjdG)DE*G=8Z8MR#p&KLMltW)0n|N88)#m1C2`Y9w;aVh0{`FX<$H-S26e7MYI}vsGc-GqbGksDba<4 z*?W#<5umeoSf*KAB4)Zsd#gsk&36lt5S0UpVP6~b`xvBH1pY6(bPKh_MUynGJ-c>k z-lFsEs?o}{3yfGG$XFTElC=sF%-h}5q}k_79#zdC!Zj8u%7ww$VF5jIXhMl>>vkhu zi!#oJQR8I!h0mVy>8ggEMQh+_k=5Zi-nd*FoH18G-(ITZ&zO0#91p!~mr`QL(gHSJ zOrBkkGODd~HOGW7r6pBNf zRj*k>ak5=P2_>>q4UOYH$0P2J8eUf^fvARjTC(e^=4_?3+S+StSx?zcNrF%|2xnd}8Xxo(A*j_JpTzdb&@M+6~k9bn4p z&QA@S^v|(T>f!>Cuh~S~^!y@3Bpd4tV2vWX_k!E`PUHacDx!F3Cw{BTdx=YL2BuJHyh%M!DN^ccX`Cb?nu&zkOQua^%UJnV z&DWs1iQ^5)#U|2P&WUoi1DV#_A5d4eRC4-QTzp_`_FmBqOj$G8(v39?J*hcrc9((d z)KwwH=KICUmTugv^R`56Sfc8Zds-~w!f?~G~zY85Gj*JA4L;mB?d79XY=W(;Ol-4mjnlli;gypb#w_p8!K5~ zMmA^Sprn_WrCQFBc;jupvsCKCxRsAvA5WjlMM{8?#k49-ccEiiAD9-gSS(8F3aZ?~c@ zp2atDr6k_@F3`He2yI^xyz}HqHs3Wel)p%GrXY*yvbpnH-pu+9{Ph9hSXY_Io93@q zgeXqLaB_}{H9VeNXudtReqxJZEm3)P1Xs-jVCymp7HgXDWR}2YmsS3Q`%ecjH!L>U zP>5Jvt&=KM8=jUuY#yrGu_+>Gg|yCcIt{c7?rXJ|Yk+@hwwmv&28vBh@5zO{w+%%l z%MZs<0sCsJ_WNtH>2`;|2L%0%=65Am3A$X`rne*Ikl#cVq58Lg)?F!Q8l`Fw&PXUd zyx_yK*MXEmFPiMAA>!@+6&&r!#IzM)3;RCDJ8Eh?5B;qNB;vfp!^{4ZP|K+_p3!nv z$qXuc+LL#k@Pu2!wkpkdY_<5rSm}m%(yrMjO`GJnNUg6XD?VwCH+Xk0%58&>f_+N% zo)kLBY$)^)z&xYs3KcbaT9`=teRO>-WOZ84R%?`<^K&L&wDmKSOl;e>ZR3e;+sVYX zZQHiZC$=Z%H@1^E_pQ2rz^&@vyZcnv>Am+^>$7M|BDKzst<-Jk3~d|N5_&?yI(2MT zVEL9)m2r|iS34Kkti1sD3Z<8pu-ABOga@AlMdsfQ z1?c-3z~2EjVCAU^wyMt5O!7*To`;3TmOGXbi40Y34x0+3VCfe^_h0f@`?Wd}LJDgR@{0+4< zgV;>j#9p_sj&D`Vt1)*>Zth1m>jTiiZtILjqZGeDz$sVY7?bgqVLC}U0%eV$?5Xw~ z&OZv!^xL>i2nF@VS8+ry3)Qt*b&Gd^cv_e1NrcZ@&AoQBCf1FvQsEqn%$DptX`BKq z$4w&Nl{9d1ANh#xxqquxKoLrC{B)ECh-NMg*-{ zAuxp9Wx;S#@L1kPwhR7Ok{oM%aXXmU+@s7b@{ldMga@CjFpMG+$N1?AlkYLwqAQrO z0$y6VU4s<(`61@M9G>zb=+4?u?BPW{}c*U^V!iXgJr5_#{fhUU_2! zN2_$}PbyjCUka9)_7KS+-8xqJXqRT zntYXpz^=f0=%24~^J)dosK}x1t`7?qY_9O%|+gS?r9g)Zxz zbIlzQ#(a$3zp~3Yxa!UyEVeD&YO(lPSy6pLP8bLj-R|as1aBQ`MoP=t@^Q22?w_ji%>IRKA^u)DrEypAD`s7fXA`kh zPYK_MUIY}I|J~drKX=Tun>=NQILqg;ZP|6NO+Fhww`(vH(C$F7I{uM=eD5ZA`Zc4F zZR+Q!KEK?wU5+34BU87Bc_Ll}!_N7_S1`iDzuoSK87a!&`yxZ`Wk_(F9UxzGz?eLHhC@lqu zV>mXf`tajK7gq*`A{5lT==RQ<;%MrG;bdB(beY_)6Te(w9=RX0o7*~{A1x-r^@g5X z*1z4U(UsI5^V6O^#57M;i5GL8=YS7XGx9v(DN;Uaw;91t`r1N-W5{|%E#GcMJRKY;AO17(5)UKV?B96G_$r8=_4q3vte+RMCC%rH2SaOqLC|M*U@}E8 zPg3;R`#O;|o^d+e{`}S`Qth%l>CMf}k-%&NN(*IEoS3kBsf|(50%D`MYCD>4u3o)b zsHmc@F}n6wmX0v_e}s!)<4l70E*LTiL;*b89Q%`R7&JFymJf0D8Y;ym|2^0w@{$)L zOJG<%-?>0~ST#opOWSBPttRlE)^GhZxO}oQLm9ajnvs74pban)YgrL#&zj}51s15c znKAf^^4aseOo=}p@x)d~;hDyHofTtfv$8z?pyIblVxgQYnKun9tRP<%HqNL3y;5*Rc?w`@|+t0CESEmU`E5A!VA7;cWcsX!qARpkj*_J_Z z?AAHnNS9V!fMpl4rid;|$fAMPE+tXzvV8B@JfEn{-nKXTZsMzXcITRwV60lyhw{kE z<1P4hNfMqHC0|pp1rNubZ}^#BlNOuOY^%`N9S+~(vMJ8=;*^R`2Yh&L*|4&Nhxg10 za6SEZ#5Ee&C-o%!CB6>xq1y9}_rD7Ek8_0L0D2IRZ2SLT@Eu5$wuN^ef2*RK#+e>c`8DxA>eyez7V&A(Q~37>i2~2if>Y` zhXo)HT8+=!4HToO>oB_IBKW-@%uOpz7}pTya+pbQU-uGyU9S%bLOa1LZwDuFUms6d zeymYkIjC4Ey{nta7I_~a(x8-67c%KcAE9; z{;K8W?cDMHz83g=*unRE>l!nL^}UM;u?hOd2)njL@qV?F4tj^s|N3{ZEJ4md;`>E;@cz**b(U~O;+iL5C88YW@XXMh$MNub z@ZEI1_-x^?(#vZAeqh)?OMo|T9E`h9vIv$pe=+imB{=5 zLuuX@&GSAtA8AL!%kFwhzaO5@7XA7Z4R_J}zD{>M>~qssiDG*~&g;Cq^XmG()_dyw z$hE!Rhr2K5yP>`;gw37ej$t$c#{i)GsYB%=UE>1=-X9;DgP|q^tnf;29|>R1c&~mQ z7ICnbyC~~htjn?p#-lIeYftwQt)Hs`UwiU-pLpSSt~J`W$7*78TXACXA0 zlmzDlpVxK1a-D5+0PHZtymaovules-+Q&Y>uM4KQ_HSqJFHa__uy&mpf`z3A@Wh67 zjW;J0@1S`K(9!@RKu!=zCN2`(%hQ{#Jas0N?fuqfXvF zcytpN535MHMfEIGGm8CP43oXrxGI(#e3ErciJ$w;Ivx2wXA3%Wj~^4SZX8^x$-NU} z8#wr)>?ythmT6*Kz5Fn~ETVRgk3h!s6(Dv7r{0Dyi zD*?TV2A|Nld6$~I6V=FCd(jB|TuCuD*^+SMSM<6ObHxcs`8@6=l#iyRs>F?~JWUHf z1b_5OshRX4%Y+47w8CPfCFv(@CN6Ovi<&V3(Ov-mGsGe|U^L9;f{`0pJf5#Xf`ItN z2HfkS2}?w}^#_sxG?W=rDQa>Tev7>2Y|=e=uEA-H^@%nt9m)@IhApy93?O7QMLal+`|F!z&$N){{GHrvj8`84=|(Pej*i!MM|8YBwbDinP980Ja-BUz z{&>nPj^*#Wy_v}|>p#mEk!OpLGTnW0mke{6;K~D$@rFx(qJMf?UqW{Ba}pn6$S8OW z(rw$H!K5KysFFiF1EI@IECrEH4qG%t>&bf*J^z=fSO@G>u!@Q#9p7luNLkwhHPd@H zB0ww1roV%@Jngl>pdaYW%Trv|$HLG&W}*P>YZ2IwqV45VB7dn1=>tn!tm zR`J#Yk+owGQ_!Q?71J~3YJzuqH`Kg87D+6TW+M%RvV2D&Ts+#k$%Vqw-e`JSEbg!k z(EHW`?qyfgOg#qAUoH1kCy{GCoq{zMY|~SOV1Sc*lQEhR$vt^1h(Tbq8+IV%;72eb zZ*pM4-kxt6RLe$`%5oL&i-27^`jCN<`4iDPkaZ3EP-;xV zlwXz+@B1)5_L%JEW=>ySzG}CPc21d9VVoybl*J2oqyS9F?U${_D83;Xw#fnt{SXpD z1$JU~_QQK+L(P!q>55_5%dA?UVX*iYje^((N>Hd5dVV;d{|-;9K9gySZS0n@egJyq z$B5cbY=}LN5~*?ca)4_JR{0@M}i~cNw`Y;$t;Sp_c8=E%nzH-&Sx*ii;!5 zwAVyMnE*Zx-NttZ#YPp^yVJY2(J<3{kbVaR`m);~qm0})>B9!&;LYJAaUSKT7H-D# zvv|WKk(iBj36{wn3n+NS(X`D2g3Dr<4)6*89&m*xD~nhJ;9zNQwuk*2LIzN&l#nE@{Yyv&q3Wv8u6R#nT)l zc}SaB5%MwjH3p|pl@3N@(H5t3WWtPJTC7L~y2A_;zkw_qd;|^N4(lW&VL#I;1RLFz{u;ZSkb^jJ*FN6l6X%N`>9 zEov6gOPjYCPdn#8D(??EN`g<_0*VxeXt{H>uAB+>LNdx2At&$q7cv4-+~6VQC45-d z022>6l8r79<#n77o;BL0!KVD|vVnuB6;sT<3{s-I!uN(X=~tMR>W&Fd{>HfrR`Bpz z6A*a~y_A>DtrS9n-EPl$?70Z0xi|?99tuH#Y_Y*>fV&z~H#HGHhs8v~T{ZeLTe;(; z?Od^$-Rcm9TUlgg_mlt?PI3uxmDpoOuBK z7l|5T5nljJ`OQYVX5U-dIfTUlVM4I+=u;{6MB(uegovCcCJWT88G=U|{Ye~+<;7M)0YCG0X_oCbvW={u5L9l1ydrub7hLK+` z#j{l}HM1vCWXbEpg2BF?Upy?C&xYGN`kN$}M=lLJG_TS9cdNv1cYAF)0@G^NOmC9G zH#D7b;Q(D4H2y+^`P3)ohW)@ryho9RB_02(ih{v+h$N(|3aaEJgO^B^pVaLNxM z|33O9v@PBAjea1QYjZW!Z#GW8Xw+!4AVT5H*MNZD^6TqAKxiR$Y9Q7()|Sm+|F$23 z??@{fBjN-6@d=RKP0rO^q`nE{Ts(a&GUz6q-|+0uR_H{O=ib~5zKlMy%?)KOzW z=f;7W$s{xidXul%GS6JPN#{48@@y11E}qo@0rAC07w!;l;}%tcv>wVWXN-O*?^Pef z%GSwvU2p&*Vb3EIN!n0xbn*}`89z+7p)-#`z7vv8fq=ykc%W@Yp_{-E`pYGtlazw% zbY&u=TrV*b@&p<|C?(t8UG=t0>739l=NO1l zLu6aq5T+C_Yvb0R*}tT=khg*mOHElJ?h=`U3(SF!q;+&e+B=jGE?nPMC{6mrobGvM0%d95lb@H7Vq%scm!&ll2$IC`!~K(lC6qleVK9InCj-xB$Ic9xlT9P z&3I}u%#r@`2Ht_mvXGV@h)}SmA~j6;kv`FnP&_+wLH@)g?(J8EL>ykpEX2GS3=TMf zbeOvm3vOrB#~%DAWS;8;iG6-#iTMZFwm6&8_ZTFUfK!EPtiP9cq083DIsdp3%x%sz zn)x@E&>I1xkZJbiFu3XvX>MBJAX8&zK369qhHoxtJ^?OYyOLEn z+K^q=-Z)!)@gY2+!<5?+TcaEd9X4!^PFzwEAP1CB@?e5bWsXT1+g)Wd z#1xEfEQI%H3?w)mpS0FgETzhiH%IZbrWE@N$X2o4b~S2Khr6KvKbGl4=81Jtq= zptsFFZO|P{3c$Mzy8nigb>}ubw7lN`U3Ftz1`U;kYqYMI`PRzz`_qe6U(~DE*&Xhh zR9A5=;LLqkg|@>M33}z6(d<0^cN@*}=h3v^wzrS+*JBEw=AM&9KmKS#J$7);z(16!hy! z`4hOpR}!0BbU(E{WNJ0bKyNaIeAU(Z8@Q>sYwsBaJoA)fzXC7Aecy`y3;~NFHpa31 z_>QPBV-EOIliv!+RIya|!Iy2ubA`YI??`<#z^G1e&r0>eC`%YhvrWiuFPXl19YAza) z+TeNV3rI<#Pl)DxlE0x##mudv>*1b4s-dR36x18lv*|ML%&_#iDNf))@h#ZW?#IHx zI9Q;0l_&eLS^DwR@{4B?I0UwBXpV=pG$hWbK=sCLk1c5JRajv}ONzzC)y=SD9;ry0 z8K8NqMWtxP@97bLeiLamR*Bcf}5!&Q~;O72b@T-2#g(O{eH|+jSn^dKmcwT))5RgxA{7tgpn5BlTBp;R!bsc2Er(!e7X~B<4CLvXO1Z1_ME^pBdD?Xe^)|>gZ zb*Ce%FSiikj^yL|p7f0-wPyN8l6#3@YWsOxluQyLz;6_FDJ^(Qtl`G_Uwz0e*TOzM z?_l&6Kgft|Z1|>HaN}PAf6I6(y8bEzn{G4W>4{<5o}=H>n=pfW$D(GTewtcbh>T9Y zrf~=JXwK3=8<0mz;{KpgeuL*b}oQC%&lTDOe*53AN4%uZ*ka^f@sy zapsFMq`*{6x|8Sc{M^WfE!7Z7{)5-m9ea?RVm}IVwj}2`9_AJ!A!f;Wa|}3MdC~c*3~{LWI;f|DuXM=?)LRx2asjKVZy|WG?nitk#$n z&9a}a$rTZT6g9^~ zCga>U7BZeXeUYvA?Fs!_&pk=n71~Buv;aI=&*RrnBx(GHi9nGUPPh-w&XHKF+THYB zXpYv#RH7(VL1jfSi6AOU=VTW?>_=OgChANjtwX*kygFOKsZiID67tF2kBB+nvyZw- zpEG?(0sXBfC}~88MRmq#C~3paKUFGj_+0D&S*YMX^`9!-aC?0&0?a`2?q(G<**4fi zVgz!;XG5DDF+ge>g2@JUblnd&wF5zlYEANcbX@LNt8lhbjKN~2!*`(WY!1dw;C}`d zwGr&#*_w#^e0kkSLs~I|%_L)kz0R#b6W-DUwZTETKxU*vN)Md#brr{aM!A-zm;h?S zC2V{SxFS?>nMJ6ZutYfdwUFCrs~E z;sAf(*t{MTV4MdJ6=Wd zYoe?}iOi$AU~;9tvNghsV3Fm?Pf@$8!uUjTkW$HajpQ%51uevURY6AH_NMbG#kHh4 zl-r@%VdQM-e{yVtkQvE?uD!HbM5Q1cQ&AzZ38krntifbq)Rd`6C-H<;dK2Be46h^$ zf5~Dv>%yXpsNN!XJIPfA>96HCCkEu(-%GIo@?R)qhQ%pl@2Rs-dfSJD*{)ClbT0uLjDs_mU$^IwypQBdAb9sbLO&S4p%prg=Uh}9 znuPO65K?N-bw8tx-Mawvoh>M^Lyx&7?{bF(rQ=JILGP=P&sT3IDZvD(H1KIysOhZ- zWgE|pSJv0ySHh-J-6yIj6Swfkp$O;3mR-TvTTOHu-vXYD@lh+>uV-ypHfHXVaY_gx zOB?=l`ru_l=?-Gpm%;Sw60>mNKkV4}d9E$uxl)SLf0+Ta;J*-K>7o9no&FP=;5kB) zlr{)6(jE;WST5gGY0-hd4ft~QDMt9i5z;xD3POAQ`_x``A{xTH{e<|Bgle&=4$X0i z@H-}*Yi8|kb~7j2H0iMtA&>S>B%~552`|JirA9@|VRs)!ui*<0jSg^wZZF*67(vFs znLQIcHRaSqIhfr3RI_5!;>p*cqmOf$d$K>zb$jElV&lhMKn^~v_Q}_SP~V^C#vdj@ z1`p8ShHEbkt-7*{ZdMiOug%P}^JfR#uY4|yGgvCnmVJk|o(TYrJ%Ce85Ti(kw2ub| zL9&Vs^|vY=Uy4jW^18`P&VT*qL(d47(yE<~DCDQ~=9EiM1X0g$tynxD>0DL5Vai}) zbxUW1yA-!sP0s;wSCy&x2yY+)`0A+Uif+OV95}^O5OZ+}2gJ>P;CH8IQHH}|3EGsfA$nbOm}n48qLEwlXTBdrR}>wo z~h*`mc8oj3_M-CqiT7v(a}~0azoPajDbiDU512veYGO-wCQ`qqthpSY#1k^OoOW7XQhI-E}9w)Xqwp=z8N*#?tsIXV(C-_)cd zqCRpMTX%nuEy3AoM@|s*X8Y9x2?YAzPyY6e5lxo71&4;XF!Q7*#ETu%Hdoez>l2bg zyP6bQut}*CR`Wo52%pDBf^O33rdHnI89;89D>uF5#((iEy9PDemzN5Ps0h)5P?%I) z@9gOjf<$pRiQFtV&>k5ZeZy_pLxq9X z=qN64Y(!}caC^L@`QRGM?8LnxRm&=#z|udqlA3SAD`8jwXX}mrMomtl%Yb$6djPs? z=|UX*>XguIYG8loQX$%&*V+TQU=J})aYB&gPz)0)Ps6j-Afp3#i31fK_uRt(4J&-W zQ`QjUIaU)p-ayPVWBK}zqGv{G-mt#2dOxkYNd*4g1MYBOL#nj}~>0%<_C3y*S#Ug*{ZKRqs00r_5D zIj3I2vU64H2|A#06GR49C*pM?qvqYYDI5_qAq-`S!t_~|i)ntInKA7y#_YW-y z-$mODJ{Su>y}fDyp#^&6KdS~gZQxRaPb0y^R1Z5Y#tHJR)7P~vQps?yq2%r9>$ma4 z_t(09B<&Z=hPIrQb$Wa3+~bMKNjr#7+>zR>vegOpZh7M=;~OchzGZ-^ymSMp*o1WY zH2eEtXBko!Y|Q2>?Ir6xJiL=SVBdfy<&QHX-*iYZiR2|1CLLl8R}nZcdvNIiid&3u zE?$5=f=!O57qUmTTMId-%!+LMUkjy9A?e_w*6*Y9|4@zS=vh>W!EmT|9hBG_mPuhk ze49lX(8MD1*?J9N2AGEJQwh>4865gFBdVjwdAewnlAH=^9LriLoWOEYyff&t6a~$g zdt-l&jYY&5mhN}dBQ$~D3Y=}B{yW><9j|-GPvWdV+<}4j5Lb1bQdpV$E_FqvZbsR(5#S9{3;bu{jF6EoT8NK++%@S zYT$|yifc=>ZY3P^alOfZy@fh zd~TAAJPi$j)#prXNuG#J%A^I9nl&W4Sy{-~#<3YLK>6ubBd219zF|rJ6M>1p@DGUycXR>413MNvuuZ@RT+U1!Qy}EBzQOiv>>9T~~ z+=`AX^It)4;87B@+V7nehmYZO^*s*$?recC#_Pdad}8h4i1U>jA3M*}I+84VU@_hl z#=^#T3OZ68Ch%G!NzjV4B=L%Dv~d_NL^z zAkSJ0NWed!B%v~03h)M>?FMUnYMyBmfWFVhc%0RpEm&28Y;yN%6`?qy5G_A7 z@imq1mdR))k?JI~r=wWJruWVPso;z&!XinJtdU}nLICE^NHqpUup`_wKKE?SjUUVx z=g^(hE!?l-1TBD{J)Q&GHujeszSTJNZfqArmbykk)lhXK=MdWppu~$tQ{4$wTYv^f zdw_De1-R)bK4b)b1Ccb(#j<P*5SFILs?uJK2W#m2~5P#`x1`TsbY%$^7#iXnm=|wcDLq_eY{EQ)R6v$hdB!32I%R@^a6B1Nn2$kLdGhH1Z3xr& zM)%?vg0GSB5Uf!Qs?K%Z!iI!nGY>d3w8S8(r#6CCwuz5ncV2tkcEt5`ABs{C6w zNd`uRt7a5dp$9*nQdsi3Sj=Syu6{*jWZ!?;0E2hr;H*pjeRo`ywaQ^{*KW0EDvfIP zX4AV5?nu?@6GOMdbPs+2WY5l-4iRcW?Q%wwMk=-NF_!T3b5Le>f!vxM;R_bKWjH}t z_}Wf|p-X&FcQPzB2*viAJWa{Qp$7iGglb>#zmTEIQmhibQ?6;EgmiSX((kjMYp8TC zc@FX%_44X(cPoXhQ41 z^hTnd`XgZ&#gxlVm`hSpomIF$9guPO3n#uUS-_kGkuCg9&B_5$!cu$~b7%;)IONi( zqE1uJFRmbD;v1MV300H{P8DCe=;Cdug|ssC<>{Yl9h-dvKQ?4lhwBuQS^+eoGwftK z*7g$Klb?D<2`aqKfQ3P*OSr&zI?Qy#G#AE# z(yl`xqmHf%2L%yxs{TW|HBqi}Dg2*_UBQ3NN4B<8`Hy%L60{gSwhiO|`L9m2pfUij ziPn64{`@9+=}zs#54JU(T9my&Y1T=+wlPYY2Ic^WN)&>@##q_(jW$NjI%ve_OM@Z9 z1|cXv6b#d{kgvQ#hcf+*3B)<|?AWBN;TGgewgN4ibpM#2x!cmYJwA5vtuzslG=pB^ z!d4)}Z+D`MwyHc_4T;=bpN&UZ`Qiv$>j7=)t#?L+km>i4+2bk?_bJpD?pniS_0}*N z#J&%ujr&PuqvkD3hgDTgp=m-*%K*NZ`@7QjJm0~$NGEtNwS_~GBaee%HL){YI9<~E zbww@zl5YAMKgkrzYA8_wR?Z!G= z?vQ~w$uDNGPyksX?sL5+EBxNJpS%7opNqpkxFI&&Zbkw0>aJv$JAWE}p*Y*x(Q#uA4xZp?K*v}Wg2VHz}t=;aU;<%E$b+cPLZOVu%?;W?|pT{IK6z7sMR$Ct`Q&l z*I|(x2N6;AiinfUd1{=S=cfY9c8G=(4b|Uq8=!O?D$Z@+`c0wv*GL_ld(Oo=0P%n^ zwn!3lMiHB9qWSz+C`%eM^EbvWTHbgrah{u!kRO$W?>qhKeo`0=O)VOAmr9?wviy~t zoDuhvW-}4QA`!P-tgNhG{Fht}PH)pRUfHDU=2y}76Db`T>Yo~)W|q|}`+zL=ONXJq zHzTuKD*E9%rI*Z8M${QfOWbW$)@Zm(-YIj+u}oD?HKAK^#9Yx@+&R}i3A16>VUYEn zdAMf!Z1btz2>`#@=6ws4k#=k7?loqrhm{VT2%pu&^pZl8 zDi$83=Hw|trVWafJ53fQ_hJZ@*@i&vZ54T4Tjh-|qIFUFQ<4;L!rlb|hyLptv<(xF z^CB*td`zga$&KZpOs)o-FQ|M z2N=$ZE_*()L|G`~m$2B~;=#!KR-=)?ff_dY7}TTl15y#jj&2&tJR}K2YaKVP@86CZ zRg=oG%FbhTSf#Gh1h6RP0t1@knI#lprbo4jbbMnywEe*Hzv}Ih3x}+Zyh;&tt(mG6 zwkKP3wj&0g$w#B$SI0-E4n4OSvP?6}T6yF={Q*uuVc8lLL~A>1%4GQIal^C}(7G3^ zgdAl*D!RpU-TVrPF|N*IITl_I8t^W0Nc@9{p=jZs{4|WK#Tf2vHWt)q!YjdHbygceAHE*+)2{=%GwbqAq@;>W~gP zPeu6#R~uSjsMT|#*?SnUZMQ*Mnbw{AGib{OBXAK$@<*;=R+7in+6j+{V2xepz7uIv zgeME%94~gsKxf>8D_P6E{x3yx;6rpW$qHGSgd#MJ(WlX@{=tFOk&G%LtZEPiZSVXoA5c$_UNY#RWY!WqMNX!a~7M% z1AC~@-GFb6SL(W(6#(UwRT=OK6$-(DP)-;i#Zc>_NYiCb@A*`-@-59j6|xu$<4M!0 zPNyVHYJ13Y#PG)n$_=jH1IB?Hdhy_p^r7zXjwJ#;ioxU`L;ejuSs^7#c2+Ya6IU@rA?kqvS)zu5F%McpI~0oSS;+*`F2nw_(R8QH^@x-_{~TnrEH% z-qIABScPPPea1GO*+NTmsUeoko@{|o%=L}xVlJQKx$%<1ww#U{lO|-^?18;M%&U*H zcb*S#baig>hDTS3a9-n&)uclrTD6!21#}ZJG}arm)0`8_+?#N$Z>@DZB16+(e@pSi zj<(1yI;uo09^odr%7i>(7RG#yqhB7Rty(*LBO02(+IjJl#Bc|!lPdqB>R`YbR&q9n zFQ(UFsA~Pwin%)4fCGPImp>vVj*vFjP#Rgz8@NVE*a>kkA57*@OWGuJ8@?`Zkdsb! zM#;B1^pgwnfM~E96wJM;+;0x}m6y)7qyzNXHQTu?T+j>@lp?V5k-p^gJjkl3y0n{a z2_^rhdG(&zVL%kf3!C(j3coR<$Usojs=EXu(r&5O^>^fZLRSqYuENLHo-IXR zUQt%%PpR1H+FnzekCFd(R~J$3Uvz5<99t+XtgjX|M60<;cyH!l0 z4@2l-f6|J+2eD1IS{)?zM|yPFb~KR=&Exakp3CL>=VW&4iK}f1w~my#y3=HC<$bu# zpW0MN`jA9$!r8;2QRcoBkkMUXYV~Md?Xs4;gwIT!>QmgeGLt}XdeN!T+iS)%;p&IB zm1;C$B~_#?EkIuvS1K51=(PM9T%#A-?5|Zh#NPWD+j2efNeG`2yjwVtr{FD78uIM0 z^}?jb{g=`>H9sVwju{#{5j$rLbfC$|4|BlY8Ot^H7l@94z3_~%zQ|FsHp z9QyXyx9m2qkT;r-K>|Qq*pF+t5%%MySMY)aCn?88~fvJa#h@)JE)v}bQon+=33Hpt248OpU*AXr1eXP>aqN3 z(1g7uKG>_!VJn_>9Fi!=kTt1B2`MMk$%c0y)^c)`;CYj*by|@EU+WzXj5}eSdibI7 za2;TDpu53s{Z~0ndW;k0s*55sQHH%%aaie(#r-l#8YOw3?UU^8HdnQKFK*c9mekiA z1}|*6^Q`}9x)UX1;V>f|aaisJ{lAl1O%nx-xH0}$I*58H$84M4P zKHN6=`nCgv)!w!KsIe!vDHcjksw-Kv;r1kP$Y->ucH8Prs2-pd2RnA*UJisz-gN~% z7)2_nH7wgymyyBoF4M5CusB!m5O_Tp3KFO|v`<@4#;2a=6G;^|E`=a028mWQc%CuK zpfI>6NpRJw+FKuX8MUCoH~t<+tnzx(1}Ur8$Mw+Y$dkJijfh(zROTp_ZrVO3)8wO{ z($~gY)tSV8y_Y#mlTR25JCi{e}*|VgJ_$0WEbZF~$f2 zQttGB@j-C@FUkMkj}M}O-u-`k5LRY|&xJO5e61an%#xGHX|0qVfUBDMWl^^Hf0V8T z(3RBHi!@3JdNfWtIR5YPFi3>0%7T-5a#aA;M{*ZZS1P5Hb& zg6@uzWL;Q&-nZrDlQ`HAc2|1bKKF+@`@Xlb9X{rcwK+`!P@h}M;U7^Uo4mmL-Mc{d z=dHXSs}I&kQ`twEhrmmGpZii8Grz~ji#NZ1j-NBy;_Ypn@AvzTfbS2>KQStIj`NbC z_U}LU{+7P4kNX||SmRoCc)yd-KCh3BRQw-5M62G9m;3cY-|y>HK;Y{`J#Gwj2vy5G zDrzr}x5v#E_OXo%;p_V2MLo{%@%4Z=Y(d#|a{TV{_FCur^}yT9`{BY;zSZlgxqbg^ z{kryR=ljW?gM&kUYBP5#3p17+A8-cjZgz%M$>mRl$@9dJBTx9=SEO$$+d@f^D4inl zxhvdlmaV0o7%X8o$A5<5X{aW&G;r``xwkd4EJXD%$qwVf+1BcYo5? zqh#2R<9B=7#{BbaGSE3Z;`g$!$=BEXPxM)B5vO;d0o!TQaDMl@c7BZ&m{Sipg)`kQ zpuXQ4Kl1r5O|{U419N$n7FyWSNA?p2{4;?xuTKQ^%Y;2DZ{nt`GM~-O1_e(Oo#zpf z)z7q@ujA*w_vvfj=dAC$&Hq{1B6E2jH|@L-iRdTEyM`YN#M{2twl_;$@uSHiN>f~k z-@~^=`kTIh*BhqW))yDQmshM=zQIiLxJhFOw{cWM=~@rPL0|*9BE73Ldoqo2?_VMX zX7eoB?viE}_P^6aBLf=OF|v-(cmke`HF%Ign5C?Mh_Izm!-v)qg%|TJ(Aw!ad?;Lwf)$-b<3T zaTae(1UR$Te%B+f+J6ATEI>r4a4vG(3_9%X*VW1Qecm+x`rNcThcA|T=GGX{%}ic> z)SE$hqG{wh4Y;GkzMZlU1WT>q%dpXX9)@iKl9jHv+X&OfRFC#^K=~f`bq#lgqtP|b z&OEFT07?({lOOf3_kke?GZ)I)u|Aeht$c=%Mb@OpP&C`?L8ZR66x&| zCqE5_W}0t#QX_?b>c z+1LSEOXe*PYRVG#FZHueI%sTXS!#`^XobBk?Y{$mrM0)&;>hCfN4UlSMz~7p?}NLu z+*3-C1Ug)7LPV2onds|Z)`G|Iwi*~{!+cnaT<~_raZ%QdMh~@^SEjmGo-mJ8MR;+p zDYI}PxSwgS5JT;OA0E{6WazG2rVlG2HczZ${ef8bDL;u9#gl5)0ue6+(WZ{gd*g|R zgSSxn3m2xdboZRc9hXIM5`Yt+$MxXPLig$O`S9MMclW&?p-tZ5Qi!xAJ3!fs1et!2 zFF5D;cUSE^+A*3#%&(5|_4U15J1a9XhgZPyJ`Vk*gl`(wKTM#VTzYJLOJCSEYVUiu zn6`eWC(jL2wwJ&9x+-d0Y$%&K6 zi~YUIu~Aq;XXwcVqOlA$jX=O*a(1+KM0{1CQf3ye8s4K^62~?KNz%Q!;3-foT_p$d&OH91NMzN%-Wj+LLX7=CzRn>` zkYLNgDg~vzdLaGEd$(5pnMQu{ga{&3#c9dMh3! z4s^0Bm}<2fZ0uMEJz6O`$W!0TCQwwhjXylp9|H7VQRb{T70hn$eynI6>TUe|-kSc{ zA(3_8(q}Q2)K@`LEfflKa*YqJ^XOU6SSy)bZ#=Tw;hTG1V(NnH!b3ZUk+_J2F&NRD zoPwk7)8>9?SnHXjH9JUV;7^{JGqx}|S3By-illN5GcE7`N~^BAGKd}Lr8YhSw@rm6ySGFE#YS4X@yG53bx!-?ed;{qxa$*-kjFbqq+^q0da=5U` zA3EV$!%+$WH250dv)8BXBVG5kjg76xNZ#j20}KA414T7#w4 zW|JM7c4!@MS+)Kl6nd8N)gjOqN4)fc`qfl!cY&sRI%6d%?D0La+`I5%PvlO-azlK= z6K@~V>6y7=PIsrxW1H~MCs%fxA#G5&g7if?oJuuUWA?rRRZ z>&if3mS|+5>cyWlXsG(DKzfKiD&$lr(TMWen%Oc&G>dy#!|{f~NI~BhuNo4LCE*4( z$t>YBdapa`ao1&2m=UqMgv#{J=vwklk(Q}=&4>fbcV)Y&qe0%|Ayw^me=q^DDp8jv zjT5SIw%f~2`qsq?CRVTPV5~jJ(ted{RBWY#AqgTCkEYYD3zj>Owgb2@sVN6d$K~SG zn0ko=y*zwGihkFWf#bAv;x+nY@?K)Yu#KTPIWinK`U05~BItdPS2km1I7(!J`OCex z?`!|U-Pk6|1_SQW=a$R`PNTbFt-$tv{G3Z{!W|-e*2lWBN9Do6#_Q4e)uOY9WH+Mj zm(-w5Zni`!w)1yqY&+^8wcZ4`0t~qo5}X;bYRT$dqdF1NPR7;q%bnGl$+p64Uz-Ma zi*{e@H}H4CKJS6T+^WNxEiKobz$@g>wBDa}b}$JzyWD~Lmc_%7K}kK-)&5(I(UacW5f3N2xmxR3@!zjjyr0!oRLQPH zkHyYsuIT8ghL&GV!y#_3`SYxAeu>~3Mi04x1uwp1si>OiG1OSn(<7J3`lOB4*_H^I zM%0H`Bwoz*_uWzfAo$j@zl%$S<{-GE5;FJxmh@2zhnCv9z?BW{FzPA%(nhIlGKRK9 zDlvvUD)4GJ;1Q0{kh*D1OZ5hs7WQdRp?tDdEg&3(WyZ#lC&1P7?VAjpq9t{5fq zKwExsB)?h7footowdU-Y1>Q_X6z$(}p0Gg*2QjQV1H?bayfGAuq<0dJ~?U%xUDNAKzNnA z^ZKhU3wK|JN49U!e$KR*C4>u7qo5f_={pWh4> zCaR2YgBL3jbJP}lqJ$Xp3<2#}9pG>j)$AR`bdr$2#vbgxZX)_UnC1i6_d&v?(Kh+T z?$nQuQ;m~32MO+Wo|Cofjr(-nMlR03j%`PPc3LL?=_Ir7rlwmi_NuERJ_^dl0lS4< z^PXS1yeTKv0VNVXEidw~QvSt$;69T|2;8;IhL)wFzQQ}2Zyzcl5$&(Uv!c*z>x{?> z2;>qy>o&R)W`;P+vE2Wl_{!T17}c8=CmU2Ya&&4za?39GrO!3VLd|ZpVl{HofA@7`!%W%OQAa*ZeyZBiZDVqG$dZi_}aNent3^bxtLcv3;senm;4bk z2B4AfKvO|dhHUV-e52*QWi|##?w~>JMx&?PFh%R;mhP71IOR0HtPyTTC{Va;xKcy7 zaVR-fN*M;&IzGID_oB+-gTO0vK`{qfF2+|!20ABcEAwsGg%HJi&(%I7x|Ehfw7uV8 zq|#64?um`gwZmio(?q1U=EB^v zf(b)%+DVu`gcUX{eVGU*!jt~+7i&$&zMmhBE&i6KYhAbe-tv?5u zJ0m|pazrP~+tmPzwo!1?fxb6yQ>k0^1(wY65WR*HVVI1j27Z_!6%6)FKgbI3^^2mp z=ir_(>mN+0*LBhiV@VH;4l5fZkA4SJh+sjkG5iXK&b{O&tG1s{w+CoH zJSAt>4l!q@*y|k!ba%fugDakE{}eGMQcC1bN{X1z`$A>w#2#N~F|0@{0umeOkq`>m zj38Tf`}wj?9^;{Y!6ukPkp*WsE(g|hhFl93p_MZM>i$@Gc(RZ>%-0VT?&g}}x@86x z3VkCdhXGZ>-Ahp$cfWEYcx|cQ7ti6k$nb#neSu_No z(lOci#_vdWb+ECqoRLU6VFG#$@yEuzf`b%G5~VT7MnmAi`j{f&tPDJ`Z$lxS038n$ zKD15|aKJQwaSXOH;S45;K#9WABArpU-KisI9b-Q~>7`y~xm|!d#6%_OMG5yGQqyU9nHIyQ4rs5Tu?u$MLvHBrXgRobwfxCZ9vCcZf zpBGyJ=|v9Gxk?bH`koBY>0=*XLOr%T-U@w2bwnzvdr}Wykg2O#4-+p&60A7CEv`O+= z7EN34aRr%~+J_}1=XznjeZE6$P3B&_b%8BwLSa`wzn*F6KR(p_Mq-J|tkGh3rR{I( z>@|yYfKVrs#h`B(4=bX9T4S)jI7zHOX?($BQz+zvK4%pC8HveS0{d!-pa5!cY0*HP%cx4~#TIkaX7D9Uow$8H zBW>0Tg2A}Re7HHTWVirQUt%~kWo@M=tr(cmVunGXKIa@N?L;VoZ})lC%L(`;Mg~^w zA$8HD{;7q>Z5~2n-WL~^uS}+~^;>GAhyqsBlmW8_HiUt*eb~U3mU$ArHzzcJ zcPS&(%r2qiBbE97kk4xU3r5lNvSpoAMu&|^IdsAFdzO2u5+NYwn%?;SB!v8dzQs}l2+zG_`BRf zo5a8#+pPRpa*+jhx{JILs&KoWTu7t|XQ3NUD}I+0Hw)u>;U`3=8I!9kfGmaN-+nAo z>uJWGaI|*NxreUQEY>H%l>M3pDi9t;@czi!_jty%S2=1?-X_y-3-95^AzB>> zPT843`9K5G0@B-@xZuQy9@OpmmyELxhIkfCl&me+)tU}Y2ZY9i{a@T&O{X0nPO2Y{ zYOtVDJP3T9!=-M(Tw;v?Nrh42`n582YHk!j(#sXPb{(SZ+_AA>UBaf+Pjc3Di zC5JCR7wQ-nXEFuJhMlH>_~2K2n)@K!9^OK)lRNpRCrJF*O4wKsX{jfj z5Txwyav6><&{4$wA1AO3IO8ZjJi%e|7)p}EnGR$LnlaX-Gks=Ucd5!Dr9M6Ju)}ac zSgLl7!F?hGVWxaS^uMrNdw&}bzcLDPh2yZuyt^J7xv>dI5sQ42Zy-IPnMYpxFh(MQ z+!5(PS_o>V(K4od!A2nDoxQ(m#j;H@&O6Nx{i6shM0teoc5>WD`Ck_;Z*F{aR8aaV z%ZKUOu>p#^EMM$)`-zhH)*SYdak+o-ME||T{WRu(CwaCAAh;8H5wol0)4l3}aqwlMK0Yz#cLGXcDJpdhagKcOV`$L8}0iZ9uMA#eWJcS|% zEkP#si${*^mMO}%Bc>L#d?%YD9nq6eI}4N$-My+FlITMMS3FxfJRlxeXMc)5UNpi3 zk|{GFG@btuu?=Hx#cuOt`^Z{B;x_l zRT`UOd(Wpn*5&7b@2AJGdo`M(HJJ))scCH?Jg=KfSEzS@y@cC<>Y~c%#*U_*ZmC40 zA)}kg%dmwiT^9)seC<)@wc%Oi$D>h?R89LfZyy8Yb9}UAnc^yh6E!qcQ{AVpB8>D^?bwYy<7J@SR}87FG#&86SkI^JbNPUIf& z2j{+HH}+^d96%#Pgz8OhJS(vR>%wG`KD=xjl0wkBK~99NXv zGK*IE>o6=$A09~U)af+aU72$JeHBzJ$dijxD5Q1Kn`?D;535A3`@~+QqKR22*dnj& zp$W3v{ue8boQNRj%Qfss6kh#XLJ3qYaBx)#fBL38(f3zZoJq_Z*0vMoMLvKgscr+L zMii%>y53~RZP`4@Wo4(GF{ZG#KDaa@OsB%s5GC>lGar0+OnLRA%dN-iA;bbw^xfYb zx;i6zJM93Iv+PR9- zrgivNDM|h2f+7MiHW<@9cX3|PdKX=#t*!n2-<}u)l0m}x@hLfr6*0!FYgKnU&a~o7 zqA2E!zs%8;2zP~a%Qu-$a>q>WaMbJ7@s%gWNXn(iARAQJJSme^J6{k@-ZO`V#w^|m z9Lfh0kdt@`AtE)w!9e0ig9>ReE`Dzh+2uSNL^t?OT`9$Iu;8y1oObGDPU6TvKySv! z85{gidXU1rtI?7tQ})&Z6tTNth}{QZ;h~DpMBtoo%@$2)?Z)!r2O)2Vb9d7KTU{Do z)}mG3toMlSLJ>mHDP_BKQh~Sf0HjD@$X{++LsQeoxj1 zL5Ac}W|;#F%YO;`rGaY=$RS9*lEO0tHWT9;+(M=Y#PC%&#+uapOjG8nPVwN}S4P_w zKK{Mi$xpgcM)2aiN8wi~dWyqvSy?;Q#iY<>@_2+yZ|TlYLybfW2)!*km#F))$T~W$ zLdeK$hA(xjZ_*T*O|;Q?nw_*7UvVz5cCEkyoXv|h{AJ8yF12CqMAKYyfE2H5pu~t~ z(US!QvsobNR95*4&{gvpKRr(zGmb+!LBI46 z3MBtC_>j`31xeK(A4nXsHDh z;xtNhvjklfW5=TnqM?=7Doz%=B)CTv)6t67TX$5Gv?uu7l(JbW7!5t5bams}xITs?y5U zx3t!PG{RIOZ2@c<%~~XVV9f*>$tsO3#5xBgZQ5fL*KA+Uo!8`PNIA`@I_@2GF4`FI z7$08j2RWL`Ud^l&FhZ$swQ}8*&sLeGHY@}4w3}+kLz%u&R~?y96mwYzaZ!qb2>szu zbxK_EG*VJ#MsHATC|QcAMO2kYPL5+N9!0nR_AtwwV2g$-UY@p2aJB`(vF7o?3dN23KQ{&j z$NwmyjfvH+SQ(920|4pP`dh~|`p#FlJC7%geOkHzBow-7`YFRl6f=-47ZG;(rGX`$ z^}iEussJ*u0MWwCjFJO2vh|R{W{jurHLKwGir<#xR$GU3Hk_DnT0M5U8Pq>Bm0L-QfG~&o3CwQUklR&Cup@5EMC&{uZCF+IO`2u&hhF|@ z1K3&px(s&%45fONn%xlJKL<|eCjyBL}#8ATaq7;`gB4bkrCU{US zy513xvMh2K@2Dosx+Ykm zbQ|}V&ff$pM)v6)6|^P4u436a!Om&mZfLVS@HHong}59?^JN+-szC!@b#Hp2U>Riz(Mw zMqqGX*Ip#@fcKIIEDpq`%Zid5hbPFrdi%WzARJq7DY0%zdKZ9AIDreVk;2jrQ+!?i zK?Ec|pmL;JrtX%0R68Bvm8;ld!4KKeXo4`kn{+AJfq6wQZ(p?@2X!=qr?5)-YM_&e z+3Ri2Q1d*(Y5)zBIEea3R{@D|QKKBxl+(m0gLT*31Dc#QPxv_dtibIJp_(75{>Y6( zHCU4|l`GhkN*A4MnCM7_zeQehG!KE@w(_F2sjmKT=XTm+)7SI`Q*|MIzmTVwd~|(r zJ}6=UcO_li6-SHwUg%gB^_f#;g96CdDM0>74p)Wj?Xe$;e$F4Pu}zrb=WaU<6Ltv$ zb)+5UGvV2p0EW$3S|!(~geHRV%`0P6fs#Uk*=XJqbWL0zvJSbe&2?mcPe4%t_EqD`#@-aGs>*tK(=cr4f8sDU z-nVv00)pEq$C) zX>#uA?@rj{(USKjB7Wzxw;8(&UiaT+9dH68#!s zolL|7=|x(G))6T;UFjpH*D5FOQDNFcE*+6fuP+>{XHpIJ0xy)T@l z;$>i}2w=UHK@(!R*J-bs_4Jx)6Ie1NJ8E}KYfI914I)Iv zXzctwEr8hq*mNbCXm1I>TmevYYi2?!34P&<(e!O`efC+umuiva?xi3T3BX*LF{h zxT6e1ls*N^3(_L*`HxGoRi?s=g9Nw7b5WNjX(O;TAJ(y6p5T$_{#vtdBIvZyvV5U+ z_5%DFMoJw8?12dc-`d^+yqK!_hg8;>r%1b|nZpKZFCe*13disnPz2BK4+3UU6SeSc z)Knvq1*09uNJ5c*0xpT#WoUcdX|)xp86HYAuWT6mT$~W8lo$?2Dnc($VJy#|miBkT zQ|m}xuTp%h6Sb#a0t9qR4YIb`O?^-POhNClQ{fbnT|K4LQ$Z9GM<>`COuGOw6dJeO zI4OZ>Ge7Dd$2YKs$Ka7j?0^BfAU1*N?s>2D1h#RhGw z@Ot~`#5(%3q-@xkW`&u7! zYWhegQHE4?8D=C=ar?ISAekfAd;Cu{W-sAsec&q?D7=J5EYfRv{W%u4J)dlgWi#J| z;zHb54!pVU;O1jH-7X6+g-@no9tm0_ zTyIm#8Ba;X{^NS^_jt!qEB?77iWP7c$@mZ(!}vcd4=WmLrQw5%*`D_sc$TA3$vV?G#@La zWu+@+lq*Tb??{!;oU7FrG9~nf@s%-nZB^{Rzh`C@31}{?Y+fK~nx|tzn-E*kl z3vL)0!%&PllSz_+w`XCda8q3=$`=6w?6p1N6dG;cZto-{5bChq(LOYqNwrw=Byr{_ z=l+65cVia&MlbkZ>oKwecy#enB@oqKZkjK}R1B`rq`TjDgreQp@3Pl0X;w@5Ck3-M z#~Z=DI`p21%RTH#cgU+|!zQNi;*lM7bm@VBE zw${Z%!p&BSY=KEkeWWF+pn+7T1C0~2p57ucgAU&;{R;c9a&e2P4keAT;mgQC50y;z zq-?`yih7Xd$9O@Qx~xP5_kd__BY~D{_fjBp+qx2yykrv)?0DUyZrh+?lROGQt2%`; zk?Tf)@*m**_KyC!dJ%RW^Y}^Ipi-HCP3u z-1&<)w?6f}B8koGs2NAgPl`Jmcsiqrz^b?X!GX|3_rGxypz#B6;O{t#f$feO^p`T# zSgDMDGS;*)iu1T?g9gk2;Vo5X-4r*WXQN2Un9UW!RuD@gRhu5f*5%;Kzw--)8~C1| z7I|kYuvrkhS`o5k{4lcq%{$fqJiJ)LD*a)i1nzalKFvh4(rTmb=1jAC6O@Q8)X-bn zV!r3~0Z?wp@St_MV$CZ~7#h@`H(x_-Wjr-0zKAzL0DZSB<-ZfNgmOW_GWjQJF;2Q= zvjOq^^?N8nSM!FtOGdRko7u+GI-^G-GP9}mi%-EUe2#EkwD9~O{jAlPvY)SPJ*Bj? zljyS8pjZhLL^=l@Pu&+%M3iyG@eI2udfvU(84MMyYoQr5vN|$0+6e+%g(3e8n*g6= z=^zCeBdG}bTgWm$>bc+aVq~EmJ!yYHZ?$oo`t36T^2uqdwP(?V27=&H5o4RPnRb?a z%^tX@+ZBV);34WcX>q*Wp z?r%3!K+uu(()RgUCiQVTEo71Tl#N&eX@66s1d*iJo?)&v#g8u3OSg{K7WK2U1YnUI zxArg&xGF35LYzqN_F^>Uy)0a1%s;j7$E?hXkwD0ePSrOM#@C*x-)PsEp9Ut81ln-P zB^3~2bYe@JY5m;}eT0Q0P}d7UXp6hY%->7@EvQEf+t5rcjB6CK8Pv!(RECAmPQ1h(EAsHz~~$ zoTHKtj3gSta4#sjqpFze-h!^l1d{i#w3^c0JGEAKB*?c1Y7xXRH}Mgxj9D_-0LOxx z8-e=0_Mj&6^8f*wGqX2k#3XRPGXKWP*h*))$q-0(0Q4C|v1rqnLN8Qg&yUabCR94b z`TWkbKz8&sVPLkoTkRbn-9n)GM1o<>xrF}#lzCx2rNMDA1A_{dnVKv!B(LA?L_Hga z0H1;kz700&^uw=Z%*L{bL1orK1f`4)I}J=GE}v(OdTDjUC@v<6e?0^Yk~EewMrHA9 zyIpnhtz8+o1~zBv6lI*zw9(uVJYZb(lB`KGrjuoucdoaDOjDo5o|Mnh4B?dGY?VuK z;BqWhhuSZOdwRiCI=XaIY?l|Zt`4V_v?hWbXu=R21 z$-qIXbZ)5$IeZ|5*j?th7RD~n0IZ(k>WGDg1rxTSquXfC((RYE{-lcM9@brE>aS89 z+oE&FrbHX#A7>p$Ii=**f*e3y-q*UCV(IMewQh~JQ_6pwdg|w;mf@gIqT+*SaLtTi z1sLG+a#SKxTCW@|r`-f^l_#ruISH78yx>%#zm~jK>tXY^28LNLtEqK5DM=<$riD0q zhlOm$nujXsGZ&4c&NKpP4$TZEnO!vw?ETRR-nAi~m5%&T;9Y(3*x({j#m7uul31pc z3^f^NE|YmnUGw(o8=r5hKdM{7pqyv{7O_PDjEmwXnGvF1%gK)G<9!{fHh^SM-NTomvHN(BgAKvr`;`k1E~{XZ;a=vFlu>yVGfAm zqFF?h%cb>93D~lSPYJv}#WT@Yi{<=p-ut+PKVd4f5O^zaqAr9n$C>_n^wzCf_CSOvaDLd5R~$iA$rdqU@d=OtT)ApXioeG^8zH|eM{$UwNY|B ziQ$NvB5sXM{D9Xc*g+ur;QjDTWhA1Z_65q+T%QN19-7`0Rp{TFzEvl9&$P}{Yr7Pa zy7Das+S(Lc$zjT;ndX|eR1E2mcPi!)I_i`cKPRoi!^i*ZcMf?voEc%+j zZE=5*Wi{q{HKws-^~c$FU}^}1xv>-i!v6?d2tjEB!HIkNG&~1bL29NK%8|BhdMT0= zBj~1MlrCEYRi2crzOLq7w@ZR|q%whPZ?I4yfE4MS18Vv~f=~svWy=kg&>KbeY!$U` zkT#}m{R>k^wOJYge|$xaK~T*AdW220LK&)}G4C#BMB7C70{`Z;sNZoeJVPTjO!v^z zo4U5#(OA1)K$4F+2Szhv!t}47Bw63uE=nn=XGng-A|ymMwrWQ4RTA;5xLECNzG^V_ z3p0R-_R;yv6G^Zi{CmQ#3=Y}7VE}K_a$swZ-CeJXb+7@Vf2pX@0{;dOhr_L*(ZQ3y zw)UWU+s-7^oifW0!{_&)@_{Bb%a5zkoFgY8XyT=jW4b7{q)QXL^63>iOPJaQD4 zE{nMxHC@B%Ho+PGn8MD^N)6wVHA=}G)C@CJO!8d)>-9s3(y=1+QuQsDntBl4txW_X z^86WY*hxpylgA*rQ6QIX2mT!Y3%5y$j+<8 zSITw^AO9s&B9}Xn*A?75o4iye@%P4-uSq9P$tq`+Mqv;jiin9DWb@dEq`PR-+}jYn z3t=E7Y+Y57J8Cfwn>EcBtvJK>tL|B>MI(p)GbNYAlQ(_1hihJ+E6vtIcKQ2DTo+Jh zE^INzDY3qgLvt91lvM*!r7NsHTJ2SV4%W2U!MfU$H|!bK7CbSyM82#Dcf2BLtCZ(Q zSZmnX$U8wzil%h)>Kd!8vWP2Z!#m4MW&YVm2f(v>oyZ-szEsFXn|`k$=XLk&6HZnP z*PP%1swwg?x^rBT8T%~Y)oxh zw}qo>(0bQuaxKhs6^I^uOw7j8Y4xnjV*39Y@N5pJx18)%#`3L>`a+`SyZs5Y`)2!v z@tz1Jme`e<)`3R#*IX83@f94~MNlkYm9iRC%V=v(#oALjUkeLS-eAetO-N&1r{lM@k5j8+{pgfUtr-Dvx~}Iv$B*x z1FvNu)F=jw#m=hF|I=f%#&F3o9SLM+7l*wb?J0UMm$Z@z47o@v*UvD4xlmwDIo;X= zquW{ZG2n4Wto@N($`2if zxb2Mo&3M%y_Ze-au)Mjdn)s@?$wICrLFARe3da==uy=@UCsIbdNa55YGs$5zI8p1GNb$0!DKN#bz$EvbFr6f78uW1pnxY zh05<}668t7$(cO5I*Le}(z}sO3}g=L(rk`}+EPpthb>2);mop}l?Tl_jTrPmHK_o^ zdNVx4?+39=6xdOk9~PGwITHnBZlotSLam5_u+H>-wK*aZEfZ2%)@`vlHCaBN7^B^1 z&V5-u8ZM-OZ1FY` z%E#d=IfPqNDs*x!4B`Q=>5Lj}?i*)y&q$#sakL$dg$KtXsbBHxg8=e)Vf;sFv|8DEzso zRcT}lTT_Kgso2dkgEGiw{m38lf{Dvn823G+zP2EU$>HM*AO0{E$ch-KVXT`YF1T*gRe3W znn?`+nM3_(&R%Juh|Fp6F`&T^a|3C`-ZeFG&`P>VUbs6B`qMZVs5biDQTqh6e;%na z&oi}UJtdUIx3mD0=ylw%=0|%o!g9ovgbm~Da9O!({(|xjTaG2_eY zfE_@wBET06HRg*`w>v`wy zTK}6lnre$k+nGUIlZ4FNJ@w6JBjv+lhcfc2KJQjJHGaW$MQiL(Hm(ODEmsf(E_e%dmzs z1WR2(G}ineZB}&*D%n36s0eN?K9mQ<8jddePGTdqLQ$IJG^bA5)Ys8<1Gfcuxaqql zBz!dr?$+XU&fTHBQO6f~X;_a{W>Q&u;U^rn=)r2#nNN5G-?+mgrsWgLcneKX3 zS;VBum=i>*Xf$!Wx{YHFeTjzbtS|e9&W&8@EmD#8hbuz(4&NiWeHe0FsLRhr7K0o;pL5aq-qrLy&e-@m<1v;{oK z#X&n%gAP`Q=uPVQk&=g#(5gNv<0FVU2l4$CJQ-=PtE6TN%Hx5Ih+U>1_Y;bFga-El z*g9Pl+85cr+Bc=fH}QoDmRmU-@;7UQVdp{^it<>=dFc!t11N4%T<}1!NqXghSs+Ms zbBxRuB;Gv*0)}Gb1K~6Df7}W!Iz{1J5!JM^h$iJp{gpu6W*`wuGtj_eZ8=X)bKe~4EHKFtm@3g&lh9lrJf6g1W-N!TnilyL(DlPdSYsMSa>{gKYrUAjSG9? z2XxhjHKtA!X1pe5AHz9}m`K=Z+kfKKDqP;&QM-LtpV&_<#sjSrb*FCPg1y zf3N@=oHInqgej8R$Hy#pGhqat^4AL7M7kkuvSFW&cGtfBUZk!BY!&TchBn4k$stly zQ3N%(8rDQ{HD!-<%5|HLL#WPU6eb=R-3y_B-m95oO4?2h0IgWRDfwf7W`B6<74DL( zf~*dT(k?rT7Dwl4<{9|zFm0$GM|;M&Bm~>4ePAs!LT~KZD}imFMWM7D&>KPSx=hny zK9OmIl`CwtieM#X4#U_L0jTZUArooxCR;Vgf`xF~>I<{Bi)_vyrv(MA+?C%*s>KSo z&h034{616KHTHvBU%CrXq=o4;oFH%O(O>QgH@0R0Xbn1qk4(n}Qb`H3o;B&rUM6$B z?6wRa(Weq!wH_0ya=1vb6Qo!({#F;$!<;IV-e@*kYiWiIkh0wN#}z{!{Jd3_kSrhw zsKL4pJ5N|_>r$95_KO+M+r(D8L*y3`XZul0$m5<9uf#k~WvUIcTf#ky2Hxf%CqRU3 zd~YoJN(y+A_*Z-3AF`(;t=RPvgqrd~RB{mZV5g9$pyS`Xtq@HflGZY(UL zxO(^$Z?2ZbWmLO2!MgL!G?$Dji>=(7BJLKZaSt@+)v{2>a$t;6{iN>J#}``6Qr4_t zo4`FtJ7ElQ)Y)QvoV`jtQh7%^=Tmzi=kWQ&6w#>n>`%5S6ZMe0p|~87(6iufB>dgJ zXbP3l=@{0mSy|U7OUYpY!D?!ZCSjOjN0RgkC7e3!;jQb5p9e)`<`F+r*<+eqQX-kU zH!cIy{!O@|;KrldQJ|RzGis>M0$fYD-g>=9j5GFZ-@|ac1n7Q`Gn^pwoW+6aaQ*vUFoG`I{3#e@=bw;Pn*n zD24{3w8I@m4C|)RwPvl6X%p{Seu)woySmi&#|T1QIv*|Tkz&tJY?9U1z#N0Zm>YkP z#JbRyGig!`vhpzsqev2$kvEzxcuG#Tx9mXzFs?{T`pxo?tR`RvXmpNR+UVNoYj9*d z+4gW$Zj>|Kq8Ga2hy*ZNB~q|$)PDD4B~||>Ys&a&$i}IFh;L`8^`W{WYh4#`ejA&C zF#7)JH02H&j%X}8;aBa!!lQN7j(Wv46|d&;@C>Vy^Z33#Kk&LfHI>DEF}|Dq(*yY5 zaR5Q7jpMU?003=i|KB(O_}}M$6MXVYbVla%O#eL#AUSCuc9R}H^v(xz&CL)z@(=lh zMg+akw$8Hy8?@vQC}kWFnnZa&bZJjcR*% zQXD9Z$SN_nD<+}|0&I=*>Cij-FTKrd)4zks?#09~yE)uW-$r11kbU*;nOE~4nMs9E z7tK_Vv}n_yT7kwlHk09_ekfZSV$c0)17I;f!Py@e zzv0lq?(BeJ@a=92*7%@tN*m6f(O#ClG3^j4u*9B^B5v8f zvHn*nc}tAj*MI;3Gr<3!Qjq?SQk>`+{zoj{Td~`si>Ew!gxhIRnYJ5EO-Bm|jb_#_ zgN-m!O}ctCfz$XIx5lJ7VTI?v_{?Uwu8JH5La_&qVdAZur9CL7WwW%f@+CSbHhxRWQdq1yjRczl`P=6PM zGNruk(pIN?zF(Wb;eI?(PMiNaeg=W^^?62kB>Q!Ln|?i9^LG9-gTwtkxg01{bAs-D zpEYb9_&2eDwFTP8leKvKvwt90$LnLCqM9cr>B^_U3F~+N1+I3%uFdVkjhI;$*EAEG z>+AX9_wVgR$ejnVn~*WC?)hkJ_7f}oI9I#4n^TfVq1V5A_W77_Da(7M#2L`2_-7&n zLI-PbCQscn?fc{RB-_I`7EOF>2+0H_4vD7&eOzf6`w-N5!0hp3Vq{O~P2>;TJ)fQr zaNX+)(s$gkgRIf`zbm^uzn`?PvUDPxw!fVZ19@~+yC%6ZTM@T> zcNa3ee!M*I*Fhw_MiQzDz9vSK_b?^M+;vVRgmyt1D&NR;xxBK=4Wk84>5EBGpJP4) zaLP`A)Ma6mgUXw>!yHQ809Lu$>Q8$AKF|7me$M9j{ypj8eV_F4w7Y+(gfd*A4}+sIShZF35KAZR9tL+fjcd-yF`b;lo1ezS6Q2E#-FFZ4C^8g}?`AQ(6T z=YRw$8HF$itMcCfNS|F>ZsWAQw|gvKZs6$SW`u44$t8l&Cg?kq>HMK@2QM{q3$E)L zlJK9QjekqzXPqG&k0JbE7fw^+`uXstf^i95L7+;3safL+jQRTlp(q4kV`d_>{rnFd z2E^mVrs)yqv9cI5#O70}qjq+FPUqDn-P-<x@C~e$PY}(pn6~TX_BCg_1r9;+LX;OWk30?; z!WsxqADW3J0>#Eqo!icUXWArpjRC~T|Ekl3^i01QLJ`)X2c&(rTNqWqmAR>eZOXh0 z;S@c#Sa0O;eAn&_UDzevz`)>KCTXaM9J@2oF&(oP{-Y>nK<@ad$dWl7j((lUL)@T{ z`_ZAwTMKn~3%xT7SlW97Le0E_VF0O_3Ll!_o~0g(qLM?TA+xDv_>WDe-LU08%oPCA zI&_Dy9GKt)IO{QE^!$=zDW*8d%yI*xHE)0TAr}=f;a)wM=A}^2XP|dF-7?7E0GC0s z+j(Fdia;Zxmv~_OX=J7QmDj8Y9fk$0REs?&WP@{>oR`BAim=X+=O`m z(+#j5119c9pT3hib2kFdp*6C-i%yEMeQ^3@>O5|Ksd#HQCy09@s~!v>67zd-RsNRFFV#^9bGsEq;7+F&)}f=f!1U|LQWG@ z&P5~(kHI^CXgr91Ek)zf5FU=Z06KrC!oWWF>39biR z0c;@#7^>?>qzyp{pu)onTvlrp+Jvyy&-bcepe(U;%IR2;i;C}nxqBW_X~*!AP2W3P z8^N^{Odr{LhF6j43NTeOCsz<)Q6WA7RsaXHw+aD2Vs5q(H)0odV|_xV3jicuGy$bx zLL@D*yH+9a!y5}29B2<-Q=;74&eu?e(}vJqo341LbP&Y#T$S7i;|vfu%#kw$9KR*- z$yF91;{=*?cIhzCoT`6Uh8db>U-ke(xV462h~#JiSbNv?MWrV~ajed0kS1vWdoH++ zt%0*OmvAa-P){`!H=(GFKx{h0EL0r>GMU5&(`GhBH?{<+tu9+j70nY^2i%chjQN}_ zh&GDdH`)}Xg+gw?I~X7cG7@jZW>IBItmCDlrKpkYFkI|d7Sh%BT^1Fjld*8~;Ag@j zNMte&wFR~?-8wKBS2>#8Feq|o@9PpzFgoeRW2R_#Ufgk{YP0FYVkd_mEo`o`!MmZvlpg!UI5xkbL4>SU6bMAx?4DxyOhOo2+8o3xxR)y@2CysVgx5?! zqCur432!WqaOv)xu)EeB@F_9t5lH+Rr;==**XQ;xxKVEQs>J$8?ZE9XNQBD~Dp@PS zU5hCdB@jNx$c0c~O3dJ9NdU;;1!!ygly*2d`EKc==SJ!2ug*x9D9@G6q?7ZKX)}Ii z?^vgtBw48O*3;D0;|c)iC|sQ&XoW~I5x8j~sn)ZW)*-Yt7a0cQxm2F_J(SxB&ZJyS z@!IO!P$so^1@fd~YT*a{!4((U2yLx+wxZn);JWh_fn2TO=_KmlbFTDbH?*8X-wk|* zjSUP&Q^YcXe0yN-6Mz>!fp+s*F>OA}Ft@gQD&6kwfMNBTL-I{iYxe!uQAhRrcEJF7 zLi19yM#EXp`JS9h%Tr_;Vz!3s5UC&{6#j#zhAM6Y*i%!aE0@DkR4W$IukGq|AB0#K z>%K^1R=27?`bR;~k|;dc1XA+F9wljAAg@%ytw=Ap!N)h+Ge)D~qhwsx+F#~f)@9Ca zAGJ%{hQ%!khdfOkOa@#D7t)klyGTc;a<)A~+X z^YdZ&TgmsKl@ueK-4?!Zt5(yQ&TCd7*?ulPU0Z&8`hsIi1S~Z)kuz?2QVbx zz?V)QZXb3tEw-FuSKQpt)1e|yrJCmrQ&2JVHj;Os9mak;7y+ftRrckKETg3vJY`$B zvTP3Oy!Ap*NDK5Ls&dAXX*UY~!JM4bkugPX<3zE`=(>SQiM7x;GHNrjuW263GW%TPH}6y<)K)`X8dNhrvV^SD^l$vits+rXe5l7)>-D#4i?sXL?cWdXWPL zLt3h1rn|w{Pz4NmBfV`7M8BS2G~!oPDD^H+;>tv`@x<@T)PAGAbtT!752n$9&0Xs( zgv{e@u%tUXy(b7m-gVFpaELiX82sJpX3Hsp`hY*;l+1(;qEaAfcY*!tuvDztM!V=p zSZyMWz|z7UiXf>z!V0Kjs(e#`ns7JOv6?jqaO_3TJ`O8ooTR)DSXgKx4{#fE`u64o zhw=H-j;5uZVWH0`A&-z3%Palrp*3_~k{A80FESZq@4-gRGuhDXX4W2;$4=rna%-ii z@`f+S5fLL3+o*DLGwRD19M|!PTS&J&KJwAYU@tINn#f3qB(2swg+2N{tFPuzx4MRg zhj>{#Zy5hPBlwGQkUD&&z{O~=j8WUIRH|cAJ=@qq713>`{^>v1>*Kh=sV^g?PdvM| z+0mY9V`gw$mVi~?rY~<1Hws_x3msdx9v|cJHR-4bme*tU@fMtp^k1Jx>VM+i|JRt4e0Cul8ve(QOSDBfX(0%u-Ap0 z;v8FbAtmCqD<9>&6T!h}MyeGR2^|lVQNVziO1$8DIT!In17}ugBX?$$ki# z-HbR!NZ3OqQKn8-*^Mt!Mg6kq^r6Asw$T1CH-{0WZ9(1WZ_ z&w!*tQ;SN{iX>x?_X5|V;p7_O6?iLeKRgReDppVe^0e8%*jHM!c!8yv`6@mmb>BKx zlW!bAlH{oVr{ubgfceS{qG7{nC>{HOsIg%L+r`tK+=MmwcnGEW_hrX*71wo}C#xyn zQ7RPk*khV!tq$$i+U#T@;mg74+ToY2g0(%okWJZ`Re}d3y4#)KIR+DQdW))%NV+;< zC!2$`K|&+;ET1sHEqZ$QFvFsunopRH4{2$oYpX4r6MM%ZIm!oRWq&Ll+sW-CH!qoq zv?y6-4j?xOo*Edt44Xy}EA(mNLbdK+K4`@HTQZA8Mxko7rS{%16#CiYR?~4$mDHyC2j1AKBq(Ni+W|)hNacW%};!{TBHTx zQiD*ot=izk^}P*^1{ueU8i_-T02V9yi9FZtu|hg*wnrTORAJ6PcDxd(b5zInB-JKT zJDA1(`f=X>#ud<!_5r^L@u)SO6W3f}bN~!XWOUy|m^g1lP=X9u5amtk8V!uZKIb_T)7{WICt8{8a z3S;dPvvOBLSUVu;5-zH}ET^bbD?@5#U3He(BK&N0d?fa!dhQKJykZs^8Q@Qtk@`#a zaQAY)z+gZ`&^I0QXNY_$FOplzG#()(=WwKgiJ2dueO|PTt5sJc^;8>da$cmUu=I5K z%%vGH*ykv-N@hqsJNRt}C4B!)vC^L)#3dWfX1Wa6+e@ z!AX|mq>ee!O!Zzi*ZSdInT%2KQn}bcm{GBZ{Cxo<15QF~o9=-%KWbIxfl0oLwEuClc2in2lOOC@nW zi?4S`pl03rIMsJh67R%;eC`A6N9U}Qx}7PXAj{(xl-SczAcHJMxnnfLpF%<_T=`}5 zOnTZ@Ha?kWVcqkR=%=7vf>tMe!!4j#$|-}IPjGWP{w&*1#F_09E;*nOsmjF5|ga4sUB0LYusOTH$zk+Pb8L`MAvJKR%5SPGTYl_ zRj8>YLjy_Ox(pIcPn;$!?ldmlB&?0YzCS8ewo*zf?x3BZxhw3Ltr;3cm;8wFt^NL| zrJriWSHSuqUUF}1*79c5Q?^=(PeroCHLsa~AuJs<-0S*b=Y~7W;E<(iwbGpxU)EF# zkL*f{tmb{>k%(H#@oG#tli(&j*#b>#ezAyp0V{ulEHn`3FY1kDmWh*Y81-~8u7ocr zg&?<6RnVUa85@!7X!qMp>k=SwzTqUUJhPZoB(@Sdl7z;#+=$)|GkisfeQ#Fq^zn6? zq>Qu~{#X>Xo2e^;c-NC1sL>Z*k=dv=i&V+d1+%SP*f6jzO@ z%T_QGQ_a?@P~W=!m2TB5RH;#=f0}{3!eEk=0aWH2Fg3?Fn@iHwcfe!v$<1q27de8H zoobafN#cjIJrp_Nk9!6@;!DbTiwpUoHlM?_Rx%O{MtgdH&y1sXQ&?6b^BI6__@p`v zNoqta;!0WvI3uqEw8xy_q)b28)2XI}aA7VuB`~8^dk!fO(R^Cnz>nFU4d3_H`0)XWg+t2D=~w zG&-Fs-T_Ui^N*4cRz-nJoS!K#(GFM4;VLvarxXl?%&ZmVmZ(w8 zwB*yTnx_uMjY%n_y;WFA5(w5Cwir-rBwBFRBnD^!(@^c%4_{LZ6*tsvxf(g{`+PxxS1q|S!8p&dA2QqHv+jNUJX|aCCa@iPN=f_v&bSG~_ zx<_mzB7t6gAdoBc6W5?;53n82lQ8NhbA7BH5blK#1?8AoEG8Hxy1?xVRU2a}>PK#6 zPukyd-o%PAZlOal08?uIMElw^!D{|U*>uk0N;oc=6EiliL&@J1m2MFf!$jmFxMyi# zIpj{*4I+o7@(QCdI$r|^H0_qlXo?p(8zFel_tvSkEpEWjPsGZ=()l=mgL=-Y+RGcQ zPC<4;?n^JnP#}xo@OKAnOadro7znSim%l1zc`%7hdHlR7G3hk7N3wtZg58!TVI5Vk%>#BVbMG}t?V|UhGRQ2ed1abGh zpnyGR#yDAr(v2)SD>P$HV=v8|bor;28>1WOZ9%Q|ayp#_rC|hu?d%(t~iOs!ZIh<$S@PK~`1|dPwsMKl&fXY>5_Q zB$~xudUU$*6heg@w|F7o!Ick#MIG zc4m)0$5xzK69QU)7?aa+PDoJsmmJfH@b?}i?GM7n3>-(n+mhw!Co{4erz)y8JROk? zO?*hq;umR`N)4JEm1>*x$=r7Yc-Z%praVhsox6?qLGY+V)Y}kpgUHn>oOj4*B3ww^ zj8haeOMHVVE!jki2*3*)xy36~Cj{gYZSubgn-#ssPXY>!Xvfxxbk7D(x$uczd?cc9 zL5SctB!|joR#*Os*0*0~;`jK3Sczp(U7>?;9yg!Do%=X28{qsVX!jA5S) z7udj~&Cl1V@h;&98@n+HnE+)boFFQd3QI4X{_s@;^m703~cKa92-uefE~0JqV))p<=B^o$^eP6(5_ zCb7T4YjoJ2!^x0>Dur_GeRne=+dO9<>5tVvvnJYENlm5@V#+ZjqL5zVCG!b_+ofkS z6D4ZgKo7DUS!ClNCb8K^x`P$zWeFd(vu}q%J(IU2S|0{Rm1lQDrK;W~m9m%;IBMX& zpdnaZ6L}ka_&kmsld<)#rgG&v#f!}J_Ld8dj*Zc?ea>m~kj@K~x^69dw+~fMq)%#N ztcq{ISOvX87&a~jN7eJhF!NLi$gf5;45lM-bki-13K4_ZTP|z+Tt-cwA0@MDP_5a) z-zhExdn#7TsDdaYHXE3yW_tB}=_8wL35BfZh1QgAyhpRr(9h~rOo6a$*S`a)jXq*I=`)u%#JHz~dw8sj-#o~%3^14W2`^A@ZP zgDzPFohB16a{|Do+Ju)q(V@5n^5-b74cJx4jCVoBD4Qf=Asmf4^36w>0gs+R`l53X zN3{4eC_4SDw){cd%;OY;-P(tkDO22@YyVT|?Xg=rUch;Km-n3byIqviw+}=y)UMiP ziCGjB)nYoY%5@=;CbB;XfLMe(qU7@C$L3z^&<2DI+jQ8tJPm7D%Iy@{Ub? z2kb#;iPTPejgG;p#a$j@R3ZX^bEinIJc|;m7{!9gL#v@ik4iFmnDZGLCpC!l@bv$n zko62}z@iC{Kd^jtz1rePsCx_x@JeV<)k_%-&osSTW1$;aE$Qvvxr%> zVwuKtaWf`PKGTORxrCB(zitv(KiL(`2gqcwCl($#brcT!`Uu7Tyhfz=gF$4rSL)0W z4vR{mRo=xB36V__gG0k=QC}~U z&{t->^87wF{_*?%GsAc|*V`V~b7y{!&((wFl*8B4qn~or=Hqd^uG{-LFN&+(8)sH~ znIB`Bc`hQ?;dXhy2A9kIyvQtT=H>jJ^_Q#b8{j$5v+Lc(%l)*Q{TWCi_v`k3_`F7Lw{dxZ)U$cPq$Uk7bMkvWG$pXs+cr+) z?RnjQ&GXyY^@Z7k2hnR!XY!VzbZGBr-Lvb4CJ#T((<|xrlmu4j4eXYE`lR~38{a8* z1{Es)`=&A_Gvoap)P7H~r}s0roA%GxzqyA;Q51q>@v$lwNMstPF8?5&^7u?G&*?Go z4dmx+W$n%qpLgI#7O;%P{<{yK*XMm~OjSBzcFTL_?s(|w_{%5)P^ST8%kNu-=OMD( z=hHKv{q6n=|NHV8ex;}lf2a)5b}Yj1&>xSlEJ0{efn8&?yVa(=L&rvnLbtD7VtE{R z-d+0QP35f}{@ZKI1@y2hZl=bfHVd#!`W{OA<8!j*=SmLW_vvYj926a( zVB{I%4p!`tc_het;ZHnqh-tnvK$<~+ zv7RG=xrehr^##Nu4rKi)XHb%gH#UT58dENWsI>()&1`O>IyJDdDF$Qp+;N$B3LQ`; zppa1GH=&X%Jj7o2YvBKZgAbf}?GC4RlsRe-r)q4P+R)i6z(pNlb?I z#EzyBSh}avuIc#)=JGRb8-c5}kFGZ7Qh@Xs?=;y5OBq9T?lsn5q*aiVP4)8or;3M7 z3BL{Grb1>N+9=R?tflV$LMxrX70F~q1jI@S7?X7N3=k1`Z95K`I>0K_B2OX?ENXdz zno*e56XqGB20Ye1D0TLwU`Vbwmf(K|VUbJ06m~Q5PgpLe%KJ@oD~4r4x?CC5H9m9k{WmR?Q3?8Kv_!g~0GOpy z*P-54X^40LM>Eo2MTS!;7*VOzy}KiqM1)SYxFb-$%TS$Je^@jZ^fk62AqHj2ao8de zVXb`>pjq)`Cjwxg?jVLQm>~DpQxNnB;zUd%7welYpzIp}_#)fM+@qGc#TT@iY3>U^ z={O<@nS%@HlVBndOedR8y2#tUNHk~qip8CIXs_H2&_^o;V}Aaq89eVVqjWkFsZ$J^ zEBbp-I*f+_hKUlhS;R!83zjY3QIHrC3x<9_1=$*i?eH#WV)2`6tbW$7=S?d}t+fsAd+B-n*0##VRmm#W<|d@|{T$8w`c&>+@t zJPRzAHc~i%ic)0)wh>R(IS>8Uo^;P`eI9XtWg7-aH#zg1tOk_0Hr^eMmIi0VPCZ}Z z+MH5>N6Aw)qG{f%MPXr5;^~-UDQFK;F;>`vxhtZ(IkolbYp07@KnA5!Jky$#Q`6Sb zSzxB=TzRg0fb65CIL^K$3>@x(3cRx2LY`wg*R2HvrzL(H8zU#bU>&vLN?Yj=oohpB z%qh^}rFcUP^Oyyvlj5W=gr$uZbmK-va5uy@R<`L@WwaJJ6%mvOJTw5EUOc60AO>8V z$pM=8*Fa$d_JJhoI$J-QsN0NhLUgr?gj+P?%<>@^Qt0Ih@Hb!J-b33U7j9o?RyUCV zBAq+rHH+mycibWy3?=pDFmx3C$kR#YC@Ra!<2Xck-|;sZpiG&+8A{{xTCn75<#Vs_ z0^;t$fk&b`@gMjIkBcgkVP!r3CX_b#up1T5pFR=f6d7= zxzwqFOjctl;FjbcqCZFsG__tctoF@{ z0CdKyE#uqVA(jk@j3AV)3eY?6`p+oxQYc=61(3Xl*KlI!tUt`) z7~+2oznIgm&`Tky$sOyv7`owMB1p;`3`rpvbQ&$Ju@&vCuSCjAqY4sa=3u zTzgFieqa?h!*y!GtY@A=Brt}d0zB&;@d0gv{ObkEj`xchmdydc(TeF^c=4;Yx*dKs zZY9AEDX33axCWrsSh=)zBixn>bEkxYCwf6rE60q?)Qq?al6wO9_$=C#ij$HIqc#P| zWyh9hI|n4-cl5mgcO@6US|PmbdcIvqr_=0wX<@Hz42E zqs`VnbR{=;aqb*qjXafUeGS%7u>p|86ho)L5Aokt{gS4PphUcrR&bqbf)JDqf-t0f z(lkv;bwYsrQ)q{6%bf<6Eot23q{v@!Qe;g_8yz!2ZcDpVFkFp0THa|(+ zT%$Vt;rOG=jREae#~CLX=$pllu-C-i0twbC-JDM+JG^Vk zq&OO}{$FsB;N!Js<*9QyUrQkMVFxM-da#;3#ZUj&PTznM7$jEe`|k-Qr!)K)ooHn8&ipw^6EQ<{f(Q{Z}XS z*G;HNXhNbWUQYtZB4Gq%h-Wo77ZX@h^3iaRN8VK?gwe5X2Q0_FF7{pC87*?0CiYfO~x1fr$F<~r#sA>^& zyP5oTb*X+W=s8NW2sWU}O4%E)>Z8l=lL2Ls>|(>|z$TIssi@>Q3TU90B#PCQaO{&3c#@8FcI=Js~C@~^qnR0+}b zh|i&8?h|Fw22c#%nQ#6JP_FOs+xOob>mtvuG7V*YzCTojKD_Fjs92=F{NW-0+-`#r zg(rv;--#DhE8$0%?iH>fsiNl(%Vk<+uhz)4A?k07ikMsOa7RRi53y~ET591j9zrtq z;K0qB)yNbNcqxNvwbZMm{I<%&W~%?aXp@RkttqfirqW|Ps6zJ`1~CvqG(j$>HSwV- zC5&~0;2s;TZ^D)EA30|0trO2A~8NP=s#CDLkZ zW{F{)8(y!5-($#X6-{&oP;plaF+FJ9OZaAolhca`T6Ux;N6Xihs6TXjDav%ID2`gYeVH?)_fz7xWfdu>6g&k?;_mYmA_8*Pa?qkvqGWq zBZH_qRA~^otb2}zO}da?ZsJnmjeWyY)t`vm5+(#MmT74xXBH8vd*P63`#?ieTc?zU z7T4RjwaC-?U?`<>MMF?7%p_sug5|~n=s}?_Olqn!VV&79O76I;f`;aHumU06{q|T9 z8o)-$w2jd_$YK+9`hmx_&tW>f>St0njpdJ0)bJHoO^aXG|whtz4dXUC4r5MTG}*;F%zS)Hw`fBD8yItUlB z>gC6&t1-4f{EB+rl;3N~c&dbpTg)kZwtLD7d$g?SFn7-~TeYyEb4Zh>B(Hy)hiymW0%4P3L_%BYAGm> zBTmHSs_q$LOt@u-RD`-#(i?Ro0!}%Bt|)$W8ZwQX6! zh!QxFyb17J>=iMWVdhrr>3xX15RiiUyXK)LWMv!kC0;bB`A#Isi-xa{P=J?n>1^c@ z!ps!O`;pWfvXh;kE8-1NjH6t;+Ct$MNO+>YF5{{S(!a2)Q&uhpd;&Mv+l+ zuNCMgQI19$rL#-Y5d_`2BNDny(*%B$Ii9k~$qWuj$#8%m=uJo$uqslb5$}{(C=j|Q z-7Mak{Ixh1-qDi2yNq4nR|SOCmem0Hl?s(!d%?~2K-be2gH$jc&OR*aFN1ovnGN-% z`hL9zS#<25a%a?OJF}FlQ2tJ*NVg-Xp7D6%{=I*xz9#u`n9*DnsR+*$1dS~m#nya< z#!i7fP8Nc7{L30>%kZ}KMMt-`r5Y!CK5fkSX@a7ad1coUrAHNXP8K# zxG>^x=4!)vNoD3C@J1nsqrD$WR0eLY!=SWW)NOe58m4h@f*0J^yq> zYc4`favs%|SJNTeuKm?BH{LB_l+ zY%*wecEpSz{Ib?uGK5vULw-@A*K?NKQpT6Yp^Vn{I#5SPM z`XX79FpF69m27Er=nal*Q(<0=knO6(AHwB!M+8HIvEj)xt3l2#+ZXt<`S?aFS+eUr z1w2JRhZb~4dWaQ_5_0?n~k>wCA1rl(sX>d!YEi*Vt^YK$?%qG?#@4Bm()%Y zQtN{ICjiJ!!Kt&eTDz7*!lydpA4P>N)9YQ2qcB4Bke;RL8P}<#njPtrlf9WjjX5{@ zIUgTgddI*KZbCvA1tsd&E#;cp92bb$J?7T5u*W`|L^h5G5PFVSyIY%wJ>u}ZOvBnM z-I>h-ab`CT-XcFMYDJ9+f~mmUmk9zFy#^K_%A0hXkxIEzU1~n=9Y#s+)1>jRo0&ey z?Bp_z70QXsinEe;TiwXDu71V!wSw%>Pg0{9^INefRGv%i(pqOKS_sv7BoZVSWHiG* z_^m9qH#*CSRf^JKv0cbforciCbI_hTYJM-0eP-g6g4oT|>YZ9@AZFc<=#x8v<48u<9&G zuK2M@w?>sA+piYWwqYjaCw>X0yCzK(L^iFe83x116^EQyXBG_o$7i}m5=N>S;Y>aP zF;OnbzNN-)S0u^FwdT5Hlbhf>cVk>6A2a@rNX7RrYN2+^VHNLKQgev*wk>d%704VX z&)pFsHB+AAWI}fLaOn5CC+C?-$(|*bg-|C>fUU4^D9^3Wf8^c_Dk9rA0hXBD9JiX& z^Y4QN(8v_3@S6<{8MJwm!*?6D3<)flep1qqtTZG{HgSxfWKd3UPRM;$D;K`wceWA$ zvQJs80~E2F!Mm%{euCQXJ3qZqMI$758Qr2}_femq~?i?k^ zQ~YdLcWx`o0d?oRIeEepzjoJgTB884MsqiP!Hc*Gsnz$ng7}I z!jP9u`Z-id$AD$GP^lkS>F4m8UnmhQd<|#JtiEi{&X2c-z|;b?`ImXd0%}fCaUB4H zn;!9W5X?0o%EDG@=na=P=C9;Q^ooUzYSu_2#p@{Pi_Z=VcYh<-Fw<|Kpa(7ZME4%#ho1nfNp$qUWxMtbO*uG5iy1O%&m(%-B6Vn(PfyCs8) z*jJq+mHz8zI{&*-SUp*k*^GZMOc2~~TkCZ^a&|QEVz?OSawUBqkD^xd)~?dGgfNIx z5v(!EN?B@R&N^aPI!z9=a(Au z&t&vEl<8_Rv|%PQnv64z#bv0&zN-5}yo1#~Qlf93LVTd}CVd^s{*hh}lUf8(E{1y& z3MLyAH|-wV7a@%Ei~-H6kavM-JWF z|FayhRdri3Z1Q|9a=lI29q46@2Yj)_H^vu{Yb+OZKqK<`aGNc;lK`I`d>K)Vsy!`EtGSf?TI@A~NS7{T!4c8dp>8-B8T?ddqdDk>uM7dt9XTF7<-dr;rc z=&|UgsLCc?=bAA+$;@EyYxKR!X5Fo-D+@2Bw=057v)iljE$^qZug?!|kGmaT^eG^_ z@eT^yk1w3KYqXNYj; z?%$T54gakXu)zk8zViOEe_ItCt|#h5T|OcD!pPPNwWTi7&HmnQPkpM&@9;Y?A%cJNu|snA1vz$p zCTCi$k4sMOV!*OJk$0&)gL;zf8=GuqC1kv3Fa>+NJ0R8^!1L;;gEy7lJQ-hRjcq`1 zCyzKM@t37)M#6nSMRsbUejgv?zkl|4f0}5r>+9BS}~iLMxYcYZGM``)?L z4rSz6&`|y0SVn$b<_)X-y#6(%7N!5ez3qi(r~oJ`L*%6>D_~{BS`)AXYEFcRO{l(1 zb|^0(tcnYpYav}MznR{uTwMZyYBs1fw+FVzH$mP?D6w8{7f0{{soSOlXn7#y81l8- zZ-HDnuRtqH$ukhPqrjK-dRn`yCC4{&x2O)$wQ%hoL68@+3-xcU35+Cb273krk#31p z(2%9A!#9t^8rI07O&;AR19q&jp->0ys)bWJ_tnp-va4QB|}y^(hnjuWzB#5c$JjM%Sn92;5#u;XZz zsk@f_K3CG&YK#CbyZ-an{guZtq}k$6LQK6ccC17PDoHsedh#7p$MC+(*ePce5}@v+V#etU@!{#XPMM zSJ9NEit`@H<_2x9 zjr%5%q%N6?xLd{p&3CK80Q3uBk9q1TmzK-=KpMwR$#IEe+J!xv#O~JRPNnu4f8c03 z=)eOZTQ>xRLQF)JcLiD6!Q49FL`Q7i-CwOabbuXDW~(a7gsFe5>O@g`Eo-pEW;c;ejt-*cd$YIg=@jZp&b>~Y z%LS8V8v$P-zhGh{7v!N_!D6cy+v_=5SQtoDZ0@nhhF-D3oB>IXP}OpnG^L?gap3im zVViL>+dx*XqpxDa=tcidveVr3j!hoTO}H9d4dH?yu5g7y9_ z_4GST$)(HY2vGE>(+=wdA!ETy(6SJYDk!*j&W)G1Au?)RwtqTrXLoQhxkWunftKOp zD=yN#n4~`?w%j%4gnzVHI1e+(IiSk5P7)iaYnOALv}`3D)6Z(*p!&+t=!MvOT& ztKxN1c==j6ct%l-X+JkJ3=9?09FC|g^Kot73&EtIk;#FgEhi9pb^)}+BHzyC4vE)xl3>4 z^`JpCksDNseMMM81!50^0kovCe5k~jCj)rAmGMlsXQz5j^#}y-l7hBcLbd!v#|nD1 zbVf8U6i$mMxWF;fJCPs>Z6Q*4E%kx`1b0{mZp}sk8a5kM{oFW&sHEgDg2x3Q4_x)* z+j0G2T*!m)>56OU>~+aDXehS-Z3%=*a27*l65g1>HR_zM8#~8#!cZ11oEy8At`qo% zEvFh01^SGe!|)7@Wk9((lv?8B85VChV>%JnNcP*_8Ib`?f*I#|LD?~IbfnAaJ56sp zGb`pRENs!pqEbSL9)`^7F3hs&nDRgiNrB_~HHX8Xu9GY%%y1QL==4fVNwJi{ess|Q z7_|Icbpwirc=oV#9_Hohuz5pe4MFqw_yiImgauEPy~(Erw4XGc6A`dyp;Ct`T#8>m zi-oZUiOYcUSt_ujUCab?iv)O@;PDTJS_-fefL1fxV|m~oT4Kuk>xEHFQ?$zL#_3BP zd`z?y@{tQ6aqXr)?wNzQ=n zzrXu;yTeoA0sHS4zPp zGOn#(rm#B9Zc2F52eaX5&9BT$I;d`l{#i~BFI3@SFIqfr6nw+hlW}$|>qfh#V?@5> z(P1DilBM~UT*aQtMU5dK)KKWO2?VB^g z8@9rN0pwz6yFBDblPm{$c0GGU6)AViI*tfY1XUABP%p2FYWO%^{1U~J@+aU$L+=xK zma6%H*?=Q(g2QLR5Zj&JiC{0mNLeR1w@yxmD(EjLFoP*67UdIX+F~Gc$FXy56={99 zlO30l9I#7XpW!v?K=PQr9j6sC>Hyj=BYUz zC*xJHDkeI$qym=R0S{Ucjmy-ZVLgYNPNk`Z+_G@-?RQ7`BMhuDX31$s1;fLHw+7LY zv~||=!n7di?N59`lZHv={OKzx+x~(*C8&BKXE>pDv^Wsq9voSo@+Q}P%)a;VH%J0> zxpTxX6BAPOm>vYkfJ;xrI$akjEy~ZVJqF=0@eel=F24%aibmEr_L>C>Av=p76QpXo zP&kjx@aAr5VIY_oEP7Dvs=;#g=xltKb>oumve+_9S96XWW9_VNg+&YGf9OH7cJ5~3 ze5_sD*TChHMXaozxnk+9v|Jrj)BvFxx!C9^x!Cat>eNk=wH1~3$x=d?_`W-&GQa}I z=0c;aqV&9+TdN0st zk)Ab1?b6es12Ge0CJ9MbyYV@WLi#;`=8zmJTog9UdZtAvWMy`RzZEr!;hBNun3*Qh z$CK`qC!A(Ay3CO~je&A=+aB6E@1zM=zCLljL{gO1MQFkfEIt+|DbYR-=oion~ZpCugZDN;OE!6T)_Qz&C_6>ln~$C2_~Wx z%ojaq=03JVn_gy6))2;Pohg)yhw%>1ijN#m=yBPwF66tzc+3nlC~@)n<(SHyCP>Kw zAnW45_hs|GB|P2c^DNdL=!!~TVB$7}8;R9~#6A=eIt_i*8nS5BmbeuNTgk>n04jsK&|2jILcC$~Vpov9m>n~z0iJwV7%c*=Eb!cAE zcc+-(x(3c#I<|-9E~+b#RdByx-N4+<#DzixZ5e6;dty-`a?el`%Tf>ME-pO-`sl|T zkG&U`u25!*!>YMR90Nd>46g+HHT{f+d2|ZbV-B0n=oHBg=b5cN+2Fq7S8X~eaMRJf z_C_nq{zv8Jxgb6*9GIMR=m}`=*Ky>6^fZ5ecjEr~0JNWDFTtt^QA$U@HAyM8GtHJ{ zH8FOqJZ-EyY<^T1ps)%`Tq=sEdOC3Y0M;Ui6-_Q zQ7-Z<8EZAV89&DfHLkgiX|}E{y1U9^izow8G{{4$sUil-dV^mSLdXqge-b=Wcqhh8 z19fg3-P>N5l#m5fe!e|S(Kprgx-WTg=o^b2cs@^@8iHb2Hqte(Rq^+|zaNoP?;8iQ z<^t)~0oC-jSJd*oUxv}^eLau)h0#5KpGx`;X6=Ia>bg+E%C&7d;IJPZ!H&3oOq}KU z_4*LcRZj}ZIgEFK%W-kDyk8eZMe*BM?4L}0!^3$u`WPsd@#}iG@$kI*dHno-n`=eS zvkns{4BN~&rtrSLkEx=hxn=tI4X^uc{4p_-S{Bb`>}H0Ezsc|ZZ8#O?>f*Fg(7>)X zK^n)NXZwBsZ!0fvQ0mg*S~?IN1<`kS93{GMGqtR?8`>-UyiP5fEN+{y6t&o*|4L<$ z-9n4GEM`%zcikq_-aK> znV)=f$gk%UPIotF_Kq2x*<>iP5u*%EX zsb%G8)(?)o4YIt}DcXGCnu1*aADHMcZxA~qaXUbTkp2=e3>jIzDE}SZehJtrLwY5< z1HIn8e+x4nmQy}XfzWw$2(BT(5pRq+A!2%GsV{>;U>fcS3m|B|{~wtZ&d~i$x;MyB z@uD->ergAc;`B~P(IEy!amW9n>>8p&0hVlR+qP}nwr$&fv2FXswr$&XUhHHt=g;hC zc70ASdR5g`_g392C(_M6zG_KwrZ@wr++7M;*hq2WFaK{KWbqDo(A}sOhaioV=u9@9 z&hU!Ch#1is@_h=@4I-5D#e$mmliWs^VW*PawwQ5jyvSI(8?0c4ux+m9DJ`_&lZKE2 zuu8)x5h5aZ{9g}yHiKPFOEAfSY8Y~z`(OatS%6}2wnh44B12!@IeVRmOcz7Fc#Qvv zjnA^N2!H>XQkgw|_R9$91Pu47uXqzb?(X#iU&kx$NN6u;(`9wjrn^|FiC9p%*(wu;#d?h7_6J^KTfPoST z{fhS?%^GK^QCnT2f#5g4Qj-s5L_)9`IxGwx>}fbc%vLv8DJhdpw(ewm#b5;%46~NO zDI-KFN%~R%AX{*U32v6505K`UuD$FQxCx&$91ERO&{D*?b95E8ffR_h`fa~}QvpDq z2Rt3bLLm1e9@l+a4T^;l%Ke756CmwXDv^dAH?IE|7nGI)0;nQ|)+hAk;+_4ylOV6w zTBpHRQ|RKIdL%-yt$eq&@)8uXq<@@wto7Y8&u?Nuj9)(NjK{ z6zd5DUKU6!E9|bpmF!$TB(zM)iCzDrgTqzgR_2+DPgyf{2KenWMA;$u6{}F-$i=hE z=UfykT~pTYvoCnP#TaEzIFPPQvy=rSqRc@%fApEaINx19pU{Ay$kwCZeWzCBQp`^G z+x<&mQj6b_>oS(=mK0NsvMKUn@oCZ*?{ZMZ93*w{op8bxW5Uy&V1~mZmBQ+iR|Wcw zk|&Iitp|M>FTJsjRSYO~Adg8=(zKn7fd5@Qw@ zSc)>F1nFexQ~I53nHXKeuajfWt+bf!Vyc0^1NJOuFs5?KWE6?}%xwQSgk zP3%CO^;u44=hNj82%UP(Vao*Nz6V{J_hD#s?#;7ahpwlX>dd@vs zSKcm42*%pSK$mRfrZj-dR}fVcr;b^DWrSk~{5a@!CdTt%*(M87p$sJp9BLss|3y&% zk$TF$fSbLrBYO{DF?#j&r_eZ=d2E|ouxN{qahTUb?Vq|4^1EdmIDf^K*xS<{E$Iwg zmgCNRK>KIq_d^V@UpJCP;wqRtCxv_?Kl)O!r&BqZq7AFDg=uPBx?z~PqKd#J_-5CK zKo)LsHI?LU6$C8Gsev0=n)CG*dXm{$MyoiE6cS!`=HNI|#?E&LWON>1D3eJ`^S4UI#oehkioyIcSFWmzD7#Q_=@mZ*0RyI}#1D*-}KyPKi$ zqEe^u|cV6febFj;;Tj)yEw18w zCdu`nrM{*uWkFs$#z1N-z7pe9744d;6rC`GMOiX&6@D*6>bz8aB2kQnpGd8r(+UhW z`cAvL=w9I<$8kAA=o@1Yir1m{QGYe<5#{hc>8R{S)EKH>TP$vu+%JX&1T%8urXQkS zj}H0)Mw_S?YjorKZb|-T9>=#dF*(Z2`q1(CBQe{+LV&j20r=YZNSFUh2s>6Ry3^Q4zsQJS!Xcj=B zv~#euI+)T}6-TGEk^ra@#8-&(z0~wODccgUt$&RKcX%GFQ#E1IRsf za!#O$B!MX;V+YXpVnO7{&=X%H8gQF$tE(|9#O0D&5@U9$0rO#wmvOknjEAUUr?rBa zq^MmAq`Hzy|Lc!wc2^KXM*%vWus&<-FyEOV6U0@;mJN1nm zQO0}vOz$1qmBq7ex*Oo|q23KduwOKR-GfGJ86K~ai?o@0-H&}H&k($RgsBstNig8% z!Jq9Y=_P+vQu<0VFRLh43OTh0gQ3pTgyag1VAA|*_r-{5%IePNLr5BdLMw$;wW6s$ zT*;D^=!bB$_C=?y6=9;7AAt5;Y;2^GOLzuNKPbjD#le_|L78xdE&SIh3Hc$2u1rhUHFrx_ z()F8RkbEEgy04g)$Z2~_he>#QB=$w8F7KQ1yQDg#_Pu*coeOT_38fw%TUM}hcCnPV zSpOMMP0fJ3`aK+vBuVETT~V)>dChYjXSAYYrB&Mu^2`C=@y zMG{{&LMdVCk#RI>T`bF7nm#KZp1z<@qQ<>&Q7U>Gc|q~sHH@3kXyc|<04A0v2vMqxl<7X>B{lu3&(9ASwC(8xe>%LQAt6$Ykf9Eo zNzGQ=T&-qHt9JVBoA9x}d6%G_o!7LMTU@9el{@R~YHG)fI1PO$wOr9BfOpKb+9zxNB&p-EpKX zo5Z=A3++!=S~Mk68K;dOw18aiU*s!JE4}A`zK^5tTCZ5!QSy#Tenqx)#^qMZ%CP4kzANyOmMcQeo ze}Qmk{uU0c2066G`+Rd8)-Ur{siD-wTlVm)rmc1K!i_f=L&C0^F`ei{O7eQ6>2j?h z0|e0Ub&{%6ojC!L$Te7P3gU-El^wav$AvX{(&*xRMbnXgZf3^v(NwckByIg#H-#yh zI&37CH5k8?f?U}VGa1e|c9nKW=?*JrW;zP1n#iS6a)58#ZPuW#X;pYzJ&6a$zl6k0 zhPo^|Wb2B;tr3-s5Ze6y$zf2YXvSf2t`tgcAFQ@M1c|*Yzq3OXMZP&j6wJYwEZ%L) zg=9<7<|unD*m_9yTp5`wV#1d@>5IUUU!wvwg+u7VsRj7(OH6yIvJ@a7WnreRm(DJ9xQ z;J^hZnmRW%6|WVPEH8_(#REv`mIqzT5x6Yh66jSC9YN@GK67^2FUa4Eo1x9|evZY;YHYcOvF7*Oy6W$DTSOfWsT;h)?d5j- zx%{wsapLa(e!sZ7>-U8DXj#|F{z=}2Srs)~^PW6HzPh@|Vp|5^!soIY$N&9$c*)Ll zA_dM{z<7%n%`&|bP3^B6LHEz2~% zaDChQ^FF#NzX$4r`suDhF0k6yjSq1nD}0-Q!91L0jq76^vnfpQaYa?Su5=Z#fLiQX zY_1-$Q+&xaLVX6@JX?dMf7`X&JIb|ve_Q+0_{I~59zJ;#h!iv!n5*l0L}75h4`p?W z)c$yNA>Z>o^uhai`=Rd8TZ6ZMdFBw^E&p?R7{~YiB}_RY5N6uj;r}S;^SIx_5t9A7 zz8tpc|8;nCNnV&(F$&`U6u3tXHP77yukQRv#;bD;e_QnozVf_{?6Hl!rF^XmTuUK# z%VysF!x^@u+_uDT?_906`DUgDt<=`j9ih^=C}7JtVy=EX>e}l+*`eN7=~t*0?y3I5 zK?bF6kZG=7`t~ml-{*549N+hG|B&DB^K5?kTGkluH_E5OanEZf@xMOcdz|xUXk=|6 z2a(s_mh`_mV^@3qy`5?Q>V0$W?2s}b_RNwYM)Qd^HiAUJ4owjE2_SejSG-`K-5KbB z2i65HokGxt!pe+nR6f&Xh7NFHmX9}w5WS*(qq~k2*zWDX9PYG1U;q+&ZDK$%7=oOZ zRXz_|P|l<6xeB0bQo(R!a2g!Um>w!O+UnCnAT5HAbW5P$0-*1~Du(0Cz$e}pFJoJg>81SQ)PhL- zxBLlE1_*Mx=C`MeY+xW8vug@L)I|#4KeoQLV(L=Xv|zDm(@>eqstMcBjuPYvC;i7M zi=iS3UKEQadnz&}dn}@W0ywup+b6B+8&mIdXZu&mJg2FD)w`UREXMP&uUI1n%{pfl zl#T4x2Iub#sVY=?AK64}4rGP;@*5h0-9b1t%pAk>80G$RXy_*3_B1POEBh+XiJP}G zZz_b*?HAqXkX;a`(p_^%Fud_?QAFJat(Qi&k1|dwRVwQfJQygBY~y_JgXir0Q0KLo z10I+VdI9UqP;REJYnlnCH*Da^cer!>CK4DWKqIwo$b&hKDRlbkKN+wPb zaT<+a7;r>0rswMmm&6dVIRsq;;20YATQ-N7=b6bB41J?X%qpD)cXUJtM9u(eO+4 zMdb9%z?w2A4v>5u`Ep;A&wib+fHEOP?kQNhqg23>=PIjIZNVT1^^d zu&+3kY#2^4T+o+G5v)9qJ8XO6htcjh`(4cg{=&_cXZ_;4YF#mT*(1cYXi4>{-NC&W ztA&40VYhw(3Q2jxv?QsEA`;kijFu4txDlnY(R7Aotl_9bWDz1UuaKR%Aq;%+%4vbF z2kWmL6^_^tLG*RRCJW38P3)W(SP}cHgX_GbAqTd-DPmw)mMe+U1}Fc1xn1)}=@z7+ zN8~@UDHA)OY+4PeFHz&28N;(M9#I-Zpum(uOu)7TohCHtD)lE?m_7+Qte27_LAXze z2plLqP%0lA#TklF1%fkTe4|pKH6G-60?0!hFFU!yVQJNrBrGr>MRX_5TLb8R17N2b zn35l{R*{HdPDooo zT@E&=7&0<#r;i8_Zk1s0JvEIMYo~HWS0(Oz;73dUIN?zCQAaXq$Wuo|te=*6X%qq#qX3Ydb;OTvxb zMpsD06@}JM0Z5m$@Rzie7>LhvA;7CRg&ykyGs~>&^zl|;2D>PmLXiiePCBy{1Vcx6 zKC-=Dk#W1CtbT-sUx^#nZkfSG7$UHm$Vx$RNj({`6ZUk^S{=t>(#K|?eHx?aEzrBC zNzp1N*9_tjX|K~*77FXJ;;IO92buxAvvQV~W6r9*UQpg0pEPZFqUsc4Gik1Yn65xC zqAm2-G*t^zzV2YM_%!YWqY8-Sn5~-n?qNr;U=VzFKp%Wdn{X~%KHvBl-G6gNp&;63 zeJ@OG=JomOi}MDGGFd@WDOy(7b0_AFC7ur)_S@t6^W-%c8Cug5;nVx(aI7lH18_x? zAC9lYx}#5{=b%o0yD7jwPQW16h{hT`LTR^~2*F@t_V^R)X!AAWTHWOFtr$yW+rBVU zqxxW=)fTU7`B8lAZ2DMMNe2cv;EjG~h5mqu?uk|el7dBLSjg`|nBo8w(8B^oTWX#t z#H^=7VdC&8g!uO8KDC5_Ug12HIaiWHYBcQ;ELvW}2IIok1B5jwQ!|!$4a}J9Ak4a= zSGkQ{2{xftnG6uuK+Je{=BNCgO6~6Aq++)j_mm2DlW;qam-QkVO||xSX^;fiE}A z6*<&>Y!CsTScRjU?EtduhA@rq#|ea+N3 z{sv=+SE&?imKIw>rfE9&+R%<&SSVSF^cy3vmQNsSfw^zJWz!LQ(x}>61Em4(+=A8u zkuF558u*1h;RU?}FT5sxQ$<385AsMax)(d_*{Z@yw zf|(?%!VL+d!&8Y2!<$f&YOVXAI!}AHOsfe74(j)SRYu_nGk{y6NgFFwQjhB`8aETM zE88G{z`Cr+A8Y7ji;=d1;=7}OmOF7Sil7dLYI1ZU0R$2Yf}gN9;DBcaC~)fjI+_#~ z%PGX5fF&{<#Z~DhcV+!7F)8mh zOiHe(Oj#NRm)1>Wj($jJ?hJ}T@zk-5uedi=b8n332l|mQ0V5TC(Mo4na{q2ze5ilA z8Sc>i3^9^^TXK0wEP66Dbksm0yv2$o4WRO>DN{bTuM%QLl z*lI?tv9^o%TYR0Nix(1rR{M|}O@Y80GVsQVoq+m5L-{7{OCIgf_ zNP5%4V5bxTAC?2G8KI_Rk3uz^Aq1X}5ft$~YatZ8^ndQ@4*Lyq>7I!jr%#Kx{Psi( zhB)C5Y(Ea*z*wX0cC<9I+Zfd{R45|EjI@;~&|k0wRI6phx$|P}$!CwlpKTQ-^Eg}C=^MtVk(0=nYVytV zq@5yZGz(Hw6(U-iP$s!tXG!9U{4KXq9t$EUa@Ausl4l_^`Qhr9+9&c;k5 z-q>(SbiD!d0jN(UqB332O5G9qAN#pNgeE0OQG*p6q%?Y>ATSxSw_c{IPDb&+qOWSE zavk0DNlhDiSdWm{jD6p_7ze@o*_w*Ts>CU1QIa{xET0Y1zNz{Y0 zmm@X=*)S5X$_zX+0xv+}j^I`-76}@-!Y)Q@bE3$Fn!=KIPJi}~I+cZCu z$vFdG^{aB*jR>d&O4U}d)~!DfNEHuI5gR~08_328aGVPSPiEW37#?psw{FfAY?1SY zblZxRZe)x;XdM?mG`Zxet?rd*Ei|#jlK7!*NG++b@Pczu)NL0B!3=>$-mK7vV@yv1 zS5xpcu%el`_WDmdY|?{v({7M4F_-1(GTr8QAIL`u)_uUJxm(C=cetrF?ZR#%7M4K~ z7WjbNvyE?aD;(GEmLVCBI?Uqo%k+yUlO4c7F{zJIqTWkr##?%+klYQS$uP2G2xXdh z%I9f3>YEbol2@3k7Wx+;F3u&@WEe3|)Z&afk?onOChAmhBQAt!5Y-WqS@;mCYwMMS zWkT_gc6%^jEZKeU!PN_ASI zk#E=*9?@+srV02NX)mW0jC7o*{!pic@8#ddC`^y9iBX!{!X@XAG>f>FaK(k(g9xZK zpwXPvtZG@5yD>+jCB59>`oB{-q%0*g-Bs)Crd*!r63BF$Dh0PQ+Mo%-YqkcAF6?cp zl^xFRN>Bv{0tL^<55~7AzK3MHtifo1AR~ht(>@#RE#Bo(jXND{NLwFWJo^j0&DwvJ z-~=J}t~}gs?dj_ciga&Ye<}RS-|~~eIO;+T4I~cYRB6w~{}jv*!<4k-Xik0WZ|8UC z`li6;!f;qR0b?%E=w2jBvBqc@)RzgZP{3`cPg9#i+q>zftOQj!k$%_d$RjmrHYTxt z&X_E*$drb93OO_`PLNoqKqNlWZD@5L`} zX3X@OHQ`q*f56Ba*moL!Uw|wd{zT@ zk$<8b7;bwYk~ai3MLjp5!Ov~gb}=e!>z(tW6B-iFhx_^YS>{!}Coo!5oGy{u#@+;R zn%!^Bh48t2I7SAfqeL^)0Ouc9btCLiOr|K_$y`b9^gY}Yy=g1;{k%JbhfdPYT~Tm$ zgOCe6Lt7koMmOED=y&>ltlnB;%zA?d!9#rn7ogjmL=A8$F6OQZ>6B7=nemxL+D3ym6fGN*yIY!x7G$+qp@_xZaE*pqU7gLTK(d(e76+5l>4?AlLo_$@->#!YgaROBnqOnb|oLRcz5YMZ9k zs@Tm0WTs#r*=~ZgI$j|{UoR~1@nC+T9g0#qCs0*WV2i&ZwHH)CRE8;-_MTT1Bm zk>19%^|PgAsF}4fEHh3U1L*L5;Tg>HPfPk0srt8NH^OnhPeTR00VO&%XnPF_{R6_mV8lQG$jWJ< zO*X0JqkD((>bzGiI@A!!=S=$pu!(4mQjuKcw``)k2Av;z^yR3kQV5LZirdthKOW~m zGy~r(#>r9i&rn8nI&BvVUh}_>Li8%HGyQWYu8mNJX+@4MrFXj$Bp{XZTJwGPLpS#) znhkG>aCi4n_Up<6EgiQdHOYMGZmxw)7j1#u5`o<{`j0X_hyOI~Yzl8$kQwkOP0`GhZ+zcz{`Rw@BsIP3C#nq^Jl)rDI8x&ZTNbwRxts|6 z6&WwyitqB6w}!T~U>2W{x|H&qPXECjc3C;5*`fWqPDZvp;+4PQiX_4hVy*8=)8abt z$Pd6BJ_X22d%-@xuTOp+T>jAauCegO*(;HEoPt_@;cc!a-0Wjt;)sN;p*)`5DZ|x* zt_{~*b6P}gY>D=Pwk3E8E)ctgwYCgOb0J`}Rq(X>_XoZr?1&sDW^49DH3kvG2f%1N9AvYM3o16qDrR|o<|m%-K5nXU0dvZlwe_SI1*^odoos+{$PNq`Zc@YFUPk z-h+@w%{UHYf6oVMp&H6X?0Jg@ZsVk5%P2nw=^>~D; zHmaK-X9qVc`hwUP><1k5`k*zEl37eaWMn?ZTw0oLC0)nsTtkBKc8s*NRBptMwR?P{V$1-C3a&Cf&l>V z%JTmq5!n7iB4qn)Hf)X5AA9?XTJpEPl$P9SoUl@?GkFR%@P_e-AC^S`#akqIC_t{1 z2%c5^2zp_NjUhf9!Dq;y(`SrLQ2}@-ISpk)WD#{@3+UcAtW41G_}=-syu%P`J4s*e!pIw@bCCNWYOEZ$c(s;6oi?xqg__#3_v+(wGW}UvdeIK9=-rcnNzYgNx>@3>b9f`*oPE2>}Z`fVDwdV1AJ$`U! z8+{$WQnP>F-*6{^eIIt(U&fKYjGy{{pUvOi;C(&YL7g?)S4*OO+2eGz(!P7yMi+gg zMEQHaY>K-(-dP4%tR@UU+^PHhoYCdRvCrng8FZY=C&|L){=97deE5GqJQ;tv0epdJ zJ?4C)8HxDMjkv$V#^(2q6T%`qVsG}_+eBj?EONJhRy2MW1Gky8Gt$Bx0L0t5Xpwoi zCGGikSQ~fE3kQ6!%ZAwod%VL|-_!c~z5KZI>WZ_6KOG<@&hJG3yZRj>3X;UIbBW>$ zl%KWx4!>3pC;#H#_4&J7Ez8>_|6>3C0nYx#YcISW)*1}^(%OHMFE`I`X@Azi?`nmIRGzuM4>uNAyylsGG_kHQc z>GS=0j>~WUbNcv6U*607?e&K6)an9$>53(@kOV1dT)POcp$YGWM*#5i0DHo6#y^1R zy98Kxov+*&;njkxL(f0Emp#G^V*A)>BNQay&g9hu=OVNn5c*Oo+p5)T13V(p+AR14 z=*wlXXdt(7M)*M|Fp7L>n}^n&J}0^jj^jz-AIg9=I~WE2P7(k&LS1xdk-ZpmN1kK0 zgyDh(6mSEWh>cd7*qBY_mphV46PRn?pf;^%{wd& z@kw9j3JAls!Znu(xQ+KG4ypkZLqJ@MW1S{um%VQ6GmPE5Jt6s{m(b-p_Y9g@#%ZBB zME;&H6vKji41ee`K$(d|G10o}SoXOE^#V}8QvImR} z2PLL>FSe`=Bc+$v)Z&pxt7}w|EoG4QS#tre1J?=JK<5-PR>DiY=&q2&U4FwYWAT-2 z;h%F#o?=1+KDbt`pA_Ter~4@J--%U{#^#aH%VT^mJOyE!X^@<6K-%?UtgEp_7Uc$W zCK`-JW=JmHwelEg!p(G>zlSElvK^XDC4kW^<*a@cNWEOfmNHH2V)7WY^mAxe9Bm3J z^VNeAb}k@TcY)}NB^?hNglZ2tmdr>OY)324(!O*h++XDWE^KhbSu8XitZy8}R{bXy zRcXF28?nT%64%D5wc zO&?9DYGsHPJxRP zf7E+dA|5m$F-M$+z*q4ft$DRiRR&}jha01mD>Ke(CP78zJ{);TI}{(f(JC{qOmVQ^_%8 zUpEXi7Nq)uNsqqQhT0P7jQAd|;L3hn_D+CM0;v&_oB+H1*Da*l+{>ovb{SLm8PXyd z@(FQuh;L`1g!J#|l@v{!3%k?siX2M)1#D4$PUQ1fpnD)5Km3^h`+BP|F6h4dC9}&r zMDF&dfV%inZEYI-%z1w{rk-p6)P!LqOL)%cQZbkFTx-uH?O6gn=2(m;ec)&JXN?9Z zCVbO4E!9Fxe64Nj780b*4EHT1X+wn{s4lT~Pq5;9uvSV;* zf1-MedM4j@tk4rb)ToRR8JbCskiwh;kTEf7w>;9ls@5yA4Vk!6#u0+E#a-&2#U&i@ zE`TRygn->0hj=E-V(mcwF-EfX&UFT6scH~_Uu?u36@?eu1D)w9y~ow@oKzs&=zEO0 zbzmVK7(cW6H<{!br|#i*&%mEb4`B{DiihEMUp6!%BTY?qrU=AM_ynNHFl%9Sps(C^ zLRjtzP|J%@%wo6>OGLP1^~JgyGS_WMgUo(^S(Bt%GA3$p{ij3kyIpQp!q50`Pg<5a zHh6noD+nBup=4q<134j(icq1oHKEDm!Nu>Hn9@@r^I z*flYRUKby8;fKmhhpOv8mULpHvKM@pa(TS-dI6JwdlJO$ThlMfQRMc7HA(cOQ;qiw zGCGmHo%Q+BZr83yt`EvR3u0Nulh9*ktVUpDpZ{pmKuq`T5!u@WI*@My^}ifcxo*fpCl}8-ikkq5C+l{ zFNVl{@US7cSbvHGQz^`Z*3b=O>-<4N4D@hU&l4oUvRuLo=%*-IcK> zEzgpKF@rc`&>-Ut!Bh=5yMJF~N@grIdYDrPT`w!5D>%N3c{`9-&A?zzjQot|q}(B> zPg?z@N`WsjX`TGi1*rDU>urw9M&32Bn>1A$p^iCfsw${gG$pXKP+@W|x zq&nUjHqHnlY8>`H!S$99XZ|fKx96on=*sV%xD1Z z*i9uSq@YmXQ@u=ju;B1Aab#!J9{);)!y`ZCCiKLn;$#rsVSvP3#KCHwqJjqtd7GXe znLVLFvTrM~g(Q zLmUw;VwkRR(J3qs3l7;i%dD}eGoj_c^-aPAlJ;fusqRS1hB+Y|y9QiM6+>F&bY({h z%{L>e`);g+tKd07Ona#;G+E2yq16Ns0=cbA04%s!8hM zO*4<`93#0?RBT6aucSq|vXQ}r z(0B`1c_1A7Hn$#(S++>xH1*q2E*sT0*w2#_^}*nJO|BEeHEj`z6XbFPE`p94tSb+7 z>#s{B0~d06+Q@gUC_#G=Eik%$?IO~Cn(~4g#3pshWG?TQLH3C3R8>r{k#84cGDo2?(1@uILIxg!w9bGHKInig zLuAAMZcm=Dcz84rWgTQKcVBLFndK~kX$$Y`=udW_VKtv%X&Ozu*QnuHPjy^^xLoj) z@}ofI*oael3wlXPR+WKx{uOUffPf>P)w|v@WHPb1lmIQBe*~Rdfr_EL2TDj!jnIxF zE)O~SC}Gm@`6H$b1*H%<0%)RmDT{R&;j~CHBx9Lt)2t-MisOx@7nC^^Y->~=a`Ju6K7~yUdSZ$9ay8ihE_@xY`0ssh4V)OIxg&6E85Wkz$vcSy88@cUHWG za+D|xL>cGoEPh?pu_cE8FT2QKl?=c;p4QIS{78;kRwxhKBclQW*$Z)Jz}U5F$mZ*9 zV!JS54_ixyQlFgvRKh6z^Rh%`RuUaVmzs!bd!0;8vi`Gxny$Dc#`foJV-XcNRiT zIva<}*d-sgsWj}FXHp#kZ-w3<>2)#~LIenNgpz!;pxzNjlSbNUL$R1p29h)5XCX^R z5X>Atuz#V)bHRRCx4Aq0ufK@Q*U1|>7jm1eM9_hpo52OO zBC~B&K0l*!M`5GyEQgX~LB7P#7^)QD3XK-zRhpzaXNX(W0CY9&qKT1}ouaL!p>cy_ z_ovfuvcH^i8#zjJeQe%2XE&$p1{fL5DCmO#ckTYX#|^3bSBG`eYD`5l%^V$7S+199 zX|=Kmt4#;CoY|MCnIiW0c(3uIstYNwS=u$5jAjIbhf^I2vz<@4t&(Sv@nfPSK~ zMJXCt{iCOeVf)aq@~8k0Hwus_wzg8C`tV{VBuPIjT>(ovyE(xqBUOUDyn>ScZa!(mQXLDqv zURG5k!stXpq%8n*1HM@7I}UTwrlS#ddTRI~YX(4HkMXkCxh-wG+g8TF>Ibb~XM`|L zIXJS0Rk`+d7JK>T$`+MwXFy! zc@q*TaqYMQ-QX9S7Q0L%xp^*%uUzWG(^*g7WQTu!E@#|<^$uyg~0UYPFiDv2{1Xc+l!dnvII3qa%9(QPS{+gy&% zZsKU!durXNw2SZA1Wx0MTk*VV?giymxwM@{Ai~re;X?|AAewF)7f-~mXdSppn~1!F zhSgBkLG7ZY-k2!ox1ZE}d}(3)-R>jPc;nqSpmkEy;|l_M>*I>?$kmSc95;Q?mXgsw(w4cwUF$7=~SpGo%I| zXd}ODtE@KPL#$59GxiSw9!HmWN6DIB$I%K7kdS7Ei0N-E!Iy;m4daQ`4)^OULs7yx zBsGL+N2n%|$7+u$Wiwu$+IHmLP!A-qpCp+q{@+KqcbJ~*;FGUCNYZ{X8hGH#Eg3Kn2&#U^_pdqyl zAr=O*aRa=tZ{baORu~^_qTEVQ>O7pQQesO0M*L@89rtW@U|!yI2FpNUv$O-^@ZOna^|PsEAxFEc@FI&jMPKV`t+sCytY8{Xs=*T`T;>D(*QYH!KO- zwkVH4+-qBA_(6JBnUNsUq?BJ=p^h9`DGq_vY)+qk)C`sAa&yvNJr#Pt&!S^a-rOw#x zr)Y`wMliF>kil3OhlDwVy6W0{9&xlQuHge+ovd(D^%@7a&Q-y*PpM$D774lss*hKV zlnjQX6TPs@W8r7T3AI8r=h{Nb>or-kz_A7MQG?Qm0mM=JBJ0n2|Msu<=h{|lGhK1L zhh;d~mNG8)bwkqu2qHCg^>iEW!nw4dis1)EY@^sJjit8lm;_{r612Z;0#q%nrJzBV zq}9t-*s|F->LJ|OxR<8<1mr+KSWg_0BzjlUh0$SH7#~hnqAW-0zs4Iuc9u0rkytcs z(YS^~O4vcAI;=qICu*{knYwz~!Hp1M6KN z9L&DrE1k$}3q?WpsC@d?Z>c&&t)BADX_&w?_8V)@IYSyNX_Z-6htb7KZxcDrohyR0 zo|hN;B=Mamk-)>@rbcXD@YQy$g7@!d;mvCLlQ(05qgOW9q~cdnp&y# z`h}~tRRx-Y1N9vV6B#SQj44rgt^(%hi~MBkBe0`7s(E{X#8m@`{m+Olq(rQ7btcah z)SUn`_;r=qjV$*R{$O8~tLbp7#Eozc;U3HN1+UgMb&G8M=jSx`)MX|4BUEhB*s14tfw7SJ zoNE_ijYqvX5gspHHS?O3{?eVA((%v|nSO~$!wPyvBU&~gVVgm94XzFqxi%0uxf&`| z!*$;uznU_8vlrlkIftqP5h!4N;q7+fdf(gNEa;s z@_w=l!&y(j3Pte~22lqOWBK<`%ywYRmbkYLuNqf9%|c3w%eMHZy^qZ(yz@H-m(P0; zq%9dV3P%r2AFYcFsinc&Ll7=8qZmwC9>yRcRJ}yJe0rgFLbKKd-SPFL>%S;F2PM&hEs5T? zZQHha+qP}nwr$(CZQFg@wyo(m6Ym4&56-Em*j2T6W-c|L9Wi9n1LFn7la#=UY)HoB zHBdc{*M4GFe+%iT+Qi3H)~X0VVMcOoW0KuP8U`>PB!@oyt8Nje^$c2Y-1?n_$P_ub z0pY{*rcz=+6G1!>b7T%EXU3~=dC=+~!h+7My9zR%Gmk-Ss9#cdkP*zwSIT}Fu;5%s zA2x`~(@oOpU(Jp6N*6_oDr&)urj#i|ojYgi5h8RF?}x1Xaoyki9_(pwd0^4wMB2o` znj?L22t}<8032LvOReJmU=!O-GB+z=K`J;Glgh$~Z|MsSJ+1O}$sb9M9yP3uqtiK$ zx_gF5)}+!&3_6#&0f%;~&Vf0EfNJmUltr3c%DpX^_RGer%E!Xj!<#{kjCq8C_4{-* z^9Awd^qzNiGW*z!+Et*kl<{xi{(H=7(dJ??x9(4B9H%IL&8XtFCIFj)*a}=g6kJ^o zK8|Qu^K^47lyj$XFF{o*R2M}hJ{ldh!ZnJ zY?V*u4fK4?ak_bn=jP`3K%_ByZVoerz(}W=;e6)Yad=eo&?P3ABk1$7B@3>-w%_-C zKo$}{>gnEdKSW}`6T7W|Jgzi0i-1?E{)Olz&bmZgLb4OKEycTb zi{PIi^%~4o8=7C-5}wHQ-$cU64&=m10_rN0Dr>Kj8yW`UnpiPT3bH#^iCUE<;)uS$ zbo)hJ>l(F9*-0i6!G-tv5jztWj%2}0%3n%?)k{)-L%i0pIASmao8~G)*?>5C4>5hH z^dQNPM*DGp?e@S1X~^cFj2O;(A*PS&x$qR#r~5BQ{LNrL1sxZOuSvvI2%S zGKI`{MMvCMxfgc5KIJ$|ALOD-E0e!7ws@BpuYaWoOpbsC^H`GvLwq{7c2emeCy5ujf7z7mDG)y zjG801>}ZNL($p8QvK&wDH6!6d4b7~{avmL5UeCqE4s;-q|}t8 zbI4B8OCIayRC>oC*`mADTaVNsb6)C#j$iVp*o)c3$XU4r#l)72-;o9#nGVT4uaj7x2|7LR^umX5wE>ae%K#u-LsRc#*Y}W4Sk3hVMNofKmZKgR~XU|$au|A@`mSz z2R9nYPwJl12Gf9)tjHq26hs+^>$*h?n1fxCdK6)U)k^u%$zfeK!u?n&LQU-^p{7mo zvi^ol93=&;=l*=Xl!g4b395GcPBBoaq`S*uO6_! zARla0jab;5+maWriJ@+)-?Zzx_yQAwC+$)>)dF2rG~SRo*FT? zY9oru6ln!@b(pL->2$7(ARsnea@a@^Rr$~=J|()bhR^nY0x{3m>`lE`2BK}a;1dsg zJm&O4NMr7Ax@pipiktRP0(!|XCz9v+9X==Bdc29xC|JSOboX__Ur{Gn=m_!(QaYEr z{9%ML?RZV^^5h3cuZ;b7e8?syQp85{PLienUMUMqj9!2H5iw?zHkBdsXe7h$!@ z$N@SY^qR7gHp~tVOwIKR@DWq9Kh#NESPtm_7PBj-xFJH<7n1)pQ*1j(Lp;*c`u$NM zcK4fvC%a=0pN6zAm9_GDlVjRf1s8vV+K1WHagx=vUN=fg+0+w`uoKXOAP`B5beE;dWwMRXO z^o=Ad@{^3nh(%3a{rRm)lcQvMoCBT9AY!MM!dW_J&$Yj)~cQk z-@gkFZZ|Y?GN_{rWbGg5r z;`Exm{DAyd);0Ng3X?+e=TEKb|3}uv_J6XjBCp@vqF-4TR}UdeEY=l}PHq)wt`buKF+e}Vj^Ac~T*8T`l6PoKNmudwUGiO-0yxYvk?sd8>B=@e$vnf>(4 zCQmLo+5P^oJm@B;7mxaqLg-*?v68M9PaB|pq;3KHr?%-I{veKWlM$-mj($>1;=K zw+=A_$K77AByXe-wA1=zvoRH8`Jt9o9)&JS@Ierypw(aQfbY4Jgn!1h? zOV0YZe);~)?p)vG_HE|uTH6Xj)l&TWto>?0f>KSe$nRPIZJpA%uC(C*H^|l+XiyL5 zkZTKQh3~fC zW(N}O8m{Hx@wC83*R|9CHNs6&3k-D7VBP>c}LX= zKssPKuv>N{VCw{BxkKBLjck*%C2X-4m{*T}uvqzNkMpIwc21?&$v00EuDJF1zvl3b zQq_{L+TM@%%u!vw@Ar$*-mfjy*qWTJW)s~UN;oWg$#>`P(x3Bv*O;x~lO?r*TVRXa z_e$Ssw2#`Ht*x=Olb@K`9%mY%UjOwX+=a`2*EkPADk9-Ji(!~4V3-@t`+LuXlYGlc zYkVo>MV2ukP9%c>45B6Uaawx40=>EOs@Kq<#THpPy4#W$0-DXAfVyRMvBbWw|Gn^IYsA;+=pG9qvYUm z1#Vp2=eBH_Tu`k%(zOg8jvixtFvpwxQ6A-W550tqX;BSd;FCp~B}KqQ!XkPE=%AUl zE0G?Epq2=e3n^1fCm3rZpKWz_J$x$&q z_qVXsG_BKZ*l<7g-mXjyO#jIG^azD-6)AJ_H1C5}>7^L%8b|qIn%{5PmwB5;ATR@O zDn4)dUjHOYjsV^l8ef-MmPZRcz; z%TQpc_$q?^yWOYq?$Mz_JC?LK_ll#);>$rB>D>FH|2Urn0uoW^I=?iM(Zs#SC3UzJ zI8!71#n`t zbY6nA+{Wy_!L{2h>gB&E<#bL2fdzq?%YJAqc9HCeU4J0#4=ayVzT>YWmSGf2J2Lb0 zHx1hxU|TXz%pJPw(yX1n^M*=6ga+vK8n26MYZnkeRHdxs>X1x#4M4-|qUR3HFNAz2fS4ZWuDoN4Lz0n9TZy&VeRitN6~ zQRkMH2G~)3iBWP1Gmpldi9Ji?zN3Sl|5S8w^ahE13ysRh1NJJ(zgh6 z^OsGHCFA-QGCN!4=`6v6vBEmiBJu`|njVHXNR29kjcjIGewI_ruCN z#;u!Mok2U9fs}U*#IC6;%JG!#M`!3dfz!bQIJu+Ay2g*J?)gCx|bEVic%$&`PdsJ!Yv{m9Qx& zpYR&S>N)c{NCriaa2E8759GZz@y4C%I1{rT%e#F8I=juiQ2N>3ZJ!CO z$tGE65{}8}r@3JC2khl}BqT|tKGBhwdqc-G|2+(};-V_hfeQ1WnK{vppV#7t|78Qf zVn2_aNCshb&(PWAB+;-oa152d!}Kz?{0eI8;W*qO>q)Nj4t5DeoL=p}X>i3S(g7}A z%kM*5w{4cLJNE)n%*goE;sCBi=5=*&hay^BpLXwHmbxdiTvd$ z?KWckCLPa|RV>i=ls8t>_!%%#(!mh-fLCNsD{15;SGQF;u{%_Yecj}!JCX?7IKcLj zQnh4Jdw6k`T_ykOjNCn~230QW*ibm1eXmCiRjS5ldWBQ_s7wj>(YsrQoK0d~lDgq6 z0uTDZ)4zhLv@fKzKx7F=Zf?6D_Sg{CF{t`5L_p;?GCla?f+8&;dkf0z0)`9L^fl>L zif+JpK#PbPxbqH4vP8tWxuv~kQ%WRQcF)SdAwCY)_ylEunkTV49=HhtnW0H`dR$5? zPE8vKIJ-%oe&dt1tswvCLJ|bhoWfx`WF*5P!0LT`Q#?r0&~cgF(Mwtr+Jkv6(iq{H zx@wqUGN)8o#@Pj%9PqP?4}Iw@ibTIY@ zz^N!W2I0rh6Qb?MF`W*ka|q)kzmQ=@^oev;VPqIew{^aRzj0|!XmS7>0bz#t(--eS zZoH-|^~~g+<^JdlmR@^@)s2QY!gdDp#*9DYuumkRku{^307)4Re{;GCqk;zTU)|m2 zzd(SuBD0%@KW*-g%8U625TQ-UB~pWVAm+-16!y7JNbi_{)0~}KIYj*R#+B#G+r(_` zuF(M}$ARO6LnZ=4ah#jJyM^2Gv?oopX=YZ(kUAdon3ag4T7MBDK&PGMJ$UW9a8Jm+ z`{D!U>s$GF=1x6_6(-%l-34}%35)Abp-_P^>abN)sV*omuw(w2_^rbOs zkx)<_X@37G>H-2t1ax=2q1lQ6I^JZ5T|wX=r=i7w(u*9Vqcu_E!R4(|2j#R%xK4ui zq?I6!EX$R`&P^%bc8# z!QS8ih_=cjX=(d#0Cd#E9d=dOKa@~CoyVO(7Cq-~%cN{GZte_(02WZCD#RQB6&PFo zd(bJ78_@k@`sfU0kA^N4bhAM6Bn-)nruTYQK9}$hd_%C=}l|i z=t`zD>8X0|SAMgUcGUXU8q(Gg<9;$H0>>wgl0GoRvKL7K@y1GP-qNQ;;rh3*Vy0tL z{uhz0DUWe~(ht^Dj3|dU*3c(m-z0$@Xj>YR^z_u`)6Wgx(mz{%BAVXgsc_AiK0EXGfrb2k4v_g9+ zR*eQeEi+OmYJ_-eSo_Cm;-}NV{@WwA5RMeHwfdZ5NhLUwInf~|KZqxmhJ6dmf1+!! z{AGW4_;Yz2)7`jKuptdDOtDQ{;&XVsq>a*b*+acM3k7dqIb7SQDM^;kL0OE! zKF&)$O5VP>X+c@)JupSq9t4Zl%E(*lfTEw+;W9_aLhocia02R_B-}5;gK3@?@^(25QRBH3!*E$aYUJ#m$&e9NWZ+n- z*Gh$v&e94=4II1cVLVcTq5*wa>9AMIYMO$PZV4r-1xUkmtDqrOY_;EDM52P7JxI0GB$HKoV6)l4$ki7#LM?s2+Z(_htI3vcv{c z_PEb{USLj@-2lOjpD>e9`t&yQIJ7;`O&hxa>0Q9`rD)GZTge*QKv_>FMZboxs|vCC zg=LH4pnq+Ls`BkGx&5Oy=`W1zquXm;HntP#VPO(`CVBbv&BNOWEB#|KB^sq{GSXy^({(+Q5YC<7+p`0Cqa~Ey16iJE^T21{r$`b+5Bz&0kE@RCOCttg|ZoxBhiwAYbN!j~PPDA}PRhk2c{X z&iH;}!$^D*026oP4tM3211cE`bj0fAGOfoM*?xpYpOeHrDP-Y1m02`((tN`n^>GbP zrm>0G&``d8>fp_s9(G(@cF*dKS>!XVN#u5}HyVgLlp~AhI{1(_|20Foc;cVpj^9e{ z=o0aa`OR3I!~i_G(H5aQq{#md8=f%6l$0CS=bLB57^qp7wQFw*F(x#&7p}=)q}$Ao zzWEB!xi5rpH|nhbFCbVC@j-c0#Q~Di;&PNnbd#O2GXxC~KT^-?c63lwjhtUaroz4x@PDKK~3Q#_&!J_I&Bq z%YvgXnsJ5FmemDwf8dc%9Z`C)lJIrW=y}Kwtl8Gt(f50MHlZyWQ$w~;-q1=ClCGI0 zCbU)tPNcXI+vxWv)e~s32_3z+Dh~Dxd8N$ggM@{C5kPokxt}uKqeUlHqETGOWw&2X zuB&`nme<*yNTQIYK2v+oAglUjfXw=sB9a2+yY$6MF)YH7b0|J!!AVr$4FHnoe>5eM zZ#oQ?0n^%)_wEko`Pk9Lyya&sq$}I^OAc@<>{4lg+csXS30%mu`K_V=v{Dc#3HF>^JA zsi;^A2(OSo3tqUncnX!Du~4!arKRdIn?e*_g;rPEjuPHw2L$dZYNs9A!KzGV<6^{P zTy2sor_g7ZU=PTV6FDD(L#8m5d&M3bsV_4FQfkSze=u!AX!!J zCkG!Dkf}P;uV5NkbmQ{dRX3B|TCG9_Bz~54Oq9x29EwL>zKJ^=8?HbXb0;+3iCEO0 z*l~Y~vJPQ#4JMrJR3lbp0iy#W*~%S+0%U*EZtjzD{3Ta;MXyA#=H*C;C&mTaxD-OUzZ|?$RRFh1r9%J=$b((#lVNmVOo;!fX`;}lAkrKbkImN zuc%1T;$!05w9q&WMzs1+_^geK8qBnWds- zNG1~bH*fOw)#0%zD?gQ(gq0qtK#j&!+W1Cj|8aduAD?bDJWF8pPMB{m_E1Yczx_y9PCn3;nRS=naEf`n6b)AhcllGg=)tsv)O^8_0g)T#RGOiKvZO`aMf22^ zz#3DnAb2>TEFckDRXUeo#?}*&bwF1%pN}0~=gjzLn7AShJ1`~wh+Rvjd1!|Oq(++v zl9qUs*nt`!tW1lfe%S<3F_|pFEPk?Eh#fggPG2Ib@df z?I)_})&Ww3Ff4}F!~aI&u1mc+_#te=9>fsQ^Hk(8$O|z7y8DWhiuz(y%AL>pk@IQi z_ZgaykkIO?cpb!1&RlUXg#aJ`1^izAMLT;ktUQh{3k!@zT{+AOM|rViw(1+ zAcJH|ScvWioByP|vRgFju%IN|q_C(wB)?ElLJ?pJ(}g2Sg~@&?7qP7Lr=#T0Pd2C@ zv~-X!5*7E$T$pUkxwwvQCI>C+d4WEur0EzU91FgbdjTVKHKEp-u zt-fz--<#9m&rT7Cm$DI<8{(z~09(uer4fqMJcSr#bYaOro~8a-XcAmw-+?-#j1E|6 z<)qI_Jw>&Q&ojIn*P!W4E}5L80cj}NqYnq1WTc>ol~M7x%`VI(P1GcVDwMw}&8*U{ zc+$$WQx)56g-)adX(^$p7RpErJwYSB*HM4t(Jf0iG-*XN&<&bPc^*MkfB5DIqjYm& zP&qe{n2QMoa~T5gz!oi3SmV({LI>rkg6JVQ!=T=BK>TA;)ad=gH4O7F zcY&DiK3oLKn{!xIX-WPxim5&ofT%FpG6~C&L&VrGt9xmiiuN~`pIF|*Wei`Dt=)3C z4f-E!M9!f26NK#-RX~snnR4-ygf4r#gy*(#!&^~C+z8a%ag?XAmBGoBE9P_iR1|QD z@;3{^ICI-^jgz|j4RB1=a&!W0IiOW;L17zyY7@6SJo{dEl^cx|GV{}GO(8$c(sy?b zkRd(<04P$Li1U|fJ2D3@ub48WXUnVj9_!*XF3O1+0*7o^1YE_OWq&1AoXAq!`3d6M zZ4H>|&O zQIFL?sOsbwoKyn^GJUBLo`wQJQ4dv z3%`*4N!PrSr6W-5(^&ifni>G?Q+EOAw}gFaSjyl!!@oCN8RfEeWuV}~PS;#s70fC%)S@d$NuLocg zWt5RUl=$<#ZMPT0vzfqi#G)SJ%0Y4lp@OBB8g(dc#y44B4f)saV|#LYou&ss?$gp}AbAJ-coVrlh<#lMo--SbP zhx_#K;Nq$X$5P?*7^5lg&j-3!Uwxx4j&*>{QCXJi*OV_g)e2T)lG+q*LW(FU)@oz| zproA&)+nbD8j|$b%~+&&eAlu$yi{~XI)FEYf(|_O?*e()NT%+g!GTiH;T9@5DW$6s zz@rJONMIwVVj;o&OUqIVpd%sK5mp1F4S27MGV_HNcXa1yFyM5p!%4wg9=x5V|1Vr4 zgPL2Sd+auyT4Y>sj~ItcC$(4`A={A({bB z&b$yBwjf_x+i4#^w=OOL<7-hcf8RRM9C?6)NYg>1)O;E10Gwk(=U{00T(bNu&yiG3 z+oQ3=BwrP0nC2Hvg5p|yi#xje6kV5iuDpTO+CP`m>ULGbkiSNb79a?iR&n3K-=vd3SI;{l+(G7wot1T`sA!Q1_?^w#PBx$;NzuhO^G{=QuoHeWDhXNegC zy5j=9;MY)I?b5=`328MHR7(@tg{TD;O#5;Xfojc$N?PATia|WBJ$!#m7HxGGyNGh4 zx4hHwq7QMcW`ZvBqVnY1ub)Jp;WZ?b!xP5PI~-mZE6E3vr&GBha6&#my$BjDfZpUv zt`kjWV`YPjfKDo|Oo9PpmAJ8VQIp~VDxl(B4F$t-QRmu4;kXl)=0w~>9~INCe1FN# zo{n@vSuJ$LB)J=oSyD7A%&y?gtZ>Y{2k5#CQ_84ldfJXbSQkkqF{j|sWIs@LOYZ`jiHZ*GYjE6)dThUE zH?QZMy2Q_6jf73jFOqKurf zQ?m5I_jWhRhR4?~?l^`++Imfmv&o0?b4ZG_S^1lu(Dd|Bx^5gh%h&n+E1j7A`1sIt zTO{Z@)2iA-DG>tD3Q#pO?0Y|phV?nuX6G0BxuiT=H#~=bKsj{pGgZadInJakraC2L zovpE`coqunz0KBnc*y+Ox_NWu7SQndXV?O76+2s_0gY~5;s$~e97Vv_`HrQmi-@z^ z+v5weQ`<=PI*WW6$2swH^DxW%u{zp`PKcZORB=6CdN!_G8!0#z{=1&aHzzNvjX+oy zb+>G*B2rZ)v8AxDtb94|4{#;lpYOikAK$$;dtUFsrSG(^=zErrxa56oLM&cL=Fm@X zk5sbWg$A37JeA-K+uXhxbq3Y`6Prmn+R1#YEZ-D&IsiLQ)e!{I9~F&%N8CVad|Zys zecvuhbA6xBOmn|C$$sv~dwJSDzMEV|jd|2f>S)dn?qy%b3vbpHOt+#;TR@O#0my#2Oq-}y97fIv_TKesCgJvSq*$s_J zwt-Wh5qGEz*W=ZJqA}j3-olJ*gWl5WF)~9ZX&r;S@mg|`Z7=z?2%3qN1a?oad#s>w zz|uK_(fS4FieNE`44#0`&6D$`IcrIFtr{!Fna3%cNwF?LbaCPP&i`$|AWu8=II#|z z2023@)VO)|BP<&Vu(V2cZ4gM+Z-4;wcjfS8E-!>|I6*X8J-A}@t93Yc({1MBZ0T~~ zLk=y%a@iC64trwp;xJLHv8+=R`^7&LHuGE`DvHj3RY{y^-!QH;BuL&Kq&dU`O7}0N zH9!F_bWR%H*7RTPL{FEUJP3IQ*!y)`8i#tya$qPc1%*-Q0{uIAIOD<7%uVRyXA9w+ z;5j21TtawcZDfp$C_F14jr(2gQY328pqVEKZz8^Q@+I`dfaF%g&E(nfU=_X$f(?#r z*VE>U;I;VlrVRgWcIUbhMuN^ipzB~?psF9aaqq0^8M-Ww zMbPKtysnV422*xiQeNcS=MR^C^b?I>07~DhUeohWRMF(Kq}ble&A@nO=*JouW?$3- z^q_-cF&ObRezz~NSGm`Xs*kZiNmXMEMH%14$Ad8fXbK?V zgm|=PKAffEnFVP$!FTTfbOt<}slxj|v*J$dqi_7X67sW7&7A*82b-(cD&M2(1{L}F zcsTQh3lyC!A>hg}H(HM4YLPy?iZIVl8+d!f?=Z(&2~8JCd<%F)o`(rgbqHRH6q_l1 zS(`MPZ=t!-E3pS-z5CHGn7^p^AF)D*#lv(}5H|NIN9SiR6ki5o2 z4>>Nx>R;7qGk(PNlqfFcWzhI)NBnz%rSp>NJnFRL?Vhzl%pT(le8NrOAyiANLTj$l z-iPYs&GqR97p-l0YDp=7eF57I72P(TmJ@lZ@#Fq+a)xOrW>&v3-#@FCM-G@7@km|- z8hJSL=PL^=c_;E4)^oCtmvUGZAU4lnz@8}u0|jPSOe%D?PBpe~ql;rb7B*bQX4L^# zxZz$YQARnj1zKiVF)+KtWu18Yx@oo_)uco3ha6)2Gu|v95K%kM*?n7J?!?<2YGm5; zA+-8uX8{;!M5w<3^MV7&m;>#CZF7N99KVckg|-po$xWawhLkD)9Cp$G>;=A_Q%;X; zd}404U|UW;)|{+In-4`w&z4Zm{CWGifDs&Ncuez)A7K|?Z@(Mc5$xl)Q4KmjPh8f1 z-G)~gqiR8p3b|*|#HB2k8f^uLN+(DQZuQrsg4Csn@()m;6vsOL$qo^A){EK>h6?7} zjjCTNZGZflmjyuO_>70x2r1!6+|oKOmZtu+pz5iiY+b80BP~A?g;DUPPvM^(#K)nU zdaFYn`16?J`&SMiGT+ZFHm2zLNA%w{`vxEHHl9*0tCRm+;U{SCMl;9{GE`}wpz}Zm zGk-7;{9sVps)mQe88Jm}74Yy+wIzI49}D3R#2l9l(w`Dp%BCy-)8Zx}ANIEouvqsL zx9_*I&6c`KX}w0J_ZiaCkLBq;r~cbSLu-DcRRV8mh7t}lTNhU1=bT!hjL^ps#a#6Wx09 z(7SipUB`D=1K zDB`oB4sj$RVkFKKsoq)2G_h`FV>wt`8s~{Ve^;j8F+*vE`(ORrm&d5&ZPBsU`_V4< zq<*xMQ>X5_o~3Ev44vsClVaGVAXmo{#HtACjHncM>Dyo%Zh(FuVpFw;g_UrSL@e*@zZcMNEJx|U3qCsvR(mi%bvFjfGW z$^5pAW4{2wKU~W)?vcTQ>lsh7UtLk~4b_CQsX~m|$8vpxOP1^nqeD|2^p`%joSzYo zeHXdL3wcv=blQaCz&`eyDxLObzv>qHdTC62AOQqD6_=578^p*iW&}^ue6U|L!nviY zN1_Aqb2>idn@FMIZ`p92Z@?MSz8iYJ7d^=Mmo8Lb$SPK)5bYliHYeiCL5bCtB{x-A z$c~!UxSc7;h|9fU7;dSB92=@^LT@Z2jRkb!>`qVtg-TDKF|&e5dYNPwuD+omT3TO0 zPa<_uf_d?Y9{={VN}{s*I)jX;6~KoI5Lh}g8}_~x?_~_sF9=2Kca?6;NZD9ySeE>7 zy2$S?FFRfMSmt`Wcv>enH#x{ki1m8p&kj7AV}xOL=swf|jr7yn2JNm8&0x<@O8_zo zpvIp%UAN7^bx0zZ&~D`eSTL z+Pm4`;7$WxoY5}cf@+Sr(LXLXrs(9yW~L#}>PjAYw^bvXdt2G{!+Tl;Kb z=7Pfcg5ejcvQtjJ&}E8JP5w4Lb8JUh?S@{KYga=UA+#Gq2;tnU-PVDYTEYIyr>PsH z&kM=X@#Z{d;#geoQ(E$id5F1ZRTqeshp(y+O0H9bL zVf*W}RTE0cF=MSp{s41aSn0$dDvy|oC|me%`^lO~&@u`1w$ph9>%Ztkb=yJeTKy2556v=yx4e2B1xVkeo zzNa{+AbZA}uV~GqNCvwNDaj$OYb63Usnw_%p5fP%6@hBYt=Fk;Q1O05lkPEhcUmzx ziHJWDtDn`JS=%J;fgC6xxLJS4a*W#*ROGn10907d?+#}P>GcVCrR3)nA`^+sEem8$R2j>GY;OJ zKCtw;DjO#*K1Q5H*dj$z2M4lPB*05Pm?gmLt&XRN#2TnRd`R0Q3Z>UOlgWR*J<37g zz*$yhOE@&?`^X?*9`jT&NvMV}D7iObSRP1d4WeZ)sR{k|rUvWG5`uY_B`zVs$hq9x z|KN-IN7*#2YFNOmcq(Udx%XhGFdA|<8A(aYr}U&*GKCD1k|tSNQtZ-b#!Y^5Y39Fb za&!a(C309qVX8`7N3uZ4EJcq4F&k#7N7dk2p$;FEr#E++=rCO;^xK;sWJGLU{>!^7 zDG*+{IE?d(DnosMS+2VqrAZ$tp++7@wJl!-Q*KI3O-k4KyLVHtw9O(lg)bj2q?`7^ z!f#R>)(zzX)3Uzb>YV+1$h#i&MRB-dnoX5`?+(tXh3lmN7sLOZL|d{7(zMcUc4(EZ zw){iO0Czz(C{MawY*pCog>0zkK*1CN`46?oT8#-a0(+<;vt5{~8&>rX1CB-v z`N(-4ujt9F(tXFw=6{_gVGWl0v9w(XRBq4*_cWJPIA18IR#9(wain+*!xKTS2aC$)0cMuzXilF#5IPGE`G zzk$3|pRSk>ClUlLgqg0#_RsQ=M6@EQ!CvxiN@wbS5EwVyx=re7LX#6@&D98A1Y7nI ztHQuX_7FYIaZOrN%<{s+{PJ0I$oB*VRJmw+91;rl&v9-7{e-UyQhMGn?+=40BEczW zgUOI%JGZ86!r890o@e^aNy-f<!S*K0|z6#(GQw6VuCVP|I{*^-geYAjL(Q%E*P5?OC6tNCzTO1O0aOu_mpsP*<840+Y8t(gQy9F)aLpMeER zF~AuN&8sZyMqOA9w_cm`{5IcT+j$?Hf(9bdNL4FztNH3GPOF+Km-?6YqG?h>A(;9~ zsq*U$3nf-o0ZQ2n`6MNovwEt~^`+sqA|ZeW z(3?QI0#`2D*qh)0W5ihFx^8k;OY3YEYLy}!hT2hIDrQKzCvbEpgV=9{9t_L2T{0sU z(?AAW+P71MZMAj|i! zxSnl1WTo4MGMiQ05Y(B8|l@&SPY?4 zp#qeepDhiY?0>r3ItMaZG>F15dV_Hmr17%nMt8=~zQb(n0F|7|( zm^Np?^3rUt!uEB}pWCc(1jxr3EJ%uutfcZR|AGxb_E68nE4re?M>20vXOBnTw`PpI z4>x1$r2!Qwrf(bva!L(}Ee1Qp>?tv`67LqL9Wu8dK01X}+m~dRai6}lGW(NzT{>^f zyl{SK%F?*6gp!N3FE@y`b1B*tS=AqxsezNwTH;jum@pKy8XtUl{r{(v+Jvn-S}02HHZ+b7TOFalI+b z3~3pYSw<2FICSq^PWeE&mEzb2RcKzL3jZpYfgh*3MXXQ9OX`eid z=ug$st-%+i6X|IbZPkX+X!@83K2AghQlpG^IqUESub~K%4t1G1J)*li$(2)Q4h}qS`XE2d*w=VE*E~M)`A-$h)8{$*t zI^nt9Mn8zP3e~$;yWJMn?5>!k!{TD6ega=3tpf;qM%&aC@C$qzH~RqasGK%8i)~Do zleG72Y8Sh#oC)#skv7^aWHo80rdaAqoA%lE$1AL|EOQmGT&{}Qcy439tddR|?)<%K zqhANQ+(F>%wzH`HODfV&=O&i4%dr8sW<7!@Rp{>UWdXC-J&4GUr4_XAv<)*05#{Lw|g)k^+ zaq@CCFo;*4r~O(}%~t6wrGO+Lny?I$m}7Yo7B9w!HImLVBb;lOX;V}UcMe4Vyv#9$ zFm2oPwGbElT^_f7GNgb$_r_>Kq&b(`kpQCsy;4kCNtipicHA)z?EGT%;?0^@VLYkLsdNM`{ZuQ6wS zh@<1df)dTO&%C3S_Y!rYx0J<>^f|=Q*T5W~DGe>QE((G>H(Kp`R0yS)ME(9x?{kFQ zOMl#hVXMyaj5Ah` zqV6b=&YZ_%MwnD6ryA{Zl#1A5?sGyi+!-uTrRLcRcET2c#|R%>Rki`ny%-)(zdJ6TF18yKO=|) zCjg&6O!CpWWa=mno8@nhx7wkP`TAqC*lhD$q&n-;eFmC_VL;Ma8N4VBzadxkZ+o^i zvk8O60-0lD&Oj{@%j+A;Q?qRE?Qw2yjG9Oi4u+~{UgA3vG2M-gxV%EiC2okCg<86* z0}+z4()1)yG^%wN1ca#hR&f3;KychUBG)jcE-3SJ@t$?4N$8eF)A#SZn0a0oV_kvr zpjDsow43Q!8=wG&*~n#z?W+O>b#diR%X^i$xyv=aKm1Ns0wU%^!3y1ykee~Xn@$2V zbnQVL3o!%9A6YyX(FU~5x*_o@J9H)4)@ld2FkACLYVW#13a_GmivFZm0*ZNNa)Mz3n3-!|>dg~T+smmT8 zOtKM7q>ZVB5MZN}B)VdX;~rFw{mqxwd!kXH*57VX!$=f*Uo$cXi^R3XI02Z|$yibs+VHdw=;+SHpi18V z)LX=dw#)qtIY?7Ns1)uKl*nw)lS}V7IGmjw$?>1&B|-geZ%@UZg$oU*TYIt(Ax~qq zsH;@Uc!z<>`5x?t0yfDGqw!Ts`Rn3@z~*|_gE@}-6e3ZfMf~FhsBRM$jMYbrj(TfJ z;o0Kmmtv=5wqd0gGpn>n60oxX^Q~espCgIrK{bL0zlSrl*!18@U_#wfAJk6-1h2nO zxn@@yrCKWF-3_kXwU|QomzQ#sJwoc*ekYbClOkd1JrqxQ6I<=0muk8lYMaYw^;RuP zIw2o{q<(Na4oJ?3ox3EGs8Pu@&Plb?l1-w}dD@8Y2`Hn~==WP2lDZo63xL&nXp0Q7 zYYqn*0;%CEtLY}@JjMvRm~QINi=h~o$)o1u>l81#=RU#u4P-ld>udv~LJ>7i95;~S znz+1x9PaIcOlgywLR^X)Ekara_n8A8>M0zN6*!W{w-u>`y0QOL*;_!>l`L(;xVr}r z?iSpg;1+@gcXuafaMuvr-6gm?!QI{69lkUF+?j;jH+QYSS$ol(v+LR2wX2His+Nxm zz0*=Dl5!QO0h*xnU|rT@r}l-?_WW z#h26HL1+?&xZ8-H>}S)gpW_b_v>;Z!3khCo1@MW@S=_saqImP9^u);JmLNyzyGF@8 zw&$5ZZv%G>qXc3#SwZmpUI-#pQ_}hP{zV?VeEfGct4rD$9G8%X7s!8dci1`lH*PpU zKybYOe{y#mf9LLsKMsX2_5h9pRg86k``D@4AADnE=tmL03H-4(>J#-arE#U%Y>9~@ z@>2H}6M2j8b)^^lZ7k$j)~UFUsV!@~E;v#okF`->X<1>*NfCCb*5VX`C8Mz9=a>{a z3Hu3H0=em&ko&FD8`m-9{j?Jc?-}g0TeM=5HW09PCi+3Q_4(Q5422x%3`>KU`n0e| z`eR0K`d2{+QWw#Yq(d{RzY=u42h??+g(FT`U8jVF9wRQQs&)uIj)67tY*P>It7@ds z8mVW8v(3!`+O&M^*a%z42*uU|0k4cj>{5u zYDyXp7njHNvS%l3sWboxXMOvni{unT|{SI{wdZEdkX!ZFmaBOoFN^W)jK-}}ZU zYAYn-#$NHeY3mW^6WJOQ)6Eic6q*;{GJC@WM4$JhLk2Nrlu%6yf(i?jOknA*XDED! ziqEi!AHQUw#l71HBf68^E%>5l;urirqO;k3=A%%+FfFiVZE`SC-kRtgC>Hu#=m=Lv z1Vk0k8h4O^h)&SMbW36(@3!n3)cHPH4}t@36rX#(MTt61W^a4-VLZ8=40)!*(G1f* za@BN2WZwnbe8QA$Xj473CB0xlBI7q#48R|TMZZ%{UR;vr(m61Nj=s1OC~ z^bs6S{LH(fGvqCVJs4kP?Kv|+O?B)5VfT5P+r7dPvqunqxSR}rL%31O!SwWUcgjnr z%%IV()iVrGZ`X3e0%zhVQs_Ss?5M5rodo-$SKz9pl;mxJXVyx z!K@eaUfP$_1)LYd1$)P;L@cr7#vEil=yrHD(^3R}GQqYBRVd@~@Nh-3yRX{#{I-Jq zT>CA|Q22AZnJKL3k?U8ZsxRu7G%!Ih6C(s|BF9)48BQ;sWSL1vt zTG)~MoFJt5dg>d{kLc6~aTC@S2iw{ne!Ioie%RGgv4N;Y@>x?6L?Xl?^N~W@bIm3) zBBng3ZBizHvsNhdeRX4Z$!6bcvPz5Bv<=ka1w3rZk}lLMg+B~dGocn=xxtW5?{d&> zr`O({ME2STdFmYmTJj;>*yh3HtJo&odJj6d*tsZsbZjPHzr>D| zEdzIPt$1<*`p4W$Z!~h30+y5$!2U0Dj|8}17O?-fBE6n51M`1uz3W2wqGO43?aTqMP5kU{bJ;vyw`hWDXyPt{ZYkJzUak9$=#y`b`+$pL;n=Y$bs@B%63RIAtOj-e#O)NjZqpzuwxtzzGExn^Oynm zA)RF@q@bN$in*=*1+72W_cHuWJ2=STz57b;R>$d+w~=nP$POX1R`>!tPOkz=OW z-B4cOKcBCUoa(0VbQJB{1cT;zKHO$SJYSZgDW-Q;YO-2E9HFoolOVn@b9KXdRqP5DBAAs?U$@*cx)kmMMlx>BKT1 zO-A|R5SCW-0HS{q5u!HTKFwWUzWws~w!N3Y;}mdO`14+81U^qgT|Mh{`H!Lr>AI}* zy5~2`o;y$7Whze2FWdJDkZCVGN%ankM=Sa=OjmmZt@o}CE_E+^ZwfOFeY&{DR{)!E z3t&T`Km_9;dDKqhxUl+MjT&0vio9Q}=5Y3S#+pyoR?dxyhyc|AIY8}X7Yb>&A~=5e z?7^|5p_RIMn{abFHIYD{=6S}msA~58v_0$Sq^08`Z>9Nuy?b!QV>#dR|!NQ5~pwIJtDXAd7FeWP0gE+XZZ+dSb}ozS3YG ztMcUQE#L9Hs~X>yTvU5MA?l~641NvbPKP)6M$EJLGQ`22xsV1HOsPUV0qm2v(fJfX z3yB!Ry%ei67^10L;xbfq3%divtk`6#X^-okh8McI#?AoeOvq5Her*9Y0W_DiFM@xg zPk2n*y|Pjn0`5F1y#-}ctwT>lZ0~#IcCDLM(A73qCp-(!SsJv|c3AoiGw(ZS{hpK= z3gluD2HB^1M;#;F!V1wOG=&!6@qT$|8yzxDmd7EW(c8y|m8GeCaCJGp<+wJsvepXGOfRYF+5KQFlJ; zb}F;vdst_i;#+d(i^UtT4DeA(16m|2N9M#YS+UU0WLPC>)Gn(P`IL4{wm+V$s_7;( zYUhRg1Si(P(AmceZv#t+6GIBJCM-af2kLU_ZoclNLuB=Y0D<#%-ty%AAu3eZ6&h?P z&tfZ2YX3ZV>NaveBZ37aB6!xMI-_ihiJth-KqS?@lbU?*e3E7tZgJ^3$RN!c9cY@=5z(*cUb31cBAbn zVri>oQ9gAECi8a^lczJ{6B8zPgfw82WYfy9I~5K@14iK!KqI6K`Yz@@raP$|-NK4s zO5qzCa7^WP?r7KP3Myi}0$Om;OUb@pEWLpk{i#anHMKVj&#!?-5AG z!tKt8LFC;WK^PMuM$GoIb%nUNI!- zLkiPpMKT_sn+F95gfu8i%#i{DNh+Q5R7FI}7VZ+9eL!Q1oFNL z77psEio0Y&tbkHE1y_ZMI_XF56GiF3@X=1Gy2I99dxvY+Inha=$+ttpHb`d!<;WA| zQYCZ#panz1q0K%q&WdW9Yk_=$?*0YrCw{>2D*}>u5k(UFLf))Dq9$u6ZzgkS+a&#$ zb4_Q5@r$c=9SUT9rPq0V?m`m7;7uTepi30#Cg7vf{NAspt{Qu^*8_#?&24eMP`qOS zN5}$cEw217Baoii(dRQC?NkCb7`UuRp)NCL3eK?o75jiIK{^QWpz)CN%X_7$xAtdi z&n3J0?!k=nV+{uHs}Lx;kl@NU-ecLdO%EYm2)ElJ?U63zcpEZWo$426voeR&w#}t> zDqnF-6Joh%^u2qHr!xp=o0EetofqSG1igFgo$=Wk5 zBzy21m_5J-im-Y%wFt!R`CT>WT2-2;?gV`=+WpLVi%D2&5_`;F8oK4{ldC8>#0BGB z+may=Scgu4n{e~@oB_L6nqVxVwlLYCMIy&@>DmCsGRsHFoa*%Bfo%O^6%-tV<$F2!(pz6Zy8|pYfMnE%U zs6C+!)CBE5B!STiURapG&7H6`7U)th_?ouwXiOI!xRy zZU2#|`ZNr`v6`bIr!H#V_rrV?7-F%N->r=Mq_sYSJz=lnod$S`Mvl9mljDyp-8$1@ zm<@Bzbq zPE{J_gvGXp)pd0~El@poNZjp$bH^N2b^>uN8$xG($wI0vGeO|&%FpKU`0^hIYHiLg0i_q^e}+%YH_msc`) zm+5DxA$l`c4?Y@$2M%WiEOxd_dCDx;phh5kOw&LnH=;uV9>9)#EZLF<3$B!hipK%@ zol2~$UM@A<2kg_g?u-wfJN2p;p(K13{y$*pDG^d2hLM|tNZ-M@M{R=wQ_}8r7DqL$ z1Lh3EWV7d%W4Z3Ayrq{TNxMH}mHuH8NFfF+Nm}mn&2-BsGZ+L^t^b>{^+MAH zhU-Cy{Ny`4^gIqHjJKCRwry-$fuF)5pq?~VnDKF6okVX9vpOx_6Qf9sSU1tVri%L zRk@Uib22&-!7RLCbyOK`btqywRq^S$KDN*v$2@VdByFMuDk5~qH6G^X1inz2uesR@ zfAeZ!x&|i z8M=dorXwkJJ>I@_El9{gxY%8UQ`9Ukh@x^)#A=)8rt-gNo9KFr&K~`Ugi01n>{{Yw zhQMcQt$-lXUa?uOgEk+S7uFm5B{kbjBi0Bs{`F#{Op4% z4h|PWT*@TS`IIKviAhN(Zf!E?7bf|jXp(*z>E+@37lqmsQRA$Grfp=I_s=QJ3QP&v zP&y#{Tgpa3SQ*5jB)oZXb{ZGKtiapxLmIc$j|T~9Zjlw!PW{1sgBX}sp}ROy^!h_W zTs9BfQ+PN+8MPmKbkSz`7GJR5J8Kt=Hh5F~P?na;pfPSv=WnCi+lNqVEE?e;?`>-3 zG=m6!akQ$8D-YZxX3?FklgI3!Fd=Va7*v_KOFN49o(k_t$&|>Yq619d07w!Zzs|8$b}lt1=p{W4)ENcF=rv+bg-Z87P>`|Fa|0vnP zmshpB3?2p)P-SQ*6|#8HDJlr1E#3Z|dmaJ$Md>T5m?@_sC)Xmn4N{&)WGi<)A z4Lj~x+FEDT0v}6)X%76HrcWOl@<3^bC7&RStL-yVF6r|sBGX4z646hX#21LdY6 zhi!Nb>*RO={5HDXXq5G0;yEBFOoC5mPS!V8=ih?6%##$}7F3W<@oJ9ONgKiGmo%;! zX8{4-NYGn0BUK8YS`_$*GE2BB6CF_mbr92*h)b7|rm+kf7wD7T?^g(s%&WIjw~?Lr z7mK*2&I*NR3i^4a)FKhFY?<>0CO|poXH^8m_trXUHbinQjKtB;0V$S8HP>!2D`m(n zkMu+DpYAWCW>>g*dfhBoFd*zX-ol~o)j{Bm$R|jlAPfV2(t(HfnVu=h~TEW^lKuUJz{xVl8KI5ES4BX`T#$$~q%A4a% zRg`IIA$ZP%G zr#j@Jf->eY&M#0(MDPIn(+j1Cdq}-aNCE>%ie?l>qjm2oxP;^ht#Sm#9f;+`ici|(ZB663vGMJUQBLuG^ULfND=Aabz63NBPmTB*Bu61}-S(@mW(~(E_l(@5ZL&^Y0Dg z%!5l)pMj6T7)ja8B8FRseNe;v5+4=!uf~P0ebVzquJaTKIg1Fr#Ch^Auhk`b)t*_S zGf4%hN8ob+(H|9)vT9Gv=UZYu_E3x3%Pv*^V~TeKLBhy4*%f!g!=D zc2@uuH%ZPAk3T&wH4(#YIgVoFi2H>aG&~uWA*W3h#Fdagj|Wa~%8z|ph1b+YQ|T|8 z@XqjJx$|iSI91Ysyj|33-4A4k>s<9cRroFFl;PNU80(?riD0ffqGgisa1e^=n6tVJ zEWf&y%7a$BN`wGY4No8@4Za!Rm@5fm9>%uBW$M#U^Urc4g^<&J#Fkn~ydjJP$1BSn zW=HlCmZr;rkU~aAqfE*R4us} z%w&oMy1{x0*dlKxjh|%Pl)l2;Pk;0go-yROyqi1EDy&QvmG8$IE_LDu%;}d^Yw>Fn z3-nXJ{T34|hb8(}Ng|*oqDLnj(e(fyhL5NDS{_Jea34H=`xci9c9&UoG4gt3G6Jt;z9+xC2u6;WmV40jW z1>6!Fm3z`bn_c>F^fH-u9sK03%E!_)&C&BKIKi_X(9UP)H8Yu^BI8}DS6Gq^H|Zj` ziZ)g4j=mTug-52TY;y`I*rg@YssquWDWA}&3R(@0919wAi88&Hp(8?F`?yV!AcB39 zB%6=S`mH}Jd`25Cb14;fFJ5)&at3EXC8Ytgq_PO^PK?04MllJ0Lf}5abqJE;At?T? zu@49Aq0GerT#}xcy0g=)-@{4rz2qA0TUmLm7N6pfp?sxvhHKA<@d_lOW)FE8{6SJ^ z(}6*LF}Ur}6q=!7;)qQ?jwkL4g7QJ*9JEw zip-X-MBh_mV%dvi&T5Y9C>rEQeelvOEn>y1W}+_&&x|@9Du=f|JbXg~DO=hS4tE63 z6Civ>GhQDHbG{rv`9cS$0;4?gg>RSAe;O4KHkjcSl3ZubyAECvcim2wn7Iwq@u0*( zwX5XA6WUS1tWd+hy81YMBA3i_W!9~70-rqh{3)JgUphZrOh?yU~-YR}L~I6j@R+VN3}}e$o}TPY8 zK3p!&ms(yuf}obOar90w=nL8aHxmP68plV)Hk+K7Wro=*2>Yq_U~9M$*{Cc7XuvlDo==l1 zMV4GX!9~0{I@;Eoy)h42`I4qdxk~?*BYqqF5ZF1h+xUoW^bhDsDPg2l{u-;6sm9T0 zQ>nV8*kn<6{&g1Wjm^~tXS0Z%UJr@DLa6FS?|p<>PYkxcoO0$5AglH>Rza+NvMxps zh3PLMh&x<1Z|}EP^qApkEzs(C@p;?SCuS4y7V{%|vj16jQe?3agFUvx8y0Sfy9UkF zck~};YtpJ9nf>UB{ZDmIHO!tt{^3TbUCitVps$F)|BD+K|8hg$N>A6y%8b^)+Ci62 z&(1FUgMifnH(c|9GSaQ30NxG`gSNFd2oHR-eS(hDyskz@biRcBxAa|4g5s_@Y^<7j zQu48g2zS}+*g|F4R<$YW_dfDo-y=7*DZS4|)sFFJ9`tpTsB4yO?TtZ2i@O3zo#lbl zuN8P=_6V}Q<4amTmPwdYsqY--d4E|B0A&wtK8v$9UiGx~{Gx`T;}qON6$f%(BiY=E z+&bC?CL^RC8m5m~k;R_iD#=x;Y|UxI{B-B#JA6lg8804zr_qjvTTidYzB?{zLO^pb z%W5x0M->;Ei=ii4gUiwl!Fo_8Kv=!#_F zy@0y%&OGRJo(65$3R%$LwaPIRb668up}N2nhx?Ly5L8Kq3(*sbT8f_L3Qpl;VotMY ztd*VPG=fmMI1tB4{=g4BVsJAt#k8Dyi16&!$&8-vyF^hhY{9-eky7`}{mI=44X|)D z?UU4Xtxpa&PuDw35f6uXy?EtcFj*Q@w;-rEz)ah!^2{6-+aOr)UJNwaF6`_=Eh+<1 zBUnytqpDPYV9jV5)5qn8>*3!NxcA2Ey=xA#l9Jk0jHCEwk^4|a5Q;CRnuJD!Pv)G@pJ5O> z>4a!WjvT)}GFNxaFOtYdel1ZQbt0f4{}fHue9Qmx`2M*yG%NeVDv$*IyxuCMs!9lG zljBm8hu7U1aA+mO06VgKa~ZE99-(d``&CxHMD?k#&DhrloFo_oytXQmqoQL_RqgIJ z%U#U~EcW77Pdyze(+p9#45zPVpigNA$(tT)CetAz(&^AbCBK-_MngoPmU4yIet5)?#FIHZkgB)O06Y?5bJ`v!4NI6|lh*VH z2-GktBD00zthNR``#U0r5+YUs4k|g{@yM=~xOx2Ya6Y>V?~?}H`H>PuBz&lPBF7w(M;0g!}f+ThS3&z zJO;)v@$8boG~#p926*plH>4{Au6^ES1VEl5`voTi47Vc)RZHcl{jdXn?{6k4 zUGTZ_#idpODJEBqi;M=n!d2Bn+5KgEX6DAT`GvA8V z2nX|=ZnLHlWP3ieeMrj+x8VG|mDnNEh?f502J{?{K;6Ld{$%*}(Gv9G659p+#iMFG zJrluKSEi5TgUoi$<^FqUIC?v&P@4K7+##Sj7+E~Z7*0c|x7;C(qDmqm4W+^QF`fH( zo$Atj!gUiLFy}UDl5-%Tb|ug!RvBso#Ragrty9)@W_#NQ>~;xw>qxvW_+T~Lr2E;6k9WDf_nn*H3b6@+x=h-1(NtBh z5)%G6Wg6n0?&qefv$`Bt0_!4p2`Sc~sx{ZIejSlYA{I`W$0ZZvpWnlTPB6wx!0=6Q zk1KeWNY;3?bYU8o8ma6o%)yr)Bn~GOsWxlUUJPAqo!@aPqrODhY@Ro?_j@oOt&cff zZ8g_~6!!6U(%;&rsUb+OE*Dw3M>^I$51=>a#=N^0pc7IesJX!kmf{VTo5_n!aAbZ) zGn++hXSGn6I+#FtzQc*Xvjw(2vyG|fdsLj_GOs3+ro!UTLj} zAjKCknzREl6w6U%M9fud={u{>3ES|uvkY%@P;zEyvspN6I!A;uh*Q_yNR(3yg%G6E zvSo;3oe-=t?NxlWW}#U^6lQ^#NT|rKhRzJ75sm@M8?4~cHX#C5xE$R@el;8e>+b+|{OH?@lvs_^Ue#5#i!2T6&$U7hhZOL&JjBkqch%um zioMdw)hjHy7qI1s?-hFJl>;m3++-7ZZv*}eMfP+*XS$RgSauJJE|QiMP4sL9tK?oE zg(QSDsLH(UE?GTzF%CCAJ9r4!QFyl|bO0EXMjvZu-I1JPlaEJ8K{wFuXm*=^m^LSK z37J_nYU0f)e-i<<31d2GGdd&9QDl$rk%ei!Y}T;zsX*5XBnL}SZc5mB8FIyN7)MPw zFI!elzyw-7RyihUC>OYR0EA)zFX?sRJ&c_Gz4}RR9Ak{f+%wB`uO*MuOA>4X(u$1Y z6$%GWP!i_M!PJ#$9R2y@_6vOCNIf0-kDRM1p0pLr4*Ke;*p5+?2It9`C8j)^uZ9!W zLp@rTt^XQ>5>57=VSpjn`=8ePr!lbB(KFLAGN7}vHY`pYj4onD?Y+4`yRW{Bme4t7 zb)4f>N|eSRpGy{3qDqRTVW}PV66XKmj89n>MJ^eXguDS7(`E{He^aKuByE@YlxOxW z9kUOXt{b?K8j=|40~6gaq(!3p_6~CRq{34Hp_;RuvSj z7UVQYM~~7uJ9@Q9?h^xFFn8Y}7sFJl?e^aA#?D`3+GlHircvE zsyi7z++HTRTKo(eC6Rm4cRFUrJ!304Xp^R4wZp~5_qas(I8vEP=T(VIv3o5RO2JQ0 zLJ52Zf?OyOO=3k66-)B|3~kg&km~YaV&f(d_6f6_Nj6B3JUyERr~q~|t|F3x4qQnC zhW6=baEE-e6gQiM)7MMGjVN${8&VCKy2ap%O)N)_a1vPY4y3+&g6f@5_Gog)_0q>I z4kS{$8_g^hv)kJ*`foNn1z86_;c}QB8hebGeLy(p@u-6Zlci0JN85ue zlTJ^m75;(N(T9aR;ZrP_DY<%|YO1_+MesE{9uANKeddq0s&fN@gV7Y>%N3eL{pFbG6W14Xw`3 zTuF>YgnT1Ared6&4@xK6G>JElC&%SPem=it5!=OKRQTDOb|s)D!HzGWM=*whGVNgE z2(U=CY;NvSU3FIL9eb-&Phz*~el0g0mWEN6<_1XXmO=f-aIeTGQ+n7{!Mq4+48l_4 znB5^V(NytEBh*ji3{maw**M?&ta-S0k`R~JlF(N!`ubkt6I^D(i46(Z?-*N<5&yiHoh zceR$r^wPrYkhFU7oS?9Wn4%8AWdFovUbWrl;Q`Xku%8!yrXaf| zz$YJy=~g(ORA901b|cJpt2i}&GZhp*D@9V(a1=)U*w21RYa)m&&3JjFD~Md2*D#Yf zAjUqo>iQ#`db%W``BPZa{!aa7@sn_Z5F7^-%#rbtCq_Y@={txb**?feWA`fDZ-~6m zEPke}tk<%eu|Uy`uEl(z7#8l*AKV)6$h*(h(g1Gi-(C_>VCMBa7!c4l*8lR7e$L*p zwq;=a+ewO58nVRUKxsLkG<~SV6r=6#S92r*Pa2|I{gMKYbaMQ|grB7-$!|^x{$tI2 z!yexHU{h+UK7Xx#udldQJ(B79L(Bccd)gJgYT#O|?sp}@clIBF6uPGstEiscZpxHH zK!o8{QNLO%Az_}(#B6EtKJO4X@p(Rzvs-k!CVq4_2JJ7jE?iPlMd)O}8_vT`vi$wCvm*#XWmL&M`0D#(6qRm-1h0V^R~>W>id?trejn= z-T=;(R2c~GZSYqF!znQkaWqao84XQ1nGQ|O){uvOFX~ue!`w*-x#-q)Y^l3lC|02_SxMcj zlrX}^{T>mL)XGkuYIMAPV35eTQo3}nN5I2UpFA%npKk+X<_MzENxrPx*ba3uc!yIb zf-FnHfaTqm8Ss>q7j*0OVU4StFZ$j|_NzXfW}g%hYY*yt=kr+PkcKY(R|-vVstFSU z#sGWcOmJE2PW{AOAWw3)P)>0vJgn$oU?V|zE@pXcUrs`W=y+rwb&@#TB1T#eE5_Wi zer+^j_L%qYN3E#>Od4n!CkxG_jqGP%3gtM2;O8&RkJ68*6V3-XZZQxa#2iGcT<>`r za$pSuY+$T=Q5|TYeD$FEx1@};>sO5VqpCt{TS^&odwekY*Jo|%6}@D+N!l!l@V>e6 z6Z0M_G^!E!7@=U{iu%D%<1z{f;N65x(CpJj8;TBOVhXYLf8M>)H=(e-@OOQLR>t{!9wb>PDz&6cn8f9u*^BrZzGj^I4& z$)b<=P=+qn0R`Io@QxkCM;X4Lwq*(TTC4vS$TmW)UY~l08WLVMHiP8`$|FG>XQi!2 zU)KoA*Nfq+^sIOHuyXKqKlCW}(Nqj{OjyBJTa#I4+e$&ERAgA;vw?bmAhO6wfD1zqJo#i3J+j+A}3s|#lX4cPo zVtX;In~M`!T7$N3MdR=2AHM%NVcCkz7ne2=0!#ll`iIt19{P!;L@Cu)f$2ZZ(K2PiQyQ^hHUYPi5 zdSSp1M~|D2k;!2n$v;e-n4E@QI>kVewz}=lIJDaY8Y~MXmbiJ~4yN|q=9Bjlr!Ju< zV{Q~b#b1I`NY{U8>A9QS7#{ItwWhp$!P9`E&D&e6GP%Ex#8{B5;CO6em2i`@ji;C^ z2Vg9-qD8<-2b4@}6f}9Y$}1FQ*~1zHF=1B(zP%EwW=Gh?PJ~o*|lYK;d=cL>ha9 zKE&tjL2T>5Wr1gbZOLHzs(ge9#9ip{vw6UCgh1iTAVE#QVZEKSxMI#-!5GZieCG1; z-GRcJk^Z=TFxtp>#eHG#G8qGOKB;zbg{WiOND+r~`G+|NKUV8r~Ero|Y(=nSke4bVtVvIlG?WL>HN5v1sl;<{LEs>YC$d3LRHxjT)Iq)y20qemOe;~ zj&{{YZRt>-2d;dypmrCfooe>B63ue^e4nL&5RVb`g)kf~-szr*sC9}j#YOM($wZwu zq9jz1x+#2b2q7#Cn+}-Dy7vGT44Gv7psyW>$)5cILYO+wCd~$7`ya=vq|X6a@=@@#|P#z zPM=`vWbTHYPL}12ozK4GYchN|*Y@~w-D*T~ZyD*JNt{*666 zaf`qXYf3KXpJ*W8sX0aIqb_+J~S`iDP z8ZY0I$RK)aq$gU%uH|;)M@{Kfa-HwH6sSa>fhHzewE?=b?fGvA?E)SXeHt(bt3dh7 z*8m1V1Ntk7_II(;DWX9GRR6mE`RqSm0e)GSSQyy5SR4F9_4AvbHRzvJKurR0NsD|C zpcR)9rT>TQpNJg>>FQYx;D#5#^;i7&XR!fP|0UD2vb5JRvHUAUZejip#?O0y)*yaX z0X0*=sPpfs&i~N-^W5S)qUkRH26({y-O-<9;s4U;nlUia{$&cCjqQIv^&f;9U;$t= zdSIYJBVZuBpX7j=5?~7U-%tH3>ZtcuWS`c^0MK|HdjowsQ){E&8{-ltI=2XTYzv@4 zfBAPm3oHxp&$-(F@%DbFMnlem1n0{%=-DwfkB40$N}ONO-&kaFTot@b3QxfLNo7`v3rN`mZiwOd;L$6yfs{I;(<^OJh{?`;LdH_Jke*x&3zXo9azX5QL1WE}3>Vgk= zfv;OI;q)5dKZmyc-UZw5Q1*HN;`+D012B8N2Kdk3ioXMFy1nzC188_M;_m>nk*@*% zv%u?j09{5Kd@+Cm$-(^&aQ^ib03*Zy%>%xBFKu%G5BLDlo7X&WO?wUS2T@ie$SdXs z00jLP6Up;m1N=b}sgMzkwgH+{{a>1tUH%KeAE>YV9IEOSfq)bSe{X+Z<*(F#)Fc=o ze6|fLAfN-i-vK%xKz=GRlO4k!T2Nbx1OdSZ1O%PF9U4_|%<04{kA@CQwLJV4C$rUQtf)$agPo38=>ph+;|yJEcz zKtTDnzXK$og1%znA2i7~zOru^z{KwfzXPNRzXte&CZ$aWs%<>KkNT1^&h2(vgRN<(Jx%{R#;|24AySq?n@q5jV}TTT-E|MOevfarjH08YrGH(;y|^#1_Y8M)N} literal 0 HcmV?d00001 diff --git a/pkg/files/file_factory.go b/pkg/files/file_factory.go index 00bd157..34f9e48 100644 --- a/pkg/files/file_factory.go +++ b/pkg/files/file_factory.go @@ -16,6 +16,7 @@ const ( Application = "application" Doc = "document" Text = "text" + Ebook = "ebook" ) // BuildFactory is a function responsible to return a FileFactory, diff --git a/pkg/files/files.go b/pkg/files/files.go index 308a033..dd3aa39 100644 --- a/pkg/files/files.go +++ b/pkg/files/files.go @@ -34,5 +34,6 @@ func SupportedFileTypes() map[string]string { "pdf": "document", "xlsx": "document", "csv": "document", + "epub": "ebook", } } From e16cac78a9703795c9f79b41a239e9b21fa66637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Tue, 3 Sep 2024 23:00:00 -0600 Subject: [PATCH 07/14] feat(ebooks): add epub to mobi --- pkg/files/ebooks/ebooks.go | 10 ++- pkg/files/ebooks/ebooks_test.go | 16 +++- pkg/files/ebooks/epub.go | 140 +++++++++++++++++++++++++++++++- pkg/files/files.go | 1 + 4 files changed, 161 insertions(+), 6 deletions(-) diff --git a/pkg/files/ebooks/ebooks.go b/pkg/files/ebooks/ebooks.go index 102b367..e0c9597 100644 --- a/pkg/files/ebooks/ebooks.go +++ b/pkg/files/ebooks/ebooks.go @@ -1,8 +1,14 @@ package ebooks const ( - PDF = "pdf" - EPUB = "epub" documentType = "document" + ebookType = "ebook" + + PDF = "pdf" + + EPUB = "epub" EpubMimeType = "epub+zip" + + MOBI = "mobi" + MobiMimeType = "x-mobipocket-ebook" ) diff --git a/pkg/files/ebooks/ebooks_test.go b/pkg/files/ebooks/ebooks_test.go index 3f2e855..8bf2e6b 100644 --- a/pkg/files/ebooks/ebooks_test.go +++ b/pkg/files/ebooks/ebooks_test.go @@ -37,9 +37,8 @@ func TestEbookTConvertTo(t *testing.T) { input input expected expected }{ - { - name: "pdf to epub", + name: "epub to pdf", input: input{ filename: "testdata/no-man-s-land.epub", mimetype: "application/epub+zip", @@ -51,6 +50,19 @@ func TestEbookTConvertTo(t *testing.T) { mimetype: "application/zip", }, }, + { + name: "epub to mobi", + input: input{ + filename: "testdata/no-man-s-land.epub", + mimetype: "application/epub+zip", + targetFileType: "Ebook", + targetFormat: "mobi", + ebook: NewEpub("no-man-s-land.epub"), + }, + expected: expected{ + mimetype: "application/zip", + }, + }, } for _, tc := range tests { tc := tc diff --git a/pkg/files/ebooks/epub.go b/pkg/files/ebooks/epub.go index cdc23ef..b4f33b9 100644 --- a/pkg/files/ebooks/epub.go +++ b/pkg/files/ebooks/epub.go @@ -31,11 +31,17 @@ func NewEpub(filename string) Epub { "Document": { documents.PDF, }, + "Ebook": { + MOBI, + }, }, compatibleMIMETypes: map[string][]string{ "Document": { documents.PDF, }, + "Ebook": { + MOBI, + }, }, } @@ -110,7 +116,7 @@ func (e Epub) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, er ) // Parse the output file name. - outputEpubFilename := fmt.Sprintf( + outputPdfFilename := fmt.Sprintf( "%s.%s", strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), PDF, @@ -179,7 +185,137 @@ func (e Epub) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, er zipWriter := zip.NewWriter(archive) // Adds the image to the zip file. - w1, err := zipWriter.Create(outputEpubFilename) + w1, err := zipWriter.Create(outputPdfFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the docx file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil + } + case ebookType: + switch subtype { + case MOBI: + // Create a temporary empty file where the input is gonna be stored. + tmpInputEpub, err := os.CreateTemp("", fmt.Sprintf("*.%s", EPUB)) + if err != nil { + return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + } + defer os.Remove(tmpInputEpub.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputEpub.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary pdf file", + ) + } + + if err := tmpInputEpub.Close(); err != nil { + return nil, err + } + + mobiFileName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputEpub.Name(), filepath.Ext(tmpInputEpub.Name())), + MOBI, + ) + + // Parses the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), + ) + + // Parse the output file name. + outputMobiFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), + MOBI, + ) + + cmd := exec.Command("ebook-convert", tmpInputEpub.Name(), mobiFileName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(mobiFileName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the epub file: %w", + err, + ) + } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputMobiFilename) if err != nil { return nil, fmt.Errorf( "error creating the zip writer: %w", diff --git a/pkg/files/files.go b/pkg/files/files.go index dd3aa39..4cb22c6 100644 --- a/pkg/files/files.go +++ b/pkg/files/files.go @@ -35,5 +35,6 @@ func SupportedFileTypes() map[string]string { "xlsx": "document", "csv": "document", "epub": "ebook", + "mobi": "ebook", } } From e9715817c0b7bdb5c0407c42a6684bad87b620da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Wed, 4 Sep 2024 22:49:58 -0600 Subject: [PATCH 08/14] feat(ebooks): add support for mobi to epub --- pkg/files/document_factory.go | 2 + pkg/files/ebooks/ebooks_test.go | 13 ++ pkg/files/ebooks/mobi.go | 214 +++++++++++++++++++++++ pkg/files/ebooks/testdata/basilleja.mobi | Bin 0 -> 203818 bytes 4 files changed, 229 insertions(+) create mode 100644 pkg/files/ebooks/mobi.go create mode 100644 pkg/files/ebooks/testdata/basilleja.mobi diff --git a/pkg/files/document_factory.go b/pkg/files/document_factory.go index 89a8766..03b6bda 100644 --- a/pkg/files/document_factory.go +++ b/pkg/files/document_factory.go @@ -31,6 +31,8 @@ func (d *DocumentFactory) NewFile(f string) (File, error) { return documents.NewCsv(d.filename), nil case ebooks.EpubMimeType, ebooks.EPUB: return ebooks.NewEpub(d.filename), nil + case ebooks.MobiMimeType, ebooks.MOBI: + return ebooks.NewMobi(d.filename), nil default: return nil, fmt.Errorf("type file %s not recognized", f) } diff --git a/pkg/files/ebooks/ebooks_test.go b/pkg/files/ebooks/ebooks_test.go index 8bf2e6b..f62486a 100644 --- a/pkg/files/ebooks/ebooks_test.go +++ b/pkg/files/ebooks/ebooks_test.go @@ -63,6 +63,19 @@ func TestEbookTConvertTo(t *testing.T) { mimetype: "application/zip", }, }, + { + name: "mobi to epub", + input: input{ + filename: "testdata/basilleja.mobi", + mimetype: "application/x-mobipocket-ebook", + targetFileType: "Ebook", + targetFormat: "epub", + ebook: NewMobi("basilleja.mobi"), + }, + expected: expected{ + mimetype: "application/zip", + }, + }, } for _, tc := range tests { tc := tc diff --git a/pkg/files/ebooks/mobi.go b/pkg/files/ebooks/mobi.go new file mode 100644 index 0000000..711e52b --- /dev/null +++ b/pkg/files/ebooks/mobi.go @@ -0,0 +1,214 @@ +package ebooks + +import ( + "archive/zip" + "bufio" + "bytes" + "errors" + "fmt" + "io" + "log" + "os" + "os/exec" + "path/filepath" + "slices" + "strings" +) + +type Mobi struct { + filename string + compatibleFormats map[string][]string + compatibleMIMETypes map[string][]string +} + +func NewMobi(filename string) Mobi { + m := Mobi{ + filename: filename, + compatibleFormats: map[string][]string{ + "Ebook": { + EPUB, + }, + }, + compatibleMIMETypes: map[string][]string{ + "Ebook": { + EPUB, + }, + }, + } + + return m +} + +// SupportedFormats returns a map witht the compatible formats that MOBI is +// compatible to be converted to. +func (m Mobi) SupportedFormats() map[string][]string { + return m.compatibleFormats +} + +// SupportedMIMETypes returns a map witht the compatible MIME types that MOBI is +// compatible to be converted to. +func (m Mobi) SupportedMIMETypes() map[string][]string { + return m.compatibleMIMETypes +} + +func (m Mobi) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, error) { + // These are guard clauses that check if the target file type is valid. + compatibleFormats, ok := m.SupportedFormats()[fileType] + if !ok { + return nil, fmt.Errorf("ConvertTo: file type not supported: %s", fileType) + } + + if !slices.Contains(compatibleFormats, subtype) { + return nil, fmt.Errorf("ConvertTo: file sub-type not supported: %s", subtype) + } + + buf := new(bytes.Buffer) + if _, err := buf.ReadFrom(file); err != nil { + return nil, fmt.Errorf( + "error getting the content of the pdf file in form of slice of bytes: %w", + err, + ) + } + + fileBytes := buf.Bytes() + + switch strings.ToLower(fileType) { + case ebookType: + switch subtype { + case EPUB: + // Create a temporary empty file where the input is gonna be stored. + tmpInputMobi, err := os.CreateTemp("", fmt.Sprintf("*.%s", MOBI)) + if err != nil { + return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + } + defer os.Remove(tmpInputMobi.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputMobi.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary pdf file", + ) + } + + if err := tmpInputMobi.Close(); err != nil { + return nil, err + } + + epubFileName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputMobi.Name(), filepath.Ext(tmpInputMobi.Name())), + EPUB, + ) + + // Parses the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), + ) + + // Parse the output file name. + outputEpubFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), + EPUB, + ) + + cmd := exec.Command("ebook-convert", tmpInputMobi.Name(), epubFileName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(epubFileName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the epub file: %w", + err, + ) + } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputEpubFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the epub file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil + } + } + + return nil, errors.New("file format not implemented") +} + +// EbookType returns the Ebook type which is MOBI in this case. +func (m Mobi) EbookType() string { + return EPUB +} diff --git a/pkg/files/ebooks/testdata/basilleja.mobi b/pkg/files/ebooks/testdata/basilleja.mobi new file mode 100644 index 0000000000000000000000000000000000000000..2003852f8294bdd73de9e60809f8605b9d8d6213 GIT binary patch literal 203818 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 LTfRQ0F*E!JRr3+& literal 0 HcmV?d00001 From 67fcabc6698f889ea5b801f77d82445222b57c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Wed, 4 Sep 2024 23:25:00 -0600 Subject: [PATCH 09/14] feat(ebooks): add support for mobi to pdf --- pkg/files/ebooks/mobi.go | 144 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 141 insertions(+), 3 deletions(-) diff --git a/pkg/files/ebooks/mobi.go b/pkg/files/ebooks/mobi.go index 711e52b..b588116 100644 --- a/pkg/files/ebooks/mobi.go +++ b/pkg/files/ebooks/mobi.go @@ -13,6 +13,8 @@ import ( "path/filepath" "slices" "strings" + + "github.com/danvergara/morphos/pkg/files/documents" ) type Mobi struct { @@ -25,13 +27,19 @@ func NewMobi(filename string) Mobi { m := Mobi{ filename: filename, compatibleFormats: map[string][]string{ + "Document": { + documents.PDF, + }, "Ebook": { EPUB, }, }, compatibleMIMETypes: map[string][]string{ + "Document": { + documents.PDF, + }, "Ebook": { - EPUB, + EpubMimeType, }, }, } @@ -73,20 +81,150 @@ func (m Mobi) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, er fileBytes := buf.Bytes() switch strings.ToLower(fileType) { + case documentType: + switch subtype { + case PDF: + // Create a temporary empty file where the input is gonna be stored. + tmpInputMobi, err := os.CreateTemp("", fmt.Sprintf("*.%s", MOBI)) + if err != nil { + return nil, fmt.Errorf("error creating temporary mobi file: %w", err) + } + defer os.Remove(tmpInputMobi.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputMobi.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary mobi file", + ) + } + + if err := tmpInputMobi.Close(); err != nil { + return nil, err + } + + pdfFileName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputMobi.Name(), filepath.Ext(tmpInputMobi.Name())), + PDF, + ) + + // Parses the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), + ) + + // Parse the output file name. + outputPdfFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), + PDF, + ) + + cmd := exec.Command("ebook-convert", tmpInputMobi.Name(), pdfFileName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(pdfFileName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the epub file: %w", + err, + ) + } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputPdfFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the pdf file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil + } case ebookType: switch subtype { case EPUB: // Create a temporary empty file where the input is gonna be stored. tmpInputMobi, err := os.CreateTemp("", fmt.Sprintf("*.%s", MOBI)) if err != nil { - return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + return nil, fmt.Errorf("error creating temporary mobi file: %w", err) } defer os.Remove(tmpInputMobi.Name()) // Write the content of the input pdf into the temporary file. if _, err = tmpInputMobi.Write(fileBytes); err != nil { return nil, fmt.Errorf( - "error writting the input reader to the temporary pdf file", + "error writting the input reader to the temporary mobi file", ) } From cbd33987e01609792802e34703e75899a34c94f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Thu, 5 Sep 2024 19:02:37 -0600 Subject: [PATCH 10/14] feat(documents): add support for pdf to mobi --- pkg/files/documents/documents.go | 3 + pkg/files/documents/documents_test.go | 13 +++ pkg/files/documents/pdf.go | 139 +++++++++++++++++++++++++- pkg/files/ebooks/epub.go | 2 +- 4 files changed, 154 insertions(+), 3 deletions(-) diff --git a/pkg/files/documents/documents.go b/pkg/files/documents/documents.go index 7e0115a..f5d11fd 100644 --- a/pkg/files/documents/documents.go +++ b/pkg/files/documents/documents.go @@ -11,6 +11,9 @@ const ( EpubMimeType = "epub+zip" EPUB = "epub" + MOBI = "mobi" + MobiMimeType = "x-mobipocket-ebook" + imageMimeType = "image/" imageType = "image" diff --git a/pkg/files/documents/documents_test.go b/pkg/files/documents/documents_test.go index 9c87654..c44c821 100644 --- a/pkg/files/documents/documents_test.go +++ b/pkg/files/documents/documents_test.go @@ -38,6 +38,19 @@ func TestPDFTConvertTo(t *testing.T) { input input expected expected }{ + { + name: "pdf to mobi", + input: input{ + filename: "testdata/bitcoin.pdf", + mimetype: "application/pdf", + targetFileType: "Ebook", + targetFormat: "mobi", + documenter: documents.NewPdf("bitcoin.pdf"), + }, + expected: expected{ + mimetype: "application/zip", + }, + }, { name: "pdf to epub", input: input{ diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index e5fbac7..34dff69 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -52,6 +52,7 @@ func NewPdf(filename string) Pdf { }, "Ebook": { EPUB, + MOBI, }, }, compatibleMIMETypes: map[string][]string{ @@ -66,10 +67,10 @@ func NewPdf(filename string) Pdf { }, "Document": { DOCXMIMEType, - EpubMimeType, }, "Ebook": { EpubMimeType, + MobiMimeType, }, }, } @@ -110,6 +111,7 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err err, ) } + fileBytes := buf.Bytes() // If the file type is valid, figures out how to go ahead. @@ -514,7 +516,140 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err if _, err := io.Copy(w1, cf); err != nil { return nil, fmt.Errorf( - "error at writing the docx file content to the zip writer: %w", + "error at writing the epub file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil + case MOBI: + // Create a temporary empty file where the input pdf is gonna be stored. + tmpInputPDF, err := os.Create( + fmt.Sprintf( + "/tmp/%s.%s", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + PDF, + ), + ) + if err != nil { + return nil, fmt.Errorf("error creating temporary pdf file: %w", err) + } + defer os.Remove(tmpInputPDF.Name()) + + // Write the content of the input pdf into the temporary file. + if _, err = tmpInputPDF.Write(fileBytes); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary pdf file", + ) + } + + if err := tmpInputPDF.Close(); err != nil { + return nil, err + } + + mobiName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputPDF.Name(), filepath.Ext(tmpInputPDF.Name())), + MOBI, + ) + + cmd := exec.Command("ebook-convert", tmpInputPDF.Name(), mobiName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(mobiName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Parse the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + ) + + // Parse the output file name. + outputMobiFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), + MOBI, + ) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the mobi file: %w", + err, + ) + } + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputMobiFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the epub file content to the zip writer: %w", err, ) } diff --git a/pkg/files/ebooks/epub.go b/pkg/files/ebooks/epub.go index b4f33b9..7476048 100644 --- a/pkg/files/ebooks/epub.go +++ b/pkg/files/ebooks/epub.go @@ -40,7 +40,7 @@ func NewEpub(filename string) Epub { documents.PDF, }, "Ebook": { - MOBI, + MobiMimeType, }, }, } From e1cadb03abed69905a498d595f80130677766cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Thu, 5 Sep 2024 22:04:09 -0600 Subject: [PATCH 11/14] refactor(files): refactor the methods that call the ebook-converter binary by creating a new fuctions --- pkg/files/documents/pdf.go | 267 +------------------------------------ pkg/files/ebooks/epub.go | 261 +----------------------------------- pkg/files/ebooks/mobi.go | 261 +----------------------------------- pkg/util/util.go | 158 ++++++++++++++++++++++ 4 files changed, 167 insertions(+), 780 deletions(-) create mode 100644 pkg/util/util.go diff --git a/pkg/files/documents/pdf.go b/pkg/files/documents/pdf.go index 34dff69..69adb9f 100644 --- a/pkg/files/documents/pdf.go +++ b/pkg/files/documents/pdf.go @@ -2,7 +2,6 @@ package documents import ( "archive/zip" - "bufio" "bytes" "errors" "fmt" @@ -23,6 +22,7 @@ import ( "golang.org/x/image/tiff" "github.com/danvergara/morphos/pkg/files/images" + "github.com/danvergara/morphos/pkg/util" ) // Pdf struct implements the File and Document interface from the file package. @@ -401,270 +401,9 @@ func (p Pdf) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, err case ebookType: switch subType { case EPUB: - // Create a temporary empty file where the input pdf is gonna be stored. - tmpInputPDF, err := os.Create( - fmt.Sprintf( - "/tmp/%s.%s", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - PDF, - ), - ) - if err != nil { - return nil, fmt.Errorf("error creating temporary pdf file: %w", err) - } - defer os.Remove(tmpInputPDF.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputPDF.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary pdf file", - ) - } - - if err := tmpInputPDF.Close(); err != nil { - return nil, err - } - - epubName := fmt.Sprintf( - "%s.epub", - strings.TrimSuffix(tmpInputPDF.Name(), filepath.Ext(tmpInputPDF.Name())), - ) - - cmd := exec.Command("ebook-convert", tmpInputPDF.Name(), epubName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(epubName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Parse the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - ) - - // Parse the output file name. - outputEpubFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - EPUB, - ) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the pdf file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputEpubFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the epub file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(p.filename, PDF, EPUB, fileBytes) case MOBI: - // Create a temporary empty file where the input pdf is gonna be stored. - tmpInputPDF, err := os.Create( - fmt.Sprintf( - "/tmp/%s.%s", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - PDF, - ), - ) - if err != nil { - return nil, fmt.Errorf("error creating temporary pdf file: %w", err) - } - defer os.Remove(tmpInputPDF.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputPDF.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary pdf file", - ) - } - - if err := tmpInputPDF.Close(); err != nil { - return nil, err - } - - mobiName := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(tmpInputPDF.Name(), filepath.Ext(tmpInputPDF.Name())), - MOBI, - ) - - cmd := exec.Command("ebook-convert", tmpInputPDF.Name(), mobiName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(mobiName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Parse the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - ) - - // Parse the output file name. - outputMobiFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(p.filename, filepath.Ext(p.filename)), - MOBI, - ) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the mobi file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputMobiFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the epub file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(p.filename, PDF, MOBI, fileBytes) } } diff --git a/pkg/files/ebooks/epub.go b/pkg/files/ebooks/epub.go index 7476048..dd32bd8 100644 --- a/pkg/files/ebooks/epub.go +++ b/pkg/files/ebooks/epub.go @@ -1,20 +1,15 @@ package ebooks import ( - "archive/zip" - "bufio" "bytes" "errors" "fmt" "io" - "log" - "os" - "os/exec" - "path/filepath" "slices" "strings" "github.com/danvergara/morphos/pkg/files/documents" + "github.com/danvergara/morphos/pkg/util" ) // Epub struct implements the File and Document interface from the file package. @@ -85,262 +80,12 @@ func (e Epub) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, er case documentType: switch subtype { case PDF: - // Create a temporary empty file where the input is gonna be stored. - tmpInputEpub, err := os.CreateTemp("", fmt.Sprintf("*.%s", EPUB)) - if err != nil { - return nil, fmt.Errorf("error creating temporary pdf file: %w", err) - } - defer os.Remove(tmpInputEpub.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputEpub.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary pdf file", - ) - } - - if err := tmpInputEpub.Close(); err != nil { - return nil, err - } - - pdfFileName := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(tmpInputEpub.Name(), filepath.Ext(tmpInputEpub.Name())), - PDF, - ) - - // Parses the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), - ) - - // Parse the output file name. - outputPdfFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), - PDF, - ) - - cmd := exec.Command("ebook-convert", tmpInputEpub.Name(), pdfFileName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(pdfFileName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the epub file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputPdfFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the docx file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(e.filename, EPUB, PDF, fileBytes) } case ebookType: switch subtype { case MOBI: - // Create a temporary empty file where the input is gonna be stored. - tmpInputEpub, err := os.CreateTemp("", fmt.Sprintf("*.%s", EPUB)) - if err != nil { - return nil, fmt.Errorf("error creating temporary pdf file: %w", err) - } - defer os.Remove(tmpInputEpub.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputEpub.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary pdf file", - ) - } - - if err := tmpInputEpub.Close(); err != nil { - return nil, err - } - - mobiFileName := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(tmpInputEpub.Name(), filepath.Ext(tmpInputEpub.Name())), - MOBI, - ) - - // Parses the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), - ) - - // Parse the output file name. - outputMobiFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(e.filename, filepath.Ext(e.filename)), - MOBI, - ) - - cmd := exec.Command("ebook-convert", tmpInputEpub.Name(), mobiFileName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(mobiFileName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the epub file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputMobiFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the docx file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(e.filename, EPUB, MOBI, fileBytes) } } diff --git a/pkg/files/ebooks/mobi.go b/pkg/files/ebooks/mobi.go index b588116..534ca21 100644 --- a/pkg/files/ebooks/mobi.go +++ b/pkg/files/ebooks/mobi.go @@ -1,20 +1,15 @@ package ebooks import ( - "archive/zip" - "bufio" "bytes" "errors" "fmt" "io" - "log" - "os" - "os/exec" - "path/filepath" "slices" "strings" "github.com/danvergara/morphos/pkg/files/documents" + "github.com/danvergara/morphos/pkg/util" ) type Mobi struct { @@ -84,262 +79,12 @@ func (m Mobi) ConvertTo(fileType, subtype string, file io.Reader) (io.Reader, er case documentType: switch subtype { case PDF: - // Create a temporary empty file where the input is gonna be stored. - tmpInputMobi, err := os.CreateTemp("", fmt.Sprintf("*.%s", MOBI)) - if err != nil { - return nil, fmt.Errorf("error creating temporary mobi file: %w", err) - } - defer os.Remove(tmpInputMobi.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputMobi.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary mobi file", - ) - } - - if err := tmpInputMobi.Close(); err != nil { - return nil, err - } - - pdfFileName := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(tmpInputMobi.Name(), filepath.Ext(tmpInputMobi.Name())), - PDF, - ) - - // Parses the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), - ) - - // Parse the output file name. - outputPdfFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), - PDF, - ) - - cmd := exec.Command("ebook-convert", tmpInputMobi.Name(), pdfFileName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(pdfFileName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the epub file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputPdfFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the pdf file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(m.filename, MOBI, PDF, fileBytes) } case ebookType: switch subtype { case EPUB: - // Create a temporary empty file where the input is gonna be stored. - tmpInputMobi, err := os.CreateTemp("", fmt.Sprintf("*.%s", MOBI)) - if err != nil { - return nil, fmt.Errorf("error creating temporary mobi file: %w", err) - } - defer os.Remove(tmpInputMobi.Name()) - - // Write the content of the input pdf into the temporary file. - if _, err = tmpInputMobi.Write(fileBytes); err != nil { - return nil, fmt.Errorf( - "error writting the input reader to the temporary mobi file", - ) - } - - if err := tmpInputMobi.Close(); err != nil { - return nil, err - } - - epubFileName := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(tmpInputMobi.Name(), filepath.Ext(tmpInputMobi.Name())), - EPUB, - ) - - // Parses the file name of the Zip file. - zipFileName := fmt.Sprintf( - "%s.zip", - strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), - ) - - // Parse the output file name. - outputEpubFilename := fmt.Sprintf( - "%s.%s", - strings.TrimSuffix(m.filename, filepath.Ext(m.filename)), - EPUB, - ) - - cmd := exec.Command("ebook-convert", tmpInputMobi.Name(), epubFileName) - - // Capture stdout. - stdout, err := cmd.StdoutPipe() - if err != nil { - return nil, err - } - - // Capture stderr. - stderr, err := cmd.StderrPipe() - if err != nil { - return nil, err - } - - // Start the command. - if err := cmd.Start(); err != nil { - return nil, err - } - // Create readers to read stdout and stderr. - stdoutScanner := bufio.NewScanner(stdout) - stderrScanner := bufio.NewScanner(stderr) - - // Read stdout line by line. - go func() { - for stdoutScanner.Scan() { - log.Println("STDOUT:", stdoutScanner.Text()) - } - }() - - // Read stderr line by line. - go func() { - for stderrScanner.Scan() { - log.Println("STDERR:", stderrScanner.Text()) - } - }() - - // Wait for the command to finish. - if err := cmd.Wait(); err != nil { - return nil, err - } - - // Open the converted file to get the bytes out of it, - // and then turning them into a io.Reader. - cf, err := os.Open(epubFileName) - if err != nil { - return nil, err - } - defer os.Remove(cf.Name()) - - // Creates the zip file that will be returned. - archive, err := os.CreateTemp("", zipFileName) - if err != nil { - return nil, fmt.Errorf( - "error at creating the zip file to store the epub file: %w", - err, - ) - } - defer os.Remove(archive.Name()) - - // Creates a Zip Writer to add files later on. - zipWriter := zip.NewWriter(archive) - - // Adds the image to the zip file. - w1, err := zipWriter.Create(outputEpubFilename) - if err != nil { - return nil, fmt.Errorf( - "error creating the zip writer: %w", - err, - ) - } - - if _, err := io.Copy(w1, cf); err != nil { - return nil, fmt.Errorf( - "error at writing the epub file content to the zip writer: %w", - err, - ) - } - - // Closes both zip writer and the zip file after its done with the writing. - zipWriter.Close() - archive.Close() - - // Reads the zip file as an slice of bytes. - zipFile, err := os.ReadFile(archive.Name()) - if err != nil { - return nil, fmt.Errorf("error reading zip file: %v", err) - } - - return bytes.NewReader(zipFile), nil + return util.EbookConvert(m.filename, MOBI, EPUB, fileBytes) } } diff --git a/pkg/util/util.go b/pkg/util/util.go new file mode 100644 index 0000000..1bbf1a5 --- /dev/null +++ b/pkg/util/util.go @@ -0,0 +1,158 @@ +package util + +import ( + "archive/zip" + "bufio" + "bytes" + "fmt" + "io" + "log" + "os" + "os/exec" + "path/filepath" + "strings" +) + +// EbookConvert calls the ebook-convert binary from the Calibre project. +// It receives a inpunt format which is the format of the file passed to be converted, +// and a target format which is the the format that the file is going to be converted to. +// The function also receives the input file as an slice of bytes, which is the file that is +// going to be converted. +func EbookConvert(filename, inputFormat, outputFormat string, inputFile []byte) (io.Reader, error) { + tmpInputFile, err := os.Create( + fmt.Sprintf( + "/tmp/%s.%s", + strings.TrimSuffix(filename, filepath.Ext(filename)), + inputFormat, + ), + ) + if err != nil { + return nil, fmt.Errorf("error creating temporary file: %w", err) + } + + defer os.Remove(tmpInputFile.Name()) + + // Write the content of the input file into the temporary file. + if _, err = tmpInputFile.Write(inputFile); err != nil { + return nil, fmt.Errorf( + "error writting the input reader to the temporary file", + ) + } + if err := tmpInputFile.Close(); err != nil { + return nil, err + } + + // Parse the name of the output file. + tmpOutputFileName := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(tmpInputFile.Name(), filepath.Ext(tmpInputFile.Name())), + outputFormat, + ) + + // run the ebook-convert command with the input file and the name of the output file. + cmd := exec.Command("ebook-convert", tmpInputFile.Name(), tmpOutputFileName) + + // Capture stdout. + stdout, err := cmd.StdoutPipe() + if err != nil { + return nil, err + } + + // Capture stderr. + stderr, err := cmd.StderrPipe() + if err != nil { + return nil, err + } + + // Start the command. + if err := cmd.Start(); err != nil { + return nil, err + } + + // Create readers to read stdout and stderr. + stdoutScanner := bufio.NewScanner(stdout) + stderrScanner := bufio.NewScanner(stderr) + + // Read stdout line by line. + go func() { + for stdoutScanner.Scan() { + log.Println("STDOUT:", stdoutScanner.Text()) + } + }() + + // Read stderr line by line. + go func() { + for stderrScanner.Scan() { + log.Println("STDERR:", stderrScanner.Text()) + } + }() + + // Wait for the command to finish. + if err := cmd.Wait(); err != nil { + return nil, err + } + + // Open the converted file to get the bytes out of it, + // and then turning them into a io.Reader. + cf, err := os.Open(tmpOutputFileName) + if err != nil { + return nil, err + } + defer os.Remove(cf.Name()) + + // Parse the file name of the Zip file. + zipFileName := fmt.Sprintf( + "%s.zip", + strings.TrimSuffix(filename, filepath.Ext(filename)), + ) + + // Parse the output file name. + outputFilename := fmt.Sprintf( + "%s.%s", + strings.TrimSuffix(filename, filepath.Ext(filename)), + outputFormat, + ) + + // Creates the zip file that will be returned. + archive, err := os.CreateTemp("", zipFileName) + if err != nil { + return nil, fmt.Errorf( + "error at creating the zip file to store the file: %w", + err, + ) + } + + defer os.Remove(archive.Name()) + + // Creates a Zip Writer to add files later on. + zipWriter := zip.NewWriter(archive) + + // Adds the image to the zip file. + w1, err := zipWriter.Create(outputFilename) + if err != nil { + return nil, fmt.Errorf( + "error creating the zip writer: %w", + err, + ) + } + + // Copy the content of the converted file to the zip file. + if _, err := io.Copy(w1, cf); err != nil { + return nil, fmt.Errorf( + "error at writing the file content to the zip writer: %w", + err, + ) + } + + // Closes both zip writer and the zip file after its done with the writing. + zipWriter.Close() + archive.Close() + + // Reads the zip file as an slice of bytes. + zipFile, err := os.ReadFile(archive.Name()) + if err != nil { + return nil, fmt.Errorf("error reading zip file: %v", err) + } + + return bytes.NewReader(zipFile), nil +} From ed4860d7c094e2f9769280f1d67af743cf199f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Thu, 5 Sep 2024 22:06:13 -0600 Subject: [PATCH 12/14] refactor(csv): add small changes to the csv file --- pkg/files/documents/csv.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkg/files/documents/csv.go b/pkg/files/documents/csv.go index c65187c..674a4a0 100644 --- a/pkg/files/documents/csv.go +++ b/pkg/files/documents/csv.go @@ -82,7 +82,9 @@ func (c *Csv) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er reader := csv.NewReader(file) xlsxFile := xlsx.NewFile() - sheet, err := xlsxFile.AddSheet(strings.TrimSuffix(c.filename, filepath.Ext(c.filename))) + sheet, err := xlsxFile.AddSheet( + strings.TrimSuffix(c.filename, filepath.Ext(c.filename)), + ) if err != nil { return nil, fmt.Errorf("error creating a xlsx sheet %w", err) } @@ -100,7 +102,12 @@ func (c *Csv) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er } } - xlsxFile.Save(xlsxPath) + if err := xlsxFile.Save(xlsxPath); err != nil { + return nil, fmt.Errorf( + "error at saving the temporary csv file: %w", + err, + ) + } tmpCsvFile, err := os.Open(xlsxPath) if err != nil { @@ -109,7 +116,7 @@ func (c *Csv) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er err, ) } - defer tmpCsvFile.Close() + defer os.Remove(tmpCsvFile.Name()) // Creates the zip file that will be returned. archive, err := os.Create(zipFileName) @@ -119,6 +126,7 @@ func (c *Csv) ConvertTo(fileType, subType string, file io.Reader) (io.Reader, er err, ) } + defer os.Remove(archive.Name()) // Creates a Zip Writer to add files later on. zipWriter := zip.NewWriter(archive) From b9d10726bee3312a4bd9d5fe2d761c870e7eeaa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Thu, 5 Sep 2024 22:07:06 -0600 Subject: [PATCH 13/14] docs(main): add more doc comments to the main file --- main.go | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index dbc77a0..ca7a23b 100644 --- a/main.go +++ b/main.go @@ -136,7 +136,7 @@ func handleUploadFile(w http.ResponseWriter, r *http.Request) error { err error ) - // parse and validate file and post parameters. + // Parse and validate file and post parameters. file, fileHeader, err := r.FormFile(uploadFileFormField) if err != nil { log.Printf("error ocurred getting file from form: %v", err) @@ -144,42 +144,52 @@ func handleUploadFile(w http.ResponseWriter, r *http.Request) error { } defer file.Close() + // Get the content of the file in form of a slice of bytes. fileBytes, err := io.ReadAll(file) if err != nil { log.Printf("error ocurred reading file: %v", err) return WithHTTPStatus(err, http.StatusBadRequest) } + // Get the sub-type of the input file from the form. targetFileSubType := r.FormValue("input_format") + // Call Detect fuction to get the mimetype of the input file. detectedFileType := mimetype.Detect(fileBytes) + // Parse the mimetype to get the type and the sub-type of the input file. fileType, subType, err := files.TypeAndSupType(detectedFileType.String()) if err != nil { log.Printf("error occurred getting type and subtype from mimetype: %v", err) return WithHTTPStatus(err, http.StatusBadRequest) } + // Get the right factory based off the input file type. fileFactory, err := files.BuildFactory(fileType, fileHeader.Filename) if err != nil { log.Printf("error occurred while getting a file factory: %v", err) return WithHTTPStatus(err, http.StatusBadRequest) } + // Returns an object that implements the File interface based on the sub-type of the input file. f, err := fileFactory.NewFile(subType) if err != nil { log.Printf("error occurred getting the file object: %v", err) return WithHTTPStatus(err, http.StatusBadRequest) } + // Return the kind of the output file. targetFileType := files.SupportedFileTypes()[targetFileSubType] + + // Convert the file to the target format. + // convertedFile is an io.Reader. convertedFile, err = f.ConvertTo( cases.Title(language.English).String(targetFileType), targetFileSubType, bytes.NewReader(fileBytes), ) if err != nil { - log.Printf("error ocurred while converting image %v", err) + log.Printf("error ocurred while processing the input file: %v", err) return WithHTTPStatus(err, http.StatusInternalServerError) } @@ -193,18 +203,20 @@ func handleUploadFile(w http.ResponseWriter, r *http.Request) error { newFile, err := os.Create(convertedFilePath) if err != nil { - log.Printf("error occurred converting file: %v", err) + log.Printf("error occurred while creating the output file: %v", err) return WithHTTPStatus(err, http.StatusInternalServerError) } defer newFile.Close() buf := new(bytes.Buffer) if _, err := buf.ReadFrom(convertedFile); err != nil { + log.Printf("error occurred while readinf from the converted file: %v", err) + return WithHTTPStatus(err, http.StatusInternalServerError) } convertedFileBytes := buf.Bytes() if _, err := newFile.Write(convertedFileBytes); err != nil { - log.Printf("error occurred writing file: %v", err) + log.Printf("error occurred writing converted output to a file in disk: %v", err) return WithHTTPStatus(err, http.StatusInternalServerError) } From d1e1f96bd8b457b99e628a2647227a9be6ed185c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Omar=20Vergara=20P=C3=A9rez?= Date: Thu, 5 Sep 2024 22:07:40 -0600 Subject: [PATCH 14/14] docs(readme): add matrices to show the new file formats supported --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 7e87920..ed005ec 100644 --- a/README.md +++ b/README.md @@ -109,5 +109,29 @@ A modal will pop up with a preview of the converted image. | CSV | | | ✅ | | | XLSX | | | | ✅ | +## Ebooks X Ebooks + +| | MOBI | EPUB | +| ---- | ---- | --- | +| EPUB | ✅ | | +| MOBI | | ✅ | + + +## Documents X Ebooks + +| | EPUB | MOBI | +| ---- | ---- | --- | +| PDF | ✅ | ✅ | +| DOCX | | | +| CSV | | | +| XLSX | | | + +## Ebooks X Documents + +| | PDF | +| ---- | ---- | +| EPUB | ✅ | +| MOBI | ✅ | + ## License The MIT License (MIT). See [LICENSE](LICENSE) file for more details.