From 72b6fd01d7d4caf5dcb53e749696fe526de87711 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Thu, 28 May 2026 14:34:58 +0100 Subject: [PATCH 1/3] feat(coverletter-v2): migrate 14 cover letters to layered architecture Port all 14 cover-letter presets to the layered cv.v2 model under coverletter/v2: a CoverLetterDocument (reusing CvIdentity so a CV and its paired letter share one identity), a shared LetterBody renderer (the SectionDispatcher analog), and thin-orchestrator presets that read palette / typography from the paired CvTheme.() and mirror the CV's masthead -- so each letter reads as a matched set with its CV. - coverletter/v2/{data,components,presets} + package-infos - CoverLetterV2SmokeTest (parametrized) + CoverLetterV2VisualParityTest with 14 blessed baselines (coverletter-v2-layered) - 14 Cv*LetterV2Example mains + PdfRasterizer review utility - ExampleDataFactory.sample{CvIdentity,CoverLetterDocument}V2 - TextOrnaments.joinPipe shared helper (dedups masthead meta lines) --- .../examples/support/ExampleDataFactory.java | 58 +++- .../examples/support/PdfRasterizer.java | 50 +++ .../v2/CvBlueBannerLetterV2Example.java | 47 +++ .../v2/CvBoxedSectionsLetterV2Example.java | 47 +++ .../v2/CvCenteredHeadlineLetterV2Example.java | 47 +++ .../v2/CvClassicSerifLetterV2Example.java | 48 +++ .../v2/CvCompactMonoLetterV2Example.java | 48 +++ .../v2/CvEditorialBlueLetterV2Example.java | 48 +++ .../CvEngineeringResumeLetterV2Example.java | 48 +++ .../v2/CvExecutiveLetterV2Example.java | 51 +++ .../CvModernProfessionalLetterV2Example.java | 52 ++++ .../v2/CvMonogramSidebarLetterV2Example.java | 48 +++ .../v2/CvNordicCleanLetterV2Example.java | 48 +++ .../v2/CvPanelLetterV2Example.java | 47 +++ .../v2/CvSidebarPortraitLetterV2Example.java | 48 +++ .../v2/CvTimelineMinimalLetterV2Example.java | 48 +++ .../coverletter/v2/components/LetterBody.java | 123 ++++++++ .../v2/components/package-info.java | 10 + .../v2/data/CoverLetterDocument.java | 126 ++++++++ .../coverletter/v2/data/package-info.java | 10 + .../v2/presets/BlueBannerLetter.java | 98 ++++++ .../v2/presets/BoxedSectionsLetter.java | 103 ++++++ .../v2/presets/CenteredHeadlineLetter.java | 133 ++++++++ .../v2/presets/ClassicSerifLetter.java | 144 +++++++++ .../v2/presets/CompactMonoLetter.java | 163 ++++++++++ .../v2/presets/EditorialBlueLetter.java | 126 ++++++++ .../v2/presets/EngineeringResumeLetter.java | 230 ++++++++++++++ .../v2/presets/ExecutiveLetter.java | 220 +++++++++++++ .../v2/presets/ModernProfessionalLetter.java | 130 ++++++++ .../v2/presets/MonogramSidebarLetter.java | 261 ++++++++++++++++ .../v2/presets/NordicCleanLetter.java | 155 +++++++++ .../coverletter/v2/presets/PanelLetter.java | 231 ++++++++++++++ .../v2/presets/SidebarPortraitLetter.java | 160 ++++++++++ .../v2/presets/TimelineMinimalLetter.java | 294 ++++++++++++++++++ .../coverletter/v2/presets/package-info.java | 11 + .../cv/v2/components/TextOrnaments.java | 23 ++ .../v2/presets/CoverLetterV2SmokeTest.java | 100 ++++++ .../CoverLetterV2VisualParityTest.java | 156 ++++++++++ .../blue_banner-page-0.png | Bin 0 -> 26558 bytes .../boxed_sections-page-0.png | Bin 0 -> 32433 bytes .../centered_headline-page-0.png | Bin 0 -> 29919 bytes .../classic_serif-page-0.png | Bin 0 -> 34595 bytes .../compact_mono-page-0.png | Bin 0 -> 29451 bytes .../editorial_blue-page-0.png | Bin 0 -> 35145 bytes .../engineering_resume-page-0.png | Bin 0 -> 26855 bytes .../executive-page-0.png | Bin 0 -> 34863 bytes .../modern_professional-page-0.png | Bin 0 -> 36124 bytes .../monogram_sidebar-page-0.png | Bin 0 -> 39118 bytes .../nordic_clean-page-0.png | Bin 0 -> 26999 bytes .../coverletter-v2-layered/panel-page-0.png | Bin 0 -> 35659 bytes .../sidebar_portrait-page-0.png | Bin 0 -> 32969 bytes .../timeline_minimal-page-0.png | Bin 0 -> 30274 bytes 52 files changed, 3781 insertions(+), 9 deletions(-) create mode 100644 examples/src/main/java/com/demcha/examples/support/PdfRasterizer.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBlueBannerLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBoxedSectionsLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCenteredHeadlineLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvClassicSerifLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCompactMonoLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEditorialBlueLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEngineeringResumeLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvExecutiveLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvModernProfessionalLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvMonogramSidebarLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvNordicCleanLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvPanelLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvSidebarPortraitLetterV2Example.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvTimelineMinimalLetterV2Example.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/LetterBody.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/package-info.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/CoverLetterDocument.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/package-info.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BlueBannerLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BoxedSectionsLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CenteredHeadlineLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ClassicSerifLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CompactMonoLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EditorialBlueLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EngineeringResumeLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ExecutiveLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ModernProfessionalLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/MonogramSidebarLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/NordicCleanLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/SidebarPortraitLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/TimelineMinimalLetter.java create mode 100644 src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/package-info.java create mode 100644 src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2SmokeTest.java create mode 100644 src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2VisualParityTest.java create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/blue_banner-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/boxed_sections-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/centered_headline-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/classic_serif-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/compact_mono-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/editorial_blue-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/engineering_resume-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/executive-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/modern_professional-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/monogram_sidebar-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/nordic_clean-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/panel-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/sidebar_portrait-page-0.png create mode 100644 src/test/resources/visual-baselines/coverletter-v2-layered/timeline_minimal-page-0.png diff --git a/examples/src/main/java/com/demcha/examples/support/ExampleDataFactory.java b/examples/src/main/java/com/demcha/examples/support/ExampleDataFactory.java index c96d9b20..f1893ae6 100644 --- a/examples/src/main/java/com/demcha/examples/support/ExampleDataFactory.java +++ b/examples/src/main/java/com/demcha/examples/support/ExampleDataFactory.java @@ -9,6 +9,7 @@ import com.demcha.compose.document.templates.blocks.WorkHistoryBlock; import com.demcha.compose.document.templates.coverletter.spec.CoverLetterHeader; import com.demcha.compose.document.templates.coverletter.spec.CoverLetterSpec; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; import com.demcha.compose.document.templates.cv.spec.CvHeader; import com.demcha.compose.document.templates.cv.spec.CvModule; import com.demcha.compose.document.templates.cv.spec.CvSpec; @@ -451,6 +452,53 @@ public static CoverLetterHeader sampleCoverLetterHeaderV2() { // -- Templates v2 (cv/v2) sample data ------------------------------ + /** + * Returns the canonical Jordan Rivera identity shared by the v2 CV + * sample and the v2 cover-letter sample, so a CV and its paired + * letter render an identical masthead. + * + * @return sample v2 identity block + */ + public static CvIdentity sampleCvIdentityV2() { + return CvIdentity.builder() + .name("Jordan", "Rivera") + .jobTitle("Platform Engineer") + .contact("+44 20 5555 1000", + "jordan.rivera@example.com", + "London, UK") + .link("LinkedIn", "https://linkedin.com/in/jordan-rivera-demo") + .link("GitHub", "https://github.com/jrivera-demo") + .build(); + } + + /** + * Returns a sample {@code CoverLetterDocument} for the v2 + * cover-letter pipeline. Reuses {@link #sampleCvIdentityV2()} so the + * letter masthead matches the paired CV exactly; the greeting / body + * / closing reuse the canonical v2 cover-letter sample content. + * + * @return sample v2 cover letter document + */ + public static CoverLetterDocument sampleCoverLetterDocumentV2() { + return CoverLetterDocument.builder() + .identity(sampleCvIdentityV2()) + .greeting("Dear Hiring Team at **Northwind Systems**,") + .paragraph("I am excited to share my interest in the Senior " + + "Platform Engineer role. My recent work has focused " + + "on building **reusable document-generation systems** " + + "that balance public API design, render quality, and " + + "maintainability.") + .paragraph("I enjoy translating fuzzy workflow requirements into " + + "clear template abstractions, reliable test coverage, " + + "and examples that make adoption easier for the rest " + + "of the team.") + .paragraph("I would welcome the opportunity to bring that same " + + "mix of engineering rigor and product thinking to your " + + "platform group.") + .closing("Sincerely,") + .build(); + } + /** * Returns a sample {@code CvDocument} for the v2 CV pipeline — * the canonical Jordan Rivera content expressed in the v2 @@ -470,15 +518,7 @@ public static CoverLetterHeader sampleCoverLetterHeaderV2() { * @return sample v2 CV document */ public static CvDocument sampleCvDocumentV2() { - CvIdentity identity = CvIdentity.builder() - .name("Jordan", "Rivera") - .jobTitle("Platform Engineer") - .contact("+44 20 5555 1000", - "jordan.rivera@example.com", - "London, UK") - .link("LinkedIn", "https://linkedin.com/in/jordan-rivera-demo") - .link("GitHub", "https://github.com/jrivera-demo") - .build(); + CvIdentity identity = sampleCvIdentityV2(); ParagraphSection summary = new ParagraphSection( "Professional Summary", diff --git a/examples/src/main/java/com/demcha/examples/support/PdfRasterizer.java b/examples/src/main/java/com/demcha/examples/support/PdfRasterizer.java new file mode 100644 index 00000000..6a400acf --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/support/PdfRasterizer.java @@ -0,0 +1,50 @@ +package com.demcha.examples.support; + +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.rendering.PDFRenderer; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.nio.file.Path; + +/** + * Tiny dev/review utility: rasterizes each page of a PDF to a PNG via + * PDFBox so generated documents can be eyeballed without a system + * Ghostscript/poppler install. + * + *
{@code
+ * exec:java -Dexec.mainClass=com.demcha.examples.support.PdfRasterizer \
+ *   -Dexec.args="path/to/doc.pdf out/prefix 140"
+ * }
+ * + *

Writes {@code prefix-p0.png}, {@code prefix-p1.png}, … one per + * page.

+ */ +public final class PdfRasterizer { + + private PdfRasterizer() { + } + + public static void main(String[] args) throws Exception { + if (args.length < 2) { + System.err.println("usage: PdfRasterizer [dpi]"); + System.exit(2); + } + Path pdf = Path.of(args[0]); + String prefix = args[1]; + float dpi = args.length > 2 ? Float.parseFloat(args[2]) : 140f; + + try (PDDocument doc = Loader.loadPDF(pdf.toFile())) { + PDFRenderer renderer = new PDFRenderer(doc); + int pages = doc.getNumberOfPages(); + for (int i = 0; i < pages; i++) { + BufferedImage image = renderer.renderImageWithDPI(i, dpi); + File out = new File(prefix + "-p" + i + ".png"); + ImageIO.write(image, "png", out); + System.out.println("Wrote: " + out.getAbsolutePath()); + } + } + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBlueBannerLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBlueBannerLetterV2Example.java new file mode 100644 index 00000000..60d4ea9b --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBlueBannerLetterV2Example.java @@ -0,0 +1,47 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.BlueBannerLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Blue Banner cover-letter preset — centred PT-Serif + * spaced-caps name over a compact centred contact row (brand carried by + * the blue-toned theme), then a single-column letter body. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-blue-banner-v2.pdf}.

+ */ +public final class CvBlueBannerLetterV2Example { + + private CvBlueBannerLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-blue-banner-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = BlueBannerLetter.create(); + + float m = (float) BlueBannerLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBoxedSectionsLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBoxedSectionsLetterV2Example.java new file mode 100644 index 00000000..5e6ad803 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvBoxedSectionsLetterV2Example.java @@ -0,0 +1,47 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.BoxedSectionsLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Boxed Sections cover-letter preset — centred + * spaced-caps PT-Serif masthead with rules, then a single-column + * letter body. Pair with {@code CvBoxedV2Example}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-boxed-sections-v2.pdf}.

+ */ +public final class CvBoxedSectionsLetterV2Example { + + private CvBoxedSectionsLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-boxed-sections-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = BoxedSectionsLetter.create(); + + float m = (float) BoxedSectionsLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCenteredHeadlineLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCenteredHeadlineLetterV2Example.java new file mode 100644 index 00000000..7614cd97 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCenteredHeadlineLetterV2Example.java @@ -0,0 +1,47 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.CenteredHeadlineLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Centered Headline cover-letter preset — centred + * spaced-caps Poppins name, spaced-caps subheadline, framing rules, and + * centred contact, then a single-column letter body. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-centered-headline-v2.pdf}.

+ */ +public final class CvCenteredHeadlineLetterV2Example { + + private CvCenteredHeadlineLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-centered-headline-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = CenteredHeadlineLetter.create(); + + float m = (float) CenteredHeadlineLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvClassicSerifLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvClassicSerifLetterV2Example.java new file mode 100644 index 00000000..6a2724ac --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvClassicSerifLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.ClassicSerifLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Classic Serif cover-letter preset — centred + * spaced-caps PT-Serif masthead, tan rule, centred contact with + * tan-accent links, then a single-column letter body. Pair with + * {@code CvClassicSerifExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-classic-serif-v2.pdf}.

+ */ +public final class CvClassicSerifLetterV2Example { + + private CvClassicSerifLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-classic-serif-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = ClassicSerifLetter.create(); + + float m = (float) ClassicSerifLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCompactMonoLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCompactMonoLetterV2Example.java new file mode 100644 index 00000000..5161265b --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvCompactMonoLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.CompactMonoLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Compact Mono cover-letter preset — near-black rounded + * command-bar header (UPPERCASE name, left-aligned contact with cyan + * links) then a single-column letter body. Pair with + * {@code CvCompactMonoExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-compact-mono-v2.pdf}.

+ */ +public final class CvCompactMonoLetterV2Example { + + private CvCompactMonoLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-compact-mono-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = CompactMonoLetter.create(); + + float m = (float) CompactMonoLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEditorialBlueLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEditorialBlueLetterV2Example.java new file mode 100644 index 00000000..1b3cdbde --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEditorialBlueLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.EditorialBlueLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Editorial Blue cover-letter preset — centred navy + * Helvetica masthead (name + job title), centred contact with blue + * links, then a single-column letter body. Pair with + * {@code CvEditorialBlueExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-editorial-blue-v2.pdf}.

+ */ +public final class CvEditorialBlueLetterV2Example { + + private CvEditorialBlueLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-editorial-blue-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = EditorialBlueLetter.create(); + + float m = (float) EditorialBlueLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEngineeringResumeLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEngineeringResumeLetterV2Example.java new file mode 100644 index 00000000..209bf300 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvEngineeringResumeLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.EngineeringResumeLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Engineering Resume cover-letter preset — full-width + * navy command header (UPPERCASE name + role subtitle, right-aligned + * contact with cyan-green links, green accent strip) then a + * single-column letter body. Pair with {@code CvEngineeringResumeExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-engineering-resume-v2.pdf}.

+ */ +public final class CvEngineeringResumeLetterV2Example { + + private CvEngineeringResumeLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-engineering-resume-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = EngineeringResumeLetter.create(); + + float m = (float) EngineeringResumeLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvExecutiveLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvExecutiveLetterV2Example.java new file mode 100644 index 00000000..db9fa34c --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvExecutiveLetterV2Example.java @@ -0,0 +1,51 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.ExecutiveLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Executive cover-letter preset against the shared + * Jordan Rivera identity — the same masthead as the Executive CV + * (uppercase Poppins slate name, Lato meta + bronze link row, + * full-width muted rule) followed by a single-column letter body. + * + *

Pair with {@code CvExecutiveExample} to view the CV and letter as + * a matched set.

+ * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-executive-v2.pdf}.

+ */ +public final class CvExecutiveLetterV2Example { + + private CvExecutiveLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-executive-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = ExecutiveLetter.create(); + + float m = (float) ExecutiveLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvModernProfessionalLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvModernProfessionalLetterV2Example.java new file mode 100644 index 00000000..07bfe2e7 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvModernProfessionalLetterV2Example.java @@ -0,0 +1,52 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.ModernProfessionalLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Modern Professional cover-letter preset against the + * shared Jordan Rivera identity — the same masthead as the Modern + * Professional CV (right-aligned slate-blue Helvetica name, two-row + * right-aligned contact stack with royal-blue links, bottom accent + * rule) followed by a single-column letter body. + * + *

Pair with {@code CvModernV2Example} to view the CV and letter as + * a matched set.

+ * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-modern-professional-v2.pdf}.

+ */ +public final class CvModernProfessionalLetterV2Example { + + private CvModernProfessionalLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-modern-professional-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = ModernProfessionalLetter.create(); + + float m = (float) ModernProfessionalLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvMonogramSidebarLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvMonogramSidebarLetterV2Example.java new file mode 100644 index 00000000..6b66fc6f --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvMonogramSidebarLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.MonogramSidebarLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Monogram Sidebar cover-letter preset — centred + * monogram-ring badge over a stacked spaced-caps name, gold role line, + * and centred contact, then a single-column letter body. Pair with + * {@code CvMonogramSidebarExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-monogram-sidebar-v2.pdf}.

+ */ +public final class CvMonogramSidebarLetterV2Example { + + private CvMonogramSidebarLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-monogram-sidebar-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = MonogramSidebarLetter.create(); + + float m = (float) MonogramSidebarLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvNordicCleanLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvNordicCleanLetterV2Example.java new file mode 100644 index 00000000..f72529d3 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvNordicCleanLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.NordicCleanLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Nordic Clean cover-letter preset — left-aligned + * UPPERCASE name with a teal accent bar + role sub-line, right-aligned + * stacked contact with teal links, then a single-column letter body. + * Pair with {@code CvNordicV2Example}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-nordic-clean-v2.pdf}.

+ */ +public final class CvNordicCleanLetterV2Example { + + private CvNordicCleanLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-nordic-clean-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = NordicCleanLetter.create(); + + float m = (float) NordicCleanLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvPanelLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvPanelLetterV2Example.java new file mode 100644 index 00000000..913e11a8 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvPanelLetterV2Example.java @@ -0,0 +1,47 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.PanelLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Panel cover-letter preset — full-width pale-teal + * header card (centred Poppins name, job title, meta + teal links) then + * a single-column letter body. Pair with {@code CvPanelExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-panel-v2.pdf}.

+ */ +public final class CvPanelLetterV2Example { + + private CvPanelLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-panel-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = PanelLetter.create(); + + float m = (float) PanelLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvSidebarPortraitLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvSidebarPortraitLetterV2Example.java new file mode 100644 index 00000000..4bfb6174 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvSidebarPortraitLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.SidebarPortraitLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Sidebar Portrait cover-letter preset — full-width beige + * hero band (centred serif name + spaced-caps role) + centred contact, + * then a single-column letter body. Pair with + * {@code CvSidebarPortraitExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-sidebar-portrait-v2.pdf}.

+ */ +public final class CvSidebarPortraitLetterV2Example { + + private CvSidebarPortraitLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-sidebar-portrait-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = SidebarPortraitLetter.create(); + + float m = (float) SidebarPortraitLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvTimelineMinimalLetterV2Example.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvTimelineMinimalLetterV2Example.java new file mode 100644 index 00000000..384e2f67 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/v2/CvTimelineMinimalLetterV2Example.java @@ -0,0 +1,48 @@ +package com.demcha.examples.templates.coverletter.v2; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.TimelineMinimalLetter; +import com.demcha.examples.support.ExampleDataFactory; +import com.demcha.examples.support.ExampleOutputPaths; + +import java.nio.file.Path; + +/** + * Renders the v2 Timeline Minimal cover-letter preset — left spaced-caps + * name + role over a right-aligned PNG-icon contact stack under a thin + * rule, then a single-column letter body. Pair with + * {@code CvTimelineMinimalExample}. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-timeline-minimal-v2.pdf}.

+ */ +public final class CvTimelineMinimalLetterV2Example { + + private CvTimelineMinimalLetterV2Example() { + } + + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-timeline-minimal-v2.pdf"); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); + DocumentTemplate template = TimelineMinimalLetter.create(); + + float m = (float) TimelineMinimalLetter.RECOMMENDED_MARGIN; + try (DocumentSession document = GraphCompose.document(outputFile) + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, doc); + document.buildPdf(); + } + return outputFile; + } + + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/LetterBody.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/LetterBody.java new file mode 100644 index 00000000..ca092fec --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/LetterBody.java @@ -0,0 +1,123 @@ +package com.demcha.compose.document.templates.coverletter.v2.components; + +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.RichParagraphRenderer; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; + +/** + * Shared cover-letter body renderer — the letter analog of + * {@code SectionDispatcher}. + * + *

Stacks the greeting line, the ordered body paragraphs, and the + * closing sign-off into a single host section. Each block is rendered + * with the theme's body font / size / ink and line spacing through the + * shared {@link RichParagraphRenderer}, so inline markdown + * ({@code **bold**}, {@code *italic*}) is honoured exactly as in the + * paired CV preset's body prose.

+ * + *

Every v2 letter preset reuses this, so all letters share one + * identical reading rhythm and only the masthead differs by brand — + * which is what makes a CV and its letter read as a matched set.

+ */ +public final class LetterBody { + + private LetterBody() { + } + + /** + * Renders greeting + body paragraphs + closing into {@code host} + * using the theme's body style and line spacing. + * + * @param host host section (typically one page-flow section) + * @param doc cover-letter content + * @param theme active brand theme — share the same instance with the + * paired CV preset so the body colour / font / size match + */ + public static void render(SectionBuilder host, CoverLetterDocument doc, + CvTheme theme) { + render(host, doc, theme, theme.typography().sizeBody()); + } + + /** + * Variant that renders the letter prose at an explicit point size + * instead of {@code theme.typography().sizeBody()}. Used by presets + * whose paired CV theme carries a very small body size tuned for a + * dense multi-column CV (e.g. Monogram Sidebar, Timeline Minimal) — + * a single-column letter needs a more readable size, so the preset + * supplies one without disturbing the CV. + * + * @param host host section + * @param doc cover-letter content + * @param theme active brand theme (font, line spacing, ink) + * @param bodySize body text size in points + */ + public static void render(SectionBuilder host, CoverLetterDocument doc, + CvTheme theme, double bodySize) { + DocumentTextStyle bodyStyle = CvTextStyles.of( + theme.typography().bodyFont(), + bodySize, + DocumentTextDecoration.DEFAULT, + theme.palette().ink()); + double lineSpacing = theme.typography().bodyLineSpacing(); + // Letter paragraph rhythm scales with the body size so a compact + // brand stays tight and a roomy serif brand breathes, without a + // separate hand-tuned token per brand. + double gap = bodySize * 1.25; + // Clear breathing room below the masthead so the letter body never + // reads as "stuck" to the header. Normalised: the page-flow gap + // between the header section and this body section already supplies + // some space, so we top it up to a consistent ~1.8x the body size + // total and subtract what the brand's pageFlowSpacing already gives. + // The result is the same comfortable separation under every brand's + // masthead, whether its CV uses a dense (0pt) or roomy (8pt) gap. + double headerGap = Math.max(2.0, + bodySize * 1.8 - theme.spacing().pageFlowSpacing()); + // The signed name sits on the line directly below the sign-off + // (standard letter convention), so it gets only a small gap. + double signatureGap = bodySize * 0.4; + DocumentTextStyle signatureStyle = CvTextStyles.of( + theme.typography().bodyFont(), + bodySize, + DocumentTextDecoration.ITALIC, + theme.palette().ink()); + + boolean[] emitted = {false}; + emit(host, doc.greeting(), bodyStyle, lineSpacing, headerGap, gap, emitted); + for (String paragraph : doc.body()) { + emit(host, paragraph, bodyStyle, lineSpacing, headerGap, gap, emitted); + } + // Closing block: the sign-off ("Sincerely,") on one line, then the + // signer's name on the line directly below it. The name is pulled + // from the shared identity so the signature always matches the + // masthead and never drifts from the paired CV. + if (!doc.closing().isBlank()) { + double top = emitted[0] ? gap : headerGap; + RichParagraphRenderer.render(host, doc.closing(), bodyStyle, + lineSpacing, DocumentInsets.top(top)); + String signature = doc.identity().name().full(); + if (!signature.isBlank()) { + RichParagraphRenderer.render(host, signature, signatureStyle, + lineSpacing, DocumentInsets.top(signatureGap)); + } + } + } + + private static void emit(SectionBuilder host, String text, + DocumentTextStyle style, double lineSpacing, + double firstTop, double gap, boolean[] emitted) { + if (text == null || text.isBlank()) { + return; + } + // First emitted block gets the larger header gap (separation from + // the masthead); every subsequent block gets the inter-paragraph gap. + double top = emitted[0] ? gap : firstTop; + RichParagraphRenderer.render(host, text, style, lineSpacing, + DocumentInsets.top(top)); + emitted[0] = true; + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/package-info.java new file mode 100644 index 00000000..1c4a039b --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/components/package-info.java @@ -0,0 +1,10 @@ +/** + * Shared rendering components for Templates v2 cover letters. + * + *

{@link com.demcha.compose.document.templates.coverletter.v2.components.LetterBody} + * is the letter analog of the CV {@code SectionDispatcher}: every + * letter preset delegates its greeting / paragraphs / closing to it so + * all letters share one reading rhythm and inline-markdown handling + * (via the reused {@code cv.v2.components.RichParagraphRenderer}).

+ */ +package com.demcha.compose.document.templates.coverletter.v2.components; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/CoverLetterDocument.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/CoverLetterDocument.java new file mode 100644 index 00000000..58090336 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/CoverLetterDocument.java @@ -0,0 +1,126 @@ +package com.demcha.compose.document.templates.coverletter.v2.data; + +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * User-facing data record for a Templates v2 cover letter. + * + *

Reuses {@link CvIdentity} for the top-of-document identity block + * so a writer hands the same identity object to both their CV + * preset and their paired cover-letter preset. Because the masthead + * (name, contact, links) then renders through the identical widget + * path, the CV and the letter read as one matched set — which is the + * whole point of pairing them.

+ * + *

The letter-specific content is deliberately tiny: an opening + * greeting, an ordered list of body paragraphs, and a closing sign-off. + * This mirrors {@code CvDocument} (identity + sections) but with the + * far simpler single-flow shape of a letter.

+ * + * @param identity top-of-document identity block (required) — share + * the same instance with the paired CV preset + * @param greeting opening line (e.g. {@code "Dear Hiring Team,"}); a + * blank value suppresses the line; may carry inline + * markdown ({@code **bold**}, {@code *italic*}) + * @param body ordered body paragraphs; blank paragraphs are skipped + * at render; each may carry inline markdown + * @param closing sign-off line (e.g. {@code "Sincerely, Alex"}); a + * blank value suppresses the line; may carry inline + * markdown + */ +public record CoverLetterDocument(CvIdentity identity, + String greeting, + List body, + String closing) { + + /** + * Compact constructor that normalises null strings to empty and + * defensively copies the body list. + * + * @throws NullPointerException if {@code identity} is null + */ + public CoverLetterDocument { + Objects.requireNonNull(identity, "identity"); + greeting = greeting == null ? "" : greeting; + closing = closing == null ? "" : closing; + body = body == null ? List.of() : List.copyOf(body); + } + + /** + * @return new fluent builder + */ + public static Builder builder() { + return new Builder(); + } + + /** + * Mutable builder for {@link CoverLetterDocument}. + */ + public static final class Builder { + private CvIdentity identity; + private String greeting = ""; + private final List body = new ArrayList<>(); + private String closing = ""; + + private Builder() { + } + + /** + * Sets the shared identity block. + * + * @param value non-null identity (reuse the paired CV's instance) + * @return this builder + */ + public Builder identity(CvIdentity value) { + this.identity = value; + return this; + } + + /** + * Sets the opening greeting line. + * + * @param value greeting; null treated as empty + * @return this builder + */ + public Builder greeting(String value) { + this.greeting = value == null ? "" : value; + return this; + } + + /** + * Appends one body paragraph. + * + * @param value non-null paragraph text + * @return this builder + */ + public Builder paragraph(String value) { + Objects.requireNonNull(value, "paragraph"); + this.body.add(value); + return this; + } + + /** + * Sets the closing sign-off line. + * + * @param value closing; null treated as empty + * @return this builder + */ + public Builder closing(String value) { + this.closing = value == null ? "" : value; + return this; + } + + /** + * Builds an immutable {@link CoverLetterDocument}. + * + * @return new document + */ + public CoverLetterDocument build() { + return new CoverLetterDocument(identity, greeting, body, closing); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/package-info.java new file mode 100644 index 00000000..7237adab --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/data/package-info.java @@ -0,0 +1,10 @@ +/** + * User-facing data records for Templates v2 cover letters. + * + *

{@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * is the single input type — it reuses + * {@link com.demcha.compose.document.templates.cv.v2.data.CvIdentity} + * for the masthead so a CV and its paired letter share one identity + * object and render identical headers.

+ */ +package com.demcha.compose.document.templates.coverletter.v2.data; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BlueBannerLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BlueBannerLetter.java new file mode 100644 index 00000000..7d4653c0 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BlueBannerLetter.java @@ -0,0 +1,98 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code BlueBanner} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.BlueBanner} + * — a centred PT-Serif spaced-caps name over a compact centred contact + * row — then a single-column letter body via the shared + * {@link LetterBody}. Both documents read everything from + * {@link CvTheme#blueBanner()}.

+ * + *

The CV's signature blue banners decorate section titles, + * which a letter has none of, so the brand identity here is carried by + * the theme: the compact PT-Serif headline scale and the dark-blue rule + * tone of the contact separators / links. No preset-local colour is + * needed.

+ */ +public final class BlueBannerLetter { + + /** Stable template identifier. */ + public static final String ID = "blue-banner-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Blue Banner Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + private BlueBannerLetter() { + } + + /** + * Builds the letter with its Blue Banner theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.blueBanner()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2BlueBannerRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addSection("CoverLetterV2BlueBannerHeader", section -> + Headline.spacedCentered(section, doc.identity().name(), theme)) + .addSection("CoverLetterV2BlueBannerContact", section -> + ContactLine.centered(section, doc.identity(), theme)); + + flow.addSection("CoverLetterV2BlueBannerBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BoxedSectionsLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BoxedSectionsLetter.java new file mode 100644 index 00000000..0e3b213e --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/BoxedSectionsLetter.java @@ -0,0 +1,103 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code BoxedSections} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.BoxedSections} + * — a centred letter-spaced PT-Serif name with a thin rule beneath it, + * then a centred pipe-separated contact line with its own rule beneath + * — then a single-column letter body via the shared {@link LetterBody}. + * Both documents read everything from {@link CvTheme#boxedClassic()}.

+ * + *

The header is composed entirely from shared widgets + * ({@link Headline#spacedCentered} + {@link ContactLine#centered}) at + * the theme's default styles, so this preset carries no preset-local + * colour — the cleanest possible matched-set letter.

+ */ +public final class BoxedSectionsLetter { + + /** Stable template identifier. */ + public static final String ID = "boxed-sections-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Boxed Sections Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + private BoxedSectionsLetter() { + } + + /** + * Builds the letter with its Boxed Sections theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.boxedClassic()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2BoxedRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addSection("CoverLetterV2BoxedHeadline", section -> { + section.accentBottom(theme.palette().rule(), + theme.spacing().accentRuleWidth()); + Headline.spacedCentered(section, doc.identity().name(), theme); + }) + .addSection("CoverLetterV2BoxedContact", section -> { + section.accentBottom(theme.palette().rule(), + theme.spacing().accentRuleWidth()); + ContactLine.centered(section, doc.identity(), theme); + }); + + flow.addSection("CoverLetterV2BoxedBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CenteredHeadlineLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CenteredHeadlineLetter.java new file mode 100644 index 00000000..39e10488 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CenteredHeadlineLetter.java @@ -0,0 +1,133 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.LineBuilder; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; +import com.demcha.compose.document.templates.cv.v2.widgets.Subheadline; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code CenteredHeadline} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.CenteredHeadline} + * — a centred letter-spaced Poppins name, a small spaced-caps + * subheadline, and a centred contact line framed by thin full-width + * rules — then a single-column letter body via the shared + * {@link LetterBody}. Both documents read everything from + * {@link CvTheme#centeredHeadline()}.

+ * + *

The subheadline uses the real {@link CvIdentity#jobTitle()} (the + * CV preset still shows a hard-coded placeholder pending its own + * jobTitle wiring); on a letter the writer's actual title reads more + * naturally and stays a faithful match to the CV's design. The + * rule that the CV places below the contact is dropped here because the + * shared {@code LetterBody} already supplies the gap to the greeting.

+ */ +public final class CenteredHeadlineLetter { + + /** Stable template identifier. */ + public static final String ID = "centered-headline-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Centered Headline Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + private CenteredHeadlineLetter() { + } + + /** + * Builds the letter with its Centered Headline theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.centeredHeadline()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double width = document.canvas().innerWidth(); + CvIdentity identity = doc.identity(); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2CenteredHeadlineRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addSection("CoverLetterV2CenteredHeadlineHeadline", section -> { + Headline.spacedCentered(section, identity.name(), theme); + if (!identity.jobTitle().isBlank()) { + Subheadline.centeredSpacedCaps(section, + identity.jobTitle(), subheadlineStyle()); + } + }) + .addLine(line -> rule(line, "CoverLetterV2CenteredHeadlineRule", + width, 7, 0)) + .addSection("CoverLetterV2CenteredHeadlineContact", section -> + ContactLine.centered(section, identity, theme)) + .addLine(line -> rule(line, "CoverLetterV2CenteredContactRule", + width, 0, 0)); + + flow.addSection("CoverLetterV2CenteredHeadlineBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private DocumentTextStyle subheadlineStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), 8.6, + DocumentTextDecoration.DEFAULT, theme.palette().muted()); + } + + private void rule(LineBuilder line, String name, double width, + double top, double bottom) { + line.name(name) + .horizontal(width) + .color(theme.palette().rule()) + .thickness(theme.spacing().accentRuleWidth()) + .margin(new DocumentInsets(top, 0, bottom, 0)); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ClassicSerifLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ClassicSerifLetter.java new file mode 100644 index 00000000..0368c0f9 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ClassicSerifLetter.java @@ -0,0 +1,144 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code ClassicSerif} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.ClassicSerif} + * — a centred letter-spaced PT-Serif name, a thin tan rule, and a + * centred contact line with tan-accent underlined links — then a + * single-column letter body via the shared {@link LetterBody}. Both + * documents read their palette / typography from + * {@link CvTheme#classicSerif()}.

+ * + *

The header mirrors the CV's preset-local header DSL (spaced name + + * rule line + centred contact). The bronze {@code ACCENT} is mirrored + * from the CV, which keeps it preset-local there because no other brand + * shares that fifth colour token.

+ */ +public final class ClassicSerifLetter { + + /** Stable template identifier. */ + public static final String ID = "classic-serif-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Classic Serif Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Bronze accent for contact links. Mirrors the ClassicSerif CV's preset-local token. */ + private static final DocumentColor ACCENT = DocumentColor.rgb(126, 93, 52); + + private ClassicSerifLetter() { + } + + /** + * Builds the letter with its Classic Serif theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.classicSerif()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double width = document.canvas().innerWidth(); + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2ClassicSerifRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity(), width); + + flow.addSection("CoverLetterV2ClassicSerifBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity, + double width) { + flow.addSection("CoverLetterV2ClassicSerifHeader", section -> { + section.spacing(5); + Headline.spacedCentered(section, identity.name(), theme); + section.addLine(line -> line + .name("CoverLetterV2ClassicSerifHeaderRule") + .horizontal(width) + .color(theme.palette().rule()) + .thickness(theme.spacing().accentRuleWidth()) + .margin(new DocumentInsets(1, 0, 0, 0))); + ContactLine.centered(section, identity, theme, + contactMetaStyle(), contactLinkStyle(), + contactSeparatorStyle()); + }); + } + + private DocumentTextStyle contactMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, + theme.palette().muted()); + } + + private DocumentTextStyle contactLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, + ACCENT); + } + + private DocumentTextStyle contactSeparatorStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, + theme.palette().rule()); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CompactMonoLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CompactMonoLetter.java new file mode 100644 index 00000000..654411df --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/CompactMonoLetter.java @@ -0,0 +1,163 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code CompactMono} CV preset. + * + *

Carries the CV's signature dark command-bar header + * into the letter: a near-black rounded band holding the UPPERCASE + * left-aligned name over a left-aligned contact line with cyan links and + * grey separators — the same header as + * {@link com.demcha.compose.document.templates.cv.v2.presets.CompactMono}. + * Below it, a single-column letter body via the shared + * {@link LetterBody}. Body palette / typography come from + * {@link CvTheme#compactMono()}.

+ * + *

The four command-bar colours are mirrored from the CV, where they + * are preset-local. A near-invisible width rule (band-coloured, 0.1pt) + * pins the band to the full content width — the same trick the CV uses + * so the dark bar spans the page instead of shrinking to the name.

+ */ +public final class CompactMonoLetter { + + /** Stable template identifier. */ + public static final String ID = "compact-mono-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Compact Mono Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Near-black command-bar fill. Mirrors the CompactMono CV token. */ + private static final DocumentColor HEADER = DocumentColor.rgb(18, 24, 32); + + /** Contact metadata over the dark band. Mirrors the CV token. */ + private static final DocumentColor HEADER_SOFT = DocumentColor.rgb(192, 207, 219); + + /** Cyan contact-link colour over the band. Mirrors the CV token. */ + private static final DocumentColor LINK_CYAN = DocumentColor.rgb(108, 213, 222); + + /** Contact separator colour over the band. Mirrors the CV token. */ + private static final DocumentColor SEPARATOR_GRAY = DocumentColor.rgb(102, 117, 132); + + private CompactMonoLetter() { + } + + /** + * Builds the letter with its Compact Mono theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.compactMono()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double width = document.canvas().innerWidth(); + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2CompactMonoRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity(), width); + + flow.addSection("CoverLetterV2CompactMonoBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity, + double width) { + flow.addSection("CoverLetterV2CompactMonoHeader", section -> { + section.spacing(4) + .padding(new DocumentInsets(13, 16, 14, 16)) + .fillColor(HEADER) + .cornerRadius(3); + section.addSection("Name", name -> + Headline.uppercaseLeftAligned(name, identity.name(), + theme, headerNameStyle())); + section.addSection("Contact", contact -> + ContactLine.leftAligned(contact, identity, theme, + headerMetaStyle(), headerLinkStyle(), + headerSeparatorStyle())); + section.addLine(line -> line + .name("CoverLetterV2CompactMonoHeaderWidthRule") + .horizontal(Math.max(0, width - 32)) + .color(HEADER) + .thickness(0.1) + .margin(DocumentInsets.zero())); + }); + } + + private DocumentTextStyle headerNameStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, DocumentColor.WHITE); + } + + private DocumentTextStyle headerMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, HEADER_SOFT); + } + + private DocumentTextStyle headerLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, LINK_CYAN); + } + + private DocumentTextStyle headerSeparatorStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, SEPARATOR_GRAY); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EditorialBlueLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EditorialBlueLetter.java new file mode 100644 index 00000000..24f12dac --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EditorialBlueLetter.java @@ -0,0 +1,126 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.Masthead; +import com.demcha.compose.font.FontName; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code EditorialBlue} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.EditorialBlue} + * — a centred navy Helvetica name (with the job-title subtitle), centred + * contact metadata, and blue underlined profile links, via the shared + * {@link Masthead#centered} widget — then a single-column letter body + * via the shared {@link LetterBody}. Both documents read their palette / + * typography from {@link CvTheme#editorialBlue()}.

+ * + *

Only the navy {@code NAME_COLOR} is mirrored from the CV (its + * preset-local token); everything else flows through {@code Masthead} + * and the theme.

+ */ +public final class EditorialBlueLetter { + + /** Stable template identifier. */ + public static final String ID = "editorial-blue-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Editorial Blue Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Navy display name. Mirrors the EditorialBlue CV's preset-local token. */ + private static final DocumentColor NAME_COLOR = DocumentColor.rgb(18, 31, 72); + + private EditorialBlueLetter() { + } + + /** + * Builds the letter with its Editorial Blue theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.editorialBlue()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2EditorialBlueRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + flow.addSection("CoverLetterV2EditorialBlueHeader", section -> + Masthead.centered(section, doc.identity(), theme, + mastheadStyle())); + + flow.addSection("CoverLetterV2EditorialBlueBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private Masthead.Style mastheadStyle() { + DocumentTextStyle nameStyle = CvTextStyles.of(FontName.HELVETICA_BOLD, + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, NAME_COLOR); + DocumentTextStyle titleStyle = CvTextStyles.of(FontName.HELVETICA, + 10.0, DocumentTextDecoration.DEFAULT, + theme.palette().ink()); + DocumentTextStyle linkStyle = CvTextStyles.of(FontName.HELVETICA, + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, + theme.palette().rule()); + return Masthead.Style.builder() + .nameStyle(nameStyle) + .titleStyle(titleStyle) + .metaStyle(theme.contactStyle()) + .linkStyle(linkStyle) + .separatorStyle(theme.contactStyle()) + .lineMargin(DocumentInsets.top(1)) + .build(); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EngineeringResumeLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EngineeringResumeLetter.java new file mode 100644 index 00000000..39bfa281 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/EngineeringResumeLetter.java @@ -0,0 +1,230 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.DocumentLinkOptions; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentCornerRadius; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.MarkdownInline; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.CvLink; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code EngineeringResume} CV preset. + * + *

Carries the CV's signature full-width navy command + * header into the letter: a deep-navy band (rounded top, green + * accent strip beneath) holding the UPPERCASE name + role subtitle on + * the left and a right-aligned contact stack with cyan-green underlined + * links — the same masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.EngineeringResume}. + * Below the band, a single-column letter body via the shared + * {@link LetterBody}. Body palette / typography come from + * {@link CvTheme#engineeringResume()}.

+ * + *

The five navy-header colours are mirrored from the CV, where they + * are preset-local (the theme only covers body ink / muted / rule / + * profile-band fill — no other brand shares this navy command look).

+ */ +public final class EngineeringResumeLetter { + + /** Stable template identifier. */ + public static final String ID = "engineering-resume-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Engineering Resume Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Deep navy command-header fill. Mirrors the EngineeringResume CV token. */ + private static final DocumentColor NAVY = DocumentColor.rgb(13, 32, 47); + + /** Green accent strip beneath the header. Mirrors the CV token. */ + private static final DocumentColor GREEN = DocumentColor.rgb(27, 145, 104); + + /** Role-subtitle colour under the name. Mirrors the CV token. */ + private static final DocumentColor SUBTITLE_COLOR = DocumentColor.rgb(190, 209, 219); + + /** Contact metadata colour over the navy header. Mirrors the CV token. */ + private static final DocumentColor CONTACT_META = DocumentColor.rgb(196, 211, 220); + + /** Cyan-green contact-link colour over the navy header. Mirrors the CV token. */ + private static final DocumentColor CONTACT_LINK = DocumentColor.rgb(78, 207, 161); + + private EngineeringResumeLetter() { + } + + /** + * Builds the letter with its Engineering Resume theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.engineeringResume()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2EngineeringResumeRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity()); + + flow.addSection("CoverLetterV2EngineeringResumeBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity) { + flow.addSection("CoverLetterV2EngineeringResumeHeader", section -> section + .spacing(5) + .padding(new DocumentInsets(13, 15, 13, 15)) + .fillColor(NAVY) + .cornerRadius(DocumentCornerRadius.top( + theme.spacing().bannerCornerRadius())) + .accentBottom(GREEN, theme.spacing().accentRuleWidth()) + .addRow("CoverLetterV2EngineeringResumeHeaderRow", row -> row + .spacing(12) + .weights(1.15, 0.85) + .addSection("CoverLetterV2EngineeringResumeIdentity", + block -> addIdentityBlock(block, identity)) + .addSection("CoverLetterV2EngineeringResumeContact", + contact -> addContactStack(contact, identity)))); + } + + private void addIdentityBlock(SectionBuilder block, CvIdentity identity) { + block.padding(DocumentInsets.zero()) + .spacing(3) + .addParagraph(paragraph -> paragraph + .text(identity.name().full().toUpperCase(Locale.ROOT)) + .textStyle(nameStyle()) + .autoSize(theme.typography().sizeHeadline(), 19.0) + .margin(DocumentInsets.zero())); + String subtitle = headerSubtitleText(identity); + if (!subtitle.isBlank()) { + block.addParagraph(paragraph -> paragraph + .text(subtitle) + .textStyle(subtitleStyle()) + .margin(DocumentInsets.zero())); + } + } + + private void addContactStack(SectionBuilder section, CvIdentity identity) { + section.spacing(2).padding(DocumentInsets.zero()); + DocumentTextStyle meta = contactMetaStyle(); + DocumentTextStyle link = contactLinkStyle(); + for (ContactPart part : contactParts(identity)) { + section.addParagraph(paragraph -> paragraph + .text(part.text()) + .textStyle(part.linkOptions() == null ? meta : link) + .link(part.linkOptions()) + .align(TextAlign.RIGHT) + .margin(DocumentInsets.zero())); + } + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, DocumentColor.WHITE); + } + + private DocumentTextStyle subtitleStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), 7.6, + DocumentTextDecoration.BOLD, SUBTITLE_COLOR); + } + + private DocumentTextStyle contactMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, CONTACT_META); + } + + private DocumentTextStyle contactLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, CONTACT_LINK); + } + + private static String headerSubtitleText(CvIdentity identity) { + String jobTitle = identity.jobTitle(); + if (jobTitle == null || jobTitle.isBlank()) { + return ""; + } + return MarkdownInline.plainText(jobTitle).toUpperCase(Locale.ROOT); + } + + private static List contactParts(CvIdentity identity) { + List parts = new ArrayList<>(); + addPart(parts, identity.contact().address(), null); + addPart(parts, identity.contact().phone(), null); + String email = identity.contact().email(); + if (!email.isBlank()) { + addPart(parts, email, new DocumentLinkOptions("mailto:" + email)); + } + for (CvLink link : identity.links()) { + addPart(parts, link.label(), link.url().isBlank() + ? null + : new DocumentLinkOptions(link.url().trim())); + } + return List.copyOf(parts); + } + + private static void addPart(List parts, String text, + DocumentLinkOptions linkOptions) { + if (text != null && !text.isBlank()) { + parts.add(new ContactPart(text.trim(), linkOptions)); + } + } + + private record ContactPart(String text, DocumentLinkOptions linkOptions) { + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ExecutiveLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ExecutiveLetter.java new file mode 100644 index 00000000..d2f8ee9b --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ExecutiveLetter.java @@ -0,0 +1,220 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.DocumentLinkOptions; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.TextOrnaments; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.CvLink; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; +import com.demcha.compose.font.FontName; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code Executive} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.Executive} + * — UPPERCASE name in deep slate, a {@code address | phone} meta line, a + * bronze-underlined link row, and a thin full-width muted rule — then a + * single-column letter body (greeting, paragraphs, closing) via the + * shared {@link LetterBody}. Both documents read all colour, font, and + * spacing from {@link CvTheme#executive()}, so a writer's CV and cover + * letter ship as one matched set.

+ * + *

The masthead block is preset-local inline DSL mirroring the CV's, + * because the CV's header is itself preset-local (V1 splits meta and + * links across two rows — no shared v2 contact widget has that exact + * shape today). When a second brand needs the same header shape, this + * block should be promoted to a shared {@code coverletter/v2/widgets} + * letterhead widget the CV preset can also adopt.

+ */ +public final class ExecutiveLetter { + + /** Stable template identifier. */ + public static final String ID = "executive-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Executive Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** + * Deeper slate of the Executive masthead. Mirrors the preset-local + * {@code PRIMARY_NAME} token of the Executive CV (the theme's + * {@code palette().ink()} is the lighter body slate); kept local + * here for the same reason it is local there — no other brand + * shares it. + */ + private static final DocumentColor PRIMARY_NAME = + DocumentColor.rgb(24, 35, 51); + + /** + * Warm bronze of the Executive contact links. Mirrors the + * preset-local {@code ACCENT} token of the Executive CV. + */ + private static final DocumentColor ACCENT = + DocumentColor.rgb(172, 112, 55); + + private ExecutiveLetter() { + } + + /** + * Builds the letter with its Executive theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.executive()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double width = document.canvas().innerWidth(); + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2ExecutiveRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity(), width); + + flow.addSection("CoverLetterV2ExecutiveBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity, + double width) { + flow.addSection("CoverLetterV2ExecutiveHeader", section -> { + section.spacing(2) + .padding(DocumentInsets.zero()); + Headline.uppercaseLeftAligned(section, identity.name(), theme, + nameStyle()); + String meta = TextOrnaments.joinPipe(identity.contact().address(), + identity.contact().phone()); + if (!meta.isBlank()) { + section.addParagraph(paragraph -> paragraph + .text(meta) + .textStyle(metaStyle()) + .align(TextAlign.LEFT) + .margin(DocumentInsets.top(2))); + } + addLinkRow(section, identity); + section.addLine(line -> line + .name("CoverLetterV2ExecutiveHeaderRule") + .horizontal(width) + .color(theme.palette().rule()) + .thickness(theme.spacing().accentRuleWidth()) + .margin(DocumentInsets.top(5))); + }); + } + + private void addLinkRow(SectionBuilder section, CvIdentity identity) { + boolean hasEmail = !identity.contact().email().isBlank(); + boolean hasLinks = !identity.links().isEmpty(); + if (!hasEmail && !hasLinks) { + return; + } + DocumentTextStyle bodyStyle = linkRowBodyStyle(); + DocumentTextStyle linkStyle = linkRowLinkStyle(); + section.addParagraph(paragraph -> paragraph + .textStyle(bodyStyle) + .align(TextAlign.LEFT) + .margin(DocumentInsets.top(1)) + .rich(rich -> { + boolean first = true; + String email = identity.contact().email(); + if (!email.isBlank()) { + rich.with(email, linkStyle, + new DocumentLinkOptions("mailto:" + email)); + first = false; + } + for (CvLink link : identity.links()) { + if (link.label().isBlank()) { + continue; + } + if (!first) { + rich.style(" | ", bodyStyle); + } + first = false; + if (link.url().isBlank()) { + rich.style(link.label(), bodyStyle); + } else { + rich.with(link.label(), linkStyle, + new DocumentLinkOptions(link.url())); + } + } + })); + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(FontName.POPPINS, + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, + PRIMARY_NAME); + } + + private DocumentTextStyle metaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, + theme.palette().ink()); + } + + private DocumentTextStyle linkRowBodyStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeBody(), + DocumentTextDecoration.DEFAULT, + theme.palette().ink()); + } + + private DocumentTextStyle linkRowLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeBody(), + DocumentTextDecoration.UNDERLINE, + ACCENT); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ModernProfessionalLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ModernProfessionalLetter.java new file mode 100644 index 00000000..d2017538 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/ModernProfessionalLetter.java @@ -0,0 +1,130 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; +import com.demcha.compose.font.FontName; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code ModernProfessional} CV preset. + * + *

Renders the identical masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.ModernProfessional} + * — a right-aligned slate-blue Helvetica display name over a two-row, + * right-aligned contact stack with royal-blue underlined links and a + * bottom accent rule — then a single-column letter body via the shared + * {@link LetterBody}. Both documents read their scale and palette from + * {@link CvTheme#modernProfessional()}.

+ * + *

Unlike Executive, the header is composed almost entirely from + * shared widgets ({@link Headline#rightAligned} + + * {@link ContactLine#twoRowRightAligned}); only the three preset-local + * colours (slate-blue name, royal-blue links) are mirrored from the CV, + * which keeps them preset-local there because no other brand shares + * them.

+ */ +public final class ModernProfessionalLetter { + + /** Stable template identifier. */ + public static final String ID = "modern-professional-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Modern Professional Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Slate-blue display name. Mirrors the ModernProfessional CV's preset-local token. */ + private static final DocumentColor NAME_COLOR = DocumentColor.rgb(44, 62, 80); + + /** Royal-blue contact links. Mirrors the ModernProfessional CV's preset-local token. */ + private static final DocumentColor LINK_COLOR = DocumentColor.rgb(65, 105, 225); + + private ModernProfessionalLetter() { + } + + /** + * Builds the letter with its Modern Professional theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.modernProfessional()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + DocumentTextStyle nameStyle = CvTextStyles.of(FontName.HELVETICA_BOLD, + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, NAME_COLOR); + DocumentTextStyle contactBodyStyle = CvTextStyles.of(FontName.HELVETICA, + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + DocumentTextStyle contactLinkStyle = CvTextStyles.of(FontName.HELVETICA, + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, LINK_COLOR); + DocumentTextStyle contactSeparatorStyle = CvTextStyles.of(FontName.HELVETICA, + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().rule()); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2ModernRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addSection("Header", section -> + Headline.rightAligned(section, doc.identity().name(), + theme, nameStyle)) + .addSection("Contact", section -> { + section.accentBottom(theme.palette().rule(), + theme.spacing().accentRuleWidth()); + ContactLine.twoRowRightAligned(section, doc.identity(), + theme, contactBodyStyle, contactLinkStyle, + contactSeparatorStyle); + }); + + flow.addSection("CoverLetterV2ModernBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/MonogramSidebarLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/MonogramSidebarLetter.java new file mode 100644 index 00000000..0c4e2bbe --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/MonogramSidebarLetter.java @@ -0,0 +1,261 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.EllipseBuilder; +import com.demcha.compose.document.dsl.LayerStackBuilder; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.ParagraphBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.LayerAlign; +import com.demcha.compose.document.node.LayerStackNode; +import com.demcha.compose.document.node.SpacerNode; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentStroke; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.TextOrnaments; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.CvName; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.font.FontName; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code MonogramSidebar} CV preset. + * + *

Carries the CV's signature monogram-ring badge + * into the letter: the dark-slate initials ring sits centred at the top, + * over the centred spaced-caps name (stacked first / last) and a muted + * gold spaced-caps role line, then a centred contact line and a + * single-column letter body via the shared {@link LetterBody}. The CV's + * pale-teal sidebar column (painted by {@code pageBackgrounds}) and its + * icon contact stack are sidebar-only and are dropped for the + * single-column letter; the badge + name treatment is what makes the two + * read as a set. Palette / typography come from + * {@link CvTheme#monogramSidebar()}.

+ * + *

The gold accent, dark monogram ring, and the PT-Serif monogram font + * are mirrored from the CV, where they are preset-local.

+ */ +public final class MonogramSidebarLetter { + + /** Stable template identifier. */ + public static final String ID = "monogram-sidebar-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Monogram Sidebar Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Muted gold accent (name sub-line + links). Mirrors the CV token. */ + private static final DocumentColor ACCENT = DocumentColor.rgb(158, 146, 104); + + /** Dark slate monogram ring + initials. Mirrors the CV token. */ + private static final DocumentColor MONOGRAM_RING = DocumentColor.rgb(54, 62, 74); + + /** PT-Serif used only for the monogram initials. Mirrors the CV token. */ + private static final FontName MONOGRAM_FONT = FontName.PT_SERIF; + + /** Monogram ring diameter (matches the CV badge). */ + private static final double MONOGRAM_DIAMETER = 122.0; + + /** + * Letter body size. The Monogram Sidebar CV theme uses a 7.5pt body + * tuned for its dense two-column layout — too small for a + * single-column letter, so the prose is rendered a touch larger here. + */ + private static final double LETTER_BODY_SIZE = 9.0; + + private MonogramSidebarLetter() { + } + + /** + * Builds the letter with its Monogram Sidebar theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.monogramSidebar()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double innerWidth = document.canvas().innerWidth(); + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2MonogramSidebarRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + flow.addSection("CoverLetterV2MonogramSidebarHeader", section -> { + section.spacing(2).padding(DocumentInsets.zero()); + addMonogramBlock(section, initials(doc.identity().name()), + innerWidth); + addNameBlock(section, doc.identity()); + ContactLine.centered(section, doc.identity(), theme, + contactMetaStyle(), contactLinkStyle(), + contactSeparatorStyle()); + }); + + flow.addSection("CoverLetterV2MonogramSidebarBody", host -> + LetterBody.render(host, doc, theme, LETTER_BODY_SIZE)); + + flow.build(); + } + + private void addMonogramBlock(SectionBuilder section, String initialsText, + double innerWidth) { + LayerStackNode badge = new LayerStackBuilder() + .name("CoverLetterV2MonogramSidebarBadge") + .back(new EllipseBuilder() + .name("CoverLetterV2MonogramSidebarRing") + .size(MONOGRAM_DIAMETER, MONOGRAM_DIAMETER) + .stroke(DocumentStroke.of(MONOGRAM_RING, 1.25)) + .build()) + .layer(new ParagraphBuilder() + .name("CoverLetterV2MonogramSidebarInitials") + .text(initialsText) + .textStyle(CvTextStyles.of(MONOGRAM_FONT, 44.0, + DocumentTextDecoration.BOLD, MONOGRAM_RING)) + .align(TextAlign.LEFT) + .build(), LayerAlign.CENTER) + .build(); + + section.addLayerStack(outer -> outer + .name("CoverLetterV2MonogramSidebarFrame") + .margin(DocumentInsets.bottom(20)) + .back(new SpacerNode( + "CoverLetterV2MonogramSidebarSpace", + Math.max(MONOGRAM_DIAMETER, innerWidth), + MONOGRAM_DIAMETER, + DocumentInsets.zero(), + DocumentInsets.zero())) + .layer(badge, LayerAlign.TOP_CENTER)); + } + + private void addNameBlock(SectionBuilder section, CvIdentity identity) { + CvName name = identity.name(); + List parts = new ArrayList<>(); + if (!name.first().isBlank()) { + parts.add(name.first()); + } + if (!name.last().isBlank()) { + parts.add(name.last()); + } + if (parts.isEmpty()) { + parts.add(""); + } + DocumentTextStyle nameStyle = nameStyle(); + DocumentTextStyle titleStyle = subtitleStyle(); + + for (int index = 0; index < parts.size(); index++) { + String part = parts.get(index); + DocumentInsets margin = index == parts.size() - 1 + ? DocumentInsets.zero() + : DocumentInsets.bottom(6); + section.addParagraph(paragraph -> paragraph + .text(TextOrnaments.spacedUpper(part)) + .textStyle(nameStyle) + .align(TextAlign.CENTER) + .lineSpacing(1.0) + .margin(margin)); + } + String jobTitle = identity.jobTitle(); + if (jobTitle != null && !jobTitle.isBlank()) { + section.addParagraph(paragraph -> paragraph + .text(TextOrnaments.spacedUpper(jobTitle)) + .textStyle(titleStyle) + .align(TextAlign.CENTER) + .margin(new DocumentInsets(12, 0, 18, 0))); + } + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle subtitleStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.BOLD, ACCENT); + } + + private DocumentTextStyle contactMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().muted()); + } + + private DocumentTextStyle contactLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, ACCENT); + } + + private DocumentTextStyle contactSeparatorStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().rule()); + } + + private static String initials(CvName name) { + if (name == null) { + return ""; + } + StringBuilder builder = new StringBuilder(); + appendInitial(builder, name.first()); + appendInitial(builder, name.last()); + return builder.toString(); + } + + private static void appendInitial(StringBuilder builder, String value) { + if (builder.length() >= 2 || value == null) { + return; + } + String trimmed = value.trim(); + if (!trimmed.isEmpty() && Character.isLetter(trimmed.charAt(0))) { + builder.append(Character.toUpperCase(trimmed.charAt(0))); + } + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/NordicCleanLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/NordicCleanLetter.java new file mode 100644 index 00000000..507bd092 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/NordicCleanLetter.java @@ -0,0 +1,155 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.MarkdownInline; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; + +import java.util.Locale; +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code NordicClean} CV preset. + * + *

Reproduces the CV's signature header: a left-aligned UPPERCASE + * Barlow name with a short teal accent bar beneath it + * and an UPPERCASE role sub-line, balanced by a right-aligned stacked + * contact list with teal links — the same masthead as + * {@link com.demcha.compose.document.templates.cv.v2.presets.NordicClean}. + * Below it, a single-column letter body via the shared + * {@link LetterBody}. Body palette / typography come from + * {@link CvTheme#nordicClean()}; the CV's tinted profile band is a + * CV-body element and is intentionally not part of the letter.

+ * + *

The teal {@code ACCENT} is mirrored from the CV's default accent + * (the CV exposes it via an Options knob; the letter uses the default).

+ */ +public final class NordicCleanLetter { + + /** Stable template identifier. */ + public static final String ID = "nordic-clean-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Nordic Clean Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Teal accent bar + link colour. Mirrors the NordicClean CV default accent. */ + private static final DocumentColor ACCENT = DocumentColor.rgb(28, 128, 135); + + private NordicCleanLetter() { + } + + /** + * Builds the letter with its Nordic Clean theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.nordicClean()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2NordicCleanRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity()); + + flow.addSection("CoverLetterV2NordicCleanBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity) { + flow.addRow("CoverLetterV2NordicCleanHeader", row -> row + .spacing(14) + .weights(1.2, 0.8) + .addSection("Identity", id -> { + id.spacing(3).padding(new DocumentInsets(1, 0, 2, 0)); + Headline.uppercaseLeftAligned(id, identity.name(), theme, + headlineStyle()); + id.addShape(shape -> shape + .name("CoverLetterV2NordicCleanNameAccent") + .size(64, 2.6) + .fillColor(ACCENT) + .cornerRadius(1.3) + .margin(DocumentInsets.zero())); + if (!identity.jobTitle().isBlank()) { + id.addParagraph(paragraph -> paragraph + .text(MarkdownInline.plainText(identity.jobTitle()) + .toUpperCase(Locale.ROOT)) + .textStyle(CvTextStyles.of( + theme.typography().bodyFont(), 7.7, + DocumentTextDecoration.BOLD, + theme.palette().muted())) + .margin(DocumentInsets.zero())); + } + }) + .addSection("Contact", contact -> + ContactLine.rightAlignedStacked(contact, identity, + theme, contactMetaStyle(), contactLinkStyle()))); + } + + private DocumentTextStyle headlineStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, theme.palette().ink()); + } + + private DocumentTextStyle contactMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().muted()); + } + + private DocumentTextStyle contactLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, ACCENT); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java new file mode 100644 index 00000000..037cf7d7 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java @@ -0,0 +1,231 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.DocumentLinkOptions; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentStroke; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.TextOrnaments; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.CvLink; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.widgets.CardWidget; +import com.demcha.compose.font.FontName; + +import java.util.Locale; +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code Panel} CV preset. + * + *

Carries the CV's signature pale-teal header card + * into the letter: a full-width rounded card (thin teal stroke) holding + * the centred UPPERCASE Poppins name, job title, centred meta line, and + * a centred link row with teal accent links — the same header card as + * {@link com.demcha.compose.document.templates.cv.v2.presets.Panel}. + * Below it, a single-column letter body via the shared + * {@link LetterBody}. Card shell + body palette come from + * {@link CvTheme#panel()}.

+ * + *

The two masthead colours (deep-navy header text, teal accent) are + * mirrored from the CV, where they are preset-local. The header card is + * pinned to the full content width with a zero-height spacer + * ({@link #widthAnchor}) so it spans the page rather than shrinking to + * fit the name — the same trick the CV uses to keep its panels aligned.

+ */ +public final class PanelLetter { + + /** Stable template identifier. */ + public static final String ID = "panel-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Panel Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** Deep navy masthead text. Mirrors the Panel CV's preset-local token. */ + private static final DocumentColor HEADER_TEXT = DocumentColor.rgb(20, 44, 66); + + /** Teal accent for header links. Mirrors the Panel CV's preset-local token. */ + private static final DocumentColor ACCENT = DocumentColor.rgb(0, 128, 128); + + /** Thin card stroke — single value keeps the card outline crisp. Mirrors the CV. */ + private static final double PANEL_STROKE_THICKNESS = 0.45; + + private PanelLetter() { + } + + /** + * Builds the letter with its Panel theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.panel()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double innerWidth = document.canvas().innerWidth(); + double cardPadding = theme.spacing().bannerInnerPadding(); + double cardContentWidth = innerWidth - 2 * cardPadding; + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2PanelRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeader(flow, doc.identity(), cardContentWidth); + + flow.addSection("CoverLetterV2PanelBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeader(PageFlowBuilder flow, CvIdentity identity, + double anchorWidth) { + CardWidget.render(flow, "CoverLetterV2PanelHeader", headerStyle(), + card -> { + widthAnchor(card, anchorWidth); + card.addParagraph(paragraph -> paragraph + .text(identity.name().full().toUpperCase(Locale.ROOT)) + .textStyle(nameStyle()) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero())); + if (!identity.jobTitle().isBlank()) { + card.addParagraph(paragraph -> paragraph + .text(identity.jobTitle()) + .textStyle(headerBodyStyle()) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero())); + } + String contact = TextOrnaments.joinPipe(identity.contact().address(), + identity.contact().phone()); + if (!contact.isBlank()) { + card.addParagraph(paragraph -> paragraph + .text(contact) + .textStyle(headerMetaStyle()) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero())); + } + addLinkRow(card, identity); + }); + } + + private void addLinkRow(SectionBuilder section, CvIdentity identity) { + boolean hasEmail = !identity.contact().email().isBlank(); + boolean hasLinks = !identity.links().isEmpty(); + if (!hasEmail && !hasLinks) { + return; + } + DocumentTextStyle bodyStyle = headerMetaStyle(); + DocumentTextStyle linkStyle = headerLinkStyle(); + section.addParagraph(paragraph -> paragraph + .textStyle(bodyStyle) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero()) + .rich(rich -> { + boolean first = true; + String email = identity.contact().email(); + if (!email.isBlank()) { + rich.with(email, linkStyle, + new DocumentLinkOptions("mailto:" + email)); + first = false; + } + for (CvLink link : identity.links()) { + if (link.label().isBlank()) { + continue; + } + if (!first) { + rich.style(" | ", bodyStyle); + } + first = false; + if (link.url().isBlank()) { + rich.style(link.label(), bodyStyle); + } else { + rich.with(link.label(), linkStyle, + new DocumentLinkOptions(link.url())); + } + } + })); + } + + private void widthAnchor(SectionBuilder card, double width) { + card.spacer(width, 0.0); + } + + private CardWidget.Style headerStyle() { + return CardWidget.Style.builder() + .spacing(4) + .padding(DocumentInsets.of(theme.spacing().bannerInnerPadding())) + .fillColor(theme.palette().banner()) + .stroke(DocumentStroke.of(theme.palette().rule(), + PANEL_STROKE_THICKNESS)) + .cornerRadius(theme.spacing().bannerCornerRadius()) + .build(); + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(FontName.POPPINS, + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, HEADER_TEXT); + } + + private DocumentTextStyle headerBodyStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeBody(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle headerMetaStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle headerLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, ACCENT); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/SidebarPortraitLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/SidebarPortraitLetter.java new file mode 100644 index 00000000..b7c2c05f --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/SidebarPortraitLetter.java @@ -0,0 +1,160 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.TextOrnaments; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; + +import java.util.Objects; + +/** + * v2 cover-letter pair for the {@code SidebarPortrait} CV preset. + * + *

The CV's identity treatment is a beige "hero strip" carrying the + * centred serif name + spaced-caps role sub-line. The letter keeps that + * centred name treatment but drops the beige fill — a + * coloured box read as out of place on a single-column letter — leaving a + * clean centred letterhead, followed by a centred contact line and a + * single-column letter body via the shared {@link LetterBody}. The CV's + * circular portrait, icon contact stack, and pale sidebar column (painted + * via {@code pageBackgrounds}) are sidebar-only and are intentionally + * dropped for the single-column letter. Palette / typography come from + * {@link CvTheme#sidebarPortrait()}.

+ */ +public final class SidebarPortraitLetter { + + /** Stable template identifier. */ + public static final String ID = "sidebar-portrait-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Sidebar Portrait Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + private SidebarPortraitLetter() { + } + + /** + * Builds the letter with its Sidebar Portrait theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.sidebarPortrait()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2SidebarPortraitRoot") + .spacing(theme.spacing().pageFlowSpacing()); + + addHeroBand(flow, doc.identity()); + addContact(flow, doc.identity()); + + flow.addSection("CoverLetterV2SidebarPortraitBody", host -> + LetterBody.render(host, doc, theme)); + + flow.build(); + } + + private void addHeroBand(PageFlowBuilder flow, CvIdentity identity) { + String displayName = identity.name().full(); + String jobTitle = identity.jobTitle(); + String subline = jobTitle == null || jobTitle.isBlank() + ? "" + : TextOrnaments.spacedUpper(jobTitle); + flow.addSection("CoverLetterV2SidebarPortraitHero", hero -> { + // No fill: the CV's beige hero band reads as a coloured box + // on a single-column letter, which clashed with the concept, + // so the name treatment is kept but the background dropped. + hero.padding(new DocumentInsets(19, 34, 17, 34)) + .spacing(3) + .addParagraph(paragraph -> paragraph + .text(displayName) + .textStyle(nameStyle()) + .align(TextAlign.CENTER) + .lineSpacing(1.0) + .margin(DocumentInsets.zero())); + if (!subline.isBlank()) { + hero.addParagraph(paragraph -> paragraph + .text(subline) + .textStyle(subtitleStyle()) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero())); + } + }); + } + + private void addContact(PageFlowBuilder flow, CvIdentity identity) { + flow.addSection("CoverLetterV2SidebarPortraitContact", section -> + ContactLine.centered(section, identity, theme, + contactStyle(), contactLinkStyle(), contactStyle())); + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.BOLD, theme.palette().ink()); + } + + private DocumentTextStyle subtitleStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeEntryDate(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle contactStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle contactLinkStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.UNDERLINE, theme.palette().muted()); + } + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/TimelineMinimalLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/TimelineMinimalLetter.java new file mode 100644 index 00000000..f4341c2f --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/TimelineMinimalLetter.java @@ -0,0 +1,294 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.image.DocumentImageData; +import com.demcha.compose.document.node.DocumentLinkOptions; +import com.demcha.compose.document.node.InlineImageAlignment; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.components.LetterBody; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.components.CvTextStyles; +import com.demcha.compose.document.templates.cv.v2.components.SectionLookup; +import com.demcha.compose.document.templates.cv.v2.components.TextOrnaments; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.CvLink; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; + +import java.io.IOException; +import java.io.InputStream; +import java.io.UncheckedIOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; + +/** + * v2 cover-letter pair for the {@code TimelineMinimal} CV preset. + * + *

Reproduces the CV's masthead: a left spaced-caps Barlow-Condensed + * name + UPPERCASE role line, balanced by a right-aligned contact stack + * where each line ends with its PNG glyph icon (LinkedIn / GitHub / + * location / phone / email), all under a thin full-width rule — the same + * header as + * {@link com.demcha.compose.document.templates.cv.v2.presets.TimelineMinimal}. + * Below it, a single-column letter body via the shared {@link LetterBody}. + * Palette / typography come from {@link CvTheme#timelineMinimal()}; the + * CV's three-column timeline axis is a body element and is not part of + * the letter.

+ * + *

The contact icons reuse the CV's icon set + * ({@code /templates/cv/timeline-minimal/icons/}) and its text-glyph + * fallback, so no new assets are introduced.

+ */ +public final class TimelineMinimalLetter { + + /** Stable template identifier. */ + public static final String ID = "timeline-minimal-letter"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Timeline Minimal Letter"; + + /** Recommended page margin (in points) — generous business-letter feel. */ + public static final double RECOMMENDED_MARGIN = 48.0; + + /** + * Letter body size. The Timeline Minimal CV theme uses a 7.8pt body + * tuned for its dense three-column layout — too small for a + * single-column letter, so the prose is rendered a touch larger here. + */ + private static final double LETTER_BODY_SIZE = 9.0; + + private static final double CONTACT_ICON_SIZE = 10.5; + private static final double CONTACT_ICON_BASELINE_OFFSET = -1.35; + private static final String CONTACT_ICON_ROOT = + "/templates/cv/timeline-minimal/icons/"; + private static final Map CONTACT_ICON_CACHE = + new ConcurrentHashMap<>(); + + private TimelineMinimalLetter() { + } + + /** + * Builds the letter with its Timeline Minimal theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.timelineMinimal()); + } + + /** + * Builds the letter with a caller-supplied theme (share the paired + * CV's theme instance for a guaranteed visual match). + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CoverLetterDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + double width = document.canvas().innerWidth(); + PageFlowBuilder flow = document.dsl() + .pageFlow() + .name("CoverLetterV2TimelineMinimalRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addRow("CoverLetterV2TimelineMinimalHeader", row -> row + .spacing(3) + .weights(1.00, 0.61) + .addSection("CoverLetterV2TimelineMinimalName", + section -> addNameBlock(section, doc.identity())) + .addSection("CoverLetterV2TimelineMinimalContact", + section -> addContact(section, doc.identity()))) + .addLine(line -> line + .name("CoverLetterV2TimelineMinimalHeaderRule") + .horizontal(width) + .color(theme.palette().rule()) + .thickness(theme.spacing().accentRuleWidth()) + .margin(DocumentInsets.zero())); + + flow.addSection("CoverLetterV2TimelineMinimalBody", host -> + LetterBody.render(host, doc, theme, LETTER_BODY_SIZE)); + + flow.build(); + } + + private void addNameBlock(SectionBuilder section, CvIdentity identity) { + section.spacing(4) + .addParagraph(paragraph -> paragraph + .text(TextOrnaments.spacedUpper(identity.name().full())) + .textStyle(nameStyle()) + .margin(DocumentInsets.zero())); + String jobTitle = identity.jobTitle(); + if (!jobTitle.isBlank()) { + section.addParagraph(paragraph -> paragraph + .text(jobTitle.toUpperCase(Locale.ROOT)) + .textStyle(jobTitleStyle()) + .margin(DocumentInsets.zero())); + } + } + + private void addContact(SectionBuilder section, CvIdentity identity) { + section.spacing(3); + DocumentTextStyle textStyle = contactTextStyle(); + DocumentTextStyle fallbackIconStyle = fallbackIconStyle(); + for (ContactItem item : contactItems(identity)) { + section.addParagraph(paragraph -> paragraph + .textStyle(textStyle) + .align(TextAlign.RIGHT) + .link(item.linkOptions()) + .margin(DocumentInsets.zero()) + .rich(rich -> { + rich.style(item.text(), textStyle); + rich.plain(" "); + if (item.iconFile() != null) { + rich.image(contactIcon(item.iconFile()), + CONTACT_ICON_SIZE, + CONTACT_ICON_SIZE, + InlineImageAlignment.CENTER, + CONTACT_ICON_BASELINE_OFFSET, + item.linkOptions()); + } else { + rich.style(item.fallbackIcon(), fallbackIconStyle); + } + })); + } + } + + private List contactItems(CvIdentity identity) { + if (identity == null) { + return List.of(); + } + List items = new ArrayList<>(); + addContactItem(items, "LOC", "location.png", + identity.contact().address(), null); + addContactItem(items, "TEL", "phone.png", + identity.contact().phone(), null); + String email = identity.contact().email(); + if (!email.isBlank()) { + addContactItem(items, "@", "email.png", email, + new DocumentLinkOptions("mailto:" + email)); + } + for (CvLink link : identity.links()) { + String label = link.label(); + if (label.isBlank()) { + continue; + } + String url = link.url(); + addContactItem(items, pickFallbackIcon(label), + pickIconFile(label), label, + url.isBlank() ? null : new DocumentLinkOptions(url.trim())); + } + return List.copyOf(items); + } + + private DocumentImageData contactIcon(String iconFile) { + return DocumentImageData.fromBytes( + CONTACT_ICON_CACHE.computeIfAbsent(iconFile, + TimelineMinimalLetter::readIconBytes)); + } + + private DocumentTextStyle nameStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), + theme.typography().sizeHeadline(), + DocumentTextDecoration.DEFAULT, theme.palette().ink()); + } + + private DocumentTextStyle jobTitleStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), 9.5, + DocumentTextDecoration.BOLD, theme.palette().ink()); + } + + private DocumentTextStyle contactTextStyle() { + return CvTextStyles.of(theme.typography().bodyFont(), + theme.typography().sizeContact(), + DocumentTextDecoration.BOLD, theme.palette().muted()); + } + + private DocumentTextStyle fallbackIconStyle() { + return CvTextStyles.of(theme.typography().headlineFont(), 8.0, + DocumentTextDecoration.BOLD, theme.palette().muted()); + } + } + + private static void addContactItem(List items, + String fallbackIcon, String iconFile, + String text, DocumentLinkOptions linkOptions) { + if (text != null && !text.isBlank()) { + items.add(new ContactItem(fallbackIcon, iconFile, text, linkOptions)); + } + } + + private static String pickIconFile(String label) { + String normalized = SectionLookup.normalize(label); + if (normalized.contains("linkedin")) { + return "linkedin.png"; + } + if (normalized.contains("github")) { + return "github.png"; + } + if (normalized.contains("dribbble")) { + return "dribbble.png"; + } + if (normalized.contains("google")) { + return "google.png"; + } + return null; + } + + private static String pickFallbackIcon(String label) { + String normalized = SectionLookup.normalize(label); + if (normalized.contains("linkedin")) { + return "in"; + } + if (normalized.contains("github")) { + return "GH"; + } + return "@"; + } + + private static byte[] readIconBytes(String iconFile) { + try (InputStream input = TimelineMinimalLetter.class.getResourceAsStream( + CONTACT_ICON_ROOT + iconFile)) { + if (input == null) { + throw new IllegalStateException( + "Missing timeline minimal contact icon: " + iconFile); + } + return input.readAllBytes(); + } catch (IOException e) { + throw new UncheckedIOException( + "Failed to read timeline minimal contact icon: " + iconFile, e); + } + } + + private record ContactItem(String fallbackIcon, String iconFile, + String text, DocumentLinkOptions linkOptions) { + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/package-info.java new file mode 100644 index 00000000..2388b451 --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/package-info.java @@ -0,0 +1,11 @@ +/** + * Templates v2 cover-letter presets — one per paired CV preset. + * + *

Each preset is a thin orchestrator that reads colour, font, and + * spacing from its paired {@code CvTheme.()} (the single source + * of truth shared with the CV), renders the same masthead treatment as + * the CV, and delegates the letter body to the shared + * {@code coverletter.v2.components.LetterBody}. The result is a CV and a + * cover letter that read as one matched set.

+ */ +package com.demcha.compose.document.templates.coverletter.v2.presets; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/components/TextOrnaments.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/components/TextOrnaments.java index f8c01028..14af837c 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/components/TextOrnaments.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/components/TextOrnaments.java @@ -43,4 +43,27 @@ public static String spacedUpper(String value) { } return out.toString(); } + + /** + * Joins the non-blank parts with a {@code " | "} pipe separator + * (e.g. {@code joinPipe("London", "", "+44") -> "London | +44"}). + * Null / blank parts are skipped; each kept part is trimmed. Used to + * build single-line contact/meta strings in headers. + * + * @param parts ordered parts (null / blank entries ignored) + * @return pipe-joined string, empty when no non-blank parts + */ + public static String joinPipe(String... parts) { + StringBuilder sb = new StringBuilder(); + for (String part : parts) { + if (part == null || part.isBlank()) { + continue; + } + if (sb.length() > 0) { + sb.append(" | "); + } + sb.append(part.trim()); + } + return sb.toString(); + } } diff --git a/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2SmokeTest.java b/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2SmokeTest.java new file mode 100644 index 00000000..85452b24 --- /dev/null +++ b/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2SmokeTest.java @@ -0,0 +1,100 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.function.Supplier; +import java.util.stream.Stream; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Smoke test for every v2 cover-letter preset — one parametrized check + * instead of a near-identical file per preset, because all letters + * share the same {@code LetterBody} shape and differ only in their + * (already pixel-gated) masthead. + * + *

Asserts each preset's stable {@code id()} / {@code displayName()} + * and that it composes a non-empty document. Pixel fidelity of each + * masthead is covered separately by {@link CoverLetterV2VisualParityTest}.

+ */ +class CoverLetterV2SmokeTest { + + @ParameterizedTest(name = "{1}") + @MethodSource("presets") + void exposes_stable_identity_and_renders( + Supplier> factory, + String id, + String displayName) throws Exception { + DocumentTemplate template = factory.get(); + assertThat(template.id()).isEqualTo(id); + assertThat(template.displayName()).isEqualTo(displayName); + + try (DocumentSession session = GraphCompose.document() + .pageSize(DocumentPageSize.A4) + .margin(48, 48, 48, 48) + .create()) { + template.compose(session, sampleDocument()); + assertThat(session.roots()).isNotEmpty(); + } + } + + private static Stream presets() { + return Stream.of( + Arguments.of((Supplier>) ExecutiveLetter::create, + "executive-letter", "Executive Letter"), + Arguments.of((Supplier>) ModernProfessionalLetter::create, + "modern-professional-letter", "Modern Professional Letter"), + Arguments.of((Supplier>) BoxedSectionsLetter::create, + "boxed-sections-letter", "Boxed Sections Letter"), + Arguments.of((Supplier>) ClassicSerifLetter::create, + "classic-serif-letter", "Classic Serif Letter"), + Arguments.of((Supplier>) EditorialBlueLetter::create, + "editorial-blue-letter", "Editorial Blue Letter"), + Arguments.of((Supplier>) CenteredHeadlineLetter::create, + "centered-headline-letter", "Centered Headline Letter"), + Arguments.of((Supplier>) BlueBannerLetter::create, + "blue-banner-letter", "Blue Banner Letter"), + Arguments.of((Supplier>) EngineeringResumeLetter::create, + "engineering-resume-letter", "Engineering Resume Letter"), + Arguments.of((Supplier>) PanelLetter::create, + "panel-letter", "Panel Letter"), + Arguments.of((Supplier>) CompactMonoLetter::create, + "compact-mono-letter", "Compact Mono Letter"), + Arguments.of((Supplier>) NordicCleanLetter::create, + "nordic-clean-letter", "Nordic Clean Letter"), + Arguments.of((Supplier>) SidebarPortraitLetter::create, + "sidebar-portrait-letter", "Sidebar Portrait Letter"), + Arguments.of((Supplier>) MonogramSidebarLetter::create, + "monogram-sidebar-letter", "Monogram Sidebar Letter"), + Arguments.of((Supplier>) TimelineMinimalLetter::create, + "timeline-minimal-letter", "Timeline Minimal Letter")); + } + + private static CoverLetterDocument sampleDocument() { + return CoverLetterDocument.builder() + .identity(CvIdentity.builder() + .name("Jordan", "Rivera") + .jobTitle("Platform Engineer") + .contact("+44 20 5555 1000", "jordan.rivera@example.com", + "London, UK") + .link("LinkedIn", "https://linkedin.com/in/jordan-rivera-demo") + .link("GitHub", "https://github.com/jrivera-demo") + .build()) + .greeting("Dear Hiring Team at **Northwind Systems**,") + .paragraph("I am excited to share my interest in the Senior " + + "Platform Engineer role, building **reusable " + + "document-generation systems**.") + .paragraph("I enjoy turning fuzzy requirements into clear template " + + "abstractions and reliable test coverage.") + .closing("Sincerely,") + .build(); + } +} diff --git a/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2VisualParityTest.java b/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2VisualParityTest.java new file mode 100644 index 00000000..bb796752 --- /dev/null +++ b/src/test/java/com/demcha/compose/document/templates/coverletter/v2/presets/CoverLetterV2VisualParityTest.java @@ -0,0 +1,156 @@ +package com.demcha.compose.document.templates.coverletter.v2.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentPageSize; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.testing.visual.PdfVisualRegression; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.nio.file.Path; +import java.util.function.Supplier; +import java.util.stream.Stream; + +/** + * Pixel-diff visual parity gate for the v2 layered cover-letter + * presets — the letter sibling of {@code CvV2VisualParityTest}. + * + *

Each preset renders the same canonical {@link CoverLetterDocument} + * on full A4 with the preset's {@code RECOMMENDED_MARGIN}; the + * resulting PDF is rasterised page-by-page and compared per-pixel + * against a checked-in baseline PNG. Failures write the actual render + + * diff image next to the baseline.

+ * + *

Re-blessing baselines — after a deliberate + * visual change, re-run with + * {@code -Dgraphcompose.visual.approve=true} (or environment variable + * {@code GRAPHCOMPOSE_VISUAL_APPROVE=true}) to overwrite the baselines + * with the current rendering. Commit the updated PNGs as part of the + * same change.

+ * + *

Baselines live under + * {@code src/test/resources/visual-baselines/coverletter-v2-layered/}. + * Budget mirrors {@code CvV2VisualParityTest} (50 000 mismatched + * pixels at per-channel tolerance 8) — sized for the worst-case + * Helvetica cross-platform drift between Windows-recorded baselines + * and Linux CI.

+ */ +class CoverLetterV2VisualParityTest { + + private static final Path BASELINE_ROOT = Path.of( + "src", "test", "resources", "visual-baselines", "coverletter-v2-layered"); + + private static final long PIXEL_DIFF_BUDGET = 50_000L; + private static final int PER_PIXEL_TOLERANCE = 8; + + @ParameterizedTest(name = "{0}") + @MethodSource("presets") + void rendersWithinPixelDiffBudget(String slug, + double margin, + Supplier> factory) + throws Exception { + DocumentTemplate template = factory.get(); + float m = (float) margin; + byte[] pdfBytes; + try (DocumentSession document = GraphCompose.document() + .pageSize(DocumentPageSize.A4) + .margin(m, m, m, m) + .create()) { + template.compose(document, canonicalLetter()); + pdfBytes = document.toPdfBytes(); + } + + PdfVisualRegression.standard() + .baselineRoot(BASELINE_ROOT) + .perPixelTolerance(PER_PIXEL_TOLERANCE) + .mismatchedPixelBudget(PIXEL_DIFF_BUDGET) + .assertMatchesBaseline(slug, pdfBytes); + } + + private static Stream presets() { + return Stream.of( + Arguments.of("executive", + ExecutiveLetter.RECOMMENDED_MARGIN, + (Supplier>) ExecutiveLetter::create), + Arguments.of("modern_professional", + ModernProfessionalLetter.RECOMMENDED_MARGIN, + (Supplier>) ModernProfessionalLetter::create), + Arguments.of("boxed_sections", + BoxedSectionsLetter.RECOMMENDED_MARGIN, + (Supplier>) BoxedSectionsLetter::create), + Arguments.of("classic_serif", + ClassicSerifLetter.RECOMMENDED_MARGIN, + (Supplier>) ClassicSerifLetter::create), + Arguments.of("editorial_blue", + EditorialBlueLetter.RECOMMENDED_MARGIN, + (Supplier>) EditorialBlueLetter::create), + Arguments.of("centered_headline", + CenteredHeadlineLetter.RECOMMENDED_MARGIN, + (Supplier>) CenteredHeadlineLetter::create), + Arguments.of("blue_banner", + BlueBannerLetter.RECOMMENDED_MARGIN, + (Supplier>) BlueBannerLetter::create), + Arguments.of("engineering_resume", + EngineeringResumeLetter.RECOMMENDED_MARGIN, + (Supplier>) EngineeringResumeLetter::create), + Arguments.of("panel", + PanelLetter.RECOMMENDED_MARGIN, + (Supplier>) PanelLetter::create), + Arguments.of("compact_mono", + CompactMonoLetter.RECOMMENDED_MARGIN, + (Supplier>) CompactMonoLetter::create), + Arguments.of("nordic_clean", + NordicCleanLetter.RECOMMENDED_MARGIN, + (Supplier>) NordicCleanLetter::create), + Arguments.of("sidebar_portrait", + SidebarPortraitLetter.RECOMMENDED_MARGIN, + (Supplier>) SidebarPortraitLetter::create), + Arguments.of("monogram_sidebar", + MonogramSidebarLetter.RECOMMENDED_MARGIN, + (Supplier>) MonogramSidebarLetter::create), + Arguments.of("timeline_minimal", + TimelineMinimalLetter.RECOMMENDED_MARGIN, + (Supplier>) TimelineMinimalLetter::create)); + } + + /** + * Canonical sample letter — the same Jordan Rivera identity as + * {@code CvV2VisualParityTest} so the letter masthead is verified + * against the same content the CV gate uses, plus a greeting, three + * body paragraphs with inline markdown, and a closing. + * + *

Kept inline (not pulled from the examples module) so the test + * depends only on main + main-test code.

+ */ + private static CoverLetterDocument canonicalLetter() { + return CoverLetterDocument.builder() + .identity(CvIdentity.builder() + .name("Jordan", "Rivera") + .jobTitle("Platform Engineer") + .contact("+44 20 5555 1000", + "jordan.rivera@example.com", + "London, UK") + .link("LinkedIn", "https://linkedin.com/in/jordan-rivera-demo") + .link("GitHub", "https://github.com/jrivera-demo") + .build()) + .greeting("Dear Hiring Team at **Northwind Systems**,") + .paragraph("I am excited to share my interest in the Senior " + + "Platform Engineer role. My recent work has focused " + + "on building **reusable document-generation systems** " + + "that balance public API design, render quality, and " + + "maintainability.") + .paragraph("I enjoy translating fuzzy workflow requirements into " + + "clear template abstractions, reliable test coverage, " + + "and examples that make adoption easier for the rest " + + "of the team.") + .paragraph("I would welcome the opportunity to bring that same " + + "mix of engineering rigor and product thinking to your " + + "platform group.") + .closing("Sincerely,") + .build(); + } +} diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/blue_banner-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/blue_banner-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..61189b5b5128d50a8326bde6ce21f7c36ba490d8 GIT binary patch literal 26558 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 literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/centered_headline-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/centered_headline-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a7bfb62e4afb40364cf640f75af5cb7eb7c962 GIT binary patch literal 29919 zcmeFZWmJ{n+b>9WH%NC#Ba)kLq(MNs5fnCpgq!Z}k}e66Mp5ZTwuFR$G`ImlY9k$U z^MB{Ve3=jP&N(ydtaZMz1RtJ#$94VcB34gFjS!Cx4+RB;Uo)<;b#DVYbLUrZ4{qF5BqLa@-ZE{PLx&=}`by7=#zIR>yHbOK6QDSR% z1Gre>JvKrzKZOvYGz3^mUu@vc_uumF$r-=@nVm4!r2sy!X*7~CF&Nq^wsxR|p{Jr+(8X2U#s|+i3etmoq zP59uW@4<4L-b;AiV-G)#1bRuY-`_GnySds_?rfd8(oILrDX)U5xS6f@Adm;wbrEF1C?Uf5$Rj`TWW` zUq7MM?WcjwWT^^NHAF3$F_G?3oE?pP{?i2b{E!FRV3<0&TKIBKqDKDFZE=I$Qor=3Sp2s#>|#+*MK;VPn+@MNw_ zA#8m<6UQgretkSj!n^;dPLJ$!O?Zv*``%(`q(O1e&E<33#WpC^>ZQ?plSJO&n_X*s zeEbcWXky5D2%1*b!&uQES+DAwifk*pts~O_J)hT-;PXv93w%)s_x;d5^A}Q^fbY4LpBg=P~-30mgM1C39Q2Gk53@QKqB=kKn5Z zk)xS>(Vv!DT&H@%u|K)bhsgzQ75J*(72RDh+10n1V{OvE`S+)_gJv{~e|Nfis_6EF z>jyS5BmGnESoojOY(XxROR$T-4{(%XS=OI_K0=Pmb)B!r*F38>sF09;+z&%philI1 z=3hwp?(eBR>Hb-!M(nKivZ}a-CnL)|=)Tbff-*f1z zp(KWl_C*@GAQ@xcr*#R3^z;yzgg`2~T_?4bU+9Wiv(v!5Zs>(bwcGc%kIMTN{p&b5 zKfjL-spFoi(l3+fTU+jU^W#O~`>z_y^CRfvFz4~Y#HNK7SEb9!q9D48Ewli?$u5zd)_e_C%-%C9jd+;i^JDHFNeWcK3k4tv`oZF%p^- zH){m;7C#$em|SW(^!sNN3EQitb3T#S{`JYjf)%?TX8FatXS{R}pISf}GYA`jj@Jf$ zIRjWf!=;Uh5+zK5?l0au2Km|S%1BIs#c_L-kqsv<>SLjmP;~4J<8QyZ%hZzJ3E8fc zs>Dn9A-_LH;=8Nkf=bJwM~C>;>Xr?&yT!JBx!hjez;TxRU3k64b~?ay>IxH2*` zn3fq=*U0gW1b60MKF^=7^_E{vG`IFy5Mb*V9n4br%`XFU4w}ayZ1~Ac_b(-@oXKm< zeR^}YGDJJTFC!iiu(#)+!ic!qsVwqxbW|CLqr_i?gos-QT{tEM&tw|(A@TmRT2U7P zXZufb2NNF*(b8@&eir3;*7}?hJn}dF!O~Z*r>z11{&4dt*ZpBEtVAxF9+S8}da;nP z@zwW0^Fc)dwJcKqsN-yT3TnFQYXea?4?VuVK$g{#e6CT;5py+A_=v4kXYn}~w{~y2Lwbx4*CiY$ISpK% zr<&mA;xCGdaD4k6;@sJ9=~yxK)H?9r`apbV_dz$TJmogK>zd>4`=rGT+eAzqrP^J8 z4ycw2J1;-Fz81>tO&h*Dh_`?bWtBR8e~Vf1%ZFp&6K~h;rCR~0bg709^IvOHiIo!# z!lKBy36VQGrnAu!thLWRC8Y)5U9D^+pm-%U#NT>j4kk0z_lG4k@Q^1vLQv54o&GMg zLRB@~7h0;jq5Ny_3@B_#0+g^-2XM!9aP}eFP zAQQD_qMD}%D{|V?>RR?FL5ysh!45w~SK6Q(*C_M2J5-#_7jvfMGJc2hYX_hRX7r9B zitetRdo~2R9{fQ0KR5d%$0DeS)Ke;>f2sd|F^7Ct0zZk}4f25xQR8}BNs_+)-WD{B zLmmj8MVqIso{%&vqAzgN@ahYAFOj3!XCA-ru0HDpAnd=&k33%X>s#52@WHb%HGBJh z=xqVrqvzh-vDcz`TX(RAt5|Zbb-ejvOKP#5Ghq!V1$BGsuU$jtHgK}aafUP+WQ`U(~#|h3XeLn$86OWmYG^4b%8R-CQ zs#5o-%Fm&}CKgZ&%~ly(3CVr7l4p;t3B_g30P4w*cg^wWjljjMxXSij`r?DX$dn7V zGWFGByZ@`utEY>ne}8FF!IOqAO$G`Y%-hb!`@=Bt@fM$H(Oli#ECpPh@)*9OXj9|u zm40oOIsz+x_UR?NxZCVQe?0hBwHqkSmrQH+_1kzA&Yk5sSNCP0jkyhWag2#diWstY z=He4MKx#zYH>!$jQS>8jeIDb%B!&lLoD*^B_#b~y02ad5^9qz3=|xKoZl^XHo6{+C;n?Xr?<{XE zGopj-%>*{Ph;04#ZQeW6~B4E zKS$~g{gJQTZ0#L;Jb0go+hJ|Di=x;=kB4j@V^%U`VCUJ^L1rm`*KTplas{FK56uUl zyIE_7c94&37`5!Ip5OqAyx&s$_h$xwkx;9nz-Bmw1sY2~EGPXrWdx=noO`pQ8_fHi zud8**b)r~7Cc7`1m|j9pH3*c_wzn*gz=8?ViMyMw?w?-We0@2(CeQTX@nXlDvvgeu zkLPB#f8+~LDnOUu_7wE=-`gT;l2TjJW-IF8OF$azTy)uAd^P`WSPpjW{WDp&Ja(s)& zLV*3fp=5u$I-OA;6$7u|0NP66;FEL?k!UTZc*W@%dbgC{K{R+3hEp@f_i@ zRj5ZGyboq`bNP>KZ%5eL;F=4g;pNho|FjtYiBc8()_k`RvsAa&c$#OKrSMe)DC}0v zvgM35DOogb?XILq4XY1HXy4fqE+4w;aeIC7K-_)!&M8qQMAWlYtO-GKyc0JjLU~*6HMGPZ-z zcS?SC7WKEw06l68_y0>ybttp?qe3f>zBjoE;&;frJM_EW;cka3Rk2m$d9ojPX{~PoS}~Z%!ku{Um~}{pvip3S{4i8%8w*oG8RzogEx3cjO&M zMn>97Y0A?ulwsWQGcHJaZN><`1`x`Jnn;nT>BD26?x4;k|J*C*Y# zVz^Hs;EAvnvV+CXQ(eJ#X_$A3u2b(?UoJ^q!_SxK-b3R8tpT4 zGB0B0R+Igah*$ze0tTs*g;uv)3cB;tUmoGt!S(=DfxC288IDEx#qX#ziRA$|7u1@M z0QcRSv;CNogByVFK7&r>pCc%W?^>yy3)q-2!_|r8E5y0SsYn(0))6h5iv=5(ZJ7e68o5-7Eqh@zj>bC}SZGkz%3ZT*)3bl3@baI}4x+z{~GHJ{OPZ@4dL z6os;HsHmvYzWVIWDuiQQJhc34#LpDOF))pJrU+xrRGCI@AWCLk{>)%^xTn%?-0wx?&^RsNAR+1 z=v6GkY2ASJA!Dtu9PsPEqWQ&8eDj!VP&gyS?ElZTTcI;Q9$#SJFRb{2ltR@+y@k%c z+8Wz2;C}(Y=VZ1RO`+xgaIHoUk#hj9AlJPVbV!dn#CUZnN8yfsm-dZN0a!m&TjB z+rV7b;`L;?TT>Cap1C^fE=G>1HXxN$8&+23y^qJah+k^=Z*K4lY~*ft*U%VnG8VBH zbh}#>#~Fk#mhbwYHTLhO<7A#czH2`C@m54z=m45$i z)+vxO8j_ij1p8pCpH`wc&0Ya`kX* zGz#qVkjB9FR3-5#JnZ>IaSzZ*egf)ZKS=PSQm5eC0Vv^LU;nL1Bd7#t+SXEjjgrqq zIX0>Z#lBM{n*Z6yT8qyHL!Kj#S73dA(wuGY=03joW%9xNqPH9f4&mr7uKSCh0el<$ z4wVAPnv~Ke`y1M+anSi%^hDly-upA8$ovb1xg_Y^oIbTJG-+VVjnCWZ47OF&x=;~qs5x5(4w{= z*wbQ-)65?NWt*VV*6)+sPXY5Xfv$4}jdP$Ar4YUUVEOg+NE%0rhI?F*qlJW96#B2m zp32P_QZ|Z{hWN@rNojGa6GbU>AV%4*4=SQ?*|N((GSG%~CzPlcWG8lZrYc=6N*Z#K zzf4PcuF5wK-x1AbOUrn6+c!~vK4@?rXVeZG)JIFy>dPG-;2=fboJ{F@^Uv!@+7QzT zx`&F>6yy-!7#dJT67{9AcnLF+V?;X=o~JGTh=LE*Mf%&e52Ne~K{bStsT^Li(DjI- z!0(tf__@S4&8k#_R@$bg!Als!1F-GuUmjhAh7MX)M6Al?+6bj-&}OdEOo@m25I+FI~y6f055;Tx1Nwt~)H`Ot)! zvbus|5!-tP=!f&o&ab3gf3PpIk^-XtOTxG+w)cZan@5h4g&3)TD?!AnPLJ0^Wfe|!SPr&H8UP+rmVI=mfq~V9Lum%-*PGO* zDslY zMw#C$Wpr_|RRp9J9bu_R$qAZUiULt8K>`tG0-d6aKQr&sV_HZg%}d=lGfG@@BwWM@ z7=A=@kzI4HPd=2!y0q*FcvRQ{F1&Id6YLN*QB(~F>xO*&Dm4mh77LPvSXEI2CiSNP zw6L4fLtVKWiZ71JDR_JFe%mFseNh?xjOzI!j(Ap99A!dMd`MyIIaPrs4KJ++B20tu zs?>6W3Qd=&Kw@bEVWt}U%VJr)GGTb0C4S_js3DVx^-PWNe0rn(1K9xYxl}a)g#GG* zNq`M+OL+Aggng;c3zXl*8p<<+8H|-r@}daYaQ~L!ecdyAcfXY=JpdqNa{!Vte8fgC z_HywY@V00zW+5H7>8c()0yjcN8B=OwPt!Pa(>wMk$Fu~AT7a)_bNti+Wph5M)aZu! z(O*2ww*(sk-S^YhS*rxlIe?Y^(er7b5{F^khF`<6`-HFiNBXLu-wE=kgzX2p;Xh_{ zh6xU^%9tq~!gbm4HDHE?n3Ohafi?;mO4kvmn>CwK)pcp=(q5bDyox>zL|-vvBpOAG zZA@6Bz*7zI@j@ep19m@r0z?pM%T55HUL*JYKv1tn#Zp`zCQ5?)Gxj4#_#ovsdd62M zNFFqM)wx$B5~Z)LMU({uaC3=AZR`6`Lq(L)kUMDTFV^4A)YrXEt8)w3%b(lthE+vQ zfzqq|XWJoIC*hb;Z=|*o0*tvrGnJdt2kUi#e>u3^L!=^kpCG{8WIG__f6&zbM;svk4*i zUL8J_K7#&YIMj6SGYgU$@QHdl5`%I$D#gh;QK8;Tp)1o6BfcX+x-i`lu$aCsT0l0` z@bQLcf6g#$HJ5mPwWQxtZ@}Zn*LL(E)UjgHYoet_p0P_B#UMmqPGPfkG&UJd^vRiCZ3Ov{9~A|Xbd5BOfKH4Xnuji1j#AMBllb1hl+1#r>W&ke zHSbWYVLn(%&drSVT&<#J;2@1dYxrh8Ua%@mC??TM5y8gCgK+g$OwP#YCDka?TAYz# z&Yc(IwsPhQz4lf%8HNF(aeV;Rdk3`ebvQu~UT$($NgVJ4gy{pyvtF~%kR?ewK!&Xz zJPc(>o})kuNtc+I(IH6gak65d^wP+Sz92D%4<(QcHM7Q~&9qKee5dD^Aw`61#s<); ztP9}3LG&rgAXT19-|!nGD8Qqu*mzh1jv+mQ5@Ihn(U0Yrw(dWS=LMirWw zeV8m!W`VF{kymI7`l1dW_Rtj;i7Q_)1Tk$J-(?U6G8$v>?fIDUh$7>Y!#7WK~|Ku_8 zp{M^SiIP4oIL>*J`goPNrhaU=s=RX(avhU9Kl66Z5U9_y2loJhNZy==pQ6dMUk{kP| zr2x%cGlrD>(~_;Zr0TRvJe4hDOf*M^%g;l#J^b-YN$4S2};C~&Z|Bo%&b7%zk;s4Ku>ODvY z6cot-O4JE3gofsm`v&5v&;I_Z+$b$AC43<6Dde%-4rH855g@TkzB#Rx`yL6jRsA#^ zAaW#V$>0Kbbqq>^)V|@F^2KN-rIUBf~J6Z1J+(4 z08C=PPJKiUv9l%Mpa2uxlW+8(4Kjb!_keC`4Lt^}13(f<8c_FvnFpg?kn!G5k^7D* zYz;KeE@01b4a0zCji(C)(HkHkgXhRX3BJ4LJg^10iA^O8|oVXqM+r?R%m5|I>eqd2q+@DXtkyZB3vH`sLCUc+-3o-MKzc8-CwM; z{3`x(aSptDBtEqP0+>r-yjVo^>W1Lm?@oPu|ORI4YtI5oMFo#l$sk+6I z+XHO^#~;x8g@{rZ{&Xp3Ico%9kau4XI`M}9qEz^-xAefHeX>fQZSZ$)vbbw5FQ7cm z6iQJ93hq^P0N5J8Hz^Qt)O>^eEyZtZjG+YzxX2gIw6aTppi-TGlxrkFfzAL#t-XcT z-3Hsf?R8MS002f%eEA1g`v<61YF=A$u7$aM2u?T8kJsB1wt#UaoDEQ0Z_=!#rl4b# zodK;+r%)zW6~}Zafp!Y$mZc-$IGo4b=|_MhKn7ukD*_z=n1K=`KK5!P^bCVT`t@G- z8u)CY&_?_*OJT!xP&dlJ-vM=uw1`hikBnfjaoC`^0v&6}(; z{pdbGpfgYfYnDJOTJy9%$;b|(dim#ly(0g{P;#YEQ_tgJ6t^HCNhIu^A8m;J`}foO z;Mb=Ern~bYARXO%jGKDLeD&>$UBf6Bk6eF5V3j;)l|-AxqvS27H>FKessK7G60U}E zjmY!3-L<|8d(SK*rBcD2s~`*uqJ6|a!H~vGBilQhfRpQ5l=20vE|796d}-*U*fojx zYN)|o;AZ3Ag`dqk7m@Ok78Ce(&+rDYh4o|_%J*-iK0<(ppJ%o`v#^6G%IokDR|AVZ zEdvsG$vw&D(0R7}M%PY0H}=e~s$c3ji{UatnFn_(k}^;b$N+j&dhc?HpR)w0(?9EGq9-Z+UMTy3Rl_2u z;-U593&9-XGugn)lfx2X76(We*MfFFjo%%>e_j^g5CGg4Ny13__c!=88btM;0q2Ld zrX>2LWMQ8@*TS4Tfkx9?tfHbqiqx+F2FM{vKN5&)ujEZk5F5Vh{jp*?6NuboyNCo& zO6de}fhQoOEPp*w!b>kO@u`ZHa?T^EtyVLvxI=i=ZLQNXFJLOC0`#J=e~zF+2TOdT zM=H<&Lp03(a1wBD^0l?3BLoI5h8WNd!WnS_H&=j_x7%u9-dS0o{)2DPYA!Xw9^LHh?kyCHJ*x}QO57ylfz4? zT3*Wo`HE_AU7B59U!NZxQr$~}rKMft*oI`AJ2X0E&>w7?A#xu*R)ThZaNJqo_LA8B z;BgRl9?S1Pn%`ggO0HJL>P2MZMkMumPkr=6I^e`bhcwT-MQxOjPE20(i$2~e7fl8Y z9g!g({KK;-?mvdn;7*rP%~9Bb>n7v+qa0{Ar*XbEp_dDyXH769#0p;{4ijDpmZxv_TKQsGxGoe=*Vri8b%K^MQN3km`1P0sh$ zTst&0tQZ3K3O^nS)JF;F?y0NoRd7l}e6I32Wf!gbKhRXwViS@ylF5)E z8o^;jgc|v$V?}aIl?bdF2-uZ;bAnt{3D8${`@=2UJVSxy`x4W!hzejn(i$8>>rR;D z@M8ysT>H-Lyggki8YpOx7fX%y*meA40)wD(V-wPC>QaODZAvVlY+Vqzet4|51JuCL zgLkjihEv(1iJ49-K>?q__Gq>P_QrM7V5tYI6WX`|P)&#!q^7G4xw>osf#&;Od1c=E z{NL|v>yJP@0v^iw6liP?FGbj`)*&X0=A!!>d> z5Op{lgFX*QVvr`H5$Z1b^FC4GHXVa;F}UaaCmQ9GLK#U-2S%-~)<}J!5^xmyY40$B z5OnvRlZaL*R-%=L?`a*qxceMvhWF}qQ5)ceKsG_XKQMv3XplN-e2IEx2GrdYkKwSU zF_=3sz!EjO6&tUP0w&0=0u36(tsg=gabT|j=I9@=T6nrXdlV8OQfpNdDY!pXISxS1 zzu4E`wm0fx<4?sw-?baS8;9*J&^>+$k4jR-VFQJ^HTW*b5f>+1eL&u1I@XA;Z@UTw@9+ zU+u0pr+fN>C-H+5xR@k`y{vC8RTN)zfOZKwFFhK=qq-+jFSEnJ(TlRK8hSQUZ(T%1 zgE@`H=O?RYX+7~TvSb`Uhs&vc{aVQ6kh~r#ot{sZnQ9_DHEB{ZtqhxqsOh6?XgH7) zb>51Nh%%8!=f|d7tWTah7X`jcH7F2&^k{fol}1vMIdYj6MkMgX=Z_4zfLv^n z%jJQi*LT>$Z4?r>{6$^a#+vy=b-rVo44f1zIhFzL}rP5-#Xq5JUqPJ z>uTr%u$ZKxk+g3CwDY*fw!hRh+GTbzKEVq1reQjyS}ZtHwmVxEMIn@KPRFmjEgMG#$gD19z+I;p-d_+rh9&!koYL`Ocei>ZhGYK2-?fhPxDBi=8 zs+XVuyW_j$PXdUKQ>dgqU1~)(1T#gOfiC8QI*`JOfb+l#33?-mOBhV8LuRPvX^cIHvd!eJMG1QCYO)eXtyQ zQlTO5M6w1FUOVvx+{UMd8m7p(*mA! zqU8q1H~FS~)j<5}htvLj1dp-Etb2IGQ8c0^wMbcP@K9Jsn2GKRz>JQ=lbNpI;OVeI z2}fEx8aTuxj;AyNAl0it^j;w7g0uP^F<{Vnqf{?um#V@KAgpOqkWP#Mh}fEXusP3YDyu! z5Eh2E8GQ5ar)$_7aaY*JGH7m3nCQ4 zv{CVrc0F_4JTvc~Zavj8bo7+cMgk%yjL$Dhg(d!hfkS-l8Tl){)Fg>+Eh1m$0?eoi zPTHr^C8+dxUnLLpR@u8MqcVj9{}%YPrq6}-_y2WfA-HCksV?0O0w<=7I-u5|BF==vx6W&bS(LhQTVZs>aK*Y-XV_5Sg7O^NOT z*Mns2A>`$tEHZVBr!z!0V%+%W?ej_#>B30Eg?`}?RNN~3H8Yd$)~hG>SEeWxy>i87kl1*lR-{V0DFr+l zr6!DT3uTQmD(Yty8zLR|LZs~hXDZssey;A*mIm!T@`2ud?+Ct1_%n}=icoT~RaC&4 z_odNHYxlR-XdQJ@HYdU-rLXDVYxcr&tk?Hf z18jxtoo21+2X*ESQM+JJYwngo6xKxYvOPf z2^OXuVhska>t7!Dz2bRS0Z_q6>;CQ&EnKtQBfh+he|XH)_=`zi`6WnCPVh71j>U!Jn<@lFFGDr94 zRK~ic@%m-&&6+iiKx+=q$nm>CRvJvJHmw7zdAI27pBRZT|JVea&l0Ef3BH}q%gv{5 z0>4;H+Ri$y?h*az=;RF+otk7@&NaN!_|Gdg1i5P@WV(--#5V+q_ZYA6Ldh);DRPqSr4e0x z4zYFkl!8z&DNUYjU7(?#e9m$aC+bE3o&&QHH8S-9nJNybiL5w!F06<$swuq23v7pm z7yrUAHTluLvEWS#Lsk8LPKYvHhmNr!&?it%N4DoI?6$l^10G46qMe4!jLZo5d{Q)v z1>V;2j4W~|4GXnJz*Y18y?C}2R0sNC>!KME!IZUS^p0bNU1z^PI$a4*R^c~x9U5UK z22eaIc6m9d;%`6=X84zf0Usi>4-{6YNgIL1l>FKRR_K@mq}K;n_0K6a5F`p5y<|<)X1aCft6j3u!u0*1raegosyGRYKq1Xv#`E4{#$Tg zgv7oZ5YTnU^~1CYrxgupL}j=taKX+*HftXJ>=V}iUaHK(Gu*ynELtQ88x|Gdg2BzXh6*&Hg*tJmHu!ZS3`L8pO|ClOR)-UIsz6zwN&n& z+pw(F3hNQG>5@ntwJK=!X_s@z~!F-X%YL*sqNd{+wt;P|CAf;bB5z!k!!U;7Q zQ!I_^N-b>TQ@KS|*EaOck@aj1c+SbQpZ%_-WGd0^Z7-^SDw!|Gq27_GM3|SWGMnA> zx5)6D?uURB zzt7!lx8Kg#R5kW5g$^;CS7A2tASV=N9+|G-U}v0}>ARIjhc@vxQNP2BGr%Vk(00M)cFxAHg_d|`LJ z84z*Pp1^OoYkIFln@hF^HFbnHZSm&DCs` zx?!iIQjEwD42yU+c|VBu8=7ZogrWOPEEdfB*}ITrwuU4_LPuOZ4`OV~xX0J}|97bl z#d*h0pz}r(E6MG)0f_zfk=y#TNC?PnT-Wd5l~mp~*{yU2PLk8>Qr)WXqNUwODu5p6 zZw2+gI(>1Muc)t|TKMdUIOH4~N9jJAJs$3fLjrL_SI^kL?ah98R_Gh=yFJm<1tpz7SvdrGF|X+={c<4&4ozwA{YA-f zhz-!NfkYi+SVSTKhGXWaOS2e-6o6&D7Bov*38E`R)`Dlh}G3!FRz8 zPu_}ED@Nk2SEDkXgxvnop?+v|qiX}y&OL3(nX4mD4DU}iJ!rH19TQjW{z#oK z)N!n9fc=|}s9SyZ`h7ukIVEhs@(a-2RZH08{${tIbwESXG!LapNeo?m{%_m`jRH#t zLlg*pK)nSY{yoq|0l_pR`RI>y5~L(7<*V5sCDBDcqr9=^p|Jsy*-p$cm=XeW6xFww z3F@GcAt;_J_vtZwJ4r5o^$le*r&qcv2D-E6F3j{-(7H1}_0I}^zXQ+?7uuj@HHIO_ zczHNo5=3%WA=m8d?I(|=9j4e2WGD!G3nS9I*o&6mYU3b%=j^@KcSi6T4Eq2@z>wPe z2HMB;+Y^FyF;nu426w{*r+*9Zn8+r$Jvg%EQ^kA@A z4@n7Jc%{j4bQ!oK+?xfy%b^!QZ232-#rvi*UUK3t8zW|za@ zGF-ItLG&%~hMVjwN(a*<((c9R*k6vy65f*AAm}9QpsL`TLSKiW#*D}lbtZx&9pl6% zzX4-0u@NaHK>u|?7iK22)(_%`3cfvtV=Jw01MM%N8yHi)hJF1wv2r(ueZ)$LE1(AE zk`C8`WK!%K7L?EQWzND(W+Yqpwg_FYQJE^C6Jf<91Wyf7Anp4DVh00Mw9Nx+|1Rmn zS<_2k6zP|#rX&WJR4wD+Az8@Qjq9x#J_#U{TnT8Gn#@8mRhH4FzPGa#-bQQzuNvHe zf(!>pZ5`n90oL4K9QnFuLtm(Yu!ArzMPwDuySt?#?|LPWHloO?-e6IRTAl5C9EGzT zfm%wE!F(h1JR{cp#7e4TK7OYR1?^S9Xa@^}iG8OHU6@g77G1;wZQHVN#Qa3Hot|nO zZE@WNk!gW*Cx}t)#l5*9Ni2Td5fp=dQ?L@AHP0;aB;bI6xA!{dNk?Py3+`v!cTG=1 z^&8|<$Zwcyti-hr=Gen6o1F-;;rKs(aH6}<)KE(Gmk+=i=roH>K{hmP{i#@Sa7Q+F zo`Oz|VdS5O^e6HSI?^=qpin+{FZu5OG-!)HQcJKF{mB+JuS*Si6 z;oSfJ5%_m@41dI+^_p=xx^+*+-d04q^?kVe>k-`dNJ;LYOiq3Dn<2LMF_?pPv%jU| z6x3@uKBhO&LBhWHMT5B(c`l=1Fnnb?sP_|cHa-D}Ei2g79bJb>v`AaX!MSGv#xqZ@ zTZ*vMgJRYh==aNFf=1GO;LS;PWXD8ms@059(HyJxTJFo<0BM5peF24ugwc1N%MvLo z`2&F-K9-P({;NJ%n``;Z6{G&7%o*e*Z|@WYQI=q|R{#3=Yj4LvYS6#9IQEU>cXAcd zCn4%aJzes+$9ocN7L-lUKh^`KzWyg(2Tx3V{EpntKI$TjSoGI(bknu`s~)FcQ2cEi z@BSJIr|t|JE7Q#6l`wmV+Pb^)eUFPI??vbWZf>$b3l~T)7*+bd|5L$!G9b(ld%-=? z8TiJomUI8ntWZ(uoD^-5gCZ`SB4})q??~Ha9Cl`gQ3akI5KhkMIJ`5|{6Q+(i^|j4 zLpV^MrSb_xXxpggya+rZ;X{I!-0T$!Ies9#93&v4ho2{7f+woQUrm9l4~Zynu=qR8 zouYiet-zIlsblBc+uo;CcyU6cJ&T4+Ds0suKO>?ufr6WzW+&O2-{Ot%V;JwcJvWo(B^y06UnYaI`I81eV2a91sHjwLrTH2vdhF3M&qK)0A6#=PE z#Aoj;$6>%-Iff6JWLST&g(+|%BR%R2n)jsU4|cz?=sZ~(DT{>rf|0=c;SOD;l+l_g zr`#Y?`FgU!@a6@UsPdc(oSNIS;5+I|Tf)1G@!(F_MUyimXCz($?{;_Qsr3_j4f!_= zaa~;90fUAU5BI{zbr;>FS8-!g+d#zQqQ8G{NQJAjbYa8+61a^a&Jo#-W6bqAm-uCO zUDOFox-vIK?1dwEG_v#v6&-6E&v+bykX=UpW4)WEp1RX*WBu*HYC1|3ysjl+bV zoa3mjKQug`KJ^%)0#DIfrwqJ}?a)6@6OGZN#>L#zg^1GvX#(M$gdS-o0@q?h z^ljP*28Z^bALXc3#h8;KEq$1(G#3jW@*y?YBM;z2O(mXtqIR7?hKzzeB?NhL8k*tylq_;>Ck0QOl>yPWM&{k*JphY+!zUaDm3h5qdMB^|IGY|* z;0dWg?BDHuFi9)5$;j9<@S$ZE>T}`Fs()_5^2$s%Bn5wo^as(w)TYTmdV|#`A&w$)}+l zQoLgA(mCn<_t6p-<~BhCFoGx&Dmi1j)F@prbaUJDiw<#WuzF#k3H6Vox3oDRII1`P$rWXMu-+yMdv8D>!|Rs>sH zd7KqZ!3gXjM$PWh_gb~TTn%DW^$TJ&GJvFU2(05W8T)NRMz(dCFb}%fmE)HUawwIZ zJ`0>(eWJkg!a$K z<`ExB=KiRIimCp@6;>Yw3yh56>F!Ni$Y#JF7AP@9`3|)>UgnQxSoU+y{U>>A!DJN3 z$eA+gXw@u|uux^MTk~RMgCN%WRUBRPz*<7TiuvS*e(cw-Z7vSQ!b<+$t-LgMaq_U< zFAKSC&fa}r{NdfyQ*MjoLqltFFN8jGI}ws<gZu`;U-W@K?CKYtpd-=@5dh9UjzT{9-jdhesrBBE0{J>sICkHctU3W=cWg6H*~!2>C*k2-bLaAtir7;2ulHOAOOO$A z0q>vVHPlmdyPhJkvNZ*qMXT7d)Q#)~~b{#R5YH>~r;e2%Xw|@*0 zcvrE9VUbMkeLuCHx{M&Hu-BZ4NN0+AXA2oiby+SC>h!yV#~J|U4Px|=+MWw1t!{Ac ztUBA~3n&Tb%VY|y*Qs2Vz+|7KCXq#gn99%ip$VBH7WsFmZ#4R0C5ir_N~zZlfTfIl z(r$hpodJ?n+>^Q-FQT&KzsRZZf0ik`BPc8~6JC*x?r&wo9f0N6R8LSl2Mr3+Yvqix z*L(%u>qY%OZh175w?pRd1y<$vKZsfKUpf$tI%skimjZwIV#@P}YdV%_uHaL{RO(WO z9l0g}>m^a^Hbz%=^RXZ0Eq_0-LapDPm`pc2kHd9cYgP_N3yglUesky?7L|Jj(k9^V z2Q&fiS4e|~{8tAUQlMD}Mk3LJERZ_~RW*6X8FC4%WiT?Y6ixK+U?mv*p#~#|gX;0< zFyNCKR~tBP4yS_Q*Gi#TPheaD(tEZ&Y2O`!N&!y80)YSTiCaa_5+6Kf6myvXonqjA z(EeW}%Ont@h>63D=qGf*kPP4&aKToWI4j`UDj8mu2CPG*&p?=~6?i2!`cd&5Ec}!F zjwA?R)hvJVU>Z_(avuc#X|u~@X@8(Sd`P!}S{1O_5ioK57-~ILDB~}(ejm}PtByYd zr`#2!^i>n-K$E4;og8$l?@&dZt;r#_)F;5rmePJJrt#M>O%;T(D;ZH22BpD3JXHs& zl_7q?>Q^uU7{j|wq$>vcC2nl#NASlMu*>1_T+s^WYkdB0VFIR=Gr$U&`G;_#Xo_IR zxC^Sp847C-9Q*c*o26@DW>;tw5M`xvFgyag_?_KSCioKnGU)N3yuUlvcYBnow^kEe zSQE1>35qF%iMEO{ya;>6zGYXuveG9lPw-|kiNK0-Jz0-(ATY%g?M<1V_uidNtoi~N z@^po7Mr^m(s3%}79Ed&?A(e%EDW5+e{X#=$Oan=q!XFCiQao@Wri|sXfgoDq(K{)> zv$Ye*vo?w~&|@ifP21sspvT}(CJ3wzSp3tDZ&R89U!qV&d6(zZ1+4dXnYreTc9@Ys z+}Fl46N@)GQ8c_v_zEzlG@Y1Bh!KdGDA1TAaxlRdHyOylm2tq;aZzm{QYyr?Ngzuz zOl|Mvu4nXf$PHW`&L2AZHZ7Iq7{i)v-vBc6C$(RxXsoFXYQRq>uRa?_$Er<5?wlOWKkCNOlm2Or9zRqH_l-bN2hL7;u^353?yxm{hecYA5`lezZ z?POz$gNeI4?~T`I3s#Zv%7=T)c@MK9*xs?3=&UC!d+eJ2@}sgScPR!PLfO)5V$-e( zj9IFo#L9v{P4Oc{$`~HKS)1PfVvzRH3@J@eshM_>v9iiPoZ{1HB6=ZAZ43c>5RjB8 z>ksUL5F@Jzf>IRpvw!!8Im~Z#ZR?;rtebw(evF;LLaJN&x!bymK+0J>m(FF5Pm=^$ z-7a^Z*7giDa^B%BK!dcECp@jrAwE(~X8f?+dgJ_QwA{uLUV9hwp7}{B$7gZgb%fYv z|NQfH0kIN10{JW@e7_DLOZV?YpH8TJGAe)c+7iM^PV>kqxjSQ;G2hUgz$3oMm{#ud zLDyX;aS|#l;HQ%Pm2I{JZ!$JyLZE%tYufJ+5mk7FN%;h(h^lFDmvvd7x}W z2oYY|zA;EqVf%#svL|qghv6vR%b{BWyB%A3{ei+roF** z5rvCLS5xFYk2N<9GB|$D^-)1XCl$M>+q>*>Rt=ZYL8L?DNs=YBn=wOQ>tp{D*-`@$ zi{v((*ZgpGZ$eeV(icyJrFmZ*rFSQ%g6OgNEj+s}VuN?Snj4>7(FTt#{53)BhATx9 zO+`D(vsvJs5#LZr3AG9_js73)on=s!ZTs#4rID8Ilx_i$MI%T_ib#VXAQDo-qC}7` zkuE{Hkx-;V5Y|J7G*SZ64Jz!D_sgDnXV3iir~P5i}b3Qq1Qv*cf8t;>D%PR@q$M;lqG_4u&=h7_x^xjG$>H7^xQn3t@i)O}%PQg^Ov z$2uwMtE@PKt3q6>1RlZtx@2AcARU!g{Rd+vz}#re5^*=XV1I6#EBH&M{U+t0lg`~ROT;dm{XFzUi$7T! zTVM)6CrzHK|PY_2E{J0sn;@ycv z@d}rS`A6Y9*p|bd^c!TWA3J}15$POXJEGILY&f@-SSA>ezqjh~49o=%H!Geiq2BcW zb#z^&jIujhm{26p(R7=jSk(={D9d3C)0mAt8${!iH40tcIbcq1$GOhx&7r*K?z=?O z4r~t##TDW2fH(;ji+;VvW{JQccRV8XEW<>XFjoyvd(_vXVA9a~q(rXHU`m`bFdnvp zSMlrQ++C4EULiph58mBc4Z`74M&C>{reqz_(HI#2EQOkv_&?#b~8O zb^NJ}j?Md3fr$UXHQW7i3J&&e;jg;p+lD#@s|q`t*^gp7XN~fnotT1!!dXdZ zPhDgM+D9vN3t`actZ%Q&;5TftMEp@Pr26%q^{$t}YR7}h+fxOY0s*!N#jYm{&9%db&xEkRwT@8vP~C_bVI zG4YkXT#ZOjkA3r#IrzsQC3pO+eC+qg7J8M@o@0{9?-YutZbd7}8ZFPvv%(&?z90*u znilY}r#`{GXL^hBKpSgz*j1-7QOI?i@}@Q-gGG>L&=DV<{~m56i#0;|pV%V(G9xik zZSp9=>-yh%k-Xw`!XvL8*X%icNJKmM@kGpV3VZII4NyS2_`^WH-@GM8%6xlBOc~X# zHgm+Xdd*>k#d^Pz+dt;Ddpqwr1-N&D_r0#)bz0o^BH7~QY^$Lgk zzGbc9XFOe!it74ZgcK%#O9@;N?A7I)$rO;o~=m8ofcco zrhS-?y}-PqqrN~yMHz3^e5b2rt-S~0z3yu1#yX;RGB~ykWK7XK^PAX8)Qnb`ko;eh zv}W?O-P)^%{4mfZzLsp1(-LA5n(MRPHpSifI!KkfAuk`P_SpT7CF$O0-j+@i;oRIT% zx;zs3C3h3cR8Q|ULnZND0jr_dx0dLIDnikdi9%v1rA1}*WR5#`0CG^;Pjmw}N%EAF zh_lo7Je|*;_nF zB@YR)V8xAE2>xa{{-;cA^FAwH$w+pBYykn@3M<2X^Ct5goXT-#7bF*LE`bioAFjlk zhVM7xOnaW3(v5JGg)s>YojpH0<#v+`KMply>h}96Z$_iNSiUwa%$kGAVZuMhLv7n$ z$gHgsYgXSt9bNy}L+Qfr!*CTb$B+-(Xo*TF^B_mC0<#b)+Y@SV!5af9whJ+0pJjV6rNZI*&j5MtRmp@WITJ zi2ckRTMw&C2lMR%he%C4MR!puX_Dj8Y?P20SKE~NLt5!I_R24Z6S98(3p?NCAl5!D z6)}%i=cHYujTI{NOM4Iy;i+ z)BiZ(a?m}M~Mu%Kg2%3am@(K2DtGR zO+#}EgbZCz7#-(UY(}J@WoIa88S5rQ@}P#~tEc4n>%f3D!GB_0jSNpGxioNQ%MB;; zJ$_0-c?kw)FhJIW>``;PBQ9U(C9RRc&pk zi^qOLu@<)h_28%j7wNsX&`g*MK)+UK_}TRdIoNt-yw&Mgg(=SW{nv9T$AUfMoS`&* zy5Aaj4VqCKkb<8mH_;}X4h6y%3l*Iz-iLk_{aJ9v_wrupb=$!!r%z9xW%*P%=pbuf zz}?+@g0kiiVk!#U-jp5uC;13VsiqH_PPt4MYd|GfWZ`V0ezeor>Upv`sY@@1=8ev( zY3A?8Nsy!4vjjOUL5g(jpzt&2L-+|fg8f&Ry+PAM0mjRzCKZ+WjKQ+U;=biQW?O83 zNWcB#xwGg1V6pr0g%idg4cy4l;YVpug3!ZatTr>Bcw~9o0u12Z=&!vWE+NESoU$L7 z{~VEIN-fndq1bXDTfqMnOwu{y-N({Npv$4DHa+8+WZn!tM7Hgw)^n#PcKkUs1Xvx6 zS0Yd>-rkKk4Nz`wzGm-2-LuY33NdcdEd&V_93?{|L8>VM1&~;bAl=<>(Qdr^&7bEU8 zR|*-gPS$p&(UC99M;w#jU83F?rmP}7#7ZeMtg-|+iJpwh;&qK5^Ly)-h)=Ht6Xq;v zRD>uGUNXPGj!P}XSOAf(z+{D0wHfybAUX^d`ImQ!m@S(2tKGsq8QBlHL2FQ9dgE`U zjJX6X`u&}VFmEm4LX{@LhS;<3bgiLl=;H(}g!d`p%FE}4@fF`zGQDTu%dHYzg&~y- z-g$Q$7Hf3~41FbiKV>ROg>f_TC9FrbtCWL_wQNEzugVjUbpD(tl{2^i@-UF$?q|;( zhR+S$UXUnbKhM98xAf0Ze-j8&Lt@g!zCB^tWCq!~?&zOcA`!n`!DevT`e8x9FGSvz z&R6L?+9!j__bf@ih=qP#I_H9!M22{Ubc#EvYOwjTU22^fyTnuG>smZ7I%88VbyoSc zb!Mcm^J0$a>@k2R7iHP)82KQ|@lMn3oMj#khMWS#9RNLq)aF%z|q2^$tQNjU(~9?FVMASZRLcCCgxU z5GZG2unS7;a4kR@0V0l}x@wESqdfQ9flT3{duyo#G~d(7vmw9-K_(abc;v~f=a4x5 ziyz&L{>Z~M66|wlq`?d%v_MjG*?5Z;f4DKmqxlckbp~PU9=MDzMRub{TnV#FqdE() zRm~$0G}2Qk*Rmdk>RvhwJ_A$C(&#XH+9qT^(v3*tCQpk1o3jSK4CEE&^DpPOyYgg4 zu*E`pE(nz_Tc0Fg7Ok6wQEl{zQQ#V#h>iL;^^Tpu|1H_38`>_%*4%<+wP6%?CtJ z+8xhj{s{tzWd#rtsl^2ATHVe=^2=d-CSrQR_EL1fabW^e|O&5Y@N6OVfQ+V8x;d?oTPYGR`a*#;Xf)cjlY1LC?O_r zUnboQbD2myp#|?*&!P6(-B84nMtf*g^B6b}f^WrH0;DI@jB7B*^^}$QnwOO*@Bva4 zATW`~leXG;$Ge~`amraA!sS8=EpJ)m3 zFqjMd_dC?>uvKwx?R9->f$fj@tM;!5fo2Ks!&?kMG?7cMo^6JxQ3EYxXyIUrdctZA zaj(L;8arL(PQS$X4>7djn(SnhR#jhY7pBm_oRt>G(sJu9b0nO)7Mf|d`CO(3ck3Oe z6D25qB)|8Cq#o=D^71-VYC5IVNDA8HistkCW$ z()$4vFx9~0#2($rM_^S^&6tbO@5B3bYt|2SX9M=@Jq4KU+h;V+$&OIFdSq z$H*kP^)_N|Ewy1yaZg&Lt56%m1IH)MYq^JH^M;6d<_$oix3af_=1s4V4T3$%%IWz_?n#e9;Vip2C zD?O?LvnOz1eQ@CWpqtcO*u$l(PJt=EnoBTSL~u>+S@eWtk8s=@%Y&Z-5G0bcVmkq) zpzxNO)lk87slB{%Y_o<6r-S7WpF;jO(8n>BndSu#~hDkTlYat9Tbv^`%ZT_ zh^Iki!(7E*e9$3`X>i$v|B@Qr@23ecYUJASojkl;bG+DCj8fgH z?ytllMQ<)@Jt|q2yDk3~6r=Yk>NdKq4^xZS2!8&qzFcAMSw}+C0~^v=o>YE3hS6q` zQi=@%&DNX;#gf>`r5oXYm7S|1TD<}?s#ZB#yhR|Yb^2`9P|-XE1B265n{xj zb{f_v=#npwMeqHYa23uAyg$TX@S0KXo8FKI_5y|bdfMF3?du(*OAFv_O#H-S=lsH} zD3*Nv#qL7eC$9#w7dSPM(u0^};koysTxWC=l%sa?St9W#v&kCMNcV;!qs@v(@Y6Wm zf>oXcR6cG@JIo>nFC+<{#WfVKpYeN6?_4jW`go znNu}vYZQc~k%Xd)lsvBI{}@)!PJ*kj+Ho59#)t}yeIC*inkf!^>NHok5)SOz${FG? zxw93tS`o7=%iG5_+DLhSul8=_)SS>0x6V0|_<+KiJ2k|G5icH+2e(yX3EBL^dOzf5 zGNM;kxN#R^!|Ewy-d1iK5z;BH>lxpkFj3u9DACRhF~cPI2nSu*MEdfb5Ak2umAgrY+-<`~i7m>xZzxR*6W)rP ztQ;8W7v6ukIV+}~AnW;^8BY~sTJt{%tqAp-U%3AW_oXTI*&kAB3Cf{_-kv4vz3c#F zN?q$_j35mG23C9Lqu2xbN);ino%krUo_E$4bN#`oEzJB>+gr>*VxX*YU6)mYL!Tf; z>-{v~s|=kSP0S107e97tr`DMp3YH{=lLpwt-S=hh&#Jz^Qbbl?W0*eYuxyDi3&4a* zj#1xG^KdO#H9RHeW?tH>FbBnE3EXlIVG`&$?Qi+4z9rqI@#5K1U*~VM`6vG4 zs=6Mbu2jO&2;5|?I8jkSxV{+U@nEd{x*r2HnHzoNlgZw3iiMj*=1d-(nZjJ^F(e0e z#tedtue;ITGrNlg)m%F<_u8x!NzoD#!o~>@k&~%b;7}vKbxk%8m9Y~VN+DuytkSp1 zqa5=`pW|Tt4mCv&&7MXc@so@*LEdx>xtr65gl@Iixt$`Gf3y5AUg|XdNmdzvoDEXk zM~4GpjY!1qOX~^}(d3VJd~Qj##1(|0d?tXh~cA2nsJ>U@7< z17DZoni8s8r_;3P3zP!>Bd^}I+Qc^9?puY8xRkver!$vQxlI5aZ=Hor(=J_BgQ45! zMrzmjI?49r7f%7q?~!ldoUjsU+Za~TzN_LUo>+!7X(By`*v0)rj7OBZ>Sws5UCrRjcHuAvZ0sp9?_L$Bbb{{i2Gu>q z9MOc~`*L-JtvcKAijr%^yZMs}abK3UA>`Y#u!l`lL#cta)#ynfrv5( zX%f>#=n{4^GbX^+eYgGZ(_%0y2^>sn&P1h?=oaQh2QDgpcTvC!JCNg5qlySeRh1LT zCMHWgx*&bD_?&sokJ*Nk6USMVSJ2zyou%}5c8(sb2V-2Vy=`eD5)Ns>#lJ}Hv9Zf& zwZ9W%y&)S~HEKOI3^a-bTS^|*ds!N5jdQiFPq;LP(siyUf)e_Tufi0rIloJn=-8S3 z$l1}|$JP~pE5l?CF5lYttnx&LFAZg}X(UQQ+g*9c5g@QUG}-3dz(J)i z6ZM(t1itXchVj((Qn7;+pMM7Rr^`)`@}8)R!$BjFiVShdl zHO7!PFO`Kh#!>RO*x*9%URoJPo%^`J0A*?T80uikO2zS>17K!!)0bqc>)eFV>{5<#;u45{t!=BN^zA zZZ>Tz&^lfvA>C{L<|`;D)cQ;a%#DxS_MLT;emUJ1GnIdY$p8EJx2aE4`Muma?Jrqk z)yVD7Ke;7qFQ(Y-S4J|lN*(&f5xNf@yte{p>&9q`S;U&Q{mTlrRewLLE;-Jcnx9%R zDwf8dk}f@wt$jF(=kT!NUbb{!LoxCwV03#n+OM9^P}lxp>3rc_{J2MHmDiS$m;&w8 zc)}E?Lx$sJDShtjz&4NaZ+Zu{u{wu(9Vh;2p-iL78@AIgKJ(4_HWhalc*IY!94$=z zGlnn_H<2le5}tk8-hXP~7@f((IFhmNPE@aXDcRh(@H0uLN!^o3$Het0^|8R;qvcZD z_4(g6monN<-1io{wkq{~hFV@vp@(??Q%u==xt^AF6jCIm^_zPqZ;YPuf_0QO*!#27 zywEx!&!rX^H+F&t+9D>Tr(Ql9OY5gWpWrC3$JyFl?OJ2lQatn4ZeniQ6*<7~ew;KT zkWs;nO7~vZ`{?j&Li#Cn&Ro}o(<~u}nQLv6{mN`^_2p0(>Y(0aoPOW6kaN`EC(A)l z{Kaq=7>5p5e6ql2vpUYve441`Nr?OB;elCO0#N{OFSabj$~C5lee_tRGqj!@B$~B0 z0?JW-|^t$5#L)si<4c*KQBW!O7J`WS)A3|KWb(`d^kul8f0lrda6H+`%gf8!`a?@gONR756ysMl zIAChDfXfB-S`+Yyj&eN`N5P}j4D@udOQ3&YVPRcyCPnJ^>4Eg4zKEI#Ah0W{(yzQ+c*>FMdEQ_>fwOJYAqM@Q*B zXS5H@+{g6YYyCziCaw%9dK;hs&Gw4lxnq>%klDKo-|X&^2RhEsixmf8Ss=jdTvb)| z{3^ZwHq~#!#4`ilNC2YhtfWKTRiz4deTY>+(feiZD{X;P0Y=Mes)L6oaITwtY7P<~ zKQHQ{6fm7Jp$ia|e%K6VmYR=P72xU0jX|8ptdukY>)E5>#p*AbOTZ*yR=6XN#$ZbwEZSQgRem4}VB z1Dd4arVG>;TfcJA6xToRn;2XHQUMU%HPT z@L%)k@aY+ZSv$ak;I}&3at;)#>8!m!^8mcd|0|Rk5}Lzv+chw8_B>o5AG8`AQHdj)I#j{ zu>Sq~S65dTUL!FEKNcpGKXg~YFbY)kjee;eI$GM_OEEGqIch;=0QK4miTne)v6l4F zXltvir@q*f540VAwZm&W9^)GvgVFyZ5TI+b#ygEVepR$IgTDv*oY~L!AmmZh#mUL( z;0T(t5hym77&y-C>qGk{p0n=y%`o8@W&DuN&R1{3DSbLNMpLDK$p8e@-Z7YE#=gb; z+mJFMHKgP=5}$P&0lmn+$MA+jNii|va8LnWaAHjV&kWFs( z!-}ffuY(5&Ps<@Hy59ktaz5U z4J7JvZI}_TSw9{t2e=NS-{}?F%l-34EvObW(_=Ul<@`o9Yfur|J3NNO5g5D-c%E_Y z!nC~OZV!|C-7r{{CmjDt6W^)oW+?eF+u5neXPVoZdWC>?|1vhw@UD<(>6A5T^SH zAprrryJ$HOo1w5ojF*;%#^|Gs#_!y*u}YZ1;|cKTbsJuAg&9+M4!l^g{l_hSzEXJ# zCR^oY?FNB#)YL_*Fm7B117Ewl9j-r8_?GHA?O6X8NDgA1rD0;S05BVL`zc^Hk?jnv z9>6ZGm*WNS$U42NAgu*DPWU6K;0IA11`s*Z9J=Tv(^A*a(D3XR)$3@s9|qzr&qJ}* zlD$cMfyM_44cwDpd3$&;N>%lxKXG8a-!7*4@9{J+3u;SlwjZO6(am;8B1Ln9H(Ttz}-|wgY!*=`cpZ|}i(7(g-@38#4#{Q?f+P|yh k-&OMOD*69+m8_V>3pYFBNg0m^Y4l9=l}nK|EKqXB&Fd^ghCz0^O`hBk>Yc5a$@o6n>9#FNQS{BxC;v=vp)>I9xnG* z`^?7C`7GK+{3pWbLvO_P(x1{hez$W>7X&Z01r@Hm#zs-vJiNYh@9?UhZk(jIN+92~ zUj7`g(R;R4!3goaDK{&>4SNhOD)Q^_Pd#a$a+fQtb2h}bXrBo#RCQggo#dRodiQok zl;@xu0q5H&)yh4rxL|7xzRRqs``vL5{l2;MyTfsz&`GKH$33{iV6xSO__OQ%4h+_O zU}E_4WsINJV;(4Y|EHMGAcN6!Sf7bJ0lD8y3+G7(>Bh*45m^}03zufi^2z*A9`o7> z)+K7I+uE|xFCt!_xzss7A=DY&RyEC=Su{-*Gt_tHe!o4?5x^#fevxd`oM6xYj9B}g z+EdVMGq71$=zDQAouKe#f4MB!&@l5(h@WMxvC8#tTJ>5ebDR5eC0)I7o3q_`N3(|1 z>1eK$-@k2u{+*U!_I%e9gY%8>QS9BaK!6?wlzr#&;E%eh#6kO%EKPE9Y4lo1*)B+z zW&O?k@#ow3O3xIcg07F7xJ~{f9WCw8mMKTmx8J?6-MmprrfYI(Wh5ddCWq!<@9gG( zfEFg6p4y?ZGGSJ%<(sbyJ66BR_#iLlV$EKBd940iRbBmy6uW`_Q8_;-GP9LiQB10c zX{pv(K9?`|#o-z~e6tVRh_+cpiKC0WjNcX*l1oa3)r)mHt@of zmt9AZeF>H<_4NL1O)Q2@^2agMTdg5b*T!VM$WqBFJBvawbcJw zW(Qk#-&pR4J{`?%zpc<$v9>u|r@LOP49{;sKO39zdp?Q!DDlb@JmzJ=5K5}jWCv$+ zkYs7|Qf?GcZVlaAN7^-!m3QV&%$NGS4l<%)u)O7c(l_C|&d^zF49TrInEUOWe}kUl zU+8|4H`YBkNNX4IsDbEwe8|~R{;EH4H52=^%#MWuX8WMt?9~@s@k}PjM={14Q=cpYHH48{VyKf*c}^A2VDqvi3km6j*j3Ib@b2({}LC`(f&Kh>pk2DdW^M1OD64 z_jgyk*MFH(b8{a?jq=5B9?1FVWt@xed_2PtjUL*2u7t@r<7QhZLiBqp2mHgbcNfIp z``-U})k+9gRyhd~y#yJD*W&+iS|}{Liz5GE2`bFmf6aZe)H3k;I8h-B9}*>W*8P00 z%z6_3``8*sNjPLx+z>qT3dUV`nvd{!ad{BvHah#;s3lHC^@ZPgqsFpJRYBWMHp1Ha zDn4kj)v4&VT4u1@A<27MRH6F04)&{0n>7s9?I-Psw2_B<^|xobidnyBx}c{m5%ae|B6tm*E+~NR#)y8 zpdW}tyCO$oV)m0b0IR~XWn5wg<*4@mE$tJc!mNc$ya)IR{2mS$gd^~0_PF>-fDL4j(E$Rf&VWcr6lAW>Kn9ikJDY?v_HUOnN($RwyF>Ut8xgTbR}O@#4bgx@k_g z++Oqt;X3(UP69tHUF9a^=GbLQbdJ;grU$&8q&M(nfv1U;b$T>sF-Ux>t1H!5uQ?IA zwwJBI4wnhM_->8x0^k1~pw9`|MYm~hZI#aY{AITMHn3tUTHFpa(dx9ta2LQdM_hb& zb&Po~<#g2t*7zKCd3^b~rWoVK8Whle0knkSu`%CVE@VthhbAoH%EPx96lnD1{BQOu zN;%B_`-tw({9t_iKH=_}BR~^y?Ivh(86dni@|l11H_1IBZTvhLfk)^6zQc2HJ^a`^ z8Y%Cl$<%~M6amT3=Jruoya?{c+$`RZI{J?@9gdhpE5}4OM-7wirjSlv0+P% zR&5^ztuI{~%FywtPA@;_BZvo#@nDKi14(^D7R!^&z>#iu`K*1s2ztc<&vFN^8Eh1( zBvp3o1z#q-4A^XNJNoi_PVbW#2R!4=%{Z7e zA>()Wsmpc2a**G8(fP`l+qWH0Z)67_-<2$PUC}o+Nv?(7UB+!FYQ^6-Ms%dJ>qu~M zsZ#@;j`!XHREGHb^r-JTHuvql#u;|sDm4j=xrK>&L#O$>MZ+KJqv{QOcvh_P!1H9! zd~Td=vJCD_zqIA7>C%$tPu^_qu%1$3W6EmjgR@7-@4(sN!q-hBi}hL~*6yH|Q!*%e z3_dl}2X*y8QI9>bJuSKz5$J&J(5nBvmBy*xwOjNP&lGhxxH$f|=1BYW+fqYZS-3WP zz1s@3Zj8RN9gL{{(q=VrS`bM~N?L;Zuj)PuTTJ(devsw5N(dfWS|1!prf(TC!S(n)eL(zv+^jWgoa<(IVmj%8 zIN^E#{8Af{R0EuLojebB&?}MEB!p(192!5Xtw!9%Jpw+*eH-=r1R>_Wxc6}Qk-zcS z_sh~s^f8N($YQN?*Gz-+B-9D#oEVR2x#6o`-vF{*yB_vaR`N4bu*zfy+Q|6$=am}g zxgW=%-RI-g{uaLHJejpwnqxpA!rQl8sHSV$Tlq=PMy8g1b^ z=wSgidfo-jY|DtpAf|1*LlLlWbE{Y`V><~b%4cb(g@@l>I(u97Vac}nr;gLts4?wT zYyg|?;4}A~Sye$caf91RFU1=X_e~)*@2$YCn9E}ql9K2DwWs+3 zayGZMoX6gHInn_NKN6`VmxIT!S9KZ>SKvQBo67`AaFIn@XW{R1S3KRhKZU3kV9b=g zMoIJjOm;sO-ofOn>Dx^Xx3je!tVny!ZFKVtif&keK|aL(5#QH<2hDvHJd(+mdW=Ua z%^*9<^Wu$H7dgC*5cnCE&#vmyO$#8BHZPz?d!YPk{)44=QQvMjz5>W$Ll(ZXvqRXI zz`Z>m-27}Sa^OQ~lgDH0T@HC`7XGR38-Js5U$>=ZWiFs{t%G)>)7hmve9Y^-qVJ*- zWuI^-`GCMfqj= zYzssA9m&s4`UKaeOLf$SS4zxJ?Lp=1b3%{YG*#sWTqiCAb(NLM@>gcT-Q?Gj%4K2y z-3cVydEYj(K!eBnS6ckq5&Lk4j-Gvmtdpsdgz9NngGH$4(cjNk25$gXD(C z>WqzmCSa zBwL!gsmY`5j^}&lUdG(3HpS5=%J`qkneNUD7A^0#z5>2Y$x4RNThw3zSPjid?%qU2 zqO97ytQDw6#y;z-&guoJuCg%wCp7n_|12|nVxgwk6Q^k2UFPm$A2CaA_W=WZXZHHQy0OFUgP`pwXFD*#~3v*ULHEirC2z!KJ>3=^U%- zPnT*Hgq+S#ejE&5L{m(+>gEH0Xu?fyCvXo5G*f~HPHrzb0RmRhVq+XWVC zE!iS&dy6F>k^cNL(+|v%<}8kT`zP~Z(==XV_~GUOfXiz$H9bFpv!62b9>7c(oNuGh z7lLetxzR?~HkGk=KHUkS@7*3|3C|vW#{To&kagpb^0QN&+kz<-SFN4%daJdd`>Dklz!sh3~x1UCO4e!u5-R+hHTQD(j0*fOTkc0 zc|s8j4%_Tk?xJK!9QARS?;jDjx|}=bcgnl;nOV6Heyf?Osf;Z@hd58Ppp<3hgeQ09 zKIROEaD)DmC4@B5@?NgXE`Y8`7(ZWoI z0Q(SK0yTQW*l}_NpL6<0O1uIvMRZ*J!ZmO){$?8j4-^7-B}2g!`1HG$;C}=L#{bA) zsMEkpRyALQNT@$u==}RrAEi%PIXZZH{Ym0KoJaI#o5KGlJ=)WveFm~oy}Z2WWNw4R z9g=itl3U&jn}FOP?mXPyB|pzZ`t1Fkgte!sab*F2#eJ~Zml5Q=BVtrQY=VFM&P?cW z@}c%(Y0mNJaV7hhD!S`4(%Y*$rV94FPVGu@(A0VK)*W==Grz@$`Ef4-=|~j!Z0Tl~ z%d*HN)94TQICkx!#5d%b9}xb08_?lXR+!Cvx1_eaXy_QuyxY~sp}F6zo*U<^*!i-d zAit{%*8!=1!)X5S3cehjb&9bi(z?XtO;2CfC8%I1|2rOw<~SRNJCSzBkiFC%be^F6 zy-HyTw*S% ze;?H2ZVn=@v;NUiE3vGuuG)5nHnxI!zjZ8H<7O%yAH_Mxe`qTDu!yiZR)3=KaE5-n zZmiON8L0022gR?<4(MrGc@lqmHA9eXI$4%W+EerMWj&Ww129RhA~~l{iZP2$meryW z>$(>1QL5Tp_pduud@B~~0%J@V;s>q+gy|u&)e!MlZV++lEp0Eiv2>@l1KChRXwV&M zJI;;C@w6S|3NX!wgx4OV6{ zB%XhIVSoRHs6BsF1Wq!VCn3e*T)N_ zelv=ULB1+oYI;a>%nNzXtb<_lTA@$vj^6jDU6IqJN!iJ0z{E@nOOWwdmxI#b;n9DL zUuX&1FZP_8nNjPCg2NSLewQ-#?SMc%T%XFZjY31U029fvVNR^e7#x! z!#Z&FGxAgw%cjWin0`yw%+1g%W!5K-S zIxfT%XOh$K`ORk=0bE8&T)M?}oZm{%LVS!+2b>yyZyr}Kh9cb;+DOsuNTc-~dl6CGq_p#R}=j2V+SZ3~TUu>A~C(0ba7;r|X zK$9{#>X2~{9Jr@sTklcGkth|p&LR7>9fXFMenMgZ5iqXi(n!jgP3*nH7%ErtSZJ_&+AOB z6y4O{%i;m^5luCxATRoJV^bb0smq;*nTh?6WyIGKJ6wuI+5Bwqv4^N#zS{l?A=;!4}4U+Qfx$}N1f%(orv}V=?x0z zs0hUtMb+BlJEJx!IDNA-)!DyPGTuehEbpWTdJMsoZB7m6h;`%yMB>s*V9N!g-{TEz z>Co$Ax(EoSa~7S_=T|U$#>p)wyC%&9v;4Cdnv_HMcv>* zW+EY)oUb1@|76spaWEJM4%fZ+mUe$F-4r_VIGUj5qkt~{vh~tCMz4FvQLe(PO9v+9 zz295Uo0mOA{pT0xJ=5b8MEoT`WA=2-R!iq(B@g@VSLS zWANp2W?$DSE>hy_6u8NADEhU4l*j7orT2I*SqOaLGm`ro3925COo9Yg6X{G8Jvn5C z5tstb5ME&Y7}Y6yy$^iYq={8Swf7^u!8y<(;s-ALr76gJe&Nezq&!e#qJ|KbU-ryW zZ>$J@)i4NYd}>Q_^ZMNrdstM=T~rF8?mQr@OE07#q2SDk&dAA|1=*TufD8%I{nDt`nWryV&FULp;%8%+Outc#MD; z0s5lIW=CQBX=HHipduZyQOZaf+lK-6coUf-*$VJZEeITC&ALSVKA=Yj#*7kq&m;Ad zaXbDf>uwk36qn4 zE2)3@wSxaETF$RIO!lQxO@@|`EZl9ufWM%OcUbJqV zh|8o>8tin$bti#^IFLihn}Xq84|g}J>(PX17;I)u(1DDRo(eOq z+iXNP*>Y1l0Qqco^#xLPW?6LX4o#XLzRT;Y;io#2+Y?YO5V-KX~Y~ zj=P0eYVwSa5WQG`Yj!^=J<%|j6$5p>#z8aWW@4-LxTJJEOY}9e!$^jz#^smCY%7(@ey4*IBCBids9Wd#dY3o>!hNVWpyzK~I3pNPxmB z8to>;%}g?3DWW3EFnVy+*iC^j zxuNI->7j=!0^@Wm)?6Kf;|{MxnASja%k?vl?Yqwv?LVH&aL6b$zoJc|tNQ%${%T5+}~=4QgdvZ%kA=%Ub!mWVGitz{r#jyG=lC>i~I z@KCVWPJ_%;BHtq)!}Tu{kCnr=n89%LQiEG@^hB0E#*d_dfl*KJ+(A=9JA)6D}y@2>4CiQDiw$T^? zdZ%v+rJ6L&kWYGCsc8#CINm@l3N2Mi^%8(SWsxipGBoBHZVRG=Yw*)Q zq4;J_EfO&DL&BbBw(Bz)ijL7#tO3>y%X{cgH zc7TwuT%z6c;kF`IH#Jo%XBKGVZ7i-;HNE8L=jTdvaKERJn3k!Q&e7~4k@k>>7fChM z)y2P;mudXkx+?)e?v3aVvhoV}?)ZDhIoM>8$}#bC37=EB$hG~G72tJQfITcY>l2dz zr!BH>LW=>gM0GlKK6rQ}`c=cb>9k0IJ=oZB7=z?xX9JQo>mEBGe`4>BJJ{Od&4Buvja(%u$i`K3KL@Myk0F_~KY=RiUF!$&&Fh>=);jpk(dS?|#W-V0BT z@u#!3SFaI}_w~I3Hg1S9)!`5HZ>6fW^=5U62EqDfUoW7McSWMPE;W}}tgUY6*7hLr z+^GwVU}3+lWwRDV*#N%k^LK9=l<2&D=To|DUMBxMg(qLc8GQVrKxEjjDg}%{D(i$j zvD&#pn2h3Xrue*~xA0_K>OYup&xtBUsTXa2C#!&<%&vnKUjG-bN*oY`gBJ}PtG!FF zlIdmh#Kk{-c`N4byi(o7;?2p)*=3`mgO_y!2)$G==Cz$IKwhF`D^d(&j6|Oz8Db5T z`kWG0OF-8XpDcUz&|opmhS&u7eh6)MH05+@0k?=Ewrbx(RE@)g&QnM*KvF>P`la~% zalEZWz5@4#{u%2R1VjCg4DRKQ{K;>xu|b=SXItz#G#w!iRFu>{${Q9dE&cs;zNYV9 zml>G5k>b(6Fow9VEQXMpAgaMVBFwy;IX8}42ldI{Gkwus?; z(6Gew9z%NQw<7Kl z6~iGG7Dd*(%b>$r7~jwQ_Ao7m9Wp1roXad zCuR>=C7A}0emT!m2590FqZ3nNZKimf(4ARIomOiF>4#Ffdp>8qR9zpeRh>~C0c24?$8+J4b{TA^F5_3U_l%cj(19nHxeBk8oE-2Klrj#Tk7bBii-umB zjLKKY0$^_&J#>6TqOhhFqvD(c1nG-4T#94jx}x7UxWzoDd`=F7!F&!Dn@kr@20eMv z;qpO37R)L*2~vSkj49b~t~3kY;SE0-kg>g7(iAbul@93sKO3RImXvJVM)c#ZsOxw4 zi?2Zqd;-?p3&PzZCm#{bKHcQ9fftVF#RNoz(_g}^Ktj?&EX?>b3SZ*x=*Xq}&#gfi zodWbi>H1z174NtqI9?Iy+n?kh$&sv92?b1$llAb2ZLo=niGmZ$Pi@%2R9U1)ycMW% zya#+Go{F(tucd)C@^I6(Y;kE1R0?STJbE)r&TA^S1C)gON0;DvgEs=uxf&I5b~qzWWJKD*T)EZ;pfyjG z0llZy9jLETm7%itwVpkJ6ppjQqUn>O#yOM_wN-)yI$n+DS~No}S*I^3_T5#tfkH2R+Wx#zd+N*)T{uccbr)u>v&> z*_l$7&lueBj9jNiSNAs^0c(#Uo!6^DOGI@Epx;Nll_7!T;4Gv-6q*I-9SUd~)g6iI zBZV6?Zv_SK)@uNvsRF}-FF7Y=KNUO8^NpBQihUQ@6yt$eC;8aytD-8lml`v`%5!uN1#C7`9gqVk^kp)5R@{E-az`e2FL zO{3K#+>~JF>&A;Z=ak>V$sUZiDsMHdR!mCXPzoaB$zN#^SoOp$OmDBK->Dl%WvESc=MlXcd8mP^@_2%xO zHiYT#Fe#r;`}~y*AZG@Tz_gC1{1P*`yMdy#&lgOKBj$4j{l~5A_-|bN)z21x_euPK zED-_;cAPTXkJc~MrUQW;2d>_!spVaBPF1(wv|}hK{rn>1(htbEEA01j>grfmoT2gL ze2qFm8+)nDz|jKeV#3TQUh|HS+?E-npX8DNK`qGYcf4G{A| z%$fK> zy+sRK1d4t;`-?!peUW40M-_PwX%PoHHBbf@@ z{Jy5j&%|**OK8Lq0SzyQRa;InE9+WPPV%Sk_20Rwz*+U2%cG@+W}p3k65_+1O%(LQ zOVi~^-*<1#Izrw7Z50vvU$_&SQsQ{R00`|{C6VRGGKes0V<}SnXH=HuOS|A}`lFRd*kvW$(;V6EKeZF(* ziOw%^vlZQ*T{hY@vd3IJ$f(XdAN=mlw{LE29-(!_$`;7G1>ec}%?ZBa(!ZGh1k}dw zfPsXjx1Ua16WlS`feqgsbvnJ{A4>xiox5k@mmUAM>#O!Js<9}i>x$e)190N5|8>P6 z?NSdJe^j&EO0(p<{cWHTeX}<=r(+awa5wGH{zLI1h>Y+!{Ne7O%vSgFgBG-&a?UrXLUkrYkcBvB4wf_uhTdW;gC^t&~uIVE2YFY}E z^a9{v>Re$`0q3ZjYK_5vr<766TOAog(p`2(ar-Q`769z(81;4B-)c&t`D+;PfVHJ&~OT`LvQOFTQ{h;87| z(b7^Dqbg_x`bX&d6Rt}n9#NZH5uJ{^D?Q461%F~KZ?fEv^yE;UPB1p$k0XAuq%^>h z6E8(X%}tLaUsB66MDr=Wp8!RMV1ww#G}Qifr$gK#>-2{ zgpDr8*-N%Z_-aSP?l4meK0{L0NRtWy1*ioNA1!HiEeJb6{CH?kUVa7iZd-sTxtgTg zx=d<-c$x~RZ&AF)p%=6D8dO647W@-$G|uFWucjPh{Xm*vCZ`qdr6if5jUEMUX1u>G z+8%Cr6G3_BJlFj_Ga65?qHWBjp5wxF)aga^Yl{}&i~tAiztNKg?_QEqHYq}q<-(mk z!Upl-lh12nK)>cnGm_)fr5Z8HpdWo4=e_~>7(;DKghS@dbFAI1x^g2*sy69CXff^M zG&%ETvJD9b2sOitR2wZQPe`&?%|@gzP-!EFmBAeFJy;PChl^>_LXun4^*PXudI%ua zB4M?V=I@Ku?z$LoMig34GFTDS?FLC&%~wa7n$)_^Xie02n+_08^%TmXGow$H9>&jA zBNnHpj)}UhB{9_I(%GX44uts~(=ZF|NCpMiqcsUanVQU(g^B6peyG+Gp+3*2=$9|+MErF3KR$gIIhtV9MKz$)qH5eNJE`}8il<&{qte_TJ zp0KCH$9oibH)<>%Wv>d;Cf?DKS6J|to*;Puyis`9hBf8!ZQg9gY_+mJ-$3HkefeE^ zJ8wDA?QT@mx-CJ_=O{${9}(4TCS2BPI0WS5w*o?gO{;@o?fDV z=JJt5r9Wpg31M8K7hr&-zu9zyam_4z8~zayXCM>_%ya!~SzlKL=+lw`a|nRsX;^uC z2qYLldgxSJo!id-tluITi-?6*6w&bk5Wd<@42gzuGFk$Yi)8u{=d9 z4m~>VUMzd}KEyCa)_>yJuxAVJ7x4|A3bOn$Bu3Fmnuk-$?=* z0THPnfdVRvVEr{<%&bB(mbKmV-|kJHl5i%6Z51usSSm}n=VDrd6wu=_F-&jbwrf9T zQc!UZN@mx&ydJpnNKleh-E7)eYhjNWRv9sux&aw7$yh_768G|RDKcb9OZBZpZl5Ce z1?ZgQ$&kBiz$rge{Klcx!@fr!nO=~HCcg}B$)~<4(9q?F-jc?P^hKsNs8pk zGv85v0}-Mru0O+$HMA3p&swZ^8VXbjx#&Mk zgP0g0$0FI<+E$7=QQp!^T2pAp>>*h}{Wwe`N;ls?lRX)U+KlVbAjsvGCX_Ij)t{JY zkR1GdBFrs=<+ZG2ci}FM8O}uDXoDH zLWbG68DGuIOyahqB$Rr9PmNtixC9uGzP-Fbal%xV_s{98@%~6ora{yQ!GGI}?aini zKA4*$msY8em7EdTkftErS5C&8uoEQ}naDG+qJ1V&+waxgyYr_bwF$7O{Us4fm&Z(r zy3G@v_z`WlhMZPjDUI_f!^ZhVR&rk_5+2FtBNx*_f)_z-I}%ie*gO7u^Ut-Ih(>y< z5k2H^T!y@H$c?>S#-c8j8VPbI{zmQ8Y z9R``mVa(4;Gj6otd z-H&3q#~9hB+wYEjt8d**JCYs*emUZ(xG&ghjtJEtTY-?j0Bn#t<~wsu%_s#;S_NAZ z{%-Iddex9MZ+19A7!r}==0%q2!R6b}biefkUTR`ccaH7+!DIXquRhA^)4Ly2xnl?} zfU1Zv7;cP$`D&~d%v&KClZD)z4Tne{#G*FhGA2nko*zdf8w7;{eaf&dB2<+9oNSmF>e@TPMtN%+uDNf_Q+xbwCw)R5b>jcm#=e-4ptnLIzt- z9S0uo58=l~v&opXv;9^LMr=n(yuy%!xaY>+N<-1#Z^YzSL;)Tu2ST=-OHsZauo6m| z5vFmQ5-H1YWgJhC_b@O=&JXs1y(|U=@^1ncH#!Z7D^It>2*T~u9(Tbw@??@Vny5CU z0{QGJRm@t_Bwx-9;MSla1Wqw6m<+AcRt=&+d!`EXmZ?oRI%L$ET zW28uv>;VgKn6HYeyllAKzkiq2XsPy%_wKR2mmV2#HMRpJ3kpkDhN3@2P&7U~j-BNR zZtHqw?I}cW!(Qqmlw}2iVIwdJPq+L-HCMR&*Hw?tFf_-|XXB>?#D2Ukf1~EM|K_=P zERWQe-U^5o3>nQX(~4iuqpW|AqxNu;5>}+8SQs_vI3$pN`aMSoI^Z0kVF@w`~6?74|OIB~U=D;q?;59&9J!7Ik zyVww|41n>@PnHg|KMY7Rs}JL2r&I|6fW2Pd?0c+g1q`MF7qzu5y(4LVZ3yNm`}aL5 z-@8p{w-(@HSTf?1KOq{Ra3d)&L?J zda^3BH_*P8Ho~MLV6nxtYU`=MD?#-MC0Q>oDD}#35)@< z0K&$WIuRR^YT6#LKU4KE_I(gA!WEKzBMrz&eoSjwe>b`ndLywYzkAAh9JU&-P+e0) zfGH~UcU#7XYb|13C=QK6f-IV1FX{^&zex#`u0U=#t^g&7T!-ZdpmZ56C>3ITNAiOF zJg8?Y$xLy`5(*uMAK7^5b+qOvxb!v}F%2Dao}fvTQe?_1+b=cI^6MAJInJlAJf zb0A*3IGIDA8wy1%eq@vmy82k0rMAs%J)(u(L?)j29fFFU*50WjP%FJObSOcOt1SH@ zZP!!4_0WVToii-aF?MFOx`_K5q}@_pBHP&@tV)T9j7_o)jzqk#XeJOo>8gOm3 zRB38ky|4bB#n9{m5M@?^YScB*2}jDhBAIWIPIl{`goAyCg-YdNpC;A#aR@fD6=L+#7j_ z&u}PhpzVK{$@tbtC?GR`vett5>7Tkzv$P1q7|E-^6uJ66JkG-AGtp<+x|ZMV-&vFP z8|+~$*{oNPDp{&vj}f_BR*hv1*XPGt&!oi%Mh^e%VuImq#G~-MeX8JD!;En~e~%U& zVjTG`DnKMp-pfVU0>kzAPji?;&a@HMDWO1qceN1%->hxJ2ciTZ-Zk{==r{ZB?YSo_ z(sr-ciP>4zGjA#>`@Q_8#Uf-@9Z2cQf6!q#N<4o&Q+L+QdgQ>>Hj1wHv)X?Lb9^?`bi($ zTK&(uFYn(~jlZ?GU$y86F`Jb2FVugc{~U}xAwkU2!4Ec4ZS|1%eI9hNr(2+t-YyDA z5@h9q?kw!=*=tibC_ZjsGh*C~(KS{o458pK?(@*S z5)Z`xM#=0lA4V*8L9N>BAK3sE;{G4MV(Y*O7nG7Z0J3KuR^QF8FyYTJg8rrnNP+_`I`kC zxr)Di(}VkirG3?2@wZ01^t{y9)7z#MiI0ybYBBL$AAjB8zE*vhUz#Jmfq2i$dd2U0 zes_7a^4$vMB;Q$qZiW%YDjbPoj0XO6)X1U4mHOu%D^@itSyEE+CwHI<9hbM2p&{8$ zt&XG&;N-RIJuOiBWa=0LcwaXVRrRBBwse32LLTP5OJvG_(Dh3{(P~Nv-Ge>Rqw~8J z1KtEa@=UqD%S7kn&GUoHDrPa8Qo>v1_bC;g8~}k<_+?=XtBU#ofsV491_b#8=$RzN zp~XVl=tsDFYvN#pUe8*!@N;YGp%ObvSOfwdh1gD%oT43w!=L=JR-9n19Kr&KKd}1% zQ(s@P{b+65I~>q(bR1X5qU-6~;6;(&Olj|4z53)t&*-$45y0?vgiLF60Eip1o7Vx1 zk)xFT+G;#;|AX1mV*pd4i2ENU2>uR3scj-~Z$C>Cjal|{+ByRApn~=x!45U?`v`p~ zc@O(@dDZdz#jU~|l+r?o3!4uR^8;vmF0PT^%PHtxIZ;R|g~a>2^C>HG0%(kwOxhKs zGDX~0pyu>7eX+`h#ulH+8m5%Q5y{hUU=tysISjRIABPY|b}Gf87z72a^~6`#lQ4fF zJwvRk{<^gHf)+aOUQq@do`Vgv^gXWn7lkoE$kJfN4o_^2LHE(3K0A) zmp{dX;q%Lq1wiK2`t??}hX{}@?AiPbsJ0hFPx4%V&c}22AkHIpljfX2#>bFam?BXH zq(hA*uhj3ynjg+$-A#mxR1)uRN5&n00E3!Tt@}u|>sr02Q@E>$9Wd9BwRy|}sQ`Hj z|Gjm2+bx?W`i{~r05Nsk@ThL5=JpR_5?BH{0WiFF1mB5;q>osAWv+^CLhXn@0kUwP zL`|Bk16~fiS!}eDQM6>7WQfM0sm=nu!y37aJ!$_YYK;(*e-dS6x8X6mY5~+nMnp9B zE~V&jxcb@QMfcaiHxkdeRDVp0o-wWu^%t}PggTK`uO4J z>l&&Yr5x_y0qxYJi2-OT|zklGIF>e7FeY;>F8QXg*bQ6H@Z6e zy8ylLQc(~&MDB{FG-Y^lvgMyr#@@|)o{HAuvmaLUcfNp@1uHc>H;dqzlN~qKxFNGj z@?fS6AS93FiAJKlL?;$dsV>hH_!sj-@Crm{i@B|jBU(7nB9w>7ru3Mgu_z^?dtH5C z4z0AN{=~=5f|DwX3bfIQ=RSQr0>4-qDc<#Y0#TE#~_=mnAOdtyO>thcHm3-bL-v zEPRcvb77k3taCBa#ohtv%?z4cmjY)N719_4#IY8ujzH5=8Rx^9P#*z4@&0f_4v|dn_gf-W>q*(a6tK;QD!1!%Xw98sh_FA zLD#2*D|%WN4A5A&cz7WyC6I?mJ2Oc@$7a^8`#FO`Hv^EJVtsiK0gpkUc9 zq5+!pxzT_Fm!7eTcZ*d>&YlLzlbbw=Mo@E^1h}uKehp6!bTJAQiIxE9G7c2 zbAQKr#)JUR=JKDY=lm^}onQr`#&dv?VnEBo4vD_x4WfR1Giw_C_EVxF<>jfBqDKG$ z5C;w-`jV5Z5D=PT=g!YLwfV}nC*(~3VoYhhFNHpQw2jlWz$dXbh4sl!T=kn8Bw3=r z+Ff}#T!3B%3qIuA|FOHtuK&a7&f9v|{_$Zk*UV9H3Z*N1i(V51|L&6ymVKceYD!S| zURFDV{3T;qvg_aYG~GvyAoAwVS1vN$-DD>93Q#eBG!9Ctlt@F~FGF<05N@HtprT6R z#n_(S6x#+J^%V8`FE%eRRC4$;SYYYD6790J;s}_lXxwqaiZNY`F;WVxK(>nPnQi&M zzPtQx%i_vtYwK{SFfptK2H?;+YH50$y1@sB&hNtt{yNik>tqn$_aW2{h?iXRVDa)D=uc)rUrZhN9_UHR4M4PHJ_fS7N%TkvABK z57>tN;bbCdK8YPJRM={ z=LF6o;DWN>>2Im!zO9*-s4!`#wJlS$X^hdhG79vGx?-@8a%fdLAh|kPN!Nu`Z4I_R z{So$+P%|f1j7xNhMDx(QxvhUEou>eVNp&L*lM-c_<^UV!0-zWhQB%@`loq?9P2Znc z7xt2MgQMm#USg;Du50dylH}1g8~yJ6m3@suAP5ne>AbOPBo3Fki(m3YAp!iPR~?xs z2~W1*i+ZhL?{>8X?Jz8?$ez78^?J>?aWK2tpy=F|v#&la zM@A!}20gFGc0EzA@D}stywi=daf^80qERvgbhO$j%p+TT6x82bj-qluzV|gmCLD1i zE`Le4ut6+l-A*SHh{`C4`V%>rtP4!R{z=Xl_FzU^RR$GRtUt74l}aK~>i$-lD$U-< zBax*;#Ho~F#D>Xl-3CEk_~rWG3eh2xaM53NcZIl{o>I&>c9?ge6Skh#v6yEw4%Ihh%bK#uo@Sm7Jt!6t<6jPn5Sse3l{mnL8mgT!RI@ zFlzo6&@c%YQ+YH!9u`G8kYu$bVmcyi7||D(Dg+ygI3DJU8{?t4*qE0gtQ(-l=tQo`eq# zE}>)nLyRmLKn+p|Sb*;ZV|p4@ZB4QSDBa>Jc7p9w+IZ|o+L>deV#F-@&uaA9Vh7DH z1yDf=8AEY<$a9MPL4`$X0fgCoJT?Q$h2=kg@_di5jrjTf&8+%A^sDSy_i+Z{im_cA z^uOA9%cv@&x7`<|JC!c!E{P>2NT-B^bc>{PEI_2YyF@7!q`R9%3rIJM?rzxAG4_Z3 z;q3REcaQUJ|M|QIW3Bnj`ON#i?(26=shl7{b4Iz_#Tc%X6Jd37MjxI)XjxAMULXZ@ zAAh*QJi#K{bkY|v$BK(3S;-|4mM5?x#W9TBl8|&w4CDLuW48JyAzSR^8(63ma-vxa zr|D%c~?x{PK^QOiRkV zlpX3tIAq_S=4L~QEoKgh6QfdjL}o+&zV1a!o8IT#q*GEfk$aJ z@og|de%3u1WKwJc={i?0GN;@afdplj4FVw@kJt8VbE`sd=PjzV8U~drk~2ZN6hZ+y zoouI5f+e^i;)4jeKP79h^PJIc$eF>rw{NyVP+Q^+;=IL9A!sntPJxTKg}+j*@{oiE~XYd z)RXh#@6T+m^ zz{?z(;08~_*^#4RCjhl*&wc)MsgZ;esV202a<2|yHaFeV_6aqUgGHxwhkRzd!{PNv zd0AW)yVqyirgvS`R72m_OERR5pZsNpHTh9LsiRoeAmmv2%xu+nC6pQik@Oxbwb&d| z`nH{gv4x}^)cW;zWCTw~KgB37VSAI~Yubh+cK;r0iR`%cTN*M%!7n^UN*K=u3G3hD zxZ;s$M`WVa&-l{!vU>dNI29?m|BP;*o+e4c&eXcxi{jGH!WnoZMSG$d?YV_MlXs`q z{<~MR0Kef)KFb9iLF5;eKlI~W`pa=)++74)WK<`GyBG{8DPuoGU(Q2ZEtx9zqg!yDq^5@kG{?Gkm2 z*W}d3?#O;)?vo2WL*z2;xxyZlp+bxA9hX7~_wu~1{-8+{FfDIXmv=WLOtX!w+Rp=ZJn}eJ!0B>aWaXn!{zzKFk%@J4kgQ_G#6XV zXzf3@=?5L6n^*k{+2CCzf5K{N9eNp}*<=)=7cMb|`v*ktPyeQQ*=YGiU`#CaA{HJl#u*2j4C~gUle%^Umj&u0_$;drzHuiFn@5qQ3U^^_A?<-PG#?Rw`gxW-_dc&Ai+B zTYUJ;AurSYi{IiJ$Q{bdqj%rF?E+@S!Q1ysID!t0OO5U$1~((0kN;^X1~)PPbePju zN{2A7v#q$MbhRVkb=kZ$wodWBbA2EMBLFJ5!XDJk6nOIYvq)N3T&J-vjx2^0C(GBQ2DPien+ zdN<4isQr59JFlcB=6zs>0r;^aNF$*eE0F-@{s1H2R7U66__#7sVp392?x~U3E2G#b zzmzpe9uSR0DB$!g3e6e--2AkKFI7%YcmRreB^OP8r)7kLCQd5?u^+3;MUzQo)E4!< zOP#=wXO4SyqGdl&AkQ*W<2nGSW{$acu<)c`@I7%<^nCO&Qt)%sPA!!I52qFUX3;t| zroG?hAR?Gq|14&DSaF$l?eicK?1{lZrW2%!{*WlI1?I)F`QCG!-7bB*V6>R+Wu(?n zB)d_~L=#=28#e*uIZ0>P=ESMh45GU_X8JKBB1(|Fqaz^cJE3TnGH_2}&-U9cHTI~~ z7WR-V9k;2Ch5CuyiXuhE?nJr_sJV-bh>W?%!psI8`Nnqy|8>#wUs}IEUn{+~oY7)B z2VR)@a-R$$^$wyw22JjczR_4hd9u5Q2qH4J>b*;e^!~``8<@2|0nRh~; zJh|jmWx;5Ck)-+Q^D%@Uk%jREUtd{GMld}7ZT^*Tor;5EsvnMdX2U5fLd2}l$qFZ6 zOm816hRzdG+NH+)&MMeSOd9}=GfnR|(ZYr;Y0Dw&Dr$U%SEsp?5{Ng_(w?aWx!sE|}G6ILQ zyWcrWS|xlzilH20*#Rj+AsQ}Ho?x2%fkNz`4bQDi{M*9Ox?;(f`lULP`)@&*TbOZM z&00}EHEFyksYTq{?>x7yt1cVl7_0bHnmEP*)z*n>aJ3|rjQEd!sW zVVxrtkLks}Meby&9;R@HnB5NWH18Zkek0lt9q*w`P7|4>B`G1t%gE%nw@|xjc82q-mBWWMy(S?u0!hO z%_%OYxECDlWONF6A+ZWU(w1V!bJa|4oT249kS@awoyI%EqxOr`N8SHZoQlmNS(5%& z=xglXhzIMV{`G;aSbvAbD*Vj>4?g5=*9jT9Svwgr1nrEFeW5O9p*lzn4 zrgnw(~Ne-L5L5XE5Plt^s^4vKn>L99aORv8}37rB=aSf#;crIdh+$W@~Yshlsv+aOx`V-j*rdL6>LRC+H$KZ!?Jvl^n!b6GCUQ zm`RB6Ipg2Euna{Ua6Cz2Cq!Y z?<_QB1;IMVhDVHo6ccgy^Bi*u6~|ojSc}Dy8-P9#P_GzMV|v1dK|YN{3`JRsuV&{YflGV8)m-^KAV%13eLW9T~Fcx(n*G(vLM8oLV-MCj5@+6QEb7BIJ9#fp-0i1$sV5*N{NR4Rky2U3IM_?CRr;Qk^sNC%({t9+kHOWJpI5kz43jX!>XxHWMBh*jOdOgeTD8!9J*!P37yWiAb*y(WvfBo zzT57mZu)GR8$)(K5+B#Xli9C7nIoed6^9=6OFsQ(=dGF9u+8yjkWd9s6DrdBPNH-b z9z=To01MY;D0(5g_wy4wV*+Rwo!Rsvq{?C{(dDOG$qqYnGOfPNGZ%mVuq1_65(Fo8 z<>bMzwcbBTg%zT?`f?=x1V;n~K57LPs84!~b==Pe>N0ny5D*h6(BARUA@vhgOrnuF zu8-06lAtICpzzp=;I<>lFmr@fm0@Z`lC}{-fs+Jp#{-k)HS1Z-y`aPFbjAI%rtT*^ zs3wFFavv7cPVry8v96kI)+0_uAwAMA=2iO<>i-@u2|`9J5*!m~K@#?k`=h=;yNP9N z9L6brX8E-B^QDdnJ~t)&NUuOVX9q7=%Z!mA}si%ZVu_Lyg5hDQ;ab@RH4+TANzG5S3jYxb6Yee z71GTGr`pz8O)9yI!KTU<)(BHuk6)d{}}v8za#5#@&^Vje#i6SbBXga zg7~kamKl>AJocLjLOuP*rm;^r%E)vt0{yj~{L3W56VnUg$q~ZQ!8VPx&ZpQgW+BHsVboICsEsVAC-5KSJ9JpxGg zsn{#6J=O}o9;NkaqkE%0ECB1yS3W&MwKuR$y+99u+ZV3q{;F4^=rE&~k{kS*a2+V5 zYe9lF#j9I{qi771t4#i`VInrDUXc2$D>nm!_ob%7VgRb2YcpbxCF{E@UAWa=_Q_OQ z%taijDEIb16{ZzA5z#tOx5s__i?cQPMyI4sQ;%`zA{tsUCpw=GDPCRb+!UOrgAmJT zmA)8XjE=Qi`t`RLd?h9c1ifWdYQo2YyU1J;kb|JQs1Kbdw0Q`)8|VrG4)GZ;JP_*D z{7H?mKx`r*^}4xOhx=W8AI-(cyXhDUSz4r)Dw#}Wdsz(QY`9IKOo>DtC#Eghs2A*QiS(0O*x0EZF_;Wl*E)mHE>wJm@;)CPY7u&s*rLpS zir47zZX~fkJ5fgiOoX1=^?gP@vbk@Vj*7SroedS_v4Qbg9OP272b{A!Bu`g()BDys87MUux-B-eG z$`}!d`L~4*&Azs7D7zV)n0m!r3};#8i_z6HPT6az0(K9DSk)Ikh-T}FbC(b!8hT0z zdj069$Fow1k)bq1KLBMjprT{q0~Osl>4xT3TCHM#S|WH36g`&YK4PCSG%BMy<>iQL zZl;YdzsUG)9WM_knfI-y zQKs*UKi$rqX)nRc%~R1n^6JdjB2|!N(EAnBvA<>IdtpsM&Ie4lC&rs{D%?`&Kj~1C zN-d@3HrR$93Zi<3ru?P&G&?zrHIs=?CDiiVm7Z8vsnM`Uuk+zaNgFp2MoS(DnyMgS zz;C#z7oH74m0k`|SEHT&A=+k_VpE_QwD`m`)swxAZzl6Vj2wgPK~`mz3u-VD^54Pb zM{#a%gZ}Kx`U5Y#66-1b1yh^G8Zixe;s8bcPI3z`L)ddw zNGzpZ9MnuTimYYUYbX?^@86THzYKD2m+nY+BzcTWBN?BM=oI`D2NjKut@AD>U9@O7 z^DBPSBWaJy;xt%&;v>}Z`d|t|TU+=RKU+~D^i{o-$oa!P4;CJ3$XrJNUe6esL5{dP z&bXCy+^^i1S~zbg9^`CgFfi4RDDLd>cje0#8;>~ zF1Aa}q%!Tlh-R#oVj+&(^TO(C%byc31`$eOmcmsO>Xb@DBuUI}M*3xwQC$HeYMC*W z*sF_vl$$SzOxeTVsy+M)m*oZh{#W^`-c>1Bok)dx73;(*R0gp!m)H{9#F1?)(9oFI zGUpcwT7^V@WYA2#?>_6slkcgov6mT0g}j1?Ns$S7ljI^6;RU3kl4knR;mjfK_=Z(O zTioP7@#7q6AAdxey^va_)94J+d@XXS`RXBB?JI+fg3omH@kv}Vhc^LfHT{iTv@r?F zL!1n}-joQeqBIXlGD=)5`?pjdZ&K@zA2G}lg&U@0LP91>EOttbT6;pTV&WlR`OjV} zYXw^Pt$>7%Zjn?>_Vx-y-Ro?E`=efwRZm=MvB06Pj(Id`%imoj0@&H`4TcH74J?t_<)f8UvjX>j|>y zb&<-!IjltOr-^?t-Gie-mviI<3q7N(kUf=cPoTLa>1`CbpiU$f-pF!!h>thqt8)F4 zO-ogc?MfOkM%)wR=j>^oY1v7uY4~ufPqa_4znQ;JXd}+2<>*M5*Dx~uppV2CWMIOP ziqwAzopL@yo8o0=@-HWWc(3^3@?KUA+iSfXBO(*mUXmd;DQ=X=3uO?r*{Z?@di6+6g@6({`79D{e}sTjx~|# z^AZ`HVc6kHfgSBS%qj~K`wcDj`0MX@>d_{a2Lsv16^REIQ1B6O9U5&t?Ea*A!fym+ z#S*jspD9|(|66z)nmCve>p1D{9B3Msk|Jn+^x6|^O10Rib@)!}#$W{yRJwc-emB6e zVzU)1(HVjr*E=2|4ZxhzY*F~i)n!y!H)cv82Nku*q;6_L!m0MPmoXOCa739DWVD?m>$LjY9 zTAP)V)Xv}kv#@iu_VL^@egh8%vJ(dAA&mM4402p5f;ni zgLv(wMdJ^novCu$>^>OGUvpz51H_|*l%^P*I5x)1y#3&I3^2m5Q-kLI%EF!FE038C z6(_MRB!Y@PJAeA-Us}}!(Lx;izxRgB1oTeyTkJVl()Wx|!_u?dAdG+TXONDRfz;_C zd7+VfhPkA?8X5?0QULSuLMXN;KxX2}>FK(Una9O(yV;MbKE*Kc}jWb1Wky`*eJ*sR%1oFCcWouk!#i>KL}y ziR4Eu>Xi4@b0j&>3AQMjZFk5~8aTJuG*Kx!^weAX)4(EPq{o-E_@OAW`|TNBJ=P3u zOo@;RHC>=p18Gp&z(or0Gu6*`KT=atLLMx{A(Bz<*-$p3@Xyk~UNuuNvlluIIOe(z z!rqt!V+n!|=vx)w_OKwl0g}!t&+!R>*0lc|#>J-Dd@ne;xQpQ_Q2t0%DcZ&>vt z4gBIY7<31;^{IUb$P0eOCImrv+Ey~)YZl9CPkC_z+PpF{Pb_(?2{c`d)0JK8@cy^> z^iq^l0}$-fzrQrtMtnP2&7^3#fzVM|0IFkgfDSVmFsgo;+xpU;uI>0I%QjO^Q(~BP zEM80Ucb->#WJ4;hSb}maxCR(+MZv(6;0w316!{wz+`zo;jz!q%-(kDp>!Qvj%iApS zEhg5Fs9`iOxdxd8HPybD2mYQ)0yz=g;_b2k7JjI&-^ltcWKxuS(R% zckJH81}Bmy(y;4|z~SI)$Nmas$JHRrQp3-tjVAzugLgBJCP5n+2Sem4uFrwCtqn0U z85FebGxpR7vuNdd>tzd^sn^MP@_?Cy7k5A-(Kh%>U0A+c(;&|5QLh61u07)##MN@% z!U5&4`sMoT%c~ix(9LSi0Ma|G02Mr zvB=BCdke!ez?wXqMaWu<0f;FT#x9nb<7SWr{7-F-g=14{29QCrLAG_19)TZrt0cO- zygZ09ILmff?=R64gmBO0(X#6EI(2b3iJ!Rd&ZgObuwmN#1b1E<0vI+aZhUN@1igW< zyHvJf3a6x|W0~_VolwR+rh;P2rvL%@B)H5AeMw=)pbA^w-MPZ4M~6eP`TU;;HBTN* zmd;y@8swEs^Gv*q^^ z3RLhfgdFJE`c|f5mvz4PHy7s)23HIr1o`z3^AF+A*q)zb`W>knpY*U(6Ladvddstx z>Q*w!4m=eN5q+p5x{Kr3Nl(<{6|2u)P?xCRz3_3;&1JlB@?`nZrN=5dusW}jE@8?q z3wwW*-FQfLAMFqB)Iix zDNoPm(D9D_pjjf=ke~HpB}(F#oAt zPbF)H-Q%TC;{Vh!<99tUw2*9LWtgz>s%#*1v<3Ax%RL#(&!p`y-|vRI3dL5} zu)i-?;~nmA&ReJV3SnU@Tz7oIKI3}=t#cobwx<+RrXMcnu)t5OyZR=-&o;r;coskB z&}w%zuoM$UI855IO?@>-S!)ILTZ@`o8RJ@#d%m@!^m5ZOi3BqpH~P z)ltdgYerG`hy7@gtD{cb%Xy!v6)uM|m+i3&{)0!V`x9MZ=&rUWd?jQAayu9!{!sVs zQrx2b3vy}8P5)5|Ie6m{r{#e4WqjaK+b??>6pM zc?@I9>8pB$%Zq0f?RM`vWtkHh;JhJ{Sf(`YcYi+RO^&h}DWR=YFS37|BL1i=Jj;{= zb-Jl5=kRqZx@+3%kOu)JIz971%4JB?`mI01VC3aclNV+sHPGV{zxz8YEny>Hx6*!K zt?Baal#$cp;acB>v3{n-92TF+bLe%uUpq%?7cOoivow%89bP_?Tw+Ii9B*>l51o_1PM#5SH6{$IkQGc_-)JO&sUy`Yf@w z;x>1rjeAvZgwK&TbLMtc=Su6nWEy`eG8#4Q3+UAjs93`z6S!I&XDVwP|etaj=R7nZ%Gg$JO+RI!I-Yp$?m|>ER%jn;)s^8hn@p~vVi-Dyk zeX)b3RKnBsaz-pRml6lK_RpE{()!^~8!8{qxoY8Mc0>bnr$T~byCGT%?A`@;2A{^?Sde>KiOO6Dl}kQ8Cm$XKE^mewRz` zM%f$9-UsD+m!G6rnWI>>lYS27s)vE?s;xkS&0A{uT>R}*K|?PXyfDX?b;@~mTH~Pc zaPba$_NTu2p=jZ~X2yA8cu4r_&F=fTzJ2qN6k-kqObRc4t|b>UR<@~3&IBJPI*7q= ze1oFEzs1c~?39}kb9`)uSWmv0N%c(>++c@n^e0hQYrtE^q^P})`~%-EW((Hbl6^#& z8k93qbnx2lCU!QeUAUQ=_g1JgaQw+4D3%JX|2&~K`&uRLSO0d!^sBYAabBIm&6yrVl!lD?lk4oWHSucVv)~Fwr=HKry zmoS&`^s0)$^XK1Z7pUbQ9fJ2(;=3D7hc_ppw}X7!ybi6+LQ(XmtuCAM?^RNS`xh)~ ztKerhiLW^u7tG#wZ?w*{%MP5Icl9wCKh!dH?kQjrW8@;aS&gJ6Y_mH6QDN={+`KzoEjWgLDq0DPL=jN!+YkA zSbRXVz__(ywZhLHA{|!{?=sR1pHx@acZoaZc2KI6w~@cj^KdS-9wQxcDtZ|hk= zAwG3Kr5QPbi(wsOOG&>NXT>mDc(iOa?f7|L!swy_XL@zf(fBDW8o$JnFRC$_>hd)%y3yZw(M+}{gn;)81LOUNGW&8E+yiVs`FB}+JPow8Hoz(kSijwO* zy~9N}7rX|R%**8dvcIolUJ$!nq@;IEpWi=c6U~BTRZ6Rs8rfW@H7b6vuGAYb;n7f7p6w%D)PRbja(mP9!f07V$LGBy(TNlBf< z^<{3fOPBb0qxz0DK7<8M2GgxMsKia!?psyn+za_9n*-+GQp!5DM zf}i9s#ve~tI8?@aVAiFtuACO=a~+XuoodN8^@Vjw@lDsNvIsA$Pt*# zdXX~WqnQwpSDDw~SA9L=eZTd}eKpXq)j2<=@UMk8>o*3Ybo~s3e7sqak>cty%}A{;Oe>if9D;Z(%}+(vlD^I^J&=ro%kp) zS37s%-u#fqDlJ;~^LD7zH%+m>^=0s4FkBH+32}gkRrv+^xZWJo-))QAgVPYhM-07g z28HpXljz^8IOMK!FE~);YZaO|Wz;M8_3Ivs(@3o(Q=vF)VQj+*)6vtA8oH$Dvu1JSiX_ zjQpHeVk@k2U69>6gujH9Nd;@=|uVitW2zaM{J8 z(&Wj78@!1vC5~!wvd+5Kx^5dCV(jhhK9ELIQ?V0Y8WmjMCtyI53~hdRotCfXW#&Cg zF4uC_>=vG=M6Q*7Fg~2~xX0A&ds3}>hmugrL5B0n@zI_$?R)<7h5#%^quVOJHzv19 zc9z^A;#unEG$nycFrKFz87k8`Z}xk$`EpV5qfoA`gLYgc9rL1-@=i zP@qMrQJ%H!8;6;<@iSv6mnuDRlafw%`io`ofzVi)3_=U!GOzO;thjv)=h$L04I}hy ztS%1M2KcVZl;jQS+?Urff*%2i4*?hlF zNhrmxt`B10j)#(FdEft)$-pcaw>U{etQjGHf3luFx9P!gJ%&bTu)xzQc0DWWw?7LO z=R75Hd;1ebC9bNkyJ{pe zUdKQU-j{Y}?lgLP3m>rkx<9%1>xfxU~O#xSxAEaj{pEw%kDtT)6rB6%^R&@Tnrx=?}LuWP{I z#H%qp-y|3dCA~yV;95_6XY74=db(LikNU{Vpy%{kr0-kd{k1A5ugUoSD2B+Icd|=! zsd9^wFz?^Kx`b~7J2k?RrH?ST-B^PYi=G6yqEq3Mvzs?4H(r)B#E5Pb z&2N{%Ge7~kA23v)*iz%9oFD{BjoG|B@JOaO`4Md{d&zXos&V_%OXXXz;_Uq6)%XKu z%a+n{6YinHsQagj6Cx);Q0cC3YSWxR9v)FVOaTfFZ*S);%+w<-}(ur32bWG$i zz$eEzL&WfAW6kv*EKi9HvNt|D4;bZudTKJ`{YgHjddaqy-H`k6j8#qMZai1g^z0j% zu)Vu?u-bzNc!sN93V2a;@i62hFJ-$8(K*Knuoh4_RqmhWDShI7e}NKTdQU)0JgK}S zhz=S{Ua|s-Dj{q2ulszlEGfA6rr)Qi@nk8T-Zp6TjK3_NkX?*NndsRaluw{0ogI6t zZe{&tTb!%qO47ZpcwhZ;Taxta)cK&Dc5_+zNg**(OZA0uV0l}M5JiVK_z zrWi<29zE!@Ait`VzR!kilP**^%cMo3S=U*Q*B|TKU0j1^me;<^X$kba^?5{+zLt}jzq6^by+`6Xr_#O+Bryr_K4+@o6RCc>{mL!DFizWfF)|mT z-JpEHkPvJi;xer7EHIpQ`j)(#V88ic)@3kGmL1?DXZRuc2fQ@}pzqN4^fDWc7uxof zkA1@2%z1jRq!15z^zZbJ%e#Z7*9R&wr#;rAeLa&A1ovY|c6r&D*m1KWy&r zIt7aKJ=?fKKfx-fpO{dQe1R&jY!RLy!SpwaF@;6bo|S`sju66<)5MnbB5LPqEm|H? zQFZ(A=V1c91qKK4%>5_hSCYSu-Nqug(i88;rN)~Gu^@8k7B)L9Rhky2bi`?xHV%j9 zDZ;S5J4M$`b>}Qke#*l0bap>yBkQrWP#5XA?*Nx*PZ_ZJF>|B#n^w=MnkApe_b2Z; z??F}hbxLKSoO3J7SXFH#f+s(J{Och&mmSRz3qQXQKFr7BOm+NYM5@JrSYNWsroNI& zN+C=5-qOaqw9fq2LIgr|-IJD+em3hOYwsVs^J--3mTEH`hYI8UXTPfF4)oK+EURE* z+sJP^hxz%`$qZO8Zz^jAf_BcC2q9{q5mL|d*=QNFC9wUmXU$?3%=YJ@Gc;7V zE)3Lb9pK;G`*E{(I$t@GN2M14mWD#tOsUya;TG91yQV``dh@M(OQKHC7}i^BNtS&5 zqh*6gM{w{+UJ8{So?AHwoHF?$a7lcm6cZ>fFt?`%B6@hIx19 z@!}fx0U~ag=-oOt?|f}*l5#Ar@6{dU&LlJ=Q&agi)~q}H8TljAQrdTV$yp;5DCPp$ z@e)mY8cd<|v0YwI*gnsGs5UGfN~c|5M#z-8AeL#%dp)ENMoY_wZ!GH;s71k-peD2^ z$mDU?xa%zQGhpN?K~hHwun9VR%gR&2(5qT`eNxz%#s0Ly5N4ltV17mZaNqn9r5B?CvO?Ab?QzWaJb(!3U)yLnu?zSof>W`@bPoeJGD4= zfAqO5d0)NLLtbihbax6g3?aSQZ1;IFo0~IhARc*8jrhP<*b0@0aB_SuW`_J)SdP=y z%x^OxxE9{Rnu;x;#i9`h0D6Yc0oY6no==!fyBL;0$XxB>iC{0a`{3w@AZd@(?X1O!i*4@lZ4UdG&rfSimFU&Z{T43KDPK(l z{Tz@vVni=Km^$2%u2uMecdkyolZ9dn5a7&4MBR4J`Oa4$&cQiUpC8@8I+zZn^N$x8 z9!CuM-u%-ALDMYXVk>gpMR+2FizBx68NSqVd$)2vWoUD&n(63v0aJHq^||x~GTP}& z&$NA5Yo2k9zK&1ve9DD{`EIMl3f=^FSf@kd=?s93$vZZ{_PGc7*CGZ z4oswOV~13hn&0y1DZ9;^$`Cvo-q{x__ zap}_T(!l-TfxI2!Or`Mk;eHq4PViSM6hV{m|49uN*oW)2*v=d&BOF!Bn4bKTT6Nb( zwjOFTANwjtL{8^QYDikne?cFvH#In0&+-Uka)eegFCHO^=Fy;+U%7qqwoOi{#rvQI zY?8HLhx>S`H6Gc=Pgj$EG^kDBE;=>7U2+(IAm&Dxcu9}|iXOs$LIG7(=?gL-KI~4G zG`nr^%SJ(XF{^<__~MVpv2?=8OJVa`pbaW#cy+IYP`>heXwtKVnUCmx?YzPoscR=m#X#Qx|X>H{YF%3RW`t zpPT_1O=Pu9%`>)8RrK6k%jutTsCqf$U5W%0;E`81MLZx$S2@+yNHP)ipK?e~Nf^%6 zRK~40EbPAeJ!Uvd@UVWoCp(@d6M7s38D>b}YPekVRuNs#+bioX6?9PST#FWc<)B-C z@*NR(`Y>V_(OBc(9?v&WwQ75JQl}{;kh%>dPkXp*sUUa?V%9o1;8R7jhgSq(ByF7=-`-@@TPsgj> zkcUK;l;*S52+wmMjYqyZTQ+<&oi(XM$#QA;TzK*XtP415`+v0)WIVaSg{mrkKY>c! zUy^F z{Qx|lgU<-I4Kn&C3y$}$`?cDDVN}EJ?*fBI%;M;xG3GySJ{$W{n0a4gsKd?tZDTyFQoI6AxJS{I9pk|Jh*XKmXzX;{@yf>V^7Q`MVbZ0cBBMN<#C$Gxqzx zdeQ!~Q2+fo@qaeVe_lub$NkiQZovP-f$^V{^=BK2F+ H_{;wQHK0(b literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/compact_mono-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/compact_mono-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..6e34b9284b8f7d485684852f6f03c9a3e54b6c4d GIT binary patch literal 29451 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 R|Kt+wxuTjvnVk9i{{oB0L|Fg; literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/editorial_blue-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/editorial_blue-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..b331a7da948fec7a438be5231324b59c35f50ef6 GIT binary patch literal 35145 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 bi;Js?v#Y1`ze{qladL2@P*Y1OOQZZRtddRU literal 18483 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 diff --git a/assets/readme/examples/cv-engineering-resume.pdf b/assets/readme/examples/cv-engineering-resume.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b2312a6d7c057097aa7a55407e1c09db3890dda GIT binary patch literal 33979 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 literal 0 HcmV?d00001 diff --git a/assets/readme/examples/cv-modern-professional.pdf b/assets/readme/examples/cv-modern-professional.pdf index b8854461ce0ceb48947a7f18a13a3974dac702ed..f75d5989e825946469151f01880f5a7f2e65bdff 100644 GIT binary patch delta 4412 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 F;9u^m;FJIW diff --git a/assets/readme/examples/cv-nordic-clean.pdf b/assets/readme/examples/cv-nordic-clean.pdf index 88dfbeb905866f41fa9c2940f8e2c91c4c191a25..c99d950332d5ddacf03f9063becde489f48f3352 100644 GIT binary patch literal 42013 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ⅇ- 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 I$}*V$2N&m8`Tzg` literal 29009 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 diff --git a/assets/readme/examples/cv-panel.pdf b/assets/readme/examples/cv-panel.pdf new file mode 100644 index 0000000000000000000000000000000000000000..97dea47d06c35f5482de40783efafe68f34abd05 GIT binary patch literal 40778 zcma&MbBu3Y6DHcWZQHhO`?PK2*S6iKdD^yZ+qP|Ha~Fo0h>6I-*cyh94~9|A)6tBGQPjxQ$kxFEhEc=J*~QAi zo`~^3(u_(*7G^F)EdPkBzz7JynAw~DM~(e|QtGlksUk?AnRK1(gsg6wKj(xx-bxqn0d;WNrx58Oo;u(w^GAh ztI`ZU#7vswy8+20!2;rXK_rG{!4LVWx92qHqe@a%Z(HCvkvXoQrtqR8zT+il^)~CV zwOcUf^Z2B9_v={j$F=L{CXHXCRgQC7;FDv*`Q=yU$koq-z2e!I#8`)wj?D|>bCX$f z-Nsl@2S`Ol`#}kjwasE|RSS+iwbfS0$Ii7`MM{STjR1?PXEpBnRjEdm<$!NHZ$_B! zOj;#>zYPQWA$TI^Tm7qcDdV8o%{C0nNBdi!+uGwT2LGV;=9pH9lcvOK zq?^_{ncJVH5W)W2pD(sy)za6}Zo-%E7LQLa#kv;r6}CD1#U%`T%NK(m&)fJ?A42o@ zzXp(#S?dzg0ProC>iyOLb;d0g|CynCXjEBXK^%c!ugZ5BtRtp*^!pyLy_t^HJ)8bt zg5I_Ir8`&}vNm~UHn!W2JJ!3n^}8$9RlGqiml|PABU-QY;+1WeGs1tL=65RxFMcW} zFFJJ8dn^1@_0$|HSYLmTKRdr$R+~azMw+~xbXMdnQ~uarxT`GAVjuotc7YM3WCCOg zxV&UQzs~mY!w9+@TYYK`(7Xr&ww*^Z7w@#){P<$`cLx>yDKcts!5g6_OUjEECbszT zumTV|r+%J6nMXW!tOb#rP#_)_7UAGZto9s6zj3~2;2&3~CmnxKzA4fhV9sCl#s`b& z>JPvl}$OyR`v~a67^# zTL|=+N*;E1zAv|Fj;4{0P${FfB^aZ&6d0pq4mRV>Dfl`9t1Qcw9L`fXW?rLJ%Fd2c z<~YyX2LF*6*v}xi6etb5PoM7o^)|^BaL^Zbcr`VmIqiaH=)@F=<>F#qkP7Y zKWE>%y;zr2IoWjqHO~F~bS)NT1zwYJ+mf|9VPfN19ZeM4;tBR+z9#< zbhqi3fqiub(fAtq{_DhJfU_;6V~3tvvP-xPbg?UA_n~e<5#vHf|6el2PrSk*fzh~* z&~`m_O~An5X;~@wj*;v3M7}=YMXUPWW(dc>=ipoGfZdWb#KiN&U3A!J81Epb%}EDz zzk-|g2|0+pQ1J`L(E`qA0kEKbsTg8tja0X)k&{Y zYjG+xTN&QTR%_Qj+G{Q>iJZg1+v3)^@I39owEpGq5ZT6M$9Q&jtRHOCs-^8snbodp;GCQB<9F;ewR6M$->D-zDYK!$5#gjeLa;?sind=9FB|4663JsJpPjREszio|# zuFJ_&uFMjoabGg)$X#2wJF%z{zc-xp9dPrP39`Z|Wh}~mvs2kA#W9>2Q7xiv1bcWT zS+9L8ANDX}KEqyFFl?{0?D{$JoOxa1WmNw)ymz12Ud++shkw7hE-2Qm*A5TQ-E*?<1`f#nHi$ zSIm}aLp_K1n=omHU_@0r>xq=Gw;#L z+8^HK6{H($$^9C04y8ElC{L#!%if9nF3--LJJ=noP%lAzQ&y$W4<<^r^RkqPzg@fT zTWr${aaq)ql1x`{#rw(dJEFJ=(fBZX*TOxz<#uZcubcIpptk| zK!WqnW0&HQ^Z-&3>y92|wEyT~;F*F>w9s#Q5aHH>?RJB_>y3ixG+hgW;E5t@Wdt9N zof4DY%bdlm*o%eRw=99Oo*-Wz*oUsg@fqpjIfFsZe&j)K`HdOP<=cu~6oK6QqEogt zbT6%$ZU-*_N`=O9Y|bhHN^>7DWdSeoR*XL=tE0q(338aCZAP1L)foF#c&+7Zwp%LZ z(085BjW;8CIl<5DGG>wUm-b%=Uu-pYkY-`$&M};JUXy2(c=TU~f~`s7k<4CY+hTI# za$G~rDooo|41NKBy)k?*q6sAx3{7lS5HxYx#dTbdIXv*^8uY#_%-drfL;Y_O+Z3F= zpFB2}>BUmBholKtg}Fv3msww57?&NSkJA_p)m3xG`)3w}myR2?Y3Fvvu0bEivkBo= zH6_lpQC&M1*O9DqUUrBOo@tB+IR|H{*1^U^p|8f4P}UO5NkCb3=c<qUYA{;GlluL|SAI*TT#>95e5J#dpd^h*`Oh?l9%y2{pB98J?U7Fba zP8Qh|vrkY23jtsuwxPLB`*RGsUgv(9NE~*eZB4MHC!2;=Xs$u!AhN%q!BZ(vaa(G! z65RS0s2~hr9P?+6Y4l~5`xmIpFD1z7k;Y72Bxjzx$W_l;cpovIduxHSNk@E)fMqqGD2A4l6Gr{AW2%~c} zu+VnPEwr^2Nsb+y8Pji)0i13V;I=-6Kg=hKfro}AJQWGVWwME!ydd}nI`6gk$u#FH zIGz_oA<;T&)k|txxj8(4QCD-@8EoyF6G0-}qIh;bbapPLVO&X+jTu>WpN?HjXggUmVU!tZsL#@Oi^(?T7i- z()Wrq-(<;gA)gwc$4Dw?(L%^EtID4f?&BB|3^fO_w8A%Ql&^uc4~RvM)6DZ6g&Wvr+oKIuc5U zl0_Fb_rRPuY9~4%qS9dyV9+nm#GDrPBu5W_o}q&^!0q_eVk70j&GUPnR~Z*n(rGtt zC*n_K4fb}+e$Q66*aP*~#%Er#BmDwXqa~o^!*+o)n?Kv^S5N1ZuVTw9-;lF?%d@J_ zpB?$q)+faP0WDge8~1N$^o4ebT(MD3`{w5KFW_r=43QTZG%btl`rAH zkF8WJIlntj;~E3WAyT-M)I+{7ZwL!RHG1f8%#K^SM2>NcIX^ zJoE1lPr%rTWUdq$YqSTWCH%NGstcW*V(&iTFj1L&~}BLg|pn zh1Zj3#N359`lj@SWz<``#Blr%V9*|$us&e5zBWB6%9DQ3fT{>TTqG@Qh0`;JsZm_L}OsGNF>R$5cl49 zHUQ4&F1?RvlLt}2KgHSY$g*jwr_oD=E`DTLo#no14FqQv_EKLC5gT@A2**P9HLp6!BBgPyA2&9E%g9k$skVNt?_`T>^1I z1FqmNTO@j>zmkG(ciD*UbqMbwm@a*Ehsu--&}@<-K#&u#s{(%*INik zoyeD-uA(Dgt7*UUzbTd&Cp7JtaZIOD z*s4;@zJ4Z*A$zzTCrmKqL)YYC5rPr4$0+oiuv%s_y}BTgkU@ z!Mgy=cD5Z-ZlXc9?6ZZifkO-Y;wzkD9%ml-R)MpRR(GFLkEjyYJ9TrkIsTN&4c7GP zWUkDgjP$n%R6+;dR(mXQUgPBeFVmNmzz?Wxn^FpwffdCW5ntWS%u!ofK_f z4scL<)(8)c&Lh|@ucD3dI+RJ!&`4lHQg!v$Ds(yl$8F~gDSmCB!^tjsD+9A@|GK~w zEcpa4&6fmOXS^MTPaD;e+aRJD>NIZ8d5_+u&9p|XKE1g*+1_Q9sJ2il2`(3G2X!e_ zuFT}ExE$%%f^f!pe!0phS6E8SP5ma-#x8-;81RYVT6Sj19WDFl0^}JP%6oU}gs_PN z%E#falW2L>yW=$SU#hgt&2Ib`j}zPQKwd`VtAYpv+hj zItgCt)Sgf!JTN4zJ`$Mzbq^&#a$b~jKB4nHy6I|llG&~R(R~wlQAF|(y~gBcSdO(a zM{@aKV5-Fi=#+l!n-KMp$twGZ{?ti!y^{-UFcPOEQ7dDFS}1IySez1sP}uecC83h% zE`p&B$PoIj;dc(q9X0WoWga+EY+DjLCMtgw;v&wSX$87fLJ!rMB$?tzU?{Ghm}sM? zrEV_&axEeCG{A!#{oPT9)?R;cb^8jx4urKu1q5`_Jv1qca>fQ!+9D}?foU7P2Swt9 zAEhxgx#Ca^m?FKY%7t_!>1?*XTbUDpTtAz<>)jEMJ} zLg#RYA{|Q;$ITxk`iOIVb6M~Vyt|NMzFVq6iLDF0V>aq4TrDK0gx6xNzC7zz(!d8) zwd?WaKohx}aM;Q$dR{Za`e){MPD|hp&m%mx#!A=?fVHP?QpU zdhUAy&Lg2-BE_$_eOZ^^C!Kq>&UhjW(jwWePoRN8y7}?Bh-ayj2gw^Ig7!;z>=)2> zlPI`kor#Wp$o^t_ zy%^r^jkm8lXP3*4X9M=d$0f2~+}+pU^>j#Fo53kSF#hpWNd)miS7&6lDk)Wz7y?&7 zPu`|p6&fy4RRw-$Wf=PlnTk{59KIg6IE4bh(Z6OJcsanHV^c_-8@y9>YiHjBuz5SwVPf#AYtONxkkayy zw~5bWqQ6Vl!L~*C(VlvOd1*l0X(Clg%Pn_PZmz1U9%VDK%HMHWAD`1%s?YSRwLH@Tzw*eM3LCm&pjfL3J_J_^8O%lop)(`myA zCk{_0PMs*5H4VabZ#V-jl$%|S?9gnCt+>;cX!aj{R`QdjptZV%)5g)Or6Zr(+E(+u zN_Dqks(u7YwXR95pR8`&;07!xGg{xe5+0*ghDc63NXU{Y-b#1Ej#0RgS_bBhEs>+T z^|M;!tKDIf|HSR^%qXPlB88^7&CLTLA@lN3l+Zja#IsoWx$o!vW*JGBwy&w;Pb(^E zb>nTrH%pd?FF@bDg&AcLvMMe~;S0XOf<;QnCx2X`Ll{n`qW$bhHEuhwg3J=<6KIq> zbh(|&qm!h{rh`-tY!-mO(ov*|7zV%@nX?q9YE zIcJ(IBrg(!+2d#u zfve7O(Z*u813FN0w(i)kip@=P>3B_U)+BKUX5nWn~9PPADCQRp> z*8GFj47<-lAcQ3J;sZX(8;zTnk1H1gT|mKblIU~-il!sV0wS#Y`m(rWm1QbtufV0Ex2(Ps zRdIN;)~t&4h4t}nT6(wPK5a?(g7v-Dd0oPUz>!&3zuK4m^q0?v zch?R}dh4{_iLq(%auIx-_F<%U)lgJiN`&8ScWumx!O>O*XeBHM|vXV{Ko=LN(sPmF(5UwwILfgHTErMLsfdCvgL?qByOomHN11v=?Bo!l_fa z`Z2Wcn|={3SO82?xv?>nd}i>RQI4A!PN%?K%lFXZvl!5qRMaM^6)0R+Nj3i2bdk1I zBweCknRjA_>0QJ!@OXw{jU3s&c6*G0X=qkHUZVGreo+!OxlT#Ondw{h^a9be_d+9G zQQ~-%dGT0^#KkcsdD4M!)&$${>Q5KXAsL9YdCz#y7!vq}aLfkf)M?^PGyUM(ZFRxX z`D%LY)P~v<`DOR#ZpCoF^unWC#=$kAzyD@#|LHdUujbVMV{UBR|CKi^h zl*&-zpI*~(vPDo&i}KyxQ+B7R?p@q1vR|b~og@A-CnMjzr*g7KdNn^NMT!8?5^`zS z4CJN|IwIg|VjC$T+%Zs7P%CK|aatoH+A%zqB|f17tpIzX_=EuATozY&Ebww-;9voA zKjJ>qgfrGYm?WCw6qJN?JtImGI%^s>EJNl_k$Rx$b#`l%KRn`(5X8V3^w?M00n^et z*xtlw37&AoO9|dp2*_lj^_(0T`C4E)6OLRNv9nSI=3wTt$S4U$&v@NOZdC`xeL3Jo z&WPGV2V834+QJ$Ud`U|Q9Z{0v4^ZvG_M^ShqM3AX2nr_&@MPv`mek>NNadF9%2-mU zieA6jzpOx2q%*5n-z~sxe<>`87>lYQWC(|?!|P1|-p+#T9g<%D-sVgmI0$q*oJ}~S z`C@HN^|C{Ns{)_1_vHv%b>i2A15ED}Pt#1^;cCfGvbvjlO`s&c& z_jtz#5L6+tHcUC-?z(lVwrxBqo$+fUL*bH*2C*~PP7>RG;9j#jq5k8lE5BtGmRF`SWG_p5dq2^_axVea)ACnWn2IQ zvCA0y5rQ);^cnvVELlPU89EHu0vL)LL=p870tyrJr0H-Wm>W(ORsS1EOqduwFa$R$ z87xznS(I|XIFS=SFhr~AQWrgFtLcL$vG=sZ=MYuVe*A#%VfKgr<^Qt&OQL80ZxYe<=sJ8K5gKSeILOg~)LE})&RL*fyy<$_ zFfj>e9xE*=`w8L0Q)_V6z@#=`Pn^}gdy6+n!T#N(q# zXf*0PY^lWSHNmK(%DR3Q0ok?%k>D!{cNPlHCp%ZI8E_E-?}96KJngqy8Gl=u$CbYRJPp{qjPe^2a8t{&ybemfwv{r(*5;9j*`qSv!@t^SB z*eyN)i>R&DI*9FDW;CcI_*?dd%3 zJ8t=u@?~Oq;`!!ZUvf?vc8<8>4ny*(4ZM6q4nO;BY7rgrMxF3VO?EcAT6ciOk>Se! z4JMBN+ZCC)SpN%Gyq;M_7+`_}pPStAzU_Y5`TVgk$^c41LJO7gy-%#U=1?{b;Bq_- ziLS^z$Or5P8)SnaiA9t$k*F2&js8Lvi@{l`E`6_TX_?P#&~A|2XlPnPQ>zkA*vH zYrEyAo;4yew*_scO*#C=y3Ft&_nGq@^Pu3T!js?6tPC@qHre)WGQ})MZHM#DobREO zFuSx!$jadvr?xlHKa2j-~l%TQjMNd!1S^v@G@qaRb7Y#HtxKt+ouy zG!aCJDTEXAkYEH%3_>$yStb(kBuZqzJQPHB<~<|~@&J@F94c$k?%R!yao5qd@9wsD z?(OO0&IbVz5SAf56IG0B_Zq?VFOT>gS76g8w-C|I$BQU0OW)`nPu?@}6VW1vXqa)v zi#6m+`Y#PF`JUX*SiSicB%yK4BSMm1Bgrxk%C6AiBb&F-x`>+q7h5>6jYTl+IILDZ;=Ow3q-rv^%4G_T8u`Li*`-IQzoj~!xrrzBXG?nu1T&A7E zQ}r~JUFcE$M4R{s@lD5CA2*4g%=ImFa~n8RmFS}nlJ2d9n?b0fnIGOVTigAHt(`>{ z29HXR(#Cs*n^p%6Sae6fs*Mqd6YFeiOSgz8&A|ov=eIufIddgVR5dlrYT{xY1Qw9F zJ2GD7J;FrvxC{bMAhY&D6s5!e z4~wT|vBd7anUQw>jZR99ha+c5efdXIO4n{8Xt0WOdKeNv4@q?g#fQ%HaQ$!eV!Z+9 zZvjEL_$GN31bN|5k%r`TgExleUW3x45j^ShMAIdq`KmhP6a!85Db0IS0-_-uykaj| z*vBhH4&koy-`Gp_&fS^i9o~NnO8-R7>?>KeRoekJVeebQ9NY4l@$A_k!buYWOjz+^ zVZjc!a4lk;tu11Nf9n&uOasfZVT0*Z)yd)45-y6$>PD99OBB$D!?cc4&@qrm@m(ttLLcJ($U*C?>v z_d?VDLx*pUI2`J?+O+ek6JlD`kW4e+Foh46YgJPdg)dG^{rrTjr_Mg9eBLiKUde@Z zt|^ny7JpOh_UEkii(6!Lmi5)I+&Vn*qr+lpHVa(q5@Q~%SIdg6mi$?17{s5FFNO;+92BG@g+rq<)k) zP+!(@JN$ls_r)!X@3-#l{WIe^xzf#k`D{0Q*dcMj-zkCx;S8p&M2F#S=I8Z2RUWS* zn)#V+Ci-XA@*+!0f#)sAxKarWcE{6X_RWT~*QfjTld;v@oGE5jQU2b;Q+G07SXk8f zLFKKbSlvI6$nuBmRp7fn{B3n*h0U<-doK2}J(W}ht%oE$w2dX7=M_NB;mOWdp z_vdz^pSwd5xzMIAh94+$Iv}23m?9W4`>86B&pmZTaPghtHN-Y*UHTH#6xp#J=%``V z2>t_D?y8_fzL%ru+ANj=Ip3clDW17OnB^cA(Q0*ceC0PjIjOt|`nrXwAhOHExK{1g zq}vKNlhkkg!V8k~$<+$D&2ccp9}uBGL6!d&9{=U0%>3WvypNw;i9JxDJ9_Q(fBWpe z+=!T&nc4n73fuoT>~b+Pv;3cNx7r69@M}5ajN4<;TspORJr(mh$&6l~{5F+*)2VA{ zhGAI2cv$vetv(xE3M9}rB%ztwCJ$Z-#EdotUnEsUW?@EdvMGDPs01ItY6cVU{=NZX zXZ0af)b+DP>p3ox@s>0Amw(cK_U+~I=M*oPNkl5jofHQf(tg*x$|>g!rKt;SHhl2+ zC8uwm=Zi_mT`<%*fi~eL5A<~g)cE!tMlIncv#zJ6FZvQKQpM+YSpHfbUC*rrRA`Mz zuRkc;m|(vfRA@e-HmB`Ii|=)KXc0jmbLJ=ogt62oZyBdQ_=R1j@g`-t?VCi1jsOtg z@F+EZ9Qs@eUZfgsi7}7y+XdkpUm|?{H`IJCNwSarleIJW$7i!5*7F8o$c8S~GuhXD zvmk|mlxV#HWSd~g-t$1OnfPZW-pUWBd(9*Mr+?vfjOEPL0-^u>GLaJ*3$wT5JJT^R4@*tVsT{vdQ(y*^# z#*k%LnJsQ0^~5SfxlQmW(!^tHP4FsG)&4M#`CCFUtG@P+yRlW9S)Q4+!;mR6HiCG} zeNIjUH9-tc%sq`tMU+IWDu|LT(@jW;+B6m;@fSJRLu^h2asn3`>qs$wqMs#mk^nXJ zoAmgu!&$sUVHg)foCLko5-N6-1i#aUU5FFbFE}LQLH zG$+R>JxrD)0wd=K-kIlCxFM@F=#9Y<(GgLmXEkUW&;|_2cW=0Q^7#mInC|{!Ou;fxXbAS|KM5Yw4sEJA88wdA;9%@If=LJ0?Kx=G=UcR?&Um28^+LB z*YKK0jzv?ibJ`}h>$w){)hyZ4^Yo@$E!s;HSi1OFiq*mnxiF$=qa%}oF2YJ!#u&Lj zqfGFnf?EEHl|VfPY|IfOF=nioHS}4WHwd3m<_6sSPNh<60J<{(s(uuAg9TO~E@}a4 z9dKG=ie)}AD|RoW7Hg)99!g0~s3&ItEl$=E+7%h`OaHbtr;va_gTcSZoj8a(Y(>YN z>Z5?4D`9vZYQCYC+u_+`^}O6xW%IP?EX8`5aZ;>5%D&7w7~9;-K}qz;@s^R>dAp&8 z_QY(D-Qm)|j_iCLFjwqKXSBT^g59EGVEiWB(}Lo{=v$NMOYD*lAoa`ymV9UdiaW9c z#~a^-;7V%6cO-Lw+>_c-_(x#d-UPqant)R-bKLuFPOKi96rmd9g23YnX z5QULxM+7BRDDc2@ycq0|6jabC+Tz6(`P49$5*=ME+0G<-0&LN@p2ENzu*hYhMmbD9e|CG1@$=^JVd^KkT0qqJ+I{f zHBymt&EXZwd;k{%tuz7;?2f|M<%3#aIoIbr>{2j-M^GC&wVBC zUsv7#7M9II7=_5sgc*fXx}g*}dv`DnK;bf%r5&3CVQm7@yF0K5ytikG6u)za!{WNj z0S`5Hz(SWGLt6)s?RmuS9h;wmB(5S6VC9E4mjVpSL06U@rk$9v;^)__wS_217b*_5 zC7`67(CDK9v2Jx7C^4$B5<#+mjU31wQ@rqF}%Mtq6s4U(whkunw4 zW%aQM8-WKBho*pqp^^Oa6o65{g{uFv@cKvO2^mX8OWsf?zb>pVVL;~}#jk(f7=uxO zg}VK-fPjLdhC{(p!Ezq8F<;}8qq&Emsy>yCRodvgL{$q?!gd<9vB=|0f>1#@lW)fWWq2vq~jRr^E+*dNM*J#oBXLyHy%mnu2w z@}ZSh^KUNNL_w;ch1BYa$_x>e&1n)PwdTvH#a<}OGKE;esIujVrROuTBG^ERlUf4> zXfqEY5JiSWlf>bk2^rT@MTr#%D_i(x%cLAP>F9cDl(Y3}Z40HPp)2Xc1}Pgy5AO7- zX{^zkgPSq)E}?&`5iVV=6|sQtz0s9+v~O;<`57q(jv5#nsqwO=>ni3AwbgZ$O=M6` zj$>I;&2vAhSNN3H6cN9neH~VsnLYI_*Rr&pU%k=D*0s{iss6HUJ(sj+O~d5vW}kWJ zpwmmexj;8iQdcTk<%Ly?ojRXg`Or>!5=NR9{$7A? zbDcxdgFjFR>0?rZX;*{mBT=ZJ9%;hlBY6!M1)u;Szq;@pd{=|@>QKD=rB_CJ+mOSP;)7a9&f9SvFVOzO>#>q9B061~19j_Z=bhv| zwbRhzWvr+&14sFH#jy4#XH!AriBMk~`xnLv2A@mb%YMC%2$+No@r!EREGg$a5qk+X zPGf|%BwH{Rjy%W?-PtS`Q_6)n8v6z?+n)X%mq{BcX*m6ELbWQjIGwXeYs6h^6%uVg zyFT2Q#as2U8BceFLtX@d6+5^ZHxkAj>#V7{t9Xr^pu3yb_8qvK@9~jCfv`e$hI;+g zO;6w#zpINwkX!b+#;4cYAqv6$_F!VIZRr+X|<2V$_)inQ(pFTxJSDM&j zb8<)gqy8MA1{Ng*8n_eS4!)ASJGNLaVbkEU#UnOtY%6!>6(u~-F18fr4m#z~w1Y`_ zG;iZqY&Y^7@yK^e^hgJ_49 zlIPWt_7j<}=jEzb9pCi0wHA5MbPZ}pOD(*D*RB&)6HNflP!p{O~gjLEWsWc#OCUA$%pglzXsn}Ai zPOf2*CVb!mM~z(D3b6S=l@S5e&rL(HR3y&fX*nrvf_Wgpm7}(Rt3^hC(znds&9-m1 zthcQP#@*(5+yu;HQ%*4ty6yXJ(QCa?f57bC;dQUlWqJ7!Z*&KsJa;5Y7T3kcNK=ed zl_slY>jrXX!+W=vuW9UXsJUaxDNxWh;k1|35I&#$q6 zQnOaKN3QW|e0D`u5@mDkcO?H3|3Di6GDeovjY(CB!jDOvf_%BZp_*otm%#wTmil93 zbct1IsgNB1ek*588~N2{%bv*L4pzB`xl9B^q3;Zh7rx&%#L97d$y6uxyymP@r;(w! zt_#z?FAxGwLOiBSMO}ekwexSgJm@8LTtQPu)kecyn8v2r=lt{POY_OG=4pA8_Keww z#yn%GYw}-UKZyZS?h@oznmZG;0!S@6DHEnzahjAtD^}-)En_*da9l@vh(ZX+qEqS=F>O1(m0>J>1$zSxsU|PcY>Z~UNBpSuW0lOS?r_ShK{mcG6Pfv?i zW3+yO{};XA>!^=@0_}d^m;DsqG5ja$}YY@2by6%IZMAy38EBbqcanAReKC z3Wlr+dNcT5fh9>e-HfxPiZcJqJ)NG6-%Db9m8(&X5}F^KqWBs;G?Q~{dU*3aeap6>4=;Y3h4hcv5bS-*m#Xq70?Cw7UIv&-IUpZk3mBMS1p z27k#{zkChuATla1-rU^JeZ`ZPlpC?j^#DpUQ+ z1O)P9uiXhboPH;|H?KfHqjfwp%e!_WvxC{-0#}2;X@Gyj#SqT#Nn&eFjx4^$xfg+^ zGgmbBtQvj}uY*vKqt`SP1d{Xw`Y9EtS9HQCq z9Y%~{vlb7F5as3ymmkgBGxt;ggc<{jcVqIS(Dp8U^=ouhI;$|J?wSW}#3$4Jcs zNwSCBek)e)IM9u9UE#-K=|kTrMkh}+qq@GLX`~7_7_z^^i@c_3Up=Hp$*Uz|9Ks_g zC|0N$$?Uwqn`wTfyi$hdc*S?*B~UWhxRk+#(#(TCFM@fk&qfeQR!U?V&?^OvMKDqW zDH?^tg&d1rkyTkh9aI8KjR3G?P^}ia^Xi|7UQ_ZeU4Vd#NUs$~(q}A{N?J^LZ4oR= zwEjR&$jyqarLP*w$YP)oy52Q_u_H_sxw=EL`<`-gq?~wN(D#Vb$AU-7PBQHF`25f~ zc-ZG?9bW0Sw3N7urcpla-S#qfF`(H!oHsg?zkbLWX*W)4o2Zson@LzZJ1H*j)gMP* zS7iD9Y8Hj{l#<;ZiUL~n{XkGnl&;?UnwYooH#EH>kC>*n^iWD-oFx+0*_g)ZlL+Sl z^fD$$f0FHo?^#UeLb3>JX#ji~t8iI&+=Bp{d17X68&&2gD{C-PhJ%lRsOlxJ$t*s| zVxUNCV6qN2{NHE3of2AwL4;178}+^ z`Zh{iIXQ3AH+bG%Nw>)+$Ee53@%S*#c?oD4n=mW>L|Nl$SHI}@*gWEf3+n;eYk+iq zu*WoraB&dKwTN$4sHBd>&&Zu8Ny}%E62asDwh@u(XbHdxAHr|X5wD5LI17iWls8e^ z)%}B@&)yBVNV}_kKE&5^v8AGFd4asy=0===HNxLj$!G8q&W+*>`B{4%Pun>I&bOz# z3vXIW3f;GpR*1Og4lfLrS-%y_P8Vf=!0mA-B_sZ?EiLhshbDURra-*mvEUK#^L6CW zI=E4VsJ?P0yf858V$(x1R)tQrK}?XWyZ|0YUHh~_bDF7n+GD1aHJViGXl6oaBtmvc zA2Dg}=<)yz)5_9G`u*?sZA3F=OnG0@-+_tc{C4uZhlkzq4hZJQWL{Rg4R&_>T9t~$ zlX((2D;{Y4O@dY~D;vwOH~ucWBabg`%MQMNQz@(dw$-(BI%Omsutq?C@jh54ByEBl z#35DvZ>mSp6Sw$uj$0Mw+k445%~L%6k6xHg_Ts`W7l#% zjGD533CX*Z8jI*3f18x9jJTxj;LP)LL@9nqB?e-_ZyH+NRh8A1-i7-m7ebM%T6v2?I)y_r>$W<-b-en7SrNb$YMZR9B_iEK z;E35uS)dO(zksForH{zFUIQLqzRA@+GbKkkPBrQKJ=!p;u(4??bquXGmv&l;H{Dj6 zmv#98rsF{ph3zebNpMo|?h5j9e7po&jYFy#Ry54+bd>}G9du2@;es@G9srH__}XXJ zS6GzWwXSxSIMicz%|ABLF3z$dF}$WpRHFRXycz&?ocJB z@fome8sd%vkH{eT(iO&Ti}sJHG0T@Pc8i(0LwZ>d(NPVuo1&X-FGUMg5y(a*OIA6a z{v6=gxk8S9-U~w-zh%5@A_Nnz6n-po-mnw5yU7>|S(-3mOLSQcl|CVUQWzubVc1gt zn&ww$7k=~Dk*o3PzuHYtrJ80>rESEkCi9kbKDb@u&VXx?2Vp)0K%#H5x&=AFeoLn1 z^=&B!prDWKIU|RHXWS2AiWzE)ki3oM z4An=Q0R<$n$ptU>8Z9dwww+EVdc~d{S|KK6av=&IC~Rw ziSo!YZ1)F(?KtnG(fT`GDvv6YPjttEg3#}-Kb)7-V~xOg z?KwE@X6<{VKNJ?Rr~WHW7IL%J{->YTVz)}m!)KXR5a~|fk55jbaE|;#T(@vW5MBp* z5RNKqs`LU}(9!FbFL&5_UxGNx3kDIY6_P+9UXQ?T7N{_b%$O6RF=>q(SgD}dSaB(VhKwW9V=)D?^3Rn%=A@*ns~f~y()BUrF^MGMmc@}% zo$*s*LS#!nl|14>xOH(2nthf#bq+mw@N`cf`{8;unzui_;?!_1s_Bs#c5(vJxH-9l z)1Z+hjck>R1?}RgC4X`Y!9S0i%8#D8wKrT3&l6pvI2_AZM6FBL4T-Xgm2Z8XVZMF6 z9e8AI>~u|0ucF?8@5pfZ$r4D8`^GDXJW8a*ZseMo$}v>(RZ=W3geYXWqLG(yiU+AE zd*6|Gv$!iV&f!l;ljcpvW=?TwWQOHW<#Za&-G!IV#qp>>=6#gk6Z#FDO~_H zBuda_>$Yv%wr$(Cb=tOV+dOUCwr$()zGt2$=H7oI?!$`8*jbhJR*_Npt+fS4Xz557aSlRyK2%p8u&6lT*qozj0tu&F-$L7E@#KhEm(j=6NLTLdPhF zYErYixW`CQG`7s=x^Kf(UUD}8HAsGGF3OoJNbk0q##v?UQFf*y<+;YKn#TH`eG=8< zgeRzV<_e1AAx0FoTb8vbN*W6|Fpj3@h0!Iz7C_!vTY(A?l^VoWt}IurA*Ba2fXryD zay)bPHW)6+2J1P(;euqE2R^zE)QKf_8Z;8D86&~T+9j1rS<)3sc8vtgZ#eThWq{FC zKo*Vt=S`(3YhAMc&1>`ZYHEpBTf|zms*d*EPS{dUF+i<4Ue*2846iK6Zwo5^^^b6Mtrrb_xZTd>seVBNHyrG2qEzwa^t z$({lZlq}riQ22i2Gl6u~aw>qEIV)w(Wwj_#(y*(E;>=muN!Y6%%}h~wvSX+9Ehcpk zKN{WU(+-`eo4modccS+79>B4X3b35UeDWYAU=lDXf>bHm8MUE^HrhSeakMRx@qb@B z=D^`s#(@^c$mJRB0U(rK%hj}<&Bj?^Q6hj+(fp!SKp<*U%9s1BPO`~e69Q%4oVUlC zHqmZZ=AAPK)P32BpEZWNLO5LLiSX~`HA)gG?EEM~K6_~}G-JeKwIrojBDOIjqhO}Q z)K|$Pl?j-fRX|{r0Q4Zr8Soe|Sq#Oq&tEUc61>m>8B z(~PU$Sq(d5$XSw-riIqlw9&klHiL~r3qrASuz zYz<3cA6?ir3y*qe7MVFF(E5cetMy%_uB9k14=&1Yot2g?3b>1Q?5BrRE2?myw{G~A zLHxx$q0+VI%2?8(?fZ z4<(26wR8MC7HL#MW$bj_=A!pcV;I3JB!*44S{Se}c-n%v5?5QEZsOq|u=T{e!I60Y zcB^?luzvN8^dCt_eM#d1$Q?WmFqoP~e^POnb#k@F6kH~T*tDyL7p#h6O|0Hs7C~aO z3x5N7j`YHG=}X7w(I@9v3fx~31Hjv@W$ALIAUQKg+4oU2M4XPmaPsq45MkUU6Epqe zGq(cs6Hnt#q;`>|HPxto1eDwfJbuF2^17=NrIs4}Or09gEFITdO*DXZ3@+;Pbd?YL8DUg#=&5|f>WE0{K*5mxmJ&wNUgx_e4y5NIIq0R4fZOj~a$Lld1d7OcZ8@=*#2I zPM6g@27KFe?Z%6J|A3re$odAV7wr}T6~kLWF=)l_!~vXWagX_s@vavg`3;=$eYJ z{w>g5{|N5rM8g7EL)UvfSSto zfyg)t-Z+|`eoo|te_*Q^T|^BUtyat8t#E(W>*!~O*rM>$G%kFqBp;OnK!Q-1E`}v@8zAj`c zSG=(FpN0$M2&kA;MiOqLeg+J;LjUn$it_wG^!?gS&dw=~{jITgZ8XjMPUq@L`#qt3 z!t;s!;kz4OL|hH3O)3H9kZE|7@l8*m1S8tQ^%336|KNh_QRQ~mH(&J;Zf+KSb#d8Y z*N~>Y=8~`i@9fA2>jr{XBi$Xob(E@;y@{3zmX2J`r0I@THlm-lH@|=usHu==k1;W$ z>f{#7go4TxJ*)x2h9IgsZ^WTShDH+ z{!{CA^|cJ%yQMWSp}IbyK8_!qnC&shih63?+5dMXKcs(!6+;pYFinbqxNs9O%mPvz z-anOqMiAKG1fiBegT)^s)l^LgM{I#I^!i5I)TKRJ&OBjTyVa9Az22)4GWD zUA9wy7ZvYi&R6pA?kBY+C9?rlHY3OS`=WCHkQ)B`$YJu1+K=yE=wV|rLBS)GgnFsP z4_i^aM>a?&1J_j3@+bzGbsH&{lV&7o;!5$~pf)$AW@~_W;v+q5(X`_0; zI|%ZwLs|5>j`tCF)<~~UaoOou>nOX=>DU2uz%sXRL5@#=0KP{poC3c$?R%#>QG$Bi zNAqgki4BP(+xzCK-0y*b?RCF?Hs3e?(Ko(GnOqS3cl0-uQo^@Yh{Reg8M*+5qd)s8 zUjbAF3>9j-ojEYPm69q5!SS6D#O8$RlQ|@a+*c-#dYM_(T@*PS9*;!t@k3K29|&I*=5 zf0+5rt}>A?tq1$AcQdDQ$Zx%;?AV2k<{|tOEk%ME%DNgg+O9`s?dwvD!g%6*#}VKu z(&wYuphovb#Q=XLCT^C6jn1ZmMYY~hFH0WU9I#EZPFuK8<1n3 zO+I08WnhYw470}}>1ze}J3lUhosts{ zh$@#{*|G`M5hfF4dyv!%1cRUPQt`6GKnprfhD*g9zl`+pPdB7{m-T|pwEv{>%jg;Yl_a2Y%{L$|vlfe7)b_tv0odU+{?$g{!&93>2(JVyWIt;F`)nQN_l1>>o55OJt1Y&s z0hFk0o+Y>ciin(w@>@3ye%o8ZS@?R{M!jQTkdAh$#IucKH zb@%GUloCe8GPHHc8Q^4r8<`t-$XC~ja)(_jx#X;pKk)*PEW|FmP)%G0L>a)!H7KNd zsb1He6{-(iQ^8^>let%nohj<6CmZR?oOI2C&BAw_#0+uKubjt6FP*t#k=berFbD9D zN@(O;s4m=5c7H06%yKVX7R^SCO&w@(EUmK6oYCB3Swct9+V7IMI;kAWt?wi5OIJGe zcj|uHuVp_Dz{DRcJtX%nKjf#2u3dKv_XXUQ%@zNgjudnB60Kf8$7SPaIC+{|KhB`9 zu**cpf+QL>=cc_PcxKcyjmE>Q2cZqkrE9`*GPdK26=86Cf~xoTP00H)yG*y{@4_ql)Trfc|Z*k45s&qJ4x47C^S}LxJSTn4cOju)B*y37@F|!WG z;=L^ddXwN^EI5@HElmX+ir)2T3dy}yV!qnB|y#?^~h4LM?D_S z5GF@*-@Am_CqH})vbC7a01|O(2DztQk;B%bQ*yT_1d3Q7HUkkB;2;S@8?Lz*R zft|bk^}eM4CE8B0%KO%w;)o9m1cFwCqZU71qiRb12FWpg>1T#|ZnS{?M0bv*5W^6A+<94m{51sa?kVzxGp-gk zybv!>*NuwI$m{b0r9x{KYDd2|9+H^VjF0#MILAa>SO8aq{qbUn{0(;9&nto~54$fr zqj{!oilP?p%m_N8l?qeqUmV+xV-x6x%U!&y4loDh@pLEK#|$zD$tA=%1#};^AU*?~ zqPG$prqt6z#p}WkUIsG*EkO7tb>{;+v;cz(x~aq73y4pu@;?nD$boS`fQYEM^M)4z zf1!wp=NAY#U4<}h+xI{sy59EV>(o7>X0oK62jqL!_Sv-1~IaOdd~NC25<7A@CttA!abdTO%oxY zsTvbp8hq-*wwBnn|ZNYo?O& zpG!8_(6$_l?$oTMvU5f>awg(}b2l`O{z)b4k7tQ5E~W(87{E^-M1v}DhT>@q7QluQ zo}jc1Ygv@bkW16tFyzV}$P*x>U7PsbekGyT+{oqZ%{lGty50V?ecjxF9)KWZ<%+f# zDtoy;&N7?f17h9{zTA#U%5wdhd7F%a*!MzQ$lhS-Fh@FhM3{gTsM>1!K8bmC<*kDn zS%!FbVvCE5wcLpN!WME-Y}4<=By)_*-|c$?h~Ca}yW%xqNf$HxB8WC`xs{0_a@}o3 ztn9^q5#Sbsmr>HW@eRf@h<+R2K1||X*2XgMh8v+T>is5%?LD3Mc!3du0Ufj)UVj4c zdYKR<`<)>5XhI0(9n7c3pBApC2huT%&JEfvI-_u7_X_Qa>kv6<`&=_W>n#5l?C1yW zvrCjt{G=PThj#NiIIPj1zUR^l5+;JOC)z}YDE;95g|qNCJZh`5KUl*S*=IZ<<|~2~ zGT|Y*r&>fRSqc){My@P8k;n?2D;JopC9Vln6bIowAx1C(>dv_9O{;gz9X#*R(8Y@e zRhu)}0ZMK&0)+nMl|0*s#qw~NYoSV-?A;R6!dd32U&U-F3iZerG{C!tzaJQhT+Bmp zI}alOGj~flNssn?Id)AfalBY|=*L6}LDA2MCj%zZ*+0w$W0rzosO6PhM9l)3vjBEZ zKGL0pf(a1t?qIZZ9oCkoo!DOPC-O>yhIGMHF5UiA{*K(>`W$Kn*rY}x`e{>4oeWtB z=|)VQbT2gqA!VJDq5)8G{>BeZk;$3^1IiYtPQwBlwE`AfG&}HHw1tL(3W!HgX)%{; zG#{2nQ!qM~1aeFwEV!8IE?X#Q!`RkzhSRJHC@P~iRlVO=pa7QwZ{L_aSdj=KLU~NA zjq-s_fGMg(!YgsnL%?kTua+POK_vGuPL$V zrLQTnsRWRZ)q!y&u_5kc6DvW1>uh%*cHtf{Ez^boN67`AXi*S?d>J9gD{zwA zqIv^Jg6Fvc((8L604q^Ys85E1rj0z-S)yd?LDK&L!^c81I$qp3d)6f0RRD0Kf44#8 z)?C=hAIH7|k0iLXf;-L`*Z@VB1^5ZPeY^$h#V-SmWC=_xp(308U{R78K=%+4Aep@0 z5Ozi3=<6Czha%_-pyj-Prnu5YIp&)&vZCw!a5XTQaS-0f1Hvm^f8QeF`yOS<4Qf8# zH@zkFgiQ=&{SSr_9e0YTk!F>7rZ;oTx||IgV%7vmHIxMd(YW@Xn)Q8>#lmqDV|bVO zn8?DNKhH3>N;kx9=kN*H&MwTw07)69gviGf{BgMg=q!qL4Z1IFh{jf81AyVW%moY9 ztkptLAw}^ZA>TIXwcFpj1&&~Y!Fi_Yc3|Lx$qZzRSZJyC@9wKvvLE}(%?n;rKwWrYXC%Z3thTcI^LeQ=5f5@}$r!08QvLhF zAXd5h8Q4jM7YS{Gf!Da$w|gD9Ixs#u7^H!Wa(+9aT0n<9e<9b>DWDC!Xko%hNkRdd zeB=fjwn!&P{VT)v;>RXk{O19%e|i;$|NiQ4h|iI~lt=;~Hwf&^n1GF97>cF-$O-i- zk1-GkkK&B$3N%RaW$$h8<6sFHv1Sk7U{AgJPY;U)X#juk_+tc+$+e*Y_dMk6O*D94 zKqI)I9M0)txx-z-IHwANC(S(cIca2`hsClq2KEi*HzxMQ&rksgb5%jYoL3VvNar&P z7)Y4Y1`y_e{1ZulW!MbCzX9RDTP`7B&S8+#<<6?f8H$~d|5XwHRf|AMVY#sXO%?xB zG$O_VCVV)olg*9Nh7N1fvBZ}0{_ zQVAs#?_;P1La-D;Jw=d&E`OqO#O6YcCfIqDQVX6424O=pAn$*$FcoNDb)uoNM9D#7 z_@UCDVil@Hi2@Aer{C%rzw-V+I3_|R<-{Gqqv-?P2u8*t`^i9yEX>72FiDY4 z@rDh;;ijW&d{Lb2=)`%eI#!g^tjAc7O<1V^j9gUB^S6+#3arb7QVv=Hb6P?kvY~pQ z#ERET%C#fxY@0aq_kW*C^77g)@9vX!duzt$xi(@axq2P;=dSF3#Le-lzH)^ZB9Mn$TAUPTd zS|NuRmJkZdZU6M)!}m+>#(pwT(NeZ(PkH79iXOM=0FE6xFrHxaAHM*>zBk`g)~y%L z86ltuADJ_8`In+mEd*w4PJh%yJf)z^mDOhBZhPZ7#qoUI_vJ5Gt=#W8Y;JtaFM1W# z`^5c?B00R4YsRddzg@3)I{=#D{${Q2tTTSR2;zMAtQxG0!{zjQT&ijvb%c_}rGkZ2 zqaZ?mfs~|EQ^BDHS|Y6$Jh#At1sub;aQeu$6Vu%r6@yX$Lxo~K@m4$FdD5nMiKwY9 z;rBLrL01_^*7)35dBWFvuK2E5lE;_yd)QEWnQFN$=Jzo9eJ9Rg);Udh z>{Bj8PN{1JOA(j!0SID>c1$clFZPr?t`xES>;8_#IJYkXT| z5#Q!xmfRiu;^=-9KbO6&GxzN=@Ij@D@oc)h} zW&SQ`y0~yN%Oj6UR8_!nE)ZV`Ik5-=TxvsEgc+$bqc?#6=wqs&A#R;!bmS(|PAPKi zN56w)LKWG2#M;Xbhe{4U^MEanIRi~=#cbq7_T%Hs`H91qvGD=U%9G=9F!6G*^bML^ zZ!zk!-CR_*)osnmx#C}PZkdz&e!P;VKEQlG)m_t5S=VGUon^)B5`Ev+e|y={-fb(I zG#$;}cJ7@b<}eolBUNNi$BV{@2b4zqQP4p8ZSKnZG#y>QpCMbsH==ze@j6))yy(07 z^D=d%UJf}x{+JTA^lESo)Wk&B@qtWF)sJ_ehi$okMP4#qjyLWF2+VBLAPS98x*x2V zq{(S&Pdb~alN!y0)ObQ`*^g)hGJVvvbe6O9n)$-tTI=e>TT^V=DT_~8CC|d;Kqo4z z%Q2r-_5A!f#a7ekH7oUjO(Fd2+BYwEHrvkvlm+q=~94? zT(O6?70y`ZU;s^~v4@a~8I))F9Qt^_y&|!GyQt-6V@{VHSjf@#*NcJL7oB{~(g9;GyZf*@wZBGL3OQVn=J^)xHyHu}>t;?#S6 z6$p17WN4z2&@Pb82(2^f>&K@KmmbdZKMQpZ%i|CH1GKCsY3|BqvsM`1Z#UDfO1eBt z0H1QJ$q9H&jB^gNRTientipu%_EhaVTr2s=qMU9|;=}^gc^)RDVs6q?U;$;M)bKq{ zq?yS|R!;SX5Ch2++iVfq0Be2-xqI&)wluF_y6)xp+5)};%)p>=DSeBoEWnszRnKdg zoH@fXx4`M3$4N#9-w1LogGV%6Rs9V6fN5=a3C!^a+PZn1#*p;h(M9~89+%5YjnB6s zeje9N1CNjIv!1e+K+tHh*Cbc{WQ_r7`-zyQX(;WWp%bF+gr8u5?6{o=uHp7?MC2m~hU5wp_ ztAZI8Sr(+Cxs<5A&6z^8B_vxLu-;MQNWfiiE>JP}84BPRdmx6Su9p_~6-c|X53I{c zZ@hwX1&2TRe>EH(G*AAlj}?;;g)t@~!~bDb+B0gI)1R!zluf}Ergf>hjJjCG=WsUg z@%gl^#R>P>PrWvsT=wp1F7VU#o+WH^q299MCAi`HqW761CKIl2T~nLCsk$h?`?y@i z!`ixg&AY7+;r?#5ge}=$z{S4oq}J`}=;v0N{GHvI`LWBN2mJb>imwtd@EJQF`+$fZ zWytpR$t{LWT(A1Wq%Zqg!Y}p8m}k86K{L?xY%Q7g3_;0TCk9zhDhDi$Y-@&@saHKi zI<|S#Btb400(wO|Zv@&DY$E(p9N-c_$fj*YOfsVExln^&LVsk{h9mm%%wJmcOPEZ} zuXvFx6$FM(IjK7t;t#ed^Rd+>-zJsj4B&VCw*?G_+3qE}(c%P=Pfu%Qa#LdY;;^m+}H7QWtnC|=`k}<0dL4^!FZJbmN4abw^(iVH~21(1d7YnL-e5vsoYxTua%K z=>&8<)SjEW04+%t;ZP4ac?3yqV-6B(tx!N`oZs=+qDsJ)&D=OuS`CJf^i4JPHdl~d zG;q4==VPU~&Fntk3bTpAwOd`M=NP(`(~WDi#}Pr3>UetCP0+5B2E&PoU4IXEd7Cbu zJ3qXP6XAyZSK8>j` z9fbMVFcrm`4RoXgGVNMtNr%-5yBL0$`xGf==kiKa{vn%6&n`iVY2B`x!wc7_Y4WNk znObu8+CHc5#iqB$hrr6HOERjO>zTyk{Xvr<7Q~NtW%~w|)bk!!0|ndYH=2srg;z*1 zwgQKr1oEU%h1z;7Nh&PFQ%E9CDB{XVP|+#rMT}`e8ADf89zU}2i4xE%RN*Z_mHw-` zDi%|##{)f5tx~oR#^V)^Tvz$E>Evk3LKMx{N0$^{?#Lf1hSLkjBl@ zfRKA8eZf(SIxJ*!V~PGyNM~<)EA%l?Kwd<$jYKdIQigy>Dc0{CJ*P+XRX&maOQo+e zks%CDJ8Np*VL=CDip_mCTZ}#mkbXGJLU>-!|(#qL0SzH)GPEpHl`dM|X)VNJ5 zY~YVrb-YRnodQ>>m{y43W1@d^S_eoo z47S3N(2ou+BGT@DVu*GEs%rMkV`fvjRG0|#2NHyFSP%<>e(GMaTc^53z zQu%qyk#J`Tfx$BsmD3=eKc?wM3iPEKMwU_jMS!Sv839jRp!=YrjVe+xDHAb6=~SWq zvP$uU_g0C(a;by5plTHNN365DuMs9oH?GD9!ox~(m>O+vRYovEZ*Zd+*_qEXF&#W~*tuV<>)!Vu@vjxj58~eGj zgT~YSZ=sntik%gWJ4%}St7+TqJ-4aNgxZ9h%E|=U`~k2`gnmonmE@jxwgyl&_@sk^9v@vy{=%I|Y{nO)KmtLzs$jw%(^UeS=y0s_ zDZ}`4yPA-r0+#6@Cg41~NCWw=|BYY%+nK1Y^p$tMs>_$890vX~tye1RSLwoWLDy(M z%adb06hr3pAyFrA+F0BSM$Kn7Un=<)!PNGLjq;>}veLMp?VWJ9(6e7^A8&mlofAgS zDtsXET8&DB3pp_ehqQN?!9CnPF5*3F+yZY4Cg0xxNk*?$xuhjPl{^;x!COJ`!A&oE zBLpaiOSNFKk+p>$HU^J|?hFs3M#ssy?(3nC>NatrkiX`l7WaiwrEV6{HLIn%<^nRK zYV-z^EO95Es`{#ipj-CRTBz}Z^W%&k&_`|QzEF?~+8n02*aSu|-;}M+5vK88>sh+z z2n5u55=uh9%HI$gk2aQ8R)tAH$0i=ut0oypNL%=2@Q4A!PZaY*OCo zWI;UfgXPVl%r2YCMA%tdB^#;utn^8;7G(K`3_`oAJ1_$7Mgk?hhWm?ZQ$Ub$>1?pP z(N+%n1R`$H@qwWs?L#AN5!K>Wb1cKD?a1&BfV3K&< z6TO8uiU`A9jwW!UwakYnE>}?pxv=tGpli@Gy$mGQU{QlQ2`uQQ6mzrmDHu$J48Z%x zqX_SIFv=(eI&SmaWEZ=?BAjk%DyI}6eYj&{mCt6CD%fHBTQYZ$4ZwB(0o6FfQP&8u@yg*wl6!Cw5smU?5g)d=0A2yxrT2 z^bYGZq^!LzfNDy>{8r~=g>`@K&eH5RK4gHm-mz{3)cdJJW_L&JLp! z9*xxy`=nMv5sUd*QVZvYld#gWp~W;o(;bdUJSZgs|K*0WzO%$jS2B!_OG(ux8Hu)U z5P%o0haIijvU_6CdZGo+_g>fIRL_q|UUQM~c2Ho%xbuD>0U9atLW)TOUT-)!BaYUl ziO+W~NTV@w^(a8?w%die$g*(Jr(KrlCfcMM=eya33oeTykemQ6KYD@(yxS#OOWqo> zPq4nbMC+_fGHlQS3hv2WU?oBO&kJcll-hxS0Vs`h(J7Nji?L#!NV+hU-L0;V;&f)a z?#8Px$=6P%5!n!WC(Q1Wtfj*X^r1BoRk8s`(xj)_u+9OjGm6?KTOV^sCy;VeBMK~P z_NGUl3?zeU_OWv_-(s9hVt!C{>pU+m;%8S*Ew}FUT0YxG>>W2-_wyzh(6%vkbooAR z125$?dac@5!Ykh*eW@T+X#(_mA4PMqEO3)%9*sQi6K(;CC9soJ4yULp$(Yid)Bfh} zJPZ=SznbXO{jx*MugdE%q5O zUGWZ@Rpl)^i2j8YSDg3Wr&jJOZtT55^TqaUqsWK1%I&y#dv=|Sr@wH%xa+`Kzmi1e zeMG?a2LR6OC=%_G!>WFc&3xxET_=!+rJ-{ltDn=%uMlzTR8KnYXW&NVr%J3$;n;dd z%~JrA?_0M3mS3V*BbombT-#PraYzia;R(LjFARR)=tuxmF$q}C2z|ocF@H;4qCXam zUUE_EY^*R6`R&~29jhet)E25|!OOPpWIw8{5ZFBPRy zLI{=3M&PuPy(A*bVpflgSy(H5d{_-}gMu&feSDewC|5zZz9S+pmYd)Dx4K;JcL!d# zH+JNo7of!;2Cv~Op9fhFn} zG3i~YAF_UNZsQvhL+V%+H}KuZA;#?A`%zVL_*z&RExcOVi0j_J5(m;1o-YOdil(p2 zP^Py1f!T%m$oQ@w9368HZf)#hym~$)c#yC!6fF(o6P!2E~Ub(^WY4ot+16 z(X1pus+sSeuQdg_q=K z%YIL7m^{$5XL=*2i_?5>m&0~)E330TKMQ1}pUxoG)L}neip6`%#jEm<;IqnAvIDjN z=-usW#XYn1IvWM;6+dbofv1tHRc;^vq$GyF#JK1Sb#{s6YZ^nL}U>HB8HhFRy% zQ}r?041V%2CUqNNk^y*^6WE7bBjkY?f>-F|%tIrY#1l)SfD!jw0)@p;IdD?@Fq)=P zH649|c90Ds3KZ~UF(K!WS3rHw_B>$jnDo<&uCSqS6G>A8-Gk+6>1(@m+U>QFi;v7) zSySuxG!uSHy*sRT3eI*@*B~IQTBO$(8^+6JA&g(PMwCgt+3qk{dM@g*M9wX z46%Aq?8FYk;#_Cm*E+Gwt{|!9TflqU{kTm!gy{d`2sMt0P~x1(5O&T`Y3^5IU*Vfe z#qLhi=!1stWu`4!bl>aUs6ya#seLZ|_R@N%SV_zqiti2itLsUu`AYD$KG_57x`4%+ z)X2#f$5kOYzn;0YGkLX{7fL#2n%@gcz^-&?BVIFKYDMFdDmduL^8OQ3$Yeh|ermt& zM(r6ckcA!Oo5d+ob+<}90dD~~w;7wIpGGRQKbpYx?E9or@~E)r5e1yvB~ODs#W&`@@WQBOKGOx8)ae3^XLlPO^jsz8|8i? zC0AH&Hv%Ov@UQGelsrLV=>(YvJ;9}8>6{RENfwcw@VVO&R293#=w1+Xq>laHlJ0WD z!wP)HA~?#?9AC^V0`nHsKcr2!1=~}9oZ*iJc^yR8$Q9wE2OV$&s^I?`I_^uK5j0J< z$y!iO7sY9SIu_6*9bK{-JbW9(Mmt=GT!tB_7)*U3wgJTiHuOa2+x0DD@h;O{4-cu4jGo+uusp`kP)RB1ka=^p zXk~@Q-~_d$+I7|^-c!^-vy@%o^f}3x++>x@jWcmC0g!(1-Qk_z{u7e*9~vnC|Fd2Y z|5z^;3Z~8fwD5mOU1n!w{9i(c|C{w<;N;-=zgRC%XbtVvj6KfREow+f35ae1An##N z$$W5(I(MvK0Rw~+Lz#F0V+0`NAV6-{FTLIamVVcR3=Yfe7Rk&}mJGQh=$6B-Ea#03 z6YkB?V&+C}Su^f!Iqt@7-^KVd??nZyb$01qrctYx$i9xdHKJ#XT1!(+-#BQ zv9AbJg>UrNSiB5jwI%qXt#|JXN}gwT-?vC|j!I4}%67OWMt_GwmZ{vg02PzjlbO@YS6S zO_c6wI7}L>k*!rf8tPr$z-@~74NXL;qEtqTyoG=)SjadJC^U>ll{oh#8}+Q>o&vQMf%OOQl_mcAf}pn&u)t#+ z#NEKsGccY`0Alpf;n+iTxlxekSjxg^+Az?ek1_8+k8i1<@5*0hi*RQlu+m+U=ywK& zw)#kb!zW@3Ad@h3a}R)mZ-bo*@;q-DW&_ld?q3<=@d35Tixu%tQp@i}64m%0^$4u`aZjnX3Q0~bZbC{Y6Ng1#fJ`%a05iDscdNXOS4OKud#;cwNj%jKJjA@z%$Figbh-sn) zz_QeaU|Cp!`zOGEg8ZlJlS>li$2P;wXv7}KC*}o`3gE3#+3V>`G+w%S;9M0Tv8@Te zShC=Gs({dX{&2w3BSdNSr65@&$@_o%&3=Yp!il|)<-~TUj;U$;_%m8?9-J;G^M+)J%*&9<5GEUtSSo)%g14KeK*KmSk0DsQ+V&aZj~`kUh5<%_T96b1Wy0HI z?TW`hip`T#?GUxQ7lvRLh^W1JzUUaRwO**gXhx0!Scc1)$CpeQ>mW=qw9#bvwFjh)DCXpy1%^P6i5FxK#s@ z$wfjD5N}s zEtHIq`d4`MOCn9O3eWjt{NOVTul&+n79B0VDUl06XqMP(lSmrJLlF=AK_Bmuk$}b@ z8HXIJ8LX!}$c^3Xg?ZL$0QR(rRYF7u7iIkv$v_H_sPbfKFI4C=z z2m{!;(hFq+<|6~h1kk+_rHXX`#*2AU$RYUCqJ#l;|C2T)9Owsy95KMF0uI!ZG7ePm zzXB0T8Kgg8q;P=XKN0?uElL@vzu~{Z^}k1m|EUOt96%uXK*1pTK!HH)4+X;wnzh;x zk07@ZuK+hmIbgozcy9h-*i5%wy(_2}`L)EFGLlGr8EJUojboGxbvbhralwoff@n?> zL1f1!t(}hGwlFu+g%6U5;_JWi_GwS@2vfxYW$+ZfTHXIVdd5S0jGSb_xGDyzxX|N!&f~B|u~C0;&61=- z6cYwjZ0OW5Rl#DoWMh*xGD=z6pe8RcCn{sk1c4yin8s^(;H70YpQcK0fOTh#$q#$W z`8)5?dBMH1#pN!{dbu>!*4Q?E4@545Zty^xMmb&OdA6H9I{u8tj`DPW zZeqQNa!<9Ny2W+7696n3qv-aG{G@terYKw=8>Iq2Ff7Juz&X(@6CW^S0v?PL5Sd6B zg<^`pFi$%h98pZ2HcoFihrp!lA$bHswscK3!CBYE--6;X`GBgJnt2%cQ!QAG8KaLi3|f?ViTm-fp#brg7X7R#}%WAo!|(K zuSWoG8dU&4lMhkh`XE*}>tsNDVsoE}kezL&>Dul_x$@Qa?u_!Nit2n@hdW6q;oTZ8 zDVm~8*1`W}*T^I2<_8YM(`aZarwdZdBnZBk{Ij!J+mjPdi!lKrfTMLfoA6(Ue=Pn= zCJy0?=Nj&{3U)!?HaB(fe>O&I9}NL zKohMQK3o}0(neKy>P8vRr<=I>aGb~WQzj!GYck{)f7)$+2Oh~KGi}bp&}x@Wl16_) z&baRjIr3~5_5|A#m9ds&LS_5>w%XQ&vr-n?#%I(|+JgBC5EvBoTe zuxe6!5g~o`#C-~KNMQz}L++qb#7vqpY_k_+BD!KY@}sQ`vpC6p&LPDL%~&>z%}Ox_ zvhz*OnAT;%{!eLV6%+@|u3_9+C|0Dn7MDeflm!-dclRR2iWS)6?yieNk>W1Jr8tEx zPH}g)!+&uu&N;n1lbcK?^Cg)~=9@|0ybtxpz~GWp!}awWZ7&~UJv5b!V2v*v6niw5+8e76o2RGqe$S_x2G2Osja`?Ku5Cmy zK&Q9(}f@7CWp-GC>mnO*L05t)H`#(lUcBQ{L0w7^0+;`hOvfc28!LFVcqSsEmh}~uZ>LwZ% zfUsU9GyVa!*^K_`8m*5`iYP2 zGk@%x_-@UAew!XY8$KJKPEmI{7I`)`{}^91)s|@vT|3jJoF`pwho?zmjZL-V%uD`^J*(ACXE(EmkIrjWgh1E*3O_? zFQe$)PJGO#i)h8;gH`B;C>>z7ROqLyF?w?+`sTb4l@KPnK;nj`ouA?0-?RGa3$WC# zFSnCqH>oyXI(dsmY*$}&o~js8hdTJXJZ}p)f_shccR9P20m6dn%2$SskMHk< zlVx#ftK`=#M^w6REzpXWGxmQ>h6nWl)A**cK!}G5GTazx`5Joo9IFlze`yB2W55C&rLw)G*c!CSvJ~Ph6@`S8FqG|ihSVBI_65T+u?D|pCv_zc z@smdKWcR7O<(amdskbPkIP>K1@M?#}V+8cTH#r#3-Wyeev}eY5jEhJq3DT;QW*`f`g|+=v8!nz2>&2y>1lM}XLWlQQVpsk8+XZ1v!FhkqT> z=6aR>d^$W}jRv@HEgU}4CUz$7T#(VU#WY=Jx!Drv9)!F#z6-^s_+s5As2FUA=kirOaNa&z_k1;Xp zAK{m=XP!od7#b-_kP3ieEA3AboVxP0QvJCOJe1iB8KI4 z>*3^ZfB5~G7HXksHqNC{%j5g+a8*2c%o&&V5mYZ3)aRMqm$E*fTtRNuGOYZ+RJgf7 zy9`qE+0wfY#irl>R@lr|LuL&tSUiLduYK<#Ac)2c!#zb6wNN!$URj=b{PeHowFh02 zau2O?1%ZYwI?c6;L(_|>1I5hrW8?4a(aAlKWm6`2A8!xhpQI0ppPO^Ta(M}Ko*91B z73^k@>Kl3f?fX$ZH|UA~IeXt7a9Ix7=l5vP8Gd62LvPp?KN824-)`2JO-C+LS$ufG&`^88{NSo(#L$FgD1{W0QP zYK^aY6y&*AHxscMFjAD8?1MkTO|qxiU3YIiSD%WYddk$f(D?*)!oX1dtAp=|$mxKU zW{n1F4XdhjZUNf(Hp2H6?L^PJuh^;5r&6#PeG@AG+FTV>dyM0i`@9QdDDgJFP9Lv%`=TD+iE} zE}|hQQK-EcK2=-ohIiERPUAt(fPK(h&*}i*nc!A&2FV0f)giy3bU8kViCOxyU()_SgC9_W_T@ zJ=_F+Ski1T4BwWS01c8*3v-noh%vXhT!o5)3T-k@4-`CIXwi|#8f{i|s)U|5RAT_y zIrh9euD)CLU&FQ&JiJbR%Z2UQA{_fhYzPN@-^Rz!|65~ACkjQt$ficCK@AK`jQPfL z2zZDXHEB_ZED}Jgf$&zrh`7=_JSBpwxi!aLdBvUk2bJTIZugBEJJ;rQYG>U((g%QX z6b}cF^-32dfnxrh4;N$JoOmLDcixuTF9jRPolps!T%6*vONIw$!!gfLpWZ%vRpVKR z*z0kq6%}4{q-3Wgj@i)_K`AJ&@9ij)DBZKbZa}tEmy*!^;%ew10d;>h7^(ib;?1gO zhzrx&if!~()G6Z_(R<6(xVf-sy~v;ahwz6EUV|%}1!SIzC_O&9mF$C(L^uJ9HK?90 zY#orT%DF8s$gNs8DKwipgk4Y5Pi}ZJNLoOqSRT_4a8OLOrkhS)Z2r+K6Ls^dw-*&^ zc1sidYI1T9*)WuULHNMMghs~UlKN5Hs{VcQ5($Hsw_eQ)al>PB_!%#L!f!I}WDK34 zU4f!_EgvmbLhbkDn_QmTlix%A%n5{bt(wM6hQ4Ih3EzQTo{A$32Cs->O*qjgBKuj0 zu|cvRir-YRPVmVsHXW;(?3U&kOeB(K!)fy2CioCyD;L$Os!3HFc>yD@^jHc~JFb+U zwzE-1Bg>IRY6Sk4);Ux8{mY~)k8Y19E3H^{c&SFft>XR-J9#C)O3z@Qmu+ngp{44X z!4rJ$-v?Nq8|DIXxrzr}0}7Kmo1Fqr2%+L#5y8yj$UA%~vc=emSThQ!^aLP$>fkKe zpgx&ej106XU937FeU$?E@$$ngjRsvB(pPZ^o1(3Ia<6zVQ^`IbNzsI+5Py}L{}J>Q zthlS@CJnqC?_exZB>!s_&9b?F0MH}r2ULn^knY)y+fsE^w)tN6wWwPw`8y};^*(o0 zt@JK??w!2X5%RPfoo+~CGeW+vn@W-7O~Uq_v_sR=Di2|bO;3PKgWUT;W$8Z-`?8D4 zTI?Qr2lTD_ct!kqk0^__+a{r9d#vPS`y*w#!UR?3RbscN5l<`HT<5_nMFP&>wCtMr zi-?)>s)DdH)$hJA=z?8`F|Lkz>fx>q+)0Ra>v)i|E!-Q@k`czor~gCx&}$jNk!1#x~d^JYGvhu`OhKPwt>eLf5j*tVb zDtlkx&4O|QB8zidm}tx3vUlpmw>rL_E0v<4tEGY^5uCgydMK9~l|zg*f_ zE%| z*kV1D{@Z#85BftgZnNh4acJe~aj3W!Z~>u_sH{l_rg|^%Z_eQ;lUAFt%11^mZXZNxgMw~3O-MZj~`8d5v<-!#m121&AF{_s{|4iVvRQNT42bnsT zev*|b8d}FX*FLaJ|UJsn>e75P`J><8%|CWL0E8%2=+;4kzwxis~D`n|r zr`BndS*BTd)iQUY&^Ld*WnV$)$s*2JomTigJuXce)1_~?Sp6$?_m4=g07)lN#r)4#M{2~%VRplLPJC;6 zxW8S|TP{KE527uAnwG)p&AgD{k6<-h>4}=CLMPCq$~gct-^fnG3~%Hbs_`cWAn}Ju zpOXldFzeefvvNDAVnGS_m?0_E*Q{+xXax z!{A%%9c zvgK})B$aEYrx6)roP_80#llR%1&wz&r zR`U|q%e#UKqOY0AJV{0{&k=@xft*mVNlBorlNZ|enUAV`7#%IhMCYxy1Fi=;l_B?E~Gg(^!p+ z+Y1I-_Tl)=W^|Vsb)NHAHE_=CyIk&+x`F+~<^%hoy`uKP;*A^8I{!kh*Q*Lb z*l4d~Xa6A8XTnTwy>&+}$@e(t#huMhqBePpa!~ANs%h@htSB*{9MDz`zXQo+A!+Fy zy=6W~SI8GR2v(_Z8mFvo&@= z45eu`XGtF4Jgqg&(|4vn)4W_)d&w&Tvuml@$ZBTomHSpo%SNAFx4z6RjE<^Rbi}sx z!Bi=*hT;*86WzqSa39)?zaCUSG}<3j6#(yWN_YKkCpgFpk7B_S1CFGreo!EDabAvW zVyB|qEw$XEw!s326RH2ryc})&%_8s1fp(uz9O?@i^)+`y?Mqnxk}iQ|6q8(4e(7Ph zWbOmnwi)O3i>eTR00qrwje!LfHo;Ikn6HNHia75t^jQf}o#y~T6}D#<0=iVyhF>vu ze-J!@r?9w~J08zaV)Ha9e5c1OBXRj-g+!FTR7B!0h0UQL%wlkl!{V zl~1?)v^US$no}Srd-ui5M@wO0uDlhv3EeP3B~PPJ^^;V{1#8gj_j+5-V&Ei)6Ruj_ zDO^*A^_%IQG%ZP{0y64svYZzH*Qqe*{_Ps%D^`GYkkM|&LyI@)yv8X45E2$ssQK0GqoW`KH-GwwXN{{$` zO9%i>n(I_x}dhb!giKPFIMQd2JJWR@SugjBL-_;)#lbRIc&*s9joFxd$VX7Wp@ zg@bHNlQ==%ELm}?=p0G$G-yZdVLg&;7Svf$Ah~r1>Owqf8EV_kZq_-u=#u_a1m;uY zso23pBGfPXu5E6${xCIDb9fcKxM2a z1d}0Bn||u^!5z@0%@G;pIAKg4S_L?jrw_f9O7p1NNqVzaN%}3V@Mg#Ty}MA9jqfT4 zU!9gdF^|x&AU*xD;n}L3p&?EW#znOC{P1dF1l2M3Ga6fH+v89FRB3OQj3LmbDV?vH+2{Qil7 z^Vv+ArgbL5YWoeNQQ0apGerq**3R4()#j#&JY4CTKYj@W|b7%HrG4iEj%k^%_&AYUJl&9 zc?hh#QC?|GlwJPiEq&x!zfD&8Uh+A=#ZlVbmG=B6T2NWr0|jfgM%_U<33g_T284fv zwbbWNr@dW8SrD^FLf1jhD1YDvqjhi9QMNY!myPwyb#|Bt`w*hRuCd=EPs^z}ZnMbs zZ|ds_qjuSA)MaM_W3eT~uE9VNLeJ&j4u~u?{$E68#9|#oubS<1{owsW6!|J&%8Gke z%d2}Ahnq*L78eIy2`TfA+eSpcEL&UyCkEH}?=>Yb&Rd5QuZ^Zx$TXXd0%uodmv`Ef zD=tUjTk*!_6=G2tffB2;Uq<13-rm$zwUPt<8)mQ6t$Ptb{(8!-9&(v*%Kmw+EDqwq zCGh}Y56k)w-DHZV+z=Fr&@s&PT3BZV)HW8mC_+nzk}5E}r^FWXwH(p{kiqJzNdR>K z`2={F+bB_lLzYxbyWJm4iG6Vum9aVmAKIlEf=X3eBE9WJDHrPURy)}m=sAfj@zS&Gp>N}B&>;}!Tr1*2mpq2BS50lC5q z&ZT-QrUWa^`Zkto zBB*C zsNXIto-iJR&=G-TvtlmpLHHA*VaH72c85<#l=_5b*VzOMQFm5L!jO-k1i0Rd_ zZO?S&$@5`EAJ6#g>Zr%iVdU{~f1DkLOkHGvi$}sY$BtI^H!E&n5ScnTD{%s;j*8ML zMM1RVQ$x^AmanLZzl?F3FE{&e$=?KDx3_Fso8}y8pXUzfHxh{QF8@IjqSt$xSAuk!z+oYvzAy27~(SZZA+VR{A_Mo!Ld8SmGD7kx*}Zk$@UTNwlNU$N)XPFOG&&5xSo|~ zlUDNd??t7@_M?D~`Br?dZ($e>**Q7RuIoN-2X_vggf7ue%tYZ%&y44a-&q$NHkTM& z{2)tRkpi^Z|H_&F%^iE=dUqkRUG?j|5O$P>N5SSBj5UoKsSg56mgW&B@6rDJ94yAxicC4`KM< zsa!|R(h7q^-PYTZikI_sf{qrJo>cmrR6xPkF4|Q3TvXgtT(4EI?I$-&7b*_$CsQ{| zNlSAl3(NnhG$Q;Z2oN`glUnx~yWkO>pe+X5!+VE=%yDM(Ytf64Z7Rj>-|7)T*B<** zvo;yDrzawkrnot|=lEW4xHnZlzM)T26({7Ko%$G5ypft!v3bcJyRu#q%qO&)9}3&B zhTY2u{|Ta?y1FFx4vV*D^y*A`>m$6mjBR}9`%}6TEU=4{$U&s_kBxD4Gj(zEba`DS Qkdp_coFlXB5LoQm64HA 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 fJmepI>*Q?U=e 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 **ADR numbering gap (0005–0010)** is intentional — those numbers > were reserved during a v1.5 restructure that landed under ADR 0011 diff --git a/docs/adr/0015-layered-template-architecture.md b/docs/adr/0015-layered-template-architecture.md new file mode 100644 index 00000000..49bb92ef --- /dev/null +++ b/docs/adr/0015-layered-template-architecture.md @@ -0,0 +1,80 @@ +# ADR 0015 — Layered template architecture (cv.v2 / coverletter.v2) + +- **Status:** Accepted +- **Date:** 2026-05-28 +- **Authors:** Artem Demchyshyn + +## Context + +ADR 0011 reorganised templates into a per-domain "Templates v2" surface +(`templates/cv/{presets,builder,spec,layouts}`, `templates/coverletter/…`) +built on `CvSpec` / `CoverLetterSpec` data records, `BusinessTheme`, and +flat copy-and-tweak preset classes. That removed the v1.5 mess (one +600–700-line composer per template), but two limits remained: + +- **Preset classes still re-implemented header / contact / section + rendering.** Each preset carried its own `addHeader`, contact row, and + body dispatch — the duplication ADR 0011 set out to kill kept creeping + back at the preset layer. +- **Style, layout, and data were not cleanly separated.** A visual + re-skin still meant editing preset code; there was no single token + source a preset read from. + +A refined **layered** architecture was prototyped under `cv/v2`, proved +out across all 14 CV presets (with a pixel-parity migration from the +Gen-2 presets), then extended to all 14 cover letters under +`coverletter/v2` (which reuses the CV theme + components so a CV and its +paired letter render as a matched set). + +## Decision + +Adopt the **layered** template architecture as the canonical +template-authoring pattern. A template family is built in five layers: + +1. **data** — typed input records (`CvDocument`, `CoverLetterDocument`, + reusing `CvIdentity`); no rendering logic. +2. **theme** — `CvTheme` = palette + typography + spacing + decoration + tokens; the only place colour / font / spacing literals live. +3. **components** — shared stateless renderers (`SectionDispatcher`, + `RichParagraphRenderer`, `MarkdownInline`, `CvTextStyles`, + `LetterBody`, …) reused across presets and families. +4. **widgets** — composable visual blocks (`Headline`, `ContactLine`, + `Masthead`, `CardWidget`, `SectionHeader`, …). +5. **presets** — thin orchestrators: a `create()` / `create(CvTheme)` + factory plus a `compose()` that lays out the page-flow and delegates + to components / widgets. No re-implemented parsing, no duplicated + headers. + +Presets are exposed through the generic `DocumentTemplate` contract. +`cv.v2` is the reference implementation; `coverletter.v2` is the paired +family. + +The earlier Gen-2 surface +(`templates/cv/{presets,builder,spec,layouts}` and the equivalent +`templates/coverletter/{presets,builder,spec,layouts}`) is **deprecated** +(`@Deprecated(since = "1.7.0", forRemoval = true)`) and scheduled for +removal in a future major. It keeps compiling and working until then — +existing callers are not broken. + +## Consequences + +- **One documented authoring path.** New template families follow + `docs/templates/v2-layered/` (quickstart · using-templates · + authoring-presets · contributor-guide). A new preset is a thin + orchestrator, not a forked composer. +- **Re-skin without code edits.** A new visual flavour is a new + `CvTheme.()` factory; the preset is unchanged. +- **Naming overlap resolved.** Gen-2 package-info prose previously also + called itself "Templates v2", colliding with the `cv.v2` folder name. + Deprecating Gen-2 and correcting its package-info removes the + ambiguity; "the v2 / layered surface" now unambiguously means + `cv.v2` / `coverletter.v2`. +- **Showcase + examples render the layered surface.** The CV and + cover-letter gallery examples and the committed README previews are + generated from `cv.v2` / `coverletter.v2`. +- **Not yet ported:** invoice, proposal, and schedule remain on the + Gen-2 / builtins surface (`BusinessTheme`-based) and are **not** + deprecated. Porting them to the layered architecture is future work. +- **Supersedes the preset / builder / spec portion of ADR 0011** while + keeping its domain-folder split (cv / coverletter / invoice / + proposal / schedule). diff --git a/docs/roadmaps/migration-v1-5-to-v1-6.md b/docs/roadmaps/migration-v1-5-to-v1-6.md index f2974e52..e1948aed 100644 --- a/docs/roadmaps/migration-v1-5-to-v1-6.md +++ b/docs/roadmaps/migration-v1-5-to-v1-6.md @@ -332,13 +332,13 @@ try (DocumentSession session = GraphCompose.document(out).create()) { ``` The full builder fluent surface and module / block taxonomy are -documented in [`docs/templates/v1-classic/authoring.md`](template-authoring.md). -The full gallery of v2 CV / cover-letter renders lives under -[`assets/readme/examples/`](../assets/readme/examples/) and is +documented in [`docs/templates/v1-classic/authoring.md`](../templates/v1-classic/authoring.md). +The full gallery of CV / cover-letter renders lives under +[`assets/readme/examples/`](../../assets/readme/examples/) and is regenerable via -[`examples/CvTemplateGalleryFileExample`](../examples/src/main/java/com/demcha/examples/CvTemplateGalleryFileExample.java) +[`CvTemplateGalleryFileExample`](../../examples/src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java) and -[`CoverLetterTemplateGalleryFileExample`](../examples/src/main/java/com/demcha/examples/CoverLetterTemplateGalleryFileExample.java). +[`CoverLetterTemplateGalleryFileExample`](../../examples/src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java). ### What v2 gives you for free diff --git a/examples/README.md b/examples/README.md index 86d8e536..97cd3d4b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -214,8 +214,8 @@ Generates every v2 CV preset in one orchestrated run — 14 presets covering single-column, two-column-sidebar, and three-column-magazine layouts. Use this as the side-by-side catalogue when picking a base preset for your own CV product. Each preset is a one-liner factory -(`ModernProfessional.create(theme)`, `NordicClean.create(theme)`, -…); see `templates/cv/presets/` for the full list. +(`ModernProfessional.create()`, `NordicClean.create()`, +…); see `cv/v2/presets/` for the full list. | Variant | PDF | |---|---| @@ -224,8 +224,8 @@ preset for your own CV product. Each preset is a one-liner factory | Classic serif | [PDF](../assets/readme/examples/cv-classic-serif.pdf) | | Compact mono | [PDF](../assets/readme/examples/cv-compact-mono.pdf) | | Timeline minimal | [PDF](../assets/readme/examples/cv-timeline-minimal.pdf) | -| Engineering resume (was "Tech lead") | [PDF](../assets/readme/examples/cv-tech-lead.pdf) | -| Panel (was "Product leader") | [PDF](../assets/readme/examples/cv-product-leader.pdf) | +| Engineering resume | [PDF](../assets/readme/examples/cv-engineering-resume.pdf) | +| Panel | [PDF](../assets/readme/examples/cv-panel.pdf) | | Executive · BoxedSections · CenteredHeadline · BlueBanner · EditorialBlue · SidebarPortrait · MonogramSidebar | run the gallery to render | [📜 Full source](src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java) @@ -235,9 +235,9 @@ preset for your own CV product. Each preset is a one-liner factory Generates all 14 paired v2 cover-letter presets in one run — one letter style per CV preset so a candidate's CV and cover letter share the same visual language end-to-end. Each preset is a -one-liner factory (`ModernProfessionalLetter.create(theme)`, -`NordicCleanLetter.create(theme)`, …) under -`templates/coverletter/presets/`. +one-liner factory (`ModernProfessionalLetter.create()`, +`NordicCleanLetter.create()`, …) under +`coverletter/v2/presets/`. [📜 Full source](src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java) diff --git a/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java b/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java index af4c1c69..f67a619e 100644 --- a/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java +++ b/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java @@ -57,7 +57,6 @@ record Entry(String title, String description, List tags, String codeUrl cv("cv-panel", "Panel", "Soft-tinted panels per section, Product-Leader feel — was ProductLeader in v1.5.", "panel"); cv("cv-sidebar-portrait", "Sidebar Portrait", "Edge-to-edge grey sidebar with portrait photo, contact stack, and skills.", "sidebar", "portrait"); cv("cv-monogram-sidebar", "Monogram Sidebar", "Sidebar with monogram badge, accent rule, and structured contact + skills column.", "sidebar", "monogram"); - cv("cv-modern-professional", "Modern Professional CV", "Same data, ModernProfessional preset — single-file CvFileExample for canonical authoring.", "minimal"); // ===== Templates / Cover Letter ===== letter("cover-letter", "Cover Letter (canonical)", "Single-file canonical cover letter authored via CoverLetterFileExample.", "letter"); diff --git a/examples/src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java b/examples/src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java index 98b06075..1f110bb2 100644 --- a/examples/src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java +++ b/examples/src/main/java/com/demcha/examples/templates/coverletter/CoverLetterTemplateGalleryFileExample.java @@ -4,51 +4,49 @@ import com.demcha.compose.document.api.DocumentPageSize; import com.demcha.compose.document.api.DocumentSession; import com.demcha.compose.document.templates.api.DocumentTemplate; -import com.demcha.compose.document.templates.coverletter.presets.BlueBannerLetter; -import com.demcha.compose.document.templates.coverletter.presets.BoxedSectionsLetter; -import com.demcha.compose.document.templates.coverletter.presets.CenteredHeadlineLetter; -import com.demcha.compose.document.templates.coverletter.presets.ClassicSerifLetter; -import com.demcha.compose.document.templates.coverletter.presets.CompactMonoLetter; -import com.demcha.compose.document.templates.coverletter.presets.EditorialBlueLetter; -import com.demcha.compose.document.templates.coverletter.presets.EngineeringResumeLetter; -import com.demcha.compose.document.templates.coverletter.presets.ExecutiveLetter; -import com.demcha.compose.document.templates.coverletter.presets.ModernProfessionalLetter; -import com.demcha.compose.document.templates.coverletter.presets.MonogramSidebarLetter; -import com.demcha.compose.document.templates.coverletter.presets.NordicCleanLetter; -import com.demcha.compose.document.templates.coverletter.presets.PanelLetter; -import com.demcha.compose.document.templates.coverletter.presets.SidebarPortraitLetter; -import com.demcha.compose.document.templates.coverletter.presets.TimelineMinimalLetter; -import com.demcha.compose.document.templates.coverletter.spec.CoverLetterSpec; -import com.demcha.compose.document.theme.BusinessTheme; +import com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument; +import com.demcha.compose.document.templates.coverletter.v2.presets.BlueBannerLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.BoxedSectionsLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.CenteredHeadlineLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.ClassicSerifLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.CompactMonoLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.EditorialBlueLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.EngineeringResumeLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.ExecutiveLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.ModernProfessionalLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.MonogramSidebarLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.NordicCleanLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.PanelLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.SidebarPortraitLetter; +import com.demcha.compose.document.templates.coverletter.v2.presets.TimelineMinimalLetter; import com.demcha.examples.support.ExampleDataFactory; import com.demcha.examples.support.ExampleOutputPaths; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; +import java.util.function.Supplier; /** - * Renders all 14 Templates v2 cover-letter presets against the same - * shared sample data. Each PDF lands in - * {@code examples/target/generated-pdfs/cover-letter-.pdf} - * where {@code } is the paired CV preset's stable identifier - * (e.g. {@code cover-letter-modern-professional.pdf}). + * Renders all 14 layered cover-letter presets ({@code + * coverletter.v2.presets.*} — the polished current standard) against + * the same shared sample {@link CoverLetterDocument}. Each PDF lands in + * {@code examples/target/generated-pdfs/templates/coverletter/cover-letter-.pdf} + * where {@code } is the paired CV preset's stable identifier (e.g. + * {@code cover-letter-modern-professional.pdf}). * *

The 14 letter renders match the 14 CV renders in - * {@link CvTemplateGalleryFileExample} — a writer can render both - * galleries and pick a CV / cover-letter pair sharing the same - * visual signature.

+ * {@link com.demcha.examples.templates.cv.CvTemplateGalleryFileExample} + * — a writer can render both galleries and pick a CV / cover-letter + * pair sharing the same visual signature.

*/ public final class CoverLetterTemplateGalleryFileExample { - private static final BusinessTheme THEME = BusinessTheme.modern(); - private CoverLetterTemplateGalleryFileExample() { } /** - * Renders all 14 v2 cover-letter preset gallery PDFs. + * Renders all 14 layered cover-letter preset gallery PDFs. * * @return list of absolute paths of the rendered PDFs in source * order @@ -59,51 +57,49 @@ public static List generate() throws Exception { } /** - * Renders one preset (when {@code presetId} matches its stable id) - * or all presets when {@code presetId} is null. + * Renders one preset (when {@code presetId} matches its slug) or all + * presets when {@code presetId} is null. * - * @param presetId stable preset id to render exclusively, or null - * to render all presets + * @param presetId slug to render exclusively, or null to render all * @return list of absolute paths of the rendered PDFs * @throws Exception if any rendering fails */ public static List generate(String presetId) throws Exception { + // The slug strips the "-letter" suffix so the example file name + // matches the paired CV (cover-letter-modern-professional.pdf + // pairs with cv-modern-professional.pdf). List runs = List.of( - // Stable id stripped of the "-letter" suffix so the - // example file name matches the paired CV (e.g. - // cover-letter-modern-professional.pdf pairs with - // cv-modern-professional.pdf). - run("modern-professional", ModernProfessionalLetter::create), - run("nordic-clean", NordicCleanLetter::create), - run("classic-serif", ClassicSerifLetter::create), - run("compact-mono", CompactMonoLetter::create), - run("executive", ExecutiveLetter::create), - run("engineering-resume", EngineeringResumeLetter::create), - run("timeline-minimal", TimelineMinimalLetter::create), - run("boxed-sections", BoxedSectionsLetter::create), - run("centered-headline", CenteredHeadlineLetter::create), - run("blue-banner", BlueBannerLetter::create), - run("editorial-blue", EditorialBlueLetter::create), - run("panel", PanelLetter::create), - run("sidebar-portrait", SidebarPortraitLetter::create), - run("monogram-sidebar", MonogramSidebarLetter::create)); + run("modern-professional", ModernProfessionalLetter.RECOMMENDED_MARGIN, ModernProfessionalLetter::create), + run("nordic-clean", NordicCleanLetter.RECOMMENDED_MARGIN, NordicCleanLetter::create), + run("classic-serif", ClassicSerifLetter.RECOMMENDED_MARGIN, ClassicSerifLetter::create), + run("compact-mono", CompactMonoLetter.RECOMMENDED_MARGIN, CompactMonoLetter::create), + run("executive", ExecutiveLetter.RECOMMENDED_MARGIN, ExecutiveLetter::create), + run("engineering-resume", EngineeringResumeLetter.RECOMMENDED_MARGIN, EngineeringResumeLetter::create), + run("timeline-minimal", TimelineMinimalLetter.RECOMMENDED_MARGIN, TimelineMinimalLetter::create), + run("boxed-sections", BoxedSectionsLetter.RECOMMENDED_MARGIN, BoxedSectionsLetter::create), + run("centered-headline", CenteredHeadlineLetter.RECOMMENDED_MARGIN, CenteredHeadlineLetter::create), + run("blue-banner", BlueBannerLetter.RECOMMENDED_MARGIN, BlueBannerLetter::create), + run("editorial-blue", EditorialBlueLetter.RECOMMENDED_MARGIN, EditorialBlueLetter::create), + run("panel", PanelLetter.RECOMMENDED_MARGIN, PanelLetter::create), + run("sidebar-portrait", SidebarPortraitLetter.RECOMMENDED_MARGIN, SidebarPortraitLetter::create), + run("monogram-sidebar", MonogramSidebarLetter.RECOMMENDED_MARGIN, MonogramSidebarLetter::create)); - CoverLetterSpec spec = ExampleDataFactory.sampleCoverLetterSpecV2(); + CoverLetterDocument doc = ExampleDataFactory.sampleCoverLetterDocumentV2(); List generated = new ArrayList<>(); for (Run letter : runs) { - if (presetId != null && !letter.id.equals(presetId)) { + if (presetId != null && !letter.id().equals(presetId)) { continue; } - generated.add(renderOne(spec, letter)); + generated.add(renderOne(doc, letter)); } return List.copyOf(generated); } /** - * Renders all v2 cover-letter preset gallery PDFs and prints each - * path. + * Renders all layered cover-letter preset gallery PDFs and prints + * each path. * - * @param args optional first arg = preset id filter + * @param args optional first arg = slug filter * @throws Exception if any rendering fails */ public static void main(String[] args) throws Exception { @@ -113,24 +109,28 @@ public static void main(String[] args) throws Exception { } } - private static Path renderOne(CoverLetterSpec spec, Run letter) throws Exception { - Path outputFile = ExampleOutputPaths.prepare("templates/coverletter", "cover-letter-" + letter.id + ".pdf"); - DocumentTemplate template = letter.factory.apply(THEME); + private static Path renderOne(CoverLetterDocument doc, Run letter) throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/coverletter", "cover-letter-" + letter.id() + ".pdf"); + DocumentTemplate template = letter.factory().get(); + float m = (float) letter.margin(); try (DocumentSession document = GraphCompose.document(outputFile) .pageSize(DocumentPageSize.A4) - .margin(48, 48, 48, 48) + .margin(m, m, m, m) .create()) { - template.compose(document, spec); + template.compose(document, doc); document.buildPdf(); } return outputFile; } - private static Run run(String id, Function> factory) { - return new Run(id, factory); + private static Run run(String id, double margin, + Supplier> factory) { + return new Run(id, margin, factory); } - private record Run(String id, Function> factory) { + private record Run(String id, double margin, + Supplier> factory) { } } diff --git a/examples/src/main/java/com/demcha/examples/templates/cv/CvFileExample.java b/examples/src/main/java/com/demcha/examples/templates/cv/CvFileExample.java index 632f2017..b90ec116 100644 --- a/examples/src/main/java/com/demcha/examples/templates/cv/CvFileExample.java +++ b/examples/src/main/java/com/demcha/examples/templates/cv/CvFileExample.java @@ -4,19 +4,19 @@ import com.demcha.compose.document.api.DocumentPageSize; import com.demcha.compose.document.api.DocumentSession; import com.demcha.compose.document.templates.api.DocumentTemplate; -import com.demcha.compose.document.templates.cv.presets.ModernProfessional; -import com.demcha.compose.document.templates.cv.spec.CvSpec; -import com.demcha.compose.document.theme.BusinessTheme; +import com.demcha.compose.document.templates.cv.v2.data.CvDocument; +import com.demcha.compose.document.templates.cv.v2.presets.ModernProfessional; import com.demcha.examples.support.ExampleDataFactory; import com.demcha.examples.support.ExampleOutputPaths; import java.nio.file.Path; /** - * Renders the canonical Modern Professional CV using the Templates v2 - * preset {@link ModernProfessional}. This replaces the legacy - * {@code CvTemplateV1} example wiring; the visual signature and - * sample data both come from the v2 surface. + * Canonical single-file CV authoring demo using the layered + * {@code cv.v2} surface — the simplest "author one CV" path: build a + * {@link CvDocument}, pick a preset's {@code create()} factory, compose. + * The full 14-preset gallery lives in + * {@link CvTemplateGalleryFileExample}. */ public final class CvFileExample { @@ -24,21 +24,22 @@ private CvFileExample() { } /** - * Renders the example PDF to {@code generated-pdfs/cv-modern-professional.pdf}. + * Renders the example PDF to {@code generated-pdfs/templates/cv/cv-modern-professional.pdf}. * * @return absolute path of the rendered PDF * @throws Exception if rendering fails */ public static Path generate() throws Exception { Path outputFile = ExampleOutputPaths.prepare("templates/cv", "cv-modern-professional.pdf"); - CvSpec spec = ExampleDataFactory.sampleCvSpecV2(); - DocumentTemplate template = ModernProfessional.create(BusinessTheme.modern()); + CvDocument doc = ExampleDataFactory.sampleCvDocumentV2(); + DocumentTemplate template = ModernProfessional.create(); + float m = (float) ModernProfessional.RECOMMENDED_MARGIN; try (DocumentSession document = GraphCompose.document(outputFile) .pageSize(DocumentPageSize.A4) - .margin(28, 28, 28, 28) + .margin(m, m, m, m) .create()) { - template.compose(document, spec); + template.compose(document, doc); document.buildPdf(); } return outputFile; diff --git a/examples/src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java b/examples/src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java index 3251f6e0..5ecce10d 100644 --- a/examples/src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java +++ b/examples/src/main/java/com/demcha/examples/templates/cv/CvTemplateGalleryFileExample.java @@ -4,50 +4,48 @@ import com.demcha.compose.document.api.DocumentPageSize; import com.demcha.compose.document.api.DocumentSession; import com.demcha.compose.document.templates.api.DocumentTemplate; -import com.demcha.compose.document.templates.cv.presets.BlueBanner; -import com.demcha.compose.document.templates.cv.presets.BoxedSections; -import com.demcha.compose.document.templates.cv.presets.CenteredHeadline; -import com.demcha.compose.document.templates.cv.presets.ClassicSerif; -import com.demcha.compose.document.templates.cv.presets.CompactMono; -import com.demcha.compose.document.templates.cv.presets.EditorialBlue; -import com.demcha.compose.document.templates.cv.presets.EngineeringResume; -import com.demcha.compose.document.templates.cv.presets.Executive; -import com.demcha.compose.document.templates.cv.presets.ModernProfessional; -import com.demcha.compose.document.templates.cv.presets.MonogramSidebar; -import com.demcha.compose.document.templates.cv.presets.NordicClean; -import com.demcha.compose.document.templates.cv.presets.Panel; -import com.demcha.compose.document.templates.cv.presets.SidebarPortrait; -import com.demcha.compose.document.templates.cv.presets.TimelineMinimal; -import com.demcha.compose.document.templates.cv.spec.CvSpec; -import com.demcha.compose.document.theme.BusinessTheme; +import com.demcha.compose.document.templates.cv.v2.data.CvDocument; +import com.demcha.compose.document.templates.cv.v2.presets.BlueBanner; +import com.demcha.compose.document.templates.cv.v2.presets.BoxedSections; +import com.demcha.compose.document.templates.cv.v2.presets.CenteredHeadline; +import com.demcha.compose.document.templates.cv.v2.presets.ClassicSerif; +import com.demcha.compose.document.templates.cv.v2.presets.CompactMono; +import com.demcha.compose.document.templates.cv.v2.presets.EditorialBlue; +import com.demcha.compose.document.templates.cv.v2.presets.EngineeringResume; +import com.demcha.compose.document.templates.cv.v2.presets.Executive; +import com.demcha.compose.document.templates.cv.v2.presets.ModernProfessional; +import com.demcha.compose.document.templates.cv.v2.presets.MonogramSidebar; +import com.demcha.compose.document.templates.cv.v2.presets.NordicClean; +import com.demcha.compose.document.templates.cv.v2.presets.Panel; +import com.demcha.compose.document.templates.cv.v2.presets.SidebarPortrait; +import com.demcha.compose.document.templates.cv.v2.presets.TimelineMinimal; import com.demcha.examples.support.ExampleDataFactory; import com.demcha.examples.support.ExampleOutputPaths; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; +import java.util.function.Supplier; /** - * Renders all 14 Templates v2 CV presets against the same shared - * sample data. Each PDF lands in - * {@code examples/target/generated-pdfs/cv-.pdf} where - * {@code } is the preset's stable identifier (e.g. + * Renders all 14 layered CV presets ({@code cv.v2.presets.*} — the + * polished current standard) against the same shared sample + * {@link CvDocument}. Each PDF lands in + * {@code examples/target/generated-pdfs/templates/cv/cv-.pdf} + * where {@code } is the preset's stable identifier (e.g. * {@code cv-modern-professional.pdf}). * - *

This is the single source of truth for the example CV gallery - * in v2. The matching cover-letter gallery lives in - * {@link CoverLetterTemplateGalleryFileExample}.

+ *

This is the single source of truth for the CV showcase gallery. + * The matching cover-letter gallery lives in + * {@link com.demcha.examples.templates.coverletter.CoverLetterTemplateGalleryFileExample}.

*/ public final class CvTemplateGalleryFileExample { - private static final BusinessTheme THEME = BusinessTheme.modern(); - private CvTemplateGalleryFileExample() { } /** - * Renders all 14 v2 CV preset gallery PDFs. + * Renders all 14 layered CV preset gallery PDFs. * * @return list of absolute paths of the rendered PDFs in source * order @@ -83,19 +81,19 @@ public static List generate(String presetId) throws Exception { run(SidebarPortrait.ID, SidebarPortrait.RECOMMENDED_MARGIN, SidebarPortrait::create), run(MonogramSidebar.ID, MonogramSidebar.RECOMMENDED_MARGIN, MonogramSidebar::create)); - CvSpec spec = ExampleDataFactory.sampleCvSpecV2(); + CvDocument doc = ExampleDataFactory.sampleCvDocumentV2(); List generated = new ArrayList<>(); for (Run cv : runs) { - if (presetId != null && !cv.id.equals(presetId)) { + if (presetId != null && !cv.id().equals(presetId)) { continue; } - generated.add(renderOne(spec, cv)); + generated.add(renderOne(doc, cv)); } return List.copyOf(generated); } /** - * Renders all v2 CV preset gallery PDFs and prints each path. + * Renders all layered CV preset gallery PDFs and prints each path. * * @param args optional first arg = preset id filter * @throws Exception if any rendering fails @@ -107,25 +105,27 @@ public static void main(String[] args) throws Exception { } } - private static Path renderOne(CvSpec spec, Run cv) throws Exception { - Path outputFile = ExampleOutputPaths.prepare("templates/cv", "cv-" + cv.id + ".pdf"); - DocumentTemplate template = cv.factory.apply(THEME); + private static Path renderOne(CvDocument doc, Run cv) throws Exception { + Path outputFile = ExampleOutputPaths.prepare("templates/cv", "cv-" + cv.id() + ".pdf"); + DocumentTemplate template = cv.factory().get(); - float m = (float) cv.margin; + float m = (float) cv.margin(); try (DocumentSession document = GraphCompose.document(outputFile) .pageSize(DocumentPageSize.A4) .margin(m, m, m, m) .create()) { - template.compose(document, spec); + template.compose(document, doc); document.buildPdf(); } return outputFile; } - private static Run run(String id, double margin, Function> factory) { + private static Run run(String id, double margin, + Supplier> factory) { return new Run(id, margin, factory); } - private record Run(String id, double margin, Function> factory) { + private record Run(String id, double margin, + Supplier> factory) { } } diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/builder/CoverLetterBuilder.java b/src/main/java/com/demcha/compose/document/templates/coverletter/builder/CoverLetterBuilder.java index e270faec..e41a8818 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/builder/CoverLetterBuilder.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/builder/CoverLetterBuilder.java @@ -34,7 +34,15 @@ * {@code header}, {@code layout}, {@code bodyStyle}, {@code spacing}, * and at least implicit alignment via the layout / body style) must * be configured before calling {@link #build()}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * plus the {@code coverletter.v2} presets. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CoverLetterBuilder { private String id; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/LetterFormat.java b/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/LetterFormat.java index b47202e1..4d5c5227 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/LetterFormat.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/LetterFormat.java @@ -17,7 +17,15 @@ * letter is structurally simpler than a CV (one continuous reading * flow), so the layout takes the rendered nodes in source order and * emits one container.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * plus the {@code coverletter.v2} presets. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class LetterFormat { private static final String LAYOUT_NAME = "layout.letterFormat"; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/package-info.java index d0198827..106290a3 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/layouts/package-info.java @@ -1,13 +1,28 @@ /** - * Templates v2 cover-letter layouts — caркасы that arrange a header + * Superseded Gen-2 cover-letter layouts — frames that arrange a header * plus letter blocks (greeting, body paragraphs, closing) into a * final document tree. * + *

Deprecated surface. These are the older Gen-2 + * cover-letter layouts. They are not the current standard. The + * current standard is the layered surface + * {@code com.demcha.compose.document.templates.coverletter.v2} (data / theme / + * components / widgets / presets). This package is kept only for backward + * compatibility and is scheduled for removal in a future major.

+ * *

Currently a single layout * ({@link com.demcha.compose.document.templates.coverletter.layouts.LetterFormat}) - * covers all 14 cover-letter pair presets. Additional layouts will - * land here when their preset migrations require them.

+ * covers all 14 cover-letter pair presets.

+ * + *

New code should target the layered {@code coverletter.v2} surface + * instead. See {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.coverletter.v2} + * surface (the current standard). This Gen-2 package is kept for + * backward compatibility and will be removed in a future major. + * See {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.coverletter.layouts; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/package-info.java index 18e85a12..5e191747 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/package-info.java @@ -1,16 +1,18 @@ /** - * Templates v2 cover-letter domain — layouts, presets, builder, and spec data types. + * Superseded Gen-2 cover-letter domain — layout, presets, builder, and spec + * data types. * - *

This package is the home of all cover-letter templates in the v2 - * architecture. The user requirement is one cover-letter preset paired - * with each CV preset (same Header / Typography / Palette), so writers - * can ship a CV and a matching cover letter with consistent visual - * identity.

+ *

Deprecated surface. This package is the older Gen-2 + * cover-letter template stack. It is not the current standard. The + * current standard is the layered surface + * {@code com.demcha.compose.document.templates.coverletter.v2} (data / theme / + * components / widgets / presets). This package is kept only for backward + * compatibility and is scheduled for removal in a future major.

* - *

Sub-packages partition the domain by concern:

+ *

Sub-packages partition the (deprecated) domain by concern:

* *
    - *
  • {@code coverletter.layouts} — slot каркасы (LetterFormat — a + *
  • {@code coverletter.layouts} — slot frames (LetterFormat — a * single-column layout with generous side margins for letter body * text).
  • *
  • {@code coverletter.presets} — flat copy-and-tweak preset classes, @@ -25,8 +27,8 @@ * with header, greeting, body paragraphs, closing).
  • *
* - *

Sub-packages will be populated during Phase E of the Templates v2 - * migration.

+ *

New code should target the layered {@code coverletter.v2} surface + * instead. See {@code docs/templates/v2-layered/}.

* *

Naming note: the user-facing concept is * "cover-letter" with a hyphen, but Java packages cannot contain hyphens. @@ -35,5 +37,11 @@ * (e.g. {@code cover-letter-modern-professional.pdf}).

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.coverletter.v2} + * surface (the current standard). This Gen-2 package is kept for + * backward compatibility and will be removed in a future major. + * See {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.coverletter; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BlueBannerLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BlueBannerLetter.java index 3656110d..cf0f4b55 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BlueBannerLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BlueBannerLetter.java @@ -19,7 +19,13 @@ * BANNER_BG used by * {@link com.demcha.compose.document.templates.cv.presets.BlueBanner} * for accent runs.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.BlueBannerLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class BlueBannerLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BoxedSectionsLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BoxedSectionsLetter.java index b03ee997..4d37092e 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BoxedSectionsLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/BoxedSectionsLetter.java @@ -17,7 +17,13 @@ * *

PT Serif throughout, dark grey ink — matches * {@link com.demcha.compose.document.templates.cv.presets.BoxedSections}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.BoxedSectionsLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class BoxedSectionsLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CenteredHeadlineLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CenteredHeadlineLetter.java index ce1c6093..1afe6de7 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CenteredHeadlineLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CenteredHeadlineLetter.java @@ -17,7 +17,13 @@ * *

Poppins headline + Lato body, dark grey ink — matches * {@link com.demcha.compose.document.templates.cv.presets.CenteredHeadline}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.CenteredHeadlineLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CenteredHeadlineLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ClassicSerifLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ClassicSerifLetter.java index 6207d08f..69007a25 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ClassicSerifLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ClassicSerifLetter.java @@ -17,7 +17,13 @@ * *

PT Serif throughout with the bronze accent and warm INK palette * of {@link com.demcha.compose.document.templates.cv.presets.ClassicSerif}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.ClassicSerifLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ClassicSerifLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CompactMonoLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CompactMonoLetter.java index 53681f5e..50412499 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CompactMonoLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/CompactMonoLetter.java @@ -18,7 +18,13 @@ *

IBM Plex Mono headline + Lato body, dark INK ink with the * teal-blue ACCENT used by * {@link com.demcha.compose.document.templates.cv.presets.CompactMono}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.CompactMonoLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CompactMonoLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EditorialBlueLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EditorialBlueLetter.java index 516f6f68..513f885c 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EditorialBlueLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EditorialBlueLetter.java @@ -18,7 +18,13 @@ *

Helvetica throughout, deep navy ink with bright editorial blue * accent — matches * {@link com.demcha.compose.document.templates.cv.presets.EditorialBlue}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.EditorialBlueLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class EditorialBlueLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EngineeringResumeLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EngineeringResumeLetter.java index 27a45246..70eeeecd 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EngineeringResumeLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/EngineeringResumeLetter.java @@ -17,7 +17,13 @@ * *

Navy primary, green accent, Barlow headline + Lato body — matches * {@link com.demcha.compose.document.templates.cv.presets.EngineeringResume}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.EngineeringResumeLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class EngineeringResumeLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ExecutiveLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ExecutiveLetter.java index 7b280808..12101ddd 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ExecutiveLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ExecutiveLetter.java @@ -17,7 +17,13 @@ * *

Slate primary, bronze accent, Poppins headline + Lato body — * matches {@link com.demcha.compose.document.templates.cv.presets.Executive}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.ExecutiveLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ExecutiveLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ModernProfessionalLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ModernProfessionalLetter.java index 227d823a..df537871 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ModernProfessionalLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/ModernProfessionalLetter.java @@ -21,7 +21,13 @@ * contact links), same Helvetica body type. The cover letter itself * is a single-column letter — header on top, greeting, body * paragraphs separated by paragraph spacing, closing.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.ModernProfessionalLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ModernProfessionalLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/MonogramSidebarLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/MonogramSidebarLetter.java index 3f1f6a8c..85ec4bb0 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/MonogramSidebarLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/MonogramSidebarLetter.java @@ -20,7 +20,13 @@ * {@link com.demcha.compose.document.templates.cv.presets.MonogramSidebar}. * The cover letter is a simple single-column letter — the CV's * monogram sidebar is intentionally not replicated.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.MonogramSidebarLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class MonogramSidebarLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/NordicCleanLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/NordicCleanLetter.java index f1340b2c..7b53d52a 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/NordicCleanLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/NordicCleanLetter.java @@ -19,7 +19,13 @@ * {@link com.demcha.compose.document.templates.cv.presets.NordicClean} * CV. Single-column letter format — header on top, greeting, body * paragraphs, closing.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.NordicCleanLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class NordicCleanLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/PanelLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/PanelLetter.java index 740dd5cb..c41726d3 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/PanelLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/PanelLetter.java @@ -17,7 +17,13 @@ * *

Deep-slate primary, teal accent, Poppins headline + Lato body — * matches {@link com.demcha.compose.document.templates.cv.presets.Panel}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.PanelLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class PanelLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/SidebarPortraitLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/SidebarPortraitLetter.java index 8faee868..8a7ce9c2 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/SidebarPortraitLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/SidebarPortraitLetter.java @@ -20,7 +20,13 @@ * {@link com.demcha.compose.document.templates.cv.presets.SidebarPortrait}. * The cover letter is a simple single-column letter — the CV's * portrait sidebar is intentionally not replicated.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.SidebarPortraitLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class SidebarPortraitLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/TimelineMinimalLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/TimelineMinimalLetter.java index 5f4607c2..20473f35 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/TimelineMinimalLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/TimelineMinimalLetter.java @@ -18,7 +18,13 @@ *

All-grey palette with Barlow Condensed for the headline and Lato * body — matches * {@link com.demcha.compose.document.templates.cv.presets.TimelineMinimal}.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.presets.TimelineMinimalLetter}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class TimelineMinimalLetter { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/package-info.java index ce7097e6..76661b47 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/presets/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/presets/package-info.java @@ -1,18 +1,29 @@ /** - * Templates v2 cover-letter presets — flat copy-and-tweak recipe + * Superseded Gen-2 cover-letter presets — flat copy-and-tweak recipe * classes paired one-to-one with the * {@link com.demcha.compose.document.templates.cv.presets} CV * preset family. * + *

Deprecated surface. These are the older Gen-2 + * cover-letter presets. They are not the current standard. The + * current standard is the layered surface + * {@code com.demcha.compose.document.templates.coverletter.v2.presets}. This + * package is kept only for backward compatibility and is scheduled for + * removal in a future major.

+ * *

Each preset shares the typography palette and spacing rhythm * of its paired CV preset, so a writer's CV and cover letter ship * as a matched set with consistent visual identity.

* - *

To customise: copy the {@code create(...)} method body of any - * preset into your own class and tweak the {@code CoverLetterBuilder} - * calls (header style, body text style, spacing tokens, layout - * choice).

+ *

New code should target the layered {@code coverletter.v2} presets + * instead. See {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.coverletter.v2} + * surface (the current standard). This Gen-2 package is kept for + * backward compatibility and will be removed in a future major. + * See {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.coverletter.presets; diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterHeader.java b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterHeader.java index fd16cbfa..ceff37f2 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterHeader.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterHeader.java @@ -17,7 +17,14 @@ * @param email optional email address; empty string when absent * @param links ordered list of {@link Link} entries (typically * LinkedIn, GitHub); never null after construction + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * plus the {@code coverletter.v2} presets. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CoverLetterHeader( String name, String address, diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterSpec.java b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterSpec.java index 7c251281..ba8ae9ac 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterSpec.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/CoverLetterSpec.java @@ -25,7 +25,14 @@ * {@code *italic*}) * @param closing last body line (required, may be blank); * typically {@code "Sincerely, Alex"} + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * plus the {@code coverletter.v2} presets. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CoverLetterSpec( CoverLetterHeader header, String greeting, diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/package-info.java b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/package-info.java index 8a644fb4..3f591eb8 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/spec/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/spec/package-info.java @@ -1,9 +1,17 @@ /** - * Templates v2 cover-letter specification records — user-facing data + * Superseded Gen-2 cover-letter specification records — user-facing data * types. * + *

Deprecated surface. These are the older Gen-2 + * cover-letter spec records. They are not the current standard. The + * current standard is the layered model + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument} + * in the {@code com.demcha.compose.document.templates.coverletter.v2} + * surface. This package is kept only for backward compatibility and is + * scheduled for removal in a future major.

+ * *

This package holds the immutable records a user fills with their - * cover-letter content before passing the spec to a preset for + * cover-letter content before passing the spec to a Gen-2 preset for * rendering:

* *
    @@ -15,6 +23,15 @@ * {@code *italic*}) for inline emphasis. *
* + *

New code should target the layered {@code coverletter.v2} data model + * instead. See {@code docs/templates/v2-layered/}.

+ * * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.coverletter.v2} + * surface (the current standard). This Gen-2 package is kept for + * backward compatibility and will be removed in a future major. + * See {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.coverletter.spec; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/builder/CvBuilder.java b/src/main/java/com/demcha/compose/document/templates/cv/builder/CvBuilder.java index 982ec4ab..d3ac5201 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/builder/CvBuilder.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/builder/CvBuilder.java @@ -36,7 +36,15 @@ * must be configured before calling {@link #build()}; missing values * are rejected at build time with an explicit {@code NullPointerException} * naming the missing field.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CvBuilder { private String id; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/builder/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/builder/package-info.java index 30d7e0ee..4a9fd87c 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/builder/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/builder/package-info.java @@ -1,14 +1,29 @@ /** - * Templates v2 CV preset builders — fluent assembly of + * Superseded Gen-2 CV preset builder — fluent assembly of * {@link com.demcha.compose.document.templates.api.DocumentTemplate} * instances from layouts, components, and spec data. * + *

Deprecated surface. This is the older Gen-2 CV + * builder. It is not the current standard. The current standard is + * the layered surface + * {@code com.demcha.compose.document.templates.cv.v2} (data / theme / + * components / widgets / presets). This package is kept only for backward + * compatibility and is scheduled for removal in a future major.

+ * *

The single class of interest is * {@link com.demcha.compose.document.templates.cv.builder.CvBuilder}. * Preset classes wrap one builder call inside their - * {@code create(BusinessTheme)} factory; users wanting a custom preset - * copy that factory body and tweak the chain.

+ * {@code create(BusinessTheme)} factory.

+ * + *

New code should target the layered {@code cv.v2} surface instead. See + * {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.cv.v2} surface (the + * current standard). This Gen-2 package is kept for backward + * compatibility and will be removed in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.cv.builder; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/layouts/CvLayout.java b/src/main/java/com/demcha/compose/document/templates/cv/layouts/CvLayout.java index ef72b2d1..f733627c 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/layouts/CvLayout.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/layouts/CvLayout.java @@ -29,7 +29,15 @@ * construction time. Theming and spacing live with the components and * theme tokens; layouts only decide where blocks of pre-rendered * content sit on the page.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public interface CvLayout { /** diff --git a/src/main/java/com/demcha/compose/document/templates/cv/layouts/SingleColumn.java b/src/main/java/com/demcha/compose/document/templates/cv/layouts/SingleColumn.java index 8fe40e04..27d992a1 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/layouts/SingleColumn.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/layouts/SingleColumn.java @@ -18,7 +18,15 @@ * *

Used by presets such as Modern Professional and Classic Serif * where a tight, focused single-page layout is the goal.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class SingleColumn implements CvLayout { /** Stable slot name that holds all module content. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/layouts/ThreeColumnMagazine.java b/src/main/java/com/demcha/compose/document/templates/cv/layouts/ThreeColumnMagazine.java index d9b683a1..4a28b69f 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/layouts/ThreeColumnMagazine.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/layouts/ThreeColumnMagazine.java @@ -25,7 +25,15 @@ *

Column weights default to equal thirds and are configurable via * {@link #weights(double, double, double)}. Inter-column gap and * inter-module gap are also tunable.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ThreeColumnMagazine implements CvLayout { /** Stable slot name for the first column. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/layouts/TwoColumnSidebar.java b/src/main/java/com/demcha/compose/document/templates/cv/layouts/TwoColumnSidebar.java index e02d59cf..caf29711 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/layouts/TwoColumnSidebar.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/layouts/TwoColumnSidebar.java @@ -25,7 +25,15 @@ * and are configurable via {@link #mainWeight(double)} / * {@link #sidebarWeight(double)}. Inter-column gap and inter-module * gap are also tunable.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class TwoColumnSidebar implements CvLayout { /** Stable slot name for the primary (wider) content column. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/layouts/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/layouts/package-info.java index a19b5fbe..a546def8 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/layouts/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/layouts/package-info.java @@ -1,7 +1,14 @@ /** - * Templates v2 CV layouts — slot caркасы that arrange a header plus + * Superseded Gen-2 CV layouts — slot frames that arrange a header plus * named slot content into a final document tree. * + *

Deprecated surface. These are the older Gen-2 CV + * layouts. They are not the current standard. The current standard + * is the layered surface + * {@code com.demcha.compose.document.templates.cv.v2} (data / theme / + * components / widgets / presets). This package is kept only for backward + * compatibility and is scheduled for removal in a future major.

+ * *

Layouts are pure structural composers. They expose a fixed set of * named slots ({@code "main"}, {@code "sidebar"}, {@code "col-1"} etc.) * and a single composition seam that takes a pre-rendered header node @@ -19,10 +26,15 @@ * — col-1 / col-2 / col-3 slots, weighted row beneath the header. * * - *

Additional layouts ({@code HeroAndTwoColumn}, etc.) will land - * alongside the presets that need them in Phase E of the Templates v2 - * migration.

+ *

New code should target the layered {@code cv.v2} surface instead. See + * {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.cv.v2} surface (the + * current standard). This Gen-2 package is kept for backward + * compatibility and will be removed in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.cv.layouts; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/package-info.java index 9031678d..b4a00e9d 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/package-info.java @@ -1,15 +1,22 @@ /** - * Templates v2 CV domain — layouts, presets, builder, and spec data types. + * Superseded Gen-2 CV domain — slot-based layouts, presets, builder, and + * spec data types. * - *

This package is the home of all CV (résumé) templates in the v2 - * architecture. Sub-packages partition the domain by concern:

+ *

Deprecated surface. This package is the older Gen-2 + * CV (résumé) template stack. It is not the current standard. The + * current standard is the layered surface + * {@code com.demcha.compose.document.templates.cv.v2} (data / theme / + * components / widgets / presets). This package is kept only for backward + * compatibility and is scheduled for removal in a future major.

+ * + *

Sub-packages partition the (deprecated) domain by concern:

* *
    - *
  • {@code cv.layouts} — slot caркасы (single-column, two-column-sidebar, - * three-column-magazine, hero-and-two-column).
  • + *
  • {@code cv.layouts} — slot frames (single-column, two-column-sidebar, + * three-column-magazine).
  • *
  • {@code cv.presets} — flat copy-and-tweak preset classes * (ModernProfessional, NordicClean, ClassicSerif, CompactMono, - * Executive, EngineeringResume, Panel, Sidebar, MonogramSidebar, + * Executive, EngineeringResume, Panel, SidebarPortrait, MonogramSidebar, * TimelineMinimal, BoxedSections, CenteredHeadline, BlueBanner, * EditorialBlue).
  • *
  • {@code cv.builder} — {@code CvBuilder} for users composing @@ -18,10 +25,15 @@ * {@code CvModule}) describing the user's CV content.
  • *
* - *

Sub-packages will be populated during Phases B–E of the Templates v2 - * migration. Top-level marker file lives here to register the package - * with the build.

+ *

New code should target the layered {@code cv.v2} surface instead. See + * {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.cv.v2} surface (the + * current standard). This Gen-2 package is kept for backward + * compatibility and will be removed in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.cv; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/BlueBanner.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/BlueBanner.java index 25b4ec96..da72f90b 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/BlueBanner.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/BlueBanner.java @@ -46,7 +46,13 @@ * *

Inline markdown ({@code **bold**}, {@code *italic*}) is parsed * through the shared {@link MarkdownText} helper.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.BlueBanner}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class BlueBanner { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/BoxedSections.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/BoxedSections.java index a54c87ac..f86bb769 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/BoxedSections.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/BoxedSections.java @@ -45,7 +45,13 @@ * description below. Visual signature ported from the legacy * {@code BoxedSectionsCvTemplateComposer}: PT Serif throughout, dark * grey ink, soft grey banner.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.BoxedSections}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class BoxedSections { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/CenteredHeadline.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/CenteredHeadline.java index e7b7ca2d..865b10bc 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/CenteredHeadline.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/CenteredHeadline.java @@ -46,7 +46,13 @@ *

Inline markdown ({@code **bold**}, {@code *italic*}) is parsed * through the shared {@link MarkdownText} helper so spec authors can * carry inline emphasis in body text without preprocessing.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.CenteredHeadline}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CenteredHeadline { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/ClassicSerif.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/ClassicSerif.java index e1868dc6..4416d534 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/ClassicSerif.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/ClassicSerif.java @@ -47,7 +47,13 @@ * {@link com.demcha.compose.document.templates.cv.builder.CvBuilder} * abstraction exposes. To customise, copy this class and rewrite the * row / section calls.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.ClassicSerif}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ClassicSerif { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/CompactMono.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/CompactMono.java index c29d9204..7810fd4a 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/CompactMono.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/CompactMono.java @@ -46,7 +46,13 @@ * structure is richer than what the slot-based * {@link com.demcha.compose.document.templates.cv.builder.CvBuilder} * abstraction exposes.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.CompactMono}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class CompactMono { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/EditorialBlue.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/EditorialBlue.java index 3666fc88..858f7666 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/EditorialBlue.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/EditorialBlue.java @@ -43,7 +43,13 @@ * Skills render as a four-column table; Education / Projects / * Employment History render structured entries with bold leading * titles, bold accent dates, and italic muted subtitles.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.EditorialBlue}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class EditorialBlue { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/EngineeringResume.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/EngineeringResume.java index 85409b27..6ee658c1 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/EngineeringResume.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/EngineeringResume.java @@ -39,7 +39,13 @@ * Leadership Experience plus Technical Evidence on the right. Visual * signature ported from the legacy {@code TechLeadCvTemplateComposer}: * Barlow headings, Lato body, navy primary, green accent.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.EngineeringResume}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class EngineeringResume { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/Executive.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/Executive.java index 9772f811..7352757e 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/Executive.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/Executive.java @@ -37,7 +37,13 @@ * over a single-column body. Visual signature ported from the legacy * {@code ExecutiveSlateCvTemplate}: Poppins for headings, Lato for * body, slate primary, bronze accent.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.Executive}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class Executive { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/ModernProfessional.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/ModernProfessional.java index 91e01085..efed7089 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/ModernProfessional.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/ModernProfessional.java @@ -35,7 +35,13 @@ * {@link CvSpec} must declare modules with these names; alternative * orderings are achieved by copying the preset and changing the * {@code .place(...)} calls.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.ModernProfessional}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class ModernProfessional { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/MonogramSidebar.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/MonogramSidebar.java index de330c28..e946da75 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/MonogramSidebar.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/MonogramSidebar.java @@ -55,7 +55,13 @@ * Visual signature ported from the legacy * {@code MonogramSidebarCvTemplateComposer}: Crimson Text headline, * PT Serif monogram, muted gold accent.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.MonogramSidebar}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class MonogramSidebar { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/NordicClean.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/NordicClean.java index 7f05ec61..41384833 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/NordicClean.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/NordicClean.java @@ -54,7 +54,13 @@ * {@code "additional"}, {@code "experience"}, {@code "projects"}) so * naming variants like "Professional Summary" / "Profile" or * "Technical Skills" / "Skills" all work without configuration.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.NordicClean}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class NordicClean { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/Panel.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/Panel.java index 8e1cfd17..f167a8cd 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/Panel.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/Panel.java @@ -46,7 +46,13 @@ * Additional panel closes the document. Visual signature ported from * {@code PanelCvTemplateComposer.Layout.stacked}: Poppins headlines, * Lato body, deep slate ink, teal accent.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.Panel}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class Panel { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/SidebarPortrait.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/SidebarPortrait.java index 97ae0345..44509a90 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/SidebarPortrait.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/SidebarPortrait.java @@ -49,7 +49,13 @@ * ported from the legacy {@code SidebarPortraitCvTemplateComposer}: * Crimson Text serif for the hero name, Lato body, restrained grey * palette.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.SidebarPortrait}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class SidebarPortrait { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/TimelineMinimal.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/TimelineMinimal.java index d714efcf..6c6183b8 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/TimelineMinimal.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/TimelineMinimal.java @@ -47,7 +47,13 @@ * {@code TimelineMinimalCvTemplateComposer}: spaced caps name in * Barlow Condensed, contact stack with PNG icons, all-grey palette, * three timeline dots.

+ * + * @deprecated Superseded by the layered …v2… surface (the current + * standard). Kept for backward compatibility; scheduled for removal + * in a future major. See {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.presets.TimelineMinimal}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public final class TimelineMinimal { /** Stable template identifier. */ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/presets/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/presets/package-info.java index 297821b1..daf4b0b9 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/presets/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/presets/package-info.java @@ -1,24 +1,28 @@ /** - * Templates v2 CV presets — flat copy-and-tweak recipe classes. + * Superseded Gen-2 CV presets — flat copy-and-tweak recipe classes. + * + *

Deprecated surface. These are the older Gen-2 CV + * presets. They are not the current standard. The current standard + * is the layered surface + * {@code com.demcha.compose.document.templates.cv.v2.presets}. This package + * is kept only for backward compatibility and is scheduled for removal in a + * future major.

* *

Each preset is a small final class with one static * {@code create(BusinessTheme)} factory method whose body fully * configures a {@link com.demcha.compose.document.templates.cv.builder.CvBuilder} * to produce a ready-to-use - * {@link com.demcha.compose.document.templates.api.DocumentTemplate}. - * No inheritance, no abstract base — every visual choice is visible - * in the preset's source.

- * - *

To customise a preset: copy the {@code create(...)} method body - * into your own class and adjust the {@code CvBuilder} calls (slot - * placements, module style, spacing tokens, layout choice). The - * surrounding session lifecycle is unchanged.

+ * {@link com.demcha.compose.document.templates.api.DocumentTemplate}.

* - *

Phase D ships the pilot preset - * {@link com.demcha.compose.document.templates.cv.presets.ModernProfessional}; - * the remaining 13 CV presets land in Phase E of the Templates v2 - * migration.

+ *

New code should target the layered {@code cv.v2} presets instead. See + * {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.cv.v2} surface (the + * current standard). This Gen-2 package is kept for backward + * compatibility and will be removed in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.cv.presets; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvHeader.java b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvHeader.java index a1eefc72..77934c2d 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvHeader.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvHeader.java @@ -22,7 +22,14 @@ * @param email optional email address; empty string when absent * @param links ordered list of {@link Link} entries (typically * LinkedIn, GitHub); never null, may be empty + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CvHeader( String name, String jobTitle, diff --git a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvModule.java b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvModule.java index 013fdb06..913c041e 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvModule.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvModule.java @@ -20,7 +20,14 @@ * @param title heading text rendered above the body (may be empty to * suppress the heading row) * @param body body content block (must not be null) + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CvModule(String name, String title, Block body) { /** diff --git a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvSpec.java b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvSpec.java index 68392b2d..dff8f212 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/spec/CvSpec.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/spec/CvSpec.java @@ -17,7 +17,14 @@ * @param header identity block (required) * @param modules ordered list of named modules; insertion order * preserved + * @deprecated Superseded by the layered …v2… surface (the current + * standard) — the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} + * plus the {@code cv.v2} presets. Kept for backward compatibility; + * scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CvSpec(CvHeader header, List modules) { /** diff --git a/src/main/java/com/demcha/compose/document/templates/cv/spec/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/spec/package-info.java index 179a52de..ecc170bb 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/spec/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/spec/package-info.java @@ -1,8 +1,16 @@ /** - * Templates v2 CV specification records — user-facing data types. + * Superseded Gen-2 CV specification records — user-facing data types. + * + *

Deprecated surface. These are the older Gen-2 CV spec + * records. They are not the current standard. The current standard + * is the layered model + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument} in the + * {@code com.demcha.compose.document.templates.cv.v2} surface. This package + * is kept only for backward compatibility and is scheduled for removal in a + * future major.

* *

This package holds the immutable records a user fills with their - * CV content before passing the spec to a preset for rendering:

+ * CV content before passing the spec to a Gen-2 preset for rendering:

* *
    *
  • {@link com.demcha.compose.document.templates.cv.spec.CvHeader} @@ -16,11 +24,15 @@ * lookups.
  • *
* - *

This is the v2 replacement for the legacy - * {@code com.demcha.compose.document.templates.data.cv.*} mutable - * Lombok beans. The legacy package remains during the migration - * window and will be removed in Phase G.

+ *

New code should target the layered {@code cv.v2} data model instead. See + * {@code docs/templates/v2-layered/}.

* * @since 1.6.0 + * @deprecated Superseded by the layered + * {@code com.demcha.compose.document.templates.cv.v2} surface (the + * current standard). This Gen-2 package is kept for backward + * compatibility and will be removed in a future major. See + * {@code docs/templates/v2-layered/}. */ +@Deprecated(since = "1.7.0", forRemoval = true) package com.demcha.compose.document.templates.cv.spec; diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java index 5d33e9cf..caa65510 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java @@ -205,9 +205,11 @@ *
  • A free-form layout engine. The engine lives in * {@code com.demcha.compose.document.engine.*}; this package * is a thin author-facing layer on top of its public DSL.
  • - *
  • A replacement for v1 yet. The legacy - * {@code com.demcha.compose.document.templates.cv.*} surface is - * untouched; both pipelines coexist while v2 stabilises.
  • * + * + *

    This layered surface is the current standard for CV documents. The + * older Gen-2 stack at + * {@code com.demcha.compose.document.templates.cv.*} is deprecated and + * kept only for backward compatibility.

    */ package com.demcha.compose.document.templates.cv.v2; diff --git a/src/main/java/com/demcha/compose/document/templates/data/coverletter/CoverLetterDocumentSpec.java b/src/main/java/com/demcha/compose/document/templates/data/coverletter/CoverLetterDocumentSpec.java index fa19f033..a7ae0149 100644 --- a/src/main/java/com/demcha/compose/document/templates/data/coverletter/CoverLetterDocumentSpec.java +++ b/src/main/java/com/demcha/compose/document/templates/data/coverletter/CoverLetterDocumentSpec.java @@ -15,7 +15,13 @@ * @param body cover-letter body text * @param jobDetails target role metadata used by templates * @author Artem Demchyshyn + * @deprecated Test-only dead code; the live CV/cover-letter model is + * {@code cv.v2} / {@code coverletter.v2}. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.coverletter.v2.data.CoverLetterDocument}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CoverLetterDocumentSpec( Header header, String body, diff --git a/src/main/java/com/demcha/compose/document/templates/data/cv/CvDocumentSpec.java b/src/main/java/com/demcha/compose/document/templates/data/cv/CvDocumentSpec.java index 4b525993..08e5217f 100644 --- a/src/main/java/com/demcha/compose/document/templates/data/cv/CvDocumentSpec.java +++ b/src/main/java/com/demcha/compose/document/templates/data/cv/CvDocumentSpec.java @@ -19,7 +19,13 @@ * @param header optional header block rendered at the top of the document * @param modules ordered content modules rendered after the header * @author Artem Demchyshyn + * @deprecated Test-only dead code; the live CV/cover-letter model is + * {@code cv.v2} / {@code coverletter.v2}. Kept for backward + * compatibility; scheduled for removal in a future major. See + * {@code docs/templates/v2-layered/} and + * {@link com.demcha.compose.document.templates.cv.v2.data.CvDocument}. */ +@Deprecated(since = "1.7.0", forRemoval = true) public record CvDocumentSpec( Header header, List modules From 8c00d90fb506daaacaaf327cdeb9cad03358db1f Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Thu, 28 May 2026 14:58:56 +0100 Subject: [PATCH 3/3] fix(coverletter-v2): correct broken Javadoc {@link} in PanelLetter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PanelLetter's class Javadoc linked {@link #widthAnchor}, a private method of the inner Template class — unresolvable from the outer class, which broke `javadoc:javadoc` on the JDK 17 CI matrix. Switch it to a plain {@code widthAnchor} reference. --- .../document/templates/coverletter/v2/presets/PanelLetter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java index 037cf7d7..2db1fb80 100644 --- a/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java +++ b/src/main/java/com/demcha/compose/document/templates/coverletter/v2/presets/PanelLetter.java @@ -39,7 +39,7 @@ *

    The two masthead colours (deep-navy header text, teal accent) are * mirrored from the CV, where they are preset-local. The header card is * pinned to the full content width with a zero-height spacer - * ({@link #widthAnchor}) so it spans the page rather than shrinking to + * ({@code widthAnchor}) so it spans the page rather than shrinking to * fit the name — the same trick the CV uses to keep its panels aligned.

    */ public final class PanelLetter {

    0Y*j}J*77@~NP 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 r|852U?u7sDg#Ye@|4(KdTP}wwo(5Dk&KNE literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/panel-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/panel-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed6a4d19b4e21fb2c6e618cd5c97956a9d3ca31 GIT binary patch literal 35659 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 literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/coverletter-v2-layered/sidebar_portrait-page-0.png b/src/test/resources/visual-baselines/coverletter-v2-layered/sidebar_portrait-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..12e3502d0fd6b16c6f6789abd226bd38758b9d08 GIT binary patch literal 32969 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 Date: Thu, 28 May 2026 14:36:19 +0100 Subject: [PATCH 2/3] refactor(templates): make layered v2 the standard; deprecate Gen-2 Establish the layered cv.v2 / coverletter.v2 surface as the canonical template-authoring standard and steer authors off the superseded Gen-2 (CvSpec / CoverLetterSpec / BusinessTheme) surface -- deprecated, not removed (existing callers keep working). Deprecate (warn, don't remove): - @Deprecated(since="1.7.0", forRemoval=true) on the Gen-2 CV + cover- letter presets, builders, specs, layouts, dead data specs, and their package-infos, each pointing to the cv.v2 / coverletter.v2 replacement. - Fix the misleading "this is the v2 architecture" package-info prose; drop the cv.v2 "not a replacement yet" hedge. Showcase -> polished v2: - Repoint the CV + cover-letter gallery examples and CvFileExample to cv.v2 / coverletter.v2 (canonical cv-.pdf / cover-letter-.pdf slugs); fix the duplicate cv-modern-professional ShowcaseMetadata key. - Refresh committed README previews to v2; drop stale cv-tech-lead / cv-product-leader (deleted V1 names). Docs: - README and examples docs lead with the layered surface; mark Gen-2 deprecated. Fix dead authoring + gallery links in the migration guide. - Add ADR 0015 (layered template architecture); mark ADR 0011 superseded. --- README.md | 6 +- assets/readme/examples/cv-classic-serif.pdf | Bin 29340 -> 49229 bytes assets/readme/examples/cv-compact-mono.pdf | Bin 18483 -> 40754 bytes .../readme/examples/cv-engineering-resume.pdf | Bin 0 -> 33979 bytes .../examples/cv-modern-professional.pdf | Bin 2368 -> 4657 bytes assets/readme/examples/cv-nordic-clean.pdf | Bin 29009 -> 42013 bytes assets/readme/examples/cv-panel.pdf | Bin 0 -> 40778 bytes assets/readme/examples/cv-product-leader.pdf | Bin 17073 -> 0 bytes assets/readme/examples/cv-tech-lead.pdf | Bin 29748 -> 0 bytes .../readme/examples/cv-timeline-minimal.pdf | Bin 43046 -> 53145 bytes docs/README.md | 3 +- .../adr/0015-layered-template-architecture.md | 80 +++++++++++ docs/roadmaps/migration-v1-5-to-v1-6.md | 10 +- examples/README.md | 14 +- .../examples/support/ShowcaseMetadata.java | 1 - ...CoverLetterTemplateGalleryFileExample.java | 128 +++++++++--------- .../examples/templates/cv/CvFileExample.java | 25 ++-- .../cv/CvTemplateGalleryFileExample.java | 76 +++++------ .../builder/CoverLetterBuilder.java | 8 ++ .../coverletter/layouts/LetterFormat.java | 8 ++ .../coverletter/layouts/package-info.java | 21 ++- .../templates/coverletter/package-info.java | 28 ++-- .../coverletter/presets/BlueBannerLetter.java | 6 + .../presets/BoxedSectionsLetter.java | 6 + .../presets/CenteredHeadlineLetter.java | 6 + .../presets/ClassicSerifLetter.java | 6 + .../presets/CompactMonoLetter.java | 6 + .../presets/EditorialBlueLetter.java | 6 + .../presets/EngineeringResumeLetter.java | 6 + .../coverletter/presets/ExecutiveLetter.java | 6 + .../presets/ModernProfessionalLetter.java | 6 + .../presets/MonogramSidebarLetter.java | 6 + .../presets/NordicCleanLetter.java | 6 + .../coverletter/presets/PanelLetter.java | 6 + .../presets/SidebarPortraitLetter.java | 6 + .../presets/TimelineMinimalLetter.java | 6 + .../coverletter/presets/package-info.java | 21 ++- .../coverletter/spec/CoverLetterHeader.java | 7 + .../coverletter/spec/CoverLetterSpec.java | 7 + .../coverletter/spec/package-info.java | 21 ++- .../templates/cv/builder/CvBuilder.java | 8 ++ .../templates/cv/builder/package-info.java | 21 ++- .../templates/cv/layouts/CvLayout.java | 8 ++ .../templates/cv/layouts/SingleColumn.java | 8 ++ .../cv/layouts/ThreeColumnMagazine.java | 8 ++ .../cv/layouts/TwoColumnSidebar.java | 8 ++ .../templates/cv/layouts/package-info.java | 20 ++- .../document/templates/cv/package-info.java | 30 ++-- .../templates/cv/presets/BlueBanner.java | 6 + .../templates/cv/presets/BoxedSections.java | 6 + .../cv/presets/CenteredHeadline.java | 6 + .../templates/cv/presets/ClassicSerif.java | 6 + .../templates/cv/presets/CompactMono.java | 6 + .../templates/cv/presets/EditorialBlue.java | 6 + .../cv/presets/EngineeringResume.java | 6 + .../templates/cv/presets/Executive.java | 6 + .../cv/presets/ModernProfessional.java | 6 + .../templates/cv/presets/MonogramSidebar.java | 6 + .../templates/cv/presets/NordicClean.java | 6 + .../document/templates/cv/presets/Panel.java | 6 + .../templates/cv/presets/SidebarPortrait.java | 6 + .../templates/cv/presets/TimelineMinimal.java | 6 + .../templates/cv/presets/package-info.java | 30 ++-- .../document/templates/cv/spec/CvHeader.java | 7 + .../document/templates/cv/spec/CvModule.java | 7 + .../document/templates/cv/spec/CvSpec.java | 7 + .../templates/cv/spec/package-info.java | 24 +++- .../templates/cv/v2/package-info.java | 8 +- .../coverletter/CoverLetterDocumentSpec.java | 6 + .../templates/data/cv/CvDocumentSpec.java | 6 + 70 files changed, 649 insertions(+), 189 deletions(-) create mode 100644 assets/readme/examples/cv-engineering-resume.pdf create mode 100644 assets/readme/examples/cv-panel.pdf delete mode 100644 assets/readme/examples/cv-product-leader.pdf delete mode 100644 assets/readme/examples/cv-tech-lead.pdf create mode 100644 docs/adr/0015-layered-template-architecture.md diff --git a/README.md b/README.md index b52bd7dd..466b6a28 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ GraphCompose uses PDFBox under the hood as the rendering backend — the com | You want to… | Surface | Entry point | |---|---|---| | Generate a one-off PDF programmatically | DSL | `GraphCompose.document(...).pageFlow(...)` — see [Hello world](#hello-world) below | -| Generate a CV / cover letter / invoice / proposal from data | Templates v2 | `ModernProfessional.create(BusinessTheme.modern()).compose(session, spec)` — see [templates v2](./docs/templates/v1-classic/README.md) | +| Generate a CV / cover letter from data | Layered templates | `ModernProfessional.create().compose(session, cvDocument)` — see [layered templates](./docs/templates/v2-layered/README.md) | | Add a custom visual primitive | Engine extension | `NodeDefinition` + `PdfFragmentRenderHandler` — see [extension guide](./docs/contributing/extension-guide.md) | | Regression-test generated layouts | Layout snapshots | `DocumentSession#layoutSnapshot()` — see [snapshot testing](./docs/operations/layout-snapshot-testing.md) | @@ -146,7 +146,7 @@ For a Spring Boot `@RestController` streaming the PDF straight to the response, ## What's in v1.6 — "expressive" -- **Templates v2** — 14 CV and 14 paired cover-letter presets, theme-driven via `BusinessTheme`, one-liner `create(theme)` factories. Inline markdown, slot-based multi-column layouts. See [`docs/templates/v1-classic/README.md`](./docs/templates/v1-classic/README.md). +- **Layered templates** — 14 CV and 14 paired cover-letter presets on the layered `cv.v2` / `coverletter.v2` architecture (data → theme → components → widgets → presets), one-liner `create()` factories over a typed `CvDocument` / `CoverLetterDocument`. Inline markdown, multi-column layouts. The going-forward standard for new template families. See [`docs/templates/v2-layered/README.md`](./docs/templates/v2-layered/README.md). (The earlier `BusinessTheme`-based preset surface is now deprecated.) - **Composed primitives** — `ListBuilder.addItem(label, Consumer)` (nested lists), `DocumentTableCell.node(...)` (any node inside a cell), `CanvasLayerNode` (pixel-precise free-canvas placement). - **Architecture hardening** — `@Internal` API stability marker, public `PdfFragmentRenderHandler` SPI, `DocumentRenderingException` on the convenience render path, documented thread-safety contract. @@ -193,7 +193,7 @@ document.pageFlow().addCanvas(523, 360, canvas -> canvas ### Templates - 🆕 [**Templates — v2 layered architecture**](./docs/templates/v2-layered/README.md) — the canonical going-forward pattern for new template families (CV v2 is the reference implementation). Personas: [quickstart](./docs/templates/v2-layered/quickstart.md) · [using templates](./docs/templates/v2-layered/using-templates.md) · [authoring presets](./docs/templates/v2-layered/authoring-presets.md) · [contributing a new family](./docs/templates/v2-layered/contributor-guide.md). -- [Templates v1-classic landing](./docs/templates/v1-classic/README.md) — CV / cover-letter / invoice / proposal preset library (v1.6 surface, still shipped). Cheat sheet: [authoring](./docs/templates/v1-classic/authoring.md). +- [Templates v1-classic landing](./docs/templates/v1-classic/README.md) — the older `BusinessTheme` / `CvSpec` CV / cover-letter / invoice / proposal preset library (**deprecated** — CV + cover letter are superseded by [v2-layered](./docs/templates/v2-layered/README.md); invoice / proposal / schedule are not yet ported). Cheat sheet: [authoring](./docs/templates/v1-classic/authoring.md). ### Architecture & operations - [Architecture overview](./docs/architecture/overview.md) · [Lifecycle](./docs/architecture/lifecycle.md) · [Production rendering](./docs/operations/production-rendering.md) · [Layout snapshot testing](./docs/operations/layout-snapshot-testing.md) diff --git a/assets/readme/examples/cv-classic-serif.pdf b/assets/readme/examples/cv-classic-serif.pdf index 8801d73ce403c72e0700781955f973792135e271..c0ec3d9ffcbc3f4e71e559d1a9c8a02aa9b1cf00 100644 GIT binary patch literal 49229 zcma&MV{orc*F6~9wr$(ViLDdcww+&W+qUiG#I|iGC-&S=y)#w+srR0m=SyE-dRJY$ zR+}z&qtrTFw8_uMD|8jFnoM4jH;dvrbLXQhAxIS_U15*>ZVT4 zmiBf;jQ`oqsAyP*D)&vs=P0Rb3OJCpx}ar__QvZi+CE*3@2J>jN+CyE~ZXI zjN&$iE~a9p#`Y$r{|R$;aWXZug@^ITzSiBg$L&C-+)Go3zR8ZW4%)#d%8$rF3_Ece zKW0F|b7-KOjI|n1Bwvp}^p$iLihADn68gAx=Q^@-FKH=BadSbR!@^zv8+k|^#`=(j zJ@dWb;lB>me9$moV3SF9b3Ok@^l3DIrN$dIxWL9tkP~=^HqZN-40pZh>kWk6@sVWcyP=G_o`TJr2aw_@Rh4Tt| z|4d;UlQ?AbD&Z^hNA@j~2j;nIf%02<^mSqvJ4hAsj^WUHO6|m2$ z>1s7-9sM(<#}`L>o>6VP|sJ*-pjKZFBkzsfd0qNDqsPbwHKY$waWxAh)$>8 zS>p{=(F#+0W}0@-Y*4R>*3BnMK-@R|&mHos$pN~5p^E_|5I^29Q+*| zqxHsJ^`DgOROWzW@&0KnOIIa03P5x9mnEpVuSCRk(44E{nK;#%u5}*NIbz@-Qu$MN zd7N`=y`PoaLr^_jfZ>GH^sTN|XmyiI;sx)V>xR`D8IUe!Kx$mb9BZdtAd}17`NaSn zyb_q3@M4RQQ28%Ekfm&I^N?CmNlP1WgDdFRbx;vyWck9JZj6bSH7_Q>V`nk%6KJ$Q z#LumkF>s+FXTq1KWOs%LP#Y&>#PT)x#P`@Z_jxRS(O!$oLuk@(mjZKks6y!CahSM?I7$mYiw&ZV8ItHM0@uK zZd1JdG3Y@jEUB$PKZ{wB&HjTnNc)r(S{K7Oy~lvs8dU|Q$dKx zvRENmPC;~9lsiVK%0jUDNnqTLXMI9VvM1%ynhWL0Fj*44)M{S&rk`vwK&^hipb39t zxkp5S>+bs~QR@Z9*NMVqY2}m9ZeMf6A^H5g06z46JjA=<8}W2@i`oh!0u8I}GzCb3cIKb;lR~6Pk&uuED*j>P zqIH>3lq~I2PL_cc<2Zz{g;45Zu|RZ_M4yDV`{01U_7zr-a8e3_MX$7Yy23GA+Ic6L zIll)4KSF9>ba4J2*JSS~6&+9NM{gcvY$S{tXU7-gTZu{valiRMV2Gw~Udy0Ic9or8 zbux3VG#zurqa^;M4-FHi7!PVfaW5Ss7v0;svg+~#jt_>z0r+Jpcoln{q|6239_Rr2h1^}R`^EVE zHhDQCWdB7UpIEj|!L$mWyScII++O7!X3SgedvC(&4Z7MhPH&) zbo0nE`s}R|m^wc7v-W6-Yjl!>leG|a@oiSlf=1=XJ!1-p(d+Qy7W9fF`{Q}s%~gquYI6*E80lUEYnXR z{)qK$!)}Z4uorZnH#E=aD8 zWt1m%ExVa23N`4ILz`YkrAOL8>?IYkWDf|RCF>Hsx z9Da!&^P@{`83)6|Zb%Q~H9J?+dbiDi(E--Jjkmk4SZq|SS~$MxxV zp?suHrCqRy%3s)k0*ig=Lr%hd0kkvN3e};DlmS8i^!T z*AtRMPHBaopb|ATzOrMY=GPOmLxVjvqw=5?ERsFhe;bsLUT^Yc7btuY$>ZKsEp?6~ z2NVfzp-Jy36KrYma#GibXYf?Az_df37&F0&Z|THhMm0wqGCXSDLvyTM*t)uk6^v!8 zR_!jpw82z3j3Xt83HO#iR#>r()aoD%*_a|&TX+<&h=`SfMVyFhMW!9!#Mave^T)A| zO$&c{R8?Q%gO|t=kNLU~&M3jdafUufj+;n~Q;#UbC8gP7Vc&6S!S3U~8a*Mu$0a{y z=-t{k_%=5*W1Nt3Bv?QyB%m=*y^3i20xVT}D=s^j$VQ$o33RnMM85zIk2+m!M%ZqY z7L>GI5|c*rK11=HqyCft76<%+l=hi$o`73_I+tI?cZ^-_%3U7v5PF}uxRG%Q7ujqh zNrDs#zvYagF#Kr#h{2@tNWyVOXq-L@_aYYi@2OV;z6sA6`!<~ebScCI*5#!bMVzfB zePyy+h*EXH9z5%%Ar%*%xsn6dQk}u^AB*W<3uhYMK}V&zb)~)b)?A->hsJUy^iN4pRw-;&XHGybB3~&)J4|iBWisi-#igEa=1r;9^*N{8rH>>D`?B%6_O=a zsB*U-;$9j@i|q6cHu7vsuY#9+J4>=dxFo|HpuKmZ<0HKXm!MNwQ#wMW2U+USN4p#Y z2P52JtAARfBD}Rto>95MHnxCg*nC~&ZHQty9q2MRmVGwe-gD#4Hp_%RaQmrk-NTU+ z@NM%SCn!FksC7U>1|TBE-p3+z({z985xb1fO&m&h7sW+1Ij%&ZHMdo!y#x?cy!a^M z10K_$p6M?7+7W+WRVnAaO)Q-cwLX|ssh2|p9z@7TJEB*v#|^_Qlbu9p(3+9oWpMGT zfV&(w93k}H=H_hWS{r8IKTDz17Aso2O=~!;P$G1|m5HfyUmR+Ao9hZ8r(6@+Z4A&T zu8#A8=Qf39-35B+P)2BwawKzr-H24*KKXyRBjfm+`WmMM~=6S(?tPzUlR*0Q8l^-l zQ~cVV@dHxm8np@k9}W0FdhY*GgIxbx4RSNH{TE_zSwqf#Q3y$QU|O{hJx@gBZ{Pw( z%Z!(8oh^Wit=3q%O74nGo~TWk3<WO?wV0n3Qe!R6e5E%1 zCPD{pSW?wUrT9RVOe603Y9Q@bpg)?Udre#1FXDGBW07qmv4ui3Y?q0GMQQ&=rDJ`rIg)*Qia|U;|`uCMzs1k-~+&sw* zwTF`H4Mi)FMV!iB(i24S3op!U;*rQweDTWUPq)H4vyWM|d09VT#4ENH8)4J_U+eZP zOitTvlimn?yZ5B4Dr;U>?G2BI+~5Ff<$lt8phM<^K0SU-N1=jKgUvq0?kYteOs@Ew zVJ&ep3O14Zy_ygY$U6K4;>ZyO_kCc|YGubp5YD-HmkDRLh29)8Wdw;un_Q(1DM(%klh|-i| zRA(Q7McR;OeP$jsQ^#Tm_1w`C(~I9`s7uyurCRQwVsg!9prik}0UEmMl!0xAMXxN);gMEw? zSp+EL$))%%6pW0A*Py=7l%-G{oU>+GWOX7g1sff{>@86(bW2vfmJ)nrHcm@5k+zK7 z{G8}|G~Dkoj3B3+dgh>D6`93`9gTpgLi9Vo z+dG+uVVFDfZ?5{xatbU|u9^J<-r2D$nPzpi$&Uq{bdn5tfxR984Xul-UCWlE5B=h~ zzGaQ3T4T?=4<2tzgR`jQn4>P8Q*&+!&m0FI*l2j4&=dxO0lvt=@e>$RF#W4Po!J?_ zg6U!g&niR2=Nv3oeL#-7xK~g1kJKWuBlvq@c!&w@!1rHM>-ax z>4Qpdwocx(3c;=AJq%e zZGw`uD#Jw?`{@3dj}`6{v(O_GK&ykfgUw<^;17_BI1+h?jJHCOqfb6laW7AmpXhR^ zvd&VId^8EQcOa3it3%DIMvIxGQ1IT~k6~{eNZ2uALFXB{_SMNKW5W$8 zuiMr-2Db51_Lh={zRk#^6uTN^>B-KTQddfi%33_Y=~kL&b~&x=ViZ}zPS^*xyj!Y5 zSZCit)7_4ZTq`^0+hdCU*0&R3sQty5>;k4GjkOg(#)~>^wUP9^!CqzQMu>MB*ZhFg z=fIgj(n;}aXi+#~#1C6u?H-vG=5 z1aKBzpxmwfD-Q^{lq3}>;{qrhcqBkVNYcTeTof>XMAMHafrNj94Pgzg!?_S}2Tp}n zpcp=dM6GQS>LCr7qSr$sW)+c+o`ULCGg6IP#V0$Qw4TmD>Pgl$m~juxX4Q9e_RH#z z(W1CuhFIR#;soY%-+C`OuPGR{K=`U}fBgXV-D*$#H>BAA1u16k{|c$i|4=9N_6x1| zib2|l@*G&iKu&vX7~vo46#ox(PD$(qe{1ok6MvpHeM?HpU!1IIpnCkhkysYl>uJ~+ zVw=$e?(1LHpdecn583?>b)5g9j#~x@T+BbzN&Sa9X)1TH`uvyoAPRJz4>;WozkA;+ zH?i89oOhW5;Q36|hS?wKzRydX>$ZXTgm*jVnFj!-_;Tq%*m+T)4C5r_gzQ%7I%WOt z&oI@phZP>4v1LXEPkr7LEPr+11w}F75fdy!?u6{>LP|h^TDl)h<$$2*d07wA18Y7jn%(8-Nj+kN|NfKJY z*dc+rTORz(ZR^>n+tQV<4x9kw)|f5k|8Qno=k*JyZM;bIUyxw^Kke@S+plJ3|8J1E zp1EWU0!D+}DqwFz5$pK+`H6F%mVLLmUGWmg&dJGfem15uQeBc&G&UQa z&S)btoKG|zH^^-?QhQ(Z6JN>9cJ&0u<*=oup{^>gTyHi0y`AeDW6*bA2O1WO$Ln}8 z)d5SNR;$xB?^bm<(^Cr>m;1=)4PE|Y9D2>JT_zSt9zZgk<_6NYa<;`{muf>r=a z`fr*3%k99-%K2ZMx$Bu#m_Z?=kbOZ4t7sf=Iwj-Vo{<-S<}mPJDyV}Hu;*a>6TCH3 zVP+3W1M#jBGiCWmHn$~n2NN^TRMI$^KoataL|WB~eWfztq*OKmTOJov*t7e}*#KhF z5!rMWV}|V@a@rM}HR+9p)BXfhbE&j8%wFfO``%K^ypW%7A)D=+f<6ehf6IyUfAff$ z>A!h`j%P+;KopTg=l{v&WoPr}Cnv5ANo=VEmJ!ZS1cW&8PF9)5>V4nD#Fv7y4yn1k zxVo^iw6>t41RpiWVVmPjLp&_C|^X>#ARegnHe{*AxoQg4}moB!nzkN?Hj z*en2hDk2I93WN+Q@jwoQj9B?VP8xzbw^Noo!9;Uh+zr9^Qg_s?aVN%>dw%K)urjf+ zc8^ZJd-}A7JL(j)7IDzhWNm-&71n@13if@gHVX$7*;P8%*IU_DrPt&2y9WnZ8fret z9782O>z|0kw=lyswjTm>f3wS`i>m4MO zp(G?JwcjE;;^I@7j1zEqKyjDhlNpO(6nVQV8I{+6pH^wp3wpR6{1PNZNF+67k&lg! zIzq#{4pbglCSDT|b6JAjWJHCNg+OSfGoVa<9Gk=|7ulQ~a zTQ|Rasz*8t@eR9m7$>;)gHzDq;BoTll9L;N$^ePUg3NW`ykFxg(BQi3V?+FD^g4W9 zrUz#apXYt1s+(ls-R}549OBb1|2&%q$;U)kp}_F!6;_6cA->0t;}aL!b2<#}F%&X` z%TUkR4|^j*Ox#AQbDHFR@-nlUm+`zzS%&G8An8&1-NFCxG%NQ(0t>4seYK4CtdQsK zenBUkGYp4kvD|i*SEulPVX{Arx!j~t{5=)L_^tF+7OP&_=ltcYRTCUr?+PEdQDIels(2k?n%=df87ZthI$pUz1nV}j0|O~n}~-`-bgm~7NJMA*@Zop4S?C^t7}nxZ7{V$YBo}i$R1yEwGq)co~8?Ff|NnM8KXbLD9G=n??-> zDmaZJ1S)05uNpnl2oiQ|s*n?5TX33;Xg*iqWsd=wU%I7V_=J&Mts*PQJsbOwhtE z&4t7)!-d$^JLy*8uRDqLe{Z;w?;@jm#lyYVrW>#fG4(29p+US#duCU4Oz|C3X3|dE z%afI1NK1Rs+&&@N$@}m#|J0r$UU@(3Mqz6|kA;-EU$?tD3dq+ZxRnS0^tvJ)b@sv& z)+BNG)Tls$`mD^=1cOk*R0UgSORUH*2Ps0bQm&(B!TR0yt7=ix%aR`^!5#}n66(H} z;CJP6vF0_DoDh1t?S8-L>d7Lhhrw}+`uEGBg05Gr2nYQpxk*Jgm*Fr*p`h^20jrh7P^NZXGScz&w;-TNlzQQzDd zuSL~%SR^NtTb$+;0UOlUK9k2{G7%&W^4cscVHphX4X&-hR z#78~E8WjB(AFR^ops8jyv)AeXRHF2K@A+pGBgN+$!4nwQ?hJm(D=Rq9|7E-!+gshtEcTp zmKTa8s{URHO?+V$yE%{iavio`ZKmpeMRDGX&kvl}`I%BSPY6Arvzd|spWNOX&@DZ- z#Keh|Lg(bw&vsx@sPE&{oMQL#Ib-lm9%U-OOMi9wY}9xR$=@z{cI+3qcjElTgS6)k zttVvP!v=unQ)o-TW5UmwCaJe8ieotfT?t`5?;#Ij2+~LZNc~D>W*xTE@Wj(4dNha2 z%o|>z205rK^+|Vteg_Lrs*V6bUQoF`EF7j0^!1)AE;|q6;Y45W*uec>;N_Ty)NcEE zDAR6(#LN?9^ZwfF5Bom6dIAOg$$h#u2Fe5STEFEC&A>ZX9EJlhxmSqn1B~1=4f93g zp64gHYBa6QGRqtk8zBnp1sWQ!s6E-g8|skDJ=9Jn>1ifBDE!Yk4 z4OHjqgz(?T^_d27g8TJRh4YKav0y;Rg2hD^ua%%HX$a<(q3yW4!LA!KSiOKV8oe%94D)w1=bofVSGcbRjU2%)4(#*gF}7{9vU_N&K+P4M^Mk~Tbs_KD%@;aep1G?gmEQNHy8MI$Q1moHmc z(p)8&w`}^y96UbHyH?q)qup}Ssb)Js;7G#X z8feQlu&HWxX6vm#$&~qy9i}d?`1vqG{@j~#f|Avx1jDHT{0(}|JG@L;AirXiG5^AI zxX*d5*=$A2HwomCM`L=~Ql-b@dF6(u|_1^SH&`ETGk zgmZN1!q)ySPIZHrWF5CX_uu;-Pm~mc_rI#T!o$lTgqJq!DwyQi`EJngVlxC~eWyxV z%mVHOHC`9q**zvnNDqw4#9)n;XL8usyKQ+6rxdeD9~M&sE!15-$vU0)oFw9lVG3i4 zWjH%Xf#@Yz9Zv>T|6Wg=5t<`6DfOOz-=_k7&@bE9XM~#SA~0dOkV7G5Z;bio@OH(!j`I1f zw0h_?RMoMF7M`|TWUb|u(cgBQ6^WU%X_l8?{(=kI|J$pB84S@@c`d$iJZ3zXqh4r| zZrdz$j|?z<)daYs&l17dg7(dFD6_c;)-3|lF-ySJUUBh9S9@fBbdiWh;6;ih<_ocT zKvV2{ONVp7MsLR_z7}~F@%85h+7tDBVjG;M3cx0gc{jl_gd7YMo^v*ru#Xn;&&@F8 z;|a^#2HZ85Zic}^f%wq{I-u@5ei}jay`uTuQ~1qC5qg6NhyAnUvnOWC3~V~Tb{IpI zK`8B!WY-$0N!&y2gQ(_*)&^ZLms5l{Qz)TY3|8rZAwUuIL^#6q+R#~@Ky0tir~5P2 zzRGNVoD%MIP;;a{frY;Ow)UnW@S0i`#DO8x^^$2%hC(0wi>Na$Y)_#@`?}!wU@yT5 zPZ5*)Dny@|iFe0fgU@}{c07?~6j5Q+pSOz^zS8Iz#lD!=)CHMjN1j>Ihl?W#CO3cH zdru$hK)6wlHx8QjMS7P(NVdFL4ZGNHO5Y6Afsj{n9I6-GYM^Vkdd!zy1PlI&c9sze z;t(}wia#PT#$yL-%%T__i5rKbgwzqVb*6uqW*r&}WkruQTeR;)P$SGprLLAC5aGZD z=D-q-Ve)K*0h5C#G@UwHYd?)UyYFm%&y6ThHZ1XcNLr={JYx>bK!P_}loIY+3`0xJ zJ`-%(I-^&uHi=(F8rQ?*UQ`h?E`V zIr3RPCpap*@>^Ax16W5hFX6J5L&K&fp7vJxtMtHWn|yU~a@qm8Cc4xyHN_h53Odm5 ztoz$eL4IHy?IN?|*vt>XmIRE2Gh}zkluI z>KQe~Lp+gm=g5T_X==@RT_EGTB&D_+zoInx&x*<+ZyrzfuFqR=80L<<&z#K+_tD=D z#2oMD@1@j<@w8aGULO5c^D@}|2xX6-sUuWM@#rEiU(;RDuMjIE8wuqUUZ^^tS=v7m z-?7X=#lpD~_x!OGSB`)rC?zoA;BN_)WVUu*U;;265|-C;oDMsEJ1tY*o%#yiGTo6J z8Gh#~-Z-!MvYSC*lTdeQ#uM>N9!ha8=0d6_oD8a_6I=!Z>o@})Ok{zW`EBAk&l+M& zjH~6;mCI+N)sOUm1rK}&^~gXqOUCs9V6ofK6=mk}^TyP_Y!tp9oAOFr+5g)x8q{VWJbfvN-#Bezba5>>}Aa7@w1 z?}Y}o`If|IfPI~uNTD7Z+U7IXjKd~xh+zGLyYxT;5zG#-wiw5s=&wJxo0z#G3=iA> zq?a_2@ACD6?<7K6pasI+9AI=K$g9AFvSZbvTKnyv=cZyJWkZ=G6Ey9o|5^(RdM6u1 zR~>;wo*`knJ*Gq5DYAkRy6HV-3xeH;7{vCOl>>;r<~9MHB)JVp2Iy(f_u|tJe0lIkB=o7vHerH zP+fVoV`bfXlMBq>!mF8~@J>-1_KX3_8L-6H{mD zNoe{5bj%H0ZhjQ1W&m8vq%j>LqF`o&MJ>;)`+s z8wfk%iZl?@5E{grE^r!}8$t#P#u4HUQ)nV~1tshb&);JWyUQSbjYf!Ke00z44cpAo z?LlrL6@=_C`n?Kf?7_g3pLe*!ult@%>biYIFHNOC~3Ft98J2g zCrAp$fzSWr#jWpUpE&ol<3;8B<~E2{UEp)=&)(aRXnz|pQ9bf!1JYXnj_D(aDPslk zFZM@m%+#z=W~T$Sga3nbjp)Kwu9vKxQn_8%a_E zT}_CKxv%+V06R=vth;V^+~pqP6qsMO?}Cf0U>F=2f8L9Dw-HUmz;O9t^2x|sH2g{m zkahOGEmoI=Sm+vB4{r#e8!QS`ld(2{RcQ=wnWyAi!RoGHb_B7hSA+P2Stu{y3S<<+*UJP z=8(w^d#opEh)QloRA}|x$ZBl%r1}eZip-An1KnfhjCzEfU)10U#gywLGPoqMT0v}*>aPRkfEe5!#~gMoj3_nA5gP1xEeunN z-|;LV$y=jE$2CAXlu}TEYouyOmuOqOf++I!V8$z+Q1bOSs()h*p?d3FO@?}xxn0q8 z@a$NF_hoA}kmK+B3|rQFTzQ#~jPwi$EbVv|pP6HpA>O6$oUhRDlg!((}I6d4%6Q2R& ztT9ZtU8a4o-nu986;4BFT7O{917lwj#2iMAIbryM@DI~6HQsrdgVh0v`Yj2~2Bp$G zfhgAKhMC&p2@^(M8uLknZ$IQ4lA41>u#T%+d)w$HJFiaJ?YFhW!gE>f^rqV%SOp1* zx@8DRkpA_rh%P5(?2l+t22p)t)E}ylXIgw(9IVgh#TrXAcY!%P+HfpB--Ec2u+4cjHeY|%&; zbcukCE%28Y@t*GfMf4nA+hD_RSB`u4pFQ{Fjk9=GgSm(39`C=QyD(3eWsELc-tn9e z*@L`0Y6x6ubj`vGoI`8yVEL{h?PLbU`f(zCo_O$M&_J^1hQei~;843-iT2})G;zAd ziSTqp(4|Ng$!25y-8}G-C*l3Ehe5d^?*ozGoAlASZ(tz8?a8;uR8VZtZqR69Nw1;f zuMAxcmR{RE575eZmTPR(!dt)K9Je${tgAVKyIr9QLLHEx<|;4RE`;yla9a<3&X8@c z@kaXPLu&zhB6zq;!0o!wvjD`TDZhzq|FrFU$EYe=>U%l-}|5 z--4-PTEG7p3XwbtSRtC5)$j6fPbpfptBGbEfK?9L3=Xm@aeLT1qbTBTKRJ7;d40X z;MAy-2VraZGerVq);Qy9?x~6Gvdbu`u;;R<&i=syE zR9^~@M@)Z(8;))yh-0J527&k2O{MB6HW=&-QN1NV`%-du4%Vi3m-tgKxD!6kDsp(` zGYhX%_Ev-|@LG;YN0ck1RRv@p2L!fPU(CSn5ZD1mD@eu>*cWr|T3;wG@7EzbviOiS z6-Vu1lnT@-(tkd$pWN0jIj^OqK~^dvTua^=91EUBUpsf2qbQf+n>6b^tL|6ry_}od z`j2Wa@F{KxUfuO|*EC$`!H9e>iY@PR&WJ8ANok012n6kX>+41O&|D$KXf^O1q*9o4qA@R$Y zEjkFNe^{X)nf15<$bYYaYW4@NgQ?K8!tl)-h-g{kOwH^ODL!7VRhndItJH4F@OSV_MzPtW5T@#=NoGNo zqMS&>(ZtFcGe(qb2HG8W3UDxOA`uaA&Iu&!2!s{4;2MN`b%5oNk~W5t1&W3FulZ~qwrv{ zxZQ~9h`i~Nfw!>eSJc+H+5>Q$!W_`pkCI-8kv|XAJ`b=z*EA`9-|Zh(k^w}wZ<}4v6+*Pprr3r{?KJ(3mqNaSkcYn5eDmkrkET-Sh0BzE&h}MI zcNO<;mKgCQejkwIOu=d3cW>UVT%2S2&DUQg^ReAu9?vJNS;Jeu?!=rZ-Z*UW2@nX~R)PJ-20gaZn$Wo}s8{RLq8`c&;djI+&H zPc4-&aPT+wbF-_mB8;uxDcB8h7O8q1 z6iNF90xx^dqMMMxEje#;WuQUD%N~oZTIFm4T<#8bOe}sT9tX)H>rdE4%Q)kZi_5Z| zt=43$?0XGaHD4iqmmkd=`^vkDwRJqdFY{6bYndoc2XY@04l4=IN47@f zpJP2ch=pf6jyp{|_5n8})=BiZh5S7}+-K^P(I^eus;XsT<5eKtX`-uA8p^l?#<9<* zzk6@5Ui|70_SyMHryclay(bADpK0k_T7JkSDwLhLBKHz|TwY$ldk`*b^uM5ASeAI@ z1;$@zQNX`J@d0kzb|~bdhT1{b7&bW3k@bLjs?Lz&p^}^94^Q=}D4`kFJ9j4Mm7N%= zmKlpW>w)C0QvPV@D$aQ{9(yCazgRqZAIPN{xRHv$?Y{jk6E4eOZvMk;#s?T(dVQHo z?F=@BZr?f(>F_3++hdx0NQ8x8r|)WVAxYz;>nxSMQ7mnqWpbB;~*!l3b^yDb_Ak} zIUOE|q-0_k!U|(g9=OcwcDk~H8KD9^fth`CIdkoKqs_!ygT?1P4EC(ZW{J(&2IA`J z(|;&5MB-NyHCC||@=Fd-8!aky#AHIi<(jF!XCgS2YQ63T-2lP-f`+t%nqZ7U;bh2~ zf+U2V$hksmv3@_ufNRP0f0i*Bx;PJBn%*L)AxU{it3FbjNMw8y$U$}h8SJW&%nZu| z)Nu_W@aaP!FM{DQ!hQhZ;LB7Kv@{)ej04O-#@VmHD|ywLWt`ey=N?Ya>>N(ZiPZ13 zyG<1MPjzU8w1Tl^f}i#&&0inSfa@rGE@gzuCbF%*cM*LE2x^x3AI&#XxbL+;{$Jd6 ztW49=O>ERSf#X0se%h45{K+8r?;H|iL>c+W;xEMDJ?F&bS_Jt5WUDdPCpS0ILJz5h zdXKG_kva-3mlZyjVi(Gh+BRatyfvuvGD--rY=4Pb&^sES#dad5`R&Gma7}dZa}7@7 z?R@z(u+3mSAGq8x3f(iA-SDTbQ^_$R9j8cW{<>$fKXv}LgR8+77rz<@ zqA-Tz8kzso5kRe_Kw{y&qT>+-;+Hp=$kio#)IRHe-1imB!w!J^ICdJZ>@6wIwGIj zY})$?gQ0^#xa!#p%Lw-dvuOV9-0|n7{E+IM%AkM=8-baTn5H!RPQ>X8O90HEQoFr^n#Q*`H1+oM z!fks}b5cd0wYkObKSP=?2n4=o9cBE(fq?y4SYtD7Zl;z+w6jxzilob4fin7F;JHEFqfz%g)`uD0B%=3Sw0?p&PhC-kdeLb|_ste;Iva+rF_ zkK4_ROtjWC_!ylO%xmAaWRiaPaDwe0Jsn*+EE$ULfOH02yd%FVbN?0eVok2;b_0n? zJd^}P$iHe#|7D$o4>?8+zzo5%B@JBY*YJkGGNyhptcJgt-v|O}4QRA9i=t7BXa)pW zyDJg}x?iVV&X`8i0%IqXN3f?Fw>|@BU)9!MDLm@e5oeFHh#>4QlhQTiyILPfIL`iIx+Z> zGUqYzesP}VV?6(^TCr}9aBs6lZxVet+w%zVdfLFH{Ag7ZEf%$Yr?@kSFJ9hyHd99Y zrfCo0kPCa!^85nx0Odly0P~A(T~+wlk(n-4F=*md@d2yN3n5TpJuCalGav!M{+ z+KdG^tHsyILsqA>xqcbPB@=~}awOMtCwEh?WdtwddO2RS^mgYdex@>KYkY)6G58zj zPA91RZPH6nd}s+9$V{E^rRj+ro;M!6eTHGxHX0oSZYY}SjXh$y1Xf!$&}H0xRjXn$ zt=X<{#@ql;MIqyAFj>qWH+Iie7v^ag>yT_tVl}{_PzctwJ#Y^(z(_x9PFToRIEtrj zwdN3BOMzkTlvTGwdFG1`Z4>(vR=v$x@W3N54z3FUyC~_{$k9})*^`eW!LR?4?a#=| ziLI3^ZF}ZncQ*Lrg1S>cqtDaH4avsZcDlOC4m{dAJ!kYD+x;(6YXlj!Rop1LKDq7V zCG8F$+HBgR0OI81(!A{;B}lC~kxwDtsq?2K=ry*e>GpR?Jc0yKzoWqw}MJrtzFkyN-&sa?axs zc_uKM)Eqk8SrkLd^9zPLJ-i4eYp3XI#b7xljF_GOi>`C(5e3NBXxp}J+qP}nwr%6I z-KTBawr$&X-}81e$;=vIsQ<-$b!8_DdS>Fth)oy77&Q6@a7#c|)#0ZY=8C>kGK<=2o-FUs zq?yJJlStX;FgI`CZc28O?6jU?Fux*S=A1n%Qe(<_&Gs9+X@MvS%;?sB{4+8FpN6m7 z5C%E|b3{AiOUccNF4y5cLk0#slA;<+j*LYK7iUN1AmUhJ8&N`ZSmmDLlM=O#T9W5(KKOEO{t>A;R zKuR`L$nCidNz<7{u0%%rz_qa1_ycE|)ibp9<;GW^jOo{%wwBL+LY$iy1f}ud_mAy{ zlsKe>2 z^pN!6&P;(IM;Lp_mCgt;Bk9B$SZTGLquEa00pa1`HQ+O}paoLZuoFveD=W{yHRuan^N3V@sM5NQ?pU&0DcQVgz1_W|It`R#V{NrAmx2sM4dAK$4!x#_)ZGK1+PL#f;T! zW2wVVm?v-I8p;UZBUDoGe=W^e%s*M6vDBF9p!!WP{UXpkNS9yH8PHj9AWvI@>j^Gi zGcJUsqktxGm+$C3tM9k%%WrDiVwtc@g*h0paMDf1HpDBX!769%uxfs4=!gic*5`=q zIL3f`y~dEw8RaRAzMx`Jyj%)W*!MPFe+X%O>*L{L2!;QH2uF}TDvl1Qb88@K?oKBT z7&s4|P=;LV-ir%c`FEF*yW!5kWN{ygqsnPb4HJiP$BK zFN>p*wVc@}gc+l4@^Cq&mmQ<<@H5(%nUw$h?h@fN-(7R-{IF`D578L-07T3t-q^ze z=#S<0=oix3{s(_z@m&Ljva`IEaqbb=_C@;87A?}nd@yat*}@<=dCyHGnq1RZoLe@TH5DJNG(g%V;oPAtxD+_| z8^=rY(;93CaGFNvAMUV-@kF<;IkeQ$fknc2G4%0NpCrNjJOt$X6nmjOZypR$HPT;D zaW0!@8GdX!+b1~N9B^qSf@DM_*BylHl* zbdQKA`@*n;>J@8FZSG}To7YnKOrMRikNR^tqE1Dzz!jK!=xLr#*b$THqhp>?w7k?6 z4dURS8%Pkc2eCOm!}e^xZ00%wm;#Y$0u{wLO-8+0;vtpO!0rQ}fn;p`{gKkiHv^yo zAbIkY>9&^vN1AwV+YwZ+U|P4@1(m9fa;!&_uz}@_Ixq|>OPC3^Jl)wEa4GGi^>q|; zHV>z;1WI+^sl2GLMq%Hcz=&-N2>ZBPM33Y_>xW{ZeHT*1YBJPl&K}aIvQ+A_mmbiM zOB(lJkg-v(`#&p5zo~h~y$gUZydL*pXE?T<<|qxz`c^WyM}XARo^a|X*lPL9W$#-f4^XE&FGtQyWMUVtkus{#U29y*{F7asA>>Mc{u;&?A@ZCnF?3TNemx8w z8c&t%-e+wpA7ZYaFf~`oUDlzM64+6!rz6`S7wule2l@eZ3vU(8RGb$w?8I6K=$Zty zi^SQzcqS{P%3b$G0#dQNFudq;H1D#UX`mHvir!{)ZX47vtoI7SAKtMiJm-FcW@Aj9 zi8Ig#RbMSK_boZ|s_nCYc`-Db_7A%&S8BFc*@I>OhSP&==`+7qspDoJ7hW;@DdE?# z#ys_&PwT@5a&^JFL@YvAVF4Be14=Rk)`jeeq>C`*%bJL{ zp%|DzmeGj|!zay-&19mvl7nMNW^;&I8joVkDWqlzK8s0gi!LoVwrKO;Zj+)F2ejC19`WU_gE@3uTS@RS+UQ?8Q})61F}KK?fJ1mYPPr52pv?u>XN|IFH%qnmO{G z@8k=4R;z;+p@tT)0Y!d6urW92gv$cky6Uq4NK-$2YK&kAN-z~K`)GhrZR+Zt0uy)D zjcvrca>cqF*yxBealS22AL@Po2j|t>zG%Z`aZD2TQ?t!9Od{0zC`JBi9T(-e;|At} znvY!0XR=UFHafe=^*&6zT(gW|KI_$L_A=QO^?ZM-|G=M54KH@i&02QIKi5NgtU=Y( z8|)uQi^#qLfeU{FlC}_qOv~s9F;Ix)fDhuY81PF3kB+#B?^2iDa!Y5bKpqD6`Y_9^ z-P(o-Cbn|#IHh||GQJ7FhcG6aU^fnv&7r~6%1+wX!E2CxfK{rs<`UQK4)Ud**(LZ^ z4G!95iZX_*!q!8zJh2S8f}~El!0f#+P7gME^>yaNWv0rLszB9O7s887)E|3POfBo!w ztzR+yl+T;;xsy@-=JE>0`iJ6GU~@ei<0Ho;jT)!?9L;uoe?3fsC9hgDG2pg+%vSnl zgN@R?Yp?Kud#QQZZ1{x$0sZ_yTmaI-D1e%`T%CP2>Zi^TU)_=xpdi4690zh9by&8y z;}42P1&bD=h?*ie=mWo-WutcHm2EP(bvqmkkG1I;P+}Gw+iCsck=Soh{}Yqw;5cv> zsQkf{k>?E2aUUuUtKO5dcd08_ASAaxA#Kwe1W+A0VDy!Z&^5AgyxT;0s^SC37t0l*)^r8#L=(HtC9 zXLdCM@o3Yan_bv~R2HIJe;LulwLo4NX`XP{u)mQs=am^?Rr6QOwc8Qe{|BCh9U}k< zBS4F|R&J+>W+MTu=CE_+TLFTOjN7)|Y#$9B$!4BxIEFzhlA=lFZ!fvz)`Tq9TPH8|EUzUwN1Uw z$3SDa^r~S>>FuMn>f|(Xn@WX2R+Hmvv%j~YJ#ng;V+X5sE@`9WZcE6ua^QK{ zC?cD;gXi$4iYOli2A8!pgWZ>CS#WihGr1tH!!!n6v(h4v&9**3hK_bei(p`#R)O@$ z$%l6wU3{;^+EQQ5InbHhs{3k&ZaUPI2+zIHyb+5R3bJpGCo=WAEqvS?s~e-ny5`8P z>Y-fXtivu5m{Z%UcSP$vUuS491Bc+*@if?jrp1K1;U}EUFT^I54N#d@qMjY1B3k=o zbr1(76Vt`RblM!%ZZPK48+7EQ-w{108Z=1Zya2(7?;1MXrw`#t?Q~LJVBx!H?;*#e z?`=)%D|Z~mC6yCD5$Xdh>&mc`5-ZJSJSme_dRglLezX+IKGN6=!Vj7r@1mWSO6h2p zzj@0PK{kwC{x>(75R(li^T;0aRIm@~^(oH)lF*d3%Az>~7`8q(0@w?+SeagJ!0R?w zI#-U7wf`DYMAlgfe^6ce#ZYfmeKTazO_kYsZlt`7pW)URYQO4FCVTBy%(P<(`Kvij z@cW-!cB%gFz4eJ$kP9&ZbJ*cW?X}+ zi|sE7w1sGyu7e#&E!`Z0mCfWC>jvWWO9g2&mkj+Rx@sLj3#*1ZwNC`#6@+>skaV0K zYzBe6BRA}Y*>vCk37q+{Tahlm0l9H{cc# z%FY03#~qUS+~e#lo*q9a56nM{UHNuFh%K+kL{aJ3uyZ$opSQqw`2n6eA+GsAR^h&33B&h)c$O^jdf4G-@y7Rm-2)uA<-Ahg#yN>x zJ?8rSupUemtWhEoNoxmPa~(84xE5O+?ld_tz;9#_@cS(~**-Pf6vG-WYa@!>9qA?Ny3=l;BPc_G{yeC*`@ z)Xw=f=l=A+y3%a7e#3SBMcPDu_yv}KZO8p@0cXztlFI%c>E{11z<&PbiS2;{+_7rr z|Ch2X4F9Dp6C1<-2* zn2!H~ylL>~%OFYAop7J_lxpIukM({rha;IKowaSh(Qz_<7$IJ54#An+A9+57Q%Rz2 zaQ|hLpx@22lEsgpL#yR?FaR1sbifIWb-n?JaY$wzkhKB9*aLDw0&gMJ_VHW&+5Xfv zUlG?{yo47~E}AEZO$0uj z$!M0Ta6Q>-KjVCZtNh{c{3ryIqO(hH!3sd)Aj;dkfuhp&TzN8Mrb>`Q>a7N}?nk&`aNaLYB=)?*YIpAl=2PN#%J+|0>IZ8T~V z1y`vUL@Bl4A(;yv(Pn6u3p%1969i4F!%lL>^ST3IyczvuH*8Q1F+nARH<&d}FN2d< zF<$69+P;h7KbBQ&C%A0bS;`6}n+CZE^!i(4z7X296`*C@q_>!*)xCl-UR01duNf|8 zR>av6WgYjYy$L13h~=+vp5hhBIq|cWz+_RD64^F}rf8O@2ht6js|Uj8(WFW^o>B(e zlcZMdu!UE-v>)uSpb2hn^=i;_K*;Q529O+>R+H-1S(NxinvdDNunVPfLh$nj%Jf*E z4B!a@3qM%+(z*zAEF$iymicakF`AW=nMl`=OM!b2!6+ph<4}F;`7~iv{BXN8tkU6( zZd=*X+M42&SRv9CAn^igoKeg@qJ_U?N1ZbkVbak{24gyw-Kf4%;s4R zwCchrNQyXgOlwOUekCo4^fKa;jB4Y^qk>AB?&l=MC!eItqdIHA(ex6B0BcaZ5Zf3W zP|zSiPc1Iq0Wndu++X#{{iLEyV1&v9CQ(!-Q6ZE4h`Zq)L$EWH7FrXaSo19$`BI^N0CLUc8MkZ}WFtG8)mJp;W)*80u&Lc-}3~aI$)dJx7aMR6n%G#e? z)xIfeU5i9k)XR)7IwN9he_Kkpt6{CIrAwQOgT7nbw6v*L(qaaV#J%+!K&iBO)JUOI zs-`P+AXBL8lTuNIaFa<2A5#FpLu%)FY_lXkL1(^`2qa_nxbSn8Iy zyhc9q_LnUQrcx3ojLFK3q?7!qR~=C+U$v6(KJVW`(05SYs;X=D+-gj23iwnn6h^r* zS!k;y=UiJ%?|*@_u#=s2m<48)*zh38hW%42l~uc-bUYWf7!DCrxX4Up%QOElzaH?#7)tY0)RckrUupb9Nk8WRhP z-WIfSh?%vNc$8Kv+)W%$w#t=7R-jPJd5z?8<~Rl$7<3I%0PgD}NTy&-qz z2KYZsrS*1QzMtN2D?|4Z@{{3*x|^?eN*2?OKVI2Rz5+FX!RzeeV45C*5oYFLO`KLP z`}kQXyBQE<(WWV0UP3?W;Jk#S9gV3uUqjwN%>6T0+vYLtDlNI;+rY^09#D&TgsvGY zp{wZJ^|Zk8kX2lxfU-T%S2Nf6CEt&bgg@{myE%Iq4i?le-cs6hm>EqkTPx$&heF*? z87$SD9osaZv@BNEdhN*y$Mc4r-}QgK+VZtG{@L-es?FF1bZNtjxQ9(|&C{7YBT$0@ z%3K%0W{6GwyXa(4P%ZUH>tA|&d(FT;wYr_f6ACpv?pz1EWi`1Y2tc?g3j<_aerMy_ zCV`#YbZ*;W87fq86RVu#_xDqx4G-}{jeK}y6Z_nOR>#eQ^kZ3-;N1Df>R~{0{IZV~ zSZFcLuqODZI%eR8MBk1yP?{@3FThm-yiyC?9N>UR&oY#|8bNIn)bdA(i4HEMjr4HO z639r*_Huy7zM;zf|X2EVYKXgH!GE= zLVFBncYbRbBL2Fai@)K7K76r@26B6TZ0aK;ai~Jkeo4Cb@Eo7w^8nblIpZtyFx;(_ zDab|J!t0u9x2eZ$GMD-#EfX6g@j3;JAp^FqNX*W7mri<2w~d`-`O77Ej6i%VDP|EA zsEw=94V@w}xGm8KSNMVUAqPaC_F1BD1yPdVS%RS4RyLg-Mba1pp1(a2D!^ns=A)!6 zyPcSJ!_Za_V_Qp_b2p8*oml--{R2OcHTke-;u!yDjhNjhLCU<6!#>xl$l0N(kjhY2hNV?cKYQ5f%7)7sB78$n z7@f53N(eI7#7X-iMG%W-!r%y45)7=a#R9J7q!1Ot_IV4Q6&=(4n6B$W(bp(bfCTN^6?VO*Nc>2+kbMv-XcN|pqoAk zidTx1NDV@B^rgKqDEb;?JVa?W+-HdyIo)(_F%_^3BppR$egmqE7Cs2T?A+jisLD3s zX}*y1QDiNVfCa4>{7O{R)-&+4OQ5stM6^(RT}nJ-NX-jrq_SnJPMJCk-VKZ{Axu+R zS^FP7t-z4k&{HSusi@pm0v_@-)b^Q+#hmuTA`J?a?!f%I88k$!{O}^QFKP(~aM!33 z5!rwhgbdH3xHuprqMvJ20jtRel^6v%fuirrR7KjfjlAq1RZf$)p%*G!nGb2OD|4z; zn0#KT7n+gEtB?{Vm8rVK7CH>DULNr{5N z(f^qk#;GDB-G+EANTMDVD8)VpS2aCPwyKU|k~oQDedD_~H}VbVpkij9i=O8c~4&Tedf4;V&*=+DtQBlg4um17d-$Ge|%mTXBDc)J1 z%#lfEXSPSHGXgqsoT<+wa{~`#{SZ?}MH=r-Y&Hu1Ms+{|a+B_$*|cllI^(ctp2#41#jbbhWdriqYZEbWkn=DJ*T@`Zi z5DUQ)hBX}Z>MP!tJ_$$VgEpjx>cwJIYIWs^vzpf4t-(g_;NxiB!<`j2zj z+IL0f@>5KfGejW`O8C!BL4RAHa&A04Uz6N|;E}h;9*gR@b;^E}oB3;Nnkbpkef{1{ zZj~pJiEQu};9uFnIE+d_WGjsayodmeHMrDJp7?5D=W44`)lf~fX}dv#Fm<|S^o*RK zz48k~zCJ1}NL3n76&z*|txaU6%WJ;440_M8ih#-hJ63@oPWE5@XhLKvR_qua3B()Q zjiDzOk6qw!E9)BmM!OT0%rqM%$0VQzjsLygGeGJ)rZWsIf~Z9_sQwyjkTXP{)*Ul3yk<@g$?xhf7%uGKz(oS z?$C45x29$y>2ON84ebCMa;B%DTh581f#r`^t{}cHH_*^uhUn zICiqZlX@7&*&VDDxe8yb2QS&czH@s5s5QcL(_1Tj(ylmLO5|fWoRPiN9h1(So?dpD z8ET=rqwdp*0eQ%R6z#k+w1IJ@xjg|ki9d{qb`x+QPsCEE;#RHzCEQ@bM_CM-;tauw zT9NAN_oUa|f}+Z|v@ly#9|QCsN*ZWf?+TpkZ<*rd>=g?YA~)z7%C$Ag3>)j%14-WH zDuJ4=Fal`?(*vbCW9sURuY}cENXTQz$dW+bXyc2y??%8VG#mOHI5L#K;NCvg<2mpg z0noNi^U2L#Ipeqhh~tFTAqvSqO=$oV<*=~pjvVVxZSX8O_5#BeC4wkyun~K)k0@%A z!bjdgVEf?q1r=z3hDq(9WD2Asdh)osfqQ`Mrs*l9@J#?lmoD@pzely4bQ10%<>d+ zl>-`E4BG$tr~}Rz;T3aWNsqt_u+Q@C`^`+}q~p5V2Tr}Qv-5nA$>&p?Amh{a*mPS$D6y4j->B)pn|8P8SqPRP_>0eNo zSlb>g8qD&8t*Y;Rptpq}k5FE9frkkI6VDdy8I*<(*#uC-WFZUs03k2tn!!PT<>qQr z5I947tcZOJZ**xv0)*t}#*bQjA@|;+ zH3{@5w|0ttjJkIfUl#LsAMV^J_JczSKtgRXjIH~;uI*c&;S)USd&nuEj@;%8_lCa( z{qSWqW3-KB%FYl{BqPuV5?*BkBZ5`MnkuV@%omDnDgipf>nakoGx5ew>}kZacPZSz z6#aog#iT|gD+bUAMbuyvi`;`_))V^xwW(u?U+*yrK2Eg}9GlrS=$w2Bh~;PetZn&) zc0FWqVPxA(@MUNR$M1wpTBmIRW;4J8z5V6f`C#sPMwEG2BQrX$O3BXl?SJt-gZn7H z7Iv8Ssdq$(cl1F@mQ4>K$oN+K5_j})W`z4I!r(~@_jm37hqKBLPuh9yMOkLX@PVgg zz5dBj<_9O~k$psd6hG#X90oHta~oq9J^WoSzEyr0QAE-CoB1jBOR?0eJAm{f`QK%j z&iuCuzx`rZckRbS$4aeVG+7u3V+aKE?R+uxsl{u9?zV8@&D3cQV1_hxCh;n7mp%S= z!5LkhA%ZmTtWP26gWd?F+mi-kH5iZ#@EZsPRosa5*Fw)$ZkKhqEW@9F?=@hKz-Ja2 zBDC&F1$#S*P9+5m9{PHoyI`;1#MIZR(ck@{fxf-1=CilDj0_H-C!b(^e^XXfCn_KH z{2g^&EtpOV)NeVwOlqZ(T%AX9o zFhazSsKj&3#3912%aD^@#EO7!>v0Njb0(VvmalRsjTS zk~H;6j?YSHR5U%h>_nV=mqb~UEBuyS4~T+H)3ZmAGW&(>{e%4&EsPcm9=Lfgul;D( zYL}DPEuZTnEgttewnkXL)t4*$)$le@wsoc7)R)<<*Dtu56d&Z!=a%+`8##0~)i%G( zd@ppZlg?EhgR#$#m0m}+*-o)6Q}$z!uGleOw39Qni_U;5&}9D^_XzB$7X+hMhkg1j zA{mW~SvM?M0rTVO7wka8VFgS9IAg%AX-}~Qj+!wk^Nf|A4=Etv^WU&X7pxPqcda@n z+>&F>jUJ2c$)uxlSwzc$rDu&TsdwIB$mH`qeCJ<`QF{6NwCVFF&8lLm(7hj9ShO@EN%ewUx5PMq*& zQLmT#HnWaOsi@c(aB)%ZFNnB4qGnaXcTu;y8O;fzX6e%0xW0{EwriDhxUIk4okZO{ zTM|DD&I%{_=KryW`7_$WTFYJ2rkb^5q2fyh_5?873+`gH6w{t>+g%2i5#9$B&=*W- zx}y|<1)UZ~gY^Y}AZnXoY)Fg@1(x13j~Nz0CmPGd1TFG3W!_ZkxB2Z{jmOEVi-ID# zw?iiprI5*oT5jz*OzmKtw@hZfa#3)e!5TQL=b`4ZIc=YWu4n2dle#rIhR=8?VOt+= z4LiUHE8RY0A%+Epr5P+Eu5@f*sYxuH1-lU=j8o3gXDH<|{D6dsR44-OoQARJ#nX7Dsk8g*4YAK;SC>PT7Ks4p<1BczMv%_J-myI9S|`LbV0myql+(z z96q6Bu-4r0qz$|7Nz`yPeA!jZe|aAsA!1&**s=$YIJ^A$$@J^PI4pfIDj(Cg;%xn6 zijzHz+5ZTHVz`rGU`=Re4@|;Ipj`_gQyNd;pX0yfu-{tmzTJt(`%)&To_pDA@?-2V znX7lxPoHmT&zFK^-VOlEeSF*XCUaYZq45~KD&P79_*Hm6<-BHm4ns2SUH0*lene5$ z5cTnQP3eTTk%dZceiQixkYx3UQIo`gq7pPk4PEV(H(Q9b7zyc((Dum5?`hYN(g1*y z?CXP~<298AF=czM&A|u61qKdJr-RT*y=X{ks7&uM{6ik#E_CaD|4RB&;(^YQ zg0Sx&GcaJy+#c+3>!S*4j%|Tl`;#J}gUjRy&4ek`87yarRT*|I_!Mk~3r@{$s zUQyk$b=~%@tkx|u((s1A;*S;uEPpb-6RO>g9&ug02CcfpAN7k(*3J%Mls?Q|dLi(R z5PP20!As{29vP>9VI+swO$uv#u#wsK`?(t%4O(H`@&zvYQA~q9dg8oLwD1ML>W^px zso9TS<*n0&~L9kECkgjgr$f5mweb0C?RQAa@A z{@^+d?9RXiCFC%#A3ib6D=-q+m+rgkg=A#P&<_8&ujIj@{h?dh> z0?sjqTHkjbNMJBufc8ZJ5-2O4wfAwDP*h zwRD<(6quENR&0Adz0FiA%8{X+oHzFU1$9c31Uw05?_GkrD}$K<%fRLuoa&=6w>tb%SiKe0d=~1UlY%I(&Xgi$W7;D!SsL4 z*ymN0YvC;3PpYa&^jSKdj6G&1?%CF&I+(HLXt>w`2ePxT*KpV-jru9LHXeq3PCqfL z_kUBfgRXLivne27UwtuTDUr8DHw-oG5G9+K_K?)S<%lb6scb{mlz}s5{C#$(=dUnF zNW`6dY@e%Pv;!Sx(vFlVVDn`$B4RCJ-oRoIUh%?ob}%FeGKXPm8^VO*J~CY+Fb0`? zm2*0SjaGDNxrcI!^}NG;f?H5FBH>19e+j$VV2^(v0PJ<{^!9KW%F1+$@k; z-lrNOvjScP`$X<(?KM8xc(#m73q`w&+b+37uTf!YSfq0vMFxhwP`Vne+4PN-l>WfF zlT9xg*JKmMcYq_pPqzFAy^+<1U^>YVP+5`R%g8tt&%c3DW#+mpFe1gc7zDI@ll6kg zHi)F!VmxNI9Mz8*-797%E8C>8cp8wj^JSLut1vyghK>&|mVe$>;A<3jcKiys>!ofK z`RYjntbQkEcWq@wdO2gm)$%#}?>@zDy6IJyKP7Opt8P2CM^d^-S1SV_3md+3biE?2dS!LN<-QnffD1IYx2A46_etYm`sUypvy!(TypQ zP=B^@phaIxc^)W1_Rq{;k{EcyPsX&#JUn%=y+zOKWcAl?EKx_bT-J3~vPY<&e4ZOx zP~6PPJ#^iGM-d&YEmjA@%ny@O;M)c&mo=iF$GVCj+jD1T{36VbtyWPxR<05dzzVK2 z-NO=gL{{qVf7@Sqt0VJh<_|RgU`RCIvT6T^4S$ zt$zDZK1=|m^2v$mF%8uur8BBnmLng5`N5J)-0`%qMi3s0uIWj?rr-V7RavjQ0`-{O zCYUU5K)7v6^Jh>BYr`g8dmQJN@1eS!$6vR8wQaBA6|CZ7+SRyeoa_j&Pi#qf{kdwf zgWU3J`%gtH6I&*vY%F|iUqWU4nd8c4nm)AZn#dmm1-N!_K5nLss==qJZew6TAE=iZ zgm)iC z8ILrt8wD%{GIwvHY!qE2r7gB!UH24PVXY$y6r&|ZINU}<`P_Dd#EFml15R&o!znZb zOXuwFhzC={V2dlQaaSJR6pNi@eV!;1j8N=t%G>HWi1rm5{3j}dH#e1an6n1e7t+>}uhOcI98S&o|DEieorC$)~>n-5OiRRl2NJWPsMzD@p}R0c4GE z4M-pRG_{&zT4|W?z|zev>Wn?GWK#c7*`ts{mXXkqOXYAX#sCH>9<2y~n(6{A<&EhT zGO>fm7yyj%oAYQ1(fzxO78u#J68oBi7*m}?Ut~79i}9iF(kcjKXTmg1otl#WqMS}1 zC(+IQDex-#L09BmM0YIi^0j(ZFJE$VcXb&`iz^xlt_cX9K}RXgM{S@?V`FP(L!$~o z`r91!Z$WOnoouhkZs#H9sK&4kxZk9Yl#0_lMSvlyI$|q0l|@@>>1-_sbeNgIew*+> zF}7*tN`#o9B)1VQE#65FPah1u%#o?}t|!-^H)O3~t5h2})6Qcb0o_*ty;vY zG#Gu(S^3D#vk2udnsTfU4X}ZF!w1Z7CC|bEa72>v7N^2cVpigO3c)5#EkO22XipIU z?AOM=s-xfr*vi!Tqwb)O$Exh1g8GVj71tq6@x zgKWQ*yLx39U-kl;j4G~j`!kdCGF_IUB`T}z`s!g(Hb?$Wr=NpOZ*gw&>h8s&HjQ?@ zQ`Sh(KGch!N%s-{*~zc81T?|9_1&;Y=15M({9?hnt8-g>lkve>2o--ljH@jU-uX+( zWopgazF3!Q`e3?vipSu4^XrUT=uUI}@5DF!z--ZdYzTP&s}^sPjweXaTEv!=k-I@b zUmlB-#A{y>TZPKZeDvl2m(6Q3;OSJ(UEejdd%eJCak@#YjpL9Cb`{tXtIfw1kj2Tr zh=98&PtF#LE^xx3@5GfeUBeZ?skfjh>>PUCdR@RZpKt`Sm2Ma^aytr{$}C&K(>S|M zJh7Og0CIvE!Y%VxHi15I(_#8(%!3|(iwy}{g$^5gW5Oxj+rTg;E3n;MBBje>l^g!GQys&S>;`y)h zaLmiI(I(AaE0fo8h`m#d#sezWoT2JR{=#UwpedGPdp^?^AJ2>x$%hwDf*}qt8=Y4A zu_;?LKBmARiGkfLD(nGiTRu3v;!Ujs;GEH``MHVxqi1Us?ivfubQNzKl`ceuq(0NO zL)rS;o5j5*O5)!Ywa#iTTy19yvx~EluIYQhnf*OCb?a^Q>^N<^4QGS#m3JC($*8U@ zS*~*-sm^r%c3O$YRKSCaeh+x%1_`&Pa^h~-29vXTV^ZFv1`FZZ1`jceJM@gfwjy1V zU~rny?H2%BVa6;>uZB2f9h!O%Tx`pY3>V99tyk`zBCB~31*BrFrGls@TqS*{z`jv5 zD7Vf!3bz@s%5TDpn#+^hP9uX=J|G@8nd!$_O3Yqv)7*MO=Tk_FZjycYOarRomnj~% z0adVmUiTejNf9cuNBlgBmLs#u< z_&^-2dLsE=G%qU{?m!lR*Rvx%puPzfKBMWU{Z5>r=bnK#D8u^@d{-4 zpT=n6i5J*I5FbImU{hz_^2nU0o2Pa3U3Cqg48$Nf7f8)TV#zfwZPnG|Pukkpd9Nb4 zjF%4+eV85l_zc7pBgqkWOk{!4FOI0&rFiP`vchJhc8Ra$FdY3NGVgLHWpvE)5bo)z8h$n z*CMKOc0^BwUbd44OB`P1T61@GgtDswTF@N;9y|4{SF6$GCR?#XpTM@Qm4JweRc#p`J0i=Y!7G$ z1h0M1c5QfJ(j0~%`*2_$T{3H*>5Y=WYRm6mN&@k?&rOBCy?$(Hg$>jfyl1CN)JtWL z(J$%n0>9|jH$r-Dk?aSR7YsTiwj7m?kroJDRG)4 zEcyh3${QiVcFm$^9Le3CUN}#q`_aW`?-u3csPqIjzk;b%5-5IqR1)Y3U55o;XV zTKY({)4$su>9fmZ_5inJskpCCjVq{z{Jb!3aJ>j@UMsG`4|b&k>Dt&_y`#7pKWEF+ zlo&>DOAWAI_Z=raWo8aCCgY3nB>U6&l0V2?c>MjLF8jD^_qu(oP;PS4l=@ZphV#-< zl>w`M1uquMNAu&%>E#a;z+?SK7Mjz)aLK$G2(QE;R&K;1D;}d^h7X3PO=ZZ&yL1XL z;eB6{Z^|BnI%gaEhu`h6_%QdDmgCY-qXVxxYj;jhpLP3O3WX_;P}AxJ=r%>gi*M50 zZZ!6?UxfN?Z|$6WI^1vNF@L|U3dTqiel2?6qw}MW2y%m64HQO?7-GLoW^3{%cezw; z%o$q*;_D(OiruIeq2i+F`WmXUOsl^Cue5iJ(X5I7MccM*yPvjgW7@WD+qOAv+wN&| z+O}{RxytW;$utEyK0pv{wTNSU#E<2DeS%L{S)hl{Lf^vb?%$W20r{p032|6uxMpA_;gamVn?tjfjc+3>@>p$-%`Z&drl zVXVF`3t0i?QrFBHU2(n@qLlpAzR%h2qKBTQ`5tGaDY`iXVU5P>$qeewpiC8aqvOB232WVkjL(mu zJ`vt#G|G94w9qgcXaf9jXSz4mRHm_R2l56Uvjr| z#*Y9UaF~p;2w@;4XHJGz0Y~m^W@b3>yBF3NesVvtA2fSXxk_>OK5xnrL7e3dr5vzw z`Urs(bAn~y@0sVJv%lKw(ikqO8P{Pp`Tj{JQ;q51HPsI4RrKwxdNKM{NcoY!7JKMIM2dUxQgl+QC5YgUdMbqTr+CTPvo@^68|JobcPP_}l+X=tw{vOUJ9&LxfF8eZpal)^?*rOR* z3ZNCKBWrVD9GnmkWxeM6-S3Ne&oRUXzM?J}m`CF1l_T0=UeFt9@kuE14Wsh|?K>;@ z4W=XVdzep_w?DoyAaC0qnUVu))<)kW)i0l{opui<87!v6nN&3N#KwiE+1AK2;0LUE z2XckLf=3wSQHhDS4-RPWOLWhU7=fYl7N(A&d$0nwuV^-SQ=`cN{>AW6{gaf}LU)Hm zRDSRYy4_Da;=U|o)eYHbM?OM?XxI~?_6B9Y7duv<{TTYrGUT-|9>NybgMkx5Jv?D< zAtXcr6~z`A#XBc~QwQ2Y;R!YA8$g^HkDL_hewH5?8V_Ugr72nIp%dkNa+>EYu~_$>f(JLxNX)1wn%`00xi5^t~0O z_6N?BPdtsn2sKfEB-RfIj7!KhNrDqpZ$g!*CBhZrL@Ov>8%%}|Pzp0>*NYac{GAVf z)T$+VFXV*DC21zv$Mu+eix4?xno<8IP|F8B%L&!s;u~_kHnI*CsXAcly z8yQ1|7=S(#vjgu}yt@oDt>$s95;zQUrGUyioPx4bL_&i)N}|T#yPj;nR8^8sC!D%$ zz3hD0_q_CW^}L8t5f4l1QSe6Q^?344^w8{tB<%$3e7-HgD*Wu{3G_kC?oft&KZdf* z)}kOXBMp9mrHo_N^854OhQBb1d?$xY`P}bMWIE&Syk!ayo4hb}+v|jYd<8)HUg?GY z`?Ro<&vSI(Pk1i?`qoyf$KxFq;m#9s$p!LO$Lo9C@$0&p47qUy_U-iiLtPF3rtjk- zA^f`?LP;`jaf}Q)5iwEZH%y=LA!~{bab1$5h2b_%*bZf6;QQW-kWoqUu&4lNAH2~X z$Z)@JV8$C6Gx9w*@tbcQ>QG?`d&!T@n``IOKi<)(a36ftfkG~xSMHn-E4R00shEOD z*rdpS0bJgzk4x>Jvg14*X*!7;v70MCcSdf^9*<)knRFxSZjFvMotV}!6`6D(0?nwF z(saS>hh&@r~RjFlP+NJ)yd%`$c7I?m3dlmut%o(dwuB9`8W! z`Z&99*ZXB-@DyG>rY(9PS%Y{Vt7q5ud*bKwBT>2l@JJ03hzFg#zy|m?Uj_Qn@ihjo=F-(2|D{=!{GK9Sw2}ld7oIX{CA2^xQ$|5R(ZboDN)TFEl{QNtfs zEj(V`1ntjGt6i=x_BybYXBvGyd8aUCPpAE5eMk1NeUnqsBMm67wI07+e1nMKg!sbl?ko9jmPGKkq0 zrFsv$I#o8YtLCL7?jz)N0xEQxkP84_@j~BLUY(~>_T-bDie3S-SbNL=#2!)f2^A&8@Cv|IpvW& z^eC}ngBXmF$dWZ1HQ?s}!?4|gTr*}V9(qM)LbI9RiNU}CJVrqhY%-WR$wDNnGtV(W zwnPp?wzyf!8n3E(iz5#UGD+?xq2G(9yDp7li$alfIGnX3kzVP)(w?}RMClQi3G)Ut zHNxUnB7^7#1TqlHP(6KSc>hLx3uC+=1hMALw@Kywpgruy(h zm(nQ{APs2xm_?7;G;ZKyz-a8tV#qf}c@@i}h*>c!!Au6P!KgN7c%B1S-v#AIfjp1) zjCPU5VTO`e!E%Yt+wb8u7NEjY%+PUjN;PttMA*%~?{Dj3UdL@rp2ROwPse|SzbO#v_x#+IEyNAH_&+vL#`{_!N{e+a z1>K=C^*-#~f#c~XX#WNU-3@L41(fmhLWi+FjkpVsjE|&KcphHLvdHR2r6waBsbh%4 z<=G7PwcFos=AJQn`^`D-E>JRlA5;3Vf*;h`^9lK-Zjv)NDdOr=U?44Z zZf405&O1{s%b(Q=71ai9YVnZkCl`)UNSM$iDY-RRLNUPugPCoR*zEe~Uf2lN4*)Ft zrQD^Z)Y*^sW1(qNdw^AV394o(emc;kk98>8c4Z;1R3*z6yhk3y!*J&yLcVdYUm}Ay z&!=s1Ig}-aq-D~yTjeL$mCUQZ-ZTvPmkHviOsHfLpe=RO$%~(e?|k4w&a{>RHi6*q zMJ{}1Lwd_eX*g)`bH`-1+}Ubb6+1fOpHr}eQME@x;jN69CwQFGxTW5+onh0m#_iF7|?E7 z14Zx3^?f+d7(`EMs3EdQ>ZHK_)m5zp!|P+V>FvN$lTEcFB}8dbPCS#gj~JC$29EGx z+@t|yAecd0?dK-}Y3F%Z0Vl|pkt{8$qvr%b)=BfmU~pR_oeD(l(eQcwo$knZ0T45y z!1KRqLb%A8cC@vZ(-{7SU zjnCoiZBt}`A2|~ULm(5DaxcZf@x5DK=!lWmd0Ms>lUVFJIqiVOlv#_)yw$$3`3m5f z_+pR>`qLh4(_o5lA7I?u=IRkD9y095hREI<%mWh$Yzd8=H z*ELn;AN;u&YM?8Ww!%&so;iyIAEwZZO?gLL`liji)zVZ1^9*4oObDhta3*aKz;BsY zlmtV!tVD@H9BeSl@vEcsOjxjA1x9LZXycxtLX(FMNo!jLf~e%ahqh=eF)u@nz6 ztcfk9zw&2JR(_maWyr2a?(m+{*!Iu6&fzGqpw^%dL(B?xye*VqA%xX@`i-+=<;+0*RMr zOlw6Fv%*#?DoLc(_>m<(43k7)K{9v}g=hyS3i0P%II=bqW=)h~Qj@Irj<;7&Q}YFS z9y~%g)=b848W(+e)br^M-7e!tqf0*qLaU|N&!r*d(`Wpzm*vChPNcz4M!^fcuFYrV z85TEFvd9O4^M62Jv^Uiy!E6ru%pMqk(yQ3>@?L-H-zz{=smE-~!m7cTSZ-Y!r6YwmSR{`+m7ZYmVflFD6G6$4K*h&LYc;9hgkg+lPY0U;@X}wi|S6^txP}I3yAB zJ~&7DUg1oCp8H-O6imz}h~*UeKpTC4KU10BaKjL)2&jRi8%okQz%-INh!W<1^YCMF zXLaX-7j!_pL~622OxN?`dI2ecEdU`M$b%ZogNsJX80v+|*m?5M+bhL-2|2Vs;npZh zz@vhjN&q%j5HN_cj~r)9OcS-^TvIsyoewa2se}A8BbF4^PNtMKLjT4cv34|*Z^(FNFY*C_dl=Ll8^zE_#N~e zRKF`q0$_FdkB9n4L0!V=X^3y9a{j_0dm!=9^L+*)&8I&uczuh?q->}W0XMZSOOIGG zfgx#H?y6?9#qy>K!fK{oK~GWTrYUb4g5XdKl7d_O28u-kzzgh!c!8FPf)B6)EtdM7 z@)Ea!iksZ3l}Bueao0#H$x&R6T~@FzAZXh~Wfjb;PD0+Zz2D$)ESX0vpC&)8< zA&Mw3J&SkBaPuEuCMVw9HlL(Y;Nz>I08CPdU$zP(ZUr3> z+DHDupU)-Ng~d^4@!7`;69%d`K8ex6l8M1WJ0a`NOk4BI-5^@x1GHLelQej0w3meRR*KsYNQtbY63_(ysD`0{rffBagRghXC`=&iE+)%GAumz}vP={bkZ-~l_JXC0sR^_5wZ35e zVyYG+rfhD3s>gt=7Na*(G(qn-zO2N+e+41W6bzS4@6S7F`mKMmts0=TwP!fsERszRhI9fD_I1b~U& zY4LHwI%&uSX;@OuODHDUBnKXzH*bnn|49MM`d%-UB3BYIs5^_}&JIIhVTy&z>dIXv zk~MblO1QWpG^^s@pLzxmjCpu{gs(ws2~G{U{iX~v{(YF%R9wn;NE|*9VbU3600F9D z&b-YQZGh}*h{G5605zgG+y`bbZSk^U7+GxL-xtsy0j3+Y)#AqW5M-91JB)BrKeYAL ztHD9KIt|sz4FOM8OauRbJOM^mPSXnO?G^%N2I~F$VkZ&L^W+#*qJbY}3VJp?EbjNY zF{sdLxB+Z2{heS8ro?DpnW*hQ*M@K1%ej5!<%@@z@B8HJA9N0q0|OQtxwZPY6(%N| zg}fRfAp7=l1&h`oRFi7dOeHz$`pPUou><8g2$JT3alM?_bY-gGBu}P@HSKfcrylVH zf!I1q+ki0og)T^SWRdnEt4U1_mK_%BCpMGWm`3kSGIPfhz*Vxh@@B@LYwtufSZb3M zDp2So*9Z&Kc8}2Kd!hDtwVuZW0Ek>{3VqcNeL6bjS>JvExzYE2nGv-{JA|S#Wdo;( zu^RKzG*E-UF2>Om#}_2Y>elpOx0V`)W9hT%wS_P=Nz=wKubCFTE`YrqSWyCZsb*#5u6D(SD&E8PV}^@}v=W211!!WoO3*_4*Rv!oNMWHy zWx&sid4n+Jo)+?fWhycbr6|}(*Vo5fF`t!7Lr?6_)FM$RsTg^eZQ5fU!$m{P(Sht5 z)EMT7AZ9Z^(SvzUx62^KXdxB&WQbAI0^;L6ub>##>RWiji8GrKaY?Ym93Tf+puiqU zRiH4CHU%9B0+9x0kmyJ>B8t*8ZB4LOVlupsBno*;Et|}Qi=g?F4U)bJdyXDevs12^ zs7`WsFgJtqk_~;0A85aeDT04eNG&mWgj+o%#s`P&SZb7hE|kq~Ym=J89w`F9uVZNu zTRFWBN~Wb0Aqo?8XYqx<>esp*BEJbt2z~U-|C0XL+TJqn_F?r*y(%aN{3M~sKClK^ z0%74tx~vCPbp2WUH373hl0r4cPzejS+Zt%PVHVrf%vTl)st1z!mt){YqKEvZ8PnoO zU87%s2tbURsNH}7HP42UZ0uV&fmiW@RtYdUBuI`(Ku(l`^IJAo^wEfWcc3PPN<;1r zFo-Z!0_qLeg$Y7$<~~8%G#UkyZ2Y%J*c6xdA4IJ59q0pzq$#po5WJ;Z=a4|E221b- zaR&DA2a8=n$M8^2uYcHjy|=gpDJPO^zW+fx5=wFS=p&{ff2oQk?DRO`Vlo~Uz;OD5 znFC#QyY_>&JRZG<1chEj!rwk*ih#E&3yt7Rb;#j>>J?7ho~fntTfq7SDeev2AI>i@ z*<_57*(3y7krSlUotCaGb{7h1F7Y@vyf~f@ZG*^IWZ-nc=3R7WSljyC-I&Um&??%I zNBamae1ssLD&d%{UsYEi+I2N;1JOXvk#bAXVJ0>kd;lKojY{jaKqt4Q*LtGRdfnu> z`#7!0v#-hX4t4Y;FB=Lj_j5J=vV#@13#D=f;gXN#_yNuB$b9w+O6BFl?`}l)tY7+I zj&X}mk=Mhrxq}tE*yW~)a7&X9K(NvDjvNCVAkQ`H8#*i*+FkPp2(I84T-L+5d;f#T z08PNKDdNbC*7~YoBp~=10!m3nDVL#OWi1xk11MI!BNwEYL|l0+;0z70t3}F}9_CiT z%HUXTZ^Z-D5I3qz#YV-c@rgX0;g&OmWWv)H>ojoWB&3h|0JmZ1!b=WDt2igh5cT9c z89t~MDfAeYla)Lh=LECa_l(FDI^BoP%k_fqzRrL@nKzM&5HIQ+z9T^C0RlY4=%KQV zJ#gj}g~^yr^28lqS~6e05F^{;Y+&SYx%o+SMAb9toUPvH7MSbHM?#z5&@ykSTb0{>a$=OPA7M$H%Vi%3PN z_izA{gF3Yq9aBf*4K=ti5C)YRy@RcxR-AIK6nqX9lC-_!0V+drJDw<7mOE%yIbL^Z z1FDuNTp(O+aUUq)BADt5xH@-sYYLbv?s(3B$-)U;t^)Yd18sny)B%Y%oNt=6J;nfU z04WIl@{0nLa~K(KpANwhbwGuyna7F4A;*P48xy!&!{qV$8g9$`W1w@JLO8kmy}JS; zs}*G?<{D>u*ewSypA&y>%_RJgW8)&xf$zY~Ub%^OVZOm>y}XGF&+DgpK&*mGM;;#T z1Wx{>Lp&gPRm|28n&WqOp_0NxUX&zjb2xXSY z&_rm!Lt*nhxo^NL5R6k3#aR9ywUx}E05$p2!aqy}eRl~vRwc3?d*V7=61s!?#oTwBOq+Zhp+kN(8c=(`eMFFa`#zx@#`PGJ|T@l!C==R5o;B3H?k z)tS2X_gcnuGkq9+rWp!Mn6;`=eZjl^=~NPMy3F)yd5b*!^msox*6ZLjWol>7=GVN_ z#8;39{!R|~xpCSd^{Zd}g8KpW8y1+l>YXOM!(`rcL~^1RfPlJ2Oi}_Uyyo>um&1M2 zgasN4g79^(#Gju$&5aaDyePEn%`k#kz>nENYP`*7=<%Q?Ms0L*K4yqiU?dXji#XI+ zSIoOE?KU*@$7~`1ZFnELB|VGGMxP!upwb8pP=awUl5jU0Fc#){1qQYb{&jr&xxF$$9vA~P3za8u+OSk;(Zz?Zu z{aVSgA?Y|p| zSQqnl`KS)V$rqqs5A>Ec&8)7 zhw}vA!&9*4regLS@_|?7iHa#Fi=`u>evot48R<<&a@Ojk9EPuZ5S0B`ORa|$Im?KF zpqD9`KBdaE2G4S*>&hf6K2fW>Xs_c&A@ZCY{?hGIX~~`m;@4&uXLiDPm6OZPgT|LZ zYXaqBh4-pJ;mX}#s%-et2clY6aOC69#Ez34UkIyeh(|s`b3+fM+NDN3LDT&2t`uzb zs1ncIw*@j#1d`i27_=A^FYn@suifTu>+c?Npkj#Zonc`A^S3d`KTDxNT9S4MAim*O zuPUe^JL5Mo-Uek^zG$EM#pERk#Z3Nq;XOdm3-K*HAd-3J>ck*d#3E#Sq?3xr>mH>1 zuD#vjnbTFHVS!ni*5YI<4j41w_;?@Go=8n;-Y;~-J`gRQXNLQZRSN>OBp)KoDOYCOW zX&U7Bj!hLexEt#pSmr@Wu9n9dq!G|6moPKY-#B}jU{jM5Unsi*Pd9w{MDw1QF3dGg z_8|1fG<#-3?45iWevCl(JtYG0Pk9{0(>2XaN+53<^@pZ|oF}_P0p`zvSwYn|ESBiWy$V+lFMoxh zjRRPF&HMFIxVjp5kP$rOMy!Lb)|)HX*=<-d4jK~jzH4_(Fj11jqY-+xb(+3}zH0oeAnx$Rir^$~OaDLsjs_1QXcbKm1yd+oT(J0?igX*2i7$E`woiZ2&u7Ojz`<={ z#X0Gu!~ts(o94*9{@?*#g9Sk2Qbw_9~OMdP9Dia!7n zr0Ym0;s8285`@i%p8fg2etJp&sXNdU_+n}Q3jc}N8g#Ys3)&>*z3xjv^{i} zySY!G?`E}k@fM&b)0qqv`{AJZ^uvuF!X*f*xjbwk8Jy{40+7KWF?N6fji zkc5i4%*^JOreT(s462(5XI_dYe(G=7ZY*415_5M=xWvy|(60NZ;uUci9!T^Z15y)b zntwj4&mA=l^Iu)0s7I2XcKQVw1uicq!Xio?cyK4e%U}}SYCSe=utEDz*yO>ZS-I4Z z)b?;=ZsF4eG{2(_hPaG_^9-odQ=Wjk=rP=2yD#Ir06fuwkP`R}PGop0bYcIl{mLhN z`*SP77Npc0cV*C7{mFWtK;LZ>h{YzZ%__!0CK7~yE7Aci>wyUPT^a1D28y`%{<i2 z9F&;0uF*MN1^y_|z>MAiJ|nQlBvPs8JDw{Si`nT5+s!J^4NP$TrEd`KZD88zfdMjW zbD?^CyD7?JG4Hb-15A^0iiw0LdJ3*7fF=#PJc$Ll)fe&*M4u|Rp*sp@UcryU0EbnQ=xNG{<%Aph+eG;? zab9{|L*Sm~C7WR0D5>1=!NaW;r_vlGx$x&I9ldUe`S4BW_uhl(Lvq)q_GTS&V~ZG$ zpf>D_9D^K8iee(#4#n^gUd%%6FU+Yej0mtO;BV22?#+YHJ|I0Ri+i~G-XUQdQLtE$ z*gX#LzTjIPaDh9p?cmz`2!t40Y9AE7!WOLb~Yl)Jcd;$qneK1Ch)#1NN;qwD4 zmggEK>6aOBTBKgsEnUC7hni4fN{Zu%*Jp`WtfPZ!3tk9eg?zQ_y6rn~mVQ(ShPknG_xnd$s z?IWiUc5s9n0C_qC&8H59>WDYEv5&9XAi6aMfn&~HQ_Yd2qR6`iC*0{cqfGO3=fiU| zO?h{AOE}MWC($wdbF+F>9drd8;^0K!to}+-B{^$hr5MFmCSxN_iVxchnF%>_FhUaG18`2cW)pfur=)o+sa{ccwakPy4v5A2Nc$&C0=8cu~Z zi(T3vRrFW0QxF8KS;`5w^iVM%ryz}ae;nI_)-RskodTIacwxKE;dsfC*kup*z*&Sn z%TKW$wnE(_;aP*D+`0>2SQ!asXPN?;x1yFdPq#yKr#me#J_u=aO90gm3H}`x#ktK6 z-XZyPxy3OS3z|JTkiTRS0w+|x{eK^c54WiD)w%II!?|4{90z`6FMe>R^abD!2%$e9 zLAX$9Ru%yqiATu1TrmJ|tl-!Kj?p#dzmAX1mKUMhpKs*MEgN z)`J>!Sty}KDsU1ej<=^)5=2JY$6!VO^@h5qc)moUN|YmHM(z2e%{e%}eSk7gaW7}jPgjTt02 zqTUZZ2*$Yb!f>kWD&7{oh{tEmn3~cuz7xGNkbY`UBwTU^mg^NSlxkd%9w6-cNWWq7 zt)4iNxEXoWxJHJ|&{c2Yn<~wKW=>P#Tc)HqWD9mv+y4EP-acweGo@1kw0_?FWd_EhDOq5>h%jt6GmFQWk;ldNKK$XQ zkteHV{U*wCfa6j8eR(#%KiVx{})asu|$9LFMA?xG%&m%s=V0->x36uoe)~5 z%WEv|T$oCE1R>QqxV}8YfnM7FdWKa3js*7^l6ozabtTCS^G!ux;8M%XKDG>l9mh9m zDj!@R1h)5fGo7s=HXiRY)72VDZw}NjS*!}6u88`o6$^Nc)Ot6PV4e7~7!luzYWjBd zTd28!hxUjv?64#=`F%BAgKP{LPpYSOzFN`JHwNe>z7+?4G*vK^JSj4M)3HFNb=+SN zE^#`htj9B9SE0e_l$UzpTd(GY>xzF<8pQY4ww@#}QHxkiUim6{;{!~NG5#C&FeaqVlJ1yKn!1iV=4vs;X z|EKVU%(1A=nenG~==+)KQruv2rEehyc`yvTJzIv-X!tV9vgAi?i+mqXl*82f6Y@d0j|(N@UIU&^z%0@ z-Zt$QPgqsP@X4(cKQq%+)wlufHnvM9$1Mr42C@}Np{C$^i)c(pTR0u=&7U~SvETDP z`wMW+QP_;~mE@tB#kQE7=fpKsb-yw|mR6+&2E#o4@Ei?AjUPP=wzTxHFbn!eYv+i@ zh<90$tp}~vzD=t!k*Qt@?6WOi>hr|bx79V0>cUF#+R^>X|Gh$H z0M}s{i{2o!Z)h<0VvCu^dW-}9wun7C`mEJ{#QsjLiA)PB5xcc4Wu5Jf9C?3l=`vUz zA5y(!VlGv;6WSoV6TeP7C#VlOx1Klbrk(CL^O=OT8`ms+jJ}O5{N@pSm*(*N8(@F6 zis-$vOR!Jb;70q@BR6nGPd) zHg88A^(5w{x}p*XC(Cc*NZW%A2u=X;2#Wxm7ZnmB;xc8&D(yH;@Z{0s8FLh& zvIPHgDPBcTLO(;2c5`lh0w>12z9bRKKU7K&y@)ptapXFFKL#yHO+Mbv=_8Zu1xq*1 zXw?z3mTvi=7N(-e$CrMMz(r`y@tS?WQ&pO(@?fpkUrJZkG+jqwD>O`S*drJqt3Te%oTERD>Vg(%i*_)BHpzo%%!D%5F4Gk`BlDwGs zCt1|te+Mq8e2pH~lR%MRX5Fq@bs-!_JuDP)pfz;n`Uvg%*?me#$VQrovZ_oTLhAMM z8I{^!_;N>U-lTE(n^(poUbkW2%vgI-K{fs|+_55DDMD^%=NpRrg;<-Fx}~8cW|Bl| zK}rjU8yDy1TJ_-wGBN~;50_vac!#7HWXhX+W`G6k;)x7+Lm+@aKT_*hsI0&BYzY^` z;5;S1Mo#_1@bv_syPrF7dCo*OLz$wSgt%`vrtv%xac}!X69LDv$&%O|Wm;nHu6ZR1 zs)C9uT$U}sRePA;P5gq(8cv7ECk#318G9N<>Wcc@Le^E)Q$pY4C_t@)0DUby`3CTZnFS%!5lzp8cNFBJ!?Cnjs`9Y12f= zAwk1>T&rf}^WdZ&a~ZwL8^5ZCs6E#8reLb7FgXW!uK7MGRfU)8>h|@wB%76lA|{&^ z__`^SP?RDjYDi{XrmzsBU$)#8G}kdZ+^p;*%R&()T5BhI!=N4NRn>~=(w7&TfL0C^~VFBkiT z{~+|n7X2*0NN%ae7m0qTm+|23c^&295qBs)JF`#S9Ffy%6kIBaG zD$P4Ztng&+Lko)esO-#>Eo<3n7jkk*qA$nS1XrMO;A-8x*##fb;eP-5CH?Y)0IUgW z6AH&;@1Xmv6uQo%-dR_i7OaVnM>^JeXPRNJF+?KEYTF57032*>J22{jSQD1vM#LMZ z1>-MbU%?1!Vu|GdYMhp?{2q1QgT}v_mL5_UF1M4Z#KCzCy+Lu&A5$*6jvhT!-(aO7 zpp8eC1LFZ*7M|dqFQ1POM*Yt6mF%E?tl%IPwHQnG5yUb7gWIlLXSx}R;6KrXWK?_$ zAdejcF32Brdbv(7^HX+>z1G$Zul(E{?-Hc%)+bLKPyMem?tegYom*YlEnRbR-1j_N zsHWx_KSZOI0QNJF`++W)3)K22wSTuZIU*y`G)76h&LJHs^+*|st?`Y1njqvKk^KB2 zJCBLtSI%-;!Y~vAnEMExAdBY<1SWjf2@yVg2Z%1Rzr=fgBn1As`hC9)kNRUSt*(Uq z?1$6gds6hgwPo)t;P3T;_cjB6Sr(mf6*bv@gZJxie{Rr2cKaH? zicf;}a;Xvn)xOBdq;op{cM_p&-QLq97cG+2OYv)ls-th|8 z4||N?eaYYZ(v!3up8k?)?Dv$6Yf2*ff=>!PA%15c{~K5%P~hM4#Ks`JzbJL@%YAR-C&9+68*27HBboAdrl`0ox0**~N|UQFOm{1nn6V=V}cVGPV-g;3YKt#Hxf}aq&rmRJF2joV2`e%y&29ABdK@|N{?XBAx2_nGmD{y=ok`yVcn3y zA^am0bb7IUz_Sse{ooKCHnAs&7m(JevpvWaWndmP%4s^5)I$RbYKLrG680@E>J|!1 z`S2#GE1e0_HiW^>lXUeV=bFSw!RDy+ST<83&mjmGn98Z^a8H$W9$j*eqA?Kng0#z_ z%wh7OXZgx$8r0Xo)D}uZACq~TD2aMunWl!c2JSb!QE;jxmtfqp0CJCzG?V80CGO#o z-TGN+1cBEVeB-*@&Uq=Ilw+Hytjn@l`v)l|>WtN~!KEd;wbK$!WqEsn{>5d(Q{#=% zeLr7_raoX-(pp&}F9dva5Z+t^a z!Vj#;fy2yyf%aMc1GN8t$OXW<1pwu&n!ebs@#h@Y)IXZNATTlp4GCA>h5D6MrC~8(tGFiX&F8(*{k>svECzEIW1OILX zz7#(to0OyqC%vOGCb(420uoJT>Km_A4c&M^NkcujOu2Fr+T<@78768G=^?XvnqqQ3 z|2+L|I_rtqO3j|q&o;BpQsup%lXiUncxr*`+KoK29*?_({Cke4=8Cw^Syc>8p-<)k zlfT$iW7dhDguF7GRcfwi11Jvcyl>&>cgH+<><&h6Oy=!+NM%|5&JzO@u7g%UcO zyucC3W%nUJ}eTd^=aW~Iq_a7a0w-l9)>s4Xk4x?Sk~zPo{mUkRBl z44W6re@zE1+NyXq&(i+9%+&-cQ4KHmw7_RF{$8D@|I=gl=DPI*o&{y&r&@E-jDrx) z=}Ov^H;vpa$$ywP!5@2&YvYfit@=zxox5HN)x9@ zbA2PE^Rjjw!rUt99ErBJR@_|;&-LM~EqnJlqX3b4uP!>>og(JlYFoB<3#xAvswtZ) zx%W)VqVV(FC#5%!uF`DVeU=~iqH}4t8Q^i z?tbUkZE?m77c)KpSt5qmMrC)fsxLvAzBM^No^2KB^%H8tOUC4OF+5bR=;W_j{-uPh z3ls08?aWsVB<(v>i1H6 z@VD>-cUV?%jyo8OIRbr}0=WDygeXXPTCr$7fen&HJ1l4mG&m@Q-~ehobO3@ugNJc4 zRS6dGXpZ7=7m+KRA_5ey+`XU-DEjmsG&Y9rXnDVFq=?|Y&0@GCd`wunje6vWFJvqI zGtgH_qc_ytN97%9`Ltj8)gE|2@y6&d!)ua5)FJIqIF$ZjgVEw@prjTVKNT-;1kx;R zJDn-5(Wt}o?dxQOcr|C7k!OE3%+IQJKT+s|s&lPj%>Y$k^D_{la)~o;e>0}zNungg zTt*PrAp}z>V{C(D19*WIS)tf<6R+)*?FfY$nNlGABy@_q)cI>^@&WzA|@HYO8U7-MR zW34;xz|Mp#3iVcy3wA=#C}pq?vJhS%O4w8^r=T78<+FwD8iZe5S4|66dT3r<99(QADQIp2yU*a>Z!4{#*mY1ejq<($p4Y0LjE1B1IoapmrU zJNp70N@e3MkBP`z_9y;+vzH{vCtUSYdI~#npY1>LKY$&EQQ6+!h3J3r&y-;pr9_Fec{xRxn1#idI9XVPn7KGv z09?YHTudBn%p4-@9AfOE!a}TKLPBh;q8v=j9O9fTLLw|2%sAB15O2qnauu^s=rXEDvOhl|~|GKCXX)_Z6h?xI1|7*eeAMQx# zQ&RAQKxiR*nT_`J&2!*%L_nZAQtb}HV9*pufdSGMK_DpwLH$1n`p46FdB5{hspt8z zpuLu`ynoC1i&v5bSL%`%Jw(Xi7rh~51XqT9MVM&m)OZ4`@~-eP;i56)3vFnCrN xJ37YGS+w39hgGgmb*luxLr|Un<99f_7&^IlIQ^R(D<>xtCk#2cn1VRW{{yV-K9&Fg literal 29340 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