From 683194e0dbe6cb8f65cede8e6491fec4404d2ca8 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Fri, 9 Jan 2026 18:29:10 +0800 Subject: [PATCH 1/6] squash --- .github/workflows/test.yml | 25 +++ .github/workflows/workflow-test.yml | 6 +- AGENTS.md | 1 + .../src/coverage-fixture.ts | 15 +- .../resources/web-core.main-thread.json | 31 ++++ .../web-core-wasm-e2e/rsbuild.config.ts | 2 +- .../web-core-wasm-e2e/shell-project/index.ts | 125 +++++++++++++- .../web-core-wasm-e2e/tests/reactlynx.spec.ts | 154 ++++++------------ .../index-chromium-linux.png} | Bin 2469 -> 2528 bytes .../index-firefox-linux.png | Bin 0 -> 20768 bytes .../index-webkit-linux.png | Bin 0 -> 7040 bytes .../initial-chromium-linux.png | Bin 2468 -> 0 bytes .../initial-firefox-linux.png | Bin 20682 -> 0 bytes .../initial-webkit-linux.png | Bin 6160 -> 0 bytes .../scroll-firefox-linux.png | Bin 20691 -> 0 bytes .../scroll-webkit-linux.png | Bin 6537 -> 0 bytes .../initial-chromium-linux.png | Bin 2468 -> 0 bytes .../initial-firefox-linux.png | Bin 20682 -> 0 bytes .../initial-webkit-linux.png | Bin 6160 -> 0 bytes .../scroll-chromium-linux.png | Bin 2473 -> 0 bytes .../scroll-firefox-linux.png | Bin 21759 -> 0 bytes .../scroll-webkit-linux.png | Bin 6919 -> 0 bytes .../index-chromium-linux.png | Bin 91418 -> 82659 bytes .../click-button-1-chromium-linux.png | Bin 13347 -> 13382 bytes .../click-button-1-firefox-linux.png | Bin 18763 -> 18823 bytes .../click-button-1-webkit-linux.png | Bin 17116 -> 17070 bytes ...-content-do-not-through-chromium-linux.png | Bin 13347 -> 13382 bytes ...y-content-do-not-through-firefox-linux.png | Bin 18763 -> 18823 bytes ...ay-content-do-not-through-webkit-linux.png | Bin 17116 -> 17070 bytes ...o-trigger-bottom-button-chromium-linux.png | Bin 17052 -> 17420 bytes ...to-trigger-bottom-button-firefox-linux.png | Bin 21276 -> 21385 bytes ...-to-trigger-bottom-button-webkit-linux.png | Bin 23153 -> 23115 bytes .../index.css | 11 +- .../basic-element-list-basic-size/index.jsx | 57 +++++++ .../index.jsx | 33 ---- .../index.css | 20 --- .../index.jsx | 34 ---- .../index.css | 9 +- .../index.jsx | 54 +++--- .../web-core-wasm/binary/client/client.d.ts | 113 +++++++++++++ .../binary/client/client_bg.wasm.d.ts | 16 ++ .../binary/client/client_debug.d.ts | 113 +++++++++++++ .../binary/client/client_debug_bg.wasm.d.ts | 16 ++ .../web-core-wasm/binary/encode/encode.d.ts | 1 + .../binary/encode/encode_bg.wasm.d.ts | 1 + .../binary/encode/encode_debug.d.ts | 1 + .../binary/encode/encode_debug_bg.wasm.d.ts | 1 + .../web-core-wasm/src/constants.rs | 30 ++++ .../src/js_binding/mts_js_binding.rs | 14 ++ .../main_thread/element_apis/event_apis.rs | 55 ++++++- .../style_info/decoded_style_info.rs | 95 ++++++++--- .../template_sections/style_info/mod.rs | 13 ++ .../style_info/raw_style_info.rs | 39 ++--- .../web-core-wasm/tests/StyleManager.spec.ts | 56 ++++++- .../web-core-wasm/tests/element-apis.spec.ts | 57 +++++++ .../web-core-wasm/tests/encode.spec.ts | 64 ++++++++ .../tests/template-manager.spec.ts | 81 +++++++++ .../tests/testing-library-port.spec.ts | 2 +- .../ts/client/decodeWorker/cssLoader.ts | 122 ++++++++++++++ .../ts/client/decodeWorker/decode.worker.ts | 143 ++++++++++++++++ .../ts/client/mainthread/Background.ts | 20 ++- .../ts/client/mainthread/ExposureServices.ts | 102 ++++++------ .../ts/client/mainthread/I18n.ts | 2 + .../ts/client/mainthread/LynxView.ts | 93 ++++++----- .../ts/client/mainthread/LynxViewInstance.ts | 26 ++- .../ts/client/mainthread/TemplateManager.ts | 34 ++-- .../mainthread/elementAPIs/WASMJSBinding.ts | 21 +++ .../elementAPIs/createElementAPI.ts | 17 +- .../ts/client/webElementsDynamicLoader.ts | 11 ++ .../web-core-wasm/ts/constants.ts | 17 +- .../web-core-wasm/ts/encode/webEncoder.ts | 21 ++- .../template-webpack-plugin/package.json | 1 + .../src/WebEncodePlugin.ts | 66 +++++--- pnpm-lock.yaml | 3 + 74 files changed, 1588 insertions(+), 456 deletions(-) create mode 100644 packages/web-platform/web-core-wasm-e2e/resources/web-core.main-thread.json rename packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/{basic-element-list-estimated-main-axis-size-px-default/scroll-chromium-linux.png => basic-element-list-basic-size/index-chromium-linux.png} (56%) create mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-firefox-linux.png create mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-webkit-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-chromium-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-firefox-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-webkit-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/scroll-firefox-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/scroll-webkit-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-chromium-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-firefox-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-webkit-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-chromium-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-firefox-linux.png delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-webkit-linux.png rename packages/web-platform/web-core-wasm-e2e/tests/reactlynx/{basic-element-list-estimated-main-axis-size-px-default => basic-element-list-basic-size}/index.css (78%) create mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.jsx delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.jsx delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.css delete mode 100644 packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.jsx create mode 100644 packages/web-platform/web-core-wasm/ts/client/decodeWorker/cssLoader.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c8ff664245..22f134dc43 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -92,6 +92,7 @@ jobs: runs-on: lynx-custom-container is-web: true codecov-flags: "e2e" + web-report-path: "packages/web-platform/web-elements/playwright-report" run: | export NODE_OPTIONS="--max-old-space-size=32768" export PLAYWRIGHT_JUNIT_OUTPUT_NAME=test-report.junit.xml @@ -128,6 +129,30 @@ jobs: export PLAYWRIGHT_JUNIT_OUTPUT_NAME=test-report.junit.xml pnpm --filter @lynx-js/web-tests run test --reporter='github,dot,junit,html' --shard=${{ matrix.shard }}/4 pnpm --filter @lynx-js/web-tests run coverage:ci + web-core-wasm-e2e: + needs: build + uses: ./.github/workflows/workflow-test.yml + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + name: Playwright ${{ matrix.render }} (${{ matrix.shard }}/3) + strategy: + fail-fast: false + matrix: + render: [CSR] + shard: [1, 2] + with: + runs-on: lynx-custom-container + is-web: true + web-report-name: "playwright-${{ matrix.render }}-shard${{ matrix.shard }}" + web-report-path: "packages/web-platform/web-core-wasm-e2e/playwright-report" + codecov-flags: "e2e" + run: | + if [ "${{ matrix.render }}" = "SSR" ]; then + export ENABLE_SSR=true + fi + export NODE_OPTIONS="--max-old-space-size=32768" + export PLAYWRIGHT_JUNIT_OUTPUT_NAME=test-report.junit.xml + pnpm --filter @lynx-js/web-core-wasm-e2e run test --reporter='github,dot,junit,html' --shard=${{ matrix.shard }}/4 test-api: needs: build uses: ./.github/workflows/workflow-test.yml diff --git a/.github/workflows/workflow-test.yml b/.github/workflows/workflow-test.yml index b13b9def28..766fa8ecc8 100644 --- a/.github/workflows/workflow-test.yml +++ b/.github/workflows/workflow-test.yml @@ -21,6 +21,10 @@ on: required: false type: string default: "playwright-report" + web-report-path: + required: false + type: string + default: "packages/web-platform/web-tests/playwright-report" codecov-flags: required: false type: string @@ -94,7 +98,7 @@ jobs: uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: ${{ inputs.web-report-name }} - path: packages/web-platform/web-tests/playwright-report + path: ${{ inputs.web-report-path}} if-no-files-found: error retention-days: 1 overwrite: true diff --git a/AGENTS.md b/AGENTS.md index 6fa4c93d24..1747fec8da 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -245,6 +245,7 @@ These instructions were generated through comprehensive analysis and testing of - Includes E2E test suite requiring Playwright - Many packages have complex interdependencies - Contains performance-critical rendering code +- See `packages/web-platform/web-core-wasm/AGENTS.md` for specific instructions on `web-core-wasm`. Remember: This is a complex, multi-language monorepo. Always allow extra time for builds and tests, and follow the exact command sequences provided. diff --git a/packages/web-platform/playwright-fixtures/src/coverage-fixture.ts b/packages/web-platform/playwright-fixtures/src/coverage-fixture.ts index 5fb66f3cda..58b17154a0 100644 --- a/packages/web-platform/playwright-fixtures/src/coverage-fixture.ts +++ b/packages/web-platform/playwright-fixtures/src/coverage-fixture.ts @@ -5,7 +5,7 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; - +import { existsSync } from 'node:fs'; import { test as base } from '@playwright/test'; import type { Page } from '@playwright/test'; import v8ToIstanbul from 'v8-to-istanbul'; @@ -36,8 +36,19 @@ export const test: typeof base = base.extend({ await Promise.all( Array.from(pages.values()).flatMap(async (page, index) => { const coverage = await page.coverage.stopJSCoverage(); - const converter = v8ToIstanbul( + const sourceFilePath = [ path.join(path.dirname(testInfo.file), '..', 'www', 'main.js'), + path.join( + path.dirname(testInfo.file), + '..', + 'www', + 'static', + 'js', + 'index.js', + ), + ].find((p) => existsSync(p))!; + const converter = v8ToIstanbul( + sourceFilePath, ); await converter.load(); diff --git a/packages/web-platform/web-core-wasm-e2e/resources/web-core.main-thread.json b/packages/web-platform/web-core-wasm-e2e/resources/web-core.main-thread.json new file mode 100644 index 0000000000..e3db5b426d --- /dev/null +++ b/packages/web-platform/web-core-wasm-e2e/resources/web-core.main-thread.json @@ -0,0 +1,31 @@ +{ + "styleInfo": {}, + "lepusCode": { + "root": "const self = globalThis.parent??globalThis;self.runtime = globalThis;self.__lynx_worker_type = 'main'; globalThis.registerDataProcessor='pass'; self.registerDataProcessor = registerDataProcessor;", + "manifest-chunk.js": "module.exports = 'hello';", + "manifest-chunk2.js": "module.exports = 'world';" + }, + "manifest": { + "/app-service.js": "globalThis.runtime = lynxCoreInject.tt; globalThis.__lynx_worker_type = 'background'", + "/manifest-chunk.js": "module.exports = 'hello';", + "/manifest-chunk2.js": "module.exports = 'world';", + "/json": "{}" + }, + "customSections": {}, + "cardType": "react", + "appType": "card", + "pageConfig": { + "enableFiberArch": true, + "useLepusNG": true, + "enableReuseContext": true, + "bundleModuleMode": "ReturnByFunction", + "templateDebugUrl": "", + "debugInfoOutside": true, + "defaultDisplayLinear": true, + "enableCSSInvalidation": true, + "enableCSSSelector": true, + "enableLepusDebug": false, + "enableRemoveCSSScope": true, + "targetSdkVersion": "2.10" + } +} diff --git a/packages/web-platform/web-core-wasm-e2e/rsbuild.config.ts b/packages/web-platform/web-core-wasm-e2e/rsbuild.config.ts index 2e123d32b4..ab5845c3ce 100644 --- a/packages/web-platform/web-core-wasm-e2e/rsbuild.config.ts +++ b/packages/web-platform/web-core-wasm-e2e/rsbuild.config.ts @@ -1,5 +1,4 @@ import { defineConfig } from '@rsbuild/core'; -import path from 'node:path'; import { fileURLToPath } from 'node:url'; const __filename = fileURLToPath(import.meta.url); @@ -31,6 +30,7 @@ export default defineConfig({ watch: false, }, ], + htmlFallback: false, }, html: { tags: [ diff --git a/packages/web-platform/web-core-wasm-e2e/shell-project/index.ts b/packages/web-platform/web-core-wasm-e2e/shell-project/index.ts index 1642c0157f..97ac04c107 100644 --- a/packages/web-platform/web-core-wasm-e2e/shell-project/index.ts +++ b/packages/web-platform/web-core-wasm-e2e/shell-project/index.ts @@ -21,13 +21,125 @@ export const lynxViewTests = ( }); if (!lynxView.parentElement) document.body.append(lynxView); - Object.assign(globalThis, { lynxView }); + const nativeModulesMap = { + CustomModule: URL.createObjectURL( + new Blob( + [ + `export default function(NativeModules, NativeModulesCall) { + return { + async getColor(data, callback) { + const color = await NativeModulesCall('getColor', data); + callback(color); + }, + } + };`, + ], + { type: 'text/javascript' }, + ), + ), + }; + lynxView.nativeModulesMap = nativeModulesMap; + const color_environment = URL.createObjectURL( + new Blob( + [ + `export default function(NapiModules, NapiModulesCall) { + return { + getColor() { + NapiModules.color_methods.getColor({ color: 'green' }, color => { + console.log(color); + }); + }, + ColorEngine: class ColorEngine { + getColor(name) { + NapiModules.color_methods.getColor({ color: 'green' }, color => { + console.log(color); + }); + } + }, + }; + };`, + ], + { type: 'text/javascript' }, + ), + ); + + const color_methods = URL.createObjectURL( + new Blob( + [ + `export default function(NapiModules, NapiModulesCall) { + return { + async getColor(data, callback) { + const color = await NapiModulesCall('getColor', data); + callback(color); + }, + }; + };`, + ], + { type: 'text/javascript' }, + ), + ); + const event_method = URL.createObjectURL( + new Blob( + [ + `export default function(NapiModules, NapiModulesCall, handleDispatch) { + return { + async bindEvent() { + await NapiModulesCall('bindEvent'); + handleDispatch((data) => console.log(\`bts:\${data}\`)); + }, + }; + };`, + ], + { type: 'text/javascript' }, + ), + ); + + lynxView.napiModulesMap = { + color_environment, + color_methods, + event_method, + }; + lynxView.onNapiModulesCall = async ( + name, + data, + moduleName, + dispatchNapiModules, + ) => { + if (name === 'getColor' && moduleName === 'color_methods') { + return { + data: { color: data.color, tagName: lynxView.tagName }, + }; + } + if (name === 'bindEvent' && moduleName === 'event_method') { + document.querySelector('lynx-view')?.addEventListener('click', () => { + dispatchNapiModules('lynx-view'); + }); + return; + } + return undefined; + }; + + lynxView.initI18nResources = [ + { + options: { + locale: 'en', + channel: '1', + fallback_url: '', + }, + resource: { + hello: 'hello', + lynx: 'lynx web platform1', + }, + }, + ]; + return lynxView; }; const searchParams = new URLSearchParams(document.location.search); const casename = searchParams.get('casename'); const casename2 = searchParams.get('casename2'); +const resourceName = searchParams.get('resourceName'); const hasdir = searchParams.get('hasdir') === 'true'; const isSSR = document.location.pathname.includes('ssr'); @@ -42,12 +154,15 @@ if (casename) { const lynxView = lynxViewTests( document.querySelector('lynx-view') as LynxViewElement | undefined, ); + + if (casename === 'api-inject-style-rules') { + lynxView.injectStyleRules = [`.injected-style-rules{background:green}`]; + } lynxView.setAttribute('url', lynxTemplateUrl); lynxView.id = 'lynxview1'; if (casename2) { lynxView.setAttribute('lynx-group-id', '2'); } - lynxView.injectStyleRules = [`.injected-style-rules{background:green}`]; if (casename === 'api-nativemodules-call-delay') { setTimeout(() => { lynxView.onNativeModulesCall = (name, data, moduleName) => { @@ -78,3 +193,9 @@ if (casename) { } else { console.error('cannot find casename'); } +if (resourceName) { + const lynxView = lynxViewTests( + document.querySelector('lynx-view') as LynxViewElement | undefined, + ); + lynxView.setAttribute('url', `/resources/${resourceName}`); +} diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts index d8574b4310..29c5987412 100644 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts +++ b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts @@ -1653,15 +1653,15 @@ test.describe('reactlynx3 tests', () => { }) => { await goto(page, title); const message: string[] = []; + await wait(200); await page.on('console', (msg) => { const text = msg.text(); if (text.startsWith('pass')) { message.push(msg.text()); } }); - await wait(200); await page.locator('#button').click(); - await wait(200); + await wait(300); expect(message).toContain('pass:dataset2'); }); test('api-exposure-stop-events-has-dataset', async ({ page }, { @@ -2065,15 +2065,16 @@ test.describe('reactlynx3 tests', () => { const elementName = 'lynx-view'; test('basic-element-lynx-view-not-auto', async ({ page }, { title }) => { await goto(page, title); + await wait(100); await page.evaluate(() => { - document.querySelector('lynx-view')!.setAttribute('width', '100vw'); - document.querySelector('lynx-view')!.setAttribute('height', '100vh'); + document.querySelector('lynx-view')!.removeAttribute('height'); + document.querySelector('lynx-view')!.removeAttribute('weight'); document.querySelector('lynx-view')!.setAttribute( 'style', - 'width: 100vw; height: 100vh', + 'display:flex; width: 100vw; height: 100vh', ); }); - await wait(100); + await wait(200); await diffScreenShot( page, elementName, @@ -4560,137 +4561,88 @@ test.describe('reactlynx3 tests', () => { expect(scrollend).toBeTruthy(); }, ); - - test( - 'basic-element-list-scroll-to-position', - async ({ page }, { title }) => { - await goto(page, title); - await diffScreenShot(page, elementName, title, 'initial'); - await wait(1000); - await page.locator('#scrollToPosition').click(); - await diffScreenShot(page, elementName, title, 'scroll-to-position'); - }, - ); - - test( - 'basic-element-list-waterfall', - async ({ page }, { title }) => { - await goto(page, title); - await wait(500); - await diffScreenShot(page, elementName, title, 'initial'); - }, - ); - test( - 'basic-element-list-estimated-main-axis-size-px', + 'basic-element-list-basic-size', async ({ page, browserName }, { title }) => { - let scrolltolower = false; + let scrolled = false; + let scrollend = false; await page.on('console', async (msg) => { const event = await msg.args()[0]?.evaluate((e) => ({ type: e.type, })); if (!event) return; - if (event.type === 'scrolltolower') { - scrolltolower = true; + if (event.type === 'scroll') { + scrolled = true; + } + if (event.type === 'scrollend') { + scrollend = true; } }); await goto(page, title); - await wait(3000); - expect(scrolltolower).toBeTruthy(); - }, - ); - test( - 'basic-element-list-estimated-main-axis-size-px-default', - async ({ page }, { title }) => { - await goto(page, title); - await diffScreenShot(page, elementName, title, 'initial'); - await wait(1000); + await diffScreenShot(page, elementName, title); await page.evaluate(() => { document.querySelector('lynx-view')!.shadowRoot!.querySelector( 'x-list', )?.shadowRoot?.querySelector( '#content', ) - ?.scrollTo(0, 300); + ?.scrollTo(0, 500); }); await wait(1000); - await diffScreenShot(page, elementName, title, 'scroll'); + expect(scrolled).toBeTruthy(); + expect(scrollend).toBeTruthy(); }, ); test( - 'basic-element-list-estimated-main-axis-size-px-horizontal-default', + 'basic-element-list-scroll-to-position', async ({ page }, { title }) => { await goto(page, title); await diffScreenShot(page, elementName, title, 'initial'); await wait(1000); - await page.evaluate(() => { - document.querySelector('lynx-view')!.shadowRoot!.querySelector( - 'x-list', - )?.shadowRoot?.querySelector( - '#content', - ) - ?.scrollTo(300, 0); - }); - await wait(1000); - await diffScreenShot(page, elementName, title, 'scroll'); + await page.locator('#scrollToPosition').click(); + await diffScreenShot(page, elementName, title, 'scroll-to-position'); }, ); - test( - 'basic-element-list-estimated-main-axis-size-px-waterfall', - async ({ page, browserName }, { title }) => { - let scrolltolower = false; - await page.on('console', async (msg) => { - const event = await msg.args()[0]?.evaluate((e) => ({ - type: e.type, - })); - if (!event) return; - if (event.type === 'scrolltolower') { - scrolltolower = true; - } - }); - await goto(page, title); - await wait(5000); - expect(scrolltolower).toBeTruthy(); - }, - ); test( - 'basic-element-list-horizontal-estimated-main-axis-size-px', - async ({ page, browserName }, { title }) => { - let scrolltolower = false; - await page.on('console', async (msg) => { - const event = await msg.args()[0]?.evaluate((e) => ({ - type: e.type, - })); - if (!event) return; - if (event.type === 'scrolltolower') { - scrolltolower = true; - } - }); - + 'basic-element-list-waterfall', + async ({ page }, { title }) => { await goto(page, title); - await wait(5000); - expect(scrolltolower).toBeTruthy(); + await wait(500); + await diffScreenShot(page, elementName, title, 'initial'); }, ); + test( - 'basic-element-list-horizontal-estimated-main-axis-size-px-waterfall', + 'basic-element-list-estimated-main-axis-size-px', async ({ page, browserName }, { title }) => { - let scrolltolower = false; - await page.on('console', async (msg) => { - const event = await msg.args()[0]?.evaluate((e) => ({ - type: e.type, - })); - if (!event) return; - if (event.type === 'scrolltolower') { - scrolltolower = true; - } - }); - await goto(page, title); - await wait(5000); - expect(scrolltolower).toBeTruthy(); + expect( + await page.locator('#target').evaluate((e) => + getComputedStyle(e).getPropertyValue('height') + ), + ) + .toBe( + '100px', + ); + await page.evaluate(() => { + document.querySelector('lynx-view')!.shadowRoot!.querySelector( + 'x-list', + )?.shadowRoot?.querySelector( + '#content', + ) + ?.scrollTo(0, 5000); + }); + await wait(500); + expect( + await page.locator('#target').evaluate((e) => + getComputedStyle(e).getPropertyValue('height') + ), + ) + .toBe( + '200px', + ); }, ); }); diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/scroll-chromium-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-chromium-linux.png similarity index 56% rename from packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/scroll-chromium-linux.png rename to packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-chromium-linux.png index 59073a508dd7df98efe718fba20145845dd1bc54..3694bdb02996864ac1c881a7ade0cf96c4dcc108 100644 GIT binary patch delta 250 zcmZ1~{6Khuit|)Y7srr_Id5)nEIjNWz;f`n)-zQtqppdbJv^H}GBPBWR8K!}#p?Tv z`HU+nc^vx97+r6%h-3-}Y}x+uhjhd1wa;H}*%;`^$Z_lTmU+wt*1IP&GRkn?x?RF^ zfcM%@uoOE`itRyN+2n_8GTb0-Qb29z5!&ov+PHz*_OLyudR=SvcC#QO(9myYYriwx zIhQx_qYTeCv%mX*lJ}o47Xewajy*&6xFLgK+2)6AbC@QvJ8E9EXJBCX|Nmp>^-3Uv d4dgFohC@drV~e7`>j6a=JYD@<);T3K0RUV-ZYcl& delta 138 zcmaDLyi|CCigJ{vi(^Q|oHy4Tc@H@79N6Hewc)YKuAd6iDxlWv$L+aR|&ky(Xt zastyfAYRFOtCBh3@#a8g6POT47=%mNe!a_MNUGV)$i9tf@&rx|b$$kh|No^QnTRtm eFtCB_VP@!0;J>zbc`h$dgu&C*&t;ucLK6VA6fzM2 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-firefox-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..adcf75dae822064d4d808e0d1fc6f1404bb742af GIT binary patch literal 20768 zcmeHPeNa|a8b9yL6)y^Sk>aBuFCw8KD@KWux<`Q!KafpFQ3Kxm$fi;lSX*)e?=@E} zS;97uLgCd~*G-mT(^SgvZO1J&44lcY#C&Hmbhc1OO<-WD=bm%#IWNWGKV@XP3AA0)Y4I~pG) z0=jZ+w$^m33HoIC$l6P<5@BJAf`<8?3}kQ0zR;M|P!>f5Rom_EUHfwbOtG?ZbaJvl zw__1TPkVPx;_ptf+Z|ulwY^2A{gvJB>|m1;3JVL%!X?C}v)M(IFmsHE!&cG}E+Je( zU-Q-rma+`0SOpA}Ksvi@HrsWVGDSB-7jUFd`+$p_qN0Lf@c4}j+RUM=A7=0pE& ziyFs}<=s6nIz*jj8W0*=X-)oXM?iESeq^G zh3wUohtvQW_?HDzU>%&a-h#{m$xf-SJ8(_bR$84Q=5x%&sBQ1C4_S$6?Mh=VMLMG`SL zugH4Vd4zBY;S&D`P!kwTYSX0*>a~v9?#rDmXV3XRY~^C8fh>VT|C-wKW^n}$=le07 zsDV{nxiiCoDphay_8;W~CT}TLEQ)F1em78}#lFOnd4TUHkALzF&Vb@nC^R_}-z3E2 z2cQEz?M*XyWhDuWT=nNAluHbQ+hMPJNWKoFWfd(DO$0_+6Y_20FC|H(hKC zCi)TEEQkJ~1^Kgx9j}A>ivy^0k_mnTyz&IKYBY!mTy{(5tzMucdOwoRwF!z$xmP#y zVIPJ5rIQ+?i27Z|%|4ltSDQT-Z2l~JrtVJ|tP)C3Y zhB*YNurS9x1QmteIFni&SGrnqp$M_mEJ6?@)UT`n*T~9FCRSNmY4{M76@EK?7W&p%mzh*3jSa5|a;lrZMTyP~otjEWhL}4y~ z%cUH$-`$5R3fkNL-F~VSXBc@z+l6JMBL+sp&QhOliS$@2k&UZ4XF2AJ-ZbW5_3hs~Y@Gg0c6QCPnVVEx}Z zmhg8!fc|waH^!2A7Qzj_AkR9>09!%eA@XT@^Unb`Z2RhVEVt7l;320Ewb8qblMSNI z3BiE71$k$pe&yMR8tdP>$iGEp304La;Z@RpoEe5cd;}(1c>Ee;Ui?7<9rUDv75~Mq zSvFfk%y)m_QrKJlzN=;9i)HdKl~^X~QDQflJ6G%`8b|vFz4un$cmyG(#rS^#Sa^X4 z5df(*M4mEpqR3M;o(ec&##4d%Xgn3DkD@Ltz&Q<-0-RHpB_M==5dHYJfDi&guwxnH rK|lxrAv{m71cWfHAt1zEL5Qwls3&H literal 0 HcmV?d00001 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-basic-size/index-webkit-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ed6843f7df7cb27a07d8a2997199880900121b GIT binary patch literal 7040 zcmeHMZA=qq9KX93Ij{|74%dN>Q$#ahqeKkENj;D$HS!YNq#J6f(?QJ?mW>JWc8spZ z%@>%%5k$p=1f~qgAi@?>nzEMVp%tZ zi^OAU)!WI*L>O$EAkXLsF%Q8Jh=U+R^&}y}ndIB*si${IL%ry!P1W$g^=$=%=rpZL zjDM|woE?t8@MVVdqaU9=J-_i>#L=UbRdG4}NgWTH!ky7~59`YF?K1_>Pwn4kwnlnf z6O)nd4J=2HlxK}2$cGZsGRBroY8~wc&py7nhpzDW%NUk3X~g>R$aU`3BtWhjy3}1% zTkFr?@LVxjTfeUAk^l6q9z6yqb6QF1oiz;0c`?(3hsz_E275N>Fnct2NIsY<&VN53{_ZLYYylVdci$iO=!aO;DYWw`P6{ zl^A_aW|+%#hN7AX6YFpMa`*BkR3Qsq`thX$r7CEVFRA@!*z!L{i`~wJxiV8E+^}OU zCTp{R|_KX50<|KnVfyYjb@Du#_?{2l}^^ z40&s8`wm=F+w zAuBW&98o7c_NC};A=nDRQl=~_`rv~L$Y2M{%9W-+`FxM2>0Q0mvq=E>VJAcsu`?7^ zLj~3-%YbINVy=7a|CW-AO$cYkwV6tP7AC+8gKdV0Qb<3^6T6er489ne!gK|3V7P7|Lw> zejo!Hm3M%ZTdrApVcK@H@{z8^FleO3m+pOVuP_$o2$pt185%sJ=?zjFTeRH|MUp9q z)E4|Yed~$(F_P@mNnx@pF|v+D=V+P5IKsbPHtUc{BbjMX^2{9q7nVv7r^3u9wdyVQ zcyMJHpQ)jR`O`3)SJS=QzwqN3cAHZS8?Rfzu&hI@d{9+V2?ln8jE^37^I1GYncGsP zD?o)V?Cy2WP1<3qQJUwc2lMs#2~yitva^+E%{QE)`O+c-R-MH7vrC0>FbBQ#+N<}y zc`jzM@{^-|Gcem;W`wBxH>@Wg8^!kJc%p_3E%~PJCfxVEF$(M^kbwu&u=gYGg4pDEsqIdw9M3FHnTR)78&q Iol`;+0K3liE&u=k diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-firefox-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-firefox-linux.png deleted file mode 100644 index 94880ac40cc482066687976ea53455de06b5cf33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20682 zcmeHPTSyd97(O#@+jwQv2SWpwtSC}SL4!{uB#Y8W}DKSM>6xTFBcNtxM&8GspQW6bW%h@_gX(=C5W$ z8q0CEryq)#!n9?2UH?s^*IQKKty`>2;Vzk!?^FlEZdhY7Nv(EeD5i8lkP{wGB^gqO z$>bGU_cDz-W#WmN%{F??;d$3++W;HR2+udqDC%kRm~TeZXmmX>;|$M$ZjCJVUV^Y zFpj`D`g5d2@8q}T$CG`|11pq4{ne`6^YmVo)2QfwDBq!WK$cmd@yh-esli!}`YYxS!U!Cf^h<5})~fUkD|fREdPN zA;w<}k{40BXk+xq*$_$$P+Ft)*u{dN?$yT42PKl4)HE4FiE7G}Ebac@7(5=uYnATG znvoj{7YJhIm+a?j#I7&A(RN@N#y*i`QstxsEiUl-*|W3`CSRTD18Ou zMd{uHc9gd7u%mRN`nOEq`X}4#2@z|Q{{_%Ds-lw{W>B-`IIpw_Fo1=Q762@CQvn31 zpXoq=+U@{U*UxnLRGQ-lFrj<2022TcLD3LIDf9&)hyW7+6TigP04Dx#FyYOu*tR2U U*7LlF{zoCn&ntAa?{U@s0H5~Y^8f$< diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-default/initial-webkit-linux.png deleted file mode 100644 index 3e4df700a88f092bc45e1f89abb5e8ba1c59c544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6160 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 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-chromium-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-chromium-linux.png deleted file mode 100644 index 246ebc19d473f5e3f3db5e84f7894a6cdf3d461f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2468 zcmeAS@N?(olHy`uVBq!ia0y~yVC-aIV7ku11QhvxS^EP6181bCi(^Q|oHy4Tc^MRV z4jh=M!1I4uTd&xH>@Wg8^!kJc%p_3E%~PJCfxVEF$(M^kbwu&u=gYGg4pDEsqIdw9M3FHnTR)78&q Iol`;+0K3liE&u=k diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-firefox-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-firefox-linux.png deleted file mode 100644 index 94880ac40cc482066687976ea53455de06b5cf33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20682 zcmeHPTSyd97(O#@+jwQv2SWpwtSC}SL4!{uB#Y8W}DKSM>6xTFBcNtxM&8GspQW6bW%h@_gX(=C5W$ z8q0CEryq)#!n9?2UH?s^*IQKKty`>2;Vzk!?^FlEZdhY7Nv(EeD5i8lkP{wGB^gqO z$>bGU_cDz-W#WmN%{F??;d$3++W;HR2+udqDC%kRm~TeZXmmX>;|$M$ZjCJVUV^Y zFpj`D`g5d2@8q}T$CG`|11pq4{ne`6^YmVo)2QfwDBq!WK$cmd@yh-esli!}`YYxS!U!Cf^h<5})~fUkD|fREdPN zA;w<}k{40BXk+xq*$_$$P+Ft)*u{dN?$yT42PKl4)HE4FiE7G}Ebac@7(5=uYnATG znvoj{7YJhIm+a?j#I7&A(RN@N#y*i`QstxsEiUl-*|W3`CSRTD18Ou zMd{uHc9gd7u%mRN`nOEq`X}4#2@z|Q{{_%Ds-lw{W>B-`IIpw_Fo1=Q762@CQvn31 zpXoq=+U@{U*UxnLRGQ-lFrj<2022TcLD3LIDf9&)hyW7+6TigP04Dx#FyYOu*tR2U U*7LlF{zoCn&ntAa?{U@s0H5~Y^8f$< diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/initial-webkit-linux.png deleted file mode 100644 index 3e4df700a88f092bc45e1f89abb5e8ba1c59c544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6160 zcmeAS@N?(olHy`uVBq!ia0y~yU~FSxV4A_f1{5jZ5aY>Ev zO!M_+&;qhK7#Q0#8CXC{fLIEM85o!sFfuR$X-1IP0w$O&W7`5|7@KJZNTKY8ifarE z;#Hn5jv*C{Z?A96Wp)%`aSWQM`F}~AQO1UiiavXf+P;4!mhs{5pMCSD_cJguv2fI| z)OiRfI5aRc<})V#xb|T-NHp$H0w)JhRDtP`03S0*8Ar1$SP=(@vjqoTtO2A{ zNrC5~0my&`gBu`)0v!zoEr)^TF)|%WU>`MPG)zX*$!OjgEeb}9$I&Wdv>F|46^yo& zMq7`gE$Yz@!f2;yv?Dp%xu(%r!Taa`Pj@zgh9{P>{z;xuS2tbVq2Yk2KwI{s7NF>5 zrb7mQ|LFMx2R*bEc&;De1S@Pw{Pi<-9#A^mL1JB}FmNoxhnwT@m(ROxfYR$43}S@U zfmPQGF@d(1&&w-;(lLyQJJkGuLmURW3Otw3zyAc3-obRJz;_OCJR~8?L1Nkb`%gIq z6be{d9?r5*1iD~LgMp9z{?oz=4iC6E4x1J_0bP*Em^kXd(GVO>gQJ;bw3r#n1@#B^ X#nZSmBciqSL8I}Wu6{1-oD!Mws#sg)O_QUf5%{N#e8A0ufs$$M%P;`BALPgOGY`PVKABwM)SgG zc`#Zgl3g#Hf5+$0lh4$(g;V2_+5(T+4NAGAoY62CPU)bEk%8g=|E9xI`+*HEHc(58 anc=(?|Fy)cH?{#q7(8A5T-G@yGywqdUNSNO diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-firefox-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-firefox-linux.png deleted file mode 100644 index 2a769d2decab50bd33f0b2f0fcca8c5bc0052cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21759 zcmeHPTSygA6x}mTHokDwu*XMt3dM>P>7y*l#?Z>FTXge*nHXebC}kR4%*WgUH4OT& zvPjB)3^Glkq@?IdQIt|b^r9lmib8rprDayy`Dq zd|OVCLWi2OlEnw2*!k((g~NmYYr1=~N^=9mYMoxj$jZh*h1Sf4`-q9RnXpM2b9AsEnG z7{HsIlhpd$sLqgYWprl{1MbG^o+ zenUr3nNDgRj;WU<_wj8L_PbB(6n&v&Pq?W;)qr+0fR+GJN@Mr!Uw*KP50RFx(eA3g z%zZkgo{78^bRa~bV|U-aw-5|yVTrsW5j8dNHn&hxg~POvemzmt_J-eM&9 z@MZoG5*W}R0Z4$AU~oEOC4f1AIe_979A0hz<}UB1A-ph!7DWB0@y$81{h# zAOT3gcC6tOz$X9+U=FYnz#PCFu&>zv$Q+dJCrYG7t#iu2{z zBmCv!3sQkp{InM?fK*%+mH;abD~<(s&}oO=fZec`M)Slo*o~ic!cv(K#F_+Q>Ou6! tgFY@G`Wr$JZ19ZO)*Gz&A6oHV-=fOsS#1rDIqYClN{F||H7?BD@dIt5?gjt= diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/list/basic-element-list-estimated-main-axis-size-px-horizontal-default/scroll-webkit-linux.png deleted file mode 100644 index 14b1ad3962a7dfab33e5c4adf09c488671e9cc0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6919 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 literal 91418 zcmXtfV~{31uI!RY2LS9zv z7c?d`008(UAug;4002b*0KhAd!2cvK3skrN8XzY{F+o7>H1-()fDe!m7EpH2zU;QB zw_b6?E~7C4k(t;L?+2#l!}y8NM21ymK;vVQ4i8_Op!ct9G2jq z9B)0tNC2Ds_C9S>w(7yLm<|* z>*_e=^?859c>aEF?P0M-Lj1eYHKk?E2+kMmOmR9EPCq?%R^-t{6%rbIqr+=bX z!24yGH!iZp`Tyl9&39!CuM*;T+@qyvf2JBNwvTC;J-|2k0^iByft;*888$XcvsyhK zSo=p_3?0ev`#_&0{PixCI@~v~vyN@H9kC2f{03i{{5`@#Z-Op+#>iX{TRB*#HoAb) z^&fd*{gBa9Z4Tgr;(F7`Tpa#?&l3aeH_`d1mKMWnJK9C`am?|Z%mb_4>N^DbH?Hyg zwrmyqBl$cD-L!_zrp*~7Qp@q2$k{%*jm9IrCl zp;;v%y83|>Z2$qF&J<@c=bxBdv3lSS;=0kx+!g*u$?*CJ-smoxKX2o)jt-b)c`Z2V zy4Uh3{U^`uNR(qHnoX9`LYGdm%<|k1#w`)1g@jeU3LqakXGP{p$LMu3-TPdGeI}~y zKXhp)SU;Vjcl5SZ+0e*zIDt7AxAiQof7p$44PH{LoUAijqv~XO!gKt9)R~cSL^Xfm zsg>ITI!KmZ75+Ky@|6ICSmB@VyJ;lKTMu_dhH$ zNjq1+DeV77SMh%YoD1$0`keN-ik?~WhFswZ`24^)R{r0>5jmsJ9~R5YQXz3M(+HU< z(J+NA_CYf>zR;K#{^@SO38!89e?GvDfna~2oh@&7!DxEL?#YhVW#uZ)_r=!wLH9oQ z;9mI0s${~6#V(Yn=1|Bg>@X_rS~C$~@{N>n^4zr}eF z+solvKsnX8rb{9~$XY!28h3 zd+f6K-=Q0?1do2m%(iwnn~=(Sz_`PrI?8ln9hRtGoS|2EgNIRmQB1k5^Zyx3x7G4R zmanmw;5?ibBzbf(S#ArAV_}yDC5kt+OVD zl+m+DN+f;lpPj?`4UF0YZ`I2lq&~HgHec#p_-_w;F;6$b;vY{!)7`_Si4_6x3BBlw zZ-@~Q`Q4xOFHZ_`-s713q4+zVHSU#jjf!wN?fMUu;-5yIvu)ILLXP}6@bvt$SWjdg zR5hp2mrvsww2avM>qqKS4P*v2TSiyWCypVph#tup)Ai*~diBTB!TQ311Vt1{oRKPn zbq5sDqHw5Hn>PDZfU0ssS(|Jd}1tmYPBPexVX;Nw%fS=3N{csA9A`S5Vg z774*Pn+L!>pWXuFXyg+`oi&PZHpas}_Bdm&y?Q7!rHN<&q2|e1MJ>;^gC#*=g)lo^ z{9qM}P=EG?Ow|9~*#5^yG=&YEgH;Y}tx=*2$4l&3I|C>2ETJ{bxnsx;qs!$C5vD{T zc>ZYcq1C;809{?l9pSZfOAa8PZ_hU-snamM)r&W@zPL-{; zB(2VwR?nN&l;tewN1ye(SO|?e^4^3Q_)6?#DV@GJL!IoT;lWOTO8xcb1mtSc{6Xs( z$&Re$Zk+6pN$$QZx7bT=JX`^0DKN8Nn9xu-6nZDamWI2~Utk7W1x|wLC4x^9KyS*y zH}V#tpTAQ={JTI&K|~ReR^kVS5A4MXz%?gFwgT8~QbXM|&1#CT?}nvMF+U z#o(S}jLD$NKW}6ioHpp z83Xzd&ExcB+%L7HrECwC9Ytcb=1CP3fYQGDcW~rD?ACHM0_a9OmC|#Rq`MX8yz4;z zC8a7SMOL$L&+uo|{PiKmk$j!ATsP*t1MM7W4E?Elw=6)_c8d_M3vbJf+pgaIlRVc0 zw$*3y!KtZk`5$5R9YE{cfN^vKT!C(WDhi>;yn=z^U=LyFdCD0DEJCo(td8Za2MOA1^-nD>>k#{;Fow+%Md$=Y^iX zXF>Sp%4;KZti9Quzc4*_p1Gsj9?Wh#`GU3w{vE?tRShv#+@7-6JpFFG!|*w&MP^5H zE^C+x>`;_8bi|gnJ23vHyK`XA)`BX+g%~@Qjg*<3rcz3yD2P^!)eD2~LSU2QVC+| zx42dMCeT`AP4vHu#pjLvZBn`IH)GuA#t&MqFS-PNAlG)>%`4f=j)dP*a~+R$;vVDy zR87y2(7L+4YnGht_$Y4e&*k=ASloR*t7bB-wbhj6OoHgtP!UX)*VS@hrKz}pmSg6z z{FGe+bF17!l{@HLe~R9Xs#ij3FmnpfOCYPJ$dl+IJilz(L-HT?AK6PUJWjjsM2Stb zn;{%L(1`8emtM4;_b>HqP4MHA`JR#b2)P_Azg;5>o05+lIt>DQpD;Y`@t2%(zEAzH z6|qsW7JW)2dSuLU5plzhMDqcZ*uTCTo9(|a{=j`+;>if8balX-$@Kg|xZ~^EkE3<= zS?ruGqZ5|;5NIvr1^2CFzj;Mz>4C4}i`r)MgUapPqy3)j9Wo9k7UxI0tUkz%+rQ}f z3gP-fYxSWqK<0C@e9iOq`831RcoqA(it?eI@k8!!Sa{OgX8V3^7~hgxg3mi*fEc`z zvSf1IkqVo*c}b1$DQ?}f%$!)HW__%lSd=c${Bi->^FsYG-WfoBw(dqFZamY#swwOM zb4GY#&=+G{hBrFN1Ny=3w)3eqdphgwGkOUER+n?Vo7?HP`ldzI%XB!=<62$BgZXDQ**!M1tIMufKvB^ z)_cXb?fC^mC$My81;{dH$NZkZx%qz1>!=+#Vbi-zdcV&K&%T*#NJ{E$Gke^~!|=Tm zu8B`BbqM#jo_&jo*3(=5v}lUP@*=+*kUX4MgIh)2LL!?9_;$oZ}MNByx>O0(cw1(Viw5bX-dOkuD>8{ zz2I$qH`I!+|Ee|lEEyp`yb`s-`yRn#CB46|P_pK1AI9;pf8P2G@^xFee|9MppG+rW z)`&=*uJ!h$tpip@IT2f?h>phWJ!}c@v!~QVFsiN#mK@hwXVK`ZWhmUC%X8)*4yfSh`nIfG?vDw+{yCxOsW`b`4|*^${QiQDozS7qO89T_enZD!qkG zZxIO2TKS1xnf-&Ui+sTR1U;6etk(pJCcBiU?eheNx?(9bKyjBBnQbv`7&Y(Kgnz)GJC=bXQEz*yK6U` z&#V$=$)N~gw;&v##Cb`{v<)%AHzLRc;?pydPM``8rbi2uK+1FW6pV3JrblKA-*Rn# zaz6g;h6zegO_3L#a$ECLOP81;x4rKT8@z+{aXm7B`%}xVBQO3G--K*c5}zt9#Rnxy zJs^TLTf>jjovxCn;aLL6=L8)hg#`SrI{Ay|L!z+AiaF|%#XBrY47Yt6)L+#K>h^~d zvjm9^(gI@m10JVIdkWx~&DiSr)wiJjYjD7j7fed&lVhM7JDHna(wB;0(r<%X38yPh z);KBh@)V!QmV-%x=u`gm5cvGU1(8IBVBD6#8vNw`7)6>ruaBn-@V{o@g#iSW!NJU( z!r~JVi2lTf;UEO#W+vV0c_6TJkZ-2(^1P-Kqo_y%goo#3zzBW99ZYKrQ9QzIQoP1i zs|o1g7?9(zlhlK1z{Cf+v4Vtzh%Eg2X34;^=LpDw2B{!oqO`_s4EhtViSjLwbZS9x z3{n$m1Ve=5o(4!r{gJ#@_ir+E%8Zy7PUANZG7nk_Vk$&qe-r}M*<>)P*8nzKj`#g3 zg90n~QSnLf4DJv`e8M-q0xl_m;Rqu_+3qOg1GeM-{(|;Uh^%=d8DjQ_;2(zZ6gUVJ zK$mjh$x&nV2B}C<_5z%0g4LVRZK~$!g3DpveI2H;_kSxEX--d%5dUWvkxY|D=<}zwDN2^h# zCK4kc6Ch0@%`Zz)L&yZ!e~ILI3v`sJ={Wu+1ftSJL|pv{iAP9ewgq89F>kmk<`E%> zlOcftzR#mk&VL1Yh=U;s1XO6J%2p8y3lbKmk%PtUc1`U{@JnDPUJ{XtTMGPk&v=KZ zltD~PUab|A@ckwU*Y6J)M_e6^#TWAAH6jVQQV;_LVQwn0tYj&BbyW1N+i$IaXh&*- zgZ0P!596$OTVPLs0XM%Nhzh0j5Q`+^c|t4p2k0`K!JR*lm8H^euxeC6AaT+wdd)3C z^cZfL2HF8|8`j%Iy=0eqaMcejhG~-*B%np_f7ex35sVp&*zn^&Xhc=rL;9q2)9JolarCPksV>7B%&@XgD1^dSSn=-%&g;% z^ZIi?q|KO{U$7+{Ox$iz5Vx*N3_-mr{upa<5KXcx*<%(WztKe{xF(t;y^_qRaCWK4 z?(duKq12;_NC<}06#Ba$K<3x>&@*bRMg%e9UuYvCa*24UN+&ukb^>u~Sjl#LjFVeD zV#-U2w+i;xcN5cMMkm!zO+(G-RsBXpW}ffT+elNpwA%_p9SC;N$NsE7^dh-@CV`U_ zezcRkfM|J^LCNrV#kK-agpm#RcVF!f(_-6(GH3w7r?xQpyeHHz%-?M(uC(AJ;rJ@c zf7%SzBIJ@0%{5;v&S@~>TyjN1Y?;5DL;Q_Ht(eOINpUV96se3$#_z~42GbA*riy(g zMDoBX*?~BtNA*cFeE5S6#FR`vz@XVTOJ{!^mySy9QXcFqcoy(~L!sotSVW3q_s#cp zj-|f~`R zgM(5W#2O&9zZsZ|#GEyh1A$)}FIH|U`+yc!OGQI8odzft!^$o5MNLV%TB%@1nMR5; zC}k^}R6x=K&a{FkN$rtz#fwTThZ2)uLm~($UUU!*=oOG8674>8FDardCvuVn!4d8V zXv4=0y`~HyLk*_57F$51E&x^HQSmO~cu5-ph?OgQLq+0?efg&wBquUZ`q@4xVY;DT zYW#}&(y?eX{IHNWu33y$lUtUQ;J$T|I}?92DcOk0(e7ebWA?|= z6szwT!o+dyNNF67NCqg1(i91ZJBV*SS14*0@GY9%B z5&B=r(x=A&=Tx4*!T2MIYO%kNtHKrjfkb3lR^*r}m+SPs+9;jfgyoPemncuQZF<+5b4N1T<9SoWBZRJA+YrzDo_z&NUY(7xy#R@qRho~bat zib?`jBn;NoSQO(=oI!1|M*^WfMpE$?jQ#tnkgZ6gEs-Qb8GUg#M`m0#bFw^K zo3WT@vXWPlIj6q7;-KG~Jek~=Tgt9LARp5ZNc!IAR!?M472PLX&M^7z`n5VfM>G>1 z+Kf{baCQg zZ1{N7Tt}>w6^tYMGFgJUqfazkAg>L*gb^83GCZ4;BhPA6sKx3Q(Xbd zK7%5uH1Zr|YwEJV$mG>F&vZ-BgLPT+PzIU^bYsa+BF!%E;8E!ydl;lZ1zU3f(O^ zvm^S)bWcwhH!dYE`D!@7kQl+jI{EB~SRy=J(YMAgAsksMrI-@Gj94q2iCi$H$hJk> zQ9lFDD9_Wm(UeHocu{VKX6PY2x7j7czUr@fqz}2JCyhfX3;a;lk*BIAIHx#Qn{#la zLt~HvO1kE1^2A6#N45uoT2GI@Ol%~DXg1c`(OfX{gsBZ`y7cpOXDoh0$s zOQ>m&FjfywTNyvn?^}n>4Ab8Wc0gmmvm#~?X|S_dyAiox{Ly6e`jWUVP}x4{AGLkw zCI0xMXO%I(mJ0R}pwQ_%Hz}p%E5))j)Ro%uxB_%AROe3|jY1hPw()P;Nh99eP z9F;!JsrSZ0_$9E?C5QaMs3_1a&|ATgjbV}YtY;lk2Sar1Cg$1YaJ@1igmNB|K;iZm z(jzS17~NdkcFID){x%(FRw_-pMxisCj5gnm>A{P7?-T`<&BR&>#1HZd3lCwE9W;1S zPL$Im{}NKP5P|k`B%=N72#ZdNm!epDPv3ysa-WF5+^oM*YcDEB{dBc zpF)+;4*>IkP?d=cJGe8FL$01NH41mWWE4Ei%c+HRwJ?GS;|g>{y*tlDP{Oy6J7=y@ zJe$g&6PC4$j^l0aWGR=BKO;8jp&EaV08hpWBPFeb-D(suT9=8B->l2^%lTaJSM|{T z%}!<25)m(tw20`>O)PmS4INW9ON8}<85A{P#UukFFiWrmsim+2n;~ul$3^*^N@U-L z@;jGtaAJ@aiUV*&@32tjXq@D6!Jbg<{1F`}gMi?GYgs+7Wk`Tzm~^y8v;!rAqb4%d zr20p4xTKg=T!xB#!GIgFY+}nA7}d1L){a2`_o==M#LAL;X%Iv5blXYo-T)DTL08a2 z-0o~leykt?M_8aB7HD~ZGD^8%zG6U`bbg{(LV0@82MTOtY?u45#Wqui42nlaOCPXQ zxs|rOo?d)^<%GPyd7?5j5^lD^dXaButHAvl+Au5Z(p!Xbd8Hkx%AX(_15>@yB@2*m zXR&0B-7+65j=SuIUBx+lBr^EXRTMwUQu>zGX#MZUudio&5l@~2iVAR@wcTj+9@^&9 zwF)uO1L*o;NDrAEhld(otlmi(Ivz%hMRZcL85YF9s$1yG$*Y_qgy*H09Yio7gk+Mt5(P%t4BjWxhK z)G>A^pk&?XoAjh;&V~IW_O;}U-jJwqmQ@ahv5k3ywLPQalliD7*sRDDPxo#)Z?rah zrrxYDI}99C3M7asO127RR{XE`#ULe|;3U9O46#kEVAv3#MJw8BU1m>k&NbgVlNK%v z%`%W7yqhkV@IiED&Jj}ooHW$?hk#X6V{kw-Pt!_GfJ7Km#uHKGi88WaKP;Gy%w*%( z+$?miQvYzcHx@jwD8gj`Y|Yo3U0=*kdk zO6Gp?366wegg#QlBVpcV2Krw-o8fuUc`ZB%rl3mnbI;W5OS1zk&|L-g7dNjBLw1fZ zL9i{ez@%RN@zx6wiW@!x%9P1LLe+A`iv0^EVtS7Sw^a~Gv*JIueN z5eqP%b?A2@SDC@oxjH|`7J{Cx#*0?6?b->aBgF{Cqk)CSd4ai?7A^_Zmjh=Y6kQwe^T3HM z=q6^!BN%E8`IAI=L zsOx}OF1O2=(M|9%>!FBvukTtGN@6#gq)Q&Kzsa)3F4n)64t1~btplmn*GEZ>vV%oO zVOwES{^WLFaUE3!V<9IdIo7Y+~zisuN7v22(6MjFW3I<8x#m2bi-JT11@M zC#n+#oNhH5AgN#atr|3plbx;RE!wR4{pr%BOXQSFJr6)CDzpM}6FdmfTm+<&hpG6{ zQCT<;4!@c8ObHEpx%vS@5hT;K{4iVf(PYT^rkjF=BQ1rXDMA1mBo>Rg-eF|*~J_Clczmdz&7TWkH>)ecFw?oC5j6;l~RYfq1^cIMls7L^l~1Olw+(?VHj*-RY4 zDT2dkjcvk;>mLkwrCTyvjr*THCRehpz_`=`bmI6bfcqPj*B{m(SrlFJ4d;aZK5V2VhYkwDkQ~{ z@@CzMUiI(F)j%Zj$5`;VXpG)J*Zb1*DB-4~Jyxztu<{dL3=2ka^JqQ(zP&@x=_X=- zABPT{XSUE`Be~*guqBP9Mbm<Jcw^EkIS zzS-%h4H*mP?0-Id{r2|4WWS2=&U?>Un7UnTsNl;rrfp;8YT{ZTr1@PN5Di?+4qRS* zKaY*vt~WT{J}0nl+^^Vhx{sGRNklsiKP&9M4sUQ)xr@l;9(P${4B<#q zE=HV3vO{n$o=TT93A=@d=upeu3lERfjn(Q&U&6=r=PEGyC|GZ55=Mam8UIy8passX z#1*9?Vd5rLw5nZnr((^qAp;^_b!HsSOWfCCtP^pFvsx35DrTne#|JJ&!qbTkh6xCj zwy_9QjG!cMQxCP6G+cur)>_7gR2M9Z3KFu00lGC>zfucf^eYWBbFN3iD820&ds1ceSKk{#bhKa<&wT4jciiHZej0BO&aSl8gil z;BI2xp5s+z;v;-!xILeNxmdq$AsWmYIVF3xu^e`}Z z(7Czpdj2(7RVTvZ)L;I5P-n&MWcsqXY|LyxmpT}{boJnO1Jdg`ol2v7vt>w?ka|@J} zsSq^_zJ~0^sji*ur>U0TlT~$?axS_wkAs^H)wJy^_EahA)x@?WjN5e7T*OqT=_p>k zWX)MrjR#nZC)3O1tJ?^6m$1HNrh|Ja{FM!a0cUV%20}-}S37zD?~!(DtS}13d7f=q z@3gomOscmFhCb!;5^Rt16a)K8I;|-@U>T<1m$t2m)(b{67~+V5wm3dkd7d;O=EBsl z7LdM(*#cg$!(zpu7W{*8Yr{6=L1v-MHWZ$6{6a}@!Ore=$aXR-`K#X8zz@b$cV~Yt z9XJkVICQ9pMkR)N)*>h;(1VPyQ>el!+~11+X4^h#(>@8X>lt^VgZpq@?|XlEJsq#n zc$rhA6%IOBvLx60#Iqq~bpoe7Asp9xd3^K!N3ZSZ)GV*<{dh~(&VajI$>pTxrt2qk zOT=;i=W(!=|(=hYc zvj*Oz)#|pMjc2nojbGJ-@ncO6a+?`4`wacWDK63U|M10Bv z4HHiankHgjlB^_e1VPg^G6LnIY9jpsTWo&w(U1q~X6b^$Q9$Xwq*tRnsk$f8UuM+S z+H7W)>LkOt5dmc585p1lybdrbnY?Xf`wQ3`m7q-7Cxf%X%KDZlls$@26o7E~2YU9v zd0{9QOXAsnxINfBk$N|9Ku{o+(sgis`JJc>klN5z<3pDNML%@-Ez12RcW587GHm)^ zPGlna95|kPdf(%+D){dbZ9k!}K|V=4KeBRtOaNrr$Bjhqquy=q&0%Xd4k7cYTJO6Q zdK~G_51&L`+V!XO(_C+5?_SowsUj{fXy7}qFK4AIZwG<+Ib45UE8yd7dzzj0$3whs zu(zD0erk4RJogR1J}w6dP& zkrL zN3I9Rc<*ZIysayGT|PUsaJ`qbJ>$SJZN|Cyta%N|sv-1yn>>J7g6eK_jKO+fEjcO~kSSo2_YuQ;HY9^RKff zPrJxVO>9y!m}7jw^1lhL79#x4&A%N=233YxTEr=Ii-pfi5W;tAc=IQ$x`g<1N?lxS z;7^t}*rjghpqhY0b=Px~GF1LVR|?A2ZJ9hV1pF)Ej|#aNWD;3jalDRw5KK~ z_1u6{CXu*@Avai@dxT{H3_xk~Nu%2i2!8{T8Kz6qISBF;zeb;AFbQ#B5v2eCyV76} z=msGds*Mn%|8aUY8}MAM({0=W z1#J1@eJ%Wm^c-!x=6%zDjel_d?B}iUy(xV@yN#TZh3|fXZ#kiLU*TZh^5hna;f>e} z7bQ4zIzLOhe2^^&=?x7Gytec*wLeNW`#tcW7Tnc)ea=mvA(vm=xv<66d3d}u7)`eN zIXhoXvf25%oNTU@c=1McYAV_10Y^myMXZ@DBrQlKS!*GyJU~rd=^uHw2#WJi z40bL|(}YB)5Wm7de>I7b6)#S#p{_Kqp^KwN(xoeZ9j!5iD;cQxp-99PX*6%hYl`nc zO*zXSRjPijJ$4A$O+vF!3M378x=aUMpZl;`5JaUcUoEnb`d{VUE zLWP+A{hGt+k&}x}tfH~#uCiJRVU`$mD%vKPFTs97D)!`Mv{<2$w9+J9bcrlg8!*IWAlx%>sCQcV;UqxG(|3BM&Rx|&mX65m%mvy{VLrE{W*ZY ze}6t)^su+t;vL>pe?^|7?&Z?Q*~kgFALXF3!!*#jjJCrhWnyE+^Bt<@D<4?bh1y zJ|AaF)AM?4w!?cu#r0jvx{t4w_hLh$bUjJs#34;6hJ#vIHhnoGn}0UNyqb51B};k@~K6^L=~MbGI#r z(|w(q6hJ_>@&}Gs*$b3|3htQRta+E$m&W} z&GSNwi$y*V8^eY$%+PtkkSdh~P*O(9fdacSBpb5yoMGFT9i)*`>OB?a zJgAOPR5cN|tWg)(iJIin5GMOjr$h=CmZ?QdcfS?>fEsQ|ft7mO2|LdP7*?m8P~+=+ zU=%UD``|f~Os>R>ubvx6#;ZNaq&Rmrat&SAyZxM`{=BkTFoM&!-)CO^yhAwGUb=2R z$`ox4&+PQL&*WIl;^DP(U%@es7%<8f?Y-_ATsxNtmqX&GFM7M;xWIj6hu@O|t(21i zV_ILuin25ySXO$9?c7c~*xj+T`t3gDy)K05emq0yJuGjP{1#E4!UTi-z0$h*b4Hct zdzfVBH}l*Bk|K>h6udQDBFq9bcr;u@*ZXvChRfCEu>W^YYOyM%Qx~eMDdZN#)3DxM z9hZ{Nub=T3T*;Gc=H=M^aKd&D$hxe?zwWO2jd&aoJYd7lt8HAH%~B6KwX_N_xUrYKT@8FK5>RnsM`Fh{4Yt=H7oP8x%?j^r zyV~~KoK&9Y>%z@@?$y%QgvrC;Z*8~B>y^zXwmiQFHeSyIn(>Zck;z zD2$y#hilcvv0VEJeFGI(?5_JV80Iy(tV!mvCsQ?ZeV0+6hKUM6vu*Of`=vZ0z{BOP z^^T5?#?m@Ctot0bCI~E}88TX!Pzs(&&+sQ6wnEG&UlhQF%_f_xE}}@1r6??vWyR#% zYr8F+s^d{3;`s8e-EauT*r9*>H;4tVmYJtvLxmFBO-EraB?>}@?CkiPz&52%d?9&f|$-joIujc6X;CNC{9++0zQsLvJP+ebqlXS8O;Bg_HIW04fn_X-VcBWsQNQGaZAzC*z}|YI?0+3pCm;+=>zSE_GUUwJysu zszErq7XZP($}6YG#50&lQ0aeGiMMbS1^vvtoa)!=I*Ych?fY_Mb@LSvix)gDmp9HU zA0}petZg1H^<9=4O~Zw2JwFTBw!Zu6w%=XE^u9zZVY$Y_<-l(ix7=_CjpmQ;ExkzQUy#LTo_ zgj>JX{AA%WmGgaD4KXdxQ@|Y3bZbEPH({AL^?6n!H&-<>91nw7qFKcV)s+LZ9F_@a zBIU*0buH;YGR1g38YnO7jW0|(NT_}tOq*(6y(j=fr|Nk*ukE07Vi-Y|#&ptK$$JYP z>58wm8mz1bS)F_eS2chIEp7(z!>FhGgC2ys)aBD}3pWQ_wsU78kCGi z{5D3|e9=vto=YwDhZ4wxW}CCRcbrRSM|aN7t11@5E!F!3d&~2q&)E_0{nYh*MgOV# z(NR^k;1*~Nnu84LfjmeYWOt|Ey2J21VVgycQ|tZMINR=gd$N06l>#uA7ijH+J0o$C^cscpYlfRN>OxURfNTC~D4vu%4gFstjh z&bZJU7KWJN9aLdCb4glcRhn2Dz4lum`@Ua1qT68iK8!5G1D987_PtGPo_ebLxy9pi zd3wt8JK$nfd+GgL^{MMVc_!0+zIRH)uAoQ!cRb9BWm5flI|tbhRK^wG6za}&O*IG1 zkSvGw^ZtcVQK6_tOfYR;(5GyJpo#|wo#iA2`B0NB%Ky$la#TTdWaQr$;?(k_l|wV9 z6xzIk{m84+3qjJg3^}r9s4*1Jm^&ds-))kLXL4!`VzAoN7)ACcSt2Hu$k|S&KGq8A z9aGF4H)7_oT(?j9%~o6iBaY!A`Rge%x=1P@*?(AOeU?zQVIs5N>rUnEi8XqA1V}Rp zF?&tIUaKuYlpk#i6Ct{cUWPQ?n&3(EDB^eVCPWy2{)COyUP8v)TMG#=8_wb)^aQpRcQP zzOSawiytL8yo%lzJk_7Q9UAW&zmTJp_pII$-<8(6cTV)4=j`ZF#f$xE+-j?ro@6;t z{O;}R3p*{JA3WUer@W*}Or4MWy_mX796#!po4rZ9^E|F*?;W&MTn};1oNpJlr@HQf zO+>`-+v8MhZfbHFhy`H{hhU>x}V1|)Q^o7?)yHLIPUz`vP#}3x1FysnO5(+RJLu; zm8-g*mp_1iabcHA*Xcv6$6)@#UE94;auKS$paiYP*qs$MhfN`D#HwklsKKq4ozGL9 zqh00qf=C%-OHFH9v&_gm7g<>7=^C*8cSPH7Q^_E7G&XSlZ4u1wXiR;QyI?8En5y0W zQX)DW?7%Q-us8v5;}G*`o&>PcV{`WjgRuca2atYGn}#yR*(shfI-GP&m{ks>likdF z)n3$EH`S*Qe`kGVTR&OgCeiJH%}d&0oCBdOC}J?9b{brH>Q*f6BX z+}_c$IRhzb%V~NNfOE}shKjR2BmLtv9UKJ&!;FO| zRlOSSS{9H{6}p)W+I`Co`YY?Qn1`o;piM3LTobAF2>a%STvv#Lps;h>y5y9`{aN6> z%Jsrwg&0frQ#e;}tB-S8I@wJYK*IJkD*snA%d;UMa}FG6NjW#G*0*NhSNO%(g;}5X z^(;w|?2OCSGGcH!98Q=L#U3$d-Q=DnkHVD+IJGzuhhQRw**xN)9xQH&N0=d!GM8K?qDGR8|jiiz1a$yas&rj;C|3wKW|MW|v78XCj*jM_gfh7^R+ z9mn6aA$s@x24v0e1RKz_QdCL9BvkqclZH_ENj@J9cK`BqxUm(%-i#Wec#AkMo}Jye zfJ97=lr%sBGytlO7Dzq5;loxPKZ4z?upD0Kt`M~zLX(#=sc4?}RRS_)LO zmNb_DDz`L?KbW(#@p-|tk;EftheeI(UY&66U+VDc-+v={Ff*B*CMuW<$M_~vs|;Kz z0WBvp7P07=8B@Dg!AH@>OveUvD907AXc9s!KidA#c5IT?T6I^=q*2G+KrZ+U=8Vzs z1SAP@6{sJ{2r91MdJD5#PN>vId$N>8iRvjy$5D>mir31c3h|8Bjw>BeV_*}k8m;qRUQ{N;pRFAXq_IJ#TuGt0)?PkFR){kz)G3NCSOx0 zXtTqadjz3lD-ZPk1w^wS&4f#XFVP(i=l-ia48ODqCXNG3yI)RIAx}TT@HBW`jT2GA zJalVmnC_?67qlPf&kNxpZ1h4GGjT?3sy?H5swDShP^m!#MvU$Rt(0f@WaUD2zLu2R0666x7N=;RB!f>u9 zt#D&LkaD>ieYyEO$;)GEgBG@pfZtIzm*^~Q(U@Ss%V;aUe&98Ks=86?K+KcHzgnS$ z4o#}GS}N7Z{KZZBmuv!wPPq)RNXcfM3w=%nZ~+wg6K%#ceyV*AOfk|WE1>qngjDnH zu~cItBPze{Y-VPi7F|JRiJ)A}vKUk7sHBSW zQI^b6HV=~GQ1%#bYYH5wNTvU)1>j9^(2ZE4cA{=WJ8$kt^C(gvt8fE{_Qtk=fwn?+ zjm+`e_8sF;FrwHUNO|Oj5%-V{pCWQ0Z^Tz!(`o;`xsp&s`~LtxK)}C!t!8Jtqa%2Q?DuYkixLP)z-y#vK z;7}BDMdA|c-oexZ7J(qAJp@xv;ZXn~7GJl5In^oa8I*%C^#v#~<bTs zP_#0yE)NxmM{;Zo`Z=1+AF5yZDo6 zQmvd7oZ%@po`C!4bS#`Q-yuUB4{Z}epOSoMkmPqxP++$d_H{_HjwH=)im3@sP-@E+ z3817Kh4C-2Aa5-@SN1X0DHv`6o@}FJA$&ZMT94!O9>IZ28nd7loCQ4zNr^ibBW||t zVUs%L(FG7#=F$^Fy4xSSd1+ylOom0TrlAV*zSP zyVM&>cOsP#Y9tXVwMJsGw z6%|RAF<7L*gsPEr#?%p@hjCInnbb^ahV|MDCP~V=th%<*J~T#=7yy{Vx29@GmPzX5 z11NMwp_GG8eYEFPS=L`qgskD@zj+@v`^fcRuh5GUmuFp!%1{AfCvFfuDPc`)Vcsxf zGw!C!kMS&#S`sq}5+_TbVB+LlX_`H8Lh@V|uajBW6EH=cB$POm#^11#E9?on-s>H% z8N3umVZ)Z0#++HyX(nkZ`$qA7+CO2BK>Jxj$0Swl9t_!qShy24!AA9@KkL)e&@f0-_Kr%EP9t96Lz<^!{4vnaGJQ8{IZkUG(=Vn^ zzXc~Ai$+09Z0r!G&#Bfp`t*tU=}lGmcC3%b%5rE}!5cCHhPI5jW#*8Xax`_ohSfGb z_f+;G#zsY2l#h_?mN%W1(WVQfQS?CMPt!}l$A28(wt17=dX8BnjGARQDG%QNazQs? zHb^o0C)sQ&OLbDFQDViNMUt?fn2-_*R69^NBuw{>QgJZl3b@>`g2h3K?bgKrHGM5; zR0h;al>w)mLI?qpNaHVkH?`Sx2&HUMf>t$q0a=S{6Zv=U$VYsp)tCQM3Spl zl2+3M=MYd8=!FYfxx+3d=(_$zW{CuJ5tH|Al50oMJJNpJ_DrimNdtjqMcVv5EHW$k20dU z!WEW=_Vt1DK$6bLi3p$g4Rt-aKhA~C~dC>+bG!pBkzW6K% z6;Y}6`-VXcbFoQnQ0b?oXgH(ZMzud=s6>bZBR%7CcqfBUeJ$nAITwad|wVH$Pe80yjfeQb=CYXBGI7SZI(}24SIO zIc`jp1ft?Lviar-79c7TI6%ZnpS@`&5GK|orIm-Z>O%s+hRRo06AadsmPV_agjf;CqDwqk>QOh%eA&7n}hF{BEH zBA*`IB+fZAEoF0sc&w8s?NV9E+`8oRJk*Ab-9Yy-P-%siHDP0BQ0#0JdzRKhDK0Z= z<8MTe7930;aB2w%8G(0EEd|~*3zZP;GBnu}Lb+c3odk-;o!bFT5lVe5C2*{RxQj24 zY4_9_lNvy+1$$wEn$B*DXU#{jE(wM41Y8$tQxvO4AVLW^aBDFH4P*SngqrUWr=s=*^0g{efy#U;XRau>va~N!p+ueE4Vg*n z3MykNyh+{sg)WKl9karQ(j(%e!^{v$*q9n8A`wa8TzVxbW3rgcEQA*k%A%}1eYbcC zNE3f8V5fxZdg!>tp9VWlqCw|Frrhtc(KNN`J={^)sIeOt`}10t_K}(1VSaB+eab7u zUCt7*qO*>alAOqt1^_B8rRcY3aEHu_Ed4LcM&iF9lS z2ZvS=ZyF4q9@+4NIBD|9WLoHRJ{9zP@e&2v8oWurZtFO?K}YZ~BhKoN?rcdUB9i@a zWS%uuwS`5PgmdjAW}#dT1!_MQiqw4FkOjmRYe8KUcV$T&;|UtnNiUauo>TiV3QsyK zPQg=r?q&=Zmn=;`>KOQ;W?kH<#(Ej36}Nq^s#1PIav38aTV$eX zUow&e)w!X;ZA3{IIn0bH6DSSoNyH-XAYaEg`^)+8mW(N7dW-s!3X`Tf`Hi(gOYuI2 zug)5j6u>C>ZORjIj~Oz3Phv%flhsQp8NX)JvH0rRE)4|UB<8z7S$suGh*N%`Imih` z$t^~%gwrEm0@mHUEms{)UCo|NTCb)(2w?~DUyJ5jIF%VkHwNVE$Jy!`kP%WxdrgT8 zZ}O%>qk{D=0k%9Wkm6IzHj`Ja3L#NsN3es%xNsDTR2Zo*ImhJ!%TnVxN4LZ}>gt%D zL#L#P!8Il|IR-i3C=7_Dp{dsh9E}h^;_}z=ixf0XS85>?jN<538KW%lq&}e;lThe< zrF&2j!d)y6ohD8$M!qOxW3kYjNaW?hvp-G=RDNx-k>tDy1SCr0@S!!`gefs7WdOD? z2N5y?m1lngEa4pBnIMwwM52bvFM9^{%91O06nl#*F9<_byI?Sx<7x#_ul2u0?FnPA z6b>l9m>?f!Sg0lGO6!U*4nqilWgqENFv-n-+cQ_JMx{@5b`GHgi38JAynx9*9x4l~ zkkhbGOFVo7e+uSLaj%)sG7WbgLm*9^FU<5aL~)-tqomD{A*5%k{`zENN5~Sm7_RwJ zD-J_$393355)J&KBXX5n)5xvU7y=9ba)C)}MK+d>XBH(#3S?^aXGBvB%4j8KS1A(Z zh3Z@gSHns*?-KS+UWb5n0!taBnvg^Vm^@zGh5TviR1hkA#G|yP&&0YTwQAZUzHL9% z^0X;FTM9)8EWIvICAq?Zt}3ouG~6aHZcdcz5NWL^z-+n(Z)Xs(@$oslmIbIwe=G6i6^9MMNtYvN)L{OZ{x1XR!7BK{0Hx zju?|Av9_FtI~vS46mgp<^AF@?lJmZELHkggPE%t=8_ZCz9X9# z$Sl5M(~+b^oMW7I)k;e28WWguCY}|L@Kx9-gp1^O&b&SUT%wd8e(pq>z9qH2m2Oa0 z$8*I4G5ZeeB|6Dce{DJL3z-)|wwCZB(3J9Y{3DA?F9)zx#=NV(R)3(;Dap&m2xn&~ zB~!=MF&Z4E3`(Lau37P+rsR}U#iDvz(i$@3G&Kr^%25fuQ4qE(lY)8E0SGb0u-R`K zeM_c+Nu~^4TXsq7Kc@yj=ntgwlT$xtmVuxZRUkvif+`8Ha#%pI=^PS3+D#k;J&sj# z>wLN3X3#*PY~hro7>TVlpj?o)JDcTBU7ptl0c^q+l%zQ}9V+Nk_Esd9RY44lVh0+f zSQ)KEa%d$r^5(b*TR|Xigc`JFgWwuQ91ljFY_im#0kUv)aTBk_m@f1}r_M(8mNFOn zf&!Xsky%ns7h&Ti`htjkdi6vNDp)5W<2(y$OvI9MyprbnfU<`$yXS=1mhUO#DA_8) z_Ey!sxW|b2uZ2g5{H0CWwu5`OFaq3ThYl2SAji3gD_=47JHE_g0Rfv zts{hS*(lK)coSsCi!yo(NVHi{d$gBZL`_R=26bwD+6Jn|!Q(t2Q+qTWUe22+5U6MU zM>e}fXMf!Xbz!O1db=8N;gLE8ldw!or4U1y&n<;G7TkczPvNrL^_!FpHC*^^>#-Ce z+%zNWSdLSWlHcq3Zd9|>(;=E%;+68AS!-9qRct-U3RH;36a;k3hcE3B-h)jPE?f>X~@HTONEV z3)q(AZ?2RaNU0-M?^m+QzYc6#O5W~;iRH$gY`8>&hYD}X)oW860c3xo8$DVn5P03q zvWAKiDDOJ?U*SgtKv>JWp-5TceKhYk5vp=*MamKMltVNal-PsIz{snAA?4k&Ms9|R zaZh5+GPR0Z(>Jjhq~oB)b{^-09ZZ0qxfkaK5pF19<#MPoiUAZhc3D)%zYX ztDrzLTwt$%S=-Llczuh1T1++;K$6sjKuOTK#oTsAwJhR^RjoDykf!GWDJH1Fj4K7A z0Xo6BL&<^`k5=_5o~EriSJT7P<1fexX1Y&;Erf#+3kB~n$hfl~pA^o7Qk>!*9b6M5wTJ-sqy3Umt^MxPD6BBIV7x&A!j7W*AQ za~h@67$k$I3_7R{yu<<-#8f9M(GtGp_nGrj$}zAY29mg4A6khuX}j zLra^off`5b^a&x{rGiIO@I)=BngvgdEm6aqKn7~r#eGVFl$pmwVcU~?omeH|WFb*aqb~*-7-j|DWa%$jb1qURkDwsU zMwsGI?ya+G^%kpRny|TDGG+9lP6kX?*~bT26P{wWip@$CEcHFHNuZ1=h@UEUS~g(* zi3F9v6}E)9z*Cz>IR<60USU8BpMB%8$FNj^&9SR_R5dFrhU%2Z|H7-l*7Zv#<^#@ z=bp3ox4-r6HO#;}pw*s(c@Z5$y{r3-TR+gKQ@`F6CR}wiY1#EJV($G1>rW6tnfTFX9zDA8xpah;XC7EJW4AL~@%vn|{45|oJZP{hb z9Aa{~ACo1+xn+c@?@6P6Eu&MVzi2ofVF56OE(H~-S|m)S%FyCX1V)q7aG)gKFspVD zH-{@Wb=0-3%E)Ig3hy8VnG#Zeoe)zO`dKi*!rm6e3|y#nNSJ);IlE?F+=8l>f(_=g?}rtDNZ1pJt7X@5uT8$Elf-` zZ(^oGuLQp`GnLpn@xX*oium-YV%v>P^>7%JGW;`qCKj1m>=AsQ$c8HS!C{3 zsO^wi&nm2%Z+e$HsVGi0WVE=CP<%}V zwNw<^t;+N!OW|Y|j0e*x3aHhtTeuI8^xf+A%*dIWj4Xg+u#zO4#RKt5dM3)@!LfR5 zDm4dd8UuDz@|G+Vpg;%LXa#jM6*9#ddCuxsK*_tH%`MqSMGnkF;7FZ<~xC|lY;6D~VGOI4|K)2Xc}se^FEj6&b(IMg{s>J{Qm zcv?W6e5G|(oKH^G!IG`dUTQ|Og|rNeDnt`}$(kKp&uyo~wDl;TMe4`FLhxZs^d`$K zS0Ro;jF~W&16Pf*3hP1wOqcqTP+qiOtvFaVc`&4==2Il2f<>`Z>}el= zo^XQeElT6u9AW#h=80nSk?thu_=YZNa$ePA>$OGVzQq#zn#>d*XR9oDXNwU>vic~> z%S)Xto+ED|9q}U#m?R81`Viv8v4(I@96zEkgfPbA_v@aX~VL`?i$ueK6(e8tZ{=3AR}*rmXVh0v+OO` z*Qaa`13r=)&W9hD%>Zl>M$av$+$m6@j!mc6%(gu%tBL}7ePU*An489YxD)4uO5Qe) za8{h+oQXq?xR$z573Bi#g>u@g*vH^ zxb$_A`8#DM=u!~1q*@V=-)o0OTM6-*h95_90$DT3kp`L&z*aspX&_4jz6mV3 zkc1GJ(n|DhFR&iSt$|)6md)ZeyGfukh!3xi1kTh;kxy`x3HC21YK~Xh5l7h4`K@C1 z*pTb#tBdt4nXL=$P-{*ayC&!cbds(!9j31;57Eq!nUiO~3^tmq)EhbG@MX0JSp(~s zQ;O!H*Vm=+u?okp5Yyy4x9WT#UjR*Ehx3Bq2l~Kc(kqOojL_q)F^5MN=tR)I zs(u9@a=qWgrHf#!I$P(Mu9;=3W%ap|z1uz(9r*9uM(YbY*yKODCHmNnM=MMneZ6jY z1_ltVx&h|kEzpXTJRp65Y=Xm}eFI*l)vVv*w`X%d2uD^ShOy3y#Z;r>O-cmfOq@WR zB9s|}Ffl0WUd;gKz*GuFmP`gEOI!~1%7fU%ZB%MyZn9E$nslY)CTTm(v3aQIBMVR! zUtZu)rZ-s&lxC7(rc7%(grwWZ%(=|)lTOl-Cg-(6Ad-8ia4<=|%qfZw7VBFz>f&iR z!hA-b6>0h=^G-z1O6X=a^W<4v5&ng?=(CtQe(VBU(13M_!`Qd(m<4%3OUYDhKkzMIvk7XBe5RN_$E1_^EBGy=#TLL%W9bj7~ z>|&)k#3#r46&sibw8JD0|l05~p(1Cd# zG);nq*C{hnNOB!V5GsePb?%!^9H-|Tq157Yr{7jcoz3inp@uR12}TP!Qcbh+yq+0X z&L>r17_pWnkZxwW3jtttePm{-o93mloh~IV)3(WW38vu@EWy=EA)%i-G7MfZ)mhw(kF2#V+|W>8V}RVN+nJu}7`$t!7< zPO0EY*3mSH6LG0v6kLfacnT6x-LozCcI0nSDUfGjFC#!xbV`yF%j1E+IyYH#3k9gK zHW#JiF7-Od$Ldprww75}Cjyu8x0M}ST`s8@6m#TF4Aw%n@+gh7A%&EIa=@;wJhNS3 zrY%>`sw5yg001BWNklYUZZ6oDzE zvJ09wWvgG%vgXX{G^H)_rV6Co5l@_*SjZ5umDJTy)*w8L06spom^PpWozd=)$wz&V z3WrK;l9Qx}CBdmIvUI86TWSp;mu$S=Xp{QIIRw~Uj%hY6<(@2wc#HlR7$tT7CekWW z`)}7O zZdv>2e2n!Das@Z;Y^k=6j3F&ogMd@4bE&)q-U1z|#`wt2TE0v1`nHh+GMhAF(h{NK zO^PqZl4On%WlAIdWUgg@o5c$Xrcfu&`SLa1+!oW!e7m!GffrXM^B0HCjkvo2ahAd@ zabk`TB`2u&K%A%{NS)XgD!ENc>cpplv0f_tTBG^YX$)koQ^{1RB`LQa|quCS{9&9 znQ0JWvjcKe&BB#c?<J8r7mMxY4r1&~X6HWclYP zQYUtkP#~{7AX{Q#kX2+Wop{2q<|BP;$)N?syC6slR%UpypBLdd|6`&y`@;HdduzWdn3oHcxA_6 z+Y_E5OMrk;6@}cf>{t>kB8F*aaP~zO2va7>OP&Da zva9$Fh^t{@pi~XW;(i?q8NfUQbxb7+WMT!ADaIKCLrD3P_2Mxg&RJD33fW$6Er-E)hE=uIm&jJ5dNmMS`EDeCvd4{+of6bf;DS??%N$6D~awd7a z#@luu9x`HKzUA&LET~!1-Ly8*3E96aNNF)hCYb5$M^(6EJ}T6Ce!*sr zOaCLb7edvFdy2=@y`3;RZW(cbF8Lrd05Y1(prfTCb=zKp6%%hER5-xz6XC0?$Q7+m zXLE3E^ie9Q`ihowWeEaNjAY$a!b9@rcD}lf`CJSTN$Hy*@DwW9Wp8+rJ|$P#2y`OS ze8Gb$N6|ksg13bc>d(=!lYN&4Lg)|ESXF5V?sDnQ-Y_QBYCi1NP4Pm|!Od$1i7P_U zlj5M6kP8j66Y2s9s<8FUqbn;96K zFi{;9AgHqhO4>`IDym=S6qjT>18vA^G=qJ61Ph9(#|bo$s4C3CSHbs(SxpKU#~!1{ zTopGb6}c8IEE9RddMi*_XORsV8z42c#FR740#Ol$@^qFjUB_g`9D;IlX6D4=V`(Ov zhUVogSqjv^FBX0j$T|A^Fu2d8kcpW-tLJ%-pC7?d=z4=HNpmF}y?Ufq%cFx6um zbdrwDj|d`wa^Yzf5=S|#hBqu>+E8jRD73=EO_?cG zp}c{hz#X+=E~Vk%lEeV&YU=EPsj}JvXiKM5UJ-N@Jx{Tn!izKmhMexGn?>@;S9N8Q zk6fHEQzj;)#LP$y4W@a#iXH88HQ88{Jt~G6OE5?160Pa`iucI0fP;*O6l%2zLMDhKpAyq=0135An(cc4%#qiTj)7NIlQLt& zz|Lg#sG+q;6D_*!N^kNDshF!Tf{IX0WC1G@Koruds1Fn)pS^_5EtdQNnTp8;mJN|7ZwmCv6!c1&D)o#dqd6c#S!0%RSVkg;*s!+E!Azq_Qeu(l113Il6E9jd`odI*^P2CIi`?A!W%UTI4C9zs8>dR^Y+N5ut48#T$ zA^?Z5O`vOhGzVJLB}e79$-+}a;o{CQsDa7Y6RYixDxF*ym2JAk=hi8@xl3H5w^4b@ zME>%qTHz9jo4h0=CFaaXS_~#7V&*i@Jj+ABWYwl^VYIOVVauE`bO+8bXp=XIwr`{u zNYR$B-%@BaT}ZKuQfo`+palm66|X)ix)Ic3pefdsLlgN^_XGp6@LZDd0STNy>)^YE zSlJ+Boy9$vq7f4%u;3_Gzl%C2Z!I>t`;UcYm`!JU#FEoynVD~F@TF^-hRL%CFlS~? z!D&D>Bb2~h=@PkeVxpEc=R#O^rXL2v;QkgHyf<<}^}KY-i^BuWjzQKeTQ8n)_5^jE7`#}Y5y>gYS%abu!gNf`38<`^D@z?3n^`=bU|x3MXU5=*+Cn3$0= z7f7Yz1g{^{_I&y9Xlp3R3981;?b`%bE4FJ69@z8xwNv$u0z8>*;2v9-qp z^8GAazvtHW5Gz-CREEeEBT5cf>Nn!M%3O2NNC)5@u|8~y86>*3HY}Z}vn*ydFWhcYWz`G+MGo%ctIZcf zE4Zm>=lSAF-fpQmo{BCmm5M;R?rNz->~a^FRJvcmB;m%GW*btfNU7ad zE7A2{s$okf(8Dx|*6Z~IG)^Zh2Te7ZSGgI8>wxIXHE%LtlKgxEL)tQk6qpitmPcE& z<)t(Uy&-z!>5?_oO0~UMW|_sa%;PL$e~&(sZrQ^v`v6c3U+ zj!iTK6}+sZ7Nyiq2D3%IgltGX0CtdadADi{Yz~?Fd>zHAql1JhV@M1ckhosTsd!*Y zEwz%IB4;f-o}`H|BV-5=l9}}`QKaz!nk7uPXyqnWw|Ry7tUQG$HkTeso>Zp}-S)eFeZwpuP0kZ~}E{*aB7Mz=S0fhB{O=oBC z9)lJ8m~^9okwFq^OEk+%>mtX;XuQcpah`y$0Be2^^^2~|4wZfN$_Y-c(fBf4#`>-q{vm1!4oN?@nmR8t2I&op!M!g&Fv;x&^U zS*+-jWo}Yq4WwR9mNtM&o+iLTGD%60t>~Otq)4GorOmE5!PL`5v{vCfMKetk1i7B( zEswRYy75%SAHX`D;dLv#Q=4)a9qI;{1bxcXT`mQFlh#~GqBrGu0qf7^GRUC~lIA(0K~1d`IFvXUt$5*rUhnKBWjq~<4W%-8N|hQr~+ zNR6|9=bO;EHs4bH%R5X<8q=o(sXBqHkGQ0@3hvvkvQcaq2v5bKqQkT~zTVbapE9+d z#YO||%Q^}NNb*dTq&Z9=jY~3!M^rL^8-b_DXOLdk^SzdQK1wTwQ0~|eQ-;f;zL(ls zOiLo2HgEkaZUo^+gV3D2oUdU=TgWhljj@}#G=w!grt^pQ)SI-hVo$V1w5&Iw5WQJrA&i( z6(mlXa>;?2OMVcU?}ti1O4*g&wb`sem9Y}W5J<#Bny+G~p_C~#NEvBH!x_dCj3*e+ zXf)xa3C0Z#W;~o>G{=Bx1Rj{NRal0LOB_5c+1h=r1O#`pXi?Y0a|U}ov|c$cnJi`Iv-KDe^{(9g()E}F303IZqFq4L|O9s=Iq&* zO3KPo0i{YFpy`=xyH5LMO~sozi@H(x6pO2YCcuQciB~dL)SC>3?3Mc1NIo%#$TZ!A zjwWFkpn_Ybe)I=UMU9Srm~C>edy7vJnOPU~@)Z0qGg9K>_g78W5ppimB1J>j#F$!Z z02G^LNcmPNtCrh~KtKZ~pdk>r0f^85gl0gKG0oPn-C&RtH8hxEIOEZjMl+127*8?U z=9MXrcCb9h(3Nn~>jFjUP&~&F zy%V28C|{kzVWKxdS-QfLyrWFo-Ch5#zmez7?78zinH9B2c@tY^U$y2+N?*%-QaiqR zNS*pLB5OfMwxNvFxk-nq8l+h9EKbi+m&r%Eq*Tkehg*x_*nER%=_huYLEsI(x25q> z>jZ67l(Lecq(WFC&YX&`<3Keab|WhUrX)@I#KcK)k&Tj9H*Be47!Kw3GplJ}qC80R zF(#Q(rZmTJ#-lk63P^48>W$_okYwaFZ$s7O+=eL+Ak_nAO*y>{%cEDbP7)m3Y#kSq zqr@+hOxtDkBh|l5Qy$)!t{ocQ91I!{Zm9iESXsR^GM|4bQ@N#$&Nze9(ET~x-$C=w zTV8_B{G&3V&@2_2e5hx{_7vL80wb=2TfJ^V^%AA=IBBY5GY3Un1~l~^qo`6r9i8B& zACHl*AUyy&tj|`tdXH(U792~>4UIc6JpyXeiR`VjDf=^Ni(6B3?n=INos=I5+h@+; zq-9iq%sD4X#2Tw8iWB zm@W=t5{XJ)SBYX#6;E{HMut@(7fsnq$&AOGxG73-;sG@oX_+)GO)Kp9kxPq@>#0byTAr@QQR=rx%LJ(Y)8}5%DKgo|wCY&U79{>r)4NcE_Vy zdx;M>`ee3DDuX1_c1fx?iF=(%pH@IHfq}e@d=creQ}p=D+xN5U?;vvCRIC(r`VN2g zyXrPoG$-ENnV-3oC(|UAC5y|F7XddfCyUhOf;$ojmqnf~VZa(!P%c%<97teB1}JN` z{_Jm&5lK^vF}Yb+J(xIK*R|$sT&ptRaA;5N!BRrN3}qW5Yp9BTeIm*h2~2QRJlv^Xo*6VK0lfu5Kuz=%*Ev1~DdvW3S}GNxE2~3V zCdwt~hGwrymyZtD&(7|@(i~?I%P4vV*j;ely*jcu5QKeUFFNaKmR;5kUWRNbK}v(n z7718l6QzG$*}3c3_{I>8VRvQF+3SwuQ#G$*4|9uX1%a{Gr_}#at6fzuy0wM+cPu!s zzk^5BsgI*aq4( zVcy(jMihMo!eAj%PkcHlT+l~IV?%L-5Avj;4|}bI7Nx3GUi;MMRvl46bqH~N6UR%G zQbsxF#8P}S1b-lx1S_Utuu`b@%|kuB*^BW&QzDSq&N3CFCKQ320$3jOo9dFkl2&Rt z?L4yd0#E32b5H0z5voHIjEe;o`2EVi8nahwSd|DBLnvfq0%s(VgGdc}5=*cAxCXQ_ zTfMS#*Q?jg_v9T2#$82ot=3;{)5v}Js}0gyfjBg%e^a2O^-mXb zpq=1>0p6ZWpF7X9dEs+PYB;M7;!Xpe|Ab4vf#j2SA=`n{DEn9OF3$Fb(39Y39f#y9 za2?8|oUOFRI)wH3FOh;Z2WCXjc}klG_T-0b;rTMF3=6o^BOQri?qr?G0_g~lz)0l2 zPKhXk6H_LZ$r6pF%*7ScDvL#L;Zt6%(NN5~oTDebl2Xbv(7C0;a|gsB2NN@i6DiJa z-FI}facq1epidp$=oG0wAbez$kn9~`*;QM$HmWhagEvuwihd`)7rQPY<~*Fyt9-XW z%KmcwQA>(f=66TpkZ;w=JE#`U;W}spwn}C1<|WXpKm#46TVro)y^lsly(uaLN<-TZ zm$W&{gbdN-eSbs~XF;S%9tsA5{lnPoyfMPQ0kRqhZ|J?Xx8RBXE9fR&S)b<8>C#NsTT zl8H^E;(?_Evs5CvY8wpiiXli>->tAASDKV>s#0Shl{HZ>NzqLt`Dvj^+tZ4wn?aQw zrSlrnQTHuzY++9lWGC~PB-yAyAPgzb)u}R(<#yrWbL+2u$KC70;A9SUH}OCy zstJ@$j8yXZ9M}ey&3VJvPY+S*>q>E{Jm+Jx?Q0dSMnmnxqo>{8Mq-aN?q8#mcNGJV z_3SLMmM}_fF9XcaV)!U*RUg5<=^5^%>NKb0q&Er%Qn@{nhb3)Y#FCbXRc0vYV(N)%h9 z;gK;KBjyo<+-Hm|VJW^hA6X0kf*5V0u}XAq~9#U?Cr zBenn3E8H}^8kIxTfl~_=&NFLJq48=RGazo>_QL@X4JEN?NOxDhd9ztNb@Smzk3Lth zDJe*`|G>dtJg~)TeFiX;Wwy$6z31k-8|fH*U-}~Lp>+X{f6h) z;Ts^L%#%+(%gr3-$d7D&tr&5v7^LATOchJYUJ(;;W+XlYIfE0!yFYS}XkvJi{Z97n zm2V@e=H7i_ts|>v#Pv$;StpW1NAE1cM}kc-xCgFAIJ!v_{l>xzvo?(~<5o(O7uH3b zm~zQzBpPPPeqOpUh&kDJg!CBXAJv>8opmB2Zb-AXiAi1}MkFO>C=q9*N$8TNnggii zu^N{!`xZQaf~Tb>q zT=o$z{>AuWW$fttV=!R~0_T->tV9P%?ESleZ)0X%WhIPkm#M&WYy zZ0tyxI0zXdD*Lm}1H~LX3Ca&>WcVmJH9d{t+d+r?s~6s6X9;_TfmpWrXYsR@c9=lw zd^@{%efq)$@|=^oG#FO<%V3D1*$66!Ow*?{(|}FfSr#V=MrW+W%wtnLFTxQU@>tqqum?*+NhW&#*FM;-Q`BDYPJt zgY9OAaQi6eU`KEcW$;wk6KO?EncdeQbT4n0z#}v#F?@%CsxV0j&@>&Yc2kIKlHq>g zT}Q$QtWhV=)7j(;FJd;cY5U?C$Le^=1ViMS-dAuXMBtjdWNYW(92MYM*j5Oq>BXtn=E$YE-V`w7S%y=*l z-Ch-{nZ#g|5ug;CD@pc>4~PFtgly6OqEeUoP0$!!tzn0(9^r^WQbx+b^fOx9Aeu9o zkSL`B02x%A30SSXmv$ZuhOs{vUD4mHX$D}KArc&zJl6=9#5yT6k_eWPd(mEMiJ_7% zNn}4bgLn=N=oL>KqAQcTPHnvUvAe!VluLq-b`Wp0uq_9JPr`%)7@!Fu11m&>iX7A- z`0h_)U5o1fcFJb9$VKnQ`ikCbE4-0M8Zk?Ev5DEOt9f5Xwy9`kPXbMi+H_DY+`gy* z5@zQxcoS&N*>;y0EYjkXd=8Z#S^sRgHdzR|(5U9zwdUMaG@6ja%EPe+^uxdB0BO|)ellg9@F<#80X_9;Voh=DF}J2S1>V##L+vL7?MbrvRivpdWR&eJ>qult zl+?)}#znFOXw)WHpCI_|9kE`w* z47%>WW_f8Q8&iwo^`rB!H;~#CpuoA<@&oF~kE$9rtI);S z#qQ9F&Ek}4yCLP7M9;e;I57{Nxcru5!}a6K*Fa%XSf7ea!dRB*u+Cbc!s3F7n0Z2p zkq@zCBZ{rd{7V4#pUc7AS3RXt5UThVZw*}a=!K$9Y@_iJ)iC6vwH?dV1q_VHB73c{ zVRCZdK_`KZ@dWd87`+}?*0-;Wr+pV4n^tdm*g8;F6QQx$Ugu4-i`S>mU*MeM>@o+> zY>VSX7Vt_%9TFiZvqhqmS+A_=0kXX_);Rz2LqjEAe;n~8#SpMgG(bzMuHKMDWvML` z=JLp`IUWAO1@xN!=5_kA_G41l0S%9cO@M4jwL6cuPViV3`8Q|eRO*g!28fdqs1nyA zFq2fwWU2SW*(dA(BKP0`l8Od}8j!nLwv?t4vnCmi1R@HH$&?aN240w)XfpA@eX}J1 zgq3e-y#X&z>e2>#U_uN@)4@Iii4st9S)@cPGcJ*7hIGiqxB~$^4}CS+v5#N+x^KGw z&yFu$uNhN^Mwy?1Rnt;RrF6Tv0Z)Jo96}n{Bwh7#9YCw?-M(5iY`+Y9->%6;_}HON z&Y|Lwtqu}bY|gIuRq9lUT&W2aXtJk;i<7`E`U80b&1DQ;U2TuTlix$vtAO0UDNbXR zlr*xQh#TgTyDancxeLwp&6G8v4Quo^G;I^Ko(h<<#_pEXmrz^8*pmgO$ON&)`Wj*P zpaCURQr0o}6OcX@sd6 z$$@0X9doKOtLeL_B`v`m34YE@C~1mH5ri^pCx$K&OAV4ttm!K$OJ&JSNgNJj`dw>F zsC7n-lKsl3sjwvCBnCOupMXkT@{GikU)p}4;em46ST#yHyvubhn@$Nko0F6I7HQ`w z5t_)Ll$n8?kT~VcHWO*BJZT0hnX@Zd{N#R;tZdF!p1k(Pci#Qvk@1G4`9(mVmMMn- zQZS1Th^e13A!Oo1pphB$6p<)e`SJAzEuw4cEG9}(5$Eb7I?b>>BuBuio}UKyD$O)` zw-9A3kX0lns`YZ170)0b-$Zi}gA>5OTSAK+x%Sk8TC{Dt(sQiZk$Ihzjl476`Rpk) zxxfcgQD=)mmv#O=XPtP~nKgDdOR(0(6n`boYQswyhQNwO)#(qH*>rKFGSe)?)7kH` zDH5Bc>-8Q`4ZF;pL3P>`*sZGtR^Xs8NHy+~*%C1I$n#+m8;5d1s-jNeUP>p7o^EkH zO!*~!I+;r_2WKu?hZzdqtu^URk&P@A&$=lS8k3pIM3-jXO1Zq(qA00SC=LV!0;eKB zffD%ibXK&uOI@tcYd!8K9q;`4N(Xom;U<$LGWJN0AsjR?LU>!Jwv}AV^ z2c2r6)_=2{wAB#l~amSfJUn%LdN!Ip6B%~eR4ULiDxP0*@E3zlyoo~z0w@OaLZdmh@o*RmYV{q4g^CF{$g34dQ16cD^KEDxW2TY zg4?3$;TUM|RbQuY4@T~EHb0RDv@&##+y$m0bVW354YSoSTI#JQ_MFa|Q-u;rq)>5? zD#_WF^6+Fu86n2kWJz6IgN@QJMi4Cdap%B^GTeI4v1J zQcaPA^;>xZX{tpP!jn+!vYF*sW|Hg$sYK`yml7*kGoz5%0Ypdx0H7h}8CuW|gpzZ7 z%A;qlz4q>4zbD`%`&<)@SXi0mxX8zKb8}%mC zAjN*1ji_BA+|R1gXWGBq+GxXguUS`3J5&%M$2RIEP&S6VPS!_Q$8R^%2>|97&}?9M zxH9^paVj?zK$txobf`B`+I3>i#f~d;u^J3UJeh8P0k9 zWBagK&Pr0y_<3^-mTcO>);!Km-+FD$nbV$nNtCXVG|OX_m^;MzJ0(*#oyS}f7>Z+6 zv9FpeQz|ihx2!O83X#1bbgrc0q$KPKDSSzG<0?o)oDKR5+rVLJ{l0o@pnwhbt#yN}OEheJ|NR}ajGSl$G=iYO4 zym4afg2)kZZVuT34`a4>V*3|XAI%0;!W{W3(sA%O(393k(*Yc=?z}fDHXwa(tV{Pu z1sy~;T>EyL$Wv`DVpfDQ3jUU|UG*jqsIjS77ch+f&cB4wgP}Xssu@MVioz2Gzi_Ch ziKb(h7y?D8txue6*0-ddt-dfB8JQDG@ejBNrQYF5Wh3>a%%pAynK=<_)nC)CwE2YD z4SQP3POS0PqPRU=bEGs>b9nOxphl0qhfw;>1(BF*Evv_Me3vq#%>KYx5mB1}Mfrq7 zIE&`njugBDQizUM`u3ALhULN|q}p3~^cs1rPeGHdrmVfc;7cYo>(s@z$n2DwAh-}Q zC&`N<253^S*vPA&+kAA+12t~RoM)k$oJ@3;y~T~x0u;$Qnhu`X=Q_!@kkG|UCDBF7 zMdmN5)sa9sQOYUy^6;()OWZJcR;CVEt(8LHfA@uN`|el&@oSEpQ7uVx&qq&!7<^|R zO`R0&Ns$mtd>M2EShIP!h?%Xs(~S$Qn>e7>T*+X*<4IsKZk4Q|4S`#2+k7djHl{1N zdNEL6a0_Aa#%nIMiZYYuu>6gnRYxToy0HkDWC?l`S)weGu~LFLId4z5KY6lDjg*&X z)2pRrXX3Tmf0kBR~{W;+PMna{MY2+ zx*e9tJ7rR3J(GHf!$X18i7UuY;s8ZT3X=L^a%ejUN%2UfafuON;Nv&mc4=~4XlvF| zOg3{>+*cGAP2$Wg@KiDiq?o?{pa=-eH6%0VW{PSdW?u%(VB|_lM{}=LKVdljG-yoTGCP4ldupoW%8-{Z} zoIZT`oB$JrMrd{%R06jdYAIphQBy!fs14*9=q|E!sLOg|oOpRj){MIy=Zj zQOUq5bG6X{C9D5MQRY4!OHPz%NTkpzn{eKitw%MN!i3q?!V2APaevO=vp7 z?vp;BLX8r6Yh-pJS)&K-kxSEkKFx0A z6r?nGB{~qO=SCPE9ZDb;EpLIR7~BUQIP_HPz86mxx&6|)UYu1N`Ra)F7NlCnDj63xzBnVz|9 zl2GxOl=0u(kqoVh@?9LDvILEbN+sFEOTH)jk(EzVrGond3S`PrNnc@bj8raWE>60! z3MDa_$(){oDelm2`LrS|>P2*%l+0HtP-UtbjOp2)9YrWsB&X5D3m#9=%1are26Jk+ zK>dkHysmTBS&uT&rMUvKPNIWT@pK5`c+$7c#7#wJ%2L8N6+_R;1WbAGXE)#a`I~Q? z^FUrqN{poO{~FP6)ppB`iZfMl&JHdGLF*3~PTr5qw?25TXD;r^V$+cXqnekocM=UY zDLTTK2jE%Bh*|C}tG9c;uzAmKp8EFhf9)S0Us@L-JdDAjej@!DxWbsngZaAnygg~k6YGKx%HMbnhEu(yob{4LU zM56HX)w-OXsZ4;rwhyHOnQqj0Wi!rW-Ir)R>R zzF>i~Sd4(!Gi$T_F- zkunO$C`wSNCv18tWv%RDDeQA`QlylTNlP9u5mB1*_+uMy|HRG5cJkP{L>h_@A~eCKlI?C3kdbrDNfIU0|*8q&ZMsH3L50gprc5u>WdhGxDIx6 z#XA-ntUiii9{WRlf4?Pa)&8E5~92cpk^IkUB0?}b@}S@6|xL>r;(c<{o<*={PWn^A>u?imCO>9sjL$x z%7i>fOlb6DIlyOI6ZwR665nE-#&l|66+UcT^RpI7H>rrw{YZ?#;=QQ^^Y?vBs)xwO zT`#iFkBhF^{bLxVzDr3lP=;jo?QyT%gKjKOOtx@1Qn#mY zeBw;>+t!(e~~x!qFeZ-Tx(M)cXT^mv#;E)^g)FKasbmWxe~3_IzuxfA#L&*Rr3l zxy=LiJf8MC;MR`c&oec^TFMwVy=@SY!gJ>m-J5CYr@cpNc=aTYUf4eI-=6x(AA9B> zJbCl==2a;M*V3AJNXp!-I)7wU3^{CckNs9sNv=2A$JUXSo3QT+3;zI_@(q6=j8?FG z1Q^uU0hpRR{Mfm7{l|a!3omRu$nCwi`N!Z5%szqUqDNoBo=I?>@i)}F9o2TOk8eGn zxE=L#t9I>UJGT$2URnPs3}j57#q6d2rn_Jn?y@g$>|FoX9}ms7+bi~C5%QiO^_9Nt z2{gBlefvD?@C?_MMd0=G&b$>-J^7?E{s{GQWn&Q&@d3XxzQa z-eoa1HTm*C|6t#a19htYgI`esb(>#yo5+Iz;qu4YScCCk85 zJFoqf8{hH4jdwr2^T?Ivn4TUIn3T(n#u%^4ndUSaow*I~I8Z8^LTZzvni=^q;V?uj z>l2tbJmjuEwaeolE@9;ewl^@Jba$S-_L{%_Cx35qw)*}@e|vOLc-rHgH^}F}TNu0+ z=`KI#&WcJem)NxEl)k$!uV&}7;O#qrO&cG3cIOK(**7h2+qX3SzkJIb*Pafrl+nBP z#Jl4+@aiqWrmDy4O3OnyRL7{e3=~Ad{x41*`l)k&{f{=@y`B%vrD2%oM7$_rG{Vwa zi1w@*jhk#{--SqgpZIPOs9uB$K-Q&Ei$JP7dRKeEc(Q{uzwThailcVY7yrrX_vx97`0^1J`*rS0Q??JfWE@Oblfn|k{e zrkH;byo2uHmBrV)N!{$eD?1#Iz-n;Z;)9m8<%@2RkKBm!-^8C&* zq=Q^&_g3)Ah|s?5b?2`PYkPPT>q}KuwqEMA>uoUO%>3Su?|jX#Z+!EwUH{h2T)0>O zvlu&F&?gNsTETeP%{TwjXwVsvVK?ZyRvv;(&K(QxKq`2AEej>^zK7Df4enNd@5{s_mm1tP!PP*WDj~UZ zd>sMJz%$c_etqLFerWq0AKQBCjrn0XQ6jgt;*TB-Fj~fN329ITXHjq|W`mp3Rl+fm z99*Puqya{&7>l zl@4I^-5x64f(6&RD^IcYF&zHBo`X9}kMHH=`O90MJ#M2&%`<1@j zx`lO1MCpzjbh{jXWQyZEXz4r3jCwE9B>ayz-v15H{nLMV{>MIf^G#cMS&uhDr9OL5 zb8NJV<)aubfdETV=PoLd>@}(k#FTefamA5{8^8=q*q>Izb z!B)PU%PUBfZedXdgc0M&4A++=onMa~C;4J$Jb0^hVW-PR;N8z}7o|Y5luDwf*QELk*)RsYzhb>6ROmh8T`9T$1>>XjPea zWi-~P&bCn*bip60ePZBymE@#$S*4)Y=H4O|d_NNStu^Ao7;DF{c`e9Ka_MO^`kx;E zPwt;z`oYJ3Z@Aj*ef@(r^L!n%FJSNp(p{jzt)R~x6r1*sKD%$vQ|vsA)pz$CTrX{G zny+uKf9UDLlJ5QM-@fv7k6iwR-;^AR2VM^FD!%ND1Ybt|=+>4YsL;{6Fj8@`;@{ZRO>X?v5mPV4xrwlKCkOFRz= zbfT0+tvSJ#C|=J4#Y+efm6XcjPoA>|EPyDqv@0|SF zw>?eA+UMQM(texUm_Lib1HrxED^OHA$ac)J{n=Z=rs<1Uwmy3Xz@c|O@~WTwp3M(G zz4OI$dtT+M%a><4I>pKiTa}}21|FZh`Dd@a|D)S)xt7ZuTqezvTap7aF(GME>4ecT zM$4dqloGb-e+t$dg~$>Pc+oC9(d9}3jC#r;brA|}UrpJ#*q>lODtHeN?SJefj8-t* z#&oND)+aX}`{gs=|CY(K!2epoGAJjRe{+7W}{3*1I4%Gpm;)%tp$p5e7pHS7VdYcJAjtc;d&8Jhh1};1OVD zf0x|nJqm(vVfs0hpHh2o_i}sNZU;5r7PF!K6DVdhS1~(-@oV}|(WT-|Tc0~K`QrKU zLw6tlq4x~$TD$REpKjK-c0d2C%fjUqqk<1^%}4mq=G*?p`M>e|TkkAG6IpQ@NsC*O zAZIXWFr?86jSo{AB4lbW6XXDDI@3G-U*`;p-T=EXqx#4$;cB@TL^1`guU3!46%C0_ z2Ho^V2VWwa8;-HG7QWZ>NqzGAW52lZBlA4KbHLNU#xB>{A8G2PGQ5NNb7;#y-k!lU$Yb@K6&`nKYjT}o|wKaw5?1mf2CA10HQ$}teEXjLa9ekN@-aAKZFy83fz_J`bGRN1NFXjcOk- zN4|vF)8NSgP^r7!wjFf)LK?+=fK?Nya?I=ua+h0Hi(}K~r#$B&7ytku07*naR9~E3 zzIpfi-?Q@Ag8{hu_VlnUHr zsdj@jOiPE;U`c9R2pDDJoU*OUzloW0)*hY_6YS=|S>l!)SVpc_4)jqwd9~8Jmpk9v zyEp#bGH+^M2N*45FhO2jW(r8U9BSrHq8g!+4oYp&Hkj7`AVo9jFL5m!jj=k>B`1c~cvwHZgk^ zO>n%5$M>FdD{N?2QK@Hpmp64jPM$||ZQ<_)9GjZ;otsabKJj0D=jh(U0466dPG7jv z{zd)Ezbp1#S?(+qdPRs;!|9LDf8FC3A0w`zCyml@l}5{A#MNMA2A%Fggf>4uhb|hM zZ?8cY`@(+2@6fB;h}PA`yTVhCP1l8$#bo55e+bApUInF^O2`fT))&6ziOo0T-8xm5 zfoFlIfa{B{xp>+Au(B&}V*Whx1+T{F=3C$KyKUb$`t*xU9rhG$_SVNd!R%ZcQtL&q zY3r$T!@Cb1|M%Y^A3ybcbA8ba-GRX9P9xVHCrSsq;BC{WmjSJgjc5sE4oJQg?e9`NSOtqeV+dJA&FD?`8SA-L5&L=Ji8D z?g9%;yc(+dr{r5;WUV>$gf0^GcnNg2_n30re?Sj2>VnIHuD&-#>OC@i@5(VS1zzdP zZ$9~LFJ5~94+3utt)r;p5uWx>qjo=r0d6oqhxzm3ThKc3KRfV?#w99~)dniG@~fZ5sWJ0~x4ujScZ_QN2m(55|K!GV`O;oy}p(*mDjIvBmW zZ8#&sQksr1S3R3j8j*N5b)@cGY2khAoH$d?-F4!u0&`tExHH;V@=#%?aECSurlst%r9Yn z8a(aL!`8XA9qPM!w@0!Wj&5yiQOn+utaVpgPXsrJo+Sa8UE5lE_^##GOES923zv7k zbfKU9?Y3nX)tq*Rq=PMYoQdp?Wq07~YN)z{_pg^aG}<~cz9}3B4RRBVxLon0z>ETo zs%$;f>lD|kHfKX(ivb08)1pyTGpz|xw?XelmlkoQy2os@uIf&orgC`&WQ@MHsAW~cqa}Ny8m5XLp_ktdOOKz`6OJN~$EwUYuXJkJA@loqZf441UO73yT9lK=6){SW6k;RNt#ea#Gf2{;AxRGeDy)w>_i zTAIt4K93xx2D=2xudv|ii_Ew7G4^OBqIUO-Znv`Bwpp~t>3c%k9j9^!Tvi8@L&L4|Oj8=AH0+4qnc9jH zD!SyrRHjbUhyz+Oc|fro0H{Ws7KiFZsD(rc3-<25rOT({SMP@t?aHkdA>DWtMF{WE zhYz28$JrbAA^~p(?yFx|1H1^F?7-83IMgn?@^#FfN3*#QeH_QTyB46*?&PSt824?d zN1F2At-Y{`645}N3AUzNpE<32@2GdrEiQf8d0uWX+Vg;e9)HlUJK%RM4W=t;sn@ z+4KEI(*aOvk$-T}RIDOPovxtuV|Q6!l%dy;=@hOz zXxr>*2K8?lj4@iqd{Q4tU~Es9K7Hm*SGSJdy>H>LAy_ZfU_T zzKPk37(EPH+3mDFZMXJBTX#$6V|6oJ|2G`E@n^WdzVK`VS3iYAuf^KK?fgyKPoJAz zx!HP$Wq?5Y$9IqE-?i(;TV^~||GQVv%q=jTgL0*Vp3b}OJ;*Z6!^wOk?%X%$zm-;a7+sGv?ne@GzgdSUQROhJ)p335vD#XOSS?uW$Dr#WO8PLn79VcIrmHr# zm>NJM@x>8t>fihEQ*U|V%%jXe0v-e&=<5U*fG+?WcbYeqrMZFW3k%rOenh2Smb4dd zs$gh=HCO&7C)?lt!oR}j{sFdL?8z;+@v)Qpa2}x84C3|$>+L%ar`<;UO3!^#y>h_7 z-Iv=iydz8Bw`@#TuTKt@rY7MgQTDEUFN-w3Xr8X}((H4~RG2fg;?_s=(zJgA676l! z^|@cRaVK1Vcbl$-{&&Ej>qEogGSWzQWxqY()RhxYoOyJf2LP}Fya8D2d#6``lfcdH zckKg@79C*Q^EzfVJn;gvuE%^s`(uP5?wD`!t@WZ3;zvf_tfmyNd7&m9@jCm&js=HtYvo{+`oNuiA$XbRQGFW+fF4 zkJfD8+u>UP5D7SgB|axu~n zX;}C6az8m|`rtF~+Spk|X>|7kCxB!L`NH9sHSBJ8Ji@LAEJCZif$57fbJv4P9Z{)` z><7}AP(3AtM(j8h4zxs0TW9f+{{kDQG2O)E0?^cXFDJ9jk3TO&)&CPOAG1Rjse$4x z)cRC!nfe-@>aW-vx(=lB>;V>aoua-Jjf+1nzJWdO@D{f0asY!to3rKFd_c--l>Y3o z5Emj8vQ_$vw?V7OLYkqn=t{B10TGyqi2FZ6(ri|>$m<8$s@7R$>a5r6w3==0X_5TY z-F47q7v@s-r4dl0Fy!6*-jnY=w|>v@wG9+?_pQKL#UT4>tnf4kz7`m^TiLlBlmy$t_$zgu@4Fa3qJ-`z5+PqteM0I8_+T}3<8Le zK#3`3B+!5LLn#s2?F>zvI zsn~=lgXaP;Hp;Nq31{DBnB)0)E$?s4vddgF^0>7s^b~7D1t5vV4jiP|AAfut)a`HG z!UwmvaNmU(7_DOKYDKJc$vHj#++&YDa7sR}0*?Zp*XcRGbAW;Cz~_KB@0!y0pw!#8 zH#b1%FggJqw)Y(XbQT=2CrB;Y(%e8Z!O367`Hz6LRm`q}=ha=VfAqO7MtB_`j#F?8 z9v`wfz0!R z$635ygffsa^f8dC4`?-X-%>+W&jeHNa=>x1+mi<)&;WT>A125B;)j0d$G`D+he>1Z z-wa#;F6njH9~2n420RPA9#~!UjeFkG;_dUxU|{@UsMoUBjN2`6r7nnfG2OPzuj9f; z@zgJ2qN(OG(A)rWg-siepQ_H4rA4D1q+gO^MlHw6jv2O^(oKvQR88dJ>ul?%HcR#-M`Zv7l><>Qr zC*Sa@r+@BK@BfptZ~yJ*-}60>{Mlc6-AC8Pm5bhQJogvA@qsVAYVCTthb!Ahp1krf z%svyt&cKL(++sS`kxfS_h;t=Cj@o`NZiroWF7RtM9s`M*@!l9|7iicv2cwe)Uyg z1U#~rW5KNuD8~FUkT80nqc!gXhV~>=`@*UE&elJJlYfM3UkU>fFuj628~pT7|FoRa z{4{M4ZaM#EFo=i6HB`LWHMw zPW$V*jFECtFuQ@|VT- zj!0jqzB}%@jvR^VNJE+^(D<8=z)^ckQMIoJd3N!w+ik4cl{f7I0Tp*km~NozirSx< z-u1{cZ+kGzmydyMV7+cy*8CVKb?}b$-S#cpbhhLjP(oUB6u*6PbPFI=8o-Uyc&*p8=0qS92v8jR~MqCLE8u21+Y@!Y}p%0s^jqeH; zw*W>5g*NS2O-`FzOD~;2e(~awo$V#g(g71;kOY-T07xF4U{exIFTnKp*6aS^h3|iA z=S0H^K<2bPUw-Q9!%tj(U77Wo=Fz#$yMOKEH+}rVn;$xS>8_QHacYi?w~j1r{nSVQ zqvtp7d(+)#{-N#N5Ee~T#e*0AbwX11yiV+eX@u>Pf0C;s z0f1k)eE)y?7k|r%a&&)VYEBYY)7)07TvajX_J*(RUabrW6eJ3g9kBbv)t2vEIBtDqh?WeYt=GJk+W7&^c z^f6wo@8f=!&MEVG+M0~6t*_m^`#<-|AO6gxH>^)q zN+)OKIYj2b%|R6+My^e<93>>~ns}Ao1a%=-W!pbid%^x1q*+jq$m79=iwr_WQN=1v z^FTHo`+2ux)9v2pd-|;|X@Gh5!@>byy7jV1n(Uu%YPZ0+e>HvKkD8*R+r0$y! zwp9u;%EV|%8Cj)=8H>J1FDt{7iF)*v8-jM#1x^Coiz#u1Cup@P0wCH#R4<~L0`UV881hxz}n-g@M^w7&52YX`1u%xSG^qExGsYGs^a4%=0TQ-(dE zCQt*_`Rw_7U)x=k0AcQ3fAY|_TahC3Iq}5WssH`kpZKkBf1*^?2d;Xgt0ttaIk>Um zuE|T*D^nh-1Y~%t@yMMM1X@X>O^H)}C2(yfEHA*Vcb-I`eI18*dG~=m| z)Re0ZdJCghtQ;EAB>_YE(uYx zL*o$&Vwl-`)IJDU&d$r(x6C}9o8j{oO!fr`G0o*|wjroZ2!i<*A+^;Ngo&^=P^OIu zLC*_nZiE!4fhZV_Ao23>X5lLiG-JAkRQ83Ml`F={j32atis|7OZy1cabKQ~8R|2Pi zb4e{6eAF>R;5DFcebl`vGMx+62FB;mIUXmSD#2wyXIg^%A{YxW4BxN-jMoe{jb7iV zt_;k?udkG70m3-XnGX0TV5`=Srkc^Beo7G|G)|UB9H!6Y)^)>4SOUoiRn z`Su_iXRZggfRT@IoK%Q2zOOQX?P2fo_R?H8*uDrSfEByY*WpnlYA~<~yartJW+@>6j*GKvE8BxEDWMi{b`?(NZOM@*<^q@${DdYLk8EH4 z(B>&?`s4J)^_O90MTCONqUbRZfx2bC(iQ7572Sdg)tRrVaiu4NN$=@PrvN}zWzp4K zX|5Phs_-gs#3D7*#l(E z8qf!h&L9Eo^%74oxd7@x^^?SV;!V>~DQm1C;aEPJlj%n1Hzylzd-521LZT#=2ISoJ zNW~Myku4^g$#YF@T~oPI_H%{pkkgBMUQl)p{;>9 zl6gA$*V|}1>q>9HZH>EydnXSchGt3QZ-FnK=_baUat>C25qpZn0n9}pW#$a+`!W~Z zi0P?}Ym#YK$vS0iqaTz_Ao?u@v4o<-lO5}<1`t4Y;mXQmFJJ%eGf%`eSjT`R;Ugtg z61k^&4Jd(w&EtPI%p&FK0VWsGIRPpfQ0a}~R0~M46Z>rwsg)*^P0O2J-?kquAIoUg z?#c^#=_#?B$RpzIs`u9$XX@@wzLS|1A_NqwD5!*$UC5)q@1r1qR9SRYQBJB|%@tQ8 zP+1h+Lhub|3Sc>rf=3+7TCCMLtaKFG6L=Mpg%YdQ3Qs+qF@N0hmxx~14ON&Rh}Ig@ zD4Q!~Pf-I2l4Q`ze_B71wo~ke6N=*fMLP{%bYLaB2-miUy_eRGOsb+&hW_OUxDI$M zWJwOBWT$1|JkYa7Pj8k?SBJ?JP#@*tX&AIunJ!s2lqT@{3=35RR9lWWZB?7~!iZR! z^JLt&z2Gx3WY4GM1xLYtvH&AmR=p&bQYeW+BcEzEjPh#*>mG@h&#w%If-x~jL5OmY zvYRn(GQh+_AtiB&3E0uS@9iEU(k7MAGZUDoC{+glLlcyzB5(jENeC&ZZn-d?>}nqA zYPY1q^bJ2WD3gr{tYNL0AYe;;LVFJ~OY6kDwIZVY{_I|yT`uh7#hJN<_n9i!vKWFP z7Pz?eFz(~ZOK^%!_;%sxSTM*_&`c?89L+23VgSmtu~2FZ?n=(SG%SHZ*c{C7PC79* z)wWJ^z;1{~k>aVY_y{-;bb(Go?e|Zh7~|JbEP=W~WRPsXbmZ=#R zHWs!9ePh54_6jCuFSU8hiu6s^s-Q+CW+B}1mhMV{*kXC@LqwHDhZx2}()^8pKXt8( zvglWuCe?^pE7k#TagKMbB04;-KcRDaLYAGm|HQgUyA;^EKB>8$&Fdb;`bDvdbTJ`k z2LNe?Y51bkb-_(l+VK-EnYjg<25jLCur3$`pGp{d*l`HcTbcys+*MH^g(uKj+}{Ej zW-%ec%}IQi4a>@pK!w1RPF%uQgSFwoCPE-F*?g)1Wel43bTwMf+Gh z46|Rl`7DZ{*zl&w=5V~0@!BagoH0=nAHy|xXCW>Fi8N7Ylka>v5xTX6y(Y-Xcg)xx zcCT#Ak?E|VUP=5^K#s&bofP!Mx}REWzKxF6vH0#<*P^7NASIXb2QnQ4wU+@yvzS=9 z{$8jKI|E2dJPh@TEd#uV6L?`=uppUT%E5Ld3Nu1Jiksl@4+n`kkuKafE0+?8<4w=E z8Y%A!!$7XD4j`I}K}H|qCX5zzN~M^voS02GQKYUGxgJO^5fi}ApFe(KW99g2;=sQE zR)8)rvdzmi&U7rQeHHY9<>_^w>5`1+Atq}mkD&I~vj?Iy14sqs2}a4bWz^4D8!qcX z2|#a;CTlykn`AaDVE^9D*l90IflHdfq%R=QK)Dau@WLA6+qu$=30fg+JSi@3&R3NZ z(8I!PQWB`ZTuw1Np)U((_3=9TV747t%1vCVj=yBNgTNHy&%}EdAni>)h)UH3RIL1# zu;OS*#juv8X_@v&LBOk0I=?Bw`I1k%F?$Qfx0F0MKB(c>d_xW)@L^WndY&lvFC!J=HAZA}}wuB58k= zMxvAplXcJ>ils2+9>updoC+o7=+W3(4C-AY(~U1~i);0fQ#?_!ipdUJ@F^t`iO`Kj zG72M`%nstZG(}})w^UM_D&JYn?$)5Uz0)NS5eqGN266IwakfrT#8ol7hjZga^12sx zRz;=iNGDkqxdc2Vc8`(!BQGfng8+z(4&gwSemJyn5pvGMUUK6Idj*rb>T4pkcCofw z?vj(yg@?8aAz%si6o6Dfg&1*LaI9N$y@qDi9>NyL(Z7gqKtRD#5$*sNd~tL6^7dlr z2hD~)umr3p8?m_NDks_*7y+*XCub#p(=YkRF(#KmwG;Ft>E4t|nb(y`uK_J+Z&9x( ztgOCiZ5v{sW!K!LOhK_`+O^Ku_R=ah>ty2Xg?h$7FCa=zFey;La-wzN1n6Yv^96|0 zSY9G9k1Msdv0x_G$S$)`#-o52=tvMKXTB5>D2rkir;J#)HR^*kQP^350tK;~tEeBT zO`VY0Br9OBemY)UWwVOZPj1H52&OZQAvZ;*&gj9MTE&wkeFVVyPBcxKVMWe=k8&wc|3|4?+n4ZlR1$m~Cwh&&8z4(9S3sS$7h zI43nP;Xo@jwsrgtun8;$0Nq;o+2R?fwoq&VE3bbQYVWzDbI2 zHo3zNN9;u_4JdyU8fNZu774QA`Eqi4>u&I5tpETZ07*naRJLq;Ou)dEt+{HVYJVny zH2`O=z}YS3^~x!MSpv2kdqTnPgE%4s5ET@VCQ!XOicmf?Gb!gW&Vfx*{ z@MTrwNiJ8S5fTOF`|l>)S4!67^-uwCa#?KRfH#?8&e=$LL#If%GdJ?IFs4o+56@64 zM-G#Z-x3;7Eb3#flJYtW9QEEhTwS&Xb6JC909Xa)fl(Nl#U0lvF9Y2M7j$nBs>YYl zodddYiZ;-h0BJy$zsj4krwlFZn@XTt3&E3;nJ4SJdUq_ovYSQ;ARC@(_PO@o^mWw(Z0lS-{`%?W;FeK3JN`cPoIq`aP68aD}s6<8ZE5e}+B zq6>%B1+sWs1k>#;u#?^1(!+|ikc4!oThkYvD!fC(C1a%Ikt;IJCTm~iMM7`-7-+J+ zL>zvlyza@e@j!@kYo%i0&I6fOhl>v=#y%S%iIV(=3^&^p=RTKVlU%l65O8%w&S$=8+y5`(fhDuugkU@mkn zo_~ay<6Y!r9mO)#{2N21X*k7e%ryy+%3ljPo51suVAUp_CySt z?C+UElB^)5kCo*^GW)FR@aSry%nI?*bA$SHqG@NRTL{n*xRWm2O}z^U!7UQ~YG&fNgy-ji$WNWJojp2x88q1?(Uf%+ZUs*ECU-No|wE$Tik)>XBvSg|bZeJ(yMIzO> zl<88WlNML`)pHqzx2H?ibB~{Q3mp0Sv>_hJe;j$)D?+tMgAvA9yMbsYJC7m&RasEEjCTc*vrwbQG;GD*4=IvbEuo?Af2UQNy%6DVU!&UQ5&K)hNG=G17Q zJ06*s$!vq7Wlw^!3vZWEz5f7sSWsaHr{LI*Epp1knk`6kN+nG~#ELrq2?Eu))P<9^ zIk$G0e&?2~*8vN|&Vz#kbi3tHvg6 zA4w6q^)r_xYaX84tXpaC>ea=2PCKF`q&8m~1x9$mvIi-S#A>FHwdB>|e*9~oQL_ki zX@S#}=$dJ;+c8ig=uZSpekm_Fj<>Mogg8R&7SobNyWaOecjvz4@BP{3o9c(E;a53< z#=k@YYci&oFc)iGxOsopG}821yP(CcO^K%Dg`nqGy1^Ot3#FBvG}A&Tvkp$AipLo- z2=Hj-O@1<^nK$`mx{9X z9$&1DrBgE4mtiQ17we^84AlB2H*!(jpnPc3L*=BoJ*mUxXG`HJ$u%AqRiy&!B(m`2 zC*Z8C$Hu*k@a2S1=(AkKa3z}!05DgK?_56nh08a3=g0MKQEaG-&;$`%%@k^;z}hYm z79)h|YvRnIh8GF_9AB(&3QWeW>64(XkrM)M{qLqd9FYn~A8{gePmo~bX5s>J9If?@ z)ZyMUtJssrGC-LrrxbS)8R0KV+J+zL`j?=W5@lpMbFjX(z`7Ni3SiEPb!nrGx{K_T z8^9s!YrL`MGe`Q~G(@$HVkKcIF<6H&EjSh4kAbn6cbj+Yzbskn@ueLAq}0)$zI*iI znr{V>tl&wFvl|Ge9HdhpCQ7C@D5|MjKbn=JbFgJIr{AoNLrHClQ&)JgV>B*xr2=d50MgNbn~ADIj>K zx4m=&L5w(NjxS)e?zK^{+9;TP6KZUmQNBdS)CA>`ngB_=qVJY0SaCv~uq1Hm@L0{{ z2SEge;5h{o#XTrY;@_QXOU)qzbz#S|<1zccK^LvDX>JN{stuj2DfD#Vz$F_2JHSH2 z)uvq2BQ>fms0C|;-T*pNQK^YcO&D^Qf_c~8x+QBKUmgH7f6I}D+m7!(d!cTdc7*e$ zzm}3m>TvQZDUV#H_=L=Pqsj2KH^2}Au~Bv!(NjaAMWPQ9xib0&1lCklMnPjI*PLkP zr`wEP+AXdRlmFqS13ZoL4MP+nPaRIl zRwbc|bNwwR*@exZJ;Vu8ZWXSSsUZ_AYw0j@IOGqS=*_T@ zWlzM4foccEF4RKM_S{h(baF71JssNiRDVF@{)M3yN@x;DSBFIP7^>>ljxQoKbjIvQ!vRoRTYg#h2o53Z>!R_$7BGD zJWkb^Wk{1#c$?Q#Yr)<8q)EUXntc4kV-H-u_LaeEji$^Ma|vjIV#``#71E;0zWYi4 z0CouRegNEhe~|TcYS%&5zBCQ5A#(8KFZtER^3=Nu5U0*RDv=~|WJeU|lfY4vF?$frCrh$ercunA8Ja2A8>Q?KroU^`B#+TJ|TCGPordrlWDCclfp43#eU-^ zzbg;wvv8Q0&257FRUQkqTIs&uphuh=C?apM6 zS?t2%w@#6Ntw)@CBNN1z1`6fA1 z=t9@1g~UK%92mHlCe=paq^qz(;^Z{8y%a=FEGv;pCHwB}+7$Oto=G~|?J^3VDy~++ zniZ*L5{?RBWGgv923gWJx3`dSMi&pc^%$TnMhm^YShgaT9W{jxumEi2ntD z3=>I{GVwl5r=+W^cKW~ReQ>R}D};_c+*&XsqMJK=@(N#^|#x5Hf#a9F9p^xP-U9^*3 zM2<|1+?me4qFwP`4+3u6(Q>&QtqrJ9i+7ypo>&5aLb>S;Yf+iC1-Dx8VD*C;z?}yo zXNVwx%G<M0$sk}c{;4N=Lph?f}17Nh$ z(@a^DZ@Z8tdn&Z_B3CVU`jnnc!A07Z0NCn!O%p5`bJmz9r>QtuE-9@p{bUOZIwGcE zC>@(^G{pnvOreP}<@o}0MXYNn*p=XFTojd>icR&dzomeftd1$Ny^xjMu|CC`BKYv8k>qStkUHg95xdhtzm&r+Z{+{^lc8DAejGNt(m~doFDc7*h9Z z?@B`Z0@sm|0qG`v(+n!7hz+$Vm~0^9gsWu9+ZypOD)cR)*V$IQ^BkUMZ1ZzH$u zVy%N5yw%Q;ar8t3z$qIUD3_(|+BCUYC5Ur5*G7A35Ud;8&TwD(JEHDAYRXvL;8os+N zuP$t<>}sv#9%d&M3R^EHF)1+BVGN9u?O5KROb3l>0JQ*8B0)1MrAQPVPZ&;xbyx?b z^^TR3jp5>3ju#8YiBvJ)wSCJ?!boEzUnR4W-8pm(XZJ$)n9dL{Wm1s`vt}5A{7_+4 z(y!G7TVVp$7HvrQLa_wOc^B|@m97?&69q;C5|SdK+@+-v7o8(0a zQUq^AE?~%>vT&9XxNt&PS`?p5;fXeo2~Axyn=n!qh!W~6TGta1_DaAYj;?H|mNhdn zlwo^MbxbXxPBuyk$v@G|@eJrOcns>rs1%=Od6OiYjM`YV=9gW@qTo%WP#!F+!Fc6e zr(7{=zAKh*I{NO7g{9Ad)Jij5w&J9a*w``vBLqtf0+14>%aXF1mM%2wSu25Ht%o%z zx9%nQ`Nv`BT$J(<$W2|22_R<8Xw1>z+G;Nu4`DWzj7lnu^= zG6EM0Gd9ih5KsXVph(8-*`GR%9T;S-^?BL`xdU4F+Q7XQ9{0ePRWd(AkPsK>xfAhB&I^%!y@CRSGa-5wX zf;xkf^*~ljW7g&dA|5;*SPLd8sl^&4=^hh-Hz$uXetEDYwcb6RP%2H~P3%171&j3} zc7X7bpU#!~gV0fdlx~8;gtj1US9=OcgN<9IyP`ELZ;~^P^}(@~b>%5l>mBE&QJxgD zA~8Z+Y-+#JjHu*^;Sj|Vg_l;y$s-bwHJrI_!Ee(ffY zYl}*!LP`ZOILSbe9gS-GmxXlEHYgbU(0m0zX8RuX{7`aZ|5yh zDU@`x#wJpUl~G6uhQ-uX)rZeKvO2f@dk=l+k=L&`3MN~5hxVQ?27;b>4rc!B*(l8aOs$G;-K;&Jb3@Wwr zCISN;#xkQ2MRkvYigNkxlg{1}K(W}PqTp&0(qrfOMC!l2*$dlIB3id@l?3D}C>xA0 zG>(>or!IiQjOlSUhF!~%l8bu+w%8;@IVZ$L!cZ*AxxZl~l1PtVLJt)!?@>0rrn1oQ zy!sgiZh7^U-~Z10G}~|EX74OWcwySQShAZ3hW>d0x96sjc*8XE6tN=Q1CwyrJPwT7coSn?feG`BC99#U z%jq5gb=2xRua@_vQq^J|dokHr2D!q;s=A<)NooO>S4|1c@_*dFqf6NrWsQ4eGHWFh zH>aEp6lsW+aa>r^vc4G@~ci;@fr4f^~8h4gZ8rUQ-u&A-DZ9Gt8lPb%_x5=#(K!qxn`g&{E zDqUm6fYXJ08pY(+)49RaYtZYfzM9@T*>+Po^2CNtLIv(e4PmDqzOt#hC$=a_3?^gk zT^n9n?*bu?2<}4yswn!)!Kt^plmcL~ghdGex2orw)?B@G>3{mrfB5V-Km6tA?pzxz zYc0(^Aw0hWtnJHjG7o{|)PsK=#8jIbkpC}Gcn33oZjQs6hQo`I&X_?`CF@79rguUY z?hL!Fh$_s=&1Z6M2Pm)w7gxVujrs=S}tcl`<9O_QIF|Y!N1aVjQecaKOU4CqSLD zv)m8vs;F4(kA(QA1UZq2yCM!*w z*Urru58Fad!9j77nYE~&AS5^mSQL^-33FK^0|3BMZ|7Iu^C$OQ`^+Cc_U>=IeAB4v zco{0RhqRQ|y?JBzWR=xoWuKF^ucovyl~r}KYjO;=dS^j04Bd=A5M`iO))+H$(>R_ zW>P!MT2JLairmFFhAOzm8M(pCfKe@lI&PFWw~Te#&Fb)2$He*MNs|&z`0}BJCJCHB6DY3hO(Y2tt+-L#NbkQzMNh)G8T8Y4<_TB9x7UPCrWnpvrs|6iKWYb z>n#tw`}C84`Q5ud_nr4$++J~$_JXB4b-1!LB)3O6#O%E{Tk=CfJPF~v1?CJa#oh<@ z1y2Vf0UpsY5P?*GPZBLNY0#(%j&MF{Zc6+G6#gT2#(Q3Qe zS*6cSVG9=mT|lM?ux@rerU<(TN23&p?6vbJ30~~AQ4kO&sj+<(ig4A+rT^v~U%L0q zWB=kS_kZoBTVon1nQ44U2xbT_$vIaJ@(ODZ*oAy@w31&`;2IbQ<~J7mgI;G0V0Y3P zjOMNk7ALy2Gkx}{>{pHDJ`1^sOAgr(#f>SVNZdlfgM|ACf@KG-nVB_LBfFYB>8`-) z;?8_;giPLsP|lVtf}~W(ikuN9!UVI#%NVYpE3lS(0!iZe&hBD=ccC{pvATBCv6s#qd-dAG zXHTwPJhZq`mK9uYQ2;Q}#f7caS1%uV>GJWXUpxKy+3U}59@rc#ZtO0MtB!XE=eVoa zl9M1se&n!efCQ5y{0h4DriKs{1A4}qt6egyd?mqW07SezztbznGr^4uwTaU#LR<@J zs)L?phuIEBX`~)OS!(B@XDVZ=SF0!t3D=KNhSPZj^o}-QQ>n@WbK$V+`W75(a<>j) z$=Tb4?LK8Uo{r0b)1^waOHuabSJouN1qG3K4EBFB!dg>|O&`tcc@iY5C2cQ}$c8d+ zFfP?s1LW-$lljhYd$)ITdF|ZBfe9CWW>eb33Q4V1-xTS^>+eZcwH~Mkm8y;|U%B?s z>!%ODe&*OKXO6yd-I24a3!6&XltwR{0Ya&&6Dw;cR@UBe-BTb`Oy@QZKKlxntsmB`Lh5AXJ7LY_%t%Ab5tDi8rL=YIBP30LbBA>;G*=@t$Vrq016ZCP zoIZY`DE3$p5`RTg&4>0&smiG(*DR5G1nT(*VPsC>$c1v(l6p{CK}}Fi``W!M1)ndH_V&W1;{M4Exo!Ql zhOP*)7QFuF=<51yr_VMrpr#7!Z-!1{nb1$fGDOo&XN=KfIH;YvekF?BRya^$xr*Kr zibc#{Qy*qzy6)jcDiu#yZ1y9S*(7Y5*xFFrhU}LCdrhoR!3srHiY9P9K2k7I^p(P? zwn%r93~MQkiXxF5%NPpZsmf+asE}hrKCwtcR=pLNYYI^=ZIPnpouYc%)z95_;-w$I z^Q-^yJMaF_kKQww^t^YcXnlzn)x7?X#9jPim2j$VWp4A{o4@n@w>)_JRWHnShjZOw zSy)9|4s;^Alz;6ay&^ukeEI0|<#%2G_)mV{Uwq@a+yC{KfAl*q-^kMPyTOH1eT_nO zW!i}dF@j|h%^ET{h_FysLvT(2V+OE1H@N!9<(9JZA!Rx(;F3yt^0Y}dY^g&#PO%18 zfuP9A0YZdwc9>g)tH;(8tSGiz!rW6goMlS^B0PEQ!@`I0fcvz`W=uK{On z=RE4mf8d8gDHeJr<7+4u7z37yb?+cIl@^kw zculWGL}_E0nd1}MD4)-nL`VfDo3{V}AOJ~3K~%KLsON~#FUHp#xbSNq_@keH_h0<} zgYW<1Q*XPly*jE&%}UsGg@c1QbuYoKr7Ni_3cWP9bId?Z*N8kE4_ulf*?|<#XpZ)TWt!=Hk%}B`Wq3o9s6e!{039p4X06X4;V42sl`sgEVkXRW~0eZ`rgU#}KiENXqUI%;AUJ1OQ{XKlsJ> zeBr0w{*~{Xz5c7u-}c?}C)RftH;40E!~R&8h}PczZe8Kl#FZZy4~SEd9wI%ch_Gn|=jxb)mca^Y?xJgLi!MxBv8~zy9nU7dKat70jCa zH-)lZ^bOm-^%T6wFMlI<)rM-k8-S>|+9@U;O-NQUp-COS57Jb> zZPr!`&@R)3Lhevup~6BHCjihphW?5AFvpvg`{n9fh!!LjHc^{23x-HQl~sWIHKl?> z!8+yoaY$nPH#S>U=0fwgiXlmuOr$Bv?dvP;!mU%MXatkU z;g=}q@HpXrAT0HF-+TQN?>+Ox*0BHL<)g1}96YzVdTD!UV>rJ(>W`|C|`i>lul zE%bL+=606nw~sDgIl6r1*vjSOE0=>ui*A&a+FFpSNytQC4@xZOP_i|nH^35pj%GvyX%?uQu9H! zko2G>akkF0sGRnIQw%);iB*3ydP*rZmKg<$k75g4z6)g5*EI4b(@*@4u-5ruz3YZ^ z-V`r>as+@44wSq#SbXivY&SQR=oOP6c+1ysI`Pu~`IjI6{I}m*=`wgLB5(X+NE8%) zNzNQLecHGUMa@aB0X9k<*F{bKyuXy7 zV@Bwc0V7-Yw4fP7z$xq`u~P}jSv;2{np_8Yy2KuNc-$boKGd-7Z^>H?8!_!wXh4g9E2%&oZkEm*xe4cbMrdWu#jIfV|CdupC!@ zPb2tcI$+dMBjOglL_yGec}7;US+ZVG;stR+{*t@;!eXzhRp7C}{@AI*qvfsP!vz8z zhiIFq6SDLqx|$_2X@YElXgyA=(G=1IsYuvRA7b>1@!$F2e_o#3{;fay)cRln+O~~A zokQ`n1A)d|-fB;{Aj`{yV4T%@XuQfK_aorr_dP`Wx_i@|^O336DU}LaJf+MM8OMa% zVaf+@!KPqT7RL)Wpm)rjWw1$=Meq1B^-3O&Z&k$3Jm#W7UjM;@!kY zv9Oh-%%6v08i+)^N$Uyp#C|ds44VNQUfsI(_@x|x&JdcQBwN*~P(lfBdV@Gs?{-B+ z4xvIqlsQfgj($`YpTQ;o{Zp%|->HVVx?$c_+c%{_|<_L8;L6iX?j_e(-p zZ1_g39ggfxS%MICSAQVDP8pAGCS)hnWL3OrrGPDeY(=~V&nKCF$T={Q^^}VT5oXV# z&;Bl@Pui3iNygcsswrb@4SSvO58wU3Xk7lzpMK)<)=~mVWyCcxU0?b1y?;&!JXoU59i^6@FtOhs#U%$j3D+gF9+}T(y^_k0{h@a}h2SGL zeD`daoixc$)6@*Ijij+1HmCG4(&?q^6vDZsiI6syoXgAT9>MC}@@{$F)H}7R=DXGh zwBLcwI?ZsaL5*1FmP@d3=Vs+I6224J*+A8uI5AZTwVl3WQ;r&CR?NWd@+6f??#()$ z;w-N0_TTY$hy|$d*5n+lMA95X<=me`D3u^~AOJGehLrx2rGJqRhCRu2ds28em6_6? zw7@2E*Tm*#D099y{FNX2kB_}@!&e@^(|vX^E>U3Hl7u!XDyybx3~@TPYv=4 zG48zazj@xr%VKXFX&yv*uMh&^Ws2L+2Kk^#}wDYDcR}#ku-h(3WbJ@h3Rtn<} z)4%hYK)L>9jGAqS_n>JBl*`NPn3T!FB8|jySAulBmKnTLqR}|KQ%IUZlEoI{+@-XA z%iiM3uzsL}3*PGh2X~PdZ?miR_;LJ0%TH_T6E5=$%c;zPxK}k9=xXF0oHLVV(wZ~_{GoR~ zy)?gToy07M1* z2QmlsBZO`T>O#nuNTT%Y7j^NGq#2}i`wuj?xs;_xuO^#}^KY;*OG{BxZ`4%brj)G@ zMZkaeBcJPchM~Zvqs;}54@hcxP1QMmNICZ@WqqMP>s9r%|e@ z5KBlRHtb1K9&r^>NB4cwpS&h3tvl2#N;(`^~NcN z9$H<8)lS%|itdxEr%V}kU|DDRjO~b%eSL2h7-b=*1$~;3Ymb$=>-uNjciSWBW+xCM zHZ{Z6-uGE)11#oA<@};=yDih5I7(sWdEzZ8k2 zs=H~0o#0K&ccNU4YM0lA16aE2r1g#h=>}68f7{+1PX31`<8CRhQCGTMKtvsFAaCI- zinG8GEvAdj)+0Z%5Q;HCSc)6C5jKt9iZa>#Lmmj8M<5Nw0I`M^yRQ! znz(ifAuYqe0Fh=^3=L9b#>$MXlY0cALvFWJ+Mn_}%Gj=`Zn6vrUtXpf*;>tTM@2l} z-R-E!XwnJ!M2nknv8n5xLvxR3FjuT6*?pppA6oy|`yMZp{Y=@=Ua67D7?0F5fYF|) z)9jIPj1}U11m}*^g)H{Cn8)%RC>Nq~8?mW(a%t|&;oavh2siX(wyGmy-uI4C?_Wxm!4g3cjPLMzsSgvt zilNznlx8Rm0JnsGWewASUoDl+6wp+KH07u{*`6LH3pX?^&Hix8 zMP*PahfqXVxDkstrKPrE)8QYy@zsCzb+LdhzY<043rleOWttsN45&Gi9_M;o8u>V< z&*aoO9)c%9NjBrh-v9Wmr_be@;w%N*FltTg z=$b5CzRy{1^u~od&MBf|ij;6AcdX`c@cYm`klwHjn^xX?8cHGX*CjboEsY5w&Ms|{ z>wYOT+5|bXO!oUuJ2jACDM3?Ds8dsGx525CQa>7Dna(gWvv5770Rk<}4%=0shU03! z23|5QCzYACV;e&nwe^7#G|KHMteF*4WoI~<%#JJ!R*Fc&?k2$mf;LvJT0^lF7@4Fm zsy7HmO(Nk`sERmInz)5wW%)&}!s|Qp-+lS2YGSko?k;(>2^E#M zOAriJVGg%@T|~9&)Qa=p#yk*2feWg1u{)m3!wR*ew6#khuqMT3^I$T98&Rz@ zV$_`9DB`%r8fXwR*KkvTNkKCTuC4Ah6DcsU88+&2wD}HHfWf3R2z7QS+i@c(iH-vj zDjJVnJ4Ei~uvLF$T{z563T6+Y!VEn6z3V>z)prv!pyk(NpE^^Y92(3nTxApSq}oNj z8Z+!~_uu#U^(QX16_e#tX_^$9W}#88WC{8+g3kV!RNH#GW*Sw8`Kz&VXSO13*aYC< z_usJd)Ojn2Q8*pux2v;aA6p^LZI=e?Yn&a@*wpU9gc{2F-M5coP{8jA8z7*6;&5Dd z#pOi2SQ5<5#09b*5EPp!q*P-n2cyY6b5Y|82vAJSOvb^(RxV|jLY6Dpcnum1JG^|s2yvngcHpkvP`W- z+}pQs=LYX4awNehIA#F2`cux)WfZ1h)9QOqzw$4?1}3pRfdLxpq9AfGAbrb`bBiKY z-qlz`b~9^==rvokBEajTG63W9Ib5!e_3|!YS%!+F^RIfhdkZM_#xgw{y)5>niX;=9nbR#7U z-`VaYY!*Ihf9w*IwX22nKWEdB!!jLwkFY%oF90q9=Xus(RK9re;In6synJ!>!p7p} zpr^H(?~jhGZe4eL?fMgIhnKgDvf3QNNi0K-+luz zk0x93v>+J3hu`(gt*6iDnbDp|c^X&UE(SdYeBFi>zGLx3PiJYhW*rz=!6E{w^{a>6ut+eyGphr zkD)52PU#i^2n!&QGVslme1sPDtr1PREQh3cXLnWWjxmm4qgSeN2MS(1fUj* zjg})6YP7g;VSD@NxatuBR%C;5M_eba73A75Np04;5VOSsra~LH{iLBmin%VWMk1x4 znH8WxN<$Y+2GX$FB+J!j~b7?Fe+Wh>)|l6!o`WLcGkRO`A^?v7QPS!oAw$s#2M zLyP75OUC8xxqtuHcm2D+x_fib8&{ysE-gk+ z&9+T%B){N`IRBZx=|!gk$^wx?3Vl|@^LC!0yIu$!h_P1Z)))Wep_~8hSMFZhoOhpw{5yBw+9STJc>VUp z25_*zA-HbP>nKV2=7b54$JMSexfFV?RTg+O;MPJO$(i+JC3WljvfpRIC$aGnRnNJYe~(d5VlU9 zPdT-e-3L2bzY@8;ja>ASMGFZ)Q3z+>{3jH|DkVXwW-9#*k+nh8ELiHZNKrLEf3YY> zJA;FhswXjsls1x@0Uai*iZTXJ6a$b28twJjF+6c7-x;~gii*y_3RY$`vR<9cD7DE+ zf((GIyhhT8paN-Mj=6=FEDY8{0$wk!F=6`d>xaJl#C3oE$W70^elT!H6^ha3y@rgy zMk?jJTgZ=Nby^g6q=Y&J_nRRE2#th#(KBkAvh}HiBD@_{ zBZ8KascibG`lcC4Q^s;IK_y9)+%YL!^Qp*TQxv9P6DhTD>(Sn+)xk681sJ(ScILp) zo=7_`-1u4pC%=mnL|(RNLL5#8c?M*S>R7IflWF3XD5z8TS_774zhtDDg1Z{-DUit? zqLt0Ai2J=ON{x30hjxc6Rt^&A!Of=vJxZazGB`oPZ9=e_qzyP1mHBU3EyjY*K( z?7(WX-EQU1Pm{D_@?w?Tcm!-$yky=}1XYRQQZTUOz{ta!;AG^bO9b6r2Fzj50iJ$UmgYs;faDc+h*&!WvzN|@{mW-6(i zQ+>s@=JA)ci!h}a=sU@qr59%a!^xKBk%$0*x$gMa|Lzx87KU-{_dQ8B7Q890!qht2 zTkmgDZ)$ub&`m|9?D3KJWARLDoo2wM-c`%yQ#*ap=A19cs9ZP1Sz64lDPZI{SMM>dgTg`$*yW z+gN*>RVv2X+iU`C$WGu;+%2!OMpD*+ft_OZi|GQh%s@?UMap0vPn-g7>$(t(ni{QN z-O?}{$f5iYEFlVMl<$L{40gLa$BsX?v3}LY=80<3vj$!sN5WGlYMK4YsS>gq1!^ge zVjh(Q-UX7KRe=jdk^rUvp+ejVgu6JS3Nntgdg1co=N`V{3y)nt7FX=_RwGmSLQng222@$C`rVgB|B#D`skAMI#7Sy zyKZ{zgYS5*P@!Dkj(zR$q{Sp%i&!_iU#BQgnD>nccc%L=IQk-4Y_fTlZ^4n+18*8; z!lu=CUsEpihMNORc|eiF6T{}+2AM*nn;R##wvLX+ z3)Zwt&?T_w|AIg{3^K5y6G^bcH)l|`uZYQU|$qKZLydTsg3-#h-L zr%t_kWl6qk`HB>%q)vxAUFw!p_zz`_CeVTEsD8kGoy&UH6B6;Bq-rVCse}r1kHMkp zpxT+}VT3Bj4sLzsV-MbVYKmoBtlkA9vrx*x4EU(Nf4Qg+FNK=GivWp`U^5Ty;X=xj)H|Z>UIVP4!$tIu(r8% zeB;Vh)wt)uLMqE)`+vR6MXH(L01IXruvyxoO-jE!MN1GNf9fPk31l9ya@ds6rNBUe zU*GP3;n@=pym;)Xa|Z;F$Mm4&a!&O+)G4S4;3b}*4c;+HppV*lgY*>lBLckmzo%eI z8td_(+KO0lq4fRtKKX%nJfCqOH#-=mHL8Hg%-Q#sEWPReggZBWH}a+=W6{T{pK8~F z*I_1XqCy?}#2pv@hj%I@Y31lokI)%k?9Vd#UVaKO(4d@_Z~w3w&#Y zhCQjq?I_54SZ!TRC&C0gy-Ky!lmAWNHV`m8vxFrC26_SzK>IoM1Yw_Tx>g>`y(+G{V zrrE;IX?V!DKcjDwY8;kGV5u4G>Y2=`!5|jj+~bI_uJotkSd&?z;nYuIZA^ihOiy;n zJUa+(QK(7L+d6*ou|r3myR>%wr3*Lcs;pR9Yzj5v#)2`C^?7BH>(yGR>Aev8M+S({Lw89nD6%u`%>LEHy78=B zMDQQFPAj-AGXG}Wy;0_9S}+QRq23)-J5izY{mEy4{SS|)HyhJuVn)-=NHx1tqG|GZeAe05tk(d1HxY#p+du^H5BojviNQ^if6ov@7 z!uRe?$wRIbZ9iXwmk{?l-NCVwj~zPp%#};mtY5ljXRtgP&nf5O*r~t;v8qk34S_-g zRZb_xLIVYZYw$X9Cjj~~rK~4JKc@w&F^++a3B9=8{i|13zVzaeQKiINh2(L(DB1?*4<@W9rqi*KRE!HKxe-$isf8_l!)ymOXL~deTHIm=-77;9C`lSh-Bx z7!Meh?z;2=hOlVlj!&^Tmk9%5Fv^p{l?$9dYtdi>;H}AKg|Up9>y3ZrBaeRI?JvYE zDaEOluHJ-=O_oh>Fhm9FHwIM^yti{D7s>_P_K#<)F7}2^EAKwlKeal1>9SQzkZ=$V zt0RY9mE!c*etD={ht779aNVTXD9+jCa_e2}=VuOE9z|>gF1pzc)5nE&l92+N170IO zgD5TPj4b+_Bu!1X&~Br1k6FYh)a1y)S8!nE51zh#k#MR@*O$djeOl!{N%V2^ZqNyu zgqrnO<>cZK3x-HiiqmyW9=_atY`y>DX7B7yXINRdp#U7*!onUpwa%O1L_BNyZ_`Km zCZQvW$Wjwjd17U=gJw86kewK3#f8Ka2b|F#!@>IWa~cPDY~7L=QvJ#Ehb zOo7ncTIMWp^G0~qjHpzf9=R8X;teue!XB`xTK%eC@0^p9~pSbav&pmtQ`Q75h5r2cYw}I7ieD^$VD0^3{PN6#_m`*^5U?=Q| zYoFyrwT*a&1Of4BJWHsmD>Qm!v;5YT&hzW@g9#0FZE_yIR!3+U02I*@&GpcAMAadV zHvl){x(k%hCMlEUpejVG@PcPpNyw<7TEal@45~r+xP0pPm0$arubnuwMd9PecbtkE z4OPc(F2O8f=$=CR?whkm&Q6_*Ib8kY=){}QwS+xjlj;_SK78i2fAbIz$Lyxq*w|sh z>d1|`fK^2~ykg@8)1Z-cp(1iwKTsB!5NNR-vXC9H-Rc(zq0$;Dr0EyOIDwzB@FL2FqEp4`GS?!Mg#rJ>t7ryX=gR0zR-es(h@Zt!-E@5!< z!sKezy`ftiQ=QJZUy@RclDJf?>`PHzaMKpWAoS%7Fcko6Dk>&j0TX6TJW+bL96Yx} z-y7oDt?rAP%LxXsw?M0d1#t!HQD=$fl;MOd-lsrmaDYp2V~(VjL0=3`{M2eoQ;jK^ z3o|OjnR&#c?P@!mO~lI5?mznnU%39{70B48DfzwW+<{u4OU;g4^N9c@Rc~=ae3XF0 z)0XQA+rnYp}zNPo<2ODwu+~xo8`>RKaAgMSVdMD=z>F z*49=g0eoip%4cqS;&&grW5Ukent2URZg-vp{{<$%sxHrQcU7q)9bQ1Gs%{t5 zQz#V|R-887-U5~;T`@-BG4rGx4`^~}jPoPfz~tpYXMJ~x13Y58v>UR?`4|QP9V+Ij z*Q1Un(d;Rb7tC7pO%XY27UCFT+n)kH4gIVc+8C&KvR!RgTw58L$3K2(^EdzAm+!d# zLhdc(s?cMFNi1K?-k z0=QvOL`L5f07^#RBw3gpitT5M@&0a7pS7*B`m^xDRU~`U6Y-p zTbmaT(zPI#n48BetUgYRMrtdQ zn9``WkjWRfcLL_nov&S&h?g8OqkZX{kgCRGd<+D>TxA6z%RXMyd)TNphCGs8@9^sO zFZ}33A9~mK;(InJznkKl>xx>_G|47S>%QN32U~mMT#!C_b>Pud!P_K4JSdJ^rT|%rAiCb6=Uc@Z<}v)IVsg7w+blAdX%i+5M<0V+N_ORl(t^k1 z_8;YbSE}`09?BAXo$=rP=%b(f;FG=Dp=Gp6mUAyVy<5vCa=%pBB(I9*85B#oO9&&Q zklpq!Th*pVh~7Z^aqlQ@_)I%j&4#`4CIJ0YD+lho?#kc1#FaJY7B=EeMsu#jA)NUl z@sYw%WL+^vN_2)YyV{1zZ%azVLK8DSPq7Qnn~6(#%4(zSJ?bZRB*@8#4p1GP(iaVV;l){Hkz5L?l@*h0@_OUJo7+28R6A*~(nJ^;^O%DQ|6say1 z^XPT0B*;$w3$~-TQ>}?i;i;GRV=Aw*VOFt-Bq^IOkNiJ2!G0fGGjHjgUEY<9YhiBu zsULdu7w&(kEJC)sCsp?>=_joMouoW2&bn5~>3eew#l@)Kl2|7{neh65u{G*`@w<2S_1pw{ zglddx0$oApw)%W?ASrrr1yl*uMbSg2wCed#G_(4nKq7OZntLbWJw*bw&*jD5K+J2> zj*E2J7ZPR22F<*~yE{CPL;sJD<7#ky1qphVUKDsA+2dFyq+-x|Y&rhm{#| zYHIeWzy#pfeYoZm%{OQZ`@yEAJC3cs|JsXx{FGg=VqNqaOtF;4*upr5BUH*#{|zS( zg53rORypPHhuk7M11BW7kl*KSZ)V~_^OEez#s?MvNYcB$lUQt;LOcly%A`=iL?KNJ zm02C)|Mt#@S31?_o_KplcRDDTc*44ZuE1kd6I2y+%OE;?kR>Qk2daajgQ6f+La9iP z5-d0I`&;-oMFONG{W4G^-ev}iLe+TiN2;8HhtBAm(g(|h9lf)q2U^HfCy#9Y;*UN2 zw?6Px3``Mhr$9dSrYTVB2J3;Ss1}5s9hlrB?1?(1mu5kz-XYxnkDxl(SJ)3WQK?S- z$~_nU_$jCV_B)MuA1R?lr9m9U&~Omut%yiCTB&IedBbpvR<0|H|AQeqF(zm|^<*bC zCdip$dVO{%?nTDmo{{xvAG ziUOF5Xi}O^{5vaFZ|dz$J&>I1#No|f{fTe>z&+2Gr4Dc*!icHVDGMlR8Vw9*sOXGb zsXcMldSI_mm4b4Xi(UOO9DI9o6{m##U=x5NAH8Y*%;CYa7oF{rV@d2?PzF0|!aMGj zduKY|l*CYkN=)G?P-T~}M0S{BwXaod)D5-WU2k|AT0(lim+-gomjow^6im{DGP;yE z?{wwcmQL`RFW5)&4vIcHwsfvpRRyh~D|RYn z|Aa(DAO$Kw3e-VS?0sUyR>R%aBTnEV!aa2~oJ3L@1vT{X8K@G(%wOQ>-^QAXu&%eZ zcp#sm-<|xEU;6U9?>H+)nh=KeB+a$JhfCH(nx>*F&5)+O%)PRwskr8j7f#`tPoQ^T zkM;9mpV$Q8x_^A{6Tke2sMzfR<<#Nz4zt1uFS&IqrfFJp0&7rU1UPGAS*xWOtU$W9 zD7WIC-DV2bp4@Z_Z-@>Ljvk8QQ)|)=IV4L3lR<`@o+$NLo$+lTG9t_z4~9bZ-82VT0d(rq7(KqZP&od3TV4C07x%MN;Mym@5*w02}kR5aoXg+L(7 z$<-hi!jG%Ln>^U&9haj}eCz3p|I06Z<)%}Y;AY37`=rNN)zU2Q+-09-4PBb6DZT|h z-bAa*7E!KNfnW789RL32{L{n!vFY#+oSDDj(9SdG%{O-&Kt(Q7;6yc}G#B0A0q@K(e`9(=oNU?&+^|pXy z$y?M3X|Wvt+PfY&IJf(S=Wg8@we9Wo|DDjJZ$e0{0{Lu;zNt;+G^5t3g5JY z!@}I?{dd0n_kZ$R*BsmMJ-G>q3nPygU! z|L~{3eoDGzitX2uBGWrG-Ls`S+u~9bVtU?CfovVJ@wz!>w%DohO?A8BGdR??XYVYb z_>JHAjs4}MQW0?FftSWtcHJ09-nl)jcOmB?2;$Uk{o_`^n@EE*7gpccg$xEd8gl7BIVZ@V5dSk>B*PpuOFMs^~-(6iC z5=G^=KEu?QsRH#V(So=0pnZ#e5}Rf$b4Kcy%96{s;eEf0qBnD0^I`uo9e|~~PAuPZ z_2BtS&dD5m|3^kcq(Oz%4mpLlJ+%u-+4}5Yzt)9Wfhw{t3fOI>VbnNYHC|(&&^>vo zKgAT&DaBj;=K|h`iM`ZpLMfN`1)c_^TDQImZ=fJ|EjRL`AoRx7ua}3rO27Zq_f9Td z`6qw%(Tm#){08{%fAx^)#e?9z6r{41KbckKG{pF_-l|a52@0j}JahiHe)UU-R|Y;? zR3tYaHwic`y6~u`!`a{_>i?Pd(0s>~)Xb8lC7zP{$X8c%@t)s7xzJGJ9>V^46M$l& zTWycl|K{atdt_*l=SMK?CO9?fBf}oZ(vI4p2gIq})yIuv1jqsjp}EjdlWKbP=IIV+_aEo% zefD_neXm|gyGq~B(kh*M&OZB`JDl(P{eJtmf7|(+EbLvP-n6lLtX_ugqtGQPQ_$>O zcrDBAEh9_!T=wjId-(Li_)2$;StN-QF@J*JSKV1s$^|UX$b~L)02$=&tqULc(IlzWp;)+??i8w@i}DS@`NL>N(5({zCu!3RlS|dUGP`t-a4S0Lo~^nCh9w0t zF|hLUxBibyH%`})cOcKp$@E(We=)@&Ax4^=w_pDB zV%Fcg>mutyM4n zw)3>tzpUA5QcR#bn*dXdV-@RRRSsQ^8U`<&3(OB-xob=(J1fpsn*dz&!CMag`UCCL z^Hr%6J<(SOn5qdVW!g7H5sDI3OhIN+bd3}QSyiW#nMBuk!^*)IwY(0qTq&t z^ov;HxUt92;Vx7o2ZXL{X(t&}L6e|aBr7ee3?FqgR6)GFv{O0LEV-%98p^s?Z##L} zmapEv_od(Y_M7KhXB&pRFeoyZ=HzlQ8AU+ecFoKG>j%Dl>F$|kGZf(pijkjeS#K`Y ztCA@13@dRDtH#=@q24!?ecNa?hx|yB`Eq#>GlQ5sj01TRJ{^F@=)je~`Su_D!hb`# zkczo<9i&=Iy2xM3g~+6G^C0pv2ccR$N^0{*W}?UoFYTvH$Xr`7x;lZfd7z`x%3DNL z)~*@dE_3{xEl-MP@{gsgmzI1NYX%n<`ig(mA51`MB28AgXm>xqr!{Q`lZWJtB zJL{lL0CxS%jfXz-?YZwA)l1hw6jSG9l|-QHi;GOi+?eZ|iDF8Xn?szE1p+{^O8-FTBBPqp=P?TQ6f!4o4%GBAzK=rHE81yV7+f+~o~ zlWC~|5L-tUfAP*QKXUBiFCM(=sgt|rRz}w4D?VQ+RA~__vvMhiY-IWVowN7cbm%>A zdiLTSbMEiJp~hUQH=S1H(@9`4a>#7sybO;0)%$B^GZ{In{<{7R1m#HrQ)8GPMg}ac zD#^W$_0gur@WB3$zwwD*_%pO6vFEtSdvx<=O|bD(Zwv)Rf_aau%MkmXwN~ zYl}jfbqJsgs;XeGIdpH$EU8Q5>B7C z5+dsh|H?&;9I)P4Vqts%pYp3qv@wq5RX^ zT~(=!!wXZdpGX9|JvC{j>=YBTRKt#B9rJE>-uI8T|IkF&;1laQ~{zNkI3t$;Y#d#A z*KN;#>|Kv;-MEbU==GX~sZY1gH-V)}wycRL1)a^HC^(Vnnuu7}J~2j5ne#0s37p)3 zg+XLW{szZw?OZ$SrcI)eZGY#LC;#H?b0}9x!pI`feq8Bk33HfBnkhn#4W(T@R3mhiJedI|XAUsz9Hp|i zSlqfi0j6K(N6k%TakH7!)rC0?&FnT9hpOf$3*dEo4&A)x$P*`a|K*c6Ja>Bg%+l!j z?&uYvr4_X2urxHhc*%z4x8C&9{dYXKf5)sapC93#W<{NxHqsN6wME38{RKsF%YFo6 z4Q*oKBeP6k!g>eP1O)M=9{w2WOfVa4(L zs*$(Ka`DOrI3)^nDa*j$WP9MJTngB$$s5c_(A(OQ5{{_pR?0Lp<;kp6Cqz@^H|;ul z-OgjrPi=er*q*0O?t1Rjj>+?I%8P_-%g!=7%UId7^VD7YPv3U=@i$z3Z0F`h!2WE4 zo>%{NQ_vF(zKoeXrdQ>U&H2*V>z()5=?iPkdJ6U3)~gbLr6x{pz;d%(+Pe7RjZLge za??6%lW1f+-+SHR&py2P%t=5xY2sB1rJZ=G(wMARxH7v+RVmXob)Da`_?*(7YDp+F z(@`z$S@~gpx|5?;kSecJ8Y{>er#e-fY*WY#PU~$)(W;iles^}B{WR$Kw`IF||7u;6 zc8pBeg){}4LSDJ;A>FrOS*!{%IyBE%rX~QeBy@b~2*zB#B9=q*| zc^)ue{B+I89|?*6%&)TdVH~SI`8(OXf=nV_pjbK zu>mu~DCPupi{Dm;@g(i0BIOZXThFd;#b=BTl$VzPv7AKmltOP4-&f^Q1!8` znj6r2Vy4rX5uDrr2xQ7)$|XiKjEu%FusVdlqR?5Ace>xY?RV$De@q}3LJA=pqAMVU z$c2!ZkeSHKL&&pC3gnrP#hy&$Wiv=2@=TP?gpiHm5TrUW7bv=tDElmmAxNW{Ecz_V z1F1dAe5ndJ6&t1Q!ET@{P-SWx5}8_{Pn2G1wJn^Z^(~EJR++J1s5*A~^vvtZ>;%T4 zOizcl@432q=%w0T={BBt`J#uOzwGg&dr!}gck`?(MK{k@>3ggLh2myeF0zgsoIh~! z;k&MV>E0U-Z5dy#?nM~?#$MKMtYO=KS+leFE46Gl>*tvZ3T3QWY-cx=J68PJdrKtrOLEFZVYicjhFY6x-&6`-KoCV0U}gN2-)9kgQn{QkT)EOXl2u_9 z(}uEtJ2Gg$m@Z#UmZlm5gpPlsI?Gx^A)ZN47};bII-#S6+PV+P$Z@ZCo-8W$Oc|d)dDq7mIoK>CnZjr(BKA1)DkD)--V5 zczw{?+#@50>QD3!>3&ukcy4Q%G$19q0u6~SFxtVcZ5Z5Gd!bb^s^6^T;^|o>RTJaa?f81JO1oAx+NoZkXXizp7@aj_?K! z(~FIEhC`b$JyMNIHwt+I#+R{WXX@IN4K;WF?9G#3I=J-WnIZ*9rBJGT>LQ{fbG1mO zE_hqIFsR41yr!1|l<=0IBuJQ>vr0`Vqi4lsl+LFdjjsRHEjEX`<3!;lG1 zm#da97G8BarxQalD-AN_spu^h8aG>(hLv3eT{UV5xovEI+t@rZNXX^Rz(Q+ip*6VF z8eD1*EVTw_mq%uohUb@u7gh!rTSF`DW~G?8vmUAc=rl}8s*Id*;MFJgf zf$yLy#VjvhuzEH&U#_akrGM0~sgeVeBRD>ec4myO2ndNrj_qx1ykuRf$`zce43~{J z@813sS0Db&w`4aLRbqE0MY%qmDsHJ4wbQ{BK-ok(qz#!#ov~T!SK-T*83{(drO=j+ zvNl9D4hHQnDjP@7&vQ*Dr5fd!o$;e{%pdKPxvNNpT55tqX4*139-qgC`0XING~(Z7 z8k8Y+RcIU#PDVmVo}?>JS^-6dk!E{jpuKHemvl!iMOTWv_^&Jv50%jdQDop2KjTbh znao6C0G2VOg63u|T_t$d z-(q33Eaoz6tiP*%&Yu@-(vE0=Lb=T9y=ugyz{**Nk=7tegFn;f$#S(}A*vIrcV`YG z+B5hikVyeFAR9VbuLJXl|66Pb!xr#A3@;Ga?@M_5V^S3~TY3hYVm_Bc%lo>V%Q=S} zhb~BsiaF={sROH0C^IXn__rhQ#1703DT~Q?C!;OwnZei<*m7O%HCD$t3~Fw;W%tha zT!%)Z8ex(`LgeMrDTP%e@*=lDk7-F!{l=vVHb_yn1Z349lTz==%KgP2=xsfkg>vx@ z=rv%pqbJ;N)?9cNs+_qrep6DNXs(Q+w{v@d$6VRMa^Stw_2XM~;&f}iG*8d<{is}U z^Y(I4wf9?^OTv_EmxNyC{!y*J_PfZPn^gZgYnH&?4*t95m-W~6S5J|lmi{*4EuEqI z+?$)?STs&=!Iw2HgNK}>dHg79&o%u){a;()nQb^ZiX6y=^>4F_ODB;5VgD9VpJ)Y_6YPUPg47OLds12p)WPgYNItp_o;Wvs(7?C zR7QzW^*7y8rRrNV#Yj}&y|$aAbJTvwVW>|YQYC5sApFZoPXb^lix!>ghb62A)+LO4 z&i(#F0#sfi(l{5c9!X)}u<>aIpMPIXVlVsDso;qx9)GKT zi00#}pG?!XvcFv@rEpCZOBu^=-Bqs8zvYj^)DEM6^JT70IpYv&^+?v}5kg0OYb)|> z$HZt=qSKEF(^Ev;FSL)&V;wrelzUe(sp-o3&BUCt;HAwE$`8Q%Hyk|b*j&ZG$H(yO z7PK-;m2!bxVAB$I&mxn^2C?t$p?AA>&iO>DEpI)r=cBI+SwNP(qq7DJHOZB}Xx*tC zG+Ct^nl53fBWlG;^=VfYnY8+>ww3w_^Sd^1Y$(G(u>3Xs*xL^?oafxvo#NNvSy=uP zUiImnZkkJ$JVov&U@m!m25#H;^@7fz?*`Ti6YTAnFroHny`06`tX7z6RLPk!S7V6z z+dlm_^MAGeFD-UrOsY&-oEgHC+b};6Fq%f%I536b4ghSp6kBhM-{@L6=QGhoCJy}a z-80`jH23(iV$`h6lPsr`R3!>ZJ4h9elMrfu5uX;uEH{~>$mi6nwN$Ha<|wigbXfvj ze-1`zOyoh>UGs*83e-Q-uiK7DnP8dK=HT=RKaO0&TWsKYwwc$sUbR<#U_8C4^fR-aCkIx|wgq{>K;qUyhBmK(Dfh4J+CAN=-it*&t_DDE5z z#>Io%@NN>`QInb)1ATgM^(Xe(xfuoTd0pQ$Gi|QLCLZ68Q=@?tyn!yRn8d_#dDe{| zU&j%;f>&Y!`p`ui_WzT+nwv+ZglYa1zuesNwyaQ;VGtE2Ql>-Q%JnOo<))ulhPU)2 z4i!^Z(f7hSGpwiD08_cAnhk6?cYe4h;(R%Abkn#ncLuDdU~tL|W9z?u!O%DYEyK2w z7w`@`bXJ_+42S!7>xH7sKgcyURJ|XENaJ89!9(>sgZ5F(P%=%GcBs#Oi1l1=a0RcW zXZF@uOg)VzO_ZkJBsEv^OVcIddS5KzN~T3`VppJ zxBUo^)263SCsiI(%~|!%U_aYIH3_x}Rvn1-;55jMN(njej z$Fy0kPZu+edS0u>nsaWzS(vw8Wn!Y^oEr!N0y;((>|cvujY>LqQt!@1~V6j&q4LX%?}a^<$`&e0db#-i7&r@=Gm#q78wO7H&O>12fiJ7}}yGL)5OH6s8Af)IBObUON<} z(g?z?T(!SS6E~bYGrnVZZ9&(`bjloK$MuQ4(3L*X?c6a#`Uo&ZBTDAG2sL)XQcki$ zF1$lQbIIH2X|UAWP4$*h%y{v4_PmqALg_hFA2V?33EpSDsa5>fjW_GZ#VcCP4$6mj z$x~xekMkC9bL%2r|1vI{vARNri|)pbTi2@yufr={D0<_~yD$0V-HqWvJDFRBv8zcf z(8F_vyH^eBsk1U$sxm2!_Kh8oEEf&3f$`4XA z&5=7NHQX7$Q~CmP3QNyXJX-~-JK! zK8!f$y?9;8rDpeQ7t0qX%$llb0N0RKnV`sZ zg-8I^x(8a4oGJzCf8|M1=yO#lN@Z;7WJojn(ZY#L86h4CFWduf8|7J5HoG5>i6f20 z4s@I-7Uju|N?6h>V4y!bVN@?D3rSRk+l`j6o2i>I14hE$mJ-5lfY64%XFC)YctP?adEuQeQ9xq#Vk{okwuRw7NGn z>QcOHG;!M}F}R`s_qSSJoyC7P-?4wsM{jFv8qwL0uBB6s%2lZYIgE-0Y8216o}9TU zDAO{_w^<~AR^DP|g`u?Ctb|PUCAu?#^_T1HQ2`p)P1FC`L;I#ng;0PgY5~<8@>-hC zSHMS$9JR^`)TCva<8&cI$?Y>9doqs(=eyKfKrz>^r`^ttZ|Wown@;U3EpQ- z|Ngb~z2%{PYEE&Ev>M&VF6tiKCUaFZeyA%ho5|jNP+UHZYN*aIb&=t^4`a_=y>9fZ zcy(4!6wU0S58k}+#EGMy{kAS;Sy>?EI+_AyadD`Mar!8vl(`UDweF=*>u#1M&5F93 z#W+!3R2kA009Bg;{wM9aQ^iV z75InXUfL`fF8#(uH|9!w_IOxskJCv*qNTZ_O!3(nedb1COQ^;okpoWTb9L@r^V${ zVx(im5UM}Y!1fz)=Wm>&5V+=5TiJDB)5w8;e$ULe4$c4IWi_x|hI?{h6ap`c?pEc# zi&Z%RV_Pp~r|N1d#VD0R6fH}sDxRMVA~&8TM+B-BT_N-@jLM(G>qRM_%YXXl84$jQK}fO(p9~*AKlY=bPrk$0Vy-t zxZ-qn^=YwXNi=f9#6EvXm&FFE5(O{==WeP&W~OLrpSkql>^Uxm<(uj3bMx!5zWu;dJ3CNq8TrN(6R6Qy z-3-AtJ=KUEhokCGMts&S?b<~TmyDwum;DyE=Z_XTy3&+1hV|FqUDX;PAeD|uK zoiWd=#veqeP0T6t`^@7Pf_EFS8;&Jg`VOg?{;CwM{k^^IhcA|`CIGR0Vc;FlH10T@ zZCezXtWqv>-HAXh&=t7xBRKF5?;Wl`ubSOdFn;~cEB?(ppZ>+akjt&I^0#{COP8&r zFavTG0-HFaa^Z#mn)vAHCc4Fqmd?Atf5dyqLvarF0KbHPMFOF5Wk~vmlrOA&G^2qP8aM7J z54oPgKG6?^JBMIL&7rR-;eSYu0pi$gK^v~#;&2R{erzcJTZ$2sFz1Rj`3i2m0bw1r zHiWZNO0=Ka)qZp@x>+{9(zx>Ez%|FkP#5OpaJL@;2<*BAH+&F7>$aFm4X?5`iAJ{L zzH6tyb?C%@eN-;DB!qI=%q3N%&M+$KoT$fKnC_ceqXmHS3d<0O$f{iAV)!qI6%;C$ zMwd`)Pic#&bS$J=TMufqs`B;B-@E1gSx$i-#go-)C|1;_&j3^KAu|pMb6F=f8t5$^ zQ@%HMjba_5GFP}#K5XVc*0BfO^V*#io}-SM%Woew6mh{#DHH zc~xGX(}{m|b7wJ$B-S2=zIak4^Q`mI*7l?OFw|}CKQnOc%h~2d=y{Ho6KDH$BU^CO z-^2Fn|LS*t*Jg%#K@ z>*XmJ*)d+`&YE}eK$W$sicS|mK-6+k6^$z1W)_hWOGHACpk5xL+R)J}^J6s5t-dTj z6jiHG{e;6!f}!zP5BmK&1V<^H2Enw0m|!`3a-btDld5mKN#>$`aA*7ZZOuzhH}_6u z+vZCT&gsXsn*;#d^da2v)5sd${hbrmf6ehVAagnW^%oz#|8x1=Qn~nexkh=h=6Jal zd8U^UhdNZY?3yc#XU3Z2nbk?Le7Qcc+z+ARB|@!BUT)`Q8baBF{)*tPS1zibMyaF5 z%I4+EqR_cY@N`!gxBfLJ*aQz5%Vkxon-~k47uR-HEf>bo%xLEH4{s53(}yxI?c9lf z2=;x#>&J1>qMaCL!8j34Cw4zUcg)}RU#@m%pGRxX>gN$O<)$mp@jNxFnd`)r|IbDH z@HV+P(A++oZCDlqUF#I5y`xhXzX|XALyT@;)0{SoOA8uMl>xv_=J6a`<-0640# zT9I1AAzyABgQ%YY#F)p|1zMRUC2$(shYZEZTTRjIT0{S(40$$}BTQQ^!-pTh_&Fb& zGim(BZ~Vq9dA%COuiYU#a`usOZk2jg@|E0T@ zkIbC-uirzvEujM5I!n9EQBsi!Rs7oxjiW3XUOX7Z@SR%A7qUn|n#ew0cAqg(ODPhkIDudpyBr%lbxBbWZlTUsyAPCfXX z%)4roP3c9c7D9_f8Sq9Cvl3Z3u2-&9UXA9frOAsAJr`xTy}Gb8?Efmiypk;d(8-rl zn&tWJVLMA!v?>|$;HUYI#kCrgcg5ALU>k&9u?lhNjh&6L!+YVd4IE z)5lR}5&bp?paS+a0TEW=d7i!V3MyqC%Df z%MHkyFq5rBK|3gTw~ii}jc@z_?)(IXH%0F0+>%f%++^}g2fu&c@5_~zjzgr$o1%(F&<~8Am|g77(t3G&yZVEr3U-7x}i!|P*PP6 z-sM6-3nGLO4PJvh)#M788f40oey(BzaHh=ZP7rG2rw9Zj&rlq9#4SD;=Wo;>4G54u z5UB;xY)}b`ttoCAfj?T;&mLR6f|_zRdbBDe(8{pV@Eo*|zgFY!)dZMyhsB( zrAcpOX{tI0+7VDL7piwpMNwwPyP8HrO zpd)|M$c}X!Lzqvj;nP`Kqo*S2TQE+kZp!fM9XrG~YMetRJ^%FgjJ|gSRvO6tp;D*+ z{;~>c9KBMQhH=H)@V0;X>IzfR+5{o?eC!SRO6Sn0znU*B129A5(29dqI`t3o7Z%D5XEucAoi zioP%cL-xyDt^6R(@N+0IR7ilC@NG78vc{!R;?5B=>!mJWQ2d(h(0Fc#jjSpN@%VRm zsLl>QnE~>miLgiRtZfy6Qr}5sj_GBGOD#6i3-l?LwAde!rC<`i201F@huvZ}R32$o z{*DEfo9Je6b;s^2W;X@)_p+O=dMDoTFR}IV(7nE*r0dfav?mvz`zL>K;*TChr(?Qi znVU6UMWf6tO`VWg2CYzqrIbTw=9gPBEF(u8WhamjG6RIjtFRQLFdaG-hl=`o=FVVV zrI|HedULjqR-e+{PhNO1fivvQ)h1iIhfJ3$)Q|6K>DxAS#C6Sj#h!fk%{>(I(VX~{ zd6wne84t0!(+WsM)XF(4Xj3{k3boKg+xO=D_HiXbFT2UybHzRQ>ECb>$dP3zNAXG%sZ321Igsg9o*;5$4PzRTgs6NnKp;a= z+ZTmAm@7w>wSys16o?X@u~O=h6jCKqNuzoJV3jK{j4E0ENv~=KI28+2_1ki=Okd8Z z831)uzjVwTA*u=erT=JHD7pR2R3&tc>H^hKWe5fjnInxNvMudSx~AM18;G6dwKT=T zv3?v!(;p^t6enQC=rL3K*C~uGC%A65iOrs?w+bY%+zf@8;Ju95L3+DafT?ihZn_`u z{T(z?(S%g)qlSU4qgVa=`<`5AO@HM%$ZlbT>ue^a7gc_M^6!Mu557)N7CJ4nd@A&m z;PSaH(lk|ItI7*N`9)fR4kKtIq>=Gxl);pSyQgywbS9LvYOZKwOZiiouYX>EsVan` z-7Dj9vcg8N(lXsT1YUqizsbNxJgDS5w)$u(!NH?;KhZ=d!*MI0c_T^%)xUPow7;gE zIAM5X`cFb`T2)3`i1AmedW?lS3RC!hVL&!735r}cc@tQuc4NAW5ruJYi7H8$sr_my5@<@Z%RATU(t zW);}Zo$t8$?q0~_)6P+*Y$A6&E;1@-o*47sOqVe1riDB^KV87NL?CIvZXet5T|dN5 zaTqpwzn)GyAxB4+?M{!kdqj0S&IZZ0!stv3OBA4P^Ee$vc)JEbsF7* zH-8Lwd=%r``o6_ig7Ze3q?C(KojUkW|9t9!XCO;4asp45=v3KE(ynbFm7JN;rJ9yT zW>Z9->_e73=`esVPqu{F^3g+*Ruf=t@jPxttJHIQC>8^_%rmhajvkwF+f+ zWx9L50J&*Uk!EJ>$=&ZMgs(fUghfmz!#b?U1r`R-v1`&wyVI!M6j36x2h(mEnZWyg z8`u6AhR(^_yl2CCqfLc8%|G_?Gavht`R^SO#orV+n<*$dMg^M+6aoM_UW+@U%v+0t&NI_>%Z03ZNKL_t*P znPA2t%YzHpO}R3c^v<9jdA3qe#cF)FU`Ay$y}LiDLhXsx%b?ZMr|A^ZqhL$dMC#9C z3K&F=82QecCqpF>4RS{MbYR{>22S*eoh5;#CYGD7ffMRJpj<&K$=@#o8UwiO4&48n zxahk0UB1ekf7%3K?$M*qed5n%zx|T3o>YyeKnTeZFE@3-2{sj8VO7q_$U8UE1=bvU z^4-0#ghdUdm^@WS9h+#)0Ve&@S1#{Rc+yEwzhcp%o(dIFE8ocKAy~#v=PbV&YW9cv zanb^;#v#p;#-1X#cBO&kW?<4>y$sbWk>A7cM%?~By!9Vp>m^8-^HQ4t%sq1C`Ct31 z=?9-FOVf|XDU~(hn5!*_q zL^&$cb3TeMB{AiK-$~4s^L#qtby6c$Jq~%zw2cPeP>R@1?#@uyJ7_v->&cO!D!bio zX?)iKB(T!NaE91FOr z;E5ot-}L6=v)|ApE3bNSj}~w2K?8U+OeEzVBux%WEATo!y)8@AY19!S+nUH!CdZAR zeWl$xKCP?qn58yXAigopx7Z|q&HDG_Q8$#+{86t(k0RN{baj~zS8i&gSfnh?$%3L9 zRd+vq$Ur7=98bee&5Qz}=bwUl(H!qYu0@{k5QV9VDd+mBXdFP`&GhPBSHp4h564+; znz7U=sG7N%e< zvr<=z!g&3zMcOWc3wd!|a%hx75#@X}%;Nk|^Fy-%W4-z`ihHVJ4~K&wGZmRc-zOfi zmvDF#PN09amY&gc4U3q#Oc{Cq%* zmgSvUM`d&CBnRVba`)5V#}r2W4zb!p#)LJpgrW+hCgf9A2&=P^!MD94qj(oOj7^OMH8%7~Chv{SF0_7!= zPS>1UjA!Ay+~@}xgx}%=XIOln!A~SSg1__ydMT$RlTmnsAZ0x(VAg4-sMg3H!%_^v zJc@@W@^yu3(XFH*I&SC>1COQ^wdhWd{ioS>@@2IK{@4VMrW~mOIAIQ7v!|362x$Nq zkw#}8^UVQ;RmTJNkVU`ia8XV94Sh6GQ^?)QcOYN zW&n={x(K}9^yX?MzC|?08YSf1+#`(tZ#3SGM+X+-g4V8JH2z!ik;O`vak+M-?~w`L zboBxE%N6TE%l2eFVu#>5z5?->+%MdRDucSL435u{Rk0X8nD54IOzg>y?kJWXAS<}r zRFnyV=z$6H!1IxuHl)dZKY1?I+9jw7-hb@_U`hDW_}J@shI1 zGDbjp_cZYsayqkpI{qix%oineg|md>mGJXaq~!-MNhVX#^;Q)u8URA-glHzJyKqep zZHFzgFyo)c_0N+_G>lh^!PLh+BH}TTWnP=V?e#pkK007n2m#M^RNvgR(Iy96%g!GH zy4;Pp>OX%gy67j)R;*c(d`oT_*4t98)K|)Gww;G0cUb~Ihz$MPqcVxG5}aqbbYAr} zt>S!RP3?XcsM&LnBOaYI)7|-u)apQHr#lcy9szFB{>Ad8W6$M{NnyCk7A-z7gq{$u zcI2xDQOfMDR=(WsInuvTUfoX7Rl5JS;&>j}g5UJ+N`2LYO5YS6?)L1p> zwO2$>`ronC^BU%z@fjaT()z_@P2f?t`5Jl$Ad;j}Ja2H9?{7Y1MFBkbRo`9)aQCZ4 zE#2#`n^NfWvr?xzqO2~p77OxPovzFYjCwQkFv?8XM>v|*{+yX z{IEGtdnx+{Gke|(HeE@nj4w--JWtHv`QTI$N4A8VH~T2Ar-~gGZ=0ECH<(KQNE zpbg#0mw4r#&nCV62K~W#&5kV4H;?Z;aXZHMRuN)(ZHqkH2+2lGK24BD_1xxvg74_y zk<|puUvBk4IR+>C-s)_?%MHcU<8G|0=h3V>h_u765h1htn$em!dkAn0J-9)FU3!Qt zKYh%AW7zG`(DOlceXGuVNS3mwA=gXUh74`P_4Hq1PKNitjcwX9gId}FWf!kA0WK@9 z-Rn9TD3nSmd=CZV)dwVpW$I-=24z}=pGbRIlNi3Q@5FRyIH}IO`W%yL)!?6gNEQ<^ z8#Ug8kk2RHp__TG^V-Iz0iz{^^&NoHILyP3KxZkm)Q8(1qHvxv!HgDYuuJn$XDohJ z{sb_##hT=8!CRkMM`V#=$>BDNIwzS*Yn^GP*-&!sK(w7lwHzb{tKU(?MT>m4^RZ|;BM%`OM<#M|6pM(t`_M`; zAM)~~Y^^3wS=P;W4_}q;arNnk_$FtDrqSUS7#Xm?{D>|j?KHrW_^#Xs;%Rm z$|ypU>F4Trb{^YuuTRX;=EJ(~pobT9xTwGYW=JC$BYuZe{bjq>NV?Z`4qWET z%3o;BSXC|6mhhm`Jz3wmuq=u9N;}meWJkJI(n<|Fq$TUhevnKV$Pw=R-}JFXTuIlKE3pd#_(r2OZ9uJ?ue_m6dY;zmY2KDn zU#v_5DzNTX0Nz+e<%tt%nJa|w;s!5Rq*L(4m<7QDMP)XcaS;0(>% zdGT3^A&^$aPnoGgzjb=^w>@ZJ&0teoyT3L^{>S@7zGn{4QswTBw>!544#&0ms~qU+ z9WHvsSRRkdRUS6YVTh?7ZrA;XzQTMR=ML_ygX$^N)+f4}H|`z{yLg3H3| z6Ncji9XeDO=z**LLdN52+<1(ip^As z5|`n}U*05!jLXE_a(>MqmFvy)RwUh8TiQk%lcKM%7Ambn8zQ_tsx(BN9xyw0ZCHvvGt>rA zN;HYl7`yf`?s9%;aDAK*=wLs-JvMRu!-HKfopv)V z-S;FiN6X{FbiLf=F3~V~4K=5TvU9+=AeX4Hf-6i)>n7jVFpiNxp>4QjsIOR`q25dd zETBK5lvI=EsZlb~rJ5iPcBIa|qM57+^B>OpHQy8dTZQhUKwa_jo1~jS32b`I?}7b4 z51WsZ?4FPh^Zh1m%PoSLg0fJrlS0O}Teza?8;WJFpFR!$=oJT3u9_Oh>vaW~$dh>S z@3gUXi1i0h2_=8Jcb+Vz{thCNJZVUGU$$_CCko~C(O2sDp}|c(n8{qBo7X(jk(>7;7LSG-*Z%eR9&n|6F z?g_F`GUvY(g6S^t*HknxK35_uTnY?)K~>dZWxaj4co}f^fDkg)o!Yje0)vdJW0W&) z5Mip1P29Dys`zc9`MXtAdO1cZ`)@FrYhJ-$32bW`7^qf(2#0wZP>Ylo2&E^kjlLO6 z+HM_pJZ}g|Y)Qaf|8EMAxObE5LwBe2NHAbiQH#WIFyvep+}Mz8L<S>&%3lK z=6e^1Ycc4@ZqLM|^g_ylT5gNGLD?Rqj?eEqqLn>x?ePi>YU_9RSc{{Ky+5Pl6ur&n z`PI+89?KV_7Az_-SCG4YAN;GzS@GVug=F|c`vg@0+1 zG3)#}H<8J#cF@ZC_(7kQ3yeHHPKHp94jkmk=Q~f^jO=mbXQIk_c4|w5vZt@aW1AG# zJh8{mOxb6gyx?N*h;Of2s>Xy9R~YTeqw=Fe&iZ@~%FgBOJta%pcHOkzD5(F=Pf5Y~_#M8fKkFx1Z-X0Cs8>U7wu75a+`T7`Y)-RRlk z@Ls-QFFtjTtiuQ3Qe2ZB+?!xW_MWRfhwK z0uDC$azVMHMeTg*FNpP?` z-BQ)+kJuRU3~%5?AJ_C$u`jQ-B_tbCeH0XOw|DFs9z1ciHp%0AYpESwgUck>e^HC) zZ{0O=S$jHfNX;S?I~qk$MnF`}8~3c8X?A`4iK46-DWIW#b&w@k`fM4R2WmU-0X?mC z9Bq_vE#_h<$(i)0)2Hc9=1>lSvI=;a@U|*o4qU=SCUa29h#a22{LwuW)qw zO;A=OYSV1pLws@GDT*I?jh^$`2p^%1yW?1&)mF|=_{`#y5DFLb11l^9pbL60ss0VO^xcC-8Bv=$(`EG%qT zvZe9SMN4LYFs)0`jW-`bA+;4V(h&iBCP(uAjVDH?9d)t-w!mld^GEO-X^=L!Q%*p| z0QfTgn4))G?J>P#^*Nfbg?@xKm!6k9*!E=Spnsxa;^uFr=HH)(g_cy~!{aZqp#yTv zsZ`k1H{IiBTX8+gIr#c=TVW}0)|Lp+=y}A0>XyQYpV+WN_X4E4Q5Biq@7Q`W4w(wL zJ-jIwpZ7k^-Pz-5h)<$AJ1%1N)W!>@H_F@j_|*sYsiC$sN_qwl*5en7dI}nE>E%_k zPT@YqfEuBenq}8oHL+SL6pBT{>|OJOYbHfo_<0)mtCwuarENo^rvq)QY%FYWgvZ+@ zn4eeqR>TntHA#>7=FZbny?+`~LJZ~3t=g>rDn3O3BT+Z(SX-bY!j*8)3uuHWMy~p~ z9O1_*Kb=Z1gQnQBbE}{c)k<~V<@^ugFbfkaTMPk`f@JA!8n*NlPd!j2w{rn=@Cw|I z{QTfnjj64xKzUk+!?%#}B_P_-s5_`g2=u**@9mHU^LW1nXd_x~W%x{K&gpNrSE1Lr z>c7_5e^vV*+8bQ$f)?D$c1F2sh%?e3bHeh)uVzLs(uAd79nqLpYHJiGu!6b(iJR^g;pY^J!AK*eaZZf z;_DH86<$rVF&FqXyJ=GZH}5k(K{8$LDR5#)~*MJf;Hho8BlpI4H{IefRjWflB@K9l95-*zi z)QR!Hp}VbRynexH*aP>Knix5oqXZT?TM{|#psa+=q8NEq_^m=k6x;7*X^CI!VR)~p zxLWX>{8?7+RSudsrh`kcz*Fqe!{}a>pjYKdf&xS_s(hqNjHgX4+MiPg;AkM{{p%F|n|~>+8z9)7DtCSt9}nVK6dm zApxzy;JP;+#aAMSh=K8AoMv8FUS(2Q_xMfgUG#7eHyQ`pad%5zdNTnjVPXHqYDK2inx3ajKgF6xK*5{iiyi^+uEqQE zYr9x!TzZ3>H-%R922no-!6(z|A^hWaBu7(?YD&0oXv8VU!3sT-{M*H75Xy<`C zrdssF&;*@2IO`CXP0kOTa{*MvIL*9jsid;*=SKs(qm=`jPQaGy&Az18n~#7urb+u> znF{ro=KA09Fy#-nxMB7?T76Cw`AMl$fUL-R@gX6bfg(2KxuLKz+#BFRdDzu*+zz`k z856f(3B}&uZgo{l)sS~@teV+v6&1dFPRwz?E7aJ>5>&<$@gfUJaO$*ZP?bCA zw$H${kLQiA_NCJss$M+OLQtqNE)ba?x~L)W@q4Oc&%<%w{&DyC3l>;2n_B89%f@G) zU20(R)4kB5YD+=}G!BCA>WDrWo6wZ?zJ4l@z0ei;ewx=p?ndF6-FRW9n+X@|`xuKTCkI<$UeJ{N9RJ?6_G zkWJ0Bj2Wa#F%Kknz$zHo134lntQxe%rYLeUE)NLN3;8rt?^Idgfo;F^Bl6PZiK+fp zZ^;wC3^Bc=nJEa{b~_(ki$C0ssm=f{cwIW*%}XzT3pXG^x}wfTh>{uERwm2}OZ>7{Y#qbsA+A2A-|Op&6)p%iad+3F zEJ4G!{f;^)m5hcSU+=PqZu~>}41KTb@XL50c~ubsMR>q-QXDpOwpXlm=6j(s{WFEC zUwVSg$epP8;taHYy`t^i{Jr+I4k7Q4d3R;rg>66ggFeYuksLe~5|w6XaI=-ezUo_o z97il$8*{jleAZRJQSKPmcwgMkTXN8wC#PxYn^j8~#1q@dEnBawJS2fI`Bym6-rC~X zwSU?xw0^m0O9PWvOEqHO0R1_H8y|@K6r4|=-zfH-?do!H4BlV~x4qZaoBUZiXJI0A zPhM2dzyV=>&9m3HyuX+p{6dO|Fk(VID%#AKfQ)RejrcjyzXdzzo6WgqTR(Bhvq32b zZ%zi0<@-(0vN`;Wk>v~lKPQ84Zd9kG48W~6E=tl;dL}i-K6#nosE$wx7NPy7Jm90D zwcon6)(x#xw_gg3rmpnD&=-v4)ZeHrHR~ffn2&~uR6?GI>OQ+_4qK23R1wO6#`8g3 z-RU!6eFx2H&>>Y=92|Z&z^XLTUq~e^_H9>p9-J7W+lgmcs8z^1LDKT+L|@2Gu+o$! zmASk7e|e!yW;SGHzZk)(-`z|2imofv#eOa@95*V~G*AGIi@!km-S>p5Ws>DGdk>2` z_D11G!}(n^(+@yDxpZg}h%Xs72Dk3HZ%#ArUe7l8(tXCOtt|tO*2eeZT5w>6p#KQ6 zYH%NDM|(|`LimCI$C~K}K=1@f6hUO1X;ic+0^2^Ny_e9;EN6~C=+uRPkYQ-t{;gf+ zyhIK?HK8Pxw}XTO!}nYqYfe%rjqeLGI0__SGWvJ21|?v_RnP`VqD?yh&A-#PCe_ug}6 z&)wOX`Oc?i3#^B%6WGkuC6@=^CBOv#7CY?{FU^ZIOj#Rak`(!jOHxCXuMLCPL7xu? zM-}B>=tb2Pw#FZ(gn}RwoUp_H>#L7bGgij8UH(_2z_HcEHjC4fEWez+Zynx4s9S#r z&N*o&p*bNCv0tHyy=sX+*nmXykf&F(tABso_9mKaI(;rJ-QBOm=exX44f`YBEH~Lj z?yh!t|m}6-y%WZBY z-f;C6V{;|S6rwLc|JR9Q2BYq$tNrPCQr@WwEw)IqVuf#0U4FMscJq#4CnE_^2Gzpa z(_~Joi8L0yz?b{ID!mrNT4T|S4>noHtlxHCo*#cx+Y=EZlQg+(OF20?&6*5;##;}# z&Gv?SdVX%=+O)>mHu|gYCO+Ci>4@0$^H@~<`sMM|YkvxH48l+v8;BZmeNa(TzWd|H z4`reIopJ7U_fkdUosmSp+mrBm^(tMDpGmYnmw!E)hiA&vh6e_W^K=?4DP$>q%!cDM zYPcL%c#@sr$N|+Nx$2_f>Ev~{+tA!^%a_l$>n#q;_=&h_Oj_0YtU+EDHD6=YW73Zlxe76tl#+@gd@m*#J}IUu;P&^IwsY6>&*XR8EkvuVGSc7An>3c(kXm}kdnsEXbi;?c~JMs+EG|1bJ{$DlO2Zh z^z?MpROWkqpx12g(md*iZB?ULq3Lk>cRZvOI#c|5N-F3(L&peyyMxPlC_`Eu(#Y3X zW;K~pB%hAYdVYSc(`cP2gCHJ>x!Ueg5rfGC5aOXmL`I62Lt5~eG=D9@5{Dg_ROvR& zsLd)uTEdrhZV(U=Mdb#zT_10bXDhVy^c>eZ_kB~{_orx!Nn~;a+Bkz7HuFBdEH+qC z7lnrl`rV|k8Ik8@DT-BD|H=1etI(`cRo37ZUBRC~_wxHYnah>~(;Dw_-e@yT_r8K2 zAVWn*$BCaz} zBTJRALzjyT5s+5NT*)#2nUi`i=zmwM*owU7z5V7RH-}A=P2NE9pTBdYTXQOzQED#< z#?Y9Z-+AKYf*(HM#uKpWLu94Fy_E+f&81ZvbWjnnj$FclW!~m@>o}UiP{mSLS7&Hw zxb-cONsIN|d?_p?*_*>S(Z2p@ZEbBN9Q~s6hkom_TC=@QCjW%vYI`_ylD8!;gDOJ& zJLMeQ__*>D!RdbLN#ux!Vtz4y>H*4>Fnv#cy4Q?oX-g8;M=_dmdfG+kz()Z3D=R3A zS{gIu;93nq-|J-MXU4}0Z_6F9#5@jWz)26K)Ah92h zzk^Oh4PetsNJA&ka71$kfd}`=96_-cOK^Dk1qIYpR9RgIr>F6leDF=+R3xG(T#PyT^rivA zlx+|DIZZaoMagi`lbG&FJXJ{QfiClgMgTQqBAb7^4y;NS7r-SPoxrf$zb!sqSw!Rq zh;(%ww373FCO+B&r!Qms8h@+i&cZ)inerSO)}DM2 z3wd}4jG~?gLy*Jo6rxV*ci%29Mhsp2`I|PqB6cOxEfpowhQ-u`E%XI%i+Yjs=O5t% zq-w)1J`mmG$oRoEbOq6wgxm2~u5gdchw_Q*MZhYzN~b|e=3{VE@VgL6KCp^&ET4DN zjlg~V1|4LBgXxmV!5D(X0BNhtf+@Ae-ZHh43~ndPT*PbA_of41NVw7P7!hpx57zxJ z$G?k)O2v~uAJK_Jyl9A!_D;{0T~XdEMA6)LMJtY&j-1!LFpdmmq@}@$J&~;wp>e1H zQHUH94Ja#f3*oDqz1*i}OzD z>U5pL?~~sUk)nBkVVK#2k*Pb>H>~l(s(bNiEFMBRr~cAdAFeVmSi{K42Z( z^`qervt~)&VhFn@$_d@R$YBE;Hy4*Sw?Zr?gS74p?3L!gg4oQIM$Xxm>p z>eG}t@ALH#@P-H{JTj8HH8k&Nr_Tg01|9MECui&|=7~o_#Us>9ReG0tuTLSZ5k2A?-QLZ~s;-7{btJAS zYtg_Ps3AV|VQl7?lUQRyVq$<0Of(^lK(icMvM8Mk-6)Ma`TaqzD?e~IdW&ZoM|!Cp zXq|IYtKRac>UhLU*|33Vac|!RNiN*7Zzf%Kh1M^j;&>Y%#n+(ZmAqX~tpL8&>YaG+ zAEmKR;nweQ-GBYX`cGaAg!i{Pyda3h3%`^O3wKWb`o;-v#K)74)4=EJdBXfNHL;06 zG3aC<+DCPaILnz*;1eiY<}xL*hjmJ?_e*kFb?SHW3qKV|$$i~eHD09Dc)UIB@j4~% z#FMB6IUbxG53XG_8$Su4=jGw>>w7ax+3&H=s$8pArw|(K7tG*}?K0-6_tNt~q0JR@ z3U=vZzB5z!P=pIdP)HRUZLViR-K?`s!4HIQ-sH6DdNP1rn(`9qJf$H&HT zV8-BvmVGZJ&!qou*A*T*B%^cm)mieciBXlb$>dIVC?GqVG(uyQa;3|>*HON+<^wW< z&SJeqCcl>>_)~REI0@3L#&qHt_LOqeU9EndsiZ|>B_)gmnt)Nae>-Bt$e-F(+i(!{9%Cr7c3yLOX*+^o~la3R{~VC_6H7rvuBMxuR;^=A-VaO~UeP8N%uIAq@9q#TQXx-@B%pUl zw_}yrm2~aO^;fgRy48OcHk3&?=k`QB6QF(lx%satnZsU()65_C(JNwNFu4^=xl*wx{G(!& z7Olj!Nu4~W=_n7CXG=Fq-tKICTBgU#3w9o*`etxKLJ?Dx=o*CJsm5Q?r2Mz}X)70L z?B8UBe_Syp3IqLc;hQ5?GiATga`?1yDncD=~OchwL0;)QyfdcztA|~fSzHEIq)GVq0eNt znB;(tCQ~f6@Jr8^cp}`bfDm&hI(@B$eSN(D^uVu z(5-S8%-lXGXEiUjCht9WzZM>><1ChAB%nXKfx#<%I{Fm_+`Ej!QqzuWr zUEW}Hi{TqF1=%}QbRu;$-pNb3&V_G-ml`G15}W4=J@dmB<0mp=9(JtROO;`Q+&^0< z^PGmNj8y8Yp-s9_c}9 ziWZ0$&~s>~wNlbdEUM$msK2?*&Z=nB=1MAo|KG)B{+{WdLG<4$(=F0O7Y%e?O4zZ) z^tXHMs+YyrC32+i03t|oFnL|F%3C3ZcplLelDDE!de{Vea)B2+r&=&D5ExkrQT2bB zE9CPO>`=?C&GUo`#^g^FvH%UvPTSvu*$Qf@*jBf_IB$-LTw!6`8F~|%`D%j(C(w_W zOGtz%ZiAX=pdhHh>b1IVmx$An=Lj?-5g<^0mNt2Lx(BV~j53>1ckJYt&K}633fX+K z#pj@V1lbpVqL<6-cxm^HwzC%m6LjiLr?ECcYN7i={We!%Jd@k&?jRT*8I-tg`%^_n ziw!aFj6sBMvYl=BI?ag@a_YXP^V~a{eY(F?{>m;Y40d_~TF5YY(1dLrA3IFn4H6jP zGOCv+|zE9fD)fGVlK>Ku(*?=AQ>WZ6+qDfKNdm1{#Q& z>Fwco0v26d>7@5&Qo_PL%sTZV0i)?`H9#^tg+8dOt_~o@>%eQkY`Mmq1FK$hCHUB_ z-i0!WeU@GyZD)S$_Zfm}1-QCh2hjOno-UQ6PP+ph2YTWnBas2U6JBH^#RXWar7PU% zxHv~pUMo_wKKe%Wai~{n*V#-L-yE`n(7ijFI*0!?yWQguE!|iJk5zwRDa7fr)n&W( z<0_nN$eajPNJz-lWa{%-|64?K{4g}_`N6wfE(hWrcn$}$GfhpPQhW2r98`i_%*+ZS zmoStAph4DP1C=YicmxKhRdqW&9Y79AJrAA}8K1QY=H6fJ;7&^i;{?lb;vz+FHmA;W zso^*>FnYKhWvWrg;yDMI_P3MU#m>*3=Nmm^AHAE<&6Y32oTUUC% zYM2yi5YjlG;9mDP>l!Ih_;!))wT2ZhQ*Zur#<*c?|Jw$WdZ7%K|Nim(U~AK#;*~Zx z;UP9p)9=Od>6keqOLx7<6pi+a*qgG=_Q2xV2Ob_mq&Fs*mVN|i;# z?_Z$w5CUei1Zhc0RG&4_J@C3AAxD2YK0HM4lFt?DI+z2+Ehly-TGjqi6VsA(94YE% zC|vot-^Ff>Ijho};KCFLe6p^Gy@O_bF&xAM@`oEZALK~8!&D>%-h+a@K7$xRl(5lu zk@^<+&=3p*b%Q4}XJ8J(hU8zDG92_&nX;YLp zq&&YZ@w|hD0v;Be4(5%3@YCPQiAqCJ*wHZL!^CrG1ym9!tZ}hngMjmz!CZs_yA5;%fPBIPB(_XWz_WkTZg24iOEv6kGt% zl2#2DcQPuG>Brhi*dq!TX$}mjl_*s`78vGDO^w9Zn85w6-=8kohL_Bc-OF?)w2nOJ z#qWg|%iO5_{Q^E(9;ZL8=Tf08jto>GO;I8Jqn+j^CIF6_Jo5dF8Z3dKzQ_6Ouxqt` zTV*gj$8VW}1v?z|xAUHliksz*0qwrmwuEo&&{tqxf1yZK_Tx1=uIk$1bixl23d96z z$k)Pcl7SP)Azt1w(~=-B31 zxtK}T)*u655Z6%`{;I`lH4DosABj>P(6t=AclnC*;SCsO6!MsyGtp9L1 zR2Hs5TuaG^@*X?0n1{P>Nsag?U(bTIxFxZhQYf2@)E8FOi)`~4dR(F3T6@PMVU?Je z7}YzgmL=G#Udkd+Ec9i8()7blTV+RReE$$=a#y+o{LHi6b&t2>g{72R4N&NTslE2B z5>q}qkIBEPCUi4&Ey(i@0tXq13E@z(edCQytXbde0*_CB0WpX~=>S>;5fX1D!V?yP zWE*^BLjwC51Z^KK8E)6do4!!po{zerc&!rd8(E~PHMJpOH72?$N_Ij?sG6JLK58QK z+60*Ee7BBjOGzs$#O@QEL0$)Z4_TmlK$*l_1+=5giy&>pK#1qxv(5gfhO<0M*%V$k zOM;G2TS|6!ZQ3BaP`3ew!L?77VR74LO}T+ZC5j@k>Q|qm@FGjLT`aK2Bf)TNA(H(j zFD>Uyp|hYsu(N|H@gRvan3_IJ;eUskY++;NSB8F$5;V6w_>2>$k z)+d|KBP2XH&za{B>Y}whMTCqZj|i{P2r>OrA~u~md7@48#DZ&-Tt%5i0(nTow2uo` zO`omKEb>Pc90WTVdr>vuto!docFYH=gMeClkW!^nBJ*?PoVLG+7bX;H<;PxDHpAfc zBL{mPS|*NYP1pSTZ-^TtWu|DWAvGNz2^=|ZvD=(0L|VTa^#t+}IKs=xgXCJ<{K0kx zrS0v`Dw$zg;%IQdzqPIo$6yN4pOs*44jTKW{a9~=MI84CU~0dfpnjv4cWytNoo=oP zLfT7}C&gOmBSa5>SWa+4jsUrE3Th&q(sKJA}4K-q)8$Go-3UoP! zt()FF6(X0*ha=p9;5c16IJ*_xKO!+!SQNW$cq_D8r(|1 zjF@;^yk(TTyD@ttG(N+OlJ4v4bM_fF=Jz_u3Q#0o4~&(S5aBvLlU51-@k7L}@fwV6 z^0yqx5;Q4cONXJxqC$pEBAM)e!*TFg^`j&>_<(*~$~wgJ!65gqeqyRf$d{m&(hi@> z$-uUIin)YoDYY!>&lK4*Q5fhKaZ!n>@!$xC3o*?V3Vorvj&QD2FH>!=`#$gzkva_D zJ#`kH9&$S^h`g{qo9L~g)yEz9?|0q}n~91^7PTZCGVC5A8CJc_E0`OjG3cG)67I}t z011F7hUqmT8ir*U%^Yeny|?%XC2cv1^;`Y7H{r+B?%4HL-JZv~yOj1puf&4BA3`+m zKJH}ZN%KU2BCbz^w^I$n@=YBy3^n@f8ryy|kH}rJ&UBDYDGNnIG7$?CW!CqRDL5nX zceMe(bzSW=UFL&eNK>o#Rhh{5&y5-Q03GR>xYLO&%_xS@mGC1M!UKo^P2}gT#xj(< z!S!+DS(F%Wwcp<1;t7dpsw7u~xqp5qs9T{vvC@Se2`sj2oxDRNaHJA^wyR|Pp2kGm z_zWa>m^+HO7$+>ofd>V$n3YiufFgxA3LdKTAFLqci&Me}{+l!cbXWRDz=O7DGq%RKZ(i*Xv5D^hKE7n0(=hX9zzcwrs9-P&pOV3ib?gYyAYmRzGFm1w8 zg>^vlbf&k3t&1OZvtz%on=KCyCH-Ixsps^iVKP3fMZQNS`R=L zE@H&~jczZYH4UjTA(FydWIbHg@Al`FAVtFI2&&iSluqEva?@u?@D06GwGcJWJ}a)= zQ=uKijfy&lg#uPq0Xz*?&V*lK z%H;POmGU=yK-py{zGfEn4hB!(maNi`LsN!f;7R(iq1Z{3n0B^=X^LVk?6 ziIk#$pfq_l_M{xf?10*bDNx%SpPts}-khwWAB&qB0$nboG}vo5Oj}Fevr!)UBY4JY zmV;(^=B_U<`$>B1LQmpCv)_xv5pNf3yCD zCi;T>fgfRp?)Kfuxv;o?9oBR&?czGV9j46NJpEl}JEav|+v!*Mtve#@+t8kM2^1Ik zQpGR`PGYfR;t%!2A5@r*@uzHN2++S+OIA_daEW<} zN;OrcD>g=x|yYZYCY4vxP}WmhS5EUfvhV1L zA6#bmZT-IIZ;{Bi(Q4f}*ia)<^NBClbn5*{eOGS~*Ge5_Li2^oLSf&4Ce-QmTAsA~ zLHwBRTNjT0Z+0$S0>%^5Q29yH(|Xq&UDllUmxsIM>SHS(JX-~Og_k?zIS25GDCxyeuRp5rj0M)mUEN$DL4lW} zw%dz)@{=Upj8h%g-PJOQmSIvsom59;Q`aL={C~W}si<9=S}6$7r8(PuL)YwHLhepFUEevS{lap8w-ofY}PzUN};nqwZw zl|dNfFxOqHA8Q(k`WfjdJvcylkul$BcD=l^t8{B)$QRHaz#w&$BuhY)Sn0KZ>~I_%m8pcP0jTCsc*j=YEkU(-JWro z^a>$NLUHJ>TtwOS`CA9i$`#|nN{;ck%~qq!Uad6UvwU62 z?}WCdRaD9ARxE2rZQD|C8dz(w+WWiWW_e$$82bkCXM!F-*YSwZh(vtSE*+V#GuMXn zsMXJ4L<*oLg-2d&NZ-3MNswFUM9K&K@c0P5?PBj7-Y!JBUu#QaccdNnvcrcPEe>hv zgXd|pax*fYKU+;oHHu=GXn*dKko%j5e13`Hfl4%?qBO9&PKrzex%B9>*0}v_bAz(( zYe~t;3~0pZvdsOsrIXTVrs@1k#2+!RlrsysYXG3tVf86ldd7Io=Nb-)9CuV_L6ueh z<_*Cl()!Cgsvxx=+<}j&=(?G%h37V;!liNR7?Si@Gi|3|!+TEOw1uP{lleLEy9e&g z#?;c3D<6u{;^zuQY)A^Qo{2_%opI&+W^*x_#&qx!uqtY&=K41N=NmmJmruZ-SQ4)S z>;}N4HS?h1UAIOzamaV>QH?LH6kRl%cyPJsO6eDNCbuVI4&kxel)dlz#Z1=MmOF=* zUYqJQOct{YEcM~M^S9F#m@pl`v#RC_wMp~lqfXD?$*4Rb$v&QHQt~1 zNMI05FSzzf(>IrJ&Dt40Zy1 z%e23dX|ZYt;J8Ebrkj}voSPyOJapdQYPZaPSHoER)TEso5l{q+_3;rfJ-?(i9qeb} zM4q*@-UE%zzJ9)=x2c?S7h@A-X~6iD92#v1>i9u6UAi(~)-TC(iZD*0N>yZXcH;^2 zYupoit&(mT^)h(Rk=ZEcqFUlC?t!IptTvw!N2=89r%ak}TqgFEz~))ehcwEuUb6z z+#e8JA~dsC?(=ZV#m7PhomRfAxbJ8A^0oSVnET)~tZVeXGa*W7V%X2r;O^`D5kAh- z-lI@#&-H9#@?CNLXs!NiCNW_ICF=`z&uh?accn$TM{kMndeeR}seP_SO^qp&A5vNs zhUA^gD<*VYvh0q76k9}Q09bIB8tn-@frHdHwDeaVqolK6SkWHE*Pe{6X2y@wtL|n7 zuCxep{0*-8nMij`@R7JUp%|mmVVX<>lbQ60L!?RHXV-z=>@1sogzAO)^fux(x92;4 zG)(R4l<;6dg2o)*EQhN}?(vE@!;|N(Jug@=?c>JPk@mVQ|M3aHwOL`=M8fst>CNWK zZA%oGw;8f-&!=FsfHpNJYPe?*TK8obZ%-*|0G8orD&6sCO#?%n=lM?^;2C(T?OZh5 zP;YH1Vk6}-8O=DRZA|E>=Ed9;!8E1 zWMk6XtG`CJa%i~LME!fjTrZ0}BkXc3K>H5i^`-UuPB79(>B4zEB0O{n-trtp<3M%g zG#y@)k;#1b-eB&Y_`PKN8L2b(p-a)KLRmVmm3gy7aphX*UDMRdl z)f+G`e)TQjoFC4t0v*6y}$MW3#B5a8JWf^QeA5@N@z++{)r1jeKZgUI zaskt1DfHq+X_MMRZ_?)bTzi>IILQ(&`>Hg+Ww(<3(#p>2-{3s#mq-W0(DUegp)gmQ z7*;msEX#)RQ#)?a9Seu(xGy#r^X|{MA1gPOO-A&fm!`)NqOD9WoV5@thfa6aqZ0!R zGXzDMUjKGCcuYdRN1JP;QwPHUo;=9*aRn;u@AQy;PR9;^lYq_!ncaP#X{DD0lt>I< z|KBh1zoE`Ie0VGk>q+UsJk@rO^-gl9+E^v>U+(mY-^Hpz@qdp82Wki{v}w7= zd~M6BJj~k&;?Zr(jC#C<10HL_bGEe-HxeClWk>cGj+0@+xz*{V$RdPP->!+ zh2S|)-ZDmsf{F84y2)Rdwb!D}EOE+c#vbL9N*!T$tAXaP%<01IN&Kz3c@3chzm$_x>1A;Z!U7sqQ1e!2c zCnx>r50?vFdQH#48UBq9f}=imx?c0e7^i(NU%iYv3X3u6eJc&W?};qj(bZlZxpW=2 za98ztpwMzg@3)LktZ8b(m59{yXPD42(a1NOX;ws2Ef^3NlWz#Q1 zsttUdtN1###v>__l0Mv4J_VdJtKy08bP6#M1`5yE)IS}e#>%cnC0>3?<-1fSU$kU+ zur>bMv)q8UrO{_-j+ORrNsT#o1`#;V6pO{WUX)dUWym$B==$Ha;Qbhu-7CYCnT zY9+b+B#6kxzQ5RCF!Ri)cI%vbeKfgwF4_vbH8nl!4x?6~3nfzoHu}5+Frm+p3&_|`g6uRs)MT>=_9N+B;@(dyG9QJ>@f5C0R9DXw z+Ytd3rrAaDiSjPOmq~=UhL%2O7#)uWK$uXh;yv~)5AN$=RIl1$F z#Ox=mn*^9TK2Pj9l zhH_W_V1+a>@E7+E7uub1ydlOT-6cD1eeJG%t~13&-Y z@vT@yq&VZ;4?HG1R!674n9=Rv+Qvesw6e%sjH`;+3W5n7VL0Wi_cN+0=|65^8KWm@ zD_Y`{4cN(HMU(y6sQ{vFiv2VuCKsySwTHConPwH)Ci|}2Hw*9B+VOAuJ3?Xa1*{7k z)fuBjt7pnBCprms>S%Azf<|s`FQqRK2dPn#4R>|T5k|FZwKA7(Lk>SR0ZnM8^qWy1 z3>gBemofgF&yJj}a?B#Sg)K_*7zuzLgNlgb%X*La zWUvIPvNEZ(++ornc79YMgT}!Zg2{3}Ifxf^#wuD7x0x@W-^aa__|Y^tgvdp;&?;r>F++~p>05CiSlTwDy7{AQiNXm6-F~D%y zMrJj^e5%b&7Hm{i~p&n_N$;C{AiZ<1>|oB4#h50p;h+I(-> zI^7h(I?EK)n{nOl3~w5QU&fJItU^ycYvH6ENx5a(cAEFbI%E}c!x%%)@VJ=FuuD<+ zyonYD1Yue!@Z`%Nt&hev8x5SayqQs$nHU_Ud|zULE`+reXKx&7(V)^UnS_aTRrtW- z68?`E;G}zx9M2<7Q2N?+be@2zED65xlae2p6T*`f08Mu&-;Y=97eIV3LADlQ$gd@& z9dC!V$zNkQQv$R8S01aSs^x;|v&G2H@xDbeuqLJuEPvH>_w8Fe8pl>?u^FM>8+B8W zp>k&=BlA``wk#LzSY(;cyq#uBGMpiGRh5t-H<4=pn{OOD)(Pc+J<~x5m@56Vr;IC9 zI(f2f@9}n52@%1t%P!FrSwk<&-E!C>34bViAw#*qbqP>g5^oyJZj6R(NeSd}oqMst zq9&hHNF-BI;(;F&`d4HanAg{W_RB>W7#O7g_7^;il*BN~^+^yt*a9OfsU%S?W*qW= D2NDAs delta 12223 zcmYkCRa6{Zw5@TMMuJdE zFI_ddx2&3LeskB5Re=?R-8^=Ia!6SYWHx9Nzx?sb>0-fM=@N-_G>N^YzD5N+D|wO@ zVR^Zp@9g?4McqApGm3bM+%=Fnllhj>E~U!wd1gsgT#DNuETgpTEC$rOwvb8Bit2V%X+(FqyTD zGm^rpA4egK@aWk8gKbp3STW6drkI@HrO@~O982)u^*B59PThttzo7qvghlp)S{m(H zgx_`FZoT92AO~2lw;X@`dr%^uIJ9)0Ab-Brjx5}llIL8jO3LeSb919Xp2BV{;&G~T zh4S$HY-`{5hkodnQR{wKlB0M6{%kQVc7FN&2GDIj{9PwZPTcb56R2{*$XAKA#<=@6 zQCZ|@qq|$u9Ni!QGaLor_jp}hG`yCz@wX6Jw1IYtcf;>*A38f#LZ3@0+B-D-_qoOj$xNEtKX7Jxx+AlYX?;Fu# zA-Dk#E2XM5;@Q%rN&_6Qu&|STZK!zk2#APa_hb%pnY9R~>1E{QUB%_Dr(@kqA_SSWL8~g4=hzAGi$GRcsEeVgKTDitOD7%WvNga+3zgc)dotD{hAQ1a2{x( zR!K$T_R$#`8KD!h;YXTWZuaW`ba4Lz3m_Lz_tw^akbAd1-xrFmFDMqQB3xEmae|TddHDZvfI%#T`{R#wovQGz=o|r?pJ8-fr~;z zg?;am7}b&TGLUE3A1<8cpbC75H>~Thi1w(D+Vfod^cJy zE)5|eXjQnnx{`h{`9?KBccUavK{)t20O7IMv$y{;m2KZ(`K(4xk_@0?VG$@})6S~O zH#X`7(p9l$3AjtJ89=@w+NdWmFflP%jwQ{fEH3I`V`E

Uf_2-r>sefcal8Bc?( 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 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-button-1-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-button-1-webkit-linux.png index 3d4711ce67eadc87550627bf44134bd53fa007f5..d8f36eb9b8acb30c6db4003325afc6317cdc3eeb 100644 GIT binary patch literal 17070 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 SEclxf5J@q)&qX47-~R^|CXI0b literal 17116 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 O9zRr;E4pv^?!N%%Ko}1I diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-content-do-not-through-chromium-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-content-do-not-through-chromium-linux.png index 3694ae761010a2ff48bf0ff6e9d4f5464dcee2a4..b3b7301ae3be88201a9e1aceb1f6c3a0ad0d0cb9 100644 GIT binary patch delta 12259 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 D2NDAs delta 12223 zcmYkCRa6{Zw5@TMMuJdE zFI_ddx2&3LeskB5Re=?R-8^=Ia!6SYWHx9Nzx?sb>0-fM=@N-_G>N^YzD5N+D|wO@ zVR^Zp@9g?4McqApGm3bM+%=Fnllhj>E~U!wd1gsgT#DNuETgpTEC$rOwvb8Bit2V%X+(FqyTD zGm^rpA4egK@aWk8gKbp3STW6drkI@HrO@~O982)u^*B59PThttzo7qvghlp)S{m(H zgx_`FZoT92AO~2lw;X@`dr%^uIJ9)0Ab-Brjx5}llIL8jO3LeSb919Xp2BV{;&G~T zh4S$HY-`{5hkodnQR{wKlB0M6{%kQVc7FN&2GDIj{9PwZPTcb56R2{*$XAKA#<=@6 zQCZ|@qq|$u9Ni!QGaLor_jp}hG`yCz@wX6Jw1IYtcf;>*A38f#LZ3@0+B-D-_qoOj$xNEtKX7Jxx+AlYX?;Fu# zA-Dk#E2XM5;@Q%rN&_6Qu&|STZK!zk2#APa_hb%pnY9R~>1E{QUB%_Dr(@kqA_SSWL8~g4=hzAGi$GRcsEeVgKTDitOD7%WvNga+3zgc)dotD{hAQ1a2{x( zR!K$T_R$#`8KD!h;YXTWZuaW`ba4Lz3m_Lz_tw^akbAd1-xrFmFDMqQB3xEmae|TddHDZvfI%#T`{R#wovQGz=o|r?pJ8-fr~;z zg?;am7}b&TGLUE3A1<8cpbC75H>~Thi1w(D+Vfod^cJy zE)5|eXjQnnx{`h{`9?KBccUavK{)t20O7IMv$y{;m2KZ(`K(4xk_@0?VG$@})6S~O zH#X`7(p9l$3AjtJ89=@w+NdWmFflP%jwQ{fEH3I`V`E

Uf_2-r>sefcal8Bc?( zaQnmvS1ssyZt*K!Q;6ewcQjGJ{n-EcP8_eQ{WFH_cQTy%b#{tax=$&y71~qFaFiwV zypXTK2wg`}pbb=K8k~wwwt?_%R5*K*DBIKEHZbvXK4^iJl{A!y;LS@vLX3gg%&(Df zJ4TKrUZN3iyYd6hE}&bfe1Ez`v+KwcDN7?DARr{Px>WJ{`g)lAQ3a}V1d*FJM>BFJ zG!Hh5wO}s%Kc!RysHlzBQ6T@2ABhojm$#y{*(3)$bI9C8bG9Ko=yiNuD{&H) zPW6cI_2|Jvg5K{|%2F=_nfzmJlz7gRuV}3V+z!8WueG^H1JTjUD!DySb?WHofP;gp zHfU8VQ={YZIGRQz7kPa!XK8<3K*DNrH12bi}PYUWI3eUW}ACe{qcIQ zL@~|m3`11&r-PyJCsKnpw=$^G{BEDj671h>bleaz?()NX8MMIwOYxh1(Ei^Uw#mJHO*Y zN_Tke8lx;BZ7{Xf@1?9$Nz5Wc&;K;15bz4i(01;s-P#< z^Tq*>mV0B#b+t}geH6kz(4K*_1&s}wGgmncfu2XS!%R=to=7TtQWFbPRXFj+0r2JrS02#?&+ z*%^Nl_>?;Z-IaJR-026t)%~T0uN#2RNmagdw8W2eZrkR77au#kSCkAiG&B-Ui;+k? z2A})$*v`^UynLr%{}vW=u3AH^){9V;?$2QZGuRRn(&=ImFyQqB;N4u2a@xB$e0sA= zP@?J-!8Rh;C|NCEmucXq#3`=C29chAL@#O_O?c9Xz?Cvi`W!BGAFiuI5}UU+eeilCjYyl~ySoO)$TKPB@L( z`FB!K=UY!Kr6|R8m>lMHpbAhS6HDSGEZ3(0?0LGV`Z7VUwzJY~53QB-boT0=E2<_g z*L_7YT!VLQy=-Oh4X{hj5A@ul4fZR|@W@y!`puP1!6zGFCrlum>S%jiPhr%Xf5>4( z)raAgJH$&jj9#MH!j9M;KZ&$mJqary^3?K-&An-`=|wAAwzu%j65j0XzQv zx_>=FXQpKi_l2vAu3}$$|BhZS34rP42bb*ln=K_Qn(*i^!!Rg}aU_%}zb8}xX|?+2 zUPq^yAExo^4|pDV(+q##<3shG!eVc=)pf)FK8xb*QUuxpYcwn7bH#&Y;wWOlXrgqx zrwsVlrzI+qgPT?|Kn&5e{bhWH%tz3+1 z`qnT<`6*5PaDrD)Z&QFV^#qMWVa%*Ogt@OqGikdNv)_vN-rdQCNXtFg$ukwPo%O0~ znha!NIi6xanaN+IkX+wvE`&`Xq@yI;_eo9^yxs58>av$4T^|GkV!Z6|{(DS7L`^7o zdv%p2=;;9Di1_EajS!T{pn#??QC5BKPIcQo>_Y!$Y%E>gV~fP=z8P z{HM_}+kydPEPB_6{jqq0`aJCk=zvh|IG*Be1}MBH_W!YEuw1NHTMpsmjBif^3WXTwuaG5PX2;=$=aHSDJ}LZj{UT;Yn|q1E8x^{u zKPtv4k)L_C=o06(96o_Rv8NiR?sSCs*(F7(X!BX-O|ad^#0^f%@r%K=*JaHuGq~yp zTqy@z+Q^CNxxpjuB)fBJfsAhcz_ujK+=|yaLSko-H#XmDq38yCa za}J%d&X_v8Odn-%zW+3fNf-hF;w_l>{A_*y6^^;3rj)0}jKHzf%qJOHw-~Uo)70Ef zYvCuAv>QjZA{ur161Fgrfao<{$6XTxGioiw&9}TR-x%3;fi76n*{*>{*r-b`}ke zzbC7e`MfEyR2K{Cru8dJ!(a-{Jn*J7I-S^FDxbm0ck<2OIN7QH;z^s=#-04x{!3qW zhQ;cE3ZIAEpHXT-tAl#k$(+VF#Ccav4o8~eg*_?O@EN|U)%f&`d57SV!Vk%~+gkyc zyT-xGQrXhkl{{++9~qd(c&Bx^b)QL@4{X>HVt22^?5U@ymG34m+&HNe=ua%uEL8~T z#-V*hBEojn>zC5?Z{GN?IIqS?iLjI!i7MC`OarW+A%(FSRJ8KAga--@rX-XwFd!It zDRGT}!;A!>YEcu3iGg2du-cmOz4CxO{m92(cV{cz&*y?yBX&?Lb39wtCqzw6eZJai zJ`<6mUh;YA9s?B>2fM#gx8e2aggs;EzZSY!XMUGuZe~WW_ya^v&Wii%YG;_&ZqdX( zjl+DX&HW_vmXgGq@~#|SE6ms|a8 zPf)K_@3J>`cLuf0Plp9@*9TKI*pL!;qI2>>O_C_^`T%e1|MwR!CJ7hF!^BuJ48wY% zI_qJ<+0}K&aa?#u%>OdhvsfuEzNe?h=k{1vp9%yLX^Od6g2GC`%k6@Y_w`~8y0xJ9 zbzu`?mY~P!`^>+qu2W0CIZ)*4vD$n&PEm%guf=Erkyn-ePc2qn$8|D650=#s%^xr_ z>_7-=FtF7Zigiy!L4mb(xZG4RPyZ`h*!M=y^I|=V*U>1Q%X(Hl)7yZw7RDI$4>6A& zQOerdS~NZ*oO-Y&nPPt!CKv=tXYYD|L$1`)(8AXbQ|Nlwj)uHKfx9gAbB>6x&1`9_ z>j9MJ14a|*?!wzldg1&#uWoJzNr}WEQC-EIKs5=<>XvxWNf?etUg6w%eTP zEeT76S^Js#vEV;IuD2M?Po2sUjpMNPcZVhr3)P0|@G`;9*Vt^y>+9>#g8JEPF`n|P zIIg=}bg1y9t^40~w9@z|+$+dGXy5>~hIOwN)G~TCMxB${!WH@^IwagSz-+zcr{_5+ zm}8%W%$YiAplfwF?;!bsQgDc^c@b!W|9mGHP$61J#v=PR@E=C9(t>-u2Q*Z$$_**a`ABFY=&(bP}u0Ocu~o9`^{%H1KlzxY{vc! z>$U<8vOG1yJvaOb%NY{jpaDo6H!Q6EliYT`C|k)xz#F`MP`qkg7+vbwfWmgX zZle{B8K@~{H`+Zz%Md2Q@{(}p4LaCC2`j7jG4Dd;!Hje#TZ#I24V@`;~Vw$_S{lshfa3gE!!^RSyMSdB2SkZ%!w6XWsxj=G;->J}FGC@+=RvH} zcD6JSD5*`vDQTJORho-iojm*u#N5) zsuMos`7%ND;`Vp{*W&j%px2hmetGr_YaxW}sW{a*VCe~e3k*jVkD`$DJ`a!032jj% zEYl~7HkvyjR0axP6bc$0Ue0T!VZvfjB&q;ym_UBtcq;n|mWszniUNkIahpH1vicGn z^}768!^6WN=|ScyKHx&566G8UWoM1W`tROb%bUR=9eQF88ky+vW9i%#$KR-`p|O`1 zJc@HKES1uiUwspq{CK`nP9NWGD%L7w1WaZ^Knr|J9^@(xe?^H)t`bQ6iE^!9*{OzRm4hX?_5hvD)+j_|S&vAu&}`d5fgRG~g+9rh&O1YQ!|E+grXe|tIF%{W>9;2fJ3C^3Fu_%jIwmgswlK?6#FfB~ za`&^1t~3>Bw>j2}b=*yCp}->J`#nBB-bJn!BvjFac-|wD|Hs6HrV6OYp}sJmfenC7 z^?zO*Lu(wBelnoTjt?PVOM9<6o)hrI7{qB6yId2kAfyQ5RIwq>mL7~mv)I)TnPEm;)ex{Hgj#XwWmKE`=~Z&8@KfUQ}0q({lh1hCda`u3PnS5vZ20 zP%jOheuQEH=(^*2jJYqKSv)5AgrAeUZNG>w;2&QYWx_B|mg-_UkA1pNR1CJ7#9g?l z=o!rLW-V1{42BE~QuoQIxC-nKsg8oPm7kKPrV&ZC)X9I3fr^@KrLqSsWF*yZcD=Qw zBZQ=~^Tg|Tb+rkkRzH>MrYQ>hZ^+iB^pyzyc9;@~iHVW= zB1@-~%gHnV^uzh#MJXYo6U+Po4}pvt3Tk#hI}R(t^C1VhkN<6bVq-hzyJl)>ZCDyrPnb!Oxm{B%!@YD^FS zw*|>9SjmYmP%O|jG>Bw~A4&B1<~M!#n##_w??9dSw>GzU zd+onqlj6;X%4%euv5gJmi)DI3q-52lg``TC)w;KUs=@e%_Y@MWKK&s!R0||L3Q;!cgJ(+sXp({`Gw>xnmAtP zehg;>rA;4^l7brZMM5`ml3nmGK)1P#gdmW~23{X*KVoYjstcd22D~chYEA$^)Sw9d zce`Lb{9WbIX1+45pQQ=&LyW-c(7HVu;yj9mJW(SbH0X;Uz!5E0NLJ`h_o~Pssw}r* z>Bu=3#Z;IT5fQ=aE^G0LBmRigZw?I#p2p%#v7f1S6+@xP%jsJCLK_;cSOm=}Z>Skh zbMdjR#FyfAzrRW$pIWY&(MvvN)dy>Fq91{3!=t5;rMNFckE++^C65=I3L&* zD0sibi9Dg8navQ}pttr0fEA%Zu`~(RXfAT`)H^Oc{>LRl zB~xHTSeF2KB+-GvU_A`IeTr+TfhKt$j7QdV4)9F@26RIxDK%YJNTLU!P27)Kc)vVpz8ryynz|ybhGBHvY-7bC2DeI(K zLMTA1v6!R(!Pwy(k(w?NR*sl&XnQTUHWWjI_m!g6i44q=(F8xqz^U5?J=R;5iif`j~l)4B&WuNgv@o+zbC@;NQQ zD>3z4EDHL$JP`&9t{Fkb^QN3y`0@=U)%P5*ywBx*1`1dnH!+@K07`?j*y;(x&n2os zpuZ?b94bO^i5nk9|IddPBS@WJ=YRPy5tfS_dXbA@n{9jBpyPCZpWvWA_+GgH0URRa zaG3b}qa=`^2tp@TFD6lK{oFijZQ#kA%&)%^G&q=uEE}{VpF>@A;y}k~d1lm6>E)&H zW$a0TT8kx%-or&2KPBqg(HH#JSA1U8~;i8}TqTzSK5( zc%q%>knN`{r2bW5k1?W5h#hIw!pL4l%1p5w$H_x4CgGGR zzhP9;oXZnRs$I7qn2*zdReLIJfms^uMU7{Qi!b|Sp=Py>w21U#aHyKkbGj|mb6j(9 zLmoi(Y+aAf0C~??^0}TAJ6NaGI92=`q!+Oo3@BnUibf%A^qza^oVD)aeQ+7uJttNx zo+h6+<}1J&Wp{1%K>Sqd?_F{|0AIqD=F~qNe(!QTkC~YQOPaD`_x9L<80Ga9dSs}! zmO#^_Eu8bO$wgF~`KP1BL??+Wy}oGtQY^6S-{86O^SQZV%62kR^59|>H?r70(5xcp zv!&u5f4Vk970k9 zmwm6{cdm0T@iA!|?+xo*?u5#Og`lH-mfkEj=dFnzhW-Aymv0$D=5_8c+J#XHFabBO zd^w)iPDQ7!98vSxqQNEhX!zYY#AS_)j>|XQbB=pH4OOWV2ClD-dgp45jmpb6PenZA(V*SuRm(JKJ{XX*KscxZ_ zHJ>9B$zVt1*GK0$SaX@HRhboRxBxmaoZdr52p*#q`G_9W&x*q(s1c0TOL(-d(z8tx%G zG(dHozS3ftteaTb)j!rTbk-^KdZ7*y-@J%x%8(iS_ePY9s6_Buosy@}b;Oz3H0spwDAKWY1TzNN@jt8htC-wVk?7W_6Qyw4OU-Fptt|q>a+xFY~z5Bg63@=zU z>?rJrV&7G%MY-esR0q$-6Yb1)j{UsDUXv->^<}49&$EL2p0K0lS{EAQC(g^vI>^fU z*IJ(SLMrZ7jx_6q?hr>I`hq;SBO)VG3uZ+O4+jTx@aM9<)aaCevf7+q1Zai#liAD6R9}r)!lh*iCm^T{OY6VlOUBh_ z=>1A0eK7FjG75NW0HDSGtRqo&)@0rL77mF5e@u5#P2kfV^npfNdljVqrryIF@SKdU zm*G-)Wdjl|{l0-A{vKyB@1PX1`wX)yDCO+TXwBpB-(&@$sk}x`%40N}fImiW^g~Gx zGT2OQ{K%qsR8+ru#P{9}xk_ntZIyn(HgIt_Hne*qB1&;$2-tEcpGbeuN*hB7T4yn2 z{AYBt9iolm$Hr$kRuj4&8?=l@JS-lh92VBo)%nxAsp;*ch^e=pzkQ+w>H1*b!&oFG zM;Hf>khf7Hb_$-Cyd_|6km+5+o<#Yf%E;Vn5p(o|t^5IX5jD%f!RH&pDkT-@+4l65 zK)^^F4$*N-3&7_$*0y&;<7c#sdNtd4V~YQEw}Zs>k9z^Bkp=PfS1#~Hc7C|S*ht=}qy zLn?Q!`G*C%v9erRl%$$i36*~~_h?|PcaVgg%;E0kGOAEMkdt||7d2cmA)xmzSKFq} za&p>A47oj;aeA<7A<16r$-gyS;k>7vPo%en`jI9IZOO&*PSO7y@USYISOSBxq8?1G<|fY2i&V(d513tO zn9OF1T#t{wacV;LlqLeSk+MQ8#pa8DcxtVopu-d1J^y*3`)Jv4gpCewPtxE!9;7ZC zMAPTY6ZLw>y8b-9PriVZ_3F1!oZ(XIuT}Its_OJezZ?#KtNleVgo|)+XWU5+28?44 z%n&oa3AE+}L$W%_ZR}-RLgGa~ngSv2#^>vP8Zz-r8#ilRXE+@9{z~7uth-C~*h9H2 zO_VCwN?lC0Oom0u_r{nn#E65>LnH{UYCASaUq1#&u;Rj+oX~w7=!a;|3(Rr4nC6_V zdNH1Qgxc|Ij^8(>_ZVQWHY$Mny#$tlkec*4hsDd2tpT9uU(dDO30!VZ7 zwZH{QjQu~ufb$SJGDw1f^)#E~pQ~g|fTC$U7n{kr>Wd!-R+uzvE~52?n6-zB{;77k z#6o@%!?Q0m3O#T&Uk$jhYuL{jAaco-_Ny`KUs_k42b5s?UNY;7fYN0 z8{bzv3!WY{4>bxkDh6lVEkR<8m){hqH7mz-47DamwOa4Czp%UOi4ZzlmhVz*{kbRW zQs>>`aXFBI606INoQE+xBvgF+%UFDO?7@O>^ESIinK@2(4i-XrB_z3kw_4I+nUKje z@r-FJi`%t)mfEySegv|#Ty+PmGTLnIL^XlDt-JYO9_Jxzrh>0(%_#L1>*UAIgcqw? zh~Wdl~xmK9mk-$4h{mj8AZ12XRDp^Y*mtkj?elL&QWO#=AQ*gtLQSV$^y zR=>kXWbjwDnnL~M@li>DOaDd?R}oc!#lvS%rdmpl&fj+@N;KP1_+l1^FSV5cdnZr8 z&$#01cEstOtVyX@hR8~5uj%`%K;X8kh>7|~sMG9Z7IqvL1qI4yV}R5khI=Yg#v$VfzuhvPi+q|L0y!`&^DB@&v&<>Yo+n?-Tu z$SUEReaCsq(Av%m+FUy!bM&fT9PZww7|lPue#GuFET;(n1=hzp4?HRFd6Kt4NX0U* zcx$tvNR9tYbm*sJhqb8W(VTVt5eps>mRkY{eRy3|^DG@VUlE}4<~gP{ms60w7s6{R zoOqe=l<^s;mcnrBx5ZHH4b{^f?JF>!Kiy1-7!^iB7 z{h+{2?Q)gkx^%$ZyZjv)&X*dcwWw5aJ2l`{1b?DLkazQ2UPF#n+4K6o zW;h-i$9h*f2*!UjRb;1moN#_nFk0jMocC-OJJM+c@*S95wGcu1TH~LW@XYE>9I>-Z zXmt1ah?sfXtqdpUQ*ekX(*RuC(n8HPvi`#1kknIgKJmxY6n9~KGLS5@Ctkn>Ti<1^ zujk+n%=SB+w?Q!v7KMO<%?M{blX*Cor$aOrj@Xg{rPAAfD($1IiQ%WlLFOb{Wq10d zDf*$P1^7Udw|{H%wEtWXtG)4KrNSETtDcShuuS>>jdj;0wjrm!*OShu^+wsAuQMv! z_!(NtL%yDHL{QY=<=|P1-}$M`*%uzWXf8+-LkKDz^c>Pm-z_WRb+l z3`AgD;=ZBil7hcV^fh2?T&1pysC8dry`QrE6+{b8^8LDlR+u(?wpMfYas8OA&Q|r@7f>R|t&?eK5KDcyhx*pkMCh!^>+{gv^%1COrs)+9xRO$!TR7N05iA zz@l@hkHP+_;pc@itl>Mi^2rWH#KZ%Q;Zj@mY$v3t#V1a>` z@I_=?N8t~&-85u#2zDbGJd!&9R^_-wDc&jGs+2iA(60p{&nmckBsSQvhrI{~?wnSs zkilT#M!8a(a=pZj1}C~Q<1d$-Zn^WnQG8*NjMDgBrrcc9Kcm;`pOtJmqP|-;cOZVpKE6N|!E}pez7dd_I z38c7|XDd+!?77Xf9HeCOkt{a8hv2iF-r@-d!zxzJV0d#FL{-6(OX1OgkdN$M8G`C1 zh~K)#D^n-NyNt@s+9l}HS^vF2O%>FFsqD&JQ4l-W5vwwonRc>;5jUbX)dKOTmeNz? z&xLBNLPokT44lT73GYYUb$IkUL)@ktk=RXscQHt|LV?blFk(50d}h;pn%gVmhl6Z8 z#pBG^kni^f4JtxH@MBuy)EF|T{M_LF{=mKR?WlKngg<$=r1x?HYa4%frZ9%z-`rMw zt00^dg;Um_?Coz9+i*|Ii%Doek-g0fdA01^>l{-=UI@*!SK&jQ7M|3wHcg+$xCY?_jv3`1 z@%YzYkM6ez4MlfB!Wx1>!@y~$!=H!rSoAL=H!rW`K3KF0UOwA=YI>#WFR= z4lk`W^`I8gKbhGQV6s6sG%MKYIa!Gy!V!Jt)z#P6nu`_oj4B6>80Q<&HJUVgJPm<~ z&|o~?8X6(TQ~i;Tt1RKF4Edt)HrWBWsVcXy0Mn;`~o!79ns)DEvkQb2pop{VO{4QVp->)A7WUJd`hPkhA^(*iK zLIhwrT9qgP@9Qn6J4EB=vf?-MDpN|1L_KNpyz6jz2k1<-eeP^<< zDxW01vL|*1a6@2*W{_VqI5pv?1HqByChuRg$;E}|)I#L+qUmpX?IR8!^!ir#qhD}8 zgo}n~Wem+!2zhtRHiuF2J5t#bU?*(|VRa|T!W@X7oj9u~evS@Drb8L1o%gnx8ubO= zs&^>)6{v{Lb;FBO&{R7r_~tg#(%Dmo(1IycGalMuQ~&=v5SWbdZ?G^hZ*Q@%q#-ac gFi8Ks`~VM=PF8Ph5K_Ab{RT!}`md`|m9X0wNMaC@39Dhx8DGgh+|h&|T8q4N9XTT_Y%{bax{tISLHj0z)I+ zJbUhMtaH}$$MdYS&Y!=vxYxSf?7goY*R|vI-XEe~s45WMroMgS#tkCHXR`xS5HaJva0=`#51VB6Qqu zr}=o+57!U&U8dZuJvusak0UbDkW^DTBq)1frGL4i)~_~W)8Xjh^~LlSt44NOpZJ{c z95c}hwfS`cGd3s{K#PZk!Oey9785%N^G(Ncp19}DG3(o4_WEZl5$dF zECOGsK~fs$xyAH4$Xe#NWltfz^*_F-dbd!hb6ozbfv%omFWIYGycCvwGF*rAGIFR1iv7>1kuj$h5?xb{9?`K`nwD0O*|Xgk~Fle9A= zz60%aIULo=U`l}UueN*+9N7xFr;Bt2_V~AbRSpOV2oju4Ikh^}%mw?pEj{ptP5GUG93Xw?>swK8s=AgE*Lk+e2kkZ@nb8PS;S@1HBlrC0TXrB5$s|4*Wt z7|$)+@iNnV{aVNBL8cT!p-CI2n`|tkBq8gV*rE7K@+=DBC*n2j@E68!=uA2{~#?6ZDj=gVQGwrIh zzmy=A-g#HNf7*K~PWODZ9gprw!1<9N{O6dFUvZkKTmC-t+p!F%7Tq*=Lj)TojU^wOpM%gN z1M&R{|C2JZ{pdTDu}H|~SZR)1iupUngM}`=BQSI?*x2Za40vBSsAi@3=xIc&s;T=K>wE zKQd!8zNG`9efoEJG!6gL3uKrI(QPri(YhKo)l3`b>QxT(2Z2{3kF5WeG^~GHS&ZQk z(kM_J5JA1ZbN{8S&(cGDHq^52@DPh>duipMm{pu0%Gsy;K76btz;E?uq~GFOrACi< z{7)fZJtJy{(@njQ4-Fg;9IHFDqeE-s!-zfCfFE14s%0Cj8f6PPr0d$3fB$9>w3_8b zox9Yz2IisU!loe0^IN&{^d`>kD9h#5`OaY9uQJo8JzVUIt=y;U)TEEBf%~~`Uy4j+ zW5d`);tuDtCH%CRD5{W4lj3cuv}`wB01`|N0<^3=%1EG~S8(#gfeZXj|YN-1R5R00>vZG${|3^31lDz?!RS z$C=51mDVNeWNQC2Fo}1JZb5HvV!t56B8_APo5hdFH`2FpE-#PgyrxFHN$yZ?|LvjM zIf^n@r+kSd{kod%SMpq{Y+x%+c=pFvr^rZ!C#3B|QrFM|yC#Hj;OVmCwXeuR+R5=; z&;VH1c2k_ddDxdO-82_?KA=0%&I}uhC>taV`9tswnP_c9%aSjP46qKk zJRE!7Q{h-Ws=b{jbKBQhnjUShL3mp%!Bt|TsFJZ~VAgNP!8wDcyo+oFbk3c);wKA# z^LVJF=jQk`!iNcwoCkY#a$k}n*yv$AP>p4gp(+)@H_W(M&D&|H`er4+BrR<|FdCmL zk#0WJ2IaWT`RxoawZoivYAPnMZ^kF=d;D*3J}g z)r@yYjBbSyOY(wM-U#(k#~!x&w@Td(Ep@RQ#(7ZGTmX@!PnXsuJljwH`ShqxxDVZi z>OaaZ?%5Kh8#kX_`8Zh+v&phC&Lqg!^cdovTSV}lX)%ku3RzmWc-w6;imgG=+FvI$Z<6E4NSD{zoTpm(>P|F0L!if6M zaa*=r93_2Q(H%L}Ap;dT60QL`BVI?-%UkV`&(~AT=KU;3#~M#Z8wan9hR;joHFv3P zueUVcMDz|x9QtFigmLnIxeH$&t^5Yq=Irh*&w@IGHP5#(99)sH+X=}%mST(7~J`OT6AHYBez7bES0|D=p3IJ40NvB_|>8nzX( z++fSKuE`#HmF6%E3-M%Vv(Nsk)+jl4bx|TAS<_>Alxm)kw8e*{ZM0k{|9BZ_=VxHh z=~Fwglj~R;bgP7bP%Qa8qZ%FK>+-4>rx~nFj_2uKws>3zU@FEPzIQaRQanXo66$$B z?%k@L%l5z@VMa5_$2zwMrPX|l=s1Y z{u1e;q|hw=tF^yE7s1s!nd6dX9=9JIGq?G-NFucihpr%`?}5712<`Edd6R_qRyW7d z_$aN$X8V58$<=c7MNrxG)$xxz=HB9-yHOLy<8wM+MZ5yed3GYr6u3{dgFY*`<3Y`& z@`G}7dME-^nopj{gv^n4$K)`>N~wa{zsVAi+3@C!iqmquo61NLsO43J)h3cW9alS19BvBn z;qkkJueoo1?&jpDT=6C-7Pq6ZNCIv&-n3}Y5d-hpwj?&#HbR!KklJ3`#ExwZLA7W? zdVY839_K#%6t+AhxH=Wqv?4m2Yi=-Gm`WCcY$)6 z*<_XNQcY5MfPFh|*j0(o`MA$r@!VeZ;d7*|)(d3$2ba7`%R&88Bc#vaqakTJG50SS zHV5mYeOpx4YU12(UGIg9|C&+Z_?#~58l3SoU+ncI@nO-}x0#JLb@ds-B~3ay5~sXZ z#Cft8J_>dblufq{Z)W?hKlZvi8~No=4tW7yAG5f&mYxs9#^n2;E*hQz-8#kf+pYRT zy!ERklxU+tXClm6m%*YAQCfwEy{_>Au@nsbyx7pX*_ttN)5~4tR!Woi#=flI{NmBq zgv*7H$SW9JBmMNpmJs(|1e7x{cid;`{k(_>xv;Zsf@ha?ORS)R=~+jFvY+% z%1?ze@t)BS*OfGDF;ikGI?2>VoMxkIk8iGzS&(fFA*+m%d0Xvz4q#jsyPt2_C3GLr z2gi7@1; z=A{`QUnzy*5qt8`-{&<6uHUMeV#huBR#@WdWE}H+0_PH()jd!`1npg0DhC%giJ|i~ z?WeNH$$0T?o0=I_^8m_X{IF@b1oC)Xo72f)M;!JQRGNLMhOwHBBAAh+%95Yre zOM8G*>{$ZaC1_%LZ>o749oGW*qYWXx$#K}BDZ^v(03;j;$=Xl@II_IIoL6*g>Q-F?DZ2p@XYO6uOWnr6C&-&k-xluqJ;?c} zlZ%tJ2NyD_CW*NYj<)LzjX#&T`2CFT?dvZ~Stg7j zVrI+?ubT@vo*9%IWTww-QlfdcJhRpwF1Tr|*|Ex`5dQ>cX<>aO&ha8Pc)y!(mW5We zuEU3u%kCF^3qF+@<2TJVDQiMUDFq=js*>q29MYIfb>^(VAKpdFLa~ObtUIL5_Sz~Z z!~7OcrwM%-ddjkwjh?0Va>U_K!<9T7b*3szk4)l(pCbc0eYS3DGdY@Z+DxzFKYq-K zo_5rm$Xn-NTZy8;7M-DmU*h}f`#~QdV%m-?@lYe77=@I#ECR z@yB)OZS}cG-RrCP%dBc&&ebnl7C4K=j>JX&>q`E7%Vc8JW-1ZkE#gyGf!PxNyGC5x z#W@A}V0;YON;XUo_qn}`Opg5bZ%`S1>&Vj!=nzbZ$!vR)yD0ib&}Q~tx38Gp7(UN= zqtBHu?_a1FYQDUM;LCoyJ@hipt#e2-Vck1)JTxKdd*M7AW!>WW(bfiPLJ_ClV|#j{ zj9ZP~_#|shkcgA@rZSbv}h=X;N(D-Z~xty)ZapGA+sqQ2d5TmC(pC3}NB=}|gguOsMPEf>yQ030#{oak< z`|E6y#I(M-obdd7oVc*Hd@>c0LciWHzbF5?Xk)DBF^PLHqcS09S#V{nqT5QpONa^d z6~#hqg%zpOQD`MwlUAYj>wxvTZBon7;j&OtZVUNKH{S&H6rA=lh~ZKbX;xd?ju*k+_h=8;q^ilVS8w zR)QwW^lG0XlOn^Sjr7nq68G?Q1tah#`R_sGY-Uky%P#D_$e z?_@^d)+oV|j|s=lf3?3359}Totiav*oU4*X*3qxs;B2;)!*U0;oJU4WoSLHiJPMI= zXXk|+sne`*3AlE>kit}2;+$T_cUGZ1Q#?A)*lee6@OoB3 znc%%-wpw1uEPLSPH_tsJ=tDRob%478WmorVBJd{c2vrTvF}7aSYa)?tz{8zU_3T$W zGV!B6B$OXI-!p;fN0nG_Wkvd|hb0+#L{zPy7|;(m?LILoA~k-+y$Z*VlwKpTF&P_J zB}1&}?1P1Rv|p$?@W@0>NPiqI&Stau#Lt`XAt_Vn1CHv?67WXW-iHg;74v!16FG4T zZ3^|~hpt5JCiwIMcWOe*?I;N)*)1n)C_NlUsC}vY%(z2U1HN#ephgjh2xStQcc<|E zD$@43E?VgCuosVdS$uQgs|K{o?64u^#2FkzyJYFvu!)LBp~8^5dSSo$v#M0%@5p-7i3a>GCWa^FIfO|`~4L0#Yw-@Qq^5- z;YnZ&b*NZ7ZIL2gZ7uG*RkM$f58Yy72~~2>NR@L^BX{{Ji`;XZ>&;cHA?~v21h=<+ zQD_0D-88D7Lq_gL)sUAIhj+XrR~H0|nwJ`eE}p%o42f`ota`jQ=T0S{-+0 z$C}PA>K0u;_B_|tuP$2nm945b=`$9J-DIUV&ya2(Ke=H>4`G56&5ka53Zd_*;YBT< z-lq~J-SC>|lsw3vG&dtexmuF*fcs37e^Mic1BT<1Yazc9qC_{4k;j^TyN`5>+$0HG z@(d(&%m6%LL79Fl0WR_t@~8okA|^d5brXxA;q_}w(SOmxZGLv;P$T)Q;(XB15j=1W zJVO%N7KPzR#5I2t0=RMnb2apx7G*IMB=A-A%348SKEr-ZOcWeN5lY6 zl$KyaB49U}V5O^BAI{dnVm|l%6#}GRU_4$xn_vRy1C^w|kN>GA33xpRV-|@xi2Th+ zEll|{;KjppJ%_CkAY$hfzI_B~%>a&+9vf=jqWFMFfw2`vfx<2j;QlJ`Q)}?Mp}}X? zAn+rlfrjBu^llOSimH`Z^Clpz?=f8Elv^2glNtROEh`8EE73S;%J*%oB&W?p5?PRd zS=-e>Xh5;n_pm`!QQgR`0NTVOFOcR+hjsYz@}I@yTNtnq1?o=m#>>w=BRkM^&!c7l zk#7L8fueQ~{%OZ7u;9a_dCLdnUX6QkACnl2V`z>z0l&cA3Dd2#N&{?mz`pqq z_09*dm`)5aw^~lpDcQTs6m{z#)iHKBn)P$41PGP9$;jdau%lF5Dg$2g+0{(9_zD00 zfq`UwN8Qyu+aB=$I;$ImE(<)Z7iN@(?&`y3rkyet1yEUf4lu6TvSJL5*hKbN0DPB= zE`QK?#kmgd3cOSX&LL^MrZVkTAX@73es62rzHZl(1r)cfE*lIFKvU$A%ncc~`>9EFCU;3j9) zxK&f=IwL&iZ?0|NA}0X!hDtykbxz~G9v_4Iv2v!!ucoWBjg`~Y9O1^z3Z*!YX{!u} zenOt67e0dpIf1VxYn_~~Kr3F2HJ`3z{Btt|v@hRwIDfPSgKw1klDP&jd>*B1{qXp5 zH7CeX+c@Ab)?+;A`f>n>9J;3xO=EC#BDYa3oithr-&DX^#{=+~QZ4+94}gYdjkzvi zxW5j^J_eCtI?+d1ezyQ1$GJ@R--;`Ma=V*H@->6GvMf3W>W0NVg{txvwys?DJb6LY z4_5uDrWjW1_MJjU({`{wO<>>+U0|vkB+Z_?3MnI+Qwmun1zy2Sp4B#KS8RE9u%^L- zlO=`!a%8|4jr?eps3P?B&-b`{e|>y6+>QOyz8l4=oS~F1*H@QWCJFcW82P1SJ-DXW-q8Af5j{ia4FLF( zS{|+Nz$M)FS8hZ-7xm zNzyTLNlY(83=ewE1&nPrY?NT`^&XdWpu{sTer}*!{PYt+~ zu7o5{|3HL=_*qyZ9VV;3vZBGfYf*Ghte=A!OSMcf6q>RNkjLz_OMomDIEnA|bB7sSX-!eTC56RE`aV6#&TrW#ouU=`xO>y^u z|LLHJHb^(_DIL}=#k7(m0sxfg2Tm^to535jtdV?_Vw6IO_gQ6>nMwU86H;9zLIdYR@Wf)?|Lg?}VSO^za5040{Aru?AG(lWukFmJ5;}JM}|X9TK#szMkc^G(tnzznf@r_ zH&fg%l3HF^4pu1CF3$9bOSxs5&)IaF_v4mv&}H@hz4^;v>kkpCGpU+D2Wf43!3isv zRW1@B5Hs%+h^MBDbz_Y+P4O!+S6^LL01`Ewl%e4bY+_xz2k-8dBr+Ctz9tgL689?M zWEiFv6SfKeR1+FcaSZe~ZCfm1r=s#*YO!rcr|)Nk>#sgC@m3YrLK3cQWa;{yD zBoJE4r%vMcVGyD6dh}~elHn6hU%=^diq+cZl#+5fI}S9ULhh8dygq$NLuD<*QWwtF zabwJA_|K7quDFMPzkjDadc~{zk*lsyl!UYEog!@x(2%Thp$eN8XLnm&?Lk%}(czu~fqo^5V~%meAN&qwTnjND93{BJsm zGyxS3?Y1)KGi4)mBB1WGTztGfW?!SD1n#7ckl?kYeh+JRjaQ4rRbq0OssU0(7^%m z6hzG<*y>96JEg_^^u8mOB2g$7ymx|3_!?}`ND|R(E|+0>Z#-gJgQc%&2HW^_?Jwbt zkt!ehW~?7nAxR&%YVV|Al{F}~&*|2FcRh~EfNp!q5`~o7>fRKtJO08ONCI(UNt~-+ z&E8mV8deogOH`AbC@wt5_m`#RNUHY9X+jKZb1IcAtO93h(zB2ZRSe|x3)e6-*oI$o zYTy`ddp}B@pIp}u1-$v-Jl(Gbt6p#Sb=`z9ix^?a zrbSwY{&tSoubc~1kbRQ)K+4CIFz5IMy-d|Z*s4{6N38ITKFVVeANqq4LLU5gqs%y$ zU?VId(~zcxm%wv4RY*dzADdPi`L2B)JhNPcwIc6&iiD>a_|t*~U?8z<+?I)8BPCd5 z$F;{}X#AnDqd~Xe!6TS;0Iin@O6pDkBRXEJVkNHj2isYW;;lZ`GBeRWCyqa-*xsCF zpVIE&)ZVp%9MB7JdQbLxo4xL@Dt!|1qd;|A{5c$|>Kf72~1o z*n+RZ`;JX!VBlS~&C78ag(}jgMY{+DQoC2qgp@OfM3$ALJv?dCuq4vLTZxQu2N!VF z$Va(~m!ve<6ktW3VVB%oO=U%w)pK&S&uO#TXyl$qXleu*pi*5og)>6=~h;#KW?{{;Bumr~Xxu zLXJ!K{cQnOd2jc!mP=+rryCF=vN4T#FGCGt9(3gW^PRL^%iGa0WbU4ZFBD4Tq{E{4 zg2x4Fb{UbLteVQ$_ru_SIeSi0iCCk&DatxX0~e`wW7|rB9Qh#mb`w=Z)V)O0$)8>Q zJN4HN(b|j@W_wnHNozFDFYz;NPRLNT0&Zjy3n`+i2c@bpCF5@$ltThbv~|P z#{^^a$+Fxq7o1wY!c}?QjPTF0IG)^5Tj~pJ3FUVORVWGB6A?^Z_>9~m&cVcXCDYDd z@lZTq{P5S)?Ml`-uMspKnt#FL4Klb$$s_ub=($*LOh*QUd!0-o5KP~SRvD@5KDhXe zkuS&7pV5eh_|6tzb`ncz%KtJytzgSU@ONcqc#mi-g>ritD?s@+)vdRZ!VeRi8PJjp z=mUjam@q!4_9rTL*{CD>>7t!8iMcW>ei?C>P6b?7pI?Lxr(t*QmmWYEsXXi5DlMDl zqfBOKjTRj2)I$d?!v9in59^~NnU!wU%@E*p>36AOzxPUf6ULjCN|Mm-E55O-O#Ok7@_5w>xB zfy0Ii(H7e_aqKnNnK_=7S!Iok`Cu73FT}MspC4oSeL(D9J#F>tEAaS5Oqhl8>zrDA z28A6V@l&vUb7P-`grc)D`{RVY4fo&HekE`%}<>BsDn>+ zGWfp8-n)ciiI0j5SvfKs8@?7&hM0Scq*n1K`BR{D3b?0Y;5 z1rPed5cl}|FrBx`MdEsDf7?im<6FX|8wuozBVc{#P|8_kz)yyy$rg3Sw;X5ZgS6a` zq`^A;Zo!eTDNRL9Sf~-%%!lpg@&vw`F>Vy@C|;LQ#t-;9njH=?_x7d9ie3OLN|VZ8 zw>D4qeX-|x+hm8t_RRP8i`}~)M;C$kE=o`@(FCv7=8rxMC=x<{4%e3Ics#Z?GU_EebE3hZsqe@yj;LOcdJ# z&@FeW$j9(6&~M7kxH%|5xD}<^t0vYv?KqlkSwL{8o#K!JvI8?&mtY}kqPaLU4I-rjV#48bSYLza*G zk8o<+kN846et0rDK7r>HJ!X6`duA@vMnq1CpTdXTOGH*HxIMkgq)!mc=pq^V`ZL9} z-Ils3jNv&vcDm{rbUcDa;;>C(Fm7UXwbVS|{=26*X=U`ik@nvAgNI0O8bRqi^s=wI{{So2UJ~-$%sT zIWS0+F1A1`|Mnu!C~f>CV5!VPsYvf3WUcgJ_vY|q|_>KdRvl_iUY!tRxpQ~qZLfTXy8BCb@SsPw->8)B)LPk z?`H|l!!|rMqU_xH8gABCk=*`kG}k|jyKxflozX3HS9X0G*k@2f?XU54^H2)r##rOP z-ry-gH*?rT5(sYb-Hi>{$?cgeP;P=L=hkIg-lZd6>>>3qeg89@N8~7MDb|vzn+hvp zM7VA!=kHSq-91DR0;!>veBOP*)^L1XG~z2zZXe?m=r4W~>{u=PI{HUG5S~wq;SZI7ij0hto zKKq=&FMLP+rCZ=NZMErHgv64vG>IUqoGGke`pfbI9(22}53FEjL6OD5>OJh5L}xw> z%kBPC#hkE>DXH!nAR8!o!eM#cmnqY;Zo7y)ht1NtBdHksEz7leYwdkS}@~8|^DV6MDTr|{R zAJk{Gu$UEszsq|+H=?=)-W2%aC*un`Knpj_OF!sm-R49uzgFA&=S46;jDmNg)xcTg zLh=O>;Cs)rgK?VwH1gsSy+srtAfq^d44PpmVI!VqOF1cj?mx7i@huzRW!X18e6T;5w4iy* zzlOfre8!QWnE4_PM!gH*B3cOCQr{co?-0<62V=Yj-kGbZ8RxgK013#eoca+!-*}*E z+Ff_s3Q)z*J#AZ%?Xw(kHN8tMRCN*}#pAf}FG$nH_<`*6*Pyi)4bLfnUp~SHB}oy5 zKNSH$VKGf(Q7k4Qp;inv~iFyKdcP{VXiP(?+PRyxRL3yP*_2PJtp zfEk>*eANWf{srgXgCXTfD|smgw905{&?p=ekpn8m3!334y9|94zRsXn8>y&;?dtG_{R=sspo#Wq)-A{_qSV*!Z6DA9B4z6tu*Q zN`sY(2s5mekj??Z*APv*46a}e*+@$|%A0!Z9RM{lSVF83E;gF^%@P|*BZ$u;l z($12f{a5|L#G6ms@aLbH&qez5KVv+O5)`#P)X^Q&4mCo}ly(F8$O1UW7|G-Npo#C- z*tIml1mc5|a=|5x8~?sqJ_l)-ZuRBmX#9Hq-{m(l3K(TA>#f-Z`6H~qJplgj8~A*7 zc8hX=5;OYij+x*KFmRZ7gU+x0wgBx-TrU0%JnlJWMX5R~EVAQ(@oa4CEPT~bdj zA*W3;+{V=FiCtBsuJ1d!t@2de!1C_=<=mLGJmY{_<#TK8Bq+`JT)bmz`F)XX$o|q? zkQHa?FKoiph?R^v3({znRfE+16pgsQhD7>})$aqT{<^s!zD~9P z%fPr)=IQd$_!Z&v(v}T~_d|dIRkt%s;$^ z^JkEcu5L$uC*Vu{pJw5H1drs;G}uX(ozNWWNqP{L+f?fD083Uw+PUQQ52(e|)ljCW z$Djrkh`15V0)5o)F82<9^PpdP|KOxjw@%EwwZB>dru|w!g5kCvN3nTgJfCsclE2 zEa)%j-g3dV-}>qJ$xy#fo>6hp%F8%P!F@p+6RZBKv5UhYDOIHLqz|3nz&$sGh&K7^ zwGW5l8J%NW=$4KO;+kue+N?lNac$K3X2Y+Y)P%sZ+1NAFiqk>WyB)TH`bXmd@w}@| z`_YwqiV-9SG2#xEdb(=gTau6YQGL!GXBp}Fgu>C8FDy0$0x&N%Fyd@O#@;_pB+R4hx!N3+6T9Y=d6;eT7$~Q+P52}7!8IaMUv0) zq*V9_`-OABTlQ?WbfE+~`<9Uf6qi?7^7fmR-^X*jPdzuyvrp#WZ2eowHfFQi9>Ht7 z$YRw49lPJt)3$8n>b4%|4{bM{q;$@GYpR`vgDxB^cQ5uciuG$Nm5BNpE1t2rqb*of z&O3EGg+147B`=p1+y)e!#>SZ%i|W$r-3qh%xrZbyuBsrn$so~%Fb>_jac#t(RtZ?_E_@I$K|etJ!oA zFm$tA4bKJ11-3?bD3~iQIZAbxDD3R^BVMf*5BooMTVT~s)7oim(UY8AzS_yGx2jFj z7B-}9?YXdQ#)ZM8oR&)Rs|^W{xt(zCze{+|qstRgiIfUxog8!9V$0FNzq}nIEX1=j zIaK7mQ~i2KYRxTG)aFEBrFe(!{`4;RSYqR1%Lp%>f=2l3;tan2Mf-F28Z&5lM@IRm ztHVH^gl`&c7+sOJ8Wcx=fa4tLlAm1`XI)w0kZ<@nKk-uV?XD=j@wQp<@H{mHsTdTRX@p=Zyl_bH8&?U9}(SLG~1zu%okF+Me?rrj!k%^@Wnx7hDt zxzyHx>B?GZcReS`Un?S-`W#XVoXx(uAi-Kq*~x^n1#vf@RYz5%HJmDFZWP5gC3z`b zy_i#u<*pWV=#zA~_eJnv*IL+X%NF$&-gwOIi@g$9_HNtU!Jusq;kv&P8K( zOIx=h&By%sQe`eBo0lhGzm@&)TO7jtqgT*+pqE4+NgUNHo7XC5IWg*WK^cYvx4n$F zS~?rs`8yq-uBb$Q0DJFy29gBCP_@_8gO@iqZuS4w^s3~N)f<+-X+HDkJ-7F<*8Ww3 zMn(2y(BaXFH^*%|32zOQTNv8|3oh2_%EGyzr=MAp9)}^6#&VWsy5R=aEfO6wZHg+z zC$V$Kk96ozd``986An7?ug_61osBZ57XG|q!6=e!r?9%$nAQr<9Pmp$J4iz20 z)kSK9mtZ1;TsYc~y#|6C%=2nGsrW{Y-OaIF?B#gl(nN@J_#_+Z`$IaOTdnzT~fWT9~^4k2}fx;$bN=i$Oqw{U++ zsb1!`5!QlLLsk2sx)Lqp~iOQ~GNcBsDSH=!WrdP`~${~nx znH~L5k8??ua>IKlX^ekL*Y3T?B8?>Na?Sg8dj^j8MG(lz3M9m)Z13F)PIY;TpG#xO zgS&xGcNLk6k%8g?-?DZuYKb3=3DTx>t4(Xz1~B!SpVKZF{D6cHc{ zhCB8)&BVU);yL##D0G3kYRi%P#lVivsvb^rl7slKW69Iz4JZ9<$zt2FAAjG1H^ST* zx;zArIos-X*Txij5?u6u0l@$@Yf7gad)@BYbmCxt)fnZel5@E$c~}7%7jUp|pQJE) zWUyZMH)Ad^O+4Z#A?K`cqJHMp%J`TOZ^G0v9_Axn3xW?>h#jOSg`0Xo@c?VW^aAP> zeC$925iU$DN)oo{NYV2Bl;I&EX%UeaX%qyBcdefrcCfCL4m+K0uoNkGN|7$w+7z=x z<}PC~Kz;hzIAN{U=`^guv)`!<#-ny_F3D$T$ahdmyWhA$AcXn50Cx-dC(yRI?|*h< zb>h+V9&>x~u;vxnK&4##rA74W@IvTc!U(ex=YM`?pD=;ql($`TlgA=gO{r&a|fi=y9qWp=ijk1|!nG!vG z&oIT#ykxT}&ZqbGWD;GIuIOX4tYadMlQF$xH(oxNAL6{k(LvlMg02a5YsH;L6LlWZ zGZX$LZ|1j5j$bD{RpWZDuE7IgMkml8ElMM{F>&_av=1Ta5 zOrDD0e=Yd;&L@GbKgaMXuOYRI-v{M=bpMfWH zXuzX((l}`Mt>*z&V|<;VgHP2i#KgzU9!gHQm4c@)FUnYZ^$r-AvIThp_vdhe?d}@5 z1+WF%L7mM%&&v{=QLE_JwN+Nm22RxH7u*qP*P?nyd%iI=_>yg*_p_?;#Z_fYOSX_* z@|rE1VKG;$v&sF%&Po1uYv#ops?{FtzDKj~b-Xs5xTcN^s}iF+HatU*>H?5`woXK) zUESe#Q-mSd(|yODQ{Q#3{3com@Ip)`0$)Rc+Ws0v8L7f472xqFw@ zyJ$8?IRY{42ou+v`vf7~mc1%&!hR4U$DcpR$rYX)va6)mb7|u9Q7*R>mfFcVhEEYb zREB=%d=O4?A<6!TTO&cC_@l&JY#^K`8nlMA-qbR{mr7d3`Vn5U3Y>6ev*~2APTKw6h3oza*)Y zrVf1+3GuZq?|5lxR%ZMC6b~KoU#6#B`pvN+Jw-r2&b)%P>B{>!)Lv#KMQuooU*n5~ z7;7193yC-@Y?$3`m=@PN7Iv`Cq_+wbr{35toZ|1aMGx*DeVlV-V_107jf(UATZbws zo=VShXfxq`6wl>fH<@NpT^p(zt%S4{pSoC?yiVO*kZ4%RtL>LK`uK!1s_ajvxxK=; zbZ3}6bm?fOwam@9vNvFCY_0oK4A=%%N{vxKin7CqS2@|!vsWW#kPill$z~dJTr+cxtvde zBsWgfhqjOARvFP%Zv^KkQ61fr%+%96PghmQR6)+uJxR&@q0c1oz4GCOT3dezy5Sp%Tl=#?6|*-ur(dH6W_NBbyJ~1nUu;oOG^;Aop4oPJSu7|BRMbKs{^ZJ-D$`{FUUqTL7)B5s^ zNtK}T%4Dk5=H6fBV?;{^Xt)u&IX0Yc3-gA^!Q!;v$U&JAcD8cEKM@D^- zL^?tWl^7R=AK=D12bzw(FXt?0CaCH=Qr>O&U`PXN{V9n}?j`8=(Ix5pna!Rwx?3Mc z==gckJ8ijN4mH`!iVi5UJFHM?oO)9h>&mki8Ev$pyH+=}Ak$H;IwGKUTijxcC{vuW zR;Z(^>n6ifeD9On?B@9e;dnVdi%Ushk zajhj*-$hmJYb{B$6p?sB_L{r=?S$L>UmQ-wi~*wa#Eg{P8wTKQZdif^Uy!?q7(KKy)tL;My$fg3~bBP&{O(NJ;XXkDr#E^I~;fO1OS zffv^Q$OVr9233QxeIxkSKmYk`0%#DJpAd3zfBd(u^G^zZcX$4Ia}6$8w*f5FKt{a^ z#e5qAegKxg1)>S_LyrqCVE=v<{!a?#FWUUO`nTBNs!i^moBoe+kO&l#e^~>l6$_xt z+hXb}|F#c!a`!)VgX%v80}%OdA?F{1;Mw=TtV!d%1iU*tR8SRr^*Q%bMn#?mpf9bU*$1K7ArJ)D#Kvsqir{FbI`iDZIhJ zxOWWvM{7LYYPs6gWav@ECJ6*yI(yYX}S< zN!(rLso@$015X4#KJ_JM6eQs&^t#seGP>Mt8g5yebvuP z9LZVkim5~hVgFBs=&e)Tk0kw^&HBk8Eb;@83730Jus2YdrG-Mn7cxL5kN;hb|8;Ay zlN<-#ocBmvACKm#XG!HjT71Q-e9u>s2dSN!O=BevUyYWV{(5~LaL`4OXVl~=#Ig1> zKT|+t&cABXW87#E;}BWOL85q(8r~D*S6KSy?3>MO zvrpLGu-F>SFOQW(owQ#>(h^&(KLYg78O^15?jv>LCrbUFMP!J8ORVDrSY6F z)mt-&r;Za{#O;ZA?zL-pgq{l;Up^?_GxA;tV`i1pv(Bb|!O#U%k9`*f73O{hmGU{X zV1*7#qBE+zN%TPtT1DEcYgs`<5%qdiR;&40fdaZ`$;N>VlfWAcTBSQ!6_OqU?>}k} zzdq%eBU2M?PmEV>T#6MR_{=Cj@JEr}p|pMxU(lotL(qL)11)iWrVyZC{r-z;l2Gf~ zK@YtbQS|#&b>}D_2)}HabD0^t>)#g%4u)aCC4(nW_`5q!B13E_}c9o zR+3i3=>z$~X3ZZ5WpcCs$_;ByaXL=h&>i~~-_tWLKlhvH=*W$+u{2AzBT=ilO_ z3WcQ)>$ggq3|owSRuXOZ);`ucOs93nP&fIJpsr7+%cj-}vefNL8?0*3ZoeA0O6}g4 zeFaPp1lTt_COesXdBEwUwHgBsA=NT!MfW>yfM`Y1^@uX>*lR>ff!7vt&<7-SHh;eg z<=U?`X%{DTQD7h~J^$f8N*^4#rY3c6QD;~_@|tt3U_A9fGf*JQdyjFp5H6?F{wJ5) zRdMMuY=EgRzm$3G>v(nS&VtGQ=-A|K2y{qasC0)Hel;?0JFJCZw?@^w3@sWt)Qk;; zQ9#~X4WxW=DUPA!&qW<}ixaCA_gCd*sdhk(tzjN2;SXsIGhMKe9@`Utd;}IVMJ+}h zXP7Z<7#L*L<#~}^!U><~jma886pp=&}R9fCQ zr_)X%3O(VY@#<1~H-FT`civg1)=%Qi7pY$C)Xilif0GTtjx~7K8RT#{Cdj1G2aLZT zs7sexNi3+EGu2jmiyyjFf#ZEn5BEA~S&LlgW=MQ58_B8Ev0HP zENJVX@O1r-O|iAH+n|uuPR%$EYqGkm^f5x7@N!g1g{k#&SG+FkD${TGcVRw@YMO<% zae&9$cwA@R_52LiPm@8n*Hs)nbDbcwx*1Qmd$y?{Sj(l#(HQuT*&*$K3h3~j1owJAq^NS%*=F{?8L`ja{=QHZm z4#9&x_-&f1@Z|Te9_lR<(BznGLA{3E#;v|8*3ZOsH`O+y50vrR6--d`?ID9T;}8Q= zxP&q#=tc=qwW&Yzt^;VBXQ=ZEVW0yZW}Vm4(y;xyaZ#X+N+>w+$G<4ntIF{HT0W#> z#IeM`2916vrvafG@3|9~B7)|X=*NFfV zXhRjEN{p}+0fmgsf6mUo$cm++UFKEXEg)&!>ze=}hBxy5*2nHOP?su8?R+X8M^2R%(f)`oKp z+wx^4*-O6k!uGnz@alK0>)QrBVe~cOMt18$x9Ad91qM9KM9?+A!KT!yZwG`xo1jXW zdU{$vNiunc>>O@)KYfM4&+^jm&D@lq!E_YakK5^|<^wNI_gKRVy<)EYwBSJ}a!<-C zPT@wjf2xnR1rzwYAj*Fi&%x+deIVL85yc|X$h-H{A$A|Kfdexo>O$xzF*I;B)w&Va zKM?n$;98Ng79Kdf^|{SRCv4>gXaJqQ*H8$pQ2;My7^BAU4aV}-3rx$n@*pV$M7J~@ znXT5vw4OB~OiTQp0&`&XNzl~EQIH+_5KW$}^!3hcSxxjno+H=R7w)OyVeC+UhcJS@42r~5;@|M@!Q zCQ>Sn^CA^|VDkxd4NQ6bS5%baz+||+kBtSpZzS57KySh5!ZuJ;)@qxl2Gd_MHi&X< za4SrcR^=Y0x&RiYb&&TjLJ{}1w)ivt)Ff_$M#~S*g|89U!QiW}D8M$hrsV#%#AObL zXTQyQmQ*0>(bc8?HG4cVsJ&2ugtVaU^O$&SV()HpvS1ybl5AZ(vHXPk*>{`3U>_ns zLcDiJte0yyr)gHaLD5(pP0cO3kcsAPNJo@z&#pDE;VuMGu}WeS^t`+1bU33hrp?^O z{Ey$Cha>HWYpHHKFJ`asg_J4%yDgZSnB{NMF-PD|*Lc3VIw* ztMX3u_d^oN$vpD6*W|LyYt(CW)crhaDU>l5K%C9^<4H3;%egw80Uj6M5_H!im`hEO zJtS5NTq(qUhA8vyXqWtqik9ds?!kmYGWWi039i80iSsT&)EurzP&YmiYpiL&dQP|s z;4KXRUenA^+otWxsB{yC_2q`ELlsj&)?HbDJ#hB6byfhm?` z_^%lHH}bP~LnZyC{Q11_d|@}^Kl^?p$VhHsXU3gH*HPHjXhLJ7s5w2dTd1a^FnExu z@Nx>K*Z2hB(jB!^eH0{rnqZA89y8NiGNtkr2ukb38%o{|AB7Yf9Z{>*|NMqIkPCwS zmZA1Dy~m7{3d5q^x*+mn9I4;&Iaz#}ADBEDHTT_&G&sW1j+bjc4)YxA_LV__Ao6H4 znD@r|7S#^%#^AUu?gtJ$V*yAz@nGft)IItfnc3n$8aGqfSW^$b)881s=TUJ375suDR*tJX-}$-aEKL( z^hCKRR_)YIr)5g|rRAxnH8FuheWe%cOejTBN;W;`9XqFa3p8GaiJ%y+ z{*FY*Jejwm#yqOQZDzP=v0{CU)3=aamUmfND$%GAv^kj-ngS1Vkkkf0_DaYmYod04 z8t8Z%o1VG@@k{d(49NoyO1+kqaY8n-?e5=CB(l!two(Wh>eT>9JZ*WRuO8 zNFvnb?p&NJ+ny}XUJ4|-egB>4mHgiWHNG!0_Ac$r6IUW{Wl$!UwAv!2-c9}sBf_U0 zqkJ6l*WaXWrUQGIS2_G(mb{o`QQ#jki1UTdo;y=w{N^($9u`>>1XAx23~0$*B?VDD z7dYT3!J;yhWJG74J0SM+*AD2=R$gKY z$IWslW`!Js^%Ox7y{wa68P0uok~7)U4sh&iQ`t3ix-Qmo-B0HTGr@BDD_lQI*9Pm} zsQ?;7`JnzASdA~&TEUJ5XtBhUx7dGE*`I%f6kOw~6&BhmK6-Oa<99yaLM5Ru;-ng! zedGqKFAWK{s-LfbP96>3s>l;*EcH^UlvyM4`ms zt)T{jL~T<+FOZws3!KHj!C=AK{4rKpoZ~eeS~xx=JNqqN{6iKVg(k%x{FWV ze<%Ct6HhDYwQss?&7lxz!5Xxm`blM}0e!v<;@&5|u`=U1z3%TmN2?7oe6jj3M86g5 zb*8t>Z{s_jf?Vlq1L3pFg&ak z;rEC(_r2K}d%(jY51e{FEpQcZ^-|nn1JzKquv}--x9nPG^8{69Y*0ifB>DCeX!E23 z8e4Dr#Fa{47eNByQdLN)aoE!?b-MLWY7xK#n?-MBaGSMvKK;fT`7Z{w9 z(B?z(AU(8XO>n_-gI_2jcr|x)a5i81M6hsvQF(+5A;9kPs0y-n2<(yRn(!Lx#GHP{ zwVn{Rb=_+sFBjB3I8=!RSALN$@GLa7#C@T2N?Mt+xL@&^1RWo5S^}voFV$?$C#Kn} z*?M57C$m93Z+vxCwSD_*MH!!<@m4&kXf89XiRNBupPY1iU{FYlt~~mo5^|Bm$#9#d z>9w3fP!+}Qp?!QE;yQ;{cTF?0aY?n!fcUXH=G7Hge0VX8VMLN`-Luj>u$p3ew7{6p zcQzS^VCuEIq}`svz+3v_<4>I5wdx+qu9@jElLOB7C&zcp03iAlE+g6GD3ygF1W%)Q z>|ShD`;)Me!mo0&qkBqB);xcr-(Wq0l4M!;C-+X*l#u2wu5>&W{mRgdy#%IIA8k>x zH7>S1MyhE!d9+cL?!G4bXl+e_-!~+pX_C5%#C=oVsABbi1H^3soroCdNz0GHy(hc}=2V?j-0`aj8Ew#}UXf3rMnNtTA%+|F%i5WoIZxpWy#=oV ziU7=7!g!Y96{xNEr~W{_ngS`x<7pO3(q`h%^O$|tXS40bE~~sy>>2m8gWUp>sq=O! z>iVR9fJE1cpUiStAxyyEOhC@;)@x#gZs3yqlA`nSOC@+Tu=Y2W*FA(b6H*VH0xT|< zk~`!lzc>|otD=L$h7T3;xLw=9kGirfb0}Vj{QL^=g$+gxgt5UdOEq`!!t=l=Dkyji zQmlkiSBLe*+B}CWp&JZVoMQTpo2Ra#aK`_**gea+!CX~`bv@!a*(20R@gM8i`6`C5 zSuN|^cC6nyHXnFNt?fTS&brK4OMQL%DjWBPOO_X^_J$nbZzBrX+0b2dm3p;82u>A- zx3Zs51w~R&8W{xiMiZ;qa+Hzu*q&{J?v4lcQU^ov!CMGWZv}U>htExPR7S*!__ifc z%TIR|`&s?c=*4FMUra7@r2zP1F!9~p9_?UjTB?IgQ{LFGUEsBKrOvs zl`()rvUy@+Q5>7$6kJ#XoB44BP!4gh0zg>Ex{Tz)ln}}VRb%gfq(&JTD1^e7F~$Sf zKvn3Bu>fgc6(B8KJinlbMV5DS_w5SsLZ9M*yw5I*MQwqXj17Fl4WzvRNN8qSX|Xxs zm+bM1hngP1$Q)4v(oX4k-d#Rj4`V8G1#Wwt06eN7E_G_9j4)R$#suzCV0a}1Ej=J6 z0yb+BhKWUYqsZc)dj3xw^y$AT=YIps|7O1b9kc&G)EY{p1<4ks9Ljg-{*8)BU=sFM zuH#2UP=K%Y-_u2a3!U%GykH5mIaXx-blsyl{*AFDp6_OpF5#nlBoSEv`48;o$N>Wy z!6xp8-#<4e0XCzr(8%ZsBu0sCQ?9i=C0H z0MQZzSVhq6*0SIgfVfq!FHV?`Zm*7p2VYPaSvUf0T0ePsSn<$|(;`jMul9T?PFm$? zb&x=hFww~D4t^mQJSrNRedoNF2&)ddsde;Pg74#i8SnV7nGLoaG({571oT#hr87Sg zQm2JI)@NI~uCf{wP^9%pXaJBO2kIBW?KOICxRAzi^Y71iJ@-E^IA^2*h~IuL#W-e%{pwTBY>GDoZFPK}4ZJc2HF>IMOLX}a5jhTO>r zqZQ_gf`M0O99v=zQ_rga+?p^~1=Ol>4Zy0^uZJC~28FF=JjR8R4PBKiGV?Qi3r*h~ zOqjR1VAl01e`TO}+b4>Y`A@Ei) z$8;4ynbRHWW{`K%LE^6YgVMTL-&G*9n1Q7a_aE}jG@Z2W;51$vv0l~t6rmj5uZI9JpS}Ls<>d*1!SU=weKEVZm!S|-#;s#qs z^MA>mT?oxyI`LWlq9_on*J|vyQ^SlE0E~7)B4A8uFTtcNGuX!N3~_bfSRoTH6pJ>; z8xSQp6D!9deqwfleR9SwUF0y!ROJpi_(op(0GYakCVTp`WW$l-=EFX6so@t0x1ZMg zdYy!J>ltoCF7(X)xcqo(5rj!U)p7Bde5M`h8sf@7LLGfT(X|ihrBEg@*ksy|7i&+D z22F7r`H#8v69~ZZSQ4bN1hm8bcY2WUgvovM1GBIfF^L4yn^AmB*eXwlB+-Uzj%Xe? zt{Grk-e`UBa{h-m!2ApY=>yMls_Ij5y?H@qAD*2J2o9$JthxVq{m(DGeqeaHl2L}H z{JwvV24E6iYu)a`%WEifs1s*FvEWrgn6scP!@&ay#W=bh7LEjUzjAFQ0Qc&O$%z^Q z0@%<+{sRdNQ`sKBL%?(uW83jzB)^OS1Gjo8b!H;Mj-PLcCHZlaqaPQO)SWO2N`^}S z-kk?9duM}H$nU1WUs-qNnx~x1BL)ZAEx9W4{o>g%f%%*Rm0n2XI`)^f{(69rCrUjT zH=eWf8Pn1cyEiDz$e?28uWy;Cg`yJ9rBTyWRryB-LTl+F#JzUyrOubhjsV52aqqx= zo>oS|=i}u8Wrojcs$;HfhwU%w5Bto~Do@KhzKtAjjLt}^fX{f(1@z8=B4&2}QWFvI z3YpzcS!dW(5!lCNcpc4Ms-b+;omUv2~m20+PqC>d#MiYMs0$ z`9i<~X_Ms~57IFpfC>3_mgLz0 zTzUu&BA)&_Hc%{NZ>=&A7@_dgJ4%83j7NO-$2<%WD9d{4d-{({revlz~ zUpJ<0ka`y;VBffr=ZG2RG3<&%hQWgEx7(0EX_F6ADbg-6oS_Ri)})AYM}(_P_F9OULALA(?+h(YuttL48|cu5 z&F#%~KP#!G>e7!|fa8d7@n)R$xB-%_XvIK+n)J0h`jDtJhlrA|O(lgdXN0-lsX~~9 zS%ERbSqY~^r}N>~0Z>3$rH(E0dNDuFQP+jsD`It7yU>_9N#il<-MD`ew?7Y0jbDKr}(t=IsjNpY-QnI(WRYoSX?^LV?A` z&`y6_RDA`YpzDwZv9`tBeg)>Fxe5fJ${zOGk_pjA*U7XIThM#N713;^T0WWDGwMrF z?;y2^$*8f- zl-;(4zKCSu*$X_dq0hP5wW*e+zWka`=vR*b37iNNPt*3|VK;e6L`HeV0!qe&R|g8qF)s z)3URzUtL;`K+%|6hCe+4*Rf_PFaJ=9p<`v}!dR7*sRQh*O3G^w+1Jt|YpySM1%?G= zNH^tb9Da4Zj6pzN^spbl|Fef0q`bXlL?T3)TDC_^=}HEGT;iEsP`t8*s>gkFNAubY zTrZ0&oI6fF=`s~4IE0gxYN3X{0~An2H?Q6-RpA}^qj22?Dn{6O*WgV6we~2oYonN5gZ6as?5wCxbIh@9gSHu|E6=>N}bpE(2H)&G^#v@ULy3+ zENM4Ck|C}SQXet4R+DLlimxmRWtRq$F3q$7zL1{}{L+Y`m|So}VSOIkOc~&hhHV z6D2?>?+s$X?4+7!{D5N)_Wgcfne7_L9+jSClvv0VP3GBbyh?6KAs$dX^iLCx=XrgHJ3vDJw#MPg-Zu zHasHnY`FAgqVZhjsv-m$Uww0=UipqS|hIS*OjzJd&iK{wT9 z@AYz=D5!Y9z~ogouSeMZ0~(cxqDq7w&f1fyL?r}?8I)=gO)r(RA4;a?ERIFlBX!2h zwXRZmCL-HXpI{3h7>JvdFViq+Y9g7fR4uDK&sh-%y?TjYVp428^@i<&DjiqBqRm$aP=?P^J_IvmJ(o3p-H*iCiH$Bo z>qArw$_v5lJoHeyWxB`iAQGu)#VlfZ7G-by@>Zp2r_*k-&yhNyhg>iCG>;>HkSfd) zfR}hgA70CfZVSj5M!sze7*YWHLm9Ne@siC?qJNZ!#ZCxnG7)v#@-5_AH+*a*cv-4g zk|Vfb@iol4xUhm&%=;uKJ>}x;^QQCPD$}O~OiBp~3~`_iXeRrXJs>Z$qnQ{|tuBhk zO&d)48N4Iv;*hIdaqmsUjt)C)nW#jYAG8sCNoFa1rzQ^c^Y8m!?8roQ+(%?M#S)zo zl#E&IY!9~{Gv);*giKQ?^PY_m3I1}Eu@EN1+%=EM4Bet=w-SJAgkp^utp9z&nf@Ew z(FG}*iuzm@2OVNz-2(Tz!kEK&IB4s^0C5$#XYs+<=M4sy4G?CgyZu(<&yz2A3eYkj#uj?Ar56>lfZqzYYmEJ7Qar*8KzcF zq9C!nU??fKOHY2b!dR}WKN~aLPZEVI+asjbAe&>|J$S)(ZfaVQ7tEuhD~G~Mz179;E$tX6EvEa99( z==@X)qkm}cMUQ24da95UGI?R06<&@@iUtE(=A9k4$vLL@Jd3!?f`eByLsM~}U zqg|EOedl?jY`SITM-6eb*>NdtXBS6%A1ohDDc>?gM6e}^SenI{+mKCs+?w`NpYOK# z!0o>O>vcD+I($T!005_9UiUnU?aAeM(RZdGmIpVg6nKF}XI^0Eu*Nj$U6utWZ1| z+-aHsY}av2uA+Avh7(VEb{25(H}yB>?89a*6^RsgMuBR)b^?M%=@FsruP+fH(yvGj z<%w=DsL2>NfA=S!xLiy(jo1lfeyyk2lAj9hcPnmb&#ldEP z7Ql_ZF!Tf(80P_0N7u;3##U0i>HcEkFze2o4MA||D=9mMB7X&l+IgIT9TKLa9 z;s8Fagv`6g0HF-aWR{WSxeJx<1{?=`{JZDRq%;Wcxa1uMU2o#UA_VYhHrW^mXhb=H zUs5#UylX`Qfz`l03JgR*JNbMl;BtM+Kp?63!PoE(R#ty3<=3D9T#+p~-h#V!eW3;f zUw-j2;V9&lRevE;NCKpV-E|08P@*H=^Okcamph>a=scPETBafE>d65%PwX7KkXv1{wfR zNC0*^zRpGkWR|XcjQrbb{y&^YKrQA+NqPOQoN3fjzT#`b zUv$cZi_!>YeQJ6_HIjKjXCPKutWi3hObFXsz;(t=6j<$(cJ>v9C?Pu#4=3)C9*fT_J6 zn3toPZeJIk;$E1yc!|snUHzgtJ&Y)xo}Ku#x>}+wpsspe+#zV~KHCw{da{JJfQ^r( zJ6U(R=ZW3!V8wsP_nH`OKHN#pGbj?aT1w)4*K0jtO`k4r?3;I0Md3NwQ(WurHrj^I zvnXLbYslLCT?c;M=Z{{ax0)K58~i>OC~Te=U>X>i@)T7&7Q3o*d46E7n79`8p=`|k zN!3kde|l+uji&>Zpu?vp5*LxLcfhVQF#{^%_Zk8^{C1lT{OIg?eAk2of#VF7R>Z9b zg@biMgcPMtj;Z^l4F$?XZo~QXDLD4ix2Ym!NS{qvU?EJqTO2b|GueoPVVP96nW$Dc z=e0WL>#-lQ!_to3{*qnxwl8*LOS}ZKt`5J69VUKREt0mXS5(|wR!~N^^qe*C)w$aS;4PW@^KtJbK$=6tE-;kIT5ezCiY&D1zrCf z8FwoQYdZhtmDcqbGGX6hCf@WHF_riNT>6$ma3^jKCgdMbH@mu&6~w0#uy2(pS$Wh~ zls;WI^?Unj;Qp$*cn$-9PQBYAj+Jg|8;;=Fe*WIf_mIxcFeOzMZB3fgckVuCr=g0G zpU8qo?mVfPR^G;>pqs5>D>%P8n7|7OCkSQ9AT~2xl)kyvSwbg&4J$2)Gy-I(_{u>7@0M`ZC@PiGSd&~GNJuV#$(I;ZwV<3 z$Klsg!0DYi{l8B;Tg{`Atdgzi+=Hb3zU^B5_(9bqy*J@mbLj6fb9by@!<@Rf_DdCF z@7ldNm2Y07YAYff<<;&URkJ>BY;}&GRbympgGRH%Z?zYWqKcp0l#~08aKxmiy^P|r zb)0hbbL+7CHlRP4#J}cH`D1ePpb7RPpzmXPLw0k~Y}xyq;VbLfbB|N5aQn_Mh4I|LiFyuRaszNzfULmxyI0Er)-_+%rk&kJk@~;ni=Sn&!TtAV0*(PzkfdsFSo=wpP14fX>Wa<@%*91VL|I&6MM5s zAULZZkGs$y9AVd~b{`cK@J@6qAC{z7dUYOP@8@#w@U*L{mgVDn?0i zYpQ;ZA>_u|;qRd1?=%Os>Mv8c%m%e;)xpL)#p2#;`SffQYkUN#6)*dlo(7mw1hw6i z+o~Q(z%G9eF+XFWYo}@8q+P{p2%5*=sLq&r!mHd^3_CEb` z$YIJ}`O$AF+^H#G+CHby`nJa+Sm{@ku{t+AxvhTOYkGM59K}qI^bDV>6YkZC4rZ=9MR}_%Mw&rX`bjWAG^Vr6V`rXQSNE6T8lti-;{BW9e z_-ryMDF4z=gRfkLzIrE{u&4PV<1*9QX8LDY9KX8$A6)%)fA#slANy+y-%(&DgQdOg zuw>U*YTYYXE|33y@~b<4*zU8{R5o+U`lc2-`?Jec&7vaK%h-dv3Rc6S$J)C4%f*rN z$-v_prr%)xU?(Y(2y9Mz8#N7TzlP-Mt-ghM5m451B>v90p!EdaaL{F&i_ucf#_5F7 z3Q{Cj!e!ocC@lI#0LpGy$E0&@cQcCWX$YI*v-9Al{?-v zPXM<4U!MUs(kefFx(eknNLQt694t8kBmrI)h&HP(r&H(OVb0@ML|eZ8ZTPGtEjQ0- zR$Spliu7;cvvQ6z0vQu^$_z+PPngjAKdv&kta0a|&(_f@M;*&uP0LJCVh1fwBi?Q! z6Mx8As9Q>81STh(2At*3XIFN+EHcPrz8I@L#8o8lBF1GRuSPTkug#_0)HIwgd2zg> zKgg^ew{>lPje&uCara$-1uJ8}_mN&dt(eyxiW3|19gbSHLDYI%f%QgNfu+SfQInoz z$6?eIoGD~O!j@~*tbl^{|?6p9o*v(*QA&WdL;JhJL-4H+eyWl(1NO&kyF+8L?Y8Ic>`yIJ_-{rSIMBUbu55} zC7Ep(~kA?7_Bw&-$yJB{SH)5q3rAaOt?5oRxmh^IZP!7^x5D zGuCxe7XpHd%wfq*1I9~CG(KLk;;okSY-03bU&^UT9DvkUCsjHV+8 zCNLA#gqrmbi1(BPdMt#H8Mh-$W}OPO!;jpncsZEN+`K z)w30xwHJ5>>k8Fm^{YL^$^kB>~VL-KDMz-xIKva12*wNkp`J6{p3`r& zrDIn=idhx1YeBDHA|eZB=N!q3RGAh#0$+ToyL?EuQsG6Fb#{m{y6BV1q-}^;gpgJ2enK8@*wBhw;RUj3QEZ z7B}?N$z?&OD~Mh6C+=*IHs9XQw)E;RddTY+~&l>`{7Wlxf} zce|(LQH8FF*2!;Y-~@J!dD0~MT15g5cq&kk9Ho2y+BcOX&;OcRL%tYKL9+{PD20y diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-content-do-not-through-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-content-do-not-through-webkit-linux.png index 3d4711ce67eadc87550627bf44134bd53fa007f5..d8f36eb9b8acb30c6db4003325afc6317cdc3eeb 100644 GIT binary patch literal 17070 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 SEclxf5J@q)&qX47-~R^|CXI0b literal 17116 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 O9zRr;E4pv^?!N%%Ko}1I diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-chromium-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-chromium-linux.png index c5e34694cd3c06e5e2a4a6eb76cc3be0792add95..f271455428b22a0741f48c8e7126a1b8d7e2c098 100644 GIT binary patch literal 17420 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 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-firefox-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-firefox-linux.png index 50b2c3349263298ca2cf931af7e5689c681ada86..270bb44cd25fbb5bd7320d8726e3fd552582990d 100644 GIT binary patch literal 21385 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 b0ID^uW=L(ytQ)*SW4&DGr>R9O*lF_ru=MQD diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-webkit-linux.png b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx.spec.ts-snapshots/x-overlay-ng/playground-test-1/click-overlay-out-of-content-to-trigger-bottom-button-webkit-linux.png index 719d18e1e9a7bedf6251efa9ab3c4e355019fdfa..31b50a27d8eb17384767b5e19060e357ef604bb6 100644 GIT binary patch literal 23115 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 C_*!-V literal 23153 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

llX8Ay?jlvJmR2M;-zik_z$~^Ru(xN=n3< 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 X26K^A8{Y|@jpnhjymO=WIwI-6nE&p5 diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.css b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.css similarity index 78% rename from packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.css rename to packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.css index 26c2ba4893..ec9ba28926 100644 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.css +++ b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.css @@ -4,8 +4,8 @@ // LICENSE file in the root directory of this source tree. */ .page { - width: 100%; - height: 100%; + width: 100vw; + height: 100vh; display: flex; flex-direction: column; } @@ -16,5 +16,12 @@ list { } list-item { + border-width: 5px; + border-color: green; + width: 100%; +} + +.item { + height: 100px; background-color: hsl(calc(15 * var(--item-index)), 100%, 50%); } diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.jsx b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.jsx new file mode 100644 index 0000000000..77781eca1b --- /dev/null +++ b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-basic-size/index.jsx @@ -0,0 +1,57 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; +import './index.css'; + +function App() { + const handleScroll = (e) => { + console.log(e); + }; + const handleScrollEnd = (e) => { + console.log(e); + }; + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +root.render(); diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.jsx b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.jsx deleted file mode 100644 index 6a1f11b25b..0000000000 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-default/index.jsx +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2023 The Lynx Authors. All rights reserved. -// Licensed under the Apache License Version 2.0 that can be found in the -// LICENSE file in the root directory of this source tree. -import { root, useEffect, useRef } from '@lynx-js/react'; -import './index.css'; - -function App() { - const ref = useRef(null); - - return ( - - - - - - - - - - - - - - - - - ); -} - -root.render(); diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.css b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.css deleted file mode 100644 index 26c2ba4893..0000000000 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.css +++ /dev/null @@ -1,20 +0,0 @@ -/* -// Copyright 2024 The Lynx Authors. All rights reserved. -// Licensed under the Apache License Version 2.0 that can be found in the -// LICENSE file in the root directory of this source tree. -*/ -.page { - width: 100%; - height: 100%; - display: flex; - flex-direction: column; -} - -list { - width: 100%; - height: 500px; -} - -list-item { - background-color: hsl(calc(15 * var(--item-index)), 100%, 50%); -} diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.jsx b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.jsx deleted file mode 100644 index 687150a6d9..0000000000 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px-horizontal-default/index.jsx +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2023 The Lynx Authors. All rights reserved. -// Licensed under the Apache License Version 2.0 that can be found in the -// LICENSE file in the root directory of this source tree. -import { root, useEffect, useRef } from '@lynx-js/react'; -import './index.css'; - -function App() { - const ref = useRef(null); - - return ( - - - - - - - - - - - - - - - - - ); -} - -root.render(); diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.css b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.css index 03e25d927a..251db4c5a1 100644 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.css +++ b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.css @@ -4,8 +4,8 @@ // LICENSE file in the root directory of this source tree. */ .page { - width: 100vw; - height: 100vh; + width: 100%; + height: 100%; display: flex; flex-direction: column; } @@ -16,7 +16,6 @@ list { } list-item { - border-width: 5px; - border-color: green; - background-color: yellow; + width: 100%; + background-color: hsl(calc(15 * var(--item-index)), 100%, 50%); } diff --git a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.jsx b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.jsx index d72a867213..2722140564 100644 --- a/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.jsx +++ b/packages/web-platform/web-core-wasm-e2e/tests/reactlynx/basic-element-list-estimated-main-axis-size-px/index.jsx @@ -7,46 +7,32 @@ import './index.css'; function App() { const ref = useRef(null); - const handleScrollToLower = (e) => { - console.log(e); - }; - - useEffect(() => { - ref.current - ?.invoke({ - method: 'autoScroll', - params: { - rate: '100', - start: true, - }, - }) - .exec(); - }, []); - return ( - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 6 + + + + + + + + + + + + + + + + diff --git a/packages/web-platform/web-core-wasm/binary/client/client.d.ts b/packages/web-platform/web-core-wasm/binary/client/client.d.ts index 2de32f4a0f..b971c02b1c 100644 --- a/packages/web-platform/web-core-wasm/binary/client/client.d.ts +++ b/packages/web-platform/web-core-wasm/binary/client/client.d.ts @@ -6,6 +6,7 @@ export class DecodedStyleData { constructor(buffer: Uint8Array); query_css_og_declarations_by_css_id(css_id: number, class_name: string[]): string; static decode_into(buffer: Uint8Array, entry_name: string | null | undefined, config_enable_css_selector: boolean): Uint8Array; + static encode_from_raw_style_info(raw_style_info: RawStyleInfo, config_enable_css_selector: boolean, entry_name?: string | null): Uint8Array; readonly style_content: string; readonly font_face_content: string; } @@ -70,6 +71,102 @@ export class MainThreadWasmContext { __wasm_get_unique_id_by_component_id(component_id: string): number | undefined; __wasm_get_css_id_by_unique_id(unique_id: number): number | undefined; } +/** + * + * * key: cssId + * * value: StyleSheet + * + */ +export class RawStyleInfo { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Appends an import to the stylesheet identified by `css_id`. + * * If the stylesheet does not exist, it is created. + * * @param css_id - The ID of the CSS file. + * * @param import_css_id - The ID of the imported CSS file. + * + */ + append_import(css_id: number, import_css_id: number): void; + /** + * + * * Pushes a rule to the stylesheet identified by `css_id`. + * * If the stylesheet does not exist, it is created. + * * @param css_id - The ID of the CSS file. + * * @param rule - The rule to append. + * + */ + push_rule(css_id: number, rule: Rule): void; +} +export class Rule { + free(): void; + [Symbol.dispose](): void; + /** + * + * * Creates a new Rule with the specified type. + * * @param rule_type - The type of the rule (e.g., "StyleRule", "FontFaceRule", "KeyframesRule"). + * + */ + constructor(rule_type: string); + /** + * + * * Sets the prelude for the rule. + * * @param prelude - The prelude to set (SelectorList or KeyFramesPrelude). + * + */ + set_prelude(prelude: RulePrelude): void; + /** + * + * * Pushes a declaration to the rule's declaration block. + * * @param property_name - The property name. + * * @param value - The property value. + * + */ + push_declaration(property_name: string, value: string): void; + /** + * + * * Pushes a nested rule to the rule. + * * @param rule - The nested rule to add. + * + */ + push_rule_children(rule: Rule): void; +} +/** + * + * * Either SelectorList or KeyFramesPrelude + * * Depending on the RuleType + * * If it is SelectorList, then selectors is a list of Selector + * * If it is KeyFramesPrelude, then selectors has only one selector which is Prelude text, its simple_selectors is empty + * * If the parent is FontFace, then selectors is empty + * + */ +export class RulePrelude { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Pushes a selector to the list. + * * @param selector - The selector to add. + * + */ + push_selector(selector: Selector): void; +} +export class Selector { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Pushes a selector section to the selector. + * * @param selector_type - The type of the selector section (e.g., "ClassSelector", "IdSelector"). + * * @param value - The value of the selector section. + * + */ + push_one_selector_section(selector_type: string, value: string): void; +} export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; @@ -111,12 +208,28 @@ export interface InitOutput { readonly mainthreadwasmcontext___wasm_get_css_id_by_unique_id: (a: number, b: number) => number; readonly __wbg_elementtemplatesection_free: (a: number, b: number) => void; readonly elementtemplatesection_from_encoded: (a: any) => [number, number, number]; + readonly __wbg_rawstyleinfo_free: (a: number, b: number) => void; + readonly __wbg_rule_free: (a: number, b: number) => void; + readonly __wbg_ruleprelude_free: (a: number, b: number) => void; + readonly __wbg_selector_free: (a: number, b: number) => void; + readonly rawstyleinfo_new: () => number; + readonly rawstyleinfo_append_import: (a: number, b: number, c: number) => void; + readonly rawstyleinfo_push_rule: (a: number, b: number, c: number) => void; + readonly rule_new: (a: number, b: number) => [number, number, number]; + readonly rule_set_prelude: (a: number, b: number) => void; + readonly rule_push_declaration: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rule_push_rule_children: (a: number, b: number) => void; + readonly ruleprelude_new: () => number; + readonly ruleprelude_push_selector: (a: number, b: number) => void; + readonly selector_push_one_selector_section: (a: number, b: number, c: number, d: number, e: number) => [number, number]; readonly __wbg_decodedstyledata_free: (a: number, b: number) => void; readonly decodedstyledata_new: (a: any) => [number, number, number]; readonly decodedstyledata_style_content: (a: number) => [number, number]; readonly decodedstyledata_font_face_content: (a: number) => [number, number]; readonly decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; readonly decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; + readonly decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly selector_new: () => number; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_exn_store: (a: number) => void; diff --git a/packages/web-platform/web-core-wasm/binary/client/client_bg.wasm.d.ts b/packages/web-platform/web-core-wasm/binary/client/client_bg.wasm.d.ts index 1d4f80b75c..1b9a59d4fa 100644 --- a/packages/web-platform/web-core-wasm/binary/client/client_bg.wasm.d.ts +++ b/packages/web-platform/web-core-wasm/binary/client/client_bg.wasm.d.ts @@ -37,12 +37,28 @@ export const mainthreadwasmcontext___wasm_get_unique_id_by_component_id: (a: num export const mainthreadwasmcontext___wasm_get_css_id_by_unique_id: (a: number, b: number) => number; export const __wbg_elementtemplatesection_free: (a: number, b: number) => void; export const elementtemplatesection_from_encoded: (a: any) => [number, number, number]; +export const __wbg_rawstyleinfo_free: (a: number, b: number) => void; +export const __wbg_rule_free: (a: number, b: number) => void; +export const __wbg_ruleprelude_free: (a: number, b: number) => void; +export const __wbg_selector_free: (a: number, b: number) => void; +export const rawstyleinfo_new: () => number; +export const rawstyleinfo_append_import: (a: number, b: number, c: number) => void; +export const rawstyleinfo_push_rule: (a: number, b: number, c: number) => void; +export const rule_new: (a: number, b: number) => [number, number, number]; +export const rule_set_prelude: (a: number, b: number) => void; +export const rule_push_declaration: (a: number, b: number, c: number, d: number, e: number) => void; +export const rule_push_rule_children: (a: number, b: number) => void; +export const ruleprelude_new: () => number; +export const ruleprelude_push_selector: (a: number, b: number) => void; +export const selector_push_one_selector_section: (a: number, b: number, c: number, d: number, e: number) => [number, number]; export const __wbg_decodedstyledata_free: (a: number, b: number) => void; export const decodedstyledata_new: (a: any) => [number, number, number]; export const decodedstyledata_style_content: (a: number) => [number, number]; export const decodedstyledata_font_face_content: (a: number) => [number, number]; export const decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; export const decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; +export const decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const selector_new: () => number; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; export const __wbindgen_exn_store: (a: number) => void; diff --git a/packages/web-platform/web-core-wasm/binary/client/client_debug.d.ts b/packages/web-platform/web-core-wasm/binary/client/client_debug.d.ts index f290e8b9de..60ac6ad70b 100644 --- a/packages/web-platform/web-core-wasm/binary/client/client_debug.d.ts +++ b/packages/web-platform/web-core-wasm/binary/client/client_debug.d.ts @@ -6,6 +6,7 @@ export class DecodedStyleData { constructor(buffer: Uint8Array); query_css_og_declarations_by_css_id(css_id: number, class_name: string[]): string; static decode_into(buffer: Uint8Array, entry_name: string | null | undefined, config_enable_css_selector: boolean): Uint8Array; + static encode_from_raw_style_info(raw_style_info: RawStyleInfo, config_enable_css_selector: boolean, entry_name?: string | null): Uint8Array; readonly style_content: string; readonly font_face_content: string; } @@ -70,6 +71,102 @@ export class MainThreadWasmContext { __GetDataset(unique_id: number): object; __GetDataByKey(unique_id: number, key: string): any; } +/** + * + * * key: cssId + * * value: StyleSheet + * + */ +export class RawStyleInfo { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Appends an import to the stylesheet identified by `css_id`. + * * If the stylesheet does not exist, it is created. + * * @param css_id - The ID of the CSS file. + * * @param import_css_id - The ID of the imported CSS file. + * + */ + append_import(css_id: number, import_css_id: number): void; + /** + * + * * Pushes a rule to the stylesheet identified by `css_id`. + * * If the stylesheet does not exist, it is created. + * * @param css_id - The ID of the CSS file. + * * @param rule - The rule to append. + * + */ + push_rule(css_id: number, rule: Rule): void; +} +export class Rule { + free(): void; + [Symbol.dispose](): void; + /** + * + * * Creates a new Rule with the specified type. + * * @param rule_type - The type of the rule (e.g., "StyleRule", "FontFaceRule", "KeyframesRule"). + * + */ + constructor(rule_type: string); + /** + * + * * Sets the prelude for the rule. + * * @param prelude - The prelude to set (SelectorList or KeyFramesPrelude). + * + */ + set_prelude(prelude: RulePrelude): void; + /** + * + * * Pushes a declaration to the rule's declaration block. + * * @param property_name - The property name. + * * @param value - The property value. + * + */ + push_declaration(property_name: string, value: string): void; + /** + * + * * Pushes a nested rule to the rule. + * * @param rule - The nested rule to add. + * + */ + push_rule_children(rule: Rule): void; +} +/** + * + * * Either SelectorList or KeyFramesPrelude + * * Depending on the RuleType + * * If it is SelectorList, then selectors is a list of Selector + * * If it is KeyFramesPrelude, then selectors has only one selector which is Prelude text, its simple_selectors is empty + * * If the parent is FontFace, then selectors is empty + * + */ +export class RulePrelude { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Pushes a selector to the list. + * * @param selector - The selector to add. + * + */ + push_selector(selector: Selector): void; +} +export class Selector { + free(): void; + [Symbol.dispose](): void; + constructor(); + /** + * + * * Pushes a selector section to the selector. + * * @param selector_type - The type of the selector section (e.g., "ClassSelector", "IdSelector"). + * * @param value - The value of the selector section. + * + */ + push_one_selector_section(selector_type: string, value: string): void; +} export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; @@ -85,6 +182,22 @@ export interface InitOutput { readonly decodedstyledata_font_face_content: (a: number) => [number, number]; readonly decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; readonly decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; + readonly decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly __wbg_rawstyleinfo_free: (a: number, b: number) => void; + readonly __wbg_rule_free: (a: number, b: number) => void; + readonly __wbg_ruleprelude_free: (a: number, b: number) => void; + readonly __wbg_selector_free: (a: number, b: number) => void; + readonly rawstyleinfo_new: () => number; + readonly rawstyleinfo_append_import: (a: number, b: number, c: number) => void; + readonly rawstyleinfo_push_rule: (a: number, b: number, c: number) => void; + readonly rule_new: (a: number, b: number) => [number, number, number]; + readonly rule_set_prelude: (a: number, b: number) => void; + readonly rule_push_declaration: (a: number, b: number, c: number, d: number, e: number) => void; + readonly rule_push_rule_children: (a: number, b: number) => void; + readonly ruleprelude_new: () => number; + readonly ruleprelude_push_selector: (a: number, b: number) => void; + readonly selector_new: () => number; + readonly selector_push_one_selector_section: (a: number, b: number, c: number, d: number, e: number) => [number, number]; readonly __wbg_elementtemplatesection_free: (a: number, b: number) => void; readonly elementtemplatesection_from_encoded: (a: any) => [number, number, number]; readonly __wbg_eventinfo_free: (a: number, b: number) => void; diff --git a/packages/web-platform/web-core-wasm/binary/client/client_debug_bg.wasm.d.ts b/packages/web-platform/web-core-wasm/binary/client/client_debug_bg.wasm.d.ts index 567bef1dd3..c297c0e6be 100644 --- a/packages/web-platform/web-core-wasm/binary/client/client_debug_bg.wasm.d.ts +++ b/packages/web-platform/web-core-wasm/binary/client/client_debug_bg.wasm.d.ts @@ -11,6 +11,22 @@ export const decodedstyledata_style_content: (a: number) => [number, number]; export const decodedstyledata_font_face_content: (a: number) => [number, number]; export const decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; export const decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; +export const decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const __wbg_rawstyleinfo_free: (a: number, b: number) => void; +export const __wbg_rule_free: (a: number, b: number) => void; +export const __wbg_ruleprelude_free: (a: number, b: number) => void; +export const __wbg_selector_free: (a: number, b: number) => void; +export const rawstyleinfo_new: () => number; +export const rawstyleinfo_append_import: (a: number, b: number, c: number) => void; +export const rawstyleinfo_push_rule: (a: number, b: number, c: number) => void; +export const rule_new: (a: number, b: number) => [number, number, number]; +export const rule_set_prelude: (a: number, b: number) => void; +export const rule_push_declaration: (a: number, b: number, c: number, d: number, e: number) => void; +export const rule_push_rule_children: (a: number, b: number) => void; +export const ruleprelude_new: () => number; +export const ruleprelude_push_selector: (a: number, b: number) => void; +export const selector_new: () => number; +export const selector_push_one_selector_section: (a: number, b: number, c: number, d: number, e: number) => [number, number]; export const __wbg_elementtemplatesection_free: (a: number, b: number) => void; export const elementtemplatesection_from_encoded: (a: any) => [number, number, number]; export const __wbg_eventinfo_free: (a: number, b: number) => void; diff --git a/packages/web-platform/web-core-wasm/binary/encode/encode.d.ts b/packages/web-platform/web-core-wasm/binary/encode/encode.d.ts index 89e8a7855b..c1935d1d8f 100644 --- a/packages/web-platform/web-core-wasm/binary/encode/encode.d.ts +++ b/packages/web-platform/web-core-wasm/binary/encode/encode.d.ts @@ -17,6 +17,7 @@ export class DecodedStyleData { constructor(buffer: Uint8Array); query_css_og_declarations_by_css_id(css_id: number, class_name: string[]): string; static decode_into(buffer: Uint8Array, entry_name: string | null | undefined, config_enable_css_selector: boolean): Uint8Array; + static encode_from_raw_style_info(raw_style_info: RawStyleInfo, config_enable_css_selector: boolean, entry_name?: string | null): Uint8Array; readonly style_content: string; readonly font_face_content: string; } diff --git a/packages/web-platform/web-core-wasm/binary/encode/encode_bg.wasm.d.ts b/packages/web-platform/web-core-wasm/binary/encode/encode_bg.wasm.d.ts index 82b1e0a408..256ea9d8b0 100644 --- a/packages/web-platform/web-core-wasm/binary/encode/encode_bg.wasm.d.ts +++ b/packages/web-platform/web-core-wasm/binary/encode/encode_bg.wasm.d.ts @@ -39,6 +39,7 @@ export const decodedstyledata_style_content: (a: number) => [number, number]; export const decodedstyledata_font_face_content: (a: number) => [number, number]; export const decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; export const decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; +export const decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; export const selector_new: () => number; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/packages/web-platform/web-core-wasm/binary/encode/encode_debug.d.ts b/packages/web-platform/web-core-wasm/binary/encode/encode_debug.d.ts index 89e8a7855b..c1935d1d8f 100644 --- a/packages/web-platform/web-core-wasm/binary/encode/encode_debug.d.ts +++ b/packages/web-platform/web-core-wasm/binary/encode/encode_debug.d.ts @@ -17,6 +17,7 @@ export class DecodedStyleData { constructor(buffer: Uint8Array); query_css_og_declarations_by_css_id(css_id: number, class_name: string[]): string; static decode_into(buffer: Uint8Array, entry_name: string | null | undefined, config_enable_css_selector: boolean): Uint8Array; + static encode_from_raw_style_info(raw_style_info: RawStyleInfo, config_enable_css_selector: boolean, entry_name?: string | null): Uint8Array; readonly style_content: string; readonly font_face_content: string; } diff --git a/packages/web-platform/web-core-wasm/binary/encode/encode_debug_bg.wasm.d.ts b/packages/web-platform/web-core-wasm/binary/encode/encode_debug_bg.wasm.d.ts index afd4d0ae42..19223f25ec 100644 --- a/packages/web-platform/web-core-wasm/binary/encode/encode_debug_bg.wasm.d.ts +++ b/packages/web-platform/web-core-wasm/binary/encode/encode_debug_bg.wasm.d.ts @@ -7,6 +7,7 @@ export const decodedstyledata_style_content: (a: number) => [number, number]; export const decodedstyledata_font_face_content: (a: number) => [number, number]; export const decodedstyledata_query_css_og_declarations_by_css_id: (a: number, b: number, c: number, d: number) => [number, number]; export const decodedstyledata_decode_into: (a: any, b: number, c: number, d: number) => [number, number, number]; +export const decodedstyledata_encode_from_raw_style_info: (a: number, b: number, c: number, d: number) => [number, number, number]; export const __wbg_rawelementtemplate_free: (a: number, b: number) => void; export const rawelementtemplate_new: () => number; export const rawelementtemplate_append_to_root: (a: number, b: number) => void; diff --git a/packages/web-platform/web-core-wasm/src/constants.rs b/packages/web-platform/web-core-wasm/src/constants.rs index cc62a458ea..bd125e6297 100644 --- a/packages/web-platform/web-core-wasm/src/constants.rs +++ b/packages/web-platform/web-core-wasm/src/constants.rs @@ -251,6 +251,7 @@ lazy_static::lazy_static! { ("wrapper", "lynx-wrapper"), ("list", "x-list"), ("page", "div"), + ("svg", "x-svg"), ]); pub static ref HTML_TAG_TO_LYNX_TAG_MAP: FnvHashMap<&'static str, &'static str> = FnvHashMap::from_iter(LYNX_TAG_TO_HTML_TAG_MAP @@ -293,4 +294,33 @@ lazy_static::lazy_static! { "div", "svg" ]); + + pub static ref ELEMENT_REACTIVE_EVENTS: FnvHashSet<&'static str> = FnvHashSet::from_iter(vec![ + "headeroffset", + "headershow", + "footeroffset", + "startrefresh", + "headerreleased", + "startloadmore", + "footerreleased", + "scrolltoupper", + "scrolltolower", + "scroll", + "scrollend", + "load", + "change", + "offsetchange", + "transition", + "scrollstart", + "change-event-for-indicator", + "layoutchange", + "input", + "selection", + "error", + "layout", + "offset", + "snap", + "scrolltoupperedge", + "scrolltoloweredge" + ]); } diff --git a/packages/web-platform/web-core-wasm/src/js_binding/mts_js_binding.rs b/packages/web-platform/web-core-wasm/src/js_binding/mts_js_binding.rs index 54721dbb88..3d68a30ac7 100644 --- a/packages/web-platform/web-core-wasm/src/js_binding/mts_js_binding.rs +++ b/packages/web-platform/web-core-wasm/src/js_binding/mts_js_binding.rs @@ -48,4 +48,18 @@ extern "C" { unique_id: usize, to_enable: bool, ); + + #[wasm_bindgen(method, js_name = "enableElementEvent")] + pub fn enable_element_event( + this: &RustMainthreadContextBinding, + unique_id: usize, + event_name: &str, + ); + + #[wasm_bindgen(method, js_name = "disableElementEvent")] + pub fn disable_element_event( + this: &RustMainthreadContextBinding, + unique_id: usize, + event_name: &str, + ); } diff --git a/packages/web-platform/web-core-wasm/src/main_thread/element_apis/event_apis.rs b/packages/web-platform/web-core-wasm/src/main_thread/element_apis/event_apis.rs index 633c1b8c49..248e24f8ab 100644 --- a/packages/web-platform/web-core-wasm/src/main_thread/element_apis/event_apis.rs +++ b/packages/web-platform/web-core-wasm/src/main_thread/element_apis/event_apis.rs @@ -5,6 +5,7 @@ */ use super::MainThreadWasmContext; +use crate::constants; use wasm_bindgen::prelude::*; /** @@ -31,16 +32,41 @@ impl MainThreadWasmContext { event_handler_identifier: Option, ) { let event_name = event_name.to_ascii_lowercase(); + let event_name_str = event_name.as_str(); let event_type = event_type.to_ascii_lowercase(); self.enable_event(&event_name); + + let is_allowlisted = constants::ELEMENT_REACTIVE_EVENTS.contains(event_name_str); + let mut should_enable = false; + let mut should_disable = false; + if let Some(binding) = self.get_element_data_by_unique_id(unique_id) { let mut element_data = binding.borrow_mut(); + if is_allowlisted { + let old_handler = + element_data.get_framework_cross_thread_event_handler(&event_name, &event_type); + match (&old_handler, &event_handler_identifier) { + (None, Some(_)) => should_enable = true, + (Some(_), None) => should_disable = true, + _ => {} + } + } + element_data.replace_framework_cross_thread_event_handler( - event_name, + event_name.clone(), event_type, event_handler_identifier, ); } + if should_enable { + self + .mts_binding + .enable_element_event(unique_id, event_name_str); + } else if should_disable { + self + .mts_binding + .disable_element_event(unique_id, event_name_str); + } } #[wasm_bindgen(js_name = "__wasm_add_event_run_worklet")] @@ -52,16 +78,41 @@ impl MainThreadWasmContext { event_handler_identifier: Option, ) { let event_name = event_name.to_ascii_lowercase(); + let event_name_str = event_name.as_str(); let event_type = event_type.to_ascii_lowercase(); self.enable_event(&event_name); + + let is_allowlisted = constants::ELEMENT_REACTIVE_EVENTS.contains(event_name_str); + let mut should_enable = false; + let mut should_disable = false; + if let Some(binding) = self.get_element_data_by_unique_id(unique_id) { let mut element_data = binding.borrow_mut(); + if is_allowlisted { + let old_handler = + element_data.get_framework_run_worklet_event_handler(&event_name, &event_type); + match (&old_handler, &event_handler_identifier) { + (None, Some(_)) => should_enable = true, + (Some(_), None) => should_disable = true, + _ => {} + } + } + element_data.replace_framework_run_worklet_event_handler( - event_name, + event_name.clone(), event_type, event_handler_identifier, ); } + if should_enable { + self + .mts_binding + .enable_element_event(unique_id, event_name_str); + } else if should_disable { + self + .mts_binding + .disable_element_event(unique_id, event_name_str); + } } #[wasm_bindgen(js_name = "__GetEvent")] diff --git a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/decoded_style_info.rs b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/decoded_style_info.rs index 7b7686a9cd..c4aff9159f 100644 --- a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/decoded_style_info.rs +++ b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/decoded_style_info.rs @@ -28,7 +28,7 @@ pub(crate) struct StyleInfoDecoder { temp_child_rules_buffer: String, config_enable_css_selector: bool, entry_name: Option, - css_og_current_processing_css_id: Option, + css_og_current_processing_css_ids: Option>, css_og_current_processing_class_selector_names: Option>, } @@ -51,7 +51,7 @@ impl StyleInfoDecoder { entry_name, config_enable_css_selector, is_processing_font_face: false, - css_og_current_processing_css_id: None, + css_og_current_processing_css_ids: None, css_og_current_processing_class_selector_names: None, }; decoded_style_info.decode(flattened_style_info)?; @@ -62,12 +62,12 @@ impl StyleInfoDecoder { &mut self, flattened_style_info: FlattenedStyleInfo, ) -> Result<(), wasm_bindgen::JsError> { - for (css_id, style_sheet) in flattened_style_info.css_id_to_style_sheet.into_iter() { + for (_, style_sheet) in flattened_style_info.css_id_to_style_sheet.into_iter() { for mut style_rule in style_sheet.rules.into_iter() { match style_rule.rule_type { RuleType::Declaration => { if !self.config_enable_css_selector { - self.css_og_current_processing_css_id = Some(css_id); + self.css_og_current_processing_css_ids = Some(style_sheet.imported_by.clone()); self.css_og_current_processing_class_selector_names = Some(Vec::new()); } let mut new_selectors_to_add = Vec::new(); // selectors will be added for removeCSSScope false @@ -128,12 +128,12 @@ impl StyleInfoDecoder { == OneSimpleSelectorType::PseudoElementSelector && simple_selector.value == "placeholder" { - // transform ::placeholder to ::part(placeholder)::placeholder + // transform ::placeholder to ::part(input)::placeholder selector.simple_selectors.insert( simple_selector_index, OneSimpleSelector { selector_type: OneSimpleSelectorType::PseudoElementSelector, - value: "part(placeholder)".to_string(), + value: "part(input)".to_string(), }, ); simple_selector_index += 1; // skip the newly inserted simple selector @@ -296,38 +296,42 @@ impl Generator for StyleInfoDecoder { fn push_transform_kids_style(&mut self, declaration: ParsedDeclaration) { declaration.generate_to_string_buf(&mut self.temp_child_rules_buffer); if !self.config_enable_css_selector { - if let (Some(map), Some(css_id), Some(names)) = ( + if let (Some(map), Some(css_ids), Some(names)) = ( self .css_og_css_id_to_class_selector_name_to_declarations_map .as_mut(), - self.css_og_current_processing_css_id, + self.css_og_current_processing_css_ids.as_ref(), self.css_og_current_processing_class_selector_names.as_ref(), ) { - let class_selector_map = map.entry(css_id).or_default(); - for class_selector_name in names.iter() { - let string_buf = class_selector_map - .entry(class_selector_name.clone()) - .or_default(); - declaration.generate_to_string_buf(string_buf); + for css_id in css_ids.iter() { + let class_selector_map = map.entry(*css_id).or_default(); + for class_selector_name in names.iter() { + let string_buf = class_selector_map + .entry(class_selector_name.clone()) + .or_default(); + declaration.generate_to_string_buf(string_buf); + } } } } } fn push_transformed_style(&mut self, declaration: ParsedDeclaration) { if !self.config_enable_css_selector && !self.is_processing_font_face { - if let (Some(map), Some(css_id), Some(names)) = ( + if let (Some(map), Some(css_ids), Some(names)) = ( self .css_og_css_id_to_class_selector_name_to_declarations_map .as_mut(), - self.css_og_current_processing_css_id, + self.css_og_current_processing_css_ids.as_ref(), self.css_og_current_processing_class_selector_names.as_ref(), ) { - let class_selector_map = map.entry(css_id).or_default(); - for class_selector_name in names.iter() { - let string_buf = class_selector_map - .entry(class_selector_name.clone()) - .or_default(); - declaration.generate_to_string_buf(string_buf); + for css_id in css_ids.iter() { + let class_selector_map = map.entry(*css_id).or_default(); + for class_selector_name in names.iter() { + let string_buf = class_selector_map + .entry(class_selector_name.clone()) + .or_default(); + declaration.generate_to_string_buf(string_buf); + } } } } @@ -843,4 +847,51 @@ mod test { let expected = ":not([hidden]):not([l-e-name]){width:100px;}"; assert_eq!(result.style_content, expected); } + #[test] + fn test_placeholder_selector() { + let raw_style_info = RawStyleInfo { + css_id_to_style_sheet: FnvHashMap::from_iter(vec![( + 0, + StyleSheet { + imports: vec![], + rules: vec![Rule { + nested_rules: vec![], + rule_type: RuleType::Declaration, + prelude: RulePrelude { + selector_list: vec![Selector { + simple_selectors: vec![OneSimpleSelector { + selector_type: OneSimpleSelectorType::PseudoElementSelector, + value: "placeholder".to_string(), + }], + }], + }, + declaration_block: DeclarationBlock { + tokens: vec![ + ValueToken { + token_type: crate::css_tokenizer::token_types::IDENT_TOKEN, + value: "color".to_string(), + }, + ValueToken { + token_type: crate::css_tokenizer::token_types::COLON_TOKEN, + value: ":".to_string(), + }, + ValueToken { + token_type: crate::css_tokenizer::token_types::IDENT_TOKEN, + value: "red".to_string(), + }, + ValueToken { + token_type: crate::css_tokenizer::token_types::SEMICOLON_TOKEN, + value: ";".to_string(), + }, + ], + }, + }], + }, + )]), + style_content_str_size_hint: 0, + }; + let result = generate_string_buf(raw_style_info, true, None); + let expected = ":not([l-e-name])::part(input)::placeholder{--lynx-text-bg-color:initial;-webkit-background-clip:initial;background-clip:initial;color:red;}"; + assert_eq!(result.style_content, expected); + } } diff --git a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/mod.rs b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/mod.rs index 319b92f99d..ca51f8b4c6 100644 --- a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/mod.rs +++ b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/mod.rs @@ -100,4 +100,17 @@ impl DecodedStyleData { .map_err(|e| wasm_bindgen::JsError::new(&format!("Failed to encode to Uint8Array: {e}",)))?; Ok(js_sys::Uint8Array::from(data.as_slice())) } + + #[wasm_bindgen] + pub fn encode_from_raw_style_info( + raw_style_info: RawStyleInfo, + config_enable_css_selector: bool, + entry_name: Option, + ) -> Result { + let decode_data: DecodedStyleData = + StyleInfoDecoder::new(raw_style_info, entry_name, config_enable_css_selector)?.into(); + let data = &bincode::encode_to_vec(&decode_data, bincode::config::standard()) + .map_err(|e| wasm_bindgen::JsError::new(&format!("Failed to encode to Uint8Array: {e}",)))?; + Ok(js_sys::Uint8Array::from(data.as_slice())) + } } diff --git a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/raw_style_info.rs b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/raw_style_info.rs index 15bf0b30f8..4e8d4ff0e8 100644 --- a/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/raw_style_info.rs +++ b/packages/web-platform/web-core-wasm/src/template/template_sections/style_info/raw_style_info.rs @@ -4,31 +4,28 @@ * LICENSE file in the root directory of this source tree. */ -#[cfg(feature = "encode")] use crate::css_tokenizer::token_types::{COLON_TOKEN, IDENT_TOKEN, SEMICOLON_TOKEN}; -#[cfg(feature = "encode")] use crate::css_tokenizer::tokenize; use bincode::Decode; #[cfg(feature = "encode")] use bincode::Encode; use fnv::FnvHashMap; -#[cfg(feature = "encode")] use wasm_bindgen::prelude::*; /** * key: cssId * value: StyleSheet */ -#[derive(Decode)] -#[cfg_attr(feature = "encode", derive(Encode, Clone, Default))] -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[derive(Decode, Default)] +#[cfg_attr(feature = "encode", derive(Encode, Clone))] +#[wasm_bindgen] pub struct RawStyleInfo { pub(super) css_id_to_style_sheet: FnvHashMap, pub(super) style_content_str_size_hint: usize, } -#[derive(Decode)] -#[cfg_attr(feature = "encode", derive(Encode, Default, Clone))] +#[derive(Decode, Default)] +#[cfg_attr(feature = "encode", derive(Encode, Clone))] pub(crate) struct StyleSheet { pub(super) imports: Vec, pub(super) rules: Vec, @@ -36,7 +33,7 @@ pub(crate) struct StyleSheet { #[derive(Decode)] #[cfg_attr(feature = "encode", derive(Encode, Clone))] -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] pub struct Rule { pub(super) rule_type: RuleType, pub(super) prelude: RulePrelude, @@ -54,7 +51,7 @@ pub(super) enum RuleType { #[derive(Decode, Default)] #[cfg_attr(feature = "encode", derive(Encode, Clone))] -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] /** * Either SelectorList or KeyFramesPrelude * Depending on the RuleType @@ -68,7 +65,7 @@ pub struct RulePrelude { #[derive(Decode, Clone, Default)] #[cfg_attr(feature = "encode", derive(Encode))] -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] pub struct Selector { pub(super) simple_selectors: Vec, } @@ -110,10 +107,8 @@ pub(super) struct ValueToken { pub(super) value: String, } -#[cfg(feature = "encode")] #[wasm_bindgen] impl RawStyleInfo { - #[cfg(feature = "encode")] #[wasm_bindgen(constructor)] pub fn new() -> Self { Self::default() @@ -125,7 +120,6 @@ impl RawStyleInfo { * @param css_id - The ID of the CSS file. * @param import_css_id - The ID of the imported CSS file. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn append_import(&mut self, css_id: i32, import_css_id: i32) { // if css_id not exist, create a new StyleSheet @@ -139,7 +133,6 @@ impl RawStyleInfo { * @param css_id - The ID of the CSS file. * @param rule - The rule to append. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn push_rule(&mut self, css_id: i32, rule: Rule) { let style_sheet = self.css_id_to_style_sheet.entry(css_id).or_default(); @@ -162,13 +155,12 @@ impl RawStyleInfo { } } -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] impl Rule { /** * Creates a new Rule with the specified type. * @param rule_type - The type of the rule (e.g., "StyleRule", "FontFaceRule", "KeyframesRule"). */ - #[cfg(feature = "encode")] #[wasm_bindgen(constructor)] pub fn new(rule_type: String) -> Result { let rule_type_enum = match rule_type.as_str() { @@ -193,7 +185,6 @@ impl Rule { * Sets the prelude for the rule. * @param prelude - The prelude to set (SelectorList or KeyFramesPrelude). */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn set_prelude(&mut self, prelude: RulePrelude) { self.prelude = prelude; @@ -204,7 +195,6 @@ impl Rule { * @param property_name - The property name. * @param value - The property value. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn push_declaration(&mut self, property_name: String, value: String) { // 1. property name @@ -238,16 +228,14 @@ impl Rule { * Pushes a nested rule to the rule. * @param rule - The nested rule to add. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn push_rule_children(&mut self, rule: Rule) { self.nested_rules.push(rule); } } -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] impl RulePrelude { - #[cfg(feature = "encode")] #[wasm_bindgen(constructor)] pub fn new() -> Self { Self { @@ -259,16 +247,14 @@ impl RulePrelude { * Pushes a selector to the list. * @param selector - The selector to add. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn push_selector(&mut self, selector: Selector) { self.selector_list.push(selector); } } -#[cfg_attr(feature = "encode", wasm_bindgen)] +#[wasm_bindgen] impl Selector { - #[cfg(feature = "encode")] #[wasm_bindgen(constructor)] pub fn new() -> Self { Self { @@ -281,7 +267,6 @@ impl Selector { * @param selector_type - The type of the selector section (e.g., "ClassSelector", "IdSelector"). * @param value - The value of the selector section. */ - #[cfg(feature = "encode")] #[wasm_bindgen] pub fn push_one_selector_section( &mut self, @@ -356,12 +341,10 @@ impl Selector { } } } -#[cfg(feature = "encode")] struct DeclarationParser { value_token_list: Vec, } -#[cfg(feature = "encode")] impl tokenize::Parser for DeclarationParser { fn on_token(&mut self, token_type: u8, token_value: &str) { let value_token = ValueToken { diff --git a/packages/web-platform/web-core-wasm/tests/StyleManager.spec.ts b/packages/web-platform/web-core-wasm/tests/StyleManager.spec.ts index 610a1a74cd..de72dd5003 100644 --- a/packages/web-platform/web-core-wasm/tests/StyleManager.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/StyleManager.spec.ts @@ -6,6 +6,7 @@ import { describe, it, expect, beforeEach, vi, beforeAll } from 'vitest'; import { encodeCSS } from '../ts/encode/encodeCSS.js'; import { DecodedStyle } from '../ts/client/wasm.js'; import * as CSS from '@lynx-js/css-serializer'; +import { StyleManager } from '../ts/client/mainthread/StyleManager.js'; vi.mock('wasm-feature-detect', () => ({ referenceTypes: async () => true, @@ -13,13 +14,7 @@ vi.mock('wasm-feature-detect', () => ({ describe('StyleManager', () => { let rootNode: HTMLElement; - let styleManager: any; - let StyleManager: any; - - beforeAll(async () => { - const module = await import('../ts/client/mainthread/StyleManager.js'); - StyleManager = module.StyleManager; - }); + let styleManager: StyleManager; beforeEach(() => { rootNode = document.createElement('div'); @@ -115,4 +110,51 @@ describe('StyleManager', () => { expect(sheet.cssRules.length).toBe(1); } }); + it('should not include styles from other css-ids if not imported in Non-CSS Selector mode', () => { + styleManager = new StyleManager(rootNode); + + const encoded = encodeCSS({ + '1': CSS.parse(` + .background-green { + background-color: green; + } + `).root, + '2': CSS.parse(` + .background-yellow { + background-color: yellow; + } + `).root, + '123': CSS.parse(` + @import "1"; + `).root, + }); + + const decodedStyle = new DecodedStyle( + DecodedStyle.webWorkerDecode(encoded, false), + ); + + styleManager.pushStyleSheet(decodedStyle); + + // Node has cssId = 1 + styleManager.updateCssOgStyle( + 1, + 123, + ['background-yellow', 'background-green'] as any, + ); + + const styleElement = rootNode.querySelector( + 'style:last-of-type', + ) as HTMLStyleElement; + const sheet = styleElement?.sheet; + expect(sheet).toBeDefined(); + if (sheet) { + expect(sheet.cssRules.length).toBe(1); + const rule = sheet.cssRules[0] as CSSStyleRule; + // Should contain green + expect(rule.style.backgroundColor).toBe('green'); + // Should NOT contain yellow + expect(rule.style.backgroundColor).not.toBe('yellow'); + expect(rule.cssText).not.toContain('yellow'); + } + }); }); diff --git a/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts b/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts index 67422ec71a..7c97df8ef1 100644 --- a/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts @@ -1339,4 +1339,61 @@ describe('Element APIs', () => { }).toThrow(); }); }); + + test('should optimize event enable/disable for whitelisted events', () => { + const root = mtsGlobalThis.__CreatePage('page', 0); + const element = mtsGlobalThis.__CreateScrollView(0); + mtsGlobalThis.__AppendElement(root, element); + + const enableSpy = vi.spyOn(mtsBinding, 'enableElementEvent'); + const disableSpy = vi.spyOn(mtsBinding, 'disableElementEvent'); + + // 1. Add first scroll listener -> should enable + mtsGlobalThis.__AddEvent(element, 'bindEvent', 'input', 'handler1'); + expect(enableSpy).toHaveBeenCalledTimes(1); + expect(enableSpy).toHaveBeenCalledWith(expect.anything(), 'input'); + enableSpy.mockClear(); + + // 2. Add second scroll listener -> should NOT enable again + mtsGlobalThis.__AddEvent(element, 'bindEvent', 'input', 'handler2'); + expect(enableSpy).not.toHaveBeenCalled(); + + // 3. Remove first scroll listener (by setting null/undefined or however removal works) + // __AddEvent doesn't explicitly support removal in the type signature shown in createElementAPI ?? + // Actually createElementAPI.__AddEvent just calls __wasm_add_event_bts. + // To remove, we usually pass null/undefined as identifier? + // Looking at createElementAPI.ts: if frameworkCrossThreadIdentifier == null, it calls with undefined. + // But how to remove? + // In Rust: replace_framework_cross_thread_event_handler takes Option. + // If we call __AddEvent with null identifier? + + // Let's check createElementAPI.ts again. + // if (frameworkCrossThreadIdentifier == null) { wasmContext.__wasm_add_event_bts(..., undefined); ... } + // So passing null/undefined removes it? + // Wait, the Rust side: `replace_framework_cross_thread_event_handler` puts the new identifier. + // If new identifier is None (from undefined), it removes. + // But we need to target the *specific* event name. + + // Warning: `AddEventPAPI` signature usually implies adding. + // "replace_framework_cross_thread_event_handler" suggests we REPLACE the handler for (event_name, event_type). + // So there is only ONE "bindEvent" handler for "lynxscroll" at a time? + // Use `event_apis.rs`: `framework_cross_thread_identifier: FnvHashMap` where key is like "bind", "capture-bind". + // So YES, for a given (event_name, type="bindEvent"), there is only ONE handler identifier. + + // So my test step 2 "Add second scroll listener" actually REPLACES the first one. + // Rust logic: + // Old: Some("handler1"), New: Some("handler2"). + // match (Some, Some) => nothing. + // Correct. + + // 4. Remove listener. + // Call __AddEvent with null identifier. + mtsGlobalThis.__AddEvent(element, 'bindEvent', 'input', null as any); + + // Rust logic: + // Old: Some("handler2"), New: None. + // match (Some, None) => should_disable = true. + expect(disableSpy).toHaveBeenCalledTimes(1); + expect(disableSpy).toHaveBeenCalledWith(expect.anything(), 'input'); + }); }); diff --git a/packages/web-platform/web-core-wasm/tests/encode.spec.ts b/packages/web-platform/web-core-wasm/tests/encode.spec.ts index 2fae003636..da229e148c 100644 --- a/packages/web-platform/web-core-wasm/tests/encode.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/encode.spec.ts @@ -9,6 +9,8 @@ import { } from '../ts/encode/encodeCSS.js'; import * as CSS from '@lynx-js/css-serializer'; import { DecodedStyle } from '../ts/client/wasm.js'; +import { encode, TasmJSONInfo } from '../ts/encode/webEncoder.js'; +import { TemplateSectionLabel } from '../ts/constants.js'; describe('RawStyleInfo', () => { test('should encode StyleRule correctly', () => { @@ -359,3 +361,65 @@ describe('encodeCSS', () => { // expect(decodedString.trim()).toBe(''); // }) }); + +describe('webEncoder', () => { + test('should skip elementTemplates section if empty', () => { + const tasmJSON: TasmJSONInfo = { + styleInfo: {}, + manifest: {}, + cardType: 'card', + appType: 'card', + pageConfig: {}, + lepusCode: {}, + customSections: {}, + elementTemplates: {}, + }; + const buffer = encode(tasmJSON); + const view = new DataView(buffer.buffer); + let offset = 8 + 4; // Magic + Version + + while (offset < buffer.byteLength) { + const label = view.getUint32(offset, true); + offset += 4; + const length = view.getUint32(offset, true); + offset += 4; + if (label === TemplateSectionLabel.ElementTemplates) { + throw new Error('ElementTemplates section should not be present'); + } + offset += length; + } + }); + + test('should include elementTemplates section if not empty', () => { + const tasmJSON: TasmJSONInfo = { + styleInfo: {}, + manifest: {}, + cardType: 'card', + appType: 'card', + pageConfig: {}, + lepusCode: {}, + customSections: {}, + elementTemplates: { + '0': { + type: 'view', + }, + }, + }; + const buffer = encode(tasmJSON); + const view = new DataView(buffer.buffer); + let offset = 8 + 4; // Magic + Version + let found = false; + + while (offset < buffer.byteLength) { + const label = view.getUint32(offset, true); + offset += 4; + const length = view.getUint32(offset, true); + offset += 4; + if (label === TemplateSectionLabel.ElementTemplates) { + found = true; + } + offset += length; + } + expect(found).toBe(true); + }); +}); diff --git a/packages/web-platform/web-core-wasm/tests/template-manager.spec.ts b/packages/web-platform/web-core-wasm/tests/template-manager.spec.ts index d7702261cf..49ba7c4b64 100644 --- a/packages/web-platform/web-core-wasm/tests/template-manager.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/template-manager.spec.ts @@ -43,6 +43,9 @@ const mockLynxViewInstance = { onStyleInfoReady: vi.fn(), onMTSScriptsLoaded: vi.fn(), onBTSScriptsLoaded: vi.fn(), + backgroundThread: vi.mockObject({ + markTiming: vi.fn(), + }), } as unknown as LynxViewInstance; describe('Template Manager', () => { @@ -253,4 +256,82 @@ describe('Template Manager', () => { }), ); }); + + test('should load web-core.main-thread.json correctly', async () => { + const jsonContent = { + 'styleInfo': { + '0': { + 'rules': [], + 'content': [], + }, + }, + 'lepusCode': { + 'app-service.js': + 'globalThis.runtime = lynxCoreInject.tt; globalThis.__lynx_worker_type = \'background\'', + 'manifest-chunk.js': 'module.exports = \'hello\';', + 'manifest-chunk2.js': 'module.exports = \'world\';', + }, + 'manifest': { + '/app-service.js': + 'globalThis.runtime = lynxCoreInject.tt; globalThis.__lynx_worker_type = \'background\'', + '/manifest-chunk.js': 'module.exports = \'hello\';', + '/manifest-chunk2.js': 'module.exports = \'world\';', + '/json': '{}', + }, + 'customSections': {}, + 'cardType': 'react', + 'appType': 'card', + 'pageConfig': { + 'enableFiberArch': true, + 'useLepusNG': true, + 'enableReuseContext': true, + 'bundleModuleMode': 'ReturnByFunction', + 'templateDebugUrl': '', + 'debugInfoOutside': true, + 'defaultDisplayLinear': true, + 'enableCSSInvalidation': true, + 'enableCSSSelector': true, + 'enableLepusDebug': false, + 'enableRemoveCSSScope': true, + 'targetSdkVersion': '2.10', + }, + }; + + const jsonString = JSON.stringify(jsonContent); + const encoded = new TextEncoder().encode(jsonString); + + const stream = new ReadableStream({ + start(controller) { + controller.enqueue(encoded); + controller.close(); + }, + }); + + (globalThis.fetch as any).mockResolvedValue({ + ok: true, + status: 200, + statusText: 'OK', + body: stream, + }); + + const templateUrl = 'http://example.com/web-core.main-thread.json'; + await templateManager.fetchBundle( + templateUrl, + Promise.resolve(mockLynxViewInstance), + ); + + // Verify config + expect(mockLynxViewInstance.onPageConfigReady).toHaveBeenCalledWith( + expect.objectContaining(jsonContent.pageConfig), + ); + + // Verify style info + expect(mockLynxViewInstance.onStyleInfoReady).toHaveBeenCalled(); + + // Verify script decoding (LepusCode) + // The worker sends section: LepusCode with a blob URL map. + // TemplateManager handles this but doesn't expose the blob map directly easily in tests unless we mock the handler side effect or inspect mockLynxViewInstance. + // TemplateManager calls lynxViewInstance.onMTSScriptsLoaded(url, data). + expect(mockLynxViewInstance.onMTSScriptsLoaded).toHaveBeenCalled(); + }); }); diff --git a/packages/web-platform/web-core-wasm/tests/testing-library-port.spec.ts b/packages/web-platform/web-core-wasm/tests/testing-library-port.spec.ts index 6d4296ccc8..96b41d2f93 100644 --- a/packages/web-platform/web-core-wasm/tests/testing-library-port.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/testing-library-port.spec.ts @@ -91,7 +91,7 @@ describe('Testing Library Port', () => { const el = rootDom.querySelector('[data-testid="svg-element"]'); expect(el).not.toBeNull(); - expect(el?.tagName.toLowerCase()).toBe('svg'); + expect(el?.tagName.toLowerCase()).toBe('x-svg'); expect(mtsGlobalThis.__GetTag(view1)).toBe('svg'); }); diff --git a/packages/web-platform/web-core-wasm/ts/client/decodeWorker/cssLoader.ts b/packages/web-platform/web-core-wasm/ts/client/decodeWorker/cssLoader.ts new file mode 100644 index 0000000000..76f7c000cd --- /dev/null +++ b/packages/web-platform/web-core-wasm/ts/client/decodeWorker/cssLoader.ts @@ -0,0 +1,122 @@ +import { wasmInstance } from '../wasm.js'; + +interface CSSRule { + sel: string[][][]; + decl: [string, string][]; +} + +interface OneInfo { + content: string[]; + rules: CSSRule[]; + imports?: string[]; +} + +type StyleInfo = Record; + +export function loadStyleFromJSON( + styleInfo: StyleInfo, + configEnableCssSelector: boolean, + entryName?: string, +): Uint8Array { + const rawStyleInfo = new wasmInstance.RawStyleInfo(); + + for (const [cssIdStr, info] of Object.entries(styleInfo)) { + const cssId = parseInt(cssIdStr, 10); + + // Handle imports + if (info.imports) { + // imports in StyleInfo are filenames/hrefs, but RawStyleInfo expects cssIds. + // Wait, genStyleInfo output imports as string hrefs? + // RawStyleInfo: imports: Vec + // It seems genStyleInfo.ts produces imports array of strings, but RawStyleInfo needs integers. + // If the JSON only contains strings, we might have a problem mapping them back to IDs unless we have a map. + // However, WebEncodePlugin usually handles mapping. + // Let's check genStyleInfo again. + // node.type === 'ImportRule' => imports.push(node.href). + // If imports are paths, we can't easily convert to ID without extra info. + // BUT, current usage of imports in RawStyleInfo is strictly ID-based. + // If the input JSON has hrefs, we might skip imports or error. + // For now, I will omit imports if they are strings, or try to parse if they look like IDs. + // Actually, in the ecosystem, imports might not be fully supported in JSON mode yet or resolved differently. + // I will log or ignore for now, focusing on Rules. + } + + // Handle rules + for (const rule of info.rules) { + const wasmRule = new wasmInstance.Rule('StyleRule'); + + // Declarations + for (const [prop, val] of rule.decl) { + wasmRule.push_declaration(prop, val); + } + + // Selectors + const prelude = new wasmInstance.RulePrelude(); + for (const selectorChain of rule.sel) { + const selector = new wasmInstance.Selector(); + + // Iterate in chunks of 4 + for (let i = 0; i < selectorChain.length; i += 4) { + const plain = selectorChain[i] || []; + const pseudoClass = selectorChain[i + 1] || []; + const pseudoElement = selectorChain[i + 2] || []; + const combinator = selectorChain[i + 3] || []; + + for (const s of plain) { + parseAndPushSelector(selector, s); + } + for (const s of pseudoClass) { + // Strip leading : + const val = s.startsWith(':') ? s.substring(1) : s; + selector.push_one_selector_section('PseudoClassSelector', val); + } + for (const s of pseudoElement) { + // Strip leading :: + const val = s.startsWith('::') + ? s.substring(2) + : s.startsWith(':') + ? s.substring(1) + : s; + selector.push_one_selector_section('PseudoElementSelector', val); + } + if (combinator.length > 0) { + selector.push_one_selector_section('Combinator', combinator[0]!); + } + } + prelude.push_selector(selector); + } + wasmRule.set_prelude(prelude); + rawStyleInfo.push_rule(cssId, wasmRule); + } + } + + // Use the new Rust method + return wasmInstance.DecodedStyleData.encode_from_raw_style_info( + rawStyleInfo, + configEnableCssSelector, + entryName, + ); +} + +function parseAndPushSelector(selector: any, s: string) { + if (s.startsWith('.')) { + selector.push_one_selector_section('ClassSelector', s.substring(1)); + } else if (s.startsWith('#')) { + selector.push_one_selector_section('IdSelector', s.substring(1)); + } else if (s.startsWith('[')) { + // Attribute: [attr=val] + // Remove enclosing [] + const content = s.substring(1, s.length - 1); + selector.push_one_selector_section('AttributeSelector', content); + } else if (s === '*') { + selector.push_one_selector_section('UniversalSelector', '*'); + } else { + // Type selector + // It comes as [lynx-tag="div"] usually. + let content = s; + if (s.startsWith('[') && s.endsWith(']')) { + content = s.substring(1, s.length - 1); + } + selector.push_one_selector_section('AttributeSelector', content); + } +} diff --git a/packages/web-platform/web-core-wasm/ts/client/decodeWorker/decode.worker.ts b/packages/web-platform/web-core-wasm/ts/client/decodeWorker/decode.worker.ts index d98851c982..e7297699e2 100644 --- a/packages/web-platform/web-core-wasm/ts/client/decodeWorker/decode.worker.ts +++ b/packages/web-platform/web-core-wasm/ts/client/decodeWorker/decode.worker.ts @@ -1,5 +1,6 @@ import { TemplateSectionLabel, MagicHeader } from '../../constants.js'; import type { InitMessage, LoadTemplateMessage, MainMessage } from './types.js'; + import { DecodedStyle, wasmInstance } from '../wasm.js'; import type { PageConfig } from '../../types/PageConfig.js'; @@ -8,6 +9,8 @@ const wasmModuleLoadedPromise: Promise = new Promise((resolve) => { wasmModuleLoadedResolve = resolve; }); +import { loadStyleFromJSON } from './cssLoader.js'; + class StreamReader { #reader: ReadableStreamDefaultReader; #buffer: Uint8Array = new Uint8Array(0); @@ -51,6 +54,24 @@ class StreamReader { this.#buffer = this.#buffer.slice(size); return result; } + + async readRest(): Promise { + while (true) { + const { done, value } = await this.#reader.read(); + if (value) { + const newBuffer = new Uint8Array(this.#buffer.length + value.length); + newBuffer.set(this.#buffer); + newBuffer.set(value, this.#buffer.length); + this.#buffer = newBuffer; + } + if (done) { + break; + } + } + const result = this.#buffer; + this.#buffer = new Uint8Array(0); + return result; + } } function decodeJSONMap(buffer: Uint8Array): Record { @@ -159,6 +180,17 @@ async function handleStream( if (!headerBytes) { throw new Error('Empty stream'); } + + // Check if JSON (starts with {) + if (headerBytes[0] === 123) { + const rest = await streamReader.readRest(); + const decoder = new TextDecoder(); + const jsonStr = decoder.decode(headerBytes) + decoder.decode(rest); + const json = JSON.parse(jsonStr); + await handleJSON(json, url, overrideConfig); + return; + } + const view = new DataView( headerBytes.buffer, headerBytes.byteOffset, @@ -303,4 +335,115 @@ async function handleStream( } } +async function handleJSON( + json: any, + url: string, + overrideConfig?: Partial, +) { + // Configurations + let config: Partial = {}; + if (json.pageConfig) { + config = { ...json.pageConfig }; + } + if (overrideConfig) { + config = { ...config, ...overrideConfig }; + } + postMessage({ + type: 'section', + label: TemplateSectionLabel.Configurations, + url, + data: config, + } as MainMessage); + + // StyleInfo + if (json.styleInfo) { + await wasmModuleLoadedPromise; + const buffer = loadStyleFromJSON( + json.styleInfo, + config['enableCSSSelector'] === 'true', + config['isLazy'] === 'true' ? url : undefined, + ); + postMessage( + { + type: 'section', + label: TemplateSectionLabel.StyleInfo, + url, + data: buffer.buffer, + config, + } as MainMessage, + { + transfer: [buffer.buffer], + }, + ); + } + + // LepusCode + if (json.lepusCode) { + // Flattened structure in json: { root: "...", chunk1: "..." } + const isLazy = config['isLazy'] === 'true'; + const blobMap: Record = {}; + for (const [key, code] of Object.entries(json.lepusCode)) { + if (typeof code !== 'string') continue; + const prefix = + `(function(){ "use strict"; const navigator=void 0,postMessage=void 0,window=void 0; ${ + isLazy ? 'module.exports=' : '' + } `; + const suffix = ` \n })()\n//# sourceURL=${url}/${key}\n`; + const blob = new Blob([prefix, code, suffix], { + type: 'text/javascript;', + }); + blobMap[key] = URL.createObjectURL(blob); + } + postMessage({ + type: 'section', + label: TemplateSectionLabel.LepusCode, + url, + data: blobMap, + config, + } as MainMessage); + } + + // Manifest + if (json.manifest) { + const blobMap: Record = {}; + for (const [key, code] of Object.entries(json.manifest)) { + if (typeof code !== 'string') continue; + const blob = new Blob([code], { + type: 'text/javascript;', + }); + blobMap[key] = URL.createObjectURL(blob); + } + postMessage({ + type: 'section', + label: TemplateSectionLabel.Manifest, + url, + data: blobMap, + } as MainMessage); + } + + // CustomSections + if (json.customSections) { + // Currently we don't have a way to encode custom sections here. + // If main thread accepts generic object, we send it. + // But TemplateManager expects buffer? + // TemplateManager: case CustomSections: #setCustomSection(url, data). data: any. + // So passing object is fine! + postMessage({ + type: 'section', + label: TemplateSectionLabel.CustomSections, + url, + data: json.customSections, + } as MainMessage); + } + + // ElementTemplates + if (json.elementTemplates) { + // TemplateManager expects Uint8Array for ElementTemplates. + // We can't support this easily for JSON. + throw new Error( + 'ElementTemplates in JSON artifacts are not supported yet.', + ); + } +} + postMessage({ type: 'ready' } as MainMessage); diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts index 9668c3b60e..5c2abe7f58 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts @@ -86,6 +86,10 @@ export class BackgroundThread implements AsyncDisposable { readonly #lynxGroupId: number | undefined; readonly #lynxViewInstance: LynxViewInstance; + readonly #btsReady: Promise; + + #btsReadyResolver!: () => void; + #btsStarted = false; constructor( @@ -101,6 +105,9 @@ export class BackgroundThread implements AsyncDisposable { receiveEventEndpoint: dispatchJSContextOnMainThreadEndpoint, sendEventEndpoint: dispatchCoreContextOnBackgroundEndpoint, }); + this.#btsReady = new Promise((resolve) => { + this.#btsReadyResolver = resolve; + }); this.jsContext.__start(); this.#batchSendTimingInfo = this.#rpc.createCall(markTimingEndpoint); this.postTimingFlags = this.#rpc.createCall(postTimingFlagsEndpoint); @@ -195,7 +202,7 @@ export class BackgroundThread implements AsyncDisposable { this.#lynxViewInstance.reportError( e, release, - this.#lynxViewInstance.templateUrl, + 'app-service.js', ); }, ); @@ -241,7 +248,9 @@ export class BackgroundThread implements AsyncDisposable { this.#lynxViewInstance, ); - this.#rpc.invoke(BackgroundThreadStartEndpoint, []); + this.#rpc.invoke(BackgroundThreadStartEndpoint, []).then( + this.#btsReadyResolver, + ); } markTiming( @@ -252,7 +261,7 @@ export class BackgroundThread implements AsyncDisposable { this.#caughtTimingInfo.push({ timingKey, pipelineId, - timeStamp: timeStamp ?? performance.now(), + timeStamp: timeStamp ?? (performance.now() + performance.timeOrigin), }); if (this.#nextMacroTask === null) { this.#nextMacroTask = setTimeout(() => { @@ -273,7 +282,9 @@ export class BackgroundThread implements AsyncDisposable { } } - [Symbol.asyncDispose](): Promise { + async [Symbol.asyncDispose](): Promise { + await this.#btsReady; + await this.#rpc.invoke(disposeEndpoint, []); if (this.#lynxGroupId !== undefined) { const group = BackgroundThread.contextIdToBackgroundWorker[this.#lynxGroupId]; @@ -290,6 +301,5 @@ export class BackgroundThread implements AsyncDisposable { this.#webWorker?.terminate(); } this.#nextMacroTask && clearTimeout(this.#nextMacroTask); - return this.#rpc.invoke(disposeEndpoint, []); } } diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/ExposureServices.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/ExposureServices.ts index eef3ea951e..26812dd3de 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/ExposureServices.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/ExposureServices.ts @@ -50,47 +50,21 @@ export class ExposureServices { */ updateExposureStatus( elementsToBeEnabled: HTMLElement[], + elementsToBeDisabled: HTMLElement[], ) { const elementsToBeEnabledSet = new Set(elementsToBeEnabled); - for ( - const element of this.#exposureEnabledElementsToIntersectionObserver - .keys() - ) { - if (!elementsToBeEnabledSet.has(element)) { - // stop observing elements that are no longer enabled - this.#exposureEnabledElementsToIntersectionObserver.get(element) - ?.disconnect(); - this.#exposureEnabledElementsToIntersectionObserver.delete(element); - this.#exposureEnabledElementsToOldExposureIdAttributeValue.delete( - element, - ); - } - } // start observing newly enabled elements - elementsToBeEnabledSet.forEach((element) => { - const currentExposureId = element.getAttribute('exposure-id') || ''; - if (!this.#exposureEnabledElementsToIntersectionObserver.has(element)) { - this.#exposureEnabledElementsToOldExposureIdAttributeValue.set( - element, - currentExposureId, - ); - this.#startIntersectionObserver(element); - } else { - // check if exposure-id attribute has changed - const oldExposureId = this - .#exposureEnabledElementsToOldExposureIdAttributeValue.get(element); - if (oldExposureId !== currentExposureId) { - this.#exposureEnabledElementsToOldExposureIdAttributeValue.set( - element, - currentExposureId, - ); - if (oldExposureId != null) { - // send disexposure event with old exposure id - this.#sendExposureEvent(element, false, oldExposureId, false); - } - } + for (const element of elementsToBeEnabledSet.values()) { + if (this.#exposureEnabledElementsToIntersectionObserver.has(element)) { + this.#stopIntersectionObserver(element); } - }); + this.#startIntersectionObserver(element); + } + const elementsToBeDisabledSet = new Set(elementsToBeDisabled); + // stop observing newly disabled elements + for (const element of elementsToBeDisabledSet.values()) { + this.#stopIntersectionObserver(element); + } } #IntersectionObserverEventHandler = ( @@ -109,6 +83,26 @@ export class ExposureServices { }); }; + #stopIntersectionObserver(element: HTMLElement) { + const intersectionObserver = this + .#exposureEnabledElementsToIntersectionObserver.get(element); + if (intersectionObserver) { + const oldExposureId = this + .#exposureEnabledElementsToOldExposureIdAttributeValue.get(element); + intersectionObserver.unobserve(element); + intersectionObserver.disconnect(); + this.#exposureEnabledElementsToIntersectionObserver.delete(element); + this.#exposureEnabledElementsToOldExposureIdAttributeValue.delete( + element, + ); + const currentExposureId = element.getAttribute('exposure-id'); + if (oldExposureId != null && currentExposureId !== oldExposureId) { + this.#sendExposureEvent(element, false, oldExposureId, false); + } + } + this.#exposedElements.delete(element); + } + #startIntersectionObserver(target: HTMLElement) { const threshold = parseFloat(target.getAttribute('exposure-area') ?? '0') / 100; @@ -182,6 +176,13 @@ export class ExposureServices { target, intersectionObserver, ); + const currentExposureId = target.getAttribute('exposure-id'); + if (currentExposureId != null) { + this.#exposureEnabledElementsToOldExposureIdAttributeValue.set( + target, + currentExposureId, + ); + } } #sendExposureEvent( @@ -226,7 +227,7 @@ export class ExposureServices { ?? ({} as CloneableObject), ); const globalEvent: GlobalExposureEvent = { - ...serializedTargetInfo.dataset, + dataset: serializedTargetInfo.dataset, ...detail, type: isIntersecting ? 'exposure' : 'disexposure', target: serializedTargetInfo, @@ -252,15 +253,22 @@ export class ExposureServices { const currentDisexposureEvents = this.#globalDisexposureEventCache; this.#globalExposureEventCache = []; this.#globalDisexposureEventCache = []; - this.#lynxViewInstance.backgroundThread?.sendGlobalEvent('exposure', [ - currentExposureEvents, - ]); - this.#lynxViewInstance.backgroundThread?.sendGlobalEvent( - 'disexposure', - [ - currentDisexposureEvents, - ], - ); + if (currentExposureEvents.length > 0) { + this.#lynxViewInstance.backgroundThread?.sendGlobalEvent( + 'exposure', + [ + currentExposureEvents, + ], + ); + } + if (currentDisexposureEvents.length > 0) { + this.#lynxViewInstance.backgroundThread?.sendGlobalEvent( + 'disexposure', + [ + currentDisexposureEvents, + ], + ); + } } this.#globalExposureEventBatchTimer = null; }, 1000 / 20); diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/I18n.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/I18n.ts index 011807d708..f29e510403 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/I18n.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/I18n.ts @@ -69,6 +69,8 @@ export class I18nManager { ) { const event = new CustomEvent(i18nResourceMissedEventName, { detail: options as CloneableObject, + bubbles: true, + composed: true, }); this.#rootDom.dispatchEvent(event); } diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts index cf646ca487..a9e766c4b0 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts @@ -92,6 +92,41 @@ export class LynxViewElement extends HTMLElement { #connected = false; #url?: string; + + /** + * @public + * @property nativeModulesMap + * @default {} + */ + nativeModulesMap: NativeModulesMap | undefined; + + /** + * @param + * @property napiModulesMap + * @default {} + */ + napiModulesMap: NapiModulesMap | undefined; + + /** + * @param + * @property + */ + onNapiModulesCall: NapiModulesCall | undefined; + + constructor() { + super(); + if (!this.onNativeModulesCall) { + this.onNativeModulesCall = (name, data, moduleName) => { + return new Promise((resolve) => { + this.#cachedNativeModulesCall.push({ + args: [name, data, moduleName], + resolve, + }); + }); + }; + } + } + /** * @public * @property the url of lynx view output entry file @@ -208,46 +243,6 @@ export class LynxViewElement extends HTMLElement { this.#cachedNativeModulesCall = []; } - #nativeModulesMap: NativeModulesMap = {}; - /** - * @public - * @property nativeModulesMap - * @default {} - */ - get nativeModulesMap(): NativeModulesMap | undefined { - return this.#nativeModulesMap; - } - set nativeModulesMap(map: NativeModulesMap) { - this.#nativeModulesMap = map; - } - - #napiModulesMap: NapiModulesMap = {}; - /** - * @param - * @property napiModulesMap - * @default {} - */ - get napiModulesMap(): NapiModulesMap | undefined { - return this.#napiModulesMap; - } - set napiModulesMap(map: NapiModulesMap) { - this.#napiModulesMap = map; - } - - #onNapiModulesCall?: NapiModulesCall; - /** - * @param - * @property - */ - get onNapiModulesCall(): NapiModulesCall | undefined { - return this.#onNapiModulesCall; - } - set onNapiModulesCall(handler: INapiModulesCall) { - this.#onNapiModulesCall = (name, data, moduleName, dispatchNapiModules) => { - return handler(name, data, moduleName, this, dispatchNapiModules); - }; - } - /** * @param * @property @@ -342,14 +337,12 @@ export class LynxViewElement extends HTMLElement { } } - public injectStyleRules: string[] = []; + public injectStyleRules?: string[]; /** * @private */ disconnectedCallback() { - this.#instance?.[Symbol.asyncDispose](); - this.#instance = undefined; // under the all-on-ui strategy, when reload() triggers dsl flush, the previously removed pageElement will be used in __FlushElementTree. // This attribute is added to filter this issue. this.shadowRoot?.querySelector('[part="page"]') @@ -357,9 +350,11 @@ export class LynxViewElement extends HTMLElement { lynxDisposedAttribute, '', ); + this.#instance?.[Symbol.asyncDispose](); if (this.shadowRoot) { this.shadowRoot.innerHTML = ''; } + this.#instance = undefined; } /** @@ -381,6 +376,14 @@ export class LynxViewElement extends HTMLElement { } const mtsRealmPromise = createIFrameRealm(this.shadowRoot!); queueMicrotask(async () => { + if (this.injectStyleRules && this.injectStyleRules.length > 0) { + const styleSheet = new CSSStyleSheet(); + for (const rule of this.injectStyleRules) { + styleSheet.insertRule(rule); + } + this.shadowRoot!.adoptedStyleSheets = this.shadowRoot! + .adoptedStyleSheets.concat(styleSheet); + } const mtsRealm = await mtsRealmPromise; if (this.#url) { const lynxViewInstance = import( @@ -396,8 +399,8 @@ export class LynxViewElement extends HTMLElement { this.shadowRoot!, mtsRealm, lynxGroupId, - this.#nativeModulesMap, - this.#napiModulesMap, + this.nativeModulesMap, + this.napiModulesMap, this.#initI18nResources, ); }); diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxViewInstance.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxViewInstance.ts index b01a454200..aecdaacfcc 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxViewInstance.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxViewInstance.ts @@ -24,7 +24,10 @@ import { ExposureServices } from './ExposureServices.js'; import { createElementAPI } from './elementAPIs/createElementAPI.js'; import { createMainThreadGlobalAPIs } from './createMainThreadGlobalAPIs.js'; import { templateManager } from './TemplateManager.js'; -import { loadWebElement } from '../webElementsDynamicLoader.js'; +import { + loadAllWebElements, + loadWebElement, +} from '../webElementsDynamicLoader.js'; import type { LynxViewElement } from './LynxView.js'; import { StyleManager } from './StyleManager.js'; @@ -35,8 +38,8 @@ export const systemInfo = Object.freeze({ ...systemInfoBase, // some information only available on main thread, we should read and pass to worker pixelRatio, - screenWidth, - screenHeight, + pixelWidth: screenWidth, + pixelHeight: screenHeight, }); export interface LynxViewConfigs { @@ -107,6 +110,7 @@ export class LynxViewInstance implements AsyncDisposable { this.exposureServices = new ExposureServices( this, ); + this.backgroundThread.markTiming('create_lynx_start'); } onPageConfigReady(config: PageConfig) { @@ -158,6 +162,7 @@ export class LynxViewInstance implements AsyncDisposable { } onMTSScriptsLoaded(currentUrl: string, isLazy: boolean) { + this.backgroundThread.markTiming('lepus_execute_start'); const urlMap = templateManager.getTemplate(currentUrl) ?.lepusCode as Record; this.lepusCodeUrls.set( @@ -172,14 +177,24 @@ export class LynxViewInstance implements AsyncDisposable { } async onMTSScriptsExecuted() { + this.backgroundThread.markTiming('lepus_execute_end'); + + if ( + !templateManager.getTemplate(this.templateUrl)?.elementTemplates + ) { + this.webElementsLoadingPromises.push(loadAllWebElements()); + } + await Promise.all([ ...this.webElementsLoadingPromises, this.styleReadyPromise, ]); this.webElementsLoadingPromises.length = 0; + this.backgroundThread.markTiming('data_processor_start'); const processedData = this.mainThreadGlobalThis.processData - ? this.mainThreadGlobalThis.processData(this.initData) + ? this.mainThreadGlobalThis.processData?.(this.initData) : this.initData; + this.backgroundThread.markTiming('data_processor_end'); this.backgroundThread.startWebWorker( processedData, this.globalprops, @@ -285,6 +300,9 @@ export class LynxViewInstance implements AsyncDisposable { release, fileName, }, + bubbles: true, + cancelable: true, + composed: true, }), ); } diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts index aed9ab4f14..bd3b70d12f 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts @@ -38,8 +38,6 @@ export class TemplateManager { #worker: Worker | null = null; #workerReadyPromise: Promise | null = null; #resolveWorkerReady: (() => void) | null = null; - #activeUrls: Set = new Set(); - #terminateTimer: ReturnType | null = null; constructor() { this.#ensureWorker(); @@ -55,6 +53,7 @@ export class TemplateManager { const template = this.#templates.get(url); const config = (template?.config || {}) as PageConfig; const lynxViewInstance = await lynxViewInstancePromise; + lynxViewInstance.backgroundThread.markTiming('decode_start'); lynxViewInstance.onPageConfigReady(config); const styleInfo = template?.styleInfo; if (styleInfo) { @@ -74,12 +73,15 @@ export class TemplateManager { lynxViewInstancePromise: Promise, overrideConfig?: Partial, ): Promise { - this.#activeUrls.add(url); + const currentTime = performance.now() + performance.timeOrigin; + lynxViewInstancePromise.then((instance) => { + instance.backgroundThread.markTiming( + 'fetch_start', + undefined, + currentTime, + ); + }); this.#lynxViewInstancesMap.set(url, lynxViewInstancePromise); - if (this.#terminateTimer) { - clearTimeout(this.#terminateTimer); - this.#terminateTimer = null; - } await this.#ensureWorker(); @@ -171,7 +173,11 @@ export class TemplateManager { break; case 'done': this.#cleanup(url); - this.#resolvePromise(url); + lynxViewInstancePromise.then((instance) => { + instance.backgroundThread.markTiming('decode_end'); + instance.backgroundThread.markTiming('load_template_start'); + this.#resolvePromise(url); + }); break; } } @@ -193,6 +199,7 @@ export class TemplateManager { const { label, data, url, config } = msg; switch (label) { case TemplateSectionLabel.Configurations: { + instance.backgroundThread.markTiming('decode_start'); this.#setConfig(url, data); instance.onPageConfigReady(data); break; @@ -234,18 +241,7 @@ export class TemplateManager { } #cleanup(url: string) { - this.#activeUrls.delete(url); this.#lynxViewInstancesMap.delete(url); - if (this.#activeUrls.size === 0) { - this.#terminateTimer = setTimeout(() => { - if (this.#activeUrls.size === 0 && this.#worker) { - this.#worker.terminate(); - this.#worker = null; - this.#workerReadyPromise = null; - this.#resolveWorkerReady = null; - } - }, 10000); - } } createTemplate(url: string) { diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/WASMJSBinding.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/WASMJSBinding.ts index bbcb88bc3e..2d05e4e2d7 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/WASMJSBinding.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/WASMJSBinding.ts @@ -31,6 +31,7 @@ export class WASMJSBinding implements RustMainthreadContextBinding { wasmContext: InstanceType | undefined; uniqueIdToElement: (HTMLElement | undefined)[] = [undefined]; toBeEnabledElement: Set = new Set(); + toBeDisabledElement: Set = new Set(); constructor( public readonly lynxViewInstance: WASMJSBindingInjectedHandler, @@ -49,9 +50,11 @@ export class WASMJSBinding implements RustMainthreadContextBinding { const dom = this.uniqueIdToElement[uniqueId]; if (dom) { if (toEnable) { + this.toBeDisabledElement.delete(dom); this.toBeEnabledElement.add(dom); } else { this.toBeEnabledElement.delete(dom); + this.toBeDisabledElement.add(dom); } } } @@ -201,9 +204,27 @@ export class WASMJSBinding implements RustMainthreadContextBinding { updateExposureStatus( enabledExposureElements: HTMLElement[], + disabledExposureElements: HTMLElement[], ) { this.lynxViewInstance.exposureServices.updateExposureStatus( enabledExposureElements, + disabledExposureElements, ); } + + enableElementEvent(uniqueId: number, eventName: string) { + const element = this.getElementByUniqueId(uniqueId); + if (element) { + // @ts-expect-error + element.enableEvent?.(LynxEventNameToW3cCommon[eventName] ?? eventName); + } + } + + disableElementEvent(uniqueId: number, eventName: string) { + const element = this.getElementByUniqueId(uniqueId); + if (element) { + // @ts-expect-error + element.disableEvent?.(LynxEventNameToW3cCommon[eventName] ?? eventName); + } + } } diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/createElementAPI.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/createElementAPI.ts index b0deb60102..49848c23f1 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/createElementAPI.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/elementAPIs/createElementAPI.ts @@ -2,12 +2,14 @@ import { wasmInstance } from '../../wasm.js'; import { templateManager } from '../TemplateManager.js'; import { + LYNX_TIMING_FLAG_ATTRIBUTE, lynxDisposedAttribute, lynxDefaultDisplayLinearAttribute, lynxEntryNameAttribute, uniqueIdSymbol, LYNX_TAG_TO_HTML_TAG_MAP, cssIdAttribute, + lynxDefaultOverflowVisibleAttribute, } from '../../../constants.js'; import { __SwapElement, @@ -134,6 +136,12 @@ export function createElementAPI( frameworkCrossThreadIdentifier, ); } + if (eventName === 'uiappear' || eventName === 'uidisappear') { + mtsBinding.markExposureRelatedElementByUniqueId( + uniqueId, + frameworkCrossThreadIdentifier != null, + ); + } }; return { __CreateView(parentComponentUniqueId: number) { @@ -248,7 +256,7 @@ export function createElementAPI( componentID, ); if (config_default_overflow_visible) { - dom.setAttribute(lynxDefaultDisplayLinearAttribute, 'true'); + dom.setAttribute(lynxDefaultOverflowVisibleAttribute, 'true'); } if (!config_default_display_linear) { dom.setAttribute(lynxDefaultDisplayLinearAttribute, 'false'); @@ -436,6 +444,8 @@ export function createElementAPI( const uniqueId = (element as DecoratedHTMLElement)[uniqueIdSymbol]; mtsBinding.markExposureRelatedElementByUniqueId(uniqueId, false); } + } else if (name === LYNX_TIMING_FLAG_ATTRIBUTE) { + timingFlags.push(String(value)); } } }, @@ -518,8 +528,13 @@ export function createElementAPI( ...mtsBinding.toBeEnabledElement, ]; mtsBinding.toBeEnabledElement.clear(); + const disabledExposureElements = [ + ...mtsBinding.toBeDisabledElement, + ]; + mtsBinding.toBeDisabledElement.clear(); mtsBinding?.updateExposureStatus( enabledExposureElements, + disabledExposureElements, ); }, }; diff --git a/packages/web-platform/web-core-wasm/ts/client/webElementsDynamicLoader.ts b/packages/web-platform/web-core-wasm/ts/client/webElementsDynamicLoader.ts index c5901a4796..9e1794b7fe 100644 --- a/packages/web-platform/web-core-wasm/ts/client/webElementsDynamicLoader.ts +++ b/packages/web-platform/web-core-wasm/ts/client/webElementsDynamicLoader.ts @@ -80,3 +80,14 @@ export function loadWebElement(id: number): Promise | undefined { loadedWebElementsCSSIds.add(id); }); } + +export function loadAllWebElements(): Promise { + const promises: Promise[] = []; + for (let i = 0; i <= 8; i++) { + const p = loadWebElement(i); + if (p) { + promises.push(p); + } + } + return Promise.all(promises) as Promise as Promise; +} diff --git a/packages/web-platform/web-core-wasm/ts/constants.ts b/packages/web-platform/web-core-wasm/ts/constants.ts index fc86dbda3e..b21c97bbe8 100644 --- a/packages/web-platform/web-core-wasm/ts/constants.ts +++ b/packages/web-platform/web-core-wasm/ts/constants.ts @@ -21,7 +21,8 @@ export const lynxDefaultDisplayLinearAttribute = /*#__PURE__*/ export const lynxDefaultOverflowVisibleAttribute /*#__PURE__*/ = 'lynx-default-overflow-visible' as const; -export const __lynx_timing_flag = /*#__PURE__*/ '__lynx_timing_flag' as const; +export const LYNX_TIMING_FLAG_ATTRIBUTE = + /*#__PURE__*/ '__lynx_timing_flag' as const; export const i18nResourceMissedEventName = 'i18nResourceMissed' as const; @@ -42,15 +43,10 @@ export const W3cEventNameToLynx: Record = /*#__PURE__*/ { lynxinput: 'input', }; -export const LynxEventNameToW3cCommon: Record = /*#__PURE__*/ { - tap: 'click', - scroll: 'lynxscroll', - scrollend: 'lynxscrollend', - touch: 'overlaytouch', - 'lynxblur': 'lynxblur', - 'lynxfocus': 'lynxfocus', - 'lynxinput': 'lynxinput', -}; +export const LynxEventNameToW3cCommon: Record = + /*#__PURE__*/ Object.fromEntries( + Object.entries(W3cEventNameToLynx).map(([k, v]) => [v, k]), + ); export const MagicHeader = /*#__PURE__*/ 0x464F525741524453; // random magic number for verifying the stream is a Lynx encoded template @@ -89,6 +85,7 @@ export const LYNX_TAG_TO_HTML_TAG_MAP: Record = 'page': 'div', 'input': 'x-input', 'x-input-ng': 'x-input', + 'svg': 'x-svg', }), ); diff --git a/packages/web-platform/web-core-wasm/ts/encode/webEncoder.ts b/packages/web-platform/web-core-wasm/ts/encode/webEncoder.ts index 9ce70d5bb2..4fc01c68d3 100644 --- a/packages/web-platform/web-core-wasm/ts/encode/webEncoder.ts +++ b/packages/web-platform/web-core-wasm/ts/encode/webEncoder.ts @@ -82,7 +82,10 @@ export function encode(tasmJSON: TasmJSONInfo): Uint8Array { elementTemplates, } = tasmJSON; const encodedStyleInfo = encodeCSS(styleInfo); - const encodedElementTemplates = encodeElementTemplates(elementTemplates); + const hasElementTemplates = Object.keys(elementTemplates).length > 0; + const encodedElementTemplates = hasElementTemplates + ? encodeElementTemplates(elementTemplates) + : new Uint8Array(0); const encodedManifest = encodeStringMap(manifest); const encodedLepusCode = encodeStringMap(lepusCode); @@ -103,7 +106,7 @@ export function encode(tasmJSON: TasmJSONInfo): Uint8Array { /*section length*/ + 4 + 4 + encodedConfigurations.length // Configurations + 4 + 4 + encodedStyleInfo.length // Style Info - + 4 + 4 + encodedElementTemplates.length // Element Templates + + (hasElementTemplates ? 4 + 4 + encodedElementTemplates.length : 0) // Element Templates + 4 + 4 + encodedLepusCode.length // Lepus Code + 4 + 4 + encodedCustomSections.length // Custom Sections + 4 + 4 + encodedManifest.length // Manifest @@ -128,12 +131,14 @@ export function encode(tasmJSON: TasmJSONInfo): Uint8Array { buffer.set(encodedConfigurations, offset); offset += encodedConfigurations.length; // Element Templates - dataView.setUint32(offset, TemplateSectionLabel.ElementTemplates, true); // section label - offset += 4; - dataView.setUint32(offset, encodedElementTemplates.length, true); // section length - offset += 4; - buffer.set(encodedElementTemplates, offset); - offset += encodedElementTemplates.length; + if (hasElementTemplates) { + dataView.setUint32(offset, TemplateSectionLabel.ElementTemplates, true); // section label + offset += 4; + dataView.setUint32(offset, encodedElementTemplates.length, true); // section length + offset += 4; + buffer.set(encodedElementTemplates, offset); + offset += encodedElementTemplates.length; + } // Lepus Code dataView.setUint32(offset, TemplateSectionLabel.LepusCode, true); // section label offset += 4; diff --git a/packages/webpack/template-webpack-plugin/package.json b/packages/webpack/template-webpack-plugin/package.json index 8a76e9c25b..f739e0b5ad 100644 --- a/packages/webpack/template-webpack-plugin/package.json +++ b/packages/webpack/template-webpack-plugin/package.json @@ -38,6 +38,7 @@ "dependencies": { "@lynx-js/css-serializer": "workspace:*", "@lynx-js/tasm": "0.0.20", + "@lynx-js/web-core-wasm": "workspace:*", "@lynx-js/webpack-runtime-globals": "workspace:^", "@rspack/lite-tapable": "1.0.1", "css-tree": "^3.1.0", diff --git a/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts b/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts index f8993f694a..c0e6b411f5 100644 --- a/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts +++ b/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts @@ -4,6 +4,8 @@ import type { Compilation, Compiler } from 'webpack'; +import type { TasmJSONInfo } from '@lynx-js/web-core-wasm/encode'; + import type { LynxStyleNode } from './css/index.js'; import { LynxTemplatePlugin, @@ -80,31 +82,51 @@ export class WebEncodePlugin { return encodeOptions; }); - hooks.encode.tap({ + hooks.encode.tapPromise({ name: WebEncodePlugin.name, stage: WebEncodePlugin.ENCODE_HOOK_STAGE, - }, ({ encodeOptions }) => { - return { - buffer: Buffer.from(JSON.stringify({ - styleInfo: genStyleInfo( - (encodeOptions['css'] as { - cssMap: Record; - }).cssMap, - ), - manifest: encodeOptions.manifest, - cardType: encodeOptions['cardType'], - appType: encodeOptions['appType'], - pageConfig: encodeOptions['pageConfig'], - lepusCode: { - // flatten the lepusCode to a single object - ...encodeOptions.lepusCode.lepusChunk, - root: encodeOptions.lepusCode.root, - }, - customSections: encodeOptions.customSections, - elementTemplate: encodeOptions['elementTemplate'], - })), - debugInfo: '', + }, async ({ encodeOptions }) => { + const tasmJSONInfo: Record = { + styleInfo: (encodeOptions['css'] as { + cssMap: Record; + }).cssMap, + manifest: encodeOptions.manifest as Record, + cardType: encodeOptions['cardType'] as string, + appType: encodeOptions['appType'] as string, + pageConfig: encodeOptions['pageConfig'] as Record, + lepusCode: { + // flatten the lepusCode to a single object + ...encodeOptions.lepusCode.lepusChunk, + root: encodeOptions.lepusCode.root!, + }, + customSections: encodeOptions.customSections ?? {}, + elementTemplates: encodeOptions['elementTemplates'] ?? {}, }; + const isExperimentalWebBinary = + process.env['EXPERIMENTAL_USE_WEB_BINARY_TEMPLATE']; + if (isExperimentalWebBinary) { + const { encode } = await import('@lynx-js/web-core-wasm/encode'); + return { + buffer: Buffer.from(encode(tasmJSONInfo as TasmJSONInfo)), + debugInfo: '', + }; + } else { + return { + buffer: Buffer.from( + JSON.stringify({ + ...tasmJSONInfo, + styleInfo: genStyleInfo( + tasmJSONInfo['styleInfo'] as Record< + string, + LynxStyleNode[] + >, + ), + }), + 'utf-8', + ), + debugInfo: '', + }; + } }); }, ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf845ecfae..2652961468 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1554,6 +1554,9 @@ importers: '@lynx-js/tasm': specifier: 0.0.20 version: 0.0.20 + '@lynx-js/web-core-wasm': + specifier: workspace:* + version: link:../../web-platform/web-core-wasm '@lynx-js/webpack-runtime-globals': specifier: workspace:^ version: link:../webpack-runtime-globals From fa8f62a794381f00ccd3ab46e67d48f96bd88ae4 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Fri, 9 Jan 2026 18:31:20 +0800 Subject: [PATCH 2/6] + changeset --- .changeset/cold-parts-tan.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changeset/cold-parts-tan.md diff --git a/.changeset/cold-parts-tan.md b/.changeset/cold-parts-tan.md new file mode 100644 index 0000000000..853d812bb3 --- /dev/null +++ b/.changeset/cold-parts-tan.md @@ -0,0 +1,3 @@ +--- + +--- From 8323404d06211d444a3231ea7af28a41cf2d624c Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Fri, 9 Jan 2026 18:47:24 +0800 Subject: [PATCH 3/6] fix publish --- .changeset/config.json | 3 ++- packages/web-platform/web-core-wasm/README.md | 4 +--- packages/web-platform/web-core-wasm/package.json | 2 +- packages/webpack/template-webpack-plugin/package.json | 2 +- pnpm-lock.yaml | 7 ++++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index 6c4d79c3ff..0f258b9fcb 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -37,7 +37,8 @@ }, "ignore": [ "@lynx-js/web-tests", - "@lynx-js/example-react" + "@lynx-js/example-react", + "@lynx-js/web-core-wasm-e2e" ], "changedFilePatterns": [ "src/**" diff --git a/packages/web-platform/web-core-wasm/README.md b/packages/web-platform/web-core-wasm/README.md index 93bc3ed501..7e2e206191 100644 --- a/packages/web-platform/web-core-wasm/README.md +++ b/packages/web-platform/web-core-wasm/README.md @@ -1,3 +1 @@ -# @lynx-js/web-mainthread-apis - -main-thread apis +# This is an internal experimental package, do not use diff --git a/packages/web-platform/web-core-wasm/package.json b/packages/web-platform/web-core-wasm/package.json index 4f76c54a2e..dfee42d18e 100644 --- a/packages/web-platform/web-core-wasm/package.json +++ b/packages/web-platform/web-core-wasm/package.json @@ -1,7 +1,7 @@ { "name": "@lynx-js/web-core-wasm", "version": "0.0.0", - "private": true, + "description": "This is an internal experimental package, do not use", "repository": { "type": "git", "url": "https://github.com/lynx-family/lynx-stack.git", diff --git a/packages/webpack/template-webpack-plugin/package.json b/packages/webpack/template-webpack-plugin/package.json index f739e0b5ad..74a1e52a55 100644 --- a/packages/webpack/template-webpack-plugin/package.json +++ b/packages/webpack/template-webpack-plugin/package.json @@ -38,7 +38,6 @@ "dependencies": { "@lynx-js/css-serializer": "workspace:*", "@lynx-js/tasm": "0.0.20", - "@lynx-js/web-core-wasm": "workspace:*", "@lynx-js/webpack-runtime-globals": "workspace:^", "@rspack/lite-tapable": "1.0.1", "css-tree": "^3.1.0", @@ -47,6 +46,7 @@ "devDependencies": { "@lynx-js/test-tools": "workspace:*", "@lynx-js/vitest-setup": "workspace:*", + "@lynx-js/web-core-wasm": "workspace:*", "@microsoft/api-extractor": "catalog:", "@types/css-tree": "^2.3.11", "@types/object.groupby": "^1.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2652961468..bdd779f33a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1554,9 +1554,6 @@ importers: '@lynx-js/tasm': specifier: 0.0.20 version: 0.0.20 - '@lynx-js/web-core-wasm': - specifier: workspace:* - version: link:../../web-platform/web-core-wasm '@lynx-js/webpack-runtime-globals': specifier: workspace:^ version: link:../webpack-runtime-globals @@ -1591,6 +1588,10 @@ importers: webpack: specifier: ^5.104.1 version: 5.104.1 + optionalDependencies: + '@lynx-js/web-core-wasm': + specifier: workspace:* + version: link:../../web-platform/web-core-wasm packages/webpack/test-tools: devDependencies: From f8c6f11681d95dde66b1e6b66e08c44174c6dbf7 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:09:15 +0800 Subject: [PATCH 4/6] + fix --- .../web-core-wasm/tests/element-apis.spec.ts | 2 -- .../ts/client/mainthread/Background.ts | 7 +++++++ .../web-core-wasm/ts/client/mainthread/LynxView.ts | 13 +++++++++++-- .../ts/client/mainthread/TemplateManager.ts | 3 +++ pnpm-lock.yaml | 7 +++---- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts b/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts index 7c97df8ef1..cab95aa442 100644 --- a/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts +++ b/packages/web-platform/web-core-wasm/tests/element-apis.spec.ts @@ -1348,13 +1348,11 @@ describe('Element APIs', () => { const enableSpy = vi.spyOn(mtsBinding, 'enableElementEvent'); const disableSpy = vi.spyOn(mtsBinding, 'disableElementEvent'); - // 1. Add first scroll listener -> should enable mtsGlobalThis.__AddEvent(element, 'bindEvent', 'input', 'handler1'); expect(enableSpy).toHaveBeenCalledTimes(1); expect(enableSpy).toHaveBeenCalledWith(expect.anything(), 'input'); enableSpy.mockClear(); - // 2. Add second scroll listener -> should NOT enable again mtsGlobalThis.__AddEvent(element, 'bindEvent', 'input', 'handler2'); expect(enableSpy).not.toHaveBeenCalled(); diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts index 5c2abe7f58..5fa69870ed 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts @@ -282,6 +282,13 @@ export class BackgroundThread implements AsyncDisposable { } } + /** + * TODO: + * Potential deadlock if startBTS() was never called. + * If [Symbol.asyncDispose]() is invoked on a BackgroundThread instance where startBTS() was never called, + * #btsReady will never resolve, causing the disposal to hang indefinitely. + * Consider guarding with the existing #btsStarted flag. + */ async [Symbol.asyncDispose](): Promise { await this.#btsReady; await this.#rpc.invoke(disposeEndpoint, []); diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts index a9e766c4b0..f5c90b0fba 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/LynxView.ts @@ -343,8 +343,17 @@ export class LynxViewElement extends HTMLElement { * @private */ disconnectedCallback() { - // under the all-on-ui strategy, when reload() triggers dsl flush, the previously removed pageElement will be used in __FlushElementTree. - // This attribute is added to filter this issue. + /* TODO: + * Await async disposal before re-rendering to prevent concurrent instance mutations. + + Currently disconnectedCallback() triggers asyncDispose() without awaiting, allowing #render() to immediately create a new instance while the old one is still cleaning up on the background thread. This causes both instances to render into the shadowRoot concurrently, producing multiple page elements. + + The basic-reload-page-only-one test confirms this issue by checking that exactly one page element exists after reload. The disposal must complete before the new instance begins rendering. + + Extract an async #disposeInstance() method that marks the old page as disposed, awaits the instance cleanup, clears the shadowRoot, and resets adoptedStyleSheets to prevent stylesheet accumulation. Then await this in the microtask before instantiating the new LynxViewInstance. + + This also fixes a secondary bug where lynxGroupId is referenced before declaration. + */ this.shadowRoot?.querySelector('[part="page"]') ?.setAttribute( lynxDisposedAttribute, diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts index bd3b70d12f..6b1cd5d617 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/TemplateManager.ts @@ -173,6 +173,9 @@ export class TemplateManager { break; case 'done': this.#cleanup(url); + /* TODO: The promise resolution is deferred inside .then() without error handling. + * + */ lynxViewInstancePromise.then((instance) => { instance.backgroundThread.markTiming('decode_end'); instance.backgroundThread.markTiming('load_template_start'); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bdd779f33a..2d07188fa6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1573,6 +1573,9 @@ importers: '@lynx-js/vitest-setup': specifier: workspace:* version: link:../../tools/vitest-setup + '@lynx-js/web-core-wasm': + specifier: workspace:* + version: link:../../web-platform/web-core-wasm '@microsoft/api-extractor': specifier: 'catalog:' version: 7.55.2(@types/node@24.6.1) @@ -1588,10 +1591,6 @@ importers: webpack: specifier: ^5.104.1 version: 5.104.1 - optionalDependencies: - '@lynx-js/web-core-wasm': - specifier: workspace:* - version: link:../../web-platform/web-core-wasm packages/webpack/test-tools: devDependencies: From 65154509005054a34a07a0d92ccd756e3cb57ba4 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:20:28 +0800 Subject: [PATCH 5/6] + fix --- .github/workflows/test.yml | 2 +- .../ts/client/mainthread/Background.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 22f134dc43..6051506f5d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -134,7 +134,7 @@ jobs: uses: ./.github/workflows/workflow-test.yml secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Playwright ${{ matrix.render }} (${{ matrix.shard }}/3) + name: Playwright ${{ matrix.render }} (${{ matrix.shard }}/2) strategy: fail-fast: false matrix: diff --git a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts index 5fa69870ed..d9d522e397 100644 --- a/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts +++ b/packages/web-platform/web-core-wasm/ts/client/mainthread/Background.ts @@ -282,15 +282,15 @@ export class BackgroundThread implements AsyncDisposable { } } - /** - * TODO: - * Potential deadlock if startBTS() was never called. - * If [Symbol.asyncDispose]() is invoked on a BackgroundThread instance where startBTS() was never called, - * #btsReady will never resolve, causing the disposal to hang indefinitely. - * Consider guarding with the existing #btsStarted flag. - */ async [Symbol.asyncDispose](): Promise { await this.#btsReady; + /* + * TODO: + * Potential deadlock if startBTS() was never called. + * If [Symbol.asyncDispose]() is invoked on a BackgroundThread instance where startBTS() was never called, + * #btsReady will never resolve, causing the disposal to hang indefinitely. + * Consider guarding with the existing #btsStarted flag. + */ await this.#rpc.invoke(disposeEndpoint, []); if (this.#lynxGroupId !== undefined) { const group = From fc8f4feb96768feebadf3be94d406928db293696 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:44:12 +0800 Subject: [PATCH 6/6] better error message --- .../template-webpack-plugin/src/WebEncodePlugin.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts b/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts index c0e6b411f5..ab3885678b 100644 --- a/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts +++ b/packages/webpack/template-webpack-plugin/src/WebEncodePlugin.ts @@ -102,10 +102,17 @@ export class WebEncodePlugin { customSections: encodeOptions.customSections ?? {}, elementTemplates: encodeOptions['elementTemplates'] ?? {}, }; - const isExperimentalWebBinary = - process.env['EXPERIMENTAL_USE_WEB_BINARY_TEMPLATE']; + const isExperimentalWebBinary = !!process + .env['EXPERIMENTAL_USE_WEB_BINARY_TEMPLATE']; if (isExperimentalWebBinary) { - const { encode } = await import('@lynx-js/web-core-wasm/encode'); + const { encode } = await import('@lynx-js/web-core-wasm/encode') + .catch( + () => { + throw new Error( + `FLAG EXPERIMENTAL_USE_WEB_BINARY_TEMPLATE IS INTERNAL USED ONLY`, + ); + }, + ); return { buffer: Buffer.from(encode(tasmJSONInfo as TasmJSONInfo)), debugInfo: '',