From 1b1ae0e9678b3b6ab4be12bc06feaf90ed3ef4cd Mon Sep 17 00:00:00 2001 From: Mitch Spano Date: Wed, 20 Aug 2025 20:52:24 -0500 Subject: [PATCH 1/3] Add Markdown Mode Support - Introduce MARKDOWN mode in ArgumentProcessor, including validation for output directory and diagram tool requirements. - Implement UML diagram writing functionality for MARKDOWN mode in UmlWriter, generating markdown files with appropriate content. - Enhance tests in argument_processor_test and uml_writer_test to cover new MARKDOWN mode scenarios, ensuring correct validation and output generation. --- src/main/argument_processor.ts | 21 +++++++++ src/main/flow_parser.ts | 2 + src/main/uml_writer.ts | 42 ++++++++++++++++++ src/test/argument_processor_test.ts | 68 +++++++++++++++++++++++++++++ src/test/uml_writer_test.ts | 45 +++++++++++++++++++ 5 files changed, 178 insertions(+) diff --git a/src/main/argument_processor.ts b/src/main/argument_processor.ts index bf7f719..28410ac 100644 --- a/src/main/argument_processor.ts +++ b/src/main/argument_processor.ts @@ -67,6 +67,7 @@ export enum DiagramTool { export enum Mode { JSON = "json", GITHUB_ACTION = "github_action", + MARKDOWN = "markdown", } /** @@ -93,6 +94,7 @@ export const ERROR_MESSAGES = { "gitDiffFromHash and gitDiffToHash must be specified together", outputFileNameRequired: "outputFileName is required for JSON mode", outputDirectoryRequired: "outputDirectory is required for JSON mode", + unsupportedMode: (mode: string) => `Unsupported mode: ${mode}. Valid options are: ${ Object.values(Mode).join( @@ -106,6 +108,8 @@ export const ERROR_MESSAGES = { "GitHub Action mode requires gitDiffToHash to be 'HEAD'", githubActionRequiresHeadMinusOne: "GitHub Action mode requires gitDiffFromHash to be 'HEAD^1'", + markdownRequiresMermaid: + "Markdown mode requires diagramTool to be 'mermaid'", }; /** @@ -168,11 +172,21 @@ export class ArgumentProcessor { this.validateOutputFileName(); } + // Validate output directory for markdown mode + if (this.config.mode?.toLowerCase() === Mode.MARKDOWN) { + this.validateOutputDirectory(); + } + // Validate GitHub Action specific requirements if (this.config.mode?.toLowerCase() === Mode.GITHUB_ACTION) { this.validateGitHubActionMode(); } + // Validate Markdown specific requirements + if (this.config.mode?.toLowerCase() === Mode.MARKDOWN) { + this.validateMarkdownMode(); + } + this.validateRequiredArguments(); this.validateMutuallyExclusiveArguments(); this.validateConditionalArguments(); @@ -240,6 +254,7 @@ export class ArgumentProcessor { } } + private validateGitHubActionMode() { if (this.config.diagramTool?.toLowerCase() !== DiagramTool.MERMAID) { this.errorsEncountered.push(ERROR_MESSAGES.githubActionRequiresMermaid); @@ -254,6 +269,12 @@ export class ArgumentProcessor { } } + private validateMarkdownMode() { + if (this.config.diagramTool?.toLowerCase() !== DiagramTool.MERMAID) { + this.errorsEncountered.push(ERROR_MESSAGES.markdownRequiresMermaid); + } + } + private validateRequiredArguments() { if ( (!this.config.filePath || this.config?.filePath?.length === 0) && diff --git a/src/main/flow_parser.ts b/src/main/flow_parser.ts index fdbd4cf..5f05684 100644 --- a/src/main/flow_parser.ts +++ b/src/main/flow_parser.ts @@ -67,6 +67,7 @@ export interface Transition { */ export interface ParsedFlow { label?: string; + fullName?: string; processType?: flowTypes.FlowProcessType; start?: flowTypes.FlowStart; apexPluginCalls?: flowTypes.FlowApexPluginCall[]; @@ -132,6 +133,7 @@ export class FlowParser { private populateFlowNodes(flow: flowTypes.Flow) { this.beingParsed.label = flow.label; + this.beingParsed.fullName = flow.fullName; this.beingParsed.processType = flow.processType; this.beingParsed.start = flow.start; this.validateFlowStart(); diff --git a/src/main/uml_writer.ts b/src/main/uml_writer.ts index 5f1c65f..8d8c1c3 100644 --- a/src/main/uml_writer.ts +++ b/src/main/uml_writer.ts @@ -23,6 +23,8 @@ import { Configuration, Mode, RuntimeConfig } from "./argument_processor.ts"; import { FlowDifference } from "./flow_to_uml_transformer.ts"; import { GithubClient } from "./github_client.ts"; +const EOL = Deno.build.os === "windows" ? "\r\n" : "\n"; + const FILE_EXTENSION = ".json"; const HIDDEN_COMMENT_PREFIX = ""; const MERMAID_OPEN_TAG = "```mermaid"; @@ -48,10 +50,13 @@ export class UmlWriter { */ async writeUmlDiagrams() { const config = Configuration.getInstance(); + if (config.mode === Mode.JSON) { this.writeJsonFile(config); } else if (config.mode === Mode.GITHUB_ACTION) { await this.writeGithubComment(config); + } else if (config.mode === Mode.MARKDOWN) { + this.writeMarkdownFiles(config); } } @@ -94,6 +99,43 @@ export class UmlWriter { throw error; } } + + private writeMarkdownFiles(config: RuntimeConfig) { + + for (const [filePath, flowDifference] of this.filePathToFlowDifference) { + + const flowApiName = this.extractFlowApiName(filePath); + + const outputPath = join( + config.outputDirectory!, + `${flowApiName}.md`, + ); + + let markdownContent = ""; + const tripleBackticks = "```"; + + if (flowDifference.old) { + markdownContent += `## Old Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.old}${EOL}${tripleBackticks}${EOL}${EOL}`; + markdownContent += `## New Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; + } else { + markdownContent += `${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; + } + + Deno.writeTextFileSync(outputPath, markdownContent); + } + } + + private extractFlowApiName(filePath: string): string { + // Extract the flow API name from the file path + // The file path should contain the flow API name + const fileName = filePath.split('/').pop() || ''; + // Remove common flow file extensions + const flowApiName = fileName + .replace(/\.flow-meta\.xml$/, '') + .replace(/\.flow$/, '') + .replace(/\.xml$/, ''); + return flowApiName || 'flow'; + } } interface DefaultFormat { diff --git a/src/test/argument_processor_test.ts b/src/test/argument_processor_test.ts index 456ed29..2cf5db0 100644 --- a/src/test/argument_processor_test.ts +++ b/src/test/argument_processor_test.ts @@ -98,6 +98,74 @@ Deno.test("ArgumentProcessor", async (t) => { }, ); + await t.step( + "should validate when mode is MARKDOWN and outputDirectory is provided", + () => { + const { argumentProcessor, config } = setupTest((config) => { + config.mode = Mode.MARKDOWN; + config.diagramTool = DiagramTool.MERMAID; + config.outputDirectory = "."; + config.outputFileName = undefined; + }); + const result = argumentProcessor.getConfig(); + assertEquals(result, config); + }, + ); + + await t.step( + "should reject markdown mode with non-mermaid diagram tool", + () => { + assertThrows( + () => { + const { argumentProcessor } = setupTest((config) => { + config.mode = Mode.MARKDOWN; + config.diagramTool = DiagramTool.GRAPH_VIZ; + config.outputDirectory = "test/output"; + }); + argumentProcessor.getConfig(); + }, + Error, + ERROR_MESSAGES.markdownRequiresMermaid, + ); + }, + ); + + await t.step( + "should reject markdown mode without outputDirectory", + () => { + assertThrows( + () => { + const { argumentProcessor } = setupTest((config) => { + config.mode = Mode.MARKDOWN; + config.diagramTool = DiagramTool.MERMAID; + config.outputDirectory = undefined; + }); + argumentProcessor.getConfig(); + }, + Error, + ERROR_MESSAGES.outputDirectoryRequired, + ); + }, + ); + + await t.step( + "should reject markdown mode with non-existent outputDirectory", + () => { + assertThrows( + () => { + const { argumentProcessor } = setupTest((config) => { + config.mode = Mode.MARKDOWN; + config.diagramTool = DiagramTool.MERMAID; + config.outputDirectory = "non/existent/directory"; + }); + argumentProcessor.getConfig(); + }, + Error, + ERROR_MESSAGES.invalidOutputDirectory("non/existent/directory"), + ); + }, + ); + await t.step( "should throw an exception when outputDirectory is not provided in JSON mode", () => { diff --git a/src/test/uml_writer_test.ts b/src/test/uml_writer_test.ts index 963d22b..048f2a2 100644 --- a/src/test/uml_writer_test.ts +++ b/src/test/uml_writer_test.ts @@ -175,4 +175,49 @@ Deno.test("UmlWriter", async (t) => { Deno.env.get = originalEnvGet; } }); + + await t.step("should write UML diagrams as markdown files", async () => { + // Mock the Configuration.getInstance to return our test config + const originalGetInstance = Configuration.getInstance; + const testConfig = getRuntimeConfig(DiagramTool.MERMAID, Mode.MARKDOWN); + + Configuration.getInstance = () => testConfig; + + try { + writer = new UmlWriter(FILE_PATH_TO_FLOW_DIFFERENCE); + + writer.writeUmlDiagrams(); + + // Check that markdown files were created + const expectedFile1Path = join(TEST_UNDECLARED_OUTPUTS_DIR, "file1.md"); + const expectedFile2Path = join(TEST_UNDECLARED_OUTPUTS_DIR, "file2.md"); + + assertExists(existsSync(expectedFile1Path)); + assertExists(existsSync(expectedFile2Path)); + + // Use OS-appropriate newlines for test expectations + const eol = Deno.build.os === "windows" ? "\r\n" : "\n"; + + // Check the content of the first file (no old version) + fileContent = Deno.readTextFileSync(expectedFile1Path); + assertEquals( + fileContent, + `\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}` + ); + + // Check the content of the second file (with old version) + fileContent = Deno.readTextFileSync(expectedFile2Path); + assertEquals( + fileContent, + `## Old Version${eol}${eol}\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}${eol}## New Version${eol}${eol}\`\`\`mermaid${eol}uml2${eol}\`\`\`${eol}` + ); + + // Clean up + await Deno.remove(expectedFile1Path); + await Deno.remove(expectedFile2Path); + } finally { + // Restore original Configuration.getInstance + Configuration.getInstance = originalGetInstance; + } + }); }); From 093c1219742d9644a1af6439cefbc8c664ce2440 Mon Sep 17 00:00:00 2001 From: Mitch Spano Date: Thu, 21 Aug 2025 09:32:10 -0500 Subject: [PATCH 2/3] Bump package version --- deno.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deno.json b/deno.json index 5ec8342..ee9aab8 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@goog/flow-lens", - "version": "0.1.12", + "version": "0.1.13", "license": "Apache", "exports": "./src/main/main.ts", "imports": { From eb9785d78c5235527ad40e5917a8024d6529214e Mon Sep 17 00:00:00 2001 From: Mitch Spano Date: Thu, 21 Aug 2025 10:32:08 -0500 Subject: [PATCH 3/3] Bump version to 0.1.14 and update README for Markdown mode support - Increment package version in deno.json. - Update README.md to reflect the addition of 'markdown' as an output mode alongside 'json' and 'github_action', including detailed descriptions and examples for each mode. - Remove outdated images related to UML diagram differences from the docs/img directory. --- README.md | 236 ++++++++++++++++---------- deno.json | 2 +- docs/img/Diff_New.png | Bin 73755 -> 0 bytes docs/img/Diff_Old.png | Bin 55091 -> 0 bytes docs/img/Initial_Diagram.png | Bin 47277 -> 0 bytes src/main/argument_processor.ts | 4 +- src/main/flow_file_change_detector.ts | 3 +- src/main/flow_parser.ts | 11 +- src/main/uml_writer.ts | 31 ++-- src/test/uml_writer_test.ts | 8 +- 10 files changed, 183 insertions(+), 112 deletions(-) delete mode 100644 docs/img/Diff_New.png delete mode 100644 docs/img/Diff_Old.png delete mode 100644 docs/img/Initial_Diagram.png diff --git a/README.md b/README.md index da3383e..0b8407e 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ available: | Option | Description | Type | Default | Required | | ------------------- | ------------------------------------------------------------------------------------------------------ | -------- | ---------- | ----------------------------------- | -| `--mode` | The output mode ('json' or 'github_action'). | string | `json` | No | +| `--mode` | The output mode ('json', 'markdown', or 'github_action'). | string | `json` | No | | `--diagramTool` | The diagram tool to use ('plantuml', 'graphviz', or 'mermaid'). | string | `graphviz` | No | | `--filePath` | Path(s) to the Salesforce Flow XML file(s). Specify multiple files using space separated values. | string[] | | No (Git diff or file path required) | | `--gitDiffFromHash` | The starting commit hash for the Git diff. | string | | No (Only with Git diff) | @@ -41,16 +41,6 @@ available: | `--outputDirectory` | The directory to save the output file. | string | | Yes (Only in json mode) | | `--outputFileName` | The name of the output file (without extension). | string | | Yes (Only in json mode) | -### Output Modes - -Flow Lens supports two output modes: - -1. **json mode (default):** Generates a JSON file containing the UML diagram(s) - that can be used for further processing. -2. **github_action mode:** Automatically posts comments with flow diagrams on - pull requests when used in a GitHub Actions workflow. When using this mode, - you must specify `mermaid` as the diagram tool. - **Example using file path (json mode):** ```shell @@ -83,10 +73,86 @@ deno run \ --outputFileName="test" ``` -### Setting up a GitHub Action +## Output + +Flow Lens supports three output modes: + +1. **json mode (default):** Generates a JSON file containing the UML diagram(s) + that can be used for further processing. +2. **markdown mode:** Generates individual `.md` files for each flow in the + specified output directory. Each markdown file contains Mermaid diagrams + wrapped in code blocks. +3. **github_action mode:** Automatically posts comments with flow diagrams on + pull requests when used in a GitHub Actions workflow. When using this mode, + you must specify `mermaid` as the diagram tool. + +### JSON Mode (default) + +When using the `json` mode, the output is a JSON file containing the generated +UML diagram(s). The structure will contain the file paths and their associated +old (if applicable) and new UML strings. + +```json +[ + { + "path": "force-app/main/default/flows/ArticleSubmissionStatus.flow-meta.xml", + "difference": { + "old": "UML_STRING_HERE", + "new": "UML_STRING_HERE" + } + }, + { + "path": "force-app/main/default/flows/LeadConversionScreen.flow-meta.xml", + "difference": { + "old": "UML_STRING_HERE", + "new": "UML_STRING_HERE" + } + } +] +``` + +### Markdown Mode + +When using the `markdown` mode, Flow Lens generates individual `.md` files for +each flow in the specified output directory. Each markdown file is named after +the flow's API name and contains the UML diagram wrapped in Mermaid code blocks. + +**File Structure:** + +``` +outputDirectory/ +├── FlowName1.md +├── FlowName2.md +└── FlowName3.md +``` + +**Markdown Content Format:** + +- If there's only a new version (no diff), the file contains a single Mermaid + diagram +- If there are both old and new versions (diff mode), the file contains: + - `## Old Version` section with the previous diagram + - `## New Version` section with the current diagram +- Each diagram is wrapped in triple backticks with the `mermaid` language + identifier + +**Note:** Markdown mode only works with the `mermaid` diagram tool and requires +an `outputDirectory` to be specified. + +### GitHub Action Mode + +When using the `github_action` mode, Flow Lens automatically posts flow diagrams +as comments on pull requests. This mode is designed for use in GitHub Actions +workflows and requires the `mermaid` diagram tool. + +**Requirements:** -You can set up a GitHub Action to automatically generate and post flow diagrams -as comments on pull requests. Here's an example workflow configuration: +- Must be run in a GitHub Actions workflow +- Requires `mermaid` as the diagram tool +- Needs appropriate GitHub permissions to post comments +- Requires `GITHUB_TOKEN` environment variable + +**Example GitHub Actions Workflow:** ```yaml name: Generate Flow Preview @@ -128,54 +194,13 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ``` -When using the GitHub Action mode, Flow Lens will automatically post a comment -on the pull request with the old (if applicable) and new versions of the flow -whenever a pull request is created or updated. This makes it easy to visualize -flow changes directly in the pull request review process. - -## Output - -When using the json mode, the output is a JSON file containing the generated UML -diagram(s). The structure will contain the file paths and their associated old -(if applicable) and new UML strings. - -```json -[ - { - "path": "force-app/main/default/flows/ArticleSubmissionStatus.flow-meta.xml", - "difference": { - "old": "UML_STRING_HERE", - "new": "UML_STRING_HERE" - } - }, - { - "path": "force-app/main/default/flows/LeadConversionScreen.flow-meta.xml", - "difference": { - "old": "UML_STRING_HERE", - "new": "UML_STRING_HERE" - } - } -] -``` - -## Frequently Asked Questions +**What Happens:** -### Why is this built using Deno? - -Porting the project from Google's internal Blaze build system to Deno was easier -than setting it up in Node.js, as there is no transpilation step from TypeScript -to JavaScript. Deno's built-in TypeScript support made the migration process -much smoother. - -### How is this different than Todd Halfpenny's flow visualizer? - -While -[Todd's project](https://github.com/toddhalfpenny/salesforce-flow-visualiser) is -excellent, Flow Lens was built and used internally at Google before Todd's -project was available for commercial use. The key differentiator is that Flow -Lens represents flow differences structurally, making it ideal for assistance -with code reviews. This structural diff visualization is not available in other -flow visualization tools. +- Flow Lens detects the pull request context automatically +- Generates Mermaid diagrams for changed flows +- Posts a comment with both old and new versions (if applicable) +- Updates existing comments when the PR is modified +- Requires no manual file management or output directory setup ## Example @@ -320,7 +345,10 @@ flow visualization tools. deno run \ --allow-read \ --allow-write \ + --allow-run \ + --allow-env \ jsr:@goog/flow-lens \ + --mode="markdown" \ --diagramTool="mermaid" \ --gitRepo="/path/to/salesforce_project/" \ --gitDiffFromHash="HEAD~1" \ @@ -329,30 +357,66 @@ deno run \ --outputFileName="test" ``` -`test.json` - -```json -[ - { - "path": "force-app/main/default/flows/Demo.flow-meta.xml", - "difference": { - "old": "---\ntitle: \"Demo\"\n---\nstateDiagram-v2\n\n classDef pink fill:#F9548A, color:white\n classDef orange fill:#DD7A00, color:white\n classDef navy fill:#344568, color:white\n classDef blue fill:#1B96FF, color:white\n classDef modified stroke-width: 5px, stroke: orange\n classDef added stroke-width: 5px, stroke: green\n classDef deleted stroke-width: 5px, stroke: red\n\n state \"-Assignment 📝
Set the Description
Get_the_Acme_Account.Description = This is a Demonstration!\" as Set_the_Description\n class Set_the_Description orange deleted\n state \"ΔRecord Lookup 🔍
Get the 'Acme' Account
sObject: Account
Fields Queried: all
Filter Logic: and
1. Name EqualTo Acme
Limit: First Record Only\" as Get_the_Acme_Account\n class Get_the_Acme_Account pink modified\n state \"ΔRecord Update ✏️
Update the 'Acme' Account
Reference Update
Get_the_Acme_Account
\" as Update_the_Acme_Account\n class Update_the_Acme_Account pink modified\n FLOW_START --> Get_the_Acme_Account\n Get_the_Acme_Account --> Set_the_Description\n Set_the_Description --> Update_the_Acme_Account", - "new": "---\ntitle: \"Demo\"\n---\nstateDiagram-v2\n\n classDef pink fill:#F9548A, color:white\n classDef orange fill:#DD7A00, color:white\n classDef navy fill:#344568, color:white\n classDef blue fill:#1B96FF, color:white\n classDef modified stroke-width: 5px, stroke: orange\n classDef added stroke-width: 5px, stroke: green\n classDef deleted stroke-width: 5px, stroke: red\n\n state \"+Assignment 📝
Set the Type
Get_the_Acme_Account.Type = Other\" as Set_the_Type\n class Set_the_Type orange added\n state \"ΔRecord Lookup 🔍
Get the 'Acme' Account
sObject: Account
Fields Queried: all
Filter Logic: and
1. Name EqualTo Acme
Limit: First Record Only\" as Get_the_Acme_Account\n class Get_the_Acme_Account pink modified\n state \"ΔRecord Update ✏️
Update the 'Acme' Account
Reference Update
Get_the_Acme_Account
\" as Update_the_Acme_Account\n class Update_the_Acme_Account pink modified\n state \"+Action Call
Log Error\" as Log_Error\n class Log_Error navy added\n state \"+Action Call
Log Error\" as Log_Error2\n class Log_Error2 navy added\n FLOW_START --> Get_the_Acme_Account\n Get_the_Acme_Account --> Set_the_Type\n Get_the_Acme_Account --> Log_Error : ❌ Fault ❌\n Set_the_Type --> Update_the_Acme_Account\n Update_the_Acme_Account --> Log_Error2 : ❌ Fault ❌" - } - } -] +# `./Demo.md` + +## Old Version + +```mermaid +--- +title: "Demo" +--- +stateDiagram-v2 + + classDef pink fill:#F9548A, color:white + classDef orange fill:#DD7A00, color:white + classDef navy fill:#344568, color:white + classDef blue fill:#1B96FF, color:white + classDef modified stroke-width: 5px, stroke: orange + classDef added stroke-width: 5px, stroke: green + classDef deleted stroke-width: 5px, stroke: red + + state "Flow Start
Flow Start
Flow Details
Process Type: AutoLaunchedFlow" as FLOW_START + state "-Assignment 📝
Set the Description
Get_the_Acme_Account.Description = This is a Demonstration!" as Set_the_Description + class Set_the_Description orange deleted + state "ΔRecord Lookup 🔍
Get the 'Acme' Account
sObject: Account
Fields Queried: all
Filter Logic: and
1. Name EqualTo Acme
Limit: First Record Only" as Get_the_Acme_Account + class Get_the_Acme_Account pink modified + state "ΔRecord Update ✏️
Update the 'Acme' Account
Reference Update
Get_the_Acme_Account
" as Update_the_Acme_Account + class Update_the_Acme_Account pink modified + FLOW_START --> Get_the_Acme_Account + Get_the_Acme_Account --> Set_the_Description + Set_the_Description --> Update_the_Acme_Account ``` - - - - - - - - -
Old New
- - - -
+## New Version + +```mermaid +--- +title: "Demo" +--- +stateDiagram-v2 + + classDef pink fill:#F9548A, color:white + classDef orange fill:#DD7A00, color:white + classDef navy fill:#344568, color:white + classDef blue fill:#1B96FF, color:white + classDef modified stroke-width: 5px, stroke: orange + classDef added stroke-width: 5px, stroke: green + classDef deleted stroke-width: 5px, stroke: red + + state "Flow Start
Flow Start
Flow Details
Process Type: AutoLaunchedFlow" as FLOW_START + state "+Assignment 📝
Set the Type
Get_the_Acme_Account.Type = Other" as Set_the_Type + class Set_the_Type orange added + state "ΔRecord Lookup 🔍
Get the 'Acme' Account
sObject: Account
Fields Queried: all
Filter Logic: and
1. Name EqualTo Acme
Limit: First Record Only" as Get_the_Acme_Account + class Get_the_Acme_Account pink modified + state "ΔRecord Update ✏️
Update the 'Acme' Account
Reference Update
Get_the_Acme_Account
" as Update_the_Acme_Account + class Update_the_Acme_Account pink modified + state "+Action Call
Log Error" as Log_Error + class Log_Error navy added + state "+Action Call
Log Error" as Log_Error2 + class Log_Error2 navy added + FLOW_START --> Get_the_Acme_Account + Get_the_Acme_Account --> Set_the_Type + Get_the_Acme_Account --> Log_Error : ❌ Fault ❌ + Set_the_Type --> Update_the_Acme_Account + Update_the_Acme_Account --> Log_Error2 : ❌ Fault ❌ +``` diff --git a/deno.json b/deno.json index ee9aab8..54feb3b 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@goog/flow-lens", - "version": "0.1.13", + "version": "0.1.14", "license": "Apache", "exports": "./src/main/main.ts", "imports": { diff --git a/docs/img/Diff_New.png b/docs/img/Diff_New.png deleted file mode 100644 index f3155d3de916d92bb79756438caf207bb34961c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73755 zcmeFZWmFv9^Dc@839bq5E(scZ2oAyB-7UCV2n2TtPH=bE1PSi$I=E$Uzs;MU{O`G+ z?z-pGU5C}Prl-4W@9x^QYu8gxHK7V}5~#=o$WTyFs8W)mN>EVHV^C1AL5Qz_BPdjs zh`<3=OA!$TDG?De1xI@`OB+)ts5gl&G3_$l3OK#;b<_&*#77ipZ;2RGV&`2yTk{oV zzbV;7_>gD$DTqTb4o49~M-<`Lh!h4~Myrd1TOA%Vf}`nd(F-qAz14yzu? zL+~xxY-YcqrkUngWO4HnXE>$2h0`;!Fk+QCzkzX0lPGRxN4Eq(>z>?$UPyf-VV-!&Fo-Uho|cs1{oSwr>{ud%%?i=m0VktvJ2?dKN}D1LWdVAs~v*^tcL z*2d0>*Ij_(pDTEQ{g=b66lDKg;%qHIp&_e4CSvbsO2)N;U@UXsPV`XDw2CiUs^00F@bZ546qWs&) zzuOTtbuxCe{OoLLZ%6jhuAz~=i?aX)#Y;#3`TKjHrtX&i?a9vRUylVmAnVH+*7q#$ zSpU;DAj2g|A(Z;eG|2Xr% zN~$`UI*Qoa0$n-_{&!^lCHy~6{!5Ub_2tR`hbI22`JbbJo&}NlS^qO;g2;urZ&ab6 zKu}Vm!Yc02M;Qp|*fUpsW5ZOf7kYV82$*8RAO!^l92F1_E@P3#)76#D*wwW8Y0+3k z5h9)_{1Nh(FvNKUMFqvw3q2EMv!~tkfv+aqt!YQWD<;=&f?2XOZYRr-_Jwqw-Aul@ z&l-p@Fl12wY%v_r?EC5ci2web4VTUTM+^!Y<7ErLK>~RcAfhY?L&1Swwn6N*zh|H^ zBx9ix%)@@h5dS^%B1ZhbSL`PO9B`Ax*z?U!w6-fPi4X{+zrnUdy^>_6NRjgL%V&5* ze~=oMKV*2&P$YLK?dNOOHjq63A5k540&crcfv-?=fFm&_YUKoOXr#dXGvGlt*)q<$ z=Wv^T%2qCvb3Ur>Q;H@Lu(&*!x!4S6ojlv z@kY3D&6iK$dfAD?_&3VIT4yK2DBo#YZPz6(F$^@uycm?-k}lI{IGB72g+@EwmaQnh zy%5T%Y}SsOFFPY?5-Y84b8M!1&XDZ^4zDYl#U=;JdaIeRS150?@k-VADWmy6-k){~ zaaxS~>-jypXw_Tc*4wXT%6-^?%aHduuAj4bdbp*!L?Psg@Vq<#>z14{s+DDPuX)Gg zF==Gq^0}RSqRsMV)9H6eID>|p6oDFK7a&qZMx=vABH(?x+1dvu>lcWH;}t^^vMEv! zGWgu=5+>F4eZ;V7K4rgVX#zcO_h{RG5*-p;fWwg%2athQ3pNWTd-Ag*yUo4sf?`k zVjcZRI#2x0aEgd|xm2LcRq%k54Y=Nd2uA~_nJ4-gq%aDuYMKpgeOw6eUV zV4FV_VqP?0m3JCBR2T{{f?0>-?@})+q;W>&rls!Xz3cAoub^RNscLw{hV-?Nn?j= z-l#3yXg6SbaA5c^aiL-;!XfrxX*4_L`{KNIUZ^phQ2s{js&Vn*%3vgwvzl}(>e1J4 z+5C1qN9?uiQnm57j&K+HxK3}y4x{G5+snhbZkN)8GZ>hCawu>LNfaGCTn=1MJ;P*~ zCi`NYWjskZ1u>6f9?7m>EZL9A5dJFR9_5m1Q;%JfRa{^i#|XkGWbPY>#(_Y)RMZq| z+y1a#gU0<1$z1XnHYFpnvxNtEV0QsXi=fRU?=h95EPg zmewP-{LkP-^@BJpO|{7aSwdB#ng=S^6UBrKx|zu^CMnEVixu0Y2C?w?tB`(JqBf8D zJt-ofse~{nrZJ_B?%u?VpWojbOTsuNvFMgeRCI~Vno9de)7D%m3l7~kIc)9i#^dm4^CuIN=Zs%9jq9$K& z);B%QAEs@vTS+w;0mqPw6q%1@I^guM;pBTP**5Mk%Ack*t+cr0MiKM<1}9!-RBz5~ zwGTDV8?&C`s_XoiXs#(Z|Ajz0ZGwc?ayhGQx#n|yS+fE7E;3m-6jw^}U;){8iYSOU z5}@Uh8p7~l;X%hZ=kNzUnF~9>GK$PbQukR%zyVN*qKF`m&CnyR8QUMibWIL|{l|U6)kFg3*%0|=@%2CcR^jBu!}uVM zL;ZEPHk5z`*ir^xeF0kqZ8-BbeD zgtHZ3g1eRWG}EC1kUx@DO%>3~GgB_TFPaj*ELI${!p$>JY$R+r9uEszviOC6SY(-2 z;(Svq%fO0q(KZaMu1P$ODjFnktA4)lJT@iHLRQg`A`+JqGZ^;YtodpgCCbslsIE@3 zbR=*(FyGI6xPNqEYh1gLFhBbs;F!ac>}QIkPMX`7QT%xa0%bD+29gACI;~g%hc~wN zk@>1bv%(exZcPTwqzYP16u)|`H&{9;N6ZfdeT7P(?LfxO{COoyUZU5hzj3d*z^74O zkmYKFrs|5a=l2#9uw2UVqF4W{@7bFe{*bZ{#-W)nW(}AoCSaOuFp*Y&?V14%_!-8Y zw1@Q9?EgOs|Eypzg(H|T5ez^edEmBPYoIn1kx2Ize0-SV1{}rtUaIv;K7%T*4cTZ^PgVs^IP$WyN-K1JloZp z&^uyJXAb5!DC4?rx>B-f^?6R>`oyxVM`Sq2lZTZ;BJ4uX{#^E}lCr5Bg~rjuQeMaP zqym@Q89}-Q`$=OG+z?>ZUoX+>Q^0-Yq6Mc61oliQFeCMulrkc}rmNExR zZe+yMUQp$lt!(+8$T(4O82wm)d(dQ4u-G}FJv*?LpNKlv##VElHx#iLO&_xuoc`l{ z3vR?O;TO8SAZ|IT!LE;Ju;rWR5)+y%Oy}}_c;2g)Sj&67;)@ae)qZt1HC=xw%wf`B zJaMOIoZo0Q1Ni{HUAfk`T%C}jlcV3;FFgIx_v}WfTB;Y%Tix|=*3DgPHFGc>ftx<9 znb6Of33*t5$ZQm;)>GBqzRCEaE_4$-#yyeOATPm{7HAYr4jhIcyhkT%AseE0*`O+Divj*hbT?J*E#XaSHPMAOlNQ z8=<{g>1EoDT0?ujAbrR!u(Z#XDQX`wo-EFvZ>H+?;MMjMVrNkZL9 zlnTyGa;=V=#q*O$oK>LV8|VAuleV2br&km3_-Io+b9pRLCUKx2+^gl`I3Gbf zkf+m!!(4OgnG!+)xg8LUMUUr*J-ufZtnggi@whLk)p8S$Y?ff+E(l>ieJ|F=a7V4U zL|Ce}^C`k?*j>Jq|LmvlfJ(WCiJkMobk?456jA1Hry_Rq4vFg(?x-ligS@=K7!Wz; zz*^M?3Bfc~fXJNwHB@N$EcX6xhMVq&PhL1{OVDWa2A)6wEJjf_oPmehcz{@=w0O3| zmKgyjLu@VtpAc1BCv+sOah53@?@@*9u*Id6quk@1>yAY&r^(Up7R=`vMCl-gCU}E* zuyXjWUJp=2ir_Ao=J5`-;D87|Ev(LNCV+&PJ@$9|LrRMS5Q94}s`X=~KY*pPV?$kAX&zq7yYQ7KqlmbB}cAZyV|<=ms)J9Q9OVZ#=%Y zm~z`_$W%H(MGa%Fx^I1N@+U|^NR(WZvX7kckgseb5kOPSUkpxe<*=IWkzu)7aUde_ z{V0DhZb*92;%A>KSwjr9)c(Gg+gu4lkJivcs+bAftsdkm8yVSm4kT#aZ_(%I5>GdZlGbP1yJ2eHk< znw=hf#AA+R3hZ&sB1nsvvCZSHr``c*Lf#eukY3%^xGV;hLb=C19>tPAbV4yyWrcLd zKMlv)MKZ~mcU3{rLaxcJ7weqg81+vYnT{8$LQnl8e#;KIIlEL@lAXRMTQIb; z1ZfH$(wU06EQO7$zM+|3CxQfn+!&d!ml)T)lG`vaiV)#YI<#FFK1z%uV9-VUyiiw< ztJFes;jhv&)SS#@c~)b5()$Qt2x<=nVMB`OgLs2X4KTe2wQMFKWArRGfOw35*eQ?v zWM$TFnCg2q*fNAW^gOwHFo^BP5I*dCZ@*Y8qPp1Ww-D)MY8dW|M+G%hONO224=P3q z$)9P{EHxU6rG*Bor#mY8=5rhWzIR@^G{@6i{rX402yB_67O*>k=Rqz91jTuu08C(N z(gX!JnCUNCUr=LHaHJhVAe`-p397RN6WCwi{S&T`p#p*R6cnb|-)KdJ1z2_yt=lHF z|Hjz>Zi9S+6~%%68-+ImVUt?LA94G?X^u(2IkNwQ>RzNlU~1 zt;F>IM7dOe;#>n z?7vYUh)fL7Gd+yRztNCCq{r=FnIkwQDgfJ1yfZ=gR|1Jn-W%cni2eUiB@CDWKwd~S zXEmpktm+;xwiCeyy0>tHUw>lD^9v8qi4AZA$w)R!YzF9nuonoM6aDT^eFI77^DlU+ zFvTZi?9=q^pcjmh>0fyvmJJ6aS|BuJ(tnO>$7ap8)nhV^GKBnmJ-D$i13^JR&P3BN z7>l@g7_PeJVaY)N1EVPom1LfTMwE&Q6NGuDQ}3vU zLz`f3m=}WvLrn|x>*(54^8v;+#NwBXsGkq0?uj;Md~~zorw2yA9t=-?2!RWwl@p5M z{l>x)dL2JKFgK(OKNch)F=Yu~fKf%4p5$(obf91~^;TR~Oy?g?{tRUMle-BP512md)DH4MA*JUSg0%A2ZQFniR zL`^0XOmK}aBBL6@a7V^~%>vzV2J+ZLXnMZ&lpYH*95hBzI^gmdcbm*@D$7MQJVt##4teQjt}zQYch$*V?`LH0ld1X)-hQJ&#nDV|OV)Ti$(+R8Ou?ch`r zs~q&HLDVhyW1Z2V=bh^%g;t|FC2yUbUkPNeZkq8IZek`>jxFP(IusNG9Q4#S?UKsS z_X-Pb4b8;n8=s3?;S7sESJWIeOVHD`VtgeT%89tNjbE9E8Ir_~t+;an%3H>FI+G{O zBfD_~vqe(4v2o3WpfxfVgn|=m5Yo(}3vFKu=HE%^$*HEEYBRjzd2WplO?10(XA8PvP0JcNT7?oWFErMMop=pzi}_l9m%#s<81t(0|>m#RMYosvxtMD0f>=rKeGzbYpi+|fm?X#GOv2bIMZ+H-O zNJ?h1Qu}srKdabxCrgJhocmb=$6Ofc>zC;wPg^UcLK2_qD|D-+Cax65>L0?wN|N*u zP|FQLvBI9evF5M3y-Ggh2WWR@NuxbW7Kj|_Cn?@!EKr>?9JyZTyXf$SiN7@!H3-7Z z-tj(etjNVPXPmQ!BQo)?{%a1@D+E{@=2K5#Cu`-Tk} zpG_jJX-dSjg)`1;wuOC^Z<841yX1xOM#kEB2bSH`qOp2h1&CRA+~DeX3gEPJ!DNF453T@D!DUeCVK8kZGe2Yat6oq zNY|0eK3Wgo3&R!St{2a|Mn!2+dgEw06?|DYwH9L4gZI@KgDx1r4)6Ux^VTB5&9W3^ z$gJox9FVZ3a*cXNarwUIVjg5)ocg{_xO=K=4gKiWvrJX_}!0~N{Rt&wV4tG+>F3QNL*MY~WuHYLR z+0gHg*VNDTw4c8m7IIz{mG1Am(>K`aNU?bsEg7L66@=+c9;FDC)^MY*%pDuQ!%0gV zCONLxr&%NVs_Bt>-v}OC-bF+oC_8aB!@cS38_;ZEIq|$zSVNmC@pDzc9wj#{yrDm=VBref9HKN^EZj(NysVBA+ z&nhA)jF!$RoOm^g27c>`H?wS>omkE6il~u$w-b42z&~(G?^2 zv|W-zj?NO^Kw|ITXs#QFwU3>skWz8r9h$RFJwJ48jHs~fKT0`8NKcg6YmTOW_>GT4 z#2!@su0guegu8}LP7wcTj}N)MXNW1xQQm65x07nB!35GXYvO7r)xj8S8F#_%-p9ho z&ZY0rXVomkn|O4JC$k(K6}bwcYN|SRO;fA5OLKjLM)+uRNm~V?9xzX-i?@#}@DT{- z-9952=L}_DfKw#{c%YYLBci6rPb7GY^SQ11c9;2si<#BHlDfT|Eb6<4>8^<)Ag$uK zNjks2Vqa8G1=i}jbPY%UIv?5OkJ2f2RVXC761Zb{-|RtwXSkk2OLwtZh(mBs4?pT1 zlCDZPK(Nfd*z*%Ux)kzS=ZZs-sz|J?P6Mg)5;sWyIsN09Z_nTjY0XV@XAVg0%eAZ$ zn9vu@?n>HvvOaIEEFf243mAU+oZDM_C}uit+rpo?C$jQKwQfZYs8j0yUj}-vkS#dnhW$oSD?@Uaf-WHfj zcy&6y^(ij&-wdR_2@6kOP{G^*2I=EBdJCG$AhG9 zp}SYwG?{Nut((7vIt zZKvs@hC4=K<{GnKV>3cK1QaO8S!%O+Y%cboh?$I-CuF6mY^r;0AYU)`%ZfgIDa${! z6tyGtyv`lqaJoHJDHkR#QEY#O0JRH|&d@0t?d#C0-&=tfnvBQ(J?VSz@`Loj&~u?P zsbQ{vK%Yo35cJ~(f7219_jAAy76=u~mN<>S%~`l;GMh83JDBlPv>39w+pV-OvMPm@ zUbeBfHAkyd<~UF>Pu{A=!809H3&lo^|0N>~{_x--+)J%i#Q8whXoqGaMc3x5(o=-z zx9ZgtP@9-&Ro27uDdD0m+bapTfzBF0i-O1y%uE*km@uv1CJ_#j*i|;o( z;&%L-*x^r9Ck}}pld}7pcWTuqJyu#Lp7s1fJ5H8^&{jM7jumS&S+q54%ur=-jd({= zc``~=2lChE*)kekFlWlw{C!ba3!bN~wzk#2s$)ogGMFoO**uqo4~QU(Y1}kN zF4HQqEp|F9vPhdoKKB0VyUKBxZ{cZ)_JzB1Q;#LK@|j09IyXS1Em(1fOa#5-SUd=# zlSx!MbHMDd0m3<~^DW^JbHNV@qUH9qG5^Y{1m3I?7M_l=^W7qN=iZF1!i{+U;_uko{8xKf$ za%f%cezck@c^jnFn4Q+Znn!%O&4L62BZln{*5n{fAHjf0>+pWR7$3 z(E#@MqBHL&vtDsTf;$lamJT$PK7{M%{J_DrIh369u>ii&!xj* zAo0bmtI|ifBmNFcb%=Vczq{Y<;D_C18CA~+LEE_tBx5x?IdeOXWe7uN)GHfGJMo7@ z*1jXkbV^|>;W1i z_mpOs%vymvuE=0*L1K@;n!(UPyY`TCcVQ^(IPf_bQ&jzT)#mSSw^CBQQW;sZ<5I!V zQP$H@4XT`Um9F1QW~z#Ie)F^8y|R#rSG)MxU|UDi6u;_okIH*Dk4-n-LA}znhu_kE zqNn1sHM&{y^H%y(_C;e^;v13{Jy*DoORmgsF-_mz*?gsKm7;X68s@vzb_}S(QJS_^> zC)rXPrycqV@~eDfA@rsIgOBsTLrIffr=O^@esRCIz0P~yew6$5iW4h2R0YET=9R<` z+&}v8;$$%}0VCm|G-x5MKNqyZVNRWCe3)THV%8D$i5>$B)HX zBsAG(M7Di0;nVh5C9>G2rN0hbQfYqm%$}K!JFJz-lfGk)YG0WmGiU#ll=*a|J7}n! zbDQZ^0^j1hg~w}*K?u>{*UEN!X?~#!^j=ED8gVm z6awl(>}5*O?8xAxCQc}dY(glmUhFQmE_T{)mNg|^Qf;-TEtAEhPni#3nj5A=-CU&} zpSD_OTMlhr^b-4#Tt2H~i5th5?=)Dv?cpUk%u)WorY zx`Etp2$29hm|uajvU@$@XYKq$<`tSTeuZqfuP(@gQGJ3_)>Qz>%B>L^Y)<+TxpSLY zyhl_)hWQ~;XrT~WYp`#3YLBXx-8eU&yog#M*IBM5{A{(BY{k0Nwsa^4zwpAJd-b6) zBLpDJl05*B`&b_rjfyvGUR68#dA3zp%ybb-B}w(=*-JJ)8vjjxu>}At6-@-p;=js+ zQ~^{~Yt=Na@i%k!i3~t#NV)!8e^HtVE;Jm9>C9)@_rJOV-m7{zvwXG zK-p|B7&Ia`^Ow(TJ0p9Oj|IUCJ%|WILw^MR*IFSrR_Mcvr-bwQXT_7WIpq_=ImJ=R z-R7~7mG&7tx)t6EZm_RA;q54?%DRpvmbdxm=gh4PQ7fF~E9uF|SFy5>l2=uC<^>-5t@CP9SgQV;qRMz^<-{y#E$!Wkh zDS(|MM44%0PKZ^5-u@f7)%{({eciMVUB=o|!Md@si#FrJt6_p)$jQA&?fAFa=^~?~ zjPw^bt?)w|IAfa}1hW*+fxAUHXnK6E>Z?|&{eDCACUpyeCSwER-|0`d4D_NX7B@{p zeHzUlKZ-w*TDfiz9M3P}#U78g)KPdn>EBIw#dc`Xl6I--!LBGzKY5Y|Q88#<^_!IP zJUsN7pv`9uSJ*&9f)_T5og}$3@Z`j&?x-$)pMV^csjCFuTE>P zxYN2$ccQG_KH%W1E&NMj#UY8;RL8S8Bz>UnMNL*&|1IheYsl_7~|Z%ZJ2a<(sF~Y&jaeHyxA3 zTpeHBZo@%q&7!QF#k_AN>9^uTaR=^w+Sle#It7ise>k7xz z#f&m$qZ4=ME$~QN#oGyCHp}~q6m4r3YuNNV6T7k=CCzpP25{yYoa605AxrzlZf?%; zHiCv3pQ{+=euj9}={VHhos#sek_{8rYVdF zEqmUg@xX!K5=#YZJtG&mAxTOjaBTelo~CG+%8)<(jqMT07lSe zMyq~f_eR+4+I73t^+V{)o4YkHDm<~9tyB7o@ug}pybq& zEj1HW_jkv4&N@HC?p7sgMVA@2ZzdRgp|LiIU#<&jeX|W$v5DsEafNhlo0kU-BZOCLJ#&<}a99`yLa*WA22-F~8N_ zdu~1*?kwtjV_vearZz!6`Qf6`N77Gh%;i_+h+CLf!=}(%%(INYdx~1}0jzuzPs%Z2 z*jTQmZ8NfT?mNX%D{mf`hUI`hCD&k7x?SYRb$`-5SLt-_Y|L%>o+98Q#Rht(!^-?~ z6}Ug?hhk%J0sfqw!`#88@=jBjvY^eqgniidxXEi}s)t$iMg6ydXHKM+sSLUT(kEgI zqC1^n@qiI&wjQ=1e-J(5PY4q{zfLL%%xJ3YQBA3=xVGz$-*6dU^-?SF@|*Rofr-*9 z6l?1CdFCtwN4RjVZe>017D1;;`xMMML<9V%~n$*lNvFu`u2@&?zEft+I zXsViNeS8QnT<$s=yy|&Mv1e+MQ+?1gl3E3OZHg%;Z+q&%!T>xLwtk=^?fOG~sw9k2 zlpq;FKY8S&0eQm*e(-(>JY81+nMe1jb9A_;X*jc`6g4Y;s-rd*hbT@JKHYZbS6KCJ zRtl^)CesxpsArh?mWw8@TO~CCe6D=fQtg>O7(NQSdnS*-ShMWF|IE}CrqOfISjiy2 z*r6*H#44v3GIlO2U3+(6m#Cr(%eaL@=##P8)SSPC3nwiP z)U{5siz4MyVfZ=_JY(trgY{uCkrJ+;!Tg$7^6>i86C+-c2^Hn@$82nuR8R+JQdq_uG}MaYvF^mAa0JPSy`0WWUZJ9C-4K zZJ4oGi}=FbaWtAJUis++1mk$r+_`_JhLnVvT-ww<@~9mz;6)Daks@J8F`K0of3%32 z&Mt26+1A!k8bz6co|N`wJ#s6|rV-8&%g$KcP5>I{6<8{X}w)wfUr2dq7 zVImBuQAGmg+9xP@DN}i}i!NH67QZ+a@)%MJ&CTC?*Brh3PfPpuVVMmZtTMJ{hD^)Ghhb-SlW zh^v*_smY}3sS7gaMHFLNmV=Wsdl=*fjQzR?Kk3A8&f3oON8*6}$*ODegdCO0)JRo# zvq>vutAo5OS6kE1qbMI0gGR!XfSS^SBB!BLTV)eFj)u1H#*A!pHqSLS>M6138{8e^ zls=0XbA^}{L3K--4N+gXqm|{qz`fPe5SxCr4mtpSFsHSvNNAINh*rRu=pkQ8y0<>RC@fx}FUh%h@p}s?&kfw&;Nc&Vc>aRMhHMKzJ-PT_OGjB zUivbjBS-(I&JhZ+2jge0t+By+)e++GzCvV!`un0Cp*BWjI5@Th(D_}YMf5`JmDb3( zS&k<71&k17=St^v^3LYFx)3V2>#VAwz`(qf%+@NU*}j+KVg{J@pBwboG{PQ9_ZTXp zuP#=Vf(V94qL#wv!%7@;ge%#~7*{kNW?70{{KocoXZzj}E4QX&ES3R?CritB%=uUO#Jvta&P{`u;q zWZ?gO*Gcc8bL}G8Dllh<eLPpvpmzP#nqj6C-r4u@fXx@JobRJ0#{dh@99ZkU0Fw+)x}ZMaj~nP6vI+UiQxUGRbh}Tr^zOTa zCS#f^C&$9DAhIQ-pOE1zOwoH~3IpPm3`Y{4=;24Lc*V49ta8Of(dwH~LP?%zeUQl; zt;}X~5emj;KlH<|fl^E=hhGKh>+_q20Y^@^n<7KEJ8>R9q;=%6rU@HTvJ+=Nz0tcf z5{xo?7D#X2HM7mjA>*@m0<^76Fb^Vydk1TNgK8Pek zdUUcLStN09|551`_T5_R_CrV9NBNFqNWGY@0qUVxFx?+3)v!Ue2c9XaT5IhQ^E%rc zZj@gAgaw{5OrL=w^>{jj(b{2>;;ihW9 zfu{|5$m3yCk?Gqvml!;0Zgjb4(>w|6Ck$)^vowc2f;gTYo(UO>wG6kXL{j3lciRu` z0bST;F#^x5*KK1I&+X>>)$#aLPNxC`nb-Ff)_fesGNeZ}NVb>nyVDunvv~kgmztUC(P{i7gc&8cAL^$M@x;HukbtO+9bz|a<%TH7=> z$@AM#7y9KO-MtY_6Zx#lxqB9pPvWT8!CgmFDG%k>WV?->^cSMP1oz?Hp#xR`qj%y4 ziN%5?e!jrrt5wEDs8SCfHf_$FpVacP&FW6F`1$+va;(NTY`tLVt0iFRG2=Je*qFsi_T`xm^c?upYRx zHW}pXvJwbA&unWt??slV!lrl&Bvc%v_46|(^&C`XViKEL1$v8jg9a*DjBBma_Ui4x zQXP;Hv77p_dX~ioW!5+-mRO8hj4O&Ox9~*S{=>9_O?Wt0A?US}N*GRm&;n+are&Cz zIZ$#y)5<9lEl2L~zT|t^hz3AkT?(8~Z+cGGy^&GCN#6a98?^BX7c*4*1HW%DgSiW4 zZ5*VBx1y0j;+80rO(H%+KRMQET#rD*#MNFtxXIF5b;{|7y5Lj|N9XR&Hu~rtvq{}b zpoJFz&@b=~(m90s?(*E4Rj+P7R=_P94SWgRE zpBb}$I{Vg|6FhUwSbW5V7UA2&%vz8!yPj!B(D{nRUB_ccR_4U(S@HD*!F=S(?of_L z9M5OG%AK^#XwK4C#ts~{8Y2`}tiy5lwpBw*n$;Chgd<<^G3G~rs@W5>pL88INFg)Z zHj5`u7Ux)T%b|0nhYH%igq|pP3kxM$^-LDRXs>c`R}Gh2HMBA*xU{*#`0($4S#%?_ zQgl4?g?XzJ7y3N`ON=V}T%1n`IeZKbL3nZ#pHL;``Va(9gLASL!5_c{yOe34m z-LC50pR&0`LgXRgx+xd>ur#iR36|HRtv@yU2YKF92lFTf#$q+awLjn#v)}Oyz*>(( z6A^DSh^Le$<`XL#QZBoBcIvX&3X-#|if+Pn*?|At-c?{R$C#HMj&hZNdoq-Ihv`RW zi5>RoufORw1tCjdiGZ^C5!chyNv0Kd?I_8F<~Okt`-j$Lx0XHK+Y4UZwf)JzPod=W zQAZ1J5XLEQk>JVqzocea?q8G#lB|lRCS#Axo<2{3Md5L{33Src!6NAGB4`p1!5$u; zZdRJ9COR|w36zcS^FkK#RXGM{(+;t@OT+3YC-IQNAVTj_sk-Xl#b#6Ec96$3%bboW zFVDuVxWmNS<53K*9;}J&T7wBtql_9GL(Uud3Kcu3-F&=&VEj`bCY3pUwf4W#gaX|BJmDZf&h9ScG@ zkjxIZ7bU&^0oPWcl2FTnYe;S9*B%4wr>7`JBQ22-`vC56p&X;H=^b?0Q;w8tmQVKh z4p3CHPAAi8styRJDg82BzEsbsw9Sf5M8ZsJF20y^b>>pRLfhHJ@8fed%eK%RNm+i% z7;hV5vK1ckCF6b=`?b^NF2=#2PVoh(>laD%8=Xp~qg9+Qv2oIT&&F*&#f3(Yny*$i zEG4Z{@#S()N${j>yzd+`NSY#SB>QL%-YNnVZF(9O7PBLF~=-r?@!8+)a&<&c6e?tH3bG=U_+}hUEtyZp%oIcnZUF6okz(sIsx~ZByA^iV(zSz-R;lJ zU7j#dr^Wa3{*~*@j{;;_gL9*tP}t3uy?^7Y<12KV;{ABwori(fN7%@W6t%|ej_$rw zUR??{g7wQcKag^M_CVNE&$|4gwwcL}SX71*aEs`=)|o4N%r~4-$u`ZmJ)t@Nyj_-G z)Kjafsmu5OXb86c>>pSA^)Q-_usT!LcRKs=iQB4}hM|_q@@|^sq_Lq}IjI_6sw%$h z)TB4HN~r8pA81$7H-l*rxc^^0;DtijdR$EKWoj5|(P46_#G@Vb0de zI^2Tg4eZU*vpw_2SIB+^N~{kfQ<5_K}?x@armxo!D}}#VeG0Q{pc{7FZI*m2(0I+dLBC&R5@JE zr)eg&tqOB~5Pn)XfU$u9k$V}xab#veJk%Hhp2lq4C`1ttfMnv>K!LS5IywRHVl+Sv z#e}}V2M3jLn!oTNf(C#O6WxKofyf=`+=K#v51)u|>yZA!hg_hh(d^Fz`ef};I|<93m<5(e)9e!O>YVVEIw_@-&)1gp29OOwdvef!dr5` zJ>Ox|1KCuQu?HT%hOb#pdQIsO1($U8WT#e2U$@&lBLzz;IrzM8MhUXDBL+HBAY@(( zqf9sBOD8PUV$&I;$~Be6oMrg%_TCFVS2jqmO=pbqsmyG`GFu^?&{sz@{x8VDcH=e27OhfRb8~n8KJzVQT8t+?OxDCJynK z-|`~+U0QdYgA*+>rsq`Cmt2+BANrP8q}^!~)4z?nl!FPy71oy}hVndq`PBxkmJ=^z zJ!;Tg{=mZMS9?Kiyp9%b(r`UFYzRk{b03!6TJ9|dX;(iEx&1L%iP384b@aVY`%**B zwM#E;0&9I3@nphL((UE_Bqwe++=->FyLnf4cUlS_qFLS;(8oV`b(!HAqDJjyCf<0v zS>6Ye%%8uM5lT&$COH*syWQ#lw@~%~7QV>5spJcw>y!Vrc zn!sTGI<6#ifFn7^IjKI&Wv&v2BqMa-bts3GYIqX;y$jZq2r+#mJ4@)gta}e6pi)P0NWrl*69lFrd8vV3B0yN@ElkX zge9R-i84uMwe6iB_e$$!-|9y<-6d((_9zDc7SekcEf0h_IOR49+F4jRetljSbyVUf z?5exe$>KKk2N~u+h+dKuy1r@t07AuY7_24r`7Zrv6nhY=PWa{ zgzVvng0r=ea;?6b-u-yqVs#Iik#8+uLvSX>57Wy4(veLOWV?7=wk+B6s@5i0wv0a)`TQ_$ zS&5}R0EZ;D)IZxWdJK^jPu~Qib|+$Xek1WyFE?MnS$_V>Lm)~$>++p@izVvYG%Yt; z$JCvo`()Yt!E2&#nU66Msj74w4oOOCx5EJ9ZGy$O7NOKMKN!x~+(-6X}|m!i;RD9eS+mvu_vARqprlS%pToo6a;ZqsLD zW)-g!`|Zzbs@vXznAREdku^r(j=BOtzU@nw2S9zo`7m`VxBI=dH)gBAdFXI;*c+Gs zi?(n6&#QZ)4I4F9V_R*|*iURbjcqh&Y&N#-q_NSUv2EK{liZWO-+TXq`{VO@4)@u6 z&ssBUW-OY*7_!i=CdvWirp>J2~{(&B_aBmQBk*lTDYPk zKKUaPB<6b@CLWFW$Jh;JaMZ7kJqoii#5+lANv4YqHl7Kv0$00HOT(c)V}X*Z_+WAD zf5&#TNUpu;(WsS^#j|DfW`uFcw>up^rNB6ozI86bzcA5Fc#s}*N(}87W0{O2LC4oL zk7v3E78%|8kJMw4$`Ud;ZgQ@)ZJ!axKCb2V(iD$u*Vt}0REOLWw%L>eRT3`04gZ#; z7r7kpmQl!hafwjw!+E{Xa>g7^cQ^}f#B_!m^A%`D3DKZe`M2n)i69I%UwVcDbyD`c zDz=xq96c1^TF#{ND)0g=n6xX4MqaLU(A#~G$zel8{2U>$`AhnPKv7tvclh%V5gAbl zSc=G~8*e{&5hrdhYYXcB!FiV^k%_J=rPPCV=`*1_Uiy zQ5nO=tRQlV_{rCeg$KRIHF)kD)2%X@>K}5Te$u0J?($i;z4RE=q}DzsTtl6^`}>>h zMf1RklNvcvt>;V1#3xb1Fd58yKOY)71XMIdvvns)Ie6(RQbzz0{rKrTUL21|o|OL0 zVnvYMxFAiqwUWI|^*%ju&)|2p1G8L{rk@ zIfuFqk)ub(De2Hi=&y4r8ySF*q|x}Zj?S>dHu2=p@8xeYVZk%|o!)hKgPY>JT?bKP@4xu8Z*jpIKak4dP zZn`@75gMj0_R)L56Kn^KDU9>xMC_d+ujyUnp&N5X(SEndW6QQgE!f5Ys+;(1{>rc7 zh*vIwvwDp)GiYm__$RnR9(AR!=}=n9tEnT48Nd};8r(Pj$xJGGdgP7)z=t>&8l{8} zS~U^~tzvze36`F3F09zy@WFXn)?Q;3>IMdnVKoVN2Ul3SM4HLP;dQdN2R*3p!%50q ztulQ}O7man>OhM0$f`~T3{+$WZgkv)=%}YmVysHis|Kf1@wGp;yHhNbcSH6|CFXOW zi=O-7mCi2UE(@L>f~;oz9#}nw+#&3iO=B z#V44icGkzx6Vf(`da58RnY#yQWxXnCCgIdIV{e7kH0C$LRCC&IVKfu#tcmT*VOM`Z znTf~%oT3DhJJVsnW|IhfCx)j1kEeS#{BHV*F52tSe84`%Cw;xFW>>?t(?IR3o=J;MHfhbAqPT3 z@0DDr=^#Wg`Oojw88kD<(p0Z0=W=I^kY!f61!xU_$4?{OP0?_+wMq+gvt7)PgX5Gz|d?}wuU z4xrJQbx8QWl=TJ@O`3bxNX3jI@p2`M_;V{f%%*^>te=RU`P=P(1>NLdtb9;#(?GLJ ztSVBs9DlX3*DPh{uALn+VA2$vLt!sf({2I4s9C$1Ho+z~zcZ$iwuJ=|5Er|FQ20wa z#iU?`rb7Sh#g*1z*}{8_U4H~Z4I{<0Tv$nCIL=BucwE4?pAQQt8d;p>TT|Dxf#snY zTDrL!05}oR4!wr(*4|uKk@!TyWQ)Dk*QvYE+i_AxD}~IhR5lB>=?#WzAOHK#U0t%u z3uDV19vxiQQLuOB{u$OxXb}ZgF6*0Fm%M~lwvC>BR?UMeVUAzf0 z_v!k7B$odJ<=Q|9RN|8N5$N4gXf)i(ukDFUXER)lvKpP_KXKn7Ce_Hop)w#T)XMM3 z0K{%sn!TQMD(dZbQ>imLBi3pnG&EL^oWpYp7lrn?6lE!BZ3D~%sPEDiQ!>?ha$Nj) zBZB^Y!>KJ6$G_tp6(Jl~3y+qOw6g7$T$aYD-yHba$NY>_SBsT0BHV4F6Dc>Kp_oH} zqFf(wBTj6?jx&c}y?)`vua?by;e8kcwGV6(r(Oi4@KiPV9B7IqshUk7jqe6#zWTiJ zy+cbj%^8h409g9hA)R#1X@@`*t*9B`zrJPWfU{Ra2e>|lL!GEo5#=IV!Pc^wD-TXm z(Bx7Jk9$gg5UbSeaX-95{y{U2?hyaW`6vgs8h5XNDij2f?U30VKaxp6y+3O?kXait z^5UjL_bttZM{A~yPnj%G#Qb{2+-xKs)Yl~U8grnoQOW!S`yFThg2zs7)bhJ^+(qi& z&?{w%{rTOcqV&r*MYYMbe4p*|rGv_zcry(ol-S$YJzWOn-%_nA zZFiuxS*~`sbj`_{Am!Zek?w2*KyF@A`ONpKP^fzjx~~{(2qq|DJR#j&B~_IS^_`nw zq(93O3V19Seq47|-)rjrAnjP~>ijm2K9puD8XcYkZsC^)TqW%Y-MH`w%UBUaWrAd@s8EqlH+DQ z5m;3}*EmA9oD%I&9`km61b%%cc>Kfaf^A2ny_8C&Tkdf2R;e(P1n@#W1Bxedxo#)wFjO88DGj;(PupAx7a_(uMp3O8S8KKs7lBBql&CB(PG^ zHaBgyrZ?|Tq`tX){YL6W4E650yaBL-)Hn(S;HpGL31_lfdciHR5Qn-*l?kjoA1MyX z`$8No0vuCo_G>~JMLf_4>X4&t4DG#wo)<(&gABh?{D1lq`QLyYQoR5dz5h=@G9?GV z#20A=(*NKd^n2#_Z<{g zPgS982cfT~h+TaGCoy#n^T`oPbnQ(U zpEkqGwY#~GQ^*tfb9AMluYTc0&&uT)F<}_% z5ly1cdFeKg-Dt@kH~G0H*r-|!GvoKxDhSBfjG^`c<)(ej;`C`8U-Fls_wUYn71*42 z8y_1`H8e?5HOg4a0^-R9&-z0>a~TPE)BwjiqnxH968dnyisQ9!3E#=hZqv%JsJ?_d zsrI~8zAUs!^DU0|r5`jZP9xKRT`PMe>`@ml~=(9 z-Z#+j?Kc+)g`Zh|jm^u(8p6m<_XHJcac0}9@SSfAZxn0P+?wKFV2-}?8F=S%%?@f* zXR`0T7I%%&K88nM=HTC(ir<}*uiZ)Ci9}+qjw^An{8+3~exhgp)SFlhWF*l1Pc`pU zYwbns<$8o4`=aiNjZ6uk+ZsTEpL59)Vo>g~_<6-;@=K-2=#QKwM{ET%`tw0}a9?s@ zLQ}%QF9Ol%=hnV6lW7&l0q^O-f+{;xpOE{tn_6bLba#GEt*cYFLAD25?u-bN+dSuY zbjPPE4X98_;e%W|s#0uRGp@H1()({^!ls4*IkiedZ)<`$L5I|bxWznPXj?at;j0Wb zANtqdYMVR`k&A9}@GjO;IWX(rrxD!PN-qc#>q|w(|1>Q3Gs-Fq(6;F$Ia@Kkgq!RU zsN@sIsPCHJtw}A@05VRHeX)3wYm_WeYjY%}Gfi(;F*)frMVkMyZpPF%Rawr}C54N* z%hCY^I;Fh^5zwL(UPTV?J3lwOYkGa{*&ej6Upf;Ub60)HdMWl~J0}`7{GBwQ9-_EX z<~AY|k)s5bs|`tZHtEpEdjdF4xxIMQ=;qbi4x8K#IxsknH_cW#zx*#1hyd_o=;mxekl5&L9n@$K4Pn=72)c_TosF0U4dH8@z~GfI_sE91sIm6MIfY3 zE>K8aEqfx&X{(L>a=nKqLZU%cy=4?gCCO!baEigP4PO5zjF#z*vw8?{q~>j8R4J`x zr*ZzW$TdOjQ$a(;uB4USBjDKO+s(HzRW$>0cri8e?NC%}zL_5M$*q3K!wZwy5TKMpQkXwDDb zZvit zOBKhaS$s)d=V@u}81~9>H~fvKU#68%!L_;BY zU&kC2o6Q`UnYApM*MDikZA5vOR8Uek+CfJbe0$!=*Ix}nA%dKA6IqsPy+^$zEV35S z#@)^o(bQ_fsL>9+;Y8@aqNapLV5aP=xUh{=0Z#iU-hzHy>fWZFxQ?lDfD#SvY>)t% zr5Ns3v^W(jc%SUY6D50p+hWb5Ftu;hY(F@qByh~0%+$oSOemfm8M z2QS=0?pUT)trdeA+{9?Ds<}s!G3ea`JC8#m42-`uCi3&64LI10H$=;VA_P>wvCt3aZY-t6+l*n4fW;R~1oi(3X>nLj7r6q1 zt4?-Y(2S$t_yBX<%W%B8`-y9Q=(k7>q0$~CL#SV*!pAM$1ZthP-G0U7eN~2^paOBH zDj=mAUhc2rJ~84?fl;?Tv{*f=jNu4#xsx2w?UQR{;qU8SP9|;HyM6vR=Ll|O+}EAw zg>v^3X!uYAKvf>ZR(wpG6j!4?$W=q9fq#qNW{>|EKsKJX*WpOk8i;K^5d{)}vGw50 zp=%N_enbPsEIWEnp9`M#9!qpWmPY_u^wv{82hfl02$~7I+atQDTLRn!Cx@J>L{!ef`uuLpGfUH66_%bqADsMazo6x$HN_r%>eL_mVB){2Wt$)}t0VVo{Tp@OH%gL3I?viQr zAK7Kcu7J5Zrmo#ix*V3luKPeSdM}MKp_bLe2Qj!Rze~%Q| zX=`i~O^k!>?-G$aK=fHzNDe;hkqS<=ST5nx>I?nzTk3kPK>M6yY6WlzulUe~Cjgum z&~Fvhb6>sq`3S@U@Sb9@ZQuitaJ?|XSPiHct~j(T6*gXS?9B_Fx`qZex}p~9qe>E~ z5({fB;*Lqx79p`@imC^YNbv7UvUv6;t$?g6> zw=Dd-?gbn<$xnb11(tWrk`!-tFrY9SkyzgRoiL>4h>FqCf}fiUW7c~gV83e;nyml- zNfrR`+p8d$_8(_pP6eBL7d$AR{24^Tt+`dcDBXwmRINDw)_={SX{mH^ge{5W&t5zR zz^I!2H;J4gK5944FKR=O(=Y7J+-<$&V#xJ!ZR5r*$C0Yh8(o05_b+k;WvnN&@iL=Z z{^}D0hL>~UGw}`7ypfP15Y{@pHh#}{GjiPdebIsbe89+o#9yV>@HviG$(gQ}v?_u> z<@tBT6UuYf;QgPhE-DmpU%)|tp+{or4ww8~Kc~ZO6kgHYyG0}ogvd#~h&?3w%v9xw zz-$O6*)#*rM|x=XcLyj(CTDh#cXEzewnI+1VmIV4)N|eAs`S-l-@M0(-*`>WB&knA zTySFu5v!uYy6Y-H9%%Mo{Z zJill_wqiP)`#Jsb!xA}~X*Z1H4rZS^tl7tiCAG4gnq26CC=eI!rB zd-W*Xxp1Lzk7Op(?;i0wc1~$5UeT>5m*(ToGI(dL2cK3&$6O9k;N{Y?=5#D;{6A`H zWWIBdIKCssSRWuEM*E)ZeAV3h9wuhJ2uuCpF=}uJG2J;zYR!=us1{-qaS9~cYU$n% zX5JzM{u$qRVR1S7Fw+tK!IJl`(OW+G{yd&YtMt#a;8mhB;DDTT%=r?xnxRa7TB!iC zf`hL5VL$JcDbi54A+h+t<=x(Lc$d&0^RgIa1n8zDBVFZ2x}e|4YE5BcWqw6c-qtbQ z!K_EWTu&AEnX{JfHY7B%A?R{9=mo+l_GaL;T_X;8MzQx`u~*)>iLJfWx)59_V9Iz@ z=HEvP37xl#s~m=e6o>c}`yk4LK>R4&Sif=&1jGFN2;y^dLx{zdRK8hFZwoRJg&ns-fPzA<*;KMN92wN+ja~LRB6~OEowve69@SjejQx%ZKF_>q~An&&O_u=FZQHgC&I=EVC zeD`(L_xYta@%M+UOC@#Yx&8K=@-sq*RO?b!iLeEk=O3bR#X{ZBtSmbg$br&LjqquAcu-NFti$GavY@Wseq3< zF^|aY(DXwl9HxNQ+B%wIzn29%^$_1a6j$8j z3OTl4b%+l*&CxU@J?*YnP{fZv;HqN<<;COHMu)$eaCFmA8TWyg_rs1qSNIQV z8c61>dGe`GC7lnW^d;^+eDbmcjIgPsm>edbKMfbXPCk}AbQg48iwwr=ypEWfJW5Cv z*~d1@vXaX6Wk7<6$QkD8$zUFMAfz+--Z1UHfl1nCB7h%fVQXe9(8UN071D!PtguiH z2db>8#xm&BK7Y$EXqLvY069^!Sf|SVqz<}HGoI%6^I;o@t+hTJP>TqoJXKD=4^1sH zIhV-ekV1A!u6a8ux>ayWG+wNuz&f6#5{i_%9lOt7a}p?$AmVYryu^ zNN~ewso<6F&mDTNI-h0pgda^i1e`?sEy@IbDY2}RC~fOL!KQ0o`ezgj^bfucf5fSm zuY(khVJ+=VC_Bn0@EeI`$?I!^lVHV&9#t5ejBMhEcfgSs3Wc>9G8kx)aQb&{YI3oU z*8PZlLlRh}Qn3qK7~o_1QMubc$NZ7@Bv;U$7M&^4ZCy6_iev=kI+xxFNf-=fjxgmr zcf`;_#C;lb%_Rd_&nKZ3eSfO=WBsDP&T8tJi{T?&uBf2(&pM^Uyw_X3NR2up3(75W zLDETOe8P%PbBH_h*$u7N{MpSjnh53xo=d*v3Lk5H@Rg<5Nm9yTG%ROa2c5!kiJ+bk zV&m_RL)4G<{B~D0eYWP-20#ONW`46Mh2+KhlKG@mj&$&-Ke1%;FsMeFi*<%b{hTv9 zNTCZCT_jylTmyq7q3Ev8xJvJ%G4~$AZf13V$>fWq!u?E&hL`ed>i4h2aZH)pZ=xHg(96zYKY`@*F6z>`tDAS2r_hn_N@%T(oK?(>dTE45-y%`EyoL2oYHPgO?J8kU zIooS(o5&TLo*nK|wG0h40!eD$0; z1SUT&vEHM~2r>9NGem@sKdJzFen~w48$~>Cop`e8phlnVr0^dJ@#`8@`DwC>=pk~) zB8Yu&Xx}}|Ff>+}xa^xC>=C|QM^$(#I>~%0ifOLN-{QS_5-ainbD`j%T=&UT6ioAM zYKN&1Ym^*L19#}ueHoFTg{o+X?#jz#siS6a0uc$@_La42bYGI_%$M)thuzw-!71g= z3AD~M*kH{DSArc4S(z+oulP>;+Vad@Gk6WT2goI^U5xLyM8VC53J{S4QfmC{dTS#Q zv)vSLpZK9^9@=@pc@yJ6aNVH;PSyr@SWr1g2RmQm_x+}Z=~09 zsf~gtV()((drcIYh?JvVDOq1t1D^h%E0Ta3%K(J1@S^ydme=Wi3ZKx+A0*qg7(ymxj}NpP`7 z`z{dzL-9vN&nDEr{OOcm+b`bsXsYwYZ6zzEO}>laW<$)E!B?#@nS?#6ZlcUFE3|z= z!CJb}uJurXo{$Q&yV3kgFf^H`F|xX~!ZvEJ$N|SBR|3zAl!T%;swCuBH6|u7RcfY- z3}Lku{;V?rFuoH!myUjBz8L~T0Iy0U6Zt%in)&Z$x8}T zpY|i2_by(Hb|@0}EIMAlvL-FioNC~>*UFqZGnR{;pt&!Qam_}r>L4_XL=wh zrJ>hGW!J?i{6h69G&FK?<=Zpl7UulU52Gj|WacGnFS?Cw(Cs;x0h|_PLir6+ZZeg| zaaaesg?}e;;0LpoK*Qh7j(=axcT`AQE1DXEb~BC)wd2BMwG8;043Lrx0>zkDqtTOh z=taiqBYdEtj5IM2Ht~C57k&ybrb5qu{4!KDiX2=MNfyz)awy1AO-%C1obiB_RM?cv zS~o^1jaIt$VO_yY2+IOXHyg+8r#W^?`DI{W-4d;fZ7#zHdoRVMzg^`LO#uO{2B@~% z;~@hs&~RyUeM_VZHk!hcl!r&sy>l26*L6$Xih_IbnTZF{WC`xqg7TwpW2vMg)6_F4 zpK^iw~G;XnP^3QqO>v6At7d^pYFD&6HseYP%S$&z$+vFGJU6Y zElnQT`l?Jj zIJoy;V0idK1!~hgYL?g5%;$L8Jp(dUJ7wd*AxJZH=;r%jo2VczdBG0?WBZO#fG2Dr zakdW*;dt&m+!D3Bjqt%EMhWRZy7inz#O;+51#7AU#iUJfo|9b zQV9E1Fq$BADkm|Kkq& z`e9wvef;2be<#@3f!F?6MhZs;IP3hTB2=<~4t(b{o#~Ym*G`AZX1+vRwpbKlx&71J zuV*XUPyva7q3*3!;G4MLKeW`j{1x6(d}wySCh1~|V1!s3oULiBhy%Y*I7;U5G|q3% zDukVAqZ;*=e1nnReq7{!ADN%_PG!0iQ6FAhe;p201O?)4gP;ytnO^wq4C=KL&{6ej zE6{)61(qJb`11uL6Ws-#IS}Fa(xOJUjU+LBW88ZwlO8}N3R@TQm#hIPCWW zN+>%+4JiD4Wtw1SAXUUV7xH0~JI9qvx(!;d(fPoucCrU6zNe)Nd9(*Y6b1fG3! z2F3I-QV8jEEd5OZ(XNl+cU^4$y?K!8*Ea{7j@H|5jQ#Zwj;EQyK0A0_YX_O^-wPQ` zu2@9^vMPjpLgM)TlIdY;r-z_UkaaNu0&bqCpwR|GUXMyko)@rR*Z#*B`>DLx;D>LB zFGL2H+EBn{SE?N~h6~Jj5>A^F?gK7su!g*Gr7MrnscHTN$KrN zwxfVQb%Mx;j`?{V?NWGn9aprcES|8 zI|lOkfW34YTvzNPvT}cPTT5=v@4E?-c1-6PKSX=_4l-5y=8HBjyyAvhwK` z_3LsaSKd~;!HC|S!^Q1^iYfw#$Hzx`MMcHdk@^wmn*#+ipracU49t8D)cq(HCMGl} zdyP~&bB#IHc>*4vm(K}vX^U{ik*RE$E1 zh=@eT#DD`Wd8)ahSkRaJMO-_*vOgj^n>ZfVF@FD43Oq!k-Pd{dvjzKMf?%J&Gc*@O zJfHpsA;UcKzp3kdE-2uMPa68AN*);}KC{}ZOV27HaW+TMy415{j_t9Qk}_Jq##y;S zw~P{(M3f@VlEZU;-p7MFWE9-$(j`^ zl>v*Ib|q5*$1)@Hi|oo!i^ztMC|C5WSdeHatT7u3H7Zp>%#@NY?Y5C5{A<1Jio$dL z-Ew$fV+`WBo94aeU5awK^V5jDqnM?D&mPa4$oV{y%R1s~^4BWTc4FVrH1L-1Y>d8j zisZ5~B4!-A!xz`<*xv-o@N7QIT3*yS9V&jAH%EcmIn>hD{$Pnh>a^(<~H-Rkm4yooH`m+&S+Qbl#54t_+Flri-yg+p~6Fb;is|WICR& z!UmbseBbEuMIw=l6csz1N;n!C9SyANe8nC3@(VdN(Gu-PHLUfDdRxGZa#T?-i<|q9 zIA>0VRi!h;fOcR%$pqTqIYz7=3;D!nD_&G;1qIGnb;0arOiWBfT=Fw=C2J@?1#S33>p;ysUeZy|*dW)9E^rP%DH8_= zhhEi`m*@N7=x7v$zl*h|`p@3O@m5^S}LNX}cPtyLh=@@A>Ba0&Uy*@-^bq z7l^6pX^~U}Y{ssnZ(eXoj5oJ0UW*f$(wb0>tTu*>PR>iIx@bq(`$89xwrMia3`9a$mN%Z5K6D49j0 zR2Tw)k&}rWNS>#IykBUeUHJ@Cyn{@ge@QFrAE!U<6J-JYAYyJ`pU;B>5wN>=2IH)0 zODli6v_B&@(VXyya@z4vnAVXdRNap|pQkykz*<-wRlop-a3t&+XN#UHgb!;OVeR3Fbkn|0{DEy; z{hrpR&b%s{_7#y)w+&WMP*6aVEVTB1mCagPM_*qvs+F&HaZX35t2$3QzqAR&8lD!EJywI|2370wsl)rZH&P}3zR-B=&6Tn{G)p zVUy(+(S^}r)3}N>WEA%CU089=#2J*-Nb(wbokk?h+Y=f;xlPa4Vg&;ngua;Q52-$s z+WdGjO)V=4-oYPnNbv*BlCl#Sw7MIcJ_Z>fqj8=3%~a}eXLC;1AME0V6g7!wHY8Ah zIhAuP8Uu}93<&F~8d`xiqNGF#ctk|Vb-oa@6r+u}dr4=fzeztNtq5?Ow(bygrxv+H z7*@Fdrd-zi{U^l(7HFtf91kBE$0{kYO;5RXvaA*bwW^ey@2jZ!B(F=G#}&icRXVle z^?ceCqu`=mZ2-*!bXrBh#)jD;k#e}$5VY^QDc7jY*6#^2cy6C9Q|p05=FwBuetEhL zWM`;Arzj#rYt}|$F&)FWE=ItjMB}7f;Z>Fr%E9foTk{&{A7y96QOZDY z9kc{T?qkdeDm96VcAcUOELEd3BIAQWV>09+qQGC0vC2Yjv06Qpta}H8%?N}V6+~i~ zIX;N54E7VTfBhw9Mh3Zbp2#YSHpTVw^71>{BNTs-TTL}^zN#*fbwvP@Jo0)dfleS; zg$@HgT!wzR8QtMeL^VPg#$$_V72byy<+M1urC|tgbFoMuj2zo%7S_&HscFvxAI*jZN<|u zL~+ferKJ;kCCtYR`F>Pie66``c%9&=Rrdu$r83W;2cWwi4$yr;?o&unQ8Z1Wwqxlu z2clFoZ2Xn{8ZmvI$oX23goU%5l&YC2v6?uYRcE_;G|qBb{uSGwH1|GF{eM6o9G11m zuwQnwlFx|IS}Cw(PLU0iO*K(17JAIAl}xB(LgSyHU$>27{fX)Hho$k?VDeh*a1)s{ zu6%+sMc8pSU?bpYCUE+QO2oToG||izCFHY*q0^4)OQTme6EILK5l305VDl#JSQ=zv z+GuNsh-g%6jRx3u8En`$Y6;()>LgxbsMYw-ek}CAIDjl?G-1i54Kx`Vfx~D ziXA=LP}#RmQ9sR$xuhQu2rwBQWN=cMLH8ZEiu+6~z*vo|Yp$Z}uA8$dr$?jOaYH@y z&GQBY3{La@@zweb(4+_-71-!K38pUkN)doC)jx2zfB(A3Mc_~w4P31a1=x0(@Mn%% zdMTHWCN?=lyI4?&ry1H|YnzaOzvlJF*;pX{F)UYVz@JLUWw&DW{-iok3)^$IhT}Vj zPhadT5M0NmOY9ttBLp&ty9gVdAPXZ{lr~` zTJuPlaYgSi8`#Qx-pA$rO_1?fEz_({2NC89Ya4WB-w$_=0vmUmCV)H{K)!?~39zN>;etgj`NYsOsW|lXi?~_f{dxxYO z87e?rAl8H?#jcoP07Gayz|6b&iFFe5UJa@`| zc|1DgWyXpQbpx-F8431drN!oN{G75UEejmhsV;b$tc|}?ifQ>^xA_XH?`A?|s+Sj| zw70vBG1$5r6oh0m8dq;)VA`?{vQlLS3|i0e4^V4!OoUG(i9DHGN4+5`Pwge9?J@g( zFzSUklrkxW6$~xjPKJU7te&HpV(a>-YBdqGsJAFb=J!+8>Orqp^iV@!HP0;C|B=g zF5lTwp)&IEefCa$6>xyf=s{^mfyq<>6gk4@8s!(qe)I83*1@NEqq#6KWiX`+C5r9T z-3_q!>ybk=GyAw)dY@VZ+Ls(hy+Wjjs1Z|gEOGc{0pp%6i}Gv0|1F>JOPN&&u1m50 z7Hdx+Cl;Nd$dI_Z|G8d__;;~&wHfJX@w za71_`sttG4p2e@67lFOtlEVg%n$;u+dH@Go{=b>L@(xw*iO6h7{+pgYX(W1+`U9g& zW-g9K@chLtFNWWf3^jd3Rp8YcE*uDzv>#Ib%`scCE|&qvg>57vDH#dExS}3~U5J0P z*UlTt!;fdx`%_b3y$Er3kDa^|5e$3*+77dJzkb2Qmj>KO+@Z-!(Yte8YR-#{1Wrzz zf42q$$~`k&m_hBJ!l6w3LIxAqbor!@+*mj8$OshK7#Lzq?zA zT2A)H>|@g$;m0NsR;k2`U?Q|X!&p>v6Odr<(Ucz zjZ962<>gV{1+BWegcz8Zg6is@pgw#MaBRQp}#=)6A?LYGByS-v+nPUOpAGeY&*swI81%a@z4?`LnnyB~N8O(;IF zp1@Y@W%xzk36E@@z?uDBa5uYKv5AHWT2zYY-={z$XR-4C5Q;)TfS8k$v$0=<(Yx?V z5HiPDR8&+5fWpM&ACEw_k{bhq_khIg%RNyD9%p~)UbY_%>sUm@NAe*daY;$P zJh3PtK|%0h`=4Hs7CUfauzCq!2GsDhk8)P zoJWKLwjj1U2WY6qLn;e6s|i$$->BJ)%s=?6-_!FsXH_tO0Hq5ZQ1jRm2*LPzMG^a_;>5bCe zvKnT5=D#CiNUXo|oDCZuc#<(pycd+>N)-IasP`i?cxomuw{0VFUSLFK9M%9ygoPy~ zolX3%`A4VkmZP`uNyxr$ovz9mg}Bx;eY`F!2MFvL?Z@;q%9PFL)L7vh`j?MJ<=!}w zOa$1*V#ulRImHyF*6uL57i;_toW%%L0(W;&7tnec;^_Q)&e1S|;m^Mq*#!j*eo#yB zkuOn0$h?Ly=-R(t0Vqj46WpvLLD)u?5DMx^Sk*o>d7FHn7?V-Td?p(;KYv%4t57Do zL|~KXV@9s=uj_RL6!iIz7@VdulKW!+_HlY(sLlO`=V9iBbj^Js2d}{u{67qnPg{ek zszrAe^|q)`mdukoFhSJdaMqiDx!Hx{`q_QIwNpMd`FtP{&{BnJepW?@tH2T6@J*%(O2~NP5URKnY-u)|Bb8C{+I|gA@Sg2kwruzO^uWf z!xBwDQ1`-v>6Q~=9TIfEV&r^52_Txv4BaS;b+{>}h|Jd8l;Fp`*HNK9# zFCd)#tN7z9w>>H@jf;=wF--6b`)|})<0jn%gcxJVfmw0^*7S-}cqG$*Midr2^P1JK zry3a)0AeODp>raa9OEUih6(%pguc>J)kJlA((R`e7?gB5ee5SqzBTf=?I`}Z<3;^o zTTA?D>M11pV<4+&C`WB0Q()b!9D-sVYarEkpF;9)S=vgPu;%N0;A#zwGX;W?99}n; zPp*eSb%L~FWq(+HiAP5>duPIEbdF$0G2fU`RHTq!zD7CshVCS^UmGfP&{APm6szAY zum`HrqfHS>3oqjqR(T?^_PLQZts%1XvN=B*W#7eMWUN4!3{we8LVqWn*onGG6`8L1 zAk%0tN{L1jNbybDcSfpY;X7jdmMrYOAbPdi-y&?1i$&3`INfA8ic++fYtMD*D%^Hl0|Of`)qLWL+KY$p ztj@Yv<6qeMa>g~>4+EO+qio^y)mFodZZTs2$ja{)Y$Ed$W{07z8O9S&#~a_n8%&nk zX?#fij!4lqPp}me!uaxxO|l;~o=tyR2a8}aH~g7q=R^~Uv$ZoIg6LadEXFEMbbbad z{H*<9xOpzV1-Aretp42IJ@Iu?KzEIQC zV;I<1m=+F!g}9WPELrbk z82urN?DdIl>2)JGl_?aowDo&O&OFR!EcQx;!ie@OW~vKC3=PJ?3VNX0>PIm1<=g&t zD!$vGSGlZ6>8iy1gBwDf&lbh?Xfw?9O*jyz#LCD?B@=}(f)AI-7yS&+5F|wc;3B42 zg4%zWVSmCyg_I*hrx?q7;Czu=h9d!oFDAm%C@bYe2kiX=BLvTWs3HGz3(l7CH~-!w z?oiJ0>+!$V^NpliNA~VY#^PzO28V$i0_0)t2fyMjd+@)EyFNWKqPQ&Mhn)P#O6Hbs z^TtW{XoK6?^ePi6auMzhfaYTEZSD_3_Jo$G(k^3?Y#HRgfb3m)$hX@gDIydee7MBy z5!?PjPV_^BxmJ-g{}d~0*;Li&_hbdinw04lTNnu4CV^B*8HYkdyn>0EI^gq7(`a8t zkm7_99sxR}xki)A>ErH%?j1n@RklgE)+46Tj_}o`6Gv*f-*xKPXQzb40eA{1qMcEfI5Ythi%f9l3wH(*Oyj@gWqd7!nIfQ(GX9 zjC~ruxUNU=g;#-ir@M>@?liwqWrDc0l4=BDbCb?$fnju;opPj!+;okVXCa?CZJp9p zyv*AfMN^vtrTc6LLSTPG=nrSX#MwTJVJXm(z@P+N(z7x}v5P@GR#Itzpn^W?&h8dI zZAZG1agxwupj=M91w${2eNfz=6l82Uqpraj=7qFXxFsDHxXPm?g^_So6~5qqq)87B ze2zy(zPYHMKwj~3+ZxUIHjkNE@cd9xw-DH+O2+ZnE(EI|zMdl%Z9v$WJLXvGadUIdOG&2<;jmMEf9-vp^5Hn#7Wa^o61D}>ob~5shwAS zanq+U%8Z^2e*+R`TBOFUXS_`IDn1#bj4Cg=^ZJrhPyeRu6BC!Pkex`U;GjsN{XU~3K8fGJz z_?sj=I9xv|gwct|SH*2hiN_&_ZJjG=GgJIH_S@~LQN5JfmDd|RW#_4l@P zao;al?)BeicBYXe)Qq{2@ZhFj6U5BfUh}?&MS|W)ioou`S)1lVP<^|vwvOo^8Q6yj zZH`LV{afxCa9{TGskN1STq87{e(DN)SV}9swFH)(gBZGcn`&PqQFR?8Q0qK+G@15K zDCHa5xp*6NqM#=mcuh}XOkygiE5>`ktnsX_j*-S8ki~V=(aM;sha$(D9M@dUnOQ13~{zY59W> zTqP*2v`#3|9{Nzf8cMMmZGU5IOseLw4Vl%y7;Xmvj|(cS-G8c5nGL5)4yqLE&_j6! zrxm^(&dt#rav%^Qr}sAdX2WEAeR{*l-V12;kO=fh;?|n1vo``HS4s+E8Eh9QU!HnX zxo+iL?%R3_$PxYNs`6`wxagKtl2Z039KnPg2PP zNM=s0nW|DiB*%I$LcJ)a)~qxLVVni$<|Br@EaK(93*R3U~kWlvv>3 z`W?kYCy!{ZeRTk`dv`TxYoh@KF<4Rs)F1R>j}T*gNbQD)f1-Iu!oKTk+I4>1h0L9D#~ZKjoZQTqPSkI0>SSnFms8E*Jwgjy>QmIO3x4VI33K=U z^0V0z)a6jAGjPKuhL-RHL-^U5_%ycBfQ&rR!r;mQXye`hp{xX}LrGeG$Yy?#wW(vYuj|V~oQ3E>pY!)hGgbVCOt@&Bs1vi2Jzg4rSCgNMfn z?9SAY^<@rTAf{)wR+wk|oDG*~7)ZX6X_}b(PXKwtD}85RkNK=M`w_YZ0Ndu>|&N9N-s)5uF;_ zsfhhjq-jAqnAKt-U10}zq87xn}u8%WVxM%l=gp2MJhoDv0I``%z3ey zCGau=#|h%o{fW6dfSE00c;x;AcwuW6GogW@huAaW)Ryn0kQs-nA|57;uXJlDihTd? zeU${1g*`GZRQIYSnd;r%9y9xgL6+ctcV0g~eGNkUKI}x(La>5Db3>`hb5Lw2bnHb{ zRUd~i2}e`5sQ+*aegHV+C&uD@p_Es+yDN-&dkx>o8v1oOhp)1TXgj{16CnlO!WLBi zWYJUk3~KpVN3Z9vvZu_dKCLG+?jbRBrkvnGU{*?xy#g|shapgeO@WUi{-H)FuqOw( zdebhZrGJm9VFb^t!2%jHC^KJ_*=BZjB%PIGD@^D>#rr@b{8f! z$}!Iei%(Yt*hJ%pCwNHFxtT%y`dkwgyE|Pmopnyb{dJV^Wp$l+slg_YIPqIa401`ZbewCTkPw{~S)V5}t?kUL^{`9%9 z{`-ShAAE4qaG)zb0Q13roy}wP77&tR6l;Ii7kkqs0or@a#P0~O!RYpHB9#nEP2bpm zKMgho0L`f2%$l}eKS|_lwKhtw@6%ud6P2J_jy=s$hAc7%A16Ug2V0m_Sn;=1?}o2v zR(@58;42R`w|akE!t&YWiMW83s(_z}Q~OgI4efbJl_({d(g)Nv5>P&sZC*i}i)Uwjn8cBbgGILiv6ILj0)aIgu?G#}cTHsHpwF889JCiZDZ^w0L3B6Z*b z=^kr4I^HVTjN*@t4Qt_*FX!tPDMA+T-gZXBY}{@6Y^#hpUfA*&NMsFxRi@@y5EAh> zSMxh#a=aw(C2#SOBQ^WJQu8GAec5y5(Rep8&0SZkdY+h;>awpK?B$e=@2>m>NZi&K zyD~E3Orn}zdwDLYY>zG|z-z3c`AT_{7D0~rcd>yx-AB%w8P+@wWEy0TM$jLat5fAy zGh1Vl>jdwJnHRYbSM8Sc2lyAF0z`yx;RPg*h(dQA_~Z5W0+ea$;sN^L>0F8=yB`=H&gI9GID>m5XaV<$j%%u^N5ajyB}+P4OYz zPP{FN@~{H+19{a2|AcqshL`pkqbE^e@s;M+@MnlIZ~Fbjpn%s+n|CsO~p2^@nY&(mu3*pFGhR*Qlpcd4n5_= z8${|jL$og!a)Jc_OcLubfXc z!yx00al5NWCVj5Y;e%DKW%5;);fD+O<^-bH4XP^TrwYs(riLe2piJ{f3L?p9@yrD$ zj^mA9xMX9DQPa$axg_Hnj@Hc>L)qn|awjIiEnT6@wsK8oL?DaeUd*m-Nr3jKnHBUl zkC@;@V(;t5#Vvp$g+6(x4+eHeg2OLP*x<|>v++ho!_ zDPbLmQ;cfGIl%oAU@vP^&htByfk1*fO+nl*{hmQae_LF!f;hzoe08HUpcIIAVyxZG zDWKiRp?;$KW-URBhh*OgAUJ_ek{i7Sc~uI(XrS}+6x(uct|(*Yq!^p>rIi=PkpLYo zqRZBX#?QeZQbbIXqmtVdRR#c?SbFM%oT|g-0OOE1l4<+0;PuAwccUG)@wFMMQ=J3y z>E_JB@k@~m4g{o=2aFDNdj6!~!{3z$!ke>Yd3=@h^x!tqKCs!ZJrnxSzaAYNEW>O} z@D{jm!HxfpPv+K*lTh&7H>I4!@3Vc0wnAezc%g&b8SD(yt}4&n?d6qAiX~xUt}Fwe zXrEFp7~W{W5#Zc}lJ_t61C{Oy+kz5%l{#?IUy(}Fke;IHXCIqrR_hHubSeig%O@j5 zvD&WL?0+#BU5v_|onfJG5-ZTQF!to_z=YjpJTN1gB0 z_8hv7#q}VLvh78J0X1_2Z10;f-}Q1EL{Khn)!=PS+myev&jpoCZ;Qdqz8WTov!HJ8 z(oaMzB$)U!Jdp6D%9>JF=*!!!y#u^}#>#Yo&7X=9R~ud@y8J`VoAj`ExNK&qsu&0b zl*rri=_Jt5@BxP)co{a!qZF$k{>jXCs-X&rz`^^@X$ zjg4Y4fU*i5m7+@WJFHGoFGra5%vI!R!H0QUjld~Jjgn?M7ZZTzz6;rPlr%K3Y&57% z3}u(M`%dIBG9$Ci;@2mXxTkioy)y&dYal79L{x=`;3W^o7nuHpZFX~4AAQXL8YPsY zk<8-9Rysyc{CQc^;T#V)&#;*o5%+@5+0*WT6j2 zx9KKIUy$h78Ha6>NgV?lu{JzW<0|nDEL_$psCnr?7lB$;6S#>ilF)P-AGc z7xLhK{uSQ;**Q3x=N0d)#h#7HQVGA-{(3uHxvP7!>kQrW`|FXjG=|A~ZB59NCMOQI4gW`RA87`9*CPIsA;KiU$@Xzhq`Q`)3!Xndzo{3;ij*MXAbAjj; znL3ae9v{#5Eh-ST60guObOXekDL+tIDRCO8`Z|`?T1MBEAl1lH(<%fYU|dXwQ<*e( z4~Gxm92`0%X?RXTPNT|E+aG4{jlY@jO>+%P>|Q@cdHmA4{=Ay1>FI8U;cH3Cdt%wN z`J}=p9V`%RM7GdDnM$5^yeiX~S;Aect#ior)_OE*itkh)47M`f7fvZJCVOA-Vvh## zxgg)X5_#*OZ}oLAU&yx#7nAw@1AcfSv^ojIlSt%$wx!FNROZ`@&)~|0O>caIzO)$}v9FR&z>ci8!Fg-=aDRw(82wn1L3*8y>UxAQfBzJ&NQgfCP?yMi(g$a4gwNREe#u-?{) zA|#Gih}xvP@n=V^P~i(Gi66G(DBq6;t1o{yoWU1fF0dndTBM08)h1~X*Vo@CZC#EB zgfD)FBbRwMad){QG|EBDpPEXf`ra&HYzPG8&F0L5YK{KMt+`bc@^GoMh3;{tF(?XA zosTa6K&`o0@as^kbT5&uS@{JU#UJZ#40uh6gW%KKb5I*s(h?RcKLlCQ-X>!Q$#oq0 zt_DLoSM_kz;&NmVhCwpgPO#*zzx631k&=!xUGDs2w(3&dz7c%51Tm^<2)6bP8)Z~$ zXR!wR(UX1g*!v;RD6)Tj$>iY%Ix4+?Z#ZQR*&TMx{(5?@r28UWCzNt8+YG^@eu-Nz z%2>GzWIIXnKJypowA`tBD!=b!kj0X#DL0-iRU>RRo>*(n$Xf|zovtvUTyi?&BiqN` zAfjQxH$~%oua_*-h*LDC>3+sP*4E9RMmpqYYWSRQq?s5HaJY~71;)J5>9y69mW#&{ zXN~DbJ!g+RuHJeT7DqTMzqO#RBq*7XRu&|1vl`TJYBA?d^%LArkLJ$_VA`MM36n|+KkQD280DX87eQ`8{4XPjon zA}z(Ye#>9{%_c$WpbL>W`9*b|K(_@m(b-*WqzdzlH(cl>FW@%YEfcjlMA9I_ji( zf*xD&yTuk8O!qq~3e{l{j3;08)hxxlfN5%)?%C)@0qZx(m^LSRt{NVsw^md|%k&e5 zxDLw`WG$L>U}LEn^a*M2(fAEL8$slFpXgxYqMoOMzxm7tLIeBZFrnt@yDYa;(~oG% zaUJB+Mp0^dNL)t}(+KhB4Pi;itcmU;9taO+&*;OtD(WWebdt%4+mn#b(%< z!t;bg0{9{42+HGHCV2=#>M&V3T|DkU54jEE=rk1FNIB@(C201+141#I_|kfgHLlMzoE zr7~Z?ka}im3}uSbyJ>)=(A`T}Iw%rQ=3d#Zr(vcR>B(J+dZ$+w`gaNKzD>`^&oS}w z3Z;m9h&3~0Fy4P(F@oTaAr}7_&$iwZ;7uwd7I*^hmPtygju8?Lf<`8*R5|`Ll>XEw zoBoD)+4yp_$pm?ZMH;NXiSMVzOV&NmJJO<}F=FeWe!Ykzy4bx3r~m-KM-SYMr4@#! z%bxJY+AC6vy2X4= zA47ICB}WxQ>R};_U;2p)iHnItLrUOB-XF^%`O=7?EmMf9K1Y+tRGh?OCDvJ@VWh%am1XkHa+hxgj5|`C#o|qHb92=SkDxayn~Sz8 zbERp{e2b_%j5o3`d^>TKrl%$o>tg91Zas*t^oYTuoX$smF}+1&zi*A&8r$&{>Bb=~ z4F8`dh8vXe^%KhxDwwCf%70L6p7&iqI`lXEAm!jrMl-WN@2vtq8XcnufRp&pCU+Vn zY;Hhuz@{(Aa3~C+N?iNZ>&u#|wWv++1|+yqqFh}$rlqTa`hQ}$oFRk8pb8ly7$Iz8 zx?gTo)@SoN=9*YXPe~LfJA7)6%w|%RIFYWizq+*~ha@jlDBW!Lg~@r#Zi_LSHG%gyXko=Hj4;Jw(IE3X#q{5#|#iVocaEjFq223!4f-3+uW@QBefRvbqp}IQSpI zK@N&Mt)v`Lkg1GjjVaTHI$s!5H=F(ZUS126cEbD@p#u>!jI@_o$~vX7_4%@rMnJ9V zbJo%-`qjvV<@9*Kc%u~y!5YrLuGItA7k=6mu}H4x+I_W|)OO~9&h_c3DdBnYA1{PW zm=j~pAL>5u<=RTP+noEGl7GNR0~)#$@Hl=Lf|_wa8bm$^*E)>qX>O#Lebr@kJ*(t} z&y%E4QiKo%W*46&B9!S89&*(8N@J)E0Juv`p z3Wf0@*7|orE-=8i#l;Q@tHZ!o8^NDWSFX41{z#+$JuTdp*SJd>c>KRjkyylAw@`n% zZBP&UdZE~`L9`E!Ec#n`{*4PJNVF(mNr}c6IQ#cIVL&)uo~ot=KQ??WbdA?I?H`Sz zpL7&RJYCAe&^NtmwWHK(M}I&ux4tz}_+bG>AegGr`m%Pzg{0nKva59Ucd9CtEoB9{ zpRk8tDl5sy)&?`a*dJtX=buL87X}DNNNYhs#flz9=Y5R$e9`t$tDw(t-Py0bxPN*j zL`d<;EJyr$t7S}>FX7wwya;`M(Vg?ef}$QB4|61kbGdOmoX_#vF zq%5>Uf@)tso5^e$H0<#ru2uR4YLpKo0HmV`Y7#mk&#qG?DO{K27)^SA*g8fT5 zv8MFXjf3^(I1BgZ@4EB8MlEkaWkZSE=at0a*+r3z=TYFgWCXXy*=NCRt2Cd#wO^hc z@Ii`tzioff%W~M21|#5LkU}(Oz_Z}iTZ>0T!UNUte)zO&$DWm%s&2^%_VTI=fCW!X z1%y!@-i>dmR`u%C5$P|WIGnCB3Crc~?ntuzk2@#$efQW-KD@~8$x+k*(8j;c8kOp6 zU*t-+*SWft8`{((DJzS-ONnNoUW9sPuBu(OV@^Er`hmh06Heu+3Cb__8k+Yf!bfeq ztZLix{%zfu%4?x{W1agu@>hO^r!7(JDS@mi!4=B)xm-5e-}CqB(nF^E6d9ydCl-`3 z6uRiN)b1aBBOZVKFcB6L$@xt1lhg<1v>P?Nyf$SlYaO;^1aB8w`0>#FZ; zB|M|5NUm0(L)3W1UM<4%!=2i$0P#*x0Q8q~%Vd>&Kl|&?s_8+*SRjIcOXNEZCED&X z@_1cwJWbf4uV-86$z?q7-ZzKqg)ZH-Q^CN{8$Ah*_PRs!rG|r;pYo1g@8{Eu0?()G z`Tm_%{Q;QMPIfF3lUwn1H{D8WY(ZRxb|w#7$%r#D#;lN)pWjP+csof+BHllR$-IJ; zWk?n|sy?pSjHnVQJ_%mst(HsaQ}zNHDw2(7BvhPLm{jbI5-B3Z!?O?CAai|S;{`{~ zJ)}Nd=2hGHc22oxdhs100qK%J@xfO`OIvk*&a`F0D>`BO_Oea=^#$2Yd(Kp&#b#1O z_wUe&uH5FCNalm-?D@s*@i^VlnZ{Q7UUhd-rMG~b+$RUKO##F`cYH5mF7;40`)io( zzmKRPk)eK&=h)DfHPgS0URm<5r0_vOUxZqMw$-P4Gf}cxVQY`Q22^=_!0tC-DsAh6 zvsF6ay7EN0_EpwLccQyoHqMikGaDIW1&0`&`mg=i8qCl%pRSOGcpv;tRK!+&`BqA( z`=RY1l9(|^>Kx3&Esk_-PC5aRC2@kLLzI)6)@pC-+V{K@xYz8#*kbS3g)NMEzIxu; zbI+I#eKkid$4NHqPEm+=%OI3@$*KGN%XcrooTBv)&_>S1p`0hf8WV&OoJzawSXeZ~ zF+S+h;Mn7))VV)xIF|Jm*{&f{b#iWO2;YnRpP7yEtB zyz+daI;9}B0UmS$!Btjx|C+IN2K;?1*HwxOB(!d&my|FrIvn*5FW65FlYmGsAjvfC z_YJ$-MIYkEDGMN%6IA=HHuQrRLqgG!oS4bY02ds{monib#drg$ESsZ(OAxE;>EGMJ zScjSmRLudzcyWjS*qE3RsrNGos8c4X0!rye1RBp<3KNN|+wtr2Ma&)1t}t~m^C{GW zRP$d?3G}|Zk?XTv-n|5E*~R{jFp>W2DBo9wo7-7_-xT9>^(fcQ9GIJdp!zQOV>nmT1ecgvs(WNW=LF&k zX~A1n3dnc}>;J&ztzC`P#oUZEJaP2HAuIl+uB)kB^dlmH0kAgyh3a!b+qjAF7;T@j zaMhpzftS;3f*gML{;p3j(+V+wJT1?}(1nX+qYD=1?G>WxrSXT3b?9_mkBFqS+wUILso9(~q`_f&9W$-t!NIbVak& zGx?&L7S31hB;9Ke#{ zd?Qfw1l-<#|Lfn$nhS|Kj&6ck(j_o zynYT~_AE%o^5r$Fo|_oeIq5`z$0m-yyUaI7MEsfsr;LJ?3WIdK?|9xfFz4{_xX6v@ zm);S7Pd%J!Pgyjac_pRYo~p(!Q#u;|ttOqzpDILd28WdH z7tm|Jj0lTqvq`)R3B#qp+7ch|z1CR6*q@ggukxom(+E5!eu)8yHU(Q|?Jv=m{s3_o zC=%avuhHB-@2E8Kbz8W=wc+kG3P)ahbpQ z-yi87Y#@=aFAJ$&-a|H~HsC8b%9+a1`RfAe{OQ2GTacK%NO^@bRD zT4-nf%w4Nw3{c{T!RVnW+p+>9gZH5%Oi?63;If<71?=ksDZ+Ox7&}(!U;ynHT%oh^ zIaSA}@3)xJn73wBw|lc=W(Tq&Ewaftsp~2amw55dIB3Ur-oe{_1#!WKCYp)!AK-t< zWQ9$*r->L6zrv($h~*Q=V;J-vEoTy3t+Wl;54XG`I?Y$^WW6Es$23x8D8i1#Jb}Zv z4nH~iQiQIkJJ==DZ3pEVsUupTIreDO00viDcyfTYlZnR_f+Zp?3aX5Y`G~_P%HgvBnfi>(F!-71sofN& zxaC&)0Wn`2sFwF?J|D?SxrVz~M~2#;Cz;9f2Ire@tE)NFjQqeLBPen7v}UnykzXHj zcv9*a;(l2X4~XLPv+gTai%ds(#W2zT<3tas!;+sN|7d1Ly+j-{rdBhBF}fl~2`nZ5 z#g!D6+P*yH`zheAaUC&5KuHA2OzSSBm_}PWIyFWmHTNJS8SuTatM^4i(K9X|aeOfr zD=Xk^*g~>EiWbE{hTPs1CuFERIvRO}dz{={;_BvcxLtaelAZF1*rHjU&^A`A zNDI4mAp>==>#*O6q>m7B`UIYTNeQ8$jf1c~gbP~ry*Y`fv_oG>%M<6I1u7=>=0L~U z-3rp<*Pc^6dFr{CU)n9AJ?{+gW;h*moVVo=u7*9*PawHA$EFTL^fq(!y|}}CFUxeaKcF2iY4SIU`S$y{PhVrdyE3Q0%bA?t&ZGyJ47a|-AyIXd~6q*Z)F z=Va_22<0)-C!xhn&Ab~<+vJqFv3Ms@cCiBY)fpz^3@qK6%65q~$9#7(Iq;bkH17oU z&M`v;9uWTP_w}RG)R}^Z;_KPmP^?4Xv4gDNuDa#&ktJ!fktcU4O-X{HxY52+m~u9T z75ylVgdm__CIW=wVY|C){6-qY^cLyz0gqtgoN)=c!Dg;36RSJLOs54Y;Y#45VUOA~ zB4T-vJOouU_=0N%bmr9q#rGiv^%ebM7A9>!h~`v`lfFxHt1Nr9ljpK4skce0ld~%e z-!OR%=iJ2`n@3)<@ruLCGRabjn+)deG&1c$B^VzwY4X)sxm>F%TL{<)r3`z%4DLIZU&;ARf={M7oiW_#;SsOx#AzL8P4(EK zMJ8Bo{Fe`78y@uC;6v658uAs?lBynqz5KvW1#W)-jYuc;2w90mX7EbUr!1AnjP?E? zcr#Q0f|q~$(((c9oE9p7Ysg3wnSPm~qY!dfK7`A0vNI@(>$82+?YSEUuJc(y%Fnuf z&7XC}&M?$P18ahMsh`>3rq*_kjMX)$T7Uogb~uI1ZP04dYWlch%S8SL>KlsNuMi`t zBNN=-zJ!ggdU z6=&8df5cG){4%m6N`9+Tug89m8$&^af_w4+e6EyWz+N~ zrvv((Wo{88G`oKY3@k_+v#c3=WhLkR0^+3+jcA>P&54(rac=D>`E;LS-XTFO5j7Wv zBtd`lr3?L}@CnZFPtmxWa~)(;6I{Yq-QasnQekCx((!|lg}?{F3Zx10pAY$xhKHeJ zK2!BGo`FFE+RgPpviAQ9aKfV5D=T5K`~DyX1pkzAi5Z-7YC6Kd0e40S=SsitJ`8Q% zV?0jikbe@F)RBaGGBPU}!Kn=SO4v7Ts+AvDa#&H-4ScJ*UH3v%jh zoN`KC;&~5i+&Wmwf(SF}(-c=w?sCTg^lxfI}yuu>MaAwn(gdPX=A2MR1J^Xo8JPNsEyw zxl_kbALzAqhz4d8+Z{>u3L8Ao{&l;O6}(S$`^8rIOW06t0KKn$JHf#zm)a;b$pfL4yP~ z`j4`-bk&>G5)r4?q1mk3YSxKL;fW=X(X+D}K4GDYC)4-D5R$$NUb>=5%xyql$ zWmzn?@12G|G$76P1INEx87*res4&)OOXn+8tZ8UakH;j`Qm~KI7c96*er>5%HFhl& z&a}XJ)Gef4HAQl^ETj@iaFYpU*Gt^yn%^?v^Ch-csdv(3b=2XOP-|;WA+DcaVkJ!- zl|06X0k@{jchE|`G{G(-)m6%EKhK&_g7vpgKOhGIaIce?W%oSV*7AWu)+8qRHcLHb41%H*=oWQ>oSAN z!e>Nnc4$<{Sf|7c&mzKge%O?f34WQaiPCjU8YIt+Cq9vZR&TOlYh&M8RB}$*XEg*x zF@7Mc#7HjpNy*z)RZYM3eK_ZiF z+xj#1L34Yft+iOm>+481#?F63Mv(vY!_4IFt7a{c)kq1A$TlO5~q;Df@TFu@FL-bTDb!LMe8Lj+cHqXHV1PrE9%6Gny^XEXpNF@=io ztH{3wo2MQo+QYnBR^Y%+Ar(N|1a`P3a~{9A69Uez+e?oRp#Q`3+A1D&OZz1el z*b`lSwDZAyieDqq24_NhA3ruOz|;)^^wZd|>Mtd#1OQ@$t^tVKw1(Cmiqvp$FQgQb zTxB$+-%GyKfx9Bx&VYu?4^S_k))7ONk}&k#90mqqM%9e5ff`n_<7at z;0?o_MB=**&f(@j`*E03zzLfMWaUVuRpu%x0DFcTNPhGA{gqmZkoSLcW((rqnFy%- z@~13TR`et#;t&K~lU$Y5+~S~ME#?NekOfPm;uPjUEs-o;DNP#8Vkp6cSPTQ><$pBA z^5GMg5|~g{Y;{r3Py-SZ;En(y=2E!UbzKBG;R6BL=l4dT#N?=zwV!p(J9X~DDGcA? zeWVILUuW$~6+rP{3E2@dmUHJ()AoeU$g$lzm`^3_s_G;Jwk#hr+5j$1pdwj7zCbZ{ zgvRgaYEVy$*qwrooQcU#!au(EZ!lm3`=R_%ns`C~(9r?U=~9XKY87R&cFWgeW`60r z_Ic$*Z61goYJCEu2gR69D308!o!hFB*0=|NqGv)O1UD#w z6?jA$ZhmQZsLJ?#658sF(sQltX=+5|YFrv!q8l=h0P>4i6y+IyBzzXQ7`={S4x$ zMXG=FJ<855JPk4l$}Tey>oH3!&etJJ_ZyJWNOP+zBf~o*gEHD401u6MON#Q}w1M=Q zHhr)k#At~<_>zUj0U~EHsPdWN+Rc_-WMZOWRwcc(GW3wpsL@K<)V9q>-ARGJJCV#E z_xzwQfG+^%4bWHn#(w!11oH0>fanC%`j+Z{6dWBW{D*X%kj{?qf1f)8fI`zovfL;B zwzizJ7KxHih3Asb6ALEGv zo?u7nL3icolCucTYKp|_k92_xZbl;O=eN&;@n7gf-!o&UKm2_Hk_{tx2p#ADGh?Dn z?Mn-LgpW0WE}HApXVlK=(TPmXzU{tX&-}VIN#GPf_5zeI)dAN@2@g%ue}fLx%>}rj zxxJuT!2VaK3BV0IyBuQg`M=M2(Lmh>5eWY|`9JEk{82Y-+p7N)_V^JXaPvU83;(}5 z0VFD!tTFM#?Z34Sh@JdMgT~_xSo@eZAEh=1?AiY>l683YPjC$9zvm=SC5w-Egh)0Z zpz*((>?2On?FG>e^54t@xT{FulIoBSp8ofl3lBKs|6yr?fAOjN$TVQt(Zv7Xqj&J* zjF*B#xc_DvFxV`>B~6HAocvoS{{K1%g%*da|0fIJ|EmL1(F!J+^u3g0hT!*#!)LXJ z|K?rx#~cd}?gDIma=7$on_c*1(rLQ`P&SMIDq4aKOn{Tms!bFPK#nB=5{VXEU>0D3 zgGw+uo+}NK|99g9(^C!%l!00T&XjG%A1OvGu9c5OJgvl`@K;|j!ffD&)#_uqeg=+Z z`Ds)!9{Hy_!zOZQ?ZQ!M{>bS^ridzFU_O$#$^79Aq-jQ)w)uzO^H;4_f) z`R)H{Wepl}VJY2x)Du`ZV0>E%Ck4Yn?z&Eu`D~3beK|z8jxj!Qtf?N%+du%nMVA*e zihL4)@Yt?uUa9{eV}j@ia`90$J#;#DiJ&{62(7&Wi(I zeS9as7Q*=$xGI5e+ufrwJe!XHtt}Bg02O`Zz_6u>`@cK&fOv~7n9x`c=@4>+-V;|l zzp)v1&iviRrA3qAe}CdkxD~rg`Q-v~V7<98)nC}1G<$fqC&kY8-$7l7LGi@1HrNo? z$T0{A;(G?%7=~t11;C`)gmx3!a*#Ahfy1~E0eTxex*7Plv5ii|jmcj#Bq!5S3WS4Bx0P7(tbWDpW+czi{kV zv6Gk|p4w6Wo{XP9R>PWV-|tj&+-^8HpSI4^)cos3dgM|(Kd03XW>)tCQY#lG3(GYm zn$N$x%aS6u6%Itse36>`fKgjR2U&b^V~2*9HU-gqI;OvfHU+IAzGx=r6r#^#r4Z36 zf9_G;VvjIn<4sCLC_`ZN+y7CEOUg-JUZKYIK$}9eqT}Xo_#Kt?9(16xgFih9Y_G11 z&Mf79Cm7@fHAnpc#RNW+Ijrus$9oTjARONRigm%qX!WN?-D)O}q8j+S^*Ps82E_{R z+h41={Jv>->zP=xJf?5x;1v{3bBi0@S7qKh?$$r#a2Z)=e@_{@t~qKC9F?+RU&>Q|&-kHe2yC ztKO77VWBO+r;;uN8NA7*@=g!r!JzthjiNLtWhK}B>k|^LCWEq8%h*QWuzcYb4SS`q z){I$j2YsoCppjlPa0ZRRWVa>WmAxEW6?=(!n`=_V$|+V#S2;*@haw=4V5g3 zWmX!Z*rOKvb(*jc>S7BN@Svp<1cmF3ZN?pV%~tLQQ3w_oW_?V<*Beq-ul?s&+(dU@ zo;zhNMEn1k#N-j?I9rLh4U!2NYC*I6+V8=eotOwH*1^y2RIVN_vWJ_l_sW)72db7B zle01(Dw3OOK_RAyt1s zkgDMn>%|ql*}}d1YDeQ*{91K|nS4X~=RrSVhW;K`!8G(q?$um7d5qLt+*~2OUW8eh zv;B|Jo}K1B?Do_wmp@>}%rUCGCZH~$v$8xM7;9Zgy~=*(*0 zIJE55TaGGlu;|k>R}cO9^*myGA;(;{8JphX!fIJDcxG;iY4`?#VPzF22I6}|8dE!B zfB)TFx_^Y5CeO3WQ)UBi0Vv^+h_>XQld2J z&?3HqE+^;tQXslw(z5?)eZH1jy5a?L-sTe1DJs715^N&tRjJBIxr`jfVHj`a#{n3_ za-c?HCLH3&t4a|;DUaf>@K&TD-(N(uw#Pabr6OMkQhg9*5{8ZH)}$jmMa-+TXc16S%3yABPH6vfi=HC}miTJR}!l4<18z zHR{va88OOraS!|jsRt-k&iZwRpL-BSh=?28ao#)l=8;~0*4`eu+Q!v}c=FN`4>A`+ zpcc0{rK8Q&TL{|3_FLi)5ltSJs%%By#0yW*=Hbs0(uC+3y9zP z1RlUAp`Nvqhh{r(A%f+ouDJInc=|06#pFG&y5w%^K-?bH>hJd@HwM_M34T^n*kRpj2AipP4tI#MEpTvBzH< z?eMM$xbhi?V^y&IB(7|~1~AuVR}2cNkG_h6JwJd5{g8ZhdyhKa?w`OvZR^c@ohv_) zdkWs=TyFT>b$|@ppQx<6o)i3fbCocQOG#9>!~>|-LH=D zHSR1yW%cIe#gj5553F^vc2lTwjwI(sTsmI~>qTuN>&uuCP^BD%bDZJeXs2DF%xf6+ z$Z*u01Trl?WYnW+lxj&XY|W6!=P;MmLX503d{%eI(a9R6urD=nfr9ekYeg1g-*Yv2 zM34|4fvB82^*Cv*ohe&;6^J`r?cnWDWZR>xnzLStJiIN#Zd}VDbrJD%CFveOm-irR zV-gIAPPY(W*3-zl>-1RFPpYN<Aqu|HT&Ug(CP6ie4%9@m9=v&u~3?oX^cT^1E)jNE25o3gj zC5oXFqWUzHwx=BbhtUKr`A#p1eKR&K1g)V&;j z8u0R=dkjQD{=caEs<5cO@LfcZQjnIC?oy;1VWgWGxmcewf_Ul~=|%pPR!*Kq{7s%{Pk^^gYbD;RvqN254mUOM{+~^9mVz((HDzaZ z_3`wqFDhxO1;o4F+@i5=1hEf=hn(pu9_bn{D6emTU$)W6bo_*}6>Y~r}j6R#J{`Cj!ynPE7zUqlBcWc4MYiE8t zGMUJf2D_L{!B)c|O~?EEJ6YfYzPU-CdcZDAbnw}u>Rw)}{CG+ymo#T!E&MgVxWS-Z zmihIRZoL+H-z(|Dj8X&l@65r$$h(u?&)J6=W9r_E)Y`$p3C38y8L}iWxOyp3#E0Ju zloW*q3Gf|$AQ>g|DbRJyjL~Wd`TIS7(S62E)y(HZq8lO&vkPqF^`Q>l>q6k5E_*Vr zFDJBTBKt9<)&%xNS`0qhA#S(d90DDx&W1zqUI2cx$ zzyh1Vf6L4Ue|fXW{knQBCN<5W5B;?kV_2mAGgQ=~Lkp0{f{U8S^BVoArh!?qj^Y^S zmDn+J?svc{4IpbpKC^hlk)!WP0#0>1{wPMcikaRjZ8aT}&-mmp-&7}1e!{Li*@V-< z$=`xg(v*0tJS+`c<2_EpiJu+$A)&u|G+-u+9)hauDBihE4R$ATrr(E8Qd@>h$7GUC z<-0Ow6-5iKqM`^$W?;y&_D6cJBnHoYqQNRwVSWl}S$jW-&;8!YLfua8<@TF;0);=U z#7wLpcSGB@&yU@lA}@K&Q(c}lH~#WrFoE{A9S%KX!clsPRz- z0twX_)A4gGye^^pHCqZrDZAi2qfdp^BodY?YXwna38>z>R5e4gQF$0*Xg#0tY|lk( z)xPMF;|{Aj+shen|G?89^Mm-3ePkCq0cBRF~0Tl8WMO7+<)FFg%mXi zLZ9(@tYna{V*m80org(H)bsX3j_F}e5}9jP9J}kwx;11XqrGfuX6i=@)Y6fA1yHR! zt(}qaOm>L)+LrHQjMD~NsvqsfQE!6s<%gpcFyv~?K0Y6*RJwS?GR8sjSuSq%5?S;^e@BI< zX=_A1yYLWZT@$Z`J2`jmX~Y=L89l4%VvBqVG?`fnxKB5b<2}>`WH1vws0P*KO#=~X zh2_0L{Y!x|nkX&@n$6ocml~2ly2liualrNP(9y2Of7e8+`2&w~dheW&A8w1!(8qDPM({6uXK@{84e!|xN)zx(Ggo-+YU&H#PyPaur?-=*_ZDtIVMb?g{h z{D8>7|ZF)&uQTK*aGc9ZML`iWs2k$0wa`50Cy>9cbS>mC#mC(2zp1nc0DjJ-7 zD?$r2<;^C4rP^3?EmbKIrw|NX*2(+zjM?70Gd)5PT1BoI{erO$?Ag`n?XM*1&&VV{XKf6%u#k_L&tIUCB%*$=5TP+7AkD&MpBZQ zn`xHB)y-}Zr&DFM%X_jgv1I+t^@9RXuIvhG-UKGOZwd8K${6yto?u4PTl2(}w0i=x zD|0r#|D@>EpqO8H+wO06xa}XrFJaR>kfA}Cd}mP<97YWwVt10V89LTtw|9!zr9+!b zo!LV)0Ggjrc0>>XUXQ1o)tzoQZ|T`0r*B-BEf&#APUPfFVrsz_ZZV&YzOpPI$JW54 zrE^$ci*HHoyWd<1qHf)TR5z#PX+LZecHL%dQ%7KCKkP~>fN?_FKqDgL>ozEJG_T*GVgv zkLL2-U*BHLqnR6hO%#$S8^@zRu^%!fJme*@HtEmKPW%C#7nt+0{^Fyo$}4VduX|~_ zO~CH0UYcAzAJoGB8rU+e9}yEsHOe*{w2D^9RD~xN1}55eI6U?|!fa!$K8p63jw{~U z82;>F=cb4lbx)I_Zwam%#8gb{lcS!JpNgGqYO7@o}bFx%i7OI|FtNG zw2c3p&mstvT>1v0U1>3pYh2Sik1u*R_sfbcC8@Zxr7`@6&57tP^E#XuO!jM*EIBk3KlL}3h%#0GVrsGaWQ#-O5Tqc?DEfE0|;zV>RJY)_uH1 zaHN!+Kbki5OmpgIo53I3XA4mib}M?2$t->xGu6R~><0Fh1crLB{bH~bv`df!Q^~ZG z*}9bF)?A;?bnGZ|>BZ~Mb2#BRc1jDg{T%CEBXri`q>nwBtaVRfU>1V|_9|WLXDrH~ z(@g2(GBjzxR?1QMjlN#%<@@M3#(}B{IX-9^2#p4nJW}<6BYH3=Z*~ADL*U;C4XWL} z`|ET2Cds!5%F={-m3sLW|MlHMK?x&tk)?R@S3*dG>~9AEi(RSBbuYg= z`8X>Tt}aw;-xw2i4zYn?Dt8U`PbBnaL5);|X&&*>ELdW(yM83n{a|Bknbd-Z9tKsy zF;|5nk1u}#|D5yJ2hK~k`%PiAe>3P1mK{4I-zdRjI9l<_10=-p5({@f(QzUmK=1MX z>=-y%4Q|EShST|lFh5wBDVUzEUHYC|ZQ(OfBv?#49~?e2lqyzDs&R>!s8dTYj>+5l zbocAxJ18f^Xr7;0dd|itx0_?Mr33qX*u6#l_U&i;1Pt6d7udmzBuI#Tn@`|Q!*$Nw zL{NnG+MrQx!6!1ij590<9$On~vCR4s^-65p>YqyWQYbr&WAFFd-t+(nwC?RhL(xv< zvXh=I^L}*GZv=(BNnLYt?lr6`R3(XMyTP#0-GUt>{`96+f?1U39f=J4_b+;6B${6U zznUZLho_P5W#KAN3YAlR@1y!iq>4R3pWwB}$EE0CEjuo378*ImP~fgj?a(;(tkjtO z=w6~Uhk#Q%Yi-IO2)6{9<7!JeSf<#wlm0r^0K_m>VnhJAoLW%tuetXW0dD{M0QD&2L$#Yc46vOZ}AvHb%_ zspMKw7mAifw+6jC8Q%h{??IT0x_S_TsA67-<0e#|M=1bMuoTZ+eHo`MAhQ(t3tJ0! zTKG1Hr#QRf>Q;x6uzjI94QA0v#Fc2PF>5tfYSkHR{qbZS=3j}3hwqV9zMxv(Q zsUjHpxfNac8aJt$m>{|^4AHwxpf!_6k5c7C;e!CSWPEBFL03?$@BN?ZP(GD{VH4a%NDUPJ)FwdlH<7fg$q4s}^ou z61RH+nONXA7({Jib897=v;z~i?aCoJkn)2JKn*2z^* z1`sJ4DpA|NaOpVsNhoUx^Tz+A9Ho#dk6*dc1*}VMm6D-El36&@W;7g_rN#$XufALN zS_5GCtfZA(|FL20cG|3lu6dC^6FNzATqZt7a){YYfs1q@=WxC-uNh{<%A}t#h5u}& z3I0Wcn2BwQ&A0WZ-V9N(;X{;6bY2c$qA)8w|DM3@l?lrRiSXMg;&S;@@6m~fVC%kF8*tC&S`=djRV zXK$~>&;=N}VdKl+k}vbWb_+!JcE${JxicQ@M?C&9dEK`Hp9fb9XXh8$Qz}oz99m3m z^L@OT%SbQ9}fal+40!T`E& zrP*p5991Zzij9uPDz7(-Crm$Cw56$~4IWmiZl@nvIL(0H3`@(YhJrX_MozbJ2U>3{ zRl%xzQEs!gc5||OcPrb}k5tI7%~D<1Jh4~`w#yGSQoeS(x0S35V6&OJwkKcp;m(et z4Q(%?_-C}VYqp2J~zJX(Z`Emje*}s zT*j#~lh`me;r{s{MC~utU>2&HM`bn?u?#}kb-a&h>`MEO$iJ_s9AgD^3z{S1fsjC< z>2C|Mw}UA|G>*QIjcJWcn!>O870Y&}2vXH^@?}y6cd{t`@cTw-8OCYAek2EaI$& zfh+xb@4EUgIL|$v5Jx!cm9@5Xsm{ERT|J}mGe6~b$`L-y>AhBhG?^egEZE@SpCisM zNfb4|Mj#b?AFK(3cJ(Zt7n`Xn;^9CSa6&8ln&BB?Jm*f5Mp5u`d&{*Qe ztBs$2{2s$R_UedPbvrEoWxBfd>Q9b^x3#a;9wVB%nhav#2*!v-WIB7~P?pL_>4sBk zXV7KqXR}~O#$<=cYW^yKRMS!V;i;yh>W5WlB4TlbbWo7**^o*yMtty5KhCQ&EW;Rv zGA+R4JP;>348I)B^fspQc6mIX4^RH_BvL%4$`7;LW)U0#4t)l3H$Y|X-NXOgkNr%1e?|9(X({X(glz2% zt^_VHBNNXf`57UDx2E#eswbZ?8k3=jXU5|(xgeOW?cPrmDohA*v*h*++dOA_;TM{w zizneu^z@~ipLi@T@J;U*#%H`+ct4I5sxpw1)#FjTcvx_6+RB)e{h9!55*j03$*QbP zFwJ9Z@Y)48ANkR}Mu6nkfhYc5#l$^}_unHo6%r!p2{DO2%ENmZHlWQNM^d)`n5U&U zK!2Zca5bSnbbhoJvPyagB4p+ty&e4o&|6YHGbh}Ce6|u`=J-IDHZDzj`XRE#*v56EwjV-eqJiNOA|a{a2Qs_} zJ>YtiE9~{=^ihrP{KY~f>wl>nXAK+{#W->{L(9jghFA^b?4f@qOPsv9V{3{Cdv8|P zS5s=~R)wbl!-(W(MitEqSGU$lk(rdNrmse}d}bY8Z0`wgJSF7f+o_1^xSrIVVqEdZ zFZIfkUBh*Svnp+tOcte^~z^Tn9s{xdh%lrEb-xfQz0T zUK4-}?px3F+^@!Q_VRW?W})1N{sQtd%u#5cJeAX}tHOt+y>ZPD{_;Q!-ng;p1(ROu zz#A6gqir?C&#EfxfP_B`1r?@WO{MVeZAuAuCzy5lGI~B>f(37)(25eW*u|VCLpcnq z*@E@VRYtYMt;N`%s?od*auoGo4nY*=m}onQdeb*bM?Q;>(t$WsgiT$H6S9==cjua= zdXzN%xmqiy0%RK&k@TZAIJ?=Np!mBxY$7m}WF3#GYRXuDzx z3x!zY8G?g2&mvis8CtEeCO93(l#W_>B7jKd?sDLz%iPB&mIK?djb`kYidJ!x1q}D1 zr0ZNsHV((_n~i@m@E;nfU|*t@G+;KS0^f_P%#}i2Z8R(;o>oDd`{_tTgSm z>i8*55lon!oDPyxvph75huzVD_%%AqTZ0n=$*#Jr#y?`&_E~X|~yS2O!=4(C4sG077r2GB{Fr$tzt8yXhVi5X&D zXZHO}Q0E_HLKhWX1i44z+N!&As0UR{6GeTRWY;GSzcKXvkI<(A>D*U-fjFVfA_3*n zfJ&%E4Ph*Gd7l|P0DjO30mixd!iSXj$l}js1d+3>SneBy-l;Hd^ZY}UDB2L&a=i{l zR=d5@%w)P1;I~A*Pu$LA*F~cLICSi6TMY6&)c0Cxy;8MN)ieDnwxwDWAtaMk@Z ztO347L0atPhf|j+Y(GS`Z{gS@V#U=d=<4PU5F5Kiiv$oGtP0HbLzrgpK^2_DYNOxo zIlh)UV%JezND2d2L>>Euv32%_{t`OWJZj;V)t=5WBCk)SSju8y-9bZp9|A5#_H__0 z;_c=s>DT&eN{T{|&*TIgd9Zr({+l4t^&gTm5qGhhkU1P5@dXSq-Jo*`DS~W!>N9IN zGHb-uiqE;}3F8e>?$!&RBDK`DHT|ub!j^teL|m2g(}#uX|6E20A#47It&_S;qAi34 z_3w&dXxi(q*%qL4hW#sd5=(NCEz>|#T}HuX?A9@2)KhO?TdMtVF^!n7=2xy77dtor zw}HJqXyMUsq&(JLxET&AiN2*fTgfOom1`AjW}I-%XV{v(wup0J4x`^}TNgPJ7WpB# z&{*i~b!>+~rjJVWy7iIauCi?{R0zD+^9l)Sqy~%XUJQ1w06fi%{IO9}xZyC`U%g-nYxJVk zU4S?_R|NeiLdv+e&d(|Dtwxb0ftTroXB~tnq-#%C7g;sO%h6Q|od(mzamIXS|2lz? z^_A9XG z?X*?u_g+svo8cF(uEj#OZ9NhbDMZn0HDBs(-zTdq9Fu|%8Y<>ns@?c}k@~Td-uWCr z%#NHLqTZiFz|~#@lGUMxN~KQAPV6&c^T02RmuJWN38gtky{;G0Kc!v!C4c)-s7C%V zd5=Je?T--Zt+$ahT3k37FtoJ);R^RNO_qY6q03S^q{(sY{Ojqr86^ok}pjIFpoKdE~v(f zcuoY>Hh~**Srv%K1Gs^7ash;?R%gVHz1OZ$RSM?md7-4Il=+zEB|WB*qcCv_=ehl# z*yF@C-{J?fQ@@v~tOHkb444)kAuX?>J=gUDqI-O$_P;!s11q4w&EulWrk(ULwQxZ* z&88nC0}J+UJ8IgU(y+`MB&v~4yc0GW)1j@DZV^zwchGo!jeM6tZhOZ|)WxcZ99R2Z zRDPU{At40cgiDCpDf`lQ=H^r|>A$JL=T`$x=Tc&jU=w70mqc5TG5ju~z7f!U=8g32 z=ikP6Li9*nc6(b>VX>t9;r@`WEleFq5u44$()-@&Z%JBA*KX*vbwY?21D# z{uFW`p4;W~rtQ4Ess`rVO{6oJp)Bpa5(@;#dZ8;xa<8%K!`mp>cyHtSxQTNc{7GrY zRJfYvDY?+b&W;y_r~4nN3omRRP5lAF{{nW)O`ymvr6V5^Lw(95wVVZEf*qIB=0xvf zh?az&O^96l>qhsdiTQU8lvnYDrx;#)PYKa;_3BMZk236EqJ2JmOz=PRuYVsL%_1jH z(w@To!OH*2GBTbJwRgE?Td(f3OEk)I@GK;RiM%nU&nzOhp!l%YK~$i_fZLxjJu z1_AU?xA)M!Gq$hMTVXZ!v=57pvRQxkJGEt$$@^x_&aJ;_=URkNr02Rn@dQ|L2Lauw z5!k@md%RY0ipVmz&%m_p-gK=3`qv~iW;wo znm-NH>S@y9CffX`A3a5gH2=tYP>}Ki4c|ce;h_E>;H;WBS#tgLm=SK9)QiuI!8-b1 z6$Yeqfg1ax=akO!21~3e)`@!e@qt8%SZiOI=kEPXz_H4ZT8_O2;pWOkjzKfg=Mv5K z#PrNQE*J8fBA3hk+_xPNJ^toa#Yh)*+=eBSaH}S7L!Z;NT-pIhGplVWiJw?|tRIEd z7xI(cS44^~`fo!1LL-U!!OsZ*%assvyMdpT%At-%S%V_cg5K?D)JSQ&^z+;f4tJ(x zn`6tn>Ot`uyXHv};LTrJYh?B$L9stMC8v~a($}}dY;&}ukjBi3OH9!zw zV;^bIB$LKdpwCNCVrP%cK!3be@oJ4~_xB@KZ}+bz9gJJhtAI$yYTCJVn-PhHlX+h) zm!(bbnkzHOO35Bwm~>(dKgU*S!u;qK1YDdD&$~SU)%Fb>-WXFVHP#sw#&Wp*c^!%A zAQ}%0m5eB|Y^iWsJ&szadP0@MB2f*5uDpEH-Q%rYvJx6+LI2*oOGF6|nWi1}8LJ^a zh2Yz+qG2O~8n&rAZsY(Uca+X3*|)yEqPY z-~l2GVWL+)`bz11`GMm!M2XNpA#(0vKaZ8tyThP&B(aR?6lqt+VNh8hOO6{ju({1S zjr^A~b*m&kjlurtTtz?&<(*7h?shM=bpjW@_K=!ebktOzUPY|%iu<7rG_2lMX03>Q z)!qJm8RA#?u`*S*z2^xMbzh2mmqJ*Zm)3`{$UQKVyv}jcWE-31%-WLruuwjXS8Lq=#9( zx1b~-q@I9h{oN88T%ub@q`KDPF*Z~5xgk<<#tybtOGCkzVb0#wk2%Mms9#j_LB!sx zI8vxgSbP3p0-G};ccLhZ0G4P!m%h%Z59`zuT@R~dR1JCihp*`3pX~S8uEZVwoa{(w9cf^wKXbFjwX`JDttrEw zh2C~gNCt8Dos8Dz)Rx)Tsu1OtrOB3=ro>%^C{HX;PWnw}ME3pOT6OFr&G2Z)rh_lm zug;50v|2klhzj?cu-wp67e#miq}A)-m1Fc<~H=er;gxY>wl>ZDOZt0&puC zYwajKPD5!yR$dbXGv-`Fw0^1An?&AVRHo3Oi*xh)pqBgMov0BQRKm|RVnolje6t}v z%96-fD$8zeE}uq&4SAWxe-D0vU>++y4g4*ExVRRhTl$TE%bQy&Rii=ALG>VqGIwq5 z!ch)mv(zzQDGV~0epJroHy^P)>!~!eTg)FNpGs5uPyg{NGPQldSPkk49k}^Re62E; z03?20Sbh$g@3bN)PA^Xs&T(6~Q94oG!VhG`!6M~Uu+#gP1@`IC>QsflxDkqWT{A&| zRYK!nc7x_aagArs1-_hsO^dNljaK`;xgf`pFB8!+RO7(n38_;jYl>URvQLJr)v>OH z1U-;#0P`I0g6y>}XYyx>${cjA?=Y%{!3!021TPJ3^iC3lHIRe6T9zt-abH1jLnV@alNDg4;rBwhYfr`M%Jx1@vi*34J04x2*uUF04YT4lSyt^7VcSD zut+2uriN74nUumy$H}W2K;)5YUo{qwc+}@YPGe_nqFJhAlv)w8U*RUcQ+gUW__cdK|j zwBrF|RuW_&+IWf*tK$yGZ%>~5j+^WURdyNiSV&eHeD915A6w<7M~l)jb*|)KWlb@` z_nj3kSEA-*4e<}9V9GiBAWM=lZwjWJf4-ei%CXPwyM#X^@T}o2mPb{l!+YMSlqw-% z&jV99@>4;AvpnIsX+IzaD{wA%drgBwxa`kx=cR96Ig1w1j_~^onp?sREN=}Cw?GT4 z5)`1OWBGk&^gOj(e75sKh(+bGDmnn$3ef3lDdES1Pbci5yS>xq!6?mtIs(6TV#epk z_PCh@qbx366GwUk*9c2N)r(sDEATNe&3kX(L8pt`49i?~C#)BNc1*%sO@ml@q4 z*I5(~l|JcK?V({|(RghnpSBGXsHDcrx8}(S_w9CBhYL?V@0GryPX_CiWl=r0T^F6k z9BaslasbKS;H^rMUlTqTh?1J;n9q#;yTZojz0}Zd52xr4!4t6#(@O35A<aP8|-AX+emnab( z7mw7M50EDj+h;>V$x0MZ%B_wp^F=h>!$N~uYUveTDn8AFt6a_l5E#!&)zF6Y40j5)fFbyGj;qDX!ncS7e1Ob zT8Vf)c+Vj$BBQ@*@Iyf!{IA_C%kZ!@)gc!h_2dvROp zp-3Z8U;=>JK;)Z!D>XW`q495a1gyPYzYDD6auxeKGIA)#LAz4K@-g&rBHeRotIvPBj$*;SbKJ5W0a#;FT8 zsC#dUQLm4R2^9_Td4{`J-1~@|2Crx3#$j)SiX=qoL^qR586x|!xrD&iWB8Hh)5#1o zyZLM&=Qc~br;ly?$~Kf#ku&!O8@qmGMw zkzVbGU(5a`!3q{yVLX$qXH-}Eitt7#HxSojwN@)jV-ij3lO4sbYjL#mR7Vx-JCE%xv|-qe@$Vhlm1Il=~NR+j)Kp&lR#*#8etfc!j&xJlpFL|=z7Jhv8uO$ zid6+l7K%!^%+EGl7+ka6-B`2|?X-^F3k?PhxSLLq zWyd`qtWfbF($tfz_ItBkbpVT}!b;0dFNN8g|txvE|F zlOq`pr%7GB`aPtI{Z2LkE#X6`YG}`k_Xgb;->8RHvQ)5&`Ex0N$`Nj|Sw7?qQ$^Rn z$AsK{D)o@udGtf%WHZ{M(>S3%fi_~H_hO2;1UlW#R|^TjK(2pM0hLPpJ-v$M*!quN z$pZ9>*I$jmr%U_s~mcOxYZ;+dG?<$00Dm2 z>tR03@sF1M@2^AD(>bi&E0!XylCD{J?o$rZQEK403*X~ouI`wJX@8iNE@3Jjp43g7=wORuBmXwJrvN!Ri=jz!-)8EzE3GdtbQ(IAm?)FoUy z6xlI-ZWI)`M}C4LA%o|c1l$CQDEC`V`1{mfxU}`^Tiksg!^Lhx)($CrCYdUICOfLwE4(fwLnaLjfKhj!$r}2;P(WPl`zJF$O=N z2Omg$@O{E%YG(Aa|5{-Kl*NnT_5Y~J(y15G>`xv=bxY=1cJ+Xdf^=&>NZ8dkuaeY?6N6MiF-^b1{%7k2SsW_2!^Zb=f8FPFK(>O&UmAN9N$ad<9+hK&9~ZWx^K z=^H&hquQ)ICq400*ycJqP-PS+`{jgdbqUisXm z>7@yE`@UVh4+r^~(0%&Yh4Paqw|*x(s$g^Y8ytClrF_?GBt8(U_l*&f z`%U+o3*Go#QjXc>oVe@4n08=mG67FfJ#n*_Df3WI?U%euuLQaJcEm=T_tnNP9I+g1 z3c=`9#sq={P+(WYgrrQ#@e==iC&i-xO8`aPeh_X?&-#O*M4Z)OK1&=#*r=_Yki;XO zwu^2bCeu{PKh^b(A5484-I!e7e%sWl%eF|yXO}Z1b|-8IZ+yiDq_KGbW)HCR_wyd~ zQNP1O?_@JyW8WVu9(jIUtox78&3M9YQE9)YgUy?D+mZTmLC7?Y`=g(!0*)V;l|6qq zyK*}3&cHm*_7o9)iJD;h-&KKY11a4vSJVp)T0K}44GvyK&UY?n?f$N|C}Y@}sSRUL zPA?htJ^zCiD@e*?C3Pbp$e$2T7p7(V3wmD_CZ@P$4hlyy3)jI@+qpYCJKqft$O5DqMJ_k8xnsHwL9(J(JJoci-)8IWHS?$I zY{?=h#nS8S=1KX@m6RgobbIzzWgIq!sdd`C8U<@yc6DOCtS3uC;(1JTRI7sB-qQKs zyAxdePYCVLpLA2*Xl&ED09e2K|g4a9+BOfN|o??C-}Thz?H*& zNFWHMD&sk1AwvUC^{68SS(DG3cwCk+kC|8&xDSi@~i>B2y$BP;9RV+HXpK@b#Pcimf; z(_6P1(-IO}zu+OytOTuwH>_Kiw(>Du~f9U+NDxv zouPzVx}uY%y2R57&!9JJX33(@6sJkB8h;*vhB#n$4j)| z#5x?Ee$%P7ifIv-7$g*4Ak_=9A^rk#PJb^6Gv~s2kPTv^kl2P$4C2TkDk(Qa`C9RH zok{ee$Di?$En;nDtJzh0S$)+YTRrkNSg&-_kB7uE49&(timHwKZC3^F2a;LdLXJ3f zYGl}7iI{Yt7a6v6jR>9QTGA+;v$;&6D5Oq_F>|XqZ|P4Ky~3{O!+Tod-zgjyJ%$+_F+a9e*l5S z!6xLW?dJBxCave`jw<9^Yi5mB8b@Lnq}+f)>#43mmP%5o zPz0?%ZHP!>jT*iCaT&b{bZ?gqa70TIC2>8u(7nNRRl9Neo0l zdX;#|afzKIUUIqsK4sQT*#0n?E&VY;t$yBr)=-ORx$8dn?~{1deH33p^IZa69~_{3>WBQPocnwqg0`OdCgmM(At=8M1~mf($i)I3EIZ2C<>(5yoK+jHmzSrr_CYzu z07}0fZBgVG$Kg@xg+n|pJJZpkJz9(p20=X22t}?IA>g}0Ln?BnpIqyKZ97w+YlNbL ziIVmFgK8^t+DsMYywf$9ZuY@>S75~JAl$oG(JaS@>}PHOs7t`?*R9+hwYTM|9+UnU z1|ZP*m&mzl?gmGHPX6}BhU5lu=_KQ!ygO}-Nq_OtSMD!r+P&u`_fz9ryI3tzRY?tO zUSrZ1M;_|;fr;vK6@JQ91?)8y3_YHu?^yg)0`64-VmXvHlq2!W1Cxz~Hm@aAL9!d~ z2Z&)w#wie_y+|ydFICdE2j`7%EVb(}l|k|I$9-if9pGHkI{o8s?EhA4v za`a)f8=%O+W?e?s#2oe0NXb&fp=(+GpMT;H%lPQRTqfb*2})guJ8Vbux5&Ukl*4BN z!yT0;7xaj;cl_iUN27tircqf_3Dg7c_Rb`-KD%dFo1jb$=Apk$+#Bro!~U>-j}#_Z z16=+gcsh1JHNsaKTA@5e7NhQuuL$dsqmO1?cJeqG?w-efp?CoHe&Y<$@8Q*$H|s?| zFj}+ZZ*@=+Nh(?Y99V1y(p+7yZ^ZD=w|E6hN28k&E-DjGU8$|#K7g4DV16zq0t?x0 zt0tW^QAnY=I*oZz)9IcSx&iNqa4b@DKcml0c#51@Rc5s588&~``7{PB&>R|IifXhJ z<(4Q<6hW{pD}NcQz~GJRnqSO9P1o~YrfkMi8+e!+Kb~>nr;Wtxd4TcvIfTHBdh4L? zcp<>;3ID*N-UW-k+>v`X=Y=tFy=A`TVnZfWsMWUL0A*5iyTiCNzkHF*a{<0w8VD-T zjKYRyTwNA_8Q!m6%*E*vCSW?AEbz4aQR2E$ruzkT6tfEYtCDOpnT%{W%6ID9W^oZw z4(7d#hU8ZO*wgGR*=s*z;?y#>qGC>pulw-r@uGKGT5Dcc@5-vyGsZHCG>hLR8n}6s znSx@d5|-=n4RZQ|(j^8`Ci9OFaFvOEx$!bZ^(OlcLTE;nnv6Ro>^n|9-Et2~KI!T{kT-zR{_%zoWi%U%>M)@3&YzChRJEDgf#k z478mZ^9^#4vh_5m@R;rUJ4+cPJH>*MSMW7Q^^0-rx1^dwqonAnf0>EbK(cDMxOL|s z&tDQwkGX2q`p-;5PZQ%Jcc*pIHi!Sv!Ux=sYuCpPbkosO_2V~nITxil)<@*k@?D%g zb{k{Y|mk-jNgq3L3#^eoL!>lGs}AH;)=@!~Sd;LVLAywn-c3UwZ78Vr+%$ z3sT^##5>rGtGgC?M|I1q=iMkMw;i-q5oLHHBrg&5xqmM-7mFRTYW5oT=}+pHq7Y7J z0p+7Hv;x$vZhtCuVWUSLt#p%1DK`3R2aTOp-fMqS-X6($n|3Qh)`dPER0z7v69&9J zLfPlGG-IZyG{Uink;wH`0r5$&lsaD)4Tm7@;0-9?Hwqi7B@A~ zgxNwye|r5)b$C>}eXq?cNyFmP`dMHb*Ah1{XXf=fbHvs&xgWhgU~H781pQJ3KN3@N zJg0pG^-JM+LUws7?=GC<%|SBGyf?}s=`3J2N*VjHCJfv8I@SuquMyM~^<&YOccZsA zPbiYlUkku}WDF7|95AfGM={w$v{LD5@h4+?O=njO+}5@OKU1+EAelH|QUBgOcT&vP zAuJ`^7Bwh8G#aEXT4GU#_31c1rvOf03MsB?@_o6||GQlk1fkKroiCiL$kG65yZkYt z(G|U27V@kXU(EV!i{RhR&z5sJ9cpJqFvEE5Ui>z1{5Y~GRU%A3!;@??+or1>34X)+ zt}km;$n}Hlev5~1N7L4XY$|d}eHorUu#L4*L~xTl+uC9F>?L%#ae#MNq`rn~v~IKw zqkN=C*4c7la?8Dr1nmJz8X$k1y_5~f((~PadvbO}WzBZ=> zrmFnuF8^wlZ4lRoD+yv4-<*@nokC=Tt>m505wHH8`(vg-sYlWxfWrP_Lq{Lv|FQsDr37p;ZHTo-hdC9gB&S>W2jzk7JKaF z)_HG@Zbh|ak}-^bYj>%n34DMS$QT6u#7W54-ylJO`1}zU8`66pT%iH19JjD5Pgh zb9{5deTEZ@M1^sAaT&Kht++|8s$en^7}nsA*cE%`7TPmM0+A~5AbDir1sIWE)$7)V z$bk$B$+=yI2n4!eq;D);kE}rLUpHdg3OYHJ@GJ;M zdU#nV44v7Tb zI$o)BU#)}WE_%LZGb!N;RlLhGF~1DfiZt`SFw1$4c`^b~vWg20^ZNdlS`8 zT}cj7s8gA69ggqgZ>cNlryXjM9BRAvvkIe|4ppByUEWasFtz7R$7wg+V3`6pY<|x( z0dbEBkkO3fCQ9PESr_+3%b1YP?QN)#$qhvyL+a&%SF(+B**u&MAeUF&6i(Y6mnx~y zSCT}4bN9y`o>oI|@+K;YU1o8@FLQ2T(Yug@}^&~EnQW2i0f9kUE4 zU<4TcoYWC2*5t7pR*KGi)7v~s$jTzXaH(4V_zpN%;pEAg^hKqalxgweo&=+q9jHu4;H0#`@>P{+rbO z)*vM0LS?Gb`1PNlKH1y%TvJYgc*<=lMJMK zJAK>AvYSG)7nS;7#a;V5RO=U4&2dRmPE4*zBPvcQaw}6ZqS27s5OJI&m&SD@G$J`g zIqu43(8wiYW}=K-PDw5q_hHbK%hWLpYKlfNO}_68o#*-f1!w=ZpJ(l7uf5m1*ZRDl z&wAfI*_^%Zac?B!bV@};HYdTq&2CFCaLqn38F+kJ=98pU=|9~>SfbDt7&=SFRH1mHWS`T0n@~*`ANEW zbzr!aTl>lZUc*k?DReJ|O9|0x)6#`RiUjvrF0&R>s?hJT*n76#_f-dWd{(v8e9JzI(BmcTou9=r$k%iR7^X+0pWCQvgu(W$bUXtq%Uer>qnz zX{lm;c2t}#A=u|DM|#c1LB|mX+p%o){tWVLqYpd#NOU?Yls>noctd21dE*3)zky%9 zbC%$FrDF zrgUXAtj50Jaw{vG$@$ke2dDJu835lsYuH(Og~T9NqbSgE&RFDV@rry-lirU%zM%DS z;ApgLpSbe_6R>9*v-Z_vEwe)Falt3I2`=#=e3G`Z(5U%kc)ljvpu@RTx8ds?I>})% z?5&#IF!@$j&S*_^Aq^fi2c;>I?dvoW2~^Fq_{9*B)^yAdCf0e#nwBQI-p%d2-*- zzPp?+ISYf&AiT;qkFo-lmUKpW6U4owr)EFgsb}#OCx@wV4nrh|b9-X^h8I<%*KuncTw*=yd4o+MofOWX)&ambLa0 zc<&Z$OK^PIekL#Pp(W3zelh8|Bhk`n`6|6Kb-6j>;KBTgu?cL3P5pF*#Py7K%$TWo z3MaR-_kQ;G>YEgJOt#M>#MLolfz#`b@t#EDW^dslIMGOcY(yy-7wic$p4{)!!iek~ z?Ijv##P`gR*w(a=khHO@!(skCWnKKta^~*jnNRLr3RswFo_BpxSLczYb_x#ie-!grxrtS zmsRcA*wvcp>zwwfR*E;%ALkJr2ovzWD%F3>mEZvSpd~u##y?>p-lQ(mtnxQ5aLpX{ zynUba4moy+Lm`(0v9p0H3%xUD_N z@oconqh2a|c!+Hu8S}cqVmztRqt^IHbk!Vk8@K0N^m`MurON?F_k>g_AsR_f1*uf; zT;>FNPX0?KgXpvq{4=eeYUqw}z4y-i+^6>W*oHx>opjXZ%vEW5EtNm$*ctST$%Rk4 zuv1U?RT$sS=cea-xHh?M#Ui#i)f^N!B&&6sA!ktWd1iBVafhf{DM1eO9x@>BidrYC zUaNY`*2AdP7VlIgaFxS*69RO#n6+Ao(H?L2dhfV;`tUf&VgGmWsjT@f9XCyAZeV@ckFJtqkm zwUZU44x?|MzjV(LnbRSs7!8;RH725Fhu>W~6oN+vu0KsYTq+;Yefpy%Asl#vKovQ< z7BD)|#V2hWYG2)-fT(XtZYnN&{}q}n1NPm+1KMwL50qUHQ`?uIDqb>RVD6c5qv@5I zA^jIs@!i$|eVf2gPKVjeWR^88PrU2LA}ImLbmbnr4@3VR)JN`wkK53J|N1 zt5_!~Qp$xaY(B6y+B)}BrQZaqo}L)%fQT;?le_^M6EY5_n& zal@9)KRq!5*1;Mh5+F?oGsSlB80W>Bz1BSWPak?k_H9a`GbBSJ{`>X+ E0h07dw*UYD diff --git a/docs/img/Diff_Old.png b/docs/img/Diff_Old.png deleted file mode 100644 index 6df0363f5c02d6eee9a47d8002aa4c40afd283be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55091 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 LbaiMT(vtrN5yC`4 diff --git a/docs/img/Initial_Diagram.png b/docs/img/Initial_Diagram.png deleted file mode 100644 index cfbf1e9305acc6ac7b2f8f36346aab1ea3ba50d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47277 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 diff --git a/src/main/argument_processor.ts b/src/main/argument_processor.ts index 28410ac..6280559 100644 --- a/src/main/argument_processor.ts +++ b/src/main/argument_processor.ts @@ -108,8 +108,7 @@ export const ERROR_MESSAGES = { "GitHub Action mode requires gitDiffToHash to be 'HEAD'", githubActionRequiresHeadMinusOne: "GitHub Action mode requires gitDiffFromHash to be 'HEAD^1'", - markdownRequiresMermaid: - "Markdown mode requires diagramTool to be 'mermaid'", + markdownRequiresMermaid: "Markdown mode requires diagramTool to be 'mermaid'", }; /** @@ -254,7 +253,6 @@ export class ArgumentProcessor { } } - private validateGitHubActionMode() { if (this.config.diagramTool?.toLowerCase() !== DiagramTool.MERMAID) { this.errorsEncountered.push(ERROR_MESSAGES.githubActionRequiresMermaid); diff --git a/src/main/flow_file_change_detector.ts b/src/main/flow_file_change_detector.ts index bd49985..b139eb4 100644 --- a/src/main/flow_file_change_detector.ts +++ b/src/main/flow_file_change_detector.ts @@ -137,8 +137,7 @@ export class FlowFileChangeDetector { */ private executeGitCommand(args: string[]): Uint8Array { const repo = Configuration.getInstance().gitRepo; - const commandArgs = [repo ? `-C ${repo}` : "", ...args].filter(Boolean); - + const commandArgs = repo ? ["-C", repo, ...args] : args; return new Deno.Command("git", { args: commandArgs }).outputSync().stdout; } } diff --git a/src/main/flow_parser.ts b/src/main/flow_parser.ts index 5f05684..c173b94 100644 --- a/src/main/flow_parser.ts +++ b/src/main/flow_parser.ts @@ -230,6 +230,7 @@ export class FlowParser { if (!start) { return result; } + const queue: flowTypes.FlowNode[] = [start]; const visitedNodes = new Set(); while (queue.length > 0) { @@ -239,6 +240,7 @@ export class FlowParser { } visitedNodes.add(node.name); const transitions = this.getTransitionsForNode(node); + for (const transition of transitions) { const toNode = this.beingParsed.nameToNode?.get(transition.to); if (toNode) { @@ -247,6 +249,7 @@ export class FlowParser { } result.push(...transitions); } + return result; } @@ -292,6 +295,7 @@ export class FlowParser { ) { transitions.push(...this.getTransitionsFromConnector(node)); } + return transitions; } @@ -363,6 +367,7 @@ export class FlowParser { | flowTypes.FlowActionCall, ): Transition[] { const result: Transition[] = []; + if (node.connector) { result.push( this.createTransition(node, node.connector, false, undefined), @@ -373,6 +378,7 @@ export class FlowParser { this.createTransition(node, node.faultConnector, true, FAULT), ); } + return result; } @@ -407,6 +413,7 @@ export class FlowParser { | flowTypes.FlowCustomError, ): Transition[] { const result: Transition[] = []; + if (node.connector) { for ( const connector of Array.isArray(node.connector) @@ -416,6 +423,7 @@ export class FlowParser { result.push(this.createTransition(node, connector, false, undefined)); } } + return result; } @@ -729,5 +737,6 @@ function isCustomError( function isFlowStart( node: flowTypes.FlowNode, ): node is flowTypes.FlowStart { - return (node as flowTypes.FlowStart).connector !== undefined; + return (node as flowTypes.FlowStart).name === START && + (node as flowTypes.FlowStart).label === undefined; } diff --git a/src/main/uml_writer.ts b/src/main/uml_writer.ts index 8d8c1c3..1553ae4 100644 --- a/src/main/uml_writer.ts +++ b/src/main/uml_writer.ts @@ -50,7 +50,7 @@ export class UmlWriter { */ async writeUmlDiagrams() { const config = Configuration.getInstance(); - + if (config.mode === Mode.JSON) { this.writeJsonFile(config); } else if (config.mode === Mode.GITHUB_ACTION) { @@ -101,26 +101,27 @@ export class UmlWriter { } private writeMarkdownFiles(config: RuntimeConfig) { - for (const [filePath, flowDifference] of this.filePathToFlowDifference) { - const flowApiName = this.extractFlowApiName(filePath); - + const outputPath = join( config.outputDirectory!, `${flowApiName}.md`, ); - + let markdownContent = ""; const tripleBackticks = "```"; - + if (flowDifference.old) { - markdownContent += `## Old Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.old}${EOL}${tripleBackticks}${EOL}${EOL}`; - markdownContent += `## New Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; + markdownContent += + `## Old Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.old}${EOL}${tripleBackticks}${EOL}${EOL}`; + markdownContent += + `## New Version${EOL}${EOL}${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; } else { - markdownContent += `${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; + markdownContent += + `${tripleBackticks}mermaid${EOL}${flowDifference.new}${EOL}${tripleBackticks}${EOL}`; } - + Deno.writeTextFileSync(outputPath, markdownContent); } } @@ -128,13 +129,13 @@ export class UmlWriter { private extractFlowApiName(filePath: string): string { // Extract the flow API name from the file path // The file path should contain the flow API name - const fileName = filePath.split('/').pop() || ''; + const fileName = filePath.split("/").pop() || ""; // Remove common flow file extensions const flowApiName = fileName - .replace(/\.flow-meta\.xml$/, '') - .replace(/\.flow$/, '') - .replace(/\.xml$/, ''); - return flowApiName || 'flow'; + .replace(/\.flow-meta\.xml$/, "") + .replace(/\.flow$/, "") + .replace(/\.xml$/, ""); + return flowApiName || "flow"; } } diff --git a/src/test/uml_writer_test.ts b/src/test/uml_writer_test.ts index 048f2a2..5efaf78 100644 --- a/src/test/uml_writer_test.ts +++ b/src/test/uml_writer_test.ts @@ -180,7 +180,7 @@ Deno.test("UmlWriter", async (t) => { // Mock the Configuration.getInstance to return our test config const originalGetInstance = Configuration.getInstance; const testConfig = getRuntimeConfig(DiagramTool.MERMAID, Mode.MARKDOWN); - + Configuration.getInstance = () => testConfig; try { @@ -197,19 +197,19 @@ Deno.test("UmlWriter", async (t) => { // Use OS-appropriate newlines for test expectations const eol = Deno.build.os === "windows" ? "\r\n" : "\n"; - + // Check the content of the first file (no old version) fileContent = Deno.readTextFileSync(expectedFile1Path); assertEquals( fileContent, - `\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}` + `\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}`, ); // Check the content of the second file (with old version) fileContent = Deno.readTextFileSync(expectedFile2Path); assertEquals( fileContent, - `## Old Version${eol}${eol}\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}${eol}## New Version${eol}${eol}\`\`\`mermaid${eol}uml2${eol}\`\`\`${eol}` + `## Old Version${eol}${eol}\`\`\`mermaid${eol}uml1${eol}\`\`\`${eol}${eol}## New Version${eol}${eol}\`\`\`mermaid${eol}uml2${eol}\`\`\`${eol}`, ); // Clean up