From b2fa7daf57e98f6d4c9b14b1ed2dbe929da3d3c6 Mon Sep 17 00:00:00 2001 From: jackwener Date: Thu, 19 Mar 2026 06:08:55 +0800 Subject: [PATCH] feat: replace @playwright/mcp with lightweight daemon + Chrome Extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architecture: - Micro-daemon (HTTP + WebSocket bridge, ~190 lines, auto-start/idle-exit) - Chrome MV3 Extension using chrome.debugger CDP (10KB build) - 5 protocol actions: exec, navigate, tabs, cookies, screenshot - All DOM ops via JS evaluate — no extension update needed for new features Key features: - CDP Runtime.evaluate for JS execution in page context - Tab management, cookie access via Chrome APIs - Auto-start daemon on cold boot, idle auto-exit (5min) - Minimal permissions: debugger, tabs, cookies, activeTab, alarms Tested: zhihu hot (14.3s), twitter timeline (9.3s) --- extension/.gitignore | 2 + extension/content/noop.js | 2 + extension/icons/icon-128.png | Bin 0 -> 15333 bytes extension/icons/icon-16.png | Bin 0 -> 628 bytes extension/icons/icon-32.png | Bin 0 -> 1828 bytes extension/icons/icon-48.png | Bin 0 -> 3490 bytes extension/manifest.json | 42 + extension/package.json | 16 + extension/src/background.ts | 246 ++++++ extension/src/cdp.ts | 68 ++ extension/src/protocol.ts | 48 ++ .../store-assets/screenshot-1280x800.png | Bin 0 -> 578421 bytes extension/tsconfig.json | 15 + extension/vite.config.ts | 18 + package-lock.json | 103 +-- package.json | 7 +- src/browser.test.ts | 227 +----- src/browser/daemon-client.ts | 89 +++ src/browser/discover.ts | 252 +----- src/browser/errors.ts | 130 +-- src/browser/index.ts | 17 +- src/browser/mcp.ts | 364 ++------- src/browser/page.ts | 277 +++++-- src/daemon.ts | 164 ++++ src/doctor.test.ts | 225 +----- src/doctor.ts | 742 ++---------------- src/main.ts | 29 +- src/pipeline/steps/browser.ts | 2 +- src/setup.ts | 230 ++---- 29 files changed, 1245 insertions(+), 2070 deletions(-) create mode 100644 extension/.gitignore create mode 100644 extension/content/noop.js create mode 100644 extension/icons/icon-128.png create mode 100644 extension/icons/icon-16.png create mode 100644 extension/icons/icon-32.png create mode 100644 extension/icons/icon-48.png create mode 100644 extension/manifest.json create mode 100644 extension/package.json create mode 100644 extension/src/background.ts create mode 100644 extension/src/cdp.ts create mode 100644 extension/src/protocol.ts create mode 100644 extension/store-assets/screenshot-1280x800.png create mode 100644 extension/tsconfig.json create mode 100644 extension/vite.config.ts create mode 100644 src/browser/daemon-client.ts create mode 100644 src/daemon.ts diff --git a/extension/.gitignore b/extension/.gitignore new file mode 100644 index 0000000..b947077 --- /dev/null +++ b/extension/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +dist/ diff --git a/extension/content/noop.js b/extension/content/noop.js new file mode 100644 index 0000000..2698aae --- /dev/null +++ b/extension/content/noop.js @@ -0,0 +1,2 @@ +// Minimal content script — required by manifest to auto-grant host permissions. +// No actual logic needed; chrome.scripting.executeScript handles all injection. diff --git a/extension/icons/icon-128.png b/extension/icons/icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6c5a1894b8dada3bf56ecd56cab2852f8c2810 GIT binary patch literal 15333 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 DKRsIT literal 0 HcmV?d00001 diff --git a/extension/icons/icon-16.png b/extension/icons/icon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9d9e40a559b020fad06f7c5d430af181b8bf2a7 GIT binary patch literal 628 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 Q6aWAK07*qoM6N<$f(5FIG5`Po literal 0 HcmV?d00001 diff --git a/extension/manifest.json b/extension/manifest.json new file mode 100644 index 0000000..d0c84c9 --- /dev/null +++ b/extension/manifest.json @@ -0,0 +1,42 @@ +{ + "manifest_version": 3, + "name": "opencli Browser Bridge", + "version": "0.1.0", + "description": "Bridge between opencli CLI and your browser — execute commands, read cookies, manage tabs.", + "permissions": [ + "debugger", + "scripting", + "tabs", + "cookies", + "activeTab", + "alarms" + ], + "host_permissions": [ + "" + ], + "content_scripts": [ + { + "matches": ["http://*/*", "https://*/*"], + "js": ["content/noop.js"], + "run_at": "document_idle" + } + ], + "background": { + "service_worker": "dist/background.js", + "type": "module" + }, + "icons": { + "16": "icons/icon-16.png", + "32": "icons/icon-32.png", + "48": "icons/icon-48.png", + "128": "icons/icon-128.png" + }, + "action": { + "default_title": "opencli Browser Bridge", + "default_icon": { + "16": "icons/icon-16.png", + "32": "icons/icon-32.png" + } + }, + "homepage_url": "https://github.com/jackwener/opencli" +} diff --git a/extension/package.json b/extension/package.json new file mode 100644 index 0000000..253aec6 --- /dev/null +++ b/extension/package.json @@ -0,0 +1,16 @@ +{ + "name": "opencli-extension", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite build --watch", + "build": "vite build", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@types/chrome": "^0.0.287", + "typescript": "^5.7.0", + "vite": "^6.0.0" + } +} diff --git a/extension/src/background.ts b/extension/src/background.ts new file mode 100644 index 0000000..2dcebde --- /dev/null +++ b/extension/src/background.ts @@ -0,0 +1,246 @@ +/** + * opencli Browser Bridge — Service Worker (background script). + * + * Connects to the opencli daemon via WebSocket, receives commands, + * dispatches them to Chrome APIs (scripting/tabs/cookies), returns results. + * + * IMPORTANT: In IIFE mode (non-module), all chrome.* API registrations + * must happen inside lifecycle events (onInstalled/onStartup), NOT at + * the top level, or the service worker registration will fail. + */ + +import type { Command, Result } from './protocol'; +import { DAEMON_WS_URL, WS_RECONNECT_DELAY } from './protocol'; +import * as cdp from './cdp'; + +let ws: WebSocket | null = null; +let reconnectTimer: ReturnType | null = null; + +// ─── WebSocket connection ──────────────────────────────────────────── + +function connect(): void { + if (ws?.readyState === WebSocket.OPEN || ws?.readyState === WebSocket.CONNECTING) return; + + try { + ws = new WebSocket(DAEMON_WS_URL); + } catch { + scheduleReconnect(); + return; + } + + ws.onopen = () => { + console.log('[opencli] Connected to daemon'); + if (reconnectTimer) { + clearTimeout(reconnectTimer); + reconnectTimer = null; + } + }; + + ws.onmessage = async (event) => { + try { + const command = JSON.parse(event.data as string) as Command; + const result = await handleCommand(command); + ws?.send(JSON.stringify(result)); + } catch (err) { + console.error('[opencli] Message handling error:', err); + } + }; + + ws.onclose = () => { + console.log('[opencli] Disconnected from daemon'); + ws = null; + scheduleReconnect(); + }; + + ws.onerror = () => { + ws?.close(); + }; +} + +function scheduleReconnect(): void { + if (reconnectTimer) return; + reconnectTimer = setTimeout(() => { + reconnectTimer = null; + connect(); + }, WS_RECONNECT_DELAY); +} + +// ─── Lifecycle events ──────────────────────────────────────────────── +// All chrome.* API registrations must be in these listeners, not top-level. + +function initialize(): void { + chrome.alarms.create('keepalive', { periodInMinutes: 0.4 }); // ~24 seconds + cdp.registerListeners(); + connect(); + console.log('[opencli] Browser Bridge extension initialized'); +} + +chrome.runtime.onInstalled.addListener(() => { + initialize(); +}); + +chrome.runtime.onStartup.addListener(() => { + initialize(); +}); + +chrome.alarms.onAlarm.addListener((alarm) => { + if (alarm.name === 'keepalive') connect(); +}); + +// ─── Command dispatcher ───────────────────────────────────────────── + +async function handleCommand(cmd: Command): Promise { + try { + switch (cmd.action) { + case 'exec': + return await handleExec(cmd); + case 'navigate': + return await handleNavigate(cmd); + case 'tabs': + return await handleTabs(cmd); + case 'cookies': + return await handleCookies(cmd); + default: + return { id: cmd.id, ok: false, error: `Unknown action: ${cmd.action}` }; + } + } catch (err) { + return { + id: cmd.id, + ok: false, + error: err instanceof Error ? err.message : String(err), + }; + } +} + +// ─── Action handlers ───────────────────────────────────────────────── + +/** Resolve target tab: use specified tabId or fall back to active web page tab */ +async function resolveTabId(tabId?: number): Promise { + if (tabId !== undefined) return tabId; + + // Try the active tab first + const [activeTab] = await chrome.tabs.query({ active: true, currentWindow: true }); + if (activeTab?.id && activeTab.url && !activeTab.url.startsWith('chrome://') && !activeTab.url.startsWith('chrome-extension://')) { + return activeTab.id; + } + + // Active tab is not debuggable (chrome:// or chrome-extension://), + // try to find any open web page tab + const allTabs = await chrome.tabs.query({ currentWindow: true }); + const webTab = allTabs.find(t => t.id && t.url && !t.url.startsWith('chrome://') && !t.url.startsWith('chrome-extension://')); + if (webTab?.id) { + await chrome.tabs.update(webTab.id, { active: true }); + return webTab.id; + } + + // No web tabs at all — create one + const newTab = await chrome.tabs.create({ url: 'about:blank', active: true }); + if (!newTab.id) throw new Error('Failed to create new tab'); + return newTab.id; +} + +async function handleExec(cmd: Command): Promise { + if (!cmd.code) return { id: cmd.id, ok: false, error: 'Missing code' }; + const tabId = await resolveTabId(cmd.tabId); + try { + const data = await cdp.evaluateAsync(tabId, cmd.code); + return { id: cmd.id, ok: true, data }; + } catch (err) { + return { id: cmd.id, ok: false, error: err instanceof Error ? err.message : String(err) }; + } +} + +async function handleNavigate(cmd: Command): Promise { + if (!cmd.url) return { id: cmd.id, ok: false, error: 'Missing url' }; + const tabId = await resolveTabId(cmd.tabId); + await chrome.tabs.update(tabId, { url: cmd.url }); + + // Wait for page to finish loading + await new Promise((resolve) => { + const listener = (id: number, info: chrome.tabs.TabChangeInfo) => { + if (id === tabId && info.status === 'complete') { + chrome.tabs.onUpdated.removeListener(listener); + resolve(); + } + }; + chrome.tabs.onUpdated.addListener(listener); + // Timeout fallback + setTimeout(() => { + chrome.tabs.onUpdated.removeListener(listener); + resolve(); + }, 30000); + }); + + const tab = await chrome.tabs.get(tabId); + return { id: cmd.id, ok: true, data: { title: tab.title, url: tab.url, tabId } }; +} + +async function handleTabs(cmd: Command): Promise { + switch (cmd.op) { + case 'list': { + const tabs = await chrome.tabs.query({}); + const data = tabs + .filter((t) => t.url && !t.url.startsWith('chrome://') && !t.url.startsWith('chrome-extension://')) + .map((t, i) => ({ + index: i, + tabId: t.id, + url: t.url, + title: t.title, + active: t.active, + })); + return { id: cmd.id, ok: true, data }; + } + case 'new': { + const tab = await chrome.tabs.create({ url: cmd.url, active: true }); + return { id: cmd.id, ok: true, data: { tabId: tab.id, url: tab.url } }; + } + case 'close': { + if (cmd.index !== undefined) { + // Close by index + const tabs = await chrome.tabs.query({}); + const target = tabs[cmd.index]; + if (!target?.id) return { id: cmd.id, ok: false, error: `Tab index ${cmd.index} not found` }; + await chrome.tabs.remove(target.id); + cdp.detach(target.id); + return { id: cmd.id, ok: true, data: { closed: target.id } }; + } + // Close by tabId or active tab + const tabId = await resolveTabId(cmd.tabId); + await chrome.tabs.remove(tabId); + cdp.detach(tabId); + return { id: cmd.id, ok: true, data: { closed: tabId } }; + } + case 'select': { + if (cmd.index === undefined && cmd.tabId === undefined) + return { id: cmd.id, ok: false, error: 'Missing index or tabId' }; + if (cmd.tabId !== undefined) { + await chrome.tabs.update(cmd.tabId, { active: true }); + return { id: cmd.id, ok: true, data: { selected: cmd.tabId } }; + } + const tabs = await chrome.tabs.query({}); + const target = tabs[cmd.index!]; + if (!target?.id) return { id: cmd.id, ok: false, error: `Tab index ${cmd.index} not found` }; + await chrome.tabs.update(target.id, { active: true }); + return { id: cmd.id, ok: true, data: { selected: target.id } }; + } + default: + return { id: cmd.id, ok: false, error: `Unknown tabs op: ${cmd.op}` }; + } +} + +async function handleCookies(cmd: Command): Promise { + const details: chrome.cookies.GetAllDetails = {}; + if (cmd.domain) details.domain = cmd.domain; + if (cmd.url) details.url = cmd.url; + const cookies = await chrome.cookies.getAll(details); + const data = cookies.map((c) => ({ + name: c.name, + value: c.value, + domain: c.domain, + path: c.path, + secure: c.secure, + httpOnly: c.httpOnly, + expirationDate: c.expirationDate, + })); + return { id: cmd.id, ok: true, data }; +} diff --git a/extension/src/cdp.ts b/extension/src/cdp.ts new file mode 100644 index 0000000..8d4409a --- /dev/null +++ b/extension/src/cdp.ts @@ -0,0 +1,68 @@ +/** + * CDP execution via chrome.debugger API. + * + * chrome.debugger only needs the "debugger" permission — no host_permissions. + * It can attach to any http/https tab. Avoid chrome:// and chrome-extension:// + * tabs (resolveTabId in background.ts filters them). + */ + +const attached = new Set(); + +async function ensureAttached(tabId: number): Promise { + if (attached.has(tabId)) return; + + try { + await chrome.debugger.attach({ tabId }, '1.3'); + } catch (e: unknown) { + const msg = e instanceof Error ? e.message : String(e); + if (!msg.includes('Another debugger is already attached')) { + throw new Error(`attach failed: ${msg}`); + } + } + attached.add(tabId); + + try { + await chrome.debugger.sendCommand({ tabId }, 'Runtime.enable'); + } catch { + // Some pages may not need explicit enable + } +} + +export async function evaluate(tabId: number, expression: string): Promise { + await ensureAttached(tabId); + + const result = await chrome.debugger.sendCommand({ tabId }, 'Runtime.evaluate', { + expression, + returnByValue: true, + awaitPromise: true, + }) as { + result?: { type: string; value?: unknown; description?: string; subtype?: string }; + exceptionDetails?: { exception?: { description?: string }; text?: string }; + }; + + if (result.exceptionDetails) { + const errMsg = result.exceptionDetails.exception?.description + || result.exceptionDetails.text + || 'Eval error'; + throw new Error(errMsg); + } + + return result.result?.value; +} + +export const evaluateAsync = evaluate; + +export function detach(tabId: number): void { + if (!attached.has(tabId)) return; + attached.delete(tabId); + try { chrome.debugger.detach({ tabId }); } catch { /* ignore */ } +} + +export function registerListeners(): void { + chrome.tabs.onRemoved.addListener((tabId) => { + attached.delete(tabId); + }); + chrome.debugger.onDetach.addListener((source) => { + if (source.tabId) attached.delete(source.tabId); + }); +} diff --git a/extension/src/protocol.ts b/extension/src/protocol.ts new file mode 100644 index 0000000..83f7391 --- /dev/null +++ b/extension/src/protocol.ts @@ -0,0 +1,48 @@ +/** + * opencli browser protocol — shared types between daemon, extension, and CLI. + * + * Only 4 actions. Everything else is just JS code sent via 'exec'. + */ + +export type Action = 'exec' | 'navigate' | 'tabs' | 'cookies'; + +export interface Command { + /** Unique request ID */ + id: string; + /** Action type */ + action: Action; + /** Target tab ID (omit for active tab) */ + tabId?: number; + /** JS code to evaluate in page context (exec action) */ + code?: string; + /** URL to navigate to (navigate action) */ + url?: string; + /** Sub-operation for tabs: list, new, close, select */ + op?: 'list' | 'new' | 'close' | 'select'; + /** Tab index for tabs select/close */ + index?: number; + /** Cookie domain filter */ + domain?: string; +} + +export interface Result { + /** Matching request ID */ + id: string; + /** Whether the command succeeded */ + ok: boolean; + /** Result data on success */ + data?: unknown; + /** Error message on failure */ + error?: string; +} + +/** Default daemon port */ +export const DAEMON_PORT = 19825; +export const DAEMON_HOST = 'localhost'; +export const DAEMON_WS_URL = `ws://${DAEMON_HOST}:${DAEMON_PORT}/ext`; +export const DAEMON_HTTP_URL = `http://${DAEMON_HOST}:${DAEMON_PORT}`; + +/** Reconnect delay for extension WebSocket (ms) */ +export const WS_RECONNECT_DELAY = 3000; +/** Idle timeout before daemon auto-exits (ms) */ +export const DAEMON_IDLE_TIMEOUT = 5 * 60 * 1000; diff --git a/extension/store-assets/screenshot-1280x800.png b/extension/store-assets/screenshot-1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbc49fe81663b0e9b234a35d7644516c14470d3 GIT binary patch literal 578421 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

    ^*ni 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

    Q9ZMsmWlwy@rfBQAx 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


    i*w{%gvrDtL#!)t{`Oq1 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%0DC8Oq?QSXOqy=ZhQ^$*H!0F@OlNgmEX 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%0AxZtm6W zmK5&*qdy9Ai6g#Xi)T|$etS4mMk?)Z`w+r{^&Xg|Um8-Ly4}CtvDdy=NNMb`-i*y^}8;Z=T zH?w<3JURMFslGiirqq4QqG-}%l6~=ib0XNejyP}?^uOP5@P6PvNi&7dn4Olg;Ef9- zxeUmNE8V(Y@0RHcbG|r6lRO0mOVRS&rHJO_PC%u7?jB|Bg7S3F?ufAPvkN;n2#RYG zJ>5gGD0X^~>{t(o3y%Ge&#V-wl?eMs0*GDL^ErqECJ`!&b|I%jFF2fhIo3z2<9mx4 z$umd7{rLntcFd9&Vzm5EUwtiznKBden#AQ~A0rpd@ndS9*-M4IEIb(Zmgfwz@P50q zVDNF=k>WTis?TTz&Kb@Rhj*AxV_kM5is-lRjbOJ4;qIY1J}cVMm#Y2QGn8aj=E%-W z%}8iAowhv2gAgJVEJzRc{F*bs0T&4&;c(aoYuOnnBmx_d;#h7gZ)>aS^g5ZzLDYxs zr5Vy`{g!Ot2dC*+<7k)ndhQGb0pF z-)uGX2Xm|21zWTA$fQK@g^^_~!S!(_Sb<0;uLW*TPn}`=B5*dZLENp&Tk6PN=DCAAg`yRAIEOgsROroUQ_x9r2%>RP< zMr^L58zV|P@ax!42F8U1Nv7Jl!!8Vd{_jhme@vj?6IvH1J zNK75TCDzdc-k=LL;j8-82|zDz2*$)_QhvUjCtme3DXL0N{(^wdSMRPTDWdggW?@Z` zvaq0RpL;L`BP34BX@a;L3Q8I0-e)D36HHuu_xyboBHk#Np0Oc3Mm;tuK1(r1@6T5j zx)=>6u%^Mob=+xyWjPSp1euKhGI5LpwP0^xcOMsJ0fWPb9s$WCD`}`1g3O1ami5X| zT4r%%Yn(|66`LZ=o4!x)*1a_9B4wY9c)Cn z?*m>E*2iF#ek0v{&0iy+PaU7PmE0V9FUr`{Ush~ckAD_l%#nc<5!P@Z1ic{;LpCcf zFDj<^`0*@2{BUk>kS2M0mYx7UDK?`ZM^8OH6TOxqZ*gU%_aFuLQfl}CT)@W0s!S_0 zDGAhOhMvYy!d^k4o)LdMRF&Inh~xF0(EKVp5_+mpgQLMCrT;iIl&_yu!+?2 zO)ivG?;f0YO8Ar~{c6pyu)eVu87&g!w?hTZRiR&2NNs(PtE!#>z^!W{4=kB?W?gk;3c*6~BfAr}nse}6I z%4*7}GwH}QjjOp`Ei=V3tdj| zY<}Q`5Q_!G|;0iKU{CN3gLlB%mDiuBSshuKw;b^`}MbZ!a_p23kOF(jfSM_b{{6; zTinHk74Rtt6bvta{sY>N>bUtfF}Yjs`DD3T0Wuh?wd#IhHQP{|KA5q}+R<1gv|6ii zs->VC8)~mctYG>(*8Rm8+Dl4Ut=xa%=LlDt(22kdzPrwT>ccG z%r!PKJvuouLNqmCC;(tfDkxs9kgrH>?CYVF;Ik#)i}!o3IQIq2j~YGsriFj=P~LmX zbg?4ziH18Z%@wosIU-}sc6xd`HnhUYJ~e+Iks&0zjL!@ktDGc@ ztD+z;LAKm$ku=vx4=hb5gobG=QbCH47YkNtqlhP>R(XNF@*f%aCss> zH@m#0dmgHeg|af9qrV{#@QgRi#Oc4K=(GmTcZQ?TnQO4lrMz7S3!OV)TA#ne4lMmN z!03K~J=*Nr?Hxaw8Vr2eon8=3T7@t`i%9Q7Buux&?GOH>s|=e!7ROx^VcrODg--^L zI!A4QRD*}7*3h$eXMy)ZH9Tst*Ae#JYwisbWq#~rQ^^cm{=WhYc-R2J2XN2vy+GRJ zmtpP;+l=$HN@=$im?Irdk{h&-(KG{Ki%c?yC$o+kg}dOr*NpB#6E` zDFovDmoXVLNu%={6Z^Ro{Z-$XwxT91<4ru9rdla!R?i6Z3q*8#%ErZbf{<|jAQG)NF8ysKGm|V{O7|~ zG8CrAqw-9JXigq%c^A%?ReB`7zl_2%<)wtA$q8f2F-$&(>nZ>5T;GNg>GuTH{@Ny= zc?$ojBOh=Yq8}^;a0_rjdO}YhrAJe0d`6IbxX<>;BwAU=9MTHpp8_pU3vs4WlQH2# z2;#GK!E~ewGT7NSC*WAdA;zB++;FOq&@N;~rpO z*uBHMo5T71wza*Pj!3qHYhz`T4NB-qQlVDk50ej3mk;6Do#;xmCP&od*Y=U&siEs{ zF+sF76@Sf7&&&{AW#2=y1iKU=WEt({)d5@cjJ0KH4isaOAHy$l-|YK0gHzTzOz8h{?ah6=2U-18D#PGlK-RXu4X(+It(fB$p@r$wSpW|2&NTTm&W!}~_tN%+K5>3L zII~IkmzU>x z+**pdzC|t-%*e4f(dsuD87NYSq=^YYuXN`3Yn6vOStIA@&73MF0{FKPRf~q_#@brD zF>nnWTqzBJqn;zhcn?pezfMX!l{zP{$;nLaa$k(MFg`OMPz?4c0OH6loNm%leOy&p zNy13}u6SHLEHxJUdwp!_sr$Ej87Oe9si2eea=JIijynTKdvOygHKQZJlqv5Cfm3e5 zwam1PxY0c`OEwHsw4`=n-W=$|;5H3NBOhm03-H)7mL*beIK?S@NZ+|d`|5TM=wYUI2c z8mj@|yku0aEv&YcQFT3Lj&EL2()#-RASF6akp@MnrXM<0G>wsi zNL-SKL0xIo`6cHYRq3;hc-mB#?v?t~0fTE9EL)9%sIqrK3~YQBDln`hUnIZB0%P!V z^sRu_G8^)nfMn5kKM7wASoo)H=%YDm9v2}$dBsQ5C?VGTfqN9$t-+xb8{f>>zTrG3 zYo;lW9TA!PpaLjimKWjR+@3d})c3#w@y@IiJw-iN5+dC_k_*cFu@l9J126`6JJvF0 zR_>LIrTEPpm14eEL9&N1Bfq5=@okwBDYz!3v7ZsAV`2FD-t+Y)3ENGHg@WB`d4Vj{ zl&R_Or>`EDUWwcU$9eN1h~P}4Vek_9Grqgmx@Y!|#kiTMb=_-(V8y*F4ioPqykJI* zjO`F3i+w##s=bUMpGDx4D2tT7+~IyVV{168dEtW*H@g&_>iL~*#zQJ{Ad36KPson# zA&PyRi)>tDUk`pLol^tkn!l+rqij?N7+F^5m9_>q{0t3EH8~l(qu?3L-tLu9&IWi+ z+L;rYHgZa_g&+RDStgV0AqHoMEh9P-lc1t*Esa9j+fE&im^3AXjP76PHJNk1#O}*N zzcJ_3`6bL!i+oGZvrcRXsoKe2u%^7rRTVGl|ms)3+i9UNJ)>GiYt3Dl= zBLA}8TG!##ZxBJF6~G~jSXs#VW$Qh>2#4tBF!^x(e&_Uhv`;x(?7*crxK}^&apV^l zjbX<**yOHD=YqdaIw{D{^|CE3q6Sw7>;>PW zAMMJe$C!pJUf%KV$a^_rq)e;l$MTzSSw3z4ZWLji7$$;@1*B7QtrvqDME3+TtZsOE zVZTEzteh`(gByHs;v}vD7;Drk*t?#m%iFhzV>I$a+!g<1K5=9Zqvj1PqO3iVQC%*- z?+rYw+v5NciJo`fhB$W0FdVCnmoc2Xj^ZxWtphH&2+jkRRih^bmSH@=_%rG32lg=5 zJ$@=oj^MYX2@uxgPuE(~3ET`MfLrE;ELt^bOOv$I}PfR)=n`GqF5lH#ZVhChy{|{63KgEw2QQj+ADvNaPOjhIx zs-78fjT98Q8aJ&VTvu$wDSB+`y9shi5KKF;fK~^q^*L{J-(>z9MPcq0FWvl&uAIv3 zG(!0&!qH8s({Jm(qnG@hi>Wtae-s<9mA7av>+U{U?c2RU6d|h4S1gUurDxHGF&1Oi zp%hj|ry%VABkCNZBWt&=9ox3qv2AtIaniAE+v(W0I%daK#kM=PZRe}!oaa4Xe%45h zv3Koz-&kwTYf9tUVnMmGH&l$yub>$q!=3$a1Ke{AV{t@P!We$7In;SVByy8Jn;IZOHFi7{yz0%t5T* zfaKXsT#A>`m&M1h0^3kG_#Sm6xl6nLKTr1Di=a#KW{g;OY^D3=l&!g_95$k*6Wa`~ z(W=;X^a)}#)S=#TK{#0Mw4~%+g<%kFyIgW%?0@Z!|0;fQut6_)-#Q-rT7)bc0eRWa zVjrJouf_Tk;&#O3_v81}cW-Abd7m@1ZVgsWyfq#tU4Zkt6U;3TaU0e!qZdi}Q2s4p z_4jAln);h1`}NgyT6D2DqY-(`K37+JaZ6mdtH$hv@VXMR-8v<2%w1ih z5%&!{Sb?;XJv`^s724-lt$ABqMzzh*{Dk{HXrr+9I z)!5Aau=Sai&$8}sO56hz@FyH`nP1P0J_GYFY@jao-)kv*>|xHa6-v78dl#^+v_cfR z+SUH?5<1+F{SM+2E8N&iUckRN#5{D^!qGFcvmcE5R?dOVHS!@KzsWg5#ypO4t<^HC z?T`3^*fvC$`ZN=bebNa$2t-(#Sl|BTEgg{6>k+3d)%>a(LK#w~y9B+rtbX)(z^&9# zIUr{0jkT&#DGn!>QqcUFJb}VMOv9v5W4F+o|pmavLFZrs@2oknqp{)j9x}mJ1v@wAH9ufMTXsgSujv66Ya3k~>usF{&l|Z%!LfA_ zz5AuY)+KvqY-_L%%Ay9MHXo=%QvJm9uEQ;FvnvnBWB8xyoY2`*bbh{}TDLBzn3d<2 zls!K2zobP}adD21k~n9mwGg?p1S_&Adn056iA)INSH=uR%rrE>%m+B&Kw|+BKcpq) zBq9#p1Z~qAo0Qmy$faJ~2G$COQ8?&2OFKG$0T5mXyri|aP0lq6e{|k`_{3zT*$VCT zkq7eY)h#pK?D=)>CJN@aV{?jjUPxVc*5Y;Vv<+?&v76~kA~Ks=o;PC7eSIc(df-Wp zj>jvLR(9Jbd@|2Ai80p~4%yG68(ixMN=sIs@Qg6sx~d^PJ(0T@Ftc)}o8*d1Rexbt zw91jg6=J;fc@8cTF$QQkp0U|M(`aRG4POy`%fy9aiBYnf(^{vOj1%gN+Ls_gmFRTNoMnKnQN0@BXRrI8gBR*@&@Ptq)u#^LFS#87(sDHuen)h0aP#Wc)0i z99XmA_cd1FZp*|A0rB?K4*Q>D3-~gVZzmW{v&iTiiP_QA-Qyk;9<+Tk{A$ zd?*g?$98nGNO!rA4@Mn@Pmi&K9&JI4rxjXu@F$@{eOCQw}Eli>pitYWSX*@(HwE0|j#zwx~EF((? zmUcY8niFhP8{_rM#6{hVf0UrYQUZvmP6Zi`%aGdv<}V6VbanI=e#Fq-T7XsM{pZ%x zC16JQrtzQ5aCA1zpx8g>_`(^ZU9i`YI!UKnQ{8Ad3^-u@=IEYH7@7j`osi$mU!2;^Kd92UzQ^zHl!~ zGDwxKP0aZVZ|9?KYEoDR>~(zdGjXf4;Fj9*hxw zzc>=zW9iVUqU=F$jI$It4D0M_(nUWu4EmpV<{!TYu#PKfz)cxDje*J3i=z#XZv^~s z!UcjJH1~wV{=CZNHg zhwE;|w|gHHSKfD;ufY-pr6#nno1jFIY0w!CG8P5X-cyPq4=8cr1ZA<~_eGDRf^e20 zlXZ{EM57cSO$G5*)cF6ysss%*?bS+w!i}hsrENIZ&etPw&rBF$$5||l! zPPm$oU6g5KxTCLGCgh6ebX?`#3xqsZZqmHmS{Xn5rr`7^bdb#4UR?OmQ=X2QN~To_ zssVC7YFyXTd=zsrvxZ@kgh4y;^XRGR{D1nPff>JgYGdJvS$J3HFqx@AemsG2b%=TA zwFOg5L5I>g|0>WCcMCGpfbJ_Zx5tJ8Re732(FwCfV7&H1D`(5z_l|`^pFlUsCGsqx zYJZ>J7I&odF;Lu>`k}@%+f{gTAXOR}DP(~JLoA!@gN_a^-N|3DJJPB}KZY(u<4|57MQ7_d9y zM_>_e2XVJB+YBZRD-C)FyVvQh-->^Q_?~qRtx6np9M(&0p6SXVC7!O{`P)JgiJOmy zW%eEl3I@ggekaZ&ito^TqwLa^!iYY6pFOGC260m3Wp^~`Q zDr&ayW;Jk!wvk-);_)Thc8#jAZ2Ji}a9U1!n}zBqZK)^N_lq(z;(U-G-aTnx;R`(p z?F5h&M;ftCPm$sHql#-EFP!NJ_a^|VHbQ##Wqa(6t$SZ9E2tpl1c9dHCI(5ddaes3tJ;J1SR3FclR!yD;%GW$-tV z@k<|lxwA(OZQH&e-;b^$xR76~GmdW@>Mi7xFsE18zKKc2d#f9ZgM^beRW&u#omEw2 zJUlb=^FfUc-0aNED>EzKE%g0~eec)TbmI-JR_UGnf z6s%}c`0R+ZC5%Z7LEIMR7DRzA;oW`VdYL_Q6Oy^rb(#0`bsN^xvm_nSd=!!W=!w`V zq=bxbtWDzi$tV&$%j?k!dUo>4%EBD5P(?*0;y{lx?Y_t3y`^6+-?F%7DwBRHfh>?Y zA*&^-#E*7D9+gc%L4m4ye}(liKR-W;51sa!#1y-G4fr-QHq5L zBkVLZ`|;7u57VTZym>iPc)zzhnHMWxj&xfvW225^hyW4sW1p;#*_!pO8Z(9srt>N1}Wl$tu5P(@?qo-0PM{ zWKe-j6l=aRoZOiiqkj|0X^=1h*=Sd#KfODfAo>q+>exdxZ?J3XdY??15VdT_sOlho zebmp|;=daP|+MOZb+f4y|+e_@{a$fl0gm(7(oiWT z_L2JXuS3tJ%~)U08tuwr8ixZEhXeA5lllZ^74<3m!MnQVGLWEVDNx-)`5@tvK>}IW zIcRcz7I({dAOsTF*k9S$*}d!_`-5zBomC?r0sr>*MUO}@|JcfXz36`}&aEb9Bp~g1 zeG$KlXmKNoLc;TUTpMU>uLXibdwF{&CW_a)9H67Cs3?Qxcl{xx0Je#?wePn*S0b?B zimUayzR}TH-|P-5b{{nhgaxmzYT-N(+5^BJLk#wXIrvujKHo~eHvax)F`w!@KR?H> z1~4+ny-+(9(VtjaDoctr=XZ~IZU;gu+I)7tD2A-IYtisw7ua>ZECEfca+q+%!lQcL zw%7#cP0Ma*T0ehgP^&ZYKYqSlU7en0a@iB%0e$U@<>mRYNW~$RB+ifLnliqx_qgl| zKj6XTb#(>a??SNkAS(GTTLs9;lSmlF^GU5#7-eK=OoO+&pLgBfxold|#@uiBrI~4I zXacZUs{%g1fRsP!<1nFjLqAbIN9#+=0-vi*;EeckGfYf<{EsKgF&LE+p(M0#Ko%DE zvrC{PRZL_xgN%HEWfs?K#%-KN?8lEgpevgg<; zRUT~DQLa#7EiUd!nUcCXklXp(koSc^Ao!Fqy+h2-+aD&9LJ#xN;{V2_rK@I!<;dE= zMho>bD7&$dy##@Mfn#KQa17J4&2!nd$hIgDDt}g;oh3Gwjoim)f9Zp@La&nriY&VE zUMjKN6!$Slb6J+WhYg;v5~#iUcR4i@575i0huQ5w`k`$MF)i8g8^*$XVT*V1;;hJs z7Bgji7VoD*XK?0-E@KQbH49*<>jj+~m5_-DU$!ls4(OojCv1iS=mH5#?DPgBJhMAp z3PK<3A`XHU{kI3>xJJO}?eAh@zQ%iP!X&tTJ&T*0B60YMZjUw>OAOjtTH52|V{lP$ zHS4vcLQFyoL(>|7-|zhVy5?r20{BXZ?BwKy>gvlvsknGT(_tYlE@++=&V*V65zN(JR?g1z zmmA)+KO7xN4VIRc3U`2HU*=Q0wMPP(f`DFokc%D)Iy!XH^75VeQtJ_m@l=MH@251B zlrD!8xciE5rxuG9KNrTY{J*@z8O4*=+f?{~|FV~xm1KZlN`AAtn=`6PWs2*wvNN8L}irhKPuWfg&&p3GZoU1_gn`gWv-ZM7#f8v!TJ6 zb~#@RI`C$t&baoky1p->9FR7{l?>1RyGAZXZp8DVN!_qh=<9$9rC6f-v;xs!Wqu7v z!u8tT4s@0~l8KB|5hV?!E<4Wc_9MbIqrAU=y!5lh<~2DwoBr&!Wu%>4qO*9M<@en*J zD7EYWkynO*zit}{24d81&erUJ$5JgEsn)IOwcYlZNx!_@Y;FcFfNTRk2PtVROCrV& zNeb%j%Tqag(oI0v$uV?vBh%b4#9relh4qQD)g-!Nh`2ttUG3Cn}{GF+@0A*6DD zIi*A~5Q8#ENf|f*vMx&%3R3V6-`LpLx098bm9Y@xdS6jl^DC2xzcw$U@$K=7j)@Mi z8~JkxO*=@=X{-A~QFAP6I$x|N2vfQ?YH1-mlpqnsnl06t?Trhy&{SF)mfjlZ4#shE zzx0W*s;J6_&Rq!xC76N=0n(yDK950&Wq+_Gb#-|Eb~{`86Xq@EKI%T5yMdwGP{7K%#<$8g&n8^a6837l*8L$dcern6Y&1DF zF-HXr&p=NvY94Ix?0YkaO>#j2-9I&DhXO(drDlP=Ah^DnTo6=YZ)aD0dD*&W3k0ek z94rVg7sd%fRs3TguPVUg7W$Y_nMgt|9^3aE8`pWNMyh)hy4k-b3Je}&6nX$Kxpj4S%S{d3s*rySOR3))VfVDKIR5+cQQl~Q>T)TqeF zYQX1EoAc2>_Nh!L?H~@r_u$Wiqr4E%Tmf$=nL8lG2yCg&=f!m5JcQoW-Q9Mx6BjNy zJ3Bco?dy*>AY=z=Y++{QdgHAdp892V%Lh?rbYCxgCUeo6WT-=b4Kc*;cqdHpciHdn z+=fm8(pkX%dWc+?@8lXh9K0H%KJC(AfI}_Nc+tYqOvL9@)!lvhe3LYg$7hbzY>09A zHw>B#T_X_h7qpv0{zA2)p$Mv}jg{aq!V$FJqp-C$9hJD+b!tkgNQ$+5juDirzP*s7 zh|ThKLDjhp%{mvr(Oz2m#`nn=JDkY-dgX%>_EC>WeEq826v;ld}CefDy0ns<; z8H$`V2a%ZL5n`T+Nn+}HZAcBaK+4PKk5qceu&vKWRGT907C|}k)z%wchoRNz?5+1h z|8$*6ZpeXpCc32FUxiY@*FSf1bSkhuH6<!c{;IM`;ab-<{R3U@F-2^9;3L~%p zTM|;UWN=Rms(>WoZniMoOyA18T^MDT>bn(luGwjad4_p$c<5pw3Y7866Je*lAX!aey_Mp3v+J0%Knac(C0 z#Aq_yYa|jTN#FhkjUXPBK9@l_4;Mwm*-;jEkY&*rZ>`sn6!j5t5Sb}c{WapHV`2&$ zM1^=*tv?vu-QD%PJA|R-zz!9sK}==Gu(GnE#MFuMcZishr+52chO6?KN#w9zGH~?W zd14yTlL5x8Nz+P?N)zf5BCmgeWM2mnf0DRZ1Ch`g*d4qk)wgFgfT>WeyQ80?iJ;(- zzy2l(el#Doh}i4-D21y4r8-0XrsHb#di6z4pFW4A{!e)T__&W_DIqBLK1P}Db<*l# zAa%v)?qOL^UojqVe>>ifBhXKJeSUd-d3+)+y#(8T&%4I=bg{O)wEDOUzm`9V0na;t za2kD&5FL4}8Nk4i_EDfQ6}f_SXa~5{aUcn=ZM&<-g(jZRGkr#(K6zwaaBSN|H!N8{YDsDMlc zi;R6BB6l$VjXpKe197T^-LmOqEpNwYj0^M?^WgLu0&OI1Z7<)k-Ze=GaVKQQ-)F*v z#0x`|Ma2!58&Ry_5VwHz_>|PtNK?-gdSN?-+$vDZ5?(QJVB=ls zs%cqIjQ^Z4=z1?sXlZ_a+{+S&1H=eGY3bh5h!rZ@Z0DPz6H6o%JDRqN95%mHt(}yO z=5sqbNfUItaMc#-Y~p_Rhl{OAkdF?ZIFzmIOwN82VkG7v<~V4TUlAyJrQmT8roX5? zUe7*nvR?j$j2PMst-~MShgapIo+pD$hU6xwB>Ia}Gt&hRKw1jgOt(*k+=*XqH*~kvPdf=J(fSz^}s% zuQRG=v?z9#r;j(_D!Ka%?SBnjRU6Wef<8~+ER(^8a8p*1m{O3%xdDYL;BhUipl}q5 zh`)`ttmnx1HJ54d?O=znddCPB?Ub1-|7^<8L*hCMG50 z81R@G8w)JJq{4uYPLB5zX=;$rndx&_3+8LYrvh;~%C8Ia3T)8Ni#avBpPx^FIN5M^ z^dN=oir)2MnVm+5SL+VFAh3^`nop+v^}7h6pf&qeFEK~U8*IR}L^w*Qg4xNY`<4(# z(Sm*FqnrlDC}Dx?OZ|9$H`kU2n`$;Tv?&D2d4}wSneBDMv|x}(f^D(Kw87w@AOfx= zODM9(DDxRUV~g7bo*AnccS?W=EmOxis|Eg$G;`a#6V;hn?OeK%-$SK-=(+FvULFlS zy+IUHbeGU`FLD`tnV^%#V>H7@f)r8j3R3j7Sk*8BbS)Sb4-oAgfVRAp+e`H0M<5_S z5rfVUM5fZN$MC_P!EA=j{M5>N_DH|`%lF=Jk`on2ZhJ}?oIgI@;4Ov8AM!Bn1!JT8 ziRnw!QJ#Pg>GSSrn);`92ZCoOP?XjRuzXPZ5_QI7+>M0&w*ybGM#Lfet*N-GHm+Rvk_zn9P=kaV`$_<(d6Zj!>C6hy2Alq(D zw}2`pfKQ8OHrxMJIYT53xFIfMt@`$V8)9!%=EmNaA$)6myNmjXD&((oi4`lspD?Yy zvk43;e_HL1w5xhi&8hG5QxUe9t&VlyT}55_+oiv?51Is9#*R);T!n1+zSeryH=(>E zan3C-k4IaOVPRm1pt5|4k|vsJnu4GcUy6kxv2~=lw#~2+5E2@t7M04OV8g~#WFxbK zOp{_F@UYR%+Xzd<=`5M`r5YxBdWtF?PN(^%|LwsA6BA#$yd}m<%$Dm$i4wu|U0qwt z^)O;v`hFiMlai*sZ-g~Dl}|G4=a)_W*?v|XwjlyLf-wdMprZ*mVFqMU*3;rJA2k8Zyh*jU%IHq?_PY6P?Fs=A$7T_!miHt-N z#u8Pz<-(!GSf)3E;EW{$ZpQoe?MX^Ln;%xw^p)2n<)CQ+ZU7(gXet9f3}7>=T*1dB zMC|){qz>R+UZ4<%w?6F!&%n(XXY7z=xLa{8*K8&*t_2yzNUDH_yBr;*J?=Cf9zPC1 zspWMn2(`e8x5Ni(7RfGtLBiAEAta;X&K3aj5bG==9h{&bHLPR_5SI6W5MoLEc%U*J zdIU+A2FZEvZ$wn*NLg3Y20c-15k)Bi1q)FRmI11ynvcA3TR}d3Y=un7%MkqQnfLflD9D4TM*Rrkk3XiPWc0!F>co^d_Y9 ztu78S_CnW!G>AD+BqAvURrh4%6WI8QuP(65Z(&kN=Kr>3ZUh1Z8gMY9xQYWjMb~#Y zTUl26Ovc8>UL5yFl!&xRQ+ktOq(l(KNhZ=McQ!CWC$pK!8zwRNK1B7IBdhfq+8c{p zL|ifN5ypvbxNJ0#W6Z7W#C-eT$7Bw}m^3tEbkj7uC0k-k4oesm1V;^d_Opnlw&QUq zj9rR7%%`)>U@v0R+ze7ej79tJ5ws%_Fd@)q0u=L65fzm8G!MLcBtMu0sJLBVlh_WIy={bXlDo_$mB5*{@C@}QpOrjZQ}@GUOZ|k~PT!zx z@TF;nixHV?Btx>qY>i=1YpX z8D7VezQ_{-Br=lie$y}UY z7=JYkP`Je$iXT6^A$1T@U_}v8JN zsD=rY>NRR^$D>^XaB&Q`jY2JLV6PD>Q7U8qt#1L_=8b#>UTwNb30iZSv!8IFr#J#7 zEZEj9W~af z{ZuG9W2DT3R-BpNlrtbctyF)IMQgc$RUQ5#kh)&X`-e2ZJLdi9b)#N594ZhzqqMRS ziAk4C9iL+b+28xx?)894VM0nLz6&fsVAJs!s-$ye2u_xW?;w;(2rpCj``0_y*PYZ= zb0=e+o?e{pxny?x@z;qF@i;;3ibs&N*AVkVh>T541%R}$kH0D-cw0bPBNdlSm)`tzz82JM-~Nhc1DNnJOJvA2 z4)(chvrX6ddMg#m7yl}i!&67^d;o;4096|30KS6z=VAA2+6|I0wwU-F#YMFrDR`<8nu_sZmKee$e$?^=K`4DM zxcC7=K{#%zHp>L1;u9Zl$cd*+U$^toSXG z%rGggL(lAm`!P6^OF~#4S(#zPpcZ5Bxs2!!=*i2j^uH$c8ID-#YqY}0~K1d##nwe%`Tgn~Xe1iyRZtvQ>Z6l4$2 z`!HpZOw9Iyn;~Lji@h|Vuj2EOjd{o)!xQo`wU1d^dj20NGX~8jXJ;3-R+jRI$=eeM zPNkxwkb|w2cz&!l6}j=aJ};Xf6##{0@o!Q7?D#LaFGjDs&pDm4jO*t1IG}>WzY8NT zFkmy1L-WOGQzQ1Hoh)!aAORE`M?o(xAXqhm#*1$*$DHUUQ;)ZjXIC{hsQHIK*>CX2 z^_h~c;9iQOFNpGYR#06+giY#w z%gZXeTMqCX8>U&+2e43OEY9u@nmdL3RP9O)K$%p(T2)e0=EeH-6OaRU!AOYcyc}GR zwcYVB08_E|n2N~6i>_p{-$H^81)ovlV4vG!azsOKU}d}Nyp!j>wAmAvOdq|LM?yH0 z#j{LwZVdG!mg&{nf(BwBsRT_#<$!5ALPnP?%{nlPchf@1<$L1m=+yf(S{`5&VGkLy z9*3Ytne1+WgK_m*QP=U*KPzDgvKcGcxO(bJN_v_+UjkRYOn9HCz*7KxZ$Z9x)n>4( z0rBPeFnpR z!dx9KhCT9mQhZCAp4ZL&2^$7Fdp9t_1npucj5zwI`z z%dq`i_P+yozj-O-@q{!7OkkN(7E26_j!xw3yg;hTyGfa2QyGimetH~cn6Kzu*xGyJ zj~rp|8$$_cs}C0iy@qO?daX4d;XFUDE`O>^3=-IEBx8_%C%3+&nI=@Ye8o7+$zywB zT`j14SNT9MqMuDmjoL+Jmz-7>3_m27%0Bs6$rrolqth}!Gyb>of))4!57fVO;3a{*CTKCWyi&*%z%$f;?O^8jk@1ccw~iFx{Z z)F9erFK(L#-q#txFIc3ttPJAyCJNdgw2-^?i)5%B7_mo?S2!Ho6TW%#=&oFrL~WIs zl}Rk^nNFE=a*{E_=6N`AuSFy^H5amY!LZKte=LB0|MCUpO=IyQKOP~V+aKKBSh`aziAC0E6y%FayD{b1da3^K^8T?DsvXul+(4KnOgxvXt}D6sUO# zaUP$#|M83=6{#}V5qt^eXy63 zT7zfm4A{q{OHE+vAX8b^u&8SxN34j-LAM%4aD*c7{)gWD@z%U%2O12y2v5=)y(=9R zpn^Q|P1E9tuBLN!V_uh7)~vnv5xb?|SSeScnI;r5J9N17c-r^z4&@3m3ad(|ZC8x= zodiDiFK11h?JQ|;Isj^J%VM^84@MA@)DkQYDlG_LnCt0p^*r}QG1-+$ zbopI_{Fr{a0!C#xwhBPRq|Pt?ZSvl-yUkRm905m-c?pE}i|uM}u8z$(ihz}7ue9c} zgJ`(|@{AiF5zlG{pr)E_tCl{8zr2Yro{jzAm2SJ}rZpl#Cz&cgloxS|pbvITl&%{*8T!;R@j+RZkf z|3RNnzPEm_zc@}VS#I8>u0V1RIU9>=0&Qtz8zgLWM$=rB z$yu|`ZZ;r;Av9CIrco$l7#<`bF!&8|eP1uI7h za}gCf1o3OX&^!6-zyuIB2MkgQ{S=A+K0=tNqpLd@s%*Vn9mZ?eYaCRTW!D};I{<9M z@iR|oN^HxutcSCwq@?ULGHYwF2rOba)V2_Jv}o>3 z3`s;tU*El?+>!M2wEfMtjY7qIBf_^&7JrE&s3-+m_=_#x%!JTO%wQAZ^f%DzOHkf063d*mY166fQo z_9knQ&;monK?4}UPFzK&leyyB2fAtvxf5n@R(t}e5F=>K3?SIz^W)7CNcDvZXLpJH zIX@gn+)vyMEjMWPLy}HiPlSfgJ&;XJ<@xKPWoyb{;0IHe?CRcdoM?r%7N_W385kK* zhmiTRcR##4pasCG}86cPx?@Eq^@~wavtWx|`|^MyHMo z)KeA>zzc>A`pU5fpc`AtyV*IBe19XsOzN6-`x|Lm_16rJM+_<(Pp(`k*9;+D$HqA% z)ZX{(Vn%li36B>=3>O&9Ss)=>9XhHaxkBGhFhM;$S>^G`LJk7EVu>r6KZu@06&FI> zr!XG8rcz)$9G8G{8M9w;`faz6Gl-T6a1V#{o8)N_9@~)4tTX7ARju!1N!vc3Gb$2( z#%;NJBS$v}^T1SfATnjV?r1tshG|H)kyhqasSprtAWi|{lts@^;~VDfP<94 zwtDa^hWy)2=bu+Fd;&^cJapijeqW5NC=b*qyeTK$rp3r$w9b9o?HJ;KPSYuz#kX_# z0&epu0+^K~1-k=tJ3$EAJK)S}_%jquEK(~oi#VrQiY=y%8QcLX2$TkefJvpp#VnFtm7@F(dt$T+qT43Iy~ff5?V&uT@p|PGiL6?zIES87k5{nw8Pi*@~Z0y^&}$!6<04s zDP{3ub}@nI5;zFH-tP9=yghs{`Z3`V18a1%4jQSetXV&UfboV^lbg=dng+rK6rgZZ zRiF99uY4m8Ks5|E|J}qgEmE_Y^C#9{V89x~@W}OwaUAHB@6$#Yh0Vs`nD0f?a$T7J zz0?;G6vbMDrp4kkq8Fj4#~Fx71Gaql0(FV6l% z^KVQ7fkF9Wz+J!4ckb~A7}#Bnh(hB%m3cPg%`cR*efJze=l2y@5&bf)ytY#=Hki70CywBAL`qQ9 z5hab|9hkmgojh(FC*=4390A-{F!=<4+5YXhO)K0On4q%UucHICVg_6z7zNiu&hi<_ zN#H?jnyA&dRqXzvp6B%1LVAMRTPTqiR3-Etb+k_6^Mr=Z*p2r^$uyW38Bl2$A`NQ( zQP4EV;@!x5W^I$*`jijN-ECm&n&H_#7Tu7?)rMwIZ(h`?*94$V9AJ5+t>x&6V$a7cf2e3Yc*y#OHg8@j2%rP2ass z=4kzW`OPYetE->S*E>~-T6#E1znc)WW?kYgx(L}OdtHW$4!5Nyh>b6ahY?8yZ1OB zns}dM%3a_cMskn4blHhM)ej989K;T#=v|Y}u0tTLhK-8f4SwhF@d_q>h)s4*ieTUu zX8q1kI%xsf{OUS}UG@YWeN%INkyY|~UD59WvpvR?1a~?0)D%4mb!m$tQ(BF}-JmBJ zbFSXW+i|?3RH%g4a@LZkoc%v?oa=-fu{}}IMFi9Aj z_=-Khtz_o*Bg!^&iu*G|D6jhvI$t)s#!$ggEg3;T@>zca)7pdi1&OFkGMH3G%J95df@*CVK%+Yc09~Qx}>~SHWUhZ$!(X{`~5BGr$`ua2r@9#z;I!4 z5@5hJ4ju$fd1?KM;wBe8Zqe9`&K9<5S91PW;gz3_myFHe^b8d z!m%8-7b0+9X)kgm0)Ku)uOYceGwZ-E6w!>-jtz1n*MwA>k!5H7AnPfV0!jhxSe85~ z<3RIWf(n60-p9x(P^AP#2Frtj0al4LA&*u+Wh}nqzI}qqncRfwymCx6TYOm{DV&-IqpBu#RrB~);388dQM zHsZs;GY*X9`^0Sp^tFT-oVCjiHZUtF^>^*+Q%GDW{CHC1n*3=CK|B4&8D)r2!~gS` z#A1Y59d3e?m8?fXJVCI#L<=NV!-Y}7XjJjCkvfK{sXP=?7+T{5U+pA;&BFd8y#W+M zimujL4`;i}t&b&pN1uh42J^pOxW%p!1GrgW5ohJjCJ0GHHC2N#-c zVgf>DmV9I#YnkS(>h~^#Ht9p(v)M(Igo+_(BU=BFy=2F&VVnNgcSK#y%7F`VvzG_T z#!iiH1ZX{J%G9v@J%i&6e>K0o@?BnZ^^K~$sJaTfrEE=a^TD-@SC347tnqcDOKQ`7 z@{;@sbBoJ`RSsNw_wK(}Y2l8X8M>PiVHt3!g6&`k_|mf$@5;k`Y`IC@0e+`cDF+MdeirHj0{)HJ zVAhgoKJ~e{6?J%qLVASY^$0|n)`Os1Wo zyw*k1tNJ3lHQ(QHzIL$wq|P{x5wnEn&c{gj?+xP=(QBq9<>_d<1GAXy9<-v|lHlAB zf4<}YJIGN3K_H5T-N8|D_1pT?6%=y$*#?ItESv@{HYERvk-p3$nc`W$MT#O;}C z)3i<-Th=dT@xioDKbbdh@heUbuinZc2HlKUs4mVK;3uo2UL6~(0iP&c&Y1GobvNzZ zg=Ls(oPT8^t-kSrxVoa!9w_Pma{J8TsjvDLlP+l!hLsm8E-ZX!Kfm&tpMy7;Z``Lj z4bzjLC-@c1?{(OYieHRd{5e(|!VAuHaAqlbYW{v@TxRLa=14c?n&Hi z)Y53;O?5XlG@-*AztdKWx}ndaY8S z{&iEU(_sVh2FEVTjPS!zoaf&~zyJsJ8k**i(LVkayncdv%r%O)$hneEH19F>ltki( z3r>Cn>jgT5Y^9CFLPiKLN>Y;)&rk$-R^}O9Wz^l>wBMOFfvWe(?wUz_b7+0d)9#5>Z1j~Ut_+3+?(~U0 zpH}WRooayuSv2@3p0|-_oc8Q78%ghaTEnd)uJHziVAGlWVD@WDo{))3>mWp86EnJv%E5c-S{?^ z9VwSeRmx|Zw1K>~b;h_(k5JgBNJf!Ow-pn#nH+9h{b?~1x;ou_uXlkAs0;S}@jc{R zr>VW)gDa>)IZBM9y%bl80CKS$jWQ$+Y!%iJW>yMVUQFCekyonQ4%`*y-rKTdfS6$#yQNCC7Ud}ewDeOfkmJt!OXDSLP<3ZcB7!pXw~J#_lfmJq#_&Y zOQl(T{!1plaov}RA0GOGJP;rE)YMv@_JkR!RO;zJRNxIs1l4pn>F2FTi|M^ce6(Cy z*e=BIoZh(x3J`oFx$$i>gXG{9=5amMQ_4n2_=%zaRCcRZTQd_p!Ig%Nn+OcRTu)CFPBg||9K^H9EAMItW zGK0`*wPg47yY1y&IfEg-NCJ|O+Vw~F8@p@VIH~j#L;{igi0)8Vshu>kF8g1%X#iP0 zpbj}qH#kuIo0}WU*$N5?NJpna9=|jVF(DX@yOy^v##qQ;NXp_OcAkGOpZR0r6VSlW zUvvvB&;9vRT|YKluBFg@CH*n=M^%FlDmuimsNLaH4oz$RDn&RH^W%@bFT9d8Ht7|Q zH!{}p*eV=rHoqSlakn|0$EozJ70Rt-<-U=NPEq~%MaB}eH`n5mw6I*+%g@2q5e$wt_$KF?i~%fcg!R_YBjz%ST*p#U7q~ippChc9%qHUzL9>1da?FW z&Nar$+ik6;W0g}0DU2eMp(<1s8PI>N&)u=)wfjCd>s1sOL9RMQq4#uUR}GTnUvKx# zCYD}i<96`q-(6}r%(*p$PS~Fy5H8-C+?lJx4rsBZpNSU>bv2~neaMJloHh^B?D7)* zP}|mxWn_;;Pww4!1n#=p){74e`kSz3N7T?F?lB_1a`J7MeBr-NIy&obOZ{Jo|LS}^ zuGuFo)$I-AV&9IKhXam+w)(@Afzuc5V{}!?qo)1gt4zvFm6&7s?>v(8-{X(a;dNs*(9Xd5mGyte;x^8p1LDT>JvcL7F zM1PUM@p6uMNXPzT{71I?$B?zX!Bh9^tF?*0k&Th9>qU7fK+?3+uG#6gqK1Zy z;}|L_DUBr*$Xv~Co@zUo5{^v)Xhawt$CJ+#*xhpR_F`mpLF>~yR9tg^Ye8|J2VtCY zLx}mmb3u=7NI;A=?iJR41-B~0cEK@Zwy~mkk5rGE#YVF%Q_sTqP!^gNeg;m`VyDte z<|T}|u_G7y@`ZGQge8~ggZiWBB1W!_^4`Vn!NCErURbyBy6HU-t)r)F_$Q@n>3Kw} z_FUsIQEOo6d_0ZG@%u73^7{1d>A*7t)agHjs=1rFIo6?<8{^K@&X+!TCWBu@{2uA{ z7I}i6ctkjPwcI|>D0Fo=YtQRmE&nutp_J$XJcCsx-HD%8w!OuF5zn-2Y0-0 zFET>uJ42EWWmXgv{%h1NGPAYo@!Rn=^=kBQcI&LPnyP*~FW8QLGojs~C|Ef>&LQWS zysq)TfLvTG&2<$kckjJz&Xw!(^@LjPItlsRW!(MU7C!P>{7oEPgYfK_$-zd+g9@4a z0YBbOpRH}iy51%QI#))~S)FX{!dI+QM=RiQ#wz)_#5Fa<3vcR_jO3zXK#zKzD9!HH zRPvRWC~LR~`SqvjNNH`|{PA+D6i+&JT`#0jAD!8V*NwC=$ z?AY2^->YVVC=;a&fF_^Qw(ko5(b`&hweEKn%BrX;tN9P}^`Izv>Oq3YGx1_d-}{yJ zTpait&1?tA4^5{XSH}lZ*qms$*fBCN)`!@njE!Pl1`iF*eDs-zdp~A-|0NK7-ws4U zL-59g(8jbMhq2!8rHjwV$_kzV377u{!EoPNn;lN-nxlq%WLB58~x4WqRkqi1xxTNc*dB_?^u*L zJu}^;2*)fmh9FxnC!3G<9y_Naj5gA?tfGnfU_o|)U8D2y@fJgYzi-%5#FIP)vckjq z>E$SU02K2#XFSsV21(qTYx>5)UsusajyOz*=tvIDzmhR^c--^2Bsj|7cfwvD?q!Jv zEz{7T&IRQ9+>iMRY7FaN2k*aTWA3Qm@jRWRWiUwyz%(ds10^iVq@vIm#|{vCsWpeo z0MFwk+*FphfwB|<)b1T2Yd(^NQ9Wn@AK}6rzn{$8ewLB{_a4LG7_Ih!z+RT#n`bTM z%I-~ET`X4wYI3$7Y7*=bqan%gj`e{9WA1XLpkeY}uK7NcmZO*!KYZ)!^U3%ji{CMx z8D%YGhg>4YX>t*CDUa+6p9>2gRWp|zS*cjku={w|_aSn=5A{0^uCqkDt{v47_-EzXhgdf#h+0hhk1p2AC<6 zo35`+QS)VEv^dq3)s^;@%r%wquN5_25Mm<=1m+)ZzP8aw6JIM5f)SoR_o!EpT%gr+ zjdr?e)5~n!0Kxj=dhhDyZ%lqx-?~#!jf=8*%Ib(wAi60sZI+CQju|lbw1j(me6BOT z4Qc4!lbs)wMslM6;}HXUP7U>5jok9Z?Xv=!ZLgE05^4UYX4xS?#e@Iuxmq!mWrTUa zKFiyV{57j_zXlPP8V(APpOfNL6PUVjcBp`X)nagXjA;6~RT6AE?VzIi~%*Lr@0~hB&fQlh?MGf+ayh zhxE5M)waeJv=|DNWdKhB_lxpdA;0tE<71p7#yb&v!n2eZmOd}v4^UZ)HOXB1Gcv;C z78%xw#t&c{CbE*8pdrgKe5yTd2=w=V`qXBINI>d6Sd!kYxgzCgn$F|0T1 z59sH0l^Fl`<$vdYU5Vb1X5LK9gp`@~2yKb31CxMt=m8K!PE{WP$ny!tW;(a#cIPJ1MZzPABIeTE81pjIhn;X1?4{9QMx16e+>|Vm??# z@lL96HH>d2?Ft$n3HoUD6uv}QVX79+YnVa7=9ij93*gzw!P?OgIZvKI2)Si=83z-! zA|qJMjf1&{LBGulb6Vmr(cz-bBa5+?G11*ra$qR3lgQ%aBu5^1td*&!Ds9XS>mh!_ z(xR`}GXqm?i_c*%IC_`U0i6sm^LKDZSqY!>pZn!u-s3u^sd|9sA%{g96*bRgq&*+0 zQD6-383T^fs#sv&^1SFM1Zs34T0qy&UNc8o==EDtcMxKZ+M8Zq;&cw|@;ABQ|1A~` zYGGN_?AQm#3XoxOvKrb=)UC|6cM@92#g_=9h08^_(Ti5FNIb7@jPm+s5Lrs1dEmzQ zr~fiDbPrqj9`;Vc2wiUwC_F6I_?SMfasm*^d;bjvJ^O=n=-~RT9^iM+tLL1^kzTiB z)Ns1{rt1d>>Uw@@>OM6yQ--ym4SAQ1jo
    o2FUexJR(iZ4a#BqFe%{fAm0#!mj1y|eCb=aSP?IBy&xpcDTNvUMZo)O?u#YY7^N;BX~vWZ9AcJ?1VqbXzr+BIXIsQcC2#{1Ja%@UCPT(P#Hx8OU7Gy+?ROVkwhV`9l`<35M7Ub$5iwJBrUcs_nnzKEGw< zba(>c@uKuDmz$pNpqbwiu6n-w)~WyI7~CYcM6$YUbzV~){c>z(N2|-+2|Sn-Ie+py z_GVREiH-`Ni0qE?(2zAd;+Sa3OnsPbbDphblNE^(_~dqsA&OJoVmF^5qv$A>dbNL# z?jfz1%D`V;~(st>tic{v1lt+dpR#Y=BzX`ds^Jt9+H0tzCLsT+-V!vD|bp zyL((=cdxtj{enah3A~s%NRep_p)LM{&ThNS7=oL3+=Y_j;=|9Y6&5QCi8H?^5<#z1({uJcAKGN-C)K}4=7 zD~mA7wrwGEO=3Y=n#lQ9YAR~fYy`Z^XVk$giOZV^5aJ6;)*ge9tL$LPQ_smjI$Y4H zFeKicS>w|7G9SFN<@u`TUy-dmhi>K@GmO&ifBG9m^Z+*miH4CtB-sl)a#frYk!VDX zJ2jicc_jY{%5xNd$G4aR9I^7SUO{1D>u9^*wJG4}9W(C@xYzU|8N*LQu~>Y{LXLw( z)_>x8>DSQ*l#Q;7^e&r8`ERiCb`&da4b{>TropCnyf}hy+o56n>IX?oH?KPIyBvw+l!I6r~p6)U`|7G}qP{)0<_~ z#EXW~#35Prv=BnrHK|yOv1R>JbG^G!7xQfi$YcNY4>LUJpEMk6!hFe- zoZOxJ6~DQx90DiuSjVhwwjW)$(#0k{@ToM8Ag&qMBFlo~G|TS3)@l3hJ3Tz2FsB?h zbm;LD>Jbt`stYx`2+&+{gNi_mv`xyCNu%|j%hZ2QRG^ZH4bBdmRh63Nu3$U*9qi5# zx~h6tD;9T>R`Zm_%Rgx`N@1jrPiB%rihOtb!QhM46<=X(f6|NjGr4^Z1HOV4`BQ4r zNn6S-{zwC+8#i;`RDT(bmTnFWZCL?U4AMg=379>RK6%slO)CAQS;6J!e?F2mcyRng z?}=LAr6&>TO4G?re-YtQ_3ClTKX$brl3sBDvRV|>>#6O^)-kLDw## z?M6la%H7@5j*%5bnF%i62Iz(%r$j4}jF_DKHs6J%X4$upmLBDcl3kgMpX9G%P$5X* z>Lrac`N_@nr?qgWV;D#VC{f4Xp?tcc8)B5G|7%UlhYN201_2JUQHW&3hIyW6nX-T3kYO`^2@8mr_F57MVZ~!tWK05VJ?hEb zI1f9F&`27!woV%Wh@2FPd+#rdbm^OuNq3mzDe7tci|S_jM*B3g_Nw;Bj6j6&wTR$}5 z$VwE6ue8%-d<>ODZz!s?11(Tk!jhIiB#X;KMZF zvmPNH@NG3mjRv(yZ|zqAe37ypRl2Wv4S{!FzFRW2c$k_)fGK<~OP9-HNo+YG&6MCDYgLiCG=xN9iu7k8eQ0a*&#SqA zA>qWB$~-$)jk$n&p6Z{&Rt^*GKi14Q^8FLysnoiFtEFgyBJ!4%l5LlgNy4~$KT78? z#uhwN>^y^Hr|a+gE^M1&Xl2Lo@xIU7aw$4g-R_>%{XEaY^Po62Zkjv^ga%6N2l8@S zVL%P5NMluv)nB(_@`A$UTC|$gENyOAv9^R71!#%%c&0u7lxt`PE=bY4nh)aprE|HP zmUu1Wu0ASAb?_YXClXJHqeK%Rjb9-|%U?8Gj2(b6@5#QA^wF}6Gz^~#8e$+*pJ( zI+iiPtWCJTXyn$wCdHtM(5@Hd)xZ;DbkSWVFQ8uLBa*H{+ZXG$Y1;u$9gc zm@dZa#mvf8S53hoM^r3jXzL23(Bk3&_c8J77!AuI%F9=$gV5a(3eZOZJzqv7yil zH0q-QztU}IVE|tNFTt5m-$^xRhISqdBqKuu732)jsPa-2*T*Pi?SK^WuIixow(s7N z(!aobi~Rg#Y`aqpHi1T6kW&AT<_F2wZDuqZI}L&u=E&bzQwa2lXnU z0I;7v5i+$_J|bu8rTl&GkPjs|U7&F2Q=#>j2LA6QP;yiihb5bE)BHHZy5E{hTw;sF zYvQSY#T))nfk*lMi-0}pffWM;+?WpQbs+uSJfF#(RVB<(4rM=6@=z!X-$kco*J&%6 zeGWBta01gyywegFF;h63HGPe#jAWl{sDdfd-y;1{nca0}Esd3XsD5NEBknL>rnL|M zqocfVye+$;AfDQ=Ob@$BO^VdPu*(+?D*Zd*)^a2p*EYf<{|gjiJ+rxJ ziL`BYb3;RXc1%GsNZ4ds$-+>9DvRX}S7fQJ{TtCCwzD5+Cm-m8tgJ|}lN4}!8^-&+ zTekTw)1;1xS+DFLPj%%z<+J1>YDX8pxMM%(qFA89{2tszcy+VwRv zO=$O8gfd)Kp+$--C;rse#2G$MN+3C4e!3MO zZQitOoF=4Eu%qjObXx#(Lp`ogZr9}})VPmDQbgCm;VmqH$>5RXEhDv)m`PUzw&%vAIOSt@?iBYkHLZS^KM zDoAJmmUWujA_#?|741*<58VeS(NOM|jliw0UpquJ1}7S*q0HyP7;RIjmb%WpCkl0I zYO08kJ!S`OqI2+iS78S_u#U$Orlbu5u!z7=Vcd^TdKN1lC&C$RCWflwEcKc!GK_jQ z>I(nqxxS=Lj6EjS`}y2T1w0N5i3ezhwfhnzsVZW}1Z=EPT*&8WnPNi)JTP#jJqpxc zT|A^x)St+R;Ah@CD8K&Do1!@8gHw`;#s6o(Vc~|l#jmhwpulK)mKFwR!L$ho5Biaw zU|cLnY}8dIxDcFtq9@>edK60)PEsuGo}qXVn8TGHOCQh-2}QMkpCClT_24s7!r|fW z;l-(+Q}T9TR_-sOoS=UlvXoMJ$dgl{8GeLRC5p^W!6qIUKY*K*@_yC?80j&2kDwGZ z59e`}@NY$V#!9p@e&x>4*wF`Dk(Yf_GDLqP&S7y7d01)Hj!DpR_vkN~iU1R;lq9nR zQ340eRleJI7^>p;0)5&E+M4vK>9eD7gr$n1<0H+9R%aB$(ocFxfjWB{&Dmd zc|K*VeY#RXV*iJrhH@4h)=f!`IcEnu`_KEu(4-V!@A{yFq@wT91~f&(B^GdhBF4i+ zKh`d5Df;VoY7{;98j-08QH$B!W6xJala?im-^Yrb(h!qq61y|M(=Ns)sne-jN;F|W zb@fo_YPEg_c_x+nPe#!2S~+iVWPVyx*cR{_NoE9xx_ETsm0bRtLzCHadHwbHs|h?4 zlYh$j^tjM5l}8~!!6)-%t>Wr?JY5X|4@^QKoW3iTkLK7kSSX1k^1$gn*I|bul%UwR z%h~tKKkwh>ktt|O9moZTQnv!0zeBR!=V=h=0R7kO%pU3>g|uvHO<=cW(JhPryDDwql@^8hXR!TK36Y0*vVOoNE-sT~6?Z#E=1LCn zrHm>hy+XSvxu}2m^Ly+PymZ1`TwHDH0$=3zx~iVE?!>?QsD@>ZS)SIo2{~M!&uM-l z-@u30K(^T}GMkWqeWOr1a$YN9eg^O%N1fm=NYgcTLhPg1{f4NgZ$miU{+81VE|$ux z=nr{tr7glo0XtaIG&I)<{)$`q6>u9?gq3R>M#Q!q$o`5u*mF`G=B~leHg^_XJHEV+ zxq7Q!(In-rQXwZNA8-yrv&j_fu?zD2FxA@9!s2Ifoin~@0056uv>tB8#JlR+C@rJM z%Sbr+@Sr$QvG;gvB@n-=s^m!LvmF}+tvLQP6NIY@aeF%W*tobF8=Jbif=EWbzP5+k zh*8bJB`M!XXKvC(uV2Qn$_wtbCM5O2J(}YO&IFPtjXxSL;ro{~6f_-pA=vOzrGxhk zR~bzIX+QJ(_c)Fg+$cI-kV+I=WhXRhk!P?W&v~M}TN%Hn7^|)bF_-pp=l#P=-%UEQ zhf20f9)79|&rT#o)-R|Jgd14ketsE$)v)MdGUjo%w=}jA;9jJbb8(gt_lgdA4tv?M zs;a8l$;Qc%Tw$tV*kc#qyzmj%Inc74}?Duk%S*&gmEt2iX~E%@uq6$osB0C3utet`MT64DH;@TXd~d2_l~y4r zLmXDAv#qi(9V&!R{ke9aOa0x4f<2WR?N>9f{m@#Lp&su8Nz&F%vPPZQdRDlq#%_*O zK3c8?U`>Bk5%f1&PFkphf6`6zZzHPEf<}e^AwW9Cf~mq6y@S6EeJ|Q!)Cb z(j|4E+DLjqC^Esal})o+ati<`K?MS)7FI)FhmGsijL~*8`r2x>sAINK8WPg581#+3 z2YKzc|L}Kq&hplM;d&UH25*lm0WbyT-QL>R29FgK(1Oj|RJ=pF8iQFBDGM~+C2lAx z)VfjkdwyR2`v601DunlBle8(J4D2R4ahol?|HI#)QgjpQte-VD8|FZHAmL(tYf?I3 ziu5zj+u2&~LFL%AUT&UlPc4f%Z-!i!7j9<$zF-w41=vz0hkKTkpvel-fgaADU;h@g zQ}IbEDSF|=oOE6@ryf6QVa=OzJ$VOY;HPiZd)$HtpuTJ4^BV57V=+dEv@|4-A90oG zo4QPn%Q$H%f91)ZnQ69ET$vuQ1~yc7gU4{7kkg;xq-hMy0~f_dOi`hlU7lPXqXdRW z&I&Nt*%P9NkEhy#qobp#plzKepvhL_L@O;^qKbmjT<@Y+X)tqy!q$Hq$iUBwuU5^W z*_`03*C_n`JHyOGsG*6QlWOpf5~Hu`kg8d@V(2%znli8|juAKFxHry3mADhUVpOJo zeqQocnU^sON>-L|u4VpSgIrKRDV#p@Lq>o>>CTO!JbSjq(wEqo8f||Gh0}k_-1{Cr zCg2Cexat9Go=twgMZ6ROsS_Z8$}-M_U7cbwqG--$*51^X;&WqLve+(IBA$82@^d_Z zgpr>*;u`gvk+5ai8>(b($Gaj-R|qOAsbi0TPdtB7Vs$7Ra++dJU|aMi(ry>j2WdCH zNhIST6T7kv&9(;F`<#x{fmlBaPBk)T5EKXq$K%ky-t6c?b$ZQ3A%Z%OO4V0qmSu7MdY-Ma^1A_Y^uZ7XN8swHvr38FNGkgRmZ?fje@WGXs>4#H zre0ByN2AkxW9GsWw$~5!Pw?HkCOuk{qt0Tr7$Du2Zn%ZO>21&X{lSyRKFuOPu(x zDCy|&)?%vefOU(Jr``y=AU9{NKe|4OkE5q~P=!b#1B!Oz&|nDmlUxp026(Eqg|H!Y zF`DT8*KRqFT(fI@i3_bnKWhUnS~7dv*oT4H(@v-)B4)zUzQy&?N**XqZSvSos?yj* zB`P(%#6g6(jZ+d84Zl8x6==iyn-$?3xg33f2GnV5;lbP-SW$7=1P44;5snU1aW$sB zAtG1C1bx*@@DP`tzpb&a@9Rd4th}rRy;8!D^4-W%K&I1Fz>TEY8YOK-MD@kP9en`6 zM+uwD7D;+en`t$bnxMW%`oxPKsY&)Vs5|BgkZzQ-JIeqQvl-;XbMql5`@m|y6p}if zN_uKOVZ7r(_c=zFKe9T}q>WYw+fFu8D?Cv2oj^vL*7Xg0a>kZdF&%JJcwt4o{pQl@ zJC?M5TBa{nP8memX77xdGPV;+#d{T+-ocpHR!Rz$s%`EaB+LAuPP!f+a#tk2IEmO` z*fliYTne-x;d_mdd>6HHz-D*Kd zCoL{A4%C5HP#z=}Zp8csoiA2fp4v|Yxb@k(dZ`l+=Vn17KZx zFe!LG12cAi$s|RiIBj@qC&WG?1FMiRPm=(tF^Z=6G3uBOHeY0TAG!Q?I9Nspo4MQd zV4SnKNCT#~Cai-g(H(huT=)uOUa`j=&mhH`U=rs>KqYI)C)Mh8SB~ zM@7;i(o+6=UfNQd!E@4`z7D;;HQ27DLs2S=B=}PCeIikbIyy{yGq(xTY+xw;+32a% zW(7h}ZYW6!u7&IhS})ix;m1U7Zj`KeUOXV@{S<7PRz6R=CC3u64VSp!9ZMTC&nZZj?4~jG5eo7>ZY#LTyF?BmSg;B z9Hb(}19DNeAtyGE+8R0_49?Nv(b1OU6`x`h955G0hD$>tUWvbjF)Q3&cD5=qhr&4R zmlXQsnlfdAoXD}l_;Oe=vj7ypCr&BdVYDq#68d4jszMn4M}H6D#M8;P8g5tLp4if_ zPH~R0_*ZhaYdiGuQizH7+{sG!$FUoujc3AAdCC{p}CnZ%IG1?gz(*`Y^JA{?IVa z?BHBCQzqlNukKr{PhRgArX0*i+bB$#EBr>GyQHg~gsm}3xQ^GjBe{%2DP!GfLH-;? zR{b{0wA#;my~>OGLne;{fAl&oQCutId{KPn=S`gAZR92%D!Tj6mJfx|X8#J!!T7Lr zl`4m@)OZyYkBdfAk2nb+Rg&r{tBqb$cZgb^gEMI>+|E9 zI>>E;8`^$pnj29OA+57_*e>kboZX+yhpA#TG@K(SgsSaOfgvf(SmtRsySOu%m@{& zwyQaV=kJ&eiyPHHZssl3ZbSFdWE^uxXt})z{3{A^>fzwmBtRQuUdnIQPVur>?`9ge z=jKs9O;fZ`M9}j0FS<|Euxrrm_Nw?y&Sg%??{};9+k5hMv-r_U&&Kv#%g1YM$5Q5C z-r_NQq`hy)xVGT4=^D*daZQ|rjcg`Xvcv*xyn=q`%Z_QAn?_>vftDfvfYt3M&{J_8 zZDmf@^q5}wmgSRLz<9uy=TzvlVklm{Xo6tf%6cbf&$a(ohrj>fWLhY(ANJEii9$3h z_}F)W5R9MGsQS^)%~lB3N$Xe$Hn|D1CKm10fJi>LMVku$-37Um{bsgBLq)b9z`1cN zGfaz`LrUmolCnT$TvR&K{Hj|LJ7}l%D#{kUI$kfXozkgL&W@GtnJ%n6@0xeNST=CB z&1W@B%ART4XANSj3VkBvWQhs&6nwk0_Koi!;COl|y`hXx{rdVt%4>Z|*aK=@jVS?5 zNxEEzg8uAz3FzOwwDm6v>o|FL_7?7fVsQDn+nEwEhzs29iWDTKbnhQ6@~)Fc|7Ar- zPpEJ9oApNZ!3+3h@|s5UNv}eae}WwhHV7nXIRhp?cvV~-HvvwsIu}hS?cxx zBy=j#D}z<2<(*rmdPCSA@UkNjWMJJcUR`g!&X-xwk+7^N=qq^)xKG|*_#qGjHP43w z8Fpe#y8bqW*qlFSWpscSnqPKj1OpFLIlWH{tgWrL-XFQ7j>De>1CS<>Ijf@|kkbEv zbZY3jp6&QQ;(srSIkwA~&)ZNLie)ezsX0lIzXo=n6ra^O%5(I(paogCm$g>!!8dWR zh5|vmB__SrK{%+Tnyp@d_j^Zoq%j(m`F^zZX_Iv65!&cmDLKP@Y|YIL+;a^B(>6Pg zGnjDp8<5MAKp~5lomJ59`1;4JFcIsEnyK~c;C`Z(j#iL$yuR|bp`#_*AYh3Hv9zuG zN1Y8LxuuZDHCVZ%)1-Un15i7WFXsDnT|uG};ZKs| z{tSE6yXBj`b5%jvHV(W!47Lwe9$MFEBg&!0B1(-;-vh=;R4>nQ7fZ+ROd~*K69bmn z$8}x-4oQhTk*KKE11kV|a;AW1d92okfX4|3?^co_0`se=h_XFwDEKF!rTga4^O^rP zTO#gd&{4|QG)dhSxaD&P!KNTLR(QH$e%1GNSe3E7qrTY=F(a|{F$#6nV;~Y)Ja+c$ z9=Q+!NlK^P0nXO@c?V{0|0E4^-xPDr-Sy$+NRMJ8f%_@i8S5<)X^kezGJVZl%y|V*b8A&YPxIweJsYBt-TX2;HI?7*b^m;- z&Ht{V$MIy|w0tX|%#v`gFQeaOaf4OlRm{6;7w>DjS;?ZjgO2OBX$Xm>QAa&EPBn}y zh_G*NKv1UnI8YhS4htvv71)$5+;_^9LQ>A2JnifC;xzf>^DJIQ*HxI$M40 z$#-_&=p&Mif8~pu_tOzQJ(GF2u>JyM!4$2s3y~XYSd^?mq+N-!+7=u`{`MOTi6jw7 zPz>}x?M#xa^zi(-Lrzka);0!lj|qoy8k;xMS(4wW)lpjdm4c+um*z^R6B$*2WgZ=6 z{Mq?Jl}0NZ0Z75|^(xU$Y|nO8egf~lcw1E~aHS2ry^0ma1M`V@=*Wy9A95N6CeKCz%t^=Gk1{qslF7aQwc-BDE@*9~-h^*_jb z#w&`YNGYs{i^{GB=GbB_k}jsCeb4v*t8XGBG7KTk-yFHYTdH zuh+Ow5PHFwn4lNBCC}mZUDEacc17EZE`{X^GJU>TD7OwTd`73lAmJ0rl z4Kdt2=i_iHgDc1P@gylp)nQLz+SYPRnJmfC(-wSSduoXZ)%|dGvTUK`>*nh@X50UH zId7_|smABQ5@7W?G4l=qJ>&mjEadmJ(m?!v9jcbB?svkTv-5K*6qFdXd}Hi?W-R0Y zaz74pQ#pKW2L#eU+kZ1A(&==0SzWB?xvltup&BXq>?`?8B+%Yj@3J=>{dK4AZ|nB> z+H_`A&Huhlu2Hr1pnE0ga=i_SA{bTX{JMXWad+4AT=S_8bj|)aT^F}W|Wtc_uC5XxjLQ$VK^R%^vs4E(bg8>)nuZB zpv)JQt^FsXhk|>yumbe7y2Zde|8B?L>ZT;yi*m{#BZ=M(KPMqj-F14^HQuk^F|W6~ zo;@t-8;9(MKXqfDxw~58(&%~bA;~gqmTfL;^aye(ct6jIqD)Q_w1O}dv}Grdp)?6? zXIxu;Zx>$&NB%p9>r>80m&Ri*m#;{&Y^m1bV)Co-OjK;h#JunBAUqYuNQ}_)c3>vo zb4JfghJll@Te4H9*F`$R;l%#tv99@aY}0`@0*5}T^TyNk+Za;<9zdq|y)}zmp`oGY^Q10;-@xWtg8I3NhT0TKoo@-~S+<)-bb+dZ4t^>oDl{YvEz!_;Q0qdz=CRuZx4Pv-J+JpZIg$KMP$JJME*@~aHsgP{x@g_=@bw8O`a<~HJ(|vJlew>D8rcpHsj2^L z_j?#`0#W4s4%u_S*K%G?a=Oo|J3OwE>r=B+^;(m7JrrAkza?x6>`0Kg?@+Tej#m;!eA{qUoSa5ZhA=YL2tLO zcx|t%OWAF#?t9T(%y|aCuo`z4Q}i{pwDdG|a(|Cdn-xaJmD}Hi?g|?w0Q$ZoDKNQO zvzt$)o`Ese{_zIM8ph7?Cc1H1Xi70A!550}Mm3Cm{*Vq@+h>~pJvtXKr!J-fxf5Hy zL0q2JXAi8TIEx6c#c|8LvptEE?>2E#?gqtn2AVMA6`tQ6B_tTch^ z#br<_X}Y^Oo$jR=?iS|+bo2U*AJoGnahz5Icv>^9TwfQq$2XJbpRLbpGm!JfC2shd zKkHJ37a{EBvO#)N_tg|?}&Zb@GP?!ORf9P zTFwwHZyE6CjvnLn#{;D-@w{yEKmUl;)q(l@yj$+iG6P7r7L=z>|UKc2KF_QkvBO61R3o!{EEA~dkKsMm|3M18CyFf){q(AS_-J>Uxc+* zB5$!amd+u`(ceule>Dpxh_W+m_j;J00C&fCZ~b2*dkj4H(@Js-!JfFjfFn3SpQnT^ zUjwt(*&WDVsOsX9vQ}xGuT2fI6S}fncyUeS1!MHk7=81%ZMf2Yl~J|g^Nz#}zJQ_I zci(Yjw1++sLcx{os2C}u@&syC;Fb&3jk@TlBk-o!`RTER)Qn6rzcHUpuxo#Sw~p6+ zwYeMZeqLVrCu7!vgxs;K?$&m}E-y+b@n?t7q{bJO+59Lh@cjOMa>ac;P|A6y-&BwC`Rnt2X3OjBHkgZ< z{BU7L@b2}6Yg)g1boBGd@2a7~+M4SK8)X0MeplE3kxjkzL;*_E{yH4l7O&{(tbeBd zx=~=oWYYDDTnN|mIQbb>%C*TYB;K#c*Nf!DzQP|4tc{v`4 z`8^*X3d5Suq8URZa2wh4oHh`O+;8%E_zvRk));&WybQjXArm~$!t`K2>c8IV*ROgm zjV&b3`5s;FO~q|}bZwcF8DG9Kq;@`qKM@Hy-Ge$-y^O4H0&3Yg9=pDhpZ}J!MW7P{ znr%%jgC8cJI*&F|J-O^R$Qsl)yF2T;LEV2`Q_}&6cs0}IdoX@}uKGCHv$y%C;rto> zb;dPExm=I<){iiwB7Rm;k$CumfSqatVlPtgyzWyAvGQ<63&h}#ZEm!+Wq@J?`t#Ka z+5w!L(TL}C23iJ2PI!rGYRRb&22oR*I_KOWBMKi1U$CP0DSjs@EFtwr=o>5E*D=Ux7XJImfBU2H zh`H+-y?y+Z-}3A8%Gb@v=?|t>a;4C1Tnt-LzYZea17FV@pEK8?heQb6AOGtze~;UL zWB#`)IcE7Ke)}xm@kRek{{)o9&kcmKDxr)r6%{TDJEt0exZhmD=l)+?pPU&G-Cu7) zg6skVah9o5LQl?Lf64+Bd{27}-L^Nb#GTZpMpzx0_5C8}U;O>vS^~m-QGIf^=YuDl z;MJ>sI05iE0fIk)CX)mHX=27cG+VSRQ-!EQWhrYEWzy*$6-jfqYtcbo4m}+vVAK#L zFLM0%OZqU$%2M#+<-8JFaLDIuN5PL%`1W0l3wSCvINKeP_4azm?8j40DG(JJ)lr1?Z1`LgSONb(r6GuJJntgkh?_qtR7NSoNA-&`$Xh~jhmjf zo>^@Bu(fT~A&x!1NFi4El=cLCWEA<0ny7B}i|9ZU^Dofa+H#s9d1GknQzn+BIo(?O zQj;b@^YK9)7oxhVhAr3ga&2ZtRw0YqQv_fH|Hf-G zG5M_9rcc!|0jV+lFRI09NVx^o7d}n}1=H?*hb(;2uYkAN4x_u$TcajgjFhNj^tj64 zM${#(Vvo_az>LaPzl*XOBb!?71l}PU0`J|`Ma_^^1cb=v$*s>#* z2G%>RO%9P>gJ?~aV9r`I_;D-M9 z{=-!>Tdm|FH7qqC{+T*ewQyT|{qVEf<0`|?n5+=P7~P=Yy9;}NZ!a%+WW?|~Oclz+ znN3N%Z`QhO=&5~u;z^YYKgKF?^PXqzNC~Z7I(^}hnrRMWeWt6_)-(p}a7nGjMo6gV zY3z3(4lJ@5e0C7@O?>|=P{*_kts@Jm5mbKuoV2zIL3x9Z+Is%zCrz<8HmbmO08JKDeVvOgjS>1c@VNmW` zu)42vx>+~{Trb8s;g46(UG*0I9`R@9PxZQ8H2-R#zgW|UE_r~1YHQ{cZ0%n96!h_c zih?hapZ@!93d^Q&jMK|JcDJxR2vv-&S=V`XZz=LE9yt2Y);47N;)TUQA>e(n3Tg_E zmOc2Hi?0aoNcQb652xztih{pwb|xhgn&v8|PcbHQf&1zT%Cy{=`+u4rhfHd-<@L1D z(s$jpjQ(@p`UE6EWJW|$&`yW3Gvc05tnMQHvwmfh6 zju-K3dgRON2RrHn{qL~SV+^C<8d@8Lj~`a>Wh-l&GG<$tx`O4$-(Nwm@Uhk&%ip2_2IcRiA3V<%bor7MyCJg3pSXQ=TEhmv@r<$6?EpVq{$5kJWp`0 zHUwc^Ign6!=lAFn4!7eEpFZw%SY#JZw7y3OmZ4r#3DaPip2-q8w7 z#n&|d_e7_OtGrvgXy>BA_B_E{IiKUbu&;}Ymxv%=-*??qxr*R9Qq#V`@99&=;pK_l=MDeh_KO{`dQvhV93TgM@T7Rd=|kNpAe)`YG$l0t0!s^Dm^?{2 z_@KuJL<7l2>^1D9i_v7U*o09`lvkP=tbc^gpx-lEJ(r_Oxrw zqNCX^iNc9c!Y#~P?6-_Rik*6brHiDuK`Ts>H%>VSPo`b zE(`H`jro@}YYZyf+PuL!oHxJm6nyf3ZmmZfVyWxkj^r+UP) z#ZrELmLIo#S2dW#ri7bgGrgW@IGBN;Skg*`)4i?ubfWPNd%vxwt%~p)(8LUPkFuE( zTb4fUms>YGF~o?#dx4NLh?%GlleW+Ze}8RriSw?-WHv4qX{~>}cA+g_R?Gi?Y@K6x zZOyW_;}zSsZLQe0ZQHhO+sTT#V%xTDJNfeNeXzglI`i+CV~kl{)w8?0yY9!vN%R%5 zX>>g6yr$zWB7>xFq*q*Y%Peo2dusA_v>=7Hld&1KFeWu%)}jhDq_X`9|cer}e0r`@%W=0VP&-(yDrLndUKvCpUQWD(_`eggHhfDqO z@AK9>Jwo^G#WDdpUM_NFu*3jX_qe1})A3ZcASLQXUL9~_3M$&IJ`B>7G>`AldfGkP zu2gw`ebp*Ddle$@PsS}q)qMN5hE>xgGt&zk3Si`J9e&5o zBh{Z(Ue~ai!M3U$?pO0I9#9QCgd;{yjcEJf;-$6}KBke>E#L4Ywh%cEahc&&Jf>1?RsZxao=qGNC!-=AqsjVUv-ceHFf1}QBW#IY zegqDjgMNFz5q~Mxk5SUc>l%d&R?>AtBau?YCk|Se^<Ab?15-rh|idO#S^+6f5M6F(_u{+zlf*k`tEZN+Fz{5JHa6yxW68%#$5vA zxgi3-A4O~a!=8tM2M6EsR?vcY^+9_7a>RZSs;9S%4=pQw-6K9PS4 zNyjypCPr?~t|O<%J^Mx`bV8oFpU^Q15s6Sj7*Z~ySI_gFPdv9K+qZwg)*|xs1%b8` zZ?XF#5IaMrxemHN`k81#>zUUU`&iyn8alkz(ri6R{6!8?fwqn+TB5@Fo$r=*8wyPJ zSvWAJC6ay%`-DyltTur5P?VpF*M##RoJLxs4N#8#qr@ffH?*WHm1I9S2Y`R+9kJ_> zj%uiu{je?aKw<4SBzvkj_#Z|H=AK6DN$F0mo~mtlueE!E%?^j0;y-Y$eK&yLe4h~T zgJS(4lq|@W<9cIA0o`oO<_#Eml9{!09{^->-;xa~eR4k)0)}qy@DaY~IXxH!(E55d zv7EJEAtZfV2c29a^sH?Qjkaq8@{k|m&oRz@+A6_job22p?+)gM9MM464Bm>%xASdi zByq)@PT4IT=-lSNYDDO`vAnvGt5qx<*jl1c7ybZ)5)cH`D{~viWL3)!p>rbZH8i4w zNwL{&C$PO8G$742lr=_G3f%=r@*EM{?n8xVrD`VVaNKnjdy%b*FpT9B5u}p{z>E0o zeh3~yl%N5lZ%7=Z0tYC*;&k#=Kw$x8kY+y}xjDL_3`%Zs-8^Wb*F1{dq|Pmf!(2re z5On59K^-propf~C*?N_;ydlwKNG9&r(D{7mrK9_Vbs_7YB0HEalueQ#Ow+_s%U?m+ zzoR){+M8p1V`50JYJf0cv?sMpaF9#H4kreqzy4isw6vk2rXjHWINs?(NJ~aA>bC{U zU?3kuNK&9x66+WKS$M9Ug_Edf3G!&q@m4nUDq+V?KUp%l)b~gDY<2*dr0g+nx1_eT zE?yM1SX{fSToTaWsWyT1FaKpq{SsS01N-43*a9F=RSW@WO2W*@?cX1zAp2q=^hpI5 z2g;_A9t~{jp@$VFOHxb)_m?FIBs>TH*x&s)C#|Cwp)!^B!;>U69sD(=I!qC$5`!C8 zsA#espuZ91jAuIZSP<}Ck{W3k<*Be#7SWLgRE5bNtKg445L@2QxAN5GH+vV*rmQrbAh%*kLK#NOG)$SC-jYi$6HZF$B z(T5^SqF@vmCu#}OUZQM_&~B}m_iaNjP^<<}{Yk&t_9sK5zpLZCN*m*jz#a4a!&yhz zS}vYnW3JBi{!i@0Bebe3=ym6X3n zx=Hnp+)j>g#%?aNEU+RkoBdC4_>@@s+h6^|>W^ZnIDQL4#lIe39B)$P4CX+x^Pxih zG=>Fm7cM*1c-{d_Bx06CWfedrq;+LAc|!E5Cc*80yz&D-u{xyO|E@5T4x+pq(p ze9MMopm(?ls1r#cgVpd8Wz%Ogr`-GWInX8m#2|S(CnUq<#uk=2nC0THAQ2`Z)a@@L zctBz+umK(1;y?!|WixuaWEWxtE(F`NckH}EVDe|QRB3$6xb+`wgvqHD0GeQkfC!;6 z%Aded#*Fr#&JfEqe1;$a`{p_0cJHiHoQN5<#3r!LQ;kbeiI7fR$La&7&dNF0lvO~^ zh6lm5oNx*gI!rVauTKOAw@Z(EVKSKohNVw930;F!Zt>Hnv6vquYAhg7x-V|>Q^}7+ zuNOI>N68lBi?PwR*o1aJz z_XL7*At!D2jBg{Zi3!HNH9C{$i0j0LMpC6e?(f&7%bTRn3~T($NoKuMq0{_laOU1I z5Q>e@a8~+NouWTUNX=t!qEdIL8CQM9rK@#DoGiMixX3c_Br%BDAWRj_xPaZ0%DdCi zF2Ny6{XbdPH=)wuU)MfEkK~hzQxU<TYC?8I{TWxtkjh1d^xJm3Uq_g=_du$y@>--DQ<(s%&OF+ISXf&^pIT8$R5d(Oe1g zOXckuv`lHLh{Z&QRl4*VNhtT*1$7E(8G4a^dH=1nkJmT1tAOU@^$kW(h#=XVITl64 zak2zGX-O;3LNE0bbAU<~000R4tLkF1%6%LNs+?X55OW+b^kOW9uDdRe6%^vQm|nqy(>P(Hb4K&O zgO}*ju0m7Z;1==$Vagiu9Bh|Y0GdM3L5-Q>vkje=YC?4lwR~P57;TIY{atfl!3l^r zpUz4Yzwet3sC7W@DB2kp{#0o92D)F&eCs5vgCrRXCtN7&0oAooYLa6(LC^*}t@25N z`tp0VROd7KS?kRf#-{+JOG!g4%+j`Q3Rua`Gr+qj@;@=R_lAr9tg^4~gX6$F^cdGo zneSM+#_#$Jms-5`H!~~R?M9PDM_}5}nrw;jy%%cFMK$^|_s$LD3Z7?ujCt{9ljX0{ zGLwz*-7TRu5w}wY^9S|4`r{IYoI9d!<65;`qlC$t`FNIz=2wm0w8W9aAnyvEMVGag z@}p|Et}=4Tx&G94_cd}$*T)tbh6>|pK)9TnkdXgQ$YX>ed_tr+zA(N<9<0*%zSmgB zP7fGoTj^tcX|LZ*w^GF~Xg=?V%t7F-tiVXv!nI!N>~Hs$_FHICbXdlElZcy)GA0w9 zRnE$hnkUXK%rm0lankN{X(-!qKY`X8FN9P1b!Qz^HOe$2kX!(S?;2^m62H7|l_zOB z6j7*6PC^KVkh-%h%&7I^1c8S44~W5^5dX2WkCa4z(^8F(=flS$Z*|OgX%-7pIee=| zlsftx1L=*LtDS0)iA~oN3Bajv6CGKc(2;-uOcS9-M_(IEhb{rO+s<7hYeDlXfu`!q zuFGq}A*qkM+`!lX{0ZYD**~SAP9kSf3Dq06?ao5N7Iy*dH+6-p*;32d9SSmXxYZm7 z&sKW|2XdEdYu9Vt`(Fx<`PQza7=W|5x5zUxJaM{Ipx0ucGz}64t;}4vh>7e?K2=Je zk7k$f8oUI%>u1aLw0HTY{swb9dKE4;>nSB4b4*4}Agv=WqBflEx-*a-sHs!7b>#9& z?w`Y6@G%4|exFqst=5aP^x9CU4~kqXv51@PA$~cO7;zeE_t-t`2_pZZ9PktJ9UJUB zUK(=_!+0*}!!ded=p4i;`c;f$09RcF>N7IF;Ep81PI-O%w;_~0_t3HhU-&VmCINVG z`3}~HEd;N&2a|v!A%5~m-pw4Vh8z)ic7gih5I*m=Z|bG}RA64oaj_J^ILRwc{R%c>}m3)3qf%Q96&7jwuX{t&46J7G?Ia~ox>(< zJdM`rRa=WS(IktL&I1!*sDP6Ea(P^^PSm~fD2^HEzqCKWNX;U%L!=WIF+7?n)e2q{ zorv8)V55@D90t&O?*VAm!X(eZ$RZ>ag9Qlp?&}lOV<(2S~eLg{zSO-#1O?9$@j(NM^5*tb=--cZ#6My-S`XUny}6nNH6AQtZNUH55(Xm z2Gu6CLH{lc2(zav5CknQlW%%50DMpHw-E=?TWVSWnj-}dGE#^^zC+62HNm(^`#q+c z1+1N;CVDF#VO$t2MkFGj-Zj&k;ei8Cw(w0b{~h-skrH@^)loZ_VEceRu@`^O7|5d}=uGtWc{QDsKVY$ZTttTl`12A)*p+v|*d1dN<) zSf-4-I3 zux@uDU^w0?i=2ht206rEUcQ84s;C24bWBe6Mc!3^;DT6l#VHSc?~Se}`3EG0FQn^< zw&~3UjO!koVh~Trtj&CJz-7#Q-ow{%aLHx#78xvm*h~~5BCDxe(?Xcb&(wCml+!Lx z1o_v}@hLWYTwelv%5}a2heB0U4ke@N1K9Hh07~uNXeuwkOxL$_8t?`6HDMfJrlfW& ze$|vcz@D5^rCWzAG6*+RB7=ZQc4n%I4&50(B3Jh}P}zv8CByZb0(iEu$kjtVyMO5{ ztj|+Kj6mz2PUJUTzJATs1%NjcD`Iyl2;&KOMa+if|4=b{nh{o--g1^L4qt7#M7@bj z6dyEqaP!sgXYuGg0(-4Cy85g_^M12ZqqHlO3;7Bl#>rR0xu#=Z9Dk&Y=E@>POuO7n zW6$kF?X>^V6NLH7+Y|PY=}qu#lf0pz>8^v8m#vctcxcO7u&$W7OHLzr!;2uhIRCQQ zZ!YRQ=2(0KCCIJLZI74C7Vf`6E9YjpW2wEQ>FR4c7pw4@0|`y#MP4!*Uu+RrXhx%A zXF?Gw!(o55LtA$ta0a!yuWJc`B}eHRhxx8ghW=Xt(`OyvWGd7EM%W@e>IXkg1uXsp z-Vg%82Fkw_XSc(VlyTqm%JFq`&}X=Nlbhal0dIaEUMUFS$Nqr{0t@$4W&$5((yv!G zlZ*Q<`*u=vFk7FZIl0=LHT({3Oj!c9qWk)aQl6=FF-OBMoL(A^TdtNH_eN{UVFqOn z&e_xHsW6?9s{wdUax2XVX2Rey#@&a*_E*yZ4rONC5CrjXUJ>3C`lJ&e3kfFD!%Qv> zmEZ0|h-M%JGDaAwbT!_8E`<8ioqrc}cTIL3(`Rf_a~~|GUus!t(DAf`W8wE`G#6-l z)>LyVi2S#5YxC33GK>8C9}PIM*2$>H$R$DITSRWgd&u8r(VcRZM-CKk;dM~E z@0$Rumk@ld!*=>;dNJa};6|C1#6{1x)HPeJ8?;@_W%=GWUz2|u6$x;1@EfLE^pv%` z8p#0ve7h)>#(C@SxF|qH7?zu!#V!wF1}D~=YEtUw$f!h{$bGr^w_1E|1XC+z4EPM2 zjvNesU9u;8&lsDUO0~b~1aL6vVpk-Y^E(*!VeH*~IAXw%1Kcm~iWiE$AF+5R2sE=$ zy!^+V=q29WN^S%p-!gmvimI_RssU`Go@ZlMDU}h(jLQbMp*w zcxNA~2x?ng2~C$+G|?Wco~~V0mYAF@V}y-x17Dk=V(txP&;{cj@ZzanGq6hGD{Cn= zvC}+Zyf%s>z9wTKY866OADcs$eC~Q@BFjDTsn&lK19nrJESB^SFRaxXVdPxqj&Z|r zkv5k7O*Mi~XZ7$k6@k==@2K=}m}dWa+|d404fX8);k1zJ=Y|yqpo^v+feIUpxwKTa zK7m7s!*0VKNQ{vya=?Wf=FoA^W@D-Y=GvYar_hGZ$#LNv-kWd}x85#Dk1gPSce$u5 zc3`(OC_}km53bwrLuamJlh}?I8spd<9CwUsO2w6UH)BH8itl!R+2j+b>oc%K4er4g zw9pia?d%z~vsHp5y5#F8it(3gp=NKSe^?TjLF@TnDxIrWfm2;Iq*YAM$Bcs>v`hHVb0)elEQYor>1vCY>odb015`ADit61_?o z^3*kBdC^hNfI#x!zcj^mR)3#iSOK|jJdrNy%%u?U(vrQ`#pbtulRD6I{vtUPW)%1{FGv} zGmrBF)k{9cwHM&(bE+qgwVI`cg;ySAbgEB)N{z@4f-A|lpv2e_Wz4szSv{p`E;z;0 zvPc63X3AF1MwGpXSBhWo5QFs-ZjLRG6g*GP%dguD3Z}RdS-CzgeuMWVU#Y4GQqI;o z$)Mf30RI80zue1WGJduPdF2RDa?QulRJ8z?*sc_K(O#HBGWt~U{cf$RvuOO8% z#F)L6=PAxBPDecmsudXK4h=9V9D4wdT-_WFm^sm)PP7u2*k?GrbubG8W-v4htSL7@ zO6+|@bq5C#Jn501k81H-j=Q)+02%q~5&m-n>>J-3{E%+&@-((gvAc4q%#J%8;Ezc| z6gnyC>tVLV)nQHC9!mA3iQ2b9&2#he9mz%ZW`_!$+84glUGW4|xg6GALe$rPF`oXR z3J1Z0Q{vbS@BKGMEUX9TUtrI;fNJVYeWVk{L*;bxc>AA;pCEptk1`BjRktz`_Upfa zX#etz9K%1rH1wVIT<<)7EY3VQBj5LZ97i<_pb|@dOf;bmn%+uT0p^7jcEH^O!?(J7qkoV@*08=w>ILaDpC{&^&0(h7m zZleOfV*+?p_UjJDSdJ}LpnT2NmTWm;1gg|;8B5u##t)UEREqVA+l}iF#k`OK zgb34XRkL3y>0|3H{^Ebxq6z@H^)>=gs`nt_GdlHNE3 zsdx-rR~)bo!~X{j9)}Ol>9=wXyhPytI|AXqpx3VKK>4OR+q-syKm4KpkQVyimiH0< z0f@af9TaT*hlBoy7WyMY6vXHCiygdL>>r5H#uWGfO?ivs=}-p@rvJ{T7@gAB z49!XYhigV|XN+&@VT(ma~}3By%%I>HyZ*pR?g43ip$x$eJ)APqkP=r;of()oLvH^oO-SI8ru96DBTI&a`xC3 zg&c391|Rk&r-kT>`OgVbUjG&9|B2!Lc_}?JxKf7~8}n;az<+w_zx@5rl<{8=y0!xiTaEqi z;P|(m)W3~!h5YF{U5XN%M@;_%xcm>-Z|s6cEu9+xw>(TLv||w-O?BmGJl+~!@?=EE zYseK$nylnYgv7>*vvS}i8Zdi}QRg!9)vC11#kuf64CsHt*U)Lf+St)pgOCair1XQoo|z0|E3C!Nzon@<+9=~k@nzFE&g zG|Z_U2*mY_O$|^(M!0^yeZ^VkGHEX>*o)Tx59|J;$?V$k?S?UWS|oc1y@Wtqe)&g~ z+U?(6Tp=4u8H*v5{q=z{Zw?iy>fPg2vk?SVKqmfIYi+pva0y?Uspiu1!+P)$$~?rD z4ZqLu2V;L=j6aG{i;tFNOuQg{FsR?uEh}9x`~;#1|Bf{<{|L4`)4538|NGbc%mk1? z_8@O^dVH`*G;RqPh=6|=6`@_(!p%U5)jx9fe|lCe639F+e@x zx&JT1UCDve9%jq7d5x!&q+C=?zQgcHqQRBIddwPDFGhK;wO3UtH(y?Da>aGDa!urH zbVE9vynS=KqM%WiwZfbQoJR+*y!d^8>g&Kd0V8Tfa&7yU%#g*sjo&2 z!LdA#giXw%f4Q)IduV@nzfDd~E{L`+iVR^IBBuI=PuW;o?=o?&ZN1FQ(S)V^r6V)a z!u8GSGd2WlRNtr0{y4R!*F1D2@*DS7X{?`E|rwz(W*4yeeIb zdrLvn9}^oJi{oJ8h8Yr)xk-~To7sNWwUM}u=;WGM+b@ZCchZn_lsHTlyLB@Pw`m@B z>g!J1dv`rcpwsJ+5}Fq`H^=e^-u2JY3?*@=71ZZ(%aU0bs;$jl35of0x3LpNCSBy= zGFsuSrF8xXj=%c{SJ=~HU~Ck`7A?-&z4IwTS^3k*Kc93< ze>azDsm|}>Oi8F?uq5y(W0M00@2kux;c;jG)+?ZK1PAuY#k9BgGC?4Q54eG{{d z^5%LP4u>0Z#bDW60nzG3oJb>!`+<}dR9|*Z$*gC$ZEri8s1yQ$0mWEdM!G#`-{(9h z9cSG?+-C)F*zWP$*Ztxql_F_0W&g!5Ndam}xs1z(S`G5-b#!u2m!hJm|E1Wi;2-=# zuiEQ=Gu)dGZ^*8t4KAw(-Zg3@gu^}PLm!6)MfS$Gy0q*`;{ zuGrD&6M2%ej+&Kx)og=I&|-C3gIvN?v%Fyi*%l`xr86dp{1%+o%nHJ0w!PJgWV z_|Z^)_{ZWh{jl}c;kmCR_}<+FL>tWS0z_LRUDY%uV*I+yZZ`}$h4-Bs%Ksh^r~&Ba zm457d)tfsR!p;PtX>_i%L{`HFN5O@#y4^HFYHLiwZcNe4TZOuq=_2yCCI^P7-y`)s z9a8-Ept%goXj2%ERDk(FBv^M^nN~d0N+K(nT`?-=NFn#>!9HJDfo*U zHQG(S3-TDj(CS_H3D$WS)!g>n6!!aj-q&9F;tgt=6X+Gq?CA(hPN|&2OxAg!(+8K5 zK%j=t+E^>1c16ziJ6&0_X}_)W*OQO&{k#j49dYc0eneR8SNmPny5&OtraC{~_)76B z8d)tBjinQ3ef=k!C)OVi!2aU_ceVrGci7xMFLc73Ssnqr}xjDLu_|e z8GBAkTgM_*Yu7pJ7@Sdk`x_6|L{yh&Jt|i7q+@IXSDCL@II-z8_R0Ryaq#}pTvKm_ z-ly0Wk?&4)s3=B?_PToa`?6Mu;RqD?(gswID>BZRlN>`@9HJ}mig=}E%h+MEn}fMa zs%NdZ?as+#`R&af4~N1;)AvIyvUsj*t;@B%k5`LFZqG@9ovc7Uo2g3eW}P62s(6k+ z*wY-debP1!f~Zp#&swb_ciWojDk@ihG}YVYtfN~qciGAhWPJ2vk9#L~%LL$XY~zFe zD#C~QPjg&xa_`qRzBj|)1@{TsL_Ltj#$eyQwFR6}Sg7BR*-yHnv!5$3JGgDRdscQ2 z_FcFsrK58Gs!W78&cTo)Rxx%Y*Ie~oOAg(W9e35~p5BGbOtR5}?A;yOJGfw}4(yFv zh8TnHrw<;(SIyY>bzp9(ZCyQ92hTEvPebvWZUFSHY|k`A&@ruZPc>{s5h%FpH>N&zrZos%a zqI`PG+aiC?hixO}%DD4b(@py|o3h8quGjzh62$m%@##bK>#L+3N^v z;uvE+g+jmY1Z|>ANgMBy?j0qfh+|5u;1EFi-z)&|eIH>u_>eX(GC?aEZmgA7s?AH! ziEEz4G!F3fu-0@x9zm72(`oQVtG`Us!bfu_1I-2$?`jTH7Ny+j=KZ!Iztnv+EVk|= z2e`o7TcKkfry&3W@*=vFod13y}P0C;rM2#9yADdI`I4y**&n?fOV%RX@ z517Go%FBgfG;YA!}M_ALh%QD!<))BY;=4e<3EW{2Y`N0V+{bX z!1Sfk5!!rbxVC_i!o`)$ubu}8Afz)S&~^blPBC*U%L$`|1r$GRN(na~WVXzP2R^rg z0d6t`EsvCB`;-yf!vO(kQo4?H%Fkc2dKIKr;<;3S9#;Zkl_v2bo-IdCeUoq=8?N7G z`pG~&Oh!2jp~sOAMIp2zSy0b5en-_jIcUS-z>Aj}z6<$lNXx8Jz$`NZg-;To)_%6y z3V=jj_FFp8+6zOUGIm6GN_uVeDtq5d2SdMh5|rLiZ5wRDf1~)g$JW-7hEw%xhCg3P zk@~N@f?Mhc2)0msWI{PHeMW`^Q*0oh-=1Ad(s;)tfrBi>0X;hGY^M_At0LK!?Borm zUVTXS(7WU3BGzU5eKOUBa=t+)Jmy{=vas++csH@1#MWd7vgW${Sz1Zx8b*`3;z_Nc zlp`OK{y+A+L;9-&zHsBblpLhQbr;qw3U>W z?y%=?EI6fhcd|oJc0r03g163v&WD&|Xz5w(=93PI3`(XiH=P%*gkj%% z)Cc9Zll=m0Ffh)~M0ByPai$EmUqTA+c|b<`DGPnh3EZNq!PQ-}Yo-!@g{6m+Zgx z`rFKUbz--q$q!winGb)$kuY8_y|!dz?@37w}=8svD%s<6%W-WZ)|c&WXK0y!uH zkzdC5krEypa58)peW0+Sr0<%poVrHn8Ws8#@cCthz31ZcJX@l8AIXq9PD~gjcW`eX z8T2tfsBdMnq+{ffvXnN-h+n$mO6y*2mf9dhOp_v!)=rF6NL+Ho%VP?Zk===|~2rHFdIsU*i=OHrx+6cZZqp?1f%)9Z#Mn@ATj6UsOCMG5hum6mV``U@xL96djbG^q5@g7dc2{*{V`Fm(D(oV%OS*wIhM!}$xe;s! z>v1-anAuDO3bFPpEiV=lV)zTwG&dIy4+ArE52Sz<*!vH==|$9FWpvK8;#Jt&PN90) zE^O5b1%d4skbYg&_OYe84eFq|HAHa0Bn`|+W4u@pfgY#$## zds?`Z+4-cCTtzkd(V~tX!HDh*^P|iiY~-|fGZ&ypG#V4NjEszziqDr>HENfg8~r3S zue=Xf@0HEpIpdqT*6Y+DTQ=YmkUh3+LB74?(``ZObT|p#e_+Q~ts<;?`2aXA9$4y4 zCP|u_SkBq3$f>Aot*!gS_HIWg3BM^f-r36-64RrkhxTtf-=ARM;CP!JPj`0-K4XUC zd3RyrONeb=jT{D{;_eWp3uaHaY+Cd4^YynjSkW`cayQl%7n^*yyNn2@_+bx5?Wqln zWjd$C>}vEe$y*w$k{GwY{dKFW%a6iJ!o$PcuRB{x+n+~f`|GJCl`{1;eR0$B72AE9 zbsq$XS9ID;LFAoA%@`yyGBq)=uzdHAbm{2mB#Gz5Y80`JNGe-(4R^w5yD553E|W0! zFxXd0Zo|FiIY{T6 z9KfyKYlN}hHB724fMwI9CFy|QU~-Qam856LB@;%6Qo_X&hkb{)lhwm%X$~$nI(jC0 zZqy*3V$!Iw9caf?dRQoT<6^)@8k9E0cpEF29Qj((IcW9N%tpppMny%1>xP}TwDe>_ zBx+$4Z4LSJ8#n*=!_Lgimuie20k6jgI+vWEim>pjr;V4YwY9adFv-YAZz$f?`T6t1-z9Og)fz)bkMNQQfr%^=mhhD+Z zxA!;Cw_o&AKm1Z(&T{T7$n_=`S*`82l<5@qpTr37pERP4SA_SQ#_0m6teyS*{;jxF z%K^dcEfDV|`S0J1Ln>Oxmru7cdlb)u0&WhBz{9}Bykqjy@J4xgTnf6#BvmairrWRQ zPG3US+r)OCxz$DYVI0?}=$JDpJr2oxYXl(H=h<203ll?cK}SVJ`XH)hB}+>vY_e*N zc}4SVqq3o}kTj?`BGR@brrvBrSMp_&Zu4N8_ zkw)-4fO5lox0X`Y#>OJP{2^W{^3bKdY8eA+?fI@W9TM?k#uD5WCzkZ8v9>>HNAB6W zUoWexul~sLL<{I!d0Cmr(YMXBJi<=4AQO_yMLCW)tvuS7w8d;wn-Q%#Tq?^X_b&%; zA3@rYwBo%!w^@~b%1?P+Z48$lvfrEXe5czc-L2W)Up8sA$#d;%$ zqxd@5IT{E~nJd~cxgBcSF}_dCTLSG&_++OuD$dbO0B7L51-QhvXWCv(MG%oworF;# z$K-KCf;CF_9MddrvO*n~2oO+1_tk%!*k`3In{$@y`CGy3>4SW1ZEZQEgk4_jFfqB; zH_bn-o0gDFp-e%voXM(#va(?VOV?R6Ec%S8rre#isE(c|IL^~Qm*&A&QnBqmT+|jn zSiBx<&2PT_hBAYM9Os>5$-T4$g_FcEZPwL`^jn@;(9%|Z%!m7u5ET4OR@I3qgO40- zRzU6=@MPg}=TyVtPJdCej3VPPMqEM2LcNr4(*Z%T4X zN^-Kc=O)YKWHj6611&eQh)CFO90Qh{hn=0@*OSw8zK2XHfFgo`t)XGRa^?~%Giwo& z&W4M`_&C=Z7p~_6Ly&${e;b6aN2WHCEGsfa7WEW`YEM?1jP2b-q^hS|KVF9fe`yPS z?w>sCwxir2JN8C$r_qHp*2nG z`lq$e+$@MQmd)XExg|JzhKy;Mf+kn|_hauEMHafvfObSbcd3t@TBaw@P zyj{?9Qi2S>NNEShr|51F&*$d!nX5jQj_f$pJ+hDH%2vRG!9GO~13fdfQ%Zs6mAh7{ zuF*1;W(l%xTxqSGr^`zbKF6~)|Cp@%L~5SKowNER+4yvF`nWlRz%=>8LKkw^6zCJV z6z9Eq5tXYkas{PpQBXi6x|h>f!3!`8Nv1S0nR%5cs_u3c2MkPfbnbh@w7#e?jO_gT zJKwn?QXP7XS1ixn$jHdeY$2K5ns{lV7j6uQ!0t|jG1ZK$Zl}8-9AbE;XZ70%{@mNfWe_2l%?- z{A%P-OtZSXALG6^JpH+tnbO} z5T|^`pD}$rY^u(biv$V^x;}YA2YbT+3}Oe8c520)0`UfzM*aZj>-CF>osn6>BwHj* zrl0k35AX8P-O|Dm|LhM9&5xXKCaZ2B3s{4@y7>=)`?a&H>#MHLKPG0%+jF-&0pkz* zrHK)HTq!8b6F5^1wSo#mJ%BfeK|QNvr0DgD2O-IO!!{W?MW{eF|4zdNZfPt#sM&^o zq`r%L_9*dQB416?!=AxY29%!*#9vB*d#x)|i3RW*77p({O8$A@u`#_7&$7%uk_b zP-jsO7dDVGb3*J(+3p^Snv_J7$+!YQqY$3$lOT}9=A*ke%n~86l5!{{q)F1Mm5moa z`gVY=1biqM)c}&RB8J-x$q>O!BuZjY?Sh@9{VynsBuqeI9&c%!)8R)@ea^!yNU~8W z`7r&E22O%Kg1ibIK6KP`raQF0nC2%_oK5a3OFA?-YVH6lCGKbb=BWVVd6KsCuY2qY z$hIYHu5)YFyaEik4VL&VIDKfg_#i>#=U0cAS22(imgRJ)3giR0+v(*{Y+o`uH)OYh zA^#AVdMn(QVXloZOBLq*-Uh;-rlzWYzdt=bKfinVfR&B7zoVwozowxmU8NSMe-ej; z_Ld0?$A<~o1fbLztpxFPqCc1&9=w43q2c$l&yR9zMsVVH!uHB~IiL^U?1fe$$s)B| z@jy_u5ic5n5<(y9a7eQikhg%KN>$wz3u|v~-GO7|mXNeKJ6AV+u^vm;yrjD`uRo@1 z`>9eB88{*krs$o)ww^h{qrmHC{udIBx{l1JnKl>pCSOms}g!y_< zI^QG%2L=kl{jN98((c~h7aPBI3%Ki}uHe(#`T#{iLBV3v@pn^G)(+-$o;MlT5mL6c zeh+`@{yhK2TW{w@H_(y@DDZ2o1_(lT3;Eq2V8_tTZwVi`bf z)D1KyQVs`3@BXBR7e>*irSIuj$&d*7Pkpb~w*ThO=lcfkn_QlkL0H%+>o7eh;(l@D zgipNY`1B7KCRQdYwN{cuNsI0J(&{WmZdjq$6Eefnn!QB7vgVWkEEWlONl7^785|y? z0!bG>@7^f;{;=iSa5ed|^jX360Z7YjRh)wg2+6_xDJ`?Wg2Z|rbbEzL#h7hFK$03~ zrz%WRV!s}$OH3}S=>k1FtVIApp3A9uQ_Fg91dw0p`luoD{LY1hqve1dnw+vsbTLQ4 zEm~c&M|$i6(JwDhM8o1hG8T&@i_^Eht$LjxNfHtl&g5*Ns z8x`E)BtdU_2#gRSfQBM`=b+$Bh+(%yN=g{Q^j?r%qV6gt{gHw zy-cEXAZsnx^{6w04O*tsMYA^9*@wUhTCr;GWV+q7KJP|PY;Q&WK168!w<7i3P415O zrFn9bEYfv~)$=|%cURG0@WSaoD{?m_1UsnceK8WXO@;$-QYK=XqZp8!%E+*w78aJi z-wiE#!0Fw3JZhc>UO=)(*>v37^YibU*WPe#5QGEAb2Ugapj`<-k-{mso;!d+$F@F} zKHlD+r9beWtQyM7hiy;a*G~A;s~p;@-ge!!NgtXOcxA2Hh+xO;jQOUU11i)xEOp5| z#87FyRv{cExYS}GFl~#PITKp4H_8hbaoD!~w@Fb(Rm;!@@W25?1P2-s3fKJRuqJq1 zkXeJ+;1`D?X5d$XO>KDKt~msL0S)97|Jqx$K=*1G5cZ!#$G4^kbKr=i2H~~*PkcRU z;+9p9LAMUPVx{yMlC-K(SME=v=pI9$CQRvB^${biz@lJRZ8+2U2|vQTe9gU0iL%)@ zvEm_F^~dLg^rAaYTt0qWCp0Y|KF-c8uo1<@D9gIfl9yyM*c%OK)?$qX&=6z6=lEK2 zdX|^@sUIk9O%@m+NLX&=&m=eF98dBG=y_5DL*lU_gmEgT03{{VFVYN(2&p6GW@(LX zj4FO3-s=t=-!%7fejBQ&z3D@pAf zAdB%i$~H6(yoS7_d%HR2;b2{z7Q-lmcOuS{u;dGZ0Hv9}vSy3C25b;Oi?G5Bj{*X$ z$7caIAmOS>Hv*%e>muaH(KXB)CntA5uH#u-TXx=6JeIAi4Hy>gZ@;{`=CQ-^JfIiY zS|!{>D2|RoNbB}9*uA9<=6GJYLw-E9bZe`tKizH{fr3vEQSzmFljrDu%4Tce!?SY544ChIc6p?0b+z)$yObu zdLo}1J3(L$qIi4#AMADZcK6x7q?gWewY@>@_L)D}oG*|8s6ag10WdF+Eua=*gQN;L zquuX)sUK3pxw&n_xaLv)@YQ_xVoe9bT5Z=Oq}GE!gmoIrpYMK4GzOBVt+{Jp+#n1T`e43<~AsK`YRo z)P)mbE|1F!NmE2*co^})tQ;BpuuNIf!~zBK8uH*gz=Lv}v^d)4UYMjEDWGlnXwhWOFcZcs8|lSB#spnhjH^Gyh)D7!|onpr_| zge6fI7ZHJnLN)3eDxq#4yJ()DpPq1dU9hKCILIWEAzg-L#)lah3wUJ6=I3!PvkQp~ zdH>$aR1J53Y(1wWrv|o;7Z_8i=qM;Ew)k#S%_o*2>ObcZ!!wET06`l?qw+tx?~siw zDDah^F|oAzK2^d)GC{=H!*2^1zWmx^O%a-grCB$9s;&iizR)vxyc&J>gC_EXc;#Cj^=a6Ib6vR-eF)+4UfJg{%(5*@*5-x=^plYs2akhTpsgA{Er zcvVgcp1Tvf1dPQqf_vU)T`S zE9}f37C5+f^huZyTYYSDh4!T#DyB@MAeV3%nYpWm4S?nU57Iy_ztl}VA)tsI!TPC^ zG{5*jYzM*xcV{QWEY7n^6(E!|Z_jtkqH;=k#AW=2$EW-%i_&y6OA#&95je;eS|f=P zJ;pzY@a=Nb^ zYiq_5OI4Y&6wNe%{AzMWDi}SBUFVNVAel?^*0S)-=+?W^t4!iYDE5Qoin$tzV?a@m$OU|r7$Z!zheiY zZ-=Dc0nKewJ6&q}7e~g)VEsGWV#NN)|cR=mYayh)K?l5two{S~ zT4Rbb`O-vmdryMD*e?vl94kUp)2Ap>`9~Fi{rK@?Cyt*;PEJk}^2#rPTrkyW3fZah zOt!t_ghoP!cGkFjVUUMGHHJ{t6s{5Ae&LV=3yy^qXSK!A6Ep?Vv5sbv<6cGeOK-FkG7HGns2r8YxbIjz<(41qI0v?ECk*X z2!Oi4QHIlns<@`@u(^;g5D7;XUU(7VH=7!p%F8QKgrbU1zOw%ST-+m%J~})kLlc(} z?+oJOdo_z>Z%IgYPMC&~p^>}qy1Svi{_=I}N%vLanB!l$YU&7D8KYpiG-)GRWm zhENo^7t$&ZFw-ncd6`S#rHWU=Sug9$>2Fl3yX*}Gh#H~ zfxbN3)ztwgYAh};Tqb-#C>lj%r)=Ju01QE;p?C_*K2Q=wbDT*`4pDEkoM_>mBG_xS zLUqt$xQ0Z6z(Oz)BJsGK0o8G{Nh;Qj&sQ!7Z?#r!63dHwsyT+GWC!Ey6OniUmOp}n znOkr|7O-#{q=Tgu6;w2&Lna(c0!(DjF`yJpOW=W76gYG&4Q_2pk$ncx0e>4QSG(@1 zjHDvo^Fc5ip-0Bt$n47pupqQ*8sFBFmzWPZ{sELJ8+3D7_rN%cr!x-4hxI8#Y;DFT zGgTrcJ17@53<4BGm#9}uf)o0FyhV`Gv$8AfKNYAH^dtD(;W8)~DXJ;uzw;wg0k)eMq@CxBH4p~9GB46MBH z`!yn%iWq`id_eVDvx#RJibaZ^jjvZZH-8)}+0T0ahI9NiX!RiQyan7V76Z@xe zS2laBO7mhKCpG~NBdb@h!FXQZQ0MmtFTHeiQ&VGEv?4Yh*Gaiq!%>1#kP=hlF%|-? zWK7vkLcw0_sOr0rg3pc*KvYI+iF>)4Af=ej-Bl0OFE^wt5A~3_!&j(88RC*qfE;*E zY1v2x1_smkdQG85Blxn!55`j)_|h8!!je5m5f+hHB41NAhJcR2Fc=XPAztD5i7=G3 znot_U1pXQy$9Dr44sS5R2s(uq$bu3|WLm~4K^VX-bDHOn34gP=#9N~+QA5OkTHDiP zE{;Y^H9!)HX@PDuiq@s3amd%4(O6sCg7SWXj3H7MO~hrBOgkAGZ6f0p0jeIJXkaK3 z<&&|gn7XM79YJFzs-L)IQ$IF-8X*GW@s^cE`NIwZkbO+6Ku~6+CFr9bL!m&GQ?^4& zdy}#R;G|XIXc=DxwS39xBR{B@w}`d04FOnhO_&@X9-$@RQr4PthQ~jiue`-U+Efw> z@fF8L@D;d=l1*IX3(W))DTl)a-4L<-!Shg5S}WktdJd)v22-IB+J9O*8OKXwI$=jb z+F{J7VKkp1zQ7i}7K0Ht$ysVyM^mLD*G#ZQiSh*nStdC_?HSEgkJn!w5+I~Fla7HV z5vPw&X$U2t+a?{pj^cm=F;uo}EXPOScK6Zq8n_5O~uN&NN}|tON$POLua6F%7TQ8 zxrb8)x2AP|Bc+KsAjTAgA~`yePA2cae+#EIeDM9hTwY$fYW2#d=B6b}78B3o(BUIS zt*MnJKn=tl&=jbM=(mJMHOU$*meF-Q*8#}XsTWOEg5}~_7swi#3BBS$w4HzaueRz* z_uOAA$?2Xg4-Lw(I3hn{wm|Jt=wqMJxwt8|3wykE4UPCEUb5^f9jJ2m%?$3 zDAU!|rSbUK2*E6jWw16ug^gbT&Xf!>hL6Mzn7!5|CG4+mY-(Do2-~&s)v1YzSVLod zcXtnA!`P!cHYVnk)&e0wM62l$t@7pgU-epj5t%er*!7Oz^ul1L;mIHk(kH=~3#!I1 ztQlO+Z4&oOOBbi__p8_DP$zL6;9)nwq|G+GP&kZ1n2&55oupQ?rl?*R0Hmyi3oq1u zyel@+&6oG=9vdCoz58VVw`9rE@`{QztJj#%B(|FId+xcHs4aW;>|@%P<)O$sAzN+$ z@6T{}&6>58vuxSLa4P2LD=jsYySJ|omHGA^+t_?KIx^0OqhrGmW-Q6-D;y72xRz$> z+O&BS5_SK;0LOk{Q3t9$U42k)Ku&9oiNQTBjyyegeS~V#@A*c`uCR zzI}V)X1r_-#KX?^?xw{a;XLV~7t59{D=m%AnbU^64O2y{9)9Hh*aRCCHCUQku;gA2 z=L}zd`8pIy3l?0!+QE3vC@^h+a}2LCto=J*MA@-x#}3$cmCl5nlqHsoEQx8`gT$0W zCX?qKrKVFvFI%~K6@1m=MT_Bv1DJ1!4O>^w92*@SCOFylZ9B%s#*QB6*s4T><1& z`OlOoCw$HAB8){3=~rKMWkqGh{CNxDz;-Q1> z*Qfpkv?LVf(F&C)qjYze71xf)8bkq|B{%v#Tu`}}%pZG+5eH{=SjZHlA z@MBo#Zu__I4iAllOF2W^%hr;7k%XW_h9PFYZF~r_-GGS(Umjeu_|mfSvK31&M$(Iv zR)|S0@uGa_?djtH_N~u8#hOZ&?gq$Ixbk6jr4IrHWaD(TYIm-6kg6Gw@^ z@Y1f`WUi|x@=n>NP1i7QQE;$=?!4o{+dsD%?v}F0kOA+H&tXxj+ z+M0Th1`~k!fO8A;0-+|WZ8`vK6m6U{G`Ugmi$VX#@RzKmO63Y~Eo-5HGp5rqt)H+j#XxoRXe-`sp|)3)txc+KrDmXX>Gf zvNG0Yb89nOtT$bKHS-_eb+uWmUf7jlpWU`&cxY(n_U-tzqg|uFB7t<$v~XZpaA64l z*HCEXij{PvrKyP_+O}gmeyTm)J&+>AIm&!907!3tFD0`Fg~Oj#F1r{Sv3ku~zQ@8pIy$<4-+p>=;lc~SjVo8I zU>uuTTG1{3=tn>7?;qIn^2?w>DrAOE$EHvyG|icVv;DBl$_3P<7AS%`1R)Pn}0GgOPXAZ;kp^yAJD+N^x zuzF?RK}LDs{sRzG$Q5dgWh++zy}7MzG^wMr16|3k7hmM4XHjidv^lh7*e8!48B2&Q zLc`-w-leNo5y@=D#o&ikEy-2wTT8FJalYqY;@PQXIb6N^XJl$Yp(@MfG1Eu04`h6Xg4M%wrsf%!}al_ zN9d6#qbRA?phi+WgInpU#Riu(qICCGPqWu71l}wJW(D9k3%S|v3<8FdR)}U`el+Ek+IX4T}~ps&A;rTW)-E;^miiceb~896gFcV*sRsa(O`DIc8IL4k5 zUPWCt^KUpRiwZmLV1U|>A0O=R`(J!!H*&T zzEU*VjGeVjtrLi5AmdsNmqM8mXsJez`AgYl#B){WyN2FZ7c`G+rYN988i31YzYi?=2bnQB5Hg4g} z8Mq{v%Rl_XKdP=Kj+!>#R#gUJM;>|PVPhs3Xtp%Uw{Y(Kc|_j&wVQ4t5YF`7Lkbyt(yB|Yz!I%oPw`|!;{^KW(rcw!M zF^bWl$SRCVhKeR9C$L#<-gISaYwPCg)*}EP*n7OaqvNs1A5O5%%rp_OCY6pz%xGe#Iv29 z-QWDyw_)7j`>9L&kd1Fgx@ItO^0?*qKO>vl$Ou~-jvhIJnDjdz`&dIm{mNArGLZ%c z5-2`!aOmpneDa}(*k)X2yXKfSl%|=Mzxc^x;hiqH6kbTd#wE_~?Ydm`l#a27T3k!q zthT0|rC#P8sSKaKD#+woZq3hqMZ3w6Ov_=CoqmAWwz_B78^Wi7KuLK;)yF^fF+$oj z);Gbvw;%6C=K1nJ{c}%ucX}GRh)wdyZ|oj7j$&L5l{|*4I{5R({}vA7KCL zW$P}3DaYW)Y#|~QHR7>I>u3Pi?@xV#7{A~6#=nARwm$s?GoQV&q{A6AtJ&}850)&s z_#*Jq$AA0RSV7yL--F~Fk4+*s{@I`X2`d6^6LY??u7VYG{Ma#eke)bxjGo{O&F2?f zcu`Gt^?Tm)9vnTEE?bHKRZ%JofKia9z=mrGwQw>+L%)Vo@y?yk6V%}gU-$xBBm(mN zkt>0Xw(|3!4(O8JfIo(qtS4w9wX+(1E0ROi(xpqm8<})wB0hn^yraG2l~?wICA8)| z9(+ngVPu?!C@IQ-bea;cwU8~48??(jDPr+hEcx=DJ?$Nx)m1fMEr<>j=fu(Dz)hIg zOE6?bbI|9-9<9=<%HRCW-(opjwth7NY&c|I9b|yKDVt_5wSDkIzZ#pE-1h9#J-t1* zegF2M;UShP!Wfu=jvIRJBmMn@|M-vp)ZNp)ch5dzWB^Ol8AzdM^gi?1k8_rRuuryVGBt%D zhmTdrAH4C#8yFq=ga}eu)ER&Cw||e6yY-Pr>1J7Jw5GP|{m}-LXPjd#W0=(fb{C+PwW#;f_KYep`brt%+zW)Bd{ENTrWFNuM0GsWT z=|rS7{7W~y6HIvVk|liG($s8Q45mZD;Q#pi|D-(>3Y06$gF{0@PdxEBYS2s~g=cTj zv>RyTYisM+F%GSnKW{!1DvSs}{MH#b{pa&Wukeq~E(}jQF1Mi13x&4mY!E8@# z-HNhfazglrK$tKY5GzKLCCMMV15vfF0J-vO_L_yjn}NWr0Q_d4Hv7$4A>i0Pdj;`y zSrq#h*H)~N9P?WiEe%F|u+C3yed5H44v4%z9Kw;=5SnP0--1{uR0cL%i(L%T6T^VF z5q~VQE+h!F+1uUMSBzeM04s-4Y9dwQu458~iPK+Cdp?9nG+dd4KcWSyl5Z&~>9=_!aA6{|*f zf@Lx_#xnvHd|)h<92+iv=z#~q(a4Eo$C_K3KKq%^)>K#i;U9bgYtMxjE`%Mtp$LA?bOIwRp+*p=5eYI?l~MSBsq}(5bLXyJ zvxaeJMnQ&OId~8=9kvfF+k=B69My@pvd2^#s;K?@z~_}_|Tz) z2Qg4|_x4aej4F25xovas%bnBKT2Ws5`?q`y_$*nnq@$zbyWjZ^u97g4xH;mkk2<`o zr-$ZYBFGd4R*^wvm4V3wQHUZdRxYcq zt-@g;o`@x}`Ad^7@sbq+Z&w~F!)U+oqJ^+%h||cH+qOS*;&}V`&|rEZ<_!hP$_d8v zam35ZFULNBzJOR+iQ~tPVmaBqV>`#RFvangn=@w)&AWQj=5VBZ>9S>QbLJ8^1vcwD z-~KlGc=MH36i_B23j_w})1UctOH0$cZXhBzn@fwaQM~x_A(*r7?oN2e*kqFRJEx@y z&WtS#{*u7@4Ob)*$ps4+;7a<1zx%&1;wYaOE9}55Dsj=%X;vEI5Z-#I9zOs1&m$gO zxTp5u;Fr-p`xzy7r< zM)s+vpT#>=J4-R}Wl*dnCom39#F${@Z)uWPtq;R1%Ny1ItajvYBlcSc9*n2iSy zA3^QH}Wa#z?~<#40x*E=GnMyKhE^NB`-|Ult}r zYlspp6rp;s88G5MzQRZg1-o9p=Zm;d`OP+0ucU;R~ASLZ7SUrD4A zxQPr73_tYH6Q~zayn(PiA2J5$G6B9nF07TQ?9?m!zLt)9_p^E^! zV?;$P#AM1G#GfWWXa*en*~w{vy$GGnK-bsRqW=3Y|Mia%2&>A=7$Bfb$$R$fVV)d1 zbO?G~Q(ec5LZ|~8pZMfQ5wM?p@;LyER|~kp4j1&&FVb-rXE<;C z9I}U{M7vwSqbzL#hOkcE$qu%%ARZb(c^4zTn!9%phiblnU=b?|DuYQ=Q;A(WUi=+6 z=(v)p>RYvv(OQ4S2B6&3)Cy$4_7)hKsXp4(-3`rR@{@D%lEtjn&wcKX=qW~KMuDA1 zh@D%uJV8(U`um{uus?wJl2w;NYq%gi*I$1f>l)&Y5dQEZ50RgRgEQ1)k3C*hRUO7- zI1p%C*vcswbd0$@*gpXDj(2pR;3lFncwqPLJw&=xAW-jT(3FzP&VNpD9Yx=``!;f`tq5EWo#} zs%^4lAE=IHJinL*I%>QACv=Ib5nC~Z|^{VKb8Sp zq|i4Q&{U)oMHm+=ADU*h@W(Ed%Yy((P0UupGMMdCNm!HElaD`v=6>() z-FREVchC)ZKbZ1{rWRatZ@A%?5FHyDa6&7;YUAZSJw3Z$dXZ?c$IXU0!l@@EzTWO0 zJn0E`O6TX!n}=Nvu5l8^OD1{AP)v&{47@=`qqrDy055o?oJWSBbm!TqQ;^+w2x&3?h za}dje_umf$j(4`>Y)XV@*t?f^?ZPeuUxEk0@|DXt`DMd~by)Vc+;=Zfg@b_;#8eC8 zc)nDq7mAFv222#xHP6vxuTv;`Y| z<<(cRT9IUkF0*szODGGTdFmPN01*76-5i1#EpZjHK=@wqa6-62E?>na}BEC`#_R_g7c6^2#ARho5@tNt~7k`Xm4&jj>XzYU;pCYu2u2X|G#* zNiY~*zI<_0bKQm)FGm5fZHKl7Ko+T<%0ZGKH*Bp80c#w+5~IUH8yy*b^zp|9{{siq zFxya$y&gfU^RjMe%EpbCGtiuwfcQ!}hHOG$~0Yi?Bj{?u1-1!rf4&?@`4}bVW zB_)*zk*RoU`}Q4>otJU$O(qFKjJoRR(WA5{iPVVJhV3ORc)X3Z147gWH7@_?7kWTC z2uN`t4+bKeHg7`CZ*FYBSBr5Qk4-%K@S|)|d2#1XRFF8OXdXiU{DGZ2U!WE5c*nK0 zeE$3eUL2iu#FUqAB7`G(G7niT)TMpDG6h2diCsk&Z6bx3A~?y>*G>VjmFO0(mV`!_ zHt~gqO3h49BcuUNrnl1EFdXQ5KzhiN3ECQ){P)|xkI;MQ&=HgnAU3of zXeSAG&mJ0rY_D5)Y1^E(rluC?4yYTq^9LSyloOO+-1$6Ph*=IyC4xI5d+*-8pH+GN z_1CiQSm0E#dd+G!mOuXZqgbJ7Ej|SgK5#$YJ*W$yO26^ZkFY>sR_G%x&6N4zy<3D} z!x3=)kt4^UWq?RMV@beJ(LJ^%0V9+4nJsLOk>iIthkr!U9}KQox|FbRD8HDc(b5R@ zKK<-7LxV%l?a(Hd&J!mDf+tFPI_EPe3)EirUt zw#!;DS1TDP8Ug2pPgW&FpWVN)@z}!;eh>VAV9y@h{zpc2E<<%y1uEA|)~j#mBE{FKe zUf?fU>Z}0#i#DP^+x|$0StzEL=Q3Zxaj=l&*`pjCX&uM>Yv=puOy!rEC zc2})h0qcuzUjM)tLKk}9J$q#tpmuWld=isj^x?@=j4}F57Cwh9JAV8)){Jj{^BaiG zMBSuO{;*U7P=B&Q?hzw5Z;}8kX)v2%+hku~@11wu)z{N=$OJYG0G9$UdBWwTmDSa3 z*@Ah!Z2fvRGhV#p!j|TSwd>a5r_kTmhf64`Ys7naaaz>U(t^PgRsaaVi1=bLG&_`s zw>WKPbZGC~wl-WAIX;spDuO8iLc&2*?^yeR3?l+RW|66}SEO(hg(1Kaj%y;dkB-Iq z`-hGmJ%Z&H0|mj#YHO+*8|voFokRFH-~&gsckgbFjQa79eh6FU!~6oX0P_cjgSQ)| zEl+VvYwN-b=fZ3)T(|&#?ArP|T&V{JdSFt0-Tp;G zzylAkVUh@|xtUbV>C^sbX(?7~tkd)6woztdV-1_sR;^lvYKyVRg$p(v6klPCLUuyg z!JMM0XuEE|% z#YnJBCd?69ThslEmM&#nR$p=nA{0V9TAJ zLf2_yL(`BkeH>eizW^doWkm(UO(f)j!GXK)x(j>Pu3bA3S3p>d1_Bf%M@mr;m0{|m z;q&LWGAHXB>v5JwY-?|?Irz#!B!8iQvA}Nh8M~Q@U@7tkm$Ni*V1q0FSe4{;y~SLH z*Z^wt1?UU$dogQEYeUr#2HWQ$e<7QbHZa1X+GRqD*A4+<5|9?)*jm5=o>4m_R&W8F za4-z^UVqtod_LQNWF$H=nu5#`uN(E#J@?(qF3Rzt5&3d!l!{9*d`BWD+K;2s!a)kJ zpO)tOnrhTc8&9-%?B4xSN=ixECYvN0D|CL02>qkM7|d8=dk*YJk9OPlzlTsXHb~3@ zwq7XOHXuN(#avCv^XJba6k=0TfT&UIyT&nl%a*%2Wf?sPYy8BqBcKg5Yj{)Rpk7`M ztcY@y-u2>(XcC`%>`8=P@Eg-jdq-UiWc8PTWr#@ZbOv#OKfz#1ka7vxgnhr1Lj0#_ z^qOlnaqa_p5M;8+@yXu4Uff(cBJbdV1LO}xw8+Y&TLUuGN2BYx|5Ztd&s>F?>GJfR7I7y$2iw{6>oj{xI>FAtvBs5TZYx-c3IYwbvW zBuZjz>r-3Rz3B|TOYi%@ds(6UqFH_2z2N)@?!6CTGEj<60orIB5y7;m!TyQwA@CP7 z5*$lN4|E9@g;Dr|4rZna?yzRfYB0>)IjyK0So?TbpdMvaqWEB6Lkf$oytnwT75#ba_As)4<$9hPdG{n{I`7RvZ{*eM<0Eh4ahW|k)Gy=0Pz~O zj(MURg8J+=3xT%)0&g@@e$nsJStZKe6>m=xkqa*JM0K1Q&I~u|Y6xS;bAE`4|vr z53XC32^UKi5eHJNA!>yF7q2Z4vP%=g4WlARW}bNB32cMcU3Xn|P5ttvA4K3p@NIAJ zB&Zndb;4qMa`dt;>lFY6n1TZ(xMcm1^e)lVRb?+22XwmEUVAMgV$uyn%i7@zvNll^ z9N_3EQa!}Jczhy;ODCI{zW(*E!^SbDux?x$J`UJ`vq3UTBydec>Z2@?&SDQ5_P_tq z7a`cpC~>Ee5bd$4B2E-4x^~^A2mrWfR#jKQnqhPJ&aJn0wzog?_!E%iXmw@4Q;HSC zU?Rp2{;jX4_pkr@Z_tZ>;qU$rOxV;E+Ux17ue!Rkqy5nb9{_-gTIu!edg&$h>0PyP z9kFK;i7J@*%BqSa#t^eo5JZQesKevBrFr93SJlP(*<9 zVm>oN8KKW`mBiVM;cjfK!oB(E&ZF&YkUw$+W1Zg0Nh}%;;Q=lWQW!4;&KF*IzP+P^ zCIzGN!=(GfngJT2a4r4XvSkY*L?l{@6$qm;Yznh0L}XQekbc2f(0=SQi0FhHhZ%kN z;fLGX+i$(~R;+UXAIYJ#rkV$K*Haq2Ak6MV+rVpn8((cNmQDkwv(Uc z!vJzNwM-Q11s$3x-BrcVlLDI4y`Xk`7PeBsX3S!XH;m?IKJ!_`1`IVZVlNF2cXYIW z?VrDjvj#gt1EH|xmjK2`+M=gDpMnX&u23h{R@ShM;;O5!=3ZG*M)313_ut!o{KSLz z-b=769~%M7qF82VD&f*a3w^@c(82No~75GMQTtFJ@=OAt$G zWc2&r|F@3z_6P2{50A~#$_hF&$tmTu+^ZPW9EQYB+kg4SH&Cz8H`c<9H(o(P$sf8R&TbO`+3lJ;D5HD6H5sX+hUBm z1enO6aA9_d`bAHpcKL*!BH)s7u=B=w8mg9Mh^IqLZCV3!RCN ze=Vv3H~~bXOc81y!yv3m=%RVy+6<(38L7s|q(NoW=qczLv6t{$_!Z&3jk3uSl5`yj zAMC?Yl^tIv=TR9)==t$_|H2o)NT@Shs6bGBL%NScq*!;_m{SxbNL48O;!7`M5hVl4 z&D-y|gVA~A;C^ULq*U?nnI6o{M1u1d6#5az>HF`$9~v=t9-*Ns(AA*oYHn@CUv7AC z2rP=0iTnV(1g$RhX-?X5H%)`uCOqTzvD*pT0U|1c6y+TtZU}aOk8z%df=;u0VS<2P z!CK<*`@)e%2+*dhuVke+H&(IH;O_e#KGEJza5xS%!01XnsG?{vIGHloF#*t?eQGQE zB;usC&T0GYkN#FgS^4r+D5Bw44W~8iWA;@cC!AA1W^+E&wIJ>xOrrD_MN;lCp{l<{yJ^Fi=kf1SXa) zjjmgu6k;i}w^<0hc?j5cm;C3)iVLdfN7Cd0tn#5!QU41)no6SIo?- znTInno+aV5Z_kqB)Fe?UhXrN^$^?_bN(;*bN6h3uwWPP^7ZgcV8!m!k2_;cIm`mQE zIge(g@IUw$yozfL|BNW0o-9#ZRErfUow}5VD$ea_We+f=nVMdaBtgyiBavdUNfl?v z>NT;`Frm{^QxPx%@#8zCu2ZI*#YCsMXaE;4X#inPXt)L9&7oAA{^|}F+1vxa;Xvqu zNqi)#GNd>Je42n}9Nqjh5+(##`*PEmVrVM=Q5`wq9l68D&=gB3X1@!Ydlt-}kJaV# z|Ladtt6~p;cCyQkS~gvMH5BaT58vd_J56Fk6KybMfVESkR813^rWR*#lBq*)sUi`V zAVJs_=%BM~&`5(2L!$jT3>m~5MzFts95{UTv%d#BJ223Ppuz!=kZ>Kli^xHTG~4XI zLeNl+0om25OwCgt|R(;ut1woXHU(GMr4|3nt?_V8%%vuzkQ5IRbVe zosJI=_Wk51_qNSx{rJazy|lC(xf>a>skIfx3PE8kHn!`9odbRSUA@DZVn0!}vCJ%8 zc5!({*{+?tpz+KD#P16)x`03+(FnHs?2)5~Fyd|9x)rhZbAR^Vadp4unoTeqJGO6+ zjg1M!0G0^Y(a5Tm?AL8WJ;ccD+5a*oYrK$?@rghn3a8UQG~f^V@vOsb64%aXd1%w- z%~*rW78Pw)dh3;iJ{=naNigl_~(EA3hn%hzx;DlHtDHktgN)P zrJ2Rp-q8-nmChumvMD4bkWc0yK$FdkJJ_GV^%ywJX^b1l_&E9i5#&`q2;ZBZy5B9e|(#FdX8jap}-#yu}Ddvxd!#mMUQV~axPJzuZPsU!sMZcp1 zD9{Tc&pRYQzgSa|XpsHqEv;0BD$h{W5Pppd_ICw zr}&rFMZ;(jL7h++=!jq@mo`Luiip)r`Os@t1irY4I)scuSf&;?x1rT|F(hIW5bscc zdAJa05W^p}?Nlr|K8h3g)14h1gF^^-Qy>SxVX-hkRRDw)5QjRB3=FX$>ggw+=G%9^ z>pBGL;i2*A^fagsfa7J2fawHXz{q%V#uHZ9G>0e<3lLmf;-^Qn5LFPZMIfYkgj%z) z(~1N~;&wAWJ{9m!5qX4cOhUE5glE8k)0u4A_K$rw?Z>-WLC23A#nSE$7E*szx7}!g zpq@ds^zXOd#xLY(ej}ywh*%qqWQKbCfv42ahLH4`7H$zXWpn@#M;gtAZxL=;2g zw4nSE9q&gW99}JK!RXQzZG4bqszNjy4J+#>BO+{xm0N~*;FXyQ1o@g^0_Y{;!SYBj zH92ZQs_q&<>O_cq(1KejW4h2e*A6ZvuZfS`sW_%M~8urIk_Go?XxFJc0idTZKnQ=_BL9 zMa$hCbrf~^BEhWRyLZoil<(IOw?bk1z;l7BiYjIkr!yeKOa7(5iU+y*gZdz-;+~O11T`6~8Iw-adUncUf9g8Z7jJ$Tn-2UqG75PH z_h6m%m&NOxJ8oupa5XnJF$C-uLwEb)OZ#C=4#ep8U;kd=rNIz}~%3V@_P5oqU}uLDni%5411}i@#vO{Mx$OkN)Ow zV5wNO>f&_jLd=Hf(ZBLfUqKv)Y61;7s$dD$C+x359PVfYmJ{tAmC-e&_T_|pab@rb z5N<3{7@hbR4&zObK79Bv!sI|t_vqjtItlUBj=Fnr8a=`V`B1RXtm<&eL9Bx(4e;WMix&bdZ+Jo!f>%VE(+hh=04D-w7v8fqt)q2SQbsSLnE} zef#%zc6D*M3xjgJy^Fn_3ockl*vy9J1~fB7y@tEN8dgw@U%ny z1N0YfOnl)8`NMo5Y8>ZiVPs?XS6Mkum>~>rFyyONu0qaSwdxZ3XpXO1Yb+Cd5$O~K zvM}AcW7=Se>hBwXGr?;S#tffZ;K24`=4w?1UY1pGY%Fc&2mjo~=Uf!UWy?nVnf*FB zHvktG*AYzkZipmBG?nB=CHZ zD8D3;uv)nzTj*K;d)S3alR$kSISCBm@D&?2VD-K1vdi$!z#A4T*{%Qj9T?L+dt@=2 z7#ju7{wWkaI+2J%94HM#8p>lAaVm*o?ZS(QA>R^DW_}by!RR%y3smWr1D;e*q41#fcL04k8ihtQ0BLKnezNbcQ}J{tJTxLqjY{hJJ8h z1jkgo8G#DeTsUfcvZTn1$0U)p@K;5W?;9LIU&Wy>ef_YsJzm2w7e`lHC5i+*a%~P>_|K1m*`+!0DE%8Y--t7L}XR%g!eH>u*wpH zgEDH7REjDq!jeQcieMpu0^-AHxSkQajc0^nwTJ&TN~ZqM!9^N2k{peYz?;ns4h@hE z?+IGL0AX#OJAVPTR%$1p5+=UBzV3bd51_oD8JJHs2f(Fn2_OMU#S6y4vt0EfoP>k^ zzQJLHka=?&JlSwvLmi4Y_xl7R@#bQDvK1)OLE z@gLR#WU>fWoc_)~^-mdc@S6eR%!B%yf2&7(wxysa`=8OGD-y|UQs@g^=ykFg=nG;t zx?KWW1X1x!rw<-Fj0&v1vmL)CDh6AsvDlO4%|tuVE)qOUk%Y%bhH$#xw*A@e-mdF^ zX=6zV@q=+Z2y!Sk|2X)Ej;1}S;s9DyNr*&O6f7b1D7DedWYhj)4k-p-NnM2i$Ury0 z=dXs1syG>bavYa;)Ev+}bOGp$CdY7ENrT~0m?Fz#v}8zV55$+1!^-6!@WQo6c2tBg zdd@_!%NZl(xP~4{YIIZ^h@ebE**OV$fO!_|8Vp94E?sJzjvB0;DV%FC9s@*|ufGfh zA`r+75HHFDhUaq)AkM~scW;4g7eOWfRO z*!|3GO#>ILErOGIJ=lG@hz!cc8lVPv*r3ktc(gE7q?xasW5QR6)%-w*08nTG31btZ zq0vxZZyzWKA0HrDTT_Q_3*b{afz{Fpw%$l;56WjPJHnxjVWs{OtF_uYR#yE->sxe6iFOXp&>xfd>B^{G<+W9Jta7 z{)s|klo-J8cU-6G#uCV^x(q(LTWQ4;6AV4UMPt~h*eZ*==JnTI3qQU1qJ=e86&GE^ zo~Y=qozJI|3CJn^huP5uKZw1Zj_DFtk}p}sYf{J><|Eb`aXTo1FPL4}pA|fY9M~Kr zMFL2DXPbrd`U(+L)EuJua+AaFTGj&~%<+{9g~HZl^%)ZyAxFnXJG;6mX6~FOj^Kr# zpf!|C4b&cr1UcsxEjw%(`?uS%_O^En^!6m<#8vL04{R+i&Q`azw!tb4_4dLu;yJ0% zXPkRcU5zIonvvtji1gV`h#vYwuvPknE`Kzu)71?_+1}X!PY0($JEa-&$%hkW$o$ITgaW0}vUTe&<0~mE zieTVmQw8qSi+zGSP7b7CAL7m^!oVRvBbr9Sfp}PFX|R^X(8DFdeNCfwk$(Z=D^*b9 z>DS5WaQYj5QvkEb%{sAi@O`>$&=`IbK`}KmU{bMZ&YLuBCGp`*i3N{mVVK-o&4c_^ z_?%A@LZL0ZVk;bp>3C8|M^@@$c2WC$iVy~%{P+gTi-7KH+GrkXS1@ZsB{5U=$DXYg zdZ+}-=JU$xQuGnmUVlBSps}fuMSb+xF}xL?e*8(!t!3XR+$XcZzR>V6Gbzb>nhSzu zosi4}jM(@JY9-QKkeC6XV1=jR+H0;w$>j{R;)jL%{$G1<9;Vk(-TC*vFH(1Fm#kfu zEz7HHWLpNz8XE!=2;mpcZ<3G<$&;Bde}rVn^ZcF+gh?hOVM&HCPbL8ZB!LhN#()=M zRvYiemTg&UOD(BeORM*N@BV$h=iJ+UTdlX%uhg&9t*)!q``)*1-KtaHsycPfsZ&+z zylf~%GVJ(ccvFnL<;!bO_|9OH;XO)a!nUSAC8c7d zQ=c-oAJAdZDhn5Jf5qX0Mun??PgfTTITjK5-ADmc2}am8oo>f})NZ+4T2|R?ZP>?> z-R{oLp0d))%3|jBSWeto*@ZPTTUIaUInse$qcpB81Voqt&VqJ$ou+4%xR^*;WqDaw z1-cJv4-tt>F)3ZHyjf+KBM7q?_m+l=%{__oDdPq4&2V7BoVBEN{%iouQ|%!OD+_Mbqt=pLKL zexnN1Wlzg<(I;_m9B#J@^9E%zd`6MDXK^G&Cu|kmgg3#@LEN zD38Y=6lw*y2lV^I3|8 zQxN-_G8?v(yTf#1Ru5n15bMTOd4 zlKDV!Pw{)$D2fqxNIB9K#asvsY>Y#U`pDMzkW}VQGH&p+}gkWMUA-rf5rvh~=omzP_iQd4^3Rm`UI# zdXA{H!3kxUcbT>0lL3@)3Pmwp)Dw-%NUgfK03d*r?Z2}oXuBX&3-4h-^rm4 zxs2*8uB|kkbo{QY)X;qy3D+;?%wL}iS&`a`amMvStw#;k_!Y(g38>@<$g+{leDiDz+ zVtQ2|LPrVkw>y4#~4dFN^g-_-Z(JF+DV0+V3QHY*FKYuhJ zazdfSevhOgn*!tb5G(h3*bM9V@p{U-bM$&Cz)agJCQC5cFNA5P%5@tztX{Pmzy6-? zKBfm7j@L88Lk-~ph^%(amh}{9{n~YuYTqj_lMdCtj2*6)E@3C$*0y%c2MzW0tnQ=! z@K@H_WA+1SYh#A_nP;BHtDGIJc;k*;Bdp_HR>RNY?c2A}iNG1s+3QwP4RTh0|A7Ph z@i~0#`;TGcKUiDK1Ra$^Lz38ta?2C|P7+$vn7eV~ChCsD0;8|r7UJ?*kQ^exTUBfb zsg~(|nsDju?P6gY&h6|UM#8k-0X!o)7!#}i$XITnG7zY|BFLjl6+r6t8HXjl)q10! zG$l&HlF_#Iw!?>yVAe3TEo)#{ehqlak?i1LuM)RcCUW6UqE(a*1fTN~X`&28p{g%;$X1I!}+fWiF!cI#!!MOMMXr!Hxr&FVc!r_Ud%x$f>b+{2o+AshZJDl69~zDeWHiMe$fz+ZeiNC zoKNTan7T=WVP=XK=up|@FL%@2e3}y%&A>Xim6xQM!(~JEg2J*gl<{(R^Ts*@R_Gn{ zSp;N}Y|Pisp)*FSJ%?0FV2j5AOLBRGU9kAJ zIHYt%mpYaI7{3z&FdzPmwa8pTb-)Cu0t@HxcAdC`S&~GUDprfa2ZvF^Rw7YRR27ja zl;@(^&yisq?6D|mA`{rv1L4uig;=ypwQfdq>6v-3Xh_Ae7+_iNLhd*kOH+=@FCIxh zLcq`(CUsY&1-_-E(U%U@&x-2!mp&WN1Y5=>F4xfAD>*36|-F7SH z*TsvgDT-#MN!py=&EWuLQkEB{cu8e+)cgy~mQ9GP{}b6u4W{+-x}mQu#iu-PYkX2I zWt5?gWkfQ1NP!%IRLGOD$xI|7Qv@inb31>aXzDLZcC_0wnb1B-g9&nFpsZwQBP-4m zgpmTj(pMkB<4mi>p@hbWfgTPmo)Kr9Uo!B0y;<6940i8c-9}GmjWQ zn242(KK?Y^1O#RUfuI1-3XBUk5o2xeMq^Xs%ujg0Z{dn;!Z2{+^l3yt_WVG?D;Q=Q ziR?GL;q^%Q&piJ4U{7CuF)M=D!WQLySsI`0^0_m0^!{RgC+slKy@5KB;O#NGIlaVLL}Bwn6JEzl!Fv+ z4NwS(CZ^c1#{eJ~V#E%p;GsQNd5LF#9zwv`7la~J5lO2b0YjN^VyYJQw6}K=o6W$E zA3yf-6Af%l@dtnShbvYryW{p9L&G;Nsa{fFf8vv$`7~QoprkO0bhWpWPE}PIpM6=H zs%5}HK1DL%7L|bCuFFeEWLHwQ-O?^ODsuTEcAH-OEAPLLNv2I3HlYdD*0RA;(FN5*@;GBlM!R|q??B30(NcZ0R=E_CI8`iC7 z+M=wYf@vIfFj~EO^`;FQ*nEqX%($@D9jj~P#G~vS=4P2_jOYy}$Y82R$?+%*a^yqBf*z;>E;KDB zKwjSc3Mo(*#6f+cs+hdu^hjz#%ly;_XbHM_k;|%R(x-=$AUCvXKCS(zh0{Tve)?&; zAuG^`z!CsiKFlT0*ETS1PyD31n@r8`Q+vYi&2~y~VlOC*Poly?sTh)^Xq3T<3g)!2_!QB**&`UQNalKweT9n*TQmmE z>Tu&*vGsIoX4iYV7$by07^P;y)G86uZ1*TwgJ{KFhfXIwQ9nen_AOV9ONv(+z?R1# zlg~2YB0M7&RaFo6jr8?k#KOcU37gBBiOBY!d`86)s_-b8{8*$wdF$(0mp(?XWH8vZ z>n==D4}J4HYzQ=#SLCdcG_-O-rBf^NChDKktc;WBOZA*nR#G8@#rmt{MawugGQv5= ztib1NaWqwI4O&Pn*Am*Tb_41kVxxJ03~rLbdSfQo7Wcw!^3_V;RI^+*4OB zXJ`IAv=ZX$6?l}Ew$j~km11zyDg%BNQcG%Vq(%Z%o;3rKfl4j&+hlgw!>|4JA+) zt&0+Q0qv7@%4C8ZqEQ1cZ9I2A^xu9DGw#mU?WCo#R|)2iqetsmyTESVaInV4CPI|2 z7BTg~H?Vs1)^GgUuVW;ldvbz(8{2lbca35+Dab>eh5$%aQ&c5WXzah*cbY%dusAbB zLadEtU;;_vHtKp@B9KV-he3fq6@Zo2w)r(98%&8s5?u6Kx-Ehdv|+d89hZFIG`zy8 zXQZP#LXbgO#v8@9K%)Xlk7f4#J$QZ7w%MaQAM^IGScJDV(quT&VsGjTx$LdupI8%?kA7FV{<#~Ozz0^XUUSbq_h2b!s9>kfzx~_KF>ls%`UGsfsAQ$1mJ+fl54pgx7B^qZ87VBI71OZz?ES@`{{?dJhd=!Lh{bPs{q4+| z;IM=`^qIf>6a!>=^WEnzrz1%hC{?lg;LBdg!gLHmIk{T+gk*rg$DB_;TTp7cfED1( zUlo;=mvGo&PkZZdey`>eZ1$XF5K1Hoj`R(Vu#K(AaAk?=g(|kiVgWhlZL%{KbD{;s zxyzO=rGX(q@|0a$sA8+doI>hSu54-qIL!kq`X%BeCsy-^pg}`qCYafs=EkO$rWUkK zc3^gC>cGMM_;j9WY|qImT(pRprC|*Js0tf5Y(SY=yts@5FJ6B66()+CPBnG5cjCf| z^8V_}ds|yN+nTy?4&Aiznqm&JSX7M^c-6Y~Yu2pBW`IVz=hZ#b_#j)(XzMfZN0`!1 zGg74xglNC~Kt9eMq^W~u?Vi1afA^v930S$|6>h#}D<>*P$YfF6}55vqJ~73x7rVQEorksJ&$y$mvWt0kt0N0MVT7YCKrsH`QBrb;wf z@$e9=T4X}o;1ltX*C178w5Ft%L<;Je5~H{$nu2Ca9L;u>M{Yo)3QT0~kK;yz5pL zr?NorOjGk;f9BIDz^v7WYZR7f=HJaUQtFhL25S=0r;#opShr*`#>x`h1?rDC@Vua4 zlLp9)-5gL1b70nq z%voCiH1tFfA=Ws?TrEG)Vc;RlH~~q=eTfZWilQMlawy#CQ!p#Ir55T6WxZ;a8h&vr z8JmQ#@6cWP28Rnf+Fskcx4pBoOeY=}Ys5$2uCZokON;S=E~LwkG{JP5 zd6CXIirY4SDxr44z-mDHtcPV-p}>(*Kupad=u>s3f4Tq#&PKMTETJ#O5A5l=KNLIu zJ9mtUP>-llRN5eaR6aa}W#?Qp06KDI#iGuNZc#rv#xy=?qss9MUd>~k`D?B6*|?&KH0_(hD@y`A`sXdYZI%76vO%7uVywryiX z&dnb#Eze^Y2u6XbnkqKgE;yk>{^Vn`(ebXZ^%?? z)S8_@M5{0?7alozqCxZ0c{t+b4U}S5Em=~vbg+N8s~rm_{a5KI0~?5W5kDS^4`HN< zX>}31Ra7snsj6Z7aE@L+!_Jw_%_FRzXIoQw5`h-go88wh>$sdu;Mvyb70Mt%>S8D2 z`MQrUl`)nm;;`@?5V#Zw1O@m~pnL`A0cSLBrV+@5SMf6LF*}OendzCY?w;O<9(foe zH&bM|dg3F*u<_yF|9xi3{`PbK2NzAW6VhQdrSnE(oKjAF3{YyOgdt;bfE`mN?|S#U zG3}EMnc^wOT*oWBUt)V;UPu1GU~F5_vV9W69pf8wusZHR3L2(m1{4NUDSJrKY)zqI zPU&mx&{7yt&Y&mJQjA(<-F1j=*F4w)TvWn``3R%6X@^4c`TdBZQf_p2G-s?}CVHxV5{n?*06UgZ&Oyw{V z78Wt#fb24A8_GhX=_jUoA%K#LT+pp1pw{4p2A zTV8a<)_|=ck#ZA=ObMQNY?dPUv39D2gMaak8}01qY;VJ;-_g}25sJ5D!Ipr+ixRMy z+kq0vCTxPM*+QQ~pjNSO3=Q}8*45Q934GV6&XZ&}+N$cBja#oSIaPs!F|;w2q;{#P zf6b~vj44{$tCfY1%s;c4%_3F{=8YUb-iRo3`V4S2tE{>C+CO__n7wUC*co^lDnN z-sF()i%&fZz)$_?$EXk=`_n&Ny=L{c>o&7J5{nM{`v$O1jP~_1*-%{Cidl+zw({cg zMdgdGy$*v^*|DQX(6{M2BxS2cf!UgQv1SGF=%!aN1I)#0H|D|cf29$=vilW;Ha4}P zjFJzt*;*J}hbt;LMHBCR)tb>K{=iQP0==$UNKT3`Zy_{b0-}0XPXu?xF@Ay&Yb{Dq zxUAgPuKahppPr+?H6dS4SsZ48Dp&%NDQL8V0d4_VvB`+CHRk>}}dbN)wUVhMM}Jbo^Pb6djb8 zUSaeQEf>B6t37b=Agt`3d+x?*rLv-^vb^M`n{TYIZ+Pvsy;{F&mZTv=SWr0~C;2;R0K46)-XG%~78aRfttYP8siJWk2@V zzcb$4a?8!=QLI2le*g8~_zeza`P8TXrn#vZGadQTnV=j4nTW7<1%n_VHZI6y zRJmyJul?GuuU^IW+Dowv^bK^ib+y0z%8N`j4-5}tm^@s2h;_fH3Z>;Gm6c^1+cjQ2Hb7iu3Nok73VO+J#ai>EMOpjd$2hZ4Gh|3 zR>V}rQCGlDlZ-CFr*3q4e=%fKj)}_{G$r8=9fZG$N8B-oYz`EY0;3<}F?B;0d=1@>rx@gg@x9vbVEH8(T(rZ*HI?#v7NIrB9^)Os}6qPG$ma@kUXeyXGv@R-1KjBf( z#6^mDQJXo~a4_{(otq=-a^$^p)oRwEpa3>EwKKwg=}TW`fH-*)AB2&jQkl77k5E!o zwVaer)z{~YtahGAQgqQz4fOphGK6vZL)G%3zuWWD;%+h0dZtKGMk zCHDok-~ux{x$7(o<)YH#T#jjV%Vr&HMsZoJF)%RF+1cArf8s>L2@!7`8}dsq;gqli zw5F+b@oCM@nvP3THl-j61+=jKA;v}p0`@45?>?4=iX!`)$pyyTX6n}fw* zDy0({fFv0M7!>ZhYZofw61K4|FDoc!=l$N7cE42Lz)n9lg(wG3!~%^bEN`*ND1<9s zg_$FuBitYgN(8ZmTjJ2js2r6*#zXSZG2M>LVATB3+z;M8Dvytky0Zs*$lLmF3|v2_ zUJPcMqcWDRQb+{RP^vM;2Rzc4qWl>a1Yv%(Gd{<7n zbw@Szp*$_B*5#^rCQ3@lBiu9&gesC!YP#ZY|7D++g2wFeFvuB|;LMsrmJpGmO;~zl zN5EaSEM#o3ms5WWw_kVDs#U94p;uO3!H9_8HS71-YO=4VmwR^8VdO?4M74t){=k#O zDIk9~+zUJ|23eT2{qe94YDRv zwWl~UzoPX0g+$x6MvI)&ynAfcQXi0?d1s1?$e6mEUXm`dEz_#sDG z{2R;PaQ7R~Guic>lyQ~kq>zWd_b?};v~_i2Q;>m-9;mtlP|ad_Q>9J-L%b2H24qU; zA4Sm5E*RBv1H|0y!Lc(Dsx8zMGhadvHo@Bc`@1{Z zPaHon3JsOz&~VjNYq2N3_04a=3+9<;pMz7u`FIrrq~2CHQU3oZ*=M|Qgl-+UX9hi8qsA^5x}Mt!2r`8to%6Li@q6fDHt9C2X>^C3JBa#tkA>euS0obV*wi-f{UA zqyR0l;($KsiOkP4N-zn`!C^ha{W|TL?VI(AadP%@=cSUeayHMu>E@eICdHS!Xiv0GG;)tl9j4#e*&LdUg45eN*A9t4v%W5 zcj|>sO-DX-sFs=P>$YvB)7@~x4OLau4}bR|WF)+=c}HeU-psZ>r4c-9ba04cwRhfr zJLqw$JUd0;X~!6Stl>DvBO{_=(j}T&31gis(?Utq=+7?E22GZ-AoUx*qc96e#813s zaie6yS3qEP5eN$K?BcmVQ}cnrSROo0BZG8M1}heljG`22;{*(i?2Ehq-~lZ9*u0Sm z(9rOSdh1)>>T{B48Ypt8E-d&Y5kwr4kUE=_&D4Y#Yfdg|z?JDh0tWFhC{P;VqMlSAgs77e@0Li$DXV|(Q>BgoA-Z< zIf1J;U&Wlj%9S-aIV0#Bkd6w?u*zGI;dXSABa5D)9_@S~0f|AMfxV!5arLq#%hs)5 zS6NYcyaDO@^tZqLZPxwv^|D_J`jv+K;X!F9Xf+Taxq-P>W@Sl1z-uy=r`(D}E3(nb z4_(BeL>j;J7nOr>2^I**1%)_7TR8O(jfzhy9?vYqcqnt&Z^fN=-huGP7)$|~31{!? z<1DRfsPFB=Ic-?G$mZt^s1^q#pX8!b*#K_?Ed@6W$yW2pXkOBe$3~CR()tHkg|(yy z*RpD6zuA}sk@rYl9nR#O%R(Dt_a-Pum;lns@=El>wd>X{U$J8IrVTi=p|*DS_V3xV z2RCMRw8rp|%Ur8nWQI(ETXk*iLAHF_)q5xJZoYae%D__OW35QJj*s(lzQ{ewlp@LInhwhyfjifxzmS8jg7dV2;H8xg!u{I zjrY9wod{2dYtaHuKKQ@`>{ry=*(I?{@;wT$=ouJ9c}GFA#>1C$1-etB8M*jFWMX-^ ztGjN;@$lrQtHk&NdVF37DcxV#6^V(7m%Tq)fD>iHaiqjX51lheXZiUYzsWL(+jj26Gv8(9+9OBMot}ICd5j3OF%+j_#9y1|2Y=?$frTC_ z5Y>a!*X+O9CkPSLARsXpJ)*Ux2_5p-ai(QPH*DO1=6TnyJK3~+_e(EfS88c#W)&Y? zPdts}s0uCl%fsUsGuhkjdHc$h%eQRagzCt2GWAYhj%vlqMSK?TGe0WTjU!l47ZA{; zrh|p(a2yDr=N_-85BAj_K87I+AAcCeZ98sVvuf2(9{YEc8Tnl>F4)2l-XtSd#IUq@ z>C$SJN1_`rG{Ez*`0aV^HEc%BE!tS#Ob-bC!d!V$Yzj?rv^^E9N;JR+cql)O!NC*t zO*G6`UwyT;z3qk@Z@}cr;!-fV=iYk}-+`m8wY95DULi~dl9bagpuxwSwDBcp-uU%* z?V{G!tzX9hKOo)L)4gZ!o`&PcS*YLF+g()3=`Y!MEOR{aUe@_{v@c(}1XTrvnNz`- zAwy))KJs z5OA5rN3Bbofy+h|{XWNKL$TE_5!FsrJL6ZP2aboG??&&FNYucidrR3r^ga)n{HJ(z zG6eM2*Pn#>!&G5Mcievasr9FS{=&~GS8IDG8ZR^FqD|YT+eU4+dI&}U}5!NjzhYlS%Jbp>Tlu?O4uP74dPwi%Gv>;zwX|}eu z&}s3)zznfz<2u$&T)lN`#iGSqwq9Ft`cz9hrxp#Pzgu6BP~zJkvX>qF;r5+7SFc{h zP64EVEQf)&;pnlZ<|c6vynzO3qGqC|VKNsls`$`%gdH`lPHV6lqyp2TIL=11UJF-1 z;F2K_6yQq+^+L%=0~G@$Oi%_v4H8Hru;9Ld{*$Lpe&R1av10l1kA3V<*yxB^TxK5b zyyJG{gFANJ1yg2EV74RX=v1V7#z;m~*43c0uHUesx~l5ld)|RtFZzr`lTr z&tb$rdhCbHo*}NoPFdc=Gn{XS`mwB%`It60EiBr+aU6Kq zF|Lq>=BPE}%Fq>E2*nVM-Im|X?Z`1{Y4lyG7m~A#= z1YTQ>NfAt(A}`hsNl4OJnj^37+f#e=FvoS04tp;l2-Y1vj$(sHxGE@19p7g>5S_VY z>?Q=c*+yKEr&wH?XHzNp@ItD@TE&O)TtF#~o=Ey(cI&x&&+;2`pEbB#NA6W35&S%0i;MO*TcrBvN%ECRKQrvgneau;1ckQ((%;>%C9i5N= z^l=mkmZjlDS5{TU;=F(Qr>`K^Z&>AS_BGh1>DT#1Bnzcz}DYT%_oLvbdu1!+-b(E73BS*5J=-6H&vR zZEZ}dzV|)vVX6yXNZL7#eVj<{RdnlrdMaik94&XYHju#wEspt|ef##%->7J2U%&Bh z-@x_#cYgafQQp{XVcq%-HC5G3&CTEZ);CeJY1!n(f_5&>1LqK?|L~soEL~Ew{km;P z@Y>qCvFX7FA4Ca*5O!kg=lpPN87z7p94IVe>%rV69Ha;OB)Vgdlg$G&rKnVYr2K4& z%&N=bL8R>`o_GRh@2Z-2VLI8eb@Td->pu0_ziDo6y8r%f;_Thl+(IwLOO;79EIiDN zz58A7)k`6Nz~jt7&jYnjT>=zD821AHX0ncWycQ8Vc-4UcNlRxI@{=OO-;?% zMX^S)JOS3hNlw4;wzt94SWW|4n75$zl~-TJVDXP%_(!%6#IB2Z3)geC*lg`+`0Z~$ zNd0cyxM}Hf9Tg^V$3QdNp5 z#e+~rWad8Ic%v};<0ig{IQ|!h@vV{860tDPS0S`O{!r}a<%L?|M|Cm6CVLw9{2=saAsdAUdEWh29WQ# z_g?%~Zrr{Vz46rPRt67dreQ4j8PVWrTC8i(Ds+}e;oXo^z@8Kua*TaRfwa+wqFKLF zX+eWedc=z_{+xXzf8m~AK$~ToubQf=k9_1Kw2d!({)@8O;Gu&)%1m`Z!8O-h%}DY7 z_x~#Oju^x1?8m_;T?4Z`r+@eL^&rd;pYoDEdL>QKGFQ>L->_i=iYny=lqReNzQURqhU@qd5r zv((F1zWhbZ6ZnX+F9)p*RUGRKz2LpS^zLew5pCK)D@8&;PJ8zG=UA#!cStfxWlaqm zkBl_;Bjxn<4rpu~u8Imt$^gbGQm4_`Nig=XGhtQz(XHyhjqWoMbS9XoHoN4cB@A>E-f2^iv z$uGa}y{vw`b;pei57nKh8Dl$czL{uD*)rr{_J)NP7nU$;WAP*>IoxqXL{WjZnt1F- zI0paQzoG!NF~iK^ukIYkAg|$xk*u(^re^u#s-+!Wj0eoKt;2}FWy^MmGp*BzluNAy zXw+$7bl%JY7F0iZ7@-X3jFiWHS7$7 zW0urd)sL;8WU53zS-eE@=08iKgfQYOo?mgzdKGGMVRu(Qj|xiU9{J*n9FrsBh$a;p z<2O5FLl$Ejw3(8i2q>;vEXAck&rZ(B>hB)p@0qse2-WyWGNU<#dH5Mh^>wYm6gqx! zY4aGqd@g)a8_Ti%G;D)YW+h1q)s&L3)QyGKGRdQt<|5KTRaRL=*)PBEJw6erGz|^Y zmsJR5qp3aY69OMy8=TpphQY6;y&EUT&wTpRD4d6C>ro?dF4LOZER5o~eO2Tal(%a=;2SFuqdRIHIY_5rRg>I1maY`5*r8=TXAzjRcVTCyr+)+_c5Sgx8y$1Q63veo{ikT1j>ObEvBhgPDXR~yC z1F$Hu6;A)~K;6-XGfl03{n^j0TDkH+{>S^+nrp+BjhnV^y5;tpkf~am*;5@|M$Uw| zX`qjkl@}oru@I42`X4^_6O{aaMU81`!80Pew3ua`?555BFq$7U$94J?4v~)X^{`t|8Gyp%Mgb1%myyh73hAA*q{l+1fn2o6(2AG^3~< z$vT5A=AHbKWgpX~NVt?t#88{Gl0ZLQH9vpNnyXf?UUl1!9SG}kL7<#NBc%o9zx@7R zq3IcaP|@v*zQ$7%XHp-xa9XTAfJ655V2bH``IT2rG&Jmgb$2ftK2=t*_VR%Tzr(KJ z*r%AQf7iR-QBz%6dW(Dw-gNifQkdH$l#>c-7%NctG+7xQTY&QLiBJ5+$rC3J)gHzu z!zut2!m)x}6kMs=T3XB&&{9Ig@l-_QY^lJ^^uw3DMyMP;7|~YJkADAQmbo%lgc|&t zANY;Miz;{QxEV_BxMLTob+I8cI<_{A=UAyy2*GqftELa0I@A2w&wd@hl^0%kg+(qn zbz+CndUsv=^24RfilW0>JRGHXG~#anjDDuQ5{3tI8&7q9^#A))r1@XH@4l5Qmc8js zuUk~f@{1K5%6OmCaGJgU{zq{3{_eLQMJ)%1qT=!)7_AJZ?2N^-)vDYAHiPH@x6+EG zm5YZ9^I2@kL_OrP>$FUbBna|sKSxDy#w_fGQlTAz4vrrMc}1`&c8b7WivKZ>%%qsh zz=DTVae;PY;0UdOLWW&R#4)eMa#&)kMW~>j@JF!y7n$77%_}a-FU`v?I(4!Ywo_VG zRk^5_rLEbc7!TMgFFSvb1*?PK`qsDLz?F-I0G=ak^RRvUX41NImpDvkmwa#v3$*;C zuozF^p@RpGVvBg{=_g@d|L=YO3G*n}z%d2}M+OE*^K%N+m&Wp0kjuXOqhn{jg`sEl zs^9+I-+>=4$s(t!|MABkg-)hYX+`V|0won}GsVv7#YKRB|2Mx!GrsM0uVcb_#quQ> zqH(kyW+^dSJ!vfioC^M1!Vwa^-9xnV62`N#im|@o;hw>4ii^odqZh17+9qeeQIU-aNh`#oYUwmstW$88LTefW7bRElEhK8-i$1s9RnWMundJYb<+U1e&KMJq@ zrFXp>O_+TdSmBMc49*!P<)wLp`C52SCt)|Kf&QO8@yu0Mo!Gi{E4%%#ShafT@|A!6 zw||4>tMyDXiyEGK_L;_0r@#KSullkk)cX}HVK7UYn{{>o)&$Hq%*mtHbGn&YMa5#; z-fR00*Vdgl(QpQ1%^&}dk7E2~iGF2y@t^$9KPF%H5Rsi_LH51;zfLoz|h)HGA&l?VqUWF*5Yen0Uv4$?Ql9xbY-ZW(X;*a(VqZM25Bq*w-TJb;wX zC>t*i9y(ZyvVoNoF3bQV0^sYCOm!hi5TNNKgaY%6M!h5s(mR|$HdS1k`unilx3HM0 zyW3RIENsS{w{)VRad7l`#L5`*A?C3sRce1jLZ8in0iDC#Lm_+#JpSrb&2%3og?7cb26NW%4@TKQpLg;z* zwLKiXf=-1^oiurY{XZo7)v$c5jK#DF5THu+;(Wyv7PIJ7H@i(z(~Pd5>;<(-merdS zn1VRd*!)+Y`V;w zs)_d2;TxGo8&C@~hzEEwB}*oudwRQ{dg>|WQSaD!2Z!OJ1Glxd;T6pMGp^0j zx-r!ZFrB5At;Wgbyr}C;74{F{&MiYpe=l8!MZ%narrm4Q0{EY>ol$MxVo4%y&vrZS zJ_Lea6QYv!OA1I4K^}dwv$Jc@YX=+8v@%N%*WrLRq70nw0R>rNtYPt~`k#!3rJ-gQ z-6*Oqq((YR-Qik1KT8)a=B!f0Yc@PURmGA1@BZ%pGH?HrpZt{bgm&G22Nintwb!Cr z;2=PTQtRM#s8FnR-?taO`s7njF`2x3_bUj~XS9XSXmNQdYXoRnxO>2CySlnhoNDdt z9zrk0Tc2hIJtBoRCwW!n@G3Pzp<;yP{7m%?|8#`jv2X8Q`25@Ny_Yt|4#^OYmQE?) zt2E5Iqo-N>Ez1-3~A-eGjiqA6ia%Lc!SKT zgQIM+je7s7Pkovm^w7h%qL{%ASbM*A?P^?EAcL0~5iGtIUb3M+KbxD*!1-Tz?&tKQ zC!c;29>u((X53isj)twGW782&&JknFf@7e{zVO0}#l?GT4RVk;K#g^Ev&3WYWW!1N>61@C)zaLIj|SZo4ge*ru~y2~7O=PCzp4X#I!YIpSE4PS zIo-&jZcZG72^SSg;grJQ%WcGSWq8byKfyqEH?6LRRW+q$18jWAnbpiE%dcK_hN)N{ zz}&#C>8Yq>XgD}MVSh9zXeHW-UD$(*%)#tso{M1)#=v>wa31#eW_q(3aL+WOZM|hw zT+O;Q3Ivzn?ruT5aSiT`2X`kB+}#^@ch?XI?oM!r;O_1kxMZJw&)8>wZ~yAmRiot5 z9;@n^bEfAYH32w0M`O3zBYZv7`9yVkQT5FoDSSS9*>=;%atve1kcZMt-Nnp5M-+bC=NuvZZp+xuPPaYw?Usj62-=?BEo?rqpBMjtB-ULmqNz0P@qTf#Vd zqRVM@Ii1d%YglzM-KEef7$-S8_S~IY&u)yvx08}ivvdWdbX0*hsZ+y!91cdjeaJUQ z=XIaFHJN{?+xBu$Li_#6yi|tH0h}e_;9+erR!Oi}yZ5DT9qVL89r7w$j8ZS z&VQ}{nYP6dtHDRcL}FC03dk85($rB#BpY|Jvr9BHYazhDeSSJ7jHZ<5$j}IJ zoH-uYvbb}w3-Ua7EhpIczuj8vo6~JE&3>H^WINg}7|7N(Da573i?=|_94OlC9uOg< zDU5xlj*|_Fg6l(l;WM=hhf7!&Twp;gbVcD@c-|op|AiJ2T>C^wK!BFoaaUh$TyK{q z{d*ayJkqVI7#c4AbEeUEe^3?fba3RnTX}PJXJ)Ynqf5k332Xg!{R`y`pvaCI1IHdU39-UMi;&IfHPz#2J*wd>{OFyzI}v> z|C|fQ#ls8P!c{u$q!hTk%w3k@?YEfMg2n{1lxkfhn#aGr8vfCb)#>IzY1S~=XNq(v zwKk8qY`~K8K-Z?q>9pEw6Nx+7eAiz>NZTflduk-L_$M#N-@A2s@o!z+4FN7|`XM%- zF3RwYGNzp9%3+o^de=RJvZKxt`R$8)BVaZuNVVM6cHb+E|pD33= zgw6UGqxtlKp&O$9Q;9sjh?_raBsxpS4SPoDcD&zK<2#YY6Mfa}Ot2D#g;6ZOL*2)` zyWcg&v$*lhmB|DCUS%%KHCn4b)?5Ogr&BrtY#004@3XVtYlyXiG3lq(V!RGAj4pVE z(x{38IU0fcu6t7)lP{J#UehfW4F@7vu_p(CnK-cYB@>x>QF9BTLl7PjW}5a4WS4ZN zAm0`cmy-uFZlZnd9<6R5(lQS5&Tfi+@cUub(I%{H$_Q~5y^S2ksF)}~2Od{*uReBl zZVwKYn-f{!#Z8y^Bl<~Bu9Y%&OOJ?@7P&lF*U zWsdCqBpvBWT_1|-*hf4}_>rBJsPxom=Y+5;?1RnV#|1;X=DT!jo*y#8H97nxX7*Cq z%nFrB(}7D0kCSI)#Iic(l7j&5;G{$%L5E1_DWT0%R^V0A%tLG>N8Q|lo_CUxgw#8@ z@7h&@fcH-crvJPy$8KfWuM=szDVSojNY zx8C1m@~)Ov{lts?y8iiz#B)q3sZuwfh4k&g-s$Lz{wk7wRe71=DLZDxFOm0hAbt|N z6F_JYMlez0I|sF3*PIe%F1DR!qeNIjI+*aKYeX7It*k^*;N~kSRjuICgpv7-E@p5VfwS2VB#Rs> z9a-O4TW%BPoSJ%vKLpWOnNO5FOhZto(g#EdZOET9!>4wL`{?qy_KwF8r>{ry63rQ} zpKr`LxwKErlcq1r65o1A=_jlrGZH-^yfros<0LQ?K-QRVG<&EaOf4y4$yu~fbvDin zo74s+pDK4GY}sN*g)Xah4ge>7MLitIxv`Dj#7B7}Gww|ropC7ZSs7vdwIwNKdWo7N zhl(cYoX2WhJx@-ANhK?yt5z(6zx-Ph{Ls$ZAp&411Xok)cXULuC86PnBxt!x;&#u; zmb(qt!5&fTl~Aa~x9G=JG{=n6{8YTOLO7ut`3;)8fJcx6Ql7}jnM8XPR+J#I5nKAH z>d={kS?=MLw{r^j+#gC(0z8SfEEVB_E7pIShsQ-H6|Lj03B@wpj*8Sj^dblGl|-_) z@S93)kxYew^mgd6WLAF4d!rSA2NKaiGBPVOpP8+8lXl@nxv3d2rI{$h9>NOS)su}H z_6)5D+GzxTGq%|GYp~=^xBk$hf-1Lq19UTH!z>Y%fR7f7dsV)(O$7hEjtTwp; zXS!64)An9rJ=qdih*cSKb<@ZTE72eIc1#Rr>3|;)gK$1KuQ>WIG`G!0UvNVOd0sLN zj|$R&=qFCH7Q;-V-BmD^!DUphLvJE3a7S65T2R4BS84rU!CEY5XhGY5q*Tv|{RS!q zbg_!xF)%Kc+O^=H5QOSczkVEn4EMvb4(?kV=j^-TuL{COQjt*~S^G7q3Lc`FQ09{z zaZlUtT3cO}9;+q9y64ZwCf8up9*NQU#i*sNrwqjgWMYid5!Sqv`c!9IdaYdH$mrN! zxhH`W_Jb_8$Z@2Pr(OZ?+um1IS}bIM)6sA3$*wOs^AYHgjTf&FakhLY*eR-|6zDzX z4w_SPX6lf6{$J)C|9B^%M32os+M_Ztivz~CsaRVw?y}4pUA}m4qxiek6#fvqadN%V zG4P2-e>x-oWfmw>^~?L!|)d#OCEBmU$}-70)Zu4|$i8s)b^zr@fhX zXzhJj3zl2?+^w!R#ZGF)obqcUIm3Fh2XauQxoHyaHmpHdjWEq~9zA-H&c^ylx7(=Q6pAZfid&YK8%0h zkyJF5918@b%t+R1bcsYPHQ6#Dvd+xn$!qj|r`e>0S2Z&aPOMS7thdHQ{AQU^_<; zo5)#K-oQZIOm!wJv$b%Z;ggZ?(R`&JwlOxRRwts6xu0QdmnG)1BXHLgY$XzaF3dv6 z6#ZkZd)(H4W}0z!SXMuozKH!dh52>^J2L z;|?Q0yC180fl~u8+|%qpIUtLl$`ptdk=c}2C~S+K5ul;ETn1;TED`#qg%2W$%G-Gu zxC1^u)mzqQ!C0}9yPIW;@D-4Pu{cZ}48q@J+7$J`vOs%$DKtico%ZO`J}c4LSAGxL z<&-8x=B>i1IAbS|@-%Adjb^m8Q<5VHpq|y>j8J>qc0e3^_G8i}Bs(=ZJ*>|c7-GS< zLMMZ=X3bkHa@Gzch>O5TwH~*1rB7R_`8~#~S~(7-ZGgBnH!p;j7qb##quMFpr3K+E z`?(0jv%6zTzl=gXCb&(m{76qO1~G1EfB>By^V3?XSz=(=H-MY^Lg5VGZ%J+YUin#q zsO8#sij%2sGJx!NpW^6C>sqesqQ(RUF4Jo&clSVVYSOJiyC@Dh(0e^1Rkpb z9GjQk?dORd0gq2GXgT>!Mr?NEyOt+8wMY)Q#gv$MA*!YozI(+i3=b?#?np&a^z_J{ zgzNJeiB%L+d(I<{PXSha%bme!97h>_{vulkMEWRV1eB>?gAxpVD7T3Ke`?U;OGYQ@ z`HtF{vg`?uU>Hh0yZu!-(7h59U66&? z&TNQ2b9AfB%!(l*lz$t*t7WW*Xnf{6O$w%=pM}{(UJGYpL5B5TU+ytacad@U2sxotA3Olo> zB{7w4`s<_cL%C$R#1uideAhWrT|sa_CB10g(H!vSO*m@VRmW+LoZ975GjQ3QFhei}y4&O&;^!ByJ4*&r61_7n@(kR2pM!eE}q#X&4z(yMutSmv|rEIP#$;j z7Ea0yWi8Z1ACk8dl%J;vBV#3}_@xy4s8-|Yye-C}PPA-2TZ@*lOP}l&(~H`+#Lw~M zCIWWm;m5e`OEbI_19pp_bfwly+lHYIgL?7<)NpDz9pdWO@alpv^qhmoWVVVF(`b|k z(RqHde1VOx0Yri75MAOIOw-e9CORxtngD6?wVH3@GL_=v;atiS!Ya|^tS(^L~oj=kC zL&@&(`TH#YH5q1DlD}y_Yn(7X{H3gjUw=uV1WC6Zu5@O?z1W6xvwS>8;S|lBut_kv zlI!@w6XR|HmH; zXQONoHO*E;7l$f}NYN)9lgdqmuIAsgY2rXUn{>>LHC|};Na!=D<|*9c zA0KzBf0p&>bKLi2H#*r2m6t*@R}msSx^)2FjQ3$3gBWZm*5#GxzMB{WS_Dz|tU`J| zY3~kajSA=Yyr_|@XCZRLI3XT3&nMpo?3z|z)zUS5$_|v98E`2-t|on}u-A9B!e3HZqm1Ug z?1SeUSGy60W^iYW*w6O~eT&xP7)kcV`(Qk+QPY1MoOd}vhtTtRS^{mG;pXyEV7;y> z@P;0U(9)=&%~&CKtvNpCqQbRao3+>Ier~ka`5}TfAzj|~rrZLf%qVi{Do0k~%8g@H6u`Jj;v9u{|1OtE0oYX@m&-3%- zHgWUf9fU4^|D^uH8sU-P7cE z>p!DnWOKgL!$k(sNNfwtN4@5j&h|YDIF2GJ|57SJ05yPo;?tF}K#H;n@hF?>VlX2U z3Smn2UQhh2Tsmt@0@0yC6F_tb{(4NcnVk_O=O9|4=6K&={Eh3`?;}+E;6%5~ufk=# zR)7E2h{bQ=4&_`Q2r|dndlW2d=Jin1(!uXlzNrsrC{2BcIW$daMf#?(u?;16j zT1<`XI@<`)85^{c11fym4p5?)VYN3JlL9sg_)v`y`O7UD1X8nUnPU!2L`}t1P*4e% znieA$STj7^$=Inz7K|S7X)dsNn0KZ|Zf}h*veCRXI8{=KU_(z^DAZO5rqZ)!r%cFs zeEhEZykQkErHNm$w%R%bH%doMQ*=~bO-){==A;E{p#_m`oROdjuvclK zHmrFJQ+4`tW1k>W5$%BaupD_%*!?@nq=XfNS^mdGZJ$VQkn)kG2Yq~C3lD=N^)2MG z@l#2d@`x%gGp9S^>uf*$;QWkS-)BWu)N?-)G5a1bhc+?Oxhk52;KAX?HGNBl`t5ZxYHFJv_>MSjV?;1S{z8xIFm7(xw1eU;MI4& z6(bWOmauiPfDY5IrBRax9$*-i*B8p{ok}jle+F|% zJ`tc7c%P_Q{Pq`=69^QkPj1=|7h~}x$}eFf7*6q2p1InfgMsPaok~?0F^prxOgiS# z^nScrf1W(A(&#ujVmeNZHDO~-@MN;ll@q)_j^!uX-kl%eyax6M1jxV-$Od?K`d%fF z{tTYR?Yy8?*K?|Cgn~a?F|mo#VoKGKm&Imd$Rb3g-k)dL1@Pq7lzV`6z^!jtYB;PmO#32gy9tYBj8ITOBM zfLIFl_cm2>JfvvoWf*O&f<3@mP3`Z1W8;59xdO!EhuCQXRMv~};8Z$e_Y#m}&eLoJ zER#9Jazf$70>hPTakdrt=F@$3P&ys*31x&0 z5v0*U2{VcXi{K{4!=2C-2c88-Bj%BQ=lA?cusQiLNqiIYl>Z}m>BGbTi!770 zC>1lFj3DJ{Vw3Lr`n4yVvMyY@4T$<%j-c^5#6zTfW{2?Ll7g4@K5}?;wip*n<`={K z&dKxHYpRF7l!fA37T&6(p6gnK)L#LH%3Kh1-oAh|Goo=!jGs_c(=pd+)$2+lHR;Z( z1=-w?o7@cQ66cckv`UK5HLFY7Qx!g-;QLbzdmgL>>KEolW0E^LVRiBXkPu6kxHRI;Spdib&&X$~FSjnBrI96QueUKgne%YiY%pNf-~i0v2kQ!ePDof%5z z_l1Zpt5q=XjjdEA>%6>s>L214h4(l|f>45Y8MjfM$>m+VVgreqj03nC*0l{WKXWf2j7bTvtc zJ5Z z3UZP=1)WJ{KP5-(9wuwGMj2_vD_CJ|?Ot83nFt@Ul?6vmPjvASdPhT z6ne5aVv5!#NfZGCj2>=#XX-XC;t(O9D9}7H31b}RCoV67-7v8>f;EnRYME^tDutJ| z%!?73+X%X%*C_cegxGmsm_H?=whYh}sKt%H(x6Nu!2Cw($u35kM{jIQG z4;UuwrFN#CHH-K0!hWITf= z_+gugGtDQlb(58Yc#xbSqDX+P7vfJmYTD9;ob&l*mJBW~5hU%heMC+YPTn`&NiNZVf*^J?~!Fg2PQVtC;m-3p~H zLXP0^)>f7=NuI!3L*>o3xU<4;J0@{TIr_eUc&ga16 z`(tU#&mh-ssV1lApduq|!m&~@rs49z68o`cHktHC9uBnQPkQH+l?JLvKZ7DoKuj*A zYMpl^hK#fnyTi*dDU(83znc~+5+y`Tv}EL4a?&Em=d@HWZ# z(ojyE3>S=$X+T}e<>sR9Wn?&t$0fymI=4ylBiKu=Q};==W!zoOWUflvX0BW3?7Dt+5max zMTg4BFHfFNeqryd7vQm>qpxazRsbMJ)!Xd$>Y7`CHkYV|p%Q`#C3I}o8tA7~s->lMLKO--(fnZo4J z*yC_^8KW23@x~wLC>zX!;_wNB)xt}~TnN3zC?l$C!jv;GW`5pq5tW-@Z2Anqm(KTy z^C7nigVvGd?y?1k3roh!`RUXsWwB}Tv*mzlyhGe6r)y02*?+KH!^)_QCVK3Zy?uou z0eq4d9shsVwH3xA*a2rIu_Cxjx1PRG2G9N z1W_DadKYD`^Ic_AexUP@28X(xy{3u1UxATu3r3%tFp=OkY*HAw(c!1kWJU$~cyy4= zlwFm?)mnY<%N|e&QMR7opmSs1u8Wh3&o-&JwnM#ads#I(8+sraoKkF>HyNfVlb3g! zp}Q#=N+mfv1*8|&+?DB2wU)I@8zdd%U%5qFB_!m~tkMYlp|Z(tZ}bi7R{fFy0fEjZ zE%sSeXb0pPxFGXm*0`i#XE#bEVZ)**O#P)rehKq(!UVrWdIik?3>fkq_emaFS8*dw zgS;e?SAW5ox`n%ZgMny$su{?b5 zfd1Jn(QBbsfTi=EKswsm9={*-DH^2F14?YxRHD#_0Ch_ltv*0_JcpZ(xRuqEp;yYv z46_C~Et6dFh-cO&bk?<`uZE-{4$y>&1V<0E^)zAM*dvn&oqYXGapx%E4}kmfOxJsCGObqzYXm}3trBcNDC07O23$BpXtGz@lK+p~3O9B3m&}5z z%ZoBlLZW#odnA`t1{w~`NN%ifxNPxIh0H}_x>2YDEcT~ zdR|@9*A~Q!o5I4?wqnqD_PA}7T+s#p;Y6W-@d*_{_m=Ee?<+h`4ytI+!w!~Y*pR%s zFagvh%OVb>IQ&kIcTPP74R|Lz8X-B&g&~U}4^Rm0neIq!9v8X?WMdjJ8H-=8rJj8* zZ7;8YI_|Py3Hbnte4#J%()fKtwmIHg+C@%UY?^Im;;D{Aj-zv$80?U%Bu7E~8TMSi z*lr)fs8%)kXM}UFw8#^l{${F9o9hgduCMFnO@C5xIF^C>!#Bt|i~={ZS+SNfnc7tSbFe&Pvod@$G%4S?^Wx)Osr-L?I{EEw?rOgju^jmXcuJArgg-z=fw7sWjJ82?V-Mlx#jvbhX%ZY6ADD+i}FuCHG}@ znr}sdoQ!+CV62?Em20{iFHbP|;_#gLr0Q@c^KnMH8T6$ojh06F*vWtmwBduQp~bk`O2ppHYIC zGhwP5R!4gb)O=Ol9OB*-B>NGI4)1M3zVMo)bl1l%=*;XP^WnaEr3{@o!sJH!sID{C z%ZqJ;I_bCcA=NNDJ^v#mzIo3dK78Z5vjq1sy>d+YF`QgX`jA$?F0apIbY0g)#ZXz- z82)`8k?zvIWV~c(Xz=jR&`?l^6s)G=Ms*!r>V8E_k4Nh}bZKq(MBdo;J2V3Q9K5>a zA}@Zz!enF{?^t)-bwP_FUGhnbIg^L4aRk$8Y)}A)IGOn`6uW6{ ze94A5z*8D(1g-s}s{4{=8Qt9Dd~~TPS7zQ-*`zM7{fX<$SGns(RsNTi$ERGjY(43$-WLj*WJ9@5jOR4W#DlX0@)J@n8`|yvOG!iy)m-og0|C@#Me;0?iLHtL) zA~Z0Mo^6~xEq&d0(q~zh2}pgCZeueY%1n`O@P8%qUGAMx!pn62c$YaTM)`H9X*Yy| zlA-yIW*3&#Ft&9Cn>+4}>d=IOdsnyop{z%R28#q58V3R@PydsjOb2^-DpBi%F2#b{ zV8+cu)ag^@kiK5T?cxER{+8JOWH#TBlmLmZHN_a#r8&#P%dVQe8B3>QF>rlG$UINP zK-fUxFNPD35(*MHtk5ANyqR|U6V=x}BTbb#B}An>8LUnL5Gh$@A5?PVeA@QmB3PqC=AEzZ!QBhKAf~gNdkZQ%x-=J!-uyl0n z1`a#9uX>gt{pBd$r<2PkoYuR5kBqqnh*2CuaQ1%L69rNsq?i?B@O>aRK9VJ;`nM$a z@SqX~TYtJg@04H`dN$d(^h0pxUDDJG#W)5>$6zW3wZ7ZTdwq9oN;ow&eX4Y($&0Le z4xpO}5Pzx~;>l)F=;3O`tcMqq7vDKNk{fpu=uz|I%jR-O^I79n(KJPm`G%-!*xq>!{ru-vz;`1o<2 zAX75aaSGP-B#Q|E{-|=6ZDP+D?fzG;ZK)kFWZD74%m}&tOW8WYQ;A@vpb3q)W1Ybh zaPMgb!Ec|pXup_c=Ea7_hV1jAoXM?;tik|@D&cD0RqTFHWnI4bt9`sc^1+2MEcUeC157e)|_@GR_5LEeoUfCU2T~x0)_+<9)q6$ z-0f^gAq09 zT>q&Z9)48vFFgvWHPa-~zuo@b6aI5TOUifs*O4Q!{0#~J)%Gu^5hJUF6x6Q@mbaP+ zRdgfyr&0D`ppXr*r~KFLZT_$SM|}U@ zpKV#XF;FU>H4t0kbqxp>OD8- z4C7d!{L{by(f8~C=%qKV3AjpQvk>k1FKzwn(E#Ipt=Z6n*bkI7mvip(5VS^m{@g(n zF#jpV|H&svB!B1LlsAZ<=2PpJKYB%i!m^W+WGUF+EIKrLH!|)) z^Tn4L%D#UZIQVpavgLKz&Zq0+z;;tI%!u!ENu8eEW1=@R7@2L>^vBITi{b4img=KQ z4zJA+_t5i@sa#BRRCF=zc~KPvEkc$OOpw&S1#bWk{fbY}BO*ao_ZF=4oOkj+zdOPg z@^uteL6}G1FjAW8OM99oQYTXUw+FEmAe&pg!u$)HtD(U}>WCWc$F?>U# zW;px_md^|B-6X!?Kv^<&9Wt|Lw-qcT!RXP+|4aE&aQ;q@=De1nO_2W0(ZVgKLcdTQ z+a*4D|7$n{Te8@*hxi64ey(ty&@y;yj6J(u=;{9oM|%QLpVzYQ)!cZH-XoT#gwTl$ z*N9)p&VO}-f12Tq%wc{teA&^Q#Bx|1A1{`?Hdwrvg7@4*T-rXP>2K?zCQ` z=Q>#`;O02ZOaQa5vtFGpkuPV&4H~o!%(yfWP9Gf>zO_8+e|=fB&B2wOIO)hayvt;+ zPm|!AIV{m$bJ{M^);~<<;^QlL0q}VyVw4=4r87&VMF=G)jS+$N$Q(@ALqWxdLU31Q zT9u(C%Yq5`g&th^*$nq4yhG1U+qBm*#Q^;?mXKFf4PCkP=!}wBhOEOJ55zKy5vO)J zWj{ccrj*dX^sXZVt<1K&m`^@)IDwNzp7p;WNe2(gu&|YNrAONl|J@rWc9#(9{<^B; zyS}U5(lVk_m$_k%-q~1w?AfRrw3&blwe?dXf5a*YZ)C!|MG%i{)IIY2MDd68AMyJe zc0L@CzkdAVK*%EkLlqD~gZgrsGm_TCNX>kLun=LbC(JL3iCdn4RkcVrezdEUYLY)0O zyCb~6lWt{6OY&G=547^X&C;NoEY^nM;y2Z=18" - } - }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.0.0-rc.9", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.9.tgz", @@ -899,6 +883,16 @@ "undici-types": "~6.21.0" } }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@vitest/expect": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.0.tgz", @@ -1563,6 +1557,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -1570,53 +1565,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/playwright": { - "version": "1.59.0-alpha-1771104257000", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.0-alpha-1771104257000.tgz", - "integrity": "sha512-6SCMMMJaDRsSqiKVLmb2nhtLES7iTYawTWWrQK6UdIGNzXi8lka4sLKRec3L4DnTWwddAvCuRn8035dhNiHzbg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.0-alpha-1771104257000" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.0-alpha-1771104257000", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.0-alpha-1771104257000.tgz", - "integrity": "sha512-YiXup3pnpQUCBMSIW5zx8CErwRx4K6O5Kojkw2BzJui8MazoMUDU6E3xGsb1kzFviEAE09LFQ+y1a0RhIJQ5SA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/postcss": { "version": "8.5.8", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", @@ -1805,6 +1753,7 @@ "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" @@ -1846,6 +1795,7 @@ "integrity": "sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@oxc-project/runtime": "0.115.0", "lightningcss": "^1.32.0", @@ -2017,6 +1967,27 @@ "engines": { "node": ">=8" } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } } } } diff --git a/package.json b/package.json index 1dcfdb1..e423014 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "browser", "web", "ai", - "playwright" + "browser" ], "author": "jackwener", "license": "Apache-2.0", @@ -45,11 +45,12 @@ "chalk": "^5.3.0", "cli-table3": "^0.6.5", "commander": "^14.0.3", - "js-yaml": "^4.1.0" + "js-yaml": "^4.1.0", + "ws": "^8.18.0" }, "devDependencies": { - "@playwright/mcp": "^0.0.68", "@types/js-yaml": "^4.0.9", + "@types/ws": "^8.5.13", "@types/node": "^22.13.10", "tsx": "^4.19.3", "typescript": "^5.8.2", diff --git a/src/browser.test.ts b/src/browser.test.ts index 31fba4e..ca679a5 100644 --- a/src/browser.test.ts +++ b/src/browser.test.ts @@ -1,14 +1,6 @@ import { afterEach, describe, it, expect, vi } from 'vitest'; -import * as os from 'node:os'; -import * as path from 'node:path'; import { PlaywrightMCP, __test__ } from './browser/index.js'; -afterEach(() => { - __test__.resetMcpServerPathCache(); - __test__.setMcpDiscoveryTestHooks(); - delete process.env.OPENCLI_MCP_SERVER_PATH; -}); - describe('browser helpers', () => { it('creates JSON-RPC requests with unique ids', () => { const first = __test__.createJsonRpcRequest('tools/call', { name: 'browser_tabs' }); @@ -57,220 +49,9 @@ describe('browser helpers', () => { expect(__test__.appendLimited('12345', '67890', 8)).toBe('34567890'); }); - it('builds extension MCP args in local mode (no CI)', () => { - const savedCI = process.env.CI; - delete process.env.CI; - try { - expect(__test__.buildMcpArgs({ - mcpPath: '/tmp/cli.js', - executablePath: '/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', - })).toEqual([ - '/tmp/cli.js', - '--extension', - '--executable-path', - '/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', - ]); - - expect(__test__.buildMcpArgs({ - mcpPath: '/tmp/cli.js', - })).toEqual([ - '/tmp/cli.js', - '--extension', - ]); - } finally { - if (savedCI !== undefined) { - process.env.CI = savedCI; - } else { - delete process.env.CI; - } - } - }); - - it('builds standalone MCP args in CI mode', () => { - const savedCI = process.env.CI; - process.env.CI = 'true'; - try { - // CI mode: no --extension — browser launches in standalone headed mode - expect(__test__.buildMcpArgs({ - mcpPath: '/tmp/cli.js', - })).toEqual([ - '/tmp/cli.js', - ]); - - expect(__test__.buildMcpArgs({ - mcpPath: '/tmp/cli.js', - executablePath: '/usr/bin/chromium', - })).toEqual([ - '/tmp/cli.js', - '--executable-path', - '/usr/bin/chromium', - ]); - } finally { - if (savedCI !== undefined) { - process.env.CI = savedCI; - } else { - delete process.env.CI; - } - } - }); - - it('builds a direct node launch spec when a local MCP path is available', () => { - const savedCI = process.env.CI; - delete process.env.CI; - try { - expect(__test__.buildMcpLaunchSpec({ - mcpPath: '/tmp/cli.js', - executablePath: '/usr/bin/google-chrome', - })).toEqual({ - command: 'node', - args: ['/tmp/cli.js', '--extension', '--executable-path', '/usr/bin/google-chrome'], - usedNpxFallback: false, - }); - } finally { - if (savedCI !== undefined) { - process.env.CI = savedCI; - } else { - delete process.env.CI; - } - } - }); - - it('falls back to npx bootstrap when no MCP path is available', () => { - const savedCI = process.env.CI; - delete process.env.CI; - try { - expect(__test__.buildMcpLaunchSpec({ - mcpPath: null, - })).toEqual({ - command: 'npx', - args: ['-y', '@playwright/mcp@latest', '--extension'], - usedNpxFallback: true, - }); - } finally { - if (savedCI !== undefined) { - process.env.CI = savedCI; - } else { - delete process.env.CI; - } - } - }); - it('times out slow promises', async () => { await expect(__test__.withTimeoutMs(new Promise(() => {}), 10, 'timeout')).rejects.toThrow('timeout'); }); - - it('prefers OPENCLI_MCP_SERVER_PATH over discovered locations', () => { - process.env.OPENCLI_MCP_SERVER_PATH = '/env/mcp/cli.js'; - const existsSync = vi.fn((candidate: any) => candidate === '/env/mcp/cli.js'); - const execSync = vi.fn(); - __test__.setMcpDiscoveryTestHooks({ existsSync, execSync: execSync as any }); - - expect(__test__.findMcpServerPath()).toBe('/env/mcp/cli.js'); - expect(execSync).not.toHaveBeenCalled(); - expect(existsSync).toHaveBeenCalledWith('/env/mcp/cli.js'); - }); - - it('discovers global @playwright/mcp from the current Node runtime prefix', () => { - const originalExecPath = process.execPath; - const runtimeExecPath = '/opt/homebrew/Cellar/node/25.2.1/bin/node'; - const runtimeGlobalMcp = '/opt/homebrew/Cellar/node/25.2.1/lib/node_modules/@playwright/mcp/cli.js'; - Object.defineProperty(process, 'execPath', { - value: runtimeExecPath, - configurable: true, - }); - - const existsSync = vi.fn((candidate: any) => candidate === runtimeGlobalMcp); - const execSync = vi.fn(); - __test__.setMcpDiscoveryTestHooks({ existsSync, execSync: execSync as any }); - - try { - expect(__test__.findMcpServerPath()).toBe(runtimeGlobalMcp); - expect(execSync).not.toHaveBeenCalled(); - expect(existsSync).toHaveBeenCalledWith(runtimeGlobalMcp); - } finally { - Object.defineProperty(process, 'execPath', { - value: originalExecPath, - configurable: true, - }); - } - }); - - it('falls back to npm root -g when runtime prefix lookup misses', () => { - const originalExecPath = process.execPath; - const runtimeExecPath = '/opt/homebrew/Cellar/node/25.2.1/bin/node'; - const runtimeGlobalMcp = '/opt/homebrew/Cellar/node/25.2.1/lib/node_modules/@playwright/mcp/cli.js'; - const npmRootGlobal = '/Users/jakevin/.nvm/versions/node/v22.14.0/lib/node_modules'; - const npmGlobalMcp = '/Users/jakevin/.nvm/versions/node/v22.14.0/lib/node_modules/@playwright/mcp/cli.js'; - Object.defineProperty(process, 'execPath', { - value: runtimeExecPath, - configurable: true, - }); - - const existsSync = vi.fn((candidate: any) => candidate === npmGlobalMcp); - const execSync = vi.fn((command: string) => { - if (String(command).includes('npm root -g')) return `${npmRootGlobal}\n` as any; - throw new Error(`unexpected command: ${String(command)}`); - }); - __test__.setMcpDiscoveryTestHooks({ existsSync, execSync: execSync as any }); - - try { - expect(__test__.findMcpServerPath()).toBe(npmGlobalMcp); - expect(execSync).toHaveBeenCalledOnce(); - expect(existsSync).toHaveBeenCalledWith(runtimeGlobalMcp); - expect(existsSync).toHaveBeenCalledWith(npmGlobalMcp); - } finally { - Object.defineProperty(process, 'execPath', { - value: originalExecPath, - configurable: true, - }); - } - }); - - it('returns null when new global discovery paths are unavailable', () => { - const originalExecPath = process.execPath; - const runtimeExecPath = '/opt/homebrew/Cellar/node/25.2.1/bin/node'; - Object.defineProperty(process, 'execPath', { - value: runtimeExecPath, - configurable: true, - }); - - const existsSync = vi.fn(() => false); - const execSync = vi.fn((command: string) => { - if (String(command).includes('npm root -g')) return '/missing/global/node_modules\n' as any; - throw new Error(`missing command: ${String(command)}`); - }); - __test__.setMcpDiscoveryTestHooks({ existsSync, execSync: execSync as any }); - - try { - expect(__test__.findMcpServerPath()).toBeNull(); - } finally { - Object.defineProperty(process, 'execPath', { - value: originalExecPath, - configurable: true, - }); - } - }); - - it('ignores non-server playwright cli paths discovered from fallback scans', () => { - const wrongCli = '/root/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/lib/mcp/terminal/cli.js'; - const npxCacheBase = path.join(os.homedir(), '.npm', '_npx'); - - const existsSync = vi.fn((candidate: any) => { - const value = String(candidate); - return value === npxCacheBase || value === wrongCli; - }); - - const execSync = vi.fn((command: string) => { - if (String(command).includes('npm root -g')) return '/missing/global/node_modules\n' as any; - if (String(command).includes('--package=@playwright/mcp which mcp-server-playwright')) return `${wrongCli}\n` as any; - if (String(command).includes('which mcp-server-playwright')) return '' as any; - if (String(command).includes(`find "${npxCacheBase}"`)) return `${wrongCli}\n` as any; - throw new Error(`unexpected command: ${String(command)}`); - }); - __test__.setMcpDiscoveryTestHooks({ existsSync, execSync: execSync as any }); - - expect(__test__.findMcpServerPath()).toBeNull(); - }); }); describe('PlaywrightMCP state', () => { @@ -288,22 +69,20 @@ describe('PlaywrightMCP state', () => { const mcp = new PlaywrightMCP(); await mcp.close(); - await expect(mcp.connect()).rejects.toThrow('Playwright MCP session is closed'); + await expect(mcp.connect()).rejects.toThrow('Session is closed'); }); it('rejects connect() while already connecting', async () => { const mcp = new PlaywrightMCP(); (mcp as any)._state = 'connecting'; - await expect(mcp.connect()).rejects.toThrow('Playwright MCP is already connecting'); + await expect(mcp.connect()).rejects.toThrow('Already connecting'); }); it('rejects connect() while closing', async () => { const mcp = new PlaywrightMCP(); (mcp as any)._state = 'closing'; - await expect(mcp.connect()).rejects.toThrow('Playwright MCP is closing'); + await expect(mcp.connect()).rejects.toThrow('Session is closing'); }); - - }); diff --git a/src/browser/daemon-client.ts b/src/browser/daemon-client.ts new file mode 100644 index 0000000..d7810cf --- /dev/null +++ b/src/browser/daemon-client.ts @@ -0,0 +1,89 @@ +/** + * HTTP client for communicating with the opencli daemon. + * + * Provides a typed send() function that posts a Command and returns a Result. + */ + +const DAEMON_PORT = parseInt(process.env.OPENCLI_DAEMON_PORT ?? '19825', 10); +const DAEMON_URL = `http://127.0.0.1:${DAEMON_PORT}`; + +let _idCounter = 0; + +function generateId(): string { + return `cmd_${Date.now()}_${++_idCounter}`; +} + +export interface DaemonCommand { + id: string; + action: 'exec' | 'navigate' | 'tabs' | 'cookies'; + tabId?: number; + code?: string; + url?: string; + op?: string; + index?: number; + domain?: string; +} + +export interface DaemonResult { + id: string; + ok: boolean; + data?: unknown; + error?: string; +} + +/** + * Check if daemon is running. + */ +export async function isDaemonRunning(): Promise { + try { + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), 2000); + const res = await fetch(`${DAEMON_URL}/status`, { signal: controller.signal }); + clearTimeout(timer); + return res.ok; + } catch { + return false; + } +} + +/** + * Check if daemon is running AND the extension is connected. + */ +export async function isExtensionConnected(): Promise { + try { + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), 2000); + const res = await fetch(`${DAEMON_URL}/status`, { signal: controller.signal }); + clearTimeout(timer); + if (!res.ok) return false; + const data = await res.json() as { extensionConnected?: boolean }; + return !!data.extensionConnected; + } catch { + return false; + } +} + +/** + * Send a command to the daemon and wait for a result. + */ +export async function sendCommand( + action: DaemonCommand['action'], + params: Omit = {}, +): Promise { + const id = generateId(); + const command: DaemonCommand = { id, action, ...params }; + + const res = await fetch(`${DAEMON_URL}/command`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(command), + }); + + const result = (await res.json()) as DaemonResult; + + if (!result.ok) { + throw new Error(result.error ?? 'Daemon command failed'); + } + + return result.data; +} diff --git a/src/browser/discover.ts b/src/browser/discover.ts index 1a51fb0..ea269c7 100644 --- a/src/browser/discover.ts +++ b/src/browser/discover.ts @@ -1,241 +1,27 @@ /** - * MCP server path discovery and argument building. - */ - -import { execSync } from 'node:child_process'; -import { fileURLToPath } from 'node:url'; -import * as fs from 'node:fs'; -import * as os from 'node:os'; -import * as path from 'node:path'; - -let _cachedMcpServerPath: string | null | undefined; -let _existsSync = fs.existsSync; -let _execSync = execSync; - -function isSupportedMcpEntrypoint(candidate: string): boolean { - const normalized = candidate.replace(/\\/g, '/').toLowerCase(); - return normalized.endsWith('/@playwright/mcp/cli.js') || - normalized.endsWith('/mcp-server-playwright') || - normalized.endsWith('/mcp-server-playwright.js'); -} - -function resolveSupportedMcpPath(candidate: string | null | undefined): string | null { - const trimmed = candidate?.trim(); - if (!trimmed || !_existsSync(trimmed)) return null; - return isSupportedMcpEntrypoint(trimmed) ? trimmed : null; -} - -export function resetMcpServerPathCache(): void { - _cachedMcpServerPath = undefined; -} - -export function setMcpDiscoveryTestHooks(input?: { - existsSync?: typeof fs.existsSync; - execSync?: typeof execSync; -}): void { - _existsSync = input?.existsSync ?? fs.existsSync; - _execSync = input?.execSync ?? execSync; -} - -export function findMcpServerPath(): string | null { - if (_cachedMcpServerPath !== undefined) return _cachedMcpServerPath; - - const envMcp = process.env.OPENCLI_MCP_SERVER_PATH; - if (envMcp && _existsSync(envMcp)) { - _cachedMcpServerPath = envMcp; - return _cachedMcpServerPath; - } - - // Check local node_modules first (@playwright/mcp is the modern package) - const localMcp = path.resolve('node_modules', '@playwright', 'mcp', 'cli.js'); - if (_existsSync(localMcp)) { - _cachedMcpServerPath = localMcp; - return _cachedMcpServerPath; - } - - // Check project-relative path - const __dirname2 = path.dirname(fileURLToPath(import.meta.url)); - const projectMcp = path.resolve(__dirname2, '..', '..', 'node_modules', '@playwright', 'mcp', 'cli.js'); - if (_existsSync(projectMcp)) { - _cachedMcpServerPath = projectMcp; - return _cachedMcpServerPath; - } - - // Check global npm/yarn locations derived from current Node runtime. - const nodePrefix = path.resolve(path.dirname(process.execPath), '..'); - const globalNodeModules = path.join(nodePrefix, 'lib', 'node_modules'); - const globalMcp = path.join(globalNodeModules, '@playwright', 'mcp', 'cli.js'); - if (_existsSync(globalMcp)) { - _cachedMcpServerPath = globalMcp; - return _cachedMcpServerPath; - } - - // Check npm global root directly. - try { - const npmRootGlobal = _execSync('npm root -g 2>/dev/null', { - encoding: 'utf-8', - timeout: 5000, - }).trim(); - const npmGlobalMcp = path.join(npmRootGlobal, '@playwright', 'mcp', 'cli.js'); - if (npmRootGlobal && _existsSync(npmGlobalMcp)) { - _cachedMcpServerPath = npmGlobalMcp; - return _cachedMcpServerPath; - } - } catch {} - - // Check common locations - const candidates = [ - path.join(os.homedir(), '.npm', '_npx'), - path.join(os.homedir(), 'node_modules', '.bin'), - '/usr/local/lib/node_modules', - ]; - - // Try npx resolution (legacy package name) - try { - const result = _execSync('npx -y --package=@playwright/mcp which mcp-server-playwright 2>/dev/null', { encoding: 'utf-8', timeout: 10000 }).trim(); - const resolved = resolveSupportedMcpPath(result); - if (resolved) { - _cachedMcpServerPath = resolved; - return _cachedMcpServerPath; - } - } catch {} - - // Try which - try { - const result = _execSync('which mcp-server-playwright 2>/dev/null', { encoding: 'utf-8', timeout: 5000 }).trim(); - const resolved = resolveSupportedMcpPath(result); - if (resolved) { - _cachedMcpServerPath = resolved; - return _cachedMcpServerPath; - } - } catch {} - - // Search in common npx cache - for (const base of candidates) { - if (!_existsSync(base)) continue; - try { - const found = _execSync(`find "${base}" -type f -path "*/@playwright/mcp/cli.js" 2>/dev/null | head -1`, { encoding: 'utf-8', timeout: 5000 }).trim(); - const resolved = resolveSupportedMcpPath(found); - if (resolved) { - _cachedMcpServerPath = resolved; - return _cachedMcpServerPath; - } - } catch {} - } - - _cachedMcpServerPath = null; - return _cachedMcpServerPath; -} - -/** - * Chrome 144+ auto-discovery: read DevToolsActivePort file to get CDP endpoint. + * Daemon discovery — simplified from MCP server path discovery. * - * Starting with Chrome 144, users can enable remote debugging from - * chrome://inspect#remote-debugging without any command-line flags. - * Chrome writes the active port and browser GUID to a DevToolsActivePort file - * in the user data directory, which we read to construct the WebSocket endpoint. + * Only needs to check if the daemon is running. No more file system + * scanning for @playwright/mcp locations. */ -export function discoverChromeEndpoint(): string | null { - const candidates: string[] = []; - // User-specified Chrome data dir takes highest priority - if (process.env.CHROME_USER_DATA_DIR) { - candidates.push(path.join(process.env.CHROME_USER_DATA_DIR, 'DevToolsActivePort')); - } +import { isDaemonRunning } from './daemon-client.js'; - // Standard Chrome/Edge user data dirs per platform - if (process.platform === 'win32') { - const localAppData = process.env.LOCALAPPDATA ?? path.join(os.homedir(), 'AppData', 'Local'); - candidates.push(path.join(localAppData, 'Google', 'Chrome', 'User Data', 'DevToolsActivePort')); - candidates.push(path.join(localAppData, 'Microsoft', 'Edge', 'User Data', 'DevToolsActivePort')); - } else if (process.platform === 'darwin') { - candidates.push(path.join(os.homedir(), 'Library', 'Application Support', 'Google', 'Chrome', 'DevToolsActivePort')); - candidates.push(path.join(os.homedir(), 'Library', 'Application Support', 'Microsoft Edge', 'DevToolsActivePort')); - } else { - candidates.push(path.join(os.homedir(), '.config', 'google-chrome', 'DevToolsActivePort')); - candidates.push(path.join(os.homedir(), '.config', 'chromium', 'DevToolsActivePort')); - candidates.push(path.join(os.homedir(), '.config', 'microsoft-edge', 'DevToolsActivePort')); - } +export { isDaemonRunning }; - for (const filePath of candidates) { - try { - const content = fs.readFileSync(filePath, 'utf-8').trim(); - const lines = content.split('\n'); - if (lines.length >= 2) { - const port = parseInt(lines[0], 10); - const browserPath = lines[1]; // e.g. /devtools/browser/ - if (port > 0 && browserPath.startsWith('/devtools/browser/')) { - return `ws://127.0.0.1:${port}${browserPath}`; - } - } - } catch {} +/** + * Check daemon status and return connection info. + */ +export async function checkDaemonStatus(): Promise<{ + running: boolean; + extensionConnected: boolean; +}> { + try { + const port = parseInt(process.env.OPENCLI_DAEMON_PORT ?? '19825', 10); + const res = await fetch(`http://127.0.0.1:${port}/status`); + const data = await res.json() as { ok: boolean; extensionConnected: boolean }; + return { running: true, extensionConnected: data.extensionConnected }; + } catch { + return { running: false, extensionConnected: false }; } - return null; -} - -export function resolveCdpEndpoint(): { endpoint?: string; requestedCdp: boolean } { - const envVal = process.env.OPENCLI_CDP_ENDPOINT; - if (envVal === '1' || envVal?.toLowerCase() === 'true') { - const autoDiscovered = discoverChromeEndpoint(); - return { endpoint: autoDiscovered ?? envVal, requestedCdp: true }; - } - - if (envVal) { - return { endpoint: envVal, requestedCdp: true }; - } - - // Fallback to auto-discovery if not explicitly set - const autoDiscovered = discoverChromeEndpoint(); - if (autoDiscovered) { - return { endpoint: autoDiscovered, requestedCdp: true }; - } - - return { requestedCdp: false }; -} - -function buildRuntimeArgs(input?: { executablePath?: string | null; cdpEndpoint?: string }): string[] { - const args: string[] = []; - - // Priority 1: CDP endpoint (remote Chrome debugging or local Auto-Discovery) - if (input?.cdpEndpoint) { - args.push('--cdp-endpoint', input.cdpEndpoint); - return args; - } - - // Priority 2: Extension mode (local Chrome with MCP Bridge extension) - if (!process.env.CI) { - args.push('--extension'); - } - - // CI/standalone mode: @playwright/mcp launches its own browser (headed by default). - // xvfb provides a virtual display for headed mode in GitHub Actions. - if (input?.executablePath) { - args.push('--executable-path', input.executablePath); - } - return args; -} - -export function buildMcpArgs(input: { mcpPath: string; executablePath?: string | null; cdpEndpoint?: string }): string[] { - return [input.mcpPath, ...buildRuntimeArgs(input)]; -} - -export function buildMcpLaunchSpec(input: { mcpPath?: string | null; executablePath?: string | null; cdpEndpoint?: string }): { - command: string; - args: string[]; - usedNpxFallback: boolean; -} { - const runtimeArgs = buildRuntimeArgs(input); - if (input.mcpPath) { - return { - command: 'node', - args: [input.mcpPath, ...runtimeArgs], - usedNpxFallback: false, - }; - } - - return { - command: 'npx', - args: ['-y', '@playwright/mcp@latest', ...runtimeArgs], - usedNpxFallback: true, - }; } diff --git a/src/browser/errors.ts b/src/browser/errors.ts index db41fbb..3df5e44 100644 --- a/src/browser/errors.ts +++ b/src/browser/errors.ts @@ -1,105 +1,35 @@ /** - * Browser connection error classification and formatting. + * Browser connection error helpers. + * + * Simplified — no more token/extension/CDP classification. + * The daemon architecture has a single failure mode: daemon not reachable or extension not connected. */ -import { createHash } from 'node:crypto'; +export type ConnectFailureKind = 'daemon-not-running' | 'extension-not-connected' | 'command-failed' | 'unknown'; -export type ConnectFailureKind = 'missing-token' | 'extension-timeout' | 'extension-not-installed' | 'mcp-init' | 'process-exit' | 'cdp-connection-failed' | 'unknown'; - -export type ConnectFailureInput = { - kind: ConnectFailureKind; - timeout: number; - hasExtensionToken: boolean; - tokenFingerprint?: string | null; - stderr?: string; - exitCode?: number | null; - rawMessage?: string; -}; - -export function getTokenFingerprint(token: string | undefined): string | null { - if (!token) return null; - return createHash('sha256').update(token).digest('hex').slice(0, 8); -} - -export function formatBrowserConnectError(input: ConnectFailureInput): Error { - const stderr = input.stderr?.trim(); - const suffix = stderr ? `\n\nMCP stderr:\n${stderr}` : ''; - const tokenHint = input.tokenFingerprint ? ` Token fingerprint: ${input.tokenFingerprint}.` : ''; - - if (input.kind === 'cdp-connection-failed') { - return new Error( - `Failed to connect to remote Chrome via CDP endpoint.\n\n` + - `Check if Chrome is running with remote debugging enabled (--remote-debugging-port=9222) or DevToolsActivePort is available under chrome://inspect#remote-debugging.\n` + - `If you specified OPENCLI_CDP_ENDPOINT=1, auto-discovery might have failed.` + - suffix, - ); - } - - if (input.kind === 'missing-token') { - return new Error( - 'Failed to connect to Playwright MCP Bridge: PLAYWRIGHT_MCP_EXTENSION_TOKEN is not set.\n\n' + - 'Without this token, Chrome will show a manual approval dialog for every new MCP connection. ' + - 'Copy the token from the Playwright MCP Bridge extension and set it in BOTH your shell environment and MCP client config.' + - suffix, - ); - } - - if (input.kind === 'extension-not-installed') { - return new Error( - 'Failed to connect to Playwright MCP Bridge: the browser extension did not attach.\n\n' + - 'Make sure Chrome is running and the "Playwright MCP Bridge" extension is installed and enabled. ' + - 'If Chrome shows an approval dialog, click Allow.' + - suffix, - ); - } - - if (input.kind === 'extension-timeout') { - const likelyCause = input.hasExtensionToken - ? `The most likely cause is that PLAYWRIGHT_MCP_EXTENSION_TOKEN does not match the token currently shown by the browser extension.${tokenHint} Re-copy the token from the extension and update BOTH your shell environment and MCP client config.` - : 'PLAYWRIGHT_MCP_EXTENSION_TOKEN is not configured, so the extension may be waiting for manual approval.'; - return new Error( - `Timed out connecting to Playwright MCP Bridge (${input.timeout}s).\n\n` + - `${likelyCause} If a browser prompt is visible, click Allow.` + - suffix, - ); - } - - if (input.kind === 'mcp-init') { - return new Error(`Failed to initialize Playwright MCP: ${input.rawMessage ?? 'unknown error'}${suffix}`); - } - - if (input.kind === 'process-exit') { - return new Error( - `Playwright MCP process exited before the browser connection was established${input.exitCode == null ? '' : ` (code ${input.exitCode})`}.` + - suffix, - ); - } - - return new Error(input.rawMessage ?? 'Failed to connect to browser'); -} - -export function inferConnectFailureKind(args: { - hasExtensionToken: boolean; - stderr: string; - rawMessage?: string; - exited?: boolean; - isCdpMode?: boolean; -}): ConnectFailureKind { - const haystack = `${args.rawMessage ?? ''}\n${args.stderr}`.toLowerCase(); - - if (args.isCdpMode) { - if (args.rawMessage?.startsWith('MCP init failed:')) return 'mcp-init'; - if (args.exited) return 'cdp-connection-failed'; - return 'cdp-connection-failed'; - } - - if (!args.hasExtensionToken) - return 'missing-token'; - if (haystack.includes('extension connection timeout') || haystack.includes('playwright mcp bridge')) - return 'extension-not-installed'; - if (args.rawMessage?.startsWith('MCP init failed:')) - return 'mcp-init'; - if (args.exited) - return 'process-exit'; - return 'extension-timeout'; +export function formatBrowserConnectError(kind: ConnectFailureKind, detail?: string): Error { + switch (kind) { + case 'daemon-not-running': + return new Error( + 'Cannot connect to opencli daemon.\n\n' + + 'The daemon should start automatically. If it doesn\'t, try:\n' + + ' node dist/daemon.js\n' + + 'Make sure port 19825 is available.' + + (detail ? `\n\n${detail}` : ''), + ); + case 'extension-not-connected': + return new Error( + 'opencli Browser Bridge extension is not connected.\n\n' + + 'Please install the extension:\n' + + ' 1. Download from GitHub Releases\n' + + ' 2. Open chrome://extensions/ → Enable Developer Mode\n' + + ' 3. Click "Load unpacked" → select the extension folder\n' + + ' 4. Make sure Chrome is running' + + (detail ? `\n\n${detail}` : ''), + ); + case 'command-failed': + return new Error(`Browser command failed: ${detail ?? 'unknown error'}`); + default: + return new Error(detail ?? 'Failed to connect to browser'); + } } diff --git a/src/browser/index.ts b/src/browser/index.ts index 1ad2f8b..adec262 100644 --- a/src/browser/index.ts +++ b/src/browser/index.ts @@ -7,14 +7,16 @@ export { Page } from './page.js'; export { PlaywrightMCP } from './mcp.js'; -export { getTokenFingerprint, formatBrowserConnectError } from './errors.js'; -export type { ConnectFailureKind, ConnectFailureInput } from './errors.js'; -export { resolveCdpEndpoint } from './discover.js'; +export { isDaemonRunning } from './daemon-client.js'; -// Test-only helpers — exposed for unit tests +// Backward compatibility: getTokenFingerprint is no longer needed but kept as no-op export +export function getTokenFingerprint(_token: string | undefined): string | null { + return null; +} + +// Test-only helpers import { createJsonRpcRequest } from './mcp.js'; import { extractTabEntries, diffTabIndexes, appendLimited } from './tabs.js'; -import { buildMcpArgs, buildMcpLaunchSpec, findMcpServerPath, resetMcpServerPathCache, setMcpDiscoveryTestHooks } from './discover.js'; import { withTimeoutMs } from '../runtime.js'; export const __test__ = { @@ -22,10 +24,5 @@ export const __test__ = { extractTabEntries, diffTabIndexes, appendLimited, - buildMcpArgs, - buildMcpLaunchSpec, - findMcpServerPath, - resetMcpServerPathCache, - setMcpDiscoveryTestHooks, withTimeoutMs, }; diff --git a/src/browser/mcp.ts b/src/browser/mcp.ts index b0967fd..d40a9a8 100644 --- a/src/browser/mcp.ts +++ b/src/browser/mcp.ts @@ -1,312 +1,118 @@ /** - * Playwright MCP process manager. - * Handles lifecycle management, JSON-RPC communication, and browser session orchestration. + * Browser session manager — auto-spawns daemon and provides IPage. + * + * Replaces the old PlaywrightMCP class. Still exports as PlaywrightMCP + * for backward compatibility with main.ts and other consumers. */ import { spawn, type ChildProcess } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; +import * as path from 'node:path'; +import * as fs from 'node:fs'; import type { IPage } from '../types.js'; -import { withTimeoutMs, DEFAULT_BROWSER_CONNECT_TIMEOUT } from '../runtime.js'; -import { PKG_VERSION } from '../version.js'; import { Page } from './page.js'; -import { getTokenFingerprint, formatBrowserConnectError, inferConnectFailureKind } from './errors.js'; -import { findMcpServerPath, buildMcpLaunchSpec, resolveCdpEndpoint } from './discover.js'; -import { extractTabIdentities, extractTabEntries, diffTabIndexes, appendLimited } from './tabs.js'; +import { isDaemonRunning, isExtensionConnected } from './daemon-client.js'; -const STDERR_BUFFER_LIMIT = 16 * 1024; -const INITIAL_TABS_TIMEOUT_MS = 1500; -const TAB_CLEANUP_TIMEOUT_MS = 2000; +const DAEMON_SPAWN_TIMEOUT = 10000; // 10s to wait for daemon + extension export type PlaywrightMCPState = 'idle' | 'connecting' | 'connected' | 'closing' | 'closed'; -// JSON-RPC helpers -let _nextId = 1; +// Re-export for __test__ compatibility +let _jsonRpcId = 0; export function createJsonRpcRequest(method: string, params: Record = {}): { id: number; message: string } { - const id = _nextId++; - return { - id, - message: JSON.stringify({ jsonrpc: '2.0', id, method, params }) + '\n', - }; + const id = ++_jsonRpcId; + return { id, message: JSON.stringify({ id, method, params }) }; } /** - * Playwright MCP process manager. + * Browser factory: manages daemon lifecycle and provides IPage instances. + * + * Kept as `PlaywrightMCP` class name for backward compatibility. */ export class PlaywrightMCP { - private static _activeInsts: Set = new Set(); - private static _cleanupRegistered = false; - - private static _registerGlobalCleanup() { - if (this._cleanupRegistered) return; - this._cleanupRegistered = true; - const cleanup = () => { - for (const inst of this._activeInsts) { - if (inst._proc && !inst._proc.killed) { - try { inst._proc.kill('SIGKILL'); } catch {} - } - } - }; - process.on('exit', cleanup); - process.on('SIGINT', () => { cleanup(); process.exit(130); }); - process.on('SIGTERM', () => { cleanup(); process.exit(143); }); - } - - private _proc: ChildProcess | null = null; - private _buffer = ''; - private _pending = new Map void; reject: (error: Error) => void }>(); - private _initialTabIdentities: string[] = []; - private _closingPromise: Promise | null = null; private _state: PlaywrightMCPState = 'idle'; - private _page: Page | null = null; + private _daemonProc: ChildProcess | null = null; get state(): PlaywrightMCPState { return this._state; } - private _sendRequest(method: string, params: Record = {}): Promise { - return new Promise((resolve, reject) => { - if (!this._proc?.stdin?.writable) { - reject(new Error('Playwright MCP process is not writable')); - return; - } - const { id, message } = createJsonRpcRequest(method, params); - this._pending.set(id, { resolve, reject }); - this._proc.stdin.write(message, (err) => { - if (!err) return; - this._pending.delete(id); - reject(err); - }); - }); - } + async connect(opts: { timeout?: number } = {}): Promise { + if (this._state === 'connected' && this._page) return this._page; + if (this._state === 'connecting') throw new Error('Already connecting'); + if (this._state === 'closing') throw new Error('Session is closing'); + if (this._state === 'closed') throw new Error('Session is closed'); - private _rejectPendingRequests(error: Error): void { - const pending = [...this._pending.values()]; - this._pending.clear(); - for (const waiter of pending) waiter.reject(error); - } + this._state = 'connecting'; - private _resetAfterFailedConnect(): void { - const proc = this._proc; - this._page = null; - this._proc = null; - this._buffer = ''; - this._initialTabIdentities = []; - this._rejectPendingRequests(new Error('Playwright MCP connect failed')); - PlaywrightMCP._activeInsts.delete(this); - if (proc && !proc.killed) { - try { proc.kill('SIGKILL'); } catch {} + try { + await this._ensureDaemon(); + this._page = new Page(); + this._state = 'connected'; + return this._page; + } catch (err) { + this._state = 'idle'; + throw err; } } - async connect(opts: { timeout?: number } = {}): Promise { - if (this._state === 'connected' && this._page) return this._page; - if (this._state === 'connecting') throw new Error('Playwright MCP is already connecting'); - if (this._state === 'closing') throw new Error('Playwright MCP is closing'); - if (this._state === 'closed') throw new Error('Playwright MCP session is closed'); - - const mcpPath = findMcpServerPath(); - - PlaywrightMCP._registerGlobalCleanup(); - PlaywrightMCP._activeInsts.add(this); - this._state = 'connecting'; - const timeout = opts.timeout ?? DEFAULT_BROWSER_CONNECT_TIMEOUT; - - return new Promise((resolve, reject) => { - const isDebug = process.env.DEBUG?.includes('opencli:mcp'); - const debugLog = (msg: string) => isDebug && console.error(`[opencli:mcp] ${msg}`); - const { endpoint: cdpEndpoint, requestedCdp } = resolveCdpEndpoint(); - const useExtension = !requestedCdp; - const extensionToken = process.env.PLAYWRIGHT_MCP_EXTENSION_TOKEN; - const tokenFingerprint = getTokenFingerprint(extensionToken); - let stderrBuffer = ''; - let settled = false; - - const settleError = (kind: Parameters[0]['kind'], extra: { rawMessage?: string; exitCode?: number | null } = {}) => { - if (settled) return; - settled = true; - this._state = 'idle'; - clearTimeout(timer); - this._resetAfterFailedConnect(); - reject(formatBrowserConnectError({ - kind, - timeout, - hasExtensionToken: !!extensionToken, - tokenFingerprint, - stderr: stderrBuffer, - exitCode: extra.exitCode, - rawMessage: extra.rawMessage, - })); - }; - - const settleSuccess = (pageToResolve: Page) => { - if (settled) return; - settled = true; - this._state = 'connected'; - clearTimeout(timer); - resolve(pageToResolve); - }; - - const timer = setTimeout(() => { - debugLog('Connection timed out'); - settleError(inferConnectFailureKind({ - hasExtensionToken: !!extensionToken, - stderr: stderrBuffer, - isCdpMode: requestedCdp, - })); - }, timeout * 1000); - - const launchSpec = buildMcpLaunchSpec({ - mcpPath, - executablePath: process.env.OPENCLI_BROWSER_EXECUTABLE_PATH, - cdpEndpoint, - }); - if (process.env.OPENCLI_VERBOSE) { - console.error(`[opencli] Mode: ${requestedCdp ? 'CDP' : useExtension ? 'extension' : 'standalone'}`); - if (useExtension) console.error(`[opencli] Extension token: fingerprint ${tokenFingerprint}`); - if (launchSpec.usedNpxFallback) { - console.error('[opencli] Playwright MCP not found locally; bootstrapping via npx @playwright/mcp@latest'); - } - } - debugLog(`Spawning ${launchSpec.command} ${launchSpec.args.join(' ')}`); - - this._proc = spawn(launchSpec.command, launchSpec.args, { - stdio: ['pipe', 'pipe', 'pipe'], - env: { ...process.env }, - }); - - // Increase max listeners to avoid warnings - this._proc.setMaxListeners(20); - if (this._proc.stdout) this._proc.stdout.setMaxListeners(20); - - const page = new Page((method, params = {}) => this._sendRequest(method, params)); - this._page = page; - - this._proc.stdout?.on('data', (chunk: Buffer) => { - this._buffer += chunk.toString(); - const lines = this._buffer.split('\n'); - this._buffer = lines.pop() ?? ''; - for (const line of lines) { - if (!line.trim()) continue; - debugLog(`RECV: ${line}`); - try { - const parsed = JSON.parse(line); - if (typeof parsed?.id === 'number') { - const waiter = this._pending.get(parsed.id); - if (waiter) { - this._pending.delete(parsed.id); - waiter.resolve(parsed); - } - } - } catch (e) { - debugLog(`Parse error: ${e}`); - } - } - }); - - this._proc.stderr?.on('data', (chunk: Buffer) => { - const text = chunk.toString(); - stderrBuffer = appendLimited(stderrBuffer, text, STDERR_BUFFER_LIMIT); - debugLog(`STDERR: ${text}`); - }); - this._proc.on('error', (err) => { - debugLog(`Subprocess error: ${err.message}`); - this._rejectPendingRequests(new Error(`Playwright MCP process error: ${err.message}`)); - settleError('process-exit', { rawMessage: err.message }); - }); - this._proc.on('close', (code) => { - debugLog(`Subprocess closed with code ${code}`); - this._rejectPendingRequests(new Error(`Playwright MCP process exited before response${code == null ? '' : ` (code ${code})`}`)); - if (!settled) { - settleError(inferConnectFailureKind({ - hasExtensionToken: !!extensionToken, - stderr: stderrBuffer, - exited: true, - isCdpMode: requestedCdp, - }), { exitCode: code }); - } - }); - - // Initialize: send initialize request - debugLog('Waiting for initialize response...'); - this._sendRequest('initialize', { - protocolVersion: '2024-11-05', - capabilities: {}, - clientInfo: { name: 'opencli', version: PKG_VERSION }, - }).then((resp: any) => { - debugLog('Got initialize response'); - if (resp.error) { - settleError(inferConnectFailureKind({ - hasExtensionToken: !!extensionToken, - stderr: stderrBuffer, - rawMessage: `MCP init failed: ${resp.error.message}`, - isCdpMode: requestedCdp, - }), { rawMessage: resp.error.message }); - return; - } - - const initializedMsg = JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }) + '\n'; - debugLog(`SEND: ${initializedMsg.trim()}`); - this._proc?.stdin?.write(initializedMsg); - - // Use tabs as a readiness probe and for tab cleanup bookkeeping. - debugLog('Fetching initial tabs count...'); - withTimeoutMs(page.tabs(), INITIAL_TABS_TIMEOUT_MS, 'Timed out fetching initial tabs').then((tabs: any) => { - debugLog(`Tabs response: ${typeof tabs === 'string' ? tabs : JSON.stringify(tabs)}`); - this._initialTabIdentities = extractTabIdentities(tabs); - settleSuccess(page); - }).catch((err: Error) => { - debugLog(`Tabs fetch error: ${err.message}`); - settleSuccess(page); - }); - }).catch((err: Error) => { - debugLog(`Init promise rejected: ${err.message}`); - settleError('mcp-init', { rawMessage: err.message }); - }); - }); - } - - async close(): Promise { - if (this._closingPromise) return this._closingPromise; if (this._state === 'closed') return; this._state = 'closing'; - this._closingPromise = (async () => { - try { - // Extension mode opens bridge/session tabs that we can clean up best-effort. - if (this._page && this._proc && !this._proc.killed) { - try { - const tabs = await withTimeoutMs(this._page.tabs(), TAB_CLEANUP_TIMEOUT_MS, 'Timed out fetching tabs during cleanup'); - const tabEntries = extractTabEntries(tabs); - const tabsToClose = diffTabIndexes(this._initialTabIdentities, tabEntries); - for (const index of tabsToClose) { - try { await this._page.closeTab(index); } catch {} - } - } catch {} - } - if (this._proc && !this._proc.killed) { - this._proc.kill('SIGTERM'); - const exited = await new Promise((res) => { - let done = false; - const finish = (value: boolean) => { - if (done) return; - done = true; - res(value); - }; - this._proc?.once('exit', () => finish(true)); - setTimeout(() => finish(false), 3000); - }); - if (!exited && this._proc && !this._proc.killed) { - try { this._proc.kill('SIGKILL'); } catch {} - } - } - } finally { - this._rejectPendingRequests(new Error('Playwright MCP session closed')); - this._page = null; - this._proc = null; - this._state = 'closed'; - PlaywrightMCP._activeInsts.delete(this); - } - })(); - return this._closingPromise; + // We don't kill the daemon — it auto-exits on idle. + // Just clean up our reference. + this._page = null; + this._state = 'closed'; + } + + private async _ensureDaemon(): Promise { + if (await isDaemonRunning()) return; + + // Find daemon relative to this file — works for both: + // npx tsx src/main.ts → src/browser/mcp.ts → src/daemon.ts + // node dist/main.js → dist/browser/mcp.js → dist/daemon.js + const __dirname = path.dirname(fileURLToPath(import.meta.url)); + const parentDir = path.resolve(__dirname, '..'); + const daemonTs = path.join(parentDir, 'daemon.ts'); + const daemonJs = path.join(parentDir, 'daemon.js'); + const isTs = fs.existsSync(daemonTs); + const daemonPath = isTs ? daemonTs : daemonJs; + + if (process.env.OPENCLI_VERBOSE) { + console.error(`[opencli] Starting daemon (${isTs ? 'ts' : 'js'})...`); + } + + // Use tsx for .ts files, node for .js files + const runtime = isTs ? 'npx' : process.execPath; + const args = isTs ? ['tsx', daemonPath] : [daemonPath]; + + this._daemonProc = spawn(runtime, args, { + detached: true, + stdio: 'ignore', + env: { ...process.env }, + }); + this._daemonProc.unref(); + + // Wait for daemon to be ready AND extension to connect + const deadline = Date.now() + DAEMON_SPAWN_TIMEOUT; + while (Date.now() < deadline) { + await new Promise(resolve => setTimeout(resolve, 300)); + if (await isExtensionConnected()) return; + } + + // Daemon might be up but extension not connected — give a useful error + if (await isDaemonRunning()) { + throw new Error( + 'Daemon is running but the Browser Extension is not connected.\n' + + 'Please install and enable the opencli Browser Bridge extension in Chrome.', + ); + } + + throw new Error( + 'Failed to start opencli daemon. Try running manually:\n' + + ` node ${daemonPath}\n` + + 'Make sure port 19825 is available.', + ); } } diff --git a/src/browser/page.ts b/src/browser/page.ts index 23abeb6..2ef766b 100644 --- a/src/browser/page.ts +++ b/src/browser/page.ts @@ -1,139 +1,236 @@ /** - * Page abstraction wrapping JSON-RPC calls to Playwright MCP. + * Page abstraction — implements IPage by sending commands to the daemon. + * + * All browser operations are ultimately 'exec' (JS evaluation via CDP) + * plus a few native Chrome Extension APIs (tabs, cookies, navigate). + * + * IMPORTANT: After goto(), we remember the tabId returned by the navigate + * action and pass it to all subsequent commands. This avoids the issue + * where resolveTabId() in the extension picks a chrome:// or + * chrome-extension:// tab that can't be debugged. */ import { formatSnapshot } from '../snapshotFormatter.js'; import { normalizeEvaluateSource } from '../pipeline/template.js'; import { generateInterceptorJs, generateReadInterceptedJs } from '../interceptor.js'; import type { IPage } from '../types.js'; -import { BrowserConnectError } from '../errors.js'; +import { sendCommand } from './daemon-client.js'; /** - * Page abstraction wrapping JSON-RPC calls to Playwright MCP. + * Page — implements IPage by talking to the daemon via HTTP. */ export class Page implements IPage { - constructor(private _request: (method: string, params?: Record) => Promise>) {} - - async call(method: string, params: Record = {}): Promise { - const resp = await this._request(method, params); - if (resp.error) throw new Error(`page.${method}: ${(resp.error as any).message ?? JSON.stringify(resp.error)}`); - // Extract text content from MCP result - const result = resp.result as any; - - if (result?.isError) { - const errorText = result.content?.find((c: any) => c.type === 'text')?.text || 'Unknown MCP Error'; - throw new BrowserConnectError( - errorText, - 'Please check if the browser is running or if the Playwright MCP / CDP connection is configured correctly.' - ); - } - - if (result?.content) { - const textParts = result.content.filter((c: any) => c.type === 'text'); - if (textParts.length >= 1) { - let text = textParts[textParts.length - 1].text; // Usually the main output is in the last text block - - // Some versions of the MCP return error text without the `isError` boolean flag - if (typeof text === 'string' && text.trim().startsWith('### Error')) { - throw new BrowserConnectError( - text.trim(), - 'Please check if the browser is running or if the Playwright MCP / CDP connection is configured correctly.' - ); - } - - // MCP browser_evaluate returns: "[JSON]\n### Ran Playwright code\n```js\n...\n```" - // Strip the "### Ran Playwright code" suffix to get clean JSON - const codeMarker = text.indexOf('### Ran Playwright code'); - if (codeMarker !== -1) { - text = text.slice(0, codeMarker).trim(); - } - // Also handle "### Result\n[JSON]" format (some MCP versions) - const resultMarker = text.indexOf('### Result\n'); - if (resultMarker !== -1) { - text = text.slice(resultMarker + '### Result\n'.length).trim(); - } - try { return JSON.parse(text); } catch { return text; } - } - } - return result; - } - - // --- High-level methods --- + /** Active tab ID, set after navigate and used in all subsequent commands */ + private _tabId: number | undefined; async goto(url: string): Promise { - await this.call('tools/call', { name: 'browser_navigate', arguments: { url } }); + const result = await sendCommand('navigate', { + url, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }) as { tabId?: number }; + // Remember the tabId for subsequent exec calls + if (result?.tabId) { + this._tabId = result.tabId; + } } async evaluate(js: string): Promise { - // Normalize IIFE format to function format expected by MCP browser_evaluate const normalized = normalizeEvaluateSource(js); - return this.call('tools/call', { name: 'browser_evaluate', arguments: { function: normalized } }); + // Wrap function-style code: `() => { ... }` or `async () => { ... }` → IIFE + const trimmed = normalized.trim(); + const code = trimmed.startsWith('async') + ? `(${trimmed})()` + : trimmed.startsWith('function') || trimmed.startsWith('(') + ? `(${trimmed})()` + : trimmed; + return sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async snapshot(opts: { interactive?: boolean; compact?: boolean; maxDepth?: number; raw?: boolean } = {}): Promise { - const raw = await this.call('tools/call', { name: 'browser_snapshot', arguments: {} }); + // Use CDP Accessibility.getFullAXTree via exec + const code = ` + (async () => { + // Build a simplified accessibility tree from the DOM + function buildTree(node, depth = 0) { + if (depth > ${opts.maxDepth ?? 50}) return ''; + const role = node.getAttribute?.('role') || node.tagName?.toLowerCase() || 'generic'; + const name = node.getAttribute?.('aria-label') || node.getAttribute?.('alt') || node.textContent?.trim().slice(0, 80) || ''; + const isInteractive = ['a', 'button', 'input', 'select', 'textarea'].includes(node.tagName?.toLowerCase()) || node.getAttribute?.('tabindex') != null; + + ${opts.interactive ? 'if (!isInteractive && !node.children?.length) return "";' : ''} + + let indent = ' '.repeat(depth); + let line = indent + role; + if (name) line += ' "' + name.replace(/"/g, '\\"') + '"'; + if (node.tagName?.toLowerCase() === 'a' && node.href) line += ' [' + node.href + ']'; + if (node.tagName?.toLowerCase() === 'input') line += ' [' + (node.type || 'text') + ']'; + + let result = line + '\\n'; + if (node.children) { + for (const child of node.children) { + result += buildTree(child, depth + 1); + } + } + return result; + } + return buildTree(document.body); + })() + `; + const raw = await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); if (opts.raw) return raw; if (typeof raw === 'string') return formatSnapshot(raw, opts); return raw; } async click(ref: string): Promise { - await this.call('tools/call', { name: 'browser_click', arguments: { element: 'click target', ref } }); + const safeRef = JSON.stringify(ref); + const code = ` + (() => { + const ref = ${safeRef}; + const el = document.querySelector('[data-ref="' + ref + '"]') + || document.querySelectorAll('a, button, input, [role="button"], [tabindex]')[parseInt(ref, 10) || 0]; + if (!el) throw new Error('Element not found: ' + ref); + el.scrollIntoView({ behavior: 'instant', block: 'center' }); + el.click(); + return 'clicked'; + })() + `; + await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async typeText(ref: string, text: string): Promise { - await this.call('tools/call', { name: 'browser_type', arguments: { element: 'type target', ref, text } }); + const safeRef = JSON.stringify(ref); + const safeText = JSON.stringify(text); + const code = ` + (() => { + const ref = ${safeRef}; + const el = document.querySelector('[data-ref="' + ref + '"]') + || document.querySelectorAll('input, textarea, [contenteditable]')[parseInt(ref, 10) || 0]; + if (!el) throw new Error('Element not found: ' + ref); + el.focus(); + el.value = ${safeText}; + el.dispatchEvent(new Event('input', { bubbles: true })); + el.dispatchEvent(new Event('change', { bubbles: true })); + return 'typed'; + })() + `; + await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async pressKey(key: string): Promise { - await this.call('tools/call', { name: 'browser_press_key', arguments: { key } }); + const code = ` + (() => { + const el = document.activeElement || document.body; + el.dispatchEvent(new KeyboardEvent('keydown', { key: ${JSON.stringify(key)}, bubbles: true })); + el.dispatchEvent(new KeyboardEvent('keyup', { key: ${JSON.stringify(key)}, bubbles: true })); + return 'pressed'; + })() + `; + await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async wait(options: number | { text?: string; time?: number; timeout?: number }): Promise { if (typeof options === 'number') { - await this.call('tools/call', { name: 'browser_wait_for', arguments: { time: options } }); - } else { - // Pass directly to native wait_for, which supports natively awaiting text strings without heavy DOM polling - await this.call('tools/call', { name: 'browser_wait_for', arguments: options }); + await new Promise(resolve => setTimeout(resolve, options * 1000)); + return; + } + if (options.time) { + await new Promise(resolve => setTimeout(resolve, options.time! * 1000)); + return; + } + if (options.text) { + const timeout = (options.timeout ?? 30) * 1000; + const code = ` + new Promise((resolve, reject) => { + const deadline = Date.now() + ${timeout}; + const check = () => { + if (document.body.innerText.includes(${JSON.stringify(options.text)})) return resolve('found'); + if (Date.now() > deadline) return reject(new Error('Text not found: ' + ${JSON.stringify(options.text)})); + setTimeout(check, 200); + }; + check(); + }) + `; + await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } } async tabs(): Promise { - return this.call('tools/call', { name: 'browser_tabs', arguments: { action: 'list' } }); + return sendCommand('tabs', { op: 'list' }); } async closeTab(index?: number): Promise { - await this.call('tools/call', { name: 'browser_tabs', arguments: { action: 'close', ...(index !== undefined ? { index } : {}) } }); + await sendCommand('tabs', { op: 'close', ...(index !== undefined ? { index } : {}) }); } async newTab(): Promise { - await this.call('tools/call', { name: 'browser_tabs', arguments: { action: 'new' } }); + await sendCommand('tabs', { op: 'new' }); } async selectTab(index: number): Promise { - await this.call('tools/call', { name: 'browser_tabs', arguments: { action: 'select', index } }); + await sendCommand('tabs', { op: 'select', index }); } async networkRequests(includeStatic: boolean = false): Promise { - return this.call('tools/call', { name: 'browser_network_requests', arguments: { includeStatic } }); + // Use performance API to get network entries + const code = ` + (() => { + const entries = performance.getEntriesByType('resource'); + return entries + ${includeStatic ? '' : '.filter(e => !["img", "font", "css", "script"].some(t => e.initiatorType === t))'} + .map(e => ({ + url: e.name, + type: e.initiatorType, + duration: Math.round(e.duration), + size: e.transferSize || 0, + })); + })() + `; + return sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async consoleMessages(level: string = 'info'): Promise { - return this.call('tools/call', { name: 'browser_console_messages', arguments: { level } }); + // Console messages can't be retrospectively read via exec. + // Return empty for now — users should use networkRequests or evaluate. + return []; } - async scroll(direction: string = 'down', _amount: number = 500): Promise { - await this.call('tools/call', { name: 'browser_press_key', arguments: { key: direction === 'down' ? 'PageDown' : 'PageUp' } }); + async scroll(direction: string = 'down', amount: number = 500): Promise { + const dx = direction === 'left' ? -amount : direction === 'right' ? amount : 0; + const dy = direction === 'up' ? -amount : direction === 'down' ? amount : 0; + await sendCommand('exec', { + code: `window.scrollBy(${dx}, ${dy})`, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async autoScroll(options: { times?: number; delayMs?: number } = {}): Promise { const times = options.times ?? 3; const delayMs = options.delayMs ?? 2000; - const js = ` - async () => { - const maxTimes = ${times}; - const maxWaitMs = ${delayMs}; - for (let i = 0; i < maxTimes; i++) { + const code = ` + (async () => { + for (let i = 0; i < ${times}; i++) { const lastHeight = document.body.scrollHeight; window.scrollTo(0, lastHeight); await new Promise(resolve => { @@ -142,30 +239,36 @@ export class Page implements IPage { if (document.body.scrollHeight > lastHeight) { clearTimeout(timeoutId); observer.disconnect(); - setTimeout(resolve, 100); // Small debounce for rendering + setTimeout(resolve, 100); } }); observer.observe(document.body, { childList: true, subtree: true }); - timeoutId = setTimeout(() => { - observer.disconnect(); - resolve(null); - }, maxWaitMs); + timeoutId = setTimeout(() => { observer.disconnect(); resolve(null); }, ${delayMs}); }); } - } + })() `; - await this.evaluate(js); + await sendCommand('exec', { + code, + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async installInterceptor(pattern: string): Promise { - await this.evaluate(generateInterceptorJs(JSON.stringify(pattern), { - arrayName: '__opencli_xhr', - patchGuard: '__opencli_interceptor_patched', - })); + await sendCommand('exec', { + code: generateInterceptorJs(JSON.stringify(pattern), { + arrayName: '__opencli_xhr', + patchGuard: '__opencli_interceptor_patched', + }), + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); } async getInterceptedRequests(): Promise { - const result = await this.evaluate(generateReadInterceptedJs('__opencli_xhr')); - return result || []; + const result = await sendCommand('exec', { + code: generateReadInterceptedJs('__opencli_xhr'), + ...(this._tabId !== undefined ? { tabId: this._tabId } : {}), + }); + return (result as any[]) || []; } } diff --git a/src/daemon.ts b/src/daemon.ts new file mode 100644 index 0000000..568eda7 --- /dev/null +++ b/src/daemon.ts @@ -0,0 +1,164 @@ +/** + * opencli micro-daemon — HTTP + WebSocket bridge between CLI and Chrome Extension. + * + * Architecture: + * CLI → HTTP POST /command → daemon → WebSocket → Extension + * Extension → WebSocket result → daemon → HTTP response → CLI + * + * Lifecycle: + * - Auto-spawned by opencli on first browser command + * - Auto-exits after 5 minutes of idle + * - Listens on localhost:19825 + */ + +import { createServer, type IncomingMessage, type ServerResponse } from 'node:http'; +import { WebSocketServer, WebSocket } from 'ws'; + +const PORT = parseInt(process.env.OPENCLI_DAEMON_PORT ?? '19825', 10); +const IDLE_TIMEOUT = 5 * 60 * 1000; // 5 minutes + +// ─── State ─────────────────────────────────────────────────────────── + +let extensionWs: WebSocket | null = null; +const pending = new Map void; + reject: (error: Error) => void; + timer: ReturnType; +}>(); +let idleTimer: ReturnType | null = null; + +// ─── Idle auto-exit ────────────────────────────────────────────────── + +function resetIdleTimer(): void { + if (idleTimer) clearTimeout(idleTimer); + idleTimer = setTimeout(() => { + console.error('[daemon] Idle timeout, shutting down'); + process.exit(0); + }, IDLE_TIMEOUT); +} + +// ─── HTTP Server ───────────────────────────────────────────────────── + +function readBody(req: IncomingMessage): Promise { + return new Promise((resolve, reject) => { + const chunks: Buffer[] = []; + req.on('data', (c: Buffer) => chunks.push(c)); + req.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8'))); + req.on('error', reject); + }); +} + +function jsonResponse(res: ServerResponse, status: number, data: unknown): void { + res.writeHead(status, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); + res.end(JSON.stringify(data)); +} + +async function handleRequest(req: IncomingMessage, res: ServerResponse): Promise { + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); + res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); + if (req.method === 'OPTIONS') { res.writeHead(204); res.end(); return; } + + const url = req.url ?? '/'; + + if (req.method === 'GET' && url === '/status') { + jsonResponse(res, 200, { + ok: true, + extensionConnected: extensionWs?.readyState === WebSocket.OPEN, + pending: pending.size, + }); + return; + } + + if (req.method === 'POST' && url === '/command') { + resetIdleTimer(); + try { + const body = JSON.parse(await readBody(req)); + + if (!extensionWs || extensionWs.readyState !== WebSocket.OPEN) { + jsonResponse(res, 503, { id: body.id, ok: false, error: 'Extension not connected. Please install the opencli Browser Bridge extension.' }); + return; + } + + const result = await new Promise((resolve, reject) => { + const timer = setTimeout(() => { + pending.delete(body.id); + reject(new Error('Command timeout (30s)')); + }, 30000); + pending.set(body.id, { resolve, reject, timer }); + extensionWs!.send(JSON.stringify(body)); + }); + + jsonResponse(res, 200, result); + } catch (err) { + jsonResponse(res, err instanceof Error && err.message.includes('timeout') ? 408 : 400, { + ok: false, + error: err instanceof Error ? err.message : 'Invalid request', + }); + } + return; + } + + jsonResponse(res, 404, { error: 'Not found' }); +} + +// ─── WebSocket for Extension ───────────────────────────────────────── + +const httpServer = createServer((req, res) => { handleRequest(req, res).catch(() => { res.writeHead(500); res.end(); }); }); +const wss = new WebSocketServer({ server: httpServer, path: '/ext' }); + +wss.on('connection', (ws) => { + console.error('[daemon] Extension connected'); + extensionWs = ws; + + ws.on('message', (data) => { + try { + const result = JSON.parse(data.toString()); + const p = pending.get(result.id); + if (p) { + clearTimeout(p.timer); + pending.delete(result.id); + p.resolve(result); + } + } catch { + // Ignore malformed messages + } + }); + + ws.on('close', () => { + console.error('[daemon] Extension disconnected'); + if (extensionWs === ws) { + extensionWs = null; + // Reject all pending requests since the extension is gone + for (const [id, p] of pending) { + clearTimeout(p.timer); + p.reject(new Error('Extension disconnected')); + } + pending.clear(); + } + }); + + ws.on('error', () => { + if (extensionWs === ws) extensionWs = null; + }); +}); + +// ─── Start ─────────────────────────────────────────────────────────── + +httpServer.listen(PORT, '127.0.0.1', () => { + console.error(`[daemon] Listening on http://127.0.0.1:${PORT}`); + resetIdleTimer(); +}); + +httpServer.on('error', (err: NodeJS.ErrnoException) => { + if (err.code === 'EADDRINUSE') { + console.error(`[daemon] Port ${PORT} already in use — another daemon is likely running. Exiting.`); + process.exit(0); + } + console.error('[daemon] Server error:', err.message); + process.exit(1); +}); + +// Graceful shutdown +process.on('SIGTERM', () => process.exit(0)); +process.on('SIGINT', () => process.exit(0)); diff --git a/src/doctor.test.ts b/src/doctor.test.ts index 8f4b33b..fb080f1 100644 --- a/src/doctor.test.ts +++ b/src/doctor.test.ts @@ -1,223 +1,62 @@ import { describe, expect, it } from 'vitest'; -import { - readTokenFromShellContent, - renderBrowserDoctorReport, - upsertShellToken, - readTomlConfigToken, - upsertTomlConfigToken, - upsertJsonConfigToken, -} from './doctor.js'; - -describe('shell token helpers', () => { - it('reads token from shell export', () => { - expect(readTokenFromShellContent('export PLAYWRIGHT_MCP_EXTENSION_TOKEN="abc123"\n')).toBe('abc123'); - }); - - it('appends token export when missing', () => { - const next = upsertShellToken('export PATH="/usr/bin"\n', 'abc123'); - expect(next).toContain('export PLAYWRIGHT_MCP_EXTENSION_TOKEN="abc123"'); - }); - - it('replaces token export when present', () => { - const next = upsertShellToken('export PLAYWRIGHT_MCP_EXTENSION_TOKEN="old"\n', 'new'); - expect(next).toContain('export PLAYWRIGHT_MCP_EXTENSION_TOKEN="new"'); - expect(next).not.toContain('"old"'); - }); -}); - -describe('toml token helpers', () => { - it('reads token from playwright env section', () => { - const content = ` -[mcp_servers.playwright.env] -PLAYWRIGHT_MCP_EXTENSION_TOKEN = "abc123" -`; - expect(readTomlConfigToken(content)).toBe('abc123'); - }); - - it('updates token inside existing env section', () => { - const content = ` -[mcp_servers.playwright.env] -PLAYWRIGHT_MCP_EXTENSION_TOKEN = "old" -`; - const next = upsertTomlConfigToken(content, 'new'); - expect(next).toContain('PLAYWRIGHT_MCP_EXTENSION_TOKEN = "new"'); - expect(next).not.toContain('"old"'); - }); - - it('creates env section when missing', () => { - const content = ` -[mcp_servers.playwright] -type = "stdio" -`; - const next = upsertTomlConfigToken(content, 'abc123'); - expect(next).toContain('[mcp_servers.playwright.env]'); - expect(next).toContain('PLAYWRIGHT_MCP_EXTENSION_TOKEN = "abc123"'); - }); -}); - -describe('json token helpers', () => { - it('writes token into standard mcpServers config', () => { - const next = upsertJsonConfigToken(JSON.stringify({ - mcpServers: { - playwright: { - command: 'npx', - args: ['-y', '@playwright/mcp@latest', '--extension'], - }, - }, - }), 'abc123'); - const parsed = JSON.parse(next); - expect(parsed.mcpServers.playwright.env.PLAYWRIGHT_MCP_EXTENSION_TOKEN).toBe('abc123'); - }); - - it('writes token into opencode mcp config', () => { - const next = upsertJsonConfigToken(JSON.stringify({ - $schema: 'https://opencode.ai/config.json', - mcp: { - playwright: { - command: ['npx', '-y', '@playwright/mcp@latest', '--extension'], - enabled: true, - type: 'local', - }, - }, - }), 'abc123'); - const parsed = JSON.parse(next); - expect(parsed.mcp.playwright.environment.PLAYWRIGHT_MCP_EXTENSION_TOKEN).toBe('abc123'); - }); - - it('creates standard mcpServers format for empty file (not OpenCode)', () => { - const next = upsertJsonConfigToken('', 'abc123'); - const parsed = JSON.parse(next); - expect(parsed.mcpServers.playwright.env.PLAYWRIGHT_MCP_EXTENSION_TOKEN).toBe('abc123'); - expect(parsed.mcp).toBeUndefined(); - }); - - it('creates OpenCode format when filePath contains opencode', () => { - const next = upsertJsonConfigToken('', 'abc123', '/home/user/.config/opencode/opencode.json'); - const parsed = JSON.parse(next); - expect(parsed.mcp.playwright.environment.PLAYWRIGHT_MCP_EXTENSION_TOKEN).toBe('abc123'); - expect(parsed.mcpServers).toBeUndefined(); - }); - - it('creates standard format when filePath is claude.json', () => { - const next = upsertJsonConfigToken('', 'abc123', '/home/user/.claude.json'); - const parsed = JSON.parse(next); - expect(parsed.mcpServers.playwright.env.PLAYWRIGHT_MCP_EXTENSION_TOKEN).toBe('abc123'); - }); -}); - -describe('fish shell support', () => { - it('generates fish set -gx syntax for fish config path', () => { - const next = upsertShellToken('', 'abc123', '/home/user/.config/fish/config.fish'); - expect(next).toContain('set -gx PLAYWRIGHT_MCP_EXTENSION_TOKEN "abc123"'); - expect(next).not.toContain('export'); - }); - - it('replaces existing fish set line', () => { - const content = 'set -gx PLAYWRIGHT_MCP_EXTENSION_TOKEN "old"\n'; - const next = upsertShellToken(content, 'new', '/home/user/.config/fish/config.fish'); - expect(next).toContain('set -gx PLAYWRIGHT_MCP_EXTENSION_TOKEN "new"'); - expect(next).not.toContain('"old"'); - }); - - it('appends fish syntax to existing fish config', () => { - const content = 'set -gx PATH /usr/bin\n'; - const next = upsertShellToken(content, 'abc123', '/home/user/.config/fish/config.fish'); - expect(next).toContain('set -gx PLAYWRIGHT_MCP_EXTENSION_TOKEN "abc123"'); - expect(next).toContain('set -gx PATH /usr/bin'); - }); - - it('uses export syntax for zshrc even with filePath', () => { - const next = upsertShellToken('', 'abc123', '/home/user/.zshrc'); - expect(next).toContain('export PLAYWRIGHT_MCP_EXTENSION_TOKEN="abc123"'); - expect(next).not.toContain('set -gx'); - }); -}); +import { renderBrowserDoctorReport } from './doctor.js'; describe('doctor report rendering', () => { const strip = (s: string) => s.replace(/\x1b\[[0-9;]*m/g, ''); - it('renders OK-style report when tokens match', () => { + it('renders OK-style report when daemon and extension connected', () => { const text = strip(renderBrowserDoctorReport({ - envToken: 'abc123', - envFingerprint: 'fp1', - extensionToken: 'abc123', - extensionFingerprint: 'fp1', - extensionInstalled: true, - extensionBrowsers: ['Chrome'], - shellFiles: [{ path: '/tmp/.zshrc', exists: true, token: 'abc123', fingerprint: 'fp1' }], - configs: [{ path: '/tmp/mcp.json', exists: true, format: 'json', token: 'abc123', fingerprint: 'fp1', writable: true }], - recommendedToken: 'abc123', - recommendedFingerprint: 'fp1', - warnings: [], + daemonRunning: true, + extensionConnected: true, issues: [], })); - expect(text).toContain('[OK] Extension installed (Chrome)'); - expect(text).toContain('[OK] Environment token: configured (fp1)'); - expect(text).toContain('[OK] /tmp/mcp.json'); - expect(text).toContain('configured (fp1)'); + expect(text).toContain('[OK] Daemon: running on port 19825'); + expect(text).toContain('[OK] Extension: connected'); + expect(text).toContain('Everything looks good!'); }); - it('renders MISMATCH-style report when fingerprints differ', () => { + it('renders MISSING when daemon not running', () => { const text = strip(renderBrowserDoctorReport({ - envToken: 'abc123', - envFingerprint: 'fp1', - extensionToken: null, - extensionFingerprint: null, - extensionInstalled: false, - extensionBrowsers: [], - shellFiles: [{ path: '/tmp/.zshrc', exists: true, token: 'def456', fingerprint: 'fp2' }], - configs: [{ path: '/tmp/mcp.json', exists: true, format: 'json', token: 'abc123', fingerprint: 'fp1', writable: true }], - recommendedToken: 'abc123', - recommendedFingerprint: 'fp1', - warnings: [], - issues: ['Detected inconsistent Playwright MCP tokens across env/config files.'], + daemonRunning: false, + extensionConnected: false, + issues: ['Daemon is not running.'], })); - expect(text).toContain('[MISSING] Extension not installed in any browser'); - expect(text).toContain('[MISMATCH] Environment token: configured (fp1)'); - expect(text).toContain('[MISMATCH] /tmp/.zshrc'); - expect(text).toContain('configured (fp2)'); - expect(text).toContain('[MISMATCH] Recommended token fingerprint: fp1'); + expect(text).toContain('[MISSING] Daemon: not running'); + expect(text).toContain('[MISSING] Extension: not connected'); + expect(text).toContain('Daemon is not running.'); + }); + + it('renders extension not connected when daemon is running', () => { + const text = strip(renderBrowserDoctorReport({ + daemonRunning: true, + extensionConnected: false, + issues: ['Daemon is running but the Chrome extension is not connected.'], + })); + + expect(text).toContain('[OK] Daemon: running on port 19825'); + expect(text).toContain('[MISSING] Extension: not connected'); }); it('renders connectivity OK when live test succeeds', () => { const text = strip(renderBrowserDoctorReport({ - envToken: 'abc123', - envFingerprint: 'fp1', - extensionToken: 'abc123', - extensionFingerprint: 'fp1', - extensionInstalled: true, - extensionBrowsers: ['Chrome'], - shellFiles: [], - configs: [], - recommendedToken: 'abc123', - recommendedFingerprint: 'fp1', + daemonRunning: true, + extensionConnected: true, connectivity: { ok: true, durationMs: 1234 }, - warnings: [], issues: [], })); - expect(text).toContain('[OK] Browser connectivity: connected in 1.2s'); + expect(text).toContain('[OK] Connectivity: connected in 1.2s'); }); - it('renders connectivity WARN when not tested', () => { + it('renders connectivity SKIP when not tested', () => { const text = strip(renderBrowserDoctorReport({ - envToken: 'abc123', - envFingerprint: 'fp1', - extensionToken: 'abc123', - extensionFingerprint: 'fp1', - extensionInstalled: true, - extensionBrowsers: ['Chrome'], - shellFiles: [], - configs: [], - recommendedToken: 'abc123', - recommendedFingerprint: 'fp1', - warnings: [], + daemonRunning: true, + extensionConnected: true, issues: [], })); - expect(text).toContain('[WARN] Browser connectivity: not tested (use --live)'); + expect(text).toContain('[SKIP] Connectivity: not tested (use --live)'); }); }); - diff --git a/src/doctor.ts b/src/doctor.ts index 3e75210..f63ef42 100644 --- a/src/doctor.ts +++ b/src/doctor.ts @@ -1,47 +1,22 @@ -import * as fs from 'node:fs'; -import * as os from 'node:os'; -import * as path from 'node:path'; +/** + * opencli doctor — diagnose and fix browser connectivity. + * + * Simplified for the daemon-based architecture. No more token management, + * MCP path discovery, or config file scanning. + */ -import { createInterface } from 'node:readline/promises'; -import { stdin as input, stdout as output } from 'node:process'; import chalk from 'chalk'; -import type { IPage } from './types.js'; -import { PlaywrightMCP, getTokenFingerprint } from './browser/index.js'; +import { checkDaemonStatus } from './browser/discover.js'; +import { PlaywrightMCP } from './browser/index.js'; import { browserSession } from './runtime.js'; -const PLAYWRIGHT_SERVER_NAME = 'playwright'; -export const PLAYWRIGHT_TOKEN_ENV = 'PLAYWRIGHT_MCP_EXTENSION_TOKEN'; -const PLAYWRIGHT_EXTENSION_ID = 'mmlmfjhmonkocbjadbfplnigmagldckm'; -const TOKEN_LINE_RE = /^(\s*export\s+PLAYWRIGHT_MCP_EXTENSION_TOKEN=)(['"]?)([^'"\\\n]+)\2\s*$/m; export type DoctorOptions = { fix?: boolean; yes?: boolean; live?: boolean; - shellRc?: string; - configPaths?: string[]; - token?: string; cliVersion?: string; }; -export type ShellFileStatus = { - path: string; - exists: boolean; - token: string | null; - fingerprint: string | null; -}; - -export type McpConfigFormat = 'json' | 'toml'; - -export type McpConfigStatus = { - path: string; - exists: boolean; - format: McpConfigFormat; - token: string | null; - fingerprint: string | null; - writable: boolean; - parseError?: string; -}; - export type ConnectivityResult = { ok: boolean; error?: string; @@ -50,463 +25,22 @@ export type ConnectivityResult = { export type DoctorReport = { cliVersion?: string; - envToken: string | null; - envFingerprint: string | null; - extensionToken: string | null; - extensionFingerprint: string | null; - extensionInstalled: boolean; - extensionBrowsers: string[]; - shellFiles: ShellFileStatus[]; - configs: McpConfigStatus[]; - recommendedToken: string | null; - recommendedFingerprint: string | null; + daemonRunning: boolean; + extensionConnected: boolean; connectivity?: ConnectivityResult; - warnings: string[]; issues: string[]; }; -type ReportStatus = 'OK' | 'MISSING' | 'MISMATCH' | 'WARN'; - -function colorLabel(status: ReportStatus): string { - switch (status) { - case 'OK': return chalk.green('[OK]'); - case 'MISSING': return chalk.red('[MISSING]'); - case 'MISMATCH': return chalk.yellow('[MISMATCH]'); - case 'WARN': return chalk.yellow('[WARN]'); - } -} - -function statusLine(status: ReportStatus, text: string): string { - return `${colorLabel(status)} ${text}`; -} - -function tokenSummary(token: string | null, fingerprint: string | null): string { - if (!token) return chalk.dim('missing'); - return `configured ${chalk.dim(`(${fingerprint})`)}`; -} - -export function shortenPath(p: string): string { - const home = os.homedir(); - return home && p.startsWith(home) ? '~' + p.slice(home.length) : p; -} - -export function toolName(p: string): string { - if (p.includes('.codex/')) return 'Codex'; - if (p.includes('.cursor/')) return 'Cursor'; - if (p.includes('.claude.json')) return 'Claude Code'; - if (p.includes('antigravity')) return 'Antigravity'; - if (p.includes('.gemini/settings')) return 'Gemini CLI'; - if (p.includes('opencode')) return 'OpenCode'; - if (p.includes('Claude/claude_desktop')) return 'Claude Desktop'; - if (p.includes('.vscode/')) return 'VS Code'; - if (p.includes('.mcp.json')) return 'Project MCP'; - if (p.includes('.zshrc') || p.includes('.bashrc') || p.includes('.profile')) return 'Shell'; - return ''; -} - -export function getDefaultShellRcPath(): string { - const shell = process.env.SHELL ?? ''; - if (shell.endsWith('/bash')) return path.join(os.homedir(), '.bashrc'); - if (shell.endsWith('/fish')) return path.join(os.homedir(), '.config', 'fish', 'config.fish'); - return path.join(os.homedir(), '.zshrc'); -} - -function isFishConfig(filePath: string): boolean { - return filePath.endsWith('config.fish') || filePath.includes('/fish/'); -} - -/** Detect if a JSON config file uses OpenCode's `mcp` format vs standard `mcpServers` */ -function isOpenCodeConfig(filePath: string): boolean { - return filePath.includes('opencode'); -} - -export function getDefaultMcpConfigPaths(cwd: string = process.cwd()): string[] { - const home = os.homedir(); - const candidates = [ - path.join(home, '.codex', 'config.toml'), - path.join(home, '.codex', 'mcp.json'), - path.join(home, '.cursor', 'mcp.json'), - path.join(home, '.claude.json'), - path.join(home, '.gemini', 'settings.json'), - path.join(home, '.gemini', 'antigravity', 'mcp_config.json'), - path.join(home, '.config', 'opencode', 'opencode.json'), - path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json'), - path.join(home, '.config', 'Claude', 'claude_desktop_config.json'), - path.join(cwd, '.cursor', 'mcp.json'), - path.join(cwd, '.vscode', 'mcp.json'), - path.join(cwd, '.opencode', 'opencode.json'), - path.join(cwd, '.mcp.json'), - ]; - return [...new Set(candidates)]; -} - -export function readTokenFromShellContent(content: string): string | null { - const m = content.match(TOKEN_LINE_RE); - return m?.[3] ?? null; -} - -export function upsertShellToken(content: string, token: string, filePath?: string): string { - if (filePath && isFishConfig(filePath)) { - // Fish shell uses `set -gx` instead of `export` - const fishLine = `set -gx ${PLAYWRIGHT_TOKEN_ENV} "${token}"`; - const fishRe = /^\s*set\s+(-gx\s+)?PLAYWRIGHT_MCP_EXTENSION_TOKEN\s+.*/m; - if (!content.trim()) return `${fishLine}\n`; - if (fishRe.test(content)) return content.replace(fishRe, fishLine); - return `${content.replace(/\s*$/, '')}\n${fishLine}\n`; - } - const nextLine = `export ${PLAYWRIGHT_TOKEN_ENV}="${token}"`; - if (!content.trim()) return `${nextLine}\n`; - if (TOKEN_LINE_RE.test(content)) return content.replace(TOKEN_LINE_RE, `$1"${ - token - }"`); - return `${content.replace(/\s*$/, '')}\n${nextLine}\n`; -} - -function readJsonConfigToken(content: string): string | null { - try { - const parsed = JSON.parse(content); - return readTokenFromJsonObject(parsed); - } catch { - return null; - } -} - -function readTokenFromJsonObject(parsed: any): string | null { - const direct = parsed?.mcpServers?.[PLAYWRIGHT_SERVER_NAME]?.env?.[PLAYWRIGHT_TOKEN_ENV]; - if (typeof direct === 'string' && direct) return direct; - const opencode = parsed?.mcp?.[PLAYWRIGHT_SERVER_NAME]?.environment?.[PLAYWRIGHT_TOKEN_ENV]; - if (typeof opencode === 'string' && opencode) return opencode; - return null; -} - -export function upsertJsonConfigToken(content: string, token: string, filePath?: string): string { - const parsed = content.trim() ? JSON.parse(content) : {}; - - // Determine format: use OpenCode format only if explicitly an opencode config, - // or if the existing content already uses `mcp` key (not `mcpServers`) - const useOpenCodeFormat = filePath - ? isOpenCodeConfig(filePath) - : (!parsed.mcpServers && parsed.mcp); - - if (useOpenCodeFormat) { - parsed.mcp = parsed.mcp ?? {}; - parsed.mcp[PLAYWRIGHT_SERVER_NAME] = parsed.mcp[PLAYWRIGHT_SERVER_NAME] ?? { - command: ['npx', '-y', '@playwright/mcp@latest', '--extension'], - enabled: true, - type: 'local', - }; - parsed.mcp[PLAYWRIGHT_SERVER_NAME].environment = parsed.mcp[PLAYWRIGHT_SERVER_NAME].environment ?? {}; - parsed.mcp[PLAYWRIGHT_SERVER_NAME].environment[PLAYWRIGHT_TOKEN_ENV] = token; - } else { - parsed.mcpServers = parsed.mcpServers ?? {}; - parsed.mcpServers[PLAYWRIGHT_SERVER_NAME] = parsed.mcpServers[PLAYWRIGHT_SERVER_NAME] ?? { - command: 'npx', - args: ['-y', '@playwright/mcp@latest', '--extension'], - }; - parsed.mcpServers[PLAYWRIGHT_SERVER_NAME].env = parsed.mcpServers[PLAYWRIGHT_SERVER_NAME].env ?? {}; - parsed.mcpServers[PLAYWRIGHT_SERVER_NAME].env[PLAYWRIGHT_TOKEN_ENV] = token; - } - return `${JSON.stringify(parsed, null, 2)}\n`; -} - -export function readTomlConfigToken(content: string): string | null { - const sectionMatch = content.match(/\[mcp_servers\.playwright\.env\][\s\S]*?(?=\n\[|$)/); - if (!sectionMatch) return null; - const tokenMatch = sectionMatch[0].match(/^\s*PLAYWRIGHT_MCP_EXTENSION_TOKEN\s*=\s*"([^"\n]+)"/m); - return tokenMatch?.[1] ?? null; -} - -export function upsertTomlConfigToken(content: string, token: string): string { - const envSectionRe = /(\[mcp_servers\.playwright\.env\][\s\S]*?)(?=\n\[|$)/; - const tokenLine = `PLAYWRIGHT_MCP_EXTENSION_TOKEN = "${token}"`; - if (envSectionRe.test(content)) { - return content.replace(envSectionRe, (section) => { - if (/^\s*PLAYWRIGHT_MCP_EXTENSION_TOKEN\s*=/m.test(section)) { - return section.replace(/^\s*PLAYWRIGHT_MCP_EXTENSION_TOKEN\s*=.*$/m, tokenLine); - } - return `${section.replace(/\s*$/, '')}\n${tokenLine}\n`; - }); - } - - const baseSectionRe = /(\[mcp_servers\.playwright\][\s\S]*?)(?=\n\[|$)/; - if (baseSectionRe.test(content)) { - return content.replace(baseSectionRe, (section) => `${section.replace(/\s*$/, '')}\n\n[mcp_servers.playwright.env]\n${tokenLine}\n`); - } - - const prefix = content.trim() ? `${content.replace(/\s*$/, '')}\n\n` : ''; - return `${prefix}[mcp_servers.playwright]\ntype = "stdio"\ncommand = "npx"\nargs = ["-y", "@playwright/mcp@latest", "--extension"]\n\n[mcp_servers.playwright.env]\n${tokenLine}\n`; -} - -export function fileExists(filePath: string): boolean { - try { - return fs.existsSync(filePath); - } catch { - return false; - } -} - -function canWrite(filePath: string): boolean { - try { - if (fileExists(filePath)) { - fs.accessSync(filePath, fs.constants.W_OK); - return true; - } - fs.accessSync(path.dirname(filePath), fs.constants.W_OK); - return true; - } catch { - return false; - } -} - -function readConfigStatus(filePath: string): McpConfigStatus { - const format: McpConfigFormat = filePath.endsWith('.toml') ? 'toml' : 'json'; - if (!fileExists(filePath)) { - return { path: filePath, exists: false, format, token: null, fingerprint: null, writable: canWrite(filePath) }; - } - try { - const content = fs.readFileSync(filePath, 'utf-8'); - const token = format === 'toml' ? readTomlConfigToken(content) : readJsonConfigToken(content); - return { - path: filePath, - exists: true, - format, - token, - fingerprint: getTokenFingerprint(token ?? undefined), - writable: canWrite(filePath), - }; - } catch (error: any) { - return { - path: filePath, - exists: true, - format, - token: null, - fingerprint: null, - writable: canWrite(filePath), - parseError: error?.message ?? String(error), - }; - } -} - /** - * Dynamically enumerate Chrome profiles by scanning for 'Default' and 'Profile *' - * directories across all browser base paths. Falls back to ['Default'] if none found. + * Test connectivity by attempting a real browser command. */ -function enumerateProfiles(baseDirs: string[]): string[] { - const profiles = new Set(); - for (const base of baseDirs) { - if (!fileExists(base)) continue; - try { - for (const entry of fs.readdirSync(base, { withFileTypes: true })) { - if (!entry.isDirectory()) continue; - if (entry.name === 'Default' || /^Profile \d+$/.test(entry.name)) { - profiles.add(entry.name); - } - } - } catch { /* permission denied, etc. */ } - } - return profiles.size > 0 ? [...profiles].sort() : ['Default']; -} - -/** - * Discover the auth token stored by the Playwright MCP Bridge extension - * by scanning Chrome's LevelDB localStorage files directly. - * - * Reads LevelDB .ldb/.log files as raw binary and searches for the - * extension ID near base64url token values. This works reliably across - * platforms because LevelDB's internal encoding can split ASCII strings - * like "auth-token" and the extension ID across byte boundaries, making - * text-based tools like `strings` + `grep` unreliable. - */ -export function discoverExtensionToken(): string | null { - const home = os.homedir(); - const platform = os.platform(); - const bases: string[] = []; - - if (platform === 'darwin') { - bases.push( - path.join(home, 'Library', 'Application Support', 'Google', 'Chrome'), - path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Dev'), - path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Beta'), - path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Canary'), - path.join(home, 'Library', 'Application Support', 'Chromium'), - path.join(home, 'Library', 'Application Support', 'Microsoft Edge'), - ); - } else if (platform === 'linux') { - bases.push( - path.join(home, '.config', 'google-chrome'), - path.join(home, '.config', 'google-chrome-unstable'), - path.join(home, '.config', 'google-chrome-beta'), - path.join(home, '.config', 'chromium'), - path.join(home, '.config', 'microsoft-edge'), - ); - } else if (platform === 'win32') { - const appData = process.env.LOCALAPPDATA || path.join(home, 'AppData', 'Local'); - bases.push( - path.join(appData, 'Google', 'Chrome', 'User Data'), - path.join(appData, 'Google', 'Chrome Dev', 'User Data'), - path.join(appData, 'Google', 'Chrome Beta', 'User Data'), - path.join(appData, 'Microsoft', 'Edge', 'User Data'), - ); - } - - const profiles = enumerateProfiles(bases); - const tokenRe = /([A-Za-z0-9_-]{40,50})/; - - for (const base of bases) { - for (const profile of profiles) { - const dir = path.join(base, profile, 'Local Storage', 'leveldb'); - if (!fileExists(dir)) continue; - - const token = extractTokenViaBinaryRead(dir, tokenRe); - if (token) return token; - } - } - - return null; -} - -function extractTokenViaBinaryRead(dir: string, tokenRe: RegExp): string | null { - // LevelDB fragments strings across byte boundaries, so we can't search - // for the full extension ID or "auth-token" as contiguous ASCII. Instead, - // search for a short prefix of the extension ID that reliably appears as - // contiguous bytes, then scan a window around each match for a base64url - // token value. - // - // Observed LevelDB layout near the auth-token entry: - // ... auth-t ... 4,mmlmfjhPocbjadbfplnigmagldckm.7 ... - // hqI86ncsD1QpcVcj-k9CyzTF-ieCQd_4KreZ_wy1WHA ... - // - // The extension ID prefix "mmlmfjh" appears ~44 bytes before the token. - const extIdBuf = Buffer.from(PLAYWRIGHT_EXTENSION_ID); - const extIdPrefix = Buffer.from(PLAYWRIGHT_EXTENSION_ID.slice(0, 7)); // "mmlmfjh" - - let files: string[]; - try { - files = fs.readdirSync(dir) - .filter(f => f.endsWith('.ldb') || f.endsWith('.log')) - .map(f => path.join(dir, f)); - } catch { return null; } - - // Sort by mtime descending so we find the freshest token first - files.sort((a, b) => { - try { return fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs; } catch { return 0; } - }); - - for (const file of files) { - let data: Buffer; - try { data = fs.readFileSync(file); } catch { continue; } - - // Quick check: file must contain at least the prefix - if (data.indexOf(extIdPrefix) === -1) continue; - - // Strategy 1: scan after each occurrence of the extension ID prefix - // for base64url tokens within a 500-byte window - let idx = 0; - while (true) { - const pos = data.indexOf(extIdPrefix, idx); - if (pos === -1) break; - - const scanStart = pos; - const scanEnd = Math.min(data.length, pos + 500); - const window = data.subarray(scanStart, scanEnd).toString('latin1'); - const m = window.match(tokenRe); - if (m && validateBase64urlToken(m[1])) { - // Make sure this isn't another extension ID that happens to match - if (m[1] !== PLAYWRIGHT_EXTENSION_ID) return m[1]; - } - idx = pos + 1; - } - - // Strategy 2 (fallback): original approach using full extension ID + auth-token key - const keyBuf = Buffer.from('auth-token'); - idx = 0; - while (true) { - const kp = data.indexOf(keyBuf, idx); - if (kp === -1) break; - - const contextStart = Math.max(0, kp - 500); - if (data.indexOf(extIdBuf, contextStart) !== -1 && data.indexOf(extIdBuf, contextStart) < kp) { - const after = data.subarray(kp + keyBuf.length, kp + keyBuf.length + 200).toString('latin1'); - const m = after.match(tokenRe); - if (m && validateBase64urlToken(m[1])) return m[1]; - } - idx = kp + 1; - } - } - return null; -} - -function validateBase64urlToken(token: string): boolean { - try { - const b64 = token.replace(/-/g, '+').replace(/_/g, '/'); - const decoded = Buffer.from(b64, 'base64'); - return decoded.length >= 28 && decoded.length <= 36; - } catch { return false; } -} - - -/** - * Check whether the Playwright MCP Bridge extension is installed in any browser. - * Scans Chrome/Chromium/Edge Extensions directories for the known extension ID. - */ -export function checkExtensionInstalled(): { installed: boolean; browsers: string[] } { - const home = os.homedir(); - const platform = os.platform(); - const browserDirs: Array<{ name: string; base: string }> = []; - - if (platform === 'darwin') { - browserDirs.push( - { name: 'Chrome', base: path.join(home, 'Library', 'Application Support', 'Google', 'Chrome') }, - { name: 'Chrome Dev', base: path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Dev') }, - { name: 'Chrome Beta', base: path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Beta') }, - { name: 'Chrome Canary', base: path.join(home, 'Library', 'Application Support', 'Google', 'Chrome Canary') }, - { name: 'Chromium', base: path.join(home, 'Library', 'Application Support', 'Chromium') }, - { name: 'Edge', base: path.join(home, 'Library', 'Application Support', 'Microsoft Edge') }, - ); - } else if (platform === 'linux') { - browserDirs.push( - { name: 'Chrome', base: path.join(home, '.config', 'google-chrome') }, - { name: 'Chrome Dev', base: path.join(home, '.config', 'google-chrome-unstable') }, - { name: 'Chrome Beta', base: path.join(home, '.config', 'google-chrome-beta') }, - { name: 'Chromium', base: path.join(home, '.config', 'chromium') }, - { name: 'Edge', base: path.join(home, '.config', 'microsoft-edge') }, - ); - } else if (platform === 'win32') { - const appData = process.env.LOCALAPPDATA || path.join(home, 'AppData', 'Local'); - browserDirs.push( - { name: 'Chrome', base: path.join(appData, 'Google', 'Chrome', 'User Data') }, - { name: 'Chrome Dev', base: path.join(appData, 'Google', 'Chrome Dev', 'User Data') }, - { name: 'Chrome Beta', base: path.join(appData, 'Google', 'Chrome Beta', 'User Data') }, - { name: 'Edge', base: path.join(appData, 'Microsoft', 'Edge', 'User Data') }, - ); - } - - const profiles = enumerateProfiles(browserDirs.map(d => d.base)); - const foundBrowsers: string[] = []; - - for (const { name, base } of browserDirs) { - for (const profile of profiles) { - const extDir = path.join(base, profile, 'Extensions', PLAYWRIGHT_EXTENSION_ID); - if (fileExists(extDir)) { - foundBrowsers.push(name); - break; // one match per browser is enough - } - } - } - - return { installed: foundBrowsers.length > 0, browsers: [...new Set(foundBrowsers)] }; -} - -/** - * Test token connectivity by attempting a real MCP connection. - * Connects, does the JSON-RPC handshake, and immediately closes. - */ -export async function checkTokenConnectivity(opts?: { timeout?: number }): Promise { - const timeout = opts?.timeout ?? 8; +export async function checkConnectivity(opts?: { timeout?: number }): Promise { const start = Date.now(); try { const mcp = new PlaywrightMCP(); - await mcp.connect({ timeout }); + const page = await mcp.connect({ timeout: opts?.timeout ?? 8 }); + // Try a simple eval to verify end-to-end connectivity + await page.evaluate('1 + 1'); await mcp.close(); return { ok: true, durationMs: Date.now() - start }; } catch (err: any) { @@ -515,215 +49,87 @@ export async function checkTokenConnectivity(opts?: { timeout?: number }): Promi } export async function runBrowserDoctor(opts: DoctorOptions = {}): Promise { - const envToken = process.env[PLAYWRIGHT_TOKEN_ENV] ?? null; - const shellPath = opts.shellRc ?? getDefaultShellRcPath(); - const shellFiles: ShellFileStatus[] = [shellPath].map((filePath) => { - if (!fileExists(filePath)) return { path: filePath, exists: false, token: null, fingerprint: null }; - const content = fs.readFileSync(filePath, 'utf-8'); - const token = readTokenFromShellContent(content); - return { path: filePath, exists: true, token, fingerprint: getTokenFingerprint(token ?? undefined) }; - }); - const configPaths = opts.configPaths?.length ? opts.configPaths : getDefaultMcpConfigPaths(); - const configs = configPaths.map(readConfigStatus); + const status = await checkDaemonStatus(); - // Try to discover the token directly from the Chrome extension's localStorage - const extensionToken = discoverExtensionToken(); - - const allTokens = [ - opts.token ?? null, - extensionToken, - envToken, - ...shellFiles.map(s => s.token), - ...configs.map(c => c.token), - ].filter((v): v is string => !!v); - const uniqueTokens = [...new Set(allTokens)]; - const recommendedToken = opts.token ?? extensionToken ?? envToken ?? (uniqueTokens.length === 1 ? uniqueTokens[0] : null) ?? null; - - // Check extension installation - const extInstall = checkExtensionInstalled(); - - // Connectivity test (only when --live) let connectivity: ConnectivityResult | undefined; if (opts.live) { - connectivity = await checkTokenConnectivity(); + connectivity = await checkConnectivity(); } - const report: DoctorReport = { + const issues: string[] = []; + if (!status.running) { + issues.push('Daemon is not running. It should start automatically when you run an opencli browser command.'); + } + if (status.running && !status.extensionConnected) { + issues.push( + 'Daemon is running but the Chrome extension is not connected.\n' + + 'Please install the opencli Browser Bridge extension:\n' + + ' 1. Download from GitHub Releases\n' + + ' 2. Open chrome://extensions/ → Enable Developer Mode\n' + + ' 3. Click "Load unpacked" → select the extension folder', + ); + } + if (connectivity && !connectivity.ok) { + issues.push(`Browser connectivity test failed: ${connectivity.error ?? 'unknown'}`); + } + + return { cliVersion: opts.cliVersion, - envToken, - envFingerprint: getTokenFingerprint(envToken ?? undefined), - extensionToken, - extensionFingerprint: getTokenFingerprint(extensionToken ?? undefined), - extensionInstalled: extInstall.installed, - extensionBrowsers: extInstall.browsers, - shellFiles, - configs, - recommendedToken, - recommendedFingerprint: getTokenFingerprint(recommendedToken ?? undefined), + daemonRunning: status.running, + extensionConnected: status.extensionConnected, connectivity, - warnings: [], - issues: [], + issues, }; - - if (!extInstall.installed) report.issues.push('Playwright MCP Bridge extension is not installed in any browser.'); - if (!envToken) report.issues.push(`Current environment is missing ${PLAYWRIGHT_TOKEN_ENV}.`); - if (!shellFiles.some(s => s.token)) report.issues.push('Shell startup file does not export PLAYWRIGHT_MCP_EXTENSION_TOKEN.'); - if (!configs.some(c => c.token)) report.issues.push('No scanned MCP config currently contains a Playwright extension token.'); - if (uniqueTokens.length > 1) report.issues.push('Detected inconsistent Playwright MCP tokens across env/config files.'); - if (connectivity && !connectivity.ok) report.issues.push(`Browser connectivity test failed: ${connectivity.error ?? 'unknown'}`); - for (const config of configs) { - if (config.parseError) report.warnings.push(`Could not parse ${config.path}: ${config.parseError}`); - } - if (!recommendedToken) { - report.warnings.push('No token source found.'); - } - return report; } export function renderBrowserDoctorReport(report: DoctorReport): string { - const tokenFingerprints = [ - report.extensionFingerprint, - report.envFingerprint, - ...report.shellFiles.map(shell => shell.fingerprint), - ...report.configs.filter(config => config.exists).map(config => config.fingerprint), - ].filter((value): value is string => !!value); - const uniqueFingerprints = [...new Set(tokenFingerprints)]; - const hasMismatch = uniqueFingerprints.length > 1; const lines = [chalk.bold(`opencli v${report.cliVersion ?? 'unknown'} doctor`), '']; - // CDP endpoint mode (for remote/server environments) - const cdpEndpoint = process.env.OPENCLI_CDP_ENDPOINT; - if (cdpEndpoint) { - lines.push(statusLine('OK', `CDP endpoint: ${chalk.cyan(cdpEndpoint)}`)); - lines.push(chalk.dim(' → Remote Chrome mode: extension token not required')); - lines.push(''); - return lines.join('\n'); - } + // Daemon status + const daemonIcon = report.daemonRunning ? chalk.green('[OK]') : chalk.red('[MISSING]'); + lines.push(`${daemonIcon} Daemon: ${report.daemonRunning ? 'running on port 19825' : 'not running'}`); - const installStatus: ReportStatus = report.extensionInstalled ? 'OK' : 'MISSING'; - const installDetail = report.extensionInstalled - ? `Extension installed (${report.extensionBrowsers.join(', ')})` - : 'Extension not installed in any browser'; - lines.push(statusLine(installStatus, installDetail)); + // Extension status + const extIcon = report.extensionConnected ? chalk.green('[OK]') : chalk.yellow('[MISSING]'); + lines.push(`${extIcon} Extension: ${report.extensionConnected ? 'connected' : 'not connected'}`); - const extStatus: ReportStatus = !report.extensionToken ? 'MISSING' : hasMismatch ? 'MISMATCH' : 'OK'; - lines.push(statusLine(extStatus, `Extension token (Chrome LevelDB): ${tokenSummary(report.extensionToken, report.extensionFingerprint)}`)); - - const envStatus: ReportStatus = !report.envToken ? 'MISSING' : hasMismatch ? 'MISMATCH' : 'OK'; - lines.push(statusLine(envStatus, `Environment token: ${tokenSummary(report.envToken, report.envFingerprint)}`)); - - for (const shell of report.shellFiles) { - const shellStatus: ReportStatus = !shell.token ? 'MISSING' : hasMismatch ? 'MISMATCH' : 'OK'; - const tool = toolName(shell.path); - const suffix = tool ? chalk.dim(` [${tool}]`) : ''; - lines.push(statusLine(shellStatus, `${shortenPath(shell.path)}${suffix}: ${tokenSummary(shell.token, shell.fingerprint)}`)); - } - const existingConfigs = report.configs.filter(config => config.exists); - const missingConfigCount = report.configs.length - existingConfigs.length; - if (existingConfigs.length > 0) { - for (const config of existingConfigs) { - const parseSuffix = config.parseError ? chalk.red(` (parse error)`) : ''; - const configStatus: ReportStatus = config.parseError - ? 'WARN' - : !config.token - ? 'MISSING' - : hasMismatch - ? 'MISMATCH' - : 'OK'; - const tool = toolName(config.path); - const suffix = tool ? chalk.dim(` [${tool}]`) : ''; - lines.push(statusLine(configStatus, `${shortenPath(config.path)}${suffix}: ${tokenSummary(config.token, config.fingerprint)}${parseSuffix}`)); - } - } else { - lines.push(statusLine('MISSING', 'MCP config: no existing config files found')); - } - if (missingConfigCount > 0) lines.push(chalk.dim(` Other scanned config locations not present: ${missingConfigCount}`)); - lines.push(''); - - // Connectivity result + // Connectivity if (report.connectivity) { - const connStatus: ReportStatus = report.connectivity.ok ? 'OK' : 'WARN'; - const connDetail = report.connectivity.ok - ? `Browser connectivity: connected in ${(report.connectivity.durationMs / 1000).toFixed(1)}s` - : `Browser connectivity: failed (${report.connectivity.error ?? 'unknown'})`; - lines.push(statusLine(connStatus, connDetail)); + const connIcon = report.connectivity.ok ? chalk.green('[OK]') : chalk.red('[FAIL]'); + const detail = report.connectivity.ok + ? `connected in ${(report.connectivity.durationMs / 1000).toFixed(1)}s` + : `failed (${report.connectivity.error ?? 'unknown'})`; + lines.push(`${connIcon} Connectivity: ${detail}`); } else { - lines.push(statusLine('WARN', 'Browser connectivity: not tested (use --live)')); + lines.push(`${chalk.dim('[SKIP]')} Connectivity: not tested (use --live)`); } - lines.push(statusLine( - hasMismatch ? 'MISMATCH' : report.recommendedToken ? 'OK' : 'WARN', - `Recommended token fingerprint: ${report.recommendedFingerprint ?? 'unavailable'}`, - )); if (report.issues.length) { lines.push('', chalk.yellow('Issues:')); - for (const issue of report.issues) lines.push(chalk.dim(` • ${issue}`)); - } - if (report.warnings.length) { - lines.push('', chalk.yellow('Warnings:')); - for (const warning of report.warnings) lines.push(chalk.dim(` • ${warning}`)); + for (const issue of report.issues) { + lines.push(chalk.dim(` • ${issue}`)); + } + } else if (report.daemonRunning && report.extensionConnected) { + lines.push('', chalk.green('Everything looks good!')); } + return lines.join('\n'); } -async function confirmPrompt(question: string): Promise { - const rl = createInterface({ input, output }); - try { - const answer = (await rl.question(`${question} [y/N] `)).trim().toLowerCase(); - return answer === 'y' || answer === 'yes'; - } finally { - rl.close(); - } -} - -export function writeFileWithMkdir(filePath: string, content: string): void { - fs.mkdirSync(path.dirname(filePath), { recursive: true }); - fs.writeFileSync(filePath, content, 'utf-8'); -} - -export async function applyBrowserDoctorFix(report: DoctorReport, opts: DoctorOptions = {}): Promise { - const token = opts.token ?? report.recommendedToken; - if (!token) throw new Error('No Playwright MCP token is available to write. Provide --token first.'); - const fp = getTokenFingerprint(token); - - const plannedWrites: string[] = []; - const shellPath = opts.shellRc ?? report.shellFiles[0]?.path ?? getDefaultShellRcPath(); - const shellStatus = report.shellFiles.find(s => s.path === shellPath); - if (shellStatus?.fingerprint !== fp) plannedWrites.push(shellPath); - for (const config of report.configs) { - if (!config.writable) continue; - if (config.fingerprint === fp) continue; // already correct - plannedWrites.push(config.path); - } - - if (plannedWrites.length === 0) { - console.log(chalk.green('All config files are already up to date.')); - return []; - } - - if (!opts.yes) { - const ok = await confirmPrompt(`Update ${plannedWrites.length} file(s) with Playwright MCP token fingerprint ${fp}?`); - if (!ok) return []; - } - - const written: string[] = []; - if (plannedWrites.includes(shellPath)) { - const shellBefore = fileExists(shellPath) ? fs.readFileSync(shellPath, 'utf-8') : ''; - writeFileWithMkdir(shellPath, upsertShellToken(shellBefore, token, shellPath)); - written.push(shellPath); - } - - for (const config of report.configs) { - if (!plannedWrites.includes(config.path)) continue; - if (config.parseError) continue; - const before = fileExists(config.path) ? fs.readFileSync(config.path, 'utf-8') : ''; - const next = config.format === 'toml' - ? upsertTomlConfigToken(before, token) - : upsertJsonConfigToken(before, token, config.path); - writeFileWithMkdir(config.path, next); - written.push(config.path); - } - - process.env[PLAYWRIGHT_TOKEN_ENV] = token; - return written; -} +// Backward compatibility exports (no-ops for things that no longer exist) +export const PLAYWRIGHT_TOKEN_ENV = 'PLAYWRIGHT_MCP_EXTENSION_TOKEN'; +export function discoverExtensionToken(): string | null { return null; } +export function checkExtensionInstalled(): { installed: boolean; browsers: string[] } { return { installed: false, browsers: [] }; } +export function applyBrowserDoctorFix(): Promise { return Promise.resolve([]); } +export function getDefaultShellRcPath(): string { return ''; } +export function getDefaultMcpConfigPaths(): string[] { return []; } +export function readTokenFromShellContent(_content: string): string | null { return null; } +export function upsertShellToken(content: string): string { return content; } +export function upsertJsonConfigToken(content: string): string { return content; } +export function readTomlConfigToken(_content: string): string | null { return null; } +export function upsertTomlConfigToken(content: string): string { return content; } +export function shortenPath(p: string): string { return p; } +export function toolName(_p: string): string { return ''; } +export function fileExists(filePath: string): boolean { try { return require('node:fs').existsSync(filePath); } catch { return false; } } +export function writeFileWithMkdir(_p: string, _c: string): void {} +export async function checkTokenConnectivity(opts?: { timeout?: number }): Promise { return checkConnectivity(opts); } diff --git a/src/main.ts b/src/main.ts index e6bcd38..e3d89cf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -119,36 +119,19 @@ program.command('cascade').description('Strategy cascade: find simplest working }); program.command('doctor') - .description('Diagnose Playwright MCP Bridge, token consistency, and Chrome remote debugging') - .option('--fix', 'Apply suggested fixes to shell rc and detected MCP configs', false) - .option('-y, --yes', 'Skip confirmation prompts when applying fixes', false) - .option('--token ', 'Override token to write instead of auto-detecting') + .description('Diagnose opencli browser bridge connectivity') .option('--live', 'Test browser connectivity (requires Chrome running)', false) - .option('--shell-rc ', 'Shell startup file to update') - .option('--mcp-config ', 'Comma-separated MCP config paths to scan/update') .action(async (opts) => { - const { runBrowserDoctor, renderBrowserDoctorReport, applyBrowserDoctorFix } = await import('./doctor.js'); - const configPaths = opts.mcpConfig ? String(opts.mcpConfig).split(',').map((s: string) => s.trim()).filter(Boolean) : undefined; - const report = await runBrowserDoctor({ token: opts.token, live: opts.live, shellRc: opts.shellRc, configPaths, cliVersion: PKG_VERSION }); + const { runBrowserDoctor, renderBrowserDoctorReport } = await import('./doctor.js'); + const report = await runBrowserDoctor({ live: opts.live, cliVersion: PKG_VERSION }); console.log(renderBrowserDoctorReport(report)); - if (opts.fix) { - const written = await applyBrowserDoctorFix(report, { fix: true, yes: opts.yes, token: opts.token, shellRc: opts.shellRc, configPaths }); - console.log(); - if (written.length > 0) { - console.log(chalk.green('Updated files:')); - for (const filePath of written) console.log(`- ${filePath}`); - } else { - console.log(chalk.yellow('No files were changed.')); - } - } }); program.command('setup') - .description('Interactive setup: configure Playwright MCP token across all detected tools') - .option('--token ', 'Provide token directly instead of auto-detecting') - .action(async (opts) => { + .description('Interactive setup: verify browser bridge connectivity') + .action(async () => { const { runSetup } = await import('./setup.js'); - await runSetup({ cliVersion: PKG_VERSION, token: opts.token }); + await runSetup({ cliVersion: PKG_VERSION }); }); program.command('completion') diff --git a/src/pipeline/steps/browser.ts b/src/pipeline/steps/browser.ts index 21302f1..d846f7f 100644 --- a/src/pipeline/steps/browser.ts +++ b/src/pipeline/steps/browser.ts @@ -52,7 +52,7 @@ export async function stepSnapshot(page: IPage | null, params: any, _data: any, export async function stepEvaluate(page: IPage | null, params: any, data: any, args: Record): Promise { const js = String(render(params, { args, data })); - let result = await page!.evaluate(normalizeEvaluateSource(js)); + let result = await page!.evaluate(js); // MCP may return JSON as a string — auto-parse it if (typeof result === 'string') { const trimmed = result.trim(); diff --git a/src/setup.ts b/src/setup.ts index df5f962..216ef00 100644 --- a/src/setup.ts +++ b/src/setup.ts @@ -1,205 +1,69 @@ /** - * setup.ts — Interactive Playwright MCP token setup + * setup.ts — Interactive browser setup for opencli * - * Discovers the extension token, shows an interactive checkbox - * for selecting which config files to update, and applies changes. + * Simplified for daemon-based architecture. No more token management. + * Just verifies daemon + extension connectivity. */ -import * as fs from 'node:fs'; + import chalk from 'chalk'; -import { createInterface } from 'node:readline/promises'; -import { stdin as input, stdout as output } from 'node:process'; -import { - type DoctorReport, - PLAYWRIGHT_TOKEN_ENV, - checkExtensionInstalled, - checkTokenConnectivity, - discoverExtensionToken, - fileExists, - getDefaultShellRcPath, - runBrowserDoctor, - shortenPath, - toolName, - upsertJsonConfigToken, - upsertShellToken, - upsertTomlConfigToken, - writeFileWithMkdir, -} from './doctor.js'; -import { getTokenFingerprint } from './browser/index.js'; -import { type CheckboxItem, checkboxPrompt } from './tui.js'; +import { checkDaemonStatus } from './browser/discover.js'; +import { checkConnectivity } from './doctor.js'; +import { PlaywrightMCP } from './browser/index.js'; export async function runSetup(opts: { cliVersion?: string; token?: string } = {}) { console.log(); - console.log(chalk.bold(' opencli setup') + chalk.dim(' — Playwright MCP token configuration')); + console.log(chalk.bold(' opencli setup') + chalk.dim(' — browser bridge configuration')); console.log(); - // Step 1: Discover token - let token = opts.token ?? null; + // Step 1: Check daemon + console.log(chalk.dim(' Checking daemon status...')); + const status = await checkDaemonStatus(); - if (!token) { - const extensionToken = discoverExtensionToken(); - const envToken = process.env[PLAYWRIGHT_TOKEN_ENV] ?? null; - - if (extensionToken && envToken && extensionToken === envToken) { - token = extensionToken; - console.log(` ${chalk.green('✓')} Token auto-discovered from Chrome extension`); - console.log(` Fingerprint: ${chalk.bold(getTokenFingerprint(token) ?? 'unknown')}`); - } else if (extensionToken) { - token = extensionToken; - console.log(` ${chalk.green('✓')} Token discovered from Chrome extension ` + - chalk.dim(`(${getTokenFingerprint(token)})`)); - if (envToken && envToken !== extensionToken) { - console.log(` ${chalk.yellow('!')} Environment has different token ` + - chalk.dim(`(${getTokenFingerprint(envToken)})`)); - } - } else if (envToken) { - token = envToken; - console.log(` ${chalk.green('✓')} Token from environment variable ` + - chalk.dim(`(${getTokenFingerprint(token)})`)); - } + if (status.running) { + console.log(` ${chalk.green('✓')} Daemon is running on port 19825`); } else { - console.log(` ${chalk.green('✓')} Using provided token ` + - chalk.dim(`(${getTokenFingerprint(token)})`)); - } + console.log(` ${chalk.yellow('!')} Daemon is not running`); + console.log(chalk.dim(' The daemon starts automatically when you run a browser command.')); + console.log(chalk.dim(' Starting daemon now...')); - if (!token) { - // Give precise diagnosis of why token scan failed - const extInstall = checkExtensionInstalled(); - - console.log(` ${chalk.red('✗')} Browser token scan failed\n`); - if (!extInstall.installed) { - console.log(chalk.dim(' Cause: Playwright MCP Bridge extension is not installed')); - console.log(chalk.dim(' Fix: Install from https://chromewebstore.google.com/detail/')); - console.log(chalk.dim(' playwright-mcp-bridge/mmlmfjhmonkocbjadbfplnigmagldckm')); - } else { - console.log(chalk.dim(` Cause: Extension is installed (${extInstall.browsers.join(', ')}) but token not found in LevelDB`)); - console.log(chalk.dim(' Fix: 1) Open the extension popup and verify the token is generated')); - console.log(chalk.dim(' 2) Close Chrome completely, then re-run setup')); - } - console.log(); - console.log(` You can enter the token manually, or fix the above and re-run ${chalk.bold('opencli setup')}.`); - console.log(); - const rl = createInterface({ input, output }); - const answer = await rl.question(' Token (press Enter to abort): '); - rl.close(); - token = answer.trim(); - if (!token) { - console.log(chalk.red('\n No token provided. Aborting.\n')); - return; + // Try to spawn daemon + const mcp = new PlaywrightMCP(); + try { + await mcp.connect({ timeout: 5 }); + await mcp.close(); + console.log(` ${chalk.green('✓')} Daemon started successfully`); + } catch { + console.log(` ${chalk.yellow('!')} Could not start daemon automatically`); } } - const fingerprint = getTokenFingerprint(token) ?? 'unknown'; - console.log(); - - // Step 2: Scan all config locations - const report = await runBrowserDoctor({ token, cliVersion: opts.cliVersion }); - - // Step 3: Build checkbox items - const items: CheckboxItem[] = []; - - // Shell file - const shellPath = report.shellFiles[0]?.path ?? getDefaultShellRcPath(); - const shellStatus = report.shellFiles[0]; - const shellFp = shellStatus?.fingerprint; - const shellOk = shellFp === fingerprint; - const shellTool = toolName(shellPath) || 'Shell'; - items.push({ - label: padRight(shortenPath(shellPath), 50) + chalk.dim(` [${shellTool}]`), - value: `shell:${shellPath}`, - checked: !shellOk, - status: shellOk ? `configured (${shellFp})` : shellFp ? `mismatch (${shellFp})` : 'missing', - statusColor: shellOk ? 'green' : shellFp ? 'yellow' : 'red', - }); - - // Config files - for (const config of report.configs) { - const fp = config.fingerprint; - const ok = fp === fingerprint; - const tool = toolName(config.path); - items.push({ - label: padRight(shortenPath(config.path), 50) + chalk.dim(tool ? ` [${tool}]` : ''), - value: `config:${config.path}`, - checked: false, // let user explicitly select which tools to configure - status: ok ? `configured (${fp})` : !config.exists ? 'will create' : fp ? `mismatch (${fp})` : 'missing', - statusColor: ok ? 'green' : 'yellow', - }); - } - - // Step 4: Show interactive checkbox - console.clear(); - const selected = await checkboxPrompt(items, { - title: ` ${chalk.bold('opencli setup')} — token ${chalk.cyan(fingerprint)}`, - }); - - if (selected.length === 0) { - console.log(chalk.dim(' No changes made.\n')); + // Step 2: Check extension + const statusAfter = await checkDaemonStatus(); + if (statusAfter.extensionConnected) { + console.log(` ${chalk.green('✓')} Chrome extension connected`); + } else { + console.log(` ${chalk.red('✗')} Chrome extension not connected`); + console.log(); + console.log(chalk.dim(' To install the opencli Browser Bridge extension:')); + console.log(chalk.dim(' 1. Download from GitHub Releases')); + console.log(chalk.dim(' 2. Open chrome://extensions/ → Enable Developer Mode')); + console.log(chalk.dim(' 3. Click "Load unpacked" → select the extension folder')); + console.log(chalk.dim(' 4. Make sure Chrome is running')); + console.log(); return; } - // Step 5: Apply changes - const written: string[] = []; - let wroteShell = false; - - for (const sel of selected) { - if (sel.startsWith('shell:')) { - const p = sel.slice('shell:'.length); - const before = fileExists(p) ? fs.readFileSync(p, 'utf-8') : ''; - writeFileWithMkdir(p, upsertShellToken(before, token, p)); - written.push(p); - wroteShell = true; - } else if (sel.startsWith('config:')) { - const p = sel.slice('config:'.length); - const config = report.configs.find(c => c.path === p); - if (config && config.parseError) continue; - const before = fileExists(p) ? fs.readFileSync(p, 'utf-8') : ''; - const format = config?.format ?? (p.endsWith('.toml') ? 'toml' : 'json'); - const next = format === 'toml' ? upsertTomlConfigToken(before, token) : upsertJsonConfigToken(before, token, p); - writeFileWithMkdir(p, next); - written.push(p); - } - } - - process.env[PLAYWRIGHT_TOKEN_ENV] = token; - - // Step 6: Summary - if (written.length > 0) { - console.log(chalk.green.bold(` ✓ Updated ${written.length} file(s):`)); - for (const p of written) { - const tool = toolName(p); - console.log(` ${chalk.dim('•')} ${shortenPath(p)}${tool ? chalk.dim(` [${tool}]`) : ''}`); - } - if (wroteShell) { - console.log(); - console.log(chalk.cyan(` 💡 Run ${chalk.bold(`source ${shortenPath(shellPath)}`)} to apply token to current shell.`)); - } + // Step 3: Test connectivity + console.log(); + console.log(chalk.dim(' Testing browser connectivity...')); + const conn = await checkConnectivity({ timeout: 5 }); + if (conn.ok) { + console.log(` ${chalk.green('✓')} Browser connected in ${(conn.durationMs / 1000).toFixed(1)}s`); + console.log(); + console.log(chalk.green.bold(' ✓ Setup complete! You can now use opencli browser commands.')); } else { - console.log(chalk.yellow(' No files were changed.')); - } - console.log(); - - // Step 7: Auto-verify browser connectivity - console.log(chalk.dim(' Verifying browser connectivity...')); - try { - const result = await checkTokenConnectivity({ timeout: 5 }); - if (result.ok) { - console.log(` ${chalk.green('✓')} Browser connected in ${(result.durationMs / 1000).toFixed(1)}s`); - } else { - console.log(` ${chalk.green('✓')} Token saved successfully.`); - console.log(` ${chalk.yellow('!')} Browser connectivity test failed: ${result.error ?? 'unknown'}`); - console.log(chalk.dim(' Token configuration is complete. To use opencli, make sure Chrome')); - console.log(chalk.dim(' is running with the Playwright MCP Bridge extension enabled.')); - console.log(chalk.dim(` Run ${chalk.bold('opencli doctor --live')} to re-test connectivity.`)); - } - } catch { - console.log(` ${chalk.green('✓')} Token saved successfully.`); - console.log(` ${chalk.yellow('!')} Browser connectivity test skipped (Chrome may not be running).`); - console.log(chalk.dim(' Token configuration is complete. Start Chrome to begin using opencli.')); - console.log(chalk.dim(` Run ${chalk.bold('opencli doctor --live')} to re-test connectivity.`)); + console.log(` ${chalk.yellow('!')} Connectivity test failed: ${conn.error ?? 'unknown'}`); + console.log(chalk.dim(` Run ${chalk.bold('opencli doctor --live')} to diagnose.`)); } console.log(); } - -function padRight(s: string, n: number): string { - const visible = s.replace(/\x1b\[[0-9;]*m/g, ''); - return visible.length >= n ? s : s + ' '.repeat(n - visible.length); -}