From 516a027b31eefee5bf683617923aa584587be668 Mon Sep 17 00:00:00 2001 From: Zack Whitson Date: Fri, 7 Aug 2026 04:36:15 -0500 Subject: [PATCH 1/2] Release CodeTruss CLI v0.2.39 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bring the public mirror up to the shipped release. The mirror sat at 0.2.38 while codetruss.com served 0.2.39; the newest attested tag should never trail the bytes the site hands out. Source is mirrored from the 0.2.39 release commit 4dbd312, not from in-progress work — main has since moved on to unrelated changes: 117 files across packages/cli and packages/analyzer-engine, zero content mismatches and zero file-mode mismatches against that commit's trees. The count grows from 114 because the registry gains `comment-slop.ts`, `overengineering.ts`, and the shared `comments.ts` lexer they read; `packages/cli/SBOM.cdx.json` stays generated and gitignored here, as it has since 0.2.13. `pnpm release:artifact` rebuilds the bundle to the exact published digest feb9a7454abaf2c25bdeade2a6e638137290df8c0725a447e3aca04aef2bd8f0, and `pnpm release:verify` confirms it byte-for-byte against the immutable website archive now recorded in release-reference.json. The archive, its SBOM, and the latest.json manifest downloaded from codetruss.com this run are byte-identical to the ones built from this tree. - Add the immutable 0.2.39 archive, checksum, and SBOM to public/downloads and repoint the latest.* aliases and manifest. The 0.2.38 archive stays: it is a tagged, attested release. - Update release-reference.json to the published archive, its SBOM, and the bundle digest 85f3475cb84d4ce349d43a0c81c68cbf40bd573e731c5e731eeff55ae7405c4b. - Mirror the source 0.2.39 carries — the two new analyzers and the comment lexer, the registry that seats them, the Convex carve-out in dead-code.ts, the v3 receipt renderer and its frozen v2 predecessor, and their tests — plus the packaged changelog, and regenerate the root changelog from it so the release body stays byte-identical to what ships inside the archive. - Repoint the version-pinned README install and verification examples, and say 15 analyzers where the README describes what runs today. The receipt excerpt keeps its "real 0.2.36 run" provenance and its `local-registry-v2`, 13-analyzer wording: 0.2.39 ships a frozen v2 renderer that reproduces that wording byte for byte, so the excerpt is still what that run printed. Relabelling it v3 would assert a run that was never made. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 65 ++- README.md | 8 +- packages/analyzer-engine/src/comment-slop.ts | 435 ++++++++++++++++++ packages/analyzer-engine/src/comments.ts | 330 +++++++++++++ packages/analyzer-engine/src/dead-code.ts | 21 +- .../analyzer-engine/src/overengineering.ts | 317 +++++++++++++ packages/analyzer-engine/src/registry.ts | 4 + packages/cli/CHANGELOG.md | 63 +++ packages/cli/README.md | 7 +- packages/cli/package.json | 2 +- packages/cli/src/local-sast.ts | 6 +- packages/cli/src/receipt.ts | 85 ++++ packages/cli/src/types.ts | 30 +- packages/cli/test/analysis-profile.test.ts | 6 +- packages/cli/test/local-sast.test.ts | 4 +- packages/cli/test/receipt.test.ts | 93 +++- .../codetruss-cli-0.2.39.sbom.cdx.json | 170 +++++++ public/downloads/codetruss-cli-0.2.39.tgz | Bin 0 -> 827475 bytes .../downloads/codetruss-cli-0.2.39.tgz.sha256 | 1 + public/downloads/codetruss-cli-latest.json | 14 +- .../codetruss-cli-latest.sbom.cdx.json | 10 +- public/downloads/codetruss-cli-latest.tgz | Bin 795219 -> 827475 bytes .../downloads/codetruss-cli-latest.tgz.sha256 | 2 +- release-reference.json | 10 +- 24 files changed, 1631 insertions(+), 52 deletions(-) create mode 100644 packages/analyzer-engine/src/comment-slop.ts create mode 100644 packages/analyzer-engine/src/comments.ts create mode 100644 packages/analyzer-engine/src/overengineering.ts create mode 100644 public/downloads/codetruss-cli-0.2.39.sbom.cdx.json create mode 100644 public/downloads/codetruss-cli-0.2.39.tgz create mode 100644 public/downloads/codetruss-cli-0.2.39.tgz.sha256 diff --git a/CHANGELOG.md b/CHANGELOG.md index 87727a7..951f3e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ CodeTruss CLI follows semantic versioning. Release artifacts and their SHA-256 checksums are published at . -The current public release is [v0.2.38 on GitHub](https://github.com/DeliriumPulse/codetruss-cli/releases/tag/v0.2.38), +The current public release is [v0.2.39 on GitHub](https://github.com/DeliriumPulse/codetruss-cli/releases/tag/v0.2.39), distributed from . The npm `latest` tag is still [`@codetruss/cli@0.2.24`](https://www.npmjs.com/package/@codetruss/cli/v/0.2.24): @@ -16,6 +16,69 @@ were superseded before distribution. No unreleased changes. +## 0.2.39 — 2026-08-07 + +- **Two analyzers join the registry, which now holds 15.** Both come from a + design study that ran candidate rules against eight real repositories and + kept only what survived. Everything they emit is `INFO` or `LOW`, and + `computeVerdict` escalates only at `MEDIUM`, so **neither can turn a PASS into + a REVIEW_REQUIRED or a FAILED**. A comment that repeats the line below it is + not a reason to stop an agent mid-turn. +- **Comment Signal (`comment-slop`)** measures each file against the + repository's own commenting baseline. It reports a file carrying three or more + standalone single-line comments whose words already appear on the statement + beneath them, and a file carrying two or more comments that narrate an edit + (`// Updated to use the new auth middleware`), address the reader, claim + credit for the code, or describe the work as provisional (`// In a real app + you would verify this`) — the last of which no TODO scan can see, because it + carries no marker. Comment *density* is reported as a metric and is never a + finding: across the study the most densely commented codebase produced zero + restating comments and the sparsest produced sixty-one, so a density rule + would penalise exactly the code worth rewarding. Tests, generated and + vendored content, scaffolded config, migrations, licensed files, and files + under 25 code lines are all out of scope, and the analyzer covers only the + eleven languages it has a comment lexer for. +- **Speculative Structure (`overengineering`)** reports exported values that + appear in no other indexed file, tests included, and `catch` blocks whose + entire body logs an error and rethrows it unchanged. Export findings are + worded as candidates because a symbol reached through a dynamic import or a + path built from strings looks identical to this pass. The rule is + barrel-aware, skips ORM schema modules, framework convention exports, runner + and Pages Router paths, and does not run at all against a library, whose + exported surface is its product. +- **A Convex deployment is not a pile of exports nobody consumes.** Convex + bundles a functions directory and addresses its modules by path at runtime, so + `export` *is* the registration and the only reference is a string no static + pass can follow. Those directories are now excluded, detected from the + toolchain rather than the directory name — Convex allows renaming it, and its + modules are commonly imported through a path alias no specifier match would + catch. Two structural signals are required together: the `convex` dependency + in a manifest, and the `_generated/{api,server}` pair that `convex dev` emits + into the deployment root. A directory merely *named* `convex` is still swept. +- **Speculative Structure states what it cannot see.** Single-implementation + interfaces, options nobody overrides, and parameters never varied at any call + site need the cross-file symbol graph, which does not run locally. The + receipt's "What did not run" block now names them, because silence there would + read as "no over-engineering found". +- **Receipts disclose the new count without rewriting the old ones.** The local + analysis profile becomes `local-registry-v3`. Receipts signed under + `local-registry-v2` keep a frozen renderer that reproduces their + "13 deterministic registry analyzers" wording byte for byte, exactly as + `local-registry-v1` receipts already did, so every receipt on disk still + verifies. Only v3 receipts say 15. The hosted receipt schema accepts all three + profile versions and rejects any fourth. +- A new **Comment signal** section on the receipt reports the repository's + median comment ratio, how many comments restate or narrate, and how many + files carry enough of either shape to be reported. It counts comments and + reports files, and says which is which: a file holding two restating comments + is under the reporting threshold, and a receipt that called it clean on that + basis would be stating something untrue. It is rendered from pass metrics + rather than findings — a + repository-level "nothing restates the code" finding fingerprints identically + in the baseline and final trees, so the delta would file it under recurring + and it could never reach a hook receipt. The section emits nothing when those + metrics are absent, so receipts signed before this release render unchanged. + ## 0.2.38 — 2026-08-07 - **A lone changed file no longer seats its own directory as inferred scope diff --git a/README.md b/README.md index c5529b7..38c7a8b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The deterministic first-pass verification gate for AI-written code. An agent finishes a change. Something has to look at it before a human does. CodeTruss Boundary is that first pass: it captures an exact before/after Git -evidence pair, checks the change against the task contract you declared, runs 13 +evidence pair, checks the change against the task contract you declared, runs 15 deterministic analyzers, a local security pass, and your own project checks, then signs a `PASS`, `REVIEW_REQUIRED`, or `FAILED` receipt you can re-verify later. @@ -44,7 +44,7 @@ To pin an exact version, install the immutable archive directly: ```bash npm install --global --ignore-scripts --no-audit --no-fund \ - https://codetruss.com/downloads/codetruss-cli-0.2.38.tgz + https://codetruss.com/downloads/codetruss-cli-0.2.39.tgz ``` The `@codetruss/cli` package on the npm registry is published as a separate, @@ -313,8 +313,8 @@ clean global install. Verify a downloaded release yourself: ```bash -gh attestation verify codetruss-cli-0.2.38.tgz --repo DeliriumPulse/codetruss-cli -shasum -a 256 -c codetruss-cli-0.2.38.tgz.sha256 +gh attestation verify codetruss-cli-0.2.39.tgz --repo DeliriumPulse/codetruss-cli +shasum -a 256 -c codetruss-cli-0.2.39.tgz.sha256 ``` Maintainers should follow [docs/RELEASE.md](docs/RELEASE.md). Tag-driven GitHub diff --git a/packages/analyzer-engine/src/comment-slop.ts b/packages/analyzer-engine/src/comment-slop.ts new file mode 100644 index 0000000..6e997ea --- /dev/null +++ b/packages/analyzer-engine/src/comment-slop.ts @@ -0,0 +1,435 @@ +import { + annotatedAnalyzerOutput, + incompleteAnalyzerOutput, + type Analyzer, + type AnalyzerFinding, +} from './types' +import { classifyLines, commentSyntaxFor, contentWords, dataBlockIds, type ClassifiedLine } from './comments' + +/** + * `looksGenerated` reads five lines, and codegen that leads with an + * eslint-disable banner declares itself lower down. Comment-shape rules are the + * most sensitive to that gap — a generated route tree measured as a redundant + * comment hit — so they check a wider window locally rather than widening the + * shared helper, which feeds LOC totals and every other analyzer. + */ +const GENERATED_WINDOW = 30 +const GENERATED_DECLARATION = + /auto-?generated|@generated|generated by|do not edit|this file (?:was|is) automatically generated/i + +/** Paths whose comments were written by a scaffolder, not by the author. */ +const SCAFFOLD_PATH = [ + /(?:^|\/)(?:migrations|alembic|versions|_generated|\.storybook)\//, + /\.config\.[^/]+$/, + /(?:^|\/)env\.py$/, + /\.gen\.[jt]sx?$/, + /_pb\.[jt]s$/, + /\.pb\.go$/, +] + +const LICENCE_HEADER = /Copyright|SPDX-License|Licensed under|Apache License|MIT License/i +const LICENCE_WINDOW_BYTES = 1200 + +/** A file needs enough code for its comment ratio to mean anything. */ +const MIN_CODE_LINES = 25 +/** + * Density floor. Five of eight measured repositories have a comment-to-code + * median of exactly 0.000, where `3 x median` would make every commented file + * an outlier. The floor is what stops that, not a tuning knob. + */ +const DENSITY_FLOOR = 0.25 +const DENSITY_MULTIPLE = 3 +const DENSITY_MIN_COMMENTS = 12 + +const REDUNDANT_FILE_THRESHOLD = 3 +const REDUNDANT_LOW_THRESHOLD = 5 +const NARRATION_FILE_THRESHOLD = 2 +const NARRATION_LOW_THRESHOLD = 4 + +const MAX_COMMENT_CHARS = 90 +const OVERLAP_RATIO = 0.6 + +/** Tool pragmas and tracker markers are instructions, not commentary. */ +const DIRECTIVE = + /^(?:(?:TODO|FIXME|HACK|XXX|NOTE|eslint|prettier|biome|noqa|c8|istanbul|nosec|pylint|ruff|Deprecated)\b|@ts-|type:)/i +const BANNER = /^[-=*#\s]+$/ + +/** + * A comment naming the thing declared beneath it is a section label, not a + * restatement — `// Delete API Key` above `const deleteApiKey = …` is how the + * ecosystem writes headings. With the explanatory-marker test below, this + * suppresses 25%-78% of naive matches and is what takes a heavily documented + * codebase to zero. + */ +const DECLARATION = new RegExp([ + String.raw`^(?:(?:export|default|public|private|protected|static|async|abstract|declare|pub|final)\s+)*(?:function|class|interface|type|enum|struct|impl|trait|def|func|fn|const|let|var|val)\b`, + String.raw`^(?:export\s+)?(?:const|let|var)\s+\w+\s*[:=]\s*(?:async\s*)?(?:\([^)]*\)|\w+)\s*(?::[^=]*)?=>`, + String.raw`^\w+\s*[:(]\s*(?:async\s*)?(?:function|\()`, + // A class or object method signature opening its body. `async createConnection( + // params: any) {` is the same section-label shape as a named function, and the + // control-flow lookahead keeps `if (…) {` reportable. + String.raw`^(?!(?:if|for|while|switch|catch|do|else|return|match|with|using|try|foreach|unless|elif)\b)(?:(?:public|private|protected|static|async|abstract|override|get|set)\s+)*[\w$]+\s*(?:<[^>]*>)?\s*\([^)]*\)\s*(?::\s*[^{]*)?\{$`, + String.raw`^@\w+`, + // An object-literal key opening a block is a pseudo-declaration; treating it + // as code removed a measured false positive. + String.raw`^['"]?[\w$-]+['"]?\s*:\s*\{`, +].join('|')) + +/** A comment that says why is doing its job, whatever words it shares with the code. */ +const EXPLANATORY = + /\b(?:because|so that|since|otherwise|avoid|must|cannot|only|instead|note|caution|workaround|bug|see)\b|https?:/i + +/** + * String and regex literals, blanked. + * + * A comment whose only overlap with the line below it is the CONTENT of a + * literal is naming the datum, not restating the statement. Measured on this + * codebase: `// C# Process.Start` above `if (m === 'start' && /process/.test(…))` + * is a language label on one branch of a dispatch table, and the words it + * shares are the strings being matched. Every measured true positive shares at + * least one word with an identifier, so requiring that costs no recall. + */ +const STRING_LITERAL = /(["'`])(?:\\.|(?!\1).)*\1/g +const REGEX_LITERAL = /\/(?:\\.|\[[^\]]*\]|[^/\n\\])+\/[gimsuy]*/g + +function withoutLiterals(code: string): string { + return code.replace(STRING_LITERAL, ' ').replace(REGEX_LITERAL, ' ') +} + +/** + * Comment shapes that describe the edit, the reader, or the author's opinion of + * the code rather than the code itself. Measured at one false positive across + * 3,371 comment lines, and that one was a missing `\s` after the verb. + */ +const NARRATION_TAGS = [ + { + tag: 'change-narration', + // Anchored: these only mean anything at the start of a sentence. + opening: [ + /^(?:added|updated|changed|modified|removed|refactored|fixed|renamed|moved|replaced|improved|introduced|switched|migrated|converted)\s/i, + /^(?:this (?:is )?(?:now|was)|no longer|previously|we (?:now|used to))\b/i, + ], + patterns: [ + /\bas requested\b/i, + /\bper (?:the )?(?:request|instructions)\b/i, + ], + }, + { + tag: 'tutorial-voice', + opening: [ + /^(?:now we|here we|first,? we|next,? we|then we|finally,? we|let'?s|we'?ll|you can (?:now|also)|notice that|as you can see)\b/i, + ], + patterns: [], + }, + { + tag: 'value-claim', + opening: [], + patterns: [ + /\bfor better (?:performance|readability|maintainability)\b/i, + /\bfor improved\b/i, + /\bto ensure (?:type safety|consistency)\b/i, + /\bbest practice\b/i, + /\bproduction[- ]ready\b/i, + /\brobustness\b/i, + /\bcomprehensive\b/i, + /\bgracefully handle\b/i, + ], + }, + { + tag: 'placeholder-deferral', + opening: [], + patterns: [ + /\bin a real (?:app|application|implementation|system|world)\b/i, + /\bfor now,/i, + /\bplaceholder\b/i, + /\bmock(?:ed)? (?:data|implementation)\b/i, + /\bimplement(?: this)? later\b/i, + /\byou (?:would|should|may) want to\b/i, + /\breplace (?:this )?with (?:your|a real)\b/i, + ], + }, +] as const + +interface RedundantHit { + line: number + comment: string + code: string +} + +interface NarrationHit { + line: number + comment: string + tag: string +} + +interface FileMeasurement { + path: string + ratio: number + commentLines: number + codeLines: number + redundant: RedundantHit[] + narration: NarrationHit[] +} + +function excluded(path: string, content: string): boolean { + if (!commentSyntaxFor(path)) return true + if (SCAFFOLD_PATH.some((pattern) => pattern.test(path))) return true + if (GENERATED_DECLARATION.test(content.split('\n', GENERATED_WINDOW).join('\n'))) return true + return LICENCE_HEADER.test(content.slice(0, LICENCE_WINDOW_BYTES)) +} + +function truncate(value: string, limit: number): string { + return value.length <= limit ? value : `${value.slice(0, limit - 1)}…` +} + +function nextCodeLine(lines: ClassifiedLine[], from: number): ClassifiedLine | null { + for (let i = from; i < lines.length; i++) { + if (lines[i].kind === 'blank') continue + return lines[i].kind === 'code' ? lines[i] : null + } + return null +} + +/** + * A single-line comment whose words are already on the statement below it. + * + * The comment must stand alone: a run of `//` lines is one wrapped paragraph, + * and its last line is a sentence fragment. Comparing a fragment against the + * code below it measures nothing — measured on this codebase, the only + * restatement candidate outside a dispatch table was the tail of a three-line + * comment explaining a transaction. The rule already refuses to look past a + * following comment line; this is the same test on the other side. + */ +function redundantHit(lines: ClassifiedLine[], raw: string[], i: number): RedundantHit | null { + const line = lines[i] + if (line.kind !== 'line') return null + const above = lines[i - 1] + if (above && above.kind !== 'code' && above.kind !== 'blank') return null + const text = line.text + if (!text || text.length > MAX_COMMENT_CHARS) return null + if (DIRECTIVE.test(text) || BANNER.test(text)) return null + if (EXPLANATORY.test(text)) return null + + const below = nextCodeLine(lines, i + 1) + if (!below || DECLARATION.test(below.code)) return null + + const commentWords = contentWords(text) + if (commentWords.size < 2) return null + const codeWords = contentWords(below.code) + let shared = 0 + for (const word of commentWords) if (codeWords.has(word)) shared++ + if (shared / commentWords.size < OVERLAP_RATIO) return null + + const identifierWords = contentWords(withoutLiterals(below.code)) + if (![...commentWords].some((word) => identifierWords.has(word))) return null + + return { line: i + 1, comment: raw[i].trim(), code: below.code } +} + +/** + * Whether a comment line begins a sentence rather than continuing a wrapped + * one. Without this, the wrapped second line of "…this turn's own task text and + * / changed files did." reads as a change-narration comment starting with + * "changed". Measured on this codebase: five such continuations, no real hits. + */ +function opensSentence(lines: ClassifiedLine[], index: number): boolean { + const previous = lines[index - 1] + if (!previous || previous.kind === 'code' || previous.kind === 'blank') return true + return previous.text.length === 0 || /[.!?:]$/.test(previous.text) +} + +function narrationHit(lines: ClassifiedLine[], raw: string, index: number): NarrationHit | null { + const line = lines[index] + if (line.kind === 'code' || line.kind === 'blank') return null + const text = line.text + if (!text || DIRECTIVE.test(text)) return null + const sentenceStart = opensSentence(lines, index) + for (const family of NARRATION_TAGS) { + const matched = family.patterns.some((pattern) => pattern.test(text)) + || (sentenceStart && family.opening.some((pattern) => pattern.test(text))) + if (matched) return { line: index + 1, comment: raw.trim(), tag: family.tag } + } + return null +} + +function measure(path: string, content: string): FileMeasurement | null { + const lines = classifyLines(path, content) + if (lines.length === 0) return null + const raw = content.split('\n') + const dataBlocks = dataBlockIds(lines) + + let commentLines = 0 + let codeLines = 0 + for (const line of lines) { + if (line.kind === 'blank') continue + if (line.kind === 'code') codeLines++ + else if (!dataBlocks.has(line.block)) commentLines++ + } + if (codeLines < MIN_CODE_LINES) return null + + const redundant: RedundantHit[] = [] + const narration: NarrationHit[] = [] + for (let i = 0; i < lines.length; i++) { + if (lines[i].block !== -1 && dataBlocks.has(lines[i].block)) continue + const restating = redundantHit(lines, raw, i) + if (restating) redundant.push(restating) + const narrating = narrationHit(lines, raw[i], i) + if (narrating) narration.push(narrating) + } + + return { path, ratio: commentLines / codeLines, commentLines, codeLines, redundant, narration } +} + +function median(values: number[]): number { + if (values.length === 0) return 0 + const sorted = [...values].sort((left, right) => left - right) + const middle = Math.floor(sorted.length / 2) + return sorted.length % 2 === 0 ? (sorted[middle - 1] + sorted[middle]) / 2 : sorted[middle] +} + +function percentile(values: number[], fraction: number): number { + if (values.length === 0) return 0 + const sorted = [...values].sort((left, right) => left - right) + return sorted[Math.min(sorted.length - 1, Math.floor(sorted.length * fraction))] +} + +function round(value: number): number { + return Math.round(value * 1000) / 1000 +} + +/** + * Comment shape, measured against the repository's own baseline. + * + * The name is deliberate: this pass measures a property of the comments. It + * never asserts who or what wrote them, because that is not provable from the + * text, and a signed receipt may not claim more than it measured. + * + * Comment DENSITY is a metric here and never a finding. Measured across eight + * repositories, the most densely commented codebase produced zero redundant + * comments while the sparsest produced sixty-one: density and restatement are + * close to anti-correlated, so a density rule would penalise exactly the + * codebases worth rewarding. + */ +export const commentSlopAnalyzer: Analyzer = { + id: 'comment-slop', + name: 'Comment Signal', + description: + "Compares each file's commenting against this repository's own baseline and " + + 'flags comments that restate the code or narrate the edit rather than explain it.', + async run(index) { + const candidates = index.files.filter( + (file) => + file.content + && (file.kind === 'source' || file.kind === 'component' || file.kind === 'route') + && !excluded(file.path, file.content), + ) + + const candidateLimit = 2000 + const measurements: FileMeasurement[] = [] + for (const file of candidates.slice(0, candidateLimit)) { + const measurement = measure(file.path, file.content!) + if (measurement) measurements.push(measurement) + } + + const ratios = measurements.map((item) => item.ratio) + const ratioMedian = median(ratios) + const densityThreshold = Math.max(DENSITY_MULTIPLE * ratioMedian, DENSITY_FLOOR) + const isDensityOutlier = (item: FileMeasurement) => + item.ratio >= densityThreshold && item.commentLines >= DENSITY_MIN_COMMENTS + + const findings: AnalyzerFinding[] = [] + const restating = measurements + .filter((item) => item.redundant.length >= REDUNDANT_FILE_THRESHOLD) + .sort((left, right) => right.redundant.length - left.redundant.length) + const narrating = measurements + .filter((item) => item.narration.length >= NARRATION_FILE_THRESHOLD) + .sort((left, right) => right.narration.length - left.narration.length) + + const findingLimit = 10 + for (const item of restating.slice(0, findingLimit)) { + const outlier = isDensityOutlier(item) + const low = item.redundant.length >= REDUNDANT_LOW_THRESHOLD && outlier + const sample = item.redundant[0] + findings.push({ + category: 'DOCUMENTATION', + severity: low ? 'LOW' : 'INFO', + title: `${item.redundant.length} comments restate the code in ${item.path}`, + description: + `${item.redundant.length} single-line comments in ${item.path} repeat words that already appear on the line ` + + `beneath them — for example line ${sample.line}, "${truncate(sample.comment, 80)}" above ` + + `${truncate(sample.code, 80)}. This file comments at ${round(item.ratio)} lines per code line against a ` + + `repository median of ${round(ratioMedian)}.` + + (outlier ? " It is also a comment-density outlier against this repository's own baseline." : '') + + ' Comments that restate the statement below them go stale silently, because nothing fails when the code' + + ' changes and the comment does not.', + filePath: item.path, + line: sample.line, + suggestion: 'Keep the comments that say why; delete the ones that repeat what.', + impactScore: low ? 25 : 15, + effort: 'low', + metadata: { count: item.redundant.length, sample: item.redundant.slice(0, 5) }, + }) + } + + for (const item of narrating.slice(0, findingLimit)) { + const low = item.narration.length >= NARRATION_LOW_THRESHOLD + const sample = item.narration[0] + const others = item.narration.length - 1 + const allPlaceholder = item.narration.every((hit) => hit.tag === 'placeholder-deferral') + findings.push({ + category: 'DOCUMENTATION', + severity: low ? 'LOW' : 'INFO', + title: allPlaceholder + ? `${item.narration.length} comments in ${item.path} describe unfinished work` + : `${item.narration.length} comments in ${item.path} describe the edit, not the code`, + description: allPlaceholder + ? `${item.path} contains ${item.narration.length} comments that describe the implementation as provisional — ` + + `line ${sample.line}, "${truncate(sample.comment, 80)}"${others ? `, and ${others} other${others > 1 ? 's' : ''}` : ''}. ` + + 'Unlike a TODO marker, these are invisible to the TODO tracker and to any grep for deferred work.' + : `${item.narration.length} comments in ${item.path} narrate a change or address the reader rather than ` + + `document behaviour — line ${sample.line}, "${truncate(sample.comment, 80)}"` + + `${others ? `, and ${others} other${others > 1 ? 's' : ''}` : ''}. ` + + 'Version control already records what changed; a comment that describes an edit is wrong the moment the' + + ' next edit lands.', + filePath: item.path, + line: sample.line, + suggestion: allPlaceholder + ? 'Finish the work or mark it with a TODO so the deferred-work tracker can see it.' + : 'Move change rationale to the commit message and keep the comment describing what the code does now.', + impactScore: low ? 25 : 15, + effort: 'low', + metadata: { count: item.narration.length, sample: item.narration.slice(0, 5) }, + }) + } + + const metrics = { + eligibleFiles: measurements.length, + commentRatioMedian: round(ratioMedian), + commentRatioP90: round(percentile(ratios, 0.9)), + densityOutlierFiles: measurements.filter(isDensityOutlier).length, + redundantComments: measurements.reduce((total, item) => total + item.redundant.length, 0), + redundantCommentFiles: restating.length, + narrationComments: measurements.reduce((total, item) => total + item.narration.length, 0), + narrationCommentFiles: narrating.length, + } + + // Only the candidate-file cap is real coverage loss. The per-rule finding + // cap bounds output over an analysis that still measured every candidate. + if (candidates.length > candidateLimit) { + return incompleteAnalyzerOutput(findings, { + truncated: true, + detail: `Comment analysis hit a candidate bound (${candidates.length} candidate files).`, + metrics: { ...metrics, candidates: candidates.length, candidateLimit }, + }) + } + if (restating.length > findingLimit || narrating.length > findingLimit) { + return annotatedAnalyzerOutput(findings, { + detail: `Comment output capped at ${findingLimit} files per rule (${restating.length} restating, ${narrating.length} narrating).`, + metrics: { ...metrics, candidates: candidates.length, candidateLimit }, + }) + } + return annotatedAnalyzerOutput(findings, { + metrics: { ...metrics, candidates: candidates.length, candidateLimit }, + }) + }, +} diff --git a/packages/analyzer-engine/src/comments.ts b/packages/analyzer-engine/src/comments.ts new file mode 100644 index 0000000..e6ba622 --- /dev/null +++ b/packages/analyzer-engine/src/comments.ts @@ -0,0 +1,330 @@ +/** + * Per-line comment classification, shared by the comment-shape analyzers. + * + * `IndexedFile.loc` counts non-blank lines and is NOT comment-stripped, so any + * rule that reasons about commenting has to compute its own code/comment split. + * A naive block tracker gets this wrong in ways that matter: a file holding six + * pasted query plans inside `/* … *\/` blocks measures as almost pure comment, + * and flagging it would punish the single most deliberate file in a repository. + * + * The classifier is a character scanner rather than a set of line regexes + * because `//` inside a URL, a template literal spanning lines, and a block + * comment opened and closed on one line all defeat line-at-a-time matching. + * + * Known limit: a regex literal containing `/*` (`/a\/*b/`) is read as opening a + * block comment. Widening the scanner to track regex-vs-division context needs + * expression state this pass does not keep, and the shape is vanishingly rare + * next to the string and template cases it does handle. + */ + +/** How a line reads once comments and strings are separated from code. */ +export type CommentLineKind = 'blank' | 'code' | 'line' | 'block' | 'doc' + +export interface ClassifiedLine { + kind: CommentLineKind + /** Comment prose with markers stripped. Empty on code and blank lines. */ + text: string + /** Code with any trailing comment removed. Empty on comment and blank lines. */ + code: string + /** Id of the block comment covering this line, or -1 outside one. */ + block: number +} + +/** The comment syntax families this pass understands. */ +type Syntax = 'c-like' | 'python' + +/** + * Extensions with a classifier. Everything else returns no lines and is + * silently out of scope — the analyzers simply do not claim coverage they lack. + */ +const SYNTAX_BY_EXTENSION: Record = { + '.ts': 'c-like', + '.tsx': 'c-like', + '.js': 'c-like', + '.jsx': 'c-like', + '.mjs': 'c-like', + '.cjs': 'c-like', + '.go': 'c-like', + '.rs': 'c-like', + '.java': 'c-like', + '.cs': 'c-like', + '.py': 'python', +} + +export function commentSyntaxFor(path: string): Syntax | null { + const dot = path.lastIndexOf('.') + if (dot === -1) return null + return SYNTAX_BY_EXTENSION[path.slice(dot).toLowerCase()] ?? null +} + +type ScanState = + | 'code' + | 'line-comment' + | 'block-comment' + | 'single' + | 'double' + | 'template' + | 'py-triple-double' + | 'py-triple-single' + +interface LineScan { + /** What the first non-whitespace character on the line belongs to. */ + first: CommentLineKind + /** The line's characters that are code, with comment spans blanked out. */ + code: string + block: number +} + +/** + * Everything the scanner carries. State that survives a newline (an open block + * comment, a template literal) sits beside per-line state, because the whole + * point of a scanner over line regexes is that the two interact. + */ +interface Scanner { + syntax: Syntax + state: ScanState + docBlock: boolean + blockId: number + blockCounter: number + /** The leading token of the current line has been classified. */ + seen: boolean + /** Code text accumulated for the current line, comment spans omitted. */ + code: string + scan: LineScan +} + +function isSpace(char: string): boolean { + return char === ' ' || char === '\t' || char === '\r' +} + +/** Record what the line's leading token is, the first time one is seen. */ +function openLine(s: Scanner, kind: CommentLineKind, block: number): void { + if (s.seen) return + s.scan.first = kind + s.scan.block = block + s.seen = true +} + +function openBlock(s: Scanner, doc: boolean): void { + s.docBlock = doc + s.blockId = s.blockCounter++ + openLine(s, doc ? 'doc' : 'block', s.blockId) +} + +function closeBlock(s: Scanner): void { + s.state = 'code' + s.docBlock = false + s.blockId = -1 +} + +/** One character in `code` state. Returns the column to resume at. */ +function stepCode(s: Scanner, line: string, col: number): number { + const char = line[col] + const next = line[col + 1] + if (isSpace(char)) { + s.code += char + return col + } + if (s.syntax === 'c-like' && char === '/' && next === '/') { + const third = line[col + 2] + openLine(s, third === '/' || third === '!' ? 'doc' : 'line', -1) + s.state = 'line-comment' + return col + } + if (s.syntax === 'c-like' && char === '/' && next === '*') { + // `/**` opens a doc block, but `/**/` is an empty ordinary comment. + openBlock(s, line[col + 2] === '*' && line[col + 3] !== '/') + s.state = 'block-comment' + return col + 1 + } + if (s.syntax === 'python' && char === '#') { + openLine(s, 'line', -1) + s.state = 'line-comment' + return col + } + if (s.syntax === 'python' && (char === '"' || char === "'") && next === char && line[col + 2] === char) { + // A triple-quoted string opening a statement is a docstring; one used as a + // value is an ordinary string and counts as code. + if (s.seen) { + s.docBlock = false + s.code += char + } else { + openBlock(s, true) + } + s.seen = true + s.state = char === '"' ? 'py-triple-double' : 'py-triple-single' + return col + 2 + } + openLine(s, 'code', -1) + s.code += char + if (char === "'") s.state = 'single' + else if (char === '"') s.state = 'double' + else if (char === '`' && s.syntax === 'c-like') s.state = 'template' + return col +} + +/** One character inside a `/* … *\/` block. */ +function stepBlock(s: Scanner, line: string, col: number): number { + const char = line[col] + if (!isSpace(char)) openLine(s, s.docBlock ? 'doc' : 'block', s.blockId) + if (char === '*' && line[col + 1] === '/') { + closeBlock(s) + return col + 1 + } + return col +} + +/** One character inside a Python triple-quoted string. */ +function stepTriple(s: Scanner, line: string, col: number): number { + const char = line[col] + const quote = s.state === 'py-triple-double' ? '"' : "'" + if (!isSpace(char) && !s.seen) { + if (s.docBlock) openLine(s, 'doc', s.blockId) + else { + openLine(s, 'code', -1) + s.code += char + } + } + if (char === quote && line[col + 1] === quote && line[col + 2] === quote) { + closeBlock(s) + return col + 2 + } + return col +} + +/** One character inside an ordinary string or template literal. */ +function stepString(s: Scanner, line: string, col: number): number { + const char = line[col] + // An escape consumes the character after it, so a `\'` never closes the literal. + if (char === '\\') { + s.code += char + (line[col + 1] ?? '') + return col + 1 + } + s.code += char + const quote = s.state === 'single' ? "'" : s.state === 'double' ? '"' : '`' + if (char === quote) s.state = 'code' + return col +} + +function scanLine(s: Scanner, line: string): void { + for (let col = 0; col < line.length; col++) { + if (s.state === 'code') col = stepCode(s, line, col) + else if (s.state === 'block-comment') col = stepBlock(s, line, col) + else if (s.state === 'py-triple-double' || s.state === 'py-triple-single') col = stepTriple(s, line, col) + else if (s.state !== 'line-comment') col = stepString(s, line, col) + // `line-comment` runs to the end of the line and contributes nothing. + } + s.scan.code = s.code + // A line comment ends at the newline; every multi-line state carries over. An + // unterminated single-line string is a syntax error, not a continuation. + if (s.state === 'line-comment' || s.state === 'single' || s.state === 'double') s.state = 'code' +} + +/** + * Split a file into classified lines. + * + * Returns an empty array for a language with no classifier, which callers read + * as "not analyzable" rather than "no comments". + */ +export function classifyLines(path: string, content: string): ClassifiedLine[] { + const syntax = commentSyntaxFor(path) + if (!syntax) return [] + + const raw = content.split('\n') + const scans: LineScan[] = raw.map(() => ({ first: 'blank' as CommentLineKind, code: '', block: -1 })) + const scanner: Scanner = { + syntax, state: 'code', docBlock: false, blockId: -1, blockCounter: 0, + seen: false, code: '', scan: scans[0], + } + + for (let row = 0; row < raw.length; row++) { + scanner.scan = scans[row] + scanner.seen = false + scanner.code = '' + scanLine(scanner, raw[row]) + } + + return raw.map((line, row) => { + const scan = scans[row] + if (line.trim().length === 0) return { kind: 'blank' as const, text: '', code: '', block: -1 } + if (scan.code.trim().length > 0) return { kind: 'code' as const, text: '', code: scan.code.trim(), block: -1 } + if (scan.first === 'code' || scan.first === 'blank') return { kind: 'code' as const, text: '', code: line.trim(), block: -1 } + return { kind: scan.first, text: stripMarkers(line), code: '', block: scan.block } + }) +} + +/** Remove comment punctuation so only the prose is compared. */ +function stripMarkers(line: string): string { + return line + .trim() + .replace(/^\/\*+!?/, '') + .replace(/^\/\/+[!]?/, '') + .replace(/^#+/, '') + .replace(/^("""|''')/, '') + .replace(/("""|''')$/, '') + .replace(/\*\/\s*$/, '') + .replace(/^\*+/, '') + .trim() +} + +/** + * A block comment holding pasted evidence rather than commentary. + * + * Measured against a real file preserving six `EXPLAIN ANALYZE` plans: at a + * comment-to-code ratio of 1.07 it is the most defensible file in its + * repository, and any rule that counts those lines as commentary flags it. + */ +const DATA_BLOCK_MIN_LINES = 3 +const DATA_BLOCK_NON_PROSE_RATIO = 0.3 + +function nonProse(text: string): boolean { + if (text.length === 0) return false + return /^(?:->|\||[-=+_*]{3,}|[^A-Za-z])/.test(text) +} + +/** Ids of block comments that read as pasted data, not prose. */ +export function dataBlockIds(lines: ClassifiedLine[]): Set { + const blocks = new Map() + for (const line of lines) { + if (line.block === -1 || (line.kind !== 'block' && line.kind !== 'doc')) continue + const bucket = blocks.get(line.block) + if (bucket) bucket.push(line.text) + else blocks.set(line.block, [line.text]) + } + const dataBlocks = new Set() + for (const [id, texts] of blocks) { + if (texts.length < DATA_BLOCK_MIN_LINES) continue + const nonProseCount = texts.filter(nonProse).length + if (nonProseCount / texts.length >= DATA_BLOCK_NON_PROSE_RATIO) dataBlocks.add(id) + } + return dataBlocks +} + +/** + * Words a comment and a line of code can be compared on: identifiers split on + * camelCase and separators, lowercased, with filler removed. Non-Latin comments + * yield fewer than two tokens and therefore never compare as redundant. + */ +const STOPWORDS = new Set([ + 'the', 'and', 'but', 'for', 'not', 'are', 'was', 'were', 'been', 'being', + 'this', 'that', 'these', 'those', 'its', 'with', 'from', 'into', 'onto', + 'they', 'them', 'their', 'our', 'your', 'you', 'we', 'it', 'is', 'be', + 'will', 'would', 'can', 'could', 'should', 'may', 'might', 'must', 'shall', + 'does', 'did', 'has', 'have', 'had', 'all', 'any', 'each', 'every', + 'when', 'while', 'then', 'else', 'than', 'there', 'here', 'over', 'under', + 'out', 'off', 'via', 'per', 'own', 'new', 'old', 'only', 'also', 'just', + 'now', 'one', 'two', 'use', 'used', 'using', 'let', 'via', +]) + +export function contentWords(text: string): Set { + const words = new Set() + for (const chunk of text.split(/[^A-Za-z0-9]+/)) { + if (!chunk) continue + for (const token of chunk.replace(/([a-z0-9])([A-Z])/g, '$1 $2').split(/\s+/)) { + const word = token.toLowerCase() + if (word.length < 3 || STOPWORDS.has(word)) continue + words.add(word) + } + } + return words +} diff --git a/packages/analyzer-engine/src/dead-code.ts b/packages/analyzer-engine/src/dead-code.ts index 46e7985..9c47f3a 100644 --- a/packages/analyzer-engine/src/dead-code.ts +++ b/packages/analyzer-engine/src/dead-code.ts @@ -5,6 +5,18 @@ import { type AnalyzerFinding, } from './types' +/** + * Entry-point-ish files that are loaded by convention, not by import + * (proxy.ts is Next 16's middleware — deleting it would drop the auth gate). + * `instrumentation-client` / `instrumentation.edge` are the suffixed variants + * Next.js and Sentry install; `*.stories.tsx` is collected by Storybook's glob. + * Neither is ever imported. + * + * Shared so the speculative-export rule reads the same convention list rather + * than deriving a second, drifting copy of it. + */ +export const CONVENTION_FILENAME = /(page|layout|route|loading|error|not-found|template|default|middleware|proxy|instrumentation|opengraph-image|twitter-image|icon|apple-icon|sitemap|robots|manifest|index|main|app|server|config|next-env|globals)\.[jt]sx?$|^instrumentation[-.][a-z]+\.[jt]sx?$|\.(stories|story)\.[jt]sx?$|\.(d|config|test|spec)\.[cm]?[jt]s$/ + /** * Dead-code candidates: JS/TS modules that are never imported anywhere. * Heuristic (static string matching), so results are labeled candidates. @@ -27,13 +39,6 @@ export const deadCodeAnalyzer: Analyzer = { ) if (jsFiles.length < 5) return findings - // Entry-point-ish files that are loaded by convention, not by import - // (proxy.ts is Next 16's middleware — deleting it would drop the auth gate) - // `instrumentation-client` / `instrumentation.edge` are the suffixed - // variants Next.js and Sentry install; `*.stories.tsx` is collected by - // Storybook's glob. Neither is ever imported. - const CONVENTION = /(page|layout|route|loading|error|not-found|template|default|middleware|proxy|instrumentation|opengraph-image|twitter-image|icon|apple-icon|sitemap|robots|manifest|index|main|app|server|config|next-env|globals)\.[jt]sx?$|^instrumentation[-.][a-z]+\.[jt]sx?$|\.(stories|story)\.[jt]sx?$|\.(d|config|test|spec)\.[cm]?[jt]s$/ - // package.json script values reference runner entrypoints ("npx tsx // lib/db/seed.ts") — raw manifest JSON satisfies the quoted-ref needle. const manifests = index.files.filter( @@ -64,7 +69,7 @@ export const deadCodeAnalyzer: Analyzer = { // Anchored at the project root so a `components/pages/` folder is unaffected. if (/^(src\/)?pages\//.test(file.path)) continue const base = file.path.split('/').pop()! - if (CONVENTION.test(base)) continue + if (CONVENTION_FILENAME.test(base)) continue // Tooling dotfiles (.prettierrc.js, .eslintrc.js) are loaded by name. if (base.startsWith('.')) continue const stem = base.replace(/\.[cm]?[jt]sx?$/, '') diff --git a/packages/analyzer-engine/src/overengineering.ts b/packages/analyzer-engine/src/overengineering.ts new file mode 100644 index 0000000..f906b59 --- /dev/null +++ b/packages/analyzer-engine/src/overengineering.ts @@ -0,0 +1,317 @@ +import { + annotatedAnalyzerOutput, + incompleteAnalyzerOutput, + type Analyzer, + type AnalyzerFinding, + type RepoIndex, +} from './types' +import { classifyLines } from './comments' +import { CONVENTION_FILENAME } from './dead-code' + +/** + * Named value exports. Types are excluded: TypeScript consumes them + * structurally and often invisibly, and excluding them halved the measured + * unreferenced rate on every repository in the corpus. + */ +const EXPORT_DECLARATION = + /^[ \t]*export\s+(?:(?:declare|async|abstract)\s+)*(?:function\s*\*|function|const|let|var|class|enum)\s+([A-Za-z_$][\w$]*)/gm + +/** `export * from './x'` publishes every symbol in `x` without naming one. */ +const BARREL_REEXPORT = /^[ \t]*export\s+\*(?:\s+as\s+[\w$]+)?\s+from\s+['"]([^'"]+)['"]/gm + +const IDENTIFIER = /[A-Za-z_$][A-Za-z0-9_$]*/g + +/** + * Exports the framework loads by name. None of them is imported anywhere, and + * every one would otherwise read as surface with no consumer. + */ +const CONVENTION_EXPORT = new Set([ + 'metadata', 'generateMetadata', 'generateStaticParams', 'generateViewport', + 'loader', 'action', 'config', 'runtime', 'dynamic', 'dynamicParams', + 'revalidate', 'fetchCache', 'preferredRegion', 'maxDuration', + 'getServerSideProps', 'getStaticProps', 'getStaticPaths', 'middleware', + 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', +]) + +/** + * ORM schema modules are consumed by codegen and migrations, not by imports. + * One repository's Drizzle schema files alone drove its unreferenced-export + * rate to 46.7%; without this gate the rule measures the ORM, not the code. + */ +const ORM_SCHEMA_PATH = /(?:^|\/)(?:db|database|drizzle|prisma)\/(?:.*\/)?[^/]*schema[^/]*$/i +const ORM_TABLE_CALL = /\b(?:pgTable|mysqlTable|sqliteTable|defineTable)\s*\(/ +const ORM_RELATIONS = /^[ \t]*export\s+const\s+([A-Za-z_$][\w$]*)\s*=\s*relations\s*\(/gm + +/** Runner entry points and route files: loaded by path, never by import. */ +const RUNNER_PATH = /(?:^|\/)(?:scripts|bin|tools)\// +const PAGES_ROUTER_PATH = /^(?:src\/)?pages\// + +/** + * Convex deploys a whole functions directory and addresses its modules by path + * at runtime: `internal.stripe.PREAUTH_getUserById` names a module and an + * export, so the `export` keyword IS the registration and the only reference is + * a string this pass cannot follow. Measured on a Convex starter, every one of + * thirteen candidates in that directory would have been wrong. + * + * Detected from the toolchain, never from the directory name. Convex lets the + * functions directory be renamed, its modules are commonly imported through a + * path alias (`@cvx/_generated/server`) that no specifier match would catch, + * and a directory called `convex` that no Convex toolchain ever touched is + * ordinary code. Two independent structural signals are required: the + * dependency in a manifest, and the `_generated/{api,server}` pair that + * `convex dev` emits into the deployment root. + * + * Both are required deliberately. Over-gating on one weak signal would hide + * real unused exports in any repository that happens to have a `_generated` + * directory, and a missed gate costs one candidate finding rather than silence. + */ +const CONVEX_CODEGEN = /^(.*\/)?_generated\/(api|server)\.[^/]+$/ + +function convexDeploymentRoots(index: RepoIndex): string[] { + if (!index.dependencies.has('convex')) return [] + const codegen = new Map>() + for (const file of index.files) { + const match = CONVEX_CODEGEN.exec(file.path) + if (!match) continue + const root = match[1] ?? '' + const emitted = codegen.get(root) ?? new Set() + emitted.add(match[2]) + codegen.set(root, emitted) + } + // Only a directory holding BOTH halves of the codegen pair is a deployment root. + return [...codegen].filter(([, emitted]) => emitted.size === 2).map(([root]) => root) +} + +const JS_FILE = /\.(?:ts|tsx|js|jsx|mjs|cjs)$/ + +const CATCH_OPEN = /catch\s*\(\s*([A-Za-z_$][\w$]*)\s*(?::\s*[^)]*)?\)\s*\{$/ +const CONSOLE_CALL = /^console\.\w+\([^{}]*\)\s*;?$/ + +interface SpeculativeFile { + path: string + names: string[] +} + +interface RethrowFile { + path: string + lines: number[] +} + +function directoryOf(path: string): string { + const slash = path.lastIndexOf('/') + return slash === -1 ? '' : path.slice(0, slash + 1) +} + +/** Resolve a relative module specifier against the importing file's directory. */ +function resolveSpecifier(fromPath: string, specifier: string): string | null { + if (!specifier.startsWith('.')) return null + const segments: string[] = [] + for (const part of `${directoryOf(fromPath)}${specifier}`.split('/')) { + if (part === '' || part === '.') continue + if (part === '..') segments.pop() + else segments.push(part) + } + return segments.join('/') +} + +/** Paths whose symbols are re-exported wholesale by some barrel in the repo. */ +function barrelPublishedPaths(index: RepoIndex): Set { + const targets = new Set() + for (const file of index.files) { + if (!file.content || !JS_FILE.test(file.path)) continue + for (const match of file.content.matchAll(BARREL_REEXPORT)) { + const resolved = resolveSpecifier(file.path, match[1]) + if (resolved) targets.add(resolved) + } + } + if (targets.size === 0) return targets + const published = new Set() + for (const file of index.files) { + const stem = file.path.replace(/\.[cm]?[jt]sx?$/, '') + if (targets.has(stem) || targets.has(stem.replace(/\/index$/, ''))) published.add(file.path) + } + return published +} + +/** Identifiers that occur in more than one indexed file. */ +function crossFileIdentifiers(index: RepoIndex): Set { + const firstOwner = new Map() + const shared = new Set() + for (const file of index.files) { + if (!file.content) continue + const seen = new Set() + for (const match of file.content.matchAll(IDENTIFIER)) seen.add(match[0]) + for (const token of seen) { + const owner = firstOwner.get(token) + if (owner === undefined) firstOwner.set(token, file.path) + else if (owner !== file.path) shared.add(token) + } + } + return shared +} + +/** + * A `catch` whose whole body logs and rethrows. The nested-brace bail-out keeps + * the shape unambiguous: a handler that builds an object or branches is doing + * something, and this rule declines to guess what. + */ +function logAndRethrowLines(path: string, content: string): number[] { + const lines = classifyLines(path, content) + if (lines.length === 0) return [] + const hits: number[] = [] + for (let i = 0; i < lines.length; i++) { + const open = lines[i].code.match(CATCH_OPEN) + if (!open) continue + const binding = open[1] + const throwOnly = new RegExp(`^throw\\s+${binding}\\s*;?$`) + let logs = 0 + let rethrows = 0 + for (let j = i + 1; j < lines.length; j++) { + const code = lines[j].code + if (code.length === 0) continue + if (code === '}') { + if (logs > 0 && rethrows === 1) hits.push(i + 1) + break + } + if (code.includes('{') || code.includes('}')) break + if (CONSOLE_CALL.test(code)) logs++ + else if (throwOnly.test(code)) rethrows++ + else break + } + } + return hits +} + +/** + * Structure that exists for a consumer that does not. + * + * The disclosure in the description is load-bearing. The abstraction shapes + * this rule set does NOT check — a single-implementation interface, an option + * nobody overrides, a parameter never varied at any call site — each need the + * cross-file symbol graph, and a receipt that stayed silent about them would + * read as "no over-engineering found" when the pass structurally cannot see + * them. Measured on real repositories, the regex versions of those shapes + * returned between zero and three hits, most of them wrong. + */ +export const overengineeringAnalyzer: Analyzer = { + id: 'overengineering', + name: 'Speculative Structure', + description: + 'Flags exported surface with no consumer and error handling that adds no behaviour. ' + + 'Abstraction-shape analysis (single-implementation interfaces, unused options, ' + + 'unvaried parameters) requires the hosted symbol graph and does not run locally.', + async run(index) { + const production = index.files.filter( + (file) => + file.content + && JS_FILE.test(file.path) + && (file.kind === 'source' || file.kind === 'component' || file.kind === 'route'), + ) + + const candidateLimit = 1500 + const candidates = production.slice(0, candidateLimit) + + const rethrows: RethrowFile[] = [] + for (const file of candidates) { + const lines = logAndRethrowLines(file.path, file.content!) + if (lines.length > 0) rethrows.push({ path: file.path, lines }) + } + + // A library's exported surface IS its product. "Nothing in this repository + // uses it" says nothing about a package whose consumers are elsewhere. + const speculative: SpeculativeFile[] = [] + if (index.repoType !== 'library') { + const generatedDirs = Object.keys(index.generatedFiles ?? {}).map((path) => directoryOf(path)) + const nearGenerated = (path: string) => + generatedDirs.some((dir) => (dir === '' ? !path.includes('/') : path.startsWith(dir))) + const published = barrelPublishedPaths(index) + const shared = crossFileIdentifiers(index) + const convexRoots = convexDeploymentRoots(index) + const convexDeployed = (path: string) => + convexRoots.some((root) => root === '' || path.startsWith(root)) + + for (const file of candidates) { + if (published.has(file.path)) continue + if (nearGenerated(file.path) || RUNNER_PATH.test(file.path) || PAGES_ROUTER_PATH.test(file.path)) continue + if (convexDeployed(file.path)) continue + if (CONVENTION_FILENAME.test(file.path.split('/').pop()!)) continue + const content = file.content! + if (ORM_SCHEMA_PATH.test(file.path) || ORM_TABLE_CALL.test(content)) continue + const relationNames = new Set([...content.matchAll(ORM_RELATIONS)].map((match) => match[1])) + + const names: string[] = [] + for (const match of content.matchAll(EXPORT_DECLARATION)) { + const name = match[1] + if (CONVENTION_EXPORT.has(name) || relationNames.has(name)) continue + if (!shared.has(name)) names.push(name) + } + if (names.length > 0) speculative.push({ path: file.path, names: [...new Set(names)] }) + } + } + + const findings: AnalyzerFinding[] = [] + const findingLimit = 10 + for (const file of speculative.slice(0, findingLimit)) { + const listed = file.names.slice(0, 5).map((name) => `\`${name}\``).join(', ') + const rest = file.names.length - Math.min(file.names.length, 5) + findings.push({ + category: 'DEAD_CODE', + severity: 'INFO', + title: `${file.names.length} export(s) with no consumer in ${file.path}`, + description: + `${listed}${rest > 0 ? ` and ${rest} more` : ''} ${file.names.length === 1 ? 'is' : 'are'} exported from ` + + `${file.path} and appear in no other indexed file, tests included. Exported surface with no consumer is an ` + + 'API for nobody: it has to be read, kept compiling, and refactored around. These are candidates — a symbol ' + + 'reached only through a dynamic import or a path built from strings looks the same to this pass.', + filePath: file.path, + suggestion: 'Drop the `export` keyword where the symbol is file-local, or delete it if nothing uses it.', + impactScore: 15, + effort: 'low', + metadata: { exports: file.names.slice(0, 10) }, + }) + } + + for (const file of rethrows.slice(0, findingLimit)) { + findings.push({ + category: 'TECH_DEBT', + severity: 'INFO', + title: `${file.lines.length} catch block(s) log and rethrow in ${file.path}`, + description: + `${file.path} catches an error at line ${file.lines[0]}${file.lines.length > 1 ? ` and ${file.lines.length - 1} other place(s)` : ''}, ` + + 'logs it, and rethrows it unchanged. The handler adds a duplicate log line and no behaviour: the caller ' + + 'still receives the original error, and the stack is now reported twice.', + filePath: file.path, + line: file.lines[0], + suggestion: 'Remove the catch and let the error propagate, or handle it where the extra context exists.', + impactScore: 15, + effort: 'low', + metadata: { lines: file.lines.slice(0, 10) }, + }) + } + + // Only the candidate-file cap loses coverage; the finding cap bounds output + // over an analysis that still examined every candidate. + const metrics = { + candidates: production.length, + candidateLimit, + speculativeExportFiles: speculative.length, + speculativeExports: speculative.reduce((total, file) => total + file.names.length, 0), + logAndRethrowFiles: rethrows.length, + abstractionShapeAnalysis: 'hosted-only', + } + if (production.length > candidateLimit) { + return incompleteAnalyzerOutput(findings, { + truncated: true, + detail: `Speculative-structure analysis hit a candidate bound (${production.length} candidate files).`, + metrics, + }) + } + if (speculative.length > findingLimit || rethrows.length > findingLimit) { + return annotatedAnalyzerOutput(findings, { + detail: `Speculative-structure output capped at ${findingLimit} files per rule (${speculative.length} export, ${rethrows.length} rethrow).`, + metrics, + }) + } + return annotatedAnalyzerOutput(findings, { metrics }) + }, +} diff --git a/packages/analyzer-engine/src/registry.ts b/packages/analyzer-engine/src/registry.ts index d2a89f8..a0680a1 100644 --- a/packages/analyzer-engine/src/registry.ts +++ b/packages/analyzer-engine/src/registry.ts @@ -12,6 +12,8 @@ import { complexityAnalyzer } from './complexity' import { todosAnalyzer } from './todos' import { vulnerabilityAnalyzer } from './vulnerabilities' import { coverageAnalyzer } from './coverage' +import { commentSlopAnalyzer } from './comment-slop' +import { overengineeringAnalyzer } from './overengineering' /** * Analyzer registry — the plugin surface. Adding an analyzer means writing @@ -31,6 +33,8 @@ export const ANALYZERS: Analyzer[] = [ todosAnalyzer, vulnerabilityAnalyzer, coverageAnalyzer, + commentSlopAnalyzer, + overengineeringAnalyzer, ] export function getAnalyzers(): Analyzer[] { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 9b5a08b..51aa11e 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -5,6 +5,69 @@ checksums are published at pass.id === 'comment-slop')?.result.metrics + if (!metrics) return [] + const files = Number(metrics.eligibleFiles) + const median = Number(metrics.commentRatioMedian) + const restating = Number(metrics.redundantComments) + const narrating = Number(metrics.narrationComments) + const reported = Number(metrics.redundantCommentFiles) + Number(metrics.narrationCommentFiles) + if (![files, median, restating, narrating, reported].every(Number.isFinite) || files <= 0) return [] + return [ + '', + '## Comment signal', + '', + `This repository comments at a median of ${median} lines per code line. Across the ${files} file(s) measured, ` + + `${restating} comment(s) restate the code beneath them and ${narrating} narrate an edit rather than describe ` + + 'behaviour.', + '', + restating + narrating === 0 + ? 'Nothing in this repository matched either shape.' + : reported === 0 + ? 'No file carries enough of either shape to be reported, so neither appears in the findings table.' + : `${reported} file(s) carry enough of either shape to be reported. The findings table above lists only what ` + + 'this session introduced or worsened; the counts here cover the whole repository.', + ] +} + /** Which historical rendering of the analysis block to reproduce. */ type ReceiptMarkdownVariant = 'current' | 'legacy-scores' | 'prior-profile' @@ -277,6 +361,7 @@ function renderMarkdownInternal(receipt: Receipt, variant: ReceiptMarkdownVarian // Emits nothing when no finding carries a fix, so every receipt signed // before suggestions existed still renders to its original bytes. ...suggestedFixLines(receipt.analyzers.findings), + ...commentSignalLines(receipt), ...analysisLines(receipt, variant), ...(receipt.analyzers.delta ? [ `Finding delta: ${receipt.analyzers.delta.introduced} introduced, ${receipt.analyzers.delta.worsened} worsened, ${receipt.analyzers.delta.recurring} recurring, ${receipt.analyzers.delta.resolved} resolved.`, diff --git a/packages/cli/src/types.ts b/packages/cli/src/types.ts index 9c8586a..3ef81f9 100644 --- a/packages/cli/src/types.ts +++ b/packages/cli/src/types.ts @@ -33,15 +33,19 @@ export const MAX_LLM_DIFF_BYTES = 2_000_000 * Honest local-analysis contract: which passes ran on this machine, which did * not, and whether scores may be inferred. * - * `local-registry-v2` supersedes `local-registry-v1`, in which SAST was omitted - * entirely. A reduced security pass now runs locally, so `omittedPasses` no - * longer names it and `localPasses` names what took its place. The id is bumped - * rather than the tuple loosened: this shape is inside signed receipts, and - * every v1 receipt must keep verifying byte-for-byte against the wording it was - * signed with. + * `local-registry-v3` supersedes `local-registry-v2`, which ran thirteen + * registry analyzers; the registry now holds fifteen, and the profile block + * states that count. `local-registry-v2` had itself superseded `v1`, in which + * SAST was omitted entirely. + * + * The id is bumped rather than the wording quietly changed, and it is bumped + * for a count as readily as for a pass: this shape sits inside signed receipts, + * the profile block is the part that says what did and did not run, and a + * receipt must keep verifying byte-for-byte against the wording it was signed + * with. Every superseded version keeps a frozen renderer in `receipt.ts`. */ export const LOCAL_ANALYSIS_PROFILE = { - id: 'local-registry-v2', + id: 'local-registry-v3', omittedPasses: ['graph'], localPasses: ['local-sast'], scoreStatus: 'not-computed', @@ -54,7 +58,17 @@ export interface LegacyLocalAnalysisProfileV1 { omittedPasses: readonly ['graph', 'sast'] scoreStatus: 'not-computed' } -export type AnyLocalAnalysisProfile = LocalAnalysisProfile | LegacyLocalAnalysisProfileV1 +/** The v2 shape, retained so thirteen-analyzer receipts still parse. */ +export interface LegacyLocalAnalysisProfileV2 { + id: 'local-registry-v2' + omittedPasses: readonly ['graph'] + localPasses: readonly ['local-sast'] + scoreStatus: 'not-computed' +} +export type AnyLocalAnalysisProfile = + | LocalAnalysisProfile + | LegacyLocalAnalysisProfileV1 + | LegacyLocalAnalysisProfileV2 export interface CliConfig { version: 1 diff --git a/packages/cli/test/analysis-profile.test.ts b/packages/cli/test/analysis-profile.test.ts index 02f5204..a727b0b 100644 --- a/packages/cli/test/analysis-profile.test.ts +++ b/packages/cli/test/analysis-profile.test.ts @@ -28,9 +28,9 @@ describe('honest local analysis profile', () => { ].join('\n')) const analysis = await analyzeRepository(root) - // 13 registry analyzers plus the local security pass, which is deliberately - // NOT in the registry so "13 deterministic analyzers" stays true. - expect(analysis.passes).toHaveLength(14) + // 15 registry analyzers plus the local security pass, which is deliberately + // NOT in the registry so the receipt's registry count stays true. + expect(analysis.passes).toHaveLength(16) expect(analysis.passes.at(-1)?.id).toBe('local-sast') const injection = analysis.findings.find((finding) => finding.metadata?.ruleId === 'sql-injection') diff --git a/packages/cli/test/local-sast.test.ts b/packages/cli/test/local-sast.test.ts index a35dd4b..9d7885f 100644 --- a/packages/cli/test/local-sast.test.ts +++ b/packages/cli/test/local-sast.test.ts @@ -124,7 +124,7 @@ describe('local security pass file selection', () => { }) describe('the local pass is a pass, not a registry analyzer', () => { - it('runs alongside the 13 registry analyzers without joining them', async () => { + it('runs alongside the 15 registry analyzers without joining them', async () => { const root = await mkdtemp(join(tmpdir(), 'codetruss-local-sast-pass-')) cleanup.push(root) await mkdir(join(root, 'src')) @@ -132,7 +132,7 @@ describe('the local pass is a pass, not a registry analyzer', () => { const analysis = await analyzeRepository(root) const ids = analysis.passes.map((pass) => pass.id) - expect(ids).toHaveLength(14) + expect(ids).toHaveLength(16) expect(ids.filter((id) => id === LOCAL_SAST_PASS_ID)).toHaveLength(1) expect(ids.at(-1)).toBe(LOCAL_SAST_PASS_ID) expect(analysis.passes.at(-1)?.result.complete).toBe(true) diff --git a/packages/cli/test/receipt.test.ts b/packages/cli/test/receipt.test.ts index d09177c..8bdebb9 100644 --- a/packages/cli/test/receipt.test.ts +++ b/packages/cli/test/receipt.test.ts @@ -41,6 +41,25 @@ function profileV1Fixture(root: string, patch = 'diff evidence'): Receipt { } } +/** A receipt as CLI 0.2.35-0.2.38 signed it, when the registry held thirteen analyzers. */ +function profileV2Fixture(root: string, patch = 'diff evidence'): Receipt { + const receipt = fixture(root, patch) + return { + ...receipt, + analyzers: { + passes: receipt.analyzers.passes, + findings: receipt.analyzers.findings, + index: receipt.analyzers.index, + analysisProfile: { + id: 'local-registry-v2', + omittedPasses: ['graph'], + localPasses: ['local-sast'], + scoreStatus: 'not-computed', + }, + }, + } +} + function legacyFixture(root: string, patch = 'diff evidence'): Receipt { const receipt = fixture(root, patch) return { @@ -72,7 +91,7 @@ describe('signed receipts', () => { await expect(verifyReceipt(dir, receipt.sessionId)).resolves.toMatchObject({ verdict: 'PASS' }) const markdown = await readFile(paths.markdown, 'utf8') expect(markdown).toContain('Policy SHA-256') - expect(markdown).toContain('Profile: `local-registry-v2`') + expect(markdown).toContain('Profile: `local-registry-v3`') expect(markdown).not.toContain('Final scores:') await writeFile(paths.markdown, `${await readFile(paths.markdown, 'utf8')}tampered`) await expect(verifyReceipt(dir, receipt.sessionId)).rejects.toThrow('Markdown receipt does not match') @@ -139,6 +158,78 @@ describe('signed receipts', () => { await expect(verifyReceipt(dir, receipt.sessionId)).resolves.toMatchObject({ verdict: 'PASS' }) }) + it('reproduces the v2 wording for a receipt signed when the registry held thirteen analyzers', async () => { + const root = await mkdtemp(join(tmpdir(), 'codetruss-profile-v2-receipt-')) + const dir = join(root, 'receipts') + process.env.CODETRUSS_SIGNING_KEY = join(root, 'signing.pem') + const receipt = profileV2Fixture(root) + const paths = await writeReceipt(dir, receipt, 'diff evidence') + + const markdown = await readFile(paths.markdown, 'utf8') + expect(markdown).toContain('Profile: `local-registry-v2`') + // The count that execution made, not the count the current registry has. + expect(markdown).toContain('The 13 deterministic registry analyzers ran locally on this machine, plus a local security pass') + expect(markdown).not.toContain('The 15 deterministic registry analyzers') + // The abstraction-shape disclosure belongs to the analyzers v2 never ran. + expect(markdown).not.toContain('**Abstraction-shape analysis.**') + await expect(verifyReceipt(dir, receipt.sessionId)).resolves.toMatchObject({ verdict: 'PASS' }) + }) + + it('states the new registry count and the abstraction-shape limit on a current receipt', () => { + const markdown = renderMarkdown(fixture('/tmp/repo')) + expect(markdown).toContain('Profile: `local-registry-v3`') + expect(markdown).toContain('The 15 deterministic registry analyzers ran locally on this machine') + expect(markdown).toContain('**Abstraction-shape analysis.**') + expect(markdown).toContain('says nothing either way about those shapes') + }) + + it('renders the comment-signal measurement from pass metrics, and nothing without them', () => { + const receipt = fixture('/tmp/repo') + expect(renderMarkdown(receipt)).not.toContain('## Comment signal') + + receipt.analyzers.passes = [{ + id: 'comment-slop', + result: { + findings: [], + complete: true, + metrics: { + eligibleFiles: 127, commentRatioMedian: 0.06, commentRatioP90: 0.21, + densityOutlierFiles: 0, redundantComments: 0, redundantCommentFiles: 0, + narrationComments: 0, narrationCommentFiles: 0, + }, + }, + }] + const healthy = renderMarkdown(receipt) + expect(healthy).toContain('## Comment signal') + expect(healthy).toContain('a median of 0.06 lines per code line') + expect(healthy).toContain('Across the 127 file(s) measured, 0 comment(s) restate the code beneath them and 0 narrate an edit') + expect(healthy).toContain('Nothing in this repository matched either shape.') + // Observation only: the receipt never names an author or a verdict on taste. + expect(healthy).not.toMatch(/\bAI[- ]generated|\bslop\b|sloppy|lazy/i) + }) + + it('counts comments, not files, so a file under the reporting threshold is never called clean', () => { + const receipt = fixture('/tmp/repo') + const metrics = { + eligibleFiles: 1, commentRatioMedian: 0.083, commentRatioP90: 0.083, + densityOutlierFiles: 0, redundantComments: 2, redundantCommentFiles: 0, + narrationComments: 0, narrationCommentFiles: 0, + } + receipt.analyzers.passes = [{ id: 'comment-slop', result: { findings: [], complete: true, metrics } }] + + const markdown = renderMarkdown(receipt) + expect(markdown).toContain('2 comment(s) restate the code beneath them and 0 narrate an edit') + expect(markdown).toContain('No file carries enough of either shape to be reported') + // The measurement found something, so the receipt must not claim it found nothing. + expect(markdown).not.toContain('Nothing in this repository matched either shape') + + receipt.analyzers.passes = [{ + id: 'comment-slop', + result: { findings: [], complete: true, metrics: { ...metrics, redundantComments: 49, redundantCommentFiles: 6, narrationComments: 3, narrationCommentFiles: 1 } }, + }] + expect(renderMarkdown(receipt)).toContain('7 file(s) carry enough of either shape to be reported') + }) + it('does not list the LLM review as omitted when a model actually reviewed the diff', () => { const receipt = fixture('/tmp/repo') receipt.llm = { diff --git a/public/downloads/codetruss-cli-0.2.39.sbom.cdx.json b/public/downloads/codetruss-cli-0.2.39.sbom.cdx.json new file mode 100644 index 0000000..ba79216 --- /dev/null +++ b/public/downloads/codetruss-cli-0.2.39.sbom.cdx.json @@ -0,0 +1,170 @@ +{ + "$schema": "https://cyclonedx.org/schema/bom-1.6.schema.json", + "bomFormat": "CycloneDX", + "serialNumber": "urn:uuid:be975d22-e2ae-5460-993a-2839a1058dab", + "specVersion": "1.6", + "version": 1, + "metadata": { + "component": { + "type": "application", + "bom-ref": "pkg:npm/%40codetruss/cli@0.2.39", + "name": "@codetruss/cli", + "version": "0.2.39", + "description": "Local-first scope, quality, and verification receipts for coding agents", + "licenses": [ + { + "license": { + "name": "CodeTruss CLI Proprietary License" + } + } + ], + "purl": "pkg:npm/%40codetruss/cli@0.2.39" + }, + "properties": [ + { + "name": "codetruss:distribution", + "value": "single-file JavaScript bundle" + }, + { + "name": "codetruss:runtimeDependencies", + "value": "0" + } + ] + }, + "components": [ + { + "type": "library", + "bom-ref": "pkg:npm/%40codetruss/analyzer-engine@0.1.0", + "name": "@codetruss/analyzer-engine", + "version": "0.1.0", + "licenses": [ + { + "license": { + "name": "CodeTruss CLI Proprietary License" + } + } + ], + "purl": "pkg:npm/%40codetruss/analyzer-engine@0.1.0", + "properties": [ + { + "name": "codetruss:bundled", + "value": "true" + } + ] + }, + { + "type": "library", + "bom-ref": "pkg:npm/balanced-match@4.0.4", + "name": "balanced-match", + "version": "4.0.4", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:npm/balanced-match@4.0.4", + "properties": [ + { + "name": "codetruss:bundled", + "value": "true" + } + ] + }, + { + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@5.0.7", + "name": "brace-expansion", + "version": "5.0.7", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:npm/brace-expansion@5.0.7", + "properties": [ + { + "name": "codetruss:bundled", + "value": "true" + } + ] + }, + { + "type": "library", + "bom-ref": "pkg:npm/minimatch@10.2.5", + "name": "minimatch", + "version": "10.2.5", + "licenses": [ + { + "license": { + "id": "BlueOak-1.0.0" + } + } + ], + "purl": "pkg:npm/minimatch@10.2.5", + "properties": [ + { + "name": "codetruss:bundled", + "value": "true" + } + ] + }, + { + "type": "library", + "bom-ref": "pkg:npm/yaml@2.9.0", + "name": "yaml", + "version": "2.9.0", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "purl": "pkg:npm/yaml@2.9.0", + "properties": [ + { + "name": "codetruss:bundled", + "value": "true" + } + ] + } + ], + "dependencies": [ + { + "ref": "pkg:npm/%40codetruss/analyzer-engine@0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/%40codetruss/cli@0.2.39", + "dependsOn": [ + "pkg:npm/%40codetruss/analyzer-engine@0.1.0", + "pkg:npm/minimatch@10.2.5", + "pkg:npm/yaml@2.9.0" + ] + }, + { + "ref": "pkg:npm/balanced-match@4.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:npm/brace-expansion@5.0.7", + "dependsOn": [ + "pkg:npm/balanced-match@4.0.4" + ] + }, + { + "ref": "pkg:npm/minimatch@10.2.5", + "dependsOn": [ + "pkg:npm/brace-expansion@5.0.7" + ] + }, + { + "ref": "pkg:npm/yaml@2.9.0", + "dependsOn": [] + } + ] +} diff --git a/public/downloads/codetruss-cli-0.2.39.tgz b/public/downloads/codetruss-cli-0.2.39.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f8ad92cd4757f409cee39990da8a77fb586f2063 GIT binary patch literal 827475 zcmeFa?OI&dmA31j`{E?_GD+N^P{oJ*(Uy!8jId2d0yQ8zc@?#)fC4IlDpFNQCbIU` z|M%bb81{kniS)joXUsX*ssdTIlkT^>uedt`s@9ro&N0WwGd|{6|M&m_wNe-ef;5v@98K1P5)e7Tl-|?ZvHI3 zU;S`x?c?{VmA~B--agXRc+ws5_|b4UdHYrGz4xx~y|l*SerT-!Lf`$O+C1wHPJ8FW z)493L;c@R^bTuAVn-90Eli~UK@YT2)_b$4FN&l#N*&B`f!$E&=+OGC`=e_Q@S9M2| z{z>;}GOoIV<7#r&>yN7auQyt2AALM`bk;k1F}}LsyHT&YygEGZkI#C?Rd-T-b~c$@ zj_)lmAMwbE9@#z`UMwFEUk%QO-Q#indF$xB-#YJ3dgDp^Pvha>^Y+}_FMd%y8H{2E z$NqDrz1F__Y4vaa`oF8Sm9>vsEC1M9`DAXcRo%IB@M_51y64w_VfxjdhW&x2S&e$9 z{qbaUy;QwA>mQv}gW;>{YwLF`S%L%&AwMjD{Cgcdn|Ad*lA;pc+rE zj;|SmWsJIm>WGE+kC|XKx;pQ%*3)i(FrHMs{^=Q4^t$K#b2%LMC&N)+-w%!%>qYN! zQVj>^*F2tq##f`4{g=JtcC`hSuP0{^S<}3(dKdjk)gM=#?VT@oJJoPhbsp}1+gVEE zbeQ7h)ui`LZ*<&0nsln(_^4}g#psOPd9?Ll`^h7284sbypx0;Mk>*`Zu115ZTRq;` z->>?E$&iV4tG%snwzs~0zPI(yPqz2A9_W$X>dTGohg%Qs+-X-EqRK^YFi9lnUG}TAhVY}MazFZDR z;@TMHs5=^62hB&lo|b$u9BDwb!{E4kK4f8IzCZ7^yvQ`OF}pWJ3SJFIFi!WJb;26m zOGq+;{w4||OnO=dqaF4J5bI2zUw8*^J|AvPPtS7~ZP~^FQxum$yxwtNqb+onm#Zh2 z;ypxfSY0s_ZNs4Vs_I_x7|45k-g|}gbryNt@iC-}ozg^mqowNTyxYHEsH2g_MC3;v zK~lM-dBE~VqyAxx%PL<~-Enm}8oumH6L^!D!?u{noX*l2?Rt0xNv_V1r84>_5|;kB zvuN=&pLCIr;YpFa>R|W5ZUy67nou}A{IGY_)q=cIZI5JUFsv@RqZhqVyUNUR=eRdO zwyy6;NMcu|VzjdtXcp9#6cgVKdQ8T0e9}i^2dDR{?$KzN2$F@m$Hp@`4cbFE(>^nz zNFol>>W{CE_ym0-fq|y%uz061g`TK&jxW2TF<;mBjQihBu3K=Eg|X}BFnOyE#tNcc z_MmK^NAjJ`B}>Zd&gzyspgDplJ;x##45iKFs&j146*^!nMRDfcO4O^)d*AUmI5CvM{$=mz z3WbJttoE@KN9cYc~H z2|O;=x>U)?Fr&fI`4xnU^>mK9lcTdvb$C9+n1#G+9au!>aX3WYv7Jx^u^f#M84+RB zo1BegJ6YY;;K&wMy4~}Fu;xEgk)fnKm;yv7res{$zgvy3FAj&YA*ehq)4*4!XR!D2 z^`LtJfA=r6TB~VByOe%8yy~AL%`#lrILI?*l0&B7hp{o`2rl|UQpxq$-s%7jllekW z7~>Fe>z%i{(j2hPi~i-f+TD8u6QQ?|D+B=6SmFWQi=MRte8#qlnP6IL)+NRpz?BRq ziahpa@4+unU2{xKc09CLqmZvqBG?L;Dy#G^Yd2t6%W1z`!cn*^y z7$^jZ1p*VsE01-J`2h+EUnSbIQDSgr2os|G`Y0Jugxz4o#3I%c5^S$17g=E@D$nWjqaJc9kvxl z=!g?giBR*J;aDe3+#U2!koQ_^b)FYBy8OC(*Mktv#9S9AowGmDOGTuv|7SK$K z6>{?98vG`AL0G9K;03#h8oVPy9^a|T)ZonVqz~JVUx5jKNa-0#NCm-HC>FGZSQ=|7 zrrl=~Kqt`n+-Sob6_e{(R1mn~W$|%7`ains9DP+eP z4_hmQ;a$Wk$$+*D#FC!Erd*z7P(3BxC{TvDwz6R$#HiQ5oPg8jztxHW(eQvJW-(C)nwXqvZla7Wa1hd3#0I~auR(3R6FYk8b zH+j|UIot~oZCn}U#>HzLe1slYS%Uf(OeT_s9S-5t+!78kZTeEP^Q(8^OZE?W#I?aP zc%xZ_R(!?{$Wxucu!%DCU025ye^g`7a z!O{%Hmy&2q%&tJd%e(nXDA2u@uVveV;*w6vqa;JqJvu@pkZ_~}yVsMh%2Z}xK~Nc9 z-S;Pynts35P6Lv((;ME?J9jpdUl9reSs8P&OjSbY`KcK`Xt(vdT{avEo{Gr!g-+8* z#!XB3i?5_d3QUwbw2;aeC%hi|C11%lT* zb0*q8Cg4>wR-UoPj3+@=sR+5W@T7kM==!PlZ?*Rm6zNUa%6QxnXfKlh?_SqK`>~wk zc!aRNnSn15TuC*1Cyhi*AW_wT3%sm3*b`tu87GeskMMAjw$W8MWL%gyJeek2w}9~4 zfu?0D07~{qo_W1nE#b@a3LOwnNE;Gfk1+InhF|)5+8bR0kKmjFjLwsV5CyWwXddHo z!6vv6eF@*|g5%!#q?;CK**D%3T!undDA&O$vkSAx-pL~hH^gX;Z8-y#Wom{bWZtxK zkwSDR;MEx#0Ig&Yl!y`_{BRujUOPIiS`K@Nw{)9H8{wKDaRZaq(UX6?HF~mvp2PP| z5H{Ed{mO^X4ndOZF90TAyS8*tGm=gm zCFiVq#hx7Yf+6MogMm*>Ld`qvucoZ)2(u`>Gpzn}b$p6=K8mo5?4NIOwC!VU0dWq+ z?0D#R^2_cC)}(+Q{P?m@B%;-tbTJ6?8^;ptUavLjeJ9k?9igHUaMBeFhto^kY;b%@ zkZv;H2|B|A9fE^t)b{nodB+l^&s#0CMu1(!*V27k>R`%hAxRw$6$}VG)4>6m>*jGg9gVL!)si=bLSsAhRC4@hj6|;cUhqW z=9EH5=10%CEBFFqUZYE7D2A`#4v3Mlopu2lsL9bZwvM|{X=!HG66@)2;4&&A!w>Q*@2V-T(_fEXjI@hrkT_Rbw$ zeCLh^%knPdYnGJoUSh5ZYbGhySDInvYdnrvBO?kUW1ASpv({mUBD7i-Axv$JWLh2) zktHl56P*3|rq+=?^QJPMok~Y9&k6aXyD+-4gBqtGa0UA;Y+0qj!txqYY(t8o%*2vl z)((h@(|3Y8RCI#J2BgnUdq$LfjkYI#yEpL9xC0p{+XAEP5=9yA@oe2S*T#@o!NO-NIhtjaDSN5?(D7M>Sm zGQtDl=V(QxXo{S(h#Z_qlC@Q7kh8ATeyqNo*QkBGW)YxfTcG1g6BmDB3NBkkktZ-AyYxVkv(jqc01I=W^ZpSHpi z8lT}A@x&MG%}Z`$1mPN1ru>LxiFs~rw^L3Ev9uSikjX2icZ#uNPqCha;KUZz1|}G; zkm=vq)Mh*mw&|pu$WFS5G3pU(*HR;YXwFVSgv<2w#YPA;2UD4O{=lXS(hkpR+_qKOj!CDQ^sH@`B&XyQI+Pp>>ao2 zOB}t0SHZ|B`Y!AJ5<4u=1q~BQP24QA$Ef?;U;S?T;lp%Gkm4u;vfR@Zr^rHt>DK2OGghd~n7k?FBbm_vA;w5&VK%3iO=L8_z-dZ5GU>7F zcD%&N!NJ~Q1xX=VO@{z|_1}q0BokAnEi61hi~!{Tm&pbdtrSu6kcBMyIn*|YghwKf zR+fNfWLm8<*;FDbia;x#^UB)%7DbZ>{XpLF{~ z_O1p9ZQP5dl)E1gHpRDSpV4h62E8+``2d*!Xe6ngFoYU?lB$Ud?E*z0d{$%UA zhd?4T35hy{odMZ{ky(4Mr&!}Gxy(o8OGaod)~u)$Sskg2d(PAc9(T~|)o3`8Ad4RU z_@fycl2CP~TcQmapkDW-7AuVNV42gX6l8fNn2nI%Tvf4h;| zv9&<`vna8o)@W=m!)u`kwz$M^5G#l+4`%YoQ2zXdL%uSs(&4%X@ln`RDn^4UjHNVe zM8>+c0lJdqM4%&cD7WN~Ts9ipAqmeorVudJ#;v3{!s${;hIlZ83Awd}i^sN0pqasI3b@PDL5pMqrOMuFDkIFo>F$apW2?LG^sOv5v3kN&uiFR^|vuCAZr#%``&?&Pu38PPmY|GXx3w9y@XjxBEN8|9Wq%kA%>V`zOwX zNKmi<0=@1PN;v}~R4Vqsx>7$(Bju``~d!K=fIHVeH+NJyZr$ zHb&oGcCTFv10p?ofp)RoppJ!@n*7R6as$3h*~EoKJW!aM5TSw`%IuM4s~NP_JsrTF zO8zkysS!+yjRnt)J=8X5bH*%RFvuYc$qLYh)#Kg$?cbY(4k;P0ohWN8%}45k3sdHf z0Ue3GvNz=TU~+DR0p;1slyzTKWd}6ZhD6UQt&r$_#nhB7FCll^7sW@cs_?f%a3d6? z(l&42gv=IlGCY^Srl<-o)64$wY78l`j1E3Wj%r{bW|vfsK%vQZJT&kXRSil^DJ%ph z5k3(D;1@>Kt|1Bk)P33Ar(WU`FZba3vKPO54hQ?c*RnlE9j&xLTZV*HB43eQc!nJH zrn5QiY9A#*Cct$@(u4P^{eOPQxQc$uI$~mugd(kTl@k+|jJ?$qhZUbF?CeEx14RJJ zAMhK7QN#D`0$dgX)#Y#9yn+I2yM%#mZFXh{4#9`8grn&W8L z8y)eO7UG3%?X0hN5_|S32TJyF=hv%@risZIKqE5MAcGV+aoU}2liiD2MMNV=B)XXt z5f2gKY7w%RNAT^&{-cT*$OY9RHl{owsLLQK$q4UK_JE2E`xIewQL7f}3&%GOdvFD&UARu00TKKlAx|dcRJC-U<}5{iswfSEsD=a#o0F3b z4qC1mX!)ODo-~}HK*WX%-;A#ZlkRtn_L2*9a9Z=R-q1dVM10+j!s4; z$5#Y>@ROM^?BQTZkRD){SDRuhj4?OEv=_oUAnvaA+vKxL$0I45ryO-f?7Z}>ddb;HpS|N z&5am_Q;-l1m6Oy}y$xEr=zizULuEx4Od8d94k<}%xM~wW9S@V4DWI;%0nQI40z)Yl24f$OT=c~t$O?JC zF13T)Z5kDoh78|l_B_*y+M&9V1&*j>1i?C2gQQDZm%{d_VBkiWFtYkYr&Iy};lonE znc5cXniTTT>{KOXr}}slwp9f0Tw+1nR&@*W+dKPPdk3<_^BBk!RH{0DcE|cRl4aUj zYFt_lze&IGa25R2a6pOnY7bvRnhjMav)md_u7NfBGpVzPa+ohPJLc~?!V)`+UEV9X z8dV2cEvRbmP+4k;Z?a>>(6LtIA+`mZ$Lu<0p+<6fElNT?6kDa#x&zY5ggfY!VwZFgjTKjJ;6`8Tj2zVz1G?vN#_$94x>pClM=MTOIRps zowOGFK9|}92(F-lIR^Tt z{oS3c!WEWJ^Jlgp(4pEQCxJVad|n5NQPM%#6x&qU3Xf9YD=k4Lb6QpFdCwO12N!zq>IFC#4k zbcOM4VF^YA;WbXo8+zta8nV~2hpHDw!^FcxDO4~#t`Z1Em#j8P+l^qW?ggA4T5J>D zAixD!?omNJ(e4A1AiYpgYcd3EyfnuJL^}s4DwmonWOz=8wJ4O`=EC;xJJkY4sx$PT zedZ-^iod>sc7vDtV{7M|Hrz=;CV%iKeT*B(NV%evLg!+ti=)-?_&^XLJaY;Z#M368U7n!2X`w|Hb>|LP8t@Gb#C`>pFktX$@90d$ zj__r3B{3_8PaZB7rh{92Gskx90agYR9MK(-Y5yuF( zCLlwU$m&@>|3+~eOs0;uFnCGj85lX~(qsk%&`~m7ic&UE$RxQbzE%d#CXi<{9u*ZY zF={P+ZTN1XMO`(}T-mO8Sa7ri$&%Kf5GoOqSU={@ol>L+p|efQ*|vlwrAcw8;qoit zAg>28P@o_faiA1*8b}%^a+@*%0Wd^96~rfR*GXWwR^eME+>$O#0}MyVdVjzvjMz?p z3w##Kgq-ZCVB+Y7XDdQlWIvXX4X2U;DBJKAgL-yH5;MkFvL*@m`Z9G(5C4WXVGyx>9kOwWzr>v7s?_} z2YJBOq9{B7<~^4>-Y_fa44aP!Q5%p0h0Y@7;>O6lK%BE4ap`dI5Sx;RLW506 zalzZvItM#A83E8G2yfab=Gfxkk@IXBL(ASrvhWOrjRB?EKSOk$h>1!uFQo;NUJ>-w4nt(`WriZUBHI@| zF=d-mSrF(RU^h6?O@z zqh($Xj+o3Pj%k6uk+>`lP5>ELS7s>HDNQ9tW#MD;!kIicVML=lC*EfJs7J`=>8JV;)as&i~LpxSYzqdFT;4t85# zZS8FBZ5(i}>Pt>kRjrDXFFU&j6=$>#I`X(8L>w5w;nc@Eon?!Yay|Q^bIC~~V&^*AAsrhDpJr?b z2QR`%Oo{Ul!)kt|`rQ|<6z|w3bSwdKE`%<`ee)Qyh7Fdw&$T9IM0fxjBEK_=`Fh9m ztV|OZ^XJb*g9|i>a1ppXu&Cls6qRz~jydYMfaEuhrPc_{C#Dz?U5O4S%HUmR>M2<5 zQUg&j)wYV*F0JF~hEvM?yFSsQ%OC=E7%(%hS<$wTNy2EH@gR8v0RhE$D4L?!UdRb9 zzCv=CX{2nkU*Sw~!4GUv!9A+730UfRWn9E1`a4;=gfiuaDF!ZwpZUcFxiH&-C}^O9 z3CD|-N7fRq6`3jxi_`p566GVExZ zI&JcP0v@V6j2ITwgS#W+XIJ2)dvzZ0RSQ50H1pzoEDy3$dB)8-k&(H5+b+0+@;HqPgkj_4G*nuK$bSXhT6+f9LWIlYzG?ng{TB^G5 zq~Y7+vz)eol^iDPBw?&tFPS#dpcCvJ*6t*e%qEm*hNQS2&r_aq8q|#1kk7{(2VX4O_*AGqz?Z!n5|YV1?!g#4!4UA#&bbNyQb(qS5u&`cHJ|QtN*yi!9dD}2yhZ`wlUBg7#uk!B%l~An1KHgkS2qrx&Y?vWRI&AL~QPl z_|*lcGf-`a3@#_Xc;@ub7|e9dpIm1+|Jr z_KGcGuyim@)t*rxgryN?WFf53F)5lGj4lMc0}TYOxUJBb;R47LRtF%aN>3(*Tt|^` zibdAsbg5$UnNw0x^~pdZ_LcF(1Ac6B&vU(RrUA_)2!v2oJ9f}4&L*%YIs`23BUOXy zA^gK&#D5`g#73fa&1mbQuT#Y0BQ&ThE7%(3A+u;!^Ag1e`TSbo<-9Jg&GohrUXxBx z%bY!LHewE;n#Su(#`N-lu%eM9~m1R^S+9c1V*tzUhtv=#5?dL^uG6 zxeqq%d%Hfbcs)@5p*E`$pn8*;eEPF_y6V5mGqes}wlI z_$ttc=@X2Ot!6aoQ)pVK;p;9GZaD8>9Hz20sRf_NDJA@kk(=XwZ>ZnwGs{mm> z%wu0h;X3h@lakD?ghE}#6zgrUa-fFnGYO?iAbzJ4le#K57O5VS=s6%A_ympOd>5Ws zUmaMTn$HD8$oJ zy)v}O&W?#}9#DgkhQeRHMd5FDFI_>?txuxaL3O>pk$DN4V684VJzRYaHc-uEa@gfb z>v$XSJSL%x<*6N>IFkdP6wd|T63XC&K=0TEN9+&Q>ncj((btmysT~%Oq7=QkU>|L4TAz0 zbHy9BlcWuRjo8$A{{;%E90U;?Ndv)26Nk^X|V0a5Ugt|gO^XydJsOQwNSQFIfK3eGcPQ`w4Ty|Xk|N&BM#IM5P75_cj} z@dwlv0d>?)_mt_S))XKNg^aQzpi6oK`1Z)>(n%`GbJ742wGY2BO%b&o2k@9%rZnTf zG;+!$xAYZ!qTmh+4V*!DsTtaDDW+1mjSN*3oGNPVtVUg>9Tp0?q2fN%ka(4X1KNxT zpo!b$sv~KLi(|N zoKsFYNWf4vdJJa5lATTt_#+8yU{mOofSbM`7ZcLe_HS|H% z%5o4!1e(-HucB({p0-+THstt6uY=$W3@mJ)3&J#&(pm0+#~NIHZkU)F0dXTzIa56+8^zMtACV5VnyKzMKO?<2~Vq( z%?DJ77L>XmX`DUU^Qec9rkNBJ)^7f5AR80>n%XPU%;r)N{Dmc48ULO29?o zIc`x7ju17x6mQlM`&@(B6zA3}r3}@wpy>nWdm|DrR41d44h-{73O~v#gUB2v=-UJo z=gF=q(+mDGAhO_~wgN~I1tSJ!-7?V-jvwS8*tQWki;8-gs!Y9+!6 zi8WIbJXsnt5nUJKLOCB2aud;P^*I6eM8ZIvd?64I)3SlAHR>_k^}{lr6^>~V<+%~c zI0w?JiH3zrdz&|wZA>CyPUQ(qEF<@Zg%0lIkXtyM6ic0R-HN!{Kw78w=JHTl4X z5xUI$x41IO!dOS&I3^#_SvlSj02GaI5_`vv-4gv&sNSkyxg?#O4T4CyN9vMI%jQ!( zuqG|O7_=N2Y)I0~abQc*gI=lN_GnFiSA~ZWzW@oz0oxhP`Po5lXU>u3FBKai)2WvRRy^3IEx?XL#B%9$-|VUW>>&-3{@sod1-!(n(a1WLNhNN~aKYrx*d=FJ>Z^X8Rs zMPg~J-+=;-3I_SPmU7P$S&VROb^{b^5xRp4$=7F+_V#U{6f$_bv#-^#6$)oyT!AOP z2jYk!ol!u3@NyVZwnE245t_3rB*Pj&J=mb7LgnexxL&kiqXhQZp9cFR(n%ojQDJN+ z&ACM33Ec&Ba8pf`hax}m`J^l5kBW>U8O6t3Tc&Nanq)XBw$ky+Iw7Xwz)S2XNgqot zk3n%8mxXH%08!_}x*ji8e+Mp>z?;C609Oswm(%#7*G1qx3xke zMkIHxZ^_ACk<6io?y<)*>d+dcCIwm25f{b_o0i&CDaPh9lz=jx6+M0;SBMZuv*Dms z54$6k|B--3TP20dSjf>J&hGeuI-v^x*}{lMDefcexZzG}VmXi(Yv=gB@-xPToI)jY zL!L-HXJ7T`cfD(nSkxUzJ*$)xKBw!#vGm4iWArLugp=in~8dGW-NEn5wUX56s3VAy0_%H!c z9oigUX`7R0BE_ItdugeYNR5{oYgea=j@6KleOX`GgoKf!3V^AJ52OI{S|pGn24vEt z0lwb;>g#*eSHq<$JnZ1Cy(@eQ-N$pxS8%D+v=n|~=%XRr!Xe_siY4>|dugM5?jT&# z6vk($=t5px)Cj<9jlRdo!J*{5S9PQ*A2e(PF+@@l7osyQFAKnE8mC)`fx;tJ!or&x zt6hB)8rHFNJ-r0uC?0?gl$Q!*MhdTaXSNn%=>>AdYE>lD1YjAXun<(rrw3!OtVp+1 zJ=u;}^mtLczrRU&?4#|Sub%JkZ2WEu%zSmht?CuRwM84V6Q~2$ndF{|cU8taM=NOJ zEnzr-aa43Df)Mb3D=NmYI_d0(cr$w1q76|c%GF)F+gCsi{1(t(gUsH4Wd&tn-Xz#u2?@QmqS=7)l<^c$5P>NY6dec4YUN9uoy6t1`zN;8^y$f5zK-0 z;y@r*3gSOjY4D$8f+i+v6}KN92+E10A`w&_hO)q?%k= zR!&ce3d)g4%^K}Fm57N2qD$zKc#9U6x&XxE*fh6~lhP1_91-kQ2Xv-`h=|9pIBbw# zrXfJJIuq@_EB7TjrqKc(P$xwR;>`=S zo@Fu(l#?U)Ou)fPrV_&=*CWT-!Ev$b?EHsbZg51iNF0v%uv%zPdhve_f2>XMM}g(d znxos7zZV5=gZ)VSLpZWs_z;Jq~5|y_TKO}q|)r)qlD)ncq zA;};Da7ZdLhm)e0fN>aDPoYqsc5ITNnHsyD3_nr9c>-Fx6xdfUDdgdK*vpV{NVelgQ9yU{{D!)zV#WVhuUI(XE9IST zhBUJ+&#q%KT%M0z2uagRwFFf#7zewr_Xl`$!BP^#t~==oivA>WXX+se~8Msk;gU$0sAE_=r#gDL7Kl zs*rIS81(9M?2HF)5Yp486l9cIdnR@3M+zxYZKoGeV$byk0IDdL=atW?#9PIcQ=THGNMA4^)BS?qApj}9Lxd=m)*iCAl(NnH@$<&HK{to zo?l>=KnSDr-XXoYi^~|y!O)Z-N?HsNkhfaewov&qjy-mz5e|f@521kY*(K z_6uo%k9UP(fo+{?h0M2TOp;VknB03Ha<^&~I+#cFU z{LB#t$8RHK!7vS67N;UGLaa6GlSnb}92^aW1@Vjme>J(nqRd$Cm*J$7Hlu{wR3IC1 z+fDMW-*IS8;}D68KuOmD4hyf9l-d-z&qX#+QRr>1lZ%M7vP7p?wWtseP6o?)WDnvLd=g*Eh>c3aBV;rjGUEmRGxqDhII73!?*mEs8Eu@Cj$8deq)Z1{u0R`ubp zi0VT$ojgowxUU*2*8N+ebwile`MxIqPOULCC|cn^?_$dTWqw48!MeZJuGAN65ajc{t^PLiEG*M##BVu+3&=x68AL zC=Z#IVCw#+^-@Vuypk|*o6$fnIN#5{)w^WbFszboDXE_sGSTM+C9ty6PF`dNY`t8C zmI{oB?!1Huc7VrpDwpwu8rU}#3qYe8<&$4F&}!-Ji`GJe9^IryF9O-u$WLMMtVL^o zv7VlcU48YFgH44E9oB+1@fMF&YD{{AqM0PNO$S?E^@C5!f|#(v0zo=ai!&y!7jcb) z%5|f~(>B@}$4}`O?#(6>8O1Y=Y8GB&75Sl3{~}#^LWlk|^=kWpB!%avAh|mmNK6`5 zb|#qcp`1m7HL=<>cG;wZD@x|U@2mYUb{{Dg*`+MV;Nr=X?FTPE0y#SW5sibjWjs5T zP=>CLj3=QLD!vZ*KO)KkK;ceBfc2H~9z(lO@8+QF&893!}bjVIK$x`y~+ z$U>N8GcyvMj*nxt5W%e;N4bMFN~%3Bd7x{PVyftPVg#h3k(|aA9$!N z@Fo{EcqoYrqt$3IZ%&pBs-}@G+@z6P5u}EGw{TbRdju*XZeg*3KIuF;iCl_J*xq=J zfdId3yn4nf^laj%NW7=Rw1TPO+t3cRFeZz|;Hk@zGWeNMYo#*7vQW*g^oQndTmwtV zv_>lGgae2TCVzK4=!bT9HMT9we2(%da~MX5t!?E!W8L+xWh%jC)CUIh5kD?ugf_KK zfG6ZDAsj^mZK3dWbyBL2QxlaZdk@3cPXO6%r_oT{tRoUhXH8LtY1M@FevsWS<(^u` z%d2yMTbK8Xh-GpLfQO5H$g{&V7vhp;q+*)ivE??Wk{$CqZPj&!GVhZsz;EJuZyXaE z6HRYs@PBerL#TIqg;@qUm#h;ahwhY>nM{T?*L}kPWpw0 zR6D7=F*sa_#Osz2F?hR?K@Md>I6@^tNh}%2IRR~j>NPmUMF!kiHMl9x3o*mt<&^r@ z*^BEeCMo92jhKzB0_3+7G|;Q=Bv^!9(T*zean*f=j+{KTF_QGfh$|#ztXJ~O>=yZtH zsk%*t&zrj&K^GsA74%fyF}&G5R(ezJq3V?|%08WO+(JN^PPT0dgW0}2YydcAtC)v; zC6#*kakVUD5pDDvWULUra(V@1e7uZ7I+uT`rY%uXR$Q*~Xm&tngx!Q|CwB_Z3fyv6 zHY*=jFto<#!8e_qCl5PdS1dUNW1#7*fl2N%Df=JSlzq~qK`;D78znx-5<5JUrKP22 zO47=PI?o+G;gU~To6HOsTNN)GhnSjx0j2A8*l+QWd?6F8tT68aXjcc>>{2qAdL^Rd z2$1TiI_H&Ba~s<1NbyPYxKEOH-BEy4N?y)1xa>$05iw_hc{VNVs-uSXU0oKdtFi~i zqoX51ylXcJw(H?-qGAjRgqngwdH4*--h*c-b`FPo_ZGu%;<+N`dF) zU`PWIy*t11CBZ&w8Kk9eCBM_Ip|KonM{(GlBpSdw#Z~QP!3n&`WYwJ{>cZ2zI1+lI zI8(<>)sLX%qquOX`xVsTW5S@~3(A)d;7Z2g8LH#SNh;(>RQJlYZVVAv+Zc8nJFz_GuXRR zO^=AOctAOK;;^I$36@Qr_=0~io9Ho5I_n!$1>B!HJ+O+@(Bk6{TljhMwLpELFl2oc zeo@aUaYXo^NmJVtgtq2#ozIbdWjs|uUUK-5;}6NOMiC2t`M@vMQWXKNd6bongBRJT zXuor*f&gDqO9{TGa|sO&V>M!!7+pW0xcYU0-XKHP6~)PsWk^p}Vt~0THWWp( zY*A!?VEJgOXqFhu`{b&G$f#4|aF<@hlWN_PN;c#dwQ8q9dv6CL8H0(9Yg0>S=Tp`T z+4l>TRq%!4znEQB2!9k!i+^q->$i*5{fy0{_c$37mdS;Ru6@#6MY@nOmEb# z+2#hJ#E#6kLFTMxV{OT~75gOjElYjA&I}!h;7XZe!7LOwc@K#|>ZD1N8LBxs<$i%w z!vuMd#Faix7brSt7uH7%7@#gQy0Ludhmec1pJ>rx_36j0L%b0>qU(gX@dw3#5u4$J zHM7(864e~}MopmUqhw4o4u2p^0P~FQNz6C8#klH_ahhBL`zfU9O7BWwVSII%QDaFN zX8XK@?Nr3rA*E_}Uu*nQhq0@NUuH4LVV|72%IpVQM{Et=_c2GkTcFU=1=F%CvMR!q zIAJMCkURt)i@m4jK6inRJr4FDm=0*3b+?0?BtsI@pTgKvIo{0J?@oU1yIKiV;%DK) zOJUPgi0ox%8VZv}op&E%xB&Tk3Z}aZj zQnkIm{lB&-2Hii{*u%{|?H?ia?lpgP0l{6JMGeZORE~}x>NCAo%0pgukEM=lCxVVg z>E+!nVstT87Y{WABc(UeSG@YFBzn7pl8BkaqCL^Q@ZWt^InBxGGONevPD>IY)6_%9z&baGy_wDkc^h*5@$8vuFv%v zUbI>O#u`byJITD4PT#5$%Fk1jC@>+BC}@-p`nyO$Ct3p3aDs(5%Ln%c<7-QpL{=KD zhJ{Wd(6U?vjwb{G6)k2-_qow|D$a>E?aEY96CXReB($Lf#fB?YU`=#gU3dgLXaNdp zCka-FLy(}n9DvDXhJ?kb7jZigsylQeHz|I&RQ-h$J1{If<~U1XP;{D{R_)h*yzHyz z%}260Dc}CIK!@=KAvWZR5iuLFV}Ubx#C#?x)e#EKu;j!W@SE3T2eq zf$cDPcVakO1?Vrzt z)o<}5K1JJ;LWh#s@nceOq`;$THWCvtg;_RIrlaUXnxqX+X&VrR zBcjggLf*(3-WHO`nlL=|>^3S0Swe_9tboXhyS0-={i(85U6ov7niOkRKN-W;95kCZ zzFBg-hhX|Zey)%RTBUdiJFDzrXd60Ru#fb!D*Z!}pQC+d?zn@wb04$EEWu5wh)igO zuF{Q9A|Yv4&wgfZUQq3YSgQU^gQT&e-UL7%y~jHcTg>C~LPz zra&2kDFUrrq8gv1C}%XtD>+Ghn_jHjXjM8LJJhJ;My0U!^hVn%%3Vs=P59eNG>iUG zBmg3k1g9;-`{tA;Os@nXKQ%Qv`sh&^6kk0kXFXVV+Oa-?_Cl6V#bha8A zVk%PV3cXM}p9wM>0@(t#8fEkx?DHF$1rfFR+Dj?kTo71ecEf!=nespD7Y+&NU%*XH$qcE1_rA;yyPJS zEf`RNFj+p5^Mt3UrXyMaQCJY%%qMoiXN{1)m1RJYzl$&CSHRHWkLB01dD zR24i|;ij;E`fc{mMAjQ`*Ax^A>NuGuipkS964i!tdQqB}l$U}XJglKi)qo%@xCzaT zd;r_1Z~rns9}{u9Oc8 zuxbHp6x}kVhZ5HOV{?VSiiS%aTqxCUi7xE-&_vpW~z+{W8#LXT~F2ra%YG8 z-8BPy$&nLhVmYunL~4TNbGE_i&8M!^sp!^PU$@(5f>L5RW~33r!oO7$*pbYbMArwS zCFfD&h5MLOQ;k}v+1)Z}7-}*kM(=qql~5}#C#Q`a9QE+-A^*`~GgN6bDZzFn*GDcoOW$mMN>zwoIBXJ87nO~sqK!a|@|A0iUhEg(C43guS`_qc$BucU z)lyaN? zAD%H6iwrLB6af{P4b4kowaZ{`SMP386#6Grd$Z27xLzSwbzxv_LS{a+ z)Tiu6H!Z_f+MfcJVjfa8;yl!numi$)Mb}sMAf%BUNxpi*W42w=uuaS*O4A7i3#y%o zK5@i%T5BJ1GD+b(-4Oj7|IvqLePvdoz zK`VD1DFyD~u9SkozF)hDz^VE$$lghHg!c;yVC5an7}%atR^ohDH_&T~(pF$Hr)H$I zSylD5qe|sKjP}b_;@$+6*4Ld$@RUk&)pM}S-u`pJz{{)xfmN z(o4~`fU%m>Z>R8UFrBnkTtg&FueJnm9MQ9Odx_6(T4D@?LY#h^Mo*+>92bnaV; zOnF(UxNblCzAN^*OkIq+b5JA{;G(=)rj@!$sB@-*9I1*(>U1Ah5yqQNTNH62EF;$= zhJy(9Pn+v6!l|(ybw@8mdDB?kVNUgeKVCL(4dOT1W}!`RJD;#&NS{9gB2!;zF4)T7 z*$9(dB3Vd2mu@7pjVl+%ltC*37U7dUHulX;r+495f&8?mNt-ofdx8A$L ze;P@hJcI?_``02lQ#$gX|l|*S=0gP)P{FY~ z9oR-aQH2XwQO(ex<)fH-*Gv3q%tMS}yoPR_C3Wui#7_Rdep8HK}pj;+KCiT^TAyW!P3u@J`9aL{c`dWql=GBatJD)=S z11r)?Jw#97sa|E_Je&4f3oIcS{)%7{ZUgGW7nIDY`G4LP~8K65H;`wn4W@kRK4QO zF(1*m%6W%R~1}62FHwE2w#Qc zFT(oGaGchZ;>EAPw@s`LO9qRmys~hO9;?=u5T%w15t{fKUyY%p`HE?%TE=n$R?e&f zu;I>ppjwHMs()e@JamXfofnv%&_VskSsriCJwcdC1tO4f$wOSE7iC@M8V4B9CqSZD z)tf0RkEKnFC*GHjFdB018i{6KIkP7sWZ46_rgu^n*rIVVB0LqAj*~eSeOb`F))2Tk zLLzELiPSq86z81r=MTQ#-h03SkG+FGJm1+pz&P!qAyHKr*a8jVB*B{X_TUjN^ zkxHhVFqw-2DW>-hVx|63S#dnvZvS=G^uLf||B+M4_CH?L42^%}eLv+gnZ~!<|JA#^ zC1ck9fBebX-|hcTq4CeX_7_#>x3U~Ih0DC@sWUhCP$y9nDo@UD2F}xNaG0-v!FW^w zUQ3sCTyV4%gUk7Kd{ACNr_&)6cQ!{9`n+nLjQ1bD#Uv+N$=esJ?>Xf^S7wQR@hP8H zyu@gJFaEqhaiz$11S6wzYCPY#(+Hosc?=NkEt!h-8WXh#l2=` z$;yP%d6^hlEA(1Kds6toD^A(vN-zb1Q{J5*vM>l z91Be04En5$VejpRooIwki!MLd@`y$px!LSmqe z_9t~LunX_E1Vvyly)k4wXFOF$9pbeDK|l5H$gdtCPSJ%0I_dohK(f4uG)J~&7o?w8Bdo)!-NKC7+@MksIShCCSp9L^`Vhgg)zt5PrEiu$zh$_~y^7 zNn;`(pI2bxNNh{{<;F$ggabJpEQZs;kbpkbI@GFnHEnFCEJ_4md00mC>;+&IS0;tw zyVc{pDBDU4omriW2?Z=`MIKmOBy@w#qdrk7pj0}Ke%klTnPAx)6cFOnVy(pU^4o+& zu2~|~P-7E2BTSNVj7dv15yaHt!L-A|kZ_1mXtZ^iys|S!C|>nKiWWn--&A`!{1I9H zCDu_)U=8$ zlBTL!t<|u7Zjbwl(P!yNgs^9<7(1;t%1UUAty4bsYS2$iO^ylyI@Hur<5-Vkwb^tN8&5z; zZ#q&NfH3Xs&x5JkJ1knQCj-C4Z_0z{H@yKxKZ)Gpw<_-5(Xnd%jHU6L$)`+R1bszA zC{6QCD&8S@7Um>x64=7Jn3pJ0k9fdIFSJkEz_}7H)+2J{*@@do6F0_brU_!hRs2#e zfMSXTET`0)O5svlWdW3Ie_((p;c*L|BhEe5s+DH+0tOfcCm?_nRv)&ohRy{u2S|2=Ljg&dtZbVT7N-NGJ{iBN(%SQ8}8 z>OQAgwIl6-@?|dB$&OU;>PMJEOcBW);r$#EZ@s+R5ttGl4GXPzJj8+Lxv!fq2<61 zX?*48FaWOaljx5xP(zsapoCWk7-$hgh0;DF?JpjrX>}PWMT>MaLXZzoXF=~1868g#y3$nG&=RG4adv2 zq3I3r)(@8R8Js>|j`V$75obk_Y+UMB-w^C#T<`_(NgXH@U<@}kR^)*NZ;(gcXb?7G zu5$#x2!;xuSsx?4Zhw|?WDrqn3N}k=pe*o~ndmttI?mNC&+KI`lc}0iH@cstPZWH^ zGQOn)nn{#%UQ0ir9a?*C8(^Bvn#^w_{Tci(ac{IjyN%fS-~zqSv}O!U>4fG*httdG zxuZ>j#5l=G8HS|h)^r9BSXpAJUNxK(FInisx#Z_pgBP5Yp*Qobo$$QpdW%i(xp-A? z;cx>^F+uh@2%&a}a-Tep>?J<5&nIvNFjb&iAqsEfoMNob@&U6kRpumNEw+P+DbPKo zY-2Cv)Rl6iW{Hbc&Ud+&N|*vwTXQnccRtsh=vldmE{+lVQc~Pa|C#QQr8V#1U^#qiV$G3OG%%e*p4b*kQ<1p#~SQ_;f#-fT5(+kMy4#33_ zEoA-%?NZ7RkYPAF#Zw6h3CWkS)!3h|*xBl20k{Vtk2}?`=ju;fDc@-tShRj#6+7WF zJBmN-1*d8zjZ*U|DtnHt3Z;;34Ohy(HsQjwfX?Cpl#KAHPboBw!VId&W6pL@lFU26 zKO*-_;bj9bppj)0)PqPJ@0$97a5_zuh~%S;v9zw@aD9gR{3Io!i^OxeIfWP#9f``~ z9a}ZysRAUFxqFH5oQAHG9-~47(Y@x@rkV>co5Az>vc^$|DC2;I4p^OREwg~pZlvH` zaN}a#BB!E9NdY`9hQXs?g31sNBNz5;A!V5ttuAzT3*~<*A*-I=o?v*kaQo+YcXLlrc(5OC4t;o|<6Zh7w$v#Q zAEvx2R~BFEx5c73#wyhXnU7UHCXdd|JDT-~so&qtxMLPF8!qX9I0oL7e}9T5Ez>a-%e?7)K%lUaL-oq9E0Cy_Ca*ipo+zovI3^ zhz$JPIQjq7`*QwA4sHAB_&c8${~Is%hx0!xpR9dUYD0ACdn>CSetdW3@A;p<@iyE# z+-vH-=6@Mp&HTM;zUbU&QVT<1_?P4R<-_4cYqkAxJH3)!h>rEUFYsy(cb^wVeivVK001oYxUN;z1Bw`e!SB9^wYcD*4jVb{j|Hf z^3gxi9y1L={^Og7`)CBF5T9e|R2Ro*tDZ)7toT6dVq(Q0l#lpOeV8>)ssoTg_ISQS zYsC4}_m?kD?-8F`{?&&oQ|kM-J}&lYeUILdr5mQTeEoer&-vL~fmnW9S}bG!VI8r} zb*Cu^914w*N|hT{BjL&$dA9n|+4eELrzVLO8N|_VP$ONz1Zrpl@!x+9}qZ8s)zYXU(i_mKwJ*SaaJOqEItg zif$J|nZXN(5j*JR9j|3VyPo#F9{(rpGEsJ&`9CJ+OEl%TAGTN8AC@T;_ME<|{=Tu7 zGk5+Kd)YshNIlvOm@^7MuFFw+m32^KWP8_upx6uDciKzoq@-ZH7wU-MS$&*ZXkiPB!*^5k3R{Zk&@ z*nkY0ryrW=$C%IN-uyjwbE^mc*L_&xKXugZuN&}|yWbK2S^H$=lbQP857+qU@8^GR zq2=HDqhD|~W~yq%O(^!slIyivZcyeU)H(*#%%SV}u0y%G<~9odoziPpPf`=$#<6i+ zc$EPwwV+xyk|i9*amGB}K0tL2m4`I!ZImrB_Rp;mc1fvb9@R>}_(hInQ$aNK%8nAh zrdo&0CBb-C1TxWRKi40Rub7#NE#49ZCqv_Ev$@XABC?Ki;4G1Ri$Hviw5PT#5+1XR$V?y&C0SaVk+bz90(A-!Hwmk(H}Ug>P;>_lX_^wfC! zo~fBu*qn>cm}qy$J?1@8jbQ!ASAAu5j+AVsVvTx%x^~)ckx**KWh!b(ai}~82}26{ z8cS52s0y}ps&%Xsoa(@IQfWMPMPM32U-8c4=^<3jaWtfmGTsW&okI@1j>Z;gf7Dva z{Nzp7j_A#I?dmJq+qK9jQZ%IlNNQoj6^K{&<*-k?rIa0^^NHTb2M@6`N@J=BlSicX zuVnZ2=0D|pQ?W{f9HS5x@zgukIk3aH%8gSak9r_M&ABN?WNT8}wh$ODdDS~7{3>2T z`h1*M37}9mHLImAC}ff{tL3`B<($AOCvFRyx&FW#E^!dG^U+@_WZd)YOM1+L>7D5=UW3#l65*pUZ4M}7 zh;DpQ^Jr;JE%#JLe5pr=POaygj{%4YnmP8l(!{OwE>Pk!OGhnmBz^yiv{ttNx92_o zHrD2c?f>fP-PPIizaM?VapAw)|Gy3Se{hsvRAi#d!9EluN@0B4`Ca59T6Kx5Bl;Nt z;Dn;*=ug_r#3#Ozo<;hLk5T>Gzy9w^QICqSNA(Cuah?wvR}O+Sj~j1~yWOMef6+wZ z=!{#?b=Hb1dT|{By{|p|FX&a^^R4MLPYMIjo57715l&PWN}X!1D^w$sL{U>Ye3+)RK_|*fn${d~f_ht4TisuHo(&}i z8e)}`pN$imUD`$RB}K^KE5D^RRS8l!NmbzqxT(I+M$NCN22=G%6Sa0>m-xCIhJ`b&hqUwxFg*y!|g7OvAjY+S~&Q#l>4OPNq0R=1u3%=|(yk&V81% zvxkVou=_&AX-EBYr)bkoE?bH|PwU$Hj_$`|Ku=Ulkc88RHBPoe0##;-wqB^HeugnK z6DV~GmZa;I$et)OQHiROa=~3dY7n*Av9w|URNGy z>h6jW)Lfj85CJr|Bl;0DTg`;c=M()H5B*#!^@3ehRSsUb;1y1NV29rH>TP_?AH3V^ zKb)^((|y$32av4@DcyuDd4}v;G+(CTl{6!pm%d3;-SZ0`;d|$6ZF&+A#UCV62w+7|tm}%t zYT%y}zmbN6B647aC_s6hg;Q`%y47p57qwTt@!EX{52q~9v8*xaQ#%|Ab3EUu{@Y&_cdiUp)w^Pk^-y>YO=%MFoCf2sQR>n*0Xrx|bX|CNvBPpSqR4F; zFbfUycx#WvKicr9Urv)hcz-5SXfYtudYc&h(-mSlsJkcD<|Gd{&E4s|X}cBWX) z05ZjpOAK(AheuNA9KskL`4~WyR>slj1xeBTe(DG_zvzeXLO-8M)pz-;BAa-_s@|95 zr<1z5Yh@PQMoVVho?3gLs&7#fG?~z{(%CXq!Y4S)hs_2mNu8*(N|M;Q)W9XrE_5sO zvB2|&W(FC4^n9u84Fx3CCE$SWA$OHwO;klaWa z{0`w?sZXRX5|;WY%FBvmPKwa_^T%i+X&tE+-}>#g^jX$B(sWC6@6M|Sk(T)sHzqp9+fo9bv69`ie0RVTwip=|1Yv~qe3Gl{7iN~#{^@A~QV zOhNa*>!-i#r@!l`S^e~bQLev#`8EpV_^oagWJ+MnwA za}p%r^7UPJ#AwG~=_}gRJf=oFf5)Gssq~5Z<)v$gaqYeu=)(upyXQ;mPj#uj;SEH* zeCozcJJi>YZ@~n$#D0iajid5#sBU}x{MAKX)^h;OWmbw+Vyvh*%L`1#r047 z>kCJROT-Np*FQfY@Fv&`Y0{y(g~it#)_YBE5xlPG!uQ`VtSlWJK7IbYUZ-cvD2q>5 zo;_P!Sm3ht*Q9imO~3d0&6~w``ooXWKly_+{hgfByULXFktMoL_uR3}k^* zjnQ@Bgf-8uNMkK7@`U%FKd(vHCi-`->5%Jk52qJ0Su=g|xC+dALBzdqnac)!Vi|p4DUuU{6)B}G1{rg-I z|F)k$?~Qp1;d=%vYxWbDD0VvOUY$?omtMPc{2sS8SFJMgH;eaTR%VGsZ+Bw3=g~89 zat&QFk1o8PZ?~8Ee@XIl##7#4SwXaAt9X4pUd}hR-~0D}fA76Njpr8<->ogaz9Id1 z1RMM7`_~tTG=dZ>%xk!Imw>}~J|^^Fck|{2*@sWpJlc4C^O}q9W%~N@#`fOL@Ab-w zbiw}S27cPjOL$up4ZQP3TmO8^6}>;FuXlDIY&}2t!{e=+7l|-!i9ouvKi<#+*Y)}O z=kLF-pG9{3VJ$l!e4r1WmeHRfSEibGt3Q5_q8UGXFzB0xdepuA*`u%nX_Uv1^=A*G zol4{EoAy6@q}b9tR`1V0f1s^@zMu6K(b!E=lGNFtpBJ<-i_(2Rw110ZLPAGpzNWE@ zi?7vms)B6y{0k9C&bC{>TQbw{t}}Skc>E5}{98QOEEJEf=U^%L5%ZDVMip<++G3dZ z8XXlo7PI^Q`$3zQ~V-~MhpYxRZs@e5ucNiVANW8N>7F4)_8wEIm~w+r*>pu2>T z3yREmu4c+5|2iBYd#WmmhYd&1*Hv8gjYxn2%GcaSuJeT3^=1Wk=Mj#M*M0r-1zGeZ zJ(^Is>Uwxvk}6Z-Z?5__5p7lmoeY? z;&xEh|K5*J_DxIvNq;BO#g7?UJzoGJc`f--OX{M7`3|xjO-ASIf?wYxlD*~f84B*O z>;>HmoN5qO>>D310&xAJM_;Ky{n#bnb3ZA>L=Anb&u3=%2AU?Qsc(UV^U*X4pgFyt zwW#JD^}{l1PkZIhw4)&8blv?7So`ZM_xqoD*J%EIF>dpM$T-mT#%@sBzF#XFXu@0$|A zFcyaU=}|AsqvAwlJj}n}_PCetc$~g(KF$M$^ks-IPI}W-0~GQl$u;xBHuTwloM!31 zqU zzlBn|x!eEa_0!EI|7WPGTb}x#s_3)pQk=}lQmJ>&->tm*Ue%4 z+0x87>BGiA{-hqMUfaxY^%qOvkdN+3gGP zSGNq1XUaK-YNg(_+d-&tQ3Al!WCHNly$4SNA_n$rtv(aRX>3W&FAH&(v6XIb2Nne0 zJacH`t%$7L$H)Rh$S6PN7vuA`@e$G(ATfRTQUdwbVY3fbm_Z+`56&HVicBI|XqTcZ&kRcAA*b`xQp2Z&O)U%tMayitiO^yn-CN+Vjm z);7Nf(5wAde`r%1-}u*APd3_At2p~7xU)nPiC|Jat@BCazt*pf$!Dk6eC z-=vIby#9Lr{rP+IzgkbH-+;J0V~?E$~N)^DHavp4?j!F+_AW3+?r zsUrXDlfnAulR-NXd13kK`%6#%`0VwYXUnHcM`!DwH=h0U=E*5M&jT)~ssU`pB<=j`0yRoEG)L=Lr)N^>W`CWzg}L1 zZxlirNc4O$?~>`COc3-O@8z4czrQ-z_-g*1OnqD##)9AkA(ccS(s}c`jM~4XhSXM- zqX(4Nx$ixPv#5Ee!d>sN_Atb_W=8yMZ86!j2pfBfPk99lz4Di$>-4jjY`x9tYd&{Z z>df+vL7V4(^@oi|51G9wrkyIR6YM!N2UfK@y(-=R?q#XgTgzfqx2z#CX`VgLOrOXa zN_@bgAyVjQ$vK*gsxh{+B-<|N4(@{`uu{TQ4Ta4_myS zckAP&&JzxC_}@H%aZ?%fqc`IJYBi5bBq&#as-cdCrc2 z?vmDDNatmnauy$n4)16D$Zz76_=fbb;$nPRn6I~A@KvJmTE%-S#}{_82c6t}3>*lUhEQV5qgdeT9Ri@3y+f5RX5 zI`4n>%h&w!=JU>*$uP|wFqEZ07GoUyG^Hzl^R#0{%5LA#OW%JVwzu=_-qUAk!+FG3 zEH&HVn=8MsvI#DfA{dJkmR+R6*V=t!(W%`1Z1=E zp2cN1?>g{y&A%@<;+8eOsU4^K-u3#|S;r|-vOm>pN_YLoxJ)?=!ifTt<0yJ3#b|5=*L~9gR;hlfc6}MOu!7;n%#thz3wnWE zo@Y!u{EGeFWJ(xy-O_6i#Z|8%iqd})yp&X5Oe3@f!keFK!;@M|m((#2%Ic1Hdaq*r zNqwru>zp^o)FoQ|_0{`YMKi@UK>4h93g`dwbssWFs?y!6dRx#%MH}mnH}#{V-cMR7 zo<5e&NochYMG=Ou0OR$dBg3%gk41FiTvm#R;mb5yIH<91@J@VsFK(r9&9RF#L(Gxw*IlAA`8)9t!QX~zPtiGjZ3RD-zHJ1! z$^}@I{CgU3y&l^-K3NLmgsf%G>dJ(uFkM3zRpDRv+!nDwc@YBd@kd*9O~{=L571}m@M_@usg zicO}O=7wtKwL;f>H0A+;{=}%3+EC|Pe@IE!dZ}^40!*)GED5rdnBy_hsmfkQyv!$zQJG0&sPFy#A7Oc=^f){xJKrRzSMYCk;?q z@dED?4g+g(DkRm)6n-5qEEWtEQ*TS)USz%SL(_k8+q5-qOkIPNxz*EdqZ$^tbyYD_ z)rg>Qxd~sWOdZ?Nocha^n{%%x{R8xUx$=$~itJ?$X^O8KE714)Q|8DM4h2vHJCWeo zO@z-qKWc)vQn0b{FK*xX7tg%$8K)&qkE-G(yVo)4CJRpSQn?+1Bn@~dP@`nQzY}ajQK6g>5oM$a0uwl~~)0=sGjIxmDoJ3!3qt?Sp<5~_T z_b7Y!&($R?#J!O7H}`o`vNU7MMyy{qBZPc69BjrR18!Qw?CTpshgP|EXjk3R);#yIKk|SOus>o^e*#$#QO{qmGUsY zvF1iiXI=lya-WdYPv$<|^e*n3;{VKn%@0$OBk%WZTq-X1%=7*FBi*Mtd_g$;|0nOw z``b#AD^dSze+mjNtAHX%k?h6QkRXgoqHIoSv&iapn_^L1APFrJR1u&`GKu->Gv}O$ z$jo~IaFMF#{oZ?amxz0Bu91wq_BM|9JlK)8#b4mI8i|2=&3*p6yQiD@Hje@M7L<)zz@F=1HHPtynJr>n&h za>%qGAdu@l#~yq@@6Yz}-lqp-dWG~*qua&-&g(#)Kup)J&YP?7P!vy^C6O&az}c$@ zDfS(DHMZUFA`KDIJWMMh6o%54sSLqZ#hxH6uA`&AcaHi%Lhmaz8AW4~c0xZ#3BTq>ZuTZ%Yq_ zu%5O-{HSkm;l+)2xN2Rw#cj#c&ULW(2Ayx$jO~{y#*1QWr*E8>zn@16Y>H-)ggs0d zd00(uC!`S->fjRFIrQ=U(=52io7@eGRiWS#LPAXnB4)^6(SlHw<{KK9?AN?xduZYZ z^KC&DL){K#ed(zs!ve9iNk!i)SPh(6Y30^m_TM1G3s}zBrri0aKs{3+81^UvY?$na zdz5OwA)q0hpBmp|g_qX#L)_R4VyOaM;dcF_F<@2z!gNjD*FGntJB5P5;=5u=$=9<* z^R*~s!F;^4>6ZMNM{tz5pye+B zlT^25c2e}fmmzoBHx~+9)-Jzep%iPOH_+sggK6#t^Ffsgk7YlQ-4j1Nh}6GL^LX|R23%lDn&x;wWzIUs)Q ziR(%Nn(gBSPPDOwMVuDwI}5_LnDDRI7=?A=uvfa9%$gMXtt`iV>^x)tbP_B=rR77j zpfeq~+MgV5`3}dwhN2SM;6D8Tm(W|a)bw|?2JTnJ5y~1(ef<*>BaR?y`x2`@q`5;~ zzN|EOzyaztUe&M2V#6=v?rDs8M85~9UIoVIOj>B%Z#sUdD=e$W zF#e7k!AP#~-=?)ZU}`$JPJoN?{SWmf05Ms39kArnB#T_rm_ZWLPIy6bGMjwH1Z{Ce z0l7hF>Li8*KV~ht(rL7I`?i(8eLK3S>{KUh_N`}sVC@0l^PNA4J_wIHD@lP+jIdDZ zaVC(%NgLDzf*ukxg&c?dW9k(|aplhz6FTTl1BC@LP`K?5?yF6(${1YtAi%4~S>r0) z3>`t=&+16Sp}s1>6L9=Ex3n0)qP)ZKDdJur7=LQMKWKkENUHqREQbk~yZX1zsF~jM z#+;f}yNXqd)#`>M6)(P!<%)2zKg)Aa;6P-m{-)?{J<)ugsSAZ^|H%Lh-Qj6bGAFOWCyS+}7->E(a?^n7c5_tEp8kiM?l zD4%LYm<=u$v8P7XE<5P$Pkvop<;qhXd$a2L1{e&QbthN63Wsg)1On^Hu{V%;9(Mcm zqN+W5U3ad5dGrOW4uelKEx?(0QxA`_CKI^g4E#J*`|j`vLgg=ly2;05t&6v#W#o^8 z39vba){Itea-&u|hz=gnc-QKn`0$X0Z;cu5j+d<-BwhpvuffqkOqP`|!~;8`UT?uW zM7{?c+C*HCxYz9XVl{(`;)$cP?%-~Wto}&P`WcSUw$X6*rZLPi$JJn=6Tf?fJ=LBSYf*2WAgJHZ-!!4TqAJpqppVYToWLMv_&Um}p_3sH1aI30 zpqi;mLI@9WY>5!8FylQ63iUR9d{x>Gybjtf>)s3tqXsON51p6^(0Py^v>#zx>?YNU zl}~CF>X}3XmW>kRD&`kLn__6CIw{;%zb1E$A#$J;DqxOeBK50n${rj5lA92HCt7q; z;g0Io>Bgde2v0T>yz!E|nfuD%4X5$iPVpOTQPRD>td0a$&AAHM+4^%8tg4<{oX5N) z`NYoM*ezs%)?`^V+UQ{vzV*1<2pNKyCB=BI#cojDiBDAHC{h0@Vo7H0!Hy^K0GEgB z8sH`YzX@9p?{umbLhg4uvzp>O1D)xeW`HIUMuQMC`#|Kr^mg&hy>>MhE7mJ%g1su< zlr%y!lo~NqlhFd3dq}tVp6q?x0*UjXHyB1E@TrWM1Pj_zv`f^Uw+?8B=x5>Ic!=X8 z8P#riPmZ6Jf*b)p&s@)PIWxbSPv^ooT|fIX|9^wCpU@iJ$yKj9{fm*rIi6o#lMi@C zVK)qNZ$SaYl<1wtYFTlz-oi-|Fht_Nu!6e!ssF)8DZAc{t7Tn_&YD8cUpf|X? zv^0qQ_1>d@U{(gQx<;6x%b~`;ecR3moOw6^`p9MvTQ2exN&jH#ojtm;>}}H$dG}*? z&(v}swP~@*n%mnjZ6cG?Bo6cpof4BjwoOmgo_#>L3Z9DlpW+1acR`5FyCkb4T?@H2 zQy+sgwYrCiju}j-xrh52-Y!G=IrH2J;{i0IGGLC@k3Wn*b14jd-TPXKuDo>8q3Q3^ zfdfwEmfmgGXv_}$@`q3m8tk`Uj`KV=n0YLNSh-*O&qFrJad0WW)S9W`T{_te2l?GXmw+|)7#r-6+jq9%}i zBDO2G+aRNneZwKn*5zWLO)cVSDgvhaYA-KStuki(0Gh&7!B9zSVWv6gDij^b1=C=Q z*=Bq)jknQX8yMU4aV2t1G6*_gn-V8I2j-x#-`>{@>Qt1aX(*a@|BCtseZBq(SJ%@u zO5q2&JtzhtC}7%?Wn4^#eDz9>&6!gp%!cWpiXa3YqXAyWyjjo^voIPvF~rmz}ns@2FKz4eE@*5#pGqzv;+DQI9!P}9P2ccZjts{;}u72 zdu2$~)1-9WLe(H}yJly3S5nKsHd z`VGzp^b_-ob-ZNpu0UdHp09zy*If}ClW^Cl{sb197-dj00qvR_&J8(EI|N~uimt@U zOVGz?nGH?oV-5emkCqko^GvV1`DfOEWilB|Ax^tGpO}jmM-4J(CGMrpFek5aH>TWx zZBAA1q+j01RSa~!d>1de_wf(TI^|Jf6jJZjH?3w5gum6h^Y*yi_-7c96Nd~T7D^%S z4sjM{2(q^lR}l&~Oi^(DJ^5|<^RhDbQ&G}Hs8{R|wcLv$l>se$_f3mq@qRj9NE{;L zB_7&1x=l>Q3&8_JV}oxR=SPPC1^OtaqIc;uqWNXNa$sbE7(G^9yu2m{Q1rFXX!YQ{ z(ZJtDA5VcOB`A?ltN?5-RL-vWoeQ8ti%tj_)L+yQ54STMJ_b2|qPU~$I~}HW?^Ig2 z3gxKv-hKS!`ClLjqgTt|tC!M)!>jG+geFNc`+6-6Hq_+5oZ))2!$wBEO1Dj3PZdjz zyrO+?zI|?hd@$am)}~FE{bg_n>EZj8Htv0UX!#24)!GV_VUGb1{CN&TBL|orrBc<4 zi}dqeW@OMmnbiEL)_SY<3~A5^FHmt4cTjbog1wTZXmznxw7t5Rnq9K_IFn#}F}n8W zdtGlW@mCy{^+R|Su@4r@cF5@}W{W~ADl1}H;HdUg2&ol_76PmGd*$Q(JnS^PwK~{a zaH_xBMEQ){jI@59O~6EQh~b*%$WssG=XK1SLON{y z#(ig$#I!)*5vzNQe7vV%ceye9hfla)9PQfEi!y-57J;jr$6yiva)~FjdvX8=@9rX@ z0#SB*0RMrVy8>O=vtj-1+b9N&z^hmAhsA;khr5Fa5cdXFcfhqU3&5vF2hIJijQ2m& zt3Q;le$uNy`7756u_A1eqXPnBK=qmTjEJ-InNYbgPz)3mNCjZ-mdj~cj5LA;3&s1W zfV_{?gU1{G1_{m|{xO9TQ=||0T1FMV0e^^pqlx&fCgK52*jNMu=xi`*0YGo*51&xg z-rVK1^mG1X=v+U&xUF*pg&p-37{oVmp2NZ#xyzP|OE<(OO9h&*udHHh*&G)e%i5K5nUCeG}fkoe3%& zBZIa=)dtAe5G=U5A{t_?_}xe{syznmQH2`_tfrRNHR~&FH3It=SQFo4gEeMXT)S5` z&k&K6gpwb+R&TJjlZo+Kdbzl|1C0`f;nX!o>!TcXU;h)L)kF^_u&c44#jGRs`S5V9 zg*Z0GHPrV{?ClD)IS?+*XpymS+Sz(FdG+cwSR%fj(;15`u11eZ*M~ZVP3~Is%QTr> z?}4B!LkGy0QO%%Odb@Mikk_aLQP+MEaj|BDdn)DJ5y+EMJHUU(_V?jQ^<^|ilII&6 z_^6@eVMH@FgfvwY%j)S&xV!mh=8yDF{73p#`{)dZKHKkHfUwTYQst@6S0(;vQykgX z@$=TkRlJo+H*8sQyFV2QhDndbLavdW17#+;R?43z{zVc`hjd2lh9Wgs*Zo@ z(QHwn?VbE)iuuyF@aRfBLY*Hx9aKVD@3?`Aa3Kjx~{f9@ytMOD}$hdaok_v+( zD_Z0kayM@;tBBE9*;(DEJ*VR*iGhbFXV6FghgkGY;k#QjfdsBnS@;|7k*h~gyS4xw z6I%i!%GMr?=vW&dU>gRv^TNrlbdUv}JjI;_gC}WSW%Hla^wX)Lz9fdns%JlOS;lNk z3&Uh%VF6;DdsYMZ-A1FJpyu#qEGVLn-gP+*1t*FR)DtPA7Ru--c^oT+LrClRD!*CN z8!jxmT2yO(@MtX&fVBvgaRC`y=$z{7OOBI_WWn2ktMpVusVnCs!8Xoq+kwQyAl|id zU^EAdYwh2sW9{2&@vUF`_Wd7ny=S#= zd&O9GE8o^u*1pg6p47knDSvwr-xBu>1jdA2k%3f9Yb`Ds=G}^Ue`-MF&qdZ;C0(qb zgR%WbnCTb0e~5)!T%8mNyoTW3alU2`(~ApVJYmJRjc@Hm2!zx70azwppPWh2yOQk` z_%j6M@I$`rfGCtu^LLJj>BaAv7zkr<%p~<860S|uk!>b&QI!^<4GADsQ8vvyftdqm zTOgN^=6kHhrb_H@b@(P}kusoIx>Gsu;6GIy=cTf!@?p7P1=`iqQHP`Ga;ufOtr0XZ z^QmEt*cF9=GHMIV6i?GUboZyJDWEPcESK1;;l-<=vWi8rDOs?BW|q`+vre18p5mEu zfed-$+s2{@de$C(i`0RQZ@+D{@++tV@$&UIw=+BY8uaShMl4xv?maYp>9XOwpV5*6 z5_@LLMpo}yi)Q+zDFB^oe&@w1>9mQnN>u(A#nBW+Vj)|ewJI8Sg^1x!!cso#~l| z-@z}Vf*p{SR$9Jwr3@iAH9}U9&*$}*a%6bfe+x5Zv(fzdqS?E5>(#K;0t!JZ4YdEJ zg_M?W;X0t}r>5)QDN5dXn>VOB@}*vTHvKL2syf)Y*s-t13p+_QZk$kZAD)AaF7VG}P(U)k8y@t3Ag8_|sT71{CWAc1 zwiq%ZJs~`=j=FiEJjDEMqeqsnQ~gFd38k$0U7)au9PTQ%TzWS5MA_sYHK&|=H(NL2 zv5im8e7RthA?&-}Pde=c^KA>t=OgbmKp(-L-REg!>NfQ7n_f9+nPYa$(gW8S{p1(KAup!R=BMwb_iPKKUxzw1b=DlSTNHi7OAJ5N@UYv}m zijs)+2`-)D>v@uDDu~;PH_(FYrX* zqKYG+NoSK;mI}46KA>`D$PJuOj!~A1&(Idd&wGNI4;3<1yq{Y2_#hXqVBEpX0Hg9q zBxFT?3o8Ufv{E*bXvTifJbgFlYtKhZqfVbKcdZ;Z@%37z7 zX`S?Byw!{YyM(wA45LGvga5|mLLxZ52GYwmR&ATT>+c~zi$=H-9&T%6B}z<-!X{#} z)8W>+)mx-SG^}J!tG!4b+d^;q)#m%pQ76u*Zg<=^34!m;E}Em}+4jc-=JK_<~W z;KcnDz!YNo&>q9dVIMJhj=u(Gjx*FTGx$#;m?oZSGc{;Vo6S`iFXq!`Q)_z<$aE3< z*)A_UJg<*TlD{8B`zME=r7q1}7rRYQP3SVU{LqgU(8g0AIy+=H71qq++jMs5gOAJT zdu=dI>0jSR3O!-lBy*MDoO5)O*At_Fwx??gT%{wp)4aE#HPXT-RVCZ;C zH<+t=h=SqhvWBsH=ST>5ws++0L?HwOuzb_Oo`g4qw5dOU-$mhh5`)#aef!R~QhT>| zsv^U=8{g-#AL!)H&xYZaEAO9ge|PKR{P`5&)$E`HwbE$w_`e2vy>HP-f;#rW-p#qL7!>#eYyTJm5c4H~gvP3za$|Kw(y$il_-sHn`B@6CfsdKot@QS&c z*T?nH4X|K5P_fz-Qevmh2qre5K7w;eoWijV*P*Ge2HbS}#~t@?&bj$T`YZ~mQw+wc zx1hEMuXfIMCr0xK`B@uGmKP6W6!ND;oh#oXW9L3IcD{M_>0jUA$DiK3Iy-;#J@ULP z@yFxGk8x+gnIix~#*MJBo7y2*cH)@3n?Tv!RgL@St|QeW5EPd7YA8lU&hfi1b&*9? z4s!V>?&vIlAM~wC$VNVL3oI#j^JsL*;i5eMwE>p%jQ*#k^=75V`R!P!XtXn}2)Mc( zQO{_gJUB0(S*QVhpD}_9LA7N5seZ~UCyWwp;d^rib;@$?ZT#5(yajx~_0ziI*f5oE zs$#qC1YBK`xAg7X)h2kebFB^V5!K<;$1>%JU8aKf=5)pR@a+PT5Khiq~i7- zrIW?VVj}E4Vp<>44-8=-I1}1#D~huSj}b@_WG*w>mdXl81ruOcYqWG2G4|0TV6gfk zu+EXtLJ_C1sN;d%?ZZLbE8`^#W1E@BJT9c%($mJR&hOzSu?MX`hS_Q8SEKy~{9|@< zeSx3^4BaN>r#`N(BFCTAE}d!5xeh$%xEs|ne>B=7Zkax22<0t1#fzjAw`q(|k*XCh z38g(R#Gcd$e>9lEx{~a}0$!LQ#}95qKB71paUmhCov4CwaN#Y5b%Zx~IO=YWKOcpG zO3MkmikM87yb6;GVU)gdV0G6it0!_~J2di|D0peJKUPkk*`VgAW`5~Go`rzyTz~#W zN3sYrWaY%AMcf!GQs6|=+h#7%g4gK+TYHSz1eiMbUL;b6Y`LYFL`I~NA8PY7H`bFZ z0A9tWuz+*2XtUzi#W1im87nL5I)?knVbWjc@NzJ-ct>`Vec4kP+Ab{*8U@QyarE2& z8+!=~f@nGSd(hYs{E6afQEY(lV&34b4F$NPmMIgeqo<}!kw0WmpEBq^N97km{A3`- zQ%0#g`{+BqM3k)eb4_q8N4X*ZU%I)NEmPzZP`*GB!q3PM#hSt+YyWR$Q0_R#p_;D5 z8i@H08Q+X52#V$WEvsU0nXi%Cn!VaF+XEJ2`zHitwC&Vsw}m_eWeO%_>pH~|$Hpd1 zwR_gj>F;eASDR5cb?{uG$RvI=j36fx8?l6 z#&TY8YoI#=sR+Po*jlEZ9^K`)7g!s_0{fLx?bMPT*;gdUu^*#vRx263H8S&!eGQ$b z6=L+2;~``uMg9N=SO|ke2uwY$MaSRakKrW#7L8Wn!YytDl}%v>ILBcX>=FW~*=8)q zT9cdX62A1jx=9rWWLwnx&?XIfF2ib4-&HIywcT!^{?-!vpj=#?RETX;9S9yQ4~9y2 z!>Fx3g0*2C(|oWj8GFeddL|9Ok1iqO!olG5;OqzXe~w`aXs5C2MwZ`ss{dDwPL z(0wtr)zN|$&+yXB7&uzku$_nQawhM!>Z@LFrL|brgL|XF0R4r;Ys1fs8>riK;C>pP zHvT23-RgHWEvD(LrSIugU8cE)43wmr)QHF{BX})T@ER6v z7#^PCxcD=V-;o$r+eyxVlI=`vBbcB<;E59bUka{&Vp?g^8;m065Fm;?KKR6x2K~QFMF86aPMNw`@q|jmI6agsbHrGXZu4w}sB0Vxdm5>Do-z%i%}Y52%}(rh zE&hm(Z)M2fmJP%Pf4;cDKMrEoNv8-{+lyrSi$tpfWQ7hvNI|P`a4eR_Q5B80diZCV zDhSNiURRY`bd6enqyb!3EOcLNX&QbY`$!j!qXW=f4jJ1}7AYwTv~(%4(8hFdOH4|( z2ykTBU=1sETOmmqTDxny!g4I8Aj9wxGC>puWLYSg)3SJnjaE>iOt=Y6odh(U)mo(J z*yj7(AYbVqt4@QNV{vM6)sU$%c?REKU0M6Rc0-;f@)p!m3{PXAiQWrGaI{$%Ni&%* zD8ijY!-Zo@`-)%ep}3X^{zV0R?fNZeUTk<8O$E-L(kirWC|v~uV?i8OOZ#k`Mg%Mk z96kJhr|7%)x|hxxl*zYNR62**CWEFjlH0e7#^j#Z%`KAN_Qavsd*Uezh6Xd7;VVQWcPAc!OfBS0s9<0Nq2m@}@7QNzlkv^$DWqB6-!4fC=5 zZRT(n&1CRpgHGqQ@wfVHM}J3mIpvZ5mctNf{5aZ2Vom(VgUeT=CL)M{>pS>)l<(eh zJEAV+veW=~(T1C>4(xD?_eHza0ybB+Ck>Zc(CJkUC9RBJrV~U@LbvM6#zE znoG3V?XPfprJH?8JwSCv`}pTz9|3;2`eU@OKyfJWSWd5PSO=r7V;aT=!lG|?fAvT& zEJ~Hw803A9%>$W$T(Uu+8L2~>C+TNpQADLN7<_>1k+TTiREv{<2g}f0#xQ0JHOs^d zttX;2cX11bLgTGEVY?^`i!a=@>D2+n|QShO2nzo2;eggx0lt`r7O@ewls3Xh^iyQ4eSM2b+R^-NS@@4Y2at_~tPlyu@~1i)|GX-^wC{2YBV9 zm3w$~=>T_Qa?d3ysn z6s50{IVte(Lh@#^_mCW$4SxZwOM>8GA4%1kXz>Y>@ffMP?Y+fyA?H}L_&~f? zQC(;XC0KtMpPFUytn2#~H?pLfZ9aiQ&1nviao#t(U|HZ0I(7k|oX2t>5ox^b1+B4g z%%P#&GBMk-R5SW^ofxDqj+}4PCy=aIFijB2IRTNZP+;LM|EaIpasTw~O|CyOCDt9@ z54(hW#P6v7RqGh1Vyt0#4;SMaP1H(XT_7{v!PE7Z|F*vStQ=*@PW0WpV0SHFC(-(hD)!&DD$ypWL@_-iOUU#OD z#~m>g5yWre6IM2$tu$U5{~GTyw5p<+Y`M6Xk<~~_Z{fWR6-3q+ACQKN7;VS^&Nx=3 z)&LCBE#4C*+X5@6g13B+;y@XnkW{n%;>I$&+z?fHmnT>tFAmoQa8G2Tc&!->zWN^b zr`ep^m86yJBB!M|Y_N9Ktd~g3Hu2LJ?d3(k45`n(0=8R405TJi;f8aIHOmOs1L^L# zN%FZ-+iTt0b3RK7T9bd~&%#sN+V#T*O_FbLnsx(Tfd}a5PPO_~hYn8UbfWN-x8uY{ z7alWus%xOIB9YXKjL&iQ%43wSPvUsN* zs;cc=Rby=1Th`CpvDQju->SS74RWXBki$v`BOXK$a^p^z{>F>Y5%o|Xh1Ep0G?VlO z^C69E&ENB>XzYCN<>p)877V>@r#5#GYpyZRCJR;$ZUNI%Can|zaK4iEX4`+}NA;a< z#V4-PcS^EplDPq!3p*Pbv1~fuL*~V39zvs?2DRo&9c!*|H$z481#Mi$NSzug#Z5+G z)y)Tl>=`_eS;?IR;_~2XT@iLt2rrh}b`K{~+~_W177TReKyGq2+9Wc)rvV^LjMk57 ztT_xU5z72!k5@ICM9kppP3T&9)MZhL>QNL_MK2Nhqu;NzqE39tv2ZKx-~F+*_$}m- z#^qRm-VAW(&+Wm_t^o$N>?2lSs$4wd45$tDm02XObANz)j>C2vO0;>V)eC` zjm?%y#f$P3v9Yk<%=?IXIaz#PWT`K8t5~kcdyW+gj_u=|(nh2`PrAzcf>MsL&f6a? zMY%v=Hx}*kw~fQ^p;fOUy&^?(I4I`Qz2rvP0K@W&2OBTxY{4YTXqkJ}9yDCjR{O=Z zoWR1eRcum#P)FFzuF$_5pCC zj;}`wqb=8C-KUTP&nICNsp1TY9>HCn-E5{!=&%=1C19hD{A7WuI2IM`qo{dy&tSWm znDNOjkHrYtg4qiyZFOo}+Xhi2nPnqg{*(E{jLD9K{9NDWX-{Q^>kZh(RJ%+S8|9W4_;+2_ z$m>mIW`=Ke=>CDB_4z{}Vs2;NxU&3`%GTOyf=pN*0x7TE`Yq4o4QR7p;G&hmCv(?+ zw|8ouxf?RZlz5l15pIt<#ywqEK&TVlY-%^Smxdkq?D*kaL%i7^kc+>6?EO+ew99kM zfL=EpS*ujx%e9h{E_LPu>f`Temd*oM+NwMVIj@bFAc^H2F1U-vJwpNyLm*&N5JthB z-AY4%{D-&8g@Lc7ftV*HGc|!+I1-wnPlQ2bN^6GRMOOx6t|vUH43 z*Gh&q;j#GvaOp^UptK* zS~nj@E4_>P5G4&0Y8wop{-f zlBVM6Fo*z_HwXUfa=OQU4W|~1AXh&f9Hr;@CD{;4a%jSp1mQ zx&V*=tk90yv~=uZvu3JXSUu;`dsD7}Ckhb3sW3knT??VVM18py!w2Bt=nOhd%WPwK zRACaBr3Pa{T99^5ZUc&uv;dWOGJ&`J${v;09B$%Z^e-FZY5(x-pxCWfTS|$nmJG69KvsPyPRWas$Z>@A{cLqKfQ{R7p}rB$S|hh zSkE)2F$q;LvR*KpkaCV1-q>*m+H7sYz%7uFA#S`H9Au*K(0Y>l&eRSvuH@QqrsJ*k|tJn%5=9S&XySi-5TdbfWxPd%uS}?D7mHazvRKUBl!D&Co zo@eRs3lv_tauSU5t7|C5D1}S05W|wlVRoK*E(M7@V@P2VQAV=x`Jz{(l)^$T=WsjN zsCi1JOg9{pUYWbev=C(S8g6={j;Tv66Wr6&ldI^_jt)WHJ3PkKayhh9A`*o>{z$ng z-sg(ROkg^@2|*M1Vahp#dt=j$7BYmF^G{O7@!((qaZ8Ms;{BSb)=nOW|Y&F1D!*NZZDe43x1RhSjzc;vNGVYj!ErKj@2=bK+7~xr=3wlm1%)&M& zMj^8Sl}$MTSDWkR^WWpM;(^a@a)HD=@+5gNui-DZu_{nKt13}2pXkL0_mEPTW)Y;{x^S!J&=e*ozDk$+c4NH(xD9Scd|0u>=nwf(KGfHbt-#~-25Xq*G}OCl{qhXb z3g%b7N;5V`Dm>$x*UGyl70$1`Oe{t!5ik7vJUNU43f-|%JwAAy0N8IYxQzP0TuX4- zT>p>Z@KbkhL`q{k3Qstm{LUi}4nL9W9G)HT_fH!^ z+)Z(Q883i(UvTh$$yn_8cK#EWo9EMR8-v*K9d!k706qn}VPgPcNZ>WZR|3hmY6cWV z69*K1UO(N-LvgmJ&N>(bQS=5&Fm)CdLT$v{h$$kEmVa zA5hY8oqd@rC`+|BP5m`kTx^+e8blTqelyO-kzoeCy6Hi`gw$ZuNBy=R^*hz0o{)2; zAJ2MR-oeab^G^J$6&s->C{-C;CbG6%*rdw9qT!GMekf>#5ecVzW4PW!9DObs+{AB1 z=EcfU8EkP3sH)@A_fGU$)q1!z0D{D9SEVKa{(so5onm2;Xa~gF6&whwKVtXNk6>qG z*ZpEK6NVr81S*}-2IJBPExWuEOD2Vgg5@vT%_pP=YL&HLSz9{!j^NQKGU#9I0ZR_6q`%-8o>ta5S$ z@ZUxahP*?#9pPTb2E8#kFC^u#ARuS#)0rCZs-3GPCx_AcR}QYi$>GJNoE)l(lf&P6 zoSd2nP7V+AIXN`aWP#b79KM|OhX?&RtQ;#|gOx)cG2p9MIkecte^U!6I``#ksOncO zV|)4R`SJ;@MA6p0s+kh{btb zrM2la&n;R^zALa3JC1qeSw=GC1hlCtDYa*&J~_i}J*}P!dT}*lJe@Zu>)fD zRop*0`Jz=k?cZV5uUSLZpSgzh{lK4 z;_-tgo9nG&)vz+%`_s#Y*B;A0u4FRXY7|kVv6iMlvlXR!$kylfZJ+4$3WiE;^wA^z z%D%M7{$k5gK*;^O+Z}xj$;NTWPhR1^?o$mjIF$xKhYE^F8X}GqND@oof9psBD42tR z9pX3H^-(js4Lc)n$pM@Ui?x26=isQ3?v&TPK0XB*gsK10;O$^M;-Tr#FFCbDvG-AG zI8Fi~W{>%}@aeL~@a#Bp_@!!iM>*0W|2j7CsD<^tH5fe}48cr-kU;I{t1uWn+heTe zajVxrnp4~#h2Qs9dW|KpzHgA3SAXOwGYsV%SXFh}URpt|C0sOF(+29RB;8vE1B4CN zfxxh1zyUTGMFh_SBHLs$B_26Ax0H`H2p|YG3fF5L-wQOen z0W|-(*M8_S;@u(qYL*+yrE=Jv8q-oU3N8&`C-7?_50{n};7!A-D~*Z6Z8*b1oiq&#@nKi-304@69LzlMs{aCDl*urWJ}q3(bm(+5|b=mBYnd)GRhY+WOM z9>>%6(&A3<)iQnoYxP>&{q-Fcw2$?} zBlmM5XIMF$xO7QATUVEi%i-lfCB<#hU3BBQL}Xw{4BFD zNIjK=0^{EWhMu`$4%i%u-xb&$0PU!GtOnNXym+&5{zok{B zz1wC9^H;;Ydc<7Zrz`kQQ7AR$MbQS51qD6AuqHRb)DR~bD1vn4`nRx6@Fj6r@A0Gd zi9|u4@S{%PaCUtmc|*;sh+A#PT|vOm;D%)5H=j*cmRQ$xYWiV&ap7A!i~N3y5f{qD_ew3WGBH8_9YZmgUjcdF@DfX!KMD`s{5NtEIbF>;IY8<`XBlxAf-0(&L-2(CQ!S)10?N zDA`!~#5GEE43k1|!?^N-v&TF9sk|n_;x+!%X_u+qzL0!b<*O(djfJ6z!*6G`b}9L$ z_k0L74-`^S9Ez!UtL4uhOhhmbNQy=23m-~uE`1R7_Adlo^nu^ehZxW9HU`P?)HZrY zVh1EYR%ecJZ4G?c<@PqaTXwmujizw$5zO&3{$fF>hu_nkAbVpRBIP5FoAPldubnTC z{h7UXYd2p!2EX6A-r`-R<(a*(fLMa9tzQxt0h`)3JonSQ&R$=2NXhLpkpxO(-KHN6 zpoFufGZJrw{fm!5=whaFPA2N3unw-rOpK+x!7KXAfdCWD9khw}5&z&da0`%o z!@T}!=+>9R1zkKB39+XT(e=%&<~LUUPjQJ`QCg8OhuNPD zGoKWqcg}D?*cDp#c}6qpW=+<#6-u`?VLtBs;h|oI@6eU2&4ob&CE`uj>7hi+NtzH>$&b4l$ z6xLr^p1N$iiF_x-Q#fQ*U0AQN=!_n?dePZSb&PL=zBOm(RcuOjAQ=s)OBV8d{))p& z^{+asi~}Bjj)SV6E0-?Y=^G#X+_~%o3x~=O?)(`wgOD>57*p4>L3kiRyo-~ZHo+JZ zUDwP{0|9N2`-=o8sN()V#RfLV9XN>5m%=_X%}KRI&4FHIEkuPwLp(&bwm5c*j-NtC zwo)1q%2)ckzgoBe?;X68qq=#nzuWtWV4pG4mi{_KP>Xw#z(h0v|8fG4OFx-D5VGvT zN4m0ul;b$2I6w>anIm#oPzft~_^3y(vq1&yRbDFsY5FxUnNsJK!VJBg-3*dqOcxhu zi-81TIT%{6I$wIdXz}jBFoxXCKkFmm81mOzzY`8Zjb|4yl7M362tQjoM4$1_puAwfH~Gg^y|}TSIopu=PO$CpqNC6L>E8ZPUv7z}y9Wm} z9ZX1&jF5B(>+QQET!oT9o)zK!ZL{uU*Vl$Dq)Pe2z#QxPG7r8eV|j>m5-JOEdQW60 zokWaD47+-kPI=`;)rwOlT=X=w6fr|g5qZa+HZqSQGDE{h*S0YFftMM50|#T+&A=x! zhbDfn?$~nW^L7g(H2?e8Y3USwXxRvN7RG0|9+w#g;rQ#<0y6$?FlJC|$()#HW8f`1 zABDM@zfnP(jlc6Kkt%_s%mt`L~iE@Ya^YVnMup9e3CfSbFzxK4eEW`jON;*in=Xt`IG&ujf zq^xK_iL+EsMZM>2*7G5<9X>Ba@O6!}7(MbBY9z~0^t2~9M4*A(NKrlFWtMZIYJ6P= zlX9qVCa;0ezy7#?NhK>VRS!{umsG;nsTy$IzoZ7fPSt>!?2;PzI#q*Yb~gY>qFc+H z2TMMLPCD2fk zhU_2Dmx}p~e91;eYX$UD&eZgZ%p|5-405!n2*c_ywVVz;Q(}*TdVYG?M>Z0MKzaNg zMP2unK^|Dfv?8`qGz|<88^a=GVwL!9d;#08zpF>%zpNeH4=myu25uDq$6jK_tmByF%qyC|W>8mSP-?eFlqb87(V8i~XGJawc)F@4AJ87H8f^l<@VFkXVOPpLK2 zr@MlB7Nf^X6_4&pnc~0;tPw3@t$eBpP54j!6r(c#3#>`$7?UmR634;I)Q?F#VRPBGg_R;h8NE(USdqj zI4!%e$I=KvQF_b^{ z$;GqhH6P!LZA{|Ln~Ud<9~bUNbNsVu6+{B@BaC$-OnYcLhBxJOPX|_yYgO#EPJ?mnQU^&3V2Lr0=uQ;O$V! zl&PE{2clUYD=FsnB)&&@D@e1$7$Y)b+~2Vu71RlPs; zQ9&S$MfVm(9rsynuC_Y)Wo$xxzsw)8>M;7lU|5{cnB9hZ|6J=hM)~X*`oqSvbTaE$ zUfBmFT;097^C3c1;WwI(3>iV?&0B;08e9+e3-{2f`|DTDrgU?)*B< zsvSx*^H!RxlWS8Uz?uFLZAtye%rDSm*u78GP|Q*RvOtR;bvaF#G4VF#BfxL6_a~NL z@%HV=FsL#Ok=zC{Jm?Ysc)~ot%S$a&k|l7=e#SERuPx_CPo~HIr%HJV*FP~yiGy)D zGEhmGY6Odd=G^F<5a#p4yIMfF~?EG>7t=t)`J?iQ%{*=SedC67$v0ar+lI8 zipU$2-?~PN&2!$ZWX$x;GVuX%7Pw9ZNLeT~&%u3^5+Kv=P%Njf=5zwIWXbX(X3J6v zf@s!WwV*bHrIM3n(!?+xl|9k5?wXJfpcCeCLv*W5HZ(sKpq2?afy_LI$=; z$8QI5v#LNmHy4ldSvlh7IDSMjotoDWW>!ypCl>%!-PUdC6 zDb$uXvlwf2X{?Cq()2p^%{CgV3dm`h%_VA^eZ&5RlNH8lBw@CBQ!RG7kgqlY54;dg>vqN7LCH61!$v=;gILkqj}xVZuc+#u$K zh{;csPf?A&16kHgP%FVh6^r;Ech|RgLwc>C9nNb=o~S(c$m)31O3TZ*RE&uRdt}K6 z?2tmz<&>bn-X!XO9nn%wF19f6F2!Kf2BZJ|##T=4?26H+VA!c+F<3?_KM4NkyRaXx%~eyVVM*Ssi|Qy5D8H zH){b0cDbsH)(JLs6RWW)h{1nz`NQ7frtTe}&nWQh7rd%+U5qfpvf8oTuzY z^JklA@H8R_14^^`Be)e@Yqe9OzREBAZ^3al8$UO-r02h%w3htmYJ08rfc3}!#ur-` z+Y7H=jdvDXWzo*OhvutDj(}7MXuv9e*Zi*w3ijJ8t80!>j$eP;IY-aE7XH`!2HA5! zBIzYt>d=we<=~yvo6GvyO!Jay)#N8DG$mp*Zrw_yA+OTsaRfo)kRXJ~3lxUF=}>6C zTlkFsTRJ{oI%LFwPKfRH=l1a7RjO;`6 zneZ^E+cB;O9-x$$*#6fY&xp|kr@}gTv)EVxu}J#9_U~G)&Wb23N7&^`FaNalu$jlP zw3(RTRxSe|E!05de^}aNI+KurROdU3R9#xE{ zhO#eyer;fN+n`SmJOtyl1*K*E+a_R^`H%EL@Ngw`u$jm77Hg-OazI-^_u@@L{Ni0I zf89`Sh;E~s<2q~oKab#bBzA0=fy4dW`QX)6MSkVi|jf`kIbfOurq1-t>- zh&N6_YHgv6TEh14kPeUx2yZ$iiJ(@jQ_cQBg3+mw4yj`^0r{oFh#>q&VuIf_f>O*V z&CM8ZqQH+sMDlErHk{8;>=@u1wFQ__P_t-MCNrZH=g}x;Goy&8Vxuy{8Kp4EMw;o2 z?`fiq*|Set3wUI6^38*@(fH(;KYdFO|JpE9Jnf&prQcuDU}(b#V219aW!?;9zgbC4 zsy(t4w9dKh6fj&gi~_lIb|o#)0(m}Drx7V$e(n^XN4j69rEGj-u4?{9_KxWR?OwHN zyh<^|ma4%ymKud~)1N?%KI&SH!f|;-o52Xz@4@JCg!mj92fFw14;fCU04=f0`cP9= z<6V-S+Xza$Tlc$0y#0G3C&KKRt#6?L#{vB!lqZe53ryL}7!zn~pi32^0h4Er{l?O*P~z zrE6UZbeQg{Tl6Gvn`dZWkkMqsz`bEkuU0yj`8 z5FKwtgKNu%*CB0S1*-u?_~s4&7Rzn`V}u%(*GDs%wd#H~4ts}sJ(5`Bk+Tsz*F4d_ zy()o-RM*?MWDWA75`klROOjZ5%EE;cjjsQ#3l^Kg(wp;IR_`iqE6jI^7l{|ajm#7` za5|(4_#NzogtGj>Wwdk*r!RzU)B&KLrt9Z^`1~U_eRHq959He;LAbZif8lS_(c^u4 zT!pY}&e`0{VP3Ww8_v2F84t%Fkl{6N7dt0IU69Tzr_*rUF2~c35c)^vMLfd&-!zLc zG!xA_5sNTAd)d;CAQ|7{G<^VIkXWP9>e!EJAtkl(>UK4=dKr>yadKe9s@Ql)OeoC2 z%?Dz>K=Cjz(KvPtU`rvAW@tTDaIkYev07Y^F8|5H&L>zJih(YS@Sa@Yx!sV9uo{!e z15&*nCw12iCPqeIoSwi~IsR-nJq4yM^DatLt_CwRXLZF$Xsi_yzS~6w2S+%3aI>eK83!jHK1Xz= zg#tEreM6^6v$n$)nD+eFVZioLe{^s<_<-o?kwu`9zJB;jGar_iD57=t^CE~BikD}ixWDQY$pDRLhesy|XUy1f6XGPIfVw$>bF}icq$&-o5O<=tpf>UR&~6M)6e-p9 z4=5ieZgy~wfi@3Mkl)4dJ{IgqnHj+6P%Q>q`J=%pREC3(Fco>p<-`2Skb%eK^hdBe z(kR@%jc$rc(G!~KR=;E?LA)2kh%!*naY%Ml@%e6bRK&*Qj8JP2kFrU$W>mqLD{osx zH;tvGrO<&cz(`9+QS&)m^PscMc=3=~Fg}edpah~0M`My~B9#@@RV( z1%(Tk6VrWoaiz`A)6l1>n~9&nmgnR00&*L$ncEu}8ut$R27ueQ=PwB6onYoQefj}B zr#G{~GP8=qM}8{T1P*Xv8I}`__~_)|{e}S8y>+WtOD<0dr^;k~$ZiiT?)Sl3mbLsc zOGV@4wIHTzDfUkeKbI((244ZTTxb}URBc-;M{kw5O;C`nmT9qv#oUE2x^9p6-%S=# zuxN?p3>z$F4}&mPO+{g&0ECa%eX!~EYMe5J4o4Oo6*2K${cv(6+FQz zRIRbR%p~%&MjDWxy;miR7S&#(ApqrI#287l78hTwn|M#F$AJj2W2H9OL3y7&zZa>t zD!14l9tarly9zwIxTr1uoRy^*+^A67o6Ws~Zy1J=t%=*HZN7gy84Q~O^dkSwf=pWX zM{(p&y{U5vspR$jR)H;dqS{s5z=NX!Lfu2XswY3>^F@g1bAIJzg7-`%;)Q>I0d0Ev z#s_~-7rgYI5B}cyr5KJq`nM@ar3R+Hc#XXwu%obb_;Y;y@Zsq5%l=0&7kP~E6-qC? zobio3Oj3vWm6yqTHI>P)yiBY}h*|NBgBr)R3tBSHL8>yhwaguf|xna<+N{P8X> zsyd#i3`&$6ikFF>a;^@P+wNz)eLIRElG_EQcmo#PfaYc6l>0Ca0bp-L51D4^E@5%Q z$Vz}KpA`(eb@IMH9Qo^`lebU$ANxn01_9V;!_{;={;d21BMXEj=0VBKqtO-d5WJ)M z*>HeNOnRXLz_SsqM(H$Gm)CFspHIN$q?iu=61?YLctW<9q|v|kmUlB^xe%RSBp$ga zw7fSCOamgKC1FIav#c0is9K<-MD7{y*F>CpsTh>pnriLH9lNOTD6#1X=C+w9nXo_h zo$ViLuy8^?@<^^&eM!O{!}xTktzXcRkSH}Zxmpqoxa6!O?epz~>S+_~bX>GepSTM! z83}~dO=+XEGs5<1rIdj+PCV83t*VOl+i&{t_S4=~iFm4(3FPs;9f&?@tB!x2wfM+K z2AMXm+SIZ;5N#48Q=zF*`@LNGp4Ke^3Vv^7!c`-_La}42pWuomv1=gKXv^2wc)3x+ z+0(t@TijL75$mT7RzDLs{1|4T3BwsgPsJ(#DA1V{Cs<_^yd7NnC?8a=%Vsu)@X{Z@ zTXUD;bL^rUH&<(8VrPgQxb!+~Q%j|h-s0o39ah2O(aXK-=a+w?9@upgcZ(X`TWsj! zf;E&rMeX*YE+ZkH^?!Y!qp@j48+)Q{A6p$hPaKAHCeiSg^B`kXK6)+gyd$f6NcaW2 zq(7JC`m&vdL)2*bvTor#Z!|1h_Jkb2E$Q8~<5S^uY|K4sbkZ{LWb0&;p@BI_l){0# zv0YqzEWN!@5JzY2rFj}*SK#Dc*c-92G~{e{Q7@)+w^pV*6W@+Pe~hY;Vkq_n4bLnjoD zwNbAJHK-thoV12tG=17H81QtydJmI?%bAt(f~M3gM*z+2URFFn9Wr~=otbm#DMd(i z{2iY6X*Ru{^hB7H4?4{*mZp<%&DGmRpp078CgwQ74e1HTxJk+@Vr{Z z=e$aO-d4*N6oY+x*jD>vt8!Jim%4&-)=me@=%uhUj}gX!VUx#+<1>fJX*(?*5&;+vF?8o<{29hn`shTVgtuRy-M?i*qwi z>GIQaMr$3TwTxSfzKz56&VX^b^;rP3$zE~Uc?F{NGhH}dJH{P^UpB{C6N!03Z72LV z|MDK9311>SMu*qHFYmSj5NH|v#QUm2rBV36uY59pZ%Xi7|_UeJaK@YsXe6pxLJJRKIDf z*2d5+TEAk(#wy5tLL6S}>t|n^tst-|&be6=cexQY}B0ao=psuOk)~$5Spkbpg#jlzx{6m7t?zi{sEM;-5H0ZvBJ2bDSOp@f!d@th8k zy1C;4GL^yE?ZF7H68P~+g3Ut!1>*_s4`LHFf)i~{V}fXcJ2#GWq}-Tqvr%EC@lb@}aZ3vf`{ZvziyFI4iU< zrcBrU#A|v-FvH*khE%*wnGcOh;=|vT9z1fJu;x-m?}>lX^z)jVUM@<!PbxJa_fxDc%&5-@q1#kjliqi&9Ib=~!iF^)f1p-Ma);l{M+(JMV zO&hC&-3Fx*R6rxd_SP~hvrL!&05;NUQ5Z#Wd-OV8|7$PNVi*5mh3F8*;k;lN;jA&G zu~x=4Z%B=5ThKJs$6oYF3JGmX4G3S*p*J+YH|g@>KVuWrRYOMyzk|8DuT{8DzDz%t zFTGRg?T?K`A9^wD)Ev~{gC(4z-ului?c-72sWL_plaDVM04r^D2|KKH z#ksJ|ecVWV=jR240xvU_Q);oScQ9ztQV!5c{dzTA*Ji>M;1&p_kY*qTh!y2lsDh3hnd%{pK00hVF+js+qpd+|z z9C1m(6Xh#t8g2*jxA7J!`zj?Q@&|pA+A1X|IU2OcEAK5Ax zKJGAtUx{)7(>wo!>om&*t2wj4LfX(WvFbQOFIjW z!ftwLQ+SF?n>~RB0^3fZ)Y_1@5UiAlxqUu_34joX{7LjKyr2q~D_mD|;?8<9oP3 z)rCYNuDp+Y|MSAH?~vui))n+S25*Z?`T@vlCTWf9!}mp-8h%VGr&32#80mu_b{}l+ zZajOm{%lJl-^a*L`?_TW35!mCH>Up$KUA6_@{I`cIf=)--_~D~m_F3eEV-*4d z2ro~!TRu`)O64WiJ=ix%-Jci1GMHy*|HC4_gb+>$q^Ove%s+h}RM-M>Y8cX=A*5!PBxqcF2bK~}VS0ETUx ziwh8o))b8p-09D2bf>=JR@bJh{WrDPKRwync=2R?_rbG=|Ni{tCh-0N5dIKxPJ2Um zFGG3)6L)+9nTion-kx}Y3NqqM9Z}z*gg4brmOW!^rM&SF$VAZi;lZQb2TwL0sB4W8 zH$du+M@W|)Dns^;k(}o229G&}{ZVCTi-QAGzt}})Y`&b51>3XCU$rN zb{Sr?`kOerd$czi+W<$~8fRRi1$Mt+zFDlte_|)=x6^Oi$Q|2pM2gr{w{P<}vwzc> z7JLRjrI&FY*UH+WK(SOQJdy>_4@)P{<`0{Xb5;2J@*~cGU~~!8IG*?RUDtJw*-#S4 zTAu7g&3(GQFF~1CIrH-upfyhPga%*CoVfWHq7X2#t^L$4jweX*Iz-#~&~dj3Iz@mF zukxd9kY(e&k*`QJ7cbxo9TAQ$4UlzBA!mB1iyddBLEsREE%Afx zfI+f$mb{&7i6K$xnN875ufSc{i$8~6PBso_>hN0F>MWhSG#X~=aeTCg!;>@IVz~6n z*$MdCrOKxfbVAdg&?noT;^^eyUMdK^ARumcdYWj=Q~3>@ftL9JWw1v{2#87!k4DUg zXI%II7*P;MROd1~S%$!!f8IK|8^osMPu4LmArvNDqi0eE7Vm$U-3;DeWB4diUph3( zMKjlVB2=s?KA4GlJ^+H?7Jx4Bxz-a{PQx_sU?x@*n!7lnu=RIgHad9!rD&~Xv4)n^ z&}Dc{btgB&!|Dj(j-~6bcV})mc+w`ZoV{&m)DJmmN+_5?`%U%k@;3)2oDjR}XcHX80nw2PL97>kIZZ@0YZpY5Zw=|$*beAm_05FR&WtHRy;E6)=9`0LIyfHT%FoA` z3His&sw|9Bik4wy0_>X^4Sn)woXFiIqrQ4PHzj zRl;v3YJl7WGY*c<4q@)PzV5w3?9c{S8EfMzgb4FP!h(2FE<76Ch`4rG$9NIzF;fTa zogTdNB|XnR;8PKJ`4g5=L?t$xQy4iH4o2(0ob4S&;B2K*w%qmd`%Z*?qt$(|bzCsZ zHtl((_kbPKZ};(bFQww%w_kn+TJ}}o+;Lyos&Q9}>Au;R1l2Ski>CY0R>dPBy zG#%@^DEI}-8>+O#8eFx!^TJZ76MR}k>ie??aMaFdBM&itsqwtvjJ=l-X&yNVGQ>St zP?KssZj}m!EIP!v0~@QA0MoR0yu1#chbKo*x$BXRnwKalN3KxVv`i{P`IYwe5o}3r zf546QXG6IVg+fxni0EE7lasli$0PY8{+2f$Us&?${bN{drMy*Y3~*QUpyhX6Ldf9x z-ZDjKJ@$IO0+HI@8EXtzUMZ=bE|E8{1hZDqSUrAuax!koZmpk%YSZ}J?*6fJ<)xl- z9aLESOFpqFTy0=?^GHV>KhZVzbHNEt0Neu~kp1SvAIyaa``v5#piyL+y@RG)YGi#e zF}#fcm5@rO1uw-Uu>s z8V_Pk;V&ZYBY&2FhZ6BO@l3Y+#D2$t5MqSgcu)P{(-%)R9&T*y{nHU_=lnfix0@4fNgbV{Vghzb1eH;JybRpNIsV8wD4G8jl98$$* zQ0!%%z9|Hd3J9$lK!Bdi3}3Qi3_c>RTgC51Siy#k#d;N+ zVNou3;*C-c)m`!wr&4w2T$3XF;$j9hn&Jdd9jrhs8=in&6jQeKuN(VlHZ%>+lZ|KV z^|jn^6yZ9I7KVK?2`6M6PIz;Gaqu!xLhqY=`O>h3X}wuXmqvBv+SyM35g06$l#v$n zu*sQZ@NtdOH&PIO>N&aMGl_{dbc`-YmL(l2iCPp@7bf4C8}(FGq6G(NM2d(2f5R5n zrbh9Z;H*3WnhA?FCSN01MMdI%#B7aSK>KX%X+8#Mj*cTi10^;YlY-%KrddwL3!6jZ z(NEl>54P5QkD@_a((ny2RwL=8B_~`-*hs2++dCE7hT$x!wlqve*!1l5j8u-Jv}m7g z7+2%yDD?yL2^_cW#RdMUlPJ@I(B)4zdsZE)Yfc~V9LwSj{S{piF`g)xDVJ& zZWRq=1;I2Kdh-0?kFuLo>Ebh3q_KYhAfC$8h7?dcAN= z0BmmB%lC?rY18=$xU{;m_WLwI)X9)#_Sv3QW zU$awfSZS}8c$VP`jCMlwfnn01+|^5OSkeZ_UsLN_4_eiwJj-xW*rM7wa~}X}dA$Yu z^4tVKm=dQ8@}CDeWztG?9_>!i`Zr*CWa@)0i{AwY+ON=+ej6tG2^K7bdW&~~dj9Ok z<8);^AZw+|t?UgrBFzW!Zwpu+#@;hH1Ee!ZT*5uWg0#o-mv#eu(Q{aSe|Um~@QtSc zoPRW*!tp86e}WL;Erf5Rkhkm1EeLWO=YylQ|H%#adiH831Ualp7Q~(P{DBHp^a-g! ztY|!6E~$af`)WxIZCoX(k^kQ;vZVR*mq=u_bG9lZ&62EU$~hR!wd9;pP@?P0IcQpP z4*oh_7-8ll3)~f8byDhxNe`=e_KK`!WMBhnuj)k--C zE>d;X^;NPBW|vLB)5m`TVD+?TDibN#bdpSoGnh55gu+mYgWI0Nyk}3~WNlsH(UmKBM4Se|P}>7*#-5$j>gk1hw@|TlXB;ESnS=IDrHIQa*0! zwR)snph*l#LnOJi2d4!sj4*@`_>vJk{)L!kQiK!A;Z=vNs>kBYIcL*IN}jk{@hgtm zgaTT%G?ZZHID^D9B3AO3^7!LNTy2GyK|TZhLyEqHe4^TH^0_GzmB}Zb=aElf&{q&n z)V_>l)=3tQAgYUFYGGbXAd~l(Png~xz#9}dr?8rtl@x<~6N_cdh%BFE=TuE%)w$`W z+cK(#?cT1enK84II;ndR_@K;_AjS>GIx3`NR3n(;QXbl|o9*%#dg(EBbH^Ju zGku}U4IxKon}FaPw;G={wkwKvt;=kBFJKhbm!KjJg)7b7GIWDM=QiM)Ax6dsQ1s@q zeq6e9?jv#xD%AMSEvy5b^Urxmuj4hlD15~RU`vH#*JYc5D%DVQr_(-OI0x}%n&4}3 zB?g(QmKYHK64vEm)o_z0bCog~TwN#ts&&8z)^);?!K4rt14wPJJI_tapS-UHGAP%g zEN2(p4Mu9fc0MvJP#S^NN`GsTIEDf1)vPa|wBT~<2u;YvPizyL6s z+QdT?#b6#%_o-u|(1$#2sQJ%qtWSTQZr}I8aKf`XCt-o$s3pF)%#}O#lJ*Il0 z7M3u-gyG|7sfS7hm$83cWALc)CK3Nyo)DmMvQPt(lLwsuJP`)nmAiv`C?w7&zAi2f z!lubFZ-6Tzv{hz%;8O4PHRoa+g37!Q_u?c+51}^a(sXR$+DR+X`3+R)9QsV2Q<^vE zk!CTS&V?o&vL>;d7096^GSw1{bqKDoG9l25G=LRsSE zu=cePu4=!}%nIUh!G_XVD|Ix*Z=U0g&^1o9^1)^LJTu6&HrBFKl~46!%3p$xX2zA! z*EWN+4W(#Z|8;HscR&O>g=_1%!TD4u0&L=lyS+mFjR6n1;9B|&h2Lb&O(-Bp<~Qt% zU3E5p{d9o*XizdBRJcF>wcjsR*yI}XTg=U3)pB$U_xM9&y5!}5a)MhvPEP4^0>Xy> z0aEH0p=!nqy1R|@gF^an3u0gauD3vXlJ|GzXyaIf8z>M5Q+9<$W-w;vx4m$LLEH^a zNv-LXt{kW}lqVv^nUgA^qo`IkfpD`26M=9|G7ylpaCvl#|0+<&jOV=`U(hwwtI`_XEtRhvK=YNytqndgJm+a&789pJkf7q!nw`?n+IHIb`tv9+6ZrFodTk?M7kW} z9yEzBd0N4n7dcy~5E4|p6Qe=;oOo9^vEmAmI59@!zw3cvW zfE@%xZ!-x=g|0;&7ou5%T^wfIJWdKjso1JL|NV_Pzk!_$(-0RK=N@RAcmbZ?|CcT6 z=(;=v$y3G&C3cEKqg|jTR#vP7Y=c|TWW`x6`Y{HaddbY1ey1~Wrq}ZYL_|10-DP#x zm&VfSkG#?WrM&7{jz&V;WQ0~-)o>6-QOoscNQMR@;G*wgFze7bxm-R0 zdDw9weEXo^M*i`Bf5&}j&8JHd`X86`u0Gyia||Y zcTzzRG%+iMz9kvlM`v%|AbBtN@gs<5;iAjXr1>o;r(L%{_`s@Wh>ilx!chw2H=`4x z#p~dKx7BK^-%q!NA3(_taN~`E4~bJ8cot2R5#c8ax3vn)Ra2AV5`E(uqJ>0g zNPJ465g~{`Iwws|c8c;dq|D+g=s7Aoo`WZG(Ac0@&R*<<;bnedRoR)iZ#O2mJJZte>-souzMs6;i#Vobr5o$hCB_eMI2N+12%wVwTYz$k}GH$(!^G3bW4~`qvr#TiN_|1=efNgb8?D7C-Y=YV#3uX0h>yb zc)p}bA50ZWQNQ|jek*>~5K<;!i;`MO8}4Zb5eI#XDq+9ouB%jj)S3~1Bq7*yc&fY( z=LUYX&@wBX3VZcRxwMA99XK+}j98t-2Z~6E{5TCmgIjX4(N_-0=jT0jd84CBSk7`1 zw46{cro&0Ake@Vd9uW6~OO20=t^c>(m+PC)pZs}!_wj>`C+m+IENZu#%v*3Lx1P2P z*7a&UT4#tHG#b5+oMDMPay>CG@}=;+Iv@R-m#t~>f>=?&MyTy2~ zSs>IlZ1CUtTZ$31@mYdI<}4cLjh@w3Ap#+x#Ki@F5}!*vuc3X7vkR0#nid~4HVQ{q zHsQoHj0!XBaL6fLn(yp+s9z&r>H1RH8r(Y$Gl8cCc#h^6rXF^QE$q_+4&fw@ZH4zf zcGH)mP_P8=$7Pf0>OJ0rNiZoC>OGP>%xvtOo2wj+^hQ&e@ZXQy=b;L8wY>$GzaJ-+ z>3irir?($tzaKt-@&sYo8_%EVS`36`<8D(;cVdp}P<0ybMvR&iOqwNLG^TEZBB+(8 zfw=9FJEOk#Kq>ijOb=of4M1qPub^Vknb*-FHi_1p0lDcy`v&1aaU9C6;bB_HDt)XW ziOx7DDX2+Qh@+ynEKcpFRIcO(TRlj~$jt0)ICYYRDwg5|6A`v}ekxC+aUw`Uxp%a8 zs!x_F-&j00wKNV zI2aTS_X{{XZ)VAleKm8Hf!tt|m>vh!G>;?R!@pw3A)6~UcPxOxwW}K4 z&csK=T3u^#`Ix8#l6t?i9K>y25HxK?BeYb1L^Dz=roOG|}~Rc@h5bW0 z_y*LKn)N)x`))RzZ(AoAzZP*PE$)>odk(nyY^@C}6Ku=&JH&D3)7#J#TluGl7<-v? zELLjX%f;jPcD}0H5RE`)USj{qG#ZQ=W_Sl+j(~~@+M&5$g#F(n2s4M#u#j!E4@ zws(WeTS#5Xv#H$On=wtSETU?!7MmY*>6A1x$v=F2lP-eNhrdZ`% zp*uj^L}zUXC^|_$I6ZoU6I@uaU4=9P;z$BPPPHjf5b7rtj0!%Fl{OqMij7;_ zjWhNX!Z?D|8lv=)AIqH00oNpD{N`eYUsB-Z>vCt>MU}SiJV)^n#4T@@VS9}2N7V0t zEG-6tT%*B|8swBW1e?T>WvNLR_0~G8xD1ipa#9$2a@xB#1t5&XbDq0h+=;A1(*M{w z>xXH}=r~9{jB|@tc?L!}tlg&)hmI%~trT8m3YXI<2o&SWA@>`pCA;C{0uqq%Cl4?? z6Y&uy@hVQ^!f-E-VyObFI3C|{)G*{%JCMdc%_T4jEQ`?-IM1$Ve zzky+^J4{nlpRpNdL#iua;qnWP^jVC>;*}i4jaUbA4qzOTLTL_*dv1FNmk2_kGyzA- z=)BB7W8V5Ag93I4=UejeOST+^(K(9OqK7J5-6|=hTDEccRJuq=JE4Ke{k2^kg#MlI zi6=H5mM^u;#uTlXX@x5uhk$arcEOuwQV%}$Ue$z>xf_H9x_2|(0lCYBKTr_i17^NN zhE=~7k<3ZofMFFIOxH4|qk`!ZY|kSNR?Df)Fl}KQTo=P@*-t+J1~RGZ6~JBi#Oc*c zZ@5{|9e5HDurG+zD)Kh!rUhMlMQ1z$Fud1`R0PhE1|W@QIdEbNRe`F7k52_mrN=U* z9-(?gPR%qFb9LeN4#$R$4WgQCF*>wOSM|!m0!FlHcF?c$Mh|}*m;7`VX}WW{zRRW% zAUDOI<7nyFU*`Q3E;KrE0(!60j+oY1@M~D@;oI@M%Rm@(s|F`%bxd2N0DAaNlYtZ^ zaL#(cHnr3}N!wqX(Q`+b#)gvs4tcodsssRc;TTsDP%MV89=>89a#e>&!NNu0 z#|Q74cYdza;5oC>J%%UA>P~O_nC59KZHEqDI8L{AI@{0~=xb0vol;$;O9%0*Za|G9 z_QPPYyQb{pBfI;1+r~K9LAE#u{@dW0caZ(86c3F6(a9Oo#JvhS7|cBb#z)f9gk~&@_%sqNQK8*G7XA7r8}M zcllAj!~^*Gwd-593&r0Nkdn70z-p2$EPe`9z9y=P7MuLK?hgo}TNG$#l=XrX>TII9a=)h)c>-v!d9!Lf7XUmal7t_we|o z#mY-?ZAJ=(HbmW7RUMs9dHuIk;V2k7ZTwVxT{KW<>ng)HJ*B`OG!nPkgtJ1ZqBn$y0>0wdgGl!^^TLz;fhJLn-3p6dGK;~bL+uNWH*2Pg5Wo_jhlW()Zd!U z>zf#U#$VjLb#(Z|bij79v7?5W*-HlA4ehPXymwr`wAghV|Zfv7Sd+Qq_9;8O#<64Df6?7$50BADCE>c zZYs*6DtJPx2ThM|JMwS@C>0P?qjdXt8vwh~N+MO6_$y+)UzKh0W6Of%YD2Xy4>T+R zvmSTtxQVJBk$Cs_(HsZPNX#xJW4O+lw%g4P&e&n+8CaTZkEPVy(+1+9?RGl|zS4q? z`zmdY6Ebx2G9{1^{|&uZS{j|Bd>E#eng^j=Pg?hP_w^|m-9_^It%Dx61qxiC4FDRZ z{HY9uq<>tLSHEg}qo5b{3{OXb&p9>B&%~9Wk$DWp-Xs`{vp}I~)cP3Yl#63zC|Bu6U92?t+=yJ5t$8p|;JEp8#bX>WAh4%E6z{2r&0J5SM7e#+j zRjJI%M?5#qfM#7G9qBs#mQ^JhvklX);R=v^3byBVz)IKwie}xXHjq_2VpOcM#2Ute z*brx`hE%*f6LpJiDXXLq)|2du@)y7PB>Tc0h5RHd%SrZyGms<-`NOHOGnL1(QwqD& z^)Z0Hjo5g@uyLkW$kz&FBK(A@^(s<|1ftg5O3-YoVkMRZRUw&BCsvDXvA~C&rbk51 z1+Q!LPNW7E+0J+}(FxLoa#}(Gt2Ylr-?hQ>DWgO6=}Q?6~>&%fdPE}^ed zxrSA4;J;dV3ExXd2fah7ef$DbivN-~0%z`31zd5v+U5Xpbad41nJewegu#1INfY3K z>57DW4{UFF@o%lg)3wDH2YCCeE-!<%+g^<_WOML-RfdIk8Y}H~?a{wg8(Xa{VP{On z-w~xroiFo{#%%LBD;VP$cSLy*-N)0UM8~?gVsl$a$V$liEwn|RN>u7nh&LaFa2IZ3 zN>S|qt(iC8gnd3Q%-$B?U^mWR#Gx49A>N+@SpIaix} ztq6gsN~d%M*7>Iz4V#z^f!;BygM%~CE;V%FOffD&WV@V=!Gu5YSy`FP^hnfh3y!>M zLz|wi+#AwCIBUcQR0)(gJr`nQiUw&&J+5%oEN7>9thj4#QuKwA8LrYM9)!KjT@Qb^ zhpTw?$T^3egyTX#=>_lpyB`p4RImJLq$~QsCGLcKjy83b;UXJjbEvXBJs5TQc3bbh zyQJ4)a+yXi7o~38`DG3KmOwl>blZx}>R^{o4iZre6>?aj&D}B$0gCn@w8v;l-sMhB zX|p}<;G!$N&UG(N(V+TRyGq^d6kfME+$qV^r!<{|p`Wv;)u9!D+>F3kP&lviMZZ-^ z_O}5WN=dD9V6gxhMY`K&;Dd%;1Mfs9=4QJlJkd$njSt;?R>xg=WqpWv)JIjVJbz0- zcF8c`bk74eVSvOS%XJ?@D*#n8M4{A+kVn4SM!W<2Y}#KJk+g+`jhTV9>Iv(3r2`@6 z<}vn)Gtx|QdiTOZ7g~L4)7Z8b8SWG1csz5HgkL4 z?D?zfN`@Y-G%j1`aJR>6*(=M-D|mbc45{}wXR+rZ7+1Y=C1kc1i9K9F`NsRiaV|&8 z^u*&6Sq@nIbdT}YyOrisF3pNBK9G^-$m?tAL{K5kE93H^JmtqK)5{6zL54DozQ6!m zCZ5%B=(Ta_mk&+9%$;2ZmyXRwGuWzX*xEfC+a8rC{Kym#2xA{bf9=$+LGZ0DR} zNrS#WL0FG|qzMAiiY^&^TUb?zqu#-`#mi*y5zi(i@m6o+E$>KFZ#)eA6^~@o!ALn6 zjk6W%ugMqgC_k3_DzcCguS%T%jEg!%O*}I`=>GPy+ZSNDi8lQHN~xmiFFW}IsaU$aX=}xd}5T($3C%GczK(; zdYw#6F5FC{xyf?40`ra@!kV6FGS$a(lZGf`<` zD8jjRvmFmqE&eC-oK@_#FhLg^r>TVEwhtXkoTvvhL0 z+JyU?N>w&*Vh|u$n_bT7MdA5GI{-58kz1`srFI=uPzf~oHA%c|g4DM7b zcol>_8A@3tk|4i;Ps=WbJST%Qj|dV4-<|5zF+A;F>Tsg@in#}?8f z?wA$1rd;Q&;7ek|QY?ZS9V*uirEqw}C@h+$I_|>Lvv~E^9E$17FTvudKA;1UEIWzE zbaWmU;St1b>a8k{0?*S?;DU%KV-nV#%&j#Is|AOOoneEhOrGGd%5bVyGf0OL+$POYQtbI05!ExUHYvUv0B7_-jBU7qG;;thEwG0u z8W=IoBia=IRJ-MDsNuw$1d3)GOs3tu;-WYFex&KJ8$9=BoQrkAw)|N+gPW^CV20m% z12!6kD()cpbudm(c=W)_I$_gh<4)qC7RH>=Gog>ZXLOs)B*Rz_S*<^AcYQw6rRd^_ zlH83%6qY8J#+bjEORwkfm7&$7=AK##*_kUVN3NLfrE*=H$SLfx6)W&95U`Sgb45&! z1{t1-Eg?WtMxy^ zx5zgzX;R`k{#c;uVM`1&-fJzo4-ur%-KeUyoR-84-|mth`TgR4_pK5Lz~iDoxRq=u z{+=faoDAB(LlQvko5Vfx($5F&3-Y9adG>@n?=ItYj@+gza?0oM?Z(M(TVTDsBcyOb zXf4Q~)(gf{vBgdGDq%xOfIwN%nY#*Avt~i*bQl#2jrbF!c1USEbJYT%C)?2>QuiMf zV-wi67sesdRP9egIFFiMf|G~jl5scCXkrWSE+yG#sR|QG(w|O+1w>dVF;xf@-AW-J z9_kl#+}>?3qqjwIzJiq!c5DqEwYrMUdHdUV%X%?*)*})!5DNl$m7h@^pK5{^(FNN| z)&`ds!iogjcMhyaXM>ZYa(+@!I3_1Q32W42{0Q9()EaVjeQIJ}38Zx|D ztfvZ+eodCtG98)Hw)kAqjjotB9kfwXEKTLZNam{Afe5R>H;$Y%;xUsoJiwlj(xgF@ z)5P$g4vJ6F$miHpac9pVd!ye@^G3H3ygruV5KwPJj&Y(_DO&<~aT3Ld5ndu88AkCi zksAr8$ULEkL;bY6&dZ0^J;CxLfIJ8Fx53KcohE? zngi{6q3Obn2rY2oYvhN(2mx>>f!7CoTo%j+D;F{E`kI$9AII4UrOmfu6G=2P@I1y^ zhM{6@9QgHK|_VNrj9@i#|RpU#;=;?uZx1Kftc51D14~A}w(8Z5z=)Kek4F zaHd(vHxk%%cQ-ntxR#@4rExLB_mJfkI?U&uC(z(@tm@dyk*>2)4@Aht4Pi&(kp8qi)|ou}AflGNSj( zP%O7;eVk(kX-lxt2M_Q=!*?qgW86n^!W}m~hu63Atw{{^?zmd*!mDvC5z|$6 zY9I64=B1;0Tuf-Tj|ml@JRx#i0EXc;TEiIftrZh)X^n!mfb}_%fo5l!oIHY&Vzf?P zoQw%q+ZPgBdMyoEM+x-vE9L{ zD4DE*%YChnyW*yTERnMu6W;c(*(!=L>KXXax2PC$*)nVUv3 zG9$3LvrNv?NAKN0HUBLQsTC~D((et6n5>p;)38+3q^Foj zYOLReDifMJ{=V~iOPmS&?_gldp>7rAI#=Pb;(&A`>ItO_!dE1GLCT{@eS{yGVK}j< z#WKGXf{epxu+~MlUWB;H@03*`y38mbP*M1E`GE$23#dVC+7Mdo4awDRD=p$VUv>oK z+a1v-B1iXvE_&K&fyeqyurOPuQhm-UVllbTb;#bbJ8ccbN-f$LKVMF_rFv3n4(bjOYIJ2>}BCM_-=S` zV#zm}V4t^|BvssK*uWcrv}H{|EXXm&hzYJ(DG5mmIMRmXF*aAjUDi;QJKzQ#_9u7i zyh>iRH%h67-&(iN$yu6V1dPGr&|Q{b4&@2>PHD`z5L18^5I3?iir^J7SE~ywOrgmD z(5Kj(^$){imO^w)O=BcX8(A=xTpbg-5`97KD`X^p>YhMmSbRjf5|3vaF3p*EtI5pf z&eplz9FsH<=zK)?HVHw3G!eKCV$Zcr@8WAuXC1#-#dbcuKCOuM&c?xzGzj7;ilRi3 zw_H2x_)w1rCzsPD&N{d!sImRDA2Aj*eHsDAgpzQ1p9L&;o3={n(8`4|Nf+*7z=C}{B73KaN20ig_*RtkW^PuRs&|C2?%o+3XH@gA`3ar3&|rwz zBY47M)p@e_Ot3bTQlybtaxpAsE@-Zj##qT!%3+cVz>4f9SP4Fv-b^#Zlt{&PS~x{o6wVvJ- zI{DOllq3M<;}M(gA=~OOXa6lX;?3Z(qrw|lH@dq0R_x#XjeY%G&L;0nd;%5!GFVv zS;o0jB)dqmyGy_4Fs0sGC-A;=NsX*|u;42*?w%L7@G0J$AW?|NVPDF*m8&Nm917O$)V~@E zO}ZQKLEFHM;Kp0(XYMRqv50ZnRMJfBx16rI4SFMi(J{?E_)_6wCMnV>%%m^rYbop| zkNmm^(n+SrSI{T|g6YBML5DPi=Ah+VWKSY~@FdS~?U~ddoQ;FlV%j)PRd>>~_TqY? zSt2GE6hB?V)f}|o5*`sxNy>c8OQY7=0-M5C1gM!l_(r*0W)*F^e&i#V842k3++Eg@ zCeO&(su<4eDyRgIpNUxR?lhCeUcYw$F+}yBewx^@Z>L{>`LF-_%U{G1*Ji*a&(WF( z5AyQ3E-{zFm_PiipLTmNnDXh?r*@-?T#N2ATn5zL$0XlwxkQJRJj4)J9dzW+Cr5ed zMYwwqp2U@?DCjn)MBk`*DrioiY!QX6Yf@rCoZJbMg7Dhu=S*#tvu(dkVdb@Nb65)8 z;Yt&VuIAG+Ne7P|e65DeT@m<^ROK~RWhXcA?0AJqQI8bzw7eircywIRC?U!P0z{z$ z;G;WD#0XRhCPUrr@D5@iEgwbb$z?>gkyC}=zT;>1%ncd4mhD;SS^&U|v}^6{w0MU{ zEb*M3LP5OojQAz9{j5GCko54=mbpz0Lf*ceR7lmqL3!#HKc9I3r_4!OQUjTgKeqW> zdJDA4yRpfOu7Zb0f$YQ?{FdHQHrcU5rUOkEpZNxH;p6Av-thps$jtEk@sZ__PT?uF zim+6+$Wv`6?8@#y`vNnzKLsvHEUXLKl3~njO>^8MoNE`Hyu)I}U9d8Xf_&)Wg70sl z9#Zo*%JCiS>pwJiF3*n#y-Hb5qmooKH^-eHHnu}{_P#qr49ITpWYmG@nfO7zS%3BV z$MsNT)Hxq~=#;nzP#}mr(j@6jO@0kV;$WDPDcoyH&YOVURirj`?HeqhSRinfZ$*K} zhuVR0ucxC<=bxR*-a)mNb~%wkb)B;O`&d(Sl9;J|+nn@|rEx}UD>C}$!0lYm!- z2Qs7@XA|*_>(m~PdOB4IPm-<6B0MmTOsta>ArmB9!rfgZIj(L=0f3WbPeLlx%7TYw zs(&>$IEjfYabbZw{dD43*iL`S4@$^2N9V!9bHNt7&6&uqtAO4SBCE0&&<~-rt7c%9 z7UAa3+$%J=o!Gf-KlhIe7t3`3B5aI zjXa#4L_jz-tOD>sg%K!{i^YG^l?rx^dCee_Qocrm36bs!qAL!}Ah*AT(B4L3K^K&1 z3`RVp#3)#_1hR;qcKK4C>R#X3_(wSq!aW-_B~!8j-@Sf?Fq;=I)?d8fdn&lR^ZMD_ zSL<85&GP@ygcqBye>z;>dfqJmznY+NotowUPd`)VL}hfEPw(B6Wt~D@=>fMNMdF<* zY+@x>O2i74i*XxOP$VSJGQSlI%@m`Hg>tNDa`?bCWIVpyWv`|fxk_bs)h?6(IkO9t zpWydXya5DjL4aS#13*2`K^gKq!3!v8L$-b*(|IbRd9!?bQZIHdl(+t+GEJq$?W@iU|HF;6aE-E3ZpRJc_=(JnhZx!{v^7W zl&#iH=bJAfQpN395}&^UU01cT++jKEe0tt}*M$cdXj*BfGp>}EAFX`()z|;_@8A4w z?Yn2s*I%@b+o*4174{foEZV$}3c4S2l?V&|*#9 z^f8aT)_5J7P64cXDhioU+{7$E`uK>JxY8v#KXf|7T&0WCQ{Wr)1yYhA_`!|rF=?~& zq0__F1Sz9B*)2H9ZB#l00Y3dHz8uTUc>-IWeC8rWInuVr$M}?15M*av|Le%_ytG{hHCM@#t_s{ zb?BL-n;hk|2tqlB49?|P;42Rnk>3TiaLtbrf;Kkv8s_4cKGap+YRSkklZF1l1X7&D zBvZ6D2RXa0m>;;>G*o-QAw(<<7l(9HEEixg0|HWTA!#wr(xlqB#y-`wj$H+nLOOkT zi1Q1V1!Q)DI1Vwh#^`|YEUH1+`eXob&3dW}6(@#9+h@5ZS95LAzbhoBm%c7E(gqLKhS ztSwLWIc5_gvOplc9E};zIw8td&P-p}5_j!525t&clS1q$X| z26u(>8BQjRPcIdzA9zOG6$8^EJUG|UWQ%zfh-W)gm3tlIqnYF!{8TUBiTh1j3$o$d z($CHG;63p8oLl$>GM_=Gr_VQg6?t6Xr0D!woV>ViT3l(bY11(qyJ2s!qRvOkcs+St z?6wZ&T_U5p5Wsc$dp;R+~%g+0x^E6M6W)6&(+-&hoZri&vfk5Ccx1Rn_|JiVAkaLG29Z`u`57OYAjlp3WbujEsQX&=z?i#zY zEI3;{b7x~Y0ci9|YAOEY4`J+j3of3<`A#NNt<1&<;SL2}Nd+Em zPm^yM2B4K=Kx``Hos*)hs-Q_`;G<240Qu71cu>-BD3P89iW7V7vt>L^ibtHJ8-X|; z*Wgkj)z>h`-$}u+dPcS75R!Uep_hfl5;j|YuEw8@l+{8HVOP!D^(b-6hQAFy3nn!t zAX{j9>^}Drmhl^JCyQ+mizi|cqf)B#Skac4tZ@9iBZSDME?oU0Y1wf3J;QNlx@~r| z*Y^tv&=968Kab?4s*ghXBK4VKA~qv!QEmk~RpDBoA1$;M&No?=8^v#DBg?{NXv5IP zO2g2s&TClrrmT_Hfv&Sq_AP`g*p{-Kq9TxZLR)H5e<{5MW#`n)XYnbCLbJb+Td%n5 zghBZpS3lr`RefA2h9$}&Phs>kPpm?jTbC@)Cl$0;X=5DoOy;P_-U%bp@8RuU5y^Eo zQ6+OSxPq5m+Gg%x1u5zGD6`HzH;qar`&cQnb&(A!W{@sFcp&?7SzfK8j=_fCY%W7R!aQ|xu)vBu$`HSGDqYUC zL>!eyDS+A;-VzUaFeI-eQdu+fl7NrHp;#IApz6Eu_@#|RdDQX&Mrng4#il-xgul>* ziC_eV>&;}bg)Ir1=sU0_@=RnO$E&i9(sQ58G9I|9UQKV3Kue~xa{DJtGidrI(=|43 zBc!euHu{nfr8`pC>56{@nPh0D>6Y(6Cv#8{9d<~OWh~0^VSQJXAUA#oiH*QZX>919 z>m(zZgEX_KE{uG(1Nwmp3QUqHS;#T6W3-OVX9fTk#x|2WhG@BAsJ^*CyaM7C(sNjs zF3Kd{^GQZwdg(cnoJn-^Gq(x<%15o0uZWyG_fAhT)($i`SlpS;!(SXXE`}7z=8!- zd?!5?=-t4A%gP3o3vO5!(8Ba;1!UeGfF#0Hfzo*5)6QVS)v!f`Qsf9iPLjy6Ii{(L z_r2KutyY_YwqF;ZpixNC#})c2fG*Hff_*Pih^lwQA|%u$crl$l#dD5uLp*!ZEdOn~ zhK+Me!XVOKm3l~>0W-=ts#QZVV=sdPQGOF6dg^2cjrcp4(8)~0%=E>;6&XHMmgrMJ zp)gyPkM`N)-e53n(A`!tS3+^Vb(w;tyK+EZvXv=wCm)yWN~7FoilV~w(&UN$ySVV_ zeWtmi8T8g|11n|_m~R7+p%rCB)$HkpBMk>&F$jaKv#2tL5~nRY;cnUq6GD>?bWT$y z2917Mz!+P9*>Ey&txPV;*eg*|DSjt;3jZR$FKDQdq#UT)>LU$P6;l~u*62IvhctC( z`l20+O)5{+NNDmTOekybGl)q6l#Zcx!WbzLPOb|Y2HCoZh(+7n40}|ff#l=8I%3_> z|Bt8&h#FBh32U5hCgMw>Lm>!6WY}hW$1BM!5CsPE6CtL%Lh7sg4eyRm?IX}!CKEkj z2P~FYT;yKUlY#GeKZEU$yU1rD6%nFycD1NLJ%-8j8BzXg<~h7W`SM>a0fW$ zz|KXKy{T9LEs=E?nLQ^yMthvn8iS_;gQqDNzzt{hxisp8Af*!4q8m`f+X2Nkt|hRS zg&uWiM2Rb`q72L^*p&oOMZQ>uXAW8WBZ#^@;JvoWi7zndI}Kg1$LZ$H)Pt`~bMxn! zlWy}>YkXEeZ+(LAE)@M>-;{qt$y-230OU-ysx-~q2 zGWaN7MUI_y)RAOKXTkZ~wxWLroJ_is+VEzvqBg34;m`^S zNh7N*tU^K@+$1SO3W5U$&rlig`J0xJcU$jn*H-x{C1&fA#DDbFC0`de@EYEr`tQgOkBh10oCYUEc z2gpj3Eq*%tFrIP3Bs)pTDB@>;LN&T3cqkDn49HLD*#p8jWNPM4=e}k$*#ln_?fYMG z@CL6vsVDGB$USCwQ-Kvx#}ydxh31!beMi>A>ByV|IZRwvD(G{asOKA(@qwx&j1xJb z*?_4pG9T7Q74se^P(l=Cnz&B47(|RsjC(1a*Ujg2oS(p*0un- zO*Lx9q8dp`9i@Oc+*5rdBl zOndrN6iI?BvHl*496Yg6uq%8!nU?sD*r(54;t$Vr=KO?wr9&`!x0{ z)7ZkouXuz7E3`5eZSDKVZR@2IhXhFuvK$_LUig`)q;a)a(m~o704m(ATO1RT4$aW01Vp#Wzzxkjrv2`#2=^tU-lgGD!F8U6{?&}}c zw|2ri5WT^>3Sz7>x&z|Lgezx$Jyr&iThXxSYW=bGN~ErA+!=zmPyqP@?;4KPI7>Zn z%$z9e$lk-*g@YXcxiE0XWO-|$%Lfm%j(NF2 z7cb3g_lQlDTYP21e&1O+HG(^K$irH$X(!B9yq0b3NMJH#5@C{x=o1CpEVQ<`_-2MP|Vd3{@YTeGI8c%#$P z--z;Nv_nY4U^qh~qb|cBK)z!J!yDP&WKA#_VTlpi0B7nS%-$Q9oph%JAn7b;3UuZ; zsgT&$rfLb7KHY~@dDR+Dl~4KasV+LdUUd2hHxl76PcBKSvPg10CD!#do-reb_&Uxs zR#5wzK7vHzU7gIjB_wFHH?_gwCU1E87S zskzV}In==sEty9DbHQ7Oh*>xkBQ|0lF30iYS}U%$5P-mV`=UXko$F^=v^qC7R4p?1 z(!lL|m17o;Sns{3ZWXziBf8{J!{VuYVa+FJjuw~Q5@lKe35AWl@XLrcHASE`&RTQE zfSv>tQZfc)8jTx!2MnjCu`MO28bniPB>K+TCi;*7cVplYoGP84u6;g$Yq27Hx zTt9C>_cjctB==4*w=>AqF$oP6nw4^IOi(1`<{*um-bM_*6O$u?&PpfQhBT^ehNkj$ zK+Os{Qp+hE9UXMa775KZu^_b)Bg1-@gyhRV6ej(riO-r$^bZUU15ZsU_M|q8(GEs0 zX&byzCkRt;iVlV9h!iloOyj7M<#3gr1Wnb7Pi)vCRPq86nZg8)kxDTYY)mtDqUg!= z>8%_~aR)0M70{Ss13ucn+W}TkD+#LFbui%$cR9ga+dQok9+{s);{v%riih|OFrLZ28D$ieeSi)1 zRS&}jW5Q#8&s$|v?#0rI9nysH&~d-HpB<*k zzR9gAQ=cd`ZdjszNxaCcu@@uFT7C#PJ2|k2lLvYBNZ=%kKZC!AlRO5d<4<;hZ!;YN zRAVyao&3Vh*?xCGaGM$Q-~LvQ4l+W`36c_LEss|*WB?X)*sxyeJeK-Vv2Z7a%@yqw z?i{M;L(Ubo3KOdu3dHLjHVf$`XfSgso_-H^@eSkAT=nRw+m`v zTdg!IFSelOG3t~N0$K+!9AlXR8R+*EuyFlMBzz<3Ns8~v1_q3#49pQwaQU`@z&Mqs zaY>F`j|ksSn=4fXgw4dngMM%C5v-YWDA+Wcm4jg-*Xq$Z2XRt_6J@H5WVXiP&n6#^ zIw3|Vp-eRdXcf(-Ieml@uNx@S<9vC!wHRg)k?r>Zs^(*chD4q;G$N}hA5u!9gc=B&1Y0GT^S~1B)F3av z=h?S?13_q>t?yubCRJkjX2+;TGtmR&vi^Kq`r=EBSUV@P>m9#^!=2y(K)n6w>vbEb z1%m?1l-`9`()!1F@fl$}wYw@*bekk9V-Pkb&p4%L+5Gi7&2F?Sqy$ccgyNn##Z5($ zgE6Rze^MIsOIZtkJJctXK6b}vC6J=>EIptL{PA2#IO{pP&JTD{3}-K>*>X`~hP0i` z(8OueY`A$A19ui1A~n8Dqz=Da7=jUN4nyhyHEtruwo`KYzf^jTGt3>{iu4Ji709`< zBJ=p^l+Bu{5=tm+_3oXk-V$|XU^fW3(&P*QH*~cZe)*dIw+gti_unGm8jYP&F(*K^ z7{V4D}X@i;{uj7D<0fW)hmBE14uXktsNG(EnC>IS?85sonD*j*e<4m#%rnQ8z9| z-soPXH-BJsV*sn9TO9||b1n`Z>e3yLLW8*GVG&Rf=fN3VjE3r&)Rkfm!J{sqW!4QB z1B;@ooX9*y!z6E`GQr+`XC%cDSrF!M7ACB~?5^)1o!C$Wr#S~@Tjvoz0pM>C0&^zA znG{pZO5u2!V`ReSyvwu|qjPlqH%#+xd+`4hLwFZB=<=t$nr{GI?KZH zGDbueN_H+W6r0NSiX?%`Xp-%>+1h32X_RQp;}Jnt$OnTs&7xPrs!kD!B*6^~Qc!!+ znbR>ti%d1eYF!v@4Hs#%| zxPE+jXL-622FYw{Yh{^I5^1D++9Ih#y}K>4=()x9Q@Df5d`;kx0-F{T@r_c73OjS#KhtKK|s4;C#q>*s9*S+n-^w z(_JjWkeh1-$MevWB*o=f;>|=(vG1aF-f(4}qst#BJ?rq*K_!K-Z&UNiHMva;tp1>p zd6(u?wq}aGBP7JaJ4;(@?l|Q#E|$`ZKZqQI$0AT2RjiN@5nyyJ+Zsnh{lv`dci zP$R>F2~R^E6^U~&)Xanie8=wC@ofrhn(qY^(=3$Roqw?VJYwB80zKsx@wr4u05Xr4 z$w54l`QI|-Sqgf+y_l!JjX!m^f8>Oq%8=(K=Bf1$K+|mZQQ?LMVm9Qgi`H0yy;(a% ztrHGU9z1Sib2q49lTT>P6N~PZFJryx(oT8*k?;2dHuq$@GM(`Da1Wk!^|ZpD>CvH# zI<-j_zEFzi75&fb=RB+u4l5RGPFr)x#spZTCrmsG!^P52-AtURl)|wK zaE#FK8$&OWok9}vG$s|WHsPb@NP($A)xocXC~8r4iG>WzlmOg6mf#UTN{k2ox^z#) zuN&bVO8ri7PvX;Q+j5_=seh*4haO%W*`BdX%UrfySR@Q5ltkyf$s^pf*?uZ*0mkc!#gu{?XoCDdvjp_cQP$5aZzD}Eb@Bo-8+FGkr z-;50)1TCKpGZLD#(MW#Ze^g5wOm36QwAOk(Ux&=^ZrU`OS9mO4PBjTpVFO6pUdcDj zd-GYR2q@#A6|9&uC!`(311!kSoDpdOj|IGv6L z=M}GT{}D`Df}|B6Ot!_UnonQ3E zT|6Gh*^5tb_PB&kaQvkU{KrmoOXTPR9)C3VBXJPAVS}VI_G+Z?mZe z2gkp_OCQa7EpJW52rQ3M)8}E&VfAa2*~DNS-uZ85|l8=1G`!LXJSC zKrKO6S1Mx8!^$EcWP8TaYO-#0GHJdLmYy!{^>yA~(%Zz2#$c?1|G070wQRb!nj*Fj z9f2=9cfU-gT=k>?<4*tG_$R?%2y^^~y_i_dOMAEhh z1?SZ2-R!wzxEf}mVGPg?^>}{**s>##igR=H2bJ_z>i)wJBeWIJXu6#VB>cf>oUJJ7 z(~b9KWUJ-yO9`TuNK*=heGvIQ918{fZH8Y{>^j-+&tTNKil6>$9(|{M);Vtlep^3{ zjaHHo^7Pa4)_UDmWbNh4avTvtJx{Rw?N&F&^x}u5t6nnHGBu^j1w6%GLDlL!zkORx ze(iLA&E?|Taz7`um;@b*?09IA{M{X83^t)6)*8ezA8?e^Y*hN(w`a>2ast{ubJ5Eg zm%tjwG65z1N7yN`j4iMJsq3GZOTY>9p*PL5dPvBZiCjurFs9~9|D>F6TGWzaIYl4& zw=Vz2EL>s`+;X%5L76HMZ|padVlg#s&7qT)^t7}b@hfQzpK0zEqSB<<{7&-)tCQ;d zPV)`BlMV{76qi;Om?MiZ#R>CNtnR#owTA0L2WcX6lG0& zbU7Rk9zAlhQ7JRIp~;AJnv{py|Gb-ZvX$jR;nQr%^YS&Mhauv6Kl=AV6(-IotKF^? z3g-s%?DZ>%Cc7K2x0*Yb=f{Iy1uE5(4z%YPUK8%OdYAv~j1U=6UN;wJJL+I!oTxP` z`1)czyco-EQcBJ>=nuyi5XOz4R32p;H`+R*@ntL)2T{8cj-zpf=drZ12*QvJI}K6U zOkjL~kThx?_dLa&*-E^`%5I~a(dzdHd|eoi)$2_D)B)1u@VVpDVZG^O5CSU$0iQFF zI{&67?nM}d7@|Jkh8BsC(weKHSs~~UfCNLU1(<52wKwZ8H+FX4{NwQT*5*GB*S6L+ z|FN^N)4a-XwakDm_`3d|yN8==TQA?Py~ z3wp;VJ7nH_JfB?tVK4?|<0m|IPMNYJf058;-DiJg-tcUQ-`n4B^MfyfKI4xw|Ir>Y z``N;Rq^2Jk={NF(jx)DI$gKCepSmOcWGC_a!v!K~m4C#)D4Tug^v3+&(H~6uwa4%O z*pz$@VCSsU>+!3d$#{3DQ>bUTue0$vt9`%wO6r|MYhUI&awmh2GWAQz=8?g=)GVWb zfBupI#DLn)>n-MvPw}w}*0BZU!8ucgqi#lLrt-G_m_(8Q$^j926FQKK*1HZ=dgC)Z zRpatAqj(~r&dZA%(YL`!VuBd8LstL_v?GVj1RI;tM`}c5;&Tb5p#a&FjuJZZg4%kydE82cRppS)nehF zS@m%5=cR*(`}N^vAse?=%|WnIK0IX6?C=o7f@V6GbB>$sp0iZ>`Fek;Duq|~muzrD zj!bhn`Yg?P@PI?7mBbz|_TEj6ChWlR>cI^OI|YaJ?Sm4Y?fPeb^YFm0hYJ0_pV-1Iw!WOZA69 zsdt@g$oJz8qKRDM?=(ITVH4 zotBYQ)pys>$y|5agW1hsb9B&zZo0B6k<0M_)&2Zp1poApgVFn}a?%-Q zHEuzi>bk8@soUU1OZ~(%(9M(PQIBzT;YvqD^H8tVt+SCRz_aimFhvYg;AF@CJw$&qv*V{u87n_Hv>ri#*Tf z%r-3|L)~q4dmq7ImY(sz4fBQyUy^zJ&S@$wB2A6oY=fN$O?*2Z4cki)o}dPw*G8_4 zH1cxP8lI6Y2~GLOhgh3Xwono~dIO9Rh;0oH=!V)Z#obPn+W z^c##DmnVFch@)IwuFVUa&hKw*#S|>(sDZdSBm=lZnDn>=dYm4ZaB{3^vn8d++7EDh zZF?h`F3}lum`7;RT8d(~_IwWWO|k1QQqtsolm?^H3mt(CN?`bG)cLrUj;W1=7KSvN z&{?ijeFL&X?1pSkAhTkE@1&G5u-XONM9xz2k1>r?&t;g~7mloLE)b+k92 zU1up9^e)J#Ku!cTAoi{8Y)gq}B)mmbHYTY8aTQzV{CbDX#KjQDdpmO`0iEQLQ5h?s zBu-VlA^I+>?AP}{E>u_dg^x+<)pETXT9mxECF`xUP)Zt;HmWl8?|Q9&4(t?}g8?u_ zvIwE8Kh=gxo*~Nt`E4H#8&mU7w?e&@okMt6eluYYFQjHQzlRKPfE&TSV}RISvV9N~GCw9jv0k;s}-8@8=7!YesxMo=h8tIAFa zkJ*$Yyn{EaoHn1HLJK)QbAFSYD!X!aG)P!X^g_mQ{vEuvwMDHa+)IY~tg!AUh2 zXw8(ZgFER!E**6cB1UJx_IbB^jLo@<;f~?1vg8fh^ve6$!v_8PV(r|M@{}LQsz)4 z0*R`0Rg*t;<_NiBXDF?c)e0ilu>!lT@!wcHpLAS4IH;p%ypU9>?A6#P$8liNfqz%4 zvd$F*kiQ%0ZfzMPS=f6q%#`s9mRW2NXF?1GzE@PgW;X0i3}P z_$h2f2z>WZGV5^Arl>r)o!fSJD&w>Eovn$yFr~YJI}zJ6kqXJ}V{4sKa1Q6q(bD~^ z)5(!~L`3Lt{T(pgwo($sQrVGGoRe21t5ypo1un7VG^S3~AWFvyj=s>B80b9(urKsQ z087n~u09=@@G>5xqrhwZtMX&20d!re^apsSMRx*xfx?nr;JFzjPxpEO^+zZ*96-f? zIj5v%CZ)H#LoV^W;y4nhTQO2GyflVuKE3o3ig?%8N|)n8mzP2#j+@r_F)$DK&6aVc&bg%6FjDHuZOXrbtTB+4Uk9OMYQqBm=BYt1FOu^LP zI5wl+8R<6TIS-^Xi*P#Eop`UE?I*v`K8Q{YAa3Cg|foZof zO3MMEA&O)d*pNjiKp1hMCKgsKa$F*XF}=!L7cZd^3|yDzM#f7lyKfK-0&R*|zKg-yE_9_J)qfs*P2nG8ZOno9x2Ie073pTxQlpu$20h-^D%KS$m? zcqlCRkX+Ls=FHyDd!_yH!9z5xn$2z})0C$E+25;FRvUXi@9iHPT<`Dg{fxg4_YbNM ztNRBaXM|RK%TBvFC&1;=I?O{r0Hb(V(}9 zrJ>DO(>^>;FcY`%1^^A&m-#V-#AFs20}2*ffi|U!*`^cdLa!@{N#!@1!fhEx z`)zhH6lgE`k44xYQ^@UD0qwOQsYbpIFSF4bH`=8Hd+u=s6dRI}U>c>$hi$HTQ}&(?Q#UcW(*f~+CO)YBudZf#ip(Cvr%eNmT9j%qL*-R-|WieIckoe6r(p1 zq=$p#q9Qo`PM->I__`2nf;)`(IY^2#!_X=RHxrh$!x2s{O>t+Ka+@*5C<;7jF0YpH z)-c^Sf@{peqk?lxq%oM@kFC)b0Q!Qr@u--EHMrXuIYWdqyVE*{1;hMVnOCHw!9%wogz;8a!%qvBE?a4BXJ_N()~ofc-NQHQ&843!&=xKfG*HW;13FY$#LyHt{t!dY*~VKKdk@b@W-{y zx9f4}thG9)GYT`3k0z)up4msuI|!;h5$kra;=K;Z>!{URgX7e@K1Dpa4!R3ecJvT_ zd!?C!D!8*wJC9Ds1bcAB4`)++Do$UKb7*J*@b|Tdpq{vLQ2X@)YvkWw z9@Nxz)GB>-P^019v%f~5fiP9W<4te?-(U3K>%Od!A*da9zz=k4ty4gtdZmNeJ6c>^ zEVZD0l2htkwD71Tu1NTv=cY?Sd~qfoM=7%e+gM@~4F+ z!zcGD9?{j&*#4X`9$z}#B-6=P;~?2YJbWl#E%6))t)gvU&{(WJMG6q+

q5m31Kt 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 z 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℞;>Add51DrkCdA*x*Q+&IIk#__SNCW?ZW8-d}3Ab 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≥`HD|A)xG;Qpl-M(oOjauLoal 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 M|MhqO{?EVrKbp2lkN^Mx literal 0 HcmV?d00001 diff --git a/public/downloads/codetruss-cli-0.2.39.tgz.sha256 b/public/downloads/codetruss-cli-0.2.39.tgz.sha256 new file mode 100644 index 0000000..7a6a4bc --- /dev/null +++ b/public/downloads/codetruss-cli-0.2.39.tgz.sha256 @@ -0,0 +1 @@ +feb9a7454abaf2c25bdeade2a6e638137290df8c0725a447e3aca04aef2bd8f0 codetruss-cli-0.2.39.tgz diff --git a/public/downloads/codetruss-cli-latest.json b/public/downloads/codetruss-cli-latest.json index 642262e..2b23b49 100644 --- a/public/downloads/codetruss-cli-latest.json +++ b/public/downloads/codetruss-cli-latest.json @@ -1,13 +1,13 @@ { "name": "@codetruss/cli", - "version": "0.2.38", - "url": "/downloads/codetruss-cli-0.2.38.tgz", + "version": "0.2.39", + "url": "/downloads/codetruss-cli-0.2.39.tgz", "latestUrl": "/downloads/codetruss-cli-latest.tgz", - "sha256": "8b6093e502e10402fa6f84cd2cac86c7db9c3e54502c7566f1635ce993b32ff7", - "sbomUrl": "/downloads/codetruss-cli-0.2.38.sbom.cdx.json", - "sbomSha256": "182f1b01d91701f0b9a453f0f656913a2e6b860a11feb0d2783f93b059db915b", + "sha256": "feb9a7454abaf2c25bdeade2a6e638137290df8c0725a447e3aca04aef2bd8f0", + "sbomUrl": "/downloads/codetruss-cli-0.2.39.sbom.cdx.json", + "sbomSha256": "8bd47df2b79d979883cb0372abfc26d380b3ad2fd10327538da8cb15e838d1b4", "node": ">=20.9.0", "repository": "https://github.com/DeliriumPulse/codetruss-cli", - "releaseUrl": "https://github.com/DeliriumPulse/codetruss-cli/releases/tag/v0.2.38", - "attestationCommand": "gh attestation verify codetruss-cli-0.2.38.tgz --repo DeliriumPulse/codetruss-cli" + "releaseUrl": "https://github.com/DeliriumPulse/codetruss-cli/releases/tag/v0.2.39", + "attestationCommand": "gh attestation verify codetruss-cli-0.2.39.tgz --repo DeliriumPulse/codetruss-cli" } diff --git a/public/downloads/codetruss-cli-latest.sbom.cdx.json b/public/downloads/codetruss-cli-latest.sbom.cdx.json index bbea2e2..ba79216 100644 --- a/public/downloads/codetruss-cli-latest.sbom.cdx.json +++ b/public/downloads/codetruss-cli-latest.sbom.cdx.json @@ -1,15 +1,15 @@ { "$schema": "https://cyclonedx.org/schema/bom-1.6.schema.json", "bomFormat": "CycloneDX", - "serialNumber": "urn:uuid:c2d14a99-4afc-591b-b0a6-02ca9812b1b6", + "serialNumber": "urn:uuid:be975d22-e2ae-5460-993a-2839a1058dab", "specVersion": "1.6", "version": 1, "metadata": { "component": { "type": "application", - "bom-ref": "pkg:npm/%40codetruss/cli@0.2.38", + "bom-ref": "pkg:npm/%40codetruss/cli@0.2.39", "name": "@codetruss/cli", - "version": "0.2.38", + "version": "0.2.39", "description": "Local-first scope, quality, and verification receipts for coding agents", "licenses": [ { @@ -18,7 +18,7 @@ } } ], - "purl": "pkg:npm/%40codetruss/cli@0.2.38" + "purl": "pkg:npm/%40codetruss/cli@0.2.39" }, "properties": [ { @@ -139,7 +139,7 @@ "dependsOn": [] }, { - "ref": "pkg:npm/%40codetruss/cli@0.2.38", + "ref": "pkg:npm/%40codetruss/cli@0.2.39", "dependsOn": [ "pkg:npm/%40codetruss/analyzer-engine@0.1.0", "pkg:npm/minimatch@10.2.5", diff --git a/public/downloads/codetruss-cli-latest.tgz b/public/downloads/codetruss-cli-latest.tgz index 12073db5353de77de41256cdd39707c9d75e5b71..f8ad92cd4757f409cee39990da8a77fb586f2063 100644 GIT binary patch delta 28620 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 N)Zd=D=SwH<`F|O1)@uL& delta 720 zcmcb7!07T3g9#I*4ULQpOc@LifWg4f#K_2qLBU{hA!EvB0mjpen=j$$xlwq(Je|%&nzw}s?;qroUF3XK-j$~ zu^>YsF)u|S*fBUnp{O)ZVRFwtRYtDKoAzljDr~;H&xm`XgX(7fQ`Jl=$wn!LCW)4o zx+aNf$-1VNhDo|f28m|621dz=mKKIaNrp*glh>V@&1f;%>#P-rg^~`J0uW4Zn8Fh` z`PJF&Toy`Tfm$7|$vhXOHXl8Ah!dz*@s{S~?sL486>i9FzH?)XqKui5v7re@NSK)z z!#(!8K!nj>W zk!3d1_6y1^>P^!hu(H0{{)3IxI}>8k^r!i(YTGjlSauAx2+U|kSssz;>vK4Tr{C4%;@RF&z`3e_`e`vP&grpYTyk6ExPHS7 zjx6AM&&Fu6-LstQZO2w??zqV5Un9BQr>`&O*4v&H#eINv`;08^5`pQn>$#<&j@eev zZO^`4q@7!>a;rVhta?^P9;MHBx8JPiDH57|dAZH@1+#eK7$@_u;Mg8KiAR$OXngGy Ro^#wBAG~+%Wl-W_008Bv_96fP diff --git a/public/downloads/codetruss-cli-latest.tgz.sha256 b/public/downloads/codetruss-cli-latest.tgz.sha256 index 5fafbdc..b13f42c 100644 --- a/public/downloads/codetruss-cli-latest.tgz.sha256 +++ b/public/downloads/codetruss-cli-latest.tgz.sha256 @@ -1 +1 @@ -8b6093e502e10402fa6f84cd2cac86c7db9c3e54502c7566f1635ce993b32ff7 codetruss-cli-latest.tgz +feb9a7454abaf2c25bdeade2a6e638137290df8c0725a447e3aca04aef2bd8f0 codetruss-cli-latest.tgz diff --git a/release-reference.json b/release-reference.json index 8445009..8ccb631 100644 --- a/release-reference.json +++ b/release-reference.json @@ -1,8 +1,8 @@ { "schemaVersion": 1, - "version": "0.2.38", - "websiteArchive": "https://codetruss.com/downloads/codetruss-cli-0.2.38.tgz", - "archiveSha256": "8b6093e502e10402fa6f84cd2cac86c7db9c3e54502c7566f1635ce993b32ff7", - "sbomSha256": "182f1b01d91701f0b9a453f0f656913a2e6b860a11feb0d2783f93b059db915b", - "bundleSha256": "8d6039e227c2b959dc509bd2f4cf02d1d874203fb53b911656d15916aa4dcc03" + "version": "0.2.39", + "websiteArchive": "https://codetruss.com/downloads/codetruss-cli-0.2.39.tgz", + "archiveSha256": "feb9a7454abaf2c25bdeade2a6e638137290df8c0725a447e3aca04aef2bd8f0", + "sbomSha256": "8bd47df2b79d979883cb0372abfc26d380b3ad2fd10327538da8cb15e838d1b4", + "bundleSha256": "85f3475cb84d4ce349d43a0c81c68cbf40bd573e731c5e731eeff55ae7405c4b" } From 1f235b91d90c12f05548d7cec86ec28819030f41 Mon Sep 17 00:00:00 2001 From: Zack Whitson Date: Fri, 7 Aug 2026 04:44:07 -0500 Subject: [PATCH 2/2] Say why the README receipt example prints the v2 wording The example is labelled as a real 0.2.36 run, but the paragraph above it now says fifteen analyzers, and a reader landing on the profile block has no reason to connect `local-registry-v2` and thirteen to the older run rather than to today's output. The label now names the profile it prints and what this release prints instead, which is also the behaviour 0.2.39 guarantees: the v2 renderer is frozen so a receipt signed under it still verifies as signed. Raised by CodeRabbit on #22. Co-Authored-By: Claude Fable 5 --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 38c7a8b..7cc7c11 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,10 @@ The verdict is not a confidence score. Receipts are written as Markdown and JSON next to hashed patch evidence, and can be rechecked later with `codetruss verify latest`. Every receipt states the detection gaps in its own body, so a `PASS` is never mistaken for a security -clearance. Abridged from a real 0.2.36 run: +clearance. Abridged from a real 0.2.36 run, so it prints the `local-registry-v2` +profile and its thirteen-analyzer wording. A run on this release prints +`local-registry-v3` and fifteen; 0.2.39 keeps the v2 renderer frozen so the +receipt below still verifies byte-for-byte as signed: ```markdown # CodeTruss receipt — REVIEW_REQUIRED