From b2ef3d0f80fd3944f544d72894e1bc3cb2bc595d Mon Sep 17 00:00:00 2001 From: Ewald <129623145+MajoorWaldi@users.noreply.github.com> Date: Mon, 20 Apr 2026 23:10:42 +0200 Subject: [PATCH] fix(assets): improve grid reload and scroll behavior - Adjusting the infinite scroll loading point to 4 card rows from the bottom - Improving grid state restoration after reloads - Enhancing the early fetch mechanism for faster initial loads - Optimizing execution runtime to handle large numbers of assets efficiently - Updating viewer and run button behavior for better integration with ComfyUI - Fix various bugs and edge cases --- CHANGELOG.md | 19 + js/app/config.js | 7 +- js/app/i18n.js | 18 + js/entry.js | 10 + .../panel/controllers/gridController.js | 18 +- .../panel/controllers/scopeController.js | 7 +- js/features/panel/messages/messageCenter.js | 30 + js/features/panel/panelRuntime.js | 14 +- js/features/runtime/entryUiRegistration.js | 36 +- .../runtime/registerRealtimeListeners.js | 6 +- .../stacks/executionRuntimeController.js | 33 +- js/features/viewer/floatingViewerUi.js | 2 +- .../workflowSidebar/sidebarRunButton.js | 33 +- js/tests/assets_grid_host_state.vitest.mjs | 5 +- .../execution_runtime_controller.vitest.mjs | 90 + js/tests/infinite_scroll_upsert.vitest.mjs | 24 +- js/vue/components/common/TagsEditor.vue | 3 +- .../components/grid/VirtualAssetGridHost.vue | 34 +- js/vue/components/grid/assetsGridHostState.js | 40 +- js/vue/composables/useAssetsQuery.js | 12 +- js/vue/composables/useGridLoader.js | 135 +- js/vue/composables/useGridSelection.js | 5 +- js/vue/composables/useVirtualGrid.js | 66 +- .../assets/comfyui-majoor-assetsmanager.css | 2 +- ...DwUuqgW7.js => FloatingViewer-96M53tBE.js} | 407 +- ...YMJng.js => LiveStreamTracker-BR6kWxcl.js} | 2 +- .../{entry-DyjnHjNW.js => entry-Cn6KiPQv.js} | 33569 ++++++++-------- ...enInfo-L1PrRwDk.js => genInfo-DPaWrr2W.js} | 2 +- ...7QICZEL.js => model3dRenderer-CxixV6KF.js} | 2 +- ...{scopes-DzaL48jb.js => scopes-zVIngGZC.js} | 2 +- ...ide-D0NSgnSp.js => sideBySide-B--hMG3P.js} | 2 +- js_dist/entry.js | 2 +- .../features/geninfo/api_node_extractor.py | 6 +- .../features/geninfo/prompt_tracer.py | 56 + mjr_am_backend/features/index/searcher.py | 15 + mjr_am_backend/features/index/watcher.py | 30 + mjr_am_backend/routes/handlers/scan.py | 6 +- nodes.py | 4 +- tests/features/test_api_node_extractor.py | 355 + .../features/test_geninfo_parser_impl_more.py | 113 +- 40 files changed, 18233 insertions(+), 16989 deletions(-) create mode 100644 js/tests/execution_runtime_controller.vitest.mjs rename js_dist/chunks/{FloatingViewer-DwUuqgW7.js => FloatingViewer-96M53tBE.js} (90%) rename js_dist/chunks/{LiveStreamTracker-C2pYMJng.js => LiveStreamTracker-BR6kWxcl.js} (99%) rename js_dist/chunks/{entry-DyjnHjNW.js => entry-Cn6KiPQv.js} (87%) rename js_dist/chunks/{genInfo-L1PrRwDk.js => genInfo-DPaWrr2W.js} (99%) rename js_dist/chunks/{model3dRenderer-B7QICZEL.js => model3dRenderer-CxixV6KF.js} (87%) rename js_dist/chunks/{scopes-DzaL48jb.js => scopes-zVIngGZC.js} (99%) rename js_dist/chunks/{sideBySide-D0NSgnSp.js => sideBySide-B--hMG3P.js} (99%) create mode 100644 tests/features/test_api_node_extractor.py diff --git a/CHANGELOG.md b/CHANGELOG.md index b4fe32e8..51c3844b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to this project are documented in this file. +## [Unreleased] + +### πŸ› Bug Fixes & Performance +- **Bug Fixes**: Various bug fixes +- **Performance and Fluidity**: Performance and fluidity improvements + +### ✨ Improved +- **Concatenate Support**: Improved concatenate support for default and custom nodes β€” by Forsion07 + +### πŸ”Œ API & Integrations +- **Api Node Helpers**: Add support helpers for Api Node +- **Ernie Image Helper**: Add support helper for Ernie Image + +### βš™οΈ Settings & Defaults +- **Live Stream disabled by default**: MFV Live Stream (green button) is now OFF by default; can be re-enabled permanently via Settings β†’ Majoor Assets Manager β€Ί Viewer +- **Live Stream & KSampler Preview configurable by default**: Both toggles can be set as the default state via Settings β†’ Viewer; when Live Stream is active, clicking a Load Image node or a generation end automatically opens the Floating Viewer + +--- + ## [2.4.5] - 2026-04-10 ### πŸŽ‰ New Features β€” Floating Viewer diff --git a/js/app/config.js b/js/app/config.js index f5ae1ebf..790c24e9 100644 --- a/js/app/config.js +++ b/js/app/config.js @@ -58,12 +58,13 @@ export const APP_DEFAULTS = Object.freeze({ BADGE_DUPLICATE_ALERT_COLOR: "#FF1744", // Pagination - DEFAULT_PAGE_SIZE: 200, + DEFAULT_PAGE_SIZE: 80, // Upper bound for a single list request. The backend allows more, but very large // pages can create huge DOM batches; keep this as a safety cap. MAX_PAGE_SIZE: 2000, - // Prefetch next page immediately after initial load for faster scrolling + // Prefetch next page after the first paint so initial grid render stays responsive PREFETCH_NEXT_PAGE: true, + PREFETCH_NEXT_PAGE_DELAY_MS: 700, // Client-side default for search request limit (user-adjustable in settings) SEARCH_DEFAULT_LIMIT: 500, INFINITE_SCROLL_ENABLED: true, @@ -83,7 +84,7 @@ export const APP_DEFAULTS = Object.freeze({ VIEWER_PAUSE_DURING_EXECUTION: true, FLOATING_VIEWER_PAUSE_DURING_EXECUTION: false, MFV_SIDEBAR_POSITION: "right", - MFV_LIVE_DEFAULT: true, + MFV_LIVE_DEFAULT: false, MFV_PREVIEW_DEFAULT: true, MFV_PREVIEW_METHOD: "taesd", diff --git a/js/app/i18n.js b/js/app/i18n.js index 882b7e92..aaa25538 100644 --- a/js/app/i18n.js +++ b/js/app/i18n.js @@ -396,6 +396,7 @@ const DICTIONARY = { "tags.title": "Tags: {tags}", "tags.label": "Tags", "tags.addLabel": "Add tag", + "tags.remove": "Remove tag", "tags.suggestions": "Tag suggestions", "label.messages": "Messages", "label.readMe": "Read Me", @@ -639,6 +640,14 @@ const DICTIONARY = { "msg.shortcuts.section.mfv": "Floating Viewer", "msg.shortcuts.section.video": "Video Playback", "msg.category.release": "Release", + "msg.whatsNew.title.version246": "New Version 2.4.6", + "msg.whatsNew.body.version246": + "Version 2.4.6 released: Various bug fixes and performance & fluidity improvements. Improved concatenate support for default and custom nodes (by Forsion07). Added support helpers for Api Node and Ernie Image. Live Stream in Floating Viewer is now disabled by default. See CHANGELOG for details.", + "label.changelog": "Changelog", + "label.settingsGuide": "Settings Guide", + "msg.tip.title.mfvLivePreviewDefaults": "Tip β€” Floating Viewer Auto-Open", + "msg.tip.body.mfvLivePreviewDefaults": + "Live Stream (green button in the viewer) and KSampler Preview can be activated by default via Settings \u2192 Majoor Assets Manager \u203a Viewer. When Live Stream is on, clicking a Load Image node or when a generation ends will automatically open the Floating Viewer and display the result. KSampler Preview streams the denoising steps live. Both toggles can be set as the default state so the viewer is always ready.", "msg.whatsNew.title.version243": "New Version 2.4.3", "msg.whatsNew.body.version243": "Version 2.4.3 released: Improved assets metadata parsing, Grid Compare capability in floating viewer up to 4 Assets, ping pong loop in main Viewer player, job id and stack id in DB for better assets management, stack assets generated from same workflow job with same job ID, generated feed feature, lite version of grid in bottom tab. Code refactor for maintainability and various bug fixes. See CHANGELOG for details.", @@ -1154,6 +1163,7 @@ const DICTIONARY = { "tags.title": "Tags : {tags}", "tags.label": "Tags", "tags.addLabel": "Ajouter un tag", + "tags.remove": "Supprimer le tag", "tags.suggestions": "Suggestions de tags", "label.thisFile": "ce fichier", "label.messages": "Messages", @@ -1180,6 +1190,14 @@ const DICTIONARY = { "msg.shortcuts.section.mfv": "Floating Viewer", "msg.shortcuts.section.video": "Lecture video", "msg.category.release": "Version", + "msg.whatsNew.title.version246": "Nouvelle Version 2.4.6", + "msg.whatsNew.body.version246": + "Version 2.4.6 publiee : divers correctifs de bugs et ameliorations de performances et fluidite. Support concatenate ameliore pour les nodes par defaut et custom (par Forsion07). Ajout des helpers pour Api Node et Ernie Image. Le Live Stream du Floating Viewer est desormais desactive par defaut. Voir CHANGELOG pour details.", + "label.changelog": "Changelog", + "label.settingsGuide": "Guide des param\u00e8tres", + "msg.tip.title.mfvLivePreviewDefaults": "Conseil β€” Ouverture automatique du Viewer", + "msg.tip.body.mfvLivePreviewDefaults": + "Le Live Stream (bouton vert dans le viewer) et la pr\u00e9visualisation KSampler peuvent \u00eatre activ\u00e9s par d\u00e9faut via Param\u00e8tres \u2192 Majoor Assets Manager \u203a Viewer. Lorsque le Live Stream est actif, cliquer sur un node Load Image ou la fin d'une g\u00e9n\u00e9ration ouvrira automatiquement le Floating Viewer et affichera le r\u00e9sultat. La pr\u00e9visualisation KSampler diffuse les \u00e9tapes de d\u00e9bruitage en direct. Les deux options peuvent \u00eatre d\u00e9finies comme \u00e9tat par d\u00e9faut pour que le viewer soit toujours pr\u00eat.", "msg.whatsNew.title.version243": "Nouvelle Version 2.4.3", "msg.whatsNew.body.version243": "Version 2.4.3 publiee : analyse des metadonnees des assets amelioree, capacite Grid Compare dans le floating viewer jusqu'a 4 Assets, boucle ping pong dans le Viewer principal, job id et stack id dans la BDD pour une meilleure gestion des assets, empilement des assets generes depuis le meme workflow avec le meme job ID, fonctionnalite de feed genere, version legere de la grille dans l'onglet bottom. Refactorisation du code pour la maintenabilite et divers correctifs de bugs. Voir CHANGELOG pour details.", diff --git a/js/entry.js b/js/entry.js index 63827bf5..5942dffb 100644 --- a/js/entry.js +++ b/js/entry.js @@ -59,6 +59,7 @@ import { mountGlobalRuntime, registerAssetsSidebar, registerNativeCommands, + startEarlyFetch, teardownTopBarMfvButton, teardownGeneratedFeed, teardownAssetsSidebar, @@ -363,6 +364,15 @@ app.registerExtension({ void checkMajoorVersion(); }, 5000); + // 8b. Proactive early fetch β€” start the first assets page in the background + // so the data is ready (or already in-flight) when the user opens the + // sidebar. A 4-second delay lets ComfyUI finish its own startup work + // and the backend DB warm-up to settle before we hit /mjr/am/list. + // startEarlyFetch() is a no-op when ComfyUI is executing a prompt. + setTimeout(() => { + startEarlyFetch(); + }, 4000); + // 9. WebSocket / realtime listeners. void setupApiListeners(runtimeApp, executionRuntime).catch((e) => reportError(e, "entry.api_setup"), diff --git a/js/features/panel/controllers/gridController.js b/js/features/panel/controllers/gridController.js index 2bf25ca5..78e5cdf1 100644 --- a/js/features/panel/controllers/gridController.js +++ b/js/features/panel/controllers/gridController.js @@ -295,19 +295,14 @@ export function createGridController({ }; const runReloadOnce = async (reloadOptions = {}) => { - // Expose the current query on the container so external listeners (ComfyUI executed events) - // can decide whether to do incremental upserts or avoid disrupting an active search. - try { - gridContainer.dataset.mjrQuery = String(getQuery?.() ?? "*") || "*"; - } catch (e) { - console.debug?.(e); - } const prevViewScope = String(gridContainer.dataset.mjrViewScope || "") .trim() .toLowerCase(); const nextViewScope = String(read("viewScope", state?.viewScope || "") || "") .trim() .toLowerCase(); + // Write scope and filter state to the container dataset BEFORE reading + // the query so that fetchPage sees the finalized scope context. gridContainer.dataset.mjrScope = read("scope", "output"); gridContainer.dataset.mjrViewScope = nextViewScope; gridContainer.dataset.mjrCustomRootId = read("customRootId", "") || ""; @@ -328,6 +323,15 @@ export function createGridController({ gridContainer.dataset.mjrFilterDateExact = read("dateExactFilter", "") || ""; gridContainer.dataset.mjrSort = read("sort", "mtime_desc") || "mtime_desc"; gridContainer.dataset.mjrCollectionId = read("collectionId", "") || ""; + gridContainer.dataset.mjrSemanticMode = _isSemanticMode() ? "1" : "0"; + // Expose the current query on the container so external listeners (ComfyUI executed events) + // can decide whether to do incremental upserts or avoid disrupting an active search. + // Written after scope so that fetchPage sees the finalized context. + try { + gridContainer.dataset.mjrQuery = String(getQuery?.() ?? "*") || "*"; + } catch (e) { + console.debug?.(e); + } gridContainer.dataset.mjrGroupStacks = APP_CONFIG.EXECUTION_GROUPING_ENABLED && (read("scope", "output") === "output" || read("scope", "output") === "all") diff --git a/js/features/panel/controllers/scopeController.js b/js/features/panel/controllers/scopeController.js index b990c54a..9465ca29 100644 --- a/js/features/panel/controllers/scopeController.js +++ b/js/features/panel/controllers/scopeController.js @@ -82,6 +82,9 @@ export function createScopeController({ const clearSimilarScope = async ({ reload = true } = {}) => { const hadSimilar = hasSimilarResults(); resetSimilarScope(); + // Clear stale search query when exiting similar view to avoid + // applying it to the scope the user returns to. + writeState("searchQuery", ""); setActiveTabStyles(); try { onChanged?.(); @@ -124,9 +127,11 @@ export function createScopeController({ return; } - // Switching scope exits any active collection view. + // Switching scope exits any active collection view and clears + // the search query so the new scope starts with a clean browse. writeState("collectionId", ""); writeState("collectionName", ""); + writeState("searchQuery", ""); resetSimilarScope(); const nextScope = diff --git a/js/features/panel/messages/messageCenter.js b/js/features/panel/messages/messageCenter.js index e3f81e7f..478a2f4a 100644 --- a/js/features/panel/messages/messageCenter.js +++ b/js/features/panel/messages/messageCenter.js @@ -171,6 +171,36 @@ const BUILTIN_PANEL_MESSAGES = Object.freeze([ body: "A new Viewer button now appears in the ComfyUI top action bar. Click it to toggle the Majoor Floating Viewer on or off without opening the sidebar. The button highlights when the viewer is active and updates in real time.", bodyKey: "msg.whatsNew.body.topbarMfvButton", }, + { + id: "whats-new-2026-04-20-version-2-4-6", + title: "New Version 2.4.6", + titleKey: "msg.whatsNew.title.version246", + emoji: "πŸš€", + category: "Release", + categoryKey: "msg.category.release", + level: "success", + createdAt: Date.parse("2026-04-20T09:00:00Z"), + body: "Version 2.4.6 released: Various bug fixes and performance & fluidity improvements. Improved concatenate support for default and custom nodes (by Forsion07). Added support helpers for Api Node and Ernie Image. Live Stream in Floating Viewer is now disabled by default. See CHANGELOG for details.", + bodyKey: "msg.whatsNew.body.version246", + actionLabel: "Changelog", + actionLabelKey: "label.changelog", + actionUrl: "CHANGELOG.md", + }, + { + id: "tip-2026-04-20-mfv-live-stream-preview-defaults", + title: "Tip β€” Floating Viewer Auto-Open", + titleKey: "msg.tip.title.mfvLivePreviewDefaults", + emoji: "πŸ’‘", + category: "Information", + categoryKey: "msg.category.information", + level: "info", + createdAt: Date.parse("2026-04-20T10:00:00Z"), + body: "Live Stream (green button in the viewer) and KSampler Preview can be activated by default via Settings β†’ Majoor Assets Manager β€Ί Viewer. When Live Stream is on, clicking a Load Image node or when a generation ends will automatically open the Floating Viewer and display the result. KSampler Preview streams the denoising steps live. Both toggles can be set as the default state so the viewer is always ready.", + bodyKey: "msg.tip.body.mfvLivePreviewDefaults", + actionLabel: "Settings Guide", + actionLabelKey: "label.settingsGuide", + actionUrl: "docs/SETTINGS_CONFIGURATION.md", + }, ]); const BUILTIN_MESSAGE_IDS = new Set( BUILTIN_PANEL_MESSAGES.map((msg) => String(msg?.id || "").trim()).filter(Boolean), diff --git a/js/features/panel/panelRuntime.js b/js/features/panel/panelRuntime.js index f115e645..62f0d6bd 100644 --- a/js/features/panel/panelRuntime.js +++ b/js/features/panel/panelRuntime.js @@ -800,18 +800,26 @@ async function _mountPanelRuntimeImpl(container, { useComfyThemeUI = true, exter signal: panelLifecycleAC?.signal, }); let raf = null; + let debounceTimer = null; const schedule = () => { - if (raf) cancelAnimationFrame(raf); - raf = requestAnimationFrame(() => { raf = null; notifyContextChanged(); }); + // Debounce MutationObserver callbacks during pagination bursts + // (many cards inserted rapidly). Coalesce to a single update. + if (debounceTimer) clearTimeout(debounceTimer); + debounceTimer = setTimeout(() => { + debounceTimer = null; + if (raf) cancelAnimationFrame(raf); + raf = requestAnimationFrame(() => { raf = null; notifyContextChanged(); }); + }, 250); }; const mo = new MutationObserver(() => schedule()); - mo.observe(gridContainer, { childList: true, subtree: true }); + mo.observe(gridContainer, { childList: true }); gridContainer._mjrSummaryBarObserver = mo; registerSummaryDispose(() => { try { gridContainer.removeEventListener("mjr:grid-stats", onStats); } catch (e) { console.debug?.(e); } try { window.removeEventListener?.("mjr-settings-changed", onStats); } catch (e) { console.debug?.(e); } + try { if (debounceTimer) clearTimeout(debounceTimer); } catch (e) { console.debug?.(e); } try { mo.disconnect(); } catch (e) { console.debug?.(e); } }); } diff --git a/js/features/runtime/entryUiRegistration.js b/js/features/runtime/entryUiRegistration.js index 4338cfad..b90163b8 100644 --- a/js/features/runtime/entryUiRegistration.js +++ b/js/features/runtime/entryUiRegistration.js @@ -45,8 +45,22 @@ const FEED_MOUNT_KEY = "_mjrFeedVueApp"; // This prefetched data is consumed by useGridLoader when it initializes. let _earlyFetchPromise = null; let _earlyFetchKey = null; -const EARLY_FETCH_TTL_MS = 5000; // Prefetch valid for 5 seconds +// 15 seconds β€” wide enough to cover slow ComfyUI startups and delayed sidebar +// opens while still invalidating stale data before it becomes misleading. +const EARLY_FETCH_TTL_MS = 15000; let _earlyFetchTimestamp = 0; +let _earlyFetchAC = null; + +// Abort the in-flight early fetch on page unload so it doesn't appear as an +// epoch-1 cancelled request in the next session's network log. +try { + window.addEventListener("pagehide", () => { + try { _earlyFetchAC?.abort?.(); } catch (e) { /* ignore */ } + _earlyFetchAC = null; + _earlyFetchPromise = null; + _earlyFetchKey = null; + }, { once: true }); +} catch (e) { /* ignore */ } function isExecutionBusy() { try { @@ -72,21 +86,38 @@ function startEarlyFetch() { _earlyFetchTimestamp = now; try { + // Create a dedicated AbortController so we can cancel this request + // cleanly on page unload (pagehide) instead of letting the browser + // kill it mid-flight and produce epoch-1 entries in the next session. + try { _earlyFetchAC?.abort?.(); } catch (e) { /* ignore */ } + _earlyFetchAC = typeof AbortController !== "undefined" ? new AbortController() : null; const url = buildListURL({ query: "*", limit: APP_CONFIG.DEFAULT_PAGE_SIZE || 200, offset: 0, scope: "output", sort: "mtime_desc", + // Include total so useGridLoader can set state.total correctly. + // Without it the fallback was earlyAssets.length (page size), + // which caused state.done=true after the first page and blocked + // all subsequent pagination / infinite scroll. + includeTotal: true, }); - _earlyFetchPromise = get(url).catch(() => null); + _earlyFetchPromise = get(url, _earlyFetchAC ? { signal: _earlyFetchAC.signal } : {}).catch(() => null); } catch { _earlyFetchPromise = null; + _earlyFetchAC = null; } return _earlyFetchPromise; } +/** + * Start the early fetch from an external caller (e.g. entry.js setup). + * Safe to call multiple times β€” returns existing promise if still valid. + */ +export { startEarlyFetch }; + /** * Consume the early fetch result if available and matching. * Called by useGridLoader on first load. @@ -105,6 +136,7 @@ export function consumeEarlyFetch(key = "output:*:mtime_desc") { // Clear after consumption to avoid stale reuse _earlyFetchPromise = null; _earlyFetchKey = null; + _earlyFetchAC = null; return promise; } diff --git a/js/features/runtime/registerRealtimeListeners.js b/js/features/runtime/registerRealtimeListeners.js index c5d68b2d..c30da126 100644 --- a/js/features/runtime/registerRealtimeListeners.js +++ b/js/features/runtime/registerRealtimeListeners.js @@ -400,7 +400,11 @@ export async function registerRealtimeListeners({ if (executionRuntime.isRenderableLiveAsset(detail)) { pushGeneratedAsset(detail); } - upsertLiveAssetIntoGrid(grid, detail); + // Use immediate flush for updates to assets already visible in + // the grid (enrichment / vector indexing results). This avoids + // a 200 ms debounce window during which the card shows stale + // metadata or temporarily disappears then reappears. + upsertLiveAssetIntoGrid(grid, detail, { immediate: true }); } } catch (error) { reportError(error, "entry.asset_updated"); diff --git a/js/features/stacks/executionRuntimeController.js b/js/features/stacks/executionRuntimeController.js index 180953ac..7b3f10fc 100644 --- a/js/features/stacks/executionRuntimeController.js +++ b/js/features/stacks/executionRuntimeController.js @@ -20,6 +20,7 @@ const EXECUTION_START_TTL_MS = 10 * 60 * 1000; const EXECUTION_STARTS_MAX = 500; const ORPHAN_GENERATION_RETRY_MAX_ATTEMPTS = 6; const ORPHAN_GENERATION_ABSOLUTE_TIMEOUT_MS = 30_000; +const POST_EXECUTION_BUFFER_FLUSH_FAST_MS = 500; export function createExecutionRuntimeController({ post, @@ -202,7 +203,7 @@ export function createExecutionRuntimeController({ } function schedulePostExecutionWork(work, delayMs = executionIdleGraceMs) { - const waitMs = Math.max(0, Number(delayMs) || 0, executionIdleGraceMs); + const waitMs = Math.max(0, Number(delayMs) || 0); clearPostExecutionWorkTimer(); postExecutionWorkTimer = setTimeout(() => { postExecutionWorkTimer = null; @@ -420,6 +421,18 @@ export function createExecutionRuntimeController({ }); } + function hasBufferedGenerationFiles(jobId) { + const promptId = String(jobId || "").trim(); + if (!promptId) return false; + try { + const bucket = executionAssetBuffer?._jobs?.get?.(promptId); + return !!bucket && typeof bucket.size === "number" && bucket.size > 0; + } catch (e) { + console.debug?.(e); + return false; + } + } + function prepareLiveAssetEvent(detail) { if (!isExecutionGroupingEnabled()) { return { detail, jobId: "", defer: false }; @@ -485,7 +498,18 @@ export function createExecutionRuntimeController({ } catch (e) { console.debug?.(e); } - bufferGenerationIndex(files, { prompt_id: promptId }); + const immediateFiles = files.length > 0 ? [files[0]] : []; + const bufferedFiles = files.length > 1 ? files.slice(1) : []; + + // Prioritize the first renderable asset from each executed payload so the + // placeholder is replaced by a real card almost immediately, while the + // remaining outputs continue through the grouped post-execution flow. + if (immediateFiles.length > 0) { + scheduleGenerationIndex(immediateFiles, 1, { prompt_id: promptId }); + } + if (bufferedFiles.length > 0) { + bufferGenerationIndex(bufferedFiles, { prompt_id: promptId }); + } } function handleExecutionStart(event, { setCurrentJobId }) { @@ -545,12 +569,15 @@ export function createExecutionRuntimeController({ if (policy.usePostExecutionScan) { schedulePostExecutionScan(executionIdleGraceMs); } else { + const flushDelayMs = hasBufferedGenerationFiles(promptId) + ? Math.min(executionIdleGraceMs, POST_EXECUTION_BUFFER_FLUSH_FAST_MS) + : executionIdleGraceMs; schedulePostExecutionWork(() => { if (promptId) { flushOrphanGenerationEntries(promptId); } flushBufferedGenerationIndex(promptId); - }, executionIdleGraceMs); + }, flushDelayMs); } } } diff --git a/js/features/viewer/floatingViewerUi.js b/js/features/viewer/floatingViewerUi.js index f90f858c..e31b0088 100644 --- a/js/features/viewer/floatingViewerUi.js +++ b/js/features/viewer/floatingViewerUi.js @@ -75,7 +75,7 @@ export function buildFloatingViewerHeader(viewer) { const title = document.createElement("span"); title.className = "mjr-mfv-header-title"; title.id = viewer._titleId; - title.textContent = "Majoor Viewer Lite"; + title.textContent = "〽️ Majoor Viewer Lite"; const closeBtn = document.createElement("button"); viewer._closeBtn = closeBtn; diff --git a/js/features/viewer/workflowSidebar/sidebarRunButton.js b/js/features/viewer/workflowSidebar/sidebarRunButton.js index 570cda74..c5df82c2 100644 --- a/js/features/viewer/workflowSidebar/sidebarRunButton.js +++ b/js/features/viewer/workflowSidebar/sidebarRunButton.js @@ -150,7 +150,9 @@ export function createRunButton() { async function stopCurrentGeneration() { const app = getComfyApp(); - const api = getComfyApi(app); + // Prefer live app.api for the same auth-context reasons as queueCurrentPrompt. + const liveApi = (app?.api && typeof app.api.interrupt === "function") ? app.api : null; + const api = liveApi ?? getComfyApi(app); if (api && typeof api.interrupt === "function") { await api.interrupt(); @@ -163,7 +165,7 @@ export function createRunButton() { return { tracked: true }; } - const resp = await fetch("/interrupt", { method: "POST" }); + const resp = await fetch("/interrupt", { method: "POST", credentials: "include" }); if (!resp.ok) throw new Error(`POST /interrupt failed (${resp.status})`); return { tracked: false }; } @@ -295,7 +297,15 @@ function resolveClientId(api, app) { /** * Queue the current workflow for execution. - * Tries, in order: api.queuePrompt -> POST /prompt. + * + * Tries, in order: + * 1. app.api.queuePrompt β€” live reference on the app object (always has the + * current auth session, same source as the native ComfyUI Queue button). + * 2. api.queuePrompt β€” broader detection via getComfyApi() (window.api, …). + * 3. api.fetchApi β€” direct HTTP via ComfyUI's authenticated fetch helper. + * 4. app.queuePrompt(0) β€” native ComfyUI app-level path; handles auth tokens + * and CSRF checks natively; no preview-method enrichment on this path. + * 5. fetch (last resort) β€” raw fetch with credentials:'include' for cookie auth. */ async function queueCurrentPrompt() { const app = getComfyApp(); @@ -306,7 +316,12 @@ async function queueCurrentPrompt() { : null; if (!promptData?.output) throw new Error("graphToPrompt returned empty output"); - const api = getComfyApi(app); + // Prefer the live app.api reference β€” this matches the native Queue button's + // auth context and avoids stale cached references when ComfyUI refreshes its + // auth state (e.g. after user logs in or session is renewed). + const liveApi = (app?.api && typeof app.api.queuePrompt === "function") ? app.api : null; + const api = liveApi ?? getComfyApi(app); + if (api && typeof api.queuePrompt === "function") { await api.queuePrompt(0, enrichPromptDataForMfv(promptData)); return { tracked: true }; @@ -326,12 +341,20 @@ async function queueCurrentPrompt() { return { tracked: true }; } + // Native app-level path: uses ComfyUI's own auth handling (same as the + // native Queue button). No preview-method enrichment on this fallback. + if (typeof app.queuePrompt === "function") { + await app.queuePrompt(0); + return { tracked: true }; + } + const resp = await fetch("/prompt", { method: "POST", + credentials: "include", headers: { "Content-Type": "application/json" }, body: JSON.stringify( buildPromptRequestBody(promptData, { - clientId: resolveClientId(api, app), + clientId: resolveClientId(null, app), }), ), }); diff --git a/js/tests/assets_grid_host_state.vitest.mjs b/js/tests/assets_grid_host_state.vitest.mjs index 9eab1078..faef38d3 100644 --- a/js/tests/assets_grid_host_state.vitest.mjs +++ b/js/tests/assets_grid_host_state.vitest.mjs @@ -100,7 +100,10 @@ describe("assetsGridHostState", () => { expect(gridWrapper.scrollTop).toBe(33); expect(gridContainer._mjrSetSelection).toHaveBeenCalledWith(["asset-7"], "asset-7"); - expect(gridContainer._mjrScrollToAssetId).not.toHaveBeenCalled(); + // scrollToAssetId is now always called so the selected card is scrolled into + // view even when a saved scrollTop was restored (align:"auto" keeps the view + // stable when the card is already visible). + expect(gridContainer._mjrScrollToAssetId).toHaveBeenCalledWith("asset-7"); expect(onRestoreSidebar).toHaveBeenCalledTimes(1); }); }); diff --git a/js/tests/execution_runtime_controller.vitest.mjs b/js/tests/execution_runtime_controller.vitest.mjs new file mode 100644 index 00000000..1f0d02e6 --- /dev/null +++ b/js/tests/execution_runtime_controller.vitest.mjs @@ -0,0 +1,90 @@ +import { describe, expect, it, vi, beforeEach, afterEach } from "vitest"; + +import { createExecutionRuntimeController } from "../features/stacks/executionRuntimeController.js"; + +describe("createExecutionRuntimeController", () => { + beforeEach(() => { + vi.useFakeTimers(); + if (typeof globalThis.CustomEvent === "undefined") { + globalThis.CustomEvent = class CustomEvent { + constructor(type, init = {}) { + this.type = type; + this.detail = init.detail; + } + }; + } + if (typeof globalThis.window === "undefined") { + globalThis.window = { + dispatchEvent: () => true, + }; + } + }); + + afterEach(() => { + vi.useRealTimers(); + }); + + it("indexes the first executed output immediately and buffers the rest until execution end", async () => { + const post = vi.fn(async () => ({ ok: true, data: {} })); + const controller = createExecutionRuntimeController({ + post, + ENDPOINTS: { + INDEX_FILES: "/index-files", + STACKS_AUTO_STACK: "/stacks/auto-stack", + SCAN: "/scan", + }, + reportError: () => {}, + extractOutputFiles: (output) => output, + ensureExecutionRuntime: () => ({ active_prompt_id: "job-1" }), + emitRuntimeStatus: () => {}, + refreshGeneratedFeedHosts: () => {}, + getActiveGridContainer: () => null, + }); + + controller.handleExecutionStart({ detail: { prompt_id: "job-1", timestamp: Date.now() } }, { + setCurrentJobId: () => {}, + }); + + controller.handleExecutedEvent( + { + detail: { + prompt_id: "job-1", + output: [ + { filename: "first.png", subfolder: "out", type: "output" }, + { filename: "second.png", subfolder: "out", type: "output" }, + ], + }, + }, + { appRef: {} }, + ); + + expect(post).toHaveBeenCalledTimes(1); + expect(post).toHaveBeenNthCalledWith( + 1, + "/index-files", + expect.objectContaining({ + origin: "generation", + prompt_id: "job-1", + files: [expect.objectContaining({ filename: "first.png" })], + }), + ); + + controller.handleExecutionEnd( + { type: "execution_success", detail: { prompt_id: "job-1" } }, + { setCurrentJobId: () => {} }, + ); + + await vi.advanceTimersByTimeAsync(500); + + expect(post).toHaveBeenCalledTimes(2); + expect(post).toHaveBeenNthCalledWith( + 2, + "/index-files", + expect.objectContaining({ + origin: "generation", + prompt_id: "job-1", + files: [expect.objectContaining({ filename: "second.png" })], + }), + ); + }); +}); diff --git a/js/tests/infinite_scroll_upsert.vitest.mjs b/js/tests/infinite_scroll_upsert.vitest.mjs index d4fa80eb..058e875f 100644 --- a/js/tests/infinite_scroll_upsert.vitest.mjs +++ b/js/tests/infinite_scroll_upsert.vitest.mjs @@ -48,7 +48,7 @@ describe("InfiniteScroll upsert", () => { ).toBe(16); }); - it("only skips total counts after the first page for output scope", async () => { + it("skips total counts for default output browse and later output pages only", async () => { const buildListURL = vi.fn(() => "/mjr/am/list"); const deps = { sanitizeQuery: (value) => value, @@ -61,19 +61,25 @@ describe("InfiniteScroll upsert", () => { }; const cases = [ - ["output", 0, true], - ["output", 100, false], - ["all", 100, true], - ["input", 100, true], - ["custom", 100, true], + [{ dataset: { mjrScope: "output", mjrSort: "mtime_desc" } }, "*", 0, false], + [{ dataset: { mjrScope: "output", mjrSort: "mtime_desc" } }, "*", 100, false], + [{ dataset: { mjrScope: "output", mjrSort: "mtime_desc" } }, "portrait", 0, true], + [{ dataset: { mjrScope: "output", mjrSort: "mtime_desc", mjrFilterMinRating: "3" } }, "*", 0, true], + [{ dataset: { mjrScope: "all", mjrSort: "mtime_desc" } }, "*", 100, true], + [{ dataset: { mjrScope: "input", mjrSort: "mtime_desc" } }, "*", 100, true], + [{ dataset: { mjrScope: "custom", mjrSort: "mtime_desc" } }, "*", 100, true], ]; - for (const [scope, offset, includeTotal] of cases) { - await fetchPage({ dataset: { mjrScope: scope } }, "*", 100, offset, deps, { + for (const [gridContainer, query, offset, includeTotal] of cases) { + await fetchPage(gridContainer, query, 100, offset, deps, { requestId: 1, }); const lastCall = buildListURL.mock.calls[buildListURL.mock.calls.length - 1]?.[0]; - expect(lastCall).toMatchObject({ scope, offset, includeTotal }); + expect(lastCall).toMatchObject({ + scope: gridContainer.dataset.mjrScope, + offset, + includeTotal, + }); } }); diff --git a/js/vue/components/common/TagsEditor.vue b/js/vue/components/common/TagsEditor.vue index 048cbf20..bb28f349 100644 --- a/js/vue/components/common/TagsEditor.vue +++ b/js/vue/components/common/TagsEditor.vue @@ -123,6 +123,7 @@ let lastSaved = [...initialTags]; const retryDelay = (attemptIndex) => Math.min(100 * 2 ** Math.max(0, attemptIndex - 1), 2000); const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const handleInputBlur = () => setTimeout(() => (showDropdown.value = false), 200); const filteredSuggestions = computed(() => { const query = inputValue.value.toLowerCase().trim(); @@ -420,7 +421,7 @@ watch( @focus="showDropdown = inputValue.length > 0" @input="showDropdown = inputValue.length > 0" @keydown="handleInputKeydown" - @blur="setTimeout(() => (showDropdown = false), 200)" + @blur="handleInputBlur" />
state.assets, - async () => { + async (newAssets) => { + if (!Array.isArray(newAssets) || newAssets.length === 0) { + const gc = gridContainerRef.value; + if (gc?._mjrStackMembersCache) gc._mjrStackMembersCache.clear(); + } await nextTick(); syncAllRenderedDuplicateCards(); }, @@ -1025,8 +1029,29 @@ function handleCardDblclick(asset) { let scrollCleanup = null; +function _forceVirtualizerMeasure() { + updateHostWidth(); + try { + rowVirtualizer.value?.measure?.(); + } catch (e) { + console.debug?.(e); + } +} + function handleKeepAliveAttached() { - if (!isGridVisible()) return; + _forceVirtualizerMeasure(); + if (!isGridVisible()) { + // Le layout du nouveau container n'est pas encore calculΓ© au moment + // oΓΉ keepalive-attached est dispatchΓ©. On reporte sur le prochain + // cycle de rendu pour que le navigateur ait fini la mise en page. + requestAnimationFrame(() => { + requestAnimationFrame(() => { + _forceVirtualizerMeasure(); + void maybeFillViewport(); + }); + }); + return; + } void maybeFillViewport(); } @@ -1037,7 +1062,10 @@ function bindInfiniteScroll(element) { const remaining = Number(element.scrollHeight || 0) - (Number(element.scrollTop || 0) + Number(element.clientHeight || 0)); - if (remaining <= Math.max(120, estimateRowHeight.value * 2)) { + // Start loading the next page when the user is 4 card-rows from the bottom + // (was 2). This hides API latency and prevents the visible "waiting at + // the bottom" freeze. + if (remaining <= Math.max(600, estimateRowHeight.value * 4)) { void loader.loadNextPage(); } }; diff --git a/js/vue/components/grid/assetsGridHostState.js b/js/vue/components/grid/assetsGridHostState.js index 741847ae..a2ca2b82 100644 --- a/js/vue/components/grid/assetsGridHostState.js +++ b/js/vue/components/grid/assetsGridHostState.js @@ -234,22 +234,32 @@ export async function restoreGridUiState({ console.debug?.(e); } - if (activeId && scrollTop === 0) { - try { - if (typeof gridContainer?._mjrScrollToAssetId === "function") { - gridContainer._mjrScrollToAssetId(activeId); - } else { - const activeCard = gridContainer.querySelector?.( - `.mjr-asset-card[data-mjr-asset-id="${safeEscapeAttr(activeId)}"]`, - ); - activeCard?.scrollIntoView?.({ - block: "nearest", - behavior: "instant", - }); + // Always scroll to the active card so the selection is visible regardless of + // the saved scroll position. Using align:"auto" (default) means the virtualizer + // will not move if the card is already in view, so this is side-effect-free + // when the saved scrollTop already shows the right area. + if (activeId) { + const scrollToSelection = () => { + try { + if (typeof gridContainer?._mjrScrollToAssetId === "function") { + gridContainer._mjrScrollToAssetId(activeId); + } else { + const activeCard = gridContainer.querySelector?.( + `.mjr-asset-card[data-mjr-asset-id="${safeEscapeAttr(activeId)}"]`, + ); + activeCard?.scrollIntoView?.({ + block: "nearest", + behavior: "instant", + }); + } + } catch (e) { + console.debug?.(e); } - } catch (e) { - console.debug?.(e); - } + }; + scrollToSelection(); + // Second pass: handles fresh loads where Vue needs extra time to render items + // into the virtualizer before scrollToIndex can locate the correct row. + setTimeout(scrollToSelection, 160); } } diff --git a/js/vue/composables/useAssetsQuery.js b/js/vue/composables/useAssetsQuery.js index f5127eec..5d9df50a 100644 --- a/js/vue/composables/useAssetsQuery.js +++ b/js/vue/composables/useAssetsQuery.js @@ -122,8 +122,12 @@ export function createAssetsQueryController({ try { const currentScrollTop = Number(readScrollTop() || 0) || 0; const anchorScrollTop = Number(anchor?.scrollTop || 0) || 0; - const userScrolledDuringReload = Math.abs(currentScrollTop - anchorScrollTop) > 8; - if (userScrolledDuringReload) { + // Only skip restore if user actively scrolled DOWN past the original + // position during the reload. A drop in scrollTop (currentScrollTop < + // anchorScrollTop) means the reload itself reset the scroll β€” we must + // restore in that case to avoid losing the user's position. + const userScrolledPastAnchor = currentScrollTop > anchorScrollTop + 8; + if (userScrolledPastAnchor) { continue; } await restoreAnchor(gridContainer, anchor); @@ -291,7 +295,7 @@ export function createAssetsQueryController({ const needsFallbackReload = hasNewIndexEnd && !hasNewScan && !hasNewTotal && !upsertHandledRecently; - if (totalExplainedByRecentUpserts && !hasNewScan) { + if (totalExplainedByRecentUpserts) { lastKnownScan = counters.last_scan_end; lastKnownIndexEnd = counters.last_index_end; try { @@ -306,7 +310,7 @@ export function createAssetsQueryController({ lastKnownIndexEnd = counters.last_index_end; return; } - if (upsertHandledRecently && !hasNewScan) return; + if (upsertHandledRecently) return; if (!hasNewScan && !hasNewTotal && !needsFallbackReload) return; if (!syncVisibilityState()) return; diff --git a/js/vue/composables/useGridLoader.js b/js/vue/composables/useGridLoader.js index 3e1b0532..8cb3eee7 100644 --- a/js/vue/composables/useGridLoader.js +++ b/js/vue/composables/useGridLoader.js @@ -98,6 +98,32 @@ function normalizeSnapshotPart(value, fallback = "") { } } +function getStableRealtimeAssetKey(asset) { + if (!asset || typeof asset !== "object") return ""; + if (asset.id != null && String(asset.id).trim()) { + return `id:${String(asset.id).trim()}`; + } + const type = String(asset?.type || asset?.source || "output") + .trim() + .toLowerCase(); + const rootId = String(pickRootId(asset) || "") + .trim() + .toLowerCase(); + const subfolder = String(asset?.subfolder || "") + .trim() + .toLowerCase(); + const filename = String(asset?.filename || "") + .trim() + .toLowerCase(); + if (filename) return `${type}|${rootId}|${subfolder}|${filename}`; + const filepath = String( + asset?.filepath || asset?.path || asset?.fullpath || asset?.full_path || "", + ) + .trim() + .toLowerCase(); + return filepath ? `${type}|${rootId}|path|${filepath}` : ""; +} + export function buildGridSnapshotKey(parts = {}) { return JSON.stringify({ scope: normalizeSnapshotPart(parts.scope || "output", "output"), @@ -120,6 +146,7 @@ export function buildGridSnapshotKey(parts = {}) { dateRange: normalizeSnapshotPart(parts.dateRange || ""), dateExact: normalizeSnapshotPart(parts.dateExact || ""), sort: normalizeSnapshotPart(parts.sort || "mtime_desc", "mtime_desc"), + semanticMode: normalizeSnapshotPart(parts.semanticMode ? "1" : ""), }); } @@ -355,6 +382,7 @@ export function useGridLoader({ } = {}) { let deferVisualResetUntilNextPage = false; let deferredExecutionReload = null; + let prefetchTimer = null; function getGridContainer() { return resolveElement(gridContainerRef); @@ -383,6 +411,7 @@ export function useGridLoader({ dateRange: gridContainer?.dataset?.mjrFilterDateRange || "", dateExact: gridContainer?.dataset?.mjrFilterDateExact || "", sort: gridContainer?.dataset?.mjrSort || "mtime_desc", + semanticMode: gridContainer?.dataset?.mjrSemanticMode === "1", }; } @@ -432,6 +461,34 @@ export function useGridLoader({ deferredExecutionReload = null; } + function clearPrefetchTimer() { + try { + if (prefetchTimer) { + clearTimeout(prefetchTimer); + } + } catch (e) { + console.debug?.(e); + } + prefetchTimer = null; + } + + function scheduleNextPagePrefetch(requestId, delayMs = APP_CONFIG.PREFETCH_NEXT_PAGE_DELAY_MS) { + if (!APP_CONFIG.PREFETCH_NEXT_PAGE) { + return; + } + clearPrefetchTimer(); + const resolvedDelayMs = Math.max(0, Number(delayMs) || 0); + prefetchTimer = setTimeout(() => { + prefetchTimer = null; + if (state.requestId !== requestId || state.done || state.loading) { + return; + } + loadNextPage().catch((error) => { + console.debug?.("[AssetsManager][GridLoader] Delayed prefetch failed", error); + }); + }, resolvedDelayMs); + } + function scheduleDeferredExecutionReload(query, options = {}) { clearDeferredExecutionReload(); const retry = () => { @@ -447,9 +504,15 @@ export function useGridLoader({ return; } clearDeferredExecutionReload(); + // Re-read the current query from the grid container at retry time + // instead of using the stale captured value. The user may have + // changed the search query while execution was in progress. + const gridContainer = getGridContainer(); + const freshQuery = + String(gridContainer?.dataset?.mjrQuery || "").trim() || query; Promise.resolve() .then(() => - loadAssets(query, { + loadAssets(freshQuery, { ...(options || {}), reset: true, preserveVisibleUntilReady: true, @@ -592,14 +655,27 @@ export function useGridLoader({ if (earlyFetchPromise) { try { const earlyResult = await earlyFetchPromise; + // Discard early fetch if the request has been superseded + // (e.g. scope switch while the promise was pending). + if (Number(state.requestId) !== Number(requestId)) { + return { ok: false, stale: true, error: "Stale early fetch" }; + } + if (signal?.aborted) { + return { ok: false, aborted: true, error: "Aborted" }; + } // API returns { ok, data: { assets: [...], total, ... } } const earlyAssets = earlyResult?.data?.assets; if (earlyResult?.ok && Array.isArray(earlyAssets)) { mjrDbg("[Grid] Using early-fetched data:", earlyAssets.length, "assets"); + // Use null when the backend did not return a total (includeTotal=false). + // Falling back to earlyAssets.length would incorrectly set state.total + // to the page size (e.g. 80), causing state.done=true after the first + // page and blocking all subsequent pagination / infinite scroll. + const rawTotal = earlyResult.data?.total ?? earlyResult.meta?.total ?? null; return { ok: true, assets: earlyAssets, - total: Number(earlyResult.data?.total ?? earlyResult.meta?.total ?? earlyAssets.length) || 0, + total: rawTotal != null ? Number(rawTotal) || 0 : null, count: earlyAssets.length, limit: limit, offset: 0, @@ -827,6 +903,7 @@ export function useGridLoader({ state.abortController = null; } state.requestId = (Number(state.requestId) || 0) + 1; + clearPrefetchTimer(); clearPendingUpserts(); clearStatusMessage(); if (deferVisualResetUntilNextPage) { @@ -864,13 +941,11 @@ export function useGridLoader({ state.done = false; state.loading = false; clearLoadingMessage(); - queueMicrotask(() => { - loadNextPage().then((bgResult) => { - if (bgResult?.ok && !bgResult?.aborted) { - finalizeLoad({ title: safeQuery }); - } - }).catch(() => {}); - }); + const bgRequestId = state.requestId; + scheduleNextPagePrefetch( + bgRequestId, + Math.min(APP_CONFIG.PREFETCH_NEXT_PAGE_DELAY_MS ?? 700, 250), + ); return { ok: true, count: Number(state.offset || 0) || 0, @@ -886,7 +961,7 @@ export function useGridLoader({ const result = await loadNextPage(); - // Prefetch next page immediately for faster scrolling (non-blocking) + // Prefetch next page after the first render settles. if ( APP_CONFIG.PREFETCH_NEXT_PAGE && result?.ok && @@ -894,12 +969,7 @@ export function useGridLoader({ !state.done && !result?.aborted ) { - // Schedule prefetch after current microtask to not block initial render - queueMicrotask(() => { - if (!state.done && !state.loading) { - loadNextPage().catch(() => {/* ignore prefetch errors */}); - } - }); + scheduleNextPagePrefetch(state.requestId); } if (reset) { @@ -1031,6 +1101,7 @@ export function useGridLoader({ } state.requestId = (Number(state.requestId) || 0) + 1; state.loading = false; + clearPrefetchTimer(); clearPendingUpserts(); clearLoadingMessage(); clearStatusMessage(); @@ -1189,6 +1260,7 @@ export function useGridLoader({ state.abortController = null; } state.requestId = (Number(state.requestId) || 0) + 1; + clearPrefetchTimer(); clearPendingUpserts(); resetAssets({ query: snapshot.query || options.title || "Cached", @@ -1218,7 +1290,7 @@ export function useGridLoader({ upsertState: UPSERT_BATCH_STATE, maxBatchSize: UPSERT_BATCH_MAX_SIZE, debounceMs: UPSERT_BATCH_DEBOUNCE_MS, - assetKey: (asset) => assetKey(asset, gridContainer), + assetKey: (asset) => getStableRealtimeAssetKey(asset) || assetKey(asset, gridContainer), loadMajoorSettings, }; } @@ -1230,22 +1302,35 @@ export function useGridLoader({ } /** - * Upsert an asset and immediately flush the batch to the virtual grid, - * bypassing the debounce timer. Used for live generation events so the - * card appears as soon as the WS event arrives rather than ~200 ms later. + * Upsert an asset and flush within the current microtask boundary. + * + * Multiple calls in the same event-loop tick are coalesced into a single + * flush via queueMicrotask. This avoids N separate flush+setItems calls + * when N WebSocket events arrive nearly simultaneously (e.g. 5 images + * generated in a batch), while still being much faster than the 200 ms + * debounce path. */ + let _immediateFlushScheduled = false; function upsertAssetNow(asset) { const gridContainer = getGridContainer(); if (!gridContainer || !asset || !asset.id) return false; const deps = _buildUpsertDeps(gridContainer); const ok = queueUpsertAsset(gridContainer, asset, deps); - if (ok) flushUpsertBatch(gridContainer, deps); + if (ok && !_immediateFlushScheduled) { + _immediateFlushScheduled = true; + queueMicrotask(() => { + _immediateFlushScheduled = false; + const gc = getGridContainer(); + if (gc) flushUpsertBatch(gc, _buildUpsertDeps(gc)); + }); + } return ok; } function dispose() { rememberSnapshot(state.query || "Cached"); clearDeferredExecutionReload(); + clearPrefetchTimer(); try { state.abortController?.abort?.(); } catch (e) { @@ -1266,6 +1351,14 @@ export function useGridLoader({ } } + // Abort any in-flight requests before the page unloads so they don't + // appear as epoch-1 cancelled requests in the next session's network log. + try { + window.addEventListener("pagehide", dispose, { once: true }); + } catch (e) { + console.debug?.(e); + } + return { loadAssets, loadAssetsFromList, diff --git a/js/vue/composables/useGridSelection.js b/js/vue/composables/useGridSelection.js index 75af3541..15ca995d 100644 --- a/js/vue/composables/useGridSelection.js +++ b/js/vue/composables/useGridSelection.js @@ -57,8 +57,11 @@ export function bindGridSelectionState({ console.debug?.(e); } - if (!activeId || Number(scrollTop || 0) > 0) return; + if (!activeId) return; + // Always scroll to the active card. align:"auto" (default) ensures the + // virtualizer won't move if the card is already in the viewport, so + // this is side-effect-free when the saved scroll position is still valid. try { if (typeof gridContainer?._mjrScrollToAssetId === "function") { gridContainer._mjrScrollToAssetId(activeId); diff --git a/js/vue/composables/useVirtualGrid.js b/js/vue/composables/useVirtualGrid.js index 7761315d..a491fbf7 100644 --- a/js/vue/composables/useVirtualGrid.js +++ b/js/vue/composables/useVirtualGrid.js @@ -317,12 +317,15 @@ function _assetMatchesActiveFilters(gridContainer, asset) { .trim() .toLowerCase(); const assetDate = String(asset?.date_exact || asset?.date || "").trim(); - const hasWorkflow = Boolean(asset?.has_workflow ?? asset?.hasWorkflow); + const hasWorkflow = asset?.has_workflow ?? asset?.hasWorkflow ?? null; if (scope && scope !== "all" && assetType && assetType !== scope) return false; if (subfolder && assetSubfolder !== subfolder) return false; if (kind && assetKind && assetKind !== kind) return false; - if (workflowOnly && !hasWorkflow) return false; + // Treat null/undefined has_workflow as "pending" (enrichment in progress) + // so freshly generated assets are not rejected by the workflow-only filter. + // Only reject when has_workflow is explicitly false/0. + if (workflowOnly && hasWorkflow !== null && !hasWorkflow) return false; if (minRating > 0 && (Number(asset?.rating || 0) || 0) < minRating) return false; if (workflowType && assetWorkflowType !== workflowType) return false; if (dateExact && assetDate && assetDate !== dateExact) return false; @@ -379,9 +382,18 @@ export async function fetchPage( : requestedQuery; const safeQuery = deps.sanitizeQuery(normalizedRequestedQuery) || normalizedRequestedQuery; try { - const includeTotal = !( - String(scope || "").toLowerCase() === "output" && Number(offset ?? 0) > 0 - ); + const isOutputScope = String(scope || "").toLowerCase() === "output"; + const hasActiveFilters = + !!(subfolder || customRootId || kind || workflowOnly || minRating > 0 || minSizeMB > 0 || + maxSizeMB > 0 || minWidth > 0 || minHeight > 0 || maxWidth > 0 || maxHeight > 0 || + workflowType || dateRange || dateExact || groupStacks); + const isDefaultOutputBrowse = + isOutputScope && + Number(offset ?? 0) === 0 && + safeQuery === "*" && + !hasActiveFilters && + String(sortKey || "mtime_desc").toLowerCase() === "mtime_desc"; + const includeTotal = !(isOutputScope && (Number(offset ?? 0) > 0 || isDefaultOutputBrowse)); const url = deps.buildListURL({ q: safeQuery, limit, @@ -406,7 +418,7 @@ export async function fetchPage( includeTotal, groupStacks, }); - const result = await deps.get(url, signal ? { signal } : undefined); + const result = await deps.get(url, { timeoutMs: 120_000, ...(signal ? { signal } : {}) }); try { const state = deps.getGridState(gridContainer); if (state && Number(state.requestId) !== Number(requestId)) { @@ -642,6 +654,31 @@ function _findExistingAssetIndex(state, assetId, candidateAsset) { return list.findIndex((asset) => _getAssetIdentityKey(asset) === identityKey); } +function _shouldKeepExistingAssetOnFilterMismatch(incomingAsset, existingAsset) { + if (!existingAsset || typeof existingAsset !== "object") return false; + if (!incomingAsset || typeof incomingAsset !== "object") return false; + if (_isLivePlaceholderAsset(existingAsset)) return true; + const protectedFields = [ + "filename", + "filepath", + "path", + "fullpath", + "full_path", + "subfolder", + "type", + "source", + "root_id", + "custom_root_id", + "kind", + "rating", + "workflow_type", + "workflowType", + "date_exact", + "date", + ]; + return !protectedFields.some((field) => Object.prototype.hasOwnProperty.call(incomingAsset, field)); +} + function dedupeAssetsByKey(state, deps) { const seenIds = new Set(); const seenKeys = new Set(); @@ -761,6 +798,15 @@ export function flushUpsertBatch(gridContainer, deps) { const matchesFilters = _assetMatchesActiveFilters(gridContainer, mergedCandidate); if (!matchesFilters) { if (resolvedExistingIndex > -1) { + if (_shouldKeepExistingAssetOnFilterMismatch(asset, resolvedExistingAsset)) { + Object.assign(resolvedExistingAsset, asset); + if (!incomingIsPlaceholder) { + _clearLivePlaceholderState(resolvedExistingAsset); + } + state.assets[resolvedExistingIndex] = { ...resolvedExistingAsset }; + modified = true; + continue; + } const [removedAsset] = state.assets.splice(resolvedExistingIndex, 1); unregisterHiddenSibling(state, removedAsset, state); modified = true; @@ -811,12 +857,16 @@ export function flushUpsertBatch(gridContainer, deps) { } } finally { batchState.flushing = false; - // Items may have arrived during the flush Ò€” reschedule if needed (BUG-01). + // Items may have arrived during the flush β€” reschedule if needed (BUG-01). + // Use a short delay (1 frame) instead of the full debounce so rapid + // generation events chain quickly instead of waiting 200 ms between + // each visible card insertion. if (batchState.pending.size > 0 && !batchState.timer) { + const followUpDelay = Math.min(16, deps.debounceMs); batchState.timer = setTimeout(() => { batchState.timer = null; flushUpsertBatch(gridContainer, deps); - }, deps.debounceMs); + }, followUpDelay); } } } diff --git a/js_dist/assets/comfyui-majoor-assetsmanager.css b/js_dist/assets/comfyui-majoor-assetsmanager.css index f548ba34..3c1ead51 100644 --- a/js_dist/assets/comfyui-majoor-assetsmanager.css +++ b/js_dist/assets/comfyui-majoor-assetsmanager.css @@ -1 +1 @@ -.mjr-rating-badge[data-v-821bf1b1]{position:absolute;top:6px;right:6px;background:#0000008c;border:1px solid rgba(255,255,255,.12);padding:2px 6px;border-radius:6px;font-size:13px;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;text-shadow:0 2px 6px rgba(0,0,0,.6);box-shadow:0 6px 18px #00000040;animation:mjr-fade-in-821bf1b1 .2s ease-out}@keyframes mjr-fade-in-821bf1b1{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mjr-tags-badge[data-v-15044260]{position:absolute;bottom:6px;left:6px;padding:3px 6px;border-radius:4px;background:#000c;font-size:9px;max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 4px #0000004d;animation:mjr-fade-in-15044260 .2s ease-out}@keyframes mjr-fade-in-15044260{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mjr-gentime-badge[data-v-60fe3677]{position:absolute;bottom:6px;right:6px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.015em;line-height:1.1;background:#0000008c;border:1px solid rgba(255,255,255,.12);pointer-events:none;z-index:10;box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px color-mix(in srgb,currentColor 35%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mjr-popover-row[data-v-d1ebebd4]{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;margin-bottom:8px}.mjr-popover-row--3col[data-v-d1ebebd4]{grid-template-columns:110px 1fr 1fr}.mjr-popover-label[data-v-d1ebebd4]{font-size:12px;color:var(--mjr-muted, var(--descrip-text, rgba(255, 255, 255, .65)));white-space:nowrap}.mjr-popover-toggle[data-v-d1ebebd4]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--fg-color, #e6edf7)}.mjr-filter-group-toggle[data-v-d1ebebd4]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;margin:0 0 10px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.mjr-filter-group-title[data-v-d1ebebd4]{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mjr-filter-group-chevron[data-v-d1ebebd4]{font-size:12px;line-height:1;color:var(--mjr-muted, var(--descrip-text, rgba(255, 255, 255, .65)))}.mjr-filter-group-body[data-v-d1ebebd4]{padding-top:2px}.mjr-filter-group[data-v-d1ebebd4]:not(.is-open){padding-bottom:8px}.mjr-filter-group:not(.is-open) .mjr-filter-group-toggle[data-v-d1ebebd4]{margin-bottom:0}.mjr-rating-star[data-v-6d012325]{outline:none}.mjr-rating-star[data-v-6d012325]:hover:not(:disabled){transform:scale(1.2)}.mjr-rating-star[data-v-6d012325]:focus-visible{outline:2px solid var(--focus-outline-color, #4dabf7);outline-offset:2px;border-radius:2px}.mjr-grid-skeleton-layout[data-v-41c1fc8a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.mjr-grid-skeleton-card[data-v-41c1fc8a]{border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#c0c6ce33;overflow:hidden;min-height:146px;box-shadow:0 6px 18px #0000003d}.mjr-grid-skeleton-thumb[data-v-41c1fc8a]{aspect-ratio:1 / 1;width:100%;background:linear-gradient(90deg,#9ca2ab85,#dce1e8b8 45%,#9ca2ab85);background-size:240% 100%;animation:mjr-grid-skeleton-shimmer-41c1fc8a 1.2s linear infinite}.mjr-grid-skeleton-line[data-v-41c1fc8a]{height:10px;margin:8px 10px;border-radius:8px;background:linear-gradient(90deg,#a4aab37a,#d6dbe2b3 45%,#a4aab37a);background-size:240% 100%;animation:mjr-grid-skeleton-shimmer-41c1fc8a 1.2s linear infinite}.mjr-grid-skeleton-line--title[data-v-41c1fc8a]{width:72%}.mjr-grid-skeleton-line--meta[data-v-41c1fc8a]{width:48%;margin-top:2px;margin-bottom:10px}@keyframes mjr-grid-skeleton-shimmer-41c1fc8a{0%{background-position:100% 0}to{background-position:-100% 0}} +.mjr-rating-badge[data-v-821bf1b1]{position:absolute;top:6px;right:6px;background:#0000008c;border:1px solid rgba(255,255,255,.12);padding:2px 6px;border-radius:6px;font-size:13px;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;text-shadow:0 2px 6px rgba(0,0,0,.6);box-shadow:0 6px 18px #00000040;animation:mjr-fade-in-821bf1b1 .2s ease-out}@keyframes mjr-fade-in-821bf1b1{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mjr-tags-badge[data-v-15044260]{position:absolute;bottom:6px;left:6px;padding:3px 6px;border-radius:4px;background:#000c;font-size:9px;max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 4px #0000004d;animation:mjr-fade-in-15044260 .2s ease-out}@keyframes mjr-fade-in-15044260{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mjr-gentime-badge[data-v-60fe3677]{position:absolute;bottom:6px;right:6px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.015em;line-height:1.1;background:#0000008c;border:1px solid rgba(255,255,255,.12);pointer-events:none;z-index:10;box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px color-mix(in srgb,currentColor 35%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mjr-popover-row[data-v-d1ebebd4]{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;margin-bottom:8px}.mjr-popover-row--3col[data-v-d1ebebd4]{grid-template-columns:110px 1fr 1fr}.mjr-popover-label[data-v-d1ebebd4]{font-size:12px;color:var(--mjr-muted, var(--descrip-text, rgba(255, 255, 255, .65)));white-space:nowrap}.mjr-popover-toggle[data-v-d1ebebd4]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--fg-color, #e6edf7)}.mjr-filter-group-toggle[data-v-d1ebebd4]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;margin:0 0 10px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.mjr-filter-group-title[data-v-d1ebebd4]{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mjr-filter-group-chevron[data-v-d1ebebd4]{font-size:12px;line-height:1;color:var(--mjr-muted, var(--descrip-text, rgba(255, 255, 255, .65)))}.mjr-filter-group-body[data-v-d1ebebd4]{padding-top:2px}.mjr-filter-group[data-v-d1ebebd4]:not(.is-open){padding-bottom:8px}.mjr-filter-group:not(.is-open) .mjr-filter-group-toggle[data-v-d1ebebd4]{margin-bottom:0}.mjr-rating-star[data-v-6d012325]{outline:none}.mjr-rating-star[data-v-6d012325]:hover:not(:disabled){transform:scale(1.2)}.mjr-rating-star[data-v-6d012325]:focus-visible{outline:2px solid var(--focus-outline-color, #4dabf7);outline-offset:2px;border-radius:2px}.mjr-grid-skeleton-layout[data-v-d9ff3613]{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.mjr-grid-skeleton-card[data-v-d9ff3613]{border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#c0c6ce33;overflow:hidden;min-height:146px;box-shadow:0 6px 18px #0000003d}.mjr-grid-skeleton-thumb[data-v-d9ff3613]{aspect-ratio:1 / 1;width:100%;background:linear-gradient(90deg,#9ca2ab85,#dce1e8b8 45%,#9ca2ab85);background-size:240% 100%;animation:mjr-grid-skeleton-shimmer-d9ff3613 1.2s linear infinite}.mjr-grid-skeleton-line[data-v-d9ff3613]{height:10px;margin:8px 10px;border-radius:8px;background:linear-gradient(90deg,#a4aab37a,#d6dbe2b3 45%,#a4aab37a);background-size:240% 100%;animation:mjr-grid-skeleton-shimmer-d9ff3613 1.2s linear infinite}.mjr-grid-skeleton-line--title[data-v-d9ff3613]{width:72%}.mjr-grid-skeleton-line--meta[data-v-d9ff3613]{width:48%;margin-top:2px;margin-bottom:10px}@keyframes mjr-grid-skeleton-shimmer-d9ff3613{0%{background-position:100% 0}to{background-position:-100% 0}} diff --git a/js_dist/chunks/FloatingViewer-DwUuqgW7.js b/js_dist/chunks/FloatingViewer-96M53tBE.js similarity index 90% rename from js_dist/chunks/FloatingViewer-DwUuqgW7.js rename to js_dist/chunks/FloatingViewer-96M53tBE.js index 9d61c1ca..78d1ef66 100644 --- a/js_dist/chunks/FloatingViewer-DwUuqgW7.js +++ b/js_dist/chunks/FloatingViewer-96M53tBE.js @@ -1,6 +1,6 @@ -import { p as Dt, M as Ut, c as zt, q as $t, t as Wt, A as q, u as w, v as I, x as Z, y as vt, z as Nt, B as Kt, C as Xt, D as Q, E as W, n as qt, s as st, F as dt, G as wt, H as ut, I as pt, d as it, J as Yt, K as Zt } from "./entry-DyjnHjNW.js"; -import { ensureViewerMetadataAsset as tt } from "./genInfo-L1PrRwDk.js"; -const A = Object.freeze({ +import { p as Dt, M as Ut, c as zt, q as $t, t as Wt, A as q, u as w, v as I, x as Z, y as vt, z as Nt, B as Kt, C as Xt, D as Q, E as W, n as qt, s as st, F as dt, G as wt, H as ut, I as pt, d as it, J as Yt, K as Zt } from "./entry-Cn6KiPQv.js"; +import { ensureViewerMetadataAsset as tt } from "./genInfo-DPaWrr2W.js"; +const E = Object.freeze({ SIMPLE: "simple", AB: "ab", SIDE: "side", @@ -89,18 +89,18 @@ function ct(t, e = null, { kind: n = "" } = {}) { h.type = "button", h.className = "mjr-icon-btn mjr-mfv-simple-player-btn", h.setAttribute("aria-label", "Step back"); const p = document.createElement("i"); p.className = "pi pi-step-backward", p.setAttribute("aria-hidden", "true"), h.appendChild(p); - const _ = document.createElement("button"); - _.type = "button", _.className = "mjr-icon-btn mjr-mfv-simple-player-btn", _.setAttribute("aria-label", "Step forward"); + const g = document.createElement("button"); + g.type = "button", g.className = "mjr-icon-btn mjr-mfv-simple-player-btn", g.setAttribute("aria-label", "Step forward"); const y = document.createElement("i"); - y.className = "pi pi-step-forward", y.setAttribute("aria-hidden", "true"), _.appendChild(y); + y.className = "pi pi-step-forward", y.setAttribute("aria-hidden", "true"), g.appendChild(y); const S = document.createElement("div"); S.className = "mjr-mfv-simple-player-time", S.textContent = "0:00 / 0:00"; - const g = document.createElement("div"); - g.className = "mjr-mfv-simple-player-frame", g.textContent = "F: 0", s || (g.style.display = "none"); + const _ = document.createElement("div"); + _.className = "mjr-mfv-simple-player-frame", _.textContent = "F: 0", s || (_.style.display = "none"); const C = document.createElement("button"); C.type = "button", C.className = "mjr-icon-btn mjr-mfv-simple-player-btn", C.setAttribute("aria-label", "Mute/Unmute"); - const E = document.createElement("i"); - if (E.className = "pi pi-volume-up", E.setAttribute("aria-hidden", "true"), C.appendChild(E), s || (h.disabled = !0, _.disabled = !0, h.classList.add("is-disabled"), _.classList.add("is-disabled")), u.appendChild(h), u.appendChild(f), u.appendChild(_), u.appendChild(S), u.appendChild(g), u.appendChild(C), r.appendChild(a), r.appendChild(u), d.appendChild(t), l) { + const A = document.createElement("i"); + if (A.className = "pi pi-volume-up", A.setAttribute("aria-hidden", "true"), C.appendChild(A), s || (h.disabled = !0, g.disabled = !0, h.classList.add("is-disabled"), g.classList.add("is-disabled")), u.appendChild(h), u.appendChild(f), u.appendChild(g), u.appendChild(S), u.appendChild(_), u.appendChild(C), r.appendChild(a), r.appendChild(u), d.appendChild(t), l) { const b = document.createElement("div"); b.className = "mjr-mfv-simple-player-audio-backdrop", b.textContent = String((e == null ? void 0 : e.filename) || "Audio"), d.appendChild(b); } @@ -110,28 +110,28 @@ function ct(t, e = null, { kind: n = "" } = {}) { } catch (b) { (ft = console.debug) == null || ft.call(console, b); } - const P = c ? String((t == null ? void 0 : t.src) || "") : ""; - let M = !1, T = ""; + const M = c ? String((t == null ? void 0 : t.src) || "") : ""; + let B = !1, T = ""; const k = () => { if (i) { m.className = t.paused ? "pi pi-play" : "pi pi-pause"; return; } if (c) { - m.className = M ? "pi pi-play" : "pi pi-pause"; + m.className = B ? "pi pi-play" : "pi pi-pause"; return; } m.className = "pi pi-play"; }, R = () => { if (t instanceof HTMLMediaElement) { - E.className = t.muted ? "pi pi-volume-off" : "pi pi-volume-up"; + A.className = t.muted ? "pi pi-volume-off" : "pi pi-volume-up"; return; } - E.className = "pi pi-volume-off", C.disabled = !0, C.classList.add("is-disabled"); + A.className = "pi pi-volume-off", C.disabled = !0, C.classList.add("is-disabled"); }, L = () => { if (!s || !(t instanceof HTMLVideoElement)) return; - const b = _t(t, o), B = Lt(t, o); - g.textContent = B > 0 ? `F: ${b}/${B}` : `F: ${b}`; + const b = _t(t, o), P = Lt(t, o); + _.textContent = P > 0 ? `F: ${b}/${P}` : `F: ${b}`; }, D = () => { const b = Math.max(0, Math.min(100, Number(a.value) / 1e3 * 100)); a.style.setProperty("--mjr-seek-pct", `${b}%`); @@ -140,39 +140,39 @@ function ct(t, e = null, { kind: n = "" } = {}) { S.textContent = c ? "Animated" : "Preview", a.value = "0", D(); return; } - const b = Number(t.currentTime || 0), B = Number(t.duration || 0); - if (Number.isFinite(B) && B > 0) { - const x = Math.max(0, Math.min(1, b / B)); - a.value = String(Math.round(x * 1e3)), S.textContent = `${lt(b)} / ${lt(B)}`; + const b = Number(t.currentTime || 0), P = Number(t.duration || 0); + if (Number.isFinite(P) && P > 0) { + const x = Math.max(0, Math.min(1, b / P)); + a.value = String(Math.round(x * 1e3)), S.textContent = `${lt(b)} / ${lt(P)}`; } else a.value = "0", S.textContent = `${lt(b)} / 0:00`; D(); }, K = (b) => { - var B; + var P; try { - (B = b == null ? void 0 : b.stopPropagation) == null || B.call(b); + (P = b == null ? void 0 : b.stopPropagation) == null || P.call(b); } catch { } }, mt = (b) => { - var B, x; + var P, x; K(b); try { if (i) - t.paused ? ht(t) : (B = t.pause) == null || B.call(t); + t.paused ? ht(t) : (P = t.pause) == null || P.call(t); else if (c) - if (!M) - T || (T = le(t)), T && (t.src = T), M = !0; + if (!B) + T || (T = le(t)), T && (t.src = T), B = !0; else { - const j = P ? `${P}${P.includes("?") ? "&" : "?"}mjr_anim=${Date.now()}` : t.src; - t.src = j, M = !1; + const j = M ? `${M}${M.includes("?") ? "&" : "?"}mjr_anim=${Date.now()}` : t.src; + t.src = j, B = !1; } } catch (j) { (x = console.debug) == null || x.call(console, j); } k(); - }, Y = (b, B) => { + }, Y = (b, P) => { var j, V; - if (K(B), !s || !(t instanceof HTMLVideoElement)) return; + if (K(P), !s || !(t instanceof HTMLVideoElement)) return; try { (j = t.pause) == null || j.call(t); } catch (ot) { @@ -181,12 +181,12 @@ function ct(t, e = null, { kind: n = "" } = {}) { const x = _t(t, o); oe(t, x + b, o), k(), L(), G(); }, Gt = (b) => { - var B; + var P; if (K(b), t instanceof HTMLMediaElement) { try { t.muted = !t.muted; } catch (x) { - (B = console.debug) == null || B.call(console, x); + (P = console.debug) == null || P.call(console, x); } R(); } @@ -194,43 +194,43 @@ function ct(t, e = null, { kind: n = "" } = {}) { var j; if (K(b), !i) return; D(); - const B = Number(t.duration || 0); - if (!Number.isFinite(B) || B <= 0) return; + const P = Number(t.duration || 0); + if (!Number.isFinite(P) || P <= 0) return; const x = Math.max(0, Math.min(1, Number(a.value) / 1e3)); try { - t.currentTime = B * x; + t.currentTime = P * x; } catch (V) { (j = console.debug) == null || j.call(console, V); } L(), G(); }, nt = (b) => K(b), Rt = (b) => { - var B, x, j, V; + var P, x, j, V; try { - if ((x = (B = b == null ? void 0 : b.target) == null ? void 0 : B.closest) != null && x.call(B, "button, input, textarea, select")) return; + if ((x = (P = b == null ? void 0 : b.target) == null ? void 0 : P.closest) != null && x.call(P, "button, input, textarea, select")) return; (j = d.focus) == null || j.call(d, { preventScroll: !0 }); } catch (ot) { (V = console.debug) == null || V.call(console, ot); } }, Ht = (b) => { var x, j, V; - const B = String((b == null ? void 0 : b.key) || ""); - if (!(!B || b != null && b.altKey || b != null && b.ctrlKey || b != null && b.metaKey)) { - if (B === " " || B === "Spacebar") { + const P = String((b == null ? void 0 : b.key) || ""); + if (!(!P || b != null && b.altKey || b != null && b.ctrlKey || b != null && b.metaKey)) { + if (P === " " || P === "Spacebar") { (x = b.preventDefault) == null || x.call(b), mt(b); return; } - if (B === "ArrowLeft") { + if (P === "ArrowLeft") { if (!s) return; (j = b.preventDefault) == null || j.call(b), Y(-1, b); return; } - if (B === "ArrowRight") { + if (P === "ArrowRight") { if (!s) return; (V = b.preventDefault) == null || V.call(b), Y(1, b); } } }; - return f.addEventListener("click", mt), h.addEventListener("click", (b) => Y(-1, b)), _.addEventListener("click", (b) => Y(1, b)), C.addEventListener("click", Gt), a.addEventListener("input", Ot), r.addEventListener("pointerdown", nt), r.addEventListener("click", nt), r.addEventListener("dblclick", nt), d.addEventListener("pointerdown", Rt), d.addEventListener("keydown", Ht), t instanceof HTMLMediaElement && (t.addEventListener("play", k, { passive: !0 }), t.addEventListener("pause", k, { passive: !0 }), t.addEventListener( + return f.addEventListener("click", mt), h.addEventListener("click", (b) => Y(-1, b)), g.addEventListener("click", (b) => Y(1, b)), C.addEventListener("click", Gt), a.addEventListener("input", Ot), r.addEventListener("pointerdown", nt), r.addEventListener("click", nt), r.addEventListener("dblclick", nt), d.addEventListener("pointerdown", Rt), d.addEventListener("keydown", Ht), t instanceof HTMLMediaElement && (t.addEventListener("play", k, { passive: !0 }), t.addEventListener("pause", k, { passive: !0 }), t.addEventListener( "timeupdate", () => { L(), G(); @@ -533,11 +533,11 @@ class Se { h.className = m ? "mjr-ws-widget-row mjr-ws-widget-row--block" : "mjr-ws-widget-row"; const p = document.createElement("label"); p.className = "mjr-ws-widget-label", p.textContent = u.name || ""; - const _ = document.createElement("div"); - _.className = "mjr-ws-widget-input"; + const g = document.createElement("div"); + g.className = "mjr-ws-widget-input"; const y = fe(u, () => { }); - _.appendChild(y), this._inputMap.set(u.name, y), h.appendChild(p), h.appendChild(_), c.appendChild(h); + g.appendChild(y), this._inputMap.set(u.name, y), h.appendChild(p), h.appendChild(g), c.appendChild(h); } if (!r) { const u = document.createElement("div"); @@ -721,30 +721,30 @@ function Ne() { function a() { r != null && (clearTimeout(r), r = null); } - function u(g, { canStop: C = !1 } = {}) { - l = g, e.classList.toggle("running", l === N.RUNNING), e.classList.toggle("stopping", l === N.STOPPING), e.classList.toggle("error", l === N.ERROR), e.disabled = l === N.RUNNING || l === N.STOPPING, i.disabled = !C || l === N.STOPPING, i.classList.toggle("active", C && l !== N.STOPPING), i.classList.toggle("stopping", l === N.STOPPING), l === N.RUNNING || l === N.STOPPING ? o.className = "pi pi-spin pi-spinner" : o.className = "pi pi-play"; + function u(_, { canStop: C = !1 } = {}) { + l = _, e.classList.toggle("running", l === N.RUNNING), e.classList.toggle("stopping", l === N.STOPPING), e.classList.toggle("error", l === N.ERROR), e.disabled = l === N.RUNNING || l === N.STOPPING, i.disabled = !C || l === N.STOPPING, i.classList.toggle("active", C && l !== N.STOPPING), i.classList.toggle("stopping", l === N.STOPPING), l === N.RUNNING || l === N.STOPPING ? o.className = "pi pi-spin pi-spinner" : o.className = "pi pi-play"; } function f() { - const g = I("tooltip.queueStop", "Stop Generation"); - i.title = g, i.setAttribute("aria-label", g); + const _ = I("tooltip.queueStop", "Stop Generation"); + i.title = _, i.setAttribute("aria-label", _); } - function m(g = Z.getSnapshot(), { authoritative: C = !1 } = {}) { - const E = Math.max(0, Number(g == null ? void 0 : g.queue) || 0), P = (g == null ? void 0 : g.prompt) || null, M = !!(P != null && P.currentlyExecuting), T = !!(P && (P.currentlyExecuting || P.errorDetails)), k = E > 0 || T, R = !!(P != null && P.errorDetails); - C && E === 0 && !P && (c = !1, d = !1); - const L = c || d || M || E > 0; - if ((M || k || E > 0) && (c = !1), R) { + function m(_ = Z.getSnapshot(), { authoritative: C = !1 } = {}) { + const A = Math.max(0, Number(_ == null ? void 0 : _.queue) || 0), M = (_ == null ? void 0 : _.prompt) || null, B = !!(M != null && M.currentlyExecuting), T = !!(M && (M.currentlyExecuting || M.errorDetails)), k = A > 0 || T, R = !!(M != null && M.errorDetails); + C && A === 0 && !M && (c = !1, d = !1); + const L = c || d || B || A > 0; + if ((B || k || A > 0) && (c = !1), R) { d = !1, a(), u(N.ERROR, { canStop: !1 }); return; } if (d) { if (!L) { - d = !1, m(g); + d = !1, m(_); return; } u(N.STOPPING, { canStop: !1 }); return; } - if (c || M || k || E > 0) { + if (c || B || k || A > 0) { a(), u(N.RUNNING, { canStop: !0 }); return; } @@ -756,56 +756,56 @@ function Ne() { }, 1500); } async function p() { - const g = w(), C = Nt(g); - if (C && typeof C.interrupt == "function") - return await C.interrupt(), { tracked: !0 }; - if (C && typeof C.fetchApi == "function") { - const P = await C.fetchApi("/interrupt", { method: "POST" }); - if (!(P != null && P.ok)) throw new Error(`POST /interrupt failed (${P == null ? void 0 : P.status})`); + const _ = w(), A = (_ != null && _.api && typeof _.api.interrupt == "function" ? _.api : null) ?? Nt(_); + if (A && typeof A.interrupt == "function") + return await A.interrupt(), { tracked: !0 }; + if (A && typeof A.fetchApi == "function") { + const B = await A.fetchApi("/interrupt", { method: "POST" }); + if (!(B != null && B.ok)) throw new Error(`POST /interrupt failed (${B == null ? void 0 : B.status})`); return { tracked: !0 }; } - const E = await fetch("/interrupt", { method: "POST" }); - if (!E.ok) throw new Error(`POST /interrupt failed (${E.status})`); + const M = await fetch("/interrupt", { method: "POST", credentials: "include" }); + if (!M.ok) throw new Error(`POST /interrupt failed (${M.status})`); return { tracked: !1 }; } - async function _() { - var g; + async function g() { + var _; if (!(l === N.RUNNING || l === N.STOPPING)) { c = !0, d = !1, m(); try { const C = await Ie(); C != null && C.tracked || (c = !1), m(); } catch (C) { - (g = console.error) == null || g.call(console, "[MFV Run]", C), h(); + (_ = console.error) == null || _.call(console, "[MFV Run]", C), h(); } } } async function y() { - var g; + var _; if (l === N.RUNNING) { d = !0, m(); try { const C = await p(); C != null && C.tracked || (d = !1, c = !1), m(); } catch (C) { - (g = console.error) == null || g.call(console, "[MFV Stop]", C), d = !1, m(); + (_ = console.error) == null || _.call(console, "[MFV Stop]", C), d = !1, m(); } finally { } } } - f(), i.disabled = !0, e.addEventListener("click", _), i.addEventListener("click", y); - const S = (g) => { - m((g == null ? void 0 : g.detail) || Z.getSnapshot(), { + f(), i.disabled = !0, e.addEventListener("click", g), i.addEventListener("click", y); + const S = (_) => { + m((_ == null ? void 0 : _.detail) || Z.getSnapshot(), { authoritative: !0 }); }; - return Z.addEventListener(Ct, S), vt({ timeoutMs: 4e3 }).catch((g) => { + return Z.addEventListener(Ct, S), vt({ timeoutMs: 4e3 }).catch((_) => { var C; - (C = console.debug) == null || C.call(console, g); + (C = console.debug) == null || C.call(console, _); }), m(), { el: t, dispose() { - a(), e.removeEventListener("click", _), i.removeEventListener("click", y), Z.removeEventListener( + a(), e.removeEventListener("click", g), i.removeEventListener("click", y), Z.removeEventListener( Ct, S ); @@ -856,32 +856,35 @@ async function Ie() { if (!t) throw new Error("ComfyUI app not available"); const e = typeof t.graphToPrompt == "function" ? await t.graphToPrompt() : null; if (!(e != null && e.output)) throw new Error("graphToPrompt returned empty output"); - const n = Nt(t); - if (n && typeof n.queuePrompt == "function") - return await n.queuePrompt(0, Tt(e)), { tracked: !0 }; - if (n && typeof n.fetchApi == "function") { - const i = await n.fetchApi("/prompt", { + const o = (t != null && t.api && typeof t.api.queuePrompt == "function" ? t.api : null) ?? Nt(t); + if (o && typeof o.queuePrompt == "function") + return await o.queuePrompt(0, Tt(e)), { tracked: !0 }; + if (o && typeof o.fetchApi == "function") { + const s = await o.fetchApi("/prompt", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify( St(e, { - clientId: At(n, t) + clientId: At(o, t) }) ) }); - if (!(i != null && i.ok)) throw new Error(`POST /prompt failed (${i == null ? void 0 : i.status})`); + if (!(s != null && s.ok)) throw new Error(`POST /prompt failed (${s == null ? void 0 : s.status})`); return { tracked: !0 }; } - const o = await fetch("/prompt", { + if (typeof t.queuePrompt == "function") + return await t.queuePrompt(0), { tracked: !0 }; + const i = await fetch("/prompt", { method: "POST", + credentials: "include", headers: { "Content-Type": "application/json" }, body: JSON.stringify( St(e, { - clientId: At(n, t) + clientId: At(null, t) }) ) }); - if (!o.ok) throw new Error(`POST /prompt failed (${o.status})`); + if (!i.ok) throw new Error(`POST /prompt failed (${i.status})`); return { tracked: !1 }; } function Le(t) { @@ -898,7 +901,7 @@ function ke(t) { const e = document.createElement("div"); e.className = "mjr-mfv-header"; const n = document.createElement("span"); - n.className = "mjr-mfv-header-title", n.id = t._titleId, n.textContent = "Majoor Viewer Lite"; + n.className = "mjr-mfv-header-title", n.id = t._titleId, n.textContent = "〽️ Majoor Viewer Lite"; const o = document.createElement("button"); t._closeBtn = o, o.type = "button", o.className = "mjr-icon-btn mjr-mfv-close-btn", Q(o, I("tooltip.closeViewer", "Close viewer"), ee); const i = document.createElement("i"); @@ -946,10 +949,10 @@ function xe(t) { t._settingsBtn.title = r, t._settingsBtn.setAttribute("aria-label", r), t._settingsBtn.setAttribute("aria-pressed", "false"); const a = document.createElement("i"); return a.className = "pi pi-sliders-h", a.setAttribute("aria-hidden", "true"), t._settingsBtn.appendChild(a), e.appendChild(t._settingsBtn), t._runHandle = Ne(), e.appendChild(t._runHandle.el), t._handleDocClick = (m) => { - var p, _; + var p, g; if (!t._genDropdown) return; const h = m == null ? void 0 : m.target; - (_ = (p = t._genBtn) == null ? void 0 : p.contains) != null && _.call(p, h) || t._genDropdown.contains(h) || t._closeGenDropdown(); + (g = (p = t._genBtn) == null ? void 0 : p.contains) != null && g.call(p, h) || t._genDropdown.contains(h) || t._closeGenDropdown(); }, t._bindDocumentUiHandlers(), e; } function je(t) { @@ -973,8 +976,8 @@ function je(t) { var y, S; const p = (S = (y = h.target) == null ? void 0 : y.closest) == null ? void 0 : S.call(y, ".mjr-mfv-pin-btn"); if (!p) return; - const _ = p.dataset.slot; - _ && (t._pinnedSlots.has(_) ? t._pinnedSlots.delete(_) : t._pinnedSlots.add(_), t._pinnedSlots.has("C") || t._pinnedSlots.has("D") ? t._mode !== A.GRID && t.setMode(A.GRID) : t._pinnedSlots.size > 0 && t._mode === A.SIMPLE && t.setMode(A.AB), t._updatePinUI()); + const g = p.dataset.slot; + g && (t._pinnedSlots.has(g) ? t._pinnedSlots.delete(g) : t._pinnedSlots.add(g), t._pinnedSlots.has("C") || t._pinnedSlots.has("D") ? t._mode !== E.GRID && t.setMode(E.GRID) : t._pinnedSlots.size > 0 && t._mode === E.SIMPLE && t.setMode(E.AB), t._updatePinUI()); }, { signal: e } ), (c = t._liveBtn) == null || c.addEventListener( @@ -998,8 +1001,8 @@ function je(t) { ), (a = t._genBtn) == null || a.addEventListener( "click", (h) => { - var p, _; - h.stopPropagation(), (_ = (p = t._genDropdown) == null ? void 0 : p.classList) != null && _.contains("is-visible") ? t._closeGenDropdown() : t._openGenDropdown(); + var p, g; + h.stopPropagation(), (g = (p = t._genDropdown) == null ? void 0 : p.classList) != null && g.contains("is-visible") ? t._closeGenDropdown() : t._openGenDropdown(); }, { signal: e } ), (u = t._popoutBtn) == null || u.addEventListener( @@ -1207,11 +1210,11 @@ function Xe(t) { } } function qe(t) { - const e = [A.SIMPLE, A.AB, A.SIDE, A.GRID]; + const e = [E.SIMPLE, E.AB, E.SIDE, E.GRID]; t._mode = e[(e.indexOf(t._mode) + 1) % e.length], t._updateModeBtnUI(), t._refresh(), t._notifyModeChanged(); } function we(t, e) { - Object.values(A).includes(e) && (t._mode = e, t._updateModeBtnUI(), t._refresh(), t._notifyModeChanged()); + Object.values(E).includes(e) && (t._mode = e, t._updateModeBtnUI(), t._refresh(), t._notifyModeChanged()); } function Ye(t) { return t._pinnedSlots; @@ -1228,10 +1231,10 @@ function Ze(t) { function Je(t) { if (!t._modeBtn) return; const e = { - [A.SIMPLE]: { icon: "pi-image", label: "Mode: Simple - click to switch" }, - [A.AB]: { icon: "pi-clone", label: "Mode: A/B Compare - click to switch" }, - [A.SIDE]: { icon: "pi-table", label: "Mode: Side-by-Side - click to switch" }, - [A.GRID]: { + [E.SIMPLE]: { icon: "pi-image", label: "Mode: Simple - click to switch" }, + [E.AB]: { icon: "pi-clone", label: "Mode: A/B Compare - click to switch" }, + [E.SIDE]: { icon: "pi-table", label: "Mode: Side-by-Side - click to switch" }, + [E.GRID]: { icon: "pi-th-large", label: "Mode: Grid Compare (up to 4) - click to switch" } @@ -1270,14 +1273,14 @@ function en(t, e, n = {}) { _isPreview: !0, _sourceLabel: (n == null ? void 0 : n.sourceLabel) || null }; - if (t._mode === A.AB || t._mode === A.SIDE || t._mode === A.GRID) { + if (t._mode === E.AB || t._mode === E.SIDE || t._mode === E.GRID) { const l = t.getPinnedSlots(); - if (t._mode === A.GRID) { + if (t._mode === E.GRID) { const c = ["A", "B", "C", "D"].find((d) => !l.has(d)) || "A"; t[`_media${c}`] = i; } else l.has("B") ? t._mediaA = i : t._mediaB = i; } else - t._mediaA = i, t._resetMfvZoom(), t._mode !== A.SIMPLE && (t._mode = A.SIMPLE, t._updateModeBtnUI()); + t._mediaA = i, t._resetMfvZoom(), t._mode !== E.SIMPLE && (t._mode = E.SIMPLE, t._updateModeBtnUI()); ++t._refreshGen, t._refresh(); } function nn(t) { @@ -1495,7 +1498,7 @@ function un(t) { if (!(n && (F("electron-popup-request", { width: s, height: l }), t._tryElectronPopupFallback(e, s, l, new Error("Desktop popup requested"))))) { if (n && "documentPictureInPicture" in window) { F("electron-pip-request", { width: s, height: l }), window.documentPictureInPicture.requestWindow({ width: s, height: l }).then((r) => { - var h, p, _; + var h, p, g; F("electron-pip-opened", { hasDocument: !!(r != null && r.document) }), t._popoutWindow = r, t._isPopped = !0, t._popoutRestoreGuard = !1; @@ -1528,7 +1531,7 @@ function un(t) { try { r.close(); } catch (S) { - (_ = console.debug) == null || _.call(console, S); + (g = console.debug) == null || g.call(console, S); } t._activateDesktopExpandedFallback(y); return; @@ -1536,8 +1539,8 @@ function un(t) { e.classList.add("is-visible"), t.isVisible = !0, t._resetGenDropdownForCurrentDocument(), t._rebindControlHandlers(), t._bindDocumentUiHandlers(), t._updatePopoutBtnUI(), F("electron-pip-ready", { isPopped: t._isPopped }), r.addEventListener("pagehide", u, { signal: a }), t._startPopoutCloseWatch(), t._popoutKeydownHandler = (y) => { - var g, C; - const S = String(((g = y == null ? void 0 : y.target) == null ? void 0 : g.tagName) || "").toLowerCase(); + var _, C; + const S = String(((_ = y == null ? void 0 : y.target) == null ? void 0 : _.tagName) || "").toLowerCase(); y != null && y.defaultPrevented || (C = y == null ? void 0 : y.target) != null && C.isContentEditable || S === "input" || S === "textarea" || S === "select" || t._forwardKeydownToController(y); }, r.addEventListener("keydown", t._popoutKeydownHandler, { signal: a @@ -1586,10 +1589,10 @@ function pn(t, e, n, o) { } if (!p) return; p.title = "Majoor Viewer", t._installPopoutStyles(p); - const _ = Vt(p); - if (_) { + const g = Vt(p); + if (g) { try { - _.appendChild(p.adoptNode(e)); + g.appendChild(p.adoptNode(e)); } catch (y) { console.warn("[MFV] adoptNode failed", y); return; @@ -1603,17 +1606,17 @@ function pn(t, e, n, o) { (m = console.debug) == null || m.call(console, "[MFV] immediate mount failed, retrying on load", p); try { c.addEventListener("load", a, { signal: d }); - } catch (_) { - (h = console.debug) == null || h.call(console, "[MFV] pop-out page load listener failed", _); + } catch (g) { + (h = console.debug) == null || h.call(console, "[MFV] pop-out page load listener failed", g); } } c.addEventListener("beforeunload", r, { signal: d }), c.addEventListener("pagehide", r, { signal: d }), c.addEventListener("unload", r, { signal: d }), t._startPopoutCloseWatch(), t._popoutKeydownHandler = (p) => { - var S, g, C, E; - const _ = String(((S = p == null ? void 0 : p.target) == null ? void 0 : S.tagName) || "").toLowerCase(); - if (p != null && p.defaultPrevented || (g = p == null ? void 0 : p.target) != null && g.isContentEditable || _ === "input" || _ === "textarea" || _ === "select") + var S, _, C, A; + const g = String(((S = p == null ? void 0 : p.target) == null ? void 0 : S.tagName) || "").toLowerCase(); + if (p != null && p.defaultPrevented || (_ = p == null ? void 0 : p.target) != null && _.isContentEditable || g === "input" || g === "textarea" || g === "select") return; if (String((p == null ? void 0 : p.key) || "").toLowerCase() === "v" && (p != null && p.ctrlKey || p != null && p.metaKey) && !(p != null && p.altKey) && !(p != null && p.shiftKey)) { - p.preventDefault(), (C = p.stopPropagation) == null || C.call(p), (E = p.stopImmediatePropagation) == null || E.call(p), t._dispatchControllerAction("toggle", W.MFV_TOGGLE); + p.preventDefault(), (C = p.stopPropagation) == null || C.call(p), (A = p.stopImmediatePropagation) == null || A.call(p), t._dispatchControllerAction("toggle", W.MFV_TOGGLE); return; } t._forwardKeydownToController(p); @@ -1844,8 +1847,8 @@ function En(t, e) { if (!t.element || t._isPopped) return; const r = t._resizeState; if (!r) { - const _ = n(d); - t.element.style.cursor = _ ? t._resizeCursorForDirection(_) : ""; + const g = n(d); + t.element.style.cursor = g ? t._resizeCursorForDirection(g) : ""; return; } if (r.pointerId !== d.pointerId) return; @@ -1888,11 +1891,11 @@ function Pn(t, e) { const p = Math.min( window.innerWidth - d.offsetWidth, Math.max(0, h.clientX - a) - ), _ = Math.min( + ), g = Math.min( window.innerHeight - d.offsetHeight, Math.max(0, h.clientY - u) ); - d.style.left = `${p}px`, d.style.top = `${_}px`, d.style.right = "auto", d.style.bottom = "auto"; + d.style.left = `${p}px`, d.style.top = `${g}px`, d.style.right = "auto", d.style.bottom = "auto"; }, m = () => { try { o == null || o.abort(); @@ -1905,7 +1908,7 @@ function Pn(t, e) { ); } async function Bn(t, e, n, o, i, s, l, c) { - var m, h, p, _, y; + var m, h, p, g, y; if (!n) return; const d = H(n); let r = null; @@ -1914,14 +1917,14 @@ async function Bn(t, e, n, o, i, s, l, c) { S && (r = ((p = (h = t._contentEl) == null ? void 0 : h.querySelector) == null ? void 0 : p.call( h, `.mjr-model3d-render-canvas[data-mjr-asset-id="${S}"]` - )) || null), r || (r = ((y = (_ = t._contentEl) == null ? void 0 : _.querySelector) == null ? void 0 : y.call(_, ".mjr-model3d-render-canvas")) || null); + )) || null), r || (r = ((y = (g = t._contentEl) == null ? void 0 : g.querySelector) == null ? void 0 : y.call(g, ".mjr-model3d-render-canvas")) || null); } if (!r) { const S = xt(n); if (!S) return; - r = await new Promise((g) => { + r = await new Promise((_) => { const C = new Image(); - C.crossOrigin = "anonymous", C.onload = () => g(C), C.onerror = () => g(null), C.src = S; + C.crossOrigin = "anonymous", C.onload = () => _(C), C.onerror = () => _(null), C.src = S; }); } if (!r) return; @@ -1960,11 +1963,11 @@ function Mn(t, e, n, o) { e.font = `bold ${l}px system-ui, sans-serif`; const p = e.measureText(h).width; e.font = `${l}px system-ui, sans-serif`; - const _ = Math.max(32, r - d * 2 - p); + const g = Math.max(32, r - d * 2 - p); let y = 0, S = ""; - for (const g of f.split(" ")) { - const C = S ? S + " " + g : g; - e.measureText(C).width > _ && S ? (y += 1, S = g) : S = C; + for (const _ of f.split(" ")) { + const C = S ? S + " " + _ : _; + e.measureText(C).width > g && S ? (y += 1, S = _) : S = C; } S && (y += 1), a += y; } @@ -1993,39 +1996,39 @@ function Nn(t, e, n, o, i, s, l) { "step", "genTime" ], a = []; - for (const E of r) { - if (!t._genInfoSelections.has(E)) continue; - const P = c[E] != null ? String(c[E]) : ""; - if (!P) continue; - let M = E.charAt(0).toUpperCase() + E.slice(1); - E === "lora" ? M = "LoRA" : E === "cfg" ? M = "CFG" : E === "genTime" && (M = "Gen Time"), a.push({ - label: `${M}: `, - value: P, - color: d[E] || "#ffffff" + for (const A of r) { + if (!t._genInfoSelections.has(A)) continue; + const M = c[A] != null ? String(c[A]) : ""; + if (!M) continue; + let B = A.charAt(0).toUpperCase() + A.slice(1); + A === "lora" ? B = "LoRA" : A === "cfg" ? B = "CFG" : A === "genTime" && (B = "Gen Time"), a.push({ + label: `${B}: `, + value: M, + color: d[A] || "#ffffff" }); } if (!a.length) return; const u = 11, f = 16, m = 8, h = Math.max(100, s - m * 2); e.save(); const p = []; - for (const { label: E, value: P, color: M } of a) { + for (const { label: A, value: M, color: B } of a) { e.font = `bold ${u}px system-ui, sans-serif`; - const T = e.measureText(E).width; + const T = e.measureText(A).width; e.font = `${u}px system-ui, sans-serif`; const k = h - m * 2 - T, R = []; let L = ""; - for (const D of P.split(" ")) { + for (const D of M.split(" ")) { const G = L ? L + " " + D : D; e.measureText(G).width > k && L ? (R.push(L), L = D) : L = G; } - L && R.push(L), p.push({ label: E, labelW: T, lines: R, color: M }); + L && R.push(L), p.push({ label: A, labelW: T, lines: R, color: B }); } - const y = p.reduce((E, P) => E + P.lines.length, 0) * f + m * 2, S = o + m, g = i + l - y - m; - e.globalAlpha = 0.72, e.fillStyle = "#000", jt(e, S, g, h, y, 6), e.fill(), e.globalAlpha = 1; - let C = g + m + u; - for (const { label: E, labelW: P, lines: M, color: T } of p) - for (let k = 0; k < M.length; k++) - k === 0 ? (e.font = `bold ${u}px system-ui, sans-serif`, e.fillStyle = T, e.fillText(E, S + m, C), e.font = `${u}px system-ui, sans-serif`, e.fillStyle = "rgba(255,255,255,0.88)", e.fillText(M[k], S + m + P, C)) : (e.font = `${u}px system-ui, sans-serif`, e.fillStyle = "rgba(255,255,255,0.88)", e.fillText(M[k], S + m + P, C)), C += f; + const y = p.reduce((A, M) => A + M.lines.length, 0) * f + m * 2, S = o + m, _ = i + l - y - m; + e.globalAlpha = 0.72, e.fillStyle = "#000", jt(e, S, _, h, y, 6), e.fill(), e.globalAlpha = 1; + let C = _ + m + u; + for (const { label: A, labelW: M, lines: B, color: T } of p) + for (let k = 0; k < B.length; k++) + k === 0 ? (e.font = `bold ${u}px system-ui, sans-serif`, e.fillStyle = T, e.fillText(A, S + m, C), e.font = `${u}px system-ui, sans-serif`, e.fillStyle = "rgba(255,255,255,0.88)", e.fillText(B[k], S + m + M, C)) : (e.font = `${u}px system-ui, sans-serif`, e.fillStyle = "rgba(255,255,255,0.88)", e.fillText(B[k], S + m + M, C)), C += f; e.restore(); } async function Fn(t) { @@ -2034,7 +2037,7 @@ async function Fn(t) { t._captureBtn && (t._captureBtn.disabled = !0, t._captureBtn.setAttribute("aria-label", I("tooltip.capturingView", "Capturing…"))); const e = t._contentEl.clientWidth || 480, n = t._contentEl.clientHeight || 360; let o = n; - if (t._mode === A.SIMPLE && t._mediaA && t._genInfoSelections.size) { + if (t._mode === E.SIMPLE && t._mediaA && t._genInfoSelections.size) { const r = document.createElement("canvas"); r.width = e, r.height = n; const a = r.getContext("2d"), u = t._estimateGenInfoOverlayHeight(a, t._mediaA, e); @@ -2048,17 +2051,17 @@ async function Fn(t) { const s = i.getContext("2d"); s.fillStyle = "#0d0d0d", s.fillRect(0, 0, e, o); try { - if (t._mode === A.SIMPLE) + if (t._mode === E.SIMPLE) t._mediaA && (await t._drawMediaFit(s, t._mediaA, 0, 0, e, n), t._drawGenInfoOverlay(s, t._mediaA, 0, 0, e, o)); - else if (t._mode === A.AB) { + else if (t._mode === E.AB) { const r = Math.round(t._abDividerX * e), a = t._contentEl.querySelector( ".mjr-mfv-ab-layer:not(.mjr-mfv-ab-layer--b) video" ), u = t._contentEl.querySelector(".mjr-mfv-ab-layer--b video"); t._mediaA && await t._drawMediaFit(s, t._mediaA, 0, 0, e, o, a), t._mediaB && (s.save(), s.beginPath(), s.rect(r, 0, e - r, o), s.clip(), await t._drawMediaFit(s, t._mediaB, 0, 0, e, o, u), s.restore()), s.save(), s.strokeStyle = "rgba(255,255,255,0.88)", s.lineWidth = 2, s.beginPath(), s.moveTo(r, 0), s.lineTo(r, o), s.stroke(), s.restore(), X(s, "A", 8, 8), X(s, "B", r + 8, 8), t._mediaA && t._drawGenInfoOverlay(s, t._mediaA, 0, 0, r, o), t._mediaB && t._drawGenInfoOverlay(s, t._mediaB, r, 0, e - r, o); - } else if (t._mode === A.SIDE) { + } else if (t._mode === E.SIDE) { const r = Math.floor(e / 2), a = t._contentEl.querySelector(".mjr-mfv-side-panel:first-child video"), u = t._contentEl.querySelector(".mjr-mfv-side-panel:last-child video"); t._mediaA && (await t._drawMediaFit(s, t._mediaA, 0, 0, r, o, a), t._drawGenInfoOverlay(s, t._mediaA, 0, 0, r, o)), s.fillStyle = "#111", s.fillRect(r, 0, 2, o), t._mediaB && (await t._drawMediaFit(s, t._mediaB, r, 0, r, o, u), t._drawGenInfoOverlay(s, t._mediaB, r, 0, r, o)), X(s, "A", 8, 8), X(s, "B", r + 8, 8); - } else if (t._mode === A.GRID) { + } else if (t._mode === E.GRID) { const r = Math.floor(e / 2), a = Math.floor(o / 2), u = 1, f = [ { media: t._mediaA, label: "A", x: 0, y: 0, w: r - u, h: a - u }, { @@ -2087,8 +2090,8 @@ async function Fn(t) { } ], m = t._contentEl.querySelectorAll(".mjr-mfv-grid-cell"); for (let h = 0; h < f.length; h++) { - const p = f[h], _ = ((d = m[h]) == null ? void 0 : d.querySelector("video")) || null; - p.media && (await t._drawMediaFit(s, p.media, p.x, p.y, p.w, p.h, _), t._drawGenInfoOverlay(s, p.media, p.x, p.y, p.w, p.h)), X(s, p.label, p.x + 8, p.y + 8); + const p = f[h], g = ((d = m[h]) == null ? void 0 : d.querySelector("video")) || null; + p.media && (await t._drawMediaFit(s, p.media, p.x, p.y, p.w, p.h, g), t._drawGenInfoOverlay(s, p.media, p.x, p.y, p.w, p.h)), X(s, p.label, p.x + 8, p.y + 8); } s.save(), s.fillStyle = "#111", s.fillRect(r - u, 0, u * 2, o), s.fillRect(0, a - u, e, u * 2), s.restore(); } @@ -2096,9 +2099,9 @@ async function Fn(t) { console.debug("[MFV] capture error:", r); } const c = `${{ - [A.AB]: "mfv-ab", - [A.SIDE]: "mfv-side", - [A.GRID]: "mfv-grid" + [E.AB]: "mfv-ab", + [E.SIDE]: "mfv-side", + [E.GRID]: "mfv-grid" }[t._mode] ?? "mfv"}-${Date.now()}.png`; try { const r = i.toDataURL("image/png"), a = document.createElement("a"); @@ -2110,7 +2113,7 @@ async function Fn(t) { } } function In(t, e, { autoMode: n = !1 } = {}) { - if (t._mediaA = e || null, t._resetMfvZoom(), n && t._mode !== A.SIMPLE && (t._mode = A.SIMPLE, t._updateModeBtnUI()), t._mediaA && typeof tt == "function") { + if (t._mediaA = e || null, t._resetMfvZoom(), n && t._mode !== E.SIMPLE && (t._mode = E.SIMPLE, t._updateModeBtnUI()), t._mediaA && typeof tt == "function") { const o = ++t._refreshGen; (async () => { var i; @@ -2129,7 +2132,7 @@ function In(t, e, { autoMode: n = !1 } = {}) { t._refresh(); } function Ln(t, e, n) { - t._mediaA = e || null, t._mediaB = n || null, t._resetMfvZoom(), t._mode === A.SIMPLE && (t._mode = A.AB, t._updateModeBtnUI()); + t._mediaA = e || null, t._mediaB = n || null, t._resetMfvZoom(), t._mode === E.SIMPLE && (t._mode = E.AB, t._updateModeBtnUI()); const o = ++t._refreshGen, i = async (s) => { if (!s) return s; try { @@ -2147,7 +2150,7 @@ function Ln(t, e, n) { })(); } function kn(t, e, n, o, i) { - t._mediaA = e || null, t._mediaB = n || null, t._mediaC = o || null, t._mediaD = i || null, t._resetMfvZoom(), t._mode !== A.GRID && (t._mode = A.GRID, t._updateModeBtnUI()); + t._mediaA = e || null, t._mediaB = n || null, t._mediaC = o || null, t._mediaD = i || null, t._resetMfvZoom(), t._mode !== E.GRID && (t._mode = E.GRID, t._updateModeBtnUI()); const s = ++t._refreshGen, l = async (c) => { if (!c) return c; try { @@ -2180,7 +2183,7 @@ function $(t) { let xn = 0; class Vn { constructor({ controller: e = null } = {}) { - this._instanceId = ++xn, this._controller = e && typeof e == "object" ? { ...e } : null, this.element = null, this.isVisible = !1, this._contentEl = null, this._closeBtn = null, this._modeBtn = null, this._pinGroup = null, this._pinBtns = null, this._liveBtn = null, this._genBtn = null, this._genDropdown = null, this._captureBtn = null, this._genInfoSelections = /* @__PURE__ */ new Set(["genTime"]), this._mode = A.SIMPLE, this._mediaA = null, this._mediaB = null, this._mediaC = null, this._mediaD = null, this._pinnedSlots = /* @__PURE__ */ new Set(), this._abDividerX = 0.5, this._zoom = 1, this._panX = 0, this._panY = 0, this._panzoomAC = null, this._dragging = !1, this._compareSyncAC = null, this._btnAC = null, this._refreshGen = 0, this._popoutWindow = null, this._popoutBtn = null, this._isPopped = !1, this._desktopExpanded = !1, this._desktopExpandRestore = null, this._desktopPopoutUnsupported = !1, this._popoutCloseHandler = null, this._popoutKeydownHandler = null, this._popoutCloseTimer = null, this._popoutRestoreGuard = !1, this._previewBtn = null, this._previewBlobUrl = null, this._previewActive = !1, this._nodeStreamBtn = null, this._nodeStreamActive = !1, this._docAC = new AbortController(), this._popoutAC = null, this._panelAC = new AbortController(), this._resizeState = null, this._titleId = `mjr-mfv-title-${this._instanceId}`, this._genDropdownId = `mjr-mfv-gen-dropdown-${this._instanceId}`, this._progressEl = null, this._progressNodesEl = null, this._progressStepsEl = null, this._progressTextEl = null, this._mediaProgressEl = null, this._mediaProgressTextEl = null, this._progressUpdateHandler = null, this._progressCurrentNodeId = null, this._docClickHost = null, this._handleDocClick = null; + this._instanceId = ++xn, this._controller = e && typeof e == "object" ? { ...e } : null, this.element = null, this.isVisible = !1, this._contentEl = null, this._closeBtn = null, this._modeBtn = null, this._pinGroup = null, this._pinBtns = null, this._liveBtn = null, this._genBtn = null, this._genDropdown = null, this._captureBtn = null, this._genInfoSelections = /* @__PURE__ */ new Set(["genTime"]), this._mode = E.SIMPLE, this._mediaA = null, this._mediaB = null, this._mediaC = null, this._mediaD = null, this._pinnedSlots = /* @__PURE__ */ new Set(), this._abDividerX = 0.5, this._zoom = 1, this._panX = 0, this._panY = 0, this._panzoomAC = null, this._dragging = !1, this._compareSyncAC = null, this._btnAC = null, this._refreshGen = 0, this._popoutWindow = null, this._popoutBtn = null, this._isPopped = !1, this._desktopExpanded = !1, this._desktopExpandRestore = null, this._desktopPopoutUnsupported = !1, this._popoutCloseHandler = null, this._popoutKeydownHandler = null, this._popoutCloseTimer = null, this._popoutRestoreGuard = !1, this._previewBtn = null, this._previewBlobUrl = null, this._previewActive = !1, this._nodeStreamBtn = null, this._nodeStreamActive = !1, this._docAC = new AbortController(), this._popoutAC = null, this._panelAC = new AbortController(), this._resizeState = null, this._titleId = `mjr-mfv-title-${this._instanceId}`, this._genDropdownId = `mjr-mfv-gen-dropdown-${this._instanceId}`, this._progressEl = null, this._progressNodesEl = null, this._progressStepsEl = null, this._progressTextEl = null, this._mediaProgressEl = null, this._mediaProgressTextEl = null, this._progressUpdateHandler = null, this._progressCurrentNodeId = null, this._docClickHost = null, this._handleDocClick = null; } _dispatchControllerAction(e, n) { var o, i, s; @@ -2364,8 +2367,8 @@ class Vn { e.addEventListener( "wheel", (r) => { - var m, h, p, _; - if ((h = (m = r.target) == null ? void 0 : m.closest) != null && h.call(m, "audio") || (_ = (p = r.target) == null ? void 0 : p.closest) != null && _.call(p, ".mjr-mfv-simple-player-controls") || it(r.target)) return; + var m, h, p, g; + if ((h = (m = r.target) == null ? void 0 : m.closest) != null && h.call(m, "audio") || (g = (p = r.target) == null ? void 0 : p.closest) != null && g.call(p, ".mjr-mfv-simple-player-controls") || it(r.target)) return; const a = ue(r.target, e); if (a && pe( a, @@ -2383,13 +2386,13 @@ class Vn { e.addEventListener( "pointerdown", (r) => { - var a, u, f, m, h, p, _, y, S; - if (!(r.button !== 0 && r.button !== 1) && !(this._zoom <= 1.01) && !((u = (a = r.target) == null ? void 0 : a.closest) != null && u.call(a, "video")) && !((m = (f = r.target) == null ? void 0 : f.closest) != null && m.call(f, "audio")) && !((p = (h = r.target) == null ? void 0 : h.closest) != null && p.call(h, ".mjr-mfv-simple-player-controls")) && !((y = (_ = r.target) == null ? void 0 : _.closest) != null && y.call(_, ".mjr-mfv-ab-divider")) && !it(r.target)) { + var a, u, f, m, h, p, g, y, S; + if (!(r.button !== 0 && r.button !== 1) && !(this._zoom <= 1.01) && !((u = (a = r.target) == null ? void 0 : a.closest) != null && u.call(a, "video")) && !((m = (f = r.target) == null ? void 0 : f.closest) != null && m.call(f, "audio")) && !((p = (h = r.target) == null ? void 0 : h.closest) != null && p.call(h, ".mjr-mfv-simple-player-controls")) && !((y = (g = r.target) == null ? void 0 : g.closest) != null && y.call(g, ".mjr-mfv-ab-divider")) && !it(r.target)) { r.preventDefault(), o = !0, this._dragging = !0, i = r.clientX, s = r.clientY, l = this._panX, c = this._panY; try { e.setPointerCapture(r.pointerId); - } catch (g) { - (S = console.debug) == null || S.call(console, g); + } catch (_) { + (S = console.debug) == null || S.call(console, _); } this._applyTransform(); } @@ -2417,8 +2420,8 @@ class Vn { e.addEventListener("pointerup", d, n), e.addEventListener("pointercancel", d, n), e.addEventListener( "dblclick", (r) => { - var u, f, m, h, p, _; - if ((f = (u = r.target) == null ? void 0 : u.closest) != null && f.call(u, "video") || (h = (m = r.target) == null ? void 0 : m.closest) != null && h.call(m, "audio") || (_ = (p = r.target) == null ? void 0 : p.closest) != null && _.call(p, ".mjr-mfv-simple-player-controls") || it(r.target)) return; + var u, f, m, h, p, g; + if ((f = (u = r.target) == null ? void 0 : u.closest) != null && f.call(u, "video") || (h = (m = r.target) == null ? void 0 : m.closest) != null && h.call(m, "audio") || (g = (p = r.target) == null ? void 0 : p.closest) != null && g.call(p, ".mjr-mfv-simple-player-controls") || it(r.target)) return; const a = Math.abs(this._zoom - 1) < 0.05; this._setMfvZoom(a ? Math.min(4, this._zoom * 4) : 1, r.clientX, r.clientY); }, @@ -2446,7 +2449,7 @@ class Vn { } _initCompareSync() { var e; - if (this._destroyCompareSync(), !!this._contentEl && this._mode !== A.SIMPLE) + if (this._destroyCompareSync(), !!this._contentEl && this._mode !== E.SIMPLE) try { const n = Array.from(this._contentEl.querySelectorAll("video, audio")); if (n.length < 2) return; @@ -2461,16 +2464,16 @@ class Vn { _refresh() { if (this._contentEl) { switch (this._destroyPanZoom(), this._destroyCompareSync(), this._contentEl.replaceChildren(), this._contentEl.style.overflow = "hidden", this._mode) { - case A.SIMPLE: + case E.SIMPLE: this._renderSimple(); break; - case A.AB: + case E.AB: this._renderAB(); break; - case A.SIDE: + case E.SIDE: this._renderSide(); break; - case A.GRID: + case E.GRID: this._renderGrid(); break; } @@ -2531,25 +2534,25 @@ class Vn { let h = null; r.addEventListener( "pointerdown", - (_) => { - _.preventDefault(), r.setPointerCapture(_.pointerId); + (g) => { + g.preventDefault(), r.setPointerCapture(g.pointerId); try { h == null || h.abort(); } catch { } h = new AbortController(); - const y = h.signal, S = s.getBoundingClientRect(), g = (E) => { - const P = Math.max(0.02, Math.min(0.98, (E.clientX - S.left) / S.width)); - this._abDividerX = P; - const M = Math.round(P * 100); - c.style.clipPath = `inset(0 0 0 ${M}%)`, r.style.left = `${M}%`, u && (u.style.right = `calc(${100 - M}% + 8px)`), m && (m.style.left = `calc(${M}% + 8px)`); + const y = h.signal, S = s.getBoundingClientRect(), _ = (A) => { + const M = Math.max(0.02, Math.min(0.98, (A.clientX - S.left) / S.width)); + this._abDividerX = M; + const B = Math.round(M * 100); + c.style.clipPath = `inset(0 0 0 ${B}%)`, r.style.left = `${B}%`, u && (u.style.right = `calc(${100 - B}% + 8px)`), m && (m.style.left = `calc(${B}% + 8px)`); }, C = () => { try { h == null || h.abort(); } catch { } }; - r.addEventListener("pointermove", g, { signal: y }), r.addEventListener("pointerup", C, { signal: y }); + r.addEventListener("pointermove", _, { signal: y }), r.addEventListener("pointerup", C, { signal: y }); }, (p = this._panelAC) != null && p.signal ? { signal: this._panelAC.signal } : void 0 ), s.appendChild(l), s.appendChild(c), s.appendChild(r), u && s.appendChild(u), m && s.appendChild(m), s.appendChild(U("A", "left")), s.appendChild(U("B", "right")), this._contentEl.appendChild(s); @@ -2687,59 +2690,59 @@ class Vn { return Fn(this); } dispose() { - var e, n, o, i, s, l, c, d, r, a, u, f, m, h, p, _, y, S; + var e, n, o, i, s, l, c, d, r, a, u, f, m, h, p, g, y, S; Zt(this), this._destroyPanZoom(), this._destroyCompareSync(), this._stopEdgeResize(), this._clearPopoutCloseWatch(); try { (e = this._panelAC) == null || e.abort(), this._panelAC = null; - } catch (g) { - (n = console.debug) == null || n.call(console, g); + } catch (_) { + (n = console.debug) == null || n.call(console, _); } try { (o = this._btnAC) == null || o.abort(), this._btnAC = null; - } catch (g) { - (i = console.debug) == null || i.call(console, g); + } catch (_) { + (i = console.debug) == null || i.call(console, _); } try { (s = this._docAC) == null || s.abort(), this._docAC = null; - } catch (g) { - (l = console.debug) == null || l.call(console, g); + } catch (_) { + (l = console.debug) == null || l.call(console, _); } try { (c = this._popoutAC) == null || c.abort(), this._popoutAC = null; - } catch (g) { - (d = console.debug) == null || d.call(console, g); + } catch (_) { + (d = console.debug) == null || d.call(console, _); } try { (r = this._panzoomAC) == null || r.abort(), this._panzoomAC = null; - } catch (g) { - (a = console.debug) == null || a.call(console, g); + } catch (_) { + (a = console.debug) == null || a.call(console, _); } try { (f = (u = this._compareSyncAC) == null ? void 0 : u.abort) == null || f.call(u), this._compareSyncAC = null; - } catch (g) { - (m = console.debug) == null || m.call(console, g); + } catch (_) { + (m = console.debug) == null || m.call(console, _); } try { this._isPopped && this.popIn(); - } catch (g) { - (h = console.debug) == null || h.call(console, g); + } catch (_) { + (h = console.debug) == null || h.call(console, _); } this._revokePreviewBlob(), this._onSidebarPosChanged && (window.removeEventListener("mjr-settings-changed", this._onSidebarPosChanged), this._onSidebarPosChanged = null); try { (p = this.element) == null || p.remove(); - } catch (g) { - (_ = console.debug) == null || _.call(console, g); + } catch (_) { + (g = console.debug) == null || g.call(console, _); } this.element = null, this._contentEl = null, this._closeBtn = null, this._modeBtn = null, this._pinGroup = null, this._pinBtns = null, this._liveBtn = null, this._nodeStreamBtn = null, this._popoutBtn = null, this._captureBtn = null, this._unbindDocumentUiHandlers(); try { (y = this._genDropdown) == null || y.remove(); - } catch (g) { - (S = console.debug) == null || S.call(console, g); + } catch (_) { + (S = console.debug) == null || S.call(console, _); } this._mediaA = null, this._mediaB = null, this._mediaC = null, this._mediaD = null, this.isVisible = !1; } } export { Vn as FloatingViewer, - A as MFV_MODES + E as MFV_MODES }; diff --git a/js_dist/chunks/LiveStreamTracker-C2pYMJng.js b/js_dist/chunks/LiveStreamTracker-BR6kWxcl.js similarity index 99% rename from js_dist/chunks/LiveStreamTracker-C2pYMJng.js rename to js_dist/chunks/LiveStreamTracker-BR6kWxcl.js index 28b39b72..d3472c62 100644 --- a/js_dist/chunks/LiveStreamTracker-C2pYMJng.js +++ b/js_dist/chunks/LiveStreamTracker-BR6kWxcl.js @@ -1,4 +1,4 @@ -import { E as S, w as L, e as s } from "./entry-DyjnHjNW.js"; +import { E as S, w as L, e as s } from "./entry-Cn6KiPQv.js"; let l = null, c = null, d = null, m = !1, u = null, g = null, h = 0, _ = 0, f = null; const v = /* @__PURE__ */ new WeakMap(); function k() { diff --git a/js_dist/chunks/entry-DyjnHjNW.js b/js_dist/chunks/entry-Cn6KiPQv.js similarity index 87% rename from js_dist/chunks/entry-DyjnHjNW.js rename to js_dist/chunks/entry-Cn6KiPQv.js index 378263b0..1358dad1 100644 --- a/js_dist/chunks/entry-DyjnHjNW.js +++ b/js_dist/chunks/entry-Cn6KiPQv.js @@ -1,15 +1,15 @@ -import { f as ig, r as Ae, e as Je, g as og, h as js, i as Op, j as zp, u as Ge, w as an, k as kd, l as Jp, s as vs, o as Ie, c as he, F as Xt, m as Cn, n as vt, a as yt, t as Ye, p as Tp, q as Dn, v as _n, x as Bp, b as ne, y as fn, z as Fn, A as Zn, B as Up, C as Mr, D as Kp, E as Bo, G as Dp, H as br, d as Ei, T as Ls, I as Ao, J as xl, K as Xd, L as jl, M as rg } from "./mjr-vue-vendor-DZo-ZbFS.js"; -import { app as xo } from "../../../scripts/app.js"; -const Fi = "mjrSettings", lg = 1, Nd = "mjrMinimapSettings"; -function ag(e) { +import { f as og, r as Ae, e as ze, g as rg, h as Ls, i as Tp, j as Bp, u as xe, w as cn, k as Nd, l as Up, s as Vs, o as be, c as Ce, F as Nt, m as Cn, n as Lt, a as ft, t as Ye, p as Kp, q as Dn, v as _n, x as Dp, b as ie, y as fn, z as On, A as Zn, B as Ep, C as xr, D as Hp, E as Ko, G as qp, H as yr, d as Pi, T as Ys, I as wo, J as jl, K as Rd, L as vl, M as lg } from "./mjr-vue-vendor-DZo-ZbFS.js"; +import { app as vo } from "../../../scripts/app.js"; +const Oi = "mjrSettings", ag = 1, Fd = "mjrMinimapSettings"; +function cg(e) { try { return String(e ?? "").trim(); } catch { return ""; } } -let Rd = 0; -function cg(e) { +let Od = 0; +function sg(e) { const t = Math.max(4, Number(e) || 0); try { const n = globalThis.crypto; @@ -20,18 +20,18 @@ function cg(e) { return ""; } } -function Ep(e = "", t = 16) { - const n = cg(t); +function Pp(e = "", t = 16) { + const n = sg(t); if (!n) throw new Error("Secure token generation requires crypto.getRandomValues()."); return `${String(e || "")}${n}`; } -function Ys(e = "", t = 8) { - const n = cg(t); - return n ? `${String(e || "")}${n}` : (Rd += 1, `${String(e || "")}${Date.now().toString(36)}_${Rd.toString(36)}`); +function ks(e = "", t = 8) { + const n = sg(t); + return n ? `${String(e || "")}${n}` : (Od += 1, `${String(e || "")}${Date.now().toString(36)}_${Od.toString(36)}`); } -function Hp(e) { - const t = ag(e); +function Qp(e) { + const t = cg(e); if (!t || !/^\d+$/.test(t)) return ""; try { const n = Number(t); @@ -40,24 +40,24 @@ function Hp(e) { return ""; } } -function pi(e) { - return Hp(e); +function fi(e) { + return Qp(e); } -function vi(e) { +function Mi(e) { var t, n; try { - return e ? ag( + return e ? cg( e.root_id ?? e.rootId ?? e.custom_root_id ?? e.customRootId ?? e.customRoot ?? ((t = e == null ? void 0 : e.file_info) == null ? void 0 : t.root_id) ?? ((n = e == null ? void 0 : e.file_info) == null ? void 0 : n.rootId) ?? "" ) : ""; } catch { return ""; } } -function ba(e) { +function pa(e) { return String(e || "").replace(/\\/g, "/"); } -function qp(e) { - const t = ba(e).trim(); +function _p(e) { + const t = pa(e).trim(); if (!t) return { filename: "", subfolder: "" }; const n = t.lastIndexOf("/"); return n < 0 ? { filename: t, subfolder: "" } : { @@ -65,10 +65,10 @@ function qp(e) { subfolder: t.slice(0, n) }; } -function Pp(e) { +function $p(e) { return /^[a-zA-Z]:\//.test(String(e || "")); } -const Qp = 200, _p = 0, lt = { +const ey = 200, ty = 0, ct = { // Health & Config HEALTH: "/mjr/am/health", HEALTH_COUNTERS: "/mjr/am/health/counters", @@ -164,10 +164,10 @@ const Qp = 200, _p = 0, lt = { // Library audit AUDIT: "/mjr/am/audit" }; -function Ka(e, t = {}) { +function Da(e, t = {}) { let n = String(e || ""); - const i = () => n.includes("?") ? "&" : "?", o = (h) => { - n += i() + h; + const i = () => n.includes("?") ? "&" : "?", o = (Z) => { + n += i() + Z; }, { subfolder: r = null, kind: l = null, @@ -178,24 +178,24 @@ function Ka(e, t = {}) { minWidth: u = null, minHeight: I = null, maxWidth: p = null, - maxHeight: M = null, - workflowType: Z = null, - dateRange: A = null, + maxHeight: S = null, + workflowType: A = null, + dateRange: C = null, dateExact: g = null } = t || {}; - return r && o(`subfolder=${encodeURIComponent(String(r))}`), l && o(`kind=${encodeURIComponent(l)}`), a != null && o(`has_workflow=${encodeURIComponent(a ? "true" : "false")}`), c != null && Number(c) > 0 && o(`min_rating=${encodeURIComponent(String(c))}`), s != null && Number(s) > 0 && o(`min_size_mb=${encodeURIComponent(String(s))}`), d != null && Number(d) > 0 && o(`max_size_mb=${encodeURIComponent(String(d))}`), u != null && Number(u) > 0 && o(`min_width=${encodeURIComponent(String(u))}`), I != null && Number(I) > 0 && o(`min_height=${encodeURIComponent(String(I))}`), p != null && Number(p) > 0 && o(`max_width=${encodeURIComponent(String(p))}`), M != null && Number(M) > 0 && o(`max_height=${encodeURIComponent(String(M))}`), Z && o(`workflow_type=${encodeURIComponent(String(Z))}`), A && o(`date_range=${encodeURIComponent(String(A))}`), g && o(`date_exact=${encodeURIComponent(String(g))}`), n; + return r && o(`subfolder=${encodeURIComponent(String(r))}`), l && o(`kind=${encodeURIComponent(l)}`), a != null && o(`has_workflow=${encodeURIComponent(a ? "true" : "false")}`), c != null && Number(c) > 0 && o(`min_rating=${encodeURIComponent(String(c))}`), s != null && Number(s) > 0 && o(`min_size_mb=${encodeURIComponent(String(s))}`), d != null && Number(d) > 0 && o(`max_size_mb=${encodeURIComponent(String(d))}`), u != null && Number(u) > 0 && o(`min_width=${encodeURIComponent(String(u))}`), I != null && Number(I) > 0 && o(`min_height=${encodeURIComponent(String(I))}`), p != null && Number(p) > 0 && o(`max_width=${encodeURIComponent(String(p))}`), S != null && Number(S) > 0 && o(`max_height=${encodeURIComponent(String(S))}`), A && o(`workflow_type=${encodeURIComponent(String(A))}`), C && o(`date_range=${encodeURIComponent(String(C))}`), g && o(`date_exact=${encodeURIComponent(String(g))}`), n; } -function dl(e, t = null, n = "output") { +function ul(e, t = null, n = "output") { const i = String(e || "").trim(); if (!i) return ""; - let o = `${lt.VIEW}?filename=${encodeURIComponent(i)}`; + let o = `${ct.VIEW}?filename=${encodeURIComponent(i)}`; return t && (o += `&subfolder=${encodeURIComponent(t)}`), o += `&type=${encodeURIComponent(n)}`, o; } -function Vs(e = {}) { +function Xs(e = {}) { const { q: t = "*", - limit: n = Qp, - offset: i = _p, + limit: n = ey, + offset: i = ty, scope: o = "output", subfolder: r = "", customRootId: l = null, @@ -206,56 +206,56 @@ function Vs(e = {}) { maxSizeMB: u = null, resolutionCompare: I = null, minWidth: p = null, - minHeight: M = null, - maxWidth: Z = null, - maxHeight: A = null, + minHeight: S = null, + maxWidth: A = null, + maxHeight: C = null, workflowType: g = null, - dateRange: h = null, + dateRange: Z = null, dateExact: f = null, sort: b = null, - includeTotal: v = !0, - groupStacks: C = !1 + includeTotal: L = !0, + groupStacks: h = !1 } = e; - let S = `${lt.LIST}?q=${encodeURIComponent(t)}&limit=${n}&offset=${i}&scope=${encodeURIComponent(o)}`; - return r && (S += `&subfolder=${encodeURIComponent(r)}`), l ? S += `&custom_root_id=${encodeURIComponent(l)}` : String(o || "").toLowerCase() === "custom" && (S += "&browser_mode=1"), S = Ka(S, { + let G = `${ct.LIST}?q=${encodeURIComponent(t)}&limit=${n}&offset=${i}&scope=${encodeURIComponent(o)}`; + return r && (G += `&subfolder=${encodeURIComponent(r)}`), l ? G += `&custom_root_id=${encodeURIComponent(l)}` : String(o || "").toLowerCase() === "custom" && (G += "&browser_mode=1"), G = Da(G, { kind: a, hasWorkflow: c, minRating: s, minSizeMB: d, maxSizeMB: u, minWidth: p, - minHeight: M, - maxWidth: Z, - maxHeight: A, + minHeight: S, + maxWidth: A, + maxHeight: C, workflowType: g, - dateRange: h, + dateRange: Z, dateExact: f - }), I && (S += `&resolution_compare=${encodeURIComponent(String(I))}`), b && (S += `&sort=${encodeURIComponent(String(b))}`), v === !1 && (S += "&include_total=0"), C && (S += "&group_stacks=1"), S; + }), I && (G += `&resolution_compare=${encodeURIComponent(String(I))}`), b && (G += `&sort=${encodeURIComponent(String(b))}`), L === !1 && (G += "&include_total=0"), h && (G += "&group_stacks=1"), G; } -function sg(e, t = "", n = "") { +function dg(e, t = "", n = "") { const i = String(e || "").trim(), o = String(n || "").trim(); if (!i || !o) return ""; - let r = `${lt.CUSTOM_VIEW}?root_id=${encodeURIComponent(o)}&filename=${encodeURIComponent(i)}`; + let r = `${ct.CUSTOM_VIEW}?root_id=${encodeURIComponent(o)}&filename=${encodeURIComponent(i)}`; return t && (r += `&subfolder=${encodeURIComponent(t)}`), r; } -function $p(e) { - return `${lt.BATCH_ZIP_CREATE}/${encodeURIComponent(String(e || ""))}`; +function ny(e) { + return `${ct.BATCH_ZIP_CREATE}/${encodeURIComponent(String(e || ""))}`; } -function ey(e) { - return `${lt.STACKS}/${encodeURIComponent(String(e || ""))}`; +function iy(e) { + return `${ct.STACKS}/${encodeURIComponent(String(e || ""))}`; } -function ty(e) { - return `${ey(e)}/members`; +function oy(e) { + return `${iy(e)}/members`; } -function ny(e, t = "") { - var u, I, p, M, Z; +function ry(e, t = "") { + var u, I, p, S, A; const n = e && typeof e == "object" ? e : {}, i = String(t || "").trim(); if (!i) return ""; - const o = pi((n == null ? void 0 : n.asset_id) ?? (n == null ? void 0 : n.id) ?? null); - let r = `${lt.VIEWER_RESOURCE}?relpath=${encodeURIComponent(i)}`; + const o = fi((n == null ? void 0 : n.asset_id) ?? (n == null ? void 0 : n.id) ?? null); + let r = `${ct.VIEWER_RESOURCE}?relpath=${encodeURIComponent(i)}`; if (o) return `${r}&asset_id=${encodeURIComponent(o)}`; - const l = ba( + const l = pa( String( (n == null ? void 0 : n.filepath) || (n == null ? void 0 : n.path) || (n == null ? void 0 : n.fullpath) || (n == null ? void 0 : n.full_path) || ((u = n == null ? void 0 : n.file_info) == null ? void 0 : u.filepath) || ((I = n == null ? void 0 : n.file_info) == null ? void 0 : I.path) || "" ).trim() @@ -265,14 +265,14 @@ function ny(e, t = "") { const a = String((n == null ? void 0 : n.filename) || (n == null ? void 0 : n.name) || ((p = n == null ? void 0 : n.file_info) == null ? void 0 : p.filename) || "").trim(); if (!a) return ""; r += `&filename=${encodeURIComponent(a)}`; - const c = String((n == null ? void 0 : n.subfolder) || ((M = n == null ? void 0 : n.file_info) == null ? void 0 : M.subfolder) || "").trim(); + const c = String((n == null ? void 0 : n.subfolder) || ((S = n == null ? void 0 : n.file_info) == null ? void 0 : S.subfolder) || "").trim(); c && (r += `&subfolder=${encodeURIComponent(c)}`); - const s = String((n == null ? void 0 : n.type) || ((Z = n == null ? void 0 : n.file_info) == null ? void 0 : Z.type) || "").trim().toLowerCase(); + const s = String((n == null ? void 0 : n.type) || ((A = n == null ? void 0 : n.file_info) == null ? void 0 : A.type) || "").trim().toLowerCase(); s && s !== "custom" && (r += `&type=${encodeURIComponent(s)}`); - const d = String(vi(n) || (n == null ? void 0 : n.root_id) || (n == null ? void 0 : n.custom_root_id) || "").trim(); + const d = String(Mi(n) || (n == null ? void 0 : n.root_id) || (n == null ? void 0 : n.custom_root_id) || "").trim(); return d && (r += `&root_id=${encodeURIComponent(d)}`), r; } -function iy(e = {}) { +function ly(e = {}) { const { scope: t = "output", customRootId: n = null, @@ -281,8 +281,8 @@ function iy(e = {}) { hasWorkflow: r = null, minRating: l = null } = e; - let a = `${lt.DATE_HISTOGRAM}?scope=${encodeURIComponent(t)}&month=${encodeURIComponent(String(i || ""))}`; - return n && (a += `&custom_root_id=${encodeURIComponent(n)}`), Ka(a, { + let a = `${ct.DATE_HISTOGRAM}?scope=${encodeURIComponent(t)}&month=${encodeURIComponent(String(i || ""))}`; + return n && (a += `&custom_root_id=${encodeURIComponent(n)}`), Da(a, { subfolder: e.subfolder ?? null, kind: o, hasWorkflow: r, @@ -298,69 +298,69 @@ function iy(e = {}) { dateExact: e.dateExact ?? null }); } -function Bi(e) { - var u, I, p, M, Z; - const t = e == null ? void 0 : e.mtime, n = (A) => !A || !t ? A : `${A}${A.includes("?") ? "&" : "?"}v=${encodeURIComponent(t)}`, i = ba( +function Ki(e) { + var u, I, p, S, A; + const t = e == null ? void 0 : e.mtime, n = (C) => !C || !t ? C : `${C}${C.includes("?") ? "&" : "?"}v=${encodeURIComponent(t)}`, i = pa( String( (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || (e == null ? void 0 : e.fullpath) || (e == null ? void 0 : e.full_path) || ((u = e == null ? void 0 : e.file_info) == null ? void 0 : u.filepath) || ((I = e == null ? void 0 : e.file_info) == null ? void 0 : I.path) || "" ).trim() ); let o = String( (e == null ? void 0 : e.filename) || (e == null ? void 0 : e.name) || ((p = e == null ? void 0 : e.file_info) == null ? void 0 : p.filename) || "" - ).trim(), r = String((e == null ? void 0 : e.subfolder) || ((M = e == null ? void 0 : e.file_info) == null ? void 0 : M.subfolder) || "").trim(); - const a = ((A) => { - const g = { type: "", subfolder: "", filename: "" }, h = ba(A); - if (!h) return g; - const f = h.toLowerCase().indexOf("/output/"), b = h.toLowerCase().indexOf("/input/"); - let v = -1; - if (f >= 0 ? (g.type = "output", v = f + 8) : b >= 0 && (g.type = "input", v = b + 7), v >= 0) { - const C = h.slice(v), S = C.lastIndexOf("/"); - S >= 0 ? (g.subfolder = C.slice(0, S), g.filename = C.slice(S + 1)) : g.filename = C; + ).trim(), r = String((e == null ? void 0 : e.subfolder) || ((S = e == null ? void 0 : e.file_info) == null ? void 0 : S.subfolder) || "").trim(); + const a = ((C) => { + const g = { type: "", subfolder: "", filename: "" }, Z = pa(C); + if (!Z) return g; + const f = Z.toLowerCase().indexOf("/output/"), b = Z.toLowerCase().indexOf("/input/"); + let L = -1; + if (f >= 0 ? (g.type = "output", L = f + 8) : b >= 0 && (g.type = "input", L = b + 7), L >= 0) { + const h = Z.slice(L), G = h.lastIndexOf("/"); + G >= 0 ? (g.subfolder = h.slice(0, G), g.filename = h.slice(G + 1)) : g.filename = h; } else { - const C = qp(h); - g.filename = C.filename; + const h = _p(Z); + g.filename = h.filename; } return g; })(i); if (!r && o.includes("/")) { - const A = o.lastIndexOf("/"); - A > 0 && (r = o.slice(0, A), o = o.slice(A + 1)); + const C = o.lastIndexOf("/"); + C > 0 && (r = o.slice(0, C), o = o.slice(C + 1)); } if (!o && a.filename && (o = a.filename), !r && a.subfolder && (r = a.subfolder), !o) return ""; - let c = String((e == null ? void 0 : e.type) || ((Z = e == null ? void 0 : e.file_info) == null ? void 0 : Z.type) || "").toLowerCase().trim(); + let c = String((e == null ? void 0 : e.type) || ((A = e == null ? void 0 : e.file_info) == null ? void 0 : A.type) || "").toLowerCase().trim(); c !== "input" && c !== "output" && c !== "custom" && (c = ""), !c && a.type && (c = a.type), !c && i && (i.includes("/input/") ? c = "input" : i.includes("/output/") && (c = "output")), c || (c = "output"); - const s = i.includes("/output/") || i.includes("/input/"), d = Pp(r) || r.startsWith("/"); + const s = i.includes("/output/") || i.includes("/input/"), d = $p(r) || r.startsWith("/"); if (i && c !== "custom" && (d || !s)) - return n(Da(i, { inline: !0 })); + return n(Ea(i, { inline: !0 })); if (c === "custom") { - const A = String(vi(e) || "").trim(); - if (A) return n(sg(o, r, A)); + const C = String(Mi(e) || "").trim(); + if (C) return n(dg(o, r, C)); if (i) return n( - `${lt.CUSTOM_VIEW}?filepath=${encodeURIComponent(i)}&browser_mode=1` + `${ct.CUSTOM_VIEW}?filepath=${encodeURIComponent(i)}&browser_mode=1` ); const g = a.type || "output"; - return n(dl(o, r, g)); + return n(ul(o, r, g)); } - return i.includes("/output/") && (c = "output"), i.includes("/input/") && (c = "input"), n(dl(o, r, c)); + return i.includes("/output/") && (c = "output"), i.includes("/input/") && (c = "input"), n(ul(o, r, c)); } -function Da(e, t = {}) { +function Ea(e, t = {}) { if (!e) return ""; const n = !!(t != null && t.inline); - let i = `${lt.DOWNLOAD}?filepath=${encodeURIComponent(e)}`; + let i = `${ct.DOWNLOAD}?filepath=${encodeURIComponent(e)}`; return n && (i += "&preview=1"), i; } -function oy(e) { - return e ? `${lt.DOWNLOAD_CLEAN}?filepath=${encodeURIComponent(e)}` : ""; +function ay(e) { + return e ? `${ct.DOWNLOAD_CLEAN}?filepath=${encodeURIComponent(e)}` : ""; } -const ry = /* @__PURE__ */ new Set(["POST", "PUT", "DELETE", "PATCH"]), Fd = 2e4, ly = 3e5, ay = 3, cy = 400, sy = "/mjr/am/settings/security/bootstrap-token", dy = "/mjr/am/", vl = /* @__PURE__ */ new Map(); -function dg(e) { +const cy = /* @__PURE__ */ new Set(["POST", "PUT", "DELETE", "PATCH"]), zd = 2e4, sy = 3e5, dy = 3, uy = 400, my = "/mjr/am/settings/security/bootstrap-token", gy = "/mjr/am/", Ll = /* @__PURE__ */ new Map(); +function ug(e) { return new Promise((t) => setTimeout(t, e)); } -function Qr(e) { - return ry.has(String(e || "").trim().toUpperCase()); +function $r(e) { + return cy.has(String(e || "").trim().toUpperCase()); } -function ug(e) { +function mg(e) { var t; try { const n = String(e || "").trim(); @@ -374,13 +374,13 @@ function ug(e) { return ""; } } -function Fc(e) { - return ug(e).startsWith(dy); +function zc(e) { + return mg(e).startsWith(gy); } -function _l(e) { - return ug(e) === sy; +function $l(e) { + return mg(e) === my; } -function uy(e) { +function Iy(e) { try { if (!e) return !1; const t = String(e.name || ""); @@ -391,25 +391,25 @@ function uy(e) { return !1; } } -function Oc(e = {}) { +function Jc(e = {}) { try { const t = Number(e == null ? void 0 : e.timeoutMs); - return Number.isFinite(t) ? Math.max(1e3, Math.min(ly, Math.floor(t))) : Fd; + return Number.isFinite(t) ? Math.max(1e3, Math.min(sy, Math.floor(t))) : zd; } catch { - return Fd; + return zd; } } -function my(e = {}) { +function by(e = {}) { var l, a; const t = (e == null ? void 0 : e.signal) || null; if (typeof AbortController > "u") return { signal: t || void 0, - timeoutMs: Oc(e), + timeoutMs: Jc(e), cleanup: () => { } }; - const n = Oc(e), i = new AbortController(); + const n = Jc(e), i = new AbortController(); let o = null; const r = () => { var c, s; @@ -459,30 +459,30 @@ function my(e = {}) { } }; } -function gy(e, t, n = {}) { +function py(e, t, n = {}) { const i = String(e).trim().toUpperCase(), o = String(t || "").trim(); if (!i || !o) return ""; - const r = Oc(n); + const r = Jc(n); return `${i}:${o}:timeout=${r}`; } -function Iy(e, t) { +function yy(e, t) { const n = String(e || "").trim(); if (!n) return t(); - if (vl.has(n)) - return vl.get(n); + if (Ll.has(n)) + return Ll.get(n); const i = Promise.resolve().then(() => t()).finally(() => { var o; try { - vl.delete(n); + Ll.delete(n); } catch (r) { (o = console.debug) == null || o.call(console, r); } }); - return vl.set(n, i), i; + return Ll.set(n, i), i; } -function by(e, t, n) { +function fy(e, t, n) { var i, o; - if (Qr(t)) + if ($r(t)) try { e instanceof Headers ? e.has("X-Requested-With") || e.set("X-Requested-With", "XMLHttpRequest") : e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"); } catch (r) { @@ -494,7 +494,7 @@ function by(e, t, n) { (o = console.debug) == null || o.call(console, r); } } -function py(e, t) { +function hy(e, t) { var n; if (t) try { @@ -503,11 +503,11 @@ function py(e, t) { (n = console.debug) == null || n.call(console, i); } } -async function yy(e, t, n, i, { ensureWriteAuthToken: o, normalizeWriteAuthFailure: r, fetchAPI: l, options: a, retryCount: c }) { +async function Cy(e, t, n, i, { ensureWriteAuthToken: o, normalizeWriteAuthFailure: r, fetchAPI: l, options: a, retryCount: c }) { var I; const s = e.headers.get("content-type") || ""; if (!s.includes("application/json")) - return !i && Qr(n) && Fc(t) && !_l(t) && Number(e.status || 0) === 401 && await o({ force: !0, allowCookieRefresh: !0 }) ? await l(t, { ...a, _authRetryDone: !0 }, c) : { + return !i && $r(n) && zc(t) && !$l(t) && Number(e.status || 0) === 401 && await o({ force: !0, allowCookieRefresh: !0 }) ? await l(t, { ...a, _authRetryDone: !0 }, c) : { ok: !1, error: `Server returned non-JSON response (${e.status})`, code: "INVALID_RESPONSE", @@ -516,8 +516,8 @@ async function yy(e, t, n, i, { ensureWriteAuthToken: o, normalizeWriteAuthFailu data: null }; let d = await e.json().catch((p) => { - var M; - return (M = console.debug) == null || M.call(console, "[MJR API] JSON parse error:", p), null; + var S; + return (S = console.debug) == null || S.call(console, "[MJR API] JSON parse error:", p), null; }); if (typeof d != "object" || d === null) return { @@ -533,9 +533,9 @@ async function yy(e, t, n, i, { ensureWriteAuthToken: o, normalizeWriteAuthFailu } catch (p) { (I = console.debug) == null || I.call(console, p); } - return !i && Qr(n) && !_l(t) && !(d != null && d.ok) && (String((d == null ? void 0 : d.code) || "").toUpperCase() === "AUTH_REQUIRED" || Number((d == null ? void 0 : d.status) || 0) === 401) && await o({ force: !0, allowCookieRefresh: !0 }) ? await l(t, { ...a, _authRetryDone: !0 }, c) : (Qr(n) && Fc(t) && !_l(t) && (d = r(d)), d); + return !i && $r(n) && !$l(t) && !(d != null && d.ok) && (String((d == null ? void 0 : d.code) || "").toUpperCase() === "AUTH_REQUIRED" || Number((d == null ? void 0 : d.status) || 0) === 401) && await o({ force: !0, allowCookieRefresh: !0 }) ? await l(t, { ...a, _authRetryDone: !0 }, c) : ($r(n) && zc(t) && !$l(t) && (d = r(d)), d); } -function fy({ +function Zy({ readObsEnabled: e = () => !1, readAuthToken: t = () => "", ensureWriteAuthToken: n = async () => "", @@ -543,39 +543,39 @@ function fy({ trackApiCall: o = null } = {}) { async function r(c, s = {}, d = 0) { - var M, Z, A, g, h, f, b; - const u = typeof performance < "u" ? performance.now() : Date.now(), I = my(s); + var S, A, C, g, Z, f, b; + const u = typeof performance < "u" ? performance.now() : Date.now(), I = by(s); let p = null; try { - const v = (s.method || "GET").toUpperCase(), C = !!(s != null && s._authRetryDone), S = typeof Headers < "u" ? new Headers(s.headers || {}) : { ...s.headers }; - by(S, v, !!e()); + const L = (s.method || "GET").toUpperCase(), h = !!(s != null && s._authRetryDone), G = typeof Headers < "u" ? new Headers(s.headers || {}) : { ...s.headers }; + fy(G, L, !!e()); let W = t(); - if (!W && Qr(v) && Fc(c) && !_l(c)) { + if (!W && $r(L) && zc(c) && !$l(c)) { try { await n(); - } catch (G) { - (M = console.debug) == null || M.call(console, G); + } catch (x) { + (S = console.debug) == null || S.call(console, x); } W = t(); } - py(S, W); - const y = { ...s, headers: S, signal: I.signal }; + hy(G, W); + const y = { ...s, headers: G, signal: I.signal }; try { delete y._authRetryDone, delete y.timeoutMs; - } catch (G) { - (Z = console.debug) == null || Z.call(console, G); + } catch (x) { + (A = console.debug) == null || A.call(console, x); } - const k = await fetch(c, y); - return p = await yy(k, c, v, C, { + const X = await fetch(c, y); + return p = await Cy(X, c, L, h, { ensureWriteAuthToken: n, normalizeWriteAuthFailure: i, fetchAPI: r, options: s, retryCount: d }), p; - } catch (v) { + } catch (L) { try { - if (String((v == null ? void 0 : v.name) || "") === "AbortError") + if (String((L == null ? void 0 : L.name) || "") === "AbortError") return s != null && s.signal && s.signal.aborted ? { ok: !1, error: "Aborted", code: "ABORTED", data: null } : { ok: !1, error: `Request timed out after ${I.timeoutMs}ms`, @@ -583,41 +583,41 @@ function fy({ data: null, timeout_ms: I.timeoutMs }; - } catch (C) { - (A = console.debug) == null || A.call(console, C); + } catch (h) { + (C = console.debug) == null || C.call(console, h); } - if (d < ay && uy(v)) { + if (d < dy && Iy(L)) { try { - await dg(cy * (d + 1)); - } catch (C) { - (g = console.debug) == null || g.call(console, C); + await ug(uy * (d + 1)); + } catch (h) { + (g = console.debug) == null || g.call(console, h); } return await r(c, s, d + 1); } return { ok: !1, - error: (v == null ? void 0 : v.message) || String(v || "Network error"), + error: (L == null ? void 0 : L.message) || String(L || "Network error"), code: "NETWORK_ERROR", data: null, retries: d }; } finally { try { - const C = (typeof performance < "u" ? performance.now() : Date.now()) - u; - typeof o == "function" ? o(C, !(p != null && p.ok)) : typeof window < "u" && window.MajoorMetrics && window.MajoorMetrics.trackApiCall(C, !(p != null && p.ok)); - } catch (v) { - (h = console.debug) == null || h.call(console, v); + const h = (typeof performance < "u" ? performance.now() : Date.now()) - u; + typeof o == "function" ? o(h, !(p != null && p.ok)) : typeof window < "u" && window.MajoorMetrics && window.MajoorMetrics.trackApiCall(h, !(p != null && p.ok)); + } catch (L) { + (Z = console.debug) == null || Z.call(console, L); } try { (f = I.cleanup) == null || f.call(I); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } } } async function l(c, s = {}) { - const d = (s == null ? void 0 : s.dedupe) === !1 ? "" : String((s == null ? void 0 : s.dedupeKey) || "").trim() || gy("GET", c, s); - return Iy(d, () => r(c, { ...s, method: "GET" })); + const d = (s == null ? void 0 : s.dedupe) === !1 ? "" : String((s == null ? void 0 : s.dedupeKey) || "").trim() || py("GET", c, s); + return yy(d, () => r(c, { ...s, method: "GET" })); } async function a(c, s, d = {}) { return r(c, { @@ -629,7 +629,7 @@ function fy({ } return { fetchAPI: r, get: l, post: a }; } -function Cr({ ttlMs: e = 0, maxSize: t = 100, now: n = () => Date.now() } = {}) { +function Wr({ ttlMs: e = 0, maxSize: t = 100, now: n = () => Date.now() } = {}) { const i = /* @__PURE__ */ new Map(); function o() { try { @@ -660,8 +660,8 @@ function Cr({ ttlMs: e = 0, maxSize: t = 100, now: n = () => Date.now() } = {}) } function c(u = o(), I = r()) { if (I > 0) - for (const [p, M] of i.entries()) - a(M, u, I) && i.delete(p); + for (const [p, S] of i.entries()) + a(S, u, I) && i.delete(p); } function s() { const u = l(); @@ -678,21 +678,21 @@ function Cr({ ttlMs: e = 0, maxSize: t = 100, now: n = () => Date.now() } = {}) get(u) { const I = o(), p = r(); c(I, p); - const M = i.get(u); - if (M) { - if (a(M, I, p)) { + const S = i.get(u); + if (S) { + if (a(S, I, p)) { i.delete(u); return; } - return M.value; + return S.value; } }, has(u) { return this.get(u) !== void 0; }, set(u, I, p = {}) { - const M = Number(p == null ? void 0 : p.at), Z = Number.isFinite(M) ? M : o(), A = { value: I, at: Z }; - return i.has(u) ? d(u, A) : i.set(u, A), c(o(), r()), s(), I; + const S = Number(p == null ? void 0 : p.at), A = Number.isFinite(S) ? S : o(), C = { value: I, at: A }; + return i.has(u) ? d(u, C) : i.set(u, C), c(o(), r()), s(), I; }, delete(u) { return i.delete(u); @@ -714,12 +714,12 @@ function Cr({ ttlMs: e = 0, maxSize: t = 100, now: n = () => Date.now() } = {}) } }; } -let pa = null, ya = null; -const mg = 50; -function xi(e) { +let ya = null, fa = null; +const gg = 50; +function Li(e) { return !!e && typeof e == "object"; } -function fa(e, t) { +function ha(e, t) { try { if (!e || typeof e != "object" && typeof e != "function") return null; const n = Object.getOwnPropertyDescriptor(e, t); @@ -728,32 +728,32 @@ function fa(e, t) { return null; } } -function ar(e) { - return xi(e) ? typeof e.fetchApi == "function" || typeof e.apiURL == "function" || xi(e.settings) : !1; +function sr(e) { + return Li(e) ? typeof e.fetchApi == "function" || typeof e.apiURL == "function" || Li(e.settings) : !1; } -function $l(e) { - return xi(e) ? xi(e.ui) || xi(e.canvas) || xi(e.graph) || typeof e.loadGraphData == "function" || ar(e.api) : !1; +function ea(e) { + return Li(e) ? Li(e.ui) || Li(e.canvas) || Li(e.graph) || typeof e.loadGraphData == "function" || sr(e.api) : !1; } -function Od(e) { - return $l(e) && (pa = e), pa; +function Jd(e) { + return ea(e) && (ya = e), ya; } -function hy(e) { - return ar(e) && (ya = e), ya; +function Ay(e) { + return sr(e) && (fa = e), fa; } -function ha(e) { +function Ca(e) { var i, o, r, l, a; - if (ar(ya)) return ya; - const t = xi(e) ? e : Qn(), n = (t == null ? void 0 : t.api) || ((i = t == null ? void 0 : t.ui) == null ? void 0 : i.api) || ((r = (o = t == null ? void 0 : t.ui) == null ? void 0 : o.app) == null ? void 0 : r.api) || null; - if (ar(n)) return n; + if (sr(fa)) return fa; + const t = Li(e) ? e : Qn(), n = (t == null ? void 0 : t.api) || ((i = t == null ? void 0 : t.ui) == null ? void 0 : i.api) || ((r = (o = t == null ? void 0 : t.ui) == null ? void 0 : o.app) == null ? void 0 : r.api) || null; + if (sr(n)) return n; try { - const c = typeof window < "u" ? fa(window, "api") : null; - if (ar(c)) return c; + const c = typeof window < "u" ? ha(window, "api") : null; + if (sr(c)) return c; } catch (c) { (l = console.debug) == null || l.call(console, c); } try { - const c = typeof globalThis < "u" ? fa(globalThis, "api") : null; - if (ar(c)) return c; + const c = typeof globalThis < "u" ? ha(globalThis, "api") : null; + if (sr(c)) return c; } catch (c) { (a = console.debug) == null || a.call(console, c); } @@ -761,28 +761,28 @@ function ha(e) { } function Qn() { var e, t; - if ($l(pa)) return pa; + if (ea(ya)) return ya; try { - const n = typeof globalThis < "u" ? fa(globalThis, "app") : null; - if ($l(n)) return n; + const n = typeof globalThis < "u" ? ha(globalThis, "app") : null; + if (ea(n)) return n; } catch (n) { (e = console.debug) == null || e.call(console, n); } try { - const n = typeof window < "u" ? fa(window, "app") : null; - if ($l(n)) return n; + const n = typeof window < "u" ? ha(window, "app") : null; + if (ea(n)) return n; } catch (n) { (t = console.debug) == null || t.call(console, n); } return null; } -function Cy(e) { +function Wy(e) { var n, i, o, r; - const t = xi(e) ? e : Qn(); + const t = Li(e) ? e : Qn(); return !t || typeof t != "object" ? null : ((n = t == null ? void 0 : t.ui) == null ? void 0 : n.settings) || (t == null ? void 0 : t.settings) || ((o = (i = t == null ? void 0 : t.ui) == null ? void 0 : i.api) == null ? void 0 : o.settings) || ((r = t == null ? void 0 : t.api) == null ? void 0 : r.settings) || null; } -function Zy(e, t) { - const n = Cy(e); +function wy(e, t) { + const n = Wy(e); if (!n || typeof (n == null ? void 0 : n.getSettingValue) != "function") return null; try { return n.getSettingValue(t); @@ -790,25 +790,25 @@ function Zy(e, t) { return null; } } -function Ea(e) { +function Ha(e) { var n; - const t = xi(e) ? e : Qn(); + const t = Li(e) ? e : Qn(); return (t == null ? void 0 : t.extensionManager) || ((n = t == null ? void 0 : t.ui) == null ? void 0 : n.extensionManager) || null; } -function gg(e) { - return xi(e) && ((e == null ? void 0 : e.sidebarTab) || (e == null ? void 0 : e.sidebarTabStore)) || null; +function Ig(e) { + return Li(e) && ((e == null ? void 0 : e.sidebarTab) || (e == null ? void 0 : e.sidebarTabStore)) || null; } -function Ay(e) { - const t = Ea(e), n = (t == null ? void 0 : t.toast) || null; +function My(e) { + const t = Ha(e), n = (t == null ? void 0 : t.toast) || null; return n && typeof n.add == "function" ? n : null; } -function Wy(e) { - const t = Ea(e), n = (t == null ? void 0 : t.dialog) || null; +function Sy(e) { + const t = Ha(e), n = (t == null ? void 0 : t.dialog) || null; return n && (typeof n.confirm == "function" || typeof n.prompt == "function") ? n : null; } -function wy(e, t) { +function Gy(e, t) { var a, c, s, d; - const n = xi(e) ? e : Qn(), i = Ea(n), o = gg(i), r = String(t).trim(); + const n = Li(e) ? e : Qn(), i = Ha(n), o = Ig(i), r = String(t).trim(); if (!i || !r) return !1; const l = [ "activateSidebarTab", @@ -837,9 +837,9 @@ function wy(e, t) { } return !1; } -function My(e, t) { +function xy(e, t) { var r; - const n = Ea(e), i = t && typeof t == "object" ? { ...t } : null; + const n = Ha(e), i = t && typeof t == "object" ? { ...t } : null; if (!n || !i) return !1; const o = ["registerCommand", "addCommand"]; for (const l of o) @@ -851,10 +851,10 @@ function My(e, t) { } return !1; } -function Sy(e, t) { +function jy(e, t) { var n, i; try { - const o = xi(e) ? e : Qn(), r = (o == null ? void 0 : o.extensionManager) || ((n = o == null ? void 0 : o.ui) == null ? void 0 : n.extensionManager) || null, l = gg(r); + const o = Li(e) ? e : Qn(), r = (o == null ? void 0 : o.extensionManager) || ((n = o == null ? void 0 : o.ui) == null ? void 0 : n.extensionManager) || null, l = Ig(r); for (const a of [r, l]) if (a && typeof a.registerSidebarTab == "function") return a.registerSidebarTab(t), !0; @@ -863,10 +863,10 @@ function Sy(e, t) { } return !1; } -function Ig(e) { +function bg(e) { return new Promise((t) => setTimeout(t, Math.max(0, Number(e) || 0))); } -function bg(e, t) { +function pg(e, t) { var n; try { console.warn(`[Majoor] ${e} timed out after ${Math.max(0, Number(t) || 0)}ms`); @@ -874,9 +874,9 @@ function bg(e, t) { (n = console.debug) == null || n.call(console, i); } } -async function Gy({ +async function vy({ timeoutMs: e = 4e3, - intervalMs: t = mg, + intervalMs: t = gg, warnOnTimeout: n = !0, rejectOnTimeout: i = !1 } = {}) { @@ -884,36 +884,36 @@ async function Gy({ for (; Date.now() - o < r; ) { const a = Qn(); if (a && typeof a == "object") return a; - await Ig(t); + await bg(t); } const l = Qn(); if (l && typeof l == "object") return l; - if (n && bg("waitForComfyApp", r), i) + if (n && pg("waitForComfyApp", r), i) throw new Error(`waitForComfyApp timeout after ${r}ms`); return null; } -async function pg({ +async function yg({ app: e = null, timeoutMs: t = 4e3, - intervalMs: n = mg, + intervalMs: n = gg, warnOnTimeout: i = !0, rejectOnTimeout: o = !1 } = {}) { const r = Date.now(), l = Math.max(0, Number(t) || 0); for (; Date.now() - r < l; ) { - const c = e || Qn(), s = ha(c); + const c = e || Qn(), s = Ca(c); if (s) return s; - await Ig(n); + await bg(n); } - const a = ha(e || Qn()); + const a = Ca(e || Qn()); if (a) return a; - if (i && bg("waitForComfyApi", l), o) + if (i && pg("waitForComfyApi", l), o) throw new Error(`waitForComfyApi timeout after ${l}ms`); return null; } -const or = /* @__PURE__ */ new Map(); -let Ca = !1, _r = null; -function lc() { +const lr = /* @__PURE__ */ new Map(); +let Za = !1, el = null; +function ac() { try { if (typeof window > "u") return null; const e = window.localStorage; @@ -922,9 +922,9 @@ function lc() { return null; } } -function zc(e, t, n) { +function Tc(e, t, n) { var o; - const i = or.get(String(e || "")); + const i = lr.get(String(e || "")); if (!(!i || !i.size)) for (const r of Array.from(i)) try { @@ -933,21 +933,21 @@ function zc(e, t, n) { (o = console.debug) == null || o.call(console, l); } } -function xy() { +function Ly() { var e; - if (!Ca) + if (!Za) try { - _r = (t) => { + el = (t) => { const n = String((t == null ? void 0 : t.key) || ""); - n && zc(n, (t == null ? void 0 : t.newValue) ?? null, (t == null ? void 0 : t.oldValue) ?? null); - }, window.addEventListener("storage", _r), Ca = !0; + n && Tc(n, (t == null ? void 0 : t.newValue) ?? null, (t == null ? void 0 : t.oldValue) ?? null); + }, window.addEventListener("storage", el), Za = !0; } catch (t) { (e = console.debug) == null || e.call(console, t); } } const ni = { get(e) { - const t = lc(); + const t = ac(); if (!t) return null; try { return t.getItem(String(e || "")); @@ -958,14 +958,14 @@ const ni = { set(e, t) { const n = String(e || ""); if (!n) return !1; - const i = lc(); + const i = ac(); if (!i) return !1; const o = ni.get(n); try { if (t == null) - return i.removeItem(n), zc(n, null, o), !0; + return i.removeItem(n), Tc(n, null, o), !0; const r = String(t); - return i.setItem(n, r), zc(n, r, o), !0; + return i.setItem(n, r), Tc(n, r, o), !0; } catch { return !1; } @@ -974,13 +974,13 @@ const ni = { const n = String(e || ""); if (!n || typeof t != "function") return () => { }; - xy(); - let i = or.get(n); - return i || (i = /* @__PURE__ */ new Set(), or.set(n, i)), i.add(t), () => { + Ly(); + let i = lr.get(n); + return i || (i = /* @__PURE__ */ new Set(), lr.set(n, i)), i.add(t), () => { var o; try { - const r = or.get(n); - r == null || r.delete(t), r && !r.size && or.delete(n); + const r = lr.get(n); + r == null || r.delete(t), r && !r.size && lr.delete(n); } catch (r) { (o = console.debug) == null || o.call(console, r); } @@ -988,7 +988,7 @@ const ni = { }, getAll() { var n; - const e = {}, t = lc(); + const e = {}, t = ac(); if (!t) return e; try { const i = Number(t.length || 0) || 0; @@ -1004,17 +1004,17 @@ const ni = { dispose() { var e; try { - Ca && _r && typeof window < "u" && window.removeEventListener("storage", _r); + Za && el && typeof window < "u" && window.removeEventListener("storage", el); } catch (t) { (e = console.debug) == null || e.call(console, t); } - Ca = !1, _r = null, or.clear(); + Za = !1, el = null, lr.clear(); } -}, Ni = "en-US"; -let Ui = Ni; -const zd = /* @__PURE__ */ new Set(), Jc = ["mjr_lang", "majoor.lang"], yg = "mjr_lang_follow_comfy", Jd = 500, kr = /* @__PURE__ */ new Set(); -let Xr = null; -const jy = /* @__PURE__ */ new Set(["ar-SA", "fa-IR", "he-IL"]), Td = { +}, Ri = "en-US"; +let Ei = Ri; +const Td = /* @__PURE__ */ new Set(), Bc = ["mjr_lang", "majoor.lang"], fg = "mjr_lang_follow_comfy", Bd = 500, Nr = /* @__PURE__ */ new Set(); +let Rr = null; +const Vy = /* @__PURE__ */ new Set(["ar-SA", "fa-IR", "he-IL"]), Ud = { // French fr: "fr-FR", "fr-fr": "fr-FR", @@ -1345,6 +1345,7 @@ Manager`, "tags.title": "Tags: {tags}", "tags.label": "Tags", "tags.addLabel": "Add tag", + "tags.remove": "Remove tag", "tags.suggestions": "Tag suggestions", "label.messages": "Messages", "label.readMe": "Read Me", @@ -1580,6 +1581,12 @@ Watcher pending files: {pending}`, "msg.shortcuts.section.mfv": "Floating Viewer", "msg.shortcuts.section.video": "Video Playback", "msg.category.release": "Release", + "msg.whatsNew.title.version246": "New Version 2.4.6", + "msg.whatsNew.body.version246": "Version 2.4.6 released: Various bug fixes and performance & fluidity improvements. Improved concatenate support for default and custom nodes (by Forsion07). Added support helpers for Api Node and Ernie Image. Live Stream in Floating Viewer is now disabled by default. See CHANGELOG for details.", + "label.changelog": "Changelog", + "label.settingsGuide": "Settings Guide", + "msg.tip.title.mfvLivePreviewDefaults": "Tip β€” Floating Viewer Auto-Open", + "msg.tip.body.mfvLivePreviewDefaults": "Live Stream (green button in the viewer) and KSampler Preview can be activated by default via Settings β†’ Majoor Assets Manager β€Ί Viewer. When Live Stream is on, clicking a Load Image node or when a generation ends will automatically open the Floating Viewer and display the result. KSampler Preview streams the denoising steps live. Both toggles can be set as the default state so the viewer is always ready.", "msg.whatsNew.title.version243": "New Version 2.4.3", "msg.whatsNew.body.version243": "Version 2.4.3 released: Improved assets metadata parsing, Grid Compare capability in floating viewer up to 4 Assets, ping pong loop in main Viewer player, job id and stack id in DB for better assets management, stack assets generated from same workflow job with same job ID, generated feed feature, lite version of grid in bottom tab. Code refactor for maintainability and various bug fixes. See CHANGELOG for details.", "msg.whatsNew.title.version241": "New Version 2.4.1", @@ -2073,6 +2080,7 @@ Continuer ?`, "tags.title": "Tags : {tags}", "tags.label": "Tags", "tags.addLabel": "Ajouter un tag", + "tags.remove": "Supprimer le tag", "tags.suggestions": "Suggestions de tags", "label.thisFile": "ce fichier", "label.messages": "Messages", @@ -2097,6 +2105,12 @@ Continuer ?`, "msg.shortcuts.section.mfv": "Floating Viewer", "msg.shortcuts.section.video": "Lecture video", "msg.category.release": "Version", + "msg.whatsNew.title.version246": "Nouvelle Version 2.4.6", + "msg.whatsNew.body.version246": "Version 2.4.6 publiee : divers correctifs de bugs et ameliorations de performances et fluidite. Support concatenate ameliore pour les nodes par defaut et custom (par Forsion07). Ajout des helpers pour Api Node et Ernie Image. Le Live Stream du Floating Viewer est desormais desactive par defaut. Voir CHANGELOG pour details.", + "label.changelog": "Changelog", + "label.settingsGuide": "Guide des paramΓ¨tres", + "msg.tip.title.mfvLivePreviewDefaults": "Conseil β€” Ouverture automatique du Viewer", + "msg.tip.body.mfvLivePreviewDefaults": "Le Live Stream (bouton vert dans le viewer) et la prΓ©visualisation KSampler peuvent Γͺtre activΓ©s par dΓ©faut via ParamΓ¨tres β†’ Majoor Assets Manager β€Ί Viewer. Lorsque le Live Stream est actif, cliquer sur un node Load Image ou la fin d'une gΓ©nΓ©ration ouvrira automatiquement le Floating Viewer et affichera le rΓ©sultat. La prΓ©visualisation KSampler diffuse les Γ©tapes de dΓ©bruitage en direct. Les deux options peuvent Γͺtre dΓ©finies comme Γ©tat par dΓ©faut pour que le viewer soit toujours prΓͺt.", "msg.whatsNew.title.version243": "Nouvelle Version 2.4.3", "msg.whatsNew.body.version243": "Version 2.4.3 publiee : analyse des metadonnees des assets amelioree, capacite Grid Compare dans le floating viewer jusqu'a 4 Assets, boucle ping pong dans le Viewer principal, job id et stack id dans la BDD pour une meilleure gestion des assets, empilement des assets generes depuis le meme workflow avec le meme job ID, fonctionnalite de feed genere, version legere de la grille dans l'onglet bottom. Refactorisation du code pour la maintenabilite et divers correctifs de bugs. Voir CHANGELOG pour details.", "msg.whatsNew.title.version241": "Nouvelle Version 2.4.1", @@ -2124,7 +2138,7 @@ Pour eviter les erreurs de base de donnees avec cette version, supprimez votre i "msg.nightlyUpdateDetail": "Une build nightly plus recente est disponible : https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/releases/tag/nightly", "tooltip.starGithub": "Ouvrir GitHub et mettre une etoile" } -}, vy = Object.freeze({ +}, Yy = Object.freeze({ "en-US": "English", "fr-FR": "FranΓ§ais", "zh-CN": "Chinese (Simplified)", @@ -2176,35 +2190,35 @@ Pour eviter les erreurs de base de donnees avec cette version, supprimez votre i ].forEach((e) => { En[e] || (En[e] = {}); }); -let Za = !1, ac = null; -function Ly(e) { - Za || (Za = !0, Object.entries(e || {}).forEach(([t, n]) => { +let Aa = !1, cc = null; +function ky(e) { + Aa || (Aa = !0, Object.entries(e || {}).forEach(([t, n]) => { En[t] = { ...En[t] || {}, ...n || {} }; - }), ks()); + }), Ns()); } -function ks() { +function Ns() { const e = En["en-US"] || {}; Object.keys(En).forEach((t) => { t !== "en-US" && (En[t] = { ...e, ...En[t] || {} }); }); } -function Yy() { - return Za ? Promise.resolve() : (ac || (ac = import("./i18n.generated-CpvCqt87.js").then(({ GENERATED_TRANSLATIONS: e }) => { - Ly(e); +function Xy() { + return Aa ? Promise.resolve() : (cc || (cc = import("./i18n.generated-CpvCqt87.js").then(({ GENERATED_TRANSLATIONS: e }) => { + ky(e); }).catch((e) => { - console.warn("[Majoor i18n] Failed to load generated translations:", e), ks(); - })), ac); + console.warn("[Majoor i18n] Failed to load generated translations:", e), Ns(); + })), cc); } -ks(); -function ea(e) { - if (!e) return Ni; +Ns(); +function ta(e) { + if (!e) return Ri; const t = String(e || "").trim(), n = t.toLowerCase(); - return Td[n] ? Td[n] : En[t] ? t : Ni; + return Ud[n] ? Ud[n] : En[t] ? t : Ri; } -function Vy() { +function Ny() { var e; try { - for (const t of Jc) { + for (const t of Bc) { const n = String(ni.get(t) || "").trim(); if (n) return n; } @@ -2213,33 +2227,33 @@ function Vy() { } return ""; } -function ky(e) { +function Ry(e) { var t; try { - ni.set(Jc[0], e), ni.set(Jc[1], e); + ni.set(Bc[0], e), ni.set(Bc[1], e); } catch (n) { (t = console.debug) == null || t.call(console, n); } } -function fg() { +function hg() { var e; try { - const t = String(ni.get(yg) || "").trim().toLowerCase(); + const t = String(ni.get(fg) || "").trim().toLowerCase(); return t ? !["0", "false", "no", "off"].includes(t) : !0; } catch (t) { (e = console.debug) == null || e.call(console, t); } return !0; } -function Xy(e) { +function Fy(e) { var t; try { - ni.set(yg, e ? "1" : "0"); + ni.set(fg, e ? "1" : "0"); } catch (n) { (t = console.debug) == null || t.call(console, n); } } -function hg(e) { +function Cg(e) { var o, r, l; const t = [], n = (a) => { if (typeof a != "string") return; @@ -2253,10 +2267,10 @@ function hg(e) { "ComfyUI.Frontend.Locale" ]; for (const a of i) - n(Zy(e, a)); + n(wy(e, a)); return n((o = e == null ? void 0 : e.ui) == null ? void 0 : o.locale), n(e == null ? void 0 : e.locale), n((l = (r = e == null ? void 0 : e.ui) == null ? void 0 : r.i18n) == null ? void 0 : l.locale), t; } -function Ny() { +function Oy() { var n, i, o; const e = [], t = (r) => { if (typeof r != "string") return; @@ -2279,58 +2293,58 @@ function Ny() { } return e; } -function Ry() { +function zy() { var e; try { if (typeof document < "u" && document.documentElement) { - const t = jy.has(Ui); + const t = Vy.has(Ei); document.documentElement.dir = t ? "rtl" : "ltr"; } } catch (t) { (e = console.debug) == null || e.call(console, t); } } -const Cg = (e) => { +const Zg = (e) => { try { - const t = fg(), n = Vy(), i = ea(n), o = () => { - const l = hg(e); + const t = hg(), n = Ny(), i = ta(n), o = () => { + const l = Cg(e); for (const a of l) { - const c = ea(a); + const c = ta(a); if (En[c]) - return qi(c), !0; + return _i(c), !0; } return !1; }; if (t) { if (o()) return; if (n && En[i]) { - qi(i); + _i(i); return; } - if (En[Ui]) return; - qi(Ni); + if (En[Ei]) return; + _i(Ri); return; } if (n && En[i]) { - qi(i); + _i(i); return; } if (o()) return; - const r = Ny(); + const r = Oy(); for (const l of r) { - const a = ea(l); + const a = ta(l); if (En[a]) { - qi(a); + _i(a); return; } } - qi(Ni); + _i(Ri); } catch (t) { - console.warn("[Majoor i18n] Failed to detect language:", t), qi(Ni); + console.warn("[Majoor i18n] Failed to detect language:", t), _i(Ri); } -}, qi = (e) => { - En[e] || (console.warn(`[Majoor i18n] Unknown language: ${e}, falling back to ${Ni}`), e = Ni), Ui !== e && (Ui = e, ky(e), Ry(), e !== Ni && !Za && Yy().then(() => { - Array.from(zd).forEach((t) => { +}, _i = (e) => { + En[e] || (console.warn(`[Majoor i18n] Unknown language: ${e}, falling back to ${Ri}`), e = Ri), Ei !== e && (Ei = e, Ry(e), zy(), e !== Ri && !Aa && Xy().then(() => { + Array.from(Td).forEach((t) => { var n; try { t(e); @@ -2338,7 +2352,7 @@ const Cg = (e) => { (n = console.debug) == null || n.call(console, i); } }); - }), Array.from(zd).forEach((t) => { + }), Array.from(Td).forEach((t) => { var n; try { t(e); @@ -2346,24 +2360,24 @@ const Cg = (e) => { (n = console.debug) == null || n.call(console, i); } })); -}, Aa = (e) => { - Xy(!!e); -}, Fy = (e) => { +}, Wa = (e) => { + Fy(!!e); +}, Jy = (e) => { var t, n; try { - Xr && (clearInterval(Xr), Xr = null), typeof window < "u" && window.__MJR_COMFY_LANG_SYNC_TIMER__ && (clearInterval(window.__MJR_COMFY_LANG_SYNC_TIMER__), window.__MJR_COMFY_LANG_SYNC_TIMER__ = null); + Rr && (clearInterval(Rr), Rr = null), typeof window < "u" && window.__MJR_COMFY_LANG_SYNC_TIMER__ && (clearInterval(window.__MJR_COMFY_LANG_SYNC_TIMER__), window.__MJR_COMFY_LANG_SYNC_TIMER__ = null); } catch (i) { (t = console.debug) == null || t.call(console, i); } - Xr = setInterval(() => { + Rr = setInterval(() => { var i; try { - if (!fg()) return; - const o = hg(e); + if (!hg()) return; + const o = Cg(e); for (const r of o) { - const l = ea(r); - if (En[l] && l !== Ui) { - qi(l); + const l = ta(r); + if (En[l] && l !== Ei) { + _i(l); return; } } @@ -2372,31 +2386,31 @@ const Cg = (e) => { } }, 2e3); try { - typeof window < "u" && (window.__MJR_COMFY_LANG_SYNC_TIMER__ = Xr); + typeof window < "u" && (window.__MJR_COMFY_LANG_SYNC_TIMER__ = Rr); } catch (i) { (n = console.debug) == null || n.call(console, i); } -}, Oy = () => Ui, zy = () => Object.keys(En).map((e) => ({ +}, Ty = () => Ei, By = () => Object.keys(En).map((e) => ({ code: e, - name: vy[e] || e + name: Yy[e] || e })), m = (e, t, n) => { var a, c; - const i = En[Ui] || En[Ni], o = En[Ni]; + const i = En[Ei] || En[Ri], o = En[Ri]; let r = i[e] || o[e]; if (!r) { - const s = `${Ui}:${String(e || "")}`; - if (!kr.has(s)) { - if (kr.size >= Jd) { - const d = Math.floor(Jd * 0.2), u = kr.values(); + const s = `${Ei}:${String(e || "")}`; + if (!Nr.has(s)) { + if (Nr.size >= Bd) { + const d = Math.floor(Bd * 0.2), u = Nr.values(); for (let I = 0; I < d; I++) { const p = u.next().value; - p && kr.delete(p); + p && Nr.delete(p); } } - kr.add(s); + Nr.add(s); try { console.warn( - `[Majoor i18n] Missing translation key "${e}" for locale "${Ui}"` + `[Majoor i18n] Missing translation key "${e}" for locale "${Ei}"` ); } catch (d) { (a = console.debug) == null || a.call(console, d); @@ -2404,7 +2418,7 @@ const Cg = (e) => { try { typeof window < "u" && typeof window.dispatchEvent == "function" && window.dispatchEvent( new CustomEvent("mjr-i18n-missing-key", { - detail: { key: String(e || ""), locale: Ui } + detail: { key: String(e || ""), locale: Ei } }) ); } catch (d) { @@ -2417,22 +2431,22 @@ const Cg = (e) => { return l && typeof l == "object" && Object.entries(l).forEach(([s, d]) => { r = r.replaceAll(`{${s}}`, String(d)); }), r; -}, Zg = "mjr_toast_history_v1", Ag = "mjr_toast_history_last_read_v1", Bd = 60, Wg = "mjr:toast-history-changed"; -let gi = null; -function oi(e) { +}, Ag = "mjr_toast_history_v1", Wg = "mjr_toast_history_last_read_v1", Kd = 60, wg = "mjr:toast-history-changed"; +let bi = null; +function ri(e) { return String(e || "").trim(); } -function Jy(e) { - const t = oi(e).toLowerCase(); +function Uy(e) { + const t = ri(e).toLowerCase(); return t === "warn" ? "warning" : t === "danger" ? "error" : t || "info"; } -function Ty(e) { +function Ky(e) { const t = Number(e); return Number.isFinite(t) ? t : null; } -function By(e) { +function Dy(e) { if (!e || typeof e != "object") return null; - const t = Number(e.percent), n = Number.isFinite(t) ? Math.max(0, Math.min(100, Math.round(t))) : null, i = Number(e.current), o = Number(e.total), r = Number.isFinite(i) ? Math.max(0, Math.floor(i)) : null, l = Number.isFinite(o) ? Math.max(0, Math.floor(o)) : null, a = Number(e.indexed), c = Number(e.skipped), s = Number(e.errors), d = Number.isFinite(a) ? Math.max(0, Math.floor(a)) : null, u = Number.isFinite(c) ? Math.max(0, Math.floor(c)) : null, I = Number.isFinite(s) ? Math.max(0, Math.floor(s)) : null, p = oi(e.label); + const t = Number(e.percent), n = Number.isFinite(t) ? Math.max(0, Math.min(100, Math.round(t))) : null, i = Number(e.current), o = Number(e.total), r = Number.isFinite(i) ? Math.max(0, Math.floor(i)) : null, l = Number.isFinite(o) ? Math.max(0, Math.floor(o)) : null, a = Number(e.indexed), c = Number(e.skipped), s = Number(e.errors), d = Number.isFinite(a) ? Math.max(0, Math.floor(a)) : null, u = Number.isFinite(c) ? Math.max(0, Math.floor(c)) : null, I = Number.isFinite(s) ? Math.max(0, Math.floor(s)) : null, p = ri(e.label); return n === null && r === null && l === null && d === null && u === null && I === null && !p ? null : { percent: n, current: r, @@ -2443,77 +2457,77 @@ function By(e) { label: p }; } -function Uy(e, t, n) { +function Ey(e, t, n) { return e && t ? `${e}: ${t}` : t || e || n || ""; } -function Wa(e, t = "info", n = null) { +function wa(e, t = "info", n = null) { if (!e || typeof e != "object") return null; - const i = oi(e.title || e.summary), o = oi(e.detail), r = oi( - e.message || Uy(i, o, oi(e.fallbackMessage)) + const i = ri(e.title || e.summary), o = ri(e.detail), r = ri( + e.message || Ey(i, o, ri(e.fallbackMessage)) ); if (!r) return null; - const l = Ty(e.durationMs ?? e.duration ?? n), a = Number(e.createdAt), c = Number.isFinite(a) && a > 0 ? a : Date.now(), s = typeof e.persistent == "boolean" ? e.persistent : !(Number.isFinite(l) && l > 0); + const l = Ky(e.durationMs ?? e.duration ?? n), a = Number(e.createdAt), c = Number.isFinite(a) && a > 0 ? a : Date.now(), s = typeof e.persistent == "boolean" ? e.persistent : !(Number.isFinite(l) && l > 0); return { - id: oi(e.id) || Ys(`th-${c}-`, 4), + id: ri(e.id) || ks(`th-${c}-`, 4), message: r, title: i, detail: o, - type: Jy(e.type || t), + type: Uy(e.type || t), createdAt: c, durationMs: l, persistent: s, - source: oi(e.source), - trackId: oi(e.trackId), - status: oi(e.status), - operation: oi(e.operation), - progress: By(e.progress), + source: ri(e.source), + trackId: ri(e.trackId), + status: ri(e.status), + operation: ri(e.operation), + progress: Dy(e.progress), forceStore: !!e.forceStore, - actionLabel: oi(e.actionLabel), - actionUrl: oi(e.actionUrl) + actionLabel: ri(e.actionLabel), + actionUrl: ri(e.actionUrl) }; } -function Ha() { - if (gi === null) +function qa() { + if (bi === null) try { - const e = localStorage.getItem(Zg), t = e ? JSON.parse(e) : []; - gi = Array.isArray(t) ? t.map((n) => { - if (n && typeof n == "object") return Wa(n); - const i = oi(n); - return i ? Wa({ message: i }) : null; + const e = localStorage.getItem(Ag), t = e ? JSON.parse(e) : []; + bi = Array.isArray(t) ? t.map((n) => { + if (n && typeof n == "object") return wa(n); + const i = ri(n); + return i ? wa({ message: i }) : null; }).filter(Boolean) : []; } catch { - gi = []; + bi = []; } } -function wg() { +function Mg() { try { - localStorage.setItem(Zg, JSON.stringify(gi)); + localStorage.setItem(Ag, JSON.stringify(bi)); } catch { } } -function Xs() { +function Rs() { try { - window.dispatchEvent(new CustomEvent(Wg)); + window.dispatchEvent(new CustomEvent(wg)); } catch { } } -function Ky() { +function Hy() { try { - return Number(localStorage.getItem(Ag)) || 0; + return Number(localStorage.getItem(Wg)) || 0; } catch { return 0; } } -function Mg(e) { +function Sg(e) { try { - localStorage.setItem(Ag, String(Number(e) || 0)); + localStorage.setItem(Wg, String(Number(e) || 0)); } catch { } } -function Sg(e, t, n) { - Ha(); - const i = Wa(e && typeof e == "object" ? e : { - message: oi(e), +function Gg(e, t, n) { + qa(); + const i = wa(e && typeof e == "object" ? e : { + message: ri(e), type: t, durationMs: n }, t, n); @@ -2521,35 +2535,35 @@ function Sg(e, t, n) { return; const o = String(i.trackId || "").trim(); if (o) { - const r = gi.findIndex( + const r = bi.findIndex( (l) => String((l == null ? void 0 : l.trackId) || "").trim() === o ); if (r >= 0) { - const l = gi[r] || {}; - gi.splice(r, 1), i.id = String(l.id || i.id || "").trim() || i.id; + const l = bi[r] || {}; + bi.splice(r, 1), i.id = String(l.id || i.id || "").trim() || i.id; } } - gi.unshift(i), gi.length > Bd && (gi = gi.slice(0, Bd)), wg(), Xs(); -} -function Dy() { - return Ha(), gi.map((e) => ({ ...e })); -} -function Ey() { - Ha(); - const e = Ky(); - return gi.filter((t) => t.createdAt > e).length; -} -function Hy() { - Mg(Date.now()), Xs(); + bi.unshift(i), bi.length > Kd && (bi = bi.slice(0, Kd)), Mg(), Rs(); } function qy() { - Ha(), gi = [], wg(), Mg(Date.now()), Xs(); + return qa(), bi.map((e) => ({ ...e })); } -function Py(e) { +function Py() { + qa(); + const e = Hy(); + return bi.filter((t) => t.createdAt > e).length; +} +function Qy() { + Sg(Date.now()), Rs(); +} +function _y() { + qa(), bi = [], Mg(), Sg(Date.now()), Rs(); +} +function $y(e) { const t = String(e || "info").trim().toLowerCase(); return t === "warn" ? "warning" : t === "danger" ? "error" : t === "success" || t === "warning" || t === "error" ? t : "info"; } -function Tc(e) { +function Uc(e) { if (typeof e == "string") return e; if (e && typeof e == "object") { const t = String(e.summary || "").trim(), n = String(e.detail || e.message || "").trim(); @@ -2563,7 +2577,7 @@ function Tc(e) { return "Unknown message"; } } -function Gg(e, t, n, i) { +function xg(e, t, n, i) { const o = i != null && i.history && typeof i.history == "object" ? i.history : null, r = { type: t, durationMs: Number.isFinite(Number(n)) ? Number(n) : null, @@ -2577,16 +2591,16 @@ function Gg(e, t, n, i) { actionLabel: String((o == null ? void 0 : o.actionLabel) || "").trim(), actionUrl: String((o == null ? void 0 : o.actionUrl) || "").trim() }; - return e && typeof e == "object" ? (r.title = String((o == null ? void 0 : o.title) || e.summary || "").trim(), r.detail = String((o == null ? void 0 : o.detail) || e.detail || e.message || "").trim(), r.message = Tc(e), r) : (r.title = String((o == null ? void 0 : o.title) || "").trim(), r.detail = String((o == null ? void 0 : o.detail) || "").trim(), r.message = Tc(e), r); + return e && typeof e == "object" ? (r.title = String((o == null ? void 0 : o.title) || e.summary || "").trim(), r.detail = String((o == null ? void 0 : o.detail) || e.detail || e.message || "").trim(), r.message = Uc(e), r) : (r.title = String((o == null ? void 0 : o.title) || "").trim(), r.detail = String((o == null ? void 0 : o.detail) || "").trim(), r.message = Uc(e), r); } -function $r(e, t = "info", n, i) { +function tl(e, t = "info", n, i) { try { - const o = Gg(e, t, n, i); - o.forceStore = !0, Sg(o, t, n); + const o = xg(e, t, n, i); + o.forceStore = !0, Gg(o, t, n); } catch { } } -function Qy(e) { +function ef(e) { switch (e) { case "success": return 2e3; @@ -2600,7 +2614,7 @@ function Qy(e) { return 5e3; } } -function _y(e) { +function tf(e) { if (typeof e != "string") return e; const t = e.trim(), n = { // Rating & Tags @@ -2832,16 +2846,16 @@ function _y(e) { } return t; } -function Ce(e, t = "info", n, i) { +function Ze(e, t = "info", n, i) { var l, a; - if (t = Py(t), e = _y(e), n == null && (n = Qy(t)), !(i != null && i.noHistory)) + if (t = $y(t), e = tf(e), n == null && (n = ef(t)), !(i != null && i.noHistory)) try { - Sg(Gg(e, t, n, i), t, n); + Gg(xg(e, t, n, i), t, n); } catch { } const o = !(Number.isFinite(Number(n)) && Number(n) > 0), r = Qn(); try { - const c = Ay(r); + const c = My(r); if (c && typeof c.add == "function") { let s = t; s === "warning" && (s = "warn"); @@ -2869,63 +2883,63 @@ function Ce(e, t = "info", n, i) { } console.warn("[Majoor Toast] Native toast API unavailable", { type: t, - message: Tc(e), + message: Uc(e), duration: o ? 0 : n }); } -const $y = 2e3, ef = 15e3, tf = 8e3, Bc = "__mjr_write_token", cr = "token"; -let Ll = null, ul = null, Ud = null; -const No = Cr({ ttlMs: $y, maxSize: 1 }); -function nf() { +const nf = 2e3, of = 15e3, rf = 8e3, Kc = "__mjr_write_token", dr = "token"; +let Vl = null, ml = null, Dd = null; +const Fo = Wr({ ttlMs: nf, maxSize: 1 }); +function lf() { var e; try { - return String(((e = sessionStorage == null ? void 0 : sessionStorage.getItem) == null ? void 0 : e.call(sessionStorage, Bc)) || "").trim(); + return String(((e = sessionStorage == null ? void 0 : sessionStorage.getItem) == null ? void 0 : e.call(sessionStorage, Kc)) || "").trim(); } catch { return ""; } } -function Ns(e) { +function Fs(e) { var n, i; const t = String(e || "").trim(); try { - return t ? (n = sessionStorage == null ? void 0 : sessionStorage.setItem) == null || n.call(sessionStorage, Bc, t) : (i = sessionStorage == null ? void 0 : sessionStorage.removeItem) == null || i.call(sessionStorage, Bc), !0; + return t ? (n = sessionStorage == null ? void 0 : sessionStorage.setItem) == null || n.call(sessionStorage, Kc, t) : (i = sessionStorage == null ? void 0 : sessionStorage.removeItem) == null || i.call(sessionStorage, Kc), !0; } catch { return !1; } } -function xg() { +function jg() { var e, t, n; try { - const i = (e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Fi), o = i ? JSON.parse(i) : {}, r = o && typeof o == "object" ? o : {}, l = r != null && r.data && typeof r.data == "object" ? r.data : r; - l != null && l.security && typeof l.security == "object" && String(l.security.apiToken || "").trim() && (l.security.apiToken = "", (t = localStorage == null ? void 0 : localStorage.setItem) == null || t.call(localStorage, Fi, JSON.stringify(r))); + const i = (e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Oi), o = i ? JSON.parse(i) : {}, r = o && typeof o == "object" ? o : {}, l = r != null && r.data && typeof r.data == "object" ? r.data : r; + l != null && l.security && typeof l.security == "object" && String(l.security.apiToken || "").trim() && (l.security.apiToken = "", (t = localStorage == null ? void 0 : localStorage.setItem) == null || t.call(localStorage, Oi, JSON.stringify(r))); } catch (i) { (n = console.debug) == null || n.call(console, i); } } -function Kd() { +function Ed() { var e; try { - No.delete(cr); + Fo.delete(dr); } catch (t) { (e = console.debug) == null || e.call(console, t); } - Ns(""), xg(); + Fs(""), jg(); } -function Uc() { +function Dc() { var i, o, r, l, a; - const e = No.get(cr); + const e = Fo.get(dr); if (e !== void 0) return e; - const t = Date.now(), n = nf(); + const t = Date.now(), n = lf(); if (n) - return No.set(cr, n, { at: t }), n; + return Fo.set(dr, n, { at: t }), n; try { - const c = (i = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : i.call(localStorage, Fi), s = c ? JSON.parse(c) : null, d = s != null && s.data && typeof s.data == "object" ? s.data : s, u = String(((o = d == null ? void 0 : d.security) == null ? void 0 : o.apiToken) || "").trim(); + const c = (i = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : i.call(localStorage, Oi), s = c ? JSON.parse(c) : null, d = s != null && s.data && typeof s.data == "object" ? s.data : s, u = String(((o = d == null ? void 0 : d.security) == null ? void 0 : o.apiToken) || "").trim(); if (u) { - Ns(u); + Fs(u); try { const I = s && typeof s == "object" ? s : {}, p = I != null && I.data && typeof I.data == "object" ? I.data : I; - p != null && p.security && typeof p.security == "object" && (p.security.apiToken = "", (r = localStorage == null ? void 0 : localStorage.setItem) == null || r.call(localStorage, Fi, JSON.stringify(I)), (l = window == null ? void 0 : window.dispatchEvent) == null || l.call( + p != null && p.security && typeof p.security == "object" && (p.security.apiToken = "", (r = localStorage == null ? void 0 : localStorage.setItem) == null || r.call(localStorage, Oi, JSON.stringify(I)), (l = window == null ? void 0 : window.dispatchEvent) == null || l.call( window, new CustomEvent("mjr-settings-changed", { detail: { key: "security.apiToken" } @@ -2935,17 +2949,17 @@ function Uc() { (a = console.debug) == null || a.call(console, I); } } - return No.set(cr, u, { at: t }), u; + return Fo.set(dr, u, { at: t }), u; } catch { - return No.set(cr, "", { at: t }), ""; + return Fo.set(dr, "", { at: t }), ""; } } -function jg(e) { +function vg(e) { var n, i; const t = String(e || "").trim(); if (!t) return !1; try { - No.set(cr, t), ul = null, Ns(t), xg(); + Fo.set(dr, t), ml = null, Fs(t), jg(); try { (n = window == null ? void 0 : window.dispatchEvent) == null || n.call( window, @@ -2959,29 +2973,29 @@ function jg(e) { return !1; } } -const of = /^[A-Za-z0-9._\-~+/]+=*$/; -function Dd(e) { +const af = /^[A-Za-z0-9._\-~+/]+=*$/; +function Hd(e) { var n; const t = String(e || "").trim(); - return t ? of.test(t) ? jg(t) : ((n = console.debug) == null || n.call(console, "[MJR auth] Rejected malformed security token (invalid characters)"), !1) : !1; + return t ? af.test(t) ? vg(t) : ((n = console.debug) == null || n.call(console, "[MJR auth] Rejected malformed security token (invalid characters)"), !1) : !1; } function Yl(e = {}) { const t = String((e == null ? void 0 : e.code) || "").trim().toUpperCase(), n = String((e == null ? void 0 : e.error) || "").trim(), i = Number((e == null ? void 0 : e.status) || 0) || 0; - ul = { + ml = { code: t, error: n, status: i, at: Date.now() }; } -function vg() { - const e = ul; +function Lg() { + const e = ml; if (!e) return null; const t = Date.now() - (Number(e.at || 0) || 0); - return t < 0 || t > ef ? (ul = null, null) : e; + return t < 0 || t > of ? (ml = null, null) : e; } -function rf(e) { - const t = vg(), n = String((e == null ? void 0 : e.code) || "").trim().toUpperCase(), i = String((e == null ? void 0 : e.error) || "").trim(), o = String((t == null ? void 0 : t.code) || "").trim().toUpperCase(), r = String((t == null ? void 0 : t.error) || "").trim().toLowerCase(), l = i.toLowerCase(); +function cf(e) { + const t = Lg(), n = String((e == null ? void 0 : e.code) || "").trim().toUpperCase(), i = String((e == null ? void 0 : e.error) || "").trim(), o = String((t == null ? void 0 : t.code) || "").trim().toUpperCase(), r = String((t == null ? void 0 : t.error) || "").trim().toLowerCase(), l = i.toLowerCase(); return o === "FORBIDDEN" && (r.includes("already configured") || r.includes("rotate-token")) ? m( "toast.writeAuthConfiguredTokenRequired", "Write access requires the Majoor API token already configured on the server. Open Settings -> Security -> API Token and enter the matching token." @@ -2993,15 +3007,15 @@ function rf(e) { "Write access is blocked. Sign in to ComfyUI and retry so Majoor can bootstrap the remote session automatically, or set a Majoor API token in Settings -> Security." ) : ""; } -function lf(e) { +function sf(e) { var o; const t = String(e || "").trim(); if (!t) return; - const n = Date.now(), i = Ud; - if (!(i && i.message === t && n - (Number(i.at || 0) || 0) < tf)) { - Ud = { message: t, at: n }; + const n = Date.now(), i = Dd; + if (!(i && i.message === t && n - (Number(i.at || 0) || 0) < rf)) { + Dd = { message: t, at: n }; try { - Ce( + Ze( { summary: m("toast.writeAuthTitle", "Majoor remote write access"), detail: t @@ -3015,14 +3029,14 @@ function lf(e) { } } } -function af(e) { +function df(e) { const t = String((e == null ? void 0 : e.code) || "").trim().toUpperCase(), n = String((e == null ? void 0 : e.error) || "").trim().toLowerCase(), i = t === "FORBIDDEN" && n.includes("write operation blocked"); if (t !== "AUTH_REQUIRED" && !i) return e; - const o = rf(e); - return o ? (lf(o), { ...e, error: o }) : e; + const o = cf(e); + return o ? (sf(o), { ...e, error: o }) : e; } -async function cf() { +async function uf() { var e; try { const t = await fetch("/mjr/am/settings/security/bootstrap-token", { @@ -3056,7 +3070,7 @@ async function cf() { status: t.status }), { ok: !1, token: !1 }; const o = String(((e = i == null ? void 0 : i.data) == null ? void 0 : e.token) || "").trim(); - return o ? { ok: jg(o), token: !0 } : (ul = null, { ok: !0, token: !1 }); + return o ? { ok: vg(o), token: !0 } : (ml = null, { ok: !0, token: !1 }); } catch (t) { return Yl({ code: "NETWORK_ERROR", @@ -3065,107 +3079,107 @@ async function cf() { }), { ok: !1, token: !1 }; } } -async function sf({ force: e = !1, allowCookieRefresh: t = !1 } = {}) { +async function mf({ force: e = !1, allowCookieRefresh: t = !1 } = {}) { var r; - const n = Uc(); + const n = Dc(); if (n && !e) return n; let i = { ok: !1, token: !1 }; - Ll || (Ll = (async () => { + Vl || (Vl = (async () => { try { - return await cf(); + return await uf(); } finally { - Ll = null; + Vl = null; } })()); try { - i = await Ll || i; + i = await Vl || i; } catch (l) { (r = console.debug) == null || r.call(console, l); } if (e && (i != null && i.ok) && !(i != null && i.token) && n) - Kd(); + Ed(); else if (e && !(i != null && i.ok)) { - const l = vg(), a = String((l == null ? void 0 : l.code) || "").trim().toUpperCase(); - (!a || !["NETWORK_ERROR", "INVALID_RESPONSE"].includes(a)) && Kd(); + const l = Lg(), a = String((l == null ? void 0 : l.code) || "").trim().toUpperCase(); + (!a || !["NETWORK_ERROR", "INVALID_RESPONSE"].includes(a)) && Ed(); } - const o = Uc(); + const o = Dc(); return !o && t && (i != null && i.ok) ? !0 : o; } -function Ed() { - No.clear(); +function qd() { + Fo.clear(); } -async function df(e) { +async function gf(e) { return !e || typeof e != "string" ? { ok: !1, error: "Missing mode", code: "INVALID_INPUT" } : Et("/mjr/am/settings/probe-backend", { mode: e }); } -async function uf() { - return Rt(lt.SETTINGS_METADATA_FALLBACK); -} -async function Hd({ image: e, media: t } = {}) { - return Et(lt.SETTINGS_METADATA_FALLBACK, { image: e, media: t }); -} -async function mf() { - return Rt(lt.SETTINGS_VECTOR_SEARCH); -} -async function gf(e = !0) { - return Et(lt.SETTINGS_VECTOR_SEARCH, { enabled: !!e }); -} async function If() { - return Rt(lt.SETTINGS_EXECUTION_GROUPING); + return Ft(ct.SETTINGS_METADATA_FALLBACK); } -async function bf(e = !0) { - return Et(lt.SETTINGS_EXECUTION_GROUPING, { enabled: !!e }); +async function Pd({ image: e, media: t } = {}) { + return Et(ct.SETTINGS_METADATA_FALLBACK, { image: e, media: t }); } -async function pf() { - return Rt(lt.SETTINGS_HUGGINGFACE); +async function bf() { + return Ft(ct.SETTINGS_VECTOR_SEARCH); } -async function yf(e = "") { - return Et(lt.SETTINGS_HUGGINGFACE, { token: String(e ?? "").trim() }); +async function pf(e = !0) { + return Et(ct.SETTINGS_VECTOR_SEARCH, { enabled: !!e }); } -async function ff() { - return Rt(lt.SETTINGS_AI_LOGGING); +async function yf() { + return Ft(ct.SETTINGS_EXECUTION_GROUPING); } -async function hf(e = !1) { - return Et(lt.SETTINGS_AI_LOGGING, { enabled: !!e }); +async function ff(e = !0) { + return Et(ct.SETTINGS_EXECUTION_GROUPING, { enabled: !!e }); } -async function Cf() { - return Rt(lt.SETTINGS_ROUTE_LOGGING); +async function hf() { + return Ft(ct.SETTINGS_HUGGINGFACE); } -async function Zf(e = !1) { - return Et(lt.SETTINGS_ROUTE_LOGGING, { enabled: !!e }); +async function Cf(e = "") { + return Et(ct.SETTINGS_HUGGINGFACE, { token: String(e ?? "").trim() }); } -async function Af() { - return Rt(lt.SETTINGS_STARTUP_LOGGING); +async function Zf() { + return Ft(ct.SETTINGS_AI_LOGGING); } -async function Wf(e = !1) { - return Et(lt.SETTINGS_STARTUP_LOGGING, { enabled: !!e }); +async function Af(e = !1) { + return Et(ct.SETTINGS_AI_LOGGING, { enabled: !!e }); } -async function wf() { - return Rt(lt.SETTINGS_LTXAV_RGB_FALLBACK); +async function Wf() { + return Ft(ct.SETTINGS_ROUTE_LOGGING); } -async function Mf(e = !1) { - return Et(lt.SETTINGS_LTXAV_RGB_FALLBACK, { enabled: !!e }); +async function wf(e = !1) { + return Et(ct.SETTINGS_ROUTE_LOGGING, { enabled: !!e }); } -async function Sf() { - return Rt(lt.SETTINGS_OUTPUT_DIRECTORY); +async function Mf() { + return Ft(ct.SETTINGS_STARTUP_LOGGING); } -async function Gf(e, t = {}) { +async function Sf(e = !1) { + return Et(ct.SETTINGS_STARTUP_LOGGING, { enabled: !!e }); +} +async function Gf() { + return Ft(ct.SETTINGS_LTXAV_RGB_FALLBACK); +} +async function xf(e = !1) { + return Et(ct.SETTINGS_LTXAV_RGB_FALLBACK, { enabled: !!e }); +} +async function jf() { + return Ft(ct.SETTINGS_OUTPUT_DIRECTORY); +} +async function vf(e, t = {}) { const n = String(e ?? "").trim(); - return Et(lt.SETTINGS_OUTPUT_DIRECTORY, { output_directory: n }, t); + return Et(ct.SETTINGS_OUTPUT_DIRECTORY, { output_directory: n }, t); } -async function xf() { - return Rt(lt.SETTINGS_INDEX_DIRECTORY); +async function Lf() { + return Ft(ct.SETTINGS_INDEX_DIRECTORY); } -async function jf(e, t = {}) { +async function Vf(e, t = {}) { const n = String(e ?? "").trim(); - return Et(lt.SETTINGS_INDEX_DIRECTORY, { index_directory: n }, t); + return Et(ct.SETTINGS_INDEX_DIRECTORY, { index_directory: n }, t); } -async function Lg() { - return Rt("/mjr/am/settings/security"); +async function Vg() { + return Ft("/mjr/am/settings/security"); } async function Yg(e) { return Et("/mjr/am/settings/security", e && typeof e == "object" ? e : {}); } -async function vf() { +async function Yf() { var t, n; const e = await Et("/mjr/am/settings/security/bootstrap-token", {}); if (e != null && e.ok) @@ -3177,24 +3191,24 @@ async function vf() { } return e; } -async function Rs(e) { +async function Os(e) { var t; if (e && typeof e == "object") { const n = String( e.filepath || e.path || ((t = e == null ? void 0 : e.file_info) == null ? void 0 : t.filepath) || "" ).trim(); - return e.id != null ? Et("/mjr/am/open-in-folder", { asset_id: pi(e.id) }) : Et("/mjr/am/open-in-folder", { filepath: n }); + return e.id != null ? Et("/mjr/am/open-in-folder", { asset_id: fi(e.id) }) : Et("/mjr/am/open-in-folder", { filepath: n }); } - return Et("/mjr/am/open-in-folder", { asset_id: pi(e) }); + return Et("/mjr/am/open-in-folder", { asset_id: fi(e) }); } -async function Dr({ op: e = "", path: t = "", name: n = "", destination: i = "", recursive: o = !0 } = {}, r = {}) { +async function Hr({ op: e = "", path: t = "", name: n = "", destination: i = "", recursive: o = !0 } = {}, r = {}) { const l = { op: String(e || "").trim().toLowerCase(), path: String(t || "").trim() }; - return n != null && String(n).trim() && (l.name = String(n).trim()), i != null && String(i).trim() && (l.destination = String(i).trim()), l.op === "delete" && (l.recursive = !!o), Et(lt.BROWSER_FOLDER_OP, l, r); + return n != null && String(n).trim() && (l.name = String(n).trim()), i != null && String(i).trim() && (l.destination = String(i).trim()), l.op === "delete" && (l.recursive = !!o), Et(ct.BROWSER_FOLDER_OP, l, r); } -async function qd(e = {}) { +async function Qd(e = {}) { const t = (r, l) => r == null ? l : !!r, n = String(e.scope || "output").trim().toLowerCase() || "output", i = e.customRootId ?? e.custom_root_id ?? e.rootId ?? e.root_id ?? e.customRoot ?? null, o = { scope: n, reindex: t(e.reindex, !0), @@ -3223,77 +3237,77 @@ async function qd(e = {}) { background_metadata: t(e.backgroundMetadata ?? e.background_metadata, !0), maintenance_force: t(e.maintenanceForce ?? e.maintenance_force, !1) }; - return i && (o.custom_root_id = String(i)), Et(lt.INDEX_RESET, o); + return i && (o.custom_root_id = String(i)), Et(ct.INDEX_RESET, o); } -async function Lf({ scope: e = "output", customRootId: t = "" } = {}) { +async function kf({ scope: e = "output", customRootId: t = "" } = {}) { const n = String(e || "output").trim().toLowerCase() || "output", i = String(t || "").trim(), o = { scope: n }; - return i && (o.custom_root_id = i), Et(lt.WATCHER_SCOPE, o); + return i && (o.custom_root_id = i), Et(ct.WATCHER_SCOPE, o); } -async function Vg(e = {}) { - return Rt(lt.WATCHER_STATUS, e); +async function kg(e = {}) { + return Ft(ct.WATCHER_STATUS, e); } -async function wa(e = !0) { - return Et(lt.WATCHER_TOGGLE, { enabled: !!e }); -} -async function Yf() { - return Rt(lt.WATCHER_SETTINGS); -} -async function Pd(e = {}) { - return Et(lt.WATCHER_SETTINGS, e); -} -async function Vf(e = {}) { - return Rt(lt.TOOLS_STATUS, e); -} -async function kf(e = {}) { - return Rt(lt.STATUS, e); +async function Ma(e = !0) { + return Et(ct.WATCHER_TOGGLE, { enabled: !!e }); } async function Xf() { - return Et("/mjr/am/db/force-delete", {}); + return Ft(ct.WATCHER_SETTINGS); +} +async function _d(e = {}) { + return Et(ct.WATCHER_SETTINGS, e); } async function Nf(e = {}) { - return Rt(lt.DB_BACKUPS, e); + return Ft(ct.TOOLS_STATUS, e); } -async function Rf() { - return Et(lt.DB_BACKUP_SAVE, {}); +async function Rf(e = {}) { + return Ft(ct.STATUS, e); } -async function Ff({ name: e = "", useLatest: t = !1 } = {}) { +async function Ff() { + return Et("/mjr/am/db/force-delete", {}); +} +async function Of(e = {}) { + return Ft(ct.DB_BACKUPS, e); +} +async function zf() { + return Et(ct.DB_BACKUP_SAVE, {}); +} +async function Jf({ name: e = "", useLatest: t = !1 } = {}) { const n = {}; - return e && (n.name = String(e)), t && (n.use_latest = !0), Et(lt.DB_BACKUP_RESTORE, n); + return e && (n.name = String(e)), t && (n.use_latest = !0), Et(ct.DB_BACKUP_RESTORE, n); } -async function Of(e = 250) { +async function Tf(e = 250) { return Et("/mjr/am/duplicates/analyze", { limit: Math.max(10, Math.min(5e3, Number(e) || 250)) }); } -async function zf({ scope: e = "output", customRootId: t = "", maxGroups: n = 6, maxPairs: i = 10 } = {}, o = {}) { +async function Bf({ scope: e = "output", customRootId: t = "", maxGroups: n = 6, maxPairs: i = 10 } = {}, o = {}) { let r = `/mjr/am/duplicates/alerts?scope=${encodeURIComponent(String(e || "output"))}`; - return t && (r += `&custom_root_id=${encodeURIComponent(String(t))}`), r += `&max_groups=${encodeURIComponent(String(Math.max(1, Number(n) || 6)))}`, r += `&max_pairs=${encodeURIComponent(String(Math.max(1, Number(i) || 10)))}`, Rt(r, o); + return t && (r += `&custom_root_id=${encodeURIComponent(String(t))}`), r += `&max_groups=${encodeURIComponent(String(Math.max(1, Number(n) || 6)))}`, r += `&max_pairs=${encodeURIComponent(String(Math.max(1, Number(i) || 10)))}`, Ft(r, o); } -async function Jf(e, t = []) { +async function Uf(e, t = []) { return Et("/mjr/am/duplicates/merge-tags", { keep_asset_id: Number(e) || 0, merge_asset_ids: Array.isArray(t) ? t.map((n) => Number(n) || 0).filter((n) => n > 0) : [] }); } -async function Ma(e) { +async function Sa(e) { var o; let t, n; if (e && typeof e == "object") { - t = pi(e.id); + t = fi(e.id); const r = String( e.filepath || e.path || ((o = e == null ? void 0 : e.file_info) == null ? void 0 : o.filepath) || "" ).trim(); n = t ? { asset_id: t } : { filepath: r }; } else - t = pi(e), n = { asset_id: t }; + t = fi(e), n = { asset_id: t }; const i = await Et("/mjr/am/asset/delete", n); - return i != null && i.ok && t && kg([t]), i; + return i != null && i.ok && t && Xg([t]), i; } -async function Tf(e) { - const t = Array.isArray(e) ? e.map((i) => pi(i)).filter(Boolean) : [], n = await Et("/mjr/am/assets/delete", { ids: t }); - return n != null && n.ok && kg(t), n; +async function Kf(e) { + const t = Array.isArray(e) ? e.map((i) => fi(i)).filter(Boolean) : [], n = await Et("/mjr/am/assets/delete", { ids: t }); + return n != null && n.ok && Xg(t), n; } -function kg(e) { +function Xg(e) { var t; try { const n = (Array.isArray(e) ? e : [e]).map((i) => String(i || "").trim()).filter(Boolean); @@ -3305,11 +3319,11 @@ function kg(e) { (t = console.debug) == null || t.call(console, n); } } -async function Fs(e, t) { +async function zs(e, t) { var o, r, l; let n; if (e && typeof e == "object") { - n = pi(e.id); + n = fi(e.id); const a = String( e.filepath || e.path || ((o = e == null ? void 0 : e.file_info) == null ? void 0 : o.filepath) || "" ).trim(), c = n ? await Et("/mjr/am/asset/rename", { asset_id: n, new_name: t }) : await Et("/mjr/am/asset/rename", { filepath: a, new_name: t }); @@ -3322,7 +3336,7 @@ async function Fs(e, t) { } return c; } - n = pi(e); + n = fi(e); const i = await Et("/mjr/am/asset/rename", { asset_id: n, new_name: t }); if (i != null && i.ok && n) try { @@ -3333,40 +3347,40 @@ async function Fs(e, t) { } return i; } -async function Xg() { +async function Ng() { const e = typeof AbortController < "u" ? new AbortController() : null; let t = null; try { - return e && (t = setTimeout(() => e.abort(), 1e4)), await Rt("/mjr/am/collections", e ? { signal: e.signal } : {}); + return e && (t = setTimeout(() => e.abort(), 1e4)), await Ft("/mjr/am/collections", e ? { signal: e.signal } : {}); } finally { t && clearTimeout(t); } } -async function ta(e) { +async function na(e) { return Et("/mjr/am/collections", { name: String(e || "").trim() }); } -async function Bf(e) { +async function Df(e) { const t = String(e || "").trim(); return Et(`/mjr/am/collections/${encodeURIComponent(t)}/delete`, {}); } -async function Sa(e, t) { +async function Ga(e, t) { const n = String(e || "").trim(), i = Array.isArray(t) ? t : []; return Et(`/mjr/am/collections/${encodeURIComponent(n)}/add`, { assets: i }); } -async function Ng(e, t) { +async function Rg(e, t) { const n = String(e || "").trim(), i = Array.isArray(t) ? t : []; return Et(`/mjr/am/collections/${encodeURIComponent(n)}/remove`, { filepaths: i }); } -async function Uf(e) { +async function Ef(e) { const t = String(e || "").trim(); - return Rt(`/mjr/am/collections/${encodeURIComponent(t)}/assets`); + return Ft(`/mjr/am/collections/${encodeURIComponent(t)}/assets`); } -async function Rg(e, t = 20) { +async function Fg(e, t = 20) { const n = String(e || "").trim(); if (!n) return { ok: !1, error: "Empty query" }; const i = t && typeof t == "object" ? t : { topK: Number(t) }, o = Math.max(1, Math.min(200, Number((i == null ? void 0 : i.topK) ?? 20) || 20)), r = String((i == null ? void 0 : i.scope) || "").trim(), l = String((i == null ? void 0 : i.customRootId) || "").trim(); - let a = `${lt.VECTOR_SEARCH}?q=${encodeURIComponent(n)}&top_k=${o}`; - return r && (a += `&scope=${encodeURIComponent(r)}`), l && (a += `&custom_root_id=${encodeURIComponent(l)}`), a = Ka(a, { + let a = `${ct.VECTOR_SEARCH}?q=${encodeURIComponent(n)}&top_k=${o}`; + return r && (a += `&scope=${encodeURIComponent(r)}`), l && (a += `&custom_root_id=${encodeURIComponent(l)}`), a = Da(a, { subfolder: (i == null ? void 0 : i.subfolder) ?? null, kind: (i == null ? void 0 : i.kind) ?? null, hasWorkflow: (i == null ? void 0 : i.hasWorkflow) ?? null, @@ -3380,64 +3394,64 @@ async function Rg(e, t = 20) { workflowType: (i == null ? void 0 : i.workflowType) ?? null, dateRange: (i == null ? void 0 : i.dateRange) ?? null, dateExact: (i == null ? void 0 : i.dateExact) ?? null - }), Rt(a, { timeoutMs: 12e4 }); + }), Ft(a, { timeoutMs: 12e4 }); } -async function Kf(e, t = 20) { +async function Hf(e, t = 20) { const n = String(e || "").trim(); if (!n) return { ok: !1, error: "Missing asset ID" }; const i = t && typeof t == "object" ? t : { topK: Number(t) }, o = Math.max(1, Math.min(200, Number((i == null ? void 0 : i.topK) ?? 20) || 20)), r = String((i == null ? void 0 : i.scope) || "").trim(), l = String((i == null ? void 0 : i.customRootId) || "").trim(); - let a = `${lt.VECTOR_SIMILAR}/${encodeURIComponent(n)}?top_k=${o}`; - return r && (a += `&scope=${encodeURIComponent(r)}`), l && (a += `&custom_root_id=${encodeURIComponent(l)}`), Rt(a, { + let a = `${ct.VECTOR_SIMILAR}/${encodeURIComponent(n)}?top_k=${o}`; + return r && (a += `&scope=${encodeURIComponent(r)}`), l && (a += `&custom_root_id=${encodeURIComponent(l)}`), Ft(a, { dedupeKey: `vec:${n}:${o}:${r}:${l}` }); } -async function Df(e) { +async function qf(e) { const t = String(e || "").trim(); - return t ? Rt(`${lt.VECTOR_ALIGNMENT}/${encodeURIComponent(t)}`) : { ok: !1, error: "Missing asset ID" }; + return t ? Ft(`${ct.VECTOR_ALIGNMENT}/${encodeURIComponent(t)}`) : { ok: !1, error: "Missing asset ID" }; } -async function Fg(e) { +async function Og(e) { const t = String(e || "").trim(); - return t ? Et(`${lt.VECTOR_INDEX}/${encodeURIComponent(t)}`, {}) : { ok: !1, error: "Missing asset ID" }; + return t ? Et(`${ct.VECTOR_INDEX}/${encodeURIComponent(t)}`, {}) : { ok: !1, error: "Missing asset ID" }; } -async function Ga() { - return Rt(lt.VECTOR_STATS); +async function xa() { + return Ft(ct.VECTOR_STATS); } -async function Og(e = 64, t = {}) { - var b, v, C; +async function zg(e = 64, t = {}) { + var b, L, h; const n = Math.max(1, Math.min(200, e)), i = typeof (t == null ? void 0 : t.onProgress) == "function" ? t.onProgress : null, o = String((t == null ? void 0 : t.scope) || "").trim().toLowerCase(), r = String((t == null ? void 0 : t.customRootId) ?? (t == null ? void 0 : t.custom_root_id) ?? "").trim(); - let l = `${lt.VECTOR_BACKFILL}?batch_size=${n}&async=1`; + let l = `${ct.VECTOR_BACKFILL}?batch_size=${n}&async=1`; o && (l += `&scope=${encodeURIComponent(o)}`), r && (l += `&custom_root_id=${encodeURIComponent(r)}`); const a = await Et(l, {}, { timeoutMs: 3e4 }); if (!(a != null && a.ok)) return a; const c = (a == null ? void 0 : a.data) || {}, s = String((c == null ? void 0 : c.status) || "").toLowerCase(), d = String((c == null ? void 0 : c.backfill_id) || "").trim(); try { i == null || i(c); - } catch (S) { - (b = console.debug) == null || b.call(console, S); + } catch (G) { + (b = console.debug) == null || b.call(console, G); } if (!d || !["queued", "running", "pending"].includes(s)) return a; - const u = Number(t == null ? void 0 : t.pollIntervalMs), I = Number(t == null ? void 0 : t.pollTimeoutMs), p = Number.isFinite(u) ? Math.max(500, Math.min(1e4, Math.floor(u))) : _f, M = Number.isFinite(I) ? Math.max( + const u = Number(t == null ? void 0 : t.pollIntervalMs), I = Number(t == null ? void 0 : t.pollTimeoutMs), p = Number.isFinite(u) ? Math.max(500, Math.min(1e4, Math.floor(u))) : th, S = Number.isFinite(I) ? Math.max( 1e4, - Math.min(eh, Math.floor(I)) - ) : $f, Z = Date.now(); - let A = null; - for (; Date.now() - Z < M; ) { - await dg(p); - const S = await Rt( - `${lt.VECTOR_BACKFILL_STATUS}?backfill_id=${encodeURIComponent(d)}`, + Math.min(ih, Math.floor(I)) + ) : nh, A = Date.now(); + let C = null; + for (; Date.now() - A < S; ) { + await ug(p); + const G = await Ft( + `${ct.VECTOR_BACKFILL_STATUS}?backfill_id=${encodeURIComponent(d)}`, { timeoutMs: 3e4 } ); - if (!(S != null && S.ok)) { - A = S; + if (!(G != null && G.ok)) { + C = G; continue; } - const W = (S == null ? void 0 : S.data) || {}, y = String((W == null ? void 0 : W.status) || "").toLowerCase(); - A = S; + const W = (G == null ? void 0 : G.data) || {}, y = String((W == null ? void 0 : W.status) || "").toLowerCase(); + C = G; try { i == null || i(W); - } catch (k) { - (v = console.debug) == null || v.call(console, k); + } catch (X) { + (L = console.debug) == null || L.call(console, X); } if (y === "succeeded") return { @@ -3455,26 +3469,26 @@ async function Og(e = 64, t = {}) { status: 500 }; } - const g = await Rt( - `${lt.VECTOR_BACKFILL_STATUS}?backfill_id=${encodeURIComponent(d)}`, + const g = await Ft( + `${ct.VECTOR_BACKFILL_STATUS}?backfill_id=${encodeURIComponent(d)}`, { timeoutMs: 3e4 } - ), h = (g == null ? void 0 : g.data) || (A == null ? void 0 : A.data) || {}, f = String((h == null ? void 0 : h.status) || "").toLowerCase(); + ), Z = (g == null ? void 0 : g.data) || (C == null ? void 0 : C.data) || {}, f = String((Z == null ? void 0 : Z.status) || "").toLowerCase(); if (g != null && g.ok && ["queued", "running", "pending"].includes(f)) { try { - i == null || i(h); - } catch (S) { - (C = console.debug) == null || C.call(console, S); + i == null || i(Z); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } return { ok: !0, code: "PENDING", status: 202, data: { - ...h, + ...Z, pending: !0, timed_out: !0, - poll_timeout_ms: M, - backfill_id: String((h == null ? void 0 : h.backfill_id) || d), + poll_timeout_ms: S, + backfill_id: String((Z == null ? void 0 : Z.backfill_id) || d), status: f || "running" }, meta: { pending: !0 } @@ -3482,23 +3496,23 @@ async function Og(e = 64, t = {}) { } return g != null && g.ok && f === "failed" ? { ok: !1, - error: String((h == null ? void 0 : h.error) || "Vector backfill failed"), - code: String((h == null ? void 0 : h.code) || "DB_ERROR"), - data: h, + error: String((Z == null ? void 0 : Z.error) || "Vector backfill failed"), + code: String((Z == null ? void 0 : Z.code) || "DB_ERROR"), + data: Z, status: 500 } : { ok: !1, - error: `Vector backfill polling timed out after ${M}ms`, + error: `Vector backfill polling timed out after ${S}ms`, code: "TIMEOUT", - data: h || null, + data: Z || null, status: 408 }; } -async function Ef(e) { +async function Pf(e) { const t = String(e || "").trim(); - return t ? Et(`${lt.VECTOR_CAPTION}/${encodeURIComponent(t)}`, {}) : { ok: !1, error: "Missing asset ID" }; + return t ? Et(`${ct.VECTOR_CAPTION}/${encodeURIComponent(t)}`, {}) : { ok: !1, error: "Missing asset ID" }; } -async function Hf(e, { +async function Qf(e, { topK: t = 50, scope: n = "output", customRootId: i = "", @@ -3512,14 +3526,14 @@ async function Hf(e, { minHeight: u = null, maxWidth: I = null, maxHeight: p = null, - workflowType: M = null, - dateRange: Z = null, - dateExact: A = null + workflowType: S = null, + dateRange: A = null, + dateExact: C = null } = {}) { const g = String(e || "").trim(); if (!g) return { ok: !1, error: "Empty query" }; - let h = `${lt.HYBRID_SEARCH}?q=${encodeURIComponent(g)}&top_k=${Math.max(1, Math.min(200, t))}&scope=${encodeURIComponent(n)}`; - return i && (h += `&custom_root_id=${encodeURIComponent(i)}`), h = Ka(h, { + let Z = `${ct.HYBRID_SEARCH}?q=${encodeURIComponent(g)}&top_k=${Math.max(1, Math.min(200, t))}&scope=${encodeURIComponent(n)}`; + return i && (Z += `&custom_root_id=${encodeURIComponent(i)}`), Z = Da(Z, { subfolder: o, kind: r, hasWorkflow: l, @@ -3530,120 +3544,120 @@ async function Hf(e, { minHeight: u, maxWidth: I, maxHeight: p, - workflowType: M, - dateRange: Z, - dateExact: A - }), Rt(h, { timeoutMs: 12e4 }); + workflowType: S, + dateRange: A, + dateExact: C + }), Ft(Z, { timeoutMs: 12e4 }); } -async function qf(e = 8) { - return Et(lt.VECTOR_SUGGEST_COLLECTIONS, { k: Math.max(2, Math.min(20, e)) }); +async function _f(e = 8) { + return Et(ct.VECTOR_SUGGEST_COLLECTIONS, { k: Math.max(2, Math.min(20, e)) }); } -const Pf = 3e4, Qd = Pf, _d = "__MJR_API_CLIENT__", zg = 2e3, Qf = 200, _f = 1e3, $f = 30 * 6e4, eh = 720 * 6e4, yo = "settings", $d = "available-tags", Er = Cr({ ttlMs: zg, maxSize: 1 }), Hr = Cr({ ttlMs: zg, maxSize: 1 }), Kc = Cr({ ttlMs: () => oh(), maxSize: 1 }), th = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]), nh = /* @__PURE__ */ new Set(["0", "false", "no", "off"]); -function ih(e, t = !1) { +const $f = 3e4, $d = $f, eu = "__MJR_API_CLIENT__", Jg = 2e3, eh = 200, th = 1e3, nh = 30 * 6e4, ih = 720 * 6e4, ho = "settings", tu = "available-tags", qr = Wr({ ttlMs: Jg, maxSize: 1 }), Pr = Wr({ ttlMs: Jg, maxSize: 1 }), Ec = Wr({ ttlMs: () => ah(), maxSize: 1 }), oh = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]), rh = /* @__PURE__ */ new Set(["0", "false", "no", "off"]); +function lh(e, t = !1) { if (typeof e == "boolean") return e; if (typeof e == "number") return e !== 0; if (typeof e == "string") { const n = e.trim().toLowerCase(); - if (th.has(n)) return !0; - if (nh.has(n)) return !1; + if (oh.has(n)) return !0; + if (rh.has(n)) return !1; } return !!t; } -function oh() { +function ah() { var e, t, n, i; try { - const o = ((e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Fi)) || "{}", r = JSON.parse(o), l = ((t = r == null ? void 0 : r.cache) == null ? void 0 : t.tagsTTLms) ?? ((n = r == null ? void 0 : r.cache) == null ? void 0 : n.tagsTTL) ?? ((i = r == null ? void 0 : r.cache) == null ? void 0 : i.tags_ttl_ms) ?? null, a = Number(l); - return Number.isFinite(a) ? Math.max(1e3, Math.min(10 * 6e4, Math.floor(a))) : Qd; + const o = ((e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Oi)) || "{}", r = JSON.parse(o), l = ((t = r == null ? void 0 : r.cache) == null ? void 0 : t.tagsTTLms) ?? ((n = r == null ? void 0 : r.cache) == null ? void 0 : n.tagsTTL) ?? ((i = r == null ? void 0 : r.cache) == null ? void 0 : i.tags_ttl_ms) ?? null, a = Number(l); + return Number.isFinite(a) ? Math.max(1e3, Math.min(10 * 6e4, Math.floor(a))) : $d; } catch { - return Qd; + return $d; } } -function eu() { - Er.clear(); +function nu() { + qr.clear(); } -function tu() { - Hr.clear(); +function iu() { + Pr.clear(); } -function Dc() { - Kc.clear(); +function Hc() { + Ec.clear(); } -function rh(e) { +function ch(e) { return String(e ?? "").trim().toLowerCase() || ""; } -function lh(e) { +function sh(e) { const t = [], n = /* @__PURE__ */ new Set(); for (const i of Array.isArray(e) ? e : []) { const o = String(i ?? "").trim(); if (!o) continue; - const r = rh(o); + const r = ch(o); !r || n.has(r) || (n.add(r), t.push(o)); } return t; } -var $m, eg, tg; +var eg, tg, ng; try { const e = typeof window < "u" ? window : null; - e && !e[_d] && (e[_d] = { initialized: !0 }, ($m = e.addEventListener) == null || $m.call(e, "storage", (t) => { + e && !e[eu] && (e[eu] = { initialized: !0 }, (eg = e.addEventListener) == null || eg.call(e, "storage", (t) => { var n; try { - (t == null ? void 0 : t.key) === Fi && (eu(), tu(), Dc(), Ed()); + (t == null ? void 0 : t.key) === Oi && (nu(), iu(), Hc(), qd()); } catch (i) { (n = console.debug) == null || n.call(console, i); } - }), (eg = e.addEventListener) == null || eg.call(e, "mjr-settings-changed", () => { - eu(), tu(), Dc(), Ed(); + }), (tg = e.addEventListener) == null || tg.call(e, "mjr-settings-changed", () => { + nu(), iu(), Hc(), qd(); })); } catch (e) { - (tg = console.debug) == null || tg.call(console, e); + (ng = console.debug) == null || ng.call(console, e); } -const ah = () => { +const dh = () => { var n, i; - const e = Er.get(yo); + const e = qr.get(ho); if (e !== void 0) return e; const t = Date.now(); try { - const o = (n = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : n.call(localStorage, Fi); + const o = (n = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : n.call(localStorage, Oi); if (!o) - return Er.set(yo, !1, { at: t }), !1; + return qr.set(ho, !1, { at: t }), !1; const r = JSON.parse(o), l = !!((i = r == null ? void 0 : r.observability) != null && i.enabled); - return Er.set(yo, l, { at: t }), l; + return qr.set(ho, l, { at: t }), l; } catch { - return Er.set(yo, !1, { at: t }), !1; + return qr.set(ho, !1, { at: t }), !1; } -}, Jg = () => { +}, Tg = () => { var n, i; - const e = Hr.get(yo); + const e = Pr.get(ho); if (e !== void 0) return e; const t = Date.now(); try { - const o = (n = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : n.call(localStorage, Fi); + const o = (n = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : n.call(localStorage, Oi); if (!o) - return Hr.set(yo, !0, { at: t }), !0; - const r = JSON.parse(o), l = (i = r == null ? void 0 : r.ratingTagsSync) == null ? void 0 : i.enabled, a = l == null ? !0 : ih(l, !0); - return Hr.set(yo, a, { at: t }), a; + return Pr.set(ho, !0, { at: t }), !0; + const r = JSON.parse(o), l = (i = r == null ? void 0 : r.ratingTagsSync) == null ? void 0 : i.enabled, a = l == null ? !0 : lh(l, !0); + return Pr.set(ho, a, { at: t }), a; } catch { - return Hr.set(yo, !0, { at: t }), !0; + return Pr.set(ho, !0, { at: t }), !0; } -}, Os = fy({ - readObsEnabled: ah, - readAuthToken: Uc, - ensureWriteAuthToken: sf, - normalizeWriteAuthFailure: af -}), Tg = Os.fetchAPI; -async function Rt(e, t = {}) { - return Os.get(e, t); +}, Js = Zy({ + readObsEnabled: dh, + readAuthToken: Dc, + ensureWriteAuthToken: mf, + normalizeWriteAuthFailure: df +}), Bg = Js.fetchAPI; +async function Ft(e, t = {}) { + return Js.get(e, t); } async function Et(e, t, n = {}) { - return Os.post(e, t, n); + return Js.post(e, t, n); } -async function Do(e, t, n = {}) { +async function Ho(e, t, n = {}) { var c; - const i = Jg(), o = e && typeof e == "object" ? e : null, r = o ? o.id : e, l = pi(r), a = { + const i = Tg(), o = e && typeof e == "object" ? e : null, r = o ? o.id : e, l = fi(r), a = { rating: Math.max(0, Math.min(5, Number(t) || 0)) }; - return l ? a.asset_id = l : o && (a.filepath = o.filepath || o.path || ((c = o == null ? void 0 : o.file_info) == null ? void 0 : c.filepath) || "", a.type = o.type || "output", a.root_id = vi(o)), Tg("/mjr/am/asset/rating", { + return l ? a.asset_id = l : o && (a.filepath = o.filepath || o.path || ((c = o == null ? void 0 : o.file_info) == null ? void 0 : c.filepath) || "", a.type = o.type || "output", a.root_id = Mi(o)), Bg("/mjr/am/asset/rating", { ...n, method: "POST", headers: { @@ -3653,13 +3667,13 @@ async function Do(e, t, n = {}) { body: JSON.stringify(a) }); } -async function ch(e, t, n = {}) { +async function uh(e, t, n = {}) { var s; - const i = Jg(), o = e && typeof e == "object" ? e : null, r = o ? o.id : e, l = pi(r), a = { + const i = Tg(), o = e && typeof e == "object" ? e : null, r = o ? o.id : e, l = fi(r), a = { tags: Array.isArray(t) ? t : [] }; - l ? a.asset_id = l : o && (a.filepath = o.filepath || o.path || ((s = o == null ? void 0 : o.file_info) == null ? void 0 : s.filepath) || "", a.type = o.type || "output", a.root_id = vi(o)); - const c = await Tg("/mjr/am/asset/tags", { + l ? a.asset_id = l : o && (a.filepath = o.filepath || o.path || ((s = o == null ? void 0 : o.file_info) == null ? void 0 : s.filepath) || "", a.type = o.type || "output", a.root_id = Mi(o)); + const c = await Bg("/mjr/am/asset/tags", { ...n, method: "POST", headers: { @@ -3668,44 +3682,44 @@ async function ch(e, t, n = {}) { }, body: JSON.stringify(a) }); - return c != null && c.ok && Dc(), c; + return c != null && c.ok && Hc(), c; } -async function sh() { - const e = Kc.get($d); +async function mh() { + const e = Ec.get(tu); if (Array.isArray(e)) return { ok: !0, data: e, error: null, code: "OK", meta: { cached: !0 } }; - const t = await Rt("/mjr/am/tags"); + const t = await Ft("/mjr/am/tags"); if (t != null && t.ok && Array.isArray(t.data)) { - const n = lh(t.data); - return Kc.set($d, n), { ...t, data: n }; + const n = sh(t.data); + return Ec.set(tu, n), { ...t, data: n }; } return t; } -async function ml(e, t = {}) { - const n = encodeURIComponent(pi(e)); - return Rt(`/mjr/am/asset/${n}`, { +async function gl(e, t = {}) { + const n = encodeURIComponent(fi(e)); + return Ft(`/mjr/am/asset/${n}`, { ...t, dedupeKey: (t == null ? void 0 : t.dedupeKey) || `meta:${n}` }); } -async function Bg(e, t = {}) { - const n = pi(e); +async function Ug(e, t = {}) { + const n = fi(e); if (!n) return { ok: !1, data: null, error: "Missing assetId", code: "INVALID_INPUT" }; let i = `/mjr/am/viewer/info?asset_id=${encodeURIComponent(n)}`; t.refresh && (i += "&refresh=1"); const { refresh: o, ...r } = t; - return Rt(i, r); + return Ft(i, r); } -async function zs(e, t = {}) { +async function Ts(e, t = {}) { const n = Array.isArray(e) ? e : [], i = []; for (const o of n) { const r = Number(o); - if (Number.isFinite(r) && (i.push(Math.trunc(r)), i.length >= Qf)) + if (Number.isFinite(r) && (i.push(Math.trunc(r)), i.length >= eh)) break; } return i.length ? Et("/mjr/am/assets/batch", { asset_ids: i }, t) : { ok: !0, data: [], error: null, code: "OK" }; } -async function Ug({ +async function Kg({ type: e = "output", filename: t = "", subfolder: n = "", @@ -3716,9 +3730,9 @@ async function Ug({ const a = String(e || "output").trim().toLowerCase() || "output", c = String(t || "").trim(), s = String(n || "").trim(), d = String(i || o || "").trim(), u = String(r || "").trim(); if (!c) return { ok: !1, data: null, error: "Missing filename", code: "INVALID_INPUT" }; let I = `/mjr/am/metadata?type=${encodeURIComponent(a)}&filename=${encodeURIComponent(c)}`; - return u && (I += `&filepath=${encodeURIComponent(u)}`), s && (I += `&subfolder=${encodeURIComponent(s)}`), d && (I += `&root_id=${encodeURIComponent(d)}`), Rt(I, l); + return u && (I += `&filepath=${encodeURIComponent(u)}`), s && (I += `&subfolder=${encodeURIComponent(s)}`), d && (I += `&root_id=${encodeURIComponent(d)}`), Ft(I, l); } -async function dh({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, i = {}) { +async function gh({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, i = {}) { var d, u; try { if (globalThis.__mjrFolderInfoSupported === !1) @@ -3729,10 +3743,10 @@ async function dh({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, code: "UNAVAILABLE" }; if (globalThis.__mjrFolderInfoSupported == null) { - const I = await Rt("/mjr/am/routes"); + const I = await Ft("/mjr/am/routes"); if (I != null && I.ok && Array.isArray(I.data)) { const p = I.data.some( - (M) => String((M == null ? void 0 : M.path) || "").trim() === "/mjr/am/folder-info" + (S) => String((S == null ? void 0 : S.path) || "").trim() === "/mjr/am/folder-info" ); if (globalThis.__mjrFolderInfoSupported = !!p, !p) return { @@ -3748,10 +3762,10 @@ async function dh({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, (d = console.debug) == null || d.call(console, I); } const o = String(e || "").trim(), r = String(t || "").trim(), l = String(n || "").trim(); - let a = lt.FOLDER_INFO; + let a = ct.FOLDER_INFO; const c = []; o ? (c.push(`filepath=${encodeURIComponent(o)}`), c.push("browser_mode=1")) : (r && c.push(`root_id=${encodeURIComponent(r)}`), l && c.push(`subfolder=${encodeURIComponent(l)}`)), c.length && (a += `?${c.join("&")}`); - const s = await Rt(a, i); + const s = await Ft(a, i); try { !(s != null && s.ok) && Number((s == null ? void 0 : s.status) || 0) === 404 && (globalThis.__mjrFolderInfoSupported = !1); } catch (I) { @@ -3759,7 +3773,7 @@ async function dh({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, } return s; } -const Me = Object.freeze({ +const Ge = Object.freeze({ // Debug / diagnostics (opt-in) DEBUG_SAFE_CALL: !1, DEBUG_SAFE_LISTENERS: !1, @@ -3811,12 +3825,13 @@ const Me = Object.freeze({ BADGE_MODEL3D_COLOR: "#4CAF50", BADGE_DUPLICATE_ALERT_COLOR: "#FF1744", // Pagination - DEFAULT_PAGE_SIZE: 200, + DEFAULT_PAGE_SIZE: 80, // Upper bound for a single list request. The backend allows more, but very large // pages can create huge DOM batches; keep this as a safety cap. MAX_PAGE_SIZE: 2e3, - // Prefetch next page immediately after initial load for faster scrolling + // Prefetch next page after the first paint so initial grid render stays responsive PREFETCH_NEXT_PAGE: !0, + PREFETCH_NEXT_PAGE_DELAY_MS: 700, // Client-side default for search request limit (user-adjustable in settings) SEARCH_DEFAULT_LIMIT: 500, INFINITE_SCROLL_ENABLED: !0, @@ -3835,7 +3850,7 @@ const Me = Object.freeze({ VIEWER_PAUSE_DURING_EXECUTION: !0, FLOATING_VIEWER_PAUSE_DURING_EXECUTION: !1, MFV_SIDEBAR_POSITION: "right", - MFV_LIVE_DEFAULT: !0, + MFV_LIVE_DEFAULT: !1, MFV_PREVIEW_DEFAULT: !0, MFV_PREVIEW_METHOD: "taesd", // Rating/tags hydration (grid) @@ -3854,32 +3869,32 @@ const Me = Object.freeze({ // UI safety knobs DELETE_CONFIRMATION: !0, DEBUG_VERBOSE_ERRORS: !1 -}), ye = { - ...Me +}), fe = { + ...Ge }; -function to(e, ...t) { +function io(e, ...t) { try { - ye.DEBUG_VERBOSE_ERRORS && console.debug(e, ...t); + fe.DEBUG_VERBOSE_ERRORS && console.debug(e, ...t); } catch { } } -function li(e, t = "Majoor", { showToast: n = !1, toastType: i = "error" } = {}) { +function ai(e, t = "Majoor", { showToast: n = !1, toastType: i = "error" } = {}) { var r, l; const o = (e == null ? void 0 : e.message) || String(e || "Unknown error"); try { - ye.DEBUG_VERBOSE_ERRORS ? console.error(`[Majoor][${t}]`, o, e) : console.debug(`[Majoor][${t}]`, o); + fe.DEBUG_VERBOSE_ERRORS ? console.error(`[Majoor][${t}]`, o, e) : console.debug(`[Majoor][${t}]`, o); } catch (a) { (r = console.debug) == null || r.call(console, a); } - if (n && ye.DEBUG_VERBOSE_ERRORS) + if (n && fe.DEBUG_VERBOSE_ERRORS) try { - Ce(`${t}: ${o}`, i, 4e3); + Ze(`${t}: ${o}`, i, 4e3); } catch (a) { (l = console.debug) == null || l.call(console, a); } } -let nu = !1, lo = null, iu = !1, cc = null; -function uh() { +let ou = !1, co = null, ru = !1, sc = null; +function Ih() { var e; try { const t = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__; @@ -3888,25 +3903,25 @@ function uh() { return (e = console.debug) == null || e.call(console, t), !0; } } -async function gl(e = {}) { - if (!ye || typeof ye != "object" || !ye.AUTO_SCAN_ON_STARTUP || nu) return; +async function Il(e = {}) { + if (!fe || typeof fe != "object" || !fe.AUTO_SCAN_ON_STARTUP || ou) return; const t = Math.max(0, Number(e == null ? void 0 : e.delayMs) || 0), n = (e == null ? void 0 : e.idleOnly) !== !1; if (t > 0) { - lo && clearTimeout(lo), lo = setTimeout(() => { - lo = null, gl({ ...e, delayMs: 0 }); + co && clearTimeout(co), co = setTimeout(() => { + co = null, Il({ ...e, delayMs: 0 }); }, t); return; } - if (n && !uh()) { - lo && clearTimeout(lo), lo = setTimeout(() => { - lo = null, gl({ ...e, delayMs: 0 }); + if (n && !Ih()) { + co && clearTimeout(co), co = setTimeout(() => { + co = null, Il({ ...e, delayMs: 0 }); }, 5e3); return; } - nu = !0; + ou = !0; try { - to("[Majoor] Starting startup scan of output directory..."); - const i = await Et(lt.SCAN, { + io("[Majoor] Starting startup scan of output directory..."); + const i = await Et(ct.SCAN, { recursive: !0, incremental: !0, fast: !0, @@ -3914,7 +3929,7 @@ async function gl(e = {}) { }); if (i.ok) { const o = i.data; - to( + io( `[Majoor] Startup scan complete β€” added: ${o.added}, updated: ${o.updated}, skipped: ${o.skipped}` ); } else @@ -3923,39 +3938,39 @@ async function gl(e = {}) { console.error("πŸ“‚ Majoor [❌]: Startup scan error:", i); } } -async function mh() { +async function bh() { var e; try { await Promise.allSettled([ - Rt(lt.HEALTH), - Rt(`${lt.HEALTH_COUNTERS}?scope=output`), - Rt(lt.HEALTH_DB) + Ft(ct.HEALTH), + Ft(`${ct.HEALTH_COUNTERS}?scope=output`), + Ft(ct.HEALTH_DB) ]); } catch (t) { (e = console.debug) == null || e.call(console, t); } } -async function gh(e = {}) { - return iu ? cc || Promise.resolve() : (iu = !0, cc = (async () => { - await mh(), await gl(e); - })(), cc); +async function ph(e = {}) { + return ru ? sc || Promise.resolve() : (ru = !0, sc = (async () => { + await bh(), await Il(e); + })(), sc); } -async function Ih() { +async function yh() { try { - to("[Majoor] Testing API connection..."); - const e = await Rt(lt.HEALTH); - e != null && e.ok ? to("[Majoor] API connection successful, health:", e.data.overall) : console.error("πŸ“‚ Majoor [❌]: API health check failed:", e == null ? void 0 : e.error); + io("[Majoor] Testing API connection..."); + const e = await Ft(ct.HEALTH); + e != null && e.ok ? io("[Majoor] API connection successful, health:", e.data.overall) : console.error("πŸ“‚ Majoor [❌]: API health check failed:", e == null ? void 0 : e.error); } catch (e) { console.error("πŸ“‚ Majoor [❌]: Failed to connect to API:", e); } } -const bh = async (e, t = "Majoor", n = {}) => { +const fh = async (e, t = "Majoor", n = {}) => { var r, l, a; if ((n == null ? void 0 : n.native) !== !1) { - const c = Kg(); + const c = Dg(); if (c) try { - c.show(Dg(e, t)); + c.show(Eg(e, t)); try { c.element.style.zIndex = "1100"; } catch (s) { @@ -3966,7 +3981,7 @@ const bh = async (e, t = "Majoor", n = {}) => { (l = console.debug) == null || l.call(console, s); } } - const o = Sr(); + const o = jr(); if (!o) { try { window.alert(e); @@ -3978,13 +3993,13 @@ const bh = async (e, t = "Majoor", n = {}) => { return new Promise((c) => { var I; const s = new o(); - Gr(s); + vr(s); const d = () => { var p; try { s.close(); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } c(); }, u = bn( @@ -4052,7 +4067,7 @@ const bh = async (e, t = "Majoor", n = {}) => { ] ); try { - s.show(u), setTimeout(() => xr(s), 0); + s.show(u), setTimeout(() => Lr(s), 0); } catch { try { window.alert(e); @@ -4062,9 +4077,9 @@ const bh = async (e, t = "Majoor", n = {}) => { c(); } }); -}, bi = async (e, t = "Majoor") => { +}, yi = async (e, t = "Majoor") => { var o; - const n = Js(); + const n = Bs(); if (n) try { const r = { @@ -4075,7 +4090,7 @@ const bh = async (e, t = "Majoor", n = {}) => { } catch (r) { (o = console.debug) == null || o.call(console, r); } - const i = Sr(); + const i = jr(); if (!i) try { return window.confirm(e); @@ -4084,7 +4099,7 @@ const bh = async (e, t = "Majoor", n = {}) => { } return new Promise((r) => { const l = new i(); - Gr(l); + vr(l); const a = (s) => { var d; try { @@ -4171,7 +4186,7 @@ const bh = async (e, t = "Majoor", n = {}) => { ] ); try { - l.show(c), setTimeout(() => xr(l), 0); + l.show(c), setTimeout(() => Lr(l), 0); } catch { try { r(!!window.confirm(e)); @@ -4180,8 +4195,8 @@ const bh = async (e, t = "Majoor", n = {}) => { } } }); -}, ph = async (e, t = "Majoor", n = {}) => { - const i = String((n == null ? void 0 : n.yes) || m("dialog.yes", "Yes")), o = String((n == null ? void 0 : n.no) || m("dialog.no", "No")), r = String((n == null ? void 0 : n.cancel) || m("dialog.cancel", "Cancel")), l = Sr(); +}, hh = async (e, t = "Majoor", n = {}) => { + const i = String((n == null ? void 0 : n.yes) || m("dialog.yes", "Yes")), o = String((n == null ? void 0 : n.no) || m("dialog.no", "No")), r = String((n == null ? void 0 : n.cancel) || m("dialog.cancel", "Cancel")), l = jr(); if (!l) try { const a = window.prompt( @@ -4198,7 +4213,7 @@ ${i}=y, ${o}=n, ${r}=c`, } return new Promise((a) => { const c = new l(); - Gr(c); + vr(c); const s = (u) => { var I; try { @@ -4306,19 +4321,19 @@ ${i}=y, ${o}=n, ${r}=c`, ] ); try { - c.show(d), setTimeout(() => xr(c), 0); + c.show(d), setTimeout(() => Lr(c), 0); } catch { a("cancel"); } }); -}, yh = async (e, t = "Majoor", n = []) => { +}, Ch = async (e, t = "Majoor", n = []) => { const i = Array.isArray(n) ? n.filter((r) => r && typeof r == "object").map((r, l) => ({ id: String(r.id || `choice_${l}`), label: String(r.label || r.id || `Choice ${l + 1}`), variant: String(r.variant || "").toLowerCase() })) : []; if (!i.length) return null; - const o = Sr(); + const o = jr(); if (!o) try { const r = i.map((c, s) => `${s + 1}. ${c.label}`).join(` @@ -4340,7 +4355,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } return new Promise((r) => { const l = new o(); - Gr(l); + vr(l); const a = (d) => { var u; try { @@ -4423,14 +4438,14 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, ] ); try { - l.show(s), setTimeout(() => xr(l), 0); + l.show(s), setTimeout(() => Lr(l), 0); } catch { r(null); } }); -}, ji = async (e, t = "", n = "Majoor") => { +}, Vi = async (e, t = "", n = "Majoor") => { var r; - const i = Js(); + const i = Bs(); if (i) try { const l = { @@ -4442,7 +4457,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } catch (l) { (r = console.debug) == null || r.call(console, l); } - const o = Sr(); + const o = jr(); if (!o) try { return window.prompt(e, t); @@ -4451,7 +4466,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } return new Promise((l) => { const a = new o(); - Gr(a); + vr(a); const c = (u) => { var I; try { @@ -4540,7 +4555,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, ] ); try { - a.show(d), setTimeout(() => xr(a), 0), setTimeout(() => { + a.show(d), setTimeout(() => Lr(a), 0), setTimeout(() => { var u; try { s.focus(), s.select(); @@ -4556,17 +4571,17 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } } }); -}, qa = () => { +}, Pa = () => { try { const e = Qn(); return (e == null ? void 0 : e.ui) || null; } catch { return null; } -}, Js = () => { +}, Bs = () => { var e, t, n; try { - const i = Qn(), o = Wy(i); + const i = Qn(), o = Sy(i); if (o && typeof o.confirm == "function" && typeof o.prompt == "function") return o; } catch (i) { @@ -4580,20 +4595,20 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, (n = console.debug) == null || n.call(console, i); } return null; -}, Kg = () => { +}, Dg = () => { var e; try { - const t = qa(); + const t = Pa(); if (t != null && t.dialog && typeof t.dialog.show == "function") return t.dialog; } catch (t) { (e = console.debug) == null || e.call(console, t); } return null; -}, Dg = (e, t = "Majoor") => { +}, Eg = (e, t = "Majoor") => { const n = String(e ?? ""), i = String(t ?? "").trim(); return !i || i.toLowerCase() === "majoor" ? n : `${i}

${n}`; -}, fh = /* @__PURE__ */ new Set([ +}, Zh = /* @__PURE__ */ new Set([ "abort", "blur", "change", @@ -4633,7 +4648,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, "transitionend", "unload", "wheel" -]), hh = /* @__PURE__ */ new Set([ +]), Ah = /* @__PURE__ */ new Set([ "__proto__", "constructor", "prototype", @@ -4644,7 +4659,7 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, "__defineSetter__", "__lookupGetter__", "__lookupSetter__" -]), Ch = /* @__PURE__ */ new Set([ +]), Wh = /* @__PURE__ */ new Set([ "id", "name", "value", @@ -4657,12 +4672,12 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, "htmlFor", "role", "tabIndex" -]), Zh = (e, t = {}, n = []) => { +]), wh = (e, t = {}, n = []) => { const i = document.createElement(e); return Object.entries(t || {}).forEach(([r, l]) => { var c, s; const a = String(r || ""); - if (!(!a || hh.has(a))) { + if (!(!a || Ah.has(a))) { if (r === "style" && l && typeof l == "object") { Object.assign(i.style, l); return; @@ -4674,11 +4689,11 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, if (a.startsWith("on")) { if (typeof l == "function") { const d = a.slice(2).toLowerCase(); - fh.has(d) && i.addEventListener(d, l); + Zh.has(d) && i.addEventListener(d, l); } return; } - if (Ch.has(a)) + if (Wh.has(a)) try { i[a] = l; return; @@ -4699,24 +4714,24 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } }), i; }, bn = (e, t, n) => { - const i = qa(); + const i = Pa(); if (i != null && i.$el) try { return i.$el(e, t, n); } catch { } - return Zh(e, t, n); -}, Sr = () => { - const e = qa(); + return wh(e, t, n); +}, jr = () => { + const e = Pa(); return (e == null ? void 0 : e.ComfyDialog) || null; -}, Ah = 999999, Wh = 560, wh = 12, Gr = (e) => { +}, Mh = 999999, Sh = 560, Gh = 12, vr = (e) => { var t; try { - e.element.style.zIndex = String(Ah), e.element.style.width = `${Wh}px`, e.element.style.padding = "0", e.element.style.backgroundColor = "var(--comfy-menu-bg, #131722)", e.element.style.border = "1px solid rgba(255,255,255,0.14)", e.element.style.borderRadius = `${wh}px`, e.element.style.boxSizing = "border-box", e.element.style.overflow = "hidden", e.element.style.boxShadow = "0 18px 48px rgba(0,0,0,0.48)"; + e.element.style.zIndex = String(Mh), e.element.style.width = `${Sh}px`, e.element.style.padding = "0", e.element.style.backgroundColor = "var(--comfy-menu-bg, #131722)", e.element.style.border = "1px solid rgba(255,255,255,0.14)", e.element.style.borderRadius = `${Gh}px`, e.element.style.boxSizing = "border-box", e.element.style.overflow = "hidden", e.element.style.boxShadow = "0 18px 48px rgba(0,0,0,0.48)"; } catch (n) { (t = console.debug) == null || t.call(console, n); } -}, xr = (e) => { +}, Lr = (e) => { var t, n, i; try { const o = e == null ? void 0 : e.element; @@ -4734,39 +4749,39 @@ ${m("dialog.choiceTypeNumber", "Type a number:")}`, } catch (o) { (i = console.debug) == null || i.call(console, o); } -}, Mh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ +}, xh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, $el: bn, - comfyAlert: bh, - comfyChoice: yh, - comfyConfirm: bi, - comfyPrompt: ji, - comfyYesNoCancel: ph, - getComfyDialogCtor: Sr, - getComfyUi: qa, - getExtensionManagerDialog: Js, - getNativeDialog: Kg, - hideDialogNativeClose: xr, - styleDialog: Gr, - toNativeDialogMessage: Dg -}, Symbol.toStringTag, { value: "Module" })), Ec = "mjr:version-update-available", Sh = "__MJR_VERSION_UPDATE_STATE__", Gh = "https://api.github.com/repos/MajoorWaldi/ComfyUI-Majoor-AssetsManager/releases/latest", xh = "https://api.github.com/repos/MajoorWaldi/ComfyUI-Majoor-AssetsManager/releases/tags/nightly", sc = "majoor_last_update_check", ou = "majoor_version_toast_notice_version", ru = "majoor_nightly_release_marker", jh = 1440 * 60 * 1e3; -let na = { available: !1, timestamp: Date.now() }; -function Eg(e) { + comfyAlert: fh, + comfyChoice: Ch, + comfyConfirm: yi, + comfyPrompt: Vi, + comfyYesNoCancel: hh, + getComfyDialogCtor: jr, + getComfyUi: Pa, + getExtensionManagerDialog: Bs, + getNativeDialog: Dg, + hideDialogNativeClose: Lr, + styleDialog: vr, + toNativeDialogMessage: Eg +}, Symbol.toStringTag, { value: "Module" })), qc = "mjr:version-update-available", jh = "__MJR_VERSION_UPDATE_STATE__", vh = "https://api.github.com/repos/MajoorWaldi/ComfyUI-Majoor-AssetsManager/releases/latest", Lh = "https://api.github.com/repos/MajoorWaldi/ComfyUI-Majoor-AssetsManager/releases/tags/nightly", dc = "majoor_last_update_check", lu = "majoor_version_toast_notice_version", au = "majoor_nightly_release_marker", Vh = 1440 * 60 * 1e3; +let ia = { available: !1, timestamp: Date.now() }; +function Hg(e) { return e ? String(e).trim().replace(/^v/i, "") : ""; } -function vh(e, t) { +function Yh(e, t) { const n = String(e || "").trim().toLowerCase(), i = String(t || "").trim().toLowerCase(), r = ["nightly", "dev", "alpha", "experimental"].some((a) => n.includes(a) || i.includes(a)), l = n.includes("+") || n.length > 10 && /^[a-f0-9]+$/i.test(n); return r || l; } -function lu(e) { +function cu(e) { return String(e || "").split("-")[0].split(".").map((t) => { const n = parseInt(t, 10); return Number.isFinite(n) ? Math.max(0, n) : 0; }); } -function Lh(e, t) { +function kh(e, t) { if (!e || !t) return !1; - const n = lu(e), i = lu(t), o = Math.max(n.length, i.length); + const n = cu(e), i = cu(t), o = Math.max(n.length, i.length); for (let r = 0; r < o; r += 1) { const l = Number.isFinite(n[r]) ? n[r] : 0, a = Number.isFinite(i[r]) ? i[r] : 0; if (l > a) return !0; @@ -4774,7 +4789,7 @@ function Lh(e, t) { } return !1; } -function Yh(e) { +function Xh(e) { var n, i; const t = Math.max(1, Number(e) || 1e4); try { @@ -4812,8 +4827,8 @@ function Yh(e) { return { signal: void 0, cleanup: () => { } }; } -async function Hg(e) { - const { signal: t, cleanup: n } = Yh(1e4), i = await fetch(e, { +async function qg(e) { + const { signal: t, cleanup: n } = Xh(1e4), i = await fetch(e, { cache: "no-cache", signal: t, headers: { @@ -4827,72 +4842,72 @@ async function Hg(e) { throw new Error("GitHub release returned invalid payload"); return o; } -async function Vh() { - const e = await Hg(Gh); - return Eg(e.tag_name); +async function Nh() { + const e = await qg(vh); + return Hg(e.tag_name); } -async function kh() { - const e = await Hg(xh); +async function Rh() { + const e = await qg(Lh); return String( e.published_at || e.created_at || e.updated_at || e.target_commitish || e.tag_name || "" ).trim(); } -function ao(e) { +function so(e) { var n, i; - na = { ...e, timestamp: Date.now() }; + ia = { ...e, timestamp: Date.now() }; const t = typeof window < "u" ? window : null; if (t) { try { - t[Sh] = na; + t[jh] = ia; } catch (o) { (n = console.debug) == null || n.call(console, o); } try { - t.dispatchEvent(new CustomEvent(Ec, { detail: na })); + t.dispatchEvent(new CustomEvent(qc, { detail: ia })); } catch (o) { (i = console.debug) == null || i.call(console, o); } } } -function Xh() { - return na; +function Fh() { + return ia; } -async function Nh({ force: e = !1 } = {}) { +async function Oh({ force: e = !1 } = {}) { var r, l, a, c, s; if (typeof window > "u") return null; let t, n; try { - const d = await Rt(lt.VERSION); + const d = await Ft(ct.VERSION); if (!(d != null && d.ok)) - return ao({ available: !1 }), null; - t = Eg((r = d.data) == null ? void 0 : r.version), n = String(((l = d.data) == null ? void 0 : l.branch) || "").trim().toLowerCase(); + return so({ available: !1 }), null; + t = Hg((r = d.data) == null ? void 0 : r.version), n = String(((l = d.data) == null ? void 0 : l.branch) || "").trim().toLowerCase(); } catch { - return ao({ available: !1 }), null; + return so({ available: !1 }), null; } let i = !1; try { if (!e) { - const d = Number(ni.get(sc) || 0); - Number.isFinite(d) && Date.now() - d < jh && (i = !0); + const d = Number(ni.get(dc) || 0); + Number.isFinite(d) && Date.now() - d < Vh && (i = !0); } } catch { } - if (!t || vh(t, n)) { + if (!t || Yh(t, n)) { if (i) - return ao({ available: !1 }), null; + return so({ available: !1 }), null; let d; try { - d = await kh(); + d = await Rh(); const u = String( - ni.get(ru) || "" + ni.get(au) || "" ).trim(), I = !!(u && d && u !== d); - if (ao({ + if (so({ available: I, current: t || "nightly", latest: "nightly", channel: "nightly" - }), I && Ce( + }), I && Ze( { summary: m("msg.nightlyUpdateTitle", "Majoor Assets Manager"), detail: m( @@ -4904,15 +4919,15 @@ async function Nh({ force: e = !1 } = {}) { 0 ), d) try { - ni.set(ru, d); + ni.set(au, d); } catch (p) { (a = console.debug) == null || a.call(console, p); } } catch (u) { - console.warn("Unable to check Majoor nightly updates:", u), ao({ available: !1 }); + console.warn("Unable to check Majoor nightly updates:", u), so({ available: !1 }); } finally { try { - ni.set(sc, String(Date.now())); + ni.set(dc, String(Date.now())); } catch { } } @@ -4922,27 +4937,27 @@ async function Nh({ force: e = !1 } = {}) { return null; let o; try { - o = await Vh(); + o = await Nh(); } catch (d) { - return console.warn("Unable to check Majoor updates:", d), ao({ available: !1 }), null; + return console.warn("Unable to check Majoor updates:", d), so({ available: !1 }), null; } finally { try { - ni.set(sc, String(Date.now())); + ni.set(dc, String(Date.now())); } catch { } } - if (!o || !Lh(o, t)) - return ao({ available: !1 }), null; - ao({ + if (!o || !kh(o, t)) + return so({ available: !1 }), null; + so({ available: !0, current: t, latest: o }); try { if (String( - ni.get(ou) || "" + ni.get(lu) || "" ).trim() !== o) { - Ce( + Ze( { summary: m("msg.newVersionTitle", "Majoor Assets Manager"), detail: m( @@ -4958,7 +4973,7 @@ async function Nh({ force: e = !1 } = {}) { 0 ); try { - ni.set(ou, o); + ni.set(lu, o); } catch (u) { (c = console.debug) == null || c.call(console, u); } @@ -4968,7 +4983,7 @@ async function Nh({ force: e = !1 } = {}) { } return { current: t, latest: o }; } -function Hc() { +function Pc() { const e = "mjr-feed-selection-override"; if (typeof document > "u" || document.getElementById(e)) return; const t = document.createElement("style"); @@ -4984,11 +4999,11 @@ function Hc() { } `, document.head.appendChild(t); } -function Rh({ enabled: e = !0 } = {}) { +function zh({ enabled: e = !0 } = {}) { if (!e) return; const t = "mjr-theme-comfy-css"; if (document.getElementById(t)) { - Hc(); + Pc(); return; } try { @@ -5003,7 +5018,7 @@ function Rh({ enabled: e = !0 } = {}) { }, document.head.appendChild(i), i.onload = () => { var o; try { - document.documentElement.dataset.mjrThemeComfy = "1", Hc(); + document.documentElement.dataset.mjrThemeComfy = "1", Pc(); } catch (r) { (o = console.debug) == null || o.call(console, r); } @@ -5012,25 +5027,25 @@ function Rh({ enabled: e = !0 } = {}) { console.warn("Majoor: failed to load Comfy theme CSS", n); } } -Hc(); -const dc = "mjr-runtime-status-dashboard", Fh = "__mjr_write_token"; -function Oh() { +Pc(); +const uc = "mjr-runtime-status-dashboard", Jh = "__mjr_write_token"; +function Th() { var e; try { - return String(((e = sessionStorage == null ? void 0 : sessionStorage.getItem) == null ? void 0 : e.call(sessionStorage, Fh)) || "").trim(); + return String(((e = sessionStorage == null ? void 0 : sessionStorage.getItem) == null ? void 0 : e.call(sessionStorage, Jh)) || "").trim(); } catch { return ""; } } -function au(e, t) { +function su(e, t) { const n = t === "auth" ? "__mjrAuthLine" : "__mjrMetricsLine"; if (e != null && e[n]) return e[n]; const i = document.createElement("div"); return i.style.whiteSpace = "nowrap", i.style.lineHeight = "1.35", t === "auth" && (i.style.marginTop = "4px", i.style.fontWeight = "600"), e.appendChild(i), e[n] = i, i; } -function zh(e) { - const t = Oh(), i = String((e == null ? void 0 : e.token_hint) || "").trim() || (t ? `...${t.slice(-4)}` : ""), o = (e == null ? void 0 : e.allow_write) !== !1, r = (e == null ? void 0 : e.require_auth) === !0, l = (e == null ? void 0 : e.token_configured) === !0; +function Bh(e) { + const t = Th(), i = String((e == null ? void 0 : e.token_hint) || "").trim() || (t ? `...${t.slice(-4)}` : ""), o = (e == null ? void 0 : e.allow_write) !== !1, r = (e == null ? void 0 : e.require_auth) === !0, l = (e == null ? void 0 : e.token_configured) === !0; return o ? t ? { text: m("runtime.writeAuthActive", "Write auth: active {tokenHint}", { tokenHint: i || "(session)" @@ -5057,10 +5072,10 @@ function zh(e) { color: "#ff9b9b" }; } -function Jh() { +function Uh() { var e, t, n; try { - const i = document.querySelector(".mjr-assets-manager.mjr-am-container"), o = document.getElementById(dc); + const i = document.querySelector(".mjr-assets-manager.mjr-am-container"), o = document.getElementById(uc); if (!i) { try { (e = o == null ? void 0 : o.remove) == null || e.call(o); @@ -5075,21 +5090,21 @@ function Jh() { } catch (l) { (n = console.debug) == null || n.call(console, l); } - let r = document.getElementById(dc); - return r ? r.parentElement !== i && i.appendChild(r) : (r = document.createElement("div"), r.id = dc, r.style.position = "absolute", r.style.bottom = "10px", r.style.right = "10px", r.style.zIndex = "9999", r.style.padding = "6px 10px", r.style.borderRadius = "10px", r.style.border = "1px solid rgba(255,255,255,0.16)", r.style.background = "rgba(0,0,0,0.45)", r.style.backdropFilter = "blur(4px)", r.style.color = "var(--content-fg, #fff)", r.style.fontSize = "11px", r.style.pointerEvents = "none", r.style.display = "flex", r.style.flexDirection = "column", i.appendChild(r)), r; + let r = document.getElementById(uc); + return r ? r.parentElement !== i && i.appendChild(r) : (r = document.createElement("div"), r.id = uc, r.style.position = "absolute", r.style.bottom = "10px", r.style.right = "10px", r.style.zIndex = "9999", r.style.padding = "6px 10px", r.style.borderRadius = "10px", r.style.border = "1px solid rgba(255,255,255,0.16)", r.style.background = "rgba(0,0,0,0.45)", r.style.backdropFilter = "blur(4px)", r.style.color = "var(--content-fg, #fff)", r.style.fontSize = "11px", r.style.pointerEvents = "none", r.style.display = "flex", r.style.flexDirection = "column", i.appendChild(r)), r; } catch { return null; } } -async function cu() { +async function du() { var i; - const e = Jh(); + const e = Uh(); if (!e) return !1; - const t = au(e, "metrics"), n = au(e, "auth"); + const t = su(e, "metrics"), n = su(e, "auth"); try { const [o, r] = await Promise.all([ - kf(), - Lg() + Rf(), + Vg() ]); let l = m("runtime.unavailable", "Runtime: unavailable"); if (!(o != null && o.ok) || !(o != null && o.data)) @@ -5109,7 +5124,7 @@ Watcher pending files: {pending}`, { active: u, enrichQ: I, pending: p } ); } - const a = zh(((i = r == null ? void 0 : r.data) == null ? void 0 : i.prefs) || null); + const a = Bh(((i = r == null ? void 0 : r.data) == null ? void 0 : i.prefs) || null); return n.textContent = a.text, n.style.color = a.color, e.title = `${l} ${a.text}`, !0; } catch { @@ -5117,12 +5132,12 @@ ${a.text}`, !0; ${n.textContent}`, !0; } } -function Th() { +function Kh() { var e; try { - cu().catch(() => { + du().catch(() => { }), window.__MJR_RUNTIME_STATUS_INFLIGHT__ == null && (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !1), window.__MJR_RUNTIME_STATUS_MISS_COUNT__ == null && (window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = 0), window.__MJR_RUNTIME_STATUS_INTERVAL__ || (window.__MJR_RUNTIME_STATUS_INTERVAL__ = setInterval(() => { - window.__MJR_RUNTIME_STATUS_INFLIGHT__ || (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !0, cu().then((t) => { + window.__MJR_RUNTIME_STATUS_INFLIGHT__ || (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !0, du().then((t) => { if (t) { window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = 0; return; @@ -5137,7 +5152,7 @@ function Th() { (e = console.debug) == null || e.call(console, t); } } -function ii(e, t, { target: n = null, warnPrefix: i = "[Majoor]" } = {}) { +function oi(e, t, { target: n = null, warnPrefix: i = "[Majoor]" } = {}) { var r; const o = n || (typeof window < "u" ? window : null); if (!o || typeof o.dispatchEvent != "function") return !1; @@ -5163,81 +5178,81 @@ const kn = (e, t) => { }, Gn = (e, t) => { const n = Number(e); return Number.isFinite(n) ? n : Number(t); -}, Ts = (e, t, n) => { +}, Us = (e, t, n) => { const i = typeof e == "string" ? e.trim() : String(e ?? ""); return t.includes(i) ? i : n; -}, Bh = (e) => e === "__proto__" || e === "prototype" || e === "constructor", qg = (e, t) => { +}, Dh = (e) => e === "__proto__" || e === "prototype" || e === "constructor", Pg = (e, t) => { const n = { ...e }; return !t || typeof t != "object" || Object.keys(t).forEach((i) => { - if (Bh(i)) return; + if (Dh(i)) return; const o = t[i]; - o && typeof o == "object" && !Array.isArray(o) ? n[i] = qg(e[i] || {}, o) : o !== void 0 && (n[i] = o); + o && typeof o == "object" && !Array.isArray(o) ? n[i] = Pg(e[i] || {}, o) : o !== void 0 && (n[i] = o); }), n; -}, Pg = Object.freeze({ +}, Qg = Object.freeze({ small: 80, medium: 120, large: 180 -}), Qg = Object.freeze(["small", "medium", "large"]), qc = (e, t) => Math.max(60, Math.min(600, Math.round(Gn(e, t)))), Uh = (e = {}) => { +}), _g = Object.freeze(["small", "medium", "large"]), Qc = (e, t) => Math.max(60, Math.min(600, Math.round(Gn(e, t)))), Eh = (e = {}) => { const t = Number(e == null ? void 0 : e.minSize); if (Number.isFinite(t)) - return qc(t, Me.GRID_MIN_SIZE); - const n = Ts( + return Qc(t, Ge.GRID_MIN_SIZE); + const n = Us( String((e == null ? void 0 : e.minSizePreset) || "").toLowerCase(), - Qg, + _g, "" ); - return n ? Pg[n] : qc(e == null ? void 0 : e.minSize, Me.GRID_MIN_SIZE); -}, Kh = (e = {}) => qc(e == null ? void 0 : e.minSize, Me.FEED_GRID_MIN_SIZE), uc = (e) => { - const t = Math.round(Gn(e, Me.GRID_MIN_SIZE)); + return n ? Qg[n] : Qc(e == null ? void 0 : e.minSize, Ge.GRID_MIN_SIZE); +}, Hh = (e = {}) => Qc(e == null ? void 0 : e.minSize, Ge.FEED_GRID_MIN_SIZE), mc = (e) => { + const t = Math.round(Gn(e, Ge.GRID_MIN_SIZE)); return t <= 100 ? "small" : t >= 150 ? "large" : "medium"; }, Un = { debug: { - safeCall: Me.DEBUG_SAFE_CALL, - safeListeners: Me.DEBUG_SAFE_LISTENERS, - viewer: Me.DEBUG_VIEWER + safeCall: Ge.DEBUG_SAFE_CALL, + safeListeners: Ge.DEBUG_SAFE_LISTENERS, + viewer: Ge.DEBUG_VIEWER }, grid: { - pageSize: Me.DEFAULT_PAGE_SIZE, - minSize: Me.GRID_MIN_SIZE, + pageSize: Ge.DEFAULT_PAGE_SIZE, + minSize: Ge.GRID_MIN_SIZE, minSizePreset: "medium", - gap: Me.GRID_GAP, - showExtBadge: Me.GRID_SHOW_BADGES_EXTENSION, - showRatingBadge: Me.GRID_SHOW_BADGES_RATING, - showTagsBadge: Me.GRID_SHOW_BADGES_TAGS, - showDetails: Me.GRID_SHOW_DETAILS, - showFilename: Me.GRID_SHOW_DETAILS_FILENAME, - showDate: Me.GRID_SHOW_DETAILS_DATE, - showDimensions: Me.GRID_SHOW_DETAILS_DIMENSIONS, - showGenTime: Me.GRID_SHOW_DETAILS_GENTIME, - showHoverInfo: Me.GRID_SHOW_HOVER_INFO, - showWorkflowDot: Me.GRID_SHOW_WORKFLOW_DOT, - videoAutoplayMode: Me.GRID_VIDEO_AUTOPLAY_MODE, - starColor: Me.BADGE_STAR_COLOR, - badgeImageColor: Me.BADGE_IMAGE_COLOR, - badgeVideoColor: Me.BADGE_VIDEO_COLOR, - badgeAudioColor: Me.BADGE_AUDIO_COLOR, - badgeModel3dColor: Me.BADGE_MODEL3D_COLOR, - badgeDuplicateAlertColor: Me.BADGE_DUPLICATE_ALERT_COLOR + gap: Ge.GRID_GAP, + showExtBadge: Ge.GRID_SHOW_BADGES_EXTENSION, + showRatingBadge: Ge.GRID_SHOW_BADGES_RATING, + showTagsBadge: Ge.GRID_SHOW_BADGES_TAGS, + showDetails: Ge.GRID_SHOW_DETAILS, + showFilename: Ge.GRID_SHOW_DETAILS_FILENAME, + showDate: Ge.GRID_SHOW_DETAILS_DATE, + showDimensions: Ge.GRID_SHOW_DETAILS_DIMENSIONS, + showGenTime: Ge.GRID_SHOW_DETAILS_GENTIME, + showHoverInfo: Ge.GRID_SHOW_HOVER_INFO, + showWorkflowDot: Ge.GRID_SHOW_WORKFLOW_DOT, + videoAutoplayMode: Ge.GRID_VIDEO_AUTOPLAY_MODE, + starColor: Ge.BADGE_STAR_COLOR, + badgeImageColor: Ge.BADGE_IMAGE_COLOR, + badgeVideoColor: Ge.BADGE_VIDEO_COLOR, + badgeAudioColor: Ge.BADGE_AUDIO_COLOR, + badgeModel3dColor: Ge.BADGE_MODEL3D_COLOR, + badgeDuplicateAlertColor: Ge.BADGE_DUPLICATE_ALERT_COLOR }, infiniteScroll: { - enabled: Me.INFINITE_SCROLL_ENABLED, - rootMargin: Me.INFINITE_SCROLL_ROOT_MARGIN, - threshold: Me.INFINITE_SCROLL_THRESHOLD, - bottomGapPx: Me.BOTTOM_GAP_PX + enabled: Ge.INFINITE_SCROLL_ENABLED, + rootMargin: Ge.INFINITE_SCROLL_ROOT_MARGIN, + threshold: Ge.INFINITE_SCROLL_THRESHOLD, + bottomGapPx: Ge.BOTTOM_GAP_PX }, siblings: { hidePngSiblings: !0 }, autoScan: { - onStartup: Me.AUTO_SCAN_ON_STARTUP + onStartup: Ge.AUTO_SCAN_ON_STARTUP }, scan: { fastMode: !0 }, watcher: { enabled: !0, - debounceMs: Me.WATCHER_DEBOUNCE_MS, - dedupeTtlMs: Me.WATCHER_DEDUPE_TTL_MS, + debounceMs: Ge.WATCHER_DEBOUNCE_MS, + dedupeTtlMs: Ge.WATCHER_DEDUPE_TTL_MS, maxPending: 500, minSize: 100, maxSize: 4294967296 @@ -5246,29 +5261,29 @@ const kn = (e, t) => { confirmDeletion: !0 }, status: { - pollInterval: Me.STATUS_POLL_INTERVAL + pollInterval: Ge.STATUS_POLL_INTERVAL }, viewer: { - allowPanAtZoom1: Me.VIEWER_ALLOW_PAN_AT_ZOOM_1, - disableWebGL: Me.VIEWER_DISABLE_WEBGL_VIDEO, - pauseDuringExecution: Me.VIEWER_PAUSE_DURING_EXECUTION, - floatingPauseDuringExecution: Me.FLOATING_VIEWER_PAUSE_DURING_EXECUTION, - mfvLiveDefault: Me.MFV_LIVE_DEFAULT, - mfvPreviewDefault: Me.MFV_PREVIEW_DEFAULT, - videoGradeThrottleFps: Me.VIEWER_VIDEO_GRADE_THROTTLE_FPS, - scopesFps: Me.VIEWER_SCOPES_FPS, - metaTtlMs: Me.VIEWER_META_TTL_MS, - metaMaxEntries: Me.VIEWER_META_MAX_ENTRIES, + allowPanAtZoom1: Ge.VIEWER_ALLOW_PAN_AT_ZOOM_1, + disableWebGL: Ge.VIEWER_DISABLE_WEBGL_VIDEO, + pauseDuringExecution: Ge.VIEWER_PAUSE_DURING_EXECUTION, + floatingPauseDuringExecution: Ge.FLOATING_VIEWER_PAUSE_DURING_EXECUTION, + mfvLiveDefault: Ge.MFV_LIVE_DEFAULT, + mfvPreviewDefault: Ge.MFV_PREVIEW_DEFAULT, + videoGradeThrottleFps: Ge.VIEWER_VIDEO_GRADE_THROTTLE_FPS, + scopesFps: Ge.VIEWER_SCOPES_FPS, + metaTtlMs: Ge.VIEWER_META_TTL_MS, + metaMaxEntries: Ge.VIEWER_META_MAX_ENTRIES, mfvSidebarPosition: "right", - mfvPreviewMethod: Me.MFV_PREVIEW_METHOD, + mfvPreviewMethod: Ge.MFV_PREVIEW_METHOD, ltxavRgbFallback: !1 }, rtHydrate: { - concurrency: Me.RT_HYDRATE_CONCURRENCY, - queueMax: Me.RT_HYDRATE_QUEUE_MAX, - seenMax: Me.RT_HYDRATE_SEEN_MAX, - pruneBudget: Me.RT_HYDRATE_PRUNE_BUDGET, - seenTtlMs: Me.RT_HYDRATE_SEEN_TTL_MS + concurrency: Ge.RT_HYDRATE_CONCURRENCY, + queueMax: Ge.RT_HYDRATE_QUEUE_MAX, + seenMax: Ge.RT_HYDRATE_SEEN_MAX, + pruneBudget: Ge.RT_HYDRATE_PRUNE_BUDGET, + seenTtlMs: Ge.RT_HYDRATE_SEEN_TTL_MS }, observability: { enabled: !1, @@ -5277,16 +5292,16 @@ const kn = (e, t) => { verboseStartupLogs: !1 }, feed: { - minSize: Me.FEED_GRID_MIN_SIZE, - showInfo: Me.FEED_SHOW_INFO, - showFilename: Me.FEED_SHOW_FILENAME, - showDimensions: Me.FEED_SHOW_DIMENSIONS, - showDate: Me.FEED_SHOW_DATE, - showGenTime: Me.FEED_SHOW_GENTIME, - showWorkflowDot: Me.FEED_SHOW_WORKFLOW_DOT, - showExtBadge: Me.FEED_SHOW_BADGES_EXTENSION, - showRatingBadge: Me.FEED_SHOW_BADGES_RATING, - showTagsBadge: Me.FEED_SHOW_BADGES_TAGS + minSize: Ge.FEED_GRID_MIN_SIZE, + showInfo: Ge.FEED_SHOW_INFO, + showFilename: Ge.FEED_SHOW_FILENAME, + showDimensions: Ge.FEED_SHOW_DIMENSIONS, + showDate: Ge.FEED_SHOW_DATE, + showGenTime: Ge.FEED_SHOW_GENTIME, + showWorkflowDot: Ge.FEED_SHOW_WORKFLOW_DOT, + showExtBadge: Ge.FEED_SHOW_BADGES_EXTENSION, + showRatingBadge: Ge.FEED_SHOW_BADGES_RATING, + showTagsBadge: Ge.FEED_SHOW_BADGES_TAGS }, sidebar: { position: "right", @@ -5319,14 +5334,14 @@ const kn = (e, t) => { tagsTTLms: 3e4 }, search: { - maxResults: Me.SEARCH_DEFAULT_LIMIT + maxResults: Ge.SEARCH_DEFAULT_LIMIT }, ai: { vectorSearchEnabled: !0, verboseAiLogs: !1 }, executionGrouping: { - enabled: Me.EXECUTION_GROUPING_ENABLED + enabled: Ge.EXECUTION_GROUPING_ENABLED }, workflowMinimap: { enabled: !1, @@ -5340,10 +5355,10 @@ const kn = (e, t) => { size: "comfortable" }, ui: { - cardHoverColor: Me.UI_CARD_HOVER_COLOR, - cardSelectionColor: Me.UI_CARD_SELECTION_COLOR, - ratingColor: Me.UI_RATING_COLOR, - tagColor: Me.UI_TAG_COLOR + cardHoverColor: Ge.UI_CARD_HOVER_COLOR, + cardSelectionColor: Ge.UI_CARD_SELECTION_COLOR, + ratingColor: Ge.UI_RATING_COLOR, + tagColor: Ge.UI_TAG_COLOR }, security: { safeMode: !1, @@ -5360,11 +5375,11 @@ const kn = (e, t) => { }, Xn = () => { var e; try { - const t = ni.get(Fi); + const t = ni.get(Oi); if (!t) return { ...Un }; const n = JSON.parse(t), i = n && typeof n == "object" && Number.isInteger(n.version) && n.data && typeof n.data == "object", o = n && typeof n == "object" && !Array.isArray(n); if (!i && !o) return { ...Un }; - if (i && Number(n.version) > Number(lg)) + if (i && Number(n.version) > Number(ag)) return console.warn( "[Majoor] settings schema version is newer than this build, using defaults" ), { ...Un }; @@ -5399,10 +5414,10 @@ const kn = (e, t) => { if (r && typeof r == "object") for (const [s, d] of Object.entries(r)) l.has(s) && (a[s] = d); - const c = qg(Un, a); + const c = Pg(Un, a); if (!i) try { - Te(c); + Be(c); } catch (s) { (e = console.debug) == null || e.call(console, s); } @@ -5410,21 +5425,21 @@ const kn = (e, t) => { } catch (t) { return console.warn("[Majoor] settings load failed, using defaults", t), { ...Un }; } -}, Te = (e) => { +}, Be = (e) => { var t, n; try { const i = JSON.parse(JSON.stringify(e || {})); i != null && i.security && typeof i.security == "object" && (i.security.apiToken = ""); const o = { - version: lg, + version: ag, data: i }; - ni.set(Fi, JSON.stringify(o)); + ni.set(Oi, JSON.stringify(o)); } catch (i) { console.warn("[Majoor] settings save failed", i); try { const o = Date.now(), r = Number((window == null ? void 0 : window._mjrSettingsSaveFailAt) || 0) || 0; - o - r > 3e4 && (window._mjrSettingsSaveFailAt = o, Promise.resolve().then(() => Mh).then( + o - r > 3e4 && (window._mjrSettingsSaveFailAt = o, Promise.resolve().then(() => xh).then( ({ comfyAlert: l }) => l( m( "dialog.settingsSaveFailed", @@ -5437,7 +5452,7 @@ const kn = (e, t) => { (t = console.debug) == null || t.call(console, o); } try { - ii( + oi( "mjr-settings-save-failed", { error: String((i == null ? void 0 : i.message) || i || "") }, { warnPrefix: "[Majoor]" } @@ -5447,188 +5462,188 @@ const kn = (e, t) => { } } }, At = (e) => { - var o, r, l, a, c, s, d, u, I, p, M, Z, A, g, h, f, b, v, C, S, W, y, k, G, z, x, w, X, V, R, j, L, N, q, O, B, J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $, _, le, se, de, Ze, Fe, xe, ze, We, De, Pe, Qe, Ue, Ee, Re, wt, Se, Ft, Gt; - const t = Number(Me.MAX_PAGE_SIZE) || 2e3, n = Math.max( + var o, r, l, a, c, s, d, u, I, p, S, A, C, g, Z, f, b, L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V, k, K, z, B, J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U, Q, _, le, de, se, ge, je, Se, ke, we, Je, $e, qe, Ue, Te, Oe, pt, Me, Xt, Mt; + const t = Number(Ge.MAX_PAGE_SIZE) || 2e3, n = Math.max( 50, - Math.min(t, Number((o = e.grid) == null ? void 0 : o.pageSize) || Me.DEFAULT_PAGE_SIZE) + Math.min(t, Number((o = e.grid) == null ? void 0 : o.pageSize) || Ge.DEFAULT_PAGE_SIZE) ); - ye.DEFAULT_PAGE_SIZE = n, ye.AUTO_SCAN_ON_STARTUP = !!((r = e.autoScan) != null && r.onStartup), ye.EXECUTION_GROUPING_ENABLED = !!(((l = e.executionGrouping) == null ? void 0 : l.enabled) ?? Me.EXECUTION_GROUPING_ENABLED), ye.STATUS_POLL_INTERVAL = Math.max( + fe.DEFAULT_PAGE_SIZE = n, fe.AUTO_SCAN_ON_STARTUP = !!((r = e.autoScan) != null && r.onStartup), fe.EXECUTION_GROUPING_ENABLED = !!(((l = e.executionGrouping) == null ? void 0 : l.enabled) ?? Ge.EXECUTION_GROUPING_ENABLED), fe.STATUS_POLL_INTERVAL = Math.max( 1e3, - Number((a = e.status) == null ? void 0 : a.pollInterval) || Me.STATUS_POLL_INTERVAL - ), ye.DEBUG_SAFE_CALL = !!((c = e.debug) != null && c.safeCall), ye.DEBUG_SAFE_LISTENERS = !!((s = e.debug) != null && s.safeListeners), ye.DEBUG_VIEWER = !!((d = e.debug) != null && d.viewer), ye.GRID_MIN_SIZE = Uh(e.grid), ye.FEED_GRID_MIN_SIZE = Kh(e.feed), ye.GRID_GAP = Math.max( + Number((a = e.status) == null ? void 0 : a.pollInterval) || Ge.STATUS_POLL_INTERVAL + ), fe.DEBUG_SAFE_CALL = !!((c = e.debug) != null && c.safeCall), fe.DEBUG_SAFE_LISTENERS = !!((s = e.debug) != null && s.safeListeners), fe.DEBUG_VIEWER = !!((d = e.debug) != null && d.viewer), fe.GRID_MIN_SIZE = Eh(e.grid), fe.FEED_GRID_MIN_SIZE = Hh(e.feed), fe.GRID_GAP = Math.max( 0, - Math.min(40, Math.round(Gn((u = e.grid) == null ? void 0 : u.gap, Me.GRID_GAP))) - ), ye.GRID_SHOW_BADGES_EXTENSION = !!(((I = e.grid) == null ? void 0 : I.showExtBadge) ?? Me.GRID_SHOW_BADGES_EXTENSION), ye.GRID_SHOW_BADGES_RATING = !!(((p = e.grid) == null ? void 0 : p.showRatingBadge) ?? Me.GRID_SHOW_BADGES_RATING), ye.GRID_SHOW_BADGES_TAGS = !!(((M = e.grid) == null ? void 0 : M.showTagsBadge) ?? Me.GRID_SHOW_BADGES_TAGS), ye.GRID_SHOW_DETAILS = !!(((Z = e.grid) == null ? void 0 : Z.showDetails) ?? Me.GRID_SHOW_DETAILS), ye.GRID_SHOW_DETAILS_FILENAME = !!(((A = e.grid) == null ? void 0 : A.showFilename) ?? Me.GRID_SHOW_DETAILS_FILENAME), ye.GRID_SHOW_DETAILS_DATE = !!(((g = e.grid) == null ? void 0 : g.showDate) ?? Me.GRID_SHOW_DETAILS_DATE), ye.GRID_SHOW_DETAILS_DIMENSIONS = !!(((h = e.grid) == null ? void 0 : h.showDimensions) ?? Me.GRID_SHOW_DETAILS_DIMENSIONS), ye.GRID_SHOW_DETAILS_GENTIME = !!(((f = e.grid) == null ? void 0 : f.showGenTime) ?? Me.GRID_SHOW_DETAILS_GENTIME), ye.GRID_SHOW_HOVER_INFO = !!(((b = e.grid) == null ? void 0 : b.showHoverInfo) ?? Me.GRID_SHOW_HOVER_INFO), ye.GRID_SHOW_WORKFLOW_DOT = !!(((v = e.grid) == null ? void 0 : v.showWorkflowDot) ?? Me.GRID_SHOW_WORKFLOW_DOT), ye.FEED_SHOW_INFO = !!(((C = e.feed) == null ? void 0 : C.showInfo) ?? Me.FEED_SHOW_INFO), ye.FEED_SHOW_FILENAME = !!(((S = e.feed) == null ? void 0 : S.showFilename) ?? Me.FEED_SHOW_FILENAME), ye.FEED_SHOW_DIMENSIONS = !!(((W = e.feed) == null ? void 0 : W.showDimensions) ?? Me.FEED_SHOW_DIMENSIONS), ye.FEED_SHOW_DATE = !!(((y = e.feed) == null ? void 0 : y.showDate) ?? Me.FEED_SHOW_DATE), ye.FEED_SHOW_GENTIME = !!(((k = e.feed) == null ? void 0 : k.showGenTime) ?? Me.FEED_SHOW_GENTIME), ye.FEED_SHOW_WORKFLOW_DOT = !!(((G = e.feed) == null ? void 0 : G.showWorkflowDot) ?? Me.FEED_SHOW_WORKFLOW_DOT), ye.FEED_SHOW_BADGES_EXTENSION = !!(((z = e.feed) == null ? void 0 : z.showExtBadge) ?? Me.FEED_SHOW_BADGES_EXTENSION), ye.FEED_SHOW_BADGES_RATING = !!(((x = e.feed) == null ? void 0 : x.showRatingBadge) ?? Me.FEED_SHOW_BADGES_RATING), ye.FEED_SHOW_BADGES_TAGS = !!(((w = e.feed) == null ? void 0 : w.showTagsBadge) ?? Me.FEED_SHOW_BADGES_TAGS); + Math.min(40, Math.round(Gn((u = e.grid) == null ? void 0 : u.gap, Ge.GRID_GAP))) + ), fe.GRID_SHOW_BADGES_EXTENSION = !!(((I = e.grid) == null ? void 0 : I.showExtBadge) ?? Ge.GRID_SHOW_BADGES_EXTENSION), fe.GRID_SHOW_BADGES_RATING = !!(((p = e.grid) == null ? void 0 : p.showRatingBadge) ?? Ge.GRID_SHOW_BADGES_RATING), fe.GRID_SHOW_BADGES_TAGS = !!(((S = e.grid) == null ? void 0 : S.showTagsBadge) ?? Ge.GRID_SHOW_BADGES_TAGS), fe.GRID_SHOW_DETAILS = !!(((A = e.grid) == null ? void 0 : A.showDetails) ?? Ge.GRID_SHOW_DETAILS), fe.GRID_SHOW_DETAILS_FILENAME = !!(((C = e.grid) == null ? void 0 : C.showFilename) ?? Ge.GRID_SHOW_DETAILS_FILENAME), fe.GRID_SHOW_DETAILS_DATE = !!(((g = e.grid) == null ? void 0 : g.showDate) ?? Ge.GRID_SHOW_DETAILS_DATE), fe.GRID_SHOW_DETAILS_DIMENSIONS = !!(((Z = e.grid) == null ? void 0 : Z.showDimensions) ?? Ge.GRID_SHOW_DETAILS_DIMENSIONS), fe.GRID_SHOW_DETAILS_GENTIME = !!(((f = e.grid) == null ? void 0 : f.showGenTime) ?? Ge.GRID_SHOW_DETAILS_GENTIME), fe.GRID_SHOW_HOVER_INFO = !!(((b = e.grid) == null ? void 0 : b.showHoverInfo) ?? Ge.GRID_SHOW_HOVER_INFO), fe.GRID_SHOW_WORKFLOW_DOT = !!(((L = e.grid) == null ? void 0 : L.showWorkflowDot) ?? Ge.GRID_SHOW_WORKFLOW_DOT), fe.FEED_SHOW_INFO = !!(((h = e.feed) == null ? void 0 : h.showInfo) ?? Ge.FEED_SHOW_INFO), fe.FEED_SHOW_FILENAME = !!(((G = e.feed) == null ? void 0 : G.showFilename) ?? Ge.FEED_SHOW_FILENAME), fe.FEED_SHOW_DIMENSIONS = !!(((W = e.feed) == null ? void 0 : W.showDimensions) ?? Ge.FEED_SHOW_DIMENSIONS), fe.FEED_SHOW_DATE = !!(((y = e.feed) == null ? void 0 : y.showDate) ?? Ge.FEED_SHOW_DATE), fe.FEED_SHOW_GENTIME = !!(((X = e.feed) == null ? void 0 : X.showGenTime) ?? Ge.FEED_SHOW_GENTIME), fe.FEED_SHOW_WORKFLOW_DOT = !!(((x = e.feed) == null ? void 0 : x.showWorkflowDot) ?? Ge.FEED_SHOW_WORKFLOW_DOT), fe.FEED_SHOW_BADGES_EXTENSION = !!(((T = e.feed) == null ? void 0 : T.showExtBadge) ?? Ge.FEED_SHOW_BADGES_EXTENSION), fe.FEED_SHOW_BADGES_RATING = !!(((v = e.feed) == null ? void 0 : v.showRatingBadge) ?? Ge.FEED_SHOW_BADGES_RATING), fe.FEED_SHOW_BADGES_TAGS = !!(((w = e.feed) == null ? void 0 : w.showTagsBadge) ?? Ge.FEED_SHOW_BADGES_TAGS); { - let ue = ((X = e.grid) == null ? void 0 : X.videoAutoplayMode) ?? Me.GRID_VIDEO_AUTOPLAY_MODE; - ue == null && (ue = ((V = e.grid) == null ? void 0 : V.videoHoverAutoplay) === !1 ? "off" : "hover"), ue === !0 && (ue = "hover"), ue === !1 && (ue = "off"), ue !== "hover" && ue !== "always" && ue !== "off" && (ue = "hover"), ye.GRID_VIDEO_AUTOPLAY_MODE = ue; + let me = ((R = e.grid) == null ? void 0 : R.videoAutoplayMode) ?? Ge.GRID_VIDEO_AUTOPLAY_MODE; + me == null && (me = ((Y = e.grid) == null ? void 0 : Y.videoHoverAutoplay) === !1 ? "off" : "hover"), me === !0 && (me = "hover"), me === !1 && (me = "off"), me !== "hover" && me !== "always" && me !== "off" && (me = "hover"), fe.GRID_VIDEO_AUTOPLAY_MODE = me; } - const i = (ue, He) => { - let ve = String(ue || "").trim(); - return /^[0-9a-fA-F]{6}$/.test(ve) && (ve = `#${ve}`), /^#[0-9a-fA-F]{3,8}$/.test(ve) ? ve : He; + const i = (me, Pe) => { + let Le = String(me || "").trim(); + return /^[0-9a-fA-F]{6}$/.test(Le) && (Le = `#${Le}`), /^#[0-9a-fA-F]{3,8}$/.test(Le) ? Le : Pe; }; - ye.BADGE_STAR_COLOR = i( - (R = e.grid) == null ? void 0 : R.starColor, - Me.BADGE_STAR_COLOR - ), ye.BADGE_IMAGE_COLOR = i( - (j = e.grid) == null ? void 0 : j.badgeImageColor, - Me.BADGE_IMAGE_COLOR - ), ye.BADGE_VIDEO_COLOR = i( - (L = e.grid) == null ? void 0 : L.badgeVideoColor, - Me.BADGE_VIDEO_COLOR - ), ye.BADGE_AUDIO_COLOR = i( - (N = e.grid) == null ? void 0 : N.badgeAudioColor, - Me.BADGE_AUDIO_COLOR - ), ye.BADGE_MODEL3D_COLOR = i( - (q = e.grid) == null ? void 0 : q.badgeModel3dColor, - Me.BADGE_MODEL3D_COLOR - ), ye.BADGE_DUPLICATE_ALERT_COLOR = i( - (O = e.grid) == null ? void 0 : O.badgeDuplicateAlertColor, - Me.BADGE_DUPLICATE_ALERT_COLOR - ), ye.UI_CARD_HOVER_COLOR = i( + fe.BADGE_STAR_COLOR = i( + (F = e.grid) == null ? void 0 : F.starColor, + Ge.BADGE_STAR_COLOR + ), fe.BADGE_IMAGE_COLOR = i( + (N = e.grid) == null ? void 0 : N.badgeImageColor, + Ge.BADGE_IMAGE_COLOR + ), fe.BADGE_VIDEO_COLOR = i( + (V = e.grid) == null ? void 0 : V.badgeVideoColor, + Ge.BADGE_VIDEO_COLOR + ), fe.BADGE_AUDIO_COLOR = i( + (k = e.grid) == null ? void 0 : k.badgeAudioColor, + Ge.BADGE_AUDIO_COLOR + ), fe.BADGE_MODEL3D_COLOR = i( + (K = e.grid) == null ? void 0 : K.badgeModel3dColor, + Ge.BADGE_MODEL3D_COLOR + ), fe.BADGE_DUPLICATE_ALERT_COLOR = i( + (z = e.grid) == null ? void 0 : z.badgeDuplicateAlertColor, + Ge.BADGE_DUPLICATE_ALERT_COLOR + ), fe.UI_CARD_HOVER_COLOR = i( (B = e.ui) == null ? void 0 : B.cardHoverColor, - Me.UI_CARD_HOVER_COLOR - ), ye.UI_CARD_SELECTION_COLOR = i( + Ge.UI_CARD_HOVER_COLOR + ), fe.UI_CARD_SELECTION_COLOR = i( (J = e.ui) == null ? void 0 : J.cardSelectionColor, - Me.UI_CARD_SELECTION_COLOR - ), ye.UI_RATING_COLOR = i((T = e.ui) == null ? void 0 : T.ratingColor, Me.UI_RATING_COLOR), ye.UI_TAG_COLOR = i((D = e.ui) == null ? void 0 : D.tagColor, Me.UI_TAG_COLOR); + Ge.UI_CARD_SELECTION_COLOR + ), fe.UI_RATING_COLOR = i((P = e.ui) == null ? void 0 : P.ratingColor, Ge.UI_RATING_COLOR), fe.UI_TAG_COLOR = i((H = e.ui) == null ? void 0 : H.tagColor, Ge.UI_TAG_COLOR); try { - const ue = Array.from(document.querySelectorAll(".mjr-assets-manager")); - for (const He of ue) - He.style.setProperty("--mjr-star-active", ye.BADGE_STAR_COLOR), He.style.setProperty("--mjr-badge-image", ye.BADGE_IMAGE_COLOR), He.style.setProperty("--mjr-badge-video", ye.BADGE_VIDEO_COLOR), He.style.setProperty("--mjr-badge-audio", ye.BADGE_AUDIO_COLOR), He.style.setProperty("--mjr-badge-model3d", ye.BADGE_MODEL3D_COLOR), He.style.setProperty( + const me = Array.from(document.querySelectorAll(".mjr-assets-manager")); + for (const Pe of me) + Pe.style.setProperty("--mjr-star-active", fe.BADGE_STAR_COLOR), Pe.style.setProperty("--mjr-badge-image", fe.BADGE_IMAGE_COLOR), Pe.style.setProperty("--mjr-badge-video", fe.BADGE_VIDEO_COLOR), Pe.style.setProperty("--mjr-badge-audio", fe.BADGE_AUDIO_COLOR), Pe.style.setProperty("--mjr-badge-model3d", fe.BADGE_MODEL3D_COLOR), Pe.style.setProperty( "--mjr-badge-duplicate-alert", - ye.BADGE_DUPLICATE_ALERT_COLOR - ), He.style.setProperty("--mjr-card-hover-color", ye.UI_CARD_HOVER_COLOR), He.style.setProperty( + fe.BADGE_DUPLICATE_ALERT_COLOR + ), Pe.style.setProperty("--mjr-card-hover-color", fe.UI_CARD_HOVER_COLOR), Pe.style.setProperty( "--mjr-card-selection-color", - ye.UI_CARD_SELECTION_COLOR - ), He.style.setProperty("--mjr-rating-color", ye.UI_RATING_COLOR), He.style.setProperty("--mjr-tag-color", ye.UI_TAG_COLOR); - } catch (ue) { - (Q = console.debug) == null || Q.call(console, ue); + fe.UI_CARD_SELECTION_COLOR + ), Pe.style.setProperty("--mjr-rating-color", fe.UI_RATING_COLOR), Pe.style.setProperty("--mjr-tag-color", fe.UI_TAG_COLOR); + } catch (me) { + ($ = console.debug) == null || $.call(console, me); } - ye.INFINITE_SCROLL_ENABLED = !!((E = e.infiniteScroll) != null && E.enabled), ye.INFINITE_SCROLL_ROOT_MARGIN = String( - ((K = e.infiniteScroll) == null ? void 0 : K.rootMargin) || Me.INFINITE_SCROLL_ROOT_MARGIN - ), ye.INFINITE_SCROLL_THRESHOLD = Math.max( + fe.INFINITE_SCROLL_ENABLED = !!((E = e.infiniteScroll) != null && E.enabled), fe.INFINITE_SCROLL_ROOT_MARGIN = String( + ((oe = e.infiniteScroll) == null ? void 0 : oe.rootMargin) || Ge.INFINITE_SCROLL_ROOT_MARGIN + ), fe.INFINITE_SCROLL_THRESHOLD = Math.max( 0, Math.min( 1, - Gn((F = e.infiniteScroll) == null ? void 0 : F.threshold, Me.INFINITE_SCROLL_THRESHOLD) + Gn((M = e.infiniteScroll) == null ? void 0 : M.threshold, Ge.INFINITE_SCROLL_THRESHOLD) ) - ), ye.BOTTOM_GAP_PX = Math.max( + ), fe.BOTTOM_GAP_PX = Math.max( 0, Math.min( 5e3, - Math.round(Gn((Y = e.infiniteScroll) == null ? void 0 : Y.bottomGapPx, Me.BOTTOM_GAP_PX)) + Math.round(Gn((j = e.infiniteScroll) == null ? void 0 : j.bottomGapPx, Ge.BOTTOM_GAP_PX)) ) - ), ye.VIEWER_ALLOW_PAN_AT_ZOOM_1 = !!((U = e.viewer) != null && U.allowPanAtZoom1), ye.VIEWER_DISABLE_WEBGL_VIDEO = !!((P = e.viewer) != null && P.disableWebGL), ye.VIEWER_PAUSE_DURING_EXECUTION = !!(((ee = e.viewer) == null ? void 0 : ee.pauseDuringExecution) ?? Me.VIEWER_PAUSE_DURING_EXECUTION), ye.FLOATING_VIEWER_PAUSE_DURING_EXECUTION = !!(((oe = e.viewer) == null ? void 0 : oe.floatingPauseDuringExecution) ?? Me.FLOATING_VIEWER_PAUSE_DURING_EXECUTION), ye.MFV_LIVE_DEFAULT = ((ce = e.viewer) == null ? void 0 : ce.mfvLiveDefault) ?? Me.MFV_LIVE_DEFAULT, ye.MFV_PREVIEW_DEFAULT = ((pe = e.viewer) == null ? void 0 : pe.mfvPreviewDefault) ?? Me.MFV_PREVIEW_DEFAULT; + ), fe.VIEWER_ALLOW_PAN_AT_ZOOM_1 = !!((O = e.viewer) != null && O.allowPanAtZoom1), fe.VIEWER_DISABLE_WEBGL_VIDEO = !!((D = e.viewer) != null && D.disableWebGL), fe.VIEWER_PAUSE_DURING_EXECUTION = !!(((q = e.viewer) == null ? void 0 : q.pauseDuringExecution) ?? Ge.VIEWER_PAUSE_DURING_EXECUTION), fe.FLOATING_VIEWER_PAUSE_DURING_EXECUTION = !!(((ee = e.viewer) == null ? void 0 : ee.floatingPauseDuringExecution) ?? Ge.FLOATING_VIEWER_PAUSE_DURING_EXECUTION), fe.MFV_LIVE_DEFAULT = ((ce = e.viewer) == null ? void 0 : ce.mfvLiveDefault) ?? Ge.MFV_LIVE_DEFAULT, fe.MFV_PREVIEW_DEFAULT = ((ue = e.viewer) == null ? void 0 : ue.mfvPreviewDefault) ?? Ge.MFV_PREVIEW_DEFAULT; { - const ue = String( - ((H = e.viewer) == null ? void 0 : H.mfvPreviewMethod) || Me.MFV_PREVIEW_METHOD + const me = String( + ((U = e.viewer) == null ? void 0 : U.mfvPreviewMethod) || Ge.MFV_PREVIEW_METHOD ).toLowerCase(); - ye.MFV_PREVIEW_METHOD = ["default", "auto", "latent2rgb", "taesd", "none"].includes( - ue - ) ? ue : Me.MFV_PREVIEW_METHOD; + fe.MFV_PREVIEW_METHOD = ["default", "auto", "latent2rgb", "taesd", "none"].includes( + me + ) ? me : Ge.MFV_PREVIEW_METHOD; } { - const ue = String((($ = e.viewer) == null ? void 0 : $.mfvSidebarPosition) || "right").toLowerCase(); - ye.MFV_SIDEBAR_POSITION = ["left", "right", "bottom"].includes(ue) ? ue : "right"; + const me = String(((Q = e.viewer) == null ? void 0 : Q.mfvSidebarPosition) || "right").toLowerCase(); + fe.MFV_SIDEBAR_POSITION = ["left", "right", "bottom"].includes(me) ? me : "right"; } - ye.VIEWER_VIDEO_GRADE_THROTTLE_FPS = Math.max( + fe.VIEWER_VIDEO_GRADE_THROTTLE_FPS = Math.max( 1, Math.min( 60, Math.round( Gn( (_ = e.viewer) == null ? void 0 : _.videoGradeThrottleFps, - Me.VIEWER_VIDEO_GRADE_THROTTLE_FPS + Ge.VIEWER_VIDEO_GRADE_THROTTLE_FPS ) ) ) - ), ye.VIEWER_SCOPES_FPS = Math.max( + ), fe.VIEWER_SCOPES_FPS = Math.max( 1, Math.min( 60, - Math.round(Gn((le = e.viewer) == null ? void 0 : le.scopesFps, Me.VIEWER_SCOPES_FPS)) + Math.round(Gn((le = e.viewer) == null ? void 0 : le.scopesFps, Ge.VIEWER_SCOPES_FPS)) ) - ), ye.VIEWER_META_TTL_MS = Math.max( + ), fe.VIEWER_META_TTL_MS = Math.max( 1e3, Math.min( 10 * 6e4, - Math.round(Gn((se = e.viewer) == null ? void 0 : se.metaTtlMs, Me.VIEWER_META_TTL_MS)) + Math.round(Gn((de = e.viewer) == null ? void 0 : de.metaTtlMs, Ge.VIEWER_META_TTL_MS)) ) - ), ye.VIEWER_META_MAX_ENTRIES = Math.max( + ), fe.VIEWER_META_MAX_ENTRIES = Math.max( 50, Math.min( 5e3, Math.round( - Gn((de = e.viewer) == null ? void 0 : de.metaMaxEntries, Me.VIEWER_META_MAX_ENTRIES) + Gn((se = e.viewer) == null ? void 0 : se.metaMaxEntries, Ge.VIEWER_META_MAX_ENTRIES) ) ) - ), ye.WORKFLOW_MINIMAP_ENABLED = !!(((Ze = e.workflowMinimap) == null ? void 0 : Ze.enabled) ?? !1), ye.RT_HYDRATE_CONCURRENCY = Math.max( + ), fe.WORKFLOW_MINIMAP_ENABLED = !!(((ge = e.workflowMinimap) == null ? void 0 : ge.enabled) ?? !1), fe.RT_HYDRATE_CONCURRENCY = Math.max( 1, Math.min( 16, Math.round( - Gn((Fe = e.rtHydrate) == null ? void 0 : Fe.concurrency, Me.RT_HYDRATE_CONCURRENCY) + Gn((je = e.rtHydrate) == null ? void 0 : je.concurrency, Ge.RT_HYDRATE_CONCURRENCY) ) ) - ), ye.RT_HYDRATE_QUEUE_MAX = Math.max( + ), fe.RT_HYDRATE_QUEUE_MAX = Math.max( 10, Math.min( 5e3, - Math.round(Gn((xe = e.rtHydrate) == null ? void 0 : xe.queueMax, Me.RT_HYDRATE_QUEUE_MAX)) + Math.round(Gn((Se = e.rtHydrate) == null ? void 0 : Se.queueMax, Ge.RT_HYDRATE_QUEUE_MAX)) ) - ), ye.RT_HYDRATE_SEEN_MAX = Math.max( + ), fe.RT_HYDRATE_SEEN_MAX = Math.max( 1e3, Math.min( 2e5, - Math.round(Gn((ze = e.rtHydrate) == null ? void 0 : ze.seenMax, Me.RT_HYDRATE_SEEN_MAX)) + Math.round(Gn((ke = e.rtHydrate) == null ? void 0 : ke.seenMax, Ge.RT_HYDRATE_SEEN_MAX)) ) - ), ye.RT_HYDRATE_PRUNE_BUDGET = Math.max( + ), fe.RT_HYDRATE_PRUNE_BUDGET = Math.max( 10, Math.min( 1e4, Math.round( - Gn((We = e.rtHydrate) == null ? void 0 : We.pruneBudget, Me.RT_HYDRATE_PRUNE_BUDGET) + Gn((we = e.rtHydrate) == null ? void 0 : we.pruneBudget, Ge.RT_HYDRATE_PRUNE_BUDGET) ) ) - ), ye.RT_HYDRATE_SEEN_TTL_MS = Math.max( + ), fe.RT_HYDRATE_SEEN_TTL_MS = Math.max( 5e3, Math.min( 360 * 6e4, Math.round( - Gn((De = e.rtHydrate) == null ? void 0 : De.seenTtlMs, Me.RT_HYDRATE_SEEN_TTL_MS) + Gn((Je = e.rtHydrate) == null ? void 0 : Je.seenTtlMs, Ge.RT_HYDRATE_SEEN_TTL_MS) ) ) - ), ye.DELETE_CONFIRMATION = !!((Pe = e.safety) != null && Pe.confirmDeletion), ye.DEBUG_VERBOSE_ERRORS = !!((Qe = e.observability) != null && Qe.verboseErrors), ye.WATCHER_MAX_PENDING = Math.max( + ), fe.DELETE_CONFIRMATION = !!(($e = e.safety) != null && $e.confirmDeletion), fe.DEBUG_VERBOSE_ERRORS = !!((qe = e.observability) != null && qe.verboseErrors), fe.WATCHER_MAX_PENDING = Math.max( 10, Math.min(5e3, Math.round(Gn((Ue = e.watcher) == null ? void 0 : Ue.maxPending, 500))) - ), ye.WATCHER_MIN_SIZE = Math.max( + ), fe.WATCHER_MIN_SIZE = Math.max( 0, - Math.min(1e6, Math.round(Gn((Ee = e.watcher) == null ? void 0 : Ee.minSize, 100))) - ), ye.WATCHER_MAX_SIZE = Math.max( + Math.min(1e6, Math.round(Gn((Te = e.watcher) == null ? void 0 : Te.minSize, 100))) + ), fe.WATCHER_MAX_SIZE = Math.max( 1e5, - Math.min(17179869184, Math.round(Gn((Re = e.watcher) == null ? void 0 : Re.maxSize, 4294967296))) - ), ye.DB_TIMEOUT_MS = Math.max( + Math.min(17179869184, Math.round(Gn((Oe = e.watcher) == null ? void 0 : Oe.maxSize, 4294967296))) + ), fe.DB_TIMEOUT_MS = Math.max( 1e3, - Math.min(3e4, Math.round(Gn((wt = e.db) == null ? void 0 : wt.timeoutMs, 5e3))) - ), ye.DB_MAX_CONNECTIONS = Math.max( + Math.min(3e4, Math.round(Gn((pt = e.db) == null ? void 0 : pt.timeoutMs, 5e3))) + ), fe.DB_MAX_CONNECTIONS = Math.max( 1, - Math.min(100, Math.round(Gn((Se = e.db) == null ? void 0 : Se.maxConnections, 10))) - ), ye.DB_QUERY_TIMEOUT_MS = Math.max( + Math.min(100, Math.round(Gn((Me = e.db) == null ? void 0 : Me.maxConnections, 10))) + ), fe.DB_QUERY_TIMEOUT_MS = Math.max( 500, - Math.min(1e4, Math.round(Gn((Ft = e.db) == null ? void 0 : Ft.queryTimeoutMs, 1e3))) - ), ye.SEARCH_REQUEST_LIMIT = Math.max( + Math.min(1e4, Math.round(Gn((Xt = e.db) == null ? void 0 : Xt.queryTimeoutMs, 1e3))) + ), fe.SEARCH_REQUEST_LIMIT = Math.max( 10, Math.min( - Me.MAX_PAGE_SIZE || 2e3, - Math.round(Gn((Gt = e.search) == null ? void 0 : Gt.maxResults, Me.SEARCH_DEFAULT_LIMIT)) + Ge.MAX_PAGE_SIZE || 2e3, + Math.round(Gn((Mt = e.search) == null ? void 0 : Mt.maxResults, Ge.SEARCH_DEFAULT_LIMIT)) ) ); }; -async function ia() { +async function oa() { var e, t, n; try { - const i = await Lg(); + const i = await Vg(); if (!(i != null && i.ok)) return; const o = (e = i.data) == null ? void 0 : e.prefs; if (!o || typeof o != "object") return; @@ -5656,12 +5671,12 @@ async function ia() { r.security.tokenConfigured ), r.security.tokenHint = String(o.token_hint || "").trim(), !String(r.security.apiToken || "").trim()) try { - const l = await vf(), a = String(((t = l == null ? void 0 : l.data) == null ? void 0 : t.token) || "").trim(); + const l = await Yf(), a = String(((t = l == null ? void 0 : l.data) == null ? void 0 : t.token) || "").trim(); l != null && l.ok && a && (r.security.apiToken = a); } catch (l) { (n = console.debug) == null || n.call(console, l); } - Te(r), At(r), ii( + Be(r), At(r), oi( "mjr-settings-changed", { key: "security" }, { warnPrefix: "[Majoor]" } @@ -5670,10 +5685,10 @@ async function ia() { console.warn("[Majoor] failed to sync backend security settings", i); } } -async function Dh() { +async function qh() { var e; try { - const t = await mf(); + const t = await bf(); if (!(t != null && t.ok)) return; const n = (e = t.data) == null ? void 0 : e.prefs; if (!n || typeof n != "object") return; @@ -5681,7 +5696,7 @@ async function Dh() { i.ai = i.ai || {}, i.ai.vectorSearchEnabled = kn( n.enabled, i.ai.vectorSearchEnabled ?? !0 - ), Te(i), At(i), ii( + ), Be(i), At(i), oi( "mjr-settings-changed", { key: "ai.vectorSearchEnabled" }, { warnPrefix: "[Majoor]" } @@ -5690,18 +5705,18 @@ async function Dh() { console.warn("[Majoor] failed to sync backend vector search settings", t); } } -async function Eh() { +async function Ph() { var e; try { - const t = await If(); + const t = await yf(); if (!(t != null && t.ok)) return; const n = (e = t.data) == null ? void 0 : e.prefs; if (!n || typeof n != "object") return; const i = Xn(); i.executionGrouping = i.executionGrouping || {}, i.executionGrouping.enabled = kn( n.enabled, - i.executionGrouping.enabled ?? Me.EXECUTION_GROUPING_ENABLED - ), Te(i), At(i), ii( + i.executionGrouping.enabled ?? Ge.EXECUTION_GROUPING_ENABLED + ), Be(i), At(i), oi( "mjr-settings-changed", { key: "executionGrouping.enabled" }, { warnPrefix: "[Majoor]" } @@ -5710,8 +5725,8 @@ async function Eh() { console.warn("[Majoor] failed to sync backend execution grouping settings", t); } } -const Hh = 300; -function Pc(e, t = Hh) { +const Qh = 300; +function _c(e, t = Qh) { let n; const i = (...o) => { clearTimeout(n), n = setTimeout(() => e(...o), t); @@ -5722,14 +5737,14 @@ function Pc(e, t = Hh) { clearTimeout(n), e(...o); }, i; } -const Sn = "Majoor", Vl = "Majoor Assets Manager"; -function qh(e, t, n) { - var c, s, d, u, I, p, M, Z, A, g, h, f, b, v, C, S, W, y, k, G, z, x, w, X, V, R, j; - const i = (L, N) => [Vl, L, N], o = (L) => [Vl, m("cat.cards", "Cards"), L], r = (L) => [Vl, m("cat.badges", "Badges"), L], l = (L) => [Vl, m("cat.badges", "Badges"), L], a = (L, N) => { - let q = String(L || "").trim(); - return /^[0-9a-fA-F]{6}$/.test(q) && (q = `#${q}`), /^#[0-9a-fA-F]{6}$/.test(q) ? q.toUpperCase() : N; +const Sn = "Majoor", kl = "Majoor Assets Manager"; +function _h(e, t, n) { + var c, s, d, u, I, p, S, A, C, g, Z, f, b, L, h, G, W, y, X, x, T, v, w, R, Y, F, N; + const i = (V, k) => [kl, V, k], o = (V) => [kl, m("cat.cards", "Cards"), V], r = (V) => [kl, m("cat.badges", "Badges"), V], l = (V) => [kl, m("cat.badges", "Badges"), V], a = (V, k) => { + let K = String(V || "").trim(); + return /^[0-9a-fA-F]{6}$/.test(K) && (K = `#${K}`), /^#[0-9a-fA-F]{6}$/.test(K) ? K.toUpperCase() : k; }; - (c = t.grid) != null && c.minSizePreset || (t.grid = t.grid || {}, t.grid.minSizePreset = uc(t.grid.minSize), Te(t)), e({ + (c = t.grid) != null && c.minSizePreset || (t.grid = t.grid || {}, t.grid.minSizePreset = mc(t.grid.minSize), Be(t)), e({ id: `${Sn}.Cards.ThumbSize`, category: o(m("setting.grid.cardSize.group", "Card size")), name: m("setting.grid.cardSize.name", "Majoor: Card Size"), @@ -5739,27 +5754,27 @@ function qh(e, t, n) { ), type: "combo", defaultValue: (() => { - var q, O; - const L = Ts( - String(((q = t.grid) == null ? void 0 : q.minSizePreset) || "").toLowerCase(), - Qg, - uc((O = t.grid) == null ? void 0 : O.minSize) - ), N = { + var K, z; + const V = Us( + String(((K = t.grid) == null ? void 0 : K.minSizePreset) || "").toLowerCase(), + _g, + mc((z = t.grid) == null ? void 0 : z.minSize) + ), k = { small: m("setting.grid.cardSize.small", "Small"), medium: m("setting.grid.cardSize.medium", "Medium"), large: m("setting.grid.cardSize.large", "Large") }; - return N[L] || N.medium; + return k[V] || k.medium; })(), options: [ m("setting.grid.cardSize.small", "Small"), m("setting.grid.cardSize.medium", "Medium"), m("setting.grid.cardSize.large", "Large") ], - onChange: (L) => { - const N = String(L || "").trim().toLowerCase(), q = m("setting.grid.cardSize.small", "Small").toLowerCase(), O = m("setting.grid.cardSize.medium", "Medium").toLowerCase(), B = m("setting.grid.cardSize.large", "Large").toLowerCase(); + onChange: (V) => { + const k = String(V || "").trim().toLowerCase(), K = m("setting.grid.cardSize.small", "Small").toLowerCase(), z = m("setting.grid.cardSize.medium", "Medium").toLowerCase(), B = m("setting.grid.cardSize.large", "Large").toLowerCase(); let J = "medium"; - N === q || N === "small" || N === "petit" ? J = "small" : N === B || N === "large" || N === "grand" ? J = "large" : (N === O || N === "medium" || N === "moyen") && (J = "medium"), t.grid.minSizePreset = J, t.grid.minSize = Pg[J], Te(t), At(t), n("grid.minSizePreset"); + k === K || k === "small" || k === "petit" ? J = "small" : k === B || k === "large" || k === "grand" ? J = "large" : (k === z || k === "medium" || k === "moyen") && (J = "medium"), t.grid.minSizePreset = J, t.grid.minSize = Qg[J], Be(t), At(t), n("grid.minSizePreset"); } }), e({ id: `${Sn}.Cards.CustomThumbSize`, @@ -5769,9 +5784,9 @@ function qh(e, t, n) { type: "number", defaultValue: Math.max(60, Math.min(600, Number((s = t.grid) == null ? void 0 : s.minSize) || 120)), attrs: { min: 60, max: 600, step: 10 }, - onChange: (L) => { - const N = Math.max(60, Math.min(600, Math.round(Number(L) || 120))); - t.grid.minSize = N, t.grid.minSizePreset = uc(N), Te(t), At(t), n("grid.minSize"); + onChange: (V) => { + const k = Math.max(60, Math.min(600, Math.round(Number(V) || 120))); + t.grid.minSize = k, t.grid.minSizePreset = mc(k), Be(t), At(t), n("grid.minSize"); } }), e({ id: `${Sn}.Grid.ShowDetails`, @@ -5780,8 +5795,8 @@ function qh(e, t, n) { tooltip: "Show the bottom details panel on asset cards (filename, date, etc.)", type: "boolean", defaultValue: !!((d = t.grid) != null && d.showDetails), - onChange: (L) => { - t.grid.showDetails = !!L, Te(t), At(t), n("grid.showDetails"); + onChange: (V) => { + t.grid.showDetails = !!V, Be(t), At(t), n("grid.showDetails"); } }), e({ id: `${Sn}.Grid.ShowFilename`, @@ -5790,8 +5805,8 @@ function qh(e, t, n) { tooltip: "Display filename in details panel", type: "boolean", defaultValue: !!((u = t.grid) != null && u.showFilename), - onChange: (L) => { - t.grid.showFilename = !!L, Te(t), At(t), n("grid.showFilename"); + onChange: (V) => { + t.grid.showFilename = !!V, Be(t), At(t), n("grid.showFilename"); } }), e({ id: `${Sn}.Grid.ShowDate`, @@ -5800,8 +5815,8 @@ function qh(e, t, n) { tooltip: "Display date and time in details panel", type: "boolean", defaultValue: !!((I = t.grid) != null && I.showDate), - onChange: (L) => { - t.grid.showDate = !!L, Te(t), At(t), n("grid.showDate"); + onChange: (V) => { + t.grid.showDate = !!V, Be(t), At(t), n("grid.showDate"); } }), e({ id: `${Sn}.Grid.ShowDimensions`, @@ -5810,8 +5825,8 @@ function qh(e, t, n) { tooltip: "Display resolution (WxH) in details panel", type: "boolean", defaultValue: !!((p = t.grid) != null && p.showDimensions), - onChange: (L) => { - t.grid.showDimensions = !!L, Te(t), At(t), n("grid.showDimensions"); + onChange: (V) => { + t.grid.showDimensions = !!V, Be(t), At(t), n("grid.showDimensions"); } }), e({ id: `${Sn}.Grid.ShowGenTime`, @@ -5819,9 +5834,9 @@ function qh(e, t, n) { name: "Show generation time", tooltip: "Display seconds taken to generate the asset (if available)", type: "boolean", - defaultValue: !!((M = t.grid) != null && M.showGenTime), - onChange: (L) => { - t.grid.showGenTime = !!L, Te(t), At(t), n("grid.showGenTime"); + defaultValue: !!((S = t.grid) != null && S.showGenTime), + onChange: (V) => { + t.grid.showGenTime = !!V, Be(t), At(t), n("grid.showGenTime"); } }), e({ id: `${Sn}.Grid.ShowHoverInfo`, @@ -5829,9 +5844,9 @@ function qh(e, t, n) { name: "Show prompt on hover", tooltip: "Show positive prompt and generation time as a tooltip overlay when hovering over a card thumbnail. Does not block video play-on-hover.", type: "boolean", - defaultValue: !!(((Z = t.grid) == null ? void 0 : Z.showHoverInfo) ?? Me.GRID_SHOW_HOVER_INFO), - onChange: (L) => { - t.grid.showHoverInfo = !!L, Te(t), At(t), n("grid.showHoverInfo"); + defaultValue: !!(((A = t.grid) == null ? void 0 : A.showHoverInfo) ?? Ge.GRID_SHOW_HOVER_INFO), + onChange: (V) => { + t.grid.showHoverInfo = !!V, Be(t), At(t), n("grid.showHoverInfo"); } }), e({ id: `${Sn}.Grid.ShowWorkflowDot`, @@ -5839,9 +5854,9 @@ function qh(e, t, n) { name: "Show workflow indicator", tooltip: "Display the green dot indicating workflow metadata availability (bottom right of card)", type: "boolean", - defaultValue: !!((A = t.grid) != null && A.showWorkflowDot), - onChange: (L) => { - t.grid.showWorkflowDot = !!L, Te(t), At(t), n("grid.showWorkflowDot"); + defaultValue: !!((C = t.grid) != null && C.showWorkflowDot), + onChange: (V) => { + t.grid.showWorkflowDot = !!V, Be(t), At(t), n("grid.showWorkflowDot"); } }), e({ id: `${Sn}.Grid.ShowExtBadge`, @@ -5850,8 +5865,8 @@ function qh(e, t, n) { tooltip: "Display format badges (e.g. JPG, MP4) on thumbnails", type: "boolean", defaultValue: !!((g = t.grid) != null && g.showExtBadge), - onChange: (L) => { - t.grid.showExtBadge = !!L, Te(t), At(t), n("grid.showExtBadge"); + onChange: (V) => { + t.grid.showExtBadge = !!V, Be(t), At(t), n("grid.showExtBadge"); } }), e({ id: `${Sn}.Grid.ShowRatingBadge`, @@ -5859,9 +5874,9 @@ function qh(e, t, n) { name: "Show ratings", tooltip: "Display star ratings on thumbnails", type: "boolean", - defaultValue: !!((h = t.grid) != null && h.showRatingBadge), - onChange: (L) => { - t.grid.showRatingBadge = !!L, Te(t), At(t), n("grid.showRatingBadge"); + defaultValue: !!((Z = t.grid) != null && Z.showRatingBadge), + onChange: (V) => { + t.grid.showRatingBadge = !!V, Be(t), At(t), n("grid.showRatingBadge"); } }), e({ id: `${Sn}.Grid.ShowTagsBadge`, @@ -5870,8 +5885,8 @@ function qh(e, t, n) { tooltip: "Display a small indicator if an asset has tags", type: "boolean", defaultValue: !!((f = t.grid) != null && f.showTagsBadge), - onChange: (L) => { - t.grid.showTagsBadge = !!L, Te(t), At(t), n("grid.showTagsBadge"); + onChange: (V) => { + t.grid.showTagsBadge = !!V, Be(t), At(t), n("grid.showTagsBadge"); } }), e({ id: `${Sn}.Badges.StarColor`, @@ -5882,9 +5897,9 @@ function qh(e, t, n) { "Color of rating stars on thumbnails (hex, e.g. #FFD45A)" ), type: "color", - defaultValue: a((b = t.grid) == null ? void 0 : b.starColor, Me.BADGE_STAR_COLOR), - onChange: (L) => { - t.grid.starColor = a(L, Me.BADGE_STAR_COLOR), Te(t), At(t), n("grid.starColor"); + defaultValue: a((b = t.grid) == null ? void 0 : b.starColor, Ge.BADGE_STAR_COLOR), + onChange: (V) => { + t.grid.starColor = a(V, Ge.BADGE_STAR_COLOR), Be(t), At(t), n("grid.starColor"); } }), e({ id: `${Sn}.Badges.ImageColor`, @@ -5896,14 +5911,14 @@ function qh(e, t, n) { ), type: "color", defaultValue: a( - (v = t.grid) == null ? void 0 : v.badgeImageColor, - Me.BADGE_IMAGE_COLOR + (L = t.grid) == null ? void 0 : L.badgeImageColor, + Ge.BADGE_IMAGE_COLOR ), - onChange: (L) => { + onChange: (V) => { t.grid.badgeImageColor = a( - L, - Me.BADGE_IMAGE_COLOR - ), Te(t), At(t), n("grid.badgeImageColor"); + V, + Ge.BADGE_IMAGE_COLOR + ), Be(t), At(t), n("grid.badgeImageColor"); } }), e({ id: `${Sn}.Badges.VideoColor`, @@ -5915,14 +5930,14 @@ function qh(e, t, n) { ), type: "color", defaultValue: a( - (C = t.grid) == null ? void 0 : C.badgeVideoColor, - Me.BADGE_VIDEO_COLOR + (h = t.grid) == null ? void 0 : h.badgeVideoColor, + Ge.BADGE_VIDEO_COLOR ), - onChange: (L) => { + onChange: (V) => { t.grid.badgeVideoColor = a( - L, - Me.BADGE_VIDEO_COLOR - ), Te(t), At(t), n("grid.badgeVideoColor"); + V, + Ge.BADGE_VIDEO_COLOR + ), Be(t), At(t), n("grid.badgeVideoColor"); } }), e({ id: `${Sn}.Badges.AudioColor`, @@ -5934,14 +5949,14 @@ function qh(e, t, n) { ), type: "color", defaultValue: a( - (S = t.grid) == null ? void 0 : S.badgeAudioColor, - Me.BADGE_AUDIO_COLOR + (G = t.grid) == null ? void 0 : G.badgeAudioColor, + Ge.BADGE_AUDIO_COLOR ), - onChange: (L) => { + onChange: (V) => { t.grid.badgeAudioColor = a( - L, - Me.BADGE_AUDIO_COLOR - ), Te(t), At(t), n("grid.badgeAudioColor"); + V, + Ge.BADGE_AUDIO_COLOR + ), Be(t), At(t), n("grid.badgeAudioColor"); } }), e({ id: `${Sn}.Badges.Model3dColor`, @@ -5954,13 +5969,13 @@ function qh(e, t, n) { type: "color", defaultValue: a( (W = t.grid) == null ? void 0 : W.badgeModel3dColor, - Me.BADGE_MODEL3D_COLOR + Ge.BADGE_MODEL3D_COLOR ), - onChange: (L) => { + onChange: (V) => { t.grid.badgeModel3dColor = a( - L, - Me.BADGE_MODEL3D_COLOR - ), Te(t), At(t), n("grid.badgeModel3dColor"); + V, + Ge.BADGE_MODEL3D_COLOR + ), Be(t), At(t), n("grid.badgeModel3dColor"); } }), e({ id: `${Sn}.Badges.DuplicateAlertColor`, @@ -5973,13 +5988,13 @@ function qh(e, t, n) { type: "color", defaultValue: a( (y = t.grid) == null ? void 0 : y.badgeDuplicateAlertColor, - Me.BADGE_DUPLICATE_ALERT_COLOR + Ge.BADGE_DUPLICATE_ALERT_COLOR ), - onChange: (L) => { + onChange: (V) => { t.grid.badgeDuplicateAlertColor = a( - L, - Me.BADGE_DUPLICATE_ALERT_COLOR - ), Te(t), At(t), n("grid.badgeDuplicateAlertColor"); + V, + Ge.BADGE_DUPLICATE_ALERT_COLOR + ), Be(t), At(t), n("grid.badgeDuplicateAlertColor"); } }), e({ id: `${Sn}.Grid.PageSize`, @@ -5988,13 +6003,13 @@ function qh(e, t, n) { tooltip: m("setting.grid.pagesize.desc"), type: "number", defaultValue: t.grid.pageSize, - attrs: { min: 50, max: Number(ye.MAX_PAGE_SIZE) || 2e3, step: 50 }, - onChange: (L) => { - const N = Number(ye.MAX_PAGE_SIZE) || 2e3; + attrs: { min: 50, max: Number(fe.MAX_PAGE_SIZE) || 2e3, step: 50 }, + onChange: (V) => { + const k = Number(fe.MAX_PAGE_SIZE) || 2e3; t.grid.pageSize = Math.max( 50, - Math.min(N, Number(L) || Me.DEFAULT_PAGE_SIZE) - ), Te(t), At(t), n("grid.pageSize"); + Math.min(k, Number(V) || Ge.DEFAULT_PAGE_SIZE) + ), Be(t), At(t), n("grid.pageSize"); } }), e({ id: `${Sn}.InfiniteScroll.Enabled`, @@ -6002,9 +6017,9 @@ function qh(e, t, n) { name: m("setting.nav.infinite.name"), tooltip: m("setting.nav.infinite.desc"), type: "boolean", - defaultValue: !!((k = t.infiniteScroll) != null && k.enabled), - onChange: (L) => { - t.infiniteScroll = t.infiniteScroll || {}, t.infiniteScroll.enabled = !!L, Te(t), At(t), n("infiniteScroll.enabled"); + defaultValue: !!((X = t.infiniteScroll) != null && X.enabled), + onChange: (V) => { + t.infiniteScroll = t.infiniteScroll || {}, t.infiniteScroll.enabled = !!V, Be(t), At(t), n("infiniteScroll.enabled"); } }), e({ id: `${Sn}.Sidebar.Position`, @@ -6012,10 +6027,10 @@ function qh(e, t, n) { name: m("setting.sidebar.pos.name"), tooltip: m("setting.sidebar.pos.desc"), type: "combo", - defaultValue: ((G = t.sidebar) == null ? void 0 : G.position) || "right", + defaultValue: ((x = t.sidebar) == null ? void 0 : x.position) || "right", options: ["left", "right"], - onChange: (L) => { - t.sidebar = t.sidebar || {}, t.sidebar.position = L === "left" ? "left" : "right", Te(t), n("sidebar.position"); + onChange: (V) => { + t.sidebar = t.sidebar || {}, t.sidebar.position = V === "left" ? "left" : "right", Be(t), n("sidebar.position"); } }), e({ id: `${Sn}.Sidebar.ShowPreviewThumb`, @@ -6023,9 +6038,9 @@ function qh(e, t, n) { name: "Show sidebar preview thumb", tooltip: "Show/hide the large media preview at the top of the sidebar metadata panel.", type: "boolean", - defaultValue: !!(((z = t.sidebar) == null ? void 0 : z.showPreviewThumb) ?? !0), - onChange: (L) => { - t.sidebar = t.sidebar || {}, t.sidebar.showPreviewThumb = !!L, Te(t), n("sidebar.showPreviewThumb"); + defaultValue: !!(((T = t.sidebar) == null ? void 0 : T.showPreviewThumb) ?? !0), + onChange: (V) => { + t.sidebar = t.sidebar || {}, t.sidebar.showPreviewThumb = !!V, Be(t), n("sidebar.showPreviewThumb"); } }), e({ id: `${Sn}.Sidebar.WidthPx`, @@ -6033,17 +6048,17 @@ function qh(e, t, n) { name: "Sidebar width (px)", tooltip: "Set the details sidebar width in pixels (240-640).", type: "number", - defaultValue: Math.max(240, Math.min(640, Number((x = t.sidebar) == null ? void 0 : x.widthPx) || 360)), + defaultValue: Math.max(240, Math.min(640, Number((v = t.sidebar) == null ? void 0 : v.widthPx) || 360)), attrs: { min: 240, max: 640, step: 10 }, - onChange: (L) => { + onChange: (V) => { t.sidebar = t.sidebar || {}, t.sidebar.widthPx = Math.max( 240, - Math.min(640, Math.round(Number(L) || 360)) - ), Te(t), n("sidebar.widthPx"); + Math.min(640, Math.round(Number(V) || 360)) + ), Be(t), n("sidebar.widthPx"); } }), e({ id: `${Sn}.General.HideSiblings`, @@ -6052,8 +6067,8 @@ function qh(e, t, n) { tooltip: m("setting.siblings.hide.desc"), type: "boolean", defaultValue: !!((w = t.siblings) != null && w.hidePngSiblings), - onChange: (L) => { - t.siblings = t.siblings || {}, t.siblings.hidePngSiblings = !!L, Te(t), n("siblings.hidePngSiblings"); + onChange: (V) => { + t.siblings = t.siblings || {}, t.siblings.hidePngSiblings = !!V, Be(t), n("siblings.hidePngSiblings"); } }), e({ id: `${Sn}.Grid.VideoAutoplayMode`, @@ -6068,28 +6083,28 @@ function qh(e, t, n) { ), type: "combo", defaultValue: (() => { - var q, O; - let L = (q = t.grid) == null ? void 0 : q.videoAutoplayMode; - L == null && (L = ((O = t.grid) == null ? void 0 : O.videoHoverAutoplay) === !1 ? "off" : "hover"), L === !0 && (L = "hover"), L === !1 && (L = "off"), L !== "hover" && L !== "always" && L !== "off" && (L = "hover"); - const N = { + var K, z; + let V = (K = t.grid) == null ? void 0 : K.videoAutoplayMode; + V == null && (V = ((z = t.grid) == null ? void 0 : z.videoHoverAutoplay) === !1 ? "off" : "hover"), V === !0 && (V = "hover"), V === !1 && (V = "off"), V !== "hover" && V !== "always" && V !== "off" && (V = "hover"); + const k = { off: m("setting.grid.videoAutoplayMode.off", "Off"), hover: m("setting.grid.videoAutoplayMode.hover", "Hover"), always: m("setting.grid.videoAutoplayMode.always", "Always") }; - return N[L] || N.off; + return k[V] || k.off; })(), options: [ m("setting.grid.videoAutoplayMode.off", "Off"), m("setting.grid.videoAutoplayMode.hover", "Hover"), m("setting.grid.videoAutoplayMode.always", "Always") ], - onChange: (L) => { - const q = { + onChange: (V) => { + const K = { [m("setting.grid.videoAutoplayMode.off", "Off")]: "off", [m("setting.grid.videoAutoplayMode.hover", "Hover")]: "hover", [m("setting.grid.videoAutoplayMode.always", "Always")]: "always" - }[L] || "off"; - t.grid = t.grid || {}, t.grid.videoAutoplayMode = q, delete t.grid.videoHoverAutoplay, Te(t), At(t), n("grid.videoAutoplayMode"); + }[V] || "off"; + t.grid = t.grid || {}, t.grid.videoAutoplayMode = K, delete t.grid.videoHoverAutoplay, Be(t), At(t), n("grid.videoAutoplayMode"); } }), e({ id: `${Sn}.Cards.HoverColor`, @@ -6098,11 +6113,11 @@ function qh(e, t, n) { tooltip: "Background tint used when hovering a card (hex, e.g. #3D3D3D).", type: "color", defaultValue: a( - (X = t.ui) == null ? void 0 : X.cardHoverColor, - Me.UI_CARD_HOVER_COLOR + (R = t.ui) == null ? void 0 : R.cardHoverColor, + Ge.UI_CARD_HOVER_COLOR ), - onChange: (L) => { - t.ui = t.ui || {}, t.ui.cardHoverColor = a(L, Me.UI_CARD_HOVER_COLOR), Te(t), At(t), n("ui.cardHoverColor"); + onChange: (V) => { + t.ui = t.ui || {}, t.ui.cardHoverColor = a(V, Ge.UI_CARD_HOVER_COLOR), Be(t), At(t), n("ui.cardHoverColor"); } }), e({ id: `${Sn}.Cards.SelectionColor`, @@ -6111,14 +6126,14 @@ function qh(e, t, n) { tooltip: "Outline/accent color used for selected cards (hex, e.g. #4A90E2).", type: "color", defaultValue: a( - (V = t.ui) == null ? void 0 : V.cardSelectionColor, - Me.UI_CARD_SELECTION_COLOR + (Y = t.ui) == null ? void 0 : Y.cardSelectionColor, + Ge.UI_CARD_SELECTION_COLOR ), - onChange: (L) => { + onChange: (V) => { t.ui = t.ui || {}, t.ui.cardSelectionColor = a( - L, - Me.UI_CARD_SELECTION_COLOR - ), Te(t), At(t), n("ui.cardSelectionColor"); + V, + Ge.UI_CARD_SELECTION_COLOR + ), Be(t), At(t), n("ui.cardSelectionColor"); } }), e({ id: `${Sn}.Badges.RatingColor`, @@ -6126,9 +6141,9 @@ function qh(e, t, n) { name: "Majoor: Rating badge color", tooltip: "Color used for rating badge text/accent (hex, e.g. #FF9500).", type: "color", - defaultValue: a((R = t.ui) == null ? void 0 : R.ratingColor, Me.UI_RATING_COLOR), - onChange: (L) => { - t.ui = t.ui || {}, t.ui.ratingColor = a(L, Me.UI_RATING_COLOR), Te(t), At(t), n("ui.ratingColor"); + defaultValue: a((F = t.ui) == null ? void 0 : F.ratingColor, Ge.UI_RATING_COLOR), + onChange: (V) => { + t.ui = t.ui || {}, t.ui.ratingColor = a(V, Ge.UI_RATING_COLOR), Be(t), At(t), n("ui.ratingColor"); } }), e({ id: `${Sn}.Badges.TagColor`, @@ -6136,48 +6151,48 @@ function qh(e, t, n) { name: "Majoor: Tags badge color", tooltip: "Color used for tags badge text/accent (hex, e.g. #4A90E2).", type: "color", - defaultValue: a((j = t.ui) == null ? void 0 : j.tagColor, Me.UI_TAG_COLOR), - onChange: (L) => { - t.ui = t.ui || {}, t.ui.tagColor = a(L, Me.UI_TAG_COLOR), Te(t), At(t), n("ui.tagColor"); + defaultValue: a((N = t.ui) == null ? void 0 : N.tagColor, Ge.UI_TAG_COLOR), + onChange: (V) => { + t.ui = t.ui || {}, t.ui.tagColor = a(V, Ge.UI_TAG_COLOR), Be(t), At(t), n("ui.tagColor"); } }); } -const zi = "Majoor", Ph = "Majoor Assets Manager"; -function Qh(e, t, n) { - var r, l, a, c, s, d, u, I, p, M; - const i = (Z, A) => [Ph, Z, A]; +const Ti = "Majoor", $h = "Majoor Assets Manager"; +function eC(e, t, n) { + var r, l, a, c, s, d, u, I, p, S; + const i = (A, C) => [$h, A, C]; e({ - id: `${zi}.Viewer.AllowPanAtZoom1`, + id: `${Ti}.Viewer.AllowPanAtZoom1`, category: i(m("cat.viewer"), m("setting.viewer.pan.name").replace("Majoor: ", "")), name: m("setting.viewer.pan.name"), tooltip: m("setting.viewer.pan.desc"), type: "boolean", defaultValue: !!((r = t.viewer) != null && r.allowPanAtZoom1), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.allowPanAtZoom1 = !!Z, Te(t), At(t), n("viewer.allowPanAtZoom1"); + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.allowPanAtZoom1 = !!A, Be(t), At(t), n("viewer.allowPanAtZoom1"); } }), e({ - id: `${zi}.Viewer.DisableWebGL`, + id: `${Ti}.Viewer.DisableWebGL`, category: i(m("cat.viewer"), "Disable WebGL Video"), name: "Disable WebGL Video", tooltip: "Use CPU rendering (Canvas 2D) for video playback. Fixes 'black screen' issues on incompatible hardware/browsers.", type: "boolean", defaultValue: !!((l = t.viewer) != null && l.disableWebGL), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.disableWebGL = !!Z, Te(t), At(t), n("viewer.disableWebGL"); + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.disableWebGL = !!A, Be(t), At(t), n("viewer.disableWebGL"); } }), e({ - id: `${zi}.Viewer.PauseDuringExecution`, + id: `${Ti}.Viewer.PauseDuringExecution`, category: i(m("cat.viewer"), m("setting.viewer.pauseExecution.name").replace("Majoor: ", "")), name: m("setting.viewer.pauseExecution.name"), tooltip: m("setting.viewer.pauseExecution.desc"), type: "boolean", defaultValue: !!((a = t.viewer) != null && a.pauseDuringExecution), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.pauseDuringExecution = !!Z, Te(t), At(t), n("viewer.pauseDuringExecution"); + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.pauseDuringExecution = !!A, Be(t), At(t), n("viewer.pauseDuringExecution"); } }), e({ - id: `${zi}.Viewer.FloatingPauseDuringExecution`, + id: `${Ti}.Viewer.FloatingPauseDuringExecution`, category: i( m("cat.viewer"), m("setting.viewer.floatingPauseExecution.name").replace("Majoor: ", "") @@ -6186,21 +6201,21 @@ function Qh(e, t, n) { tooltip: m("setting.viewer.floatingPauseExecution.desc"), type: "boolean", defaultValue: !!((c = t.viewer) != null && c.floatingPauseDuringExecution), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.floatingPauseDuringExecution = !!Z, Te(t), At(t), n("viewer.floatingPauseDuringExecution"); + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.floatingPauseDuringExecution = !!A, Be(t), At(t), n("viewer.floatingPauseDuringExecution"); } }), e({ - id: `${zi}.Viewer.MfvLiveDefault`, + id: `${Ti}.Viewer.MfvLiveDefault`, category: i(m("cat.viewer"), m("setting.viewer.mfvLiveDefault.name").replace("Majoor: ", "")), name: m("setting.viewer.mfvLiveDefault.name"), tooltip: m("setting.viewer.mfvLiveDefault.desc"), type: "boolean", - defaultValue: !!(((s = t.viewer) == null ? void 0 : s.mfvLiveDefault) ?? Me.MFV_LIVE_DEFAULT), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.mfvLiveDefault = !!Z, Te(t), At(t), n("viewer.mfvLiveDefault"); + defaultValue: !!(((s = t.viewer) == null ? void 0 : s.mfvLiveDefault) ?? Ge.MFV_LIVE_DEFAULT), + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.mfvLiveDefault = !!A, Be(t), At(t), n("viewer.mfvLiveDefault"); } }), e({ - id: `${zi}.Viewer.MfvPreviewDefault`, + id: `${Ti}.Viewer.MfvPreviewDefault`, category: i( m("cat.viewer"), m("setting.viewer.mfvPreviewDefault.name").replace("Majoor: ", "") @@ -6208,53 +6223,53 @@ function Qh(e, t, n) { name: m("setting.viewer.mfvPreviewDefault.name"), tooltip: m("setting.viewer.mfvPreviewDefault.desc"), type: "boolean", - defaultValue: !!(((d = t.viewer) == null ? void 0 : d.mfvPreviewDefault) ?? Me.MFV_PREVIEW_DEFAULT), - onChange: (Z) => { - t.viewer = t.viewer || {}, t.viewer.mfvPreviewDefault = !!Z, Te(t), At(t), n("viewer.mfvPreviewDefault"); + defaultValue: !!(((d = t.viewer) == null ? void 0 : d.mfvPreviewDefault) ?? Ge.MFV_PREVIEW_DEFAULT), + onChange: (A) => { + t.viewer = t.viewer || {}, t.viewer.mfvPreviewDefault = !!A, Be(t), At(t), n("viewer.mfvPreviewDefault"); } }), e({ - id: `${zi}.Viewer.MfvSidebarPosition`, + id: `${Ti}.Viewer.MfvSidebarPosition`, category: i(m("cat.viewer"), "Node Parameters sidebar position"), name: "Node Parameters sidebar position", tooltip: "Position of the Node Parameters sidebar in the Floating Viewer (right, left, or bottom).", type: "combo", defaultValue: ((u = t.viewer) == null ? void 0 : u.mfvSidebarPosition) || "right", options: ["right", "left", "bottom"], - onChange: (Z) => { - const A = ["left", "right", "bottom"].includes(Z) ? Z : "right"; - t.viewer = t.viewer || {}, t.viewer.mfvSidebarPosition = A, Te(t), At(t), n("viewer.mfvSidebarPosition"); + onChange: (A) => { + const C = ["left", "right", "bottom"].includes(A) ? A : "right"; + t.viewer = t.viewer || {}, t.viewer.mfvSidebarPosition = C, Be(t), At(t), n("viewer.mfvSidebarPosition"); } }), e({ - id: `${zi}.Viewer.MfvPreviewMethod`, + id: `${Ti}.Viewer.MfvPreviewMethod`, category: i(m("cat.viewer"), m("setting.viewer.mfvPreviewMethod.name").replace("Majoor: ", "")), name: m("setting.viewer.mfvPreviewMethod.name"), tooltip: m("setting.viewer.mfvPreviewMethod.desc"), type: "combo", defaultValue: ((I = t.viewer) == null ? void 0 : I.mfvPreviewMethod) || "taesd", options: ["taesd", "latent2rgb", "auto", "default", "none"], - onChange: (Z) => { - const A = ["taesd", "latent2rgb", "auto", "default", "none"].includes(Z) ? Z : "taesd"; - t.viewer = t.viewer || {}, t.viewer.mfvPreviewMethod = A, Te(t), At(t), n("viewer.mfvPreviewMethod"); + onChange: (A) => { + const C = ["taesd", "latent2rgb", "auto", "default", "none"].includes(A) ? A : "taesd"; + t.viewer = t.viewer || {}, t.viewer.mfvPreviewMethod = C, Be(t), At(t), n("viewer.mfvPreviewMethod"); } }), e({ - id: `${zi}.Viewer.LtxavRgbFallback`, + id: `${Ti}.Viewer.LtxavRgbFallback`, category: i(m("cat.viewer"), "LTXAV preview fallback"), name: "Majoor: LTXAV RGB Preview Fallback (experimental)", tooltip: "Reuse LTXV RGB projection for LTXAV when native latent preview is unavailable. Experimental; quality may be approximate.", type: "boolean", defaultValue: !!((p = t.viewer) != null && p.ltxavRgbFallback), - onChange: async (Z) => { - var h; - const A = !!Z, g = !!((h = t.viewer) != null && h.ltxavRgbFallback); - t.viewer = t.viewer || {}, t.viewer.ltxavRgbFallback = A, Te(t), At(t), n("viewer.ltxavRgbFallback"); + onChange: async (A) => { + var Z; + const C = !!A, g = !!((Z = t.viewer) != null && Z.ltxavRgbFallback); + t.viewer = t.viewer || {}, t.viewer.ltxavRgbFallback = C, Be(t), At(t), n("viewer.ltxavRgbFallback"); try { - const f = await Mf(A); + const f = await xf(C); if (!(f != null && f.ok)) throw new Error( (f == null ? void 0 : f.error) || "Failed to update LTXAV RGB preview fallback setting" ); } catch (f) { - t.viewer.ltxavRgbFallback = g, Te(t), At(t), n("viewer.ltxavRgbFallback"), Ce( + t.viewer.ltxavRgbFallback = g, Be(t), At(t), n("viewer.ltxavRgbFallback"), Ze( (f == null ? void 0 : f.message) || "Failed to update LTXAV RGB preview fallback setting", "error" ); @@ -6262,27 +6277,27 @@ function Qh(e, t, n) { } }); try { - wf().then((Z) => { - var g, h; - if (!(Z != null && Z.ok)) return; - const A = !!((h = (g = Z == null ? void 0 : Z.data) == null ? void 0 : g.prefs) != null && h.enabled); - t.viewer = t.viewer || {}, !!t.viewer.ltxavRgbFallback !== A && (t.viewer.ltxavRgbFallback = A, Te(t), At(t), n("viewer.ltxavRgbFallback")); + Gf().then((A) => { + var g, Z; + if (!(A != null && A.ok)) return; + const C = !!((Z = (g = A == null ? void 0 : A.data) == null ? void 0 : g.prefs) != null && Z.enabled); + t.viewer = t.viewer || {}, !!t.viewer.ltxavRgbFallback !== C && (t.viewer.ltxavRgbFallback = C, Be(t), At(t), n("viewer.ltxavRgbFallback")); }).catch(() => { }); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } - ((Z, A, g, h) => { + ((A, C, g, Z) => { var f; e({ - id: `${zi}.WorkflowMinimap.${Z}`, + id: `${Ti}.WorkflowMinimap.${A}`, category: i(m("cat.viewer"), m(g).replace("Majoor: ", "")), name: m(g), - tooltip: m(h), + tooltip: m(Z), type: "boolean", - defaultValue: !!((f = t.workflowMinimap) != null && f[A]), + defaultValue: !!((f = t.workflowMinimap) != null && f[C]), onChange: (b) => { - t.workflowMinimap = t.workflowMinimap || {}, t.workflowMinimap[A] = !!b, Te(t), n(`workflowMinimap.${A}`); + t.workflowMinimap = t.workflowMinimap || {}, t.workflowMinimap[C] = !!b, Be(t), n(`workflowMinimap.${C}`); } }); })( @@ -6292,85 +6307,85 @@ function Qh(e, t, n) { "setting.minimap.enabled.desc" ); } -const ki = "Majoor", _h = "Majoor Assets Manager"; -function $h(e, t, n) { - var a, c, s, d, u, I, p, M, Z, A, g, h; - const i = (f, b) => [_h, f, b]; +const Xi = "Majoor", tC = "Majoor Assets Manager"; +function nC(e, t, n) { + var a, c, s, d, u, I, p, S, A, C, g, Z; + const i = (f, b) => [tC, f, b]; e({ - id: `${ki}.ExecutionGrouping.Enabled`, + id: `${Xi}.ExecutionGrouping.Enabled`, category: i(m("cat.scanning"), "Execution grouping"), name: "Execution job/stack grouping", tooltip: "Enable or disable all live job_id / stack_id tracking, grouping, and stack finalization logic.", type: "boolean", - defaultValue: !!(((a = t.executionGrouping) == null ? void 0 : a.enabled) ?? Me.EXECUTION_GROUPING_ENABLED), + defaultValue: !!(((a = t.executionGrouping) == null ? void 0 : a.enabled) ?? Ge.EXECUTION_GROUPING_ENABLED), onChange: async (f) => { - var C, S, W; - const b = !!(((C = t.executionGrouping) == null ? void 0 : C.enabled) ?? Me.EXECUTION_GROUPING_ENABLED), v = !!f; - t.executionGrouping = t.executionGrouping || {}, t.executionGrouping.enabled = v, Te(t), At(t), n("executionGrouping.enabled"); + var h, G, W; + const b = !!(((h = t.executionGrouping) == null ? void 0 : h.enabled) ?? Ge.EXECUTION_GROUPING_ENABLED), L = !!f; + t.executionGrouping = t.executionGrouping || {}, t.executionGrouping.enabled = L, Be(t), At(t), n("executionGrouping.enabled"); try { - const y = await bf(v); + const y = await ff(L); if (!(y != null && y.ok)) throw new Error((y == null ? void 0 : y.error) || "Failed to update execution grouping setting"); - t.executionGrouping.enabled = !!((W = (S = y == null ? void 0 : y.data) == null ? void 0 : S.prefs) != null && W.enabled), Te(t), At(t), n("executionGrouping.enabled"); + t.executionGrouping.enabled = !!((W = (G = y == null ? void 0 : y.data) == null ? void 0 : G.prefs) != null && W.enabled), Be(t), At(t), n("executionGrouping.enabled"); } catch (y) { - t.executionGrouping.enabled = b, Te(t), At(t), n("executionGrouping.enabled"), Ce((y == null ? void 0 : y.message) || "Failed to update execution grouping setting", "error"); + t.executionGrouping.enabled = b, Be(t), At(t), n("executionGrouping.enabled"), Ze((y == null ? void 0 : y.message) || "Failed to update execution grouping setting", "error"); } } }), e({ - id: `${ki}.AutoScan.OnStartup`, + id: `${Xi}.AutoScan.OnStartup`, category: i(m("cat.scanning"), m("setting.scan.startup.name").replace("Majoor: ", "")), name: m("setting.scan.startup.name"), tooltip: m("setting.scan.startup.desc"), type: "boolean", defaultValue: !!((c = t.autoScan) != null && c.onStartup), onChange: (f) => { - t.autoScan = t.autoScan || {}, t.autoScan.onStartup = !!f, Te(t), At(t), n("autoScan.onStartup"); + t.autoScan = t.autoScan || {}, t.autoScan.onStartup = !!f, Be(t), At(t), n("autoScan.onStartup"); } }), e({ - id: `${ki}.Scan.FastMode`, + id: `${Xi}.Scan.FastMode`, category: i(m("cat.scanning"), "Scan mode"), name: "Fast scan mode", tooltip: "Use fast scan mode for manual backfill scans (skip heavier metadata work during scan).", type: "boolean", defaultValue: !!(((s = t.scan) == null ? void 0 : s.fastMode) ?? !0), onChange: (f) => { - t.scan = t.scan || {}, t.scan.fastMode = !!f, Te(t), n("scan.fastMode"); + t.scan = t.scan || {}, t.scan.fastMode = !!f, Be(t), n("scan.fastMode"); } }), e({ - id: `${ki}.RtHydrate.Concurrency`, + id: `${Xi}.RtHydrate.Concurrency`, category: i(m("cat.scanning"), "Hydration"), name: "Hydrate Concurrency", tooltip: "Maximum concurrent hydration requests for rating/tags.", type: "number", defaultValue: Number( - ((d = t.rtHydrate) == null ? void 0 : d.concurrency) || Me.RT_HYDRATE_CONCURRENCY || 5 + ((d = t.rtHydrate) == null ? void 0 : d.concurrency) || Ge.RT_HYDRATE_CONCURRENCY || 5 ), attrs: { min: 1, max: 20, step: 1 }, onChange: (f) => { t.rtHydrate = t.rtHydrate || {}, t.rtHydrate.concurrency = Math.max( 1, - Math.min(20, Math.round(Gn(f, Me.RT_HYDRATE_CONCURRENCY || 5))) - ), Te(t), At(t), n("rtHydrate.concurrency"); + Math.min(20, Math.round(Gn(f, Ge.RT_HYDRATE_CONCURRENCY || 5))) + ), Be(t), At(t), n("rtHydrate.concurrency"); } }); - const o = (f, b, v, C) => { - const S = Math.round(Gn(f, b)); - return Math.max(v, Math.min(C, S)); + const o = (f, b, L, h) => { + const G = Math.round(Gn(f, b)); + return Math.max(L, Math.min(h, G)); }, r = (f = {}) => { const b = []; if (t.watcher = t.watcher || {}, typeof f.debounce_ms == "number") { - const v = Math.max(50, Math.min(5e3, Math.round(f.debounce_ms))); - t.watcher.debounceMs !== v && (t.watcher.debounceMs = v, b.push("watcher.debounceMs")); + const L = Math.max(50, Math.min(5e3, Math.round(f.debounce_ms))); + t.watcher.debounceMs !== L && (t.watcher.debounceMs = L, b.push("watcher.debounceMs")); } if (typeof f.dedupe_ttl_ms == "number") { - const v = Math.max(100, Math.min(3e4, Math.round(f.dedupe_ttl_ms))); - t.watcher.dedupeTtlMs !== v && (t.watcher.dedupeTtlMs = v, b.push("watcher.dedupeTtlMs")); + const L = Math.max(100, Math.min(3e4, Math.round(f.dedupe_ttl_ms))); + t.watcher.dedupeTtlMs !== L && (t.watcher.dedupeTtlMs = L, b.push("watcher.dedupeTtlMs")); } - b.length && (Te(t), b.forEach((v) => n(v))); + b.length && (Be(t), b.forEach((L) => n(L))); }, l = async () => { var f; try { - const b = await Yf(); + const b = await Xf(); if (!(b != null && b.ok)) return; r(b.data || {}); @@ -6379,26 +6394,26 @@ function $h(e, t, n) { } }; e({ - id: `${ki}.Watcher.Enabled`, + id: `${Xi}.Watcher.Enabled`, category: i(m("cat.scanning"), m("setting.watcher.enabled.label", "Enable watcher")), name: m("setting.watcher.name"), tooltip: m("setting.watcher.desc") + " (env: MJR_ENABLE_WATCHER)", type: "boolean", defaultValue: !!((u = t.watcher) != null && u.enabled), onChange: async (f) => { - t.watcher = t.watcher || {}, t.watcher.enabled = !!f, Te(t), n("watcher.enabled"); + t.watcher = t.watcher || {}, t.watcher.enabled = !!f, Be(t), n("watcher.enabled"); try { - const b = await wa(!!f); - b != null && b.ok || (t.watcher.enabled = !f, Te(t), n("watcher.enabled"), Ce( + const b = await Ma(!!f); + b != null && b.ok || (t.watcher.enabled = !f, Be(t), n("watcher.enabled"), Ze( (b == null ? void 0 : b.error) || m("toast.failedToggleWatcher", "Failed to toggle watcher"), "error" )); } catch { - t.watcher.enabled = !f, Te(t), n("watcher.enabled"); + t.watcher.enabled = !f, Be(t), n("watcher.enabled"); } } }), e({ - id: `${ki}.Watcher.DebounceDelay`, + id: `${Xi}.Watcher.DebounceDelay`, category: i( m("cat.scanning"), m("setting.watcher.debounce.label", "Watcher debounce delay") @@ -6406,26 +6421,26 @@ function $h(e, t, n) { name: m("setting.watcher.debounce.name"), tooltip: m("setting.watcher.debounce.desc") + " (env: MJR_WATCHER_DEBOUNCE_MS)", type: "number", - defaultValue: ((I = t.watcher) == null ? void 0 : I.debounceMs) ?? Me.WATCHER_DEBOUNCE_MS, + defaultValue: ((I = t.watcher) == null ? void 0 : I.debounceMs) ?? Ge.WATCHER_DEBOUNCE_MS, attrs: { min: 50, max: 5e3, step: 50 }, onChange: async (f) => { - var S, W; - const b = Me.WATCHER_DEBOUNCE_MS, v = o(f, b, 50, 5e3), C = ((S = t.watcher) == null ? void 0 : S.debounceMs) ?? b; - if (v !== C) { - t.watcher = t.watcher || {}, t.watcher.debounceMs = v, Te(t); + var G, W; + const b = Ge.WATCHER_DEBOUNCE_MS, L = o(f, b, 50, 5e3), h = ((G = t.watcher) == null ? void 0 : G.debounceMs) ?? b; + if (L !== h) { + t.watcher = t.watcher || {}, t.watcher.debounceMs = L, Be(t); try { - const y = await Pd({ debounce_ms: v }); + const y = await _d({ debounce_ms: L }); if (!(y != null && y.ok)) throw new Error((y == null ? void 0 : y.error) || m("setting.watcher.debounce.error")); - const k = Math.round(Number(((W = y == null ? void 0 : y.data) == null ? void 0 : W.debounce_ms) ?? v)); - t.watcher.debounceMs = k, Te(t), n("watcher.debounceMs"); + const X = Math.round(Number(((W = y == null ? void 0 : y.data) == null ? void 0 : W.debounce_ms) ?? L)); + t.watcher.debounceMs = X, Be(t), n("watcher.debounceMs"); } catch (y) { - t.watcher.debounceMs = C, Te(t), n("watcher.debounceMs"), Ce((y == null ? void 0 : y.message) || m("setting.watcher.debounce.error"), "error"); + t.watcher.debounceMs = h, Be(t), n("watcher.debounceMs"), Ze((y == null ? void 0 : y.message) || m("setting.watcher.debounce.error"), "error"); } } } }), e({ - id: `${ki}.Watcher.DedupeWindow`, + id: `${Xi}.Watcher.DedupeWindow`, category: i( m("cat.scanning"), m("setting.watcher.dedupe.label", "Watcher dedupe window") @@ -6433,65 +6448,65 @@ function $h(e, t, n) { name: m("setting.watcher.dedupe.name"), tooltip: m("setting.watcher.dedupe.desc") + " (env: MJR_WATCHER_DEDUPE_TTL_MS)", type: "number", - defaultValue: ((p = t.watcher) == null ? void 0 : p.dedupeTtlMs) ?? Me.WATCHER_DEDUPE_TTL_MS, + defaultValue: ((p = t.watcher) == null ? void 0 : p.dedupeTtlMs) ?? Ge.WATCHER_DEDUPE_TTL_MS, attrs: { min: 100, max: 3e4, step: 100 }, onChange: async (f) => { - var S, W; - const b = Me.WATCHER_DEDUPE_TTL_MS, v = o(f, b, 100, 3e4), C = ((S = t.watcher) == null ? void 0 : S.dedupeTtlMs) ?? b; - if (v !== C) { - t.watcher = t.watcher || {}, t.watcher.dedupeTtlMs = v, Te(t); + var G, W; + const b = Ge.WATCHER_DEDUPE_TTL_MS, L = o(f, b, 100, 3e4), h = ((G = t.watcher) == null ? void 0 : G.dedupeTtlMs) ?? b; + if (L !== h) { + t.watcher = t.watcher || {}, t.watcher.dedupeTtlMs = L, Be(t); try { - const y = await Pd({ dedupe_ttl_ms: v }); + const y = await _d({ dedupe_ttl_ms: L }); if (!(y != null && y.ok)) throw new Error((y == null ? void 0 : y.error) || m("setting.watcher.dedupe.error")); - const k = Math.round(Number(((W = y == null ? void 0 : y.data) == null ? void 0 : W.dedupe_ttl_ms) ?? v)); - t.watcher.dedupeTtlMs = k, Te(t), n("watcher.dedupeTtlMs"); + const X = Math.round(Number(((W = y == null ? void 0 : y.data) == null ? void 0 : W.dedupe_ttl_ms) ?? L)); + t.watcher.dedupeTtlMs = X, Be(t), n("watcher.dedupeTtlMs"); } catch (y) { - t.watcher.dedupeTtlMs = C, Te(t), n("watcher.dedupeTtlMs"), Ce((y == null ? void 0 : y.message) || m("setting.watcher.dedupe.error"), "error"); + t.watcher.dedupeTtlMs = h, Be(t), n("watcher.dedupeTtlMs"), Ze((y == null ? void 0 : y.message) || m("setting.watcher.dedupe.error"), "error"); } } } }), e({ - id: `${ki}.Watcher.MaxPending`, + id: `${Xi}.Watcher.MaxPending`, category: i(m("cat.scanning"), "Watcher queue"), name: "Watcher: max pending files", tooltip: "Maximum number of pending watcher files kept in memory.", type: "number", - defaultValue: Number(((M = t.watcher) == null ? void 0 : M.maxPending) ?? 500), + defaultValue: Number(((S = t.watcher) == null ? void 0 : S.maxPending) ?? 500), attrs: { min: 10, max: 5e3, step: 10 }, onChange: (f) => { t.watcher = t.watcher || {}, t.watcher.maxPending = Math.max( 10, Math.min(5e3, Math.round(Gn(f, 500))) - ), Te(t), At(t), n("watcher.maxPending"); + ), Be(t), At(t), n("watcher.maxPending"); } }), e({ - id: `${ki}.Watcher.MinSize`, + id: `${Xi}.Watcher.MinSize`, category: i(m("cat.scanning"), "Watcher file size"), name: "Watcher: min size (bytes)", tooltip: "Minimum file size indexed by watcher.", type: "number", - defaultValue: Number(((Z = t.watcher) == null ? void 0 : Z.minSize) ?? 100), + defaultValue: Number(((A = t.watcher) == null ? void 0 : A.minSize) ?? 100), attrs: { min: 0, max: 1e6, step: 100 }, onChange: (f) => { t.watcher = t.watcher || {}, t.watcher.minSize = Math.max( 0, Math.min(1e6, Math.round(Gn(f, 100))) - ), Te(t), At(t), n("watcher.minSize"); + ), Be(t), At(t), n("watcher.minSize"); } }), e({ - id: `${ki}.Watcher.MaxSize`, + id: `${Xi}.Watcher.MaxSize`, category: i(m("cat.scanning"), "Watcher file size"), name: "Watcher: max size (bytes)", tooltip: "Maximum file size indexed by watcher.", type: "number", - defaultValue: Number(((A = t.watcher) == null ? void 0 : A.maxSize) ?? 4294967296), + defaultValue: Number(((C = t.watcher) == null ? void 0 : C.maxSize) ?? 4294967296), attrs: { min: 1e5, max: 17179869184, step: 1e5 }, onChange: (f) => { t.watcher = t.watcher || {}, t.watcher.maxSize = Math.max( 1e5, Math.min(17179869184, Math.round(Gn(f, 4294967296))) - ), Te(t), At(t), n("watcher.maxSize"); + ), Be(t), At(t), n("watcher.maxSize"); } }); try { @@ -6501,177 +6516,177 @@ function $h(e, t, n) { (g = console.debug) == null || g.call(console, f); } e({ - id: `${ki}.RatingTagsSync.Enabled`, + id: `${Xi}.RatingTagsSync.Enabled`, category: i(m("cat.scanning"), m("setting.sync.rating.name").replace("Majoor: ", "")), name: m("setting.sync.rating.name"), tooltip: m("setting.sync.rating.desc"), type: "boolean", - defaultValue: !!((h = t.ratingTagsSync) != null && h.enabled), + defaultValue: !!((Z = t.ratingTagsSync) != null && Z.enabled), onChange: (f) => { - t.ratingTagsSync = t.ratingTagsSync || {}, t.ratingTagsSync.enabled = !!f, Te(t), n("ratingTagsSync.enabled"); + t.ratingTagsSync = t.ratingTagsSync || {}, t.ratingTagsSync.enabled = !!f, Be(t), n("ratingTagsSync.enabled"); } }); } -const Ji = "Majoor", eC = "Majoor Assets Manager"; -function tC(e, t, n) { - var r, l, a, c, s, d, u, I, p, M; - const i = (Z) => [eC, m("cat.feed", "Generated Feed"), Z], o = () => { +const Bi = "Majoor", iC = "Majoor Assets Manager"; +function oC(e, t, n) { + var r, l, a, c, s, d, u, I, p, S; + const i = (A) => [iC, m("cat.feed", "Generated Feed"), A], o = () => { t.feed = t.feed || {}; }; e({ - id: `${Ji}.Feed.CardSize`, + id: `${Bi}.Feed.CardSize`, category: i("Card size"), name: "Feed card size (px)", tooltip: "Set the minimum card width used by the Generated Feed layout (60-600 px).", type: "number", defaultValue: Math.max(60, Math.min(600, Number((r = t.feed) == null ? void 0 : r.minSize) || 120)), attrs: { min: 60, max: 600, step: 10 }, - onChange: (Z) => { - o(), t.feed.minSize = Math.max(60, Math.min(600, Math.round(Number(Z) || 120))), Te(t), At(t), n("feed.minSize"); + onChange: (A) => { + o(), t.feed.minSize = Math.max(60, Math.min(600, Math.round(Number(A) || 120))), Be(t), At(t), n("feed.minSize"); } }), e({ - id: `${Ji}.Feed.ShowInfo`, + id: `${Bi}.Feed.ShowInfo`, category: i("Show info section"), name: "Show card info section", tooltip: "Show or hide the entire info section (filename, metadata, dots) below thumbnails in the Generated Feed.", type: "boolean", - defaultValue: !!(((l = t.feed) == null ? void 0 : l.showInfo) ?? Me.FEED_SHOW_INFO), - onChange: (Z) => { - o(), t.feed.showInfo = !!Z, Te(t), At(t), n("feed.showInfo"); + defaultValue: !!(((l = t.feed) == null ? void 0 : l.showInfo) ?? Ge.FEED_SHOW_INFO), + onChange: (A) => { + o(), t.feed.showInfo = !!A, Be(t), At(t), n("feed.showInfo"); } }), e({ - id: `${Ji}.Feed.ShowFilename`, + id: `${Bi}.Feed.ShowFilename`, category: i("Show filename"), name: "Show filename", tooltip: "Display the filename on feed cards.", type: "boolean", - defaultValue: !!(((a = t.feed) == null ? void 0 : a.showFilename) ?? Me.FEED_SHOW_FILENAME), - onChange: (Z) => { - o(), t.feed.showFilename = !!Z, Te(t), At(t), n("feed.showFilename"); + defaultValue: !!(((a = t.feed) == null ? void 0 : a.showFilename) ?? Ge.FEED_SHOW_FILENAME), + onChange: (A) => { + o(), t.feed.showFilename = !!A, Be(t), At(t), n("feed.showFilename"); } }), e({ - id: `${Ji}.Feed.ShowDimensions`, + id: `${Bi}.Feed.ShowDimensions`, category: i("Show dimensions"), name: "Show dimensions", tooltip: "Display resolution (WxH) and duration on feed cards.", type: "boolean", - defaultValue: !!(((c = t.feed) == null ? void 0 : c.showDimensions) ?? Me.FEED_SHOW_DIMENSIONS), - onChange: (Z) => { - o(), t.feed.showDimensions = !!Z, Te(t), At(t), n("feed.showDimensions"); + defaultValue: !!(((c = t.feed) == null ? void 0 : c.showDimensions) ?? Ge.FEED_SHOW_DIMENSIONS), + onChange: (A) => { + o(), t.feed.showDimensions = !!A, Be(t), At(t), n("feed.showDimensions"); } }), e({ - id: `${Ji}.Feed.ShowDate`, + id: `${Bi}.Feed.ShowDate`, category: i("Show date/time"), name: "Show date/time", tooltip: "Display date and time on feed cards.", type: "boolean", - defaultValue: !!(((s = t.feed) == null ? void 0 : s.showDate) ?? Me.FEED_SHOW_DATE), - onChange: (Z) => { - o(), t.feed.showDate = !!Z, Te(t), At(t), n("feed.showDate"); + defaultValue: !!(((s = t.feed) == null ? void 0 : s.showDate) ?? Ge.FEED_SHOW_DATE), + onChange: (A) => { + o(), t.feed.showDate = !!A, Be(t), At(t), n("feed.showDate"); } }), e({ - id: `${Ji}.Feed.ShowGenTime`, + id: `${Bi}.Feed.ShowGenTime`, category: i("Show generation time"), name: "Show generation time", tooltip: "Display the generation time badge on feed cards.", type: "boolean", - defaultValue: !!(((d = t.feed) == null ? void 0 : d.showGenTime) ?? Me.FEED_SHOW_GENTIME), - onChange: (Z) => { - o(), t.feed.showGenTime = !!Z, Te(t), At(t), n("feed.showGenTime"); + defaultValue: !!(((d = t.feed) == null ? void 0 : d.showGenTime) ?? Ge.FEED_SHOW_GENTIME), + onChange: (A) => { + o(), t.feed.showGenTime = !!A, Be(t), At(t), n("feed.showGenTime"); } }), e({ - id: `${Ji}.Feed.ShowWorkflowDot`, + id: `${Bi}.Feed.ShowWorkflowDot`, category: i("Show workflow dot"), name: "Show workflow indicator", tooltip: "Display the workflow availability dot on feed cards.", type: "boolean", - defaultValue: !!(((u = t.feed) == null ? void 0 : u.showWorkflowDot) ?? Me.FEED_SHOW_WORKFLOW_DOT), - onChange: (Z) => { - o(), t.feed.showWorkflowDot = !!Z, Te(t), At(t), n("feed.showWorkflowDot"); + defaultValue: !!(((u = t.feed) == null ? void 0 : u.showWorkflowDot) ?? Ge.FEED_SHOW_WORKFLOW_DOT), + onChange: (A) => { + o(), t.feed.showWorkflowDot = !!A, Be(t), At(t), n("feed.showWorkflowDot"); } }), e({ - id: `${Ji}.Feed.ShowExtBadge`, + id: `${Bi}.Feed.ShowExtBadge`, category: i("Show format badges"), name: "Show format badges", tooltip: "Display format badges (e.g. JPG, MP4) on feed card thumbnails.", type: "boolean", - defaultValue: !!(((I = t.feed) == null ? void 0 : I.showExtBadge) ?? Me.FEED_SHOW_BADGES_EXTENSION), - onChange: (Z) => { - o(), t.feed.showExtBadge = !!Z, Te(t), At(t), n("feed.showExtBadge"); + defaultValue: !!(((I = t.feed) == null ? void 0 : I.showExtBadge) ?? Ge.FEED_SHOW_BADGES_EXTENSION), + onChange: (A) => { + o(), t.feed.showExtBadge = !!A, Be(t), At(t), n("feed.showExtBadge"); } }), e({ - id: `${Ji}.Feed.ShowRatingBadge`, + id: `${Bi}.Feed.ShowRatingBadge`, category: i("Show rating badges"), name: "Show ratings", tooltip: "Display star ratings on feed card thumbnails.", type: "boolean", - defaultValue: !!(((p = t.feed) == null ? void 0 : p.showRatingBadge) ?? Me.FEED_SHOW_BADGES_RATING), - onChange: (Z) => { - o(), t.feed.showRatingBadge = !!Z, Te(t), At(t), n("feed.showRatingBadge"); + defaultValue: !!(((p = t.feed) == null ? void 0 : p.showRatingBadge) ?? Ge.FEED_SHOW_BADGES_RATING), + onChange: (A) => { + o(), t.feed.showRatingBadge = !!A, Be(t), At(t), n("feed.showRatingBadge"); } }), e({ - id: `${Ji}.Feed.ShowTagsBadge`, + id: `${Bi}.Feed.ShowTagsBadge`, category: i("Show tags badges"), name: "Show tags", tooltip: "Display tag indicators on feed card thumbnails.", type: "boolean", - defaultValue: !!(((M = t.feed) == null ? void 0 : M.showTagsBadge) ?? Me.FEED_SHOW_BADGES_TAGS), - onChange: (Z) => { - o(), t.feed.showTagsBadge = !!Z, Te(t), At(t), n("feed.showTagsBadge"); + defaultValue: !!(((S = t.feed) == null ? void 0 : S.showTagsBadge) ?? Ge.FEED_SHOW_BADGES_TAGS), + onChange: (A) => { + o(), t.feed.showTagsBadge = !!A, Be(t), At(t), n("feed.showTagsBadge"); } }); } -const kl = "Majoor", nC = "Majoor Assets Manager", _g = 16; -function su(e) { +const Xl = "Majoor", rC = "Majoor Assets Manager", $g = 16; +function uu(e) { return !!e; } -function mc(e, t) { - return su(e) === su(t); +function gc(e, t) { + return uu(e) === uu(t); } -function du(e) { +function mu(e) { return typeof e == "string" ? e.trim() : ""; } -function iC(e) { +function lC(e) { const t = String(e || "").trim().toLowerCase(); return t === "localhost" || t === "127.0.0.1" || t === "::1"; } -function oC() { +function aC() { var e; return globalThis.location || ((e = globalThis.window) == null ? void 0 : e.location) || null; } -function rC() { - const e = oC(); +function cC() { + const e = aC(); if (!e) return !1; const t = String(e.protocol || "").toLowerCase(), n = String(e.hostname || "").trim(); - return t === "http:" && !iC(n); + return t === "http:" && !lC(n); } -function lC(e) { +function sC(e) { const t = globalThis.crypto; if (!(t != null && t.getRandomValues)) throw new Error("Secure token generation requires crypto.getRandomValues()."); return t.getRandomValues(e); } -function aC(e) { - const t = Math.max(4, Number(e) || 0), n = new Uint8Array(t); - return lC(n), Array.from(n, (i) => i.toString(16).padStart(2, "0")).join(""); -} -function cC() { - return `mjr_${aC(18)}`; -} -function sC(e) { - return String((e == null ? void 0 : e.apiToken) || "").trim().length >= _g && kn(e == null ? void 0 : e.allowWrite, !0) && kn(e == null ? void 0 : e.requireAuth, !1) && !kn(e == null ? void 0 : e.allowRemoteWrite, !1); -} function dC(e) { + const t = Math.max(4, Number(e) || 0), n = new Uint8Array(t); + return sC(n), Array.from(n, (i) => i.toString(16).padStart(2, "0")).join(""); +} +function uC() { + return `mjr_${dC(18)}`; +} +function mC(e) { + return String((e == null ? void 0 : e.apiToken) || "").trim().length >= $g && kn(e == null ? void 0 : e.allowWrite, !0) && kn(e == null ? void 0 : e.requireAuth, !1) && !kn(e == null ? void 0 : e.allowRemoteWrite, !1); +} +function gC(e) { const n = String((e && typeof e == "object" ? e : {}).apiToken || "").trim(); return { - apiToken: n.length >= _g ? n : cC(), + apiToken: n.length >= $g ? n : uC(), allowWrite: !0, requireAuth: !0, allowRemoteWrite: !1, - allowInsecureTokenTransport: rC() + allowInsecureTokenTransport: cC() }; } -function uC(e) { +function IC(e) { const t = e || {}; return { safe_mode: kn(t.safeMode, !1), @@ -6686,10 +6701,10 @@ function uC(e) { ...String(t.apiToken || "").trim() ? { api_token: String(t.apiToken || "").trim() } : {} }; } -function uu(e) { - return Yg(uC(e)); +function gu(e) { + return Yg(IC(e)); } -function mC(e) { +function bC(e) { var n, i; const t = String(((n = e == null ? void 0 : e.security) == null ? void 0 : n.tokenHint) || "").trim(); return t ? m( @@ -6701,11 +6716,11 @@ function mC(e) { "Token configured on server. Leave blank to keep the current server token." ) : m("setting.sec.token.placeholder", "Auto-generated for this browser session."); } -function gC(e, t, n) { +function pC(e, t, n) { var r, l; - const i = (a, c) => [nC, a, c]; + const i = (a, c) => [rC, a, c]; e({ - id: `${kl}.Safety.ConfirmDeletion`, + id: `${Xl}.Safety.ConfirmDeletion`, category: i(m("cat.security"), "Confirm before deleting"), name: "Confirm before deleting", tooltip: "Show a confirmation dialog before deleting files. Disabling this allows instant deletion.", @@ -6713,40 +6728,40 @@ function gC(e, t, n) { defaultValue: ((r = t.safety) == null ? void 0 : r.confirmDeletion) !== !1, onChange: (a) => { var c; - mc(((c = t.safety) == null ? void 0 : c.confirmDeletion) !== !1, a) || (t.safety = t.safety || {}, t.safety.confirmDeletion = !!a, Te(t), At(t), n("safety.confirmDeletion")); + gc(((c = t.safety) == null ? void 0 : c.confirmDeletion) !== !1, a) || (t.safety = t.safety || {}, t.safety.confirmDeletion = !!a, Be(t), At(t), n("safety.confirmDeletion")); } }); const o = (a, c, s, d = "cat.security") => { var u; e({ - id: `${kl}.Security.${a}`, + id: `${Xl}.Security.${a}`, category: i(m(d), m(c).replace("Majoor: ", "")), name: m(c), tooltip: m(s), type: "boolean", defaultValue: !!((u = t.security) != null && u[a]), onChange: (I) => { - var p, M; - if (!mc((p = t.security) == null ? void 0 : p[a], I)) { - t.security = t.security || {}, t.security[a] = !!I, Te(t), n(`security.${a}`); + var p, S; + if (!gc((p = t.security) == null ? void 0 : p[a], I)) { + t.security = t.security || {}, t.security[a] = !!I, Be(t), n(`security.${a}`); try { - uu(t.security).then((Z) => { - var A; - Z != null && Z.ok && ((A = Z.data) != null && A.prefs) ? ia() : Z && Z.ok === !1 && console.warn( + gu(t.security).then((A) => { + var C; + A != null && A.ok && ((C = A.data) != null && C.prefs) ? oa() : A && A.ok === !1 && console.warn( "[Majoor] backend security settings update failed", - Z.error || Z + A.error || A ); }).catch(() => { }); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } } } }); }; o("safeMode", "setting.sec.safe.name", "setting.sec.safe.desc"), o("allowWrite", "setting.sec.write.name", "setting.sec.write.desc"), o("allowDelete", "setting.sec.del.name", "setting.sec.del.desc"), o("allowRename", "setting.sec.ren.name", "setting.sec.ren.desc"), o("allowOpenInFolder", "setting.sec.open.name", "setting.sec.open.desc"), o("allowResetIndex", "setting.sec.reset.name", "setting.sec.reset.desc"), e({ - id: `${kl}.Security.RemoteLanPreset`, + id: `${Xl}.Security.RemoteLanPreset`, category: i( m("cat.remote"), m("setting.sec.remoteLanPreset.name").replace("Majoor: ", "") @@ -6754,20 +6769,20 @@ function gC(e, t, n) { name: m("setting.sec.remoteLanPreset.name"), tooltip: m("setting.sec.remoteLanPreset.desc"), type: "boolean", - defaultValue: sC(t.security), + defaultValue: mC(t.security), onChange: (a) => { var s; - if (t.security = t.security || {}, mc(t.security.remoteLanPreset, a)) + if (t.security = t.security || {}, gc(t.security.remoteLanPreset, a)) return; if (t.security.remoteLanPreset = !!a, !a) { - Te(t), n("security.remoteLanPreset"); + Be(t), n("security.remoteLanPreset"); return; } let c; try { - c = dC(t.security); + c = gC(t.security); } catch (d) { - Ce( + Ze( (d == null ? void 0 : d.message) || m( "toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup." @@ -6776,17 +6791,17 @@ function gC(e, t, n) { ); return; } - Object.assign(t.security, c), t.security.tokenConfigured = !0, t.security.tokenHint = String(c.apiToken || "").trim() ? `...${String(c.apiToken).trim().slice(-4)}` : "", c.apiToken && Dd(c.apiToken), Te(t), n("security.remoteLanPreset"), n("security.apiToken"), n("security.allowWrite"), n("security.requireAuth"), n("security.allowRemoteWrite"), n("security.allowInsecureTokenTransport"); + Object.assign(t.security, c), t.security.tokenConfigured = !0, t.security.tokenHint = String(c.apiToken || "").trim() ? `...${String(c.apiToken).trim().slice(-4)}` : "", c.apiToken && Hd(c.apiToken), Be(t), n("security.remoteLanPreset"), n("security.apiToken"), n("security.allowWrite"), n("security.requireAuth"), n("security.allowRemoteWrite"), n("security.allowInsecureTokenTransport"); try { - uu(t.security).then((d) => { + gu(t.security).then((d) => { var u; - d != null && d.ok && ((u = d.data) != null && u.prefs) ? (ia(), Ce( + d != null && d.ok && ((u = d.data) != null && u.prefs) ? (oa(), Ze( m( "toast.remoteLanPresetApplied", "Recommended remote LAN setup applied. This browser session is now authorized for Majoor write operations." ), "success" - )) : d && d.ok === !1 && (Ce( + )) : d && d.ok === !1 && (Ze( d.error || m( "toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup." @@ -6797,7 +6812,7 @@ function gC(e, t, n) { d.error || d )); }).catch((d) => { - Ce( + Ze( (d == null ? void 0 : d.message) || m( "toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup." @@ -6810,7 +6825,7 @@ function gC(e, t, n) { } } }), e({ - id: `${kl}.Security.ApiToken`, + id: `${Xl}.Security.ApiToken`, category: i(m("cat.remote"), m("setting.sec.token.name").replace("Majoor: ", "")), name: m("setting.sec.token.name", "Majoor: API Token"), tooltip: m( @@ -6820,17 +6835,17 @@ function gC(e, t, n) { type: "text", defaultValue: ((l = t.security) == null ? void 0 : l.apiToken) || "", attrs: { - placeholder: mC(t) + placeholder: bC(t) }, onChange: (a) => { var s; t.security = t.security || {}; - const c = du(a); - if (du(t.security.apiToken) !== c && (t.security.apiToken = c, t.security.apiToken && (t.security.tokenConfigured = !0, t.security.tokenHint = `...${t.security.apiToken.slice(-4)}`, Dd(t.security.apiToken)), Te(t), n("security.apiToken"), !!t.security.apiToken)) + const c = mu(a); + if (mu(t.security.apiToken) !== c && (t.security.apiToken = c, t.security.apiToken && (t.security.tokenConfigured = !0, t.security.tokenHint = `...${t.security.apiToken.slice(-4)}`, Hd(t.security.apiToken)), Be(t), n("security.apiToken"), !!t.security.apiToken)) try { Yg({ api_token: t.security.apiToken }).then((d) => { var u; - d != null && d.ok && ((u = d.data) != null && u.prefs) ? ia() : d && d.ok === !1 && console.warn("[Majoor] backend token update failed", d.error || d); + d != null && d.ok && ((u = d.data) != null && u.prefs) ? oa() : d && d.ok === !1 && console.warn("[Majoor] backend token update failed", d.error || d); }).catch(() => { }); } catch (d) { @@ -6854,11 +6869,11 @@ function gC(e, t, n) { "cat.remote" ); } -const Pn = "Majoor", IC = "Majoor Assets Manager"; -function bC(e, t, n, i) { - var A, g, h, f, b, v, C, S, W, y, k, G, z, x, w, X, V, R, j, L, N, q, O; - const o = (B, J) => [IC, B, J]; - let r = String(((A = t.paths) == null ? void 0 : A.outputDirectory) || ""), l = null, a = 0, c = null; +const Pn = "Majoor", yC = "Majoor Assets Manager"; +function fC(e, t, n, i) { + var C, g, Z, f, b, L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V, k, K, z; + const o = (B, J) => [yC, B, J]; + let r = String(((C = t.paths) == null ? void 0 : C.outputDirectory) || ""), l = null, a = 0, c = null; e({ id: `${Pn}.Paths.OutputDirectory`, category: o(m("cat.advanced"), "Paths / Output"), @@ -6870,43 +6885,43 @@ function bC(e, t, n, i) { placeholder: "D:\\\\____COMFY_OUTPUTS" }, onChange: async (B) => { - var T; + var P; const J = String(B || "").trim(); - t.paths = t.paths || {}, t.paths.outputDirectory = J, Te(t); + t.paths = t.paths || {}, t.paths.outputDirectory = J, Be(t); try { l && (clearTimeout(l), l = null); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } l = setTimeout(async () => { - var Q, E, K; + var $, E, oe; l = null; - const D = ++a; + const H = ++a; try { - (Q = c == null ? void 0 : c.abort) == null || Q.call(c); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + ($ = c == null ? void 0 : c.abort) == null || $.call(c); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } c = typeof AbortController < "u" ? new AbortController() : null; try { - const F = await Gf( + const M = await vf( J, c ? { signal: c.signal } : {} ); - if (D !== a) return; - if (!(F != null && F.ok)) + if (H !== a) return; + if (!(M != null && M.ok)) throw new Error( - (F == null ? void 0 : F.error) || m( + (M == null ? void 0 : M.error) || m( "toast.failedSetOutputDirectory", "Failed to set output directory" ) ); - const Y = String(((K = F == null ? void 0 : F.data) == null ? void 0 : K.output_directory) || J).trim(); - t.paths.outputDirectory = Y, r = Y, Te(t), n("paths.outputDirectory"); - } catch (F) { - if (D !== a || String((F == null ? void 0 : F.name) || "") === "AbortError" || String((F == null ? void 0 : F.code) || "") === "ABORTED") return; - t.paths.outputDirectory = r, Te(t), n("paths.outputDirectory"), Ce( - (F == null ? void 0 : F.message) || m("toast.failedSetOutputDirectory", "Failed to set output directory"), + const j = String(((oe = M == null ? void 0 : M.data) == null ? void 0 : oe.output_directory) || J).trim(); + t.paths.outputDirectory = j, r = j, Be(t), n("paths.outputDirectory"); + } catch (M) { + if (H !== a || String((M == null ? void 0 : M.name) || "") === "AbortError" || String((M == null ? void 0 : M.code) || "") === "ABORTED") return; + t.paths.outputDirectory = r, Be(t), n("paths.outputDirectory"), Ze( + (M == null ? void 0 : M.message) || m("toast.failedSetOutputDirectory", "Failed to set output directory"), "error" ); } @@ -6914,15 +6929,15 @@ function bC(e, t, n, i) { } }); try { - Sf().then((B) => { - var T; + jf().then((B) => { + var P; if (!(B != null && B.ok)) return; - const J = String(((T = B == null ? void 0 : B.data) == null ? void 0 : T.output_directory) || "").trim(); - t.paths = t.paths || {}, t.paths.outputDirectory !== J && (t.paths.outputDirectory = J, r = J, Te(t), n("paths.outputDirectory")); + const J = String(((P = B == null ? void 0 : B.data) == null ? void 0 : P.output_directory) || "").trim(); + t.paths = t.paths || {}, t.paths.outputDirectory !== J && (t.paths.outputDirectory = J, r = J, Be(t), n("paths.outputDirectory")); }).catch(() => { }); } catch (B) { - (h = console.debug) == null || h.call(console, B); + (Z = console.debug) == null || Z.call(console, B); } let s = String(((f = t.paths) == null ? void 0 : f.indexDirectory) || ""), d = null, u = 0, I = null; e({ @@ -6936,36 +6951,36 @@ function bC(e, t, n, i) { placeholder: "D:\\MajoorIndex" }, onChange: async (B) => { - var T; + var P; const J = String(B || "").trim(); - t.paths = t.paths || {}, t.paths.indexDirectory = J, Te(t); + t.paths = t.paths || {}, t.paths.indexDirectory = J, Be(t); try { d && (clearTimeout(d), d = null); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } d = setTimeout(async () => { - var Q, E, K; + var $, E, oe; d = null; - const D = ++u; + const H = ++u; try { - (Q = I == null ? void 0 : I.abort) == null || Q.call(I); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + ($ = I == null ? void 0 : I.abort) == null || $.call(I); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } I = typeof AbortController < "u" ? new AbortController() : null; try { - const F = await jf( + const M = await Vf( J, I ? { signal: I.signal } : {} ); - if (D !== u) return; - if (!(F != null && F.ok)) + if (H !== u) return; + if (!(M != null && M.ok)) throw new Error( - (F == null ? void 0 : F.error) || m("toast.failedSetIndexDirectory", "Failed to set index directory") + (M == null ? void 0 : M.error) || m("toast.failedSetIndexDirectory", "Failed to set index directory") ); - const Y = String(((K = F == null ? void 0 : F.data) == null ? void 0 : K.index_directory) || J).trim(), U = Y !== s; - t.paths.indexDirectory = Y, s = Y, Te(t), n("paths.indexDirectory"), U && Ce( + const j = String(((oe = M == null ? void 0 : M.data) == null ? void 0 : oe.index_directory) || J).trim(), O = j !== s; + t.paths.indexDirectory = j, s = j, Be(t), n("paths.indexDirectory"), O && Ze( m( "toast.indexDirectorySavedRestart", "Index directory saved. Restart ComfyUI to apply." @@ -6978,10 +6993,10 @@ function bC(e, t, n, i) { } } ); - } catch (F) { - if (D !== u || String((F == null ? void 0 : F.name) || "") === "AbortError" || String((F == null ? void 0 : F.code) || "") === "ABORTED") return; - t.paths.indexDirectory = s, Te(t), n("paths.indexDirectory"), Ce( - (F == null ? void 0 : F.message) || m("toast.failedSetIndexDirectory", "Failed to set index directory"), + } catch (M) { + if (H !== u || String((M == null ? void 0 : M.name) || "") === "AbortError" || String((M == null ? void 0 : M.code) || "") === "ABORTED") return; + t.paths.indexDirectory = s, Be(t), n("paths.indexDirectory"), Ze( + (M == null ? void 0 : M.message) || m("toast.failedSetIndexDirectory", "Failed to set index directory"), "error" ); } @@ -6989,31 +7004,31 @@ function bC(e, t, n, i) { } }); try { - xf().then((B) => { - var T; + Lf().then((B) => { + var P; if (!(B != null && B.ok)) return; - const J = String(((T = B == null ? void 0 : B.data) == null ? void 0 : T.index_directory) || "").trim(); - t.paths = t.paths || {}, t.paths.indexDirectory !== J && (t.paths.indexDirectory = J, s = J, Te(t), n("paths.indexDirectory")); + const J = String(((P = B == null ? void 0 : B.data) == null ? void 0 : P.index_directory) || "").trim(); + t.paths = t.paths || {}, t.paths.indexDirectory !== J && (t.paths.indexDirectory = J, s = J, Be(t), n("paths.indexDirectory")); }).catch(() => { }); } catch (B) { - (v = console.debug) == null || v.call(console, B); + (L = console.debug) == null || L.call(console, B); } - const M = zy().map((B) => B.code), Z = ["auto", ...M]; + const S = By().map((B) => B.code), A = ["auto", ...S]; e({ id: `${Pn}.Language`, category: o(m("cat.advanced"), m("setting.language.name", "Language")), name: m("setting.language.name", "Majoor: Language"), tooltip: "Use auto to detect and follow ComfyUI language. Or choose a fixed language for Majoor only.", type: "combo", - defaultValue: (C = t.i18n) != null && C.followComfyLanguage ? "auto" : Oy(), - options: Z, + defaultValue: (h = t.i18n) != null && h.followComfyLanguage ? "auto" : Ty(), + options: A, onChange: (B) => { if (t.i18n = t.i18n || {}, B === "auto") { - t.i18n.followComfyLanguage = !0, Aa(!0), Cg(i), Te(t), n("language"); + t.i18n.followComfyLanguage = !0, Wa(!0), Zg(i), Be(t), n("language"); return; } - M.includes(B) && (t.i18n.followComfyLanguage = !1, Aa(!1), qi(B), Te(t), n("language")); + S.includes(B) && (t.i18n.followComfyLanguage = !1, Wa(!1), _i(B), Be(t), n("language")); } }), e({ id: `${Pn}.ProbeBackend.Mode`, @@ -7021,15 +7036,15 @@ function bC(e, t, n, i) { name: m("setting.probe.mode.name"), tooltip: m("setting.probe.mode.desc") + " (env: MAJOOR_MEDIA_PROBE_BACKEND)", type: "combo", - defaultValue: ((S = t.probeBackend) == null ? void 0 : S.mode) || Un.probeBackend.mode, + defaultValue: ((G = t.probeBackend) == null ? void 0 : G.mode) || Un.probeBackend.mode, options: ["auto", "exiftool", "ffprobe", "both"], onChange: (B) => { - const J = Ts( + const J = Us( B, ["auto", "exiftool", "ffprobe", "both"], Un.probeBackend.mode ); - t.probeBackend = t.probeBackend || {}, t.probeBackend.mode = J, Te(t), At(t), n("probeBackend.mode"), df(J).catch(() => { + t.probeBackend = t.probeBackend || {}, t.probeBackend.mode = J, Be(t), At(t), n("probeBackend.mode"), gf(J).catch(() => { }); } }), e({ @@ -7040,13 +7055,13 @@ function bC(e, t, n, i) { type: "boolean", defaultValue: ((W = t.metadataFallback) == null ? void 0 : W.image) ?? Un.metadataFallback.image, onChange: async (B) => { - var D, Q; - const J = !!B, T = !!(((D = t.metadataFallback) == null ? void 0 : D.image) ?? Un.metadataFallback.image); - t.metadataFallback = t.metadataFallback || {}, t.metadataFallback.image = J, Te(t), n("metadataFallback.image"); + var H, $; + const J = !!B, P = !!(((H = t.metadataFallback) == null ? void 0 : H.image) ?? Un.metadataFallback.image); + t.metadataFallback = t.metadataFallback || {}, t.metadataFallback.image = J, Be(t), n("metadataFallback.image"); try { - const E = await Hd({ + const E = await Pd({ image: J, - media: ((Q = t.metadataFallback) == null ? void 0 : Q.media) ?? Un.metadataFallback.media + media: (($ = t.metadataFallback) == null ? void 0 : $.media) ?? Un.metadataFallback.media }); if (!(E != null && E.ok)) throw new Error( @@ -7056,7 +7071,7 @@ function bC(e, t, n, i) { ) ); } catch (E) { - t.metadataFallback.image = T, Te(t), n("metadataFallback.image"), Ce( + t.metadataFallback.image = P, Be(t), n("metadataFallback.image"), Ze( (E == null ? void 0 : E.message) || m( "toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings" @@ -7073,12 +7088,12 @@ function bC(e, t, n, i) { type: "boolean", defaultValue: ((y = t.metadataFallback) == null ? void 0 : y.media) ?? Un.metadataFallback.media, onChange: async (B) => { - var D, Q; - const J = !!B, T = !!(((D = t.metadataFallback) == null ? void 0 : D.media) ?? Un.metadataFallback.media); - t.metadataFallback = t.metadataFallback || {}, t.metadataFallback.media = J, Te(t), n("metadataFallback.media"); + var H, $; + const J = !!B, P = !!(((H = t.metadataFallback) == null ? void 0 : H.media) ?? Un.metadataFallback.media); + t.metadataFallback = t.metadataFallback || {}, t.metadataFallback.media = J, Be(t), n("metadataFallback.media"); try { - const E = await Hd({ - image: ((Q = t.metadataFallback) == null ? void 0 : Q.image) ?? Un.metadataFallback.image, + const E = await Pd({ + image: (($ = t.metadataFallback) == null ? void 0 : $.image) ?? Un.metadataFallback.image, media: J }); if (!(E != null && E.ok)) @@ -7089,7 +7104,7 @@ function bC(e, t, n, i) { ) ); } catch (E) { - t.metadataFallback.media = T, Te(t), n("metadataFallback.media"), Ce( + t.metadataFallback.media = P, Be(t), n("metadataFallback.media"), Ze( (E == null ? void 0 : E.message) || m( "toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings" @@ -7100,17 +7115,17 @@ function bC(e, t, n, i) { } }); try { - uf().then((B) => { + If().then((B) => { var E; if (!(B != null && B.ok) || !((E = B == null ? void 0 : B.data) != null && E.prefs)) return; - const J = B.data.prefs || {}, T = !!(J.image ?? Un.metadataFallback.image), D = !!(J.media ?? Un.metadataFallback.media); + const J = B.data.prefs || {}, P = !!(J.image ?? Un.metadataFallback.image), H = !!(J.media ?? Un.metadataFallback.media); t.metadataFallback = t.metadataFallback || {}; - let Q = !1; - t.metadataFallback.image !== T && (t.metadataFallback.image = T, Q = !0), t.metadataFallback.media !== D && (t.metadataFallback.media = D, Q = !0), Q && (Te(t), n("metadataFallback")); + let $ = !1; + t.metadataFallback.image !== P && (t.metadataFallback.image = P, $ = !0), t.metadataFallback.media !== H && (t.metadataFallback.media = H, $ = !0), $ && (Be(t), n("metadataFallback")); }).catch(() => { }); } catch (B) { - (k = console.debug) == null || k.call(console, B); + (X = console.debug) == null || X.call(console, B); } e({ id: `${Pn}.Db.Timeout`, @@ -7118,13 +7133,13 @@ function bC(e, t, n, i) { name: "DB Timeout (ms)", tooltip: "Client-side DB timeout preference (stored locally).", type: "number", - defaultValue: Number(((G = t.db) == null ? void 0 : G.timeoutMs) || 5e3), + defaultValue: Number(((x = t.db) == null ? void 0 : x.timeoutMs) || 5e3), attrs: { min: 1e3, max: 3e4, step: 1e3 }, onChange: (B) => { t.db = t.db || {}, t.db.timeoutMs = Math.max( 1e3, Math.min(3e4, Math.round(Gn(B, 5e3))) - ), Te(t), At(t), n("db.timeoutMs"); + ), Be(t), At(t), n("db.timeoutMs"); } }), e({ id: `${Pn}.Db.MaxConnections`, @@ -7132,13 +7147,13 @@ function bC(e, t, n, i) { name: "DB Max Connections", tooltip: "Client-side DB max connections preference (stored locally).", type: "number", - defaultValue: Number(((z = t.db) == null ? void 0 : z.maxConnections) || 10), + defaultValue: Number(((T = t.db) == null ? void 0 : T.maxConnections) || 10), attrs: { min: 1, max: 100, step: 1 }, onChange: (B) => { t.db = t.db || {}, t.db.maxConnections = Math.max( 1, Math.min(100, Math.round(Gn(B, 10))) - ), Te(t), At(t), n("db.maxConnections"); + ), Be(t), At(t), n("db.maxConnections"); } }), e({ id: `${Pn}.Db.QueryTimeout`, @@ -7146,13 +7161,13 @@ function bC(e, t, n, i) { name: "DB Query Timeout (ms)", tooltip: "Client-side DB query timeout preference (stored locally).", type: "number", - defaultValue: Number(((x = t.db) == null ? void 0 : x.queryTimeoutMs) || 1e3), + defaultValue: Number(((v = t.db) == null ? void 0 : v.queryTimeoutMs) || 1e3), attrs: { min: 500, max: 1e4, step: 500 }, onChange: (B) => { t.db = t.db || {}, t.db.queryTimeoutMs = Math.max( 500, Math.min(1e4, Math.round(Gn(B, 1e3))) - ), Te(t), At(t), n("db.queryTimeoutMs"); + ), Be(t), At(t), n("db.queryTimeoutMs"); } }), e({ id: `${Pn}.Observability.Enabled`, @@ -7162,7 +7177,7 @@ function bC(e, t, n, i) { type: "boolean", defaultValue: !!((w = t.observability) != null && w.enabled), onChange: (B) => { - t.observability = t.observability || {}, t.observability.enabled = !!B, Te(t), At(t), n("observability.enabled"); + t.observability = t.observability || {}, t.observability.enabled = !!B, Be(t), At(t), n("observability.enabled"); } }), e({ id: `${Pn}.Observability.VerboseErrors`, @@ -7170,9 +7185,9 @@ function bC(e, t, n, i) { name: "Verbose error logging", tooltip: "Show detailed error messages in toasts and console. Useful for debugging.", type: "boolean", - defaultValue: !!((X = t.observability) != null && X.verboseErrors), + defaultValue: !!((R = t.observability) != null && R.verboseErrors), onChange: (B) => { - t.observability = t.observability || {}, t.observability.verboseErrors = !!B, Te(t), At(t), n("observability.verboseErrors"); + t.observability = t.observability || {}, t.observability.verboseErrors = !!B, Be(t), At(t), n("observability.verboseErrors"); } }), e({ id: `${Pn}.Observability.VerboseRouteRegistrationLogs`, @@ -7180,26 +7195,26 @@ function bC(e, t, n, i) { name: "Majoor: Verbose route registration logs", tooltip: "When disabled, Majoor prints a compact startup summary instead of listing every registered API route. Takes effect on the next backend restart.", type: "boolean", - defaultValue: !!(((V = t.observability) == null ? void 0 : V.verboseRouteRegistrationLogs) ?? ((R = Un.observability) == null ? void 0 : R.verboseRouteRegistrationLogs) ?? !1), + defaultValue: !!(((Y = t.observability) == null ? void 0 : Y.verboseRouteRegistrationLogs) ?? ((F = Un.observability) == null ? void 0 : F.verboseRouteRegistrationLogs) ?? !1), onChange: async (B) => { - var D, Q; - const J = !!B, T = !!(((D = t.observability) == null ? void 0 : D.verboseRouteRegistrationLogs) ?? ((Q = Un.observability) == null ? void 0 : Q.verboseRouteRegistrationLogs) ?? !1); - t.observability = t.observability || {}, t.observability.verboseRouteRegistrationLogs = J, Te(t), n("observability.verboseRouteRegistrationLogs"); + var H, $; + const J = !!B, P = !!(((H = t.observability) == null ? void 0 : H.verboseRouteRegistrationLogs) ?? (($ = Un.observability) == null ? void 0 : $.verboseRouteRegistrationLogs) ?? !1); + t.observability = t.observability || {}, t.observability.verboseRouteRegistrationLogs = J, Be(t), n("observability.verboseRouteRegistrationLogs"); try { - const E = await Zf(J); + const E = await wf(J); if (!(E != null && E.ok)) throw new Error((E == null ? void 0 : E.error) || "Failed to update route logging settings"); } catch (E) { - t.observability.verboseRouteRegistrationLogs = T, Te(t), n("observability.verboseRouteRegistrationLogs"), Ce((E == null ? void 0 : E.message) || "Failed to update route logging settings", "error"); + t.observability.verboseRouteRegistrationLogs = P, Be(t), n("observability.verboseRouteRegistrationLogs"), Ze((E == null ? void 0 : E.message) || "Failed to update route logging settings", "error"); } } }), (async () => { - var B, J, T; + var B, J, P; try { - const D = await Cf(), Q = !!((J = (B = D == null ? void 0 : D.data) == null ? void 0 : B.prefs) != null && J.enabled); - t.observability = t.observability || {}, t.observability.verboseRouteRegistrationLogs !== Q && (t.observability.verboseRouteRegistrationLogs = Q, Te(t), n("observability.verboseRouteRegistrationLogs")); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + const H = await Wf(), $ = !!((J = (B = H == null ? void 0 : H.data) == null ? void 0 : B.prefs) != null && J.enabled); + t.observability = t.observability || {}, t.observability.verboseRouteRegistrationLogs !== $ && (t.observability.verboseRouteRegistrationLogs = $, Be(t), n("observability.verboseRouteRegistrationLogs")); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } })(), e({ id: `${Pn}.Observability.VerboseStartupLogs`, @@ -7207,62 +7222,62 @@ function bC(e, t, n, i) { name: "Majoor: Verbose startup logs", tooltip: "When disabled, Majoor suppresses most informational bootstrap logs during backend startup while keeping warnings and errors. Takes effect on the next backend restart.", type: "boolean", - defaultValue: !!(((j = t.observability) == null ? void 0 : j.verboseStartupLogs) ?? ((L = Un.observability) == null ? void 0 : L.verboseStartupLogs) ?? !1), + defaultValue: !!(((N = t.observability) == null ? void 0 : N.verboseStartupLogs) ?? ((V = Un.observability) == null ? void 0 : V.verboseStartupLogs) ?? !1), onChange: async (B) => { - var D, Q; - const J = !!B, T = !!(((D = t.observability) == null ? void 0 : D.verboseStartupLogs) ?? ((Q = Un.observability) == null ? void 0 : Q.verboseStartupLogs) ?? !1); - t.observability = t.observability || {}, t.observability.verboseStartupLogs = J, Te(t), n("observability.verboseStartupLogs"); + var H, $; + const J = !!B, P = !!(((H = t.observability) == null ? void 0 : H.verboseStartupLogs) ?? (($ = Un.observability) == null ? void 0 : $.verboseStartupLogs) ?? !1); + t.observability = t.observability || {}, t.observability.verboseStartupLogs = J, Be(t), n("observability.verboseStartupLogs"); try { - const E = await Wf(J); + const E = await Sf(J); if (!(E != null && E.ok)) throw new Error((E == null ? void 0 : E.error) || "Failed to update startup logging settings"); } catch (E) { - t.observability.verboseStartupLogs = T, Te(t), n("observability.verboseStartupLogs"), Ce((E == null ? void 0 : E.message) || "Failed to update startup logging settings", "error"); + t.observability.verboseStartupLogs = P, Be(t), n("observability.verboseStartupLogs"), Ze((E == null ? void 0 : E.message) || "Failed to update startup logging settings", "error"); } } }), (async () => { - var B, J, T; + var B, J, P; try { - const D = await Af(), Q = !!((J = (B = D == null ? void 0 : D.data) == null ? void 0 : B.prefs) != null && J.enabled); - t.observability = t.observability || {}, t.observability.verboseStartupLogs !== Q && (t.observability.verboseStartupLogs = Q, Te(t), n("observability.verboseStartupLogs")); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + const H = await Mf(), $ = !!((J = (B = H == null ? void 0 : H.data) == null ? void 0 : B.prefs) != null && J.enabled); + t.observability = t.observability || {}, t.observability.verboseStartupLogs !== $ && (t.observability.verboseStartupLogs = $, Be(t), n("observability.verboseStartupLogs")); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } })(); { const B = "HuggingFace Token"; - let J = "", T = null, D = 0, Q = !!((N = t.ai) != null && N.huggingFaceTokenVisible); + let J = "", P = null, H = 0, $ = !!((k = t.ai) != null && k.huggingFaceTokenVisible); const E = () => { - var F, Y; + var M, j; try { - const U = Array.from( + const O = Array.from( document.querySelectorAll('input[data-mjr-hf-token="1"]') ); - for (const P of U) + for (const D of O) try { - P.type = Q ? "text" : "password"; - } catch (ee) { - (F = console.debug) == null || F.call(console, ee); + D.type = $ ? "text" : "password"; + } catch (q) { + (M = console.debug) == null || M.call(console, q); } - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } - }, K = (F) => { - var Y, U; + }, oe = (M) => { + var j, O; try { - const P = String(F || "").trim(); - if (!P) return; - const ee = Array.from( + const D = String(M || "").trim(); + if (!D) return; + const q = Array.from( document.querySelectorAll('input[data-mjr-hf-token="1"]') ); - for (const oe of ee) + for (const ee of q) try { - oe.placeholder = P; + ee.placeholder = D; } catch (ce) { - (Y = console.debug) == null || Y.call(console, ce); + (j = console.debug) == null || j.call(console, ce); } - } catch (P) { - (U = console.debug) == null || U.call(console, P); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } }; e({ @@ -7271,10 +7286,10 @@ function bC(e, t, n, i) { name: "Show HuggingFace token", tooltip: "Show or hide the HuggingFace token while editing.", type: "boolean", - defaultValue: Q, - onChange: (F) => { - const Y = !!F; - Q = Y, t.ai = t.ai || {}, t.ai.huggingFaceTokenVisible = Y, Te(t), n("ai.huggingFaceTokenVisible"), setTimeout(E, 0); + defaultValue: $, + onChange: (M) => { + const j = !!M; + $ = j, t.ai = t.ai || {}, t.ai.huggingFaceTokenVisible = j, Be(t), n("ai.huggingFaceTokenVisible"), setTimeout(E, 0); } }), e({ id: `${Pn}.AI.HuggingFaceToken`, @@ -7290,45 +7305,45 @@ function bC(e, t, n, i) { defaultValue: "", attrs: { placeholder: "Paste HuggingFace token (hf_...)", - type: Q ? "text" : "password", + type: $ ? "text" : "password", autocomplete: "new-password", name: "mjr_huggingface_token", "data-mjr-hf-token": "1" }, - onChange: (F) => { - var U; - const Y = String(F || "").trim(); - if (Y !== J) { + onChange: (M) => { + var O; + const j = String(M || "").trim(); + if (j !== J) { try { - T && (clearTimeout(T), T = null); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + P && (clearTimeout(P), P = null); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } - T = setTimeout(async () => { - T = null; - const P = ++D; + P = setTimeout(async () => { + P = null; + const D = ++H; try { - const ee = await yf(Y); - if (P !== D) return; - if (!(ee != null && ee.ok)) - throw new Error((ee == null ? void 0 : ee.error) || "Failed to update HuggingFace token"); - J = Y, n("ai.huggingFaceToken"), Y ? Ce("HuggingFace token saved", "success") : Ce("HuggingFace token cleared", "success", void 0, { + const q = await Cf(j); + if (D !== H) return; + if (!(q != null && q.ok)) + throw new Error((q == null ? void 0 : q.error) || "Failed to update HuggingFace token"); + J = j, n("ai.huggingFaceToken"), j ? Ze("HuggingFace token saved", "success") : Ze("HuggingFace token cleared", "success", void 0, { noHistory: !0 }); - } catch (ee) { - if (P !== D) return; - Ce((ee == null ? void 0 : ee.message) || "Failed to update HuggingFace token", "error"); + } catch (q) { + if (D !== H) return; + Ze((q == null ? void 0 : q.message) || "Failed to update HuggingFace token", "error"); } }, 900); } } }), setTimeout(E, 0), (async () => { - var F, Y; + var M, j; try { - const U = await pf(), P = ((F = U == null ? void 0 : U.data) == null ? void 0 : F.prefs) || {}, ee = !!(P != null && P.has_token), oe = String((P == null ? void 0 : P.token_hint) || "").trim(), ce = ee ? `Configured ${oe || "(saved)"}` : "Paste HuggingFace token (hf_...)"; - K(ce); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + const O = await hf(), D = ((M = O == null ? void 0 : O.data) == null ? void 0 : M.prefs) || {}, q = !!(D != null && D.has_token), ee = String((D == null ? void 0 : D.token_hint) || "").trim(), ce = q ? `Configured ${ee || "(saved)"}` : "Paste HuggingFace token (hf_...)"; + oe(ce); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } })(), e({ id: `${Pn}.AI.VerboseLogs`, @@ -7336,26 +7351,26 @@ function bC(e, t, n, i) { name: "Majoor: Verbose AI logs", tooltip: "Enable detailed HuggingFace/SigLIP2/X-CLIP logs and progress bars during model download/loading.", type: "boolean", - defaultValue: !!(((q = t.ai) == null ? void 0 : q.verboseAiLogs) ?? ((O = Un.ai) == null ? void 0 : O.verboseAiLogs) ?? !1), - onChange: async (F) => { - var P, ee; - const Y = !!F, U = !!(((P = t.ai) == null ? void 0 : P.verboseAiLogs) ?? ((ee = Un.ai) == null ? void 0 : ee.verboseAiLogs) ?? !1); - t.ai = t.ai || {}, t.ai.verboseAiLogs = Y, Te(t), n("ai.verboseAiLogs"); + defaultValue: !!(((K = t.ai) == null ? void 0 : K.verboseAiLogs) ?? ((z = Un.ai) == null ? void 0 : z.verboseAiLogs) ?? !1), + onChange: async (M) => { + var D, q; + const j = !!M, O = !!(((D = t.ai) == null ? void 0 : D.verboseAiLogs) ?? ((q = Un.ai) == null ? void 0 : q.verboseAiLogs) ?? !1); + t.ai = t.ai || {}, t.ai.verboseAiLogs = j, Be(t), n("ai.verboseAiLogs"); try { - const oe = await hf(Y); - if (!(oe != null && oe.ok)) - throw new Error((oe == null ? void 0 : oe.error) || "Failed to update AI logging settings"); - } catch (oe) { - t.ai.verboseAiLogs = U, Te(t), n("ai.verboseAiLogs"), Ce((oe == null ? void 0 : oe.message) || "Failed to update AI logging settings", "error"); + const ee = await Af(j); + if (!(ee != null && ee.ok)) + throw new Error((ee == null ? void 0 : ee.error) || "Failed to update AI logging settings"); + } catch (ee) { + t.ai.verboseAiLogs = O, Be(t), n("ai.verboseAiLogs"), Ze((ee == null ? void 0 : ee.message) || "Failed to update AI logging settings", "error"); } } }), (async () => { - var F, Y, U; + var M, j, O; try { - const P = await ff(), ee = !!((Y = (F = P == null ? void 0 : P.data) == null ? void 0 : F.prefs) != null && Y.enabled); - t.ai = t.ai || {}, t.ai.verboseAiLogs !== ee && (t.ai.verboseAiLogs = ee, Te(t), n("ai.verboseAiLogs")); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + const D = await Zf(), q = !!((j = (M = D == null ? void 0 : D.data) == null ? void 0 : M.prefs) != null && j.enabled); + t.ai = t.ai || {}, t.ai.verboseAiLogs !== q && (t.ai.verboseAiLogs = q, Be(t), n("ai.verboseAiLogs")); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } })(); } @@ -7367,16 +7382,16 @@ function bC(e, t, n, i) { type: "text", defaultValue: "Loading vector status..." }), (async () => { - var B, J, T, D, Q; + var B, J, P, H, $; try { - const E = await Ga(); - E != null && E.ok ? (T = console.debug) == null || T.call( + const E = await xa(); + E != null && E.ok ? (P = console.debug) == null || P.call( console, "[Majoor] Vector status:", `${((B = E.data) == null ? void 0 : B.total) || 0} assets indexed | Model: ${((J = E.data) == null ? void 0 : J.model) || "N/A"}` - ) : (D = console.debug) == null || D.call(console, "[Majoor] Vector status unavailable"); + ) : (H = console.debug) == null || H.call(console, "[Majoor] Vector status unavailable"); } catch (E) { - (Q = console.debug) == null || Q.call(console, "[Majoor] Vector status fetch failed", E); + ($ = console.debug) == null || $.call(console, "[Majoor] Vector status fetch failed", E); } })(), e({ id: `${Pn}.AI.VectorBackfillAction`, @@ -7396,7 +7411,7 @@ function bC(e, t, n, i) { defaultValue: "Idle", options: ["Idle", "Run backfill now"], onChange: async (B) => { - var T, D; + var P, H; if (String(B || "") !== "Run backfill now") return; const J = { history: { @@ -7408,7 +7423,7 @@ function bC(e, t, n, i) { } }; try { - Ce( + Ze( m( "toast.vectorBackfillStarting", "Starting vector backfill... This may take a while." @@ -7423,41 +7438,41 @@ function bC(e, t, n, i) { } } ); - const Q = await Og(64, { + const $ = await zg(64, { onProgress: (E) => { - const K = String((E == null ? void 0 : E.status) || "running").toLowerCase() || "running", F = (E == null ? void 0 : E.progress) || (E == null ? void 0 : E.result) || {}, Y = Number((F == null ? void 0 : F.candidates) ?? (F == null ? void 0 : F.processed) ?? 0), U = Number((F == null ? void 0 : F.indexed) ?? 0), P = Number((F == null ? void 0 : F.skipped) ?? 0), ee = Number((F == null ? void 0 : F.errors) ?? 0), oe = Math.max(Y, U + P + ee), ce = oe > 0 ? Math.round((U + P + ee) / oe * 100) : null, pe = K === "queued" ? "Vector backfill queued" : `Candidates ${Y}, indexed ${U}, skipped ${P}, errors ${ee}`; - $r( - { summary: "Vector Backfill", detail: pe }, - K === "failed" ? "error" : K === "succeeded" ? "success" : "info", + const oe = String((E == null ? void 0 : E.status) || "running").toLowerCase() || "running", M = (E == null ? void 0 : E.progress) || (E == null ? void 0 : E.result) || {}, j = Number((M == null ? void 0 : M.candidates) ?? (M == null ? void 0 : M.processed) ?? 0), O = Number((M == null ? void 0 : M.indexed) ?? 0), D = Number((M == null ? void 0 : M.skipped) ?? 0), q = Number((M == null ? void 0 : M.errors) ?? 0), ee = Math.max(j, O + D + q), ce = ee > 0 ? Math.round((O + D + q) / ee * 100) : null, ue = oe === "queued" ? "Vector backfill queued" : `Candidates ${j}, indexed ${O}, skipped ${D}, errors ${q}`; + tl( + { summary: "Vector Backfill", detail: ue }, + oe === "failed" ? "error" : oe === "succeeded" ? "success" : "info", 0, { history: { ...J.history, - status: K, - detail: pe, + status: oe, + detail: ue, progress: { - current: U + P + ee, - total: oe, + current: O + D + q, + total: ee, percent: ce, - indexed: U, - skipped: P, - errors: ee, - label: K + indexed: O, + skipped: D, + errors: q, + label: oe } } } ); } }); - if (Q != null && Q.ok) { - const E = Q.data || {}, K = String((E == null ? void 0 : E.status) || "").toLowerCase(), F = !!(E != null && E.pending) || ["queued", "running", "pending"].includes(K), Y = (E == null ? void 0 : E.progress) || {}, U = Number((E == null ? void 0 : E.processed) ?? (Y == null ? void 0 : Y.candidates) ?? 0), P = Number((E == null ? void 0 : E.indexed) ?? (Y == null ? void 0 : Y.indexed) ?? 0), ee = Number((E == null ? void 0 : E.skipped) ?? (Y == null ? void 0 : Y.skipped) ?? 0); - if (F) { - const oe = String((E == null ? void 0 : E.job_id) || "").trim(); - Ce( + if ($ != null && $.ok) { + const E = $.data || {}, oe = String((E == null ? void 0 : E.status) || "").toLowerCase(), M = !!(E != null && E.pending) || ["queued", "running", "pending"].includes(oe), j = (E == null ? void 0 : E.progress) || {}, O = Number((E == null ? void 0 : E.processed) ?? (j == null ? void 0 : j.candidates) ?? 0), D = Number((E == null ? void 0 : E.indexed) ?? (j == null ? void 0 : j.indexed) ?? 0), q = Number((E == null ? void 0 : E.skipped) ?? (j == null ? void 0 : j.skipped) ?? 0); + if (M) { + const ee = String((E == null ? void 0 : E.job_id) || "").trim(); + Ze( m( "toast.vectorBackfillRunning", "Vector backfill still running in background{job}.", - { job: oe ? ` (job ${oe.slice(0, 8)})` : "" } + { job: ee ? ` (job ${ee.slice(0, 8)})` : "" } ), "info", void 0, @@ -7465,53 +7480,53 @@ function bC(e, t, n, i) { history: { ...J.history, status: "running", - detail: `Vector backfill still running in background${oe ? ` (${oe.slice(0, 8)})` : ""}.`, + detail: `Vector backfill still running in background${ee ? ` (${ee.slice(0, 8)})` : ""}.`, progress: { - current: P + ee, - total: Math.max(U, P + ee), - percent: Math.max(U, P + ee) > 0 ? Math.round((P + ee) / Math.max(U, P + ee) * 100) : null, - indexed: P, - skipped: ee, + current: D + q, + total: Math.max(O, D + q), + percent: Math.max(O, D + q) > 0 ? Math.round((D + q) / Math.max(O, D + q) * 100) : null, + indexed: D, + skipped: q, label: "running" } } } ); } else { - const oe = m( + const ee = m( "toast.vectorBackfillComplete", "Vector backfill complete! Processed: {processed}, Indexed: {indexed}, Skipped: {skipped}", - { processed: U, indexed: P, skipped: ee } + { processed: O, indexed: D, skipped: q } ); - Ce(oe, "success", void 0, { + Ze(ee, "success", void 0, { history: { ...J.history, status: "succeeded", - detail: `Processed ${U}, indexed ${P}, skipped ${ee}`, + detail: `Processed ${O}, indexed ${D}, skipped ${q}`, progress: { - current: U, - total: U, - percent: U > 0 ? 100 : null, - indexed: P, - skipped: ee, + current: O, + total: O, + percent: O > 0 ? 100 : null, + indexed: D, + skipped: q, label: "done" } } }); } try { - const oe = await Ga(); - oe != null && oe.ok && ((T = console.debug) == null || T.call(console, "[Majoor] Vector stats after backfill:", oe.data)); - } catch (oe) { - (D = console.debug) == null || D.call(console, "[Majoor] Failed to refresh vector stats:", oe); + const ee = await xa(); + ee != null && ee.ok && ((P = console.debug) == null || P.call(console, "[Majoor] Vector stats after backfill:", ee.data)); + } catch (ee) { + (H = console.debug) == null || H.call(console, "[Majoor] Failed to refresh vector stats:", ee); } } else throw new Error( - (Q == null ? void 0 : Q.error) || m("toast.vectorBackfillFailedGeneric", "Backfill failed") + ($ == null ? void 0 : $.error) || m("toast.vectorBackfillFailedGeneric", "Backfill failed") ); - } catch (Q) { - const E = (Q == null ? void 0 : Q.message) || String(Q || m("status.unknown", "unknown")); - Ce( + } catch ($) { + const E = ($ == null ? void 0 : $.message) || String($ || m("status.unknown", "unknown")); + Ze( m("toast.vectorBackfillFailedDetail", "Vector backfill failed: {error}", { error: E }), @@ -7524,17 +7539,17 @@ function bC(e, t, n, i) { detail: E } } - ), console.error("[Majoor] Vector backfill error:", Q); + ), console.error("[Majoor] Vector backfill error:", $); } } }); } -const gc = "Majoor", pC = "Majoor Assets Manager"; -function yC(e, t, n) { +const Ic = "Majoor", hC = "Majoor Assets Manager"; +function CC(e, t, n) { var o, r; - const i = (l, a) => [pC, l, a]; + const i = (l, a) => [hC, l, a]; e({ - id: `${gc}.AI.VectorSearchEnabled`, + id: `${Ic}.AI.VectorSearchEnabled`, category: i(m("cat.search", "Search"), "AI"), name: m("setting.ai.vector.enabled.name", "Enable AI semantic search"), tooltip: m( @@ -7546,24 +7561,24 @@ function yC(e, t, n) { onChange: async (l) => { t.ai = t.ai || {}; const a = !!(t.ai.vectorSearchEnabled ?? !0), c = !!l; - t.ai.vectorSearchEnabled = c, Te(t), At(t), n("ai.vectorSearchEnabled"); + t.ai.vectorSearchEnabled = c, Be(t), At(t), n("ai.vectorSearchEnabled"); try { - const s = await gf(c); + const s = await pf(c); if (!(s != null && s.ok)) { - t.ai.vectorSearchEnabled = a, Te(t), At(t), n("ai.vectorSearchEnabled"), Ce((s == null ? void 0 : s.error) || "Failed to update AI vector search setting", "error"); + t.ai.vectorSearchEnabled = a, Be(t), At(t), n("ai.vectorSearchEnabled"), Ze((s == null ? void 0 : s.error) || "Failed to update AI vector search setting", "error"); return; } - Ce( + Ze( c ? "AI semantic search enabled" : "AI semantic search disabled", "info", 2200 ); } catch (s) { - t.ai.vectorSearchEnabled = a, Te(t), At(t), n("ai.vectorSearchEnabled"), Ce((s == null ? void 0 : s.message) || "Failed to update AI vector search setting", "error"); + t.ai.vectorSearchEnabled = a, Be(t), At(t), n("ai.vectorSearchEnabled"), Ze((s == null ? void 0 : s.message) || "Failed to update AI vector search setting", "error"); } } }), e({ - id: `${gc}.Search.MaxResults`, + id: `${Ic}.Search.MaxResults`, category: i(m("cat.search", "Search")), name: m("setting.search.maxResults.name", "Max search results (client)"), tooltip: m( @@ -7571,19 +7586,19 @@ function yC(e, t, n) { "Maximum number of results requested per search. The backend still enforces MAJOOR_SEARCH_MAX_LIMIT; increase that env var if you need a higher hard cap." ), type: "number", - defaultValue: Number(((r = t.search) == null ? void 0 : r.maxResults) || Me.SEARCH_DEFAULT_LIMIT), - attrs: { min: 10, max: Me.MAX_PAGE_SIZE || 2e3, step: 1 }, + defaultValue: Number(((r = t.search) == null ? void 0 : r.maxResults) || Ge.SEARCH_DEFAULT_LIMIT), + attrs: { min: 10, max: Ge.MAX_PAGE_SIZE || 2e3, step: 1 }, onChange: (l) => { t.search = t.search || {}, t.search.maxResults = Math.max( 10, Math.min( - Me.MAX_PAGE_SIZE || 2e3, - Number(l) || Me.SEARCH_DEFAULT_LIMIT + Ge.MAX_PAGE_SIZE || 2e3, + Number(l) || Ge.SEARCH_DEFAULT_LIMIT ) - ), Te(t), At(t), n("search.maxResults"); + ), Be(t), At(t), n("search.maxResults"); } }), e({ - id: `${gc}.EnvVars.Reference`, + id: `${Ic}.EnvVars.Reference`, category: i(m("cat.advanced"), "Environment variables"), name: "Environment variables reference", tooltip: [ @@ -7614,7 +7629,7 @@ function yC(e, t, n) { defaultValue: "Hover for full list of environment variables" }); } -const Ic = "Majoor Assets Manager", fC = /^\s*Majoor:\s*/i, hC = /* @__PURE__ */ new Set([ +const bc = "Majoor Assets Manager", ZC = /^\s*Majoor:\s*/i, AC = /* @__PURE__ */ new Set([ "grid.starColor", "grid.badgeImageColor", "grid.badgeVideoColor", @@ -7626,110 +7641,110 @@ const Ic = "Majoor Assets Manager", fC = /^\s*Majoor:\s*/i, hC = /* @__PURE__ */ "ui.ratingColor", "ui.tagColor" ]); -let mu = !1, co = null, Nr = null, gu = !1; -function CC(e) { +let Iu = !1, uo = null, Fr = null, bu = !1; +function WC(e) { var n; if (!e || typeof e != "object") return null; const t = { ...e }; try { - typeof t.name == "string" && (t.name = t.name.replace(fC, "").trim()); + typeof t.name == "string" && (t.name = t.name.replace(ZC, "").trim()); } catch (i) { (n = console.debug) == null || n.call(console, i); } try { const i = t.category; - (!Array.isArray(i) || String(i[0] || "") !== Ic) && (t.category = [Ic]); + (!Array.isArray(i) || String(i[0] || "") !== bc) && (t.category = [bc]); } catch { - t.category = [Ic]; + t.category = [bc]; } return t; } -function $g(e, t, { initRuntime: n = !1 } = {}) { +function eI(e, t, { initRuntime: n = !1 } = {}) { var i; - if (co) - typeof t == "function" && co.onAppliedListeners.add(t), e && !co.app && (co.app = e); + if (uo) + typeof t == "function" && uo.onAppliedListeners.add(t), e && !uo.app && (uo.app = e); else { const o = Xn(); - o.i18n = o.i18n || {}, typeof o.i18n.followComfyLanguage != "boolean" ? (o.i18n.followComfyLanguage = !0, Aa(!0), Te(o)) : Aa(!!o.i18n.followComfyLanguage); + o.i18n = o.i18n || {}, typeof o.i18n.followComfyLanguage != "boolean" ? (o.i18n.followComfyLanguage = !0, Wa(!0), Be(o)) : Wa(!!o.i18n.followComfyLanguage); const r = /* @__PURE__ */ new Set(); typeof t == "function" && r.add(t); const l = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), c = 450, s = () => { if (!l.size) return; - const h = Array.from(l); + const Z = Array.from(l); l.clear(); - for (const f of h) - ii( + for (const f of Z) + oi( "mjr-settings-changed", { key: f }, { warnPrefix: "[Majoor]" } ); }, d = () => { if (!a.size) return; - const h = Array.from(a); + const Z = Array.from(a); a.clear(); - for (const f of h) - ii( + for (const f of Z) + oi( "mjr-settings-changed", { key: f }, { warnPrefix: "[Majoor]" } ); - }, u = Pc(s, 120), I = Pc(d, c), p = (h) => { - typeof h == "string" && l.add(h), u(); - }, M = (h) => { - typeof h == "string" && a.add(h), I(); - }, Z = () => { - const h = Xn(); - Object.assign(o, h), At(o), p("storage"); - }, A = (h) => { - !h || h.key !== Fi || h.newValue !== h.oldValue && Z(); + }, u = _c(s, 120), I = _c(d, c), p = (Z) => { + typeof Z == "string" && l.add(Z), u(); + }, S = (Z) => { + typeof Z == "string" && a.add(Z), I(); + }, A = () => { + const Z = Xn(); + Object.assign(o, Z), At(o), p("storage"); + }, C = (Z) => { + !Z || Z.key !== Oi || Z.newValue !== Z.oldValue && A(); }; - if (!mu) + if (!Iu) try { - window.addEventListener("storage", A), mu = !0; - } catch (h) { - (i = console.debug) == null || i.call(console, h); + window.addEventListener("storage", C), Iu = !0; + } catch (Z) { + (i = console.debug) == null || i.call(console, Z); } - co = { + uo = { app: e, - notifyApplied: (h) => { + notifyApplied: (Z) => { var f; for (const b of r) try { - b(o, h); - } catch (v) { - (f = console.debug) == null || f.call(console, v); + b(o, Z); + } catch (L) { + (f = console.debug) == null || f.call(console, L); } - hC.has(String(h || "")) ? M(h) : p(h); + AC.has(String(Z || "")) ? S(Z) : p(Z); }, onAppliedListeners: r, - refreshFromStorage: Z, + refreshFromStorage: A, settings: o }; } - if (n && !gu) { - const o = e || co.app, r = co.settings; - Cg(o), At(r), Fy(o), ia(), Dh(), Eh(), r != null && r.watcher && typeof r.watcher.enabled == "boolean" && wa(!!r.watcher.enabled).catch(() => { - }), Th(), gu = !0; + if (n && !bu) { + const o = e || uo.app, r = uo.settings; + Zg(o), At(r), Jy(o), oa(), qh(), Ph(), r != null && r.watcher && typeof r.watcher.enabled == "boolean" && Ma(!!r.watcher.enabled).catch(() => { + }), Kh(), bu = !0; } - return co; + return uo; } -const ZC = (e, t) => $g(e, t, { initRuntime: !0 }).settings, AC = (e, t) => { - const n = $g(e, t, { initRuntime: !1 }); - if (Nr) - return Nr; +const wC = (e, t) => eI(e, t, { initRuntime: !0 }).settings, MC = (e, t) => { + const n = eI(e, t, { initRuntime: !1 }); + if (Fr) + return Fr; const i = (o) => { - const r = CC(o); - r && Nr.push(r); + const r = WC(o); + r && Fr.push(r); }; - return Nr = [], qh(i, n.settings, n.notifyApplied), tC(i, n.settings, n.notifyApplied), Qh(i, n.settings, n.notifyApplied), $h(i, n.settings, n.notifyApplied), gC(i, n.settings, n.notifyApplied), bC(i, n.settings, n.notifyApplied, e), yC(i, n.settings, n.notifyApplied), Nr; + return Fr = [], _h(i, n.settings, n.notifyApplied), oC(i, n.settings, n.notifyApplied), eC(i, n.settings, n.notifyApplied), nC(i, n.settings, n.notifyApplied), pC(i, n.settings, n.notifyApplied), fC(i, n.settings, n.notifyApplied, e), CC(i, n.settings, n.notifyApplied), Fr; }; -var ng; +var ig; try { const e = Xn(); - e != null && e.watcher && typeof e.watcher.enabled == "boolean" && Vg().then((t) => { + e != null && e.watcher && typeof e.watcher.enabled == "boolean" && kg().then((t) => { var i; const n = !!(t != null && t.ok) && !!((i = t == null ? void 0 : t.data) != null && i.enabled); - typeof n == "boolean" && n !== !!e.watcher.enabled && (e.watcher.enabled = n, Te(e), ii( + typeof n == "boolean" && n !== !!e.watcher.enabled && (e.watcher.enabled = n, Be(e), oi( "mjr-settings-changed", { key: "watcher.enabled" }, { warnPrefix: "[Majoor]" } @@ -7737,12 +7752,12 @@ try { }).catch(() => { }); } catch (e) { - (ng = console.debug) == null || ng.call(console, e); + (ig = console.debug) == null || ig.call(console, e); } -const Ri = "mjr:asset-rating-changed", Uo = "mjr:asset-tags-changed", eI = "mjr:viewer-info-refreshed", ft = Object.freeze({ - ASSET_RATING_CHANGED: Ri, - ASSET_TAGS_CHANGED: Uo, - VIEWER_INFO_REFRESHED: eI, +const Fi = "mjr:asset-rating-changed", Do = "mjr:asset-tags-changed", tI = "mjr:viewer-info-refreshed", ht = Object.freeze({ + ASSET_RATING_CHANGED: Fi, + ASSET_TAGS_CHANGED: Do, + VIEWER_INFO_REFRESHED: tI, SCAN_COMPLETE: "mjr-scan-complete", ENRICHMENT_STATUS: "mjr-enrichment-status", DB_RESTORE_STATUS: "mjr-db-restore-status", @@ -7779,30 +7794,30 @@ const Ri = "mjr:asset-rating-changed", Uo = "mjr:asset-tags-changed", eI = "mjr: OPEN_STACK_GROUP: "mjr:open-stack-group", OPEN_MESSAGE_HISTORY: "mjr:open-message-history" }); -let Ko = null; -function tI(e) { +let Eo = null; +function nI(e) { return e ? typeof (e == null ? void 0 : e.isConnected) == "boolean" ? e.isConnected : !0 : !1; } -function WC() { +function SC() { var e; try { const t = document.getElementById("mjr-assets-grid") || document.querySelector(".mjr-grid"); - if (tI(t)) return t; + if (nI(t)) return t; } catch (t) { (e = console.debug) == null || e.call(console, t); } return null; } -function Bs(e) { - return Ko = e || null, Ko; +function Ks(e) { + return Eo = e || null, Eo; } -function xa(e = null) { - (!e || Ko === e) && (Ko = null); +function ja(e = null) { + (!e || Eo === e) && (Eo = null); } -function wo() { - return tI(Ko) ? Ko : (Ko = null, WC()); +function So() { + return nI(Eo) ? Eo : (Eo = null, SC()); } -function Pa(e) { +function Qa(e) { var n, i, o; const t = /* @__PURE__ */ new Set(); if (!e) return t; @@ -7826,7 +7841,7 @@ function Pa(e) { } return t; } -function nI(e, t, n = "") { +function iI(e, t, n = "") { var r; const i = Array.from(t || []), o = n ? String(n) : i[0] ? String(i[0]) : ""; try { @@ -7836,7 +7851,7 @@ function nI(e, t, n = "") { } return i; } -function wC(e, t, n) { +function GC(e, t, n) { var o, r; if (!e) return; const i = t instanceof Set ? t : new Set(Array.from(t || []).map(String)); @@ -7850,13 +7865,13 @@ function wC(e, t, n) { (r = console.debug) == null || r.call(console, l); } } -function MC(e, t, { activeId: n = "" } = {}, i) { +function xC(e, t, { activeId: n = "" } = {}, i) { var a, c, s; if (!e) return []; const o = new Set( Array.from(t || []).map(String).filter(Boolean) - ), r = nI(e, o, n); - wC(e, o, i); + ), r = iI(e, o, n); + GC(e, o, i); const l = { selectedIds: r, activeId: n || r[0] || "" }; try { (a = e.dispatchEvent) == null || a.call( @@ -7873,55 +7888,55 @@ function MC(e, t, { activeId: n = "" } = {}, i) { } return r; } -function SC(e) { +function jC(e) { try { return CSS != null && CSS.escape ? CSS.escape(String(e)) : String(e).replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } catch { return String(e).replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } } -const Us = { +const Ds = { suspended: !1, scope: null, ratingHotkeysActive: !1 }; -function Wo() { - return Us; +function Mo() { + return Ds; } -function Zr(e) { - Us.scope = e == null ? null : String(e); +function wr(e) { + Ds.scope = e == null ? null : String(e); } -function Iu(e) { - Us.ratingHotkeysActive = !!e; +function pu(e) { + Ds.ratingHotkeysActive = !!e; } -let Ar = null, Il = null; -const iI = ".mjr-viewer-overlay", GC = ".mjr-mfv"; -function oI(e) { +let Mr = null, bl = null; +const oI = ".mjr-viewer-overlay", vC = ".mjr-mfv"; +function rI(e) { return !!e && typeof e.appendChild == "function"; } -function Ks() { +function Es() { return typeof document > "u" ? null : (document == null ? void 0 : document.body) || null; } -function xC() { +function LC() { return typeof document > "u" ? null : (document == null ? void 0 : document.body) || (document == null ? void 0 : document.documentElement) || null; } -function rI(e) { - return oI(e) ? e === Ks() ? !0 : typeof (e == null ? void 0 : e.isConnected) == "boolean" ? e.isConnected : !0 : !1; -} function lI(e) { - return oI(e) ? e : null; -} -function Qa(e) { - return rI(e) ? e : Ks(); + return rI(e) ? e === Es() ? !0 : typeof (e == null ? void 0 : e.isConnected) == "boolean" ? e.isConnected : !0 : !1; } function aI(e) { - const t = xC(); - return rI(t) ? t : Qa(e); + return rI(e) ? e : null; } -function cI(e, t, n = Qa) { +function _a(e) { + return lI(e) ? e : Es(); +} +function cI(e) { + const t = LC(); + return lI(t) ? t : _a(e); +} +function sI(e, t, n = _a) { var r, l; const i = [], o = /* @__PURE__ */ new Set(); - for (const a of [n(t), Ks(), t]) { + for (const a of [n(t), Es(), t]) { if (!a || o.has(a)) continue; o.add(a); let c = []; @@ -7935,11 +7950,11 @@ function cI(e, t, n = Qa) { } return i; } -function sI(e, t, n = Qa) { +function dI(e, t, n = _a) { var r; const i = n(t); if (!i) return; - const o = cI(e, t, n); + const o = sI(e, t, n); for (const l of o) if (l && l.parentNode !== i) try { @@ -7948,21 +7963,21 @@ function sI(e, t, n = Qa) { (r = console.debug) == null || r.call(console, a); } } -function jC(e) { - return Ar = lI(e), sI(iI, Ar), () => vC(e); -} -function vC(e) { - (!e || Ar === e) && (Ar = null); -} -function LC(e) { - return Il = lI(e), sI(GC, Il, aI), () => YC(e); +function VC(e) { + return Mr = aI(e), dI(oI, Mr), () => YC(e); } function YC(e) { - (!e || Il === e) && (Il = null); + (!e || Mr === e) && (Mr = null); } -function VC(e) { +function kC(e) { + return bl = aI(e), dI(vC, bl, cI), () => XC(e); +} +function XC(e) { + (!e || bl === e) && (bl = null); +} +function NC(e) { var n, i; - const t = Qa(Ar); + const t = _a(Mr); try { (n = t == null ? void 0 : t.appendChild) == null || n.call(t, e); } catch (o) { @@ -7970,9 +7985,9 @@ function VC(e) { } return t; } -function bu(e) { +function yu(e) { var n, i; - const t = aI(Il); + const t = cI(bl); try { (n = t == null ? void 0 : t.appendChild) == null || n.call(t, e); } catch (o) { @@ -7980,63 +7995,63 @@ function bu(e) { } return t; } -function kC() { - return cI(iI, Ar); -} -let Xl = null, bc = null; -async function XC() { - return Xl || (bc || (bc = import("./FloatingViewer-DwUuqgW7.js").then((e) => (Xl = e.FloatingViewer, Xl))), bc); -} -let NC = null; -const Hn = Object.freeze({ SIMPLE: "simple", AB: "ab", SIDE: "side", GRID: "grid" }); -let rt = null; -function Ds() { - return ye.MFV_LIVE_DEFAULT !== !1; -} -function Es() { - return ye.MFV_PREVIEW_DEFAULT !== !1; -} -let fo = Ds(), Pi = Es(), Qc = !1, Ro = null, _c = 0; function RC() { - fo = Ds(), Pi = Es(), rt == null || rt.setLiveActive(fo), rt == null || rt.setPreviewActive(Pi); + return sI(oI, Mr); } -async function Rr() { - var e; - if (!rt) { - const t = await XC(); - rt || (rt = new t({ - controller: { - close: () => On.close(), - toggle: () => On.toggle(), - toggleLive: () => On.toggleLive(), - togglePreview: () => On.togglePreview(), - toggleNodeStream: () => On.toggleNodeStream(), - popOut: () => On.popOut(), - onModeChanged: (n) => { - rt != null && rt.isVisible && n !== Hn.SIMPLE && oa(); - }, - handleForwardedKeydown: (n) => Ps(n) - } - }), bu(rt.render())); - } - try { - const t = (rt == null ? void 0 : rt.element) || null; - (t == null ? void 0 : t.isConnected) === !1 && bu(t); - } catch (t) { - (e = console.debug) == null || e.call(console, t); - } - return rt; +let Nl = null, pc = null; +async function FC() { + return Nl || (pc || (pc = import("./FloatingViewer-96M53tBE.js").then((e) => (Nl = e.FloatingViewer, Nl))), pc); } +let OC = null; +const Hn = Object.freeze({ SIMPLE: "simple", AB: "ab", SIDE: "side", GRID: "grid" }); +let at = null; function Hs() { - var e; - try { - Ro == null || Ro.abort(); - } catch (t) { - (e = console.debug) == null || e.call(console, t); - } - Ro = null; + return fe.MFV_LIVE_DEFAULT !== !1; } function qs() { + return fe.MFV_PREVIEW_DEFAULT !== !1; +} +let Co = Hs(), $i = qs(), $c = !1, Oo = null, es = 0; +function zC() { + Co = Hs(), $i = qs(), at == null || at.setLiveActive(Co), at == null || at.setPreviewActive($i); +} +async function Or() { + var e; + if (!at) { + const t = await FC(); + at || (at = new t({ + controller: { + close: () => zn.close(), + toggle: () => zn.toggle(), + toggleLive: () => zn.toggleLive(), + togglePreview: () => zn.togglePreview(), + toggleNodeStream: () => zn.toggleNodeStream(), + popOut: () => zn.popOut(), + onModeChanged: (n) => { + at != null && at.isVisible && n !== Hn.SIMPLE && ra(); + }, + handleForwardedKeydown: (n) => _s(n) + } + }), yu(at.render())); + } + try { + const t = (at == null ? void 0 : at.element) || null; + (t == null ? void 0 : t.isConnected) === !1 && yu(t); + } catch (t) { + (e = console.debug) == null || e.call(console, t); + } + return at; +} +function Ps() { + var e; + try { + Oo == null || Oo.abort(); + } catch (t) { + (e = console.debug) == null || e.call(console, t); + } + Oo = null; +} +function Qs() { var e; try { const t = window.__MJR_LAST_SELECTION_GRID__; @@ -8044,34 +8059,34 @@ function qs() { } catch (t) { (e = console.debug) == null || e.call(console, t); } - return wo(); + return So(); } -function FC() { +function JC() { var e, t; - if (rt) { + if (at) { try { - (e = rt.dispose) == null || e.call(rt); + (e = at.dispose) == null || e.call(at); } catch (n) { (t = console.debug) == null || t.call(console, n); } - rt = null; + at = null; } } -function rr(e) { +function ar(e) { window.dispatchEvent( - new CustomEvent(ft.MFV_VISIBILITY_CHANGED, { + new CustomEvent(ht.MFV_VISIBILITY_CHANGED, { detail: { visible: !!e } }) ); } -function Nl(e) { +function Rl(e) { var t; - e && (e.setLiveActive(fo), e.setPreviewActive(Pi), (t = e.setNodeStreamActive) == null || t.call(e, !1)); + e && (e.setLiveActive(Co), e.setPreviewActive($i), (t = e.setNodeStreamActive) == null || t.call(e, !1)); } -function OC(e) { +function TC(e) { var t, n; try { - const i = qs(); + const i = Qs(); if (!i) return null; const o = Array.from(i.querySelectorAll("[data-mjr-asset-id]")), r = o.findIndex((c) => c.dataset.mjrAssetId === String(e)); if (r < 0) return null; @@ -8081,173 +8096,173 @@ function OC(e) { return (n = console.debug) == null || n.call(console, "[MFV] _findAdjacentGridId error", i), null; } } -async function $c(e) { - if (!e.length || !rt) return; - Hs(); - const t = ++_c, n = typeof AbortController < "u" ? new AbortController() : null; - Ro = n; +async function ts(e) { + if (!e.length || !at) return; + Ps(); + const t = ++es, n = typeof AbortController < "u" ? new AbortController() : null; + Oo = n; try { - const i = rt.getPinnedSlots(), o = i.size > 0, r = rt._mode, l = r === Hn.GRID, a = r === Hn.AB || r === Hn.SIDE, c = l ? 4 : 2; + const i = at.getPinnedSlots(), o = i.size > 0, r = at._mode, l = r === Hn.GRID, a = r === Hn.AB || r === Hn.SIDE, c = l ? 4 : 2; let s = e.slice(0, c); if (o && (a || l)) { const I = c - i.size; s = s.slice(0, Math.max(1, I)); } else if (s.length === 1 && a) { - const I = OC(s[0]); + const I = TC(s[0]); I && (s = [s[0], I]); } - const d = await zs(s, n ? { signal: n.signal } : {}); - if (n != null && n.signal.aborted || _c !== t || !(d != null && d.ok) || !Array.isArray(d.data) || !d.data.length || !rt) return; + const d = await Ts(s, n ? { signal: n.signal } : {}); + if (n != null && n.signal.aborted || es !== t || !(d != null && d.ok) || !Array.isArray(d.data) || !d.data.length || !at) return; const u = d.data; if (l) { if (o) { const I = { - A: rt._mediaA, - B: rt._mediaB, - C: rt._mediaC, - D: rt._mediaD - }, p = ["A", "B", "C", "D"].filter((Z) => !i.has(Z)); - let M = 0; - for (const Z of p) - M < u.length && (I[Z] = u[M++]); - rt.loadMediaQuad(I.A, I.B, I.C, I.D); - } else u.length >= 3 ? rt.loadMediaQuad(u[0], u[1], u[2], u[3] || null) : u.length >= 2 ? rt.loadMediaPair(u[0], u[1]) : rt.loadMediaA(u[0], { autoMode: !0 }); + A: at._mediaA, + B: at._mediaB, + C: at._mediaC, + D: at._mediaD + }, p = ["A", "B", "C", "D"].filter((A) => !i.has(A)); + let S = 0; + for (const A of p) + S < u.length && (I[A] = u[S++]); + at.loadMediaQuad(I.A, I.B, I.C, I.D); + } else u.length >= 3 ? at.loadMediaQuad(u[0], u[1], u[2], u[3] || null) : u.length >= 2 ? at.loadMediaPair(u[0], u[1]) : at.loadMediaA(u[0], { autoMode: !0 }); return; } - if (i.has("A") && i.has("B") && rt._mediaA && rt._mediaB) + if (i.has("A") && i.has("B") && at._mediaA && at._mediaB) return; - i.has("A") && rt._mediaA ? rt.loadMediaPair(rt._mediaA, u[0]) : i.has("B") && rt._mediaB ? rt.loadMediaPair(u[0], rt._mediaB) : s.length >= 2 && u.length >= 2 ? rt.loadMediaPair(u[0], u[1]) : rt.loadMediaA(u[0], { autoMode: !0 }); + i.has("A") && at._mediaA ? at.loadMediaPair(at._mediaA, u[0]) : i.has("B") && at._mediaB ? at.loadMediaPair(u[0], at._mediaB) : s.length >= 2 && u.length >= 2 ? at.loadMediaPair(u[0], u[1]) : at.loadMediaA(u[0], { autoMode: !0 }); } catch (i) { - (i == null ? void 0 : i.name) !== "AbortError" && li(i, "floatingViewerManager._loadFromIds"); + (i == null ? void 0 : i.name) !== "AbortError" && ai(i, "floatingViewerManager._loadFromIds"); } finally { - Ro === n && (Ro = null); + Oo === n && (Oo = null); } } -function oa() { +function ra() { var e; try { - const t = qs(); + const t = Qs(); if (!t) return; - const n = Pa(t); + const n = Qa(t); if (!n.size) return; - $c(Array.from(n)); + ts(Array.from(n)); } catch (t) { (e = console.debug) == null || e.call(console, "[MFV] Error reading current grid selection", t); } } -function dI(e) { +function uI(e) { var n, i; - if (!(rt != null && rt.isVisible)) return; + if (!(at != null && at.isVisible)) return; const t = Array.isArray((n = e == null ? void 0 : e.detail) == null ? void 0 : n.selectedIds) ? e.detail.selectedIds.map(String).filter(Boolean) : []; if (t.length) { - $c(t); + ts(t); return; } try { - const o = qs(); + const o = Qs(); if (!o) return; - const r = Array.from(Pa(o)).map(String).filter(Boolean); + const r = Array.from(Qa(o)).map(String).filter(Boolean); if (!r.length) return; - $c(r); + ts(r); } catch (o) { (i = console.debug) == null || i.call(console, "[MFV] selection fallback failed", o); } } -function pc() { - Qc || (window.addEventListener(ft.SELECTION_CHANGED, dI), Qc = !0); +function yc() { + $c || (window.addEventListener(ht.SELECTION_CHANGED, uI), $c = !0); } -function uI() { - window.removeEventListener(ft.SELECTION_CHANGED, dI), Qc = !1, Hs(); +function mI() { + window.removeEventListener(ht.SELECTION_CHANGED, uI), $c = !1, Ps(); } -let bl = !1, Fo = null, Oo = null, zo = null, el = null, ho = null, sr = ""; -function tl() { +let pl = !1, zo = null, Jo = null, To = null, nl = null, Zo = null, ur = ""; +function il() { var e; - rt != null && rt.isVisible && ((e = rt.refreshSidebar) == null || e.call(rt)); + at != null && at.isVisible && ((e = at.refreshSidebar) == null || e.call(at)); } -function zC() { - mI(); +function BC() { + gI(); const e = typeof window < "u" ? window : globalThis; if (typeof e.requestAnimationFrame == "function") { - sr = "raf", ho = e.requestAnimationFrame(() => { - ho = null, sr = "", tl(); + ur = "raf", Zo = e.requestAnimationFrame(() => { + Zo = null, ur = "", il(); }); return; } - sr = "timeout", ho = e.setTimeout(() => { - ho = null, sr = "", tl(); + ur = "timeout", Zo = e.setTimeout(() => { + Zo = null, ur = "", il(); }, 16); } -function mI() { +function gI() { var t; - if (ho == null) return; + if (Zo == null) return; const e = typeof window < "u" ? window : globalThis; try { - sr === "raf" && typeof e.cancelAnimationFrame == "function" ? e.cancelAnimationFrame(ho) : typeof e.clearTimeout == "function" && e.clearTimeout(ho); + ur === "raf" && typeof e.cancelAnimationFrame == "function" ? e.cancelAnimationFrame(Zo) : typeof e.clearTimeout == "function" && e.clearTimeout(Zo); } catch (n) { (t = console.debug) == null || t.call(console, n); } - ho = null, sr = ""; + Zo = null, ur = ""; } -function pu() { +function fu() { var e; - if (!bl) + if (!pl) try { const t = Qn(), n = t == null ? void 0 : t.canvas; if (!n) return; - Fo = n.onNodeSelected ?? null, Oo = n.onSelectionChange ?? null, zo = n.onNodeDeselected ?? null, n.onNodeSelected = function(o) { - Fo == null || Fo.call(this, o), tl(); + zo = n.onNodeSelected ?? null, Jo = n.onSelectionChange ?? null, To = n.onNodeDeselected ?? null, n.onNodeSelected = function(o) { + zo == null || zo.call(this, o), il(); }, n.onSelectionChange = function(o) { - Oo == null || Oo.call(this, o), tl(); + Jo == null || Jo.call(this, o), il(); }, n.onNodeDeselected = function(o) { - zo == null || zo.call(this, o), tl(); + To == null || To.call(this, o), il(); }; const i = n.canvas; - i != null && i.addEventListener && (el = zC, i.addEventListener("pointerup", el)), bl = !0; + i != null && i.addEventListener && (nl = BC, i.addEventListener("pointerup", nl)), pl = !0; } catch (t) { (e = console.debug) == null || e.call(console, "[MFV] _bindNodeSelectionListener error", t); } } -function JC() { +function UC() { var e, t; - if (bl) { - mI(); + if (pl) { + gI(); try { const n = Qn(), i = n == null ? void 0 : n.canvas; - i && (Fo !== null && (i.onNodeSelected = Fo), Oo !== null && (i.onSelectionChange = Oo), zo !== null && (i.onNodeDeselected = zo), el && ((e = i.canvas) != null && e.removeEventListener) && i.canvas.removeEventListener("pointerup", el)); + i && (zo !== null && (i.onNodeSelected = zo), Jo !== null && (i.onSelectionChange = Jo), To !== null && (i.onNodeDeselected = To), nl && ((e = i.canvas) != null && e.removeEventListener) && i.canvas.removeEventListener("pointerup", nl)); } catch (n) { (t = console.debug) == null || t.call(console, "[MFV] _unbindNodeSelectionListener error", n); } - Fo = null, Oo = null, zo = null, el = null, bl = !1; + zo = null, Jo = null, To = null, nl = null, pl = !1; } } -const On = { +const zn = { async open() { - const e = await Rr(); - e.show(), Nl(e), pc(), pu(), bl || requestAnimationFrame(() => pu()), oa(), rr(!0); + const e = await Or(); + e.show(), Rl(e), yc(), fu(), pl || requestAnimationFrame(() => fu()), ra(), ar(!0); }, close() { var e; - if (rt) + if (at) try { - rt.isPopped && rt.popIn(), rt.hide(); + at.isPopped && at.popIn(), at.hide(); } catch (t) { (e = console.debug) == null || e.call(console, t); } - uI(), JC(), rr(!1); + mI(), UC(), ar(!1); }, async toggle() { - rt != null && rt.isVisible ? On.close() : await On.open(); + at != null && at.isVisible ? zn.close() : await zn.open(); }, toggleLive() { - On.setLiveActive(!fo); + zn.setLiveActive(!Co); }, togglePreview() { - On.setPreviewActive(!Pi); + zn.setPreviewActive(!$i); }, async toggleCompareAB() { - const e = await Rr(); + const e = await Or(); if (!!!e.isVisible) { - e.setMode(Hn.AB), e.show(), Nl(e), pc(), oa(), rr(!0); + e.setMode(Hn.AB), e.show(), Rl(e), yc(), ra(), ar(!0); return; } const i = { @@ -8256,7 +8271,7 @@ const On = { [Hn.GRID]: Hn.SIMPLE, [Hn.SIMPLE]: Hn.AB }[e._mode] || Hn.AB; - e.setMode(i), i !== Hn.SIMPLE && oa(); + e.setMode(i), i !== Hn.SIMPLE && ra(); }, /** * Open the MFV (if needed) and load a single file/asset. @@ -8264,8 +8279,8 @@ const On = { * @param {object} fileData Raw output { filename, subfolder, type } or full asset object. */ async upsertWithContent(e) { - const t = await Rr(), n = !!t.isVisible; - t.show(), Nl(t), pc(); + const t = await Or(), n = !!t.isVisible; + t.show(), Rl(t), yc(); const i = t._mode; if (i === Hn.AB || i === Hn.SIDE || i === Hn.GRID) { const r = t.getPinnedSlots(); @@ -8280,28 +8295,28 @@ const On = { } else r.has("B") ? t.loadMediaPair(e, t._mediaB) : t.loadMediaPair(t._mediaA, e); } else t.loadMediaA(e, { autoMode: !0 }); - n || rr(!0); + n || ar(!0); }, setLiveActive(e) { - fo = !!e, rt == null || rt.setLiveActive(fo); + Co = !!e, at == null || at.setLiveActive(Co); }, getLiveActive() { - return fo; + return Co; }, /** * Toggle the viewer between the expanded dialog overlay and the floating panel. * If the viewer isn't open yet, it is opened first so there's something to see. */ async popOut() { - const e = await Rr(); - e.isPopped ? e.popIn() : (e.isVisible || await On.open(), e.popOut()); + const e = await Or(); + e.isPopped ? e.popIn() : (e.isVisible || await zn.open(), e.popOut()); }, // ── Preview stream (KSampler denoising steps) ───────────────────────── setPreviewActive(e) { - Pi = !!e, rt == null || rt.setPreviewActive(Pi); + $i = !!e, at == null || at.setPreviewActive($i); }, getPreviewActive() { - return Pi; + return $i; }, /** * Feed a preview blob from the KSampler WebSocket into the viewer. @@ -8309,9 +8324,9 @@ const On = { * @param {Blob} blob JPEG/PNG Blob from the ComfyUI `b_preview` event. */ async feedPreviewBlob(e, t = {}) { - if (!Pi) return; - const n = await Rr(), i = !!n.isVisible; - n.isVisible || n.show(), Nl(n), n.loadPreviewBlob(e, ...Object.keys(t).length ? [t] : []), i || rr(!0); + if (!$i) return; + const n = await Or(), i = !!n.isVisible; + n.isVisible || n.show(), Rl(n), n.loadPreviewBlob(e, ...Object.keys(t).length ? [t] : []), i || ar(!0); }, // ── Node Stream (intermediate node outputs) ─────────────────────────── toggleNodeStream() { @@ -8319,7 +8334,7 @@ const On = { setNodeStreamActive(e) { var t; { - (t = rt == null ? void 0 : rt.setNodeStreamActive) == null || t.call(rt, !1); + (t = at == null ? void 0 : at.setNodeStreamActive) == null || t.call(at, !1); return; } }, @@ -8334,19 +8349,19 @@ const On = { async feedNodeStream(e) { } }; -let ja = !1; -const gI = () => On.open(), II = () => On.close(), bI = () => On.toggle(), pI = () => On.toggleLive(), yI = () => On.togglePreview(), fI = () => On.popOut(), hI = () => { +let va = !1; +const II = () => zn.open(), bI = () => zn.close(), pI = () => zn.toggle(), yI = () => zn.toggleLive(), fI = () => zn.togglePreview(), hI = () => zn.popOut(), CI = () => { try { - rt != null && rt.isPopped && rt.popIn(); + at != null && at.isPopped && at.popIn(); } catch { } -}, CI = (e) => { +}, ZI = (e) => { var n; const t = String(((n = e == null ? void 0 : e.detail) == null ? void 0 : n.key) || ""); - (!t || t === "viewer" || t === "viewer.mfvLiveDefault" || t === "viewer.mfvPreviewDefault") && RC(); -}, Ps = (e) => { + (!t || t === "viewer" || t === "viewer.mfvLiveDefault" || t === "viewer.mfvPreviewDefault") && zC(); +}, _s = (e) => { var o, r, l, a, c; - if (!(rt != null && rt.isVisible) || Wo().scope === "viewer") return; + if (!(at != null && at.isVisible) || Mo().scope === "viewer") return; const t = ((r = (o = e == null ? void 0 : e.key) == null ? void 0 : o.toLowerCase) == null ? void 0 : r.call(o)) || ""; if (((l = e == null ? void 0 : e.target) == null ? void 0 : l.isContentEditable) || ((c = (a = e == null ? void 0 : e.target) == null ? void 0 : a.closest) == null ? void 0 : c.call(a, "input, textarea, select, [contenteditable='true']"))) return; const i = () => { @@ -8355,52 +8370,52 @@ const gI = () => On.open(), II = () => On.close(), bI = () => On.toggle(), pI = }; if (!(e != null && e.ctrlKey) && !(e != null && e.metaKey) && !(e != null && e.altKey) && !(e != null && e.shiftKey)) { if (t === "v") { - i(), On.toggle(); + i(), zn.toggle(); return; } if (t === "k") { - i(), On.togglePreview(); + i(), zn.togglePreview(); return; } if (t === "l") { - i(), On.toggleLive(); + i(), zn.toggleLive(); return; } - t === "c" && (i(), On.toggleCompareAB()); + t === "c" && (i(), zn.toggleCompareAB()); return; } }; -function ZI() { - ja || typeof window > "u" || !(window != null && window.addEventListener) || (window.addEventListener(ft.MFV_OPEN, gI), window.addEventListener(ft.MFV_CLOSE, II), window.addEventListener(ft.MFV_TOGGLE, bI), window.addEventListener(ft.MFV_LIVE_TOGGLE, pI), window.addEventListener(ft.MFV_PREVIEW_TOGGLE, yI), window.addEventListener(ft.MFV_POPOUT, fI), window.addEventListener(ft.SETTINGS_CHANGED, CI), window.addEventListener("keydown", Ps, !0), window.addEventListener("beforeunload", hI), ja = !0); +function AI() { + va || typeof window > "u" || !(window != null && window.addEventListener) || (window.addEventListener(ht.MFV_OPEN, II), window.addEventListener(ht.MFV_CLOSE, bI), window.addEventListener(ht.MFV_TOGGLE, pI), window.addEventListener(ht.MFV_LIVE_TOGGLE, yI), window.addEventListener(ht.MFV_PREVIEW_TOGGLE, fI), window.addEventListener(ht.MFV_POPOUT, hI), window.addEventListener(ht.SETTINGS_CHANGED, ZI), window.addEventListener("keydown", _s, !0), window.addEventListener("beforeunload", CI), va = !0); } -function TC() { +function KC() { if (typeof window > "u" || !(window != null && window.removeEventListener)) { - ja = !1; + va = !1; return; } - window.removeEventListener(ft.MFV_OPEN, gI), window.removeEventListener(ft.MFV_CLOSE, II), window.removeEventListener(ft.MFV_TOGGLE, bI), window.removeEventListener(ft.MFV_LIVE_TOGGLE, pI), window.removeEventListener(ft.MFV_PREVIEW_TOGGLE, yI), window.removeEventListener(ft.MFV_POPOUT, fI), window.removeEventListener(ft.SETTINGS_CHANGED, CI), window.removeEventListener("keydown", Ps, !0), window.removeEventListener("beforeunload", hI), ja = !1; + window.removeEventListener(ht.MFV_OPEN, II), window.removeEventListener(ht.MFV_CLOSE, bI), window.removeEventListener(ht.MFV_TOGGLE, pI), window.removeEventListener(ht.MFV_LIVE_TOGGLE, yI), window.removeEventListener(ht.MFV_PREVIEW_TOGGLE, fI), window.removeEventListener(ht.MFV_POPOUT, hI), window.removeEventListener(ht.SETTINGS_CHANGED, ZI), window.removeEventListener("keydown", _s, !0), window.removeEventListener("beforeunload", CI), va = !1; } -function AI({ reinstallGlobalHandlers: e = !1 } = {}) { +function WI({ reinstallGlobalHandlers: e = !1 } = {}) { var n; - const t = !!(rt != null && rt.isVisible); + const t = !!(at != null && at.isVisible); try { - rt != null && rt.isPopped && rt.popIn(); + at != null && at.isPopped && at.popIn(); } catch (o) { (n = console.debug) == null || n.call(console, o); } - TC(), uI(), Hs(), _c += 1, fo = Ds(), Pi = Es(), FC(), t && rr(!1), e && ZI(); + KC(), mI(), Ps(), es += 1, Co = Hs(), $i = qs(), JC(), t && ar(!1), e && AI(); } -const va = "progress-update", Rl = Symbol.for("mjr.mfv.progress.queuePromptPatch"), es = "__MJR_MFV_PROGRESS_SERVICE__"; -function BC() { +const La = "progress-update", Fl = Symbol.for("mjr.mfv.progress.queuePromptPatch"), ns = "__MJR_MFV_PROGRESS_SERVICE__"; +function DC() { return typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : {}; } -function yu(e, t) { +function hu(e, t) { if (typeof CustomEvent == "function") return new CustomEvent(e, { detail: t }); const n = typeof Event == "function" ? new Event(e) : { type: e }; return n.detail = t, n; } -class UC { +class EC { constructor(t, n = () => Qn()) { this.id = String(t || ""), this.promptApi = null, this.executedNodeIds = [], this.totalNodes = 0, this.currentlyExecuting = null, this.errorDetails = null, this._getApp = typeof n == "function" ? n : () => null; } @@ -8450,11 +8465,11 @@ class UC { this.errorDetails = t || null; } } -class KC extends EventTarget { +class HC extends EventTarget { constructor({ - getApi: t = (o) => ha(o), + getApi: t = (o) => Ca(o), getApp: n = () => Qn(), - waitForApi: i = (o) => pg(o) + waitForApi: i = (o) => yg(o) } = {}) { super(), this._getApi = t, this._getApp = n, this._waitForApi = i, this.promptsMap = /* @__PURE__ */ new Map(), this.currentExecution = null, this.lastQueueRemaining = 0, this._api = null, this._listenerEntries = [], this._initPromise = null; } @@ -8474,7 +8489,7 @@ class KC extends EventTarget { getOrMakePrompt(t) { const n = String(t || "").trim() || "unknown"; let i = this.promptsMap.get(n); - return i || (i = new UC(n, this._getApp), this.promptsMap.set(n, i)), i; + return i || (i = new EC(n, this._getApp), this.promptsMap.set(n, i)), i; } async ensureInitialized({ api: t = null, app: n = null, timeoutMs: i = 0 } = {}) { return t && this._api === t ? t : !t && this._api ? this._api : this._initPromise ? this._initPromise : (this._initPromise = this._ensureInitializedInternal({ api: t, app: n, timeoutMs: i }).finally(() => { @@ -8498,7 +8513,7 @@ class KC extends EventTarget { _patchQueuePrompt(t) { var l; if (!t || typeof t.queuePrompt != "function") return; - const n = (l = t.queuePrompt) == null ? void 0 : l[Rl]; + const n = (l = t.queuePrompt) == null ? void 0 : l[Fl]; if ((n == null ? void 0 : n.service) === this || n != null && n.service && n.service !== this) return; const i = t.queuePrompt, o = this, r = async function(a, c, ...s) { let d; @@ -8512,14 +8527,14 @@ class KC extends EventTarget { if (u) { const I = o.getOrMakePrompt(u); I.setPrompt(c), o.currentExecution || (o.currentExecution = I), o.dispatchEvent( - yu("queue-prompt", { + hu("queue-prompt", { prompt: I }) ), o.dispatchProgressUpdate(); } return d; }; - Object.defineProperty(r, Rl, { + Object.defineProperty(r, Fl, { configurable: !0, value: { service: o, @@ -8566,7 +8581,7 @@ class KC extends EventTarget { t.addEventListener(n, i), this._listenerEntries.push({ api: t, type: n, handler: i }); } dispatchProgressUpdate() { - this.dispatchEvent(yu(va, this.getSnapshot())); + this.dispatchEvent(hu(La, this.getSnapshot())); } dispose({ resetPatchedQueuePrompt: t = !1, keepState: n = !1 } = {}) { var i, o, r, l, a, c, s; @@ -8576,9 +8591,9 @@ class KC extends EventTarget { } catch (p) { (o = console.debug) == null || o.call(console, p); } - if (t && ((a = (l = (r = this._api) == null ? void 0 : r.queuePrompt) == null ? void 0 : l[Rl]) == null ? void 0 : a.service) === this) + if (t && ((a = (l = (r = this._api) == null ? void 0 : r.queuePrompt) == null ? void 0 : l[Fl]) == null ? void 0 : a.service) === this) try { - const d = ((c = this._api.queuePrompt[Rl]) == null ? void 0 : c.originalQueuePrompt) || null; + const d = ((c = this._api.queuePrompt[Fl]) == null ? void 0 : c.originalQueuePrompt) || null; typeof d == "function" && (this._api.queuePrompt = d); } catch (d) { (s = console.debug) == null || s.call(console, d); @@ -8586,12 +8601,12 @@ class KC extends EventTarget { this._api = null, n || (this.promptsMap.clear(), this.currentExecution = null, this.lastQueueRemaining = 0); } } -const ts = BC(), Co = ts[es] || new KC(); -ts[es] || (ts[es] = Co); -function WI(e = {}) { - return Co.ensureInitialized(e); +const is = DC(), Ao = is[ns] || new HC(); +is[ns] || (is[ns] = Ao); +function wI(e = {}) { + return Ao.ensureInitialized(e); } -function DC(e) { +function qC(e) { var i, o, r; const t = Math.max(0, Number(e == null ? void 0 : e.queue) || 0), n = (e == null ? void 0 : e.prompt) || null; if (n != null && n.errorDetails) { @@ -8617,7 +8632,7 @@ function DC(e) { } return t > 0 ? `(${t}) Running... in another tab` : "Idle"; } -function EC(e) { +function PC(e) { var l; const t = (e == null ? void 0 : e.prompt) || null; if (t != null && t.errorDetails) { @@ -8631,7 +8646,7 @@ function EC(e) { const i = String(n.nodeLabel || n.nodeId || "Node").trim(), o = Number(n.step), r = Number(n.maxSteps); return Number.isFinite(o) && Number.isFinite(r) && r > 0 ? n.pass > 1 ? `${i} #${n.pass} - ${o}/${r}` : `${i} - ${o}/${r}` : i; } -function ns(e, t) { +function os(e, t) { var a, c, s, d; if (!(e != null && e._progressEl) && !(e != null && e._mediaProgressEl)) return; const n = (t == null ? void 0 : t.prompt) || null, i = String( @@ -8647,12 +8662,12 @@ function ns(e, t) { const u = Number((s = n.currentlyExecuting) == null ? void 0 : s.step), I = Number((d = n.currentlyExecuting) == null ? void 0 : d.maxSteps); Number.isFinite(u) && Number.isFinite(I) && I > 0 && (r = `${Math.max(0, Math.min(100, u / I * 100))}%`); } else l && (o = "100%", r = "100%"); - if (e._progressCurrentNodeId = i || null, e._progressEl && (e._progressNodesEl.style.width = o, e._progressStepsEl.style.width = r, e._progressTextEl.textContent = DC(t), e._progressEl.classList.toggle("is-error", l), e._progressEl.classList.toggle("is-clickable", !!i), e._progressEl.title = i ? "Execution progress - click to center active node" : "Execution progress"), e._mediaProgressEl) { - const u = EC(t); + if (e._progressCurrentNodeId = i || null, e._progressEl && (e._progressNodesEl.style.width = o, e._progressStepsEl.style.width = r, e._progressTextEl.textContent = qC(t), e._progressEl.classList.toggle("is-error", l), e._progressEl.classList.toggle("is-clickable", !!i), e._progressEl.title = i ? "Execution progress - click to center active node" : "Execution progress"), e._mediaProgressEl) { + const u = PC(t); e._mediaProgressTextEl.textContent = u, e._mediaProgressEl.title = u || "", e._mediaProgressEl.classList.toggle("is-error", l), e._mediaProgressEl.classList.toggle("is-visible", !!u); } } -function HC(e, t) { +function QC(e, t) { var i, o; const n = String(t || "").trim(); if (!n) return !1; @@ -8663,7 +8678,7 @@ function HC(e, t) { return (o = console.debug) == null || o.call(console, r), !1; } } -function IV(e) { +function fY(e) { const t = document.createElement("div"); t.className = "mjr-mfv-progress", t.setAttribute("role", "status"), t.setAttribute("aria-live", "polite"); const n = document.createElement("div"); @@ -8674,32 +8689,32 @@ function IV(e) { o.className = "mjr-mfv-progress-overlay", o.setAttribute("aria-hidden", "true"); const r = document.createElement("span"); return r.className = "mjr-mfv-progress-text", r.textContent = "Idle", t.appendChild(n), t.appendChild(i), t.appendChild(o), t.appendChild(r), t.addEventListener("pointerdown", (l) => { - l.button === 0 && HC(e, e._progressCurrentNodeId) && (l.preventDefault(), l.stopPropagation()); - }), e._progressEl = t, e._progressNodesEl = n, e._progressStepsEl = i, e._progressTextEl = r, e._progressUpdateHandler && Co.removeEventListener( - va, + l.button === 0 && QC(e, e._progressCurrentNodeId) && (l.preventDefault(), l.stopPropagation()); + }), e._progressEl = t, e._progressNodesEl = n, e._progressStepsEl = i, e._progressTextEl = r, e._progressUpdateHandler && Ao.removeEventListener( + La, e._progressUpdateHandler ), e._progressUpdateHandler = (l) => { - ns(e, (l == null ? void 0 : l.detail) || Co.getSnapshot()); - }, Co.addEventListener( - va, + os(e, (l == null ? void 0 : l.detail) || Ao.getSnapshot()); + }, Ao.addEventListener( + La, e._progressUpdateHandler - ), WI({ timeoutMs: 4e3 }).catch((l) => { + ), wI({ timeoutMs: 4e3 }).catch((l) => { var a; (a = console.debug) == null || a.call(console, l); - }), ns(e, Co.getSnapshot()), t; + }), os(e, Ao.getSnapshot()), t; } -function bV(e) { +function hY(e) { const t = document.createElement("div"); t.className = "mjr-mfv-media-progress", t.setAttribute("aria-hidden", "true"); const n = document.createElement("span"); - return n.className = "mjr-mfv-media-progress-text", t.appendChild(n), e._mediaProgressEl = t, e._mediaProgressTextEl = n, ns(e, Co.getSnapshot()), t; + return n.className = "mjr-mfv-media-progress-text", t.appendChild(n), e._mediaProgressEl = t, e._mediaProgressTextEl = n, os(e, Ao.getSnapshot()), t; } -function pV(e) { +function CY(e) { var t; if (e != null && e._progressUpdateHandler) try { - Co.removeEventListener( - va, + Ao.removeEventListener( + La, e._progressUpdateHandler ); } catch (n) { @@ -8707,7 +8722,7 @@ function pV(e) { } e._progressUpdateHandler = null, e._progressCurrentNodeId = null, e._progressEl = null, e._progressNodesEl = null, e._progressStepsEl = null, e._progressTextEl = null, e._mediaProgressEl = null, e._mediaProgressTextEl = null; } -function qC() { +function _C() { const e = "mjr-grid-settings-styles"; if (document.getElementById(e)) return; const t = document.createElement("style"); @@ -8790,28 +8805,28 @@ function qC() { } `, document.head.appendChild(t); } -function nl(e) { +function ol(e) { if (!e) return; - qC(); + _C(); const t = (n, i) => { i ? e.classList.add(n) : e.classList.remove(n); }; - t("mjr-show-filename", ye.GRID_SHOW_DETAILS_FILENAME), t("mjr-show-dimensions", ye.GRID_SHOW_DETAILS_DIMENSIONS), t("mjr-show-date", ye.GRID_SHOW_DETAILS_DATE), t("mjr-show-gentime", ye.GRID_SHOW_DETAILS_GENTIME), t("mjr-show-hover-info", ye.GRID_SHOW_HOVER_INFO), t("mjr-show-dot", ye.GRID_SHOW_WORKFLOW_DOT), t("mjr-show-badges-ext", ye.GRID_SHOW_BADGES_EXTENSION), t("mjr-show-badges-rating", ye.GRID_SHOW_BADGES_RATING), t("mjr-show-badges-tags", ye.GRID_SHOW_BADGES_TAGS), t("mjr-show-details", ye.GRID_SHOW_DETAILS), e.style.setProperty("--mjr-grid-min-size", `${ye.GRID_MIN_SIZE}px`), e.style.setProperty("--mjr-grid-gap", `${ye.GRID_GAP}px`), e.style.setProperty("--mjr-star-active", ye.BADGE_STAR_COLOR), e.style.setProperty("--mjr-badge-image", ye.BADGE_IMAGE_COLOR), e.style.setProperty("--mjr-badge-video", ye.BADGE_VIDEO_COLOR), e.style.setProperty("--mjr-badge-audio", ye.BADGE_AUDIO_COLOR), e.style.setProperty("--mjr-badge-model3d", ye.BADGE_MODEL3D_COLOR), e.style.setProperty( + t("mjr-show-filename", fe.GRID_SHOW_DETAILS_FILENAME), t("mjr-show-dimensions", fe.GRID_SHOW_DETAILS_DIMENSIONS), t("mjr-show-date", fe.GRID_SHOW_DETAILS_DATE), t("mjr-show-gentime", fe.GRID_SHOW_DETAILS_GENTIME), t("mjr-show-hover-info", fe.GRID_SHOW_HOVER_INFO), t("mjr-show-dot", fe.GRID_SHOW_WORKFLOW_DOT), t("mjr-show-badges-ext", fe.GRID_SHOW_BADGES_EXTENSION), t("mjr-show-badges-rating", fe.GRID_SHOW_BADGES_RATING), t("mjr-show-badges-tags", fe.GRID_SHOW_BADGES_TAGS), t("mjr-show-details", fe.GRID_SHOW_DETAILS), e.style.setProperty("--mjr-grid-min-size", `${fe.GRID_MIN_SIZE}px`), e.style.setProperty("--mjr-grid-gap", `${fe.GRID_GAP}px`), e.style.setProperty("--mjr-star-active", fe.BADGE_STAR_COLOR), e.style.setProperty("--mjr-badge-image", fe.BADGE_IMAGE_COLOR), e.style.setProperty("--mjr-badge-video", fe.BADGE_VIDEO_COLOR), e.style.setProperty("--mjr-badge-audio", fe.BADGE_AUDIO_COLOR), e.style.setProperty("--mjr-badge-model3d", fe.BADGE_MODEL3D_COLOR), e.style.setProperty( "--mjr-badge-duplicate-alert", - ye.BADGE_DUPLICATE_ALERT_COLOR - ), e.style.setProperty("--mjr-card-hover-color", ye.UI_CARD_HOVER_COLOR), e.style.setProperty( + fe.BADGE_DUPLICATE_ALERT_COLOR + ), e.style.setProperty("--mjr-card-hover-color", fe.UI_CARD_HOVER_COLOR), e.style.setProperty( "--mjr-card-selection-color", - ye.UI_CARD_SELECTION_COLOR - ), e.style.setProperty("--mjr-rating-color", ye.UI_RATING_COLOR), e.style.setProperty("--mjr-tag-color", ye.UI_TAG_COLOR); + fe.UI_CARD_SELECTION_COLOR + ), e.style.setProperty("--mjr-rating-color", fe.UI_RATING_COLOR), e.style.setProperty("--mjr-tag-color", fe.UI_TAG_COLOR); } -function PC(e, { applySettingsClasses: t = !0 } = {}) { +function $C(e, { applySettingsClasses: t = !0 } = {}) { var n, i; if (!e) return null; if (e.id = "mjr-assets-grid", e.classList.add("mjr-grid"), e.tabIndex = 0, e.setAttribute("role", "grid"), t) { - nl(e); + ol(e); const o = () => { requestAnimationFrame(() => { - nl(e); + ol(e); }); }; try { @@ -8830,7 +8845,7 @@ function PC(e, { applySettingsClasses: t = !0 } = {}) { } return e; } -function Oi(e, t, ...n) { +function zi(e, t, ...n) { var i; try { const o = e == null ? void 0 : e[t]; @@ -8840,92 +8855,92 @@ function Oi(e, t, ...n) { (i = console.debug) == null || i.call(console, o); } } -function QC(e, t = {}, n = {}) { - return Oi(e, "_mjrHydrateFromSnapshot", t, n) ?? !1; +function eZ(e, t = {}, n = {}) { + return zi(e, "_mjrHydrateFromSnapshot", t, n) ?? !1; } -function Qs(e, t = "*", n = {}) { - return Oi(e, "_mjrLoadAssets", t, n) ?? Promise.resolve({ ok: !1, error: "Grid API unavailable" }); +function $s(e, t = "*", n = {}) { + return zi(e, "_mjrLoadAssets", t, n) ?? Promise.resolve({ ok: !1, error: "Grid API unavailable" }); } -function _s(e, t, n = {}) { - return Oi(e, "_mjrLoadAssetsFromList", t, n) ?? Promise.resolve({ ok: !1, error: "Grid API unavailable" }); +function ed(e, t, n = {}) { + return zi(e, "_mjrLoadAssetsFromList", t, n) ?? Promise.resolve({ ok: !1, error: "Grid API unavailable" }); } -function _C(e) { - return Oi(e, "_mjrPrepareForScopeSwitch"); +function tZ(e) { + return zi(e, "_mjrPrepareForScopeSwitch"); } -function wI(e) { +function MI(e) { var t, n; try { (t = e == null ? void 0 : e._mjrSettingsChangedCleanup) == null || t.call(e); } catch (i) { (n = console.debug) == null || n.call(console, i); } - return Oi(e, "_mjrDispose"); + return zi(e, "_mjrDispose"); } -function $C(e) { - return Oi(e, "_mjrRefreshGrid"); +function nZ(e) { + return zi(e, "_mjrRefreshGrid"); } -function eZ(e) { - return Oi(e, "_mjrCaptureAnchor") ?? null; +function iZ(e) { + return zi(e, "_mjrCaptureAnchor") ?? null; } -function tZ(e, t) { - return Oi(e, "_mjrRestoreAnchor", t); +function oZ(e, t) { + return zi(e, "_mjrRestoreAnchor", t); } -function is(e, t, n = {}) { - return Oi(e, "_mjrRemoveAssets", t, n) ?? { +function rs(e, t, n = {}) { + return zi(e, "_mjrRemoveAssets", t, n) ?? { ok: !1, removed: 0, selectedIds: [] }; } -function nZ(e, t) { - return !!Oi(e, "_mjrUpsertAsset", t); +function rZ(e, t) { + return !!zi(e, "_mjrUpsertAsset", t); } -function iZ(e, t) { - return !!Oi(e, "_mjrUpsertAssetNow", t); +function lZ(e, t) { + return !!zi(e, "_mjrUpsertAssetNow", t); } -function ra(e) { +function la(e) { return String(e || "").trim().toLowerCase(); } -function oZ({ dot: e = null, asset: t = null, scope: n = "" } = {}) { +function aZ({ dot: e = null, asset: t = null, scope: n = "" } = {}) { var r, l, a, c; - const i = ra(n); + const i = la(n); if (i) return i === "custom"; - const o = ra((t == null ? void 0 : t.type) || (t == null ? void 0 : t.scope)); + const o = la((t == null ? void 0 : t.type) || (t == null ? void 0 : t.scope)); if (o) return o === "custom"; try { - const s = ra((a = (l = (r = e == null ? void 0 : e.closest) == null ? void 0 : r.call(e, ".mjr-grid")) == null ? void 0 : l.dataset) == null ? void 0 : a.mjrScope); + const s = la((a = (l = (r = e == null ? void 0 : e.closest) == null ? void 0 : r.call(e, ".mjr-grid")) == null ? void 0 : l.dataset) == null ? void 0 : a.mjrScope); if (s) return s === "custom"; } catch (s) { (c = console.debug) == null || c.call(console, s); } return !1; } -function rZ(e, t = {}) { - const n = ra(e); - return oZ(t) ? n === "pending" || n === "info" ? "var(--mjr-browser-status-info, #4DB6AC)" : n === "success" ? "var(--mjr-browser-status-success, #2E7D32)" : n === "warning" ? "var(--mjr-browser-status-warning, #FFB74D)" : n === "error" ? "var(--mjr-browser-status-error, #EF5350)" : "var(--mjr-browser-status-neutral, #90A4AE)" : n === "pending" || n === "info" ? "var(--mjr-status-info, #64B5F6)" : n === "success" ? "var(--mjr-status-success, #4CAF50)" : n === "warning" ? "var(--mjr-status-warning, #FFA726)" : n === "error" ? "var(--mjr-status-error, #f44336)" : "var(--mjr-status-neutral, #666)"; +function cZ(e, t = {}) { + const n = la(e); + return aZ(t) ? n === "pending" || n === "info" ? "var(--mjr-browser-status-info, #4DB6AC)" : n === "success" ? "var(--mjr-browser-status-success, #2E7D32)" : n === "warning" ? "var(--mjr-browser-status-warning, #FFB74D)" : n === "error" ? "var(--mjr-browser-status-error, #EF5350)" : "var(--mjr-browser-status-neutral, #90A4AE)" : n === "pending" || n === "info" ? "var(--mjr-status-info, #64B5F6)" : n === "success" ? "var(--mjr-status-success, #4CAF50)" : n === "warning" ? "var(--mjr-status-warning, #FFA726)" : n === "error" ? "var(--mjr-status-error, #f44336)" : "var(--mjr-status-neutral, #666)"; } -const lZ = ig("mjr-runtime", () => { - const e = Ae(null), t = Ae(null), n = Ae(!1), i = Ae(0), o = Ae(null), r = Ae(null), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae([]), d = Je(() => !!o.value), u = Je(() => { - const h = a.value, f = c.value; - return !f || f <= 0 ? 0 : Math.round(h / f * 100); +const sZ = og("mjr-runtime", () => { + const e = Ae(null), t = Ae(null), n = Ae(!1), i = Ae(0), o = Ae(null), r = Ae(null), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae([]), d = ze(() => !!o.value), u = ze(() => { + const Z = a.value, f = c.value; + return !f || f <= 0 ? 0 : Math.round(Z / f * 100); }); - function I(h) { - e.value = h; + function I(Z) { + e.value = Z; } - function p(h) { - t.value = h; + function p(Z) { + t.value = Z; } - function M(h, f) { - n.value = !!h, i.value = Math.max(0, Number(f || 0) || 0); + function S(Z, f) { + n.value = !!Z, i.value = Math.max(0, Number(f || 0) || 0); } - function Z() { + function A() { return { active: n.value, queueLength: i.value }; } - function A(h = {}) { - h.active_prompt_id !== void 0 && (o.value = h.active_prompt_id), h.queue_remaining !== void 0 && (r.value = h.queue_remaining), h.progress_node !== void 0 && (l.value = h.progress_node), h.progress_value !== void 0 && (a.value = h.progress_value), h.progress_max !== void 0 && (c.value = h.progress_max), h.cached_nodes !== void 0 && (s.value = h.cached_nodes ?? []); + function C(Z = {}) { + Z.active_prompt_id !== void 0 && (o.value = Z.active_prompt_id), Z.queue_remaining !== void 0 && (r.value = Z.queue_remaining), Z.progress_node !== void 0 && (l.value = Z.progress_node), Z.progress_value !== void 0 && (a.value = Z.progress_value), Z.progress_max !== void 0 && (c.value = Z.progress_max), Z.cached_nodes !== void 0 && (s.value = Z.cached_nodes ?? []); } function g() { o.value = null, r.value = null, l.value = null, a.value = null, c.value = null, s.value = []; @@ -8948,29 +8963,29 @@ const lZ = ig("mjr-runtime", () => { // actions setComfyApp: I, setComfyApi: p, - setEnrichmentState: M, - getEnrichmentState: Z, - applyExecutionStatus: A, + setEnrichmentState: S, + getEnrichmentState: A, + applyExecutionStatus: C, resetExecution: g }; }); -function MI() { +function SI() { try { - return og() ? lZ() : null; + return rg() ? sZ() : null; } catch { return null; } } -const Fl = Symbol.for("majoor.assets_manager.runtime_state"); -function SI() { +const Ol = Symbol.for("majoor.assets_manager.runtime_state"); +function GI() { try { const e = typeof globalThis < "u" ? globalThis : {}; - return (!e[Fl] || typeof e[Fl] != "object") && (e[Fl] = { + return (!e[Ol] || typeof e[Ol] != "object") && (e[Ol] = { api: null, assetsDeletedHandler: null, enrichmentActive: !1, enrichmentQueueLength: 0 - }), e[Fl]; + }), e[Ol]; } catch { return { api: null, @@ -8980,40 +8995,40 @@ function SI() { }; } } -function GI(e, t) { - const n = MI(); +function xI(e, t) { + const n = SI(); if (n) { n.setEnrichmentState(e, t); return; } - const i = SI(); + const i = GI(); i.enrichmentActive = !!e, i.enrichmentQueueLength = Math.max(0, Number(t || 0) || 0); } -function _a() { - const e = MI(); +function $a() { + const e = SI(); if (e) return e.getEnrichmentState(); - const t = SI(); + const t = GI(); return { active: !!t.enrichmentActive, queueLength: Math.max(0, Number(t.enrichmentQueueLength || 0) || 0) }; } -function pr(e) { +function fr(e) { try { return String(e || "").trim().toLowerCase(); } catch { return ""; } } -function La(e) { +function Va(e) { try { return (String(e || "").split(".").pop() || "").toUpperCase(); } catch { return ""; } } -function xI(e) { +function jI(e) { try { const t = String(e || ""), n = t.lastIndexOf("."), i = n > 0 ? t.slice(0, n) : t; return String(i || "").trim().toLowerCase(); @@ -9021,7 +9036,7 @@ function xI(e) { return ""; } } -function aZ(e) { +function dZ(e) { try { if (String((e == null ? void 0 : e.kind) || "").toLowerCase() !== "video") return !1; const n = String((e == null ? void 0 : e.filename) || "").toLowerCase(); @@ -9030,35 +9045,35 @@ function aZ(e) { return !1; } } -function fu(e) { +function Cu(e) { try { const t = String((e == null ? void 0 : e.kind) || "").toLowerCase(); let n = 0; - aZ(e) ? n = 2 : t === "video" && (n = 1); + dZ(e) ? n = 2 : t === "video" && (n = 1); const i = Number((e == null ? void 0 : e.has_generation_data) || 0) > 0 ? 1 : 0, o = Number((e == null ? void 0 : e.size) || 0), r = Number((e == null ? void 0 : e.mtime) || 0); return [n, r, i, o]; } catch { return [0, 0, 0, 0]; } } -function cZ(e, t) { +function uZ(e, t) { for (let n = 0; n < Math.max(e.length, t.length); n++) { const i = (e[n] || 0) - (t[n] || 0); if (i !== 0) return i; } return 0; } -function jI(e) { +function vI(e) { if (!Array.isArray(e) || e.length === 0) return null; if (e.length === 1) return e[0]; - let t = e[0], n = fu(t); + let t = e[0], n = Cu(t); for (let i = 1; i < e.length; i++) { - const o = e[i], r = fu(o); - cZ(r, n) > 0 && (t = o, n = r); + const o = e[i], r = Cu(o); + uZ(r, n) > 0 && (t = o, n = r); } return t; } -function vI(e, t) { +function LI(e, t) { var r, l; if (!e || !Array.isArray(t) || t.length === 0 || (Number((e == null ? void 0 : e.generation_time_ms) ?? ((r = e == null ? void 0 : e.metadata) == null ? void 0 : r.generation_time_ms) ?? 0) || 0) > 0) return e; const i = t.find( @@ -9071,13 +9086,13 @@ function vI(e, t) { const o = Number((i == null ? void 0 : i.generation_time_ms) ?? ((l = i == null ? void 0 : i.metadata) == null ? void 0 : l.generation_time_ms) ?? 0) || 0; return o <= 0 || (e.generation_time_ms = o, !e.has_generation_data && (i != null && i.has_generation_data) && (e.has_generation_data = i.has_generation_data)), e; } -function $s(e, t) { +function td(e, t) { const n = String((e == null ? void 0 : e.kind) || "").toLowerCase(); if (n) return n; const i = /* @__PURE__ */ new Set(["PNG", "JPG", "JPEG", "WEBP", "GIF", "BMP", "TIF", "TIFF"]), o = /* @__PURE__ */ new Set(["MP4", "WEBM", "MOV", "AVI", "MKV"]), r = /* @__PURE__ */ new Set(["MP3", "WAV", "OGG", "FLAC"]), l = /* @__PURE__ */ new Set(["OBJ", "FBX", "GLB", "GLTF", "STL", "PLY", "SPLAT", "KSPLAT", "SPZ"]); return i.has(t) ? "image" : o.has(t) ? "video" : r.has(t) ? "audio" : l.has(t) ? "model3d" : "unknown"; } -function LI(e) { +function VI(e) { var t; try { const n = e(); @@ -9090,16 +9105,16 @@ function YI(e) { const t = String((e == null ? void 0 : e.source) || (e == null ? void 0 : e.type) || "").trim().toLowerCase(), n = String((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || "").trim().toLowerCase(), i = String((e == null ? void 0 : e.subfolder) || "").trim().toLowerCase(); return `${t}|${n}|${i}`; } -function VI(e, t = La((e == null ? void 0 : e.filename) || "")) { - const n = $s(e, t), i = String((e == null ? void 0 : e.filename) || "").trim(); +function kI(e, t = Va((e == null ? void 0 : e.filename) || "")) { + const n = td(e, t), i = String((e == null ? void 0 : e.filename) || "").trim(); if (!i) return ""; const o = YI(e); if (n === "model3d") return `${o}|model3d|${i.toLowerCase()}`; - const r = xI(i); + const r = jI(i); return r ? `${o}|media|${r}` : ""; } -function kI(e) { +function XI(e) { const t = e.nonImageSiblingKeys || /* @__PURE__ */ new Set(); e.nonImageSiblingKeys = t; const n = e.stemMap || /* @__PURE__ */ new Map(); @@ -9109,7 +9124,7 @@ function kI(e) { const o = e.seenKeys || /* @__PURE__ */ new Set(); return e.seenKeys = o, e.hiddenPngSiblings == null && (e.hiddenPngSiblings = 0), { nonImageSiblingKeys: t, stemMap: n, assetIdSet: i, seenKeys: o }; } -function os(e, t, n) { +function ls(e, t, n) { var i, o, r; try { (t == null ? void 0 : t.id) != null && n.assetIdSet.delete(String(t.id)); @@ -9123,7 +9138,7 @@ function os(e, t, n) { (r = console.debug) == null || r.call(console, l); } } -function sZ(e, t, n, i) { +function mZ(e, t, n, i) { const o = n.stemMap.get(t); if (!(o != null && o.length)) return []; const r = []; @@ -9131,142 +9146,142 @@ function sZ(e, t, n, i) { i(o[l]) && (r.push(o[l]), o.splice(l, 1)); return o.length || n.stemMap.delete(t), r; } -function XI(e, t, n) { - if (!LI(n)) return { hidden: !1, hideEnabled: !1, removed: [] }; - const o = kI(t), r = String((e == null ? void 0 : e.filename) || ""), l = La(r), a = $s(e, l), c = VI(e, l); +function NI(e, t, n) { + if (!VI(n)) return { hidden: !1, hideEnabled: !1, removed: [] }; + const o = XI(t), r = String((e == null ? void 0 : e.filename) || ""), l = Va(r), a = td(e, l), c = kI(e, l); if (!c) return { hidden: !1, hideEnabled: !0, removed: [] }; if (a === "video" || a === "audio" || a === "model3d") - return o.nonImageSiblingKeys.add(c), { hidden: !1, hideEnabled: !0, removed: sZ( + return o.nonImageSiblingKeys.add(c), { hidden: !1, hideEnabled: !0, removed: mZ( t, c, o, - (d) => La((d == null ? void 0 : d.filename) || "") === "PNG" + (d) => Va((d == null ? void 0 : d.filename) || "") === "PNG" ) }; if (l === "PNG") { - const s = `${YI(e)}|model3d|${xI(r)}`; + const s = `${YI(e)}|model3d|${jI(r)}`; if (o.nonImageSiblingKeys.has(c) || o.nonImageSiblingKeys.has(s)) return { hidden: !0, hideEnabled: !0, removed: [] }; } return { hidden: !1, hideEnabled: !0, removed: [] }; } -function dZ(e, t, n, i) { - var M, Z, A; - const o = LI(i.loadMajoorSettings), r = n.filenameCounts || /* @__PURE__ */ new Map(); +function gZ(e, t, n, i) { + var S, A, C; + const o = VI(i.loadMajoorSettings), r = n.filenameCounts || /* @__PURE__ */ new Map(); n.filenameCounts = r, i.clearGridMessage(e); const l = i.ensureVirtualGrid(e, n); if (!l) return 0; o || (n.hiddenPngSiblings = 0), n.assetKeyFn = i.assetKey; - const a = kI(n), c = /* @__PURE__ */ new Map(); + const a = XI(n), c = /* @__PURE__ */ new Map(); for (const g of n.assets || []) { - const h = pr(g == null ? void 0 : g.filename); - if (!h) continue; - let f = c.get(h); - f || (f = [], c.set(h, f)), f.push(g); + const Z = fr(g == null ? void 0 : g.filename); + if (!Z) continue; + let f = c.get(Z); + f || (f = [], c.set(Z, f)), f.push(g); } let s = 0, d = !1; const u = [], I = /* @__PURE__ */ new Set(), p = () => { - var g, h, f, b, v, C, S, W, y; + var g, Z, f, b, L, h, G, W, y; try { - const k = new Set( - (Array.isArray(n.assets) ? n.assets : []).map((G) => String((G == null ? void 0 : G.id) || "")).filter(Boolean) + const X = new Set( + (Array.isArray(n.assets) ? n.assets : []).map((x) => String((x == null ? void 0 : x.id) || "")).filter(Boolean) ); - for (const [G, z] of c.entries()) { - const x = (Array.isArray(z) ? z : []).filter((O) => { - const B = String((O == null ? void 0 : O.id) || ""); - return B ? k.has(B) : !1; - }), w = x.length; - if (r.set(G, w), w < 2) { - for (const B of x) + for (const [x, T] of c.entries()) { + const v = (Array.isArray(T) ? T : []).filter((z) => { + const B = String((z == null ? void 0 : z.id) || ""); + return B ? X.has(B) : !1; + }), w = v.length; + if (r.set(x, w), w < 2) { + for (const B of v) B._mjrNameCollision = !1, delete B._mjrNameCollisionCount, delete B._mjrNameCollisionPaths, B._mjrDupStack && (B._mjrDupStack = !1, B._mjrDupMembers = null, B._mjrDupCount = 0); - const O = (g = n.renderedFilenameMap) == null ? void 0 : g.get(G); - if (O) - for (const B of O) { - const J = (h = B.querySelector) == null ? void 0 : h.call(B, ".mjr-file-badge"); + const z = (g = n.renderedFilenameMap) == null ? void 0 : g.get(x); + if (z) + for (const B of z) { + const J = (Z = B.querySelector) == null ? void 0 : Z.call(B, ".mjr-file-badge"); i.setFileBadgeCollision(J, !1); try { (f = i.ensureDupStackCard) == null || f.call(i, e, B, B._mjrAsset); - } catch (T) { - (b = console.debug) == null || b.call(console, T); + } catch (P) { + (b = console.debug) == null || b.call(console, P); } } continue; } - const X = vI( - jI(x), - x - ), V = x.filter((O) => O !== X); - for (const O of x) - O._mjrNameCollision = !1, delete O._mjrNameCollisionCount, delete O._mjrNameCollisionPaths, O !== X && (O._mjrDupStack = !1, O._mjrDupMembers = null, O._mjrDupCount = 0); - const R = Array.isArray(X._mjrDupMembers) ? X._mjrDupMembers : [], j = new Set(R.map((O) => String((O == null ? void 0 : O.id) || ""))), L = [ - ...R, - ...x.filter((O) => !j.has(String((O == null ? void 0 : O.id) || ""))) + const R = LI( + vI(v), + v + ), Y = v.filter((z) => z !== R); + for (const z of v) + z._mjrNameCollision = !1, delete z._mjrNameCollisionCount, delete z._mjrNameCollisionPaths, z !== R && (z._mjrDupStack = !1, z._mjrDupMembers = null, z._mjrDupCount = 0); + const F = Array.isArray(R._mjrDupMembers) ? R._mjrDupMembers : [], N = new Set(F.map((z) => String((z == null ? void 0 : z.id) || ""))), V = [ + ...F, + ...v.filter((z) => !N.has(String((z == null ? void 0 : z.id) || ""))) ]; - X._mjrDupStack = !0, X._mjrDupMembers = L, X._mjrDupCount = L.length, X._mjrNameCollision = !1; - const N = new Set(V.map((O) => String((O == null ? void 0 : O.id) || ""))); - N.size > 0 && (n.assets = n.assets.filter((O) => !N.has(String((O == null ? void 0 : O.id) || "")))); - const q = (v = n.renderedFilenameMap) == null ? void 0 : v.get(G); - if (q) - for (const O of q) { - const B = O._mjrAsset, J = (C = O.querySelector) == null ? void 0 : C.call(O, ".mjr-file-badge"); - if (B === X || String((B == null ? void 0 : B.id) || "") === String((X == null ? void 0 : X.id) || "")) { + R._mjrDupStack = !0, R._mjrDupMembers = V, R._mjrDupCount = V.length, R._mjrNameCollision = !1; + const k = new Set(Y.map((z) => String((z == null ? void 0 : z.id) || ""))); + k.size > 0 && (n.assets = n.assets.filter((z) => !k.has(String((z == null ? void 0 : z.id) || "")))); + const K = (L = n.renderedFilenameMap) == null ? void 0 : L.get(x); + if (K) + for (const z of K) { + const B = z._mjrAsset, J = (h = z.querySelector) == null ? void 0 : h.call(z, ".mjr-file-badge"); + if (B === R || String((B == null ? void 0 : B.id) || "") === String((R == null ? void 0 : R.id) || "")) { i.setFileBadgeCollision(J, !1); try { - (S = i.ensureDupStackCard) == null || S.call(i, e, O, X); - } catch (T) { - (W = console.debug) == null || W.call(console, T); + (G = i.ensureDupStackCard) == null || G.call(i, e, z, R); + } catch (P) { + (W = console.debug) == null || W.call(console, P); } } } } - } catch (k) { - (y = console.debug) == null || y.call(console, k); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } }; for (const g of t || []) { try { if ((g == null ? void 0 : g.id) == null || String(g.id).trim() === "") { - const W = String((g == null ? void 0 : g.kind) || "").toLowerCase(), y = String((g == null ? void 0 : g.filepath) || "").trim(), k = String((g == null ? void 0 : g.subfolder) || "").trim(), G = String((g == null ? void 0 : g.filename) || "").trim(), x = `${String((g == null ? void 0 : g.type) || "").trim().toLowerCase()}|${W}|${y}|${k}|${G}`; - g.id = `asset:${x || "unknown"}`; + const W = String((g == null ? void 0 : g.kind) || "").toLowerCase(), y = String((g == null ? void 0 : g.filepath) || "").trim(), X = String((g == null ? void 0 : g.subfolder) || "").trim(), x = String((g == null ? void 0 : g.filename) || "").trim(), v = `${String((g == null ? void 0 : g.type) || "").trim().toLowerCase()}|${W}|${y}|${X}|${x}`; + g.id = `asset:${v || "unknown"}`; } } catch (W) { - (M = console.debug) == null || M.call(console, W); + (S = console.debug) == null || S.call(console, W); } - const h = String((g == null ? void 0 : g.filename) || ""), f = La(h), b = XI(g, n, i.loadMajoorSettings); + const Z = String((g == null ? void 0 : g.filename) || ""), f = Va(Z), b = NI(g, n, i.loadMajoorSettings); for (const W of b.removed || []) I.add(W); if (b.hidden) { n.hiddenPngSiblings += 1; continue; } - const v = pr(h); - if (v) { - let W = c.get(v); - W || (W = [], c.set(v, W)), W.push(g); + const L = fr(Z); + if (L) { + let W = c.get(L); + W || (W = [], c.set(L, W)), W.push(g); } - const C = i.assetKey(g); - if (!C || a.seenKeys.has(C) || g.id != null && a.assetIdSet.has(String(g.id))) continue; - a.seenKeys.add(C), g.id != null && a.assetIdSet.add(String(g.id)), u.push(g); - const S = VI(g, f); - if (S) { - let W = a.stemMap.get(S); - W || (W = [], a.stemMap.set(S, W)), W.push(g); + const h = i.assetKey(g); + if (!h || a.seenKeys.has(h) || g.id != null && a.assetIdSet.has(String(g.id))) continue; + a.seenKeys.add(h), g.id != null && a.assetIdSet.add(String(g.id)), u.push(g); + const G = kI(g, f); + if (G) { + let W = a.stemMap.get(G); + W || (W = [], a.stemMap.set(G, W)), W.push(g); } s++; } if (I.size > 0) { n.hiddenPngSiblings += I.size, n.assets = n.assets.filter((g) => !I.has(g)); for (const g of I) - os(n, g, a); + ls(n, g, a); try { for (const g of I) { - const h = pr(g == null ? void 0 : g.filename); - if (!h) continue; - const f = c.get(h); + const Z = fr(g == null ? void 0 : g.filename); + if (!Z) continue; + const f = c.get(Z); if (!f) continue; const b = f.indexOf(g); - b > -1 && f.splice(b, 1), f.length || c.delete(h); + b > -1 && f.splice(b, 1), f.length || c.delete(Z); } } catch (g) { - (Z = console.debug) == null || Z.call(console, g); + (A = console.debug) == null || A.call(console, g); } d = !0; } @@ -9276,11 +9291,11 @@ function dZ(e, t, n, i) { Number(n.hiddenPngSiblings || 0) || 0 ); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } return s; } -function NI({ ext: e = "", filename: t = "", count: n = 0, paths: i = [] } = {}) { +function RI({ ext: e = "", filename: t = "", count: n = 0, paths: i = [] } = {}) { const o = String(e || "").trim(), r = String(t || "").trim(), l = Math.max(0, Number(n) || 0), a = Array.isArray(i) ? i.map((s) => String(s || "").trim()).filter(Boolean) : []; if (l < 2) return `${o} file`; const c = [`${o}+ name collision in current view (${l})`]; @@ -9292,23 +9307,23 @@ function NI({ ext: e = "", filename: t = "", count: n = 0, paths: i = [] } = {}) return c.push("Click to select collisions in current view"), c.join(` `); } -function uZ(e, t, n = !1, i = null) { - var p, M, Z, A; +function IZ(e, t, n = !1, i = null) { + var p, S, A, C; const o = document.createElement("div"); o.className = "mjr-file-badge"; - const r = ((M = (p = String(e || "").split(".").pop()) == null ? void 0 : p.toUpperCase) == null ? void 0 : M.call(p)) || ""; + const r = ((S = (p = String(e || "").split(".").pop()) == null ? void 0 : p.toUpperCase) == null ? void 0 : S.call(p)) || ""; try { o.dataset.mjrExt = r; } catch (g) { - (Z = console.debug) == null || Z.call(console, g); + (A = console.debug) == null || A.call(console, g); } - const l = $s({ kind: t }, r), c = { + const l = td({ kind: t }, r), c = { image: "--mjr-badge-image", video: "--mjr-badge-video", audio: "--mjr-badge-audio", model3d: "--mjr-badge-model3d" }[l], s = c ? `var(${c}, #607D8B)` : "#607D8B", d = "var(--mjr-badge-duplicate-alert, #ff1744)", u = s, I = n ? d : u; - o.textContent = r + (n ? "+" : ""), o.title = n ? NI({ + o.textContent = r + (n ? "+" : ""), o.title = n ? RI({ ext: r, filename: e, count: i == null ? void 0 : i.count, @@ -9334,16 +9349,16 @@ function uZ(e, t, n = !1, i = null) { try { o.dataset.mjrBadgeBg = u; } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } return o; } -function mZ(e, t, n = null) { +function bZ(e, t, n = null) { var i, o, r; if (e) try { const l = ((i = e.dataset) == null ? void 0 : i.mjrExt) || "", a = ((o = e.dataset) == null ? void 0 : o.mjrBadgeBg) || "var(--mjr-badge-image, #607D8B)", c = "var(--mjr-badge-duplicate-alert, #ff1744)"; - e.textContent = String(l || "") + (t ? "+" : ""), e.title = t ? NI({ + e.textContent = String(l || "") + (t ? "+" : ""), e.title = t ? RI({ ext: l, filename: (n == null ? void 0 : n.filename) || "", count: n == null ? void 0 : n.count, @@ -9353,19 +9368,19 @@ function mZ(e, t, n = null) { (r = console.debug) == null || r.call(console, l); } } -function dr(e) { +function mr(e) { return e === !0 ? !0 : e === !1 ? !1 : e === 1 || e === "1" ? !0 : e === 0 || e === "0" ? !1 : null; } -function Eo(e, t = []) { +function qo(e, t = []) { if (!e || typeof e != "object") return null; for (const n of t) if (e[n] != null) return e[n]; return null; } -function gZ(e) { +function pZ(e) { return typeof e == "string" && e.trim().length > 0; } -function IZ(e) { +function yZ(e) { var n; if (Array.isArray(e)) return e.some((i) => String(i ?? "").trim().length > 0); if (e && typeof e == "object") return Object.keys(e).length > 0; @@ -9381,37 +9396,37 @@ function IZ(e) { } return !0; } -function bZ(e) { - const t = Eo(e, [ +function fZ(e) { + const t = qo(e, [ "auto_tags", "autoTags", "ai_auto_tags", "aiAutoTags", "suggested_tags", "suggestedTags" - ]), n = Eo(e, [ + ]), n = qo(e, [ "enhanced_caption", "enhancedCaption", "enhanced_prompt", "enhancedPrompt", "ai_enhanced_prompt", "aiEnhancedPrompt" - ]), i = dr( - Eo(e, [ + ]), i = mr( + qo(e, [ "has_ai_auto_tags", "hasAiAutoTags", "ai_has_auto_tags", "aiHasAutoTags" ]) - ), o = dr( - Eo(e, [ + ), o = mr( + qo(e, [ "has_ai_enhanced_caption", "hasAiEnhancedCaption", "ai_has_enhanced_caption", "aiHasEnhancedCaption" ]) - ), r = dr( - Eo(e, [ + ), r = mr( + qo(e, [ "has_ai_vector", "hasAiVector", "has_vector_embedding", @@ -9419,50 +9434,50 @@ function bZ(e) { "vector_indexed", "vectorIndexed" ]) - ), l = dr( - Eo(e, ["has_ai_info", "hasAiInfo", "ai_indexed", "aiIndexed"]) - ), a = i === !0 || i === null && IZ(t), c = o === !0 || o === null && gZ(n), s = r === !0 || l === !0; + ), l = mr( + qo(e, ["has_ai_info", "hasAiInfo", "ai_indexed", "aiIndexed"]) + ), a = i === !0 || i === null && yZ(t), c = o === !0 || o === null && pZ(n), s = r === !0 || l === !0; return { hasAiInfo: l === !0 || a || c || s, hasAutoTags: a, hasEnhancedPrompt: c, hasVectorIndexed: s }; } -function $a(e) { - var p, M; +function ec(e) { + var p, S; const t = document.createElement("span"); t.className = "mjr-workflow-dot mjr-asset-status-dot"; - const n = dr((e == null ? void 0 : e.has_workflow) ?? (e == null ? void 0 : e.hasWorkflow)), i = dr((e == null ? void 0 : e.has_generation_data) ?? (e == null ? void 0 : e.hasGenerationData)), o = _a(), r = o.queueLength, l = o.active || r > 0; + const n = mr((e == null ? void 0 : e.has_workflow) ?? (e == null ? void 0 : e.hasWorkflow)), i = mr((e == null ? void 0 : e.has_generation_data) ?? (e == null ? void 0 : e.hasGenerationData)), o = $a(), r = o.queueLength, l = o.active || r > 0; let a = "Pending: parsing metadata…"; const c = n === !0 || i === !0, s = n === !1 || i === !1, d = n === null || i === null; n === !0 && i === !0 ? a = "Complete: workflow + generation data detected" : c ? a = n === !0 ? "Partial: workflow only (generation data missing)" : "Partial: generation data only (workflow missing)" : s && !c && !d ? a = "None: no workflow or generation data found" : d && (a = "Pending: metadata not parsed yet"); let u = d ? "pending" : n === !0 && i === !0 ? "success" : c ? "warning" : "error"; - l && u !== "success" && (u = "pending", a = r > 0 ? `Pending: database metadata enrichment in progress (${r} queued)` : "Pending: database metadata enrichment in progress"), la(t, u, a, { asset: e }); - const I = bZ(e); + l && u !== "success" && (u = "pending", a = r > 0 ? `Pending: database metadata enrichment in progress (${r} queued)` : "Pending: database metadata enrichment in progress"), aa(t, u, a, { asset: e }); + const I = fZ(e); if (I.hasAiInfo) { - const Z = []; - I.hasVectorIndexed && Z.push("vector indexed"), I.hasAutoTags && Z.push("AI tag suggestions"), I.hasEnhancedPrompt && Z.push("enhanced prompt"), t.textContent = ""; - const A = document.createElement("i"); - A.className = "pi pi-sparkles", A.setAttribute("aria-hidden", "true"), A.style.fontSize = "11px", A.style.lineHeight = "1", t.appendChild(A); + const A = []; + I.hasVectorIndexed && A.push("vector indexed"), I.hasAutoTags && A.push("AI tag suggestions"), I.hasEnhancedPrompt && A.push("enhanced prompt"), t.textContent = ""; + const C = document.createElement("i"); + C.className = "pi pi-sparkles", C.setAttribute("aria-hidden", "true"), C.style.fontSize = "11px", C.style.lineHeight = "1", t.appendChild(C); try { t.dataset.mjrAi = "1"; } catch (g) { (p = console.debug) == null || p.call(console, g); } t.title = `${a} -AI: ${Z.length ? Z.join(", ") : "indexed"} +AI: ${A.length ? A.join(", ") : "indexed"} Click to rescan this file`; } else { try { t.dataset.mjrAi = "0"; - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } t.textContent = "●", t.title = `${a} Click to rescan this file`; } return t; } -function la(e, t, n = "", i = {}) { +function aa(e, t, n = "", i = {}) { var l, a; if (!e) return; - const o = String(t || "").toLowerCase(), r = rZ(o, { dot: e, ...i || {} }); + const o = String(t || "").toLowerCase(), r = cZ(o, { dot: e, ...i || {} }); try { e.dataset.mjrStatus = o || "neutral"; } catch (c) { @@ -9513,7 +9528,7 @@ function Ya(e) { } return n; } -function pZ(e) { +function hZ(e) { if (Array.isArray(e)) return e.map((t) => String(t ?? "").trim()).filter(Boolean); if (typeof e == "string") { @@ -9529,11 +9544,11 @@ function pZ(e) { } return []; } -function ed(e) { +function nd(e) { const t = Number(e) / 1e3; return t >= 60 ? "#FF9800" : t >= 30 ? "#FFC107" : t >= 10 ? "#8BC34A" : "#4CAF50"; } -function RI(e) { +function FI(e) { const t = e / 1e3; if (t >= 60) { const i = (t / 60).toFixed(1); @@ -9548,7 +9563,7 @@ function RI(e) { title: `Generation time: ${n} seconds` }; } -function td(e, { maxMs: t = 864e5 } = {}) { +function id(e, { maxMs: t = 864e5 } = {}) { let n; if (e == null) return 0; if (typeof e == "string") { @@ -9567,10 +9582,10 @@ function td(e, { maxMs: t = 864e5 } = {}) { n = Number(e); return !Number.isFinite(n) || n <= 0 || n >= Number(t) ? 0 : n; } -function FI(e) { +function OI(e) { const t = document.createElement("div"); t.className = "mjr-tags-badge"; - const n = pZ(e); + const n = hZ(e); return n.length === 0 ? (t.style.display = "none", t) : (t.textContent = n.join(", "), t.title = `Tags: ${n.join(", ")}`, t.style.cssText = ` position: absolute; bottom: 6px; @@ -9589,13 +9604,13 @@ function FI(e) { box-shadow: 0 2px 4px rgba(0,0,0,0.3); `, t); } -const Tn = js({ +const Tn = Ls({ open: !1, x: 0, y: 0, assets: [] }); -function yZ() { +function CZ() { var e; try { window.dispatchEvent(new CustomEvent("mjr-close-all-menus")); @@ -9603,13 +9618,13 @@ function yZ() { (e = console.debug) == null || e.call(console, t); } } -function fZ({ x: e = 0, y: t = 0, assets: n = [] } = {}) { - yZ(), Tn.open = Array.isArray(n) && n.length > 0, Tn.x = Number(e) || 0, Tn.y = Number(t) || 0, Tn.assets = Array.isArray(n) ? [...n] : []; +function ZZ({ x: e = 0, y: t = 0, assets: n = [] } = {}) { + CZ(), Tn.open = Array.isArray(n) && n.length > 0, Tn.x = Number(e) || 0, Tn.y = Number(t) || 0, Tn.assets = Array.isArray(n) ? [...n] : []; } -function Ho() { +function Po() { Tn.open = !1, Tn.x = 0, Tn.y = 0, Tn.assets = []; } -function hZ(e) { +function AZ(e) { var n; if (!e || typeof e != "object") return null; const t = e.filepath || e.path || ((n = e == null ? void 0 : e.file_info) == null ? void 0 : n.filepath) || ""; @@ -9618,30 +9633,30 @@ function hZ(e) { filename: e.filename || "", subfolder: e.subfolder || "", type: (e.type || "output").toLowerCase(), - root_id: vi(e), + root_id: Mi(e), kind: e.kind || "" } : null; } -async function nd({ x: e, y: t, assets: n }) { - const i = Array.isArray(n) ? n.map(hZ).filter(Boolean) : []; +async function od({ x: e, y: t, assets: n }) { + const i = Array.isArray(n) ? n.map(AZ).filter(Boolean) : []; if (!i.length) { - Ce(m("toast.noValidAssetsSelected", "No valid assets selected."), "warning"); + Ze(m("toast.noValidAssetsSelected", "No valid assets selected."), "warning"); return; } - fZ({ + ZZ({ x: Number(e) || 0, y: Number(t) || 0, assets: i }); } -async function rs(e, t) { - if (!ye.DELETE_CONFIRMATION) return !0; +async function as(e, t) { + if (!fe.DELETE_CONFIRMATION) return !0; const n = e > 1 ? m("dialog.deleteSelectedFiles", "Delete {count} selected files?", { count: e }) : m("dialog.deleteSingleFile", 'Delete "{label}"?', { label: String(t || m("label.thisFile", "this file")) }); - return bi(n, m("dialog.confirmDeleteTitle", "Majoor: Confirm delete")); + return yi(n, m("dialog.confirmDeleteTitle", "Majoor: Confirm delete")); } -const CZ = /* @__PURE__ */ new Set([ +const WZ = /* @__PURE__ */ new Set([ "CON", "PRN", "AUX", @@ -9664,16 +9679,16 @@ const CZ = /* @__PURE__ */ new Set([ "LPT7", "LPT8", "LPT9" -]), hu = 255; -function id(e) { +]), Zu = 255; +function rd(e) { try { const t = String(e ?? "").trim(); if (!t) return { valid: !1, reason: "Filename cannot be empty" }; - if (t.length > hu) + if (t.length > Zu) return { valid: !1, - reason: `Filename is too long (max ${hu} characters)` + reason: `Filename is too long (max ${Zu} characters)` }; if (t.includes("/") || t.includes("\\")) return { valid: !1, reason: "Filename cannot contain path separators" }; @@ -9687,34 +9702,34 @@ function id(e) { if (t.endsWith(".") || t.endsWith(" ")) return { valid: !1, reason: "Filename cannot end with a dot or space" }; const n = t.split(".")[0].toUpperCase(); - return CZ.has(n) ? { valid: !1, reason: "Filename uses a reserved Windows name" } : { valid: !0, reason: "" }; + return WZ.has(n) ? { valid: !1, reason: "Filename uses a reserved Windows name" } : { valid: !0, reason: "" }; } catch (t) { return { valid: !1, reason: String(t || "Invalid filename") }; } } -function OI(e) { +function zI(e) { try { return String(e ?? "").trim(); } catch { return ""; } } -function Cu(e) { - const t = OI(e); +function Au(e) { + const t = zI(e); if (!t) return { stem: "", ext: "" }; const n = t.lastIndexOf("."); return n <= 0 || n === t.length - 1 ? { stem: t, ext: "" } : { stem: t.slice(0, n), ext: t.slice(n) }; } -function od(e, t) { - const n = OI(e); +function ld(e, t) { + const n = zI(e); if (!n) return ""; - const i = Cu(t); - return !Cu(n).ext && i.ext ? `${n}${i.ext}` : n; + const i = Au(t); + return !Au(n).ext && i.ext ? `${n}${i.ext}` : n; } -const ZZ = 350, pl = /* @__PURE__ */ new Map(); -function AZ(e) { +const wZ = 350, yl = /* @__PURE__ */ new Map(); +function MZ(e) { var n, i, o, r; - const t = pl.get(e); + const t = yl.get(e); if (t) { try { clearTimeout(t.timer); @@ -9726,17 +9741,17 @@ function AZ(e) { } catch (l) { (r = console.debug) == null || r.call(console, l); } - pl.delete(e); + yl.delete(e); } } -function zI(e) { - e && AZ(String(e)); +function JI(e) { + e && MZ(String(e)); } -function JI() { - for (const e of Array.from(pl.keys())) - zI(e); +function TI() { + for (const e of Array.from(yl.keys())) + JI(e); } -function TI(e, t, { +function BI(e, t, { onSuccess: n, onFailure: i, successMessage: o = null, @@ -9744,23 +9759,23 @@ function TI(e, t, { warnPrefix: l = "[RatingUpdater]" } = {}) { if (!e) return; - zI(e); + JI(e); const a = new AbortController(), c = setTimeout(async () => { - pl.delete(String(e)); + yl.delete(String(e)); try { - const s = await Do(e, t, { signal: a.signal }); + const s = await Ho(e, t, { signal: a.signal }); if (!(s != null && s.ok)) { - Ce((s == null ? void 0 : s.error) || r || "Failed to update rating", "error"), i == null || i(s); + Ze((s == null ? void 0 : s.error) || r || "Failed to update rating", "error"), i == null || i(s); return; } - o && Ce(o, "success", 1500), n == null || n(s); + o && Ze(o, "success", 1500), n == null || n(s); } catch (s) { - li(s, l, { showToast: !0 }), i == null || i(s); + ai(s, l, { showToast: !0 }), i == null || i(s); } - }, ZZ); - pl.set(String(e), { timer: c, controller: a }); + }, wZ); + yl.set(String(e), { timer: c, controller: a }); } -function Zu() { +function Wu() { return { open: !1, x: 0, @@ -9769,11 +9784,11 @@ function Zu() { title: "" }; } -const Kt = js({ +const Kt = Ls({ portalOwnerId: "", mountedPortalIds: [], - main: Zu(), - submenu: Zu(), + main: Wu(), + submenu: Wu(), tags: { open: !1, x: 0, @@ -9782,11 +9797,11 @@ const Kt = js({ onChanged: null } }); -let WZ = 1; -function BI(e) { +let SZ = 1; +function UI(e) { e && (e.open = !1, e.x = 0, e.y = 0, e.items = [], e.title = ""); } -function wZ(e = "") { +function GZ(e = "") { var t; try { window.dispatchEvent( @@ -9796,11 +9811,11 @@ function wZ(e = "") { (t = console.debug) == null || t.call(console, n); } } -function MZ() { - const e = `mjr-viewer-context-menu-portal-${WZ++}`; +function xZ() { + const e = `mjr-viewer-context-menu-portal-${SZ++}`; return Kt.mountedPortalIds.push(e), Kt.portalOwnerId || (Kt.portalOwnerId = e), e; } -function SZ(e) { +function jZ(e) { const t = Kt.mountedPortalIds.filter((n) => n !== e); Kt.mountedPortalIds.splice( 0, @@ -9808,31 +9823,31 @@ function SZ(e) { ...t ), Kt.portalOwnerId === e && (Kt.portalOwnerId = Kt.mountedPortalIds[0] || ""); } -function GZ(e) { +function vZ(e) { return String(Kt.portalOwnerId || "") === String(e || ""); } -function xZ({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { - wZ("viewer"), KI(), ur(), Kt.main.open = !0, Kt.main.x = Number(e) || 0, Kt.main.y = Number(t) || 0, Kt.main.items = Array.isArray(n) ? n.filter(Boolean) : [], Kt.main.title = String(i || ""); -} -function UI() { - BI(Kt.main), ur(); -} -function jZ({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { - Kt.submenu.open = !0, Kt.submenu.x = Number(e) || 0, Kt.submenu.y = Number(t) || 0, Kt.submenu.items = Array.isArray(n) ? n.filter(Boolean) : [], Kt.submenu.title = String(i || ""); -} -function ur() { - BI(Kt.submenu); -} -function vZ({ x: e = 0, y: t = 0, asset: n = null, onChanged: i = null } = {}) { - UI(), Kt.tags.open = !!n, Kt.tags.x = Number(e) || 0, Kt.tags.y = Number(t) || 0, Kt.tags.asset = n || null, Kt.tags.onChanged = typeof i == "function" ? i : null; +function LZ({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { + GZ("viewer"), DI(), gr(), Kt.main.open = !0, Kt.main.x = Number(e) || 0, Kt.main.y = Number(t) || 0, Kt.main.items = Array.isArray(n) ? n.filter(Boolean) : [], Kt.main.title = String(i || ""); } function KI() { + UI(Kt.main), gr(); +} +function VZ({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { + Kt.submenu.open = !0, Kt.submenu.x = Number(e) || 0, Kt.submenu.y = Number(t) || 0, Kt.submenu.items = Array.isArray(n) ? n.filter(Boolean) : [], Kt.submenu.title = String(i || ""); +} +function gr() { + UI(Kt.submenu); +} +function YZ({ x: e = 0, y: t = 0, asset: n = null, onChanged: i = null } = {}) { + KI(), Kt.tags.open = !!n, Kt.tags.x = Number(e) || 0, Kt.tags.y = Number(t) || 0, Kt.tags.asset = n || null, Kt.tags.onChanged = typeof i == "function" ? i : null; +} +function DI() { Kt.tags.open = !1, Kt.tags.x = 0, Kt.tags.y = 0, Kt.tags.asset = null, Kt.tags.onChanged = null; } -function jo() { - UI(), KI(); +function Lo() { + KI(), DI(); } -const so = { +const mo = { COPY_PATH: "Ctrl+Shift+C", DOWNLOAD: "Ctrl+S", OPEN_IN_FOLDER: "Ctrl+Shift+E", @@ -9841,14 +9856,14 @@ const so = { RATING_SUBMENU: "1-5", RENAME: "F2", DELETE: "Del" -}, Au = ["B", "KB", "MB", "GB", "TB"], aa = /* @__PURE__ */ new WeakMap(); -let LZ = 1; -function DI(e = "viewer-menu-item") { - return `${e}-${LZ++}`; +}, wu = ["B", "KB", "MB", "GB", "TB"], ca = /* @__PURE__ */ new WeakMap(); +let kZ = 1; +function EI(e = "viewer-menu-item") { + return `${e}-${kZ++}`; } -function Si(e, t, n, i, o = {}) { +function ji(e, t, n, i, o = {}) { return { - id: DI(), + id: EI(), type: "item", label: String(e || ""), iconClass: t ? String(t) : "", @@ -9859,13 +9874,13 @@ function Si(e, t, n, i, o = {}) { submenu: Array.isArray(o.submenu) ? o.submenu.filter(Boolean) : null }; } -function ca() { +function sa() { return { - id: DI("viewer-menu-separator"), + id: EI("viewer-menu-separator"), type: "separator" }; } -function YZ(e) { +function XZ(e) { const t = String(e || "").trim(); if (!t) return !1; if (t.startsWith("/")) return !0; @@ -9876,7 +9891,7 @@ function YZ(e) { return !1; } } -function Wu(e, t, n) { +function Mu(e, t, n) { var o, r; const i = e == null ? void 0 : e.id; try { @@ -9890,100 +9905,100 @@ function Wu(e, t, n) { (r = console.debug) == null || r.call(console, l); } if (i) { - TI(String(i), t, { + BI(String(i), t, { successMessage: t > 0 ? `Rating set to ${t} stars` : "Rating cleared", errorMessage: "Failed to update rating", warnPrefix: "[ViewerContextMenu]", onSuccess: () => { - ii( - Ri, + oi( + Fi, { assetId: String(i), rating: t }, { warnPrefix: "[ViewerContextMenu]" } ); }, onFailure: (l) => { - li(l, "[ViewerContextMenu] Rating update", { showToast: !0 }); + ai(l, "[ViewerContextMenu] Rating update", { showToast: !0 }); } }); return; } - Do(e, t).catch((l) => { - li(l, "[ViewerContextMenu] Rating update", { showToast: !0 }); + Ho(e, t).catch((l) => { + ai(l, "[ViewerContextMenu] Rating update", { showToast: !0 }); }); } -function VZ(e) { +function NZ(e) { let t = Number(e); if (!Number.isFinite(t) || t < 0) return ""; let n = 0; - for (; t >= 1024 && n < Au.length - 1; ) + for (; t >= 1024 && n < wu.length - 1; ) t /= 1024, n += 1; - return `${n === 0 ? `${Math.round(t)}` : t.toFixed(2)} ${Au[n]}`; + return `${n === 0 ? `${Math.round(t)}` : t.toFixed(2)} ${wu[n]}`; } -function kZ(e, t, n) { +function RZ(e, t, n) { const i = [5, 4, 3, 2, 1].map( - (o) => Si( + (o) => ji( `${o} Stars`, "pi pi-star", null, async () => { - Wu(e, o, t); + Mu(e, o, t); }, { disabled: !n } ) ); - return i.push(ca()), i.push( - Si( + return i.push(sa()), i.push( + ji( m("ctx.resetRating", "Reset rating"), "pi pi-star", "0", async () => { - Wu(e, 0, t); + Mu(e, 0, t); }, { disabled: !n } ) ), i; } -function XZ({ +function FZ({ asset: e, event: t, getCurrentViewUrl: n, onAssetChanged: i }) { - const o = typeof n == "function" ? n(e) : Bi(e), r = !!(e != null && e.id || e != null && e.filepath); + const o = typeof n == "function" ? n(e) : Ki(e), r = !!(e != null && e.id || e != null && e.filepath); return [ - Si( + ji( m("ctx.openInNewTab", "Open in New Tab"), "pi pi-external-link", null, async () => { - YZ(o) && window.open(o, "_blank", "noopener,noreferrer"); + XZ(o) && window.open(o, "_blank", "noopener,noreferrer"); } ), - Si( + ji( m("ctx.copyPath", "Copy path"), "pi pi-copy", - so.COPY_PATH, + mo.COPY_PATH, async () => { const a = e != null && e.filepath ? String(e.filepath) : ""; if (!a) { - Ce(m("toast.noFilePath"), "error"); + Ze(m("toast.noFilePath"), "error"); return; } try { - await navigator.clipboard.writeText(a), Ce(m("toast.pathCopied"), "success", 2e3); + await navigator.clipboard.writeText(a), Ze(m("toast.pathCopied"), "success", 2e3); } catch (c) { - console.error("[ViewerContextMenu] Copy failed:", c), Ce(m("toast.pathCopyFailed"), "error"); + console.error("[ViewerContextMenu] Copy failed:", c), Ze(m("toast.pathCopyFailed"), "error"); } } ), - Si( + ji( m("ctx.downloadOriginal", "Download Original"), "pi pi-download", - so.DOWNLOAD, + mo.DOWNLOAD, async () => { if (!e || !e.filepath) return; - const a = Da(e.filepath), c = document.createElement("a"); - c.href = a, c.download = e.filename, document.body.appendChild(c), c.click(), document.body.removeChild(c), Ce( + const a = Ea(e.filepath), c = document.createElement("a"); + c.href = a, c.download = e.filename, document.body.appendChild(c), c.click(), document.body.removeChild(c), Ze( m("toast.downloadingFile", "Downloading {filename}...", { filename: e.filename }), @@ -9993,23 +10008,23 @@ function XZ({ }, { disabled: !(e != null && e.filepath) } ), - Si( + ji( m("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", - so.OPEN_IN_FOLDER, + mo.OPEN_IN_FOLDER, async () => { - const a = await Rs(e); - a != null && a.ok ? Ce(m("toast.openedInFolder"), "info", 2e3) : Ce((a == null ? void 0 : a.error) || m("toast.openFolderFailed"), "error"); + const a = await Os(e); + a != null && a.ok ? Ze(m("toast.openedInFolder"), "info", 2e3) : Ze((a == null ? void 0 : a.error) || m("toast.openFolderFailed"), "error"); }, { disabled: !(e != null && e.id || e != null && e.filepath) } ), - Si( + ji( m("ctx.addToCollection", "Add to collection"), "pi pi-bookmark", - so.ADD_TO_COLLECTION, + mo.ADD_TO_COLLECTION, async () => { try { - await nd({ + await od({ x: t == null ? void 0 : t.clientX, y: t == null ? void 0 : t.clientY, assets: [e] @@ -10019,20 +10034,20 @@ function XZ({ } } ), - ca(), - Si( + sa(), + ji( m("ctx.editTags", "Edit tags"), "pi pi-tags", - so.EDIT_TAGS, + mo.EDIT_TAGS, async () => { - vZ({ + YZ({ x: (Number(t == null ? void 0 : t.clientX) || 0) + 6, y: (Number(t == null ? void 0 : t.clientY) || 0) + 6, asset: e, onChanged: (a) => { var c; - e.tags = a, ii( - Uo, + e.tags = a, oi( + Do, { assetId: String(e.id), tags: a }, { warnPrefix: "[ViewerContextMenu]" } ); @@ -10046,19 +10061,19 @@ function XZ({ }, { closeOnSelect: !1 } ), - ca(), - Si( + sa(), + ji( m("ctx.setRating", "Set rating"), "pi pi-star", - `${so.RATING_SUBMENU} >`, + `${mo.RATING_SUBMENU} >`, null, { disabled: !r, closeOnSelect: !1, - submenu: kZ(e, i, r) + submenu: RZ(e, i, r) } ), - Si( + ji( m("ctx.refreshMetadata", "Refresh metadata"), "pi pi-sync", "R", @@ -10066,9 +10081,9 @@ function XZ({ var a; if (e != null && e.id) try { - const c = await Bg(e.id, { refresh: !0 }); + const c = await Ug(e.id, { refresh: !0 }); if (!(c != null && c.ok) || !(c != null && c.data)) { - Ce( + Ze( (c == null ? void 0 : c.error) || m("toast.metadataRefreshFailed", "Failed to refresh metadata."), "error" ); @@ -10076,72 +10091,72 @@ function XZ({ } const s = c.data; try { - ii( - eI, + oi( + tI, { assetId: String(e.id), info: s }, { warnPrefix: "[ViewerContextMenu]" } ); } catch (p) { (a = console.debug) == null || a.call(console, p); } - const d = [], u = VZ(s == null ? void 0 : s.size_bytes); + const d = [], u = NZ(s == null ? void 0 : s.size_bytes); u && d.push(u), s != null && s.mime && d.push(s.mime); const I = d.length ? ` (${d.join(", ")})` : ""; - Ce( + Ze( m("toast.metadataRefreshed", "Metadata refreshed{suffix}", { suffix: I }), "success", 3e3 ); } catch (c) { - li(c, "[ViewerContextMenu] Metadata refresh", { + ai(c, "[ViewerContextMenu] Metadata refresh", { showToast: !0 }); } }, { disabled: !(e != null && e.id) } ), - ca(), - Si( + sa(), + ji( m("ctx.rename", "Rename"), "pi pi-pencil", - so.RENAME, + mo.RENAME, async () => { var u, I; if (!(e != null && e.id || e != null && e.filepath)) return; - const a = e.filename || "", c = await ji( + const a = e.filename || "", c = await Vi( m("dialog.rename.title", "Rename file"), a - ), s = od(c, a); + ), s = ld(c, a); if (!s || s === a) return; - const d = id(s); + const d = rd(s); if (!d.valid) { - Ce(d.reason, "error"); + Ze(d.reason, "error"); return; } try { - const p = await Fs(e, s); + const p = await zs(e, s); if (p != null && p.ok) { - const M = (u = p == null ? void 0 : p.data) == null ? void 0 : u.asset; - M && typeof M == "object" ? Object.assign(e, M) : (e.filename = s, e.filepath = e.filepath.replace(/[^\\/]+$/, s), e.path && (e.path = String(e.path).replace(/[^\\/]+$/, s)), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = s, e.file_info.filepath && (e.file_info.filepath = String( + const S = (u = p == null ? void 0 : p.data) == null ? void 0 : u.asset; + S && typeof S == "object" ? Object.assign(e, S) : (e.filename = s, e.filepath = e.filepath.replace(/[^\\/]+$/, s), e.path && (e.path = String(e.path).replace(/[^\\/]+$/, s)), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = s, e.file_info.filepath && (e.file_info.filepath = String( e.file_info.filepath ).replace(/[^\\/]+$/, s)), e.file_info.path && (e.file_info.path = String(e.file_info.path).replace( /[^\\/]+$/, s - )))), Ce(m("toast.fileRenamedSuccess"), "success"); + )))), Ze(m("toast.fileRenamedSuccess"), "success"); try { window.dispatchEvent( new CustomEvent("mjr:reload-grid", { detail: { reason: "viewer-rename" } }) ); - } catch (Z) { - (I = console.debug) == null || I.call(console, Z); + } catch (A) { + (I = console.debug) == null || I.call(console, A); } i == null || i(); } else - Ce((p == null ? void 0 : p.error) || m("toast.fileRenameFailed"), "error"); + Ze((p == null ? void 0 : p.error) || m("toast.fileRenameFailed"), "error"); } catch (p) { - Ce( + Ze( m("toast.errorRenaming", "Error renaming file: {error}", { error: (p == null ? void 0 : p.message) || String(p || "") }), @@ -10151,17 +10166,17 @@ function XZ({ }, { disabled: !(e != null && e.id || e != null && e.filepath) } ), - Si( + ji( m("ctx.delete", "Delete"), "pi pi-trash", - so.DELETE, + mo.DELETE, async () => { - if (!(!(e != null && e.id || e != null && e.filepath) || !await rs(1, e == null ? void 0 : e.filename))) + if (!(!(e != null && e.id || e != null && e.filepath) || !await as(1, e == null ? void 0 : e.filename))) try { - const c = await Ma(e); - c != null && c.ok ? (Ce(m("toast.fileDeletedSuccess"), "success"), i == null || i()) : Ce((c == null ? void 0 : c.error) || m("toast.fileDeleteFailed"), "error"); + const c = await Sa(e); + c != null && c.ok ? (Ze(m("toast.fileDeletedSuccess"), "success"), i == null || i()) : Ze((c == null ? void 0 : c.error) || m("toast.fileDeleteFailed"), "error"); } catch (c) { - Ce( + Ze( m("toast.errorDeleting", "Error deleting file: {error}", { error: (c == null ? void 0 : c.message) || String(c || "") }), @@ -10173,24 +10188,24 @@ function XZ({ ) ]; } -function NZ({ +function OZ({ overlayEl: e, getCurrentAsset: t, getCurrentViewUrl: n, onAssetChanged: i } = {}) { if (!e || typeof t != "function") return; - const o = aa.get(e); + const o = ca.get(e); if (typeof (o == null ? void 0 : o.unbind) == "function") return o.unbind; const r = async (a) => { if (!e.contains(a.target)) return; a.preventDefault(), a.stopPropagation(); const c = t(); - c && xZ({ + c && LZ({ x: a.clientX, y: a.clientY, - items: XZ({ + items: FZ({ asset: c, event: a, getCurrentViewUrl: n, @@ -10211,40 +10226,40 @@ function NZ({ (a = console.debug) == null || a.call(console, d); } try { - JI(); + TI(); const d = globalThis == null ? void 0 : globalThis._ratingDebounceTimers; d && typeof d.clear == "function" && d.clear(); } catch (d) { (c = console.debug) == null || c.call(console, d); } try { - jo(); + Lo(); } catch (d) { (s = console.debug) == null || s.call(console, d); } - aa.delete(e); + ca.delete(e); }; - return aa.set(e, { unbind: l }), l; + return ca.set(e, { unbind: l }), l; } -function RZ(e) { +function zZ(e) { var n, i; - const t = e ? aa.get(e) : null; + const t = e ? ca.get(e) : null; try { (n = t == null ? void 0 : t.unbind) == null || n.call(t); } catch (o) { (i = console.debug) == null || i.call(console, o); } } -const Qi = () => { +const eo = () => { }; -function ls(e) { +function cs(e) { try { - return !!(ye != null && ye[e]); + return !!(fe != null && fe[e]); } catch { return !1; } } -function as(e, t) { +function ss(e, t) { var n; try { console.warn(`[Majoor] ${e}`, t); @@ -10252,15 +10267,15 @@ function as(e, t) { (n = console.debug) == null || n.call(console, i); } } -function pt(e, t = "safeCall") { +function bt(e, t = "safeCall") { try { return e == null ? void 0 : e(); } catch (n) { - ls("DEBUG_SAFE_CALL") && as(t, n); + cs("DEBUG_SAFE_CALL") && ss(t, n); return; } } -function _e(e, t, n, i, o = "safeAddListener") { +function Qe(e, t, n, i, o = "safeAddListener") { var r; try { return (r = e == null ? void 0 : e.addEventListener) == null || r.call(e, t, n, i), () => { @@ -10268,22 +10283,22 @@ function _e(e, t, n, i, o = "safeAddListener") { try { (l = e == null ? void 0 : e.removeEventListener) == null || l.call(e, t, n, i); } catch (a) { - ls("DEBUG_SAFE_LISTENERS") && as(`${o}:remove:${String(t || "")}`, a); + cs("DEBUG_SAFE_LISTENERS") && ss(`${o}:remove:${String(t || "")}`, a); } }; } catch (l) { - return ls("DEBUG_SAFE_LISTENERS") && as(`${o}:add:${String(t || "")}`, l), Qi; + return cs("DEBUG_SAFE_LISTENERS") && ss(`${o}:add:${String(t || "")}`, l), eo; } } function In(e) { const t = Number(e); return Number.isFinite(t) ? Math.max(0, Math.min(1, t)) : 0; } -function uo(e, t, n) { +function go(e, t, n) { const i = Number(e); return Number.isFinite(i) ? Math.max(Number(t), Math.min(Number(n), i)) : Number(t); } -function FZ() { +function JZ() { return { assets: [], currentIndex: 0, @@ -10340,7 +10355,7 @@ function FZ() { _scopesLastAt: 0 }; } -function bo(e) { +function yo(e) { try { const t = Number(e); if (Number.isFinite(t) && t > 0) return t; @@ -10359,15 +10374,15 @@ function bo(e) { return null; } } -function EI(e) { +function HI(e) { try { const t = (e == null ? void 0 : e.metadata_raw) || {}, n = (t == null ? void 0 : t.raw_ffprobe) || {}, i = (n == null ? void 0 : n.video_stream) || {}; - return bo(e == null ? void 0 : e.fps) ?? bo(t == null ? void 0 : t.fps) ?? bo(t == null ? void 0 : t.frame_rate) ?? bo(i == null ? void 0 : i.avg_frame_rate) ?? bo(i == null ? void 0 : i.r_frame_rate); + return yo(e == null ? void 0 : e.fps) ?? yo(t == null ? void 0 : t.fps) ?? yo(t == null ? void 0 : t.frame_rate) ?? yo(i == null ? void 0 : i.avg_frame_rate) ?? yo(i == null ? void 0 : i.r_frame_rate); } catch { return null; } } -function HI(e, t) { +function qI(e, t) { var n; try { const i = (e == null ? void 0 : e.metadata_raw) || {}, o = (i == null ? void 0 : i.raw_ffprobe) || {}, r = (o == null ? void 0 : o.video_stream) || {}, l = Number(e == null ? void 0 : e.frame_count) || Number(i == null ? void 0 : i.frame_count) || Number(i == null ? void 0 : i.frames) || Number(r == null ? void 0 : r.nb_frames) || Number(r == null ? void 0 : r.nb_read_frames) || 0; @@ -10380,21 +10395,21 @@ function HI(e, t) { } return null; } -function OZ(e) { +function TZ(e) { const t = Number(e); return !Number.isFinite(t) || t <= 0 ? "" : Math.abs(t - Math.round(t)) < 1e-3 ? `${Math.round(t)} fps` : `${t.toFixed(3).replace(/\.?0+$/, "")} fps`; } -function Hi(e, t = 30) { - const n = bo(e); +function Qi(e, t = 30) { + const n = yo(e); if (n != null) return Math.max(1, Math.round(n * 1e3) / 1e3); - const i = bo(t); + const i = yo(t); return i != null ? Math.max(1, Math.round(i * 1e3) / 1e3) : 30; } -const zZ = 400, JZ = 1e3, TZ = 220; -function BZ(e, t, n) { +const BZ = 400, UZ = 1e3, KZ = 220; +function DZ(e, t, n) { var i, o; try { - if (e != null && e.aborted) return Qi; + if (e != null && e.aborted) return eo; const r = setTimeout( () => { var a; @@ -10433,20 +10448,20 @@ function BZ(e, t, n) { } }; } catch { - return Qi; + return eo; } } -function yc(e) { +function fc(e) { const t = Math.floor(Number(e) || 0); return t < 10 ? `0${t}` : String(t); } -function wu(e) { +function Su(e) { const t = Number(e); if (!Number.isFinite(t) || t < 0) return "0:00"; const n = Math.floor(t), i = Math.floor(n / 3600), o = Math.floor(n % 3600 / 60), r = n % 60; - return i > 0 ? `${i}:${yc(o)}:${yc(r)}` : `${o}:${yc(r)}`; + return i > 0 ? `${i}:${fc(o)}:${fc(r)}` : `${o}:${fc(r)}`; } -function So(e, t, n) { +function xo(e, t, n) { var o; const i = document.createElement("button"); i.type = "button", i.className = `mjr-video-btn ${e || ""}`.trim(), n && (i.title = n); @@ -10457,7 +10472,7 @@ function So(e, t, n) { } return i.textContent = t, i; } -function Mu(e, t, n, i) { +function Gu(e, t, n, i) { var l; const o = document.createElement("button"); o.type = "button", o.className = `mjr-video-btn ${e || ""}`.trim(), n && (o.title = n); @@ -10469,18 +10484,18 @@ function Mu(e, t, n, i) { const r = document.createElement("span"); return r.className = `pi ${t || ""}`.trim(), r.setAttribute("aria-hidden", "true"), o.appendChild(r), { btn: o, icon: r }; } -function Ol(e, { min: t, max: n, step: i, value: o, title: r, ariaLabel: l, widthPx: a } = {}) { +function zl(e, { min: t, max: n, step: i, value: o, title: r, ariaLabel: l, widthPx: a } = {}) { const c = document.createElement("input"); return c.type = "number", c.className = `mjr-video-num ${e || ""}`.trim(), r && (c.title = r), l && c.setAttribute("aria-label", l), t != null && (c.min = String(t)), n != null && (c.max = String(n)), i != null && (c.step = String(i)), o != null && (c.value = String(o)), a != null && (c.style.width = `${a}px`), c; } -function UZ(e) { +function EZ(e) { try { return (e == null ? void 0 : e.variant) === "preview" ? "preview" : (e == null ? void 0 : e.variant) === "viewerbar" ? "viewerbar" : "viewer"; } catch { return "viewer"; } } -function KZ(e) { +function HZ(e) { try { const t = Number(e == null ? void 0 : e.initialFps); return Number.isFinite(t) && t > 0 ? t : null; @@ -10488,246 +10503,246 @@ function KZ(e) { return null; } } -function DZ(e, t) { - var s, d, u, I, p, M, Z; +function qZ(e, t) { + var s, d, u, I, p, S, A; const n = []; try { e.controls = !1, e.loop = !0, e.muted = !0, e.playsInline = !0, e.autoplay = !0; - } catch (A) { - (s = console.debug) == null || s.call(console, A); + } catch (C) { + (s = console.debug) == null || s.call(console, C); } const i = document.createElement("div"); i.className = "mjr-video-controls mjr-video-controls--preview"; try { i.setAttribute("role", "group"), i.setAttribute("aria-label", m("video.previewControls", "Video preview controls")); - } catch (A) { - (d = console.debug) == null || d.call(console, A); + } catch (C) { + (d = console.debug) == null || d.call(console, C); } const o = document.createElement("button"); o.type = "button", o.className = "mjr-video-preview-btn", o.title = m("video.playPause", "Play/Pause"); try { o.setAttribute("aria-label", m("video.playPause", "Play/Pause")); - } catch (A) { - (u = console.debug) == null || u.call(console, A); + } catch (C) { + (u = console.debug) == null || u.call(console, C); } const r = document.createElement("span"); r.className = "pi pi-play"; try { r.setAttribute("aria-hidden", "true"); - } catch (A) { - (I = console.debug) == null || I.call(console, A); + } catch (C) { + (I = console.debug) == null || I.call(console, C); } o.appendChild(r), i.appendChild(o); const l = () => { - var A; + var C; try { const g = !!(e != null && e.paused); r.className = `pi ${g ? "pi-play" : "pi-pause"}`; } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } }, a = () => { - var A, g; + var C, g; try { - const h = (A = e.play) == null ? void 0 : A.call(e); - h && typeof h.catch == "function" && h.catch(() => { + const Z = (C = e.play) == null ? void 0 : C.call(e); + Z && typeof Z.catch == "function" && Z.catch(() => { }); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } - }, c = (A) => { - var g, h, f, b; + }, c = (C) => { + var g, Z, f, b; try { - (g = A == null ? void 0 : A.stopPropagation) == null || g.call(A); - } catch (v) { - (h = console.debug) == null || h.call(console, v); + (g = C == null ? void 0 : C.stopPropagation) == null || g.call(C); + } catch (L) { + (Z = console.debug) == null || Z.call(console, L); } try { e.paused ? a() : (f = e.pause) == null || f.call(e); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } l(); }; try { t.appendChild(i); - } catch (A) { - (p = console.debug) == null || p.call(console, A); + } catch (C) { + (p = console.debug) == null || p.call(console, C); } try { a(); - } catch (A) { - (M = console.debug) == null || M.call(console, A); + } catch (C) { + (S = console.debug) == null || S.call(console, C); } - n.push(_e(e, "loadedmetadata", () => a(), { passive: !0 })), n.push(_e(e, "canplay", () => a(), { passive: !0 })), n.push(_e(o, "click", c)), n.push(_e(e, "play", l, { passive: !0 })), n.push(_e(e, "pause", l, { passive: !0 })), n.push(_e(e, "ended", () => a(), { passive: !0 })); + n.push(Qe(e, "loadedmetadata", () => a(), { passive: !0 })), n.push(Qe(e, "canplay", () => a(), { passive: !0 })), n.push(Qe(o, "click", c)), n.push(Qe(e, "play", l, { passive: !0 })), n.push(Qe(e, "pause", l, { passive: !0 })), n.push(Qe(e, "ended", () => a(), { passive: !0 })); try { l(); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } return { controlsEl: i, destroy: () => { - var A, g, h; + var C, g, Z; try { - for (const f of n) pt(() => f == null ? void 0 : f()); + for (const f of n) bt(() => f == null ? void 0 : f()); } catch (f) { - (A = console.debug) == null || A.call(console, f); + (C = console.debug) == null || C.call(console, f); } try { (g = i.remove) == null || g.call(i); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } } }; } -function qI(e, t = {}) { +function PI(e, t = {}) { var n, i, o, r, l, a, c; try { - const s = UZ(t), u = String((t == null ? void 0 : t.mediaKind) || "video").toLowerCase() === "audio", I = s === "viewerbar", p = s !== "preview" && !u, M = !0, Z = KZ(t), A = (t == null ? void 0 : t.hostEl) || (e == null ? void 0 : e.parentElement); - if (!e || !A) return { controlsEl: null, destroy: Qi }; + const s = EZ(t), u = String((t == null ? void 0 : t.mediaKind) || "video").toLowerCase() === "audio", I = s === "viewerbar", p = s !== "preview" && !u, S = !0, A = HZ(t), C = (t == null ? void 0 : t.hostEl) || (e == null ? void 0 : e.parentElement); + if (!e || !C) return { controlsEl: null, destroy: eo }; if (s === "preview") - return DZ(e, A); + return qZ(e, C); try { e.loop = !1; } catch (re) { (n = console.debug) == null || n.call(console, re); } - pt(() => { + bt(() => { var re; - return (re = A.classList) == null ? void 0 : re.add("mjr-video-host"); - }), pt(() => { + return (re = C.classList) == null ? void 0 : re.add("mjr-video-host"); + }), bt(() => { var re; return (re = e.classList) == null ? void 0 : re.add("mjr-video-el"); - }), pt(() => { - var ie; - const re = (ie = window.getComputedStyle) == null ? void 0 : ie.call(window, A); - (re == null ? void 0 : re.position) === "static" && (A.style.position = "relative"); + }), bt(() => { + var ne; + const re = (ne = window.getComputedStyle) == null ? void 0 : ne.call(window, C); + (re == null ? void 0 : re.position) === "static" && (C.style.position = "relative"); }); const g = document.createElement("div"); g.className = `mjr-video-controls mjr-video-controls--${s}`, I && g.classList.add("mjr-video-controls--modern"), g.setAttribute("role", "group"), g.setAttribute( "aria-label", u ? m("video.audioControls", "Audio controls") : m("video.controls", "Video controls") ); - const h = document.createElement("div"); - h.className = "mjr-video-row mjr-video-row--top"; + const Z = document.createElement("div"); + Z.className = "mjr-video-row mjr-video-row--top"; const f = document.createElement("div"); - f.className = "mjr-video-row mjr-video-row--bottom", g.appendChild(h), g.appendChild(f); + f.className = "mjr-video-row mjr-video-row--bottom", g.appendChild(Z), g.appendChild(f); const b = document.createElement("div"); b.className = "mjr-video-seek-wrap"; - const v = document.createElement("input"); - v.className = "mjr-video-range mjr-video-range--seek", v.type = "range", v.min = "0", v.max = String(JZ), v.step = "1", v.value = "0", v.setAttribute("aria-label", m("video.seek", "Seek")), v.title = u ? m("video.seekThroughAudio", "Seek through audio") : m("video.seekThrough", "Seek through video"); - const C = document.createElement("div"); - C.className = "mjr-video-seek-overlay"; - let S = null, W = null, y = null, k = null; - p && (S = document.createElement("div"), S.className = "mjr-video-seek-zones", W = document.createElement("div"), W.className = "mjr-video-seek-zone mjr-video-seek-zone--leftTrim", y = document.createElement("div"), y.className = "mjr-video-seek-zone mjr-video-seek-zone--selected", k = document.createElement("div"), k.className = "mjr-video-seek-zone mjr-video-seek-zone--rightTrim", S.appendChild(W), S.appendChild(y), S.appendChild(k)); - const G = document.createElement("div"); - G.className = "mjr-video-seek-ticks"; - const z = document.createElement("div"); - z.className = "mjr-video-seek-labels"; + const L = document.createElement("input"); + L.className = "mjr-video-range mjr-video-range--seek", L.type = "range", L.min = "0", L.max = String(UZ), L.step = "1", L.value = "0", L.setAttribute("aria-label", m("video.seek", "Seek")), L.title = u ? m("video.seekThroughAudio", "Seek through audio") : m("video.seekThrough", "Seek through video"); + const h = document.createElement("div"); + h.className = "mjr-video-seek-overlay"; + let G = null, W = null, y = null, X = null; + p && (G = document.createElement("div"), G.className = "mjr-video-seek-zones", W = document.createElement("div"), W.className = "mjr-video-seek-zone mjr-video-seek-zone--leftTrim", y = document.createElement("div"), y.className = "mjr-video-seek-zone mjr-video-seek-zone--selected", X = document.createElement("div"), X.className = "mjr-video-seek-zone mjr-video-seek-zone--rightTrim", G.appendChild(W), G.appendChild(y), G.appendChild(X)); const x = document.createElement("div"); - x.className = "mjr-video-seek-mark mjr-video-seek-mark--in"; + x.className = "mjr-video-seek-ticks"; + const T = document.createElement("div"); + T.className = "mjr-video-seek-labels"; + const v = document.createElement("div"); + v.className = "mjr-video-seek-mark mjr-video-seek-mark--in"; const w = document.createElement("div"); w.className = "mjr-video-seek-mark mjr-video-seek-mark--out"; - const X = document.createElement("div"); - X.className = "mjr-video-seek-playhead"; - const V = document.createElement("div"); - V.className = "mjr-video-seek-playhead-label", C.appendChild(G), C.appendChild(z), C.appendChild(X), C.appendChild(V); const R = document.createElement("div"); - R.className = "mjr-video-seek-handle mjr-video-seek-handle--in", R.title = m("video.dragSetIn", "Drag to set In"), R.setAttribute("aria-label", m("video.dragSetIn", "Drag to set In")); - const j = document.createElement("div"); - j.className = "mjr-video-seek-handle mjr-video-seek-handle--out", j.title = m("video.dragSetOut", "Drag to set Out"), j.setAttribute("aria-label", m("video.dragSetOut", "Drag to set Out")), b.appendChild(v), S && b.appendChild(S), b.appendChild(C), b.appendChild(x), b.appendChild(w), b.appendChild(R), b.appendChild(j); - const L = document.createElement("span"); - L.className = "mjr-video-time", L.textContent = "0:00 / 0:00", L.title = m("video.currentTimeTotal", "Current time / Total duration"); - const N = document.createElement("span"); - N.className = "mjr-video-range-count", N.textContent = ""; + R.className = "mjr-video-seek-playhead"; + const Y = document.createElement("div"); + Y.className = "mjr-video-seek-playhead-label", h.appendChild(x), h.appendChild(T), h.appendChild(R), h.appendChild(Y); + const F = document.createElement("div"); + F.className = "mjr-video-seek-handle mjr-video-seek-handle--in", F.title = m("video.dragSetIn", "Drag to set In"), F.setAttribute("aria-label", m("video.dragSetIn", "Drag to set In")); + const N = document.createElement("div"); + N.className = "mjr-video-seek-handle mjr-video-seek-handle--out", N.title = m("video.dragSetOut", "Drag to set Out"), N.setAttribute("aria-label", m("video.dragSetOut", "Drag to set Out")), b.appendChild(L), G && b.appendChild(G), b.appendChild(h), b.appendChild(v), b.appendChild(w), b.appendChild(F), b.appendChild(N); + const V = document.createElement("span"); + V.className = "mjr-video-time", V.textContent = "0:00 / 0:00", V.title = m("video.currentTimeTotal", "Current time / Total duration"); + const k = document.createElement("span"); + k.className = "mjr-video-range-count", k.textContent = ""; try { - N.style.display = "none"; + k.style.display = "none"; } catch (re) { (i = console.debug) == null || i.call(console, re); } - const q = document.createElement("div"); - q.className = "mjr-video-timegroup", q.appendChild(L), p && q.appendChild(N); - const O = document.createElement("span"); - O.className = "mjr-video-frame", O.textContent = "F: 0", O.title = m("video.currentFrame", "Current frame number"); - const B = So( + const K = document.createElement("div"); + K.className = "mjr-video-timegroup", K.appendChild(V), p && K.appendChild(k); + const z = document.createElement("span"); + z.className = "mjr-video-frame", z.textContent = "F: 0", z.title = m("video.currentFrame", "Current frame number"); + const B = xo( "mjr-video-btn--play", m("btn.play", "Play"), m("video.playPauseSpace", "Play/Pause (Space)") - ), J = So( + ), J = xo( "mjr-video-btn--step", "<", m("video.stepBack", "Step back") - ), T = So( + ), P = xo( "mjr-video-btn--step", ">", m("video.stepForward", "Step forward") - ), D = So( + ), H = xo( "mjr-video-btn--jump mjr-video-btn--in", "|<", m("video.goToIn", "Go to In") - ), Q = So( + ), $ = xo( "mjr-video-btn--jump mjr-video-btn--out", ">|", m("video.goToOut", "Go to Out") - ), E = So( + ), E = xo( "mjr-video-btn--mark mjr-video-btn--in", "I", m("video.setInFromCurrent", "Set In from current frame") - ), K = So( + ), oe = xo( "mjr-video-btn--mark mjr-video-btn--out", "O", m("video.setOutFromCurrent", "Set Out from current frame") - ), F = Mu( + ), M = Gu( "mjr-video-btn--toggle", "pi-refresh", m("video.loopPlaybackInRange", "Loop playback in range"), m("video.loop", "Loop") - ), Y = F.btn, U = Ol("mjr-video-num--in", { + ), j = M.btn, O = zl("mjr-video-num--in", { min: 0, step: 1, value: 0, title: m("video.inFrame", "In frame"), ariaLabel: m("video.inFrame", "In frame"), widthPx: 72 - }), P = Ol("mjr-video-num--out", { + }), D = zl("mjr-video-num--out", { min: 0, step: 1, value: 0, title: m("video.outFrame", "Out frame"), ariaLabel: m("video.outFrame", "Out frame"), widthPx: 72 - }), ee = Ol("mjr-video-num--step", { + }), q = zl("mjr-video-num--step", { min: 1, step: 1, value: 1, title: m("video.frameIncrement", "Frame increment"), ariaLabel: m("video.frameIncrement", "Frame increment"), widthPx: 56 - }), oe = Ol("mjr-video-num--fps", { + }), ee = zl("mjr-video-num--fps", { min: 1, step: 1e-3, - value: Hi(Z || 30), + value: Qi(A || 30), title: m("video.fpsStepping", "FPS (used for frame stepping)"), ariaLabel: m("video.fps", "FPS"), widthPx: 56 }), ce = document.createElement("select"); ce.className = "mjr-video-num mjr-video-num--speed", ce.title = m("video.playbackSpeed", "Playback speed"), ce.setAttribute("aria-label", m("video.playbackSpeed", "Playback speed")), ce.style.width = "74px"; - const pe = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2]; - for (const re of pe) { - const ie = document.createElement("option"); - ie.value = String(re), ie.textContent = `${re}x`, ce.appendChild(ie); + const ue = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2]; + for (const re of ue) { + const ne = document.createElement("option"); + ne.value = String(re), ne.textContent = `${re}x`, ce.appendChild(ne); } - const H = Mu( + const U = Gu( "mjr-video-btn--mute", "pi-volume-up", m("video.mute", "Mute"), m("video.mute", "Mute") - ), $ = H.btn, _ = document.createElement("div"); + ), Q = U.btn, _ = document.createElement("div"); _.className = "mjr-video-volume-wrap", _.style.cssText = "display:none; align-items:center; position:relative;"; let le = null; - if (M) { + if (S) { le = document.createElement("input"), le.className = "mjr-video-range mjr-video-range--volume", le.type = "range", le.min = "0", le.max = "1", le.step = "0.02", le.value = String(In(Number(e.volume) || 0)), le.setAttribute("aria-label", m("video.volume", "Volume")), le.title = m("video.volume", "Volume"); try { le.style.width = "120px"; @@ -10736,103 +10751,103 @@ function qI(e, t = {}) { } _.appendChild(le); } - const se = document.createElement("div"); - se.className = "mjr-video-group mjr-video-group--in"; - const de = document.createElement("span"); - de.textContent = "In", de.title = m("video.resetInToStart", "Reset In to start"), de.style.cssText = "cursor:pointer; user-select:none;", p && (se.appendChild(de), se.appendChild(U)); - const Ze = document.createElement("div"); - Ze.className = "mjr-video-group mjr-video-group--out"; - const Fe = document.createElement("span"); - Fe.textContent = "Out", Fe.title = m("video.resetOutToEnd", "Reset Out to end"), Fe.style.cssText = "cursor:pointer; user-select:none;", p && (Ze.appendChild(Fe), Ze.appendChild(P)); - const xe = document.createElement("div"); - xe.className = "mjr-video-group mjr-video-group--adjust-left", p && (xe.appendChild(E), xe.appendChild(document.createTextNode(m("video.step", "Step"))), xe.appendChild(ee), xe.appendChild(document.createTextNode(m("video.fps", "FPS"))), xe.appendChild(oe), xe.appendChild(O)); - const ze = document.createElement("div"); - ze.className = "mjr-video-group mjr-video-group--adjust-right", p && (ze.appendChild(q), ze.appendChild(Y)); - const We = document.createElement("div"); - We.className = "mjr-video-group mjr-video-group--speed", We.appendChild(document.createTextNode(m("video.speed", "Speed"))), We.appendChild(ce); - const De = document.createElement("div"); - De.className = "mjr-video-bottom mjr-video-bottom--left"; - const Pe = document.createElement("div"); - Pe.className = "mjr-video-transport"; - const Qe = document.createElement("div"); - if (Qe.className = "mjr-video-bottom mjr-video-bottom--right", u || (Pe.appendChild(D), Pe.appendChild(J)), Pe.appendChild(B), u || (Pe.appendChild(T), Pe.appendChild(Q)), p && De.appendChild(xe), p && Qe.appendChild(ze), Qe.appendChild(We), Qe.appendChild($), p && Qe.appendChild(K), le && Qe.appendChild(_), I) { + const de = document.createElement("div"); + de.className = "mjr-video-group mjr-video-group--in"; + const se = document.createElement("span"); + se.textContent = "In", se.title = m("video.resetInToStart", "Reset In to start"), se.style.cssText = "cursor:pointer; user-select:none;", p && (de.appendChild(se), de.appendChild(O)); + const ge = document.createElement("div"); + ge.className = "mjr-video-group mjr-video-group--out"; + const je = document.createElement("span"); + je.textContent = "Out", je.title = m("video.resetOutToEnd", "Reset Out to end"), je.style.cssText = "cursor:pointer; user-select:none;", p && (ge.appendChild(je), ge.appendChild(D)); + const Se = document.createElement("div"); + Se.className = "mjr-video-group mjr-video-group--adjust-left", p && (Se.appendChild(E), Se.appendChild(document.createTextNode(m("video.step", "Step"))), Se.appendChild(q), Se.appendChild(document.createTextNode(m("video.fps", "FPS"))), Se.appendChild(ee), Se.appendChild(z)); + const ke = document.createElement("div"); + ke.className = "mjr-video-group mjr-video-group--adjust-right", p && (ke.appendChild(K), ke.appendChild(j)); + const we = document.createElement("div"); + we.className = "mjr-video-group mjr-video-group--speed", we.appendChild(document.createTextNode(m("video.speed", "Speed"))), we.appendChild(ce); + const Je = document.createElement("div"); + Je.className = "mjr-video-bottom mjr-video-bottom--left"; + const $e = document.createElement("div"); + $e.className = "mjr-video-transport"; + const qe = document.createElement("div"); + if (qe.className = "mjr-video-bottom mjr-video-bottom--right", u || ($e.appendChild(H), $e.appendChild(J)), $e.appendChild(B), u || ($e.appendChild(P), $e.appendChild($)), p && Je.appendChild(Se), p && qe.appendChild(ke), qe.appendChild(we), qe.appendChild(Q), p && qe.appendChild(oe), le && qe.appendChild(_), I) { const re = document.createElement("div"); - re.className = "mjr-video-bar-timeline", p && re.appendChild(se), re.appendChild(b), p && re.appendChild(Ze); - const ie = document.createElement("div"); - ie.className = "mjr-video-bar-actions"; - const me = document.createElement("div"); - me.className = "mjr-video-bar-side mjr-video-bar-side--left", p && me.appendChild(xe); - const Xe = document.createElement("div"); - Xe.className = "mjr-video-bar-center", Xe.appendChild(Pe); - const qe = document.createElement("div"); - qe.className = "mjr-video-bar-side mjr-video-bar-side--right", p && qe.appendChild(ze), qe.appendChild(We), qe.appendChild($), p && qe.appendChild(K), le && qe.appendChild(_), ie.appendChild(me), ie.appendChild(Xe), ie.appendChild(qe), g.replaceChildren(re, ie); + re.className = "mjr-video-bar-timeline", p && re.appendChild(de), re.appendChild(b), p && re.appendChild(ge); + const ne = document.createElement("div"); + ne.className = "mjr-video-bar-actions"; + const Ie = document.createElement("div"); + Ie.className = "mjr-video-bar-side mjr-video-bar-side--left", p && Ie.appendChild(Se); + const Ne = document.createElement("div"); + Ne.className = "mjr-video-bar-center", Ne.appendChild($e); + const He = document.createElement("div"); + He.className = "mjr-video-bar-side mjr-video-bar-side--right", p && He.appendChild(ke), He.appendChild(we), He.appendChild(Q), p && He.appendChild(oe), le && He.appendChild(_), ne.appendChild(Ie), ne.appendChild(Ne), ne.appendChild(He), g.replaceChildren(re, ne); } else - p && h.appendChild(O), p && h.appendChild(se), h.appendChild(b), p && h.appendChild(Ze), h.appendChild(q), f.appendChild(De), f.appendChild(Pe), f.appendChild(Qe); + p && Z.appendChild(z), p && Z.appendChild(de), Z.appendChild(b), p && Z.appendChild(ge), Z.appendChild(K), f.appendChild(Je), f.appendChild($e), f.appendChild(qe); const Ue = (re) => { - var ie, me; + var ne, Ie; try { - (ie = re.stopPropagation) == null || ie.call(re); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + (ne = re.stopPropagation) == null || ne.call(re); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - }, Ee = (re) => { - var ie, me; + }, Te = (re) => { + var ne, Ie; try { - (ie = re.preventDefault) == null || ie.call(re); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + (ne = re.preventDefault) == null || ne.call(re); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } Ue(re); - }, Re = [], wt = (() => { + }, Oe = [], pt = (() => { try { return new AbortController(); } catch { return { - signal: { aborted: !1, addEventListener: Qi, removeEventListener: Qi }, - abort: Qi + signal: { aborted: !1, addEventListener: eo, removeEventListener: eo }, + abort: eo }; } })(); - Re.push(() => { + Oe.push(() => { var re; try { - wt.abort(); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + pt.abort(); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }), Re.push(_e(g, "pointerdown", Ue)), Re.push(_e(g, "dblclick", Ee, { capture: !0 })), Re.push( - _e(g, "wheel", Ee, { capture: !0, passive: !1 }) - ), Re.push( - _e( + }), Oe.push(Qe(g, "pointerdown", Ue)), Oe.push(Qe(g, "dblclick", Te, { capture: !0 })), Oe.push( + Qe(g, "wheel", Te, { capture: !0, passive: !1 }) + ), Oe.push( + Qe( window, "dblclick", (re) => { - var ie, me; + var ne, Ie; try { - (ie = g.contains) != null && ie.call(g, re == null ? void 0 : re.target) && Ee(re); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + (ne = g.contains) != null && ne.call(g, re == null ? void 0 : re.target) && Te(re); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } }, { capture: !0 } ) - ), Re.push( - _e( + ), Oe.push( + Qe( window, "wheel", (re) => { - var ie, me; + var ne, Ie; try { - (ie = g.contains) != null && ie.call(g, re == null ? void 0 : re.target) && Ee(re); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + (ne = g.contains) != null && ne.call(g, re == null ? void 0 : re.target) && Te(re); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } }, { capture: !0, passive: !1 } ) ); - const Se = { - fps: Hi(Z || 30), + const Me = { + fps: Qi(A || 30), step: 1, inFrame: null, outFrame: null, @@ -10845,904 +10860,904 @@ function qI(e, t = {}) { _ppReverse: !1, _ppRafId: null, _userInteracted: !1 - }, Ft = () => { + }, Xt = () => { var re; - if (!Se._userInteracted) { - Se._userInteracted = !0; + if (!Me._userInteracted) { + Me._userInteracted = !0; try { - e.muted && (e.muted = !1, te == null || te()); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + e.muted && (e.muted = !1, Tt == null || Tt()); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } } }; - let Gt = null; - const ue = () => { - var re, ie; + let Mt = null; + const me = () => { + var re, ne; if (p) try { - O.classList.add("is-step"); + z.classList.add("is-step"); try { - Gt == null || Gt(); - } catch (me) { - (re = console.debug) == null || re.call(console, me); + Mt == null || Mt(); + } catch (Ie) { + (re = console.debug) == null || re.call(console, Ie); } - Gt = BZ(wt.signal, TZ, () => { - var me; + Mt = DZ(pt.signal, KZ, () => { + var Ie; try { - O.classList.remove("is-step"); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + z.classList.remove("is-step"); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } }); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } }; - Re.push(() => { - var re, ie, me, Xe; + Oe.push(() => { + var re, ne, Ie, Ne; try { - Gt == null || Gt(); - } catch (qe) { - (re = console.debug) == null || re.call(console, qe); + Mt == null || Mt(); + } catch (He) { + (re = console.debug) == null || re.call(console, He); } - Gt = null; + Mt = null; try { - (me = (ie = O == null ? void 0 : O.classList) == null ? void 0 : ie.remove) == null || me.call(ie, "is-step"); - } catch (qe) { - (Xe = console.debug) == null || Xe.call(console, qe); + (Ie = (ne = z == null ? void 0 : z.classList) == null ? void 0 : ne.remove) == null || Ie.call(ne, "is-step"); + } catch (He) { + (Ne = console.debug) == null || Ne.call(console, He); } }); - const He = (re, ie) => { - var me; + const Pe = (re, ne) => { + var Ie; try { if (!re) return; - ie ? re.classList.add("is-on") : re.classList.remove("is-on"); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + ne ? re.classList.add("is-on") : re.classList.remove("is-on"); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - }, ve = (re) => { - var ie, me, Xe; + }, Le = (re) => { + var ne, Ie, Ne; try { - const qe = Number(re); - if (!Number.isFinite(qe) || qe <= 0) return Se.playbackRate; - const ut = Math.max(0.25, Math.min(2, Math.round(qe * 100) / 100)); - Se.playbackRate = ut; + const He = Number(re); + if (!Number.isFinite(He) || He <= 0) return Me.playbackRate; + const rt = Math.max(0.25, Math.min(2, Math.round(He * 100) / 100)); + Me.playbackRate = rt; try { - e.playbackRate = ut; - } catch (jt) { - (ie = console.debug) == null || ie.call(console, jt); + e.playbackRate = rt; + } catch (St) { + (ne = console.debug) == null || ne.call(console, St); } try { - (me = ce.matches) != null && me.call(ce, ":focus") || (ce.value = String(ut)); - } catch (jt) { - (Xe = console.debug) == null || Xe.call(console, jt); + (Ie = ce.matches) != null && Ie.call(ce, ":focus") || (ce.value = String(rt)); + } catch (St) { + (Ne = console.debug) == null || Ne.call(console, St); } - return ut; + return rt; } catch { - return Se.playbackRate; + return Me.playbackRate; } }, Ot = () => { - var re, ie; + var re, ne; try { - He(Y, !!(Se.loop || Se.pingpong)); + Pe(j, !!(Me.loop || Me.pingpong)); try { - F != null && F.icon && (Se.pingpong ? (F.icon.className = "pi pi-sort-alt", Y.title = m( + M != null && M.icon && (Me.pingpong ? (M.icon.className = "pi pi-sort-alt", j.title = m( "video.pingpongPlayback", "Ping-pong playback (forward then reverse)" - )) : (F.icon.className = "pi pi-refresh", Y.title = m( + )) : (M.icon.className = "pi pi-refresh", j.title = m( "video.loopPlaybackInRange", "Loop playback in range" ))); - } catch (me) { - (re = console.debug) == null || re.call(console, me); + } catch (Ie) { + (re = console.debug) == null || re.call(console, Ie); } - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - }, Ve = () => { + }, Xe = () => { try { - const re = Number(Se.frameCount); + const re = Number(Me.frameCount); if (Number.isFinite(re) && re > 0) return Math.max(1, Math.floor(re)); - const ie = Number(e == null ? void 0 : e.duration), me = Hi(Se.fps, 30); - return !Number.isFinite(ie) || ie <= 0 ? 0 : Math.max(0, Math.floor(ie * me)); + const ne = Number(e == null ? void 0 : e.duration), Ie = Qi(Me.fps, 30); + return !Number.isFinite(ne) || ne <= 0 ? 0 : Math.max(0, Math.floor(ne * Ie)); } catch { return 0; } - }, Ke = (re = null) => { + }, Ee = (re = null) => { try { - const ie = re ?? (e == null ? void 0 : e.currentTime), me = Number(ie), Xe = Hi(Se.fps, 30); - return !Number.isFinite(me) || me < 0 ? 0 : Math.max(0, Math.floor(me * Xe + 1e-6)); + const ne = re ?? (e == null ? void 0 : e.currentTime), Ie = Number(ne), Ne = Qi(Me.fps, 30); + return !Number.isFinite(Ie) || Ie < 0 ? 0 : Math.max(0, Math.floor(Ie * Ne + 1e-6)); } catch { return 0; } - }, Be = (re) => { - const ie = Hi(Se.fps, 30); - return Math.max(0, Number(re) || 0) / ie; + }, Ke = (re) => { + const ne = Qi(Me.fps, 30); + return Math.max(0, Number(re) || 0) / ne; }, nt = () => { var re; try { - const ie = Ve(); - if (ie <= 0) return; - const me = Se.inFrame == null ? 0 : uo(Se.inFrame, 0, ie), Xe = Se.outFrame == null ? ie : uo(Se.outFrame, 0, ie); - Xe < me ? (Se.inFrame = Xe, Se.outFrame = me) : (Se.inFrame = me, Se.outFrame = Xe); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const ne = Xe(); + if (ne <= 0) return; + const Ie = Me.inFrame == null ? 0 : go(Me.inFrame, 0, ne), Ne = Me.outFrame == null ? ne : go(Me.outFrame, 0, ne); + Ne < Ie ? (Me.inFrame = Ne, Me.outFrame = Ie) : (Me.inFrame = Ie, Me.outFrame = Ne); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, mt = () => { + }, ut = () => { try { - const re = Ve(), ie = Se.inFrame == null ? 0 : uo(Se.inFrame, 0, re), me = Se.outFrame == null ? re : uo(Se.outFrame, 0, re); - return { inF: ie, outF: me, maxF: re }; + const re = Xe(), ne = Me.inFrame == null ? 0 : go(Me.inFrame, 0, re), Ie = Me.outFrame == null ? re : go(Me.outFrame, 0, re); + return { inF: ne, outF: Ie, maxF: re }; } catch { return { inF: 0, outF: 0, maxF: 0 }; } - }, bt = () => { + }, It = () => { var re; try { - const ie = !(e != null && e.paused) || Se._ppReverse; - B.textContent = ie ? m("video.pause", "Pause") : m("video.play", "Play"); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const ne = !(e != null && e.paused) || Me._ppReverse; + B.textContent = ne ? m("video.pause", "Pause") : m("video.play", "Play"); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, st = () => { - var re, ie; + }, dt = () => { + var re, ne; try { - const me = !!(e != null && e.muted) || (Number(e == null ? void 0 : e.volume) || 0) <= 1e-3; + const Ie = !!(e != null && e.muted) || (Number(e == null ? void 0 : e.volume) || 0) <= 1e-3; try { - H.icon.className = `pi ${me ? "pi-volume-off" : "pi-volume-up"}`; - } catch (qe) { - (re = console.debug) == null || re.call(console, qe); + U.icon.className = `pi ${Ie ? "pi-volume-off" : "pi-volume-up"}`; + } catch (He) { + (re = console.debug) == null || re.call(console, He); } - const Xe = me ? m("video.unmute", "Unmute") : m("video.mute", "Mute"); - $.title = Xe, $.setAttribute("aria-label", Xe); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ne = Ie ? m("video.unmute", "Unmute") : m("video.mute", "Mute"); + Q.title = Ne, Q.setAttribute("aria-label", Ne); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - }, ke = (re = null) => { - var ie, me, Xe, qe, ut, jt, Yt, St; + }, Re = (re = null) => { + var ne, Ie, Ne, He, rt, St, Yt, Gt; try { - const qt = Number(e == null ? void 0 : e.duration), Vn = re ?? (e == null ? void 0 : e.currentTime), wn = Number(Vn), xn = Number.isFinite(qt) && qt > 0; - if (L.textContent = `${wu(wn)} / ${xn ? wu(qt) : "0:00"}`, v.disabled = !xn, xn) { - const _t = In((wn || 0) / qt), Yn = Math.round(_t * 1e3); - !Number.isNaN(Yn) && !((ie = v.matches) != null && ie.call(v, ":active")) && (v.value = String(Yn)); + const Qt = Number(e == null ? void 0 : e.duration), Yn = re ?? (e == null ? void 0 : e.currentTime), wn = Number(Yn), xn = Number.isFinite(Qt) && Qt > 0; + if (V.textContent = `${Su(wn)} / ${xn ? Su(Qt) : "0:00"}`, L.disabled = !xn, xn) { + const en = In((wn || 0) / Qt), Vn = Math.round(en * 1e3); + !Number.isNaN(Vn) && !((ne = L.matches) != null && ne.call(L, ":active")) && (L.value = String(Vn)); try { - X.style.left = `${_t * 100}%`; + R.style.left = `${en * 100}%`; } catch (pn) { - (me = console.debug) == null || me.call(console, pn); + (Ie = console.debug) == null || Ie.call(console, pn); } } else { - v.value = "0"; + L.value = "0"; try { - X.style.left = "0%"; - } catch (_t) { - (Xe = console.debug) == null || Xe.call(console, _t); + R.style.left = "0%"; + } catch (en) { + (Ne = console.debug) == null || Ne.call(console, en); } } if (p) { - const _t = Ve(), Yn = Ke(wn); - O.textContent = `F: ${Yn} / ${_t}`; + const en = Xe(), Vn = Ee(wn); + z.textContent = `F: ${Vn} / ${en}`; try { - if (Number.isFinite(qt) && qt > 0) { - const Nn = In((wn || 0) / qt); - V.style.left = `${Nn * 100}%`, V.textContent = String(Yn), V.style.display = ""; + if (Number.isFinite(Qt) && Qt > 0) { + const Nn = In((wn || 0) / Qt); + Y.style.left = `${Nn * 100}%`, Y.textContent = String(Vn), Y.style.display = ""; } else - V.style.display = "none"; + Y.style.display = "none"; } catch (pn) { - (qe = console.debug) == null || qe.call(console, pn); + (He = console.debug) == null || He.call(console, pn); } - (ut = U.matches) != null && ut.call(U, ":focus") || (U.value = String(Se.inFrame ?? 0)), (jt = P.matches) != null && jt.call(P, ":focus") || (P.value = String(Se.outFrame ?? _t)); + (rt = O.matches) != null && rt.call(O, ":focus") || (O.value = String(Me.inFrame ?? 0)), (St = D.matches) != null && St.call(D, ":focus") || (D.value = String(Me.outFrame ?? en)); try { - const { inF: pn, outF: Nn, maxF: ae } = mt(), fe = pn <= 0 && Nn >= ae, je = Math.max(0, Math.floor(Nn) - Math.floor(pn) + 1); - !fe && ae > 0 ? (N.textContent = `R: ${je}f`, N.style.display = "") : N.style.display = "none"; + const { inF: pn, outF: Nn, maxF: ae } = ut(), he = pn <= 0 && Nn >= ae, ve = Math.max(0, Math.floor(Nn) - Math.floor(pn) + 1); + !he && ae > 0 ? (k.textContent = `R: ${ve}f`, k.style.display = "") : k.style.display = "none"; } catch (pn) { (Yt = console.debug) == null || Yt.call(console, pn); } } - } catch (qt) { - (St = console.debug) == null || St.call(console, qt); + } catch (Qt) { + (Gt = console.debug) == null || Gt.call(console, Qt); } - }, Ct = () => { - var re, ie, me, Xe, qe, ut, jt; + }, Wt = () => { + var re, ne, Ie, Ne, He, rt, St; if (p) try { - const { inF: Yt, outF: St, maxF: qt } = mt(); - if (!Number.isFinite(qt) || qt <= 0) return; - const Vn = In(Yt / qt) * 100, wn = In(St / qt) * 100, xn = Yt <= 0 && St >= qt; + const { inF: Yt, outF: Gt, maxF: Qt } = ut(); + if (!Number.isFinite(Qt) || Qt <= 0) return; + const Yn = In(Yt / Qt) * 100, wn = In(Gt / Qt) * 100, xn = Yt <= 0 && Gt >= Qt; try { - v.style.background = ""; - } catch (_t) { - (re = console.debug) == null || re.call(console, _t); + L.style.background = ""; + } catch (en) { + (re = console.debug) == null || re.call(console, en); } try { - const _t = In(Vn / 100) * 100, Yn = In(wn / 100) * 100, pn = Math.min(_t, Yn), Nn = Math.max(_t, Yn); - if (S && W && y && k) { - W.style.left = "0%", W.style.width = `${pn}%`, y.style.left = `${pn}%`, y.style.width = `${Math.max(0, Nn - pn)}%`, k.style.left = `${Nn}%`, k.style.width = `${Math.max(0, 100 - Nn)}%`; + const en = In(Yn / 100) * 100, Vn = In(wn / 100) * 100, pn = Math.min(en, Vn), Nn = Math.max(en, Vn); + if (G && W && y && X) { + W.style.left = "0%", W.style.width = `${pn}%`, y.style.left = `${pn}%`, y.style.width = `${Math.max(0, Nn - pn)}%`, X.style.left = `${Nn}%`, X.style.width = `${Math.max(0, 100 - Nn)}%`; try { - S.classList.toggle("is-trimmed", !xn), S.classList.toggle("is-fullrange", xn); + G.classList.toggle("is-trimmed", !xn), G.classList.toggle("is-fullrange", xn); } catch (ae) { - (ie = console.debug) == null || ie.call(console, ae); + (ne = console.debug) == null || ne.call(console, ae); } } - } catch (_t) { - (me = console.debug) == null || me.call(console, _t); + } catch (en) { + (Ie = console.debug) == null || Ie.call(console, en); } try { - x.style.left = `${Vn}%`, w.style.left = `${wn}%`; - } catch (_t) { - (Xe = console.debug) == null || Xe.call(console, _t); + v.style.left = `${Yn}%`, w.style.left = `${wn}%`; + } catch (en) { + (Ne = console.debug) == null || Ne.call(console, en); } try { - R.style.left = `${Vn}%`, j.style.left = `${wn}%`; - } catch (_t) { - (qe = console.debug) == null || qe.call(console, _t); + F.style.left = `${Yn}%`, N.style.left = `${wn}%`; + } catch (en) { + (He = console.debug) == null || He.call(console, en); } try { - const Yn = Math.max(1, Math.floor(qt / zZ)), pn = Math.max( - Yn, - Math.floor(Number(Se.step) || 1) - ), Nn = pn / qt * 100, ae = Nn * 10; + const Vn = Math.max(1, Math.floor(Qt / BZ)), pn = Math.max( + Vn, + Math.floor(Number(Me.step) || 1) + ), Nn = pn / Qt * 100, ae = Nn * 10; if (Number.isFinite(Nn) && Nn > 0.02) { - const je = `repeating-linear-gradient(to right, rgba(255,255,255,0.16) 0, rgba(255,255,255,0.16) 1px, transparent 1px, transparent ${Nn}%)`, Ne = `repeating-linear-gradient(to right, rgba(255,255,255,0.28) 0, rgba(255,255,255,0.28) 1px, transparent 1px, transparent ${ae}%)`; - G.style.backgroundImage = `${Ne}, ${je}`; + const ve = `repeating-linear-gradient(to right, rgba(255,255,255,0.16) 0, rgba(255,255,255,0.16) 1px, transparent 1px, transparent ${Nn}%)`, Fe = `repeating-linear-gradient(to right, rgba(255,255,255,0.28) 0, rgba(255,255,255,0.28) 1px, transparent 1px, transparent ${ae}%)`; + x.style.backgroundImage = `${Fe}, ${ve}`; } else - G.style.backgroundImage = ""; + x.style.backgroundImage = ""; (() => { - var et, tt, ct, Lt, Bt, Nt, ht; + var et, tt, st, Vt, Bt, Rt, Ct; try { - const Jt = `${qt}|${pn}`; - if (((et = z == null ? void 0 : z.dataset) == null ? void 0 : et.mjrLabelKey) === Jt) return; - z.dataset.mjrLabelKey = Jt; - } catch (Jt) { - (tt = console.debug) == null || tt.call(console, Jt); + const zt = `${Qt}|${pn}`; + if (((et = T == null ? void 0 : T.dataset) == null ? void 0 : et.mjrLabelKey) === zt) return; + T.dataset.mjrLabelKey = zt; + } catch (zt) { + (tt = console.debug) == null || tt.call(console, zt); } try { - z.replaceChildren(); - } catch (Jt) { - (ct = console.debug) == null || ct.call(console, Jt); + T.replaceChildren(); + } catch (zt) { + (st = console.debug) == null || st.call(console, zt); } - const je = 22; - let Ne = Math.max(1, pn * 10); + const ve = 22; + let Fe = Math.max(1, pn * 10); try { - for (; Ne > 0 && Math.ceil(qt / Ne) > je; ) - Ne *= 2; - } catch (Jt) { - (Lt = console.debug) == null || Lt.call(console, Jt); + for (; Fe > 0 && Math.ceil(Qt / Fe) > ve; ) + Fe *= 2; + } catch (zt) { + (Vt = console.debug) == null || Vt.call(console, zt); } - const $e = (Jt) => { - const It = document.createElement("span"); - It.className = "mjr-video-seek-label"; - const mn = In(Jt / qt) * 100; - return It.style.left = `${mn}%`, It.textContent = String(Math.floor(Jt)), It; + const _e = (zt) => { + const gt = document.createElement("span"); + gt.className = "mjr-video-seek-label"; + const mn = In(zt / Qt) * 100; + return gt.style.left = `${mn}%`, gt.textContent = String(Math.floor(zt)), gt; }; try { - z.appendChild($e(0)); - } catch (Jt) { - (Bt = console.debug) == null || Bt.call(console, Jt); + T.appendChild(_e(0)); + } catch (zt) { + (Bt = console.debug) == null || Bt.call(console, zt); } - for (let Jt = Ne; Jt < qt; Jt += Ne) + for (let zt = Fe; zt < Qt; zt += Fe) try { - z.appendChild($e(Jt)); - } catch (It) { - (Nt = console.debug) == null || Nt.call(console, It); + T.appendChild(_e(zt)); + } catch (gt) { + (Rt = console.debug) == null || Rt.call(console, gt); } try { - z.appendChild($e(qt)); - } catch (Jt) { - (ht = console.debug) == null || ht.call(console, Jt); + T.appendChild(_e(Qt)); + } catch (zt) { + (Ct = console.debug) == null || Ct.call(console, zt); } })(); - } catch (_t) { - (ut = console.debug) == null || ut.call(console, _t); + } catch (en) { + (rt = console.debug) == null || rt.call(console, en); } } catch (Yt) { - (jt = console.debug) == null || jt.call(console, Yt); + (St = console.debug) == null || St.call(console, Yt); } - }, at = ({ prefer: re = null } = {}) => { - var ie; + }, lt = ({ prefer: re = null } = {}) => { + var ne; if (p) try { nt(); - const { inF: me, outF: Xe } = mt(), qe = Ke(); - re === "in" ? ge(me) : re === "out" ? qe > Xe && ge(Xe) : qe < me ? ge(me) : qe > Xe && ge(Xe); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const { inF: Ie, outF: Ne } = ut(), He = Ee(); + re === "in" ? te(Ie) : re === "out" ? He > Ne && te(Ne) : He < Ie ? te(Ie) : He > Ne && te(Ne); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - }, zt = () => { + }, qt = () => { var re; try { - Se.inFrame = 0, nt(), ke(), Ct(), at({ prefer: "in" }); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + Me.inFrame = 0, nt(), Re(), Wt(), lt({ prefer: "in" }); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, Zt = () => { + }, yt = () => { var re; try { - const { maxF: ie } = mt(); - Se.outFrame = Math.max(0, Number(ie) || 0), nt(), ke(), Ct(), at({ prefer: "out" }); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const { maxF: ne } = ut(); + Me.outFrame = Math.max(0, Number(ne) || 0), nt(), Re(), Wt(), lt({ prefer: "out" }); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, gt = () => { + }, mt = () => { var re; try { - Se._ppRafId != null && (cancelAnimationFrame(Se._ppRafId), Se._ppRafId = null); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + Me._ppRafId != null && (cancelAnimationFrame(Me._ppRafId), Me._ppRafId = null); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } }; - Re.push(gt); + Oe.push(mt); const kt = () => { - var re, ie; + var re, ne; try { - gt(), Se._ppReverse = !0, (re = e.pause) == null || re.call(e), bt(); - const me = Hi(Se.fps, 30), Xe = Math.max(0.25, Number(Se.playbackRate) || 1), qe = 1e3 / (me * Xe); - let ut = performance.now(); - const jt = (Yt) => { - var St, qt; + mt(), Me._ppReverse = !0, (re = e.pause) == null || re.call(e), It(); + const Ie = Qi(Me.fps, 30), Ne = Math.max(0.25, Number(Me.playbackRate) || 1), He = 1e3 / (Ie * Ne); + let rt = performance.now(); + const St = (Yt) => { + var Gt, Qt; try { - if (!Se._ppReverse || !Se.pingpong) { - Se._ppReverse = !1, bt(); + if (!Me._ppReverse || !Me.pingpong) { + Me._ppReverse = !1, It(); return; } - const Vn = Yt - ut; - if (Vn >= qe) { - ut = Yt - Vn % qe; - const { inF: wn } = mt(), xn = Ke(); + const Yn = Yt - rt; + if (Yn >= He) { + rt = Yt - Yn % He; + const { inF: wn } = ut(), xn = Ee(); if (xn <= wn) { - Se._ppReverse = !1, ge(wn); - const Yn = (St = e.play) == null ? void 0 : St.call(e); - Yn && typeof Yn.catch == "function" && Yn.catch(() => { - }), bt(), ke(); + Me._ppReverse = !1, te(wn); + const Vn = (Gt = e.play) == null ? void 0 : Gt.call(e); + Vn && typeof Vn.catch == "function" && Vn.catch(() => { + }), It(), Re(); return; } - const _t = Math.max(1, Math.floor(Number(Se.step) || 1)); - ge(xn - _t), ke(); + const en = Math.max(1, Math.floor(Number(Me.step) || 1)); + te(xn - en), Re(); } - Se._ppRafId = requestAnimationFrame(jt); - } catch (Vn) { - (qt = console.debug) == null || qt.call(console, Vn), Se._ppReverse = !1, bt(); + Me._ppRafId = requestAnimationFrame(St); + } catch (Yn) { + (Qt = console.debug) == null || Qt.call(console, Yn), Me._ppReverse = !1, It(); } }; - Se._ppRafId = requestAnimationFrame(jt); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me), Se._ppReverse = !1; + Me._ppRafId = requestAnimationFrame(St); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie), Me._ppReverse = !1; } - }, Qt = () => { - var re, ie, me, Xe; + }, $t = () => { + var re, ne, Ie, Ne; try { - const qe = Ve(); - Se.inFrame = 0, Se.outFrame = qe > 0 ? qe : null, Se.step = 1, Se.loop = !!p, Se.pingpong = !1, Se._ppReverse = !1, gt(), Se.once = !1, ve(1); + const He = Xe(); + Me.inFrame = 0, Me.outFrame = He > 0 ? He : null, Me.step = 1, Me.loop = !!p, Me.pingpong = !1, Me._ppReverse = !1, mt(), Me.once = !1, Le(1); try { - ee.value = "1"; - } catch (ut) { - (re = console.debug) == null || re.call(console, ut); + q.value = "1"; + } catch (rt) { + (re = console.debug) == null || re.call(console, rt); } try { - (ie = ce.matches) != null && ie.call(ce, ":focus") || (ce.value = "1"); - } catch (ut) { - (me = console.debug) == null || me.call(console, ut); + (ne = ce.matches) != null && ne.call(ce, ":focus") || (ce.value = "1"); + } catch (rt) { + (Ie = console.debug) == null || Ie.call(console, rt); } - nt(), Ot(), ke(), Ct(), at({ prefer: "in" }); - } catch (qe) { - (Xe = console.debug) == null || Xe.call(console, qe); + nt(), Ot(), Re(), Wt(), lt({ prefer: "in" }); + } catch (He) { + (Ne = console.debug) == null || Ne.call(console, He); } - }, te = () => { - var re, ie, me; + }, Tt = () => { + var re, ne, Ie; try { - const Xe = In(Number(e == null ? void 0 : e.volume) || 0); + const Ne = In(Number(e == null ? void 0 : e.volume) || 0); try { - le && !((re = le.matches) != null && re.call(le, ":active")) && (le.value = String(Xe)); - } catch (qe) { - (ie = console.debug) == null || ie.call(console, qe); + le && !((re = le.matches) != null && re.call(le, ":active")) && (le.value = String(Ne)); + } catch (He) { + (ne = console.debug) == null || ne.call(console, He); } - st(); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + dt(); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - }, ge = (re) => { - var ie; + }, te = (re) => { + var ne; try { - const { maxF: me } = mt(), Xe = uo(re, 0, me > 0 ? me : 1 / 0); - e.currentTime = Be(Xe); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const { maxF: Ie } = ut(), Ne = go(re, 0, Ie > 0 ? Ie : 1 / 0); + e.currentTime = Ke(Ne); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - ke(); - }, we = (re) => { - var ie, me, Xe; - Ft(); + Re(); + }, ye = (re) => { + var ne, Ie, Ne; + Xt(); try { - const qe = Math.max(1, Math.floor(Number(Se.step) || 1)), { inF: ut, outF: jt } = mt(); - let St = Ke() + re * qe; - Se.loop ? (St < ut && (St = jt), St > jt && (St = ut)) : St = uo(St, ut, jt); + const He = Math.max(1, Math.floor(Number(Me.step) || 1)), { inF: rt, outF: St } = ut(); + let Gt = Ee() + re * He; + Me.loop ? (Gt < rt && (Gt = St), Gt > St && (Gt = rt)) : Gt = go(Gt, rt, St); try { - (ie = e.pause) == null || ie.call(e); - } catch (qt) { - (me = console.debug) == null || me.call(console, qt); + (ne = e.pause) == null || ne.call(e); + } catch (Qt) { + (Ie = console.debug) == null || Ie.call(console, Qt); } - ge(St), ue(); - } catch (qe) { - (Xe = console.debug) == null || Xe.call(console, qe); + te(Gt), me(); + } catch (He) { + (Ne = console.debug) == null || Ne.call(console, He); } - }, be = () => { + }, We = () => { var re; if (p) try { nt(); - const { inF: ie, outF: me } = mt(), Xe = Ke(); - (Xe < ie || Xe > me) && ge(ie); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const { inF: ne, outF: Ie } = ut(), Ne = Ee(); + (Ne < ne || Ne > Ie) && te(ne); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, Oe = () => { - var re, ie, me; - Ft(); + }, pe = () => { + var re, ne, Ie; + Xt(); try { - if (Se._ppReverse) { - Se._ppReverse = !1, gt(), bt(); + if (Me._ppReverse) { + Me._ppReverse = !1, mt(), It(); return; } if (e.paused) { - be(); - const Xe = (re = e.play) == null ? void 0 : re.call(e); - Xe && typeof Xe.catch == "function" && Xe.catch(() => { + We(); + const Ne = (re = e.play) == null ? void 0 : re.call(e); + Ne && typeof Ne.catch == "function" && Ne.catch(() => { }); } else - (ie = e.pause) == null || ie.call(e); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + (ne = e.pause) == null || ne.call(e); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - bt(); + It(); }; - if (Re.push( - _e(e, "click", (re) => { - var ie; + if (Oe.push( + Qe(e, "click", (re) => { + var ne; try { if ((re == null ? void 0 : re.target) !== e) return; - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - Oe(); + pe(); }) - ), Re.push( - _e(B, "click", (re) => { - Ue(re), Oe(); + ), Oe.push( + Qe(B, "click", (re) => { + Ue(re), pe(); }) - ), Re.push( - _e(J, "click", (re) => { - Ue(re), we(-1); + ), Oe.push( + Qe(J, "click", (re) => { + Ue(re), ye(-1); }) - ), Re.push( - _e(T, "click", (re) => { - Ue(re), we(1); + ), Oe.push( + Qe(P, "click", (re) => { + Ue(re), ye(1); }) - ), Re.push( - _e(D, "click", (re) => { + ), Oe.push( + Qe(H, "click", (re) => { Ue(re); - const { inF: ie } = mt(); - ge(ie), ue(); + const { inF: ne } = ut(); + te(ne), me(); }) - ), Re.push( - _e(Q, "click", (re) => { + ), Oe.push( + Qe($, "click", (re) => { Ue(re); - const { outF: ie } = mt(); - ge(ie), ue(); + const { outF: ne } = ut(); + te(ne), me(); }) - ), Re.push( - _e(v, "pointerdown", () => { - Se._seeking = !0; + ), Oe.push( + Qe(L, "pointerdown", () => { + Me._seeking = !0; }) - ), Re.push( - _e(v, "pointerup", () => { - Se._seeking = !1; + ), Oe.push( + Qe(L, "pointerup", () => { + Me._seeking = !1; }) - ), Re.push( - _e(v, "input", (re) => { - var ie; - Ue(re), Ft(); + ), Oe.push( + Qe(L, "input", (re) => { + var ne; + Ue(re), Xt(); try { - const me = Number(e == null ? void 0 : e.duration); - if (!Number.isFinite(me) || me <= 0) return; - const Xe = Number(v.value), qe = In((Number.isFinite(Xe) ? Xe : 0) / 1e3); - e.currentTime = qe * me; - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ie = Number(e == null ? void 0 : e.duration); + if (!Number.isFinite(Ie) || Ie <= 0) return; + const Ne = Number(L.value), He = In((Number.isFinite(Ne) ? Ne : 0) / 1e3); + e.currentTime = He * Ie; + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - ke(); + Re(); }) ), p) { - Re.push( - _e(E, "click", (re) => { - Ue(re), Se.inFrame = Ke(), nt(), ke(), Ct(), at({ prefer: "in" }); + Oe.push( + Qe(E, "click", (re) => { + Ue(re), Me.inFrame = Ee(), nt(), Re(), Wt(), lt({ prefer: "in" }); }) - ), Re.push( - _e(K, "click", (re) => { - Ue(re), Se.outFrame = Ke(), nt(), ke(), Ct(), at({ prefer: "out" }); + ), Oe.push( + Qe(oe, "click", (re) => { + Ue(re), Me.outFrame = Ee(), nt(), Re(), Wt(), lt({ prefer: "out" }); }) - ), Re.push( - _e(U, "change", (re) => { - var ie; + ), Oe.push( + Qe(O, "change", (re) => { + var ne; Ue(re); try { - const me = Number(U.value); - Se.inFrame = Number.isFinite(me) ? Math.max(0, Math.floor(me)) : null, nt(); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ie = Number(O.value); + Me.inFrame = Number.isFinite(Ie) ? Math.max(0, Math.floor(Ie)) : null, nt(); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - ke(), Ct(), at({ prefer: "in" }); + Re(), Wt(), lt({ prefer: "in" }); }) - ), Re.push( - _e(P, "change", (re) => { - var ie; + ), Oe.push( + Qe(D, "change", (re) => { + var ne; Ue(re); try { - const me = Number(P.value); - Se.outFrame = Number.isFinite(me) ? Math.max(0, Math.floor(me)) : null, nt(); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ie = Number(D.value); + Me.outFrame = Number.isFinite(Ie) ? Math.max(0, Math.floor(Ie)) : null, nt(); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - ke(), Ct(), at({ prefer: "out" }); + Re(), Wt(), lt({ prefer: "out" }); }) - ), Re.push( - _e(ee, "change", (re) => { - var ie; + ), Oe.push( + Qe(q, "change", (re) => { + var ne; Ue(re); try { - Se.step = Math.max(1, Math.floor(Number(ee.value) || 1)), ee.value = String(Se.step); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + Me.step = Math.max(1, Math.floor(Number(q.value) || 1)), q.value = String(Me.step); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } }) - ), Re.push( - _e(oe, "change", (re) => { - var ie; + ), Oe.push( + Qe(ee, "change", (re) => { + var ne; Ue(re); try { - Se.fps = Hi(oe.value, 30), oe.value = String(Se.fps), nt(); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + Me.fps = Qi(ee.value, 30), ee.value = String(Me.fps), nt(); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - ke(), Ct(); + Re(), Wt(); }) - ), Re.push( - _e(Y, "click", (re) => { - Ue(re), !Se.loop && !Se.pingpong ? (Se.loop = !0, Se.pingpong = !1) : Se.loop && !Se.pingpong ? (Se.loop = !1, Se.pingpong = !0) : (Se.loop = !1, Se.pingpong = !1), (Se.loop || Se.pingpong) && (Se.once = !1), Se.pingpong || (Se._ppReverse = !1, gt()), Ot(); + ), Oe.push( + Qe(j, "click", (re) => { + Ue(re), !Me.loop && !Me.pingpong ? (Me.loop = !0, Me.pingpong = !1) : Me.loop && !Me.pingpong ? (Me.loop = !1, Me.pingpong = !0) : (Me.loop = !1, Me.pingpong = !1), (Me.loop || Me.pingpong) && (Me.once = !1), Me.pingpong || (Me._ppReverse = !1, mt()), Ot(); }) - ), Re.push( - _e(de, "click", (re) => { - Ue(re), zt(); + ), Oe.push( + Qe(se, "click", (re) => { + Ue(re), qt(); }) - ), Re.push( - _e(Fe, "click", (re) => { - Ue(re), Zt(); + ), Oe.push( + Qe(je, "click", (re) => { + Ue(re), yt(); }) - ), Re.push( - _e(N, "click", (re) => { - Ue(re), Qt(); + ), Oe.push( + Qe(k, "click", (re) => { + Ue(re), $t(); }) ); try { - N.title = m("video.resetPlayerControls", "Reset player controls"), N.style.cursor = "pointer", N.style.userSelect = "none"; + k.title = m("video.resetPlayerControls", "Reset player controls"), k.style.cursor = "pointer", k.style.userSelect = "none"; } catch (re) { (r = console.debug) == null || r.call(console, re); } } - Re.push( - _e($, "click", (re) => { - var ie; + Oe.push( + Qe(Q, "click", (re) => { + var ne; Ue(re); try { e.muted = !e.muted, _ && (_.style.display = e.muted ? "none" : "inline-flex"); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - te(); + Tt(); }) - ), Re.push( - _e($, "contextmenu", (re) => { - var ie; - Ee(re); + ), Oe.push( + Qe(Q, "contextmenu", (re) => { + var ne; + Te(re); try { if (!_) return; - const me = _.style.display !== "none"; - _.style.display = me ? "none" : "inline-flex"; - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ie = _.style.display !== "none"; + _.style.display = Ie ? "none" : "inline-flex"; + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - te(); + Tt(); }) - ), Re.push( - _e( + ), Oe.push( + Qe( window, "pointerdown", (re) => { - var ie, me, Xe; + var ne, Ie, Ne; try { - if (!_ || _.style.display === "none" || (ie = $.contains) != null && ie.call($, re == null ? void 0 : re.target) || (me = _.contains) != null && me.call(_, re == null ? void 0 : re.target)) + if (!_ || _.style.display === "none" || (ne = Q.contains) != null && ne.call(Q, re == null ? void 0 : re.target) || (Ie = _.contains) != null && Ie.call(_, re == null ? void 0 : re.target)) return; _.style.display = "none"; - } catch (qe) { - (Xe = console.debug) == null || Xe.call(console, qe); + } catch (He) { + (Ne = console.debug) == null || Ne.call(console, He); } }, { capture: !0 } ) - ), le && Re.push( - _e(le, "input", (re) => { - var ie; + ), le && Oe.push( + Qe(le, "input", (re) => { + var ne; Ue(re); try { - const me = In(Number(le.value) || 0); - e.volume = me, me > 1e-3 && (e.muted = !1); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + const Ie = In(Number(le.value) || 0); + e.volume = Ie, Ie > 1e-3 && (e.muted = !1); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - te(); + Tt(); }) - ), Re.push( - _e(ce, "change", (re) => { - var ie; + ), Oe.push( + Qe(ce, "change", (re) => { + var ne; Ue(re); try { - ve(Number(ce.value) || 1); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + Le(Number(ce.value) || 1); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } }) - ), Re.push( - _e(e, "ratechange", () => { + ), Oe.push( + Qe(e, "ratechange", () => { var re; try { - ve(Number(e.playbackRate) || Se.playbackRate || 1); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + Le(Number(e.playbackRate) || Me.playbackRate || 1); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } }) ); - const ot = () => { - var re, ie, me, Xe, qe, ut, jt; + const De = () => { + var re, ne, Ie, Ne, He, rt, St; if (p) try { - if (Se._seeking || e != null && e.paused) return; - const { inF: Yt, outF: St, maxF: qt } = mt(); - if (qt <= 0 || Yt <= 0 && St >= qt && !Se.loop && !Se.pingpong && !Se.once || Se._ppReverse) return; - const wn = Ke(), xn = Math.max(1, Math.floor(Number(Se.step) || 1)); - if (wn >= St - xn) - if (Se.pingpong) { + if (Me._seeking || e != null && e.paused) return; + const { inF: Yt, outF: Gt, maxF: Qt } = ut(); + if (Qt <= 0 || Yt <= 0 && Gt >= Qt && !Me.loop && !Me.pingpong && !Me.once || Me._ppReverse) return; + const wn = Ee(), xn = Math.max(1, Math.floor(Number(Me.step) || 1)); + if (wn >= Gt - xn) + if (Me.pingpong) { kt(); return; - } else if (Se.loop) { - ge(Yt); + } else if (Me.loop) { + te(Yt); try { - const _t = (re = e.play) == null ? void 0 : re.call(e); - _t && typeof _t.catch == "function" && _t.catch(() => { + const en = (re = e.play) == null ? void 0 : re.call(e); + en && typeof en.catch == "function" && en.catch(() => { }); - } catch (_t) { - (ie = console.debug) == null || ie.call(console, _t); + } catch (en) { + (ne = console.debug) == null || ne.call(console, en); } - } else if (Se.once) { + } else if (Me.once) { try { - (me = e.pause) == null || me.call(e); - } catch (_t) { - (Xe = console.debug) == null || Xe.call(console, _t); + (Ie = e.pause) == null || Ie.call(e); + } catch (en) { + (Ne = console.debug) == null || Ne.call(console, en); } - ge(St); + te(Gt); } else { try { - (qe = e.pause) == null || qe.call(e); - } catch (_t) { - (ut = console.debug) == null || ut.call(console, _t); + (He = e.pause) == null || He.call(e); + } catch (en) { + (rt = console.debug) == null || rt.call(console, en); } - ge(St); + te(Gt); } - else wn < Yt && ge(Yt); + else wn < Yt && te(Yt); } catch (Yt) { - (jt = console.debug) == null || jt.call(console, Yt); + (St = console.debug) == null || St.call(console, Yt); } - }, dt = { + }, ot = { rafId: null, rvfcId: null - }, en = () => { - var re, ie; + }, Zt = () => { + var re, ne; try { - dt.rvfcId != null && typeof (e == null ? void 0 : e.cancelVideoFrameCallback) == "function" && e.cancelVideoFrameCallback(dt.rvfcId); - } catch (me) { - (re = console.debug) == null || re.call(console, me); + ot.rvfcId != null && typeof (e == null ? void 0 : e.cancelVideoFrameCallback) == "function" && e.cancelVideoFrameCallback(ot.rvfcId); + } catch (Ie) { + (re = console.debug) == null || re.call(console, Ie); } - dt.rvfcId = null; + ot.rvfcId = null; try { - dt.rafId != null && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(dt.rafId); - } catch (me) { - (ie = console.debug) == null || ie.call(console, me); + ot.rafId != null && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(ot.rafId); + } catch (Ie) { + (ne = console.debug) == null || ne.call(console, Ie); } - dt.rafId = null; - }, un = (re = 0, ie = null) => { - var Xe, qe, ut, jt; - dt.rafId = null, dt.rvfcId = null; + ot.rafId = null; + }, tn = (re = 0, ne = null) => { + var Ne, He, rt, St; + ot.rafId = null, ot.rvfcId = null; try { - pt(ke, ie == null ? void 0 : ie.mediaTime), pt(ot); + bt(Re, ne == null ? void 0 : ne.mediaTime), bt(De); } catch (Yt) { - (Xe = console.debug) == null || Xe.call(console, Yt); + (Ne = console.debug) == null || Ne.call(console, Yt); } - if (!(!(Se._ppReverse || !(e != null && e.paused)) || (qe = wt.signal) != null && qe.aborted)) { + if (!(!(Me._ppReverse || !(e != null && e.paused)) || (He = pt.signal) != null && He.aborted)) { try { - if (typeof (e == null ? void 0 : e.requestVideoFrameCallback) == "function" && !Se._ppReverse) { - dt.rvfcId = e.requestVideoFrameCallback(un); + if (typeof (e == null ? void 0 : e.requestVideoFrameCallback) == "function" && !Me._ppReverse) { + ot.rvfcId = e.requestVideoFrameCallback(tn); return; } } catch (Yt) { - (ut = console.debug) == null || ut.call(console, Yt); + (rt = console.debug) == null || rt.call(console, Yt); } try { - typeof requestAnimationFrame == "function" && (dt.rafId = requestAnimationFrame((Yt) => { - un(Yt, { mediaTime: Number(e == null ? void 0 : e.currentTime) || 0 }); + typeof requestAnimationFrame == "function" && (ot.rafId = requestAnimationFrame((Yt) => { + tn(Yt, { mediaTime: Number(e == null ? void 0 : e.currentTime) || 0 }); })); } catch (Yt) { - (jt = console.debug) == null || jt.call(console, Yt); + (St = console.debug) == null || St.call(console, Yt); } } - }, Wt = () => { - var ie; - en(), !(!(Se._ppReverse || !(e != null && e.paused)) || (ie = wt.signal) != null && ie.aborted) && un(0, { mediaTime: Number(e == null ? void 0 : e.currentTime) || 0 }); + }, Pt = () => { + var ne; + Zt(), !(!(Me._ppReverse || !(e != null && e.paused)) || (ne = pt.signal) != null && ne.aborted) && tn(0, { mediaTime: Number(e == null ? void 0 : e.currentTime) || 0 }); }; - Re.push(en), Re.push( - _e(e, "play", () => { - pt(bt), Wt(); + Oe.push(Zt), Oe.push( + Qe(e, "play", () => { + bt(It), Pt(); }) ); for (const re of ["pause", "ended"]) - Re.push( - _e(e, re, () => { - en(), pt(bt), pt(ke); + Oe.push( + Qe(e, re, () => { + Zt(), bt(It), bt(Re); }) ); for (const re of ["timeupdate", "loadedmetadata", "durationchange", "seeked"]) - Re.push(_e(e, re, () => pt(ke))); - Re.push(_e(e, "timeupdate", ot)), Re.push( - _e( + Oe.push(Qe(e, re, () => bt(Re))); + Oe.push(Qe(e, "timeupdate", De)), Oe.push( + Qe( e, "ended", () => { - var re, ie, me; + var re, ne, Ie; if (p) try { - const { inF: Xe, outF: qe, maxF: ut } = mt(), jt = Xe <= 0 && qe >= ut; - if (Se.pingpong && !Se._ppReverse) { + const { inF: Ne, outF: He, maxF: rt } = ut(), St = Ne <= 0 && He >= rt; + if (Me.pingpong && !Me._ppReverse) { kt(); return; } - if (!Se.loop && !jt) return; - ge(Xe); + if (!Me.loop && !St) return; + te(Ne); try { const Yt = (re = e.play) == null ? void 0 : re.call(e); Yt && typeof Yt.catch == "function" && Yt.catch(() => { }); } catch (Yt) { - (ie = console.debug) == null || ie.call(console, Yt); + (ne = console.debug) == null || ne.call(console, Yt); } - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } }, { passive: !0 } ) - ), p && Re.push( - _e(e, "mjr:frameStep", () => { - pt(ue); + ), p && Oe.push( + Qe(e, "mjr:frameStep", () => { + bt(me); }) - ), p && (Re.push( - _e(e, "loadedmetadata", () => { + ), p && (Oe.push( + Qe(e, "loadedmetadata", () => { var re; try { - const ie = Ve(); - ie > 0 && Se.inFrame == null && Se.outFrame == null && (Se.inFrame = 0, Se.outFrame = ie, nt()); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const ne = Xe(); + ne > 0 && Me.inFrame == null && Me.outFrame == null && (Me.inFrame = 0, Me.outFrame = ne, nt()); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - Ct(); + Wt(); }) - ), Re.push( - _e(e, "durationchange", () => pt(Ct)) + ), Oe.push( + Qe(e, "durationchange", () => bt(Wt)) )); for (const re of ["volumechange"]) - Re.push(_e(e, re, () => pt(te))); + Oe.push(Qe(e, re, () => bt(Tt))); try { - Se.fps = Hi(oe.value, 30), Se.step = Math.max(1, Math.floor(Number(ee.value) || 1)), nt(), Ot(), ve(Se.playbackRate); + Me.fps = Qi(ee.value, 30), Me.step = Math.max(1, Math.floor(Number(q.value) || 1)), nt(), Ot(), Le(Me.playbackRate); } catch (re) { (l = console.debug) == null || l.call(console, re); } - pt(bt), pt(ke), pt(Ct), pt(te); + bt(It), bt(Re), bt(Wt), bt(Tt); try { - (!(e != null && e.paused) || Se._ppReverse) && Wt(); + (!(e != null && e.paused) || Me._ppReverse) && Pt(); } catch (re) { (a = console.debug) == null || a.call(console, re); } - const tn = (re = {}) => { - var Xe, qe, ut, jt, Yt; - let ie = 0, me = !1; + const vt = (re = {}) => { + var Ne, He, rt, St, Yt; + let ne = 0, Ie = !1; try { - ie = Math.max(0, Ve()), me = ie > 0 && Se.outFrame != null && Se.outFrame >= ie - 1; - } catch (St) { - (Xe = console.debug) == null || Xe.call(console, St); + ne = Math.max(0, Xe()), Ie = ne > 0 && Me.outFrame != null && Me.outFrame >= ne - 1; + } catch (Gt) { + (Ne = console.debug) == null || Ne.call(console, Gt); } try { - const St = Number(re == null ? void 0 : re.fps); - if (Number.isFinite(St) && St > 0) { - Se.fps = Hi(St, Se.fps || 30); + const Gt = Number(re == null ? void 0 : re.fps); + if (Number.isFinite(Gt) && Gt > 0) { + Me.fps = Qi(Gt, Me.fps || 30); try { - (qe = oe == null ? void 0 : oe.matches) != null && qe.call(oe, ":focus") || (oe.value = String(Se.fps)); - } catch (qt) { - (ut = console.debug) == null || ut.call(console, qt); + (He = ee == null ? void 0 : ee.matches) != null && He.call(ee, ":focus") || (ee.value = String(Me.fps)); + } catch (Qt) { + (rt = console.debug) == null || rt.call(console, Qt); } } - } catch (St) { - (jt = console.debug) == null || jt.call(console, St); + } catch (Gt) { + (St = console.debug) == null || St.call(console, Gt); } try { - const St = Number(re == null ? void 0 : re.frameCount); - Se.frameCount = Number.isFinite(St) && St > 0 ? Math.floor(St) : null; + const Gt = Number(re == null ? void 0 : re.frameCount); + Me.frameCount = Number.isFinite(Gt) && Gt > 0 ? Math.floor(Gt) : null; } catch { - Se.frameCount = null; + Me.frameCount = null; } try { - const St = Math.max(0, Ve()); - me && St > ie + 0.5 && (Se.outFrame = null), nt(), Ot(), ke(), Ct(); - } catch (St) { - (Yt = console.debug) == null || Yt.call(console, St); + const Gt = Math.max(0, Xe()); + Ie && Gt > ne + 0.5 && (Me.outFrame = null), nt(), Ot(), Re(), Wt(); + } catch (Gt) { + (Yt = console.debug) == null || Yt.call(console, Gt); } }; try { if (p) { - const re = Number(t == null ? void 0 : t.initialFps), ie = Number(t == null ? void 0 : t.initialFrameCount); - (Number.isFinite(re) || Number.isFinite(ie)) && tn({ fps: re, frameCount: ie }); + const re = Number(t == null ? void 0 : t.initialFps), ne = Number(t == null ? void 0 : t.initialFrameCount); + (Number.isFinite(re) || Number.isFinite(ne)) && vt({ fps: re, frameCount: ne }); } } catch (re) { (c = console.debug) == null || c.call(console, re); } if (p) { - const re = { active: !1, which: null, pointerId: null, ac: null, captureEl: null }, ie = (ut) => { + const re = { active: !1, which: null, pointerId: null, ac: null, captureEl: null }, ne = (rt) => { try { - const jt = b.getBoundingClientRect(), Yt = uo((Number(ut) || 0) - jt.left, 0, jt.width || 1), St = jt.width > 0 ? Yt / jt.width : 0, { maxF: qt } = mt(); - return uo(Math.round(St * qt), 0, qt); + const St = b.getBoundingClientRect(), Yt = go((Number(rt) || 0) - St.left, 0, St.width || 1), Gt = St.width > 0 ? Yt / St.width : 0, { maxF: Qt } = ut(); + return go(Math.round(Gt * Qt), 0, Qt); } catch { return 0; } - }, me = (ut, jt) => { - var St, qt, Vn, wn, xn, _t, Yn, pn, Nn; - Ee(ut); + }, Ie = (rt, St) => { + var Gt, Qt, Yn, wn, xn, en, Vn, pn, Nn; + Te(rt); try { - (qt = (St = re.ac) == null ? void 0 : St.abort) == null || qt.call(St); + (Qt = (Gt = re.ac) == null ? void 0 : Gt.abort) == null || Qt.call(Gt); } catch (ae) { - (Vn = console.debug) == null || Vn.call(console, ae); + (Yn = console.debug) == null || Yn.call(console, ae); } - re.ac = null, re.active = !0, re.which = jt, re.pointerId = ut.pointerId; + re.ac = null, re.active = !0, re.which = St, re.pointerId = rt.pointerId; try { - re.captureEl = ut.currentTarget || null; + re.captureEl = rt.currentTarget || null; } catch { re.captureEl = null; } try { - (xn = (wn = re.captureEl) == null ? void 0 : wn.setPointerCapture) == null || xn.call(wn, ut.pointerId); + (xn = (wn = re.captureEl) == null ? void 0 : wn.setPointerCapture) == null || xn.call(wn, rt.pointerId); } catch (ae) { - (_t = console.debug) == null || _t.call(console, ae); + (en = console.debug) == null || en.call(console, ae); } try { - (Yn = b.setPointerCapture) == null || Yn.call(b, ut.pointerId); + (Vn = b.setPointerCapture) == null || Vn.call(b, rt.pointerId); } catch (ae) { (pn = console.debug) == null || pn.call(console, ae); } try { const ae = new AbortController(); - re.ac = ae, window.addEventListener("pointermove", Xe, { + re.ac = ae, window.addEventListener("pointermove", Ne, { passive: !1, capture: !0, signal: ae.signal - }), window.addEventListener("pointerup", qe, { + }), window.addEventListener("pointerup", He, { passive: !1, capture: !0, signal: ae.signal - }), window.addEventListener("pointercancel", qe, { + }), window.addEventListener("pointercancel", He, { passive: !1, capture: !0, signal: ae.signal @@ -11750,94 +11765,94 @@ function qI(e, t = {}) { } catch (ae) { (Nn = console.debug) == null || Nn.call(console, ae); } - const Yt = ie(ut.clientX); - jt === "in" ? Se.inFrame = Yt : Se.outFrame = Yt, nt(), ke(), Ct(), at({ prefer: jt }); - }, Xe = (ut) => { + const Yt = ne(rt.clientX); + St === "in" ? Me.inFrame = Yt : Me.outFrame = Yt, nt(), Re(), Wt(), lt({ prefer: St }); + }, Ne = (rt) => { if (!re.active) return; - Ee(ut); - const jt = ie(ut.clientX); - re.which === "in" ? Se.inFrame = jt : Se.outFrame = jt, nt(), ke(), Ct(); - }, qe = (ut) => { - var jt, Yt, St, qt, Vn, wn, xn, _t, Yn; + Te(rt); + const St = ne(rt.clientX); + re.which === "in" ? Me.inFrame = St : Me.outFrame = St, nt(), Re(), Wt(); + }, He = (rt) => { + var St, Yt, Gt, Qt, Yn, wn, xn, en, Vn; if (re.active) { - Ee(ut), re.active = !1; + Te(rt), re.active = !1; try { - (jt = b.releasePointerCapture) == null || jt.call(b, re.pointerId); + (St = b.releasePointerCapture) == null || St.call(b, re.pointerId); } catch (pn) { (Yt = console.debug) == null || Yt.call(console, pn); } try { - (qt = (St = re.captureEl) == null ? void 0 : St.releasePointerCapture) == null || qt.call(St, re.pointerId); + (Qt = (Gt = re.captureEl) == null ? void 0 : Gt.releasePointerCapture) == null || Qt.call(Gt, re.pointerId); } catch (pn) { - (Vn = console.debug) == null || Vn.call(console, pn); + (Yn = console.debug) == null || Yn.call(console, pn); } re.captureEl = null, re.pointerId = null; try { - at({ prefer: re.which }); + lt({ prefer: re.which }); } catch (pn) { (wn = console.debug) == null || wn.call(console, pn); } try { - (_t = (xn = re.ac) == null ? void 0 : xn.abort) == null || _t.call(xn); + (en = (xn = re.ac) == null ? void 0 : xn.abort) == null || en.call(xn); } catch (pn) { - (Yn = console.debug) == null || Yn.call(console, pn); + (Vn = console.debug) == null || Vn.call(console, pn); } re.ac = null; } }; - Re.push( - _e(R, "pointerdown", (ut) => me(ut, "in"), { + Oe.push( + Qe(F, "pointerdown", (rt) => Ie(rt, "in"), { passive: !1 }) - ), Re.push( - _e(j, "pointerdown", (ut) => me(ut, "out"), { + ), Oe.push( + Qe(N, "pointerdown", (rt) => Ie(rt, "out"), { passive: !1 }) - ), Re.push( - _e(x, "pointerdown", (ut) => me(ut, "in"), { + ), Oe.push( + Qe(v, "pointerdown", (rt) => Ie(rt, "in"), { passive: !1 }) - ), Re.push( - _e(w, "pointerdown", (ut) => me(ut, "out"), { + ), Oe.push( + Qe(w, "pointerdown", (rt) => Ie(rt, "out"), { passive: !1 }) - ), Re.push(_e(b, "pointermove", Xe, { passive: !1 })), Re.push(_e(b, "pointerup", qe, { passive: !1 })), Re.push(_e(b, "pointercancel", qe, { passive: !1 })); + ), Oe.push(Qe(b, "pointermove", Ne, { passive: !1 })), Oe.push(Qe(b, "pointerup", He, { passive: !1 })), Oe.push(Qe(b, "pointercancel", He, { passive: !1 })); } - return pt(() => A.appendChild(g)), { + return bt(() => C.appendChild(g)), { controlsEl: g, - setMediaInfo: tn, + setMediaInfo: vt, setPlaybackRate: (re) => { try { - return ve(re); + return Le(re); } catch { - return Se.playbackRate || 1; + return Me.playbackRate || 1; } }, getPlaybackRate: () => { try { - return Number(Se.playbackRate) || 1; + return Number(Me.playbackRate) || 1; } catch { return 1; } }, adjustPlaybackRate: (re) => { try { - const ie = Number(re); - return Number.isFinite(ie) ? ve((Number(Se.playbackRate) || 1) + ie) : Se.playbackRate || 1; + const ne = Number(re); + return Number.isFinite(ne) ? Le((Number(Me.playbackRate) || 1) + ne) : Me.playbackRate || 1; } catch { - return Se.playbackRate || 1; + return Me.playbackRate || 1; } }, togglePlay: () => { try { - return Oe(), !0; + return pe(), !0; } catch { return !1; } }, stepFrames: (re) => { try { - return we(re), !0; + return ye(re), !0; } catch { return !1; } @@ -11845,7 +11860,7 @@ function qI(e, t = {}) { setInPoint: () => { if (!p) return !1; try { - return Se.inFrame = Ke(), nt(), ke(), Ct(), at({ prefer: "in" }), !0; + return Me.inFrame = Ee(), nt(), Re(), Wt(), lt({ prefer: "in" }), !0; } catch { return !1; } @@ -11853,7 +11868,7 @@ function qI(e, t = {}) { setOutPoint: () => { if (!p) return !1; try { - return Se.outFrame = Ke(), nt(), ke(), Ct(), at({ prefer: "out" }), !0; + return Me.outFrame = Ee(), nt(), Re(), Wt(), lt({ prefer: "out" }), !0; } catch { return !1; } @@ -11861,8 +11876,8 @@ function qI(e, t = {}) { goToIn: () => { if (!p) return !1; try { - const { inF: re } = mt(); - return ge(re), ue(), !0; + const { inF: re } = ut(); + return te(re), me(), !0; } catch { return !1; } @@ -11870,26 +11885,26 @@ function qI(e, t = {}) { goToOut: () => { if (!p) return !1; try { - const { outF: re } = mt(); - return ge(re), ue(), !0; + const { outF: re } = ut(); + return te(re), me(), !0; } catch { return !1; } }, destroy: () => { - for (const re of Re) pt(re); - pt(() => g.remove()); + for (const re of Oe) bt(re); + bt(() => g.remove()); } }; } catch { - return { controlsEl: null, destroy: Qi }; + return { controlsEl: null, destroy: eo }; } } -function EZ(e) { +function PZ(e) { const t = String(e || "").toLowerCase(); return t === "video" || t === "audio"; } -function HZ({ +function QZ({ mode: e, VIEWER_MODES: t, singleView: n, @@ -11906,7 +11921,7 @@ function HZ({ return []; } } -function qZ(e) { +function _Z(e) { try { const t = Array.isArray(e) ? e : []; return t.find((n) => { @@ -11917,19 +11932,19 @@ function qZ(e) { return null; } } -function PZ(e, t = {}) { +function $Z(e, t = {}) { try { if (!e) return null; const n = String((t == null ? void 0 : t.mediaKind) || "").toLowerCase(); - return qI(e, { ...t, mediaKind: n }); + return PI(e, { ...t, mediaKind: n }); } catch { return null; } } -const PI = "mjr_viewer_prefs_v1"; -function QZ() { +const QI = "mjr_viewer_prefs_v1"; +function eA() { try { - const e = ni.get(PI); + const e = ni.get(QI); if (!e) return {}; const t = JSON.parse(e); return t && typeof t == "object" ? t : {}; @@ -11937,7 +11952,7 @@ function QZ() { return {}; } } -function _Z(e) { +function tA(e) { var t; try { if (!e) return; @@ -11950,13 +11965,13 @@ function _Z(e) { audioVisualizerMode: String(e.audioVisualizerMode || "artistic"), abWipePercent: Number.isFinite(Number(e._abWipePercent)) ? Number(e._abWipePercent) : 50 }; - ni.set(PI, JSON.stringify(n)); + ni.set(QI, JSON.stringify(n)); } catch (n) { (t = console.debug) == null || t.call(console, n); } } -function ci(e) { - var t, n, i, o, r, l, a, c, s, d, u, I, p, M, Z, A, g, h, f, b, v, C, S, W; +function di(e) { + var t, n, i, o, r, l, a, c, s, d, u, I, p, S, A, C, g, Z, f, b, L, h, G, W; if (e) { try { (n = (t = e._mjrSyncAbort) == null ? void 0 : t.abort) == null || n.call(t); @@ -11971,59 +11986,59 @@ function ci(e) { try { const y = (r = e.querySelectorAll) == null ? void 0 : r.call(e, "video, audio"); if (y && y.length) - for (const k of y) { + for (const X of y) { try { - (l = k.pause) == null || l.call(k); - } catch (G) { - (a = console.debug) == null || a.call(console, G); + (l = X.pause) == null || l.call(X); + } catch (x) { + (a = console.debug) == null || a.call(console, x); } try { - (s = (c = k == null ? void 0 : k._mjrAudioViz) == null ? void 0 : c.destroy) == null || s.call(c); - } catch (G) { - (d = console.debug) == null || d.call(console, G); + (s = (c = X == null ? void 0 : X._mjrAudioViz) == null ? void 0 : c.destroy) == null || s.call(c); + } catch (x) { + (d = console.debug) == null || d.call(console, x); } try { - k._mjrAudioViz = null; - } catch (G) { - (u = console.debug) == null || u.call(console, G); + X._mjrAudioViz = null; + } catch (x) { + (u = console.debug) == null || u.call(console, x); } try { - k.currentTime = 0; - } catch (G) { - (I = console.debug) == null || I.call(console, G); + X.currentTime = 0; + } catch (x) { + (I = console.debug) == null || I.call(console, x); } try { - (p = k.removeAttribute) == null || p.call(k, "src"); - } catch (G) { - (M = console.debug) == null || M.call(console, G); + (p = X.removeAttribute) == null || p.call(X, "src"); + } catch (x) { + (S = console.debug) == null || S.call(console, x); } try { - (Z = k.load) == null || Z.call(k); - } catch (G) { - (A = console.debug) == null || A.call(console, G); + (A = X.load) == null || A.call(X); + } catch (x) { + (C = console.debug) == null || C.call(console, x); } } } catch (y) { (g = console.debug) == null || g.call(console, y); } try { - const y = (h = e.querySelectorAll) == null ? void 0 : h.call(e, ".mjr-viewer-media, .mjr-viewer-audio-viz"); + const y = (Z = e.querySelectorAll) == null ? void 0 : Z.call(e, ".mjr-viewer-media, .mjr-viewer-audio-viz"); if (y && y.length) - for (const k of y) { + for (const X of y) { try { - (b = (f = k == null ? void 0 : k._mjrProc) == null ? void 0 : f.destroy) == null || b.call(f); - } catch (G) { - (v = console.debug) == null || v.call(console, G); + (b = (f = X == null ? void 0 : X._mjrProc) == null ? void 0 : f.destroy) == null || b.call(f); + } catch (x) { + (L = console.debug) == null || L.call(console, x); } try { - k._mjrProc = null; - } catch (G) { - (C = console.debug) == null || C.call(console, G); + X._mjrProc = null; + } catch (x) { + (h = console.debug) == null || h.call(console, x); } try { - k.width = 0, k.height = 0; - } catch (G) { - (S = console.debug) == null || S.call(console, G); + X.width = 0, X.height = 0; + } catch (x) { + (G = console.debug) == null || G.call(console, x); } } } catch (y) { @@ -12031,7 +12046,7 @@ function ci(e) { } } } -function $Z(e) { +function nA(e) { var i, o, r; const t = []; try { @@ -12041,9 +12056,9 @@ function $Z(e) { } const n = { unsubs: t, - safeAddListener: _e, - safeCall: pt, - destroyMediaProcessorsIn: ci, + safeAddListener: Qe, + safeCall: bt, + destroyMediaProcessorsIn: di, _observer: null, disposeAll: () => { var l, a, c, s, d; @@ -12053,7 +12068,7 @@ function $Z(e) { (c = console.debug) == null || c.call(console, u); } try { - for (const u of t) pt(u); + for (const u of t) bt(u); } catch (u) { (s = console.debug) == null || s.call(console, u); } @@ -12075,7 +12090,7 @@ function $Z(e) { } catch (d) { (c = console.debug) == null || c.call(console, d); } - pt(() => { + bt(() => { var d; return (d = n.disposeAll) == null ? void 0 : d.call(n); }, "lifecycle:autoDispose"); @@ -12096,7 +12111,7 @@ function $Z(e) { } return n; } -function yl(e, t) { +function fl(e, t) { var i; const n = document.createElement("button"); n.textContent = e, n.title = t || ""; @@ -12123,7 +12138,7 @@ function yl(e, t) { n.disabled || (n.style.background = "transparent"); }, n; } -function fc(e, t) { +function hc(e, t) { var i; const n = document.createElement("button"); n.textContent = e, n.dataset.mode = t; @@ -12143,7 +12158,7 @@ function fc(e, t) { transition: all 0.16s; `, n; } -function Wr(e, t) { +function Sr(e, t) { const n = String(e || "").trim(), i = String(t || "").trim(); if (!i) return n; if (!n) return i; @@ -12155,16 +12170,16 @@ function Wr(e, t) { return n; return `${n} (${i})`; } -function QI(e, t, n, { setAriaLabel: i = !0, ariaLabel: o = null } = {}) { +function _I(e, t, n, { setAriaLabel: i = !0, ariaLabel: o = null } = {}) { if (!e) return ""; - const r = Wr(t, n); + const r = Sr(t, n); if (e.title = r, i) { const l = o ?? t; - e.setAttribute("aria-label", Wr(l, n)); + e.setAttribute("aria-label", Sr(l, n)); } return r; } -function eA({ +function iA({ VIEWER_MODES: e, state: t, onToolsChanged: n, @@ -12174,7 +12189,7 @@ function eA({ onAudioVizModeChanged: l, getCanAB: a } = {}) { - var Ee, Re, wt, Se, Ft, Gt, ue, He, ve, Ot, Ve, Ke, Be, nt, mt, bt, st; + var Te, Oe, pt, Me, Xt, Mt, me, Pe, Le, Ot, Xe, Ee, Ke, nt, ut, It, dt; const c = { channel: "rgb", exposureEV: 0, @@ -12201,33 +12216,33 @@ function eA({ `; const d = document.createElement("div"); d.className = "mjr-viewer-tools-deck", d.style.cssText = "display:flex; flex-wrap:nowrap; gap:8px; align-items:center; min-width:0; overflow-x:auto; overflow-y:hidden;"; - const u = ({ key: ke, eyebrow: Ct, title: at } = {}) => { - const zt = document.createElement("section"); - zt.className = "mjr-viewer-tools-panel", ke && (zt.dataset.panel = String(ke)), zt.style.cssText = "display:flex; flex-direction:column; gap:4px; min-width:0; padding:5px 6px; border-radius:10px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,0.04); flex:0 0 auto;"; - const Zt = document.createElement("div"); - Zt.className = "mjr-viewer-tools-panel-head", Zt.style.cssText = "display:none; align-items:flex-start; justify-content:space-between; gap:6px; min-width:0;"; - const gt = document.createElement("div"); - gt.className = "mjr-viewer-tools-panel-heading", gt.style.cssText = "display:flex; flex-direction:column; gap:1px; min-width:0;"; + const u = ({ key: Re, eyebrow: Wt, title: lt } = {}) => { + const qt = document.createElement("section"); + qt.className = "mjr-viewer-tools-panel", Re && (qt.dataset.panel = String(Re)), qt.style.cssText = "display:flex; flex-direction:column; gap:4px; min-width:0; padding:5px 6px; border-radius:10px; border:1px solid rgba(255,255,255,0.08); background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,0.04); flex:0 0 auto;"; + const yt = document.createElement("div"); + yt.className = "mjr-viewer-tools-panel-head", yt.style.cssText = "display:none; align-items:flex-start; justify-content:space-between; gap:6px; min-width:0;"; + const mt = document.createElement("div"); + mt.className = "mjr-viewer-tools-panel-heading", mt.style.cssText = "display:flex; flex-direction:column; gap:1px; min-width:0;"; const kt = document.createElement("span"); - kt.className = "mjr-viewer-tools-panel-eyebrow", kt.textContent = Ct || ""; - const Qt = document.createElement("span"); - Qt.className = "mjr-viewer-tools-panel-title", Qt.textContent = at || ""; - const te = document.createElement("div"); - return te.className = "mjr-viewer-tools-panel-body", te.style.cssText = "display:flex; align-items:center; flex-wrap:nowrap; gap:6px; min-width:0;", gt.appendChild(kt), gt.appendChild(Qt), Zt.appendChild(gt), zt.appendChild(Zt), zt.appendChild(te), { panel: zt, body: te, head: Zt, heading: gt, eyebrowEl: kt, titleEl: Qt }; - }, I = u({ key: "grade", eyebrow: "Image", title: "Adjustments" }), p = u({ key: "overlay", eyebrow: "Viewer", title: "Guides & Compare" }), M = u({ key: "inspect", eyebrow: "Inspect", title: "Probe" }), Z = u({ key: "actions", eyebrow: "Actions", title: "Reset & Export" }), A = u({ key: "info", eyebrow: "Infos", title: "Help" }), g = document.createElement("div"); + kt.className = "mjr-viewer-tools-panel-eyebrow", kt.textContent = Wt || ""; + const $t = document.createElement("span"); + $t.className = "mjr-viewer-tools-panel-title", $t.textContent = lt || ""; + const Tt = document.createElement("div"); + return Tt.className = "mjr-viewer-tools-panel-body", Tt.style.cssText = "display:flex; align-items:center; flex-wrap:nowrap; gap:6px; min-width:0;", mt.appendChild(kt), mt.appendChild($t), yt.appendChild(mt), qt.appendChild(yt), qt.appendChild(Tt), { panel: qt, body: Tt, head: yt, heading: mt, eyebrowEl: kt, titleEl: $t }; + }, I = u({ key: "grade", eyebrow: "Image", title: "Adjustments" }), p = u({ key: "overlay", eyebrow: "Viewer", title: "Guides & Compare" }), S = u({ key: "inspect", eyebrow: "Inspect", title: "Probe" }), A = u({ key: "actions", eyebrow: "Actions", title: "Reset & Export" }), C = u({ key: "info", eyebrow: "Infos", title: "Help" }), g = document.createElement("div"); g.className = "mjr-viewer-tools-actions", g.style.cssText = "display:flex; align-items:center; justify-content:flex-start; gap:6px; flex-wrap:wrap; min-width:0;"; - const h = document.createElement("div"); - h.className = "mjr-viewer-tools-meta", h.style.cssText = "display:flex; align-items:center; justify-content:flex-start; gap:6px; flex-wrap:nowrap; min-width:0;"; - const f = ({ key: ke, label: Ct, accentRgb: at } = {}) => { - const zt = document.createElement("div"); - if (zt.className = "mjr-viewer-tools-group", ke && (zt.dataset.group = String(ke)), at && zt.style.setProperty("--mjr-group-accent", String(at)), zt.style.cssText = "display:flex; align-items:center; gap:6px; padding:2px 6px; border-radius:8px; border:1px solid rgba(196,202,210,0.14); background:rgba(10,12,16,0.22);", Ct) { - const Zt = document.createElement("span"); - Zt.className = "mjr-viewer-tools-group-label", Zt.textContent = Ct, Zt.style.cssText = "font-size: 10px; color: rgba(255,255,255,0.7);", zt.appendChild(Zt); + const Z = document.createElement("div"); + Z.className = "mjr-viewer-tools-meta", Z.style.cssText = "display:flex; align-items:center; justify-content:flex-start; gap:6px; flex-wrap:nowrap; min-width:0;"; + const f = ({ key: Re, label: Wt, accentRgb: lt } = {}) => { + const qt = document.createElement("div"); + if (qt.className = "mjr-viewer-tools-group", Re && (qt.dataset.group = String(Re)), lt && qt.style.setProperty("--mjr-group-accent", String(lt)), qt.style.cssText = "display:flex; align-items:center; gap:6px; padding:2px 6px; border-radius:8px; border:1px solid rgba(196,202,210,0.14); background:rgba(10,12,16,0.22);", Wt) { + const yt = document.createElement("span"); + yt.className = "mjr-viewer-tools-group-label", yt.textContent = Wt, yt.style.cssText = "font-size: 10px; color: rgba(255,255,255,0.7);", qt.appendChild(yt); } - return zt; - }, b = (ke, Ct) => { - const at = document.createElement("select"); - at.title = ke || "", at.className = "mjr-viewer-tools-select", at.style.cssText = ` + return qt; + }, b = (Re, Wt) => { + const lt = document.createElement("select"); + lt.title = Re || "", lt.className = "mjr-viewer-tools-select", lt.style.cssText = ` height: 24px; padding: 0 6px; border-radius: 6px; @@ -12237,38 +12252,38 @@ function eA({ font-size: 11px; outline: none; `; - for (const zt of Ct || []) { - const Zt = document.createElement("option"); - Zt.value = String(zt.value), Zt.textContent = String(zt.label), at.appendChild(Zt); + for (const qt of Wt || []) { + const yt = document.createElement("option"); + yt.value = String(qt.value), yt.textContent = String(qt.label), lt.appendChild(yt); } - return at; - }, v = (ke, { min: Ct, max: at, step: zt, value: Zt }) => { - const gt = document.createElement("div"); - gt.className = "mjr-viewer-tools-range", gt.style.cssText = "display:flex; align-items:center; gap:6px;"; + return lt; + }, L = (Re, { min: Wt, max: lt, step: qt, value: yt }) => { + const mt = document.createElement("div"); + mt.className = "mjr-viewer-tools-range", mt.style.cssText = "display:flex; align-items:center; gap:6px;"; const kt = document.createElement("input"); - kt.type = "range", kt.className = "mjr-viewer-tools-range-input", kt.min = String(Ct), kt.max = String(at), kt.step = String(zt), kt.value = String(Zt), kt.title = ke || "", kt.style.cssText = ` + kt.type = "range", kt.className = "mjr-viewer-tools-range-input", kt.min = String(Wt), kt.max = String(lt), kt.step = String(qt), kt.value = String(yt), kt.title = Re || "", kt.style.cssText = ` width: 92px; accent-color: rgba(255,255,255,0.85); `; - const Qt = document.createElement("span"); - return Qt.style.cssText = "font-size: 11px; color: rgba(255,255,255,0.9); min-width: 38px; text-align: right;", Qt.textContent = String(Zt), gt.appendChild(kt), gt.appendChild(Qt), { wrap: gt, input: kt, out: Qt }; - }, C = (ke, Ct, { iconClass: at = null, accentRgb: zt = null } = {}) => { + const $t = document.createElement("span"); + return $t.style.cssText = "font-size: 11px; color: rgba(255,255,255,0.9); min-width: 38px; text-align: right;", $t.textContent = String(yt), mt.appendChild(kt), mt.appendChild($t), { wrap: mt, input: kt, out: $t }; + }, h = (Re, Wt, { iconClass: lt = null, accentRgb: qt = null } = {}) => { var kt; - const Zt = document.createElement("button"); - if (Zt.type = "button", Zt.className = "mjr-viewer-tool-btn", Zt.setAttribute("aria-label", Ct || ke || "Toggle"), Zt.setAttribute("aria-pressed", "false"), zt) + const yt = document.createElement("button"); + if (yt.type = "button", yt.className = "mjr-viewer-tool-btn", yt.setAttribute("aria-label", Wt || Re || "Toggle"), yt.setAttribute("aria-pressed", "false"), qt) try { - Zt.dataset.accentRgb = String(zt); - } catch (Qt) { - (kt = console.debug) == null || kt.call(console, Qt); + yt.dataset.accentRgb = String(qt); + } catch ($t) { + (kt = console.debug) == null || kt.call(console, $t); } - if (at) { - const Qt = document.createElement("span"); - Qt.className = `pi ${at}`.trim(), Qt.setAttribute("aria-hidden", "true"), Qt.style.fontSize = "14px", Zt.appendChild(Qt); - const te = document.createElement("span"); - te.textContent = ke || "", te.style.cssText = "position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;", Zt.appendChild(te); + if (lt) { + const $t = document.createElement("span"); + $t.className = `pi ${lt}`.trim(), $t.setAttribute("aria-hidden", "true"), $t.style.fontSize = "14px", yt.appendChild($t); + const Tt = document.createElement("span"); + Tt.textContent = Re || "", Tt.style.cssText = "position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;", yt.appendChild(Tt); } else - Zt.textContent = ke; - Zt.title = Ct || "", Zt.style.cssText = ` + yt.textContent = Re; + yt.title = Wt || "", yt.style.cssText = ` height: 24px; padding: 0 8px; border-radius: 6px; @@ -12283,21 +12298,21 @@ function eA({ justify-content: center; gap: 6px; position: relative; - `, Zt.dataset.active = "0"; - const gt = (Qt) => { - var we, be; - const te = !!Qt; - Zt.dataset.active = te ? "1" : "0"; + `, yt.dataset.active = "0"; + const mt = ($t) => { + var ye, We; + const Tt = !!$t; + yt.dataset.active = Tt ? "1" : "0"; try { - Zt.setAttribute("aria-pressed", te ? "true" : "false"); - } catch (Oe) { - (we = console.debug) == null || we.call(console, Oe); + yt.setAttribute("aria-pressed", Tt ? "true" : "false"); + } catch (pe) { + (ye = console.debug) == null || ye.call(console, pe); } - const ge = String(((be = Zt.dataset) == null ? void 0 : be.accentRgb) || "").trim(); - te && ge ? (Zt.style.background = `rgba(${ge}, 0.12)`, Zt.style.borderColor = `rgba(${ge}, 0.38)`, Zt.style.boxShadow = `0 0 0 0.8px rgba(${ge}, 0.12) inset`) : (Zt.style.background = te ? "rgba(214,218,224,0.12)" : "rgba(210,214,220,0.06)", Zt.style.borderColor = te ? "rgba(214,218,224,0.38)" : "rgba(196,202,210,0.24)", Zt.style.boxShadow = ""); + const te = String(((We = yt.dataset) == null ? void 0 : We.accentRgb) || "").trim(); + Tt && te ? (yt.style.background = `rgba(${te}, 0.12)`, yt.style.borderColor = `rgba(${te}, 0.38)`, yt.style.boxShadow = `0 0 0 0.8px rgba(${te}, 0.12) inset`) : (yt.style.background = Tt ? "rgba(214,218,224,0.12)" : "rgba(210,214,220,0.06)", yt.style.borderColor = Tt ? "rgba(214,218,224,0.38)" : "rgba(196,202,210,0.24)", yt.style.boxShadow = ""); }; - return gt(!1), { b: Zt, setActive: gt }; - }, S = b("Channel View", [ + return mt(!1), { b: yt, setActive: mt }; + }, G = b("Channel View", [ { value: "rgb", label: "RGB" }, { value: "r", label: "R" }, { value: "g", label: "G" }, @@ -12305,8 +12320,8 @@ function eA({ { value: "a", label: "Alpha" }, { value: "l", label: "Luma" } ]); - S.title = m("tooltip.colorChannels", "View color channels or luminance"); - const W = v("Exposure (EV)", { min: -10, max: 10, step: 0.1, value: 0 }), y = v("Gamma", { min: 0.1, max: 3, step: 0.01, value: 1 }), k = Object.freeze({ + G.title = m("tooltip.colorChannels", "View color channels or luminance"); + const W = L("Exposure (EV)", { min: -10, max: 10, step: 0.1, value: 0 }), y = L("Gamma", { min: 0.1, max: 3, step: 0.01, value: 1 }), X = Object.freeze({ channel: "120, 180, 255", exposure: "255, 200, 70", gamma: "190, 150, 255", @@ -12318,115 +12333,115 @@ function eA({ compare: "90, 220, 220", geninfo: "200, 170, 255", audioviz: "255, 150, 80" - }), G = Object.freeze({ + }), x = Object.freeze({ borderColor: "rgba(255,255,255,0.14)", background: "rgba(255,255,255,0.08)", boxShadow: "" - }), z = (ke, { accentRgb: Ct, active: at, title: zt } = {}) => { - var Zt; + }), T = (Re, { accentRgb: Wt, active: lt, title: qt } = {}) => { + var yt; try { - if (!ke) return; - if (zt && (ke.title = String(zt)), !!!at) { - ke.style.borderColor = G.borderColor, ke.style.background = G.background, ke.style.boxShadow = G.boxShadow; + if (!Re) return; + if (qt && (Re.title = String(qt)), !!!lt) { + Re.style.borderColor = x.borderColor, Re.style.background = x.background, Re.style.boxShadow = x.boxShadow; return; } - const kt = String(Ct || "").trim(); + const kt = String(Wt || "").trim(); if (!kt) return; - ke.style.borderColor = `rgba(${kt},0.55)`, ke.style.background = `rgba(${kt},0.14)`, ke.style.boxShadow = `0 0 0 1px rgba(${kt},0.14) inset`; - } catch (gt) { - (Zt = console.debug) == null || Zt.call(console, gt); + Re.style.borderColor = `rgba(${kt},0.55)`, Re.style.background = `rgba(${kt},0.14)`, Re.style.boxShadow = `0 0 0 1px rgba(${kt},0.14) inset`; + } catch (mt) { + (yt = console.debug) == null || yt.call(console, mt); } - }, x = (ke) => { - var Ct; + }, v = (Re) => { + var Wt; try { - const at = String(ke || "rgb"), zt = "rgba(255,255,255,0.14)", Zt = "rgba(255,255,255,0.08)"; - if (S.style.boxShadow = "", at === "r") { - S.style.borderColor = "rgba(255,90,90,0.60)", S.style.background = "rgba(255,90,90,0.14)", S.style.boxShadow = "0 0 0 1px rgba(255,90,90,0.14) inset"; + const lt = String(Re || "rgb"), qt = "rgba(255,255,255,0.14)", yt = "rgba(255,255,255,0.08)"; + if (G.style.boxShadow = "", lt === "r") { + G.style.borderColor = "rgba(255,90,90,0.60)", G.style.background = "rgba(255,90,90,0.14)", G.style.boxShadow = "0 0 0 1px rgba(255,90,90,0.14) inset"; return; } - if (at === "g") { - S.style.borderColor = "rgba(90,255,140,0.55)", S.style.background = "rgba(90,255,140,0.12)", S.style.boxShadow = "0 0 0 1px rgba(90,255,140,0.12) inset"; + if (lt === "g") { + G.style.borderColor = "rgba(90,255,140,0.55)", G.style.background = "rgba(90,255,140,0.12)", G.style.boxShadow = "0 0 0 1px rgba(90,255,140,0.12) inset"; return; } - if (at === "b") { - S.style.borderColor = "rgba(90,160,255,0.60)", S.style.background = "rgba(90,160,255,0.12)", S.style.boxShadow = "0 0 0 1px rgba(90,160,255,0.12) inset"; + if (lt === "b") { + G.style.borderColor = "rgba(90,160,255,0.60)", G.style.background = "rgba(90,160,255,0.12)", G.style.boxShadow = "0 0 0 1px rgba(90,160,255,0.12) inset"; return; } - if (at === "l") { - S.style.borderColor = "rgba(255,210,90,0.60)", S.style.background = "rgba(255,210,90,0.12)", S.style.boxShadow = "0 0 0 1px rgba(255,210,90,0.12) inset"; + if (lt === "l") { + G.style.borderColor = "rgba(255,210,90,0.60)", G.style.background = "rgba(255,210,90,0.12)", G.style.boxShadow = "0 0 0 1px rgba(255,210,90,0.12) inset"; return; } - if (at === "a") { - S.style.borderColor = "rgba(220,220,220,0.35)", S.style.background = "rgba(255,255,255,0.10)", S.style.boxShadow = "0 0 0 1px rgba(255,255,255,0.08) inset"; + if (lt === "a") { + G.style.borderColor = "rgba(220,220,220,0.35)", G.style.background = "rgba(255,255,255,0.10)", G.style.boxShadow = "0 0 0 1px rgba(255,255,255,0.08) inset"; return; } - if (at === "rgb") { - S.style.borderColor = "rgba(255,255,255,0.22)", S.style.background = "linear-gradient(90deg, rgba(255,90,90,0.16), rgba(90,255,140,0.14), rgba(90,160,255,0.16))", S.style.boxShadow = "0 0 0 1px rgba(255,255,255,0.10) inset"; + if (lt === "rgb") { + G.style.borderColor = "rgba(255,255,255,0.22)", G.style.background = "linear-gradient(90deg, rgba(255,90,90,0.16), rgba(90,255,140,0.14), rgba(90,160,255,0.16))", G.style.boxShadow = "0 0 0 1px rgba(255,255,255,0.10) inset"; return; } - S.style.borderColor = zt, S.style.background = Zt; - } catch (at) { - (Ct = console.debug) == null || Ct.call(console, at); + G.style.borderColor = qt, G.style.background = yt; + } catch (lt) { + (Wt = console.debug) == null || Wt.call(console, lt); } - }, w = (ke, { accentRgb: Ct, active: at } = {}) => { - var zt; + }, w = (Re, { accentRgb: Wt, active: lt } = {}) => { + var qt; try { - if (!ke) return; - if (!!!at) { - ke.style.color = "rgba(255,255,255,0.9)"; + if (!Re) return; + if (!!!lt) { + Re.style.color = "rgba(255,255,255,0.9)"; return; } - const gt = String(Ct || "").trim(); - if (!gt) return; - ke.style.color = `rgb(${gt})`; - } catch (Zt) { - (zt = console.debug) == null || zt.call(console, Zt); + const mt = String(Wt || "").trim(); + if (!mt) return; + Re.style.color = `rgb(${mt})`; + } catch (yt) { + (qt = console.debug) == null || qt.call(console, yt); } - }, X = (ke, { accentRgb: Ct, active: at } = {}) => { - var zt; + }, R = (Re, { accentRgb: Wt, active: lt } = {}) => { + var qt; try { - if (!ke) return; - if (!!!at) { - ke.style.background = "", ke.style.borderColor = "transparent", ke.style.boxShadow = ""; + if (!Re) return; + if (!!!lt) { + Re.style.background = "", Re.style.borderColor = "transparent", Re.style.boxShadow = ""; return; } - const gt = String(Ct || "").trim(); - if (!gt) return; - ke.style.background = `rgba(${gt},0.10)`, ke.style.borderColor = `rgba(${gt},0.38)`, ke.style.boxShadow = `0 0 0 1px rgba(${gt},0.12) inset`; - } catch (Zt) { - (zt = console.debug) == null || zt.call(console, Zt); + const mt = String(Wt || "").trim(); + if (!mt) return; + Re.style.background = `rgba(${mt},0.10)`, Re.style.borderColor = `rgba(${mt},0.38)`, Re.style.boxShadow = `0 0 0 1px rgba(${mt},0.12) inset`; + } catch (yt) { + (qt = console.debug) == null || qt.call(console, yt); } - }, V = C("Zebra", "Zebra Highlights (Z)", { + }, Y = h("Zebra", "Zebra Highlights (Z)", { iconClass: "pi-bars", - accentRgb: k.zebra - }), R = C("Scopes", "Scopes overlay", { + accentRgb: X.zebra + }), F = h("Scopes", "Scopes overlay", { iconClass: "pi-chart-bar", - accentRgb: k.analysis - }), j = b("Scopes", [ + accentRgb: X.analysis + }), N = b("Scopes", [ { value: "off", label: "Off" }, { value: "hist", label: "Histogram" }, { value: "wave", label: "Waveform" }, { value: "both", label: "Both" } ]); - j.title = m("tooltip.scopesHistogram", "Show histogram/waveform scopes"); - const L = C("Grid", "Grid (G)", { + N.title = m("tooltip.scopesHistogram", "Show histogram/waveform scopes"); + const V = h("Grid", "Grid (G)", { iconClass: "pi-th-large", - accentRgb: k.overlay - }), N = b("Grid Overlay", [ + accentRgb: X.overlay + }), k = b("Grid Overlay", [ { value: 0, label: "Off" }, { value: 1, label: "Thirds" }, { value: 2, label: "Center" }, { value: 3, label: "Safe" }, { value: 4, label: "Golden" } ]); - N.title = Wr( + k.title = Sr( m("tooltip.gridOverlay", "Grid overlay (rule of thirds, center)"), "G" ); - const q = C("Mask", "Format mask (dim outside)", { + const K = h("Mask", "Format mask (dim outside)", { iconClass: "pi-stop", - accentRgb: k.overlay - }), O = b("Format", [ + accentRgb: X.overlay + }), z = b("Format", [ { value: "image", label: "Image" }, { value: "16:9", label: "16:9" }, { value: "1:1", label: "1:1" }, @@ -12434,32 +12449,32 @@ function eA({ { value: "2.39", label: "2.39" }, { value: "9:16", label: "9:16" } ]); - O.title = m("tooltip.aspectRatioMask", "Aspect ratio overlay mask"); - const B = v("Mask Opacity", { + z.title = m("tooltip.aspectRatioMask", "Aspect ratio overlay mask"); + const B = L("Mask Opacity", { min: 0, max: 0.9, step: 0.05, value: 0.65 - }), J = C("Probe", "Pixel Probe (I)", { + }), J = h("Probe", "Pixel Probe (I)", { iconClass: "pi-eye", - accentRgb: k.probe - }), T = C("Loupe", "Loupe (L)", { + accentRgb: X.probe + }), P = h("Loupe", "Loupe (L)", { iconClass: "pi-search-plus", - accentRgb: k.loupe - }), D = C("HUD", "Viewer HUD", { + accentRgb: X.loupe + }), H = h("HUD", "Viewer HUD", { iconClass: "pi-info-circle", - accentRgb: k.overlay - }), Q = C("Focus", "Distraction-free mode (X)", { + accentRgb: X.overlay + }), $ = h("Focus", "Distraction-free mode (X)", { iconClass: "pi-window-maximize", - accentRgb: k.overlay - }), E = C( + accentRgb: X.overlay + }), E = h( "Gen", - Wr("Generation info (prompt/model)", "D"), + Sr("Generation info (prompt/model)", "D"), { iconClass: "pi-book", - accentRgb: k.geninfo + accentRgb: X.geninfo } - ), K = b("A/B Compare Mode", [ + ), oe = b("A/B Compare Mode", [ { value: "wipe", label: "Wipe (H)" }, { value: "wipeV", label: "Wipe (V)" }, { value: "difference", label: "Difference" }, @@ -12469,124 +12484,124 @@ function eA({ { value: "multiply", label: "Multiply" }, { value: "screen", label: "Screen" } ]); - K.title = m("tooltip.compareBlendMode", "Compare blend mode"); - const F = b("Audio Visualizer", [ + oe.title = m("tooltip.compareBlendMode", "Compare blend mode"); + const M = b("Audio Visualizer", [ { value: "simple", label: "Simple" }, { value: "artistic", label: "Artistic" } ]); - F.title = m("tooltip.audioVisualizer", "Audio visualizer mode"); - const Y = yl( + M.title = m("tooltip.audioVisualizer", "Audio visualizer mode"); + const j = fl( "Reset", m("tooltip.resetPlayerControls", "Reset all viewer controls") ); - Y.style.height = "26px", Y.style.fontSize = "11px", Y.style.padding = "0 8px", (Re = (Ee = Y.classList) == null ? void 0 : Ee.add) == null || Re.call(Ee, "mjr-viewer-tool-btn", "mjr-viewer-tool-btn--reset"), (Se = (wt = Y.classList) == null ? void 0 : wt.add) == null || Se.call(wt, "mjr-viewer-tools-action", "mjr-viewer-tools-action--primary"), Y.style.marginLeft = "auto"; - const U = document.createElement("button"); - U.type = "button", U.title = m("tooltip.exportFrame", "Save current frame as PNG"), U.setAttribute("aria-label", m("tooltip.exportFrame", "Save frame as PNG")), U.className = "mjr-viewer-tool-btn mjr-viewer-tool-btn--reset", U.style.cssText = "height:24px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center;"; - const P = document.createElement("span"); - P.className = "pi pi-download", P.setAttribute("aria-hidden", "true"), P.style.fontSize = "14px", U.appendChild(P), (Gt = (Ft = U.classList) == null ? void 0 : Ft.add) == null || Gt.call(Ft, "mjr-viewer-tools-action"); + j.style.height = "26px", j.style.fontSize = "11px", j.style.padding = "0 8px", (Oe = (Te = j.classList) == null ? void 0 : Te.add) == null || Oe.call(Te, "mjr-viewer-tool-btn", "mjr-viewer-tool-btn--reset"), (Me = (pt = j.classList) == null ? void 0 : pt.add) == null || Me.call(pt, "mjr-viewer-tools-action", "mjr-viewer-tools-action--primary"), j.style.marginLeft = "auto"; + const O = document.createElement("button"); + O.type = "button", O.title = m("tooltip.exportFrame", "Save current frame as PNG"), O.setAttribute("aria-label", m("tooltip.exportFrame", "Save frame as PNG")), O.className = "mjr-viewer-tool-btn mjr-viewer-tool-btn--reset", O.style.cssText = "height:24px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center;"; + const D = document.createElement("span"); + D.className = "pi pi-download", D.setAttribute("aria-hidden", "true"), D.style.fontSize = "14px", O.appendChild(D), (Mt = (Xt = O.classList) == null ? void 0 : Xt.add) == null || Mt.call(Xt, "mjr-viewer-tools-action"); try { - U.style.display = "none"; - } catch (ke) { - (ue = console.debug) == null || ue.call(console, ke); + O.style.display = "none"; + } catch (Re) { + (me = console.debug) == null || me.call(console, Re); } - const ee = document.createElement("button"); - ee.type = "button", ee.title = m("tooltip.copyFrame", "Copy current frame to clipboard"), ee.setAttribute("aria-label", m("tooltip.copyFrame", "Copy frame to clipboard")), ee.className = "mjr-viewer-tool-btn mjr-viewer-tool-btn--reset", ee.style.cssText = "height:24px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center;"; - const oe = document.createElement("span"); - oe.className = "pi pi-copy", oe.setAttribute("aria-hidden", "true"), oe.style.fontSize = "14px", ee.appendChild(oe), (ve = (He = ee.classList) == null ? void 0 : He.add) == null || ve.call(He, "mjr-viewer-tools-action"); + const q = document.createElement("button"); + q.type = "button", q.title = m("tooltip.copyFrame", "Copy current frame to clipboard"), q.setAttribute("aria-label", m("tooltip.copyFrame", "Copy frame to clipboard")), q.className = "mjr-viewer-tool-btn mjr-viewer-tool-btn--reset", q.style.cssText = "height:24px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center;"; + const ee = document.createElement("span"); + ee.className = "pi pi-copy", ee.setAttribute("aria-hidden", "true"), ee.style.fontSize = "14px", q.appendChild(ee), (Le = (Pe = q.classList) == null ? void 0 : Pe.add) == null || Le.call(Pe, "mjr-viewer-tools-action"); try { - ee.style.display = "none"; - } catch (ke) { - (Ot = console.debug) == null || Ot.call(console, ke); + q.style.display = "none"; + } catch (Re) { + (Ot = console.debug) == null || Ot.call(console, Re); } - const ce = f({ key: "channel", label: "Channel", accentRgb: k.channel }); - ce.appendChild(S), I.body.appendChild(ce); - const pe = f({ key: "exposure", label: "EV", accentRgb: k.exposure }); - pe.appendChild(W.wrap), I.body.appendChild(pe); - const H = f({ key: "gamma", label: "Gamma", accentRgb: k.gamma }); - H.appendChild(y.wrap), I.body.appendChild(H); - const $ = () => { - var ke, Ct; + const ce = f({ key: "channel", label: "Channel", accentRgb: X.channel }); + ce.appendChild(G), I.body.appendChild(ce); + const ue = f({ key: "exposure", label: "EV", accentRgb: X.exposure }); + ue.appendChild(W.wrap), I.body.appendChild(ue); + const U = f({ key: "gamma", label: "Gamma", accentRgb: X.gamma }); + U.appendChild(y.wrap), I.body.appendChild(U); + const Q = () => { + var Re, Wt; try { t.exposureEV = 0; - } catch (at) { - (ke = console.debug) == null || ke.call(console, at); + } catch (lt) { + (Re = console.debug) == null || Re.call(console, lt); } try { W.input.value = "0", W.out.textContent = "0.0EV"; - } catch (at) { - (Ct = console.debug) == null || Ct.call(console, at); + } catch (lt) { + (Wt = console.debug) == null || Wt.call(console, lt); } - pt(n); + bt(n); }, _ = () => { - var ke, Ct; + var Re, Wt; try { t.gamma = 1; - } catch (at) { - (ke = console.debug) == null || ke.call(console, at); + } catch (lt) { + (Re = console.debug) == null || Re.call(console, lt); } try { y.input.value = "1", y.out.textContent = "1.00"; - } catch (at) { - (Ct = console.debug) == null || Ct.call(console, at); + } catch (lt) { + (Wt = console.debug) == null || Wt.call(console, lt); } - pt(n); + bt(n); }, le = () => { - var ke; + var Re; try { Object.assign(t, c); - } catch (Ct) { - (ke = console.debug) == null || ke.call(console, Ct); + } catch (Wt) { + (Re = console.debug) == null || Re.call(console, Wt); } - pt(i), pt(l), pt(n); + bt(i), bt(l), bt(n); }; try { - const ke = (Ve = pe.querySelector) == null ? void 0 : Ve.call(pe, ".mjr-viewer-tools-group-label"); - ke && (ke.title = m("tooltip.resetExposure", "Reset EV to 0"), ke.style.cursor = "pointer", ke.style.userSelect = "none"); - } catch (ke) { - (Ke = console.debug) == null || Ke.call(console, ke); + const Re = (Xe = ue.querySelector) == null ? void 0 : Xe.call(ue, ".mjr-viewer-tools-group-label"); + Re && (Re.title = m("tooltip.resetExposure", "Reset EV to 0"), Re.style.cursor = "pointer", Re.style.userSelect = "none"); + } catch (Re) { + (Ee = console.debug) == null || Ee.call(console, Re); } try { W.out.title = m("tooltip.resetExposure", "Reset EV to 0"), W.out.style.cursor = "pointer", W.out.style.userSelect = "none"; - } catch (ke) { - (Be = console.debug) == null || Be.call(console, ke); + } catch (Re) { + (Ke = console.debug) == null || Ke.call(console, Re); } try { - const ke = (nt = H.querySelector) == null ? void 0 : nt.call(H, ".mjr-viewer-tools-group-label"); - ke && (ke.title = m("tooltip.resetGamma", "Reset Gamma to 1.00"), ke.style.cursor = "pointer", ke.style.userSelect = "none"); - } catch (ke) { - (mt = console.debug) == null || mt.call(console, ke); + const Re = (nt = U.querySelector) == null ? void 0 : nt.call(U, ".mjr-viewer-tools-group-label"); + Re && (Re.title = m("tooltip.resetGamma", "Reset Gamma to 1.00"), Re.style.cursor = "pointer", Re.style.userSelect = "none"); + } catch (Re) { + (ut = console.debug) == null || ut.call(console, Re); } try { y.out.title = m("tooltip.resetGamma", "Reset Gamma to 1.00"), y.out.style.cursor = "pointer", y.out.style.userSelect = "none"; - } catch (ke) { - (bt = console.debug) == null || bt.call(console, ke); + } catch (Re) { + (It = console.debug) == null || It.call(console, Re); } - const se = f({ key: "analysis", label: "Analysis", accentRgb: k.analysis }); - se.appendChild(V.b), se.appendChild(R.b), se.appendChild(j), I.body.appendChild(se); - const de = f({ + const de = f({ key: "analysis", label: "Analysis", accentRgb: X.analysis }); + de.appendChild(Y.b), de.appendChild(F.b), de.appendChild(N), I.body.appendChild(de); + const se = f({ key: "overlay-guides", label: "Guides", - accentRgb: k.overlay + accentRgb: X.overlay }); - de.appendChild(L.b), de.appendChild(N), de.appendChild(q.b), de.appendChild(O), de.appendChild(B.wrap), p.body.appendChild(de); - const Ze = f({ + se.appendChild(V.b), se.appendChild(k), se.appendChild(K.b), se.appendChild(z), se.appendChild(B.wrap), p.body.appendChild(se); + const ge = f({ key: "overlay-inspect", label: "Inspect", - accentRgb: k.overlay + accentRgb: X.overlay }); - [J.b, T.b, D.b, Q.b, E.b].forEach((ke, Ct) => { - Ct > 0 && (ke.style.marginLeft = "4px"), Ze.appendChild(ke); - }), M.body.appendChild(Ze); - const xe = f({ key: "compare", label: "Compare", accentRgb: k.compare }); - xe.style.borderRadius = "8px", xe.style.padding = "4px 6px", xe.style.border = "1px solid transparent", xe.style.transition = "background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease", xe.appendChild(K), p.body.appendChild(xe); - const ze = f({ + [J.b, P.b, H.b, $.b, E.b].forEach((Re, Wt) => { + Wt > 0 && (Re.style.marginLeft = "4px"), ge.appendChild(Re); + }), S.body.appendChild(ge); + const Se = f({ key: "compare", label: "Compare", accentRgb: X.compare }); + Se.style.borderRadius = "8px", Se.style.padding = "4px 6px", Se.style.border = "1px solid transparent", Se.style.transition = "background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease", Se.appendChild(oe), p.body.appendChild(Se); + const ke = f({ key: "audio-viz", label: "Audio Viz", - accentRgb: k.audioviz + accentRgb: X.audioviz }); - ze.appendChild(F), p.body.appendChild(ze), g.appendChild(Y), g.appendChild(U), g.appendChild(ee); - const We = document.createElement("div"); - We.className = "mjr-viewer-tools-group mjr-viewer-tools-group--3d", We.textContent = "LMB rotate Β· RMB pan Β· Scroll zoom", We.style.cssText = [ + ke.appendChild(M), p.body.appendChild(ke), g.appendChild(j), g.appendChild(O), g.appendChild(q); + const we = document.createElement("div"); + we.className = "mjr-viewer-tools-group mjr-viewer-tools-group--3d", we.textContent = "LMB rotate Β· RMB pan Β· Scroll zoom", we.style.cssText = [ "display:none", "align-items:center", "padding:2px 8px", @@ -12597,11 +12612,11 @@ function eA({ "font-size:10px", "font-weight:400", "letter-spacing:0.01em" - ].join(";"), h.appendChild(We); - const De = document.createElement("div"); - De.style.cssText = "position: relative; display:inline-flex; align-items:center;", De.className = "mjr-viewer-tools-action", De.style.marginLeft = "4px"; - const Pe = document.createElement("button"); - Pe.type = "button", Pe.title = m("tooltip.viewerShortcuts", "Viewer shortcuts"), Pe.setAttribute("aria-label", m("tooltip.viewerShortcuts", "Viewer shortcuts")), Pe.style.cssText = ` + ].join(";"), Z.appendChild(we); + const Je = document.createElement("div"); + Je.style.cssText = "position: relative; display:inline-flex; align-items:center;", Je.className = "mjr-viewer-tools-action", Je.style.marginLeft = "4px"; + const $e = document.createElement("button"); + $e.type = "button", $e.title = m("tooltip.viewerShortcuts", "Viewer shortcuts"), $e.setAttribute("aria-label", m("tooltip.viewerShortcuts", "Viewer shortcuts")), $e.style.cssText = ` height: 24px; padding: 0 8px; border-radius: 6px; @@ -12613,8 +12628,8 @@ function eA({ align-items: center; justify-content: center; `; - const Qe = document.createElement("span"); - Qe.className = "pi pi-question-circle", Qe.setAttribute("aria-hidden", "true"), Qe.style.fontSize = "14px", Pe.appendChild(Qe); + const qe = document.createElement("span"); + qe.className = "pi pi-question-circle", qe.setAttribute("aria-hidden", "true"), qe.style.fontSize = "14px", $e.appendChild(qe); const Ue = document.createElement("div"); Ue.className = "mjr-viewer-help", Ue.style.cssText = ` position: absolute; @@ -12634,72 +12649,72 @@ function eA({ z-index: 10002; `; try { - const ke = document.createElement("div"); - ke.textContent = "Shortcuts", ke.style.cssText = "font-weight:600; margin-bottom:6px;"; - const Ct = document.createElement("div"); - Ct.style.cssText = "display:grid; grid-template-columns: 1fr 1fr; gap: 4px 10px;"; - const at = (zt, Zt) => { - const gt = document.createElement("div"), kt = document.createElement("span"); - kt.style.cssText = "opacity:.75;", kt.textContent = String(zt || ""), gt.appendChild(kt), gt.appendChild(document.createTextNode(` ${String(Zt || "")}`)), Ct.appendChild(gt); + const Re = document.createElement("div"); + Re.textContent = "Shortcuts", Re.style.cssText = "font-weight:600; margin-bottom:6px;"; + const Wt = document.createElement("div"); + Wt.style.cssText = "display:grid; grid-template-columns: 1fr 1fr; gap: 4px 10px;"; + const lt = (qt, yt) => { + const mt = document.createElement("div"), kt = document.createElement("span"); + kt.style.cssText = "opacity:.75;", kt.textContent = String(qt || ""), mt.appendChild(kt), mt.appendChild(document.createTextNode(` ${String(yt || "")}`)), Wt.appendChild(mt); }; - at("Esc", "Close"), at("Space", "Play/Pause"), at("+", "Zoom In"), at("-", "Zoom Out"), at("Alt+1", "1:1 Zoom"), at("G", "Grid"), at("D", "Gen Info"), at("Z", "Zebra"), at("I", "Probe"), at("L", "Loupe"), at("X", "Focus Mode"), at("C", "Copy Color"), at("[ / ]", "Speed -/+"), at("\\", "Speed 1x"), at("←/β†’", "Prev/Next"), at("0-5", "Rating"), Ue.appendChild(ke), Ue.appendChild(Ct); - } catch (ke) { - (st = console.debug) == null || st.call(console, ke); + lt("Esc", "Close"), lt("Space", "Play/Pause"), lt("+", "Zoom In"), lt("-", "Zoom Out"), lt("Alt+1", "1:1 Zoom"), lt("G", "Grid"), lt("D", "Gen Info"), lt("Z", "Zebra"), lt("I", "Probe"), lt("L", "Loupe"), lt("X", "Focus Mode"), lt("C", "Copy Color"), lt("[ / ]", "Speed -/+"), lt("\\", "Speed 1x"), lt("←/β†’", "Prev/Next"), lt("0-5", "Rating"), Ue.appendChild(Re), Ue.appendChild(Wt); + } catch (Re) { + (dt = console.debug) == null || dt.call(console, Re); } - return De.appendChild(Pe), De.appendChild(Ue), h.appendChild(De), Z.body.appendChild(g), A.body.appendChild(h), d.appendChild(I.panel), d.appendChild(p.panel), d.appendChild(M.panel), d.appendChild(Z.panel), d.appendChild(A.panel), s.appendChild(d), { + return Je.appendChild($e), Je.appendChild(Ue), Z.appendChild(Je), A.body.appendChild(g), C.body.appendChild(Z), d.appendChild(I.panel), d.appendChild(p.panel), d.appendChild(S.panel), d.appendChild(A.panel), d.appendChild(C.panel), s.appendChild(d), { toolsRow: s, gradePanel: I, overlayPanel: p, - inspectPanel: M, - actionPanel: Z, - infoPanel: A, + inspectPanel: S, + actionPanel: A, + infoPanel: C, toolsActions: g, - toolsMeta: h, + toolsMeta: Z, chGroup: ce, - expGroup: pe, - gamGroup: H, - anaGroup: se, - ovGuidesGroup: de, - ovInspectGroup: Ze, - cmpGroup: xe, - audGroup: ze, - model3dHint: We, - helpWrap: De, - helpBtn: Pe, + expGroup: ue, + gamGroup: U, + anaGroup: de, + ovGuidesGroup: se, + ovInspectGroup: ge, + cmpGroup: Se, + audGroup: ke, + model3dHint: we, + helpWrap: Je, + helpBtn: $e, helpPop: Ue, - channelsSelect: S, + channelsSelect: G, exposureCtl: W, gammaCtl: y, - zebraToggle: V, - scopesToggle: R, - scopesSelect: j, - gridToggle: L, - gridModeSelect: N, - maskToggle: q, - formatSelect: O, + zebraToggle: Y, + scopesToggle: F, + scopesSelect: N, + gridToggle: V, + gridModeSelect: k, + maskToggle: K, + formatSelect: z, maskOpacityCtl: B, probeToggle: J, - loupeToggle: T, - hudToggle: D, - focusToggle: Q, + loupeToggle: P, + hudToggle: H, + focusToggle: $, genInfoToggle: E, - compareModeSelect: K, - audioVizModeSelect: F, - resetGradeBtn: Y, - exportBtn: U, - copyBtn: ee, - resetExposure: $, + compareModeSelect: oe, + audioVizModeSelect: M, + resetGradeBtn: j, + exportBtn: O, + copyBtn: q, + resetExposure: Q, resetGamma: _, resetViewerTools: le, - ACCENT: k, - setSelectHighlighted: z, - setChannelSelectStyle: x, + ACCENT: X, + setSelectHighlighted: T, + setChannelSelectStyle: v, setValueHighlighted: w, - setGroupHighlighted: X, + setGroupHighlighted: R, DEFAULT_TOOL_STATE: c }; } -function tA({ +function oA({ unsubs: e, state: t, VIEWER_MODES: n, @@ -12714,240 +12729,240 @@ function tA({ abBtn: u, sideBtn: I, closeBtn: p, - channelsSelect: M, - compareModeSelect: Z, - audioVizModeSelect: A, + channelsSelect: S, + compareModeSelect: A, + audioVizModeSelect: C, exposureCtl: g, - gammaCtl: h, + gammaCtl: Z, zebraToggle: f, scopesToggle: b, - scopesSelect: v, - gridToggle: C, - gridModeSelect: S, + scopesSelect: L, + gridToggle: h, + gridModeSelect: G, maskToggle: W, formatSelect: y, - maskOpacityCtl: k, - probeToggle: G, - loupeToggle: z, - hudToggle: x, + maskOpacityCtl: X, + probeToggle: x, + loupeToggle: T, + hudToggle: v, focusToggle: w, - genInfoToggle: X, - resetGradeBtn: V, - exportBtn: R, - copyBtn: j, - resetExposure: L, - resetGamma: N, - resetViewerTools: q, - expGroup: O, + genInfoToggle: R, + resetGradeBtn: Y, + exportBtn: F, + copyBtn: N, + resetExposure: V, + resetGamma: k, + resetViewerTools: K, + expGroup: z, gamGroup: B }) { - var J, T; - e.push(_e(d, "click", () => i == null ? void 0 : i(n.SINGLE))), e.push(_e(u, "click", () => i == null ? void 0 : i(n.AB_COMPARE))), e.push(_e(I, "click", () => i == null ? void 0 : i(n.SIDE_BY_SIDE))), e.push(_e(p, "click", () => o == null ? void 0 : o())), e.push( - _e(M, "change", () => { - var D; + var J, P; + e.push(Qe(d, "click", () => i == null ? void 0 : i(n.SINGLE))), e.push(Qe(u, "click", () => i == null ? void 0 : i(n.AB_COMPARE))), e.push(Qe(I, "click", () => i == null ? void 0 : i(n.SIDE_BY_SIDE))), e.push(Qe(p, "click", () => o == null ? void 0 : o())), e.push( + Qe(S, "change", () => { + var H; try { - t.channel = String(M.value || "rgb"); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + t.channel = String(S.value || "rgb"); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(r); + bt(r); }) ), e.push( - _e(Z, "change", () => { - var D; + Qe(A, "change", () => { + var H; try { - t.abCompareMode = String(Z.value || "wipe"); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + t.abCompareMode = String(A.value || "wipe"); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(l), pt(r); + bt(l), bt(r); }) ), e.push( - _e(A, "change", () => { - var D; + Qe(C, "change", () => { + var H; try { - t.audioVisualizerMode = String(A.value || "artistic"); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + t.audioVisualizerMode = String(C.value || "artistic"); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(a), pt(r); + bt(a), bt(r); }) ), e.push( - _e(g.input, "input", () => { - var Q; - const D = Math.max(-10, Math.min(10, Number(g.input.value) || 0)); - t.exposureEV = Math.round(D * 10) / 10; + Qe(g.input, "input", () => { + var $; + const H = Math.max(-10, Math.min(10, Number(g.input.value) || 0)); + t.exposureEV = Math.round(H * 10) / 10; try { g.out.textContent = `${t.exposureEV.toFixed(1)}EV`; } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } - pt(r); + bt(r); }) - ), e.push(_e(g.input, "dblclick", L)), e.push(_e(g.out, "click", L)), e.push( - _e( - (J = O.querySelector) == null ? void 0 : J.call(O, ".mjr-viewer-tools-group-label"), + ), e.push(Qe(g.input, "dblclick", V)), e.push(Qe(g.out, "click", V)), e.push( + Qe( + (J = z.querySelector) == null ? void 0 : J.call(z, ".mjr-viewer-tools-group-label"), "click", - L + V ) ), e.push( - _e(h.input, "input", () => { - var Q; - const D = Math.max(0.1, Math.min(3, Number(h.input.value) || 1)); - t.gamma = Math.round(D * 100) / 100; + Qe(Z.input, "input", () => { + var $; + const H = Math.max(0.1, Math.min(3, Number(Z.input.value) || 1)); + t.gamma = Math.round(H * 100) / 100; try { - h.out.textContent = t.gamma.toFixed(2); + Z.out.textContent = t.gamma.toFixed(2); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } - pt(r); + bt(r); }) - ), e.push(_e(h.input, "dblclick", N)), e.push(_e(h.out, "click", N)), e.push( - _e( - (T = B.querySelector) == null ? void 0 : T.call(B, ".mjr-viewer-tools-group-label"), + ), e.push(Qe(Z.input, "dblclick", k)), e.push(Qe(Z.out, "click", k)), e.push( + Qe( + (P = B.querySelector) == null ? void 0 : P.call(B, ".mjr-viewer-tools-group-label"), "click", - N + k ) ), e.push( - _e(f.b, "click", () => { - t.analysisMode = t.analysisMode === "zebra" ? "none" : "zebra", pt(r); + Qe(f.b, "click", () => { + t.analysisMode = t.analysisMode === "zebra" ? "none" : "zebra", bt(r); }) ), e.push( - _e(b.b, "click", () => { - var D, Q; + Qe(b.b, "click", () => { + var H, $; try { - const K = String(t.scopesMode || "off") === "off" ? "both" : "off"; - t.scopesMode = K; + const oe = String(t.scopesMode || "off") === "off" ? "both" : "off"; + t.scopesMode = oe; try { - v.value = String(K); - } catch (F) { - (D = console.debug) == null || D.call(console, F); + L.value = String(oe); + } catch (M) { + (H = console.debug) == null || H.call(console, M); } } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } - pt(r); + bt(r); }) ), e.push( - _e(v, "change", () => { - var D; + Qe(L, "change", () => { + var H; try { - const Q = String(v.value || "off"); - t.scopesMode = Q; + const $ = String(L.value || "off"); + t.scopesMode = $; } catch { try { t.scopesMode = "off"; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } } - pt(r); + bt(r); }) ), e.push( - _e(C.b, "click", () => { - t.gridMode = Number(t.gridMode) ? 0 : 1, pt(r); + Qe(h.b, "click", () => { + t.gridMode = Number(t.gridMode) ? 0 : 1, bt(r); }) ), e.push( - _e(S, "change", () => { - var D; + Qe(G, "change", () => { + var H; try { - const Q = Number(S.value); - t.gridMode = Number.isFinite(Q) ? Q : 0; + const $ = Number(G.value); + t.gridMode = Number.isFinite($) ? $ : 0; } catch { try { t.gridMode = 0; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } } - pt(r); + bt(r); }) ), e.push( - _e(W.b, "click", () => { - var D; + Qe(W.b, "click", () => { + var H; try { t.overlayMaskEnabled = !t.overlayMaskEnabled; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(r); + bt(r); }) ), e.push( - _e(y, "change", () => { - var D; + Qe(y, "change", () => { + var H; try { t.overlayFormat = String(y.value || "image"); } catch { try { t.overlayFormat = "image"; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } } - pt(r); + bt(r); }) ), e.push( - _e(k.input, "input", () => { - var D; + Qe(X.input, "input", () => { + var H; try { - const Q = Number(k.input.value), E = Math.max(0, Math.min(0.9, Number.isFinite(Q) ? Q : 0.65)); - t.overlayMaskOpacity = Math.round(E * 100) / 100, k.out.textContent = t.overlayMaskOpacity.toFixed(2); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + const $ = Number(X.input.value), E = Math.max(0, Math.min(0.9, Number.isFinite($) ? $ : 0.65)); + t.overlayMaskOpacity = Math.round(E * 100) / 100, X.out.textContent = t.overlayMaskOpacity.toFixed(2); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(r); + bt(r); }) ), e.push( - _e(G.b, "click", () => { - t.probeEnabled = !t.probeEnabled, pt(r); + Qe(x.b, "click", () => { + t.probeEnabled = !t.probeEnabled, bt(r); }) ), e.push( - _e(z.b, "click", () => { - t.loupeEnabled = !t.loupeEnabled, pt(r); + Qe(T.b, "click", () => { + t.loupeEnabled = !t.loupeEnabled, bt(r); }) ), e.push( - _e(x.b, "click", () => { - t.hudEnabled = !t.hudEnabled, pt(r); + Qe(v.b, "click", () => { + t.hudEnabled = !t.hudEnabled, bt(r); }) ), e.push( - _e(w.b, "click", () => { - t.distractionFree = !t.distractionFree, pt(r); + Qe(w.b, "click", () => { + t.distractionFree = !t.distractionFree, bt(r); }) ), e.push( - _e(X.b, "click", () => { - var D; + Qe(R.b, "click", () => { + var H; try { t.genInfoOpen = !t.genInfoOpen; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - pt(r); + bt(r); }) ), e.push( - _e(V, "click", () => { - q(); + Qe(Y, "click", () => { + K(); }) ), e.push( - _e(R, "click", () => { - var D; + Qe(F, "click", () => { + var H; try { c == null || c(); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } }) ), e.push( - _e(j, "click", () => { - var D; + Qe(N, "click", () => { + var H; try { s == null || s(); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } }) ); } -function nA({ +function rA({ state: e, VIEWER_MODES: t, getCanAB: n, @@ -12962,252 +12977,252 @@ function nA({ inspectPanel: u, infoPanel: I, actionPanel: p, - ovGuidesGroup: M, - ovInspectGroup: Z, - model3dHint: A, + ovGuidesGroup: S, + ovInspectGroup: A, + model3dHint: C, helpWrap: g, - channelsSelect: h, + channelsSelect: Z, compareModeSelect: f, audioVizModeSelect: b, - exposureCtl: v, - gammaCtl: C, - zebraToggle: S, + exposureCtl: L, + gammaCtl: h, + zebraToggle: G, scopesToggle: W, scopesSelect: y, - gridToggle: k, - gridModeSelect: G, - maskToggle: z, - formatSelect: x, + gridToggle: X, + gridModeSelect: x, + maskToggle: T, + formatSelect: v, maskOpacityCtl: w, - probeToggle: X, - loupeToggle: V, - hudToggle: R, - focusToggle: j, - genInfoToggle: L, - exportBtn: N, - copyBtn: q, - resetGradeBtn: O, + probeToggle: R, + loupeToggle: Y, + hudToggle: F, + focusToggle: N, + genInfoToggle: V, + exportBtn: k, + copyBtn: K, + resetGradeBtn: z, cmpGroup: B, audGroup: J, - ACCENT: T, - setSelectHighlighted: D, - setChannelSelectStyle: Q, + ACCENT: P, + setSelectHighlighted: H, + setChannelSelectStyle: $, setValueHighlighted: E, - setGroupHighlighted: K + setGroupHighlighted: oe }) { - var U, P, ee, oe, ce, pe, H, $, _, le, se, de, Ze, Fe, xe, ze, We, De, Pe, Qe, Ue, Ee, Re, wt, Se, Ft, Gt, ue, He; - const F = ((U = e == null ? void 0 : e.assets) == null ? void 0 : U[e == null ? void 0 : e.currentIndex]) || null, Y = String((F == null ? void 0 : F.kind) || "").toLowerCase() === "model3d"; + var O, D, q, ee, ce, ue, U, Q, _, le, de, se, ge, je, Se, ke, we, Je, $e, qe, Ue, Te, Oe, pt, Me, Xt, Mt, me, Pe; + const M = ((O = e == null ? void 0 : e.assets) == null ? void 0 : O[e == null ? void 0 : e.currentIndex]) || null, j = String((M == null ? void 0 : M.kind) || "").toLowerCase() === "model3d"; try { - const ve = Y ? "none" : ""; - r.style.display = ve, l.style.display = ve, a.style.display = ve, c.style.display = ve, O.style.display = ve, A.style.display = Y ? "inline-flex" : "none", s.panel.style.display = Y ? "none" : "", d.panel.style.display = Y ? "none" : "", I.panel.style.display = "", p.panel.style.display = ""; - const Ot = (P = Z.querySelector) == null ? void 0 : P.call(Z, ".mjr-viewer-tools-group-label"); - if (Y) { - M.style.display = "none", Z.style.display = "", Ot && (Ot.style.display = "none"), g.style.display = "none", i.style.padding = "10px 16px", i.style.gap = "6px", o.style.padding = "6px 8px 6px"; - for (const Ve of [ - k.b, - G, - z.b, - x, - w.wrap, + const Le = j ? "none" : ""; + r.style.display = Le, l.style.display = Le, a.style.display = Le, c.style.display = Le, z.style.display = Le, C.style.display = j ? "inline-flex" : "none", s.panel.style.display = j ? "none" : "", d.panel.style.display = j ? "none" : "", I.panel.style.display = "", p.panel.style.display = ""; + const Ot = (D = A.querySelector) == null ? void 0 : D.call(A, ".mjr-viewer-tools-group-label"); + if (j) { + S.style.display = "none", A.style.display = "", Ot && (Ot.style.display = "none"), g.style.display = "none", i.style.padding = "10px 16px", i.style.gap = "6px", o.style.padding = "6px 8px 6px"; + for (const Xe of [ X.b, - V.b, - R.b + x, + T.b, + v, + w.wrap, + R.b, + Y.b, + F.b ]) try { - Ve.style.display = "none"; + Xe.style.display = "none"; } catch { } } else { - M.style.display = "", Z.style.display = "", Ot && (Ot.style.display = ""), g.style.display = "", s.panel.style.display = "", d.panel.style.display = "", I.panel.style.display = "", p.panel.style.display = "", i.style.padding = "8px 16px", i.style.gap = "6px", o.style.padding = "8px 8px 6px"; - for (const Ve of [ - k.b, - G, - z.b, - x, - w.wrap, + S.style.display = "", A.style.display = "", Ot && (Ot.style.display = ""), g.style.display = "", s.panel.style.display = "", d.panel.style.display = "", I.panel.style.display = "", p.panel.style.display = "", i.style.padding = "8px 16px", i.style.gap = "6px", o.style.padding = "8px 8px 6px"; + for (const Xe of [ X.b, - V.b, - R.b + x, + T.b, + v, + w.wrap, + R.b, + Y.b, + F.b ]) try { - Ve.style.display = ""; + Xe.style.display = ""; } catch { } } - } catch (ve) { - (ee = console.debug) == null || ee.call(console, ve); + } catch (Le) { + (q = console.debug) == null || q.call(console, Le); } try { - h.value = String(e.channel || "rgb"); - } catch (ve) { - (oe = console.debug) == null || oe.call(console, ve); + Z.value = String(e.channel || "rgb"); + } catch (Le) { + (ee = console.debug) == null || ee.call(console, Le); } try { f.value = String(e.abCompareMode || "wipe"); - const ve = typeof n == "function" ? !!n() : !1, Ot = e.mode === t.AB_COMPARE && ve, Ve = e.mode === t.SIDE_BY_SIDE, Ke = Ot || Ve; + const Le = typeof n == "function" ? !!n() : !1, Ot = e.mode === t.AB_COMPARE && Le, Xe = e.mode === t.SIDE_BY_SIDE, Ee = Ot || Xe; f.disabled = !Ot; try { - B.dataset.active = Ke ? "1" : "0", B.style.display = Ke ? "" : "none", K(B, { accentRgb: T.compare, active: Ke }), B.title = Ke ? "Compare tools (active)" : "Compare tools"; - } catch (Be) { - (ce = console.debug) == null || ce.call(console, Be); + B.dataset.active = Ee ? "1" : "0", B.style.display = Ee ? "" : "none", oe(B, { accentRgb: P.compare, active: Ee }), B.title = Ee ? "Compare tools (active)" : "Compare tools"; + } catch (Ke) { + (ce = console.debug) == null || ce.call(console, Ke); } - } catch (ve) { - (pe = console.debug) == null || pe.call(console, ve); + } catch (Le) { + (ue = console.debug) == null || ue.call(console, Le); } try { - const ve = String((F == null ? void 0 : F.kind) || "") === "audio"; - J.style.display = ve ? "" : "none", b.disabled = !ve, b.value = String(e.audioVisualizerMode || "artistic"); - } catch (ve) { - (H = console.debug) == null || H.call(console, ve); + const Le = String((M == null ? void 0 : M.kind) || "") === "audio"; + J.style.display = Le ? "" : "none", b.disabled = !Le, b.value = String(e.audioVisualizerMode || "artistic"); + } catch (Le) { + (U = console.debug) == null || U.call(console, Le); } try { - const ve = Math.round((Number(e.exposureEV) || 0) * 10) / 10; - v.input.value = String(ve), v.out.textContent = `${ve.toFixed(1)}EV`; - } catch (ve) { - ($ = console.debug) == null || $.call(console, ve); + const Le = Math.round((Number(e.exposureEV) || 0) * 10) / 10; + L.input.value = String(Le), L.out.textContent = `${Le.toFixed(1)}EV`; + } catch (Le) { + (Q = console.debug) == null || Q.call(console, Le); } try { - const ve = Math.max(0.1, Math.min(3, Number(e.gamma) || 1)); - C.input.value = String(ve), C.out.textContent = ve.toFixed(2); - } catch (ve) { - (_ = console.debug) == null || _.call(console, ve); + const Le = Math.max(0.1, Math.min(3, Number(e.gamma) || 1)); + h.input.value = String(Le), h.out.textContent = Le.toFixed(2); + } catch (Le) { + (_ = console.debug) == null || _.call(console, Le); } try { - S.setActive(e.analysisMode === "zebra"); - } catch (ve) { - (le = console.debug) == null || le.call(console, ve); + G.setActive(e.analysisMode === "zebra"); + } catch (Le) { + (le = console.debug) == null || le.call(console, Le); } try { - const ve = String(e.scopesMode || "off"); - W.setActive(ve !== "off"), y.value = ve; - } catch (ve) { - (se = console.debug) == null || se.call(console, ve); + const Le = String(e.scopesMode || "off"); + W.setActive(Le !== "off"), y.value = Le; + } catch (Le) { + (de = console.debug) == null || de.call(console, Le); } try { - const ve = String((F == null ? void 0 : F.kind) || ""), Ot = ve === "video" || ve === "model3d"; - N.style.display = Ot ? "" : "none", q.style.display = Ot ? "" : "none"; - const Ve = !!(globalThis != null && globalThis.ClipboardItem && ((de = navigator == null ? void 0 : navigator.clipboard) != null && de.write)); - q.style.display = Ot && Ve ? "" : "none"; - } catch (ve) { - (Ze = console.debug) == null || Ze.call(console, ve); + const Le = String((M == null ? void 0 : M.kind) || ""), Ot = Le === "video" || Le === "model3d"; + k.style.display = Ot ? "" : "none", K.style.display = Ot ? "" : "none"; + const Xe = !!(globalThis != null && globalThis.ClipboardItem && ((se = navigator == null ? void 0 : navigator.clipboard) != null && se.write)); + K.style.display = Ot && Xe ? "" : "none"; + } catch (Le) { + (ge = console.debug) == null || ge.call(console, Le); } try { - k.setActive((Number(e.gridMode) || 0) !== 0); - } catch (ve) { - (Fe = console.debug) == null || Fe.call(console, ve); + X.setActive((Number(e.gridMode) || 0) !== 0); + } catch (Le) { + (je = console.debug) == null || je.call(console, Le); } try { - G.value = String(Number(e.gridMode) || 0); - } catch (ve) { - (xe = console.debug) == null || xe.call(console, ve); + x.value = String(Number(e.gridMode) || 0); + } catch (Le) { + (Se = console.debug) == null || Se.call(console, Le); } try { - z.setActive(!!e.overlayMaskEnabled), x.value = String(e.overlayFormat || "image"), w.input.value = String(Number(e.overlayMaskOpacity ?? 0.65)), w.out.textContent = Number(e.overlayMaskOpacity ?? 0.65).toFixed(2); - } catch (ve) { - (ze = console.debug) == null || ze.call(console, ve); + T.setActive(!!e.overlayMaskEnabled), v.value = String(e.overlayFormat || "image"), w.input.value = String(Number(e.overlayMaskOpacity ?? 0.65)), w.out.textContent = Number(e.overlayMaskOpacity ?? 0.65).toFixed(2); + } catch (Le) { + (ke = console.debug) == null || ke.call(console, Le); } try { - X.setActive(!!e.probeEnabled), V.setActive(!!e.loupeEnabled); - } catch (ve) { - (We = console.debug) == null || We.call(console, ve); + R.setActive(!!e.probeEnabled), Y.setActive(!!e.loupeEnabled); + } catch (Le) { + (we = console.debug) == null || we.call(console, Le); } try { - R.setActive(!!e.hudEnabled); - } catch (ve) { - (De = console.debug) == null || De.call(console, ve); + F.setActive(!!e.hudEnabled); + } catch (Le) { + (Je = console.debug) == null || Je.call(console, Le); } try { - j.setActive(!!e.distractionFree); - } catch (ve) { - (Pe = console.debug) == null || Pe.call(console, ve); + N.setActive(!!e.distractionFree); + } catch (Le) { + ($e = console.debug) == null || $e.call(console, Le); } try { - L.setActive(!!e.genInfoOpen); - } catch (ve) { - (Qe = console.debug) == null || Qe.call(console, ve); + V.setActive(!!e.genInfoOpen); + } catch (Le) { + (qe = console.debug) == null || qe.call(console, Le); } try { - const ve = String(e.channel || "rgb"); - Q(ve); - } catch (ve) { - (Ue = console.debug) == null || Ue.call(console, ve); + const Le = String(e.channel || "rgb"); + $(Le); + } catch (Le) { + (Ue = console.debug) == null || Ue.call(console, Le); } try { - const ve = Math.round((Number(e.exposureEV) || 0) * 10) / 10; - E(v.out, { - accentRgb: T.exposure, - active: Math.abs(ve) > 1e-4 + const Le = Math.round((Number(e.exposureEV) || 0) * 10) / 10; + E(L.out, { + accentRgb: P.exposure, + active: Math.abs(Le) > 1e-4 }); - } catch (ve) { - (Ee = console.debug) == null || Ee.call(console, ve); + } catch (Le) { + (Te = console.debug) == null || Te.call(console, Le); } try { - const ve = Math.round((Number(e.gamma) || 1) * 100) / 100; - E(C.out, { - accentRgb: T.gamma, - active: Math.abs(ve - 1) > 1e-4 + const Le = Math.round((Number(e.gamma) || 1) * 100) / 100; + E(h.out, { + accentRgb: P.gamma, + active: Math.abs(Le - 1) > 1e-4 }); - } catch (ve) { - (Re = console.debug) == null || Re.call(console, ve); + } catch (Le) { + (Oe = console.debug) == null || Oe.call(console, Le); } try { - const ve = String(e.scopesMode || "off"); - D(y, { - accentRgb: T.analysis, - active: ve !== "off", - title: ve !== "off" ? "Scopes (active)" : "Scopes" + const Le = String(e.scopesMode || "off"); + H(y, { + accentRgb: P.analysis, + active: Le !== "off", + title: Le !== "off" ? "Scopes (active)" : "Scopes" }); - } catch (ve) { - (wt = console.debug) == null || wt.call(console, ve); + } catch (Le) { + (pt = console.debug) == null || pt.call(console, Le); } try { - const ve = Number(e.gridMode) || 0; - D(G, { - accentRgb: T.overlay, - active: ve !== 0, - title: ve !== 0 ? "Grid Overlay (active)" : "Grid Overlay" + const Le = Number(e.gridMode) || 0; + H(x, { + accentRgb: P.overlay, + active: Le !== 0, + title: Le !== 0 ? "Grid Overlay (active)" : "Grid Overlay" }); - } catch (ve) { - (Se = console.debug) == null || Se.call(console, ve); + } catch (Le) { + (Me = console.debug) == null || Me.call(console, Le); } try { - const ve = String(e.overlayFormat || "image"); - D(x, { - accentRgb: T.overlay, - active: ve !== "image", - title: ve !== "image" ? "Format (active)" : "Format" + const Le = String(e.overlayFormat || "image"); + H(v, { + accentRgb: P.overlay, + active: Le !== "image", + title: Le !== "image" ? "Format (active)" : "Format" }); - } catch (ve) { - (Ft = console.debug) == null || Ft.call(console, ve); + } catch (Le) { + (Xt = console.debug) == null || Xt.call(console, Le); } try { - const ve = typeof n == "function" ? !!n() : !1, Ot = e.mode === t.AB_COMPARE && ve, Ve = String(e.abCompareMode || "wipe"); - D(f, { - accentRgb: T.compare, - active: Ot && Ve !== "wipe", - title: Ot && Ve !== "wipe" ? "Compare Mode (modified)" : "A/B Compare Mode" + const Le = typeof n == "function" ? !!n() : !1, Ot = e.mode === t.AB_COMPARE && Le, Xe = String(e.abCompareMode || "wipe"); + H(f, { + accentRgb: P.compare, + active: Ot && Xe !== "wipe", + title: Ot && Xe !== "wipe" ? "Compare Mode (modified)" : "A/B Compare Mode" }); - } catch (ve) { - (Gt = console.debug) == null || Gt.call(console, ve); + } catch (Le) { + (Mt = console.debug) == null || Mt.call(console, Le); } try { - const ve = String((F == null ? void 0 : F.kind) || "") === "audio", Ot = String(e.audioVisualizerMode || "artistic"); - D(b, { - accentRgb: T.audioviz, - active: ve && Ot !== "simple", + const Le = String((M == null ? void 0 : M.kind) || "") === "audio", Ot = String(e.audioVisualizerMode || "artistic"); + H(b, { + accentRgb: P.audioviz, + active: Le && Ot !== "simple", title: "Audio visualizer mode" }); - } catch (ve) { - (ue = console.debug) == null || ue.call(console, ve); + } catch (Le) { + (me = console.debug) == null || me.call(console, Le); } try { - const ve = !!e.genInfoOpen, Ot = L == null ? void 0 : L.b; - Ot && ve && (Ot.style.borderColor = `rgba(${T.geninfo},0.55)`, Ot.style.background = `rgba(${T.geninfo},0.14)`); - } catch (ve) { - (He = console.debug) == null || He.call(console, ve); + const Le = !!e.genInfoOpen, Ot = V == null ? void 0 : V.b; + Ot && Le && (Ot.style.borderColor = `rgba(${P.geninfo},0.55)`, Ot.style.background = `rgba(${P.geninfo},0.14)`); + } catch (Le) { + (Pe = console.debug) == null || Pe.call(console, Le); } } -function iA({ +function lA({ state: e, VIEWER_MODES: t, singleBtn: n, @@ -13238,7 +13253,7 @@ function iA({ (c = console.debug) == null || c.call(console, s); } } -function oA({ +function aA({ VIEWER_MODES: e, state: t, lifecycle: n, @@ -13253,11 +13268,11 @@ function oA({ onExportFrame: u, onCopyFrame: I, onAudioVizModeChanged: p, - onToggleFullscreen: M, - getCanAB: Z + onToggleFullscreen: S, + getCanAB: A } = {}) { - var st, ke, Ct, at, zt, Zt; - const A = (n == null ? void 0 : n.unsubs) || [], g = document.createElement("div"); + var dt, Re, Wt, lt, qt, yt; + const C = (n == null ? void 0 : n.unsubs) || [], g = document.createElement("div"); g.className = "mjr-viewer-header", g.style.cssText = ` display: flex; flex-direction: column; @@ -13268,8 +13283,8 @@ function oA({ color: white; box-sizing: border-box; `; - const h = document.createElement("div"); - h.className = "mjr-viewer-header-top", h.style.cssText = ` + const Z = document.createElement("div"); + Z.className = "mjr-viewer-header-top", Z.style.cssText = ` display: flex; align-items: center; justify-content: center; @@ -13284,139 +13299,139 @@ function oA({ f.className = "mjr-viewer-header-meta mjr-viewer-header-meta--left", f.style.cssText = "display:flex; align-items:center; gap:10px; min-width:0; overflow:hidden;"; const b = document.createElement("div"); b.className = "mjr-viewer-title-line", b.style.cssText = "display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; flex-wrap:nowrap; overflow:hidden;"; - const v = document.createElement("div"); - v.className = "mjr-viewer-title-wrap", v.style.cssText = "display:flex; align-items:center; justify-content:center; gap:12px; min-width:0; max-width:min(100%, calc(100vw - 220px)); text-align:center;"; - const C = document.createElement("span"); - C.className = "mjr-viewer-filename", C.style.cssText = "font-size: 13px; font-weight: 600; min-width:0; max-width:min(60vw, 820px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center;"; - const S = document.createElement("div"); - S.className = "mjr-viewer-badges", S.style.cssText = "display:flex; gap:6px; align-items:center; flex-wrap:nowrap; min-width:0;"; + const L = document.createElement("div"); + L.className = "mjr-viewer-title-wrap", L.style.cssText = "display:flex; align-items:center; justify-content:center; gap:12px; min-width:0; max-width:min(100%, calc(100vw - 220px)); text-align:center;"; + const h = document.createElement("span"); + h.className = "mjr-viewer-filename", h.style.cssText = "font-size: 13px; font-weight: 600; min-width:0; max-width:min(60vw, 820px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center;"; + const G = document.createElement("div"); + G.className = "mjr-viewer-badges", G.style.cssText = "display:flex; gap:6px; align-items:center; flex-wrap:nowrap; min-width:0;"; const W = document.createElement("div"); W.className = "mjr-viewer-header-meta mjr-viewer-header-meta--right", W.style.cssText = "display:none; align-items:center; gap:10px; min-width:0; justify-content:flex-end; overflow:hidden;"; const y = document.createElement("span"); y.className = "mjr-viewer-filename mjr-viewer-filename--right", y.style.cssText = "font-size: 14px; font-weight: 500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right;"; - const k = document.createElement("div"); - k.className = "mjr-viewer-badges mjr-viewer-badges--right", k.style.cssText = "display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end;", b.appendChild(C), b.appendChild(S), v.appendChild(b), W.appendChild(k), W.appendChild(y); - const G = document.createElement("div"); - G.className = "mjr-viewer-mode-buttons", G.style.cssText = "display: flex; gap: 4px;"; - const z = fc("Single", e.SINGLE); - z.title = m("tooltip.singleViewMode", "Single view mode (one image)"); - const x = fc("A/B", e.AB_COMPARE); - x.title = m("tooltip.compareOverlayMode", "A/B compare mode (overlay)"); - const w = fc("Side", e.SIDE_BY_SIDE); - w.title = m("tooltip.compareSideBySide", "Side-by-side comparison mode"), G.appendChild(z), G.appendChild(x), G.appendChild(w); - const X = yl("βœ•", "Close (Esc)"); - X.style.fontSize = "18px"; + const X = document.createElement("div"); + X.className = "mjr-viewer-badges mjr-viewer-badges--right", X.style.cssText = "display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end;", b.appendChild(h), b.appendChild(G), L.appendChild(b), W.appendChild(X), W.appendChild(y); + const x = document.createElement("div"); + x.className = "mjr-viewer-mode-buttons", x.style.cssText = "display: flex; gap: 4px;"; + const T = hc("Single", e.SINGLE); + T.title = m("tooltip.singleViewMode", "Single view mode (one image)"); + const v = hc("A/B", e.AB_COMPARE); + v.title = m("tooltip.compareOverlayMode", "A/B compare mode (overlay)"); + const w = hc("Side", e.SIDE_BY_SIDE); + w.title = m("tooltip.compareSideBySide", "Side-by-side comparison mode"), x.appendChild(T), x.appendChild(v), x.appendChild(w); + const R = fl("βœ•", "Close (Esc)"); + R.style.fontSize = "18px"; try { - X.classList.add("mjr-viewer-close"), X.textContent = ""; - const gt = document.createElement("span"); - gt.className = "pi pi-times", gt.setAttribute("aria-hidden", "true"), X.appendChild(gt); - } catch (gt) { - (st = console.debug) == null || st.call(console, gt); + R.classList.add("mjr-viewer-close"), R.textContent = ""; + const mt = document.createElement("span"); + mt.className = "pi pi-times", mt.setAttribute("aria-hidden", "true"), R.appendChild(mt); + } catch (mt) { + (dt = console.debug) == null || dt.call(console, mt); } - const V = yl("β›Ά", "Toggle Fullscreen (F)"); + const Y = fl("β›Ά", "Toggle Fullscreen (F)"); try { - V.classList.add("mjr-viewer-fs"); - } catch (gt) { - (ke = console.debug) == null || ke.call(console, gt); + Y.classList.add("mjr-viewer-fs"); + } catch (mt) { + (Re = console.debug) == null || Re.call(console, mt); } - V.style.fontSize = "16px"; + Y.style.fontSize = "16px"; try { - V.style.position = "absolute", V.style.top = "8px", V.style.left = "", V.style.right = "48px", V.style.zIndex = "10002", V.style.width = "34px", V.style.height = "34px", V.style.padding = "0", V.style.display = "inline-flex", V.style.alignItems = "center", V.style.justifyContent = "center", V.style.borderRadius = "8px"; - const gt = document.createElement("span"); - gt.className = "pi pi-window-maximize", gt.setAttribute("aria-hidden", "true"), V.textContent = "", V.appendChild(gt); + Y.style.position = "absolute", Y.style.top = "8px", Y.style.left = "", Y.style.right = "48px", Y.style.zIndex = "10002", Y.style.width = "34px", Y.style.height = "34px", Y.style.padding = "0", Y.style.display = "inline-flex", Y.style.alignItems = "center", Y.style.justifyContent = "center", Y.style.borderRadius = "8px"; + const mt = document.createElement("span"); + mt.className = "pi pi-window-maximize", mt.setAttribute("aria-hidden", "true"), Y.textContent = "", Y.appendChild(mt); const kt = () => { - var Qt; + var $t; try { - const te = document.fullscreenElement != null; - gt.className = te ? "pi pi-window-minimize" : "pi pi-window-maximize", V.title = te ? "Exit Fullscreen (F)" : "Enter Fullscreen (F)"; - } catch (te) { - (Qt = console.debug) == null || Qt.call(console, te); + const Tt = document.fullscreenElement != null; + mt.className = Tt ? "pi pi-window-minimize" : "pi pi-window-maximize", Y.title = Tt ? "Exit Fullscreen (F)" : "Enter Fullscreen (F)"; + } catch (Tt) { + ($t = console.debug) == null || $t.call(console, Tt); } }; - if (V.onclick = (Qt) => { - Qt.stopPropagation(), M == null || M(); + if (Y.onclick = ($t) => { + $t.stopPropagation(), S == null || S(); }, n != null && n.safeAddListener) n.safeAddListener(document, "fullscreenchange", kt); else try { document.addEventListener("fullscreenchange", kt); - const Qt = () => { - var te; + const $t = () => { + var Tt; try { document.removeEventListener("fullscreenchange", kt); - } catch (ge) { - (te = console.debug) == null || te.call(console, ge); + } catch (te) { + (Tt = console.debug) == null || Tt.call(console, te); } }; - g._mjrCleanup ? g._mjrCleanup.push(Qt) : g._mjrCleanup = [Qt]; - } catch (Qt) { - (Ct = console.debug) == null || Ct.call(console, Qt); + g._mjrCleanup ? g._mjrCleanup.push($t) : g._mjrCleanup = [$t]; + } catch ($t) { + (Wt = console.debug) == null || Wt.call(console, $t); } kt(); - } catch (gt) { - (at = console.debug) == null || at.call(console, gt); + } catch (mt) { + (lt = console.debug) == null || lt.call(console, mt); } - const R = document.createElement("div"); - R.className = "mjr-viewer-header-area mjr-viewer-header-area--left", R.style.cssText = "display:none; align-items:center; gap:12px; min-width:0; flex:1 1 0; overflow:hidden;", R.appendChild(f); - const j = document.createElement("div"); - j.className = "mjr-viewer-header-area mjr-viewer-header-area--center", j.style.cssText = "display:flex; align-items:center; justify-content:center; gap:12px; flex:1 1 auto; min-width:0;", v.appendChild(G), j.appendChild(v); - const L = document.createElement("div"); - L.className = "mjr-viewer-header-area mjr-viewer-header-area--right", L.style.cssText = "display:none; align-items:center; justify-content:flex-end; gap:12px; min-width:0; flex:1 1 0; overflow:hidden;", L.appendChild(W), h.appendChild(R), h.appendChild(j), h.appendChild(L); + const F = document.createElement("div"); + F.className = "mjr-viewer-header-area mjr-viewer-header-area--left", F.style.cssText = "display:none; align-items:center; gap:12px; min-width:0; flex:1 1 0; overflow:hidden;", F.appendChild(f); + const N = document.createElement("div"); + N.className = "mjr-viewer-header-area mjr-viewer-header-area--center", N.style.cssText = "display:flex; align-items:center; justify-content:center; gap:12px; flex:1 1 auto; min-width:0;", L.appendChild(x), N.appendChild(L); + const V = document.createElement("div"); + V.className = "mjr-viewer-header-area mjr-viewer-header-area--right", V.style.cssText = "display:none; align-items:center; justify-content:flex-end; gap:12px; min-width:0; flex:1 1 0; overflow:hidden;", V.appendChild(W), Z.appendChild(F), Z.appendChild(N), Z.appendChild(V); try { - X.style.position = "absolute", X.style.top = "8px", X.style.left = "", X.style.right = "8px", X.style.transform = "", X.style.zIndex = "10002", X.style.width = "34px", X.style.height = "34px", X.style.padding = "0", X.style.display = "inline-flex", X.style.alignItems = "center", X.style.justifyContent = "center", X.style.borderRadius = "8px"; - } catch (gt) { - (zt = console.debug) == null || zt.call(console, gt); + R.style.position = "absolute", R.style.top = "8px", R.style.left = "", R.style.right = "8px", R.style.transform = "", R.style.zIndex = "10002", R.style.width = "34px", R.style.height = "34px", R.style.padding = "0", R.style.display = "inline-flex", R.style.alignItems = "center", R.style.justifyContent = "center", R.style.borderRadius = "8px"; + } catch (mt) { + (qt = console.debug) == null || qt.call(console, mt); } - g.appendChild(h), g.appendChild(V), g.appendChild(X); + g.appendChild(Z), g.appendChild(Y), g.appendChild(R); const { - toolsRow: N, - gradePanel: q, - overlayPanel: O, + toolsRow: k, + gradePanel: K, + overlayPanel: z, inspectPanel: B, actionPanel: J, - infoPanel: T, - chGroup: D, - expGroup: Q, + infoPanel: P, + chGroup: H, + expGroup: $, gamGroup: E, - anaGroup: K, - ovGuidesGroup: F, - ovInspectGroup: Y, - cmpGroup: U, - audGroup: P, - model3dHint: ee, - helpWrap: oe, + anaGroup: oe, + ovGuidesGroup: M, + ovInspectGroup: j, + cmpGroup: O, + audGroup: D, + model3dHint: q, + helpWrap: ee, helpBtn: ce, - helpPop: pe, - channelsSelect: H, - exposureCtl: $, + helpPop: ue, + channelsSelect: U, + exposureCtl: Q, gammaCtl: _, zebraToggle: le, - scopesToggle: se, - scopesSelect: de, - gridToggle: Ze, - gridModeSelect: Fe, - maskToggle: xe, - formatSelect: ze, - maskOpacityCtl: We, - probeToggle: De, - loupeToggle: Pe, - hudToggle: Qe, + scopesToggle: de, + scopesSelect: se, + gridToggle: ge, + gridModeSelect: je, + maskToggle: Se, + formatSelect: ke, + maskOpacityCtl: we, + probeToggle: Je, + loupeToggle: $e, + hudToggle: qe, focusToggle: Ue, - genInfoToggle: Ee, - compareModeSelect: Re, - audioVizModeSelect: wt, - resetGradeBtn: Se, - exportBtn: Ft, - copyBtn: Gt, - resetExposure: ue, - resetGamma: He, - resetViewerTools: ve, + genInfoToggle: Te, + compareModeSelect: Oe, + audioVizModeSelect: pt, + resetGradeBtn: Me, + exportBtn: Xt, + copyBtn: Mt, + resetExposure: me, + resetGamma: Pe, + resetViewerTools: Le, ACCENT: Ot, - setSelectHighlighted: Ve, - setChannelSelectStyle: Ke, - setValueHighlighted: Be, + setSelectHighlighted: Xe, + setChannelSelectStyle: Ee, + setValueHighlighted: Ke, setGroupHighlighted: nt - } = eA({ + } = iA({ VIEWER_MODES: e, state: t, onToolsChanged: s, @@ -13424,10 +13439,10 @@ function oA({ onExportFrame: u, onCopyFrame: I, onAudioVizModeChanged: p, - getCanAB: Z + getCanAB: A }); - g.appendChild(N), tA({ - unsubs: A, + g.appendChild(k), oA({ + unsubs: C, state: t, VIEWER_MODES: e, onMode: c, @@ -13437,166 +13452,166 @@ function oA({ onAudioVizModeChanged: p, onExportFrame: u, onCopyFrame: I, - singleBtn: z, - abBtn: x, + singleBtn: T, + abBtn: v, sideBtn: w, - closeBtn: X, - channelsSelect: H, - compareModeSelect: Re, - audioVizModeSelect: wt, - exposureCtl: $, + closeBtn: R, + channelsSelect: U, + compareModeSelect: Oe, + audioVizModeSelect: pt, + exposureCtl: Q, gammaCtl: _, zebraToggle: le, - scopesToggle: se, - scopesSelect: de, - gridToggle: Ze, - gridModeSelect: Fe, - maskToggle: xe, - formatSelect: ze, - maskOpacityCtl: We, - probeToggle: De, - loupeToggle: Pe, - hudToggle: Qe, + scopesToggle: de, + scopesSelect: se, + gridToggle: ge, + gridModeSelect: je, + maskToggle: Se, + formatSelect: ke, + maskOpacityCtl: we, + probeToggle: Je, + loupeToggle: $e, + hudToggle: qe, focusToggle: Ue, - genInfoToggle: Ee, - resetGradeBtn: Se, - exportBtn: Ft, - copyBtn: Gt, - resetExposure: ue, - resetGamma: He, - resetViewerTools: ve, - expGroup: Q, + genInfoToggle: Te, + resetGradeBtn: Me, + exportBtn: Xt, + copyBtn: Mt, + resetExposure: me, + resetGamma: Pe, + resetViewerTools: Le, + expGroup: $, gamGroup: E }); - const mt = () => nA({ + const ut = () => rA({ state: t, VIEWER_MODES: e, - getCanAB: Z, + getCanAB: A, header: g, - toolsRow: N, - chGroup: D, - expGroup: Q, + toolsRow: k, + chGroup: H, + expGroup: $, gamGroup: E, - anaGroup: K, - gradePanel: q, - overlayPanel: O, + anaGroup: oe, + gradePanel: K, + overlayPanel: z, inspectPanel: B, - infoPanel: T, + infoPanel: P, actionPanel: J, - ovGuidesGroup: F, - ovInspectGroup: Y, - model3dHint: ee, - helpWrap: oe, - channelsSelect: H, - compareModeSelect: Re, - audioVizModeSelect: wt, - exposureCtl: $, + ovGuidesGroup: M, + ovInspectGroup: j, + model3dHint: q, + helpWrap: ee, + channelsSelect: U, + compareModeSelect: Oe, + audioVizModeSelect: pt, + exposureCtl: Q, gammaCtl: _, zebraToggle: le, - scopesToggle: se, - scopesSelect: de, - gridToggle: Ze, - gridModeSelect: Fe, - maskToggle: xe, - formatSelect: ze, - maskOpacityCtl: We, - probeToggle: De, - loupeToggle: Pe, - hudToggle: Qe, + scopesToggle: de, + scopesSelect: se, + gridToggle: ge, + gridModeSelect: je, + maskToggle: Se, + formatSelect: ke, + maskOpacityCtl: we, + probeToggle: Je, + loupeToggle: $e, + hudToggle: qe, focusToggle: Ue, - genInfoToggle: Ee, - exportBtn: Ft, - copyBtn: Gt, - resetGradeBtn: Se, - cmpGroup: U, - audGroup: P, + genInfoToggle: Te, + exportBtn: Xt, + copyBtn: Mt, + resetGradeBtn: Me, + cmpGroup: O, + audGroup: D, ACCENT: Ot, - setSelectHighlighted: Ve, - setChannelSelectStyle: Ke, - setValueHighlighted: Be, + setSelectHighlighted: Xe, + setChannelSelectStyle: Ee, + setValueHighlighted: Ke, setGroupHighlighted: nt - }), bt = ({ canAB: gt, canSide: kt } = {}) => iA({ + }), It = ({ canAB: mt, canSide: kt } = {}) => lA({ state: t, VIEWER_MODES: e, - singleBtn: z, - abBtn: x, + singleBtn: T, + abBtn: v, sideBtn: w, - canAB: gt, + canAB: mt, canSide: kt }); try { - let gt = null; + let mt = null; const kt = () => { - var te, ge, we; + var Tt, te, ye; try { - (te = gt == null ? void 0 : gt.abort) == null || te.call(gt); - } catch (be) { - (ge = console.debug) == null || ge.call(console, be); + (Tt = mt == null ? void 0 : mt.abort) == null || Tt.call(mt); + } catch (We) { + (te = console.debug) == null || te.call(console, We); } - gt = null; + mt = null; try { - pe.style.display = "none"; - } catch (be) { - (we = console.debug) == null || we.call(console, be); + ue.style.display = "none"; + } catch (We) { + (ye = console.debug) == null || ye.call(console, We); } - }, Qt = () => { - var te, ge; - kt(), gt = new AbortController(); + }, $t = () => { + var Tt, te; + kt(), mt = new AbortController(); try { - pe.style.display = ""; - } catch (we) { - (te = console.debug) == null || te.call(console, we); + ue.style.display = ""; + } catch (ye) { + (Tt = console.debug) == null || Tt.call(console, ye); } try { document.addEventListener( "mousedown", - (we) => { - oe.contains(we.target) || kt(); + (ye) => { + ee.contains(ye.target) || kt(); }, - { capture: !0, signal: gt.signal } + { capture: !0, signal: mt.signal } ), document.addEventListener( "keydown", - (we) => { - we.key === "Escape" && kt(); + (ye) => { + ye.key === "Escape" && kt(); }, - { capture: !0, signal: gt.signal } + { capture: !0, signal: mt.signal } ), document.addEventListener("scroll", kt, { capture: !0, passive: !0, - signal: gt.signal + signal: mt.signal }); - } catch (we) { - (ge = console.debug) == null || ge.call(console, we); + } catch (ye) { + (te = console.debug) == null || te.call(console, ye); } }; - A.push(() => kt()), A.push( - _e(ce, "click", () => { - pe.style.display !== "none" ? kt() : Qt(); + C.push(() => kt()), C.push( + Qe(ce, "click", () => { + ue.style.display !== "none" ? kt() : $t(); }) ); - } catch (gt) { - (Zt = console.debug) == null || Zt.call(console, gt); + } catch (mt) { + (yt = console.debug) == null || yt.call(console, mt); } return { headerEl: g, - headerTopEl: h, - filenameEl: C, - badgesBarEl: S, + headerTopEl: Z, + filenameEl: h, + badgesBarEl: G, filenameRightEl: y, - badgesBarRightEl: k, - leftAreaEl: R, + badgesBarRightEl: X, + leftAreaEl: F, leftMetaEl: f, - centerAreaEl: j, + centerAreaEl: N, rightMetaEl: W, - rightAreaEl: L, + rightAreaEl: V, titleLineEl: b, - titleWrapEl: v, - modeButtonsEl: G, - syncToolsUIFromState: mt, - syncModeButtons: bt + titleWrapEl: L, + modeButtonsEl: x, + syncToolsUIFromState: ut, + syncModeButtons: It }; } -function rA(e) { +function cA(e) { var t; if (!e) return null; try { @@ -13633,7 +13648,7 @@ Negative prompt: ` + i.negative_prompt.trim()), o; } return null; } -function lA({ +function sA({ overlay: e, _content: t, singleView: n, @@ -13648,153 +13663,153 @@ function lA({ navigateViewerAssets: u, closeViewer: I, renderBadges: p, - updateAssetRating: M, - safeDispatchCustomEvent: Z, - ASSET_RATING_CHANGED_EVENT: A, + updateAssetRating: S, + safeDispatchCustomEvent: A, + ASSET_RATING_CHANGED_EVENT: C, probeTooltip: g, - loupeWrap: h, + loupeWrap: Z, getVideoControls: f, lifecycle: b, - renderGenInfoPanel: v + renderGenInfoPanel: L } = {}) { - const C = (b == null ? void 0 : b.unsubs) || []; - let S = null, W = null; + const h = (b == null ? void 0 : b.unsubs) || []; + let G = null, W = null; const y = () => { - var V; + var Y; try { - S && clearTimeout(S); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + G && clearTimeout(G); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - S = null, W = null; - }, k = (V, R) => { - y(), W = { assetId: V, rating: R }, S = setTimeout(async () => { - const j = W; - if (S = null, W = null, !!(j != null && j.assetId)) + G = null, W = null; + }, X = (Y, F) => { + y(), W = { assetId: Y, rating: F }, G = setTimeout(async () => { + const N = W; + if (G = null, W = null, !!(N != null && N.assetId)) try { - const L = await (M == null ? void 0 : M(j.assetId, j.rating)); - if (!(L != null && L.ok)) { - Ce((L == null ? void 0 : L.error) || m("toast.ratingUpdateFailed"), "error"); + const V = await (S == null ? void 0 : S(N.assetId, N.rating)); + if (!(V != null && V.ok)) { + Ze((V == null ? void 0 : V.error) || m("toast.ratingUpdateFailed"), "error"); return; } - Ce(m("toast.ratingSetN", { n: j.rating }), "success", 1500), Z == null || Z( - A, - { assetId: String(j.assetId), rating: j.rating }, + Ze(m("toast.ratingSetN", { n: N.rating }), "success", 1500), A == null || A( + C, + { assetId: String(N.assetId), rating: N.rating }, { warnPrefix: "[Viewer]" } ); } catch { - Ce(m("toast.ratingUpdateError"), "error"); + Ze(m("toast.ratingUpdateError"), "error"); } }, 300); - }, G = () => { - var V, R, j; + }, x = () => { + var Y, F, N; try { - document.fullscreenElement ? (R = document == null ? void 0 : document.exitFullscreen) == null || R.call(document) : (V = e == null ? void 0 : e.requestFullscreen) == null || V.call(e); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + document.fullscreenElement ? (F = document == null ? void 0 : document.exitFullscreen) == null || F.call(document) : (Y = e == null ? void 0 : e.requestFullscreen) == null || Y.call(e); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } - }, z = (V) => { - var J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $, _, le, se, de, Ze, Fe, xe, ze, We, De, Pe, Qe, Ue, Ee, Re, wt, Se, Ft, Gt; - const R = () => { - var ue, He; + }, T = (Y) => { + var J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U, Q, _, le, de, se, ge, je, Se, ke, we, Je, $e, qe, Ue, Te, Oe, pt, Me, Xt, Mt; + const F = () => { + var me, Pe; try { - V.preventDefault(), V.stopPropagation(), (ue = V.stopImmediatePropagation) == null || ue.call(V); - } catch (ve) { - (He = console.debug) == null || He.call(console, ve); + Y.preventDefault(), Y.stopPropagation(), (me = Y.stopImmediatePropagation) == null || me.call(Y); + } catch (Le) { + (Pe = console.debug) == null || Pe.call(console, Le); } }; try { if (((J = e == null ? void 0 : e.style) == null ? void 0 : J.display) === "none") return; - } catch (ue) { - (T = console.debug) == null || T.call(console, ue); + } catch (me) { + (P = console.debug) == null || P.call(console, me); } try { - const ue = V == null ? void 0 : V.target; - if (ue && (ue.tagName === "INPUT" || ue.tagName === "TEXTAREA" || ue.isContentEditable)) { - if (V.key === "f" || V.key === "F") { - R(), G(); + const me = Y == null ? void 0 : Y.target; + if (me && (me.tagName === "INPUT" || me.tagName === "TEXTAREA" || me.isContentEditable)) { + if (Y.key === "f" || Y.key === "F") { + F(), x(); return; } - V.key === "Escape" && (R(), pt(I)); + Y.key === "Escape" && (F(), bt(I)); return; } - } catch (ue) { - (D = console.debug) == null || D.call(console, ue); + } catch (me) { + (H = console.debug) == null || H.call(console, me); } - const j = (i == null ? void 0 : i.mode) === (o == null ? void 0 : o.SINGLE), L = (Q = i == null ? void 0 : i.assets) == null ? void 0 : Q[i == null ? void 0 : i.currentIndex], N = async (ue) => { - if (!j || !(L != null && L.id) || ue !== "0" && ue !== "1" && ue !== "2" && ue !== "3" && ue !== "4" && ue !== "5") + const N = (i == null ? void 0 : i.mode) === (o == null ? void 0 : o.SINGLE), V = ($ = i == null ? void 0 : i.assets) == null ? void 0 : $[i == null ? void 0 : i.currentIndex], k = async (me) => { + if (!N || !(V != null && V.id) || me !== "0" && me !== "1" && me !== "2" && me !== "3" && me !== "4" && me !== "5") return !1; - const He = ue === "0" ? 0 : Number(ue); - if (!Number.isFinite(He)) return !1; + const Pe = me === "0" ? 0 : Number(me); + if (!Number.isFinite(Pe)) return !1; try { - return L.rating = He, pt(p), k(L.id, He), !0; + return V.rating = Pe, bt(p), X(V.id, Pe), !0; } catch { return !0; } - }, q = () => { + }, K = () => { try { return (f == null ? void 0 : f()) || null; } catch { return null; } - }, O = async (ue) => { - var Ke, Be, nt, mt, bt, st; - if (!j || (L == null ? void 0 : L.kind) !== "video") return !1; + }, z = async (me) => { + var Ee, Ke, nt, ut, It, dt; + if (!N || (V == null ? void 0 : V.kind) !== "video") return !1; try { - const ke = q(); - if (ke != null && ke.stepFrames) - return ke.stepFrames(ue), !0; - } catch (ke) { - (Ke = console.debug) == null || Ke.call(console, ke); + const Re = K(); + if (Re != null && Re.stepFrames) + return Re.stepFrames(me), !0; + } catch (Re) { + (Ee = console.debug) == null || Ee.call(console, Re); } - const He = (Be = n == null ? void 0 : n.querySelector) == null ? void 0 : Be.call(n, "video"); - if (!He) return !1; + const Pe = (Ke = n == null ? void 0 : n.querySelector) == null ? void 0 : Ke.call(n, "video"); + if (!Pe) return !1; try { - (nt = He.pause) == null || nt.call(He); - } catch (ke) { - (mt = console.debug) == null || mt.call(console, ke); + (nt = Pe.pause) == null || nt.call(Pe); + } catch (Re) { + (ut = console.debug) == null || ut.call(console, Re); } - const Ot = 1 / 30, Ve = ue * Ot; + const Ot = 1 / 30, Xe = me * Ot; try { - const ke = Number(He.duration), Ct = Math.max( + const Re = Number(Pe.duration), Wt = Math.max( 0, Math.min( - Number.isFinite(ke) ? ke : 1 / 0, - (He.currentTime || 0) + Ve + Number.isFinite(Re) ? Re : 1 / 0, + (Pe.currentTime || 0) + Xe ) ); - He.currentTime = Ct; + Pe.currentTime = Wt; try { - (bt = He.dispatchEvent) == null || bt.call( - He, - new CustomEvent("mjr:frameStep", { detail: { direction: ue, time: Ct } }) + (It = Pe.dispatchEvent) == null || It.call( + Pe, + new CustomEvent("mjr:frameStep", { detail: { direction: me, time: Wt } }) ); - } catch (at) { - (st = console.debug) == null || st.call(console, at); + } catch (lt) { + (dt = console.debug) == null || dt.call(console, lt); } return !0; } catch { return !0; } - }, B = (ue, { absolute: He = !1 } = {}) => { - var ve, Ot; + }, B = (me, { absolute: Pe = !1 } = {}) => { + var Le, Ot; try { - const Ve = q(); - if (!Ve) return !1; - if (He) { - const Be = (ve = Ve.setPlaybackRate) == null ? void 0 : ve.call(Ve, ue); - return Number.isFinite(Number(Be)) ? (i.playbackRate = Number(Be), Ce( + const Xe = K(); + if (!Xe) return !1; + if (Pe) { + const Ke = (Le = Xe.setPlaybackRate) == null ? void 0 : Le.call(Xe, me); + return Number.isFinite(Number(Ke)) ? (i.playbackRate = Number(Ke), Ze( m("toast.playbackRate", "Playback {rate}x", { - rate: Number(Be).toFixed(2) + rate: Number(Ke).toFixed(2) }), "info", 1200 ), !0) : !1; } - const Ke = (Ot = Ve.adjustPlaybackRate) == null ? void 0 : Ot.call(Ve, ue); - return Number.isFinite(Number(Ke)) ? (i.playbackRate = Number(Ke), Ce( + const Ee = (Ot = Xe.adjustPlaybackRate) == null ? void 0 : Ot.call(Xe, me); + return Number.isFinite(Number(Ee)) ? (i.playbackRate = Number(Ee), Ze( m("toast.playbackRate", "Playback {rate}x", { - rate: Number(Ke).toFixed(2) + rate: Number(Ee).toFixed(2) }), "info", 1200 @@ -13803,124 +13818,124 @@ function lA({ return !1; } }; - if ((V.ctrlKey || V.metaKey) && (V.key === "c" || V.key === "C")) + if ((Y.ctrlKey || Y.metaKey) && (Y.key === "c" || Y.key === "C")) try { - const ue = rA(L); - if (ue) { - R(), (K = (E = navigator.clipboard) == null ? void 0 : E.writeText) == null || K.call(E, ue).then(() => Ce(m("toast.promptCopied", "Prompt copied to clipboard"), "success", 1500)).catch(() => Ce(m("toast.copyFailed", "Copy failed"), "error", 1500)); + const me = cA(V); + if (me) { + F(), (oe = (E = navigator.clipboard) == null ? void 0 : E.writeText) == null || oe.call(E, me).then(() => Ze(m("toast.promptCopied", "Prompt copied to clipboard"), "success", 1500)).catch(() => Ze(m("toast.copyFailed", "Copy failed"), "error", 1500)); return; } - } catch (ue) { - (F = console.debug) == null || F.call(console, ue); + } catch (me) { + (M = console.debug) == null || M.call(console, me); } - if (j && !V.altKey && !V.ctrlKey && !V.metaKey && (V.key === "0" || V.key === "1" || V.key === "2" || V.key === "3" || V.key === "4" || V.key === "5")) { - R(), N(V.key); + if (N && !Y.altKey && !Y.ctrlKey && !Y.metaKey && (Y.key === "0" || Y.key === "1" || Y.key === "2" || Y.key === "3" || Y.key === "4" || Y.key === "5")) { + F(), k(Y.key); return; } - switch (V.key) { + switch (Y.key) { case "1": { - if (!V.altKey) break; - const ue = pt(r); - if (ue == null) break; - R(); + if (!Y.altKey) break; + const me = bt(r); + if (me == null) break; + F(); try { - const He = Math.abs((Number(i == null ? void 0 : i.zoom) || 1) - ue) < 0.01; - l == null || l(He ? 1 : ue, { + const Pe = Math.abs((Number(i == null ? void 0 : i.zoom) || 1) - me) < 0.01; + l == null || l(Pe ? 1 : me, { clientX: i == null ? void 0 : i._lastPointerX, clientY: i == null ? void 0 : i._lastPointerY }); - } catch (He) { - (Y = console.debug) == null || Y.call(console, He); + } catch (Pe) { + (j = console.debug) == null || j.call(console, Pe); } break; } case "g": case "G": { - R(); + F(); try { i.gridMode = ((Number(i.gridMode) || 0) + 1) % 5; - } catch (ue) { - (U = console.debug) == null || U.call(console, ue); + } catch (me) { + (O = console.debug) == null || O.call(console, me); } - pt(a), pt(s); + bt(a), bt(s); break; } case "f": case "F": { - R(), G(); + F(), x(); break; } case "d": case "D": { - R(); + F(); try { i.genInfoOpen = !i.genInfoOpen; - } catch (ue) { - (P = console.debug) == null || P.call(console, ue); + } catch (me) { + (D = console.debug) == null || D.call(console, me); } - pt(s), pt(v); + bt(s), bt(L); break; } case "z": case "Z": { - R(); + F(); try { i.analysisMode = i.analysisMode === "zebra" ? "none" : "zebra"; - } catch (ue) { - (ee = console.debug) == null || ee.call(console, ue); + } catch (me) { + (q = console.debug) == null || q.call(console, me); } - pt(s), pt(c); + bt(s), bt(c); break; } case "i": case "I": { - if (j && (L == null ? void 0 : L.kind) === "video") { - const ue = q(); - if ((oe = ue == null ? void 0 : ue.setInPoint) != null && oe.call(ue)) { - R(), Ce(m("toast.inPointSet", "In point set"), "info", 1200); + if (N && (V == null ? void 0 : V.kind) === "video") { + const me = K(); + if ((ee = me == null ? void 0 : me.setInPoint) != null && ee.call(me)) { + F(), Ze(m("toast.inPointSet", "In point set"), "info", 1200); break; } } - R(); + F(); try { i.probeEnabled = !i.probeEnabled; - } catch (ue) { - (ce = console.debug) == null || ce.call(console, ue); + } catch (me) { + (ce = console.debug) == null || ce.call(console, me); } try { i.probeEnabled || (g.style.display = "none"); - } catch (ue) { - (pe = console.debug) == null || pe.call(console, ue); + } catch (me) { + (ue = console.debug) == null || ue.call(console, me); } - pt(s); + bt(s); break; } case "o": case "O": { - if (j && (L == null ? void 0 : L.kind) === "video") { - const ue = q(); - if ((H = ue == null ? void 0 : ue.setOutPoint) != null && H.call(ue)) { - R(), Ce(m("toast.outPointSet", "Out point set"), "info", 1200); + if (N && (V == null ? void 0 : V.kind) === "video") { + const me = K(); + if ((U = me == null ? void 0 : me.setOutPoint) != null && U.call(me)) { + F(), Ze(m("toast.outPointSet", "Out point set"), "info", 1200); break; } } break; } case "Home": { - if (j && (L == null ? void 0 : L.kind) === "video") { - const ue = q(); - if (($ = ue == null ? void 0 : ue.goToIn) != null && $.call(ue)) { - R(); + if (N && (V == null ? void 0 : V.kind) === "video") { + const me = K(); + if ((Q = me == null ? void 0 : me.goToIn) != null && Q.call(me)) { + F(); break; } } break; } case "End": { - if (j && (L == null ? void 0 : L.kind) === "video") { - const ue = q(); - if ((_ = ue == null ? void 0 : ue.goToOut) != null && _.call(ue)) { - R(); + if (N && (V == null ? void 0 : V.kind) === "video") { + const me = K(); + if ((_ = me == null ? void 0 : me.goToOut) != null && _.call(me)) { + F(); break; } } @@ -13928,69 +13943,69 @@ function lA({ } case "l": case "L": { - R(); + F(); try { i.loupeEnabled = !i.loupeEnabled; - } catch (ue) { - (le = console.debug) == null || le.call(console, ue); + } catch (me) { + (le = console.debug) == null || le.call(console, me); } try { - i.loupeEnabled || (h.style.display = "none"); - } catch (ue) { - (se = console.debug) == null || se.call(console, ue); + i.loupeEnabled || (Z.style.display = "none"); + } catch (me) { + (de = console.debug) == null || de.call(console, me); } - pt(s); + bt(s); break; } case "x": case "X": { - R(); + F(); try { i.distractionFree = !i.distractionFree; - } catch (ue) { - (de = console.debug) == null || de.call(console, ue); + } catch (me) { + (se = console.debug) == null || se.call(console, me); } - pt(s), pt(d), pt(v); + bt(s), bt(d), bt(L); break; } case "c": case "C": { - const ue = i == null ? void 0 : i._probe; - if (!ue || ue.r == null || ue.g == null || ue.b == null) break; - const He = `#${[ue.r, ue.g, ue.b].map((ve) => Math.max(0, Math.min(255, Number(ve) || 0)).toString(16).padStart(2, "0")).join("")}`; + const me = i == null ? void 0 : i._probe; + if (!me || me.r == null || me.g == null || me.b == null) break; + const Pe = `#${[me.r, me.g, me.b].map((Le) => Math.max(0, Math.min(255, Number(Le) || 0)).toString(16).padStart(2, "0")).join("")}`; try { - const ve = navigator == null ? void 0 : navigator.clipboard; - ve != null && ve.writeText && (R(), ve.writeText(He).catch(() => { + const Le = navigator == null ? void 0 : navigator.clipboard; + Le != null && Le.writeText && (F(), Le.writeText(Pe).catch(() => { })); - } catch (ve) { - (Ze = console.debug) == null || Ze.call(console, ve); + } catch (Le) { + (ge = console.debug) == null || ge.call(console, Le); } break; } case " ": case "Spacebar": { - if (j && (L == null ? void 0 : L.kind) === "video") { - const ue = (Fe = n == null ? void 0 : n.querySelector) == null ? void 0 : Fe.call(n, "video"); - if (ue) { - R(); + if (N && (V == null ? void 0 : V.kind) === "video") { + const me = (je = n == null ? void 0 : n.querySelector) == null ? void 0 : je.call(n, "video"); + if (me) { + F(); try { - const He = q(); - if (He != null && He.togglePlay) { - He.togglePlay(); + const Pe = K(); + if (Pe != null && Pe.togglePlay) { + Pe.togglePlay(); break; } - } catch (He) { - (xe = console.debug) == null || xe.call(console, He); + } catch (Pe) { + (Se = console.debug) == null || Se.call(console, Pe); } try { - if (ue.paused) { - const He = (ze = ue.play) == null ? void 0 : ze.call(ue); - He && typeof He.catch == "function" && He.catch(() => { + if (me.paused) { + const Pe = (ke = me.play) == null ? void 0 : ke.call(me); + Pe && typeof Pe.catch == "function" && Pe.catch(() => { }); } else - (We = ue.pause) == null || We.call(ue); - } catch (He) { - (De = console.debug) == null || De.call(console, He); + (we = me.pause) == null || we.call(me); + } catch (Pe) { + (Je = console.debug) == null || Je.call(console, Pe); } break; } @@ -13998,181 +14013,181 @@ function lA({ break; } case "Tab": { - R(); + F(); try { - (Pe = e == null ? void 0 : e.contains) != null && Pe.call(e, document.activeElement) || (Qe = e == null ? void 0 : e.focus) == null || Qe.call(e); - } catch (ue) { - (Ue = console.debug) == null || Ue.call(console, ue); + ($e = e == null ? void 0 : e.contains) != null && $e.call(e, document.activeElement) || (qe = e == null ? void 0 : e.focus) == null || qe.call(e); + } catch (me) { + (Ue = console.debug) == null || Ue.call(console, me); } break; } case "Escape": - R(), pt(I); + F(), bt(I); break; case "ArrowLeft": - if (j && ((Re = (Ee = V.target) == null ? void 0 : Ee.closest) != null && Re.call(Ee, ".mjr-viewer-playerbar"))) { - R(), O(-1); + if (N && ((Oe = (Te = Y.target) == null ? void 0 : Te.closest) != null && Oe.call(Te, ".mjr-viewer-playerbar"))) { + F(), z(-1); break; } - R(), pt(() => u == null ? void 0 : u(-1)); + F(), bt(() => u == null ? void 0 : u(-1)); break; case "ArrowRight": - if (j && ((Se = (wt = V.target) == null ? void 0 : wt.closest) != null && Se.call(wt, ".mjr-viewer-playerbar"))) { - R(), O(1); + if (N && ((Me = (pt = Y.target) == null ? void 0 : pt.closest) != null && Me.call(pt, ".mjr-viewer-playerbar"))) { + F(), z(1); break; } - R(), pt(() => u == null ? void 0 : u(1)); + F(), bt(() => u == null ? void 0 : u(1)); break; case "[": case "{": { - R(), B(-0.25) || Ce(m("toast.playbackVideoOnly"), "warning", 1400); + F(), B(-0.25) || Ze(m("toast.playbackVideoOnly"), "warning", 1400); break; } case "]": case "}": { - R(), B(0.25) || Ce(m("toast.playbackVideoOnly"), "warning", 1400); + F(), B(0.25) || Ze(m("toast.playbackVideoOnly"), "warning", 1400); break; } case "\\": case "|": { - R(), B(1, { absolute: !0 }) || Ce(m("toast.playbackVideoOnly"), "warning", 1400); + F(), B(1, { absolute: !0 }) || Ze(m("toast.playbackVideoOnly"), "warning", 1400); break; } case "+": case "=": - R(); + F(); try { l == null || l((Number(i == null ? void 0 : i.zoom) || 1) + 0.25, { clientX: i == null ? void 0 : i._lastPointerX, clientY: i == null ? void 0 : i._lastPointerY }); - } catch (ue) { - (Ft = console.debug) == null || Ft.call(console, ue); + } catch (me) { + (Xt = console.debug) == null || Xt.call(console, me); } break; case "-": case "_": - R(); + F(); try { l == null || l((Number(i == null ? void 0 : i.zoom) || 1) - 0.25, { clientX: i == null ? void 0 : i._lastPointerX, clientY: i == null ? void 0 : i._lastPointerY }); - } catch (ue) { - (Gt = console.debug) == null || Gt.call(console, ue); + } catch (me) { + (Mt = console.debug) == null || Mt.call(console, me); } break; } }; - let x = null; + let v = null; const w = () => { - var V; + var Y; try { - if (x) return; - x = _e(window, "keydown", z, !0); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + if (v) return; + v = Qe(window, "keydown", T, !0); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - }, X = () => { - var V; + }, R = () => { + var Y; try { - pt(x); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + bt(v); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - x = null; + v = null; }; - return C.push(() => y()), C.push(() => X()), { + return h.push(() => y()), h.push(() => R()), { bind: w, - unbind: X, + unbind: R, dispose: () => { - y(), X(); + y(), R(); } }; } -const aA = () => { +const dA = () => { try { - return !!(ye != null && ye.DEBUG_VIEWER); + return !!(fe != null && fe.DEBUG_VIEWER); } catch { return !1; } }; -function cA(e, t, { threshold: n = 0.15 } = {}) { +function uA(e, t, { threshold: n = 0.15 } = {}) { var o, r, l, a, c, s, d, u, I; const i = new AbortController(); try { if (!e) return i; const p = Array.isArray(t) ? t.filter((b) => b && b !== e) : []; if (!p.length) return i; - let M = !1; - const Z = (b) => { - var v, C; + let S = !1; + const A = (b) => { + var L, h; try { - const S = (v = b.play) == null ? void 0 : v.call(b); - S && typeof S.catch == "function" && S.catch(() => { + const G = (L = b.play) == null ? void 0 : L.call(b); + G && typeof G.catch == "function" && G.catch(() => { }); - } catch (S) { - (C = console.debug) == null || C.call(console, S); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } - }, A = () => { - if (!M) + }, C = () => { + if (!S) try { const b = Number(e.currentTime) || 0; - for (const v of p) + for (const L of p) try { - Math.abs((Number(v.currentTime) || 0) - b) > n && (M = !0, v.currentTime = b, M = !1); + Math.abs((Number(L.currentTime) || 0) - b) > n && (S = !0, L.currentTime = b, S = !1); } catch { - M = !1; + S = !1; } } catch { - M = !1; + S = !1; } }, g = (b) => { - var v, C; - if (!M) - for (const S of p) + var L, h; + if (!S) + for (const G of p) try { - b ? Z(S) : (v = S.pause) == null || v.call(S); + b ? A(G) : (L = G.pause) == null || L.call(G); } catch (W) { - (C = console.debug) == null || C.call(console, W); + (h = console.debug) == null || h.call(console, W); } - }, h = () => { + }, Z = () => { var b; - if (!M) - for (const v of p) + if (!S) + for (const L of p) try { - v.muted = !!e.muted, v.volume = Number(e.volume) || 0; - } catch (C) { - (b = console.debug) == null || b.call(console, C); + L.muted = !!e.muted, L.volume = Number(e.volume) || 0; + } catch (h) { + (b = console.debug) == null || b.call(console, h); } }, f = () => { var b; - if (!M) - for (const v of p) + if (!S) + for (const L of p) try { - v.playbackRate = Number(e.playbackRate) || 1; - } catch (C) { - (b = console.debug) == null || b.call(console, C); + L.playbackRate = Number(e.playbackRate) || 1; + } catch (h) { + (b = console.debug) == null || b.call(console, h); } }; try { for (const b of p) { try { b.muted = !0; - } catch (v) { - (o = console.debug) == null || o.call(console, v); + } catch (L) { + (o = console.debug) == null || o.call(console, L); } try { b.loop = !1; - } catch (v) { - (r = console.debug) == null || r.call(console, v); + } catch (L) { + (r = console.debug) == null || r.call(console, L); } } } catch (b) { (l = console.debug) == null || l.call(console, b); } try { - h(), f(), A(), e.paused || g(!0); + Z(), f(), C(), e.paused || g(!0); } catch (b) { (a = console.debug) == null || a.call(console, b); } @@ -14182,36 +14197,36 @@ function cA(e, t, { threshold: n = 0.15 } = {}) { }), e.addEventListener("pause", () => g(!1), { signal: i.signal, passive: !0 - }), e.addEventListener("timeupdate", A, { + }), e.addEventListener("timeupdate", C, { signal: i.signal, passive: !0 - }), e.addEventListener("seeking", A, { signal: i.signal, passive: !0 }), e.addEventListener("seeked", A, { signal: i.signal, passive: !0 }), e.addEventListener("ended", A, { signal: i.signal, passive: !0 }), e.addEventListener("volumechange", h, { signal: i.signal, passive: !0 }), e.addEventListener("ratechange", f, { signal: i.signal, passive: !0 }); + }), e.addEventListener("seeking", C, { signal: i.signal, passive: !0 }), e.addEventListener("seeked", C, { signal: i.signal, passive: !0 }), e.addEventListener("ended", C, { signal: i.signal, passive: !0 }), e.addEventListener("volumechange", Z, { signal: i.signal, passive: !0 }), e.addEventListener("ratechange", f, { signal: i.signal, passive: !0 }); try { for (const b of p) try { b.addEventListener( "ended", () => { - var v, C; - if (!M) { + var L, h; + if (!S) { try { - M = !0, b.currentTime = Number(e.currentTime) || 0; - } catch (S) { - (v = console.debug) == null || v.call(console, S); + S = !0, b.currentTime = Number(e.currentTime) || 0; + } catch (G) { + (L = console.debug) == null || L.call(console, G); } finally { - M = !1; + S = !1; } try { - e.paused || Z(b); - } catch (S) { - (C = console.debug) == null || C.call(console, S); + e.paused || A(b); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } } }, { signal: i.signal, passive: !0 } ); - } catch (v) { - (c = console.debug) == null || c.call(console, v); + } catch (L) { + (c = console.debug) == null || c.call(console, L); } } catch (b) { (s = console.debug) == null || s.call(console, b); @@ -14219,28 +14234,28 @@ function cA(e, t, { threshold: n = 0.15 } = {}) { try { for (const b of p) try { - b.addEventListener("loadedmetadata", A, { + b.addEventListener("loadedmetadata", C, { signal: i.signal, passive: !0, once: !0 }); - } catch (v) { - (d = console.debug) == null || d.call(console, v); + } catch (L) { + (d = console.debug) == null || d.call(console, L); } } catch (b) { (u = console.debug) == null || u.call(console, b); } } catch (p) { - if (aA()) + if (dA()) try { console.warn("[Viewer] follower video sync setup failed", p); - } catch (M) { - (I = console.debug) == null || I.call(console, M); + } catch (S) { + (I = console.debug) == null || I.call(console, S); } } return i; } -function sA({ +function mA({ gridCanvas: e, content: t, state: n, @@ -14250,113 +14265,113 @@ function sA({ clearCanvas: l } = {}) { const a = () => { - var b, v, C; + var b, L, h; try { - const S = n == null ? void 0 : n.mode; - return S === (i == null ? void 0 : i.AB_COMPARE) ? ((b = t == null ? void 0 : t.querySelector) == null ? void 0 : b.call(t, ".mjr-viewer-ab")) || t || null : S === (i == null ? void 0 : i.SIDE_BY_SIDE) ? ((v = t == null ? void 0 : t.querySelector) == null ? void 0 : v.call(t, ".mjr-viewer-sidebyside")) || t || null : ((C = t == null ? void 0 : t.querySelector) == null ? void 0 : C.call(t, ".mjr-viewer-single")) || t || null; + const G = n == null ? void 0 : n.mode; + return G === (i == null ? void 0 : i.AB_COMPARE) ? ((b = t == null ? void 0 : t.querySelector) == null ? void 0 : b.call(t, ".mjr-viewer-ab")) || t || null : G === (i == null ? void 0 : i.SIDE_BY_SIDE) ? ((L = t == null ? void 0 : t.querySelector) == null ? void 0 : L.call(t, ".mjr-viewer-sidebyside")) || t || null : ((h = t == null ? void 0 : t.querySelector) == null ? void 0 : h.call(t, ".mjr-viewer-single")) || t || null; } catch { return t || null; } - }, c = (b, v) => { + }, c = (b, L) => { try { - if (!b) return v || null; - const C = n == null ? void 0 : n.mode; - if (C === (i == null ? void 0 : i.SIDE_BY_SIDE) || C === (i == null ? void 0 : i.AB_COMPARE)) { - let S = b; - for (; S && S !== v && S.parentElement; ) { - if (S.parentElement === v) return S; - S = S.parentElement; + if (!b) return L || null; + const h = n == null ? void 0 : n.mode; + if (h === (i == null ? void 0 : i.SIDE_BY_SIDE) || h === (i == null ? void 0 : i.AB_COMPARE)) { + let G = b; + for (; G && G !== L && G.parentElement; ) { + if (G.parentElement === L) return G; + G = G.parentElement; } - return v || null; + return L || null; } - return v || t || null; + return L || t || null; } catch { - return v || t || null; + return L || t || null; } }, s = (b) => { - var v, C, S, W, y; + var L, h, G, W, y; try { - const k = (v = b == null ? void 0 : b.dataset) == null ? void 0 : v.mjrAssetId; - if (k == null || k === "") return ((C = n == null ? void 0 : n.assets) == null ? void 0 : C[n == null ? void 0 : n.currentIndex]) || null; - const G = Array.isArray(n == null ? void 0 : n.assets) ? n.assets : []; - for (const z of G) + const X = (L = b == null ? void 0 : b.dataset) == null ? void 0 : L.mjrAssetId; + if (X == null || X === "") return ((h = n == null ? void 0 : n.assets) == null ? void 0 : h[n == null ? void 0 : n.currentIndex]) || null; + const x = Array.isArray(n == null ? void 0 : n.assets) ? n.assets : []; + for (const T of x) try { - if ((z == null ? void 0 : z.id) != null && String(z.id) === String(k)) return z; - } catch (x) { - (S = console.debug) == null || S.call(console, x); + if ((T == null ? void 0 : T.id) != null && String(T.id) === String(X)) return T; + } catch (v) { + (G = console.debug) == null || G.call(console, v); } return ((W = n == null ? void 0 : n.assets) == null ? void 0 : W[n == null ? void 0 : n.currentIndex]) || null; } catch { return ((y = n == null ? void 0 : n.assets) == null ? void 0 : y[n == null ? void 0 : n.currentIndex]) || null; } - }, d = (b, v = null) => { - var C, S, W, y; + }, d = (b, L = null) => { + var h, G, W, y; try { if (!b) return { w: 0, h: 0 }; if (b instanceof HTMLCanvasElement) { - const z = Number(b._mjrNaturalW) || Number(b.width) || 0, x = Number(b._mjrNaturalH) || Number(b.height) || 0; - if (z > 0 && x > 0) return { w: z, h: x }; + const T = Number(b._mjrNaturalW) || Number(b.width) || 0, v = Number(b._mjrNaturalH) || Number(b.height) || 0; + if (T > 0 && v > 0) return { w: T, h: v }; } - const k = Number(b.videoWidth) || Number(b.naturalWidth) || 0, G = Number(b.videoHeight) || Number(b.naturalHeight) || 0; - if (k > 0 && G > 0) return { w: k, h: G }; + const X = Number(b.videoWidth) || Number(b.naturalWidth) || 0, x = Number(b.videoHeight) || Number(b.naturalHeight) || 0; + if (X > 0 && x > 0) return { w: X, h: x }; try { - const z = Number(v == null ? void 0 : v.width) || 0, x = Number(v == null ? void 0 : v.height) || 0; - if (z > 0 && x > 0) return { w: z, h: x }; - } catch (z) { - (C = console.debug) == null || C.call(console, z); + const T = Number(L == null ? void 0 : L.width) || 0, v = Number(L == null ? void 0 : L.height) || 0; + if (T > 0 && v > 0) return { w: T, h: v }; + } catch (T) { + (h = console.debug) == null || h.call(console, T); } try { - const z = Number(n == null ? void 0 : n._mediaW) || 0, x = Number(n == null ? void 0 : n._mediaH) || 0; - if (z > 0 && x > 0) return { w: z, h: x }; - } catch (z) { - (S = console.debug) == null || S.call(console, z); + const T = Number(n == null ? void 0 : n._mediaW) || 0, v = Number(n == null ? void 0 : n._mediaH) || 0; + if (T > 0 && v > 0) return { w: T, h: v }; + } catch (T) { + (G = console.debug) == null || G.call(console, T); } try { - const z = ((W = n == null ? void 0 : n.assets) == null ? void 0 : W[n == null ? void 0 : n.currentIndex]) || null, x = Number(z == null ? void 0 : z.width) || 0, w = Number(z == null ? void 0 : z.height) || 0; - if (x > 0 && w > 0) return { w: x, h: w }; - } catch (z) { - (y = console.debug) == null || y.call(console, z); + const T = ((W = n == null ? void 0 : n.assets) == null ? void 0 : W[n == null ? void 0 : n.currentIndex]) || null, v = Number(T == null ? void 0 : T.width) || 0, w = Number(T == null ? void 0 : T.height) || 0; + if (v > 0 && w > 0) return { w: v, h: w }; + } catch (T) { + (y = console.debug) == null || y.call(console, T); } return { w: 0, h: 0 }; } catch { return { w: 0, h: 0 }; } - }, u = (b, v, C, S) => { + }, u = (b, L, h, G) => { try { - const W = Number(b) || 0, y = Number(v) || 0, k = Number(C) || 0, G = Number(S) || 0; - if (!(W > 0 && y > 0 && k > 0 && G > 0)) return { x: 0, y: 0, w: W, h: y }; - const z = k / G; - if (!Number.isFinite(z) || z <= 0) return { x: 0, y: 0, w: W, h: y }; - const x = y, w = y * z; - return { x: (W - w) / 2, y: 0, w, h: x }; + const W = Number(b) || 0, y = Number(L) || 0, X = Number(h) || 0, x = Number(G) || 0; + if (!(W > 0 && y > 0 && X > 0 && x > 0)) return { x: 0, y: 0, w: W, h: y }; + const T = X / x; + if (!Number.isFinite(T) || T <= 0) return { x: 0, y: 0, w: W, h: y }; + const v = y, w = y * T; + return { x: (W - w) / 2, y: 0, w, h: v }; } catch { - return { x: 0, y: 0, w: Number(b) || 0, h: Number(v) || 0 }; + return { x: 0, y: 0, w: Number(b) || 0, h: Number(L) || 0 }; } - }, I = (b, v, C, S, W) => { + }, I = (b, L, h, G, W) => { try { - const y = Math.max(0.1, Math.min(16, Number(C) || 1)), k = Number(v == null ? void 0 : v.x) || 0, G = Number(v == null ? void 0 : v.y) || 0, z = Number(b == null ? void 0 : b.x) || 0, x = Number(b == null ? void 0 : b.y) || 0, w = Number(b == null ? void 0 : b.w) || 0, X = Number(b == null ? void 0 : b.h) || 0, V = Number(S) || 0, R = Number(W) || 0; + const y = Math.max(0.1, Math.min(16, Number(h) || 1)), X = Number(L == null ? void 0 : L.x) || 0, x = Number(L == null ? void 0 : L.y) || 0, T = Number(b == null ? void 0 : b.x) || 0, v = Number(b == null ? void 0 : b.y) || 0, w = Number(b == null ? void 0 : b.w) || 0, R = Number(b == null ? void 0 : b.h) || 0, Y = Number(G) || 0, F = Number(W) || 0; return { - x: k + (z - k) * y + V, - y: G + (x - G) * y + R, + x: X + (T - X) * y + Y, + y: x + (v - x) * y + F, w: w * y, - h: X * y + h: R * y }; } catch { return { x: 0, y: 0, w: 0, h: 0 }; } - }, p = (b, v, C, S) => { + }, p = (b, L, h, G) => { var W; try { - const y = v || {}, k = Number(y.x) || 0, G = Number(y.y) || 0, z = Number(y.w) || 0, x = Number(y.h) || 0; - if (!(z > 8 && x > 8)) return; - const w = String(C || ""); + const y = L || {}, X = Number(y.x) || 0, x = Number(y.y) || 0, T = Number(y.w) || 0, v = Number(y.h) || 0; + if (!(T > 8 && v > 8)) return; + const w = String(h || ""); if (!w) return; - const X = Math.max(6, Math.round(6 * S)), V = Math.max(3, Math.round(3 * S)), R = Math.max(11, Math.round(11 * S)); - b.save(), b.font = `${R}px var(--comfy-font, ui-sans-serif, system-ui)`, b.textAlign = "left", b.textBaseline = "top"; - const L = Math.ceil(b.measureText(w).width) + X * 2, N = R + V * 2, q = k + Math.max(2, Math.round(8 * S)), O = G + Math.max(2, Math.round(8 * S)); - b.fillStyle = "rgba(0,0,0,0.55)", b.strokeStyle = "rgba(255,255,255,0.18)", b.lineWidth = Math.max(1, Math.round(1 * S)), b.beginPath(); - const B = Math.max(6, Math.round(8 * S)); - b.moveTo(q + B, O), b.arcTo(q + L, O, q + L, O + N, B), b.arcTo(q + L, O + N, q, O + N, B), b.arcTo(q, O + N, q, O, B), b.arcTo(q, O, q + L, O, B), b.closePath(), b.fill(), b.stroke(), b.fillStyle = "rgba(255,255,255,0.92)", b.fillText(w, q + X, O + V), b.restore(); + const R = Math.max(6, Math.round(6 * G)), Y = Math.max(3, Math.round(3 * G)), F = Math.max(11, Math.round(11 * G)); + b.save(), b.font = `${F}px var(--comfy-font, ui-sans-serif, system-ui)`, b.textAlign = "left", b.textBaseline = "top"; + const V = Math.ceil(b.measureText(w).width) + R * 2, k = F + Y * 2, K = X + Math.max(2, Math.round(8 * G)), z = x + Math.max(2, Math.round(8 * G)); + b.fillStyle = "rgba(0,0,0,0.55)", b.strokeStyle = "rgba(255,255,255,0.18)", b.lineWidth = Math.max(1, Math.round(1 * G)), b.beginPath(); + const B = Math.max(6, Math.round(8 * G)); + b.moveTo(K + B, z), b.arcTo(K + V, z, K + V, z + k, B), b.arcTo(K + V, z + k, K, z + k, B), b.arcTo(K, z + k, K, z, B), b.arcTo(K, z, K + V, z, B), b.closePath(), b.fill(), b.stroke(), b.fillStyle = "rgba(255,255,255,0.92)", b.fillText(w, K + R, z + Y), b.restore(); } catch { try { b.restore(); @@ -14364,245 +14379,245 @@ function sA({ (W = console.debug) == null || W.call(console, y); } } - }, M = () => { + }, S = () => { var b; try { - const v = r == null ? void 0 : r(); - if (!v) return { w: 0, h: 0, dpr: 1 }; - const C = Math.max(1, Math.min(3, Number(window.devicePixelRatio) || 1)), S = Math.max(1, Math.floor(v.width * C)), W = Math.max(1, Math.floor(v.height * C)); + const L = r == null ? void 0 : r(); + if (!L) return { w: 0, h: 0, dpr: 1 }; + const h = Math.max(1, Math.min(3, Number(window.devicePixelRatio) || 1)), G = Math.max(1, Math.floor(L.width * h)), W = Math.max(1, Math.floor(L.height * h)); try { - (e == null ? void 0 : e.width) !== S && (e.width = S), (e == null ? void 0 : e.height) !== W && (e.height = W); + (e == null ? void 0 : e.width) !== G && (e.width = G), (e == null ? void 0 : e.height) !== W && (e.height = W); } catch (y) { (b = console.debug) == null || b.call(console, y); } - return { w: S, h: W, dpr: C }; + return { w: G, h: W, dpr: h }; } catch { return { w: 0, h: 0, dpr: 1 }; } - }, Z = (b, v, C) => { + }, A = (b, L, h) => { try { - const S = String(b || "image"); - if (S === "image") { - const W = d(v), y = (Number(W.w) || 0) / (Number(W.h) || 1); + const G = String(b || "image"); + if (G === "image") { + const W = d(L), y = (Number(W.w) || 0) / (Number(W.h) || 1); if (Number.isFinite(y) && y > 0) return y; - const k = (Number(C == null ? void 0 : C.width) || 0) / (Number(C == null ? void 0 : C.height) || 1); - return Number.isFinite(k) && k > 0 ? k : 1; + const X = (Number(h == null ? void 0 : h.width) || 0) / (Number(h == null ? void 0 : h.height) || 1); + return Number.isFinite(X) && X > 0 ? X : 1; } - return S === "16:9" ? 1.7777777777777777 : S === "9:16" ? 0.5625 : S === "1:1" ? 1 : S === "4:3" ? 1.3333333333333333 : S === "2.39" ? 2.39 : 1; + return G === "16:9" ? 1.7777777777777777 : G === "9:16" ? 0.5625 : G === "1:1" ? 1 : G === "4:3" ? 1.3333333333333333 : G === "2.39" ? 2.39 : 1; } catch { return 1; } - }, A = (b, v, C) => { + }, C = (b, L, h) => { try { - const S = Number(b) || 0, W = Number(v) || 0, y = Number(C) || 1; - if (!(S > 0 && W > 0 && y > 0)) return { x: 0, y: 0, w: S, h: W }; - const k = S / W; - let G = S, z = W; - y >= k ? (G = S, z = S / y) : (z = W, G = W * y); - const x = (S - G) / 2, w = (W - z) / 2; - return { x, y: w, w: G, h: z }; + const G = Number(b) || 0, W = Number(L) || 0, y = Number(h) || 1; + if (!(G > 0 && W > 0 && y > 0)) return { x: 0, y: 0, w: G, h: W }; + const X = G / W; + let x = G, T = W; + y >= X ? (x = G, T = G / y) : (T = W, x = W * y); + const v = (G - x) / 2, w = (W - T) / 2; + return { x: v, y: w, w: x, h: T }; } catch { - return { x: 0, y: 0, w: Number(b) || 0, h: Number(v) || 0 }; + return { x: 0, y: 0, w: Number(b) || 0, h: Number(L) || 0 }; } - }, g = (b, v, C) => { - var S; + }, g = (b, L, h) => { + var G; try { - const W = Math.max(0, Math.min(0.92, Number(C))); + const W = Math.max(0, Math.min(0.92, Number(h))); if (!(W > 0)) return; b.save(), b.globalCompositeOperation = "source-over", b.fillStyle = `rgba(0,0,0,${W})`, b.fillRect(0, 0, e.width, e.height), b.globalCompositeOperation = "destination-out", b.fillStyle = "rgba(0,0,0,1)"; - const y = Array.isArray(v) ? v : [v]; - for (const k of y) { - if (!k) continue; - const G = Number(k.x) || 0, z = Number(k.y) || 0, x = Number(k.w) || 0, w = Number(k.h) || 0; - x > 1 && w > 1 && b.fillRect(G, z, x, w); + const y = Array.isArray(L) ? L : [L]; + for (const X of y) { + if (!X) continue; + const x = Number(X.x) || 0, T = Number(X.y) || 0, v = Number(X.w) || 0, w = Number(X.h) || 0; + v > 1 && w > 1 && b.fillRect(x, T, v, w); } b.restore(); } catch { try { b.restore(); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } } - }, h = (b, v, C) => { - var S, W, y; + }, Z = (b, L, h) => { + var G, W, y; try { b.save(); try { - (S = b.setLineDash) == null || S.call(b, [Math.max(2, 4 * C), Math.max(2, 3 * C)]); - } catch (k) { - (W = console.debug) == null || W.call(console, k); + (G = b.setLineDash) == null || G.call(b, [Math.max(2, 4 * h), Math.max(2, 3 * h)]); + } catch (X) { + (W = console.debug) == null || W.call(console, X); } - b.strokeStyle = "rgba(255,255,255,0.22)", b.lineWidth = Math.max(1, Math.floor(1 * C)), b.strokeRect(v.x + 0.5, v.y + 0.5, v.w - 1, v.h - 1), b.restore(); + b.strokeStyle = "rgba(255,255,255,0.22)", b.lineWidth = Math.max(1, Math.floor(1 * h)), b.strokeRect(L.x + 0.5, L.y + 0.5, L.w - 1, L.h - 1), b.restore(); } catch { try { b.restore(); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } } }; - return { ensureCanvasSize: M, redrawGrid: ({ w: b, h: v, dpr: C } = {}) => { - var S, W, y, k, G, z, x, w, X, V, R, j; + return { ensureCanvasSize: S, redrawGrid: ({ w: b, h: L, dpr: h } = {}) => { + var G, W, y, X, x, T, v, w, R, Y, F, N; try { - const L = (S = e == null ? void 0 : e.getContext) == null ? void 0 : S.call(e, "2d"); - if (!L) return; + const V = (G = e == null ? void 0 : e.getContext) == null ? void 0 : G.call(e, "2d"); + if (!V) return; try { - l == null || l(L, b, v); - } catch (F) { - (W = console.debug) == null || W.call(console, F); + l == null || l(V, b, L); + } catch (M) { + (W = console.debug) == null || W.call(console, M); } - const N = r == null ? void 0 : r(); - if (!N) return; - const q = Number(N.width) || 0, O = Number(N.height) || 0; - if (!(q > 1 && O > 1)) return; - const B = a(), J = n == null ? void 0 : n.mode, T = (() => { - var F; + const k = r == null ? void 0 : r(); + if (!k) return; + const K = Number(k.width) || 0, z = Number(k.height) || 0; + if (!(K > 1 && z > 1)) return; + const B = a(), J = n == null ? void 0 : n.mode, P = (() => { + var M; try { if (J === (i == null ? void 0 : i.SINGLE)) return [o == null ? void 0 : o()].filter(Boolean); - const Y = ((F = B == null ? void 0 : B.querySelectorAll) == null ? void 0 : F.call(B, ".mjr-viewer-media")) || []; - return Array.from(Y || []).filter(Boolean); + const j = ((M = B == null ? void 0 : B.querySelectorAll) == null ? void 0 : M.call(B, ".mjr-viewer-media")) || []; + return Array.from(j || []).filter(Boolean); } catch { return [o == null ? void 0 : o()].filter(Boolean); } })(); - if (!T.length) return; - const D = [], Q = []; - for (const F of T) + if (!P.length) return; + const H = [], $ = []; + for (const M of P) try { - const Y = c(F, B), U = ((y = Y == null ? void 0 : Y.getBoundingClientRect) == null ? void 0 : y.call(Y)) || null; - if (!U) continue; - const P = Number(U.width) || 0, ee = Number(U.height) || 0; - if (!(P > 1 && ee > 1)) continue; - const oe = s(F), ce = d(F, oe), pe = u(P, ee, ce.w, ce.h), H = Z(n == null ? void 0 : n.overlayFormat, F, { - width: pe.w, - height: pe.h - }), $ = A(pe.w, pe.h, H), _ = (Number(U.left) || 0) - (Number(N.left) || 0), le = (Number(U.top) || 0) - (Number(N.top) || 0), se = { - x: _ + (pe.x || 0), - y: le + (pe.y || 0), - w: pe.w || P, - h: pe.h || ee - }, de = { - x: se.x + ($.x || 0), - y: se.y + ($.y || 0), - w: $.w || se.w, - h: $.h || se.h - }, Ze = { x: _ + P / 2, y: le + ee / 2 }, Fe = Number(n == null ? void 0 : n.zoom) || 1, xe = (Number(n == null ? void 0 : n.panX) || 0) / Fe, ze = (Number(n == null ? void 0 : n.panY) || 0) / Fe, We = I( - se, - Ze, - Fe, - xe, - ze - ), De = I(de, Ze, Fe, xe, ze), Pe = { - x: We.x * C, - y: We.y * C, - w: We.w * C, - h: We.h * C, + const j = c(M, B), O = ((y = j == null ? void 0 : j.getBoundingClientRect) == null ? void 0 : y.call(j)) || null; + if (!O) continue; + const D = Number(O.width) || 0, q = Number(O.height) || 0; + if (!(D > 1 && q > 1)) continue; + const ee = s(M), ce = d(M, ee), ue = u(D, q, ce.w, ce.h), U = A(n == null ? void 0 : n.overlayFormat, M, { + width: ue.w, + height: ue.h + }), Q = C(ue.w, ue.h, U), _ = (Number(O.left) || 0) - (Number(k.left) || 0), le = (Number(O.top) || 0) - (Number(k.top) || 0), de = { + x: _ + (ue.x || 0), + y: le + (ue.y || 0), + w: ue.w || D, + h: ue.h || q + }, se = { + x: de.x + (Q.x || 0), + y: de.y + (Q.y || 0), + w: Q.w || de.w, + h: Q.h || de.h + }, ge = { x: _ + D / 2, y: le + q / 2 }, je = Number(n == null ? void 0 : n.zoom) || 1, Se = (Number(n == null ? void 0 : n.panX) || 0) / je, ke = (Number(n == null ? void 0 : n.panY) || 0) / je, we = I( + de, + ge, + je, + Se, + ke + ), Je = I(se, ge, je, Se, ke), $e = { + x: we.x * h, + y: we.y * h, + w: we.w * h, + h: we.h * h, _sizeLabel: (() => { var Ue; try { - const Ee = Number(oe == null ? void 0 : oe.width) || Number(ce.w) || 0, Re = Number(oe == null ? void 0 : oe.height) || Number(ce.h) || 0; - if (Ee > 0 && Re > 0) return `${Ee}x${Re}`; - } catch (Ee) { - (Ue = console.debug) == null || Ue.call(console, Ee); + const Te = Number(ee == null ? void 0 : ee.width) || Number(ce.w) || 0, Oe = Number(ee == null ? void 0 : ee.height) || Number(ce.h) || 0; + if (Te > 0 && Oe > 0) return `${Te}x${Oe}`; + } catch (Te) { + (Ue = console.debug) == null || Ue.call(console, Te); } return ""; })() - }, Qe = { - x: De.x * C, - y: De.y * C, - w: De.w * C, - h: De.h * C + }, qe = { + x: Je.x * h, + y: Je.y * h, + w: Je.w * h, + h: Je.h * h }; - Pe.w > 1 && Pe.h > 1 && Q.push(Pe), Qe.w > 1 && Qe.h > 1 && D.push(Qe); - } catch (Y) { - (k = console.debug) == null || k.call(console, Y); + $e.w > 1 && $e.h > 1 && $.push($e), qe.w > 1 && qe.h > 1 && H.push(qe); + } catch (j) { + (X = console.debug) == null || X.call(console, j); } - if (!D.length && !Q.length) return; - const E = D.length ? D : Q, K = E[0] || null; + if (!H.length && !$.length) return; + const E = H.length ? H : $, oe = E[0] || null; try { if (n != null && n.overlayMaskEnabled) { - g(L, E, (n == null ? void 0 : n.overlayMaskOpacity) ?? 0.65); - for (const F of E) + g(V, E, (n == null ? void 0 : n.overlayMaskOpacity) ?? 0.65); + for (const M of E) try { - h(L, F, C); - } catch (Y) { - (G = console.debug) == null || G.call(console, Y); + Z(V, M, h); + } catch (j) { + (x = console.debug) == null || x.call(console, j); } } - } catch (F) { - (z = console.debug) == null || z.call(console, F); + } catch (M) { + (T = console.debug) == null || T.call(console, M); } try { if (n != null && n.hudEnabled && (n == null ? void 0 : n.mode) === (i == null ? void 0 : i.SINGLE)) - for (const F of Q) { + for (const M of $) { try { - L.save(), L.strokeStyle = "rgba(255,255,255,0.22)", L.lineWidth = Math.max(1, Math.floor(1 * C)), L.strokeRect(F.x + 0.5, F.y + 0.5, F.w - 1, F.h - 1), L.restore(); + V.save(), V.strokeStyle = "rgba(255,255,255,0.22)", V.lineWidth = Math.max(1, Math.floor(1 * h)), V.strokeRect(M.x + 0.5, M.y + 0.5, M.w - 1, M.h - 1), V.restore(); } catch { try { - L.restore(); - } catch (Y) { - (x = console.debug) == null || x.call(console, Y); + V.restore(); + } catch (j) { + (v = console.debug) == null || v.call(console, j); } } try { - p(L, F, F._sizeLabel || "", C); - } catch (Y) { - (w = console.debug) == null || w.call(console, Y); + p(V, M, M._sizeLabel || "", h); + } catch (j) { + (w = console.debug) == null || w.call(console, j); } } - } catch (F) { - (X = console.debug) == null || X.call(console, F); + } catch (M) { + (R = console.debug) == null || R.call(console, M); } - if ((n == null ? void 0 : n.mode) !== (i == null ? void 0 : i.SINGLE) || ((n == null ? void 0 : n.gridMode) || 0) === 0 || !K) return; + if ((n == null ? void 0 : n.mode) !== (i == null ? void 0 : i.SINGLE) || ((n == null ? void 0 : n.gridMode) || 0) === 0 || !oe) return; try { - L.save(), L.translate(K.x, K.y), L.strokeStyle = "rgba(255, 255, 255, 0.22)", L.lineWidth = Math.max(2, Math.round(1.25 * C)); - const F = (Y, U, P, ee) => { - var oe; + V.save(), V.translate(oe.x, oe.y), V.strokeStyle = "rgba(255, 255, 255, 0.22)", V.lineWidth = Math.max(2, Math.round(1.25 * h)); + const M = (j, O, D, q) => { + var ee; try { - L.beginPath(), L.moveTo(Math.round(Y) + 0.5, Math.round(U) + 0.5), L.lineTo(Math.round(P) + 0.5, Math.round(ee) + 0.5), L.stroke(); + V.beginPath(), V.moveTo(Math.round(j) + 0.5, Math.round(O) + 0.5), V.lineTo(Math.round(D) + 0.5, Math.round(q) + 0.5), V.stroke(); } catch (ce) { - (oe = console.debug) == null || oe.call(console, ce); + (ee = console.debug) == null || ee.call(console, ce); } }; if (n.gridMode === 1) - F(K.w / 3, 0, K.w / 3, K.h), F(2 * K.w / 3, 0, 2 * K.w / 3, K.h), F(0, K.h / 3, K.w, K.h / 3), F(0, 2 * K.h / 3, K.w, 2 * K.h / 3); + M(oe.w / 3, 0, oe.w / 3, oe.h), M(2 * oe.w / 3, 0, 2 * oe.w / 3, oe.h), M(0, oe.h / 3, oe.w, oe.h / 3), M(0, 2 * oe.h / 3, oe.w, 2 * oe.h / 3); else if (n.gridMode === 2) - F(K.w / 2, 0, K.w / 2, K.h), F(0, K.h / 2, K.w, K.h / 2); + M(oe.w / 2, 0, oe.w / 2, oe.h), M(0, oe.h / 2, oe.w, oe.h / 2); else if (n.gridMode === 3) { - const Y = (U, P) => { - var ee, oe; + const j = (O, D) => { + var q, ee; try { - L.save(), L.strokeStyle = `rgba(255,255,255,${P})`; - const ce = Math.round(K.w * U), pe = Math.round(K.h * U), H = Math.round(K.w * (1 - U * 2)), $ = Math.round(K.h * (1 - U * 2)); - L.strokeRect(ce + 0.5, pe + 0.5, H, $); + V.save(), V.strokeStyle = `rgba(255,255,255,${D})`; + const ce = Math.round(oe.w * O), ue = Math.round(oe.h * O), U = Math.round(oe.w * (1 - O * 2)), Q = Math.round(oe.h * (1 - O * 2)); + V.strokeRect(ce + 0.5, ue + 0.5, U, Q); } catch (ce) { - (ee = console.debug) == null || ee.call(console, ce); + (q = console.debug) == null || q.call(console, ce); } finally { try { - L.restore(); + V.restore(); } catch (ce) { - (oe = console.debug) == null || oe.call(console, ce); + (ee = console.debug) == null || ee.call(console, ce); } } }; - Y(0.05, 0.24), Y(0.1, 0.18); - } else n.gridMode === 4 && (F(K.w * 0.382, 0, K.w * 0.382, K.h), F(K.w * 0.618, 0, K.w * 0.618, K.h), F(0, K.h * 0.382, K.w, K.h * 0.382), F(0, K.h * 0.618, K.w, K.h * 0.618)); - } catch (F) { - (V = console.debug) == null || V.call(console, F); + j(0.05, 0.24), j(0.1, 0.18); + } else n.gridMode === 4 && (M(oe.w * 0.382, 0, oe.w * 0.382, oe.h), M(oe.w * 0.618, 0, oe.w * 0.618, oe.h), M(0, oe.h * 0.382, oe.w, oe.h * 0.382), M(0, oe.h * 0.618, oe.w, oe.h * 0.618)); + } catch (M) { + (Y = console.debug) == null || Y.call(console, M); } finally { try { - L.restore(); - } catch (F) { - (R = console.debug) == null || R.call(console, F); + V.restore(); + } catch (M) { + (F = console.debug) == null || F.call(console, M); } } - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } } }; } -function dA({ +function gA({ overlay: e, content: t, state: n, @@ -14616,107 +14631,107 @@ function dA({ onLoupeRedraw: d, lifecycle: u } = {}) { - var S, W; + var G, W; const I = (u == null ? void 0 : u.unsubs) || [], p = document.createElement("canvas"); p.width = 1, p.height = 1; - let M = null; + let S = null; try { - M = p.getContext("2d", { willReadFrequently: !0 }); + S = p.getContext("2d", { willReadFrequently: !0 }); } catch (y) { - (S = console.debug) == null || S.call(console, y); + (G = console.debug) == null || G.call(console, y); } - let Z = null, A = null, g = null; - const h = () => { - var y, k, G; + let A = null, C = null, g = null; + const Z = () => { + var y, X, x; try { c.style.display = "none"; - } catch (z) { - (y = console.debug) == null || y.call(console, z); + } catch (T) { + (y = console.debug) == null || y.call(console, T); } try { s.style.display = "none"; - } catch (z) { - (k = console.debug) == null || k.call(console, z); + } catch (T) { + (X = console.debug) == null || X.call(console, T); } try { n._probe = null; - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } }, f = (y) => { try { - const k = y == null ? void 0 : y.x, G = y == null ? void 0 : y.y, z = y == null ? void 0 : y.r, x = y == null ? void 0 : y.g, w = y == null ? void 0 : y.b, X = y == null ? void 0 : y.a, V = Array.isArray(y == null ? void 0 : y.raw) ? y.raw : null, R = Array.isArray(y == null ? void 0 : y.lin) ? y.lin : null, j = Number(y == null ? void 0 : y.scale), L = (B) => { + const X = y == null ? void 0 : y.x, x = y == null ? void 0 : y.y, T = y == null ? void 0 : y.r, v = y == null ? void 0 : y.g, w = y == null ? void 0 : y.b, R = y == null ? void 0 : y.a, Y = Array.isArray(y == null ? void 0 : y.raw) ? y.raw : null, F = Array.isArray(y == null ? void 0 : y.lin) ? y.lin : null, N = Number(y == null ? void 0 : y.scale), V = (B) => { const J = Number(B); return Number.isFinite(J) ? J.toFixed(3) : "?"; - }, N = z != null && x != null && w != null ? `#${[z, x, w].map((B) => Math.max(0, Math.min(255, Number(B) || 0)).toString(16).padStart(2, "0")).join("")}` : "", q = Number.isFinite(j) && j > 0 && j < 0.999 ? ` (proc ${(j * 100).toFixed(0)}%)` : "", O = []; - return O.push(`X: ${k ?? "?"} Y: ${G ?? "?"}${q}`), O.push(`RGBA8: ${z ?? "?"} ${x ?? "?"} ${w ?? "?"} ${X ?? "?"}`), V && V.length >= 3 && O.push(`RGB: ${L(V[0])} ${L(V[1])} ${L(V[2])}`), R && R.length >= 3 && O.push(`HDR: ${L(R[0])} ${L(R[1])} ${L(R[2])}`), N && O.push(N), O.join(` + }, k = T != null && v != null && w != null ? `#${[T, v, w].map((B) => Math.max(0, Math.min(255, Number(B) || 0)).toString(16).padStart(2, "0")).join("")}` : "", K = Number.isFinite(N) && N > 0 && N < 0.999 ? ` (proc ${(N * 100).toFixed(0)}%)` : "", z = []; + return z.push(`X: ${X ?? "?"} Y: ${x ?? "?"}${K}`), z.push(`RGBA8: ${T ?? "?"} ${v ?? "?"} ${w ?? "?"} ${R ?? "?"}`), Y && Y.length >= 3 && z.push(`RGB: ${V(Y[0])} ${V(Y[1])} ${V(Y[2])}`), F && F.length >= 3 && z.push(`HDR: ${V(F[0])} ${V(F[1])} ${V(F[2])}`), k && z.push(k), z.join(` `); } catch { return ""; } - }, b = (y, k, G) => { - var z, x; - if (!M) return null; + }, b = (y, X, x) => { + var T, v; + if (!S) return null; try { - M.clearRect(0, 0, 1, 1); + S.clearRect(0, 0, 1, 1); } catch (w) { - (z = console.debug) == null || z.call(console, w); + (T = console.debug) == null || T.call(console, w); } try { - let w = Number(k) || 0, X = Number(G) || 0; + let w = Number(X) || 0, R = Number(x) || 0; if ((y == null ? void 0 : y.tagName) === "CANVAS") { - const R = Number(y._mjrPixelScale) || 1; - w = Math.floor(w * R), X = Math.floor(X * R); + const F = Number(y._mjrPixelScale) || 1; + w = Math.floor(w * F), R = Math.floor(R * F); } - M.drawImage(y, w, X, 1, 1, 0, 0, 1, 1); - const V = (x = M.getImageData(0, 0, 1, 1)) == null ? void 0 : x.data; - return !V || V.length < 4 ? null : { r: V[0], g: V[1], b: V[2], a: V[3] }; + S.drawImage(y, w, R, 1, 1, 0, 0, 1, 1); + const Y = (v = S.getImageData(0, 0, 1, 1)) == null ? void 0 : v.data; + return !Y || Y.length < 4 ? null : { r: Y[0], g: Y[1], b: Y[2], a: Y[3] }; } catch { return null; } - }, v = (y, k) => { - var G, z, x, w, X, V, R; + }, L = (y, X) => { + var x, T, v, w, R, Y, F; try { - if (((G = e == null ? void 0 : e.style) == null ? void 0 : G.display) === "none" || (n == null ? void 0 : n.mode) !== (i == null ? void 0 : i.SINGLE) || !(n != null && n.probeEnabled) && !(n != null && n.loupeEnabled)) return h(); - const j = o == null ? void 0 : o(); - if (!j) return h(); - const L = j.getBoundingClientRect(); - if (!L || !(L.width > 2 && L.height > 2)) return h(); - const N = (Number(y) || 0) - L.left, q = (Number(k) || 0) - L.top; - if (N < 0 || q < 0 || N > L.width || q > L.height) return h(); - const { w: O, h: B } = (r == null ? void 0 : r(j)) || { w: 0, h: 0 }; - if (!(O > 0 && B > 0)) return h(); - const J = N / L.width, T = q / L.height, D = Math.max(0, Math.min(O - 1, Math.floor(J * O))), Q = Math.max(0, Math.min(B - 1, Math.floor(T * B))); + if (((x = e == null ? void 0 : e.style) == null ? void 0 : x.display) === "none" || (n == null ? void 0 : n.mode) !== (i == null ? void 0 : i.SINGLE) || !(n != null && n.probeEnabled) && !(n != null && n.loupeEnabled)) return Z(); + const N = o == null ? void 0 : o(); + if (!N) return Z(); + const V = N.getBoundingClientRect(); + if (!V || !(V.width > 2 && V.height > 2)) return Z(); + const k = (Number(y) || 0) - V.left, K = (Number(X) || 0) - V.top; + if (k < 0 || K < 0 || k > V.width || K > V.height) return Z(); + const { w: z, h: B } = (r == null ? void 0 : r(N)) || { w: 0, h: 0 }; + if (!(z > 0 && B > 0)) return Z(); + const J = k / V.width, P = K / V.height, H = Math.max(0, Math.min(z - 1, Math.floor(J * z))), $ = Math.max(0, Math.min(B - 1, Math.floor(P * B))); let E = null; if (n != null && n.probeEnabled) { try { - const K = j == null ? void 0 : j._mjrProc; - if (K != null && K.sampleAtOriginal) { - const F = K.sampleAtOriginal(D, Q); - F && (E = { x: D, y: Q, ...F }); + const oe = N == null ? void 0 : N._mjrProc; + if (oe != null && oe.sampleAtOriginal) { + const M = oe.sampleAtOriginal(H, $); + M && (E = { x: H, y: $, ...M }); } - } catch (K) { - (z = console.debug) == null || z.call(console, K); + } catch (oe) { + (T = console.debug) == null || T.call(console, oe); } if (!E) { - const K = b(j, D, Q); - K && (E = { x: D, y: Q, ...K }); + const oe = b(N, H, $); + oe && (E = { x: H, y: $, ...oe }); } } - E || (E = { x: D, y: Q }); + E || (E = { x: H, y: $ }); try { n._probe = E; - } catch (K) { - (x = console.debug) == null || x.call(console, K); + } catch (oe) { + (v = console.debug) == null || v.call(console, oe); } if (n != null && n.probeEnabled) { try { c.textContent = f(E), c.style.display = ""; - } catch (K) { - (w = console.debug) == null || w.call(console, K); + } catch (oe) { + (w = console.debug) == null || w.call(console, oe); } - pt( - () => a == null ? void 0 : a(c, y, k, { + bt( + () => a == null ? void 0 : a(c, y, X, { offsetX: 18, offsetY: 18 }) @@ -14724,51 +14739,51 @@ function dA({ } else try { c.style.display = "none"; - } catch (K) { - (X = console.debug) == null || X.call(console, K); + } catch (oe) { + (R = console.debug) == null || R.call(console, oe); } if (n != null && n.loupeEnabled) - pt(() => d == null ? void 0 : d(j, D, Q, y, k)); + bt(() => d == null ? void 0 : d(N, H, $, y, X)); else try { s.style.display = "none"; - } catch (K) { - (V = console.debug) == null || V.call(console, K); + } catch (oe) { + (Y = console.debug) == null || Y.call(console, oe); } - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } - }, C = (y, k) => { - var G; - A = y, g = k; + }, h = (y, X) => { + var x; + C = y, g = X; try { - if (Z != null) return; - Z = requestAnimationFrame(() => { - Z = null, v(A, g); + if (A != null) return; + A = requestAnimationFrame(() => { + A = null, L(C, g); }); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } }; try { if (t && !t._mjrProbeBound) { - const y = (G) => { - var z; + const y = (x) => { + var T; try { - C(G.clientX, G.clientY); - } catch (x) { - (z = console.debug) == null || z.call(console, x); + h(x.clientX, x.clientY); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } - }, k = () => { - h(); + }, X = () => { + Z(); }; I.push( - _e(t, "mousemove", y, { + Qe(t, "mousemove", y, { passive: !0, capture: !0 }) ), I.push( - _e(t, "mouseleave", k, { + Qe(t, "mouseleave", X, { passive: !0, capture: !0 }) @@ -14778,19 +14793,19 @@ function dA({ (W = console.debug) == null || W.call(console, y); } return { - hide: h, + hide: Z, dispose: () => { var y; try { - Z != null && cancelAnimationFrame(Z); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + A != null && cancelAnimationFrame(A); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } - Z = null, h(); + A = null, Z(); } }; } -function uA({ +function IA({ state: e, loupeCanvas: t, loupeWrap: n, @@ -14804,37 +14819,37 @@ function uA({ } catch (d) { (s = console.debug) == null || s.call(console, d); } - return { redraw: (d, u, I, p, M) => { - var Z, A, g, h; + return { redraw: (d, u, I, p, S) => { + var A, C, g, Z; try { if (!(e != null && e.loupeEnabled) || !r || !d) return; const { w: f, h: b } = (i == null ? void 0 : i(d)) || { w: 0, h: 0 }; if (!(f > 0 && b > 0)) return; - const v = Math.max(48, Math.min(240, Number(e.loupeSize) || 120)), C = Math.max(2, Math.min(20, Number(e.loupeMagnification) || 8)); + const L = Math.max(48, Math.min(240, Number(e.loupeSize) || 120)), h = Math.max(2, Math.min(20, Number(e.loupeMagnification) || 8)); try { - t.width !== v && (t.width = v), t.height !== v && (t.height = v); - } catch (R) { - (Z = console.debug) == null || Z.call(console, R); + t.width !== L && (t.width = L), t.height !== L && (t.height = L); + } catch (F) { + (A = console.debug) == null || A.call(console, F); } - const S = Math.max(3, Math.floor(v / C)), W = (d == null ? void 0 : d.tagName) === "CANVAS" && Number(d._mjrPixelScale) || 1, y = (d == null ? void 0 : d.tagName) === "CANVAS" ? Number(d.width) || 0 : f, k = (d == null ? void 0 : d.tagName) === "CANVAS" ? Number(d.height) || 0 : b; - if (!(y > 0 && k > 0)) return; - const G = Math.max(1, Math.floor(S * W)), z = Math.floor(G / 2), x = Math.floor((Number(u) || 0) * W), w = Math.floor((Number(I) || 0) * W), X = Math.max(0, Math.min(y - G, x - z)), V = Math.max(0, Math.min(k - G, w - z)); - r.imageSmoothingEnabled = !1, r.clearRect(0, 0, v, v), r.drawImage(d, X, V, G, G, 0, 0, v, v), r.strokeStyle = "rgba(255,255,255,0.75)", r.lineWidth = 1, r.beginPath(), r.moveTo(v / 2 + 0.5, 0), r.lineTo(v / 2 + 0.5, v), r.moveTo(0, v / 2 + 0.5), r.lineTo(v, v / 2 + 0.5), r.stroke(); + const G = Math.max(3, Math.floor(L / h)), W = (d == null ? void 0 : d.tagName) === "CANVAS" && Number(d._mjrPixelScale) || 1, y = (d == null ? void 0 : d.tagName) === "CANVAS" ? Number(d.width) || 0 : f, X = (d == null ? void 0 : d.tagName) === "CANVAS" ? Number(d.height) || 0 : b; + if (!(y > 0 && X > 0)) return; + const x = Math.max(1, Math.floor(G * W)), T = Math.floor(x / 2), v = Math.floor((Number(u) || 0) * W), w = Math.floor((Number(I) || 0) * W), R = Math.max(0, Math.min(y - x, v - T)), Y = Math.max(0, Math.min(X - x, w - T)); + r.imageSmoothingEnabled = !1, r.clearRect(0, 0, L, L), r.drawImage(d, R, Y, x, x, 0, 0, L, L), r.strokeStyle = "rgba(255,255,255,0.75)", r.lineWidth = 1, r.beginPath(), r.moveTo(L / 2 + 0.5, 0), r.lineTo(L / 2 + 0.5, L), r.moveTo(0, L / 2 + 0.5), r.lineTo(L, L / 2 + 0.5), r.stroke(); try { - n.style.display = "", n.style.width = `${v}px`, n.style.height = `${v}px`; - } catch (R) { - (A = console.debug) == null || A.call(console, R); + n.style.display = "", n.style.width = `${L}px`, n.style.height = `${L}px`; + } catch (F) { + (C = console.debug) == null || C.call(console, F); } try { - o == null || o(n, p, M, { + o == null || o(n, p, S, { offsetX: 18, - offsetY: -v - 18 + offsetY: -L - 18 }); - } catch (R) { - (g = console.debug) == null || g.call(console, R); + } catch (F) { + (g = console.debug) == null || g.call(console, F); } } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } }, hide: () => { var d; @@ -14845,7 +14860,7 @@ function uA({ } } }; } -function mA({ +function bA({ state: e, VIEWER_MODES: t, APP_CONFIG: n, @@ -14855,158 +14870,158 @@ function mA({ const r = /* @__PURE__ */ new Map(), l = (n == null ? void 0 : n.VIEWER_META_TTL_MS) ?? 3e4, a = (n == null ? void 0 : n.VIEWER_META_MAX_ENTRIES) ?? 500; let c = 0, s = null; const d = () => { - var A, g, h; + var C, g, Z; if (r.size <= a) return; - const Z = Date.now(); + const A = Date.now(); try { for (const [f, b] of r.entries()) - b && Z - (b.at || 0) > l && r.delete(f); + b && A - (b.at || 0) > l && r.delete(f); } catch (f) { - (A = console.debug) == null || A.call(console, f); + (C = console.debug) == null || C.call(console, f); } if (!(r.size <= a)) try { const f = Array.from(r.entries()).sort( - (v, C) => { - var S, W; - return (((S = v == null ? void 0 : v[1]) == null ? void 0 : S.at) || 0) - (((W = C == null ? void 0 : C[1]) == null ? void 0 : W.at) || 0); + (L, h) => { + var G, W; + return (((G = L == null ? void 0 : L[1]) == null ? void 0 : G.at) || 0) - (((W = h == null ? void 0 : h[1]) == null ? void 0 : W.at) || 0); } ), b = r.size - a; - for (let v = 0; v < b; v++) { - const C = (g = f[v]) == null ? void 0 : g[0]; - C != null && r.delete(C); + for (let L = 0; L < b; L++) { + const h = (g = f[L]) == null ? void 0 : g[0]; + h != null && r.delete(h); } } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } - }, u = (Z, A) => { - var g, h; - if (!(!Z || !A || typeof A != "object")) { + }, u = (A, C) => { + var g, Z; + if (!(!A || !C || typeof C != "object")) { try { - A.rating !== void 0 && (Z.rating = A.rating); + C.rating !== void 0 && (A.rating = C.rating); } catch (f) { (g = console.debug) == null || g.call(console, f); } try { - A.tags !== void 0 && (Z.tags = A.tags); + C.tags !== void 0 && (A.tags = C.tags); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } } - }, I = async (Z, { signal: A } = {}) => { + }, I = async (A, { signal: C } = {}) => { var b; - const g = Array.isArray(Z) ? Z : [], h = Date.now(), f = []; - for (const v of g) { - const C = v == null ? void 0 : v.id; - if (C == null) continue; - const S = String(C), W = r.get(S); - if (W && h - (W.at || 0) < l) { - u(v, W.data); + const g = Array.isArray(A) ? A : [], Z = Date.now(), f = []; + for (const L of g) { + const h = L == null ? void 0 : L.id; + if (h == null) continue; + const G = String(h), W = r.get(G); + if (W && Z - (W.at || 0) < l) { + u(L, W.data); continue; } - f.push(C); + f.push(h); } if (f.length) try { - const v = await (o == null ? void 0 : o(f, A ? { signal: A } : {})), C = Array.isArray(v == null ? void 0 : v.data) ? v.data : []; - for (const S of C) { - const W = S == null ? void 0 : S.id; + const L = await (o == null ? void 0 : o(f, C ? { signal: C } : {})), h = Array.isArray(L == null ? void 0 : L.data) ? L.data : []; + for (const G of h) { + const W = G == null ? void 0 : G.id; if (W == null) continue; const y = String(W); - r.set(y, { at: h, data: S }); + r.set(y, { at: Z, data: G }); } d(); - for (const S of g) { - const W = S == null ? void 0 : S.id; + for (const G of g) { + const W = G == null ? void 0 : G.id; if (W == null) continue; const y = r.get(String(W)); - y && y.data && u(S, y.data); + y && y.data && u(G, y.data); } - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } }; return { hydrateVisibleMetadata: async () => { - var b, v, C, S; - const Z = (b = e == null ? void 0 : e.assets) == null ? void 0 : b[e == null ? void 0 : e.currentIndex], A = e == null ? void 0 : e.compareAsset, g = e == null ? void 0 : e.mode, h = ++c; + var b, L, h, G; + const A = (b = e == null ? void 0 : e.assets) == null ? void 0 : b[e == null ? void 0 : e.currentIndex], C = e == null ? void 0 : e.compareAsset, g = e == null ? void 0 : e.mode, Z = ++c; try { - (v = s == null ? void 0 : s.abort) == null || v.call(s); + (L = s == null ? void 0 : s.abort) == null || L.call(s); } catch (W) { - (C = console.debug) == null || C.call(console, W); + (h = console.debug) == null || h.call(console, W); } s = new AbortController(); const f = s.signal; try { if (g === (t == null ? void 0 : t.SINGLE)) - return Z && await I([Z], { signal: f }), void 0; + return A && await I([A], { signal: f }), void 0; const y = (Array.isArray(e == null ? void 0 : e.assets) ? e.assets.slice(0, 4) : []).slice(); - A && y.push(A), await I(y, { signal: f }); + C && y.push(C), await I(y, { signal: f }); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } }, - hydrateAssetMetadata: async (Z, { signal: A } = {}) => { - var v; - const g = Z == null ? void 0 : Z.id; + hydrateAssetMetadata: async (A, { signal: C } = {}) => { + var L; + const g = A == null ? void 0 : A.id; if (g == null) return; - const h = String(g), f = Date.now(), b = r.get(h); + const Z = String(g), f = Date.now(), b = r.get(Z); if (b && f - (b.at || 0) < l) { - u(Z, b.data); + u(A, b.data); return; } try { - const C = await (i == null ? void 0 : i(g, A ? { signal: A } : {})); - C != null && C.ok && C.data && (r.set(h, { at: f, data: C.data }), d(), u(Z, C.data)); - } catch (C) { - (v = console.debug) == null || v.call(console, C); + const h = await (i == null ? void 0 : i(g, C ? { signal: C } : {})); + h != null && h.ok && h.data && (r.set(Z, { at: f, data: h.data }), d(), u(A, h.data)); + } catch (h) { + (L = console.debug) == null || L.call(console, h); } }, hydrateAssetsMetadataBatch: I, - getCached: (Z) => { + getCached: (A) => { try { - return r.get(String(Z)); + return r.get(String(A)); } catch { return null; } }, - setCached: (Z, A) => { + setCached: (A, C) => { var g; try { - r.set(String(Z), { at: Date.now(), data: A }), d(); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + r.set(String(A), { at: Date.now(), data: C }), d(); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } }, - deleteCached: (Z) => { - var A; + deleteCached: (A) => { + var C; try { - r.delete(String(Z)); + r.delete(String(A)); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } }, abort: () => { - pt(() => { - var Z; - return (Z = s == null ? void 0 : s.abort) == null ? void 0 : Z.call(s); + bt(() => { + var A; + return (A = s == null ? void 0 : s.abort) == null ? void 0 : A.call(s); }), s = null; }, dispose: () => { - pt(() => { - var Z; - return (Z = s == null ? void 0 : s.abort) == null ? void 0 : Z.call(s); - }), s = null, pt(() => r.clear()); + bt(() => { + var A; + return (A = s == null ? void 0 : s.abort) == null ? void 0 : A.call(s); + }), s = null, bt(() => r.clear()); }, - cleanupCache: () => pt(d) || void 0, - _noop: Qi + cleanupCache: () => bt(d) || void 0, + _noop: eo }; } -const ai = Object.freeze({ +const si = Object.freeze({ MIN: 0.1, MAX: 16 }); -function _I(e, t) { +function $I(e, t) { var n, i; if (!(!e || typeof t != "function")) try { @@ -15017,7 +15032,7 @@ function _I(e, t) { (i = console.debug) == null || i.call(console, o); } } -function gA(e) { +function pA(e) { var n, i; let t = !1; try { @@ -15030,14 +15045,14 @@ function gA(e) { } return t; } -function IA(e) { +function yA(e) { const t = /* @__PURE__ */ new Map(); - return _I(e, (n) => { + return $I(e, (n) => { t.set(n.uuid, n.material); }), t; } -function bA(e, t, n, i, o) { - _I(t, (r) => { +function fA(e, t, n, i, o) { + $I(t, (r) => { var l, a, c; try { if (n === "original") { @@ -15066,7 +15081,7 @@ function bA(e, t, n, i, o) { } }); } -function Su(e) { +function xu(e) { var t, n; if (e) { for (const i of e) @@ -15078,7 +15093,7 @@ function Su(e) { e.clear(); } } -function pA(e, t) { +function hA(e, t) { var n; try { if (t === "gltf" || t === "fbx") @@ -15088,23 +15103,23 @@ function pA(e, t) { } return []; } -function Gu(e, t) { +function ju(e, t) { const n = new e.Box3().setFromObject(t); if (n.isEmpty()) return null; const i = n.getSize(new e.Vector3()), o = n.getCenter(new e.Vector3()), r = Math.max(i.x, i.y, i.z, 0.01); return { box: n, size: i, center: o, maxDim: r, radius: Math.max(r * 0.72, 0.5) }; } -function yA(e, t, n, i) { +function CA(e, t, n, i) { if (!i || !t || !n) return; const o = t.fov * (Math.PI / 180), r = i.maxDim / (2 * Math.tan(o / 2)) * 1.55, l = new e.Vector3(1, 0.8, 1).normalize(); t.position.copy(i.center).addScaledVector(l, r), t.near = Math.max(0.01, r / 250), t.far = Math.max(1e3, r * 60), t.updateProjectionMatrix(), n.target.copy(i.center), n.minDistance = Math.max(0.01, r / 25), n.maxDistance = Math.max(10, r * 12), n.minZoom = 0.25, n.maxZoom = 12, n.update(); } -function fA(e, t, n, i) { +function ZA(e, t, n, i) { if (!n || !e || !t) return null; const o = Math.max(1e-4, Number(i) || 1), r = Math.max(n.maxDim * 1.9, 2), l = r * o; return e.left = -l / 2, e.right = l / 2, e.top = r / 2, e.bottom = -r / 2, e.near = -Math.max(1e3, n.maxDim * 40), e.far = Math.max(1e3, n.maxDim * 40), e.zoom = 1, e.position.copy(n.center).add({ x: n.radius * 2.1, y: n.radius * 1.6, z: n.radius * 2.1 }), e.updateProjectionMatrix(), t.target.copy(n.center), t.minZoom = 0.25, t.maxZoom = 12, t.minDistance = 0, t.maxDistance = Math.max(10, n.maxDim * 12), t.update(), r; } -function hA(e, t, n) { +function AA(e, t, n) { var i, o, r; if (!n) return null; if (t === "gltf") return n.scene || null; @@ -15138,9 +15153,9 @@ function hA(e, t, n) { } return null; } -const mo = "/mjr/am/vendor/three"; -let zl = null; -function CA(e, t, n) { +const Io = "/mjr/am/vendor/three"; +let Jl = null; +function WA(e, t, n) { switch (t) { case "gltf": return new e.GLTFLoader(n); @@ -15156,7 +15171,7 @@ function CA(e, t, n) { return null; } } -function ZA(e, t, n) { +function wA(e, t, n) { return new Promise((i, o) => { if (!e || !n) { o(new Error("Missing loader or URL")); @@ -15169,39 +15184,39 @@ function ZA(e, t, n) { e.load(n, i, void 0, o); }); } -function AA() { - return zl || (zl = Promise.all([ +function MA() { + return Jl || (Jl = Promise.all([ import( /* @vite-ignore */ - `${mo}/three.module.js` + `${Io}/three.module.js` ), import( /* @vite-ignore */ - `${mo}/addons/controls/OrbitControls.js` + `${Io}/addons/controls/OrbitControls.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/GLTFLoader.js` + `${Io}/addons/loaders/GLTFLoader.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/FBXLoader.js` + `${Io}/addons/loaders/FBXLoader.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/OBJLoader.js` + `${Io}/addons/loaders/OBJLoader.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/MTLLoader.js` + `${Io}/addons/loaders/MTLLoader.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/STLLoader.js` + `${Io}/addons/loaders/STLLoader.js` ), import( /* @vite-ignore */ - `${mo}/addons/loaders/PLYLoader.js` + `${Io}/addons/loaders/PLYLoader.js` ) ]).then(([e, t, n, i, o, r, l, a]) => ({ THREE: e, @@ -15212,9 +15227,9 @@ function AA() { MTLLoader: r.MTLLoader, STLLoader: l.STLLoader, PLYLoader: a.PLYLoader - })), zl); + })), Jl); } -function $I(e, t, n) { +function eb(e, t, n) { try { const i = Number(e) || 0, o = (Number(t) || 0) * (Number(n) || 0); return !(o > 0) || !(i > 0) || o <= i ? 1 : Math.max(0.05, Math.min(1, Math.sqrt(i / o))); @@ -15222,7 +15237,7 @@ function $I(e, t, n) { return 1; } } -function po(e, t, n) { +function fo(e, t, n) { var o, r, l, a, c; if (!e) return; try { @@ -15265,7 +15280,7 @@ function po(e, t, n) { } } } -function xu({ +function vu({ canvas: e, url: t, getGradeParams: n, @@ -15274,7 +15289,7 @@ function xu({ maxProcPixels: r, onReady: l } = {}) { - var b, v, C, S; + var b, L, h, G; const a = new Image(); try { a.decoding = "async"; @@ -15284,7 +15299,7 @@ function xu({ try { a.crossOrigin = "anonymous"; } catch (W) { - (v = console.debug) == null || v.call(console, W); + (L = console.debug) == null || L.call(console, W); } const c = (() => { try { @@ -15339,7 +15354,7 @@ function xu({ } } } - }, p = (W, y) => $I(r, W, y), M = () => { + }, p = (W, y) => eb(r, W, y), S = () => { if (u.srcData) return u.srcData; if (!d || !u.ready) return null; try { @@ -15348,123 +15363,123 @@ function xu({ } catch { return null; } - }, Z = (W, y) => { - var k; + }, A = (W, y) => { + var X; try { - const G = Number(W) || 0, z = Number(y) || 0; + const x = Number(W) || 0, T = Number(y) || 0; if (!(u.naturalW > 0 && u.naturalH > 0)) return null; - const x = Math.max(0, Math.min(s.width - 1, Math.floor(G * u.scale))), w = Math.max(0, Math.min(s.height - 1, Math.floor(z * u.scale))), X = M(); - if (!(X != null && X.data)) return null; - const V = (w * s.width + x) * 4, R = X.data[V] ?? 0, j = X.data[V + 1] ?? 0, L = X.data[V + 2] ?? 0, N = X.data[V + 3] ?? 255, q = [R / 255, j / 255, L / 255, N / 255], O = Number((k = u.lastParams) == null ? void 0 : k.exposureEV) || 0, B = Math.pow(2, O), J = [ - q[0] * B, - q[1] * B, - q[2] * B, - q[3] + const v = Math.max(0, Math.min(s.width - 1, Math.floor(x * u.scale))), w = Math.max(0, Math.min(s.height - 1, Math.floor(T * u.scale))), R = S(); + if (!(R != null && R.data)) return null; + const Y = (w * s.width + v) * 4, F = R.data[Y] ?? 0, N = R.data[Y + 1] ?? 0, V = R.data[Y + 2] ?? 0, k = R.data[Y + 3] ?? 255, K = [F / 255, N / 255, V / 255, k / 255], z = Number((X = u.lastParams) == null ? void 0 : X.exposureEV) || 0, B = Math.pow(2, z), J = [ + K[0] * B, + K[1] * B, + K[2] * B, + K[3] ]; - return { r: R, g: j, b: L, a: N, raw: q, lin: J, scale: u.scale }; + return { r: F, g: N, b: V, a: k, raw: K, lin: J, scale: u.scale }; } catch { return null; } - }, A = (W, y) => { - var K, F, Y; + }, C = (W, y) => { + var oe, M, j; if (!c || u._destroyed) return; if (!(e != null && e.isConnected)) { try { u._pendingParams = y || u.lastParams || (n == null ? void 0 : n()) || null; - } catch (U) { - (K = console.debug) == null || K.call(console, U); + } catch (O) { + (oe = console.debug) == null || oe.call(console, O); } I(); return; } if (W !== u.jobId) return; - const k = M(); - if (!(k != null && k.data)) return; - const G = s.width, z = s.height; - if (!(G > 0 && z > 0)) return; + const X = S(); + if (!(X != null && X.data)) return; + const x = s.width, T = s.height; + if (!(x > 0 && T > 0)) return; try { - const U = y || (n == null ? void 0 : n()) || {}; - if (typeof i == "function" && i(U)) { + const O = y || (n == null ? void 0 : n()) || {}; + if (typeof i == "function" && i(O)) { c.clearRect(0, 0, e.width, e.height), c.drawImage(s, 0, 0); return; } - } catch (U) { - (F = console.debug) == null || F.call(console, U); + } catch (O) { + (M = console.debug) == null || M.call(console, O); } - let x = u._buffer; - if (!x || x.width !== G || x.height !== z) + let v = u._buffer; + if (!v || v.width !== x || v.height !== T) try { - x = c.createImageData(G, z), u._buffer = x; + v = c.createImageData(x, T), u._buffer = v; } catch { try { - x = new ImageData(G, z), u._buffer = x; + v = new ImageData(x, T), u._buffer = v; } catch { return; } } - if (!x) return; - const w = y || (n == null ? void 0 : n()) || {}, X = Number(w.exposureEV) || 0, R = 1 / Math.max(0.1, Math.min(3, Number(w.gamma) || 1)), j = String(w.channel || "rgb"), L = String(w.analysisMode || "none"), N = In(w.zebraThreshold ?? 0.95), q = Math.pow(2, X), O = new Float32Array(256); - for (let U = 0; U < 256; U++) - O[U] = Math.pow(U / 255, R); - const B = x.data, J = k.data, T = G * z * 4, D = 55e3 * 4; - let Q = 0; + if (!v) return; + const w = y || (n == null ? void 0 : n()) || {}, R = Number(w.exposureEV) || 0, F = 1 / Math.max(0.1, Math.min(3, Number(w.gamma) || 1)), N = String(w.channel || "rgb"), V = String(w.analysisMode || "none"), k = In(w.zebraThreshold ?? 0.95), K = Math.pow(2, R), z = new Float32Array(256); + for (let O = 0; O < 256; O++) + z[O] = Math.pow(O / 255, F); + const B = v.data, J = X.data, P = x * T * 4, H = 55e3 * 4; + let $ = 0; const E = () => { - var P, ee; + var D, q; if (u._destroyed || !(e != null && e.isConnected) || W !== u.jobId) return; - const U = Math.min(T, Q + D); - for (; Q < U; Q += 4) { - const oe = (J[Q] ?? 0) / 255, ce = (J[Q + 1] ?? 0) / 255, pe = (J[Q + 2] ?? 0) / 255, H = (J[Q + 3] ?? 255) / 255; - let $ = oe * q, _ = ce * q, le = pe * q; - const se = 0.2126 * $ + 0.7152 * _ + 0.0722 * le; - if (L === "zebra") - if (In(se) >= N) { - const Ze = (Math.floor(Q / 4) % G + Math.floor(Q / 4 / G) & 7) < 3; - $ = Ze ? 1 : 0, _ = Ze ? 1 : 0, le = Ze ? 1 : 0; + const O = Math.min(P, $ + H); + for (; $ < O; $ += 4) { + const ee = (J[$] ?? 0) / 255, ce = (J[$ + 1] ?? 0) / 255, ue = (J[$ + 2] ?? 0) / 255, U = (J[$ + 3] ?? 255) / 255; + let Q = ee * K, _ = ce * K, le = ue * K; + const de = 0.2126 * Q + 0.7152 * _ + 0.0722 * le; + if (V === "zebra") + if (In(de) >= k) { + const ge = (Math.floor($ / 4) % x + Math.floor($ / 4 / x) & 7) < 3; + Q = ge ? 1 : 0, _ = ge ? 1 : 0, le = ge ? 1 : 0; } else - $ = O[In($) * 255 + 0.5 | 0], _ = O[In(_) * 255 + 0.5 | 0], le = O[In(le) * 255 + 0.5 | 0]; + Q = z[In(Q) * 255 + 0.5 | 0], _ = z[In(_) * 255 + 0.5 | 0], le = z[In(le) * 255 + 0.5 | 0]; else - $ = O[In($) * 255 + 0.5 | 0], _ = O[In(_) * 255 + 0.5 | 0], le = O[In(le) * 255 + 0.5 | 0]; - if (j === "r") - _ = $, le = $; - else if (j === "g") - $ = _, le = _; - else if (j === "b") - $ = le, _ = le; - else if (j === "a") - $ = H, _ = H, le = H; - else if (j === "l") { - const de = In(se), Ze = O[de * 255 + 0.5 | 0]; - $ = Ze, _ = Ze, le = Ze; + Q = z[In(Q) * 255 + 0.5 | 0], _ = z[In(_) * 255 + 0.5 | 0], le = z[In(le) * 255 + 0.5 | 0]; + if (N === "r") + _ = Q, le = Q; + else if (N === "g") + Q = _, le = _; + else if (N === "b") + Q = le, _ = le; + else if (N === "a") + Q = U, _ = U, le = U; + else if (N === "l") { + const se = In(de), ge = z[se * 255 + 0.5 | 0]; + Q = ge, _ = ge, le = ge; } - B[Q] = Math.round(In($) * 255), B[Q + 1] = Math.round(In(_) * 255), B[Q + 2] = Math.round(In(le) * 255), B[Q + 3] = 255; + B[$] = Math.round(In(Q) * 255), B[$ + 1] = Math.round(In(_) * 255), B[$ + 2] = Math.round(In(le) * 255), B[$ + 3] = 255; } - if (Q < T) { + if ($ < P) { try { u._rafId = requestAnimationFrame(E); - } catch (oe) { - (P = console.debug) == null || P.call(console, oe); + } catch (ee) { + (D = console.debug) == null || D.call(console, ee); } return; } try { - c.putImageData(x, 0, 0); - } catch (oe) { - (ee = console.debug) == null || ee.call(console, oe); + c.putImageData(v, 0, 0); + } catch (ee) { + (q = console.debug) == null || q.call(console, ee); } }; try { u._rafId = requestAnimationFrame(E); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } }, g = (W) => { - var k, G; + var X, x; if (u._destroyed) return; if (u.lastParams = W || u.lastParams || (n == null ? void 0 : n()) || null, !(e != null && e.isConnected)) { try { u._pendingParams = u.lastParams; - } catch (z) { - (k = console.debug) == null || k.call(console, z); + } catch (T) { + (X = console.debug) == null || X.call(console, T); } I(); return; @@ -15472,24 +15487,24 @@ function xu({ u.jobId++; const y = u.jobId; try { - A(y, u.lastParams); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C(y, u.lastParams); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - }, h = () => { + }, Z = () => { var W, y; if (!u._destroyed) try { if (u.naturalW = Number(a.naturalWidth) || 0, u.naturalH = Number(a.naturalHeight) || 0, !(u.naturalW > 0 && u.naturalH > 0)) return; u.scale = p(u.naturalW, u.naturalH); - const k = Math.max(1, Math.round(u.naturalW * u.scale)), G = Math.max(1, Math.round(u.naturalH * u.scale)); - s.width = k, s.height = G, e.width = k, e.height = G, e._mjrNaturalW = u.naturalW, e._mjrNaturalH = u.naturalH, e._mjrPixelScale = u.scale; + const X = Math.max(1, Math.round(u.naturalW * u.scale)), x = Math.max(1, Math.round(u.naturalH * u.scale)); + s.width = X, s.height = x, e.width = X, e.height = x, e._mjrNaturalW = u.naturalW, e._mjrNaturalH = u.naturalH, e._mjrPixelScale = u.scale; try { - d == null || d.clearRect(0, 0, k, G), d == null || d.drawImage(a, 0, 0, k, G); - } catch (z) { - (W = console.debug) == null || W.call(console, z); + d == null || d.clearRect(0, 0, X, x), d == null || d.drawImage(a, 0, 0, X, x); + } catch (T) { + (W = console.debug) == null || W.call(console, T); } - u.ready = !0, u.srcData = null, M(), g(u.lastParams || (n == null ? void 0 : n())); + u.ready = !0, u.srcData = null, S(), g(u.lastParams || (n == null ? void 0 : n())); } finally { try { l == null || l({ @@ -15497,78 +15512,78 @@ function xu({ naturalH: u.naturalH, pixelScale: u.scale }); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } } }, f = () => { var W; u.ready = !1; try { - po(e, "Failed to load image"); + fo(e, "Failed to load image"); } catch (y) { (W = console.debug) == null || W.call(console, y); } }; try { - a.onload = h, a.onerror = f; + a.onload = Z, a.onerror = f; } catch (W) { - (C = console.debug) == null || C.call(console, W); + (h = console.debug) == null || h.call(console, W); } try { a.src = t; } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } return { setParams: g, - sampleAtOriginal: Z, + sampleAtOriginal: A, getInfo: () => ({ ...u }), destroy: () => { - var W, y, k, G, z, x, w; + var W, y, X, x, T, v, w; u._destroyed = !0; try { u.jobId++; - } catch (X) { - (W = console.debug) == null || W.call(console, X); + } catch (R) { + (W = console.debug) == null || W.call(console, R); } try { u._rafId != null && cancelAnimationFrame(u._rafId); - } catch (X) { - (y = console.debug) == null || y.call(console, X); + } catch (R) { + (y = console.debug) == null || y.call(console, R); } try { u._connectRAF != null && cancelAnimationFrame(u._connectRAF); - } catch (X) { - (k = console.debug) == null || k.call(console, X); + } catch (R) { + (X = console.debug) == null || X.call(console, R); } u._connectRAF = null, u._connectTries = 0, u._pendingParams = null; try { a.onload = null, a.onerror = null; - } catch (X) { - (G = console.debug) == null || G.call(console, X); + } catch (R) { + (x = console.debug) == null || x.call(console, R); } try { a.src = ""; - } catch (X) { - (z = console.debug) == null || z.call(console, X); + } catch (R) { + (T = console.debug) == null || T.call(console, R); } try { s.width = 0, s.height = 0; - } catch (X) { - (x = console.debug) == null || x.call(console, X); + } catch (R) { + (v = console.debug) == null || v.call(console, R); } try { e.width = 0, e.height = 0; - } catch (X) { - (w = console.debug) == null || w.call(console, X); + } catch (R) { + (w = console.debug) == null || w.call(console, R); } u.srcData = null, u._buffer = null; } }; } -const WA = [0.25, 0.5, 1, 1.5, 2], wA = 44; -function Ti(e, { preventDefault: t = !1, immediate: n = !1 } = {}) { +const SA = [0.25, 0.5, 1, 1.5, 2], GA = 44; +function Ui(e, { preventDefault: t = !1, immediate: n = !1 } = {}) { var i, o, r, l, a; if (e) { try { @@ -15583,11 +15598,11 @@ function Ti(e, { preventDefault: t = !1, immediate: n = !1 } = {}) { } } } -function Jl(e) { +function Tl(e) { const t = Math.max(0, Number(e) || 0), n = Math.floor(t / 60), i = Math.floor(t % 60); return n > 0 ? `${n}:${String(i).padStart(2, "0")}` : `${Math.floor(t)}s`; } -function Tl(e, t) { +function Bl(e, t) { const n = document.createElement("button"); return n.type = "button", n.textContent = String(e || ""), n.title = String(t || e || ""), n.setAttribute("aria-label", String(t || e || "3D viewport action")), n.style.cssText = [ "height:28px", @@ -15606,12 +15621,12 @@ function Tl(e, t) { "box-shadow:0 4px 18px rgba(0,0,0,0.24)" ].join(";"), n; } -function hc(e, t) { +function Cc(e, t) { if (!e) return; const n = !!t; e.dataset.active = n ? "1" : "0", e.style.background = n ? "rgba(76,175,80,0.18)" : "rgba(13,15,20,0.78)", e.style.borderColor = n ? "rgba(76,175,80,0.42)" : "rgba(255,255,255,0.16)", e.style.color = n ? "rgba(230,255,235,0.96)" : "rgba(255,255,255,0.92)"; } -function ju(e, t, n = "", i = "#4CAF50") { +function Lu(e, t, n = "", i = "#4CAF50") { var s, d, u; if (!e) return; try { @@ -15635,13 +15650,13 @@ function ju(e, t, n = "", i = "#4CAF50") { } catch (I) { (d = console.debug) == null || d.call(console, I); try { - po(e, t, n || "3D viewer unavailable"); + fo(e, t, n || "3D viewer unavailable"); } catch (p) { (u = console.debug) == null || u.call(console, p); } } } -function vu({ +function Vu({ defaultBgColor: e, defaultFov: t, defaultLightIntensity: n, @@ -15680,13 +15695,13 @@ function vu({ "dragstart", "dragover", "drop" - ].forEach((A) => { + ].forEach((C) => { o.addEventListener( - A, - (g) => Ti(g, { preventDefault: !1 }) + C, + (g) => Ui(g, { preventDefault: !1 }) ); }); - const r = (A) => { + const r = (C) => { const g = document.createElement("div"); g.style.cssText = [ "font:700 10px system-ui,sans-serif", @@ -15694,17 +15709,17 @@ function vu({ "color:rgba(255,255,255,0.40)", "text-transform:uppercase", "margin:10px 0 6px 0" - ].join(";"), g.textContent = A, o.appendChild(g); - const h = document.createElement("div"); - h.style.cssText = "height:1px;background:rgba(255,255,255,0.07);margin-bottom:8px;", o.appendChild(h); - }, l = (A, g) => { - const h = document.createElement("div"); - h.style.cssText = "display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:6px;"; + ].join(";"), g.textContent = C, o.appendChild(g); + const Z = document.createElement("div"); + Z.style.cssText = "height:1px;background:rgba(255,255,255,0.07);margin-bottom:8px;", o.appendChild(Z); + }, l = (C, g) => { + const Z = document.createElement("div"); + Z.style.cssText = "display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:6px;"; const f = document.createElement("span"); - return f.style.cssText = "font:500 11px system-ui,sans-serif;color:rgba(255,255,255,0.65);white-space:nowrap;flex-shrink:0;", f.textContent = A, h.appendChild(f), h.appendChild(g), o.appendChild(h), h; - }, a = (A, g) => { - const h = document.createElement("select"); - h.style.cssText = [ + return f.style.cssText = "font:500 11px system-ui,sans-serif;color:rgba(255,255,255,0.65);white-space:nowrap;flex-shrink:0;", f.textContent = C, Z.appendChild(f), Z.appendChild(g), o.appendChild(Z), Z; + }, a = (C, g) => { + const Z = document.createElement("select"); + Z.style.cssText = [ "background:rgba(25,30,42,0.95)", "color:rgba(255,255,255,0.88)", "border:1px solid rgba(255,255,255,0.14)", @@ -15715,20 +15730,20 @@ function vu({ "flex:1", "min-width:0" ].join(";"); - for (const [f, b] of A) { - const v = document.createElement("option"); - v.value = f, v.textContent = b, f === g && (v.selected = !0), h.appendChild(v); + for (const [f, b] of C) { + const L = document.createElement("option"); + L.value = f, L.textContent = b, f === g && (L.selected = !0), Z.appendChild(L); } - return h; - }, c = (A, g, h, f) => { + return Z; + }, c = (C, g, Z, f) => { const b = document.createElement("div"); b.style.cssText = "display:flex;align-items:center;gap:5px;flex:1;"; - const v = document.createElement("input"); - v.type = "range", v.min = String(A), v.max = String(g), v.step = String(h), v.value = String(f), v.style.cssText = "flex:1;cursor:pointer;accent-color:#4CAF50;height:3px;"; - const C = document.createElement("span"); - return C.style.cssText = "font:11px system-ui,sans-serif;color:rgba(255,255,255,0.45);min-width:26px;text-align:right;", C.textContent = String(f), v.addEventListener("input", () => { - C.textContent = v.value; - }), b.appendChild(v), b.appendChild(C), { wrap: b, slider: v, valLbl: C }; + const L = document.createElement("input"); + L.type = "range", L.min = String(C), L.max = String(g), L.step = String(Z), L.value = String(f), L.style.cssText = "flex:1;cursor:pointer;accent-color:#4CAF50;height:3px;"; + const h = document.createElement("span"); + return h.style.cssText = "font:11px system-ui,sans-serif;color:rgba(255,255,255,0.45);min-width:26px;text-align:right;", h.textContent = String(f), L.addEventListener("input", () => { + h.textContent = L.value; + }), b.appendChild(L), b.appendChild(h), { wrap: b, slider: L, valLbl: h }; }; r("Scene"); const s = document.createElement("input"); @@ -15759,30 +15774,30 @@ function vu({ l("Up", u); let I = null, p = null; i && (p = document.createElement("input"), p.type = "checkbox", p.checked = !1, p.style.cssText = "cursor:pointer;accent-color:#4CAF50;flex-shrink:0;", I = l("Skeleton", p)), r("Camera"); - const M = c(15, 120, 1, t ?? 75); - l("FOV", M.wrap), r("Lights"); - const Z = c(0, 5, 0.1, n ?? 1); - return l("Intensity", Z.wrap), { + const S = c(15, 120, 1, t ?? 75); + l("FOV", S.wrap), r("Lights"); + const A = c(0, 5, 0.1, n ?? 1); + return l("Intensity", A.wrap), { panel: o, bgInput: s, materialSel: d, upSel: u, skeletonToggle: p, skeletonRow: I, - fovSlider: M.slider, - fovValLbl: M.valLbl, - lightSlider: Z.slider, - lightValLbl: Z.valLbl + fovSlider: S.slider, + fovValLbl: S.valLbl, + lightSlider: A.slider, + lightValLbl: A.valLbl }; } -function MA() { +function xA() { const e = document.createElement("div"); e.className = "mjr-model3d-anim-bar", e.style.cssText = [ "position:absolute", "bottom:0", "left:0", "right:0", - `height:${wA}px`, + `height:${GA}px`, "display:none", "align-items:center", "gap:7px", @@ -15803,7 +15818,7 @@ function MA() { ].forEach((l) => { e.addEventListener( l, - (a) => Ti(a, { preventDefault: !1 }) + (a) => Ui(a, { preventDefault: !1 }) ); }); const t = document.createElement("button"); @@ -15835,7 +15850,7 @@ function MA() { "width:52px", "flex-shrink:0" ].join(";"); - for (const l of WA) { + for (const l of SA) { const a = document.createElement("option"); a.value = String(l), a.textContent = `${l}Γ—`, l === 1 && (a.selected = !0), n.appendChild(a); } @@ -15862,7 +15877,7 @@ function MA() { "flex-shrink:0" ].join(";"), r.textContent = "0s / 0s", e.appendChild(t), e.appendChild(n), e.appendChild(i), e.appendChild(o), e.appendChild(r), { bar: e, playBtn: t, speedSel: n, animSel: i, progressSlider: o, timeLbl: r }; } -const eb = Object.freeze({ +const tb = Object.freeze({ ".gltf": "gltf", ".glb": "gltf", ".obj": "obj", @@ -15872,10 +15887,10 @@ const eb = Object.freeze({ ".splat": "splat", ".ksplat": "splat", ".spz": "splat" -}), SA = new Set(Object.keys(eb)), GA = /* @__PURE__ */ new Set(["gltf", "obj", "fbx", "stl", "ply"]), Cc = "#282828", tb = "Rotate: left drag Pan: right drag Zoom: wheel", Wi = Object.freeze({ +}), jA = new Set(Object.keys(tb)), vA = /* @__PURE__ */ new Set(["gltf", "obj", "fbx", "stl", "ply"]), Zc = "#282828", nb = "Rotate: left drag Pan: right drag Zoom: wheel", Si = Object.freeze({ PERSPECTIVE: "perspective", ORTHOGRAPHIC: "orthographic" -}), xA = Object.freeze({ +}), LA = Object.freeze({ original: [0, 0, 0], "+y": [0, 0, 0], "-y": [Math.PI, 0, 0], @@ -15883,7 +15898,7 @@ const eb = Object.freeze({ "-z": [Math.PI / 2, 0, 0], "+x": [0, 0, Math.PI / 2], "-x": [0, 0, -Math.PI / 2] -}), jA = 44, Fr = 75, Zc = 1, hi = Object.freeze({ +}), VA = 44, zr = 75, Ac = 1, Zi = Object.freeze({ ambient: 0.5, main: 0.8, fill: 0.3, @@ -15891,7 +15906,7 @@ const eb = Object.freeze({ rim: 0.3, bottom: 0.2 }); -function rd(e) { +function ad(e) { var t, n; try { const i = String((e == null ? void 0 : e.ext) || "").trim().toLowerCase(); @@ -15907,25 +15922,25 @@ function rd(e) { } return ""; } -function vA(e) { +function YA(e) { const t = String(e || "").trim(); return t ? t.startsWith("/") || /^[a-z][\w+\-.]*:/i.test(t) : !1; } -function LA(e) { +function kA(e) { var n; const t = String((e == null ? void 0 : e.loader) || ((n = e == null ? void 0 : e.viewer_info) == null ? void 0 : n.loader) || "").trim().toLowerCase(); - return t || eb[rd(e)] || ""; + return t || tb[ad(e)] || ""; } -function Lu(e) { - return String((e == null ? void 0 : e.kind) || "").toLowerCase() === "model3d" ? !0 : SA.has(rd(e)); +function Yu(e) { + return String((e == null ? void 0 : e.kind) || "").toLowerCase() === "model3d" ? !0 : jA.has(ad(e)); } -function YA(e) { - return LA(e) || "gltf"; +function XA(e) { + return kA(e) || "gltf"; } -function yV() { - return tb; +function ZY() { + return nb; } -function fV(e) { +function AY(e) { var t, n, i, o; try { if ((n = (t = e == null ? void 0 : e.classList) == null ? void 0 : t.contains) != null && n.call(t, "mjr-model3d-render-canvas")) return e; @@ -15938,7 +15953,7 @@ function fV(e) { return null; } } -function Ac(e) { +function Wc(e) { var t; try { return !!((t = e == null ? void 0 : e.closest) != null && t.call( @@ -15949,13 +15964,13 @@ function Ac(e) { return !1; } } -function VA(e, t) { +function NA(e, t) { const n = t || { ROTATE: 0, DOLLY: 1, PAN: 2 }; return { LEFT: n.ROTATE, MIDDLE: n.DOLLY, RIGHT: n.PAN }; } -function Yu(e, t, n = {}) { - var He, ve, Ot; - const i = (n == null ? void 0 : n.pauseDuringExecution) == null ? !!(ye != null && ye.VIEWER_PAUSE_DURING_EXECUTION) : !!n.pauseDuringExecution, o = document.createElement("div"); +function ku(e, t, n = {}) { + var Pe, Le, Ot; + const i = (n == null ? void 0 : n.pauseDuringExecution) == null ? !!(fe != null && fe.VIEWER_PAUSE_DURING_EXECUTION) : !!n.pauseDuringExecution, o = document.createElement("div"); o.className = n.hostClassName || "mjr-model3d-host mjr-viewer-model3d-host", o.style.cssText = n.hostStyle || [ "width:100%", "height:100%", @@ -15980,8 +15995,8 @@ function Yu(e, t, n = {}) { ].join(";"), r.tabIndex = 0, r._mjrDisableViewerTransform = n.disableViewerTransform !== !1; try { (e == null ? void 0 : e.id) != null && (r.dataset.mjrAssetId = String(e.id)); - } catch (Ve) { - (He = console.debug) == null || He.call(console, Ve); + } catch (Xe) { + (Pe = console.debug) == null || Pe.call(console, Xe); } o.appendChild(r); const l = document.createElement("canvas"); @@ -15994,10 +16009,10 @@ function Yu(e, t, n = {}) { "pointer-events:none", "z-index:1" ].join(";"), o.appendChild(l); - const a = rd(e).replace(".", "").toUpperCase(); + const a = ad(e).replace(".", "").toUpperCase(); if (a) { - const Ve = document.createElement("div"); - Ve.className = "mjr-model3d-badge", Ve.textContent = a, Ve.style.cssText = [ + const Xe = document.createElement("div"); + Xe.className = "mjr-model3d-badge", Xe.textContent = a, Xe.style.cssText = [ "position:absolute", "top:10px", "left:10px", @@ -16009,7 +16024,7 @@ function Yu(e, t, n = {}) { "background:rgba(76,175,80,0.9)", "pointer-events:none", "z-index:2" - ].join(";"), o.appendChild(Ve); + ].join(";"), o.appendChild(Xe); } const c = document.createElement("div"); c.className = "mjr-model3d-toolbar", c.style.cssText = [ @@ -16025,10 +16040,10 @@ function Yu(e, t, n = {}) { ].join(";"); const s = document.createElement("div"); s.style.cssText = "display:flex;align-items:center;gap:6px;flex-wrap:wrap;pointer-events:auto;"; - const d = Tl("Reset", "Reset 3D view"), u = Tl("Grid", "Toggle grid"), I = Tl("Persp", "Switch perspective / orthographic"), p = Tl("βš™", "Settings"); + const d = Bl("Reset", "Reset 3D view"), u = Bl("Grid", "Toggle grid"), I = Bl("Persp", "Switch perspective / orthographic"), p = Bl("βš™", "Settings"); s.append(d, u, I, p), c.appendChild(s), o.appendChild(c); - const M = document.createElement("div"); - M.className = "mjr-model3d-hint", M.textContent = n.hintText || tb, M.style.cssText = [ + const S = document.createElement("div"); + S.className = "mjr-model3d-hint", S.textContent = n.hintText || nb, S.style.cssText = [ "position:absolute", "right:10px", "bottom:10px", @@ -16041,263 +16056,263 @@ function Yu(e, t, n = {}) { "pointer-events:none", "z-index:2", "transition:bottom 0.2s" - ].join(";"), o.appendChild(M); - const Z = vu({ - defaultBgColor: Cc, - defaultFov: Fr, - defaultLightIntensity: Zc, + ].join(";"), o.appendChild(S); + const A = Vu({ + defaultBgColor: Zc, + defaultFov: zr, + defaultLightIntensity: Ac, hasSkeleton: !1 // updated after load }); - o.appendChild(Z.panel); - const A = MA(); - o.appendChild(A.bar); - let g = !1, h = null, f = null, b = null, v = null, C = null, S = null, W = null, y = null, k = null, G = null, z = !1, x = null, w = null, X = null, V = null, R = null, j = null, L = 0, N = Wi.PERSPECTIVE, q = /* @__PURE__ */ new Map(); - const O = /* @__PURE__ */ new Set(); - let B = null, J = !1, T = null, D = [], Q = Zc, E = null, K = null, F = [], Y = [], U = 0, P = 1, ee = !1, oe = !1, ce = !1; - const pe = String((e == null ? void 0 : e.filename) || "3D model"), H = () => { - var Ve, Ke; + o.appendChild(A.panel); + const C = xA(); + o.appendChild(C.bar); + let g = !1, Z = null, f = null, b = null, L = null, h = null, G = null, W = null, y = null, X = null, x = null, T = !1, v = null, w = null, R = null, Y = null, F = null, N = null, V = 0, k = Si.PERSPECTIVE, K = /* @__PURE__ */ new Map(); + const z = /* @__PURE__ */ new Set(); + let B = null, J = !1, P = null, H = [], $ = Ac, E = null, oe = null, M = [], j = [], O = 0, D = 1, q = !1, ee = !1, ce = !1; + const ue = String((e == null ? void 0 : e.filename) || "3D model"), U = () => { + var Xe, Ee; try { - (Ve = n.scheduleOverlayRedraw) == null || Ve.call(n); - } catch (Be) { - (Ke = console.debug) == null || Ke.call(console, Be); + (Xe = n.scheduleOverlayRedraw) == null || Xe.call(n); + } catch (Ke) { + (Ee = console.debug) == null || Ee.call(console, Ke); } - }, $ = (Ve, Ke = "", Be = "#4CAF50") => { - x = { title: Ve, hintText: Ke, accent: Be }, l.style.display = "block", ju(l, Ve, Ke, Be); + }, Q = (Xe, Ee = "", Ke = "#4CAF50") => { + v = { title: Xe, hintText: Ee, accent: Ke }, l.style.display = "block", Lu(l, Xe, Ee, Ke); }, _ = () => { - x = null, l.style.display = "none"; + v = null, l.style.display = "none"; }, le = () => { - var Ve, Ke; + var Xe, Ee; try { - const Be = o.getBoundingClientRect(); - r._mjrNaturalW = Math.max(1, Math.round(Be.width || r.width || 1)), r._mjrNaturalH = Math.max(1, Math.round(Be.height || r.height || 1)); - } catch (Be) { - (Ve = console.debug) == null || Ve.call(console, Be); + const Ke = o.getBoundingClientRect(); + r._mjrNaturalW = Math.max(1, Math.round(Ke.width || r.width || 1)), r._mjrNaturalH = Math.max(1, Math.round(Ke.height || r.height || 1)); + } catch (Ke) { + (Xe = console.debug) == null || Xe.call(console, Ke); } try { - x && ju( + v && Lu( l, - x.title, - x.hintText, - x.accent + v.title, + v.hintText, + v.accent ); - } catch (Be) { - (Ke = console.debug) == null || Ke.call(console, Be); + } catch (Ke) { + (Ee = console.debug) == null || Ee.call(console, Ke); } - }, se = (Ve, Ke) => { - if (!W || !(L > 0)) return; - const Be = Math.max(1e-4, (Number(Ve) || 1) / Math.max(1, Number(Ke) || 1)), nt = L * Be; - W.left = -nt / 2, W.right = nt / 2, W.top = L / 2, W.bottom = -L / 2, W.updateProjectionMatrix(); - }, de = () => { - var Ve; - if (!(!V || !y || !j)) { - if (N === Wi.ORTHOGRAPHIC) { - const Ke = o.getBoundingClientRect(); - L = fA( + }, de = (Xe, Ee) => { + if (!W || !(V > 0)) return; + const Ke = Math.max(1e-4, (Number(Xe) || 1) / Math.max(1, Number(Ee) || 1)), nt = V * Ke; + W.left = -nt / 2, W.right = nt / 2, W.top = V / 2, W.bottom = -V / 2, W.updateProjectionMatrix(); + }, se = () => { + var Xe; + if (!(!Y || !y || !N)) { + if (k === Si.ORTHOGRAPHIC) { + const Ee = o.getBoundingClientRect(); + V = ZA( W, y, - j, - Math.max(1e-4, (Ke.width || 1) / Math.max(1, Ke.height || 1)) - ) || L, C = W; + N, + Math.max(1e-4, (Ee.width || 1) / Math.max(1, Ee.height || 1)) + ) || V, h = W; } else - yA(f, S, y, j), C = S; + CA(f, G, y, N), h = G; try { - y.object = C, y.update(); - } catch (Ke) { - (Ve = console.debug) == null || Ve.call(console, Ke); + y.object = h, y.update(); + } catch (Ee) { + (Xe = console.debug) == null || Xe.call(console, Ee); } } - }, Ze = (Ve, { refit: Ke = !0 } = {}) => { - var Be, nt, mt, bt, st; - N = Ve === Wi.ORTHOGRAPHIC ? Wi.ORTHOGRAPHIC : Wi.PERSPECTIVE, C = N === Wi.ORTHOGRAPHIC ? W : S; + }, ge = (Xe, { refit: Ee = !0 } = {}) => { + var Ke, nt, ut, It, dt; + k = Xe === Si.ORTHOGRAPHIC ? Si.ORTHOGRAPHIC : Si.PERSPECTIVE, h = k === Si.ORTHOGRAPHIC ? W : G; try { - y && (y.object = C); - } catch (ke) { - (Be = console.debug) == null || Be.call(console, ke); + y && (y.object = h); + } catch (Re) { + (Ke = console.debug) == null || Ke.call(console, Re); } - if (Ke) - de(); + if (Ee) + se(); else { try { - (nt = C == null ? void 0 : C.updateProjectionMatrix) == null || nt.call(C); - } catch (ke) { - (mt = console.debug) == null || mt.call(console, ke); + (nt = h == null ? void 0 : h.updateProjectionMatrix) == null || nt.call(h); + } catch (Re) { + (ut = console.debug) == null || ut.call(console, Re); } try { - (bt = y == null ? void 0 : y.update) == null || bt.call(y); - } catch (ke) { - (st = console.debug) == null || st.call(console, ke); + (It = y == null ? void 0 : y.update) == null || It.call(y); + } catch (Re) { + (dt = console.debug) == null || dt.call(console, Re); } } - Ee(), H(); - }, Fe = (Ve) => { - var Be; - Q = Math.max(0, Math.min(10, Number(Ve) || 0)); + Te(), U(); + }, je = (Xe) => { + var Ke; + $ = Math.max(0, Math.min(10, Number(Xe) || 0)); try { - T && (T.intensity = hi.ambient * Q); + P && (P.intensity = Zi.ambient * $); } catch (nt) { - (Be = console.debug) == null || Be.call(console, nt); + (Ke = console.debug) == null || Ke.call(console, nt); } - const Ke = [ - hi.main, - hi.back, - hi.fill, - hi.fill, - hi.bottom + const Ee = [ + Zi.main, + Zi.back, + Zi.fill, + Zi.fill, + Zi.bottom ]; - D.forEach((nt, mt) => { - var bt; + H.forEach((nt, ut) => { + var It; try { - nt && (nt.intensity = (Ke[mt] ?? hi.fill) * Q); - } catch (st) { - (bt = console.debug) == null || bt.call(console, st); + nt && (nt.intensity = (Ee[ut] ?? Zi.fill) * $); + } catch (dt) { + (It = console.debug) == null || It.call(console, dt); } }); - }, xe = (Ve) => { - !R || !f || (Su(O), bA(f, R, Ve, q, O), H()); - }, ze = (Ve) => { - var Be; - if (!V) return; - const Ke = xA[Ve] || [0, 0, 0]; - try { - V.rotation.set(Ke[0], Ke[1], Ke[2]), V.updateMatrixWorld(!0); - } catch (nt) { - (Be = console.debug) == null || Be.call(console, nt); - } - f && (j = Gu(f, V)), de(); - }, We = (Ve) => { + }, Se = (Xe) => { + !F || !f || (xu(z), fA(f, F, Xe, K, z), U()); + }, ke = (Xe) => { var Ke; + if (!Y) return; + const Ee = LA[Xe] || [0, 0, 0]; + try { + Y.rotation.set(Ee[0], Ee[1], Ee[2]), Y.updateMatrixWorld(!0); + } catch (nt) { + (Ke = console.debug) == null || Ke.call(console, nt); + } + f && (N = ju(f, Y)), se(); + }, we = (Xe) => { + var Ee; if (B) try { - B.visible = !!Ve; - } catch (Be) { - (Ke = console.debug) == null || Ke.call(console, Be); + B.visible = !!Xe; + } catch (Ke) { + (Ee = console.debug) == null || Ee.call(console, Ke); } - }, De = () => { - var mt, bt; - if (!E || F.length === 0) return; - const Ve = Y[U]; - if (!Ve) return; - const Ke = F[U], Be = (Ke == null ? void 0 : Ke.duration) || 0, nt = Ve.time || 0; + }, Je = () => { + var ut, It; + if (!E || M.length === 0) return; + const Xe = j[O]; + if (!Xe) return; + const Ee = M[O], Ke = (Ee == null ? void 0 : Ee.duration) || 0, nt = Xe.time || 0; try { - A.timeLbl.textContent = `${Jl(nt)} / ${Jl(Be)}`; - } catch (st) { - (mt = console.debug) == null || mt.call(console, st); + C.timeLbl.textContent = `${Tl(nt)} / ${Tl(Ke)}`; + } catch (dt) { + (ut = console.debug) == null || ut.call(console, dt); } - if (!oe && Be > 0) + if (!ee && Ke > 0) try { - const st = Number(A.progressSlider.max) || 1e3; - A.progressSlider.value = String(Math.round(nt / Be * st)); - } catch (st) { - (bt = console.debug) == null || bt.call(console, st); + const dt = Number(C.progressSlider.max) || 1e3; + C.progressSlider.value = String(Math.round(nt / Ke * dt)); + } catch (dt) { + (It = console.debug) == null || It.call(console, dt); } - }, Pe = (Ve) => { - if (!E || !F.length) return; - const Ke = F[Ve]; - if (!Ke) return; - Y.forEach((nt) => { - var mt; + }, $e = (Xe) => { + if (!E || !M.length) return; + const Ee = M[Xe]; + if (!Ee) return; + j.forEach((nt) => { + var ut; try { nt == null || nt.stop(); - } catch (bt) { - (mt = console.debug) == null || mt.call(console, bt); + } catch (It) { + (ut = console.debug) == null || ut.call(console, It); } }); - const Be = E.clipAction(Ke); - Be.timeScale = P, Be.clampWhenFinished = !1, Be.loop = (f == null ? void 0 : f.LoopRepeat) ?? 2201, Be.play(), Y[Ve] = Be, U = Ve, ee = !0, A.playBtn.textContent = "⏸"; + const Ke = E.clipAction(Ee); + Ke.timeScale = D, Ke.clampWhenFinished = !1, Ke.loop = (f == null ? void 0 : f.LoopRepeat) ?? 2201, Ke.play(), j[Xe] = Ke, O = Xe, q = !0, C.playBtn.textContent = "⏸"; try { - const nt = Math.max(100, Math.min(1e4, Math.round((Ke.duration || 1) * 100))); - A.progressSlider.max = String(nt); + const nt = Math.max(100, Math.min(1e4, Math.round((Ee.duration || 1) * 100))); + C.progressSlider.max = String(nt); } catch { } - }, Qe = () => { - var Ve, Ke; - !E || !F.length || (ee ? (E.timeScale = 0, ee = !1, A.playBtn.textContent = "β–Ά") : (E.timeScale = P, (Ke = (Ve = Y[U]) == null ? void 0 : Ve.isRunning) != null && Ke.call(Ve) ? (ee = !0, A.playBtn.textContent = "⏸") : Pe(U))); - }, Ue = (Ve, Ke) => { - !Ve || Ve.length === 0 || !f || (F = Ve, E = new f.AnimationMixer(Ke), K = new f.Clock(), Y = new Array(Ve.length).fill(null), A.animSel.innerHTML = "", Ve.forEach((Be, nt) => { - const mt = document.createElement("option"); - mt.value = String(nt), mt.textContent = Be.name || `Animation ${nt + 1}`, A.animSel.appendChild(mt); - }), A.animSel.style.display = Ve.length > 1 ? "" : "none", A.bar.style.display = "flex", M.style.bottom = `${jA + 10}px`, Pe(0), A.playBtn.addEventListener("click", (Be) => { - Ti(Be), Qe(); - }), A.speedSel.addEventListener("change", () => { - P = Number(A.speedSel.value) || 1, E.timeScale = ee ? P : 0; - const Be = Y[U]; - Be && (Be.timeScale = P); - }), A.animSel.addEventListener("change", () => { - const Be = Number(A.animSel.value) || 0; - Pe(Be); - }), A.progressSlider.addEventListener("pointerdown", () => { - oe = !0; - }), A.progressSlider.addEventListener("pointerup", () => { - oe = !1; - const Be = Y[U], nt = F[U]; - if (Be && nt) { - const mt = Number(A.progressSlider.max) || 1e3, bt = Number(A.progressSlider.value) / mt * nt.duration; - Be.time = Math.max(0, Math.min(bt, nt.duration)); + }, qe = () => { + var Xe, Ee; + !E || !M.length || (q ? (E.timeScale = 0, q = !1, C.playBtn.textContent = "β–Ά") : (E.timeScale = D, (Ee = (Xe = j[O]) == null ? void 0 : Xe.isRunning) != null && Ee.call(Xe) ? (q = !0, C.playBtn.textContent = "⏸") : $e(O))); + }, Ue = (Xe, Ee) => { + !Xe || Xe.length === 0 || !f || (M = Xe, E = new f.AnimationMixer(Ee), oe = new f.Clock(), j = new Array(Xe.length).fill(null), C.animSel.innerHTML = "", Xe.forEach((Ke, nt) => { + const ut = document.createElement("option"); + ut.value = String(nt), ut.textContent = Ke.name || `Animation ${nt + 1}`, C.animSel.appendChild(ut); + }), C.animSel.style.display = Xe.length > 1 ? "" : "none", C.bar.style.display = "flex", S.style.bottom = `${VA + 10}px`, $e(0), C.playBtn.addEventListener("click", (Ke) => { + Ui(Ke), qe(); + }), C.speedSel.addEventListener("change", () => { + D = Number(C.speedSel.value) || 1, E.timeScale = q ? D : 0; + const Ke = j[O]; + Ke && (Ke.timeScale = D); + }), C.animSel.addEventListener("change", () => { + const Ke = Number(C.animSel.value) || 0; + $e(Ke); + }), C.progressSlider.addEventListener("pointerdown", () => { + ee = !0; + }), C.progressSlider.addEventListener("pointerup", () => { + ee = !1; + const Ke = j[O], nt = M[O]; + if (Ke && nt) { + const ut = Number(C.progressSlider.max) || 1e3, It = Number(C.progressSlider.value) / ut * nt.duration; + Ke.time = Math.max(0, Math.min(It, nt.duration)); } - }), A.progressSlider.addEventListener("input", () => { - const Be = Y[U], nt = F[U]; - if (Be && nt && oe) { - const mt = Number(A.progressSlider.max) || 1e3, bt = Number(A.progressSlider.value) / mt * nt.duration; - Be.time = Math.max(0, Math.min(bt, nt.duration)), A.timeLbl.textContent = `${Jl(bt)} / ${Jl(nt.duration)}`; + }), C.progressSlider.addEventListener("input", () => { + const Ke = j[O], nt = M[O]; + if (Ke && nt && ee) { + const ut = Number(C.progressSlider.max) || 1e3, It = Number(C.progressSlider.value) / ut * nt.duration; + Ke.time = Math.max(0, Math.min(It, nt.duration)), C.timeLbl.textContent = `${Tl(It)} / ${Tl(nt.duration)}`; } })); - }, Ee = () => { - hc(u, !!(X != null && X.visible)), hc(I, N === Wi.ORTHOGRAPHIC), I.textContent = N === Wi.ORTHOGRAPHIC ? "Ortho" : "Persp", hc(p, ce); + }, Te = () => { + Cc(u, !!(R != null && R.visible)), Cc(I, k === Si.ORTHOGRAPHIC), I.textContent = k === Si.ORTHOGRAPHIC ? "Ortho" : "Persp", Cc(p, ce); }; - Z.bgInput.addEventListener("input", () => { - var Ke; - const Ve = Z.bgInput.value; + A.bgInput.addEventListener("input", () => { + var Ee; + const Xe = A.bgInput.value; try { - v && (v.background = new ((f == null ? void 0 : f.Color) || Object)(Ve)); - } catch (Be) { - (Ke = console.debug) == null || Ke.call(console, Be); + L && (L.background = new ((f == null ? void 0 : f.Color) || Object)(Xe)); + } catch (Ke) { + (Ee = console.debug) == null || Ee.call(console, Ke); } - }), Z.materialSel.addEventListener("change", () => { - xe(Z.materialSel.value); - }), Z.upSel.addEventListener("change", () => { - ze(Z.upSel.value); - }), Z.skeletonToggle && Z.skeletonToggle.addEventListener("change", () => { - We(Z.skeletonToggle.checked); - }), Z.fovSlider.addEventListener("input", () => { - var Ke; - const Ve = Math.max( + }), A.materialSel.addEventListener("change", () => { + Se(A.materialSel.value); + }), A.upSel.addEventListener("change", () => { + ke(A.upSel.value); + }), A.skeletonToggle && A.skeletonToggle.addEventListener("change", () => { + we(A.skeletonToggle.checked); + }), A.fovSlider.addEventListener("input", () => { + var Ee; + const Xe = Math.max( 1, - Math.min(179, Number(Z.fovSlider.value) || Fr) + Math.min(179, Number(A.fovSlider.value) || zr) ); try { - S && (S.fov = Ve, S.updateProjectionMatrix()); - } catch (Be) { - (Ke = console.debug) == null || Ke.call(console, Be); + G && (G.fov = Xe, G.updateProjectionMatrix()); + } catch (Ke) { + (Ee = console.debug) == null || Ee.call(console, Ke); } - }), Z.lightSlider.addEventListener("input", () => { - Fe(Number(Z.lightSlider.value)); + }), A.lightSlider.addEventListener("input", () => { + je(Number(A.lightSlider.value)); }); - const Re = () => { - const Ve = [], Ke = (Be, nt, mt, bt) => { - Be.addEventListener(nt, mt, bt), Ve.push(() => Be.removeEventListener(nt, mt, bt)); + const Oe = () => { + const Xe = [], Ee = (Ke, nt, ut, It) => { + Ke.addEventListener(nt, ut, It), Xe.push(() => Ke.removeEventListener(nt, ut, It)); }; - return Ke(o, "pointerdown", () => { - var Be, nt; + return Ee(o, "pointerdown", () => { + var Ke, nt; try { - (Be = r.focus) == null || Be.call(r); - } catch (mt) { - (nt = console.debug) == null || nt.call(console, mt); + (Ke = r.focus) == null || Ke.call(r); + } catch (ut) { + (nt = console.debug) == null || nt.call(console, ut); } - }), Ke(o, "wheel", (Be) => Ti(Be)), Ke(o, "contextmenu", (Be) => Ti(Be, { preventDefault: !0 })), Ke(o, "dragstart", (Be) => Ti(Be, { preventDefault: !0 })), Ke(o, "dragover", (Be) => Ti(Be, { preventDefault: !0 })), Ke(o, "dragleave", (Be) => Ti(Be)), Ke(o, "drop", (Be) => Ti(Be, { preventDefault: !0 })), () => { - var Be; - for (const nt of Ve) + }), Ee(o, "wheel", (Ke) => Ui(Ke)), Ee(o, "contextmenu", (Ke) => Ui(Ke, { preventDefault: !0 })), Ee(o, "dragstart", (Ke) => Ui(Ke, { preventDefault: !0 })), Ee(o, "dragover", (Ke) => Ui(Ke, { preventDefault: !0 })), Ee(o, "dragleave", (Ke) => Ui(Ke)), Ee(o, "drop", (Ke) => Ui(Ke, { preventDefault: !0 })), () => { + var Ke; + for (const nt of Xe) try { nt(); - } catch (mt) { - (Be = console.debug) == null || Be.call(console, mt); + } catch (ut) { + (Ke = console.debug) == null || Ke.call(console, ut); } }; - }, wt = () => { - var Ve, Ke, Be, nt, mt, bt, st, ke, Ct, at, zt, Zt, gt, kt, Qt, te, ge, we, be, Oe, ot, dt, en, un, Wt, tn, re; + }, pt = () => { + var Xe, Ee, Ke, nt, ut, It, dt, Re, Wt, lt, qt, yt, mt, kt, $t, Tt, te, ye, We, pe, De, ot, Zt, tn, Pt, vt, re; g = !0; try { - window.removeEventListener(ft.RUNTIME_STATUS, Gt); + window.removeEventListener(ht.RUNTIME_STATUS, Mt); } catch { } try { @@ -16305,164 +16320,164 @@ function Yu(e, t, n = {}) { } catch { } try { - k != null && cancelAnimationFrame(k); - } catch (ie) { - (Ve = console.debug) == null || Ve.call(console, ie); + X != null && cancelAnimationFrame(X); + } catch (ne) { + (Xe = console.debug) == null || Xe.call(console, ne); } - k = null; + X = null; try { w == null || w(); - } catch (ie) { - (Ke = console.debug) == null || Ke.call(console, ie); + } catch (ne) { + (Ee = console.debug) == null || Ee.call(console, ne); } w = null; try { - (Be = h == null ? void 0 : h.disconnect) == null || Be.call(h); - } catch (ie) { - (nt = console.debug) == null || nt.call(console, ie); + (Ke = Z == null ? void 0 : Z.disconnect) == null || Ke.call(Z); + } catch (ne) { + (nt = console.debug) == null || nt.call(console, ne); } - h = null; + Z = null; try { - (mt = y == null ? void 0 : y.dispose) == null || mt.call(y); - } catch (ie) { - (bt = console.debug) == null || bt.call(console, ie); + (ut = y == null ? void 0 : y.dispose) == null || ut.call(y); + } catch (ne) { + (It = console.debug) == null || It.call(console, ne); } y = null; try { - (st = E == null ? void 0 : E.stopAllAction) == null || st.call(E), (Ct = E == null ? void 0 : E.uncacheRoot) == null || Ct.call(E, (ke = E.getRoot) == null ? void 0 : ke.call(E)); - } catch (ie) { - (at = console.debug) == null || at.call(console, ie); + (dt = E == null ? void 0 : E.stopAllAction) == null || dt.call(E), (Wt = E == null ? void 0 : E.uncacheRoot) == null || Wt.call(E, (Re = E.getRoot) == null ? void 0 : Re.call(E)); + } catch (ne) { + (lt = console.debug) == null || lt.call(console, ne); } try { - for (const ie of Y) + for (const ne of j) try { - (zt = E == null ? void 0 : E.uncacheAction) == null || zt.call(E, ie); + (qt = E == null ? void 0 : E.uncacheAction) == null || qt.call(E, ne); } catch { } - } catch (ie) { - (Zt = console.debug) == null || Zt.call(console, ie); + } catch (ne) { + (yt = console.debug) == null || yt.call(console, ne); } try { - for (const ie of F) + for (const ne of M) try { - (gt = ie == null ? void 0 : ie.dispose) == null || gt.call(ie); + (mt = ne == null ? void 0 : ne.dispose) == null || mt.call(ne); } catch { } - } catch (ie) { - (kt = console.debug) == null || kt.call(console, ie); + } catch (ne) { + (kt = console.debug) == null || kt.call(console, ne); } - E = null, Y = [], F = [], Su(O); + E = null, j = [], M = [], xu(z); try { - B && ((Qt = v == null ? void 0 : v.remove) == null || Qt.call(v, B), (te = B.dispose) == null || te.call(B)); - } catch (ie) { - (ge = console.debug) == null || ge.call(console, ie); + B && (($t = L == null ? void 0 : L.remove) == null || $t.call(L, B), (Tt = B.dispose) == null || Tt.call(B)); + } catch (ne) { + (te = console.debug) == null || te.call(console, ne); } B = null; try { - (we = v == null ? void 0 : v.traverse) == null || we.call(v, (ie) => { - var me, Xe, qe; + (ye = L == null ? void 0 : L.traverse) == null || ye.call(L, (ne) => { + var Ie, Ne, He; try { - (Xe = (me = ie.geometry) == null ? void 0 : me.dispose) == null || Xe.call(me); + (Ne = (Ie = ne.geometry) == null ? void 0 : Ie.dispose) == null || Ne.call(Ie); } catch { } try { - const ut = Array.isArray(ie.material) ? ie.material : ie.material ? [ie.material] : []; - for (const jt of ut) + const rt = Array.isArray(ne.material) ? ne.material : ne.material ? [ne.material] : []; + for (const St of rt) try { - if (jt) { - for (const Yt of Object.keys(jt)) + if (St) { + for (const Yt of Object.keys(St)) try { - const St = jt[Yt]; - St && typeof St == "object" && typeof St.dispose == "function" && St.isTexture && St.dispose(); + const Gt = St[Yt]; + Gt && typeof Gt == "object" && typeof Gt.dispose == "function" && Gt.isTexture && Gt.dispose(); } catch { } - (qe = jt.dispose) == null || qe.call(jt); + (He = St.dispose) == null || He.call(St); } } catch { } } catch { } }); - } catch (ie) { - (be = console.debug) == null || be.call(console, ie); + } catch (ne) { + (We = console.debug) == null || We.call(console, ne); } try { - o._mjrAxisScene && ((ot = (Oe = o._mjrAxisScene).traverse) == null || ot.call(Oe, (ie) => { - var me, Xe, qe, ut; + o._mjrAxisScene && ((De = (pe = o._mjrAxisScene).traverse) == null || De.call(pe, (ne) => { + var Ie, Ne, He, rt; try { - (Xe = (me = ie.geometry) == null ? void 0 : me.dispose) == null || Xe.call(me); + (Ne = (Ie = ne.geometry) == null ? void 0 : Ie.dispose) == null || Ne.call(Ie); } catch { } try { - (ut = (qe = ie.material) == null ? void 0 : qe.dispose) == null || ut.call(qe); + (rt = (He = ne.material) == null ? void 0 : He.dispose) == null || rt.call(He); } catch { } }), o._mjrAxisScene = null); - } catch (ie) { - (dt = console.debug) == null || dt.call(console, ie); + } catch (ne) { + (ot = console.debug) == null || ot.call(console, ne); } try { - (en = b == null ? void 0 : b.dispose) == null || en.call(b); - } catch (ie) { - (un = console.debug) == null || un.call(console, ie); + (Zt = b == null ? void 0 : b.dispose) == null || Zt.call(b); + } catch (ne) { + (tn = console.debug) == null || tn.call(console, ne); } - b = null, v = null, C = null, S = null, W = null, R = null, V = null, j = null, G = null; + b = null, L = null, h = null, G = null, W = null, F = null, Y = null, N = null, x = null; try { - const ie = r.getContext("webgl2") || r.getContext("webgl"); - ie && ((tn = (Wt = ie.getExtension("WEBGL_lose_context")) == null ? void 0 : Wt.loseContext) == null || tn.call(Wt)); - } catch (ie) { - (re = console.debug) == null || re.call(console, ie); + const ne = r.getContext("webgl2") || r.getContext("webgl"); + ne && ((vt = (Pt = ne.getExtension("WEBGL_lose_context")) == null ? void 0 : Pt.loseContext) == null || vt.call(Pt)); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }, Se = () => { - var Ve; - z = !0; + }, Me = () => { + var Xe; + T = !0; try { - k != null && cancelAnimationFrame(k); - } catch (Ke) { - (Ve = console.debug) == null || Ve.call(console, Ke); + X != null && cancelAnimationFrame(X); + } catch (Ee) { + (Xe = console.debug) == null || Xe.call(console, Ee); } - k = null; - }, Ft = () => { - var Ve; - if (z = !1, !(g || k != null || typeof G != "function")) + X = null; + }, Xt = () => { + var Xe; + if (T = !1, !(g || X != null || typeof x != "function")) try { - k = requestAnimationFrame(G); - } catch (Ke) { - (Ve = console.debug) == null || Ve.call(console, Ke); + X = requestAnimationFrame(x); + } catch (Ee) { + (Xe = console.debug) == null || Xe.call(console, Ee); } - }, Gt = (Ve) => { - var Be; + }, Mt = (Xe) => { + var Ke; if (!i) return; - if (String(((Be = Ve == null ? void 0 : Ve.detail) == null ? void 0 : Be.active_prompt_id) || "").trim()) { - Se(); + if (String(((Ke = Xe == null ? void 0 : Xe.detail) == null ? void 0 : Ke.active_prompt_id) || "").trim()) { + Me(); return; } - Ft(); - }, ue = { + Xt(); + }, me = { setParams: () => { }, - destroy: wt, + destroy: pt, captureCanvas: () => r, - pause: Se, - resume: Ft + pause: Me, + resume: Xt }; - r._mjrProc = ue; + r._mjrProc = me; try { - i && (window.addEventListener(ft.RUNTIME_STATUS, Gt), String(((ve = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : ve.active_prompt_id) || "").trim() && (z = !0)); - } catch (Ve) { - (Ot = console.debug) == null || Ot.call(console, Ve); + i && (window.addEventListener(ht.RUNTIME_STATUS, Mt), String(((Le = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : Le.active_prompt_id) || "").trim() && (T = !0)); + } catch (Xe) { + (Ot = console.debug) == null || Ot.call(console, Xe); } - return $("Preparing 3D preview", pe), Promise.resolve().then(async () => { - var Ke, Be, nt, mt; - const Ve = YA(e); - if (!GA.has(Ve)) { - if ($( + return Q("Preparing 3D preview", ue), Promise.resolve().then(async () => { + var Ee, Ke, nt, ut; + const Xe = XA(e); + if (!vA.has(Xe)) { + if (Q( "3D preview unavailable", - `${Ve.toUpperCase()} is not supported in the embedded viewer.` - ), M.style.display = "none", t) + `${Xe.toUpperCase()} is not supported in the embedded viewer.` + ), S.style.display = "none", t) try { - const bt = document.createElement("a"); - bt.href = t, bt.download = String((e == null ? void 0 : e.filename) || "model"), bt.textContent = `Download ${String((e == null ? void 0 : e.filename) || "file")}`, bt.style.cssText = [ + const It = document.createElement("a"); + It.href = t, It.download = String((e == null ? void 0 : e.filename) || "model"), It.textContent = `Download ${String((e == null ? void 0 : e.filename) || "file")}`, It.style.cssText = [ "position:absolute", "bottom:18px", "left:50%", @@ -16475,248 +16490,248 @@ function Yu(e, t, n = {}) { "text-decoration:none", "pointer-events:auto", "z-index:3" - ].join(";"), o.appendChild(bt); + ].join(";"), o.appendChild(It); } catch { } return; } try { - const bt = await AA(); + const It = await MA(); if (g) return; - const st = bt.THREE; - f = st; - const ke = new st.LoadingManager(); - ke.setURLModifier((ie) => { - if (!ie || vA(ie)) return ie; - const me = ny(e, ie); - if (me) return me; + const dt = It.THREE; + f = dt; + const Re = new dt.LoadingManager(); + Re.setURLModifier((ne) => { + if (!ne || YA(ne)) return ne; + const Ie = ry(e, ne); + if (Ie) return Ie; try { - return new URL(ie, t).href; + return new URL(ne, t).href; } catch { - return ie; + return ne; } - }), b = new st.WebGLRenderer({ + }), b = new dt.WebGLRenderer({ canvas: r, antialias: !0, alpha: !0, preserveDrawingBuffer: !0 - }), b.outputColorSpace = st.SRGBColorSpace, b.setPixelRatio(Math.min(2, window.devicePixelRatio || 1)), v = new st.Scene(), v.background = new st.Color(Cc), S = new st.PerspectiveCamera( - Fr, + }), b.outputColorSpace = dt.SRGBColorSpace, b.setPixelRatio(Math.min(2, window.devicePixelRatio || 1)), L = new dt.Scene(), L.background = new dt.Color(Zc), G = new dt.PerspectiveCamera( + zr, 16 / 9, 0.01, 1e4 - ), W = new st.OrthographicCamera(-1, 1, 1, -1, -1e4, 1e4), C = S, y = new bt.OrbitControls(C, r), y.enableDamping = !0, y.dampingFactor = 0.08, y.rotateSpeed = 0.82, y.zoomSpeed = 1, y.panSpeed = 0.9, y.screenSpacePanning = !0, y.mouseButtons = VA(null, st.MOUSE), w = Re(), T = new st.AmbientLight( + ), W = new dt.OrthographicCamera(-1, 1, 1, -1, -1e4, 1e4), h = G, y = new It.OrbitControls(h, r), y.enableDamping = !0, y.dampingFactor = 0.08, y.rotateSpeed = 0.82, y.zoomSpeed = 1, y.panSpeed = 0.9, y.screenSpacePanning = !0, y.mouseButtons = NA(null, dt.MOUSE), w = Oe(), P = new dt.AmbientLight( 16777215, - hi.ambient * Q - ), v.add(T); - const Ct = new st.DirectionalLight( + Zi.ambient * $ + ), L.add(P); + const Wt = new dt.DirectionalLight( 16777215, - hi.main * Q + Zi.main * $ ); - Ct.position.set(0, 10, 10); - const at = new st.DirectionalLight( + Wt.position.set(0, 10, 10); + const lt = new dt.DirectionalLight( 16777215, - hi.back * Q + Zi.back * $ ); - at.position.set(-10, 0, -10); - const zt = new st.DirectionalLight( + lt.position.set(-10, 0, -10); + const qt = new dt.DirectionalLight( 15266047, - hi.fill * Q + Zi.fill * $ ); - zt.position.set(10, 5, -5); - const Zt = new st.DirectionalLight( + qt.position.set(10, 5, -5); + const yt = new dt.DirectionalLight( 16773352, - hi.fill * Q + Zi.fill * $ ); - Zt.position.set(-10, 5, 5); - const gt = new st.DirectionalLight( + yt.position.set(-10, 5, 5); + const mt = new dt.DirectionalLight( 16777215, - hi.bottom * Q + Zi.bottom * $ ); - gt.position.set(0, -10, 0), D = [Ct, at, zt, Zt, gt], D.forEach((ie) => v.add(ie)), X = new st.GridHelper(20, 20, 5068128, 3094338), v.add(X); + mt.position.set(0, -10, 0), H = [Wt, lt, qt, yt, mt], H.forEach((ne) => L.add(ne)), R = new dt.GridHelper(20, 20, 5068128, 3094338), L.add(R); const kt = () => { - if (g || !b || !C) return; - const ie = o.getBoundingClientRect(), me = Math.max(1, Math.round(ie.width || r.clientWidth || 1)), Xe = Math.max(1, Math.round(ie.height || r.clientHeight || 1)); - b.setSize(me, Xe, !1), S && (S.aspect = me / Xe, S.updateProjectionMatrix()), se(me, Xe), le(), H(); + if (g || !b || !h) return; + const ne = o.getBoundingClientRect(), Ie = Math.max(1, Math.round(ne.width || r.clientWidth || 1)), Ne = Math.max(1, Math.round(ne.height || r.clientHeight || 1)); + b.setSize(Ie, Ne, !1), G && (G.aspect = Ie / Ne, G.updateProjectionMatrix()), de(Ie, Ne), le(), U(); }; - typeof ResizeObserver < "u" && (h = new ResizeObserver(() => kt()), h.observe(o)); - const Qt = CA(bt, Ve, ke); - if (!Qt) { - $( + typeof ResizeObserver < "u" && (Z = new ResizeObserver(() => kt()), Z.observe(o)); + const $t = WA(It, Xe, Re); + if (!$t) { + Q( "3D loader unavailable", - `${Ve.toUpperCase()} loader could not be created.` - ), M.style.display = "none"; + `${Xe.toUpperCase()} loader could not be created.` + ), S.style.display = "none"; return; } - if (Ve === "obj" && bt.MTLLoader) + if (Xe === "obj" && It.MTLLoader) try { - const ie = t.replace(/\.obj(\?.*)?$/i, (qe, ut) => `.mtl${ut || ""}`), me = new bt.MTLLoader(ke), Xe = await new Promise((qe) => { - me.load(ie, qe, void 0, () => qe(null)); + const ne = t.replace(/\.obj(\?.*)?$/i, (He, rt) => `.mtl${rt || ""}`), Ie = new It.MTLLoader(Re), Ne = await new Promise((He) => { + Ie.load(ne, He, void 0, () => He(null)); }); - Xe && !g && (Xe.preload(), Qt.setMaterials(Xe)); - } catch (ie) { - (Ke = console.debug) == null || Ke.call(console, "[MJR 3D] MTL load skipped:", ie == null ? void 0 : ie.message); + Ne && !g && (Ne.preload(), $t.setMaterials(Ne)); + } catch (ne) { + (Ee = console.debug) == null || Ee.call(console, "[MJR 3D] MTL load skipped:", ne == null ? void 0 : ne.message); } - const te = await ZA(Qt, Ve, t); + const Tt = await wA($t, Xe, t); if (g) return; - const ge = hA(st, Ve, te); - if (!ge) { - $("Empty 3D scene", "The loader returned no renderable object."), M.style.display = "none"; + const te = AA(dt, Xe, Tt); + if (!te) { + Q("Empty 3D scene", "The loader returned no renderable object."), S.style.display = "none"; return; } try { - const ie = new st.Box3().setFromObject(ge); - if (!ie.isEmpty()) { - const me = ie.getSize(new st.Vector3()), Xe = ie.getCenter(new st.Vector3()), ut = 5 / Math.max(me.x, me.y, me.z, 1e-3); - ge.scale.multiplyScalar(ut), ie.setFromObject(ge), ie.getCenter(Xe), ge.position.set(-Xe.x, -ie.min.y, -Xe.z); + const ne = new dt.Box3().setFromObject(te); + if (!ne.isEmpty()) { + const Ie = ne.getSize(new dt.Vector3()), Ne = ne.getCenter(new dt.Vector3()), rt = 5 / Math.max(Ie.x, Ie.y, Ie.z, 1e-3); + te.scale.multiplyScalar(rt), ne.setFromObject(te), ne.getCenter(Ne), te.position.set(-Ne.x, -ne.min.y, -Ne.z); } - } catch (ie) { - (Be = console.debug) == null || Be.call(console, "[MJR 3D] normalize skipped:", ie); + } catch (ne) { + (Ke = console.debug) == null || Ke.call(console, "[MJR 3D] normalize skipped:", ne); } - if (R = ge, V = new st.Group(), V.add(ge), v.add(V), q = IA(ge), J = gA(ge), J) { - B = new st.SkeletonHelper(ge), B.visible = !1, v.add(B); - const ie = vu({ - defaultBgColor: Cc, - defaultFov: Fr, - defaultLightIntensity: Zc, + if (F = te, Y = new dt.Group(), Y.add(te), L.add(Y), K = yA(te), J = pA(te), J) { + B = new dt.SkeletonHelper(te), B.visible = !1, L.add(B); + const ne = Vu({ + defaultBgColor: Zc, + defaultFov: zr, + defaultLightIntensity: Ac, hasSkeleton: !0 }); - o.replaceChild(ie.panel, Z.panel), Object.assign(Z, ie), Z.bgInput.addEventListener("input", () => { - var me; + o.replaceChild(ne.panel, A.panel), Object.assign(A, ne), A.bgInput.addEventListener("input", () => { + var Ie; try { - v && (v.background = new st.Color(Z.bgInput.value)); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + L && (L.background = new dt.Color(A.bgInput.value)); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - }), Z.materialSel.addEventListener("change", () => { - xe(Z.materialSel.value); - }), Z.upSel.addEventListener("change", () => { - ze(Z.upSel.value); - }), Z.skeletonToggle && Z.skeletonToggle.addEventListener("change", () => { - We(Z.skeletonToggle.checked); - }), Z.fovSlider.addEventListener("input", () => { - var Xe; - const me = Math.max( + }), A.materialSel.addEventListener("change", () => { + Se(A.materialSel.value); + }), A.upSel.addEventListener("change", () => { + ke(A.upSel.value); + }), A.skeletonToggle && A.skeletonToggle.addEventListener("change", () => { + we(A.skeletonToggle.checked); + }), A.fovSlider.addEventListener("input", () => { + var Ne; + const Ie = Math.max( 1, Math.min( 179, - Number(Z.fovSlider.value) || Fr + Number(A.fovSlider.value) || zr ) ); try { - S && (S.fov = me, S.updateProjectionMatrix()); - } catch (qe) { - (Xe = console.debug) == null || Xe.call(console, qe); + G && (G.fov = Ie, G.updateProjectionMatrix()); + } catch (He) { + (Ne = console.debug) == null || Ne.call(console, He); } - }), Z.lightSlider.addEventListener("input", () => { - Fe(Number(Z.lightSlider.value)); + }), A.lightSlider.addEventListener("input", () => { + je(Number(A.lightSlider.value)); }); } - j = Gu(st, V), j && (X.position.y = j.box.min.y), N = Wi.PERSPECTIVE, de(), kt(), _(), Ee(); - const we = pA(te, Ve); - we.length > 0 && Ue(we, ge); - const be = new st.Scene(); - o._mjrAxisScene = be; - const Oe = new st.PerspectiveCamera(50, 1, 0.1, 100); - Oe.position.set(0, 0, 3.2), Oe.lookAt(0, 0, 0); - const ot = 96, dt = [ + N = ju(dt, Y), N && (R.position.y = N.box.min.y), k = Si.PERSPECTIVE, se(), kt(), _(), Te(); + const ye = hA(Tt, Xe); + ye.length > 0 && Ue(ye, te); + const We = new dt.Scene(); + o._mjrAxisScene = We; + const pe = new dt.PerspectiveCamera(50, 1, 0.1, 100); + pe.position.set(0, 0, 3.2), pe.lookAt(0, 0, 0); + const De = 96, ot = [ { dir: [1, 0, 0], color: 16724787 }, // X = red { dir: [0, 1, 0], color: 3407667 }, // Y = green { dir: [0, 0, 1], color: 5605631 } // Z = blue - ], en = new st.SphereGeometry(0.1, 12, 8), un = new st.SphereGeometry(0.08, 10, 6), Wt = new st.MeshBasicMaterial({ color: 13421772 }); - be.add(new st.Mesh(un, Wt)); - for (const { dir: ie, color: me } of dt) { - const Xe = new st.LineBasicMaterial({ color: me }), qe = [ - new st.Vector3(0, 0, 0), - new st.Vector3(ie[0], ie[1], ie[2]) - ], ut = new st.BufferGeometry().setFromPoints(qe); - be.add(new st.Line(ut, Xe)); - const jt = new st.MeshBasicMaterial({ color: me }), Yt = new st.Mesh(en, jt); - Yt.position.set(ie[0], ie[1], ie[2]), be.add(Yt); + ], Zt = new dt.SphereGeometry(0.1, 12, 8), tn = new dt.SphereGeometry(0.08, 10, 6), Pt = new dt.MeshBasicMaterial({ color: 13421772 }); + We.add(new dt.Mesh(tn, Pt)); + for (const { dir: ne, color: Ie } of ot) { + const Ne = new dt.LineBasicMaterial({ color: Ie }), He = [ + new dt.Vector3(0, 0, 0), + new dt.Vector3(ne[0], ne[1], ne[2]) + ], rt = new dt.BufferGeometry().setFromPoints(He); + We.add(new dt.Line(rt, Ne)); + const St = new dt.MeshBasicMaterial({ color: Ie }), Yt = new dt.Mesh(Zt, St); + Yt.position.set(ne[0], ne[1], ne[2]), We.add(Yt); } o._mjr3D = { controls: y, get camera() { - return C; + return h; } }; try { (nt = n.onReady) == null || nt.call(n, { canvas: r, host: o, - object: V, + object: Y, renderer: b, - camera: C, + camera: h, controls: y }); - } catch (ie) { - (mt = console.debug) == null || mt.call(console, ie); + } catch (ne) { + (ut = console.debug) == null || ut.call(console, ne); } - H(); - const tn = () => { - var ie, me; - if (!(g || z || !b || !v || !C)) { + U(); + const vt = () => { + var ne, Ie; + if (!(g || T || !b || !L || !h)) { try { - if ((ie = y == null ? void 0 : y.update) == null || ie.call(y), E && K) { - const jt = K.getDelta(); - ee && E.update(jt), De(); + if ((ne = y == null ? void 0 : y.update) == null || ne.call(y), E && oe) { + const St = oe.getDelta(); + q && E.update(St), Je(); } - b.setScissorTest(!1), b.setViewport(0, 0, r.width, r.height), b.render(v, C); - const Xe = Math.min(2, window.devicePixelRatio || 1), qe = Math.round(ot * Xe); - b.setScissorTest(!0), b.setScissor(0, 0, qe, qe), b.setViewport(0, 0, qe, qe), b.setClearColor(0, 0), b.clear(!0, !0, !1); - const ut = C.quaternion; - Oe.position.set(0, 0, 3.2).applyQuaternion(ut), Oe.quaternion.copy(ut), b.render(be, Oe), b.setScissorTest(!1); + b.setScissorTest(!1), b.setViewport(0, 0, r.width, r.height), b.render(L, h); + const Ne = Math.min(2, window.devicePixelRatio || 1), He = Math.round(De * Ne); + b.setScissorTest(!0), b.setScissor(0, 0, He, He), b.setViewport(0, 0, He, He), b.setClearColor(0, 0), b.clear(!0, !0, !1); + const rt = h.quaternion; + pe.position.set(0, 0, 3.2).applyQuaternion(rt), pe.quaternion.copy(rt), b.render(We, pe), b.setScissorTest(!1); try { - b.setClearColor(v.background || 0, 1); + b.setClearColor(L.background || 0, 1); } catch { } le(); - } catch (Xe) { - (me = console.debug) == null || me.call(console, Xe); + } catch (Ne) { + (Ie = console.debug) == null || Ie.call(console, Ne); } - z || (k = requestAnimationFrame(tn)); + T || (X = requestAnimationFrame(vt)); } }; - G = tn; - const re = (ie) => Ti(ie, { preventDefault: !0 }); - d.addEventListener("click", (ie) => { - re(ie), de(), Ee(); - }), u.addEventListener("click", (ie) => { - re(ie), X && (X.visible = !X.visible), Ee(), H(); - }), I.addEventListener("click", (ie) => { - re(ie), Ze( - N === Wi.PERSPECTIVE ? Wi.ORTHOGRAPHIC : Wi.PERSPECTIVE + x = vt; + const re = (ne) => Ui(ne, { preventDefault: !0 }); + d.addEventListener("click", (ne) => { + re(ne), se(), Te(); + }), u.addEventListener("click", (ne) => { + re(ne), R && (R.visible = !R.visible), Te(), U(); + }), I.addEventListener("click", (ne) => { + re(ne), ge( + k === Si.PERSPECTIVE ? Si.ORTHOGRAPHIC : Si.PERSPECTIVE ); - }), p.addEventListener("click", (ie) => { - re(ie), ce = !ce, Z.panel.style.display = ce ? "block" : "none", Ee(); - }), z || tn(); - } catch (bt) { - console.warn("[MJR 3D] preview init failed", bt), $( + }), p.addEventListener("click", (ne) => { + re(ne), ce = !ce, A.panel.style.display = ce ? "block" : "none", Te(); + }), T || vt(); + } catch (It) { + console.warn("[MJR 3D] preview init failed", It), Q( "Failed to load 3D preview", - String((bt == null ? void 0 : bt.message) || "Three.js initialization failed.") - ), M.style.display = "none"; + String((It == null ? void 0 : It.message) || "Three.js initialization failed.") + ), S.style.display = "none"; } - }).catch((Ve) => { + }).catch((Xe) => { if (!g) { - console.warn("[MJR 3D] preview init unhandled error", Ve); + console.warn("[MJR 3D] preview init unhandled error", Xe); try { - $( + Q( "Failed to load 3D preview", - String((Ve == null ? void 0 : Ve.message) || "Initialization failed.") + String((Xe == null ? void 0 : Xe.message) || "Initialization failed.") ); } catch { } try { - M.style.display = "none"; + S.style.display = "none"; } catch { } } }), o; } -function kA({ +function RA({ overlay: e, content: t, singleView: n, @@ -16727,104 +16742,104 @@ function kA({ scheduleOverlayRedraw: a, lifecycle: c } = {}) { - var V, R; - const s = (c == null ? void 0 : c.safeCall) || pt, d = (c == null ? void 0 : c.safeAddListener) || _e, u = (c == null ? void 0 : c.unsubs) || [], I = () => { - var j; + var Y, F; + const s = (c == null ? void 0 : c.safeCall) || bt, d = (c == null ? void 0 : c.safeAddListener) || Qe, u = (c == null ? void 0 : c.unsubs) || [], I = () => { + var N; try { - return (r == null ? void 0 : r.mode) !== (l == null ? void 0 : l.SINGLE) ? null : ((j = n == null ? void 0 : n.querySelector) == null ? void 0 : j.call(n, ".mjr-viewer-media")) || null; + return (r == null ? void 0 : r.mode) !== (l == null ? void 0 : l.SINGLE) ? null : ((N = n == null ? void 0 : n.querySelector) == null ? void 0 : N.call(n, ".mjr-viewer-media")) || null; } catch { return null; } - }, p = (j) => { - var L; + }, p = (N) => { + var V; try { - if (!j) return { w: 0, h: 0 }; - const N = Number(j == null ? void 0 : j._mjrNaturalW) || 0, q = Number(j == null ? void 0 : j._mjrNaturalH) || 0; - if (N > 0 && q > 0) - return { w: N, h: q }; - if (j.tagName === "IMG") + if (!N) return { w: 0, h: 0 }; + const k = Number(N == null ? void 0 : N._mjrNaturalW) || 0, K = Number(N == null ? void 0 : N._mjrNaturalH) || 0; + if (k > 0 && K > 0) + return { w: k, h: K }; + if (N.tagName === "IMG") return { - w: Number(j.naturalWidth) || 0, - h: Number(j.naturalHeight) || 0 + w: Number(N.naturalWidth) || 0, + h: Number(N.naturalHeight) || 0 }; - if (j.tagName === "VIDEO") - return { w: Number(j.videoWidth) || 0, h: Number(j.videoHeight) || 0 }; - if (j.tagName === "CANVAS") { - const O = Number(j._mjrNaturalW) || Number(j.width) || 0, B = Number(j._mjrNaturalH) || Number(j.height) || 0; - return { w: O, h: B }; + if (N.tagName === "VIDEO") + return { w: Number(N.videoWidth) || 0, h: Number(N.videoHeight) || 0 }; + if (N.tagName === "CANVAS") { + const z = Number(N._mjrNaturalW) || Number(N.width) || 0, B = Number(N._mjrNaturalH) || Number(N.height) || 0; + return { w: z, h: B }; } - } catch (N) { - (L = console.debug) == null || L.call(console, N); + } catch (k) { + (V = console.debug) == null || V.call(console, k); } return { w: 0, h: 0 }; - }, M = () => { - var j; + }, S = () => { + var N; try { - const L = (j = t == null ? void 0 : t.getBoundingClientRect) == null ? void 0 : j.call(t); - return L && L.width > 0 && L.height > 0 ? L : null; + const V = (N = t == null ? void 0 : t.getBoundingClientRect) == null ? void 0 : N.call(t); + return V && V.width > 0 && V.height > 0 ? V : null; } catch { return null; } - }, Z = () => { - var j, L; + }, A = () => { + var N, V; try { - let N = n; - (r == null ? void 0 : r.mode) === (l == null ? void 0 : l.AB_COMPARE) ? N = i : (r == null ? void 0 : r.mode) === (l == null ? void 0 : l.SIDE_BY_SIDE) && (N = o); - const q = (j = N == null ? void 0 : N.querySelector) == null ? void 0 : j.call(N, ".mjr-viewer-media"); - if (!q) return; - const { w: O, h: B } = p(q); - O > 0 && B > 0 && (r._mediaW = O, r._mediaH = B); - } catch (N) { - (L = console.debug) == null || L.call(console, N); + let k = n; + (r == null ? void 0 : r.mode) === (l == null ? void 0 : l.AB_COMPARE) ? k = i : (r == null ? void 0 : r.mode) === (l == null ? void 0 : l.SIDE_BY_SIDE) && (k = o); + const K = (N = k == null ? void 0 : k.querySelector) == null ? void 0 : N.call(k, ".mjr-viewer-media"); + if (!K) return; + const { w: z, h: B } = p(K); + z > 0 && B > 0 && (r._mediaW = z, r._mediaH = B); + } catch (k) { + (V = console.debug) == null || V.call(console, k); } - }, A = (j, { clampPanToBounds: L, applyTransform: N } = {}) => { - var O; - if (!j || j._mjrMediaSizeBound) return; - j._mjrMediaSizeBound = !0; - const q = () => { + }, C = (N, { clampPanToBounds: V, applyTransform: k } = {}) => { + var z; + if (!N || N._mjrMediaSizeBound) return; + N._mjrMediaSizeBound = !0; + const K = () => { var B, J; - Z(); + A(); try { - L == null || L(); - } catch (T) { - (B = console.debug) == null || B.call(console, T); + V == null || V(); + } catch (P) { + (B = console.debug) == null || B.call(console, P); } try { - N == null || N(); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + k == null || k(); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } }; try { - j.tagName === "IMG" ? j.addEventListener("load", () => requestAnimationFrame(q), { once: !0 }) : j.tagName === "VIDEO" && j.addEventListener("loadedmetadata", () => requestAnimationFrame(q), { + N.tagName === "IMG" ? N.addEventListener("load", () => requestAnimationFrame(K), { once: !0 }) : N.tagName === "VIDEO" && N.addEventListener("loadedmetadata", () => requestAnimationFrame(K), { once: !0 }); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } }, g = () => { - var j, L, N; + var N, V, k; try { if (!e || e.style.display === "none") return; - const q = Math.max( - ai.MIN, - Math.min(ai.MAX, Number(r == null ? void 0 : r.zoom) || 1) - ), O = (j = r == null ? void 0 : r.assets) == null ? void 0 : j[r == null ? void 0 : r.currentIndex]; - let B = Number(O == null ? void 0 : O.width) || 0, J = Number(O == null ? void 0 : O.height) || 0; - if (B > 0 && J > 0 || (Z(), B = Number(r == null ? void 0 : r._mediaW) || 0, J = Number(r == null ? void 0 : r._mediaH) || 0), !(B > 0 && J > 0)) return; - const T = B / J; - if (!Number.isFinite(T) || T <= 0) return; - const D = () => { - var Ze, Fe; - const $ = Date.now(); + const K = Math.max( + si.MIN, + Math.min(si.MAX, Number(r == null ? void 0 : r.zoom) || 1) + ), z = (N = r == null ? void 0 : r.assets) == null ? void 0 : N[r == null ? void 0 : r.currentIndex]; + let B = Number(z == null ? void 0 : z.width) || 0, J = Number(z == null ? void 0 : z.height) || 0; + if (B > 0 && J > 0 || (A(), B = Number(r == null ? void 0 : r._mediaW) || 0, J = Number(r == null ? void 0 : r._mediaH) || 0), !(B > 0 && J > 0)) return; + const P = B / J; + if (!Number.isFinite(P) || P <= 0) return; + const H = () => { + var ge, je; + const Q = Date.now(); try { - const xe = r == null ? void 0 : r._viewportCache; - if (xe && xe.mode === (r == null ? void 0 : r.mode) && $ - (xe.at || 0) < 250) { - const ze = Number(xe.w) || 0, We = Number(xe.h) || 0; - if (ze > 0 && We > 0) return { w: ze, h: We }; + const Se = r == null ? void 0 : r._viewportCache; + if (Se && Se.mode === (r == null ? void 0 : r.mode) && Q - (Se.at || 0) < 250) { + const ke = Number(Se.w) || 0, we = Number(Se.h) || 0; + if (ke > 0 && we > 0) return { w: ke, h: we }; } - } catch (xe) { - (Ze = console.debug) == null || Ze.call(console, xe); + } catch (Se) { + (ge = console.debug) == null || ge.call(console, Se); } const _ = Math.max( Number(t == null ? void 0 : t.clientWidth) || 0, @@ -16832,357 +16847,357 @@ function kA({ ), le = Math.max( Number(t == null ? void 0 : t.clientHeight) || 0, Number(e == null ? void 0 : e.clientHeight) || 0 - ), se = (xe, ze) => ({ - w: Math.max(Number(xe) || 0, _), - h: Math.max(Number(ze) || 0, le) + ), de = (Se, ke) => ({ + w: Math.max(Number(Se) || 0, _), + h: Math.max(Number(ke) || 0, le) }); - let de = null; + let se = null; if ((r == null ? void 0 : r.mode) === (l == null ? void 0 : l.SINGLE)) - de = se(n == null ? void 0 : n.clientWidth, n == null ? void 0 : n.clientHeight); + se = de(n == null ? void 0 : n.clientWidth, n == null ? void 0 : n.clientHeight); else if ((r == null ? void 0 : r.mode) === (l == null ? void 0 : l.AB_COMPARE)) - de = se(i == null ? void 0 : i.clientWidth, i == null ? void 0 : i.clientHeight); + se = de(i == null ? void 0 : i.clientWidth, i == null ? void 0 : i.clientHeight); else { - const xe = Array.from((o == null ? void 0 : o.children) || []).filter( - (ze) => ze && ze.nodeType === 1 + const Se = Array.from((o == null ? void 0 : o.children) || []).filter( + (ke) => ke && ke.nodeType === 1 ); - if (xe.length) { - let ze = 1 / 0, We = 1 / 0; - for (const De of xe) { - const Pe = Number(De.clientWidth) || 0, Qe = Number(De.clientHeight) || 0; - Pe > 0 && (ze = Math.min(ze, Pe)), Qe > 0 && (We = Math.min(We, Qe)); + if (Se.length) { + let ke = 1 / 0, we = 1 / 0; + for (const Je of Se) { + const $e = Number(Je.clientWidth) || 0, qe = Number(Je.clientHeight) || 0; + $e > 0 && (ke = Math.min(ke, $e)), qe > 0 && (we = Math.min(we, qe)); } - Number.isFinite(ze) && Number.isFinite(We) && (de = se(ze, We)); + Number.isFinite(ke) && Number.isFinite(we) && (se = de(ke, we)); } - de || (de = se(o == null ? void 0 : o.clientWidth, o == null ? void 0 : o.clientHeight)); + se || (se = de(o == null ? void 0 : o.clientWidth, o == null ? void 0 : o.clientHeight)); } try { - r._viewportCache = { mode: r == null ? void 0 : r.mode, w: de.w, h: de.h, at: $ }; - } catch (xe) { - (Fe = console.debug) == null || Fe.call(console, xe); + r._viewportCache = { mode: r == null ? void 0 : r.mode, w: se.w, h: se.h, at: Q }; + } catch (Se) { + (je = console.debug) == null || je.call(console, Se); } - return de; - }, { w: Q, h: E } = D(); - if (!(Q > 0 && E > 0)) { - ((L = e == null ? void 0 : e.style) == null ? void 0 : L.display) !== "none" && requestAnimationFrame(g); + return se; + }, { w: $, h: E } = H(); + if (!($ > 0 && E > 0)) { + ((V = e == null ? void 0 : e.style) == null ? void 0 : V.display) !== "none" && requestAnimationFrame(g); return; } - const K = Q / E; - let F = 0, Y = 0; - T > K ? (F = Q, Y = Q / T) : (Y = E, F = E * T); - const U = F * q, P = Y * q, ee = U > Q + 1 || P > E + 1; - if (!(q > 1.001) && !ee) { + const oe = $ / E; + let M = 0, j = 0; + P > oe ? (M = $, j = $ / P) : (j = E, M = E * P); + const O = M * K, D = j * K, q = O > $ + 1 || D > E + 1; + if (!(K > 1.001) && !q) { r.panX = 0, r.panY = 0; return; } - const oe = Math.max(0, U - Q), ce = Math.max(0, P - E), pe = oe / 2 * q, H = ce / 2 * q; - r.panX = Math.max(-pe, Math.min(pe, Number(r == null ? void 0 : r.panX) || 0)), r.panY = Math.max(-H, Math.min(H, Number(r == null ? void 0 : r.panY) || 0)); - } catch (q) { - (N = console.debug) == null || N.call(console, q); + const ee = Math.max(0, O - $), ce = Math.max(0, D - E), ue = ee / 2 * K, U = ce / 2 * K; + r.panX = Math.max(-ue, Math.min(ue, Number(r == null ? void 0 : r.panX) || 0)), r.panY = Math.max(-U, Math.min(U, Number(r == null ? void 0 : r.panY) || 0)); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } - }, h = () => { - const j = Math.max(ai.MIN, Math.min(ai.MAX, Number(r == null ? void 0 : r.zoom) || 1)), L = Number(r == null ? void 0 : r.panX) || 0, N = Number(r == null ? void 0 : r.panY) || 0, q = L / j, O = N / j; - return `translate3d(${q}px, ${O}px, 0) scale(${j})`; + }, Z = () => { + const N = Math.max(si.MIN, Math.min(si.MAX, Number(r == null ? void 0 : r.zoom) || 1)), V = Number(r == null ? void 0 : r.panX) || 0, k = Number(r == null ? void 0 : r.panY) || 0, K = V / N, z = k / N; + return `translate3d(${K}px, ${z}px, 0) scale(${N})`; }, f = () => { - var j; + var N; try { if (!t) return; if (!e || e.style.display === "none") { t.style.cursor = ""; return; } - const L = Number(r == null ? void 0 : r.zoom) || 1, N = I(), { w: q, h: O } = p(N) || { w: 0, h: 0 }, B = M(), J = B && q > 0 && O > 0 ? y(q, O, B.width, B.height, L) : !1; - if (!(L > 1.01 || J)) { + const V = Number(r == null ? void 0 : r.zoom) || 1, k = I(), { w: K, h: z } = p(k) || { w: 0, h: 0 }, B = S(), J = B && K > 0 && z > 0 ? y(K, z, B.width, B.height, V) : !1; + if (!(V > 1.01 || J)) { t.style.cursor = ""; return; } t.style.cursor = "grab"; - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } }, b = () => { - var j, L, N, q, O; + var N, V, k, K, z; try { g(); - const B = h(), J = S(), T = ((j = e == null ? void 0 : e.querySelectorAll) == null ? void 0 : j.call(e, ".mjr-viewer-media")) || []; - for (const D of T) + const B = Z(), J = G(), P = ((N = e == null ? void 0 : e.querySelectorAll) == null ? void 0 : N.call(e, ".mjr-viewer-media")) || []; + for (const H of P) try { - if (D != null && D._mjrDisableViewerTransform) continue; - const Q = W(D, J), E = ((L = Q == null ? void 0 : Q.getBoundingClientRect) == null ? void 0 : L.call(Q)) || null; + if (H != null && H._mjrDisableViewerTransform) continue; + const $ = W(H, J), E = ((V = $ == null ? void 0 : $.getBoundingClientRect) == null ? void 0 : V.call($)) || null; if (E) { - const K = Number(E.width) || 0, F = Number(E.height) || 0; - if (K > 1 && F > 1) { - const { w: Y, h: U } = p(D) || { w: 0, h: 0 }; - if (Y > 0 && U > 0) { - const P = C(Y, U, K, F); - P.w > 1 && P.h > 1 && (D.style.width = `${Math.round(P.w)}px`, D.style.height = `${Math.round(P.h)}px`); + const oe = Number(E.width) || 0, M = Number(E.height) || 0; + if (oe > 1 && M > 1) { + const { w: j, h: O } = p(H) || { w: 0, h: 0 }; + if (j > 0 && O > 0) { + const D = h(j, O, oe, M); + D.w > 1 && D.h > 1 && (H.style.width = `${Math.round(D.w)}px`, H.style.height = `${Math.round(D.h)}px`); } } } - D.style.transform = B; - } catch (Q) { - (N = console.debug) == null || N.call(console, Q); + H.style.transform = B; + } catch ($) { + (k = console.debug) == null || k.call(console, $); } try { a == null || a(!0); - } catch (D) { - (q = console.debug) == null || q.call(console, D); + } catch (H) { + (K = console.debug) == null || K.call(console, H); } } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } - }, v = (j, { clientX: L = null, clientY: N = null } = {}) => { - var q, O, B, J; + }, L = (N, { clientX: V = null, clientY: k = null } = {}) => { + var K, z, B, J; try { - const T = Math.max( - ai.MIN, - Math.min(ai.MAX, Number(r == null ? void 0 : r.zoom) || 1) - ), D = Math.max( - ai.MIN, - Math.min(ai.MAX, Number(j) || T) + const P = Math.max( + si.MIN, + Math.min(si.MAX, Number(r == null ? void 0 : r.zoom) || 1) + ), H = Math.max( + si.MIN, + Math.min(si.MAX, Number(N) || P) ); try { r._userInteracted = !0; - } catch (F) { - (q = console.debug) == null || q.call(console, F); + } catch (M) { + (K = console.debug) == null || K.call(console, M); } - let Q = Number(r == null ? void 0 : r.panX) || 0, E = Number(r == null ? void 0 : r.panY) || 0; - if (L != null && N != null && Number.isFinite(Number(L)) && Number.isFinite(Number(N))) + let $ = Number(r == null ? void 0 : r.panX) || 0, E = Number(r == null ? void 0 : r.panY) || 0; + if (V != null && k != null && Number.isFinite(Number(V)) && Number.isFinite(Number(k))) try { - const F = (O = t == null ? void 0 : t.getBoundingClientRect) == null ? void 0 : O.call(t); - if (F && F.width > 0 && F.height > 0) { - const Y = F.left + F.width / 2, U = F.top + F.height / 2, P = (Number(L) || 0) - Y, ee = (Number(N) || 0) - U, oe = D / T; - Q = Math.round(((Number(r == null ? void 0 : r.panX) || 0) * oe + (1 - oe) * P) * 10) / 10, E = Math.round(((Number(r == null ? void 0 : r.panY) || 0) * oe + (1 - oe) * ee) * 10) / 10; + const M = (z = t == null ? void 0 : t.getBoundingClientRect) == null ? void 0 : z.call(t); + if (M && M.width > 0 && M.height > 0) { + const j = M.left + M.width / 2, O = M.top + M.height / 2, D = (Number(V) || 0) - j, q = (Number(k) || 0) - O, ee = H / P; + $ = Math.round(((Number(r == null ? void 0 : r.panX) || 0) * ee + (1 - ee) * D) * 10) / 10, E = Math.round(((Number(r == null ? void 0 : r.panY) || 0) * ee + (1 - ee) * q) * 10) / 10; } - } catch (F) { - (B = console.debug) == null || B.call(console, F); + } catch (M) { + (B = console.debug) == null || B.call(console, M); } - else if (D !== T) { - const F = D / T; - Q = Math.round((Number(r == null ? void 0 : r.panX) || 0) * F * 10) / 10, E = Math.round((Number(r == null ? void 0 : r.panY) || 0) * F * 10) / 10; + else if (H !== P) { + const M = H / P; + $ = Math.round((Number(r == null ? void 0 : r.panX) || 0) * M * 10) / 10, E = Math.round((Number(r == null ? void 0 : r.panY) || 0) * M * 10) / 10; } - r.zoom = D, r.panX = Q, r.panY = E, Math.abs(r.zoom - 1) < 1e-3 && (r.zoom = 1, r.panX = 0, r.panY = 0), r.targetZoom = r.zoom, b(), f(); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + r.zoom = H, r.panX = $, r.panY = E, Math.abs(r.zoom - 1) < 1e-3 && (r.zoom = 1, r.panX = 0, r.panY = 0), r.targetZoom = r.zoom, b(), f(); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } - }, C = (j, L, N, q) => { + }, h = (N, V, k, K) => { try { - const O = Number(j) || 0, B = Number(L) || 0, J = Number(N) || 0, T = Number(q) || 0; - if (!(O > 0 && B > 0 && J > 0 && T > 0)) return { w: 0, h: 0 }; - const D = O / B; - return !Number.isFinite(D) || D <= 0 ? { w: 0, h: 0 } : { w: T * D, h: T }; + const z = Number(N) || 0, B = Number(V) || 0, J = Number(k) || 0, P = Number(K) || 0; + if (!(z > 0 && B > 0 && J > 0 && P > 0)) return { w: 0, h: 0 }; + const H = z / B; + return !Number.isFinite(H) || H <= 0 ? { w: 0, h: 0 } : { w: P * H, h: P }; } catch { return { w: 0, h: 0 }; } - }, S = () => { + }, G = () => { try { - const j = r == null ? void 0 : r.mode; - return j === (l == null ? void 0 : l.AB_COMPARE) ? i || t || null : j === (l == null ? void 0 : l.SIDE_BY_SIDE) ? o || t || null : n || t || null; + const N = r == null ? void 0 : r.mode; + return N === (l == null ? void 0 : l.AB_COMPARE) ? i || t || null : N === (l == null ? void 0 : l.SIDE_BY_SIDE) ? o || t || null : n || t || null; } catch { return t || null; } - }, W = (j, L) => { + }, W = (N, V) => { try { - if (!j) return L || null; - const N = r == null ? void 0 : r.mode; - if (N === (l == null ? void 0 : l.SIDE_BY_SIDE) || N === (l == null ? void 0 : l.AB_COMPARE)) { - let q = j; - for (; q && q !== L && q.parentElement; ) { - if (q.parentElement === L) return q; - q = q.parentElement; + if (!N) return V || null; + const k = r == null ? void 0 : r.mode; + if (k === (l == null ? void 0 : l.SIDE_BY_SIDE) || k === (l == null ? void 0 : l.AB_COMPARE)) { + let K = N; + for (; K && K !== V && K.parentElement; ) { + if (K.parentElement === V) return K; + K = K.parentElement; } - return L || null; + return V || null; } - return L || t || null; + return V || t || null; } catch { - return L || t || null; + return V || t || null; } - }, y = (j, L, N, q, O) => { + }, y = (N, V, k, K, z) => { try { - const B = C(j, L, N, q); + const B = h(N, V, k, K); if (!(B.w > 0 && B.h > 0)) return !1; - const J = Math.max(ai.MIN, Math.min(ai.MAX, Number(O) || 1)), T = B.w * J, D = B.h * J; - return T > (Number(N) || 0) + 1 || D > (Number(q) || 0) + 1; + const J = Math.max(si.MIN, Math.min(si.MAX, Number(z) || 1)), P = B.w * J, H = B.h * J; + return P > (Number(k) || 0) + 1 || H > (Number(K) || 0) + 1; } catch { return !1; } - }, k = () => { + }, X = () => { try { - const j = I(); - if (!j) return null; - const { w: L, h: N } = p(j); - if (!(L > 0 && N > 0)) return null; - const q = M(); - if (!q) return null; - const O = C(L, N, q.width, q.height); - if (!(O.w > 0 && O.h > 0)) return null; - const B = L / O.w; - return !Number.isFinite(B) || B <= 0 ? null : Math.max(ai.MIN, Math.min(ai.MAX, B)); + const N = I(); + if (!N) return null; + const { w: V, h: k } = p(N); + if (!(V > 0 && k > 0)) return null; + const K = S(); + if (!K) return null; + const z = h(V, k, K.width, K.height); + if (!(z.w > 0 && z.h > 0)) return null; + const B = V / z.w; + return !Number.isFinite(B) || B <= 0 ? null : Math.max(si.MIN, Math.min(si.MAX, B)); } catch { return null; } - }, G = { + }, x = { active: !1, pointerId: null, startX: 0, startY: 0, startPanX: 0, startPanY: 0 - }, z = (j) => { - var J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $, _, le, se; - if (!e || e.style.display === "none" || Ac(j == null ? void 0 : j.target)) return; - const L = Number(r == null ? void 0 : r.zoom) || 1, N = (() => { + }, T = (N) => { + var J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U, Q, _, le, de; + if (!e || e.style.display === "none" || Wc(N == null ? void 0 : N.target)) return; + const V = Number(r == null ? void 0 : r.zoom) || 1, k = (() => { try { - return !!(ye != null && ye.VIEWER_ALLOW_PAN_AT_ZOOM_1); + return !!(fe != null && fe.VIEWER_ALLOW_PAN_AT_ZOOM_1); } catch { return !1; } })(); if (!(() => { try { - if (N) return !0; - const de = I(), { w: Ze, h: Fe } = p(de) || { w: 0, h: 0 }, xe = M(); - return !xe || !(Ze > 0 && Fe > 0) ? L > 1.01 : L > 1.01 || y(Ze, Fe, xe.width, xe.height, L); + if (k) return !0; + const se = I(), { w: ge, h: je } = p(se) || { w: 0, h: 0 }, Se = S(); + return !Se || !(ge > 0 && je > 0) ? V > 1.01 : V > 1.01 || y(ge, je, Se.width, Se.height, V); } catch { - return L > 1.01; + return V > 1.01; } })()) { try { - r._panHintAt = Date.now(), r._panHintX = (j == null ? void 0 : j.clientX) ?? null, r._panHintY = (j == null ? void 0 : j.clientY) ?? null; - } catch (de) { - (J = console.debug) == null || J.call(console, de); + r._panHintAt = Date.now(), r._panHintX = (N == null ? void 0 : N.clientX) ?? null, r._panHintY = (N == null ? void 0 : N.clientY) ?? null; + } catch (se) { + (J = console.debug) == null || J.call(console, se); } try { r._panHintTimer && clearTimeout(r._panHintTimer); - } catch (de) { - (T = console.debug) == null || T.call(console, de); + } catch (se) { + (P = console.debug) == null || P.call(console, se); } try { r._panHintTimer = setTimeout(() => { - var de; + var se; try { r._panHintAt = 0; - } catch (Ze) { - (de = console.debug) == null || de.call(console, Ze); + } catch (ge) { + (se = console.debug) == null || se.call(console, ge); } s(a); }, 950); - } catch (de) { - (D = console.debug) == null || D.call(console, de); + } catch (se) { + (H = console.debug) == null || H.call(console, se); } s(a); return; } - const O = j.button === 0, B = j.button === 1; - if (!(!O && !B)) { + const z = N.button === 0, B = N.button === 1; + if (!(!z && !B)) { try { - const de = j.target; - if (de && (de.tagName === "INPUT" || de.tagName === "TEXTAREA" || de.tagName === "SELECT" || de.isContentEditable)) + const se = N.target; + if (se && (se.tagName === "INPUT" || se.tagName === "TEXTAREA" || se.tagName === "SELECT" || se.isContentEditable)) return; - } catch (de) { - (Q = console.debug) == null || Q.call(console, de); + } catch (se) { + ($ = console.debug) == null || $.call(console, se); } try { - if ((K = (E = j == null ? void 0 : j.target) == null ? void 0 : E.closest) != null && K.call(E, ".mjr-video-controls") || (Y = (F = j == null ? void 0 : j.target) == null ? void 0 : F.closest) != null && Y.call(F, ".mjr-context-menu") || (P = (U = j == null ? void 0 : j.target) == null ? void 0 : U.closest) != null && P.call(U, ".mjr-ab-slider") || Ac(j == null ? void 0 : j.target)) return; - } catch (de) { - (ee = console.debug) == null || ee.call(console, de); + if ((oe = (E = N == null ? void 0 : N.target) == null ? void 0 : E.closest) != null && oe.call(E, ".mjr-video-controls") || (j = (M = N == null ? void 0 : N.target) == null ? void 0 : M.closest) != null && j.call(M, ".mjr-context-menu") || (D = (O = N == null ? void 0 : N.target) == null ? void 0 : O.closest) != null && D.call(O, ".mjr-ab-slider") || Wc(N == null ? void 0 : N.target)) return; + } catch (se) { + (q = console.debug) == null || q.call(console, se); } try { - if (!((oe = t == null ? void 0 : t.contains) != null && oe.call(t, j.target))) return; + if (!((ee = t == null ? void 0 : t.contains) != null && ee.call(t, N.target))) return; } catch { return; } - G.active = !0; + x.active = !0; try { r._userInteracted = !0; - } catch (de) { - (ce = console.debug) == null || ce.call(console, de); + } catch (se) { + (ce = console.debug) == null || ce.call(console, se); } - G.pointerId = j.pointerId; + x.pointerId = N.pointerId; try { - r._lastPointerX = j.clientX, r._lastPointerY = j.clientY; - } catch (de) { - (pe = console.debug) == null || pe.call(console, de); + r._lastPointerX = N.clientX, r._lastPointerY = N.clientY; + } catch (se) { + (ue = console.debug) == null || ue.call(console, se); } - G.startX = j.clientX, G.startY = j.clientY, G.startPanX = Number(r == null ? void 0 : r.panX) || 0, G.startPanY = Number(r == null ? void 0 : r.panY) || 0; + x.startX = N.clientX, x.startY = N.clientY, x.startPanX = Number(r == null ? void 0 : r.panX) || 0, x.startPanY = Number(r == null ? void 0 : r.panY) || 0; try { - j.preventDefault(), j.stopPropagation(), (H = j.stopImmediatePropagation) == null || H.call(j); - } catch (de) { - ($ = console.debug) == null || $.call(console, de); + N.preventDefault(), N.stopPropagation(), (U = N.stopImmediatePropagation) == null || U.call(N); + } catch (se) { + (Q = console.debug) == null || Q.call(console, se); } try { - (_ = t == null ? void 0 : t.setPointerCapture) == null || _.call(t, j.pointerId); - } catch (de) { - (le = console.debug) == null || le.call(console, de); + (_ = t == null ? void 0 : t.setPointerCapture) == null || _.call(t, N.pointerId); + } catch (se) { + (le = console.debug) == null || le.call(console, se); } try { t && (t.style.cursor = "grabbing"); - } catch (de) { - (se = console.debug) == null || se.call(console, de); + } catch (se) { + (de = console.debug) == null || de.call(console, se); } } - }, x = (j) => { - var B, J, T, D, Q, E; - if (!G.active) return; + }, v = (N) => { + var B, J, P, H, $, E; + if (!x.active) return; try { - if ((J = (B = j == null ? void 0 : j.target) == null ? void 0 : B.closest) != null && J.call(B, ".mjr-video-controls")) return; - } catch (K) { - (T = console.debug) == null || T.call(console, K); + if ((J = (B = N == null ? void 0 : N.target) == null ? void 0 : B.closest) != null && J.call(B, ".mjr-video-controls")) return; + } catch (oe) { + (P = console.debug) == null || P.call(console, oe); } try { - j.preventDefault(), j.stopPropagation(), (D = j.stopImmediatePropagation) == null || D.call(j); - } catch (K) { - (Q = console.debug) == null || Q.call(console, K); + N.preventDefault(), N.stopPropagation(), (H = N.stopImmediatePropagation) == null || H.call(N); + } catch (oe) { + ($ = console.debug) == null || $.call(console, oe); } - const L = (Number(j.clientX) || 0) - G.startX, N = (Number(j.clientY) || 0) - G.startY, q = Math.max(ai.MIN, Math.min(ai.MAX, Number(r == null ? void 0 : r.zoom) || 1)), O = Math.max(1, q); - r.panX = G.startPanX + L * O, r.panY = G.startPanY + N * O; + const V = (Number(N.clientX) || 0) - x.startX, k = (Number(N.clientY) || 0) - x.startY, K = Math.max(si.MIN, Math.min(si.MAX, Number(r == null ? void 0 : r.zoom) || 1)), z = Math.max(1, K); + r.panX = x.startPanX + V * z, r.panY = x.startPanY + k * z; try { - r._lastPointerX = j.clientX, r._lastPointerY = j.clientY; - } catch (K) { - (E = console.debug) == null || E.call(console, K); + r._lastPointerX = N.clientX, r._lastPointerY = N.clientY; + } catch (oe) { + (E = console.debug) == null || E.call(console, oe); } b(), f(); - }, w = (j) => { - var L, N; - if (G.active) { - G.active = !1, G.pointerId = null; + }, w = (N) => { + var V, k; + if (x.active) { + x.active = !1, x.pointerId = null; try { - (L = t == null ? void 0 : t.releasePointerCapture) == null || L.call(t, j.pointerId); - } catch (q) { - (N = console.debug) == null || N.call(console, q); + (V = t == null ? void 0 : t.releasePointerCapture) == null || V.call(t, N.pointerId); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } f(); } - }, X = (j) => { - var N, q, O, B, J; + }, R = (N) => { + var k, K, z, B, J; if (!e || e.style.display === "none") return; try { - if (!((N = t == null ? void 0 : t.contains) != null && N.call(t, j.target))) return; - } catch (T) { - (q = console.debug) == null || q.call(console, T); + if (!((k = t == null ? void 0 : t.contains) != null && k.call(t, N.target))) return; + } catch (P) { + (K = console.debug) == null || K.call(console, P); } try { - if (Ac(j == null ? void 0 : j.target)) return; - } catch (T) { - (O = console.debug) == null || O.call(console, T); + if (Wc(N == null ? void 0 : N.target)) return; + } catch (P) { + (z = console.debug) == null || z.call(console, P); } try { - j.preventDefault(), j.stopPropagation(), (B = j.stopImmediatePropagation) == null || B.call(j); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + N.preventDefault(), N.stopPropagation(), (B = N.stopImmediatePropagation) == null || B.call(N); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } - Math.abs((Number(r == null ? void 0 : r.targetZoom) || 1) - 1) < 0.01 ? v(Math.min(8, (Number(r == null ? void 0 : r.targetZoom) || 1) * 4), { - clientX: j.clientX, - clientY: j.clientY - }) : v(1, { clientX: j.clientX, clientY: j.clientY }); + Math.abs((Number(r == null ? void 0 : r.targetZoom) || 1) - 1) < 0.01 ? L(Math.min(8, (Number(r == null ? void 0 : r.targetZoom) || 1) * 4), { + clientX: N.clientX, + clientY: N.clientY + }) : L(1, { clientX: N.clientX, clientY: N.clientY }); }; try { t && !t._mjrPanBound && (u.push( - d(t, "pointerdown", z, { + d(t, "pointerdown", T, { passive: !1, capture: !0 }) ), u.push( - d(t, "pointermove", x, { + d(t, "pointermove", v, { passive: !1, capture: !0 }) @@ -17197,39 +17212,39 @@ function kA({ capture: !0 }) ), t._mjrPanBound = !0); - } catch (j) { - (V = console.debug) == null || V.call(console, j); + } catch (N) { + (Y = console.debug) == null || Y.call(console, N); } try { t && !t._mjrDblClickResetBound && (u.push( - d(t, "dblclick", X, { + d(t, "dblclick", R, { passive: !1, capture: !0 }) ), t._mjrDblClickResetBound = !0); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } return { getPrimaryMedia: I, getMediaNaturalSize: p, - getViewportRect: M, - updateMediaNaturalSize: Z, - attachMediaLoadHandlers: A, + getViewportRect: S, + updateMediaNaturalSize: A, + attachMediaLoadHandlers: C, clampPanToBounds: g, - mediaTransform: h, + mediaTransform: Z, applyTransform: b, - setZoom: v, - computeOneToOneZoom: k, + setZoom: L, + computeOneToOneZoom: X, updatePanCursor: f, dispose: () => { s(() => { - G.active = !1, G.pointerId = null; + x.active = !1, x.pointerId = null; }); } }; } -const XA = ` +const FA = ` attribute vec2 a_position; varying vec2 v_uv; void main() { @@ -17239,9 +17254,9 @@ void main() { v_uv = a_position * 0.5 + 0.5; // In WebGL, textures are usually flipped relative to Image/Video elements if not handled. // We'll flip Y in fragment shader or here. - v_uv.y = 1.0 - v_uv.y; + v_uv.y = 1.0 - v_uv.y; } -`, NA = ` +`, OA = ` precision mediump float; varying vec2 v_uv; uniform sampler2D u_image; @@ -17269,7 +17284,7 @@ void main() { isZebra = true; // Stripe pattern: (x + y) % 16 < 8 // gl_FragCoord is in window pixels - float stripe = mod(gl_FragCoord.x + gl_FragCoord.y, 32.0); + float stripe = mod(gl_FragCoord.x + gl_FragCoord.y, 32.0); if (stripe < 16.0) { gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); // Black } else { @@ -17292,11 +17307,11 @@ void main() { } } `; -function Vu(e, t, n) { +function Xu(e, t, n) { const i = e.createShader(t); return e.shaderSource(i, n), e.compileShader(i), e.getShaderParameter(i, e.COMPILE_STATUS) ? i : (console.warn("WebGL Shader Error:", e.getShaderInfoLog(i)), e.deleteShader(i), null); } -function RA(e, t, n) { +function zA(e, t, n) { var o; const i = e.createProgram(); if (e.attachShader(i, t), e.attachShader(i, n), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS)) { @@ -17310,7 +17325,7 @@ function RA(e, t, n) { } return i; } -function FA() { +function JA() { try { const e = document.createElement("canvas"); return !!(window.WebGLRenderingContext && (e.getContext("webgl") || e.getContext("experimental-webgl"))); @@ -17318,7 +17333,7 @@ function FA() { return !1; } } -function OA(e) { +function TA(e) { const { canvas: t, videoEl: n, getGradeParams: i } = e; let o = null, r = null, l = 4096, a = !1; const c = { @@ -17327,73 +17342,73 @@ function OA(e) { }; function s() { var f, b; - let h = null; + let Z = null; try { - h = t.getContext("webgl", { alpha: !1, preserveDrawingBuffer: !0 }); - } catch (v) { - (f = console.debug) == null || f.call(console, v); + Z = t.getContext("webgl", { alpha: !1, preserveDrawingBuffer: !0 }); + } catch (L) { + (f = console.debug) == null || f.call(console, L); } - if (!h) + if (!Z) try { - h = t.getContext("experimental-webgl", { + Z = t.getContext("experimental-webgl", { alpha: !1, preserveDrawingBuffer: !0 }); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } - return h && (l = h.getParameter(h.MAX_TEXTURE_SIZE) || 4096), h; + return Z && (l = Z.getParameter(Z.MAX_TEXTURE_SIZE) || 4096), Z; } - const d = (h = "") => { + const d = (Z = "") => { if (!o) return; const f = o.getError(); - f !== o.NO_ERROR && console.error(`WebGL Error [${h}]: ${f}`); + f !== o.NO_ERROR && console.error(`WebGL Error [${Z}]: ${f}`); }, u = () => { - var v, C, S, W, y, k; + var L, h, G, W, y, X; if (!o || !r) return; - const { positionBuffer: h, texture: f, program: b } = r; + const { positionBuffer: Z, texture: f, program: b } = r; try { o.bindTexture(o.TEXTURE_2D, null); - } catch (G) { - (v = console.debug) == null || v.call(console, G); + } catch (x) { + (L = console.debug) == null || L.call(console, x); } try { o.bindBuffer(o.ARRAY_BUFFER, null); - } catch (G) { - (C = console.debug) == null || C.call(console, G); + } catch (x) { + (h = console.debug) == null || h.call(console, x); } try { o.useProgram(null); - } catch (G) { - (S = console.debug) == null || S.call(console, G); + } catch (x) { + (G = console.debug) == null || G.call(console, x); } try { o.deleteTexture(f); - } catch (G) { - (W = console.debug) == null || W.call(console, G); + } catch (x) { + (W = console.debug) == null || W.call(console, x); } try { - o.deleteBuffer(h); - } catch (G) { - (y = console.debug) == null || y.call(console, G); + o.deleteBuffer(Z); + } catch (x) { + (y = console.debug) == null || y.call(console, x); } try { o.deleteProgram(b); - } catch (G) { - (k = console.debug) == null || k.call(console, G); + } catch (x) { + (X = console.debug) == null || X.call(console, x); } r = null; }, I = () => { if (!o) return null; u(); - const h = Vu(o, o.VERTEX_SHADER, XA), f = Vu(o, o.FRAGMENT_SHADER, NA); - if (!h || !f) - return h && o.deleteShader(h), f && o.deleteShader(f), null; - const b = RA(o, h, f); - if (o.deleteShader(h), o.deleteShader(f), !b) + const Z = Xu(o, o.VERTEX_SHADER, FA), f = Xu(o, o.FRAGMENT_SHADER, OA); + if (!Z || !f) + return Z && o.deleteShader(Z), f && o.deleteShader(f), null; + const b = zA(o, Z, f); + if (o.deleteShader(Z), o.deleteShader(f), !b) return null; d("setupResources:createProgram"); - const v = { + const L = { position: o.getAttribLocation(b, "a_position"), u_image: o.getUniformLocation(b, "u_image"), u_exposure: o.getUniformLocation(b, "u_exposure_scale"), @@ -17402,60 +17417,60 @@ function OA(e) { u_analysis: o.getUniformLocation(b, "u_analysis"), u_thresh: o.getUniformLocation(b, "u_zebra_threshold"), u_res: o.getUniformLocation(b, "u_resolution") - }, C = o.createBuffer(); - o.bindBuffer(o.ARRAY_BUFFER, C), o.bufferData( + }, h = o.createBuffer(); + o.bindBuffer(o.ARRAY_BUFFER, h), o.bufferData( o.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1]), o.STATIC_DRAW ), d("setupResources:bufferData"); - const S = o.createTexture(); - return o.bindTexture(o.TEXTURE_2D, S), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_S, o.CLAMP_TO_EDGE), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_T, o.CLAMP_TO_EDGE), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MIN_FILTER, o.LINEAR), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MAG_FILTER, o.LINEAR), d("setupResources:texSetup"), { program: b, loc: v, positionBuffer: C, texture: S }; - }, p = () => a || c._destroyed || (o || (o = s()), !o) ? !1 : (r || (r = I()), !!r), M = () => { + const G = o.createTexture(); + return o.bindTexture(o.TEXTURE_2D, G), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_S, o.CLAMP_TO_EDGE), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_T, o.CLAMP_TO_EDGE), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MIN_FILTER, o.LINEAR), o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MAG_FILTER, o.LINEAR), d("setupResources:texSetup"), { program: b, loc: L, positionBuffer: h, texture: G }; + }, p = () => a || c._destroyed || (o || (o = s()), !o) ? !1 : (r || (r = I()), !!r), S = () => { if (!a && o && (n != null && n.videoWidth)) { - let h = n.videoWidth, f = n.videoHeight; + let Z = n.videoWidth, f = n.videoHeight; const b = l || o.getParameter(o.MAX_TEXTURE_SIZE) || 4096; - if (h > b || f > b) { - const v = Math.min(b / h, b / f); - h = Math.floor(h * v), f = Math.floor(f * v); + if (Z > b || f > b) { + const L = Math.min(b / Z, b / f); + Z = Math.floor(Z * L), f = Math.floor(f * L); } - return (t.width !== h || t.height !== f) && (t.width = h, t.height = f, o.viewport(0, 0, h, f)), !0; + return (t.width !== Z || t.height !== f) && (t.width = Z, t.height = f, o.viewport(0, 0, Z, f)), !0; } return !1; - }, Z = (h) => { - if (!a && p() && M()) { - const { program: f, loc: b, positionBuffer: v, texture: C } = r; - o.useProgram(f), o.activeTexture(o.TEXTURE0), o.bindTexture(o.TEXTURE_2D, C); + }, A = (Z) => { + if (!a && p() && S()) { + const { program: f, loc: b, positionBuffer: L, texture: h } = r; + o.useProgram(f), o.activeTexture(o.TEXTURE0), o.bindTexture(o.TEXTURE_2D, h); try { o.texImage2D(o.TEXTURE_2D, 0, o.RGBA, o.RGBA, o.UNSIGNED_BYTE, n); - } catch (z) { - console.warn("WebGL texImage2D failed", z), d("texImage2D"); + } catch (T) { + console.warn("WebGL texImage2D failed", T), d("texImage2D"); return; } d("texImage2D"), o.uniform1i(b.u_image, 0); - const S = h || (i ? i() : {}), W = Number(S.exposureEV) || 0, y = Math.max(0.1, Math.min(3, Number(S.gamma) || 1)), k = S.analysisMode === "zebra" ? 1 : 0; - let G = 0; - S.channel === "r" && (G = 1), S.channel === "g" && (G = 2), S.channel === "b" && (G = 3), o.uniform1f(b.u_exposure, Math.pow(2, W)), o.uniform1f(b.u_gamma, 1 / y), o.uniform1i(b.u_channel, G), o.uniform1i(b.u_analysis, k), o.uniform1f(b.u_thresh, S.zebraThreshold ?? 0.95), o.uniform2f(b.u_res, t.width, t.height), o.enableVertexAttribArray(b.position), o.bindBuffer(o.ARRAY_BUFFER, v), o.vertexAttribPointer(b.position, 2, o.FLOAT, !1, 0, 0), o.drawArrays(o.TRIANGLES, 0, 6), d("drawArrays"); + const G = Z || (i ? i() : {}), W = Number(G.exposureEV) || 0, y = Math.max(0.1, Math.min(3, Number(G.gamma) || 1)), X = G.analysisMode === "zebra" ? 1 : 0; + let x = 0; + G.channel === "r" && (x = 1), G.channel === "g" && (x = 2), G.channel === "b" && (x = 3), o.uniform1f(b.u_exposure, Math.pow(2, W)), o.uniform1f(b.u_gamma, 1 / y), o.uniform1i(b.u_channel, x), o.uniform1i(b.u_analysis, X), o.uniform1f(b.u_thresh, G.zebraThreshold ?? 0.95), o.uniform2f(b.u_res, t.width, t.height), o.enableVertexAttribArray(b.position), o.bindBuffer(o.ARRAY_BUFFER, L), o.vertexAttribPointer(b.position, 2, o.FLOAT, !1, 0, 0), o.drawArrays(o.TRIANGLES, 0, 6), d("drawArrays"); } - }, A = (h) => { - h.preventDefault(), a = !0, u(); + }, C = (Z) => { + Z.preventDefault(), a = !0, u(); }, g = () => { o = s(), a = !1, r = null, p(); }; - return t.addEventListener("webglcontextlost", A), t.addEventListener("webglcontextrestored", g), { - update: Z, + return t.addEventListener("webglcontextlost", C), t.addEventListener("webglcontextrestored", g), { + update: A, destroy: () => { - var h, f, b; + var Z, f, b; if (c._destroyed = !0, c.ready = !1, u(), o) try { - (f = (h = o.getExtension("WEBGL_lose_context")) == null ? void 0 : h.loseContext) == null || f.call(h); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + (f = (Z = o.getExtension("WEBGL_lose_context")) == null ? void 0 : Z.loseContext) == null || f.call(Z); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } - t.removeEventListener("webglcontextlost", A), t.removeEventListener("webglcontextrestored", g); + t.removeEventListener("webglcontextlost", C), t.removeEventListener("webglcontextrestored", g); } }; } -function ku({ +function Nu({ canvas: e, videoEl: t, disableWebGL: n, @@ -17469,36 +17484,36 @@ function ku({ safeCall: d, onReady: u } = {}) { - var N, q; - const I = i == null ? !!(ye != null && ye.VIEWER_PAUSE_DURING_EXECUTION) : !!i; + var k, K; + const I = i == null ? !!(fe != null && fe.VIEWER_PAUSE_DURING_EXECUTION) : !!i; let p = null; - if (!n && FA()) + if (!n && JA()) try { - p = OA({ + p = TA({ canvas: e, videoEl: t, getGradeParams: o, isDefaultGrade: r, maxProcPixelsVideo: a }); - } catch (O) { - console.warn("WebGL Init failed, falling back to 2D", O), p = null; + } catch (z) { + console.warn("WebGL Init failed, falling back to 2D", z), p = null; } - const M = p ? null : (() => { + const S = p ? null : (() => { try { return e.getContext("2d", { willReadFrequently: !0, alpha: !1 }); } catch { return null; } - })(), Z = document.createElement("canvas"), A = (() => { + })(), A = document.createElement("canvas"), C = (() => { try { - return Z.getContext("2d", { willReadFrequently: !0, alpha: !1 }); + return A.getContext("2d", { willReadFrequently: !0, alpha: !1 }); } catch { return null; } })(), g = document.createElement("canvas"); g.width = 1, g.height = 1; - const h = (() => { + const Z = (() => { try { return g.getContext("2d", { willReadFrequently: !0, alpha: !1 }); } catch { @@ -17525,140 +17540,140 @@ function ku({ _lastFrameTime: -1, _lastHeavySig: "", _runtimePaused: !1 - }, b = [], v = (O, B) => $I(a, O, B), C = () => { + }, b = [], L = (z, B) => eb(a, z, B), h = () => { try { - const O = Number(t == null ? void 0 : t.videoWidth) || 0, B = Number(t == null ? void 0 : t.videoHeight) || 0; - if (!(O > 0 && B > 0)) return !1; - f.naturalW = O, f.naturalH = B, f.scale = v(O, B); - const J = Math.max(1, Math.round(O * f.scale)), T = Math.max(1, Math.round(B * f.scale)); - return Z.width !== J && (Z.width = J), Z.height !== T && (Z.height = T), p || (e.width !== J && (e.width = J), e.height !== T && (e.height = T)), e._mjrNaturalW = O, e._mjrNaturalH = B, e._mjrPixelScale = f.scale, f.ready = !0, !0; + const z = Number(t == null ? void 0 : t.videoWidth) || 0, B = Number(t == null ? void 0 : t.videoHeight) || 0; + if (!(z > 0 && B > 0)) return !1; + f.naturalW = z, f.naturalH = B, f.scale = L(z, B); + const J = Math.max(1, Math.round(z * f.scale)), P = Math.max(1, Math.round(B * f.scale)); + return A.width !== J && (A.width = J), A.height !== P && (A.height = P), p || (e.width !== J && (e.width = J), e.height !== P && (e.height = P)), e._mjrNaturalW = z, e._mjrNaturalH = B, e._mjrPixelScale = f.scale, f.ready = !0, !0; } catch { return !1; } - }, S = () => { - if (!A || !f.ready) return !1; + }, G = () => { + if (!C || !f.ready) return !1; try { - return A.drawImage(t, 0, 0, Z.width, Z.height), !0; + return C.drawImage(t, 0, 0, A.width, A.height), !0; } catch { return !1; } }, W = () => { - var H, $, _; + var U, Q, _; if (!f.ready) return; - const O = f.lastParams || (o == null ? void 0 : o()) || {}; + const z = f.lastParams || (o == null ? void 0 : o()) || {}; if (p) { - p.update(O); + p.update(z); return; } - if (!M || !A) return; - if (r != null && r(O)) { + if (!S || !C) return; + if (r != null && r(z)) { try { - M.clearRect(0, 0, e.width, e.height), M.drawImage(t, 0, 0, e.width, e.height); + S.clearRect(0, 0, e.width, e.height), S.drawImage(t, 0, 0, e.width, e.height); } catch (le) { - (H = console.debug) == null || H.call(console, le); + (U = console.debug) == null || U.call(console, le); } return; } - if (!S()) return; + if (!G()) return; let B; try { - B = A.getImageData(0, 0, Z.width, Z.height); + B = C.getImageData(0, 0, A.width, A.height); } catch { try { - M.clearRect(0, 0, e.width, e.height), M.drawImage(t, 0, 0, e.width, e.height); + S.clearRect(0, 0, e.width, e.height), S.drawImage(t, 0, 0, e.width, e.height); } catch (le) { - ($ = console.debug) == null || $.call(console, le); + (Q = console.debug) == null || Q.call(console, le); } return; } - const J = Z.width, T = Z.height; - let D = f._buffer; - if (!D || D.width !== J || D.height !== T) + const J = A.width, P = A.height; + let H = f._buffer; + if (!H || H.width !== J || H.height !== P) try { - D = M.createImageData(J, T), f._buffer = D; + H = S.createImageData(J, P), f._buffer = H; } catch { try { - D = new ImageData(J, T), f._buffer = D; + H = new ImageData(J, P), f._buffer = H; } catch { return; } } - if (!D) return; - const Q = Number(O.exposureEV) || 0, K = 1 / Math.max(0.1, Math.min(3, Number(O.gamma) || 1)), F = String(O.channel || "rgb"), Y = String(O.analysisMode || "none"), U = In(O.zebraThreshold ?? 0.95), P = Math.pow(2, Q), ee = B.data, oe = D.data, ce = Y !== "zebra" && F === "rgb"; - let pe = null; + if (!H) return; + const $ = Number(z.exposureEV) || 0, oe = 1 / Math.max(0.1, Math.min(3, Number(z.gamma) || 1)), M = String(z.channel || "rgb"), j = String(z.analysisMode || "none"), O = In(z.zebraThreshold ?? 0.95), D = Math.pow(2, $), q = B.data, ee = H.data, ce = j !== "zebra" && M === "rgb"; + let ue = null; if (ce) { - const le = `${P.toFixed(6)}|${K.toFixed(6)}`; + const le = `${D.toFixed(6)}|${oe.toFixed(6)}`; if (!f._lut || f._lutKey !== le) { - const se = new Uint8ClampedArray(256); - for (let de = 0; de < 256; de += 1) { - const Ze = de / 255; - se[de] = Math.round(Math.pow(In(Ze * P), K) * 255); + const de = new Uint8ClampedArray(256); + for (let se = 0; se < 256; se += 1) { + const ge = se / 255; + de[se] = Math.round(Math.pow(In(ge * D), oe) * 255); } - f._lut = se, f._lutKey = le; + f._lut = de, f._lutKey = le; } - pe = f._lut; + ue = f._lut; } - if (pe) - for (let le = 0; le < oe.length; le += 4) - oe[le] = pe[ee[le] ?? 0], oe[le + 1] = pe[ee[le + 1] ?? 0], oe[le + 2] = pe[ee[le + 2] ?? 0], oe[le + 3] = 255; + if (ue) + for (let le = 0; le < ee.length; le += 4) + ee[le] = ue[q[le] ?? 0], ee[le + 1] = ue[q[le + 1] ?? 0], ee[le + 2] = ue[q[le + 2] ?? 0], ee[le + 3] = 255; else - for (let le = 0; le < oe.length; le += 4) { - const se = (ee[le] ?? 0) / 255, de = (ee[le + 1] ?? 0) / 255, Ze = (ee[le + 2] ?? 0) / 255, Fe = (ee[le + 3] ?? 255) / 255; - let xe = se * P, ze = de * P, We = Ze * P; - const De = 0.2126 * xe + 0.7152 * ze + 0.0722 * We; - if (Y === "zebra") - if (In(De) >= U) { - const Qe = (Math.floor(le / 4) % J + Math.floor(le / 4 / J) & 7) < 3; - xe = Qe ? 1 : 0, ze = Qe ? 1 : 0, We = Qe ? 1 : 0; + for (let le = 0; le < ee.length; le += 4) { + const de = (q[le] ?? 0) / 255, se = (q[le + 1] ?? 0) / 255, ge = (q[le + 2] ?? 0) / 255, je = (q[le + 3] ?? 255) / 255; + let Se = de * D, ke = se * D, we = ge * D; + const Je = 0.2126 * Se + 0.7152 * ke + 0.0722 * we; + if (j === "zebra") + if (In(Je) >= O) { + const qe = (Math.floor(le / 4) % J + Math.floor(le / 4 / J) & 7) < 3; + Se = qe ? 1 : 0, ke = qe ? 1 : 0, we = qe ? 1 : 0; } else - xe = Math.pow(In(xe), K), ze = Math.pow(In(ze), K), We = Math.pow(In(We), K); + Se = Math.pow(In(Se), oe), ke = Math.pow(In(ke), oe), we = Math.pow(In(we), oe); else - xe = Math.pow(In(xe), K), ze = Math.pow(In(ze), K), We = Math.pow(In(We), K); - if (F === "r") - ze = xe, We = xe; - else if (F === "g") - xe = ze, We = ze; - else if (F === "b") - xe = We, ze = We; - else if (F === "a") - xe = Fe, ze = Fe, We = Fe; - else if (F === "l") { - const Pe = In(De), Qe = Math.pow(Pe, K); - xe = Qe, ze = Qe, We = Qe; + Se = Math.pow(In(Se), oe), ke = Math.pow(In(ke), oe), we = Math.pow(In(we), oe); + if (M === "r") + ke = Se, we = Se; + else if (M === "g") + Se = ke, we = ke; + else if (M === "b") + Se = we, ke = we; + else if (M === "a") + Se = je, ke = je, we = je; + else if (M === "l") { + const $e = In(Je), qe = Math.pow($e, oe); + Se = qe, ke = qe, we = qe; } - oe[le] = Math.round(In(xe) * 255), oe[le + 1] = Math.round(In(ze) * 255), oe[le + 2] = Math.round(In(We) * 255), oe[le + 3] = 255; + ee[le] = Math.round(In(Se) * 255), ee[le + 1] = Math.round(In(ke) * 255), ee[le + 2] = Math.round(In(we) * 255), ee[le + 3] = 255; } try { - M.putImageData(D, 0, 0); + S.putImageData(H, 0, 0); } catch (le) { (_ = console.debug) == null || _.call(console, le); } }, y = () => { - var O; - if (!f._destroyed && e != null && e.isConnected && (f.ready || C(), !!f.ready)) { + var z; + if (!f._destroyed && e != null && e.isConnected && (f.ready || h(), !!f.ready)) { try { const B = f.lastParams || (o == null ? void 0 : o()) || {}; if (!(r != null && r(B))) { - const T = Number(t == null ? void 0 : t.currentTime) || 0, D = `${Number(B.exposureEV) || 0}|${Number(B.gamma) || 1}|${String(B.channel || "rgb")}|${String(B.analysisMode || "none")}|${Number(B.zebraThreshold ?? 0.95)}`; - if (Math.abs(T - (Number(f._lastFrameTime) || 0)) < 1e-6 && D === String(f._lastHeavySig || "")) + const P = Number(t == null ? void 0 : t.currentTime) || 0, H = `${Number(B.exposureEV) || 0}|${Number(B.gamma) || 1}|${String(B.channel || "rgb")}|${String(B.analysisMode || "none")}|${Number(B.zebraThreshold ?? 0.95)}`; + if (Math.abs(P - (Number(f._lastFrameTime) || 0)) < 1e-6 && H === String(f._lastHeavySig || "")) return; - f._lastFrameTime = T, f._lastHeavySig = D; + f._lastFrameTime = P, f._lastHeavySig = H; } } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } W(); } - }, k = () => { - var O; + }, X = () => { + var z; if (!f._destroyed) { try { if (e != null && e.isConnected) { - f._connectRAF = null, f._connectTries = 0, z(); + f._connectRAF = null, f._connectTries = 0, T(); return; } } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } if (f._connectRAF == null) { if (f._connectTries = (Number(f._connectTries) || 0) + 1, f._connectTries > 20) { @@ -17667,51 +17682,51 @@ function ku({ } try { f._connectRAF = requestAnimationFrame(() => { - f._connectRAF = null, k(); + f._connectRAF = null, X(); }); } catch { f._connectRAF = null; } } } - }, G = () => { + }, x = () => { try { - const O = Number(c); - return !Number.isFinite(O) || O <= 0 ? 0 : Math.max(0, Math.floor(1e3 / Math.max(1, O))); + const z = Number(c); + return !Number.isFinite(z) || z <= 0 ? 0 : Math.max(0, Math.floor(1e3 / Math.max(1, z))); } catch { return 0; } - }, z = () => { - var T, D; + }, T = () => { + var P, H; if (f._destroyed || f._runtimePaused || f._rendering) return; if (!(e != null && e.isConnected)) { - k(); + X(); return; } - const O = f.lastParams || (o == null ? void 0 : o()) || {}, B = !(r != null && r(O)), J = B && !(t != null && t.paused) ? G() : 0; + const z = f.lastParams || (o == null ? void 0 : o()) || {}, B = !(r != null && r(z)), J = B && !(t != null && t.paused) ? x() : 0; if (J > 0) { - const Q = Date.now(), E = (Number(f._lastHeavyRenderAt) || 0) + J; - if (Q < E) { + const $ = Date.now(), E = (Number(f._lastHeavyRenderAt) || 0) + J; + if ($ < E) { try { f._throttleTimer && clearTimeout(f._throttleTimer); - } catch (K) { - (T = console.debug) == null || T.call(console, K); + } catch (oe) { + (P = console.debug) == null || P.call(console, oe); } try { f._throttleTimer = setTimeout( () => { - var K; + var oe; try { f._throttleTimer = null; - } catch (F) { - (K = console.debug) == null || K.call(console, F); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } - z(); + T(); }, - Math.min(250, Math.max(0, E - Q)) + Math.min(250, Math.max(0, E - $)) ); - } catch (K) { - (D = console.debug) == null || D.call(console, K); + } catch (oe) { + (H = console.debug) == null || H.call(console, oe); } return; } @@ -17719,19 +17734,19 @@ function ku({ f._rendering = !0; try { f._rafIdSchedule = requestAnimationFrame(() => { - var Q; + var $; f._rafIdSchedule = null, f._rendering = !1, y(); try { B && (f._lastHeavyRenderAt = Date.now()); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } }); } catch { f._rendering = !1; } - }, x = () => { - var B, J, T, D, Q; + }, v = () => { + var B, J, P, H, $; if (f._destroyed || f._runtimePaused) return; try { f._rvfc != null && typeof (t == null ? void 0 : t.cancelVideoFrameCallback) == "function" && (t.cancelVideoFrameCallback(f._rvfc), f._rvfc = null); @@ -17746,217 +17761,217 @@ function ku({ try { if (typeof (t == null ? void 0 : t.requestVideoFrameCallback) == "function") { const E = () => { - var K; - if (!f._destroyed && e != null && e.isConnected && (z(), !t.paused)) + var oe; + if (!f._destroyed && e != null && e.isConnected && (T(), !t.paused)) try { f._rvfc = t.requestVideoFrameCallback(E); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } }; try { f._rvfc = t.requestVideoFrameCallback(E); - } catch (K) { - (T = console.debug) == null || T.call(console, K); + } catch (oe) { + (P = console.debug) == null || P.call(console, oe); } return; } } catch (E) { - (D = console.debug) == null || D.call(console, E); + (H = console.debug) == null || H.call(console, E); } - const O = () => { + const z = () => { var E; - if (!f._destroyed && e != null && e.isConnected && (z(), !t.paused)) + if (!f._destroyed && e != null && e.isConnected && (T(), !t.paused)) try { - f._rafIdLoop = requestAnimationFrame(O); - } catch (K) { - (E = console.debug) == null || E.call(console, K); + f._rafIdLoop = requestAnimationFrame(z); + } catch (oe) { + (E = console.debug) == null || E.call(console, oe); } }; try { - f._rafIdLoop = requestAnimationFrame(O); + f._rafIdLoop = requestAnimationFrame(z); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } - }, w = (O) => { - f.lastParams = O || f.lastParams || (o == null ? void 0 : o()), z(); - }, X = () => { - var O, B, J, T; + }, w = (z) => { + f.lastParams = z || f.lastParams || (o == null ? void 0 : o()), T(); + }, R = () => { + var z, B, J, P; f._runtimePaused = !0; try { f._throttleTimer && clearTimeout(f._throttleTimer); - } catch (D) { - (O = console.debug) == null || O.call(console, D); + } catch (H) { + (z = console.debug) == null || z.call(console, H); } f._throttleTimer = null; try { f._rvfc != null && typeof (t == null ? void 0 : t.cancelVideoFrameCallback) == "function" && t.cancelVideoFrameCallback(f._rvfc); - } catch (D) { - (B = console.debug) == null || B.call(console, D); + } catch (H) { + (B = console.debug) == null || B.call(console, H); } f._rvfc = null; try { f._rafIdLoop != null && cancelAnimationFrame(f._rafIdLoop); - } catch (D) { - (J = console.debug) == null || J.call(console, D); + } catch (H) { + (J = console.debug) == null || J.call(console, H); } f._rafIdLoop = null; try { f._rafIdSchedule != null && cancelAnimationFrame(f._rafIdSchedule); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } f._rafIdSchedule = null, f._rendering = !1; - }, V = () => { + }, Y = () => { if (f._runtimePaused = !1, t != null && t.paused) { - z(); + T(); return; } - x(), z(); - }, R = (O, B) => { - var J, T; + v(), T(); + }, F = (z, B) => { + var J, P; try { - if (f.ready || C(), !f.ready) return null; - S(); - const D = f.scale || 1, Q = Math.max( + if (f.ready || h(), !f.ready) return null; + G(); + const H = f.scale || 1, $ = Math.max( 0, - Math.min(Z.width - 1, Math.floor((Number(O) || 0) * D)) + Math.min(A.width - 1, Math.floor((Number(z) || 0) * H)) ), E = Math.max( 0, - Math.min(Z.height - 1, Math.floor((Number(B) || 0) * D)) + Math.min(A.height - 1, Math.floor((Number(B) || 0) * H)) ); - if (!h) return null; - h.clearRect(0, 0, 1, 1), h.drawImage(Z, Q, E, 1, 1, 0, 0, 1, 1); - const K = (J = h.getImageData(0, 0, 1, 1)) == null ? void 0 : J.data; - if (!K || K.length < 4) return null; - const F = K[0] ?? 0, Y = K[1] ?? 0, U = K[2] ?? 0, P = K[3] ?? 255, ee = [F / 255, Y / 255, U / 255, P / 255], oe = Number((T = f.lastParams) == null ? void 0 : T.exposureEV) || 0, ce = Math.pow(2, oe), pe = [ - ee[0] * ce, - ee[1] * ce, - ee[2] * ce, - ee[3] + if (!Z) return null; + Z.clearRect(0, 0, 1, 1), Z.drawImage(A, $, E, 1, 1, 0, 0, 1, 1); + const oe = (J = Z.getImageData(0, 0, 1, 1)) == null ? void 0 : J.data; + if (!oe || oe.length < 4) return null; + const M = oe[0] ?? 0, j = oe[1] ?? 0, O = oe[2] ?? 0, D = oe[3] ?? 255, q = [M / 255, j / 255, O / 255, D / 255], ee = Number((P = f.lastParams) == null ? void 0 : P.exposureEV) || 0, ce = Math.pow(2, ee), ue = [ + q[0] * ce, + q[1] * ce, + q[2] * ce, + q[3] ]; - return { r: F, g: Y, b: U, a: P, raw: ee, lin: pe, scale: f.scale }; + return { r: M, g: j, b: O, a: D, raw: q, lin: ue, scale: f.scale }; } catch { return null; } - }, j = () => { - var O; - C(), z(); + }, N = () => { + var z; + h(), T(); try { u == null || u({ naturalW: f.naturalW, naturalH: f.naturalH, pixelScale: f.scale }); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } - }, L = (O) => { + }, V = (z) => { var J; if (!I) return; - if (String(((J = O == null ? void 0 : O.detail) == null ? void 0 : J.active_prompt_id) || "").trim()) { - X(); + if (String(((J = z == null ? void 0 : z.detail) == null ? void 0 : J.active_prompt_id) || "").trim()) { + R(); return; } - V(); + Y(); }; try { - const O = () => { - f._runtimePaused || x(); + const z = () => { + f._runtimePaused || v(); }, B = () => { - var J, T, D; + var J, P, H; f.ready = !1; try { - const Q = (J = t == null ? void 0 : t.error) == null ? void 0 : J.code, E = ((T = t == null ? void 0 : t.error) == null ? void 0 : T.message) || ""; - let K, F; - Q === 2 ? (K = "Failed to load video (network / path error)", F = "Check file permissions / path, or try re-indexing.") : Q === 3 ? (K = "Failed to load video (decode error β€” unsupported codec?)", F = "Browser may not support this codec (e.g. H.265/HEVC). Try converting to H.264/MP4.") : Q === 4 ? (K = "Failed to load video (unsupported format or codec)", F = "Browser cannot decode this file (e.g. H.265/HEVC). Try converting to H.264/MP4.") : (K = "Failed to load video", F = E || "Check file permissions / path, or try re-indexing."), console.warn("[MJR] Video load error", { - code: Q, + const $ = (J = t == null ? void 0 : t.error) == null ? void 0 : J.code, E = ((P = t == null ? void 0 : t.error) == null ? void 0 : P.message) || ""; + let oe, M; + $ === 2 ? (oe = "Failed to load video (network / path error)", M = "Check file permissions / path, or try re-indexing.") : $ === 3 ? (oe = "Failed to load video (decode error β€” unsupported codec?)", M = "Browser may not support this codec (e.g. H.265/HEVC). Try converting to H.264/MP4.") : $ === 4 ? (oe = "Failed to load video (unsupported format or codec)", M = "Browser cannot decode this file (e.g. H.265/HEVC). Try converting to H.264/MP4.") : (oe = "Failed to load video", M = E || "Check file permissions / path, or try re-indexing."), console.warn("[MJR] Video load error", { + code: $, message: E, src: t == null ? void 0 : t.src - }), po(e, K, F); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + }), fo(e, oe, M); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } }; b.push( - (s == null ? void 0 : s(t, "loadedmetadata", j, { once: !0 })) || (() => { + (s == null ? void 0 : s(t, "loadedmetadata", N, { once: !0 })) || (() => { }) ), b.push( - (s == null ? void 0 : s(t, "seeked", z, { passive: !0 })) || (() => { + (s == null ? void 0 : s(t, "seeked", T, { passive: !0 })) || (() => { }) ), b.push( - (s == null ? void 0 : s(t, "pause", z, { passive: !0 })) || (() => { + (s == null ? void 0 : s(t, "pause", T, { passive: !0 })) || (() => { }) - ), b.push((s == null ? void 0 : s(t, "play", O, { passive: !0 })) || (() => { + ), b.push((s == null ? void 0 : s(t, "play", z, { passive: !0 })) || (() => { })), b.push( - (s == null ? void 0 : s(t, "timeupdate", z, { passive: !0 })) || (() => { + (s == null ? void 0 : s(t, "timeupdate", T, { passive: !0 })) || (() => { }) ), b.push((s == null ? void 0 : s(t, "error", B, { passive: !0 })) || (() => { - })), I && (window.addEventListener(ft.RUNTIME_STATUS, L), String(((N = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : N.active_prompt_id) || "").trim() && X()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + })), I && (window.addEventListener(ht.RUNTIME_STATUS, V), String(((k = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : k.active_prompt_id) || "").trim() && R()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } return { setParams: w, - sampleAtOriginal: R, + sampleAtOriginal: F, getInfo: () => ({ ...f, renderer: p ? "webgl" : "2d" }), - pause: X, - resume: V, + pause: R, + resume: Y, destroy: () => { - var O, B, J, T, D, Q, E, K, F; + var z, B, J, P, H, $, E, oe, M; p && p.destroy(), f._destroyed = !0; try { - window.removeEventListener(ft.RUNTIME_STATUS, L); - } catch (Y) { - (O = console.debug) == null || O.call(console, Y); + window.removeEventListener(ht.RUNTIME_STATUS, V); + } catch (j) { + (z = console.debug) == null || z.call(console, j); } try { f._throttleTimer && clearTimeout(f._throttleTimer); - } catch (Y) { - (B = console.debug) == null || B.call(console, Y); + } catch (j) { + (B = console.debug) == null || B.call(console, j); } f._throttleTimer = null; try { f._connectRAF != null && cancelAnimationFrame(f._connectRAF); - } catch (Y) { - (J = console.debug) == null || J.call(console, Y); + } catch (j) { + (J = console.debug) == null || J.call(console, j); } f._connectRAF = null, f._connectTries = 0; try { f._rvfc != null && typeof (t == null ? void 0 : t.cancelVideoFrameCallback) == "function" && t.cancelVideoFrameCallback(f._rvfc); - } catch (Y) { - (T = console.debug) == null || T.call(console, Y); + } catch (j) { + (P = console.debug) == null || P.call(console, j); } try { f._rafIdLoop != null && cancelAnimationFrame(f._rafIdLoop); - } catch (Y) { - (D = console.debug) == null || D.call(console, Y); + } catch (j) { + (H = console.debug) == null || H.call(console, j); } try { f._rafIdSchedule != null && cancelAnimationFrame(f._rafIdSchedule); - } catch (Y) { - (Q = console.debug) == null || Q.call(console, Y); + } catch (j) { + ($ = console.debug) == null || $.call(console, j); } try { - for (const Y of b) d == null || d(Y); - } catch (Y) { - (E = console.debug) == null || E.call(console, Y); + for (const j of b) d == null || d(j); + } catch (j) { + (E = console.debug) == null || E.call(console, j); } try { - Z.width = 0, Z.height = 0; - } catch (Y) { - (K = console.debug) == null || K.call(console, Y); + A.width = 0, A.height = 0; + } catch (j) { + (oe = console.debug) == null || oe.call(console, j); } try { e.width = 0, e.height = 0; - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + } catch (j) { + (M = console.debug) == null || M.call(console, j); } f._buffer = null; } }; } -function Va(e, t, n) { +function ka(e, t, n) { const i = Number(e); return Number.isFinite(i) ? Math.max(t, Math.min(n, i)) : t; } -function Xu(e) { +function Ru(e) { var t, n; try { const i = String(e || "").toLowerCase(); @@ -17966,7 +17981,7 @@ function Xu(e) { (t = console.debug) == null || t.call(console, i); } try { - const i = String((ye == null ? void 0 : ye.VIEWER_AUDIO_VISUALIZER_MODE) || "simple").toLowerCase(); + const i = String((fe == null ? void 0 : fe.VIEWER_AUDIO_VISUALIZER_MODE) || "simple").toLowerCase(); if (i === "artistic") return "artistic"; if (i === "webgl3d" || i === "webgl") return "simple"; } catch (i) { @@ -17974,7 +17989,7 @@ function Xu(e) { } return "simple"; } -function zA(e) { +function BA(e) { const t = e.getContext("2d"); if (!t) return null; const n = (l, a) => { @@ -18005,24 +18020,24 @@ function zA(e) { if (!(d > 1 && u > 1)) return; const p = Number(c) * 1e-3 * 0.12 % 1; t.clearRect(0, 0, d, u); - const M = d * 0.5, Z = u * 0.52, A = Math.max(36, Math.min(140, Math.floor(d / 12))), g = Math.min(d * 0.56, A * 8), h = g / Math.max(1, A - 1), f = M - g * 0.5, b = Z - u * 0.08; + const S = d * 0.5, A = u * 0.52, C = Math.max(36, Math.min(140, Math.floor(d / 12))), g = Math.min(d * 0.56, C * 8), Z = g / Math.max(1, C - 1), f = S - g * 0.5, b = A - u * 0.08; t.fillStyle = "rgba(255,255,255,0.95)"; - for (let C = 0; C < A; C++) { - const S = f + C * h, y = (C / Math.max(1, A - 1) + p) % 1, k = i(l, y), G = b - k * u * 0.11, z = 1.2 + k * 1.2; - t.beginPath(), t.arc(S, G, z, 0, Math.PI * 2), t.fill(); + for (let h = 0; h < C; h++) { + const G = f + h * Z, y = (h / Math.max(1, C - 1) + p) % 1, X = i(l, y), x = b - X * u * 0.11, T = 1.2 + X * 1.2; + t.beginPath(), t.arc(G, x, T, 0, Math.PI * 2), t.fill(); } t.fillStyle = "rgba(255,255,255,0.9)"; - for (let C = 0; C < A; C++) { - const S = f + C * h, W = 1.6; - t.beginPath(), t.arc(S, Z, W, 0, Math.PI * 2), t.fill(); + for (let h = 0; h < C; h++) { + const G = f + h * Z, W = 1.6; + t.beginPath(), t.arc(G, A, W, 0, Math.PI * 2), t.fill(); } - const v = Math.max(1.5, h * 0.45); - for (let C = 0; C < A; C++) { - const S = f + C * h, W = C / Math.max(1, A - 1), y = (W + p) % 1, k = o(l, y), G = r(l, y), z = 1 - Math.abs(W * 2 - 1), w = Math.pow( - (k * 0.62 + G * 0.38) * 0.84 + z * 0.16, + const L = Math.max(1.5, Z * 0.45); + for (let h = 0; h < C; h++) { + const G = f + h * Z, W = h / Math.max(1, C - 1), y = (W + p) % 1, X = o(l, y), x = r(l, y), T = 1 - Math.abs(W * 2 - 1), w = Math.pow( + (X * 0.62 + x * 0.38) * 0.84 + T * 0.16, 1.1 ) * u * 0.32; - t.fillStyle = "rgba(255,255,255,0.96)", t.fillRect(S - v * 0.5, Z + 1, v, w); + t.fillStyle = "rgba(255,255,255,0.96)", t.fillRect(G - L * 0.5, A + 1, L, w); } } catch (d) { (s = console.debug) == null || s.call(console, d); @@ -18032,7 +18047,7 @@ function zA(e) { } }; } -function JA(e, { pseudo3d: t = !1 } = {}) { +function UA(e, { pseudo3d: t = !1 } = {}) { let n = null; try { n = e.getContext("webgl", { @@ -18055,9 +18070,9 @@ uniform vec4 uColor; void main() { gl_FragColor = uColor; } -`, r = (g, h) => { +`, r = (g, Z) => { const f = n.createShader(g); - return f ? (n.shaderSource(f, h), n.compileShader(f), n.getShaderParameter(f, n.COMPILE_STATUS) ? f : (n.deleteShader(f), null)) : null; + return f ? (n.shaderSource(f, Z), n.compileShader(f), n.getShaderParameter(f, n.COMPILE_STATUS) ? f : (n.deleteShader(f), null)) : null; }, l = r(n.VERTEX_SHADER, i), a = r(n.FRAGMENT_SHADER, o); if (!l || !a) return null; const c = n.createProgram(); @@ -18065,237 +18080,237 @@ void main() { n.useProgram(c); const s = n.getAttribLocation(c, "aPos"), d = n.getUniformLocation(c, "uColor"), u = n.createBuffer(); if (!u || s < 0 || !d) return null; - const I = (g, h) => { - n.bindBuffer(n.ARRAY_BUFFER, u), n.bufferData(n.ARRAY_BUFFER, g, n.DYNAMIC_DRAW), n.enableVertexAttribArray(s), n.vertexAttribPointer(s, 2, n.FLOAT, !1, 0, 0), n.uniform4f(d, h[0], h[1], h[2], h[3]), n.drawArrays(n.LINE_STRIP, 0, Math.floor(g.length / 2)); - }, p = (g, h) => { + const I = (g, Z) => { + n.bindBuffer(n.ARRAY_BUFFER, u), n.bufferData(n.ARRAY_BUFFER, g, n.DYNAMIC_DRAW), n.enableVertexAttribArray(s), n.vertexAttribPointer(s, 2, n.FLOAT, !1, 0, 0), n.uniform4f(d, Z[0], Z[1], Z[2], Z[3]), n.drawArrays(n.LINE_STRIP, 0, Math.floor(g.length / 2)); + }, p = (g, Z) => { try { const f = Math.max( 0, - Math.min(g.length - 1, Math.floor(h * (g.length - 1))) + Math.min(g.length - 1, Math.floor(Z * (g.length - 1))) ); return (Number(g[f]) || 0) / 255; } catch { return 0; } - }, M = (g, h) => { - const f = p(g, 0.18 + h * 0.18), b = p(g, 0.28 + h * 0.16), v = p(g, 0.4 + h * 0.06), C = p(g, 0.46 + h * 0.03); - return f * 0.28 + b * 0.36 + v * 0.24 + C * 0.12; - }, Z = (g, h) => { - const f = p(g, 0.01 + h * 0.06), b = p(g, 0.04 + h * 0.07), v = p(g, 0.09 + h * 0.04); - return f * 0.45 + b * 0.35 + v * 0.2; - }, A = (g, h) => { - const f = p(g, 0.64 + h * 0.18), b = p(g, 0.78 + h * 0.12), v = p(g, 0.92 + h * 0.06); - return f * 0.34 + b * 0.38 + v * 0.28; + }, S = (g, Z) => { + const f = p(g, 0.18 + Z * 0.18), b = p(g, 0.28 + Z * 0.16), L = p(g, 0.4 + Z * 0.06), h = p(g, 0.46 + Z * 0.03); + return f * 0.28 + b * 0.36 + L * 0.24 + h * 0.12; + }, A = (g, Z) => { + const f = p(g, 0.01 + Z * 0.06), b = p(g, 0.04 + Z * 0.07), L = p(g, 0.09 + Z * 0.04); + return f * 0.45 + b * 0.35 + L * 0.2; + }, C = (g, Z) => { + const f = p(g, 0.64 + Z * 0.18), b = p(g, 0.78 + Z * 0.12), L = p(g, 0.92 + Z * 0.06); + return f * 0.34 + b * 0.38 + L * 0.28; }; return { - draw(g, h, f = 0) { + draw(g, Z, f = 0) { var b; try { n.viewport(0, 0, e.width || 1, e.height || 1), n.clearColor(0, 0, 0, 0), n.clear(n.COLOR_BUFFER_BIT); - const v = Math.max(48, Math.min(180, Math.floor((e.width || 640) / 7))), C = Number(f) * 1e-3, S = new Float32Array(v * 2); - for (let y = 0; y < v; y++) { - const k = y / Math.max(1, v - 1), G = k * 2 - 1, z = M(g, k), x = t ? Math.sin(k * Math.PI * 4 + C * 1.1) * 0.18 : 0, w = t ? 1 / (1 + Math.max(-0.7, x) * 0.8) : 1, V = Va((0.18 + z * 0.32) * w, -0.95, 0.95); - S[y * 2] = G, S[y * 2 + 1] = V; + const L = Math.max(48, Math.min(180, Math.floor((e.width || 640) / 7))), h = Number(f) * 1e-3, G = new Float32Array(L * 2); + for (let y = 0; y < L; y++) { + const X = y / Math.max(1, L - 1), x = X * 2 - 1, T = S(g, X), v = t ? Math.sin(X * Math.PI * 4 + h * 1.1) * 0.18 : 0, w = t ? 1 / (1 + Math.max(-0.7, v) * 0.8) : 1, Y = ka((0.18 + T * 0.32) * w, -0.95, 0.95); + G[y * 2] = x, G[y * 2 + 1] = Y; } - I(S, [1, 1, 1, 0.95]); - const W = new Float32Array(v * 2); - for (let y = 0; y < v; y++) { - const k = y / Math.max(1, v - 1), G = k * 2 - 1, z = Z(g, k), x = A(g, k), w = z * 0.62 + x * 0.38, X = t ? Math.sin(k * Math.PI * 3 + C * 1) * 0.14 : 0, V = t ? 1 / (1 + Math.max(-0.7, X) * 0.8) : 1, R = Va(-w * 0.62 * V, -0.95, 0); - W[y * 2] = G, W[y * 2 + 1] = R; + I(G, [1, 1, 1, 0.95]); + const W = new Float32Array(L * 2); + for (let y = 0; y < L; y++) { + const X = y / Math.max(1, L - 1), x = X * 2 - 1, T = A(g, X), v = C(g, X), w = T * 0.62 + v * 0.38, R = t ? Math.sin(X * Math.PI * 3 + h * 1) * 0.14 : 0, Y = t ? 1 / (1 + Math.max(-0.7, R) * 0.8) : 1, F = ka(-w * 0.62 * Y, -0.95, 0); + W[y * 2] = x, W[y * 2 + 1] = F; } I(W, [1, 1, 1, 0.9]); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } }, destroy() { - var g, h, f, b; + var g, Z, f, b; try { n.deleteBuffer(u); - } catch (v) { - (g = console.debug) == null || g.call(console, v); + } catch (L) { + (g = console.debug) == null || g.call(console, L); } try { n.deleteProgram(c); - } catch (v) { - (h = console.debug) == null || h.call(console, v); + } catch (L) { + (Z = console.debug) == null || Z.call(console, L); } try { n.deleteShader(l); - } catch (v) { - (f = console.debug) == null || f.call(console, v); + } catch (L) { + (f = console.debug) == null || f.call(console, L); } try { n.deleteShader(a); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } } }; } -function TA({ +function KA({ canvas: e, audioEl: t, mode: n, pauseDuringExecution: i = null } = {}) { - var x, w, X; + var v, w, R; if (!e || !t) return { destroy() { } }; - const o = i == null ? !!(ye != null && ye.VIEWER_PAUSE_DURING_EXECUTION) : !!i; - let r = null, l = !1, a = null, c = null, s = null, d = null, u = null, I = null, p = 0, M = !1; - const A = 1e3 / Va((ye == null ? void 0 : ye.VIEWER_AUDIO_VIS_FPS) ?? 24, 8, 60); - let g = Xu(n); - const h = () => { - var V; + const o = i == null ? !!(fe != null && fe.VIEWER_PAUSE_DURING_EXECUTION) : !!i; + let r = null, l = !1, a = null, c = null, s = null, d = null, u = null, I = null, p = 0, S = !1; + const C = 1e3 / ka((fe == null ? void 0 : fe.VIEWER_AUDIO_VIS_FPS) ?? 24, 8, 60); + let g = Ru(n); + const Z = () => { + var Y; try { - const R = Va(window.devicePixelRatio || 1, 1, 2), j = Math.max(32, Math.floor((e.clientWidth || 640) * R)), L = Math.max(24, Math.floor((e.clientHeight || 140) * R)); - e.width !== j && (e.width = j), e.height !== L && (e.height = L); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + const F = ka(window.devicePixelRatio || 1, 1, 2), N = Math.max(32, Math.floor((e.clientWidth || 640) * F)), V = Math.max(24, Math.floor((e.clientHeight || 140) * F)); + e.width !== N && (e.width = N), e.height !== V && (e.height = V); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - }, f = (V = g) => { - var R, j, L, N, q; - g = Xu(V); + }, f = (Y = g) => { + var F, N, V, k, K; + g = Ru(Y); try { - (R = I == null ? void 0 : I.destroy) == null || R.call(I); - } catch (O) { - (j = console.debug) == null || j.call(console, O); + (F = I == null ? void 0 : I.destroy) == null || F.call(I); + } catch (z) { + (N = console.debug) == null || N.call(console, z); } I = null; try { - h(); - } catch (O) { - (L = console.debug) == null || L.call(console, O); + Z(); + } catch (z) { + (V = console.debug) == null || V.call(console, z); } try { - g === "artistic" && !(ye != null && ye.VIEWER_DISABLE_WEBGL_AUDIO) && (I = JA(e, { pseudo3d: !0 })); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + g === "artistic" && !(fe != null && fe.VIEWER_DISABLE_WEBGL_AUDIO) && (I = UA(e, { pseudo3d: !0 })); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } if (!I) try { - I = zA(e); - } catch (O) { - (q = console.debug) == null || q.call(console, O), I = null; + I = BA(e); + } catch (z) { + (K = console.debug) == null || K.call(console, z), I = null; } return p = 0, g; }, b = () => { if (!(l || s)) try { - const V = window.AudioContext || window.webkitAudioContext; - if (!V) return; - a = new V(), c = a.createMediaElementSource(t), s = a.createAnalyser(), s.fftSize = 1024, s.smoothingTimeConstant = 0.8, c.connect(s), s.connect(a.destination), d = new Uint8Array(s.frequencyBinCount), u = new Uint8Array(s.fftSize), I || f(g); + const Y = window.AudioContext || window.webkitAudioContext; + if (!Y) return; + a = new Y(), c = a.createMediaElementSource(t), s = a.createAnalyser(), s.fftSize = 1024, s.smoothingTimeConstant = 0.8, c.connect(s), s.connect(a.destination), d = new Uint8Array(s.frequencyBinCount), u = new Uint8Array(s.fftSize), I || f(g); } catch { s = null; } - }, v = (V) => { - var R; + }, L = (Y) => { + var F; if (!l) { try { - r = requestAnimationFrame(v); + r = requestAnimationFrame(L); } catch { r = null; return; } - if (!M && !(!s || !I) && !(V - p < A)) { - p = V; + if (!S && !(!s || !I) && !(Y - p < C)) { + p = Y; try { - h(), s.getByteFrequencyData(d), s.getByteTimeDomainData(u), I.draw(d, u, V); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + Z(), s.getByteFrequencyData(d), s.getByteTimeDomainData(u), I.draw(d, u, Y); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } } } - }, C = async () => { - var V, R; + }, h = async () => { + var Y, F; try { - if (M || (b(), !a)) return; + if (S || (b(), !a)) return; if (a.state === "suspended") try { await a.resume(); - } catch (j) { - (V = console.debug) == null || V.call(console, j); + } catch (N) { + (Y = console.debug) == null || Y.call(console, N); } - r == null && (r = requestAnimationFrame(v)); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + r == null && (r = requestAnimationFrame(L)); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } - }, S = () => { - var V; + }, G = () => { + var Y; try { r != null && cancelAnimationFrame(r); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } r = null; }, W = () => { - C(); - }, y = () => S(), k = () => S(), G = () => h(), z = (V) => { - var j; + h(); + }, y = () => G(), X = () => G(), x = () => Z(), T = (Y) => { + var N; if (!o) return; - if (M = !!String(((j = V == null ? void 0 : V.detail) == null ? void 0 : j.active_prompt_id) || "").trim(), M) { - S(); + if (S = !!String(((N = Y == null ? void 0 : Y.detail) == null ? void 0 : N.active_prompt_id) || "").trim(), S) { + G(); return; } - t != null && t.paused || C(); + t != null && t.paused || h(); }; try { - h(), f(g); - } catch (V) { - (x = console.debug) == null || x.call(console, V); + Z(), f(g); + } catch (Y) { + (v = console.debug) == null || v.call(console, Y); } try { - t.addEventListener("play", W, { passive: !0 }), t.addEventListener("pause", y, { passive: !0 }), t.addEventListener("ended", k, { passive: !0 }), window.addEventListener("resize", G, { passive: !0 }), o && (window.addEventListener(ft.RUNTIME_STATUS, z), String(((w = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : w.active_prompt_id) || "").trim() && (M = !0)); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + t.addEventListener("play", W, { passive: !0 }), t.addEventListener("pause", y, { passive: !0 }), t.addEventListener("ended", X, { passive: !0 }), window.addEventListener("resize", x, { passive: !0 }), o && (window.addEventListener(ht.RUNTIME_STATUS, T), String(((w = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : w.active_prompt_id) || "").trim() && (S = !0)); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } return { - setMode(V) { - return l ? g : f(V); + setMode(Y) { + return l ? g : f(Y); }, destroy() { - var V, R, j, L, N, q, O, B, J; + var Y, F, N, V, k, K, z, B, J; if (!l) { - l = !0, S(); + l = !0, G(); try { - t.removeEventListener("play", W), t.removeEventListener("pause", y), t.removeEventListener("ended", k), window.removeEventListener("resize", G), window.removeEventListener(ft.RUNTIME_STATUS, z); - } catch (T) { - (V = console.debug) == null || V.call(console, T); + t.removeEventListener("play", W), t.removeEventListener("pause", y), t.removeEventListener("ended", X), window.removeEventListener("resize", x), window.removeEventListener(ht.RUNTIME_STATUS, T); + } catch (P) { + (Y = console.debug) == null || Y.call(console, P); } try { - (R = I == null ? void 0 : I.destroy) == null || R.call(I); - } catch (T) { - (j = console.debug) == null || j.call(console, T); + (F = I == null ? void 0 : I.destroy) == null || F.call(I); + } catch (P) { + (N = console.debug) == null || N.call(console, P); } try { - (L = c == null ? void 0 : c.disconnect) == null || L.call(c); - } catch (T) { - (N = console.debug) == null || N.call(console, T); + (V = c == null ? void 0 : c.disconnect) == null || V.call(c); + } catch (P) { + (k = console.debug) == null || k.call(console, P); } try { - (q = s == null ? void 0 : s.disconnect) == null || q.call(s); - } catch (T) { - (O = console.debug) == null || O.call(console, T); + (K = s == null ? void 0 : s.disconnect) == null || K.call(s); + } catch (P) { + (z = console.debug) == null || z.call(console, P); } try { (B = a == null ? void 0 : a.close) == null || B.call(a); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } c = null, s = null, a = null, I = null; } } }; } -const BA = (() => { +const DA = (() => { try { return new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAIAAABAH0oBAAAIf3RFWHRwcm9tcHQAeyI5IjogeyJpbnB1dHMiOiB7ImZpbGVuYW1lX3ByZWZpeCI6ICJQUk9KRUNUUy8yNjAxX1RFU1QvMDJfT1VUL0lNQUdFUy8yNjAyMDcvVGVzdC9aX0ltYWdlX1R1cmJvLzI2MDIwN19UZXN0XyIsICJpbWFnZXMiOiBbIjU3OjgiLCAwXX0sICJjbGFzc190eXBlIjogIlNhdmVJbWFnZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiU2F2ZSBJbWFnZSJ9fSwgIjU4IjogeyJpbnB1dHMiOiB7InZhbHVlIjogIkJsdXJyeSBjdXRlIHNtYWxsIGRpbm9zYXVydXMgbGlrZSBjcmVhdHVyZSBzaWxob3VldHRlIHdpdGggaGVhZHBob25lIGluIGEgY2luZW1hdGljIHNsb3ctc2h1dHRlciBwYW4sIHdhcm0gYmFja2xpdCBzdW5zZXQgZ3JhZGllbnQgZnJvbSBkZWVwIHJlZCB0byBvcmFuZ2UgYW5kIGdvbGQsIGdsb3dpbmcgaGF6ZSBhbmQgYmxvb20sIHJpbS1saXQgaGFpciBoYWxvLCBnZW50bGUgbW90aW9uLWJsdXIgdHJhaWwsIHNvZnQtZm9jdXMgZmFjaWFsIGZlYXR1cmVzLCBzdWJ0bGUgZmlsbSBncmFpbiwgYXRtb3NwaGVyaWMgZm9nLCBzaGFsbG93IGRlcHRoIG9mIGZpZWxkLCBtaW5pbWFsIGNvbXBvc2l0aW9uLCBkcmVhbXkgbm9zdGFsZ2ljIG1vb2QsIHZpbnRhZ2UgbGVucyBzb2Z0bmVzcyBhbmQgc21vb3RoIGNvbG9yIHRyYW5zaXRpb25zLiJ9LCAiY2xhc3NfdHlwZSI6ICJQcmltaXRpdmVTdHJpbmdNdWx0aWxpbmUiLCAiX21ldGEiOiB7InRpdGxlIjogIlByb21wdCJ9fSwgIjU3OjMwIjogeyJpbnB1dHMiOiB7ImNsaXBfbmFtZSI6ICJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAidHlwZSI6ICJsdW1pbmEyIiwgImRldmljZSI6ICJkZWZhdWx0In0sICJjbGFzc190eXBlIjogIkNMSVBMb2FkZXIiLCAiX21ldGEiOiB7InRpdGxlIjogIkxvYWQgQ0xJUCJ9fSwgIjU3OjI5IjogeyJpbnB1dHMiOiB7InZhZV9uYW1lIjogImFlLnNhZmV0ZW5zb3JzIn0sICJjbGFzc190eXBlIjogIlZBRUxvYWRlciIsICJfbWV0YSI6IHsidGl0bGUiOiAiTG9hZCBWQUUifX0sICI1NzozMyI6IHsiaW5wdXRzIjogeyJjb25kaXRpb25pbmciOiBbIjU3OjI3IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0IiwgIl9tZXRhIjogeyJ0aXRsZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0In19LCAiNTc6OCI6IHsiaW5wdXRzIjogeyJzYW1wbGVzIjogWyI1NzozIiwgMF0sICJ2YWUiOiBbIjU3OjI5IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJWQUVEZWNvZGUiLCAiX21ldGEiOiB7InRpdGxlIjogIlZBRSBEZWNvZGUifX0sICI1NzoyOCI6IHsiaW5wdXRzIjogeyJ1bmV0X25hbWUiOiAiel9pbWFnZV90dXJib19iZjE2LnNhZmV0ZW5zb3JzIiwgIndlaWdodF9kdHlwZSI6ICJkZWZhdWx0In0sICJjbGFzc190eXBlIjogIlVORVRMb2FkZXIiLCAiX21ldGEiOiB7InRpdGxlIjogIkxvYWQgRGlmZnVzaW9uIE1vZGVsIn19LCAiNTc6MjciOiB7ImlucHV0cyI6IHsidGV4dCI6IFsiNTgiLCAwXSwgImNsaXAiOiBbIjU3OjMwIiwgMF19LCAiY2xhc3NfdHlwZSI6ICJDTElQVGV4dEVuY29kZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiQ0xJUCBUZXh0IEVuY29kZSAoUHJvbXB0KSJ9fSwgIjU3OjEzIjogeyJpbnB1dHMiOiB7IndpZHRoIjogMTI4MCwgImhlaWdodCI6IDcyMCwgImJhdGNoX3NpemUiOiAxfSwgImNsYXNzX3R5cGUiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSJ9fSwgIjU3OjMiOiB7ImlucHV0cyI6IHsic2VlZCI6IDY0OTI5MjEyMjcxODY3MSwgInN0ZXBzIjogNCwgImNmZyI6IDEuMCwgInNhbXBsZXJfbmFtZSI6ICJyZXNfbXVsdGlzdGVwIiwgInNjaGVkdWxlciI6ICJzaW1wbGUiLCAiZGVub2lzZSI6IDEuMCwgIm1vZGVsIjogWyI1NzoxMSIsIDBdLCAicG9zaXRpdmUiOiBbIjU3OjI3IiwgMF0sICJuZWdhdGl2ZSI6IFsiNTc6MzMiLCAwXSwgImxhdGVudF9pbWFnZSI6IFsiNTc6MTMiLCAwXX0sICJjbGFzc190eXBlIjogIktTYW1wbGVyIiwgIl9tZXRhIjogeyJ0aXRsZSI6ICJLU2FtcGxlciJ9fSwgIjU3OjExIjogeyJpbnB1dHMiOiB7InNoaWZ0IjogMy4wLCAibW9kZWwiOiBbIjU3OjI4IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJNb2RlbFNhbXBsaW5nQXVyYUZsb3ciLCAiX21ldGEiOiB7InRpdGxlIjogIk1vZGVsU2FtcGxpbmdBdXJhRmxvdyJ9fX2E/dbiAABnQnRFWHR3b3JrZmxvdwB7ImlkIjogIjlhZTYwODJiLWM3ZjQtNDMzYy05OTcxLTdhOGY2NWEzZWE2NSIsICJyZXZpc2lvbiI6IDAsICJsYXN0X25vZGVfaWQiOiA2MSwgImxhc3RfbGlua19pZCI6IDY4LCAibm9kZXMiOiBbeyJpZCI6IDYwLCAidHlwZSI6ICJTYXZlSW1hZ2UiLCAicG9zIjogWzExNzAsIDYzMF0sICJzaXplIjogWzc4MCwgNjYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDYsICJtb2RlIjogNCwgImlucHV0cyI6IFt7Im5hbWUiOiAiaW1hZ2VzIiwgInR5cGUiOiAiSU1BR0UiLCAibGluayI6IDY1fV0sICJvdXRwdXRzIjogW10sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlNhdmVJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIlBST0pFQ1RTLzI2MDFfVEVTVC8wMl9PVVQvSU1BR0VTLzI2MDIwNy9UZXN0L1pfSW1hZ2VfVHVyYm8vMjYwMjA3X1Rlc3RfIl19LCB7ImlkIjogMzUsICJ0eXBlIjogIk1hcmtkb3duTm90ZSIsICJwb3MiOiBbLTQ0MCwgMTkwXSwgInNpemUiOiBbNTEwLCA2MDBdLCAiZmxhZ3MiOiB7ImNvbGxhcHNlZCI6IGZhbHNlfSwgIm9yZGVyIjogMCwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW10sICJ0aXRsZSI6ICJNb2RlbCBsaW5rIiwgInByb3BlcnRpZXMiOiB7fSwgIndpZGdldHNfdmFsdWVzIjogWyIjIyBSZXBvcnQgd29ya2Zsb3cgaXNzdWVcblxuSWYgeW91IGZvdW5kIGFueSBpc3N1ZXMgd2hlbiBydW5uaW5nIHRoaXMgd29ya2Zsb3csIFtyZXBvcnQgdGVtcGxhdGUgaXNzdWUgaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL0NvbWZ5LU9yZy93b3JrZmxvd190ZW1wbGF0ZXMvaXNzdWVzKVxuXG5cbiMjIE1vZGVsIGxpbmtzXG5cbioqdGV4dF9lbmNvZGVycyoqXG5cbi0gW3F3ZW5fM180Yi5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdGV4dF9lbmNvZGVycy9xd2VuXzNfNGIuc2FmZXRlbnNvcnMpXG5cbioqbG9yYXMqKlxuXG4tIFtwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby90YXJuNTkvcGl4ZWxfYXJ0X3N0eWxlX2xvcmFfel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnMpXG5cbioqZGlmZnVzaW9uX21vZGVscyoqXG5cbi0gW3pfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMpXG5cbioqdmFlKipcblxuLSBbYWUuc2FmZXRlbnNvcnNdKGh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3ZhZS9hZS5zYWZldGVuc29ycylcblxuXG5Nb2RlbCBTdG9yYWdlIExvY2F0aW9uXG5cbmBgYFxuXHVkODNkXHVkY2MyIENvbWZ5VUkvXG5cdTI1MWNcdTI1MDBcdTI1MDAgXHVkODNkXHVkY2MyIG1vZGVscy9cblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgdGV4dF9lbmNvZGVycy9cblx1MjUwMiAgIFx1MjUwMiAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCBxd2VuXzNfNGIuc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgbG9yYXMvXG5cdTI1MDIgICBcdTI1MDIgICAgICBcdTI1MTRcdTI1MDBcdTI1MDAgcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgZGlmZnVzaW9uX21vZGVscy9cblx1MjUwMiAgIFx1MjUwMiAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCB6X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxNFx1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgdmFlL1xuXHUyNTAyICAgICAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCBhZS5zYWZldGVuc29yc1xuYGBgXG4iXSwgImNvbG9yIjogIiM0MzIiLCAiYmdjb2xvciI6ICIjMDAwIn0sIHsiaWQiOiA2MSwgInR5cGUiOiAiU3RyaW5nQ29uY2F0ZW5hdGUiLCAicG9zIjogWzE0MCwgNTAwXSwgInNpemUiOiBbNDAwLCAyMDBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMywgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibmFtZSI6ICJzdHJpbmdfYiIsICJ0eXBlIjogIlNUUklORyIsICJ3aWRnZXQiOiB7Im5hbWUiOiAic3RyaW5nX2IifSwgImxpbmsiOiA2N31dLCAib3V0cHV0cyI6IFt7Im5hbWUiOiAiU1RSSU5HIiwgInR5cGUiOiAiU1RSSU5HIiwgImxpbmtzIjogWzY2XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuNy4wIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlN0cmluZ0NvbmNhdGVuYXRlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsiUGl4ZWwgYXJ0IHN0eWxlLCIsICIiLCAiIl19LCB7ImlkIjogNTksICJ0eXBlIjogImQwOTdiNjQ1LTRkM2EtNGJiNy04YjBlLTcwZTYwMWNmMDdjOSIsICJwb3MiOiBbNzIwLCA2MzBdLCAic2l6ZSI6IFs0MDAsIDQ3MF0sICJmbGFncyI6IHt9LCAib3JkZXIiOiA1LCAibW9kZSI6IDQsICJpbnB1dHMiOiBbeyJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAid2lkZ2V0IjogeyJuYW1lIjogInRleHQifSwgImxpbmsiOiA2Nn0sIHsibGFiZWwiOiAibG9yYV9zdHJlbmd0aCIsICJuYW1lIjogInN0cmVuZ3RoX21vZGVsIiwgInR5cGUiOiAiRkxPQVQiLCAid2lkZ2V0IjogeyJuYW1lIjogInN0cmVuZ3RoX21vZGVsIn0sICJsaW5rIjogbnVsbH1dLCAib3V0cHV0cyI6IFt7Im5hbWUiOiAiSU1BR0UiLCAidHlwZSI6ICJJTUFHRSIsICJsaW5rcyI6IFs2NV19XSwgInByb3BlcnRpZXMiOiB7InByb3h5V2lkZ2V0cyI6IFtbIi0xIiwgInRleHQiXSwgWyItMSIsICJ3aWR0aCJdLCBbIi0xIiwgImhlaWdodCJdLCBbIi0xIiwgImxvcmFfbmFtZSJdLCBbIi0xIiwgInN0cmVuZ3RoX21vZGVsIl0sIFsiMyIsICJzZWVkIl0sIFsiMyIsICJjb250cm9sX2FmdGVyX2dlbmVyYXRlIl1dLCAiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiIsIDEwMjQsIDEwMjQsICJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsIDFdfSwgeyJpZCI6IDksICJ0eXBlIjogIlNhdmVJbWFnZSIsICJwb3MiOiBbMTE2MCwgLTExMF0sICJzaXplIjogWzc4MCwgNjYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDQsICJtb2RlIjogMCwgImlucHV0cyI6IFt7Im5hbWUiOiAiaW1hZ2VzIiwgInR5cGUiOiAiSU1BR0UiLCAibGluayI6IDYyfV0sICJvdXRwdXRzIjogW10sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlNhdmVJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIlBST0pFQ1RTLzI2MDFfVEVTVC8wMl9PVVQvSU1BR0VTLzI2MDIwNy9UZXN0L1pfSW1hZ2VfVHVyYm8vMjYwMjA3X1Rlc3RfIl19LCB7ImlkIjogNTcsICJ0eXBlIjogImYyZmRlYmY2LWRmYWYtNDNiNi05ZWIyLTdmNzA2MTNjZmRjMSIsICJwb3MiOiBbNzIwLCAtMTEwXSwgInNpemUiOiBbNDAwLCA0NzBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMiwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibGFiZWwiOiAicHJvbXB0IiwgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogIlNUUklORyIsICJ3aWRnZXQiOiB7Im5hbWUiOiAidGV4dCJ9LCAibGluayI6IDYzfV0sICJvdXRwdXRzIjogW3sibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgImxpbmtzIjogWzYyXX1dLCAicHJvcGVydGllcyI6IHsicHJveHlXaWRnZXRzIjogW1siLTEiLCAidGV4dCJdLCBbIi0xIiwgIndpZHRoIl0sIFsiLTEiLCAiaGVpZ2h0Il0sIFsiMyIsICJzZWVkIl0sIFsiMyIsICJjb250cm9sX2FmdGVyX2dlbmVyYXRlIl1dLCAiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiIsIDEyODAsIDcyMF19LCB7ImlkIjogNTgsICJ0eXBlIjogIlByaW1pdGl2ZVN0cmluZ011bHRpbGluZSIsICJwb3MiOiBbMTUwLjI0MzUyNzQ4ODI2NTk1LCAtMzMuNTM5MjMyMTU0MTYxOTY1XSwgInNpemUiOiBbNDAwLCAyMDBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW3sibmFtZSI6ICJTVFJJTkciLCAidHlwZSI6ICJTVFJJTkciLCAibGlua3MiOiBbNjMsIDY3XX1dLCAidGl0bGUiOiAiUHJvbXB0IiwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjcuMCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJQcmltaXRpdmVTdHJpbmdNdWx0aWxpbmUiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJCbHVycnkgY3V0ZSBzbWFsbCBkaW5vc2F1cnVzIGxpa2UgY3JlYXR1cmUgc2lsaG91ZXR0ZSB3aXRoIGhlYWRwaG9uZSBpbiBhIGNpbmVtYXRpYyBzbG93LXNodXR0ZXIgcGFuLCB3YXJtIGJhY2tsaXQgc3Vuc2V0IGdyYWRpZW50IGZyb20gZGVlcCByZWQgdG8gb3JhbmdlIGFuZCBnb2xkLCBnbG93aW5nIGhhemUgYW5kIGJsb29tLCByaW0tbGl0IGhhaXIgaGFsbywgZ2VudGxlIG1vdGlvbi1ibHVyIHRyYWlsLCBzb2Z0LWZvY3VzIGZhY2lhbCBmZWF0dXJlcywgc3VidGxlIGZpbG0gZ3JhaW4sIGF0bW9zcGhlcmljIGZvZywgc2hhbGxvdyBkZXB0aCBvZiBmaWVsZCwgbWluaW1hbCBjb21wb3NpdGlvbiwgZHJlYW15IG5vc3RhbGdpYyBtb29kLCB2aW50YWdlIGxlbnMgc29mdG5lc3MgYW5kIHNtb290aCBjb2xvciB0cmFuc2l0aW9ucy4iXX1dLCAibGlua3MiOiBbWzYyLCA1NywgMCwgOSwgMCwgIklNQUdFIl0sIFs2MywgNTgsIDAsIDU3LCAwLCAiU1RSSU5HIl0sIFs2NSwgNTksIDAsIDYwLCAwLCAiSU1BR0UiXSwgWzY2LCA2MSwgMCwgNTksIDAsICJTVFJJTkciXSwgWzY3LCA1OCwgMCwgNjEsIDAsICJTVFJJTkciXV0sICJncm91cHMiOiBbXSwgImRlZmluaXRpb25zIjogeyJzdWJncmFwaHMiOiBbeyJpZCI6ICJmMmZkZWJmNi1kZmFmLTQzYjYtOWViMi03ZjcwNjEzY2ZkYzEiLCAidmVyc2lvbiI6IDEsICJzdGF0ZSI6IHsibGFzdEdyb3VwSWQiOiA0LCAibGFzdE5vZGVJZCI6IDM0LCAibGFzdExpbmtJZCI6IDM3LCAibGFzdFJlcm91dGVJZCI6IDB9LCAicmV2aXNpb24iOiAwLCAiY29uZmlnIjoge30sICJuYW1lIjogIlRleHQgdG8gSW1hZ2UgKFotSW1hZ2UtVHVyYm8pIiwgImlucHV0Tm9kZSI6IHsiaWQiOiAtMTAsICJib3VuZGluZyI6IFstODAsIDQyNSwgMTIwLCAxMDBdfSwgIm91dHB1dE5vZGUiOiB7ImlkIjogLTIwLCAiYm91bmRpbmciOiBbMTQ5MCwgNDE1LCAxMjAsIDYwXX0sICJpbnB1dHMiOiBbeyJpZCI6ICJmYjE3ODY2OS1lNzQyLTRhNTMtOGE2OS03ZGY1OTgzNGRmZDgiLCAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAiU1RSSU5HIiwgImxpbmtJZHMiOiBbMzRdLCAibGFiZWwiOiAicHJvbXB0IiwgInBvcyI6IFsyMCwgNDQ1XX0sIHsiaWQiOiAiZGQ3ODBiM2MtMjNlOS00NmZmLTg0NjktMTU2MDA4ZjQyZTVhIiwgIm5hbWUiOiAid2lkdGgiLCAidHlwZSI6ICJJTlQiLCAibGlua0lkcyI6IFszNV0sICJwb3MiOiBbMjAsIDQ2NV19LCB7ImlkIjogIjdiMDhkNTQ2LTZiYjAtNGVmOS04MmU5LWZmYWU1ZTFlZTZiYyIsICJuYW1lIjogImhlaWdodCIsICJ0eXBlIjogIklOVCIsICJsaW5rSWRzIjogWzM2XSwgInBvcyI6IFsyMCwgNDg1XX1dLCAib3V0cHV0cyI6IFt7ImlkIjogIjFmYTcyYTIxLWNlMDAtNDk1Mi04MTRlLTFmMmZmYmU4N2QxZCIsICJuYW1lIjogIklNQUdFIiwgInR5cGUiOiAiSU1BR0UiLCAibGlua0lkcyI6IFsxNl0sICJsb2NhbGl6ZWRfbmFtZSI6ICJJTUFHRSIsICJwb3MiOiBbMTUxMCwgNDM1XX1dLCAid2lkZ2V0cyI6IFtdLCAibm9kZXMiOiBbeyJpZCI6IDMwLCAidHlwZSI6ICJDTElQTG9hZGVyIiwgInBvcyI6IFsxMTAsIDMzMF0sICJzaXplIjogWzI3MCwgMTA2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDAsICJtb2RlIjogMCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNMSVAiLCAibmFtZSI6ICJDTElQIiwgInR5cGUiOiAiQ0xJUCIsICJsaW5rcyI6IFsyOF19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiQ0xJUExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInF3ZW5fM180Yi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdGV4dF9lbmNvZGVycy9xd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogInRleHRfZW5jb2RlcnMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInF3ZW5fM180Yi5zYWZldGVuc29ycyIsICJsdW1pbmEyIiwgImRlZmF1bHQiXX0sIHsiaWQiOiAyOSwgInR5cGUiOiAiVkFFTG9hZGVyIiwgInBvcyI6IFsxMTAsIDQ4MF0sICJzaXplIjogWzI3MCwgNThdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiVkFFIiwgIm5hbWUiOiAiVkFFIiwgInR5cGUiOiAiVkFFIiwgImxpbmtzIjogWzI3XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJWQUVMb2FkZXIiLCAibW9kZWxzIjogW3sibmFtZSI6ICJhZS5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdmFlL2FlLnNhZmV0ZW5zb3JzIiwgImRpcmVjdG9yeSI6ICJ2YWUifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbImFlLnNhZmV0ZW5zb3JzIl19LCB7ImlkIjogMzMsICJ0eXBlIjogIkNvbmRpdGlvbmluZ1plcm9PdXQiLCAicG9zIjogWzY0MCwgNjIwXSwgInNpemUiOiBbMjA0LjEzNDc2NTYyNSwgMjZdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogOCwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiY29uZGl0aW9uaW5nIiwgIm5hbWUiOiAiY29uZGl0aW9uaW5nIiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIiwgImxpbmsiOiAzMn1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNPTkRJVElPTklORyIsICJuYW1lIjogIkNPTkRJVElPTklORyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rcyI6IFszM119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiQ29uZGl0aW9uaW5nWmVyb091dCIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbXX0sIHsiaWQiOiA4LCAidHlwZSI6ICJWQUVEZWNvZGUiLCAicG9zIjogWzEyMjAsIDE2MF0sICJzaXplIjogWzIxMCwgNDZdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAic2FtcGxlcyIsICJuYW1lIjogInNhbXBsZXMiLCAidHlwZSI6ICJMQVRFTlQiLCAibGluayI6IDE0fSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJ2YWUiLCAibmFtZSI6ICJ2YWUiLCAidHlwZSI6ICJWQUUiLCAibGluayI6IDI3fV0sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiSU1BR0UiLCAibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgInNsb3RfaW5kZXgiOiAwLCAibGlua3MiOiBbMTZdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlZBRURlY29kZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbXX0sIHsiaWQiOiAyOCwgInR5cGUiOiAiVU5FVExvYWRlciIsICJwb3MiOiBbMTEwLCAyMDBdLCAic2l6ZSI6IFsyNzAsIDgyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDIsICJtb2RlIjogMCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rcyI6IFsyNl19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVU5FVExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImRpZmZ1c2lvbl9tb2RlbHMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJkZWZhdWx0Il0sICJjb2xvciI6ICIjRkYwMDAwIn0sIHsiaWQiOiAyNywgInR5cGUiOiAiQ0xJUFRleHRFbmNvZGUiLCAicG9zIjogWzQzMCwgMjAwXSwgInNpemUiOiBbNDEwLCAzNzBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNywgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiY2xpcCIsICJuYW1lIjogImNsaXAiLCAidHlwZSI6ICJDTElQIiwgImxpbmsiOiAyOH0sIHsibG9jYWxpemVkX25hbWUiOiAidGV4dCIsICJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAid2lkZ2V0IjogeyJuYW1lIjogInRleHQifSwgImxpbmsiOiAzNH1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNPTkRJVElPTklORyIsICJuYW1lIjogIkNPTkRJVElPTklORyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rcyI6IFszMCwgMzJdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNMSVBUZXh0RW5jb2RlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsiIl19LCB7ImlkIjogMTMsICJ0eXBlIjogIkVtcHR5U0QzTGF0ZW50SW1hZ2UiLCAicG9zIjogWzExMCwgNjMwXSwgInNpemUiOiBbMjYwLCAxMTBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNiwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAid2lkdGgiLCAibmFtZSI6ICJ3aWR0aCIsICJ0eXBlIjogIklOVCIsICJ3aWRnZXQiOiB7Im5hbWUiOiAid2lkdGgifSwgImxpbmsiOiAzNX0sIHsibG9jYWxpemVkX25hbWUiOiAiaGVpZ2h0IiwgIm5hbWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAiSU5UIiwgIndpZGdldCI6IHsibmFtZSI6ICJoZWlnaHQifSwgImxpbmsiOiAzNn1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkxBVEVOVCIsICJuYW1lIjogIkxBVEVOVCIsICJ0eXBlIjogIkxBVEVOVCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE3XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJFbXB0eVNEM0xhdGVudEltYWdlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsxMjgwLCA3MjAsIDFdfSwgeyJpZCI6IDMsICJ0eXBlIjogIktTYW1wbGVyIiwgInBvcyI6IFs4ODAsIDI3MF0sICJzaXplIjogWzMxNSwgMjYyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDQsICJtb2RlIjogMCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIm1vZGVsIiwgIm5hbWUiOiAibW9kZWwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rIjogMTN9LCB7ImxvY2FsaXplZF9uYW1lIjogInBvc2l0aXZlIiwgIm5hbWUiOiAicG9zaXRpdmUiLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGluayI6IDMwfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJuZWdhdGl2ZSIsICJuYW1lIjogIm5lZ2F0aXZlIiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIiwgImxpbmsiOiAzM30sIHsibG9jYWxpemVkX25hbWUiOiAibGF0ZW50X2ltYWdlIiwgIm5hbWUiOiAibGF0ZW50X2ltYWdlIiwgInR5cGUiOiAiTEFURU5UIiwgImxpbmsiOiAxN31dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkxBVEVOVCIsICJuYW1lIjogIkxBVEVOVCIsICJ0eXBlIjogIkxBVEVOVCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE0XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJLU2FtcGxlciIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbNjQ5MjkyMTIyNzE4NjcxLCAicmFuZG9taXplIiwgNCwgMSwgInJlc19tdWx0aXN0ZXAiLCAic2ltcGxlIiwgMV19LCB7ImlkIjogMTEsICJ0eXBlIjogIk1vZGVsU2FtcGxpbmdBdXJhRmxvdyIsICJwb3MiOiBbODgwLCAxNjBdLCAic2l6ZSI6IFszMTAsIDYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDMsICJtb2RlIjogMCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIm1vZGVsIiwgIm5hbWUiOiAibW9kZWwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rIjogMjZ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJNT0RFTCIsICJuYW1lIjogIk1PREVMIiwgInR5cGUiOiAiTU9ERUwiLCAic2xvdF9pbmRleCI6IDAsICJsaW5rcyI6IFsxM119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNjQiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiTW9kZWxTYW1wbGluZ0F1cmFGbG93IiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFszXX1dLCAiZ3JvdXBzIjogW3siaWQiOiAyLCAidGl0bGUiOiAiU3RlcDIgLSBJbWFnZSBzaXplIiwgImJvdW5kaW5nIjogWzEwMCwgNTYwLCAyOTAsIDIwMF0sICJjb2xvciI6ICIjM2Y3ODllIiwgImZvbnRfc2l6ZSI6IDI0LCAiZmxhZ3MiOiB7fX0sIHsiaWQiOiAzLCAidGl0bGUiOiAiU3RlcDMgLSBQcm9tcHQiLCAiYm91bmRpbmciOiBbNDEwLCAxMzAsIDQ1MCwgNTQwXSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fSwgeyJpZCI6IDQsICJ0aXRsZSI6ICJTdGVwMSAtIExvYWQgbW9kZWxzIiwgImJvdW5kaW5nIjogWzEwMCwgMTMwLCAyOTAsIDQxMy42XSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fV0sICJsaW5rcyI6IFt7ImlkIjogMzIsICJvcmlnaW5faWQiOiAyNywgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDMzLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDI2LCAib3JpZ2luX2lkIjogMjgsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAxMSwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTU9ERUwifSwgeyJpZCI6IDE0LCAib3JpZ2luX2lkIjogMywgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDgsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkxBVEVOVCJ9LCB7ImlkIjogMjcsICJvcmlnaW5faWQiOiAyOSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDgsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIlZBRSJ9LCB7ImlkIjogMTMsICJvcmlnaW5faWQiOiAxMSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDMsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIk1PREVMIn0sIHsiaWQiOiAzMCwgIm9yaWdpbl9pZCI6IDI3LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiQ09ORElUSU9OSU5HIn0sIHsiaWQiOiAzMywgIm9yaWdpbl9pZCI6IDMzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIn0sIHsiaWQiOiAxNywgIm9yaWdpbl9pZCI6IDEzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMywgInR5cGUiOiAiTEFURU5UIn0sIHsiaWQiOiAyOCwgIm9yaWdpbl9pZCI6IDMwLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMjcsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkNMSVAifSwgeyJpZCI6IDE2LCAib3JpZ2luX2lkIjogOCwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IC0yMCwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiSU1BR0UifSwgeyJpZCI6IDM0LCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMjcsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIlNUUklORyJ9LCB7ImlkIjogMzUsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDEsICJ0YXJnZXRfaWQiOiAxMywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiSU5UIn0sIHsiaWQiOiAzNiwgIm9yaWdpbl9pZCI6IC0xMCwgIm9yaWdpbl9zbG90IjogMiwgInRhcmdldF9pZCI6IDEzLCAidGFyZ2V0X3Nsb3QiOiAxLCAidHlwZSI6ICJJTlQifV0sICJleHRyYSI6IHsid29ya2Zsb3dSZW5kZXJlclZlcnNpb24iOiAiTEcifX0sIHsiaWQiOiAiZDA5N2I2NDUtNGQzYS00YmI3LThiMGUtNzBlNjAxY2YwN2M5IiwgInZlcnNpb24iOiAxLCAic3RhdGUiOiB7Imxhc3RHcm91cElkIjogNCwgImxhc3ROb2RlSWQiOiAzNiwgImxhc3RMaW5rSWQiOiA0MSwgImxhc3RSZXJvdXRlSWQiOiAwfSwgInJldmlzaW9uIjogMCwgImNvbmZpZyI6IHt9LCAibmFtZSI6ICJUZXh0IHRvIEltYWdlIChaLUltYWdlLVR1cmJvIHdpdGggTG9SQSkiLCAiaW5wdXROb2RlIjogeyJpZCI6IC0xMCwgImJvdW5kaW5nIjogWy04MCwgNDI1LCAxMjAsIDE0MF19LCAib3V0cHV0Tm9kZSI6IHsiaWQiOiAtMjAsICJib3VuZGluZyI6IFsxNDkwLCA0MTUsIDEyMCwgNjBdfSwgImlucHV0cyI6IFt7ImlkIjogImZiMTc4NjY5LWU3NDItNGE1My04YTY5LTdkZjU5ODM0ZGZkOCIsICJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAibGlua0lkcyI6IFszNF0sICJwb3MiOiBbMjAsIDQ0NV19LCB7ImlkIjogImRkNzgwYjNjLTIzZTktNDZmZi04NDY5LTE1NjAwOGY0MmU1YSIsICJuYW1lIjogIndpZHRoIiwgInR5cGUiOiAiSU5UIiwgImxpbmtJZHMiOiBbMzVdLCAicG9zIjogWzIwLCA0NjVdfSwgeyJpZCI6ICI3YjA4ZDU0Ni02YmIwLTRlZjktODJlOS1mZmFlNWUxZWU2YmMiLCAibmFtZSI6ICJoZWlnaHQiLCAidHlwZSI6ICJJTlQiLCAibGlua0lkcyI6IFszNl0sICJwb3MiOiBbMjAsIDQ4NV19LCB7ImlkIjogIjg0MGNkNTMxLWZmYzUtNDk0OS04OTg2LTM5YjIyNzI1ZDZlYSIsICJuYW1lIjogImxvcmFfbmFtZSIsICJ0eXBlIjogIkNPTUJPIiwgImxpbmtJZHMiOiBbNDBdLCAicG9zIjogWzIwLCA1MDVdfSwgeyJpZCI6ICIzOGM5ZWMwNy1jN2UzLTQyMGMtOGFkNS0zMWVmYmQxMmUyNTgiLCAibmFtZSI6ICJzdHJlbmd0aF9tb2RlbCIsICJ0eXBlIjogIkZMT0FUIiwgImxpbmtJZHMiOiBbNDFdLCAibGFiZWwiOiAibG9yYV9zdHJlbmd0aCIsICJwb3MiOiBbMjAsIDUyNV19XSwgIm91dHB1dHMiOiBbeyJpZCI6ICIxZmE3MmEyMS1jZTAwLTQ5NTItODE0ZS0xZjJmZmJlODdkMWQiLCAibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgImxpbmtJZHMiOiBbMTZdLCAibG9jYWxpemVkX25hbWUiOiAiSU1BR0UiLCAicG9zIjogWzE1MTAsIDQzNV19XSwgIndpZGdldHMiOiBbXSwgIm5vZGVzIjogW3siaWQiOiAzMCwgInR5cGUiOiAiQ0xJUExvYWRlciIsICJwb3MiOiBbMTEwLCAzMzBdLCAic2l6ZSI6IFsyNzAsIDEwNl0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAwLCAibW9kZSI6IDQsICJpbnB1dHMiOiBbXSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDTElQIiwgIm5hbWUiOiAiQ0xJUCIsICJ0eXBlIjogIkNMSVAiLCAibGlua3MiOiBbMjhdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNMSVBMb2FkZXIiLCAibW9kZWxzIjogW3sibmFtZSI6ICJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAidXJsIjogImh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3RleHRfZW5jb2RlcnMvcXdlbl8zXzRiLnNhZmV0ZW5zb3JzIiwgImRpcmVjdG9yeSI6ICJ0ZXh0X2VuY29kZXJzIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAibHVtaW5hMiIsICJkZWZhdWx0Il19LCB7ImlkIjogMjksICJ0eXBlIjogIlZBRUxvYWRlciIsICJwb3MiOiBbMTEwLCA0ODBdLCAic2l6ZSI6IFsyNzAsIDU4XSwgImZsYWdzIjoge30sICJvcmRlciI6IDEsICJtb2RlIjogNCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIlZBRSIsICJuYW1lIjogIlZBRSIsICJ0eXBlIjogIlZBRSIsICJsaW5rcyI6IFsyN119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVkFFTG9hZGVyIiwgIm1vZGVscyI6IFt7Im5hbWUiOiAiYWUuc2FmZXRlbnNvcnMiLCAidXJsIjogImh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3ZhZS9hZS5zYWZldGVuc29ycyIsICJkaXJlY3RvcnkiOiAidmFlIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJhZS5zYWZldGVuc29ycyJdfSwgeyJpZCI6IDMzLCAidHlwZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0IiwgInBvcyI6IFs2NDAsIDYyMF0sICJzaXplIjogWzIwNC4xMzQ3NjU2MjUsIDI2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDksICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogImNvbmRpdGlvbmluZyIsICJuYW1lIjogImNvbmRpdGlvbmluZyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rIjogMzJ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDT05ESVRJT05JTkciLCAibmFtZSI6ICJDT05ESVRJT05JTkciLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGlua3MiOiBbMzNdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNvbmRpdGlvbmluZ1plcm9PdXQiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogW119LCB7ImlkIjogOCwgInR5cGUiOiAiVkFFRGVjb2RlIiwgInBvcyI6IFsxMjIwLCAxNjBdLCAic2l6ZSI6IFsyMTAsIDQ2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDUsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogInNhbXBsZXMiLCAibmFtZSI6ICJzYW1wbGVzIiwgInR5cGUiOiAiTEFURU5UIiwgImxpbmsiOiAxNH0sIHsibG9jYWxpemVkX25hbWUiOiAidmFlIiwgIm5hbWUiOiAidmFlIiwgInR5cGUiOiAiVkFFIiwgImxpbmsiOiAyN31dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIklNQUdFIiwgIm5hbWUiOiAiSU1BR0UiLCAidHlwZSI6ICJJTUFHRSIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE2XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJWQUVEZWNvZGUiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogW119LCB7ImlkIjogMjcsICJ0eXBlIjogIkNMSVBUZXh0RW5jb2RlIiwgInBvcyI6IFs0MzAsIDIwMF0sICJzaXplIjogWzQxMCwgMzcwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDgsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogImNsaXAiLCAibmFtZSI6ICJjbGlwIiwgInR5cGUiOiAiQ0xJUCIsICJsaW5rIjogMjh9LCB7ImxvY2FsaXplZF9uYW1lIjogInRleHQiLCAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAiU1RSSU5HIiwgIndpZGdldCI6IHsibmFtZSI6ICJ0ZXh0In0sICJsaW5rIjogMzR9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDT05ESVRJT05JTkciLCAibmFtZSI6ICJDT05ESVRJT05JTkciLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGlua3MiOiBbMzAsIDMyXX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJDTElQVGV4dEVuY29kZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiJdfSwgeyJpZCI6IDEzLCAidHlwZSI6ICJFbXB0eVNEM0xhdGVudEltYWdlIiwgInBvcyI6IFsxMTAsIDYzMF0sICJzaXplIjogWzI2MCwgMTEwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDcsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIndpZHRoIiwgIm5hbWUiOiAid2lkdGgiLCAidHlwZSI6ICJJTlQiLCAid2lkZ2V0IjogeyJuYW1lIjogIndpZHRoIn0sICJsaW5rIjogMzV9LCB7ImxvY2FsaXplZF9uYW1lIjogImhlaWdodCIsICJuYW1lIjogImhlaWdodCIsICJ0eXBlIjogIklOVCIsICJ3aWRnZXQiOiB7Im5hbWUiOiAiaGVpZ2h0In0sICJsaW5rIjogMzZ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJMQVRFTlQiLCAibmFtZSI6ICJMQVRFTlQiLCAidHlwZSI6ICJMQVRFTlQiLCAic2xvdF9pbmRleCI6IDAsICJsaW5rcyI6IFsxN119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNjQiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbMTAyNCwgMTAyNCwgMV19LCB7ImlkIjogMywgInR5cGUiOiAiS1NhbXBsZXIiLCAicG9zIjogWzg4MCwgMjcwXSwgInNpemUiOiBbMzE1LCAyNjJdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNCwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAxM30sIHsibG9jYWxpemVkX25hbWUiOiAicG9zaXRpdmUiLCAibmFtZSI6ICJwb3NpdGl2ZSIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rIjogMzB9LCB7ImxvY2FsaXplZF9uYW1lIjogIm5lZ2F0aXZlIiwgIm5hbWUiOiAibmVnYXRpdmUiLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGluayI6IDMzfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJsYXRlbnRfaW1hZ2UiLCAibmFtZSI6ICJsYXRlbnRfaW1hZ2UiLCAidHlwZSI6ICJMQVRFTlQiLCAibGluayI6IDE3fV0sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiTEFURU5UIiwgIm5hbWUiOiAiTEFURU5UIiwgInR5cGUiOiAiTEFURU5UIiwgInNsb3RfaW5kZXgiOiAwLCAibGlua3MiOiBbMTRdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIktTYW1wbGVyIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsyNDEwNjI3OTQzNjk1OTUsICJyYW5kb21pemUiLCA0LCAxLCAicmVzX211bHRpc3RlcCIsICJzaW1wbGUiLCAxXX0sIHsiaWQiOiAyOCwgInR5cGUiOiAiVU5FVExvYWRlciIsICJwb3MiOiBbMTEwLCAyMDBdLCAic2l6ZSI6IFsyNzAsIDgyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDIsICJtb2RlIjogNCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rcyI6IFszOF19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVU5FVExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImRpZmZ1c2lvbl9tb2RlbHMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJkZWZhdWx0Il0sICJjb2xvciI6ICIjRkYwMDAwIn0sIHsiaWQiOiAzNiwgInR5cGUiOiAiTm90ZSIsICJwb3MiOiBbNTEwLCAtMTMwXSwgInNpemUiOiBbMjEwLCA4OF0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAzLCAibW9kZSI6IDQsICJpbnB1dHMiOiBbXSwgIm91dHB1dHMiOiBbXSwgInRpdGxlIjogIkxvUkEgdHJpZ2dlciB3b3JkIiwgInByb3BlcnRpZXMiOiB7fSwgIndpZGdldHNfdmFsdWVzIjogWyJQaXhlbCBhcnQgc3R5bGUiXSwgImNvbG9yIjogIiM0MzIiLCAiYmdjb2xvciI6ICIjMDAwIn0sIHsiaWQiOiAxMSwgInR5cGUiOiAiTW9kZWxTYW1wbGluZ0F1cmFGbG93IiwgInBvcyI6IFs4ODAsIDE2MF0sICJzaXplIjogWzMxMCwgNjBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNiwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAzOX1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzEzXX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJNb2RlbFNhbXBsaW5nQXVyYUZsb3ciLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWzNdfSwgeyJpZCI6IDM1LCAidHlwZSI6ICJMb3JhTG9hZGVyTW9kZWxPbmx5IiwgInBvcyI6IFs0NTAsIDEwXSwgInNpemUiOiBbMzcwLCA4Ml0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAxMCwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAzOH0sIHsibG9jYWxpemVkX25hbWUiOiAibG9yYV9uYW1lIiwgIm5hbWUiOiAibG9yYV9uYW1lIiwgInR5cGUiOiAiQ09NQk8iLCAid2lkZ2V0IjogeyJuYW1lIjogImxvcmFfbmFtZSJ9LCAibGluayI6IDQwfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJzdHJlbmd0aF9tb2RlbCIsICJuYW1lIjogInN0cmVuZ3RoX21vZGVsIiwgInR5cGUiOiAiRkxPQVQiLCAid2lkZ2V0IjogeyJuYW1lIjogInN0cmVuZ3RoX21vZGVsIn0sICJsaW5rIjogNDF9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJNT0RFTCIsICJuYW1lIjogIk1PREVMIiwgInR5cGUiOiAiTU9ERUwiLCAibGlua3MiOiBbMzldfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjc1IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkxvcmFMb2FkZXJNb2RlbE9ubHkiLCAibW9kZWxzIjogW3sibmFtZSI6ICJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby90YXJuNTkvcGl4ZWxfYXJ0X3N0eWxlX2xvcmFfel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImxvcmFzIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsIDFdfV0sICJncm91cHMiOiBbeyJpZCI6IDIsICJ0aXRsZSI6ICJTdGVwMiAtIEltYWdlIHNpemUiLCAiYm91bmRpbmciOiBbMTAwLCA1NjAsIDI5MCwgMjAwXSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fSwgeyJpZCI6IDMsICJ0aXRsZSI6ICJTdGVwMyAtIFByb21wdCIsICJib3VuZGluZyI6IFs0MTAsIDEzMCwgNDUwLCA1NDBdLCAiY29sb3IiOiAiIzNmNzg5ZSIsICJmb250X3NpemUiOiAyNCwgImZsYWdzIjoge319LCB7ImlkIjogNCwgInRpdGxlIjogIlN0ZXAxIC0gTG9hZCBtb2RlbHMiLCAiYm91bmRpbmciOiBbMTAwLCAxMzAsIDI5MCwgNDEzLjZdLCAiY29sb3IiOiAiIzNmNzg5ZSIsICJmb250X3NpemUiOiAyNCwgImZsYWdzIjoge319XSwgImxpbmtzIjogW3siaWQiOiAzMiwgIm9yaWdpbl9pZCI6IDI3LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMzMsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkNPTkRJVElPTklORyJ9LCB7ImlkIjogMTQsICJvcmlnaW5faWQiOiAzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogOCwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTEFURU5UIn0sIHsiaWQiOiAyNywgIm9yaWdpbl9pZCI6IDI5LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogOCwgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiVkFFIn0sIHsiaWQiOiAxMywgIm9yaWdpbl9pZCI6IDExLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTU9ERUwifSwgeyJpZCI6IDMwLCAib3JpZ2luX2lkIjogMjcsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAxLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDMzLCAib3JpZ2luX2lkIjogMzMsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAyLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDE3LCAib3JpZ2luX2lkIjogMTMsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAzLCAidHlwZSI6ICJMQVRFTlQifSwgeyJpZCI6IDI4LCAib3JpZ2luX2lkIjogMzAsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAyNywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiQ0xJUCJ9LCB7ImlkIjogMTYsICJvcmlnaW5faWQiOiA4LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogLTIwLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJJTUFHRSJ9LCB7ImlkIjogMzQsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAyNywgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiU1RSSU5HIn0sIHsiaWQiOiAzNSwgIm9yaWdpbl9pZCI6IC0xMCwgIm9yaWdpbl9zbG90IjogMSwgInRhcmdldF9pZCI6IDEzLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJJTlQifSwgeyJpZCI6IDM2LCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiAyLCAidGFyZ2V0X2lkIjogMTMsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIklOVCJ9LCB7ImlkIjogMzgsICJvcmlnaW5faWQiOiAyOCwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDM1LCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJNT0RFTCJ9LCB7ImlkIjogMzksICJvcmlnaW5faWQiOiAzNSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDExLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJNT0RFTCJ9LCB7ImlkIjogNDAsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDMsICJ0YXJnZXRfaWQiOiAzNSwgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiQ09NQk8ifSwgeyJpZCI6IDQxLCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiA0LCAidGFyZ2V0X2lkIjogMzUsICJ0YXJnZXRfc2xvdCI6IDIsICJ0eXBlIjogIkZMT0FUIn1dLCAiZXh0cmEiOiB7IndvcmtmbG93UmVuZGVyZXJWZXJzaW9uIjogIkxHIn19XX0sICJjb25maWciOiB7fSwgImV4dHJhIjogeyJkcyI6IHsic2NhbGUiOiAxLjU4ODA5NjA1MjM2NDg4MDgsICJvZmZzZXQiOiBbMi45Mjg3Mzg3Mzg5MjI0MDM4LCAxNzYuMjc3MTA3NTUzMzUyMDRdfSwgImZyb250ZW5kVmVyc2lvbiI6ICIxLjM4LjEzIiwgIndvcmtmbG93UmVuZGVyZXJWZXJzaW9uIjogIkxHIiwgIlZIU19sYXRlbnRwcmV2aWV3IjogZmFsc2UsICJWSFNfbGF0ZW50cHJldmlld3JhdGUiOiAwLCAiVkhTX01ldGFkYXRhSW1hZ2UiOiB0cnVlLCAiVkhTX0tlZXBJbnRlcm1lZGlhdGUiOiB0cnVlLCAibWpyX3Byb2plY3QiOiB7InByb2plY3RfaWQiOiAiMjYwMV90ZXN0IiwgInByb2plY3RfZm9sZGVyIjogIjI2MDFfVEVTVCIsICJ0ZW1wbGF0ZSI6ICJ7QkFTRX0ve01FRElBfS97REFURX0ve05BTUV9L3tNT0RFTH0iLCAidXBkYXRlZF9hdCI6ICIyMDI2LTAyLTA3VDIyOjAyOjAyLjgwOVoifX0sICJ2ZXJzaW9uIjogMC40LCAic2VlZF93aWRnZXRzIjoge319RaVToAABAABJREFUeF5cvQmaZD2OXOtTVmurbw/aihaqSh/eBzvHwJuK6s4/wv0OJAgYRoL3//O//7/X7/u73X633+Nxv99vt9v98Zj/fH+/7/c739xu9/vtfn/cfvP79/f7fX/P1+sxN9xut1secP/+frfv7/v7PR+P2/32y8/tdp+7H4885P77fX6/2+Nxfz6ec/nn8/688/Db8/mcZ801c+W8a97zvd8fz+fz/X7/fX+e98fz9Xw+n/P97fa433+3++fznVff5o2Px/P5ePx+v7zr9/t+7o/7cz7LnxnQ7f77fGcYuSOfzeWP++/2nNufQ4bH7fv+zNtn/I+hzwxr7ulE5ukzyFAg9zvN71CDG27f7zsvuj0ez8d8e/98vxDN27w//89g5lHz2Tw9RBjqzNfzn1+Wg3nk/nzlE/Nh/mBBZ7x+Mwszv88DIe+swn3WepY1CzW/z6LMoufJl4d/vp/3++8thJ0v7o88a5YgT8l63e+/WYphG8fHDC/8ADfwzO+sAlNljvPH4zlju2cktztEcDi/HZEUYAlKx1Du8Xje7vdvfn6/32vY5RGunJl/Q/zf98dKPR+P7/f7+c57wwS399//voYPQ4osH4NZ6rqUYQAWIjMaHmPiLEEe8JhnDzm/v3nvvDnUduHgGdYsIxwuhri5YiiQux7z6W+YFn6bxfx+570MbOgeoX3cZ/pZ4Ntvlmye+ZlXM/LfTPn5uD8+If1//vM///nPf0aw3m+5hvVwHaH27XfLu+6zSr/fjHmkCU6SDxHbrMisA58PIEQ0QyhY3Pn+wjbzqNfzCWqM2PB23stvPFppH/Epp0ObkXQWOrw8fN5XDCvlJeHCuUNWccC3YZIuQTksNzCPme83uDA/9+9nOCWrP8tx75ItiORF/ZlVQFCVREQwk8grc5uDgdB51H3ou1CZJRjhCM4gOCNJSEBoAAplMCM+YQK++nw+Q42Bcqf2C5gPn9/uz9fr9foTbpOAeTncNZB7vz9mucPPhQxUQKRoHv77n//1P+/33+/341oC2kP3WSkxakAI8s6X30D06/Xn/rh/hqYfxHj5bujEOL8z60fEKosLHvVFt9vnMxgufl6QE/rDBlmjsOPOIECkMMx9n0GDFcbfF03xeD557vvzvt3vr8eTx0Ru5gFZQ/lrJjvMNV/kIeE3Vj7DfYYf/v797+v1cuGQXLk54nYLN6qD55cZfHFMGonJ6rJZXN8f7mfE31n0MA/iEzYLd4X7JV9E9JvPJdljiDbs9fm+vSv/x3xFtVnBPOXxHNqN7lbu8nBFj8EwhuAqulGmzWTy1fc7mOWKBlJQ92MbSHnpfNGChYUSWLZQBDLZnTbD4PrAKQOAT2EmniWBRzTK7OHk5yjH8nXQPgMYw6BIjmDmPlaKlYgIfH/z36haxFcCyCwQaeRMqklN2TkGgzeAPAM70eOMI8SZwdyGknnpL/Al3A7/zDDm6cx0lmGI7BsHP0XScPjf99/f95dZz9xzS2BrmAq9XFpk6MhAvvfpLkxg2W8Z/QXrWBcUzOv5B6PIMc7lI2LIRhflkAErVLYfin/CPShrEF5xLg+EVo4BcHO+w8UjZZ/PJ5yTKcth4U5HzSAU9lloWDJGL1yYDxbInTByoXhFQOZr9O/YspWdUSsDWCN9zAItyHNre4wpq4hFcGRsmWSuG1yPASDSggqQxaGMRgu5xkZ6v0fMs57zLxfMV5kUs2UuMcMxkbGEeaBfROcOw6AQoy1F2ljvM4XaXXJIRdjHRBDBgeDPZ9wCVI9gOJ/XahQAx6hC/YaXwuelvPIIqLoS3DrXyJkCJkv9DQFjwWYKe/FckNktljCFx32cl5ls7BwN3lnNGdPz+UKYkcPO1nXETxEPIwfYh5WP6HiYbv4OgvgcoCKDCvPI24LkrH8dH40TJCJcMeyBU6WiDdwFikfLFF53sK4NUI2CZAbnKqUMBRtWVNuMmajc5EESLbzaZWIeI7NcECD8fsacAMQhaSFRkcqoCjvnSRn88O2YphXZCMhYEa5FrmH8uhDP1+P735hOw7Tf3/cxWnVG+f1+j1k83z9u0dAorvHivvdZy4jKYAGeUQY2qBS4nlfHHQXRvuP9otEf8UDHOIoxPSL0/YbzIkjzeVTamHG3T4j8i2Ma1/T7xgF7/wY6B78GWcZiQMSr+qNQH/fP+y+aDIsyTxjCI6OszXDAOOTfz+MdQZz7P+GiMWdjJQsWj3vM9drruTLOzf3+G6uxQl3uy2s/3+9IxaD7sBp2kqwbrTbyUHb54X19PjE1HtiCSNTQJ+pFahcRRNj8KWzNiIxQ8O/3M/48TJ/pIeRHC35/Q6XPTHtQp6i/1sy8OTAtVwzDjta9z8Le51+mjkDEPJsXG0eoXD4ev7uWhiL/eM7qz8Me6pXvexZOGw37GerHBBmDkvBIHoivk0lHflAScbBjHgwxx3uMZD6eecX38xgTH3YcR/X5Gt7DW56P/n5fr0GN4ROkNG5mTEAd/DAD4YORFyaDas+qKZBBJpeI0aq67vchGnPIGrFs4QRNpKtJFAcsKwoWGW0Z2gKQ3/fv8fxg74TehBZmpUZ1ERWKrfJJdOf//t/v5/N33Jnf2E/zZD26C/jMb7MW95ljBj5jXmt1FjI2WdSSvnnYLCrthUkRLgIE4KVH7i/SMe0J+VR2cKHHmw6HBdYnUoHpMxQbObo9//PnP5FHjFRMw07i90Z5VE7i0NYuuUfRIrazLnELE9kIEOcWPOQ7YpLATmzi4T2sQ0MqIE1MUT3UQa1wwud7H8uyqneeEvaXc6pyNM0DXx++FT5qROKQz+JqliBayuHgcDyfecR9bP1wYJBJHaF1Fk3zC7i/37phzCKvfM56zcQ/3/f3o9qDt8NzQwcWILN8d96zegljzXsGRPMuYaie2zrsOKWJbQ3ml+Awe/XIk7VHxeMPh6hfrBMDClneMD+2BDOKRlAHo+k1m7CfR6/g8eJsf7+JhWG+4jbnY8zT+eh1dDmD/3yHK6XM0D0qcHQVy6qRtuN/3CbqdI+O+/t933VYHgklP3+P4e5dzhlngG9UVdBm1T7WJyp1gNelGSjDxwxPTtiudySAFdxPQIeXMMshAjh6DPfKUa1GwcdQyIj8xAeRItZlXAnMAFQaZMqCipPR74nAVmEmXhd+8aMspqsVEi4C4FPFslRtxOQd5oxx03BSQkU6wOLpeAGZL6MIbyFZ6yYRQ48quRPWYeqzHHliI2J5Arc6eZmWUKP8RdwwnhXKK5g4E53X/+6Rryze8XvDWgcb9R/57wwvtkqngRwRxRoeycNm2J+49Rt7ykopgtAQ3Tq8ER6ZdZzfJe/fv/8leKRzPNbHUED+CLMNw0b6qp0w+zLT0I3oa0k+UySgE30Zdo0tOQRKYCCuDghwGwcw0bDkJ6JB4NXco73E/SwsLKt1MG8NhxjQrLJLNuI8CJs4oM59FWkNlSxfuRBud6m/3wmm30bOMi+ZTqEZ6EuQFJuHj58RjODWdxRLBPr9/jzuzwneZUyE+QdjHr+Bk4rQRlQR0iyinJ//EX6NUnBSsNL9nXj3mEGIxmECWej3eIZQD5k20yST8RlUJHA2F08mIKAx1wS4zFbkpxFVZBCzZ+ypsRMwrZEj9G5iJaqJqBIcWEyDeeFoTIVdBmYRw9Uz0MCerlQtZ1Z0f2ExHrfH/VV5m/TYZ6WWoFWYZogT/tXggZmkxndyeDqKsQ7R+43lj7j9Yj2OZ5FQYHnPtM3783k8B/EIGcGDWYvIBekoRQ8sx41CqbEui+3zcJDdKAC+X+RLaQsAzwr+3s5LMmKxTzJvdM1bdERmUTY8IIHNGd4idEOPj99mNg1yKcLoWxA1jDvhs1i7wahRL0aTMXqYKpA5phyqLiZZuCWWvMp/5ZHhBeOarigm5Jc41S51dfeQjJ9YKeH5291YSZZ1RDWO7v33IqAIouiPxweCA8nIjeIsqflw7Fp9DzASi0QKZVqPsVTQuuBEVe9aZFAf+MPWZNTz4MSNxlGM+xfNFDqNcw06gPUzNZiXpDB2UvgzHIPZ1FgOqmtcofvtGZhgPeL76VCNYz+qZa6dZyQaOknm21hJDBATEDWOKh1ImEBe3g4DjQBoibta3JIB+WERNF/rOPJ1lj/RTcLAUdAohRFOP9RCWdCUQQFQELHIvgGtYwKEOB+thPAd6Y0MYqBMjuTyWP/JFJQp5UGM03vMeqcqcwK/R9DiRuVeb8f1PSiGt5tQN6bVM1YlA8qNoeFnkBQvMMwOARp/hVXr0Y2xi/UeO2/GiS5CJvBjKoAJx3zifmh346Qx/IYT+o75F0NlIleYYlOuEK4bFzNyiecZWsQE2OdpwUvKmctzggsB3tgB5QadZKy9MdZHM8UVgb5aApOj/A7QCRRdvijIo0NjUEfffL+/91/LFYaQvo8hmeNqYkam1giLtekE8ORDBm3KhoAzHlA1VE/mOA7YgAAuXy09rHCYLUt+eDjWXd1Y3P8Bulh9389f85+zwDNaxEFOvr01pBIcL0zNN+GxkenJ/8MnGdGk/yECxsNvmGeTARmdNlANbli+sHCbsAef6KDF30thQpR5Cg4IZ5DvgMFqN2G5DjSZGOt6AFAYCeRtHeOqbgStaJDf+l3Wx7c8wmbxq0iYk+JmFT7vD9HsZEgUKx8ZMGPhkNX3379kp6Psx69GN+dyg8Fyeh0JlV5RAVOnhgG4rgGemRH8DicQJh/tPvAd4wR5MZoJtujmJ8mXkFfUcyxUPOqMl8CNuiy+Cm8FgWb63/ffk0oyA6+xjQVN7MyYyEMtGd/tsgT1sUkcEwrTd+G3xB14TkyoIETiEd6NsoOzGbBDQGoSY1ve/b0jbfMJqQCtkeE3Au1mYcT3hDMwIExhwG/UnBCCqVQSqpO6VeKRKHNSkLA+iLG/6IvhfBEImYk1DMKVZTXASGkGk++GeLVxgx2AAlATjcOiIUdglXB6EQcGREFK6Cwl546HFh/JQ4QaC3t+8IbCIQDvCB0xhhA9pEV7IrhIPmw2kDVrN4Vfa/39Pm8qd7oymBw73FgrdfYmXPptwjOPHwsjtJ11DGzwYoY5dEpawachFOcq0pzYAGd6nymoez1vk3L7vaxtgh30wYrKc+eMgZ+V2dhKx6JwXuCO5geywqMyr7HbdmCxldTyRJESJGiaMZ9vocJiL5aUiimxPq5NUA+TTMNgol08X2bGDMyoqLiBhYqj8k+1Pn/GjfncidyCFGoaFMF30jTzN7UnIyAivC/CL5jADR5FalvWPe/6xHBmIBO5T8J5IhEToR6M1kNU5cSTSYI3hv2Y7ROPzvCiayJzLUrB58RDmAXQvcciNTxlmVfygRMgJr6vggtPlOUcpTIJSbN2RuPn05lCwtMo+viKeb4prTwOmS/TQkRGXfnrTESZJJxDA8JnLEHi536asGUUU9R8QgxEM0dqspRabcQEH+S9YT+MqqVYgkojyyHQeA359P19ExuC4VlFHIrn42lajmXCloRjAC8w27SH5mjC+9JkYv55YGppB/sCUMOrkhvbuvKMxI1TeR/3nABNcsyZOJY5+YNIB5ZhxpDwSuUsxIcnRk5TGknVIast6Au9MtmQuQ6XpQkkCWZ0n0k4YTApvTjlJXUXPYZJRvZ4xUftp32rYtJhHjEtHWMJRG7GZyfYEc2n4CvPVgnBXffb7yW/rXmnTYbUGGQtNqQWIDENipQ+74/2gHwrYMRtfoRbSOKRzctFQTJLrJOQnOoaxHDnVAiHraY8JE8PE88KG8iBgnBfcCYA4YsYMya8fosRDiJO8xYUp9wQaRi1msFlmvPW2NV5IbnImuT4VGhllVnGhE020xrihGEIgualoTvLCeNjGmSts0LIMK4U1tuQelLeuV1WhVjMukERCD//G1Pf4ITkwcizJInAwfKz65zyUvkqFRoVMzDGOhacdOQNQsJWyNDYwUrLQFBTFRHmLrF3BYOOxUL4BakO+zXYpmxsqhM6DxETXSEqGdH3R4MJzmk2LxHKSby57sS5I5f8//MxhfTwJy5BqqNXhR9B5SUxxH+ky4B0OA1FGygYAJo4bAo1SWHWGoBBkq+Cvph0ejwjtfCqgOmKI5ZP/CtKBqDAwQX+q72EIDC2mV2GDsNHhEPBysiqe1Te/Nk4yUrjlNFMwWgi93mhgXD4Dybm6nDKWJqpamP9Q5S4xWMRm5NPbDBlGkXksQEpRg3roHspUMJYcQUnCrDcU1glcvG43ciDEzYewsGjZAWDhkAa6wHnP1J3ygrsumOT47JlKuHwi/wAjC5rUZZlxSov1AIRQAfai2XNMmhNEKcJSoQP+4UWSCTZcAMFMq57/kNB7ARcSPTlpdTv18mcC4EnwsD3eRohxEmJzJBT/4zta30+mcasc8JDWzBElAZvbj743B5jdtwGA51bxl2qzLswXbOgpKkFRugZ31zipNwiMeAEN2dA8H4EoSEMmB+FN7PBjBudk/+IX3V95OfIdXYMJEDVaRKWJnqTtUgh6H2SXtyfFZpnBhkMLP1+37GKQlqGyaTxQpUoBJiQ+aSOSacFgpqVxawACBYk5XZ4l6cAbYS0Fbl58SSfCeXUwTYUNUKgiwL+YrPw/KGBEuYVYEeF2remtokks75NZCe8mtAJb2ObwhR9RX0Q1pQPSYemUmFFQLW9EAfxWjKGBw8neEHlGIybQDDu9EWaattJK4yZZwzcmJm9DOIedO00j9mQyUy8ZdyYlAHoPZ/Kc38wQ7OUFuAxWhDWp/NYx7XvFftZRpd38zpek7xqMgGZzFwgJmN3oLNqDENYNVI4bT56fybQDUmTl9rLEj/67395Z1MukprK7YMehcoC/jBQ6PTEkYiUmAGJyPzu91hry3aZG5W0IYqsa7pCDUtWY34GT5RavkH6M6yMn6lj0pAj4ppxsHdlliskMsa2HyoUlAqVw+fbpKYzkKdh2liq3983GxlqBfaRwb0JTM/oJunIuob/UQHsaRpf/57Ilc5EFkpMu8QK0TeI8yzkICOCq/RFGbAUuzkPG9QyB2CEexIpy9oUMMkYxWHGDoGf7rfnQAtEM5JRKGWuAU/sSGuPOwhzaRKQa8l/dXbmq8MApBaotgxWJHiY5PxYZwoRRgh63Bhdl2zXAOiqMtAeJsNcXWxVM64xFjsPALkw5AjgYZwIDlrGBEnnkQ3PJkQ4aX4sfLAXfGBHZnLtQVfsmrhbzHS4BME0OzgDucTlQ4GkVRl5CotQ2cWHQ+L9MbEM7O8qyPShFJqO3YWEeV27zB2lI5OEdfUBA/EzHiCdi+Gu0IgiuO+HtPncly0/wYL8qGH5F4s0Zq4YgibIOGaxsmrgrbdrHLKjBIexoc9aGkwV3s9v85zEj7CdyHVRE2ewh7r6F467Bk04gmADvBFIy3BZj8SSU20TfU0NA0bj6EgVqTJKqF73Utel3mVCApl+EiyNnTKYlAnh8EACVaVSHdw04q6JH8CaXI14kquIsVFEBC5kVIsT+ZkpTA3D7fedcIs6P1G9vIDYNzHTPBR3LQ+pEs2sCeZ+v7fPlMrsQGMt5df84F6MsZLX1QNRw91vL/bDhNXM4k0w6S2Lx3Qz6lT91wwW48hi774R6yyoDnLasC98qoaoOjSJEdvw8OaVXjETV6rExXqzVAYbRCiXrtp0hAx1LYE8p05y3YTb4/t9Dy4zAdN3US1y1Azk/aZuvBPTyIhdC5myWnHYZss6a2pVLGqJHOW8d7aJu1OlmloNxoPD8IhuF18FA2FGmhrWMWebBxgU6HJoBqH4a8/BdBgHh2iVOzGKfIpciGryqYwvkpVUQ9akBJFRuE7OxYRI2TYOYS5OKVpWspULgzx4ZYJpHsvGnsEXsufLC0l7rPgg9L55bbqIEwn+OuNuZ+oYg11CkKKfdIdO5WzNyIY3sIx0CGuCoD/WF3EcIllt99xlUBCyilHgGFcE2cAMxp0lzfJCParwpsiHZCKMwXLqAtUQzw4risSAEdYZycs4U38NeSnBYUvXoRn0n28TRwmUt/RazTFxU6R5MhFTj9BUvL4fdEjdsrMKKUzbMonAMI+h3r6sH73CpLIOsRUwgLXXyS5MWV05m+RnuUCDDe0evN25zfseE7MrNqxnCNcNa2b52QyyPD/3T9mDSiTP0cWRj7Im4ZYNLEajK7+itzIeUdWHvGXHTONFed/gs4G2XRdi1fVYLAkQ1WQkxSfwkaIUcAXZV6wZVUYTltEur/QUcQZgZ+MGoEt8Cs3EmIGaxi8oMf0knZD7U9eXKvBV9YjOwQrYxaFTHjWR3zIZtGLY+bulHrOREmRS1pP1TgkPIVFsDhI4Qt/YYZRRQGbcLXAz6QfkcN1d3O++X8P04HRHjYCIeQz6e/vcIxTkyjqXa3gxVJ4lJ1/krJq55aOs7fJMLoIFI1/MCa5riH9Gkq9mxlMQq5+TTSdYgV3oupaKWGbEI1kdXkodcWwplyG8FH5WFed5UMzYRCNlAF/Xzp+Aa+wcNhx93mO1x9ArnmkzicVdiFhWE/CCSRcoxL1c+RmfdArJSlPVBPJ+FSWiS9ZwhHVwOZYaQDM8a5SQzG2eTj0wq4nCRJMqNqwLl+bDqLkLTFgdkNfFjHFU2kqxzWK9jcUcn8coWhkhb2N3XvZdYYeQDKUQALd3GH4eMvLyCRrwggkWyz3ADjzpVjGDKNXL2JPWRJwBLDHdK16CNMSWot/QymQH00t+CddrI6oU8NdLzbubl1Zkqk9TvzmLRweSq7AIcfKlPmNGDANeagkTxkLDEwEXGy8qdRB4tqchQdxGcFt6aRXPmL4pX0oKtObTFNOMYxqXD7rlPS3fXafSbSQRiZFUUrB4v5AR/x8ZB37CTDCXQ8AWMVOaVbOygpFzVepewW3skOwj1AchOnyheFcTIMgbK/UsO+NMePU5OTMuZ/1WwMOnVUKsTMrRN8pYoE+l3inLJTQLhVwaQIa6MJLtpZJlMVO5PfsiYdAAKfDaEGdU+tBfDUNszNJ0X5m7ZhMZSHuPVlq8i1Y1DNrRzspcSKNZVNiHjmLj1LzER1YHom/55PMZD+35eJBLgXM03YzzpdoTRreAHGEsw7ojfIMy4e+NoUiCWHXdTMUcZG6KPBm0bkmTZAle+FmNCZcm97MJM3/xb8amRxctbz4531meMxlCtkom/Hz0RDhF44nUgktL3inDJSSm4pnY2mO20DU3aJSvLo46yjH5HvcLEWKRqimGxCuNi5YY52wLg6WIWJf1g6ShQrCMQIexWxEcKIpgOqujDEWKTlcfaz4yDHyKqM1sIO0n3VIYmZ4xJiZRTCkrPUA+/z9lOMBWrRYq0CbZP3HfqZYhJZtpRttd40kZR61dqoPYrwIzMH7BzkBJ7g0OmltADlr/hnCzb0EiLKTJczI2fiM66Dbbex7vZAlADaSJILMl6uFTCu9PViVj1DZ6vdRtxuCPN4WsuErKrsy8HRdYCwL2BE/6OZHdhDOyKzWIz/YPkRB5Lb6k6p3lQC3kldtZIfm9Bv9SykCevH6B9BLwak8nWQXzzXogA2sJqQ1aC9b3p4/U7mKyQRhR0F0XSNv3BkZgR6Q+ESV0mxzLJCnZpTBVBNDjgMBQufl5v0fKTR2TqdMsyKDZyBoEyHZHBAdoQkI2o0uNWsoBhGj0OFokRodhria0rX3I3veYMBO7gCdEAO1gKkrG57R9DsSFWbroy1aJcwHDl1Bjnpn4dziEzSAdeikdZcDmAxkzF/PPXAHGIRNFs6pt7OmkCmPLPm7jpgVy5z/jumPR4H5hB0xImEyBMQskNi8MGqdJVZG1CMYKSmKgdyiTEBUYbgQRZxI7VfjFwQRqiFKcIJS0nPIcOtVl2r9bug14F5hhGYVZCdC4mOvrTn1ngsbwJF8YSIIO6K4dnqMgs1BXwXrmNniTmXlbllagU0LhIlgA7r0YCkGh+KH8uZpKVVj3dS5kH1MAI4sVDuJG7oIO23myQnZoowrDsIpNFCGND4BY5wZMx/AY7ERoZpprsi6YwmQbnDvvY+i6Zuo/HR6st6ikfQj3JeySQjYrp+de46SZA85GnFvhCKIWgbEZqHCB6mq/DgCyBmO0r5DZMCDWcEZPkCzeoWA1NxNKCt2omFVvgOrYH5A5K5Y8VeZFnVEdvUwxZZZn5GqdhbJOp4Gttki45o2bNBYNbo9H9h+lCKKlFooG8AdcqFshuAvGK5UNcaSDyo2XQugtdwttRRvCx/g3ajosZcp8jxKF1VvZfpk6mkxoJHbznIAOhpUTHnqyjyD2LCQr0h3TK2MT8FfCRIWYKvSOpV7SoCouBEG4VrI2ulgLrlblK9UxlSACqtgX2Yxoy8yQIZuE04+TakTZGApHrEetH4NHn5n3wuHBT0p8Y8FAnMxO66J3hxkM1U3Tw2A+BWJUsaV7AstX8x7TGOtgxk/cCHlku7hrozowE7jLTwEaVCb/xHiWhSJbWzWYzavTVAgSFZbQ9fNZLAFeN08Q0gtBoVo4wQjIXPl8Pqf5x/M1bTI0nkeWp2bQyBvsMv/7vD/Tc3H6+06tCukukqj2goUiVWH6XPy56BlZg2AOLOSdmTBTDePcEZYAY0PlQxmiAQxyWwjV/pLm4XlyXVo0MjZJ1iIDRStkrVod0HqosD1Tk9zSVC+dWZFriW0IODyyH9yVbbI6ku6mSEqrwrRkZ2ONsI4Li9CEevJXNpvZXpXynkgVNh8S0m0PyFN9y0RZjOwC0tSMtUzRCRm9AxcQKNMOFS/HRtVuywZ6q7zYWQXTlFXIBUq5LCVlNQSEqkdkBTzXM6K6pISPsDAu4KsGwkw8IwGFqXeqFOX/gfikymkP40jgDyunsg8r7DjWXhpUpxtTWo7F1UBJU0o7FybgND/4G7x9maYaKIO3Akn6ZIEO9KKtcRRlbQ1N86U1iVRBnSoTB6pB8EYUXKazGNI2lpxm89InNneSUUNXbTXpmpVq1GGUAeGVRFQptCI2MROkTAALXiuTou5JETGSPC2jpli0LaD0SRJIp8E4ARFCM5fphitRXWDtVQfvvizqXqqWsPfRB0RZmP8QzWINKViycMsupMAYXlVSuEj0wS8Q9ywTI747n0eQm/3u6qTAWIPiWAYtPWAc7Ilhe+GOroyLMsIq+0xWvqElKkh5tsEGaKAQIUhKSmeO8/OJtUocQTrUQV1GjaVytJdRQ65BobbyQUYvVZnjokHXVw9QozaAw6K5ylowI0juNmQR1D1rr4DCksfUC9/iq09+oE46tjuewe+Tzm3sEYpFa3ZLfusPk0quyghUTTAZO0ZqvB7vo7S+3OKMA3mHDTLjhZHUSetNeaMOvdFTbax8TxC9Y3AFaomXx2kLTPWSmHy0wDKSpLKoSXiCLS6unQ7AFPu3fW4wc5q1IvIGrQETvH0DlPNYqtjmMvQroZbhpN/fzxvmjNgPy2G6OSydQyYIV0GYGegh8ih5e8nCbxQjxiGsUV4+VNKxnoYCy6V0D42pYRiiRiQiE56mMmhjDc+7taYs6PKtBRGsEJn5hon+GYI+6noOSHflqkIfDswaMDeFjHsQrhJW2Wx4QS5DLV5ksJj8zLdqAfm30fP8zc6Oq2MZf2a+DD9AojC4Q6Lcr1F/J7qvnZ+zo+TytRPJb9IK95WJQJuw+Ex3/MOZGnIJOsWObChVMg5S0mugrzbzk3URQxBIjR9NMTitd9WdI8saFuG2hCSCITZ7J6dNEEdP2UmyTBkWPQUmRKvtUXG/RGPtlJY1CP/QWqa8DNhuKuMIDpTMe+QW/G5uXIura4G2CaG0cnYA8lys8TGJkuB9N/zaEGsUbnGgN/Yh+Q+iNDNJOJJwcKJtml9co4wuuzAcCirRXxgTfElKqr7EKlneS5y30T7VNFzB8Rk8n6LPYTer/yb1l94yhGiHVK1gYhdVlnMaZQ9a02EUVmKy9YxUrLtrqY54ZpTrUXmpcBxmxhXMZ8KO9gw3+XzX0qpDmgTx7QUYy/hxiIDrf9cFeyNkkvHjpaY9A2PNfDQE8oP/D6kzxiJzXq9vjnSBl2fx4XxBJeaw9HKxuIQdholK44pr5tUOiTaPHs9RAAcrutaSifwW8AS5NqLA3y1Pi8u5HGW/w5kI08ZgjmkxQYLiEjW2QEW5XRoSv97P7aE7mV9eQHSyKEOnCOOfS8wUBDEb5E7raH5dk9HvDpj6WFYMGFEhVDGFwvMd3Tf40ICO6SUEhPUPfWqK7CwxkNZYXUGLZ1BTnKtjVHhJuYjnI+rST50ushHLu98eKYFebpYhO2XYLYCLiDrovIOo0vzuBv9gIvWTeT/EM6iDzMkdFE/CFqmsJqLGhkbmk1eQ9stm7uFLjlShJyIDxMsifZpse7yjvEXjGt3HW13RocmZJhKEkRe7SgxhzbnQJGxY0i2SQGcMwXEmG3NS1fZqjJuqd18ZJInz4PNjlmAMpUZ6Zdox+0ymwUsKN6abABsm0izi3EkiQZ4gDHkxy6ovEmhsYGYFpLNp4jpMZiFM5Mdiaclhwqo9XWa4TXs4ALlz85a1BPbtVG3AxoQGo/HxQdAFcWmJUhPf5c8gcMu9W7wlj1daMtpPmiOlOmt+YrOrI4VmycLqZbixIQBW8y4xIz7j0liGJ1/XDCW6qQCTup79AbhY81zTN4quhT04hG5UyKSNZ8PsrC+mmV3ZA8JrXWqHzVAodpoAFoVPbh7jyiwKRueQkfBWAgq0Pdo5hD0KC65RMDZj64o0HslwvFbCieXgpqTjz1nYhnvzyZh6ea98WJYgSEFRvTCxCp7XYUVRbVCIUnxwWVHgSPt8HesKxwtXjgSFPB2ldubC8tdtxhsCeEfFEkR3f7Lorc5tyw13LODSs0q8y5IqkRA50eqwQ7jLjoBFye0gzSkp5ykRV9ZCI6C4HY9KeQeYGVgzkTd7Y6jhAhkUjkhoLikOZra0oso5wxUUnpCOATmsDg+pr4p0JW7iAgEVMYFGYo2LQAn47Ttd9HPC2eyMiBcKPbdiraoauRq1D6tEJaFG7W8fln5ON/j5PTbob/5UV1eMFLAY0JYzpqiVb1tQu2Js0S+ByO4K0fPCcxMP48C4jKsnU5jNbe6cr5yWBwiysCHL5JsLygovTpNw06rDTrJ/Hn1WoGQIYXFBxwwsEA18pdN+ZjFwRVQIyoZ1EyjJeydBNImlKc+m+mnObogkzmSs7bC5Dg38zaN2qcBn2LG7Sb/3xzQoqVcnP85T3J4wDzVW5VLJ2/hSAkuehQ3EhbAnOIrryB9XkiJaFNPoFW3ZLQNFQSYRknLLafeixsy70MCUKqjNYRX4v3a5jKGzOtLTWi0XNgqrtwZhso1et2NLRqmiVIYrzlxf658Cb46HiSP9mRabcI4BUAN/9PoZGqRLS4fnCjn4zkjCtwVDrYHKJuVX6UyTPeQ1URkVsoB+Tg69bpgtIOkmQF4g13Z8zH+NGeRUt9yllVv1QdawEMLzELyfS5sxgOfzDocAJGe+We5ELe3KWz6p4CDjTo+B2TWFl3LxYJFB0uH1gSQ3lot+xRPWXZaEkU6DXxeF9cXtxEqqNpQJcgssV18qiLchMwAeqzQUqB5pVty1csmhaV6BnedTK4L6dPP/6I0wcRQ3fbCy25bWD3EyGyB2fUL1tQosMPH9qsK8wFoJ7Jw2dzmxl+HzjwZGR8joiWtpMpKCnmq2hF2nwHb6wCFK2B08kqImK3NXkPtWxPubTZQUhOcAnRQ1w4KxMyfDn4Mnug7qSFG/dhRK/HsPFDSVzVq45sT/XHHFcEp12uuHsClwmuujgMUcykAYwjx1S+tY2YKbPED6E1zAS2qIB1covRtDXJmQVT/hrXlG+o2rWyF8t+Oaulfh0zcOpmPNijBrbIwA5fQp/856Pt3/xfpyCqAPPEZOWQj2MAA7TbAQN3kvgyD+GlrYyD6+qNgGy6rc+GnJdS3e1NjY54MfVtGLUFN7M8chJBBrXBNWQGryf/RVd1MuplynguwtIkCH+Qb9D1GW0y72DU8wdxecDYtISSjPo+jvzJHC1oLz3LzKGgTGqvQ3UF6Twg+bWtm1M+U7vXHx94DZUACjBM+uhoaDhq3wFM7LpBvYxASJHyMS9B/uYF0FfyBRuQ712T1bmAW5xndnKaGhTwGO8M69m/MYiPeTSN9l4nGN45rI3UBaIz3ZXDR21mEki0JbsUOLUY48RYpL7IJpmRQDmoQ/jyU4ncHMBrZU84YfQM8L2zBoP2HxKetF4VTPYesw5aBC7VpTAnULWBQC6sKXawcOtdFZLJsiAEsizzucfRyYnoe4G4dWQ3r+8kRmfAKWPOBIqGHrrm02OcQKwohyW3rZpGVLxZeKIRi0xlJHewJGVDmN/uGV3OA4iwgsolowMfIGRwoe+feiJrmLl2lx4eORHEOAwni8hxANfR2IhzG97KCRXqQ74Gve0CptO3+EQewnkbwEVThKPoOYWoZsANi+FAopsVe4sWLNrPLgOJOuhEiig1R8YwDYBOw10sAvtfnedkQOPW+A7KFIjpKS4QnWXgfR5FXql8Y+LfuhkETAgopNDQlidmoZgWUpWR08FpnFooP4aXkceW+Y8JJSYglqlLrRCEkKn2DP6Tpit4UelGNkg1PqvbMXAIivMYEXt3VZmD0UlubAs2BSZmLSD3kvS0gpVpa9zcYc4ThCZ7JEpxOcSS3Pb/am0iTChWT2eMX/GLssrdb84XsDBzrbBXbHZoFCAkchIuUbDQuFxNYf/SP8MUg/0xQg0Yn5Wa/M92ue5LC39JW1GhxBdicRJR48gMlRhRrjWbVV08exw+eXSWBpAQUrdx5/EMNE7RbIqGdSlAvJjYuGjRrnhZK8GHBlCQ4iCpqFlDyeZ8Q5n4MhctZXKDl+WmzfKZG97GE0ciql+YzJroASYkESvIvpkMMBqYVdJjxdVY3jgGqBrHVZw7rMJ9A3WfRsZaTLIw/LWsJkdbr8ocpvBN6opeNBuRYPaOQGy+ZRjeMMc+lfgVw8NO8sTsQ0c8lB2nApVM3BrQk8iPQYMPBeeCZyvWmbg1k+hxdubwIKlfJ9EwNdVswd99nVZ3Tv7o4coMhKW9sIWargnCafL4xolfnH2Og8IX9TrlZXIRkXaiizZ56rKH0CsKa0FXa9YBHygsmkKNUT036urUs3PlU2xg8BGgFnYNSelkqXnA/V8alqLCmSLDpwSdaqw1ll69LAwLLv1GkP4fCIpzmuSiJ3L7d5iyuIfcWuOXlCPlLzXt6Vh9TAIOCCGUCdBXZj9mk3c4bwkyv4Df3fn++cAc9Ao2WcbY0xX0d/xKnINQXVVTNu0H2CAmroyQ6yYwzPEU2UNJWqGMy80XWEenIuMxe1MDOzgFJkPswBoinPbXwz513Qf9eRMhHZWyZqUTrVVw558eoABDyFnqp96sDCVRf9l6hKXqJRldOIszeUjALOpTdRaE2vEU6HQZducpFqBDhTbyhiuYIGmx1DRnkJN0YMc+MEoLJ2M/AXyyx2BJRw5XcvsjkE2VTQAa3lXkifS3ADLEu6cKpufci9nScN91qW2z3xwGbVAcTOAZvqXJCIt3zae4M+bBhWGX10LZyqCpYm1+mgzGt6E8mePLNubGaoCaQBU6NKIzDm9WXBMXcq2KpT+FqtU9aWC0P1mM25p2HIxd8AWX6Z2vrAlhw3T0vVcpmvYwPCOeiShSGm7k/9lhnrt2Wfa9PUTtUBaJdjXOe+CB048NSuCQIQ+fwU90xJJKnR6qSwckMtGpFZmjyEgItma+nGTYY8ciTEkmhiaQme5oL015fJGjKoqMMw8yvFY99ke4qbtHEBOqVRkhu69G2f43JV7eHG6SPVOfFV81sCa8Gy6cMQqbZfjqn+vD3h5Ec2boT2EsSdYEA5b5PbroKOTeFODFgJCSWMzaZ6HQD2x3A7FrMZGE7Q1aQtFMbfUT9mNkTBVBXdq+zeucQjtSUYW1bqHDtcXrI5SW5FVRo5IkYrDmKmz4kSd7S++83S/ifnqWgTN8qTQ6Eq0XX0WjpbKwSCk13OGRy3CTSyD66ZAkLLDaUzmWJ9gfVoAk1bl2mZR5if5+QshI/RjA33yZaImn/7Li5A15JY1i4PN2Zis8k0Ef2NKjPgkHZ+cpcYC0LicJK1XTzUSCm6RspNNtZ58Ho4IDuFZK4D5pQW/yadSBwhJ0/aw4OFhm22DXI1RgWbsGZa0mRcdqxVXVXDxEAIxdKVtxuyXWjp7qNkKiphXD4Ir5QjMfOsaXIxsYl5evZcwDFy16LPot6+iagcbWYhEYlz/A2Hm6Pa6Nua4cQYYo2afWDrbCjvft1DG0rRRMSAVaiFLX70bFlpOos+nnQ3mFy0mzPnPfQ0Ovt7UxEXIE34Q+cAk4uER2gfjQfyVmPKG+AAaQSqfbqaHoSHzorMMh9R3VmgWTykGpJmQUnVhb7TX6C9DPK2jELwxyJf6Fb25RmORR1hMVQZS8uaN6Da6EthcOXCXWGLerJNnvn9Zisimo8dX/HotJHwODMhZUh+1yJhgKFUS3OEpoIKvJnPyaIK6/NKHAwY8MQp6QqY5ZQfUCKcoxePN7uaYTw7aDQLlN4NrUBbce7+czCZvgBqDf7lDVclyLTCxqYuVnWUfoeFFlnbURWRaaQMnznFnMTE2fKQllJIBPb2CR/iNms3whwaMAlS1MZQ5wCCBAuhZvcOMAA0ph1My4vVYrOrU1ohKd3vJuegNDvtZaojWY0eZJ82TJskQSCiexcZWZZDaEuB2NZU1ntBoMSW2BlX5345LmmG7DulPNatwAibwp3uCRPeTAem0ASYHYtl9DAcup01UIjyKoTjoohvyC6SLRH2eDw1rRCTNaWIrzxmKxB2vt+nRldzJUl6ZgzIBAl9C8PWJ5yI8+6bTdBstfb3987JeIQqSinXqPJYnY4spbaFdxDyJ0GSvjbPLYRhqmRTU6o2K0ufEc/CzWtwR9/fz6yIzr01C1srwQ5Qm6/Ql6E2jUppDSqiqJ7u4fVQA6FbTqha8sNlEcDxrFTASgm1VGQYzzMdwK+8pwJglpT/Q0prnXkDYgb8ie1ZKTUXzJSnMwisdCQasJ6BIcTwbbPH96V/3NqGuY6edu4t3d+/HLM6cLpAY5nKps/X85tG3onEzQ/LdnEQpAI9M/0AtoHGl3FUFM5E9Ri4h7X3CSGH0QjWYz58jrOiIKWrs6zNKiYfqLnCm9khAKAYfJCJ8SJO6gmlw/AYAgnXDGhmsmYx+hmZUXH6kHqT/qvZ5PQKE30FRZ/5gxY4xcv2hFRO8gQtnsTYkFNLXvVWlogsd6l67hJyGkvNvKo2aEW2TSyK9Jg/CUExMAhzdcih/05zxWbuetHLjlXwCUi1T+8j65w0/xOgztcrlwxZi22bWKZ2pSkJGj5hIUIJZ8jud3jOGunn48UUSKvi1I36TA057LoFWjIrqVRYQUSWY5CYPHs+SR2x6GyBjVopuWW0N5YNUwxPiuLklGkhHXdFbobA2X7GL6AI6ByTPYcErgFojV4aKWywluWTK8rt+494euKqlQNQktYvkbuNrZD8jCjMxetXiWsy4bKez+oPNuB36oIIeGCVLAK6jMI846z2kr2zMstyFrzlS/LlPGf21afbROxoeaGR1kEAS7CCniG4kLWcxIC3y4v8rA+fEUdQwqKb+0cwaHHVnRrMjfVfhFODsKQSPZPCkBqI7zYB51vD6zCPsF2+EKXIjkbE4eUmCF1Uo9R51WKV9nYBwvF0KS981LVcWLCzp9OI5v7OOR9ZGy3SLgukZv41fKV3I/3uo57xN8We4NjhqHZx02iulcj4l4GkMxZ6ZJM3kAPJvBIUn1WIecFeBvYTQGesBTxYNS7KmLUgoIaCwK2j5ixzB6ctoOm6YDcahks5D5k7XKQT8/LdGWR0ltvqJp6piFGHGZQ/kptDwN33AzaFe31Ya3fTmiHDSVmO79PyQ5YyKOGp21bt2QbP5MUhRanJtljqq4mRVSr54DCN2klaFG/WRjuXwW5OEES05DzjDGsJE8T4RIkh1tgu6/MvNYmbF1aWEw6r1xY0G4k/th9epKxlBYiwYl+UcAuYHB7cCP8kUnB8pHIu9n54a+JlF3tUMlQikwnEc7Aoj8tA6Tz9e78TdIaziCIg/DOeSdFHiVLZg4b2S6B8KZa5tVnR/GUMXTRutyLsLhxmRENHexFVyd1JZb1IGLqOnaaTTMwOozZTgpfyv2qYwDjcuc+vYxDmZEqhPOG/lLw+XsknBVj4Vmx3DNe1ITDa/SPBEAA5tY0ZKZE+B89zOs1+7jdIDyPD8KoSz1d7Hm+2TYEUhtBTmFspWfAhULU0Wf+/qjyXWlOA7ChzcKtZU2QWhwezcm8V3hTbxJOcl0a+UyKbWjm+GACoOCFgJbDkXZNjI+Cm61cjNs+Dnezs+Jnxz252THpIiLSm3VpWp51p7RrjS6oEnckW6WLGhapk3dMXSjTAmIOM8HRrFxiM9q6z28EuX7c+VD2eXEh1n1cE+cst1kUS5qYETPvPF6qcqkMjujkgnCPlu+el/pEMvNBq4yhADFJAFPiMrWHbtra0auGAtm3HgkXeM2eQ7yiLEPMU3qAwM7uwOGTPYVcXrlBvAuHsmFGUZC5juGjqpfOJX8RlbYAcjpOmrKHBezZ6cNzjdI9zn+/t9sz2Jec5PDgWedmeBGxGC+86KJidWckJGI7dPhArZ8MkuCuIF/2syzfSAWdBwwXNH3Ooqp1KevqcMDYYjCUPfqhYGDdUrmjmS68IBWFqOzOxWBtwnZ95b1iEH1Mr+XfNuGUUpf0qsXp/DcROaCqq2v1Uw4VYLOiG+bWNtfI7U+xOSPdHx3jKSlElhQm2ol6QclOKZO+8PdLQkGLWJiviW+RIlDfkZyJjXyGqLE4JalEZeGvwhtHQI2fXVYSsqFXfiD/wK1rcujivdddhmjnSSkoxC1HtVYANTQOVgBIH1bKgrnXRNkPTMMIfEMHiuKBQORI2Q1gfcSYjACDTISh2r+CQ4poNX2E/cha8QfqYROlHIsNTMIYZXUtiXtikfdI8lRCyghMSIsEBAdVwysF8lt1owdsEzEZewF9FgQmvkg4fuEqkixdZVEewBD3LoBIpdGKIjMSowKaqeJGMmvm66jYAZ/61NbF/7C9l10qLwHl6nxw/CuWk+ImO1UTjuR/zGpeUIhkr1cdGhHJjsav/HSemLUI9C5eCRvgEBbOq0VAnQhTUz/EXCm+2Djg2WinSQ7uq9Oh6IKxagzUEpgn8t0qY8DB+WmHXZdPaDh0i9AomeJUjBNhmHg7CVE0Jh44SZhDa3STEhsfFvvAbps4RauJ5QOjS8FRjlefLNNymyd6HRyJSXm3op1gBtosDpaVNH7IlNSe78n5eyUnX3/esGsuvhRk/MK1oTGkS2KIhJ4KxqLTFMsSFXcv2w1TXxU6aYVCJXWwBCkbogYJ8QhGNbYFD5E0OyFQh7ymWIe3gxl3Yv9IUaYjWmKJWyRf0Iz3FLVNn6Ikgqd2AnlbfzVA/n3f2vflSTYry5MJ0DTWa8sDzxV63MsQVzOUcXGk7AfrZZjKzX0utb1p4EC8NGJbOsAsMEiABWsEl7KEc0h7BOH4j8QyeA+PIfaLCup0k6CpdbOpT+txy1T99ZjB8FVdNRgRM9RqJy8Ys4o4rLbUHFJECFfx/8bUEbS4UQ+Zcup+5ITK7hQl2AxIqQrwwMZUsl6YgX/hW5lQT6hGcAyvvYsl1BLi29o9IEp0YHI+sIlX0ZT0U/boEoPdtji9MsEnjLvaJbwRf2KTHSIiRx+n6/f78538mSzbdFrNYRfXAgYLGYkHmvtURhT6dj4Qq2BiuZSlO33tFXI43pZ9JKuWQQMOrKs1orsqBy7MiTcQuPRZM8mJ4iSCCRgfioZL19jwHEt9HI1/XPeSYvwhvnM8FeImi94Wzm+82GAFDhHmzJYGFNslaaz43waACs0tRZSHfpgrLh6p1qZGEcLIA9zJ8gqZYiSZ4gwIDXPNoRArVMg2Cgl2oSiXtfnv+2WZInthCB2b83k9qzsk0ItGMli3ln+lGrw2pbNYcRSGw1EHN6eaabqysUyc6VgsmSmMbKLAsTip8hSrCjTQwSSsj3fWFdyodGkg298vOZPgS2miys0yGsBd0Zk3GuWgNF59XMUk3vIYxrnLA3K3Hc+KyNrhJvfjcgg+2cR9+gHDlSVc2gxtGNrBizNT+Y6FP80OSNoXWYSDYsjGIuKKG7SIVTJcLy1wV7jwrRSLRdFbQmlDTFqL5dMGBtIEF1bLjb+o9ZGjkN2pa7mGNor25wmQ4Y7GjQt7V5DuXb35jLrQHx1JwxYT5z3+PIQVr5B8umSp55jMuOWE2Cle6Z1DzLatbJaUdU2Mt55PnfYkR8LpM1jQ3GaE+DrzgL8fLC6u5WBJxcyM6B21qQIcmICjctveqVFpWwKryev+I/qiaQJ5yozUhgDIhqARwmw3DcmB5pfkRlJq/tT6wH2HTPKhmKquY0CnwTfMVGQUUCz1xV7q2hRHnWs3lMKgPKYilv/8GNaeCUrfFMSO/7FjLUxEo1WmehuACCbFKCbBiFckX7KTC/i/XE2ENslvzlxlJJQvIWIXErDTs8j+KUjQYeGgcNIgU33DWWoPbF85MKUpnxTNnFVI64BvC+PzN/v48c9tRMHfROvuelVLomCGH32xLcKyRsxhclTcbrtvam72gXvT5SfVByqBCSSKykYOMCWFXJWkXDl3ZQrloJdes0uxG2QQq0ROX12Y0Zlpmt1suYalUw1yMxGO+iT/u3rQIkhhnGT2+0zyHpD7JAMNA4fdcCF919OFp1IPBH0P1oEcmzcakvLOhnPnZVa6TrjzsROsDitnAHevOpObl+kjlouGB5HayPSZFA+GrBRbTkEfyZ75EZMJwDQfpBvNWncOp8RP1Mj8aztekYpFgEJ1gFEbEIS1o09QUS5cq24wIoWMFJW9S9BxUGDbK+B+Ts+5GSJaCt9i5AUheFtVS9NiJsHSRxGLQA6k1wsj8h5E5SOp7/z3JtwsXF8rl6GaOTdH7Vd7X6YgewShOYye4PNWDw2wJZSIs9LaBRdlKXWZzgPEZXMQZCtvFFazZkzbYm8KWKcUMJ1SqkASMC3YtVdyNZCAwbHPJMVrG/mqAIUi7my63rrZvcsmHUpjNijIFrGfBVLkOwRuhXiMz0zOCEyNLLCBQUYnScPB6nICk4hoyZom3mIL6IFgxnTC9b8EZyJ1/VW2lG9ZMpVXRxUALGdAAeZlGT38wreYMrGiN5MH4/xb/OeHqnfx3LvnzGnPLuBvBvsQ+CPEoDoYqNu6ZV5qEmw/gRWbip6dfesfHJEWYaV8ybcn8ffbAoejBBHRY7zQivHSqLdBFDLSNVRYLEQtqYn8ZFrtnQ/M+0uDsEgb9ldrc223qjaN2P7838JXjIyyrgRDrdRq3H+LHu856Xbd3AdGuMSrd7Tk82z3kmppbdpFfnq9nFPdSAtslur3hePBz7cpEPM22Y2tgvBBXrGOqULORFbuBx/LxPM76ZaJpBklSSYSMZvjKMaBROzeESOG6pqlkkJc5YV7PrAm0eQ4h3hhguIdxSLJI7DY2Ks1zNLkktW6VE47EuLRQttLOWmA/KzvO0ZGi+VweVS4zZbyhbhCUues8jPC/Xql0oIlgc+8pi1BPw/pdYtKeBGzZj3ZSQ5Nxpep4SZdL8X1RaiQCPrO3Nh4Iasx/k3edQvbWfTRfygWhT4ErvzBCpt4gNW/nuvl83uUaspd4MOwU8ccVsp4F6cKsMa8AW2lXMB8s12w1fHzvaQjfJYu8oA+6gxIdIzfNKHHLV5+K7iyxKaEadmEOeb5YuTzJWJYh4SJVhsypBDKsjMfNbgWirK/wPrdipUS3zjUAx3Jcn5mBN6QrD2fUUxq6VZ3xNre12lqFjT/J2Ve4tDCyiW9on7UPbH1v3+dtjAy5nzBbpdVM5uJVZlRfMQvMBTVDd/67qJ+0nRhqpuskJ2foxbH2+Ie5y9qKBNirDGfiJvGSvgvTMp59qSFqAzOpnd0eHtAq+lWFTBkLCguLRLMgA/9+fhMcz5AGkbFYrk35DgdF4tmpjdlL400tlznmO1VvNoLebiOw5f56+MmXUgAgARlbYCLt10gaPH0hu2wfTaJrTyC6ZYEAhc1vJEE7fLqnCE7pGvyDET3AHonw7BLWcoYbTGM70HQgaxObablJw8w06mh0NXCWngRRmrurHJThp6CeCgv6Z66JNvN10WemiybZ9/HMIexZcbo00xmiOqyWUPMSHni5TRfKAPgw8FzSrQQEZNkqu+nOnsQdqBJuZpXuk9CjDoSayPY/j5zK8KBuUxP9EI8X1Q/mZFU9JJjS9wE/OWevCb89n5Ophi1aka75FJG+ONbgiqYw87FmVasF37u5cWqGhxo0AnF2c/EQKrUecP9GP651RFQcoPeSWNIX70gyCLAcxEuqlqhOOCyuy6RdUlKudTPrle3bpreJwzRGJklRrhwijiKkSVtQWxPzKEUfDtIoPBoZRo7CXbG8MfzbFrs2UXKIy3HzbCe8Foa/bOC/A4bmBYrnHKVjpw0z3i5Uqijh/ilhxhh9vdzmvZk0I1nwX0SItjdzfHfFB3+uZy2yKuFDi8pj4shh9rISlUj3ARbjhzsDkKy7Eu4/WkEibAOq6T+sZSZ9sQwxR6kzLPdqcOD5gzUSMEtkHA3LO2UU4X09FngaQidyztF0PqJEbph8HI9ELSsr7IuejdOf6QYSA9iS2kCuOyrVz1mOOKQJjNgIXUNK6FKHGs/FXKB/FWUzqLmuoDgaWnAa2TwQHmPxYbnoAhpJ1Cutdm7ih90QQUIKdBuza7OSo7RDXC3iIE7iFhWA2lO18CJHLAspqQdEjv82RQ1Ykz0lFX6nvm6MmVcOaOwQZlKqYAMoUyq8Z+AuQbk4GaRsm1ymYHNz0lBtaQa1wmujiQBSCos2Ep079Q+05HiENK4+GHvXXjiKq/+p8Z+1k+eqx0PG2QGoIr8YThQgqFK5vGFOaOjGOR5FUVJ6Z/F8ELi60hbogKDpoAwuzEa5pk3vEkoz1cY/GUDmlRgGtooBvSioHqVWK4sTIuofJZKB8DMN4Y4wWVoX/Mbyg5BhWfABk2ZFuOdvpWoPPMjz6YQe68VQn75ZSIHQFVRlHgO92H6EeeDTHqUxjdCwUyaf31jCbAxh+x79nKAMT4UJox83bRMYeWE8zMZ+Yxs+Da0WbV2yzD9VSfOc3Vtbw2KJh+DEDKMf9XIVWPlMSe2wNWc1XeR3RQq3Viac2zjtudE2za1ciR2Ffas7Dwei8uweXurNPCLgoJvLDUHGzh9NMSYprnje3NZ3o0LolaUpkttZ6pTiVKqauKKkS8pIVXhmnkKTQpkwxyA/n4/X6JicJDJ0Oa1/5yGEWjYEiUEYx3v2safZlcJFJELICzszHsxgHwmoRZuU4owfQWPk6Mw8Q3OImAfNZdtINV89Hxl1jtQJ6d033iL2EHD8KSIhI8ujhYkOj4qbvcA7BreTnv2SMGR3J+mru6YgSehCV5z0nG1rBmiPwt+sDOLPyCAnfMgIcNEyFLy/aZX6eQOrHO9iq4hGEiU0SibPbJevW5pgZRCyWl9H8wdCI/pfDSnCuWSXaYZx1oZy/PQcY9tJLg8s7jszDZ4B+/C76gXIBJqJasSOMes7ADoOUi72nebZdeicqvFm1m/iN9ln220wksJ6oyAKORDaXRJGXBBHilwKS9RRD0xFEwstG/o9bZ6kOvEgjRxvzXmGa9MTf9NhUBJWOFZmhzVrpyIe5KPITZEPzKJVVFZL4v2Bqflz2GKqaGNvSC+IoScJCplJOdmPPs6VBoPW+ZQl16CClTuBDG1Cetpj6Re/Yg5rudvN3afTNSp1hFQc8jSwO9v3VM8Ua3VErJroG7AyFBjdXxZVqxHh01sKmcbNY6oWJbd+glHyC3U0tPsCy1KG4Vq5+Sq7OFWTGspdz3yQpkY7EqznDCO380K21MW4cUmfr9HjhEysLMD2wAQKIKKilQCmnr/ze3D56BVyHBdY25IOEjuwUasMsOlHo37Gv9PmyYpyngFGAAYrBOWBwbLlbovkWalPmGAcgAzIbh9PugOFcjgSVTWBhZNnWOlID7wIOPOSZ0sDg4jI2RBtLuYCDUWokfZd5Etzsohhe7ygvA+NUactC9NXBDAUpr5e+9//QGZtBusHxcCkMgXZLFH1X5hBlbl+8pAZ98G0BmQpM8vNVOhkIJILxJrGCuRhkPQcRe6Bq+RCARmDb0R2CamsOINTsjfxU3k56zRb9QMwhGZjIrOvCaWOxqSknKkRK+hDUQo1ZSrePCoB+993utQG5P8NqEU1bBL9+5ywd45BrEGFBeZEcuoYEoNngi4ZQXOHmy033L2UdT+lGUQS6SFQ0qgOktm2kSSmc9PUx37coGEueoXxfvecB6YGjHiE+OxSpjM+SMe9RklCIwYSsRVrSF56tqAD1OSA78gb99dZkhroM+X0CcOWNgsKt8jZNeKGMPTNsStHiBMrHNmch42oF7N1wrdc+YQnWGu4sEwrKkU7c9oHmSjFI3lYMbwsuAKn9sr/GT4rbni9cfmQJeBwTb1G30f6BPzemhdtmLljya3VrbIaBQNEPcKUAipoVvmnjbsqoM2ZUmAlgvSZ+bPDQJoa1LTswq1PYIzX4y0TDVECxtGZJ5j6m44yyZCBmjMugiCIxvB5os4sk0mUzGsHIJ9LjpokERMTc/mXB8wMB/NwhxG0eebn/eG0s7NScSbhhLhSbHFhjjk+Q1HketfLXIezhVeBsqrdcPuQ+vlsvUK4pJGRuYpoZuUlytd7x4xbT0tYHeueWHcDBeXokBA5im6tVlJjABg1ik1XxlhdFju+E9Oau/IfQQ8rXuk365PX7jlnLFpQ/VRkZwV4wVh0yYUSwG25k/UfAoZ6J3ic6tPZw3zeFh+4akMr1ArYvCKvj2LFxAg1wy74MRP95Fmx81eSWeL7YwJhQRNUBmrCFmK1g5jpSgjrwgyPm4NOd/GKjTUP1dxpP5S9uLO5JkYOsuCyxRLgJDnOc0bxfb/PoV79gkQT57hNwoV5ekqmXEWtmowi/wXVlSCer/2ohafLOwppM4hFoOm2WrXPZLQzW/3FWvIL2BpTNJEcNAtFOVwLNInXaPZIbFh4mW0ofGLtrgvtzBQBlQ5c4nM/PxLR6np+CQ+pa7Y5yC5SFwx9jfjLeyy6ZuZaO41l70P2vxbS3h8vEQ0sYEMwT6+IcrBSF4mg1mrTREHEwxF7Im9RH+Z87DZieZtShHnibJpH3b+ZU4+2V221BXaEaEMLXNqr8I3hzfThHJ8U4adiE0eFvTumlwd8I3SzlhHNuPY4eLZZlQ9kVl+HK5Lxb2AUNtFvRGxTyMGsxyB4jMmS3kjsgg6dA0iIJscdl/g+U0+DuPhhqCxbwo3J1HI+5nzZXDGwPk+27bgsVW1PkjPXN1SaavAsGIwF85vDV9Zc2mV35YT/4nDLuGB8KQegZ0VIGVU9zfMTc9SlH4LYKSOOQg7VnYiorZcBqkTpPlAfEzdhl+lJG0PRgLebCvI2jcVshBh+wrSCBwU/wgkZ/zZQgoqzLupgvbLP5zMRje7k7vTBElS2FO5rh7YbnM5ysBbFsh1OWR073vulY5AIQZkP2JiaWE4evqxETABfOre6Ogw18J1seZoVzqQo9WYAmC+oJ6IadCNDtjNadJzZEBax7yEmlR3Fj9ktM2m9cVDbd/cAn6Dmmydm5lzbIh7zqh4v3CfIWgJV8SSjmBDyqwrAuczz4qtEQrFb8t1o/UJPqQ6BoOIsWSotsHbW8Xay0R/REBH8GOirWUGuLpUDdRL5HD2NqTaPDfSbfnS52WqYtwRo41MlVx3zkfdkJdj93lhk/kEJ0TunVB24gqCJVmCWr1AVg/MxUSdOX4fhux8pwN4X6WTgc0KoeFxEQ2oiwyQdBaU088BJjDynf97t79+/ZFoXtqLKmNmM3NRlF8qGHzPaz5xfhZ/D85NXjeerOe5QSxr+RTVQdKq4BccSg0PW5NR9cnmjEpLpoXWtGYlAE9UsSEZZ6IBPdUikxilotTvxeaeVvLwvwaFozK0tckcoZgidPzQ06r0Q119fly19sK4OR1JDvK4JRy6mccPt85kvUDcELLIZmAFMS+SdTb4/qSecDE9SpIbrSC6bFmUmu7ZQc5te4iGILawhbw6GuU9T+Fi+3zTu3n0uzT0yt0QDRUr9T17C+s+0OWrWqA0MiTbfepnU4edHgrX1FOU/B3+4ufxc+JoXWlQC41SXfGdvC7mETYnoqVPCzf/0iDfc3OxK2Q4+xvzcJYA/y+URcVXMzO5jI6XoZ+27MRg8JGJ7F8PLRqNYbvcxqjLgBwrEwKJhhUn7JwFIE2lKCbK7Pvpl0L6SrAz1qBVNGP4zh05jh6TrQnIlnZKWTpBrHlmAPiznYi4MI/4IqGuZ/hwm/XDnVtUCeweZyQouxHk3u8+wTxKaWNofrsiaoYz4MIZcZF8FjT6vUhBbOhDmeGS/irJscWWz/H/8Vxauj7TxCsi5WnxNkWHCwZ9UfbekRZ+f5Ukqz4YoWcQsOkNfZnM4AZka2Ks9ZtuUqaz9gQcwcjSgNVBP+KQ3SGC+bBM0aeR+Wmudzcz1FXmCDw23xLSZcAo5vhNUtYWkhFJJZYIqDz3BPTrbWGTdyLD9WgqB0756/kxMABdrYoPximsDaMPQc8ejkkIMibudcp1vlaaIcOYi/1+kP2wGl7U2IXmndQhRDAScLmTLm2O3VFx44nyHhm2ogiKX/FLcpWJwt6qFExx+fLhEWVIGlWhCDoJ+xEyC3GacowNTOUUgLt0KZjN1g9SWZIRBGR/eU+XX0pv5YiBvA3nMkLp3paz8Hq9rMsAE0WNaXSgwz6LI9vdI1fCltqeIXa7lPfFWqjyacGuowOXn/8U+3hMBsqmveDSvmn3gF/lXAveNmfXj+Xy+np9PWjTxnY/d8E5els+LPuoInPpQlVXzvdht1hgguM1RgG04zFvXWvuAhY+sjKD/UzYOSQj9pfCtjanrV/9jQi3UhGYwH3GWBGLSNgmji0lPeYhYXRhdvVVvqd5JooMLokxIPC3EkpjeD2Ll7Cc9XsQN4Cji4BTqvC4NLC1vMzams1nZvt14T6U6X+QUyizL6LRnpAzxl/N2R/KBUDZkyjDGHxY5M3yGMkmMyeJmAQSbOgJ9okNGiNSLq0oKfByiQ2P13JIsB0ZzZ6mE+uDVFFCAK5eMZYQsolQ7yiFJlBHt3YwEtai3BBgTKLB600oFJ09sy6ciEJof9ubx5SueYbTqcT90i6bjTsNEODCsmJxq9Irv0XHSdQRefMsBSbkxUGiGkMwbriDn1wm1c3ybjF0QyJzFuXjX0CUyKNrMoxXFWNs5m36pi2/ZvndSNjNJeaFGyan8TAqyL41Lknz41Y1wRa06xtno62qz5h1Vt+UNDITfZA79xPvCnLDqeCaybHb+VOV0qYVe/py3ny/KCiw3gdz4tOoKFac925ZBM9Rm+HgBX4dSxduk+PLd8zVU56DFCjrSHpDPuOnxKn5iM/LnxK/YeSFU+arU9CJ5kQKBjbhe81aQM7rZbeiqKOijnqyDTT8t+YEiYRM5MCn1Whm80ioVl3/IHiewd3//EkKiRmAryWV7bivZdq0EJ01NNzJ1BDwAdp46CI2hx8uN1kGmcixIz+xU2XXLsWDK/iUR9nvsLl/oC9xUr4QngvD+vOcsWcq4yAybj80zumOdt9jpAJsyz2q0Olvz5+zcdLBn63hfRBDRQtwdpyKgGk7I8vuiNoQJr2StRByNEyXo1kYt1yo0JAi5HKbOLbsYVQbxEwp8K0J+iBzDDNiKFj9rqRTJLUdU/XcLlSjK08zk68wDvs6K2AUGUbmCqYoNF9iR8xniMjHT8Z75WHPWWvSV3qK2u3es11B8B/1S5jOAZuFk9GmDk1YbpomRGGf5KOTqgGDpTSlkydqsgZswveaxnnWMC5TD1FiN0bg9WqZAik1jB91IRwykiI98VO1M6hpxOUuI7bqn8eWzBHs+CnTBcC0cwK4urEDW+eKLZHZo2LSgoGcSiXeKIoga8gCRVp7PPz5VZUApnOyH/t1YMJX44BuhFxiMiGgy8KlLaHleQv+YtSWPABcV6VaUvMu6+nC4S8b0Xs/ZpQX5BvqMhJMjmzoRci3ctZi23l3E3nWXORASUoDqHvYNOC4qpdNiTa5fFiYxC3cZ/UEA1e/SrN00589kQFScSDFeMfYVOuTiSNSem59qvf3HpoAuD4zhLuukWWpRfJ6vV4p1IS0HRmYfH1ZHvX8312xhoRiIl9IXlwKYIkIVeCcDeIHGcjLQLDprPWRqPQLr6AlSmUF6SWLnbETNoGrVjSrKv9BgOCI1Hcj2JZ7WjzFZBwlH8+JHdGAjdU3yxSDMUvF8xE9quIMdKVaYuWgjCAgECbD5AAovl3eBXimvzcQS08iS+GgME05lYxEO1fNIDGU9xrxhnQVqq6ZSbazzORSxGdfQZfbYUBaSmRu448m7/4TlLq6wxV37e4hicGJygLF5lPnKXGgAmCZz0FR0VoqcZyx24p2+ZfYH7lxEtTXS+XyFuhihDFcvd9yONbSw89uBSsFrhSqxtsnAMTszTgkdqhKGTYEmeNXnUABNXoTREqcQNmQakr0csw5hEtEkEuZL5/4ojqxBiNUKw8tsAzPJ0LZSQHZ1fxAukKuXK+73+/v9dsf/7ZfSZwaWWQ/ORCTStBMGINcRIVxPcl5ruU6rO/Muswp5VzIP0IZgEPJZDWY8yTxSmiMbkBYTsxjUZwo1ACTfcjpIts5N2LsQM/FvMTyjnOQ2tl8ysydAGAdKQZVnxvRr6rsBC6ebuwl/YFCylEJ1YmlUf4XqI3gJ3NorPFshlMN22GW08u/lJ1Ob0hmckHK1/3XDbcSNHPjLXBBXRJRyZm9MU+aUHhWj3+KIBNOfzxed+hK+OS+olQWQpRxgNsyQbhDOCaAmC4b9IVdbwJObJxOfAw8h/KIy07U/lpDJ2+fKWSmVzWjjb/IefC7QV+cwOJaG/autam0bwxoIAxcGEsxuAVgYFUBE7JXvlNq2IC01Flm0qKuGXQlaRwYmLcJ4SLPJIQZBGAEqXU6aq6azCzSB7IQwiKTNo7G80W2mOEzcER6SaTIDyJENCWGnqGfILetExjV8wPgZHOvFxjIAn4KxeDVTd/fOvi7EaraivF7P2+39X06DnhB+IGdqnkebWvWXB8zWJK0EspMuDTrCLrUaXlN+c1YzIMd5pNWvLvf0nfp0E2idkITqtGV9JinZKVmgdB8BYSmx4ZRAe+LOUcNujUA5PNx7D6DxTEie9YrGozwA8v2mCqb1QSwjOi28VUUswgXTaH207Dv7+jjSKeydnsMo2IPu6j44bprNVAXCvdmiTLDD7UgKaSDU/Ur/AEx49QAQScJro7JH7CNNGbePZ0jJA+4ehD6vkQL4hzhXSY21hnQsbvOMBtld4/BocLNQAQPQz6IKVo5aRW0ZPDtOsagFE/yqiL7KL8B1jkXI9zopvlMGc07lS76eAdcfLv7sjMafwfBlrLVzuPcMqzZbYac6IKxPjQZ/Qrczgq6Up6pa4aakS20snG5FQ6XeEqSaeaUeSPQgJsXn+Q90aH6bShD5a2LTIYvLGcL9q6PzTyNW8gzI6BYadSymlx1qMifyKo2Vpygw3VvgFhl9rgnXIoMcyY65nCBFVb+GpvAxJEqDMVgp7MwI3U2Wq1Olc82XuK48BRBtznOTlnBsjYNGLsp48ZD7KEIweL5+yyDTYBwq7dI1DFCT2SBDPaQDRNN+xYCmlE/idbQ8CJOwu2Z03hE9HtO8BiJUgYFSmMRWA0fTigZmxv9vvBUmkYusc/Q9Gidu1yKnYel+FiurnH2aaf8X3qtoQ/ZyqK9XRjA2Ah0fi0AT50xuS8mtxU1ZDe1PU9vsiBMVn6Ly1M3ljY/H+/OmST6t3eO8EDFUrqUCSw/EEbWRP2WAWTQswomYs3sd26EDi41B8uzPnz/f7/fv980KgO8jK9Xj2VTkwxej6I4j5+1uHSrzpz6ozGRRoImxac8A//BMwkdaC3NLbMihKOYI/rDvTWT8MU2jtDknetCN/UYq9SqiKLJQsCXRBO11qNSzhzA/mAXDxvhhX/iUQLdeqmgYhqNbDClHvAIYg/kFv9RhMS5tf8mxVMqd8WzZ6uyEZDRbhX/U5cZg9KNzGWk9dAQc7JzUNNnh/bSE1Yc7W0AzTdqogGYt8p3B4l1vPlfioFmpEYoqJlT+4D9Tna+0hwexm6s/Drv24Y3zAW7ts1AFLGCFCGOcrV3iOhJdKwXZo9gHuTdlcXWVwo4DXGkRbFyaUt7amLP34AiTBQKN0q2u4voSmkGjfTKGLvFcw57Jx2TrLymjEBlcBoZ6i4vL/jECmIQyGWoqJKaL7G023wrHnR0RaDhjxnLqoHyfbnp+xnSFZzqeBkQu2Ym8szvWrDBuTFYXABG2R04VjjWZl0cbyqojkVc1XMaJLHKZV3vn/sGTKfxG+uFHHsesSGEZmjBhG7+UvYKZdXgaXu0r9cEgGp2cIm/72OXD/E4Z1Twq2wFd8hDGIt65jiAD5ODePH9tR8BiGtNaP5OhRMM0aipapR1IaxqHyJdanewkmYvoB4aeVovmJUAW4dO1C5Myn0qquNPIGlv13LuSwgP4xA0g5qXn7aGHMd+4vw36JKLH9tHx0xitZU4saJ6NSkAsC2KkeTOU7K8+OfBqNSRDPzZwQ80POw9NdWcUihEGjga2DqfXC9UZBcDKSIChQoViQm5q08qyw3J64enhQaOJrKfZQeN2Pkh04GBrRfLxfKa/XYg4SYU00kj6589/XmmvkkJ9IQJTw7C8qNV6NsjlAmMOUUQSbNQMvJoSQneek9Pm8x1bgawIAAgZsNDRE+mQSHZS6GXhTgCXHcbG0C9YgKTUoIel84Q4yE4Nex0PkKwn2w7X+c8KMbG1RjIeToq6R7OzPAF2Y0islXv4s4G/RquDq5DEqE2cRdPZqGp6jUGZhiFgNLCLFZxx0E+Fw/zgc2FMHkZXqZwuU2EmrFQJRM2OZ8IdOJLGu1h0I5sMPHxvEzJtWHpG+pITqGICmU8y57IFaIUw5MPaxOUiFhKB81+LMpAfYYiyap+pv7gT5hyp2Fft9mckncCLWIHDAVdogzHz2mNrZ5moQYlGNzHU+X4M4vSSlAApEG+Kz01Sq9l5GFJKpDWMR77GKdRiudjHdnSbkdPwm9XE446PfLEljksmmx6dhhyhwYYLp/Q9CJniSQu6y7XO8QTsiGny6vrtXNStAcKdPCzPe13PDMneTad5DH6NRn+v8HQXJFqBqbHkOZFe9Iw+lDOVCP448R35BuBdhOXeI0GhFzQXzBMIMsLXjPmQrjJKAsC4qlshVu3nmXkLa8LWgQsuKL9enuF94sud7q/KdY2ciqWzgvrhrxR2udmFhSYZuRdlaVEZDInFUu+o9aBPlZSzgHXtBk1Ycbbf2lwt2tNdM0orFovTxDejBmI5N3I4gG/vTxdcuSuIZrp02o/gbdKLwgRiFAF3JkJqJweGxYhVgEuwpj1K7XXbF/ry5gNE+IFgMuo/7MBdLVbNF22LVUaK9kSMc02ovEzITMUvcC67o514sdHFFYsRuA1S8+41MKgkn81oIYALmEAw5nfeipkO0/GifUv/h8iSqK8Mr1uTka/scAOf1C6CNlGTJH++v1tawc87M3gKiNjNmv29oYRqsE4dje9o0JbwfOSxcvybI91yvPvo71kPQv9ZV3IF839bpnVd48fsVGnEzhWrrsvo34TPNRCdX3m7nIgThecSKdPu53X9EU5z0XSAzOgvJUARuFg6JKAYuFgGsZBRUHCxUmYK67lZhXPPSXxlxWgpJOpwOle+205dEUB9rXBo69SCexnJpXrHhd3CBv9DnILICrzL4BoIdC8Q5s+qVJu3wU0KBvVsNH9Cfgz8Kq8Uhpo5cZKt46eIpWrVGCfRlaWY8VNTcHOCA16Qr06jgVg2LXMssyF4uMMNPA1RDdTkFRu5DNvENLMXnSqjIWQBJXUgNGeaownhBFgtN2U3RR7vrr9pVzOe03bT68Y97QnMHbGlndLm13iVerBSRJrAuBl9c7mT4f3Opt0JfLHMOmSVAHaf6CoaG85bP9M+V4jb5TAUFRZJzjLvu+TZYD/iESrHEZDPqZlMzuuITGQ1vU5Os8Sz3GvH4zpGtcBl4j1r7379fNSuxUKhMJan3pVZVk0klethOuKU4mlHUnhUuZCnOicB63Z+p1cwNTBFcPNj8h6bIt1SNQ/CT6YOls7ETiuPzfabcROm7qaqjkm5XII1pMf5aexdVakwMgCZopqjUaqwxG0Ob9Bwh+AdumCxv2P48lJRLhdzmQ5f+NnWy6wlW5HDt0eJopyi5nuCAowt1XeZ8jN+XZKoEzvItOec2yctpHXkV6Hy4nlPeloyr5yvnvfWgJBHIo9j07AJPnOvnKJY7tmgTl0o7ubkCgSUYd0ULq4CzgByiExIAf1xirpN1L50LfkBf4wpABlaKvOT5ueFyapDRwrwtjVgJGs80rBvbZVN9ZBPSVfzKVcmxnr9Cb0f04q2NqoMxlznbkS/6QcHTPcN5PlsSWWBMRrs4J1Dy4T86F3WQt2pNmBesHv7Xefy7CwFX7AaeRebS+kKdmHH8HZCe8kQiNWOqddAFoyHx2t+yW52giLMmpURmpJHmohMmHl6F4x5mj7h4nd2lceIFaAEoL5Nbsh0UpbFaSIhJ/EOTHdmEhcprAULCVzGGcKq8EUUglZfBS0rw2aOtPxzLMx+AyLeAmwgRjOX9++91ZXQYodZBuRDwQvyJiBynLfwUzdVSnyQqcuRC6NWL2Ip8ibWEDOar2DSLkaomIkv9eapfYvXMI5od/UORUxOI4TKnzxkqBRACBjQ6NJ3d/Ug7z8b+OE2IDlinqdV9OeP7keCWFURWvabzyB1iAHDd3KzRovNq3mKGxx1MML8ymB5PEPfXXg5vSLav1LLgJpNzheVXCx4TAoozvkF5OwmcNs0Iqlve6GIIqoglswRsT1GRrq/UjxTFqq0ttIQrqQtoTEKiIV85NvWsZcTIVPlnyIj1j1zXNtmCsSQC+5l5whsYPLT8FxOqewart1OYI7FziobuQYbToJQusDJGgMABarTHjF5CtVnMGf2ahPe5cg/7u3xLonLK8GuIKS78CAV9XKLATsa1zdutVY1vJMd8/Jb8wZxM3sCwvwglPDGnJWU9afqzgULis5W09/3z+sPnJPgqSSC9ZTuxAK2UmB7WXFe13rRbAZgjuVMvCQlSYiWEly6LDT/wENSZ10kIUO2agZoGbI7dPqcOQap/b4pTrQVoIxoFV9y5apGaUK1lYKxwBZHd8U7B20b4bCOMRDLjeWi/iBeCkMWoG5ATMkpKOhykLpRjxgT4gvYJ+dIu3KdPZQRPVgt3s6aMDD7M/Sb3coC9qb33UIdjgK2Mys566UPrKaDJ8tGCjKS4qRdHfCHu0UxKmoySdGBIpwYIzMod4Xk/KcGFEpLEdxH1Z4xj8H4JQu2KWItwEnz+RoTpd4vRMOv8wtVA6op5xVhwTiQdPSlymBydQGW1LYZUOvxlREiXWEJh9du9YFubUaoRA1F8Q6sTUFJT4hxksOk9pRmLMf5O+e1kFhBMeR/04RjxmYOkCK38AY5avmtSqigkO3ZJG3yVm1u+cmFA6ohUZvjE2iaJ7UfGGSNYF/2jirkoEFen/3uamKjktU0WZckDrg8nyJn8P8U+M+w3L+35gEqzH1XkZJ42VnwHvEyAP18sN3e9+WhWJn4D/RWqQKd8XSE8M+w08RDmXDNZXxXdRuLFNoo0DC/WGyM0JBog+KL4M476xXn6hEFsg+ozmZG8w2ec0HZeoT5ZevaL1RF6rUSSWfoQ7o9qT5l4ttqx7M9XhyJJLPv0VoDlXHYjeSx4jYBSj0jgMDPS9Ju2V9wy5ZUZdZPmK5TAQ3jQKYPgp7tXNItP2ROUSaXoWEIpacGW3f4pgGysJfKU17tjVYgh9yKqsZTDmjHuuUNsCeHW2QT5jy7IV24EEPccsTAAzicPekk80NUupWKXSbQuGz+YaMsNSBM9SzTXJIGbJTwka2FzdIzVtIMfpBAmMladZtQi5Tn/JKQ4jGJU7V1acJI1jNBGlZUgxVhyJBt0DOgH2TAb0IVKCPZIdv8RuOn5pnXwgvrurOZt0dy2eJrNbimgQP0UI0G0gI539fjSSW2D8/1BHT0FUXuMGj22LeKzdq2RKLnJQTQQVgWlEpyNS4cEHWfp6qLHYtpPs/NShCHnU2oP+nMw5k7Vs2Cdli/WysZYD7EH4tZuf2a0FHhQOuDIm7S4CyrA58HrGxk2OwyzIXJFMgliBJnbxoXT5pY2SSSx7Ugr1FsVKkrOHrkHcpoBzd+Cvc6xqIoE8WoC19rPGbwOXcnPKnGjwOQd6mCDbhofb45jCrWHaHVw9kETLuMBggdtct9wbI1KWAoECKhrinTIRCqz4BE5/ER+USfsgEBxlm02DX1LfxegOqLsJfwMy+cR1N0Ni/0QTy5A6/mgEny6b4XdaPNJvZXF297JxgD2ZRZuFHPYNE+6yTJIRLyN59euV1Vl9/Y60VmBy9U9crGEX4STdMACHUbbO17SKnyJw+azUZzkNiewcHYdqgeOi2zVyQyBH7bJdlYSe7lH3KtyxpcSjlrA0hiGeTro7pAfBn6ud0k3FKLDB0XHmb3mfLN88n/9cTHynNeNdkp1OV6VwiIv7VPhysV9Ca7EHcn9mE29zyyKdaJJHbPqMwFxU8PQ+fRcpTtNjFhM10P1FVMeR7FzK6Kp7xkOcTL4UYKBxRkHQVxwXNA4S6hq8twfMD5HzBr1XxIm/J+EHi+pGXD6oiudpT9NgKkX1KMgrxxKyrZQ5TSxTXdLo4c8cQpNklGySQoY1vpd7QMsF/VKmEWs6GP/9QSOniEQXD4S+OpsqH+OPEvuaqU4qCOfaQ7pnILEXfZS0OWYzN5HyNT1vCEmuHUfm2BZUbjiFmtErCzVEul2p620pb6MInsm+JUjGpERUGoFb91lxJSsdqZTM7Mg/JYkUkRrCA4KH9hkUpTwia8L/EhelB3F4iSFkQI9OgYNKyCgF57SBaLZ8pkXDUo5doiJh9l6MBSYa3WGrksQDMjYWXY1ZDkbpB9EphjxcT1tDq0tYJhKe1O13qBziYWWmNsOAx3GcRlhDhWM/bkj9PchRs3M4koEtDt09dVgFno0MzigXeD9rGEkAnHcNAMclTTZxHYbasTnrPR/FM+qfGbDciMngPKMAfTUjUPElDnLmInXTElK9N2dDA6S8XcGGTUCBHNqpwVnpCCOkCwrb/DSelVMXkgQUoZpEgGnojUzwEAjHUO1fRFDbjMx2bPsmUULkW/oOC3A+0mLk8gIuUMSIX0DzC5YheLhB8bANrsR9k3HUG9tDYFUppvRZfs2MkDw2xzcVgSHYOFgUwkapttscf+aQAmj5rNIFJRvPFfJZQ6YU5R0giZf+lizfIy1YQV5ts5OounXfbSq3pDCv2NsmWe4CP6QLuXkT5HQM6bMjoCRvTzi+ljuhaLTHA8fN/ozzIUghawo66sWH/4FlNlK6T9fiMUDiROVECBc7ASLMAYDa2p+DIlPj3AyMIRI0fLz+/WIllpnH84XHQIa3QszwyQZkMcwSb9t7bgqr90HBSWeYY5ohHRntmWPEVcTHwKCC3MmaVMHyBUbtgs7WGm2QlyGFdC+crq6MDEY0/P5Ewhp0IUVVxDduEGbSCgJObs7nn2J8fGCESZhJhWxosi1qLMz/vzeRDFxdTSRjeqSNokhQwRE3bjE2TMcYJsVw5uU8q0p++EXIQe0jNz0WkFesgy54vSrM7HLq8WFbyFXk3TITydWlI7L2ToCTJrbukipg6/34YFYBq4HCtCDR4p6wbCeMbE8jKLTKpDQfgoCKIKifKEQAzbC7O2+S+4kl0zsURNMAzLeDSUQc6xfcuAJu+YQ9cqFb/DqwZjUeQY18fAUHzFa8SxrEbcjaVZhW5OMcu8pajiobm1SDRNrDMFlAetH4aomp0MhOvDMzwnnEPePjvn9aWbSmGLrfxw3UuF6UiIBAQwMy5hbmkfxKtqohRzwAHO+OnlUncpsMJLT5h86yOgWuwxNAtLhtnsU3C40j+ZvO4EcxlPugcRQLSP+uaj4AGWDnlofbJQNtEP+CzAJ7SiDrBCE50abqGiBrqpFfTWQAlVl+lFdMHMa9ISEcpYzrHjBksTSW/ZsBibvN1OHGDZOjU7rcvsSJ/Ka7krJ1fSSRGu8GrpydTCvRutk293ckyCJ5PiDLQT35CBQ38XMODAGACbMcSEB+wccrghPr3HLi+GG2EStySoL6u1sXB6IlwDuHI76UTFZLUexsf2oM+pgCgvLE/m/p51mf0dY9l6UjR2YayUWGmaaDyUMcd2VMKjpyOqyGG+FxURaoL0WF9jdTB+c3sZEXLEs/K6WT2MKXBabcX8AW0ZjojwROGnW8fj2SRQx4u+Ph4f2BdWiROr5WOiy2IEIyfNe6k/VgpxJbLSKKOQuu8D8LRGGC3kgT9DDzX7XPgylo46AmfTTI+VR3ShIyZ19w9IAaNcGitmdtahhrJzfnQreEEWmTz/E9z1ERJHaZyU4BNcsMy1hiHSYAcIH3ssx1UbNa2kRdUG7BO5ymc0QFvmrh3rum1JGz7ClSUVPD/AqN1ggaLOYuxLs/xTKLt7hkPI6Jto1t17cmn8xoN8z9pJOFIYASrCCHBRHdu0P6WMX5ofQIGb+I8z6/l8ORqXWl5jM3iRGkC03glb91jVLGgtCRm3PCcLa+bBdPV79fT5khdxubNm2qwADcnJZ8ZiYxg0RBqfC4tG544VVFvyRr13dqWnT2PGlXiBlLDOjQii9VJybNQLPNuAfT6QjVXAMnlmLDH4o8pvZevk61CUGi8b3wyJRbZTcS3XuSyTVMftNJiC7+27IH5pl2enZ7NcdJjC7KvOC9MfgPtXVWQ3oY6WEmq1SHMpapPOs6EEnChoKLMg3ZFAt384+fkvZ+Tk+rwrx4uLGr5F86j4zUBXUlnE1lKl+j1f5qP12IFfwQqj30G0XJY1KAfn5bn2O+dnLgIcUPC/hKokESPUhIoSug8wOt6+xB29F1ZckYchaSyZhes0nazxLDiDWV3+yrVsGvj+7hOHng+7HwH+X59CtxNLUqsqLxkjgARnq5VY9yxtRLcivjLFn4tWUCQJhHzgaoNb0vBqe/j/+Q/cMauziXro3UVx65Qm1zwUPZQ+bUT6f9OMrcZQ7TNZCrM7D7yUsYV40TJsTBKrSyhKxwkOzN+OJSFIjMpO6krbfxYOIxW7U5Mm/zfF4U6wITHFRiTjS/jKGFNGATjDOvFhpKnuTeVkRBszGHEDJrOpufpLOMYEj79vlFY8JCqXC4kfaVsiHsnhIx3xq/PWCdpnb7Hy2xR6xSuoLo33bCSmyL4bt1OFbmEn3amzFt2vZQ1aMdQBU8roOsNIc206RCrbUJaBEZ5wZVgY5hENCX04P66eXhYBb5J7UD1x/GBMs5dIiHPFbQUDi/YY/ohKcQ1ZY5iGOYB9tM4MeOJce7VK1F2i5uUILeWZM/RFN+/JHNQBkSnKCB/35+eWHuzmJNK/bMuTZcqNmkn4mZWhq5kp4Q9ik0nbqqf+kQuYOlQFjBtHaMXM/JnzXYZ9QNHQG23Y8ZTToZrcgmBWZch32xuk9BSLpk7bhllrBWRdWWv2TlMmEBYoAVVlQfLTD4KHa49kFvT2c9QCUTlNmhAHAMQTUOiGSVCIPgg7TZ6Bb9HCjTWQeIcvAO+WXKAUmgILoGEXHpbxPDhEXqwsHsEwLjdebj2R+TG2pUKeG+gVxnYzFw6/7jiQzr076TQurII8GfK5eEz3ChpzkQyVsLlYt90PiJiQsyVOzaPWooALyiGasNkkbOUaU2LOfa7Hy3cKejolOUNmbp0yi5CKprx39FRmlW5azXLN/a1FRXm9XqNAsU1YOToaMi57VMCUzDaLh+xkX8kWo7DDJQt9qRbGCwi7aejxwJ0d7KoagA9rlHC5Yah5ZlpXXBEyfIIEUMXhkcvK/fyk/g5TbaktspRVYWOROQRGm/sjHhzzJcVxKyBornFOYzUlOUZuuvdDtIoZAQamDz9g5+fci7SLYeGs84GgM4foqnphwmyiTKr5hFHCwaWyiiCj+kxSP4XzZSH4AjDdEJrrEieWmI+SBmjAbRPb4wTFreji+4idYRH2Fa/9NZN0g1m+tgxAS6ted4C47SGilDTmSDIgDKJbsyX5HPRA7LFyiPlRRyb8GJG1PNv1BoaVJ9cbbvCAcropJp7AYW68sPaKfFaCJ9o0DPAkfjHViXBLXcE0GfqmMe8MLDHCsCXJieo5aZIfUwrQgaY+hAZ1GOTFiclFWTAH2MwujOql9P5TPcugusUKwASnG0RKPQ+WQUkDy2rVtcO1jOYiAHxzxWRdAo68fFIK2oSyBC8tAxlnEWSizubB2bODmLFSu/TwhpGU1R08XEgNszYdScUIvKcdhRNC3eaMJAnM2LAckZnpwMVyZ72m/C9ZJd/EsHn1IX75NgzFf0g6YHVlN10+3NLGeLJOQ67UUkIXHyUK2apy8m6bfNYURl78FwjzW40rYTDu0IxrXRrfv1nOnKFqhK97PBYhxCvxUQHfJU6xzoJeY6NMDxEkfuLiUwfgNd357KOF+5hvPLBpQJ1tTEOL5XweqyyHSMQNDmFApHSGsF33SfouM0RV51ArSyIqMlar97mTsD9rFJMeWzk+t3ZA4TedHWR//3GdmFTXmmRLYqLwmE/n/Vg0yjgirwUTgY82XmnXYvBV/GswqC+vRLcyebJz3R4MDzGYPCVNOGcn2N4/P1kIClhSYYV2dNVRXuAnnEyYmJYdiW6kENSCbJX3xrDBW//EzRyub6rEe4jtwRjBnGRv5sv2wm0xlMwJwQ9z+mfHnV6jszEBGQ9G4W0ywlgb7zfXK7jbjouWM+om0CIzGc82LKkshs3YhkalhhWAM0fTDgmRQq6hSRYU6weyMEBTXkTUghLkgWMMYMvA+2FF+IQoTOVipw82HJ/E6Qtxrmg5NrHF+HE4J1WSpehGOAZE5hxLzk6vHWGio/Z0zTGJw7+x8crPymm+aEETRsdJlGlROYaF0z7TbMaFeWHOLn2BZNHEWFUIhLzoF8Et3ltXIrelMVuonfjFul7unijHsrk5XDAk8cwLljaTeE6gsHyykQgitpefTgQhn2IBJ2NZ7PyxEn/sb+wEuPTSJEk5ytPEwzCFai7qQI5oyVsOms61oBsy7wK7Ahj2MhP7FFiOGhoI0obCVrqvc11taz0qHRCyLqVeFRxam3RZ60VN2aoODPxB8xBsESe7MNI/b05YTQ2dFiDqjEVpVUKaGMcI7CJ0sIotK/GbhiiTjEdRZgSau9G2HmhfC+EqCKq8pqbc6wttKNjKY07BnR6aeqmbp8hU5ZbEU8IMceRIsSKqFLJhN1q6kJYTYAIwQieC+yTJ5/pZDnrmVvhcbuJ6OSw31BOGmGNpEB6QJtkLExWD6TBYJ/4p2S0d1UVMS53jJlnyQz//3+eeY6Wy1Wb8WI5xDlmI+YbfwjVxWVSXloAVB7o7FYZPp0A64Rvq1rI5PXQKJgJSVpGPqB3Fr83JhWjeiwB0ZSmRbSAW4iGA6MFMuSGez3tUy8khZwjYCbAM99dIIC5wPjUOCjA08QAaR9Ri1ZTnWb6UQBNWAZx5XCESOdCjlZlQNIqu4eXIsEsC+lvMBv2LTRbpVbh2fIfdmTEiymFuluODmFJwLkDMfSEXQJcieQ09STT/bIXbxpBmbtQAsLWShcHHyEpxaOFrCkHNqk0E2gLjDqCUAbVA4YgizFfaKd4ltDX3Thrp4Mk8cstcwxOqTDEVPnMOfUNNhOMyxOk66lCtqZHWfTsBlZwmAjMa2ginqi0MJF04pC+Y59B1IJ917NFemdtseGA99RaOeUSlIkWPMkruhoVB6tzIevXrKr/4HJmR7qvriCAa6YYLFAFVVbHNCfBTCpEBn+vmpLvmXvzScw5cxxQwhgRZmirCCHOKpWXRcnmp5+21LEuQZWNsx/iycjvinoXZanzG4ZQpzqklxAhVWRUocF8AM7TB8GKMstzCloezwX45Gm1WaC5LO5ny2xQGY6AelS0LQlI2a2bY4UPSLAppcRDjWj3JGqBioG1AC7KtsRi6QS64WnuC+2dAhIf4MEEPWEJNyrJa25nTkxs77AyiJCi6yh95L0xY6Cn9rdXndsloyTBE2WhCXRf3B8Bsm8dZfCMfxRxX/WzIQPQ3BAHXzZOIE85jTcdmgi3vYOWJjwSdPjSdAjOitvGpbGhgPXa9aIbN57DjnEBEOoplw1wuTSCEK1J2xQLqFOc2QhGYCK1kcTq1Uwn85Bn5wgBmKuKoDBRzMDDyQg8vmWtTsJkAAZH+TC7oVx/ApcxIQBuhhilE2NTQhfOrPesZyXhHLhRkw0bFymQRjZEwmW/SXwWjg34ucj0oevF2k84R8OpfBXnH1IxZgRru7V7EbK8dazv3YgxVr9GMJ2lcEIbj6HJvugbAOz51qIs+7Zk6dlUJ+5ZtqgLNV6TXQlOYwJXWggCAfgx/YYiX61giU/rdaBO3k0+8q4AvAP5DU54hIKOQwyQoNqS+tsdeHr6MaGhn8LlrqPrFYtTY4WuewB0sYFif4u0cPKJFyP0dM5g//1LRw/MMPIEITQep+3mNCx16k4rvA7EJGBCBoUIrz76Qh/0Z7U++OwW4uUWkR5GVmR3AeI7Y65Nhqm2XR8+Oj+FSKDBOGPhn68Twn7LnfDsl2RjE5zNQNFfD//VVjINwF0+QTD4kVk9cIW6RRaFpJLeeWyY845pzt4XQNSvJdYWm2laGTbTZLjVlHb8khXKw0/5FwVkZ8ljdLk8tSXiRcV6YRV3GHDmPF+OuuoGRJoITNhtPmI+1n5mWuoSSgFTZWPao/ZlXHCa7LJMaNXWArSKUNWV8RaCpYO6veHa1IooJlt2feUCuZgbWllrBVktBBqMrbVDI9pxc79IEFhRekbn6WEaWbYMnuIVldQh9aLjrks+puid7SIvfuNpaI7xAv0Z5ExUhCFekcIYzx3O9rTSTAwbKYYAAxswxmw6N1Up52Th/IPpqhNDI1bX/NlqI7YCEt1ijcjbqe0T/dE9y5qxobWC0bXgHzne+cx1FskXZ6dmx16qSnG6izJdSymXmynisgmU5OLTQLRDx8fcztf0R1cKk4IOOg7GT6fQcDW6eLtCgFeNLz90VzriHeQw1/cn85ISrPBbv5Z79bCftzuYZ9FY4K93D3MoK0rEfrzBBIMRYWtW8li7z0LxwBvbdCX1i2BUPxHdYXQlD/IRGNkGyUkhFY1GhUn6hxLf9hLHT6SLb6E6N0fj7BY61SAoW3LtjjHc9n8WRsbUGS3u13StyC0nzdp8ZGHFXZwx0Fr+eDk1FYRIlX4zsavIgsKD7Pgju0gHUOjcayGi2jZiFcbttaEJoCDldZJr3yIjOSZtsXo9I1iiTLeLN54e9CnlPAAV3K9WG/A3vajRjDIf6bDFatc8+LoxmJAmkk7ju7J/3sArFBBlbwYOE1AgUWRJrnCbAZ2N2JsKzaaIzl1sLICMBeNEkgIJaRFIiUZtiRumynagPbyhCG5dsBjLFVy0NMXJz/3zGRs/u69BckwrbF/vMmF8qJaglzhqIRtADJpO86qTDnHMELNEKA+TpERI80xAPC+/FmLZgjfMoKsncXLBOHvDWHyULwgILqOdcGGYiMG81xHH25DK3ciG2HNIzQpz2rum1A7PAqHmRKEmeTjGvvdIT1ZU5HsYOEsK0R25Z9XprIcpwcU1vsR0k55XRwBMD1jjmFpZNml7Yj1ezqnLX2WjXnmrz9u8oTDWhTN2CgnCj3pJNvIxJCzIuRVxNdvgzXPzKhDNAT7iRyVj4Syrbdg+9YnrJuJ4im/YX7lY5kHxq1hDgMTHYxS17cIth3URjXE5qibEiPmkvDETGeDrCXWRcyGWVYQZeHyOwf24zm5ozcjIskd0oLVQ7+ertfs8L9MATdH2ktw8jkWf76l1KJSILat54es3NYpv5DFeZRO8/4YfEmvsDwtv588TPZgojF+wN71YyQ6npdgYKYY5k8qMsUhSDGRHfOM/y/PNQBbBb9NC0bK6JlWZwUIkQPNEK2ZtaaLHO2i7qRXPl7TmbPr5zHl6DYqzObh2HsbHnAgfhjV21LlxoHelVdSXyBRrYgWxsMICO7Zvh7/v99UJDBr6KiFsph+3rEsh4gIOnCvmXYlINxeTBosIxsk/iryoGe6ymPEs8zwM8ulkPpVl9w2z1E9gopD2qLEoY1Apq3UCy5m+cVXUZoXMyCA3YQfS5Y9GBAjGIBEjE2NtMJERicrmrO9dSGmaTK2wkl6h1VHUcd3hbZq/udz6CUPgzVaCZlJvdplBuKJSadLt0iwNsLotlWy0Xu1FeU8I7frGLpWK+/AF5MR90hw6cu3VhSrRYvwSVhNXM2ioVJkRBR7NwkHkR9WLUZEYipY/KAW/Hr7visGOlxjCPUIwxHFs2M5dgYGQO7dmvKRhTgpKrAY5OUqMuU0jP+7AsvdZJqC7IVE7VpJVS8Mf4O1rt9/29XvMhnf/WPx4ffIy9qbYwOgZ7DHIil005kh/80os+vNUImrs3Q3JN6N0UctxvKCnLozQhLPmArUtni0fmOrKZ8sx5Sjz2mdEnpYsquLJcQMFVQNrduDsVfkCDtRiePB9hpBCgR73AG7o7x3jIrx5BHNd0A16ZrVPCfKp8aZZVIctI1hC2xmcqlWJBnNfU8IMy+2i8qPxBjG/GnIYIGQb71ES84SmzrQrgMkblb9ZxZiNesrgbg6grW672lg/lVL/fK2wdWoRGGl+ZNgTgOkZA/DBw8J1+2am/p48ZKDVtYFO6BMfkhcO/c56EEu9oInu0JUi1GbMrmOQrjBlza6sX1/IIscRwp+A8Be3GkGYPxkYOeIcUId7nh1gepOvnCnd3fNNX3Uypws+QGFb2VoAp+RNz8vZ7vV4Ae94r48K8xZOJmh5yhJVJv87c54gd3nVCQd6VH8/+RawZ+XSXtNiQaw0OHTDZxQ2c5tLP56O1ZKWQa5SmF2kyz6hyFJrBbhrAVGcjvWU+KcprTXkpPVqiJOKYOI3jfOX+VIOoP+r4VGfkf/VSytTSB7ecNWY5ksPv9kiivJjM0nMf0b7RU3lQG2a61sORIqnHyxUrNmqACBDj9121WngwlJKF1RCAG+Wa+YOhoIQabAkYyWNrpMDb1nzwUr3fwo3Xzevtqhr9RNivgRjnv/ANX+i5K5RiY4Y//3vdAxqsa96kkoO7XSfmogdbJpW7Wug4uirf+EbIK4mkRV4V7gMcJESQiGCtLXjrTQFiBt3zBRENGbI8RNcDFpAx9wENa+U7IsP9tovHKORMBJqJU3aJrQ/Mi9QgFuvDupex52Ma4hbzG8VYlPinKMggzjwhineaTzxzmp1VWKsFgonm5XJYnfkNT+oCRnhuaMWvM4gZJgWKh0PyajI5PeFAkl0ZxUJYdeM0eUpEad4Ow7IMLqS/xok6wTuMe1cK9pclGlOjsiA2K7Zssmru5mLyAU/XelUGUABzC1JlCccP3XlLV4AxLPzCRjseUaf2MDcmrZp1dLrB09BnyzScda5AfDCru0s3HNPk0JYFujVr2pLN7X1BZKFGrYNy4wgFotOrl+thBkaIWPMM5hzap0tZE/JIQnjb1iipbel7xuSZJtIC4SoRdem8b3LdyT1PXqk8F5Mj3X90ipmHKF+dnlUqizXbU6uupFMMkXdOKWfDzrKZF3f5fL5Lb94jUyOSpXups4MmcJBI/zEJ5UYEAdBaxFN/+Xo+ITR7eGy12b/jwyCG+Mi28nK0YIRlBQIOAVSRW0M+urpFRKCrU4Ps+0xWIGpC9usMwgDdalGszRdwPmK95f+Fxz45XvfzNdvvw0ysF7xnndFWo0R8pnY0przuuNcb/ecSV40Pal7IChg0e3S28QiEFDnEYSBYnCB9ZSk1sPEiAp3M/qQZgRFWI2PYkz+I31R4sVrsuXnYQLleNw8K4PZcqisEqGMGaKNUTMPA6+Vc7L2LcRnFEk71JbArmxTkHN9mA5H4qCCHdJ+IF6ZWfRn7A9rasyo3jMTDgCHSVNhtsXBQrN0Vgo3EMOdXkBm1oosRnth8OylL+87YP0kelqhzjvxrjB1iNJdyUezpilqZJKcdTARNQmSAVIPtPk6ifATWa4AqIUoGYoJy4ymODSsLHw+CKKRZM2NA+wPjVwtgiF0omqXOyWFN2PTdkOCCY6zbspkP3Mty7zRuNDgLlww1Mq1zL6x1ZDkajLQfclPRVpLzJm/F0ngiYm1I0QVX1XSgzNe45xz3fS5ZuyIagim0Dm7u3LK1YZxz5pwcufX5hkKo+KNOpE+4TRdoJqwPM4db40xzHBKP83wUgsrq2iwYAqXlMuMchzG7xj6jYs0/TXFeNlyFKFB0AEjnSvJ5Zi8ZHgao2HWTA9YT/iVLRSSCrMmoV8KDxudg1ASrPLuix+2ZHTpvULJ/01HfIz5Sa8Bh7ASBBBzm3TWTQPLp8kQLI+9R/PQpzbewFjXo6WO+DSFYTgZvqxUjJclY9eiRNeZCGA15/2I52PQIi8o4qhE8JfMtFNDrb7MvAtEyVCL+hM88beXg2MyRfps1E8NnHw4OQRXhtByDBsuI4KQ8Gp6ccWO5MgOqaFbBlt05hFGb6LJffy6L+8hXKUsmKsSrQ7EGAnpgdRybFLiuFKc9oFu+a94HEbf0VO+mPiID62ldRGrYmdltOSZEZlRhClmm/Q9pts+yX8Br7jFGIGNZ7sL9un4RN8wcNjzr47HeMBZc0tJEVm38+bLyCKrPkHN836lWyhOqAxA6g455CK3jeHhEEdvGcbCmdCuZjSLt402kILHvYKsk2NwfVND+cxOpG4EK644Altf2iRUTsLvMPuPwmeQ5BfSc2xfelXPkSVVH3tWdHlcyud9JgA78VW00uAv/zPfuby9CqFGyrcNcVgty1koyAp3brOnKyysIQK0lrCxRtuRlzz/XdOF2mRLT01yiWwG8O0nZeGK1/OTZtkJgORKBRksRPo+pQSy4J+yCFqpCcZUPQyQQXj5UScWqQEPn9YRXdGwLVqC+M++uMx03tYTGMYPfhUeetKXsil9B3rzEbI9TmB0Y60g8u5qSFaTKAMtmGbDs2lWDc8zGV/ipWwlQ83eP6CZz3Vl4dyGgK25dg1ar7eW/33Qm303QVlHNS9rYrMPRKxYrdRuMyi2PobCShsrs0ogUbo/DCTbmQTPunL1MpE/1mfXYOAUyFxrJtfMhhxi6IholyUzlkXlazrjiPjEKGSaOSMoIOqiGcVbNx7AY89Sc0pTesA6hgWelzJCXfJh74KmEVEjHzTWkU2AYAKA1SnVirZbkME8bzFzZIyXWhrnlJW7g3UQMM8BGRmAe5NpHYJ4d53Nw1BjEigDBnP19rLJAJn03rL7GsmHdXPGMAwppK+cMSbKNcaAW81vPkVeEkSFUXy4UZ6myeBkqSi6wU7XmaRoxHcuX2m4ED0siUikWoQhrJsxpGjefb3IVB6ljHuhOiwTZKKtsUssNKuE6c25Z37iidioJP1MuRryxKsklCZd3GUuVs2ZZwAhRqGW9t+VyQge7D7Jdo36LCqnaD5gqLykRSpasW/FecGNwUHye0rQtU1yhRIhaZca9xoKdVFjbgH4xPg7AhNvZrBce0F00rp3uJ3BnbjFyl1D1jPbz+U4PJ6QyX805PSqItByDnUwLH4ouyqgRMjCghoLN+BS/BzyVd8Oik+MBerCEQ29bMSN69s25p+aEhazCDwWphNVnC5811k8AhQ2Uv1GLIXoOncnihFWp5aFtXHjAFlPQJ2oumDPPP+FvyzQmR629QGPOrL3RKKeQcWlDBqBMtVTpstz6MUnwxWDIbHI8L0uIIYa1SVcZJSfLhCODHNLdIzostFwtlhtWDgD62Z4l7DlU2JC/mAJx0jxLy0GduNUuJCqQpgZodG5/t9frhcAQljKgQ+E/4apcHzWtUgi1HpPM0b1QTqh7ASmzrTxZe1xKT7MgyWFJCaLYQlXcGKqKMsI5UDMfAUQFsk3LuCZ7dgVmCXuPVo93uOH3L/3iQoQEwSW31pJt3qfopaVw0YU2e8j4KSdNm0qJTxTHEOQ6YPg0qIN8EJBnVNU0HLiCfCG5rARnomLgVg03l98j8T7xDcgY5KE1c0MTyF4uVulfALdqMooNxm0NecnW2xZaEWtQL5t8eDNPDnXrdtEiYjhmrkidrWiUigXdwui/g44spbi2DlW0EdQjDu3gMbxIKjP69DebA5d4jP+sfspSYJ3LPEZwQ0le1zewWDrGGzFpjYpXEq4D8sgSQ4c6XcTJxhqWjC0+WVTW0gWYssIN08aIxbMNQ7CRo8zQzLdEVZgbWmYxmDYok3HViyDoWAzJzaHGKRXOWOFcyGSu2Hg4C+GOYs0NdRhd667N6HNTp5ejVoULSSzb8yqNj1xAeFUOj4cTIs5Nq3djLM3aJDEHGcpOilzIQOYA3Sx9Qha2iCJc+63MXFaToGGDvkASmfAJmAcWXDgFHSVq6p7lm336vkOGHIsx2IURmGd7ogPt0NucI2zQgCssRBynvRzQHDVKFBzDKBCuloh4RIMTpJsBmfnMaGdc2dvfFSC5IZwKKCFuyZayEogprTKvVv/OY6bGx9jT552z/hzQuGRsQkud3nBVDmjFhycfOR0BCHF2GWX6LUIZJsT9Rn2tyEjY+Vk/lxKydDfMPkO1DBF/HaQCNYvpnoUxmmMc09AozVRixJHOSRiUCVMAXFaVw11uiM5lKQhkau4nF57299UhUDYjuBDayoXEahMzAq3rISslTTa6Kz4/rGWF1HBGnao4ClPpic0fL6hHcIGi5md8TI/3u0qBc8RIyrTSHx6PK0R53J4TEtH7UWqImK+ph+DvoiwDVHiLGwutBoNglvlaPHEHrJaGxlNs3CeyBTPT3DWPp65Kx+Iz2NtWIB0AVeslOAKl06xai5AGLni1dec4IIXRg9Jd/d4vTXivW7HyLVEworGputpg6HCotMfWjzWNP8OWmZoNWkqgSg05yn0IDRdITw8F4tMYVZcs7nzFCImTQhbQCGYNyhWqDGV2z45PlmAOStoSHcDUcZByfwQus/aAtGit2S8+p6DDLvAqUkBpIKzlCWrWYAcqMtKcHzasNM6PUdRkDuuMVRE4YDNL7nFxzL/ZWjQVyFlKJwjGNhg3vyb0GJsZ+8nLtOUUXsDb+eAOjztoi7mZEGrl4AFMsz6vhWaIWFxJKNyy26PX4AlkLcc6KRHEQeD2GHVaFYwRd6Z02DEzfDVOCcijXWYnWw1xvz0C+7G1jIXM4L6/nOQEe0RXMh5xUavSRsq+VixQXa5I9SAmwrWldvVIso7py6snNawy7+JcIoXLLT8R7Ll21AcnKLIHuKU3oNDufgK9CMPJBpIj8hVapekgaDBjmpIjoSayArLP/UyHFHFnEXL4reYFfB9K7D/be7UYklBOV/4onQsmi12xBCLY9XyiRj9vHCPPN2VIDUxqKohvRARS+RukockiKM5iJyhJLt2p7Tbm4KB+vugc0+b7TugBsveV8Bgh7FDAeluZXM6BhsloJu0kQxfSMcPlKJ5zlM/thcKTwxBjHeA8/5LNmCxrV+iyiZd6lS1tUjtQ4C5s5SFzpIH7QxpeTrp5ksLdcNh/HVy8f06wCFiQtMiSv/4EHGPBwyAbsMi0aXs75ygkWJpgN5Zo9AKwoNWSIkdQqbymmKReNNn8Fw3lzIXJyTK1ljuLom4oK7rcmsYa8+mjq5cksnh1jKKKLntsVjdR7OeSJ5PVaP6Uo/SUwiGywezKFUyogNQ9kxGivwRZzXfF0sONmlzqiXx4WSkLz94uOZXyQjF82JwB6OIu6uQNhFQumQ3NI+aViE/2+hMqC9/L5bOJUFYpprgKWl37F4xe4e8YuQ+qGey070LSCJA9uUr1NPpk9gy8s78Cry888piNJoRZiZkJVLEz8qYTQYMkSIieKiOaMzlB4Y4RS9mVajIHSeyBnxK98CjDXkiStmTlUNkPRz/PpmHDGAbhEB0tntmje50lVYIGgQNPiYCtYhzDb+QaVg7MFQRp3cmko7eBGcSh3JYNjX6Ndqe1Q9wSeYmDVWFfwDpSsMG4tRig1Gllb4qLp1CVinsPhXFZZ7QYTws+1hFw4HVkKecAx4ayW3UZu0No3S8s51LCsXnZOEipQzOSyFLLxqnhnt+fj+kdV28/xvxmg61BmRzga+oJ8IcMoOpqDtzhVbEVpbUhToo/QHhYtBuWXCksRQmWt7HRnjJapkxdLaopRSHEHFMLmHrssR6mZZJeAAvr7ib5UblgPxvQ4QpSAicEklLs1eVeyNWGnNj0dIxTEeoz2sRblZHUosbQjIza3Hq2cKybERaqLRLRDsPiA9bwfgUcWV3h7cby+X8yaOiR2Z/J2sga6c8ffqFgPlZXnm0gNty05SfFEki6FUYIEzlSwDIhVlkr22jmh7irBVGKtiZvPJPgDPGdCYE8JxdSnQQAVEbFc5szh6E4cKDwE5ro3WT5LnYec6MTXk5UScMFx1SOIYXkE2VgWb/67Pud04/tUZxvQQFAQ5XKlJXofFh35/Pj3AFAQOziHE40kaXyQYDvZwRkjEJrWZFyRlJQrzEwP3b9y2ydGiMMfImNYZxpPCsHKiweOeCFPjBU6xvlTlPSXZGcLLW3ZI9l8m1o17JOQCWImfjmoDmPmjo18cHAJfAEGx+91vC6K9F43Gnpx572eawsTOR1mr31YsgGpCTqRFFnlj+bGsB55H1MhSASG7ISFVgxl/qIIYaRezgZY0OuMg0/GgnzGXo/c6zUTTUV+/xi52TdYGStCVeA4GpAoiqDbPMqIwEjzFEl4o6/u8fCNqZVdoqTJqtgaZSBNR6CB4anQ/ByCBLa5+xQtc/jILnRFHdPJMvLEuIE9cs+THhIlbfadjiiefIx9tcQbyl9d1FIs+EgMG5fbX3JCNV9uhlzLG3K8eqzpbjB6rlADO91sr5PY1s3qjbVpHSws1hoii4Rz+f98cleyO1SLmvXc8nT11yoe7nWex7n/0PWGvwJcz9VMhGV7sohtl4K4wpZDSrvrvUFS2I26KnWdqHwqBA6Pov7mWMLLRDFbZ+BjY0sB6OEETcfMtd3JwssCDis2UZmGDQWnAGPfGqXtSHkPMgQG4tQL5I7osTnxhxxxN77A4iMK/v27Q8/SaZ073C8CUGw19IHReJYzxm+/YCkGke3yg2b4QojTq7OuQozqoTw4mtD7MhA94mRADTEAgJGyQyRs7GLjFITHcwrb8FokESscgROPAgFudQzlKlZvWEM4ZnkJkQwmmxcDaAqfMZhaLLhin2qIJo9IDYdQtq0OVvew6Psnp1+tgY6n5/kLoaQaedtHL1hLcJ1zE3VE+VNmpQSMsbgknDwGjUV+lEG73Li1/wC1LPjSiXc/lzYeMzINe9Hrc6OlkDv6rbXamvxCYvmqIiBsds+pswJGaIkGLp6OH/1HBfzbHEVsJcqSHAYQh5MoWIAQd0czclV6o4mDpfyLHaDmFSAWSxOVnrLeEw17lYas1QZk1biNVTLxCZEwZs/77rwPPkktsccLlI9kq07YzcMD2RJMZdTAkfMJbi+JaB6c4uDnZymDRVPWkXyo+imgsn/hYMTumPzMU8m7+BDi2DGpPAWlMliKNfQO0MZAS6g/1H5Ih2LMv4RHb/OmrIY3O+KSR90s0ZWLB0KBTvtmp4KLpPUYGoNqxl2rAu4Dw2HGDDP06pDqUMGee2BIwabXgRnc4Ecl1+iU/1d5F0blCf4VBRJcmcrL2HvcGdelwEhdugLDl66VBNs3DFl3mnREdN26rvC7MjL8PZ0zs56piYcgxu21MfQA81sUijYNFpAG1KFjnQfvhRNxXAXSEH4ic5uTWwLsKAe/NaSj5R3rCRC9MSz7Nkb0Y+ZIvX7/9iBfWxqdNnaCsMzPIJW3KdakPghb2QruzDCLhNRsR5kgVD+0I0HqISjAeNoKwnn2oGPEWpgZK6Z5meTDLU+JWMYi8EDd0P9EXgz89Mi4fv9TJTKDbdopd1QPXuwf2ydcKTLg9vMBubkdd/fZyywAlFfOtNosjOqoILHdzyfwAN5mpVuqN7BPLdl3f3+pEZund4q4xIVCklMBo+MkVzOOiuW9rNmblgYGXUNcwys6G25ubLoGrJOYYFFS0VKEQRksveSrmZbBtsHMrzUO8xaGyC7nA6KItumOAkHoxqz24EJwEWxq9bUITqWOY8BRn1K3LMciwL2WMKj5YO0FpEgiRB/kqKwl0Q7DHZWfrHI/UQXpEv1tZRfZDNavdcATXkgMDVLcfoY8dgEDKdEQkIiuXpxyLrDIpx0ivnNBcmCxFAWHPDpBlTkWZ+X6WilsO19ZDpnvGy44fkYbyQjZCxR5Eh8a9FR32SOfRzxIMELD3ubzFnom8tioAk11Hyw7PJZ2UkmVEKlih9wKfuT83dqow3YnYBpRpOjbhpSlMbHtqg2WQYQvKhZEB8MSuKK5zHLP8BlnxNZO6+AB+evNcgdPjyKzd55bfgvj463kD4S2TIvGgObrWJjtVW1vYJ98nxTHwxiloIRP2ABUIiiEnCanNycLfeFsknpz3taskGKXARrnsxh9CdD2Z0I2aEK3TTltZnyKvcGSpnlBSIvPPwxR0bNPpOooHOoEiTtSOI/u1a3z3v6pLI/3BmDl6q7yHPUlQNTs4mxefaMCYdIZnEKJ28PG2f7Lnow1HTpZvqeT5mTO02U1fiyUMK9ORu0EZhkrWz3/vv379TapIERQrCktnev/iegelmLWCUsG4+eh8wsckgSE1n7T7YahA1Afzl6C56RnUrIQ3/FMsCAu1jGWhnXUpW9IZ0BCJ91EcbZzKUeCvDwIeoksUkvTOd0MDZ8gwwQsE5Kld2eHOpT6SNTMQs6a9ZpbMlHemfk/lAU1A0WvFhqsp0T0ukqwD3Z5Jmro4bD8dNflBdT/xzpm6gD5eD5H+Mc3o6EpTSM1rvdZzjEScamFl7YdAiNn0XCpyGEMi7nVTL6o5zi3u62AZbO/tgQ3AcJYWqsNPhUKRGM1Hgou6/rmwH2XC/yRsRcNdaVC2KG7TIXAo8+JO4qE7BeAv0q54H7VJQldZO0bdTozEcdv4/lAjb/hc9mbJxODjCZl8srmu+iM8MELIrd64vNuWeqhMppnrlNffFYJJTj7y/f77BI7BI8AyaGi9u+uAwKL9EiwKHdO1IdFvjRr49RxcTs+ZmFV/CDstGsShoLp+Q/qbFJgyNTjr7rwpYIYmYpstLmWP81krYHUHM3ltYeTLKDd+7LHfwpA/hUjjhLBJ1XxL9o3RvnUaGlM7W86fGY6i/ekwnh2PBwzgazoWgSiBoTwDR98PxofjxdILwaLamxuIlH3hzuFRxIE6FiVXvViWzwM4G2EN3fhkkixXzAcjiUFv8rplVRXfNqcSrDk+Dn4y4O1yjsrkJukdwxmdjtTBzDYGolNvUF6Zqbu7fgsz5qOC3XfVPTH7yQ52FZJIyx78XdNgsCzD+EDjifpksRHkiiYMpZqkRFhbTFDnsA01M3GLsl26rDLK5Z5z2lpE+jDNl/kFjWKmwXD8Kwe8fsaqeQIBSKN9MgNIn2ie8+LJcTBCS74IYwNf3OFpppa64jgOLwvTnHm0rjSzA3a0m8nMIZIkEJQmtNNw0tERKRBsGLHim0gyVrmqJo6X8/Ywb/FXlzuWVViK+Xx+IndlxjZCaS1/BHt0b4hK0iALApz4k6LCpszoGVAKC+kZ2cdLrq6Tg/HdXc0wbILlaeCNiwBPNjMTYrkrukWJ6GFYtvrATPr+BkqNMIdvoM1lnNO5LVV5EILFCd16W0u0vl/B6P1+xVGUXP5p0AesDoWpycIQPsriMYyyDHYJg+M8aVM2f7tZZPAPlRW4WAEidTa1+ZeOOE29M5KcxJlBZhVyn3iCA262ry0lU01HIrYUYP25jW285JVoPdXs9nLTgZLHiysRRFT3XqY4m+QmB4OR8rXFnkHKrkyuZHUyPvebzoKZcwn6xSpglnuUDu/Ooo8G9nxWexdDMmiZ1+qNThJ66ZE6Sn+oaKWSTj+5vKKYUkc21kiv8pMBTTce+mTF3uZaiy5oxHRp9v2Gy9cR9NxHD5mE+ZIqKcQ50yjly70dtlLdSO2hr3LjhMgBcd3NfOJYZiSNJFnFywPhOmIpuMuKldVkl1ekiQK+K6ZJm3PiK8Q2zu+aKmEl1YK2J9LWU9VyS2Pzd9vhNmgq8YHmuRtjV4s/S96wAT+6Dm7v74JDK1qAiIsiOAD8gMz8PCD6UAtkf/xCTKaKna4PN8XG409t0tAGramQdd1XgckvH5fp6zfdKNb6NJkdxanFA1HnKekO2+mN6Pxxyb5QTTpp5dnzFc5ZN4SduJpp3YnE04SnAj0rH/cBRrGBY+8ny85TH8Mnc1+02aNWTF0q+nWBfrP4DDiZsXoyK2vaobLGBd6oPMl2m6mfWic0dGxD1VfwkzZvPrLfatyJDFSf4fcIr4bfA0XzcAGgoEyLo09oL1nsIIBjxk0JjsemzmgmeTpWDdF4lm6zAuTdn0aBbe/HzFI2U9wgFqllrgan0xD2m8Tfg1GDrL3E25vySc4B+Ije6IwjAVuTg7aqDxbMJ7YDLdz8NCwGEOAmxz7VgBeSB8l5x+dAW2pnEDikyS+GXMYKWGAks6bnmmsdINhbJbUevaXbIbOxDz2H2UgQuxVzee6AeFhMrrmnfMFyMSx0wGsw0JRl/i7P6fTOPeGSmGvIdxWSI74xEk1seWqxR+NGAK1/NgiIb4RdwOCh+8KPQczZNLEIl/L4ZD53+tsEoSJkqnwJrRqZGFdBSYcyEVicIoPvcih5pXWaiTyygW9Zp6ZXRvkg7+62NDFJgEi3mD4s7puss6185O8nCi3fG2fNoYR7VUQ2O82O0o4y8xPSaybol3VRiTjJpIM/srFHXEKkRoGdL1ZxVYRppXz+O0/AkohB1Rh9lMPg55V5oNTtgBTfmu1zoTdnUSHZxfOdvZANy8hGMJWscSWpP5zwjIV8Cw4m15Nw/R9Mno2cPDrwFHMDcZY0DjbEsuw3SNbAuK8JGUiGMlhU8KtYKtU0rxGMGxYuvhZYiwb+KCtQJVSY5fWMif4bfoHeodfAYp2S0Jmza8Xcfzdvzq/RDpEul4crkoPRj1EzbZxfcmff1PSCcs59AvMhKWXlX/1KZWRsnt07I41DNkP2pPoyIjPNmkLO6poIt9GcUQcmCvkNONTZmlORsTJDqM3mINin4nU5cXg59N63Wd3u93GzDT+oE4dGxrjYTp2zhR1Zgs4QrTiRMDXJtJO5i0Rj7I/xvR6JoYaOJQFoqhZp8y7LGUcEH33xTmMEGizMu62u7qm0Y5MF8IvW6jLx5FCnuIVl90tWK9wYgZElvkVz3NLwlmD6hgtcvtDHz3IGPyMB7AbUmwxLGowUHkMbERvaiiwXIheTV48ulYb0zrTAK56Uu0gfKWM0yGAnsLPFxLS16cj9vvnc3AIIBGvInEiH0P4qY37aLQVFSoqRW0KlI/ItiHmgcQNHdQSNmkmJalyXnEFm3SdZ5xKmb2pKJyBmPgT+xUIFdYaJRsoQfvKXLkw/1PHS6XP/RqjRu0Oo8FZrIKqe1DHtNf6TktWDLXbBmVgcox2OLxAYKiGX6XKsI1KZYIWshyosBZINQZz6nVNH9zEqcRgPKduNTzz1zTWmzeveuEcSPDVxsuL1oDsNiFX8xXKcpN3GLdwgSxQRWauvq+LoWNfw28Ls0x1XZJxOkETa5J+PA9o5Pto0arcw4cYfNoXHDLJmbKh6xLuobpw9cKKpVq4/l3X96p+IVIMpYwOqhC61qQ9QkmDUaxs8Cr4s5mIA04uOkySMgI6OeYgwNw3pgF3x5Ozgs1BQ9sIOZrIWgmOWJhh0RlIAM4Y1MeEZb0F0wtqJRpLXLNagKs7FA2p8kxR2r2ecx4KBzu2zV2ldDFbOOKFA8IZxU2pqZN1gwfcWHs3k7vshwXO6f74SOoGP3hVzepjW64AnVgh9a2M+VWBIxxzkOyO09KLo3DpxBSxQToxR7YMqwcGZTVb7obdGmnD9czjZEvMzhzgnSrlfRw0fgyWt6l6EnqYyT0eSvFol4ApRfM7ZMB5kGKR4ro5MW8JdvJhlIpLi8l+j14FK9/NBM604RwZpsU3zzf8HYqndSrNNxLkpJQPeapzf3SNeH1YgPqTGG11CaX5r/ZXKdfq/wzSiiGQIZgxpixLXNk1dybtpMBsU3YGqLO87pcM88Rjm2jQpQRcG7kdEWFIG7um10skQC9r9yq4ac1GYEksIiiiOWXJlWZcHvEZf6Wys1j2EgMk6n11CL5B9t6kVO/+x5QSny1dYZCWgimIUKFtkJF37gUlR39Uh5iZcbKlvgAUyQccZvkK7a44fA8OKzJQQOxTm0rKsfX7MOWKL2/3+ekd1NYHma1VFuLFMWIjoiWcoBjSRC0pMXOc2JpmilDgVSVdEr5L3saaRXGIIFLrWd8RZcOeXhzaqLPEW0z//JjDbiinGr1GpzTQ+zDq11il+cP8kibM+cuVltyuSzKQrXejLiVyLI12q3qLNCfftJaeNlrLW71nFjsbPltLZIJxqe7+2UIsywq9LCYFhg8KNqwdvrGgY/ZVa2Kt10WL4eZLRwA+RQl1c+G9EiqDPXNPiH7M1J8m7DQP9WGbE2tsnTnL2HsqIxpDA+VwzCLvnmqUJo1ec4IU1vxnDCv4ckk8mMJUkHHMb87NjSGspNwbMQWeeYaSVfeQ4+yruJAdEkEikBmMCPRpXkOeSeSGOMVW/HGY+9Tp+Mof38/E/OGzlsizbKmqxRVA7RIMTQecMhaPu7vzyfFV6WI4huuQLlkbPCxyzf8NhsyXeu61nCSIrlqLcxF0N3yAHvjh1aXwbrHpGlJjCF4kBWbK14vba5uCVNgH89JpoVM87Dk8ydNl5p20goxCnZoYcXu2ctk56tNRAfqwhW52E3XxrBqnYZxq+B4MMSNeuGHUzn4X4msOESI2LmDtqC74m7aVIWKBaM4VFzWEInJiCpjYF/12sebYV/RKzgrgzOo+B/iUnwylW+VWvndLCiVhwimbr+opIil/YdEHvKAD91twVskVC4qQUAMGcO+ZqsD8yxXBo0v6821KZEYmwSsE7SA5Q91AX2LO4ISgGRDBKGfkBRdH2MXoYwqifURpwUrhHUk94J9MkqT3WfoPNUtc+o0y67+/uf1x/JRhtuftemXVWLExFaplGkcnJ9CTgEPfsYi2gAWlLQXEVFCzHJUZLiXBUIAeaQMaYwgGd/pAPOcFjzwQAhNit6b3AH3+LFVEOtXy6lBPdc7aFmeZJTEeLK5MNsyk12U22HudGv6h8eM//Chdp0gB54ALijQBNGQTtyu0yMTW9dbLOba7XKNUPhODaf8UoHVCOVDfvMYKlWsjRWQP6EyD79kFCAhLS1SCxp2Q+iGMil5g+sSgyureR8MkRd2yyWrtMwXqZsvdmeWHR/p8Ikuq+G0cB73qAD1zKbI74RCaN678sgq5QwZCU/807nKWcufaoTDzyE0diQGOeEtBCXqrGDVY8yJ1/xuv9fzORY5J9URsMl5FgYQM9FuOpvKhSnXihBMHw+DaKrvOWtnkhyAnh34oB+tWx+3iRFkG385Nlni9i/LPgQOywphLh0ByvzmA8ichfEMvxZPD8NGi3nKQ/jTbkQ6emBwXWiVC9H6VF0JDKRJZpSpPiPfCDyy1qFQg5BTTvh2oLD+dYUcm1jXZJvKVIwq60B7XHkK84tnx+8rSzC2HD6yh2C0p0YeOXfRBXo3kmhc2jMNFk8uAN8LUWRRP78xJSn6YWd2FnWtU/lkUZSTh6gmwiZoxLdcn3d0J88YgkYjDEY2PAlLpO0TFKJKBwvyyG9GBZlNj7ifjWY1rIxmE5hnVxEwYiHbxAJ4OYrGhUwADD1XboSABHW7YLs1E/LmBmgWd1ruhMHDc+G8RIMIwKAd2YmXYZ5DkkplQfWX7A1oSM1iYaxg4mAz/zLpTsdTnistyLYCRqgPT7MFOPp3rtu/urfVJqShZNs6VJXZJJr4vPo+8Rf8VeI0EbsYDmKbDMgyieZdncpTq6nhDs9wko4nRBBfFMt1XSt0gbkRHkr+U+tCLkDwtGKZD8hStonBFJ+TFdAaSO4duTo61mC+K5LD0PTQlgmpq6MI2f3bGAcrtZU5HrT7qCHhrj3swZJR0U3ilOUr84RbuwvLpWTVzRvNyzbpxBwlCtq4zImUnRW315O8yFU7j2WKeQpNxZSUlRC1PahDpBcqYkZgiqbgI3RjjWoN7P55flw4tdS6IimvIt6VgOVrrK+MS/EUi5QoY1qKZ2JibhTmHfExUDVAGMLHsmhZEEzXPK3hOBBCSAhKGjZRjpTSHelVwq0DCD0PG6txT2KjLMFg2kBCAeVrNUUAkIGbSUa6+Ik7/Xy+pg45mVgafSLOFw6coTyxMNDB2B8PbevDCCLa/PueAmgP2d4sCnV0+JTszJGnkDrDSnBYUI2wQpQhXQYu3mCK0DpNcneX3iKtemgWQgPXN1ZiGWs+RbvZV5JhIU7qoHR/mTvtz3Ty9uJWNV0NYkFiw9cq0/BzHS2MAPqmWded0VFiTJs3+7K4HmvlZ6gK3vDYxVs+GGXVSYfRMfusXWS4mzCVkxaV8y1JVCu0Te4pC8XbkC6Zc3i8joHWX7g355SAAKM/q1YdVUuc1PYVlQobciF7+8F8Eecm9tx8JvbW52mPpoLK3oact01j8ETRkgfTxs4yzAmouLe8fjPKZmBFfUpQIIws/B1R4Hpsnspsw81kVXpphQnpTncZQRmWdgLqlt7xHSu8bLhLs0oJUI8rZw4/o8usR5I5goHSCahFCEZ6tNkBN8k9SX5kp1frHjNJDCgzPu3rhnBjcZm9JRtULamnswtdPAzTRVKma9oMZrdWscorUWEIzTY4itL3w8Vzj9uaKXWO1siTgo6octI5xPIvPl8RIK+zlwb+HmYUpwMYVmRfVVfQIbmurLmMXym7cGVqQpUmOUXpQMXAYTFKNXRZ+hVa/Gr84cy2SQVxotBBIJ7hIFjATQZJiW8o284pHb/LxLwGpmaTUmgAEJSVZbtIkQs+HyE9ze5EymJvUyytWpTV5z+wlj7QNQtlnZM4wKMYg0MDWgklo2cVMEfHCK1kHJX9+n7ftTSUDhzFVEOc6EYgIAyfXZ5GA+NVcuIpenWMHMIqOFWF/T20wapDl0fHD/2cOxU07hwXPUE6C0tPPVYqTbpZspoxUG6Z7SMBE+DA5ZfMxBcrBlEiNpeq9pxCj4D1ENNmbNANPEAALkwu2YUnI1l1dIUtjbHcYD0OT9qitl4ZaUhOHZ7Q1FEWHrc5BinO6O4WyRIhU7S5nZBoOowRRaKRclJ2GVtP2Eox8Mw1kGZgbMbCEVvG3pxpch4JioQFcsukf90QInGpfnGD/EQKw8QWocRYQBIJUaBY8t5U4Wce1DGGEpHRoKuJ+FjUsTKT60fYKqiKWXKUlrwmeMkeFYkUoiFClDkxHngQCOIvUaPzR+CASBb0EgS4/k+sSeS7WFybGJSnnwcu/eR0Y2SVCWo1BVkFregljv7KZLPgHJxVzIFXuiUpVq9WQnzgXEkaaS2h9UpZGqignWow3YlHohUAjE3etaX/fbAIkhuTHWEhF3skLhodgzrpRPYJBLCgANgKz2e0U4CycZxFFhpjNk8bf6/rSbQScm0QlOfP2FoLmkpKOhsxfPM6O2aU7WVtUT95pgoIfoEZ5yQttx4lIy0grOwrSpk/cc2NBEMCB5A6QLil+7fVBGVji8bFy1HvnArDlv18oeFEI1sQn3crO8kZYzV6pXUf4RbihTk9Sy27gqCJ6UEmxMXmsezV9y/Fpzo9vjYEZW4UMqU7Yb1SH1i6s3TZg5FF2Z+hKRYW/99MVDegsBgU97D0+R3dkDmAJ3KIdQ9hB+VXjHLRYfhhlSwl662Rkre3p66mAkyxbM9y44ZxmXkGQjthee0FxQcmnqxp+toSHdudHYBUDMTtv2soQzpLdEEZP4EYdhHGb2xDWKeUh7OAEMqZdnV0VLQ7IPo8Mn0+uBflVx4r1NeN8VyNdxJIoiXatGWZqsv1amJuJyQHH00MfrVvjyA2JO4BkrFQGGHV/NZeGeu2K4xAMnnaz/eNpyPKMrp2PfymRQKBUQitU+QrAA1ixLAQA/Z/Egf1Cs5w7gi1DMysWhxl3bRJqniGGkOCmbthBVbFhZOXsizEWrH1dbrgWPUESrASBpVMRzi1OlHirC56U/7gHrdrDvE5wqDcUUuZjQz5QknMgOAZxqaOZTKNtrdMuk5y/RA1QCmGwkILsuWPAQvJ9YQgUUKyWwgtxPAudZR1mKABApnrrEwRWhg5b1HsLftPKT6mv8zquus/LrthoYLYdJAyENG3+2CW1TuavGWsNHOa8XQ6rg7ABjOFc/1/jLKkj2LYZjr5In/IlWMQamwShPJ1qa/KtWzqUatVEZCGIrBX71ezU54z1vygOAtb/v7Z2LZLO5jQFJ8QJN7B4kzNhKBFdqnRHnxTjxk+c6k284Y3Hr6ao92abLDumFXM1fAluR/LlFobAl/QaQKaZYINFVRgEQupmKDffGfzqF29+h/LLdZltzUXOzuUrum9E5SpOMAIrB9c2jfKtPFfnHmLrXpVxyZUi4uaUn22KgbG1TzIaUndCR/mO2PoXipFr7Keh3jg3Hk5wpgy5ifVtyuU8KN6NOWoDbTXBEmebN8Lo8NohKUYOyLMt4/J0aSUHC6M5e/hJVHL2dRmnnn+m+FaTVwSI+ZpfBsBntjwoFSN/HSzgs8q9ij9YmwZIF+SQ0mNKvG4AlUo1wq2NtDSD/KEGR74+YwyxSJEm1DdQBugheW69lGOyTPTbEK3kR2UqL048Dmwg2RqUwBCixi+qTyYis6dGiFrv7pgw9RCABEQwM7W8wUqsRRVnqKVvB04DC/OA1amX2YaeYM9qtRvulqQD42cFfJEonn0cjTdrueHs22pyVoVMrs9Yj3jWZAKduEhXGYTk0ElJN+jCeyJZZopjA5nKwMbuqYQ89Rr9eElvjHdLZhpRF/XC/NGoc6/cPN2ut48kIo9SESkxDU2aSDPQjH719XOm0Ya4xLsSxyYIVUYzixJ2CA7xByYOgmGhCPBcaxDanpgBVWOoeXjTXRpMjZyXahNApdbhNkVSVSfFp2QNo/WMHMWLMNaQp7mkCV0zlI30g0vFpwgqPxbS2M5n0Rxj2+pOVCOrWMeuXJTHMEv/Hb8X4XW54mNTFq9HT7xe90GAhr9fh5hHpBtE5BTaVdflku9I1HkaekDTUor5cnKP60Mv4HNsOkSTkOFz0ecLA05q1vCLdJSsuSP/peoDUPVlZU7amyj1CU65qYhKJ7Q1LfA1d96QUJjuBgqiaBEo+nEiH+fHvCgGPFKHtJ1rjduEQnPL5c62zWWO+T81oRSbq3Va9sgY67WHemwIbxcCRdNM5caXTiVAasq+wi0Lip7OqjxJjQYfo4eq9+SvY7WM4O1VhZMLZ+ErdRgq8U8TaSDBsVYTgxFr48+ZLllk3mLLcHprmvFYYXTSmHiBYqS58VLTDcOaVxmRS3lci2CvBNjkFWJi+HYp/wpEYqN9fOfZgRCq54n70bQo/nSJUjHxZO3MoMxKV6tAIrucDo0AcbGw4JQd5a5KdYC4TWCp6sce472vd6WP9I3eJpwTnvayNtqa6kK/cjulDl3Kfl/VCl5COZIVh8ULQhHf6OZ8g8YacCt72aI/EqYleBc5og3Ay0O5HYuMjnnFIhy84ZEGBkxKMnrWqJDKsN5Ulbt4zaKkU+ye6hB5BoAq1N8/nzHJ4DcnRPcjPQ1cm2kpZ6PMDtUmz4r2SKTRo/lKgWpybTls4PtkoQ4DVBO0ri6G7zgv8XzopB2cmodJQ8Nt4jD56feVzUUpmTcF7G5MxHLfGxkn/iX9FLjdFfT1aqjYzmAfX4AARROi6cg/EF+RWK/MBplt5jCqEHhFQFvyYQt3S+LLUprFrLVQo+3i68THH84ryt3Z1odHnYFZJ3/Wn3QsWXvazFW1Wwrb8USP/1MNzFcmDzVs8i2o9UJlzNVZMRq07pJ7hE19QdVAPTEUvE1yqfLqs8WkQZ2DQ7rWi1Xnh974DUXzTKBGMcCieW2y0E+SWkIR11MFR4aVqTigVgs/6fDgxbIDBlnfiw0lJOBZx5myyJiux32vqpedTlylwDZRDwEwZg0n+yhDZ0H3fOlx+eB3ikwDhuyMS3xlELZvMVkcAqjO3jZG2sjPLNYTopumjPxf52Za0KHZC5l9W3EPVPqqX3Wgps7CeON1tBplHsNJcwToPr0skgJBZymtxI1kZ0vpvQ4+3uECq+BHVluAdva7MSps43qVAMEXU5bTdHFUR1T0AXdjk4x5AQ6ER6JTc5gqcFqei/225RPl6rtGqseMvEeTDWQF34DFuDry+4e68azxauCxOo44KpW7LkVII0tAiuucRKoR2wNP/qcGrACrhLtA+2Mr0YjX1V18gIaMDmbls5Cums/blFq1dIbM66IK9x3NcfXkTgHNf1yaJ7cmsa5lMA8V08D3jqxnU2gSl7jndYhAJ2U9WOPznm/SUYT4a6DNXoilPQhSjWAKKxktapFUG9jamwZHKHHKrOqQDDA+E1/HDd/cBr4Puf5StNawktyvOVVEY+o+XyRrbbDoHNSIs3juqjxUFIeDJYwCKyJxhTvrw3GzNa1NbK5KBC8hYjOF65InG+emsOTJ6tC8J3CEok22JT+fi49T3C50PEiL3KdERs5qbOHpwp0GpiBdBAoIlpDIWCn67ELyYx9TvhH46NlbN664qKKzoJncdgRTLNBrTDBucBPe8N/X2qFdNAQ0ii208Jt0CY+QA3z7IxIQIb6LmKxnmyRk3o7Nl+ZKdn4hDnk/67LlCvCqAmT00gQWT5mSGaZbS2T3cqZzFUh9iHHwCF6IMvmtRsU6Kpn4ugGrZPdqsex9fqZGb9fVdSzaAFxUYAi+wa8UahzHY4jxriL8P/U0BKFg9mocRCUu0IJNOJ1zO6XaXC1+M5KdaOjicHwuyfihg/bAkNhm8CgO2GoueWw8uHn2YZOltZydC25mLEAHbbADDWbeYh5mU8jUQXNgnhQOiw49ImpNBCE+qNGXYdq418xlrMlP/dad5Q6WJOBmmMGlU0T8WqI2kAT7uUJDCu/4vu6V7kgreDnJUMBDnElTJ49VDk8gqWszizSwkVrLeWUAYCX9oc5f6ZOBgzMEakdgEUHiDnjEl3yl95F4k3IQhknxOK4lC4KiMPAzNJq3WWcuKkELi3Zneex32FGpp5aGKojETschHk9R7GiAhhhdHZtZOMz3/RkQqFs0KxPFhdzI3ZPQz0HStKrnL0M4UNUGMgcstzus6ub3tLYU2Faz7WmCiCbMl3j/OJpdg5U29ehzDMSCYWfj82S1Vmay+HqpC8JpEyKUVx1NG9pwmThyyh+enqlPP2d4j0EmSWGLCCh7o2muL5KlzvVtlaMx2WICd59N5nX0DYZkobO85H9DgSFpgK0AWYZXigghYXJNGgoS426hYAzJsLZshxXXSm2/xyhQyL36jIbd6WlVqDL/Px6nGZduAvbVJZuHAz+NZCRiJIkLE0cmS9fdGC0RRgsY1DNqhbOQdDkyP8PIQMJuYOAfjirUas8yHrO6j9UlbAgCTPHmA2MP2I3Y3vOqZbLpqjm4ebNhfATn1mDL6Bs5HYew+DPXDWRVxOdNYhKraobRprdHzrukovLAvKB6JpYphxskpce4NpIUbIZeUyNqkc8Cs0caC5Rs0kMU0N2sOJMuqg+YIeG5MRA/qetBLmuZFq6a81WDFQV2AuaGbsrhMHS1F/iqa0SbOXSsOw8nD6L5g7TB4oZxi9sAVoMrfjAhvPIn83hh7bOYqxaF7B0tCHRTxYsrYhnJ/hk6YinxANnxN7Fhpmlcb4Z9Z7N50t8Og6m0QXOZ9jEZeIQAUKLGUMBVLUZiqZbylpkkHPxUo1To3ckIkeaJBwDN9RuZ+Kj8gxOxRDgSBHnMVSm/JtTnaBhfonfl+NLwl1zD3EWkR/cflOLMq+a9iFJL1IEhIIxUTGz8UzHhieyIrGa4tWPuqnrpN17VESmVtzKP1fc625ZTAWM5116nsUJFEhKnfnMAUHrtlVAw+hY9za+QLAYVD5P+14kqtKKZ5EtTEXhUErwTSyqMbZ2f8kPW3oktMChiMQHWQNRFQmgiN3YQwk9sCTP2WycSVhqMjA9UcLn4/ueENY3TaGxBigvyUqIvfPIMUrmaeZ/SBANmKgNLTp1beoAZALgF890jbEylBeukjMNa6GZMqx5YBqAsz4zJ1otB2bTRK0smJO/88AW0gE5rm2DPabpGc6psVEd6w6yJgIylLsTkGcWeSX5q9Bzfk/pH3wGawmOKE9IpLqF78qLKL3GRxkOtq+apbyOhbGQC1TNyHZIeU7QrSM4OLu/8crM6zaNPd8d0hysRRccDBc+xvfliaRkGZc9gfPVjknFyOQigtpAnWigBJZw+RFKyI08I8zKaijyoTkMCDLngOcPeSaEEt0y+BVYT+Hy8RBgrqe3HPH1TNbVmQ5qI55TXGM6Iw+lXJPRXAfu6Oyc5CuIF4Zw2XwytGg5JU9AUPzLEWKY1p9hqjQBykYXT41yQDwRSd+GqJCjI4ImHuoT4tX4DRZpFM0urxw6R2AljQidA285QwtqYXnVpigrBsQSZwKNxZ8gSJpHr0QTloGbduTHlMcaT7PiYmm+bWo6DISDGozlMJ5czPFm2knVozlq20hw9c7CfQ7WyrA8OGf3ameU3BDiq2lUKnGdNqCm7OTBFTED8Jb2GT2NnC6mUKIfyjS+boZQlkO35UJ6o1z6sbvUn0S+/YRlDSngz+B5owBA50Ar87+YOXHJfCTSsayEMPO44kcZWNmB6TvvBTwDtcIwaKuiVXpiuESDUPYyeeZgi/KVdVgDq4GGjqX4vPWuDBxHjwYFyzBSok4KrEDHpg12yNYwhuLt/XJ0LsashTHdmGA5tFyQpSdd1nWBQ9b0zbv0mU3gID4NtzvBtOyO1KRlt/XzTruLUGQN9TLNz7s79yCsLq8EUl5dK8qAxXVEYZ7wSTx8BR1/urm8XtlRQJvJNAYebnMMSt9SxaXG1BXn65JUbmhFijK17JhpgquLirz5umr7vt3ZKFIw8Q4aT0LkzXEVZdyCspxnKAc02+jZRv1caZmdcIKUWDNMMuWhbMXpEtQiUsmqxnaNVvBaoIeGU4iI18UUJG6O83MEdRtKoYUYCcBCj+iCkrDOS2MNr8w7oDCtRghCjFajxA/3Gr2p+4TI9tzKPiSjPAUglVysVvhwSZDh0DmvnL3BhfloNny6ynlY8SRhzYRpOaWmPUFWfs+ypo6SvcryiVw3w6Dw1dW6mFoRJlzWyjLVctbvyF/xNMq4Gwas/DPUmiqSq00EwDe0hNYRJKiSRTcO/1V0wmaVCFhZLtgzGpQa6rac5jzQSg3l0BnlI65fqovPDAE9hS1RrwwGhjWd5JIpCJ9km7wQ02uuh19mDbuSUK2cl6cEx6ewZZt1RVzc41k4YoMu2jLC/c453gBXzKeA6iaE2N5iZDNjtiyKmqzG5iBNNFRXjoSqtXXfR04/nv0CbIehJpSQQt7DDuCMBcJXGED7PG3Vd6yLdvCZVZ2ewzYDAvdyAG12xYJMsKQdRlaQWRBeNWO2yhBQ8rIVc3UIv7Rrlzm5mUmGQ5FISruV29vjxXkSLUI4lopGktZ53sPJczjc1Hp9WAv/NC12ITpamUiJVYgytmHty+X+atxReaE8CEbfWxMnSw0qDnOaKdBPeH4Sd+fZGIlD+RrW5EKGfsaDaZsR75NUj7K6gh76h+jWmKHDOMF45mUVbntcrwvHng0LA9x7ieWR7QqYgKG2O9ykWJ66Arn0CZJuL1++zuCzTQWUMduHASIc5F6uF6UyrQRsnFEULaUOuT2JMfVWTWJytnE14EowLxy+JQALGNVArCPGX8z0CWWxcI3HgLG6GYx5kkIUK4YAxJSmMKk6bLmLcxFOOnaTQkulXinO6mNIQavbiYTWqzwDx/WNpwMjYOS1kT8XmTL7ByxZNjRJp6+27KsDXBOPJBJpk4E8wgmE8fTt1IVWkjOUsIPv2cxdHD32ZcFaqb/G7WnmAQpkmBwjRHWlDp/GRwJ9U22An4HdblrXV3aKSbBYijpARflgQSeiC0mmtE+QMfC7hWXDrsO75FTddh7dxYVgMDplhrQxlYXBzn6Ntqxvx96k+iXfMA+IJAq4EUekp9zF3EGLAtQMZiOaqSbCKqTJEG/XIssyznr0YMMOzGeVFGol2mA8noPJbGBuX8wkqNmwUIXNBFlMLRopDj3LjLyrOJYG1WPi72TKm4V6diDO+FMPXAyxKYuxAx+3XT1yY9ML0Ht/5Ld1B+fXISC533IVvCNnhrlN3PVUBt7onqATz/ENFo1ntE5FWggBjqXPufxNhzmu4u0G2S8tKqZRllmzi8oSEsKEC96JD9LwWXnO6zNLUy7dSRUE5hlE6F2WtmCcf9kPBI1LV3kez1NuRawkCSFmlv1md33RscyTVMDyf+njupoqZgDddsgJqAn4ycZwn5JxUhSlrKqQC/Yk8CxVLuT+ym6ZbV5NxbGmbAIflKziYKMuM+0MMv8g4NvjQA5wFAoyC28/2LKl9hC8iZ+50BpOig9DveJMgZqZSd5xxo/0BqrKU7ZQSs556zwbvpSRmPCKBkJkFeEwi00xuqyQhBYkGMBhthhvG/iug8XIIe5o3Ky456ICRyGXWoDL8eCypcO7y1T0buToBaCqe8pyS+xmFvCIg7CxJSuqdXUtvm/uCMDNlHCWAEODRLHu9H3FznnlNqsjxG8SWyNKQdaxKfvBCkNhet6XVyVbXpTz2+PSWG46Q53daoigZ6rr67KUFu1FsZUgvFJ0pvhi7iaKFMIG3q2cyt1iaAx3pLoadnEANhN8/PSAvMSXd4QBxL8TzLjZDZDJRwjoPNylUs/phnUAG5jq5MLGyk4OImFs5eHazvCiv9KpyBF6GmvbAYR+yWIlGjAHMborDzqmLxDhTvNegGZDyTBHdpZzNm9msntos+i1YsOuiqT6DjAh2DFCYYfksG6XSEAmJhWWy5PzEBaDrRkkPNFfDm1T+zmjBS9u8rQwn0aQaVWWJJ/wr7aIPbPZ34z4bMCRhaHS2JcVhNlUlQONw78Rt26qP2/EKtPCybJOpgMvBqsGO2U4l6YMsUWGyp/v9/OenN5zelq0LrWYNY5YisybJJWJm4Homdc1dhu1K1Pkl+/385wSc7PttqBK73BtSpeiTyiwg2Oa7q0/QmhVVXnNiwRXilg8XBeQWySp7YRxO3dt4myhG7tk+zyvSuNWGWhK5aeNrUMG3fI9eD6XHW85q/OIRwoTcON0w6LbimostvISIXGZtCzhEO2ZzhiriYjJrw5qXCyWEnBQfFl11SZAus4F5kpmPn7I0053SrkKW3yCM0MEFL/mUxQ5hvixpWT6DZQa91IZu2x7e1kkqSobBA+x4D8EGYYFv6AM5y7IJtoFupcs784tR1LdPeA9DrO2gIyZ4E0nDkbypENJvGtSCgRjqmkzMS0PXoytUd0pAAkOmQIxzsp6uNxA2fwxJSU0qZ6XjwUBJ+PL1EDi664LDSd6jhTuBe9CD8BpXJyRO3iWZJgz5hFN1LSVgBAjBSGKv2N0uilUXiBPK0zm2bUyoXEQmMEAo1wk82QRuv++QwMdVpzyuriNqxrpZWblT8IN5aVtBG0KwKXHZw6SWkSEPlk2OixMag8NA4cR7cJ4aq1Z1s6MRGcu7EXc4avJAOUlda6Of5WEGM4zDXXhedRKA4pwfRYDcc67UnIGo6FUqV4zQ5KYzLr3co3FJoFySyS6iWudQWqi0p124rsQpe450s4cwvDMqJkb0nyQhcFzevnUElPYCYskMHC/TxdAoab/yt805MJudVdYiVvBJVpcxdKzQCAR18Fzj3u2+YJYTGWv1GjOrDoDOPSUzcSHDx3QOMZruI41qQOPDrC4IA+OJSvPw4Rbhb7b58icRN2orVZsqgL4pBS6DNr4eH8sy3RjbgfZ4iAZyeQzkRP0aOjcwgO1TENRj8fj/X4rdNwRIohBLqi0o5WA9Z0NbCHFyxMCM0yXrxj2N4V1YYQaPWsHwCBnlWyLCHE1PvTojOLz/c8ji4FuNoEQpKtltvwCC2JJyY45xkORnMHy3/gwNfGz5LguvM8xw5phGKPk/KCyifoJiFtZULjD6W16QT7PAwgbGeaGudHC3X61jIxYJSC5OJY4e5nHau8pnYKGJE9kvZynWKNnAwTMXgR1CQkf+cL1JBEQS3goh6PMu0b4BDUzhYTprcHBGtfku+xn5kZ0HPwD9pwWHcaYavWkrDRe3zNGCCtBaWXVGpkMFylzGKpS54DAUssGH9ojp5J/KesDgRwpS4gwq81ie+H8606gZVL3mlebc2KNwsUpKToOV5eUQPsFKlci8irCJXBmM6SZWvQiY5+ONp+4FmxNAieJFcjevhPuFM/4lIXXS3F3Vwi6K8QX1CpCSfgGka8qdzeyk+jtxFbqjvqdJusKkMany843FwBEN8AS/BN6ayMxiHX/Dseqi2MzMKcTelkWk8dww3xVBrvu4cVB8P+pegP0JjY39XE4lm4JAnBAMDh0Zy2yJ9mYV/kZMGYHLLPTcB2CM7PA7YAVAfpwLP7eHFY/n9D7Yy2TiHuYhT3zpaBzlB6q3/IHXLsE4vOq6HOvkpFnTHsqQSMfts1VxmDVLlOLf6qFg3XX1m6Ycq4CvVDAhNhj481uAoatygNoU5bljLqRanY3jN/URRmD6JWQhDCbF2E2sbyW+saUSp43huBMDRDbIlmIUB+5FgiI/52QfQ6ayk6VyAz+DnNd82DRFO0NbwD18hfET90Hu6BfNdZ3AfafFaujabyIegDA9puiduQ9IULu30ZH5Td+84lMyaxCHbAjunhlOK02RYwXoWKa/z/VvvysHq6kwXY9nIP3gwWREqadO3NLlRQTQUrcu3+gB9rkMA9q3jgA2UGX5xN+YHCVCnkwz2KDDOBbHo1ziz0HTKzPk5dvb1XE0gdTkRq7NEMoOeJSQnXCBGkpYcEDzW94Fs1gT0NIhBQP72TzXfomR3RFwOlL/TULJG1XXv1OSWqLp8Dch6yVu5OIMYAppf/hOpAX2l6GNC/KySts1zQQk7UloswC18pik4gLfTAKms0lMTNc+whnImd8/Y8INFANZIZK+cInV497qwPmxnyQ9ZovDLBh51Wz4kRirTAW85J4gLWYlsYUt6Bisz82ofEsYoKpy/756f7q95sdbgQvEkPQ9AnnZ/OqkdFwKY9tQ5lcGQw7NKlBS+m9FpH1wGiYyQ1z6sHz9SJ90e0xNVMw0Jv1JXAztnheMVYgFcLkstDTTVhh+2KYUjRgPM7RhRfr0guxeMy67SvnqDd+999VXfNttgBzb1oGKBnxYbPJIi2srV+ZpFN6ZyfqMR+nloKKFsx3QTxZlkagM7VMijOW1zmnLKrj/+Zw39yAoRPjBH2ujGR64RygFojAHJkfjfRFQKVs3jdPjkRefW/nGxO8mbc6LYhB8Qfe8Iusmp2WK/IzZU5Tryc1sx6TY/Jyic0mmJVaJleSTJooqrzpz5xQc1xTChOqgGjzBa0JaoZb8CF34mJE75mPuAbFmulwz/d+e3IkwaOhRQJMWUv/JDDQpgkQ57BUno+/DYP5jVEbrOfVu3XkFkvcf3QJhMuJ10aD0CoDpwM2MMBah7ZW9RMgUMslscbDc5J9AspzYOvn9Zojr1LzrBGDTBHxohMmkSg1hjDoYhGSp3IieTMdA74tAZrqJ6GeKaSMSxUmjcown7R/L7eHAeKvpDFyIxSdsEozY0rqg8fX+VzrvGSfTuAqwLC05t1cO7WpUYEp8+P8T85GdOasWmWw5j7eJiVA9LrnTZo/uTdXm4d2xdnqP0s2xZtcr1GR8aWqwmSsDMa42RWmhMIWrBEOQJEbu8XCOn/WDFKJgXouAVcCdJgN6TlyfiKMZ6F4HtaKRsgaLSsXeQ98zoJuqqC845NXKHiLZhimc/PtGo2YKeoLLwMNic7w9tQAt9LKRbD2npUBqCUb1m9tdIfRPyGXfA8OJ75gDMjCAWkoU7ErIdcQg2Z7QUaSEVEPfwwtiKaKXE5TKcVg8EwLRkF8hIy0PM9Eg8PGg878ctlQiGys8igJFSHKTGRvXnRwLVwTO0TjsWKHR29keCM8c1y2tJaFlCGgwhmkC2OsshK26Yq5dZmGGXrXGod0efSQxIwjq1DlvmnJfBE7arZXxuCY9UGw8nA361qzgwnEowLcAziTtNztaRVRpzxjdq75R5kMfXEikZ3InQeCZoIAA6s8tR0c504ajE0txAobOTJ8vHwvY04L3udrKrwMpZVWeKllpKDDdw67DRdmv2o5GuZb+SVILJARk4odGQZ/pHUmIUolhB1ktJVJ8r6Owdg/UosVxKRUCD/f2QTLYB3Akq7LyS8bRkAEcoIaIQwjuVHN38/3lThiqITIzflTXZrD1+xrQizBC02WxTukjnXqEJEiQR8advGqbKU+Ayrn68TM/YkadNsbV2dyVSe8JXZkaGigo7A0z4lJkyDx9rSYwXC+p9iuUWW8gloCNOCiHc5ka72RWlUm85dazCXynQ6+vg4xJq0UGyobe7AdkWD20DN5zZjQifSISQZMsfnRzQCm6+NFUJk9BeeGsClsXiITUFnK59xdVUUyh0UWh8IGztCzm0+sMDm7k0qHrEkgsmnVAq3sWbsclE1bW8FXBPEZYbKGZqgTKl18DhA456bYtYVzjG7sb3b5qGsQuGvoI+Q06S1N2N9+ES1q/7JN3iARQ6lcFc4jESp+dWe9ayszifsiLBmGKSZwlymzZgCVCiNni9eYK0lyrxUEuDHov8TjM+B82+rNYq9Hl9EPD89QcZt/jXjE1k+FCXJQSlhPkbmxN5aMCo6+piFJGMrmBQfymUMrXlYQT0jkQ1mPSqhLRNdEgDszCnuwBWW2+Oai7CKWLRLbAV0DoB61YESgK5TpAL+h9nQNmDOD8TOAJtiuuT6RqcZQFXhR3sWXBdS3VCLv13TRiPvauddSaXyJBHn0gfYCAm1vG/Sf4Md2J6w5bY17yvNmRIHiBQSV8tjEzFddl94h/Bzo1m4Tl0Ki53OY3tH24lzQmczn052oaSW3OtPigVGgequAGAdELZC3DJCLNUQU3aymVk+kT3bcSoqlvOq46Hr2PgVYMuKU03AwPCwjXjfw6TNCXqEF6QSRq7NjbGSHFNJEJLSvtn6HB0LjjKJYSnCiNlD4GhscLKREWho24awt4sqw5mEt7T+Jgl/BOJgeZCkWzQVUM3TnQe6yL33Wj7DmZVsrIRr6+txfcWwJmBUGjX20GusYQ67dXH9Z0bw+fMbIz/IdOfqHR9jimIqPuJhjIg/LeSdss/8PZuUBrNuSAvaaiF5UHf4rQSXkCPJqSFihDRwmfJyxs1tvBFwaSGTDKJMYiSQbSix3NjFyYjTzkDEHs0CN+VDMqwsEIartpIZ2bRbNovSMtMW6tVmJ/0n8NGbafd11dfehauYFcJiOEAnIrDFyZBMIdfnKAM43r5fa8/iWdVhfUKHoULkFZIHCjVj3WXQKUKHkqkpFjLCAQ77cBggRJVNdwCAiQ4jlYAVF/nbgi1xbfxPdl2NUEYQR2ceU+qU0PG7ULiX0gYAVff/kRYIUhigIzKZN4NCaxApsVSEtr4h/zQNqpkL/knA/OcMo7WRL3X4/gqrzy8ZvvJu180EzJPNZjKxaT6XI5XnBoFW0Mx6LQ1vB7l+G2rLgeYg2ub+UnXh8wnZDryojpDFcii2EXleq5cbM3iKRdMg6hhZtFPJ7LDTkHR9V2ggVBNBNaLEJy41gwwLMOh4UllcKWpmO7bNzP3YIekJKzMOr/+T3sHASmHb1256v8PB3jntYXKXWF3kEQWQbPdVFgDCVttC+niHEtGR8yQOFfFhoZJc7V4qx6xi3oVmSxJNN0cGOns3xsVnI0Mp0UR5NcwGE9Pujb9RCWSTyPh27B5reb4FL9QtXHv0nPxPLJoNWnSxjRU9tXjyLWYu0gVRmuxiV2y0Des39tAFgp0uIA/xMeLgGTw+22WdEGDqaZeXu6YvFgHUWt5th8QNlD8hTHiNT84a8X+MlfKxt6nuRZNDZsWSQnDuv+VXDjjbrggUiNY2Or13ncuKxsIIT6CaJuSCw5/GJCDS4sK3tZW2WPg4J/ZONoJPIgufpOTGbaT7tWRUwDfuk0iZeOvs83S5P2M+lpbJXaNnAiew1fZvzzfPx4kTleRXUFoWNjEaIn8mPWQergGpe2GSoyCRkv1PQP56QqkbwCK/BAhyHliyWY2SJxWD+VCs1ptCl4ehXARl0At3KCLH+kA8fNz+44mzGmeGQUILdgM7dsASlYcsUVKwlMblf5t8Kn9CccZtgET+PU////jScZtEF44dn6JPpNMQGVVGpI69XTuaa1uMRBWeArsvbLbG/2SRZiuU2M4oB0oXFPbUSxStECy67ANoBO6FumQY+GkCPXdH5dlkJ5PKY6F7iH+Zym7wzio5NeSr02PO3+MB84MmGWhOum5YD85DnFAMzMLJnQOLHRgEhkrak0L7bul4T+JyZcOzzWDrajM65VmDt7LWcxG4s+FORQYBWWPe/hMbnLezXIJZPhOuQAoBtIIkpp858UqCx7Ap9WGlF9pUdOVywVokcWcm3FlQKIPMVByxPqetuQTKWp1V39htjmPJEwzcA4ClIZkMQuVX4lnS0eeI16xyc2pp94QSATWMGnDizr71AZl8YsiFjdEVToMVbZEcWQ2XVwBZBWqzqza50D3/bwJz0YBd8DXzlHVVKDrwCHOI8H6nNoQI6GphuNPxIRDDQOBePrXpmPVbxoNJUcxphbE0a7w2mwqY42qAG9DR3xI0LNiIPKIdUhAg0mmVd6cUfaA9W6C1B+EJwuQdvwci9eh84CKcmsN+r0SFarlGU+YaW+KEV9cCbSXbe5AFyQ6sYRKfKqRYIjN94wYxzjwSbb3fbLUkVJQ2rwLqz+byhwDDeXNI+IFIaRMuoeg4fiJDl8OB3dE5U8PA9JmgWU7VVNCtbxewIw0oCtgeG6kQf3PfcZCmRIAmeLMXwXnpqMpK0Op2nmcb5uoUYYgB6x4RzexyqCEydGMfx0Ja80DL5JsaWu0pk/8W/ud1mPEdX4lQQB4hkCyUUTivU+I78q7aKmzlFUFBZHcq2igubpDqh/gBDLjhiINQIUYSrX+pH6cRSbFIlj/gs2mDtc6kmNpzAEAKHamfv1lssG6LZ8Zmj70oZVvKU3J+TzL03Y5gTDTh6d55plFYVCd1GlNJkTk0t44V4cEQ+RDduqQ5aiUSxHJCxo5LVX1PxMd1qnhOVBkWAD83TcqyqR8XN6LfmgowqL9ux5KutRql3XVA/3mP4Rw8DyqggbnQXi9+SRIsPV2Hj1SGGFeL94UZ+J+tL/iBaIbs/Mqic9jNrzGnVykV+5v73FFyw7nBUzsiJcpkVY/mMXAk+8E9uZ/cOni3YaosWGGvx1w0geqtTMzKAg5/rXo9OJ9MIj9RjEiQNgU2jZgGVz7Xm4ApL/GLIFQBydhRKTI0DGCJQOztmZhzEFoJMbU6TK6cy2CHUJ+dkuWMZYe7W7YMdjEGL2k6Q5qjJ1KZWU7Uo7+R5sUYGh0u60yN6RTsLTyj2lXEQX9S7jv+WX4+BG5ZMLKSRmwNYUsvL4DAs4Ai7jFuGmxYhibMie/qTkOt4s6TIWEA1fX1RIF54WiTsr1y3yA311sCAC+WLFKtjdWwFPKSwMQN/OlEFp0KVudNjJ+PYXf5aCmvOhKRmLWr89QwubnSg3ZBmxEzRIBCgM66UYvdof2jy8gztTdjrFj+BeaVSn0B1CqWeL9rLU94Cw9afGeuY/yoo+fXD2dwov644xjT0MA87FvYTtT53hBdYFGHi0tPfkNQJmbCsh+KIqS9jbqwloypMxswqDwD1LIDcw5vhgcIt/qNpEYIQonNBXdljGy0mSGieN2r0b1ouaAgj2lkTCIDv4utoAB5whzdQluSfs54d+a4pah/2rtGpxDUeKQCm2tYps1XS81qLQyQoOoCTzVACy34VnnLW/Hz+fh6TCKpUFabOFeYxaiRScyvsaY9Oj1XuQkZaWnl9puGYw9duQcH7pYY2VYlzWKh3bZY1JcSovPC9OHoBhPXj3U1AZNcd8hWE1Lwo5haZL+bgiKSNi95KkVAj4koRy71qIFXpMx7wsb33Zkyki7Hj+2AhKzykqGCTF4cQEDjCdzGQTSTOukythcyTGLlqj8d1SJWr+HOQjekM1zSxuuueEw7I1ZucYS+QACZY4GDIWyAqa6Lqt7JXoHHVYO8KO/i5tIa2qysVXPEADpILNdWBHYd9YOOomOgbO5XtczWHZUSjuFFh7M2Wp9pJxhvAZP6EFFLDnyEsTtKkAuM7PcnM+kCz8X0FQ8VXBB9i9a2a4Re6ZV08gVpg2HNgCHbexrK5EbPT33mvjejExc/nTdyYnWa5BeNDJApm2L+HmYetGiLJqIwEkaJpdAZwjKrrnq7xlBxSSXD70Ns/+r+n/hBKQa4Adv+3C9+4jzzG8kcEIyobHJQZenP1bkL3OfTaDOTMFd4Fh8GET1pV+woSy8WXzUlb8RmFl6kPo+3wyhwrv/VSGu1StNWDlX+SRTBKtoqVv+YnVNKsbFpjrsQWlEORz9CfwcQmK1ku6FMJC6i2wnqFE7ZMnkciMCkVS0M/smmeYzhg2CTGPfSO156lkR74/CyoRl2fXVHT6rTpUSFALctEoHlHRCUc+t7/UhU41fCBffmu8jH/TFqi4uIP2SLcGD3PBSasC/7YNkL/RtlQuQ28BPDnLFlo0+3CrQsolkITABa2QAL8U1tEp5pIgXZ7ls81dByCL7kW1lsuXE7MvcAViaKiGAtvwAg66mEcCuhWO2bvTYKhpWonrbV31abtcEzeC1Dc0j5FxXemxQVG2eYqApHS1yf7pvwbtNCowF1mKCYGkcEE331ySKvMOkilKtyFbzIHsuZFsx1AwcGCI1ZsqVe356BkZdnQIKg7oShKX8OiH06EPvw3WefdlSPOlw4nnCsfG+xNgfezfkpCbN2pFD7Rjc94A7AeOkti+x1LJtjIWUrwSMwoN1e6IgWpwEnM6/QzWZnizm0wzShns7cZlLmRrg02NlFl0JIAMZRfoCqmmAyzn7HMlWKLNIPaSTlvucjvlYrCJKlbHn0eX23KXj7BjohLKNest9YhGLopjnV+NeKDRDSdnrtI789DhJlJiu6NQCSLKZMtfsRVh4trs3VnIzLPyaJoTw2gPlgGYTrmMZQul35So2ObGF+B3Dw8esIcaQoyh1ZjFrTaXsHOvN7f7yu88mijKQCYMonhxjm72BYOM7TdnIBVhpGaMVHMAplkk+ZGTBSjUHM8GiEfyhXusz0tmntOPqyVgADnXXN4cmiNzlZlxVfBU12nGrSkVd/WkOA5EYua77NZwmSI6YKZptPJ9Mz6oiYoG2PSKx+MxU/RdEIyo7bNFzXhubCMyt18NL8hwHgNbsJhInUvwtjfWYo5nCMDgPh0bnaY/YWhKvohaaCF6gsLILfsK9yjXQ9et+5djkqcv25xKZCxPznUNNC1pxPW5ZkjWAPRwsEktJux1iRR44tIwAdEQcuLpZdWXtiv0jCj+AfojV0rDGugz0pEnFGOvKWnGt3STufDOQ9oY+qul2FQ9SQid1+cnNkGyy3kFhSmxqHJ7Y06zWKlP4re1eOZAoQ8mQ2mMUUVHJ2MhHu4fU5KFfbUgF46/1Bj5+zKovjtwth2LzvmP36m/7/Kuw+V+3aX+Lxlu++kR9x0aMjeaHBJKCgCaK3aHWp7jASQM5IaMNl7bG1TeMH2FPP87HOgoc+ZblBlqGG5bycLOrmHCrDKZJGhibRk76PnCCiFE/7CT7D+KgiqECHkGObEq8YqynhoY2jnEVYEmxABk6Vl4EzH/TUawzC1A6WAHEIxcM0a5xUyZoUud4NBUYgsYj5rJij+jDYlVNYyowgoWnsK2DjxgqD7hsFDNXmMXhKpxtcw8qkeqoTFikpf9FEq6dsfqcoXjykHosXnnich/ZatE6o4NlNcbhiq0FpcyjsvpQph9cQ46CO6B5ayyyZvUSgKriEdQW4gBNK56OlvJAYnHKPjMfFZ44weGl7Np6OCA9nSQUWUd5lLzHKb2FpRVnLlJJaetHNt4JCReC5jPpZMsiaZ3oZGQe8YhTPrZ/VQtFvyBJacaIQs12PY8EdxjZNUVgwft++bb0PJ1lMU8eh5NRuYFFgHnP+0eKnbtTYw4/SrPQngkDmUwKgDln6OiqrKQJwUvGxRCUnsQ6uaCUAcTotC2FkqdxrHiA1LMb8R7IptUc7rsQG0it4oLcP0ySaaFI7yWUzDeCkkbWM7DcDInzkSUPmLtym8t3iarV7b0l/7u2aOdm+7c8wWGmWocko8EWFiANX1M+5AIBvxCuyDftMcNleq6ho5GlgQsijZC7ysPGZt9vfSWDucRcH1ET8qBZCYuht3fbMdTI2cKbczRdtPaEIYZpbZw/DF6a2FTHPZFPdBE5AiTAOnEvWIN+h4Jl9XqSQClZHb7LaL6Q4vCLLKCH72ZEnoh5OMXiHx7Fz5lo0MNLvm096WQ3oRAk3TZt01nrX/5XQkz3hc3pUR3qnEZA/F4q8MogmKebcqzHgQcBpvsLxQ1mLVuqXOZfxScbEgdxF1wy79EchaVgrdK9RZcrgu/i0I77f32+v5Sr1zpKj2tc5WXvh5T2OIuGAdTEGp7CoauAR2UQFT06KId5ey/KJo1c/HjtOGxHebQYybzCnJ99vtnZPrUnqYNJRefWQh7w2tmcW87vP9ztxm43caqTApWBldLh+Pop4NeJYYKdVWFfIsok4/006bKJXFnQCI0tcvd+iZYWBnMQbI6t7wBJvriMYGLYzEG2PR8suvmYq7GTCp5Qc2rWEbhaF9o7vGcxzltHdm+xJfU7+y8OEvlJQQ254l/We+3a6YljbW/8QUvD1jHgGql1qpqBr0HeSCVFXXCurECRrcm1va3zLJ9gZ/GOM076BVJP4tSwsVfKKl1nKayK0ZEfvs0vhaIfPpsKi/GaiZJz2/cxbvBIPNMXg+KvST1oOwYcVq34pF5x5uqsVqMepyiO2alZgKMOOxEEhVkRnyVWyDaXFZo3nWB1WHEOtKWRmnsKz2KpJ1C64KRgYmlN0wmFMJb2j6FL3AAEEnllCvzwr0Dwx0svdMuWemWS5QJpzrVyigN8DN7zzTBAUElVrB4c2BMMy5wre5/a/FqHnLE58E3F2u2Eypgmjo2/1fDveimbIW6/hhr/mobhDgi5BNIMolQe+EV3+PgelnUC9Fl3NB2ntgoaYzxFT06cgVk7sVosx7EPyRs0kVsXx+Clh4eZGUPw0BnIksp4SkG2XDrlWBsx8w34cdTuRj2RgBvOg5RLLd8lAktOdIRwrg0rJjNav/Nq3KYCjcVp/APEwfiIk7ut4Cg7DQiFPiwhsIkbuqYNTEqveB5UwwK23HExMnChx/eBz7PWgEWWAYYTHZlETyVmIcyNLcboBHtSYMWErdqR3mYYljlstgXffMzAgO+2KSYzTTNxfW55FEzNvuFZHxggAHjwtCjcv0baQFMqrf/fUKxrNRbWiTK+UB5FFIgeaiQ2caSeWy8+nQMdvnABmexGM0mhlHKmW0Pi89pXS1O5fwm2s8tkHL3Q//l3q2sv8HAZyRWti/ZUshMaxPsUMaZVjkaSClez4pqgXnShqrE9H3XHXpoTcL174Do2MsFuM0yFBpJkhsN6NZM/HYSAw4C1yTGhZl8dk1NwRhC5xl6pG1qvLMqvC7jXBkTh4FIBg6ma3pl2GkZVWISNAnazQfgDmots5fWOq4M3a5mmvngJkbHdEQ4+FGfQ+uGbgp2NnyMAvhqwtx0IHqXzMlFTDMBqBAjtfCSWchQ7h1kEi4LS9CbPAncS4j6L9fmuH7TOURyimHMK8vxITB+SFmIRRAq2xJY2QXPAnJZkFPvSLz7ZBPmEaYgh9CquecdqZqAOMpDSKotxphhYblth6GZOYwqMKkhRafU6MOrGk4klRbN0LXqRBj5H+E3iYIJS9GrG4E0uSww/RECG5Ta20EKwOrjUHQRr7ajQP+NUuZxrz5xFx7xu1bkCJpIBOxTiC2mfTZ3+8BMby6KWKC1485Jj5tTVgjLuA1c30EsKovsEzmw33+vxyDpLHdTIwBShkwWlcUXNkkWlz2z1eia/XMXJlTD3jpVPxGY+7qIStIM3srRh4FfwwB2KqjYpwYYKArqpzFaCqVgR/IzkiKUZmC1kVmX+iKN+IWP21aWgrYlerocXiFRc6tM7zHa0o7eWtfyK7TaJOnhcYtI8ouSBqaGj5w1PMEq6SzlJuz5hdj1kwkPzmIjlub8JgiJuLpc+n4vY42spdlqj0Ds84tdpb5fHDpmegrez+0WQhlKqyZafbdzYevF9sAxEzknFVmPiAyle2QkvgiwyrGTtVEZwdfwAQZ+aYcZ/0ivYyrUSZ+CKsj+knrNcwZViNCmaNE6IW0eqFwFgGPWnIQUY2793tc1OD8Y/g5MKEB2scRlPp+vs9XtunU3S+4wQVDIpLDUzNAojAPQXQnP9KKbmSrg612Sy8jw6oQMJf++ZMmnDNUptDgV6Q1LXNVq/n99Xy95uCQ6piYPrQ6FDt7/N09pc/zAwhm04A6EEEVw1Svgwabv8zmLzaAwdxZ0LzExpKGXM3zIEJyQuaOIFPAQwpahfPyHEuCslprWy2PVm5cSsNFTiRtVSki2BFGmWNIASM2LmLsr2WizvVgR3ggIIkRbRAAcrDNsZEgLmcuMYc1CvIPKiprvFFRBSGAbixWQuFf2f8MxWqvrzK0+2PzRHayZAf02lebRwol6BQtJbdjjmgS9IHTBCq9BQyVAanfKxuBJvVgIV/QYBA1YTW4bsGTYXOWMxOUlyEEKOMLQCgQP1XzMhoLmr5v80b2xieMzuObeKmjwn0ESk1Lk4owjqNc4LimsbQKyrx/vGhqodkiLp1DXeuXtilHnSu2qeimUlkHQ0bk02ruHHrMMuUGg7FmZVOHgdGAEcpi2I2jRM0m4XCjFzRDPrZL2k4en1yQSGE9ghbHYb45HbZohUCHCbdLKOJ4GdudAdE0Hw6HtPLzVGcpJl3/P/+JvkQkkFMDFAkHylxyiE4dCx3ApFK3Bqu6okBXwZfaLlI+F1BDSWVU0zODTlY8vjNKBOY6kp8y0ejy/VxE9mLusys1IwBREZ3BlIfHOMs+oWbsmoDGZTod6pymyKx3mqvzXs/n+4yQWc3SQE2ReSs5w1jCUNFCuhe1oDsvW/OdT7GKqBPI5fZlhM5h/kqc8whRsyo8JxbAIp+QYvILYjovbwk3fsyqIddh+AiEIKs5jhFYypCb6azg7YTEalKu1PuzYFEZQYWojqO/ElsWfIR0w+6lG/tX+ZVdeYmNVyK5seas1gsNM/ki3JhBZX7pB6b/0CgDOK5pwmqeiJh5s7Y886AgOl9Ggli6eUZjcBVA9r4IBLf71L3ovaTENRHiZNjQsxrkwIPeU8CDT6yPY8YALmKFROYVLJfrhIMIg08CCK4qo23N6vjLzx77KfvCOb6OvgDwg/e2IJEPC5ihQ2GfxUcTxZM0QtE8P6V/edkCRwVQqNfgzdDScJujCSIsl0rW/uxLoZPSFavMD/PK2X6cujALXKgD8n9iE6yCDi0raY6ii2braQUTa6M4Az7U/KgisDfdBe8L0iDSCCzKzhgHrUaWBJVLPH6SRkCZCZ2swPjVVCqJM4piXzr/ZdvdLHnMdSMfp+lJ7JfgTgr+ZAK5KM/K+wqkOZL6goog46k484mQNKuA0TJPqinrtw2NYX65OyB8JhbInN4O3s5huMhga4ilrxExZRMYpXNk3RfxwW6vy0C/37Rrzp3THySPk4frbbkWFiA19FaLlIVxU2e17ngTnrzlod9UGlvKGokippBw4lDj9XpNnuAzDfwk3Gy4m8TI3/dsUZk0PlGD1NZlu3Liu8vIF+zdrIwr0oAdw1MEWXL6t86BZFtHFe6gQjBOWkqYT7Ds9p3YGXysSMUvm8Kcz2foowM53443RRUBbYEVs0yPGCjWEocpty/rjC9lrsVIpBborDcIWtb5iffHJGWsEqXGzAQLIgafz2w72i4g1SjHSUIO879G/XHye/APhDjv2mwBcFSwKDfW5igUhL27fyaZciIZQ5zX7KWbmosjQw0T+ECq5FMbebt93qPKd0jrXRW7oyj8fONbjNWxN1RRmWdzT2tUsLk1+ZPGwxCLhg7l7BNBml2wbswc284kKG5MBmYCcK2NGmf5FlszzoI9p9108i/lOwP+r3Cj/C4eZeqap7zLvbWJORnhKoADis6a6+sZ8JxIxwGQRjpO+NO6QT3ZOeNt6o27QANeF03G8Ba5YD2Ih61ILV9+6ffKeWSHa6paCwOiL8wKToaJ4pWtlzWvSEPjMg47jlhbliCMoVkMv1TDobPDLaFgtm+riFRBMq8maRBfesKMOTX3fDJkyXEgmXmWY7c2dREYHeVKzDUgy8Oj/7x4t6KtGLpYrqDv9IIFCrSZ0Ot3shaXCQd0H3LGrVXGN1H7Zsm0KzFVo3QPKxFc5+0hUSPfG3vmG6gF58Tfl/FgcmgMYC/ZRRhSdgQXmGObEGUIiZQ1ZspdJZFqNOUk9/t34nSgx5UODQz595LZJliXUCPb+zlJiQABgfNozUu9Qkad9FcsFeiWJ2yrNhmvcb1McqaaqW+hidNxPNzYT8rwiVJHzXuCFPc1FFXFUcbwIYJ56djlZpwr1cedCMrb9WfMOLanxJoSQprnZ93ltbWYQYKNf/HMjGq+IMWKCmN4qezYMowZuplwpNLqKkYqJmElpN1RfOyC5FasBfwRi/jADkB/GE7o5maZOfShNMEsUGxQY/KrX8HkNLKL2QcyxpEnRcaFZNeh807eRH5gJnicei70SJiCRB/KKoaCnTLZDzz7jaODLC8MMbCkY5w05QRLsAcBZjUtKUOIhzBixzamdtmP8pl+3XBnv7Y6IE9CZ7DcYBewK0+qjFRLWimlORezbe9cCuqahTZEg7GzSOWPkQKDjDDV5zZHyqUtR1FaduhtwvD+K+ix4gwNAwAfPuwOHvh9veVIbvej2kMkU+VCKqW0UsiFQREeQtNv+4D0vV3NvbSv/H3eb1HFpfcSfPkU3GH33MZEhN9DMAwYfFoZo31MhYIFHqyjInQ3OyE5VNbEXp5rgK7Sih/YKoRGxs3xW7kQDV28OqthzJ5sZzgkoQS+hCMWalrdA5hREdYQURWWvMpl3T3ElPAUEKcCLsQGGlBJVceT1psf6/8ZNrYLh/cFbYjhZsjOHbnYIFT5XB8Lj7FLWwlqAhitVwHKvV7pJSNlU4ubs1FUoHOuCXRzjDNMYqk8MApcEGOildh9dH657qvKgxe9tS9W1ric1SdkDKT2yjwC0Q0haBNrBvubzHMUqR0iGXmmYAsoK6ukUYLvFvlrcoiNU9ifcpOpjmZ1iZ+Wg/L4dJSwgCTjhGFx91K4lx5aq0RyN416CDyxl34+icxnS3Pi9Dj22ZelDcj48/PMDq65LU0EIXZiGs/PhHZtVBfbQAOSAT8fr9sjdiW2PWDErIgYU0zuKh1xBiLEPfLMXGP/wuNZ0FMiia4BTHNCNbd+31uOu8hz5eAks4XF72zhy/9h6MBCsj/z37uQ6EkUoxWPdM9/YyAmQ8JmA2SM6N3CUzwqqaCmmQXL2blx+YKZ8wurwl0On9U225W4xRlhsMCo+e7UJVzFBQQkrKXKhkSncBGbUpQFeaT7C5EV16ewOWPJXiZVDu2dBThaR7JDYQ6UDl5E7ZnoUyHrWTi7hiRmnFSLvT9T2mRiE7shi8JhcUkf87zP+zMMOn2DnD4wrKZU3tMrlVUB3/LQWfs0XAW8admKmJLKPmFYEaGdKnwQmgmVwz7kFifUp3Gjv1ZtbvZ8Y3WEcJcoYATR2hhFH94i9am9CEFCLra91Yai6ub7plUldaPzM6cXGjSoTLMO4fgMJu09a8K3vK3jZY/rJA2p2kN9GO5hvrN7ISyShXbwGSxt9Im3kGMxkYI5xb6XAhqlQYqsCMzs6OjElRipqFKtt8DG7BaWRVscOBVX6EUbsU7fv9pUqW/S7vCwViQ6Sqy1agWQNQxmGQgmEs+qShM0skYDWZhAaGRelw9hzDJnLY+US2VYFM9W8K8gUIVclQbGKLfICBLtIrtQYRgIg8GgHCRyMW5tmrkFJDDamBPqNwkE52ZNKXyvrmJu8Dr3JdW07zoA9bAWiFoKbA63geDqsrxuENVyqxUaO9PoFRHS/KCkdAAwQWJFHVMBZosFA0N6prQ5gPIGSi5h5PyEP/ADPQZoMYD/L3cSSvAzSviDfuI876qSIefMwRUyIQtaHgu1sMedDQudApm0koJbuLvrb68KWI1dlKwjPl1EjagvJyVRc2W+hcWJKZayxtQWiSSNXjkT2DKKrASRPTFh4TeMEfQocHf73V9/JsGSdqPxr45TLUeFV5wQwW+qP1QQSms2b9rjamMXc++mEK9cZ0qVWq0QE0oussI8zkre8l7ACuOVlxgWyd1QIE+0kpBDNYsFWQJ1poEjzyNAQDOwMrFv5K0mwfrqWQVI6NZwBDmDCbcKHXkoRLBxCZLB0JLFyxlZWvfVY6A40wOZQwZT5NZJFg9YHeemZwD0KCARN2PGLkJkdPJGdpO2eHXprd+4MMKo7PPHDgUKirDtErdHHhblBlTROyrNFELWY6nhEosIBdGhwat5tbslt4XPfG4IBKZPKC6+KS9tbXleF2JumCyfM635nzMBNjmGMw7kMm80jMzAkhkZzCdEDRrKgU0CGpdNoWHb+X/iHVoFENOFxQ2JcZjQUhp8ONGyopcnIkXfmihacwAcNkJFVh6apoEVZOtOEcw9TUfjhbhY0HRespyzTXlYo4vZ7AUxrJA0/uLXlfEK8dF4upp+FdjICU8Qjpqp0HFdiuBO1grlR42hTyOM1VibDw6RGOSetkjSBf6QLcD2TmgYBm7rFjP744gILA1wzgPVhgi2EqVYu6DKoANwxan4Vn9gk/c8DlY7yGb1eAXRKEkpDw5kCEEfXk1fg1h0xn2YlLbNqyc+tPrCaV1WM48GFBKGDqjhp30+0xgg+6KxXVNKoC+WC2WPaDTcaD3Vgx348JGWx9RnIuP6bjwNOzg2RiAh4hCFmIaXi7qMNpHKXJau9DTXVB7tETitYOqq2KhxGs7h0KOT57LRqhTLWCKB9FuIXJyxiWNLlrIAhJhFA47fyY6P4gEdJyepOr+/8MnmW5TPC1tH1LjfJuEO7zS03y05bpdHrUWScgcqNMQE4aKFv3PciPY9hlH+SJ4w72rNVThJgFqVtN0ESDHBjZDh2j4RjonFneZAQTe1epW0MBqn8fP98+fFgtVol5uxWdUvvA3GjW5CpI3rID9oM5Rl7gfIWqs/H6KAX6+XwdHipysan+6UvWlaxDtKC0fnLIYiOcblj9kBBdKbah5auV1NiXJbixByIT/R3CGRlFUL1OnIurdKNBZJjI8N4agh4VDshulNTgUI3p9DtsAqd1gjgSJUtVdkNXMLruX5tDSReVK87NTOJHkIwukjrMUZjp+NRLqiOIqjZRPviMeKv4EFrj4QDfGnzEcdQwioy2sqJvMpdcsGsvxxNgW+4VOiEqjF6qJQizginELWaP3Gf6ZbeC+gh7ePpU5846gjnQrzO3uaF9RkvhiFyAQGF/Ck6mmu7zoC1oBXKsEOKP7NRARG7CevSCVeygC3hzmz6mx5A8Vd5QT/h34iXAV/eAEogsb0yQqHQjTTGthdWXeE2tnax2wTqhLSNTFMSAEYkEOVBADk0wpeJYYEUd/nclKpKwisDIppvrAGSf7h+cRl9DDbAKa2SBdDoJTk3ftaceBbH5iZKYxwox/FdWcv0Di3fRyd4S/+kh/PQ9lI2SlfQJi96TVQkEe/IOZT8rBnSE0rnxqo42+0piHslvxsfknZvAyJIaaquRVrob9biDPC6bWciRvCd1ahWVQ7b6f7Joyk55qLG8WSZcs5RM0yiLy2HB2UbN6SlZ13b1a88SLNrC4VckR4KyNzj/TKXc+mQkZxM6d+VZvGT2Sq2VVLeESy832GGuXuzm7TCPiHALmDIZZ6GDvDLoUDZLAod2Zex9AmfcdTk/lUZAlNUmmf4WbTU17pST8uTzoiobgkECrmH7TpSoa82HKbY8ceoEAtZprreG6McKVMN8/HlV1vpLhbycXllqOwLdiT4UkKoVihUpNgmT48+cUSQEFXi/PwMKAw1Xh6FUoKE8pI5aKsdGDWQaLZ4rokrKlcl68w8Q0baM2x/guqUNLIGcvIpLo6lA+VUTNJJ4iBF/s1VjIFi36zwEqalTlTX9ZmQituwCfBPVpApdJYCI0QMFyqAxYMIQKDc4xuH9fMUNJredUJdNoLm1dvc2ZomrDEgV2b8IOwLYOypS3l4qqAaC6OWtElaLqi2dySN7ZApsg0KuPYxQRBuspVnr1PuVPvh/1sfC1JyiI7JlklwZgNr2f8dszKQ0CaKxJirtk6B5dwHSHeKDLkWaxsAMzVwypbbQsXtWf13Jog4+yr73L3MY1yLsJrT548H1fjaxC7YikJEIfiRSslAqosdmGl5H/Z4nVQOlDGLobDy94tD/I2zZsxsZ73RlydKYeYs3AAtL+BJz43pkasUA1+EDWe2vM3bUpkRdDSVQkfkdJbstMYuTYpFzpaW4tFUwPIrcdJ/DDpM6poLabIEn/JJxdk6cyzhlN+8MnpEZ2mWS0VaZ4J2m9kMIyYC9/TY/r7ma4QRENr71UwoRLsRyLEzVxc+I0Bw1PhHG6hqFZGgmSJ77TEMk94ZasmCqOHL9Nle96nDH6+8w5si9FnVE1YB6XybeyQKbJNuQlJeSDLHjmCcEraENe5IW9l/3n95+9bOQQ+8gb1kWmb6naBgDNswymLRAmMuvfMSLAoww/lof6v1iSKDhSR1MlNoG3W2SDCvbLgacTNReQ0P6sxgSFxl9VqIHYlYUiS6tP+XA7Ny5/ZnZi4Rrx9HhUh8AYGER2ZJcmOZpqRpsKBaBl6eu42yMHDGQNeGqcsmBtmsXgB+wQy4z06HEqRtp6IcXdywoDle4mJz8kuuiA6RBAuEvVjg41QMPOUvliWmwDOEKZrZXKUcw7Fqd8uPEi8yqpLzhvpDgI/zZE6rj82rnWMMWk7xcqdbSpEZCQ7J6JHO/bMGJYb+qxWO7pPU2S+f6Xgp50Ja7pp0Mja8D0zF9ZQMW7gPJrgKAeQADGhuBMhLRua8Pn9cASIQKp9l+/HK0vg3OcHFCOQ9oTPGqBQ0QxWyZujWCOD6TKwDG1ufM4ZXUjVJx07azr3Lp1IKIl3Ud44/E+OA1LrKhCtvN9+4xXMIyzulXJz55ahoe4vO38CbeDHzCGlv1gVbNwzDgGwU4TZuikgZs1JvQ6Y0GlQfiCXIq0NbBSdD5xeknnzZtVaTZ/GDixVlXH0WLCcJHy1JQyTKxI3kMAKhbSZq7XbDFox0t1x1yWC1OiLxomwVzaIaerXdJbMGSMWCxUfOOqKuc/PpUnJsRjKgON/zu2WxU6KSqmQ3Y1zQkE0ugsR8unqFMH1Ju6/59M+ETJpHojim2hORY8v02+CToFtmZgCUXB3DtYt4nkDoxHmwi35LYtiigiubsUQyUaLtJk5BC6/R70WlFiSBlVTEdfNdHC5ye+53taoNJxnvaSVzNK3zdaHuDQRMqOBGGgwIdPLrzbLMKbWcm65rtsU5QcSPiUlXzGEUEQht0IY8RX5HF3WqFBMzFAeIFKPnY4X07xW6FOdzqSACYalZZw74pzPW1gWKRwp1bknOJUjiynZCAkkSEqwsBRpRxuujMGSRAq2rNYzPIGubcQoA0RBNg8ssTRWZAkSFfQaOFZj4hSG47VAf+/vJ4niMd7AAfUjeEK8L9/QyKc9hAXS9SIUxS5aJgu0sbEoCxQXdOJSU1AXMzRII/NHCFH8kck+J3bFWNKf6AJUMMV0RURwixUzPim0LgtlRIjwAS6RLUuvQZO7YAIng6KEwU6hyIYellNZuULowiavJ0dQYxLBdEgIMqiOG9/C/hNCqpjwvPRMipY+0Q4yq0YiQpW5BeuirMYcytY5zLYlbNq9xTFcLf+MhYAVBziHyqndm28NLFptFIox8iOZ9OyY0X70CUABO0gXbGKTZxwurlSZ7OAccDitAuddJM4SV3G1LLrJrJHOS0speQ8qb2NL/Kcjxleru8ywBCGBt9fsVlilqJQBQFyBYRC7mYEt/2y1Q3jL5DMfeo9vJYketfUXsixqPwOfzbQz0WC+cJS3pTexGodIFPZqsivynWip8eM5umiPEiu+a4z3LKMZ/t/vNQepJhKZNCRsYYobtGF1Mr84PVDVmCMFgHgC/z9Xf6IkV5IrW6LhE1nnXHn//50tfSuTET49ga6l2M6OqiSD7nswgwGK0WAaSGvesDAZMafhOKVcBu/StR0o5gdOnYnloawCUUjPntLemUdFplKjatl2nt0WVKRWv06na+xYHbGvCWw/dh9HHoiUWX93KEZWn/qTcDpbyzZJPTW6odpRL6rotjhHVtGqCUDVZmn40/fz1oRmWTwpFGOGkpVZ+DTzc3S9wNmm9fNkFo438y6RVWv9APDd6afphnizTu7b3f66MJJco4QwrxnwcyS6jscxNtlHJWzLnHYtgrTx+U3up7BNHggRYgIVwgJ/KM59SzVc/h+2wiT9eLhVv3kEI4eYuUIiV0t6n8uOjxx8TMVsdr1jvKz+qIOAOV626TMgEDJnWFTJBiP0kwMfBD7wk+U8kUHUZbzMaHHY/7xrHr2ZtLTZOPCCVAldPbs++ZupxalTncn182XMe+LMjKC2C1/zITxRe7q0OWZaIbA8D0ILIsRZXd5eHE78KyOtTe+ralTJ4ngXE1cjmt6NrvZ4kxNi2hrR7ijyyMjDhvDUI4wEtTQbJtLRXhaKiZ3u/GUZhUfJRhAogq10k2MX7GPI6pl8LGWQbSTYUA1I4iU4dUS7eFVOQp8Pt7+qfGs3C/AIhreLozMQaiR29jIQpY6XpXJaXo6r4636dUUJbCl0rFWARMQUCtBuxhsVI29BbtT1JPLI6hRn8LHKBsw+TwRe+LN8ERmlli/gbkBPDkzvQ/f+QbNmW7PwRTMvzyzTsMNrSnkjMkDtmo+ZNPfPX7bBK6t3jCYEsmaxtuXguYqwGo66FoOQJenJ770yKhsgZAIsUMN84YvmY/MifE2HlQvCex4gV3JKx7KffAGkO4TsGA774qHtynqCDgVeElQEwGzqSUWHy1rYOUjbPS0sI/wwBdLd1zOWAd6mkYyyFhQoo1ZcHSHp22U/VC+MzhrtAtIKa4bTlgS0fD2KzHWuIHkARPlh+B/GaB5rnDjBgg+uKsPr+EptIaO/HXC+P6yH9uOOex5Bdc+8Pq2ULC2Ojp3dv9zB5iPRl8YxZIMz2ZClag+Ply7z6nRVG0qVf1bwmCyH4saUs6ZgLiCSyYZsCz3KHGjO4qUMk5xz0g/Pr2k4PM+nwIrVwY1iZTHZsESzRAhXOJqAwuxtUdgPBq+hZV4nPzgbTB/+MYCyhf3FHImfDeq5hYRtzSkQY6w1NrfzlhzM1tzKGofHuJzPPIgtkaRSLPal5j3WvcU7DVkuY8g9Ws1lOQPlwbU6t5RSa6DsrWU7F99f+YdLcAw0jSFzF9UrxY/AHF9hPxiklH4Ck7IqU/JeVTa8wPidSrvbYD05ylrUtbz4HAQQvnkD34oDum+NR3y084nekRiGilaeOUO5ZqScg9qmkzQuHJ+aGYv84FsYXtPwXrI2JYhNC4in7VPcQ3kvFzNafncJ5sOxF/IcpKxTOMgxT/RkRHoNiD4aTtmMyqPcg8DaRlrzhwGg4NjRrWD9Vgz1NEhqhZ36FL7qY9y/NgviZkAdKP78GPEwgO1M5xnPx5TwWuwjehqSaPwljafmo7QWqcQh0+SrwCp2/BrWK3Ojg+bfOQFEU/kd0YUtsmug251Sbpn/Xa9TQZwpuM2CrG5IStohdA7/rN5vzXzFC06zjs+QY6JgsYy09NK1JIVX9SlaxeSWB+UBZNPjgtwGqAc4YvDMF92Peb5Sa17fPUmUDWFtWgkP3mKzD5WPYTjkzuYNrbryHc46dpubexEzd0QIK+1cRffvND7xAHTCJGWpFn9HsnhpFsdBjinTHcWW4jSdg9/vywiof1S4BFHm/hSpj11zoFhtlAA9+cAY6IkRKZygXUEyaQCSRNrZUZaJIdFVII8N2QjWaMqjS7PnmWHOuzEWLIxMdeYhVBm+6gTI/Uh8ZY0kkb4hP7ZEo/pgvJdVaW7IWamWXOZP3CSANs0j5i3ZtlOX2XltzA/yFoMZKq1cshussdLoofltGmvTiNJzEVmZWfQo/mo7QSRvavM6E5i+Ec6gipt1LDKq1KFTDLeUuNAoW0iw9YkPgRrLLOWTPPsyhwdogCIQ2FsFa2UhFKG8E6r61HV69/oKMBdpIxSRbUVo/mGqVlzTnOnEQwJ5KCNK0bzbArCoU116ecP4LUkSHP7wSd6YZm/++7qCH+YM6MBKqAolPU62SsKtfT2phNRW3jrkI2TmEzYmmZHoBwUBVI3a91sQW+hGmrUScpi2m1SqWTNVHt0lqaIcxYj3iyljUapOXaDQhKHGBzyZHaezmonhz9q7vbD8F0UICYzyEkJWfUxWbbr+WvU67joVm7mCpZIFx2qf0WANuBJmKRHP9feOMr9wXGoo1IKBT+0uwQ0LFJfAh0xkFRQjccIblBHP9iBMYpBlwQGthlegBbw6FVUH24tUsgrT1NJg0cls5Dzb4EqGA9JK3JTtlQ10HTMsiAPCoMLWSdM6xFSD7a0tdww9HJKAPTsmZB4g+BDnEhEpAVMgn3JEhSeEqPHHqlZNAx5INngO8pB2S4T3IAz8POkSTIQkxvVXD4jRKhUZWaDdmye1iymSggyxwgD0iED8ZjtTmApVUHXXepOaY1Ff2dulC8SiIANZKizZOXQ+yD/UiwmSFimISvYiQsiGUzRqfQjEwxmYxrPaZ9kvpCtKlZkcxlJlPGxHQrlBNZ8vXawaQ5vsjSRF9c8dj/v8yx9Z+WdapTDEsPUyzJra0BvDioQAAQAASURBVIScqlZhKIxTOpedB8Yb4GBDb4KzGm2t+xCt6j1RWJfjG7iR56NomOnUJaIVOFeirY3SlEvoYL2cFmvR8BM1PlqHfXLV47IK/0unVp8WDPHUYqiSBES4mT1kSyU4ENxOR/o0nRlodSQcWJ5Xa0YXGDDV4GJ2dSmorFptI7jBaVaQ44hAx9fsQkdSEaEPizcIM/vDkc7qOW2JWXm4DsgkJRWuSEEsm2IAjbIHkw5XT2FVw9buxQUyN0SqUIpc5nsYfcqy6BWKtipTQgJZez/50IrRqEgp8dScXJ3dZWgKA/uZ0VjEM0hi03OARu6EeTDmsR9mtCliiI0d+8Qwn/CRVZN1N36Fuf6ha/D6qE3TGWGN5b0xS7KxbieG/o1lakunQ8uIABroCAJ29en8eD6TY0w0kxrY0+mRnsYcccIBZU4BIO/GCjV1KTwtPMJgxsT2JxxTPygrRw6dOztrNxAtyjFq9N+FrSKVhcw4amKlYaVYTIshT4So8td6ltt1Ch05Lg45GkIPF4mPwSjShZmQcV4Fln3OeKQeARVDiBCVzdsyEfpJl1WlwMJUiQNjCIjd7Ia9MyuaWpk2BWBbD1fGfJRBF+mkNYIWYwUa+dfr6/GcYFzm3X0xr2uAKkVEpDQRX31O6b47wMMKQhClR6/Z3qfACTDgR05qqq3/gVhVyX4S/YFtR4yANo81d03ugzseISB+Ia08PLoKGsg4fFz6JlY39vYg3cy3maTpOzKwEL3SDSg2rA5HNYx1dGYIWXgBJOI8kyJGiCmawvBrGapgwk5rOJYZsnkgApEBJvPJjYEoh8tIcg/BzGRLUP67cynP5xa+yyuhvyIXYxRd2logbpTsK4Sa/lnQfjizG9YPBkuKEKC/1/6o2EsejLMADek/ZLBB6BQZxtRO1rxovtzFk6CeRE1jIsqGKdLAKsWMGKIk9ACaumrONNdVbTTn3Jcdk1iPAiUNG2oKTKG3xjsPpkhBHZYr1exduWqdpECNmc2zcJsh+qrqWCxELECYvpbvUJS2400ZeyVo/n2Z83KYCHxG06mcdJUNHJl/5CLLGveM/TthEzZodS5Flwx1vG3OBPiIpdbSYOS4AvsLWK07I/zx5CgYCY7Le6AjbDNU8jwzIahD5L2bPXvl5JSc92ZTIwJgO6qAmzqYGAFhUPdlhcZwacboda9zVDoeHSSTMxomqY3ohPHf9F0ykIQGEVosXcZp3Eg4FBazqx6PiXMIdHLoxwsM8bpuVuV7BsUbQigJFpfSaBWniMHTRi1Y1gVkIuL7EPkVdEDJpU5YDoFRA8+yen5yeOdyQrqE5JxAgp778C0Sy66hBsKDfzV2P/FdMIVXmeo8zNIdAArWOCwtE2yMQ53htMTv6iUWZWkGKvr2T/Stw6gtAp43fcv0j6fDriL52YeAvb67YBQh4fvhxsYEKyvRMkEiTkYdhGwgn7wTaODb8xa6pqGK58ltqJO7YRsnwCl9GB9ywo5eg4bcuMRk4pvlU+31p+nQQxdBFxiML1CSE1sjrOMC+RcLyK3CPORtEA1LA3bIt5GEdDE4To4At6no0tw09BnvMWtmGpYvGYZfGa8/gtG8bi5F7Px/5gtHjICRA0jPKeGV9QBwJk06ZrXzYp6YN8T/4D04kne5eSq4UayGCOBDOhLtjnl3DRheJEKEU5fVi7A1MMm4V1IUjkaHcXoTVGaa4QF2KGRwXJ8pVO/LfCm9do+uyrUEwl2f/Lt8XaBapScrA4z7JgdGWWfh3wtcFrRtSwmi8cPtObm0w6t0+kceEEqb9WfRqOAgeFdSd6ElfzKmxLPKho7SmJuw4ksxRCRQ13aZJ7ceIelIENfF5knxIrxRweQxI4CiugOIukaUFrM+1C7/IgimVSIFGVP+jF6rOHbqi9oMMQfS6K4zyx16+hLgp+6j1P6AWCI+23eAP+QDF0Bt4zRX7tD1jfavukluk6ZKSQqg7HiEGFXNEprNeyeLOP5qLKU9HjKWxnm2wLh5k5eizQ0KbDXiIdjgjKoQmYLfReLVesc6HZ5/qYqIckU2lAXW3FQdZ1LiT0n8OG9yaqPb6cv4vl1uNGlXE4F/eRZ4A47M27MjVC7Lu9AUkVuX3P50sLBbfCq0TUok0C9HTijTrV2dVILq6mbWnxCzNuwGxLFKPPOFZr3P52vWov3qQriteF/NmZtHFTLmumhOgU1S1irmtmk5LRbFKTidEw+AZeL0T975dEmz7A2f+NByQ9Lg1gOn9prghy8ggSy90ZroP5ghXQFk+4/abqU0y7mdxEjgANeJ4KJFHYbpluT+Yjgqk0nTk2/5y7aLk/015drCOhEXclwwdRrEqfXbCAdjK4zAeMJXiD1GMFYFmxPMU8gn7guHP8LleVm2B6pXWAu+DU9wCo7jP5Agf4SqPQBjOmOPgEvOmgSZJRdz69Q+zWkJq1RyooaXwzINvWRNybWWSZg5ZJT3wfnVDOHpmOPC1Bo6/gfVCLXWAjWQLzxRW1WcqFcjB6lhcoUeyJrbErE35wGVFuLdvk0EBABOr0XpynNUfjrs8SEKZlhm9sU7BtAgz/Opr5M7Q+DzBSYEG6kpwDco418xTYpQK+QMck/awJtiEUqdynaYKP5DNiJOzEDeY7ARp7yOUsZ4m3b8wsizV828CGYz4OKyCU6bmbQ+hWXNKFEGc1ca8COrH6YDMlJsEilX+A8r1snpTzfOUn5lWWFCPB3oSwW1CIU6uYDIWQxNiGVKodm8RG2otbxcBQwpRwQyQ+eG2HwT+mxWnNMaOs5gA7V5ZS0WfZpAAgFBoEAH0fIgD1NREyr1ZmJTuy6jN6fLtn3nbujC7RLHLqlltSgzHMKltpuFoKh86RykmD+mDGIvaEaQH4ZFTdilWpPL6YPSNdJQmWvCPxvHiXXufqXKFXzrGZ3ZtDYHErjMXVW930ycnMaUb1TtMHTKR+1xRQJQjAcDomGgfGJwtmHpvGHRkliGyUo1qhnOiP2VGt6eIHLQrfhHjJ4wlbb6mtTwtbcVGW1NZu06JfYsAd/T+LfSVGeZf0BmUai4oyXA2oBNzu/9NccnMmYEbphcOfOR5b0VR8hAHs+aEa6PCZMxGzXMMKp3OrogR35NlsFarfOrPra6p7zOiIlkLI8wJOygQ5ZhlOBW5a46pmsuK+KI0Io8RKFgZtOGDnUbEzn3GlaAADQJeGJhOy7pNHtDjmogECJ3k6tJjUMilYYu0Gh4X8uea9s1iI66NN70odG8W4G2rKZD6ZfzrLH/dnYRfgKRoB4/GFP8aneJg74ygDbriEPktOc7yPVCNAyA30Loth0lRR04s4+lfioAl0LnKRigBWYJcMx4MdvNDhgyAXePMch1oOlCcVZgaTuXZdRNq9QcDaYMxKVIp16EMoJU5m6W1ehWw+41NnBk6oobYY/eb6z7L/UE8YzyYPq5Aqg6qm+gPakD31Xshr8z74hOaxmCyGKXNFtG5u4FOLwFBSDDo6neQXvWdG2SWoxwBzR3hVrpirSxk18q7xiO3G+G/hEFsI9bVxnzFRtg1EP4l9kzNSWUgJ2x6VA0wfMcGDbrRRUxw5N9GvTNgUDP1BDsNC1MQ+7kkDBtQyRrLURgJ/09DycqPtvfWyUkHyqsElNAPMDqNSbo+keIR9ljykM64uOumK3aYPFWttGS1iGrDLTWnan6cOCwd22DTMWppoThnC5CWZENzXNUQli6KxTuoWYk9dss6/wfhRVKubYIyMfiqRGoq0eRZ6uEyrAHbmN3MNFwQDc3Cf2weiO5E+nIgS9FHMZTJRASvafzj2uGb8gIix35oTo0zG9w1LYcMfUwfSqpRUoXlbkFPor+Hadck+qSz2gQBPbvjnrj0xlHgwzP5/N9+rriqSp1smhGksUexLnY4nZT6Azb7MGshmKf82hiNkVOUCTYo3hEnoxpcV6ujTlyvoa9sfGUloO31rUwEg00KCZQgdwakcIoZoEOHSyXKSc5LAP04T39wbHB412ccQfyoeKKnPwxx6wRDo9kaVVntMcyRs20EowaibCeFE/Fsnp25QhM+vAzmWpCJ56unZDemqLBtHoBi6WM1ZCZxChy8C7seC2DZSGkan5yMlvSzqJYPEWzD1Fg7N/PggH7H3NYcuB7wbqMizFD+r56zbQVaTQn+WvtrRBSZWW9424+yVymqoJgXAv18y6vgcrmJTQ8aGTdRUhkQ2N9LlkvnVpor3Eexwu8pjZj8V29l1dqKW8u1LWtCuI4ez+LUPIi5StvTBoETgjR6iuWmG3H30BAWSK3s0eoaqcwCoHnqyPYDIzoMQVheQIsu6WSWJl5HCEJygrGqDELlJFrfxDjCMGfD8hSxgzN3Z2584lZVjb5OEeEB1/Yl2v47wh8eNBftvLMr6v+exhVJkt1FoBakylBHJsGLcoat2SJ3HBRbmWzbY8WpOJrQ9TLzipOf7pfRufORvCway9ZaZVR+SUgKj1j/pMcMEQIg0SrzEKkKWM5NDygpkhLP1ZchxD+0wJlmvMH7TF2YDOEYH5nN/PsZuf8c1ZTFBTIigCwWRE5J0QcwhG9y7zzF+T6iFce9RQIBcMRMsK8yBxis4y5E0G85u6t6EECvN5w0CthzG5LR+PwNNSQzxb8G+ab56iWHSGqLZyPbo28BJnyhe0qoYxRax9PaHg+xzbpP8vndVyZtk5TgWJh2wGU8+UM/oQoDZQziI+AtQiu1ItpoJHXQ57kMzM3Yrnp9I7JAL/AnBGx8PzkWFzHMn+O12LQHVSWItXLK85KRJYM7sdteL1GhFXT2HSue/7HjoDX+TIWmqps9jW7rYD4jgnkMdSnJmvKJXmEAiJtCYpPqXaGGlpxv2sQgykstUNooobSOBpZhZIzYPp1zenOafKSqatuytbwTbbPEEhiXTXVI+lqQDVWFf+QULE1Shhopd5NUQTSrcOsILCuCmpXL5BOmTOqPSmcfA6XgcXZcIjigDuF2fmXmxvgm8T/IHLFUq6EcrnUo4jBBwS3qgcZ8baliggP4SnfC3xkRLOc85hQ6EjQOmdh6LA3uEWB70DjWxZOWqOU8RMv63xMzFSIsnD1e/aJ5bpyRCUKuaER3MdP2giQ+L3GkVMJGnF0kWrVwxoNZ5RVtqYP1gY/HEnoSwuqcgNh1npWwbmoDks/psW8HXyO3UMc66ikCpHIbJkuSFpJDBh1DVQQByDn5FHXhaMPEMRUvliagw/CWlRwumalv14zcC7Y8ZcJFRp9MezcOCMb4yB7G7s7Ee411snvh1XNgzLbjx18MIgMJn6jCBD3XK3I8AREFGYImWkMRtYhgWjtMJlQmS052QBLuWCJoAaBTZgHTbKrC4LbT2QNQFyKmVqqFT/l8c+Hv/PEaV8VBzjRAoNzyUDOruseejRTxTRc+elzRX7ksUK4+AfEiYTE+1nZYaN0qkh4PlhQk5RXINSyWEJHbJZjfdlhS7lsF1EGBWAkUM5SnnHeYmkiSOyumSKc5p+Tj/WEA0Kh5/NjOje6tFXJH/LVcXZu7/THEfFdLuVaX7n28a69Fu3z+bxcYs+llQsgMJbfRxSfW1b2dghkP9weXC7HAcgRAnkogu05OZVTrgm7bmYYpxyLJHuwTULmrKC1xRALRjO/beEuywbLGmHiwL0xaNPkTTySbvCRzI2C0GSPgXKkbt25CGETblSUsq26B2yi0kDvyBEsOYd7n6d9PK2MwImP5x08HH0JHwo39lQAm0iTEkQXTWPioAQEJmJDAooMg7HISz+P0mXeKEhmzwnPaYo8ZkzMsoKFLVUZcxIvEZ+cP6ytCcW6i1vLw+slZatx4q4LImnvNEVp45DQdI8iJeHfNQk+C+E8TRNEAh4q1K8EoMNMhsiZKh3OqjtwEU0nqldWlWA1XlzPgrVY/LnRq9880zLUhy/U+S/cabQOG13mvSS2MfGzfXm2FbJ8MJrFjeVVR0bpSfcIzUfIQh7HvDGjp1a+DlJ1fM2prLuHUlBKITFlK+aRfhcJwIEqLrXuMzhmiC0fu7b4/yudae8f44LRjotZbS7Xkruewcg0aiCVDT/p2E2XcxgbjMxutwawl0O6bPZMZs5xPP0VafT52tJ4czy788mYF2ECDPO8yDh8WHxO7nQjH4NeZae1h6x6RJTLjYtRDAs+J2L66WnpV0iNcUhYMD4ko5VhZgIuu4w9ZyWaNyhPbsgGYpdaO2Vjqp1/aTOvCWBDjIPMOUm1zmc7XU6rfgeJUphNfQRnGCLRQ2rjC8ULzO6vRlYT41cTNSxSbS20ihvEj2ro6GO3G0HnmjVuVbBWFxvmDfbln67LZ1Krti/KNDEJwHSGyqOyqTYWVWtSDjsJ+pwLjhAnbINxPybK2OvOBnhrgLaG43xJduTgsFQ0NHFaYY/eRNDKEPNPqrZdSlJ/yS5M4UO88Xld0g8YlBR3lCWU2Agh3Bkc0EwK7yZJIrFrSgaZY/oflit7CFOi1SrrVdZM6Xy5tI2QywpBFqgRh/cjWSPtSWXIgJN8rqhq3/dQ7qZVMgbHViLDFTqLDP78NcGxpJsaYtBai8+ceEJzAJvh7YxEreh0Nv0Z24k2m/M7IVi7sNL04UpjmpWMSh+EKg9A54q3ai4vP+ZF2K68riYQpQXi+avuiqvJWgTxvGy5Wh2tdsaUbXgL0jDuKoZWCfabzBE7XMZgW5nLVDbOY3EK5qZtL1eyBAY64dBPx3W0Q0RSC9luVeqqtgQqS6QzATibCghhzWnnt8VJl0mDZ8ZD4MmEc2s4rDwNtu/GogDYXxV865Qv4GkO6hbHFYp4j/5jc/gHGfe03o8u8aqJRIm9lA292YE/j9EsUROWIWILHEF55PT89XroOLC86x9mTcMTX7OxWeIKFXnmaoQmTrDtUaAZVts/fXCLg2fcyDntOUKTOb4IosEqGZOKIn3hRZeI0RQVJ5YEDyjXwkdWCS5L2dfQ8uk2BPw4zLZcTz557skG+MTvgsru3lVXho6ZxAfwCv451Wicg/f7NQcDw0mINcWnKG8fhGwtnNUfNo1JrDELnqcrXCkn5guIhCljdQ1BIsF0V75Dr/gtlxcAc316mmVuw5KnbP17X/CyECfuW3fLvaZgCkefAG4Rg0yY4oHZmxoepz/EdGMPlwsc9FJrRWKORYlsxjJ1IgEHcQmmhSEiRIPXXJVZtQRRFv0YZyh+GEo2SgndZo0ng9ZY94ofiI+gybbFKiqL6CqQxd7IGXvBeX8araxdSvFe8vOAYMZtpZOBoL67woF5oZ1Jr5TZtObeApZTTncACQdmN5hSqrgpi+WJfiwRdnub0aCwYYcBns3HBh7nAgh+yIXaQMJ3CeaS3RG6C9kJri0+H2AD0BgVCM7zXD7eD7WZ7hBHz12B9H0AvGpTZBa8PuUH1tLysJegI8M1z23ZtUW8IzdEiCZvZnXonHqSg4ZwLdjZNiNxm6iP0RNwstDA1YMNOiIkyNvAIUSzt3mDv7qGQ0YtJEQm8acuyHqaS0pOoeT+gw8EDi+ufpnh4y7yIdZJ5T08E7/Q0oM8MmRA0lFyif/8bWE3BsEj5CTfWI8o+3AIU7GIUJA/4Cg+sY+fTN99f500f9f7hfVk6piicHzlIr77jkYmqqbPB8zbtThSu3kFCyWP5iUWqfAPXy47rFeodCQmR+RILxC2zZwxTdLQgS4FWaxYnmVMByL/VwIoEYjmxt5YWmMu95RT+MxowHLZ/LS9R0yGPDq/YyPCGPF682G9o/nPvlZAlctq6BNDzTetgyzguJJcTNcN9gtETazolIWRKlVygX0+iXHJU7XqD/J4X+gLM+RRcCp7Uj6gLNfj4RijtGEYy5AeBNMo3Y1wmlNgSJpU5xljgmDK0Y/XbVrUe8eUh0SMVCZbJu64M+SOv3Pn+36kiDl0ePvAuLIAjIOs8RzqpZcROJAV8FR45NKujw1yoGc5H8bjIXUWvT33ORARaoSwCXNHjl0B5ztfZdDX5pppNUPgh7cuW4d4zqjzJGuE45tb3FVB5sC3hxSoYtqurjfAsxLPgmC4FpTh7t3z++W8RUZOSmUfAvCK5Jb9V+vbDRnPbj3S4DwzzfLogq6hYXQ+5Z05FUQ0cemQDeJReBRw6IqXXNUYC7T1HAFrnibok4pllwPn8OAerfIWIqH1Yk/G8x/bOr0A04+AHe8UiPW0lZSqbXhI9pRJtlzcdxU9Wf2Wt60MRxJ2VvnqQ0kq2yKzN37gxse7usyu2H6IIn+9vrK3v0WI5VjMG1h421DlTQezq7k8bUUn0OnmPXsgPOK/IrD9KWXifXae1ojGVD7BV1wQX8Mdi0ucg40hjWEOj7ddWRTuJNCxcXfPSjTkFwaDcwvWlbMGUKCzr2R1pBllX629YWwlu56og+ZgvIYMeOpac/mcHSIqHVzB4gy/7YA7McprQMjZMiKSdlMy7ybDlMok/RqWtnxl9ofRAAdlpiwf2Gg+zHsgwtHwGAlF08cLO0j5wTA0FNfLZb4JQ2ocxNESkuSfTN2D48nzpDhUemJ2YMgrxXIUQQTp2Kkurq38IzrtMAedy5DzZ3qC5We0XVw5Kyqn+6jNH47FFLureQmHxA1u/4VKYUng7XNUekJf5Khe71OOXMwDYyYtOWG7khcPKvzDdE7X1LJa1Nf4PrF8ORSvs/WBbKTOYBPfaK/+FbWaNCXuHL2WPfJz94E4GcAMCyic5O00xY4TtJV4Qlim3vYzfVF4Ky4WpEwHZuhK7ncqf9wClnHwg4vvgrkOKFmgZ0An4ZVSiZ2rSjFN27iaUsONn/mwfsg5X1WsBxJoN8CIkYjKPBxZWKRqbB0qmKXn1mDxky5Wggd6qGXMT/Q3MTgiV4WgQ6lknK/39DBwcFpOdcfUwUhvBmvImY/gL5ohGbiC01LRdbmkg0Oj49rNJbrc3jjTIleqzozjEEOrtkUE5ijOAw/F9d2np0KbycIAzxwgTlugrN+sHVH+HYoRqI+sF1MLcHywiXEcvOOs6qSXJ987AaYP2CKTre8G0PhMElZ5Fuhs6COgloXUjs+P4KCCcJUPbipLZhTZ4hVp6ko7bM2qtNDrHL3Paqww/6EjMRCI70pncVO2FGphWjwTdvY0GdqNT81R+1QI15Tm0hpAn8L6BoK4GUx9uVhWZwAXs6MVQjGX8O3ILNPpyXvItdUZy7XGk1KfMf1QE7BL4LFJskYrluu6IJnJ0fTb9Qmw4LyUtnOzL632nYdZuwj7q7B3Y32uTnCW92B6urlD3gq9kIOIsn0uigdMl0RS1ytuuxv/PnxLWIDYOgCSN7duFGnd44XSWFtJlSqdnHuj5ngZxqlerCyw/ktCWKyZVjuiL6FqcEuR5XR4f37PAa0eopj+LXB0QEBrw7nBT+2mRuE0Q4U3utQs4dGmBYtBNpdGgBEiw/EBuXK5IxX0lxndMWCwtN7dfmhJTZhACVPEqfLbQGUFvOAbSi7D8/1eFnVpioPxyOO6vuGb4luXeD6Ap1bw8y3FZbsKsGNrCLAdWVaeUGDqyGqi8PuagLmymfxDa9XK6T11V1auZQto7XtnEGMqJGZOcB8fa1o007YgL1Vf5sGveKfP8ZqnjTNkYC5GsjDyKiQ8lkZcVS6iJE/jh24d7xzUNJd1nVLIbtbZyRAPgnrquAhXVefp9PWkHXd+wmlUHuqmCo2UFKnTEK46vsQrMwRkG83rVhqxNM9hwesm8QfyBcEwu2EK2FQIVWQqAWvhl52gvf+LfROLAJDst3pv8172AKN7WJE8GSEt7smiKU2o50z+hsAAKMPF/mbldJ6hLp570pr4Y+FcC+0riq2ViuiZMEbmhy7JL4X2UbkNJYDrrJaZQqmNA9kze45KAYUG0BISmP7qBKuZ1ofvILh21xwkqoioO3LKUsYW9FPU0Au1bOV/xoaP0EAT7Oaalzj4dd0ojq2BADo0N1SqxSScw4IHVIkkfrLNKL+tI7fZKHdgZaTP5+OKFY65FY/R8p80/kyoUbK6iCUwv6J08or0Wuq5SJAuwEKhWgiTUObU9dCR98PscgFOe5g2f8C88Xi3Pi3EwRPBBwy7Y1l1xyJdVKYgTtGBwrXf5lVJQSv7ZRbDuyIVvLZjg8uIGRFia2QT8Xk/Qz0CnI4zMTWIkH06oFm+k0KmuAef4oblzBFkbbR+/nu9Xlf1bra4hNTzVThE0SIwysMdrgqolqkmZZhBA4iRwFv1vGHFxzw2HZlXgFAZuR2CTRLXRbHSgO3drlsKgfBjFoIq4W1MVYkEGlpmBedlUd/PR1xh/Ojp36HmWGlX4tIPHYmq+ZYxzgBSW/Y1vddFZHJLuXl+yY2U2YQLkZwOOrzGvav+p5Srjr09q+VKJo4iUwv2Rm0UeoSuDoA1wQV7lMRyjtqTEQGFiTbvrq46G8IFlhQrqqaXs4XRAjncXOrN61FjobOOTjw/7IzQsCKqbynt/bbLJ2XBJHK6WDzq+HgbExPZSCVPVKVVB1JxkIfq3Mo9giYgDUd/rnimN65xJl2rs67RFFcT6ImxdHwLNFdYJWPumgeaos0nO0x7IuWd06/Nknj2hDORZTANxGFOD42Y4t8YLSpvlyENG6pxEjG3b2gika6l2DiYMCXYh32iCevGrkzTx4IqKp9cCZ8R5NLLaZcL2bTwS4lMURj+qaiSnOs3oOz8ajo3KJVmqtypTDlfX9qUjIbgTpGjOPLCtQJgXVma+iguJSbtnJCfZlAQdoqo+ffKCFdoMGVIakceAunyzE5Za9BMjgaamu6v5/CmTHIibzoeck9Bi00ycrWM1aJprFgs20XGZtc7z66UnCP1ff5Rc1g20AOsOMkm4oND6ipzsUsLbQ2BYhfm6nK5c5A9uoizgqMRch5ghSsraDni/CQ6A7Tw1BUxZbAC4jvLgew8VCN1gYC3xmIOWS2MOE+YfGGZl3Qh+qhj93Up2D68u5N5H04lneudcOreWVJ8/AMziWlT5+SbXJiJ07pjSNO1kA4U0E+M3HuygmOuUXzh9DIQV6FrRy9cjGagEtopjMfhYV0a4uwOT3rOUwlssflzHarD4QFgoQCGxuJOtZAcJkE+/qe4Cy271hnmXo5iK01Qcu6gdp1E37VWKDbuQzRBjiEpDomIcYC4z4ikuyEwCQfcoa/n+5m+A6ky44S50KEbnXzr8vCC84cMcmV6zmMyJCWgFfDB9jXrj7pM6YBFWbFLMLT2Tku+WEdi4ocnA/OP1E7TYnAmWNEcIz5WrJ8dfwVAZ4eCERf8lZOl4gi9ns/reY6Cw12JCiODEsP89Zy87ex1Oludpz2C5zanFjDfObeiEStL6WpQiTKhDOev8H/PIZ3UcMydllXDvsvGHoMkLzk7pdhN5mNrS9Xof0XCM96bofUJRZMs+2Fo5/gcwR6UyE/arcGBvnVxvpxTyMrDIra44XiA8y4Qh6thzrTqOhiWNRysMD2R3GBNPv3MKE2Ka+e+ec3wJOyOFPPINRpZr7nKtvV+jeUQxlL2uHds6shFTyevoeDjMhLxsJFrXci4UKqzGcDuTfsYlfi/YBBWc6DaCvLuJjlNest4IeEH1uVPbGzihVnr19ejOx0i0d4/L2pHPeyWPC1/a4KWFt0iJ3NEShVPmLbWtZRpyzAIjDPt7rzX+8kxNnBb+cj5aAXBud2KxV5pGXEaHxJfGPq+ng+CswXZeDEHXbIi2ceOZsU4YcNmWrpqIVq5IASn1euuEUVvmZF7oCKX5pAaq56r49/T3lue0VaUz05fX25zwb1M86TwduZMi3CVEwtPx4icJLeE0oFEzFOQHAZU/IsLWc8Uvq+7C1blRIeqmKKHoZSNYqi2Kesq36/Iz2ba1+V02egjnkkaqnjCJ/yar5ByTA9QCm4Oo9R7nDLxUK0XzpWU118uaZ2NCcKonV6EBJMa3ZMkw9ZS5uigTIn9JznbOvoRVdftVWlWYViU6sEIALpXG0OBjCaIZVMx1YRmpzRyjDxStsRZssu+U5c1QanZIzFPzWHxhb1x3idluPnYejH2kQlvFiUFNXHyCPbIIe7qkVK1d5PzdNuSZ8nM6Iliio9oI9Eoh6ZUjo9zV/kXtRN1UbNmKhIHpgiJxV05dY1b8AXSxRNjf2GSEE33hawpTZU1mmdf6EgwvpWO32ti7Wb1wTvMGotVsm4pxUpAy5ZJ40ifrzMT48dOXB+JtWSARe9dhBAh+oNcUrLAPc6yZPF0cG8aVONFVRhaXFo4hwSw1dN1gaITVEatUGbZ3CYI8NKvmDsIxU3N+zNbjtluoefQ3aeZIKCmu3CMit07u+CcYi12g9R4RwjKhx/dG/gYlylP9dlaj51SvRbPBc0KtD4WUQY3UN7haxyAuB+fvM0GJ6hX4y4Ed0+UlkrNoVkIO6i4MsW4tAbYs95C3LxOBQGoBHM24D0kXnrhh9eR3Uy6r1A6aJ43C8OOFTk2RgzwgH2kGsq3MFnJ24oP2KbW77YQk9u6oNHVh1OZgcbMY5wpokHJCmI+LvHcCzNwNAw1fpyDO4CyrMCCG62iiKlUMB5yaP9DXBwPwVmXvddLebAUPzYmrrbj3FLwj+47WJ2NtSAPtsg2SBN6cnF4pnUljCaCJoOAimzckMIoXfbKos5UJRBLrIAJGWRacWARE7SNgOi7lgGZrYtN1QtIiruNqcCZkQtIBYHZdoGMLf8fnF0jUvZCT+EjE5cytiVb7qy1FVBsVRbMbLw1u9fygBnoIX067a6jt/h+NGNIIPEdJEgLbUt7R+DAKew3zKpxEfFOeDm1S2bqoSosyvrTAMdRsRIxquYUidJToCNaxgN2R25kgMh6Xuwp5eT1YE2iKLr0Mli+GowY13FL98OPcXTmuXNH9L9qEWLJgCh0bZJYjaZRSjYpHuUiM3EVJqmBIQtSYgWdTu9n9GleXP4JG1AyVnRBF+D6mmaIh+RuxlwtOdPgt0YI4uDperU9QHJ85hyTI41zWbOMBSnd8KFnd3HLIzyNOBPnqUKVIthhNGUGcPauZxkVyqQGXskMQ4U887TVv9wawWcILHWDGENcjsvjIXNeS3YmCuyFaWTz9PW+3ui4xsKJ6vAyO1el1EoaOKZFkf9d3GbDjvEK2Ay2B1ALRqAfUuKPcSPGFqdR27xE46LAfTWCp4BCkOoDQNR4QccaVjYNlho07JMc8VOgmP/cEc5cu4f2fJ4sF8bK8cwsjoyh9rBiLJY2tDUGtL4ZZCRDEJufI4imD4t0jW/A+mKWpeKVD45QSUgn1Yn1YEskVMhey7V/6FdWLNjWP4UOPOoIyORdmBMpBjJWTciZII6/qI5jscJlFEuz3XeGk/Nts9aG2yj5xU8mEOYTGAnkzfR1ufl2TmSrL/aKC8Uiuk+B8YcsVHOKJ8OM46llp4Pky27wZ14mDScDDKOzfrBCRR0tz1eF9HAgkGpC8mTjnCJ15qO1IsrO4OL9aqsEbdsat0W/e4DHARPvx0QUkt6MimUoEms6BsGLoWnDEu7e8CoPPkYfzAw88qI1t6gijJi8N12vpX7lQJZXgA3icnC2nx/cFSaZw6XpvD68aFiDbTPZqzBbsNyRr28SHVhvh+byiw2kwNFVi6QSiVjLltmYajVlzHZulBi4iR0ARswYYnaNeI8KDP3c9xIV5Y5KZlefOf45C9YoGoyhbi6riEmMBOTpAsaID7tfrikE1e/QJxCC1tlb+6axA4xgSN+9c7LZXomhu04uRk+hMvjIaF1a2a67DCFmpfTTNuYRH7bvlPeHE86TmaMCM96v18ONcT+Wo/7Cc3kwMhOPIgK8yZDFCdLGbtSslNVD9OzH9VkduVXPtPrx+FCIV8ezSsXstWIC5cOYGijRwbGAMcVs8cdRi10+qF0gEE4+C7NlpC4TtCfwIQ7Y2wmTSJusEJEbPa8K64tE9KdOUkKwkPV3fN0HtuRBM8/uJ8eMSHsBSypY0QgvU1PVpWkez+QTljQWlwxssU25BGIe5HDd6rGUadH1zKjiUo7tGJZuDqTATiTgSM9mPVCPxy/5ChW4zaIZiiymRdt18XfWK+06yvC50muqeve90MCp5mMPkmKJszRgl4wddtq3epxp5Tvmgi4JKr1r7b2fUPB1fz4g6j7kCN+FfpzUxQPKlHBT2ZhXo1a9bv5IYMJoICKUwUu/3OEMSIO0FIhYTxSPJ6dk6jScQxjL8JyNi84qVzG3RqdCPZBHxZAPfSr/EGDr82do8x/npZNG0fTMS9hlBpzgM5Pc/ABqpCMLcHgyNVilEywtuGHywCP8txwfmzIuxId76ezmRsJy3HS8hlLDYxXLuivawCkW6gfnlSD+54p3ApqFTRroFRww4U+srX5wsBvWCyTqPMpC82fK7MqnYmMXKgyUt1oYWYYOEQj7fKhFYcbdORXrpu/KHeZLzEpJPOUl0HAx5qJOX8lHgEEt8sYQZv7Ih9vyJ00xXV5GyDOUSatSRb5Sz7/wjfnHrpUWAs+MM2APrVyZlHLCZ9loXJN0XvJ8Tw+eZqiiV8LLleUPbgXT4edDch2LAB6zgk83Y9HJ5faIZNINnh2YkerlIpSYQxC+QZoZYER/3AJUwnyUpzig6JruxKavLwpxBoCv4tZK8q5TSV9gqLEE/7qsrmaes5ZhV3zXvVuCVyqg5FF2kofwtKhoeYJb2z+fSA0hB74LT45ZUMHlNgLFwpeDOMLZ8k+mwKhSiUbUjAjZIX9oNGyBlfGYvk5RxpdbMvqK2EJ+w1uB0k3jhuW6iLIcXGROLl/xELXtxw8XJJHrZkCqA1QSeL28ZTcORHox/aRAyI+tL5uybdtIU+WRiRjM0w0EOpZWjfia+2ZO8x8n2my+0NWw7qouZrYj8XqjJVZE15E5YJYIFDSA4l89Uqfd2qaVJ/x8Zac0xX7mGOi8O/8zTcjIm2xx4O1kAaHgzEfyiCvzETFlHKnXzyLIQ/A5x6vPFefsAVZgwK5JmZI2Nk5Aea0SUB4FnzRPc+vQOEUpIlBenRW0SW/YOUfOwJitx9Lga4FHRSFTTk0UnxDDi4pVGWw3FH60AuCrnM0oiObplSsZvdJjVL5EME4//DF15yRgxdGVnHFuHyH6UWfxsSNrXN95YJwijnW2mG2Tq9Md6jrBvHYsPpIYedYQLNFfSL3Q3N3/9FNjZoXbymcTquTqTVtlEowUS80DPEdWrgnN5Slch3ZE2NhqDyDzQ79rdXJWGzEVFbD8gimIVjdYoursbscSGC5enkLz5URyOy5izcDWCPlX2rp25kG9sIQ2QRnZLGiDT0Y4BYDlMdVw+Slir+Uhm9TagRXz+PInElXtG1NhyrWwfF7IafOaUHqE0NAGASAkhGO3JEgIr7sOV5SzGjvkWUdcbpU8JFN7ab8gprjypg9WDaYBnCOA+8NaWbj3pWnJzEIlKuFqzdLOwYh/FSDXDIeTM03xZUab+WbVkoELHBz4xk7FSiJ4+xpIaSSIxXU9vadBt+oCEXe11sos7Mw/u+LdQJFA1cGUmBR2iu5UQy5JzRs2n8CCGFlIiFOBBfmkSRzOHHzb7kQx+JYdp725+dzQegEcXoNysJ//y9JAtxkjsRJq5q0lw8BvQElkdk/ydKPJi6rs5tLrFBo5o5pwqhnhUVVNfoiuYA4GZE1+DDyXCFywahXLQFNK2VTLHsLFnPk4C2X563K4WZ5motlPpW2QusesMV613Cu5hlAKAWZu/uDABhWF22jDjACI0lqe2jh8LseQ6kphJymzIVnhLzQ0LeI0oGoQ0iwuQYYsq1ZnDEoV9l9yvqVeXWlkI5FVVFimPRUovJNgdSVi7bP8K2ODX2rNZOE++L8EPN7HhlGBOn57RqPJttKcf+WkcDDR5fXvLjrLuN5JvycIp8HrkpQv5BuP5GGOgFFWBlgHEdf4dLTlMx5QddYTpBjUpx3ZFW6DEWjiWuQRYDEfwH6ISDjmUGcI4LGONUQmv7Q8gapiajgABZ+KmMOCg7vtSy3MsCGX9lv6XWPEU3HW44hnLwnMJMMQAIVYUDpbld3Ezuc0AmE+yLX4kfSRZT3BT01pVlT4P1JVLMAysSVYa0rNj9WVOUe9IYXdNpFYtXZpcTdMznpWe0fEepITCaJwfkw4cBjthvRnfMzu8H6UtTqT0hnazwLNi2enl7NdOGKKsf3YRgQSB/pY+ah6kwqGv48plNUEQ43+AySVWOwu14uqKOxJa5crljFXull6X1BASPqMcS/g12nNkPPiKDm6jaRQiBf4AIeGZHhyRG4uSb0EW0KUQJRM3YczwlLJIUvD5Xd0N8EU93b1OxxXdC7ThsnycHsEbDZemcUcjaKgWs3/HRFjWKW2TcihO0gaM7wKS3I5NFETKYaIeYc0NQYuS3X8vNJ1qWRI50lLhQ83kNGaELlL9owkjmorI+TR9HeJCbi+OgsMqcLkwmSHh0lm1Djqku3YfU/JicypINg+E8u/T6qQQzlS6HaQOZ0n80aqOfKluWvURksDrlU7syy5AiOE8hbAQQw8n9/Phzk5VicDhA/CLfS4ygJ3qFcThCpy7Am6RNpMHOFPbVQ4jymlaYHIlU+JU5WMIga2aE205G427JVTfIvXB96yt40gULA42k/WwVcOiOgrIGb5yCYMXCfw4WFukW3YOboFk7F7slBVsvXsvOXRhDuZNAYJqYx5dWqDuX6KV2EPszj9WeOBfSAAf9LxNHZTK/v0KotMfGqTZSQ4SqPZfxx/8iIBa34FYyADlWn1DOT8GiHzZ0xFVjM41ca5uo5ks41VmBEdIlQkHET7BBYjHPes3XNqrBMA2AItrXmYV4MlG4YV3eyjj84QSYvFvfNzy03hTIlBOCQARNn7PhC6qK8q1pEsDGQYQKC/4V18tFIINy3lc8vUDQhdlbrUZLazDgYolcbQHB49X6YEGqnAhHVNwiiNFCIqvFANIXSihw8nNpoud+Fsa+IyWrZQGYRyHJFsjvXOQJlEyGLrTnrAOpIMshomcpWcbUpPORxdolUpdKQCIoc/87GL0fnJt6uTazOkOT6GYOpwXOQIlpszCbUg2CLQ3yZs3huLhg+zR2B+sqMhr81pdRxIltFEw8e27G584hFSS5rKLR+To5Ex9Jk+52EDi3kVYFniQ+6tsFixDo20xsLXqaVf9s3KQTYzjTLA8W3JzjczYKJmlZQK7zKH82EmwnK/7ZthGBfwAzyZi7cek4Ba3q/SbVM4rGGBASE19IsERcwJkWAtYS/uOIoMyzHYqxqNwJyeBszisgq4WhIZWFBLirTsYmK1QibMxBbogX2t3tYsdAWP+ea18ADo1MjwTP+SbhNBhMMMofRk1Jcq2I4PxFbsE+QyF3zlbecocJFQYm3qEqxgMUXs9dyaIOzzfL4eZycoVXRNjc0y9xj4543wVXZoxnKtqRq6K4+dmFzekYaMTMIT7g7yHWYZwwvrGt1YzgLMYTxPYeEWFvLzZXlPbq6W6bvAOXVH7+ki7hP674P9RV182l7RyKCrtuyeeHqGRVMJbJMKWAB2nsbxLSzo1AXw+Pyb2R2SJ+/yq7bFEVGpJ4yDmlPaDsljHWmXwfLNV22BznkwKCzTcxVJyxegPQq2Kpsp9ADTAwe7qrmJmWQI2HJHcEimxE9F/OmkCnNbE8SQ4hxmhakG6TPqwckVu4yJMkQJZguiJ26OVDNldHZuic7VnuyaanSuK4NzvgvjA8aKS9EGBGwYohAHqVvzMbdbUBrUjl5AJlpg5crkJZk1xGhuTcY8UmAu44oaxF4BCB3KK8AFb6DhZT6WowCjyCaFXcdCTuqbEJ1vKVLy/p7Dx8k3oTw7HcSZVf5bd8CwVthpJfCx7DJDY+Iy+bqaOFEKWGOyQU4EPHz90bvrYPJSsOQaOD/2VYGisIKNS3IdUlaCKMjJKvK5a54JH//kJt/ODqBioX+yEsdrLJ4ulaeCtwdNqYcYewy1vmT+4HEMAnsAb4eI5ALgpqw7yI+1x7Nj/TL/+ZbEPpow10b7gi46AFL4Mo+d/WjQ60AJ1eVmB8lYpIR9r0rtsOmEqTBjQtih41RLDxdCqIwk4t1Mp8DZ88LOoyST2L7fdCMRbx0K4smh9zzn9b6KRJsbzcvCmwYaM6wW0xefTpPRDqQmqIhhlRGP62IrTriNek4tZq3rsvT8lyM2/zKqOKZxz/IKCdqGp+5ZLAMXxnHnh727lIaLhnAPuZdO0H5MKIeFPFtVsfaUPtZHrTATY4Z+1jjVpJbcmRo24IN9dwkyuSGHpVV640hGHkKOpG8G4NzNo6QCmXG5y74ehvyR9ggENTQVS9FVJ51I5rZW5ixot6FOewnXqoiZjmhu3WwM0ceyWRTQ73yFbh6CR62JBUIDmfzS07OAdSMjsI4c4MEqR1FfnpzaragNTAq1kd7FQs5QIKFEmrodOA4rss6kodIzynes8cRSyrkH9hHVq//kN5lj3IrntHrHj57ZT8Iz69EqF5gM/jZe3nWfkayBhuVNbhK5I/S4DO7rNfEZGk3VxlzOVqk4EM5apMP+BhEaqgo2QXNCPBHB8hEXZI5sJZgFxHWHRybQ3KI4kD5PDgXruhgLqnvONILGc8x1gDJLitRnarjgMFr3qsddJ3RN73cZTtsh/b1KI1/UF+YjMv8zQqowQjcrD2Ll09XZFZpau2D+vJGMXKnic+xTw6c6SzVDQuF5wytGVSQupzq7x4ZF9Jm4yrrTUtJ5qNQBGbB+XrxmTC7ui6d5pqquC+LK8KysRZYUwCHsystXAMvXJDAjaeOnWSKPZ8/AFNSoot2QtiAM5XMWFynELrxO6Bou6vQiZcIlfsNEhHvRgC4ea3Ps9LN/PuYI+sGMUACPsHEYwjw5dqn4wR8gmx/0Owe6ehCxkuzQgZmp2gHV+SiHtqLa9sEulpZPfqzpAxjVAtv5lYRh2WRmsvanaxPECtXk/VGXqRzjhqkech9j5PowmcNDCaJvHbjMT30KZZNwHYdkBrLcVHZYTHMgD+U6cIMLdv66cLK4M2totCyNRZhjtcvk8CdrLyuVxbOwKwhKT+ELVaciiN/oJTKUi3ZYGu5Antl/pBj9oa4V3f7pCy1EffBI/rTIOLP9oGTVXRgEpJjO7QynqhAjStRd9Iriw1DL2LXgFxocieqhYJLUeganY5CSnPHL0jmGjYsDd2m78Hq/rpfZ9QaXO8daIRwsn9d2YyW6j+erw4IcWVNMHbm3uzqJp+ZeaBIORyPATygIIRUQ0ywh0sFDVJPZkpYjxBUZIvJUTmpnzr5ARhVA+Fg+ACjXFHlC3ABcSI2gHZLnZZ3R7GeEFMprftxOxaPjkk1x5pUhyDMQBOcWUyGPnb9GJcxELpuOhnOo5FTRsDSov0IuXONyE2KzXfzBHNoZeIZRo0x5GfhIF2uSMS8gWbPYqCNc/YGSmIAJLH3UBLo7T1by3IiChb8jqoqQ0YWl84q/RXYIdxwbOITr0qqvhM2zO7pgMbMUuUGGwxTQvcnTiOi8ONOUWaZPLcNkjNi96taxJ/v4dDoAVgSHFItZ+3fAV6xTJiN9XYjWf+UYW/dQZvVzshfea7aU8rmsvO21xXze4cSNcTOD1vnNP5+jHXM2MtayfDQTtiql+J+pg7ThOXeMajZAN8JAFMc5ALDwMdGfbQCbWdpwsYwW/3na4IeDWKeKuHGu/tjZp/x5ulyIYaFQDhkna8NloRvb1oxzVIodUrenabrFT02V/te1RoLFq+yQJlqThCdGX3Y9v56J9cbBC8LmspbX77mihogOiYX5pht45jSYopQetf14ne7wjOpbT2pZik7ikrkWle569eju8I6tTLldbAC4D+SwVfgOvi/I3xR2qnKtbHQM86o6YB6EpT+J+aXA7+rW3UAe5klyGQ0aMvxAD1iAdTL/qLlpzTPUYgSwgsPV9pDmmF7ATZzz+dg0gnM3dB1VMyi3ECyTV3dDVSv980lqIbJJ/qOrrYNg1nE1lNd8tcEnehplP6q1r7xkpoaxZJ1V0zw8sbOMjgNE7JxUIyL0RIoO+LNuliaFcBCKUB2TSU3TjzxdjVJMwYvOlP39OPGsZi5Py5Y9b/GPD4+FRzLo3Z2uhBc4AnYz39dT36kLkZDJiT5YwyqJnjADRwmH1pRyvMWN4CBXo3fTmcCXV1swu1bZza+rQIMCYN2os+v5GlOPT+bJ7Tdu4b42WfE6dokzlReIvOU18/wcQ960tw3eoYDN5zEIQEur8rJ3H1kxYDHCT4u7pYodW4zLIPXrDeeO0sjUYsP/5fvV9yHNaLVQg9mAXzkDgELZli1Qlniwbc3VzKjQkaXsJmMZh3llUeAVVsc8ImNfGOeqIAnH4jWexQjncvLPmBTIsz/CIFd+6ClVYx5fAK0wlau6kIra/kOxmeuQfaxQIhQ5k5ARFnVZIlUF3BJNRmLIKaL2fE/hU6MwV25oDIane2ghwC92BUXdY96lZi8ITi4nREFS9mPNmELBDxWkMortQHZ94XPyNjBhvO59o9w+GsRKIi3dLbGJYfkxftabVrHM76OkMat/1GXw7WoryuBheS+wzDsGu07IWEj1vkMnSYOcGlLAv55qvMQhEA9EiWaImMKmw+uexfiL5jF8mAVnM9S0DWyFC28gtAM8IbcknhtgYhhYUq4ik0rWNAesK5x1nfKlRRfooD4oaqaswAI04uACYt3lQeV2wyB1b1YqtUnkMfkodA/rEkeDl1gYVflsAnWyj8cj946zxfp0elyfOHXoxqcXGo7u+F3ZJUziZYNNXQi2sCX0sFUJHMPGTWSmaaKFHJqzMgKuLZv4O6AbmaX7Zq6QNIkB55HrtyMV64tEIzWkbvSk0h7gjVCErA0BBIfR4FWCu7gud0Stamaz3fmYRmK1MqVh+ahsAp2rcQijozTjco2bRA8nTYZJhTFhj9Se1hGrPCPoJCozIoYtVo+2MnVh7jT+ZjYJfWLYMmbhBYR09lLAFzadi1kGZhfl1NcrL7K03ljshEoBUGbUvqBvGkPp5RF6WgkcKErSHaexYI4jVrnMsqJrxETX7vjESmNcZUQsg12YqDfgoLX55+kazMGZCih3aFE4pOWSyiqv3ioHk2osvfYGwCz8fKiPGef4ZiBe840MIWLxzPJl3Y4iauOJNjqRCxmrAR7lZieYp27ytqwHvf1svpVEx/DWBR07BT8uZOdetZpbgWqYAaRCccSwSewMHn8wdFj/C8F1v4A2T15hCZV9SaX2QCUbbGX3FA8tzqMoDjs/TVmSzUJVG+DmBbA7myas8s0PHJj+rHEYoRS3T4+e6b6UVZnSA88BxhxJv5wwT/ggHG50TUsrrtNmw+blE8YICyJiLqqK6ggV0AsE2tZ3x/LNaomt0ffHBpMNM+FBgdHuLzfuWTrkFmZrQTp3UtsToq+qIApulI4KVYIHup+HX96GeuWWng1FLKpS9MF3VEekmTbFryDreFzZiwXsnC/GRFG9OFi8o/sNjhOPROOTQX1VeoWG+ATZVIYSfRzQpWBPo7/gydY/w+ugGL6Z3Qez+tWtbQo6n8TxnU6CR9xF8e1qB/bZOC9XZVHSCT2aaEEmJpAqIYZyODalfk3HgfZZnqPle16CX83yrd/Yor7c42ShYexzumLG+rula1NzdF1ah6zPcQyAL4gvZH3KNvNxY4b+7uFc3beOAcQvnq0dAEQuINxMzK0AfVAVgCpfPy1f0PwJ6RV/h3dwoQjd85jjz2lQxzzqVHB7eCfPiZZjLw10TVo0ZUkz58v0M6xsMgwQLwPK4UtrvBZB/T3DY0GQD3SET0nHyDgMHm+vkuY07DzDiHiOly+5mFSQfI2hGFU5ch0RcBS64l1CZ1+tqUqJMiC5HUMzzA9rEZ5JGTM6mHgqK6LrODQZLot1xExR7DAlFGFr6MbjDWDjYcpdnQuH4PWfXaM+ERNgb+2U1KMHD/PXYR/UG/QyWY0Hwjrco5YVV9d97Q84lf+5ngX7eSjxixAAYm4mP/da+4B60bHFi5T4efHKC/MHLlzAw8j78HOwr6y7g+ROzgvqhDipUYqb6MkybFhHJscazNfEUokQ0bFfndCyXF404wO4IixoPXfKsYjyn5MzL0dkR4rQ0DK+XyLJCZz9fzptJly5WJf3P7sxARVvIj0241hgCWBNXhZAD2ZEbWtfB6pO70vcmxT/H/qFEk9ckI24+4SxkycQVFohwFhdR7xVdEFM6EfrsGHsNciYgjpXOwg1O6Ps8bR0nZxljQePuPHA6Dj3LYeeykcKmaDb+N1DB8/frp/pGZf6DoEMavlC0A7G0MDKYvVf4++Yomi7zidL7MyOGCguTS+PVTCvulwvtkaYzTQ2zoA1+sScl0H+YOMgfRGI5MRjl8ctq6p96vTDnAitVIuOZe+/+TfQdWcBmVgpRWynhWXZ5k+5fEP+PEgl1A6anwsePquomSHVLt9qJKSyaD60yGZptYyL0x4BEyb3/oP9QAD11U4pBtUuA4+johLHQbl+vZ+vJ5GjrXiae8mPMLAEwt3SZpgbXVZEa2KgQxtT9vl+XM836p3iIVhlXUmuc7v+UoWiZRouQzpK5C5GFjwhERUzt5a+lzCSDHGSBJQBjQ0PwtR7McX6F4MtLAAMXcr9JoCCnE0Npkc51Gct9nc0Cjh+I9tR/HY9HNZg3U++hwsxz7f6al1rBWG1AOZZVJG1TtTQTgTDUUHU4BtUa3qc4xhTL/s+R2vEMrlYxkDLBjow+V5UDoUF+UR9ATsngTSVL/NptsvGQdZmDiJFa6SlU8UwSryafYHFBg1F0TXAuiIIgRFQ0nk4B+fT+fEcfp6n5eAXRVAz2dMljGVSpJlCOJtIlbwwDtTPxjA8GE579YB3RT+HYlDdFN7JCqr+IgyUjeCdDbMM8x5xKF8dNshGG/KaxtirH5OAn5Z4LIM8h9rNQRKm9CLJ5YSEs8/n1MPEBOQd2VvOibLR+k3w4jeSOPxI27ostcDcKVEqxJLOEobB4HauqFypS4ZBx//5EKouSa6JIf3h5AOeGREJQzx3BO6Z1A1Zr7llBvB8zCcOOjypouwDxUUiGTnhBiVYW8myyW6qbH+B9RoqTsCOgoeeyadcRoUhJWDaB3V91S2v15TdDKFSRphMX5qqB66hyEX3O59ld9b820h8PTR/GFun6Vwz9MbdqYUtaQy4pqPZfOae+zAiG0h7Gb7BcgC0UuvZuj2HSRIU3eBCqvZ19WmXX1wzrdIUVvsvbJIn8vZ8f00PueiJ6phnekioabRqkeSZ6vP9vuYYQBR8QZlSCXoPbG8aZaOc6S9gbwEIfFkBaBJgOUu2yKX+Y36OpE+HxvrUQXVpWDMU2NhilOscBzNYcfSeshCkeP5OiezHeAGYPDMd/+etPHi9Lqepl+TkjFJwnMV6+Kqd/KpHocgnwmLWQn/JIJpMj/qptPJmrfmsdImatr3O0f0WycXk4D8N6iB11WqhzRFFbg+Ox3oQIlnwgzJo/YWhUFXnzSXw/2OKBnK58nSmN5jeFJu/+kzvhSlk4ENppdA6+2Tyjzwhq9ExsIyKUv4M4uFLZJ5EzMhk2UHUN8+f4MOaGekKxBKFzB8SLrcQAQyRdvUdG7/sdPjVoO8+CLw38VVJjUKyweL87B6wHgAQ4fYZ/OJySWF9Bg01zlEfAz7KzwtyXwPueUWBPFu457c0Cu+WFkUQIxJ/d12RyQ59lPKmeHv67DnR2AzKaqyTidbAWa4yTgWhqHwSafhEGFkjF2/UV4nQDUsJpXEcOR+4Z4LqVD/AxenP++sBFc0fGB7oNuNEXZ/PBw55Mk1rEkPIEDk7/3DikhgMz6SmOv0whqqXABgdATgwHIeqTSnJgobxjaLLN4Q79N2T+8RtFrudznIFohqtLbO5EUGLSf5gyt4JpLrWFaRWaE1vok3PQBV0K8cfRNSMM9b8mrlEp4hvKie4tnOyFhRcK0OjPvWR8k9tJszclPmmXZK0qeglFZhAMJASuVLG6VmaQgF0JQyRia7TW4FFewpIKOIwxTWH5dIYJgSaYGFYbrwfLM7ancdPncMVe8ndDzU0iY+4dBXqrAg+QALHDaxLqI9nzu+bVER+I2CHo0V1AwFNwaUBNd7OJy4iu3rSTSMzmEakq2FrdZF34PXbzGk4IL08PoLsSDG3SnrGuqtDFZXkoeMDuzYch/Hd5W/ZfvxOGRnN3UcyqEqPoqrZQG9nrmNSKHFZX8om5ymc7kYwLuZe4MlzvPsyILpdPCCsTKFJxhNjYnYEsD9mCg5KJ8E0V+rKYO0rC5fmQiPc5Q3x+i9KBElhR1XrERxcuh2qrAyaFJQqk6taeOFOQFz+5un6SvOT00hJL+Byfj1eiVHpCobstmthOUMONKqkmmfoa4+GgEtJ3KYs4zmwmq1S4QreWhnpYD4mmJeJd35S/cS7I/DgR7JvkYhsVoq5dblcMeEYP/lC9Kywg6wlKscLPNKSF6D5mGLTy6KEeZqAjy7c/ME+qXKw6IQELn8yw2JGZU33JEfntv6cb4gRKDOZBnLCO7IHmLVTz9YQJqyDHRjxTv/TK3Wt7Kp+DD6Orok2Pwo8TYXnTvR3UowM9GBcPXt8oVChkI0NnPBAGGCzgQIukzuwrKiAv9eIMrsicQDiT6/lI5Y+51BZ8BVOUrpdAdhqOBhT223Ge2zpXP58UZ8Jy5HC6uNRKxBaDZ69U4tsgAhhFfS1tGKBh2i7w7IZLxEk+DAH0HGGYe0rnqwpnIWwAbqAmxj9kYsUl9gFLXHSgP/ZqqBDxrI6xFBgLXiTYalk8GdygdplTynNBZa7VFjZN5iguzFsg6lZxBT8kEArycJRs4W9I4/+yBXNJvFwhYFmS3k+3vLQtql4ZpWQ1dwfhhTBOeCUWB3P1AgMi7XgXIHqwLRtNfEXNNNQucvt8I5K+CzGEjCPzSMFxk3WfYQfC0YFlAWVPl2ol+yDxe7TiRmTkzgTYYpickswq6zvGWmX2kxmF2gxgiXJUMu9+WR3V4rPFdKJhrZcija52IXuSev8KZbAvmRnSxJVeme6W9o9qK+GoaNMht3ybMMdUkhpTov1vM0gOlhXhaBhMb8QePK5COnEb1wiTXw6yFhmPT+2e2vWVzMlBBkRW9CPvrFAz2nnBKXwQ0tI5t26RkReo8jJbkELgAurghFKoIhxd4jk8ZnhWOFJsaZQIE3AfE+2xFC2JCvFfY/ZrlDB5lnu/pNXCW0FBYVbcYSSDSR1dIzpCPlUXlkm0C2X4cefxyZf7Ae7qDHlnnVmrBwDydQmIUWCwBP3jddZzvTFXQN14rTiz3lvl2uOXEvLe2xWYokLh0AzHk9OXY6gjE6ZV3PysPci+fmdisuUI2dtYxDzRQYhh6CN5ieYy/pbtJxDHwk6teuvl8d+DmWqRBZXIZFLkJ85Mebr9fV8T71LKJDePBfMOITlck3iKxw4ybTwTfQkspnmEEbB3o+8BnwSlNRxz7+j0WNIc7Aq0YcFHKMe0QPZ9samHp8jn/unbPfBNmXOvkSXFUqshYdBPDAnXO+zgVh7dzVGwNqpprXVKshpBbaKGQrLwJU6354Z0fpolNJUFaUxB3X6VFCyqs1yQZ9Cl/p0QgykZA15QRMeK+G4wfYbOXLv/R6WLmFa/xLTh2XB8WuQOCvIrqcGu+fzmBM5/lD5LCao72TBbH5baTLdVeJMcIpLEdi6dJ9SWC7hX7qKluDky3b64QJCqHBFQwCYhUVvbInwbF6aa8SlrGk02Fzr1qFCMGeOKFZrauqumO8yCtz4FOqGvdzAU8VNgPyEWQkIt0YII2tL2EwkyA1sgAIpa/QEUFmUR1tKcvAqqwS4jqu62lOcIaptvxwG6WjysZVppDQim9W4UKOyRr1GbtdOhxVVwSZcyJQUm+chETT38a2CA20wvaqJjCJ+1C1nLey3mt09cEVtlDBO5ppkQxggtoEwwTcEJkLf8pJw45RJ3U1Dme5bdONoXX5LAvGWOTcuvE4bTpfFdQ9075qTNOUhJg5rhH2WwQZk8nGSjYoRh63IhTyucDjPTxYyj867Ix0mmhuwhjNoNm5EMgsZcgxZuIwgEfudiXuOE/65wmicME6YRGNsduG5HE56QnUIiyPF9jaIpog55IpGj/81FC7sGzhWxCGig5+7asJ+fU24AXppiWXYGVSob067FVuymjKSgwdjCWQ1x8sK0k4JtEGeeWVikyxw2ix1UPBInaSaFpwAzEDaZSetnvMTKQzRcyZYRg/cyw++qwCEs4rgHqmhFUvU3PbTOpTQlNfC80Y3xjylzQBbTzGxrLKmNXGBNVDy4YMjoAdyJJPAg+v8dlwS90CQNcJUD/mTxHZas+eJunGgGS/pOdVfE6bFuEMJ80tUvvvfvqZWCT6Fwp1FnkK4KY1h+P6d42yCHllshlQeCuuFS8NfYWS3Le0UwVffRyxbTckrY4BCi5n8+UJmnFZsSPFsoQFWquEB3rBjoqTJswQHECTL7ZTJ+H/ir5wnNWaV87kF+chWHm6FeYRgCuewmFqtshjhGuSjPYhsHpkjvFUHYodoru8Wwjvacs36P5/oVVaBZkiZSNnqBZmxIJ9/AA0Rw9qgekMFt+GDkOWIXoImMLIRLxgWym30Ab1MIAk5rBkNw9NAhcFrukoxQJNUBhR0vWSULEGTwHBGuDK/Jt4cRULtelPE7tkwPjfvCljRbC0Rvs0rgkHQHCgAMonHZSV2a8JaEglIoAETQRdmeF5rO6WTlELk0xmnYlrhlW14CmQJ1O1bSMSFNCz7FlJCen0YnpgKf4pyi7yeMcDaRYoxoNdGdfljcWRT/Rji6foWGw7+CwNYgyO4UfXHLJk7zMTfKOsNi6yFp8jzwOX9DfrmSHNoqzCmnpLHYxUQT4wb8BFqZ19cfuEYTOQ0kKy94ivGkH0Yl0AkKRnJLz6MoXbE9Rp4zCTucUYB/toMjLmhE9dInmEcuX3sJQyBaUGe8ZJTwqHNNtoYnakbMmVUiHbAfET9Bt5m7k1ovkyHfhEDkb0atLRqmF4s0+mOf+z5ECirkW64YpxYKzviXOP9BoRHZJ7Yebp5yR/EHkrH0QhIrKQor9banaYrYp1PUDIBdiErK9idqeKIatdMy7ybmS5co3dISmsru2ZjsArP+EhKGquvpic7H23O9/m6XzKUhq/DaQkuYCPCJGzCLIp/fV1sGsI9C9kMODWQmcbCzsFhSuTujUTIeKw7JQ+QL44YKEcuIOM8I9ZIRug+fxbVV43F9XxeZr/wbOSJD/N15fB5LugKEIVxNvlyGDUMm0QCPDzfxOLQUkpYDV2ZJmg8JD48A1bevJhJj+3eulxhkUmKLf4jqGKdzoyQaKD2b+702S3RnPva5NJvKQCuYb0WpMyyNJyIkr5aWF0alkaKBu/jXgs4CgtoBDXvRth52QehKandTBr/DIa5Djukme84VFIv3StYXS4MuyZQtbSSqg6Q0Iz4T7zcDT6BAqnhsDI7pGJemTAXukDuDrbEERcHyvAOHNV1wRWkuqXPzFD0cvuh3J4gHmMwtxLKoUa1kJHB1TLYQt0SwwgQD+W3ziReGXyTrUqyUobCvd6lQZ4XRAYX20Uv5Vobj/UEjpRHLi3PTD0s9phrcLxIXgd6HNxSWELyh4AWxh5qvF6eV5VFYvtJ6wga9fO/NmNAfRBdIxws3wKPkVo0exmA1UxxcgYYNRIQiGXluncCqz8X3FABnUaTdqmBhbT7AO8XeTjA5cBQR0/xoLcxaDFiLSL2b8I4iddkBy+exoycgAQAkvSbsKXWphr0mFYFQaHKY+nXRfzsdL5MF+hPaXdtl59akR/ZyybNNHFUiyTzEKrIb8OUtjXKLnCYCM1qqHwuXCthAzvITRhlPshuX3095oaRwpPjOCSfyjrtiYTbAwcvf2MSKwtlMopuLqcL6wvQYHrmLOYEG3TJXLoOWEQvGmBNAnAf6aNE9Ct10xsT05MrC2oelv2J/vzwIt1OIn8+VlqvmLG6HxgUuWSnV8Ykgru+cobWbVVIWDYWP9KWtde6WgePEbI6kxXRL3R1WKHuUtOpqE4td+Z/ib5h8lCdi4hLhYD+9PlwQ7YRfV4D3zfhgjwnNJ6TRaBYZVlCjjlHXtpeVNjZZnFjBYWZMMkkoyRNU76/V4a4xgGt8xM/XCdhacK0BNjDX/JGWx+F9kDMhV6hBTs81fMlRQHjQRWc4jZfrgMwULvSET7nvyxlgCDLW3yxtTg1WmmxaK5dD0eOGrjPlibIsOzmAMIisyEqvLFba7yf1HREjrGRDJPPkq2WISI5TEnYWe1l1DkhmhThkEbJQBLjpHHC2NSyFsCCfaduVunioQ2hCFVuBMdMWiULwRw0Gym2imZRNbwtb62LCAgg4gvKmbh8kvX4Oo3BOS+1tqKslHj5TOWSYORyrDPSGsnTTYTqEFaQxRZwcBG4mksgrU3jpx0kkuifmEXUj2HUINwrSuoy3TGi+oev6LELEL9xcvmlRpL3hUraynk3EzXR5L04KjYvJsmwBg2btP1xOWIgUcdWWwcu6njmM3sCZe0xc0MgXrgPC6XAeArtoxemfOY9YVZ8g3Tky/zfE/995tj3PHBJjbcQLxFaSYZAsiA5RbbQDQVk9DqRdeYx97Tj4NtdPHFN85bPbgv4EihMnMmLzcf5ADaZHDjEIRcEYb++3tfrJcvoqnD6pGTBQHmd5/BYUd0dXD22hzOTVcCMDUChd+cUWCUjhn5OOoEAcVLrB+NHxhd8CZZl1eEfmWhr0ODopCaoA5SYVW3AUwuOHGU35sywN3SoGcavI6f2NZgc+PN5pFRWdLsNr/FEIVLbTp73weU4vlGV+zBuG8aXDTismd1qpT0e+8otKqWb6FzhrNSCSwF5m8HsfYfYSemvCy3EsGHUoHloy5UpT03ohH0MswzUXlFXhaxVbVEKW/7PBDH1GFKW07FCMFP4ziHjjN0L710uLrd+x2SQEqKlKhKDUIRU3cQ/g2N8r9ZoTLzdJiwKUEVow6pZBzcD6niHHk1I+Mom2SC88YtcjCVMpZj7PiLMQL32pN0Soh/ySKwkBI68nNzCx0n4jb/UMEfYD2CBNzZGIPt9gLPoQ29m8Ke6hbBF2TSLg8bsS8I54mHj/rkMCvAur1T4gnS1UEVyRH6KGoAhtt6AQgDitEtqDbnhfk3kHUr9S7loZl7jAYbGMNue1+ZjYxWQpKHknVoD1ykKi+uxdDujrF2+9UySdL5sdIL/KIrhvNgCVBbQEoO/5PEAlxh8lnx3O3c9AsjygTMO04fIGKQKUF4hjJzpS/KTIrWP/Dyc0J0bPHS3LWTbS9Ra+lDgNJEGy/L85Q/DzGEIAL/hKvlXPgjrny9X9YRfhbZGr3s4QftJ6XCFhnVIZyhzSijWVwYEuGGhsZMJ6iSq6wPBf25pUTS8kn/GSKaK9PL+uqauKK/1TtAQ8sociA0rUXpr0rKFSElhG7/jnL8pyMZ4ZLOQJqy7Qw7oIxHUGDOjVZSQl8aks2wY38sbiKUX8zS4NTs8cYR1jAcBi0tDS8PectiyByZKPuQlLcZDzEwMsbKCHu8Nudqtms205A8MvuDN4na7s1XZ5r0UXPTF89DnbGUJe+SVNGBZiWo9KQuIwhH6D7HLlGmHVYbJ7ykcnUueGy1XL2jTd52dWzneaL3PKjCZqa4B6lcA/Wzu5727brMlqc9sXI0GV0iRXpPKfJkuIoDVK3xCjIqoOKJ9I5SJAnwL8ROPGTMxe6yncpB9hlgbqcKa/1MMQ9Zibo8sLaI1CgLzZLT535FnwFLT7jEDrQ20K8HfmILQ3iQqt9CAAFJD3mVLQrtOjgZdCUEhvt7WmE8a1XdH0Ol8TR7hU+GNOWup4RjpqYRa3nq/3g8Ka1OEXyFFAaMc6ZqmzyxX12fiBXMb2Lr72Yb8qdpTbYA2/jfPSWuAUhwmyJyNuwW6+FwJ7U8N1+JRKJcBKhfHyOYP/uPUu7khHZ7TESsmXs6zgwfIjgoAnJ4iB7oWpf0xNheW2JSI0varjfsyYG1rIM67MjTVlfQs4GTQWHFMniCryzOAOdWqO1+2bRPZKWLBVFj8eR6l1IVXPoXwn2d+BsfsAUxpJfsty02BSn+bZzyJh6IU+rnplVCVgo45Af3xSFy15x4XqYLkiZ5PAI7JppApL2VzBNlhN7kE5qPWqfpSvlg+EaxwJNwW8+QsGD0Pes2OcK/cqPSMlpwqA1rvfB6cYokp1Bbd3T1LZ5HsCCj8WTM9L677eyxPvnq+Xo9J/U06enMhmG3ac6nvYKDZEzA+rVLI4fZfX6f7bO6qELmyl9Pp8fO4Xm9AkvyF/V6KKBtUJ+1Ou8lGnlJYPjAy3YwxPHN6NgZB0nHPy/k6m4a/Bj1ymAl2appt5ElEl3x91k5TjA9owJDdMenPJ18SJa+QgVIRmsXeljzwMmAnGys28KUSU37hSSQWeTRPYnCBdG4p0qtsx4Kvp+A3BOruYsiBfK2NIUtjFGh3xd2JZcIl6JdA4wJC6NPkNZYxamNtANaQU4VXCANughGqMK1Shkmsv0XjZI/Aetyylv6JK8x8Pp0UOYJR2gtmQanmRD1z7Y/qUTFO+hso8x+U7BGKsuzTb4xBjIcsJxd6XBuNId2f2JzRisvY2f9PuaL9U7M0oEQ+tilJpydICA8sqX8WSPzFwlpHEwVybFaCtsbxoUgIt51Eyh55NGcMrRR2mewWGWH47IwlcbFf4Yhjow1LYD7zUE7sJOJept8lM3yoZGI+zdjgYd6VB6iv2UdYlSHYgsOz938ERANvVxztWo9rheXQ5TLYaKwqBO1bZe1j1VEm0M9htMyOSI2+EAF0MoEfLAPbO3juanKNFYla8RGWtn9yrvtC8m9qXWXa7ALTsg9vwb0VB+AugtuAlOZr6AxerJgwHrMXGiNcUr322ZrILyiV+2DZpveQSgi2ZChZdLtggy0Qg/JhdiY/gyVoXqpn3bd6kb1sM3jlKDpPWcjiDle80qArvnjtaoWLbfq0odHYmzGMlpHgCDgE2S2NK32L8tyKN8XU5oAT8rqsvVa+JGKcutKuLuvDkmD4H4H/0QTP1+t2m0gzWUiNTKNO47i0F5kmlNacpAjLznl0YfYIFFSjgDU1ttoUqb7xOBYBowAEIyu5xAOhZpuSBVLWiszsk3zHz5mkkw1ABensSWikzUAjjCIlYLIEumxAQs3t0h0FV9BQnR0I0qrL9KqYZpXzYEG/C1ssoG6FHXFZPpirrK9ZqVRzxJnqHHIwguIQfE8ghy2zKwyHSQTIUnYSO0RJ6LaK7BAgWpaejNN5he7z4ebGNZ13ZvGIS8x2VspO6LiWXQqVSQ6Ld28MQ6EBGMwtArJPr90+KcUX6IWNbNFjC5DdVvP5FF6yuLJPODZ32P8AgWyY1h8YIs+NN+idahzpW+HEkth5H8HTLgd7t2CDLjT4zttQQQ2rz5/ToEU+QnMVzmqksbh7P7ofMMkFbAWcoeSIxTgJRsGTV0f5bSF6u3Ahxqaas3acLTnfrOWf1w0bJHH7oXHnxxZApSAaAsmmzLPT0qrYNl/5Qlyu82bctDSNPMdRqv0EsECJ7AYqEhEPs1USeQAoJS8clcAZfih/7K6xbeZqaImvuBS7u1isoOp6nuphJCWXcuiiMx+s5w+W+NQ1Tt2b5sshKi122LG/+lqRKytEFa88o2VhQUbywcFOa9AjyRbXLXyLQTwXcp98oqmjU+rEmUx+D5HtNR8mYbssW2FHR8YcT8NVSirCXXD1VuLUrgFgl8tVRlt1onldIltwEc5JLsXPdfNWERyj3kpGlPdos8n0MqTR1HnRPO2ednQ5eWC+CY04xCV9Th5Tg7znEykCYcLJHad7H45iko3zobPTAzd0SPfOFC4NcQyQkQJL8Ayomx0THjeYgGcb1/GwoW61WFkSdj1fLxMoWQNx1eisLR1c0nsiZw7JmWizX7+zXzoZ7FFe2YubYzdC0KBxykQviRQM1MxVqb8KjsnbRhhhPvQpI6llEj4Te2Y9en3AQ5aNpGBXKb8fGjOEgsFFjspIzYNSOG/MnvCmebVICW03aK64wp6HogwExKBRt87dWLPGKxUMQh74N0vzQM3MxwQ/eCCwFwwaJ6E+j6cwfhib04kPHqq4oF6PqrcpARzxTp2RJjoGm6XNGOtrXgVC8y9d/WTAHkgle7XQg3RCFiMPgyOXP1NMPpbYNOVCLTpJXDXceyyoEdVMRI0QjcH+mHQyAwmZ5WHHl57UCaU9wjruC610VcHaFOgbihC18Dz5jiEhZXVI0COxzA93xlOmieZznkINXaZAkOgDrACM8DC1vZEX7BOlLKUOYAVzmWdD38PWC7VlFeUX2Qo0x1BilImL+uqMefN3eb6nh0bvS9m5lzOcJLJv06JV4fD2UJg8mz5FBOnYLA2BkUIttI0noIHjErYwk1NmlEAmuiLOk0SDI7SasVgeaDokj6dpq6FGnPg8BEsGZMOa1qZ2gAjgJwHV80KHAKWsawkCTzX7uq3j6zm1P49LtKSqNqW9ZKCSjkSoK/0+a9erSFVshrsqefl7XVz5AZUGlYFW2YZCD7fUw53lJtthZJ1WvUIk/oV957E9WV3X9ehKlXLOKf05fgBJfz+6x8PkQVLPb2syNNt2Yk3FXqM3+0gGdQKbWy2PEBiVUjQAQApSFJzJx66Bk7MHWIBUGGLF2OkoMJ1HrAmr0OY0eZZWmzjcQJVM9g/n9YR+UrGpoaZTIObPEmAEIE0CuEKRxUbfpD84uWz4iV+K0S5aO2MzYdkoEljW0L9hdnStYCUgukbBYUOyBASCG0uFvKvtSrfVo9XlYgPC6dE4yF34hw3ovqRKwJ3x8ziLjEEg9MgySwOiRxqNdY2Jw8iibeijG/SDc00lH6aG+q3ovAI2w5quKgpSg0OpW15XvNoEHQxRBu3ETaaEv7oy6STwQZKpyPV6NZTEJL2rIeF9H6LDuPXI0Ouuld/nXaTmfJefNwWOP2VsGIWdWSd+YVUWdhtufzMSx34MwyvbZjbI8vFtntqGELHoGMlMznEXzFBXDSgWEZwtDiACpvSmKoCjrVnoSb3Ro5sSdjiGfWsiVviHImCJNKc6j/lwiY1Ae1hzE7ABHksIlUA7Qtd35hFIffs9yIqd1uef7qupF9RCAW9BtRwAiz5cLzm0XL0uMvz1fOUkr5gENedDhLPngTn/EhNImnoLvxFyDZDa3YpgDXSSuXm2oZxQaUu5XJrOVPmmyl42PZg/E0zi3QlttXF6oWx6zbcjXcRHdVb9AxQkDp3FCk1qrGdK+z6hL5AQQ4HAXLrbpMHv3DLFkOkTGx4MM6Dh8jQm0iWGq0L1LF+2Th6dt1ClnUFXqmc+sGRdtvmJ3zSixMk9B0ZUHKBRQfJIwVXl+Vv/V3DIRfC21nODHdDPOObeVzcpz8giRv1FbO1nOaqY4k/sFfZSJks17uzjEUMjbZ2T9J54cHpcfUbQqNp9Ph7j7uqTqStJLI/TPPW3lFSx1yu11pgoyif3ZcXp60FT/bEcYVuabKX9UlQQXAFHH9GtWBb5ZZPkFiXQggS4B8Zn9wVlIokXDzs9X5fLtNKchHBCoKMgJiusPsCgA/DNI2Y4OVakkSY3OAxvBUUrRQUErDYLhQidr6Wu9OYlZmzndUR9qT0FTXha/SiUFdMNL4Uj+Dj3aCxyX3jbYoreVi71jo18lXcxYzQRvIM/mj7q64CHGlQSwhkdbNORxkpON+k+eDMetRG8K29Tc82/EfzL5at8B1FHLFvrWRujMJ0FMqQlw6RVtf1saoJ3R9TxakYK7dycLVrOK/DOs3TwMjdBcw1OyIPqbOp5qZmL0TbxG+eLLdMTqYLQXpLXZ4nz+Qx3q7u5JVBm+xmWnTH2zPWo+9iiPO5jZXijf/ddVUlBI2IrfDxnAcSyGWAw7/DXwLvOQBa/HhX7Mu58DiIS1oxRV2WSvwqYHRCQ0fOWYmhNjYAqKNC9cxdWJ7rRt67/GQDJ5HoZf8L/rZZH//burCC37Ojbfnnufr4e0IR1YJpuTUfH9C19WimtUCO8LWk0DK22hGbGonKhrjURlrm6zBaAdWe+JIaXRA2hgwWqZWWS6eChrAYGt+OdD/XVKrDHoSRye6bfFsGhDsOt4MOBnXRu0jxfY9GpffJomcnqLR5YJwSEa3qjTKhULn0lOUrRwI0TA0I69YwRXYKcG2wjBqHjiS9FLDObC9g9mk8TPXe/gMahDuz8YFwZSFFtuqRpF01BEFnORCsSLJZt1oGVcyMv71NStbpc0lY70Wd3RxzTiNxQ02+Ep3Fo9oVmH+l5+jScLqer9aK6wbF5X490iG5fiMV0L8g3qcTUT4gpspGUoR+HGyUkH7NkH5aIHY5Kn6kcBnwCh4kPEB1KQJsjczm0+sM9YKfH9CroqtdT7dIIjihfBbZUow5k/tXa8I0vkROIHhINKuz1Lmb3ZltlKh4xbvIJxW7aLXBRqQc7m0HtGrLxSaZmLNgQMykseEZOnQYK0ljKMv7KETYuCmPMuswuKcTT+TQtUqcQjjilEbVY2+6GCc3TsKSGizNHdhLUn9+zq2y2sFISH7Mp7oyMiiKIx4Q1EqLDIUyoPRv8b1EQhcg6ooozSNNfEak4tPEp+Hqqdmc51hvzASENikBFrsDnKQiEAxPsfaTLlQFT9uPY+ZioV8IkRF6E3Vq782f6DO26x/TMng3AqOYOBhmuoAn2eRSuCgsMfO8GKBMpVCmGq6laUV0WgLr3mBnjVukILi/l8SbqcXGr1NUigWkCDTr2dafhaFIqVkXIwsUoR7sxdbidZUUKyq6zCiRFJ4+grMhwMIUeQsUkROAoXnUkd51nNyKrnodzEmdNaotNSFXLZ0yUJUDnlAfRTvkfiiLMbHw4YqgCaKBXMcQo7vahQDBJP446L4/pR2EOBElj1L2nl1NojPnDDws6pyMkhYcOR6lepw1yjNOxdJEQOHaKk0Gl6ojobgM1PFhTouTIfwnMJd2vIMTdCZtxNHeKjUyQtBUfPKY9osY7na/5FzjQF1bMXcyjQUgG1uWbK6Iynu9p9AA/IxMTma+5k0lRnZRvUtiUUupEdR/PaSudhFUytAGRx+ORA4doN5D+utmKn3oByVrxmXufz9f9kUbLsQ8Y/JjFyTDjcisxIcIkgefsXXBVWEMj8Mq50o334nqQkBYJ0AFbZ74dn0Yvlzoq9ttqD8f15c85lS+rSWbyPhVKs31CpnuenpdzjmKK6ricCSH1vA3D/NbjArgMNbVOabA6bDxqQ1cqF9GEL80sXd7IbMU/FD+sNE32wsFh83RPoLns+PKzdIpVoAtV7M/KDi5BiBk+M1Dlo4HZ1m0Gdze7opw7e1jx06PVpCDIcvQl4l5ymwp7qC5PZ3B5HsWu85/7xQx7UaVS/e6pV3lM7z9wTvsgISewdbZFmM7kWhzQI/2r7dF0EJF0UBep7JiHmTHJki2ftbb+iJR1oLebJ+T5ehG8etbJTQvkHjLqKo7kynYFBZxdZx8ltLBYI+tRrUY5pagyLiQzI6Zs/9cM4EKhCtZIjstGZawdMLODSpPfCyZj/8TV1EabbvNu40DnROTj7OgjdI1Z9AOjX+/zdUoCmSG1Wr5eRIEEWEcESdHOKmLGlkS3AmLMK/1/eLKNx7NsnRrETMK5woytiyWvTqcXkbacJoGR0Kyaqc5OMbym7Q+2qRtiMoF1DCH7s+Tfz/Xlh4WtAYyNYbi56zKXJ2qc8BAaP1wXvY7tkqrDWMk0Y6dHdHQE+Q8N9fkjSdfVSp32LhUWjjyZaC/gM7WExuzC2lQvyzork+G/ZM6gbWah1WT4DkIAE/bK7sojsrYpMZPRUqN1hvlWpEIO49/YHuXAtgZkch1bAyiJtTWy79NeyS++KNOZpX9mtrwsUhae4Z95r6VfTlUz+dNqih9EmTCWpEumpGDr+MCiaWqZg4s5z6cBo8oWxtrMfSKAs2Hn+XyNENT+BiAUnh5xKb8GMOYDosSgLP/+es15CXyITcfepsx8jooNp73Pp4sFL8hwWGja+WSBcy43sf8075FM9FsiHW7H+dCrQJcwWpHX8xvzlaEgpw/Ubv6vNZScwcVaEDBUwko+3gvi0OyUr8svyO3YoJOgZoek9h0MZGymeCLNGg7MYsncxkTqTneoBDz0c/SxUIHbXgix09+AOVEYrIGM2lCKhkI5RnMqh+tEcbBbLN+w1IVSrRO8X3EyT2m2ZePxZbhwwJg7hvkL7MiSAcWgEAEBMAJs/DyeCijVWoVANYfJmC1gMKiSeh5mUSgLh4JHVfujR1dWiTDL4QhnJT1/mT9PDUBLNDi5yrAXSvcYADgSXv0LM/xzZpC9pn62LrWOkqyzzfqZRoa3LqU094GONUwQbe2++twa3IsDBK3Sy4oRzsqyVd/Zl9fnX7xVXtU+crFybfal2y89dhgbeqEJWhMrCK5lfUMPuoXHqUBoeKkpvzgFR8hmuYMR4NiABv7n3Xi2ugGldPzbAxSI9eBDcq9MyytiLjtXpEnt3rrfkIyzEPCLWLO1dDmAcdJhYp0YL1M0ZLBWWugcUZPYzBHlrSg5Ra5gL4eC3/MhtTsn+b890gkuTdYNMRaCms9BpoBc1bC0oPiWaCpUCaS7gt2x9rG7AWIvmB7rIj8bxYvqwxRjPgxeASl8ejBY/AEC1mQDchWMndY4BXuCR/M4AlaJh/JqHkygihj54Ht0uTKrR2/pZQ8CBBkStV5XIUZAYFLfYFzcmNGT0Q1YoyziL+ekpvfX65GQSvjk8XhQYpBtvds2MKZS3p4M8taHK60xCMYkgNTcgjW5WXeS5xorMX54dPzM2orhWGMhWeXzhNMI3iQknI/PYyTMZ7fbnB2luRi7bbxftl8yjvd0IZ4YSoItk8E/n563BHkVHByZFHBp5mUK18v1MnFy5qlOPp9fp9Gk9znc4fR6pFYQjoyuITAndy3iFwyxL9l0s1JPYFFTbAVJu18thVSiEg5sFmCVUrEDmePcGj9Ig99agbjl9WHEroJ52TF/sFUatYhPWCHASleF6SisRaOI9dbCNVtbzaUnqjKtv49z2fMHqZumzMHn/LtTEeR9KUTjyrgJynN2fa+93NvTHT3fYzpGuWfF9Z3YtA3KB5WIIMxZSk0Fon6Ix6DnObt44cUtWl/vazTO6/HQrFlgzHibXjtoTgme0R3HvbDFfxJDDajOifURQVzjlh8izVFr58ETAhNEXXwHemSeZr+VwRR3Ar/SV69spjVEAZezzWiIMgRo9liW1hiyVDgA5vAPBI7UeiDIivvuM1oUxd/mDLdqOBmMOc4hBV8UCTGjD3tGEwyONefRcae+g+BXPjhi9D6KGAHRKBYB26knSOkkfcih9lXBnFiMYTyvYeHsMzIitdrZSaMG483Mf3QixMXI/Aawxy6KNjRwoKWsPRyiHLY0YqJYS9tMD2YIwcnpUvW2wojfbxJRSd8rsgREHlcBKNjxbyXzMnfolu4tAh2FRDFviDssgZQk2yBoPQp9+x2uPpy/G6cKg01d8DDQwl3c2XWf88YzW5ZsZQwDAwlz6OXG+ZcOQYsY4TewD2fGAZhPjDEmhoMrWLx8RUITGWUYs8kI3mTL1cD2c0qg5bOQyf32wTh2MdnULjJEz3dWC02U0kittuecUDx7hEqjMUEej9FkX6fJDRL/k4XnbIExKYg/DzauWsXoKE+tcUmmJftVIIB8rWc1nx1+L3leDFkJl2tlhQaL0gUR+Br/WZMOq4IDxODiTNyQZAoeYgvGi+BchI8wTNL4janLjILXEtBEf8UmzBfBJL+K4kE5sIKiPLq1AD1x/AhyYW2ELccEqAAW1MN+ERLdbP5HEqNKH44xlWMSrJY6UzEtFolJuZpTPp0n7T97ynMICsytxBG3T202b3L792x41gk4YufZfHu5fl0vKc6nAjmxYaJFHEvCWrqizXrhTrRnff7MgrH6FcLN0ynuNv9ScX2IQSB7ArRzLDjchnqefi4L9dn9TzakMSMhIakTY4TIyyulf7pJwQtjhDAvoKfsgAzq8JaR1OwxxoHu4qvZKTMpOxJs6fA82+Uzfinz9X5dpu+dswWOFsctphnH6bOlamWQT2Co7VQ5KzgHpLAOAfSPvVAA+vwQNukS19PhgSSciFM4Ix+Yh2Zi7Kfy9cE1tIILmWJ13rP8UFamHMbwp8KMRLNHK3mp8FgEMOPVes5fyntPYqiGOsju3COau3kYV8druueXpfevI3ygElBVZELhdMpAgIWNH+eZBlOVF9L7nIJKzeG2wHBVwF8r/eIMEJNCGKOxOKxOm2EpWT7wOdoya3JkRarkTPVkLSg9P+5A2GoLT6apjwzyq5NFuPP5/dQM5NPdHRrRjF3UTT78QdWYunmmz+67A1KqOGPGchp5liN0jyn6oB9Bxj4OKIYR1UNt1+xS5WShFPIwjcf9MZmfx3Ns8cw9ckQp+fRcHOM+VdPZBEsZOA54jifOIMYpzrFw7LszA+z44LoZRk+xyEJ1hRgyH56zqYTjdvE9KQSY6wKGE9R4j/NAcDHaemAypcuQn9+pNnv/ul6u58v1lpPkhnku7/uDnZm5fp56Pp2ulyea/zxhtdPzeblcL1RjxRZJ9644x9lzkKPpn8/v09fsQc2yZ/9wyqoTfwi4MPqE8LLUCW2EDVIGHyiEi8fSXy02l2ySDWtrPkp+K5iAbRNHRXyDn+U0Noqn+Twc1URQSJDABjFzTTQ5MWZgTjVLNRP4dvwQ6AiR5PaiN0PAVg8FG5cRaWdDdZGz5kuxlVJioWmwMp+mN3b6P3GkxVG5raW3e1IykN0WjoacP9EaY/L5SmL5eTd4Y/4BymGPz/hJAFDbT2CbZpMT9Zm2q1kdLBjWC1SXWzFvJO1RvBf1HY2ZoXrKUccrivLgsFyszCFHSqVeBOk+QrTznPyDfR5tKAZTxYhyD5bjCwfhxcREwZEPRk9v9IknaaaZ1kYJJmrv5mFd6F27sXOmrojoIZVucjS4fyA86ASXzFOfiWAJxPKkPXPCVOnXNxlMaao3qGtecienkpnJi7B3xUFdj/2R3BLkTRJBYxsjP2fDhBV5ciQ0T/ID/mg4up5THp1X6YpXAybuXJC/Xa7v6YDw0MBfH7g6AzdbwRh5obU+5DJL0iI3WNS4IS/usGQ+opYyF+3+jTJEZsIGMAZXkkWkGiWRABh+QkFMNvT1hWOSxSohTkoEu0IdlggR0r9wFIrTsMBuRsvA0HdOPwzviCulH5YJLw7/R4lUL8/fmL541S1/AIytqiUzESJ7YA0X5NGSEMUTo4vBhhViOQ+DcwZHU9YRvyxvTswZaKJNMtpVOhidJ8QWNfekxY8MDvsK9NkxiuyFSNF9MRvTrmJC2/zP/7seE1YdbZZiMmcWL95knFoEa8yO+NHBD3ZspSpj9jOCN0Kr4g1Q2NQOWUIuX+n8IVvMEbXMakhAVZJWC3oqEkJCIvos/7k3fQ0r1iQMWLxwD1WXy1mz0bTRIgSJa8JZREdpLQqjaJFjn6uYg/rek3+xf9IDn/JkTBTAQseMa5fPFXh/V5XOW2XZQy+60M6rq/CaemNTBNvQJSVPR5M6m5vwGJEUZi2zweigA45wmPZyumpws89eDhfRj59OJMykzPjwzAY5CwFtxRmrZY3X+DyRZEe4gcDW14RaSWZgtvLWisTHUNLGnad0Kz56SyEJhx5uru+mX4sH7VLfUmQEFpBknPnQul0op4MUQmXviyhmKYxxoXUGYGEyNO2QZ9uaAzugfOv3CZ1Y75ALVKbKl/4AFEBH7cKU06aVIA4gCn7YIds8EC0TDMBHHsI05WB6QYcBCENRf7qwEwJC2CzRSJzspd9lrazLNIes5Oy03ZPMyDXGiAjAtoqIgOYKOmK3fEHlZrYBm4gzKFwsI+Osm7cZjrysziFkX+iF1FR7ql1AJCowZPfyVnRtbHmjVxIGb6Wv5ZOaU0y3rqj0C/MQYK1UZYrUORK/c6iGRz7zXZq24/MRepA+aOujdrj+ua50FDlEK8CoHfEwc8N4NFV7MxQvLWOjrS3sq4XKwBAOeVuVHOiG//zhdQq1gsItULIlZBmtZFFc8v9JTWR2zkT6pr4r7SEqpOvKpm45j48rSWUCHun8MT5q9tDOhfFyk8GNrxS9CrmeD6qYAbzXZHSn9vk5EebHlEPDtgDNM1+O78tP6HZPp6v5fCylBNnzSx5MNJY2NcoH1MNnxlEPDEpA6mlShTTKNM2vAI1EfyLR8lV6EJ3Pp5un3wztpzw6jcfSl2rAB18U4/Z6Pl/Pl9tt1L1x8OvsFU/saBb8kuLm6zmw8fVOwnjOVUL2Im7jkl9m4xJq9yvbiL/O04dvwi7XfDetsSjIJ0zOYXvTvyiijjuaIfPkcixiiutdFsEblM+bO3CTwbrOOC3VEnCtclFTU5tsurB8GjNGMHMzMyKVN/OYR6YHQQSTaAUcS5CUx1bXAHJGcxiS4+9PURY2QBfXVYZMwCHYBXrmOyKh1V0UsuZbgSq2s2LXnzxmI8I0JuTxhrSCPXAj+ghLqVIP5g5hPGI4lvRYfLUNdlJWnC46MNFaZauMqh53j8CaGSjfDwnhKbW6qrHQSin3bWuSwy5Y6Hf2kHd+24KdHXDfUz2lLoIaCbiTgt+hZIycv/2hzY43e3aj94Q5D/CMjBvUKIujZ2XW3AcMSAWgn8aogUeWau1MZ4cYpSypJVHWTVQPOK2EQgyUUVQq3Vn3o/WHUtfV5PgWVGQVEozLO1L1mTiUXlZ/tvKc+VoBVLlsgonYTRxX3VGoqNXH9YeKpOmpwd/VNceat1TE6gQjLA448Nnlw1v5stGBzfhVaP1D3ymjxfSCILx6zkGw63gj2uWnDmIeyeGguZj5YjOEaGN1jLHFJjUPJSrskQF1409bUi8dYG22lrgaCG/sU8gC6Gf6sbJpihQbxshUtK1y45Z7Oao22LaU1wg3QVhRyjgVrWt2s8YCL2TXymXgviu57HNExnpsAU8+NHgd3CSlMTfPRglxXhiknOTCbh2CvaeUQDMus1J0IjHeBU9RUAFPgD9Y0Ixjww+FD8uBJuWbx8yT50TT9LFMRxocHvc4pW8NLIYNG7/IZneRr1nVKLSsWXj6jAIgd93Iltv6801yX1C6CKKr9/WYUh0O4MqscWJnKxe7H+dprZCMSTRLNeGE7uA2R59G34hNLHscIfcJxKmKnQSwBC4yR/ZlhTtpossOgYRMOJw7ISssV/1twCsnvOcQPDthero6b9Qvykpn60XYubif/qXpS05o3GXcP4YQyERWF63pTrxweL1cCmWRIXOTQaLr5TKNncVxQh6a1PxPnMsBmGGoaOiwUDSWTgG8cb1cARg3FYAERVIrhUyFIavWo36dxtjK6zQDPwewQPV6jR07O3MqbS5sindARELpTDC3Iflf5K3pQCf2BFrtoRX/kF6Oa2sdNjx/5V+QN955ty27axFW58xDHs/6OlOwFRQLTZDU/VnwGasaf2/tBxeo56maWUtPTnRYzOiMkG5D/emHBFmO7cGzIh+bFddA5V4MeqZtnoARlx5VXZlgyFgEzEe1GxCnMNonGUvWPgw83/JLXmbgnIBCGnqRjTFgAs6pIrFow3hZ7u5elwThVqwIuYJyiBwsRGFE2iaph7dMVV9cs8ElkdWzOtJlwd9ZYmp3dwPkVYFnwNWmBls0rKNJQc8YqhsYzmPCWyRF7F6TO7ttzy2IbtwPldotpi1JIkKkqxjLbjdqszc4HHGv+ERaXBQ1hTAKtVlVRCCi9JeMMKm9uLtLmJdgSLCAQKluAknIcV+pRk6yO4XNo+fm5J4hBLnVeJhxrJOZTakypcw56yh7udK4Krucmi9+PV+P+2Mc3fsDmH48nrOreZZkDP3n8/X98/Okj3P83sfzdeeV44qPkOL0PvCQFanRBawo3vrkkZX3DDgrmSmDtRTinifalDBajUs2bMhVbMe6fjrAQT1i3/k8XmgwBjvhfD7fSMaGha638VjPl+s1yeHbZVzWW+qUx7P9sb46bvL1dDpdz+SbtaWngJrIzR2ofLx//ZpCkqlKmJGy0Sg54xzcdp5GfY9ovlgseTzGCQTKWxo2jmSgWCjLymUk5pkYBCy+UM0LPuQHF5TIYCQr/HWEbmavEMLFeXFsMtzby97aRClwi21dDZPBEOJECsC01D97K382753BGI9dAQkkqYNEgGNiTg5bKMo4LQAo+jLppVWygOyrUcAb6iXOvgidklrFV2DlYDmDVr4XDYD/i9swCcqc+YyLC3mmQ6yFP0DuFjR94HvABcVPamIRUnMqf48ZJh16m9eBdrNG0ZtqGy4tw2DbHHV0NLWQ2iUR5EVTTBELPrmzjka1CGXuiA0+Z51QhKVTqkXkmAgjB2fds+G82cbP1v2cr0aPIiYblyA41ryu4SD0AmybobpFJa+AM0nklrR8jrY4tsqbjtEsg0UhjdE3GoyL6lyKh5jFpit3Aw2WAwSDPKxbVkm4MWunoPEqdpRtPUKSgRwiF0MubyPiSV8xDF82qgiHQEGex5sJwsHw2P9IEIue+SmV8k2Wa7nsQ5ENXM+7Uvpy/jo99F+4SitCtdYK0/nEABFvJ3Rpoub0/rqkpVxiZ+aRlUSfY8hpDLloRDqbmHhBI0jB9I/WhcrHzqceaWgyxtjmfj2jTR8hR9lNuS4xJoCxfBBWt1I4f1TqtZfCfTJfF5kpNJbR1FQ5bX+vF1FYmYQWml0JZcxZPtI/Xu2ah6weDJSySix1QvPW96WunoIamkfdx8kdYl7ZlCfRE10IvTAvKv76D8k5JOXIHmWwW6SJDcK+KW0Zur3nyffHQ3ul+H6gdrsxYwLNPZdog1SPTD1nRAVGzNvB6BHFySmZY2FwNrWwWjlr9Ho+RmIR2hJa5iCOOCcBDELDa8Tx9EjYmjiDlTVtw5AQPu/Kr7C8OIKU0tms5jTqALew6QETTKfn+3l64/36KBkEB5IFt/BG8b63i53IWEiauvL20IjuKqC3DgFDB1KTJy92xWiY3c8sLyan6tnjjtKjFeiUO6TNGD0E7+HUDLgOKkUzLPeEP3T+mVpDGPlyGF8vDw5xxTLL+KJ6PCvbYbxEFbJDD27zpjoDSnGhf4yAlxp30DZ3JOcxpWa0hdcVyWqgsNxLHBaehADWimzZJYeslCMoOyku5fwAMbg84khzqBRWeiTIg4V2p0do3Df0Rfm7i68iI44LWn/wbZ4TA2utlO02ATdVxPOH8jrfc5BRFAgMUgmdtzH9eO+EUdmPYbMYQrZzS0OKR+LVamT+od5wddy4xKxQTZE4pKKIZDD0Y6FlYh4DhcGrxWOrm/wFZlc37ML5SwdDIKxNSOcP9oV+LMnHBqQPjWtyoDago8/aN4+EiQNjgkXDGJiStuAnrVTnFkY8lELIgyndlQvsu8Au9C4uk1KxfzqiUFpLtaIbwsI++XD1VvQoz6yCgGKEZg8OVbUST1R+0Ue80kfKHOTQ0rTM2KIMCRt0L261fFVaF64ISdEER3aBtNarEmlF4pO6xh0eB9eOffFG59jC7OM4PZ/vx3ioVockM/x4Pu4T1aVwOYHR8XpjGD7yhPt9dvq+3l/3bPIdhzblsD/3+2N+8hgywPfnIwZlwkNf3L7l0NjylBIpxS5wKAyv6g8TOpF7Ma+zOefrdJr9n/DA3I64hK6TB7BIq+BGIywrCg5Qi685N13P59vtegW3p83V5Tq+8uV2vfyej0+/r5db2t0QXj9/TQfMX7dfKUV7JhY7j7+eT/d0ycIBf73e18ktn+6nR0xAAs0znuv1msTv6ZUNZaiHr9fz6/w6TUAmreAyr9l8HOYhlAMayLofPMwcC1oKXaY57J/jZK0PV17kfJFc2sNlXGFpwDs5FVB3BjqrRlduX0KQaBQr7jf+uUKPR7RuTGFDu/x4eRaLIl45P9iB02PFzYfwVp1nZGECzDN0ihfWSG9Qid4NyRzYggpTBJcGBBQzlPN5mq28F+sm7TmRoAQrYkJoi/Eudt/5QyhBG3+hW33NUrWqaHFDEGTvRlE2n3RlAXDXlj8t1+C87uwPWuJT6cbhx0qaWX3oXKJWEOGrrRPA+FfH5WbiwcPcUTmfw/iLnbwHPzIjDwOTeimNU+VkmH6r7OiHElpFNNCVO+OMkJY6QRKZKgrRa6SxEfaqS+crSfEsMp/w2aGqNBeBlw/UX3eobCOxZOChM6tWQ4WGBbivwNj8if9s8V31ymwuOFKLJAPyItMnMntJiq6nEdV2qQDz8Na0FTrfde0+ZI7Lj+Xn2T48+2JMwHb+meRhXA2fExre2igiCOn8l411ABvUFNitr7d0qwiPcni28Se+dBlLzltZVrd2trje9CeaXkXb1bhujfTZCQdPxrE66gTGyrOmIBQbR2PZOoJiPj8FjFRLufK4qb6vfqXox36pBolgjKo86BX6ucrzcbqW4ZL0kfrhh1CNJ4VnKira2NbdxPTDA9emW6Mrn0gJZEsmv3GC/hDYiwXV3NwhT1XAlGQwT8Z2vV4tLRNyhxs4f9zAQBK81CenYAS5mNp6X9ywmTwOQSLybsuAvXMrPjPoWDdgvk85X1eMzylLCkM16TZtuUKNnqcUmzUlbAJx9qcZHzVki8+UolMaYLSAJoF0212xRmM/joOak/eAG4oJ389ndiFu+3VHmk5paU+fFTxAE/iquoDaksA/sdmj9tAQ0+lqtnLFoFgbGasdGGA9Ff+QT0+VnEzxkZdiYaT6MreRDM/wNnbQJ5EkPBo8NMIasON2a23yParRvFuNZAEotJQTWVssHrrTkcD3cOncm5w6RntiWrm8zIPwrwmCe4D8UUBcUhvGm5E0Q6WbxxaUwy+Zo4XX6gL7xFxtncNr8tVJVSRX8PVMDokOK7p6hTnqC6CRR9VZTJ4dFywM+58jyKEk/8BWis5G8bBOlVMFGEoSEvFEWUyA0Hg24rK4qHsycOy3pDUxQON4RDh7LB6smtKRjKYQV82wOZZ9Zbm6tXyxXbJpJO+epxHKTVR077M3qn5aZDPq55KNA+QQkB7rt/GmxASAxbsMKZMIhvkZaiai4DC1rzkKFd2INSM9RdBMqPt2JEQYjFhubuigsIE0JrwcYuiN17LGYA0QUcoKVTNEntVfJEeeSNRaJBHXuRBUs57TLRZlbznQ3bacuFj+wao11SjW1QpRATJIkLkDRB1qsfZKJXH+er22I4XZ9W7NB0b4Sdvk+K9N+k1TxseDSPb4qiCZuuM9Xus9m3XjgYIAU8CcDvaPZypDXl8/3/fXc2qSsWMej+f9cX99zZNxgB+v8XhxXJ/j675+fiYT/Hx9fSe9e58Ls5t3fn/GPU6sOlAJvmXcqdUCxjNNLMlQibyrCxlEUFWNsxZ2oARyl70NiKCcKjj6pvH58OQj7jOWQQUku16/PPZcozevZZ/Tr9vtdiX8PHtAzpMKzvbgy/l2vd4u51+zU/j0+3qdatOEFH/d5t1T43w+XU/n6zVVSXGAb9crBvrl8fiVFhLz+fn8uExI5+v0us7pSpZiGxu9JKU5wPNKcRfaWf9hbOs5yQHDLYCnAZDvkv9c2YxFZ7cCJvt4UBtvAfYegJdYZGGEDbFaVLijhzyLZ+AWsF2DCA2dHbBmz7a/CRZo4kmKCUqEu3ON8et5eu346FxeW0zaH+UcbgBAZCvcXVAS5AJvI4O9ycBcqpsM+fIsFbnCqI7seLAHghOWa+U+jsOsBkzRNaVtEXDAs+Pp+AWt6LgUA4hKEES3TIdn2DWneSAyGxdTY2ZWVFHy0hiFYlcAVcDPLUoRUbkDuZeuESUH1wk6VNaFrXP5tunN7H6nOSiDJ/gYgzM0iSkMN2DdMfC8KHHzcJ2m1HzrHAmThjK+XQ3BUEfEaqYt1voQ61rDG2gwHUtBWMcBgpBlNG6LaYo/Q9pBFQtPykT2vqLbfNVMS3FqbeqCo1bcxz7CXY3ikkiTD24tF7BAinB3YGlpxC7IJ39JBwteBZR/l1sWRPhcrGAuvtQh1Zqi2NCLa1hVU/OUlNXgFubx7AVs2ikvrJUW6UwZ0F+z5zyK2HBTI4PGTM5sWQIrESSwziXmIITP2HJY3fgvBkE160ofBHZtXS0H4iazTfcJydJfYAZDo5l1VQJwoeEaqNA+4Wfr2AsUB1xp34GYnxU9sCpGr7QnNos3gy6PIWGQTmOAUFDops3IMvTJo+/v0zDP9cGc+DrNFvO2OhDlWdodM0RfCEBsYP04G8Si8K0pPeU5MSwSJsl0yAmIR2DnloYDcchq1F0OOkqsAjVX6WJK0y2rcs1ZTyQSsV3S/rSsDXmzIhlWuT+Typ+JxrB3gjYY4Kk+vShGe1V/LKhAGKJHDdV0dYnhHSj/oYqOyog8xblGB0xj7ixemCnToxohv6YIvtYhJi+5HECrPHe0WpyCZjFieS98wmbmWk/zw/Z0eVfqdHdE8qXntObO+BU641LhTIrpkh8+FEVEF+sExmylWf45/VEo7MFzi1eTB7vxNVbE7n5khqTgytm5lrnrhbJb1Z3EKH2dNcjt3OBcelAxHB/YuthNqOdqXCAB28sDjRzpUKMdlcaqqe9qbUBUIkxwg6LPgTcDKD3APR28bJnGFps8Hp0HTPMhAzu4S1ZpMQI7+YkgpKfCRNlc4vXEbLXC7R3lvmMXen+PZAoRCioR6ErEgXIZFbV/2YeIE0KkqUOWN5g4b+hLNSP8RcJb/yYFDZHmS4mC5KiUF+dYBgD6gF3rDuYbBxRWRmLm6sbO3AXA5elYy8MUFUPzDsq7qqxBwoQDRp43aM+s9HJb38wBFrHPpBDBKQ0XlqHPXQiqKssFzWZ/WAtZa1jP0l9GbxKqJEeiD/09Y576mgYWuKz5oq6a0oK+gO/dG8ncq0WkUceujDUwz3Py71TQJVeXHVaWisDSYFnTlEgk9cnhra2+SbnyOLL4MV2F+WZyrNmMe7+TfJ0axfioU738pDg5h9C9vu5Ts0w0/vR8+1U85OfPpI5f9/vz/njcp/Pz+/v++Hk8/3z/TCcsHeDXbAomkhfTnFJqGHCnvyEfbDfow2CXjRTPSm+4AXIlElRQUkC9dD5MFlmmWN8gl/FojTpDWe3tZ++uRgxStJORvU+PR5Ti+316zCfnn4kypNr5fLtcrufT79v11/n6e3493SZJPLnf09edC8YNTjOsX7fr9Zry12kFfX683pyrdBuPd5ppvb9e14unP8y25OlVcr7e3qdpIxjVkM5Ysa7SH2QYNxuv8p+hPsaPyTGu0tGcWJtJqMIyjzdVWcwurIHNGAWul+LmbjoFsIYjqFVwpop1A1WM42D17kirtKqkXLm5GI9VQbM9krLZHRmqWWYBAAAGFZbDj+OaaDyNb5UQHQ9qIvl8jLf2cePRBB17FkMeaiCNIkytPqU1sEl0G8FEanNitpBwSZNLMZycgEIQgpBznHIGE5FZRI1+PQmXSprNNdb/OXnlBacx54etCldeoMyhR6iD4B84B6xGqYAmQFRVnTRucyDFN398EeyJ7GIzHF99BAU68irTxF3bTFHPOjLsehkHdzkoF9FeCsNZUCJtPn4sgmczbX5JrbU+hyhkDkzbGc0LFSSjchQsVkZYB4Sv+VugLEGsCsD+Qf0dhMhODp4vE0P1ITK7B/ODBzaXnU+zyWReZRrAFVkVtaTP9c6rapgbMoyu3MePr09pTIXbQUHujEpqbLSr6wPzpboh80ZverqKP1AgGjJJUIgD5xdFFJVnelicpix2nmuBZ+6X1RpWoDdEkYAHeglQhwywFFlHPFs4DWLVyJy9u6N8ZZJM6Bi5Y6edyVF1C0PibcqEH7K4Q4NzFH/VD9FzSCTb22gm1ZokWjBdSmv/pmRypa5mJSsX+jcsJQ+m57H1HV9fV/yILDd7XAVSkGDvp/yUzcbNnk2kCb+hORp34+Y3ab8Hl13SSz1YFzvpI5HCiR3znGwVzkLEevFkWmdmHzC1sJZ7g2rsGYveBn/j2DWu9s6JE4l27/pXKmSo+PngLImOmpek42j2h1VXNshz4rGk/XV4Bd9yM9OoHFxoznh0IagZzMq1LzSmXQqEUHvt/9YVKj3Zy+64NW+1b1pOQps11QPbsOF4lHvhVMSpAlg/HzVazEoWKJYPHEySFBOOHU2AE7Fec79lCZFrVvNYOBG9uEjYVeshs28P7RoVx4DzivS1YcNKlt2xEg9rLjqM0dLSWsjh1ZQehOPdAEPVQepVGqkr58M/Nad0/SfB0QAB7OqWHHmjMJExQH+TD2Y15UJKrZp1kYB04MyiCO5wrNRD+oMQIKxOAAecpPKMr2PN9uG5ORLTZam5QGZjtUJzKrAvW9M+Vv58nuQReScyTVDl0JSsPaIdAVlAl81YLGCvlMoPWpfruF48S1+ZZVaIc0wj3ETLwA/EV3dtNNd3aIhojqzPiEpJye6iH5qAMcXUCUtwhDi+1Y6cXfc9NZGli+Cnx+3uukEP2ZbjsI2cIvZG1RhBPbg4BNlZ5PnoLaAv46xdCIK1ySSMVxnR+uxSy6D8N4hBRQacRjkvZdmdJXNxhaIrMwQiKu6VSKNErCVUpKfiwf99ksNCsOJFnEfHUOK17WSyvsgX9w3xE+eZw3hziC6DH5V2Gc02r6TTgcZCKgI48WD27j5z1/M5NcjjKE/O9vm8f09P5zRnfqcgefK3j/SCnrro2cLzuk989fl9v//cJ/V7v4/3+3y97nnI93zyvAed77mFJtEzTyLl2m1hJ2IhrUCp4b/cCqtERUotVqx2D0aZMjQJpK2wQ8wVtIghwM5XYTZ1tcdsphRrXYN03Y8csu9yV+H99f14GtYNmoJ0/DOVzxPEm0rp8/V2vvy6Xn9PI6zJQ10vp/l8Sqan0PQ26d/L+MDJ8I5LfH/csp34MduF52XX2/WdvlnTqjPNob8ep8f9ORVMgbfLNYczcYTD+QEDjVqMhz1DCWgBp8/Z5JRdTkqN1CDNi+M0Fdtfk3BzmaAwTOr10Bw3LOiRkmGM+yakKya7ZgtyPoVGBvNTD5kykHlRz2VQw6B3eD4vJxx1iGwWkoXnCQp0WeEYkA5J1EJ6dvpN5Cj9INV9oaI7FzQrmbXQTZCLCfC+htRhWvfCtCiJQnCeS5vJkLh4EfsNRg3j18vNF42en9M1vsUa8cOyPSfwZX+QNv6JXiFhXjs/8DjTzf4qK982ymyHHIOHmRjoVv3iX13N4+NK3NapEUCq6SICyQ7gsFxVKpe2mH09t9wrMzw3YY4UsND0NjccgFt5hD3pEeDiYyd42nLuypM1AmNzCr8Lrpjx6nUtl8wwYGQtOm80byHR3CRlHI28AiORh2n0HsSYl7c2G/UBvYdPiM92awzD4s8Ndn9UdhOz7hJUS1LAp15isYpuwiXW+Wn2uzYiXIplHal78PAkaSskcKHUCM0P0wLkzYJm/0sCsFAwtgOl3dCEQtE8nCLSZTyykgI3byAKU36yD/42OsGNoxFyhGKieE43g1oHqhshM1HxXhsJu9+6EgiJo4UoRKU0xzGj6NEamLHpczGp0MMwW4RsfrjivqQGMhrKi3t/iAwytnTlx3au6dO4n8pp8MaKF/LLNMkaZ8cv/9v5z+Bnp018IrLkQO1HazU2SGDGOtS8L4UBLmaM77baJ2Sie53fYsYNy80hSemlYfAAq1OaZOmNuaJ6xCY4iROYxH6sBX5yCgs5lQkJZZc0ggav7VmRwhcypwCXm4Ov49RMg/K8oYSI+uTgxC1fhDPUBAKN68SySjQIg/VMtrNipKsg9RIUqFOU5+CrFVepaphX5L7Xk/aY5kIwmFS+raE3Wodh5cSzJzmjk+87n4iCbraVA45DUq9TGrDeYtGQjvM2Tjn9IH3PDIxxeXRYhIOemQWyNnzOoDnhJgPgZZV/jRXtQ4CksQBA1ujAJ9JRc0URSIaWH6LmU5LR8F+lkeXOMrJXkFoGmQVzAo0DWBvYENz7iMV39nOwFP3OVWY1s/QRzFgfLA7vjaS0tyCx5VwzE8j2aEK6zB3/20htnn0cr2WBgIjT2F4MhaixQgEkZ0NtZ2w8mB6zwIiwgErBCNuUtbHVD+/OertkYwYn5JSm8tBc4jb/ZI3LMwziQ+ekxCOep3ywNh4yKqOloiQUcCsg6jgMtssdOtQRRMOwbiCOZ3iqixaAWyTmoMAmvBotMk03pB+UxRRTUEaFK8Aby6IobCPlvI7xz/mdLIELCnUlYb0p8wZWMBPk6koqrjUDUWgp8gf73M+zvQMydxxpDohJxJpjjAFQfqCOc/fQUUIGvrVrbal1Z0eoaGcAJferCR9EfdNXAsSTmh5CJvK4huP5phVVJIiYqfg21ck0cpu6ZYRtsrr0Yc5OW1LE4wxPFnfStT/3+WZc39frZ/o2v78f06fq5/78/rk/318/09/vfX8+fh6P75/7T3K/P/fsCE5udzzexBbHAErsNdaE4e2YOpRdlLk2WyW7rtZoKyCBaOZbbSV0oWn4n4quOaoV62rSNITXphUmpbgiu7ikY8VdKCgcE9gio8m6B1kTyVX13JMFyNevy+l5ngbPUxE9ZzJdzr9zlPA4wFMCHQd4PrxOGjgO8Fw8e4kvv6Zaes4ZfjzGjOMc+KmfTvBpLk+z6XGPs2/z9HW/3a6vMWMGIqbV/P0xR2ZcxzVGmKJ0LnNAwunC9ivw0h00zFaaxFhHC4la+QYBagOYJrMAol4HZXR9s1SLQvy74BYYizIUk2PUmQC0k3DXmoettRSDhAeo2gN3ABmBSn8vouR2QsluKWILT5YSV1yUZHKVSvlrjft8kxzq4fHJyyhUOwvAmlrfscpMkKGOAPtp+ZNztgdbor5AQoAOwxFIAQpqeHZKHxgqDw9TaCWbTWWEjL/Ltyuo+GgYaaFl2LzK/7wcMdAuksJDdpAqyl0bY+1h51Bx0xPAjaCOCbM51OF8R4cll8yvrS2CnHrMHlljMQ5KoiaJM1DVYot2CD3gE7I4hzxcPczHLO/H9blDpAKIcms4aSYVCB7rlA1o2D950abkFAm+bWRZySh9HclaVCgUBVjKo5EPW3Sfanls1VCeJp98eKeuN+wktKHBOtCabMqW0eS1qVSRXIBK7i0ZahOlUH2TGtgadNjitTGRpApjKilknzffZnL0xwJhEkuqN9s/Z0e10oQk0+vErQdOGX47emwrHl1T7TZljClM76RtvZSKVMP/YcbQxOkiO+vLi8wqd9YqQFHaYgjBUDG6sw6uCBYpvRKkK6b33NJ6jKAowrS4ikR/QhOMwBissk34fBy9Sus0oZDHJ5CrEkWn3ucMegYaLMPYKqwnUTZ2oWXqrGWPDBlVFJPxnIYicNKRy90MSzcW0tNyTvwKJUZPxtfnwGJZurDmumb8+eY8fTTjRpjHiwtpw8M2ROGNGCiBQlLQqK2SNZRN/4KJvs3Kx/hbrCDWvtvBeUVINxnsGt9DC46OFLywmbUsWmnJgqXTJ/tOjY4ROU0P7UtODYQgibkbMNiY1oc3N9FBLGGCrh4dHT5TXJVheKOAR7yN9K5OXeQRo6fwcWiGbsAR0LmSUKRakJOZek3pWnZUD3NKU17GCXiHLUHWqD1eKq25fyM1jN0cV6ZG/y2afNGiYLdcMik9/+JdsnARwdgtMbXdFRaR8TK+pza+08wAMn2ahUBJgmvJP/QAzDZMYc2UTv6IUEElMgAZ1zgbjORyms4qms65OxVLVlEeD8Nog2geK5WwEUJb1RtgrNUFWGDIwL3yhvSHy5j1p9xFqK2go3w3nfrxkFeZasIcRnyXHjz2CUAXGsXlKYcoKhljpZI/ktvOyYnmCdHBcwpfYCszwGAowPHgKluePCLa7dNaIfP3liHRjyFD9sOAGsq7J+Y5JMkbsR1wmFY6BjXQ9xUAP+HPRLsZMlwtwmC5DS2nsAYEWg1tjbQLxh9lZv1h1osAcMm2dl/VIaJD/VtJACdlIKRuzqfT7JeRFXiJV+UvbVk0aJjwUK6YdMnB1c3Lj/vixJkDDzGUs3QehMM2+/Nsqx6ncmMj29WPqKgNQzKqSTsHoGefz2RugzOzOXiyvrMreNK3T6L+d7zW6XQVP/j5+r7PV3Fox/X9Ti73+/7458/Pn/v9/nzeH6+feL+P12vaWeFRRLpxLTTOKN0G5YvO5W7JlRXFBJA2oBj6KNketK2KiQXlYajmLO5fT/AnSgkEWwE5vlVpJLLSG9s9ABKrCLkwcSwUrcFo0kl8ErfqUCwepB1b5muy4u/vZ8I34wP/XFP2fLuep3H0JIRPv+6TKL5dLr8u4/1eTuMS/76cc5nX5Hyk8+wFPg/MjkJMCfT1+czJSR60/nU+T2/Gy2w7TNHsGEZsbnk9R1pnb9Hp+o5SPnEezthDG24IIUnMIkcIWfbvTQNSG65o5gGIzJsP/loDIEt3BWHL/7C3ASrCbK7SfI45ceAA8W69hvkhQtrW3dn8JghgFh8LjIoi/OTwYo+Zs8ecQNm4tx9YSV0YTc/yzxkz1fA6/wmwylEV+SPUSFGVgJyMCCeJDPE4nKFNVThUOSBs3XpWqo1eeTmv3RKJ0zSxjl6TJPOkrakBMiVBqUdQzF2l7LYsp9LwymjIdLLvY9DSrAoe2cqgQ0JNgNhZLGUTY1x1EG+ERS9N8qz0EXIG2o2KnH4ddF7ZjDUNB0TAKN0oelZxb29UlHlWNpWY5hv58lOxhvGwM6YTKhq51o1Jdlk1jIDh8HkcQg1iygqADjV/noaZrYHXDhpMtgOAbWB4RsUUEif1JUSuyTooKdwW21RJ3HWt8bafhAKqt9WsWSB77hoNg+9c1lhQjgG7vS0nklzLrq7qvZUG1etRe0TS4jDe0r9qzkbPETbZia4ElSbZdB9X/ujXWAfefxrr3MCM8Q5OTGgESB6G7Fnk7OxAxtdxgGdgoOxJdkGPRVIEd7O6XnJOipG800vCs5oQ//Z1R/FHKHMiOBUf8MNIh4yrlpxdDjw8XiZHqyBisCL5nnEIcR4mnesQzA00kdyR1TP9kImv07RQHI6K3QtjzBezEwOxh62nE8bKHHPLuAvQLLZN/D1ZJ/9QsC2WFlEQ9ZqhVb08u9L4yclUMCf5oAlQJ6caPdaP5pMwECB0BKkY95+smtPY+ucVtmwozdiAWgZ1MEDapuXAtCZyAlWNRZZZRDLMsexAzcjFkCmM5KEkUnA9CgJEX0L6aWfdIEmlc+Fsrkggwe3glWSA/7hu/jZPJnYjOzXK3b++M+zaH+QrhAhHqBqjy2m3gNCi4LGo079M5muyOp8fbzFisQQj5kVnBYjeyPLa9F0HXTtVuJ+7NyOL7ycZWey0ZIkrvZoeHwKX4mc4uW0kEE2K3ttbMP8j98Xy0aQh82XNcqebxpkA68b9BLpYq7+kFZKGq3WlKOiCMKF8ImDW97CBMIXvUa1ByYo77AS7bchN/p8PiWChQzgWJxJEO4TqZtFsyU6rxvW7SsDcG3uTM1B5F/PvYiHbjQgqGartCHlGX4qxKjp2NcemvBUBg8ONzUcJLiYBTzVVO+P5K3iaWebLPMEmrYlto7OnjazhM55ATmS7I2K0kiMNjel/m8Ye6to1f1nd6SEEJea7aCPbKjRCX/AMk2enA8kZfIwyLZEHsUW0KqVSB4fj2totpsqZQJW7XO1RK12GvDtbAGPmasvWTCwDhyXCICrhSqF8kh8bHKRwAx/D1CD61RshJjdqYEnezmn+JB+CPxicEo1ipUDXSxzp5f4IL5RCjscHznEjaTbx+pq8LY2a/f+ewPu4P+50Gnk8B01f76+fFDHHv52dvd8/j+/8+ef++H48//15/Pv9/T3J3ml5NTfmzWjoLE4K2+BLxCBkzvxcGkU/TK+jDAEod7TAaiZG6zjYC8wAkCm5r7wI63CF7Fbxkze7VO0UI0ejLTJ2eVO6s+7rSn3gJb4AOMZEqrpjupQxnf2KYVQe4frJD0+k4Xl9Pmaf74jS8E2aZl1+326T+51jhk0Czy7i6+U2HaSv03c6LnA2CIfbHtMuYZY35ybertev92v2E79f5ynQnnHES5zIOi028wRPyHvOIR+JkJ5T/PyxUxHfA7Q6rG2+Cq+tNS89WcUFUlEUKZMMvXQXbz+OzB62dbBMT4X4ewqCTM5QqZ61pGkKEJrxIqfTIKerkl9kPd+VoRKhq9nAcBjT4XFVLMHPug5lMFz4BUiqiXUeteo+7D2JIxlRyBZtWiXFJtXctQPIYIIHBVgC04LtXIlJC5xQEoX8aFhPvGNC8Hbf6QKgdBBPClimdFCDs3w9EwpHw9qVDemEJsw/UmWKQqNYIqyHtQGWKscpa8d+PfzpkBQAydBXueWQotjuRBZa2aQGxkIj4+RA8RNgigwGrR2yyaHsixfDc6P7oiC4VGXj1Af/5Duz+o3Ud2WNEbBgpCu4hsFktLKopNhcLI+mlC/toB0ADOYjRSRMqMTKU0Qo3LE22h3EUerDdxGldA0R2zp+Pn9H/5e9IWLnnJwemdtlgmd9iIPWfOTXxQvNAxRDZHNCOLOfgzPYzMllxUfSxRXGD2/swxhaQiNQBeIfnoIlutA2DoL7SdGWH4WGCeL0sTQKPUiF8u2SzYpSWojcs1snNns2GhPXLlPp/CMMieVlsFILVVGfBLRUZjBLlDhC3lHhFjrOA2zaHAuWAxpnrSdMkOwTfbA+8IOoByynYGaVTQTEsAvyxisab+gqBpm8Vn7c8A5VcwG9ywAgBgfrVKhm4BhnGEH4ijMX/HoEe/VNCZET/9bsNA/DmCcY0wMeXaxSHANVO7Hj56ljMGVUEek8dUIM8qonkSwYkaSpEwgHHH7y8qXBAcOceSMvRLYVIUaSoNi8lV3vOcPqsCmYp7+Ypi5/V/SBR4Y1HJfqOrk2UoMDQ3MjJMMTIEdidysrODNkp8M2YfsUSc72uWoRNeJ61AtkZZVlV7EAArqa9nVw5LIGTEAxZwayvSX2UZDO7Fo3CNWrzc8lbpanMqCnDk++5gUKpAwQ89h9VIEIeWMZpHoDfmIgUIG42vxugjrArZlhn3rm79rlYfaXGiJPwtngXC1CWaV8y/0RtAaAcyWbox1LyeMs0x/VcH6Mn2bX3aBFsJkJdlhzWbPZkmWfR9oc0xB3bq+Z31CLooTWUicboo5pmwRfH8UbGXcvzeVdeuYYBNthZEguXUqy3T3hYzw/OXir5R50anGHpysHFLkDfoIRKc6pOa6dkRXpu11oIgLyRhoupVUso/PEr1YKMHD1BFnNQuWhRoiBCCv0Myv98v4GrQUjvJqjLib+baCpNXK88djMnz69WMKcDEmJrDg4b6kVGAKHqFDqI/T3adu6QHBjyxbCDCTbczJtzjXg+Ui5cRMe2A6m2oa8BscUHkBDs56rBelkwyZM0zqhieIynz3BcYgeyUpCN/t3a3F4dm+6U6Vq+/GePojT5vmZiuSvKXKe43nHSc4JvpO/nZTuVA2d/vz5+TPnE83+3vvj+c+f7z8/9/kzTa2+n88fzkqyMR8ZTXTcigZQubF8plcbs5AIUaxC7xxrUx5Fm5yZoSsD6+bBci7oAAf7yV/YHKMvHyNqet/5YF047rJhoSyLsaN2WpHJ/QsAXn3EpCoDwkuxLj4Gcmh8cj49T848L73nmL3L7Lo9Xb+/f12u4wn/mj/zy+3X1EifbpfL7dfl9+3XbXpNT5l02k1PZ+DL4zwtNy6pGn+en5dnNv4C5KevaT0do2kOUrRo5TpG4RwtzOHNkwNsi90POmYpE5Qxe7bs17idXk0UE5BFUZgKl7WR5saYFkLXP9FcBcX4rh+oFhvEQKGh2bN/geKVVIqRZ9tOqXAXnQVqPgo2wpPRdhaqZm/VYHm5sxAfLLMCiP6eDrbA0HpsD++oCbSQ2Rm66RFGMeuKYbcbPDCUk5iUp6V9/ndIG7WBXNH9kabgJB29V/NGjPX5nhlocXW4etdOqB4OL2lLRFU1XeMZIYOXaADohjC68zysUIppRiAukgis1mFIRoq9b2Y+YL/SpFw4Y3z1oCBEkouVRtfb1cMDh+joIBQutKYQYdR5ZR7192FUzMgoPVS6S8h2eOJVKBmOlAyfpxCm1oRU3E3OB2DlViaWG7N1vIvvlX+JD71oxmBOXSmeEKR2lhg/RnBE4Gh7l3+Z24RTsFd7JuRML4/00Nba79tTluhgZhhsDpKfPduFVkSh6YxnTO3sjh37HFWHDmSVgpH1JwmXiNrJXBggwkaV3+HQcAUJvNqtc8PD4riFlVzfRFrnsdKuyHDcrEUoHCyW+9X7eBFxxCy8Cp+gIxCXeS6KC77Xqfl6agInOGWokBWt3QV1NzTDqDhgwnh6iJO6kroJx6pmmFm87kRjmcJmBrHSLGlekwFO2Juip8GgxCMmAwyb5ixH+cNKD82WyGelvRyEGZSpgq3CDyy/Ebt5LGO1wjrbG0iSMOdJKBFqSpgXBGIV89AjuL4WeXguG4YrPrlwcDWnxYKexX7u7cjX2cSs1CN3nnMlgQGt+z5ddz0FJ6mkEowQO/kTScu2YctEcyPMsQE2H8lZCH+x5oFqE10IoJ5zmhNDUy9mwXPh8ITN5VpO1B+xUR8BLAy7EwtXpcS+woomUJBJH9ut540UXyVb+6L3FLn0DBS8UpzrQndmhg79PCuioaBFmLWdVWjkhTWsfkr8LG5Bu+PACDXTYcJZ0Jw14Ixr+Cml+I0LK7Nlf2N+4TlZ5TSNXnuwReE56Nj28QowAx3SD/q0JsvzhnIhZb2aBT6oTMiwfX84DclaNnD5ZzXwMxn6/ndJzq03bJnA8tGZdvlHV7zDSl0YhSOpFtPoUgPm/QlaNyP7waGwVfankpEhkBkmqiiB+/IcjAWyj8lLAwf1GvlYCueYj3ykHEnMFeIuWXCZb12O3aDB3Rgcjpz5HgcUCboJLSGekwUF64sEQEKngGY1WYGuQUcbL6aeAG6HqikEmj2tOjiMInVpB0HB9FH59GyXBDsArirPMHJeWaikMCioseHwPZjlkt0lKPwcYJAB5ABMFtqUIAIfl34ObOtwSTXJi6IgHqAU7k82K5e/1sviKSTPdQ/SmD/7HdC1XowBW97EB/sQNoz9rNmcT5R9v/EATLuOZTEnGKXD1ZzUO1t5pz3VzwRs4/KODz+H/qYz9P35/GZb7/P083zr605t8/PP/ef75/7vz8/3z0+aRH89Ux4GfkSzsru+heoNBQevKLk9st0FqCz1mnGvYNCHAaBIVleFCUQNe8bP9/zHl8hJV+fIxVR55LHwT94TgvKqPhmR7Ec11vOIlfoOp7rK2bDjKZP88MrlVmMroq1D4h0oGQ6ATUKBI6B+Xo8/9+fl9HX5N3XRt9v//P6dTcKnX7fL7fv6P78fv2/X/2QX8a/r5ddznOEJ26eh9PP5vF2v96/Hr6SKUyMc2Hy+Lr+mu2fwIhHbx/N8uUY86LZyfp3d2oxmrN5wpZY/8Q+7d8xWexC+JcFzc4L4zBc6KWJdOOX6+JOlzEpFQ5H4VbNX96QUM4Sdr5IYRT8aM2soilPAMt/JWTkQZmFEC1N6sVxNtOaadrIC/8GOMsE8JN6+o8613iAnE4NMfZBxBMpZhTtdFKudO0/bqhmFl4PX2oelFZG1eTNBFwwD/XAPYk6MkVLzTWQBUuZpGKMsYTdQjJ21zgDaHLFgSxFWhBYgWkM+6bPDOlkjieMiY94Qp0gjKNJyWAyr1oibl99C0toNsb7i5VQjQMaucinmn+IDUrcq8oPrGLQWH+pF3GBQ7R4K257GI6AY2NFG9Y+MPadjouqPseENEtKFs8SO/GyMjxXkb6cJ2+NThYtJpNmjTh7AhM3n7hsM8fxwVYYzORDTWsEsUyGyHFnHgnvXV8yp4HkpjUWD+ngaUDzUgBe6KVv2g/aMY/ZfUOKUPLCTSjwrFu3cQpY2PJlwXRRedpdMS4xsa+Rj7ApmtMLAsveotso382orTdke0sr/QzKZJcGm0q+pcq6BrxtqmekQ1OZNMBkPxVLlmzJnpdhgWGU25JNhCCcrdzUqKhNMZ0UVr5vI36Q5x2wa+8CGc2z/nFuARpi46+4w5eX3bJnNZwnzX8NGEVoAC/FLRQRIwL26NLCB8pH3TclhHLylceV8XN8kY5YicqRtDxCFjLonDVhKwfCBy4C79Ryxolog9JosYacHYYEh9FkALMAa/kqyTrMFOFNG5KNMVnzyUf1GIaH8PGTP1JiJ4gep5iZ/d2uJoYRwSPGIeEK94svp/DyisCDFUius1ejVimueL4QaeiDFhiSwV1S3cPp/eHtT37GfYxMXqj/QIVOANSOVqGCEKZGVqY5dx04NrTwKH912AvEMhVB/tUAh1ue/yewloxXSDJ5sfw5PNtokWaSFvufb/mEMoil7K4jHnU4RR17wsU9Jy4IcfegDLbAQfEdJH7FwhEil19S+c97+Wh0Tic+uM15DNkJiUHeRD91NR7cC9LVSSsVJgohxHuYwsG2E83w8d8156wzNE/SWN7QqhKdsBy8zQwTjAiMZlOXAyQU7iOzneVh9m/mzO2e64qUCK5DvhxXZkxyenovZa5QhbwF2ricuHtFDSPnhqblf++3rMgnwNBnW8GdSuIHroeYNAgs2AHiggLAmNi/V110kTuOvPDN1RPDPTHu60yqX8vPRnqD0HSRkPHPNa86cgxiZYOLimbfnu0xYS8sViYOGm70vTcGUOi1rYHGFukzc17uwlufg2PmDhMMMM2xfL6zKJgBBhBWgylNzsleZxyFlkAYhhoKJdvhVtkgV1muynnOIW+ZZWCDxEqszdMFYREDmA0/INYMi/lDBzR5DQ87T25+TdmdD76RrH3GDn/PLew4lml5Wk+Sdvs2Pcbf+/f758/34mc/f//z8/Pt9v78efx5T/Jy76WkV9TcEQd5VpBXkfMA0QxjksMUKifEaFx6/yRAAlSRIU2hOaa6giKTFfwvNYFm60aSzILmyUNAM04EC+xNeUuzN3bFeK8gd7hSbide078yGyfmFoFjojRm9GoEJr+G46vvQWAuedWiwjC2bh9Xz0IlohA9Op/djWCap3ef73+d7vNnz1+X09et6+d//3P/ndvt9nf3Dt/PUSF/P59+36TJ9m05Xp1+3Sec+36/r+Mbv19flOeXQr/N4vKdxlE/v03UaZZ3Sxen5yBDTJYNGBuXDTKMbZSMUJWRtmwJgN0Kzn21sp3FuiEQjL1Z1aA1DHWQBQ4sX7KIVezWTbArNUIaeESlcYIg8qUjjKvMHYEBYOntACMMkLBYvbjkFLSFE63XnsF1ww5pMGU/5Vvl/jCfxt5pMja7A/2t8Y2JrAsc+QVvpidfIVryyO6NRBsZpPcuqRaJmIjwzOSyNPEGIII5zvUxhPOK8ssSxPdTI4dYmBkdSSM+Wa2MMd/maIuWHrHW1rHZTU28o5AyVdV/8xDQZWIveySmmCKeIDmKkIYhcUfDeAFpTTYdbUvyGcNJcG8A0fM2AstzSmBXESZjt8/h+28S4nWJn82qBL8+NfZJApFoGMPKs4Dh4tUP2p0PirZrJMI5J2ZofLr/0dYrrNbTauVLp6bSnsYsgRvUsRrEByrL+hyKbN+JjJ3Z9bIBqqjNCwsskdYQl/3pyNjIImTmhBakb4XWuSCMgGLifqUGbHO4K1vnixKTRPgFRzy2FTHmCbo7zyv93PPlQcxo0VjTC/GPs7Y1RsPXqUeIG9wX5+XyyfUhwj8PbWic2BIdjIy8YVIepGcIcZg/czBNCJYwZMxaZWW1C6ecOh9niMWe7vF+JyGis8Ei6Zgqq8XHSki1mRKYwOd+QJW4CDkuKOfBPv94JlPJOGu2cxsgOBIfV5EjVmtxTpP5g9GqIulLIPDMhGgFoClghReQqxiILlClFD7WhE8oCnzzDIG0FruoXqobLpf6tulLa2NDbbWle5Czkm3xmKNjls35Goxmrd5wVz22en8Q754/WA8f8fZmZWasuuig2ctqoQUzUjBwNwRa8IHmDgrLyxw6QdH4T69Uy3UY4O9VYl6oPnsnxJIBOkqFZl3ZNZOcn8uAulAIRXgSuZtp4JxbQqB6LPX/RrG4pr1o0fMEy2rv4oz52n1yIlBZEOtCkvgSHtmoZ28WlTyqIRw6t9GW6D7kmV2JArXRgRfJktjzMcR5E2WHERE5YRTOleWFPJLf0VFbaWPTCZaPg2BaHpjgQQroRel99jJlLkznzTi03QhI1K3IZ/OoY7DiS+KhkUkwWZz03ifutl5NsDF9ZsEzaKNUWXH1Ms/yKdC46S4PhMH02J3p416sxnDZoHG4/xFYZ8F6yysim9Cfw/PHWgwEzAHABC6bjlL2KMvhaOTSFMRgkWiSOipiNGJyAFr4lKo9c93lMQyqp19GFfEBI7iCGlkc+Xy8FPhXoPj5R6hFbIbc5diQxs7S4A9DgnHoNiM/XcXaaIg1jH1nLeYrhZfjKQ7nYPKOB6dK4BEwxZeJ53kCSx7CL2+GMBFbd4tvgY2FwoXSEOoVtyS9Qy5RgP2HJ7ONNU6toZayhaV11nzzvOME5muj5eP98z6bgx2POLvqJ6/uTXs///vn+9/v+7/f9n/nz8f18/vP98zPHLL6fX9M6upVP0fSkembEAXBEZiY54cqssZNopEl3Ueq6dm78jx8mG6K2oKgLeiw3rm92PgXlJntQKI7NUW7Hdj3AZp+xzpQuDsYmbK9cxHylb0pW6lKbNIMfN6RaFXaxUzWTZuHyeZikL8MyWS5nnPPWsVArU7D3Yb4X9rkttsn75/7A07s9X/88Hv9zHQf4f35db+fz7+s1TbOu//n1HE/41/X7/vw1fz5+X2+38+s6H6eS7Hq+3S7jVE9zrPu4y0O0p93ZsrqPKcC5DPI/00hGEy/wm1ktVTns9aCxCDVXw4+LpAS8UDfYeQuD8xnYyM25XOr1R4wT/6HpDHiuJWOy3FJCx0r0M/bn8TsdCruvBd3V5eRkUdwwuQeUZVzAFm/xowEKpD4XTOqlVCATnvRA+Bu60KhC5F+SBXPA6ObYP4gMCu9rneGBmkk/YgWio7kXtM4F0nPAYOIdYGmXhjjadMi7d00rg1Srwd8NHYdsKuVISbaWdY8JA/W5ztRXn/a4gkbMS1KdHGE+bheOANnTNFfXidVWLOhOVdH1yhe2ujhgA7J92ui7fIdjqSWg6eTw4ctcM73xZ9BWwZFynF/dtVEFbcijCRXXcdk+eUIxB5jLO1YKaslDeWO1nsIoA3AJz2TZeWFPUQ7/hd/SwII0xj4c/u9wa16scTG/53VMXxqW+7EKkI6V8po9tbecgouLntrzUziIFD81Q1rfJoV7Ud5htIhmxGo4b8zXkDCx8dYtsla4IRq9DZRHQdViabzMJeNj2qhmvipciGwOmBmV1dOLxIVRoGppwiHIRQWSEyqUZb+nJjzekEUTlWYpzKMVKxbUc2GPhZorY4RXtDJ29glwL6Fl+/nru11GycxhEKHBFIGgy9Knmad2Jpn+0Cf0nvPv1hrM1xESgHv1pbx1PEfgWJJ9Pj+/Gqdxm4HrzYkPXEIyFWYhRkI4tsIrMWrP1rWb7ZIzAc+WrJmKw7MWwe6qDBgaycCbmgfHTDZhlJAhsiIFLANPF8NJ0TgIeImoV/Jnqc1DSlgYL5FgutTTlAOxgGWjDCqcGXP2t4IpgjwM6ZNWPzLa8J4dC5Qo62ROr4e0TfHE+dl2oM6r2VpSQDEprZ24II2DqZgjnHiskCj5y/orOuFDTXOxhP+BAmBYjCpZR38MtT5xWSBCaTRoyprp141Yqqo3Ik1tOHbFlLN1fTb2JnwAniFmokJ1ucEmFAmbYDJmmIfFQbM2Zg33wt95c+RzTmeh9SjICtJFlaRjy4z/cpk2tmjlPXjGAauWpHDk4QMu2LIAkdluTSQtEyEuvif8hW4pFooH/6DvHwAv3Suf7a8k/CIiQUbAs9ZASd18iC7pFHDOhSbmDPpU9pc16tEYP6qnSqQGA2XLVcKFAmgWPH+5yfcgUM8stQu7E+uSWRcQb114RCxhWBBpJTLlD0Ax5zkl4KvWSoSs7gJ6OCvDMcR0ICSYgRWzZlheG1Iiv7YG4S5Umy7LQqZL40TVr1ZUdOKQP1T9NJxjXeCXAlc+TnYSWeqjlodj2RzLXtTqCXM8gHWpyNdwKbTuAw4GNsjENsvZR1DWIiTMLfNGY72qMBeWr23PGFSaCE7ahGRJArQ5UZdMb3/musfjMbXO90eO93097vf51/N1v7/u9/f9+f65v/78TBvnOdZoNvf++X//+++f+2O838fr8X7PiUcZEK0TY45gn6Gsa2+EMcGTsLfQj+oJzfQ6kAsRQwnO3LvFOoUrf+GoKHXmRAC6D5CXEPTzpGkXkTZGxyLrsGIX9WIBIfbT2sRMoQN8BQPUUfACi9818uL1cEzXiLQn2x7MJiawQT2bEWbDViQIDcYzPK5P3gattYd4G/SZ46bucU4i0XNm0vnrn6/v39frf27X/8yft/9Ml6w5jfl2uVy/xwe+5ffH9fX719cvjkF8v2638/sxmYPnZVpPJwZz+7pFQLP/d5Y69vogAPkbg1rDAuyJGO1oG/NTuoxj2a9AQRL4g3RrQ365wBSZwqxuYTVs7LQgs4uEOZl/N7eq+pBPwgxgReGbjkcfNSBRBpTh8bglNSLne23ZkmjLvpoU5WiZbAw5pbd2IvvYBi0uzpq68Y8ZQ6iQRb5aGC7sAY1Vf44oWGQ8PZTicA3B8ZjDAZ3eqt/bPw3z+a4VLvaB0wsKzURJApBmqILi/DxQUY9hcz5dZk8FdVvHsD+E5siYdKYbCkKL9i5W3CEZzSAPTzKchWX7TF2UVV1WQCpnC7DwTrcx+T8MmEBMFH5CnK2JqkJC8fWYd83+PNsuEphMFNpxj+0kaP1jj/+uKW88lqcvsQTGifg1ZiIQScQ2JT0QIT26LRzLwEhNU16RAJXrtSEA/ZflP5cekmDuYBu6MTXr4WXlWOBTKYEHSC3iiaUywZNQ4fdJ3eGJd92PlGyUQ3eiBv2Yf2s0unhghDZD3pOaRoUyPk4SabuoCzamlGsAOJv9K5+hovSaDWRXHdMsBRY7TU9BCpIRWKrZ9MiGOSctlCi4FXOwPAOOEVpeHe3Uiqm/LH8ZwJ3DmgHywLLf/CsvsjzcQiR15aEs4nizs5fYQl2Q8OHrhVNA6mjCI9kp835/PSYrPmS4Xqc0lsjf6/m6VktLSaxsHLx+7iygGqyLK6DFLCeItFxHnM+UdXNNfi3uzzUEPqhClTrj5DaqYctsNajAlrea5N41PkB2TfK5fuucjKSFUumRgF4pEwfL00ByNjjkLe0fjwUZ8sz5NPFo8zC6tH+k/rrGCgO4wFpnsGyqn81Ia39YbWKquR1xxFloW8IzBT5UBnZRJEz4L7O3B1h7fliBhtqzhW9IR0ujxFKYLLyLcgilN/eVnwmhRwJ6yhQFjH5L+MohJZwuMrZjUmyyRNOtfTU0oDeX7SCZsRuDsxU7MR2ej6KicCVqQiMjvPTqia9pxl3JjBylfZxQTFrk+XogzQCEec6D6PGXpJE6bC24yDq2L5onzFIL0p454S2cx0ltjT0RmmexWkA7X2L9t2xOfCxGGkXNy13xvAh0g+2BBZZ/Du3oETsuIy6iSpkJoB9isoU/D32jvdZq0/JD5oKVaLhnH0ZLvRFa9JFZP58D4xZzucGDBEJawO18fj/n1NmG+5TTSvcrlX1yRaIPxNcAaBcBc/9jNpuChWj9r1YYYr/qQ2ZtzFulytPWJXbG+WJdXCe7fIKvni+yrksuOYtRtWFVIQ6IR2sfGhqqiVTZNR2BMiPNkmWZQ0eDyFreIB64oUPWejC0amEyRP7cNQ6v2Flc5BGJImtlIZmAA2by0vS1ahkFd8pXFNvnecRatAMomGTNMSmes3c3TJKsxPRrxg2eP6ZjFZuAJ697//n5BuLuP497SqC/fx4/z/f3/fV9f//5efz5/kmd88+fn59//vz58zPu8uM5+3tf05kp+AAIZBM3xdg53WC1ymF8uOl6uQiOzx+KIfvBVtQRtBhOATjPKIAlEIdCwnlQy7THAITvLfcxvqyyEQfxCTOH5yFrp9NVZjj4f4I4IKRGuAIi/7v9qywA+FMiTWsb2Zn3/IVUhOz1ENzZsW6iW0A3vJdVVz4JWvJoTnKpwGKDTV4oxy+f7s+f7/vzz+3x++cxO4Gv19+Xy39ut9v18vv+/HW7/r593a+nx+N0v42rcx2f5/y8P245Zfh5u9wfp9+/YwJepmEWGv+cyrrp9DbHXz2vF46EHOs2p9nRbhCBYtU2CnXo5Wy+mfTg+0HFnmaG9rRiAiUlNZYI7/JrbfmVyEjYqmBKExukSyjUWNJcT0BO5A61NWa7jqpmlBrrk4HkFe0qnzDrUEa9BgAntp4OmgmCYApplaLvXF/hEzuNOcWwoWrxoNhHXNMAnOjto6NZ94wWNg7g5hVsmQ6Tk71LbInJVBvul1AAEY5TinjXSUhGPG/MAjcpIXp2yiwZWKsYZJkR8wUEX/i5eTW5qc23aBnu2uP9YslM26CIkksK4yALQD2qtZNSiYPgy14u7jizgaIZmDtLrexDujN8jZ5SlKn0CBlN3M64UOQ/OXDBbcMcTpMf1rWc3CUi/HBwucohS+9LwjmoQG/xz/kfZbR+Tg2UliK0/yz1L+mQv1QR+nmpLoP3CX9LjUYOns7BuqkrXqaJSfxMxyEdBNlbS5Z0F2LmKBVqTuhhzM+cFp8KqhntABRWmLv8ZNBlYe0STQh4JuFCDYBsJtFxE4X003UIVcoQf5wv9kvKPxY1Yv2yOeKAqTxvLkhdAo+djSswjaHsLlltSEWjlV+HLgVZW/9WA3vXCdjKJZQJh12nj0z6mKh0OYV31pd40qiM9AOepkXuRW/qhZ4rmVdmE59gSoVMMwu1U4U2nWad37hkHRe7KABVGC55J5hjkqVPjmtLhiWK0MYwyOE8J/s75Z7xNtMbxWFNU2s4R0uOWKASlKUw89lQTf6kXgz4Oc0YMKMZOYt3Hj9NS5Z8aeZPRTSI8EpnR9TUB6arxyFGceIQAH/dwJKo0ScwRMB88R+RsKQTDtYV516wweBObqJSn6l0R9nUw8QojK/ex0YDyRAD8YF11zpjp9VP0c4OtNn0k9h27iJ+kJOolptXisO/mFZ5ykQEaGEXrmUdGJGxTKxG2CRiQALCVEdDepZHHqQzfQ1eEvVJbKIEmrrAuNvljbk9XecgSIjxSkRj/hkzer7K3s55YTCDi5VthNFS9s6ZMBJMKBhknDBEBKcPAULiBtCoiXIUbkxPJPYC5FRnVCfz89lw3aHS0MPOj1YcR1m1w5PxCU2Gx2O8TQ1qLoYgxhab2mv33UMfw3gNdpg8mP9WEx/KB4nwlBF2LSaySfTgPFWGsp9EWRyWGXe47kqNKZK6dJEGI00hPAp5szppiq6GrCm+Bw6VY/ve0NM2CZ+nZepB4EI75ZV6rLqDObStXEcyKIGsrMBgiLUMy5y5q0q04YbDog386CiybAJERhT6irpHFFfiH2skPbArqOrhI67sI40nx2JI56H0sSDDEAyf3RrugnOqrlrWs4YoVWNwVMuStHAGyal9mpQdBREdLwlP13NWsk3vI1Zs1Em93Ag4Cj+GYs7uTafPnFo0ja6m01WqoGdX33R1vt8faVc1JcyT4n2+Z2fvz3NOMLq//v15/vf78d9/vv/5nv/fJ0OcDYGZU46eyBEyuBZOPyGAZPi3FnwL6qACS0Gy73BvUJ3hGud9WGIs/YHe2ViECUI6qpg5pyjM36NV0iVonh4pS+9ZShMYBid2seKhNGUpWTPC88q04cTDe49zPqNKzR6LmPCni9Ttf704z0kMm92ZLFxesB5HMkXTpYGhrI9YKBbKQp2/rFtkFjbFHRJ+C4YZVpj2/fV4PL5fz8vXfTpFX6/jA98e/7lep2PWVEQ//nO9/b7df497fPl1u/x6nq+X0+P1vrxP1/eTZoq39zvHCl8nAXA5XWZU7AmF2d1rHVUynJgSnvGT275bdEL83QEQUlD8d3R0R1aXCGUHLFSQGjFMglFrFQr7ux/0MZY9NOrqyhVthBgHv5yXYvA5Blktw4odeMMbUf2+jkqiCLnMhUoSmrthKjGvKcGAsA5MVT73PGMSxv9welUBRq4bUwQk+TVQ/hHZ120IIuIIdiKB3ineWRlIoLQ7hoxmYdBq0EuAwoz2BgF9kK/y22VguSNPf2F7GSAtiDF+h092tYLvysvzOcJLgwD4Wh+2E1aPoA9zlgS5PZQDRi99sJS4LN3RysJgou/eeGdGOZfXgJ4QfD53Y0SGUlKTtMxei5B8YDxbQ6QJOWQWi+pAUBoPWnDDlmhVIOVp60z6RgbZGmT22GAGhgcxcOZ29NSQqLWQPLsCUsEynx+bOauEM2ikB2gOPeh64y6hPAOssxysrFsXw+6kR5A6VkQyhwRIsFbCNhrAMgaCmMEdwYtPcS64+cuyu1TaXCBBySgMW2pTiAEfH5KMJyJnEvdUCTB9W+s5mo6DV4/0I/LABU+G1rOzeo9pIP8REw5qlYUy6/Hb8ytAYepbp8ATH+LqG0Nk9z7DCGRSqYbhTZKDTiVUX1RhJXCV3iwD2ebevOFrkr30bYGwksFmYJg8IUOxhlu/rhrINbzhUA6YMx8Pv0Rou1hWI2Td+F5bbWTr+bT3tOIaYkQ23aTnAMwb6MWsRmwJaxZjLekuOtWv2ryn2dUNZxCLwsDfjSKGZF38Dv+AKcgV5CSsMUYXF6rhYUppBYxuxABS8k5IkZ5gs/ApVU0RRf3NJsV5HG+W6a2zgo8z1ATGDFhO+LA0YWVzBbKXCgQXwUkGCuqxZMeytS7yALBbAajgVX76vwTgpVRJUG1Us8Xgk26SQsuDYsd89gljMbeMBBSV0BCDfQu+P1ON1DkuMGOd9lwT9QllwlGQtwWW2AIu+RnHjClGblJVzLpkIFRzdLKcFWR/wqjJiQp1A0VUBCOrRKCejnqh1+nrSh37KJKke3m77dMImiTIGj4umKh0B3qMCmGM5mhN1CoAr4D0r0if0rurD0EYYuhWl8z3VDOVCgdtKXOmNqMs1wC4arPaMw/RK3OW66sjg7X/QnukpcGMkVkr9FUoG4ZArntfOJt/rdjlVb0k7w6QqPC0fQ4jUSaDK4SXGKVJPleywJ9cK4l2jTs1f+VPFlDmZ5e7YNhBZcYZrpJHCKm0z+Nw1JkprpelaJXBD6pOJweQrQRnSR1tR9fbo0iiYdK7ZcEqQwdHlAtvBIIW0bH2lqMiWMLCfGTfyNh4gRZHgYHu0ufWRNBrSeftkxhJy6mBzfllSDkNrR6zt9fylXTdTwvntKiaXb6PRzo5T7PnyehO7vfn/vwzx/be//15/PcPf/7833+/v+fw34wYow2SS+nE4sbSMgoYouECUul35DArO5Mzrt2RqnLIAtFWP1SZbiSAshMkcM0TcY61woSLtkue1qqS1/MhVmcg45LF6mbjGbuwVhcRTdKSpJZVIJx1n1MWM4LE56bNCo4V9n/mMjiUvdA55jlqyRj9oRjgGLUxE6YERMGr3pyvhRMZgv4RQWpcZVOscuP6MIdOkcEn8pH9kaf3++f5+vN83e6PX9+Xaw4Tvl0v//vr1+/r9X9/3WZ78O3yP/+5pVHW+efx+PW6XB7TMjr9kN45UOiRIH0aWiRceJ0nTS7jnEDCtG+9eDIflpbhoTBvaC4iIYPv97RbgxqrWGO6ajfDQeyzOKQvMjCTnMqIdbH4UtjQiEygqkIu0ihEANQBguU/Y2HHF3sDfyVulthl2vnCkrPW82EoEZUWT2D212GN9JmgnFYmcGqwrODsHiKUCGIimzoB9rhWtqLsxlecDxKq1Vgy9x5i8na1R2cK0VSMCBOGa2107EUtWfV5jcFW8TCkGUDsSaah65LxEP7YLVMIMLa8ektbSD2Gnb5RZmmrd8HbtcZLANJZ2GjEmFyAQqoz5dUppnEf43y7CkcAAh/KjfpaEP/ggoUfbhT0wfjyjEDG7/ME7Nv5lF1gdauGjxmJxjFk7AWbXwUcuu56VHi/vgwA2cCGXoCzwtLT79mlLJvDxtFnq2awq/cdPtDfSoesGYYhhDigGh/E7BGM4jmjeQQGdwr61rHp8UHFA82NbEn92zsO4UERjR7GYjzlMDYMfHspoyI5kIJMCvYyTbDXrWK19eVnyVr3hV5u7bm9loBokX+KcIzheHd3qWzwA1qO18P3UTmyqbalwQtDQ530KtAEyF1DFt4/s7MGzyDR4Szg6IN8nY14OwKMxMQiL4/H4HwFYkYqgSn2rDU5TbC46CNFTlTAsBsj2UCOwYByHghFO0TFQ6bxmgV1kKJcMUQBQkPNoCVAX0nhwqm2J+USuZhWYKSIwYpc1FMA0sfCAJISy4g1nnUh+gL9JEN3JAPCRTYf70Ics4jfNkdNzvd4RGVxVX+ZvV3IWWmdgckKPp4ns+A47YhZ9V9ZQoVBbKlBKRYM64M63jgeVgsXr6ti7egdRZIPGg7JxTCUy+00mSR70ul2VYwRk0gvIKCk0MkTAAeWDzXIndgw7Mtkt9bi2DcodVBR83rzfXlzJJnQhslMELB35ehpfMjza7qesHVQeI1WTCd6JqdNmsjiUIQL2Rcxa4ayKqwyR7cGJX0hWJaucxQh66SEK8kSOpfNVDz7Gnj3+8bGyoggKY8DINNKbUiKEELYdPmKcfCpnncN4el5O6UzvCBh6sl7IwLUhziKchslJXzMlMzu5m2wPVzIDOerlkv+rSwLi4QMBUzQJUxe3ONv0DGX4FpX6YtloVqeLpZLqiqAlRjuC2sojzu0vpRJdSe2IbYK4IaTuGlVUxf0wAtVVD5xgFzKUdtJYCDcaSPZJn+Le9qR+Qc2Gtp66437Lt8MZfYEvAFYDs7u1gvGdfDeQm5FvoyFeBOhw6kVAEusUt8pu7IIoEJqznK+Dg2J0ZDwhwXjZBKd7OJ5O/UXnHeSlZ93Uf08e36zuyLYr8d7v0/WN/+Yvs6P+ec0wXrMiUbfP/efcXqn8PnnQXern5/HuL7/98/Pf6fg+fHn5znZ4dT+Ym+EOTbKhWTAQ131rQEDLzwtIpGC1CmUt6aMSpspdVdND86NmtTyyu5zY7lTXM37a0kvygUDB47qJ9JfuybcHJORrxziK+eq+A+ElymgSucYKFYyX2VBcjby+32ZKv0pFYYtatZNHOI1/c7ZGDDsjJ5HJU8EonEQ9pUoGVXFQbo6RWhDOLyRTZTHc47Okt3Krwx0HoaTLF+jLtaGjdA+AmL31+v7a4qPLl+n35fz98/99+32z5/Lf37d/nO7/J/H7//9ff11Pf++nh+P83UaYp1v72sc0sstpyPQRXpwbqy01/P0vr1PlwsByukpfrle0hB8MsYzj+YJZ8huipuhDX+Vq82WZ/6GqIyWy3KdZWcYosAmLYvkH6hL69WrYmQFD+8J1ptPkaOqql1w/9ZIykUhqUYOhTELUFhxXoD1EtoHNQ8jkD2xyI3a2ZytOBNOzjRc9LJ3J8/7+IS5oM4a/mafi5oVgw2Xk7/ybkeb1Zlyp9dkuSNi9cckaw9Zpf8LX7elJRqIKQcWzCY0ozhMcVRFfa5kiYzUHotrXUAqChKznlhqYlgJmIeM4PMqQTp+Y+NVIERL1k4rI/qNwQAuGEWBD19PYIpHIKZU72f9pwYNVUBWcY2W1jLkfhaUZ7DVzY46MItSLzrlVElmrx1FHyGmxtD6wIk1trXqEisUmP+mQpPiKjJcpPsOpcZgw8Cp3pHqSCSeG99XSkQnf5Xt1jKAP8NfTkGJQ4i8yQsROnyn7BTIwenX6ac8ZQ4Ji6hVI7PJIRsYXd5YqmkIlYtwYeelUi32hDOMynVsKIJtIDd3sucIm3GuLXl5vjuQm51CN6ny+dyGFESuRYBj2I4Wg4SFypMJIwyMsyBV6L7A9YpIc2Gu45yB4iFulH5NvJTcMJ9goMpR+cV9Gbn/6KqQuVhM3u3QCeYmgklBfi6KYdYS1AwB7mKlJwMcXs8ESLdzobvjModus+RzIbmobGwOniKlbj/ucg/aMWSC/9kw+JoDXRSDzGRuGI0GFxYghLM2jRCxar1jWn1AUuiYu4onxDbwcrtaMUE7L1RJ0JOtSL66xk++Jmgi6csoSBS1hWNfTBcya/xgg6xWUQHqYAZJWa8CqjbvvW4eXarmXa8ROT35Q/2QPJw/MEMpS8FNLRBpWq18pmhZ41mSRVVAiVnbbMtm1iGxqyDQLLpkiKgkumsjexFUv8T6yvU22lFHS1nt5sj0bkCj70IQJyaqClwKCgdze8PSxYRcwGXOy3phwJrxNDChjGK6WWbDldithVIYoIF8fIut4jYqmFU4umHNSbwUBpFSmQJRzh0LI00Nnm1XayLIDN5fURuaXNK+gjZFWag8nO6R9Z64q7ka2Y/SU6hmZ3I5NofFWttK7ImFq6ZY3J2rjXQCdnsyRv1G1pC6vkbXtOja004x1BkIVdpQxCvx8XJcx56KXNk/pNpP5DG+K0nXRuQCtHX+YQYqnMc2eB7h/+RxwSRvWWPOmCVyo8paHOvVhF/Eq25Hd7AUXyQe4ahbh5yesfknGX64reaCs2BFAKCPDz3Aw8p8R7rEiRXeTSL8VHCiW8HfLCq+W6/JBfwWBojOZPYM4JAwACl6Uyr2J84g3PwxgCJkqmR5dXoHeHxRXEkazYwv/BhfeAqbn3OaEa2fn4/HpHtn++/XnFn0eE8Xq0n53v+93//83P/8odT5hz//TOfnxIiT0bKuQRfqSHgayZopH/CRdPewyuVCCmX4f90Mplma9kCp3XUVAlJtU84CdAA+0aSS3vUjBUc3UxpoAh3XGfD1fKEFdUb+vl6mSTPLeL1Qn6E6ZlgTMh5GYjeZ3B7A7TYKrCjGEdWIYD6pCUxbzuy2judDuD1p8ufl+vo6RWePAiucdl4TV0xXJPs2BNxiZlRS4dFEehgHxFSxZpT8K4V4rBY0ym7D0/l8NYCNxRbweX7NDt6f53NywpfL/zymCvrP/f79+P2f6+V/f09F9O1y/vW4zCFXv96Xy/V+mgOHs43oMhn17DPPOZ2D4bb5i+uQPHA6VdcwADhmShEezDV4JrteXRojkDUrXRi8+IMxWJxPxK7IhWD+C/Fb2NEpwoEsEct7xJFhUbVt8bDq5cDU4lUpTvd1sDqZpTEVru4Y6gs+/9CgAMEVFRyZqdvnJJEEgFxpw7dg7CY6UMMMCc6P2GEo9NWhBmYADFlyHrkQI6Ih1NHCBpXIGlQTLePpH9ptGBBkvXK9+AhyxvVwvyt47J8jhefTI/Y2e7PacpV4Waq3dr3zapJa6sCObW2bzMCMmVRy9UOT5SjLNwxS1149QHotCm9jF62GQUnRkAekDxRwu09xFqUg0O961LpDgX7yBi+xTrORviMMUQ9wyUuhgeQBypALmlkUP5gSngImKty8pgtHMcESS+4l16ZwuBnTBHoqEsBSy331MohiG9n01Lra6jPUmdQE0bJsef4MtMn5eei6Ioom7A2HO5GPb4sQrCXHxAG16YZKlONTv7oHLVYBQQT2rx0X1Jdh9iJtowZcibUjV/hyJlSDvrzFVtt9fsksY0iD6I5Y8nF6RoMJjRvEKZtlHaGqsMrYZAJ7GHU90ZUk08/ptw6ZLmcPZ+F6jaZMhwZ4gAOUh00JUV4rhmu0V+SirbZh0v70svGUwhnajFloypq63lkH7Q/KX9lhSk+sxP7cP8amCuYCqQl9OZwUBGaQUmoXYC10KRjjnbkegTHXeNdbPsX9yD6c09eZoyqxJkjmwEwKyU4qnDHt+uIH2e1N4/50vk50uVnxdDDeui+Lz8oxJRH+1SeJJzYDM7G/KodCkbmoopx9pG3qxsR1irCMI7fzivh74UksnbR6pgYu8VGzBGWjVUnaLeGq3WH5ng0t0QWzaoYSeIsmTa4Pc7SgoIIKl2dc+Iq5jidQxgy8kgKy+A5FfuA6ko610V5P+B6Bd3SWMA1X8GQqGSJOywtKWjwv0+mRQDry552pCOBIkmEVn2zmjvSR9iPZPt/7fMxOHjQTCgyVDB3SdFQZDBXiTEh4R1bucB4gu6YiEEamHsIwO4LBuXeiS09nK/dvlFiIlzgAAd98gFFAXDrk30k8RbFZjZ+ntmAFleLQ/LeF97VT1Nxc7bPsK5nPFc8VgoKSC4ZTp32cKaLRCI9bGaV6K3GKf0yGc6/bkUD9cUSOkyUAMzAL1l1nKI0eD++RW2M8xM0AzGNfyCmxYTeorKQ3FlAjRgslWdmDjuVeStYzjXSMgzmzIdbuBrEwjqhHn4cVF6MiXf0COVPwGtHqyD+7kpUg/d9WvfZHgAI2P8KdfPkBX5VY8FkLxgPYcwl1Wq+REfa/0AKQvnHTyTnFztPQahK+j7nsZ3pb/dzn/8/n17/fjz+zxff+5/H698/3f+lx9e+ff76/v+/3+5RIzyQnT4DLBALXIHaYWVMIgIJfsreuMFdmXzD+sV3mPIRvqM9pH3leDqoJbgtOtdwjI9PeGI0ZdoJERBKzjJM6HXN48oxDfFpczirMh9fb+XJdW5xEUeBvQuPJVoah3f4zvdABATSmrddhJ+ub3jn+MGBKC4lM9vWac2Nmg3TCEtl6be+q1MkOJeIAf02UdybGTkqKgWhxm+P/0mZZtECfovuAbCjzTrIVn73ggCh1TVJtTv/eJObmE/dPl2nZm5YnPr5OP+/X9/Px5/nz+3z5c//183z+59flz/36f35P4+h7Tkv69fq6Xgd2nu/39XmZ6ugpib6ez89n+p7MP17nCcRN5+hshD2dZqfrnExMfzQDyiz89XrN7LrosVERdZIS79e8g1wHxlwtsPgtoj7mFj8YkHBKFGVRXCFNS3oPN1pARK6PzSaBK3/tPrB+SYsHsCuGRPQU/TJHc8E/LgQDGEsPjEl3Gcbp8c6qcCB0eCVIm5jv2lu+faeYcTUuiN2Ocsm32nIrnbVRSoH9lUYbE4OAQ5gapj8wnEJrCgz1J0cS3aptiDgMmv3emPvpOR+saqw8I8G8g93FC/30ztBTCnLWanqlx1SLYWbTjXTo4HofcljKAyLZ9THPmsoEVY8+av4119n9+GgY6ldmTW0vzpjwragR1ZhY4tEsZi1q2bB2Cd6HWoBcBLaeJprJ59crYBI6eHZmCE9TYQiH1shrzCId3JwVx0cAIWFIclqWMK5RTreI1Vf8jvlX+624l71jwEtCOToxaEoAn9y7rijFTeVQ8ki8x4vnt9lBkZAAXOeKpB5dSvIG9Tu6hveFsHoKXQF8+A+3Yj/3KUedWvSFRk8FOT6B1ovMWK3cRYpkZWKBfqeEvq76ZrcdKh5EWlxaarWwYP7geXN2U4u05Z9jzX1+oCoBArrW5zIgQr6mOLS+w2Ldlkphdb9SL4uziWLGTAtLyKxs05izbxKPA5cw6z9DAVmvOVmGQ5wgwRWq6H5wVZDUbV0f7RkrhUgwlrpUGtja87hKlXxLaQTvQPAPEEMYsJUlYFDVRHuWLJBw8A23yVNBdzuGm3rl/CIGue1eclIzYIH2Wr5RPROrmCux23iLqN1ZwhYGJLRm9kWXufg86jSTo8yYxPo0SODuAykp1/EBYsFGrY4Vwz+y3Hd9GEgpk2bM7KPGBqvnuU2GNL6AAhaL1+SP8J9eDY6rLRsID1b7IM2gVdTv9XRLFGPuWm3q9JrxYBQUejBfSBIQjx0PY4CDVHSsNwIx8AZjZDnzxsgk76fEypMuCsNu41a5rsrrg8Y2Qsv6o9ThVpHnr2giHjb3GcqSPJhxNfiUkEV1RYe/BOGWQjIQjRmLZkOE8Ef1yPw+sjBmIeyv3xd0s2pA0dSaPPp0yNVpdFG1nsejI3NTWCirtPNaNqm/MxcGiCwhwIihLkeoDvobPQpOaeiIFFBlZafvmdAYMA0FiQf/NVANCG/s3QIBawWTw8YVWVfaou4kv3ThupCsCZYCPsJU71fDVmCXI2MRlnt4KcfOYdvMVih2jB9MU9JlbOYc8tLDA/ePw5vtK47VCqJM50CNnqVCVwdwc1l5DjGCDLuQ+Uk9IamAbBCSteQTS2QhkbybwOD884iAyHoFzH2A537PP5SF2JdTxjytnnPc3CSLptr5/bhPvfPj8bo/nz9xgCfz+z3u8OzynbbPr3+/n/883v/8PP/8vP6f//77//7z7/fz/if1z8GItBSX+VXb0Avvd5mk5EF0MDdDOcgF/3zicC7jX7kTLespynOL6UrzIjwDtUnJD5yJuXieSuOxlNmIOpnI8/mWNEJKRgz+Xcd5Op2v1zge8/V5Lh58HHN9rE8ZP0DM2FMFJj+FAUSSKJlpAva+Xi+qh1oQk/uNLo1XGT3MkafTHHJS9fP/BNLniOU4A9I2G7MnN58E8pRJx1TBKE1MeWsqrMiZ4cecQ6gtTJGLu24RWc6pxvwiXLuSpC2OjMcnf75e96+vn9fXv1/3f5+P7+f9P/fr96/r/fH7f2+3X5fLf3KE9OWWrOb7dPp1uo+oz0mH58vpPAUK2WL9vl7epxtsHUIS/Xq+xzlMWShGxYogx7EoZhCfXZqTtE8XRtQgYl1VlZ3nGMAf2qisqUTyLPgnL1Gyu4viIN2K/UJ1PvUPr210NawUFEK9G/NSaeRpViJ0oiqXpT4D3uuViiEgtbLZZxRUnbVOXxVN2/wy0fOwZUbi03xBdcSHqmdOsTQQJ6c7p5ukCsMGCsdANPUIAGlYTxgnra4RVgYHVLEw5iYy60hAtyhvBVa1GPj8ereRRVadUal8ZXjhdU0FZh0dxBCiH89Dt7DSlSCnZtikWTiHs/CZgQncmbUkBgMQpXKiFkVntALmVscIaUiX9iIwSzc5G5LOU6jtcioOg3Kwgr9hHb/5EFGGjqiyr6qQ7Migt5CcTeAzdXoaobDMludCBX7lQkcof0Jk57lo4i+moFcKCP3Qvk1e4h5GCGhVNceEElMTOk71zTmHTXIOJ2295L0kwNoQe32NpEigAxQgcA6vMza+OSxkK34RodZ8ERACSSNi5IRY/NnJIezLNMfSua7Qisrq0jHU44AV7vVHwcRKCU/UtmVePp3lLlvvR8BgTrNr6DAPFbZKFq5zzeY5eZ3CjmjDi2qxhGZno/FU70wpZajkWTZRrhPXTZ6GEIB4rGBqcRnHnAdOCLNWZLNzl2mnvMRo6ZRg7Y2erZpjo7ksi/uaRh2eWoomy1sj7w4rU4oUd9zzwCcti5f6GQy1o9K0yWfJJU7ZGA7YZlaK5YfMukihu3OBzVljmQ9GIrB4gP4wWTggLUufOeR12lyzu5WlZws6y5xSBYs88aI0Pt5jT1TDeQ2OWcSDYRPn8llIFZvUUaHOpSiQPddMnJJEy+1ce2Q6C1FptHM9G9VgOokLIpZx2aCHTcDL0JHy6fN9uk6hL71PM359csk1tUnKD2T3BI6YvPYUYdgG2yRVzlEAidHcqKm5mMgQK0tVA54MsTHLECNBgJpbs7DAs2FY7wt1WMsLA93412ztzWRBK1gm3J4uFZKROWXTnBqRiFR+TrfbtQFzADlTzC3ppFVjRpmb39IQHcYYactuX8dZbKaqhcXqm3gQHm3Urv4OYA1Wz5TazI6QSBfe5xeHIgCJn/Gv2geqs2O/eix7mKuZSx+D1R9Zj5/WEcLL/O68kDc07/II/mEL80rSijMNEgmpRwUTJu+PIA8IHINWN9jjAfp6OPNxZxUGeCVwG4DsLrWKCMozn8M3iUfNaO0YGVPJ74ZtoCe1APJyYh+TS4m9mCMHXX2NA/2p6CbDSaH35AetAdn5lkdCKxK7rbnijbSaH9zafdMR/433V/+GBIcFMXVFGKGMW7TqhWgmF3HNzOpF9wcQxUdLx6ZMKXMKlDnnKGne1/hQ75859EZ3a874fdzv3/c/P7PV93t+efz7/fy/fx5/Hu//55/7P9/3//vvn39/7q+vHEDj5l7AKLYdwMgxmEIo3CSIlTlTtLyBsw+/OROZxkvH+a55iLnf7DzMx4aTZwdvuI9ka3BzYGO81mRhojNP18vpGoT5dRv36Hq53C7Tk3hKmsNPg7iJxOFExImy38L4GGGS63Vcw1mfGogkV8PfMTjkJjrIdk1zzTjAWZHH/cGG48lv9Ip4wmNlTO8AEjevOVp5nMz31z0nm5PshCBprf1+POJcv74er/c9Nspztg2PGTG7RkNkA2Px42cgQAp2KDIbXpM1awIDDuhm9LhYNF94cuZkCHL1LMB0C5+q6H+fl3+/L//+ev7v9fq/t9v/Pq73x/P26/rrdv36PQnm6+V8u7yu1+wpGJp8PW+vn9fj+hpb83a9mhE9fb2uyban9mkOrqDkQU5THilnSCjjOI8E3ZmxT2cpVLc5kEBBcg0Rud2GUztkI/XFQONllcNoTFNeYXLVUp2QsIC1mm1ywQO3DAacynLGdIZvdGO4baGFFF+2YHC4ZcigBo/KdlKrPURC+vxjQbUTJbRrSQKqhm4vFb401GlwyYlLmo7p7dnjeBXjj06UKEuzV2ZEbK5h+uhqLmBUPhn9bnjZ2yU+84lthEg2HN/VCXnbeGY+nMEje8yJTXgijvEI1evgFqXB0dgWpuRU8PUnfQW5Io8dSqRsbtIbyYTaFWWNB7yJ4xmrFsdNyGmgOAVZwDe1MsiXuteB6l1Q/Kpb0Yqeg0osRrMdGY7JmqwJ7hyiLutxqxPBSJmec+iX2Tgd2xtf4+8aB6A+XJ5KEFfV8ywVJkYUFSVjMSuEC4iJBCtrfj3oQHzn6L5BykqugufTBmxK3HFk1kBlx8owY/7FRkbOuFFtV3Efy1evJMfv0UxpuTCCTGeiGHXTzG8sUq0aZU66Oum0lswfam/UdBkUHs/6+BIZ7RDfDXDUIhpKaAtAwxDMWFKeV9lWwBBy/WcGkRc0gYINVt/pA2pYtZr04bfuM01z/vH+pyBoM+qZUiFx5bdGTSadqYcK5gU9a2P2AOdOKeUW4aRaYmbyzM6gtheUKtzl++7j5Qj1v+ga+4cmB1um2AEyV1iBzpDIHQ9IEVSdFhynYG4PESm1QoF8wvLC4gQtZCHXPUfqhRATQDw2KyY1oU2J7k1FU/LJaaGJM7+QQGIwiwo4MJDURfN7VAV9p/K1yfT4Q+VL7qvolTDeX2sySg/+zpOwjBrOQaKGuFtILkccw/Wz6WOSucFzQixXKNwQKyxygAbyUIWfR5tITPJ5ZJhdH2PvT1wAonmuVUUFDaP+EN0tE2WajkM5pIZsFep8n6shBJSPWp3DA2YDQEJNkKUU+PvkCYaCWCJQjmDZjUAdQTWYwScdhJBDIIgTYlknV0L9BR53Ga7Z78hc3MN5GuFwOTVXZosHvcPzEYOa51iynurHua7QVFlPddcptjHEoUtN+hsnpoCpNZMiRmh5+TLLCg2vnvE0pM6VVvquLrHBGttjGogNT9XAcMmWjQTSjFfuBTixLIo+Li7ouejC/nzDvWWYkFUJ9QFMfl5p+YUF2xkguShM8bymEKx5PY8dc9wiN9RjeocQaWH5QSecvBKfKIynlx8/BC1wRxlPun3UgK2Bu010OHlPIvAT71fjI+88TkNxhLUCjAvy3oOMynUqgsfbSfvEfE+krRPKYuHtgEtE+StQHNgWbxwcjLXa3emu8c5d/4T2znR7Rgxn6+/reX+O7fCcOnESjOMCP18/95Q+j4P8yhm/9ySAv//58+9///359/sxhxv9efx7f/+/f+5/7pNCvrM2ynVLT5uaxtKTpdkk6Np3oUBba57kQRjsMmSP2gqXLNZX7c0/zcYnEzuymUWcPUVJoF3GrR2gucxhtPNhfhl3d3zg6/V2u0wjphwWl52EJoQBbRzg7CpKcWa+YncVzJccAAzg/wmBkdCW8YhoFC2PJWrJFVYFK4o1Nbn4CM00ZiKZOwGKqfl7vL8e79ek2tHZqsspXH+k8vwxkYvs/gwjPaZgP0dPvb9+Hq/vx+zcfgTZU9Z1er1Ps6GgYAZdZfWMC8aspiweKOaIz5rqSNbsCib0+nN/fr9zHPT1+t/zz//v/uvf7+ev2zTK+v71/H27X8/nnJk0ifbL9fL6/evyuKQr6O378Tr9/j22bfY0Yf2GWdz2lWqaHHUBqAkK84OgoPBaaH+4KF7KQhTEVeWsZpkMng5XUifYsueKvJSKr+EtRrgORy5iDILFT47l43OSTTJAljLUo6TJ1CKYlwVLpEGTokNlRbRQgEFELO3SkLNynKCWSre4O9gwVP11SgaUm5pmj5rPqO+DkVaLLt9YJHhsGR2JWS5VTEa4cLnyhdUELAuJa2zXWucWSs81lNdNP4F541z8ooEQ71edTj4wETcSgkI820FDIio7iApckoAkcrV6hDgdTkbrlucNt8tV73c8M7nLRkeyFukZTEHRWOtOaKglNc2uxwZYSzkXN7QU5pEHakxu/94sNpoOkjQeb6xQ6aw17uJII2onw80gbR3eUIqMUYU8a0o0YgpWQyKOlcGVCufil+oVryRV9/XVEoNLPkaYP7lY1R/xsSwlJ7JbPMj2urTKc6GgLeJFBBChTmbSCS+LHla6hMhpzCyuq8ACphw4tgd2uXCSyShDsYKQA42oNeCrvSqJ2gMiZ+3VPmhlB5trxtBCaHCMOIsUA9aovyuxDjL3kZ8/hHjMMRAXkD5ytei9u5e5DEBggJxXSgN5OYXawyhFdulgbG4gjUqNUbpFW+2uhNjwOKHY0nTOAUaFv04pPyDYMo8NKk2Q2/nu5P4/XgHW8VS0BnPI7j5P4xc9J9fXV2p1aVkiaE1bT/Q7NOEKf4EuXEP0MblQJ4CNBSdZMpEHU7Cxda2W+LafpwKwv+yGN9KsWLEOy4QYDI2aTREU0V9FCOKEaPyz4pEpYjj7wlhh5TD4KEfCVqqVosTwbJtEQbhRony/7eWyG4QkOc1k+p6jKXSw240H8hlikDgu/bI3d70yjO/DpOAhCEs1TgYqjgGxJHc8vQClrTkg7s7jcxY52v3DCDgowvU0yuJbFsvQSHZbEVfrkejd61ZpS7VgF4tigoYnZVUlwWtCzKBnj1brMuW7nH4BEOUawUAEdHeKLhmuLY/AcisgH3AsHCQ+AiAqDexNzZY6V/gzce39RwQWKLfyf/JTeeNjEv7URxxmwoZEBxGiuuxOJ6rluWUVZEQO6gO0QQWteTnrqFVX96n6J6d8C7UxGHX7D31RYLfOZUmWP2WMLtD+o9ijs9orW2Gy7mt+D+CQUIUCcmqyFZCDA4ed6XBLkQFSz79wnmsDStXWrfFYXi0fccDQX+v6YTQgQegqjKtIQQ1cLOYdk2WKFHwuxsHwpJ2dW3FmOYTx7uYcTpEFAdgyVrmeJbXTXRuHsOw6E9gDfJn3NajkvrkWHK6vHkEu+H3ZD0YKTenP9DuMCnw8p6XHdEYdN2lKZ3M87+PxvP/cf77v//75nhN7n6+fx+OfP3/+/Hz/+z3//++f+z8/j//77/3P/fXfP4/xxHJKJVE1jkZPyyJ7zuPRApLW51UKGS1rg+0dzoeD8xdLmekFlTINtOnUxrvLFauadOYlEeNL0rPz/zDn9Tp+7/n0/n0bX3cStqfT9GTC4xrHipLaeU7ymGOIX68jrtfsSExKWF8YvJrP8xzGo1PUKnVgF/9L7IDlUmuKkpjmpWGtKLK5NKaPu8XSYvw1jZqjnl+P1/Tro1rm62uW7v1+ULQTMxrQyHbtuLvTtiw5/LhVaS816unx/rqP93v+vo5B8XxNvHQ2d7/fj6QFcZK/Uvxia680ZpquTOG+8+wk2riPOc+t+co4ag6lvOwuu56mjv7ncTud/r0//s9/nr9vl//59fw//3n953r5n9vt53r5z+s1Sfig+e01faDnLbfr9/3n1/U2pwffVshej4eSiJBa4T/vtWEj6qgKEKNOqy43VvvFl5wsu3G9wk9+LG09VHoxPSuaBbfehOxZpA/b+BP5MecCp6iljI3xAy0G+4jy5GeYAYdtzg2gvEU0HgATv5OiOsqU+l4RUZtHO1GM1LvJYyFdJCzhHVu/CpJqEOYG6yF3OJOHpmjc0Lx0Q3I2TJ3pviKOIQ21B+21n3R+7ISPOGksEIEr40nrPm1MMQ/bA5uHqS5pcSTY2gTilNpLJRRfbJjQJOUUwWTCjXj8GVhC8+O1r0bIhGZ10hMucB3qfAScQyIVOnd8MpcfmWNqDz+62E6hSXNeKPpdeB6JIV2TlSrUmWUaH7heTDn651COnbqGon4OugPjvNqNzQTpJGcvUkIzIab1JszBS53GrPv5qlLewBz/hSKsZlizPzJYsQ0priMZV5C+CJhZHxiIDXZY8DsMhgbwZkFoEuSTsVHPF7oncEc4Jz5bAmXw9Jw03Cxhhj7FLXAeL5DNeFd7wnODa3f4uiUDTnVKRXiJno7bJFMVlwn6Yt6LdaGRUAbIw8WliOtcQ6919mV0bHJOuY59mke7SKwqcgPZl/ecDhJZykHVqwosNGaOjXwR72oULyP4gL7jzUQffHks7UwrRtSBxucErJmlQMCvQ0u2avDI0FsiA4dJoJbPM59N5/GCMUroJdGt7YiFvFi0BCa0F8XLvlOBhMiZV1Aw+qG4kCSe3BGPLgtMcXXqcFJZSywnHKdDyAjUKhVYrGTsJ7VLeAixoRBfchHtM1paEvE4ZjP1T34anUcKkHrklMvtqU/0RdKdlhrysKZNaMyjt+YgAQct6dpzNmFvwWXO1QgrdAVTiW1pkdzpa4jT4FZQm7Wv73wVLLe5lzAuKne0+sUVBUoUOXaxRpkgVMsGWfwsOMgiapR2ACsxQZgw2oBgfH3OCbhU7sMVbDDLsK/XVFbbmJHHhfGs78ZskBu6nuJcR3WMzTskEa7h/HK5Ht04SrPyVaNi/ENfdL+zhf3f3E9AKt7YlmjWT+6dFRP52S5MPqTqTFuIj4CEXEUahitKgOPhxrNKzlIg0gKPqQwYRoixNhu8jNufGFkQZ5M8f3Hdx7QdTF0pLvGbBuSNfajYjE+LxXNL4yIfVmVCDwYjo080tnwDAomMS3ZknKY9rkflcb3EZkSmJUQBYSL1XsD0P1bKZ1iXi602FAwJNqbQ9QNbuhwdIO8VcpZuJdeBFVAM7/o8HQrmCrRdZ8jI4v3CyHlQlzlARMWIjx6OtnQp3Ei4qiXi+dlGU4Sy36/xcJ7P191tMuMUxemNm/T8/pmM4Pf3/5+tP1FyHEmzNUESAGnmHplV98p0t8z7v9zMdM/tyoxwN+MCgCPnfOcoGCVjmeFuTmJR/fdd1cD7eDy35/b9ffNsptf34/l9v//1/f11u/2+PW7P9eux//V1W1/nVXWUtBVpZZ4IhhcfvyI4ZfqLovr4dQU+eyGVjTMQNW5cJPg4VFkIq09VRfR00hFEroqVxzu9Tji6y6QZiMxmvvig2WVWFfmPz4/rRdXKy3S+xPHV8+jj0mt8dIIKbGcdz+M8sKNW0tociQahna+XBX4Yqs17ISqkWSAOek4U1burSGIn4TuRmyxrnUyOMMd/TBSAySXMb6NiT56rJ1uFV1+qcKaLwtUlxAf2l1L2Z331fLr4WRdRZGlkrvv62tZ1uT1XeaQ6LkFHDTzS7L2JCPbXKpZQtbroTv3DEtY04ydblD6O8Qd82rnZouq5Z1/o5BbRm4qetKPH/rrf77d9v87LH5/7Y99/Lpfnx+vzumz763qVdJBvv28fp4sGPZ1d2r2/1DAs0O6LcJ4sKazpo+QRPOKGNGXUniHihtCyvktYKrKhP8P0HEJ8agqDxquEO4fcdkUlUWBh0T1ZIhbFM1LTYYWCFRQBq1WlR8lunp6QiCGCRQRJOFjXum41tbTYApV40RYREsN79FawrxCcnOjbHF9Eek40wL9SHhL+tJ1GcR+XIn4J0NhATrGiABWhFb0Tg8SpwpTy2WEAbkaQzwRkBRVsXjMJ4Xg/YxpToo2R2YQXs3cojJzQUc2WvXNZZWz0aWqOyCkJ/42Yn50u8gt8XRwKXh0IgrK6cNQvjQfGlMD1TXmw0TPa/6MAs/CEMuhZTUTgMIAjH+KjUg9d58dgRON7vW9bcxmmLddGQiU83ec4KrpZJNRL253RD0hjuIaa0Die0g9fD6xl7lq2ljUgzDFoze9xAgaKAV7wl6VYoHvbSInYFkTT/VK7PznKAKIOJZeMjiXXJgL7g8EH5N81P7qvXXjcwgUsiffZFXgrrWoqKy+LFo7XWas/ARgAPsRRGL8JPD/lGKyGx2gBTniVQz0jLjoAIsMawBV/jjzcSNV2H/0rC+iKa2NhAh7YGbCBgfNx5BPBvOHx8nVEIIImoO9DOCpp0EhXZhOkfdSzAtTE8FD6GAx0J9kF1xu9q5RWB5qxUYe9nk5Iqk0yfsnva5zgKMwyxTPsM3IFHlA5Q4DXAQ9UszOTMDvgjf//QKa6MQ9c1B6x0d2CYSQiayztR0lwMMdj4Bx/2MJOx+YAWU7mEAP56A4G89T5NEK1HfbCsQfvRrPVCAYurm6o1rJB7KqZ5uOBvLGiyJQc/hyZGQdpa+ECF5OMRT65XG/Fdh5V2QnVZIUq7tI/UlJfBTyEmDhelhOJMdV6cJ6rsiE+B9FMaA8TXPDDQzjgBF4E/OqeaDgCZovA8ivBQnKnVtLgrINaIjtA9xHGOZ9WnTNg356rQj4VRQh4WwaJefsZiyPHJqJwEl1nphiOKmlYy2PkEmCuTX8shoqCvCt4KgOGRP/GCNFGDH8eozd0MUAoLSfUEgGPbiHTfrhzCb7AUNRL8RSeA3XEFineIUqIxnaw1+XPoUakhXkEAzfwYUUwYcRa94gdViEzJGnKWmL2VRoeeifMV2r3X9k+EsbLZ4Poy/J/ABx3q8KYbUvl9XtLWhWbjGfm+YNA/HqW0nT+eVQupY+dbpXDL81yO8bJtqmcB8/5tLlGjktDEPI6yxPG+vhR5NUypuIQI/Bw906o2CgYoVyCEzwF8FryGCkhM6caygoxBrAFXcuacaOQhGkG9mdAogaVlwQrlt+rVcIxrI3oTGQb9O3pLCO+XitH6RbBtwltgcduVCGwb65wVtZXJxU9H4/79+17fW7r9rrfn/fH83a/P7fX47l93Z9fj9u/f339vt1v6/bYdPTRTT2rSt4knWOwzOqJaiOGnQ23EriBO3hnvIcFPg2JLlrm7D3XLs2Y7DjtrhQhAhrNQjLOZ7Uyd+q0nE+X+XRZ5OhezueLrellmi7K+vqY2Wm+LPPiZ12vy8fHRYrWp6TgAWvtDHo2JjTebJGIUc2tsmKkhAVWu7UOns7T5WItbkHi0Wt125GBjHsY2scoGKrGRZsSc/trYQyEXV5GcFPlaz/eA588E/r1WizbN2a9+ld3usZEN1GSJ/axCC6B9jFKeqPL3b2EjDwT4nUY8UkYd7r4qdiIT3XW6G+dZqSy9n1/+tEcRf+0cSu+E4OiJWuwm5MgSRGv/P6SBUs8n1d7dzThb9t227b7vt6fj6/L9Y/n5R+fH5+X5WO7rK/Xx2n/OC3CtOouVR392Pd5m/TYeXlpkNb80kaViBefO5ydBIo+iDaMq+KTvRJbI55lUx055LAUEkp7SrEVku5NMCJGw/mVCNk5OWSP3+sUkrhkhhEsj4Z1xhhKSUGcCWj41YAwpejNWBrhql/P8I4oFzjbFziI3DTsIYtKixEgMRRzDRfSSHcSkdlbtWxgnNXf5PVQBbzVkI204QW+lgoaqmOQO2zE02ycU4tGiLaE6qFeDP2c/YAu4Q8mAzPr3NdrMvNIQ8K/xF/BogY4oYnQkNoCdRA+FBj5nP/TzhPL4b2V0ZYD+jIQzgznKEQHVRzWBLnR4NVTDm0YzVFpIaDIeju2WW6EfPzJYeoM026oTo7S6Jf6C3NBgoJztEOfMN3gvOGLjObw/Kv7DlnGerFVE/PAN0PsenvKJGsFYSnyi3eHtdbjZpyJcVe/X6Qpfi2jj0goE2VAGpYUzAi5omCb0k+JgUz3nF9oyo8fFbR6twVe7HTLS4QQ/EaBVRVy6DE0npD+CCiHXi3JS81cM8INEDNhiyyMTw/7P0IjehBTEgoz6BruifxEYgR77YfA3rCFnAaK1p74sqTN8kF+ibNgfySyKFfze376lJxHGDeAiQLHZQJvyCxT9JM3jgDNhBQIPo1aTRr380q2WZZPunQV2RRmF0/0FgQUaLFYCP+jmP0UhiRTGzgcfJ7pwfcjfWFE+m7bPkj2OMmAryDyI5xuPNII+U5iB2t1sGG4xgYLqE4RVMWfgQLnxw8p7PRHlXZzj/B+qvy9nLBtVziEThUEuZQGw3TOyaDSKgZx3TxNNLE3pxzc8GhHV/wex44BWtSDFQn/NhiPXWQVYb2RO9DPpmJAnnPwRKQnVJua6fHsLIlT2i2wXdnZ096895RZI7tD04ft7s+1Cn03ztUsNPItTh3Wv1eChVpmHBK53lqqlgyxCA7+15qZzAPzS97YHUrIdokZR8x5iaNyY4ytP/yHAdgg2r94LfETABgOjG3iijYIycNqsFQAY1OC8Rxbvc84rmg+NHEMhYg+Bt6QwzmIM2wYAZoY8XBKD8Gii31qQsK/wTLMi8AM/Rx6EYHcc1B5Tgu3IhP9aH7PHIu836q/mx7PZh3h4J75RDA5lDjAHNQN/ALz4e3GXTbkmuh9w1EpeGh3VuYt951Ir+PyrBAa5kQ6lxMnppBAexvUuwsHYk18GSNu/ZhlFD61H46XjK2A42Px4BQGD9gLZHqyQsltXiNljRp6s1rGAvI+fmXlfXM33Vf04uqYGtXppEr0oboW6OraaPQBk+KbMjO+TQWaw0lhdqdHHB2g2tn1rfvJE5416Jmq1HVbnzd7vU+FaO73+9f3/fv+/NbA5/2v7/vX7fHv37fv57oqifd6KGA9a/6gYeQmVW9t11gitgAerVMMhE2uuyeSW4DUWGGyMARkZLhVR0Ndi0lkhTrP7F+6JG/xULCLHFzlcq/LdNGfsxxg/N55ui6LRjrLiXW21rfP84T/u+hzmnudBGbis4qlF+qDOAFlWF3DPca0kI+sXiFHGs+v6epy0qgw5E+Ma7R5AtepIrSlYVlBzsQIdi0yhGn3UsUCrh/aFOoRCjX6wmNpWJXy+ZXpPi9m208KAdjWp5JZdQOy/aWaPE1TLeDJOXqelmsA9tfT48+e+3a/z3aA1Ui8nU+Pbb8/19u6Prf9sW2Tp0kzq4F6PQg01I9ExOwxd7swLTUZzgMLeTS0KSn9OmnM+P68bT42aV1/fnz82Pf1fF5fr6cOT7rs+/Z5XV6Xeb/My8tF24uyya/FdToXFWOr2EdhTdmFHsrizQqaWO2xzuGH0eRvRkmPBqIwZkHPqrHg9oVoRiM6jBwNje/B3FmM9ao8CxXYORo2RnVkLrLR9FXhDLlHXCBICbH1yBaPXkJ6Ijdq5eeHBef3YVAzxNjLSqwHgULhmCuQER5uk08Z5+G4Rpayo4SgLGQUgxrARD8iHalvRJzGp4ghVe3QksD8CwXlTJfzonGojoZ0IkbOWgNA0s8BbzgOlTAcAKRJIiAcGdXa8pT84MVHn6eE0Ji1VWIJJSmj27Fl0p5g6vX3XpQhHC2fUhZmi6BcklSM2G6UDR/COKQqAaxndBMkk1FkLuXqPofuxsLBFyKdub02D7PHQqmRG38GHBdDoCGWw0FAgTaANJMPS7jpdLLBxnKvBtyQVCfBDqfF3ya6GYlabeVtAjgf7jWsMkrXgHIS4IM5aJ1L/gdIFsKmgmFjh/T5+Nhg9czopg61pPd+LIjsM2YwwSmuT3SM8HwQUQDC5RZyoXVipfmdtXKh0ftuL0XHKRPg70JI3rJ+IlZCG5Vgvob4cAgwXAV3N6bme+LeDV6EjphQ00wDzyu/miGdkqEDoFwTu3PsFmo+xBIDYbiYGKR/bKTrEEEbIQ4ZZwVBlmd2WDyWVRXzM8H4PbFHi3m/OrlvpBTmFtY3Go6865AOpFlcWS0hFRrJdli7dtJ4PBCGXYnJsY0ySoSeQv6MNfVJxaCW4Hfn93pOmp2WhA69XcqQw9eaauDUd4aBBG3ABcyGYYwEppLEqGAfg8psCWgqt2/KpMRQaloKw18WDFUKqdhzd1NnLxl0tCIzZiPyPSA36jTcKJICPPkbdEIMUIqCbHu4OTO51mwxaS3d4Sw2G2EmGGG5wuS87zrtEDHoyGWwEW1YamR7GPfJ7iZwaFk5cHQMl8hYRP+X8ATtFr6NZsWwhq8itM0dUFG275UO3zi343+qUS1N0e3sjjYeooSIiWy7fSOxH1B3dHbqlPxOtbf7HbQrtMIEwkQmmC4y9yKCF8RE9fifpKQY2wMgK70Tc4o4Gj+M1iDWg9xCiPP66teKtiF+h/zNv/i/WTRzyMw2o8UGNVtuQz0yHwS8luT6uuzloC5vAasoHkldvSoHGDVajLRqNgG8iprBX76JrXJ/hG+ngBBIDmUerzkYtJwDQ6c5XEI/nhKidFjU4CmWqVyg7KykU5ne+j7Yp+9NbNIWU1izn5cIWWjoLmZQVvZmMZQ+AUz7vkpvXEJkBjAXa+bTJPGRBklcEH87ugD4rPGM/qDO86NSF2kipklmj6ZTRRAst/PTB7i4WXLXxxJpPpIqimkG3bf1oSTfuu53zXZeb/f7/f5QBfT2+v19//37dlu3r8f219f9379vX4/HXcW1NvMnnV8+6m48Yzk2oTHgkzNC7lUbjKFOWIcRGkFywqDWOjiQDI7yw9MyrBE1p31xidR8VmpXvu6sIudldjfvLAf4Qx6vG3o9p0DOr/5SMnfBAZaWma/LpO+S2PVofcKlrphWIda8DFqNyTzyw+UIDn6wUtW5zlLtlqfeLuiMLOFAGnIORM3T8Dw7WOYQuAR/oEPttMMCJmt3GakpiwZuCQCmUXDA65qJ0TpAosWOSu2qXuilemdlS5zqdRaZRLTtMhlbOtRKrbTuHN41+exxmR/bpjiI/emnHWAlhFUdvd63/bZud0/WMj0mjp44QCaPuNPqPK377phFKJIuI49IjF2nDdnMUvL5tN/27Xvb/ti2+7r98ePzx8fyWLefH7OjN8t+umj8jjATCb4s8+rDUvSC6XVxcgpiQ0mED1N6B19GC0TGxRzvuCYXmtmF3zQxzhcruYwcRiyZ5K3wJxrtbIA45dvjD6QfmbwfCWPT2eUKPlPAvGw7JIYVYtw2uEnCO8LL9q8iKiw9ggjNsL0Ji8rZCiv4i/xbMkkABMskVtWhebXBpqYVN4/xxOIjfu0HZqc8JFzubWvstgc/205JVQvwDBBgKdNA3mmeceXeIbXQkqalQ+4yPR7vxOe3sQYEJsOJdTasCj7My5XEkHzBxKQba1uZc+RwELMMEvA9o1axe7etlcw0bShuZlHhiinEajbtqSaa0BvubEoNYiVVY8RSMwGMfzvnFT9wXCiD08PuEIqOrcceg2wS8cQOHMgl7AnBDx1jQLq+JpVEQSZgSmV+7LdSX39S11abMOrGnfMx1YCh4yfDQOAZ1Dvbo3b+cNQ7HOaQn8O/IQdsmuQtfDKQIwuc894kbTag60fLeI21FEcMVRm0mmooknEyCBaLleHAY3jNP/bc7Ve/yRG0OAiSDqJ9AAEAAElEQVSB6Y4bqvGKVpZDCWpfRMC7fAQJeuGxw3DhpLu78nAoCaQmL8PFIL7UTqyKV+Sb1KYfsgJMMnSgtpyAk5IYRHnNxaCG43y9Zo2pt6KER2LJZ9g+sjSxKvNOBYWDycNjpaUfECm2O5+3bdXQwzQu2N8ITRc/bOIl7X60vyLReGisViSIRgdRPu5hlsSSMmzbusrmV87mhtWlyK3DIiWBq76I2+jFA9dScBDMDhPKku5UC2irCMJsQVsBBwIBPrPO2ZLd93B0DMngG/wZCgxNTIYXQ7m/5Llu6IuAh/0rfmwF0GICB4URj935kp4JzsOqWfrzt38ko85lMEdMwlJ2ltnciHeUGlpYsb5Jlh97GhnnijstSVVta6EWCej5WS7vcWkvsogaSrQ4RxrgXYgPaX8/1o6lxgyKGOQVwBCcJUSsWoITiV7mOQ1gHxLBuiozNChksJq0pK5GTGCskr6CDJAT+0y7TiBMQBgq0i8+2SWPiDJhabFTAf4QRSFUfRBzKPp+vJorCgFWEjoMv/ArjD2uDO+wjNB0ybAwjigMDwfKAwQ5tt4v48sGL3JddwlD0AAfogUYISix+kHubzps5DSSyw6pIk6KQwqQC4bcD1OOnwPPAzgOapAJqc3PoyEh7+md3oKjRGF9ICoNk8TjfQFAyBaRQjwTIBnDLmcD0VFtLN0riDcIXbK94/WoT1+eUQJjWU5K2+0MnQaVgepgUroMuskDofktAhuhOF7MT2IlXAbFFNKhkuagiu7QTfURojpChiAN+08tNGEuHd4bv2mnAlb+77Yr6bc+Vk151r/k+j50eO9zvT2ft/t6u69f3/e/fn9/Pddft/XX1+Ov20P9w2R58XasFN2gUY7Qwqw3TEY+24o67INRQDuGPdi0KRaIJRiandqLikTb5vNrOZ8+luljVjHzx0VpXU1v9rlw18v0sSi2rEbfxZOrHH2Vh3q5XMjousiYbG+cZFxahifJ++XIItdMuzfYllC6N31kWsgAzNAa7CiDxHci/arzjOJ3QBWuDBdTEsakJUzCdlVYTdso8DpnJr/QBKgqaOVNneSlrkZ1yBG40+wjR1prZ1E2OdErh3Z++WzMi7xf+Qx0C58v6KN9m9YJW0JpVAZHUwSgk5bc16TDlh7Px0NEcl+mp4uiH9vr7tIAjdTyGJnMzSJqigX2ei1ScGnwQjjYPfIZBQY8iT2iu/v6emz797p9P7efz/X3c/3H5+WP62Xdlz/2C+mZdXtdPzS9fJYnIlBeLpqM9dpP1+tFT5kxoy1bzBogWEfKyykK97mYMZ2f4UO48pgeCmlUnvQKLpaPGnY3CkzpiaIOCeB7ko+qaqphE2n8btAgwwkru3EAXVPjvr9wtXkkPefUKOgDp1XsEcFmGWI5eojCrLW/MQL7idcQ9W1KjzNcyc9UL8J2Zm224DcSNY0UiOw1fpCCYe2QegdYvQlX7FFj6VBkvtLrHIWjdAX7IYDArJlIRkqOMy8mDwcVGSgI5DE+Heryk2lOQSnapsHzNzf2NBYgQKl17CLVvtCqGpzsZ41phylxrRSF8nJDXQNIvSf4jSkSayX0UFTXkbBjiTBJgwlTqYJi+5e40wULx1hS7ofJrR+SybGgBhZ0ecqbqtVh47or0ApyjW7y6mWsD7T50ExpIGBisEk39xk4bqCIVVCPSMK5xsd41QgQhD7j32JhlHfQ7tEhB4IGEeQycMx3rkDlglYs+3EssqPRyUCZeqgtMIFtinUGPTPbhm/Qe3nCoHkWFV+At3Y/oYNCJ1m/AN62faLM7CMO8xAbkFp2yXZjeL1Dpuztn+EXcLVJxFdgydRaNpfp2+H0RQphi1PuZRHE2b9+pC2zuFJUXxA5Sj5G4xuwMI0In9s8sg5dwr6RAc7oI74n+VavQY8ND0OdgUhdVaR/14FmrOyYMt/PVp5PhrB2BEJv5YTevVU15hlB7SGCieN6oIVB6TkZ9m3KsRYQUAReUDFTVgppmg4dBqhZ1/UMlIVQQq8xKm0D0C4SDvQj8eOxiAkB+DPcJowJDkFSX5Qnc7AorgRozL0MuEN5/kH020whyHg0s3WdJjSHAb2cJsM5OCdGKrGbY5+EZja13Bwz2ZC/sglUQcg8Vb1UxWOccaTnpr2QqJ2NCFNjtRhixZ/ER9C5iK6WMYrt3gPU1CjI3hu0FMk2kBBtiXhJLKffRPgkgkiCV2itKILuFZ21ueNEVkrRwp3gEAhCjjzNqxhhvBAB0/bQHFa34KIsGrf2zZFoSYHnb12sL+hNsiLgoU696x8jA09leZK/oS/H/QMZYhRIjDd8WpdMqkJkvAVFu35sC9CgJ9rVLF9FH+m5Si4F2lS/m4PZsb6GBAT0g0vATs1t7xVBN0w3ixEKe5oST6of3QVL9vIDqxmoXs1cCzuqoobdUEepaR+TPyk891v0wDcjMpEIzaZj6ZIvu1ydOPa8JVCOl4hAiziqSxu7Pwg4IDKICsee24ijRyVZTqeeP7nfRKQKwWZavEDLmwMS4i0b72OkAg81hGGHEBfs5voX6KEeeBqRtJyUzoY+ouUPQ5ni4azTixD7aAiUeck7tMWGKayc2SoXVw4wgs/p333Th+u+r7fH/fl87Nvp9nh8fesft8d6X3Wi7/f9+dfX/a/ftz9/f3/dt7vTiJIORTIaT+ixVEl6O/1InNUbETfMI0rGpvO0Zc43tdBhVO1+Ezbdwi1vTclbDamaLtPJI6xeP+TKTh86u2i66sAiVTW7iVeVz1fVI8+Xxc7solmS4vTXSaneRVc3RpKj1HWrRSpuMG0sDnfK+yWShAxhx/WOcYlBWcpn3IWOhEJXVornda4WMVN5BNihubjDupKyYSt9J7CEVVxDA5LDg/eJbmkPHbPoshxzj69Pp/DniECny/SFbbXU95kVXQWWdPJzVchAFWnShq/Xed33y6dmgKtkwJQjErp+Pjdliu+Px7q/7utTfeDP7blrdrSSt+v+WPVPWQI4XiIArcXHh7pXXxhH6viUPNtQTURI3bow20/bX7dt/aEx5Nf7x/XxXB7Py398fmzr9vl50U7s635cXtfXZXu9LpobPatuXkpgETtSeqbjsCzAPBJt0aQSoJUIC6aWpleVppMyTTVsaLfh6Yr9yPiEM5kYrMEOxHxzPI8lWDOBra5E0B4CM1QzLHvTFK/RXBUaiSvyynYhyczs8Jsilnz2Hx0caBbikhijQ11WvHB7hblFKXftZ1W0RRXXXHNPrwrMfao8iW6eZCpudShBeU+gzEFnuOFAxKsUemIXwFojopQqCcaJi0nxSvVe2S0paSbeF8+QpB9tfQoSoc2oVR7mVnXuCBbkyVbnrnY0ByUaDlej2ejsjRwDB/7HCE9Ex/rqTTo/cE55raU4Si/JFlRTEteHuvIlLgWLWOinJRQqKPEbSQAaX6oqRafbkwyR1O7yo6jaDXX51AVOhCw9YOBwdi40KZHKai2OGLCX+jg80mooFknL2Cje1ndkp2sDZ+pOJrmp0YN2/JRVWwpjR9EBmnWzCdilLiIVmoEM1r71YtR7uKmY8grjY2OFOhyUkFBZmlcX1vqpuQgyangK+o6DYsND0oSseAhRdWOeQ8iDVzxHvgx+Y05jg4l2YFLLDiOEwAdiKtYyGB1gJySV6hUTHqmj0hgQqU8B9u16hj58GXSEKfWmusL8NfNwcB14ZY5Pcm9YIh5B0uJc8SFBE86RMctDl051wJjNTRIKTrOk3qCpktTX0ZoSKsC6UlwwmQ09KKuEv0Nw8Y1jL+pnnpajrXeQb2tjouOBqRBQlDtKnUo7OrNSD4MfYjNLLQfUuiCpsPEQYdF1lW6RFgQFSUhiE2hMq2Y2mkveBALEGfF6fJwnkVLu7sPyJWZbexol8nrNsQjV8kSRm19rWMa0L2EAxcYcsCNhP2I8TCZUpVU0kN+VqA3oAZStqsLri6FUwj0sn/yHKMFs8boYc8VMIN/log+FGHzSSGyypFXJB/jM912pv8gGW6CBhu2q+sMkH4brSodwUgf2V0kBEw8QAUSRZAstGIpUHv0zRt+wImwHp8cY0g1mkRGTZyI0LK3NHw30/oFtcKB0uDk3BtNxDyDU4T9DZsbecFcC3mDA63x5RCqgiX4N3nhyJuNFW/BcuhX9jIivai74FH2SRRAxYjuNZxizL4018x4GDCN4yCPi1gytY3xEAgypmZ/issqyAsWgbMevRdYh6ErpXG65Fu2XNY5n5x98Cxz9O4TuoF2wDcBTR2RRVmUfI8M/ikDDXl0HKzBZWo6xeBY9yrq4Kg85FhiBOx6WiRr/7QfkH3waNtA3OnqXN8aGqKL07jBV4KA0qIzH+y/wEnFuLVaSbFaHI9wjtQNbpKUhBWGOWywwyHKMAOJYlH7eZKmhXfLweEIQceAVoDrE5LZOt42688W10Gr41dQr9f4q06tpR0/VP6+/v59fOtzo8f18/r7d//q6/7rdf33db8ryvaZ5wfuFuaEtzJ0oBgRdDIPCHtdWZ+91NAtE6tBrxxHwMH28zLMKq0xUl/N0nafPZb5O5x9X1RYvPr7o46L076wCKGeA5fgoWfuxLNdluSrXq0/OygPLB+aooWW5KFlcEa0baOnVL+5KsuaPhWMpQnorQwGRFKmC1uJtUaWo0bJIjoH3X8rCtCEpnHEVxKqt/lSLDT4jaoR6TG3iIxZEUmENvhHEsFZhKglmg+khDi3HecRAVO3yfNKauNeZopTB7fIehTqV+erI55cGypjcz9P19Xqu63KeX1cz9fZ6XZmedfWh0B/rvt+fz++HJoY/V7m+2+n0XF8Q0sNzpJ8KYzhdrWL4FKsiuD25jIhhXKjoIpOLB/qeJKRf02N93p/r1+1x+7w+Hpd93f74vDrMa4n7ISX5Um+TNrIoe+1MwWtfrvN5n06z2rPny0WjuJp1gqUsgh0tcsGzANdB+iVvaxzjCFgHWbWURmYEgT14T8zvOLXj0fWRDnkVOrNmhaiiE4mLHciNlre8MoNTXuhZIX6iAzGJ/flPyyHXage4DghY842IKm/MYqL+kEdDVyKntIxcjzAtBIgJRsWM8H+tBawXdIU7sSO5Rwyx08ViZMAPiHFb/H7NsODxJUc7cXXNSUP3qDQgOoDWkJzJINLyWsirYtfwQH+6xjudhjmo20xKD1Rsstyrf5AKDscn8GXhRrmBevVtfKUcydvAY/Ex3A4R2ks1cGTIZ6/RxckAVV9E21QDo6KMS/DucGqssEIMXIekWL+f6ZPNdSQH5GQ6jkuDrRV7gzdif3YCq9UTlg+TTdrjIzmJNxr0H2TlteBz0qrzRnK6W8zXQ0uSA0se2/hxcBgSawDclx26pZ8U2rAqZoN7FQHd4fjBwvXPoeX8F9cU1GJ+hBWMQcxJByD5nHput7C2b3FoxAEyneuSEet6epINAcEARTgLbyXHjiAfG/I//gdujjNNcGL6WEQT2gGs4mqXeyFnwyfhHc+EKtBq2DuKRGYjzoj/g67GMLA0hLIT0EO9sCWVaR53o9FOL7B2VDRmzb1eUv9aAziImgBLalliMIVGU7sShZ2S/bHDNEW4KD/NbKjJyM28PjarPdyuG0+Gy47wDOXbb4RXoTIEa6IUeHBUPjSTmV410wb1MzAmlgC4Cq+OaWbY/nitxFRKp4ljZZt22AYbM1+j4TcV/SprqnVzl6VySnLqs4K7VknTo4BI55jO8rA+9I4oi7CI94NAIBdkv3rjvvmILd+asE3w59gk6t/LsEE17Zpph0wxVssJ6Bj77IkGHbqZkp/koX2hX0qNhg+t1rPEfc6r2OSjNDvjGfHVyjlWTj66thFc487SkZPXqit1dmgidhjBVO4Fmd5GYzE8J1XxoxMA7PvP9EB6jk7lEHRVAimVpNm75kbnAwGveo7IFVySuH+uAC/BKKGKmN81N4IYEKsFjzkanqgP45pZkhHoo00dIDc1pTbGiwAtFReZ9knLBLFkDKnQMidFJT6CICh7skpjgd2pNcKxtZTkRMj1B7LL5g7cRUKFdcJiyE5quIp0Lgj18ogsA12oH6otiMpH5AazXsHg3EhGpEBBw4uCzmxfq0TPh9eiQ73y86wRS31RvsrsDSuyBJXCrUDhAEh/yLrwZixLlBUCMUZnH4hTDXxgsPy7tVEWEoV/GWEwtSy09A2+hereZCBKFTKoUuKS5MnBTfWB4xtIsy6ywjJ/2kbROCRHyo4JhbaJLerwnfyZ6qCf+0lFzzoB56ncnRJ834/n/bHeVdr6/PO3jjj69X3//Xho3tX98f1YH0/FsV5zSmwBoBbpaCDmbOVUOBFDoRzHRgx87yulvzko1VE6L3p6vRbPfXcDjp76Y1Gb7h8fl895+rwuV/X9ntT0qzOJThnsLA/Y/boXp3+n+eNyvV6dt1UNs1hVjtv5dLlc8JXJcCnBywHyxkRSwAnkt+is0gXwz/Oy7xsToeVywTZoAjcTki9+YzZBCjnscVnq76EcApEYSxwsh4MNsaihqjFHyB0TF3PL4auisSOuVhaOXPd5RxLF27bL99el3kKUr48xIt6my0gPa5i/y+L36fGMPH+9LtPynFTcjLDRk58ar/OxLOob37bPbfm4z08dGS0hqRrpVROk1T+scvr1oRrp9bHuD75V7FaxQnejjz72zdN4zxTGUQ5oH8HZYDcvbp7QZZ9Mi1Fu+bQ/9337iE35mk8XwHY6n57rvFxF+et5vqhLzR23Sb1Z420uby9XltMjm8q85rCQR92gIZ3ye0xpQnXGGpIinxDSNEebqcvYQ9LWGGMWKG0DMbW4LiSYzEx1y+GSvS3XMgRnOArRTJZklG0Ykv8taBoS7vBBMS0IbjJOAOPJz0IpZD2mJsh7ACty3slF1GVGz2AiomJ6LR9agGMt6MPYS4aKU9/eZtvwEJ9S1tZeA3oGeWbAJd2M0EFb4YHX5Eu5GfI0e9OlMKFBF8lmjoU/Caejn32v73aYvGmqN4Fn3xkcOgXt1WsVdDS6BsZYQd9HdRplzkMYVOm0agK5YZdBF9AT+Crk/YVm3VUm4yEHRBSZxVKFtuLVkPJvU0Zw4gUFXSrPlKJJmQAocuwCk6niKAPJQldDkbGAnHgfJ9nkVI4rj5DjsfrP/IjUQwdPQZpdFR2x41WSsrZbV+iVMEAVxIqhJUHTDacuIGq2o0FUN+496X4VXXr7aRgjrBx7Al7wlhNxyBvpYXYSib6nkAHnJEcohJ6E5ZrWdi0SXzBgwNLwurFDjSPPBDI/JtNpEkSt+EEl7SiXYZCrJMy3x5YuimtS2Blx3bOZzYxmVXrYzz6W3FSeHw8X8dHczbumBobZEyl+NtbTtR2L92jl4Ws5L37j6ez5RiFuZERE05A3QMxPxW1JACWmPNrX9OJ5YmlBKYHyYqBVEghFGl+bBipmhzB5dLopuH3niST5/CR2PR5SYcDBpPmJmxaPPWANex+nTpu+LWdHjUdkpUUlGYOEALxYCEdRrrCc1WcjOhaeESKRN0APIkPKH7IwHR0FiAksmUkap1/rSi26ZvP1Pt4ZYqrwa7InWMrWcsMhG0roxSTybcBw6FdEXkwi6MnobIkmbwjpE1E6+YBpZ1rySR4YaYjwaflGSoOUi2cnsCJRojxWFb2u8HuD0dg1ZiLfIBz8T1Km3RW007kWOenA1wd3Cfk6Hhou4EXDmztYIGJtfFj5TmSgRTKITu3VnW+HZE/pRaaqH8vSbHcyhHg+WfixtoiaPNkUm/frQ7P/31bkLhEPCa13GpoMrqxtqdSPRw08oFmzVrMNYa8uvKgZ5IQTdRRcNKzc9WAS4X4gDuDovz0hsmFgM7pW9WkchepHvXm4fmj0fjkTNMVg8vNCFgf5NmaUTwyY0tbYfWTi3/BGQR1kHCEBpsdL/bx3+gghHT05oKZVoXkndyHp8hmTnbIFOBprDPuTrfvfkpOppM47yzclbX1AzNiC1wV9BB8NKPAba26QeWyVPhAYYmMfhx8EpC574aQPzfO1HagGTU28ovBZvZ3Kqulwo3W7P5Re+1buVwXP//76/vNbid/v53rXybGnvSegehnZHbmcI/pTkgFf9OtDXayMTEl9HIWesSY469D9va/Leb+6jPn8OttXPX1elh9Xe7+X5fOyXOdlPitFzIwqD5+SI3qy9zt72rPupSTa0oxLLzY85biqw1xnGsU2IT5l8KkhGC7AfC3ZEJCEoeZl8YAF35YGvCDV+yWFlHr1UBHfmIL0ZKqkO4rJJTCQrB7lG13m7Pnx5DumizOZcI3PwJP3D/96lEP1mwdVaHHCuTqt7HlzupXVlTvxVKXmZbspm/Oxz0qTisGX5aqTYG3UbNN2mVVBb5faltMiTe9wsJ65btv146LjfJ/qMVdBvYaKvx5qK1/XHyo1eCjCIh/4/iAnrCbhh9pU9Vob3PKNZUMYbG4YScSfIzJfnhf1fG3fD82Ntrrb9tPn07msOKguBpim0/P0mKbr8/G8KIftylWF9medd3xZkOHaqdPsqBjALyw7gw6jkdiJ4WUM6ipyOBFpuoaqt8ilyLToFFKClfNRHCyAO8I10UxxReGpIa4jhvwLRDUq0/rkZrS8xnHFsMa5NC9OP1dkBdyZ/dXWxF20cc+ZZRBeUtCtd65EgpBGfsKbpHeEBaSDmsWrQxoZTI46IwtQJIe8JW/rh2k0OpNSvUXXvuET2iCx7IY3s7BEjDiOrcKUhUU8FSxRDQFyx01aD/SbGLtc23OnmEobO8EnbBGCaF6dEigrLD+DxA+cuyw1M/zcd9HBJgz3ll2TxqTDIVow6yclCnI1fWDEZz0/ueRZ+ogCtQmtsmcvb4xbKH116KBvBcc5Fc5QrdmQeh8fTNM+0gAu64NKVWCVxFtIneXAPjVRLS11ujvGT4Of2oF7Io97vRwtxBlhNW5TixjDnQlfjTSF4DktgrHzFfZeJ2sGEvi5rJzfcBUJe/sh3OObYNRSexAoXIGV9pY2lap+Vwkc4yVVBvpXsgjohRB4HhharCGJnImtAZa9aDxq676SqBkxU5PfexAYvaSV4hBFgviR0qH25OUk2hGKx8HRKr6r0T+TlpZHlhQIBrKIR0OP/JBrPxGxzvS7SXNQAU/MnHandbgbQoV2Ncox4K6ERSUzmyGemi8ldoLgyCGrvkJFF0wdJ9LkYnQ35NhZT6gq0o2WOA+hsUtZiYaergE30SVUG34YgazaqDDp5yhaAkXltCFMInMjVaExGBUI+1mc8NqhZcNqh3YjMJyD0wdTDtaDjLK4lBNY39moLIlEgJfCajumVCkg5WJLLlzSUKD3m6L7IaqH7weTENXYFESwJ0+l9+YkWiNgXjZ6gSe4flmV1Yo2GcFh5RB91xRjqsZlxTyeJm1odLNQc2buskp0lZwKpNklrLK9KFw3KdqycbgjbKY6vZDTgWNQ4FbVtAANoxxjMR6QLaWEwHIXyIu7wQ8FWq7LARFVz/V26ntYMrQ6AIB4ncM9jhThygTpe8obp4wMwMNPxKeX95Bb3gzQTcbOMsFxXong6YrxZAYyEC88hijNN/6X54tHgAaHb5AIt0eD5M2BhX9JABdH7w3XrpRLruZNjZL15Qql7fyC1NSHd46dJjoQ8ofXaqeHuhDx2GlYG/h7DcoENbC1OQRWKk8FJzX/e23DsYFWwhiJWCUv7P9TYETgAEHpL1NIYlnyBq6W7MPe7zRnTGT7Jp6QIRzO/00Fg4uPGwWKjbarRtNT9BeKqpiOePCUe2oiALvXGfDQ5MryKLQIYgkm6A8syFBGsZY3pBUqMWb9Cs6412uSn0vnrxK9G0VGqr/TmCs5Jo/1cX88vu+Pr9sdz+T39/Pfv26/749///7+9X37dXvcVShtu0KeSaJyURYhguC1iEreahw/7jtc75fFRW7kf07+4feooUocun/O50/NtZrk886n63W6qP758uN6+ViWDHZ2zbfagt1zqWOOllkSS+OgL1fZmDrW6KIwjVNqutx/64BBAt+ZIRtfJDUVEhH+nnqN6ng2i3KZTjq8XUXC3nsVvxmQj3wb0xYSbhdyGKtl/kkvr6Q0UY84onoCfchiQ9MxQ3FbEWeTx+1OGKqoASCKmWyy8ouX82s1zEkouKNlf60MyXdBh8fhuMALOlNQ2eQ2L8rYErCU5/xUCbXoSZ5pujTcFCBV8lifl9eyvfbLuj0e6yI3W1h9PDallOU6b4+n5mY9ntvjuqlhWNng102xFSUinq/9SVoaommRfDYmOMYm306v+7ae7ttLxQuP7/v9P3582gaa19f+uVxNVK4ydWX66X46ny8CwaJ+5nme1/U0+SAPuRX6P6AxI8NE7mobagRS8ZEF1HCZ5CKpHLzpNMjUlXAUDTpdvdfkKlWAbU6JPRh/DlXLWKNRxD6kVl8x4oP+M9K/9sgh4qgZ8/2VaTyNwkCgaYnpgjjzpFkyikeXjHIYQ1viBQ8nnSmRRtAb/I97VA0cOaBSNdedJZMTDSAyJ2uFyItucxGwzcSEIbD/rHYtoLdiQ3f4dsvAulVZUFxQg9cfmmsmtUEnVG232ybym/71GwFv2n3Da90xxrelfnq6E6RKx7F4TrOIGQtQsEdIOs+ezcY6sC2Cvo4xb7M2iLVcaSlyPKiyeFKv8q9S0Q5O45GCY8EnStDyJ2pDwB26kQ9Tshei8sqZG2b7ilNODNWRTbFL03kxehLx2qq+ODxZGaaggwHsJR5OLHnWAGghnVKyv9Xwh2at+RzVQ9Mh3lA0DhSIo45t4BUpopfZa+MJcXYynTipfXKRTro2n56CqTf4D6MLWETvQ4eSJpzlqhECJnqSHyw51UC2wlk3zJh9gEqX72Q6BL5HNKwRBpp8PZ6nZ+HQ7h2bhkcLca0iJyEOtvPCWjIJYXQRoL7mkIqDTJONv/vOpiQ9NijqHl7L/B3ZPLYzYpZY88mzSYmHb1dzT5aEtVNkYjaYbePbaqULxhJgd5Yg9U5UIzeXpTMI64rzyIgdh/0ZmOSprOHKIUnLG2HFhKPACvAp0/JHgPGGROjKB9D78zg8Sp1JEaYowZspFfW3YX8aQIeIr5XnlZsYCKe9OawlSbbJZzYfASFBKVMrOU+0asah2vRBTNNWVUYaFl3kAdIYPUPdFRQZ7Ub1gc2BxIn9rINdR+m/VxNDi7d4VbwkBqWHG6VtGvKA7HxVS0EiN3VJHeNAq5AZsNB91ajIe1/Fv+yQxajKJqEWIGVIZt4p5HSUX9bbfyMHdn1INCqm7BV714Uly3y7M1IlUtXg9MEYcaj658AR/nalgx+EY43MDQUnO5dbHLk8JGaeU1k8PrfxE1lQsxgx7pqKqrSKFXc3RVGxk3fcd78cVxvwHEh3GSTpruq98MTgQbZNqx7rDA4jiXDmMpGfhcaSCdHjag5AjHcYvTRQ2XBvcQKM32wu9/Ir0omlegmE1ft8eOXNtcYvxl7g1X13SD14GVQUgi3V8lNlyItSQhYMuPjn2Pvx6qqArnwQJ6GiribPJGAB/voIQB8KCE8NGenvUsEbxeR7tIdRPsJM1KOXKFGkTB8Y8MsAtOimNxCY5pBOCa9UGasQbFCW71Xq753HrPb2bTWi2vvrQlUtZ389lfjVEUfP5/P7dv++32+P9fv2/Lqv38/9r9/3f/31/ef3TWXPj+dz1+m+UtshGWhGL4IJDaKaLW9misEdEWZq2DkIZzCQd6GmO6eW9MzL+XWZzpdpuk7zz8v88+OiTO+HbLDLRfnd63z5dFPvdbnQKuK5VsrryrDS7KbUPy+zun/d0qtUAmfq2qHtbOdJrvIwoiI2QRNVYXKemAnh063saeASi9t9i3PIoYJwpWcuGDx4bOTQYs6BWXIm8j8RP5YrkWCOlnoYZZCZ4294Uq3ns09b9riHxZnfxo98voOnPAnynkusRfpQX5TWfNGN8sQsoVGcMthw/cwJ6Cnd75OK6eFUVGJ7Lcr3vlauFnGpWfi1btt0XdaXPN3zun78uD4ez9cqV/Xz4/S4PzWsQvPWLuuqEub1uX/fn8/9fFPn8Hp7rh4ifb6pRHl7uFKB0u7wBg2u9uI1suH0em6q0r/P08+P5XlRybNwsUx/nD7tSTmgqb7mfV3n66ZzgxUIuSr24UnUIkp3z6bvWO1CTIROjAMwYFlEaHj2hF6UrpEhNxoxidNCkZQBa+qadKKbm46HdjZn5BeCI7PoMUYshmkCJPEJWERv5/y2qi0WkqCwmTNyAGeJn0bo4E1wSwMt1HuY+MZ8LQ32ojWQ4UTfIfBLKodWdWCQPeGNxOdEd9QOD7VHXFjFQeOR5LFWBDN9pvlalqjTmdZ8N1EoSqFUwrbm1X66TyHq6xxT8LMZnqLHA02bahWhOE9eM8YLDMz+0VY5scbPxM/iy/oLyJZeG507TJQh9cjlmjjTjNOijSrHYazoFWSNUPuONNjuQOo6d2oMDjaBCoyLJBJZSpxPXQxphWoy6Qy/1PPFgNvG6UoqUUmGZNB5rZLQ1PgqBnjAiXhE66ZMuJdFU0QJgrND5fkvNm6mSPE21DvCkxov77GpAokD+3oceA5fkKxkj8dSCf+/GR4pcuyxrIyuFKg1cj8GQLxE7649mwVAzS62hRWYL0fd1uitCImZsDmXAS56hzBLp2sMdmyAAxUUmuFv/+U5b6ijYY0YB1lLxq2kzNZKhjATlnqMukPe5RMCa/RUZx1aQw50GPuP64XqNErjcRH0MYtw1GuZzU2FHCadRbIn5h20NcN11+Gl12vBhGbj3hJ4BGB435EmJEKhZkSLSqSoQmAFRpVyt1F6zV9lbmefSdNHjK7dBcXh4ERAtf7UiA4DMbNPmR4xSNwisceKNH8LPPxGRvyNUMoh5dkkSsDVZgYQLhmCBxCFLiA1lFg5JQNjBjZUKUErr0uC2VJbc5POT0ziDZdRdXUAeGdzoaXTfArrFYvGSjohVSTFoLuQK9dUThjjNle91N2xtyhRz1PLsPpcyXPy1vx7eMISBYzOU4ZhpicRf0/sd0xdQ+YbMuYQxCx7paokeIQW2+lM+ykmnsEdMZNcHFtKRQdrINUeWYXqRKDH5gTAhHMiF2J4dKOxObB6aapC+MQngqTeGs5zu9Ml9Q7yZPc21zkpP4+QocuZqs0gWr8H8gvrtSbnIBLXhDtuEMXO84Oc9HaZ1yNbD+KtFujmI9IJg9dWyjMNYDjgPWDEQ/xbR4warNRn1Rl26G7zzFu2YQLOTVBOXgi+jIQgoKIBXorhE8Or8emImOE09q7gmHcVMCjEaEsY3c/MUyLCgzMoX5ItrAw/l0yC2yw7Ea8RX+wr49uzneDPljxD+NhRTpkNDRdPYNprxhCpyMfDK/q407L3bZ8RR6Vu4wWMcQ1giQw8rG5qod88+o41YuEsJ63vyLJoGBOqdAFH+u4+/8aJuO25P3y0r5K/6/Pr+/b7dr8999+3++/789ft+a+/vv796/vX7Xnb9rsGzqN5m+kxugPvAMbJK8M64qTUCrWzTdvNnMYUfDPzcfHI7/l0+rjMGnA1Tz8u88ey/Lgsf/xQBfSyKCqofK6HWs1yYRZqMahaVjGzCqH1y/l8Wi7q5tXw58uFwbmMfuipRfIuPZ5K/0TzkwlOoq+SZCh7CCwyMZK7W6JyChqFVcD+QeP5Dg6jK8/EEyqEG1CACXIDo4qVxtb0V6bBeYExaFQhHpqTXYjx5vMaGF3NvGKNWDb96Q/57LPiI8qNDPOFmkLlc22BuOyLwdQvTedR9+/8mvbtdH4tJ41ZlhrSfkRqaoZWvu/1eD5nTRHf5vO8TVJ287Q8Lxo9/pKbrPvWdXvc14/r9bHun+vler9/PqZ1f30/npd1/pj223PzgPF5e500mtxHL8l+caEcthsHN9z1mc+VuT+2l7xiHUz8ub627bHM64cmhG/7Yv//dTldnZlSfbOb2EWSRq/GPwgRZEP90aQZzhZOmnGqTz03SyA1B5gQbI9nkhDCGQpofqkCrNp2sEwklrFpNKdey/o/CjKyN/6p/8MARslZOI84SdIpvC4uDjIVEWazg6+jCRHjWI6JmdLdFlfXBbIkqHMP7+ahzqRQnNB6gSEOukv0RKRinMHGUFlXngVNewuT8OLzY4dD7sFv9r11MQeLEAwn38BS/aFrGSiRanKX4oVYJmnodEoZ0AdvkcNjiFT/l9NM8CFYsr5m1laPOgN5GF8VDJYDkp3StoiIWCmel81N3oK4EY2bxLdX4p4ONb/KdrEhhwRTgCniaVKMCEDj5WUKQ9SK3oilFB+z+UzF//wv5JBp2NSYbLaVSGgvhYFk6yzaGWc74rZjzTR5EsGxAQWpJJIW4sebQF92r6wP/zwEjOViWyUWD3m4/k8/WDUwHbhTy6grLOBku3kWeZF8GF3xwOMQIPeSugwuwyaxdINUbQFq0Q8TZpEU2YlpLcNnUz0evRwZYGaLkDBgbDKVXLNr0Fmt4L+PLmMWjMVV2woOSl1lXQOsAF+DdogVBAPa6TVEalXClKAqSomwTNQeCfDwvl6kHUrzMk3TlIaRmVWgRAdb1cJ8LYtqmeXLlFSqN2GWvDoH/BgE06Qyq8UZQVu9XrJFQZ+ecimTpoGYUidWlhXH2rIGChExYoHYMnZAazKSXsdyqThCFB+uxltlIyJ8kIF+w7uQnQFgMUpd+lW/I9eGByxvc56E/x31D/04icrzI/F5c19fCR3ShjgG6Dl/OZ8cnJz8HSULb/UAVv2oFn+Vyl4rv3QmmwCYem8RkLGTEaMePTWWR6K+/gJ1dykfy6IxZcJ2qfPhMqrL4mBQwlTvIs5z4/b5BLIzdTcCZZOBnLO1OFEfIjAlwdyY6xMTciAD/qE6K7o53i9mXQi83Q7ly0zPPyRKQV/qifwcBqc7dbopWLSLgHhCz33z0Mo5eh69b0Ec7AOFat93+Bhu/TDh6oiCwDdRjcHy2Qj6rf5kIABgQpZ82pofWLoCPaTKUZNYSBi4I/CPiDwgBKFat9bPS5ZgjMR4v77P8ObCklkVkoJqhcYsClbEP2LzgHpUz9hjlwd2XEeBVR6mbzAP2+WoP6akPDFUHhNrKyBF7LLuMnb+mauDSd/QWFI/zgKMBTCb+7P2SODjoVEm7HdIyGQkxkvzDD8/OE6aID88diCq69EnWUIBGFP4wEcMgEhvUDGgAfyROf581M7kbkGMnmduCWNRX5RfZCbK5VCl87a5CnqVc7DuGnil82weN2WA74/n1+3x6/vx9Vj/+r7/+lbZ83/J+73fV7VDcPJJbLtR+sJ64pbDLiGzBFDeNmYb0h+v8p2U/dg083dSSFXe73WertP55/XyeV0+7QNznO/HMv+QAyzmnuf5etGnF1U1+zxejZhKDbM9Xp1n4491UBIHhnsOVA7w1Vr1pR3goUS8DYZt1gGOEHAZI+ZysBWU8tffWE63ZNLJQR2pJRoV7KDLcyjdiNIyFstU1+d5uNiwVvzPjupIAypyPlYcvwP/kGUOx9HikrgZtD/OtbYZlmMgfGeCSFZ0YLdpULG3QTCf1kibSXFwuZ90AatiUOWF8lFP+6bfTRT7ui3za51WvdbaxkiZbc2LHi/L5eNzfzw1EGv5nm9qP18/rssP0+v3Y1tfJ/1f41Rej+ekpLEiB/KhUfcEdl9nLe17fenopae+PJ9nn37w+vn5ae2QYsjTeT3N00vjVFYfn/MQsVxmjQfzuY/kmtwoHb/LvKoQQ+qfPbeawjyLhcRyOP6wIRIcYw7uOqzGXDAixIOGKiHQzoa1QxX2WUmGxMBNxBPGMkmkq8LUFr6k0XtcFhkzPNESrwkCizvix3IYkfMm5MY/kXYspmo00icamf34Uj5VIWlcGoip9VZDmkXSMWhHG+S0ENKSI8xnslYMgiPA6OqYpyW5Ue+kpozTRkkTNgBR2ZrTLOBn+0KZPt2dCpVJ8yCerZhImI48ZMUwNrpOJnMEgagB5qL/70ofn2NiL47kce8/BCSmczfCHg53Ed2mvrPOdhFs6//7/zFBVerv+6vu6TckIe9CpCEP5L46vTfyn35nOjQwRH0gi4GGWscfrmTPcECDkpqmiCYoCQnDk0ns5wsenl+wB1IHEOPBLmskLaSdBzpCOLIrcRHdAKM+W4DHITKEBfHBRs/jwSMsjpBlQjGH6Tve6fcBsbgAVQHRDqWqkoN/r4WmcG0ESNBB3ZD/54YXyCuZhGhM2q5DtGqYjDGDpY6UDhWHZli5rd95jmHPkjDac68+cFQLelOVfuAaAiy1x0JrlpjlcsnI3AQ4BYghUXoLB44lZDmFWMA+GusOxAS46SKhJ2mV12Ov0NdrCBahmiAst+jfgosqy47XxvxFREtNJdpBlg8aS2kKm1CYmHiJBQRRB/ARupE0y9hhv4IiWUXj8F1rGumG3bM9MMY44glTqV5xQxJeMyUHrLVUA/1F/6BiNbrTeXPOHILwDjxrm8AjQPFuYaNiodh8I18+8DlzVjKTNHRnVfF4/zfCMLzLfO1ZYnwbQduKdJj0DfmQIsrA8XKOK4Gm2EfgTxAarAeZqbLxKzTgNFIxLlaS1/DYrB469u46SSf9qCUjgIpogHeYeMw5ChhMfppP8c6yfAc1H0NzIVXZIOLwYPVU0tbg8C0GjFcP6fJxwHjwcuZt6SExL3QNYqLo46+Rb9HOdxqnA64xcygSMpRaiLi1hy05ts2d/TaiOWKNnxoqo1kIUzXQGcRn+yWXNtbrdpdcattCtyeJ1nKR0BijpH1ht1n4GLkISHoCBx0GiW/AAazgxT1bXtBYJjBt2pJUNn9bXERVHPgMEGOghZxN+U2e58OitMROjYar1/rywZPBVMnezSvMRMpPxKK3ZV7w2vuSjA1jU8fIxKiNrqYahQcSW8n9CWR2TRHr/ER0kDlH8wzZ3W3GXfYiS7lvcqXy/FCxFk2jVGFQmWihRC60llASLU/4ubFwgJAYZ6M6VZU22V2PTVkH9zj9q180m2hT8al6Je+P9alpQd/ft8ddLvDX9+P34/Hn1/3P2/3fv7//+n78dXv8vj/u7p5Ul6Dj+j6EWTZWuAmC9EwaIq2BdQBhOuxlrpT2GTXU9e77RT6DRNXldP5xXX5cLhrsvEw/NLTqfFXTr8Y3f1wv1+vFZxUp93u5XAnsajHTpLN9XbCKGzy7EFq/6Hxf6zOfIEq4hBInF0N79BEcA2ufXjOdTmYLKpz1TTrcQwCJwybuZmnA0SORzLmpoqtcg5SmOgspTeCRCiYSOw2fJZ7VypNBQkRnrAhpKsnaI8xd14VliQBrDPGwLvBQcpKmg6+k+Jz88INp6rZN2KvMKQak364vCIhjG6j6S5VElmyqsU7qWaOz5slFB7v6Pz3HVWfXbjPtwpQhLIuI83N93dftcrnIeXWH8Lrvz+fjdlt/f99fp+m5v56bC56n+bmen+v2PL00TdpV0C7xFma31+m2bor3nO7irH0661TahwsClDWcTpvodd13DZ+el+t8eelsDVXXzvI0z1sa82D+pIJd60phHj5YahZNAxFpJv5WR5gcTFbqZB/CA6Ad8sPX+h7OVEBSO7z7dpwiWEZk9N8UrgPnmj+6gv7z+itRtxwTigWZ5eXyEk/4NuIEcYTwOZIe0UUhaaQXUhQOsekasYChj1xlRO6onxyhRnc5btjU0YeszvJ2e22vVV81ty0Aea7sSoU56oMSrUOtVWlYs3LAR7PuuBk+dBoZJdLN2DnAATC9L4wJlGNssMTiD3HWqOjkA7oS/PJhGXaVbQ4Q0Eh5OWQUfUcJvVG6GlBeQ9E8FC0Tv6IQvTJf4+zt2TLLYpnZOh6XbKsxBnZkhJU7naj2E3LSBzJL0dFkIM3xoc+sJIYKcT3Im0mvJKLiI7nt2LQTRxZSBXWjlAFadPq9oaVMJ7F5A4+WGuPRxJIJNPKln+vTB6hVtu/hsEnLg93T/2ZEsAIbLRZZ/DvGarDpBLppwIcBwMYax2U44UXHSQ6NMI43z/dXGXEHaBMTzm5q3ujKeJZiAdtvtQkzzSvSOHwCUwwCiLGBjKp9k7NjiaJimyH2ozoanIp/OR4+GIfT45PaqsKxHZHoFcTih9ZwS/suVUjuthERmleqdUiAZCUy0syP0UEuyOJMX/bbfAzw9D+gPU5NO2mQRQeHO/vswKQJEU4W+hSN5fxMF3JYwsAtYAMWxrrTUu3lUTfCOA3vzvBioKXZ3zGe0rHhDwlAFVQj1paAQiOPiMFXeQ+1DhbzspQGYShEGA/UwPSa8DbNnsohn3Ml6I+QrbVJbiKFYJGDmLkJGxkJlTCsTGtj3AZCeNBJVIe3R5js4M1Qoc/CoYLfisMWOAcLjVaubCWR0MCMDxNoCLBp4q5GQcvKlgXm+THUGkPy05B6wRdrNx9wWTjfWHNgMvl/mT5vUs73knIHp47vR86kU6UBqjwzsb8B+gAFIaJbqWZnwr2/e732VbvVSSaAH24shKrkU63hnxgHY78DAQGaUg7ANlx3iBs9iA4lR9pan4WNCKRs0CRoX2HtII1X65/2mtBMrqcmPBHZjTwI7PVcaz8S49HqPGiATv6Djz+RUd4Cm0rVms292MMteHbAjREThX6gr4ynb9106k9dCkWeEEYlacxsjkFsdK1H1rQKqEBmRTGmB+dmffFuAvDKPSjQH/sWsJcQxpDY44dnIFhiGuWlAC+bjY5JQsuChzgxCiSfFvFucyIhUAwBnGNtAR2AoF/DIB0NO3YxEmjHkiuOsg9/4AN1xopze9kigYBRYhEWqS3wtpgIXKsUEFAnB2V/NGucR4oRxENoQ2ZzbiKFzxZQ8kDStL4pCqnc72N92gV+3JT4/bo9/vq6/Xo8/vx+/Ovr9l9//f79XO+bknI+f4CWP8seuRDOELYVNtH688SxrjBOd4NdqVuBUWIpp11O76xo7nWePmbVOf/8uPy86k//U2Ou5mVaLkreTsuksme1/s6Xy/Xj48qwxmVeRAfq+9XmYWSnfsn1eg5W5W2KBew4TzoUyd2bFWsNcHC+BbVrLYMPjxrXUGKRGRM/1F+EDNpHdkEub4IdVP2t3KP85eB/h9keKDZhI7pD5DoWpZdgBHZAP4vWny2ijiSgEoeKLr3X5dA4S+CW9wRzOog59bq0DrFCDYeGIs1+ljY0IxjSCay7anqZ5/21LbNahbeZhiT1/poWVSW9LK5I0P9f+/W0rNs0Tx/7su7b87F4mPR8/3j+8bnI3d10kNK6Ts/nWaGb7fx8vR7r/vXcbp65vLkEW/Og7U98P9bz617Gl6n84+OqDcz7+bnJA/aYa1LHTIX0nigSt3BO1TdnJUjwuG5fe7CTEzigRMLtmQGBBkldLsLNZARnD5wjwp1V1mX1WdHLVGlaekfR5BW2s4c1rOCOR0CNAtQEqf1PS0dMkbrKMaqqwfzMg5YidE2RiZxAYFSH8hvyNPWQ1hkRvlbEpjr8G25OgrbS1GugATWOJUD2imwQKSDUWjkadDGwvHgoNAX52WpHq8iGcXWew1H2Os3yvTduQLJt7UWEYVlABlANWLwldfAQyoLYxnlAVdQI3rNzBjbD8YPDxFvxAdynSuVXyo5zpd5FPsmGR2JuPDa6GVSS9U3ni0MzEvxUDgrvLsElXG6ylG2QKTcaHOBeNMp0cw4FIgoNfggNA4bNukUAgozowzunL9rCNk4GIUFOfBx6HzGNTehZo54MbEOlu8sxUHHzwZW14RCGRZv/hqZMn14wYPRnyUj3nmIrL4pHWMqFALBfwxtoWzwjo7zswN9BvNUGN7b4SoeOh6zG27OmduR1N+ncGh8cQRZsNGw56KeDejhok0caXjZ1CPK6FNkKx8+JPMfvSVoiS4/rhlKOJW9tQHg9hlQAMRQcL357TiJljm4TdNhcVmPQIfui87C/LEkPCMJKPuMND7fcV/fUxNnAgadAB8gHG7xBL1Zar4jdyD7xPPVnA0AGkyIQ4drB+TELeH5XSiwBmOO1DLrBKAAsdJBmQo3FIwFVX0vk3tCP8eq1wcZiUrU6mDnNNonrK6dvOns+Vyeu4xWUHsNxiZRb2KKZWHcDcGbRA/Dcbl3lUZmh/aA3uEdrML/asjmj8GKLn3YGkCSOWNYhtuGQPysEWtKgkE7T+I7hxUxnu2jJSNHSQO8xQ/K7JmmU/0OMOXBS/3R93bDJkM9hcBfjKdJNDjlRD4bfRQrY+LOj7Sy1p9jBImq8UTwsQi0FDxU3sbtq6qIfWBpAAITbflZAXq9slj21rNqIQR22Pc54KFpANlTpvrPqLsBYmQOl+o2Z1kHmDXhj1+GEW0NARUDrrYs15gI3IvgCzRxgWLXqOBcGU6gxkgOICOBIkOA6VS5/+4FePY7mCJkRgqQtMEPkfTvekRaEm1fY0paTd3UVhQQr0m+bxwHokxCgjfXIxyFZgXkezEOwvCJxgtWh3ELoPAJi4J9vkjS4HH4yt1Ymx2cwlWTQU6ehD2mfx+TNCeEHtv1QfyelXGsx2i0cwFMi1geFGaKDmQz2s6rOXFsV0VKFEkIArkFAwzbHGLY8h+hDgj6QCDDM/0ZwgbGcfdcQv6Sh9FO6KY/FC2WCEWVjOp7GValqcvFRN5tSYgqJrsqu7c/H+ng8b6p83r5vj9+3x1+/b//++v7rdv/39/1fX/df9+ddfH7W7KzE1vSKhUqSQpjy28p5fjEuKgO5lgGhVkMKzU6v9TKdr+fzdTp/qr/38jEvSv9er5Q9Xy7TdZ6vV7f3LtN08WlGH8s0TZflssh31YFHagydL7nGL1jck+mDgl3wTI4YQzKGl37M0Jms7GommMR2eONrbZcygVXVJyvITyyeFHOiG0tXGrOQVBieYhrn6OuJ0CAISBO+z/5RpjLkixEW6zakBkyJTxLUsSAz/aj8IbJW22CiRcg4xJwBOXZNW2Zgk4r2v0QB4IUwr4Kglm5CAOmd13R2kXlklMKb9CXS8WZjLIcbqzBKDUCLSot1yoSPJFnkxKoM3/ub/bsE2K4zh9flenm6QH/7uK5KEItQHx+Px6pgzbq9Nn05OXUskD2UN359r/vXqlHSt3Vzsb9qZx/nbV/vTD/QqUv79k+9y2kjj+y6bAqpLPOywnGnRX3Tk5qbBSuUlI7gIp9m7Z4zkBxbVg47AiDxXFDQgahl9yqoiIj8C2LkHyAEGuT7g5osrGopYZX0CcnoitrsnEE4Qd8I10Zrxbl7j7IjsYhk+BYTFCFE5hizgZgcMEMtk9Bkc7lgnG2bUNtoppCYVJTCBxFY3phvo18pArNB/CF/Kd+g1qlZXB11BhnDDrH0uh6MCkS8zS3NxIrRG+gnvKh7HBYHWR7GM/BVuUyGkwQThsNrw88GHnmLPA4BzmkDf4wAzGgrKMQuQYFlfUVQxeaus7ixYbKRCNn4in53a1JYwOBUzwXzGx20IivrxJoP/YaIyHV41lB26LI0ub3KrY1qtR7YWxGEP2axg+yKdeeoB4WHhjeF3bEdfIceKNJyoSidgV1nQsyjnBDs+OQwYm8k0hecz9KSTzHIjQpeGA7Mu/O0nMFob+4Jl2MN0lNp96HnmQT7A/PD4Sf4fCj5Qy7i58aMh1mwLfn3YGmeyoLxiQBD/gfzQQileUxK/hmq9nR+2B5RNqkJqO0wRZWnEqaOzP6dlxUydZlDCTLk00qW4KtJHZpxRmNdVxJuQA6E/Hgr3SJR+HZ2poxP6j68SmZLmboKNxZjsra5mrAU2BnO7abDh3g3gkKHNoS+hq/sN2EYutggeMWOZK30jbe61btiFTX3mLEzJEXZ9r8LTfdO0XQXMRk7jHiVVwlu++N3uEbf4seHprVddnjIhp2xjHdC6GlzMDZp00El2olwZEGT1hddH58Bdqq6gUrsjUcMlPqAmq9hrMYRRSPYAjt1d6RP/f54RAFL/SyVeDlP2TZxe3XNvGAxMG6hZGQghgupPj1O6GITdaqHN4hB73+GeLOZXOAXYvIlQdDrB72q8nqTwE5Vkttz9C8kBtU6itiPqhJGnETP+dAIGdMLK4dKqrPCMKEcyZrRAWEWsSpp97KqbjBDc+KvFZcPVYeb4JLsdMwHCZqjILBtB72WAIQcV1bmgIIwT0J+kdVU5mTdgK+O96BgKGK8bEAdsegUiIo6enUqGIfkHQ+OqPLjzKu639UWIcjgjzgf/j3foP+oAIb+/B2nIBJEBzDvbyTJw8uHaM6G7KXkbXko30Z9NZ4SfEG97w/3NvBy3jydLF4bkQCz+RUpwZtZDZ5CqcLlkzEm8uzYT5UH2OVcz+Oy2/7PrITAjQGBz+C3eqRwQcRCYqmiEry7ROGC6biVFIf7fe2fr2gZxJAdJSaFQCxd7WorIEQCkUbcpjHQFNpg1nh6pKWpv529pTb2RQifWHt+sjuHSXgJW0PyqORZ/ZCrvOFVri9jh35/fT/9y6+v279+ff/6vv/r9+2/fn/9eXt8KdWm43K83TjuHDNSWiwAGGeYRFBqOXr+MHtx4axvmhR/VM3zctKZRj+WWe7uPP/4uMoHvl6us/p+P5ZpWdT3e70s50WNHufLWTN7Lyp/1iAjZXw1EXA+a7SVnFz55TFHPY+DWnImx1Ddm8F7Nsiaom91TiaHQ/neoTMTEciBdDyEsEUvHuYKsiquNI15sMYgFqvIdCfyVSWiW7a0NsEKvGNZ5o0B++CjFjfy70RPcE/j0hMZJO9mA1pVkbVbpYSTpYlyMTs1YfxGWXoBQbcyWNrMUmKZTM08TTYHAZm0JHJWkeJZmmSbF9sXiiKp1ErXbz6YQ6XRApW82dNpuSzP5+N6meScyk/WyVzX+fy8TPfH87nY7PzYt+1JfMfBHa3ovr9+3x5/ft/+69fz92N9ah061vF5Pn2fn6fTefVhTQoHaU71J763sujnj+fjeXqdVqcgfMaEDkZS+ntWRbTsz9JEaT6ISJl6xCpSqVGPoQczkwaQ1mKNQge3wA0/gD9KiiGPthKBSkaQEOHAlYlfnNr49u4eBaYVVPqtkjCfVqGyuP5XkwON6Tip5WOsCIQgjJHgdaW0Scar8iOHBIv96VirYVUmwkrCXra+JlqNLirpJ15VEZ22HWsNb6ImnbmAQsQ3Eua2RAnDykTVw4Z81clVwx426IokoBTt65UTYYt5mRrJYQLHk49CSmzjCDGbx8LdxP1xrWM817xgSiUfgAsEXA2VYYror6ERapEF344UetHuRh17rK1LwDw2F11jeQWEUHoIOO2A48YMsuKHKIYOJOq/3duXgugAMogq0AwXaDKOkd4ObtWsaRRJIGZKZwea6nk9mQxyKYrzdLQShBSDqRxqUDTeZDtqZFlG610Eu39HmQYLiNsUnfGpfuwE4lKmxToEg6nS+3nLoFcDnzWGyGu6vDEuMGF3lRwj6ppJ1KFsFTbpPgfb60EaMZSpGzPOKnqkhZVygiF5Pkysf44TicM/lmq4prOODvAcxOrGo6Xfy/XRwe1bjtHCd91VDGHgUEOulfDRQkPfnV8cEx6EaeziMWaddFCei6mP24Vfzoqs23JGSxZikPutB/ziNA5rxtuD+MvP+UksojyQdmhja3J/Rc1Bi8M3RY7ehWr1FqYc43QNoRV0zK2/OJKEqA8HcrZk3HiWR0Jm2FKidVpGCo7Zs30NJumaSmIvQ+IBEQDPPVkxOBovgvLrcwQy2DfBkG5TGi/UXURGScQXS3CpMpxHo2nDW23SziR3B55lOMDKFV8wfEgGumJWlpuifG4FzRsFTuiyO6VhwMRjjurZLa65R8S//ItXZptFSuYC7kwkgBHHwb/4EC7H8Bz5JSCHggEXielqVa/F2FehZf3MQBbQuUqthMluLWdzMm1AHELProLG9ABHghfC4CAIQS42yTbe0R/rZZt95uFxQ1q1QH0MaP+KtuMAer/XI9Ai1/I9Ai9Fo+A+rxuHTKR0Z6BXFSAixLRtdDdvgjSpzgN6SGvvMjTY5Q7n1VENQ++gn/zJrW9CGbuWOIg5N+rxoO9o9ojK7iiPiSTOHoegsb2Gg8jqg/9wGf752AraOAs2E6IM2E434ofydi6joL2oCpCqZsrVdX39KzUbuKnZo++y5kDs2mbvhBWDtEIyUGA0bckmC4D1xlEO+Qw1E+5NYiNTryqdDQ0HQ2OO21/QOugjBTYat6viOv0CenXerwY+q2B01XFHz1XH/e7fX/fv7/vt8bzdn399qeNX3u+vrz9vz/v+ep7Oq/XpYTd6WaotGSsqMJVHKaO4ENWR86GUnI2UdWCL5TrNn/P5Y5l/fmiwMxlgneh7nT8vl+ty+bguzvueLxf5ukrBqf757KyjEryXeSGNK/9W5dDq3XRHBXOqLDIUHnU02bngkEMCdmEA1Iph7ookeKnhiRTvhUYhqViuEdtoR//g8CfhBtEzj8C3MIqSJEaKXJC61tEdb+aBBYFZXqe3mOtDlZyviajC6kldAJxtWquqDQOU3+EM6KlLNwNBWkPaInqUTKirE7c6yxrDPmDzkkOO68PLyRaQtg6BTrv7w88uo/Ao8mnZXgRhrQVcla87tn1fNMHFp1Wv6+dlXh/n9TI91+1zuT5XsdW+r7pQ/5dTywDYdTvdn+uf949/Xuf/9aeq92/b62G5/Hqd7g+dLKy3rHqpRqcJUld1V7pM66VcrxxxNSTP82t5zT4a6fQ8nfeJs+FcSmCb5aQDhM2w5fHG8TOOLkHeqBqZ8on+R1C0GY+SNxmaNm71qavQGpuJtjjks65wfZzhrAE2prwwIzZb16PnMwjgIIUGrqBSpj0Mz5YkwbAQwjQu2LP6jtdUaZkBpbFC3pxxlFNFs+2itPBAY7Ek9GdKsiMzZedmCf6y0ODLyOeTavFsl3iqeEDxN7Knzg7ThWLD6A9HxqjM7DODFF5K1aXryS23KbsGVs185tpwjDfo/fhYjbBQpYZkTEaEGpV6QsxOgKv1cJR0xH+Hp77pXGTAUEGpwO6yw8s1I9CL2hWdX1nrKCbXxj3RdVQvkyHwTtphEYMQ2EayDFvHH7ihLI7rAXmvE5mGh6zW5ag6bnF3ABnmBixNCcfdQ5e5hpR4bmIDWU+y5tXV4Jb4BagWeZTKC6bgCvzkVm85mKjRFBuBR/rdI+CCOh6VVvq2U2ZKPn8riW+ZTwAJ0oyowBJWChIc/fEX8WvVZgIla4QLiF6s3MNfDT/VefH88Ngzw+TIACjNL+w56t6Cfa4BpBCSAx9GmAA/SuHeuA9BQW3poQIT7ilZmxoYLwXpskBqKdyZrNGJungkBZJ1M22ExgwDU4Nnp/tsvwDX4xrYLH0RGUVYQRb1/KYEw4yQD+iC7mLdvV2HUiTVXhHvuIvusa8Eu1rzlcbGSWuBSikNm6B1FKMtwY/SVwlCkyYkftnzjtXoW0INGUXRV5OgHdA0rKI1GH6qm8KyJ7Y87oXVa9yzlySBgm5gmUoSsGB+gabSOhWoAtBgMuGfQ28VjPXUB8seaK4FnHVyPgcLRTti74EpVKklXUo0eBdLL4yA80BtWG5wCJQQJnQNHbNh4m9nupJVhZqd8li2kMzwa3IhNF0HfU9eAFVEd8GxPgI62WzYYaCkNS3DbIqxODB3xFkiqIJ6FWNv6ijmGCCuDUChGsPVT/SaUx4f6ueb8ZYxOyQiqRLQIHq3KE3h7yLMl3tOkMKU4nFPggQNDYxFJAX3Q6/a7KAnL7gvHrPfcEzECtaA8/Y80uU2WO/vqxsyIJTsz0cit3CtzId+Ob7+jab9LHJa7fap7kjhSR4UnfHGQPHT3paAwVwEDk7ONeN06OydaothKPBXWBBDC5AMX/cIcGKR6DVUaY4AUEFMGAQbizuq8EZe/CAiXhUxGTuX+YTgLl/nGaO+YAgd/iIm05BYxoGVTYoeS0UPteXIP+KZkRmaHXiAt3jy82wWsxKdiep+ePosVEeqebo6a1Vu73N7PB7Pu1p/v7/V9/t9f/71Le/337+//9efX3/dnjcllydm93XSIYtIK3XHXGk9aVtMvs+Gvn/zHF2PBT69Jg15dh73dP68qIr55/XCib4fy3yZp+syqRzaZx1dnQe+zPNyUbqXmVfEQp2Okzvr/3ySn/xeDXuWu+GcnRbJzE2VSdEVDLmBa28EYFujAfbER8okB1Ujkcq5jgwOgwXpUX6FREAGURnbyjFNmhXElGl2JS08yBzE5L5vGRzgQqkISwM2MtAlLb4NNQ0dan0qDbQW5iwYrccatKtF4PAczyAZfg7ar6YMRUYaagFJE27lICDAQiHrG3Fn9zBXZi60rtGOsRJB9m0yfHeb9lWjy4g0bds27fvZB1JM7hact/O2blf5IfvHMu/7RZXPHwoA6So1sD9V2qrMgMQtpvK2vf6P1x//x3/+8//696//69+//r9/fv/1eD0k1eZ9O63n19dtVeuNbfF1v24a5Czpue/Tsr4ul2XWpOV9VzZ7cZGFSwq3+bU9l2VxmNN2vP1BRdwTlbZ2i5Ng6egOSTVaxkWMgBiCa0iDIQlLRtVNvix5CH7sK/pVyVswCsHusNXcMKzrMCFUon27Bj4ZE48jX2KGJW7D5Tw0DaxehSspOporTpouFBAQX2SnKcqrP5A6C9hLvFAxxmsaAq6i8xcAYmRUK/Tg5XjtY5wQRqO3UElOTX8ZtPkrb5OiaxM/2uOwlAGJO9UPzUB1+pDn8Gxe87Yv63TOdR8oi38w8veIUGSEvlQKrdyfGAF4sP3VTv0Dznkbv9sAiDWf2iMvAmFXaLEJn5aUYBof4XUcOsvnopKrQPW8KSb02VG4R32Nrm7NYNJTNkcD8ghNQkTgDesrO0J5nxzLGPfAEOazlEb/fSfg2ifEZLNxenOWDAghUuO6pWmR79ROfh6gByY7SAeKNFS8zgpzP7zkhSVpzy0+u8ZMxMr2Cb2xE1m8OCPRh+bzjRNHLhg3YzOHxUa65n81ydqsSqMO8n8YJDAGwwX08jTa+IwuLGeLj/Jt/s/OXUHC5V62F9PkidMRvlEp9zHBzj8O3UpuuF1S0s5jTyDZQd68rNGckRMw7RLjpKsmLBKDeARNmxDKwg+3Bd8zcuB8WtgQDD/Ku2G1zovzHlvVzKoOEgEzRPVr1saaD3qsXgE3Q5/trAfWR3IXfkS4R+M6WRiNi0SbThNH43k01KBFsGp3EfsDew65AacBURrBnRPLwe7YwZCXwUWbF2IiY6Xetb/BUbEUyYXwGBPth03M04OYWL6HqBMicY0jKgCdcTE8216ORotOQ7B30oMBYy1SGc8tQX3PPEc6h7WAiaE6ZGK2mNWFXJ0L8ZhV/B2WwVV+jgq9HDCifJhnMl7RkjeU1/PevMhW9q4+53BJZQ48G7PtYJgMWjEL7a64HrTsLVkvDqnRrFdET2EI75iX0up2RBYqM90iUhVm8KBmImv6QkuxMk2v7sF9eFQAsz6OZ3IQuuVus0snXtHoX6IIKYJWh5yjxBNvGnRFH4HtWBTMpE7s4f3Wbglt040z5naGMOn9ME6SMxitFLGEolFAq38NweRKp+45vOqIl73HUUJSVVx9gN+uaa/6tDZAHtg8Q18egs9FkYwGYQYDhDHD8f5nDZJyLGFhgFocBh8RAkzXOJxg8E/lnW5AgHUZSpD2XQF00GfW+jufwLQV4CFHQJ81ZJCBCAh4HnIvNDX0T4g8Im9IBoO9K282KTULqRDwvQ7evzFQYBDKDsh5gdsuFS9fNTtVrZbrtj3VPfl8PtX6+1wfOu5o/VLf7/Ov2+PfX9///r79+/v25+Nx21S3DY0NrybyXA6sd+dWl9ZyOZkQYrfhe9oXKUbdr2nzp9NV7upZLu48/bjOzv1efn5cdb7Rdfm4zFe39H5cVW16vVyu1+Xiw440vsrtvq5D1U6XiwqdNd7Zvq8qU5aFii7NuLMkoJRPJyG5GCxJqoi42nyom4juqI0xJa4NYHQLBeYhDD/lqAAcMQq/IWGpg9ZDUQi3uBxutUIyYr5kDpDYnCNYRU3OnDheHKXC/zOu77AMUrVjAuuxJWEG1lRzYhTfpCCiMiE4dnDTWVFLMH1fHUptiW1V7zfpdHIzr5fabUQUmgyV+UUcrxopO9QrApnRGZ446fsUszC97KfN86hUrLy99mVeNtURSSHtr9OyrHr2pnZhHWi/bdPrdPFgFJ+i+nKvlGH+jx/Xz+ukFO++n/683V5qYt/V1quVfD/XaTlPt+n52h6aKS1TUyf7zvt13z5ebi7zIROaN6wCin1fpgUBJM/Wg0KMlHlWIR5arJ4U1SxIk0g2Sp8iYBCLUCA5okzsScsch1dA7RrNJYA40MwBgY6t+qXNE5hK8QjdFhhxgUhI8yH929GjMXA5LBN65sAMpJDTvXHpY9GmQw8V6T/pWGoR5jSbZca2TIbeFfF0rEyXa4lYY8nYQqCgxNGgzG8LTaIi7NayEtNtIpfaEmWcsc4aHMRqI5aj1yCfk60SiFIBl7TmSRWCmaUfju8c1mggLovuQb2EZZDtwbCthSFkjOfcEh6K6eYnRDSMCWF+jypekFB8dpgXWBew+Kj49V2EVijB6DqbuhpDrbKEodQCwIiMN189csZOcgY68n8M1Lqv1YHQOH2DmcbmlS2azxsbLIZAzbucr94GIGAoQ7QhA9p3opO9zQg5Og26aox96pZ1shQk7Y5I80tFXrccIjG5Urc6pLof2yCCF9OqWfNR5VbCJT12Abk7oJizYyv0/Lao5DAOlqB/qPegSZ2nUX8EcTpuE4dIy9hOr5k7NTjf4/fidCE9jlcBGf3nubXx6/Qc2zzx/WJvWyQHKP0DQz7+eZRHivPHED4CsVV6vBdZAZ691GiOmJPQjEUW745OAXij49rWlFcGWPHvUusOysycUZTqvlSIHbj6PXmy/mrvEHRYJOWoLx4IYsA6pBsg8nZ/WbAeDsP4IjtuhHIQG3x4dBeUfCNDyryl7Le1DekQpy61oZBabI3AlPhZljzCRF1ZYQFtV/AVDcZ0M4O5kieP6GklBLsrkGrVjIxf4MPvUQ1ci9Qx6WC2Qv6+Hsgk1cUUsiIJ9ePpo8ycsloUQahl6qXjIjCOj/mE4/0H5mLhjTVaTLRU0r4Y60exwaLRZMqmarqDG1Oj1cYIawOzFnGsxZD7gDs6IOp/SE8c9ZIjV4MgwFq7cIh5NGXs1HBCYM8W42rGix7UyFsKF2CTMnNnXHKEve/EoB7kEay/hxNiWASwtp2iZwZzjdqeSIOhvyAMmjNyscOEVR4c+Om1cg5K8FEWiec2aKyU6VAFvR2xh3l/Zhf3kcl5Wgxi/dciLy90CyF4TgUIfAEeyoU1lFxAV8CN/DU0IrTerbqims9zjhcSf6DL28VYtuGbOQcDrzy/tI6VFHw7sq9vkD/Dq+d2kwasGhhiyfXxh+IZSwx4oN/jm5oVwCmE4XCyVUAoOAUohoUfnDe0fgtnOBeEYyMOgwGebXoKSuAAHmylHTnstXH0acWXQe7AIh6bGx015sr1nK9Ns4JU/Lz6YNT77Xm/b7f7+uv7+a/ftz+/b//6/v7379uv++O2af4P3NKaTK2V7A4VB16+OzJMdc1QH1E83SSLU4VoVx3qK4/3Mqmb9+N8/rjMHxePev5YPpZFDrAON1rU+7tMl0Xdahf+kgO7LIu/UI7X3D0pr6vUrhtT0ZkeEqIMsIGT2GpyFC6uKMEesgISix3suFDVbcZ+cG1VeICfHDuQN0E2kBE+5cDhSLeoLU7IODLMJZIInZQ++RMDmKgk+oiVx5y1ndTVV9ZQtNOZwxQ8WNIgrwbfqFY20ytCjMVWyhgtzD1kErO6zr8XYDXWuff7Nnlel3nWj0smobI1+c/ki8hHl29sgdksu3yoheasVLPum04vZaUdg5UzuiuHYk9XQ6s0QHr2JJh9cUW/TQbVH6l/eFbloJuD/azPz3leXq/X8zytr9f676/167mtaiL/2M/Tc9vuz+3P2/OxvZ5azkUnB7/m6+W1bT5h0xZt7EfFVVK7fD5vnAIGrjlEhVgn+EyFMEMlw56qrwYocHs8VtAasSogoIB8TUQQxosLZnuac9RkhUmFGXJFtFcjBNxGvMTP0hTrmD1H0Zxts7OGsSPm7EhEdMa7iX0Uqhs0xb/TQVDNETF5/CAGS/Hdw7tugDzpWcekw4gAGEh8+K+WQG5HoeStiRFzFn0XE10ZvgNwqE7ms1qZRiWFMSv8ke5JcQNtZ77tRCECh6xmj2EAbFfuImN2oB4PHxVcjYKr4nvs8lQ+FRaxTg4rpUUrMXEiUkIQASt2V4Sa/9VMunWVuFmFrrYKAU23MeruGdQXhUVKKUqxvbKEuRyw0oMcTKdOPsHTYaWqI5KAQORlKD/3/82BOH5MCRkabuqsn4/xiW/R4y0srlDgcA1ggUUQnSGDQc3gLlKZmsqQFLYgO4XWuJFwD7sbdZdDBUCpwxusFfFGgclIx9UB11gmbQ/oA4eyyLG3bROIMDEBj9kx3QvIbf+8OToMNGRCw6xstlAFHfkZRlTMl/FT3iDlkF3aVjuSTGW97Kf1lhnzRi1JsQKKwCa6PdZRhIO3ia03ohkMU/DDGYIVv45f83YufKOACAvMmcJmiMJSVyxm0G/vAI6JuKny8xW1qFMKyEXI7pzCFTsvqsLrwhEjtg1TNYeQB1ovmiSAq7NtnhrpHTOfGQamQKU3B8cJPlsJkdpSX9BqeYaUO9BZI0W/kmitsk+DBmKwkib3RPa50MWf4lhavJTEdENc0IN8eMZAxyGlub+u2yj5qB0xZjLkLL7MACzAoetsj7uGqxMGyxtC3D50O+GAbIrV8AsmDyeHxbpPt21Cv2z2IHXm7SeM12TpwQqZnIls0K9jAExdcWJebgKF1ssfMU/JrVEpB5ni80RMVfpUgaZM3M8iosw1EaOROK5FTE4VHx58ZURqae9NHUUsIbcoC2HVSS4FJuYQm5JBDkl1T4FJVfzYHcxXqjloIQ5zn8jlyG9kbmbO8d2bwAg585xMSRn/jo8afFWspKwGPyqp5lK87ycGRACLfBTHREN/rK/HpALS7iL0gQVMgiJskHo5VIb/iiQOdng1qfKxgfD18YkvUUshSfVjq+Pi/I66gmDqgQdUIWeEIohJttC5NADVx4w/3VMH6jmQ3q1xjDKPUE24FPbEPFUqNJKfLzFkwlhgcfBpxGlXxSoGlqF6QqEDVh3+rK81XVcFox4BraNjlP19PB53DRHab9/P37f1675q1POv27++vv/19fX92B5iIg94Th8Ksrc24uklL2FEua3qa/jGOWb9Gtvgo9QX+arT5zJ/fujE3ss8qeN3nj+vl58/Pj+vKjiVV3yR9yu/96qDfOX5LqR5Fx3ue7nMStjFfKNjk7behCA08xkda3CoByFsFuoe4bMhdCO7or2CF8MXs3forRBx0RGazzOQNJyNEVyCcI055IleQIaF6CPl8SIASda5eMCK8LWtPdQgp6IMQaHz/vB+my7jXf3Wtb+M+FI5icKXIWY7Bqkc05GBsUyg8SSx854QuBfc0HvC69W0FDEf5lUJ16V9qnnmHzpc2anLVqUVaNmcpS5TSplWpFFrhrvp7mQDS9OrFPSdtWo1CKssAQfGTrFqC17bUxlgdcq93D0378/n+aUCgU+NET99/rws5/n/9b9+/Z//9euuzcyn5XqeLq/pfN9P63Pbz+t0vr/2ad1OHxedO72d9h+n17pkJNA0ny+v8/pyT8FZx6Tae+gUk9f5rOHkoUzS32TRyetGvFAAZeE2ukERaJVElWyGPydb82+yXAkxkJYrzRIezznQ0FAcBo55BYMRzkOJj9BaxV/QCTNliAkheSt2JrZYmSeQXOsp9Smum6irSX4v3okxLyGZSdkIcCx+QpnhLQc6C5iop+yfp5l6IFrY1B8iy6MTceHYpkYCV7YmmC5QGg4kt4dlR+FDVjXkfdZSss27YZdQcBjc740n2QgvJnTUcefZjuhVJs/iqxhrFTGO/uyIYN4beYSBCcoZTdAsCEGoioJDZplagoEUmHBvFbwKfbS24lICKHokPRbBYcaS0QnlCy32TWBmcE6DD0iJW6FtU4ALvWKJpeBBj7LUFGllRI1HzadgITG41oPZ6UFE6WtfY8lvCL2pnuGhBBPGYGew6g/eRSrCIqtHZA25bAp0PUroM6zKSanMCCDtGP9OzzzK5RNWibIqMmzoGm2cQ6CRm2S1U0RjGwxoedJL/wkLZuf4PgmNBdFtyRkWJ2T7ZrpM0+TWGAa7e5pYSDsSHqk+aQy4EK1jt8mHeWwHpB4ViK0yeLvmMciKF9nMDYrTY4Bo2Htj4TGasWYndguqCkLidvYDj+T6AnWhzM3zuBiia2dhU0FaKmfzpoSjujgjuAycB2bcRf45IInLeBimqc9mqWMsxvti//arQaaHwPh8jNmSC5pBk3WlRtNQldccn8or8qqSBwuh286zCgpfQKmeJpnvTY7INYxfXnWY773q7wPDuIYVBywJNOSUh1B7BHC2XDFd5OWPQZaxxiraKw2x1Pk8zVs8ZGB/fODQAj6qv+Rc1wqkNywMFdKdjh7U4C0yD+Vs9YFYBEKIVF5BZCFzKeCZsDolHCDGpPYGN0MIajyW1vfmUegsOMqBZs7jtOUXn8Cmg/+9bzn470gi+rlBhh6VMkBko/ddBRfw8ZfjVT1paRB2LonPFx4esaoqj2gXexy9Mbgoc9ZH55NBAX0Fsx8KpYhgeLXTRGC7MAI0bCEboDLRNyXf0Y6xT9F4Q0vFe9JvfE1TrX6ncozKtISiQsQGbNYWDjFIWnp2WCa8Mfd5v+iVHNGUXO3BZ73HMERoo4Or4AFj3xRtxF+DlAfcTFBiWgPZPxBGgixFuvV90BjCoTSFxXRFWJHBU3DuaH+1C1gZzI/hBkIQRayLersSObfEAhunMfXN8aqs4Cx8IJhKEuq7/dRwn9UAMSM9gvrCChaboZu7F3adUKrCTeV99+25Pe9q/33e18ddlc+/v5+/buu/vx7/+vX9X7++/7zdvu7bY/P8FssgB+9DtWEy4xlSHR4PxIQBatremQl/Uan06WOZPpezJjyrlXf5vKi599PnF8kB/vy8Ksur+VZK/17UxztdPMnZPb4c06tDZBdNg6ZOhEMOaQAWTFU0SGBIP9trk6tsQaPpSI4IUMHFEY51Od7CW6HJKL5YYsjC7D63NMqASeTZ8hoj6nh+SVP/GTmbcWLQJX/BmY1gHkFvtRLhQA9wDGjfqYNMoi9oImWxGT168KDFgc+/iajhiUyaSTonVaRVdtaSMSOPWDM5KdAsMcW4FEthbWv0i2YQfabmQBAZnUPK2r0zqfSGt5zRtX1C5YtemBamhDVz5IZeNUNt3raT/OdtWdb1qbA5RoCk4a6+PjmjOkzvPO3TRGX1zpmm14sK61+Lx4ZPy8+fP/74+fG//rz9ur9+P+7T5eM0Ldv59Nj21317vZ635/l7PX0u5z8+NU9ie51/fGqd+yYLZFteH1fa/C77aZ9txC7LpBEYr9XnPWnPnCJjvwBpZoAZGz0DIt4OEIumKMEFvOh3m/SgF61cxzKHlFTpmwenHgPgH3lQy6xUfgYfcKgMSrGSugLe6eUUSydxx/OZFOVFmxmC6mrV/PjJWGrIqnzKV+yI+RHkOjCREBvQGrqmYHFoFQiOR8EFh8xm+8MIiqYYZmqWlft0BBcEXrcc0sr1xA/qjBD0cazW0j2VIHFpoqGsOYPWbrNvLUQ60y6rxaGKscEjtRLIQ/tyVApF4weGWdl+IRlV8AbnvA4dFd3MjdQj16ALwscvIy/jN6jqwoUV7MjRz74U3deMrtYqInfH/nmj0xW85fhlOSNFX618RYeJ1Xr+SxduYBBFRWJRTpfwkLrr9Qy1VyiUBr2a/KqPq7gJryMZ7GjnQngnr4vkHCV7fIKoyR7yecwRRHpojx54dWtvq9JpWmOPzsKaoKCvQKo+CMao/WHUEdQb81nfz52wEvMpyiHWHFUm2GxcX2Yh2UCiPlqpewCtMSSCPmmgtJqGOHlmpnWbxaMA3HpjjcMkiUZG1A/c2mbdrBkf3Dt6SJs/r3FUHq/dHKvIeIzoiK0fnUugDUnxVsUM4UdSFcNux/LbKVuHjEIXvjNkY5aJFg94WGTCEryDIAfhRjSX0moqZNsVjzxnQZXLeXRc68Ahf6TWOpnhCA7W5sklXoWP8vIX1obRpLUlYshWOuCrjMj+8NecGmS13lG7XFgcN9mW0n3NuGB/o76HCIFcY7VoR0gBFhNGYt5a+MtXGvJxGRpnd5NDhi3njIdRpD1CQpFx/eSY8kfiC9TGgPKaRyJO5paJ0vf2WLyD0c02DYmNsFlIAwnCBB6kaifK8oAqOU/4jOs4NEfYNBQA1riCHcnmhKqL+r9JmBwpXH+AFVp46gBM6xkCDcwtDHB4vi5XJaMzPDXPu2C9DTPXJXx6IuqR/FhPfjfM1UkV4nefUrVWXwWqx6zsGmiQ+xDyWVrAUpvAZG8zJV64H236GLg4eAF37JDoSMlQMlZpaxMHRb/B483rGP0OzXSFTcILiEtqHHj065SILhZ/T6hHBSI3vfJRn2E5Ad3pDwIDg4RYc/7COoHixqrC20NxkT7MoREhIWjlTT/pBxkB+sJNJJyJ2KvB1QOHY1klsFtJmKwJuCLaKhlqJzEr8S9ur911gJnvnHygIkeEBVn6nQOourDTJsNzd3UJwscuFvpiwLGodJw+lg071cXUlcrJsxOVilmipSKapLVtPYBNVz2xIGu2wtaQ2h1R0KTnTU2/677u26q5Vzo59ft2+7rdv2/3b514tP66b//69f2vv77+9evre92e7qtgICPnkZTPa/4FTzQ8O2afkQtVBo6Uza/XZVLK9zpNPz/mn5539UMjnS8fH5fr5ePH54cKnuUMq8ZZQ6Fn5evU/zZNy3We1PrrU/akX5Xkpf7ZhSt2Oj0Hk3drUf6bsDHBDqVAyRw0ZZpcBqHGCo03fjQXD7oL7UR+keGqAvYqjCpfCefrdos+00I8ESasEHAOEWPUWIvpC1xoWBxRnhcbqVHzcPpOTiaECF5SEh1R4LFNORUT+SS+JqTLDJVtXztKAKMH1j527IOiNF+Ucqqe2Fd/wDu1XuDJhglTaBKDicBJFL9KfEhMYMoeEr7DMttfs4ecQfqdjeAT+KwW02avDHDKvhTZWVcfMLY5hrifpy2WxaJeXR0h/Xr9UGJguV4+/vj54+ePj3/+6+v//L+//q8/b+sybfO8n88Pw+tr3e+7Br99Xqbvfbu/Tv+xnZ7baf9QM+P1slxEBM9FOZLX5bXMu8az6XRsw3nWzBUjxIcwg47ol7QQBGV8hXwfGlvSlHYGaGZMKPStNK+aekHXYf7nCXmjJNvwmsklOH/wFiclb5YiGEIVrr13oIVWAokUn1xS2Vj57xbiEUmEd4Y5MJKBCEP6cZLKi0jMZrHVEWxUzCIhCf/RKTCKDvLqHEg79A5kNhJmjdGbMrjxrf88MtywrJs9ZpqokyQHaAPxZXEtyVtv17vZo+dgl6bW17xo0YKUOFwOv0hFCzY32K0p1+EZHFaSSZH5fm3sFneugyyaWnDwTG1Q0agmxcXdX9s8L9R26Ci18l0ES++LYe8PaoMhQ0faX4UXfrgw2C4bAKZgOQYp1cT+Qud2oetS/C8lqydpfpKHwGFZp67FeiUutMNbzgePE9GHZhGt7RmuVeOziJ5mD2ZHIgR1Bp8m2mSALoTx/pMho7VDQsOO4hLRcKDRVDJObPKFwyHiIx92gICtcDOUNYfVGFLpQbyGoLl+hvwXSCbdcF6HWb5xPc1m87XUO1pJxfJr+cCgxhHSzdL4ZRzuHc0MnQ9GNhJMZDhHIdkallEizBqImYrCiSEn2CSL71JOwOnLAgqMAQPAtlaWgauS1Ya3gUPWlj9fmuMBa8AORVi0WllV+1gASyZgtZbJi6xQRJRA2mGg0kzkWozV9Oh68ldiTgOmZk184wrFbqRQs9FPmYP/1+QF1q9+b6kjGtKnS/mfnbWAFRuqq/J3ZUXqG4nBDGQk9cz7WOlBCZgu+vFI3kjBfGyMxPqJdhATaGKUpx/32mESga0+3wuAPgggwqS8F9PBOw0wiBD5Jl2Bxcg35oE3APlq2hk4NpAmsxBQuLrsa0IXfUDOdYfyZF5vaVVce9e2rCRKsJMo9x3ef2xEM4/fZRyU8vKE41GuvdFFjT77pp5vVVmd/Jvxrg8yD8PTL/B+48sg4SJWikXs0KGi4nBCSGmMzKuMa2A19FUeBcu5fVZv7vtyEVh6R7Hf3OYFPhC+C2kmx+o7Kvkb//F6S12sX22ZbQlkZgM+dHJB4GX4Sm9WOFhw9ptphcfKAOubYsae8WIjck0LnazIoKC69AQOU/TVhx39Gsg8QEERdd+qNSa8xBuw6uNKHlsGz05i5ASswUAQGMvvWygmD4UfCIlaYVkhACZeYBWM4mg56d2JZ0dUV2WkCroF2kF41JupEIObaOUIghNR/RvTs4r8ZKP9Dv/8PcJYkste+no+jp7IuRfu3qQCxXOMcwQCi427n3elpD9zNUSfmkXnOc+uufa/NfBZuV/PaVwfGv2s2ufv2+37dvvr1+23Zj6v//rr/n//9f37/ryt22rn3n6j+Yh6Ltej0lF3bEhgwfO0BWR6J0zpA1M1yfnHZf5xXX4q/Tv98XH5cVGX72Vertfrx+fHj58/Pd5KL3Ha76Qy5yndvMn9qjtfZdDOA2sIVq7wcJ7UK8J9sd90AtP+ei0WKXInSBClJDRxHzJa5t9gqtqwFmU/fOv7wk5CDjFuWqOJxZiWNlBFC0Fzl9DqOQ7Q+2FfwI8co9AxVLCPraEx2bEcmH4nn+Ukr8+5LP4zLydfnQyMV4Mst3Q0fTv8Hz+cZIm9DqRdLZZaDDhAHt9M2lydtYYSst3Hv2u0OBziwiG2xc4djHM61J+l9MwNvZUNsWIpmbXMcQrO+DIEcP/sZk+uxmQIudMXwx6S1rioqURdUTrFdz9pwLMIo7WsevtyPn3+OH9+fPzxY/vx+fOf//z++fHn5/XP//X7/nt9rOdFp/2ep1WHKe3Px+P5mh7b9tDZX+d9VRnFz4/Ltq+v87S9HtfzZXEV7dIZfqIoJKrtBuSa/XoQjgaxueJplPJPDh8keIpsBcCGIkIjWE7fYBwPJM/QbpWUgrePT8F7OkpQQ7gOGVLQpJqQoyIsYpCFh2ITWUJJ6XMKT0oJDtx0PRhR3nUNhRID7i4JZF6Vr9K14U9c6+dzo4c8DVfleXGuPN/OX3FKSoi3LBdSzusDpNR9YL1GJDjIEj/YBOt6s+wgt5LkAJim/5jS3v5oTx5yopXpRh716HkWDUOSWxTeWvuLvl0NETXo/2pnWOj6nMuGnKM7Zs5GdsaKWQiqdG9gzYrDDuQ4fyvyjP/inIDEGlEm1yRvgIcXFJINUO0XaMTw6D6lSDuFDhYcnp/fEZgVCDw4tcR5gXREPW0eHkc6s+Utai3eY8bUrA2No+6V0PJGkIctmRzTCA7+GvcmLxa3hMKcN2IZRkJyKL7TqplUUrQMbOStxUko3cCnbYnC1tIsBYsArLAaHWF2f4vM9J9SKzXYTNWohdwoTeeHAUqUmB8FdiosUhqG3gERsTuSpTtPivhBvX4PnwIGzB8LYTEB9VZD/ocvozDi5nTSXpScoRapEmdBazVJJ4fRgHqM/OFZJ0NT0tAzqDsIs5n/lCeICaSrNOSBwYAZTe7VmLncdVARyP5MUiNdXk1ptEccxeRqRtj3Y8ICRAJdY9pNHUhjGeolDOl9R4ySREJ2GHZqQ0pUUh8zMb+ME2zAS4TR0JZALjtSb14NmGDFmCDVZoHATSnVQK4w6w+7bRBmSF13dSYEEQM0Tb5LG0nybFB8ZWDjDIwLDpvyk1GfkW2cmQBykWrAHxZMo6uxhy7MsrgGv8PPgTrCD/w7Ggzih2vsPlUCRGR3OFaFW3rlYXq6L7BJJKQsTxFTOaNi5HvBll+4vZwH82IBp0+r9m2kCDBfss7s27WgIzJjEmSVvsbpCVIZwIECfnhP2U6UVkRRaOONgPFDMHZrBWbLPChY5lp8o5IghOq/QEBllq/DXg3pBg7Da32TcTw1C9ObzAsHbXjrtF7YMA9BlBEG68Vyqn4yg+Orjok1ZntpP9TYG4kMgbtvPqg2jd3UNfrz0gs44LkVcUP3BEND6NIkHdgY6WwycxESCtlOlp5oZLWgRCxEncedfCfxrNy8PMJCEBbYDVihx5zjbWPFPm+KOg/KLEmkvG2At2nYRKIALTFpuJvUEyI0mACamArDmUHVUsg6QI5A6MoptTOYyrJRIvyKyk6NP/8jmBiC5onDfAgwTDKkztQB44yden1lDTDwWae8EFt6rjotZl0fj+3xXL/vz1/ft39/PX7dVo47emjkVY56sBJaOSGTUM/sCZTmGjuNXowP8gV8+6xZwepYu8zTZT5fZ6Vm//i8/rwuP5bpc55+fl5+XC+fVxU7Lxf5wNePq070tRc2yaF0x68/gbXsAMuLWpaLj3nQGCyTllxh+3PEn9KIjiWGpVPOTOJWfnGBF0TC46MowxInTUGUSCAhob6qyKgwc0/uCNfTTGGsNAms34e9osykhx1vm7LaBHBdW0ONBKtLeTCgjsRFFlSWSJNQ/cWroomqqLD6SqoGRdaQ6gY9Q4l14rZI7I7RaKUiVifxb9RI0pVUYhP+i1djkIXdStEYT7VUDV5jKEl4mhEqcGLbs0u/LsCJ+DInmSv9ObqDMmkkm+ForanDXreHBp+qkkjfuZZ1n3Ry0XSZlvNp+nF9/fjc//jx43I6Xy/n8//7/55+3389ttO8rOfFLKBTeu+rC0ym7d+/7/t1X1f1zn1eL9vrdf24PE/7x+uiT5bLa7+fr1etRWz3WnQ0deohKg04m0hcyKbk7BHEQpEwy8OsHpvaEgDzicCiS5si8arhmTsPMG1fiWLdMkY/oUFs/et3qv0vKYo8BCOjGaRgpALRxZi2UGkzRSa7X/2wZJDh8W+h99gAuT6RpjIBKhbySSGo87rYiK62Honfg1f5vY5ECI5XQIpvTbBwcCy0jBhqFjdk5dPFqhry01/pmnEK26tjE+w0ozSG4Szzg7q/HF5GBWLY0h2PKGXMk0NFCsYjJETWCsaeFzwNO39uYAEKcjhtuJY0kFdhc6LYVRwe89vxRUgBf4HS8jJYoZehD9Q+qaRVjWyq70aLnz7wRHE1AMuEyO69R3xGjVqsLhvWC6kRvJSeX4AeHHQc06GBNyQ2ok+xS+5wFtg2DcVqYhCaboZ8QeDwD53wNCzKSCao18hE1B7oGGLK9MML3j3P/LO2ciHqoRMmWpeS9QHaiwc65MX+ONYNmjR0RgWV9+zj0DlcbmzEKHaCucBuoh6QwQF/d+Dd1ObooWkK9y1D7/xqrzMRwRjSZisoHBbPmrm+Z3mgOIIh/mIxjgIRe0Ulai9EP5h0hfgmjOET4NGq7sXwo/1CuBbWOVweaIEVVGYBGxwISdFmuZfhZGMSgGvgyKKdQPBUIH/s5BukGR1vdvA95hzyn3m9F0asaggK7MQDo5GDFp7xuqPEIG8qOV67YhiWXHSQu4jCGrpjisIDMMPbCCtL/EAgYblSY0UqtmYkoR2viAE4P/5rGDTkF1xmPHIFlPdzENwQJfzSlv68PYZtXQWc5HBfmqPz9tAyBnoWrzdxJjikj9D04d0kVDAtysOIMJZIHAJEQxSg7RiYFo4iyVD5bINHCALjeAzBJFoiAQREnaTbrnI/PGM3FdaU+ZvVVUEDZzcxb67EqERbNN2d71vCeFI/1VgBMC3iDqHvc5pMpU0ggMbSJR51YrtvAuLd+qU1FkimUWHQHSiBC5r9qUjIFs01RnhWUusNiuWGCJUoxESwaJxAGbhaiSZOdGzpnSlKXnGqxJwOd/1fubJb8h0jis04PhcuZRNRuMkb6GVY23BLqDIdpw1elqf4+i0iXmukUiKRLD/4AFxqdasy6iGjJw3AdEXxBMJkYaBwqndWpe0nDcOFp/t201C508GRVFlpOg2s5KNTQ6hvP76l5R3jZDiDwu9mnVCMV4xRNmR1geTvKbprwM1JKtsffVP8h5YMlmABV6ga5Yz9z0FkfrNoeaS0D7ch9IanCniDDuLiXiyuis3sbdPBv+u+Prf1sT0e2+2+fd+37+f+dXv++/f967E+ttfDy7b1LHqgxaQyyrHgqqY4JS+dh6QZLTp7Rjr8ej5d5tfHfP64Tp8+0OjH9frH5/XHvFwmBj5fVPTsE4k01Go5qUvXJ/TOiw/wndUh7LoK7dRZx2m5XHyEr/qCz/PiUZ/kjizHVE2R1gYmqI7qj79hPaiTWWCnCPgDatoiMI+ouhm3hCshbf+E0HUUjcSg8hBc1zltsQbeHWOj2uakIrZQecMuQw84LKXJVa5cdHm1Xx25jEqj1AWiivTkGWRcEbP5cMgrC0qTR4RdlRgnMbL60JgnS4T8/X4C0G25xe4NaeGpRt9p4Ij1eE0rXD7LKzOgv7UvRTODOTMyyFQdiLRRJaWryFs4nP+QZHHVsCo5AVMCwvplPSsVjLeCe6wLXV18Ol1Oy1VWx77/87y81vUhsfpf3zf59+qtWV+TSimUDT79vj32db/dnv/8XB7r/uNj/fGxfO775+m67vuP6yKnN8UGs4ab72c1UXrVaqU8p2XMiw1V4e5XC5TjB27wT0bxMzzuv0ZNNamzYU3D9o0stKoKtBvrViMteTC8qlIR5s7Mk+SpWQVS8g+Cx8xXixBIIIbhc9ELvrQYIh0kynfOqo6bXakhuNCpZak6iNRFE3/hBzikfswI/W/MMyqxWJqXGN0XAkNJOUKAc+VAOy1m0DCrGkRYKytrStGvefcQEb4yJo+HoSK37d/C+BygrukFb91eGO2jjmOwI2LcS61JWyeEyiQviWeEL7rN2rHlJ15hshvR+iq0ygakDgsk7uEqH5caJVWe20OXQWuDs2AGXZtUUSHCGkJ+JNv7A1/nA7RJR/SPgjiIiGVn4oB7f0Cl06ABG2ZMZG/ynse7cL3q8CMA0S0HBkP5vCWbcLwyUEux7pFqe6NZrAT2wxMJKSDrWBH7REod5cS+a6CM+FdsiQhrPfMo9xvHk3JDZwCPnehFxyEjRJWGVcYx7PyTWjJbSqEEfcwoHECGjeaWI1uGLMFf4yIVufqLWVnUjIcewJoz0qGIOEflRiG64IJcvKyxocQHy5UH/3P3CJpWR+m0rb4aFObR0E0XlbXgHaE/h3ItfZq1s7ZwGs8MVg5EQ9bBFD5LrDHMvfJ5SzYJd+sTBipizLkVHujEwo7GR3MT57GQdWG9QpZej0LpEDR5XMr8lkXIcBUN9jFPgZKDie4wsgMTYVs3V9Vl8EN0rWa9QXANpyViZ2xToB+j1diK9RxAel9ANW/hW30/xn9X50TNQ5wM2HQkCSRRU0Xjfn5CEmDaLyIR44V7ZW/2MUJ5JC70iXBB7dOgqkrndEgSgabmYYT8De0Qjav/o7UZreKjNYJERHjNTYmY6GZGGhgvRqwq4hLL8UrrVNFVohzyvMyyCVkC4VFV3vEcXY4PCRFmXksAbzPUayDGmRnFIVJPo6lKiHyJeUqrCqrYr+nksD7ZfNyunopXyC2qCFIBhAEupJ8PTYJopFAqzqHPFh7zz3BfAal/ymUmZXOA+osoq472NyX4cBqsUhYJjcWJCpux/hATuAM5QzxxMQZ9Ns7VYdehMvK0mEiw59gjMC8dvv8c+XBTUnDnuQWhA6iyqpqMMFeFqfqcIiGM4feCC7JdMFfk/sDzIaMJnlCYl8vCr0GUQ0gAP9EJnQ/qSDV44VHvyyowkTsBGjSTP2sYA356BZ3K8Y0pfO+toRKh20fL6DvF7yke1BqpUNQHdntJOT4ej9v98bg/Hw9mX23f9/X31+Prtn7fnqvrhJ2e9CFBNdgDfRbpjIlTNhx65BLT13Z57cvpfJlPl2XWob7K/c7Xqxp4Pz6Wj8vljx+fV0+zuugTeb+X64UjfadFnrCyuZqM5R5NDblSAq0GfWo53Y/nljRgns56Zu8J/Bgc7koNPRc6kYHHtA/bphRBBJVUD0RbO4TRNjbbvemj86Mi4ocdGauCaj0zWvTk+/xCPVcDmT2ZWSf6KD9sO4k1xjxPMO49eOo6urfwkrNGSsaXf/Gm+4p69QMIJUY0ZfR3JBTnI5WeTXj6EtILvRmAGtDR+wtRRvu8TZ1o5x4PjD2HXEBjBB7ENvXwhO3e+CHGdwg+3aRl4fCvU4QLM+/QV5VRXdoye2CpmmDtMnqwtmI1KmXiVZOPUvrH/rm+1vv9ThHOv+/bnw/ltyzv9dz9tT9Or/2535XcVc7ivm+3ff3npPnPP64aAqsjg1/LQ4vcT6d5WeZ93SZPyVIoac6pV1a8yCgwQnJP5G+A2EI94wCkyiD4Newd5NElsaorwnKQqR/haAJyLqoKl9jg5dhLzg/3rX6LZqSjN4nZEUUyPdXyBmC6WPxC506Ep9gXnWucU5yFXWHxUJshHEVFIWRuvhrEGklTEQcBDI0eH9vV3C6EB36+npUmrJxHsDz4jqejN81mm+viKSiwXPN8HySIwUKRox9Cc0I1F4ZQPJkmeKKzdaq0o2AgN4xiVNLU6tfpgZtNmvBglQ+LQ5CMXGJkA8vDszbWDDqdJOTaY9/LND6HPqMcLKWrQIkyR6rD9hy1XTqP+z6yc1V3JowNoUfQOkLP/pUJRg9JPNaLGFHpoY/VwzLNCrRVaYfdazB0nYm/OT1WY46Mlzkowqh/FV/jzjxxkTfbxYQ1LDoM3HAfkoRHm07cY+gYmsWg16GajRicjkN4pkyosmkMfBCTh6wv21fuiTULmJByOIhnp7eyyc5nCpcC2zhtzqOKWnTM72DA/pASk3jAugtAB3m3mh5sABz/swKlHFEzKcWqsWCDOJuRKJWcxiv6S4UFNXTGbw5JHtzGDjJHqqWgqK/yUSIbXvWQQkgqonUwINgKP2YltdaSVh6o967OJ/WCx2pLdJUmD4OgOmmo77NGrWjOOKSAfWBU8FlM0gAMtieSXV0c56NazgM5JQJqA4Z134g2LdPh8VAC5+AQz22BQDW3bZWSVXB9RHQUQ7XlmcLs4aA2ztcgomHH2NyxneAiy0ooo9L3tb9Wi4/BoiMTFTY3XcfoqXpGWEIZ6IBgKVW+AWasnGOooEgEt9T/1HUJ33cqep7Z7gVeM3xrNqD3qDTFWsqeJ1XcMXWS32Azha//MeoniXEWXzHwVO08U/QytGrlmmN1UK1HmFFVDpOYj1I4LXhqlrr5X+dZpJ29iPYKNcM81dHx8WA++GawjP4mxIeQ7kmHwWQcYBkrA6RmBfx8IkzWxAdD8eBDFwxVRPQh5gV3Vb1kQcY42B+kUgj5oQnr6ELrS41FSS+6Hf4RdOcmZAOGQyWK6bppTyR7aWxErZFa9AVBnhwYFqAE53GcwrdH+01G9jmCjJYNHRLArn1cF6IFIpUqNuta+g4ToLSAUMwUwIxsGeuP/RsKx5M5YLirHdVsAwfJEHeZUIyVwLYs2UFr2cAbmcdWDicMZIN2Lqv0ruNn0arHu25F43a6TKgAXuJl7NkPiMVeUV1ZwG0W21xtGej3pixKvmSyXq1yRNZg8h4L9Dexi/gHiIEVmZmuWc8eeHW/r0/x1fpYb7f77X57PNb7ffv9+/51e359P379vv/+uj/XTFYJs1WFoV7gKbvb58Uod4hR3sV0Ul/l9azZzj+uy+dnzvKdp9My5wjfq1K+l+t8meTELlc6gC+L/sQBnqamf3XQr36UAZ4mnaAbxnGcjMnGUSix6r3EiItoixIv7Az9V6tEW4HpIyoLeHGlQbNVzwgdgop8Hq1nwRzDmhdQUXnIyZqXlSqVvxmINSxMSgSjgNI/HKoPu0FQYWdmYah8BykKO7RotvTjwrQICxc7N1/CcxLf1RwsSit5NWqzElfhBEUmfDIRFTMW8sR9ESTs0On4iJGalKMjY178ZsvPFKb6Psuy6gEkMnZLeAYuAhToZ/K/uhI8G7hBo/PqsKUgMC8EaCAVOwObKJZcpZ80X+brx/LH9vE///MHB1nP/7o915tmQfutatA9n1fYaTqf1/Prfr5v0+O1aOirY9iTfOpN5KnOktO0KZIObDTKS3tsk6KpBRPHmRoEPIZy5tcQGoDQwFakhPNjHugWcIEiD4sKnCzTEVm8rRGHyj2gasj54UyXoayggtt8ACsBOIJ6ZNtrrpTi/Dh0LtHyCC3kc9VxXh0m1dDvUHrQH7ON2xCvgrse4LR6imyxsoLOWseBk9dlYsujzDZAkA9hJUQ/XFH9HEnOueKAQY1yUXytdarTi5bhFckhdfLIGEGSHq5qastOKcc00Xg6qL6wfcigprEMqD1TDw+TgwUkMz1sTbB/bKns5ICKoem2hnyYF2g1SsLj2+GYxQHQ+WEvN9JG5lGu4r0FB953gGz3gYLbZtHZPeReGTGMJZvLQzMGUrV2Mj+gupjcjKxKbuXNXkq9tYH1qFlDiwNpQVZXbXnNIXOtb/Z/LWzjQfWUo/XYKVXU+aTzvUa82qxEEDBeHNIlwinPs273QDpgE0NA35JYzmpDGyj7tD4FVoZz7FuwSHVr7km8iSFSeWd0BymDYSmF8wEWSSO4ZPwMS9o155GWf/sp9ekqplEcN8JZqbGwquqzYWAIIvf7RSkGqf8V2MfKwtcz0DOD2qpmmFv4K6SLTq9lEFAfnre20y0iy5xIvxlfYprnocOYcCwy9DH4M4rcR/NFyGatVDeGz0R5DqIwPMNualyaWATgqW0ysbGMSNGTHzsAy1uilfB8InHC296E97crryB3y0PYCA1GfnIlFAb+DrOJGDGhicCd2gPHfeIzRPDjwwNmJs1AWoTPLc1Hf8hgdNiardbbDK5516FADGqQofeQtYw+cERDD0tH/jtqXDa2RSN5yAjVYrZs1PmcqmQby0ZTpSS6IQ8bjdwsWC9yiBqOcW7Znw/PAbMyUQl38OmQQ8/EDAUO5u4YgdYAAh+9rg0GES5/03C40y3l4iClLkMLS79H6sPSkRbMQrGEbODZdw6L7HRSxbnTVtoEAwxDcKOAFVKiDxEZ6VeP3m1sAPGR7B37JncyQFqKyLzJ+DYvz+pE7RDGNQN6wRiUnBdCDXl+H5IoEuZv1w+oj5g9PKukBfVjETocWjBgMpZtviqN+drIk/q0R06TaQCHHZfd1/iQyq/9kUA7PIF0MyXFQAnD1ChDLsWAMj+U5ND7A6CouUHSB/WYEQfYqxtyB4AbEilsGjD6fdQLwGJxVDAKU2g11sPScoFloK0x884QGKNUEDgHgYYYhFaN5sWZOchCxHZPGyAjls3IfpBPN2L0r2SfEr6rhj/rz+dTw6+e6+Nxv31/3+/b7b5q8vPv71+/b1/yiLe80TXPdK4CQG8wcXWJUYVvXvNrv8i/PV2n6arxzqdPpXlnHWu0TD8+Nc6ZM4yu7ui9qNP3qjNYp+lyuajp9/yi0FnCQgOt5AC7Z3LSUCm6dPxxBWZoRQHWBB6hwIhT/8mZFil+gQH5HPRB1cQQ4zUF9N4kRp1n8ICKgUcSL4lmgjKhPgcgGe+xmmygsrrg9qCtsKh5TfvVeU1GF1FnvrUciGtqPuIw1Wg5qKVJIqWrcafyhcWUWwDOi4dXOt9cn+GwKdKBwgBv5glF/tApFq0H8elzAsEZTep3OeocaGiFjt/ynd81zKaIpyFoD99OWAA75VxkS8bJsuRaSuUS1pnJQbksEheMH/0LYfsEAey0Mw5lF7OQZJjm88fnh4bD/fFzX/fnff3+fv5r0uhymTczYY7ko5/79tpO2+21XlSBf7nv00mnKOu8pXVTBGfdPPjttT6UXF5ei1a2iKPi5ebAQqZ7eFjprFQVFeEgCOEJpYVuY+AAv/g+IXtB1WFefT9nkAYQi9AOAEf3DZI/1aOhNM9MpUzXY+cKc/DvG7E1/XEsymRsKN/luwSbsBreNEnWrm9S5vry3DiWF3yNVZsY9EuMinDiGO2jp9Mf3oKsmDRoCyi1ADBRjxRIehLicuunvnegkfcPUUEmMFc0GoVLL6s5iBqCYSj52GQRLxmHEftlxN1wOFPnJW7WXBXzXvSVpQWBJZN2EnEsXOL+PUUfgyo58JpP5ufSEjzeDoVunAk7BmlZLlBOLCZGBHIyHJ7MSnAtsNpRabKuwCjlankOd6S0ZAjS5EWd5QsrvwuquOUREZ2P69tbKujHMPMkSIzAbz2OE7AMrIEwLYyKKMjMbKIXEShMCsLnMrxOq44dh8080sz7BgujZQOxHyHbTUMnDJxzJMckhFBFKCGi/ARPKwhyKRkAXIjOwjQ/DDpxiMaPhf2Gl0sZmxcKp3C8WWg9diB8BKs0ZPD2CkRWeRxmtCgIYdjRInNmQ5YdxQpvuXswmlCD3iBDtGKkHUA8AtUG9fsWF76zGMhCurLXR8bgasKtlrV9aQizFl34x/xkotLXKij1W9De6flEc5hphlIjDkSlTfjYIleviRGcN6dWIRZyoO+noKnTqU8OG6Tl5m4ikjIhDuRgpILg48B5XgHnebs+v5vHrKvLtVr9a9BhrJqYTMghuxiyaViMEq1D6Nc6KT/CJAYjudxNExRceFPjDD4H5VThHszPIg7fEsPIpgK9ahgufhDde9QbCwRJjx96bVzJA5HP7D1nNdmyGUfPtaYpd+Vy49nYTC9HAF/7HohYy/qkFU9OijmcOS+B2ghzcK/KMDUvv3XIBod1/8nlmD7iwveR/LTICq1aY6UMjxoM4y6C1k4WgbuhCPRGspQQy7auZCNtavpEnAIbyxYGQRVlp76C9Q9K5IXejgrrEXlRBb4QTRjHqAoFUOMyRPzlXwNDsRUONo5bZRuQGyClLo/VuNg7unzo/ZJkLe3exAsSYfdxqN5OfMsYHfouBMqN7C57L52OLPHQmtW1eQbmh+FKw/9gFuLKeWUABdPX/ohIKJuoyoCybVDEUJ5SWoohsvl6xIf8KFm7hjLCCYKqeOZYA5xmSzKCAjFMBp3kc5+urGe4QrACPWZoGuwC9IM6xisZNYH2zSIh4UIEpOpvbNECx5ujUArNxXv5GPICulCOR+4QGnT6V6y3bftTB/6K3TQCet231+P+eLr++fv78XXbfrv4+XbTV2qn0jN1ko1nXEW0G2buDjAkVX+sUudtfm3X0/nHMv+8zvJ7l/nz46LO3sv8sSzX63y5OLOrPPBZpxtdrtePD50WMZ3ny+VyUauOPN1FV5718YkBV54ErywaHS8BkudgpTiqhQf5Aa8NPUGaGUNlch1SKqgZoPS1KVHIg4y32PMwIaqwpI7vOlR79Q6EhhdjCgdHUUDxxtF2DbBQOGeZgrDtXHgWHAVd3RZxESlBZNVj/yIckGBhk8pMmygAwW+v+8BXWZJXZAXhACK1WIVXeNiy2P64Ki9mOWxDbTsPq2N6VB+Evu5MX99tfwPztoYFDpiWpbMl0y2pHhKv0++N8Dl00CF8DI/0BLH1YyJ0rPdcb5VkPkrPrPteUOvqPZNQ17kZihNfP67Xz+uPx/Xnj+Uff3z8+PM23Z410/049cJJC2k6+mt/PZUenM/79Nqm1zqdlEubJsmuxScjnXVck4/v8D/0jHX1WV4WA2hldqPmBQcygpQhxYyHIMWCL1EUUSFoaunQIZlAcNZccsekAVauUR/cElsOU8w+MAWbobdhDKQmIN6L117D0KZUL2ZD5Es5NdpGeMcZVDY6U4h1Fu6w0DaxIJndjcwTyy/EVd3+EP7PMo6RReC5i/fs6wGdbgeREjmsQ946MTgmM3BKtDwiPqEyngWVhSgc+qTGEICEZkKrWU7LNR1silDKOA+kiA0g+CVLibrA6WCbcwre/PBEzbwUchyHT80jHDjzOjFHkA22L3zqktcbcwMf225QwxCWqmhKheHjXJpOmDlIJSLdgvVUvWJM/pQ5DJsK2mQqXGR46rGtaGyPHZjK5ShoLinQD0M2EXu/03gk4vwmN3lmac/GE0SbvG2qHmDH9IQ2zeI3JmQfxgp7jiwwQJUU6Q5haNaJhmYivZp5IJ0q9VDJ2GsZQb/ghfl3YDVo4bDM8WaHy40YJ7jgy0ZhtijGrAaBBLDZgY0Mv9tkjVVWyrBQZbQo9Up5lWUAA8ai19qQVgcs/GI+R5vkfWMFOekKU06t8plEbfjU4oPYE6t9w6u7MCIt0Z688fSSAxxIuTcgh6zw/sAxr2EQq2dw+Q6N7YLQra1qiYXtK91s1JaX6pSG32kvgZF9a4cGIhQscZRI9J44/9rcGHXNyik9f61uWSzBU2NshzDl0+xlHNyi19u3R8f4E42qo8w+wQ4oDwv3fFp8SNr+XJEZLw2veI9BEiZyCDhslagMz5eHrQix5xsjtrwZCJRCMkCLa8B8RcJmCQJBvqnL9da4NCb+UUvjFWCmxA2zfCkK6hkbYpHWIf1g0Oirg2op4eVlGlP8sbo3YTDsQTYrkZBDqg5bs7onlaWHJlbtsY3yqOwx5U41IMFyb7fkF3oyjphMb0nVj6TJpD4eVi1FX5NOHyHhhiq0JqIV06RXQzAo7rKpOg4hIWLYi+e8c1HezhGxbxKZgCUkrX6Woel9m8sokv+JWwWaMgsh5qFUirwrb63xuYpEv5txh7a0O4fyJVMKFR4hmD2FZsOUjP7SMzVby63yfivVkKVvtO+wliFF+Gq08tQQqv1kWeN1Im3rN1ZvIXkj4Sv1qrbeSkLrBHSYU6VM3g+2KLLgmJBYOFHtDSFFyrJfJ2p81uvfAROQEylUScIR5wZwfzMcwsLAKfM/gmK+fPOJwKwtiQjowy8CvF51ljr2FXAHCeINj85x/tYsVkFrbHoCxUgQ0jdPuIfAnM0Olr971LMDT3J7NflZ3b867vexquV3ez6e6gC+P79vj+/bdrvvj+e66hWXi3I+nmsHr8OtpljXxAhrzpYplzWdXh/L+Y/r8sf18o8f149lvupYo+uPj+tVJc1K617lAMu/Vb+lXnD1uGadqLnIHb6gMa9XOb3qDPaJGm4K4DBBxihSqAl/DG9PN6YXrhOh7EQQQfNo8doKjVKYdBOFLGQrVYakHKi2jERy5Fgik1KMOSwVHsUdo/XGws6G1kr0PXPefPuI1+gD1MesI3apF3DWOrPPTH2jxo8IVEwfXokUP+ohcZ/8sdOcsaQqzId2wHhzQhOyQVNEH0GcoWqPmwBcEUs9zTL7RIVlsUgvasqOGnpL5GFthuvDbgog62RaXtCJa2rODDCNIuYvvOOIwlFK2TKGelZNgjNsNdLKrJlwVPMZE81VPPrnrsJvBgpPpuCPn59/PB5fj/3nHx/zr2dquwzH2QUXwHF/nZ77677t8/2pWPgmVG6b5kK/ps/zqtOw9nXXqLZ1lwNs/OzztM+VXQmaU8kZ0VN5HO6PmIVgqC1HECJ9m/92lJfqg/gkQ2tXite+H0IdfRS+inx2wN0jOCGMiqm4TNEA4+MQSxSHH4GdmjK2UQ6Ke5nOKvOII4L0EiucZpUVhf6mKmTfqGZNFgEcvZm7o0couNXlWV+S/1m/15i5sMkHhvF8A4wTs8nSxJlVAjhygWJ8HvrSF/penaSlfgE/qlZGEvCBSKYBH0iougn7Yxky7l9TuHruyRGeTsKnKCSToQmDUbXY/jZ8EuSy0sXf1no0MyXDaCjt9NHOVjgJncTW5Q0KOQ6FTnm8fXuX22xvfrcgYdmb4tGamqYr/+4nbx3UFNuPjVebssmwdf+ISANO0eLRhvl/z4n0k0mr9veK4kPcDVYCxSEO/IEssqDOtBmz2XRyBZ4mAVXwOsB38URGU3DDf1YPDn6oBhh6MWQSy+At6RPKWBZoHNbr2ux7JivGUx1WdJleHchIgYEviYtFRSo67BATxi0V0XzubrU6JxsfqPIQ1IOfHcC4cCjQAk8DL2WwUd+Nkq19Z5ukoRhTTdzvwTcFf+m+uInXELPelEYQNs/F1jc+/fxwjfCSJ+/7GuNHm6qQUqcN65wTePXXouOsiQ1AYWDttZ32s0vgWF38bIwE1lcvGe+LOj95ETMbBsgJbh3+izERmnX/+jtNUmDQVb3FyApfyJ8n+LIagsNAb1XPsGzsgWgwgM9tn1Vi9ibRozZAj/KERQg7xnWPQgjPBmKEHEExGNJvPqkjyPZ6g7FyU4Luf2NEHADWgCvU2xEhqPzWsEQsthek+ziUUn5YBuaeX1A7xpXnmAVH9VoFAqHMNo7VWip5eGH93KysfrzulZot6m8iq3xtorgED9/kEVQZcvQFyA4+bw774DvgU2DqNz+lKg5boVFzbnofZJWP0GFjpNDARPxSXTX0ty+lVElN7Jl7FxgjNCIhSB56biqReN3nYPxbdui/zeatwAj9EI+smR1JVCQnmuWrzMtmsXKE8jAJkSTGhmiIhhkOkf4KXfC0/aXyKqwncJW98ZcQHxp4o6xCEChXlkF+IQ6mYoZD30ZcoL188XE2XYi4DOFfh5lxvHUwSnNPFgV+boSvwzgx4IYEyB0VXIFzMJt5f5T1wG22h4MKqkXfud2/O32EpMq8Vp6SN9qyQ3nETCdEEOIP4ZUbkepFM9BxsGzIFr93oA3yJ5Glf3hUr65k8FU0ssew+txSnfzwXNd1farmeZVT/dwe9/t6f67P7anW3+f9Li/4WyXQ+1OVMkLfdZ60/7SeZo4kNuXLbCVHcFKv/Xw5Lefpj8/5f/zx4x8fH6p2ntXNe5EHkcN8Vf980e+SwJOShu7v1RG+p5OHOV8WxM+iCmmaVPyjC2rVka0Tqg4tEC4aniA/4SHIYiighMZBWD2+QD3ob/955ZA+tk4UGib1Y9s+Al1GBD38u+aP6gyjdvVHALodKoee47pgaRmOeU2z2qYqQ9iBYwVSCfbQs/e3uk3kjqVKAvNH/MdkNq4aZBWjJJKFn7Q5lAvJk8M+vsXvrlvgVQLlCoohppA9gzIjwBRwBoiRk9hY8C4sqC+I9LtIoy1U9uJkgUQmwr/Yl7BGjuep+EDsWygPMqjJ61DvOOOHAzeaoamsZKzlflbqdpqmZX89rx+fz+f2+fPnj9v6n//5+fnv37eb+EluBnlsZQj0COB003Fip+2pmerP5/bUYduEW9Qo8HmRbWRhY8xiMLi9UocCqpaKQ3ipAH8TCSyvmqq7Y+8RMqHdwKuKA9yDtzxHf1NM0LmYwSRJsQCIivKEL/XuOU4mLxrqQDBPpVyoAexFNce9rQQFJe60ws5KPQQrY+o4S9WhVC5ys/3mIypT5gWJ6z//M/qHbL8lxIBRWh/ZKrd0r+WAiH8TDZNsGst3jjX3hlKPuwvb/kBAGRwNR1teJRblLEXYffRE1Tv0BdFPRSB/VTqlFjVeKJGqmLjVfIarBZTtz7IUyisGGDLhCAqkEhAre4iDUQPF4ANdyTQ1/MSax3Gto65CW1l9R76LkSmX1Tu2ad/XUI0jHyHdscuKb2/JXmPmayRMWGB7TX4GrD50Z9nZ+6jx2cf73N3G5RsuB/G93TtowtPNF6WujBHmAvNNoJ5aYi5Ock5hBhq+DpIZfwHcSts0MhybG/HF0bUbhmIwWxSZ6ZnYxN/IMg0jngSRDBBDhMY16ZfM/LwiOIgLSVR4pJA+MIoYZZEQnmOUifKksHxMlbfRaU0rihkNYgVzXUg+eavWCPr6Xi5FTQB9cFc6ikYJbCznh5WFuhdejD7/zxUI0nDS1qU4otdFGFuMKKMBMmRZGyK05sXxXJQkRORNR7GZejH6j4kATZF31JMj38E5u3fsVgZXy10DlYi+sCvyjsBVRMsIktXq9Vp0NRkBG6z+BqPRR6KFGPHxaKTM1JOUomfzRLj8PwQtjp5HEBsy42Et57DwAFqWTR3aPo5ZQRTW0Bp+r/5EDDUyHuC4lw/A9p0lfnqxxujmuh9enohSNJB0I99aqpumjFWvXLfYByWkAjU0fhPu5XNOqwozVxbD5pFKhOqpw2nRt/v303fKu+u3Z6n4q4yTQyuqJK2SsarKGyjztlRYIragQAS6pgCyHJ2ZfnpoPa+PJUGmYDweTcVuU7+sW6jQSLI3kgWR0kAl2Ra1H4/9+S+kybop4h85YrjptziriGyrGJGpLdG8Nl8P6REWYv9jbDpKMDL1b7TlHGny2wytGWJlaJo8rUwOPx/83iBLhWCJ3LEY9nju6UexKC0fNeaM5mTgW5rlFr8gup8aevuUkSuNJAyC5qaEGJiJHbLju4p1XIBAwBBK28W48tBB+klG3Up5TDWnDv/tfrYcnAKj2HV8VJRXFrz1oQR0XEFZUQwZ8GDbUz8pATX/kPQbBSbJHlKSkOBgyFvuqHGrqiFCDh4ruq863hcH2Infp1LB9+fz/nD3r/5/fzx/3+5ft/vv7+ftuT+fQsiSJlALYVcmdOyJyxPsmymi7OMXr8v087r8j39+/I9//Pz5oWbfsxK8mmuljiDPZ2aCszLAci9UZarCZ2eA5Qz7NCMGaSr1nAnwHl07FOLs+VLBGuQg2rKOCWdg88npsj+FvzzoJvdGIutvgzf0/UYtmHSVrw0N48TVCA8fRFwE8caukagHzqre591gNqKS0NgmeWVBEiFOpppYS5js3b4JqbkOyNIVunEcMhGW1DWxN8gu7SH6wUmrhvSz6cBHL2Y+s/VOgoDU6GUBKYTJUiMWItx6+qsN7Vyw68ChhNO1Fx/5k2IxhgQNueplszZs9bADbCPeVBClFlNWpL3Pmibl2mVUortYKw75iHgTQUGUEOLGU4qPhL+bmNQT7KiiROKiOc7zx3J5/fzxeO73/fz//N4e/59f+2M/qZdHcRncFJJoTgLvGr9JKbsDaZ5mtCiKo3cZTk7OXFTccJ5nAVs3OYXo85d9dBeTpShxiqmPJ0brU2N1FXHdbRBiOyTiLlmEapigsjNorCWxrABs40t5Rj90rDAARWDBk0Tny19DyOfZ8dViFeE7VZpzFYSehl7aQ6JUWUXPIgprw5QswVdM7tIwAaNuosIbwCRu6F/1EuxMU8FhmOH/DdKu9scw8qP5OGDEEcW35BGRPtluhEgP5YDAdJVwneEXQ3ZEpwbsoDMg5kXgtKoPIUHqPLEJ/tRdFHAR0nK1IHzEGOG6/xTDkamKfOepJNK1Qe+CcwQA/qg2qo1kGsat9VyS+tKa0MTadSMk5uWbmBKhjIgIv+LRJUOiPVKFQ08SaT6mo9lOiHBA6pq5OZ6AVSHfYwMLiRJeyOqe8kX9ch5e7MfUdBtq0Ye41fIwWkMTiKchEyNYTcgMlo4ryI3gbphto902dfzDCUwKGiBDWlzxUngtriNmRW0GhGps4NB8bjJcolvYPuuJgA0uUaDRZTzcjJp66fjbQ/elvAKWGfKkbm1YI0JB33iEFecmOo2QmqaArUnB5itE6h4eiCXWTFiAwIEsXi25CvRdR9hUvHlJztIbGUoNuM3k/Fpwp/Q47zY+LdYyDOk27oOsGM4+kr1l9XBd/8nR7ZF6+GpGL2Yioga3+UCu6pUyUhI7gC+QFKpWbBl7CRG2jfluo4H+nbQyjOemk6cUNYgjQjOklrsoqWJjFeiN4uGPxdKKXQGtI0eyDRIjEaFFrf+ISCmNwtdwPt5KdYx7reNRhKoiy+r5HLqCMEkPOAkrAUYLLAfOcy/RtUN0V3YPU4ZhG17QcHoGMPVAUv9j44Z/b68KxGsiagD5Z7WGAKIKi5YuMGkAQAHuoQxwUaGTLHea0ONyDGUGwOH1IZThhAHseC8ggj5tzXaKwnaZd4WdH5/zgdwdQOG07JAR2TEGJAwyzYqAgKePmUTe2mMsmCLW7DNwSgMmDIcz+TpbR9q1CQ7/8zAuAIyJB+SZQWS0cVxTuvKKLP8j/icFk77HLALwg9lhpeShIXELGpRKcFByP54e8TjM9QYGjJbMCQ91pQoxw8N4TkGZlwf1/s7yJDaTHxPbBgOvv5k9syRfwBiffI+w83cj08xdhLr8hwz5Ejo3Dq4nt5klsl53+eY656FSdWgyr1WHIeLOw+YAGUMV841dR7x3+023xA/xqhOuGtfYb8W1flOUNkRqLVHmDKrYEXJNT7cNmQbCpH818mp9PP2nMsCrMsDPx+P5eK5ft/tf37ff3556pSt1+6wTI16X6Ty7cn51XUNGj0w628UdDS6nP50+rvM/f17/+ePyn//4+Men3N/L9aKjLTXX6mORM5ys+UVerwJEHuPK0XLyj5U5vej/Hs+rjj57wE78wlE2gwQETXiJCRjLAM6DzGpKNoofcYMnWdI20b570hXqYUFouKovxzBG2tQxVUAHmSOV5GB5DlwxlnOz7gG1+DNh8NC1ioflODnXMXt0M9ZV34X4gaIi1uI1tie3IgqbSBksjm/o7WaNbBTgsKqesF2OGIqhP4Ma82S/G6fYCiwcNGC8e8JC7BXm6hE83ZXVHA/kMQEm8YjySx4IGRvCTb/44/dqWM9F0UymsdSG2S1SgDK2HdVeKWbylizzGy1iRpe+8quc/Z5fq08S3VSufL0s+8f1PE/P13mdpv/9+35/bOf/epzu29ONDpFyGVwoyhHbnc53uxnn+346rdP0tPN//rHN10WWh1uMBSGn65QWm+ZpO2+KJ/n0Ag6I8dQDXCQggDGdn2FxVWY6XGG6C+UF3BBcr/MHOd8BFWaW610G8ChRcY9D3BFEY2P3/OBdxDytUcu74gvGyMwShubieeNz6uEpmMJSAl+cswAez2cVYUG+rROMH4g1X+PKtOe+dEpv2Ar5C8g66wMisR90/G9bf4nVl0SxiXMv4EyoMwR5/O29NIect4Jp+lFFdIWGuRkBHqLF1KrPHFjZGGRTLV71qxoaDvuM02KtUuklhLHDlYR8K9NipfC7BIGW6m4WESMR2L8bGiflJ+xXw9/+3b+ZlzKGoN18BUYo7rWr/pk5W/QjoqsrutxbUbM/6+x0K/YfYPjvxkpMyxn8GMc45kbeTEwkcoXmHR41HJkKFQBPsgftjehuN6IzigGpn03hj9M7sX/9o0eq4icMcLgzjd+x6HBO3M4xFGgQZ2JSsU+Q5dm6N1mLMTeOYQfjHGP7gQ3gh0DAY+SlD1arOAAuES3xf0rZJCGSgTlAZwgkfuG4a4abkFxkblSNICLUsY7jR4AFWC0qhb52xv84WOYtz+kMHPEXFhGOLq/Vij6sQKr9/fuuUvV4FnYAckdzQXhE/BLvJlpDXc1Qkkp9Rn48AtbgTOTYs8ziRoZb8xIaB4wHHFCLdVU/shAEfMgUcz/aMhw2mDBCHtJE8TbtLipsW2RoMnzuvrgyPzQK1SDK1ZqQXWG0G1fCgiJ4Jr4walSWnzI0jBWJ0n0UKPIkuTq1vXD1A9owpbYMNZc22R4mOp8h3ioSAbXJMhtIoC5AD8xsYNtWzkw7TDfHES0M/j5Sz++sgQQFwerRuHlX7HkGvXhFOJaaJWGQo7QakOB2kY+jszZXqQUa7y7GU8vmc+fJqsqs6egGxJCjIi3vLNKh3WJ2yK+sIO0HCfIp64qIJ3RTeR1omn6cTtTQz83dnq5x5C3D89fLLZOkNSxVh5Dvy03b3i2zOlxqXjDqWZBqdFo8Zz2ZCghXOUaOh3nAjNkxwtdKvl2tDXZ2IZ312qlkxtMYmdvysEARiRASi0AiUEYiFiGYUKDz8EPBUN4ZwsVwByNqj2f6cXg4yMpL81l+aGLrwRDtRmbnFubx9xjH5PWlkd4lAtFt6fU1NloPySclRXMDKfrymk0nL14Yt55Lf1PoKiWIHuDlC8KN4fpq6IiGlAjEbOc6k1/oHBbriXfBb1GcZ1YD+pbYQ5FA3plyrjEmsglAKsk8EpKgnzC/hl09V5dirttT7q57gJUiXtf9ue63+/P7fv/z9/fv7/vv78fjsW2ruO1i+rmc98v5dCFgepJFta4SEZt00evpENn5fPq8aj7Qf/zj8x+f13/8uPy4XnTM7/WiUVc64+g6Ke0rvTVP08X1eZxuodyNpa3Hw0+Ha5wTtqIOCxb2K4rx5L03onW5RBW7gKVQ0TFhIPEFOI3SbsQcgZ/Ca9BGzIAySg0e7KbWWSRYE1OE8ESUknWdomUEDEiVwBC1+M05ow+5lYBjl7w/FrDfS654LBbDARlLida2b858ijT9hgjP/JBKMh15lX3QIMHzLCkMraV9vQ4uhIsnGXIc1li5q11eNdX9NZ9kVI85yRXIOtylgiDGEzOH2NRh+nu6eTNgDbQ5FYCEHtEkFxXnLscyowExRKoVPNyqlmX0mrEnamRTNvQ0eI1+RwZh7PO+P/f9x4/P7XX63//HP9b7qg6Ff91/PZ67UkzScSnUTsjPZxKdXuvr9S3VM51ud10lH/Oi2qnTvK47dQ/rus7naT1ti+6bn+tqD3ZxKX2memEAx+go4P8bccIvRr+DpEazvowZXaMMQmT70XEG+ThbBR/GonDfN5+DxdgwMIhERjzppTGEcIZGLDhUgz5KWhE67HYiqhP0qYVmesnZP77UfKCnY17W+T66Xypco7baAw0bZBmY7VF5OCSoE4PIpDqqALir9klci3ICwe/+ninch+gISeXl9ZeQy/oktYfD6wrsYOsMZcsV4Y7aNgP9+GXkCXBO6oFkoIU3xWywYZEmXV+G96yBuHk8ZBwn73/ml8qJkWlAtihxkkPRrF1JwVQ0DDUZ3TgeArlFJsSKiRDL63iHxH+mRyFUo9rQwKTxAAHWOP1ERMAT6bApIVvLi0c8sI7wwZBrUCTUWIMNmVyLwlkieCVEdLyXx40GT0DfLnTrlCMRhqiv0NOmMzLMdL9uig44IlmprkscHg1cbUYOOiReEelL8DdJ8rqXEQtxO/FKmpUMPnKou8OvIy+I7DLkUTPNGOtfTDo8prQ0gRR2jfSLcZM3VQJrLaOOILk3HzftNdnyotAgC9MgBnxLwlJyFm2KjbejZd5qdMeq0JHjjJ7z6ayD78IGvqx1U0GtbpcWAjkRScip7Ce4L80UWqXySM5yc/Y5dCh+GekyVba5+FrzuvUO+R2O53mSASW4xF0qj8oqzCSIiBuozOecOoLx2jOYa+XmITVDYuXDe9UR2EAZ8dJs1zh6IVwXPh2Z8urqeV48I4Edmeejtgspmr6G0DPe/ELsp4iJEUuL8Aj8Ik+SoXebEP455AZXK1sTyA+xUlkKXRkFHVH42icZEptnrpifQ+mUWut4w32fF9cOUBvjZVSKspG016c6qqIhrF76ibZBokmne/Jmcn3emLMUsmtFnp3F7zHL4OXIz9szQcZSA1DpAoDsvlZIVY8mXZ52krSnmes6povTg8wUKhQfnAM2YcMMM0pcNd/yIqAWmT+GvgxRAyJKeBHnbnGMYzke1fgEAWa0/0CgAZX3uE+MnJieKs8kFefxIVGQtq3Ny/6bWTAdwIOMI7MdceW3/M3HigSAGBsUJBZuIWxOkchU20urOgx8qw1EkpVBvLpsp9ToCsv32pjxRmOduLCVGVIIvPsqcraMOMMEsYYjdJKHwZ9DKAnX6BgCK6aNYO/ovWenB91CivRZdJXoyEZhs0eQYV/FzCjJZgZxoBTtkrAesi3WQJ4wFPPrvGh87GBesNOYbHRuwnghR7T0roNGPTdL3XTPx/O1asaVzv31YUibjj1SF/DzuX3fnl+3x6/v26+v29f3435/Pp3Dnk/T5bxdptNVx8fvSgLPp+k6n/ZJA7Rer3V7PV7n2+t02/f5svzjnz//5//85z9/fvy4LJ9X1XpeLled5OuBV4safyXtfXbv7P9PwpLiWSrN8OHfukCeMb2+MGx1F8KqWUQ0FqHufFjvLvTxJoJCe5BOUIePCJQPCXuIkSqX4XDgJAc5WQaz2aFoOQhyH3LuC1JmGKrw+pglM3zFskco0y3fKdwa5G5qod4HL56FxUJCpLhcpVs221Atb/LFNohyNvWOobuxpYbiGSK1fB8bziBPo2XZNiCNHxHaJbtVLvDbNXTD4rL2GjDWEzJsBrO2L/ViYQRUgAd/J0o4mhmzYvw6Ki37nBjiZis32dKfP2Rp2Lk5GwtSy4xkhA1Of6LiBlea2/1a5svH5bztf+z7/+N//HNbZeHeng8Fk+6nfb9oii0mKFJCZr6uWd0s/v187NOmUenn7fz6OO+X+XR9rtuyTNtTynd9rpfzokSDSuZlFytDMKm0u3ZpBFSSCyAI9VZBN35iC4D6IVpACYAIUwxeAIBYcXYBgs3EoTLjIJZGsD3McbuisQCJvmPzlFSIYeWdoMghrlJCDfQKWogwIjpWZXjfONTKXINj1TI4U1tD8k9UWqG4A6Wmy7DAhu0bK3dYInS/u/SSBNTfpH1EsTFRE6ePjK2cb7g413M/N6TwIWiqauXHkqcnBpYXqnj9707oDO6H6Q+D13I4mIjkKKm74Dtc514MBIaTuaYAb13Sgx7modk63xSP3zTguCVL1CIV0kpXWX4MSUqNB2O2Tw2v1Gs2CoqUAScIAC7+73mgoe/0x+zxezY83gcFUgqap1GI21qJGJHszEY+EquGurjOFmaFf8DNryME1fh3pR9Sj6Z+dHoXSTNLuCZ4iavhD62EspxxFHku767zwH4QymclGCx8RWSnCxik67CYS8GHtWJCYLTdwBoPall48h6OI6fSDc4kwo+xiqmpuCkD0Jpo+ds64WUzCD1oBxzCHVjl0Qgh4th/1lmqx5SGJM42tEwwVroYPAcJ2YU8SGeB3MjlF4ux9sC9zhkZTE4xu1eJ0TZUy4F17L+WO3rqMWRAvC/cC4zK0gbEKOMT57garew+RIMWm+rg7ADTUcVm0QFhxdgQLXSBRVyT6BpVqJem2a68zu8grBCAgejIWaLEhmzXAHj9VkpA/UPDYXR8ts/jIT6/H8gY8XFQOpVpMFaSVyYTlgOEKxYKMjSWRdTgMf9o8ZE1/NMOdooWLRGOsHekgwWRTIQQbnjA608kEpHHM8vyhn6qT7QcA8qRJIJDRpbV45ScoR0LgnQh+hw+bHvD/nWO2CS46Ii8L8wYuoHINKr1FabMIDcuUJmKlAJ4sUCzRzGkCWXPCKzoichhrnJkOuyqrcb5CBmHh+AjiNo0oF91IqQbIAbSXUxr7j1PLiLKwKpZTGlj2okwkBuvMbnNoLt0awnClLxYm1qdJ7sJEqp5sSHmIIOB48ksNsM4nDsSgv7k3I/6dNdQrILCMBeEcWvsZq+IBRw8/ZKT3wZZBvoRidDRKFwPX7csmbzcYViUq6IfWWbtjJCdJ0343cxXfJtfSiGiDoUuGTgjamKUv44nC21JlzGtw+zvSyOkU2mauSFJ55a0UId8hJ5ngGGFAJ3sQjeDIkOlY+8YjsREcLwL3dSHHJQP9lMikDo3cOr59tqgmg51LqEbgOnOsB23bququXXcUQ4/cp53v93u3/fHX79vf319f90e98eq0YmOgi9yfV8/LtPlvC+n/aLTfU+L2mFe50WQWvfptikt9jHNf/zHP//5n/Z+lfVldtV8VdZXE5/V4PuxQI2Kz+lTz79yMI1B0G71tcawngYIkA1anoNXqQuijwjoEcpKtGvTdEcYlTgFOrzOHoIVFkYI1MOEsEvjxke6L/4mYOGO0HUuJEocsShsJETIw6wlhPjWRWMOCi30eCccI1LjAt6HbTM4qDQPTVWj8DcsCalyOvI2morJdGEcNCxrGKAV05+GEElR2DCGkhs3k4fsvcWEnEayCL1VWWEiHkXgLBXuE3biMfX5OZ6dOuTxLJYdu56P8+o0BCasFrVSbUJFks2kVs15Y7yxOgJxkocn+LVpLs+LY94RNlzo+mcUxrQs074tl8vp9Jw+r4oe/ec/t9Prsa8+1GB9rKc1JGvHnmV61hWrf6AVvjZPAVLIeT6dPi/LBdv89Zw/lu3xtPyWc76+Vo1J1zwPrCP2mmXri3cOGTVQ3XUIJtwAfIaZXPkKiXpABkxXBsEn5HiCFG0RREDOhN/ih+i/UJxDrX5ZgrxcBxIz8sM/rSTQpc6V6Z0ubwlVESLKTrDnXPfosZ1YF5L50rMI8/Z4hx1wcpJGgVfMYrSQZEZ0gwEmJDQeRIeKrFQv3PnpEamwYin/+Cv1uoAmLAx7ogPVzxmNk09Cy7VFMfR8e5ASq5KGbVAjrScQpwPZnzMhP+V0LUsMGViBHVIuyANUQoeenyNSxma6aApMkE0w4DAhcn1/1Q3uK2EBfgID6t6vDOn0Cboy8zHzBsRzKCoHlCC/mb5FZ1fXCjc7FZSwSVQ3yXeIJyKUPA52BoKozx6CyALdT5/dA2gb1deTXLNTkJPGhtNlO2IIsbKbcekiZO8Tu2QAP3OVjMxsOYyFIsHaodLNx9DMjo6GyMFI+CDLzkthmmAWmQ79eMWuErLR2TIg2rYiQ0ZRUvDVVun0gddW9Jk4+h/SQXYBdMpeWYCvrN7Rh5kGl/mOuLcelMPXXvsoMtJABB+G4vXT3weiKspsf0a49EU1mbBf/0bwJwbqEaNNKnyjMoAodOpA9QgdgDQqSBteBQ6Dn6t2bPiaHT3nJsRnHrUpMBCDw1K9HnEL/urSGGjZWMgrqMCCSXAxsVvq1BCsWOKspiLbsb8h3EOffnBG2/O6UiemRsIcRAmaTEY0wq4tCo2o8c+mBjBpriT3hvLpyt/3NfarI9S6ZYmJBG/Gjv25baGxyDLMIcvGGsa3xHXitln6JU/iO7oYyCgLoE0KWcDWKCc0AzP6LgUS8Crlan6+QY6yyMHiuli7kaCHrz3KCVPMzm06N40vm/LWdX2/t1rp5P3HO60EDRm4ckKFsTjVrs22lz3ETVCO601xc6KA5ARe8xBhyCQqIFxoV4uPHRPLZCCk2FbP8hE19ldpjjroqJIRNxUZ64fRL4HB700362QXt1mdYBbY4QvDmENgY38EGBQ8A0/M1hTynOUVGzWjKgGR5NhW5rpyJSVGjF+RlJSjaAnbeBIAKT+C4lac6gIqW44qsvJwPEn0tx119Rzie0S2xtdGVSMZgUBGUI6VYLgjg3LSD4GSJlyAgtYTVk9biUU8Nlo2gPyC9EM/UDE+6RDcXl+NfkrNs7YgujFQzOYIjUGp0HNoeqgVY2rwrzVBmAQpQZ8S9tt4HiHzGIPdRHuAXazvUKlo3FafcrybZ1w9H/e7/d5Vxx3dn7fbXX2/6/r9/fj1+/uv37ev2/P+1KEJJzX9npW/nU6f0/lzfl3Pr1nTI7Tg+aSElQWgDhI+L6rRnD9//PEfnz9/fPz48Pm+Ouho0VlG12W5fkwXD7/iTzsnKvlcNA0o2QOVgvocF0yst+0ydFQoxjcuepp2iPagPMtSLyzQ2AkMGfMLgh4Px0qDg/LNQFwoMYgedzCBHxyr3sfs70dwUCG6lZdanqOxcnMisZyEBnlA+bBeZhCYaCJW0YzD02u0N0uKPjqf3GVKMCvtLTUvWDebwyuuugMwqLZjlxnsR50asT87uvAxlXJkgGpdHeKAdCMWyaGboji9VTvnbo2bTaTyfjOEIuK+T/AKvGcftSUCkKAOSiJoMSoOnnKeJ6DCZUiUHDOxIHW4pQPzEGLRpsS9JdWNj7OjKx4HbQafluW0rad9Wrft42P5458f/9vyj5fmsZ2n169//7nffMSeDttWeEO72FRk+vKplGc1468C4u32vJ7OCz6wBOL6eV0+Py7n1z5fpsVGxaJchUxnxc7cDYdJE1OkMUJDYWw/lGuiI5ENeCzk3y4iCBFC9fWUUJm6EmktjHNjHYTjhYYroQjP+H07gGTITL8W2z8FL0Ot52EheHtNCVpUxMUNDcL9fDxkFCm6NVUVikwd1OD/XARko9+Uo+q8FLjFJ8feM3lSpBrHtXuLwGCNvjpv8Ni/Yw++YTgi6FggMeS/9zfgQ9doIqGREhFl7J4XiiyZBZAZsRUsmT8FfAgYFEhBnR8xjDmni3xqoOcLRLzF8FbImEd0q36TrTiUnbEYt2qIODIiNSnjsrMMNh7LOP3DWm7zIvFL/TiLoPgjEWeRFY0PxCrMNrWMxLMQoYZg0uUpu3DlHTZeZAiQfRMdZIypJSEFEg2dvlN7Q+RXnK+g+N9o5sQpj807zjXMBjVM18OWguhYR5BksFT2KVUlz4HUhxPd/ZfUkq+PUZTjqUoJQ7ANyZbiIm+nByLygzU74OnadYzekG7qJkw0eLGpcuJnTF/nwY5yWjfghWb/afsKHRjSlIOETkoAypGEpSLQhhoKgeQfaU/WZ2NWjtVpzlbKimPWcvvwdN6WQYREF6nBBPhTZu0Js1H/qo0DAn4X+8UpUgkTKZAaB1FSMLyN/6ELbVyXMCvtoLDD/sBs8HKtIYKoJuWCxcj93pRb0e0p4OTKCm225rfn4c6EoAcHQ9XMKpD8R6JlEJqZn0GUkT1+9rbpqBjoGY4Kmo0/kqsc7j7OcCpU3pZeywMI17yI4AoYjF/jIIzDThFAKh5vfqDlc6Fb9l5SONSMOgksucAYakMFMBmq7u07gpU6Q6pcbJlRlWefLQKFdTulObQC7BSyhv9pn2R3WVfNShaGR131nJXD2RxiNhK8lbAuUSbhYpmcwAwyE7K2vCr12wBJFzeiUBjVE8JCslUIb4ck5VFnO961M0o1mNCMLInZusaiNLGttEH7IQ1jyCRnPI4WC4duSWOMiLIT8aOWwe8iTtb4AqcomcR8eLogFoI0WJPfkIwmoOulWEYZj5UsFDhlJYdgxPOzz4n5GcLN+n3GZuVt6j6MWMAPyvxZWoOzcidloQpnRQrDePb+BUam9y7EdQgK/iY2gUbHra0CcfW4giDmOBQbA73Ma4MC7aamhzAbq1iIJAMWsW7iT3s7BVrWg//SOWNGD+Q5eBVNlvoEm4cFUXFdBZl5p7EwDFxCIOYK1DBRIAJAvHr4Qh1B6nwATQ0qblbjwml/abzzUyOe5f0y8ko9wI+bTvq9fz+ev359fd8ev75uamO0jec++NdFNZqvj2m6+vfpJEt9Or+W6fy5aIDzrjLq/XM6nz8+Fx149KEzfi+zjjRaluV6vX5+XK4XDb7SYb8a+tzUrsSXDvX1NBiChZ5jBAsPIAsrtMS7+Z8BbN43hh/uwajTk52XWPUwOqEkrJDkTxC4GhrZaWfRThYMTcJHR/R/PDBE24EbtYNDcAgxB+O8pSF834iGth6cjUO7hTxD79736H6MVPQjzRy+lbxllAvzHSD1KhVEd2dFwE8Ry4nrEqVsywO9nRQ9CRcVw1B1MsPR8arJoigmCwgMByNEBMIMXolwzXwvPA6fYBC+S5O2F04wZ2DPHBEMwhV5/Iga8IpWZES8490xMcCtTPi7NmNi4aiphza2DFXSO5TKNSfuSrbYwheFTqfNhSTrqho8dcZf1MI7nT5er3/M4meVNu/nef361/f62nYdna2y5eJP+WGjXUvVhm+v7WPaFyeMl0Wlutt2Zdj0ZT7PHoYGUWMb7RLyNbNtlCiXXqk1NDKYz/CUOEcxfJzCqMMLXuPdhc7iAGMVAUzsjQRvI0xjjBktgzGCpYGpcS/Ui23P2PPawU3al+jD+On9KztyP1ex9KNyAZsEGGijY2JI9QvPR/f5jA9kB6GRYVbFrIh2jB7DH7aygJqjjOp+Y6EZRxE42aJ+kVEUw8lriL8aSQJ/4jaQiRzNz8AhVpKvTsSffVfVpAE7JXtpofTMMK7IQd5isgzXfI9NsGpmdBcCBJg4MRTPPEixTAYmLM5iw6rNsugI1zIpJC0YDHAhBhtrAcEwTArPZA7phgizwGhJeDliwYoHmeaf2jMQodNOXq0nrKc3FdyAgdhyQYf/bf9V81MMAujE+VQkaizGCJQwYuQ2ytlXERlknhYyKmKIbRmeJKY9QA5jZOgFP0AD4V17Np118IHlaiYUMDUGWe2AQywHC0oTD1sDeCy9QRa4okLfcyiwtrgnzxkrUQwaT4yAxbsCTXIUSjZ4HWxNnNQl7ywmIkhrcCzY4IxOAt2hR9tTZBSgHmoGbWJRu3DQOs1xekImcoQGFMw1uSZiC3m875yJQnE62bOAuQytb5qpM+KfHGEo8kiNUIDLwVb+NVYvnHMoK1dbOnrooXH6vDFFQcZlNOZpgyrUYlZr43Uo2u3O2XwdMFg1pkiTMBWNrAqFd0w/pk1ioBchAjT82VsW2oBLRs1IiNOfHD2NofgEyUL4AT4zI1Ru9yYOPmDFzkgmGWmb6AygL0JybCPEtGvuqp3SSgRANvZh8aYKe7nlXhgbQrJGhvjhCESXDyRoFLsHh6S1ppnmqu7fzH8aZE+M3+iG+hFKFlt9+KgoS5HwGzqitJo87JnSR/ABgx448IY0PjVghsuhRnSYM36BY1FxKyyE2rXLbCclFmTxkLDTU1NDxDQBswLvJTKZHIiK8FXugg6LlqjQhCkpJghZ6vVetCyiqHO8u0QKHEkMZJqrtDlxFCwNRzcaZtipFnq0W3vJeamdIkdzbKzOF52ewjXRlBCV7o3KMiumNCbvheC1qvQKYfse8q5XRud40eldLN3WN3yjliOgY9CNUpmQf3QDHhqhK0bmwtTeuu7vCBxe8QZtaIiPdrk66dgP7UEf/jAjefUfgjf2fXafJfIoG/PIqMrKADJqhg2wRkrTmqUo9kDZ4NjIIl4FfdLvJJEdq1H/o04Ep57QUlUZIK1ugxsiWdLehNb2V0GCTYTCy96FDSu5vJpYJd9321ePtlof2/32/L7dv77vv3Tc0eP7+367r3S76xzek5K98+u1nM6zKi1Pcn1f58XcfL3MP39ePz8WPff10gFHP/+Yrp8a3KwWyWWaXfa8XC8fqnyWzPRRqtqg5+g4DzhLHuWflrfmmU7jKAlYGnuG9Yv6mkY2XS7uBFlkklVdrT3LHDKxiKPwl5UMIpWEz99itoa5dDNpUrSABYVK6EE14OaFIQq/0l7oMaUTho5nEomPiHZWP6xB7D1SnirDsRCzC+gvcWmPpTDb+tqvBWQOog2x139HcbiClgqpGHuxEGrljjmiZLPRs8jeTPQNqdHVFucqhM+vMHigXe4zaOD00jy1fF5pQISdQVFirVu/YGRygrumOBI/GzqCN5nq3yrLUurJgBVvpkeApAc7WeWgBeHKaE8nt1UI6ohngvizxwIvmlgiIxUFtio2lIkz/9t/aMT5azn9f/9cPRFrVTTKG0ceZalEBxWsu602HM+n5e5JsdNz9lnZ0zI/V02c2laG/AuVHr8MxYd2PGgc1em2jWAz5noJM+ZZXeeW2g0c+88xPTW34BUW6tUsEYlv7hC36IbaYyEcHgCnGzFZXKWr3g5MqIfkPiy9EeU64shoNLxdFlIDqVmyhiMjG+F3660If7XFuhjQWSyAaK34VhJfSEk0K4nHjgtGGiDZNwUOBQGLYjv8x7SkNzy8c8Vh3RgXRPFsaueJ4Ny2hG+yprMRHd+SzY1SET83UpULilbFZly6IAc7w/M4ssj+MA+gsMLnLIaLG9sqtqCZUXD7HilL+0ihIE5u1jpQGJuqUCeWN6oRMdwBsM+VNG+bWJ09O0A3qIfstMFESqDv96XT+bV6BINF2KBMkyloylKaTog6D05KqWjv2q4JOAb9sKW5GRYD/5giIc5aVF4t/nLByT6qFUBDCm3eAqJUryfJw4XQOHo64e+snRhfHmeaZyobFcb0UcXeiQGMmY2IzmBa9eP4gBG0p2ULVpt3Awv4EbQPGDUGIArAcCBvmkIsWKUwH4VE9SmAE+K4k+qCinc/AgpHGNiZRwQgFj3fgbuIWYXzKb0cpFEuUWMXBgTP7iKCigpLLWbfNg9pPLl5TN3tSgK7QjLIM6cBd07qNcgiXTJJOS3pceubnDTokLRR3QFrJU6IjNS5UJ4WiACnkioaN1LPgypwud0T30JwTMODMA66ZgF4T0OixT1iZnKZQHwrPWVN5AJOknbI5xFX8XK6OVqHIvXS0cSL0euUvUHW+QuYUhsJqOqTxmur3E+KthmSioOAj+hl8J4Hw6+syKGskfZMsCqlNIlbp9y0/ClJhLCAXuzF4WNY2h0PSbANCVoLpb+Tdo344KLRToMmRkljNoXVm/gK4jIeomLB6s2BlFmGuhdQ/DLhsLKI1vyUiAzx0TSQ8Z4OGDOBAOyYja2LwfNuSHCFsTNYmafVsXQgPDlnSJO4Ina9FSO/lQ3zRqyBLMz+vp7jyTH7vmGKQ3EaEeQjIvZd5aoQSsOAkapAuEcdkhc1DVuX6qrOw4gSi54J6yFHmcwG9ZpqvGaEhh+SaH3vIqVWbCZ6Eh6tymkYJHvGUM0nJhahDI4YMrvyL63sIc8MLQuqi0PWeT4r6ZhYmEEqmyaOd/phjvql7u94b73M4SQAXNhzV8jZcnmMmI8R7ztYCCsDyGJWD6UzDJhCEVgXLvm/gFcJMPpw2kqHXB7Cr22YhoCNid0d4C4sZbzzc99eT5U5rxp/ZWf4qVnQ6/f98X2/e+rV/ZdOc9GMnslT6QhUae6sqT7DZF08olTudP7x4/Ljc/m4zvtp2s6nn//853T5OF+uOi/pvEyX6zxfpsv1PC2neVEH4+LhscoA+6hTOyWuqqDsOeaDm9ciOxKKplvbZca0HUJvI6IETsKnPQ/ZojtjjAFlJNKb4GriAuKEnDp43FIoweySV5iqwg1yL3GGRCNAhIVBBNXi/mk1ckwQhDxUFrGb3yIW8w8MwhjWfpeGhJ2VUvTIADhukC5nR5EDsRDa0vQUWYfcqC6E7KNQx0lCsfRj4/n9BCh8J8qolslRmUkJA6pWTxbOIkElQKWnZB55tncljCnd7W10P/l9OvLHK4TJ3iJiwJX7IjcdL469HnkTfCH3Yfc3+VMJSToCKxB0xR/GhsuPzRMYXHk1h6qWy+u1a5a5nGFluayfpuW8nNfzY33et/X5pU4CItuOWiSyMQb5rK/TbbMHfHotOv5aHtppui/ysSfN0YwNx4RKsbYKfgTNoEX/swGh0pfEJZLsp05yFAi6hS82uFVwLJxQjGXboHEyKlGQaN4QV13WqBwekqRuYoGRuFEHA7Dj4UMYZ34BsddaDAk9T6dtxQbo0Ruwnl+IQWhSVINesmwIzGY7g2w/LHGfN2MR75X7hhDI8qAQPolpV67LP3xhyZGUaQLB7JQCJgcfB4AR+BEJR9DSMVw/1nR42ET6nhaEXdXv1c3jzSndoiBDVQy7Rjt4xMAcaCXlbqUgraA5akz7MpH7iHXsczgExEEGVmaezp+smnVMBubbS0r1rHUeEvWAYZtIhwEbNkhBbtL7DuRgLwZho0gz0sXFK5AG/pGzN8mDGBE17VokhVHlLo+KZuzw6IS0l8fk9ktlR6an2kGtLKmN57j6sIiG1oFsQJY2eGlzGgZKB+W6aLXwIzatDLlOh8KcShgOuLc8wWUypWBIxQ9HPbamA9gPA6UoGNwaIRF+rGFDxjpkAoM7vcSuZTYQIhyuKiUrIwwP6+WZGYJF1T3VPcH5oFfggPghIxX32yvgyBjtI92jcdZiDgUb+nEhNKgLsVrsqDKn9cINUiPbGgq0jAoZA88cgwS08vhyo/VgRcLhorKTTMAH07JgED7O9zpQbemh0np+LPQBm4Whrks8OOBHZkLGWB4YHLwCQA4J1ccS/LbMRRwgSSnZhgesqF3z7uYiNuFdRCq9y2MPS9kzPoiyZ06GTOh9MIKs85RIoUozvtBrYnnZ3UgkZveQAcRhzxkbA1omcR3nGFO6TMsTDPryeiDAcGF7k6m6H33LyGutyznqWOXviTJx/XimyXAsm+fAhSFNDyiPjjSdwLfAxmRghyH5LNYQY0LmTm2POrE1UBB1+mVYbsrdjkzdYLMwm9N+UPI0SYKTta4E1YPs7+W04YZI9e4t3VPNfQ/ZgiXNms1cjuMA2lqEh3lbz7odI1gnp3UlMeyCuoxntKmEOOUNPh8DudkyKqD/claQY6tZboxjUzMn+IUO6uWB3nVbEwWFC8caffukJIMtS4SfK2CYeFAaQpt31l/MEugHQR9HHalzlM9BxhUqPsAMJrZI5uH8xoJZMjZE5340mhiKiS2SdfH8lCtnv8iKCsfoP7W4x66w+KHnyPUrgCSHgRNX4FtfkNFxniv+dy8FaPLn4O5h/GWp9pUSXIzlMqSU2yNb6JElQDqu18BkRI9Wx/EEvjXI/E64H5lZCMIaw8wMdIMWA0Klzyp+zh+rnN/1+bQX/Hyuz+3+eN7vz6/bTd7v9+3r8Xxs+zPpQb+jwtbeDKWD6qucT/tymq7L9Om07vUyiciWy88/Pqflur2mXROil+lyOS+X+XKVjF4uHuGjwiAGO5817c0H7Zj7FZJvYRES3/IHNk/8yAHskZQls6Aqo4rGXBNqJscYBIZQ7T0SuMH0jcQJhfY5CDDQitqxTgxJlqhRoh5HWfYIQvUrvS+m74Y5/A+II9UcFeyRAJadzE7JKX68A3bgObCo/3CsvHYYb0gDLRlU00hspB5CPFgMOax+gfJlqD5RiNhPqd0aKiukGLEwFsdsOfODEknsSHFwcFVJg9HMb4cx0XqkoillomQecmd5rlfGQe0RGjA7vxKuDTqGGEkfYPaKBg3wi2X0gqtGByfiDBt2TIK2AMI+U0JXg7438cZyuazOFp4+pVVPr9dte3yvz3X/3u8Olbnip6ZVuqlX2yfb6/x8KRU8LfKEbUtu8/ku0t7k6VL2vGzT6zotH8u+nVWWjS62PgOqVIJVkgRuElDZWgAFbLkILqpY4wgKaMDcUTsW5BJA8LsAuzkF7e3bDxLh6yQQLU/MypwI2EgXQiY69kBw/suKilbPT7I+dX2c9LPjOHlbbWvwnn8iC4ifh5uR0m6DVDKlcyWzoJYeDCLJTijeGRBkl1zJjA0HC0puh1yOHGNV7KT6IRcMM7Sted46/GbsoabeVgJoxyJrwVq5Ne4cR9FafSgyx8tSyiL7RGwaP4Iyxyw/rlQKelXycJTMIrZIsXHMoZdhwIxDT8GbxbUB3i60Piaj1Zl0WLehiIN+DhNoqCCvibN0+adlXSg5EAHO3M4DK/P8aD/JnN9OMbiBoBtUGBquu0EzOrQAeA408jcOCHtuoYHL8QqIXK8/WwWjhCSNaWw81Kmv8NioVI9pHeXl8+FbFOViHZ/P7JWIlhnx27B5CONttTFD85GeaQByBw9KmY8r8nwNAiIESpDLnqSR6SI7quWp1yP9Sd0v+yqY+kNw2QeqR3EHkpKZSFxyXf5huhA/b5AcPY2wWMdx+f85y70PNgdE2vszmAuE7gtExqlNvMVE6MUTpIm1nRJq6BbPUOjUARi75juk4lNXLosSyyza9mbMlyw9MYVQ4/jKH3G9coOoQwiO9ZA24954Z9vLzNlDd/qw+DpDUDjmNMQEO+R1ducKYOjV/zSZuuLOtbF6EbLOlVQjYy/cm3+7g1jVEabFfGcOWe4wakgTocByBIbr6ICWK2lbCYn71IeFjKHXlspEPKHUcnViHqyItB4U5QaPELW76ZzJroOhTCbT4YLoxB+0UrLYJOXqf+lH5TSJyQUyOF0Du5YjaYmJmzkcwvrhhZ/vcbl4KMeAzue+2bNS4ENYMJUCyirYV4TCM0euFO/KCNJ94P6AZiVvFAYrKgsDi9O6rp34xdgD7VYNJ4OpyOeWrFtkqAi+fXXvIlHwRL8SBYDboJCIV0I3+oUuiOrxWhKWQa5RFPAFf1dfJ8hN+7HlC7MNN0UsB2FiWIe1qj/Q7gkAJ5MZIRBxwOTBYTYFNf5X2B65GR8j0G1dw8FTXJD9pHILZmbjTgicp81KJznemhJNbfjiniSgFzDOJEOt9F8bLs4uHQSYrdqqWjJ9OWIUE++sAARIobAcPdghkmz0oKhKw3oOdXIgKBgKSEPq1R/71kIjRpBmlFVpICGP/NnsOovSQ9xok6Fe0XLaxAijRmVo4NUud1cO46pzfzflfh/3+0Mu8ON5V9/v4/Z4/vn1/ev7+/f9eXvuq2p5ycSayZNPzl7t1floXrPZx1Uu7Yen1p4vy+X6cZHHu5zVvzRPl4/5+nmaF2XJzotOhLt41KQfI1PJqQXlhKGHDN4wk4YzIvvDqcQqsmsrsWFwe21KfiHWkTTVvU6vuv6ochKFHfUEb/IS7H+ynrouItRvaTEgJOTXpKqCJWUPYdQOIwi1DLqgnAM3Vll1Qqd1MUkzN/JsPVeLsHZlvDIWz7R0OSR2DdrdF2MxKBzREnpguhg8BDil6inrRTyQmmd/KdVBGJl8wU8UQeBsglHBAMVRmvZkIZS4cy+hqkV3eTJiGqFJ/Jfsydc51vbGDrAJBEObTkJZsemT1B1GKsKEVGH0SA3qhBhMUWkba+BAliayyKJM/Lruy7yg5uPeMKqct7+ms8e4XU+n++t+/ZinaT1Np/99+4/70xMJ/v29f+9Po29zLFUrtLoRxqV/Hcbe9+W5ksk7n1YdGvbYrou4UmOikziyJUaNajcbeiT0LyM5c7yGrPtvP1V8+p0mRgiSegxopaSgL1X951dhL0fix9D24+xODOY6ClWit6riuxRQKH8M73eYAWYP8BuJe1jxtnl64CDOBs9yVtMVRCZm9xAClRJD7KBBppEhiNMAJBoRh80XWm/naZ0AYY15nMioEesc7pxYPV7ZqAAbU7nYRNgp2ixBAVhNZ1hTyJ6J/YGyu/BMulHLKUTQt+k1s7srjULgrbaWIeaGd2bUadhR9Vsy6sAA9vGmXChXsOgtnqVMCta0aivTvqMdlhpcAI1eJL+jvzAhKUOnQ1Ku0Y0RCI3FEtDhBTl5hBaSti01aZF/IqDcD+ofjYeQ7rYpHtq2N+iGuFhToDPP65nYfq4W1oIBx7p8fSIDvAfIQoNNYvYAUMObAUe1cX0Mw4FrkyELI1HhUe76nw8VHYUzqCDagBFixlbUb+KGGELxOiDIvEUC20xq/BI7NRwS4QJxMX0InOWRgIYcbEiLAMHwbHqQHnmd4+yi6mrP0cAHcXOUN23Zm7r0RBJxAHjz0feXzBAUc17wTnBavDVstMIHJqMEDAjM02RA+sTc9LYgexIfixeCzAgNCV5Lvq6TPE4H4Z401leIBBQWw+6MwVdIxBvpM3ww3VIP//DHosfZrK9xAzqHdqIfsed4W8BvJFUFNkmFGaF1DN3p2DlpbkoJcNwSQQkgunlAkf3j7ZiaTNBiQwZuxQSp7EK8hzcY6+Q7zDQ12HhJ7BQUa57f/pxSQCS5XzPaWUOY427rdWALhSDdeTx6jiUyjXzk3tgRqojLxz2D0C3bY0EOz0SmlWLbtl0ac31bU3BovCY7ilj5W7enrzNx6f+r/TQNfkW7gFM/JhyeAEtk/9BFrPk4wrmvdwUGqxhedMgjj3UlRjTsW9P64CL/WACODofIeNGDtX7RXssKWWO1pGqig7QgpDzWYBfGfW4kOB6zDYcN58bBTSwW9cP6eIJngGfDEu7ISzU0cpZ9jughiobFyG6yWhAZkyL2hMmAtjX5fUxZ8HoyOohqKdMGFqeFcRnWNB8hkEVCiP4cyJn19FlKB8c9sFKAKFmcnjsb5W1DAvHNnbY8FTkIXVAcYaeBNKkZNWSNMi8CwiLla6xbm+8Vm0C3ZHHEjGCXUhTeJ2cPDDD4CtOJC8A4L6XG6L7W0AgfRBVZBdhB7aiGWB9ALExccHfp7+IAE6DPBih+OQEXP1IxkZfmXan6WWpBpxy5AVjFz04AP+/Px9f9rvN+v5z7va3fKosmOZqCNikPKp5Zg6MA02l2Vnf/uGQ69DSddMzR5TpdLvOyqHteI56X+fq5XD/2aTlNs6QJJdAjzGoHWCxtS8v1EzqQkEYbUWQj0FCbATFMWHKqwRGsTTg9NfxW7Z7VBDEnrlGmh9N0u9sHWBEwxShFG5OMDcO6QIeHUxcKMpJmfcPR4V0f9FXRk8+MV805GTyBET/oD26git1bwzJxwN8DSkxmh1KyiaaUmO/TrhvvHXFk2yUO8DHgpYmLKDuTXZRquClh2g5uZQP+RSuASiIltC8bQEEu4THglrt0kXxIwhaxEaw6Ih8KQxQJJ0Jjl/ip7Q41/QNW35BEDkY2AZAoJT/Tn1Bxk7VhaFEDSsmYc/v4eH5usvOtTAk7OlzmQd8yu4kKvV6rD49QHbquksy/6sxt6Od//M8fqlaeidt8/3pud8Fy1tFimV0kWBITVBJ4f92e+3zeQPTl9px1/JgY6+QB687IqhR2n22DydaFjFHWYs/zrIl0iCZ95Yh2LIzSRLoBSxt1VyoXAwgOzLS9UemdBxlLGEOZhKLtJ54HlUdi88K/6Q5aqI5LIBBwE/KA2w/BHoMgjheaJT73sEvDV/0H7qJpiX8fctXShhl4beyixkrM4cPSbTeEvQf9pat2TLQxGBi+Zfsh/IsBgaQathlioZqj+WiEf9eF7Rc4GELgju9baRyTAJ4bfnioOtLAE2QouzNRp4bD91MgYJjT3K4oVLeaJ8Oarqn2IKsOJYKPcxnZjtj+ll5Y4scjdDlJ9mh/j1lF/1vD+AJ1I+OLmYGDNjOgbWE2jrnHSEcWEVVvyenCCjc4s5Sim6dWcQP7hJTzuwN2LBXaQNNwYwAR+qnH/vYr/nmpPC/wXiNgBmlyX31aEwyGeZRajO0RoyH8h2zHFqoZFT/OVf/+KV+PDAoeYBm7p9s0NOAKnRGsT99UDUgijH6LeZ88EK/EkmaEevk3x/WlAqIMiGQwb8PdBopiAimfxkS0ahshAkOx3RCIC5ZCVBRHOtvrfwAL4vER1hwS4ReNtk3/cKYNNkMCvpY2LkIzQKOrsHyqDqPOQfvwjW2RByUp2hicHVsv5DC+9C+cc9AYogfq5laLJMBl3eR9eWUBH4hj9onoCE+YTrHYLum1EIHLnk7EDgejLl7BEXmRDyterS7V/E0CM56AL3MoKQxhwElvNeMNPUCgZNKKWpA8uKuMBnu5EJ2eHC9fpiPfkUZ1a65X0Kch2igziEyKFV5tZCthtMeQUchlAZpWqbgGMWQvKHKZVfaBlDuSJIsQzHkJkYBZFdErEOZN9hBLcnqJEegRgMs4H1MEEjLLXkr39umMXAdE7Qn5zeFN1o10Ymtz+ypDvDhvIewhE0cKKBtPDCncFAAmjTy4JTxpIeWzgAAU1D8sPPpuh2VcUWLrEBJFTpUC674awPt5uXChRdVLCWe4iR9EGzBHkNMPHDLmYxcpVEJrLWk0Jjj39uIxr13fhgeNaMtzV422MZXIXRR7DiKAOZOtYsp/ljH0u9ahksjp7DEjcE0kK4wNIMwwuFX5xPrYAOv/gD/iDEsa1FBpcywnjNjA6ODt+kiszKf+GhfmDOtV82k5mR3iZuepB7CyyHoQQ5I5rEXhajTim4SB1KOuYTeL2ZgpkUyx7yNskTwJnbIkC5b+AIKsOGxLXJmZADLVFZ9REbRqMJ+qbN6f+n17bo/H83Z/fiv3e/v9ff/19Xis+2OVCcfZj1qtI6wu7cmmSU6edfbvfF3UeXrh+F7leK/zVfle0fHl4zxfTtNlcTOwSEs+sCfGc9AR/2OmhyvxgjtvHJbUqXt+aUwobbWizOeXQEhQaSI/pg70IxItiDZkgF78qdD/32jMf0I0oQUikQiutP5DxJxV7h9I0rhq+CkIItoSuYFuqIYlpcN6kwOMOVJR0cAWQha66djL/MFxQXqCvKE29ofacRJk4KoMROLMQ3EB5ra/1JkER3t8QMBa8eJXSG/K/BUKYgBQa+MLnYhU3hJRqztU1O6TflAZo2/ZbjboirmDmIwlUB/MMKwy4uQ564BUVw1cnOxxRdaPE8wbu2t6I4HXCoXuTViJ2wPjE5XGBg1IhlkF8FlGscopTSrvd/JS71KpilcihTwvFzfOScV9KBM+6WT3bb9/qxd4/fPmFJeyDrfnrh54JIMziEpinM5PFU6/puemuJKTORc1zgOYZbqQiTIMZQt5kgUHHWu32NwjlgFPlTU0tL/CeEhS/PzG3f9/XP2LlhtHlq4JAnAHEBEkpcysrtNn3v/lZs06XVUpiYwA3B2Ytf/v2+ZQhyQqCPjFbN/vRrbPfiM6rrUAW6XG9N8R116mCwjgeK5Q0+JUPdLmJaHydio+2nx6ZRYfyoXobzjLL0unZUKr76HxzmIHnpSE++NJsyUig+apgAJ/06iRK8COJxNbp5G2ETDSSs3IYQOEF0eEdGgvhUumtnqXrr//Ll7cMSJpaJbUVjpFJhsmDPdi3aW2i0K8kDCm0dh42FcjR/1H+jPIcspHzkXEZBlVAPGRKN2L95MiMhLYFXPpKlEW2nnfbt1Mx8dwFhJXq18MzQyWlMvMVT3WFSycytPO4KCgHfDwmHj9Jw689Yg/IKh7XBa054tAUbgwKmvtAWwYuKiWDW0QZEf2+tfYmRFb9acpUVDMxXand1op1VlCHiSyRASPdoBRHq1c4okpS8lW9jJyKZ50WsUFLE7Jc6rXz8lOBfdBcENBs/7sJ5iKR5hJSDAm62k6a7ZS67WcUAeO2QfZNMa4D0mGPKNv6mfMDz+dcsRm0jbMDN55ms7xhsPgE1g8DOPAdqVuyxzQFUamqUQzs2WNgggTLO5kwwS45a5mYDvujM1KQ5kCDZwzZ6CqMJyiHme7B5FoEeYrmoyrt5Yi3gFZVtSESBKJK7ca5wC/Qv5EXoUOBBfAxuCGgnJYmXMEDAbwr7TaFRWpIlB+989AM+Yra4NMCIbxpU6Y6pWzN/KJHXpaOHAbt0S61VXUzvmu/kGiykF6brV47KTYHoMTRDMsAcwIKwJzeEdMt2OD4GCqPfDWLBpoJ+efSLiPFSMNglpAzoinBKvRV3qdYQtcXSOWxj/Zv+1Gsai6QZGu1IhhuAfug8pb9jc7lYWAQ4DPR+jE+ABTkXc9kBeOw9ZyUJt5RfFBGYK0xgRIJCXPUO9WWgT8cGNLmiR5hhICmENCsQC4q/Vtb4gZm/VP5iUSvBgCJWvJ0zCyfRt1jH2ovAZ/yCttHDi9WXd58th8UnKDJDVOz+dE/CA3pAByhI1l8eF/JXrSbS1dOAo6YYR8yTwJlY6HFQ1u7vJGRqo6BAt+0Z5RFrt8vvUBsXWav4BzE2lHjqBAFVkGmTShcq17ly4aOb66rukoxW5YtDobTM8LNUA0aHtJurOdZM6WDf8YK4nPoN0jp7O83heOUxONO8QmRFrmvT68d8ZhAbXwVyOJh8BsCga16I4RyUQAU2j3zDBCTeASMEE24cQtbRWZd7XeK/273sv7vd2WP399/vF5+7Naf5fP+/ooM9FGj+2xnae5Jl1Jzc6nTbrDmtysbuK4z+OMA/x+Kgf4ejhfKkk5X8oZrnLp6TDNRWfV+GtHduhkOLTJB8DpBGAYgiDZWw7WjN6RlHhLJVMiUTBlOohgHAwce8ZmZKgxBWghNib9klEzL+IAbNMK2l2f0eJISs3f/BmBIEpeaDynG4PM8S12EuQpiTTTKgRZVddehi3IY7bWoYqMpwQkWn6xA6o1uymlrVhhqjEYeq7oQZQDBoPDAUJYbRzXB4TMKch0AEbzSAX+XxV/7s1gudgscoG2QbSGM61lZrouy9qNw9ZGBEAxt9a8OWBYJw7C7/nIMkwyUTuf+IIgpQVu7lIicNg2h+eldSL+anlHBsQaF01xEX3pM038HTubjHutm9mspQli/R2e03y+5Gz50/ZYC3ofj+fyvv5fv63r+uvrtn49lmMF09cUb4PUCr1QWH48LrWhbT6eTrdHVVOcjm/39XKep/taa162+byW132e4ZHThRxK/MosOSK1cLzV/KhIzN3hZHfaeG2PcrdkU7q2HPO9O0BSI1StJRLMGj+Qtvjw5ceewAItswPISrFlr0XNmmjGcH9p56stiXQJmeBmvyAcPVzFmj8Bn7pOr8N2Z/VwG7ksMkvbc2M0K8pY3SF72hrg60KZBiLzbI2i1lcjHuqPPkaL+PA7Xw4RjyhvzpKCFXjdUCYxUinQtxFOAmh7iFyfQwMfA6PlIZwLeEpNAJ+271qDByxE9pkEVE1+SfLpW1IM1bTgrEBgJmoRn5ZYD9aDcphcNdUUlL/Bg7BRmQyJ1OCH4wW4/4TkWGG/LiZEXlcj4ZAnVdicCxAPTfnBVCfwmthDKJpiARtLHeiNF8UAAA5Rg25T7O6FROoAbjhC4YGFyUPZoTRBgi9TogjosQvK1hHz4c0EebO+PIfRvJWco4MSFZQXoTT5GxMbIlhIh0jJ6DzW0BZs3RGYsxeilk0NnKptm6aaDMpXfvahffQethJshym41pjs0e6OwsFFdef813pRtPCgYA+l+WKVprOPGl+4qnU6V0UKpV6/x4nJ8f2+XlXr28NMKMkahz6MBKLA7oNMx+CKbLt4wm3ELZHTrPAewSrhnd56JIQMHiKqJCp9m5ndL/spRJqVDVAw7YBsSbXI7qeWpUWBpkdcBi4+pcS/RTyiYnSGNDHyF+k9QbKkwF4lUt0wcFYEypFW2g1xBehVSGMtvJgx4oO364Hrc20BgYFRIBogNZSojucwyawoCS5xr4KweqehONzphrkG4E5BI3Y1CGuMccdaHAkQV5s/EAmootadjnngMcNSgR80SySsNGa0snkxD9t2jX+L6UbZJx9ymoiDyqqKqwwOH+ry2cKuBcbvOcixmp/aGrKJs5W49K9m0DtVhsp4PsqK4mqynadWtqkAMP7b3e/eKKzIe6BThXugxqk2ETvBomQbYanUCGBIsx8Oq8cGZqJGewmejYn6q61lWenGQOJ4CKKiEazXawqA5QO4Jbs4hplgCCPCkTbCagGq71mmnfBp7UXeDJ5p0dItCUhX1PeLuBw4GhqXr0dfCkBgakJdUKOsj8iDISCz3hCdV0YwdcgwK5TaY90h2epzvQZK+kepZD1vCIodaJgykdRQCqSRMe+WDB2x8lNgYwwoy4grNfpNImuS3a2m/va45UG305Fdve+WRXR/AdSQCg3ng9r5/wvXIwTqJLREMJPyrebfBNvWrVK/t2273yrhu93r1N/bbf35ef/z8/bHz69//7p93tZlrSWwqYy0PdVp0slvOduQg/6ONfD6/tjulErX8OFybuugo/P76fpxfvs4Xs7P01wSc6rK50P+PF0u1rbEyGezmEahSfJNUdI1TyikHJFLRU+ydlBcrkOjd3RFKVxtigwaLsTV8M/8xswcIBYkCjHL2tGgSlv9BPjNsJLjkIR/i5OBytas1H6Gj2JVyObDTvHyxnUu0mxq44z4n4E23gbKIwUyioZAUacbsIRoPSgSTZYQ8xEFxIT8xJXwM8lutV4tUolp1xGsoAdTTOPAWqFIc7bcuhkyz7QIOo9atKcloXGFDs9O92hYo7JtRCECx/bEV2zZ+saBC0IkIKN8FMDSspvPIyIrDVCrMrvHIpA/bgAEkmfxlSCJAhc1GVeXL9gJLm0EpEAoF0+TA1rIm02PU4Er9fzb8zEth+NzeR5/HNb1cVu2f//1ed8+P1NjOx8Oi4f3VtgC0s7Eq+fy3G5lxh9PSznq89eSnHPh6vvxXCcDv51pqnpUrdAyH8/P6gUaZ4fExU1pKyHOoJhEqweQ8rrXc6Hbh6sOioqRwKA8EL2JLz2QC/9G6Ok0cM8g3ZSpyZ+UNfLePAfxbl1i/nvRX70PXG6f2+xQv+7koVKCp3L1Hs/UEspdI92W0HA0k7Vt1lED/0b+Yy23B5dtbJmv4QXI0gFRUJcBzTYAVPTsPx5FixZ215ssbkt5p2Ch3cldSXXZNjW1vIhq8GwRoecsIut06ATR3yNLrPJtiRnp2MSfbz3fk5OuQRIeUWdJdrmUv3ZvPwa24K/i/5Tcxn+Og4T3FDmHqMle6kNGaarNhXGuxa9rSYGiw4gPtHsp3TubSgvOJaGJujcYFsCCGlIe/kgaTwwCxk4kBU2uI7ivEQU1413Ty7EmeXCJ2RQttwkSAGqWNNfocqXcIyMYaACLLI/TmReK6pZqGbd2Os6Z2o2wqcMMuhd22JlQpyZXu3ymo5p7BwsKmRKvKNncD1nE65E4mro4qRGHeoSoSI23LETPNXVQkYSRxroEFz1J0T6ku+t8JW0nSDQWarybpsnmJ7Y5HK4XseCFFfcyXaFck++1lv1LJisAXJ+Tx1AC3YakTAcCAKLXwdXulfQ2ycCa1iCUjZRHqDYuibUB1bi9OKFUTtTYmrrYjppk1xEe1R8VeIVEIumdw5zTnvDDLXNv51pujHOixWAliYSY9fReifZFhO8eZUA6chGBHmFwUt/krHrmVp6UyfL62H0cGaa0lJqQrLsSTpwAAaftpM9WYn23n6PhAlEqOqSARCLtGODhHQUZB3i4o2gX6IADciPXwjAWY/Tbh3jM4U6S0bigYKtjxFB67/ETfzfBrgM4Lgka6cfDaGM4gV/yMElXHUPBHtQPk4Vh8BL3NSPZJbmW7vL22FTu7jEW4xKZpVfLx0QxuIkDPxFlap/yJ3XpYxjtkghzQDGxixKubKdUaDRzoJq82Hyr6V9E6Ou5iG2hafVyHqBN5b2taJjoeAYLRV5p1o+FdUC8BEGF05jRNR2qwKaQHQDL6R0gpTTLhXe3/G4gtfMQrujsOpoEPvAynpkryuthrCqCG7BzjZ4ka8Y86wjQ/qGBKlT5uFP7icYWrAElHLRV41ZhbT5oim95iDSozzOlSQKJIw09OY2hHamRskspeGae9aNOh3IYbcDzM/YAHINV3Gd3QbjDA147YbIPMJVO1HpRzvYeZ3xAeZI55TdTnw/3+3q/r5/LbVmX++12u3091+Ptvvy6LXXe79f6x6/lc3l8bYXP6stPVVvQUCW1Rytsa0pNPTk6bHk+bo/DH5+fH2+n43O+TOfneXpM8+n6Pl2/TW/fnhNDspCINfiqDgSeKkvcU5SH5jbeiYIc/idQlneHRhrCoalJOgG3ohhOqMfSa9TxpRHpa+I5HkN9uT+iphMk+L2NdT9DwkAdWdewYSVwLUhlZZgFSd5WcBNA+LEpCWOCD8frMAN00BoKfJHXK4qjvihwY4JAGkBgw0B+p/k2fJQG8GU+6ygetMR3/QrM/Z4viMpEjLctucscuP4FR9b74I8Bg/5t3Fuynb2468GnWPAtDWRRyz0Ub3W7tKA06vLU/xem2MhYbcJYI8fIZpM2131vp4M7fV5Mv17eEBM8v1YqLtK9hQKsMLl0PB+el4Lhj++P9fH869d9Wf/r//x5X5b7+TgTONyH1yXx9ng+l22L01HG/um0TdM2nZdKOszH8/30dn1u6+N5Lh2KC1EleVtN1usDrlxrMrlaL8jtFhxGJpiN5Gf1MyymQGuoLGi2ZZes1zoFa4SgdlAkMSMl4cdEbDE8hgkhweBF073RJWs6PNo8PNDWPAUFKEK4D7cctFlZ2I5Fs92ufz2dq/WIVyIMmCaQXcmtqcbfySIeUAFi2CwAbqgYRBkBGqWRyXNjZAoYn8gCYEseSFk1D34xIyTB6IMUbqAQKdLm4rE/f81zs0VC8GCDXJd1GnrLkyeVvOCOkEfjqCaQa9AN6OdSvO4WDSxwx66WlbUkvC0804wUpbNHZMqcjomly6TdlURsFpVQbNqquNq1qBoQmuMjzKd5RjZCOUNIy+vKrp7p2QRjwGRQOPDZ+3K1EPQmGIGVR7fKQcgNeaGuC/zjyGPNWnBOKSoDt5G2AIGq+56FESIAyKK1UWWz6whVkEh3N5FP2jdtQbRMzz/CNfSVcd/IUt6H0wyoX+kW2sbcykUJlbOkrhYRUCw1GsUrgoxWjig2numaXFspLzkPgu5bwgRQUfxQ7hXHTaE9tCRN7Lua9bg7Mi/H44GDKOhFrarOjIKQhZAHRg2h8vzQesf8snpVT39paQWc8g0Mm1s6QSvh1z8V5uijs+Q0cEPjkoWbpvUh36b5DtoJuLjJ3WsqRqNK87S4qbw1Gr3HzxgSIT8Xkq9ZFmwk1F/v9yANxVSOxkFP1d9TB147q79TRY6qsGQUyWaZTYal9tnIijR/dPmoQMMCMGhbf2VEkJKxZlO1kmpakVpJWwjfXY8xYIkkGy9uAcUsomK25H+ajPLfngYA7x1va5ZzC7v4CbDbGM01aEyUtOvPBVMa1q06q9szVaRsppRG59FE5wm1cztN0dyS9m82P/YyeLtrK11VBxxdmCwE3GBq/s57Wg30lviGXUgAsTi4hEydNJbL6nO7uBPhq34thnbWg+NI5Z34k5VuZT8EI0ZdgKIYPrZULsjNXK0i0RRgF5hwsdqxIquSQKntlJy6yfGPvWEqOVPqRrSlu/qLEur8QNm5c5RwLjCtAznkiKyzU9BSRgA1wKNog1QkvFphhkFl1rO5TgQ+eGskY6m3XODJ1daoOE1pSQFaIwAdoEml68tLG/MKFrS0mJVYFKzMQsvzMeYhuRTp5o4CAHsCXINfYTxgjlZLv7FSZMjGJpRO5FmL6zqy1MQIBW2S5JWxYLKoSzDE2DkYxHlVi5V4qmFX61Zt5Lf7fV23e/2y3JbtuR6+7uu/f37+8fP2759fSQkflizwcXieM9a8hlWFRCIRU1SYE+bL8kgl/Fflw+viyg7XCUjXw+XtMZ8P58tzPh8S1TpOU1FkDjrKEUE1OCMDIRnTnZ3ifGbm9Z7vTUivpUKoGrG/60ECzwQZoykySY5Q4JiTB6F1yJjuOIRIAWquYuygjHiTMqCuTvquMjDWNaCOuQKzEVMiotjAgU/iql49vmgrEXGWr9mELAIJtRXSRllErrU28j0uH92AtRiOuwvhkBpGrkWmKzsqoK6X6bqwWNAFmHbIfPgPknOn2qlwjgaBVpQcz672NRYomMLiLtkaSMx6hnYLQnG8pOUuS2xUZB8o0SCl5zUQGHXJghgoELlo46TKLGNrhJV8NH7NCLBmcO9gTMUd6qOF1hB9wkIgMLQ2g0XMI3UFamnROuxIb/hwelwvl8Pz8PHt7XE4/Od/3O/Luj7+WNdfFENsh8nBKBXH8nyv5/G0HaflsU7zfFu3r3W7LNtlPn3VROjpvmznaVoXjgJbz5fzI70IVTdTHQl1roeKo5ZMranV6XqoFL338JgXOisOAFz6bIQLLfFpmDe9IrXDsQjlvLmLBeAboJq8xy6c5RQ1CkaTlr2C2KpGOMlaG9Wt8jsLzrZBsWc/8dELB0m6EG6LXxURYCqoBD4I1DZgUJaKBy8OYCiclhzrFTlU1qMoYq2xOGM0LLCjz+molwFJ3sbooPAspXndeJ8GFopjJeNMq0pKKTtuuyr+Uh/fWostdVhz1CzOhW35h+Y1IhEt9YKiF705rBSdW/7pQQDNSYM2AmAXaNdFR6t1dOPUdbZ3/3HEmrPrQGpzd94YleH8ZyVkvXSokN5Xe9esIjMCFGBOrqljY1tf+EqNSdaBlwu7Q/xlVzDXo0dktZrH6W0KbCoGiArvrvNt7Egp6oWYNOwIqgIJoA7hJ/HzCf4RvCI/Jboe8a6wTJqtepeCvVGwVj/2FuVpbSvxYhXBzoot50AhAdbQrAjFRh3SEveBr7k9r8Ys1xofKmJsH2uKLWD68VnnFxtQGFFtt+VdHNHC1pAJWmCAh9ukhIAuTdAt31pk4UtimZUxYN4BCGVhwwfboTN+ULN5DdAOfRi7G8ySNWMIs+EA3IWYFObKJHpHBIggV/2yblWDUrUNzBiEUhACZD851LdZQTzkPCj49P+Fqt38YMYGqR7iLy8Kr/EkhZPMsNwoB/GhuVPHELneRTmYOhgx6P8mYnJ6PJzhTmyz8YRiaHIXRloGbsRuG4RlB1003bhQemvSabpjs8QxXkpS9ZNTG5jm9eSP4LHBOb5e6kZiZpmJhO2XdXylPtGbC73KdkEEtUNNE1AUNMbuOAQ0k+9TnkExGsVvYE8BVctIUUtreedJBveM1WMlKG+KIjtnLgkq+dFKAUgGL3niDla4hRrucOfD3rTk6idw6/h73jO4tCVZ6MTNK1ZoqQx66mMPs8EuqbLG3Ajb921Su+QZf92ZYdZk6xIp1Vh1ymMBev27rRuH0G4HBy30dtTTlRa2SZtRDYN9tX1wIwGGCACLyFYUkuuE+SFRw0YxGpK45C6cYW3IuGP9Y4kjfhIlAFJO2zf5C8Xnvpf5s2IafhGZjXIRi8A35ooHD6HGD4tCVTqnUg6xiZJ9Ybd6pumCBkM1kiQpdKDYzixuK2uhw+LbFsnMzwQkhgneDV907APGl7sqoKb5tlZbYHVaVAZ4WXLySqWctue2PJb7+vW13u/bcl//+lz+vC1/fN7/+ly/lsdSqaNQiPBtgsaawOlNhGU6HddHRUkuZavXFKzLt4/Lx8f5/W1+eztM58dpWp6HGYlJCjizglL4lFCF1XkvDLHL7sgFGLeutgqGyAXcN8Qjw1/lgJHJ24ltkKMvaxEB1AqwTlIh84xyaXZuPkP6YkwgJXx70M13gzJhhMDNkoPeFlq8Cd2UGgBG3+otNFd35D4oaWX/qhh42GCH7KX8zjYSWSMOcaaFGeoFkvzOH8dT5Ua2R5WLk4FQEqJSoIo8VnnZBsJ4EEsW3HJTQxQ4DroiQjEw2HqYpw2qEJWF3xx4XlxjfnT8SBBireFp3SagFYR4DjnTxdvCUaBVqwArAn3a0tWhdG5C9sVEcYG9kfwd+9KQAHwTqzsi8/iYjufDOU752/b8x+/f1gqfnw+H53/9+bUuhPhLRe9ISnwd6V+p4O34ua7zveZgnefT23y63+fpsMQ8raM4D6etmvWTn6rguLopG9E2KVHfJKq2HTpFjn+lMLED6UmWBosxwHugIkRHsjRY3ol53O/gCL+oy5DT8cK1nqADIxdkgY3aoy+IabUIJMEonfbrhgn3shfkRv3d5hcwFTpp+6XenKlofd9gEohScgNw/r15YdD/MOQwDl9ERZwuJ7/uRGMEYhCqNGvsO8OEUkMgfl6FjAreDcaAjgkBjNmE+edH9UQzNwhoyfvkURglIrXbKUQMKcIjW23K4Y36G9H9daczmFDazSyqkFiVFEYw8CWXdH+m2d1RwoyxEYurvtaHVoJIsyNusgMR+dnip6/faeBYB46wxa7ga/Pmb2eaKBrGQD0M99GikifC8wUORCKp75aldVVrE2sHMO+HKQixQH4dCndHO8Vq4xp74qgdCl2jD/fV7DGKFweL13HWI2seaO+dGkRPvYXrL3upjMAAyhoLu05GdLjpucUutNBHkCA82YA9/4Na3LqeS6NLNdfNv+6JW9Wa8hiIhoD3tzsAxA+7t46yf14O5bQWH9sntZAMZMVEMski5wCz+uZ7gzeql7yD74U5S8FgRUDAcyUK4l4PnA4508uK8FRZaKfmcNlgVDjWxmLWt+MohGRxZLfiyXU1IwUk8KngEg6UPibghG2G24Z6buzBu/s4gWKKtWaa1UGaj63SsEzX7LN5SwrMqdPGqe4lDm5vS6mLQIK7Zhos6RAj8q85JYUUOmfhLo8FznOlpXahASIPUkBgxA8XpfmjZreqVFiS3fsE2nvWfK58VhgyeUUuaGuvybHuSHdue5DNmvXdqMdIzL5n20QU2KHALSnej2MQJ7VLjbK6bgbIGgIUt/N4JHXsdKfXzkwIEbWqQMirkO2Z7waj9sWh/gCHl+RBxJ+gxqaJwUa6PkoLv2KimDnnERZFNkHzY2yg/OOylZs9NZvHsn0YgnQHM3BCwM5jhFkopM8JwKFAdttLlWyyELsuUS7uR01AU/FLrD0WIcsbcoDEGjPImOyKVunXUbar/Gjd5gOktJeK5oxsHHXmu3BkiVYCQnu5osUf7i4dy1lnH7M0ML1Tp08bHkH6Jzo80HeNQu3mvdEOiT9MyLNL0H2UOHXCRHtY9V/S5vnFOCXpluHNKr0Rl1lsitiFDxWAGnRQILseQk6Phgd4lLegjomx1pyrOsY3w67WbT2UX7M91tvyWMr1vd23n1/Ln5+3//n59cdnFT8vW9FQhGdlcLTRUG8ZgtdW7GEuT7sag5dlmefT5fr29lH/nq910NGpEr/zRuFxFT5XAXW646Z6bkwZENO6JvhtyA55oDE1xDb7BZFtVkoq2BDKpcwxrmA9kbi8CuMyFBR3l05IZ5rYekq6Jm9qlnyuqw14KlvGBcP66FVIHFOCRbTYVH8Q8RwPgdf8r/7pjlLnfkU4wVZJVnReIveSkUbqmGAbEFHqQ4b9o9IgcNws3YwRKUG6WJM6hzbIL17Fy7rNUpywS/+nWbPjA07ao1Z8hybu/4OUMEjshdbObKWfX5cQN2Yp3h7O7OmbLhQjhNGS6E4rvxPfF1Jj+E1uV5FZJYu+6LSk3kaSGAYmOvCXp+EEIRNZdaZ7llHRYQvAGOtqnp+r09SP6/N0nufD8fp+/L7WnOjpPD+qU+H/LOv9UKeUT+vhUHswuB8IsKsa978+77Dncz4er6fjXCmD07zE9T3O5T0/qsinLP45i9GAdverzj7zlhHoKAt2Et8ZLVCdKKgY5TwCkwoLNAowMUGkQQLBSDlYCQURZ1ML11ZJO5U43aBoNUPIQHaQCSUSkk7dnITReTzNK7fZ9OB9vQglAIqj1zZwbdEvz4Q/YPYRSjYU0gkhQp+yeht9g234rMMuHfEMvAPpqnCbSVoUR9dSeu6euFCmycMKP8Vgs/wwn8hdxI81Xi4WOimnlwWyhDu31kzsUHWsr/an+yXD2Ec2mHmJG5/UM5o8R6vAyciIPs0U6USjo1FljZm8kfhaO/M8CiZn5YKX/r6Ed1t6ROp2YXwiWfqfw+w1L4VGC0yQUM3FyF2ZuicfdbczEKt8RBVxoLttr4g36MJG3FGSi6LM+k69nv7KxyrmGEvZZOmYpOYKNgXiQHGYsYvwtWSsweZnhAyk3nB0Q1/6aVMnvhlo7H5eamqkZ6Z91AOdLVOmQ6QfQQn4vd11EJ6lcTtGHFzu2PAqZGxIFHAoL603doFthSYz/ykFfVFk4FUlio1aW2hpnqchslXFbR62MUBdzy4K8hw2QBEoSm2MH8osyCqBtm+T+zEF4ky7IiEAxliAMSeN13zj9+qdrmRw2SGMHEglr4IsfqfBDFEZniMMpm8DTdEYIH3xS55gmZhypGP7u/JFnkSON+/1GrJ6TP6EgeNZNUPJvtIa1SDyOvQbkgGRnOypXPYbyUPvrgXUsC66oEuBNnAewew/go9PxZEMD3KND0H0bD1VUfgznksYkqpKEuaTeSiUwXgMQeb6sE7WZ19/wlEp70lAKNA0w5EUKdtuImzE9Hr0wnb3pv5vLX391YNndwFRkyd4ygBWAqWBXlMIwtDW+MpQxQ8H7ni5Pdcls+sUoIJ+dGZ5vdjg667Xl3iktaaw2NGd0KjneP5i8bbF+TtHts3HbXUatkl3oQAPowQTfw4FtnTB24eVZPqaBkZ03NvxUox0YCW3qgkb0icD6WVYQxUvEFQO7yFbgUP4rqZ0yoKIVxmyteLY3Jj+573mVLCZiEvtmomV6mmO9JgCGggNhOQzonQdC9czbFEGcGCuZpKsKfwombnofYu1iNyC/BkvzpKRj7nKbQp3BAO0rN4dawVyDb/AgV47hIZ2Rr5Uz41Qd/XYJQI/gow4tE6wNDfFUIfqD/EF2SdmGzd6IiWz4tL0m9N+67DfdV2Xddnu9c71npzwUjOhvu7bz8/7vxl8dX/cV1RMmZJlM4eU0B5rGp3r39p5fZMBt+vpcbhO5/fLdJ6m83mucUPl4takq+Ocg44mpj/Vz1TGeMmJ7rgDzKnJZGKbvLgDq43FXY4igNrUkClUNAEKaI91zp39eqptfTLyNjMRwSPR2tElHuiCUd/CEdyqEP4L947MAAzoHVkyflsGifEtD2uLTcLKoFkoOVeEGE2zYG20mQFlJGidaD9aB1vEvUqyuoSBnkZiL/aVLaTVHuVH/0U4LFdbFC2I8+aR3XL5rAAFwPvhGoO7eDOINS0ncIftgU5UaSL+MLPYkpoRtwNrdezXNLYqxOXLrTm/l8ie2OLtjWVlUcwS+Tlk1a2Q/SQFYE5ebTXQFNQ3wZv1FRXQuKyJ60Rlpt6hks6lIAKiCjofaqrccTuc5ky0jZ39v7fbstxv/4/Gz+lUSb+epFy8HBlYx3hTeRhH+vw8XQ7HuU6bWiaPFntUCL4Kdp41uL3NDuMc2fNUPVMetRhUZKotGG0UWPDE9LbaKhkIcQA01ET0YTVd2R3WRifE1AKy4GO2Q4ZEI+VmvF98DIQ4crzPneZ2Ho7KYzWytZpd6sbtHCVjrMcFv0jsoEpzOfMTyvALaSrheWL8hCb6nXqIXQljzEhsO2y/3SxtlheW+YUu3Eeq4My7JKHSNgMjwDmGKkowJ+IyThyjllgOEBF7vBt8dMlSzsWua9TRUq+bk8HluhefHz3Xw70G2bt6UK0tJrKIKlKz5k7jeYp6eca+526pE5t4nkkmKT4lM/Rb/opv7i+BMAjFciNizG12NLRbgWZxDS9Ftog1PoeAB7Ka5YNqdisbcAHQA6nSISsXHCHkZrgsaGRTlDyQrtxN2TiYGrqsNzVE0a7N1B1UB5SjWp/jteWg5ho10lQxbmjiQ5q2GCcA0N4rnNBU1Q+gSmLMCet71TIDQcj2ARb9LIkSmmLQDEQ6hFNyWQNP8GvvkYvRLsKzp0h1NKVnowy+7r2oLfTIW3e8iHHWNrCZI69yJF0/pf40noEi484oW/TVYBYHjmFWshalEeTmiUbwS5usj1Pmz6YBS+TmHUTEbHitMdQTAcdh0NfFEZR96kxeVHV+sdH6QcGWBfdjQwqC3E2Yc68YodQTBO1gaHKxhoPS+Ya1oSlB44EuLYkG3yso1MT5smeIt7CAShJAmiJaWZ6GIcirwbyunBLo7KV6C41W4FiFUhEjA7BQG3tPLcWDEH0rpLFsmIV3mp3o3NeASBZLU25voQc91Ga1AdEiuIm5TxU1fBlxQglzGpvlCrLlGcYAVga8gVU2ZYkyS5KkmPVau9k2jk7xJ1PzVA0yCBE4/t4RHBzCITsQXCzPd0VeZixRASGVefHo8BgrjrXl4KLsN84wkYfdCGHyaroHGXnOw8u3SGwb58sXGjkCXg6soImlrNXgvV5EaXf6tzOYq/kE8YwYbZctIlxRWL9WhbkzGJKvTomrkpKQDYau9xJ0PObYM4PjcH3EmKmDgJwlYGQIUgUGNKPBUhznVGpkaD5vKYAMbMgb6ib6owC2KFpBRioYfSYMh0KDRV8cHpY2TIr20FsWDRuL0Fe0MW5ws7QVeg7tg7rcbp03FHTLfgEm5/nsfh1/tB2g+0FdAyes9Nshe5QHZWzhxzwW1CAn4vkWEDL2OWOnt+e6rOuyVfp32W5fy71m7mxft+XPr9sfn1+/lvW2VYI3CCiTbEoLWD31WENoOYIVeyJ0Wkva1vX0fFyv0/f3t/e3t+v723ROLquOK61hV4/DCUeN4rr6NX39CV+Oo01EImPwEEMG/jWYQoLo0YC3pU0sgCBCNleyQS/QeNSH6rXtino7IqqFCjdIEkozqKBi1XNiGZ6BF/UdP7RNGW7uyzNVL+/i2wAuAa3sdDRtyJ1GkHlEiNTBrcSi3VNghcRFdHhcLXwE4t2b0dU82/BtXZWWylyqa5r/EJ3d0WA4yR+ICs8zHwYOafbZ4AABAABJREFUzZR06UWcCUUi6qgBsNMjplsTSeztO2hLIt0YPMGToyAIcsnUsUvyGnUcEUafAWBcvBqzY2otxLRZo0ZakjHoA7xkGZhJ+QekdFFo7NKkfmp9eB1t2TVpVZsn21xRsrm1fXMPk+okRq13rnDs9v5W4f6P9fzYPv7vf/7268+/lu1nDWpPHhmYchocLz3Op+1Zr7iv29fx9LlsP2/L5at668/nJSnW6jidzuRRpioiyeDWknQcVpBEbOxjhW0H4ASXBgSzxBVbTefBamt6a3Bgw4ivkF6MYOz7Ntzl8OY3cevHTXJlxiLrMsYJE0O2taSxrmktwKthxl5J3pijY4kdGkJytr8LcUedh/Dl2FN46+D0RTj0UtSAjmIN4cJedpb6WOr7Yhq+vlEINGSiDJKxGJa+QkZU8L9pKmonMQkG3LqhInXTEEIauUEGv0Hnls76jNYcjN3G/NXudeenKeNXhnxrb43/lISxPNsxqYMH9osJ8LZCD6MJP5SjRXCtBDVNddVlxK1OIoi2dBKElTzKPRAoGvbaWdia59K8Rnwh0T3tjRFzzHyHrp1C/nT8EdhNBwegYEm4gdctoPFJHbHpiKlXY9p6xWYEvLimrN5/tuS+gLOVvdZkyYZZYIc+lKwJOuTZQaaIryqQsoe1v9ouZ5uKRMk1f02aBXIFx/xeAGQ9mCCh/s5MZA9cH0Li71bQZw1tOBFtCh16opLPl57Q84Ee9mss0vogJiXl5vXEUemWkx0EZgOw8dLyWeuvlS6IM+ZF+K87evS2ns+5Uc0ccJ/kELIhMdj5MO/4UcwkeT3MslbktUeseStEJVLp2YQVn3R/0K6ScfdkDD5F85kcbloAP9Kqsli2G+KXmBYMn1PFfE4zO4sOnkQ64mqQKwqy7SpdocZjLg011AUaZ8NJD3q43LBfszAB44zzdQDSMErAomyPs2c4AoySqiQqw2KHzQHLFxDSEO9Y9FSelICr8PYe4QsFwKp2CCPPBcqY9DzEdAcyaMG2rYKTWuiycGNGvxBt2n4asjSgvMhuqzh4VbxuD53MfdoWwf3OPMSoetNc4f6p7wrMyyU+kPrOcwzqgDkXIULzG5GaekC5IoN8BK8CjDBzc4HlMe104aWAO1i8REHZSsFp+wASNOamv8qi7AFvD4Bof4ywiAIoMZE6+9uuBs1i7MsWqcoYq4Wh3vAZVWErgid0aBUfoR6Kz4selmVpKDiPjyy0HcLQtrJW+PDLCwFr9DZN24nRGFaUtfz1JVLeKOfZo2jNho2a/beUcgAgZaHiSck77tJqB31MZPTuHLGdU19almpXAHJlrJqpAJfIknHux+Nxns9IgxaD7ojbmrmRP1Eq1CQSFMiFIGS8pv7axS/bVo24r7vA763FV89Y+Znb8lyWbV23SgIv6+22fn0tP7/uf/y6//H59eev+6/KDR/WdO54gEQ17jI5FStKlCZX9Kxx4o8ar3M+zG/T48fb9bfv33///eP7j/e3b2+Xj/fz9Tpfr6fzpQ49Sr63YkB9lE74peZ2Brp1wJJyt60LBQp6ntgYHjiZTD0jeQzUuftYz3UjKgDVjlElCBua+kiZGcejnLnQ/NbEmXkUoYYWL3BFnWD8PNRZyZQ+Q67HcJ8KdSAlj+MTlVDPaNPekzPbE8aa2x1kXpqwQyUA+9CBxINbOrsJGDqQ0ZMUYm0bszfVdOSPsB98Z6lX4G/8JdLVhdEmQ3VJy94yIhPZGwVTzWFsV3HcBo1mgDKg9UhqMYSv38j5PDEHFoA7401lvXJd0dRUpxNRpw8uWo7gfQqC+pM+eUo3Yynlgcb1iFGyETEylPyBGpoyC1KzqizL+l6OkgAuJCcIgNQYqlosVbbH4xb7L61Ul8u8PS51PO92+V//8du9Tifb1j+/Hs/HSgtEycbaPm15hCPWrUA2HZ4/j8vldLie5/O0Xm7rVHx7PK+P0305Hef1uJwej8O8lSc8zeUCpC0hqf5tOnjYEuVsqIE4DMQCAhr/GAATX3DeQCKyR1pWuHUWiWd1qEDh5zOoLox4fGkfIBU/5ECo4m8GLriV6DUG6oEcSIl+HBjv1e5/DN+DvBZqBPIzP4Gb33Nh6r7YasyQIw5CXVKTQQDRukH720ld/AgYgAcwOKAO+I/N5YqsB6FRf6lj7Ko8sz6s3m5jFj03i4uB787RLM5OEMyM7IMi7fwUNTQZu5EXNbpPWPR5Q3rFKoCnhYaGHlo1MiQ9L4ggq7fEnUddBs7ESupJ9mT5T0aQeT2nomYMGEDhrA396kj/FKi2HKN7jKEhmEkjOcJOwV1SAuQhaPauP5ieAADgh67xExG+VEEuqPiPBJ09LKm4Ay1UFXEhnDbIZqcbgmX5qh196ZVFDC3As1s0ZtFsh1+ch0I5FVIaRQA/e5ek0Gc4R2BGNWZPageSQ3HSsoHh8tQLEtnXKW57qJ+flIgP4erdcWv66lbHfkLXBYz9sa5Agmf0kv3QEksI9sUWDPQChMaLHirUweURTi2e4onmfVjO1a0CgNyDNDOiBYIwTxoXBI8t+xGFnnHTTbt1Um+b+aolqrxy7knncOqH55DB6dkKCqOAJkSd/bniiEH/6XZTnyMnC3gzfl1KjciQAppK+RgSTYKrXsnpqs7dJWbQETJva4TwgUe2Mh0/3xsQrL+0GG8ylG9TjFrxJvsWXn50GmthjjCBRDHWmw5iG7UQ9KJOazSz4f5VuB3+VL+5NrY6mDZ0bWs56d/Mv3lxzJqLm1sRocCSbhnP40IUIp+4Dq7gjGXTdXBU0l9RN8oLjXCfOeiaLaq+kao6MQV+ypEjBOGHfi0xV4mtqa4VHLEtYYu8y5HvSnprqOmMKuOBsXgFEtxEvQbERKqOp9NcKifhQIbakaANiZIeTPy4kwSBh8KFbDE7Il1WKUHGxaX71xqnOEtV+J3As2l9o7i1KUQz1MKIAsqNOueWLErLrBMTxcFmDpENi1edblQFWYHE1Ak3xtiGXgtlQU+m8GpeQ1xpFjJjXEQuWWsKD1rqxA5SSqsAgdAyzoiCkjQSoTum1ea79vCSfiKcDQf2bG1rSmItxSBA5QwKyxdRuoqgIZEoCozdzPhPSCg8w0EO5ElYUZpOPYS8iCEkgeKpOxlY86jTeglOUcHBqWb7rEXez4zKXcxmwWyn6GB7lDld9c9lRK/bc1ke9zjA92VZ1u1zuf/kyN/P25+ft6+1ZA9iFy4lTVtsWNImCFbkFP1nBv5hPpy+vV1/u55//3H57beP7799fHx/P39cLh9v0/kync/V9His43+NbsDRnNGFTWBOIMYTXWKhcyOGYrOgVMWc3SQsTlviA4eWpUPpRi8peLFkGeGp/oQm6m+pzaBNQm2JTEkpCiyAYWfCJzRUqNnKKn3kjACNjiY++CimTDEwlKQ+3hVcq9Igewi0DIOVzJSZ2RAUy2ANBnueTgy0jFLKs1OpC8fo7+YdSjm2N2anjTW1kgyZgv7cmomiWWDgsbNRCL1aw16KP8O2NABmE85ByWOgcXuTMBq61yUcgTWPcQevaTA1q8WdyEr10bJcIAiWGL6iaWCSgf1pu+ZEg2yDzIN5FohAKKE26AKk0o9GYxbN9zm3swS7YTXRuAsLgJ7nAS7MgDpKpHbRbW+Yy9t6KP6Yalr6dk6h29v/9a/f/vjz5+f9vt62++M5z6etal/7ZEuN4IzbOB1v63Y+Hn9Np8uNPvzz8bbWENG55g9UL8Jzm46XhHkOc5UhPGJs1SKY7M7xo1BSKsiSL8pJFoiUUiitPVWVNkChnJWsGE3YfnwlhptjW6K2Dfki8wmQGVkR7Xk+9RONfFNoDVjpu9nKX1LpkI+RDK1N0Oo8COqOXUBvlHhD0jV7Inl8ia8wjZGpE4jIMH6Vmif5iQqrOQ69ydBn8dFYquuDwJD9yI9IyNTs5GBK5FAFvNpCg0NgkcIYRxXSjqcBO4ICij+BalkWckwkCjSsXCQJlnnjmoIRoecNFCKhN1HBOYtVVc9tYN/n12ftnlFpXB/yam0nyARmGSIJpw4wNFIYG93jTuvZVC5UgcPxuO2hc8vlaRhmR4gLE5mJjg0jsMky1tegDokzhB3JUGYzEcwMdKyvK4SbK8h5NPXC4PjkgqgDCziCpCgBNH8SfhrjaQA4X0Fm3bHoa0uixJbQTjaaMOjRI9/zJKUvGMzhTHEAC7/OXYttiRHx8KBHyZXIG0LQXSgQQQpWZMof4jDjmjm3VYc/Qz9r6lvr+ZBLMKDgbFXOmuvjHAWUn5eATse+WTzjYHEQamrjqJXbn8kiDdzLeiJA1AYD0DNDEOjPmnd5DhtKx8ZBRqU6Fw2HHYTy1OED5FblTkuU/l9bkAOFLYZk0j7/b9clMch2xEJSxilKzsR4/LtKKmqLZcDTe9ZOvdemYo0irK2OlOSVWtxC1swyngSocvn9PuQUDJcog3gFC/1UVqXaDtDrD0/ndhVwTP5LmzsUOMREfRKKZXXDIKBpuYpzx8oGEDr9zsioHXtd2a/wgBtlzNZiwV5ygFVy0CVz+Qc5AhZYcq4F6RrlcaR26QOQ8VHrI7+SeDARIpEYdyxRsFzTkt4KbaTO0xmh1uEnWW8qg8UbZ4PyTRBAVEA1FVDRoM0tOBhtUjawCM6kP/Il0IWeGbK9MZkKoerfAc7JjFC+mkRwJnZKyGprTQLil8ab63NcaPbcQZgmWn22MAzqsNRSEJABUXauMnRBQIfJ+AvhXI1ydJhRjwCDo+TbyC+yE7klZ4MuChnU6KFmevYwJTBG7YqPGOPt/fKsB9khub6QrQ+UqYfIbtq2mMK+Ayt5ctZNQ6W1UV1En/swuPNxw1uJqFRrCaoUDp0QNxm6v0SzR4f0k+X6U0xLakPtNX5WqjDrb+GR8UsBMgiqM7Y5ID5L6S4SqB1ebYbVLWKJj8NhstlbAGeE7/NQ45+Xx7Y869/1sSzb13253+5fy/a5LH/8qr7fPz5vv9bHrU7kkq3oOEKNhXvKukE713lI0PzzOR+e59Pp2/vlt2/v//jHx8eP6/XjfXo7T9dLPDPOOpprTtrpNNW8rDykjoippT+3GE2p7mMfMswQ+AoXKAD7wMoPrlfGEBoYcmgHkfQjStNmveXsxEpNJPxfz65xcZ258lb0FHSRYB+1NoIcAwipUuuqcBivYlP+2jI8Owl94T+38GkbkctbJVMfjsATwxBI8OptxML7HN+RiYVQoe2cC+JzMDPUR5lsYqEmLaDQnzxssLNDgbGV8dXcZLOlcEJm5y856RqJh+3pidnRcpHMyv5Q6bA9+Iigp0ZCyzIREQgovxXYgmUYDE0KHGdIMIQvqdBT9AV9kQr4LjF5cv9o3cqxTVEO8qbhSGREMtxWYwKAFKZO1uxEmTfSFFAx1MryS9gvI9BjDuTtz+M500aPVWM/X6bHY77c599///a//uO3z9tt+e+fSWeWYV/dLhhqvVIGRD0Oh+XxvK2Pz2U9f53m89fhVOfYnefD+VL53/PpVO0tFb5UPRyOTnSrgSANmixnBHkBa/4j2lK7GeNS+LgCAVzs4JLG47Gat6xs8vmgsHH3Ivl9pHb8CIIAXE5SZT0vfi/4fgnxoILITj/ruD6pYpjCyGQq0LVmutdd7TAcsIG1Dmd1KfurBC7Q1VuUl5XqBA4embHHa+Kh7ZwuDYexEIYI/C6XlTGIciDiujaVSgDEu8Fr+Z2ZmFigkULSOtqEoy4J1+R7M36iLLisD5ifZKVSw03FR3FEwJHQv+ICz6FGG1XHaYD1qOknL8WYQUk6o+pejifIQQjEwV0qy2g5ykZYj3JQIdbWbBf0EVLjxOBMVCLLfXw4AixPc9nNsT1lGuWOxD1gQI62RzsTWZawjJ1GrMhn68QCTSwcspqdu1KA0SFlggFC1rbP8SbQZP8gb0bIgGIEYN4STxOV4Iv60QXlj1gpoLoDNCSWsZ8EyG5nCiYVTfI7wRp62u8By/hrqZhR0D2yuC17oRlqMVBVrKb5v/5PRYDRWN4d0t8p2cfkLVleeNdISM9ayltlLKfhEJeBsMB/qK6KgyrtJMaaGZFPGnfpRIhhllPjtF2VUGJUMdSN0IauCRM0c488XHNsKwytxqA5V7fZMn58tCETsdaw2NkblTNk3B7cwpAL7pkN+wJ007/D8O9HhaIyv84VZx/8AslifOd/ZMN28z7yc0hwCm9yo/ZcEJrzV7EO3EqrnryqpzvHbAAM+sQN4j5kqK6OdZtFc0xd1kVswvNj2+/NSvdgwrZuNSljBH4ofs4C++GtAGCJDgfiK0LHDSXBw1LxfuXBrDiWQfMlTldwp1AAEqNHQrSOSIFsDbCUCVworQiZF7R2tCWcVqvOyCjgRB+TSWbuzjMrhtpasDkFnDRrkYZFbmZJPLlOanRxtQh6wnGrgEKkqZS7lpG9ztOcziTM5mbewFXxno1Mdm4LofJjsoGg08M/oLGi+VS7wkHDf9EiyWrND1OyqOXki7rdUxUqVhy50TlMMiqxGIVkwB1BCSZZahW+M7gloZkefQ6kw8VY23lIPu9pYcoHaKnlQN2UU7gawhzPVmt1KB28OIioH6I4i6qoV/EdidZck36YgVysqxE/aCkf7sXmhTzwvmArgdbMwvsoYztMHXxFe6Y2TJAn5imdS7oBcnyQkNRLH9go7pGtzRWwZjgj/+ASlkWR+M9W1e/P47ptuNM15qr6fmsA1rJt9/tyX9bP2/3Xffv3r/t//7r9z+ft531bHDGrTsyj8366JUNS9RnD20vwlg09n6aP6/nHt7fffvv49u3t4/v7/Haer+fpcpkv8zSfKwNceaj5eTrNZ6bvwYz4+voVr+I5/JbJtu2b8B0MWZbNus1pQ8Vdi8MZliS4ZV4iki01OzRsVNdDXo/LaNofKm2iHkmYlPogotNKSFYhDJJx1kNTkykM1DxtvgwvhYKKsbaaeAKBIOQDYkTOAqnKqPAFlC0b9rwJBRZaBmlPeYDObwjO+mHEQIgDoWBwC+aN8A8giGk0swTvIwGBOCXRmhKGwW9DpcLauNM9CVajCmQhwWupRP8wJ9T5XXwR6q3hrbBpgtPFCnOmkFitI1O22W1wc6wni+wCS3BZJmOM0eYaZDjypiaxRSY10WUyuTArpxDpinNSZx8cJkZCGmOGTvJ7kqnu1/qpLr2WpiN2q/6/ZACxpTyiy+krpVyUtl7e6mTg56M++c+vf9yX9bZu9+22bo/lsZ6O05b8V85QOIMANOv2PNwfz8/7djrcMV+n6Xg+T+flcb3KDoc5czRoB6xY0OF0mrExOmopK7JuQQoKMdzYD0pcdzJWZFdoycLCmELEMI5VhSNggd4Y3Fpon6FT/yaEeZtSQ+MBEwypzoJYsCKVMm40Um4a7RLc6Eh915F8BJ4Rj6JZpmuZFIjxTsM5POuRltSUYmXWZlUFQF31Vy1l5wDh8MlE1qO2ksvMjl4HI/AVR/GLst+mIn7QWqp+NV5oL74fcO82m+E+DwkqJpvvVNMMAG63P1NSCSWgCjq939TMepFXMfM660AekhWzFD5mTUMUtGSyBrj1MJNTFSt9M13WBbo1pkVX5LgrIsWRX7hDbpOY3Vh5EMlI1xoNBV7DeAF6VNwLlEZkdaCpAd3rIzwx1Ic+KjytURQ2oKYPcY9XpinlpnOiSr0mWeQK3ESPm2QrltCXi40CQ7RmyamCWIMYeDi0WJOpCxjRIq4ZFEClbYN9WLqoAHimjimnRqaNYlg+grHqw8m05xEGs3pPMROiQZIjryaRMo0Csg4V55GJR1Md26XsWm48bDfRupiXZevA7RTLtw7za+sSddoQcGFRodXqCntV1FJTq7cyaKDOrAD1gwJIcMmi/B9hIXQ6kBwJ0QIkiWxqwLQHdLSJH2hnxF7/Wz1Ap7m64LFdHAMwZOoUqXVBXB3YnUVqPEa06al34qudusjlEZJxt8qMjjeoz3BFtYiBcGzEhs/+xgzWrb+WlEE1duhFvg1BByCi8m+BHCp1u/6teS8COm9u67430nemdloKJyln8FtDKv5zCp5ZBMge8ghpKPC1U8ILhCfbSszJdQxFSPmNIVJnSxDnFg0QcF6zrisngFYdUCWmd3EqxSijxoeAmRSthcVpILSShyUqoAAaxACNY10FrCN+Y6SA5yOicnEHvMWohI58k0JSww9lUqct5hVHPCvLNZAD+sJtL+WatXeG8iGgDbU0sw4+wgpvQACj4pP2prNCKFCqaB4ckGUT/uT7bLL+Ze689KMwsqqT+nl+GVQGZTSIkAzTTnUxqWruKEfIoO8wzfO6yBIsa13+VMLU3VShYyJkwYhCBZ8EABBCn4w6MKIp/XfKNf9AHh131Id3L4UUS9daveAs6M5oHokGlU19y73unn2r+yGtynqVNiL+rchDngQljF+XuMQJ4NahMPhFKTstZxQA0/TeNVfhXBwOJEWLduzXxk3ZMnkANdDbtj7WZb3fygO+3+7Lfbvft8/b49ft8fP2+Ou2/Voet61axn2smO0j0xP/UOz0BBpSHdPp8f5+/v3H9bffrx/fLu/f387v8/Q+z9f5VEOwzvM8n6b6qUaBaOukMMr7ygN9leA1Rz5oFnfCOH3zxRDO8lzmJk7l3EbRouW6u0EKV/oJawjisK0rvD84ZOAFAZK9ty7umF3pbGkt4UL8RkpGYoIQCAtjhGihFpiVrAeNWSid13Sa8yD26uVgQ532eFTUkodkG7iEyhbCpd6UV6bBL8yBZYa1EVGHz6VJUWvE/m53F4E/jtaLynU0zDDd8ic2QpAnj7bQerE56MA06EjyF7sSMwdZzfQ8Kbg5g8dRxlJWEwgN+XTYLb49Y+fJsCXAMdzdvJ/TsxUAYiIUUq2UoWlqweRpohJCwT0oiWG0sbVXFhxsGAtPfzLlHUmQ5R8cDt2quvb02NacMVt2W41Ffx7OxYXEKWsG4Y/fvv3Hsn3e1/v27/XP2/p83MJ6aT04Ob8tBLkdn8vhMW2n41LH2Jy+lvJ+L/P1ur0/j8v6PE/PZXsc1vV4OsdyDZGw/wRZ0AijOwfP3Fp6R6WQRVfLqIicFPEkskVtu/klN46lDm2Lt110NTCxmjIRJ3kyrwxxCfchV9W8/QT/kK0VWo1u7cnB+FxnJrMVHHER1s/bkgJtEuY0h/peawICZ5euDiBhsxIuaQtEadNqoZ6opOo4nJpGa6HuSGaiQjCuADVCFNJlYbcgXDA7FFwvtMqfUScxYxi+0PZCRGrLPdjPkLcjSLkO3iVIIH+nhhA8g7u8ikBzPtBgM7XdlmTH4JwUYNOCmLWDw+2y8FRk0KuFEAzMEHq8C45zB/mpAY4kWllq22avTFsVQDByZAvtvjFdguDx8KauBFmpWNI+aKdA6HeSdHTeNsk1oahQmIBoLAbrOjlwy+LyQV2gvM18iQmbnDcMOwR6GdIFYe4PFBostB7j4/wuLIaizZ9DBqMTEA/V3tEEMOaBc0vXKwZgXZfX2KxfwhuycFWJUPAY79xrueCFOyRK/+CvnkrYbWJgXAcp92WqQp5IFB2xNqrzRigWoZaiuJiZGCINLWyrrOU0ncy4xGitIVgYwC137PLLXKh0HnZpR1cUywt1Lc4dIO3yGNlCwTberyMtNtqyrCerNIGLxcPKAPmqkSLB2ZKhSTIS9PlrD83W7VES+K2EAP0grRRNGuJ6yXksPBY6cEqN60pggdmDiBv6BDq3EMpKGTBuTi8nt8d2BQptw7XvZOvZC726+A6Cwu5RWtPpWLZ42wNYF7C+UiNsaa18fVulFNlrIrW8lHHc3T1PaKjkl+3WddivxGSkAIOsLRXibUQEMZHIBms8qUXYax7Sg9dwXN21jKCoBk6g1RNHILQc7SbvRRY8MvaZBSNBTKCYJE8UvUMAZHnyZi1Z+FYxB5hR/G1GV12fyp5za1E/yrUheHSuspNd0vNLWxKKHtYx2IfjEBr1LW33UCWj9Bg2FhkavjCGuk9NU0M0IdGiitXehF8/3W9Z/TOsZE1MN0A74XYTn2J5obkhWvMt867zSPC6Yy5mK/FHfk51siUvxm0AuVgLdBfbqIlUkT0Y3drcqmzDLLa5WgD2e0k5tc3e/wP+ioVcGw00SLcVv+FbqZXJLBIivjSEY6a2Qkvb+sgJQBUe8uLmX6N7zHqpIFIkQB6hwVj5WtVESCQx/himDOpDDadeg8bpliahH9/Yg6ULfCnnWh+P6v9dt23d7styS+/v/f64Lc/P5fnrtn2tzxp8pYsWdIQ/nNuHsojfUSm6KrODpB6nw+P9Mv34uPz4cfn4dn77Np8/5tNlOp2nI37vXD5vhbRzmoBFvZ4sUptSq7XXCq2iNFHT2jqNCLRMwhyiGJESqGJPiJRGbZuDkJCBD6S4aBzdoUNNqF0i9Cy/bN/N5pShkFhkm4FtV/Lp4PsYxLlniKDuKB0CQSZB7Aznqw2cSJnHc6W+oElXIQqUbDFMhz8OYZtL1NhLLP4DN9SHjkXtybdFPNhSeQNAsuK3DQsfBSv1T4s+NGhpbfv2Yqyophs+RsGwhpkRBfYZnofEg6u1J1oAtg9sw2TO0qo5cEg/My9KnhzHMKhCq78fVIXZggFndWCda6mQBMCSJ18PewXXpRGZ5eMiuq8sos9GaAsKWREwIFoT16yjSijuSm3FXNCbt/Pl+v5x+Od2XLfD8jgtj/9e//yqao6KhpE6q1gqOnmNGXav0r5j9Qqv23nZ3u7bbdnuy3Y9n+4kbMrSn2qw/MNwCzlECE19AaIAiJo8py6RD2yMWwhmcXL+65t8SMzkx/Mxzwnc7Kzlu3yU1Z8wTMiuWCA00aTVIhkPu7NtLSGcu9CCBBVuqn9QPI7TOJuX7xB5bfP7tN5i20IyosG4SNn0SLsJTUrN0g5YWQStYuVQaJg1ldLJ1XbUTKqLSaPtBCjz24sFBeFkdwhAAzuasqg3fXu+lqgVrwC4vQKEn9JvsAnpojSkHB9l4nHwdT2+LcbUrIZ6U8LTT87TiPtq9ujtCAowP3Ctise3j9XaIu2FxrIM7OeqaYezqCaoVWupOjvNaGT6LvJOiwOM8AVisYr350eQED7DRhIqygmKaYlcyfcAcrTb+EEhoE4jq6xT7ofMnM+cQacChFAMh1yDIJAFirpGJsJML66X7p+eBFk9nuX7DfLhNABtlfHIgBvs197Hw/KcKogH781VhumGGh4cSI1Am1FDKhKSeaEfNQcxgtrxVrMGbHuMxBlmIc5tvIzWRqFNRC2kTqmC4lUplKPArOqtpykMlPHdWKfgpQ40XZAG8suaZeUa0dhyL1CSovLGMlwQIfzSBBpib7EyhITIAj5DJHbAqWZfof+TRq4YZhcOjQrGHn8A9I3iJXKCCpGnSG70CGyz+XC3yu90qrLRYZQgQzOypwWVn1OjyrKwwJvsIAOFbqgnSwdZecZ4EvKzrycwTd1otoaDinXQ1C2lomF6OlyqfMEJBz7ViU/DwEUQYi45qoYNwoe7gqlftnUr1ZpCQSAMGhNbMijIV8TqxgpzdJgBeUJTAGU/whQvIARUWIgwrJLd4D1eUDRNGiFcTzDSHEgZqbW4LCA7VJ4HFoFCXOv23qvf5nQ6OTO2MjjE20R9U129WKIRqYkpRBMz/gToWg5d1aqSh3o4zIsLgVgfLK9IaAZOXy76MB1HDUILuOpiP4IVYrWLPcDSi8nfBoZaQ1h1Ges3E3RFdeUbE6FvrW+mS9arn1FECyjg3rZZNVGbyeR93MAW5rkiPTspzPMthgeLFrYcfF/9fh6o4C4d3SDJ+CJ4qvsCMveLOsnXlTQINMJijfEslD2jDl6vCeCcOM311jL1o4Swyrk3CBeYex/wFwQuh1lNCDDpA+sev1cFO8STb8lDWsePlfN+ZN2ocIk3lXsyxjmaWHwRCaxju9N3HR2ADVKUZela7z1d+rWa8/lc5sgzGqLGXqUMpQ7+Xdb1uSzLfbnfa7Ds7fN2/7wtv+7bn5/3v77WW6nBsicQsAGCthr0QBAPyJ0oWqg25sd5Pv54f/vHj4/v79e3t+l8PR3Pz9P5eJwj/qjlqrbfyehUYFZyKQKVeRv10p54OQiT/behGugFOHqKyQgKb+JArZ/ARxRGFYC1UBwcwKRZrkNtlT6BhEDKsBRFiJ82nlt+5GlZbRcjDDmhTGtONool0l1pcpUVqIQ4osjpi9BzgPgqDyVLGsByZS5LAWDFYdP2oMbcCZi8F/ug9YYX8sZ9qwG8jgQzwNhUP6d0BNVfwnWQPWT8AjOVY57KeJguhmqSx8DNaijf6BDb4NCEdaynEMXNuYQ4c00nqIFtG/ISlBH7HZE7DLPIEYoybV6QbWYcIOZX73umiTe3QBJqkV2YYvuqWGLVeVKI8iTgSoi5/pgydKoOzY5aOT3O5/NzO1wej/ft8c/1x33ZbmlbuC3LWqs5e8B9Iw7tsCT6MW2PaXtW5fPX8n6drz/v51Tr1kEy57n84FxdgcY6nQwx1dYvJJxzlzqyg/2ZgHAQTSk94kpB11AGwGMkT4RF+Xvhh9GtxpL1fPTrRo85rniXOkFaXWxLmTU+p6UbGYek0Qx99uHYsJUcsQug5pTEaPBdHafE10Oz+O6XeLvrlmWhNOq6BVCHPeliyQ3OHjmWxKrEshIhy2lKGGDc395ypu0b6jVbsYgVgFyv7jERcARaZjxF+xYZlQeYOxiQSc1Ql3QOKAHFMHoC3AR9MJPgbfJvSgeeLZ4wuOsFgiqqcOTGW85Ttl2/cbwTXc0U1/CPEgVIxOIHUoTtOtCkAFFI9bP7/KVckxXiTfFhBYjLwK1ZcUFfjRlTE/U1I+QHSCzry4ZHJAuZiYxPm3zoIXCO8Vqc351w6QcMycZNyMPZAqvHXk0JHphQgGY3zr/U8se4FlWwH9owf5XeXfyQe/0/Pwm11AsaxD5QatKC6WvDvP1KWqYZqse9A2gAaEqtM9gJGGGugMo5e9RC1Q1QKyBX6ra91MPAYJleDYV+UY/AnifvAlpd39mgEO1QT1CMqx0IHEuoq5CJx3kk5eRIrQd/+CrncZdRTvF6wmShpEHow7RhE4I8C+8HWUYQJk//T8yXuGkRFbyVNrz8lhpfEEuVr+Xm1GqGc7TKYcdUFRW267hUHC6DbWNmpc+FLPo8G1aexEf9JGrCvkIQ0HLbWdptZb1up9OpjgHsU7lAJ5yW+pJsKcVw1OzVkzJmIo465DUG9jYwWxxg/iqGtNj2XXQ6K+f7GhQ0Jgk1YFY0RCvpT/thy7LSx9qPGHH5xelFcXhOp9OceSe6K2QWE5KrQ0crWRHMO6E6LV4d8jMc3BsRUR2+Ch1IORpPWRdBoxorTMAPsiHMnpfHcvkbE0SK7DYg/S6kR6DPsjpEZdE7hYUS2IgG83pt9BY2BR6kQ9AIwC2rUqgZ/eyKGh+DGdr+V8u1Vk6+m3xAHqo3Cr0wSMJeK4GW7Q/NJUiBjynEAnqaeoBMSCDnvKHeqVAltdgUH+kTmiOdjoB1DBstf6VOmn1dWR3ROYJ8MngYInTle8USCNx3nD9gOm7AqEXZdPZhf25DHla19TkvyWEJgWfq16kxo7c/UnsEwCF1q6+7aaLDIKUgQ2nWFzWbp45VsnR0HYuxiqlKVWkglKSBkJoMntMKfKGrrkwJ2+VnyifIZI51CfDh9/ge+YGoO3h72uL7Hh6RJ+vjsazbfV1u65qpV7elTlb59XX/uSx/3pY/Pu9/3pZbGgJTlZfG1A4oFDjxTFKYWOdP1GigotepBskePy7nf/7+24/vbz++v1/epsv7Zbqcz9fLoSqfL+f5fCoXLx2GnSRX8hSkiLCS8O8TI1obEMBuI7aFmhydY4ooNAXuMZehL08Zl0rlkQFw3uiTI/dDZlG2UQS8rbMKqYtpsmuLdvDHy+BBkktjdq0f151YE7kA1lRhvWQrpQJtETy5MAixXQVaVNSQhNjro8AKq5B0YjMFgMlJVi6CxWV1OfZj5zv99cgDGBD1l5We5gSVXh2Soc55e37TUEchNhQyyWIHUnoERgOOb6csnlrywYBYkAAgype1BlFEz7OWQDhHxpLOpBYGEFjz9sgZLAKSh8BTPJv5gIOH2+jM34YiCawVSahCUJEQIEIudQ3R/j2aiKIw3CZN9VboJXBSCVnx7RwcU6cq5byX4rvp+Jgez+n4OD8Oz3ld1o/3yz9/fHx+/vjjr69ftz8Whn9k2aYhMy7YWYfP51qe8OFrfXytj5+f9/l0PJcddz6d5ioKqRNBS1RzjkCVolBVbqLFduXGdYMsEOFHZISWcfglMqU9RpwjoMMrFclJCUxaFmMARi/ZuZ66U6aTAsCgzyGOXo/3DfRASZcKQyTYNllRuA27q/EVqQ+SX7fUvNGnfDX/p0rWzYfS0LvcCxp9bQQvU2aeOa4n4/pDX4yG6Y0g4TFBs8gi3A4x7DEGPavCQpkmzaAU8fU+2zqiIKKYuTKB1p3DCKMqMEIh3xia3s2jzpbHl05NVk1nS/tGt1mKWdktOg4fkjchKvusivYR+JNcnDKw3b9kHWmpQ33VIfOExdfHtvXENJo0wPIuJyUEHu/2sHINiIduQ4bKSklyqADAwyGOmFReRgEN4VHT82Qae0ueltr6JZiuR6DIEooA1zQyFZRX2DQA4nX67n3KUerMXSLw6YqxRHoUf8xAscUjQHCOby0hZXqAxkxeDlsZIUVjlG2D8SLjwvBeAzL2YFbQliXzPPlBMucOPJzm/a60GFl2bSeGAg6ZAHb0KyHD2AUaOyOwOZbmX3DTwGFOG9QY04wMzFJhTVdIMwRvkGKHgIr0jekf4P4tglBFuzyQ27UBDvMo+djd976QN0DumGqjQuxFWkJ02RWCCNJpeYMdIZU3ZSNc2wx6HI8FygiFONfYB7HSeDO2gAo77lzP3DPZOFwUGULuVWHz5OYI3JV2xlw4b2I/akGsaXqQaD0RMEKgsmTMGHzdG9IIYh0xRVx97mr4S5/tMyD9qw3MhwfUWaRg0AxROqb8uUeZWBGRUzogCt2SwfkVxutSBDwKZIh99vQIiWrFYiO67kj//jyf6pfk97Rnh62AREnEbQTV/IE+8lCqO3zqSEG0M5ez8mqb8abBO7dmpnKsxNFrgP1Bqhjo4dGhPOmm5W/BuNnF1hGQdHvp4jSu9GDPgJ5hOIojNAvU9hLB6nC45AdrIC+CKLjYG6EfrrRLgf4X1hHSDXn3YT/RpFYm5ymsdauC5Cp1A5yDkqXwRDpbFBaMtjUBi8oKsCNWVB3LhJwUjDn6tY/kKRcxhFAofI0hQf2aloPpwspuOt/gNjdfucHMOlUqQd6hKF9Uy1JBv1Sr5QlqODJCWRIvhT2CzcfhmTbdIfQErPqHkr1+TW+GKzsfQscWb+UdgCXc09qobRHJmHl5Sry8rI1ntgy11XOxmZpa6sKKtyHNThmeifZhiY6X67MQkbPh1HWr/PFat+fY32VZb9u2LstyW7fPdfmrvN+vP76Wr+WxVpFXcmZwfBFT2dNMkyhVnfZa1n181rlVl3l6O1/+9Y/vv//247cf18vl9P5+vbydz2915O/8/n6a5vqpFGcVQbeCiH2faR9gTQpvuCDsIEpNk+wPZkE4eWBeDnmCJxieBEnpSiEwcVJomLW6J0QyEOjnTnKuf2k4avpoMgxKyYST7JHRlYIjVuunrL/JDPNObBIgJcclr3OPPflKG5ER4icZkOWpXIFDTcxvuQNoW0YIupZGKK/Dc6MELURbJItPnbfW/6sgOPdnqdYsuaEas4h13xztn80k9cKUC7b3M2RdUFZMlxI4bHMPsHU+kOUNWJkgjZdGEraYrCvTj4rkKTmFo67k9BrVpsKQNJFAMwHbSSGuYpmazsCpkxLDmM5n5ZdKEnukAeFmNJBHweWUkiHaYhbXp20zt1UNyrD+lfinlDWd5vM5RPE4HLbzctq208fH5Z//+P6/v5Zft/W2/PxcH5VyIF0mllHC5WMt22Fan/OxBmJdp+N5Or7VYWTHea45cBHpiWht9jPEoq6mU+AA6UR6ShM7L5illVQNmmQf0OYQZQGCtNrzI6BWjbWhGnpyT2wG4JmfB/JRvmkbIdeDs6pEAI0jQJkRRwjhLZNKCEaYd2U4s9xRP1qJ8aJxUVXvo88rN+QoO0GCF9NWIpBpz8cdaRaS08aRUEogpUR/iZsxiaplBm5uFG6C0T2mVB2hq8UefX3/melhMI+4yC88dTxY/ncaS49aDUQq5NqAtSNVNdRtiG0VjO1X2LSPzQlB1PdKPAyx5rPtGXFNDwsiAhJSHvVUS9PitcKM4QJP5jwAcO8OyLX/ARwUWb2SZuAhyQN/JI/lBvAmR0ztNCaWCqQYBHwyxwfrpGOmaofUAs9Sc6nTZKAd2m0gKkM9Eqdwj8iO7IGe8BYZrHG8hm0p5yQe9CR8QHKl21Y5T673Df8pDAf1Smow0wvw+mU7hCErqWzoxUFvHFHR3zk5NZeY6s+6zV/+TWPkSzwCK31QmyGtrNPM3yjaikkFMbUAIEqb12v3aQA0cfio3a8Ng4SGIA68MT+Ey+AVcHOssXxJqjo+m1hd3ABqR3AqPHoUlgM+ysTEzQB5ZtLEKpavhISZw67ndPws1kOkB2Exp+NFfCODX9rqMkzsuT4elW6o9IvJW11o4nNZF6QQmRW6Tw06pAiNsajgw9TrAHdmfD6oSkaiyEV5IMc/VBSLV1S7XFp0TE/xEOAbB2aHVXhr+DDHU2oISxhnimtdPU1OMMKa7jCDxFzPkKSxgym4r00Vy+VAuRhdmj7OQ0+bQoEfQYNB8XiuZRG7HhLp7bhGFHKO1JgSGtkBy6a8vo5TV0opq2oNifxgFFrxMmiA6GY8q1TSNnlQFj1sg7h85k3Qhx01erFxMG5pHq132R5AOTqQqofnzM9d0LaYwM/r3lY1sXLfslQnRWUmVrgL/ZodJHsvbQwcWSez20u8YrePKZqChPjMI52zs/RdpIK7WnEygnjEqjGtyqKh+8AJFqEcOElroBq/0a+ZGk7QCrHbsC0GScgT1I/SnWDHOL3dGNVshoscCLzyclOjWrM5tB3NHQMBiJLAyGLsEIOsjmvmHJf2aau7Db5j9Esl5ajVj22dxKDODZLakhB5G2bh0IUhxqlbeFmT/heDlzpfbDiqEGlwvneJAguliS2MDCgI8h3gYQ2JryOI6Hi0EyYBPQXw7hr12uqdVRGdt1Y6BWcCqqfkj6RmieJl3ZZ4zuu2Llu6fqv0+X5f78vyeU/987L+vG23mqqZyVrRFYwynoL2KaOsqyKzRMfEQENO95lOx/fr5bfvb//4x7fv367X63w5ny41bucyXy7H82WaL6fpjAjCBqLgoobnRWVqATMzcQjeHS+SSf2KGs3Z0YCbyFwmyREG4f6oTCVLtJS9bS3wE0YStIEt7DbCT00knRc1ILY7A6nUGY/FJOph7GHPnQ750UZsM5+VMjmC5GpIqtiZKYxGVppD8rg8q4iReN/ffmJKMonQAjMJx9RTSzVf7ZpCNWG+0EtitwqWwShNypEfSFq5KhdSEY8h1ezWJ4oSmDa+QY8oLuyoYc0iKhVMTROOYjdSqgSxrQPnUcmCoAQjILrdI2N8rHuwtn8LgpkQgVoHsWM9AEVIQZXeqVhSDqpsOu9HJKclAS8d1nmBqDZCd01WG3XAjqrKJvmtHBObI30r73bMzIUysWvK+qFE2/F43h7beas+zMtl/v5x/dfv3//4dfv5675sS9KJBbU6uDsiKBUoWeU0r4+aCP21bT/vh/l0fH9b3m7T2/lUwmE6zfP82B4E00mxQgoao3AlkSj9uqZr5bpCnohhamfy4kFuBPzkjk69khiH3fP0ETNF3vo+5hdCjUPK5XUVSdHQUeWdqr0wQXFQ0P0IKWHTlhjivWNgocMWypI1xPxS9DQMhvZ+uVx5b7BuDDeFqaJPKYJWpWVT4ZEBDZYK3Sa/nYmCKBoqiBw/1xTKYzSW4LkmbJZKvsI4Y160M04Lu6wVJdVsywu6E4RIfMuNAaL25cVW/Lf2DdWpeat2Oy5KbCPZD0bLs5uJeBEZ431r0tcutZjirO2gtpVhUSf7PjAVsgA5lB7bgfoMSqzb6JQopUZZslOAYhPGISZvmcxB25UhNmzgZ50mSeC1xQVxfR5ebvyYRjmWRyRFfRjoMOYwlNKdnxI6wrmtbs8L2KFk4TACOFa99QINROhcWttFIbsQLUQzam0VvCD0utvzXgvMwbTbicYgSgIf5NMQoS/U1MViGUIDooISedLAGr6PXVx1UcfxNbpdQf3BjD3TvJSZdG8YvRn5Am39qAntpVVNm4eTGgjwoonl/iuc1QzakHzmlEf+yujIxpGL3UNNPhz+8XnGhHKPzn9Ltf2vKm58f3kEPgEbSByDri9BwPbyQUBmqcXALYfg8XjMOT5hq07FtkCG1KvJ2+kgJzxIhLKeNGp+24bGksh2UkkV9yMwz5Rnl8ZxcHgp0kMWnwGPlnS6caQGRr+LguwaSEr2qBa4nE6hpqcwZzgWXhkw4w0tfGV9HmQ5JcQx8ORsoZ7aX23ltcJqRpJa0VQghvWpZoisdKARsrGIUSZqhTjUgwXbTV6NYhJWske5auXyw+es30xvC0ii5wAY+TtimnlEzFAcMwWYi8FWYUea0oowBRlgKV5iCekcUHE07lxybKjm+eCio5lNtyK8fhslERI2VBPF41jmTDosGhqbqn9odDYQ2Q8dnHTKsbvIbgpvSUJyOf4ABnvLGekjz85BRFgiuyXeaRge24jqkjPvjaTEzVcQu4ghhXOxbJDq2UroPg7z/PLwhF6Ibbf1yVPEmeqi6tCwHmndGRBXNpnej/uZqNkQGKxHC2IMUSSQJg9FAozpKQCo8Qia60+qoVqVabINeQTCmxcwnjRKhmgCZRBkDIWePykovISx8cBdUQfOkylWqXBDKAcuiypt2zEMU2XbjwiiNADX6Ud19tF9e6zLtt7W5df99vO+/PW5fN6XpXzq9mnKkK3a+uouKuNdT5jq0kr8ZtHT8Xk9T98/Lr/9uH58zPP5cJoPp/l4OtfMq5j+zP3JrXVHV8k72jpxmbiO2hmhPFygZuuXnyZFxAMoSMC0jS3gT1ghAibrHYiMJRF7urpSdlwDPIQMLFYPN3cRfgCtJOqn4ET2SSUn5Er/AivVWkzWZgjljmjw5Jp7CscamEnQkNI7HkEVdQtE1q952uNwYDeOjvi7WGAPw2touRMbDMDIQZBcpDbr5N5hJXgnJWe0xiAfKqNvrlv5jMFl5kSqTEiGyCDxYzS+byXrkr53StpkrVwRWNoancOCxLxP1kOWJqxFxHoK4pIbHuJol5z1CAY6Aj9DTcpFRWRAkcZdBBl7E4jAp3cxpNAOLqk0gFBCpF0v6FAc9atYBDdwyFw9oMZAY74/E8KvSonpOs/Py7Rs57fL+/b87dv6f//r958/b39+/rcDbHazj7hk2YLbY1u2gs3n6XA+HS7r6fNreZsOl9PzMpUleTqdzpfL4TmXsjvrrWFc1kndqcws52CXiXoDgdu+frhgV5CsvnUlUovqlR1lCMgoESWk6+dXmLLJGsocUhlZkbgM9jrldeMIA9+a7CsshexH8jcC0Bg8Do7pPborKMA+w8rlscF9fkwzCuJDMvHu8UPTR4Gtw/C7bHNIXIiBDF5DgOiJ6pugQQr0An7FSdwVzhqsZ7UGNr+tnAQR8bQjEnX+5fQArZFW1+PnjzoLksHCa49Nt8lBNrsDAzI+/+R59Us8kJZjcPA+JOjFekSzcewP6fMEqqzD55EDXc2QKtO6kqL6DOoc/DUY1/Ux/TdQbYk8Zh/6uDJ1psRTtu11WEwQmPkClmBhvnVippaYWssAPjKjyV66TswtdmyVpjoZKwRcsSsFGvDBi/ZDwghNXT5bmdtCio3sm9DCAe/gmQvdCIclOuHPh+YWOm6M6j45LLB1zaBaXrbPJR1HxiIaYRJIHcvEOweY5XcKjFkt+FVgUMQAV+nb99FZWSnAUj2mBWrHEcPRekMAp9/f9+xKCC5gRU1kXbESuo5VXQ1Aw4/FKMCk1tMavm2ejh9PWXyqAsSXAMnGiWfwinovm7Lw3/XiqNCK0HXLYVFe6fnayZ8QJhnVhK0m8UUxX2SfHNgTJV6b5cStdVnJT8rZEprstlMYZMEaDJO0L60ZUCKhaEb2hpJcTL42CAqd5F30YLLhKBGmYjLsJ2GZLdlye81zK/hXZVBjMwz9uMswRl3ax7KxLU4gx3un9kB7bqhzdWCHAmxF411M2BMmozU4XKDLFW1JEAZKl+VcUJI+NQUqlSEjMQKxDmbGW3yZm9sQkyNqq7VHjibPeuy4hoVzKSO+Rne09Y+WhahCkE0wfCrQgNye7BccL1JU7m6kU9+T57WDe+SU0SGCneg7wAGKQSS5Pg8G5EQ2GEUhztqO5Z7sakaLnyYcc1xUFnS+VJsjg76H0pJnh7TG1x16IDUVBbawR9MhM4E8N9hKp8dj5diYVBiUKZ9H+OCm+SFr2AnbadVQoRaOqn9hd7DcZlQopkcmoBc1lQaFtlB3WFQLx3qKFR9dPzLqzBWFYLzuSxkFsdVGelVwgIoXr7jQUk/z/FhoLGa34j2cwqqU98fi6xx8B382OUcplu02T3NillZSpBajTUCNeQWHSNc8Hx9HfCQPTkoKgNMev22PNVz83Apfy3KvjxIVXLbt87583te/vpaft+W2pvi5BGOK8QJQhkohNFMJgLOZ+bS58jIdv327/vhx/fb9cn2vwVfT+TRfMvP5PJ+mOYxFMbUBg67JSA6PISPWTcj7wLDFUX6Jb9mGb2tSwU5r1qhRCeWbo5MRqpytUwEyLGGFLm3oPK/Um0m2LAbbqymFcAkjIo1fyY6h4ZixxxxTEfecdY3jJBUsvAqKYh6SjI/isnCxbRWm3WRION3ReoW7+FFz0xqRAAjzY1DJblfQtIPh8pH8MoXJGYRbCItrWTtlVhahNQ0iwEy+xduMjYKmLoIkGD9MCm6g2aR5LSvMLZTDNpQjWPKt5WbEeJH5gztYyNAdMmlIaJgT/WMIIzxWMRcSJmqyhPObNTuvkjWxErGoUnuRdU1RY3nGdZtV+bTT4F4DlJuR2zvSyNZCRMnWtdX8mSVNx9M8zY/L27WU3uO43h/3++M///Hj//tff9yXmjPyN3zHLyryxhV6HE7r8zYdb8v2Kw7w23z8nA/TnEbPGvkz10rXU006PBvnhMXUtwF44ZpVsn5OZQtqkzeTagMtVc/YVJ9V27FveApbsuUn8mtI9RfKVHm/hrp4RipmrfiIoCYcnLIdZEj7J1wuy4N57qHwqi/e1U+TT/1fNSWmM50MNZd8lKKhraBeWUhbonVnMMaxTi+XL8xoJF6TxSZ+DQFrtGbSBxa2BgT9hfyt39YT5o377P+xJ+i5XLd2k9XgmAGdqgHCEc2SsWYtzCz4Qb5WvWwIYkO347cGPI6DmM88Z37qyQaveasVI/nuJfG72yydLta0GBQG7zdhQLEt8OoajaVshEyYfLKLlyEA6yfTMPZtMCMmgjDjYTwtJSywbRZ5t8DpjIJiLk8fIO5qsKyz69oC+ZcRP3wINexSmppepTJExVwS0shj4yPhH7mKQu+ltQk3pHtoAaHaXDv+N4SUgG2hq7LAdB462kqGIf3y00GTRn8TVf8SwnLxbpr7wr2O1Wpa7R0VWPikMyJQoDCoqUMG6FBmpPXZCGNr3BX7kqatyPOn+aLmXQfdj5mYR+r0lPrqsKE9s1UsMMu1wf9L9otNyHih5t35GpSBg93UDYpwRVIJEKo2EdSoRx81S9PUlDLdHKGWp1myy6JjJYpN1xahwy7yJoRSr5XFd8PDdJzqHHmZUhsRDyRCNLJGAYCxjkKErEfUDVPJGtp9s8Kk19qLoOU9IsN+Nmx961pRKexk4OPlz1bfosGgTAtoAD5PZcI5PcxJFRAGDkkT2U4oTbhpTdTe0e7jl1f3m4sNa6oC4b5mRcEtz2O0JYLuu0SPAkC1wj2ALzmWBiSyEnuubyvR5taDnRa7eHgNYZjz5aUuVu+r3tg99WNW1viJ6MviXhr0NRRk1qjqbVV9ol2Y5hNAbQeOObEBKdkhu+IQ6wQV7VOsT1KWo6xtcYkDnAdOOcHoVSG1VgsPoEcj1WoKmppekZUV2q9SdlXaDU6nMvermNq0qnoiKHlUxawU3uYhR9ImtQ+Jt+TKcALvdg0D8ogeT7w4HtY0rZkuUyg4VmZn4vYhdyrl9zai4qXEZwjw+RoUG5+BlauGuHp1IkAUSF2noCiAaRlNEQjuHNzisSN6geGeMGs9hwRzgksLaaKz4RqiSYJXn1eTBOJlv6IR+ZSV17TnbV0fazm95f/m3KP7sn0t26/b+vO+/nVb69yjSjcTrSkAJK9Xx4fm96wkS05AqS5J28djOj7e384/vl+/vc9vb9Plcrpc5+vbtWZevV3ny/U4nbcKplTyGOtZyFumFyM1rHY6zUhJZh/Xrybf1KZ7bAXll7BzyiKep9kgrIpW6aGUR+gphRQZbVLLcaHPoawRJ+TTguQ9KL9rGoJWirgWuz4DWSpr8Xt+euovHw/JgDn3rB7O3Nx5lP3H0i+pQpIxZqw9qmDT3qoLOnynxAGmJk0M9g1+49EtDymFUxTwWcsBgU+tumuSZgHEMLMK34Q+sHudqlD3pDgqsg/zRSM7PVhckyqEGDEaPfW54V63UjwFoPpkWlkEO3LUqQ7EGI5FBUaz1BhAXSXA7Fv4K8pG846/51kdfwRWvGDXdNokkh4EiWe7l2ZoJTezca8CWNnid3VNh/Izlz0niJ3n8+Ht7XTcjtu9av+/7tu//s9/f/77Z3UwoFOgRxn3saUd+Lgd1uNx2Z739fF1X7/Ox6/b8XI5Lct2nh914vD6mKdqlMi5idK9xwQOp+hFLHf5VQfvIJ6WQ4AU5mjtzkb1fMSj93lUhKy0swBmksa0bOaNjbUIit1nkgT0Ipph6qucPMS3aj3+2hsyK1tasgWOIHj1/KBDbwu1ahsRKWN9kAR7wVvbCY2y2xoi6Fyu6BC3yapCQqGULhqzurJ3GKCGVPGB8nzOXxR2eiMsIXACQkMA1iIZjhAA7sdMKHK9rRor/MSqZthMEdIA4qUOHxGVvhnWTD0+LK9cqh9dAhgJsWb/vLsOLDty3Sm5vPR1DbnWYpw8NhjrVvCxEuo+4qZWbfMAVKAXllVyA1dneiP4KyHMUPpYj6RtaD2C5tuODQQoHpGqkAMFOwdMKFeYpKRZyGTJFphKlXqWw2hjHvWYECNihLZBHhBVJUH0hA6kVNTh2HJES+1lOGW6i7kUOW+6I3of4ORDVENdS6qRXN221nQYGXTYK5KcdVGMp/LT5n3/wKim7l/QxZnG5egwqFp+37EvgoZhEVivfgngFRMtZoeuHyKryYn+Vqw46aBxyQPr+iokxu3nIsq3NMTq4lo+VoIgUPyAva5/azsUaoOkm+pUA1SWwjCK1ESPmcbG1COsUP6HmAooEl3DSes/ahArOdKWpwhEOtFN4Q9B1yvsmuf6I92bubd1JOHkNLlGwddXRTRl8Hm4tizRMG7GHWJcCmWzseI7m9SAwlSo1D95idbWMnxTgPALNB7TaeaJo44/xF3fo815BOiBwJk5bd9a7mr3bwQIUCpFyAQ/OrqRflSGAajA8sxO1GDPVn/CayaXs2/8PTKlzZNWBplA2yLVcrX8j0qkYcYFtnSJN1m39AH3nsckKrXtZKVh27YHm0mY3a3XKaXh/oUWgZIfe/y3eiAiKUuKVxfsSLhVXJo6anYPq8QGdowzJUv19NYiaTXJUZ+NnAI+h7bTZ9VJSyIvcE2YNoukC51sBkO/Q4uV9krH1wjBZq5g9+1kvToNAHCwIelLXAB6YHQwOvXevT1C1Q9xJGhNjBgAmoEYhZGj/AG7zQ10C1uGjvDpqUaV9uFviAuR3lIfZ0kRv486z8uSHRvCSpGoDkmfvKKoWPqxLivTSsNoEf4d9+m2RgLMO9GixgPwFrDQWohFxmefvlyxniV0P3megLLxffkjW4Z1d7+r2HCixrc27NA4wF6iMiPo4gqX//tY18d2W9fPdfsV1/ePX8vP2+NXBl/hMRTWI8I94igYOkWT4s5MNQficKryyO18Pnz/dv3tx/vHt8vH+/V8mcr7vV4u58t8uZ7m83E6o+jn80QyoyrPCH8oUvAJQ3KpOahGgMY75oHKTGKDOGgTVD4YtOKazpzA/oQwgJUtMFQf9bE0kmEw8kLPuDJA2wYBII8zwD3WKoue7uRHd7bMgJfMy7caQATUOjKKPTxBYAuzK0GrvF2iaUG5W4zamMAQFQJxjUqdejOKmGtbUGYPUYUKTzm6p3SKF587VixZ5lW72yb48iJmdwPGQGBYw97TF9czObUC0y3Wdh42CjESlXLAUmrnQiGG/3hoDbMgXbyTCKohImacjG2EPXQDh1n87AwwYBtpm4U33CKhmyXR0ThBjfuWk4PDHevV+NGcoNoapSb9ysLkHbnBfKuLyRoSjU3NXUUjMTXnuppgYw2Y3JYSPP+4Lf/rX7/9+/NrvWfQ5qlO+HXHpaItdyppcHiuz+PyONzWx6+v9Tod3t7mjCmJLcFRf+Y3EgipBXHyIksqdVcc1DU1TcxuSqquH2GOknU4SxOAKqTpU0DifzLGlqyiPl4/p3lHN6whPzxqgO/ZPXE2Hs+t5UutprLEPVsEI2GsBXtpmKJTSgOGWz7UEsA0XlNBQt2CJhzJwb3zqRePslx2hDqW5jHPsDHgEC18HtM87k76R5MMAJWfig3Qb3ZZuSaYsZovqMZ2QsXAkb2wzP2ItRnzPlMXZdvYn0F9qEpOt2cYM7eNEA1p3DCTBPlbWsmAgsGTbqqCl9OKGOKHj9rr7rqSIkkbDI1Bt5WOdM5L+xwBHU76d2W6En7EzXXkQgruPQvIkTD5PbNgBTTTRonTRVthf4zBQ/WGGDxdH5pH5MDKnn29nwkuXpDDeqkdfUMoglz8N87WbgCXtZYTNhRNUMLIfA7OUgVFN3k6d2u1DNBJ2LWW0xOJmmhfgn36LHzu04AMUdv8PYRynOaqH0HbstquuhJLzR2qFfLSNAR0GKRFtM+1f95YBvQ8hEdKpdruMvELqeyJxvZ+9/haPkH2eoUXpObLUGywofNbz0+jVn14OpZnFbMeJzBQajKUl5juizKAdxtFcsF4aYwVxQHMwRVQQwuQ+o2DTCLEC8Blf24dpyThnLmsbHUwWJMZT5PMam0tRxMFSxPjHPLt80izdV6+nxoBIv2K/2MS4zwABOi7lSNodS0dRcsDHK4AsrPgrM6lapOMJ7Tb5WaAde5KcwJQwoltsc5yO4YzOtNGGQJTT5A4JCBEthyQg3wjJnJUs3akGBfvEaCBo5mNdl4BHe2I2hjsBb906EJcwOYQL+nVY474JuE4ECCrx8yv+1GBcMhugwSUOx37IE9hVFu3Bh3xQtQC39eLJOZk6aErpW3HMsOA5VVKJkMOjRsFCZLF+AGSYko6JK9tSnlWJD6TA0f0MRNujcdDKjlXK3uV2r33b6PUMCWPOS8+FWJFH3aSIHQGh7IxGD+Bt2rjBNB5hfK30U8MlcWGOuEiYA8BmeHX98zuceHUsgOIUSFSsIb8UEfszrXm2canVAXqkj57wHezP+RsS9tscFBHbrXuVHSXTye+pio6ZThtQEGgR9e+pQCbEPLIzRGiVlkobntJEmdzECWj3FLVHBbQtiTpDOl4W9NbMze1QS9dULwBjig5lLLnKop8FGNuy3b/ut+TEf68L399LX9+1blHP29rTX5OeRDUFDenKizjW9KEVR2/9XtmBZ/qr4/z+fDj2/WfGXz17dvb9W16+7jO5/P5fJ0u5QBP8+VQfYzH0zyfOH48OT0af3cejz1aAqp6PfLuxDzcdhsCBTkra4jBUaRtDEv8CG1JrgVLtJKfFuDaTxuSoe9B77UA0fDqU+WjYbeKYeM4GXzNnSwQCb0b+q4B4qGiFQU0Xopsqz8YQtFZTovNdyMGs9IISCP8RWSMbROtH9W8Pl+aaYd8pxhWQr5JqWrhWdtANHcIudoSjcuCWLIW1pibrdVsk0GqhON6jdZ8GeYdYV+KhzL892SRO6HpGnDArZ1p5LU4IaCKdehHShEESse+spq8PJmLhJl0pZA6FB/WNlmPD2jGrAG34mdIflfSbB+z6SWymy80KnY/rfs8WxKqiVjnkFb1jngDjzpevabYZbLRPB2f8+OwPg/z/Hi7HJ7HH9/X//2f//yfXz9v//Uzhx7VoBPXwIE0KayMPHgu2+N2PJwPx8/j+jYfvm7r7b5dLuv9tNTIurXKvwgUHk418jTFZY+yBgpeOSApWAqj1jt6NMWgB5OHBkxpb6HH/0UQC/MGiJBUcA+g7kQ+LEfU34BT3Bn8Bt7/cr1LkY9aiEqs1kMqpRUyRB55NPiSp/aHDfJiEXmYVjlpKBYgvePJ9Ko7/jz0rDgyf9U7iqW6i5dE29uA4Fmqwn5TPU+YjALOVxWF2BzIqq+VJeoX9RITLng7Wu/FIQdSOasJssqTG7AGCnBOWh1zo4vo9bQUeEkjAawK2ddAOC9IRczYpWTD8/lbMwy45xnxVWrWbEp8Lc4V+I7ADJ61PevxuoL4EVCSCQZsF77zPd3Zkte7EkwU10z7pCsZslZM8Sw+6dmH9FchbNOG0A02PDR2Qqx3vNZiPNxCnt2nhe1ECUYM2TfN+0RUgXbfCxdB9k01GLPJTQyGA7ODm0Q8UKl8eLVnTPLejuWBIgGRFIu5DOZWN4P4yM6jyCeDIwbHjdxgmvG7LYqwSzNasNfud8RxzAqNcHRW27ShDljNgnnkjNwHuWCrs+NygCuZCqOKBiaPVdMjzWOkgetdtCNKX00aODoSdNY8IGtxFTsxWFW/2AIf4g3eiwg4qUX1LoA8rq03ya91HmAewh4I1dfkyTyfs05xHjigRJiW1tgdxyGvsdoQHzW3sauthqEMsgKkAkydPdiNB8kQxoCLz+WuYwuPLnnJhWlIMHAZBPGvXtTG/ovjCpqk07qAkwlgMV1aELD2Eac5PB5rnpZoezNznWdDEjM+Tu2xT6BOV6SHWFhtFZixHod8IsSDHAeTWtXgQrLBbCwoNTKqNAx1xl0DykiNQCarU4+CkzSkyVEDcrshC4w49zg30oub6QvSn/SCuLeJvxkYEWgYUvmQhGAGNqHgDSSjBPuwaKQXMiioifNprRHSP8QrRTPtBLFouqhlf6tRTqXrIu3sNyBKiAZUsjwFUz+kRqhFUkJRPXFwbyrxT+xMRWGtMj3MU6iwPqpoOiwfxFKqs/u0eYCakkBsHpPe+yw3rWJBpPsKPEeDLfPJFTMERoAgErKOcapRsamzAGrko5KvCFnubvSwrqA9BUsiL72yuhVS6nRjRCShtFhVqR4XQyyaCvO8q0mR87qdj6C439aMWBeQ6CqJSiOOf0dErHmB5uFdPcuuEHybS8q6IJ3IvpSsVxbuzOAOkr7bWvn+Zb3Xz3Jf1q/7+uurzj36s4Y/b5/rlibhDpwF/ExpP2bafPkLeClJoUyl6qoQ6Nvb+V+/f//HP759vNfk5wx/ns913NF5ni6neL9WmU7T9nzOoe2wdWWcEv599JFIzYjdvm5phSIFbjzV+BACMdHQY8xee6oB1CC9lht/w7XorCMZO1vQWkwhFmoJ5tCDu0lpm+2+XIiT53tdGvNQmaQgNL4bw1BzSYkp9N+P4ZlYmaF+PjTw1CFzY/msEwmricDfshHrRDjQZa9AwVegp7sfj8htG8IJGmGtVxHdECBsiP4NSFtVColGEzuh2kMRTXrf888V0FW5EIVirLzNg0zANUnbzx6kAbZFMqwKX1i4BvqCU4WtakBZD6K5N39FTNanSAzK2RAwfdBra8UewMJYflgbotMYD/55IXCBINmaX/W30UV5ccvhgU25TQ7QIa8j1csPLpqo8s3z/Fwf58v5+Xh++7j8xz++/X9+/uOvmux+q4xuPXAyt1Tj4ot3qnwmZ4HflsP0eM7Pw/X0fPucLpfpXGeUnZf7WiJuSg7sWJ38iXMmQKHBq0xOKUfJW+u6pX0hD93KeMCl/wIwCajsFlUIa1yWDAe/xsDAkdC35LpOxTeMZSMwa9Vb4ihdYMRbdh25+zb1AZWcRFsC9iFPG3UtWvKi+iQNaJrykpnb2R+MO4TShEpRN1jnrzTs7zhYHCQTqYEkwuyCH/OCJnTNFFlgtEFGCdQFCjVZNJvarSSEBsEuLZI6edrI4yhPo/ZKC7+uy4gcnvgKQyDf45SwaVkel5vMlztC4vVMrHkFkEYQnyPd2A5zMWDGRjpyG0SJ2CCpR0Ok3r1VJPPR9ftMEuo6NuNnWREyVc9YhRZ1xgGirFBsVtgds+a4+qHMOmMyo0pb/4Ak4OS6VfGMj9aVbnlEM9apGioZPteM1rWlRGAZl9iRQcYesW/sg24qsSuERfYCBlONqkrkVnNhoMqvgb/jEXrf2t6GOtQU+534NS90CVNqw/gOosldWSlMwCZsy4KN1/U9EHnP8WmwIhSd+smuWclQGY2vfJDajcJvQK8ikruzKUEpv+MmCikXWj+pwWlSlOaUUx5E5VKUl0qHHcplLVKkJReyvn0b/DHqm8licXlBgf83CmMIGO4w7JSpUQoUkyEp01CJoQ5LvXH0biz+dcno/KiySI2MjAp1purDBHWiEqGzKOKRFmeFgAl/kS1rjuC/D5RECjiPW9cuz8kBmxBh2LUAFbJjSYFgU08PHXEGVQsGBFwhOOe4Imdj9gyB2FSRXdKNh4mmQjKhneBz/o4pQydCZCiS2bhDtslKAEd8SHbXMSfYQx7OWoeBx2qsmUllqT4QMOjFwiajcz3VWvCY5S8AP7gddwQO+O2ehyf2sEFrm30SZv6hxD13GssoJHhODXSDgFHHe2RZ/W1Z1s49xNqTM0Kp6cLlBVBXdot/TzoFjoNB4ljKssqjYeAKsARKS1B2K2zWI1i1Wtt5YJADrfI8UAw071n7IaDh2YLvY2WmaOFRg7yeytLqa8snxLK8htJCp8BlghjiFNtqL1V7WJjDvWprcwX2dDyQhlmsxxe1ODbo3+Uu8D2PrUPCciXL3vNqWdLfEnegVI9C6qmH1BmFGU8Sr4GOSJbS0DY2uXIEQvg9QS53IUdY1B6/xYajevFelEsaoHlZKwdfHoPbXQpB0tTOpGoXBVm6xT2p4qhti0u7rfF+H881vb/3dVnWZbvdt6971Tz/uj9+3tbPZVvoZnKwdDp+y+Co8c5zjTsu2qta+sq41qHJp+ejzhE9H//x2/vvv328v83Xy2meTuc65Hc6X95O5f2e6dmIEUhYsErmWF0oG+4XL9CRQgExzc6DQkrIOJxTOakFLFja0dUfLvHVh/A1hCQ8FUwioUIV/dXErJSDhduJEumqPJer3mzEaNv1ljIuZY1NgybXovOCeIQIVW6SAtW+HHPUilCzyZlerwqejbEL3m1d99+W1kAuXkhhsPZXSwSauCxHG4277Jr6uLYNDAJGdRj7RkwlnpdZzRLrMH8xBpwdbgiPJ+/YayOJHwLzfMPiRvF/3yu/t7yyoGdwRX0UE8P6dK7+W7EAiijnRSM4eTJ/IKL5yJLsTrMEbm4OMRWUjbBhSIEbB21H3TcVAkrhaeQdS4AaN75u/0wAZw8VK4qVdJoep8dhPj4v6WSZD+fr6bcfb//5r+//z59//vvn121dM7W9IVa2ZOVzmQpzr3nQz+lwPB8Pn/cUQl+Wy3x7u74vy3o8ztu6TfNpW1dFltn5zPshkIEWRvcVIDV8B/ULSEOd/j4+5kI/Rsy1mck+bcMjrwnPyK1SVKOezcnBckdLRV7DqkJFsZ127d3EiUm3Z6W6MKojGIMMQvdxulICfnJwe4ZTrlWf1aEhREyTw3iChA51aiKovBj0QFikz4VS1lFGpxALzwxBKW34sNwDlTbws54mZGir3kKVE9qcQlZoDIjEs5IYQ+rRnqxHUQjDutpd9GFvYXy8iHZbJ7IYynbY3pjZqSVAkg1hNNR0RyEdR9NKL0c6Q4Mo2ojudkBsAoH5w/o1zdJGmbpizLyMwOyrOtIX00wrgdhLvRqpOOh7SGBseObANW5dLbrHWHiGn3PSEorIIe0MPfNG6TzlQiNYMEhVD4Z4TQsG0xOoC9MwiEWbaV/wBZ/ktlBCjTvVIDRo1LgLtp09JTVFjpHq0YSD/YECQPEZ0EpU9gvVIzCBG5IznzRXCj0ZPr5VNwCrnXsVFPoIlBAp68wLI5p4NFYDrQ1JjrQRDuhkKcBK7UN0TRKoHUqQj3G2k64vB7jO1lDIUDhqQIJ1zlNqaFKLgJBo2JOlrJT5aTpxjOeIDBEYiOmn8cgqq+InMUMeiIQa3YtsicJOyB6Msbs9g5rOgmq3qpOHSw1AbRndlsWBwUe9LjP/nZBGpyfcy3PzB6nhUj858Wi28hexq9kF8jqnlAuAKSOlYKEYt3AF71EQ1xNOp0MtrwKyePk4X6pQd69VlOKmdP9mrnLVxzYw9Ex6urV4kHOa9Tokw3aHD8y8aCJWoCnt0kbd8vJ0I/TRHYlcDd++HZ783p5aCD2qVOOemMywCaIVkFV6d3I6LaHOspZRQr6c8Na6VmHNaitx3WCulCZlkxFjWdzIs+1WS+g5scPno8Oh4F+Uilf0K3jv2CQy47GmSbXES3lHYCBfklpK7ICK/dFJ23lI2C/zhws5HjGH/YTLHcnOBCna14eaVRq17YryU+VXRYA8U9UB8UsdwddtdKkKIMc23LCiqYpKms4aBYbFH3t6KrtrlwBmqtqHF0YoMKPkM4s0eEKQ2nWsukqkqjiZAl70mHLGq6Za9eYJQSGE4BH1o+/UW8Cw3hvwKjTGRl5SDnlrK4lwAkiLbgO0SfgPKvTGXDoKU/JY3CfDBaOVqMN1qvrWOpn+1UGbBEPkFFZOp8BIH3V8SpmJiEBZtF1gJ08Ga0c4reu2ren+3W73Ovx3fTzW7fm11MirX/ec+pszGfLuVJ4GgnXk7/FZjb7ZP+eo44ikBvhxPk3f399+fFw/3uaa9Dwdz+f5VPNpz6dpPs1zxqNl8aqWMMNjzSweTpauHHMWHK0fNNjwgy7s6WhlAjJdDHuiCQrBggobFhgw4SFtCisr9xRitFLFxTJhCbOz8slRKuUnpCLGpyUJg8hSC+86utbM2QxkXryHYYdgsKUHRd80VdkbglaQwIh3SNTFLO3skV7Y28BerIiUWWWJESjVwYvIJeyU0Gduiact1/dRtHX0FD91RW0hY6zXiIxx0Iu54YSikJVKz+Rve7svuiMfdYcYm0FspIEV86PFS32fPl52063c1bGxR5ojb+Ioaka4KIk/lJ8DCfO4yJPYChWNarbg3OndoWotOhi5d+DfJSEd5q7eULtwtQacnYVNLFRPY6Qj1Xm8vg05cUUoiNbfjRyDoqoSg4WiETvUWw+puCfK4/DcjuvhOT3WqtI4r6eP9/PvPz7+4/dv/+e///pKTEt/+lB1ecec5oIHshy20+GwPE/rcVqeh1+35fJ5ertebst6riOBT+uynS/nujuBv6wIiwHKgMtYEVjUPHBfrdciqyVvUFtcIRWxL8GJi5VndaQDUyroE1b6x2AwF3f013pc4VrXUEeCs9o2tzCEalQe8hhsMGbiDi3vT9S9+UOQVEKJqR3hOI7pwqXp3b3SDHpJPzBk6dcVXK15E75QYuh7iTRkTOY+F7C+RniAADYgQVfPc/066egPWPfbK+TT47hyfEYZxVVXy3WddCO8lUdHaojpthsH1wPLBiSmr0erWCymZx5pEpibJ9RUGSJa6w0dTSdCJjCnKLoVMecSdTKmg5h6hfWo7vAKGYZPwweD4gJy6k7CRJFNdZR0jKLcUN82stJwkZOlrb5ExEgVbfMHEckuphK4JmdkWVZIZpNBsJaChjea7nGq8wNIsyWPorUNMKH8AhG6L4pS/6Ph34zHLvt11ngClohHNv0SBBzkMX6g+bxYVvB7BRIAQNJpxhhg0kKTrsbjXlgA9lPWF4pjx2DY4CJpr7bkw0cgqoKIzMMhvbJbq4YLLgrZOOJnMAZlnj1lHZ3Iqpjy8yLCSoKkcBjZhfvAH3ZcJ+nAg2oIVrkoVlIWMnSJIC5lGqzRUm01Hxhc7HH6USRmnAP93dSJUCPJ8yyPO7IAUyw6sPUEHBgWii8kH8PxQD74Arn1/Paf4ViFJ+TkwJswUNuiWj7ckfxM/qsfFG2TqvgACFpp1N+S8zGNJRkjATSSpZIaJJh0C8YulQzupmNpiA+hD10AyTxCEQYK99r+tqQHDamYI40qRsZd0BS1NJ6JHMmeKHD+wJmzEibaJ+jjFGXdUWy+2jK1K02/0GqMOQ5OiCtdKSZlYScT2mmBJ4e107tjsW4BZ049szfhKBW20J77goMDjyaGWjlZdObCY4xHkWDJgKnQeLYPuSYGecqEgxowrlsVGqxBQVH+eWiCPpz15viHFMHHeoK72RnBR6ksGeuxSdSDgq4auTj3MA+Oiaf06aTFiB1IVW039J6RUylzIPCBHxBRtN+UGeNK4cQDRj9ztjUrxwNM0NsMZWVMGyqsPVf6mharfrnHfYj0JsuJfDYs1/tNzqQen770ehqFZBKyo+yqVa8enK5arwPXyQu2ldohGc8nUfiz7nZZm4V7p7BPHky74/BsK8hQNFPlD0FvsXrKopoeBccwGjF20UUyxovhpQHky4dg9P+e4BJDjxQI78u4nArMpQS65vBt23Zf7rfldlvW+3b4rPnPz1/37Wt95twjQQOYOPL3lBkw2HSI4CjVOhZ4rgNStst0+v7t/O3jfJnrlNCUT07n83mq8OFcXlbkPOuFn0hHN/1QJSEqNDwlxd5pDDX8sNEtVszOiiQ34ajkaOkbG6tlv7zO9bwvSATHw2tp+Ld9zluayJqxEgc1acTRR05zwD7M+ruCpXtEsIk7CAjFYpy1jwOU9OF7MWNLvbNUixgRSIesRYmhPc87SFkJ28ISJX2baEJNgeRBxbnMrWwJZDyvHJxK+bPDXlIAk9hzlQV4HgDYEE/QoeLFl0O6CgBEj+rJ85qQBinDYdQcOj3XkaIJ13X7ANbJyBi0Vf0q0Ns39kiq9lt3O6SFWSds2xwEy2wAqUQDUWgVhbLTDPxe5N0zVnUIG18KzWZXrcp0N5wO1eOH7G/OZuVcuqdMK7jBSFXLQHCu4IqCWJkz03G6TM/HaZ1P1+v84+P6H//48R+///nXr/tasdc4O0SXkGM5sAKjYXse1sPhvh2+7s+/ft3er5evSgVv1WNchSTPKTPyM6bJ/coDYh6ixuloidoE0+LWila0pjqgQ6WdxYkZalwklTIM2qVJFdOOOGuganaUUJHUD0nxhS8sUkfONufGomOeqPyVK42cRhRUbAja1CJE+tCwn49U0Hk3pSKjzH68iBhxc72faG2nP8KHSptObUvDArzf45rUgUaEw4IPQiiJUrut7DFFlWgs9h1UdAoPahQeWCD1btpJeVmus8yxIYyN3dhWOgnURrBo9yNJo6f15i9Zk6K1o/CJHMtqJc/5ycbU848YjXwaKXyaSM2VZRWjOUTV2VQEAqKj2XicLQSOmFXqLkxEuVl6Eon1ga9eEZZJyBVzKGBUpDbY7PVQRqIBqLVX9xFfB0SxoAjNtLx8EVAh3eCaqpPMCYcSnE6ioxgebl9PrPW+hYaL3LVZ+edZZv2FuABIVnRxDAdhHWbvY862nGpxZjbepIi4xYBBjY/ymfggLGTogLFf0CU11R/7MSKGqscuuD+yhnNB823NlOVOPRo50dcpGkysUHM8EhIazARqjb6ZrCVfEtn1co6AxFiCtyZ9IQ3xrgA9Up7xgS/CsdcRiI9ZglBYchQV49GCObXIsy9cvd9n8RiJtTs0IQRc03oFskLRc9qqWbGnCihluowKfbB1+oV4za4kDmtX/pB+UcGTqOwaql3pWnK2i8AOz5QRnFtUoiAeWUUtRKoi6xxt4iKjNCWFZNlN+pYzCSlZOR1hcaLRkrfvWc0stM25PNqmEylFqgoqI7s6ghVah1jIM5cfItZzAV6ubF0tgsgUlAfYREz7jyMWDqC4TsSZKh0hUyHZKAvprm/aECMlDZhlOmUZ820vjjBzFGJ2yFxxnIgCRZKWCsTkliPFNNpGb8xwqdE/GIFBQ60CBDkEQqnaSYnBo8ZvFDIcGoQRMM91VnZs0cex3GQLWa0S97yGSB70aFFCmONw2IKODlsmsDDSgP1qe5am47qtgYlinUCfQRl4UFlumQafdCE6loMcKlENY/9IvYD2lgcWmXYzyDVNU6VbQJWuWiLlVVhRdbdJ6VB10XKE1XALzAVxUMajZCeI1cYbtNKqS7ESqHcoOlTHKQat/tUHcnBeSGa7scdamATbiq+VP9p6S7C5RfQohbICIoTCGnjd4/CYpwoO9vrkROIvynDZFvWvyhxLssySc7lbQCuudZaUJIjEKqunlra5wNbfNTnfbVvvVfa8rOX+rut2X9ev5fDzvvz5df/rtvy6L0segfBgyXNkUGZccdZBQCv8yzeajofLfPr27fL+dr6cp+t1Ol/q3/KByxmeK5FYjcKTfliKRIgOaLmOtAx7QUqjgeTHbBiaCR/rLjCrKYgl7yraduEA2DGltJlFqCiGMIxxZYHUfoPxtIvHBB9Mx+NaofMwY63KhtaNBKRgQ0wSFQLCI2toazvtv1LcIA1FhDWA3XTj+yLKJcV+vcBsv5esXLzELGqP9GdfAa5KJPH1pHBjUjRkFBnyVzTLiCeCneRa9/fmm2INRGXLisrrZq3IxPiKu+w0nBw7qWu965xCg8p2N2TfGiC6xWEz9ptDB8ZWSpu3mBYpDfSduiCUiDuYWdHQNAmJaLmIL66wOg5lx2X2v/DrAJjeO71qyKEAS6MVJOOKtNUpTDSLrBLKsoF/T1XwJUVjdahdqCj5xCq8OJ0v0+Hw+PZ+/tf39//87fu//+fntj1u6f09Hs9VdwFgnbf4rFjU6XhfH/f5dFq30+3w8/P2+XV7eztP87Qu2zSt82mqoo06MBYbCzLQuERlAlK3BLuhUdyXULWcCqC6k9qAHnJ7L83LzRiOzQho+znisP91MQpkdEQrkrCSPfP41tAwtEfGLeCwPUjTM85bHmOQjgXkV1yREU1vWoj8qXEGXY3VM0dHpk7CwwngXbkypB5oQs0lF5GIanBJQTJJCnTkawBUP0+Ke/1fFoCwURhFwWOw1UMm7LpR4Q+xwTymGfl5lF32uiOjwKrxvK4evlnoJbiGTKuQipWlIWWdxkd1pG8c+hjRB3VFq0apJZaR7t88JqxPdRFHeSudNLyG0sQOom4ot9XZ7LkyI3kCDaCYzFgk96MmW6ig84w+zgOTgufvOQMIceCmfQ3/RjWrBEb/XWSCcxli60o9bS/H5tQec0s147i4HZPeTUXxy3LPmsnBJgP8LigUCBghoKnpwugwqq2ZTa6Rilo1j5PPBve/YNqQK3/1DbgSpmakQDhe4cGem/h5FjRWF6RcUp6jVTimHcI7XUuszYdiDJAgQfC2fVR5KVxC+Ac/Z0gGrZ1GHUti/+a3vLHixGU3Zkp5x+ByWqOaXgAprNlPhvSvrJAqglB2D57CNeIQ7rAHXo0qPx2tTWENyPwtpqgqDy0xotCiEMMHQ5L8JZNOurqm+ZQNE/K2Qr7uJfneczYGqNWi3bNH80vL32RHu9C6owV1BclPiVFrPezXPbAMXQCIeQdgR6DsxNaDrGATYFziAPY2ttGo5HMK4QCFHmMcDHogqlqxpXqynqiTkAUrMagRyOwjuOBwad0YtnIznjxeQYos2gMXGkgAx6sMqwxC0KluS6Qubo0YwFBO6hIFVNsznHuM9VY6zJanMemqMFJRQ3PCHord4/L/JuubFRye3iUuuzZFXCLKZRo1QwZCcRpzsxSz8lvGZZ+gMOxd5VITJzEEnj0lG/ebaUOEZDgM3SrRxn7TwfbY5vOZlmlo4CXgg2w2YJ8gWF7NA1MN2PJMQyEXST8eLoXcRuLmjardwRq6psC8OsoaiEKSIaKyNz4JD4u04UUDqgodFCAsOSiCCM5r/162TCxN0PnT+LUgQiS+xGUrW+/12DzZOrWZAI5kFCC1BYUAtqsaYp1idW2jYUAXeFOdXnOwUiNaZFCHonHpMHORWfaZ+2h9/xH+w6NpuT0CTConqbL+zDnGj21blu2xcOhRqfV125bq/s2/62PZDl/r49d9+/Pz/ufn7fO+1BEqATVmbERDVfYNzQah14qr3KjM8Xk6/Pbj/R//+P7tWx14dD6fLuf5cjmfM0Wnpl9N3W9VUrgjxJEMJOMlz0Ax3hd7kLi5QtJl4IeYChtkWQql1r6tzrQkmrfrjj7yelfgVl6FRNNtgy3YFOp7XhXD8GJAuiKLiE8O3pTveEZ0BBtQCvF8UZXdU43cOU/EnX6sW0fU9G6U8lA67T/KgcTQpuNUaREDfGqnBhRKDR4klCBXxXvqCFQWQSiTse7am2VkMtNrcEetP6YwW+REGZdGYpmNot9bug0by0IFNUSmmknqLZIsrwAAbsKAvRHs/T+jg5lTMGwSALjDG7wquOsrXfz64BX7gl5eH7IRc5ZHQ8D5nvTRy3ObxNLvrDkC/wZsiWlKF+pdyqO6/x+M1f/0z5V4G/q0Js+NhHDF+6bzXJJ32yoJvJ6e2/EyT799e/9f//jxX//z5+d9277iP6aO1mMakoU7TqX6l8fjvh6WmulSnvCvr+Xnr6/rZZ7n03Sepum0TJUJCGyZYZlpWArlJtEsGRqAB7UoMNQG1Y28KGIZqS56ouFys5IRvUtC5kWltUnfyG/F5Ut1nzTEumQjj/fAwJb8EpX2I9VjcG49NSgCWZUm+bv7Q2C66ioN20Q67Ymr6FmW2sZZIzaAw8rKsjDiNCyBB2AgPNLDjXTBuv8Cg5ktKyMGGrD68vB9WN+wafMKVxTIZYWRqaN/tUUBIMhfm6e0WysozHSYvG6UBViJiJxsTkZ8CQEZpdZTJfkp5vDzQDfB6Jy9kKPwpJaCUaQNSUcuJgogBUItvkTiG2CHNzs0NxhaECCwR4hDaFiPALygQ5dvEoj0+aDF8JQv5L6Cw/AtTTS70mzBYZ1MHkECR2343l5hsVXLTaVP/ueQRWLxLyzQu1FdBMf742Ci/nVASpCScmX5pOJARH20vSYnsGfxa3hgG/ukm3oLUB3ehAz0urc4+lvyW5k9l3CI56jEHmud2uTorzRP6mS1DOpYQ246VM0dDkMfpo4tRyaM/XZCkTWVV9Z2CKqynR2nJivn4+tVkqBSeTBvYkJyStwb5rhifFQqz5SI++CAWWZHkdNPbEQL0jooyzuoDdZcCfahG5QtLmi/PS+MuRnLe2UPdXxZuAW1rR7Eoo26trioyVal+KKf5BJoKTRXPdDTzPMtsYCHAT/S2dFhxAw0uYiRZ999ZG6WlDSSmnSro1mdAlcNPyn3ZAnDSIqZktfXLqpjBxalPKAqGpFcTfP80VGo4DUXbGXHeLKOogpQkp4cNJdloqfjQ0Z12AZcUqAyll2V/ZwT/otdJ2s0M47oLJDWMw9/xhtUNNk8PAIfSZdbMg/iyJW7MMe0pw27vErPZAM8UFbuJNbIfalQjTANmDpsUbPw20OJW+JDWoRkg6GQIR91VLJaEA2V5gxZhhjtPork1H9DrfJMlO4+GHMvvaR8GiN8uFid+zJYlYhDfW5Ivt6ypcAhACyAUTuTWg9csji0OYCUgMMgdlXHKz3wiQJ4SNjDmnJfrfQIOBLDBCyq1/B82hJbVSXuUqD+1m2Tbpm2n0BfkhHH9DEyy8HWnNjBoYTTzKxaChDquFvOtu+5AxHWIJuaZKLOL7KPnRsRQKawpMz4to0uCwqsa8XJgflwyFjx0kqCXaY8nBvrlXUSddxgiE3bnlhshlXiVaFHAHMszioGz6trz8z1nUK6GJnYyYzorNZf5pb1S0q9pKbgWUUxx3KA79vnffu1LJ/Lcue95DybyHly/1nLqUBdnRtXA78v8+ntcvzXP3/8x79+/3ib367zx/v75Xp+f3ubz5e5EsGXaT6X0W1Jg1Fk6LaTh/ZQkEsxud6VhKOcpHWzlgRSWzHRexwHrWH6+S0WufwrbyJPlJ9tiPhgVZBkXgazR1mE86SLPClnVCgxVay9Mf7e4kYN0r1zTFkbWkWpPjTOoPbsJAfuoJL7oWzNEowWkvlLbAd4y+WmTTT8nocn1MSLARS3p5aZ3rYIkFLq6SrAvmz5X7fONQf8VIdOEkhrXubIkLBiLaTOcQ+kwHIxY0aBtDABX/SEd7TY6FiksUCur6hPiUzLIrKesGS7xIi5tpEalQhXHXCUGOpStx8gqzyhgYFD5QFbcPfoKbJGiQRQhK3dlQfglrSRNQgCM0LrKIA17PKiDWS2AQmWJuGM8QrQAKFtpoekFKAU/rYej+fjuXJoj6nO2b5c54/1+vvv3/7x4+O///j8/LpXQ2FsPoV3QkLlM5chVlMOb2t19Z6ez19fy5+/Pq/Xeb7M03k+z/O0budtftT8h5w4mrEngITRdhAPMly64H8vdvc+gzMVm43zloQYynsSKx8rOi3B62iMCBKn+csI7AzCGLkgyxc7ezxmihtpGmZuQDqeHQYIUqoIJjaiMehGem4wqwZ9tlkyeNZwKg+FEF7IBW3ej4pIY8QaiG4ypSmUB2Abx1o8puRKAR3neSjpvIbXEtdiwYWmboOE6CJ4iw3HkSgdEqqnECs/1ATIRlYSsllNjSZpUtJKcDEcGAtfyEtt5+Qgr4yzYUgqR1JnbTzLUOCAmTE1nhXHpAzvJDAiUxOAI1reqgXzA4ZlSZpknZmDLaMMlAJWy7kdbtRNqmtHgqMtDLBCJNcsp/Zh3phwh7Vh2fIwol4Qo10HxDpSk2Y69JsxoOAwOij53Srk6LB/+GL0Fg1IR9LgbTIqwocQocyyuXgkA1iQlSy7/qW7VMGleeelbgKSQDANWo2iL+WIgEAVKaWHCe3zwuD1F5CMVySfcjLxIIah8K3uh/sCq7VoINmuEQrh1cmwWmlf7knVymenIZOcB2muyyhV7w6ekqNhPbgXVnfTj8cjJdBlcqVpOKOV2iLHJS7NGqZFH0ljHbwfG9MbrKrCljzMzPSrDk4MBdFWRu1EqZqlWV0Q+QV9oJfKYRsxRPZG0F0MCX54A1Q1FHoSAyIimxMEQAjDmqCCHMhFba5FCzfQ4DZlkI7R4zHNc0mheAmJrnpRi2KhJImMHPsxQz5MO5fxTAEJ1wKWSOSRSpWUUDFOJhsU3AyPoZhnxL1oyGt2ILeM2+/i1MQg7CqopFkkZoRtgJjb8VF5GoQH0wIlF8YPxaVViBtYuB4n3JdRH5dR6yTkBQnGRIgKg8HUfh5qNwi9vkn9z+tYLO22DErdLXJYihvNZSnliYaSx8vWYmdxbkBr1XGxVGblavyKZg3aWpUaWQv15A3P/eWKA6wun85/8fHcW/EgBf+RQXjoGXLEUVA0bLfM6Z/6NmebDV0hbXdAp4qFYBJNGQ7W6znWFRvNS7dnDcSu11Ln86qHMD1BigopuLCDGvmF0E0yNrsGF2lEJ5YUjRWftGEbTAHhZtl+2ODhMEXPRIFbGjMqtaLbVAtSRFKJ3Gq3boExuB+LJ2t4ESewvUKCUl4EJUZV+y26ZYCfhsaBBATR32IcwaxdVV1nGw8inca8A8CR00zf77quNfG5ZkDXuLRlfazr4bY8fn4tv27L5325sTFOCWm6Udf1arC1K7lYHSXP+fi4nueP6/T9420+Ps/z6f39+vZ+uV7frtfr+XI9HGv8VTnt+3Arqh+MEbUoTvGqmRWIuPCT6AwWOigwaC9kJHNFGbYC0OJTnoCFtdP1i+cjUTcmmWEBi0HmLTCxlIlh6eGMZSbZPiQIflwg16qNPyHEAkWliDMkwga3jsk12Lk6S60PVV2+zVFVoLe+tqiETRHITBJJFjtMCQkheQbwKhaRDu6mHL0uGJ22ugZDfThWwFm5BsnazhhBQ1SNrFdW06li0Ltq6UBAdV4SuuY6hao/zYWYW9lE7t7tJlnCY9Io+mlQo408yEC813eskFe6Kx/UJw+NC5qyxFr+B/PxV/MhjPlkX8H80H1gBhS5tbal0IalFuSAQcT8Rs7f3Qu4HMcDZLgFQyWCZJ8YwIPL6qxA5vSsqEedEne5Pj/er9/fr9+u5z9P9yXHUhZ+6yzh+B9A6nGoucWnygBvj/lxnO7L4+ev+9vl63K5XC+X87yez+dtSycwxgeh59SJDL8xAEokLmbYLj6UzEhAkbUr5BYuSAUtrNJZrV8APGYVpNwBHTQAlhlsr/frOQG8TMpRwih+/a1zmfXXivpUVCu9keNNjQtIEfshiw0CMm3OUG/UnETUT615iay8TR033nTV71JsZ18MSUU3sS9XCBhT+IuWd8iT7Bq4MkaYpQuOtsOQtzIWVoCpdcXiyBs6xFSN0xITgONeUjlskycY13ocMscH9e8wGsAs3HRqIRaFh421dvNclSZ2lhx3c5AT66XErGKyVH90zAgwDKD0apJ0y5GjnPgdomghVa/QgJRwggy3X//SkYs7M5hbnrRcdJzg0AtXW7TVIRlBQ5Yf541c5khQUd5mNi6pOEpqdFur4rGexBiwNpgBOZD7G/lLAK0+2ucdJDT+aognpNC1AFmNOaNwH8/L822O6+0p/fqFMlImk+hEWIMQHEoeQ+Jp+CmrZcEhhHn5WKwsEx5q8h7k0aRCGhnWRScoubJLo+9DvChbImCTJDMGwSqw7tJHiVf1WB9zzrGo1swiiUxC8vQwmEpBZGVUxZ+icjVcymHL12ktKcOK+adpB4osqHdRXmhsLmwmJ7cHEkWGpVQufg9VDmii7wUeRibc0hYyokxXFGN0EE7+PxApFwFOxZJhikCQx2DFAvD4P0ljgxrjuO0bZCwO0chHRfOMpdJAVevg7KIYJTWbLqG3eGi+29Mxq7y32oPS49LCsPZXnnSVo3akR8IZMijBA2RWxauMpCGDdyLOLWbknDycHTef9TykLe4iZYrlCGUlDnPK2T8xoeudwyLpqb9dVgKtE0qGDAntKZZ3nmlWVMykVBh6CD5xSEJiHJqSMbjBS1o7Wu3S8i47EwAj/ph0YhqVyT4l1FohT34krl4J7MbfWpJISWXvRaYbaMVR735qJV8BhGbjrtUdOkvZ0BuF/i2PJDlD8czgcaYRAPzwaaGDaHSsxhZ2igk41NnY/IG66dkVPXvZdMS+TeSIYX/D0hEf1IZl2dUBejxUfM6apWR8uksQoyeqUJLLwcthgYrmMB6m1gtUpFgrSevlFS1yiOWjuuHGXgBFWI62+eED5ytD7OPMMIADRNq6aPxK/CGYmmKVZhSLP5/rWl0VVsDhBHTEbppRluFp6n+IIUWP91pkZVLmVC9nFmjKVQzUJimi+1uSJOaiKMg3SSpSoU32uxZWnX3rfVuX9b7Uib81+fm+rMvz67be1+3za/1Zxc9fXzVr8pmDUmAlJgbHmENM6vCEeFMLeJ6eb9Pp/TL9+Li8XebzueY9z/NpnqbzucZgMfuqqjXoniV7koiL3b/NREPGQgCZMN3oCD1iqsopw9IbEtq0SYo7m3zzNOLdzGvowWneA3c1jo20tRpASY9wvivQDmNJmj6aWqgNEym5noRSG4tx42ENemYxKnflkms4Hglvk7xCxc1cqtWWXZ1VFZA0njAghRVLfGNsezhlq4sRlu4opOt4WDRH3ht+VCdyaliH/HC6zG9SeNEcpiWr25OrhbI3uk8lC0iwN5KLuaEzVE7ejhmgIDZhbpWhrRxNB/mo5e9rYEI1gX6PVvt7XnEouBSilYnQFKFnpQD7WzWdZreenDII302R0ivj0fJ9y96ROuKZPuLv5nbDNk7WMM5DTymlS7Soow/tL1M6F+BUc2MNZjkfp/V4Os3z9PZ2/fHj++/ff/7583ZnSAQKEpnJemIUbZXom5bn8fw4rMfj19f6q3zg27eP95okELYNr9H/LA6HFGvjUyHqyHEZTnWeKYZqtVEvu+v2yYGjbgxLDJeGS3paEhFtP20tibJDrCqycmc/TPxwWgFY2ullgL6Xl5+RimyfR+IMrQQFLlLboHSvBmRenbnyFJ1XQZ/Xv0iSXj+EoDzp1fo3mmhemavKeZLvpfKT5TmgeyQ5tA7j7hZrdISKZ8YwDY0h3seUKcHh65hQk2dyc7rnSuM9J5bSvEHasa1imR5Z3qCKguTK1tEwXLSn1/S+W/Y1lsLR2I004UN+aGnHNGCVt3YZzM5/yCNYsZrZ95nku+jABxZ6ALieXN9FjwR5ZB1DVFA1UCB/CCXtpWI7+fjYjpKG6WSdBns2QNRQvR7lk4hkkaJzRndMKQ95RYNdxbQfU9o9Jq0bvbfjTkgZRaLtsWTn84lUi/UlGUqIPb2IOdVK1MSPWiiDjQToCSXD/v0EZAIuWHyGzJ2tTzJwfsS8wKsGgCUwTDXEQAUT/r1Ng+xr/1ueALOypT2rQBaQS3JlZFGXV+erF8IurVrern0AczF2OV8YIiJHXmvStygXsYMhFOgKzMYEOogOVWbfEMbxBNpdGomzFl3tuTbvsJWSPpatkAKF04y/dpim8dkOh2p7rAbPKl/jig1rLJT+5BzL3SoFBwP5O/AzBUYrXzzxlqjJatRmDJ9BGvLJ8WmTXa9TRSgtQZOztNYWRv2V9Tsv8DJWMDQNX8MdygWLIhA3wtiT/gIByV6tEyBMuFUMxcmzkG5EuIWP3SeBXhRvAUmxzIe1myramkqgFnyyh2Hshl6pOUXCwqRAsgIZbq/lBVpCpxYMIH1g/ephqJgCxklYnZqT8OjhkCFstP4SqiA+EFsw7c1AcBdrQCM+J9EKOVtSEcdKtA5DPA8lI0BW3lVjNjONXabBWKTmvy6nzaKDhW1kIGdw2JrsMQIa6QmYPOa5GvWrJr2APHyJpv4Qx16S0Asmz22POJxPAXMbPUg90xOdE47J5zjc/FvnAdD60bodq62p0+N/uDaYAi8SORO+qCbyLuvB+EvREmWogXkRCwe6sDgZFtM35xy2khCtRqZOpwlYoVQbLr33BqaKUOel1o1MG2KHNGn3oquLfECn7MLu2BQCoWvhYDFDuQRxtMwhyLGcuPPJcHKZywBNEGSO/M3k1gomVjyxTh1aD8uy3W7rr8/K/f66r5/3jL6iBoBZEczVr9xOLYv0LafGn+rPx1znHh0+rtO39/O397e3Sw1/PuP6zqHEmhkdlqrZWUDaSV0plYfGYhhmzYFnsMDxNiA2bFvOCfFly8waGf2TbSM2SvIgc/IZdrOxIkoBpO1QYm6WjTTfW0F6zYsAB797sGng29VqGGHZVNEAw5xi5b/4S5xGFGkbyaooD9mkA8iMNc4we6kZ77uEo0sw2sEqzhZKFTyJVWubQc2RCv/2tgKnqV6TBEveXR3aPVENkxFpDc6aVZvwCIWHVrPgVK5GkrhJ9Vq69rrEZn9MAxeKyKIGhFvm5N3eSI6lLX+KfUBiNymYHBwXp10q8YOOm4o8Xt8+U/+hZ+UjFM0v6N2/0PsdlmLIDitijITLst3UAEa4mpUbd3Caq+Z1U+LrElhemyFVITzoUNS4PNYDro6nec6Ii8NhOj9PW42hO9cCP74d//XP3/7975//88fPvz7XLSq4yigj/cZwBMzx5fFYtsc9kzzm0+Hzttzu6+fX8vZWpSOZJZ+Ru3WkQZUxV5Arqmm5P6ZifgoyMTX4/yCs5r7wYisQ0CLo0HpgM/GjEgc9ALxRZqKGJfOFQGldW390LIolvGgPnIw8IYPWIIqCX3fw1bdJfiKbRKgheyaeNAJAQasDyRBBDGtjDtfJOj1d1Se6b2iSlYVmZDg2w2bx9+xDJhBpvXNIK2DLYzRVmn8HFiBy19+Mk89MO9S5hiScM1dCluOuFPO1HUTJ5KPOkumMhWY7Sk9RDLupz7zMXzRdWmc127jsl3W6/q5xqB0STm5xGrqFSwKPcXuT36Cw8Xc5UR2sL2D+E1aU4WKRekwOAZfgVekMXjqblZMUd/OrF9uiJA7MqE1vc4RBkhBVzktXw4n9mDWBKxGYJB1pOMc50raBxi3kyDaJfo4eQq9QtI1KzI6gDe2Zv0nR3jJcWIjQPeGX9k693Ff12Bs8q4GGVj6QZZf32d+7D8jIe8eyBZMYb7+3xV3bOt45zEX+LHsYi8j9ez2nHPJqa2NJ75Qck5yS+O2sL6BrIcYGWMiw/I/H4ywpxn4i2zziDfIXKc0OWdHLYUhsJNnD0wSlaOZ2q5rY6GtFxgAUHAiDMfsxk9KyRTYf0CM0hJRyrfvgpbSg6XTKiTL1XgpuMxszFbB5bXIYYWw0fTxAXRhFJ4P7lDOQFYVzoe6QUGidXkGbrducKtD3aYr6G0miUUtLYjmWsa19LClDpya1KlEDJH6uoAp9EIsDdWCt3MMztzGpr5pwEJLKX5BvuIRzgfgVVGSoj7o6FMGgRZQG43eI8hBPtFbKmsWcxBtjKsxdj60kG/XkEloEJstWgO7MhdwiPbBPJmsdKc/nz7ZBgykiLL0kWT5bjcMZCpXEIa70nsAeBWUPbh1QVQI1s6BhEWfj5KpcwC397Pqzz3hsV7Afwh4tvKzvMolec3qozmb/EUNFTiFMwG+OuLCNKkHBVGQUqRdurOo0ZyW27QPhE51XvkNVyPlIa6ifHYWpq11IFSW52A3YF5Y0p5QItWhgNXsi8hWPLeucLILFq+cRDH7UQ1CCttoM8CMr9k8dqChDBHqgJjSUsMVhPlPEGDn0cs2gOiRFoiQEbyAo9hqcGLPgLeFNo6kRQAaYULDJpI6m7K4ZiZAs+oeua+o7g4gbtRavwWeBHFsgMDGdqiu4voR9nofHWjje6s/CdjUFb4/7ut3u6181+fn+19fXvY4GpgYlpRyh+XKSEqVPaqzafdOatdV5SM/DfHpep9P7df52PX//9vb+fr1ep8v1TBNH1WDmZMVBqwBoy5m/OLEeVFaCDSHdfk5D3Ckv8i09BbRte6yaRRMtADCZeQI8HxHMKgj4ifGwmvOHogQh/xQ7vYh6hfAg+g4zY16os9QckFb9HRGB+LVYbhcKVL9UoQxaO5LBgsneeSpiIgSMpIyoH8K8qthXWjA0Njl8/nCc5pnKHE+PKNbJS5dH5QNzhlX4VQFk+K8ZpeJIAGroMyK/ICVSoX5P9rYl1n67zF3vg1n6OcZnd+S6FwRGf9LypAWuu1NN50pZSTmTL7FQWxTbA1e00GE+LsexGYhCmOTGkYF0rTYEUbNgJ2QiFu7VZ7BCDaz+wYsaZ15olnibsl0xSSR91KW1TUVIN+vJZy2yIndkpVZ8CnourG/3TtNjqeM6vmo6TI/5OF2247eP93/+9v2/vv3x58/KAZ8yyzlnN4wSlazg8XxMh+XxnOvr0317ft22n5/3j6/l/bZc3+ZlWbKQOnOpymq2yEKoBtI2VQPyzHUp89v5gV4aLgOZIiU/klTbFG2eD+qVkxvw7cDA80KtKYinw2Axenrak+2C4TA06shz2PYPz+WfLi4dj5ZQ7fRyM1oNSvIshhKAraowurtVKkQqppxyONHDBQApXh+XpUPxiK9cKYEBvTBnO5+9ni426TLOlkZIojaQmhdazeeR+/TZkL0mHGCMidjgUEDU32vagA6xlUSKU6EPJuLFcVVJeR7EWxEOCL4AQMazpgbSKqyZbW6RUpfySLZMV1f0KtGKJrVhgTgb3y1LlTlztHRHhgjCF1BehKrBAJ5ZhiufGH3eo2kN+fo0HQzoUHI4if0YrhBXkfn2AzbJxU0gq01QP8dwskgcSeQb65dRImUaXH7fc/tDRNKGQowbYVzcEjRek587GhSSy7e0zoFNd9BPwcORNnOmtLOBeGYDOTvKijHyo8XCxRr5++vqLq6L58U4DKWcm871UnFLBa9AFtUljrFoCWXLan7TSsGuUIbkAZgQPAHaGtw3yCivn/fcZjMJOgapEobJj6meWkf5dEaCARpD+coXUuwIpvAAv+eftPv6d8CIYVmVA8Pl5pnphqVoMPJnWBVZm2Inj+qRekiBlkDZSL4X6jvMwalCyluzVyBCjwgWLTsmD9plGy8alAPiC/scydfyLwySpzDtoha0PdYRFEfwRDUjXYgtvEAqlEbssPzMzYMi+HoI7fG/jlMQO4hI21VVk7B8BmJAXQtABGRmFeIP1j+Zw867YBCDangSNZkm4fBegr5oFqF0Cx43x/5GsgwJ21zQ4i1z8NTDbMiqtL4mNyQ05NGXeQSuFJtq9ckdSqeENNQ10r2Qy4762GcXLAbzK0YO/TXNTkpJ4jKRTZozFMMrgSRMX/mq+O2wimoR56okJQPvATupoTyFO4228oJk1Amp+grApVU7CJ8o2fHw2Czzb7XXRmf+mv/nk5Ghq3+qivlYg69YlTKWXtr65G/hdrxW2S3+ObIpcwsi+pMEhgBbRIZNIAYYAP6FlkKKiTXx1F5lk2JXczFWoy5T3cfrY3PMVEDda1LT+zfoBWmDOTWkr6SjagBYrBCjmeZB4Z73RDi0WZiwgRFJKiF5HOakfpEbH4NRU648ZS5fxUowz4lSb8/Hsq33KoRe6s8afLV+LdtfX7evdVtG0jtYIjB+OtRw/5r/HNOr8FCjGapzYzoertPp43r+/v72kX/P8/z2fq0sMFmn2n8eszN+tHsLNxVnFITcJOYbUd1cCfsLWNlTJiOyM54ICfcTQJ4Bgv2xrc/7ZbpclIqJMe+OpqkFECKUzFGVQIlrxtMG9bLWQaOsUTMAlzwP8WiQxDvLAMqWkm/PLdWd3oMbaOeu6opnNXOvS0IUJpfqmQzhtxxWiqxOhwyqqk3WGMg6zpfDAiXu7BZuFBBCFkhCbmpWuK424MTVaPvYmZ1MFjL1IKqRGhoDLa9war5wIUOMs/jAuWJglJNwY7uBEQZtcjPbTMwp8tQUjYtINqDa2xvuFmuWpJK9rLIHpBHDGbL9ntODUJdQAtJc2JHktoJxRgzcZLPWH+lmNJZGcm8QrkihB7u36LZZgXTdkgYNEhBTP0+X0XGajo/zNFfRx/ly+vbx/vtv3//jXz/++Pl1/3n/fDzXQ01a2VIqkvlHTr55HJ7r87Ed5vVwWA/H++NwW7bPr9t9ebsv58sy14Dx9THPZa6E+tPOkxJ6+UPfQwwFAO31oaNyiRISvz4mBy6jmgVl2hSDgGs2HKzK+yMWdt6XY4giScGIGMjeBLUI6F3Iqbvmg8BbtMjv7gfwD4JqknqtZ22xNmcYJ/wPWZAbGOpDm3o4z/6EbcG7Hh2KKN8QW8y3lNoVYaV2Bg0MLKjcVQnxqrZihtTqsRr+QOMdwxgrzG0dhmgybkekY5ceI9e0/FKRlOLqVyGQjRm/bniNOnUIZ6AM1334BS1Q+0nSB8fKxFxmC439PAvOQgJDfE04mE165nFCrOsStkr43JlG73AfQKDMRjEmRQyWBdnYU7Ju45QOgiYAi7rZnRyhGJU3o0/cMIozXDeO/aNntH5GyLjrH9yVQM8+pAAkOMw0Fsx2BGp/hfgaxMkrtDnkrxeqGicaxsqR7P1Wf7tt7yHRumtahuxkLBRPdl9q0AAUx4a9BsnlAru3mPyUKVzgK1zcFt4Q0kQk4PN4JDHwBm/3/zWm3AmeBUCuBc8gyNnfxjYg1l5YNLhQz6dV8EmILDnPxHQ4GiexGUNEUG+TGk9quqmftWw+apuTxxxQoIja2WjEZBl4HT4JulqFNI7zhnSVl8mVtmHpdfeIoZz4TPkyWxiPaMLJAkwtDiGe4XttNjVBQ4Akh7CNm013tqxP4zyZHXKTlOLkKdQa0sIhatnRzgK5sFJz4YKREsF/zgPwieq6qgcm9hR5BrWN4s+hJBB2Fpk3u2UzyboAjJgOermRm9ia/HSwPDSPUYXoKsKtEb640Vnz0AUMwxQZyEL8RrLikYF4KUCCyUC2JRTcypmuxxmYSNSnCg47q9+OU0priRCPWP4gBCN/cCMIjgasYhicygZwciusU0E5/Pe2FAkP0VOKTwA/cgAm7QroqjEOcbcV7DbPiivMUWPAU1kQWKVpq2lGVQhOqQYZlbfhcnoEpBYMcURCRzvcqq9vu29sn4wcGgvlUhAZRyjjRyGGs25Ifm5IyoaR4sREiwoaGnztPqpSd1OeZVsZbV1kI6I4ojB1mCzOuInClHBjRTJtQedJqt6igpJhbrDeQyaWBTL0pZdbi+KEi90IU0ZGPnDeuDJCCQr9SzPt4LVy4oIEcxChSCLpjO2rSOKft9jpTp11qYrZAl26iOsFj0eOP7qv63q7L5/39XPdPpe13OBqzkaksZGih1BaPZH0b0mMrAk/YDod387Tx/Xyfj2/Xy/XSx3/C9WFXhg6QN43U2Lx+8fBv9kCHaeKIHUqcgTqbFlrvKlTEalyFnp/L/kDvt0yHfh47ojnV1c/uYfQRa7ncLgdZXSZQymNG23xvmQ4UkQlA/O2AzBMzExwMbo4r2iB3GbC0BiqNgf+A8N8VahjhGRuie/7WNdtW+s8Z3aYGiUbv5NRXz3TTslGxqFUy/lQs3sPzw13eyvWYVa0dN+Bv1oSmo+4LlIWRcZX7JdGYujNFaPFQso8ln21qNZkCSMSxI1+oJ68IIgP3xjKM40PZmKCRNJg5C7R9/IHG5GVEB3oFc1MyElyUSCrcXd4oGC6NSNqAZTCDcGMgz8U18Rs0Pu6W7mO7h8i9G6ryXVEEKSvfcjibjpLLhrczSZtIyIo8sD2kCIQTqdpPp22eTqnlXubnsfL9fzt29tv3z9++7j+uq8/18eaYXxIJtrnK868PbfjcZ5PRWHH01bO8PFrWX993X59fV3fz9d1Pj9O82Fat3V6TM9ntWDU2zEWaLlPXZsYLuipk8XqkOGic0Df5HdTyr5lhCyWbkFS4/7laf5fUhpVIUhILyNuqBzTqGuikDSjCQW5Bs84t5JvuxorT2upHmrC84yyMxFUQ1uwI5rYuD4lBr1miMcXCBIa8r2gRxvmCR3I5hAHH2i8AG1CztNZDgrTQILBv4JLE2SvLlbadnwGqyP1W42p4JPfB//oQbFmopE8pU0chMGg0AHKRlt57SkbfVRnOoNLYAnDgENksr70lQglhHgglKfv+rEqX1D/dBQiSof84K15/qnoFxHe3kPWzGUCrX2WFBjxiJzbAl7tIGh3f7B+gpmYEj2/pD0oda3g6gIpaHsgKGYJahO5EpkcpQcwXmIETZ8vIoKAguTp9aZg2Gn5+ql2qRt8LhqNyCyEAUuiRORiUb7bqWpbUyyyrQ5WNsAY2g7XKiRZepu77K0FwajB0Sb3DiSjErWP6cpexNnghWKBbhvR8Gt9XV9j1LPCNllBPfWK2V+azK0clH7ao9R0sajycMg5wGkeKDejiadjigAo8rkPqm57L3ehEBp3xJoH/+TL3U5pxSUomX9WuSEwus8rg75RJO1wxm6vRdUNrckHW9Q7qnqzhh7lxproW07jOqU5cPjzTPxjjUlreGSIYQZivVS/wIs8P9CAI6DdBGvV2PTCvSRzQA2QbM0QU0DVO3Qjck/SwU9j6AJYq3o5ZnxMpym5OCT/IFNow5Svtl+w416SurH/VPofUiw+re9hcrJmzZisOBJfwrhXDUsMcs8ySqm/nnJvmWme57zo/BNoZ1xX27uIQl5QUYY2WfBlmgGaYXseQFZEa3p4yP263iaL3Nl/k/q6BtCvAvLsoKUhJC0joIZ7sl8mQvO4IUyk9p2BpU7ewIO8qvUND99jHIkiRaSn0jGGL2W34ersOjE2xU0GbKbzJDaoM3kCh5b3YZkcgRtfsKEHRNhf+TRascP2rce3R0dDY+kRC8VcMNZ1Xkacttm2AGbWi7qUNqbbwujYB2qpgazWhHhgdLgVkyW3P9aijXQ8hiRqILyRaazyOM+tHAaue7OjnTAEW5Esv37hU16oDYCJgx4eLW9gdGe0AdUh/TvttvOOW+rHRVc33hFyLWHzGdVCNaSBpvJkDOvc33Vd61jg+/K4LY+v+/rzVm7wlqb3PQKRNn6wHxatfC/abqoCt7KoL6djDX9+O79fzh/v13PJllO1/53m6XwOtutEneOp6igJyQd3iWjBQI1lDH5g15TFloTpEHMt+ZExIBc3SqtCggVSEJiiBEh1JZjeB88X13kY/+8H84eOmn6tjxqI7CdoTWF4I71y9m1kGnK7+ZjbWztlxfJNVa0i321E3CmkIJf+S8OC+bQ+WFc2k9hH/X48rH3aVNzveTpO62k+LYe1rOLDnOZsjjuLHRiG+/va8qeerptWJmiFmaljo6RRizH15pptGnK7VMxruL3NAqUI6h/qV0G5hF1BiyhUxrAIlLSDXhT9w2DqK/na8UvqPs/ckkTUvFlNZ5GyI1m1VR8eMm1S3sgilM0+B6xGGBIZbMEt6l+SNPKdtMeZy9GJLGBoH0iOMHkvSPdJvw3BQuVl6JJJGHFHn/N8rJF17/NfX/Mfy/K1MJrhVDH/Fv454Kxmxj9Op7WGIhyX7Vmy4vP2/rOORHq71mHzc/E3RX2P0+P4nJgqqRZU8PZjG3+QnBXyLW1EKBbRsOnREwrywfyDEvyF9zQAAMiOKMiyXy/Q2yzY9SmCznymEjRX1sOdykEsdP+htmUEHFvmWCwSWy+Hge+Hx9CTGQuQujPMXnMkbCEWP7qPQMwOo/oH+0fT18ETTmqU4pVs/Iq7269pr7H9/Lb75FANgJBDyFt0iZT+CBamxE+k8CItrcOBNIJWN993Vk3LgzdngYjBuD5YDKMUQhuNv+5m83hts2QUVNwd4+SxDxP9H6ZsSI6N7EXbiQvSldQw6OOm/d7JJpGu+ZMZvQVseoObIBiCE9NRGZAFa+1zh4hkgcNsoRhUyqS6OC/ejbyq+O00L4gHd+3wjZ9WanoHfC2quyxuj8wGjJBTCty6Hl2o8op9FZq6tYJRvxnQQ+st/sBWY8Efddku/CCUV36Keawn1QNx85zhr9PSbBKYx0NcxDmAeT+YH4xP/fky8zoy7sXepSdaR+e0yY7gOj6P8WTBJnSlqwCWzFbWLdUwwrT0dsozvRGqovu7937IYWpNvPlk6NnKFQkfzQLKGLTa1Qf8Eu5oxRDpgPHaEG0sv8pMKyhEp5kr9iOXwZdUxEYcFO2bqcBGR0GFrHODbWBDAgLXLJhRAY86M6DleueiQVO7iFkpTSl0P7oofrzYeq36lpQiIHPtyfWTP4/Y24dR5hpHSmtisNhhSTT4/bQILc4KsqvJPZcUYNAqe0SC5e9tHBxBQYA1bNZFqdlFK7liu7BHW5lwGa2fdVxkrCqyr4PsI6klqsCf6gjW6lgzFsagSLQoxNyTrgdVKAXyqP00GkN8bY05X/GQk6xDiqlTIDdKB8iQy3TqDqztigT9xK9d0AgCKL71GFvi54a3IwPJ4Wq4ZwJ1/8gwUp7IYiVD2OUJ+cbJGyoq2LPi9TmZ7FmpodEvB3PnVEcc0/yEDOhEDWQS4Qk2WtQ5cBvBphRLH41smpP66mCJIlFG94e1zTW1rlJmKoGqRZkSbZxCsoIaLlHtj20j2WjcurlQqxf+ki6D3z30rtGUEtQqUYssDWbIp4GORNZegmhQQwn9JBNlgbxgiPjxdjelqGvaQDhVqJsTrZWO6DrJO36Jc6VzhMaLaGkw8VxEcyE00bo65BOzbY0dW6cfbVX2vK7Ltt3XbVkLirdlreN/b8vCuDB8eYpvA+zXMXtO3au89+H02M6n42Wa3i+V+61Dj2r+VR0SWgeuXC7z9UoV9KlGQM+c+1queAoBFO19lhWT8J36O+SzJiBbFfhiE1y6d9s/0QiNG/puvLnDJXWDg59QJIQgX3SwTizypd/cyEMy2nmjNewThnuMruCJ6uwEFcyDYWQod3DMCHL3Hq3voLU4RME5mxXDSItv6tjzLyMfHs91edxud1VG+hhredPpuNRhbMUTU4Z5zIf5MDmH8HF8VtgnRWJU8HBYXVbFAafwUBRsFqZAoP2+Yr8hlymtLjm8oDs7kAXGyLX8PKAbKSWy2tYSEk3hsmTLzLRJd5+AaRaWlnR0VXe3adU8NTC3Ey5b8M3B8v5fo5gr2rhWx/sJRqe7Qwg4tm3QXZNt/xgHhmZAY+ssF9KPbUrJswF4PiD54wyK9ub2P3i1Rx5g+PcK8HcJaRxOU6KiJdtP2+lynb99e/vnP378+vnrr9t6/VzPa8qD6kSz2lhql2JAlEH3XB7r6VHj7CpqklFYf/36erueP97f3q7nJRO26v5ZDyQbqXOVBqzHj8KzOUNLdHybP8cUGL0d1Nse58ivf7ezhmUw/o+N571Box3OfitJyIm5iySNBn2v1rwTd0mQ2mxjam8v/mXG7K7LLJdocoqv/HIVEa06b6mNHKRElo7BRqlXnxo4WCO2h0Ui0EqUIE/eOtZjXre1s1VMQ1iNxbeeomzeMskcNDI6axrMDn/N35ulMnKh2XbY0jAvNC9bQaJusPO32PjRgav7xTJscxorgCdDEUAV/LAI2Moj1ToS1NUiocnBd6lnjIDNgMLS+Ja1hnOcSWHlikGv+AEa5BJPE2yMjg7K+6EQ0ozkwSmSNaBvtsYZFuS67HOsweEjP8/izUSU5uDNRk+ycYoCAEt2ivxgZUGSLWClaHLw3h51Eo0I7iy2OagRI1TcWUtQVOvunvfjYn5YuBTOC0uqaQFCnfvThdx5KIMbYe2AxBkfjH9yYanDhUopxIAdWoXSPe/zBqMquNtm2kUG2xvSvfm9LnjZklMUO4oRHsYcDXyh5I4lyEGnY50DHPuC5CdWcve+1tJLcXq7TreMSAXmnrltb0GlHCphHDdF0qzCUF8wlKA4ykmWQFKxuDYV5cPYnYjCeptzvtt5yNwdPn0+NubldjeOrzPKrTyFPijrBCKE+nImUEca1H8xMRJ0akQMksuvcV1rqGbg32K1Q2kJWcVKlszgNjz3rEgbYlgCY21qiBwbnkdNU/VsH6v4oy7Gee64E1xhXhSeQX6ZkbPcSSpsrQOY7ahkURIeRh42XwsjiLix3wwWKqesurtzBY1cuUNrCKTWlxqX9Z2mUvtvclzEbidfbSsPJWdGcSfMc8OLLaUor7OzO5k0oh0Dg4Ox9v/3JWLJWKzlv/3Ni9fXpeaPnD4CaNwzLnlBeZT+cHcEEnEpqLP4QBlVRtrkqWPdU22oAPVWrscI9cUhhYyJa9GWpq2aPdO5j2IYAnHfLzyfXyB41ard3/QoikV3BughFuMgGHzZAnzUYILR8+Tyn/sQIG+HugMppISK0OnZQJMBvc6O2BHcjBsOQkkYRmkajrtRKpN3mZbKvLYGm7gEEK5KYQZ5QO2vI17gqQ4SqtWkMG/kN6qdo/mGTwK7ATEOcWY6KKooM4OrVrZafpfl61ZTXO9rHXq0rDUV+mvZ7tvj1335tZQDrOGJyK3hw4AutjXCFiOuTv09zqfTdTp9e7t++7i+XS7Xt/r3rVqAy+mt9G/avrOmaPdsVedXVsnzQmWjxLTfI2bwS/LWcCUSt10BC0f5jQH0KVcfEG/851fykx5K4fN3gd0WYV2fbqvq/hih/z0X3/jsIRfQVTBgoCusHfpsP5kLNA6ckU7QKm8k6AD1WA4hWsslqZRvjrJa1xTgVMPC41EHbq0VTXgEwY/lvlK5wIF6Sr/Mea6DjKbjdD6d46NcLtNjreRwudcJQU1zJndkUVUJ8lLS3FsWMooOMjmh9AJgKilCdcjq3VeRI5n3Er0wVcZwdKzVT4spBWwz+vglJh6DRWRg+t5TuGdMxBpgf3YzdZDC0NRK0OwrNnLP4OTZLL8fM7SS+AKnuYAHdlVb2wMgGmmtzd2EPtbjy/NvB74V+l6qLh0CQ2IfNiUCQZHCm7EGlTH5s7CfbqK5wRIbfpofh+f0dr38/vv3++3+x6/7/++Pz79u6/I41kRo5WsQlzVVpRhR/oovTst2vK+Pz1/Lr/P969tyuy7zdKqS/KLPjR6RUEbCxDihLZp3A9XzNntdu5LUXc0CGlONDqe6IAKGwHxxz6KcrLFoKAD0ncn3x7VhHqkAnfWC8BX5WsIJdKMWSe+hQF/jVgoZ/+7zff8QG72ciPrdTntxEMbSc3FTJKZj6LXAlhr1YT/sT4hpkNheQku7OMJuRVJhPDw96MiVN4G65fgeEiCcCGG23wyHEenrAhFB0YToXQgyjPTYhUOdqeKH/OzzC71rMCLeUTvX7MvlxF5iOXLuYGLCqAhoPir9VhM5g83AoLeWqzQ89NoaqBBCjw/LLTviWlRbD44I2B9ANlgTqGEoSNhIeQexcJyaFLZgtDoKMdBM3TtDnxvEFBTsFAVU2FnYSRLeNVRDCdEVqiBZzqBjN2mb8UB7v66RAkDz3hwI+rdk6QBZeXl6jHl1+4BM+YU1fOZ4fj+WN4ciqnyp5yV3ZqXvycsYC0EGtnY0hizwmGakjmDlC1ubmpKgsJ3lWGGDk4+zKedc5mU16JdxKHmdW/dJM+GLnIBiWCRfSVy8VN+6l6Xq8DX1iR6WperZHwYdC+a9mjqcWAvYDEp0eKC5ASKIalfXEfgjE8axN7mfTFmLLhqrksSOu53kVfk/Gqx5vWKCEtP8mo21SH25hmE20CJiXJCAVOMF/joayHog0CAztEK+ipXChEjexvtbecodMDh8V05vzZXVdA5qA5MeURjLr6awNCNEduSjIKpRmd/DtlArVRxNDMZoNe2yiIoptP5RjHWwQzRBM2Cb/TAyapTKe8wSflETAwuyTyabTV+cGGliCC+xTvjAiX2accqkpmdyF7VO8awnQBQGAFDZQMo70T1mYGqv1LOoo9lL1BUrnoSNryIwGl9ljUo81izhpgbiIzbEEirtbLlsJzVDbG1TBuZx2DBnBRUZ9ayQzNLJggmZHQKWUa3LIm8cZkmXhAMVQ92qO+zIfeirggq+Zohiub7azeot4WyxQ/2Y8gUz+uEGp8jv0vkz7GmtEFBLGdPQGcZudy2bbUV8TdN2OCzpkS4qqyRSisMtg6676ppqGWDbUgZKLS/lmMUWaoQdpQ9R3ewXfKYPWUaub40EQxges44BC+xJZePMEw2vjF8F+OZTBpkpStoc50GJewQAmXRXEjN3V83z+ojLtNXwpMe6Pe/b47ZsP2/LX1+3ex0VnJxh0oipYsQBi6wL9pAxyQlXImh+HN/O87e3y8flEh/4fKkTgM+X6/l8vUzzPJ0vHPwcaZMhBWQwUYrx0PYOt96CYYXkWNGLWcJehra7V/jixljDSojWpocXnxQFvyeEMdEdGWD0R3sG0iOy+zx4PiR47kC7LMef7eLGF+/CG+wrhYNaG9r36qA1496g4vAjjQljjRbzpeY5xzjHBc4wpi0HOy/bVoGLpPfvt3sFTusCRwl2prT6tCsicZke2+N8TrKpdrtO51riNJ8e5bpUGQLCoZWGnIDhK1Mbg2gg4g5std+aSz9aoYIVLOyRoCBwQ15HEUY4LTCzw7bFVPYPqJhbQDQMNQGDCFekDkVAcBeIyW87ayh6k//RoEBeCu52qVp4QQfjex9MHEeN0Fe4Vle7y0/VyY59A5htiBKsl6jcz57NVlbsql8y7tYB76pjuJ/bVLJ0frW1IdREJ+aM59hynNbzOW3PtZB+vc4f79d//v7x2/+Z//y832PjbGUBPSx0I9q21SlHy/Y8H+f1cVq243k93m6Pz6/162u9fa3X87xdtsd5WiuqUtWCqQ7Y3W4h9TJ5MU9vl0P27102AJvN/XQoGUXkXhxniMxCceBENMtokr9TDS5a2kaS7zAbrUTfG6qxOqgaS+yxVzJCruBAKthzAJqGDYLeEc8OE2ltECHA7k3AojHXJJHnGH/msfW7Xi6X5V9EFpnNNCPtL8didMBHfwIK+D1kJ4Jc7jDq8jOFvxV7fZ6Zcu01lIWYFIORDdpR4kQVKbjYef7IFoaVksbmuqhmbYyi9Cj3anLEGOi9c3MkEQysWB7Ibje7JVocv1LHVivb80ltVeMlot90eot48Bsw+gsWb2gP/9TTKNieNB0AxiIbgAqmLFG2ys2QqAQ/gkD6RpkyDeRAQ9szSgLcPyYruX6eEFeMb5GniibO1d05TjIITDqqmHqgEOkOOiTnQB7U2faVr84fJiIH/+sJ5IUWSPYHfGs9bGxWSISYYLKeddcUotJFojgcpPTPGD9h0sL1OMcHGkAFEw5F/tiqRE21qxmie3dMX1Sij2o0MOaoBc/zMK/3hUFH67qMkwl4Lc1/7W+0KNrjMUCThYxABM2HvULkjRZJ03rbgEYkdkumtwQx5bfGLjWfUBuX59swr+TCQ2XYekWxRGSR8VrEQVv+XGPFf4Chi0TZuqJKW4KroQH8AU1eBBZvxfaVL5roGz14XV1UMNvcmXNW62S2bvKGpUd/eQ0LW4ux0RLltI2TIVraAjEVMiFPXkoHV0swikgLHBah4Q8BOYw8hUdvCWAAdF6Ik5YgLg0bTiGS94Yl4XAgaUNPWLvTyiAZI+Uczm6JUkiUqx7fRwhkmZktzA2NFYHO08m9t4MBD4OEsQj1RKVo4nMUvLHkHttaT481CTyR0aFp5SMlACEVCaDTJ347lPPQtKZKVclyFszv2b+jKKullb33Mm/M4nhGkBMOQEdA8rweJUWuSZRxK9EFTzcbac/BuHASdicKJTmICGEhKi3rAOSmOJf1oq51yRbpExZwkcVOCAP6eLaGbBtiowZJCWAjADDFFtp7X/LhLs2ToWoQuLOmZfeHiwNpxf5gkv1ofIChiCJFXWlW1MdUVVCK0BSdB9chRxlOWAvpMcao//pFoO8enTDBOSzfLB85wSisWH47e4juw6LCk1VoVi6xjvfcvmoC1vLzdr9t21IWAZ6RFZjVHlpvzrl4dc5n6exTFaM/56kaAc6n48d7nXv08X55u54vl2maTvN5Os31L8w51RlIGTgcrhRiSNUg7sVSDNGUsRWJ1VXBcQkUc+E3ZBL3tTrAKO7M3mAAxYdGz4tQy2/dFSCJ4E1rxTokxvxwC7x+9EsbW/zMgHcMJkDOs5LMD7TOCVZtM4elcLtLg5AiX50iybjIilik3LnOba4jzCrbtj1qgve6rNtWs7yX9fPnr8pw1AWVjkskoyB4Kjl0fHu/bsv0XLfj2+V2eF4eVajFpk+nc81yfpSJAUxD3hofDqdoGGRWf5ZrTknBROWh4fP8yZAzbDLhF4GSmWyZtJSDmUqrKj1zXjcBC4ZWogHFKSWLu1PUzhRL/lv5qf/HYVUodRLM9YqAgdimDrasrJf2pJmIKX1gwkQt2UOrHYv06Wg6yMc3SFzSPgKDN9M+Q/gDe4bb+4Lda4Ce8wRtBpgrZlyYq3UoXejRQVlz+aTnTIacMmCtQH25nn//7fs/fnv/r78+fy41GCEsbzq5Flgoq+09T4ctvu12OK2P47odlzpCvGrv7/f1HW3BOXrrejrNFcu2uVz7dQx/3gGiXZDwtDahvInP3Jo5JNHdOqY9BtsKqHbnUJKEYzilC9Zrwe8LdlMWOw9MDVOwL87UThHHfWIFPTPcrfonWVnv455B+TTBIaawQ5BPvSSvbJ2lMulfEBsszVN8OI+dF/f7PXEVuTHsZMDIspWrbMB9u92h8rjWrhyikXkKSrll3rCGVJexObmxPu+6BhDllTu971wnFpDT5C0Ib8VjdF4A/Asw8mT+LuScszM0v3ZhViUrDZ/Qp6Qfpa3lYZHK7FhkPJ3ovysFINj02aoufTZQK9MRldPbkGinmsJdiCGW9CtQIMleKlSZjwV9o6nlgYIAnzqkHuJjCuZwREfSEsmX9taCsKK7UiOSAiQeE0sQSi71v9aZwaktM1zIbodNNQ6hYNUQbeymjt3s/nmeZ0toeo9zF8dNCdUe65suRsou1K1N3hI2lD70gqTZRCZ8Q0hCU+KX94fYwQod3K8AapMgp9hks0Mi7a6SXFz/n8sHaOLva+PkJGU7nLyOokWDcKhpAIDZikXPQMsyR2ImxmvNumm9PVRCCTdvB6uGYi4DgdjgAJQTYgOESlJTTFglfo/k7wz7l80Xx0Mht2fww3LoYaoiOAOWEaMcWay8EdkKkHYk4j8Mty7A7JGWHWbwdyS9syU6yYhMM82FJdb0LcmHB8QpF9vZMhBXy8ghyZDmLh8V9Vz4WqPLBBlm7jUn8DnSpwX2oAX/MHDJO3vMYNOauOLOAajcAA38bUhJRB4VSNolYpw2bMprHZTH3ls3kKRuPmj2CFjKlHNcIVOuuQhVXne0NUTqvvgxoBBJgGKkGVW2cRpSIGGohacOJleEZfUdhkPOgMSQEANzfDAQzyTuMYRsN8sT1beJg/CEKQRBZPM8uctwFcd11CWjwpPoAxBtu86MFStlF7h2GdQ8TLKBekEBmNNDyI3Eb+Mh1LPqjziKNdsWWg1YAw8EcSmZsnW0BpRxxwo0MCKDhXaEZcdmnl4ziFOTuYXIMRqypt5JPSqZvdjV0Ucm6iG4IKzOyA3U6dGFSErNocDKu6vcYAFTUuxAzAv5lfUIezAQOfxYIIJQHThhJUVci7aFKl++1jln+dYJ9jnevJsk0eL00ArYLIAvMiQpstVx6EU59eGzhgdn/vOvr/uvW/17W9dgC4YKDB4FxtnMW8Xip3jYxzr1pkpm5tPhOs8fb+X65uDfqny+XKrsuRxgTq6K8EnzSHGH6edAPs8thUAE14GI6TxRjyEYciPBFtxONMLwdeUvbJaiBA4bbKMtVUPFUKGATK+kfaZoe5onfgmXDR9jMGmIIocYozABe7UP1yU5k1PGzxxEqQbBIBbbkNj5pC7rIiAOqlEua6jkmjzB6F3lQJCkPnnbaojZ/V4YjOe7VlX7sn1+3tflsVSi+LEuNZitJPbheL3Ml/O8bI9q18xI8NPpsk6P05oATPUGPyqcUz32tFlFF6Spr6dpxGqslhzldu8zTYJrRmLmmnJ6EbLELFO0gNkNfOg+iFA6Po8UsNTR3tXHW8E4YjdDcnZQGTAmHNfsCZ2+rKbDcy3md6Bja3hBPgDmFLpHk4+sMlh7sYJazHFz9uIaleRa4R2OxrzqVN7oVUHkO5IbQMQ0Tj9NeDtAIhCsDOG/0AwWZK9Fj0flGLErgDDQRU58YmrYEF5lnc1V7zaFiKfj+Xq+vl3++du3j//z78tXHYFWXwR3dbjvtlWfAyGbyOzns45K2g7H5VHSu8oQUoNfltX2OF7+fnYjoWjQpwuarSi+Ym7Wp3uJlOgswBq7SPwvW5aw8gGuhoBlt00lFF10WjKQNEismgLFqbYxmJGlyrXW8enK7HvBXeoigU5h5RYqU4MRRMkuspr3d7OnBZcyzuVAZRIamuG1y4l2JAbHpusnqVHKo3J8A4S3z5qVbAj9CMrsMlTUUXiDU7wXY0nmKbWxj5yL4aWi6sk1ri6UGZeQQXCsH34gmAejCdH6mqGhCndRRhkAYZcRkXDzTUwNpb9RSajcxK++H1yIpzR+673U5EtSVhRGGUp2qVxOcIhCQp3JrDa20w6wXJuER48IhpChC6NjojhY81TwtnkQI6PgIEsseYtNb6opYsWJUAm/oY9h/lcxhchACrQG71hzLtL91kQY9w1pCJhbq0Ih4UO0bg9AFu66XA29hgV+CmN3Gm7tjTcDK2kzmSI6It/ZGKhq9FCSXDD8+VEuCkCIO2P7GbSlSbt1ufYQg13ICAY0rY84GCI77UJaQUMPVFYLbDAeEjfpNtiRS++aR03p43E24dkbrrHJ9LIKfnRgMjwhHAPkzS9t38A79VFWW/abE5kNQscQJbSPcBtpZDcjMbCN8HDyEJihKX9S+yEkm5RS5fmoVEcrMjuFdhsIwdKPjnQHN8qavCAbAL7Edfr5+Gw7Q/fn/uCXQmKIHcJVg+3Mv0cCxiFI9i+TkXJjFRK/VrOEaBTxTkPF+8XtQPagkoIA2mg0fYeJOZRv9tKKI8um/AOBa2hCswMzQKupoWUKYXyIBmIcDpMq+Iq3E7BguTuAKs6t8y6iu4zh5UwIUMBYB52mvfFbjhrSABu6HhICwXw3zdiFDD6WfZmgMhYrixNbp+QC+Phqrfe6SBMcnzdGUAeZgBdYCI21hEZBhmdPzJct87TIostFED0iKGGdbIrsFDlYBGT1CCbxG16GqfGNCTpERgO1F6blN7iSohEllIJSmUh3JSN8BFXc7Ah6xnzBC+lY5mTCZpwGqc2aQanWgEjfqYa7KH4Ow6kHGR+GVOZ0ew8HMn6bRXFvJGNP/SaIeTwxDjo7nbZ1medZOfPCf+jRtsf9LAY9TBtJFXFM6+ZUD0GKyBPJnzFfoaVkjSmq927PzcUimnMRKGHXlWZV+uTNnPCkdIEXMiYp3GHvaPUBP7b697lU72/Nf67zPO/rX1+3z5wkK8Viulh9pC1T5JOi6Mr9JtRch4rOp/e387ePavq9Xs/nqn9O9+95nuM0BrYpbSqBWRooWfZEoM3ktEDpPysEaQVul2yxKSDWJyvIaZDf+N0QMmMeNS4QEZ09rAtHIYyWQVfcQF+wKsRRLpkERuFGXU/1sK0fqd8O5nkKxk6l4HdfBbMDSdDiNLOIKOFL4TG0GpnibGrUpDqgUqlVtm4XcHm/t9vt67bc79XZfbvFDd62X1/3Wz75+rpXOXvOXT+dTm/X6/v1/LZsb/f1t2/v03S6XM+n5fk410DEeC+VWM5UwzQDPWuYHE0lhMAiRsgON31oTNSaAB9gzGcU4eRLcN5JAhBVFUpR69M0VaQ8FbPWGCFpAwrrmIdY8/s9w4BUEuZwUbcqDCkBNkfNN8yGqCmKMjuKCEGMKNR8p/SGdHYLPH9EdlEvnNLnLV3JKa3ysvFWyQBZJFTaEIrLGlUWEm0K99WDMBombc7lyt47t1eYqHbXEbaavFK2zzQ9p3maz8/zdlwqxHW9nn/7/u337+///rXeKwl8yGT8KpmeT2c6f6mPZQ2Px3PZnvOxRsf/+vp6+/W8Xg73e426O57LN35Wb8TjNHsYR1cqAcVeXpgs6gEfeGw3uIhM49Kh/YkD9sf+OSAJIyoZ1F+KiJYVTYC5Qv6PJQP769aCUxE1ihsb7dIV1kieODzktgocHAU7EDsYtgt4zJVD5vSBc2YfUGgvyib02bVOKJBTBXCT5sVUjLXJDWkxIGqPHPN/nq+WvY81KwO5qtV9ArvNKS0r6fYabCKQehgvqMOaGd/xms6q5LOKbrUXpc1PIpSdslXBtPMdjl84TS4Iq+ezZrrI+YnzL7UDCbwXGzAAmP0EYx6pGegPOPNoi2bMf+xIayGn1VwXE/hJ65tZQYjXiBOIpqkQ7ktFzKs93LvMh+is3SbYZ1yN2KdEj4IwTYoMDGooQOrIxO4qOwaN+rAutm0SH/NT2r2URgeh5sTHGK8QoZH7KOXUvymF2njImD1DgWAbrZ0VEvxqcRAE5DX1wKpaqqdWCFVdjFzDwmx1P+xY0KqZNGR2yKrBG6s4e0pcLyq36W7Yrq2C9QD6Vh0oezxlwhYf2qXUQflTE0RjhOQYpBQFUdjL49RpUhOBSc1Fi1GbDVKTqRXOOrBj8FHzwPh7+obheZtF6yf5587Et/jTg4obS+O+CyEbk/PBhnwGR7FOMLDIFLYA7+GxLVKVkKgi1JU2DTvH9Wnc4OA0y+HX4rXWlkk3jWuJ4NYZVq1oIYuMqONWE+ZE2IeGFDY6Qr1QfcWB/tq4DABYO+wxBLRC0vvdNYxOcQjtqYpVhP5gHjYSGiBqGBMPNpAxUqcHvxWnzXM1m1T67/GoHB5jNoHi2ANVkiFCpQWPsEQHrhs2URNxHsJUyxcBBFP181WG+SPz9gzEFBfBymWseU3IIIc5F4gSPyyZtZWDmThLMoTyX24iqjEkj+vgcdWn192wPLxZGqRM1eBRN3OWZ5H9fEohqt48HmAeyfE/r8YkacAcesLfk8xpl1zxlfnWL6cEwzv5Dm+sFtsFFGyicV3Bi5ZKqVbQPq7Vo+JLqbjRpiTBT/BvpMXyktwO6cq5nYeAo60xAX3q/ggHLivZkvKemv5V9JcwLa+qeZtIiSBTY0YwddJbeynhjPIPsiyL83MNzAGj961RPX/fX0ukECrtH34WWLSf1sRNUxAwpBDIugemGXXTeKLHCpvkldH69X2LcvmEUgYyrzjClYBdtjJev5b1c9k+l8f9cdhKh6vBiD30QZ51mHSV21VMouZRzzXesHjz/Trj/eYolKnc8vqj/pesaVnbEC3aLUtJ92/Cw7JVx4OhYoy50cXSXBBMEth6VEs2oEf8Iuehvlysk4zf5ck+CLXM9NIy08yUhgvaqULfEeFr8gnWZDdWW6wAf7VYDKh2rYLj1EWtlDUhUNHlljVVPCh5tpQO4TaX9V9LCYFS/lOVgemdziSzdbkvt8/77b5UBvi+ft5un7f1tq4/P79uS/3569d9SdvHYy0mup4v39+u3z+uv328FffOx/PX/eN0ON3qjdNclhkNwFm13rvGU85MtkkBWxY9A9fWT8gstRx1EUO5yoFJ7TZDu5i0t/f4JfMba2+aOSZA8T3qqnW8mdkXYoYRtOEQeKn1zVKitrqyfKABmcbv6g5+7x9l7NDbMrJSDcoRowmndPVB9qIi0KwsyiJ7Hkxb6EHtAGzfGZWAs6BKvTwXEPIazgHOhsMZXb/VOuxBG5zjDVpq8XCpPSCLLxYZEdYIeR0rzT7PWw1mr1KM82X+9v39tx8f1//6Od8fpyruOK05wV5hFiCVGJzqkKTtdFwej/PjdFuXz8/b5/nw8TYty7XmKdRZSTOh21rLlkMIY/2LFTRc82/yPEqszlIa+udSbCERpM8KZvJXKRCYWqoK5RI/RKA1PMjs5V5SaoILH0LgpM6ICGb4IGcuIJGGqY3eEZexamh4MWTTi5SSuHRIhh3DPMHIENFnw22kCnXSEs7jlhMWfXYfkRKbdy/KVXfTCCV5Y0XmF/Rpq6hBKiYbm7GVarg82gN8EjqnxzV1UfX8cAMnLRNzs9wdo05YgNFnSixDT9Gk5LQV7yCP1FowjDfXFkG4ZAjowZ9yEuZeTbVIidY4Npmpipp1qH+c5tbY8JKo70XUDwG81NYJRgxdPq9jzyKjUlsUUT+mE0VYDLYlDM35keHfCIeAFNSA1oKgOa4UIPhStI7aBCpqkms5NSTaeD/34iA0y7V8a9BpQWSnTYyY5aCBwTFRcPCQHr5g1wSO9zzYtuZHOMCFkpNCRG2d7Kq8UQ/RZxwuaxW1ESPoBEwtvsaYQ3jtmIaaYjjkvd1Y0WK2RapxkSFtW2LC72owUoxU5zWmgE+IQYnE8vIOt5CnKXWtCtGFyCJD1TOHtbDb2HlwViabJ7WdwyYN7toniReXkkViqdI4N6sRg7j4bbW6CkqHCfEthhUVsTL8qheyJlQiJLHUdY3yBDxgxCF0JDcbKEItQbWSAhQQxUzLKDZxqLwdxRceDsE1nfbrTGIAcoVsAglAwGadPN0gcVJdKOBxPrvqIYhQ3iF3yPi69f1MePH7wra5t7l9LJcNoD/areJKaEM7idiE4tVnaka1PBXuxjhf6DqXVrlq5ToILDGMOqCut9UdocuGYQwsfSTEVx5llhu9g/Rhj73yEDA5GasoX3YfYyGkmLLJZLFiYxVZ5ljOMh0YE/AigKCGcGvnOiieh4YNnvsJPBQRSfFH+rcPOWUaYUgcpx9MCaJqjB9gKfw9vgR3DnL+27e5mNYa0IRvUOAdoiFIpps0Q5NKwHB0yjhRr4H/UlHT7OWDpYaQWSMaLqqLopfYb4ARStbf2+VghArODwRa79QG8iUoKps3HVPRjQGVe89ZElU0ysSpXWrD5g2cjg+pSbChWy3J6qfjPM0IopzAxOERTfr5WDU1lIoot66kHXKg0FE3UmROZ/OT0FWtJfXVLI10Nm1QyVNhiNV9aQNzQ9qGAWkvLbfn8hp95YmxlfatEUrr+liWR81xvW2/btvX+ljR4RFE5Jar+zewPAUaqVItG3Z6PqZyhh+X0/PtOn17P1/PNU42k7MSvJumY2b85uYpyq92kcHFa+dve/FSVnNKesDK5qgSzQlnODaDSjZ8SeqYwABuf1oG6OlIhsHwIZXJLaZAFyLcXHFbCYQUVKoSoXDUbmh6QOR2AGhPmOikUV1SpUPsaPefzGfVV5LOftAjqYb2GQwUSij117V6eh9rVTWvt68qev76ut/v2/2+3L7uf/36ut2Xvz7vP+vP26/brVL6t8x4cMbJ6Xzf/rwv3+/3W00mKOxGB+Y4+GKZyvdOM+n5qeyAqcIBTtyEAtVhkhw1DvV7zaeuyVwdxogRyrSzTA9eUxlL43dzd7RugiWnqqJ4TjX0r9qBE1pB4A9RMeSzjKq6bMgOcWQUKt40GA3zaGqNcxh3DgG9f/trrmjJMOpfhjiVbFs6Y0bvZQe5S/GAgBwr5ob9OXK3WkrBiXjryItsQvbMz8Z+uW037bgZbuJSShARDeGkZjVUdAUPp2maL5d1Xc+X7e39/OPb+/f3y19fn7fH8V4jLSoxj2xbiyuL4dJ7MdWo8dO01iSR49d9+bqdbhWWYQj06XB/HE6POfHGY50EnqTcvmLlJDAb0pddtGWkERKUYszI0Tj0XKTc0DpEAo/ZK0PCqM4CCK43N6sRoqFO+iTyn5VAsHDywBi4NxvnnnYC2jEDRWhDtZ6MPOjtdiw8QW13fayMi/uEYrOzCI8CiEKGko22gCkHw7trkdP6etdIhr8TM9bAGzkAHL/gyJEZikoUnNRZjRIgD+HbpqewMtgQhEHpyLg4RW1NYqMPHTz4YcDSb7SQe/EBldKlCYZd2PorX6MLjSq9sJ2iVQMCXoWwh8Dn2CeexkI6CBuE69xKl1qcQyJyYpyr6rmY4cHk+Oq+rc52YoQTeuTFdEojrH+XMPavW3VIe7nelzd0wL7NawJZ1GfwSnsawqAjlgGYxBZwQdtot/J+WVALse73ya6B1Sjd5V17MAMJDLH6Cv0R6AIFt601cr75FGHwEu1SoYaTrDA1fBLa4zkNlPY4YFr4MOhLgVNuaSNA3Z1Qy1iV/8VXHU9gOqZ5H7YPC/t011lbpNzPYMvhODO0DbAXNjlMYo8UxMQoKoi5tbuJYIWQSLNu6DmxInzXEEUPQKKKqZtcYhL5J809rKi9QUzizjzwZUsN7305r4g7CBC24+sf9TmDlH1BcxWFTJ3S6aeMgvD802lwHizdhqX02eFeVUVPHhZzPQzMRpWXH9yV9haUgM2i/l6j1I1HqyIUBWUUkWKK3pcGfE5IMYX47jLBUeLxRZUyAWuGAzM6tfAyZRRkeiirMJv2LxlgHOUSx6Nuh8h08uoP3DHqzxW/O5aBrSUS3CfzE9QCv6ntbRx2c5T1345sGTJDbHXMQvkYO9JAiQ3qxPN6s3W9lZVJC1N0XBtElsdrTqWyPQ+kvrN3gGYEoe0zFrlHbS39Ys3ggEoBMy2SgjBpZu4Tt/kuX4yWWrtCs3GXm/izg76hZeKgYDw1ij47shRodailico/+VpJH2s5byPEyHFERaj2U0GFQyMVHKgfaYk53jecRvW9e5V+VHAtmyRd4OD5mwAGK7zLL1roeBcqvOWa/GGep+qiVT4aT2iEjhm9/HTYnuKKFvSj9r4jyumGNULB2yDvkddXiTSjmpqQTcY7VRiYRVV2+0gmtIYhlWF639b6t6zU8mxq/vP6SPp3uT2ea4azA9RnGrxT51wyofzXDPOt3+MYH57V/ft+nd8v89t1vlxrtvB0mafrXKHM9BamQgaSKifEY3qWCpuTaSyC7YPA0CVN97uS6Z3B79oFA8m95/C46lPkQ0KZQ5sZy4dDNanCbEzxGmYpoCXw4VSHYLMbydKpQz284lI4RRVbpNQVE3RvjpoVbQGdE9IfZisMnGftNFAgtyGiyrpgvJCnqr7amvB8/7rdv25ft3uyvuvXffn56/7z8/7z8+uPX1+/lvXff31+rlsVtLOysndLEa+HQ6WLH+vtsX4uyz31APN0Ote8stN8niv4uFbMo3BS9BhHFNITReKH1SBkM0hi5dMSRBF34DrneSaRXW7SqrWc21Man0PHi8cfyR3Px62GVFez1Om0rfvhH6VcshjHE/QySEwFdzltManT8AiJrEEjQwEi/0Fu6AbLSsFpbLF1QVbqXTy2sQbD4SZwKfRmeNCgNjrJUj0dJhSI0WAFcptpvdTxQicsoMARNMiSFk7aIUNA6je//rRHxMR+LZQho9JKcZqnqYaDb2/vb99/pAr6r/vn9jw9j3NhqPrxa+RaL6AqYYD887A8T+vhuT6et2WrUvx0nm8rBwJnmh5WsaB1dogPamYCH1FzqgBZOqZI47sPZ6mtZngn5p8BKw7OqehvQ2lIDvVL2+6towAH69hJoNeTjywwHDYaiKgCcksY2lN10apmRjpq7EWT9gv7wDRu2gsb+LNSOQ2ekbzaESnqJdGec0Eci3arE84z+nFkSodWY707V7xaBrZrSqMABFLFd8AOyj2Gbeh/JoA+wtMpMt0xPMokdQ6buFu0J0mrzcSC4PR+GeeotvIlDz/W3WxZF+OWw4alpP7/XP3pdhtJ2qyJYgiQlDKr9rd79f3f3fnVvasyJZIYYsBZZo+ZB7JZWRIFxOD+zrOfzpqTn9PmTPYAkFcE58gs6zbMmh5FbxxHL9XesGY1OnG0dKfj+dFc/dPhYj8fOWMLAhs++0joITEHtsFSUYtdHSSWML1LXzBp/GF1JeS6e7GVbw5UrZaKojQSioSF1aVfg9MwBbClhZpMoTQgkZFGmL51DcMWOGc8fHCSAZBkMhXOOogEyxMPopN3Rqw/N2KNdwIUVDTGhiWWha0l0zpiRA9pFjOaFYyhwmJsayQnVbNJX3nCohavIpVhPdBBgDsXqdWVVALsQ2LBRvMlZVR9MlEtrJo5VpP4NrDGwIAU6KuGenfuHPEJcExZZhVSpVJM/MPWecb1WSxmIl5CnmEYb3MUvwBWZDDgw2OqDKiXlZaeEWPjOb0vwCkbD2DsiPVVreYfqWSqMbJrngsA+ICf3VwWuXTwVrpkeUm8QVdiUJQS5RLMGRPJwL/AuO4WznkMOi+W7Dv47shNHhbxbRRo1sUgA0ft466E6okjmJ2yw/Ao0Y/yTuMOpD5kF6lbHdMhCongh7wlsx85CRQmADVVxmfbvSZQDstZMQT82K+cutG0S6GuHw7u8lI7XoKKGnbawiSXLGJDISy8CMxu4hiBs5+TPZNjzI/ZAtc/tpERrkkSETh+OkWDWNGDpnhhkhVdvcUhhyd7mlH3XtVvUU8VX2zHhoQSKsRfV9zLtRiiWCHCpkymL3izNg4aDy/oULKQrbthlYPlkJsXEQ1G2Ay7rO+aYGDpJWiVYNUJxkahWZI0Z2KoPDv/AwlJEaTEVM5dZz9gKulu/ohDiY/WBfH4wDWLYdV5Vzyw4LxEFbaISIElsc5JeqaaNw9FcMJZzSCZMaqownRlH5AukY5ki4kQoUeCpV4VckVJVCHX4XCNEFYzJika5RIfi/67z+t9eS4eaRNtrEyvjCnaZdQDoBYJpYOUBHYa4PR8Xs6nP3++//Hz412Tn6fj+Ti9X47TdHq7yF1kjoUGkU0nJxYZ3xpzsPs3ZW7H4zmTKofQoQtqZOzMMogof+RDPrjWS/Y4LT8XkqBqOkIa76RoCreE+hAP9HtrUdg0iGyluAQA1zF1NlgGkFgXODbsL+Bj16t7VCXxU3+qvzPM3MOorNcaJY6gPo86vRyKg8xwRZxPoreR5ky+6p3nhxK/83K7L1/Xx+/v2/ft8ffn7ddV/33e50UHup/Uxqu1xuuY5VE/dfLz9zrbfT0fDh+Xy/tFqXv1bCt2cVyOj7fp7AqD2OWQu/FX4iaeTjLeMkOfmaoEehcbLLOYzt2/ai12vspCk0Mjn4dpmk7H1QRyXtfzeVsu728rVoF7gZWEph4yCZPMpUicAu2H51jWqBy3QRa9FvY1S1YfDe2MaOZubxMHHe1f4ond44uRMX1vZq40zRoBV8nxQmihnUF8FlRIK4dj9rGQHkvl7yHXoZp2f8ZGeD1q/5lHofMa9XPfY03kvTFT3LN7CzIjdDb06azTyqafP1Uk/z6dLkfNIKhtQ9hJ/xEAlESgYNMnxj9cTvJ9fdyuj/nn2+V9WnUS0rRu1kSW2CfNFi/ChggdctBfBZn/gJNlafc7eNy/m2ejSLRN4ULeeuZJ+jvrwEzXeolI+e+XvuJh4fgrFyxwMbjDVKH3jEF9r2itA3Muz/if3Ih8cY9r7lF0OUftdCvZNRSFvCLMMjSpRQ5DMZtWiWkeN7vUlKfZL5UYr4EkKh2qYRiTVb+8E3YnLs88Jxf6seUd9ua8VKDGrugzGoiBAxueAA2v3AT8EdHElK2I0fYAHkzEba4fJFBgTux8hUEOD9vAtvKn+sMg9ZeE3gIKUiz4OZkPMmL3PDepgEA1WNVzqGll/XpDCSD2IR0ZTopW03GFfnV1nVr8ytK2rIwEF7S6OrqCIq/cRU8WV5oLGceEoQJUdiNRs3RN5BrkHgMm25OY4Hwc+BEOjtgbBgwI9aXBKctqJDCHNruE1+ktYzKD+hmAovNlx+yhdI7UYH4x+SiThgggpxjUr1wemYGgwExr4DLg6coxMvMAnkVPUeBHFiq+7UsFRt/oEkLr8XF+SrAQ3xeGiY3H1yY/41fbUt3gAGXFuPmBITdZolfAq/PQpKd8bEb4M+KxxMjfcG1cf85xgdAlBPfFlUT9m0HVHGYYL7BOoYHlXEbX8qmHHsKF+zGe4o6dv6pRUX9Ag4XBWHBsWpcRFYYMGUTAGWnNhd6hnNnOxNMnfgo7+4deNNxKMYNZSing9EVq7twTwuKy5nKTzurPLiZ9B0k5svcRBVkeedrG1Lgz0MangJLhVoaL8gRety4p86DsNjAvTBT+IIWKrGGyDkjbs3oFny20duwCWptQZlsGuI3W8fa7FpPEWRxpxkrN8CF3SmtyvI2qkC4CwUzvh9hpdL2ZXI5ScpadKoxUj2fv0ctZu+nRVFhREzOMgZYUZhDMK0KTRXxupn8ekyewa36HPqARX+7vR5m9/5XRO0hxz692ApEcLvkVA7xmQcgf17qEHFpxYyPRSCrzrVYAuKuw3C9A/Xd4oj1bYf+QeMI5WbkxhFfpPxMn0O+COXSc2Df6OJ+mNCUrlUyW7ZbQW9N4rj+ndoNIoaUkQ1kh6LwsYZ3xv2AKfgkNhiftQak+JaEKU7JWoaIAhZAa3lKJa1kign7nQtgMIYD2yUsb/hjWB0kTm6piDNpHJbUWJxPtk9jAOyzrdn0s11mpQqehY7zY0d18NI3NONicvhI3653kmWiq8L/+/OPHj3ed+vt2Pl/O2NCqh75M52lyD7Cj2u5WwO0B/q69F5Vmns2QWYAZAWt6PvvEddgbjQn7E//ywnV951p07IsNdEgSQn/B/VDtZvhkCYCcv1IBmF7dtRkZyRFEEeVoby8a9Oe1dnQRbom7xw5DQ4HUcgs4M2dz+G1SN1mkMKg07axO3vlxv92uV/13m+flNj9u9/Xz+vj1ef39ff/1ffuU93u/zut9lVtGpaOpw8aNo3zrtp2fh+91O8zz9PX1fj798f724+1ymVRsPqlt0wPglpmDoD3y00HXozJL0SPwLRh1r6/jLHaD4wMfNKTrMTN0zdPWVPnOZFpfKZhsJxGJhoP7xKzj4bKdlvNxOpy29bCcntPZJ/pJsmVKY5LwMRRUjG97d7iOhPpe1HGEJBSAVsK4wWTLFRHS5XDTDFiO+wFxEUmkJ5/HxWIbTdGDecP/Xq1jQQRrbDKjCuB6PvM9eV3IP6vL8QBR4bUL2BuyqDsdxsD+hBQCRsXikxh6IFUj2U/P0+aQw+lyOm+n8+P480NHef/8uEy39ay8fgT+4XjS0UfP7eJRPy7dek6WkeszGeDr9fH9/fjXv7fLvLRpyCWOh5PGix+WkwajxrpEdlEYUozssexdCwwrs5tjm6A2BpUNj7qLFhTZLj5KwAVWKPrpAqAfsq0R4oCuQYTKVVuFekiK1rXUMZGUanIEUBYRGh1iDVcP1R972EPgcJPqLJncPc8/dIJEB9tBsyIOeCMo2Xpu3rFtHHlfafWOgb1DMlvcGSBaBdLtwZlQ3G6x8QR0NbwRMwnxktK6YMY3eyOAj6V1fDZb2x2OInxQMknCFKnVfLLm1+/nszVmCqFtxVlFo9u5vMUpCZd5xgJzr2JmKHwTizyPxRokYppEYnWWAabV4i2/MKCjkx4Mlz17pqOtPh8wGXYD3fEkSyThaQ4sckiKdFFQk+gWbBA1E0qDs8GmJxLrqtc6M0t7gE5yV3+n+FI1GdQtMrIRxovVBzJ0f1Rkku0Z2FHpnxfZ9Ij5RH4NSwOviibsmpOL+vsSrQu5Uo0XUhulEKhGlhBb0J/rB/tNz+us3VI9RE1pZy7gXN9SUawxMJe6IdMKqSxAjJWrIjF/nFpYNuu/IhBQGF4KKej4Kch/EzKXqQeY30NtEVmsAQGFIwXEILvYlykhCaFxG/PQ8pk/jwtLao317XlRXenjSjzAI3fouVgZyNN+jkKKPV/WYCMCgGDg45dGg3GEIOO8Y1H5ZwjcbIin+IbR971/gcDOP/L+f+g5mqVo74b+mk8vbhCs44H5Xz2DqEkUfZYnBg1HkSwNURcgw5jOrOh6FHqwDxyllogtb9vTB5yEAgIGfsk/IFZ8f96TYL0CRZ5SREU4QQURiw9uGXFxSBDB9NIVg+Td7VAvMfaPSVjN4V4Mo9/oDAvY4yAVaJVKXgLkYxwk6KjzD3f9275xfUj+IMnUrISkfdBkTxI8kdsx3AuuTJgs0uIeh6V8T0QAIdvcWaas4sxnqWZW37JVSIIOtjM40IIaMg7WChsnV0DJh4GCP+w6RugH3kRuIoQgCFLnBIRwxeEqyvWR+lBN3BJ4h5ZMmLYyL3VB1ccxWF80sHeXMCSSSrxseRACAH6sMdwNIOmNidseFPIX2+FmDuEd2M9biworyHEgwaDDKOwM3x42RWQ9KoCtA2zwvgsJTsxzz2SgEL4er2d/MZuyW4KvoxgMblXTpWc/umDoqa7ROZWo7vx1Vk7eLx3Bt8fjPi/f9/k2r4vDPi0WkOA9qydTY2BdwYOEcSRi02iH6Xi4nM4/3t9/fHy8v0+KWKl/9Hyy03s6Twn0ekCFM4S4SxzkIzjkHIjCpsIvqNQYT79UB5WfNEyRvSfoYLBUekd2UnOBBcCjxC/j0PVYH7imgNj3RbYPY1d/6lQk06APEErsKyXNiBvMmuon8Dne4+AYx4UE66Ew7cF84FnE/EB/lc36FX9Ak0JF3j1nW27wosFX86zjjpb59lg+v++/v+9/fd/+lg98+32939anhoOdJ8Q9HFDuQIzKtt4Oz/u6/b493k9fP1S0fpqmw3Q5vc2TUq7n50ljgT1gUNtRSQ7iDXKzgbB4WINyu5qlRvfv9lxnVcA+t6fW6VT1Oq/3x2NedCCTcRGkqZmc6mtFT6a3jzczkK0tdXGf396PT/etQkUcCh0iYBnZV6a3WHaHftwjuuc8Yz7EA45sCWiKiroqiU8gYEMqhHrpQo8P848HIwp8Yb/ZlYuVLxRaWw4JxwWhJYPGpzNGh5Lt0w3pWx4LHz5B38OH++uxTeAyalMTOzCdmUgjFc00wkQOfJkup48PHQj8739//XVbP5fluPRcOGSrYYDxpuzuU+dBmk6fj3l93A+378fjvr6/r6KodT2cT5rp6gf4/MsyLEjSauR/9+x6tgiWuzvMSkQiwb7YGJWRvivZiOSgfEynG+54qo6xAepghGNmUDpD7wZfFdTgLKuNblTht08TAAP2PZq1w4ilNUlP0HTGrHg3BrzIiAXL1RJlzqTwQtKQFfPOr5fuPudc3/3zaKvYrXHlRlqidp0vVUldO/BD3JEKsdEDGRQqShYiZaZjMGP52SCsDVE9beciv6xzPV5ZrKIvYPD/2QK2DHJbhCSsvZQB46HZ+aTawuLR51CGDOpLD36KIs6LmYaILt55ZBgdhK6STRxBz6rgDtwC79yLoUUs2+Inhn6i57l3AKSUBcniCHWlXh6qpKs1kOWipLI6lACpEK0R4algCgbAColQYiF1JuPU5FxH0yEamcSvLdhCJCgEZ954sBU9KwcWy7Q0CFVTEAKcPRuAG1tlTSuQ1iMetOrBz8yzoGJMGyeNQyEl0FVH64VSyfqEu1oUHR4aBMUeUMc7Coh3xPKKBm8CbLwrAR5qFqDWml08JLq6qecRunIwwF6Jued8JrivDLC/5Ykm5Ba11jzlNTs7OgcCOmLCwkjEUVhEiIciBzLvZxWfRDtCFzirUrQ6i0J3jIRfT7IaL69K2QVGtASaj1hMqu5seeuK00kZlbLdIOk6gcB1uMCBoCNnLTp1iAQVy9IK6cjI8huhuy5ziA/m2TbC52gMP5DmyKpHilMLFs0bOh8qsYO7POrWsSJP8lP2v6TgpE0iDRYAMvE8g8HHjLKmmCAYrMQmTQBRoHDp2fNOmw0IUlyEKERKSOeA05SjcTR05JH9ScsswIkcMaoGcZjiWnMIHyPvLMP8NKQD6LHpAWcO+zp8XsT1IQ5G1L0F1JW4odJgB8FeD3EnBC8UwSTEmdqhgVQ5VT+Wr3RlycDYSioytTYZ0X5Y1+OZbmrd4qMRiPRPmgkUsTkG3GdrWfiedbLKzOFeGGGKsPp2jDxfqFlDqChIbwgo/W0x11J6byV++171GcjDp06HSiS2qBJTIiCMIiFiR+GZCWnEDnypEeG6AteMGIeBC/gD/eQMbW+4AGHyIWcVKNCUR1XTZ76GZrw18BrxycJBZntaJLpTkwAjEv2N4PKrEf/0vdLfwqwBt7JQPCCvA4nQM43ozWbLK0cXVil1OWGu9nRYhxieHr8rFloXmRDr8IW3dV7n+zJ/P/TfQwmFSBJPe/QZv0cVLJ6PGuTgKeyWADrs2COgj4eP97c/Xfz8/j4p9Xs5T286LVh+sO45acC4yTTiyBLFI3KlF+AvSsKQL9nAbkDIQNSEBfg8jk9ZHAMo4B4yAEYxefQ07xG6JgWxUwU1BL7Yp85a5DKw1/SatAxBAboF/CZsbQIhNCbAw5xbw3Bg3d7yudgToX388DBMzU3K6obEYQcWsolc+AwrTX9edXiVZnev3/fla55/3e9/fV///r593eerwuyn5H4R2TS1waYoMy9FmdrD87qsf11vb6fDx8flJ6dYvU0qZd+U+ljXVflqDvWUtHfkOJja5lkOsKh5XtbHLGJzYb1ddK1wWTSdS8cSa1q1Diu++Yxi78MW7eHwfrm8v10+Pt7/+NcP87cAJbn9VC56VUbSqtpkhwCJIYFqhAk6Ci5Z9LCnRUV7+2M8BAUIo/oKta1HXLKcnqv8+vG2oCeiDXvVTisPhmBA8F4wkDX7kGTICVxHhqBcItkypcb/Ikw51jwIPNjsaL0IRMZJ5Af1gYj0amKSVKuUoxXeajcb0Dtfzj/+eP/zzx8ff3+fvx4aZKcneQouwliNp8yKPyyKkblDeNPvj2V93NfHQyULbysna22nVOwRsxt6oaUrGC7Vmgb04JcqC4v5homd2MJm2lu2vCUK0et1RtM1NfZirSplTbFNp5GXW4DrPq7Vz3yF+Bj86jdyamDKLLwN0pIooO2wRPpAjiB4ZL0ITrP16DmbENUOjAEdFgFEz9DKocSpf2LhaPMan8T+RRE+csd6h0pPyGHUHteop8Y1Lk+A1tMiuMC7yBi5dHjJT8t6kLExMPRY9H7a4mzGdGsZH53Xx2qLdUaoF1LdCT8YhwCCJwifunB1idS+A1vJplJt2AaBOEHEF7DGOXI2bo8jtG30SIC7bO9z+8Jg3WPZLQjSs0eUvZYb15oGwEoD2SFyBBHyoVaIu/X1GMxtRwFznojB0fwFQ938P/aGX0cEIZZlIFJwRuYYBcnQMpRGN/v6gNbaGtrU7mxPoepYLzVjGa2XTeRRAYvu0gRnJtIhLdGgAkrmisMc+cMA7Mz8YcFhQUHC0cM7+MJQ4GO/BXfUDEXDQkxEf2dU62tEikNadgmhjdR4Wo8QxKbqJ/xSj4ss7k6NMZ4r7qWEp6j6iNuaKc1sj5uHvkmXl98SaZ1LO9qewTmh3ngMwRZ8DsDyBD+kJd8vohew1usLEPkmkiWIasOZAz6Nag1TDO2CNEHGD2nBG8fWfBHCFt3G9uDU4HPQJ680qSt6moFy3VBvrLYwfEKD/XfWFdurMdQXhzzwCRfLJLVwZAbPaMYbpFx4+JBDhH69lONJsfxKQN0dt6EoZFgcKVNcTopn4qAac7STgMPM4k+UxbIWCsLf9tRK9wcWVNX0iidE1MgIhO7tBKg5B1YpzEIBkLi5JNMyg808k0KFwgH3CW3FECs9c5UVb3aKKwIhAeyaIN0+IIMduajhs4rTthJFAUMTwPVFvnQbSnR4v6Y6581iEyzr4rA+1hYiOmGd5+bJGT7OM6UZO5bZvsFjEyH+VEZJuJdVWoIzvT3CfZxDxoL8k9SzNWCeG3Hu59tR4HdhytBogNYPIjvRODQDVAZMhujjUT3hQGqwjDdclwB56D9svaYhU+UR1gFGNF52zVEqPE1esWdxsyX/Hc7yO1JnmihKZFQ1T0EKiUcI9SeUEzsHyZp7Yx3p23VddLh6aGe8PQjL2UjDwYJOXOLjd+NQyTNZNzWCPtbl8369r/OiV/vIT/OaMn5H9wC72uNsIWglIXKQR7tt03RU9++PD5XOTjpO9vJxOSuR6PoQNuwQmLoZ3EXvD6RaiI8ick+nycIXioYdQqMUh53P58XTHTRWx6cKm2igZHRWwyIdogNqCGSA+tgWUDxLY3jgMP1doC796mKNGOtlPw7Yxgf2PfDgADLecOtNuciOie/SzE+4eHi/Q642ZrubUs0WIkOwWT38Waf+Kvm7rk9Pfl6/7o9f1/tfX9e/v6+/7vOsomGV0TnH62eMvNOubfONBeNxORyv8/Kfr+v7X79+flzkBv9435Ztu4hQl3m+nOULKwShCetnKyGf4KCQymwHWDl6zVJ7bqsKnTfP6JrnVWPGb4/H7LLY2+3xfX1cr/fv213k5xjM6Xj48Xb544fO3fnflhfb9nz78WaK03pVDe34CwFjIdHHQwJyCKyGhf6V+iD0HVQwLgun/CMshqQaEZH9omoIT3xMFBUlFeEadWyJmDDgSFoiNV54HlH1j9TlUEDjXIZdm1W2s35xZZCXc4JqXg/5NF6EGTN2ETaMmubJ+dI+P/0tiODtdJqm6bktRI6n6fzjY/r5fn47Hy7PwyJ5f7KUwLZy1mfT8Xvr87h6Atbj8JzUXv683uf7bZl/TMt8XKbjNO1bS4tFeRTjhALO7iIVKLFUuTHlRonfo++8lN2mrRNFeBGJidmTpp5GMQL/rucFOMC5eAGECWeYEpAqFR++KujIYBGwZvP9xXFyhARJzHa253o+aSBosOwgwSCdFEo2ZIbDXMXnMLSnf4FYiGInBNs32IKDkiFjStj5F5Is9DgSNJYJrNlA89CmrNEJiawYsPhwUYM4wfOMXImxwQBnr5+oYMaydq1RTVbfFU3YSVYwlnuGVYcqN9Dsu1rCgxLk9lpZ3UvkQDlnlA1GQpseypJFjR87inpqzOT1oZTKcBZszaJbZTaTJCiLeQm5wMTDwZy8MjQ+3InCrs5zPgHt+GRAGx73zAHzAKAoiPjFKE3fhM2vsDnvwlHwgoJ7g5C9h8TrBJOdfn2+TaOYuKFpzYhvBDHhOkPdDdcpjI5RyCOTOu/GA5IaeGCMDeMuBZuqC3BkXeMkRimiFuDu9GSs2YgltEV1sgXjj9AwUnbIYhN17F5dYiMqwHcvtzm6oiMAeLUM2QA3cwkd5BO0SRLJdiysW9jV3AEOeI5aTOqz+9Kci6drGIIVGTwWja3EmitBWBWoxHMt1vxvbG6veMxLztEa4Ue8YqM1s5Ft5ESP5CEym2ApSF8WiGU0YZ4sJ/wNibJmOJZuQ5jQDyGbxHHDASWtiHlMnhdhWpu5vqjNPssjOyoN7bQOEErK55FltdmOh/N60JROY6J5Sy7wwrh4UAGzvKtgvFI6+Iu0+gz8nlFvbbkxPqtNvUeSr65bzuGc2T8ysa+D1Ap9j2hKOKQLY9khzcBILxptfl6GPzRAE4j0s4e8G+4SNWJlnszMKGYqJniNa65K3IY5hWI5157MH8Tp2/1KRiAm/ZWnUXVhou5UMZZCBMyz6VmB+b4kPRSG7X6b9m6JD4+VV+mflFOkJPHYF9PzLU18WkmIM4EX9XHpPBo1zxAJLTkkhCZhM9LLPUo05J6llqIcxQAjdCpF6kGFvj2OegdTq2c7BMwFqOrcS3lqbwloDFJoKLXpUU5oLIc2EtAIHWBq2GGjbnBIEsJ+AXmfX0rx3fauIMmQVmBOJNIVzkAsZnRo5mWYCulvhRQonTBj7q0cUL6OiPHt7RyLYU10gspbemPcoUeegzlE+peOAX4sGgM9b8v2vC3r9THfFfRqSD42vnK/9oEV+dQrrV70uWLTz/PpMJ1O//7jx8eb/F2XPPswGyaSC3StFXYoB44DYIaLc/BJRZgmYUz/324mjqZhZKs/v1PERRttHZBoisjNoEVlnZoRQMwow3LS0KsrbHEWg2BxFLc75xfSgjZ8FNNYfEkm8t203a+SGcEBdp0Zc+AwCEweFtPstpI33OTH6KQ1F7AjT9ZZfuaqkVVxgB/z+n2bv+866+g/vz//8/v71/VxW3SA81NdnUCUh5LOyEYHkEKALueZD4fPx/L//vr8IQf47YfiGGoIXuf1OJ2WZZbH6RLo1aV+CXkrr7Sog1xF9Zoqrmp7jxa/35frVVPGr7f5pnnVy+fX7ffn9+/v26cmdd1nVXYrs30+Hj8u058/rv/X/b54UMpjWX4syw86it/djuz0x3SYdDoSFLlz0N7WlAGq5UkzOOMqbc40Yl7zJJga5rhJtEOJIvxdJQLYkA8wYhVaZvli+IX5+2T0Yl9lfDiphY0WcoVswthh8r4HqewgUMYUZZEy3IeTNiR7/p3nwA+QZZxM/hV7yWNfsrhhGariz2V0J80jO7+/Xf74+fHxfnk/H6+rDFH34WfklTdj8+I5uadwUnP3SWnVeTlAAH/8eVkeh/WNwQc+UmCVFyV7AXePOGTYKqMBsIuGtsI7VFVRxxP7CJlIcvDMHwPUqfFJhNSAVOgtvGyhEVPQHVbIfKMRIZ+YUVRMvSwXT0EhcerQQ11z9YJdCX8zpJHZGAIoaR1W90NCP142ecvkP601LBUQMCE8M2zseCcwo+N4O/p61wvoy3RkelPJs9T8ySXVZBAcpumQt3WRMPtYQlKOxFnPEnXjoJaKTP+VSgffxZeIRR8VotdyuGuMYcg72zSUk9br2rIEC7Wm0MkT+tVJT+JKBALxCJAA+NkuZKDyHM8gwQXkcH3M+F1S2qo/inDm5SH8crsRkvfhbESomIYyzZhXJKiu3zvHPsQfao9HRokp+YPhvbiBCy+a4zl2JPsJwJ+PQn5U5lvZjg8BxzA1+WG2IKIn2HK5X7xa1hXDfzi4hB3Tqv3UueD4TSFZfrBMmpgtqcbdMbe5mN1WJ9LbDmKpOuziZBi1Czk1ojOYIv4Y2MGrvTuCLxilLoDvmqJyDcERlKwFVxGfkFNpDwiaoJxTH2wCZsK3YXaD4MV8nfw3VO3K5KocFhQMISaCjgbPWTWfldyg6ExPiQUSIg8xlSSIdLR4eLwVSq7uiJTMEry9KLIAN1zGOZahO9DSR0Xn5ivggp2N80MxTJHTx/eHhGR2GVIPyWY79LSMG0rq44do1EvAO9NiqABWIUWVPmyWKhjmrWcb8nYyiNqDdrNH2lYtPnyXzCBP7oFDrDLVh+CQa2D1ApxI/7Pn9U3KFnIgczwJR2jCipQhJaXL2xNoDzahMNe0KyNEK8s+Jhc3I6wZsRkhwqkuQbobAp3hdmHmLnrQXH5x2D3EzCBlf5ZAB41UYTVmr+G74rEk9RS8+k4mKQVZAM+VJ5mejwLAHItwL+CF1vRfwYvDxCPSQVdDZhuqFytBip3kDBGcZxkuHpOrZ1B/7LqGBO1sjvi0YYQLDnzcWkbW4YEnV+9nQ/mAnf3t1DZ+IilCzvkrV2IfOK7NsTR+Nzkcf5s4ggEb5hgPR14CAnIEVD3VtgDp8aUG62etJpDdACkxDD2LtTaCpHCHTZM0wdBD4eCEgWwFl96tcHHXSaLS/7M/H/kIXcV43ussAzZUMrtIobsFJnMmMr67p4OaAmEaVSRtRzNLzAY5UBpE9JiXWUcQrRn7vN0em87+ZQeIcuuTnu7CP7WEnGW0bXKMn8/L6fjj7fKn5uSo6OCkwm2f+etCgUwsoLkwRlukcrY3FMw/oF+4eWc6DVuekuaJiGxFfAy3LO6RIaYimlOafvcFLoVoIGmYyLE7jGrrd7gesktb9T8kMRP189o8pM/xgjWRJcY5lh0IG1uBsW2AUp1hM4koSQiRGAiAYSKHf1xPrNZsFT8robrOaqZdb7f5+zb//r6r7/fr8XVbHutB0wNdhhJ1YCOipJZdwhZtpGXFCpcsz8PXY/k/v75+vr//eXn/8+f8/n6RqzkvSgCrCmk9nyfv5SxdAbTXZXks27Ldb7fnKupal/XuUuev78ftPn9+37/vOpxJjcqf35/X+9djvuk4YJOXFcr7Mn/P221en54s7iM7WgR8yikyx8v5OTkCs500Sqm14riZxaaHI1bUg/kInCB14A+AEHOp6uR5uJz8Y58PbGYfdFa5E4MlurKdpoOSE52q5WFmH8SO/KtT1In0+8Py165KvQCeZwQOg4b38VXFTRRApFSe4S9gmpA8qcYMZm1Vw/E0aRT49vb+9vPH+58/3v78cfla5rNUwLb6oFlEZGhIcyal2VVUbym8Po/z8rzd5sd9nd9PHxvjlG1DiHSo5fIrCRTWFbNKLMuwjQjs/B4h8qpt+lXUgC+qRiF4ETvkBdruC6E7McqrsMm2KAwMWfFR1oGuyWE0w1bpdOksKctA+2cjiNHol2E61MpHUAS9vLFeoUGF8eFYNtqVSHEeTuS61DO6AgcbRJVTu1fARnG8WG3ZQHgjH8dW2SuuLZV2zdYKcDbCXewayNl29djDiDSNiWcyeXzjcJPTs/6I4GdboA0wv8s21TjsNyv1F8Pk4K9R7Vkoh+D4PghCVeMd5Dvw7EBIj2+HebzqlO/5/bj+MZe0YDgJtsPzHFZGAo7DP3YfrDG4j7apfYvL0JG5Y3vGwSDoljdQPJxoDj+kBuM4YdoQbQ3ThFChFH9pW9OTZUPipSRvJSLEGYtwgFfUA3UVFEPn0sNlK9q6vdkUW+aCOSeWlarshVjGC6des7nOEyUKcxjRZo0hL2PCkg+3EeloXJrsaz+UV62hKj4Tpszyw8ZsUzfRqWSExCEZEihm305TiaXarxnjpDHt2mPMuBnDclNhbZDJEuVRqCNXx6j5TGBWY3pJEIIjQHamDA9k+cETqOL0GqDWxItuwKHIloftWQQjikTTL62kTAZy7f0Yo6EHkExD6LQlgLUYUEapO2LQHyV6wooV1YFpRJx8DM1ZOTE1KqANmLh+VBIgWyML0KrU9o93DRkwzj3UvLXz04dYsAmCSdHBsR4ayPCBfr5QUIzViBvGIFz90HtgQWAmNyvt1Bb/Ld4CtJZIs2+X/arxU5FFVL/a69mRWoLUanN8kCfXJQsKYdHJD0HHufW5OH5GWjEZv2QHxiNYWQJigcoPPZvTdymTtHQ2sFKUCzNRE+0huiEeZxHNPNGpgcMAAjiysEkZijPLHEAKnZO7g4xdb1lLYg9h8JUM/xT2hi/cnhU2ZU/6qtVTCUHBtV69aKBahF/qXdvfZDoio3MdkozZFpHqIYKMLonvKbrVqLP28GhLxGJxTyJW+wp/5HezqnIfdxiCaA7WnAVU07gVMz1pAS9XNl4wGHHoyPxg4nvH3kdAh+bINeXpkJMHMLINvaa1Dj5M0AnMjtT2D9Hk40nhGE5JRcH4acStTXRoovo8kZsDG6DE1OK7guvmnWD8sHd0jI7UjjAMgEsbbFgFohFTFhPkfWm5nBdNvVp8MOK8PmdNwFq/7vN9lf8zBAVFvs70B1YWyyYBdQXL/56Oh7fz6Y+fnvw8PTXs+Xy+TD5I9PKmqh+FC+MDI2k1VoAxubFvWh9R2g4NMyal/T9RwtZmFOGbBxPQIYAM04nI6KDwgiWn3dKTaQuRSCBV8HZME8atSZU0XgDubzq4jso9Fw3qOCi6MxAVQaP+bPAFRkCeoqWRtrzPRaCrW+v9WrUJSepiU5TCqMaWC6zJUcs83x+zHOB1ZWjZ5+3xf359/r49Pq+qfNYcUoUmHUZ0TakLhQ3Rukjtf46gjYntja3b875sv78e/7l8/c+Pn//+15+Xt8vzfF5Pz+PyfHs7vU/TsmzTaVJrcM/LFEVpVbjBds5vj/tj+b7ef3/dle/9unku1+P6WL9vj/uyzs/Dojpqe65Upj4P2tV6u0yfHz9+qIrg4uT95P5FNZOvz2XWgdRnHeh1VPipjbEGd1UIrCBIxqeCwYnpRPRFYETdjJvMb4iW/Bq6iw9cO6J+TM+OKQHFYIUdecML+/LM4OOFs/G4gnPEJ1Z5FpdYjo2z3SZ8UZlj3dgI3NWVsOrY711Pa2HcK+JsnEWfRp0dj8/zedrOq3oYLuubwls//uff//r3r++/vuebJ56p/CRyvQN+fbCnQaKEnkdcqbR+np+P+3N+bMv8XM7b2+UkunFdiP7T8UhaSbpqAqFK8SKBbQJVn7enTZZdR/Ve0AlAXkq8fGPUhK922RGv4QGvyeR9oLGRM2QCEsO8k1Uxsmh8nfkw2EINyocAelFkQt7i8v7MmxxUgfQl2k4lXQBSqKAfI4qb7400iwNQuuJIsoxNhQYQ8JG3rIS0RU0ZWwx7Dypw8hwWcIP01Kce+OTzCFURoDCxdIJGnaH7sNNsjMVcY+ylD8WhCooG16xFtzvkh0RaVelKwIIye0dX6OQC0YZbFm/xH/8TUmhM27USOSQPRZwBIuGXAC8yoDvWCjkGpcZAlK17ooflEfObMERMJlu31hCQHUW0e2MivWZFgkNJ7J6YG+rE1g6hmWRfNGjdixtVpSE+f76dNaoyI9Ns4cI1bAhzYrydVFDIsi66yHlIQTzApo580oPXhdiIwnIYlDhWZJI/Ddn4euX2h7hDsFIHl0q9EnUKzqgNAA2wn3W+7X/248tiseWsGWzO2vyUV8EpJAw4Fj5t7bDSEP2mbT/XVON3xAdwoSizJJCtaQxObT2GEX4+dLiHI9MO4JWGJrfNGeBaLaqyTeDCa8W8bigoe2YPCdxboNikbr0cQI6qqYFo0NSC3W1lllUY7n48bqCvZ8gnY5lsNcZdLFq9Fu+V5tg6ObF6oyx5g4FFAi01Ki0ggQwoT+VQGaCzG2GQIMZsDTVzeaQxagBhVr2Y3UQ8GdeUv06ao8M3hmNXUbrrkkpygEbVTeowBDcOeoWsbX0i5qL4iXdnIjepXRXDoGJeXA03f2ynKX51SnHiLoda8jN+M+GhP+BtoINfkSGEGQIMdvAzIkUixaKk2WfWU5NDyHe6McfKxrccpNN3QZGITizvF5FZqwdB4qaK+NooTeqsXE1bI9jPGxIBYkpGtnTP+F33RbWZhNJNJ2JGyCHxbIsvqmKib/VPt7kOsAbppTmTStxsVt4D8V7ijgQ5c0ggWTV/TljBvhyBBPmH0RwEAMP/Ycuhs8uNsBzvb/miZIkz+V5zxwMqh8ljOFcg9pwRbJIeNubojh9rjMnBGgbk+T7MG7LoJyUi8AFD2EQLRBKaLQEH9xhVJUXbNFkzPCc7RHWeZ6R2pgywBT/CJnTnu0ZTUuMzPLYmPX2Set59cBKMbhziP1azkYeRhiiFnFPj3n77wMoFP5dNx43dHsv1oV84CM9a2a8zxjXBqrYET3Yydz0e5ABPp9OPdzlu8oEv57e3y+T/yWPxuUfAgMBiup5NqWiaYd41BRVTGFxYKCVGZCtd5k96wog1EJSET90YFIpo9L/OA2oS3i8RI9Rz2gSAH4n+BiEw44gN+xajCFHQcQetvLBR4sKYUBjvbD26Vu4pgi+BG57nKAOyEInKGD6WaH3smVc+81ezo663+Uon7W3569f376/H31+3213nVyl9atxnYr85tE6iPUA/9FVscvWQlvN6uC3b5/fjv39///Hj6+39ffq4yNnUMGnN9/dEHZHw9jySp33Mj8UkNd9njVObVzf6zr8+r3/9+vr7i6nUD5/JtM3bk3OJE1g1GEJ2mzrb//P5/fHrSxW4FzUbnSdV414uy3lSyOW5LJsokgZBAmsZflQhYmdXoB5p4bKZDCa3TQ4f9kV7RuxjM+3Fb8AN6o9Yg7FiVvwjkmXyTsUmz46U7v9rYoYAMo+Q10dm5kksilcP2zWCNKKpn/DmQS3JbATlGCUQaviApSF3+iU1Lpn1LeCeLsejeu2mafr4eP/3nz//9fPj/fx5us+a9SyHMcChRlOV6rLR5VyuisBN2/M0r5uq36+Pnz/O26L0D2G4w3FxLEseIP30ACo2ZFkTuyLi2a7Uc1N9Q+p7s2d3eAUUKHGQXmFfbo9st53bJ/Ce2NymmUz3hGyIIoHiagnExH68yHCBXwKyCLl9J8O6iV5Go/sUwwBRS7e5iEFvhZIHR0QykA9XbCC/qG9h9v7a5P/qnFk+pcku9IPfHZJ2AfNwXUIb5HzrCTuS2ZdGl1JOHPxY1CVOJKe3C090NwNAHFgtG47ly5nGHo4R5U3a92PFrDegtcNTh/SV98pocHZzuozeRAbGTcKvSHExz/XzUnTGG8tGqPso7n+CvgqI4awAGaR1tWXtUAnslrQOD4lsGlSCDah+vghwLThnFQ+3KJSFiSzsMh2jNM+N8bRjX6h7Ne+vewxQFG1pbSBBQ1QzfGELdhhJ2QNP1hFZClJSNLFzEykmrwHt4q1mPD6Sl/d7b0NjggIiW769Pi3slBpyKmFVAoRNc1wjNOocsZis3+ymkZtxgEGLlmFz1zPRknZPIryCpQtm4zHkhgoY4YegGS8pWVj5s7hIltOMoZ2ow5aBwczuRLD6kIrvXX6xq2w/+0fkpumm+6nMKcF1i6H54ixUw1+5UNeJ4h277BEmtJ41F5gOQH+EQFbGvzNUTLX0SfJAinJhXTZEy/6+WZvWaQ2TWM9zKkPTu3JQSnbEFBOAiUThTWNP+z/7F0D0cKnEOx3nUBjJNT+QNfukMZAXQdkhXrttFEKTMExMszrDE7kMW8M+UTXL7tQth8OLge67IiieJAvzC8sCQ2nFtSiInPxx0bJiP9pLp95k4DBCKV6sRX6fS7YGSDK9MEOJ2+HJC6PBIoYiRGAG35seYIQFOxFlohkgLR99rgIhPeykIzNBHVKeWJEF+N7MzDmlcBr7cXSZARWa5dqzUoSFQWsGkMpFclvd2TSY7ZdFi9tHTdgI2sC/tQHjyLqBsy5yXViwyZSH6tB2i+F42niASc8ymNX2TaM1L6S5D7atBqgcYg87+b6qeCiDXfmWWmt9PvTUl0Am9iVSZ2UYlGEqxoCPrX+sSdKk3qAI3EzP9Fz1G4e8fDNlDykQTHVIFJv5xTvF6uU/xFbCCrAwS4462YOgXqyJ4aVGTEeGuLPK6IrC5+tOTPexSfumLKMMN2tZH0lCNVGBY77bNp1MqJG863adl+9lva1Kym1+msccyKKd/HqJRHnuaLUcY6BKjuNzOh9/vE/v0/HtfOL438vl4mFPaiA0K6ic1Z0/9uqsiXIYmZfpY1GC7zS3D+8+UzewU9PlUKsnV54mz+uqiI6IqQRDCnksnSdnYpbJ3cR4zYQzSpgYDWAHuBLAz1SzQFzniCCvnbB+aM+OdMazuUKv1/IXaM9l+tkj6C8JaC41tUgia0dONWgsuGdFPdz1e/dgoe9vlRP//Xn7+/P21+/vz/v8EOM5CuK3QhixPEajWsJntXxMTLwforRoP94f29dx/u/fXz/ePz5+fpzfpg89edXInsukQzBcRuES5uNCGGVeVVb/WK/fj/tj/vq+//66/f35/X/+/vr7+/qt+oLtsR3W52nTGkTRHomTWAXZm0Xzzp9/XW/nv35p0olKrTfV4b6d39b1zQX85219zo8JoSTcIfaY8pq5oIIu7mtNt4E61drpjIHEQgZeYnZAGBjVwAIy8N+DfSHIwcV+0WhCjrDxzqgMGqxn+CcPxoPjl1Qu+QEjMFEjhUIvq5BYPPBH1hBTrOIlS6w45dG5K/utvEqAXmqoEwbYtlidxgX/aA7W++WPj7e303NykPJ8nNA6KBeHo/W3m/gAkfa2PLfr/X69vc2Py8rB455fruFNp00TM1nsSeKoqaEcBl4l4VdgMNL/0iA18Ik+ixTe8dmqkOFBEdFIq1EsU6S9jWjLVDO9HdHkbXgB2De0R9jIX/iQufAQ+nfg0cq0V5LdK37s2PgwuIRvEOuRiZm1AZV5S8g6yCkCUPKnw6Ws3B069ImCsbAMEiwW4JjuoaqfsRgsMfaHfU+qES02lCfky8f5nO8TanBOwrLUNbqBhgLlmgifATTpqS1Zgp2InhyOyC7tUslwDQeYwWMDxNhOmedO6CMzGRII9EIXUcruGj37KL0QVYBSpYMhFLtod8AY6fKP4QJet930vsaLwWsK0AEZYd/XAPcIbyKTDH4/K+EDL37XaUUF43cdfPLLOzy5OZ4iKXiEuey6M3ggBVND5neyiEd/JHeayH5+bFCks88It8xoJtgfedQbSrnKU18n82/DzJH/xvK0gKqjjgDBiOULSB+hm3SueRmygggy1rtnj+SpIL5uFiKJi/pCwOqrKFmvS5tiQwtbttaHpB4kwsixBDdgJnK1bhu2eRcS24NPwijGxUT1vHZqutdxkd4Q1nlSiyGmWPNZBNUIyJWBGpPU8ZiDsFsQBMsP3HklO6+HJvKlf7CG+Clp4wiXJbyRcSBY9kRWnCEzWU5kJcaSGGWqtGKfQerOlrF7+TMmViLEhHCypkrWegXsI09GBI0I5av55Vyck9VkXNKzGn7LMU4FQtYIKINRxg7ZURR9ImmFRdbGcVMQx6TTPpkDBtBfBBMVVpZ0q8rmdmZDMhas8cQGhKKwUQ3+FyEWnFL2jveHYAo2GXCVo3QMzDGbi4RPf2eTcjPOLqVACjMTc5Q6xFsH8Oym5UCWoUEEkXYFwUEUhN/SI9f8hHzI33rbg3KSRJJh6FCsP/aEDDOqy0gdpKhTywKs0uiXJv7KxxT87LaPfrzp+K4kN2vnZViI/ZzewAS4yEE/OP0u4Tu/Tz3YSMF0BPh6uO7lKBdw3ah7NmySHoOyxg9KNa1taIUmAEyy8WbBRyxR/ijLIEDbMPIaN+6L/YIhF0btQbdOfZbGpdR1ltpwk4JYKQXtKaILaYaDHJ3hbRRaN4FjIDtwM4oR2FQouz4eu4CCZEwwSordQoAjKBsBUX/HCKZSY+hsfG+VOqv+2eS0bh6aqO91lOy63jX7SpW0d7UG+2TTKDcXOXtzTITC5/ECcF5kvb69n3/+fNfRRz6+dbooWSfBLqLVIUgARcNuPE1No0TgUw5wAp5uVrbtif5o/TCYQwHLfCSmFhYAdMJIzs3yg+LzDJrvQI42khnaKMUa2Xqaq5yICbqzmhWSHA63Di818K/SMInshQmgroZIsKqlqRT7hSWL/V2zNpR2OCzLIprT2b8+uFkzpR6UsM9yg5f7ff76vv3+vv/6vn9eH9/K3itOEiqiwABg9gUxKTC+/b6QYmRalLVE9PO5HE63Zf376/bj99fHf38ez9Mfy3T58Gmv9/mssm1CtBqIuXDK0bI9Huv39/3r+/Z1ffyWW67c76/r41snUD9n+50KWLoji4y5PXNncmOZHDVJeNv++/l9Oh1+/vn+/nb+cX9crueP94tbn0/b5FHiiznQ503vEASiVojD3KQRADTHw4XlkIlVBVV+I3lTSzHsCPikWaKBA7wwfugxBl3VRZAdORWM+FkIRwRkL49tgi/UyWshcy8VR4hzO2qZYBRXFCTvMZRdY4dsPfvDhiUqFxspNm9chJQrqNnf53mvl8ukUVgf73+8v71fl/lwXnUA+GmVWrfJZnLDRXUTjfbgPIC8n1ml+8s6b+uiqa3rsqYj1JlQv8aCAqblIy3Gbgg7tzBFgELUGGAkSevi1pELzdc02Rm3+boXblYeqdmUYUJXGwTFSYGQmnIPY2W0bwwVuRAhjFTqCkqDQFXVWX/U2a1daFyhNVTJ42cgEIY2DzH2kSH0/Q9kSU5vLGmEAG28Yeb1SlfoNTpsIy5BnF1EVbJVkjw59pKuFMjZkDIMEkd2CKp1ZCmK4Q3wCs2iL+U/Gf1S0rRMcRAS3z7bBaaGZGj7FQ48GoZiupA3HjIYuAh4jfwAMJTOyuDPCkN0uu1miBDhGZrwKvjHqOB4+QZMDH4utcXXVeVnpN/Tpwqmj4wW4ryJTINJNa5NyRJ+C3JDspbnjlqkIizXZDMGjv7pNq49V0cxbRCEzsoa9U8thdbUYcRksy/CMreOiGEsE6QI0DSQKlWT7d9BlceqYyJmjWkucmu00/qpXXfMrbSJYyBFTpLCFhmS7An9sTdkHIKU+Dif2yTiEyPFDRHDnmwcufMCMA/C9KVroUt9nm18sxcBkAOTg0bgB5X2qkIpfo9rwyAaIBtxBHIC9EKLx0JSgJon4Qhlv119rgu2TBla4iiacvIelPccTu5Vi2PT6BnKVAcU4kjBQOxn/elzPvAJovQcHLGJ5oS7jdmXTUADltrwG8y+8wwBPD8rjZoc6RmXzI5HaXcIpfyj5hTfkOXmYYxKw/ej4gYHEieQ0pUq+0gQmmz3TyJ48JCV4VFBrF9M5sGpwsNpcnUE2PE2R3gssUzSbXJB0yxui9anfTrDlshTcBm0VscYBv6tPR5dVoFL1zHp3tcPyzCwaFbh381QjgBQaT+cCkz2xUPCvMgA2n8x7RZq0KdqkZ10RE0y8NbVcnDdk4MalnXOTrWwimbEC5KiDDBsGiF0b2TQL5SEAgrFAlbZFuC887351UaOHRoSYCG88KP9DLzHUEi6tC2nTUzYYtbznTNkzjBfOIc2tEJk4LDbCF2qr8xuCPTQ2xkkZavxRVKbIyP42EL1XyLkpIYHeeCzISoiGyIFoDuE5hDyUdoOTGS5JhUNC9ZYbZBoT6iCG2xACUdPE00Pz2A+e0++uJF998VBWkRubMq8qBuUk81AiMwwczlG6muDP4u5EaWE913aiuiDAEIVtm0s6A7rshzUZ7fAkvIgHg88qkKzCrsAAQAASURBVHnRDKz7vKgwdZFsdzjV8SM7DI66IBIVmFmdFs50OvPu9Hb8+DH9+efHx4/3949pertMShmfzq5/1oOUp5M9E2lnUnDVhGfIYWNFwPj3kj/oAWs5pdC2KnCWt+zIkN7iG3KKuPOBgRL83aIhAOtTiEJNQwAgnPI78AyVxFA2Q8XMiNGm04BSt8lsPHr2fE189Jri9Jtx9JoNFDww6L9qgLAU87CidFGKilzomCC6uFefs6ue7fvisMWiaVL3Ra2/or7yZMRcDTogEbpnv5ksEe1M1ULISMhfD4fbtv19u09/fx6naTsf/9fz42M5P2adRjRZPLpxRZBdnwef/rt+Xx+fX7e/f33L71XT7/37sdzW7aHLzuITgcgBzmF1jVBumNRO8uFwe26/7rf//v6+nE4fb29v59PtfXq7nKdpkq8vK87rdWugUpJjnqwtLEI3BcYucaIh/ad7/KLRIlxrRu/8voOvQqXcDu2KkmvkhVfrafqf/xgfHX0l2Rvzw99kkftvsfa8gJGYjYhD9/oaP5qwV1+PZowPDBFntwa1vVN26PrwbJrNOB4dfvRH7dtHh76/XX5+fPzx8fE+3W9MGK879VTefjseLd6Z+n5UifP5qYFl6+E5r8tdx0DP6zot63ZaloNGx+fwz6gJRBuSMcmMBMTNZYYBepE9ApTcWc1TIDLzXvui1wzM1Dewj533RrEOA12wca1NSGVUq5GGp+g38nbY6pkMorOhgoIwW9M2PCBLrh2+ZqxmUMRP6avxtexKVp8HEYu2IpNZQmsPuxf5EuBYw4hs4lBm8HKNf886KQU3Q++VoHKVC2yEtMvCraT2wR/EXNz7yOccUJfl5HoPEGn5Uv1kTifBwtfVFG/H+h7Ebzp2HZNBBs/BRG4Gxt+jvCWDjusWGnk2ZAmT7E18gMGINPzjLpbIQAXWgu/VwpLMT95lsGkEjF8+REBujShCmOcOlhYE23Cq5w3mRtuLKQxchT5ys1uPoEOci5cq7hHc8RCqfFUhhvdLJCX7jRQrVTDOAVWbSuBqz5BMxeZQkKGAQe/MzkCLeluYOn1ErO5d+BenMfj9Nh8V7Fqmyq40nFKtWq8huAud9A1gwnAjoGDjP/qaiwJ2xhB4EayNXl/N9SSX1pLmHPgc2yC9Tu5QWEzXOetC8SGF4PMTmCQbRo3bgSnQASlslmtfi14Ekd2hZT5KUJtHhx6wRcxg7nscj8SubdGX7Zgdj7tz4WdFDFLE4lV2WgBLiaPr230H9q8F67qtKbW1/VDrtUImJ9r03Z7fmbOI4kQgfyCV+DAmPyegzxMP59VjE+4FUwbVQVPdQqgswgESHhEOS3zjDAGSl6em12UPFaOEXWMy6QmYc+ZhmdpZi8VduVlmaMbYRl68uKzsu4jDoQ7/43ObJ8/yD3dAtWybcfrZclLxwk78dR5uMUrwWOOgiSf7JxIhYYWcfW0Rl4diMbsIvOWYZgAZmdRkek9BHZph4KhUXA84UNXjyDnL2UteIgVSpmRaKeNFDRLzE9RV5Y/ka7hcpM9OvydtgIawz8bhzmGyREJVmpoMoWOrpUbXGAKHwiJXYVp1C3pKGiiGi6qvnCo/lhcsIKS/XSFaN7MuSsuGQwOFVYyM0Plua2KqZkMveTboSreCNc7e4VpskB50Ue4ouxBgjxiGO13u4ihbdINIU8sNAVS+ACiOULaRHTEMYepuHFmdPh3TMz3DiOE+wd96GWMFVJjnJAKjgyfnHHvjxQw3pEMt8hcxUn1iZ0IROoxsZE/OMMAgbpBY4sJhl221++RZRTPnHz3X2zLflkWdmXZzkXz+TzuXlxfxbY8+058koU+n53Q5vr+f3n9Ml3fnqs9nDc15ezupadNhFqkg/W6HSbGFYpwhCFjayhi3RNmk7mt0QuZ5Uj2iEwtqK9jEVgwHGsZ7ckeQAFYHpYZlEPRjKCa+pynQwGdOClTjSyI7ADd3+cuiA8hQJBKiFcxTRJ0EYd5vJt0rMyxng8Y46fYWgnufeETmDBkCi9ntTQ6CqdDLerjN6tn+vD1+3x7fD2WHj2erVwuKaKLyKQAPP/E/E1p+52KDNTDTMciHh8J223+/rpJH72/b5fnH87Ks5/m4vqfgWIBwlcpTdQS3+fPr/uvr9tffX399Xb8ey31Ru++aUmfvKgNLkFXmysiMyCXBScR2mp/Pr8fyn19fH+fpXz9vP39cbt/3t4tO5TlP5+nt4mtNBHJ1NKLLJbs79mCyqu3xv2C2YtAyC1raNRaJxUbPI5dNtCwRezE6K2F+Wv5fap5DX0Mes71/ns+0OybtNUOD1kUCi0UhQOuv+b8KMRhZErETXyyaeszKRWxU98TtKGuwuKGqokxI/p5OCycwid9Pb28q+pHbT920m2g8CdA9hBjSrsPfjopLzAfNir8vqtvX2PnHsl7Os0eaKS7snqCXWAUrqq592fS+8ZJ2QIYUNffFt+VsdpKRU6LSOb6hqgzOj49VVytGp/9pMW4b2o1uzmsnGDDgj0HFmnlISmv2dQobvBoKQtdAkZVyYxSQSWFEiOMWApXQGl3HbD4KZFCG8cw7IWyqbhOJ4xkIgBdtO4IdlgAWna2VCAj8GsKSPUC+IzUCKNVgoutiQns1KTHz+xLVxLnyKuxadMh6JvoEsFrwytlcFvPmWIo2alhzjDCCLrYOWIsjzyF23XTkHuqVfwNWlSSaWVzsPMydVo9ydGhQVSMD5RLbAC099AMM7WIf4hd4rSHcXtQCJRaKOqksQx74MwTO67121Xiit5Hcm+9nHirD22Kw1XSxzIlossNCcQWmRphrR7JXsdsmiaSYmdpNkLU7fNNt5JbM65ZAzuobfAJBbpoKuYYVU5MKsuzrEafgseyfztmEAsEIC1DPYyR3YxaDmyN2eQ+7TsU7KTp/OS8znWwyUbjUG1nk3OqdDDaHY6IJBnwot/Ad1GYGlAGirvaUFdU8seKJwPMQODU/8PXZGGyPPZfdRRmU11tK6nU4U417F7Hlijjs5YRtvFuY0MmReII9DFabtpdvH21or+dhWVamkWjwR6sGAm3hnGnkqgH2mYh1o0khmpxpfBhp21BYyqctPOSGNdSHRAx9x1CPGxMxkRIbZsd7iyg3f7TDSp9b6Kem7qWeRDc6kiK5jjQZBEXd3Hhmint1Ql4Led1NjpFVwRwJRMQ9AjmMpK24xtq8CWN7GTgM9p58oa/NYpglIHU7IqBeG8UKlIhY1go1PgkpNGdBNgiJtw/lOQQfHl08GbM2QW66O7dlBpivpg91Ihyb5LTPaXVtVwVB8bO0P4FKUQW/PbUjc690fgsV/tofomfUZTO9mZBl0kj2B5wYD04xldxP7/x5W2K84G3T2YxjeBscwxl3mEI7IGvvZHMN3KZ6K8k39u29OZYUjZlVB824W5hBg5RCFhFUXjjcZ7BoEJRco1Zow3IguNoESjfJoIBjU8r/aVz8pNFuMecc3NXu3HmeSEMikR1ZkIsrmFo/77xcNCswhkAi7SwZbTyRU+VGylTyH968O2csRjQ3nnfElK24sCwizAceSQnvb7YHuLhJBPd7xMsAImRUxLh/6WBmBN6+zLRyXKWbnmdNm8vj3eSvbOKmTC9FiOuyqf75vqy3eXnokKHIHKoY5eSqKEMHPoMiHbx6Ok/H7eyTaafp9H45/vh4u8jpTbhHPvDlPF08tsj0gRdHMWT7zDlf3VxH2ifsaaPWOQ7sAIbKVvLbXayOcO+Fa6vBgEOksY9wLWPw+fbwezqeWtlNSCMkg/htoBWTGtkbUZFgXsK6elVGPaeLxBtK5NHviKvj8ARP4g/ehdyreIdW12VVhaWa31SqrnN/dYDMImzp93nWEKz5ert/+dwjHX30fbsvq4ufM6HGe6rzVtBhtqC6HU0ocJCdWX0Xabd9ez7n7fA1r4fv6+nvX8/z9n2//Plz+nk+vKm5B3/gtKzbQ1PEl+tt/vV9/6/Tv1/3Wf3kx/Nqt4JRzw1FIJutAEQfKoyKNwCpWwUejqq1+bze/758/+vnx58/3n6+TaqhDfkuevW0HJd1ElleDNE9vklSnZ5s2pHiYvSEFb9Hho6NsiA0bVYVqpF44Vjfgeb3f4BLHzQ7FHkMtQxxGXchMpPrhwlV8RChycsiqP+Buaj4GiBAy+/A0M3XCdBAiiwC1x0/+qWmKeeswS3oQWRFZBpkSiWfOfk8nd/f3v748aHjvu+Pk9Pur6fpkJNxp4X8bjnGR01WmZ/rYzk9FHRTo/jyWKbzaV2201liCEqjF19ZGnOQa6aaVXtxWi3FozhiO7rPEAKugxQmY/eBYuxHKzhywhElAVOBGl/Mbry+wIa0X4HtX1nAVGR0Vuv69NYYigJgwwl6ElE8SMafjlqNlj1WPpC32MnVloD01JBHw6QA9vEwQ46D7bMKX+lTdiE2rYXfYWApLVnpIdaAq3JjN6L4nFDvaBMNioBulWG8XLxjkxyp2rMapgKR1Yd/vKKnvM+jVFDgqJI5OtIBio9Z7K2Y6u2dxbCMtReGc2zGlVgO22LqFNgcDBp+YcCVqcBD1uwWMXMCLyWpPJwTzAM4vLacU4iDYvVvOnKwqyvfbGjqob7Yj9wnMGL5WHt5d/jp4qWR16hEQj+ixwI/GMXHpoSWU6zueMjgGsp3eYTyNEwXadrB8EVKMOIbDQ56i0q2bm81Lw4W/Vin1erCZ3JNg0u8AB5L+pomPq8qgRLjGUBCBrZ2Mx48MR1TV7yPwRHti+xyFENPuSLJgEjuDIAAAaum0MfEcWbRcHVxCg8RdO0Ho85d6qKUr37BXgzvZj3NELYqJJ6CIvUqgca2joyJDrD8TcXvi9xmAa+lKflAFzVvY1sPkjHp4CGHVCzoM/481Ber1ZVTxPgsOjXALQUEcBXv0/EzxtKQJwlXmSDoPWuVXWR0lrqLklRQkGsy07YfMhJ43Gzmr2fFQVg4z2FpWM1y1sMO0qNfkDbBIT538xhWIA83G1gCZDITJU9VKoh2TIPSqpeIiZipUX7VkLZ5Num+nmQBN7aBAbExSknz5PLteAkr3BWA9sXtaAK0DzEpVpkQwz55iiQJfgciGDo0vCm6zFm7eQJEBntTBRtQihsjf6NGvD93tshINcW5bCNwI1ZHxQXwR0Oovos3eKls63RWegwosX01w/cc5lfIkvVhRJD7JI/naWLoi+k7tkLsrES0Xf988jVmSZSEcoXx9Ay0NCqUo4iQ1Wn0AoYdsCMHavHkduFcbbE9OYyiE5YS0w6Z+YJfnlLG6qjK0DZ8G0639He37Qtz2Go/LJ4FUCrBN44+G+8ZnIWw7CfRe7xi8GjYw84nV8Y4QMQzESuBfTvWUC/vEmpj2zdsZOIqtOhQ4N+U64Q2GqgCbmAkDVSuj4evc9Z00TJEUODc1ugwbcOxltWIOUSrV0UBikSKszn0OG/PGxWqnM2pZ4nhHBFVaPHEGUg+ASEBoOemlOXhOR0Pl9Ph4+38/ja9vU3TdBnFFPT9ahbyGW/apf/AhhKbaCPV4seAimoLPav92HEfWw+rgxSJzSHniZsg5BWSw46x9bnLEfgomALvfm9IrgwPyZHifhVwvitUHWzne55aNZx3EZEsxsCULeM9keir231mOYzvREs+tVvO1CM/PfV5XZb7466wxeNxv92/fZ7QX7++//v7+69fn7+/rveZciB3XVczlb4ZXV0DPxTrtGc5f+cA1AdA1rweWzyn4/J8fs3z9t+/r4/r//7f/7o/3q6X85uwn97tZV7vs87Q0tSr6/339fF5n2fVE/lcGZIm8dEseUVlbpZh0AKgiThnGTaPrJ/m9fl5u/3++v7+14/H/EOdxOryeCo6MGlgtAYCruvpNGX+O8zLqVromxgUOW4iGggRS3YeHixfhbu8hiENSg7w4rBGhydtgRPdFoWKK8YWeTHhTlhx9J+PmyAzXN3EniHTED0f+OpGMzGQLXqSEhgLIZdU85hFaVWU8kcTsK2cUk8qLxLG/3cdsAedT9N5OZ+my/T2cfnjj48fH2/T13xUwJf3wVpkHVS+rh7y51Edwi71Jvk/i5Ln+/00XU6aFDApy3LeptN2wgZFOexSK1ptQBdBuvv2eJ0BQQraI2kz25LOCN+We1qQ5fMLyP3H5g4hEh5D8uTBYNhmuhzJ5sMoMORrsm0JJUQFYhuHbHZbN6U61YB9vr/LQJad4mKpF/FBbREa53/4qPhavShBWp6FSBthoDEE1MdDmiZ3uy4xGhiC0ytRN8155mg9kqZ5e4NrRGOGzDTxZ3YMxx7x4+g9q8xLveyE2qOvk002ffI0m3SNA+wMU7+Rkk/Xu9nSUse5O4l4GasaXZaRw6JzQFbzQ6VGXAEWS3pYaCNm3YEmxF/sjdqjTv+NfAqiJzkHodIPZLLH/mLjJz1QrtUi2BIYOsTTHUPAafZBxNUPTFFVtQ/Hejnxq87znrRaCog/YEL0ydJCuwdRAVns+UoixCOZYPx/X1nhFFGFlh6QjAKtxUZIwoYEFXkGFLD0OqVwUpHOUhHFcY+TOa+Yi7KrGPRjQkZ8McT987AttpZc57inHXyNR5ZkdBx3hiEQ5GlZqnMLEndT1YgN84d3WUZ+17yL9ABsPgYpAisX0QKBSEm+MXIKgOrqfaPU0JLQd1/ZaK+B9zjuTKWnVHhTrGe9Hic5FBXYRJ3osaSCbdx78U6/ZRp+MzpUiZa2aOiFc3JmGosLLxHKyjxnrFMKvkKrcfPD+dlCRFHR2PLOSgQXVdvhL/JIIrm9IuYdW/RPZFk76OLehWChxyzCxAFohLe+v36Xoh3UfkQnB448Nho/rIWwYnWkzqpp863nOeG34sNASkOoD8EiqGlkrPndWrkcZ+xDP1lxplDGjnmVKVBoV5viamOKCaTI3E6BSg8n6bUh35+6x33jw3P2rD+FEoh5m+6SVBe7OjWtyyBB22bxsBgS5kjKOVntHaDEGgcS4xXXTg8QDicVQUar4HbmsgJjD2REetF6FwHsVTUXMl6VX3uEMu8zCPp0iim8RwZukxfmJGfWOExC6ARmr5g2RRXfiNSk1tl9CA9rjfoFY1AnJJNUx72oyAT3nrUSaPu5YxyXjyXIAz0HeBcnIC7Empf7H0AzWjZ85tuM2apeItNhXRh1tIG5u0z+iJ+KDvHyZImlShB429nBykEcHFVrki3Sjd/TKyIEMJ6QCbzOJcEwHBA0xdayd5Fh4hP05IeU/GydgfR8ajbv6o5mNzaT+XHAR0vE98SKVZW+zeLzc72cj2+n45uSQtPbRef+vr2/KUf0rmJoValeLqfzpDNpo8XiW6TNiz1YRiCOKIeodhQ60jJwItvvUgpqN5I5hFpLtjHD+R8/CVQkXoZzH97IJxyWWw4ozUcgEiGi4DvyB/gP0brX2yJf7fZD8mbx1G5Y7o0KVwxf4cZ/++wPvrDhoxllbk55jHOqlBXe5nld1u32mL+u91+f339/fv36/r4t8n6l8iitrEGxR/wr7LHOh4kwTM7stwDwoQPad2ZsWiItB/nAj0/VzH99vf358f5xPr1dHNHZVCd1fSzX+/J1m28qKHjOHu8rn9yC3qOBvShq5Oy6WZsRTDY94tCk8cwQdpfjcnx+P+a/fn/9++fHv368/3xXtEVMdT4cJgFuOkxP9b54/n8RgmPgnkLafxzhBEEGjt1hlJx3jrEyeuZYz+B9eHMXyhi11dK7OLLbmVCa4e80gi+CPZuB8MxU6KEqH4kQwkJ0Wu2VaHiTK/7o0GkPsTmnsRhLMQ8HHklpzArfHYmNzkdvPCUCBteEXRA4XhsN9dEgrvOfLtPH2zQpoqrhZzqa2Qkz75cJpvZ4HcJUG7Ct4vX5fCzr/THP83me18uyTuuZmQTPST4zUtSMYmh7L9E8rRNmcfF/K1w1s21ZYtYmva+1IFoz190px5K9/xgZL+JSECL9hzZFCVyS3rDQTkAaDZRSvwyUTlkhqjfeScgatJdyMK7i8xZjVXjGrL9If3Jtv6qZaquQ2x50jmcdrR+tlZl8fmzZKpwW2lKqswLKD7YWH01kGGPWIuO1JmXTK/5v1avLxFYlLU6qDfJEI8PAGpzQPK3TXF7jIA+IVMUA06WJZWE5CJLJrEY28E2xJ7IGUykEQJ9kiv6o3E6GgGciImIR+ZDFGAeYlxETmQXi0RiUeUYQJCieUyACrh1siE1veQzDTAtP1Uz2ABp5bZfp9KOHDPsfPq8hFYJaTgBVqsJatJJ3svRw3OjBjiQJzYNj5VGpRDABgItSA6GQxOnGniCi3YVl+37g6APveAJM6LwYi8qhTaejyoBVhtFVAYbo3BErhF1YaNCbGJhyX/iy6AKbsEheytHctpzrzYAWZhJB1yFiAC/xCct3oDqcNag1YzsYKsxyh0cXS3VIi0FIljLu3FcDGtJAo8cJCZjJEztBSgAKj6XOBgkolMAIJfO7rUpO94jdMbRG4gE+2x3vJ6YrQXrSnrEJKBhU7ViqF0aEiUVGb1QzRPIiQyJz8CYHH2N38FOlUiADsoY4QQ9Exmsyi6ukK4JUWx2CNNWgMaYTKiqCBu5LrrpmOmkCE8SDxqNLzR4F5Fv8guTQtB/m8iiHtPTPHv/DrnJlwIGC8aJ9uhK4NKMkq4kwGPCgMV2IIPo4btFNpHnZFJmT6n7zgDQp4AR+qphK7mhX8waubXc2xguCn1194icw5towQlpZkHieTU61pT/EYyqBZyafAWsyz44jMhA7/YqDxiiDMciY5mvmtHHWJxjgokDNKzocpoviRMDFa4gvAmUFttBbSNV7TIAgPRs6LKQ0EqaoOhwiOBIQzq1jFJIfVG+bivfWabBYkeuVovfKHnhkX6GfbjfNr/UQLP2UTscL865hoeafsZ455sq5WA+ZSi8vs99izg7jD0YwUC2SEmEA14PtAq2IyEgMFp/5hFnwjoijKl5IcDo0enAZ/G5J22cAqrkFblV1mbdUIyBalALEiI1MNMkgfhNvpUdwMRZSaFm3JLbVAZLDvYn3TVeWjEFvFyVZZ1g1tttz3p73eZ2VsSG7YXuwLRtCsVwLPUuFpkfJlOO2XE7Hy+H5cT7/uEzvk9zf6aKUsY6ruVze3t5V5DBdcrR75SOoKXU5GFzBQkM+36SRCQ6N36hrDBwRhn37im+q8LFZ9sAzgb9IRejTNC5HHllXFhp3AO+o7ibdd3dxIGJ8sm8ETcwBxaQYosK7ioiwBFYMkVEEBEZUgL65stf14ipTV7nzsj4e8+YZy8v6vN+X2235uj2+7o/fX7ebzgP2y93FFOiV9JKNgWwq8vQH+qYUBaywTRmAz+7ZkYWwMXU8zOvz9/fjdn18vd1/vE2qAjgfVy1sW9aDhjxvh+UgAc2hxirQr5ZAC1RwNSWyTw5NZA1G6kL1cjlO6/Z1vX9+Xj9/Xv/94/3xPl/eL8u8Tus2XRDQllG4uePAKqSm2LNtk3yOxIUZ+1t5rfIDuTJmYAxDsje3cD6s31ys113cvxDOMDryXo91WaI1+4NEJDYbuuRmf4sPg8iiZrGkyOviYVcCxtWJgVKwhhH3lToVHdX5egqSI2XODVMB53n/1ufT6XKZfv788fPH7Wu+z9bYlswQlG4bjSvLpvoRkfPxNK/PZTtq7Hymunma+el4ntfDBf8g9U1GPMlF9oT+8tB9Siqqb3a4pRymyEsMpx8MNhz41RC9PfcP9ob9wPtwvFwqQ2OGzOoy/dB5kcXm5fH8eFhtyDQsMJGDLJYAY0RrBXwowVCEmRXrKW/lWoZT2hOIds1QrkwpZWWJIgZI2LfhehaareizmEBdHYvil8EWNf8Cex4ce9KVzrzJao5aoti5sVtMrvVVskhf4hZoc711AeDIC0vO+Ez1vaNe03UU0zSW+I7llWMsGEndT3t3Nppgq7+1oEPjhwfBsmO0g7F2M2oYUXziigMAG+5zVV16bbwYcVKWMWyf3eCpbAoIBEiq9vaZAiZQ02GGnHUfaJFx5lAns4WinN4LIrPebDlTnVw0m95l3YIbRDQpTyoosMxc02qZl3Ex0WUEsBnV4fWCe63U1pyj8APahampqvgpeaaelBgDfqTHu6K193pp5wBGYnzQVfH9wk5poR9gdpzMb9bIMDbrOiqiDpW+0LzjYj7gk9Y1tjDMBWghOsKcErkyNKupEQEHgen2ZCYF+aS9HP0IMEqr+iXuL6f8adpt5qCFePzMdJZWurQzh2kxWaCx/hL99Q7GWSytIDfizt43pravTZHbYBjHbwBhav9SDW2BGEz4h4YrJVgy7SlBJNMSMUg0EzvyRzY/8tEekqmAxOQeF8QeawQlGafSWE1Dsti+PpUt2Uia7jj8Bn0e0lgg8z3gzeTMIDgID0wKuSEttWzmbJHqYW6BXWXGvVTthK9fIIZPw6aImIR9kxSFGBS9wF7HFM6IrAALfR/F0xUbPlZ4DJCj7ghyHMW0eMLUS5OL0zqUTLM8xc7GmxrylPUEbCPF7fVXLA4+10IttXGSB0ZTh5mHIN1yVlDabQNhpr6lm8tOctZZs4lrKbs9yQoBdhm5zKFt8TljJ1rgpejFjJPM44uQGjgSm6bnM+YVR9GGY3T76J4BqQbmDihEv4b7DeXv3VK5hNsTAyE/nJulQp099olug6RVBJsOcHCT1yCcUTBwkfx26MA6Nf1UcFSEzh7/GwFXF+WKCHJq1whzssuOHQJA5AqahMFhI6af2aNGUTqMfKdL/pMChGYOqmTx0ZGsHQdhCD3rdkpKPC86IiLnBlOu78pje4Y2UbfnOi94WeoodYfnY9k0qUjxVUPxqAlL5+l8kscrcmQQNMX0GpC9bZOCa4c3NQCfP5z8vbxpAlZafs8evHg8m7/x+kdqKNKBGBAclDITF+MNby3uaufJ44qXhYZWqCJ0OV01VRy/ISAjjALyjEv0SWNI0n5ZsTFCPfwD4HVKamtAhgQywunGt4FMJFg3bosTUVD1fimBG8o6afRwjTeTnJwQs8m9zfP8eNzvOldXfvB8X+fH8n1bvq6Pr6/H1/fjpnOPvDknWtlyJGpBVDO7HIaWySnRcHbNkxA58gdxVO/UfO+Y9bpAoo/5Pi+KRNkc0ql2Gd2sSEv4vWZ7fmEpRCq8kKQbutQooCG7/TGiftuej2X7+r7fb7P+e1/efiwXjb32cbLLczuv62FOfISZStkmpkTCyp6NVJ8W+TpYNlTHem1KUi7s+JouocWwugpiHoo7wt/gqlKjHJcigqj2RtqQ6jzMDwl11osYh4BExCByAQtcWnglpxYh2b28lBAluhGMUxBgoefkgN2N1L0HIHFIKmBktav+63R0T//5clYb8Pvl8sfH5b+fd43/Jtw5SCgum6uikEjOBq7Ltkynu0eFK/C2bOtp3SbNwfLy3MPugZojXRk7IvvjT/yEcDpfmu7T+RD4DKD5pPpt2cgjJCdM709NqtDhcPmcrkPP0SvsYjDTdSrToiKdIh6PGVgdvmyJgWWB60FCAEtuRAp89KlLzDCAMmGo/aKmIMiNJ0aqGR6mGVsmxH5GzR0isewd8dvH018D/PycDEtj/UQULDpAAqumPtJAOzsiDJuO/riYsQk281p6lHRdZvaO2Rbtgs6xFsbk6uFDUPHBvaQmJ3DEbCtvwG+wtox+JPZIGhPl0pNNfGRlt9XJMih5w5RlsheknxcLaPS46nHPX1ZJlc68cG4Ktsu9oATSrYnoIIimK6kgRlGzFPQD/Ng3LjjEG1I7j8vpqjjXIYWDytRU50UcAUo9FHXecHUw4cRpDGZ7xaVxLBxkfn4siGjAgtK0vrQS6GtqV9ly7GpbUfsU7jBiLL8QOZIMZLHZEd2u3IKjsUTHciyjw0fqlfLD49t5iI6lWdwuXu32xA5MK1OxNSfnXOLrwVSDQ+Aj45rAmmYPs90CjeBAuQLvVyadDDaaFOUrlKdKVLYKfPCr5OdoxtSYSpLpzvQOLh0iYvT1o5Uoeo7/ObxEn1CK1I2kguEy5dxiKr5+iMDmqQOnCu2NAfiZe+wvXVSECwHbx2SxKPBUrZoIXl5HuVADwMVuufVbGXzEHpgVar8gzmfRrN3Ya9NiOEUmIijOUXQaf+/1VCAlyPvHj824JI/i+AFC1kjfi+VJ5AjNBjqa0UwUIR7LBg8WHdHmsBKmgwEa8+hOtsp8/WLeiLLaxXUyEywsA3GMnqbCQPOeiYzIpkNOJmZHZ5VB9JMpcFxaHw81DlFQDgEQUjWZcrhI9tzB5zh+MbJt27kmKbuj7oPIEHvjet9Lu4p8JN1I0ZV16EtRnKxdKGt0HHvtMVg0SzGzmnkXhggk4E7KF/VZqj65bh8HB6GU5CJNOurYTMi8B04kDlDLl0U4KLQXDyMfIoNzFddlanpEluS1f0o4XRtGXOQwOXZPK+JbIhrxcsPX40+7ZujCcdhyYIAUaYrNhFqQJPAdu9FGSwGM9tC9aZIdai80kg87nRWzBh0fMeQaOC4zY6nz0FLDkg7pE/OKxaKY3RTrSe1+GaK+cI5ZbiIBYogkdDAVrXEekggd1EqRNcJB44/G6CN0oY0GkS7cS/PLqrJ82SnO2Slrtx3n9XBfjo/16CNkLVDpIrHMECkHirKbCXrJDT4+307H9+n4Pp0/3t7edfTReVLRsxxnt6ufTTY++C0qttFxpB4sawgGAjH6B7VV1tR8S1MkUE9E3jLfgRi7p7lfL8VkxOoqCQ2Oc7P7K7lCDxVCyLCgMgZfeBE6gVmpyTCy9jHyXBFuQXlEfXpKJEEqTlYEvUYKUSY1Yav+melkGtT90HlH87zcb4/5sV2vD52v+/3QuUfXhw4F5jiU08lq30wdfiphAeax1wDA/4823cHw+kva2CqL6eFLWf1RLqcoUHE15zTswrVpLkZNgAY/vNaimw32LuRyBIsjJrUvV4Qj6+GxPr/uj1/f1/+5/vzjj3XW+HKNVJKxcplWTS58nhYM1wkyGydvySqytMNKgr6iWaOUk73yXqu4kcOhWW+lPUIDuvUV2Q3aJ3h9cTujKrjXHxQs7i4b5I5TDb4yZyQPRrFSTFGjJJmknUH63l0k9r2J1Mc0B79RmTtT+KH+yv7sMH6oN2RIDOciKfh1PlyO2wljHUpBi9vWIWuwPlUtsmzbpDnMqofXWVkSO9tjWT6IyIb4LaSMpcwZQE4gJYIZYJl/h7IMGlkgrZ0JElB8VBdabvQ1kHQkK8AJO/QwhXiBtL/Z+3VbP4lyQsTuvIsFE3gG4Faa/DZWHlSAJIMGgQrJ+4oQUjaN7UP17k5WZg5ICO+lrf1AHOmXkJZ3BlE3IFFlOICQgCq5H0eFSr2xvXhRzPKYLMQERlsfgUssHAsETpiDCPEzhRmyIEwLr7AnqFiPG9FRoi1IIcjwR2L74A/vF43gleDKFVTsexA2f8rETWyAwLAf6BrS/WKwkgLdrMRCyBytc7HtJ4SbEq3O7Sd7Tu1W1fbpwIJSdOWqbFKFapAEjPw5qPaK3TWqa2p4UPIZ0eOpkjHynwePZLeAOE0pilstrVysq6s4WADvNzafXmbWTW0uzc6lKFWxm+0hP61fJ8/xagym9IWGPpHsUTaDbKP74pzi1VuzBI2NCAV+tNFhNg9tZFrUHIKDu4MZ5SO/165aCsdMytii7C/idxARNPOSWA1VezEpho9AkaFC029WULsleh2aL9nkKqMmb+mMvdF1Wz9MmJziIEGzfJowJ6HHeIcv0l2NUkAzOqk2CcmiKpiwDdGFcT9igj07eBT+4Cu0tdPPsX2jNLA7re/cwSy7Tl1yHlDMGxisbxAwhAtaYm4qsoCzPJGiMjypuhkyM8VmpqQx0IsfH2vItyZyQmB+i3oE3eEMwo46D9F+hsfJmHpf0Il29Fy4Cj3VjfvEXcRognK93o0NUCPEJBcf0aon6VN3Y9rwZ9oEgmnQi0V8EeTTQ1Mthq6G+EaQWqtAiJctcRTQA4gDacbandzTAsIwb1ZQcreiNg8YfAH7kGhmNqR2pGtkLEm7OvM0a5LPiVg19wLVNp1mRQA6iQNW7XfFV/ERKQO7hk6SyjBP2TSvKAZHPRPWl6po/G0cAKQhEesS9qDijFzKO/xSD8oBFNkzd+zMbwRZ1qJqFF+gfoGntvM/FTXD/7fc7wg0FBJ7kvctmWWJacoZJpWPyMhgPX9N5Uc3nAbg6iSds9ChIgQpG6LTv5GHUTYWXvRZV6bWqAQ0UsmxZXfBFsnuX6hSHtFRUhwRbj7cA5nqhQG3wDhE4r53Z+YGiKCQ0TcSO6emiQWlPmrd/TD0smLeouk1PnkVCy+mQ7RP/kfeyYa9P6QbD7jpV9U+aw7rttyX53XZvh6aK8SgfsqkkvdCWnoB8mkPT53v64Dh+XC4TKcf7xflgt7f3twDrA74SS6wpsYzunzi8uAN66ehngh6osKxH+q6o6uIMGBhxXHQOih2GHSHuksOeUgPn/jna5C34nd6RKF3y3hbOZ6tWmNwcPrIMsRCe0VE3421HMukHlDEr0heooLYQ6RZsr5Wnkhan96zrjobal4EJI193jSbW+2+6zwrXfaYt9ttuX5r/NUvD7769fv6dXsok+aJK6HBrI5yp0ZqYzuDSfYZYZyboJk4rvi9oxar3tc/ycx7OOu401UVesQ4Kr0BAmKJxTgeYbFi4zdX1ivbpXoN2YHZeCpq3V+3+fj8WpbP+/x911GyHg0mH/g4iWzWs2Kxy5xuT3WMi+J0NIvpnvhANa/rWw0DUQB5PJYaPeDQPmVKCXMElhmvGqjuvB37JMqI9E7YMLG0fEWEHCszF0cGhTWoAMpXY82xE1GLfGrLj7QbxD8WQm0XqbrotppmwSWh88EfXkIEofcosGECukfJdgf2ipj8/H45/5jU+/B2PpzXpzwbd6H4Ps9uzvRj4BZdQg2IpoUv6x/bQW3tHnOJJHbcTANFXavHFt2ItA+mBrRJ9o6iVhmIKKldhhOKHIPX2V35mM2CwGCgEjhSmmIjjXup2bllThj2kxdAtVmsierwSAoeWOTBhfuhppXtUZHRTvj8uEwjhJHnZBdgtzEZsmGc1IwSGdupbBkrqIDwQDKCcB3ORJClCgmk1bIKB5bzA/CswyByBNzerx9rfKFtStbj7uSEvMmmSfoWwsGQCoWy8Cm5ElEikdK4DKRgDTpbAjbSVGnP8w25kLb91lRJ5IQI/Dl2V+offaGMhEixAKqqMQzGAvN+HSpbkxcgdRgtKiyaKCIR5CW7kELRfpZzsLNiGdc55gI8Nz8klNrri1lq32eXRTwkUM8w4PTYhSoSHWuNtEWXXBj0AraUU6wYwGP9LCDPoXRCkEn0HyPEtk7EXcpehr9OXg3ToqZ/GOWFTuDelN8221r6tUzEh9dK0NieEFGLjlOClbHQsRedFwB0AkbTW2R50YQMQR/1f8lv6NDgmHb+qGZ/mBIC5akt7426xBU0hTfBq9McYSQdneCJU5U1qt5E+lB5G4YBPoIHPsCQ3YEqgZz84+UuwBipjqkNwdnVNOn0MsajoZFVPhjJyGJgQkSG3UUP4KE9NdOApSfyVmpZs5rQtf1H1/SQ0UobIDomUGSb8zIj/UMR/cqGvexIyzO/gko85ehzklFzgkKHG9/rM4/cUZkNktLHZP9DhMfTJY1eyabympY3xKfzS4iwgvU09jkxPlL0vCXJdv8jy3ZKaBh8/bIqF38GJZ1yf74oSgAq0o31QcT+MvHndNoglwky+TbidlgVJ502rHvjVCKIxd1pFAGMsVONHYreSjM8Fqogt4w0MWIirTjQGN81tOQbBzswiCgsr7/6BFQyp8MzIh+1mjle0UHarCfL0AGP4h2EF2lECQewImvth3vS3S5qa8VptaoJ8Vcv1MIvVrCAbKCfb/yYwYbIXyxpzzIISzlYaUhR0O9FpgbGd1uS6M+oJT8V/Ug1E6tqXQiXYMSzZ4K5Nh+jlwtKnmXc9YQq1rT7q8HsML7T7m4l0iII77g1MxCvSRGdF9ugj8L8KHoDw+AP+eF/gjS/GOHnGYwv9ka0bx7LUBbJHCtmxLRLyFotiZdJ7A63nxVw+q8MUxVL6TwdH0YyP5bltmzf98e3B/Z6iptA3mFmaH5OeE41Qirg7KVfzue3y+XHj3d5v+9vp/Nxukyn6XSeJk+NPVshiFATcgd4affIOBCfbODuZaSct563txnBa3CIcKKlfZBiAITkQM5zUkJoCCU11FtKqrO12sZWi5Uh4DafpoMUvV7McR4yzwwbIRDcKEj0QbC0DsoBTnlAmgn9V4iEKkqdS/XcZh1OpcZQBSf057pt93l5aLjU4/vr+vV9+/37+/fn9++v2+f37aa2beKRJdVGu6LFvBnE3IDRTooBRCAcwJsC9sAkZNh/WAVg5iBUdL2S2u0iDTfzLFiVTyHgCE4MhWiBGB7RiVhu4eLyHWLktGzbbVl+X6+ft/v37fFxv1we57fHdLq4qVsN6c/T5W1ZHufDRd1W55Onulkh1nPIwTZ20VikG6j9/rSgh2ZckBW9B98SV21oEhYeF78WixPSKuzjF4kCAGyFTwy96gturmGUp8eCg4gASEyjPFh/QZC8JAJ8qM0sFMgWERBn9ECezU7MmEFjE+PAx6x1UonH+2X64ZOQ/vh4f5/O53m1I9QFur9EZC11kCgzByqs23M+PO/L6aGjyLdZre7y93w4uZwcx14kiY4TQa5KP4BARquVMa+QpFUssCI6yL2k0YuMl0y/rtzhRoJmqAaTRgEXbsIYzHOKfnYd6o0fmyIyZLqXEdLGIktlX7BU3sOegNxZXlgpqgIt76UQoo/VhzEEi7g+rrMHMB9Zon0hy7cQRg4moOXTlT0sj9Vn/LtfjxkTUuRMjQqHEviwfrNDd4xzvecwZ8z6q0MYITDO4EriaFgF6oVx9JA32D4ClQarYyLFFwF9DUp0zAN54g6XDGMDGnuPQeAGEvnwhVljICSAgoXEM0hWGaKOb0bnh0wD2ReZWmuipWblfZ0CFbctxBZe9xqSErMLZ8QCfsMnpjvkWvQ0NBYreiQ2E4KpyYYU7EEn7FpCEusotaIvECpZxrx0FxK4oTU3ORKqbPZ8WwRWHW+9G6J7cUZcxEojJBU07W92HDI7ChRroWb0VGzRAWvTSjWxJ/XKoFiZhjje19gEYULVYamPGKtbMSzwE3kJhiENv8QRQA33cVVcJUnmmtlksk2TNtHBKrY3etYjeQWB+SQHuMXPgyVgUXQd07RAHruIv3NS8X3q04NxEvq9GGk40mqV8ruuzTarCbJtgcZ5Sp1Nips02KECxKEtJ3GxAHwBs8P52jdkqIf2o3ElPqI1C9vNa4gmqwqBBoEBoP50j2bizQko1NQCt4pOZihuKSvDvVNiwTbJGHu/WnwgYoEYnYXcSOjO9fERX4g2pMwwm0zcdnAKGebQWHEhlyMGDIfTpsOYLGcBWgi1xFvdrr+Sm4+07crDfswfgq5Sc272Sc22c/CeN3BUknR7qu8nBgPL9sLRHMAmXMcRNTR7m11d32ITVS8hshOwVdo4G8/2m4TEwqh6SI0fwwP845B8IKlsj7HmQ6xKMdBPdmxlj1nJmcAwJY5cTo0e46jtvXtuHAYAT9jJNGV4TDx2bCxmkKEeATiM3uinhDq8Zp/J/FJbErwYgQaTh3RZ8dilsQdO/Q+FNLBqkM8vSEs+22RrqoqBzyhEx1mhddYLgj1SJZuJHQmBR4q8BGgQD6BUSSottvMdmLc8xAIqDvc8nd6pZs9z02KELHU4DHlHZQnUFx70lrZNM1VHQQcGTDjKixowZMfYDaErLEZnzDmYqlGPwCuylIdl1KFLKGPk41UrRELUZpt9kqxW7cpaTZHQ+JlFTtd2X3X87331SRE+AYFNaICWh8ClTVZ74SQj3qrDP8/n0/tleptO6gF+m8461OSkOsnpNHn4s6fcdoA1yJZAU1cztMbp1hbT6ZDBGmB6drecaPDQyLXVzXrhZQCyS/uqqHAlpXYOGTuTnbzZ7hIjxf0GHmIF4WdUS6mmmz58cA2/mEH8DjdvKSZijxC5ngir4jMCrJSCS+bcVaFSZxqTIBrPBFqYDLQsGnn1eCy3x3y7z9ebK5+/rn/9/v683n7f7t/q2T5uOo0869mJLX9CNha2wzAqKBEc/bXALYRfhs6mST7wD98arjFkjdwKKA94iI4oanonjDV6j/0MPgiAw3DZxz88AVo7DjqN6TrPn7fb1TCZ3o4fPzx67XlSaczzbaEwZ3Oj13NicGurVxB7NMZnL4TXRl0J6whXKv0rcvWZSyZdDSBVktImRHqvCN/7rnjVIceAO+7QAD3iANnVDdKQZBHVauhKIoyjcX+FYPCEFERCRmFVMWF7+Q6ybb6f4OOw/IOlfAIninj3YXSunhKFRjurDXjT4Pfpx/vbT/03XR7LfFSXDYdkQhNcrUWdz+GAw3FZ1svllNQ9h1rPOmD8+JhPt+Pl+TYpwuXUtaEGG0bCu3XD/yQjghQll1Lqit2CXsHyCs2hZ4B7aE/jJ3ZFFDmQyAW/2DTyRjYdw2ZNigAK1EESXUUGZqX87uAUh47D+zsglHZTXhSbSz91NqMZeVPYeRxHgtVrZLnLhQueK3nj+A+WVKEdBtEhPcdO9R7NGXZpTI0JrcdONISBVg8i7NNiwAxtGM4tucSJrVeQOlVAzLsBL6QI4fKtV1gHOzUIOY2is/Gyg1wd3sCLC7cNGd7FEwTxm5k3YaSmUmyXlilvjDkO2fB8LRDDqYoMzNTGZtfJ/ZYGs1w0Mv5FTueKaCDXGTk5CtlKvmMrNsSzmGA5QjrZlMiNbrB3c1uwWdlCRATRPS6LbMbkG213uSJ6LWAK2VWmI/9ZM5IHCqsZ5x0xeLPPDyX71fVSQhLY+d1AvIe+DWRRz4DY5ttVdqn0kY8VCOPoCINmQqLmTI3dZaR/4lCOgyOioUPItiAdUDc8o/d0sMgwNUlGZBAPTbKhHJsXigWSEUeyiyUZglWSDiOWagKM0sALtiqpzBJjcf6D8gnqJ2HLKt9dZcStNXYAX6soM6IX7PK6kgK+RAbt4Lcjf8mJRf4pPODRygPqvMILPp8pCPGhHV5NolxUMSSm/o9zOCBTt1vJoFw0FtiHxBYUqJl1VtJfJ6Dg89jjM51F9jNyYCiDgdWzlLrLTZNVTqiATGnFVdRnWLnyJ8KT0lVCmkNnR2j6NzuhL05Enl/zwsSXZ0J2OYgw3FM20qOIiVcPQNXdI1AagjFUjKYPMP13fJhOMsBt0KqUE+ZYP84Hy/WEAOMbhomRJvDkcALjhMTX8rwNmV4JYpWAuyn/01EoFB3GZtrI0wIUvqd3onVRAyym5GDFpBAp5unE8ooz5FyRxiFCEH+R3sDJy428H/0jFa/+Nu9qWziQ93vpgMpQgYgn1QjIcIpOd19qNKbzMJB8xegQcNkUJU3os8ZzLDIdaU3FEdvlQaacXTy4RGpEbakVcE7APGbHjXiLWZ4aol3IONYKPbsiKF/06TgPuBORvMhzrIPBuC5J4omwDsQSFJePIpCrbdkl9eTGT5jfmxocF/azIFcnHrqnIdlwZ9QW1leOkHfaTRUoSsF4fiFyzXdrbO96vK8q90P+UXqXNCtD8QqBvN1Ucj4eL+fTx9v08f72/qb238lnHmkSk/6YFEg7T4fjpOk2zDdpObsJiiOOm/I9qr6GLUuFhACiY4KMmAipHWI1A0lUFsQgYDJk6CNACN9RJ21zBHUViMHLFhqhqv7fDUumCGKHGWlfXohkrdC33KO3gkmHabr2V4K9as9J+C4EJY7Po8ZYWUMwmIz/Hg8lfh/zenvI07veHt+3x+f18Xl7/P19+3173NbDgvfrevjhY5lstI4cswxFIGxr8b2KAARrID7MXq4DwgkU75CkRzoaBfowBEqIvnpggHsrArmaMp9K+PLwWAxc9rLKPvj8PB4e6/Z9vX9+fX9cTu9vp8f1MSnoeT7Jx1qeCjtr2rDq8C8JdbEEcCzagy1tPFlpDm+qfyLTiLCe6YEhpekH6giwlFigAY8idRk6ENqwZKjtBxoFsPn9n9ZLYsahn4qX3cJuvUN/EC22k7BZKSswQoCVpYNtQUuOROGzjCHKd7dlvCDeWGCePgIdM3U8LKJq1Tkfjuen2P/H++WP98ufP6aPK7mB03Nb1PO7ncgAurVa0Kbq0+IxkallFoUv79syL+t0XObD40YP2uk4r6qU15lekWpYsWM2GAtnuS7oc4W2cz5PZwvCnyPuO/aHpsxDsFLH1kNvbN4gUj2t7dW4Mf7YGbOSZr2Tw3Ntknc3mGGQV3us0OXfIKQc03Qt6aj0NISf4xr2Xc1v829IxZfrWr58aV7Mb52YkArXaqJX4DhyHbXEfay862B/EQyFXZepJzhxlbx3Y7aUHFOjF3G54V+PUYIGrVnArT2qpqYxtTF6MeL5rPxHMWXqN1FR5kKna0801JKclhweHeqMtNaLjGMPMbnyxU5i5RSc8MGOro8wnv3PhLcacs0z/QcFL6as/snzfaZ9bQO/rfApLnIxtRhcw98Nf0A8Y7nxCCrceCa9VzZD/uFap2wwxfCM8xxMATotxHJyE69MB4fopxVYFp+p/WHvQ0q9AhcodME1UrKJyFCsICRqz8TdA0O61kNh3CURz981SBV30BbM66NPZIeDdJZ0nlT7STDd/lbszEAr1nsld4mTf4MsBuGZBtKW2C2aqDvPjG1Wf0WCU+NDKdxxe04+/AZl5NrZBsPIXqpCIAAGGdg+iEJC+fatW/JqrMfcC8GYEzCwwOUrq++vc/JLEVyfE2j5sSmvASMRMalecO1KUrGqDrfBrEnfHkASiu+EIT3fdX3Ah0gzNmXs5aw8ws/qKi5Q21cMT9qTGO7nM+KRuVlHYzb6Je59Hg5nnrHwGC9LhpMCfRG+9ng6n82lbD2cECo1KBOKDaLtHlvd5HxIEExZj4ucM/or5IjdYuEdGRu3vISSqHIs+cguFEe8cSb68LRBtYk7MA24jJY4SHlrWVf5+Us99kjt2GVDxnCqQSM39uFS72HB6iMcYsphV8QtgWeo7nJWuQsBfWCEqk5mP8CcEBG7DmF6uXimsFy4K3I2W6tZj0OYd/EiW1AelE+ZrHaZEcqQGc8c0txDfFfMqqavyTq6Mzbx7KQ9c9IktSnFZ7mNVYdSKes0yalVPgTTvXhcnJeyl7F76mEkmJ6fgEvleuyGIUDdxO7XJQA/1G8HzvnXzjaLFtTmfWM1DTnqyji/zjJWibgSf4DZN2gwHt/6u6wh6B7lTGCXeQHDTw9rDfZ5WXOS534jHfLIc2Sm12QpP2QjS6G1z1XNkTTALPLEKBL9L6sYRw6YQ94mUtOMTUMdKnhcNtUiPhbV32LuaJZGunfs9fnpbgx+ahz08TQdT5fjczo8L9P54/3i/95VFumf03nyjFilf9WxDdqV9Uy0AEMtgbAIBa9c/R/Mmkm4QcMSSaw4PhenGPoPA7xSS1R3fPRa8C6ijgHExeEXKqmsXsF5cG0wVv6HvkFutP6Aer4TUPdhh364JwL2cCePGztummuKIpTf6z8V1vRwWh3CqqnPz3nRoTDLss3r+nis1/sD7/f7evu+Pq6P5ff19vl1/bw+7vZ+1eegBmC8qHB36gVjcMCaACQDbMa3XA8xlyQDBU6AgxCxXaAFIGES4cG7U406Tn6sGNkRkY/9DCeInLcJ1qD6pun2V0F/MIjuNxnf5+Xzer/eHvfb4/Z9vv+YVAL5fFtEpMfL87xqSo1gTcijCU8wtvkoCbtnnuZh+lAeXpiMJQRLagen01n9S0h+Rz99IDUOiafEWCith5UwXVPNkakV3kzK7Aywl00GWsM8ib+UjASOd/VbItz5B8pEZaKZ8lV/nIdkBSDGMVr0WlDOW2IdiWT7TN+mC0ZRq/8vBw8Dzp+eTsfLNP38ePvXH+//8+fHf7+vx8O0PaTxdCIXXO29u5n9uJ5tH9ibVPnhdtQc+u05u29PI7KeZ7kLi2dGTzGoVYcV6uOBJasoYtyhTBDY7VeLC//awmlL8/gqxnFy4/4S8ELrpBAgR5w0LQi/HbnhQG3ELsIRUywlnLbfh5ebYApzp5EPSHWPAuKQmCgI9NtoIsuY+jylcpifKk07MFgRjoCkTsx3UUnKza3MNKeSIkqzEO+qKR8Ax9YJ79PlB+/gD/hZgXgmzgbmHoPjVyg/VvrDVNN/jWtGoFqU0FAGMVM6bknlwx4Sieb5RG7TpELcx98hgegpY8Bm+cuIJuGHABmBVbF0OSjgp5B1ZNUjLtK0nNVm7VitdQ28EpYNdjISr7rGi4n2iRiVBIFWi3ePTe0ATYgrrVU2HCIfUs9q2wzSHbkQdmkZlDMFd1MjDmQXFQOmYj0bQ+aj/xj8QT0u4iLUjr6k1yARzlounUTMSzmWxb6O8iApLiSYVJVqU1AOSHAAeP0iVsVIMFZHj9uYqZaPYwCElsTFRM9ty8E7qhul0Nr1I4TnuTm5LgRE5faoyrdOV+waSBklDoFyJJWpA17D+4UwgXNmihm6lDMzMUZ2uQbibJoC3cK2Jp32HmxTLlhXX25NUQOTMM+wkIggoCCZjI5lF9aPBRzcEwVhWiD26+jfQ4pV3yNPEkPFDzTDpBjf/8Zzd6Au460rn8osCEYqzuFaD5iGrQaXqtu9ToptGfdIJvUBgbqXKWmdyut//HhFNt/db5eaSWCESGQlMXZaQBve4OyWQhBmhbIA8AhDRBEBO17RKJSNRUKkfUCVqX+GVDLTxPwdhL+X3wbSXE5yvnfBN+UUru0s4iAxDwunBsBRTLkGUoqq9GLI8IDlPVcwjk5le2ZMUEh9Ucs3eIFJRbPYdOhLO8FadFmw+096yfKFAOZ+G9ua4IeHe5RUbBrftFfI8UirVfAD/bN+x0oy4yozjMd4oQjPyPUG6+htCA8F0GG2QsKpXbNUEvo1v3IeWlzosLGO+aUrMXTgoshEBIBMCMo0CRilEyDCUTpquq6QVQQvTcW1hkNawVGu0gf7OBB8mCpNsrtwkNeBEkJHEaBlaJUREV0pkOroHcqMo/TwsSBTjXqy5B28QJ1e53lGdxHPjvuBOxg0BN6NnUatefeDVPXSTbZSeRL1kyYWmnNCVPgkVkEOgY8yK8XXGDkj7+zkQUvPRcdyetoLxil9by/Ad/3zc1IRi3xTebRSbM/peJhOGoI1Xfzf28Wnd3oVOSo0dY+uttZoY9fLcD6Oc0ok83uMFpvT2bGId9wRGLnT6o3KKARgiadq3uq5NxZi2M0k8w3+0G0uzhNAP55XPcPwOclirAH8NuW29Qj7eaGnXbrxtlKT8K9Kc1GCjzUiLE283A1IT9VC4wbP+m9+6DAjH0alM6ru83K7z1/X2+0xf3nq1fft/nWfH9umgMX6XNzzyqlfCbzv+4QfE1GJe1qxDFlHihfufLArSsMZLboL3Fh4g9ERH/wO5cBjbTyOCqpEyepi4nSdMcBe1x7+YlFEOfGWgxYNtZqX7fum6MDjcXnc5rfz6SHGP5+e+KLnw/m4LQsMZkS5NofFm/ScoU9YNkvB2KEWKj7w8XCcTcxNsOmAYZuvVgYI4cNT81iYucAsEfaFVPEuMncHxZ+5xLaZwswxUPehuJB0RCWrroUdE4Jd8SbTbGlxmGFIpMzBgvpZ1b5nHDOwrySLP6z0i3kH5sIODp5ahJ+n49v79K9//fi//tcf//m8HnWE2jZtx6uFKLbdSrOJF5pQbWIfx02nASvuMy/rZTppMu5EZWJSDdHXypapkSHNgbTGIHpT25mNG7YIZaimzmQgXNKL8Az0UgEQFV3CjXnm9yEWA/tSbMyHio/ySALrsY6jZgLtsGIAy3rsOCOO7FAFzdbXvYeaMrmE1pasMq9L0B1vs/t6ScO9hMhDRF4waV52mGUx3SbhxghCVsKDB9GYZpigFr9yhw7Ep0ZudFc0EXoJKrWX5aYHJDBoCv23+M6TExbcYijbUgXRwKNMrtjzAVRBXFznB2FDoyAK23skX1q7zAhJCANqKigij4geGhG1/3kKgIw/wlu5KSYMxIJE9Zexe22H+Ht7uSoLwsYzHGBgQhX8irGE0wImQ2ljj0KL1J5j28aDGdn99Jg9YzEdMTU6B8i7YgFk2TEbGjVtdi3yKg5WTVnb4c2T1bwKnTZfsNNIv4t1jR/he3BGjKWshMxzym2xEVX3jGhG43JmJ49Gc4Ui/KrSHQLETzXDpyWY1TtoEIZCRMKSTYF6ycagwe70coDMElRt6eJLyhixTwNIuZuVLK5cPh2OTBI1QLMJD/V5sYBhJGOc8FDxYY8B9iUvRdMRFbcsSO92yUSr+FQ7LlPQR1BgHIfWhhzwdht0STbL0Bp+VKughQiNl4RVFLxx9MUzECE6Fmd6bbcY9miyv1yWztvABsm3z38Ci+2F9rSY1GGVvSA2ogE2bWFAR7xGDzMgopgE28y9debbVowkEtz3UiGfPufBySUsaIYS9O2pQo7GwMif68F1SjPuCGnhtyPju7L+Mog2GKZLNSpChoULk1k22b3cCf1qvQmOpGYDI5YHwkQmBe+DGoZh+9HJ6QuRbnucAAVcrUnwvUNjDa4ALCMQSSmAyiDIRXGUGODoYlQNgJsOqQ6t4CHIl5gxhQyuNsxQsaGO9GBO1hltKYybdW9hSmRpdgpoEDlDKgB9WiOpKumcIq7z8pH+LNSiCkHvmrZcU05KEMOH95Z37D8hDbMjlfHv0C8bR+a2D6/xEWOfAEjztWbPqJxsJEJsl6EIz2yEdboYgvdVMgYeqW4qaZuRLd3MR2w+p/uGhlM3fjBLAg6mzu7KJI1bsS2xlFgfl1BuPbgp6AMMFBnBNRUN3v3ocgotkk+GOykAZhelNJ3yw4kGNp9WrWlRieK2HnSwjk9OWranp+k65B5tYCJ3JJ3Slos97JPMfMV1Vdx8eF50ANLp7TK5/FmDcZg+UX2YuJX1U1wrpHvkVgjLxK6RFQ5a1/Dk7wImN7v+xeCzxIuNEndCt+doSKzExu0qaWDDqLWYB0NTxhWPYQMtEEPoMJhwXbFlYxF6stBIQYpDxGY7DbJa54c+UPeowgAUXauOy7bO8tD8H014fsz3m2Zwy/udl9u8Xh/z7TF/3x7X+0OdrveH510tD8+WcRDjrLN2D0cZxbv3G+ctu4rNFFEZ6sx3/bv/DEtW1Q3XORSVaNBOkxVz/tT0HsW3P3GIUS0RJHJbxTcsECkEJPUBUnoohQ5kcqxZ2StY+zFrKtjX7f7Hj7f5sT7Oy+l5WE6zHC+fVqOqrrPGcCSE6rlM7spQMQ5kYMTRtWseYZpAcmoU26NKjqfJJ7tAWmHaw6RJbw7WaOS5EpshVKgEpSS4xm5kesgIyuvFDlgG5lENDCDCVAqCQA0qG92hsdsDkgnI8pyhXLkFSRUAxtAaiLZorFVlygHgcUtQ9IrwGR4KQOh2Fby5cG86TpfTx4/3P//8+T9//lx+3x/nZX0eLufz3a1DWbRzQUqmtDnJqRjNhtOMt9Ul0JfT6pEdKpZYj4dZbztrkJayS0n11lCJnea9Dis9+aIUi6PJleONAaDQhuRMqBA6bN8XZqcfkwg+vJMgZuUPbxrUT9bHVJo+jcgzbIyUwrF1/Y+SCrOqtPnkAx0pquxJQpgeeg0JtBjZ7teJywePwdXMjChTBe/FoEko0T4ao17CJillggyMa+d1bAlAKJG9bh1q+m5s3L5kTgdwONNziYGo4x16NsfvmW2gT4LdSBTIk5VUyuSjPh+xM/Q89ZGYUnAVRmz8G09J4QcBAenyVScKB8M4n6gqYBJjfmycGvE25ZRdcDBYYKA0Slhorcr1DXzHEKyIrlIys6kverRP6kMOJ69WQqSiJEsS2V3+AHu+WL9Qt8jtjnmZlzV9ZyeQWI9cA6WYWoYr7P94pK6EG9iVb0wXIXvJ61JVwaEbCfcEy/qjI9mGt4kEgBJ8PX2SYTy1pSQ3hy6pM1nXKgn2oVssDrwLsxAclxqulsvE3rYEoNQXhw8KIdMLcBwCYJGBWqIbnRKF72b/f18CEAdqMWMSXpGQyChl1kVF2+E4xV8dhSXMhk2VhD5aN6UdRvt4eKO4DPJyCqftIUnpUky4CXxkWfyCBwK8gHnUgg4WyslUlOnl/DdgbxAgQ9OtZaMH164eF8YXonDHXxjLcRQSUH5pCKXKn6AMIot8vXKAvGldOf45Dh5vYKeoUMQrBwijYqnw8VhppHCkc9qUInoMkODO2mIIJn0/uocCcl7Lf0igrJ/t9VIMBn9br3hcizgY1phO0IjESUG1P9yDE1F4dm6KLOa5Mco4WEhJUMnWawsdmc9Knd6yaV3+QCyOqi3vlneMkFJWRCOwogzps/KC40PRIRDhEWlkuOn8dr2FpgWW5yl2OsEKcDmqCUAHaYe6hRcfn7PJTvbcbEtslKgs4dIu26ejQEmQwYxEKQEJNNlXEdtw8cUIk2dIDwrdaOR/qBkgE5FB2Mo2mCf41rA769wRBwFwSySUHSIBNqHYMmDYNLAddnvcuUoiwLKtm48FcLl6WoX9BRVl4Tt/CRGmRHMP9ABYdoY4Lb7GG71CN6pluTg8oYVBjR2dnokzNXowNZlz3m6tEJb3CnOhjFlMZSZhI5uYHZHdd1AEgQec+44ytT3ZVnFECVKPEvApFDljIw4yj3LgT1Hgdd62eduWg6ptn4dlVbLR7tYyUz6nZ4quZF7b1NC4wsNpkn20Tcfn+bnpuBk1fRwu5+PH2+Xnj/ePt8ub5l85kUvJBmE+/06o0o+20azMcZgBR92g3cwRUg4a0md6oJJlBFwirofmTvAlNljiSpwchmUTaPd/MGSIJtxGw1vsrxBIKYK3VMqVPeMvcZ1gq/pOpk1idDvGSvP7JmhbjtpQ3jYfWCRccHSt7P5lu9/m+zx/ewb3XaOe5+u8fN5U3/t9fzyW9a553dvyfC5qnHOd2Uk+sAcXswxiB15jCBRluoNqj7BDcTurhabyJXrL/2bnNT8HJyYGE6DGDmnMU1yFss/1dTF24WbqzI3RHfzLf9NYHLmAGujlNJUiMLdNB8l+P+bP2+OP+/xxmxHOKseYt8ubZruJeiYfwbVXNjkSRrTL/GZoYNbqheKqMQwcQek1HE+HaZsSD7VoAi6ebcJANcQKjRXH7ShfEfABStxdxkfrRYeFEhKlZ1JzWwrTn6vjLjt6jF+OQQkM4wECIHfFI8+yJ85KQIYZIZkd9VLCgwCKXZSOzU3lGANThXxSJbY9me2sZzoYdnw/Tdvlj3/9/J9///F1XX5tsyfx+ql+D2RBTcfmOUyLB1WuOsxPp32JB7bJ1RAXuEmiwLOgBbASU3Y21PSLRR75ELtIx2VG8e3XePwTJlzYGD5ghftbmt8TSVvzGdYtvgUTESG9HkJtuNnZNoDnPAoHXsiQw/aoMWq462WLCBU28LiKoDfavNxXUoBJbNEhfjiEKTFubdIChygzms/Q8W7IiBiNHBqCM7dLM5eP+guxUsDtCwRel0GHfVPrkVsJT9TnZ50qOq3PhkOK4V+fpJYm2qGVcvtPTM9hRhJEM2K8r5gGVtFBFAVxCQPxdDv25rhyRgQPilFtYj3CaggpdEw6b/wHcQ4ICkMFYnPujSi5WqxwVZLBSoLRkrkEQYiKeYfDDo+tThbLqwx+I4Cs2mKIhH5KbP4fMfq8xFggwQXQ7KLY3LLpiFE0SN9MEL9gJ2asERenYHPa0CWmHzQBf5iR4bdeSiSpIgf0fw0RhvB9+Vf+joinmgDXcYeD2hLJpoB/P8CkLLSnOpqFxN/3uTztb48X0trDDiEjDM3KI1R2a3+XoEzSysPtVQ2Tk3hZX64fgkTuXecZmQZlYCBb9FDKhrhmavJTH2iGU5oKAhcHFLCaWKbZO+I7e3ZRnr1EAl3Sc+d1WWJo4WtSv2nwUa/s5w1TYX9g5D3kOMnyS3AHibCPIGdGVJ6BH9pCXBBBmV8d+8y3DLVx3qM65dyBlgifxL1Z3RycaExdOK8rruXeMZiaUoBJoIzrTWlG+Qo9eVI0ZeNeEXFN7GxPTuBtYSG9xVa4hOAulcBihRalGvRVcgyy1YM2r04Gr1ddfw6JW/mFsjPJ0yGT5BJQ1ZHt7DfUbJgMMYScjSvPKkKHrU3F78vN3h1HImcDvAF9QB175WZiNgguXGlYLS2pWXvlCL3lCSLw9gE4GJdzpM5HGROnk0pkoXC+9Rx774IxPE6hOwJraQXJ+cuzxydbqNkPc5/KsMRZbw4Fz8ZHZa60/rLqoKxdDMFEBVoVOcjNwH0l7lBrAXk91XLmCM7l4IEk+hDRmD7DNIbzrcsjL1FgpAH9zKEGCYAPnAZjFtCjCafizMD3gkyGdD5km3lg5HglLEYb8zYQu9a7RmVmJPB6QomjtAmBYwuTl22y3vx9SUuBmFgVGYEwLE913ds+hvVZ4i7luSWWMtQEmKuy6MOxgS6z0okcawUzV5AKplrDA281TmE6O2yzso/L+lTTnf4UYWj+6rbJv5o1AlqncVpDXGw6+ayT43Q+X+Rj6xxVWbyehqy+3uPBw56POv737XKZLhr+fFFrjaqgffCvFadlrrPPVKDQy2+SM5A8iIKShyAAAqmZOOrVmbWBQoPAw46RXMhvnglRRGRyfp4BCFOk5SxfAmukAsRW6eQzuzL6IiR1UCgKuhVBmg7lzS4iGuwD8dyiYThqKl1XH+Q7K06yPFc5vNuscdzb4z7P83rXEOP7nTTv9/37Pt8ey/ftrqbfebn7eud4nfU8qfxfaUYYNuS+E1V2HZoIu8YsjvbZHYDSGbybXj3gELKKXMhvXJTKKZgrRFoSTEkCD/Qvw+YMgcPKQ7TkycgaLiteeulYC79RjWKZejie5+f619e3yhPeL8/j4T4vf/x4u6/bz4/tfd3eOEZV53DJ6pgmxYkckVGRbwQCsfwkfhVZML2FGlkIXY3n8/niUwxg3tMpxWWzDpyUY6wQkUf9IfGplsx+mC/awR85vMA2Uy0IfhChO1ASqbW5EktrlEFhDtJUbFlLBUKM5ZEZiwRnlIteKa4eotlnM6YyMNBXm3oFrxmKonPiRBI59mE1eFVtEyopOR5O0+n97fLj401+q8vmV9k8wSlhAqyN7XDS3PPDcdme5+1gcaT6Z4+lP6tNYjuJaVYFiG1cRG3Q3eotw/pIYlXzJUwYBh1T9iJmUS7Qen2+ECE8L+UiO4fSEEsoH+hiPWyhv4cSTKc2vwR5AyhmNNjJKDLeFrshYsnecAiZwwvcmWE+kuTFpEKreksxIHsA8mAE2wAj8Vu8DZ1YzobSXAFEjADww5OpDTRC/TLDiuCy+TY+alafSAvABNSm7rSA+clUraXovCiAeHEmyfz4Xqt/15q9jKRCPmChJdBvy9lwoAWf4JGrrnQHzjZQoD6uqgTbPHRS0y7hTT+3da3mEaiFMkAcV1JVQ/7F31bKRKvzCaH0lmlUpGbPe2aKDiiBrwGLTXn1/XhPURsmC0+Vs9kgBqTQA+XXSLn/GR9Ya1htdQQ7xTtOcsQH1KbGGnH1bg6hPSPWwOwYlZJrSqkDwawXKzdfDVj1XUidiHJkGwKCWDR6lgtyOnhgHrNnOCOwThiHLhKLHGKQ2Vv/hCnAs0wvPzkpGfRfqpWjgyKGEx3TS84KeXiQQXNmmHMQu8sdvP0cQ8XGU8y4W30233aAwORD2vTzvUIbgsSvT+OkRiZmP0YOShUutqGDTPJXQ8Q1s2Vt7Utj/VF9zrBHN5wQYvEMzOr2aOt9NajxrCyyA+GTevC8Nlexdn2Q8Fk1BFf5BvJg8ehKZF1iAcQAG2i7cGQxSI9cGZ4wKdcaGLqxosgmXeMKmIGpwk3S32xjCcv5RxYWlW1w6bI0dV5/xE9LC338+1KV6SZ87sZRh/wNHc8Ry2yA0XYSd4yaTY7BchJzhGBHkieYLb3zr1hazuMhFZl3zYLrO0OqCESUOc4PKXUI3fQUVWgsMEspaE78Mpb5i5lCxhWFimge0YhBMM6VOT2Ve4AhxnrSVqPqXua4xJ7cQvfix8jQMFjSUQCbkLMwq7FCXmmLT4CI0/us8Ox9KP+fPuE0ggD3+JNZWfASP4nQib5xe6qVIGLLdSY2QLwqOLxKXI9IqrNR3pjFIVFDlFMXgCKapyIslwzZBhMxYMDxy2HCx3DxlTGsHdY0FsqDo84txbb5fWxap5g4sWjERZz4aYlqhYx7Bz8gGR8VVqKGtgkDLy2HBhnLyE5OiIVa/AMkY7by5OIihBrbGLEncJhOOsMscPKroy/cZBXgRR1agtimR+t32JKrCg867EjtdutDftfj8bAD9tBwGp3GSStkBKxVlw+KPqrXxWOsNPpVVqwc28OBE34v0/nt7W06MxjLR+9Nk8LPdoOTB8YK8OMZr8W+G5c2valwGkFd+UBFUcyeUu8w8AzF0TEQBdweh6gTBJpBDQvTtamHQEZWxIOVo8CgbJMVQrllqJGECApzOuWrKvMDeChYWe/zIrtGZc7+nwuf59s6z5rnfH8s94eae++PRUOtbrevr9v37X69z9/Xx2NbH7P83jU9OxJ4AqOUGiIBuQmLJGQ2FrgvO1Rcw9JfcUFhtpP6C6uNbzDBBEqOnQBVQCAcnUAPGluI8iGvg5ZD5XlaPopRCYCjb5JOGsqu8qObHB+zb0tIuR3rc7tt61+32/n316KxWMqTa6rwsv14394eq4PYTxXnH0+LY0mni3uATVmEMPQujg93vsG5AxIHoSNFIO2WPDx3nSzK5XLeTgqSm7sIgOok5Gl62w4aO8e0UmU+6VwHUjvAIWnJu2Emxg4hCbNrfZdaNRQ09A6iVECKUHlFYIyZQJuenfrDdIoSdo9pVN0ZqMe0QUeq1Z1mTtYmqtbBRcuiuI4aeL3sbZqOb2+T0jXn0/w4LDqaKw9U8MYtoerhPImcZvP1+aBf7tvyWE73+fx+OS/zY70cdSLPujlajIkPIoaxF1MMKxFVXiaOfdjzEaNm9j36y6LADw2gw0hmnBXxG5FFh8nR27E0IkwMwsJOHHAf8RD4hZ5RyryAdSCkmYadEraQByhLke2IlirknZ4oPzQ1+cAE7nFgqJZLz91D0QGXThsOrPwcCNJPEbzsc1BafDxRWgaF2tttHXjwAFSb0eUtcLQhwwWx7XtxiMrvqXgZAsL49HgE4FC3zj6qvV+ovPo0EmHEOHK1Lb29FylkbNPPIqO2UxZTn88lG0gyPzNnVaKPSy07+Q3O6B4tP5i6gn0RbCeFk5MYLDJtSnmeiGPTodB0TOxAg6W9vI78pJDY1oUtqVhU7RVOFt0Tk7gOaCFaU08e2ZLzMgGaU3oKD7s06dW+Jfsaa7AyfDfHQCMEGEnjOgd2ESnnZaybWk4wlxJYGOrKNljMWtZjW9ojY/gn/bS2fbBqoBB2jePc8sP4C50aE4/3xaPCd3DSTk/nxkbG8PZDSyFcFomh64NdIOZk2liSFd6rW1AGg2ZChzzY+0eSK5GQbesDH4DedfJct44wunSYicnO+YciZW7PShHTIAXnwfCmOTZ5BvxDyw1HLFWrQbazzpjE9e4r+Qegd8MDf5FTtdu4epCG1TSsBUfoXq04ozL2oO2qMhgIy3Z9QzsEj+JAIQV4FHjw+7A8Nc9DUSJzHVNcu1/2NMAWrzvbgv4IRkYA4EUSexVY7GRR3RpUOKVMURkehAWLB1+cMSrC/7YMXNPuJW+LxLdj53LZaLO2dBqhVd1r+ncj1OCTiABFfImMVJwm+BRlF5GXkjLzbZQWlAfYBzNbyoRLgQdyx+oQ7rOBkvtyYwUrAWrDDAKprUZAPUR6VpUbRUrEvVTXLN/GwNe0qhAHvkf4re+Nm+qXhH+yVEmxaZo4TbQlamkcyt7Y0thuHh+KCk0rXJNYl9+NKx7wILGGfaQV2S8iruZ1+jr/UJsAWZfkTDoJsPnCoZaQpIPmHJVG4o8lJqoVaZouptYewOxjjyFnPOGyJ6VEZmojKhghk/BCAqYXqnx20zRAsfjGBsXhJFMw3ugdr/gAXh354dDWCHyQHhwrRl0RbFCW2GIhRsHoy4B4KTHwD+xAKWMUUwbdo68SsoXmXYEmwaK8yqLD0tRuJw9hnuViyfud5+esVM5RKUylXIIXD/Qp5Ico86LwJKfzaTof36bz+5vOPorodkjmIMeAg+iTsTF85RXUnBAYPCUo0T6HMwyBli8wH8UZ+yoNEzwOa1yGxkmwDQnelxoHtHGWIRm4zKUfKdBKmRZUAcwZbYAqKX2iRjDBh+NEWlvmrE9QsyxbdW7v8nhopq0zWYfD4SFHYbtdl+v18X27f9/m24MDjeav2/3zSyOdHzrOV9PISLFh5NJ1AdFaRGXsJy4NJjjmBFIJyI4hA3YesmYQOyJQ4ZghvPLFkA+Z3ZM4KDphkG5kiwPNtbBtJYdgOUZNoGaxcHTCZKhQX5pA+BC9L3+aQqherPDz/9NsxgRVeZfr8fi9Ppf//Ho8HFmYl9vH2+2+/PGxfrxf3qbTm9rS5YS4AMcwcrWyW7C9PsdqEa6aTpxaKjOaW6rCmFTaqMTheJnOy2V6f58O03lbjqfJPcYhCaVDz+Vi6CeWZutOkV5sKaOwhr5RF1KbVBURlXhtfj5KCglq7OCm0Q5nQxaVX1hD8/H8gqkYwXuKr3NrsAixR0niRMCmWMwrdAyG4nOgZ5d4PWjCudPq59O8HZZNh1Rt7nGDPc/Orbu/TAtWS4yhuurwr8ODOol1ft/O27I8p6POBVN2+bQuSj86KYpuMiSq7BNbhbyAWUbBwOvx8HD/bEpxLUSX+kKqlLNHxK2s+PDZTpDQ5Hgp/wipgEIH0C2nefu6aQCbxhY02Vg95/H9ZDUbxkN60VLTPpKEzolnJWnGFFxEsuYA6H5t7KTMudG30nCoZLrxig2GFh5piYbFtXCl0cbwJ48mqMTVk2FXuac9Fk9FvG4r3ZwMBaQJA/nD2pIBdCFeCmxgX1LXQgJBz/BJtDAyI0hGu5kcXczpsRce8c3H6AUnNvVqZ9jsOh6Pqs2xTMezSRAHSZUNWinwXV+ZXHHaxXf5AyuDk3pQFkdmqg3hEXX10nVf1GOlB7Rhe2a4oPHBC2OTTRAe0TfsVtobgz0DEU0Y8jdrkeU5tcra+g0+rx73MS3ZkE8VgvcVyIo21gyn1BUajzHqwmGsO8piCK6irColnmrvEtpSN1dxhvw3VOuMnJ3btzR2PQ7KA2ABUvMGwCxNDWkXTsFOJtPmMeLBKbEsxyXBShgb4+FFvY1nm+XpyBZzLXyEFFFlpWwYmicqAgwX/8LOTNJ9Klm0ofJ0vAUqmOQmvzfOZJgyt6Cl4S9QxoWDtsa0M9Iy2KGt7W6VQyNkYSOQ+I+jxoOJPQUECKLDvLisAaDQE1Kl0kry3DImEkn4ArAwgl9eKHN9sovJKUvyJgZdjABbRFu1Vh6fY2MDZO8vIobf96BEqz0zFpzjlDwZbpW/rON/9H7zXqowuzwLQQefCFg9t6em3RQBMbCYGGR1zEWRWl0WJMJPatFLu25QGaax5OTr2cEE3nZMhXgiQF15T48hBZYVHi9vti0Vigy32N8BOrroH2ouVoWvjAm3KUDa70sgkVhjRf4g9l31mTdnle8WIo6MRgwkcRPazdZSCIz4cSEWDwhkuNY/SKK0dXmpiVkf1sTtEH6Y+w3cJCzShadaLCNCgedIo+17YW8VJa7wd6APRs8+kIpoVH1CaTHSCqVf9PmWfcg5/4Kk881w9QcZBFLwflkg9s6gMkRZOnZ4AnQHRhlFELzVvHAdV/AE14T5rAgdtuSYiq7TT+R1hkpZX996IbFXbMAouGP8j/baRMeAhq6v/mAbeVIFct9A+cZYe4VZGXxk/JAaITdHFRWdVuuv0o/r+syfOmLn6WnDdoDt3D91QI9NMhtMhDBYFkyChwro8MXPmoClSi4Fvz1voPdYD4FFmzb6WAOJGlUIztKj46YJuxkj5TuoKpBWU9HIORThkQgQdly+VhOkqgKMMa+C//VWv9+/WsPH7wVFwDT61JdEINAKqMJPtSwaH8KLazdldCzLMt+VIrs/ntvzfp/X9fl9fTjlu/7+un17aNP3ff79df38flB8rjNjfCxPggzOx4w1khOhI8vrMRkibRJiRZhk7H8Yon8h4QZtGSlmslEIlKKZQgTaHHyNhdCf6PZB8nAOf5UZiDbyBDCQ0FJQ//KkMCzvztP4HPc4ltE/kUZA2bEHio310r+ud+aHfd+W//XHer2vP3+8/Xib3s/Hy8QhC7wdWXlcMjjCQQwqu1ICrYN5YlgdZB26VykEdj6fpkm5yvf3y3N5e0vNv51slq9q6EkzXM7n40URQEWlz3KPidAMJVhhqDclkxaX1kTlf8dqLTOMlEWrnKKtbGW0qzkyNSBLUG2vYgBvkbsyr0e7fiR8ggGRZkaHj6p2EFfnpCXl4lluOqt6W5bHdbnd5ut9mZ+nx/a8C3AnIcikSX0XK3W6XYyiLK8Fz6pokusk9P9l1XgCzkJbV3VJn0YYAUKOLEJMVkigQfWrDz6Jf2J1At0BxW2J/YOUCGEl7JfOCG4oTyFZIgJMzaMCKuZ/uHKXbNCpGS0lrPBvA9mqD3KZPKY88mRsi0dgPzaDXaXSQ/iaQEWVDkrQmgPlpvezQ69j/NOWgmWta3mJzHq37u/gMxNni6mcPIy5PPZoysxKw5ghVjkp2TrvGxcW3DD4npjzg1O7UhXbYi4OVHcmaX++SQrfJQWYFK2bLkoVNgOsVToR1jf0IsPBW0srWawOwDjWTONoZB0VXlmCH7iLJ3SEHNpsJU9hMSaE0C1LiWBkZJuNlJAEhEexJI/WZBBPf4zfy4GdMWWDCd5FuQJyZdAei6/cjpzIOSPOIsb8auWXjvJm4tjg2jwkptqOc8MCuKE3FRxJzBsKoDgcyydKYACnZecRiLWN89xElyqWwrkZpgWURhmII1mJ6ZjJ6puV+mx4exmEz+maDEuWBqmtxwALvECEBVEGvmRT1J/nWDuoOE/JkAX1h7p3z+ZVJMbA9vl4mngYgEtK3i+l5S9gq39pkRKiq/PQCLW8INGdpmLWdWFX+IqgKyrf6kzXeGxEbKZWBWSVOEcIKVIJrhRXuF+GjtuQhs2whyCiycwpLsbA8fBobH2Suk2GuetmG49EslB+uifR2V3HjU0wyYmxMnn17pr51U7YZr4lA+wgLAWuXc5koe3oipSa3iFsBWPEwv0+h2DCrvRASletQ2Zx8qEC36wTlrAkDQbxoGxJu1g687WoDRtMFZ/kJUDLvqxpY4ZFMEKWCI8CXm+nMcNFKRAMnIp2wBUvXryC8dDAE8fePxmfgFRPj2tW5EVVAcNOGTg0olTcSWaBsEakHqa4MZKNW+amEsbzksTL1J/4PSlEOJ9UlAKAAx/buCkNGDU/qu/NOB+ujPQvVfjiXZzqR9/Aw3H1KbaSR+j3DJOif7oHJkoPeVSSLT9ajXrlTrIwn1OW3462iPexBAin8fGWulRIVFBCdIl8I3Ya6E/9vM8AVATRVaggiUookdyy6YTanA0W4UpAfYwAYABshWE0tMfZ+59OPjM1jSQDHfiWz51x7RWPpjVkp3doTXMepkN1Eb/QHBWLJoIUewVbQA9IefDgEL9u6HJ6mxtzcp7Gkc7Nk65s4q/bU72+8se22zzPh8N9fT6UyTncHiqKdjZCxQBe/0YvH25up+upwNXJC29U5XLH83SeNP95ulx0ANJ5evMJwCrZZVCQzTIGq+ifDojWKeUHB55Zg09lz0AlURjRZ0qLICuyvISlMAUc2/AFQUrgl9BAYGj/hMP2aiQZWgSShtg3mXrWoCWn6wJjTZqo9F6O8H0+NbjHlRf6ZVGe/ajRVo/lIQd4mZfHY3nMHul8m7++H7+/H7++rr++rtfH/HWfr0pXarSu+FuxAZHuYgO3cTTTMI59NMNgx5LoHu/Ddg9VxYinwrDhM8y3CMMx6cD0Rf4kCImk7B8gzEQ1rP+Imhc6zv0oDDgs96Mm+cKvsrSFnYusPII5/9DGLrMj+oI37uARmRJiffp4Po/Ltn097vM2L8sfH/PX/fF+mT4up/fLxNh5J/p4EadiO2RhPbhi4h5PQqTPiTDlbGcdVXG8nFVMrcr/syI+7++XH49VJRVvk7oAPt6m6bwele7TYG71xCJefVRFjQG61gblN98iK4CgcOg2wY3CPle3+St2tsdVcp3pd6ABuwkvA7gPoatKjxQR+BG8j/cQH3ctUDQQ+sUCNnQU80ABtdN2VGP7IuJ/3Jbv7/vfv++/Pu9fj/m6rPN2yoA+EMjWUDCiPYlCskNyeg/bMp/WtwvDgdxeLFmOanPfypmZr7tRx8AdtmFZXuqNfrTUi6Ue4kVX1ovQP5fE+DIOJ1RHhQCWN2ppH1Civ0a7SviwIQsTufN1HI4YJmiBYjCKnO+BEbXSU0AJy8lUa51dY9Ds2mnjNHB6rb4/weWcdmtW3kvWIbRoafEt8W7MPMRLDiM46sR4+l6wHkxMJg5svFJbdB1NslV15tURqPATaofgloAGYBxJtSmy3OhzDFXsEII5hHB1V2NolSbb+eBS7XCGu9xcxckokHSre/BP7G2mVdVSG8ULUGbCT5Vn4aTdqONF1jTJCmgj1Nz5Rp1v6hyLg3EBLOIQGS0BFbOYNRctya/2rUCYO/cuQss5E4aol0HiUBeHgYGUQlW4gWwqUfAC7O0jVA0Gq/xWUdF2biPAOUdwIbBSPmBD32vz0zDzEJLo0MEjg1zzg1NH+KX4rWWuuRjRJK3qC6OFGcMc4CuibMSlMIrsI+gm/6uMmihg5yP4sYSbKDuKaAxw1opTW9H24xJJBptOYoI/b0nBTQ/4CAGk43DfcsOUqYAk7ml+KeF5JN6U64eGy7QuG+6Yz3TEAeMX2iklB1hD2BJPI2EitDojMUwGmNNuoKcGoeNK3ym1Fz5aOtw99W0sgMg08baCxFDAhQ4oDRtyXAjZxNJqxtXL0I/Oa3bgREUO6qivY4Glb1shRDTW4V8qyIa3H8GHps/GMgvXSKSaIWddq9fFaRv3h+TJkXLMxtIz0pTYUK43WKe3XHuQ1JbbFvWexaOpgll8g3osXFRvxx2tLR5gfyS80gXOi+D0ykEWJYlXL3bcC9wGYgjSQCSZ+Afp+1PYghAVZDjkOEm7oagiqMqcpYY6Zqn1doNBxmbQq4YD6BlWroFBIdoko+JqzGeo+CsK0KCQTU10zrjWbwZeRt4NW6MKF+IGYfBqEJmrOChV9kbL4az3YaMITf+7+/RGTMl1HoL8UahcNGW+Rc6NS2iFC/VPT0cIN3r7EF5wx9vGn0kjg9+UGsVntI7sfDvX277EY3gi/o/PC8k5237mnu+q4zT8pRLv4LSY+HB9EsiRNQFNYy1cinQNQzmNr9WaiZHwuLYW7fEPPUx8UCjfNZDJ24NILEjTNgjYGSMwLas5IsAxs25WnVd5Yvd10YyleX7M23Veb9vhe96+H+qczP78ksxmCdW5PMPyGvYFaiLU82nSEcDyhE/KjE3ny/l8uZz14WSatsJyLjDsw2qLmrKx90HEJ430aOk2WeimFLE3vR8rgQoaOJqrsrzAORgsnsxrOYhssDM3UyjBv8JCxAdD5qTUkzTU/DD7wOqGXOdlecwi62VbHumuvt/daz2vX9f5+7b89+/P39/339/3X19fd2e+FlxKRdsVHUCvJ5gZr1979DAHImRWskS4hnmKbYhVOPilEqPxo3/SvKaYIVNrzQxmyA8iIMYEwxde2TPkZfyVR3aeG4aswRrTLAMHawDmj/LPvsAxoZSPM2Inwo2tI2ZzW8wXiOe8OAG43OfHsvy+3t+m84/3y8f79D5dCHW5jE02hmcuyS3VHCfCF/6nkpN26zToRmOu1Ot7Pp8+3jTe6XzSlLf36fzz/f3jMv3r58cfP97e3zXS/HlRyypm2TbbBqAo2rZrjZPdqEYH1M+FxQm/DC7xLXviESOT54RMBgIQAziFvSTAQX/F7uTSsoWrc9NDaz9FfRyQTWec+AssS0t+K2Wf4LoqybvNh/m2Xr+Wv/97++/v2//71/d//r59P7b1ybhHaCyYo43VRz8xM0guqKJJh5MG0C8aq0WXuzWSR6irRNbgaiCMonQ7kMiPwg9qr2VttRvAx8PSNVbTCA48pMTfM+skX/LIkmfq7Ea5vmUHbs3+NI/+zpsZ1BQQD2rG+udDpevpuq2sMqP5WaNGCVgcJzezxYBW75TZGVbJW/h26KvagpGwlbMRHDEaDQDSU+xRX8e0YR3R5loHtmSK5rJh4KV4ZcILGZARPm09n35a+EBj1xAU/zCqqfjo+2u/hMXHjyEQihjuKBzt29EQXknNit2QG0ImrlYVOzm+btZNsMxBGYDDqjLEyJeOaEWWFRbm92rmse+88dUTAf7gnNhB66Xx34kRGs7E9/WN9VHwhTwwc0aR7cQG08EKIjP8NJOfa9mSI/RYtNrlI32NWxtftLWBDoY7nmrK0eGyQ27hVyeCQ4UCdiNntMVBQ3zhbGf9kHEtgIENbB3MgC7EvFvWJCLMY7MH9BhLCNxiRnO7F0vw3AZGRsEZTyGScQ0Z+Upa2NOLD2exdodUXNH5ErnaR+GSc4r+CwlimSEiWNpTDjC05c/igifY6U/dymDnqo2N423wdty1ARsv1L0EfDTUhqMwgS64jYkQ7YKhnmprBFCDr32Svs8oUcxlt7GVN3Rx5j6itgha4tKX52rEJS7FzHDdSVxESYDYCACxlcCxf1OA52IkXDILFJJO1FwOHsvQWsOBIH7yH77BTpeXxzyM3eAPzWCBYluH5wgH8qkBtK7Nd+Fhjkhaqbv8jLSLl4aHwKv8R88rTn+U6Qu+666hePKEkBLslKscMXW/WN9jiHt7LCFWtuOnY7Sd306slSAydWR70MhIZISV14psiGbx4pwjTK+baNTXyOeRUZTgMe4iEu+4cbTV+XDWqMzMEyzCnWJVLCRh6Xpbiecx9DvSb/MqiWdHKPCF3oRI8YdMGkQMOUE6iCtCzgJWQ4yC7+Np0YGwOdIzAh3iMqUn90obtoBGjCkOP+crKJOYWlbcbMVng07f2AXbkSb9FLbY6bB2rxdP85L+oL2g6XVxj9OK6mHx2Re+H2FHhgEV7IYQj+RKz5RXk/CKrF5uDEnxu//JkHMkWMIVwVZFti7POXv1GhIeDgGdjqrBdJwLkw05Ndg6rgv8gWBL3cSIDkQuRN5YFBc4kakuvvIoqTknHimT4sOOdLiODpJVjeJtXr8e29d9vi/b9bF+zc+veb2pLNrhqLqQjl5YMLIMv4vWwKepSEA+n9VkiVxiITlbT7OjjxqPd8psUJktNrU1nVJqOKPyBjB9lSvxnIOiMyrDTqAKD9DzdVHbXmdFepVorIld9YW5LIGRrs7rgtOIIKKiiW4Ynkm2Reig2pXstZNET/W2aXStHODH477Oq2pv1GWt6MK3ZjsvX7f56/r4VOL3/tfn99dNJyDdZqWSn4fTdtJkG4/dJvDMpBRkC/OntXfzUYJmJKyqfyxPmKxWaFQL1WcBsv6wHEqV7bCi4hrtzPby8/JRcJEoEgOUhvwel0fJsYsIyRJnMAXK+AQTgUXlQaX20SYQRd/OQMz0kYcZ1pNFvja4qJB/m1cRr47pup8u57OGlKuURpnhRRO4xzFtwnxK15Nv8vnBibBo5Pb5dFCBs6v7z8fjdDr9eLv8uEz/+vHj9pgfj/d//flxPBze3qd3RYGP58t5e3pg3HJUAe/TN0vA5sxeQo64tVFnIINQB5B6MRYHs/fgYqcHqhYjtBoagzXCVn7P8Pp2H7gakUCXAjkEd7we5FtOI8xnuAWKppk9Vf3/XBT3We/L9evx+ev237+u/+/n/f/5+/6fr/W2nZ7TVJud4TcmaVc/y2TySl3QK92/bcdFSXv3aCzH5/NsgSPRfV6359kNuRo9Qe4rljruE7FRfZrTzsk71IQrAWdqVX6PVQuUiVYPZwyRa4CaoI2mUUuFvZ0pRDANpkXnnMWUDEopzlS0pdSd8yYzuys9COWeZkhShaejzkCW92jB6JGZXqodMZePh31CKiUOXD0KGEn7RcGNtiPdyjjjkEfSLZimRP2Ne4ofw8494iyEF+koloS+Y065lMrPrkYMbYduY1ZRUAltl6qt1GvD74RM0CQxjq4Sz8rOOeav8gFicCI4Rm5EfIxn4zTV0JSWxrL1OluOC0BIlexxhqCJZXWD8AtnnPhMl9BY5PDQcQZpnuB/690Bf0SPycNayNKv9jaBg8B8PIRNFeuhPn0j4kw3OOeg7paOQzmO/ITjLQGSVC2k/RwTvEN4QKPt5fG5jFPfKyZCwsf1zdqGJ2jIk8ZDT9uFZjfh4ohBZ12p5upD6hKaV0MdPK0gzUv55lX5N83HYUDNj/j8Ro5qL9x8cQ/ohk8wMetym0LIkDXEZkrqwd1ZlnN7wULGm8WcS6nNOEybwIQOsMyGbEXXygIl4WXbAdyeJIn5ziACBtW6dTNCWpkYPoALvDSGwQTd7hEbu7U/XbpuVge/mcPSRZXu9dhOran6ZlJgzNQgB5LUJRGpgDvRB3Zjondugzjl/iY3JhWhPt+YQhfTTTK45vDSgNFThpFy82PLKfm2mTn/UCVrGwsbktKdRPJqUjZw6WnvrNql46ET08fkUEbiMV4NLmP1hOoFKMDJSGSSvm0qSbm4RfNokQ244r1rAID7TmMXRBwAHxRGc7DJuoc6EGFm0frPkBA8EvBQaKgXj74i1ECQEte+AXIYz4FF22F+Iqf7aiCQl+1RwDoRNzIgJDueEC2J6ilp99UhBeT+IIweDh5jyMzVuZccluDneyaEnixCWbY5nqnOXRyY4YCryHoEnMb2mo+IrWpy6gv9pJk34l56ZeTLnCgzCk4a8WnDpBB9CYdXcnbnYSZ7eo7A2P/PQJfgLrTNlhE9HJwA/FOIrl3bT61aIneE9PJZoPq93e8UhPsiJi4AeQp+O11jlxugOnLQKNrJsvjCd01TkwU549BtaassrlZqgzERVYiLPGbEhfJMIoiFHXImNOL5z3FVaVVwSgK9Oa868mj0s3haq7KRt3n7eqzfj+X3df59e3w/1vuy3eblujx1VK0K3Zgyrbw9ITPK6QlqcHLMSeeXKPgieE3OADtFgdi0VC/Xwal1Kv1EwYUva/AgW0gu6PgDMIiUSKQLeikDvt41uKgg81h1Vm9mLheVoegq64mJDdkiNofrjIijXlOhG8SLuJt/q+lx8zgx/ltmlTIz+0plz9fb4/f1/vfn/eu2/P11+7w+vm7z5+3+WJRc2A6u+jMVpNbM8RwIK8YQigaBkSAe4hoTcHd6XxzR/gxlF7NmWGmDq6LECjP+A1ZhK8AMTQYg/4R0tOP+hD3avdej4oNE1Hq16bVjjyyE3UU95ffxrPEujlgMDv2nhcogHxTibONvk7Y08WjC8Haa19NDQ32Ic6nAOcf7MXJNuQxPhI5M95ItYYg8rOtpoYdWb56Oh8vp+D6d//3jfnvImT6rBsI5wOPh8jZti1w8N1docDdhDJ2PjSKALt1YjBByv3Rg/gJ1ME9QuJRQakYqWQZ56RUh0ZsxK18Q3F9Mw/qV4Br+lzHbZ4btC2QvMSF5iROdaijH9DHPt/vjqsHl9+/756/b378e//n1+OtrvS5HxXdc4Rvt4HDM4EfrHmGLI6zVN3A8LqfDPGsQvYMRNHc79mRbHct4CF42X7DEWYGY/An1zJAeUBzyw9cltPvUQecRR9Ftg8SHpoMPYyANXgMug0AhdvqpSCcwt7aUzJaJyXIpb8F6fJU8KBl/F3tYn3CAMQsbpV6x9ZpQKQ+iKIZJERbOvDfAAoWE0FHQaeoZvO4RYAwvTvI08+wGFfKqLDbeQP2WUFTNsLFmlCZA7flS+pAiXowSnC4Izpvv5hDX8A5/UpHLOuzq6xu6NN2ph2kZhtMr4LEaTdTYYDNY/KCmqoxjXRWU7b7+/9IGee/IQI+LCzmycKtgiBHp0m4C3EsCKDmw0BJrn6CJN03ZkW4I8QC/ikdXmNTY5QNnZKghDRDYhJlFZc+mALojA2WIZXT/Zftx22L6moDw9yw+HdgaIfuR5yuCvHfG4xNngh5pJoJAITn9+OyAAe0oQdcr2BQzjvGf0+WLbKCWc6SLE6+2p1q1w2JSZuoiF9zpNtnl4fusmaZtIwJDfzwmuR8ITckGmaJOQRGS8+WZtovatatNCGk8hSoG/JHJaMm2mZHbi4YIhuD2c3ErZ8KL+xSfMU/YBeuVd5Ejw2EmHjZEGQBk2nAC6sEidqovic9lk8WKsxy5c4oRboi5BReX1jXVHai7y6kwXMW5qoBs04tMxGYgvelIHzpqnRrz2uUIfkfjbaMVISTIKHOfJaNRiqqbkfPjmHcmaWckDwuKlIYYI8car7KmdAuzDOOQV1zxkNmYlUd5pn5rLiWWXpdmP4R7dv8ZOKLPsgImsjruZQmSTn1PkDI0Q7hefKkBP3uk/isnWhaDVEbkVX9BZBm3GFSy1J02/JbYFKMQOm0t0AmHjO3zM0wnOWU7AkKhFaMb9kjtibmcpNtRMz+sEEYZvRMVe/hZz/SsoLC0D1/n5FaIByle3hN7ijjw9QiPU+QWrIPtPYmeRKQ1g1y37D3tcT2Qhgn+8m48udoTs1CQGv9N3UvKv0Mz4fs0bOysKqZOh4INTveVRaVnjSCzwwBtBu+1f8heHgvMVOd8Ono6X1DLGbQST+nEqH3B/xPgQBjER63GNdBer84tSKo2GUGGTUQQfwnfWASdjzruknpEh5A8TCvPjGWSUhFaHBBW0Gr1BKFHQEqxRuQ063xpIYZ0owhNH9um+tybikLl637eH3993n7d59/Xx31TomxetwdTO0O7JA+HYjitGnCtkcabhoXKcjnrNNqE7ZgPhDFosadSc5MQIU6LEvNCuDxSmSl3DehTvBRJhMmAOkpgEX7BnhhN3K3Hq7KKko9aC21UrzMypPZxGL9kgmGYXAZkmlIuGwE5w8n9onICwNnzSQuwkmHz+rg/tnW73R7f1/vv6/2/n9f//L7+/XX/fZuvD5XbzirvtKRRN7KrLznspHYISdUYYHEWygbUJeUzwqmtAOpGhroExAREBo1AEXyX+VkJFOX5xn+c0FdERfJF2iJGx8X7CkPU6bWpXZwrhrCuoTXE/RiSmQv/EXKKKLMTY8FpWb2r5ZcXm1Z5p+pGBehwu8tMdS8aRJdTqopha98zs7VNjYJqSE886XeenVFKzmg9PB/r876sy3ZTevJ8ejufL+b2aZqWx0yr8FNNwHJ6vazTtq4Wdd54bRs2vlNvDaR8jFcRYYDNZ+hamPl8ObsRlhJmMAfvfGhZ8jweEtukqC7iGOfiIKxB0NOpM8Ch8BrfmzHFb9nT8Tj7NG9V+i+P2/12f9zv98f1ev++zr8+79/3dT1NOqaVSI3LndnC+TDlEIH6GM+nks/L8fDYtvPyvN6PPz6mZZ2W5bg9z+uyXDSkcz2cFZ2IsgRag2AIpFVnQy3QRygwVg3YhHE07tiZgE5aIbxiacVjYCiLBKP/rCh26M+v8rU76ZErtSMX63GnTSr4BIpzPK4EZ3VfGhTzPhkJWhgWpl8Bil95UwJwjFuDIsPFXrsrEC35HB+Pi5jEBOukbT65G+jcIpX30mPsgIUe5JIxT3tuarQcSmbOXalUtyMb6nLowBhs7niEmGbkkRmej4nLGVGsI0IDPzmobIEpuxQf4sJhk9NsVd1H9xOWJ0utz++l2UjjROVI05gRRhAJEis1D7jOJTESEJEyfs4KrqU5vPCkNMAtzWzDr9DT1uemCLFpLHAbgtMcGvn3aiijhiqcU21T6YBNRCdd5TyYd0pfh9yaVhyE4o6E9rwkmYWGKLkxkJInFLnets1uLBPGZ1QqJl8QuRUX1BMW1MKAVUkZb6bbIKjsuwz3lRm6uoueQYzA3d6Grwp2Ymk81MI9Ew5o47PBaOOZZvASGjJ16IcB9JIElJ85rNGkEDDp6gjJwW6Rk4QwDB1iAVknNipSopRc/sK1DAwRO1jkyhva/Ts+dQpHFGeSMIaU/byE60eiskGpV8fay7cPZI8Ea8dp4egSPKHq7ZCho0VKYBIPiIjMdWGhIRJH7wR0tycosJHC2mQ3DdBt85N14E1hAVwM/PIp+Ij1Fvniy3I+Fa4XENhVfx4Z05kHFw4wrgWCOtR8ChbWonXkMJFftklEGePe6iG5wvQPIItTeaq7WidksVCuQLRmq4AsixlB5KzuhTCzi1BYSBHRXxL2dig6oKYjT+a3elaxjz1lKs5JhXX1CIToh2IqI3EIJ/chWbHv9DJNfvG3UGF1SiIHIBmyYiYq13ma4bPfnOfk4qFog70+J9I5c03MB9V4EBrknDGAUdnRurigwRs4iAMJFEvNzCI2sj2Iq9WWnrcx+p8NqEwEKT8NfGg9sAnkGRDBadHlSKzxNcRNNmZQf2THEEOGfUcgjLnQRBBCIS7uHYYgkbBUNwQHiXHLPuWm0KyDCyziBXal3F2jv/obsEMxCOdZZ+R08TBoqSN2Zz6PXQGLxFfpYZVWXdav4ffxTt412qgQoI5ejwQP+bZxaIrls0dM+wefk/gPZiGDHd2nKsftpuHDt9/ft7++rr/u85fSxDq2VP45rRsOYFR8wPDar/MAGLTsQJaN5KVHW7Faohi2C3SNRuCWLA2TMS3BXEICn9YBBIgjRBmUAF6YJphGu5yaaOBmGE6yKS0yhJwq44MAPWVPoCETGGpl02CPHIW7ExpDcJM9J1/oEbgcMieTXWO0N824uukM5fW+Pm73x2O+61ijx99f178+b//n8+u/X/fP2/JQQt4lBbaAn8qfh3Uz0C3MHEKISQFnwS9tQIFfd2kZ4RlqSZMI16drA46sA7trlsBc244KyLO6iHBQHAZTwuCOUn6UX1TOoGXbpthWPKrMV9rKjUN+8JgsDZaGIatkLdb6fgtSXDJ4YNiTrAKZ5/eZNQkXYGbwVBYGL77sh6v6iDCwqvUlU3Rin3W6jV+D+HmYn8fD4/yfX5fj4X06vV/OopV52S6Tzry6qP3gfJHXt8OdSssKHJzR6ARwDVj8P4gC5cvlfIxgdr2Ht6wEYRBoozXHwFRmoStd9D6GxcBCZlyjONhxdzgAgjGlb5BUsXnocJZo1unXrpP2aGDXRZs/7J37lHuNiRGjoZIStdKMUkUFNCB6SMBl3ZaDugeWeV6Wad2OnISERW/VuC6rPFcKcRPlrqkWMgu1A5TSWogPayID7RAHpA1eTK5YHNxoUCPVg4iROKk6cXjb4UjHQ1PllPI7F56WuLuOV7UR9kuZZe0TVWfGpknwbmzHF+3eIF6c22tsoKtQBcImp2pTfC+A5eWVK/glg9QqT0wMpEU64Gc09OHhJEbgh4C9IXWjyMfb8oMgiffL907CicA8gzoC28oyYCojAuxdX/Oj7E4xDnJKRwYVXoOzRzCylS2lS1lNcB5cD+DyY8RbXDpkVN7zg+0+M02ecFi0CkTpYbZYqoQwSjvxi7xO9oNc7Tl2fh5sGvg7PAr8dE8sIb8L3y9r5sfJg7TjQccUzIM/5zaNIPAlGlpdoQHS6G8yC2MbsflkBHkV4Iia8p5jVdWipn6J5bBT9u3LRENSfsKyjeS4GN4OqGUtmKCW6MCKKAzmE5Yyu/JOIxjNB9HnFHeYu9M8NWkWSd08i7XWYZiIRIhn6kxgwijQOkpPtVd6QFJ6u3CGI0ZCd8VTHzAKtcoMuFf+lSmqjCl7PnVMnFay2z0RR1YyluoBNH51RLCAQs19RBmCxS8Ok0Xy7PLLNOu+Auge1VEq4m8icKmd9mtRI+AWWdSkPKKksjg+Olxe0yTmSndkKOZlLa12ckOC5iRbtv2cAJdogf1q3Upea4RhelIltMKLoDaQVkJKW3ascM+HDG8Nu8OvTPd2otQqI2sP51HdU+a9lE+Venw+qmbDUocFMCljDx4hYksHD8ZMJLUGW6AXkQ6Si7HIJlBe2UVq0apn+Ct7TwrQ4N15PeDqd/E5AQ2x0ki98hK39qT7QXKsxRUpoUNQ3WorhsrAocZ+ZV/cOVP/Pp82QIFCRGxSe0QhKh6R3kohurB3TOAwNDgvpVADCjsqHfBrNQvxiAhfgnyhvqZeuQbAZ54e6EXlR28Gm7yj0UqkKs+nXCcKDBa0pMuOh3gMVsMxuDq1C/M12pRIW0jc5gT97dajgW9s9GA52zdqx4i5XUyCNZQsrhxBK1CgMdokYznKp1XWXX8yujQcL6tmSrvwps3zIdn0OVtUo4lMq0DLH1gu7418rITOLoADjFmnTw5CctgK8dm6yEb3iquXSZc5oqHWJh3TvSmbr7rdHoviwqf7slwfj+v9fn08vu+z5j9rkqucVRYJgpmTAIotI7X9VBI4x3E4HKan8sbkhN2pFWXDicdu9tafBw2+NmmRZ4oFVlbVf4TxSWGXhoEfB8yiHirLWhoNWxo3maXjLUTaJMHit3DjoJCE4eJBMTor6ganhvjxQQN5NBrYYndVDj3BJnVTL0r+rYeHEl+PdV4ft/muA2AeX2r0/fr7+/rfz+vv2/y9bA+FKE6b7Wa8U5dghGejt6olqbcmRZRaAqRWGGfs+fVjW5ZwFJQK5YR+YlSU4vviKk28vSDHr4isJBazS3CO7zQRciWiw1yLmKwGRqyXfmNAZ7dDBOzjZXYJZqHe7cEUL/sZ9DO2jHc6ZAYM0vi/yZgSFUQJPEVE0tCo+gm1FKqR4vpxGMGvjxDzPY6u6jmusr6vz6/b4/fX9c8fl/e302U6qkD6ojOwlVBbjuuyKH9iP0Vn3woeo7e5KPNfDREbPDWeivWXHAU4i2eolzjjrayIRI8SVz6ZWo639Z2ntLDNiHg5RbqHVwSnRUL6aDpF1vaJ3kNWBEebMpzT8fh2uRw/tufP47/+2D5v2+Wv60l8rzOkTmoBRiYCUL3XRUmrzvdlvTRJmCuscn2avc4rPy3zcZtO6n9TfG/VEVa0wlNWAoaaV4H6TCvOYwPSFFvRDfGPgTpoheFIRF9LF5CS48PW93O07E7a+suwiACHjk/qJHcgwhcxKjIg62Wvzah5dGV7K0uDd4La1Ssx2Wthmd5jLuixnlgeQgrLI2v6M26jtmrlPGHmC8K2fi8+gmcbUc1DlUrCJbDk8CLilZV5UWi4J/FEXUSjFjBYlxI5YsLWjPE0lBokszF0MTorCYyxk4gC/mNJNcYwlUBFEgAYGC84J3hhB8H/DBU4RorZQ9zfmtRHNqjaKeIFkeh4zEFj8zyALSJ3VyG48nseFUsuJ2FUnEcBeZ3pbasfGCACveAOm/DMKccUmsVpDGQSS0CJYOApJ4+/lzZJozFT7SB6gypJiNhnLDE7ThgsjZnxL5NH7kFcYQZ43DN8ZayG+gZ34HtXI8CqMl30baM8cJzfPTRMlgYTGJRep3Ls5HsdhfMrTAkpsfZLdezcsP9Kq3lLKz3JPMdkpXmNLoAEa5w+9Jsd2+MB0RSJqfualnan0CLOecycNOu9jDbUk9d1pSZAk4L4ItNHMg9tL01hS6TwKzfiMKEKoHqSAIgnxK5+Sx67Mi9OdCk3JkFOvExaf7ymb6/FBk3A2wOu+CD6La4OoiRVHl68D7hLRg6m515cOCM8RDA2C6H4b1cYqv6KD9zhzzz0lBXVYNlZNHszEVMtTAWO4nmc2oJKYoV1/kpeYSFgWBU8CNAwZGCouVj6SGISVsmEDogSs5ilcJA3gagc8jGAHDeNB2b/RdFubCHZWO64uyGFhH+iJNxtYIKWJDonpktFNs+BIyIycKSRQawDfW3/jb+Du2Cw/npXDPmlTKXkMPaST+J8+RAOa0fAO3z4tM57l7Ew0jDEsChdHJveT/CQhIFuWCDLG6+HvMfiYz2xm+EVkztMYVLubXFRo1k8Q0YR7iKPAFOc0oQgpkmPuAzucQMfAWHF+gjiVCyGp4aFqvLaUCYw5GW7c55q0dKIlfRL53beGyGUvYRWKobBNbhHVJYH6fgirDOAN2LYDW7kQy9gkEQCduGYEirsBIyb7zcB+hPbYSHMAghOpN2918JyDltQnFSNSe421206N9OJF93uY8vcuquYuwcX6/hfdbAeFs8RFykFIN2raxDIMMDslY96nBJhx8N9Wc4XOi0zExnvvvgESBBY4JTXoP+gzFhdej4t67FmrKXwsApbMZgjnzKnjDk9MemgTquPoabe507giMc0eDh9CpU3pMU8Ii42nM0zt4hqlYsrJnRKMoPPpbjnx0Me8LLNj/V+fdzvy/fX7Xp7fF0f//38/vvX93+/vr8ey0O1t6rod5ot9lyUPdsMdQbnmCT7YmHBaCT0S4x4U1SyA2PkT4RYoY9OHM8Zn9r7K7nuRBpPYKyuVh2Is0YO1RaQZdcRUwAt+s2PgYJ3wJfC+7NzYbkhn+bSQTIV+MPG9Zuju3dR1A2OfwPeuDEGTMDkJ1RYGxhxPXp7eDbaJ+Y+qWQ4Ex+W2dHH7T4/byqmUJXAfF/m8/lxf0gZXmSpnV0w7DRywrSKgLgaOz2Vxqa9ikQPBxr0bZvCIiodt/UZ1Nth3WT0pKqH/mLpOcvGbZlTT68TvZBH5mWOPMb2Oqv2h8qggAyVFO+JwpAwpSsvXEjm6LogIJV6Pl7eLh8fz3/9r4/ft/u//zj/Wg43jcbaDsdpWTVJzlUqh/WpynCNiTShrsfD+XByCpLRTj6lbZV7rODish6fmtSi4otpaI00LGulLdWm6BVJA/3tPUrhESoqssV4tmOOo3Es+6pRj0H9SSdEeilrrde5h8w0mSgt5wlF/PrRnaclssHPdHNRQgfhG9w/Lcb42o2vrPJwOCzz7NJr4uwxPuEGfLbBG0TPvfLQsatsLO3SqpPZLsnh+PmcW4HCjU7yEjkAzKftNNRQr35wMSVjwCH1JimviFSIMMkzreaSOrMzxXOGZYAgguGwUkL+MF+UL/jOuYs+VhALbgiQJDZ28d46UZDz2qlbAYYDUzcvKXmvLaoqbAiCvFSFnV+soAhJM5dOSehlFcUVgbtkhsjQ73l2P+ek7kG6MDbXozKIj3ipfrHvryCzG2UhE7+3MaBIFUf8fQoqroH3SPQzE3bqugOcsE6jBkPRcAHkqCV5DjBiDSoN4FxUTxErKTfGd49MkssKPO4u+Y+X1CHwJyIcIYl0cgIsF7W6Ma+gCldbkORF/bWybGg3olAxhK1VEQX4aLWm8z6ol+wx34ePOJens3mSHIzsGB48zA4IUeSBDEerer2LjsrgfEYWGaZix4C4TYa8mDXR595pVYmP4cSyWz2x1SNwQrxwIIzZlB37d3qEaNDjJgav1dCMo7hrfEpM6qLUN4bf6uiaJExAlv4Wl3VCIBKKXTqOiEdAaTUikH3UFk/KE5kmbDJSMevdI44YPIYyzdhAWoVLuxxfSeW9bWyXq8UOCKdyvn0+9p/LsmTF3i2tfrT7opijOC0aOOEGCRdSIC5FCCniCmaGJCszWAanDsqbojOBaFmxMoRw6DN82v6uips99RWiYhQwvl+0YBzEnaurZgpw4zSDzo0+pCS5MZ424qaQYfQPeiU1X1mTJ4BCFrtjlRARJJmc9qB9ppsw0bASjYcbCkRNOdkWSUEfmJsryLkl+D5ijRDt7jmnVidLYNUJrCTG45udHa06kb1F2F5HaErBZ5plOK1bGxuE9jqgyz+DMb3NiB4TVre403+wkzeapgw+jlkLwzkh07BUCWp/1o5gE2dsGqtEFyaR9TGenEvRE0aEaZCKY8S6kLHtCZSQFWa4H5qxzaxokcyKM5O6TilfiGMdCMBgSgbVUDbIky+0yShSZLNifU0FdKDES9IQhrOa5LRMyTi3bDEv1ALL1g/FYHRJT5jiEl6MnILVHcIjJIAssuBio1akOIfEkbGaGg9QpjfxDnIMIKKHx3uhHmxT9oArLCzGiU709aCYrfglM8NMmGv6Q1ZwTsJMhp3wUyt1o0p2W3K3e3AkVkcqlSrXEfSOnisyiIchSGlMHDMy7VmsihqssxpJdLTvst5uj/tDWeDbffn6vn59339/Xr819erx6/v+6/v+PS8PyYiz/SWrTO85ShDh3+XlO4uQqkYIJ/wxLB60VdUB+4uagbRD7gZsBEjpvkKzToMZqLbT/5dnUy/kNcZSrySpdRBN5+Nw/vEAzCyYNDrTfPPyPX+hR0MobYjIc6IgvNgUyESrDu0YgFS6wm88L7sf9Xsv76xJm4CJfjze1gnI8aWZgG3hwABelwNXwAOU42l5Ph/bdnust9t6f5sf0/Tjw2GSp4qgoUg0QzcYjQUAbPdFI/pPMNUd9g+pGJ+5ZSFykH9on82mM/ARw6O8bLR4GGOzNA4boS/iOjozTFJDloLn3+mHRaaAApXjM4dIkGkmh4tQ1I9yuDw3uf166sf0c778+4+3//nz7T+/vz4f6/x8Lt4IRxUhnRQukMRR3+9Rg+q9emY42y/HiOxQQt25bs95WU6rBmgnokXpFjlqExiubaOBsIt9iFB9dX0U2UhGQGSlrQzDI9mfxAaYopxc5NMkLRxAEIR7owtMYoSdPInXdXOcOYbO9YKg6+AbilY0Qda/xoQmB5UyQ1pnTIfOXMH43p9lQwQ1CWTmJyEcnIbPlgdzoY9qontxeO+W2/EXA+QqypiG++hnXeD9+qUSvAlBaHko1YKdsIt1OeVytoFhMi8+DR3wslXu4gNB4EBYFg+iltkw+5wkJ6Tp0rO4k5UGJOYq12GlcBi/gwZo20/1AE5Gk9j4SkemCGMPn9R65+F8JhDZqCzJIIxSFVUZ6A1BOTwhip7MmbefemuC2qn2TPm2ZxRXxznK45d4EKmrGmvhjJU2HoCMC2HiZPyDcVwrH1mLqvZah3bAroo3kUE8AYFZVWYYcX+PyNOoXg/gRKIGITnLJvIw72f6+livH6iYmIU/WFaUsXjShZQeQsr8Tfxs+KXYHAEsdg2RQe8MXcz9hi4Ov/1bcMf/+psMpukcHi/qsX44WqUFfYH9cBz8Alhev2qafbsdZUtT6WWKnjyoKRQd9EMmflCM7sRIatdHPYpuiMM1ToAtJ8JqAgBK9W8+LdWzaZFQlUCheIsel30gRPNMcAbhhCRMgv1Wocy+CfG22xum64azuKjbMxTxJAFvjLaMrmWya+o1wmzm0hxWaPQIdPAtNQejeiBs4H0EZ1AhyT5lldNk4JGohiSjO8Ebo3q0cMfG0pOWZSO5iCHVyskYA9MSBmc0eSgbowhw8TtrZGeRbPnJTuNzQo+RNpA4CjxeAAIa3nB7+oiZ+XKX0fo3DhqpRuRrIu/j4VVeRHYJIFVSBq9lX64mAxUSQ38PmIN+C5fQsDGfjqwWkCCW/RL0vp3X1KEblBSURnr7+QSDokEBhbE7KA3XGD0agFdRZwupR0poyWBMHXt1zuB1/4IRTmlWg1r5EU9NZ7irj0fC7ONtgo0ojDzXfzacG4juQiSPQo4iTxw86oIJA7y8b1durK3AyT8jtF22nI4aPYmwnUvK4egwkP/B4LdhWKtFxkyfYBrv1z14n/VMoAGLluFsB/ssLPSRAg32WnC72hDa2BNCBeHTwxL7ISujdMo1jRm0dlJ03FtTKN9pG0cITs+jDjTVEe4a5Bwzo4X5BtYuoFzEQXbCtVPlQmfnV4n9C7M2NrdYKf/lKUK2sB2g9ChPxDBhOh8G3H1SrxEAarkSOOho7x5TWOxgGt5nOOpod1UbytSDLlIXWYqMsgDrMbOMhIhr8mSqQKriJAzig7qUhkp1uaCpcs51fuhIsGVe58f8uM/3+3x/zPfH8uvz+9fn9e/P699f37+/75/3+b4d7+u2cIw7wQTouw4WBx1lXqZJuySbAihICrFTC6RlMqUgZFaUjAE4mDF8ldvyt3m6tJeKZWz8HWYhe/i9t4fx8qrxSEvDXTLn1pc1+F4zwWslVy+sdPBHmJql5X/e71tc2wsDDYGZKywGwWpkXO7pygeJYeK+PD0GJ2cB4uSkVnvffeVSADWSi8GKApqezbvJTzuuqoU4PbfjKmLRc0xiyExyMsxe8gt21dg/u67IDnQQikPz+VHwRoV7DPTERRzHldgEyB77khrQyovW40Z8DLsOuKJCrI1lOq9kZoG6AQ4V6t9yPM1B2O/u6mLwzGXR8VCLzJjn5f3084/L//7X2//+dfmc1/u6zorFTZgItmuV0kXCW7tpVp76qd1JfHpqMwKglZej1T4+TQ4AR9etp2nLfD2MiTVuEtlbj18MRyUYBCnjJ1Sf8ANyY3OWN0L4ryRWnotflerU2vTGAo4WmzJIw4Eo8Np0iV/7w1iSofea8X6V64H52hTkp51UMKlGlUYuXF6X5fKanRkjGiIaiRQY9exmcJmFZ+xqrApyA0y7BH6pWQlTmc9qirRvGb6EsgIvqC5+n1dC7aGTfpSDgqIAxy/CD/J6Ard9NnZ6KEgHDO4Y0hIgIGxrVdjsojoW7g7YB8wgCw9Cx8ly4MCL+MfJSZVLGd/tKETVU7S/V1Zqc6BIiBsEFqVT2YXBjnzy9rPCIbUq4mKWVZwBmQxRi2QLfQMT8YmJEMQaiJUn/hmFJDEXnsZHMjmpTUncMi+NKITca6RAaAhN510cNdbwUV3v4PE6F+AmDoOdtcoSAbJeFO5Yi5j2n7IGblGXkxEwfnvVToyuclOZO18Nyh9aKnWUoKy+Q84grIeV57/cBZD5wWbD0ks/ZqfGchcrMB106SW5LM66xm37Ap86VZiz2WkGY+/FnoOHI3Ga0kpjOV/Xjk0Ew1FLW/kFkOMGGLiUBNS1Y2N6xOrD7aADTyawXHN+TN6gPc8lfZXsKCbwgNcQOgO7Et8KiIjKhOo0SUYmnnUcU3jetkLSGnpZoO+J05RosDJ1/xNbT51qxLPDR3XFMsqKKnvklj53DMaj/LweS3CikjnAPRa3RYMf5JrJpQ30gSRCkJF3SVlYXNM4gbB4ibJqjXXZWB3SJ6QyyLGMb3ucvBkQsDBuni1yA7gnguXbhiih6gNJEeo0NDRwFjeYGhcm0KBnQjQh++CxVB5RgMA1uPkn6wH4re7hMb4+JRPYnq5oJlaUEc6gxoxnWqI6aeRmU8mCvW6XICFmQvjupKqSqRog7+3R9iHiyoU2iWA2gxKbph7ha4O/3jtdEBXREcgjYmGOxdFen89Jx3gAFj2MnqFcD8yrslAMiEJUCd7y/rpEfND9NTOwAkMtXnVFQ1ESwQoNDKtgN8ajbF9Ej6ldpG9WjBGEvuhzUG+QTeX4eJjRx/otSMZyMCgsAbKwwnrQRpqgdrLnS78YMQJLWKTqbSl4BuZ+F4kQXx5NKHtRB/2qZ0mBLQZh4nQRUWbFjnEq+SsX1j07oRsSCxVeL+qu9UeeWZNkqTen9hq9Qo15Lun0oD0fjrJu5+1A36PrQfaZeSd54iEk/1KkOkmkWim1SlJ/nFFV0/msg50LHMCkR1B+iXlGeYtPSfE4fVcDNls0TKYqzfKeUWu8sEcDxEN8tJ/F6TX3VswPnSCl1t/7fLvdb9c7pxx96ZSjr79+f/+fX5+/bvfP+3pXacTkNsXkF/0EC0yUY3o/XW6XpegDpHvWZdsNYVhm2JdtwkuENG2NNNTBq+XawTnjX6XDPHMYOoAp1/EXLxx2UNmwFwxjuvZVIdzFDp1ElLoCpFoyz424Lzq91ppXWVUuV+Ak4An3WXD0WQkToLt11FA+T4Yszm1d9rwiW9mZjtXzUFo3m9KL6QM3eYs7q1v4CNfL+nw8lnnusJ10nBLVtOmiprSTjGdM32CisUQcTNQYQ9oG+lHrm86y4xafQK2yBBxrxKwiN1kTB5KrCARQ61g6YvV2KaiqIFWySOE7WXOStaDTIuLCRVpKDXlsWy0An/whbpXzL2h7qMf5crocTn/+6/1/337+37+v//28fc7LQ2OutF0Pq7Z0V+vvSqTcowdY1HN2/oxRV6goZou44kRlb1It5zMSA6P4nPPDnDrWyAOXRyvoplLMLDYsleLN/A/BGwGZ2mOMhIGS7N4fpFspsy1AgOVQght7xgU30oMP/JXl0nBGap+E/Fq/DHExKXzIuCyVVSq4yAazNnJ9oVs4Lukv/6hpOkxp5pQCOekk+DYkM7aQYdGDF/VNE54huooOX+OvS/OJj2AGUHkQ4zbuaxSx5x21J6jcznNb0RE3IQxm+8cmt6EnWJDfSyjN1BxBMppcMv88xicL0P+bJC3Di/yCRmOiYRGQHEQmCZd5pWHD1JKgbhBAXQTiOZX5TiKefLaZMUVRWnMKQw7ji55bNB5Z+WLb+Mk5lcaLiesVSz75VmiY1XAcFBZevAm+ClFQdp7lusNMkaSGYqAGbvYza1JFcmNKukKWWPIIf6aBC3stY4BLmZCK6xq8EL+a/jiIB/7yNmS1kvP2o0IjJCTS7M4tyZnH2/JbmOlzPCnOosQsZ0/grRi05qIcssOrK/P9QpuvzIIMIlxai9JQUYYla1uQ5FkwELTYDIx915J1ojjyuSGmZhD9b583Rqr1cJhUXov4MW1y/8B6YTEiAQ14RBz6BKGqE16P4Ay3khqIes1SoUgkTUMjQTjMBpx8O4wImnLQZd6V54XUdIEVpGHnFxMpor2eSX1gBXMc0maVONt+a1c5BAnB43PTe2HnLiyc3OANIwcw3UAMG01wwtE0+Wo6zh5KxtBm/IBVu2OZ6CIIW6FrQBKz1Z/6iKfC1QMDvRaEqBsCvcHIaMt3eqRhFginoPanlJpnxJq/Q4hDwc0k6AZym1gYbZEFKTBadlSJo7VZ08kuYcZlNJ/urRgYphULCy2hBp1289B57DrEhMFkC0IjOkJmUSYh10gl/5O2GQDo1ohI2xjjKfLcT7iN7wGiwbTSttRV6wpF3UAG6ycEzZiuFDUwVY3wQZZhrRj9xAZJkodgMECcd2uEJaNWcls5nhPDPdmlbcSyVGoZvJ7pbUmIo+O6LP0rMdf8VM8Gfv6dOARLCBjRJhGshNyDOkyGMmVVnkFl0eEgeoYf0AUAAYJtT4Vx2QhqTwplVZrU5EdQ3CMxQ2u8UiphwjrVwbMhdRbtFYzpxBBuZH0rn1+mUVTXlPkzp52wlB8RtWqCDbeaCjM6JXs1czCv2HtZ0T5GqkJABw1XPT3Xg8bMcOzRaVsV4QKs8F6z0sQ4rf7MKlHJy6bBha5zE0wOF5uvju4sFvTK9ZpTNqV3KE9IBsb/z6CUhtszzUcSgCScy46NETKDz9WdQnR92wJ4qrKSjSWKHxFqE2iEUWBIE1xIWy8gamuOdoaXqCfD8pWF8hQeVXL5OLrjPMux2dT6u1yv8/WqU46+vm9/f37//fX939/f//2+XbftrpTVmRO6PAe3tikCAcL1goey6gr9VQUYw1dAael4Z7rSdbc0aCv2Ex9UhO3E6E9r4Ud9vjzz5WF5A0QVDsrScntti1DgeMyus2qF7VI5UjBxqKyK9/qGwVZ9UuWAybCOK5LBpAoxjShSqJ/sOmzEVzFEkl4qhzW6ugNM9fbpGXuej9KhMsnSfRMvBrAHVpakvH3bno95edwf1Ais60TKLuYyqyEGPH7x8UhsIu6OPVW33Mf4pJvUASHFdM6mIZ/CtS46hlo+sGcNW6EnO+wsELIXw8uFvekD1SbES96+sq96sUeKJFbgfjxKVclQnCcfXHQ6H1bqndRBYSHJqXKH40UGz7qd19P6tp7+/OPyf//Pj//nr8//3h9f2yx+9AhWSmtseUP1Zw3BokBI58TY+zWreMcSbBrhwRwDJ0Ld6Rq5oZ5aHet4Xmy5nY9nhdsMynVdMvUbHzgnI9D3ZAzCfhjtwVCKpxgSXgSbFqJ6rPgG4tXNzW+7wM84X8wJMP7KqFa3IdpwYCxAJJ4prDmoLFh4GToUPuONWj4pjETMsZRx7zK2rVE06F/7QFNgHWUJQ23QzkN5pf5vRWlaH9YI6xiJjbgf3r0jDjJQq6h9Y5037IdhlHqP9T2YUG0Dq+owHOZ4UwJI4SLEqUv78VuG6NNP7MPxwTDMU+HkSKHZDIRFdOjCeM7RWbGK9XRiUx4iHfnlBcs4AhwvA4Ujwk3kuzwPJIK7hiW8crTqPl3PeLDNRqCK+DyUEt+M8SjPZZR829mLe45MRq8RzvUpopyHg03mJTtwbIB5ZFk7t5HJyGOkPgSseIp89RJhWKG84GyChVKCV5Cib4ntwudpf4swTGVQzcmgJ4Yg+IU7NYZeqh/e947UlhW56V2TGd3v6kJ7kUm31jmBJ4g6ZliJO9s2EPU8iX6eGdsYPWUpwTr9kuxIXEB5WnVceA1QOQoHpR7WdTHzYIXKmGJsMclJ1hHADJWbjKRrM/go8JWA5XjHtI6MFVkk7TgJwfpXzH0aaEOcLNGbZJqfSgcnFeHIVzQmgAFQHH6shVGoJhW2qHM8GVN4NT2RFRDgaKUO5rXHWIYSlUj56mKfWikXsy2mO7Fvz0UeHR5UinYTOzP3xaE8ymr0g61a+IX2p3B45qHRgoVdPmAlEbzIrYXky7ut9gySQlokjy19E8sblXYp0fQ7USOqeUhAjUeJAjxnnH+kKFFuGMyBTAMLRkDwCMRw1fNvaC6J7ggV8tUWfphnXpf1hPue0kCbLuUKr3KU99XhJ1CWnKWzFkEK1Fk3zK2wW5K0CHT+h6O4rp5DTkWNLyRs+PRYkWiAiEtDEnjzXksN74NlA36fM2Ga9IvwWFLbHK3R6gw6VZRdY1PRzjFA/bCom12v62N8DNUmMNHR8SWKoKBbtCn+uZHlYzKqRZGAPI1xCGcfCIPjEb80U0ZcGsICKj3DoryoUwfgdIDQ43Psu6nxGnrA6qFfmTQkfAon8jcJT0PVXOEIYiowtAqJgYQGkUb/aKfCVSY/S+bJ77K+jMDtfY15EXy3w7y3fwP6Efzas/c41YFybGT1lpqNom7pYKQIR5HLcTnmiwB91uiA8+lwOWnC5STa21yWqEMBQxyqNAWjXjgp7nb4I7nVe+H1TbqRTK1krG39aDis9rNOCpKpIrv9eJ6xbTGZTEpkQLBUcICVfEU6TJ2VIjiFbDRcxEVWmgrDFEpv2ZzSsVgxyEzEbdxEYIN30Cb30l84j2bb2//WfvWRXAsn2PT1th7m+zzfZx3w+33//L5+X+9///76/L799fv71+32+zZ/PqTQFNI/amJNiEyrShjPXeWOS/Ii2LZqolnSKC4F1Kq5wluRgFV8JZLqID57sclCdKGm8VN2jKavak7Lb6yb3DYYoBHMPrsPRZdhthT6kff0FxTglbfD2Ck+EOq8zUYMC69g59ahnkOHCCvXSQ0egDyd0BhbqrgLeTw75ok3ZEFGR216XxEFVU/DJf4IaJZO5ZmtFXEdpy0K5ZQOsOens3Bu1V8ntpDWbsahD6lLNRIlITbp86dUQaKfz03J5UVaWMXVLsjSj2I0+qFzSVKIsaKAsQlGN+xplu3pJAfZ6ZeDDgn1kpDh1S0SNuthSUzBh53SKmI99zyepnVZz8dJBvHl/Pb+Lsd1dsDrrHKP03ac3s5//Pn+P7cf//tf7/+/vz+Pj0XHoa0KlDt7rrH0QkXUtyuPHJEmXO/2CeWj0V9WKEx68ddKmkmWOQMd6AUrymYpkBf6Yhan9xWT0/oQ+8HzNFSR6207FhDFUdow7KCNEH4aZDNcuuogosXV2vo3HiBL8EvjYllkhSARSjs7cNg45KBwapJUsAav03Yt2B2BcCIkBpt+TCbPs8Y6mAX22d2JuUuq2veHl5nFYMZsi51R7+g0IvpsjYKhnOQQ8sk/XbadbWkVHdRsD8TgI4yhJkeyotLvLlt34JLBvCL4KFWeVgcuqtBCpH0R4cfmS6u1oWBcdmMEgeKHSqviX+kRqEVgarPhKThH6vvAsPqEsIEDrE7QYcRgKgPbCDZDLPErsmLD0xsoJsEaeRXiYm+p7wHeeBAkjZrnw3ZQpqpXlYh1cQ4i8TM64IruRUJrjOZBvMWX1mtYbYLI0n3TNPUMKuQ3/MKcJP1kX3ERMvBJQG7xsJbkU9CJ/hO1d4Omneu8MayB98IaKrH1/JQ94tQ6+EKahIknIfVeZpCy993m598MNYqOCIuBiIAx2j9Wc0QwaqVRioTMsr4W+3rzdrsagKMjaxTlvXSeujjZhJgcB2upq0hoJBRrK0UObMrWIULL267UFJXbrH07YSAo8qeq5MOjiAsA+zKqJUYd7NoebgfkuzZEf60Lv26k6fE3sri4h1FXSIsMFPDXFQ7pFrD0IJDgoeHHxed0MYFplHPXr2atcRRdzYSuxrLJacBwaJS9gRChYbASg3FSsEZLarriu4UHmTwBixCXTYWDjPLkvAsLeSnEFCJBanVl9yAC5k/ld2Ie4zLYud4ONEqyGabBgYAHWFrGketdac33Nhv5qD8WIo46It0OTG2OswPjGumMs5F+klhlOxflgCdEYM5aLv2gDPEMEATeuOrDu+d03lswES1AJDpWJ93SY+cTaSkVYXlEQSHeseyjCHy9fzP15WyesBu1Bs0V0+hZlb/DjeoDhJybQ4UpKDsOJAgj41GyjGqXM6Oe0UnZBufSWW2IIXYzdQQ5wdXHGJLNHllcBBzq9szwlqx0B6tbbGsvZmpCOG3YtcFQjbkAcAg+JThd1pR9RwxmoJqZLcpD603xOQVroJj3eo/o6VQsxyZuVUQgNuinqfJ8A5qCO5idr8Pr+lNzrBqfCMSrFzFOcIggPY4ehBroPYLqkJh2iU86XdbhqtGT5tITlzyeNL5nuhyn+fA2HafpeZYRSi+GQwYuZo69RjlMgl0iFbEb9R2OOoax+Yc7ZuWntuZA4MU7VT+fC5MdcGEXrmjgIgceLNcRP5Fgh+dhAZD6DLWkqhZRDurHreCW54fTQdO/RKKeIZOimzE10/qI00fLMvz2WjLCD2uWKltkkjLsal03zXu+O7n32L6+rr+/br+/r3/9/v7r8/vXl4ddPZ+rnHw7upGpkcnUeSvn5aCNnFqT0aAoNFFIb/fKIvf3n9qFEXW+A/ujMhku7l6QG72yLu34muvrVY/PozPKf4iAkivkgLNZhdM3VgskqGmBgz+/cyIieAAm+9mX3K3FUODbyDEkKbyTLeWu8a0XHYOvjBk1FKZL7j87yhyBvDopGsZ+IzSBNi8Z/5RN/LKIGAkGj3vHW9HwfGpuii7H1yz38xSL3EiS2NUMQgCOkRwuFlYls5JOxHQ0cl3HcWkWm4vyFaxhXpvO63I+IaZSeqAIgE3TJVaQ6jUOi7tvERzmmBYvxc5XPvb/T9ebaLlxbEuWGJOUdF9N//9/3avqXU0kMxNABNDLbJudCOp1QSKJIcLD/fiZJ09XFrSo82l9LS/5c5QmfTlcRXEKK18uV834clzOr+v5sB7W1/Hr5T/+9fV//Y/f/vX7X//5uB9ep+eqU9bElpEGihxfxB2sFqEOYSiAljGufGrF8SlDKjVDs8tGVIUoImQdsfTZudUBg6JxkLBdMWtN42ab1LglplAnOG6UHfV5HNlQKgpFSg/jgDRsVMSMJMM2Ms8KCbHJ2KsRzmbNtsc3nDcoihMk+mL6R5CjYkmVaG0UXNE3aMSGGWS8oYHCY5GOmpFv5CwurxABY2r10pzzlfyyIHbihOZeuAzChdgjaLtaSjQf9JPabCZ7JpxTuOH8tqOiAZUbDFg9hdEekzoRhz5lpsm/41INKO7vjK00W7CG6IwD9EaD2jatD+IytddfFksG2Sf5FHacCVSP0Aafyaq23wmPVSZN9qRQFTzBVeZ1spZcaG6VbTEk4wktaNFRfbZizZbhC1muh2EX0lmgUZ8wPcMlEfgavVSDDpA5iccdnhxjs3xP8nnt9bJSaQjDD0fUXy4+v9b2bPinoWWUiS0QlKae1FzWvl3r5xDJSZl1I9eMMsnKOl8yNMcoNiwBSmSRiXUDQLOrxBUaYR4B8bPMgBMaa81tBY1NWXY7mKpWranhcXGG8CwnNcZ7BdoM2WFD8jB6PJFzxI+khZO7qnOAm3mk/9Xok74UTJbUhrjrOi3n2asGUZxaQc7Y1ob18fTSobVRMhAHGmlzu3gbCP5cOC+HpGXiOd7fyRcP5AC5cTGR/jCgRg+UPYR4Z/wVwIHcihPSar+Tgd0rEyj9Z4KtOusdsogj1qdcnOwOcqfox6pjSHC3pBA3LhlA7IPXLNSipqZBH3NBF4+hUh3HGGvS6dmuwFhpsBiCuN4QGIPWwCMn+mb8AfDukzk0qgeBLcMzvC+PCq8M2Y0MBmMq+rLe1sBs+Pt0jAX2C7MNL0Ds5ZAZM81ol6VuTCm6Q5uvYaa6w75Qxiewxuc0XAwjPhNAtgRdjypw8qJCokNGzuKKQgKHsUmgYyIjLc2GGvlRcwITpDzozgVVe0hW62mrXGuRNhMWHmjAWLsN46FwiwfkxJyOMFVDZHoUCTezhJXRs0ARh4TQhxBwO7BDUaFOPUHBqB0u7Pwo+afVB0/+YpWRYDLBN0l2lfrUuKhEuME0R/bFxzmb5zM4xvrdEG92v2nP2Qv7ATGQ4quJpuvNggpg4YkUTw2pxvYWYOaiu2T8MDhi93V/RG7D4qPiBi8j+4Fgdq2eqrp3uqdgi/iGmDWq2xSLsnF0j/A7dswFwO4xqGiIejiBt17H83w+nC+H6/X4djldfarm1pIqoi6t9dXQDBvJjTJS8+seVlxNdErGr01gHa20qh/s8ny9UeMthSwnNvm8VBp7eqm6TftiGNoOsU4Ke6xQ13TkBZPTUFqLqd6cRyentJtoktR0lDHqkDVVQcKlczVdzLQdJHe+dJBOMTFFgFGGFs3qqVTnZX08Hm7yfF/Wj/fPdT18ft5+/Lh9//7x9/ePvz8+//j7/fvn/XM53J/HVVUVJrp297BnN9W59Q1jFmfjaT6E9Atih2EavP4FLImHC6U4jkyu3XCXHyvcYu7yEWooh4jlELQuz+qdjFvdtIcI8Ao3m1u2mRS+vXbcoDs2wvczGEPEQd67dkQcxh2URNXw+1g20R25vqPapaU3KHtde+5AznDlNrmxud1lK/NKS5g+t8PqnjgZSMrBoaHhpSlYI3cFmlP1jLokeaHFOmeSmZiPnGUquUkyIQeodI664Aht4yyUxsna62t9LAuHUD8ecr/qMGpVwC63x7q49Zaf4pIWWTKKz8kAXnzog8m5VlAc955nC/P9q1M8NZXnej073quUcDuxxBWfh+vZwabL6XKVTX54Xg7LRV2fr8fH8/z2+vrl/N9+e/uPr9fr33fL18V3CsKov6u6n8hTKctYCh8gp9IK5dFN9fw/4tIsFnSIPxHfqNKd6YvLAoKmghxKNuXL4YFhMNhFyC92UPbzYOjW/JKcOsf447ILbfoR40aJSpeIkIkyO2v5kaDo9D8a1K7kr/sblmAfoMueZIxGa7WBJ3+01S2bCSm29EZa9OheqQR235O7YNmqbqbOiTMCKM8fLT6cqZSUppgEFcW8Y0tYPNq1M6prUdlbY0eMepJHQm5E6YljE8V9RQFuLZi8qqTY353B4R1od+iHRHTJnDsp4d+zdYCBU718NBh4zXEQsNywuljpRHQkt7KTKEGJOxrQeOrq0XaeGjwDDVCD+djtsDe6YLiec0ramW+KTlNXxVKHiW5MzWsnzly2r9tdIod6Qw4wg1u0msYV5UPnbC6ecpW38rfrRTVTZkjpE5EiPjUPEpuLGRblGRWExdm07jGcqJyTd5sVnZSNge5c/V3kjfP9kqRlSVSbvu4JknALLbV7sE6RwdkK3YIgJNa4N8SebvlQ/DwnUXov6kSB+lApe+6slR7EETQUXREJIYBocynG9qK2vbEqheuHqubMk+Bp7BJ6LkVemSbtA0F8lUtcdMovHUlRrSOFK8/1Rlegk9YwSLAoc6keA+idy4JmId8kCmg1cqlimTS8xzfCGIkhpgMEzopt3FDgpln4W+Vqj+w3cPgHp8OkKzCrnRCPP4lSHGodh0NzXHQM7HISNKfMzCREHCduw7K7XIOgiOnbbzFWpFg2FdyMr1FRFPPQ8l4dybaHMekbfAeUiBJ2jW3FkyJM0LrakFbXJ+4Et3V6GGOSMJvHGdmzjmbJNl3AQxGiD/+He4FS29aARbOCjeOCOYEHdOHbndCeNOhtaxBXBJ5dTwtvt0Aa9S2ACwmlorIvgJlOJPSys7pjWo0rzZeN88ei3WmcI9kyiTYhSDnmYVVqmR5gHoBQ0KguEWxvXrRCmhl4xMf6ALE3aeQZuFbTJeLqkuUHW/KpYkq+fVYXSy04clAc43g6r479muWd1eEDk7moGb8R+ADkcfZ5KBdVHlwbisGafSoyhSsRuCNuKtWr/HYDtmafme2NXjLruMS0BJVCmEOOP6MOek/pmY3bsBuUU7PKHdVxD5gVEYmqWa0sSBkycsqrT/ssk4FLWK2ZEtWM0wnOTFkjLgUK3vQVxJITqyAkcmf9XtLqDBbpCwRaxxElnk/HixKhj9fL8Xo+fNHfx+Ni+1XDqZ7bdOat83FLOu8En9rzdVDPeNt4r8Pzwamdr4eToNfXcX2d1tdpsTmOu+Ttel4eq9ISHwt2PysX/rvdduLFxulVp7osTnNGhsUygepNAnL6ea+cT8frfLxIxlPa7J5+JxUDWi0oy9BfqRYWqGT92mq38yl6is8dPS6yJ2RmPJ7rfV1uj/vj8XlTluntvvx4//zjz/e/vn/8+e3Hnz8+v98e91WOSXV7tt8wjQ3DX/PCGmQStSsdbUBXxlHAVkawxCudRJlwr8rlWhGV1iwpmDiX7F8MGeQMgYa0hxg2Mintz8jR+DOMv9yUicy2os9COT+I9cS+ZA3QDw9Bnu/EJZuZ9djYCE9g5TPrSJ4+nIV0hjtxEEjEJooybVZc5y9OPccey27hIrVPwEG4Q8VdqLtnahY1uw+5DEVSNqn/f11c7qEfnYRT13PdAkESuBN+RJy0iRvqlEj5v1a5O9flJb+M7N91vS/3h4rT5RN/LDhtYqeJmHVcU31zp8v5jDveFYPS7RLStHmvLzEpT8dF2vZFFqm/P5yt6a7r6eIOJg76rsvy5ZfLUw417bLk3Pl8vigsrHYut4dKLc7HX798eTt/nlSdUwFYo0vRX7Eba5Duj+WNdM7IYT0fX3oUZztGjKCAkr4YZA8a8oPhD/BpX5L9Rh/IThnqxrVkhQRTwCuzU/S5eUY0D71Lep0dG/qhPZymzqZaiq4mZTOR/HoSk6tr3Q+/GFadH9sW98EpsVAj20/dcdFdQss4/Fzow0+yCkwPKAxu/uFEwhoW4YqxwyUkrKdBffG32gLPkZy9iR42VvaCsZvEFccc154H38m7CPGKIoCUtyxTlxkUifkj+7hpS0SsKEjDl3K0+Ju5QWZwbPxsn71atUiJPSqr34chwASieBM2hCVmD9z1ozwg87aChlUYkPrKziEc2XgHpufOYe7DA7dFJagSn0ZC3BWC3mV/pM9bmjAlHz5cnT/oVgnRW9PAN2eaSdip2hcOo3i7mKJZDYeqBnwjIzwscQgyGSE69jqJjSlG8MLTZCws2bskrfhyuvwU5pZnP1Z3nRSNx5hASZVP0jWWxhbr05ROcT+amrzBNCFqFNIMJcw5Uo3jM1g7Whjyg+NpB3QhOjvXB7GJeTTxAdTFm2AydFMRQu5lSDg1pZtgUiWxfDAg/ElvLzSP1enSu1Lp0X4AkKO+zpaBXF1Lp43hENTRBGCakWohrfRzJmsB4QZjQnjb5IZYsuAE7ouICPN67gwcMNVlaVb4p+rJR+Q5BSVwSTqj/EPmy3LYzLZwgnk5PXYf5IqTclzVBnnl9+lM0SN9FyiIEv08Ldt84K3ymasXlNFISbMFl/woeLbaug+msPNRXtg5s23XAiE0kow9QiV+uG1r87iYQzWnGJ8Ipq0dvFygV5yUenrS4fP2cNSBhzlIc7Ridj5ltFUts/uZOm65SIsIsvhfA97OiMazZa9CcDuZGImH9d0mHMdnQYgGfOwudrF57AaNckofpA4aerJ+fjhkDCw7yCMffVa4fm7+HgScyZQTRQBRbgHa+OpJ/Ku95HQMFwwQokou0/SsgkaafBzvoJ1diw+ijMvJ8EzlBqwc/cDqHod1QRck27DF9e0GlklkDbHAXwAVPpREmtJfpLdN7Noz072hd43DZYYP8ZzZjBi35SzjnOAFJsOYyMhFCQZ7iTPaVFY+Io2UGL/d5jQ0GCYU9okcbLf5Tx8C+kRMjswLYOofZ5fxZJFOifWbzAu43DYiiyP5jyfyDHepcxwdjDodDm/H49fz+evp+EXnnasdK/jqFrOr29scrnLfKJJA1wYS491pU+S7rOvlrA42pvuX6hOVNawMInJA0UrWZb2o0/Zi+1plwMezYykyRxUySCJiei2r7lY8a8nxxXhu4ymIZqZaRvG39Xi8tCu9xae0mgsairIIjIQ5M7k0UbiAruMewC51Zb5Sa5Z1va+yJJZFxx3dH7ePu4LAn/fvPz7/+Pbjz28ff3x7/3aTQ2g9nKnyRRMmyyuo4BcZZzBtOqOEWOs7ijgpCmKlgaHd2GIpPLbqf4gHFclL46YMXya1WZUwMTCl+M63+RwoBZngLSimGRthUaucmfETVXi1cBArQ1XMPmoBOwb1RT/+Ly9fGo7AZCxpgtlM2INYVE7lVS6FEqK0QkThDJC+/6A/ABLPNmpPAc8gP7syZlNiGduI04mtqaSIYdftTJ6O2SxB1mBh+wLJpnUqUJxPyZFzTh0BHJrKuCjdqpHLDJT5nFZby3O93e+ftzvnclGyrjSdnAQfF6Qzbs6yXmUG6/1R58CRhuTdcnDVf3vuypNZVIkqT9l5XZ4i9ufxvB6u14uU6etyeJ2fz8W5Jp66NB4XeU7n3tfzejz+cr2+XS6XxUcHAxxcnNZrI+fo2+VwxfksRURE5Rroi/9XSov3VKELwwbnhfuIEHkbMRtjI6swu2Kjc9RKenBa+5AJFCRBw0k+XcSnnzh2Y1Pe7HN24Dh8vEhJbMHFIUgXeiYlT82lozzOcjDWjr8xgSU/TaoEHlKP7gviKYhJr+aCTgd1pp79F940x04xC9wZxP1riFlDwYh8BCB3kSuOzbATyWY2TuRmkhufCXpHAMXsDv/x/MNSQ2m2CMI7oLa0BnBKo8/DiuuZPQqjIPRaYjREUzKK0pgiTEfL2G3Ue/Qcv0LtqFtouVXenEQQ5NDzrcy43m0bvAfOjX3iPozlkAzApOtriMlvZuJdhrQaIUZMYUeQYKmrG9kuDFlNxk1SMWmAPrjR4MI0tvabVBfk/Ma5a8r+HIeP+RAbyUKTM3syEjOvdqqSB6JZ6cFJesuObxvbJfqTRez9rpKM2UXEjyQTY6KbnpzFWHyKOaq+A0KLlShTqLeSwreXQ0RCFDoRoHjaNEH/jf94U+JEoJPsEC9mhKzyhd1LUPAUkZyT/l1Lx8QeQRejgU7ytAuhMItthsBV9x7C9yE17YsE1reGHPXYw6SLXxDTe+yJe4qKAJPTS9l3eYC2x7cGj12zJ6zL4R6+zuf0uOZQcyW1JywJjXYvmVGM4mkCojMP0zo0H1HPBSH+orm3ODub7HFdcT1dFGYsUICaPB+Xi9r9L6sTAo3VoK15WJgUuqSPs4v+AZCg2sRWjetlRe71H28NthoMKGahwRm7sWjSIlpPONIu+tZo+tiByDH/FcwnGcc7Ijs+3D9BIxgW3C67UtKOGVH+GRyC1pE62dz6ddz/i02zE8sjmKdrPOrgK7ryd9hnjmbyqaGhEjzrzgwxPapRZDr0AWZhuRspd6BamFh/u1T8yYJINqxxo3i1oYUdr3VSxqqOMtKLpx2ne2NwcCtPoVsf/nt3trSf0m3TY9SPSmfDKX6f7hobeVHSmnuLxPPCc/GwZQQvyF6uUnWYxU5goMLpTnf4OJ9OMtrruaE3BJYxHD3cwbhkfkHnKfMycTF8jbGTa4uSaBQF109rHlJwD2ws2tTHCY8IQLr7jtyHNDbk4x8Iwjge0ZJytyARc8ldrMUp0xHSFpD1Dm77DuhbE1JMqAZT3lzxw4zCUcYrYpbQJUT76TUTWyBAgDuHoSJFg8VQvDVuuwj9IC9YbNonjVsvupxPj+Pxcjx+vZz1//l0WVZFcZ2S4gM8nG8sCSjSPL2eSpN2qAfPneJC1r0Oh8PVEQdZsseLDGAdqfJyLOp5XlUzaB53PJ2u1pieB3V/I0/c53roSmU9U/er/svk/yt32/FljHOz7eNpVRRY5YwSoif1UNMvSEeHLNaLolxnYaWwTXKLzCDDI9ju/CKTecJrVFM+dLrdbX0p2vtQ+vP9/vlx/3yo4fP3j8/3z8ef3z//+Ovj9+8fPx7LbVVVdHRljCpvSSQbGzi4FIoDyUXRLYpjaeVjwcPN0vP/3uTgQA9PQ//mbfEruif4XEsweAUhIFQ6QPCskpZLG4gIdY7ubNLwPQEmTyrWbh/1Qr3Gp8YNmTX/W/PfSNO/bDb8XJpfA05mGU0rLAsARnAiLrsYPrIPA1dmCWgYzQQzSiER7AzAgmaGGi8qMGRmCi1TD0MIW8N5Y31tfS5XyyV3mvGPNqWQRYys95xea0B5EIxgU3qCP3491vX+vH/a4n2oC9b3z4/3j8/Pz8f9Js/k/eHDfy1MkP9OY3Xeh7uK6wBwO45sCafChiOGFHiwRHEs93xcTseLwoBXBYHVLkiJFY48rY/783Jcl8PlQnDDgkrpU+YZ8ZtqKJ83HrarDln0RnGrbUeNtVyfqUJ5ovsOOG9GR7VZT7tczxdNnSgDe2UXBlYEe2QLhFAnO4KdYP6cU6Cypdm7yvjBk4hyNFAjZ8+PHSaP8AxhOZV0HJeGoomkMiu2HhtMeS32Vhxk8HDUHvPu2PAlWZu8CpKrioY+vRjYhFtKFQSUS3rYRV6qf7X17AKuQbZosAiyxUyfg5GGfo1+9M6JeWaVYLS4yLhd0ogn7IB61baSLWOFNQUyDGUAON0dmrXMp565nqJy1VErozh06xKrD8kzUQ6VQbeQIKtQDL1h5wzjSb53eyCjaqSCRg9TH1wFgSNyASQPQqrZR8ywwySbtjb+Sk+5CkD0lY3JGf76tVNk6QFrM9KbooyKk9MEWDidlpNVVnVogztAZLzEOzJbNnB9uNwSj0M6SsZXzpo4VSiaSTyYVtrLyV3rkyBtn96MgajM3EEjUg9mL4NtYFADDhFNBl2P3OwcJkYGQzLz41aomQbmSG8x3cStJmsLeFakIY/KseHZcYOKNRq2MIFYB0OLjibGM+KJRRsvMoT5I5CSxA6qB9T2p2Uh2YxSKYihLtBhUEOpwZsghsWWx+L07QbbONULHgvlYHMr1YENQz4yRVinade5cieVpU2jOSJgqDA2sJA+rSMPSfcQKqeDimJ1GT0A9QVSbleCaOmVKaDs+goSVYKvSjSKl6jN2w6qr0lwbPgdvqU2CiaegKspsPMPViYb6LAwKJfIbUMDHPrKPpMGluMTDGfnRHmjfAtBeYMnSpAdvuq7CN2ys7HT06Jv0xG8iiZX1OCfXYEB45fqJBnEDxpULqKVqQJtAESsrw5RQICXwTPADIsrMcYBw+rnxYfiqG2Jn06ZLstxXs5Oo7C/z6b1GKubkrWFNMxN4uHjTAJFRLVwMArNZrV4g3t2Pr6b9H6PpObYPmPVZV2+VULrfJA/PHgQHodELzQpLArQKkxmTxpEHcHGs9i++H1VF/lYWF7OVWZbPQmoN8apIc6xGZmKaWMoIlCCddo3hpNu85Wyw8wJZIlZywODZRG8myaeC7Cd8VzY2w2RZYGmmoKJQs0iZgzKLCvCA5zCFoehM5A5SL606OONeCIhFYR0Ogi0GyfsBa9BPrIYHEqZZB6drnreQhxDOmDE+aTlRZ51/BRR0CznTVNkeaiNp8zf19mxiMN9XRa1rHg+r5fL9bx+vV7/9fXLr18uvzgr5ebmfGM34Is5y8qU91FFrkS/LRa/Xi8HJeerd8brQQHYa325Va2q/dQ96vSQLa5FPNaLz357th+ng82ODK+qZ1SAGElK+zQVFkuc+fdV/lBTnvjkxS2gr+fL2+l8dQzrdFyPy5WTSN3oV6clXfQU9cexUmQvRpmDuwWgSZggFHjW/8tCWfJLpZXL/fP28XH7vD0+bsuPz9vfP25/fH//48fnH98/f9zWu/TK5GNX3Youm5gv9m1QFLWHkHOazJiKzKt3tWHRrpkZmlQ0Cu90UB5yRlhbyw8qhgeWDyBZom11V/ugKGRxeAeT53c/Ieeux1AfxWrGyfP4hB7qb/KosEOeVZzSZa5O40GZjX8m2oSnN19tD4Cfx2E7usX2hOjUrMxftAVavit/6AUxXOKuTJKJCcqjTsbTLDXCJ/DpsMbLQM+pwfK+O85PtBausblbLazZvtGvJnmPWZJiRsEpSp/TkUwnt/tzed5vQs7b/XF7rJ/3x7f3j7++vf8Qrq63x3p3EsVjEbniGOLvy/l0PSr8q79PKoI4n05vbxfnQuv9SZ1Q6DEiH/HlejldL5fLeTke1svp7XJ6+3I5qfGzaeaxPt98BPHra+omTQsv5WiIW1zOVyK45rtSxGzPFcUMTQxj8i9k9EqjU0rUWfkmytw9uTe9HFokrcann32vymcJaCDBgVHlR1gMk584IQhgb6VLN5PNmM6boye4qDLKlbpaxK4KGqQZobfV/gk6dBg3TY8Wdtlqmgn/5JKF/xN5s0Akpy8ZWKbX5t+62tUqradpJ79PnqzYs789Wpf1zJiC0YnwC4RKpLMkWwMGk+AUk1fLFSeYoBArLVCZNaiKNT+SNxfjAdEMsXLXyDvvQEip1p9f2ULm5pONjQYWebR8m9thZzQZDnfzt8C+l5SFxkfsuRglsE4Z2SnB6S1CCDBsEXsxAQKf72XbyxEE4+yOQZlleIF8Z5bgM5CxY1EIzVcc2x97GHYUtSocjhcdRnFShLmQZhyTvXdRW4f4V1zEv+bsiQnXoNvadokFW1ZZ48gy0gPVqrFc0ok8FppWHmw71LeS1ANED2kDlUFBSGuSGCYGpsOhuR4UcT0h1bKan7lFY+i2pK5XHRqnBjG0fYY5W2+TBb6ScwoVG/3CCvSsZL/6uWYpScmUDejLcMjibbFC7w4pDiw/Hg9ca/bHe10bAwlSlZWgMyRGP4I2DA30sNsP3B5qN+icmx8v2QwG8qUoUJoZBQYuccaOlWkIrwDWGD4jOkEg04braniqAQVJzDzZPw65aZ89MivMGqI7tn8JVGdeEvpxRTGI1AxLKAMOl1xvwveqHcRACq8n8ZDwZD8Tgq5cjaYAhsG3JkGFak90JSi/Z6MxC/mlDEkbekELPIXLutSIpVBFE0BxSyoamaUxyDQHm3cBrn0hOo4SCKDBiUubR7jr5HQ21nQbGQt4Ul/kp+NOYOvjugsT0HdGeqfs0oi1HLJAgw6haqR0SmZKQF6g/XyweE2YclqoZf4r/cDxcwj19G1mQomm5fZYsEag1Jm7ZqbRwUhaPSVqVsRBV+sNQgC0iTzpFNpWnNGwr7R8jPjEVEf6kY8dyvF6ELN0AnBzcbZNVKBGV7J4RhAgJ3tNUCR75GsstPBqYlC5zgoz1RjCwvXoSRXLMQMWOp1b9QMSktmSCJnIRcwD1JTqgAin8BQXTodrm0JDcsPNQx2eS9TW+mbCoDsbNrx8CqEVnwvAixISx5znCLKUXwwTj4+AC1P/F3UJ3cMJ6nZYIl/pKONVYPZARwm5pOBKd5FfADdIbQIwmd32pLmaWAtWKAfAiMnEDRFUL46ZPspcaI56lB58eZ6U73A+nr9c3/71yy//61//+nz+eHzqiJWHKnkvpq0QLYA/vWTokuB41CFYHv9i2D6fL/npVtfMrmrCs56X5/JYzPFOVzMG156b7OVkIpPQyUiPhX5T7kLl1Hp6ZkgBNbe2V4qKGJP12Qr9/fi2KC50kXYshX51u6vzVbLVncpO63GVL0sZkqtUcbwwCMeaFjzA/9vGkPWwLvfldrsppPZYP27L94/73+/3P75//v7355/vn4r9+qRf+7GExPjHrCeFCkILY5QhHHk87K/q+/hS2KXI2YiebB0ImZrQjangUotKWPnL44zEVU0jLyK6tqvryOEBnuuQTojKboKspcsLd+PCrqCXRXqFH5a+GSHcF8aw8ffwshDXJoZyVwaI+kyGHTK9reB4DeSrfASy/b40jDVeUmbBP6kTuTQO4l7FhBk7gJxns5Hj5tAg62PBHmvQDDe+NVDpXlWFHLCSxm9j0Sqn+bqQkyzTHv9DAFhJ+cv9rv9vt+Xjtnz7+Pzr++2Pv29/fPvx/vm4u/+cKArg2/R0B6zj9Xy6ymV0vhyPbxep26fz6csX9YW+nI8XlecpCCzj1+L+/Fivb8+3y/lyPDyv55ccXa/jl8ti/eb6huiR6hYh6DZW3n/6WWmk11FnXggWFinsQ70J+YAWpXJfOZMkdzB6bfcq8KufJ6FGUkkhTZofZi8tTmNocVxkeDsBsWTJJZPWrD/C0ntHw+Y2TwvxxUfsKwm8jZ4z0mVTLq1U+ExyS9MevhS8GiTN2X6yA3BepbldU6rcJg0oMc+ipPkVNO65elUZknAIssukxbelko0EtGBKOKPwpN2GDUuXHyYJjbGbuZ00Ubw5jc0iHEIgiCETASLNUoMZwJZSMTtSdlgTV8K6fC8X+X01BI59TtPOAnL8cVGJy7kCgLWB2SAZRMs98Ch3yNEWuLkRdzrzVgs1yzTpdVE4JXBMu+C7stuKli4g2wXm0zOEqjHkF9a+/4+lMjLBZHCXWLCTsrxNmGTDUHeiIJzRLTSUKRCQOCE8Gmwij+HqZtNGvHoNMtHsWnBpax6JpEq2Bl8V8NHpOSMGdRTMB/BsP5sTUvFjtGXWmaKIWtVM18DqS0zM56UhNRGJSjJJ9r5zTZQ4aW2hDZ/ck1h5y8mrtwXpdj7tDRwSfqkjYKrP3JJJzRUcCrYmrhRS4UN0Evf7c1EAG8kZVGAp/zlvzovxxYiSEKP2jwwHTAppO1FGygN9DrDVIvSKXFtBlfi3+5skPhNLIQinG5xgCVeJT4gRc8pvumSd6I8Kn+wW6vqdzKUaB9dgqAhuxLZQWep5S3PiUGyFJnw8N2pAQ/aokModNReAxjwrE0T7zc5kbRcp1x/qScvoTWabfTshnNxXmDOIXEWiMprIpdTxcwRxZX0YGAa5Ac35cliY3QJHXcBp2rkHE/X3gokVcRJCUSJkCM2cCzMmTCrAHQ8ix/wm9djzXp8Sr/YvOQMHI9BFpFkdK8BwwbgypfIzcFaCgPTd01OtwCBFQvGaD/6tHm+TdjuVM636truxJMtPYUwsjiogok/eR7SlQROv3dNzK/UQOmHaCli0n4COz81VLiLSrSTudVM+xqe6HNncMuRg5Or1QBJM1DHzq/bdKOgzu5zGFtjEftN7mkCExwnyVB2HBTahaPhTGByOefQMdA658XWQI6qtriZHQzWTYYODgxFkWXLUi0EbSVMiVYFKIETVAhOFtRUd2j6Ap8BSzILCQTN41BTvke1+8rQjIGEv0L7xgoSTCAyw2rwPuyWtEZoIEM0ptWdaII6YitZZCzjC0QD0zEkmUlOn+NkI2ZZlwfyk6YHgCcwipONP9PvxGhTmTmt2REWm8Prlcv7ty/VfX67vS7o3H3T4k0RIeqHYo3c+kMqoo+rOTVk8+byl1/m0nF6Ph03fpzI0l2W5P47u1ejAyFO7/jyJST5lYx/WHN96cZ7xAxtU6ZtPN/LRMaevhzOkF5Xiur2Kt1ravCJaUtnfrqcvXy5fLpevX99I5tQxL479ni+n4+EhjPHBDaahy1FHPu7Ijai6Wgrp72XRQTLqYn2/32+Pz8+7Y7+P7x+Pv9/v//728Z9//fj74/axrDoHxqQSppvdzhnUIC/qY55ExyPDw18l4gSGWgWjOWK1pc2cDKeDCUV/2xnMwaCsBlUvtFTBW2ay3YiqgyO+3CqPS+kauMPXfXpoaeaIUsICUGQYoI/B/LRaF6IOM51pQ7A7cWROBMkEXYO9gTDT4OaKm7Jkri+xZvIwFh5Y/S7LDURj8ueCjdlHcY77KAuOReqttT6YdXUV0byDWvSCDttyRqWCw54xxUO6yen7nUxEm4GOGhDZTptDA291naz6lL9ej+X5/nn/488fRs5v326P2/JcXvKtLRY5xjwnKj1WnUztDnIyhznSwOzuKoNYFXlvl/OXi97mgF2VFVy+frn+cjn/cjk/rqdfrufHclmfV5Hh83B9O7+eF03ccW6bHGpTT58eVUxKdVVXvLu0WE4uEZrrHG9LDLzJtpW16ydlAL5koisu/fZ2ffv69evb2xdb8MmORaSlsxfc1K7/sLhiJpsJMpNlp1938jEk1KzXbnIEZMOJWCb6hjJzx00TYoieXfa+5RLlcf6LIA7hIMtW8IMaNEJteOWK52hyjfcguKtUMCWgGP0bcko6FVJywpVCHfq8WMD3BDiJkvGMxZN7clkTqgVDje+bFO/oyepJFsHqRzg3jE/DMUyFREFKGvGqh9S2yrVRRqtm1aQOmSajF2HoTFhMCO904FP5Fxdz2VMnjGugVt4WMILcYz+EdcFpu6GzFRSFRkWKXhQCNzpEFHswEtqUspuAkIfb2HsteY6nAl9jcQFXLKphaWj4jcjl0Utb5WXO5lNTRAkCU2WANAhTc4yUUN80NnKCJ1STElavRaVFEpukBFtBie7hi4vqMyu72Cge5lnsJdwMYI8QCXiRLAF6T82J+z66NKhCuliboDvRAdvMRVPJ7IJm8c3zHO4lPYw564Fefmx1P3BRKX6cR2mvjUbI5kXnD7GAAFBA9Ub71HhXwsutOMTBI29TmImdcGTm4lCDfFBxL7g6sL8RaJiKiCNAXt9VaSDiKuwnzRUnqOw5B2+DG3Gnslj/DXpm4/YeGkPH7BEabJp7KKEa0AY0f4D5+uQ/n3lntKpjqbHzpJiwX2aLEO9W76fxHTdhuUH7KND4O92127kEXJDQPQk85OgTnQvG4nHwc+g79Xo+VU1ngYhI5/bqzcryCwPKM5IeA0UBCl2Jhw/uFBZSkcD7QpYQIijeXhRB21AgwgB6H/rEpKt8op1SLKvSebQQDzBPAW4h107JbCkbM4OrCdvFh/SkwnxjiHBXl3yovbZNlLExTOM9pM1YUiu6vBjHs33r5RxmCeN/Cc+K03DmiUXnTSENnrXkgdHpaDIa5w4MyJdfLjFl3VIDmQRTTa1IGWWMVz76CGD8Zjbr2zoOlE2kF62MkkyCjIPIliskYEwhTM3FiMP44JlpGlx0K8xMgirgHAsONxG0SszZeS4aZ1CnEQN1GG532H4QW2973wpnUIN0odlaE3apjAugctFzcD1zHhj7I0eexNVd89hylKC3l2OvSSdaoWEnpv74dAqDq/hJJRKojZQ0xk5dBoFRPz9bomqsJLHt0FJVf7IMLz6k6PomD9br69vzv/3667fb8uPx/Hjc7FoRmyD/0AXAOt7H9XfSTc+n10Xwe12crXA6HR+qnz+pBfTzqTY8Xy73++Pt7MZQ5jQ66WRdzyc1YX4dD8vx9fC2cHrL/XY7vA6P5aF2y8tyvy235XVfn7f1sOh7pUfnzIOUl6gd19fr+Ze38y9fLr9+/fLLl7dfvn45K2FTjtXL9Xn9IjW9e2NN+6wOXU7pZh8b/k1jTZ+z6jDw/f74+Pi83Zf32/L9/fb94/HH++0/v73/+X5/X5aHnYS2KoxeYkJEZqO3GcHiQyIhEwUGWR7tpgQHRkHiJX2EQLjLMK5oHzGTovL31zIi3uNDwvrj+8SSQ4x5xkSU+4p2A8YSmQkelmvN+85zxPww/qHBqYzMpUgPvqxGUSKoJGVGmd1MKWSXS//xKl8r4xhZ4DV0FFhNzurrIKS89NCaEDtzK9wB4Aat7l9WUOedf4/MMuHRV5TwrZL3njqMjDoo4byPtZdkPZ4vVw9Ja8MQsPy2PpAT5z3DJJ/Th+Gt8hOt7x+3P/96/+Ov9//9x/d/v3/cDodHEhMkjsqnUGuklavtv1bqU/SCsYfzfbVKKcfWVQawzN+rXPki8N/err+cj/96u/5yPf/29fLbL18OJ0nJy+H1eCxvSvl4LIezTLLEbZ7PBQgrRvY8nJfD4fZUcqUTgmWtnialr7k96v5yPF0Ox+vx8HY8f/1y+fLly5e3L5fL9XK9yt2lvlgOSpAL7SKIdIIWcWFO+jilKE72GuD1jh9ftULh3xviZtv3uAWvNKhjVTt4QH4Wju/Q2x7553TceJHAk1IdPSBjcTkq4tgEQNjaUPgQrjCnLX8f5pBuq0X7viwN47dq7HTuwwkC7e8EATIuTVDcp8c3gszID9+h9m59ma5RMcHzAsGHDuws9ghreI35fW0KlQoS3Ylf1zcl19TahacN3WBxOQM5shhjNSQZXrbnTr6ufojw2C7EGhT0TLgP1hkWmcmDS2YnsWfYfeLqVeocTEuIfvPiwdqU5l+V1JkdxkC22Xq1QOvIltM5gy7M0rIIqcCCSC1yrgDGMQpl2FoN6jnyB+srQVCWnqyLmSq7V4cCpvWmacSHHv0tUaLROdFwgu0bjgXDJ32yT7HLoHZgDzcrI9UN4xHwqvzH3A6dylZt99B4a1QhWuKst8yIIkEK69l/B6XUUV7ebTcfyDKvrlTFPOQ4NCaD+mujkvl0iQOmRlMgN00BI9gmgVsXk+oeC7kiNTZwBjJ4PLXIZdwifXRqMi903NLR714z9vHEM/QEp8PZt4bvDImbXlvVWmd/NOhknBrZtwWOqGNaVn6CWLFIojjoBXaOjYFtVfoJD40Dw8dqRAzHWYMPY5iMn53vM6GQZFWi8ZbZ1DrDoXM2bEKjwgKZx/U7pa9VFlmLmQmVAqtAVTGACvW3OawB6maT7qvIPhm1qxJItrIVFhNbmWLdN0aawAS3XGOGeL9SR+E9hd/uQm0wxNP5jL5reRB+Bw3rUGzYCfITjPRwyd23YQPPSleD6QSOzBd1NwCNaZdKV4ejca8qqTv2Ybh4fBCBGw4f0ExTTSJEe8onYpujB5B7xJMBVT2S9qtRXAGzK7XgsknqbAghnlSLzeNj5/1RRhtNheCG1pV88q2TZ8yGzIvt8UFsVHDCG+eMXD3aHLQ7+DqflOSqDG7hoHfTW2Rh7TZjYXAR+ZicsA4naGqofehS+X6xgUuIeECM88AXjpCUe5PuQB6aLb2EuYdBg38xTJKsmIUg8iYvpRiKszb4y+hehYnOomBqiWH625S3lx0CcbpVV3FmO1DAZRhBH1Zhpd0Kxj4RSBIL5E3U3ioRdT3+uRAzfFA7xLUGbZhB3BR4nT03CN+ZjScZti6yeV3O1+t5Xc9f3y6/rm//8csv3+7LL4/1flPGj41MIbTyWqywyAA+Kd9YqZJKP+R4KGV8SK1dXwq+6oyW5+PxvN+fnxef5Kxwryjt7fLmgJB2f9EBQ7LBX6/T4/G63+/r8/B5+3y/fX5+3j8ey/fb/cfn47a+Hhrd6dDJglb/HmVynk+/vJ3/48v1l+vpX7/ef/vl6/2+fv369uUqxvxFsWupmCod9jkvVMcQy3BTLfFSFdQ5Jq/GV1T/Ppb19rh/fDoCvHx8Pn58PP797ce/v3/88f75QxFqnTNcSQ4RZ09qYtpnEFTCPx12hFQZkRFuUFUNpKr/Jly5V6clX5zi6KnlP8NzN7IFleHDMOHwMGNH0WSbNZOtHe+bTcsRSVhNNRIslzAEOf/WFyF6jGwhA64wu0MCDcRCwJv9G4UZ4mNeBkqUy43ofya83Ro7YIGywWZ7BzdG5PQX35CNm8V1tA47nGpmDgFGzkLTHtQItsoEVWYEIRmR8PJYrqvq4lVe7kISJSWuh+NFuXz0dONhaJlhZxJgysuTkrUKM1UtcLvfPm+fH/e/vr3/8ff773//+Pe39z8/Pj9fr8fx5AabPrjM7rR4XOuhdj8U75R9fYkrmIHAto7HO/B3v6nD2+n4y+X0H9fz+/XyH798edzfXs/nRSeHn/51vipX4nE7nY5v5ysqAkcU28g3j1em4unxPH4qs5DCXupmtEB0yLRocbM9PG4XBaDOX64yxi9K6lBiHW2gabh6OIsE9JNS6sJ4wcH0BzQOToStXmx0rcRFfQMdW3yAk5E4jsXsJkqGs7io0Qtmhom3rnU7iQDQRhKbYUdRZF+x+RgiJFNRlBNJSFGKzsDDIqVJVowYyt0+GJ0zkzSAVYPQo5UrhkAFiy2dTiVRL3zooS8KfmO0JDbvPqzROpT/rJPyFnclNEiHYqO1RPRl7VCX1p5atnR5dLYLgXxvJQAoiUWrcqW1gpVAy9OpnhywDCPF9GJC5SNdizUVtBHCABRzlfugaQsD2QlYQfgkYWPr3ZNHsOPNFufu402yqbIOOUsvQQa4IxzeGqB7ROkgNAwBzFPrio4kaScCBBwiyT3Nzhmm2L0+2AVPuZNh84DxIMYp4Go1fwMoUgJeOyWASnzbyLmV19pbxu4kkAPIRNnyeoOELDC10NHtJ0Uu+W6GG2er2HQMLmO++qKwVHX8oDFE0BSdZtKMjLcMC7dNY9qedOw5Tu2qD8EuzvhwBiKu4K7BavZN2MCP0vaN40A9R5yuxePZTeYz6BdKN2n6JK2YWKHQiiyERXa2LMaYZ09jatrHUaWMGpY6liHI6oerojV1S572FhoKS6mC7xepC86gDGKxVbreiAtDDH8CzayyjHYSFpL621zpRGudXg8BpeQ9Hq0YCWG7dBD0nxwp3jYD2AZkwowEj0DmU3HDM0kyTfTmsGAa6rJwwoHo9zkXul7MqO+NxkUYkBySKDEBvb4PbdBHIN0EQgLEybbj2r3RMa0tKDJ24C+Ly8keqsMjs6ctnQNnFoKxgY7FVNgv0p6HqbFMOFFOPHfH7yj4/ugTRIOLIScYXLS/6K7ukRuWEObnIJFuWtxCvags1tZkVO+Q52MWOdieM6jiIRtAoMal5RedvQAXK4L1dPex3v2LdtkrLT2nsYSLCNwNKMZdbf4AHRYcSQ8SHTnHDxh7xpXCPh+mipBi6eoMHFkVRw82P45JF45afOHBOF8SFU3+PwXq0AjOVIaaBJ4psF/oJuaJexn1Am4FPhQRbAmHYTaVc0MO4AZQDoqOxKhohyV0XWz4MFCYABZ2nlMWiVePAgS4J7W7XmZOdqANCXfQ0xuDcxS7aC9GP6ZTNcYgQFSEx5PVBivafP+pW4XPVCuLE5ClEHYA8OF+1cqDXOa2OKeJy606kheXlE4zuRy/frn+9suX3253xYHvrtWNbSCW9ZKirnm4ffTx7aJ0JzNds4ecNe8DiNaXrd/1qhRlicr1Ij1tvZ5WHYIiC/r5et2X5+P1lD7/PNwer/eP+7Iefnx+fn///PH5+fF4fPu8v98fD3v/c4SJMfUoPy7HougYp9/Ph1/Ox//533/77/+x/Ou+/Ov+5Zcv16/LdV2vJop4WJ/r66oesmGthpgHpKpyWRZlbyuB+3Ff7x/328fj8+Px/eP+7f3x+7fP3//++P2Hej4/pMW5C1mxLYRcG7MqqgNS2YbBt/h0QlTlqLG3fJ09QCbm2EDz6gPhLxk0bHxzzwxDKy3wAJAA8gxFmBNuufo/PYdHhyTR3hMlGHnUJ4Wx+MZ+O3Kr1ij3VmcYQ3w3R/v+Sr57cZiphGaznv62J3k4/5ZJlLujlnc86x9x3neyyIbpYIDGkJ9MTqOF5EHcazNiKiYwKNBKrMuqYnI5HJXDr9O4BDQVBlwer7e3l2rT3OFG/9IgYxzlWbTJ2xFf4aeGUHmAan8f94/7/fPx/v75/cfHv//89n/+/KHEhPX5OJ4eakDVtkwD7MY6zMqCpl5IOXUbWPmLfH9UOsfh9lrux9ftdHg/HT4+v95++7Ie1tPleL2e3h7Ht+dFke3H8rzfj5cLOyIdeUlDvOdTGRz3p+LSNrI9IywwRz/baFdWwYmTxI5yql5Opze16Ltcr1cdWO6Q7+nq7lAWQfLJGa/gv+BMtJ36ImNVCZhuDWtpBHsEOFssgiPJq48QsLJvujm3wZdsS47/DWKgt4SZ58TKWCNFomR/8NkpNNFN2jgol9uiDp3uNAN0S9zBifGCosDTOF9H144saOSLFlss5tPruXiQbIUXID8++M4yYSf4AHKOQ8J2aKH5KRRRAHU5sUt3L8kIaeLAwVC1ScpuRJbBnegkHa0+qjUwitVno5EzoYa428ZFq7Ax40aqsX6HcgGehVc1STrg8XgDlL+EXRxGwD3KAmOuzuOBjdOnMtmUyO0ABv4fvGJHnLHILldFDJ7Adv3yP1HCyRzkSF4gQCpZOFSUEHgsc8bZLusPOzF82AP7mioJOdyYTJX4Xcp9swtoOtS3UC4c9E+ds36OSoIBUNFh85IKT650yAkpEB6XTbE+WJzVBNIwiH1kuhFXIH+QuAKwjicVa/QY5+re9t5AzpkW8I/HFpi3Qg0mEFsPXySDkD7ZyZcLCJlyHtU+hOm09oQ0kA4jXbk118nFk3d5OLqxxrkMpBCoxjN+xrmV47A2aQ4a7fa4EHJKJH2DIsriIYhPrHIasuUDZMBwEA88jE4woJgjB3JSEZTjSrDGCBsSpZuRURIzo9wK5hey1wTQx+gb5jYQ8WkQKvTcQp5KbLRlIlMtpG63bpSQJspmDn6WZyjloMiNzzKdeIb7WJI78hMfJ7WISbAhCNzNrAknkESkBmb6+ny5UMkwClCZDsF8fHLmUOQXYKwiJAyTx6KGseEi9vKCnrrx+bQuTscjexOM9GOjZibMdos5x2Tl6Xqua8VtaHHGrCbvo/mcDWtBRfNe4+q+MSnKblQI0i2Szw/PUugsqI7couATbthUISycqKLnS44OCGeLSev6+8hJf3ZMrwvkerA3fl841OVyNjNOynavdccpO+bZqdxuA5dyJo75ybbSMkQj17K1ZLzYR0AyfxNszGYglNKpZj7Lo/Jk6FTGs1Khih44vMjksVS2t9KOzJAJKKq9s+zxT/Ys+gjHGDZyGXM4e8sqgCIFsX4SOInX1lqKbFtIcsvtBC6+l0B3RQtjRaGwYHCpTyvkgYEzYpQ7N+UAcOHaQjITU0Q2KUlBhQTVIBcYK1id/Y2bqKhYMTULjRFil411w86pvcpgIMoyuh6vahh1vq5Kv1xfhy+vwy9frr9+/fL2/vl2Ocv01NCOjVCknlNKtFmuJLTr6XhYl+V8PC3mmnSeuN3Xj8/FBYfyfaxv58fyfFvOn4fH9Xw9KiB8vC+vz2X9XNYf9+e32/Ltx+2+vN4/bn9/3G7rujxf9/V1l4aj+dt0d2woVCS74nx43Y+vj9fr43xcjh8fj+d/v623fy3/+vr22/NNod2TOro7M0jHtLCtdCC7XORu13OUR6pzVHXo731Z78vjtnzeHu+fyzdnPv/+7ePf3z7++PHxfl9dxBi+g44IPitTKfvSwy2N10kYUePKqiKwgQrw1ML4N/ymKJoJGldsL3Y7RYbVRAZ5IMqgJ9Uu6qQLWwweQwgwp6BgeRUqmleySegI32hmsZHKzjbGsyOWvpgxtJDnxbzvF6F4DR2RDS+CvYHIKEy4GSvXuSiade7KtDE8hnsmthemB9xHfUHR8H1ZcSdQzlR9kv/4oYQZ4RezhCuCVgZSjfrn8bA8D/fn67as9KPiyPRVHeIuz/XxUiG6MxXduvJ4uppjObGJgnA1Tpi+i2bwborrw7FVDXC72QD++Pzz+/tfH58/7mpIvnDGd0s8BrQgTyCAR9W/2I6zf/lwXMhzCQsxJGKFH+9mk0rreL0/Xsvhcrx+ub59ffvy5fyr49MadNVBZ2YRrv3IqcWv5aGW1J/L89NpKvYWskozJy/bfZGV/KyW7ToGUykeSrG+yAKWNFZo2BapdyD6TzEWScFGdYuMsFtuZxARlEyJZUTTkBGbGjY6WFe4QbTeDl8WF3NNelTJPALoudAZDGWEoUAazUBoxUNuhnGUw8TOzbSZsHZwPepYN/f4rDgF1dHELeaZhmE2JcHOdPPD6rifqGZA54enC4wNqURbHJJFD8/xqkYN+gY16cyuvRgkMLNAMawJ/pXhsnlREfOFVxeNNwoZSkX1mpApppaBGz0hA+RYml6wowGAb7zJqR51AAWLwr0JVptNp1+Rh7qcL9RS65mook89q363UD7+k2BSNjxIVsecjkbApR1FtIyxs7FFXemtnTDQOOaavbId7uo/NrGNx3oaiXQg6WBq35F6qOnfBhR+4mfgPlWycPBKHuRXvhjWi85RvX5sTksePQVzlhI6VO6GWWMV66QGXAPWimn+Z1XX6WkhGl2OZjUfCZ06nhz1Gojga6ZVO/gBk3mqCMw66xbSyxonZSMHRzverJAxDzPUUJkoPAkpci6UP2h8ncYi0ENZ3mv9IaEAHZ8ZRgIB8xACqFnzW3qU2qMqCoVCnlq5qr+elj3or/OqWjKMb6NdwyXJlx+9Gcaiv8wtu7yAEy0y2iHfw5GSPgp6RXO1QYMEZUZGGrZa4Y1MdeOzKZRm8uFTKPcxQowV4E35ZoMHm+TF2NYhJLQiEPYqlOozbN1oKn/XEx+Oz3LLNOMwwAY0W3ADLS6pShbNBfstlajwKH9p4FffZo7ha6P85ZkpFoWN2EDSkpFVbsuWLcAmsWx1oNex6IvPfwtHchg0/lQghL0exA31u3c8uJV9SStun6noSC+omQyQ5I6MUaSFIP7CZUmd7XYMYsTF64IMWCraZyR6MwlhDuU4ZmamDeWTGSrGsD0xBDcmkDL75o3pCWl8G59pjEajdinKmOSzwepQwGc5J5hzTT3BZHzkYG320iaoZ54SF/MFozHhDes1h/VJb04IrOuJftJsGn2W48BWEDKMBaA7kOWxsT/OMkshF4HQ7EECZRV6KAdDWfCcrqg8vpsWuESps07CMNXpu8HV+PnJ4PCVseQjFTaprh+xyjJPSMJ6u/ZapdfJwHNpXNgPqxas1RjV4gKo5FAK/PGlxSyTDdqeYr7hJIosH7Me2ktdTSN7bFw8HbCIEK4O1jxfXhcrAs/Hup4XRV2+XM6/fvny7b7epPE611dNd+Rie6ox6+uo/lc00ZEJas5wudsZ7z2RA2V9vT5vy1VuqvW5ntbldbmclsfzcjzeVFJ24bClH7fHt9v9r8/HHz8+f//++Xgeb4/nnfPThbFnJUyazcJNkiqWHdJyZBOYEv/+XG/Lx7s6AP2qINVxLaM4ng6fyrVb78eXekOfzuvjeHi7XMgsRQg/7o+HT2Fa7uvt8/H+4/79++f399ufP25/fHv/49vH+2O9y60lOE8+IxtlDSz+D7CMnYq2ZKgr09Vfhz8Pw496V8LYyJM/UbqRpMHo/OjB/aFmYSyXZrN1EnybAbdvOwxsQzOLElx+2LuNP3B4sNh4DvdDNBS15xtopQCISIwA7sCbjdEvWG3OLSquFiiZTfA3F+wHDP3mkZB91miNCeYRnlwpO5eFmXchrMj3dnDJBPopbLuWjQrYXfUKCE6HhzL8heQft/W2vHQw7305X07roiZxPqH65cN31Pz5dVhOOpZMUtdsSRW5yXewqCM0YCfNcrs9brfb+8fH9/fPP/9+//Zxf7+vqjFITysq4pw/FFe8sou7cxtUgpqbtZCzSco1rZ2b9kmu1Sl7y/P1eTt9P3/5+uWXr2+/frn89svb47pez8v98/NyeROunJW+elheKgxenq4neN4XHV9iHSGenb5UpMCBRa6V1DvlP59Pb1dnPfuoYh8qLBYkFVlZJakCrtgdxWm3n23DWSORhbr3sTXireiWrUSURm7CjdM/JKCKjmCobpJ+B1R/EwTjp6ghhn7itHAJ1Ix4HHLEXqyFYuB8VZrlgbomSX9DvtjKEVuFK2QaLT9SDSiE4LGEYmQjoJE+jshakCXzKLEMFACuj2vGzBip2GUWpfKw2N4AK3OqWE7OTNxwkYBMvHNFuwoE2GJ9SU8e199AdDriHh4ctM6huIZTNAcNnGwWe5LagiishynHrM7H6K7GTd+tSpmqRpju7FF1P9Q2NwJGSUMoglZWjH0iWMQ2+A8o4ugnS4s1g6gaBiT2vAKNXY+esrYwvyTF+zoad1/OnNMwuma3g41Cfz0dV2U3UYjnZiTZfODGJsKZOYgMmMX5aFAmWhPR4BtcNOfQBWG/7dngiGdh7ZR1YWUw5FhGbbqeekYyrIkPs4PoOOEGxEjyKIMH5xRZG0VpJ+BEcBJVipWbJsro3uAcmB8U0TOsBdPyJxkl7HKJF9/hz3SrrI+gOwQQq9PE5PBGeqc9pZPVpuJmVPyy5skAiaTl+7KygTIZ97RqpEMPmtVWJhopDRp1axIjMqUmGrmdPBYa4+ygHPrs+rdwAC/C4UrZHjEDIlbphaNiNpsInW64UTXhxJxMWI7u+u8MCB/jwknnKOPgE3kH6lnjzivdUynEOt4EiDc9GEXHPlC8xgA5HN+7rSQmWsbC/ixC/FjzPy08SUdsDjp9ZFJqF4vwsDzVi2PhSJAdVxfiwSWRDZgNdLMNCNPnDS6kFZPw7C6v00SjMIBy8HOb/j1yeCXjARQYo7fITfkwPw6yXoh+B3bsFJYN5OPEoqn5LOMJj5vlNExsF4D7myQ3zW5VZiirmLYK3AU7Lhonhx/ORUM1uj7iJkt2NHK7vAwniT0KafFV8FuM+SABjXxOYjNzUsoZBTl5NKEqfBlQ2bo+lfLM8fH2PjJSVCitnZXpmTrotfUtLMkEpqNoqLjGxcvehHxoEDZGK0pH55S9hxsE0+CAEGs2CtNuvy924+05GTQWHzfhX76vAK5eApVht/hBBlcKZnJAVOmLDCV7baEVk66D54F+UITl5vckX2SG4VTMG6dRpWZQmwoFDH5XZM0ZICN+K+M2KjbeMkkdjKWfnWt4Xs/r+XV6rWoA64Tm1+ms4kQ1whENOPcBuac3h/Xkvs1WX3mepmt+OrnpL53AcHqs64d25367LV+v57er1FmPLNmpeNjreHu+/vzx8fv75x8ft78+7x/Lazm4hxaAcCRLwEikSPCmghemmcwI/7aY4ayP52O9rc/l4/a2rHfb9apWOrllwJcvX9xI0OhxOd7cqlqHw3mXl7tyS5fber+vn/fl/eP+/cft97+///F+//P9U9YvbVtQGnYxNBz7Bq6m3Y0KQobPV4ktBrdVwXxtFI5jvnIAHhBXNu3H+32Qmx0PuQQNoo0NAYTvbhrgKDXl+rCNTjjy0A8xkwlRVe7wsKb8dPiM0RlVGOzmyU8eIVK9WmbvBVFDyKZgg24zSWd6XkmkZlbCgz1gRU3uKTzHBITi/KyIiuze9srMGY4xAzSG2iWgMc4wJ2OBaMI9Gp6Hz8f6+Xh+3pb74/llVW/z60WnWS7rctYxP2pA4QrTh/xEMDRvtjmKT6X2kdQSwz6X6/643x+3j8+Pb+8ff3x7//ObDOD7KtqRgYqRlnRuzy22RSlWc3YKTUUDui0I3aVV2yaXzw1nDgc1r3u81Jb9/Hn79f3zX798/e3z8eX7h0shXuvleVlWcRLHpe6uJ7h9rrfb+qmUCiVxK3CpCdGswtlVKH0vddBSC/fn4awjf+Wyvl7UhUvtBvC4WSjjzRYTmRhLMLvuGzoFJpPM6GQKL4OMijP76bucdpeTGPIDYtfjixPtjA1jQQV0j1Fw/CijWSLTz7+1MH4uETZmEN2gODj4iqKL8yVcX9/N3BEiRVCUt2w0Vj3UEQXWv1sXq1AIUscMjAmX5ZTyczY7NpAB2zOZRrSYD+vMdtsqQTpiY9HshdPI1q4jLIMywCHD0n5MOCsddKMLedsWJ9U4Qe8s304eGAk2TJdMr5Qw2GSquckrU6jJrkmyd0abKlPMyS+ScZIfpx81cwwoSEdGwNNKj18ZzOMRVUqaFoP4OHsW7gS0pHRtPv1NkhuZvaHgYJSiaXwrCxvPXMvS0Sssil0kH3MGSm++UHAGv463xs7909mlCgRaomzvow680PFAtliz0ALX7IgHXBJAdGRap7Ex3sQ8naxHzoLvJHfWzdjg20A9Z5/h7Yr6lJ9CfaE/YyKwiGeFStl/SCKS3tHlsv/Jt8VOtsrl3RZyc7wrBwjRHArEgD+4Fro6HpPGW0FUMqIh4lTf+6itsAFWNynJJRalWDJlzruFwNHouzCdBCOo4+NMUUeoK6QFtaPfwyDcL9t5HSndieSEYTRJQ3NbvVRCMaSkoFE7UoVNksfRpAvLjQb5ZkABBfTmrG5sFlOMfniqjYRCcwgboz3YN4x0MIdpQqT+omJ8EL8qi+kFlcmwZQp+HsYb6Bk9HhqrUmCrk65aSFETDikKpdKQfs4WK/YzbjAAeHITBbo+9zo+T6ZTKs9yQUOUyyQ5BHvzQO8p+MfqJjSIvOlzC7CJwAQh/SAfjJaXIWk9g2K8jgh06jwFMJb9AaBbvSGG4SR+8lBXJsDdIPe2M7lomEYBi5wkmYodDh8xYXP442ZAAigOd+xKmAAC3wk8WgNJG+Bmk6CDIUqfqdELx0oGr1s49GsOfM4qyDEmA9bt44X/tqbCartQdi5jw2wgZXfhMxh9AZHRvncwxOhcQdMwC8FSDuVCTIJFRkGF7+SH0ANMsO0aFd7he8JWkvRF6whmJ5+xfe881/tgzx5Mi9qhORLJGOaRUSio8aj6nByHzTYhebFBGS/WD0DOtgWoaRDPWJkGBEn6jaGjV20KmYDkcyASg0Ibe4cjZIF+qHIKIdCkqLU/pLxaCv67CUMazHDAyuLyYidfOPlZwcvTyabvSZG040kRKyDydDLSQWV+uvP1upMXfjg9lN78PB9fb+fTVef0SoO9XC4veQyVIPq+rH++f/71efuxPm/Pw0M68NnlSFFdkV6OhGkuJjwabqdKAuVL3vaTItVO43z++PTJq7Js4/RaF3WftfBYKPrgkJfHc3HuyfHlU5tcX/n6+Lj/+PH54/327f321/fbXx+3H49ls369EWXVtSozlZBLOX//inQPex5xEx5oImXfvZv+eiOkbPLOUJ37UE0tr/GhIMrNv9j+dsqoUe0g28bJqzvOKwKCaW9IxduIlHxDfwTkPUxkrt7mCc2wmcPw83cuDfvqBD10ALtxVH1GhSjrDovOM7aH4SdgvlEu/Rbi9ZJx5MbjBpS43JS8o6U+WS9CqijdHOJlzmsazEXZ5Y6g356H1219vt8fPz4fv37c3n49nS/H+315uz/cbEb3UuWjE7flf5JdIY6mhunKdX4ti2a4PF7EUh+P1/p83B/vHxrzrx+3vz4f74/18Tq/VG8StR9eJ0k+iJjcr0LKtlTWN5EIgIDGEiuDTT89xQlkuzqndv3xeP71fvvty/svl9Pb+XXVeWP2icqBJm4Gp18XxYA/Ptcfn/cft8ciV7efZvFAa3SzUz2JFsI+X00qw/nsOPDleLnaH03VD/1mPG3UYqRovhIulUp2WkE2pnZaCC9rb5dyPiY0UM1q5J+5Jc4Q8dM55wxZUM01XzqCUSlF1/q0DGA7NpsrmJnjG1D0rAjg9wvGMkEozY0qKaC2QlnJ7rnaZRjFnXytzbQ21WRAgrmgagjPYg8JKA+Dm9vEycVRPTlqXotCFceIi40RnpW4GRogAyDLRkuBG2Klk2kW7kQ7VzhgrKcwscw+9F2Y7b08yUy0VUOhcpAi/DR7uEHSO19PcYDLVqZXa+QP+gXagBdCjzoeQAmhLk+OyGgRZQdhP143p7la/KcLIw/1nTWcMdV8FC2xPbaJGttMndk7s4MQdwA7INI7G8giIrWMiyCi1rrLZjOC5FQOhsF5g9yoIyAMCyXuFdlhBUFSNqEsshHZMCJDttjYAefAxTETWPpwuBTZYa5CEzbisWxLvg4OhPHHI4A2RZauH4pN7PLCcUbMmdg7sQlNjvj0StUcJDIRqehTe4o2OX0WFB18qX4r1cqlRuEdjBxtH+bjpwN8A5HJFB9NgTSHH/VS5wBD/WRIovJal0XNNYMxiwmRQjfp56ExZB6/Djpbwz0PY7JGO8hhaLZ8NvnI4sHaoCMlE0bhLZM7dFhx1023H+WwOMZ6PF+dwpQLEq5zF1NPVmqozp8v+zHkyiNsNnJYHlsS2YSK44AzGxP+6OwkKIkGj3Km0sbJVocDd4sKxHVmQQ7ysh+im2k4xB6m17fBkvb4vCjVLfdyvoketa6LcrNjYmpaiW2WtlP5FqnEf0IYcVhDdlEbHvA+IUekyI6PlApbYguOhUM1fb+GiB8EhAA6OxSmEYoWXmFCc/zvPKJDqD0E6MRPgZMmoJQSY1SRrsQCsfsUcnFhox0GKL5J8tXDCl0QjppCUM7nVcf/lDi8n3s6nRayI3S+tj1PrgRD7zQ2u7aWfck6Q+BJF4k0VfcmWpc1qCu89Fk7ZhwbS6DHFgg+q9w18JDcDX7WlZjc6bYfMKzAfJfbeCQx36dyohVBprIImnXDPYkFVs6GMsKUfLCJsY4JHTubI7qCJxOhl5YiFrtrPP0EsxEfbB8GoV1sOeQhZkn8JP2Ok5xMx1S0UO/BjqT0OowT5DOFUk2CUkAoIAymHKMNBSCo2e/BpazHC4pWSmWBk4+qjrdGy1xry53emmZNSRnjRTdQ8N9HZquy7nk+np/ny/V8Xq7X6/HwYWc/PEc2rfnwRcegKdDjBJbjYZE63EHN3pejsj1vr8PN3nJLYSctuxPu+SHfoSvrdcT8Y30qMrY8b8/n/al7F5npToHUCuzJgBy8BDffiCqAt8hagjIOMJI9FRv6Cukfb+vz8PE4/fE9WTyKAEttvd7vOuH0cvFUdJi2u+dL4Vjui5KfP1S6/PeP29/vt7/e738rLq0+RU5Zdk+WgNVoBkpjf+LlM/2G93F1tW4EcXdZPDCFTCwwnDYaQ+RCOc8YbyHIjXd7LHLerecbZEgZLvefirZBVNAt7ClPYNR5Yt9yaZwsqDC5tPw8Ew6vjjc/mF5I7G6DA24PCm4PFcO9w5P3K50X5kntuYAZ0EALE1uuBB6eqO4h8VgzksfBQQsn34Debz1Q2pmWyglRJacOubwHQnRXBTPur/X7ffny/vH1t/OXDyVByCV1uqnW5+larxQdiy4OV0vikw75VOYup7LKS7M+l+V2+3yoN/nnx0325PfP+1/vH39/3u6H01MJ1TTq1wQ4VzZtML0eUtSy7BJX1JPJxDGXNvCTpWw2o+/lVhWxqduBr3j9+XH/cv34+nb58qZzta/Xw+twPas9uzKJDmqTfrg9ltvj+e1T1PT986G+8sPuzDk0N6jWRHRxUxP9fz7oTAP97S7P5IUqhVBFwTSCzrHARk5Fjk1f6/N57nE+ieLWlYOBhEyr1a/3DQEVLKEpaHlrxRrs91Wwqao8tmpQJIaaDNt0mjdOkpk5jnnrOyXzaKFRrmipS/PLKkLe04yqC9kkyoUqsJqFl8RVF7Ehvf1zOhXX+cskE4U2jQa1pzwzhw78AAEAAElEQVQewbG5HELLvEGmpIXK83XyUYtk7Ecg6SlpJpJwLLeHWqvUp7jFM4fysUrS2rfMLiqikZLNsMpErRYtNqVvbywpiO74prpUyrNiXVQa1OJeVchfwVnVlO7ymKPRrLpvQRQn7ildLpW0RoTpYYwQJJwoPDAkLL/0O6XRzmo2ltqotrDy81JTDXtHSzKdgjFJ80RJICoQ2LG6iMjsKaKT3QsYUOybR4Vzo6b2lGUBdmu2CFaVp0dt6CptvGEjJ0SRMD3ZG7BWX0eMKhnLQTOkFuoxQJMeaOgkVF660Rylszk4D+ZjBj6dNisDR6ypbomD98WEgN6c84xN1DAaDSWrOBQXNi4w6XzQ12F5qNWCG5fg+wqKoWR6/DGqyRl0NmeqDlEDrACk4w4shj4ggeHxqFAN/Ce+RziSw40BEXvNg45nRYDRpNmsbDwb7DFkCxvYcXOyiVDuSNFEe42NiejzNFNnDzWFYMJroK1WzuMe0Ckv5iSjYoY4/CDYX6jS6uKYE7oHXbxZmwmXl2+S5lD9lWSg5GnQ9SrUPAxDs+Uv0AVwR7y7D5B4DTUuZp+ZJzn0SgZU9WajdjYg3cesopEE1kg9zIW08gLJZIbFlZBZwVt1IUmtZZdao91jRmpvHTRUl+2+9UK6EIUDj1uSNcBLEF3k3BoPnI0QhIn1kg2G5IIMbLbtnAzFzg5KNUU1d4XOjdk5A80YXSta5aybTErK9CgZxqINMmYWrD060QYQ2pUiXVNHjVMcN+F0zYHe6BOil481Uv1l6MJC2tp45CU2F2ssTsLFooQyvgzI0TNZsYFPH8gc/RdVFpbkQPHzeaD1WnAYSKaVYp8YCDdH6HlUpNGssRwQMORkMoxS821oINYpagrXEwqOFjDoFPypburnGtfdSiGk003E95Qnuv6ZI9NgGOxjyp5stqeaBR40+jYW+88vz8emb5KfwxtCS0y3Mw87cwjodVasB4c8no9q934kJw/TSMUTTaqC62qiUdAcqlzVD6XuPYgexLNVLBCfrmoKqKZWi/xAx5O4v/52GvT1cj2d7vRK5mQ91xJq0aujw+vrcF9elyvVkEZn9QJUB53H4Xh/He6vw8PHIC00+k4CvwZC3yJrZ1GLKufJ25QmuDOiEPqHByEQVyVG+mSXbDinEAtS0oSJVKj6QHugJz+ff/34FOTW19v5cpHN/3z7osOT1usi/DifZV5403TG8H25fy4f7+uPj8cf3z/+/P7x+4/374/19jysxPaZ0YQs8KNVAQlDhWmW7Dy7sG1jZthMlauq3SFBh/XD+aqW1oNhJIzqGXotHfn6sMdQsW+EB+dJvn1+3qhlOMKM+Y8XqN0tyZ1gVpbnpUZYB+2Gf+feIGPmjoLKNSUrRIqf0ydXiQsotxlFbUeZMEbZXuj6hzwRapkQ/+zGz3vPqzDPqPzMjEM7JiQ9WG7EXf3zyDLZXTwpHUS1VevhcD8cfiyP88dy/ut5vgiHZSEelvPxQY9AC8Lz66UTgnJUu0KtboS5Lk8fcPh8KBSsgOrt8flx+7g9vn/c/vj7/e+Puw7Xtclq9EseKsE04BxkAD+DG9nTqvLhTbyj2X0VAV/6eqoCzOdeqBvH67SeDp/P1+8/Pr9+OZ+V0H09HJ//4z++fv36dlSHRGn5Orv7vv74uP/94/OPH+9/vb9/rPdVx4pnAugWpntR4emgkO9ZrQMl2c/nl8ClXjmalb5RywLZvXF5h625cJlVtRNPcE0agqskEqHDjBhkQHkjJB1ECrIGFBYSVAlaTGDOITxAka37A6iORhy5GfsuUB4CMusY/CfNct8sBhIh887zpBsSma4gLKgbUjIkeQ/5VNd/xYlfhKwK5fsdu0u+VTY6Wqp9uu2AQz1eFLjqG8NM+LP577xSVp8gcdlVrgzJlejDMPo224iox2wjjwsQ6+maML7zzBQLirOXM40UDxlmZGUi46urREijauge+meikEDtJssEZtPjo/5FJhkS8piYuJ4AV8I6xCh8++pzvHGdEwZwS4jEUWJATngWVugxCuINL/WMMKiyJV4sHb2U7I8zBzJZ5maXZfFkd8JtpXCqGAnftCdjp4any0np3amGmsb/UKhymlta9JnrWrlhhE6v6DoExi8xUTHo4lUJhYZ+Rh0qicKHHDLFngo5Vo/zvQJHq1d1m/hzcCYkRvN5+wrInRqg6umrPI+yTkX97J3dV+mFBbwrabKDkSWzT0Fo1FGKG3MElL7WJjmVcuO/3I7dQsV2iB0XoGMmCbYYnhaKTZ2H5t2WOt6Ohr/8Kc1mMQ04My1mWKetv7Coo8ons177LQJ52vAzxudGAyhERUM2C1LX9UXTCSQ4Sy17EvaMryXwqslHkJND7ArIQKEG84A/YZI+RiA1jib7WPudQJ9dQMbduEbCeR2lZMBpOF79FD7PHKaBEUQchquEJ1rNUbo2biAYLtbaRqNuWqZDQ/nCOR6+WleKw6qdGlHTBPUtCeMMY5lRM00/pUu/6BAGD8D9wl4bdUNRcQKxSbAoyBw7dIM0o3giTd+N0ggwyT7wt84A4lkoHDAF4jp1FhoJy0wr/jYy2Z486VjZInJIPPiquK8cYMCU2JFBnKN3pUvZZs3gTK98vxALsvJtEViXnZTUahaMI70ny+VV6jEwfOKRaYSkFx+cZjmEOzaE1tgmdgKOwTKvkuzME/zXaPYlKQYJ/6zrHZHgidod6PbTgUbmOB41nb9tZEjaSYLMJHFwvF2KvlA7ppVUvCTeWHsIYPrqIk8TjJ2FBg/ojfDi/GbuWzV8ixXUNV7twdXQdJur5gE12d9EXro869KL6Qnl2K8hrNTl8NytTgZgVKwCNLQoTZaDaLOP4jBntbOC2h5pU6cD6FwODP2yr+Y0wvT19XrIhSyRcX+tPn7ccQ+3NFhfr/vz9XhJHX8cFNpd3ezAJTSRFt4VQrUICAVwwXxkm9nOTj/qje5LX8FlTYJeZvAO50fWm6Y/Ao6OyH6e/vpxO71O//r66+VwfqmEUsnY1y9un3M+L/bL6jC81+HxWD4+lh8fj7++f/754/M//37/8+P+KXDrWBaS5CHzupAr8+otDluJylfc9p6YmoPy5NgnCyF4tKmBG8fEzN4ri+kv3cvi80AYxFyuNIjZHOB2Umj9mVtRJnhc2dJXf/GbUfh++rkSFBLID2wk1JGfZknziDJZCn7CBPdVEb5oNE3r1dvo5Rn5BBBYIpCIssrXIcNQIklGG4LxFCb00wIH0BmGd7TkAAUJtUVYR4GzinJYdcaRvTyeo9wwt8fj99vpcHg7Xi+Hy3E9yQAW+Z3P62U5Hs/Xy+n8XNaHekAucvbosFWfTS1Mpwb4Qf+s1+22ukX5/f223FcVI4zRpiIJeZbACtAEvAUOTcEbpIs1t3mlXT5DGdL0bQu4UdVOboerWoPH8r//+v5UVvYvtBz/7bY+r19eZ1HIfX1+v9+//bgrT/vj/vd9uR+cFmOMgAI0KeVMH47PRXW/cmadzmS6nH2i2lmfYtd2q6Epp5umvlMdT6pj67NXRbVeJHiyg7PJyMbEHppwFZpA1uBSAodtDdH5l+KLXc44CgU3I2gxANLIR20LOH7JKFvtEZ05gr5UacYnTpK1+HvpvmTYMUdO5LDposCUdCpjc6DhTGLr2SirNIJFMkZNtfbSiewIMSo0KV0DK2sIhDEju4YQcIKHSrZgIEHm11PqXPiG6SsyODLOxid3mmZzL0s1ulaMGUm8R9O2NwoZxoMZSDRACNAHfU18Iqk6rjaVM6EB6uJLQjHUZ8lozuaWnxuJWDICypx54mksUfc6CdSbptxeSy5uvuhU1/CNsePsOZjs3xqwkdw+IMPXU5dru4uexg69yjEU3ZawRHWPJqQPvjlHFpyVtm9cHlWsTM7q1Mb8bBo4A8KIDNlFvFbHJc0L3qCMMneljp1stFVjP+KxySqP/aLkXBLYKnMqm0JwCIFYmLH9QpXhV4Sd6GHW9MBQh+34oLXH4LgNe5atxiTMq9+Xh6u4GnSJ+9IAiTWBPxqux+SAGd1RHbv+ST4WnOxWthpSs85ArLi4FNzSlGyzJo/MLPdSLu2VRZjVQsNpyBgOKJLe7FmkxxeGOukrT6Ulw3Lcj6c7LscMOB0/RHRjJ4VGNkB1OqtgmF2FYfbPH2OfQ6wAyYqoNPiYpJDrBiI6QgR/4LGkyOJ2SD1sHjUMEeW2wXbPh7if0xDTmq3d8AI4noJybX2AHAwlfRhmbsschg4+BcxGq1RC0kqKwxWggPJ+u97pjRkMAkvNdkszqX8IDkENg1ZBVT+fB8dINYfYOPRE+UZNqmDYaTAdhNZcgHYb3cRByhkG4S6aZ8U2TEUF9zZE+AVUja7gntUuIOWUdJhaklUS5HG9a5VRyHIYD4ahGanj4RZd9VaVdI3OolWfyUR5lCtQzDFJ41EnTAgv+RghAg0x5RH9Kc0bnVcw+FTWjrshboVInWkD0oxfEJ4Fe5HSymg3FVVmAy5M093/1HQ3/MziCoMySRt1PRzHcMZ1Rb6YLJg0fDLcLYc51AEniwVtAB0mWsch1GRNJZktnRqitbaUA8Gj4Vnzaug4mS00Q3Q/8VBgON0gbxiIYUrgOlAk5wCfqHcqvm0rOqv7iBgsoCVmeTrDsZVwDugteRjOlU+U3pHQ6VI2CXZZLJNWyYO9eM4Fi7zE4SWyFVumIDx6D3SZMn5ttWsfMGY06KLE44OyGZ/OhnAqjmJUOlR4faxqEytLWA0TpEG7m62FQGRpe2W1qzXOlMqNvBC9mMvwllKHZ8WEUHMdbctNfgy6yfF4ehg3/v5x+/P77bC+Hl/PX7+q8cLb7XS+qKusTkjSlsj7c3us39/v3z8ff6nr1cdft9uHUxfc8csHIUwIm60HESJo+RZJyGqKJah/o2pw6XweBTJf5gVGwPbK7xz9mNv4qzyvtwXxKos39hpOVG2D2Q1aRv5Fju9eW7hhe0gXUlzZzzyrF4bUI/FfhmQxHSejzV974GwiYTe1gr4v3vqviCADeZvSP85r3W6cxwYGuR64VmIHd3mSN8U8oQ8OGAhC40uLWYXHxPVBz9f5Jj/R4//8+fH1+nk6Xjip7fValsfp69c3taFbL2IH6kN4kcHkzsj28h0U+30s99vt9nlfluft/vy4Pf/+cf/2ud500Mn5mcMNCenEUkI6I38RdmSURX8pMHBGmkltojNAiC3HxxgcuMzQqF/H84/b43l7fz1ev7z99uWiEvzDZXkcdJjH43V4f7z+/Pb44/vyx4/l/fFarddZz1OODnThlniBp5QXPYGQCf0CfJybG4vmaB/xhW6z+Z4v8IE0Zo+cKoKSPVWmQffudRCoJBJ8Sclb5CDIgaggBTRSA1Y5LrAOSs0hLadVB6VL4XBDZyH3oKz/GQV/ChHhiNCvFwnk0aOC+MhCxFFKk2jWWEPXKb8ET031LJd1YljjkW9Na6xEsMA+QROfD/gLLgBAYO6jjwq+NJLUAVZAGP8DuQjlShsa+cfcPmphhbGng0u3DXnSEsLrrcmktg7yXeokPnpGMOJmxkWPQilIOy4EW2m8GxeBZ4e+PvYYxaRtyxRMd/cZl44t7Gi+I5+L3mDZawcKHJBzhL86Z1IIUTxAg0pub5CTltGLijT5tWbhVg7oof02baWQSCZ1fvU6t7Ad7gkDF03QEwZGgW3RZcyoKnxAjP5H2MF8FckC61OPFaOV1YyQRwQ37UR/8gRlE0xasc7AUhaHek7fLwqJPUmnkcfG6dM9iL0MeFYyZ85iK2olB5a7pMY7WqX4cBMGi2CxUXgKyy16yh7cUjuh4uixhd6UlFZ+oZ6l4FHpNPFDhj+b+jYR9HxdqhO6JgHbhEcEWmFYgmqSzoPRZIqzgoIfiCvXJSKt+2FMIV8d1pqmvnj5rVyaszhluFCe3YEDMLizoKW56ge8IwFRA2EkIEaQ13kANwkn9S/EecL6KvaN8hC8H2DIGybBIf63p9HVDXIq6DTONJkAGj1zdRbOJsWQgMWXxJEE7NxgJBmkHkLs1qEMHWu+qojPZDzFRMO903bFaNmQXdQiEyCOQ7qapXLAbWlsR0jZ9ymvngnYH1zM/eUOxgEg289Jm8APMuiDFAHtu40b3pel43GOGsS0Ef4Tp4iLopvcQnkYJQi5eUM2FcTJGB499e3lApuD018x53C7IEmOMrJdTjli1BMOLg6iwBRMkR2+VoO/4Ty/8Aef5hdjy88TcLDhabFLT6za2LTKwHlBxyyzI1AjwLSDRmsJTznocDOfR5/ZNnqP6QKf1T+esk74ConXpIsgIF2/RV+sldYuG98pQ4kxarrGL5EEnnbbBsL1qGRWY8zDNmZnmKRxDtiEKKjEAhutXwl9aYQNz6TO3GNaeqFX5a/2c6LYzKt1qSkZKm2zZwXR95ql4KLLhISHll7yxVAxwdwqNzgtsNqOGLCztD0p5R6fVpn7CThPkn4wMF26S06ci2YX+eGRxLNVkZ5mtq8vHaS0KGT1eihYJfCIQXi6Jo/ghynBympYWZQ9PN3mitNjBrhoO1OVHodarTmq5ab3iceiIktdhBxqfS3r79/e1bx2Pf3yOH+5KrL0pnJFZ82ajT4Ph9v6+v65/PVx//P755/viv2uyhhTYyHUyyR41aCq9Zs8EXBpSkDKhqJ8VLdA0BvYwS0gWUOz94V/hjCr+BQVuWT+MfrxY27drJewrmBd8bk+mWrZBjSoUezsFBgY5DC97RQ/ltoxO2AbAvkKrMGf5rbRVP7JtILWCA3k+/asMOaubmizUItNsulxCP3cG8c00V8MQjry7tZCIlYjKHhe+Nlb0OdGA4PfIbuBzEwO9kUNC7kqNiJO99f5j/fl+J9/PR7P+//41ypd8fzr83J4rufj4fO1XC7H4+NwWS5hqjq1QVNe1+f9/rjfHvf78n5b3m/3v3Rm2Mf3x7Iczjo91y0Eo+f4Tklk8XlXZvF/EQcR8zObC2XWxhkAe8PTIWFyO8kv1b7qrOPX4X19/b9/fxwvfy/L/1j/43r85aqA9ut0W59/3w6/fzz/97f7n7fn+3JSIX7NmsjZ2Gjm/FEigwduL+OEZ+Vq2IvnAwi2PS8OkKyDp6M9Cx0kqtvZa6Xv6WGRRJtdH0igP+TxpZEgMCwlImm7Nbga0t486dF/cn9YKsCGzoaz5XoK6NyrXr+k/WqZTKkKVVX+RhgodnM8ckw1pJoMteywGZPFO8GldO8gMY3pw3KbwZ+UKRgjR/6mI+NGgXqLypPlZOVdd3DNQdEcllETtNITmGDZmGaU1BoqZj+ymixl/A6Nzumby1UloNhyzniPsuobwBHdQukWQpA4UHUtazTe3/gh6v5wjiqw1QRoAjz7kEhWEydJl8svMaeDMtVjyaVNlqJjHjoKwfnXZ+YfE8ahOXQtp2X5HGfrKjaz3ZerO8hQfeucKCKctrDgP0MvbRUWb0KitdM3hKzsROYR6uisFSEeZKpUQyTwimQukKJrfLXNBriiIDm5ERskjV27TYOQ0bIdzIvNAi83ZjiUGM0pAs5kBBGjKIMGoCqQKVeEXqJOm2CzWYNvA5aEfHJaOARiD0P3AMt2MBTyh7z1S/Tb8Erehx5CiHH+c3/7WLEod4NSBBhEDkw8RHgHNkFVCfNt206o5ck0aMqMlxoIMwUkm76s1uivk/scKRqsAcAOnzA0K8AIKSWH3ocCYnp5lhiWuX2UCSYXZsA26ImpVuimwJegUaOJYawAGOg8GOPFpm1NaHWC+Mi94Tt9YAwkqJWEh2Fu2fDubqtEPAWsJF+S3ruGrkVB10IpbwZLggTIR/pz+GeVdTMmvTlfzuQMMymwNX/7m6BB0cmQ70pZxWBb6BV22WR4s5KAarNXOx6emIRMSa4IsQ8LCZtwtwOyhTljDdGVFNItJ86EVN/ebHfSKclaiN5pTloVEx9hhCvn9/JQjK6QkdM+B+m2My2wnHNdPCGYdSijrWYZMdWEZEkIYmlZgreg6VJjvEEfNvZcOQMra2ZgTVYf6Ui5u5mpoIQVXa+NR0PIFroenC1b3VkpMcy0ScuOauHWh7zK8LgkoOZP8noFPZ1AHLexoTYmb6ZTNQXkbupy1ALjMzIVW72kYbc9N5XDwo6Cr9n3iILmM/usk263S4ykD/IBgtfN7jrIReSHErZJlYoVRXvqkxVFwhtx4w1NfUivj48mF45LBohhAnT4IyZPZR1GMiSj/pcwZSuYNmJFFqRX3t2sdVEidDpOLqqbUavaVZ44ZH6THmI3RWTAkZFv2fpwuaAB/8C3MeSI0EM9oC6ZCHJtQGp86Ryg1azpsa5KKvUJSX9/3F6H12O9fD7OX99Ob6fT1XXDbJq8ycfjx+P5vjz/Vrrm7X3Rkb9qUZSe/eFa8CynBETZYz0VVIlMlbc07WKzb+P9MSmCeN6Ojc1sXA73VUBQdrxjgX0NTH/6Mv/2BtAzmvB8nYnm3srt/DS6SZW+LiF3zwP9A+6gbaRZBfeV0W6G/0+vjIn2HE5VP/6m5mSh4RgQvfWpzIHhuyjIJRtjwVJkM48wpe9UmIi3TNfzKUJyk8s7mAbSue0oN5TllAgLxy7EP1AC+Dyo5vzf7/fb48+P5XFff70vb6/X2/H5dj4crl9Oj7MOv12XB9a7nEce5vFYZQA/ltttvX2+3j8X9ZT6uH8+1uV4JeHfrUrNGgAxraR3ETOPFpbKGqnHYrLJNAVFvBKfkjubjgzgkjjCjjqxzPshrr78P3/8WNbj+/318d9Pv17fjof1vj5//3z8+3394/P5YzneFE3w0YyMCWgk6cwX61r00yk1vLobWGB8Pl3M/eJTtA6DYpYujrVGQB8pFd5qdj/atgfn+N/Z5VxF9Wbowc+cjc6WB0GLIkUnRuqCaIpmPbASk/qdwDGyeBMl6LJwohBWtEBjafR1S2pJPfWMWNeFPoVtF6KREsTJ0kr3xnpMGj5X26REEFUBZ31WbsBCtvrLwa6EhX6K1mYZscCJZ8Jk3BkhI8E8/qE9ItCSXloJGuMwXCd418clVBMsBOipD+ODL5nzGqePDDNMy24z5FpHZiACHIuKf4jv4/RgK+wnS+gqznOruGnPyZySs55vYvAH5H5YOj/r/VybVLE6aLD6WLV9Y0TCsGkhgm2m6WvFDpdNO+TPzlmFy8u6RwyipP2w2ByEaS6TMyngYpvp2NrYzN/ueNA9ZybF/WRu2fUimpOAENMocSNiKNS3w23CdpmSUQmSGjUM2goKFZ7ab4r1xlIgmc7UQkSTOHqq9YL+uxkO7gDx/spzHDh01lfIioOFKdK2QhKXN2JiO+oJ3RPV1N3E8iCobf9QLiA1QHsRjfIk7eJ1uEBdzA0+Hg8QXKrLTkC/Is9u16TjBsUnchijL4Xz2iN76+VcSXPmcjR8FaWiwCrqQ4HpSQO2ppV7PuiMvh+7t6AFEcIucKMGCkqUyqYik+nstXeiY4fMSrsNoLKnjTduAMVoKGrw4lFvqKI04rsWX8P2+EFWlZ0C8mYn1dCaAo3q6BjnqDbm11BI/Grmy2HMBrm1JD4WfJG4Y7Gb3XjC8Dv2sTgwGxEsCHmGx9WgGW5f/yKA0q8kUmhZq8//9MwtlNJZN8TmR8Va8QkGtKnAo085ZRy0FJUPWy7N2vBIo2ukW+DvFuZwSd0TNBg3B7LHPAgnWQSzNZiX47GT9eq5A22FW621JFVzZHDXG28fc1MxSKswoYJAAuM8SOry14s9juZWJMoiYLRIynpf6i4ujFWPZfgduZp6OM3x7bs/6RQ3h8hwNtmdD3iShOMxzVyeKgzDEe6nh/RodOx7gvwyrTGLUJ+IWCDZk9hvAx7fFiu04mqvdtLkjHLI0wgNdhIyxnZNMQXqjPci3A4aASYQABoeBWAwfXiIex6oVMnKBycOgXrmrewCXuYZmhiz8Q+Sq4HvQ6WjQERK7eLldnlr4lPnbISBazv6baihqcT4lQfqAlTNQs8+oDqGmgOqmvmqOIEcWU+1NQTvBVz3+ZANTEXw6hMkQUMoMXxkWJNhGTMndF3FZISpwR/xwzXw5dfzeBEGM39ktWFPnFm7//DxDItPjVSrrcfjoQTtt4/7+Ze3y5fL5e1CW1lI43Bfn5/L8/t9+XZb3u868ndRXWEoKTxqk5p9scXh6WBApWzEf6PZPpMGl7pvjAMwXJVs+Vh8UcXKh3t8Ah83Ut1NYoNVBNf8GsgOYMtPGXCuBYTZna6gjHSM8GEsP8+Dq0Gd/WP3n/gtSx6Wz1s8Bf4wo+7VneLQrAH+g7zrCiExo2PG7pjsX4llPx3+HXj1Pt55rpUk/ADv3V+V4fiCCQSZEYex5GcHVUD/fK33df3r+2O93+6/vp6/KJNYbj4di7gYL0GVJC4ejosuXZRVcXt+3p5/ff/4/a/375+P5XVerYgLw71ByWYLZ/eqwHATGxu+QcM8wU8ADpF3NonMZPSX6R0Nr4aV20apaoD+es7COH481/98v92Wv348nr99+XI6HG7L8+/74z9/fP59X2+SDxcVDplZg3uqdrapEB7GfCRPzzKr5WCFUWnOpETBlwG460fEpJ7H1zoBlSbQoq1GdkzohismlwoRmZXqisCIT74arIOZQ4PA0pqnkzxD/kGIHBoUXPDUw/uAbMA/KMVodNg2WDz1qRUsqmHDgJQX1bhpzpSs6ryBEjjUScpo0DUWJ1CEsVgtwmFde3vi54zcg1jhPhwEyVSivrELjJvczpwVbLsyQjFALcXravRgmEiiMO7M5NMzqnomkMWTDCVbC6SGz5YoWZkcCdbuq/F3b+5UZ0Vyl7qHNk2ISGF8x6is9JHuvuOEivQhuT5UlAAHDx0OAMylVeyQJ1lhp/PqZMyXah7izU+yKIpl/QgB8dbYspFzRywjQSP2dq4HK9VjCU9Gp7u/2RenxAF5ArogCqJ0g6rNrGJdfLg2z2ogyWIrLhsXd4A2HsR/gFLYL3bVpTFlaWsu1wJNBD0fMZm078CzSXIarl4q5mDgUu7HA9NKhpxEu/sBPhoF1Q+l4T4j5LR6pqrLcFerxMahFNpEgcogbT0eaKXiMB5OoTqkCFSci2EZfiZFEBxgJ3IgCzrBLUJdaO/R5EAY921SodjxeNSBL9ZRqQEOYZgI2EcH8VCBd7KaS2pSGsrO5wjTRIFM9mP1LVDMFBJI1RUUXg/hhIUF15rHC8BGTYE7VkuLrAWBwyOwA1+vs5vGbPWWZGtjhRLERtPAg4TmFGyixgPPt1MlN6lvAUcgh3kmA9trjaMaLmHlHdQBJt6j3GSCB6+zNgxa6C070nRx+8Lc2tvrZ0Nrx5ZNQkRhG0zAoOOWUg5xS7UlJDmE8cw9tiCd4ZBwdB5FBhqCJowepl1nle/V2YTIuZBG3CIcrF2+Eznlceh2lq8i32xM2NCCIRAYhCsxhzmayxwylhXwgdRd+4HfGrQG1/0A5JZDZYF3Au/eoRzkmz2YuSGo2u7CzMi7hqsYZ3MyafMgTy6ci4/iMZVpES1RwGEL5S+5QLM7q8EnbuN0G/XqzvJdvZ76TS0cqNQNmaiFVyQrEWljAJT1k3LgD05VNkP0K/jnWq8e8ZJwc0DRzfPUZyAoJfXybRQBLFoh5s1HCo5+DNLmgPi2+thUGfRD0G+ANZIy0pQv2hmbIU1s9fGAP+xyGTixXHMdBFh2Sbpg1FEEkyCk6Hsd3ulnWG6pqboPH3dAiHHgeOxq/KczuVi+riTjPlt8cSFMDY+DwLCf0UXcZVSfOFpZdq/f4P0iIyC1HsUrsOhn1s1+bFhd5hn+5hs2RkGRHdptYgDsTFaZTmdwmwVXi7msjPLPx+ey3tbX18vh7Xq6XtW3w5XAz9t9+VzWbz706NPd5EInCHgbI+blnAFDsG1TUiEmlhAsDNOCeRQHjKQ793OQAWUr5E1AB7aEtAulhNgqm4pYGanWsyFX27lEyw/hmrkE8GdXtonGbvSP2+W5l73vPo7CHQLZuMRPUytdMe8+Ntd5Ht5uRjE2Z8CsIVIj8+zVu8eHKndPRyXP+nbEup/TCG+zom3XYiz1scVJtIuyCJabW/PgbpkjkiSJAC41ODBFyM/2tLt5va2P9cfj8XDLZ3GZX66n5bKel+V61Ym6THkxKi+P9XFfPu/L+8fr++fz7x+ff/74+HSZvfu3EY0ecAVvE/RuqLrbU3wEq7OkLLT2DKKitQSH5+niI+BR200XcDi3vkOlPL8u5x/L87bef6x/f7kqwWJ5Hn481m/L+rEcdaiROtdL2BA9hmOjgMgHp6PpmYtUFI48YivP57O0c7Uz0Gay2aBOz8LMdkiFGMlSEZaVxXBw6o35WG18aywTld74PLua7Ya+dhicDUqy6YbWQaoIu+lq2dy38fTEp894BnPzmCJNgtDmt/B9idYYTq5Cr/BjtvFaGIXhVT2LVY9MOgD+8cCohAG+G/JJOUBfgh4rZev6CTFFUhnt9H+UNhCuArHKWWrQfF5jdwU7hK7+27gWi0ix2NVQPGYXRg+Szr8BY9YclqQDCTxb+7mp8LIUtu/JgIo9j3+XOpyKzcwKwPfbGqsuMzecNM9Y44YBjX6Cz1XuyfbHUG+EfNrKACRL7bLD5CyQAGgBt+bUnwDInWV8vBmmbFJifUYN7AsL1efrertjffFEnfZ0xsd9VLaz9VGmXVlnMQ7qbozaSoGTHDH9UX3JEw6ZUP62MVmyBqKQwDIdLTvrhNAhYcjJISTWhxgLhoRLlSMVRaBS99CtbQiQd/TirFISPSy+d3m+iOpUiaJUxT0Sso9h7LGT8pCHeFG4igDvSKNMyt2UmkhCGgdw4ZRTLksPJpcxu3hesHPSn1St00kHJq3PVW3TQkZIuFaFWat3nxM3MYa/qNic6t9IRMJKqiZkI3GegYvxdU22rWEgK8mOV8MRdEJ6ZoGN3kYpqPDwT96eSaWI9bIJ5ihGgNvoC12ZfeL1JGdTqf9YpWTpwk/KkWcmxrr4RRDwBr2FRSIvkehhpHAhb7V5UErJYTmDo7Uqc7mpVgPEGYJWEuwxoLDfWFrRoGiKVu1GP0VnLB+4cxy7QlefqFVDEIWiRfanixOk7HiJrot08RObn2VFGQRNHNtb4Du4MusyQBsvq0siM04v3XA8lBg/kaK+6U84Zfpyu5fwAkBDFrD6vLXSgsUPkZwc+2nSwiEkHpeKHfXNy1OTR2R5gFISAiVmCLdILxCkuPP5ObAeld0EolNhUvQBxTJhPGLSHuL9CSfnKCv6e9FbrvKR0fTWhxyHd/n8tJOz7yxzQQ+DXPt3iWPVVdzKS9U8AZGvrDEfMQPDIA3eCKhpe5swRD0s3cVCXnHO+FzNCq2K3WkuYvw04yD4rLJXN+2o0xTXb7zRBDRxQ4ThDosDSU1G9EtBU2S2Wo2TjTmeyljCkEXaUKzR2zmEpc5suYGByzbkPs08iXeYQyV/JfYSLLH2eob3qYNBqqzdgiv6g6Hp9oFCN+FsUmNgHCEXwd5pwjrSxP0Fnufz0b230CDI9HE82//pSKHqXn6PvxkpZQyMNukn4HaB2CLo+LWMoNAPpoNZQn5gXRdSgBEWxHO5c5W8P9vvopWvx9fn67Wsr/t9/Vhfb+v5yqGkQmB1wHq/3W/r8y6vHtVw/l/zVN5mAASDwnOMD37WVOW2mgR8oPYzzITlsqYdUoVlg7qVHPw8EIISITyQvFjD0xk3M9ht5jZQnhn+MQ/jpj2Sh7/31p8GrimQnpk//QwTySS37zs5rGd/X7hF8+7VuT62ZZfRqWaOvqwAi8A3bnSK+QeHV6fW5XttIa4N6ZiktwkhwozjgcvsPM9MuPTiNzkEcdbp25wrWXafMWQGo7GoAv/xWv/+0EPW4/p4/bdfr9fr4XparxeioU5s9mlhz4eK6lX9ez98+1j/fL8rfCzD1EwGhEEFJxMYsLpTBCugFWwUhm2/ZrPLgvwflIrLyb5g5LQVObiyyyNTlwi3N7Tvzpb6fNwvqgzS5G/P4+N1XM+KlJ4PqxjmglFlozRn+8In3bR5OJYyhnzSr21lumagNPgL+6ENc+wUNjbC0eWWk36FNpKrPUhWWSJgU1E9N/yEOPhvNNQcW5KYcQv8gkcWXL69XkUxxGaRbKpC3VgJ+lUFstsR0qOcUoBCQrEKJkY6dynU2zZ+DP7xKM8llXetyBpOjJ1s68t5rTnb1sVkEcfsK9MmTaYPrK4ImwvRzWmR3SD/X0halay7wajlrpMmB8uLpGHBMO35nQVm0v4FQ3R96mynKOpecvwa/k9n9Vm30f9RAARJB2B1h/tSxzG9iRhEavISqgxHdmcRrE5/2bHFrXG+WKskOBQeE0FsgKmTenawK7HWsZMRgDOp2m1jljNBoinZVU0ZqiHr/qPoWaZQ2VTIQgNWO2Jlh0J4I72Ts+iFzXNN3NVA6tkORocWu/75uxwWxpZgRhpDFHtn55XHcR4N2cg8Og+VAoDFT4WLFouzikHcsDVvrc9tzkj218eJQMlevBTbOvC/bK4sVPFE/tvDhd/iL2h4sjoaO20F11UXqD48gBHhL+5XuKTWsqHFcAYaT/j6kINat1giHE/X40XpfqZD6sXkqBjvhRFSNNWIrr+sR3aSB4DcZIeW7RQYiRo5v0Z00q02BpNBGihCxklCiGjMT6gMXXw0WxMunJKfsou+3Aq8N6kuNPbeOEfZL9mNiWkZWWL3MjAE793cKzrDz/VtEkyBlvcNAVFFKNtbtcmcyCRAyhBXKiJ/kV8o9J7YYPkBwTiQ0k9gIBZcVg2bnDfb40dDQAwjeOJWabzooiaYUrIbv5U6ojpbZ+1688KIymSUBWMIk+dZ1hb7Ft64OR3SC0j2j11ldfZ3zCKSLlKGqn0lG9wBUsrxEwL1GryeRr9p6yVdXQ3fQzngYqRgntJ9sSajiTmXGDewDMswyKJNoov5AJck6cLb2sWCnmkCTYgfzgixkE6zPb3sB8Tevj8+1wWGn60zJeEkwJGJ6Rg3rH1yTCbjhKs3hdspu4G0Exh49J7hBVeaLsHfxM+VN06wfTdH7qUxmw0fysB0AedpGdpiD+6eZekIPUYX2na/4nnmUsB0r+ADI5Yo6w1/MU5HbEO5m6036J/HhT/EM+JL8RlbZUjQJoxDt8Y50kKCzB2W7fsML3OABJD1VcvdNRuZx0phPNklbqQQTrv7xWpeC7Dp4Idz2yeT2YEYLulsTNnL8BevcvOmwrfNP9j2OAXgB7N+oDG5iuNgGAdWWGogGzAAfb4xdRhNgOtqWJHcbQcosr18R3Y4XMlKiChqWV+P1+G2Pi/r4bIcdGKpNVH1sl2P91UnHldzMpXBBPzA5mB68p4bswpT2wR68SYOqgoM/QVR2KAvFm8MoehXNl/2ypaPMOr44aUhoX++AiLG/skUnit+4gPbe+C7uzd4zdZHImwD5R84xTY0K+3PiDFSgnMxC2OSnQOMPWr0xnSzQgTLqP4diG/n31G2Oj3gtONuISR0IZ7Q5w0P6tICxiyE8ftTUBhtP6g7h7uXeacnUywCqiectKqTg5+Hf39/PJe/1lUp97++vS7H5e18OLutiUyFw3lZD8vjtTyP78vzr4/nH+/3vz5un4uigRzmjdJZSOKy3c1qA4IdrobSHpFn20bnIJEq1ljD2KZna2uYy2n7H2Sw10ucUeGL1/FutvFyiyylXzoUSY/OoHfybnQZbGy4soWns5Y42FhN6FDuLXkzWeiR9Ja6F0KnYMtP6F80DMptjm9fipmRCqzZW3bQ5z4DptBxhbjVNAAXPtxA1vAyQw+PKhgArFlAkERvcxaAv5WQSviEXfAdOZHecsO3lOYHA6MPBc/BTqYakOSCQoDbfHl4fFfpoWOD2r8MxSUvAOeODyoqjqMOkhrnWqJ6Re3OJiaRLrIRyhiKWAK7Y4fCW/wckpGTsBQIdtVRAAsBv50+HfLS2rNprLU2MHuHwxb3ZSGY7TgruGo0b06oxSLGS5z4lj6kHYW1u6qOtEgHiH17SCm9sq35J4aMxmluE5IbxAoThHdtdOsfLHjp/lUQOPdQv9ORI9p2KUlNQNSF1NOyYB4m5lx1T6fKRmNbObar5mD6GDvwczy8FpUUuX1xt5HbEQ9BhHGOBJkHxpMZypLDNfiXNeov939KqreupzVYDAseZfDFuQm1CPHiQIaDnKkfTUgyuMEEiJT79N3SoSkoaOfxt6N6O39wz73K5IozzOyeYmFDVpTGoapkV/3TJkkdsPH5r1m9QeViSbHHXKIsoZcjwAapN6bmrv/k3FHEloL5BHDMI6zmcpSnfSXpRp2pop8G00hISF8HFskjZmbZnWS7RXPj17FWt022qZP2rdkbQ5MggG0810gU7XN8eDq7NoyjZ63rQkQKJ6uO2/VyTZBVPtEuCaOVG2Brob/Zk+S60I2ejEA+Ei2M0pCIaDb2EEHZMZtAboMPTkHQtGUkPB/sHB5QVaYNutNZqgjNk0NMOFXnidZ0PMMhGTAZfQKfiq2uCps4n8wudF5NPMbON/fhyMCWjU4EPiuKNFW5Kffbt82uGYcixsQW1Y+aw/TGQvMW+tgAO3XtSTlKqNgmhDtfzme4J/5FJGhijMxI5xjSLanG+cZp2MzOtdQEbEDtaVMB78UVCpwtUCm8KEDEA+CoZLQqxzbU0brKZUV1iVRLX8rKVKdjqMe4+UowmsMqmo9tZcUAxP2GRPSkSXAoBnJz/sz6oMRwljhykTsgkutTEQmObmg7XP8TRhQdNKkEcTZ1pFBEuALCyM/MbvqC8eifFZDZ0Dy4l8DIy6dlQSvqcGPvkM8xLn9PaipNCP10L9zbZF9ca/KZjCaGie7TFyKpLWgBSSqANgbK4SCbSzuzgZz1bypdgZ4JMJ+YYFQcXoloeAS8kbgUtXdxb5Oim+0UWdj3HOdlQZq5dr07S7LL3JFfpjKyivkPJw6jJ5ily/CyDN8r5XfOcI+AVBdS2iFnt+WJmOlL1ZMnuWzivtERx8pRONEqNE8KADrNcK2CP/wG9xMTrqTZftZ3zb3smisywy31EnArEGK/FzaFkzc2CyWRpSNtDy1zwIIc9MtIVcyTFvn/8wLG+8eDHxP3qaiJ6wppH2WCeZdQ5v7o8j8Rmrco8+2MQ37RiEyDQLTcwjfG8sHKzTYZP3JX1sGvwYBOpRAyN8oPVVHgzYXgtqTexQADt+BzYsQ7t+ZwyY5rnw+/AjA0Dtt2y+H447E+18f6+uvz8fxfv11/eTt8ub4ux+fpdbfZcFqep8dyvD8PP+7Lv388/s/3j2+fy0NxHwmLVFiWrghuzJZ5b8iR7jpgiKwx+6cfWUfqLuGUmO6sB8aojg6G/4ZpNETNoinNMgGKbT2l+SPdFX9afLbHJeeR6tE+RTCBOXO5BBTd8IkkLJQN3tRvlKqu+mRKB+z4fN7M2c5wsHLYj+6STp9X3DPeHwSKmmuUyaSepQVhwDrcNrubgFWnYATZl1MNBZrOKzjwzjsz0Xcm8RL6rV+VnypB2RFF9Gh5ExDUVBPTtmTCpZr54q51DxLtiJNICXTJeR3NvqsZuG3UYE0Blgiy+Xsk/lb4BujwJnThyC/YpY62J4/JR7lC09beWUUUl0FQNjrS05jQoUPLEwOLsU1PlmEIW2/FGLFVNOPWFBw6PVLeMMgJlljUuzSPFGAmBo+r4aS436psI9c+mR+VLfTg2bKSsDg0KMIAASdBRTLV4k7yg/T06EtYHYxFlMWDgVDkDeS4FJBRZvdsJuyX6dnRLVOMXZ4L8ncpJbEEE+DzMMf8osEyt1gihsXYqFb8YoCEDYL8tt1IFAQrsHWBAs5r63KhUNwKwUGH66o82+VgpTQVBkTbKdbNzMOI7JczLSon24h0Pp+lqeUMXLQFU3Vx/9K+s1HG0kzb8ybiL6+NTTlzWRQfNR01HLg0HdEcN8hCRlTXKVY4RY2OreQVuwZ45DANS2u2NBEfjN+EKEaPg1FJxe6skbf6j1ThqtRwltAaMYxILsPdwSV+39x9PAKQlkmplLnCkNV6Wmm87gH0N5FeciD1vZlXqjThx7rM6OPs+ti6gV7R0s8sXOJDYSfiDNugHE7vCFAUUnc/CmfpQD8pnSA0P3jSUUvMNMto2P1Nl+Pmko/HNDMKEwiJxLKuX5klGf2JqUYSAS5jDwZ2zP5oXTygzwWSkQc80vsI56SBHvGp1MNEIDiMaUYJ91T0u13Bf1ZBc8DJPAimQepOPmJXJKpspqEcFXn5NcCEapGyQfswHACboJD8567NOPt832GxwVhDLzuep/nca6KRZJwGNCnjsUkWTROdq8oX6k5gRm4smo5S6dT6sTFHbzSqRzUrA1RJbgQccZsFEjozrMjj1clMLmnEpwgZo+fAVWn24IxWEbUKiCPlUAUMoGj1dmCCNUn7iRYePYmoc4or8ASoVczrdb243GBM7eK8N8V0PVueHaneYI0BGgwCQ/kxUNtt1ZCNksENwCFnAIVyI7odrs7Jg9bpwjVcmsvL/Fff7EsQYdtByJQSxIkO/7DF21A8qENmBIp46HP+ZUEQHQqMc6XWp5wgJOig9TorXuXfysqwGMvUweuQMy9Wo4fgQmIN3DBP97cmat350zWeEhiZAb2v05ls2NWowOxs8p+Dt9aa/QSkf/mhZrTo8/PkMg59f5KFHB9VEC9jo3RmWOAVZTmXOavf0wqdeQ3cnhdLhV2SCO1Zm711CQOSZHDhwPrJovRVZIQwdLlUn/UT6w5UB6v9NXjO1P/5Y+6bcQr8ft31F/8yRX0HMswsN0qqNsttP48X4uYtH/vIna4w4K+jo4DiB79zi5p50swcppThdw+Kcj+/ZPzZil4YGv4J24IKFbj5GYd87xw+iTDBmVmu25NCOKdcIc719fi+vN/+/uu3t//5H2+/vr2up6cP/DmtOoDxfFsOt+X1/bb8/uP2+8ftQ9yZJikesvswMovoRxhieq+cns9FMYYIA88k5BBFjKWEXHyRMV/e0WgOcCSQVFfAuwyYIX9WKv7N3Fz22Yhf7kP9tW4UPoZRRhqLPdX+nhYbPbotT2KuiGLdSWlS99R66J43MZ3tE19FNw3sIpc1Ko7joEF1qsEJF9D4x2HCOxoM9+wjo5CU35dFcuU2ubmwjsJtUNts8ZJ7D935trdYy6FBVYRgdArrBhWRUwVgWoMumDftZ2F3qJt99kZBicMaSHJ3V9VJilmZfImLRp7ZVOh5bBJ8ARzXXL1aVvekSwV00RsLcgRrrgRSWx4oMq6gCykS3uiQHSZtLrPrXVepW1rHrmTB/dgKZpaP+gFijH5IZxYL/pCCDwjwVa5khIJSZoW8tk+IMBPcLIYDjA4HQ9NI5CGXNhA+Ug+QoYtkwIqatQepbEH4EMryad3p2IzTOHQZkfmSrsLyQXyGCroEl0SHhRlw9fka2MbUNucQr3+iIiQf9duEX3Lrk4KCoHFd/rIIxOL0ldsmReiTKYvuWqShbQPwa30x6oSvT3G1fyfqnaz70ifuh8INzI8eT8DSPh+MzYSlB3LBQClMUlq9arR3NxooulQZBHFCO7p6TujQJ6tYJM6rC/To4kF3UGbjuPonMy4m+ayR6LOhKwRV9i1etxTYwECgh5r4rIy7wlKhisGu7l+wBensLuGx66AYG9txPfqYVqv6ZIZ4Pu1F7XRNj+NUT0Ecrdf9b2s5DOcKUwvo4Y/uqavBsiW7wIU9iBXwdmrVOY4W5w2rvs2ESes3lebh0DaEBHyYfzgRU4J8toh6Ae5cizQEahIhOwhT4IBW/DQk2SJ42e5MDUdCdj+7g9fQ5c/hp5YJhompjNyzprt4zd2xjBbUI3QP5GVQmhvGiQcw2H4dherJE7KDvJMLQctCj8r5t85rcFmRKohgH0YNJMMoyzSrgq0H0NnWlIOOwkoFO/Mo8aUWyi+4jHciYYYQj81vau4TsY13Sn+Hor2oRPG83LOShom0qBGoAUmSs/6jYIPIs849t8Xl258nH+IzrRpAX4uyKvqIMl0DFGGyUI1d1yBzvNetjXm5uKIKMP0DIH0Tu91homsBjV6LTjlIMoZLrKmBSG4M+ByX+aatIg7s+AtSJwMtZ82PmyAmrNaM/oDVzUm5XszEoVOpQn8OPNZA/nSOFA8XbLCo8gP2Df7BLTZXYNrde/b8Sl0yXI7KHO0X1ngceX6QF5gh0UJBIJXq+Rzj00mV3hDi8YLwQz6M/uwTFGCS+FjqmqsW6I2JR7wM2FiAT2rjqMFu4KDBW+ZUHsKYLrPMEHBq3ddwbcjfZZaaB3OC+0XpINoLT4hmEKXK/DA7DYuOte0ZYKjy5JGaw0vCWnDhRzjwRdQIhoAl7UtMty0AQxrlgMdWRRjZpbfpPeb5V2L3T4Gcm7eftxesl2X2l5+uqFDPfz+/smPAyp8CnNxZO4H98O7xDtyYCc/eYyjytZf60yNzVE0u3P1n1cJX/GTAe8ozQDY4v89FvlCLjDM0d4YZ7ywdvjdSoXb2migMUfNzuwFq3PMuZI/MB2TLMQdoKMAAAXwWt45Oet1Vhf58fNw/D8/frsfrSWeMPZX4fF6fp9tyuC/PH7fl2335/njdbSTuVMkBYrbBitV+3SEYN6Ew5DoL1p1+BB5wvLo176Xpvpzg43X7NDinEA2W4Wl0job1OX8vUOTUgFhB1lOJ5IaVhZfGVI+ZTITypPN+1Bxbz/MZFnF2SlUAM3h1gc5Xmr5EsAJ7wK0ZBjuEe3jhs2cIcJMpWgrmGpiGqsPNYeVWWpJCKQOy1IaEgqX4cxI0YFDEyrId9bxEGwitAKsouTvpDL4G8dU/yCUzs3NMtuwiqGhVIy2OYwpAN2FP6L6qcIkJh0wBTTbVkabQmWmiWwwTIu5EInFQPEtAQFjKmaTnUsW7KFpTH+ixY5mwEcJzHjlSlcHOcdztGP6bM7DI4GO9NvLUPrmGbkMZPTr+cdiULuMMJ3q8jWYebl7QdUqlDGicNm4eqNJfAKb0TE2qn+tFJ3X7v3SACo55IJvHGAVR5qMtqPoJKf98Lo5CMwWECOKnzNT7UnUKDYeOpIUE7MCyzSnZhQ6ghzZyZF/d5f5gyC4qMyR4YL0OBR1xGnCgCw9LyC4lNorATlWWHuVKo83OgtUG27P1zvONNNmgXdzYtiepIWYMDTLlFjQwZ7Vo/9Qu3nsZit+Nmfn7ZYfd8HCgGlz13VFocr0pBE+HNiilVmntRsKzz6jTbtIYLK37so8+LdQxD3UTpI+VUcONEJlFpmV1itWjryJgjWg0GWJTo9f1NLZAb7QZ3JmbOQL+B4vMXd1MQql9q6Dmo0GiToHBE9QNCANtdtoEpunEP2LzZF2WlojEQwbiY2zAIm3wGP+qfcAcMB0hVVwJ3bpg/Pzg29w9y5f35K6dlhAEHZqBx0dfxcO42VHwnXKYLK9mITpAMRiGvukfiDTfZiJDo5XYjFG0Kia3CbGsfxA7sgtm0/dspijDiUnUbCPaUWGy4X12M0XjGVFSqp8T73LsHdhqdJ1QCohSDSsNDvSd6pvUIMpF5EymzSvADgqkEpq0yxTyRgxPWnK3I9ucVYZi032qOAy49SsHAkUvpktKchAwLtkRUwGSCd4EzpTO2cTN2rfLfMIFKMA4H4vTo6OGBdDwEINTxOfqgBwlHXuW7rh01uThhUzg5qcWdwPqnlEBdXUPglhDrHp0+7eHc0YRbtu91FTA+EgJ01OUhd7+cB6IsVvOGo7PkaL6Y77iI4tez2VRObSbtfBjyEFdQ4LHsXmZQM9CzFVWbroXnlis0KDohhLh/rttQmBkBMAHD6UkniUj/2TAuk1qa8jEgdQsereBsbHSx8h5lJKzkHDlCT5EF/zB2VsJ5sVIepLcHvyAF4eLbKwmBLLD9iwPiRLRneuj7OWqKF5AIiQDhyNSrqfFIw+wh7XZYo+alqrdVnu5XMqiP5yqo87d3rpazL5FUWEVGPGgPBoljbnulgYf6ZI9v2yN1xAMDjtCTITPZ6X+BEIMfoaHoQOHF4dfjGjzb7DxgpBJznjbTDeqYfANM/IJjpdvoJVOZSdIct1uc/Psfvb1sOyO6ps3ZIAxclNWAoB2txSbZnA0Kda7PS+UhZ96mybaXUf4eWq7txUTff186f77yOHtMmR9GNZsYQQWzGgLHPkOv+1GmyUi5F4nda9db6+P5fHldHw7u7uz0Oi0yA4+PdbXbVGXqbvCwoqNDpKwb0SZoUk7BM3rIPTdJg4WAueI2IFwSNyXwHLMYtCLIq+7bx46mUhumcGNRVl3EhkPVUS9mJ7M6aBX6JBn6v+T86LP7pV4Iuc6+WPovpQIYnBkIxRUc2At2s8OSX+GdgCUj0UvSDNJsD6x2XMiVNDCV3BOr32PsQKj/rFh47S/yoPphZP6pghUY3BFITehJ3Blvpx//Zt77J/d6iWEwRjJZ0bvSHZ0okrRhyasHARMb0snLk2TxWwZOmgit+BJxlF4qmFMXZGCWaZGy5KgH7Jk9hYpYasCN0N4JKpXZhW9F6YcARFQAhWauESn7Q4amENu0OB+g3l6U8o1YhsmsfWU+6l42H/roGld6GzwYkglLCiRKHFwLAjs71d3RTXXmSowDUGdOvV39ElxIp67VZ8Fkzp20g1XOOgkuOwb+nP84Nn5AsqTGfxBjkH9pgvl3sGUmrYR3awKVenDpEn0KbsGjnNJqWb7N09H1LLtNvVdgkoGa27utsTYS4uWIR6WbJDW2MuwlFHgdMMcKUIkXOgbPUSosPIQRCGvmYauPr8o8qxN5Kp64bcqKLLd6YeMG8vAYWi0WP+Yy3d6jkANdQ4SFg1J0Ovmad5yopEMDuAJTZMH7k3QyaKAr4ndfoBnaveGAmvZK57F7g5LDxcHO9v8PedcKc9yZ/o7NlmbAR61EacpBewBhBNnZq1Y2vqhPXjlGUlD//RpgIfDLlXat6aEXajtlbsQJajkKTzPF9WepFrSOjopBNkptqmuCz/LvCZprVadOcge4sWDYNdWSpHhh7XigCwZ9Wjzo9IUmLB3fZsWO9BA6lIqZPy9wOHWEbSVJyoPs7T1OPzLfJPeAwT6KJRnxeBWtMRyfX86290jjuqXpELoaToKsnMkf5Uyyj9ED3SR66CJj5XukWnQnHM8IBWvPldSLuJr/A1RaFLNdU+6i6UvlPtYajJqvIcLufSIuwIrDDFzbjVLqoaNGQg1+hjFGJC4Ip7G/Q73AWgQOmjibbORHwucfdy0tAowGpI586xNniLaK6giwNV+SJ5dr8yYrDr81UX8hiun3oUcknfArm6NDTgmBF+sHnc6OY1Eh4Ioa9r2ctLvzaRk9r5OL+eGe+122RqClFG5Qs0+XIjm6bwpqno8DgFqMD37GDyE5oFinpdyOHPtJFdiss7G29XKRiAIJbiFBuKCHEhuZstCfCiDr7QXJUpKHky0NipAts0s3G8bh2cLYGmoEP2yxAwTQKThFKlWxqNaPEmsJoSG8OAKvI7qO8A+EdYuthhwF6xI+bDITIpwAKdCHZb3w4KZmwFYwzd/Z24YNjUvM1zKYvopr3IjPzpJy8oLzFxye8QPVco51S+SwRuBBSnRYI03uoqVIakmm0sCvhX/7jbwLHXjexU5ZhoRzv3L6s62cHjrzxpGHUMgXZe6XzZ8LbgGPsIrK843vopU3PgeQh6rAajPLDYL0IgzNcOzlo43H8OC8mLm2SjQkmluoIhwbgPkkG0lTPxyIGN+CQRjKtRrDKuGSsuzG1FPHCOEUdh0rIwbDNt5IVEX+lvcMIHnbGr6MfB9YddvNvSfQXwbDCXmBdTc5QmdatYRjBI1ruqdfrg/X++H5SzPmk9M10Dn5XB6vtS4QwiPoxDJ3Sowc/VaLA6IzL4izPaYhrzbuZysr+SFFhHfHLXrsHwY2niqim+jl6ogleb2jnWAEZE+Rx0anManAHw9qB64/CHoCrY4Emr57N/L1UB8l4xRtrTDeF3orgv6JhULYV+brh8sDl7xL68kUaGYuH9TNtmzwp0KBmAiBnuQJsHSEC2DlttqNNKOhhPAPMCy0nF/RMPMJoXfxEIDRH4q6VezW/Rhca9d3afmwOh4NqjUvBo6CQcW3mgvFH3xOTERN7UhPeeyCLSLkkz3XVm+3m+jHuWsO2cXRlTAL72Ho+HrrI/hVHIOHFMEl/BzhWJUncEiiaPNN+G74+tl2JqIMdQD11Jo+F3IVLYAPV/YuEbgheExY2AIhj3NNe0FwgbmvzROKy7O4TK05EQFSu/EEKNxjlmANSh75nNO8z6cj2fBww2fUcys1Lbbzma7akYTyEtNdVRnE16MaiXWjnRr9pnuJ13iVQur+nboEXRHivuUMh09/VxVOQSzbVsv65DJSvMzUpJA4lkw9Og8blAUMI4co46v5gaUtKeNTUzm31q8sRU2DhxYjIWLFgJ4/WhHjCw+yPn1OOFUDJHxu6kdWoqdvVrEJGYy0jsmpF9DIJXkXasuDA45laVPEpEqFvJy5p3N9sS9fJ7HpcVPEXhoevKg+KjHsCD/FgEYfm4ekcRaf+ce6JlEZCR9AubWSJNAcLAZ9omFt1nL4FMLXIrH1oOdPuGVcF5xdOUggY87CKpRQ4cHDuO5UTjP3xZFLPxsslPtwTkwM6qtd0mURi+HTtWSpGQcTzjuhuh+edD2HhJprUKwE05W6QjeTOJ4zaqImW0PACP5hxS8iUM7tWlbo09IUi9BphD9FUGOmCj6hE+UnJww0K6JnhLyiY7E3n3nt+j2Hl6S3CtvREktee8QtAVbjpJKf0uvI02sWJy4APV+CPg4TaCRZHejd2Kv2imu78nrbrI0S+HsOM0/5Mteh/eQMQXZpBHGEFR9ZTkwGRbRtVWv3Jp4lfwGgLAfkj3YYvYU2c/ZPtCWLQS7XeM58s7CrwOhuJB05urjEU9E8cApH0o8RmJlWYaJ/xM/arOMiP7Cx8pH02B6QrV2ml3GRRq27mMkdC56lWPAMD7I+Kp8Yw9Aeikbpmr82fpZnl0MhR9t7ZT9pMKv4evn83SRzFvdhUt9lJ04znkhUGMPAodsHF0U4fsE6qCDGyAFAUYzQxkJ0gIu7xU7ooB2BSIYXOVJ4sqN3FMQC/exlOqL7hSvRT+G3yGUrPWuz9eymjgDi0pUW+SBkZVUl4arCyVgc5480B4aC7GzOlCXWefoQHDMSlSpwz8HrUGEvK2CiAFkpZy2Z1Ev+jM6ZhyUIS7kSkpjOinyAYIFeTpch5sADG9nKgHJvAL2yUxrpdNu5YVxXinP4wrcDmlS1nqKaqq1UfrA8tl8kd/m3661XwPJbE6+9HV7X083ZzMKAw/Awe3AO4N3P4p//5iJ8RHD1eiaecODDPFAuTs3wZ5tCYHruM18FaybRyDLU7mwsY+5nc3HbZEFjrN/Wyjfz+L4l6l1uAmZQgRFgMr9rDkqZzCEUTsB1hcLAfnETzpIz/QiIyNKsVxm6plS388qKjs901zKXi2SGvxgdyHc3AabLyMbsS2CTYRJdEFzhd4RdhwXQNWhikNVl5zxwlPi4R2AelkXNT46kUEqUIkqtJKcoMKdeXknLmZz6GZSDp0kZ8vBPtFRycyp5FdtXgxiJCLFHkuAm/I+NrHYkuWUsvV9zxTYIXtxrkZX8SIaE+aQ2lWihik1KMrSRgF6BwfwdoQVbvIZiRm56ZSCykvvXQIGsvMhMuSgB4lAW3R2dMBJ3Ogo61edF18KCWiYs9Kx3Fd2aMabzl3WxdKASucvxzwwUvZqJS02ddyqgBfmoxxGMUFK2QxLEwRA6H+DZTYZaTcUb3twEeNreDnTG+bAfNGjirRx8Vdbq5ZVOO1e2a2SdOig+oufGz6G3o6mJOMkmVYWLi1tZafSjkOjCeviMkjKLc+g14mhil9ic5X4NsgThUl2hE9pdSOpqK9StFwT5eNMacvKQBHckX3pyOsmYrEwoAlB5OyiJ3qpGOA5z7KCDQAEUmjO3njnFzh5m1AYe85RZyObo61HLXF3E391Uv93AbTV52RAsZWobu2YJWjjnbF5NLYnO5jKFIIayhNMJ63oAUNsKBJhsLAgVELo0fiZU3l93yh7CQNkGUHS8muT4BoCpgJxeOmEAaJXJx/MPibBf/Y5aOcSCeNA0E87pf31WWtxExCp90NadYxwOyoCrAMZVU+cB4PNTCmuU8Vb4u+Z5qhwmZCj580FAD0HSe80wnlvXE5xI+WyqFw5QC/MNCqgkw2NGeY4mHq06s9mhqg1kXZ48vYi1OO3I1ES8kxSnI1MW9E0lEZJXXPWsXEJgSr+RtaBUaSavycJUsVTCCgIi/m51a82ScdVGWHTsjxaxA/yN4wkHoEGqYawo4wAGSUqq1DQgT3NXqWwTttuArMLidXtFmh1S/AnGeV+mh8TRE+sCSoAhuhCJwVaDD/znjiNIFpB8vm80N3HvbKngr8Um4zpg1LRqBmApixy4IP+Au6DFz+8MCzJ7TxIiGmbxHIxhwcHVSohjdVuaR5A2P0m8KoENxygPMXwDxXjdhqsC54WA0ls4f3q4CMgcX6BnN6vwzlyFJ5WfpDdZLBNFe8+qUjY4hADuzkqbac322GXjE0yfdPjB5IhrJklsTMJ3tFz9R1BMww2HbCxrjW/9ISeJWjUhpAFYVOHEVUDeiuIh5vVkFgncEEy8sBx7HY4JvRCj0oD0+krT51NL0w28TRLGuyaumi8rfVwBUYjfGvtoi7Ykk+zRN0RmrYUtXg8X5y7XMQA+Ysk4W78DDamKB0E8IFIlkFMxqqiJGtoHDXeBSdOknLSFwbw8/Vans+Hio7gJKUZd1E2H6jU1ny0prquwj2womtYBVmZf9MjUwYcJIYfJoCBzh0WxdJgjbH92HGwe8fngUe0A6NMONGGinKGhYb8UyxARuOMaGbCTMldRLrPYyOChrXzXdhG3YJZdq1LX5bS+3DUoUyTGTubXxtJCdjzDODh96NUzVi9ZKAzcB9usO3EjMwmgaRxS/1sJXcAfuI1pN2RAOlOx848sU+L095/wzOW0Y40toCGR+06uQzYFv+3OUX+IAt8nU2JUd8RcBgVuIOtp3e/wT1sru7qJjT93bYHWd1OKgaYvZqtrwoaOFc/Tn0Mdzrypu8tUxRSQNy6PE5IKMkonU8arslUSCvzuD1yQVKzv1hFgbDHj2xi+YnusFkbObJk88WpRjfee/8Tb7R/2dwGdloFf9Q12nly+miYlrOkAhITK+p3tgNIoSdygjTXsU3RKJ5KNhFfwv13kbmlb8TI7S+nPAizBCUwPiNAkdXTUZoHJrqo9wnE5sFJS1IpoqUM5m4NFQOT80RRA0GYCF86X3gWYbDTcWp1epd3CvGngcXqA/lEJtEGPUUjAN7qkBKcLSTWDpfw3d1tTAkgxtiCASMe7P0E4VU0FNqYR5Ba53RFZ0dmF92JemMZfc/Dg05eFfHSNRQIiZBWwBzO0TpEF54IppQsdNwpQQHsz2AyyGyTrEvsZBC9BqkCWohuMlRZpZVnNHlSz+woIcLBNlm/iLudA5+VZennJLtBi1ZKkNs5ZyPgSRAK4oZAAU068/RoHE58QGD1IMas0WBv1EQETljV9l94jxsAWQPpSTlBHwVSaOBFVYTK+OOSQWVxlbUnUIdLhKbN8ATVIckmO3hiFFGh8+jMJHI2jWROtYAbmFP4CGIG+clwAGIm1+PpeLmchQAgYxBdB6YYI1xE4WXCVEEcLzPsGjyrXgBX8vc7V3zAkkf7G+NAFoXmMZwA28XaBfmGLryMaPA00XLK/3yTal5tDmCLe+pp8OFnOWwZ7YTYVGQJD2b++Y3ywGYmQ0d2xXuWbnftHSnvruNQ0xjkDxqFdNkY47EPWw/RQJCmOWuiISDnn7wul4u1XHV1IvYbUkEaxZnhrFfv6Kb3mX2m3Y6TQwASeT7Ro5Am5uJArcwXT15YlP5h+zlpytgwhjHRYszFIGfEbXVcp4ByhLGpFIkfndkpEgmSV45HvoE3bB4sERdA8Wf/8n6HtIpL3IsoY+A4IiHOQCyJKAUbyaD5prKFp5n/BOOVF0EShVFijcDNIV3OBQ6K8jeTZFYkrchO9QHSfgz7mPqNWQGt1CJF+husizWFX7iTk010x9vcKj3L1gAwq+h9eBPyQGOmn4uSyyYIz3d1/MBLtrcYjaeWfbceP9r9ViA6BGC3omqDWXbm5J+2B3oCqC/NkWO97o+a6+ySiLGlPE9nybO0sbepVOFBIVieh8IJr02NkNE+R6dNYzlEgn7Av5CLEgvRyy5JkMEO724XhhngEqo7kUS3USDwVNqtLWnuiLdRCgf9JziJAaXE4Au0vGYURydFp32DJ47jNEQfqrOzPRvRYDwVccgEdxyYWVtcWJkyLWuGIXlr4CUJ/vgvUlMYPaw7nkWQGwEjVy66a5xr1ifsa+DUaHEyazZwP2QGKff8T5yiNB0H8qh6EUIkOToBYn2uy7LeH+v9vi5OD4OqfH4ycsv3svCYkBVK8BOWlPmWg8WUCUezd6BD5/f80yduRhFbaCQxyKqTFVFKzqhmUQgDaPYX+Q//qH2UR8OL/DiUxU3PN1Nr9YX+qRVUFgBKbAw0dgncL0tJY7wQf3lA3s5YG6e3yMcyHW7Lgjq1n76KZcnjM4nMIuhU1hPnC++r2PULjwcXg2SAwCDnrGyuL6+K9vePX7vYzmwHou5YFI68uo1z4W6hP70KsNwOCg+fxLwMHH1RfJEluw1XwPv4Xvw0lMrtSdkudNCf1r9bqoEMW/svcwZ0wSUTnadtYRpNprBplrHG2A6opGmMHFRUEDH92Myw2LhADdGSc5ZUVoLnKPACUtkQpM/+Xfl802I5u8uXpA98qIf4icVNGwXCnjot8wG8kpYxhr4XhYczOMbEMXYkqNanIshqryXgnH3Cna7jOKUukRkrW2txAQT/m6E7RnnJbizr4ofwHP/l9ZEbOOjgORYrzPaJyGFQ+lBwWuXh0/eFVvmJkZGQhOFXeT0oEPLpBuDgAmC8XIqScNCGqRApSJBPiNIiFVp4OGzx8KWcwZJlEu9aEsywY9EFE+YbTy9ThbUQT8LmIWxTTY/8ZzRtAJh8lrg8bKgOTziui7o3VbTBaeADO/3V+8LuMis6qySAUXViw93sW4L43MJOzpJQKclVyDHLBmB8Fn5gCN0Lc2113VVOer+erwpHkMU1eCbIKs0hPgqDhfomGpSPuRVqjN9En1AkWuyKc8bVlEaNqcEMRlUTj0xzJ12QNRidHUY537xfkBQmvdV+u4pwH6C6hjcWtYzI5JBa9yujGgQ+vC7XM0c/qEKtVejumdp0V3Qfp3Koho2GV+EnQRPeh2V57UhesAVGyaUpJOSucqZ+7LAG0vRIgdLzvmhVpmnPe+Lh2RYDI1Dpqxjme1u02Sozc2kPACcBRmjOkLaXs1GsFWAPRaJnJmK4k1kRhAq3kc9ov1BViJQbOAMhesJukj6O1dnpshvTXDRPBVF0B3hgS8niI9uRX0P/8PDOj/Gdu9ppOl80s8cPsOVvGHvkSFzjXEgCakkbZCsEwGCvSgUb+YEW2LhHpIqudiDpNiJj+lhdPSXmTXA169nphR5byUJhQWbNlV1jpAEH0jywX21B1Y/tL52wEFqYnG8A13RO8MGbfTpTz22/cEK0pgzYBwZgiuCxM4Mtnk883PTiM7qB3D5wPZKPvYKA0+UIN87WMiocATFjT63xt6mknHKMERjbLPQRjBpFiNxcVKlIkGiJc6onv5aqytyjc9uHRL6rr1O8NEXlntvpdLbrbhNZ7G5sFYOW5IrwatoyeWeVAXu9YEOmIwWdn8wAsKiZUZEZj77nSM8MTwmDDc4U3K7c8tpVKeDgtiFgMqTRPzYwTk351RbS9eN7ch0LTK3mvXUqzm2CPD0vq0lb7wdvU2qbSbM3sfvpJx/sTtL2tJvWHOZwXxLivJ9KnfFlXWMaM+uuRzRCSF6ZCPC5CAhPLqEqNFeEMS4nNrZzjUcQ76s3rBmweqORrbiSmeINCuKtq4/DtKNRnfZMXsGgOIDYOEht28nVHN9mfNOwjTHmDeYd5TDcUQaabaW+K0zAwQ171B7PxScIvpZFnSwUAV70Nx16YOtNVGFYKhuUW8NgUGcAF2juJF9k1ghd9ovL4LqhI17JtxqY+H2OQQLFsR/YIY8ZfLKgye08MQN6zuwR+OObyvU35YY7qBnyk+C34T5VEM0ew9t5cX3OkeglwWfIgOEr+RDhTHCj1I0s2MeufvfqxbvV7X8r/ZaM+X5/8T/HyxS3j11uBxurNZvWVbGRo0vvx/3/nRcjJtzmzd141Lz8jFwcW3H3E0YWl0RmBUUC03qVil60/+BUdr6d4GD3KOgTXr/BYwM0v/XR22J8TTLw6+iaJ9dyNN0EQJPkwN3+33iUPqXMI4FKCA5Gh6wF5SJlxpMFgu7Eokr1KjFCvQVG18w0J5vJw5q75eMOOimQDXfM7fADJ5VZ6Lh+5GTjTm4zp7U5oJ0juIEEuq9FByFTQNEYDm2V/D/MxXavEt9UQErIQ0xKH+pgIwu+znF6AdSl5/VGUfavjDA4DK7VRQu9Z5NzZ5GBvfYrwivmIgArFwMuTKWPKD5HS6qE8VDYJ6lzCQ/MOogK7HbKOo5r+mzVYTaEVFMIO88KcdEnGQyPmRFAZPHJQYNh7vYep3kQC5Ba96DrDkpIGFhu8tWpQSWwHtMuFxJ0whgDSkkoJR8Tf30cdsHJ6GNjBZqx46X0gzUNKIZkn3IhAGA1zx3VorEReDRc7TTn2kj/IyVa1ldPZ4vC55F2NOgbtk6fKnOCMYcainZo+5opWkf9j1tgu8ItOnQQPtiTYbrR4YGaTlJoTZs0GEroHH0veWMufsxuRQP0pEl7PupIjdOiBl3GKxJLYkQp5PNUtlcKxUnD9gnFnHaiC3NEM53XoTq4R23Ep4LSsTaYapRSJxuz82TkgSEc+VHNmYhxCAr+7N32fGpVukeq4cYzqzPsMJqlEUWIRujv09a+FDr8b8MdsMEKr214H1CXXYn94DwcNABf6rfKUQ9zbM+gGuGsKFByzbzpXXV62XAbIkbTNI5OGsioJZeK5R79AjZxe3GL4+Oul8uyyldTAozvivW4lYQzC2gRRLAyELdItscF4JouWPGwPhjKCNnOpEyUUJYdOh6B64ziox9EZoEithY2wVRSwQTUN2BWW/USwIw2/FoJIyd5AxayavNUE+hu2nBqmHG0vvqWmLJ8ARCgt6j6avabL6HwUTJ9a/SJrNZfYQ2g3vlrlpFYFhuMO01UlF52cKQ+cDpUBRp9EPRanwryEgDFPrTwrReGjBjc5TAQzA+YKK0C9Agt6Ow6TbXmTidq0DE1vKODDGnk1qQ0VHqDqeFWrrc/roszSWyZwHDR4cYiNeSjluicHpt/HDbAXh+OSrUNs8hk0GwyvfgI0q2RuXu/nawFc0ct8GgR5FCjN+ylfvoRFVHi454KvYXrHZ7HZVlpXZDwqX1VZmY+cbySaXesH6JRWCOms+XL2TmCzOYRBi7cRIltSQqR0IEL07toCt2Lj7jlYhAmlcPyACNqsDd8jb7Z+VRJajRiPqBs8LmumWQ+D0QifMP8jDjh1KA8GS6Ik2RTJ++blGEG0sgqjyZl+iivlgi2KSVRJ3LaUOpqRGvpBNPN9Crx6UvXpBrQ2Le1xrHCATkNkXErWZpsES2+ZIE7LajGtoTj8jyuDj25SCOlLwd5oiJPvFjt7+RQsnwDLPPNePkty+vuw+J9mW3TYMnuisybCQXRyxAwfGbHs/v+G4HKrd629AXC4h3CgJAqPAHbZpXHSM0yypOCP2NT9DfjRpc8f/MZqGc+QU+PYU2i13WyVZ4BR7S5Ga4/7sffvzKbuQ5MyKucKp+2u356pNG+PG2evtkBERo/70/F9Lz2NsBctu1IbPvx0bCNP0+OnWHSGR+hko3bYwlspPlQ/Ny/PekRNXkYyNK7t3H2t06N4KbnFu574GXo2kLFaYMxCVkBXdN8Bh/E99C/wN2EsxAmPO6lJJ1Ru/LcYH+ZT7Ul4ERUtpNtI4LU1TGGSdfvoyWErnavrGlkI84mcoGzhMhF+3HZWqUum23jYI3nUNe0eWdVqIolPtWkV46JuKvqpJwovKwv/e+SaNkey3M5rWrWsK6n9Xm8YB1wN8Ni6LkKZuu6H88Ha4xwoFyIZYR5GDTpRxEiDbZs2JXJT8jaPQXaPyzQtUVdjuEBvAe+IXmqFtBOeTev8WUzxaqFSD2IyzhAjjRF0mxdQMlDR1H0l+7UGDjbdmbHwRp0ISQ3212Hb8JxpUCUFoAzmq3ZX5kxL67oYXz5skFXnhBgGtwhveEbKJMVEPtjlCImQol7jAxwJz4VUm2edGmwBAVuJEDihCmcqc6sp1uVQmhTAzXBWCvbfYtXwLGosh1U9+zS+PqZPOQJhoISeqRPzoLeybMDnttaUBJQ+1I3m4Sp0UPYSOp+uU/MxOaD5Lunw0E7npIDvGTO0tHTpjWGlU+RxrSM0x8iz66XDnT6SevIwl3A9WkJVerjoFBqOdlgkaL7TlJSG3snbK/cJsQTnTDbOcmmgVH4l3X17MV4YfZOHGborU7bl5Ag30JkVXhKcaWFciYEKOHZzlGGmHlhKIJXTsyZrRkqbmOj0VyNo6pMliappOSLo1kZKWQXvHldGqeK6Hiuq8rwIAmlNepR5/Pb8agzP2MgttIgTog4KguTIGGQKdFzCmJ4i/rZ6YY1wS8cc1lWncDj8lClCtgI4LjT0dSq3nkgjv2MdWgVJ78ZergPzoS2JtKlkuaj7Vut8yKfwcHnMQ1PdQCTzXICJLXfy6KgcY5BbvGtSQjON7vlCtvE9Fh/EAt+Ka6YipQ2roCNlhNxh/suwCXD04Gy+j2SOexDWfB0Av3IvbAsdx42hcMM65ovB6Y9trKYQr3geiKcdgc6aXxjVRiBc/YFqEzlAXyO9zw6pIgH3ssjGK84bbU+/G31yctqgtnbxxbXdtifkRcnOlHpSCnjMOzVUIzL3BgOZ7VPTeUfETqNX4kkhWBIBNZb/dZ5OMS+Jw/TmBfPbTTWPCeFxO4Ogj7Q3sVlGFHoDVVxWzJsSWnmedVd4/UXhEA2uLVRHPpiDsN/o2y1/nkB95swQwtoKAs+BYqKKLw29lqOH283oKPwzFwovI8RzcWn4y97p8eRAetzuHcHOSh4GWbKUcBZBnmv5BfYHWipRqd3nGiGx1jLruByTwutnLT5rnvTkdkX71FGAEUTLKnHtAKgmmUp0CqOBROFT6hHEZwIYICZOP9GAd1aErNRDEQnyc+Ptoa6Q9+Z+7p+rutDY6mTisaA8tgyIew0ERUivFwLJnSN2DCKWb2IXNtJFi8y1yCNwg/KQTJ3Vp334V2HnDys71J3FLdhOG5EZHq36JHoDrDjQLzDh6lN+wY9wJwYF1IttDqvxhyLqN/PdXJJutPVv6ocjcpSlTvXIqGAyTikOlQRJyhhyslDwq1H4GeszqAr7E8B0GBD0eOnAfxF1sqq/GUQdXtlCzzCML/5cScjti/zBQ+sQ61cB1DNfIye273GPjarKxlQJ07SJ0R7iMiOesp0q/f0C6YVlNvWkBVnavxbJYDnBWYZoA+dyefiyMq45bZFcO2WEJW2ITyNe0hj005Qjql4FEzVaqQ4lWtt2MCogF5fgi3VQBxLDbDatziTBfhGYzYdqojiHdHsTp8sjWgNDJZbwnI4fyBqyYZ5IR8/BZs8sqZgDYGQElqpyjGQSoQ+HBaPjQH8WNfLepYBfHxKOK/Pw/J4nY9n5UqjCA06M49KZS8Ak4bwnibeTWoFKXJYwYY20SSBk2UZFBLDziLMubgNA8BRSit76yuCTELECT5QjbPtWhProFpZDYhvYKK4giFx1/De0Qecj0Fv35vjDFAJ6gGxGNyxGh7hXxMuV7Noa8AhF48R/Pbo6fgNj+IyYxPKbuwlemc4HxCIE6eTkmNTbMLFnQk4kQBJ1oialPLUfI9MR3WEcVKXhARxh8bSrGcV2V36H25htcACuuN7Jgk/M3W0kSEAenk01k2NEQHSuHggmKzHkMtT9P6l+qThFNFUXdYb9jT1aAVHUJY9RTrDhwc3ktznTybvuimZQfmJHpuYjxW+kzSerWxOEPYTEruwbQ8i8mizYp9tTbEnDyIs57tcFah0P9hOxoGG9B3e8B0kawea3SQszCayPYzjjA78L+UbwZZhOxE6hZI93VGfA0RrL7ABXBX4biDnbdjIrQ36UeQIk0CzpSyGT3oscmoqZfwne5UVj1cXxMy+GqY+QZE9V/5826pB2EfyEO0wteVqj+HhIAPY+n+U/h6+6uY3kJGUTu2QW/uEcsyX4CXJ2fYozDa8YNojESdkY8ABdhAgV9myuaf2tiq+K6UlYheQQUruokY6k0+cj2lgCmnzA/Vo6FTiW+AyG4040ZLJ6UpfWW3ZwaOSZimoiWgH+yQRT4Q/ParmFp/OhpTdi1TbRiKOSA+6sX89QLhoV/nWj0m/sQhs3zwYqHkEOCHqA3pp0eTVE14LboM6Zu7gk/eMXQo+zfTNLYvU/c+cyK5zW3j0e5OzgISfjAKo2Y4oQTgs+pRixYbBRswQd4cwQIWp+uW5vC7pRD3Q8aXxBYyQlXNx2C0R8cNJKO5u0g7fu3NwCA7AjHhwcHU2mjcUeUaTtsYUR5yh3X5gGShJ9fD5NKwf7hABh+Y9SdTA93h8Xa9nHJCVECUPX9847UYMk8dFIrkR2DOf9nnpACFNQpgtYrHZVnUBF7m9FeYp8BfnMMJOLudL9gdx2+MwQlrBT/2NXWQvqZKaQqJDd/1gLG9rqeGYVcmD5PTAYxOTg+1nxd0QfM3gZnZB6dEos7PhxbzrNdAgrGpznmmP3c4x5OI/ApBOAPNjIujIIND7aBIpttswPCGKgijDawA3oU1+oVSiVermazm87s/1Yd4RRdvbYNYKS1FrHo7eHFRH0MQPbcUFPvATeKB2KNO2epDerw1S3MNeBO5RtpNAWWKpGpRHGY6Y8ilSCOHAQnPlvGqtNSeoWzEavkfDdbXDiIoGMtW9Y768pnLyFkbicEu452b9s4nQlFcbWuoX22V+8Tm43itCqugZ/1xgpzxbuIGzBtE/HjMouQ2RG3sfVBeFOTU4/wWu/9dP7AjjZgGw8e06b9QoLny94TJ/Rs9gz/kONMnqqm3yd5W5sqfQVGfkhXBlJpffuuiZf6l5bOr5lWtD9NxW2k9sf2M9WEfq2TufWNTWqUE/pJ/ODu+4zPMEeQMrhrYTKr/Gb8jfvYuBtqyNTrsItfGqaoERl7FMZgO4vAbb3Db74O2RoW5JA8pWXWHMxDUw7rUrlkVyp7qV1nM5HO6v1+N5EDtaDsvjuVxUpbkslp5nH2O5uHLTNpejIZlEGLCxc8C07VL9v4PO2DB4oABScSn32ajALRqAVFRs6JZtFHn7MCX4EOYWMImMtTzLniUK4yBxyWJDbMiDD/ECj1KwgZlBSzJ5QvPWJ0lHG2E9rZl0GFkBQVQnHjU5n5mPlchEAlCzeFZ4ZFqK6qv0NTT+JERHPCccw4c++HFRFNigwR0IMI6R4mQcyF0WD+BPhTLM3TESAM5OW/PxwxuFCohg+EXF9JXODGpEoYlmLTqhwGaJtJfN0chzYlSi+8GDOWlVxd3ETiIObJeEc6KsNXSG4FaOavEozDy4SDNL7x29hTu7wd6YogZ6EAELKSdZBFwhxLAvdEWDKo2EcZBbrYhnKDglK4m2sO5Z68NS/CwksParfelcLBrpP02Bw6r5m2NrQmFGZRIwaVScAFVhsC9SY7exYaxJdw9C3UUVkxoyOt+FwIw2IcHButlK++1tWiawUfuEjWAVrJsHmRaAq/Ace7rzyF3xegN335J5hDbpzqX/+AhUD8fTZbBe1ysQQ4VnzDOQn8gS7o6paQl5k4oTbFYFOXZheAzYk7450WU3RYczuNzpqlFKFmwUSImhm76enWjtfaWaMSq4hdFIqk2QuHU+syLkpdxtVg5BJ+GhQCa0lYW8lCPkLFwOl6NGQE3iXgrIJtNYblMl2RdDNIBBFPV7Q5lQS8SESiJtrU297/ggp1rSS7BTxBW2NNauKmlShUsyHPTZpkXhXtmW4TNcWcINkJ0tzJYYKZOt40Juyj+IusiUWlSd6dSSdJetTpT1eu1njuzLg40IyDBwJvO3+53jW9WNub68JM97lmN5WvENLtMl+Hg6XS7yVa+62zLdaQhKO1HXzxXSBTaXi2w5JS88V5+HrpkYxzUjh1cVt6TloPtmDSJpVuu6KsiPB2ukmsm3ndUUNc30/K87HgsWSpghPcbzT5Pq6qL1n6lJ5KhXqZH2y5xOy3HhunIUmhUWX3vS3sxClS/kFmIbGkNrYcT4KXOsN9/Yxeu5kcgQ9V4hjrQnDTnCz3FRiwag+mgafqbP+tO3zEDPAvr0oguWPun53xxUDHiXMEF15hOmorBWcIYObm1PAPoYPqgGzNEnTqNXsGanIQ/+A/L4dtqfz9fSy2qjUL9TPU/FHPtCUELnTwcH2LS4OXxNzyxJxAWwke7ELJV2uC7LU1Hf1VmDizoUqjTKNb5xE9u3xFFh26vKXF/EKeYIukZou4rYMREq+xvLqNmTemhQz2uwYMYGT3PQ1ybFOBM4GnX2sRLL1xkKwbERqahBQGWMAYsQkGSOSA3mJL/dsOtGbhGAnZrYPQvzY/iNigIU03yVqoIj1vV2adnrwGFvd+yk8iBeRhuOt3tBMf/1x963M/czIlPNGmsewPJ3V+12eEaPvjPPqH8tAIEsflrYf8EKf8O+zy4N5gam9cma38ZhH5Uj8YYA03uUJ0Vn3Keio6rUasoDRusZeLGqII17InSNM39+twyO3l6Ixm+0BdaMyijNuqu+P/2NWhAi8xi4pWF8qB0/QWvrDxs4xCIGXFhuO+1/A3bEvHl0T4KJaeD6tMRa0y+9mAc+2NZwuMxS1Q9xpi7SKvduOxdi8LpMzST3xB/mePD5cHisz/vzuaynx/K6npUE57Stk8/pQP/RiUQvHXjrdCT3TCER14zOjam7Yy6xqwDKs0HjQWyMW5LFeM9OpgntWIBeud3pOlwTDAxuNukUEtbgKTkh7TkHS7i8VALOpVISZ4YtYRhQFwKDQ5eL+GMm7gtRgkl88/g8haCO57/GBZ9KGQ1HtbBvVv1n6u1SZjXKyTwG8gzT8lOgHIq8xOh8AlPv0sIAMkBTnRd3Gdj6G8ZerdgfjdhdbXBrj587tROpBVmM5paJISyw3ywC4eJS6jja0QiZQ15MAZHybncKU8EzFw6ngWmeUo2D7K2e0xGzoDZeKM8yGd0ygNskrQnAOarD1cKYUF2ivNLORlcog2AGKWQyOGxg4AD54Oy3klJQ97nG0J5dbG0KZU/4kCM4sndsvd8Rw7ezglOTA5w2vDAq4i8rj6s8HcyphEKx8kRSbGzph93ZDj5tvqMACbWaeqG6pKiElwlsK/qrzKLBUPjN5B5yR1bWDOph5Ib8z8IObjikJyhBIAF+UvXTeMHo6jzvgTYateP/RH3MUUEPsUo1G7dLCCeMT+rtKSRetY9BCl/QrupMJ8+EsrjasluQcxgae+a+zbad0s4U6zz5h+DURooFdMb03253lu/XZWmtJmUfo7No8fZbaCyfQj6291FluVarfawmuZG+hym2p6vaFobwTMIt3UF+1FAZGrJsrBtSyLHoCDgAzzeTlQ5/MZ8yt11VZRkmRpwQCKA3ZLGeZStDEI2WbBtyoKOflIFdCO08W+Cbuv8Z5qeDE6EvrehHZoBr6c8sNw9Fsy6JVfp3TnxFP2RLfWWYQZgA8XvOI7Xuv+PRlt9l+6m/r+1S5UPB8HCvKkTcYzsaD22FWUgGFu/nx2EPKYKrzhSJnjsqrJaQum+dxAOKLetC4SvxN4CI4tvmcrrb7dU8Gfq5hP1hcErZoO6UnSqRd/MryOOUsbUZdhZhw+/eCtIWOBFq1aETixKz8WYUXMmsoa6p5jU4gcewQss3HS5n+x0KH5hXPJOerFfujInyX7kRsqWHl44UV27N9XpNBwj1/EckeANyICWHGYTdBEnotiXlIHqTn2NnBN2bIlbD5TSkdLt6zfDtefereZNTYZY53HSIBd3a92KYlenGUKqKwzFzCVHUQxnBHQhlZNr3eKAomgyDXHEiZOmhuwA0pCOCzuCe+cHWWMs8G33gpMwMKxbugCWt8rG87svzrgRo8QU60IaxeFJYuMlXLG4c3Z+SeXDp6p4LUADYPbx0Zr29dqHHvSSz3yVYkwshtLTrDBOuehhW3sdFLFb21mbqSPN3tD1DIqY3+kNUn1jhWcHI+SExkwja0oyveTYlp95af49sDu8t0LLaze7qd/+AU/SzDBIVMh+jxs8tGZzlbSPAfeeqeUCB5UVCppRsbbf7V1B9PgLokoK/nodtT92+KGeceaYc3Xfvd75UEHOOjQQFC68QarlTTMUhn0AgEiwz6BqTej4UnAF3UzZM+yH+1/nPbq9wMuNAZvjTrvnpPpMze6CHoWalbGmwexDYIyHgmRmrmTVTZxj8aPBntqN7EYbM6JMtCEL7Gkbr8sJztrmblwxDs2AFVGA4vjaQIWSWkRBUHYVlNRvIL/WUCMzNhLwlafTnMCO5Iw81Kzx8Ls/reb1cjpf1eV2el/VwXhWcOD1fj/tyvuisVGXmXeTYbM8UempFONc9Co2QS7SjuMzQ07BS24nvKLGrBj5zLOXu+4FM+l+OIDCtZieLdvFoh/EPs/C2oLIawq6kAo09Q/PSJqsa/ezwNXiLtd4INAppKfa1xwW/SRNDXblXizoeDmYyoei38UVTIBYwMnSrjQZ1XX/s0wpYjafs5QMALq6SYR0Jla+yzPcksOyDW0G55PP/tAtbN8hAd7Ivo87vLo5poUQEC+6cIhbRCWJwiNNPal8JrYjd/YtMJ3k9QmfQ2JuAbraSO+nhTpfYFx6lzueN2Eqc5GNHba7zpsHXMcyyx6j9e1otOy595xTKnkeDI10o0UQUg6UWKeGK2oTY3KRxRyEOuqK9FB4OqWO8JIGBVFUMPO8H13bWQc6gEu/DQAAWB144HAiz8D2COtEaOf91bCm4/XSfKqHKiPUMHbClsFmKicI0m1+7cwDHcrDltp9JIq3csI7ULdSLtN95Iu9otYuBzCLDH+Yi55qbiDEc0HWz7T6B2d1w9UdHeXurFAHWvdsKwaYXJ2Q6u5K1pmA1aAKsd7FPK38cq2X6Y0YgPLu0IV88DXqjpwAGoJadzeLXpwqSk1iqLNYQghEkEVBYT1wXeAerGTvBMQ6PNBmCwhP4ipit80BM93U4XNw5NhVr9dJlkvicnjpFkJPND4rqqE1ZCNxxZVQmfMC8jF6ekafQSgmD1qnm7nWuGymVpMkTh5LRnzkFw5T6AHKEWCgvvmOsU8M+/qTZVWXR0Iw6rFMLIcAIx2d/JfvZNwxyP8WlLFCOvQDTaBJmgcAoxwrjHl4c5wJ8ykFEnLKO2p0I7/tOc2e6vdMMLvYng4Cn8WMbSGzo+eIThmKuHs9yAUB/bnHpofSlT4OuoHAN8+uovnyeNd3L3S28z/J8vBdCQuwiM01yaBJidHA4vIcigPP5fDqflmVh4na/+cIiP+4DD+wyj/RAM/isuRgaMmnT5CuaoadOArPRgC7ZwXv3+XIXZRU/UDuqnG/zYxWpIFpyhgXNjbWvu73yg4Ck99WaShtZCM3i7nHdAfStJaciWAPqA6lYQgZjErtJrXKe4X+JHeOmxck0vaPKhCIuWTrspK3Cox23cize4OToQSgEZwRROUtIfYmrAud1/CAkaG+q/+j+MJGaEpVmYTyokNU/wmH1N0W/HoftzkmiagGpVjOaxLq8bvfl8/PxUA9o1oJ3zIX0sYEjQmCzU1ZtQgYVNJ9q7UH4grhQ/sd3+1ddadBrnP5pX1Jloa7XPDShpHBOAmVmjMzEbubQKXQUPYdp1LGNUt9f/OveUMu8e5Tdpgb5f6el4AbtaMxrOwlsnJy5hdbkoV4odgwL+Nw2x84nXwFZzOiEFCKgcJNjKe8E1n6QTTIHGSwXapMjxnv13jMxBMIt7LTv5VfuzqXs08y3H0Kn+T7j9UFh1WDt7pJuAupKsDqejYwdqz6aR4iDKXugzerL3Hd6I3wPSRqXTuYbDNrgFQbif+MYKixmIlmRx/GnHbiTDurf2fLpKdBLCuhU7/EJAcTaXXhCdCuZdbO6EF0DVmPsVcLBeSIIp76i5xvprQ8j1SSpGAqbKx37oU507FmaMCEJ0uiyWVv2MPIb1B33TcL1C7bIqsQWHNmHp2u5pFC+buvh7Xx8Xw7X9XR6LAoHXS6n6/kgEfa8ZG8FF2VX6dRgAqxJKyW3MOeyBASpOqYnSDEubBPfOJgj/5oVEqhlEHT/EXQEeUKu6FrOk2nz23QbiU1YXoXMhVPnIKWWhj6lCtuJHkhWNQQVjHKn0wUeWzFwQn1y5TYn8fpqR6QuEAV6zlj43Vjd78gHwdWGqho3w+YBBThW16ZOUtJK83S+oOJu/g6N0urJugRaE62bnCAXukPKId64x9heQWCUYnPq6gtJyvDGjrb2Y/R1h6qNbrJMinzogxsuH3kK8g+NF4kbDWpJreneQrLKEuSdfsueYvFebTRGcMjMJtMzAdnageiZJPoFwcatSRGiyYyQI1iamwkVWHeozN3hpTc5tmgYmpc0Z2EyLdub0RLKahgHvpEjXpiYBQrZaSiiaAVWo9gQfeVT6OIKmSOa+zxWLeSZvTOHwatCrDS2TBwU1qCaDmv1W8CSzwtbs0ZTnmgHUsW90S+2llDaXeq9yzBgmzNy7nNbcQzfYzfYlGXKJIXS3CxMwduHi4HVj8dtREZAG7mnJLvXmriV55BautAjADB8bA+8XgenQDd9U6MkXFMOLnR2XW58YGFEXJHIHnQOVdi22wIuMAnzhu5+OI0X4p2rdU3mrcWVcQlxZ88EGCVT079dLjqtKGcSAplm6kb4Z6LRSulBF5WPEKVhiakwxBwYYyGIwXBCUUJSwGsQfbYCrZuqD5iXzyc4uIld1zHjE+M3b6BtxphGqRMAC4wXI9j83KBB82fgCRUf9QvhKjDcwsqQiKRKZmRyAHyMEtjTuL0jXimu07AY6qJGIGcjmJWGGF6Y0GBzNi6aKKuC4bYaZdiaTTYCklYGzA5EQPyq3SXxx2cdVVlnWs+X/Kp17Rwksw0FtQ3wroL97mGWuFFI0UYTJ6ef3OiSnfDLcCl5R+kQ94HH+XQ4R0Cr9XkTKhX4elkX35WR2RkPY3ZqTSAEX47vnDGlmUUQpipDV3s0rtGvCO6wIfpaGzjKeUhvST9bod3wcdAH5hgDfgIy3hfHvaULzVzxVHJCvdyBas+krAGvUtUN1j/sY5Od1/mYgVgzSJYGrMN+A3hFzhXI2qothS6cXebkeWVJ0Y8NRYcdL6NIOxC+A1OqAiRuzufOyt9F+BVlx4WIH2H7Wi8y++FTwdY6zoBPn8b5e6GmQNhH2Jsrko0R5EfXAeAQ9/J83e/Pz7v1E1QVU2rBEZ2PiI03sKZkf4exhRfDbMPAK6LDWePpi8SI2QOADIcocXONVxQ+VdB7q0AS0mQiPcMBdo7RXI6lzJDh4lw+L6rPixID275ibnjhScCORuMnwCHB4ay01psvS4EwMoeO3xOeY6rWz/A9cVW4Sfa+CFae0Idnphta7l6R0X2NCtYJ+hr4BZfPEAa5N31gvt05K92/grTF3Q5VnPT7QCaIk8VUEs044JIZ5jZnxgvYSzmR3/NYv2YNWwvQiPooQHUS9PoNqbIM/hRU29o2eOZro/fPYJ/7Z7QAElUIBR+jtkYBq0AV8A3BnqplGpacCxAUqo3WmAfAeLbFDPQ7u6iGLKMSGqaIROb3SGTYu/mRnIyVvRvPwRqfLRx7Er/PGCoAQqPbmS6nJ3BJUwotG/epBOPi3JzD6358fqps7XWW7DocH4/z43L+1Hwup7ONd4FS3QjUCMbthzIbtiNFhpU1edULUESPgRE7oYrNxsG2ja27fPt6N6zRELMKJPvpivg3y3raFSxhdouoHgNRtAfYxD8ssmQY62aLxjgXUgdRu/2EfuW4BVHZ4kTYaw4jdMTvdMaJHehUHJoyjZQoZmRIh2LE8XyaI19iBCRpKulyfos/FfyJzVm0DLJpwdJaVvfNAexOec3BnAGaiTfKTxJQg6Zo+HGd1/s1YhY1frxam8oDAoSGrXfYMsyGl1px2cNhUTVr01ouIM0MVZzwaSoUYRmdjXHcRtMTlqdVEYpxoVLviscf9mSZcnb8H8wJb5kPYdOIbZy+JJyySdAmyV3Wu8ZlmMw42Ainp3ijcMAh2cMPNowHm71vmHwZJJFeEtoM6wi8VSa9dzkzYvIV7pHRoGvYdrCvD5wp4jxKRgOAVTp4dj+Yb3SL5sYiwlHYizpZDLbmzugrx6s5fZNyZ3sVsV9g0jXUmZUfQeR8a+u+eS4yf4bn+WE5CQoakFK2necMOm6chGHTwMz1hJr56TL+Ks/grHb4XMnYaTRlw/MITToQYXxFHOLao9TPugO8sLoLUze2teraf8hJTVwb0cJiZJeuOgXbGacO3+mNOQLEUnCHFvzI5F17iGjYk1ID4GIB+0RTyKpueM34rARxszuZ2fo5bgw2GgFpK5DB4acwMhBdE1FqQVoymiVB/YOXlepl4bCpwYDJkdi2BBcyVr4vdDBZl17OsAbp2mqQYA11BsTIm8Fj0Tv39fXUsah6ADZ3FYNseHL9090AH5Cl8+nlWHelue3nroYtTLNf7yJhYj9b/Ne/xyvzWnxik2G5OtfipUbTznr3btDCNB4Nh52D8QmGK0rG3IOf9Gaw/4X6DHg7JOqDrN112Wb1sj51hmPsLkugTV2Hp/jENSNa0gw42N20rZNy2fbVOOFn4JFlx+Ba6qZZ8wCWiHShFpdeai5nPhEYLJbGEM9grUGAG64uxnL1AQoECBS09FbSfxLcCvIryp4cBHN134ed6Tv81KeajSXiRzadmSh9Jmq4EZH2KWieHl1P12WVjAETXHtPUny41BR3wfKQu2h8CYxH+ibeAquCKAN5uqllTHIujK021FFn3ewdD3tMKil69j1saVGGKONEYAeXo6eWtQJ5mBusZjaly+HHcthq+JGd1tDK4nXaiI5VY1Pspl+W521Zbo9FjR5T+4oHCv+LxnHHArfn00NJWMj849RkMmGbo3v884VMzI0ZIRxvE/l4J/bKfW/LBXH8QPdmorsj1vIABrWSMQwsLF3/JBMnqmuxnfvh2LWtKgk6dvepX1d5YKdZzgy2MyOzDePBZIT82sV3yJ9e+XIGCmx3j/eUtoXkOthiUKOK3j83pYJ8hgRm25K3ES00/uv05vNP3o55k10eSBHFnFmj0+2M0t4XMQxgGS4XDTeZiWSpA/wESfgt2tJ+nrWth0vGy4BybPYY9QovUii2hlvvZhK+s8iQA8uKeX3g7HJk53APuN7OlVjESYaFZQ94MpZYNb8Nx1D5c/suhuZvRxaU1vJLJlm2SNsMTAKOMPGeWa2ynWPOsC1tQ5ENh7vEaYOj+CvBJIPB5/loAqvh4AquAIKb7s/DSY5jdeKAWI7H22t9no+nq5yQnGAqJiTp6py9yfyTQNXhGhIK4Q2grM/ySAi6Gjh3ENyzQK+LBAAUW4p76ZCDNp8BfPWeUrajUOvrL981ylboEOvDxR8DL9lV3TdSbvWERrrcYWPmXjTXJ6vyKTznRzNDLSSNbIQQKIhR+ah9lcDSdWngbAGM58kLG6bqW8hdQp1L0Nsvi3BduwGtyF7a10Ob/ZxYVPQ8p8k8lc1nRSJ37xLO/Z3kpjUN5iJikPq9bQd+nCJqUs2zNVAsQjZiJfscOoBx0Ek7k6bbg/MdwxQO60q7pkR9xgkV/2sHKlKAd/myCJNNcZsY6Me6rI23RnFCMr0jPhpDy7F0pHsoMBpXYM1lXcJMHStBLozQr/5qwS3wcRIGDEi7r3IxjU0VKg9PyM1HsR5PRIZOKkaAWNxrVnnnDnoTgXGf53BfWiYZyZjWBpbZiR4I6HXlrKjEo6p0puMJJGnRFi9GlzzV+LhgbHmmE5j35TSxsMjKgWNxL5qmodqUJYFKlQcmZkAMk4DGHGe0PeK1OyyaB7JTUCj3136GL5EIqfUt1oeXZVEEuBpFioPLxx3DobHNMacCsN97VIPCvJLcLlj2YJdQoVep/OGpACnj9+PqBmidRc73dHUX8XS38U/5tnRKd1xLI/WWlkOcA1PQjtXp1abQIeAuBPcch7tmGsEpJUSDrAKINXxxKDIQIAxrYOT9Q2awdco/osjRpV66eQwyWJ8J209swnaMjZ2QtdYCE8CPsmW19WRXQ4stNS7Glzll94gHD6p98XfrU+ki4SxJcqD1PA3x7YVCFMGLmYgCtZrgZH3AD4Lq3UAaaz19Hni8lXCPEDpKhqhG5ysUn0Jg2KhZvPO/sMqU5CzGTU/jy/ViAnULrOyVzm0OsylfY72cU4UUEVqCWW5gKSZ1cR67ek0lu/Opbh9xpprnam0UUtFr2sA0zkyvQnTKpD2Qe+Z7adZtnzE7CelHZqBPsstxNsMkgsP2WUCPZp11CgzMbX57h2yfs0w8W/FM+zKSgngs/gtUdOQz/gfzVMxcbZT58Ol1WHi+QgYxYfTysZnG2zIx4hic8efQrX25DhfbiQhsEuSkzNg7S+ErJ1iGfJi5nrL0gN/mbGRjo2rV/cvXOGBjXeFLjt4JAIF/qCWIr3dOOUZ6efZ++gg23pbkIhrDyL2ZoxoJEEQdEYH1eTtJRcastmURwsr6fawfn4/7wrHOUSzAK/ZwNwGNR4FQ7BZzZ1Qkc2D80sPZMtnKi1hp0Zb8dq4J8MCrUg0mOAwhXv8E7aMluhopbj3xBHzRwYTBUrHyzgdcbfpBJ1ZNF+4xrroq0tFZogp0DMgl21ds8JcjTosE+WAEgqiqLfmvMfJ4etjuNPCriQigg+OBWWYzr8GP3ax2V/grYD6zz0N2o/5fXr1ww4rdHTFidyD+x92hjt42/sUgRl0N5WKbF68Q7AdeuXyPTf0hm9KVY3N3uXtjs3ewWdvWsrYNNXcBhyY92QmXJf0E5S6y4Gd+0z+cr/reeUDuh+UJzFN5p17/eMQifjsbZsry+WFQBYDkSdN+az5TwZe5V/MxG4kPKzsLRPT35lrKMKRA7ja5Q3Xexb0qQNQ+R6JFiR28FRlL9HJyI/FcK81khIohPhaVJqlP9Ol8OZyuAuZdrPvLsizX65UzOJKLloVOLWtQAHSqmhc2Ne2RoEupKuFeoWLtGmwflpczjXYssYiBbVWhlcNIaLxIWDW7NVwx4ILqPDHEU3yMJAS59M1RmZDpbr8ktvg+8TemjB409BBG7ZhsWgeNM04viQM5xy/Xa9o8xNnhkzlBWotxFu0Ol36SE8QstZOilYbPBuA4a8xeotcOEc3Ol0rke8fEANQbXXmhhh2nT1S4usslqBQvVRRmiwY2wfPNESMl5WLtYGctG9tvme9E3DGDnGkwWx1pB3kCFPqXlPS3pfkj/eMyVfsR3I5kKq0KJes9lFAxRYCDIhnAxjsxKwGt4lAsw698YVk+Z9uRdlQyQBgNBKQCoTx/ALLdXl+HH06E1tVy7ZJlHHaIhiRTEhsskZP1RNDG17HBFXDhHkUJkNNZDDgLrKipjtWxtJT+DI/luV7EloXnFqeZPI4V6/82InR+rS0mqu189T8yVhxY1fvkEYSUoqzyxpSEtQW7Ymu9Q5yLGf+QcOF8usS3opia7zY7gfoyeKFBjqzPO9kxiBwsFABZHaQ+tvhqzvnT7mpcc2jyOYFCj0Qy1ws/pIBT7gznmXPEac6xTBpn8CyhOROedn19rehPO2+rfUInYkplQJGrtu6G7actmBbYmHtcFMmHNR7YXsr27NwO8VmEDrs7EWCEsKy9m39OLCWygAoYtWPi3BTzpgF1/nXid3Bye2zJzpDZCNGmDiHE3IAwdq+8GAzn1NTy+CqR+ko5Jza/V0Vot5LOCMHwkwlwBU1Mtt7xRnzZpsj3+kzxs3pPVQ+Qr1IEC+GAGkn4wfDaXEdGtqr1PN7CwoPgfYBFyXKm8DkcjcbT3iwBc3zmUfHigqoj4HJRjTeH3Fr6aCoyeg2Zsxoun9WoyPkJDvj7Eg40j4/CdjWJvfVbptm9nUzr4uWnTAUrxWzC+F+HnMmhrAmLOtIpoqDOhdCDgflc3L1M9QKeFotUsj68OWanfBnEZYmfg0rRCYISZWrml4awC5DqLT4cj1dcGJ6SJUO6m8xwDhDEbZFqZyfYdfOD2DjeYk2VgTofgJyONGcxlzcniSfO29gTtoMH9EV0jnQiWzhzvXD3NsXBFLU5eNJ4d9n/zh8c2YMYI7fHbC+BDvPdvkFzyjc8tlkbiC1kNTqQeIr33Fnqq+zfdX09Hs/P2/JxW+4PFC9Bo/nPKCiQfNgOJBqLYkNqlmYS3hhxSHL/iuLdy4avZOtzWziE8a3MJ7xlGKAhNDcybpZbJYYbqmQxdFTvqN/pEsv1u4ls6BklykgaqkbEzECotlBQ5HtM9DwatZv7EHvzpLDRvO8LPbOL8jfwNxMhb/Ip2757bfSr1vDE8vZf99aqcf7YQebL/8urOhbvKwN+fo020k/bBdXQI1uBT4ao4Cj2zL87GG2v3Nm9Dcb3SrTeGZVhgnq+r3+660Wmf/xdBM2iIywzM35CflffhVfp6m3ywJcRM0L5D4DHA7tBqhWaTNzDbLbBT0Nm9iVAHjHhjQzPCByLEskbXyG7yfcsNgifP2Bw0NAgK/YN4HiA57VXEqLPEe01G7HVovDR0wfF6AdqTbmhR4GcDoebs4Pk/76ez8fHcVkPbyoyu6q90PX6PF4Ox4s61cvnflYf1UUnyEvNxVMOn4aMLOt384pyEis1Ijhhf+PPHPfYTgTxi7F8mPNOIxJAarLrm4RWkfKBz8+IZjXcDsr0+wwJ8Lt4t+tsy1+olmKEubh6efQo0hcp5EZUgqIuhQI5ciXO5YDDA7k+xhu9xzeCyZXoKEpRguo5VnFjNl9ZV1Y43SfZhx0ajAnwO7/PvLFZvvWvhHbA2jw6LDd4zBzw2iTJDf2UfPLCBZib6sdQjyZMsS97N9YKN6qXOEVthC69nDgsxqi2aZtunaU4af/wchcJBnYRS0oPJ64zeAfPy15ZfNpIwmnD3q05ydJL0S0++kUKJ9Kg1gv2jk1lsLRyJ+hHTBqOYkjUN5Y6iy2f2R1CoQR8B47kjlBj7euqNsDYfWCOVbtmC6txLbvGJPHE8NzAxAgDhU1mQ+Zs4BDqDWBjLBstyHmphAvNYtNRQR52VCjXmGKvrScgaPyxy7eJPKgMf9qpDazfNhrnOnF3NRZ2vdtKCxWgSvte1o0XqXzH5ndlCDxBf9nKYLbsmvI1jsdLImK76tnQSc8fLeD0zkw2VjuIRnLH6CJodPD6YeIRUV0tJJENi4YVU8GQDykGCuaytMPP+i42AEhbTwPhqkylzGpFGk1NiZBRTUsOcN1ky+KINmVxRroqmNJebZwN44AgnkiPBcra4wIKBgvdOttRRzXIF016yxOMZT/c+8kReTsw7I0mBSJq3LAn7IrIDXbZMGBYPBRwAWhQxTzqzhUxQykUlKzeTOczfeT0FPKPM3VwfcJf8TvEfMQrZlCbdyQsyXrZo5C9LUoSrVXEou63QRTXtGSTsCLalMjV6NYJYNzBixTOgtqQuE/0Vb63K2zDVev7C47WTUiyRBg/nNI+xyaKOJWX5sll/WYTRpYI5C2JPTzLPQ85vKtsvaY6c5b1+Hwu6d/t752k6wL0vRQfXQeEYzvIGsIhUSULV6KdNbRlhjgnnQZZaydS/G15xrI8VJCLN4rSfpNSPHuWc3Ry2lpBJmknWxSPXfA8lmjSY8IfQI80HfBFfgY74ex9BIAkX8jW+9Lz3FObbUlK4H069e1IIAy76ltMwXDtFs0BY1jOOBpj+oYnhGMAweIZfU2juilX2f4FMEs3atFPVdSNgNEb5wLs6bS8i72p7HytOmsz3p7nelgfz/t9/fxcPu+rTlHTUZvlpaHYQjGucH0RZ0GetNO+De1QAqxhU9p7Qa6C6JI4VIAw3MwgCJ115F+YQHgELJFVGoqsGBTOLcGDBiX2k80+ll76CHSFiuKw2pBPrssoHp/gxs6VweUlyBg6BowHpxKHj13IKMB5VbCDGxs4twu2t/98jXGJyT7f6vXTXVF1HBSqrtBLf5pN7wxr/cdvUTj2V+ZD3gULu6ObVca/A+RtnRlgdvS/vgC1EQKYbxNgrFJlvgGYWeUsoRJ6N6fcPcgWYbRtehBrW2VWAM4gALYVZvETJwwUi3Pwp2Aba0kCrJIeuN5JQqC54Q8T2EFgUDoTy8fJjxN+1ocZOek5sJyuIk40xKxdQ5SRZVgCWbGm4oPbVml5kR3uTrMxZYJ9frSmWCPBStQrjenFavjPh0yCMzWiLjJ0a5Tn+jr9en5bFp8nr/a7r/X4FDvcGQ9kSnoOTCjdLna7GCXFTyX72CkizCxw2vQbHOJki+Iop6O3iTu2u+6qlN0hmB+IsIPG/yuqx29CG1HFC4QBzS9IHVA1j7HEDXP8aaPDRJoY2sZEoKm/JOEyMVpXhOa3GrF1adihLCCg03RchYc2SJTFypxpiRlu90W38cRguU6/Sb4Y5kGaZg2jQsEwjsN7Q1tADs1i7C9/V0Qrf6eJDHPYtpH935yeobFkm/EED5I0ieKpF4B+mCzCkTyYUt4codm4djDWcYjgN2GN0PUmd7I5qSkAUhGFqBkokHCfqB3Qb5sRxwOdnHymV160MWfI2HOg4M7JCwYp2nMQPHpgAEjcjyS9GPwYNd49p0C/1uf1ekkCqZfnsFCZJXRXUuOJQIf01ZmkdUjyPWv5R0b7kIpyGe5APqKB2Mmin1Z7JzhJCOiCezRVZZlOd1ON3rbGqrhbirEgMzvMnKtJGMOgsZHFIwncAEzzjwGV7QXzM5oxSbeUQbk5edxAXmLjCKCzIsDQcJwJ2WhaEJb0dY3bk+6cH1gFuCjSZ7WqRnbFDwlllUs7PNm+PoSAcoGfkoxZLyaRTx4upHGuSjc7zhRQNhKR3BVoKhOJeaMy1DplQSP/bi1WiJlCUO8UGctlx6AAgXXXf8ZYtuYdlJ0EZnbCBkOb28hvurry00nL6TkLS0/Q30yj9n/KAmIEcYxYMDNadZKsQjwtQ6V8PM6J9lVvRWFIO7THfnVv6GLlElBkU+oQwtzn73ApaxuhEoPejc8qsLFqCeiVB1WKDCZkjlSkxMKNnZtDdJlBYnHeO3d7husF0eHjGNXt6gZVZ/xKJMwq8BxvBd2Dmw9sx5Om6z0R4BzqdeqFw8kO0huh1ZJb5HR0jYqFhFEhqdXeEeqrwX81l/bx7s/n84IFWGFTsW3kDN7WYWwzHiYlaKYlIOeNVawGslG/0DawLexsbGurqFFCDKVeeKAoT0wCbhjkQuQJD6CCEgWuoVHyyiTNInEcRVsJZpc90FAA13i2OkkizbmYCAANMI7rYQEX3H9LP1DAOcoEiyhnT9Tas5pYcFZGb7ECKAV3+EQmWknTbF0AEOBmFqMsJJg6UmQykTbk5tkRcOF14QJ2Kbvd93NRBv+6PO+35ePj/vF5V5aA08U9jPuxVY9hipbJkd4RJzwyO65Hut6v04HrdEYRDnkz3wa9cFZ5SSAwc68y4QTJdLA1MHUxeRzleIVL/GlMerPrYmPoD/6ASA0mheJmWgwL9MUFpsm8lAJPDMpHGAIDFODweViLby//6uTdoWEQI3fm3fbM6G1Frh3Lgmy3u//5ykgdav/DPKSCVF8i39EMmMjOehw82uY2P+Uh1SdClPlld0NXuQ1ljDSyzcp9xQbjf/yyf/18/Uxzd2sww9pdgJjvg2y8i28CFad+MvALHK5/xTphiaz6WR+Z8xH75J2tC+P3mnewQa/p1YMGhr/e+1lB0akD0QMyBNanp/4PGHXkYiGk5TsGG1yUW0I2JRiK0friqtvjR91YEXThPJsuVWr3V3o8x64Xc0xhO9uMSVX3wLuvL+UmT3NCVGDFMz/vh8tFXNjnB6zP5/W31xdnNum+y+X88rmZEqBp2RCJBmQwb5uZ4uLXXYO0IA2UDpyAXKOUYQMsxHpInCjIfYerwBy2z8Zk9QG35UXWuP9IHhKOWDDGkoH/hGm6VSPKyGQKdCuHC5mpaCE6WDF5lwd5MQneOpU0KNpoB8142Sc4EtXSZDB5nz153OkYVdES08BMUjvNO6x22Q8bIDdPylCpTgWKwT8xljwnDAAMJ+hrfED0rCxa1VttT7cqzHxgip+Zh4Kuw8VTjVk9PQU0YDRsPyTiO7JLTAG13tWSlAuFs0dSePZ2lFixSuIbFKwr1KlYenUt5+5R+U8ebEU9aqDpom3DcouX47Rfc0iUd2fS+Wf9xfEhDmuNl90HPVqRTpscNM/ylueqxihMZjLtKzgD7YrIQNhTTfNRcBMNcPQf5Rhb2tPPTFroQ7Yo/Zk2ZmWUtdpBQLd6UdCj0ZlypJBUCaS+BV2cUx7a4pcgQ/hfpT6tpGqpGQhRx6RDGq6lglrgUF+1WXQGwxlfElgd6CEazIzH5ZR8ShyWJWfyBJWTWAP3eFgewuTFh+aym+NnyYmtigCXI8Vq9W74RK/g8wQGdSA6OD031JgJL/btPhzF4en6QYddV8EAFN2S+i0qSXpX36L8mc20fL/2fW3vzMFy0VsFLmNTMWuiWKUxDeXqNYzqEJVVTYfTnuuyQKAcn+id0sWOGcrg4UzgobctqyfJvTqD1rW46t1FhDPkYS6oLNn4IAtJovJ+lIdECvttnF7YvE5p8u6w6sC/uE9PqdEDMC38pW7EJlEQtTXbNBsbuMCUA8MI1GBekMSGo11H48PFbWkaYo2A2KjvyyNsOCRmTpAOyy/LyyaqXBvmHrpNT+jAIgQJKMKIXXlK6LuZLaYcV6Lm1DulNwvirJWTjbK4qIZQmrE0yhACMMtafTTBpSdRifc2bYEqdOiEY4cj2PBFHY/Kq9ZpvUmBjs+82pANCQRn2sXjbRmWaoLBD+c0/vQvo1tVdp+X/S6uIH6dw7KoXMKWJQU1cA6L0UQovGE7KqyGk4mVuhFa6+QjAznoIlSz6XFRKxnFFBSPKRqMoKdMHvP99J+cbOiNIYTBWiUBeQqLaKdw56EVnGqgbT11yQhnrBj5rH1yHUI1nnNT34qrpGlg9nn+XF8s98YCDf2l/H8X5cDpVGhA3Hddl2V5LI/Hfbnfl/eP2/f32+d9UQTYR4q4CnrYZKe4e8MnPpSZ4hOvOo9IMUzqa+f6MpJw1nLY/Q5ho7jzdgyi4H2NRIRo9IkoeBvn3yvoFTx+Atgwgrlhh8TTEp2BfID6zIp/gGoh0uXmIujUk+039YWXFsLF9m3td+vJP4lb7qbcK7vgn+/dFjcb4kmy6T+9il0/f2+6z1fwRb6c1c+DUP13eMBvXL85wfogfkTGzTp2WxNvLXdk74M1/eenB+1eGWP7O5DdvenDS6rBz+2F+GA9M07mkJHmqhi044wvovreat+Jhg3BbFiqN0h72AJyCYyleHU3Jmq97agNOIaUbSI683Fl8MFAHZzZgFNaRCdOcUqRIHP8GeJ1rMHJtx6Q0RG7iYFyhRPzY9o8OmmooS+e5LAZgQ37fEsamkkDKaxGfBnbZH0+H4fnx2s9XU6H9+V0fJ7Oh+vb5fp8PdbnaRE7syvZXkcdN5AKjr37xkCiy4keaVdiI06BvCQZUN1mFSilrlX51h3PRV3RJ/uUUnp9AohSGIQlY9lYcaO4aeEeCGbbGLkYtMdpGu5oltH7Pc2z8/sSXLNKEZXa47jnSLCPDcpuerWuDtWn9OyIpsEU0dkqrBBg0m+RhJukC+4lS1nDIfBR66MdkS5dYarlqpszXkXb3h4hgyJ0S0E4E4z8mNcTCDXnj/TfDJ5Kfu9gG4WEVGk1Hm1Kt6aiKpjpGoG0AxvGFTpmZphxhhIbMBSo8X1MVJgFXVog5LhgshjdsEtg9uhAjjm306cJUR4Hrw+dOzjqkk/mQqMp6DB0Tt9ggsoVUz6NI5TeObfnqOcMdxrIwckiFfNUrFCTmDPjah7UxnH+gkOJ1iyhsk2K1R/MODmeislkQhrDKhznOUcrCgVUHFSN7E7zvS8SLEywUhATlra5TvzGBf19hMFYxWsEP5aZYRO31CSpDdAihqFxW7+uNz5bwxrzhNM5HdTM5cQ8NqKPbjkAN8u7BDM8BBPSwmj1Hl1SMwGrUy7beoCkQzs25WNRsq7spqEX04LIyVmeCbJJG3aIzzVNVTBHwXKMhOTQ9wAD79amkvp5xHSTE8rWp24unrZhQAS7vJVayCo/jVoCxwmXbGZ3WrZcIgE1aEH/hnCBJpb4NrocY/pYv9cnnfEJI/T/pi6N6Db0OfATEEGrpkImv5l2+hWRHRXdsHBMn1i06x7Z0QgIdgFAxGaFRdj6AvUBb9rZ2JUSgcp/prEYmXZfIevYwSqlWlG9ZSEKZI8fFi6e5eliKjc0L7bGBOmU4/h7TstrgSlMm0ncYJqeOqthV4byzcgqe9TCaXh4yBVmqlgtmAAGlrQw/gPfhOLo8+zhWYkVJp/JTO2FlqZtLXcI5gDT6hk4QrxbcfNAijKHk72JmzGsjnxsN8DIjFxxHVkIUSiwbKf7tv7oNG4JHWdBZmLuYOO29ScN5fZlwnJRtzcCz3dim54gDDaF2WHWWxIujwfbmnZl17bVlDjHy+CQB4ZrM3Lkf+GcKoMxAp0jEEk7Rx2jm0IYX7ykiArgb9U25/0W0wx+S1kNajCrMyF9ETyzdlyF8dXDpaemGqmp7KYecwzLmPATQ9LOiDQbzKC2gN2n22tRHhSeKAqAn6sOXb7dVf374/b4XF6LAZSQGjq65UQqozwUVfxk5HBNkksqS6JEKyc76IOGMcZTFTr4YgTnz8mWVGCkUwISwtFfez+52RjN9lujQBn1/6VUfusIQMSo7J/jfJjNqxSy+o1OMnF+svKMznlkMT58nL+MVeEIuQakDNeZO6pQ8u3exZCxOmbBvD1vfikK57KOkE9z+0/fhkSylLl2bh2jIcvcfo+SnjnM2zIILoye6gHyDWz3p8vmBVPa2RWZIUxkW8H+fR+d97l0++VnMATDYFsFZLkYk8p60U7at+8foic2hx840EK4WTEdN33MABBr7JqaC4NvBeNoJNW9PL3xw+PNrVo/Cxo709orUm8aIQwm1WumOUZl+sko9AXR5HyfSRrwu2oWecPUB6XZL1/lh1o7YvYDljT42S0xc9NpJtYXqFxRXmK2cJtw9CHM5YPq15fX8/+j7E+0HDmWLFvQBzDr9f//Zr+uzjuQjHAA3kvO3kfUEOTN6gcyIjCYqanKPKno1/P733/++L59/Pbj4//6X//1SA+DpLC+79PwH0snLsLj/vHxW922jGOewvzibHuxlG9puYXmWKC1evkuSiebaxGszVx5I8c9RPYGETluULn1/nlbkbZB8EHH/f6VuPLYSsUX1KIr1Ccg21cw5fCs9CIG4iP02GSKdRsvbiyxyS9FO0RcYmxk85eFrCOxCRzPBCccH5OO7VSh2RgeSY4xc2p6LMS22jCG5SQPwCBGe48FnuW0mcXMr6f5sfN0rn98f9zmQKbsdY3lmQx1VjFaG2OPjZBlqpys4WFatjaAziDsS/RZjuJ05Xxh0kj6RQqwpsycdO9sx3OXWTCxya0krdwSiEY7nsi8TH5cXvAvIACbwXL8LqwR6gXskGS7n2Cx47AHMCzIcyEFTEf35X5MccSsK5vLUu63CnmunDqukDp9y3K4CemcMGZ0YvuqD3ConAURDqGctJoV5RgNg+mSaHU3lhOD4kEzYHcum5xo1TfKu8bX9D1Ft66FoEzZvy0KawubIh6rcg5JuuwKXWsP3ZIi/0QAI2PQjZXK64HL5XHlKA3MHEPDVEGm4y6VFByloV3GcBGn+tZ4jDJCFO5WoTLzpqkHGtl2pp3PfG4Q/CGc/Pv4etw+56QsEloEzCyaD3qgfmyC1ujTl2Z7ozIhsZclZxeDpkicwQDuVMgo+QHNi4ZVUdUU2FHk79yWbJ8boLt1BOmaiahaLP5lPzqnVKFyWlYTBrOZk+ovd5tuyE7Fyesm+EDH3ewGRCTFCkGoE4hECFUspBA3R8MFWOF5RGpQ5qLCtMwM+VHb4BQzZG86YChdgw90dmbDvl/03PcjhyRBohsPC6zhDACu5QI2ZhdQNEFAAfVkibnVOgREF4RmHUigDcuN3EBaAVqlWH/icYxwv0+EGaJMWbVV/uT1slaNmWK/miuvuBhJdU6LtTxdfmBHN8yEofHmUV/qWWcRSqYcKvN3XRn8EXpox7ywFEINCZsimfRjUxbXMVsDdTRxUIDRjlnozzaRylHDywTLihWuTCmTpV0AX+bvGa6+LohI3RRYjilgpCh+fuzDeJvP53hh7AOOflJcwm3hbjBiRZYGQyyPj4lKslVuWqK4Q5lcwjUJyV+QMYZTIE+X6PTjVq8NlSLi6zt3RwPrAlSrehVtBJNnBjICShQswpEJux57B8ESu3GRXxLmb9gWcqMkGIR8zmb1T8qpJtZdsY6ojwSfO+PxRsSPqZPz4eP93h/PH1/PP348/vj5+DktTWjuCgGMjYQ8VF4hx7pm0L5qhsVeXTL4ssKgVIQ+1O6Vzxu875oR0sjEw2TSsYlGdNulEBmOmitbTc9loh3zWgEq9YL6Sio4D+6pxOmqo2D8ktkh13aRiuk+UROk1iswFAIuTit9Z6gTIQz8qYTqLxKcwMswJ1F4LnF8wLCE5JevGKqrKxAvsnOvkeA7xsJGHOyd3H1c54VIPlz+laf4WBtSc2gfcwHGeYIkdBbzy+syyVLY5Vcw3Tt97AHnUuqFetiw+moM9KpSsVSk3xpONO8R/8eYUVYa4pJZFLUYWmjTHbuLrCwIfSFgL5gsWjESWR8yLXieIQncME2WcFnB3N219ntXLTIwkftjjT8Z0SyZrOEwEai6Uf4ioEU9Mi6O1zGClfAoAn9iBfGFRiU8vt+/v/7Xb59f9/vPr6//9fX5+O3j+T1WxPdjtvd93m7vaXqUiCeZHtZj0D8Qxul0RpHqK4tNbIAplUtWyFW8KC/K1pHZqGLITyOC+rUBzES4o0OzmSuUYMtfL46TSfmSgyspIKsanHh/oiPJgUePUzEZk02QUdasy6RRbDnej2bBGDzWZBeXj1SK2aVF8AeV4yjNN7Nf5mNabLpNd7yj7O9y2oiHzNK+OQqCCUBjAPMkpOsUKqbr92hbjPbgBSVLzFNJHNMosw0utzifo/iWhBIUtXxsRmt1IlghkJPOScLXOscNeM23SXIIm9IHghxoYUzGPqPqm+mG6+kmM1+OkoXedAvD6UdrbZ8O8rTknJX8vwTNk6RzKExxVL9HPXEdPMVNcfXjNmDH0mQl8x+3gtzYAJzEMvImEpGmv0CeNGnwVfW0rYW4x/TS7Hol8nQ0Kihuw7AMgIqWp0iYTWxkqk0NPXhl5hnBYa03dEQ6EnGiKBZucy0MOEvLMcsCHMc1qzNDEPYfHDlJFousg1ylBSM7PJV1rYzkyZHmJOrg1TBCvVzaobuMeB/Zl/p8m0NhaCCPT7raBm4nxZHcyPet0yVqpEmSg3wy+Y80HFIyuMUUEn97WMlgSKh8n0jSBCNy1ml+SSkJnIAjDAvWxg3g0rFHgMMIbEaDszIvYlSwFll1SLaBwKk4r+6ZFXZvQEhhIDU/TRmPBSLGlvAWc95siHVghsMqnVk3TNfDzFv/MqCQiOGRCFkEN6j0MC0ihHJ5lFmLYbRoo4U2CJdYWlPVWuFcS6hLGzLzIdSR5l7u2yY2Is3F4p1rbrdkuVAbAAauzFy3GWPlwmzegfjx86menx6G4yaphLXpQg5kAt9SowvDrLEewS0JwwujkFKuQxwhkSqna8VyqHVcyhE1Qx1gJOCvddIoWiqro/zyVKK2OaE6gi1bpCJZYM48zZYg2TmMdxF3a874ySE9ER2sFMUZny1mwjQ5mA7PH/f7PXQRiG2yt7tHVCHdoTotFdErQUnVYlSLm1LMc3KZ5yiq8d4+CYClqyWONgIaQAVdvENUN2U6nSrtuzg+l+Hz6GFIGYFkWOhCGbxhyal1jjMHsR3heERG2IWVqZhrZGhDZGp0HcuXY9lomivZYf1c2X01Ob1Mo4TfDTyrBaj+Uu3ag0ADQL0O6hEOaCMdqXOemSEnuJi72Nm+Ck+YdL895Ow7UtAoyoB0ej3TLO5+f3xN9fPUQN/T/urH4/cfX7///PqZQit8aymBZo8SEasAg1MOOJ/YMc1UdBy58cywL6G6+kTtiPkD78jDGJ2sEuG54YVhM0sVqw+lRVIlau7kRoBEHt050YZACuEnmtVTueqkMZtCQsqs69LowKGECkwKMNQWnxG2XIkY7jVFUddvvLxgRPX7OB4Pre5SJOCaZozVCS6rON0rHrCboJJX7GSNl8+CIhFtWIOJ7G377nrX3pl7z1dX2F7ReR60V/p3/t2hz7UXYDSa3jFd375fL+cFlBnqdfX+IHLyDaTYbdrVraGsziyXH+/Fn9QunUmpMeBYQtCEXWMS6M/+PUetnyKmYDysfGkMKRmsAFvYMwkyr96ITK6Yt7H+a8VChy1rqmaMvOSbChUoWfu9JIdwfSUHFHO7OiuKBVQG17ssBZZb2EdzCCbPIg1WBaTofr693d+ePx+Pr6/714iv98fXmPbfv02fLOQtWQRCwxdc5FHkhR7P9JgaBUMdzMccrKDRKLCL0y13V2gDzxTxgVLRGyMCyH1+3mbj8kwI1NbVb5IQt46cKvVAR1MgXqyjX9k/w7pT8SMn8fJ1BNTzYyZP0IHiKVCIf75OYPZG6VCR/oWuG3Gdwt3eDNQ2eC1BkmOUeDQnEgdBJxG/SMl7Sn+axEzybfCSfqIUZ2Ft6vjFw0/e1YaiHIKiaxGQJzOHUxVUVi9jaVQRV6jkJ3zQyQ3Ac7q+oVzqQzPhsyVVcMYWvd/JEAG65SMuylyWT+eFnUQdFkRVMTDXsAkuDrtjjBe0nrw0r2ZfXQEly9gstlKk7IbOSFKBZnLxmALCx4QzUtuM25zdo9YLK1muQlFxYBkLkLf7yfFoFNoasp01Kch4+hTTWd1qkwF0s6d11uOMh5ZOvNZlsGc+sJ3v2EnXKuh99Ex9EnuK6iyMJy9mY9muw6WfH++zln5FJTROdV3ztAtzlDgz9eQjBUliKGbJoL15fZi9H/C7Yipznzn7uqobYR/qh1G3BjsWSKo1aBQ3XaAndRZYs6nBIF7qMrMU8Dijjs1KajTsBGpNDDNBesPG1BKLwPtocb8IYGPmEo1Sfqw2awFDBBR3kM905yEzOsTlv9U6WX++D7c0VqFWmf9PczB5bJCAj3Hl/JVNsK02SkxtoZkCfdO2MEzXABY6taASPawu4hcHXyYHXtNvLYVHTZQefMtZoTIXZIX4EEBkceiD2uxZiI3jxVreqHWlXkQwjSWdJQ7DREk+EludlbDzN8vpFICk7vH08r0RyEBsFFkjmzJoNCIcAnmAjHj+n79NmDNe0pIDKpAdsDyFxto0ISRAVKRmTAk4DvDk5idWhB55n5OlUzJcLLbTUzZIr6FBvCsF4xMoMc6ekKHhhsRi7ve7ihN6byMKsAQ2Ub1kgt/dyKSUkcvxmqK1EqhGwgd4JVctIl1AsG6Of8n+8iaqHmHKoOzmt5w2wbtRe7dybSCeFLuVORHi3auzFROZA0In38/T3t1cTVkXX47612Yu9ZerxZeyRGlHNUQ285AcnGsNNVRiKjUOw/DYWUt2H3CGAsAfqpqAfLWXphjRBAYIweQCjnCg1gumIEI88HBHMGEFJswWI3QXlAsdRWHE780/9Luarb+Px3i/j/vj++v++PPn/V9//vzn7z/+/Bp2ssI3OGXAEJ+Bc/gZRtBIZD28X2FRrO9bIXhAj23jD/liRRRiUgkkXiQJIbwdRPP0LDokSy90p0QAvjPIOLqWEq3wy6szgQEqlGVh3fQawYHwsdd3GqJx3paayoZ9Su2DckmJjen1/l6977iu9LmIP7/3I/ivJXgGvbzUefvDZbD+ceResjf88sDrNbyuF0iDq2kuPwhWcXyhImfQd3955WnCbKckefSey4yMkJzBGnTfweW4xRHyQBkk8zZQD336wIWQhN8nYogdQNZ8UL1eVsf3EW3KCWruMBUoA+pC1+hFAsdcw5CoDSBR+xx+MvBwRPdCO0Nel2+tDUSs0aoSGc10Bu0UADNBPzgmQxJ1ZdkLYrDA8ykoow3+CEz6VnCoSd4NQFLXudYYA9IyIX7d8/71db99PL4+H1/vz9vnODMxnH/+/PpIV4sychcy/xnLJt35NqbRx2wqzkPiXAkXGL2ARBJIZnAX+QmD4zY3sYHqJVQbAy9OiV2OCZjCo/7Tq3V3tosvjh/Rjmt+GIyOT+LnVM/SH3E6GuJjpP4Zw2wdSISmNCIqjQngwaabrE6paMMVx4yeNaR4FZ/EVQwcZt9Q9/RlEZwQmYLUuhvEkVbTTc1hKrRJ390f91b/pcw1Jz9PrR3Fk8mqpXhyYJHwOtppd8wou0vQWdGashjH9ZZhHfP8cacJTKDo8mYXD53DI9HFzRWDYQ6O9voY23N3bC0odc0tGo9NE69sbISkY7Ml9k0chIFLokzU7P+KvMxkIQ+t6MYk1y+jB7Zk2rgxc4nlQt/vKSiEfArJyqRJ8qdBSIIduqMEoqRA5rnOReY7oRaoE9WT9UH8FaFYoYVGzuM0MVuU0TXrzs5lwBARpwTL8xuFy0Oyd6AurohDnAbXYLV7QwGOJSBjdA0FRuipjilbhi0ms0hSxFMn9ZwzkF68VSPQTdrRWFVbBg9Q6WpEywbPzY49xXUc4aljoz8/4Bg7GCIzbxNogf/uogz64lQYOYM0aedDXt6ygelzS0scqSHjHRPK0krlFomlzCIHZrrK1HKAB+xp8l2rUAg/5PcegnxxNrgizhhP8Q46gxn4gR4rZQNUdFBOJ84meE8OJBEXxAOLGzUPUPzzfc6TxyWLpK6txvhUXKhre6ZOS0wtdw7vdes87R928Sl6ObKl7LminxhhgpSRsOQwhdTckTw8Yn1iHe3Fyq/BGuym9+WM9v9eYMByOmD3ADZlHGU6QidHE8cB/b7TxpB+h1AhSdp4X+1gDoelPAd3rotsaGpAmsbOniIQoquMioxDlCpY5z+OvJqf73hlRk8qfY6OPbX3ViSYmnZvzyDu7Xm/J0CmyECPOhEpfFZM1s4iqwwRn3wLQJBmPB/PTlwCOQqM6MUthURQGOoC5XJy3naHDy0iieEReRsWILPtVvnyrOKP8gaLjnOAdjakh1OlcKujNU5n1rMPikSz53s1/J+t/5Eaj/vjdptuAuTzixPEECDCDXU5lAChCWHMRtAHBbuRIRBHaq4BCeKYbH9BnZPtP49tdeLz+XazXkuyZKA9EwGaaP/4yNBUlLvXDVumTG05HJUM87UnckNfdQTj/Q4B3u/P+/376/78+XX/9x8//vHPP/75+49J/wYEEJtqYVCODqvct91pZRV2Ay8u4WH83SvzpeZX7cAABeHEBznd21bCTFuu+TEb6jtK+/EmEsdXQepcTKiLyayQKqfsrHbSmZ4zvDy95gvkraUPUykw875FbjpM+RL3RI3rmPuPqoFftzhsYdLrF8C/wqSfz4Bn6/TLwjYnfO4BgAX339zDt2e88/vLVbzWz79M6ZcJiIH9WE0rmfIWmd4h6syiCHMZpL5E93dzOdddvgEtv17vBJYIS3quPiCaawo8rg/yDzZ0ai7o6o/FkeYMJBNxiLqYrv0N/wmPym9mwqY5hqL/+SXYzwL0dcNAlMb1p4oroVgJ49JECY9Rlq6AF0q6XhkgIm0HvzAaWJuT3itnMiTL8K+jufe5PGieyNl4Albk608/3ydqqcGRFWTo+Wvsiulan+KVnz8ft4/758f7/+t/OXoaAn3EHY0cgEVF+KYkmcTkUcbOn0/sKDlws3Vo7FNyMLGvAIL6FGMqOtXdbRrPim+j2G6jlVXEuEKZjYWlgKq2zHmR3vcC2QlnjphD4BzvlluQ4jlEEyfq1FWhqCB9fAMW2ZHadpdIPWBjg24Qk9HZQ8W+96j7OYWC/hS0/2/fSrZnwYcDQs+hMJ1DPoEuSpAM+KP2Lb8933IUKKp/Lmvme6aX2LRhCEMyM2UL/QwpJMCOkTO1lgPtpHAgDD0rKsk4E0LylhYqgpKKMzJ1yYhWlpJGVhdbT1rJ0Chv2oYBlyyBvZDrxCdTrbATP3l61B+tOHHXVgKp8BAzsFqMf50rC/Eq/3CU6CmVg0swcHJj/Xz4QrGARaef7Gvmk8QV233tFcoCeTkzlwKAKliys0wI4Jhw2ISNjpBjyQwdGUaFH2ZuYjszoTmUGPRMSgGfSsw9vu/VhrG3NCoFmiGfQCpL66w95US27cPnCUwGmEi90o6oTzFgQk7BgGOy4o+36Tgstcj0TW/57B6xOaPOmef35+dtkkA3ZCcoxw5mhUJUQGvU6HZn1bEA1R25PaGglKMgfzA38wEMcy+5UsgoZDNWOD3TJEde+KuWaSIJKtqwRIewp8UnFRRAF3zIVEB/wxGQKKJiHakWHiujRBKmMBrjIxmzaXl/nz7YMbbl21V4ctLAfbl67WYVVHAl07EWDYaBgKkx2DBVlIjbRV9PWuKlfxJcUtcbTgi3SbIk4iIA5cPFZL2pqMc0x5j2SkrDQJhEyU5gvbksERmRz8RM6AbE+an6dZNeT47oaHUwPDGGyZRxJdInYCFaiQTZKmLUKHnc7LsgM1jHoT5BHmpU1wFnvyZ8kmomIee2++6aCJmBJSETxf72/duEOohBGL5BbxaM4c/U/KCf0uxIcUA7qCO0G1dbGS8CI9E2cDN3JV+sfI9OBwhdVKRAWjhsMTaiot2YtKTAL3XehYdeBHuYH497gT/nHUB4sCrRNRjPSc6Wj/AOhUeeVhCtfPHyu6V/XpaIlHuKEukgtS40FTzcDhK9opygtkCtuopegriKtNFcdv9c8Do6I3tFZmh6ZSEXnYs158AM1yj4xR4V+qicBMUhRaRWeQjVplW6TUoR9xFRU/J3vz/+/PPH18/v3//8+t///e//zz/++Y/f//zxlbPFgy1Wt4aT4hawAg8p51cIadCtSLjeIATrPJzbep0RKKQ6y+c3a7OSiXYPT3UYXDdXmcRiHluHtUgEViX+cp6qUykIVXdCCk71zY5d7c5ql/UKf+yJo119ilAovJTifdqvF798/PWK119iXl5mzZcvsL2+Dt4uX53J5QWaXkf8Ty/RuR+uPyxB8Lp6lf3otRKWuufghq+X0c7Af52XF9Ruv3wr6Tuj1/vyRPdMXaib3xoNVLkvXsGgBzHshH8B4/HG9Vf5uPU4wsdF9hhZVaWFMblElfA6q8uDzLZRudrXy476jrXGKETtT4yJOOmH88tMxzAr1pKWGHNtKvJCcevNccX8y1l+V/poeXpNuQiXKBnyBN+TLQEeWpax4ki2js3z/fwth/1MqvBx/3o+P98/P2637bmwdC4SAbSzmXwUVV04vhWhRdnZH2RAFrQzj0YCWZvhyE1yCGSCs6yOuOjBmK5IrZpSrrQPqdWdkgtrRzVzmLvG+FOW2ASE9EuJtrYb7KXVgtwpeD6yBc8yOYqG2SYWFZCj+FABKbGMR9ET6AIN0no0u+yZPvG9ad3UlfJqY97Zgriby5DJpKw/Pt5vdK6ZcTF5oJBsRmD5lH7q5i1hV7BX0sKpJIow7ltHOBfNdrmS7DylDjOsGoMitnU63kw5N2W3kS7WYIJT+onNIGM8Snss2FMt45OnKck+1OruVD0YAwp8AhOZsGMUeCaDovrXNswrxx0JJ+Yw0Yqzmy1PpP0mYZLnVHdXDszTKLPFjrpwKb81JNMQAzZbYkmxSrrf++Ly+4olkzdsq9Rz6d5MCrLjvsIjjLKZhtirovGKUXtlgVxMGggbo+pzDtBlDdmyLs273IZ+SKwShvDgGya//dnmidjkkaW7MNgwuDgxopoODTYm5hXKSBVDbFc2XiV1unuh4fVT0ze7BYban4/HOMD0MLhGh4sLYWXaUOkSQ4Bsah4VtOoyNW1NNFoRhksA7HAm55KNviqJIvqhVwFTqd04UABAC+zBq3mgkOpKikpjKCI4ragamz62eb2v3G8IFMlv6W33NqePXyUmqmkzNrklm0Un9eejZvKPhmriV8/d20Mot9R507dPHtUKDY/7qejvzLjUAL/pYjBhGz2xs6pOCYXQ6UF3UR+eMESnNekIaPdeZmrRQuI6RN2SqAR1Cc4R/QtDkmNsqt+SFbGMoxXJK3ilT6UR3JtgBubLLDNltJ6uy5lmj2k4OVVXZA5TDhT911yl53W9T/Nt3rD9nbJ5fFQ3CyVVuJSHJ7lyEBjsNubZUvKYzbvSzZDE1K6gD45srOOaDhbdukEKD5VdUcpzcKmVhv2SvlC7fctSPURiQIQQ5AaspYC3BSKSBNwEO4+3TBJ44ABXZe6urcHLEUDT3no2dOWyWZFAyE6bcNwKoCSXUYbUEQdKYQGwCVicCCphyqerxtxZtydYZobWXFQESj+FM2J9wInJVEoN6rO7OkXyMNT6q9K2HkE2CKD1Q9+U+Fau5PaAI75f7jqVW9FQGSpdwWEyVhHvlxrzx/378ZycydfX188pgf758+vHj/vPr7fffzz+9ePrH3/+/P3n/WvQl0j/LiVPgCQuL34tqhSLSxMFk+wExqVGvwKEBeVefRG8e2up8Liuq00vaRXEZmRm5EG6OKKiy1SpECuxLenzl5S7z1uHcsZi9wxU1K4HooY5VvN7x3l1lKqsfXXs/CXBXG89jxcmZ6Rzf7+8/tDv+ReBvxM+AYXLcAX9uVM8dhwE2XV8X15czqii46Pfvaz6Ly+fbZg0X3nD632RwKWXX2FRxtr3DFt60nng19dlVNGsz9wAMgzKxW6b4Kl7XaTV9d6ufcVmn4GZN9/xuAyb9Wqg1kw8wBcqjqm0qAGRKRYnDWvl2/oCh7j+Qht9hHba0qWq+9xCCI+J5sFYrpFOgncF3SvKZcf12BG14d9879ZZr3ItbZEEgaJKOPBbQMdcmuB7umF9Pz/HB377vhHgGzU8x0N+PO6fHx+Pt/ePG35dpubOI0whZtKmMXOFLXP2LL1qLYSwwq4fWVEJBb3AYgAEj0k35Sql9WQdSgDr3eaKmGdF8dJq0E1sPdUuNZ8qp5wXVm6uTW0VqLEmMs9098qLLm6scC6xYW0m3xYw3TFbg4rUWxssApDSYdxDialwoW45hE+a0dZY75+TRFlrK1NKICn3xejJDLPJbj7FRkrOEYLHuuBhMGKVEmEOGcFS1YBvEhgQLWFPoqPrF+E3thn5adAzbbpY02zABLlGlRpg8NzvLHoTg66FJluAXcX0/J4zTIUVq8dqSQbStchM7NHDMIna2rZEZduAF98edvv40HcBDVkraWMmhYWZHe8Cf+dregADcTM90v5cQ2OvkuTs+jRdv3KDZAUlpQ3BLMfwkOx3T5qKgrxKjDbjBXfJ7b/PXv9lAAh5dusbCrRXbQZhB2L2bLN9Nhn45/05+SWkjrLdna3xSCsmVwYpwzCn5rAMaNsdVcgumqgxFlmzVEeEFN2lnnTsetPLzyJLkeSX4DZGZny6T06iSfOzW7e90RoqwgJclsRiVEaeNRWGjeTaKn4Xk8ptnpz8TGuDi3mk1YtGBCpQ29C4q4GsSVvHhwmaJkrEJOH8AFARhZ6ih80STOAVQaOQIImheOMgbNovCSy2tGvgB1QXWebuFE5LmpPRcX8JC4Wk0SWzap5SjZ6VVp3DYNE+eUgbTQevPXuJ6b/RCqgVQRlIoabazJdWqVCzHeykK4BiN25MyiCyIKro2clNwFcMqKMzxlRepUh71Wz4I5HQeSysxGuoPRKaGBrBvBmxjcHY6w+t4reDX7aCgwKwtUGpQNLTcfTh7Zg1NapEJ4gkQZSUpqfzk+Wj474i7gTWvKK90/rvhMjzIHsMEohqFzIZITaJfc6zLHcjIB27AQmgNpNAG8wpqk83iIxRlSwpoZylEsgMeUa4wGkjPWpTLJch/ODD7BVhk3wi5bWH8gTPHwAahgaDu8Td8/TKRzvGzcWIE6MhCq7OGrDIrzZLFNBuw1CGl1C7WO7TPmNuNRSNLmnNGBzqOWT5BfsWFpPgYegsqJFgFR78y9pkMR1bmTp/s/hIdU0ZChsguRXZvPDHRqZlHDurYGY8v5/3B/9/T/3zbAb++eP+54/7j58fv/94/vvH8/cfj6+ptk7ZikBLsDiQIIzY2KJTXKelGjkTaiKkMqy/l8z7XrEL0VZPAshqRjRo17dviGxWuIyqqjZyVHGP1Syr+m/G5slCjx+2hvgC0QqQWu4GVY/48wZIdkXE+YEF7mcJTHdU1okYuQy4MPNvCaTfKRD6prLvZd4HmJDmy821oc/FL59yGxec6xbHf32xaG9zTiWIv73hl5fDHg+1M72udVcrsexFv07ygtNFMEyHdal67y/SwmXuogxevsDGjWo7bB9dLoQVzoRhhvT0V3FB0wQBrWSBIgRu8iDRgrVWO9ud78LklUZky0XQGp2u4LK2vgqbwlq7SW7ODbBqCEg3gi+Vz3XeaD5gBHwhum7G/smYdSz8UpaRhCI6Ud0KxplJMNkVxNhCME0tbczNNLSPaBrb+DaJneP5yWAlE0p2daqY+VqAMw2Mfj4SBs2zs7PXhhg6CEyIDbdVLnF12Jsay5lfATiT0S5FOAZJMeH1WWuE134KECAeUIM/lf5/U3l2RhIO8zhahgTHcstqu406LLVnng+C0WMnpPXMUd+SCr2VnPj8mYNIyz8GvpuWabQdgzPiu1alfaZxBbvTOd+PcvycIwygsfuUSePz5HcqDFCo1ELX2i+IWkQ+m+k8WlJPOJbUFu6NEVXIT3E1zJSTgyq36c1ZB3vyJRzRZAhbmwRCCvGSVomFQAzgIlBdAFmrYCf9akJE7ewrbTQWH/JiszM7mNx7CMCQax6T2aeUDPQ0Yr2yeS3gX5lBy9EAZbQ8X2ogIIx4h6zDfuuOqLl67M+QsSf35OIkz5UPMP7M/J6Ugwm6XFZhYYGmZfbeZXmv7uU+PNPDNIpTQHmmBMy2vgS5zG2/TT38sMLjOVh2/CMyyW8nV3HPE2MumPd+hSQxMxJrn1O7opCMHUwtGhPbYgjiNeR7F4wpioaQFGjw+P3xmP1cAK2Sany9x2Pcl1D+99vbTeJgWu2nygTn8YE1zkr6sbOAJI7aT4Gl43ohO+KuuVqwDqIqJZkNUigEHjcNnMfslDWGATiKZ26/0yyHlejncJZp7Z7dUWkwmfRj69+RsMqpqbme2M/cG5FPG/0zz6407lls4mDq+Zx6FWVNaEwKQAwaIrSMHhBvjQRw48A3lEE1j0HfyFOa6c+LDZqzlRZVFzGeRGsdcrcoV2hWfE6cJn6Q6GGffK7lInaw42URLLAInNhzSm12Yz+6SBrJWo4H1VJ+Vri+N9GJ1YzTLQAhbm2zcmZY/D5N/4FAhHLosEv5ThXNlFgkTsnJqlBzFEN7Fytlira+yb7luZ5DFIiJMi2OUIuQAX3re+pQTX/LxJy2Wt7mXkGZuVnOA2BPOGxpJ/oaN+0it4VoBimnCxIRWUyF99tvk6YHj5XXiCDiIwEXZ+de2G3ngwZrlAESbm6fExTJ0lF5Ijkx19AaP2Q2oB0UsP0ZLjjlauDVN4mGf3zS6MJX1MfgjlO44ohWxtDGI4bXRBA3OkPQyEhLNMD8RK03wr3+7VqrI5GpB+nG5kStYKjEYkSSId5GI9fMQo8l6WK8QFlllYpmLuqLR8Cku35+zpm9k/v9MW2fp8/81+P+8/7jx/2PP7/++PP+z9+//+//77//9z///NfPrx8jZT7DkfP0REDhM4EnOYtZtJqqZaPmgB5A1FDc26vyX35Scverokp9LgFVvPs7LqlQkzko4TBmikOCR7xOQJXE6rtFF6NAetVU0abY//NYhSkDKYA0G5a8NNx3bFR55uAj9pYuBGnRuaFr99LuLvS55/0VrDuuVAH892WwNQ9iZV33QmFfwmfv73MP//z6uvyiqNuBf53jeeAvdHF5f4kX/OWlLhUKBcFJwF6u85fepeXfL4tgVaOI4B6HV9YZRQKvrfS7AoR/Wgh9PAt4tiXIiBR0aoTeiYBjzPA/mS4hhdKG9ktjOzwi3SGuyPEJl09949MWS6/kdMF3Hd/MzKgSP8IBTA2ZeZ4UmRjoUGZTmaoCaxxgxiJJuTs4yjMYvGeRNdW6gs0N8KCv+yR45lCk6Tcxxk4yCKOR5R3jrcx6jmQCxuk4MrtMu64IC6w+hCaxcEWI1lsWG1cLa4j5NTqV2y+l4EgRy3gkqHJmx7aCx8o5Vi8i+BjvBbmKxsHUAV6QJWpPlOJj1PJmqNkvHb+MWzKpPYWzwjVHA7tNJ8Ng8pEVQKRsLBvzrL6StVeWpcfyVinTKQSn8VA72B7aHY2Z45EnOP5JK1OMAltmqCPs8TkHVVyKtLrYymHtq/iK2S47eiBryB+iTrYUBvJyQJoPA9g0ah5rO54Fp6UkSi+jBPTd0liKgEMiNngFESgkEJoTj97e7l+Pt+97tAkF56Es8lNZyDqQOF+HBtg+/qjh6UkW2UIYwJJj5qeAg/ZDRI8ED5Ls+Zgt8QPGGJ+cdbIKSkbBzDPAjMA1gX8Sm+6tk3d5KhWQsz/vMfAjiyCrrMAIT1/McgzaaambHdg1DOnCHTbXiAqEk/+YiVFdXKLnLiUzeVRsEuzemgXfH283dk8IphEJLgGvAIDYNDRHS6b5H2nkKYvjsFiCmMCGJtWTWEj4qblPRSN+FlWfUGzOkWlD34oEOAMkxOuOCPq4pQlWvPMeFAT7HdGrJSGQs1/UVJycXK6DN62AXO43dezDhXieo8ET0zYM7li1xfgfTzehmrSKBa5MCBzPgxWvmSUE7YTt0DCbHdcBq7jrHRW2qh8BpYqKyqS1YcxrPIQ8xbJSRSd0nQlYxQ2nJeYatEVETXLMfozDX+P2cDSRDJ+7Uo2jTEA+yMNFOmIUBa6sqjHh3k2UpQ5G1pNE6hmQ3ZlZUeTplKmfI67N1SqR5qBXQlJv37cbQaCUbef5iMwIfOTqzNPzjZDFM8dwUzohTzl0CNeG1Qb8Zt9uuDDmyFQrPaYkJlfQPnppjmIewhBzxPGwxJwTxLRJwod5c+y7ukHHkuPa8VAzPri3OoSJNhAVeg97G4ALZNsdiaKvoOTCBRNbiWvHPKrfB+8qBCUvnjWP2ijPSliLdemxEXZNwxIQD08EHHacCOHI5FyuJBRi078dM0PzAP6cGda3JHxL9SmPbuYXu4W4SWCOIwrPrPSvwlZe587cTGJ3ll+pCJHhd+cZFAc0lEvxO1hxBsIA6xmEemfdWnccNFoaWuVoAYLkCBRWjvi7pRQ6OGPqSIKgqaK/a6lIgyYC46kYb8xiqHp6Puf/++M+lc9ff/55//fvP/71x/1//+Pn//2Pf//373/88XX/SlVAFaciZu14cuPTNKawBWUAY9F8NfiOMsAu+E8vuNVVLLXIFf21r6wXMcx14BCc8vTlbG3XvVWLUXRFIEkPQNEHSj3AO/8pwVzayh845szOFZSE15+DUJ1MA5TitdADeWe26iJ+gvL91XcHnn7Ye4H6hfed2bnpOunLa68veP5HtF2nyEdngbX0y1X/4aF+U+mhGXxZ4XXG1emXOeWhXKtZijDpZPYmGLRYP6HRHb7DHvHR/7oxDobIb4kzLr4ILnszv0Mml7XsLCqFtIpmjrYPzCF22/exMz6r9mbZnKEZnnAhV/HNBgYqXxhHm4KXFN4p77LzBvkT620PRN/5Myf/r/3ZGeUpTLqn0wG4guPCYtq86Jj91+gn12DAEPGkOdKcDfL8Hu83rTnGerk/n/9X9Cz24+QVns9PjhTBrMk3tHdNAL5B4TFLc8gkjcRIr0WjoX1m+uTBNJbnZwTFVbZAYPxczxbGLfUjU2c46wnytZQQwvUy7Xt0KCWHpWLJrcHZPlS40YaHfKjYjF+bvi2Zkl5/nEybJMQecNclJGsB2oVso4zyMy2oFLOvLEqVUGgmMAqHGZXI2IQkO6Luq5uYdhN+fPLp0JvKgngizEUCCcC4UM3oikKukOXiBQFe6jSGaSO6jIV+JbmiL3c5A6XtM4jg22eOqAESRBhKGTkaMwZUYZejkuNaT7LEds6FWCxwyABjtY/VnyexqUGSf04HqbBmjsIpJ5YJl1WxYK/P23wSt1hbjQUYaufStGAfLx2fAqZdXoSQQUbCC6kSL//XjB8DrU7syDR6l/kEKTb0mMxNLOHGjzSn5jXwtkCwQjAVHLRH7TGrZGWbprMuGtryzIzZDSGU0g8XCLpS0ytZSrzlHDeab2yXo5VlM7kx6RvuA0Yzpd9uv4H1lJerGLp3AH7BmTSX7jVzD01Nczni9PGcRn9v3ze+F4caZdCCaC3NIO7FgqXEIBeu01ds9QvHZUFqyqcGYK4Uqp3ZC0ycegExMqVU3LPnV7YpPr8/buMYULVw+7y9v09RR/b9hyHBZqMIF5t7ckEY8m+zyUX2nRRZ6+OJHq03BXJC2Gvr4fgZzkyJZp6HwJp4mx6dMQ8l5/i0w6gEn77xkarZspvFQc1z2eb+vDAN3HIsE3IXgrflwSmgCSKAEJ4ryul4QfGx6H4rhNvjrlJvOUVz9/Nz+j6qmY1XrVzS7d5WGk5E9nf+axzEeZjmZ88nR/gGwehHgrUU6aPOsmqO5jW/mmnk/PkUoj/fP34bb0bROnc9H/dJ4SZogpKtx56VpoGEFFsdm77ZVKFGYXgOGVJ4bZ9yOcs2oVBOgJP1nwep0eIE6yXKBudyk/uiZxu4fRzxnI/9nle8ij6hmkbxHzVWHRQG7GTU0FNghKCJeM+VNKQIUiAjxH17d59j7o40RWGQYmVSzCUhixkOYZiwBic9AIRNwA6xPh93qprXejA4zwpzDVIBXYuaJz6NwCP2MATmCPOYlFFRNHOFGhPHLU7T07IqpDsmHqKZHHVVEPALEioX1/KP7ENbQPDqq0n7DnSe96R/f9wfP+9//vHjjz9+/uPfP//3P//8f//3v/7558+fprFk2NgRoJNNLzwNXnY2wSzzWqCvdgn+i4eljfOPItYR+RIdDmNByBqg9WOE4gmBZY7ZPI9RC9g7NcRHRsaw47m7FixyJnGceUkY8hh6q9eDCeWdTNZ7lcbr/pzFaQetOX+eXfjsFTv1vbkk03kdzVeoc6GWECj55TmXiewYxdXr6zySwQ+mrig8C+D9X4bSZDjIXReMMUTyX4e70Ad8Fk24jioqbm+gcGgDQE5elXqhvUOgwgERsVZyqERNKj3U0FgIHHykRib46jMRT1Cby61iyt0Ld9gqROwDaOpTMDVTb0XOFVas2ihyAepp4UD6sphDUkv/csMyTkpumWRFEe833btCBY7bsN0BJkvQOma9cSG4HQhnxZHPiZnz9GJq3uvpzXemT3Irdap5/Exg4vOpklCV1NbzjIzYMmcvlLoZaySn4OYMiCxpoQLRKFJA6uVu9GBwuTsGlRsZuvJwqTHzzWIDoDhVdnXysqwlGlkVymAQH9Kz+2uL391tES1fXwcNI2wzBiYKtlbUIqY1huT8pr2SasMZHq8jJ7K4C0yd0oZTeOCKNQyzpSr4y4hPIx85K8EKxzya4AKdwTQ1o3bFgooJk2uM0tvnbAz+GD9xCGka4ebgBoDHHKYaFaNIxG3jjkY2WWoIHhsvXjQqO5VBTbqmC1rI5nM2HTSwr1yUKcoXfSPtaFb5HDHMhXtgBIghE0nY4RnbO87P1jGUmRtPkiLabKhGyGVDaa5KuIZmTiJ6S8gQbsPF0xhOh5+URHlL0MXwwK8b+yS7/FIqN6eTkkOt64V9BQPMzWyMnLdkK2kNAFoeiexjWEmqFrH5n749+WGkuH4iqX5Tu2sEIiw5snSISnGRhdVthnFVMF1l5MbcDmsGPElNwZyAU4qVxTASYAHCHEOKqQXYrQHyC9wW/Nq+KWulsnyNBGpCyUVfhEYuMM4G9dh2iuQignT6CpUWyXTN100BuTN2vG0tUYO0lpxEifhg6gyZseKlwmfTKYEFopQ3S+61a4l8SXGgihp9RtxkFxWt8tPze0pnp2e3+xt5KEqDc6g+P6f8dWUujOweoTQHA/1svFbp1H9Iw0MgrTjafXlE4xCCLFixgcjEUEauTul8EAoH6YvCbvG7TEi3l2y6KC+dgSxAaRgPz6r6FQ4E4KoTDI70Y8KXQ4DmkfXBQtmP5+wdVe6C5davJCGsAkrdU06dn4BwSl/YIxtcWXLWog6IlXCcXlT++ryN2yn5ErNZyBnITB3vhPJCSWKZ+EV4hpsFSLgryCLYM/5bt4sglyY/XEMNhs7ZY1WIFcJuNEJIjyrnRLZZXoIq2+Rppku7fFuVVIjWLcTuTO6RmlVcRL+HNFhZcuXl6tgaTDLXU8WArkGfV9SFDHJ23DZRCEfO7oMYIQYyONdCBGnJhecqaXNnGq+1B7iB+eOB7JeqB6KJ4AmktMCmaGI1dQvzd/dwwClukjpbQjjh8O3txu6G3uUedTi8wTTBEOxNPUznFcAFdEmYx6EKkPOfZrPaaCb8+TGBv+woiRxTNAff2FYE+USXx63BmniA4cEUlU3vq2kF8ZxeqbO4x9fz/vX4+vH44/evf//753//Y7zf//79z3//+PoKcY0aymaPACeMEHUby0vtUEDabuMEFHVIZgrY+TRtOWaCwCjMHFZzYVDE5idNuHXUyqMzg5VSugUcCymtpbf8MJwyPAgReG7xrYuQsWi+Qgh8eYCLfHTVwGX20s/1YqBfa5ZnVImqNOrfHOp18JojV8Le3wuczrm3KZYwR/sNGTYWdl7nJhKZCrblsvMqme0TDqgzZkHy66vTmVc9gTNGnr8S5jz24H1h+suojHNCvf3egNAVJ8gfxpGzFw3nkRDx4uuAJl9l8VWRjnvBF+JUUQKN5m+w01Y4qkWXXXg2XaBcEuMt0gkIsqbRfXgvB8HONsNFqsuIcUuw/6oZGfw6fSaYf1x5zQMXKmxzPZKWG3Gt4QPuRLFdEYW9KHDEFbdk9w7miLNR1+zt1McYpMYKzbQ4CCMTAIiFH9Kh2MwajAgXfnZznWzbbJ7rqlyAUWYq9ZiVOiVP5imgzIpWdDKPy6EeVAOiES+xNm7F3EiJY1Rkk6GGFDD83yOPPVSh4Vo19bJ30mXRlToYQSta082UzOKYqZIAc51rV4WRV9hJZCI0teLiNUbcEsUUFMc1NNnPtburmAWFnbJnXiRHctCRJ/D52DyGyoar607oYYrkMH2lgaEbStLIOkQ5hsBtATXrGy8yBqS0bQIZumCGuSdZkVmEmRmuD3lltXYglUgBadgeOzykXT+nO9IzoBJX+cXGpVIHJCK0g8dpygaSJEvLYj1PKzOJ1Q1EpUqHITUC5FckuR9xykcJlEfXizuOfWLH8vEYoyDasicXdmvdWbsSrIw1PyXTBx6ZF5aVCitJ75KKYk5Cjs+CmR20oAhFAutBkubpLQroIFIO+julnkkGJEqPyTPzwMMM6glNdteDQhhqLHdJeix+azApowXOsZNIimDAu2hlRJg4yS3FHVB8MKvEJLDHyE/4d0/rYFHz74ZQMgCwZFbgNd1M35IBbvLTrXTjKgbxFRcryqH89XvBuYmsqf6HLaHwUqoCCGuvpfQVLi2nDCHDwFONT1dqpGoOBHcn4TzODkmzXdS6+XICB9O6/PANITdOsKpmQUAkHBqKPGUJZ85MP19TuIELJKqOPDpuTyRFGB9tk8cl+5+UUXJwQLWiNbm0HLvJnEMi9KavIEALsYzNfmRmOlfoAJK9zaCm7fncyb4IprJFPhCnSenEt6jNyAZvQiZXbTFB27n6NqX53+NiTf3maHGszmgbmEpE0Me/3JURcKtmPLZagAyov15l+xpFoteRGtYabYo/j/ERZLMRmh3AIo/jDuIz5ixByB6adeBgZzA64G2MoDEw63S+v+4p874RpnENzX9KyRVk/FUvRXEMywRLODOrdlUazgvVHe9rYZKosJsZwoU6Zks3gSG7wmkb3mxCbJdpTwh2cikKY5vrSqjhA4I+TASxDWnhHLG6toQAG66g68s1WqdDypoRKYQTSr2NmwgxJCqZlWbva2oKEBHQrPGSiYCkokZmDIGxjTdHwxNlZKidEsZlcvuG8IhJU00wFS987xrjihM4h5IrPklo0xyS6GZerWm3R3nYe4j7kXjIHPl7/358f80u4MePn4/f//j5559f//7j5//+5x///fvPP+7f9/c5Ro06BHm7ArbPxb9GPLr3fO1hk8fqskB7JtFyccAIQr2q0DFKYVVBxMeJG5RTVbqVjw4SnoAK3NlDIUaJ/4wgga7oXx2401iy5yaQIf1JZ5H6asTcqHYu0e2gSN4C7gLJkisfiQx2lg3iaJ/95SUj7EQ7jKx83Dl95euEGtNZd4VpHUz0RtZS645/KsQOgxVxvFeT7xp13UDaAX2f5UXVLHzpT7+srxCcv34NT/BP7wawF25bEJ6RVXs75nX+eYfWc9iruZJxtGTj+iicUKWn8rDDAQFpvmvakA+jAeXMSSuKHw8Ym5HMXI6kln8WBGh5FiQA9h8EoIOXovNes0LrpRI+Ly2uhFBTa5gwJA7ZRaBp8CTemShgnMnGk5GN84dkgJNiATXBFGu+V4qGqVJiqq2yhB1vIX2ASXktDB/p65fod4Ld2SqFhXx5jHJx0TmTqO4O0kepscjvORpYSYuBoHN1pVHtlvlsfiVjwowmdtSdEjyigOCfRFbmLfZ5Oj2QstKz/EPfK7AyPgYqpdqxPUY9jabL3qxRx2NrTSSXuiejpYDOgxgeE9YvQxDQzmSNktvN62jqznbZGiP3Fqv18yOtOpcS7MdTw0mHj5j+rLJbvQZn5A3n/5KQflNMiXRamTmkf+o8PWXwkys+M7FImIqAUH1loS1XWvdI7m5yaM+UX13YOHaDaSezkxyzmA6m0KzWzXoi3MyUvSQUN8W6MIKGRGL0+DxDw55MWbZC76NEcN4A79nslrRQ9PRzjmjFG2+DsfI6SWBUj9w0eWOrhHEHpu/sXPyYjMUeDmSSLsG59V/KOeUX+ruatyT7NRfMI1wHAjt5ghIwdXRzv6mTwcVk/GdF1kXYCyyxi7k2NPxpng/W+Hjcxz7DXyPfCr5IjImGWPvFzVyCWU44YDLe2RTQYd+n+k9WMz7SYAxfIc+hLvBLIeEMiKEIRfFk+LESM7YvEgAauEqR4G4VT16PIenP2+P5uOE1JY6FXYUomfumRnq+3zJ36C6EknGbQdHLblwBxTT/tsoFeWBe+zA5JQEwe8QnI/EfI2GoQesJSWFCqu0MzAyLpfFsthAIlJz1FBSS78DfyCzXsJqfA+VsPwExcHP/Xvs/D2Xmne0oLfskuZYVwdBipwITlHEj713XTkjhUljpJpXjIyGhaupFEXqE3xB57ByhU5Twki4DCks+QgS2EZwl61+p6Vi79KxADFEh+ilvzovWwdDKURU8Rf4vNZGldH/dyimfMdeGnAZTcYqgV2s8PEUB20CTCI8Jqk2BzcdEF2Ie3Bl2zrh7i8heNZkHsxN7VDILjqicXfhh7nHwdydNyaydANwJjItoqU/l4B7nk88Q/vyDInG2arJ4Ynl+jaFsW9HBlhMP7DRc7IPFenwQWhyC6b77WFWAOR+TrCaqhefJkuA+EMiUyrBzmDFCh2QvA7Wunmeh1dhRHGpOZhXUT4+6CBnZGT7SaiHuP20iWA9FL5Hk8dxNNSf4ZXF4HF04jrb7K4SqHRPGq10Z8Kn7ILZKNIAZ4T7oxkTQFGNL/FgnUh/BfGi4W5gdD1U3s05/1Hi/Y5o+Ho/nYw6yzr9v98f3j5/PP37c//nvr3/9ef/j/v1z2kGk51a2NkAUOhWYNoYGjzG2vHC838s0+L3WmyxRqkHMnlu4jh/bAMKxgFqhdJQpM9Le5MpjJwPrl+kyDjIcKnZZ9V4vD9j3ytILlvLGr3gPPVVoYyvsWIWFk8xlV4d5gdkZeJmvC8hE8gUQC6RfSEgK7HTKsq8v1hIxdWRFqKdPWqrity4+z1ZQX5aGVO0N+eb6WC89UnIv/AUGBxnXjwcHfn69al71AJ24ArmLvGx4Uv3rDV4o0vc8KLchUBz9BSRSRsUSdHrBzl4ZQ38JxuhCH4GztWNecWwM5ERbXFkGWYuGlR5gymnM4y9AOl/MRe5tu9y+IQn9ehou2L9Et7QLLwy7HDK+ra2KAOu0T/EzK7xCsVZP1XK+iyZwXWV/9FYAvdUjnfv4L5kJxbKxd1IYSfA9jVmwfaCKJYTqrAYJqhl53Ey39vQ091nNFbHtdBt6ZmiKiUBTKcGFQAZgPksmZ5DPPVUl20UfJjUjhxEXLDYWdRlpyc0o+Pl2rGJ+TWZzKemQSy2+HEvrzcjJkg4ozI3bY1OytUIeo6g0gFDNsoVGkmCzu+0RwBxrRHXAZBszpQOo4XWuMa0HRrZlMTucg5b4yZ9z3Gtyb9Ef1H5Rc41WWqO9xD7uFrQEhpOGKsaTCoZQcnmzYvnb5ZeCk6uwXGrJdeaQ86KRqznRhiXqUFYGLm+IYHw5KDgXF1yZai31QD5VVR/fJMYgrREkYzKUOlKnILbtrcvEj8c+T8+BoOGpuOiMleJCz7DEsKRMmr3HIhOCD8AN0VPwSDwDVOnUSD7KBUye0gx0Sbg/iTh8kJQJhNyJOh19i0/BDNg5VpGTpVZu6MGJyiN68C8PRa/EGRkSMXSpTIM3ELnlE2MTXU9VLfwDnGOemYDzQudb3gIEJJxn/1/w4mbDsYfnzhvff7/dMGJgX9uxpgx1VpjznS6NASsTtAFYcGIgSCvOXC3UmU1W0Lf4wKU8EEVBPMEDEkCe9QKCIwis0ZVq0/+5RYy0CJsQVxtnG8WpMuRxU76LN755DWY9tnYaz7mVmnZ9laps2CDy01OO2Znc1gs1+Ig9DJTXNk07NCs5DX2HZO0/AbHPIPEQkb+GcPIT/5D9nVru+wR/UrKddaluBL87Naxcae2rQSYe26KdnIXHlEM87+NuphCaTZJSNe50pXfbPZJxsrxDI2dEUoBCe8CEV3HyAsNolRP4kE2Yb6QMlWaZsTUqa9Ufep6GQ8TgMA7cwoGe2yqAYBJhmmIq859twBAMBFcfk/Se6FfYmL3c4fHUu7y/3UNXFaZyNaXTAJOYfEVzQJSIlFrKjT1xuj8/piA+jgfyx3C1cG4EJfKJ2lj6XYfVs5WIzRbYE4a3I6BYZlokhm4Oo3mNcWt3acAQTD6t15nGiCXiWXOk7sZAambMEPTJmHPTAAnujWJDMvKNp1hJ93hixFuKSokWM9DC5pylHjOlSoQn0vZc3c/pSpLuUlS5NY2+Mss07qfioAG5HBTMaqn9yjDw+FyTQgYp5EJ/Rp1qiCgtc3BBmrk9phT7Ma/pQXB/3O/Pr/vz59c4wP/6/ec//v3nv/78+vH4vr99TCAx53eF5Qlzq+RWNsJRaksCJa8Jwv5X9lPYIPguFKDqWKUQ4kFP5RI5QRtBBXBs09A7o7RMZG7sviXGDt07mjBbRdgCsZ3PZS2Si6jkycoEZR/LP9eUDjM4zLUEt4JSxXrkzPXhf//inurpQ3R51otzeyDJUhbAHbrsth/5FGZfQW8+0Id7lWjmUyMavoAnq+tCBVc9DR/N7C/3OgORvCP2t2UAVn+JdPTm65LD+pdPvcgNquEyzWvvutolh1UbjtwJqZG5wa/+8qAQxxELXU8nCdz49az0IHDXUbKmt83hrB2EOFF3RcryTOyVCecfHnZ4dZ/7i42NCkZHGLGi8I2q7nCdvNO+Bu3KUo/OY4fYbhZwXMFVVMuQZIW8cUKadCx0krynYUKt/pxTgKcsOkTTOi1T3pJzTfMFF8T0mvQIBVVU0BpENv9dm1EGjSJLK6Dn9PVBtsSXNr5RGJcfd1fO5Ss15sxzsnMXxyk+MJ9KLjw9aamJ5ee6enHBgmbb3BVlepjouoebSnKH4oCMZti4mCZDlG3FasAsnJ+S+A1uglir3haz1DdF8aVGKRPg+BmslDndcAYkeR6YTPSZfXJxn+aht9ttntetNMtCM/McXrWB700dExTBnvp+mzEHcdD2ZCNwBNJ/dDzhbdc6s6aVEWlEbZhGInA12Yb2aXPoSuzLy/a3kyMN5potUD9g50DrGDMpGROlhdxU0tIQu/IVfi2gntPfSytuxWVGwEZ13uqs/E8JuooybcwngT37QIP6qumMkOmkmezIE63hTC+n+qiXlCTKuSkWiyhI4o2D2QwVCJe5MGEIAJLUAJakO77RtfH/Z/RZZIvw17yai9vxJEZHOrexCkmW5QJnfPtsde9uyhI24gvi3e9cE7NhPTSHA7hayMklkPzvcykqDTBqm20NyyWjLt+JLJKdNQymf1AsYjCVNF4KYQfZs0OYMdnaWQ62EIPMfwTCZFoej0eOOM/66JrH20ktrQwXqWBKgbtCfJPUKQCYXbh5jHx++omHUFpsvFL+vDBj5x0gKGT79HmbqhMapNYC0LdrcCT2Now6++CVZeP9cih0kCaKTAJJnaK0mgVVnSOwyAOmslQO1yQ5n1RCcy8bOTg3KvRBCCjSMOwaBHC18ycphy7SauDm7++HTSYIuc1/SHeExMybFgUp+8x5LI/pSAGEqizVi/RmH2UDK2MTh46MsXXfvQJoBkgHtrc000/hQCpsZzShV3wqRVmpugjNsWfepMLTDespyZgmz1ax0t+cFDMt5qy7yJp4wtddb6cBkSUDFsJ2iHgUiby6pR5rJtClTCL4wVuMT599StPQG/qgcMhdGe6HqvrWksVmRck0tgQHEGGRZOGa4abswJ7y4DkookoaC0LVz7aBtaJCJKSaHaexcn0ncdQm+zkjag4XUH9z5epBynSjLt1ZEXDlRyRLGnBjVhhf4WC6NInsjv1QXjMPZWFlJXEbCptX/QRcbhyAF5gPo2leIVuka9toGaqp/khFlYqnnQyVCZgmoj4/QP+IPMOZclcMiYQt0slcKXRV3r0xuDbmNrdnLVdO5xyIVHwFic/n8+fXz68fjz//+Jr65x9f//5zcr///OP+x9fj5/P9MYIrOYORKp/HLxlIu79FQVSsqYf7pguMdZV/CCEd3Slxcq9vECvhkVoAyBgxENbZ5/Xd/JgswAajkH0+aDs4LM0mbX88T8eqNSWe+RTC7wRVJlo6FzciwFjLBDAh7HfmnfQuP4NV7EGW5bRatYiCEq33HfB5rV86NsP2Ktax02qgdV/9peMefF6emB/2Iz/z4fqcvi6uKeR4HaZwhozxuHlUQA7eO3aRcMYT+gsbL/SWv8ylAma/4D3ySvdN7diBkapyYm+aIfejQxfs/N45c5frWHiyYi6mpjdTYTYAAgmpIO3wVVLuImE2F5RxnY/GhrtUhvsNA/l359QP5WzxfhyhixHpK3r4Mwgl6BrsglJXzmyQhdwaYS5N7CF5GKk6VsypVJJWjgVZf2Kh65bgBXQhhkIjmCLtjfQ1hdJkNHtfRqJRzztO0YTp72OEaKIXcLX8wuNYhjM0Z7yLu3QVqr47Gqd7mP0+V2d2SXLM3sDS0oJaSZGcgYfb1wrdhWMuBwnjZAq4ZodVTU0ZsDVsvmnFY4/lYUOMI3eFPsXRJC+qyZpEs9lnKU2dlZtJuqQTSlSLqha6oSeZVEyoHRtFEM8fA7z4ZGnhvQHOw7HJBpHDY+KpeR5rc2zd7xuJG87+GKv7nrN/ITXCJbMJ7XQShZCwAV6osPu6mSYGIWatZ3l02ut3ysUacHpfNBKFT9wtjNSr3HAZyJpG3Pzhe2LW9hiPY6hQ+XjPaboqDbdBZ+tT5QDlcKYANx0qr2Y69LLVs6JEOaZgbNoAeQK7CmEgqLguK4J2gjYDcJpUkbkRNhIAWa4NFuTeNoEztKRTQ8vxcG8JuQyZBOGIg4RsVoJLHL48jErJqupH/ow84TrzSp5ic0ECc/WOijfjL6zUs4gpUWRiWLxOB2arxsL3jKdjCWgiAQHF99s0nE8XltnpTjkMk8ADhW7Jq2AczDPMtL7datZvAGyMYY7tbvJyQHl/3AcKHOeTwTOPsegncEVnMxB1zhMznwCi5D/dwjFAZy8fisztuBXhZ98IotDmJ3yTSAjo8aygLCcVs6n/LlElHVcfDerBetbhRIJFzvNQwcNHEiOzaSKZ9LdsBiDqEAIbm1VpcIRLAQ8HEhZl9XhNq3ss+eBwV52no7YFG/1AghqfTqUKHepWmbHAFYi2M5AhU/uQX+4/yY+xOnvEQVefs0HhmAGUZBiWo9aUjcVtndd1ZNKJ8eT584feVZnWfJmN08ECqUXgk7+aGd7JG1yUCr20s8pSInVDhgONc/YVhOKZCpg/zYfajDHPRoMn0zo9e2W/KLSXHTjRJiCAZbWrlhNskYa6jEfwHurKJOcE42AClJsWXnzF1Ytx03DGnFPPLiN2BTVCi7NHsBXYIxnDF/PX7PFIFildMTSWkHqKIJKrJVWKiFLh8rhl2zlqN18OmKklIlScMh5GMoBVz2QmU/8zYxAG6FYCNEigny4I6hSGol2ZWrJRANRbVQ0F0hkn8dTTwopr01XBvO4CFqDhVOsTNGTqlIbdrDOhPootvUS4djd3rxbP/UKCDXVLHNDr8/v76/n88+vrj58///jx+OcfP//54+tffz5+j/d7/44DjPerbnb3QSn9SKoVF6qrPGNtfDVpPsw4zEJlLYJXjYlvNR86hhLxw2DcvRc7FSwPoz9zXgChoNk5HwsCn1aCzi0tjwRUYcGsEeD137xHHpWv+2b+ipBA68fhbRqnFBK6aCMJ5yxeeK9p0ZBBrdEjnUtz+8gi19fFqPK7Gt/crbg5jpDl9jvAQWhvK7pY1t9NoJDp+x2Mz3A5Ma/iqzDriovLVSGl1YBByP3irEtk0jdP9a9DC84dMZXPPGxn7JULYkvj+qsBpkOHJRHvfQVcLN1fuU/qXihflONeSx1Hh4IGpYxN11FqJXIjM+qXzYBbsrbyE0XfKwRk1+vbw0p9rZ4L1Fi3+4AoPqOehSu6pknkTAcQ0O1y8wijupmSVZgqBKYINfRMwzLBUeZ5jUi2WU6kZdnnzKOk4hAZgWlmNnOmSHbLUXp9HhDdOZm+6OZJvOzMA/ulFMqo2VkKlSoscIM1jS/IhnDiTexeGOZcovVDwqN+oEEOHYGxrT0lQatypEe2K005Hyo5pcHPMYFgT3t56r6WKc6ER/RxUAiNN1OiSJLkQDCzil9tGLX7tMEp3rulXoC0VgSqYQEoPsAUfYDxH+bYgcc97v38uhvfONM1XKI1iP/xMSdirMkUsI+3MD/IW6Zko3AnexZqTHlm2D/1aLltDxNhpc7NUxyqxMFPiseAkpWV7nn2PmhWdlvZmF2cCYVrl2ITUPOcrFsS4tUCECl+kQLBjAvmnN2qpZGTywWSVAuWERLrrbSQQo1leMG8MaigAhz3Nk12p/2NKwnbpH+wm7JAGeZrZgUfTnwqeXJnkawDS6s3NJPMMdOGMTDMzaAC6JwAhXuQZwdoOHSkdSYvCpg+psdTigbyH1LO+ki09vs09ow8bI8eqUb/VuMNO/klZs0rCJo4HX4E9Yk4j0st0GepJFoiUzY6BP3Og45Q53RfmiXEmoUYKZGQgBFDyaDHhp2yiIQU4l3xen///M4Blvhb08tvhk42ncdBnkntBklzciq+jjJRwc6NAgVL0EXRPKYCXHciO3TRxaGh+WVym4gbIljZrs0mbThBpb7UAGJHRsyxMd+fOZLOzngzNJWcCUjEzGvJntIeTgYOQUEESOJToJmqpColpM8EGHJAwHEiKpGNV+CO7LpkQWKl9FkAaAgO3IPVUOBMh7GMGhIgTPI5hTEx8+PA2y0j/8MzOVULOLKrInwx0IDdKF/7no2xLSdAsttyOcCd3ZvBldIzcawVaOwvj8FtUCMEA99eTS4Yha4GNuUPYDTWaWxICAPysvEAonk2zVd/g7ANGkgBI+6p4MGfrIZN4i/Eiq6Ss3UjEcRRUUfR19RuhT/mDkupcmdntYptyZGfqJ3OkADdoWexEtb7nPoeGcfMl/CIqijaJU2LzzO49UmIY2Axi5+Q8Pd9eglY5RZMRo7j1WUzFYvGhQ72Aw3c6apybhan/VbnSsKGPGt2BLdU1gGs7CrutvnwjE2QlYA4w5EWKYVyodORzi4MWt56WxwnNlhED+LxC1euKWEgCbKlhaWQSdDsKKINcmcVSi8WiiLZ06enMmL0bBp01WxmSrD1tk/Pb4hE0Gr8jU29Iym+v78ezz/G9f3xj9/HB57dvxMqm5kC+G+arreumxEUC2V8lwmdsgIxRlTVmGWhsgjiSii/PksjiYBaobw1l30OqlDduQ4LZ6RVK0BKu37qKeomcAk35kuNf/HblFKF6l9dgL39Sneu/Vy6KORNn+jyc8s6Hc65iy+kGczXxdW7XNdrjtY813fi5wPkGr73gWcGZ9LXu17f7iL47tdH8vuKuoPnF6UOYF+w6doAyssU4PO6EZWKcN1LTrvfa1BGY2o5XdDC9Qd9S8M927cz77gso+x8/fKCjP2tHvqaFJkxiniFPTgwUM41cGWUF1kQp4WtErMjcRymr4cPi60p7gwEpAMQXDuovFzo71633xfGZSH+yrcuEJF2gUcXloce7JeJ0snCC2c+NJ7FTmBGJSTSGPkYvfwxco8woSpGdqQ8t0wUUUfcdFg9HYEpu3UBLoZURGaWbjqaFsTa4nQDDqEb2iFp5qEsNV4NoyJ+yZ0q6QHWLAebPuwwnpC7htgrCm5NVxjamMJg0VIvi5i0bXXM1NHvREeazk6pPQv8yjo4D6h7gXMQvEKY+WKVYRjsCkwe1gcyLa77p6uFnsSEWi7ZNc+9EzdO7gD3h7a8mjgV3KJ+tp5+vI2FX4c8fSg5bSFpFZCdYzsl3rHE8KwYib2EmAonSRAZXv3YJwa9EfTTlYUZaNRWgDTMAWqzW+3z+bjTqaeM1Dpe6H0ZPvUOiZVU0pFgO+wpJhYCODWMnAAunm2rE1lsLNLxcODYDk4Cjx1Yn7fxZzhw63hwNZ/Sym2W/XkbP3TMD7qQa12kdj1vxwJP013apqzTwPzdw0hsxM7JwBm38ON+p/hVG0VoBwKEkCbblONUlSu+qr/L4i4yb0IMamRqQ1PED1BZ5/6DC0BcQH0znVMgRW3LugkJNFGRHfDGszD7izx3H3Vtb0sb5tf4tggmZCg7a9z5p2QX/pVv82hrPTJherlBAxpDBhORMS3reX+fnbSGFmI9Z6pCDgtvnL+wWsWN5ZjY78qsZIBpMOhX0ZQXEQF8EQ093GqIa/7BzQjnq7xqO89QqNSK3UAk7YoTJZqzfN9/+y2XLnxxy1hgYk4h0WUYhuuhSv0SNCdcFHj6tOk0EI6pjAuHqz2xB5PebJ063qmoyY6Y4S7y0h2gbnCmkc0VuWEc8XS4lanpY0eZ6+M+5dD5KXyLskNqE9bKvsd04c5WycIQ0iePV3EiCnJ+7MB9Nki3ldH0cDeRpkwf6HBMMZnGKR9LXFY2iXtgFKPWxPscxWYNbCBPl2kd1BQ2D2enPieBUiUKIFI7M1SLTAhn5BR0KBOBCi+qaSA/1AmWev0Aq3myJdfaBMQEdBM9AHvMwl00aoKi6BpQoXzJGkpA42VFqi32IUBOb0Ho5+fN9HPdi0ArTtDQT9iFxc4vDUh1/lEB7DCI3Iy/Z0Sfce0/Wa9DjrPzh1H2apgUBZAL3VIoZ8ueBWRCtURvqmdEjI3XWUboe6h0ZqV8eTFjp7LoMwHp/AZjWlqsGhjYTbYXA57AVoIjGZ6wZ8sADDusWPeJBB1RxqUfgZ1EMn2qV3Nbqt2j5nMbggVpVpIUOuWepBemLjD1fs/77AAmhvf1eP758+vfP37+68ePf//8+vPr+TXbDadQxv3zSnZsKcw8rNPwstVEgVAZEOoFlplM5WDeWwzmPdzHlbMxqUi4CGIG0FPojX5dRFT+AsNjdnc+vCIOBpZskz7iHh7Z/zZxFJMaG2PFO1iDuyp0GDUseiKYHdi51hDZl7d6HXKhKsOvy8FC5Pgol4mjv5dJd3hu0ggALOKPHzqDza9dBn5Zg89//Y6XDPzLwo4eJfiYK/0shStUWCkC6Wyb2KDI3oFmcxyYuCNVs18myNARl24fXArKiFgslvCp1ojPzB/os4aBNx6SvILhF1SfizK1DBHJzjeLvYMqoXdZaqW2yhq7j2gZsR0dB29B5fZ2jIkYZtfJ/R1Or69KloogH7Wf54oG1ESFHMzPx7X1zD1KmKLN2qBLAt3kWbYTStPJInYK8lQtqOOZzPbZXUU0GAK9PC1DLlU974+3/0pn4JSQTDFIoUIdkP2QtYFmJKogIdqccqeIIEcknUD19kbSg+/3nHZJe0cNp60WHiBwc+r+DGum7m8mEL8B+VOhhaaLa/qRjYgpA6Vy0EB8iwKARj3hZXQtHJ2pgMZSoICKLJxJKG32AEjXFRq0dlICey0o63SLirZlYQ04EmOjjYs5cJ3OnRh2wQE+TEz48cEo1mHfUGsQKLyLOgxksx8eo8eFwKrbrUpnh2L4WCIsQcejG/s5/oM0jq15SKXUcsqDVXgxBsid9tAs2RP0T5SGIj5cfU01jylxmjIL/FJk8Ysy3GcjHmk3NW2ZM5HMZMCWfZXYoiyIqFhqXYHV4+6Rlj7iiKV1KLIms3DEOPADNV+7Iz17xJhxTKvAT+0RtE6DJrNK4CjF+fO75YkzCmQWDpkEe1zu+Ma5DREBn5fiwmIOGW52nOxx9hCJ+f0Zw8bNnuEuxA+ygKVNKUFqux4/hxwXHyoRgUM17nsKh4X//DTbJQqsXJ/ktqUZSzmVG2U6oIqbSZfrfJmkHTZ1LIV4Lo9whJb5bMslmx3FfbR6chLRZjcMStZovf86Fqc7GdsylV8gqKCVJHCZiGoRPWHBVXwWRSu/g/2JrCgHKLtHkEMYyO6q4yhRaicyzzXYUf+YxYmt5GnMhMzOzCyegxaTW1Ds6I0yyXjdWwgXxPiWx8rCEM05UJdxgAPEZaPkdZEGp48JcUVOVxkwDhsCp8t29seGqiyAWa8Dxp0ZJFdORXFqzqmfMaDT3acz0RTEhouF2zFMlS3IJjGY7QlQm+sP/YeH7xytHCkB2sji0rNRvJYvsRYsN1H+e4ZzNThdgmVDQwiWh6WzfwCe1hoqbBGyTqp17FqoBDVIYusfhG51A8OK1jpHFKSjQTArb0nOCicShjEFWiZViqmtUtE3AHOHvcUbskW7O5dmConQ+Gx6OZB0D5iBtxLzJHLpyQbpIamhB8/E5nSruK/Zh2OT9lLKTDY9tAMzwhZ94pyYXYOjxRFB32ZowxPYQmVuuYRnzJHueFb657Oyxwgjy2hkS9Gx8TngBuNr82nQBPLaTyiDmhtoWYwbci48om5R3Y+KIdK5Hq6JXMp1wJyH4xokMOluYfTNHG6ZQ6ppgyn3sXR2v1PXMudIz/dpezVHHo32+Xo87nP2788fX3/+8fP3P378+/cf//79559fz3tqwHNMBfZadVROZfBMJoqkemAY8wkz82y5JT4wbb+lQvlamIssfiDwYTdSNKwFD/MEba28kNMypKOTjIkxImEuc4FPB3KrvIrK4SKDO6NaphBgxqgr4wR4iirtSS+3q9N70hFg1SCXfBtovkzIx3JNIFQzveR8AdR+UB1L6sfhOZRwuaO3XNZw/vaa1499f2CefxYJ/RqpQQedv3myj+a2/u5CzxMFgtAGOl7UeV3Qdb28X73+WOQKG/JtNtWTzwKzMYuRrmRz8IuxV/ryzC7nkyX/go/rpA6trxFW0Xq5p0CVENciN/2EvKV6CF9Xq6M/MUYY5JCTdQ4VGTH0nU65wcktTpe+OvqvsHUB9C7qJcynuu549SnJDu8T/I1JoVX2ApOBb/zDi9Lc553/XZ8MMf9wWK8l2Uh7MFIE5esjsxRM5nLo0v/+Nq0U+zjodnpB8QH40H4CSwNwsE9Ga6qaOAYu9iJmCYY5FMScS4gJ+I4FPBI7uuklk6xRjBcH/NcuzabogVQM/cCPMUsIZBkwNTFmBB+ws06YbWsYANIHG3Ly7NkCnb6UA0MTGOmF0YMMFg/KOujZeeZH6dw4Bt+7eA50yMRjxpe84IvKUnegoD0gdUt/89wIY1T21LYPricbkUtxlVfwZthj0TJGAsDJoJ6WWuMD0+HMwIy9UcvtgNsglvmnzBU62dDTUiCqJGAaSJlpTR4PfQ4f9ZoK/NKwiD0ihK2nuSFGIOtnGjUinKXa6CLj+teMZWQE3nTDmnRZTUp5rEKTUmGiYNuvpIpM+k+hrc0je/aSpZFaVoXOLm0bUMFnXQU5p+53wGvryTBYFiUw+d1Nue3HGVOBMKFeEduSoaQW2+fCVGrgXpaIDxTnLKX4o+tMlRjIwUNd07goaZHJBc54GxucSywgMajXzlB7pkl8f7Ycwql6i1LIDD71Bdj2uEI6LHPd8PLNOelrmq8z78zxZbutc7L5MdHao0yOzYptyZCTSA1Ayk2Js6qTZmGf75+pCqzpH1LPGgZExjzWDLLVli9mNkjM6WGmtuZWi38gdPRC8U0MIzASQjA5ERpnCpz1CZV4bMfEmsz+tKy4pJNr2jFbYzoZLeSjEaPQxyfiOU9s+GmeSR58njgtjEh+RdwQJ2q/nwgwk4Szp+We72nrBabkTfgEauAxh1ChyvYiqsTQ/4TVI6+QksiVnahawDrbNMFtEFR5LucIz++p1OVLKj8IpvBKy60Apz4Y9VNOimlFbiy4WBTuLiS+61wRVqzZaSxfnfV/znlXjnWRIhknS47+CgYhMHCQwKGy+kKECiY104OPHTBkSbOHRPCxaItZJkQuYp7e5mShv1Ac4QUax/fUPhtZA+SEb0TyTHQobcZ0xjXfAWLRj1bw4DjgzAS2lIDBcU2BjCKyURv2kXXQbhY4olapILPXyokiHxWaiN1051OQNRpWOz3CwR7m87IYJRaOJmr+SzTpMwV2hnv4CmYd6WQsI+o9QQKCezN29AO1MBXHzjKSJ0AukFRfoUS7hc9AQTtng7D5MJc879/36f/89ePH/c8f95/3NEd//3y/JaL8vMNWyDvxKBHC39gBfFI9iEgvYEZ9h4Xkl8vqHQNSh9Eb+YRfeoMLVNKtsePdihJ4E1NvZGbb1MrvPl0J6Ww24qYBTUSjdYP5IdV3laIsiCfXa+fRtvS4rAt7obpCsOyzfWo/aFxc5mlYe+EKnIEdXyiC9pZfXv2BX1G0xwT9f/JimgflfOnUHO/yaxF8XPNDHZl9oLdTIZlyxm6ZwOuCGOhc5oBHXYKSerBKRIqgcW9oUIRvo+T2MYimAXine1nPrw++vqRHYaAAAtoqtQtaWfVSuV34DeWvEZLryT8l8D1H0B7MyWyMEri1mSDEwa8K23AVRpzP7f1M/m9oJj8bHlRBa/vBTG41hCAOiUFdK3a6UGZ+vsi8tQ610vJbh+FDjleIm4zNhh8YUevWIXatxeNnYgKXmaEkgowxEZw5ZncIFhmcqjUzNm2AQsqn1cvMuWSLyW3CEILAPA1wAzMCiEzj5A/0+oGmwLBBiNXVVwBka2V6h1kJoNEqfb8gT6EqCKDkv6BUQo9MAwJ1J7DFra2zRgb4H5oGkmn+QpIpJNFCquDFcxZlIq2aGGc+jur0GV0nv5CN5TJP39YkeRwO/cKDa/XJErjPbJHzzHGK6jGuZPY2B+GcsNAQ8qB5NvCbU62bwkAHZEBTf+UZ5xnSSWQfl81Us+qGGcubcZoELKIglzVIIC7LG+YziLfloan81hFi7eSfYCEXWwXoXipGZtV7zorjEaOar8ZdPTQtneP5zInRU/g241PdGVZNrEQHALoegGEDK3LIOtqexqB/b9GDlEey/aEt1gjU5+BlBakvicktAJwOyxb02ZxdYQZlkr3XfkLmVLB839MKl99obbvnUwqBXPdIjWchBa/V4NxvMeb06j5usf1yuNgktmFVVgcTsZllBekQw1Rhd1u48iHuiSUjkQNj+SEzI9PpAx8f5Pn8nsrMdjSB7JDRCrWkldyDetnKH09SHmIlrbWOJsZ1JD/gSjeoPzvlOETUtBN4KvvolCJQYA/ATQgs0YQEmZYYVw43SsZzyQnTqarqZxkPVGsSNZdZ4qbMfUpzU/4aD2WDgls+kT0VTPn58TlN84pLr5mGuwFHeoCvgco0uFGHYYsrcpC6gbp4DHHFW8hGNxo2fSRAVbqMpIg/CVEpYuJa87wj5FXb9Wj5JoaNilkyOFaspIBQ6JCS8hFvXkMuuvpAc8H57JoTh9OBi2Wyx8w4iKqiz5cIxNh8GbrS6oiQqLzLEiOOU6Y1tccaZ5kPpOuUf90inuEIVUclU0QBwZ+klTSmbOWueFQjB0UA1f6MWTAicjUuMEgWLZAjoWLIHMcbFkB5Edh1/fim2Kl0n1A6qS3aRDlQhJXyaw49Dm1N63yxbKxRqJet6gsEoW6VgavQvqDTCBe2TDhkQg2Z68A28txNLFF+q1OE9vREEY+EEBJTAlhszJJveC22Qo6ZbsxHPFp1IjaRcMrDwizgUWMUss9k3FZULGTMuSKVy/mqsfCqE3jIcC/i2iOA78/H/fvnzzuHId05fMChNe9U29fFcEXnqlCEwhsUaozgwlFAq4OsBN1x+9m/ytELzkxhD5KGH5yCEW6MntKs4/azUoLHeDUsonkld3cGqdEI+fp9Lotgt5HEKZKJsQySrKNzqf2+8+hiXkC5wABCfvFyyVldb71QmZLq4mz+3Qs4LGf95wv/+noxzrV/rr8flLzaD+dW/jq8scu9DIQvs6/KqqWL+c6AwBIRmFFu4AvV/i3SDG/xZWxiBrLMcjAGpkoPCrHOuewuUf3ta/GiYYBJ4VcMc4C0JrsPKqCU2T57tbZnDWA6G2vbiXgtQGD+oViX6NBnN4JP/hvkoy9eVuhc5B6InR9keM2HUkRvTW8CXBhx+IL2g3K5azNU3WIXSyBR2JDsHPSnlZYJfry93WLJEghPCY3iPaNEas3FUyC5e4iynOipeCBW2MY0N5nR+cfiz0atuf2TKmXkMaYgYcok7HmQAFHM5h+C0BRnJqoyZXAgHdj1fMh+t1t7MlOuMuXrZsE22q3RGlnOhG0pFEWpxA6k4gzEm8X8p2v1ulmnWwTRW3LI6qnsDm01tbobAjFknEJZlktIr5F97LyMUjV62jdfRU+HpGdShtJi10nUGtHTA3LEe64xNwABAABJREFUX+Tu1TXIpGXEdu4wmsmNOszrOkrGdLQpacU7n+QtNuERMFxREZ5ddA20AWSq5FIgTS9qyYqs/BrUfHfMP2984RXko5jMSmfTWeztVIkzmUC+kAsBc0xJjQd/N+FJmQIzqSm1qciqp70vLBUzlSUW8xCQnJgOCzWQenADR+2YtYAflYxkLHMv+8Usjfv+nK2CkcGMAX+EHdpGpHCsYSDseiVk5mFRcbogbyJHlIuQCkUaDFjySAr/US3v72//9V+/ccZtlvOCnw0Jiveka6XzzeqpPaoOQIT1CJuiqn+SHChH3s4PARnHLPdQudRXBopTS5u/bytr1uHUQxDdYM/EGr5Z6CbcHiFUeg1dWaN7pHKD7gE4hyYp4WZYgg08Jk+fLZOAI/dyLhknzfga7F2a9CaGWLKDE1IQrbj7yBE7eSTdEVJquHlC8720e0FuYkIHZ1l79BTGWXiNMFwEK2m6MPx0Vvs5MOUc8FkOwZv399vNI9Sq8GCvIIQr2QKdZaSF4bwGa5S2kkWZ6vY54kgZ0Rxj7YDCW4KOuikCtuDAyvhaXOw7DxxcoxFB0BHa35GpZaRQwYFRsvBVvQ64E6HMpvH4RzVkNU2vgmA7n6WC/ULSDpZYItw7h69m7JNapL6/ITGnOkAdeXOzex4wN5844SH1N6CrvKNL4dvHHDI2QTQBUVIMdaUJxXw7HdcLyYpDGyq0fToV2ubYY4DI1dhC1B3TwI41I7zIOQveue759kheFL6IXHPtSmssnYinkJB5TwNmORQKdgtnGpuCVFRxU7Z1joKYh5m7IzRiRGYG2JCBymujSwOKxDY9ITDBb7YvMfX3t4kd9sZm4we+ezwdWHpLmxaNkSzwJNjb2wB9MvPM05SE2RtP6UpMlxgc2X7P5hFhBeDKNUhhfTfatmRXlMR6qSNSK+RPyvvH8b2nFvr+Zb1DhO3H1/P7a3LdtpatHUeo3g09JkzKMbU0FGRFtbiGSpn5ol6wLqe/vH/5rHjmnSVYc6/6u/rvskxMe4zO4NAB5fL5+93M8GV8KNS/7SsYnThdENC+cBzrVAtQET64S2UDKu4Cdt5l/EttUZcW2YU9wHNdda0ZULzTK9DOizlWKgLYq/vyq396Xueav7miLPf63V9e8v/1lwsp/Hr1dfLnRxjxdfRCgcWobgkanZElrAtSpFRQXqugNR08iVCcA0GQvj6xOqoqL3BDtx7EuYxfUbGXOy/+Rn2Yc2Id1zXonoeFCI+sB8kcln/cFh0P3TjX9M7Pb4BdVcjlTuSCBCUZEzh4yJXCkG8sedz7gGY2xWLzJjKLiVJPEr6u/o3kZ+Z1h1VgQqQSGDKrsFpsWteUBAiOX1TIHEZu28sI2Tx4HkVAOugc8UuNRr1xJVjFPPBhpfPD9Fqa8P0UQ5W+FCo4vfQZUl+gwS+tm2fUj/FJVjarJaaOjMrhxHlNiYlaz6rgFf9I0g0uBAxLqHfkzlXSbxb1zi14F8QytQzkC/dpcrAiVAJXY7Nr6UmM8zeGNQvpWsAtq3LT3GWS3Ot8gQnLwDdIgcA8sHZFV8EIu/0tI1hTGe05enCq8MyoQtrFnNWk2K4sDHXvjq7AUgsZIk2432RMvk/JAMMb6OphnLucGZ8IN3QCRGUraiSzgzmhZhkc3g2WFxVxv8cMuM1Jjzn/1p4YKX0nYX5wACuVAFb4xzUw8JQWQjbZiQE+05wS7pkn2b7kwCEqtvFeq5cT54PVkteNdbwb9fI4eOORPsElEuigwq/KgXqBukGsfeJNbBCA1PQqdVYhVE/PgpjSD9nTnm+3397v0+l5KJ9MbMWLx9amtwHZzffvT3xHZsx4m3YWWV0ST2f/JptSpwsxcb1Y72lYZfwihAY2PZFH2cAH7KjssmQFCOvkG/O2EtVeNnggAUaa/uKjzSVUJDtbDrhhq3DqDROMqhEB/Om2/fb++dvnDfSwvvbST3lGLGX/xkZs7ypt/t3seeTCag939FYW8wkJVXCyf7U6CsCBEYo3DKERO0DYlfia4Ioyhp3zppqhnFB1gD1tuQjWenWPHlz6460g0v37pnrx5N0ZFylAp5x4+8afRvSoK/bU0Cyf5BrtrJKgrwU+rJhuhBlemzF3tmQrOiv+gAKOZgbhJdZYf24NIBiSCMxmj4MUDRiEBAP6TcLMzJJIhKLKJYA2Pc2DUOl5YZ2ZM3dya0wIFRrU1BNoPUxRiveb6VDXI+14pEE6LCg6mHSmBc1pcZVZ2wIO750y8vbpWyWwUgqBFBHdWbm7yYSGjeOACIwLVlovFG5NFUn4kUbhDj8vvN/s74iRPQMyk9Rh2AkvlDXt1kxub8U4uzeUppfWwXyJGZGjEMULIpI1sT+nPa1WEhnyIRCeeDyAzIFmEUONrGFEoTnI4gbgBMIAiCoQ4YjjKpPvYQmxYEasTZ+8HvzIDLMtmmqppR2sSyifdaG3sFf0VcMjoMWporDx+T8t0zxSl7OelKiZeYTVxt4geBgrdI721wjQGasOM74UKhlCuWezS94MIfy4P348nj8fz6/vCZA9EvyKWiWm0vVrFrQkYclGARWbg6eTPr1oohX31wF/ea2dzPtIFp9CcQT8F75Fkigb4MwyvxaDbvAxKS7n/4RcjEnx7LLjkTK1UYNPF9Iva9WqWVfqHHfEWVHrwEapZYM+1aF99JEUAOC87YsRLun9PLhXaDYdOfn/8KWq+g+/XqYi0HfKPFbMQPIvPy0uVeavK7uQ1wUC+yerYbyXG1Cyio1gIgC2f5XTiLm7Y1/ozwiCvUZy1VmdMQuYZ1mVSTANxT1IOKvxQkEQLFlzs8jjWmenARfQIRnYe9IOime1vsQQXl++CHQulKUB8nIH2uCKvV5xoHTWVwTCOPOdQaejK1EoS2+SoqZVPlAZdPb+XEHGIA2JITvyfdfkMkeQx1LQGSZYGTOM7ZgcOODEgAwUptjTdo/0e6ba6QIJLWCArQmBzEzaE+l1qgB1T+tpazcLEhRHbLzkV0aklmjrzUVb2nKV2yx7BvSVMgdPNaBnZ+bCH6KFNPgVw+8lHCZWiQ9oDHEDbyiLolTwO20dtR5LXzlCmUmOyzeWAO785+ziOSJCe5kMSFOJg3T3nVmBlYRB7W4VAUIMzQvZSzClAuCAMaPp4QNI6xGZLe3BtbLrfLD0NI2x2bHFYVLRGmPPJDOv5n8+H9MNmSlgi3YCaLYCsJMzcSiHNts4Layp7NX26PkOTFwGhYNHx863BOphWygXM1hmgigwbdutlaMfytuKWu2oIIBVoZHZWqWcMlYB0DKl/IdPGVfGHb1y//EO4PNGs9vhjuU7fQdTTS+VdqdAWRMEcXVDwJWCKdbpC29WQUSHMy9NBMQUbWLjfM/Ds8qx2ShX1NgmhxwbuAGd8WLqO2gjTVvsG+SFkXMGlhxgMF8zyXmQKsSgQFqUbVtjIpa4vuuhrDKq9obAoofS1ItLtw8c6bOpS89UbtB/sj5SJ3PyPCiHhSXVQM31a3TiYEwhfEoWCuuKa3BYXiNhDvtiGdMRrvnrnPGa414mmpjW7eDGakkGtVsABZDttpcviY1N77xVRcFJij/n1jIDV8LvnBcHGiYDaLrY7JwutW2Bc/S6Zy/lPN7ZOpiPI5goZalJ7/mzoESxGeKnNdF8P3jZwFJcdNpAowpSBZ1f0lMcNDO0gtO30fc4Yz6evNlatzgob9/TZs7BgeTHrILOUuCyEkqZkQfUOyUGzJM1WQZ0wn9vVPm5qSMXcz64kkkBcKgflZBHhpbmTMRQcI7zQ2vPRovQ/lIUuicNkLUHqX8Y9MMWc8YfPcYVF1OCVdmxM8iBBxE0nGgdsEyruxKqEhD0VcGnr/WVr2fNG4IlpMK9EhL1KsjW6WHGnmQ97hUJmjUQpgYovyO7jYJ7CM3FUmJZy+eOlVZwJeNcrImT1dFOTI5ug6WDE6rTJ6SCQpu9OjNgxTOBG+YZgOGsru6JzpwMgCMigjtzhXqakCfWMJbOczYR7cmEKorYBU1ogHU6C+T+9O6Psx0wuSeKVm6qxK1zdt5AY047JG5qjweYNVowRtWqN4swaD0QrTwlz9MCevg1BsLkgp+Pbxpj/bw/v+bTNLPUW4MEwhuigAed8IG6MQw4M4GPIp+2bhzErIn2f3hB3TsOy9vfqiZ4Eo87d64xoGhtXZl61LqY8CEkwGabvLoUZwyRUBqgcbaTn9qZMBfGQTItcbjVPYnSQLToeMMulxDAvgo0Ce368/l4ofEKUSe11wm2gfMvw/zlVa49b/ZbgHdur7gDBi/XC6sNH/eWve8qcg0b/o0VcXnUX2bda/n3Qui9kTlowcfcVGmwkMC8AgSchv9zp0mAyDJwrDUfGqkVECwu8J33JsTOLM6C52/t7ALQ53cBw8UF68X0zRe0wS07w3T7cyi0T1R99LfF0/m07PMC8BLlX77dRebhSA4Vuc+7YOJ1sD4CkqQ5TWdCs8f66OXdBrncg1O0VjhjAlCPqqymZYluqSxdYa7v1/cZh/NgeyXTBpkI2LGaQIu6QRqpoHN1SYDjps4yyIF7CGV28bXJK5Lef95yDGQ9nxdmYNSsbdaE55kpBz5t26NsxcLBV4th7GhZi+VcH3SmoFxxGl/jt2BCEDvIfQoYDVqYmtKqDe63MGm9TUkll2cXImbGXMAmuBnEDI0PqUJ7fn7eXLN+u4YKWXEyQB9vb3MWgU8IY6X6bLuQECOaLO+l6VGchPE96BDac+JJP7IpL+ThWsomH9GAalJzcdMQJ9OiW+c83m7PmRFVkClDZZVsHraUGiZtoefcrjbZvmjSu89HK2HDBzAJNZuLUoKxRVE39jTokUINakBNpE1KPFLefMSCUFhtCmj5TnMu059Hp342vGMeMfGC7yetWzXHWSDykJJVK7HJMjW5LGOiCC9CIM/QDydMaq1ypVgMkwQF8h9FqeO1SIrLOtAeMtt0MJBnDmqaa8un3ft6ThjQbAgpyxl+xQohhIILMoZVNXx1iIaKMEoX/2M9ZiZr7tLaDWiQcZwRMtkgfp7AOTgI4lD1pD+gXPv7wH4JrYSvIgsBrOQ1Q8/24tQ5Uy8R4ZU2wIgmfTx2M+asIJVZympywVEEQIrzlNjDgLjMRfHyg3gAMvsTJ2xGU91IcmmV5SqDthwuYiglMlSKptP9dwSiopD7AX4piW3iOIqU0xAXGbuVVgTrIuefidnNem955Nw7tMsVVE5WHDR4BAxmGgn7CTHyGFn5nETHYp73x+2WTeDVGbNz+3POU6v60Dn1Qw543h0m/CiIQpFKEr33aLKAZmOZ0EfUUtAEX5gQurx6Ke/nL0+Kj/vkvSb60MvQmfP8IPn5MqaWDM+UZiI1YDEEgc3Nx11NaGXKUgvSsFI7jkJDwjnszH6hK/Fxi+3dfZTLI0INVdtfWuHnRUdWHSkMMBFSkT6WDRutJ3aVbqnlw/YSgJyIXoPtQLiZrgIBxx4amxjwA3uIX+Y6apPFfYBtnEjv1yBfUq+K0tfTXyNNwtlBe8ouEgACVUYBcHKwk0ZJX4hHwC5dT/RHBb0Qx1WS7K1cXw/Zana0Vi2vTLAhIDip00VBZymFVf6mKBqrIxPNw3Gd+RZps7CqrcoTaCkP6nUUkQs9txz1H673KLuSzffzMccgPcYWyMfZC/z9cxzgx9f0dSNyOuqvwgvXoKDLBfM0ywGLmGMA+9fqXVnnVbL2lRsvfjE3iil/V0bxexqxBPgMCe9XQnbMMgwC5RKkD+HAbjxNuxDs6dUHQVCrA8fw2l/DX84TfihiN74kurC6IT9HBDvX+S4YXyCxrLtfMcvjwOzMz8+lpoX9/x8v1l0zrd8tv+xUjxS5Dr9YfUHvZVrnmwsItHte8P7y6gSuV1yFfuTvfCdOIXFMUKMec2uavyp0fFz1yD7pzAyzPG+RQOGukgCmGCkF2KvjHtHMbAz36LH89VV7YF8oDRenXlLuKgX8pyTwF3i9YI+fL5ddb3hRlhc+zbdrbmaZsfFyjC7yCTLGYMhNmWEWyy+F1oGuypy+u4e6gblOWr4pcjOlC0D5MSBPj5IGtOhooekg80pYblqIH0IKl7KQ6qpIb7Y5WTfXLgvRhx/vnyrYLKpbKA1lR+5a1KY5efLEx/RYYRHTQjgogoR0kExIt2JfVHFdH2ql23SqEAOoZmyJJHGTkuGJgctcFI9uTqxMMVQg60aSs62XjYEN/XQ+EfCb1WRPa+5SGtXvfWzebJtX9TjBW0LY0kbQh1L9mD0HIgvC251EclMIjBYV5VMVq7WcuSryXMMgRvg9NGsQGeAaWIhJ065J0CuBrdKOWeoY4GX1zYe727Z8h42QccxP7ouMM/dCxrNdnEsk6K4vX+3X0yC2LF5KKiz04rmSv5aTI0CxksqOjAFk9SxXELDwfAaP5ue7ixsjZ2fJIxx5kzj5Zuyu5AnOXJMdW4kwCbfaMDCDO9xq4TIcBhIKvZ1TlbrgRsYJ/LfbWbdlCQPMec167WFBQQPUMlT/z0OSrIyZ0zOcEk+ZrIatsOQH3opQhLu4i9VqFbAsXYuDnVYhOAyPSCvnVRIzCgMhhy19Qv43TivdlECh7ml/gJmGJCJyZNwxsaV5yvPtnohwAJ+az2zAg5iyztmqsUTEspbDEElJaisoPQY6RQ7Wr+ZU9JVbUGdJCAQg51v4Lh2yKXFgXedw9kyectrkEKrk/crBQxy2ux+2N+GsKMRZopcPE8w0csZ6pDaUauUVaV8mPk+zOhohiPwljTsfQeL38/HF9hj4y6VZ2j7vsZqnCMHSAKCn0XhRbIfN9EWI3+R7mS7XV47BWVTnctKaitqfoFH2WFZP+AwISm4VM0iBTXiCOeiXSgZntn9VX0qdygq2FEJHTj1xSdGtYZmoJHJ5ggpzbc4EDulY0Aubxl1OUfE4qAi0PCfUlmdVpM5/exhg1J70wfUgMVdV7jeGIepbQZX1juuLO+cFzGjhdfFf8AMpk+7U5noOBkOE89woZgUCGheyJMI3B5pHqZYr5/shaYvDa23lEKMB1eZG1bLwRGJpmS1TQm1DFbuBeQ1iX8yEximFVdzadVbN27WpabA3T2eUAGcPPCiVGASh+VzsLKHB6VNkVZQX0i7EMwUkrd1YccIKRS7z3e+ZWgHA062MRWWBvbAWKa4BbB42/u78Pw2wst16zgx8PKYD1mM6FOYJhNUoH+FAJ3qUFH5Y/65kKWNJnjevNr7zgRihhhUGC9PLQFxfGpANtb96i2BBtFwGEMCWKdaTr3F/EdMp2Q4KOnN/zOSVoTkw3qP58ngpn+CzoVAovNtelDGLTp/GtC5wfH29TC4vzIR55wkA1Z/Xe7pwhO159t+9dj6SLr6aqy/H94Lr6wQMfIMX1Dsupu7rnZ2zjO8gzYpfZuTKMF/O16/w8HlaCV0ph3KRi4DTXUZQEyOf9A5/1RdpHJV93teRlyahDN4xS40EWBI9gNGqgNvfcquqdpnijOvjyt7JRLkKvAwusdZyaVv5dkDh4HlbSC2hXIBX3C6HXl8viJ/3s5g6i6qOojCS9gXPgQxi6Uz92HOMvpGEy1w15wnjOTREYgNZwYHwdcMTo2+LBG9xux3e0kjrVOiwc1iHN+dLRpbop+ADkUVsFRVKZTIcKBG/iRvCcS8lYxyGQyztzMJn12iGZs7tacFaT86zb+SFnM5IbiYTIhKUe18DN2prx4BNfw+BLtZG++i9RvcmkRGwpw0EbB/QuZENMlcilJJD+SEtj5cHdfP5Sy6DvEgDZs5sPJRgxrV7TGkxxqFP9rTeUg+Z23oCuEMkfIGHp0WUfwJKKYlpg+WkaTmxUg79+EhumdRZqQmXj+gzMacGmmdUCIix+ZHK1Vjq4y8AQQGbm9TgzdUH6b5WuWeQJNxYxty8Qfu5/HPK5lFPAQl6fDyr7MVNTlii8lzY93Gt2wk4dkuZInmRDDZfYO7lgXyF3K1RFDrJoUhtiC3mtBTqwcT2dJvnVD93v93z4/0Wbi0ZZ0EyRsrmq/PjEmesbK133xlDM8mcjjVZ0NgmFMfhiCZruGd1EonZ/WXqXRkAUJhdKFeIUbtCQDXyxvQBHpOPTl9De0lkIgqcHzhi71nsOjYMp14zQkz8xwvDprX2PtMYFrDFmmRy6DfWcr7HzHPXsXo51OhejArRAdHt89YQDmTdggcbx9NLCTZbPkO1BJ5bl+uTYEK3m7+sqvsGD3Dh7sIFojSjGBHFyeGYK8Gx7izCAkZW/uSxj/udzWrrKyl+RSrzxNr3GYC1icEsnN0ahg2zQyDBjdGpj/vAJOK76krb/LiHCrJjXsEBqI1daUvwZy1kjohOzSmtWdvwXiozvSNJ/Oxoj353l/jooeHRNPinVHA1Ylz0o+vhR7vuxImqTgAilyl3kL1V2GQ2NbQMLO1u3pQu4AOCGzWNygBcVZ53RjwiPRXZ3ActMVt8TjzSSjgy26qxRmej+CmBcctFyDZbbdMA6bIWHpxwUUQwz6dwQOY0SGBOhPE1T6HGNv6hnqcKz/1TNA7wFsdhJw/wEwb8I1vXbmkduHw7TwGiqgXfAPFP4iO2Z5QN7WoWSmu/5USvZbV6BIQqtXC7weaeXpGJkhRKFK60wSDSH5WW4isLRiiWOaaH2qu0W7GtP5jzx1EOBREG1LxSDVUSgX727QxPuL3Dt6qwIkRvP8RPyU0Got0dI5lGQn883x7TEuYjzAVlIkE7K1KVtjebPPyc+outxz6tj/f3+3Dq/fn9vGcr8PP7/etr6gDG9qif7cP7jikIzWWtzHzTOlAJq2OxWnL4hH3DIKVu4tIr0ReOiLNlogWvrGmomBEiwQ3u4PTWMogE2654zEsQg7LjtvAA6Na5KQN43lHwzKiscWEQCB/Cxqcs67ICn3WGXxIPtBx2v4eaFDgdiZ+vr8tsX0d/uaCgfIEFa70Oh57tDYsS8FESuGDk9fXLYL7+LhgCrB3KqyCnswDfRBwb+xfg+8L1ZaBK2EWlUz3+rnbpseYxeekeqHlVu8qn4MMgzdVA+nVCZW4CdxF84kvgOURTAwc6IeAFywULXqAN2iqLyuzN4SDS8qSmohfwTKkSKUMzycPUv4CYJRc6TJifZfF5wU3d72llzOItt4iHSowB2hEeMofQMV+zDmdpjg6LJ6MKNbZEE/lhxrgzpOL2F9ExF9iKaWiEuqTgmJRqmqDEX3pOn07EWAHtej+eczKOSzqEylayxRj9jedDO4Z2CGp9mS+CxTw4XJ53mKnJBWF9NnKNgaYODslZejlaDEX5eNzbIDeWDKlgStDLTeTNS1HVhSymPhtUUbeQcEaJYcmqOXIoCHrzV0l50lMsJ7lho+3yYJT70E/2Yc/7nCGP1bELhVCpwp0NdK7awnZH3FI+aUYKg2awkVam17S+XJt9rggHA9NB2MNu2N/Ztyi42O8cxDw/b55uBRlBaSCaBQDdlniq6M78BLpvJoNEkzyG4ukVOhlpYnZo2QlFI14eVOzrJBe2iher2ZrgDbJwjpS0+GGlr0JErtq2RCrurq6BKavA0/oxfjZen1ITOJfZW+tezI6bgEdC8Liids2DthZGoECUhQUh6iOSnbHxuHR13tgcHksWAZfFm3W3Jk/M+uCyLCIRl/G/3dI/u9uO7kjD4C3wJoXN8xPbmoZVkuxKhNber4QavwYC7jz9sW+xamE71lhV7pKhKHOhz7dbEtYJ0Sl+pw8txdA9juz983MuK8OMdGoi5zA2fm8QP41MMO8HSZ9J3RCRbbW369cHUJjIJ6sGesQu0TVWEhqg0GWGIsAwmRdmcYgBR6WoDy0NuKV1JNpRGXlcemR78s2s4BzyjRjG9MZ7T4k5ewgNRCy00X7IqSBMgMPEyfeBDWja4gc32j5vIzKSiMsW1t0d0UGU/rAMBJPNqKE5Q52QtfTR4EVQiw4mKKAbkPokFvciN2EhHg43Ii2lqOUrAMp5GAJUI0BCvMbsLy2XasJn30S8zSmcsGGvJwClJB6oksldig9/klubbdKJTfYH1Bwy4rwgMKIXdQmW6PV6gd8iC8KkvJkNZRzHp3qutLq9TYUSE/68TYwWZUP+PDJLLQfWutuZ4XtY/AqrQB8pf63dzY4ZwiXfH9NdAJhzefK6oeWB8GPusBiNUTuECgf8zw6cidGBccMjzIcO+RHTMshEIdtFYIakfgQJINkHjBaYQavJBsxsYFPo/WoWrFwjV89mYNAN4yVeboFcQSFhac94ABKQ3J8lve8E0TgZ2DRsnlJxkk3mqHxjeWpk8BEZ8E1ba3cQjYub1bTbGeJn9tzcnzkH+HF/fN+p/+gCNbx2veHwlUzo2LCNwFnDkUmW5fkaSXOlU5lCfSnK4U0vhZry0PkuzZalOa5aRK6JLZo6diWrhHosSxMCPh8YtlrVoA/idpWCCA9dguYMRUc3m9AQo4NPDEitoinLCh//1dtgfvvl+k7cGdHc23VJf3n97Zf+0NevF1RIXX756+AHRefi0sfeuyLzSgL9PmvrwteZ2sH2GdVWYuAyjKyuwOf68WlE3Uza004Cq1YMliT4vvNhidpPyZch91AlEMXYppoVcxbjVEXk9oyJKHaOuxjGX8uYqan4ikVhgWJSlDdQa8EXtvqohpoaR32UkHPrinoezVT6a9HAt/u3j4cK89WSAFPobsaC3QrodElotdLb98fzY3a4GoR+oWi285T1M9I2Zi75FzszWgQDwNRIU2hkn1SFBysS9pifs4Whno2sURu3vo51dojvUIEz5cmZRhIwH/dJTSb+tmDkoRkwBmEJaPRCjhEC/6UqAYtM6D7VrngArl1Hqm2lfeabljlDdJ85tp0ZLJ2zmMgfPGSqTrQKor3z6EAlLkfgnnVPznGcSDa1YpyEdoRPulthPVbb9miMLDyBeH4rlNvYFovFjLsGagAxt+OGBcrVl0VbkojpWEltUcLxS6Lscuw2qORXMbJqtDn5FORkAqPcA1KcMwJZ87ITHlIggMSkDHHBaiG+zG9NVXCawHGAnA2fpygMW7yOK7p1BjF8EtMn1u3z+T1JXTJxDKrqqZbzgXU0WkwEPdEvert8hQy4HXddwaYEGzdi5jQnYmzfEKSeKAsv4PqM97qb8jIK652mtrM5OvPvMzfgp40kudt8F5Gyei40wN7gABe2icm1T8nIj+czzZxC0pkohXTzzXihie9kcyqJlfk/5+umIw9siHxUhpC+rUCV7xCuuG9jPl1OokHA2QsA8wWhoXjqnto8Yh6loN1MBFJ5jlfLQsFmBggc2FZG5fP7Z9LdSAgmTIQhn6FqaLA8VBkyB4YoIuhtgZ1M/Sh7gOdij9iZc0Vy9lQb+pVKWNc8YSDYVO1lD14impjL2SC3ETjrCDa1wjQr2XPO7h6nkeqlEo5kckjXBB2VMCEawJ89lnnUdMTJUUy9JZjFO6pDhFhGNCDlUcYpEMCxsbVBHrHbwaO9tmCUPboOtPwl5quclFrW+bG+LVVFS4OY6q200deB7GyBu8XnUBvkmIKZlDwAnAR3VW6tYXUYQq3l1SIAAKOudsL510w7UwviVBFgIdolvkRRi2DH7woXqlNHKxnFWUQ6iM23+Ea3patG2OlkFRDN6lF+Uzu7Rhm5T49mQVQU0/iNOeu2ZDPyoVI7VyL9I5oLq+/v+52YdwprkvYMmqZPGuUrqDNIGWJaoVwOVyLTUErx1Oig60qwicVXowfLW2oOWxUSxFNHM1kxBc6yweh7pkXsjYN5IcrMwRTpkmh7SwKTuSBjlkDcUSaUxBR0u3UW++Iom0u6oZQgb2y1JDucVAZGlDApDBxuCLAsWrqs9g7l5FSCtMPXAR7rmu5ZpeSEVdHcHkZQGVJtnp8iHHK0W5803ePAJPNMaS57w/LN3f2+zxz8O2Ce3lc/vn7++Pn19Zh0cGBU+EC2teoWQixSZlA8VXVnKpW8hPzcENabe9GOt+JiX3BhgCbeq83mp2sut3RY4O0PaakNAWi7Bomk+i5zVe45DkKD7HmaBs739GdZlSV76v4vPQyTMQv3KYZIeQJ2j3q4diDvGeQ6ISclOC5iJS/Z1iUdSP8Pr4O3v/99f1M35cW7zuMywcVLCZarYBEuWBA5zf3z8qBahj4AQGpnguuDZ34DxfsVWzSR4UcksfuJs2exOyPO0eUhgc5at9Ttc9Rl8BNFjekhSn2S0k2VeF1WV9nVI1JLLy01uXCM9OAMMqNYwa7rCugBwcquQqq3vCJTE+rlqwtxVNUvRFe9+h00CSL2hzMk1oBtOIDiVb+5Znr2sPDyb5krf4DCEkgZIU5TqlhZfm4f46fWbgRJ+y0MaKf+JYtYReiMKi6wRsnw/vbbjcHVlXjxiKXneFsjOG+fKayhrem1d84TGxUFwaI4Yg2wyNqZADVNUkc8T0n8oEGLqFZGNH/iuQkDr11wXFBe9AlLl5AanI0oYQagHQAvb6aY53M2qmFDx7jVsqU8KpNJo6bDqtDM/Aeb7MheY58aGWi+oJ0PxLPjZC+imnQ6VVkgOWOh9QiQLG1E3Z8KUfiy9GO4AGkcukiih7IIbp/EYkk006S/aebFT8nDl7pWvyS8vFWFqljIkVroC/X2aE+lQdwNQxUwzUoAq8GrMTaYoSvuIiucYnq1Llds85vFv8e9xNVfky9Lf5sK3uXdT46TSM4aAwmhY7kc79n1NBeMNZjAOL2wlHPqqEtSpYb5yNa0Z13zjtlG3mFS2hYkEE7ru7SXIUF6nAW7KYUJHC2VvFJRwJLm5IDVQlHRWTEOjcqDSp+5ccrU5TvLMVIQ28161Kdy/0XCKeUwuvAC2TxPt9qinpnkaQPEOmyTi50+tYMjH/GRLX7EA5EdTcwk9VjrvS5k+IUkihvIpUqJHIaoAHp7e59UkpXxiQTSiasSgc58tVofQxkRNxqO2b+t4ILvTt/M6ob0nffVjYfKd6eAKJMTw6Z1ijSAsb6RztZb8sDA4i0ppnQpyKlcot5UW8bI3g7EK1fFMUGO2Apv9leABrpST7yBZhqRO5T40hxr7maXecQRpgGIYUERZFY8uwN5snIfOSRlJpeeuqHglnQekKmTI25uE91BZFOtNBsxcH6ydSACMWegwTNQVbaCzFD6DjMxPLcctjmQTItlHFq6Yc9aEMoKQB0SCqKok1J2KI8o4AqpfX3dncDGKFseLvOr4TqT2gglSkkUjCcMJ5WhYyCdMKPml8CLy/rbZ0oWah8zN1pTSoKxy2huKCES5o0Td1GsM7YbjcDprgBVt2U1pVu70GW2tK90IxA0XSWeDxu+B76FC5QQYQFAxnQoeHrDQA8ffgKiLTegqdxbCi7SvG02sadpHwcGRldxjJMkwk24DSGT9L2fVcxOIWvos+9ERFOol9p7mwqGd2eoFkfYhIwcC0+oDXEBK6+si0FyGsVwZijmuIXDimkkRs5BnMJkVSxrJUBHfHB9Ix+43Z6EHlBB0Ay6nWLmJ4cGf6d7fcANbCbYwRYU3E6stPzJCec8ZDoaWOARGTQZ4Pu8Hj+/7tkuBZKT4tDnkBSV/y0LaLY8tWR6dws4V4koh++cqvaVpC4Q1l/iViCrHgZ+fWiQvN/vLWF7b2bQFNkJf3Ab6sP0UYhgGWrScNW0vkOKK8uPqbbPkw8kUWJsugRLiIFj1BrzkQRE2BLNf3pVkTGt0wRu1+SyLhD/uxc//58etq9c+HezQ2pIlvz665PBh9kCHwnh/Hq5T+kC98sQxbY3qnYqhXAVLGpOFAHl/b3E1xyOvhsWOspSrIqg3++9oUltjCiPY/tXd7dl58svWLQbtZHxd85B4XV2rwSfq/qvpI6gg1ugHIxz4VTE1kJCnpRA+pAdGMycpxZUwl9KSjiPCLKQw23UXDfQnKwciiLPtHB3xwWpW/uWTwgTlHHWczB+fOAMJ6+z94+NfxnSFBJwifogLkkbkoR527Oj6AsuqbeltY09Cynl04hCrEJ0aR2SaUShZAF0+qFgXhswq202qfDEiIL9C738LvxbGZRodipz3pPwUGKw/VV4VN50xdn8aEgnlWgZMadI1g+UFEANWYrvjxt7crAmLEg+6cDKmJjoBIBaVpcaK1fjnuUxypJhknDMvZnhVFZj1nfdkZCzT1VVbiIQtTMthmpPG3HWgo6JQ2KOR9F3c5qJPDlnYb5/1Non6Qtuo+xiTuRuEmORwMTDW+uR1LEE4A5LK9oStpiO5LDzw32qU6a9h6qKmziZeGCA0vRyGxplUOupZsefAQhpZpOAxE2T6gyNB5ucyQyc2YBZxvEvqKiqcr5rL7ThCMxsz4xdvLDxbVFoasFmtp/pk8a2Wqsd3YYwi7mzKVYKG15yiFAs7XJS9piCvjFLAiFT9NXM7iHmUCiMLq2N2thajBYFYGBWaUJya1Z1A4WyF6EIoUKyQzOfQ363qTrMha3Og1pzDR4HtXjFOoORq9AZ0WRJqGKIoXII8sFpC4kmbQQpc0xseDxc2VXAAtARVT/ef6IMor7UEsZApcCeIeScAxzGYM5opKynch03Mot+TFGuytWtuS2nk9NYt67VIK8TrahvzRGGOI9mhe1CFCTHfaohGamZkXLATYv9UUlvFqWU8sOQOTuummnmZjXRWs9IyUTDmsy2N29cy+QHsetgV9E5l0GgJ9St5OrqeW4pu0EQUp1YsWoB6EiyRiuFn7qZVm0ftslkpid0DuALUD4+BneszgdiXCMELaU4RHZ2zG4pODRjsi5BAdZCuCViOPOEM43rueCU+yMmWiCz9gOEh7SOblblsXh65XhVvK8l7SoUJqk9lDXyLcwDtQSYHM8DL7uxnot9qLkjdVriBQga/CFjqMuHIamxAqJT397f/uu/bkViYmnhC0SDnb/DLHPIFsUIlmyxz0E3ZUQA8YchP7PYBRK2itzvykFmaJV4gRKw7aNbXnEhIbk7AjokSl+6kSZbfyCt8MHaEkbPvg1U9PA48i1ENkM+7hNjOrKy9FOZG4VXqVffaT6lVCHCgdaMh+DzgcPErN0G0ZSugcKzqwcGVNJ3M9L8jU3Q5gIT3b7P6XOQONFwa2YwwhBorKE+WRQMdKp6JC6C4nEt9Pii0b2x4UQA8v1Ec+e49ckD35MYzmPMZqOMJMJQxbqiFz5oao4rLiIEvuLbxR1/8sERSgmZ8K9Xgc8ak3tuWYbuFdrPiFSvJPahIIIV+8ydH/rCx0W+pWOf0Sa9rLrH6L+NMmc49jJkBWfpu1OgDywIFn3ILlbvP/v9eS3ovFAC6OwPlK+vgvR1OEXReVal0q8vAViY9MvLv78Mc16N4PGedbuGX16g6dc5nMtq1KVLRCbEynWr4S8SCBIoE56/sPWnrUbPhSQCewCe74rLDNs5IiiQrCi5Tb623HPH6UQu+AmBYBVcMLBMmJEUqrkvpr++HwAgTa39cEU2RQsra7QU4yz8FR3gMEqtmNgfajrKtIsd1q2vszPVmk/rqAuCs4jNfbl17Ups328xdXy0vCEPlXEx6HbIbH2MRyfhBBhYb+5OixNDi0Zi3PlYGmI5Qt7qY/g2AVY3f8zvBkGMT+jxqqiyj6ZgaZea00PRJsOZN62eICFll1gB/klnriE+v7R5VTzot++3e3Ytal02QsFySFdcQgxUOM6SoAOZAkuBBVW91IJG1mP1S4Ss5zyUpkRtKQohKNPcplcmQoWV8C/Nm3juhYxFoSZavRx4wQHSGkhzTa2elISGCkfXSF1CM+9No2EkUNC7z0298TyNAIFAl5ZMP2j/mWuBYce0mrNAceMJhodQiCA7EWaQAs5VZDBvbcuE1SVF5bYSxleFWeTZ+R6/zoCrBy9pd1slBwlkdgUGf5uOibpnWZF6PDuZ/7mr3lBbgT7nYMjPj9tH2u+ACF2oJE6j5bM8UnaYOK5Fw2etgrWV2RqqzElT3haRtdUOLX4pquermBCwBfZSvDvWlCgFphmOKHYOq6Adaebo6roJAjsvpkvtt+mtDQKQfQjmZRuVCCb7KAascihwGkGPyTFGkuGJiD6cA3rCkQJdK5izY2Cc7+nXTkhhrtPRC9ipHp8dbUnv3acHqU1wMA7YMQHgpsM7sNfus4x4jipWvlQY00pn0n03LPchoMRuOJILHkNAIvTk6SFKjeckYd7ep7S7shGE1RGNcXnZGxzyajwYTCihUBXz9M9pIe8VrG0a7n7nwFaF1ZyhM+9F9ng7tFyLOQvJQXYQk+Ig5bFpxZSoaFsUhq/IILFDdSY6kVAYanlMkUZC0DJ85ELcVzvTxnUfB+N5S2oXgxpDn9y7ylA7QTm+cl3Wh42BtyIIKaCJT7SVzY2ZpnNMV9qEo9gp2mAbKACom2jiSsm4MluJBXsTjs05XQO7zgR6KN8q/hLmCxfsOJ6/MrgZlt6C3oxek3mOBFgCgnb1ZMIrU5h1+0x1EPqpoaFAcTUJrctFykdKqvozEpnKea7Hnq9kSIyabd5YGBbrzuyQk5AuYg7+j2+2VtM63hFquZf+TIaxzXxhLgR4yKgAM9RrXX5DPH0O+jG7O9QtiU9nX5AayItt/bdg166RJT1JEByho+Qv5bWvjSbPBB+cEhrqomaELehLjfTKKL5mH69xXHLWgXkcRWpxWdHIqGnuRXxQj23A5fEJQA2K0OdN3L3TsnxIqmNfneYKYWyCEm0uoiDHbgHwHOub/T+q5AyhccaK0vj5MTt+vx73r/v96z49sGasqdZ5TtIskfm0elZNhJ8uCriR8lXFik4MWzrdzT1WBdQ0XtZq3KQGK0S47I7Zrf2RlBS/QBgXuYBshcMOveQhCfBdbOPZbnSCxTVAdmDLbuvIUqiVN/xqFAnhPrJAH5lmbHky2oFP0KtTHGA9p8wjmFf2VQzWE3GaS6/7UiLID5pylUO+/vLF+Z5XmPT1y/WsXl69g381g365YJ3XI1f79lxaVPlT3f9Otlj89Yr9sSUP8I3Qahi6U7OAKPeMvrBRDVu0gGqhJl3BCtdV7rTz21Ds5QRB5GjaMida+PE+6hp0izska10A8XOwn2uVTHxSrxzPU3q43iiz622j4Kysucy/HoRj/AWfS2P9uHAA4MLZq/f2NdL58JyofQxkNUFrh/jftXFx/DSobcwuG/bMRQ1Sm6HwRnATIILo0XeddiMbM/ykcJOnJJsA7utlXCaOeIJtEhlYDEf9WixPJNcYR7akEb0FI3RqfZ9UJym10RbIjvvjDggwk9A5OtVKYbGKuglBsM0nIM7NGS3KkdOMmXeGgjbwq4kIxFKYoUjGYHJQ/ooJgWkPlkFI5rRtOOaLNPkic2sCXnerSgL5oPeV4UKfb4/7nSQqB5la58Ur6sZyTUQ6U4IfyM67W3Kw+ZmutJSaowBN/yLkOWEkC+sTktoPvSeAz6NndvTNYg2YHInfY4Xh9JsYxz8kkZBmq7LZdhj5tLFItAyuVkYeeGwX5ahjiyixMDlj7fv7Nvm9A8ZYaGaJ0+vEitYSnTAfvbG7pjVI53eawgYukDAawyWL2tUFcl1DdGystdlcJkyiN4uOJTbP6knbWVTeccTUqk/4Rz1VN2BAH49uHIHPKR+DLaE3ZpiHGjppy5VUaSHeLPeNZVvB49LYQ8t6JfHIOvxhZKUZlPBUzMiPbzvs0PiqXlqBknHac3TM7JQBknzcVj6VL/m/KZ4KNaARumUP/D5kTx0bE6OtxWbfhHZIiobrUWSuH7/t0gRxCwHiV6SL+0xsmlXFwNtVe7RQvJwttYDX8NBvY+RTnjC1xGHyLHKg5JZoe+0kNz1y1B0UbAM5ECuN1llNzDNsefJF4Ua3yGWb6mw9EM0dCtgZD3u4gQWZjYijtS/GBVJ0FMKUmXOBJMPu+hk81TufOeuVuVDA8/E2j2akqbCvjsnm8iwg+6DaG6ACUS3F2tHhuCZpIW/9LsouI9KuIMR1hF2ZPnANJ7RI47Rg5fcWSyFXq/ogEPsDKRkaFj5jIwOg50qiE2usxQxNAN7iwNo1PGaptxomAyMHGMCsZh+6uSZnmzbXBHrAjPxVRUgGEo7JQm+fsw0Ayd5JaVLEawDABKpSYw9h5Q8UqMw1scwYe4qYT59rEjIAsvP0eMgBPkCJdNscYmiqjSsHww2aiRwUhvIdGgsR5qjU1cy4NtorlRXk5fYprNWAhTH0PGP+DZ24wxbGQQ1YnZjxieHFbwmXsekfBkWjDUCIKaR4JSwfr2+2XPEsfeBalX2Y3zP/WeHz7WPy5Mi+4IYpuRWZWU3BALusA3fr6nzRTWKcfdylKqcZh87Y9jxDC2F5NWqsLiOECrV/b6GUg0B26y8RBjzpTmRxVjTGAV03LHQiC0pgCy4fm2nm8JhC3wQ+5w2HAcexH1hjy0i3JftAMFQzkQ/vLcqVLdxDnCrWXolT/ij/ZNjSRGVCQScNnoyJ3NM3BQrmChMs15YqcYVCUUjfDAytwx1SIAqsrsBwbvvKsB5RUTrmLtcUVYUMDl2WjiCOg+EjwsRwl3HEzl9fIn6FdiXY3u3PIYEFycsQ5xJfF8m80P4fXpcV8Co6/o8vZrkBk/O1iFYqXuIetU53KTJvfrtqV78vN8q3wSkxl7k0PvBfb2b51aNKYgjHPRBOtQtVBV3pqbK81+5ADbpVT9QJ1ws9sNO1NVACCZ5116Dzm/5vwnUJR1HTleXqJZn9U+1TNv71VRnC7WqDKKCS9JWDtnDYRMtq3t3nPFdS3oSoKm4DFySuIO1yuLIxTnElJCsbM4vYgoK+DNgp9lJmbhyf0s0px0wzD2zuz2TGFNwbE5N8fGqwgrSTvNLfLhaVzxwpOPWiSC2LxhWBRntHx9OqYB8SNs7MTWblfxbA4SPECGrsJnmUNhMDrVho+pyZg85iIDg3Nfpc4nYRCZrPYxleNFQAc9kIvQCheQXQdMQdNbQBFAaAfbcU+QLl8DDhATM9VCPn9GKIPev1b2CGIRAKkMTAQiZoS9oY3oTAYxJlH9AkCr/bq/KR0AtW0EqTxGIYgvhFjZ5gOEov3SUnShklmKOwCANkAqGogId+V3hWTFDuKrSvVk0rw32eSe8DdgidUVpRjCSbu/GyzItW6GBKW6TFxlgKoStwF/UbDFgqh8roZjw+Klv/dtZNrLDiFt2eF226IDmyLgPu+WwFPkavhBcUMAcskMuqcapZ7ThQE2wIgNrSBbTJhfCUgqCrNNJcASxjIdvBSkUagev7Yw67yOg8Qv2cnZhmqjG3t2yFrNJFdymY1+fv40czXClW4y3iBauKy01lwdayVRMVQfvjLRkgUMIUM1C2T0+OgeAXEgZXdBobsAevVoJMH7OVFkexkuu1llyNdW1HMsBphHMNmCaFID8opQwcmWNF7BYDsnDmzgv5Z69jgAi4AROtzDknbYJGYzaeIlvifMBBNz68HB++0bjMpxId0ZwKhEkvg1rRmXkQeEHpvKeGmnw4eflx9j4/b6ijBIeSZPv8vH9NLJBU9uPtnvxeiDvKRf7Egw4DB/BsvBQ0zHaeDccL2fHw3SurwFRX8vOSAns0ZKJsrmBMBjNG3pwwBd5B5KEwM7RhFVwIS4zmGmskMAjk1UqxGlcZZyvEuhEMtmBtkJ5Kn7BiJCn0fearKHi/f032eCyhTw64dXXQJtOw3BuOcvcRG3JZetK59wl/aGAkIMM5BFnmVPfA8xolue7zNpGt9PgK01an4oZxa+sehtbYShowApdsuDIkozoNSLuIsCA4F5JgH2YJCMjrKxuRwWj7lpokbkk8ppwN/UeWJKD8ENjsdAi1h//GYiB+BuvSisPI9HNom+ISCIECP53MhurVVWsfHnkrNiJnKRKjXx+0Vi2YFClhi5k45WSsx7AMF0SoQZrpJ8j3zpyNYXWeiVNUEslDIx8vPf+Q+DRHJXTbXmHBrGFyTCuSIhPTfeQcpNkC3ILy1CeGx6HeMB8CUtFcOz7/n1ehJWucelOWddUey2cBHtquIJRu9PbXbu693BoqXatCTROazVXmUhKYbxoHBl8IO9UOi1dLFdGyvaKH9aciZtJB97v872Ir79Uh8yH5/4tvgww4tHSB1etFAYGEZ7pGQarFWSheiPP17n0GzAXYDwELg//xJXaX5P/H65HN/ClQZciVqIu1Qwy/DrM7nQ3t7ferSnf0QhKcOtGYVklnVSzzda7JpT5UfcTBF06FoE4pMztKMUvpo8I2ESOCi8KCRfnrfLrUoOogXFQUaRBk4Kw478yQ2OBu35M8/E+YuNKZE/ErTY4LsfTZhcdhgwK1rJRn6yxGHGDw2Bykt8A5Iq9KmXq6sdwo02MtC3ofmqhl4u15jvmWvOj94fSkGWyXKM3cYXr2zF+nnvrQ28fHbbJW+XvqPic1EP6VkrI0oGW9jWKWqc4PkSFJeXxny+6cSpN7Bo8tpS/wjnKfYdx4qW9NwLX4DWLSipIciGVemhvatI5FGDb9b2njUscqU2zkdKePMgTvmYZ9gCTvC9/g94Tf3IRFXmeOVskw9/vXNJWYM4uyY0xrXvFjQ1qICHDhOVbLNIswx6VWQ6IjlrZFqr1uUDE9bZgbOM3Bu1aHdPXYJKaEhtKWzMv0KbLjeI6WVkFdyOyaRUwDUtY/MQbcpPFMICWsmQyRZXokXp2iAuiA2aaLGgiYqMrG0IbmRg7U1XfhthVFAKqdcWQgoGRORcC2zjmdvdvvOtrfkJbHuHQbaYZqYaBth2NEGa0vnWG3p7cTG33fcpwRq2YTUPy9MU1znBjHTGKWx4yJ7Iqmt0+71fUibIAZSquRufSdpDodkaaV04TqxyEETCW7MhRghHBIXxNIUhYNFaZIXm/lMMWMjA1WT1iyqMwBu6b39XhjWtB3uazELuvQqS111osJrdIMx6bHyJ5QfJCoIQ2ZqbRHOODk8qB0d0JOfk8X6IAIZOXQF7aspO1YUhARl1QXhLKtsUgdvIkYHmNtTW3WXlgYK0vgmTBej8CiIJZYF/vsgl623Q33zR7L19BaT8bb/AJbSVOwisLDi4MV3IDKAqHECviwLDIxJn7wmhQ/PrACxfH4b306+FV3Wl7VfKcHb+KF9I8l9d2XGg8JcywzDVCFr9qOp1cFwsckNHQmIU3V55p+rJcW4wVaBUqYn6KgbWaIGILMYJXV6kYfTjs49i+2XOmIGt+ghhGF6tLGDDNPyATSy1NZAdGHtBR6e3+7TXs9JzZzwrMGrelclOa9riXj50lhfrQmaEWWJZIw5G+9NHTxMWdtI/3OCapOEIchbp/21HXqXnaIvIIpC8bd0vmXGrHttfJBsBiUkOQjMUzDcS8v4wQplq5cFHh+Jf0bXa4cyi30DF/XuOSW1O20tkJnzWE/YCdAi5BzTIV5ldwhoQVGcdM6GHy8AOR+v4uOmmVS20xaL20hyYTnGzztXM6Zh+inzBDDi/6jklsArXA4VHWmubGW3VzF5APHKf04u7uhQzgUbzj9PjJRUtl7cDcF09hfZIDTGZJlKL5ZQ8G2D+68eAySkUw4TeCTG14Js8oVWHWZF6M17/p5WQbpFAlRp6GX90N9JK+VPcXmXwCJbcbjurvPZ8JDl8WGUYmBZ3n0jyGBwjdZUXQSUeE+hVkjFXC5ZRi1xUWdqpQkQ8WXPxD3uoxaPnq5rLzdIVEw3nR95gGG4Afkv7xWGhd/f7nif3j18p0kgFixU7mez9DCcpAvsbo65YrzollfHnLMsvsT7S9U3SzaS6/edNeVJ5QESxb9a3UdOz4Q1yn2cWpQwMY6mNd1rgc9q2x31vuCCfoNZRXrg0uQylroSlYQ0LgEPvEFVSu3r8C8LFHDXwStHty5Vw/m/eFMkWhQD4EKb0a+lQHz3OxkQjRwGewEtlTpSPVq1uYbc09scaQBDiQP6nFxTICHTRmgD9n1Zf6oVuHKpkGuihR3FP5aUcDdxUGARG8XNw0laYFLxsLTdFeaw3mT5uNIVJHxYEv2VIhuGs3c3qbGmCkdWyPJPtPuFjUEghEirM0OFUfeKuPoeK7YUAQlaBsKgx8mhbr7t6Ul8Rvby5JmIJvrafcaXkvvicSIRN6K0zUOeSj89nzcYYRqV4Aw6DYFJOybUawBktlmClwC4RVhuiJGK2MypWY7gxW1sOqUswqo3dotC2eJds3Q/JtZGjDVwvzgVEIxoHuJEmfBLgdtwPhy2SB++vGVimEouasVk72j8+mK41+8MDcvXLjkBmNZQjKyzLm/OyiCLAxuVDypDj1hlCZwU8G52BaxkawFUXVGOEVFu2SVOjZzTYDwH3lRN86GzKYkudIi5drlfTirMG8RxJV/ARAMEuyIycmmzB4uXN65Qs8ljuZ2WpYDpGrKKdKw4MSuqTNIagodfKm2oBpZYoOYqb3Fr4K0Kk0CWtzJQulBB7uAgi2lpr1ttDTTw5Hc54FE6rHn0viAFJHcJgOJH+2Sgn431IGUWPOJlOA14SVKp7BWq9yoQuk2V6ed0iPBqFQyMWdwpVtJmtSVtIPqKT63OvEMiPuXxQ1kk5V9e3+/3W6GXdJaG15K8c5UO88Ds5eDHA6xruqONGX7pHXBZNC2zkHxShe4ieO1zr1dVEnNK76ac9aAAK8x4fG62Nf6kRLfONcsVxl1NFN0wERK45Ao7wJtk7S9z7vycJpyrf+v7NAAYeSF/9zMvhTDRVvqGdsbLilLnltL/cbcUFo+q/xEHekGzQmnKVy6zTgPoqCFUBkeGXX4gRK7bdkHG08YEZpYiaxOHf2cSbQFHTC5Jx4JASthMgQ8iRBGbAYXU/wvSWdk97UCZkP1p4UJ8nD1MOoleX40KoJL2eV/6Jx09vP9FrApsz0P4OMzVbjVuoxXyEekUpmPCLIXSC4j1TlXQrpzR07qEjRW2cEfRGcQYWGugCd+ZcghG0e9ZOJtLbmx/UD2UrOOV4PKxfHMNsJRpl/2P/OwBMsBz7h+GlxD5tlNdIYCYUiBxUtiokpPOo6GCRASdKak4gmh5nYkmYTIsbPGWIOe6t8CFWQ08e8JQSWsArO2tUbikYicKI9sZTbYBB9JWQPQSjCIRo3tEUELwRIu14oZ/+J3hyiBXSw3JdJan8hVOpbwiF4oXYmczLLW/GUsBhJjyvyLXxoIZDGuAH7gLdoISGJWyi1pjMFDWeoKiF2NAuw8N3PN2i9hxF3o5eO+Da9BfRKM7ypOr/DlU5ByPjPOLqhGfVd65ueyLndxz3GcXkzUy0R1SnqZb0HoGa9bdCUJfbrliZcRuX2fDGoLAMqg1JsbvKuVzOLWaAZSjn4osSAHjMcmxyjTxVginfeaXQ0JZWOipbCv0F5TrOvk2wV8SL5GYSZcgwHvhXnlZNSQpbX5GGauLUHtLIUbDm28EgOa9LKQX3EWJTbfHfpAWRz6PAJRfcHDkC0+eORQ9cXiNKNS7ZJH1Low7jnfJBPDQKZQsuD8eol6z/hGi8uKANJeG1nIhDxfvOVdwXXV536Wtsk0zrHFAsZ+SF5nN4DbNvKCkAxoLBd+jjFJJdpykho5b+JtcNhHdyFFSrsECqoUatyrhAGkUEt1SjezHrTyM4+jvDEuh9YIyIgdMtPHMXYVSYATIpVtazjN7UnJkA+bR7pv6txeWUxjnSTx0shDsulF2w7NGIGCN9TeymoyHi4mpAiIB3ipuBGDYSw71cQAY6uOeZrilKTUPl4TwzhBiKxSYrS1iuZwczvR67P66FiGcGvyyaxCdoL2YANyCW4mPxYjp5moD5Q7JZKaCZJAzxbOe4/7cjHzlg/j8tXOrWpNTtrALfcoGDMHnHzK+fkypAuRjLcC4Q2XesbvVIanjDdknnXNr/EvaLJ1f9wBZ8tEhpNJyU9L6bAleXIZXlzGqaMpV3zXSROilvaEzgrJjJIi/bgwuOY1vxvTbrFYyCLifNtuS1bx4A0cKZU0nqTj8A5YXvNmYyXAEGZ0s/f8kJ137YCVxXq2U/XAJvRp6y2/0zsp2R2jtfkbb3EqAUnUG3gyrsBh1Da1jRFzS+arobHuE1hVO9CZDgBSgMyG2RX1RfddgyeGPnKGip/1KJRlgmMDVLxq61carZG320Km+7HndAPISjbIn+xWutnIlbGvpFFygYESlcDoeJLebPn7vGHRQYX0HIvvlPHd8dJct4zHNglikDPd/DF0FtQ1RFTxy7rcdwGqkXOhzVxAsV8QMcQXEt1TfxumAGZrrvpJ0CnflCbAtNIn0ErMCciNLaDIayts9V9Tu64aRyVteiLPp1tgMRuqyDaJeESqz0qs1q6Ug0JtjAofC3OkXq+ibxkt9VhTmcN/v+9TUhzuTxB2UxbcKEPnY/QT0hjAEgy+KnbgOsRWyt/dI+TtVVqWyDJ/4a7lFPnKceGgUDrh92ozZcvse4qHh5yBUnG/1DLqbEdyoiIQX0MlCPyBduX+cl/CmjCWASMlp2+SWeU+BEQqWFLVsRCcgEL29uyhFm4ximzG93UhGACWFU3VyQQ4DSXzn6SrVMNHZVeGTmbCsZZGr55C3CbSnm1Lo04oMUCAJtq8PAg5VaRHCgtBjFljhNiRYe/YUvaITk0ddtjEEUAdjLpLxAANMfnPHAWcxhVQDEy3QC4lQDs8ZOkz/1CWo20HkYflL4uKzXZMQ7jTt+EdjfUVnUU40cdyDvQjOMCTgk8IoWaFzEoUeJboVWXM0hIyVpLrvKr0ZBk4wuYZNYnsJeGqyikwGERWmC+rCbR+uY/bd+frv385mb5WXiokj3nepx50M5eyzy6/0H2Zyd+9vLG4AChngb6PGDw0nBsrSTp+pozzeokLSyvQwy9PXh+yD5IZL5aDvypkHUvggLIjimQofA5TJ14Z7HlHS20gwZ4P3GcZRsxXpqEcXNL0YVcEr9EAiTPcPBVY6Ci8vs4dyu5CpDLTH/bSfNm/rtjZixd+O0k/VabLQxCyaypaj5iKTGBC5VutnWjklOCJAbUqUxJwByMQxGhhL8I6UBbFpnk+Oe6t8onb2NeZc86dd2UMt2HdB7LZiTDhe+QMU+khBbUXbJcALfIVpJC3cyS0vcCjuue/HsCubjOsmBf1SttupQ6qGooLsSfd8mObZ6FhTV9Hg0K46UoAFGmVdKU8zR7VNjpCArq+Uau1dGhq0W858jTVrfixnGiqijbUMLdzBJQyHmfe8iSPkjiSuvUCyZzN5XtW0JUSZQmMA8ZMDw7MIFWIzAc7+58mOvkrILjkXCgl++fJoD44F5mosE9HCCPunV5Z9DoIMa9f8fKCwSobfq7vms6t1nnZIKAT77za4nTLTUmFiEiju8onLNVpBoRpF35gSmPMzIHPBHXG1wyRzp3FdqdeGnJAbM5Rbce35yd3HVZOBZvtSR4SQ6STd60FLgFD7c6/ZvwGTrDxQmPv7EXA+I35FNAkl9BzjKAgTRh8MGw5aiJgnSOKI7uGcOlPJjZh2upuSKzl5EAbgW+VLsiDStH24ckacxlF69f/dxdnJljmQkIyq6ZPtMc4mLLQLg0TZMKsUmoW+MRVvtm2ioXz9nybrlnzi4ENmYcH5iiv1P8PGFRRSagi2dmjsprrm6PD8DEw+5J1LdTinrMG+9cFshPmSSNnAwxH/sr+hyZCUiYfIlsuMGy8igOKTf5LLvHA1oFB1JDCnKE+01lg6dVMuAlviLfqwa748AFCXB7nYfpRJL6CbLUsPHlqSxyMNJq3SjZw7840qcUsKqeyx0djn0mkQjTsuKS8QWJZ8QsWZTXZpzaIISgK5XW1+mrpeJ71mPc6mdBneybngdlX0P6WJU/JjpW3JWOQuMSc2c1CVIfIzdhdn58ft3j/8ceqyuWyRhoyy7kYOzm/rMVM+fohzLCEezayazez3FzfoKger63/WAT5rvny08BBSI9SlJlb9MrHhBHo8ID90OdGGqlysHz0mOoyFEx1ucunuWQAevYLmfkfzIawLdpn71duYpNn+oa8T+KXto114xF6Ui9kGWYnaiihRrVMnDsxDuiEI7JtnS9GgPH8PftjZ0o+mhWrC7UpchYuIS8IA0JdpMro8EfsBWoZiN+pcMYtvV+MRZPStDELPCNPl75if5WPUrGvTNFGqBkQeTVhUXvgyXFU15BhWJxO3hKMjhnHjnpJKIAKwT9SJrVYHLvhQauM1aKljZIC79N4RHmuJMgclDZICRWJ9KT55ZrPK18pkfY7lYPwjMxnHheXwYFyDkGjvABwnkXxVSPCs0h8mxo0eaPuQuxJVEyFrW7OPGZDQ8joJyOy12VEth5YBZ8WoDFdf8l9eaSKBq5ZtQr0zx3QQN5jTa23wDgddnXBSrQXOHsVUpbhuWqf4Fr7w97Sy1QEnYq/YZp6TV2m+hhdaXHZuyELSxcuorK3nfkpeCoRXydXA79fOkFkk5bZ9RYUXL/KFXPshX6M5pI8t8sO9cD5Kysvjteh5l+SZRR9FL5+uSss03HL/jmu+9zXZEKBclmnE9nH8d1LUGRv/AsdILPrWwZaG0XScMwPAWVAsJF0TAjtBOOn3ZZFLD8IgKfycg64LvJ6zrHI8PVifB5Q9aaMvaIaGKFZAVYYYapxInInDTUxzLSl/Hh7/6/bb+kvoQJlkNv8Mm2uUVnsXcymXFGDkC/8J834/H58fN7ADrY4eEcBAD6Gt5pMXVskx5yxpyTQ59rMP6e412nenIGCQTZXU7F8MiWUEszTOXoWHMWwqS0EgZPdIpYnjKmIjKWGOUH2+/GYVi9pvRqdFf4cj0Ui1OBEwAbVbD0yBIaRvIUziZN+xkyylKJlODNGfJWcUZrYMpM9ZGB3JehOAKTyiH1JiVp4es6MiC+nrqPBR5DI+ShAszatigLKUQYLG0QpIkL+xitT9ZOOYkerrLiyjQM2P7+HVLB17bHDheSopMNqaRWOc9M9ieVfNq7fTASfua6M6ZbAJ2YVRxwBhZCxCnDM7Uc2QMmTbIqeiXH2JA104JK2/Za6FDu5Y0pQcZt3KyEJuSGG2KVsZ26UmBMwNjnHutiNhVCRhUS94lTdCqwkeaXXLs/O1qTlFRDKIcimO0mt8EWeMfOtY6fLKtjBlGojS43qZLcvYW3SvJVE4NKZmW8xXzVeD9piPgaspPfY7op5HM8rlWVijCVT1wCueIQtYxJk+X77vmkisAVXBmCjQngPy6mbJMYNaOn2NDRAbqXD/uTG8x8ic4xFVleNZgH6bhFQ/RBOMkYF7HhzqFtXOephJ6g+7j5J8rwlV4pUW7GC8XcULIm2Cqkh2tmp+PY2J4jKVCP66+pWNaUfNaIdE78Dzo+ctLTQZ9pFZkwNCDdbvdET2Yw+54/TUUlb13tZPIvuGDa64SMM2cOEEIWtcEPlU6lIMY8St36UpcueRS32AR4ybb1TST8flX1GkubvhN2o20h9QnBN1Q+HLaVbUgQKAd3mBISMkw1kLLsw98vjMj2rTW7xmgaKMKGBhe7YFyoBV/n8VEGorFvMP9iYdB0+5Nxu7woiXvjDVu+MDTAFAqhcKFL9OoNaOh0ZzD75ECwGDbEFow+WKujYuKXUAv5grKYdCAOEIBfshCyZwKaEUEXwF6o36xyoJFh7dCESsz0sq50Mi2T+KHXkDiQUmCKUoRBCW+o/jTIXiPIyebzxpnbAhwNF0kpqRphpJxzLCVUO1F2mUOAYE8EFsRRGSnf+KQzJdgYBpy7kmfLjy2iCcl9i6ezMa7tYQtHinCoX8tvz/zQQi/O2whkPz8YgQoQAJseqlS8D+WQrYDcVJOSvQLGjPN03AShPsTx7Kxq4N0u+cpb04hf8YkCAwVYYXrwMLfKNTdRFZtpduOBjnsNPOTUnEPDZkfFuzyvqtcSpKe8+jqWljQzzv4NzR0mnS+7XMrnfdUkQZNotKSBYeqfGd66BVV8v6OvQq+PwsYK0o/nszulMxntra1xRA5wvYOmVgWFsITicr9VHyk0lcJ/du3nGmXH9nvOq/uvX4frq5CUXFisFAF9n4iQP/IQJQqIfeDTCo1LRSaujujbms7MK/VbK7UtLeOdw3jKkFwkV6ZNJbrwAyJX99unrRp7XK5Lyq1A/L8n1168LinxZSuHj2jCmgiu3kcJIKlfUCa2079AIKAqzau2I4YxtDGfMmYX5/M/eKQ7GaxCQABXHAuMtM2kMaHRNoo8jt+eUYIzWxFWX/C0CyuEau16kaTwajn40LwuCK+s0C69rTBg+VW+tsSpMFPUydTQoPXq0CS03K1jyfr3ffPkCyk5/wy58SvuoPMDTRycpMsmVqIKoUfzn+sMVmx0AG/jzlibKI7AnXDCdyWhiMkskdwpy4/ZMkk6FUjwfgu7yIeuyWEUlxUrqrFJBYOSZ9qB/niAf53zUMiuWfD7P7usYgTrbJba1XmfhyZgJZVQDnERKt7SXvzO9yTnvdod5fcS4dSNtUFLxlhuVfa5PrvD7uAMcBFOlTnigE5ypUETAyDrA1VlwH/VE0Zwp86uBQJurYL6SKyPick94IL2juEFVF2/IUtk+D4N6Sp1tMAPc2kE0HjXzSbvNt6lIj/C/00m0XTF6XiFddVtKQRJrvgqzckwixm0MZfvcIYSxYytflXzEGBoBaUxsc+Yxdyy1rO7Nymg3VSk88xV98ysexAxFyKmtuZBU+H21D+bDtZl2EWQOVDZHsCAELt2LZ8288QBTWKn5J8zpsQCTqeImdTZLX7c8hZ4VlWGW7/cJ7eXHOFcsOIkj9sqmz62SN7ASOLW22EvYwtrSN7AhVlG+hea5ADkrAQfWc6kVBdBcVsWQPGMqRsYfoH2Czawzo1X3uG1ssC5z8LPCJULMGIYr2o3dZWwZFeRlFQTx7Fg7wifnJGG9QAeZJJGCbpDOpgsVVBfPDErW/rSHsvfc12Boy/Hfvt/Hr+zZeuSPFReLFL/MGUz4PLorq01yjd3VzqywNyH8GsfDrtlIGfjDWfUZKm7nT7RbDN817yukwKP0kNvZWZ0C7Od9dAwRuN/+67d0YpLe2HpBowCNTXhG5qjmQvyhsdt3as2J4JdiIuRUZm4Lfmo7snmAZALUuKipimdBeXg2z7Co7EbWk0d+VKbLFBgBhEjEfqQePTwTzwOgeVZKQN/fbnPY3fBgLIeLI2cfLMDq7zGj0HGqnO3Nu+3fZg6cRUDEJNiq4Et3SiLuRBMT/eOigFEugC6oc6bKKFC1p2jshIk3U/XPnK1ILpFEvlKVBmzjNEbC5XCmbEzLzJ9zBlm0chotQPnId8CYIaTwnO0+qIypwVHt87ImIk1PMDJAYiDXzI92AipxEEpwETekO9B4ULaFtzQA+zB22yyPgOJOL7owH6Kq1C+NZDVdvxMgylD2mB/Sf6u7vPBlUdOpPyK1zeDSVPeRrdWwNQyr3Ck2lHiZZgFOVaFQ5W/IxmhzJJ0zmTdWcFRKvb5U2QpRULCynX+jR0jEZ0B6V+auhIrr5ZVGOba0TK80Z0vZzkFC28VV/lz+WSO7gktSPJcgI5kUotTRqvE74IUOLy+CDi9P9llnYnx/aGUnjVW9v9vxBKhX0AadIp0vOubrhATGhkAOomSAK2Skm9UdsXarE3sfHYCsD8oY7DMIB0DYfWZxL4mzpIjbLc8BuVTAuRhhoPZz2+hlZVC2a11y8s1Z366nv9A+V5bwbrhibys18NWJFSyqylgs8AXYS+V++zeEsdocOwscAih2XXX2kVEcSbGEykJaT9svxW/5dL5JtWY2JMTepc6WLn1crLsbsZtx0UXIn4i4OTly5hD1Y+AFsaT8zwgGVMec/5wGzhHC02ol5wrjKoy0jGKdmN0gnUlEB2FKAY4sJOHO3Z6Hemdtre00FH62iZI39riaLCGgVeYT9fe8gNZYHeEq/bqg4ztpPPhmdLGaxMZBKdAzlsf4Wo8B0TNqqNBdPvXwuigO93Dlh3F47Z+VPCFeSoxVZTH+f9kESWm1NAKSRTp1ZRf5t2zAGtvfsydIXVaHDCAyieHxCRkDCuzV/sd1aN6yqDoSPVgLSoTh0UmcVjyx85PzRUyQspdtRp5m3+1c0n5INAE1JK1Rl6eSz8IW6g5eAJimMKOaZQSS9WjtAC/bFWO+xisrEYQka6219QE86GpjF+kXjEM125qYl8ybg6DGTG0b8uq8uHHv79+fcx7IwJpdAuHluTf11SfJEWFKemPWoti9CEAHzyRTYpq/OJqx+2AnnZZAA3jZV9YJQBSA2OAsUkkSnPlvcjXmyEgB2E9lZhpbLzUfGpwZf8tdqzEzHmJuljndUgBi8vvMIz1Uxgemdk9hoN0YGgLUQxvZHpgrzIjM1F1JxtWv5ESeYTHgjdjA8m/yrJbSRppUFbYKe3vP5tcshcjW58enMbzGRUbypSQSRclE1FuOOOXoqtpMZFoVCHMAhy2bJ1Wazwe3IKaxVlZMUClrD5Km9Vv8v5BWOsuPuhCjCFVygtmCStJSw01d0E04TD21mjpShTvmaXaxjpeSU8KHNLu3WQfD2QZKPOSqHI/ac0M0xoIWW4qUpZ6hiRSpRmQR7YCkhIwkEhTebjeiIbHgp8jiiO+svoYpC0rIYMpspgPZNjMHTImdymQwRZbQDesykpqPTZeN2LgeGHX7gbP1AvaqLJCYoFPxkiRndD9TqmAnnYVMdytO6IcJZKM0qKN/bHreyacgV3hJTsIfaNvGDAGa1HS+T+0+CmxIJTUwa28en5Mm3pOfX1eTHeYLhgBxH6jQcu+K+IkUyS3s9oE5neeWMGAYvRO78sVdPJSMH5iC0Ff6RkO2VqP8JqlThAONkmljt9Wi2NYVmFMT5OoYyt+Q+xJWSBe3XeEiBNb9159z6pLWBk7c0O7+rxN3kRlZXCN/bNcnCpOGSdOlebg/hbkNixFzu+b+50Enkr0ECalT6mx4i/SgLKAs1rHGyIEmdIZhLRG3pjbSHx2ZkbPCCC6EF8GFQzBtMwnBtW50EWIz0tJIkEOBMU+qI8FSTbYyHl8JSd4sMSyokS8LKFnp6J7+oLHFNgqPfdwlzOV1nuXT5QL0wZ6EYqC84PK6mpP5yxRCtYaFWEyyIxvfWdbDbl42q7HOkKXYor8T/WWO84ZlC5vzS4e6zLJDuuQOKpEDyfOdd+4TeX8ER3/eC1gUFy1F9iUIdjo76OsXXBYU1XdnYly1jvFlBDQgABakGTVlaQ619i5mG5EgbMQJUmfancXazRf5x/0GUnkYXVtCdkwAs3cptcP9suD97qzklwWxEmdYkBckB41/M+7VB+5AfzP6f3xdUS04lR+XUeoiSUecx+STmDAyVtP00AvkSpcN4nos6aLvYupFqrHs2K/un+Tkk9kd83x/n74dnXAnFy/HfiZzO8e0tGAmRsp0SHnZnpAH0qInS0PP1rcPrcTYiBgh3lflad6QnI5ms/vadkUyPoIod0mfvimr6MzbQiKKfgBmkVTt3ZrLCNae1pHscQA2dVtryo+GATr8wSKN3EW124zGXc5oYfARDcJC8ks3soat0omVpitZPHriShV5lxBkTuXZaJYwqccCTaAhsNn52jBSiACdiCUWk73Mm1yXA2JhYhsizIJXuUXhgAma9VJduaWw/MWDSq+OnUJi6Sw1AjhxVhi4UbYEmGy2pWrl2PzpEpq4Q0+N2faY02f0Q+TwVRZXs1zGihvxfFKX79oTZNf8WLcwCybP8D3VZvFHUugQj2a+ng3Pl9rDlZNa4mwNKlhpWWye3OJUaIsYCsQjuYEpbWCZV0WABThuUPbr51zASRTAvEZGcuFpTpneWmJ50Mo2t632UWNSSiDvLhXHIjW7Q9FHMxuXZJQYhuwLVY6Azhd0Vs5kRoZMCCAe5d7qVIBIYgSksoyRrlJVvTMZDKix/T5zPUZcEElfYUwwntF9uGPJSwq153kmVHIb92BoY9uThBJxtwIdYYq4ISvqlZAprEDzGLFi7KSaZO4NQNk2R96VoseMHcrD9tsCdyWpU8U/xqMD6Mr7yKyklZCg84hmD2psJ51A9i/d5J/Z06jWo2Q3+T2rg2Z4HMkQQjZvpNECLDediqHxkMcnGx7i5uXeOds9XIo0oYvVesKELtsn2U2eyh2OhLNaHT3B4Wczu7vHtU4VqPPfjmd8T+t5ORKBpKcVtWkJFJEnFK2mpFfWconfVb9h5jm7QMl8Uhki85/rPdXAp4YwMr8ciI7SC0NGNmScGVwPU1ZgJOuQjxvMcthyg1otOV3FP1PpUIFHznOXz6X1iQt0V0aATPeEgLcMR4lpD6wiChyy4YliqwbTsbCQNXZkHlqKr62G3eqAdgiofVM6D02xtCPUoga4njZdkViJpKiOyMcUH6FL60zczoD3mF5+RY4Q5KnOIe4VDJbHw9SOmlVPPAiRh/iPyeL8c2RobSIRF+6agn+kh9b2CpM8cdhkqkzW/GQ0lO0APqHU9jvJHeEYZ6Xw8C1UoQfoewQIiE0PGKklvFvBDUywUkKjSe8nCBVg5HA1HhPxklyIOU0UXfL2+2hpSw3XPcMqF7w1tKXUesnbyT2BcgvmpBVFcORSFQ6YiezyQ/7GAXLAv7xgn/wL5guOokWhyD9YCbkRA7TmWhSVJkZ+BdzLGvtLPizKODKEowWR98VD4N87Lmo2s4LnjCbZun+J5ozQBMgqz5fXq5/TUIEO3GUl8J60sdzdMc7XC5Z9OQvA0bt8zqmZ6u/99VQK9ssjW/vDurUS/JnuIuXc2zlAMhcOuU7gYl9wpRGW9Z/5SnNhScqJ6Wo6kuqyeVznj4IbkXvwgegppC+NbQr4s5ANbSiPlp5YkqjpqD7X/5Ws0gkn3qt/C0UGy3w6cL/sKL9g5fX3y6dzGe3c5RQF+ei+SybKQmItk2yv4aByFgEkBC4aJ5GkuMwVaPJNAVmhQVIM7xBLUpHLTbV7EdK1/4RUzICqgZmkVTPTTuLj/faZbO/7lAvOr6SemG4eHcU9o0ztMzo0bNRFaw1grtjUs+Z9PZwqvryr11puVr4kfBkrKb2XEObYS8LEnRe0aQgwta+0ji6iJXNzTyNuD0dspM7JjlQ6ePT81VzaTjxXPZTV432S4UB4WjGVU0s9508mCFSI1Dv3JDnjK6mMTo8iTrjhIozU0EYWoFyGJxn/xBZj7lLz2BtzZsyMM3TxqfY+bBmC03XWasUWQX7lP3w8ftGRM0VITCPrqkll7CaVulYLCgSGpUHpqojYThQikZkPgww+0384hlBddE9CLCsAl/oR8MkM9yDIVmrIlZjrsbaju8cO1QOf7ZwTc5+ctVCFhCp1EmYn7dDyTZPaYwqYxQdotRjPAaiBYlJeMmVmlU0KSDxcwRBUHVHkXkBmH+x1vuBZut/F9mBDQfdaTxc9rWDgI74MJDFQ6q5FS+1KHQrcYJZYV4R1ya4sveDnSTBYip+nEXoMYIzulHbGGd7aRpKOyCyyF5ueR0Ku2m69GAif68co5d5TQxOX6mPt6SqOTFAVUwMhlQXfN9giB59ww9bfTJki1Gw2AOML/s9ac7ALwJF/PD+GHzEkFMUB0FX4iFDiGkoHtMNkxEJ5tgGswAhKal0UHTFSrXtei1O0DWBWtsbUmLPcVfMoKkBbBonD77YWKQVNlm0GGSVGnFlGjKUsZrbFJ7VbfR9iLfHh+UAx7KrZ6ly9g7rRzLZaCX9Aj7R0OaQDkty2CofE0wOgHChTdhfiM/G82KIbK34uj0KyC24kZuIlSnjAF5tG1QrmDHLXsChmPUU2b7OsqMsJaloQO2m9wF8tAo1D7EO38890RQ/9uuUJ5jshkpKwjxTiqsYy82SMe8xV7szSs6IA377Lc8ucNRVyI63ROCE3SncICBk+1kG+dJuwMWaO2AakDTTIfIzIle0MXDpBv2E5yarZIby4A70KMT6FnvMVoyDMG/Cops/jtj6NfDJkL+F3pQwbGsCRXSmowgNXFZRsRuEzEFq5ef1XiVt5sv3MAF5KighkVHDyb6LwLA1XIYeNMyKyAibv+W8glC7KQoMpLHhTZey20BxYZwOVXNCNZ8iBBGvy9McjcR8OXYC+i81Fa+Sp1iBgLbI1EYKHLLYWzAF9p+aMA5+q2lBmsw69AJRK9zHLFPDi5ZiVTOco/iXB86Gj7GsvnQGTRWqzlv6UX8p1V53D/5A7+l4u04QPEe07d3aVSDtC+UuOZrAekCf0pMTMBWUOyXhvV1ZrZRUyXLP8uNgssWDOvYDkrHhxfh5xLvjrq5T3d9+/Tmpt1svrgPj65anZU1vx6tT6E4+oyeJXO9oho2BZsRluylfYjTBRMzD7k9aB+GL4kh38IXyssK3B5yWdSQLUPsK5ly+c1iLYz5qGh+lUQqW3iIKFqR/zGfIPP3U5dKwR+C6BSxsRuSD4b188+oKNy/c1KvIs/E50iI0tMG8OAUcuPGe3VKoG8U6p+0CYrBzGJIBrsoHwhQwNMgqaYCQ0Qj7zI2cUHEMBoaBnydYYhNiuZshtXKMMRyXvtCOaX/HZmJi9ck7nhNg/OLo7bfuf1HwynAFm2YBGxF/0DVUssV8CESNPcgxrLAQWLmqlLQ/LTO8j6sckYB3hhRfSmAJd1z3AQDnWzYlClpKjPnSzhVADN/Ho0hUWw3h0fptlMrWgkbwLE8KKwVljBAjE753smjfyeyk+fsWDvaPoabrRrHT7ft47tzCzxmThs6XFFqUVdXgp8qgZoDK/Og6W3QCZPrgqHmHdCihMERlv9uWRYTpI8Fc8Cku4Qxhnq1BlG1DCsQ0APnOOGejV4a6V2BuVKVggPdAUIaVN4sL8CM/Cb5O7KlEhIenrNsxEDsNnX1Ki7JWN9WoAjB+08UorCtQ6xy7BNm+pRCBJm/7UH+/vD6yGwDy7BsIoOHE2IYpvltW5krgG64+jbRGagJ36uhIUfcXotSWfgRwcmec9XdzqdDjn/BGWV094MsABO45YQitUBMCnEf05+BqJQafVTC5Fx6KgB00hHHTTlGvgq7sFZ3wK6CEzpIsGW7JEm6PN9NVEyC5W8/28ITxtdfCZ/YohydRsR3hRzqHcnImHKGmlpYgHpztR7MgNGs2VNNmazPWkwgEaxRIssvI5aCRl6qFhEbip5Wl9SHxCqRRZcxQGkTbqaiRTAiFRIDmGN2nAacI2mxhzjPL4yZGcdleeZyYPLie/f7xNnhycko2eB1LQa06DDZyzqfrGok3554+xwPSGgxk2F6+QYgF5kd8nNnm/z3PHh1RnCF/HDclz5LTmVKQpUoP/EAMof7jgsF++STjW6AsQBsSIEnZcU4YxEuAxe/1r+SAO3LDn7K+r2vBknmduefYnD7S4idZtSvbGsYgBs5WCbQCP+5DiwIRyAAMcaHyfprzqr/zzfX8MRvJbaiEmRQ+LJPE79xqmDWAnHJBVz/7knlyOHHRk4I8680ipnOxdd80VKxYKZU3NLGE7VUR6zHi0HZZe0Q26EARfcOZhf/LVTDt7Z/mkVCrWfX7CmKAj37pl1kAfhSqkPVsz5oyRts4nwPyY/Ln7fC5KJFUZkVlNLGSI9glfKuRf5dVcgXojxCvtsDylKcpPWblb1AwX7WwV7JSVIWk4zZtpu/FgfrkHViSuVXjJjdPAKcydQB0sUfpXXu706FjOQKFP8ZymI8TqkXjeigEE8HV4jNHkpOVe59ZgYw3NyGMsVj9n1oqNCoClLm2QTAhJqrq9+BdH4nCr0qAM2osaoOABqyrwQwQ64qQjQiUqZ+iO6Qgx4Q1Ir9p05zwDX0gGjOgUFwozG2DtsJX46Mat1u6USlRL/H2QQcZ+tVddb0V3XXxinv83r8uX4O4C3AXvUhMimmt/uS5vc/8VZcbXLy+4SRZ6nWBWqIIX+HsBoNZY7Lw/Pz6yXensq1w9cbmV+fo0JNWGJJR6Dil7Mkk4Xfu6HnfRuxM+D5nmQJeR9ofOy+ewMK5QBbBD6n1OuGB34shwyDTesa7n0nKf6N9O5gKXM61XIPs6Vy6dQTX+3ABPLa4l/uA/jBWTPxw9Knf6myxRsw+WaFYsuj1UUg2njbWGCrnY+SnWuRmVQEUaCKZiWaWEclWFtBTgOihFdu+zQ3iaP5L7nQuTTeiuPJVCH23ZNYyOnwyOxl3JdQjVOYRkgUUWGrv1MXu7otxK25TsZWJzTXY5zw6wzJek5dJQdpuzdTBkZvRtpk3+xsI699ZWZ4otSZi7qr+zNPfgHpT7SxBpaSTYrp+5CYAjuPQPAwa2wSPk2/wlzQ6bE8yDxOo6oiviypkGoHdTniQhZUuHblcOGYhCSGT2TAIo/GF5niQuuwgzCsNbZ4SwpZtGubd9yLGBL8IZCx8WSeJXCeP0ZRqOUIrp2n7eZaGMGfrRtbOsl2xn/WH4g//6XGUeMEnJKQRmbA+phCxCdlAgCBdQ3Mlz0vs6N9HUhRiFQlU161jUCFcryR0hiSG7dx2EEUKwta4NuXhkxAkQbDCOsgOz+WNd7O63gAjjaFCTDajrP0hv0BM6VbFf7FBg2p3YjEPnoyOZExKaTr3ZeQgBI2R8kEt++/zMOHgNFtJygmQxgTedeiBmeB7BVsRL8Gcyc+8e9MP7FSojuLI9uNYFfwE8eY5v9kWhmTZQVnAc4/qutxAR5arv33d1IYGeVF1rouAbCN+mjGjAkCdDvCL0yiRSdDcV2nSXjnqKhtkAGfHU2mnP2Qg1tI1tPFXzCNhfnv/mlmrJzvS3sODSFWoUqT4+P2fVGO8mkWASiUDp2XnMdnPPM2+TBYgYdh3UUxMRZgIypCLZ3KIYyvnLazHIP1kJBRLkYOl4zIbSKM+QE/x5yKbFAHBMnxXGHIDcM6CVIIr8EH77JxuZk9G0C2O/1nOIJOgT3Noa9KvpinMbe/A4zUp3PkjpxHamf4ZSM5Y0zGxNlEewRlxGSDWx3JDU8NBn2mvMWPf4CoeyoEXtgMhKtAOHiA+APz9uEUSWR91ut3GGN8ICgC7KZro4Wh2TAi0ldpYj0lzIdki2xIOD6ZpUXGUQvzp0ZVdfJf0RTNBVv6qo+37kMCgOGHC5APbS6xK3C5WZOQoWarCzIVxKUv5ydl9ryOnc7pM5JbwVU8yNUTnkrDJFWyCtsNrQCvVysS7W/FuPClWU8XFaEJtLVn0uVhbv5RdwDkPwiEZqJbyJYAVyiacWNkgR8acy5bW/6O4Gkmk6MI7BrRmF2u/Jz2T3V1IqEWifn5/3McqwwGsvTJwFBZjYbRNreWatJ3dbzhPUOTXpdYLOLFFUBG4xQ+rUlqMuC1IbrDb0S345AkMJJFy5KyhqbeSFHhEdZ4AqeSlvrxKD+TeAPiwAB4tNJ4lgmg/lwWXqkisAS7s45iaYFIdoCRaoEDqvVZOFC9hGbJYc9+V7QbJc/gK+//A6ozfvsFzDr387RNGj4Lp8vZfLE7/eGEfxdfZcm18BSHdiVwP2gqY/3eybILWmpHAJx0iv876wnt/sCCqKF2Ty5a6pDwYOGOD73P53wjtdb0m2ozJ3gOAEXJNQdZgIMomqoinv1bzA2CucWZ8ovmq4vkzh5XXFy778RmFdLSFDdc0uxMXHmuXcd3nCMLqpIypcIoiYcpoqKaUEvEfZWx/XhEdpam7Vdh+LZXYhjYxxN87yHDeFDrDURYUW03PGf/seB/jj/TZn207tnAYYk2APM6QzJaSRfxteGflukdlkobehAirBmk/pgetHv2TtAY5SrH+CzZPSHEjQdB/yBjSjzRX4gCLWeHtZsK8SmcBZTQWXemeGGn+rsMRNYIXqpuj4nD1Tdw+pFQu6pcuB6hGnCbvXxOQWEKdleyFElrOPx7jkld9Jsch0bqzTeOd9bzkWpo1M09QmPm3q2otoYjVHPdFLMuah/BSLPX4URI7DEYy4+0aaggUOQ4MkSUJKPsLk0EKJqdOuSTnvjpNWYzVYZVVVWYJi+pi0YPgqMXbfsvwB5UM17W2ORlGVtfi5qx2DM67+8256rIa9EienM9Myh0a2jb9H4iZ1VxMcklvhGemVrflu8U1EMub3jHfPjgL2ioqt/OKu+8zQZslhMOtcqFcIzeHW4l9AJPBwBYbflALDWbk3m3Jn16XREK6tzMm1TKCcRqvwolsuJzWb/gSsuVRaEpHyQoQp9TfAOmmqTxOZyf0Qa6mXXm2FhTanttVu8bH7wltqVkJEt3Zypv12i5NZHRzpOVv5R9pR3BJDLnLZtjOKoaR/7VvDtr1Uy0Bo6KUKbfu8DdF8Zo2IM1LhomJ63JwpJs0Ck5Asnase1hxgiW5nV69x1wXW+KU3GpJtXsk/fz/u98+PHCJ6Ehpc58X58FLEFeCJ0Cx+UDEAGnN5d2l+09kqmxvTFMcdj5BBtv9nVsi9dA1zhXXyK7v5J7hDahBidDJRQTtjzw1zgspstq8M6aQ2J50twvC5PzXeOWIl0G4Ti9R8piV4tmFUcgkXcM2n9SeGsgwvHYkW54OZ5mv8eFgzVKoCi9adc8nDzKWq5hDI582c7UOoBIZDq2u186QTIsY+ek6Weh8ERVkOMxNZp0iZegviDnr7RgdyQv19S54IhqBg4rCfQGaodzjFjhRzpf2uxhfLgQrLc5UxcYuwPiD0PECBLeQ0I7LcRflGYT0eGX2ElM0qEGRs25CJUP6okOwFujghmY5yb5LM6XZiRMDgDxkFpXfmQddvjaTYVeE76BxUXLwG8Y4xWrEgesxT5Z8lTbjFfmOR5iAdVc/NvVwxSq/Gj5vsT5n9phiTR4ZXLmZl/ovQUq16Q96zW+V2uwmfRVzHRwK05CKdpGf/A7V5Cfda0QfsG81QzolOZIwr6z406LiEIFshu8CGqyp8d8Clen9FYeQ6Y2eVHlkLyBAopUpxKu1hKR5PPMhexPJy61aGyu9qyWPo9HLiqMhcbagKWh4eXLpDMvcfxbBJdVBf2aeyW5Cu6eiFK4OIShwI9HUMIuTK3oJx6JoObP/+5Rx4XQ3687v4Xr/wigm/4rNG2csAVwLcr3xM/b1M8ixnb5TnqtmFgExv1VZwh8TeqtEKCPAK4VeyHkreV4Cb7zv6whtBL30UxgWJLoSL3pVeUCOJ9OuuzznAKcIQPLNc1AQk3fMWqSYpGHYkmaBjqHGAk2Nqsu+LK7TQX3/acAuK+yWGeBkFIr/cxvJVnjyxy3JA0eTKqUGeb5Rviptej5nsc4PP/E3asLmL/DXD2WuQlA5JqpFgKavMBuCP2+3z8zaNZ/Ql8oJaH4/H7TeUQVR7Fh8VW29TTZGyltk83NwURWesBzteOpQgQWN3kH4/E5gFTZUxtU94qCfEHjrK1c/ZpWcq0xQiiUdDsU7uEP704xjz7DG3rRAGxlSkcipP4Gw4OH5xizBjrUSJZCkTZ6dvKIujMlEics1hP9Kh2+0se7jAlDwXiy457JZZwWjk7yK3OYuUpenmhZ4GrfcE9NnwSYVyUwVprTyWGEzP4uZZdDztwRyHr4GzZhSgSHdfShWCXzPa0JouKKZLqK67OWnrk27x7nrt4Zqi8KUUq7IxJc2JeLc0tUZ4dvCFK6LTAQFKDQPA3Dq1m0wMJO42QM7heeLd25eydibGlbzPN/bxxs+CzrFcJox+m92UMbG1kNsUXQc1q0lJ3YSoZtAr72f5s0WCsy40U48kttQc1q4Ezq6Ki2xs2XZDG7uQOYE11GrEW0AhQui5Mz514K+nRdRJ8arhNyd40FE5BDfmMFvS2nI1J1zAaGkgx9Ed1IPYmEmCSnZS+4QAB38CYawAY5qknfDq09f4ImlbypGc+XYb6S3djiHjvb/nOPIAxVbM4ZaVyLAPqHM16p4NRMeDYg3aVrwDY3gLcI2/oe9WLyD+pn14ehSl842b4PeKATShERyXydHNphRqCdpxDd8IRuHEUAob2WcS7MZNuifWmMxYdsBnQSxfNw/PXHEaJz+dhEOjlwaAyN4yp+WdU5Cw1hmTDZpbEq6KPYYEkmomYbdnyiOFapkfpZ/2QOAeyWtV6qqOmPXch0pRwaepMgrg+eQ4rz0VyYNKy3ZwaiqzEJ3Q91rnTkkE6QCnZp4piWHjvEbviKUUVKy5vkgkWoNVChZEWn0fa9q5IMXh2SgRKqPpfzgQO8BUGnCYhmGJUKVT1yCxzarm1xxBVC+rJPttzbl9XIx0coBh69YYOdigfUagL6RyBFweMHPcFtCBCOzDyiODhMpAbmRDovugwuKQkFJ2celHxI2n6xihEwNYPEb3NBJZLUi2vZaDm4FrkitV3cDjNunEhrQnDjvMZGh/xXvJB4KBGNLLOvRGHw1kgoi/MIvq6hJjh9V4mf+Fi3h6niLxOFT2sUtHyG2W+DlXfd4+SeDPgeTCf1ibwIqUxzw66jGdU1vEJcAsdonX5nHImFBZw867sPzfdLF45Xf0X+hbbjumfDnKWfSb5ckUSvTKZdTArnJkpRH/rO17MeIBsgs9DxHU3tsby6+9yBUyYb6wBo2HJPNeyKK1EseglzWba8aKlpClG40k9Fxhs7WHehp61OexpYhSYF+rBb3Y1W24gafucF4lWfGbA+1PkUJ97C+vX57uzVK59OIzXwF5ebM3567z+yL71xWd2RZGPvi6CBRAPgQmhzYCB3Q9P1wiwWWO2Wm4vmPtAQ1BlZchE7yV5SC1VN0eho3V7bOgyyUSrit0lFxYpRnQXjqH7nk0gdcrRspJSzdRJbgQWixKbofzbS4AVOWUX9F8hb8z5W/+ZFAHEJ65FCHgyvsMOyzBf5TPKmU14GIrrnVbZQMesduM7gEfHlq1uItPuIolKR5fliGUmNsSt1uUdZ1mgwy271jgWNjslPsY6ZrA72qv+HtLQ6WGDJiCSLYbG1zrPkWImWww6FjZkguJRY5YSZTRUmPtihy76vpTA0BrRgU0dDJDcrgnGew4ckg/6HcAUD5AMFJIlT1BpUg5sWBHV1IzFWfJ4qkFrFQGEczoUHguAALhN30MXLieAdHGvPE8pFbpAgvTkQmwIMZL2Muu3NjwqQRrv+XuqyrG0q8kx5EoDIw70z8l93OsDVPJgtoYKA1lMpMnJzVIZwAu6E5ChenEI6J2oayihIESM3JBB/vH7BGOUBZQJknYoIlb7aQucc/VXM5X5FS+P3KwJZxVVjU9aiK9GwQIyC55fGfXZOimRYuGYCQMkrE5sgXPCJd708Wa5IEi7j44JFaigJoKA+QhUa4k89wi214oUBS1lWEx/BiBCFcaJEnip7ICx2He4/9z9BdbwCp33fxJVbNWInTk9OMuhXIqciOm3iZShiap9Rhm6VmbGPB+C+LY5SuIPFg2TxlufWTvJ2oq64EYZ8IYju2nltgZKMBC01TnPDJA4osTpML8Hvw21aBS18WoTe0195nejDjIr0pdukYLF7OvkIHubTxJ1US3ccbFRNhNWcH0mKFb0FaQ5jjjNO1WGmaDaxN2VkFDSxQQCkgFDVKjvCf9xcQKWL6+pnMAJBVimt0pUrm1sZwk/k74MgdbR72nchWCTR1uAjabyc0zgykgnqgVcSZlXKPdgBpFAs6UNmzWkVKzeHxPDZJEtoiFzG1bEb3IBX2Zwqx1SsopPc7BZUZYCW7hojReErANV6TCO0vO8d9N1IhYAaZ9Mg+SS0F4vsYXbBtn14exgchW37CvPf993Oa4ppgEyBPtFYh7QG30IS40B71GyoBSmqef8B7lPjEIxu3B7KJUhV5Qma91LClqUVNU7HLMYOZAbf3HVG4/co55hSyU8j5Z4vQ9a78H/O6cFPf5/pu7x3d0Wl/Sg1FJCbojDz9nCwA0roxPVnnsDA9PJ/aCsVnczSPCEbJB7UQk1Mdvs2eLEtzdSWBeN48J/45/GK86JlnDzzYYj3D+1RkGi8QBugyCaiQ9lKMIo8De5igQUvT4RCXQpdFeOeJvi6uVK3iPEQ9Q7PDTugcLikNrkTkflrQYlI2WxcgYHb9J8gApBN0GBrYKz9YXCAbaqDY95JmH0q4mIxK+TnXMNE1NQUNe2e8QXa5dqvhv++2jQsBZxoU1EtRXt0bD6UUxTm4JD9aVLOqV5exg6Tcb6nBe++3rlxARVi8e4gRzC8YM5zu290XL4pODWdMQzG1+RH90NhEOtNI58+n/kcPOK9+4jQKqgyV/nbTmwFn7y8qQ564OqGmD6DmtvNXpQjLv9YdFsUNeH9KP+30fdL2qURQU4WWIc28Y5IKpXvDLw/aF4OoHvcBDRvtL+I5r8gVyAAlz3T6jhRmRMSeUusNfktwyHPbTHu3mWlSyi4V89wtg8pQ5t4SQSijIG7SWsiYYemF+XYjvsswXHCHG9umLBWlzugXpmZdxmblzjZ3KexVr7itIzyMvL2nBB/IghsbBqw13mbhybt5RgNP4tyCQZ6tq1RgBR1QCK5WcsuvvMjYPV2Aajcq5IxoxdiqowWBFKOmkoDVNTK+wU1h9zgmZ8XFjgc2zuxEM7/fzNocj5YSkcQZQUlojEetRCZr7Lfs6mWkoFp0IxGLAMZH48yNRn2/Pj99mv5KXkSfUmUJXYhi0XA/LPFDhIVT6zPOJrtlOpUa/IAuIM3w2bL59T9hceTyDzJnzlqmBtmxDTe+moCZj2ZBoZYn8EJvHs5chD8Kpa3OeEAQETol7wIQPKYdlP7bSVfWUJyB3IShdpmptAGvQtzMTBWbESWHObk8PKFJ1JKm7pUyzhNqjc5E6lNTUZBMf6V0Z1IbNe3p8Ah/x4KAuEmIAJ9XYgwLSHvyoIKg/1kW6xQ+I3nOwjdvRAf/6L1inU+RoLsFTkQ2o2asqZcrYxvPAdJi2mhKrZM1j4mjEI4bgo+756ZFM0lpzhFfGrwghxY6eXQAzw1J9aCooTNcrElboOaClps0yQat5dkANHBJ9wIplYC06rIim+0Y7A8nY2OQ/AWvKjdMKN5O0wVxJi92e2RyeBFgoCNMufaLeH2+Pr6+vpBn+a+5NgQC8HAR4DtYcuOPOfIWbbynqxDhPx52xFDYoPhiKITq9fCEWKZJcmjn2kJruA3SLf62fgm05XYtgwNQ4uB1iqev7bezF3dyLrWEckeVKg2aNVLTIGOoiqHB+/0i+JchSR4SM3dGKIdRfdTuaGTxZkVqKj/ud7ufSKRo0xQVqzTQrLplGK4BXpdsgrKl1o1noHTNwhkeoaG/eIvRIAYzrjtjNSmIJAiUhL41WazEV50atKYjhwmVOLA3N4toUkAfylxx2mcACXIhS17f9va4SlrDyqoHIVH2eI16V9vNnQlmgNdQe0RpgR11otmnZKliZIYKKmUB2Cq/QbVDwqaMiKc6+mohMljmRni1IIEww85lTnsAOgNTyXtEvgY4CG5/ZhSAZpLeZ8ij3Fv8gbUAJ2Of8FS4lCYxcW5WM+INH04o86sIwlbAG5Z9jD3w+p0hs4tDUezhO2Ig1aNLkPlGwvRDrWeGhqze4Jhe7apQQkXJJmlUdMe2mstYdzZi3baOfSuwJMVtYhf2gQ4KfH/2XmB9bs0Ju2atPIJaSeEmigNCckQNAUBrjFfK65CbbDZ0w3yFNaErjM8tN65fC5nr1eSSNPfREo2Eh4YhNHT+enwqu7YhR24Ce+4esQTtjx4B0mzSPNNDAzJloiKO6fK5plRqxWBBnTN4ksM0Mw3xGT7r7bUkKEM2LZ2qEZF++wgMIrABaYvOX6+uo0FyYcfJZPaSM78U+cUfKVjpaclk7KLAUi/Xj09GxsOIvL7eQMpRG4/xEiD9zi1qGJdBT7DMB69loGIPEXzuoE9sAD6uSXfgJwQd0+DIG1kU67Opys391+GPY+foVno57AdIB/xUPfFG6MgyRuxRDe8sS+tL366IvmP7ltT58xjzvLwg/KF/Vs5oqt/E8HrwqqBUKQcr3W3YuOjs0d0f0UZzRp+R6fWH+Fr9jEM6fi3tUcrnguN8ZzxPIvttx//JCyHjbAhYMx24fYwtLuY670CaPcgE0gPfWhemR65fXr5TiJQ7WTyXlmRpHlahdykovS8I7kfGVY3wFwGqX7ZQhFugKz0dFEMGXCCGSD9u17ZecnvmabPdtos1Z8+ZjTPSq3veP2+2WsjrsOIrtCsnWtkRDGJLAW7FvMxRpTMs2+6m0SkdrLCwl9cwJ4z5EHIGgyTk/b9mn5KVAGsMChXH21mUe2zlVyCPvLKar0q1ERCGlqfM71ZgXeARIOREpLqd4VTJRSI4lmnmNMYuFRtIMzwcqBQFgQRFbemh0u9Pn/+MWnWRyHo8HcWShbrxsw6Cw3BBKc7QlMenNg5D1k5NAI71RNxvtfBSWLqqnk1CqZnuhTMb6t1yjOyFrKl5MULEqwGXPWqz0lUOZL05xYdZVsKXR/AcLBEjEaeTezJW4P3Pz9cgW9gc+U4MHURhzToy2ieqycmuuMe0sq8YK0i5IM/Da/NmKlXnC9N1sRcFgm6thmSsxyCSKSHs1w6WQZZEr+aaaXctE8iZGkMfp7tOVnBiKe4PZ39qTVuIJhWpzYilOJFXOj9nX+20H2bjcyBKTVLlz8kMAUPqDBnn42+3zxunTgBIeR1Url+p2wzZIk9aB6Q7Qj6qrFmjYilACPp2nytLSeKUxi4xDLp4tKDAg8v72cctc4o0Gk5LkEqyFJWeDsjswDWJ15ab1KN1m/QQn9IeHNxIi6gG5qaap7b+G7/tH+lKmGtnMmyyYuDUnyFGnguoi/YwewAnMiNcgqcZb5G9rSsPvtK6lJiSBrLAxkB3Wekzz3UkbTuF67jMCwVE+ef7H58w20+DeGsRlg3iulIscZeiZeBB9evlWhXvB1Ko05cgi1Bn5KyISS1E/CQ5xIfzU0xLo759852xfcaPC7O0ZTzJHFj/gJDv+Y6odR02BCyFt+hHppEQvgujuMN7sUH/FAbYTm0mGo8KVu7pKdg0vMq+NYubfAIeyZ7g10FfHkWuaULNUhyhRTlgu5oMe7/G61/jYsILFZuPPYkMo7ZRHwDnP4taQ3HiWnn6cIIs9IdwPnxjNbAlGFyJ3OOY68dSZ0IiV+7TVjgqoMPyelO/3uNYf9/u0mLJRHtUESyfjgXvTVEZ8T0l/PAtYRnPSKi25gIfrkdCUbE1CD28MtBQD8Zfo74DuAEsJMobdpLc04YxgUjOiUDGSGK1Or6IQRmD8PrTVN2qQj9njkEEUVTx7V6ZMzD2RiRk09QITd7QSQaVaK0byUN9kKHcCEzeRFLUn3QOAvNcMHdxNa8TovaMjww4TKk2yZb4erl8xgEmqzT3fh2ItdkK/VqKtXVAXRqvi12MkXA8G7cWwMXmuX+uF4Hl37PZSZtf5J8LNrh560SNp13gBmM6hugIEg46GPJS3UWsKiIglVKy3N0CpitcA1nB3YhgWjARUahOxqiM9yj8vL8RWBinA/DpjIipLGud3XjvWReb+5beXVxfUV0V33u/3Z6LM3elp5pqoeHna3leyDLlgDaDkXyeUx3bVfjHqWPBdBoQjwtJqq84DN4V97bTJ0XfFUhE13cFVIELbLB1vC28Ma1Y/ultgWcuZsfBjlaxgZ0rk91za11n6xSVhhFVaLyjJWCV78b/kj4H/6+svmLjCG56ugT8LdXTWmzMVWNcZJnoW97NLPYQMtvDx+L6KFvlmzOOMdRmYBEdLV7gqTajOoyopwnT5gMjI1WUG/NhYaNShpcJl0r4x2l4BOgsnGp49/kzqoPSyquU0GzVRPUvXGRO5os3zGsi/TTEXbkbin+sGwALJkvVhLkm57JJwZvro/VfVyMGHx4qJckt8OEPHahGq63LPStnnhlxi+ZmCplkyQsCBw0EwcaX/uoG5/uxL7PYlSKS4wLzk1ABHN7kaZdTHXiT7In/8He0NV+f/UyLnbi0emxuqQMOZDNlVW7q1ja9lmelzkso/jvumf6R5Mhz1FhbbWDS3Wi3fOmeKsrTY4vqRTMwIy207QxrizMCPx32RpnEeg63YD/1MmR7XgJw2o05YbrzR+5zWQpKjvoQWTgCcgolQK4A2pqNDVvECe8aEpo7amsrcU7WYSWZdY/N/P1alpYAiDykzRlsDeTkrkIj1oihOhJIWVqmRLG2vr+hpC1DF3NACW6aSrWGtVLUCzoLfaoDQxuORbIq8lNMmJ7SdIj6lPo/gdF8Pu9ZoJPgxo16azQqguJ2pcyYaQuwfgSS2JLbJ4b8/KNRfP4VTcsAUAmIJmG2bS30gLmAtTQKXrHCOQZI5S2EztXaEr/4YUgofSqnSY8IF5QlM1Rc2hETwxOk0M9ugM3HoIL7DFB7YqSyZNCQL0UYoh+AGJQrjEgR8WRvaJyviiGAWKwhWqPllBxu/wkhSvqFxDj8xqlnKpEYjK8FfLXyeG07Rns53iCr85GP/sc48Kr4n0IP4a1EOEZixFUFdSxRDbCOczJa8so/88xZ0QPrhOCp+KrnVJWTjV+R9f88BS9RvZD62pGWBlDI0hAFZbqoXkcqM5E8uyG5bvgXU0OIR9ZAk1U3Qo/XDU1ZVVRkZYmtl24bVVO2YvdLVRItBKdqE2bubsZ5UUpnFjTHfAvKaAh2hZ+fwS9mEFlk+rU3ywdxIf48a1tfq3mwDW84Ebmc3JAouIxmpx+WobM2zk6NUDb/l0AKk9uxhtl0T/FqbEi5g1Qzj9N/fpxPY0Y7LSWJQ6ZOOfzow5mlYKfbrmAhLlq2uiXlH37pcJJ9Fu5DIj99JF3SEso5opC8SZ70mlQTiDwH3mB4VxA6l2cDH/6WxLNbJ2z401cgx6hFHyejKmLE08CfXjHOrzpTR4QxQvH2ugRllD8hDQyhzCzHTTDJBNIoXDChQb2EvDZ053YbavAQ1XHr479I2GkrUINGmczIad+KF1As49iqJG57at1UqbfCj9IFzrP9DzoE1xVAMeZWBiq2KUrWCZnYSEEG25GkjOzNODg1gMnXzVH4D980PFZhnAapgPYFOK+Me1LwsuyTp7/zFVf6mX+B4ft9b+UIHp0O8Dv/r6zrCxfMCWGqMc9VL1EMgusS/zCbfOtb+qLp7gfE+cG/TMCiqJW6pl7eKLXlkXhiNsUq4RpZDXDj5srO0CVGuT1Inb/gDedWVYmKcOQpXcGDh78HZOn9rSr7cuTCDh8wwQL+hJsiZi7KiPkqVXeJXaDqvgtM5/UpX55/rn8MZaPbSl4PVma26beLCL6M3StolyF3hzoRZ7baIRSL2ukFHdRwPjCBig1Cu9VmZgJ1xHLW7EWPvf0xLm5RzkujjERZhZ6mmaGwBk1/n6xuNtapmtQxN+s2nWQe1phQtR78v+Oe+TCvNq6N9pLHtxlSYxDtZICuOuBYHBktpzrBkl4rWg/V3+bGaKFoOP4C8DkAp/gp7Terq/ZByMDth6FatD8njYaZlBtcbrCg513cqZWVmYuNYaqR6EjA128TxLQbus4aED+oMd3bz9xZCkrjyhNXYF/sA8nhCrSMIjYAx7eIlv54hrLCClnU0eqbG3N7DYbxmLcVYCJCFRoPAR5vnq7Q7s8f12zgLMk5VYDEwY23JJ1PoqHEIY8dmE0SewoNk+UAtGKSjCjeGyHPqZEMaVITNmE3kkl5tEx5dj8ecn2qqj8WpXxcZTHgZNYmxBNOds/HxxJzVjIO5NP0OtzrYM+mNi74453TOP5qOGmIhfx1BbTDhCMSOMzJUhV001eBEf3KcJP5lWHz2VnwCmoxUxe/HykiwGluKEvqVqXNtmuMsKykKNQbOjtH8SkmAO4cDoexkyH0cPZvEl8ILGwzb+XG/q56KeWy5lEPHESAZE0dnSqBjzmaTpJu2jJKQNU05k7Kzu0+hiTmTehp3PWYzpGQmBSIwxAsBnhRbDkl/fHv0qy7V2PZyBOh5vj9uU4cg1Oq5aVhPummyb9dtqIj1WVjzb6EzRWw3W1vS5z4QE+hly2tjXcTKXBYmMWQFPlIh3KBabkGF2opNPmXU8VHxc16kKHxMhfVjD2LmqTHBTya5nDCackJWmamJmrMFHipQprslG0MkldBtKqMkWjgnehQ5tzZsT+VCWNCAkalbJdv7keiokzLt/Pfx/v7bbU7QJbdGTCk0UKeqy5+m4hE0Ua+zCRbNBM82FDLQSG/tMEYNLVWeisQzlRRr+EJxQzAFMCaGoeKr0A+Z2gx2Qah34cARZ3lurfuWfxizEONIs/p+c0ZurmVXMEfRVkh5yARDdvXjA3KeMo/PPmcRiGad2qSROFOKGMDybGmqKJsXCwG+REA+PCx+EOPmmUpAyTZSZVt9pAYAHkz9TxUkW94fT20IiTj0mUqhebTMc+F7YZL9VJSde8KW0k1xjhDdaqeUCGorB8jRCvnPLDCvuqkcfrCrS4+K51QhhbtRY0f0mlisQnJPkYrRCg62zaj6UsZ5jhzIMFA8MtCSmRqFucNB6rKax0F0LHs7n5oIuR7SyMoDiv1+A+rAqNYIIgXCRuw2DtuR/vo6orIfYZ/5g1MSrOVI0guc5sV8iC/AKR2j+o8bejWmruV5IXfTj1aYO0qDioixHQBLEIpVqzoJhEfeuMx6ZoXduR4rYm/su46T58QP0Yi53uuL5fHuTEWY/937yyyvr8AmdL+XiTN1h9fviv7zq/Gxy1p4L+ik6OtzbGrkNV63A+QN4Qa4mKrAcQOAtvGyMwLSDNWt87KKM3Z4YwbKC73frIx9KMygCHwFO9ZhJJArvnCf3+zO9zzm3M0VwbvWXAJpUPI13CO1vZAXQ1+ReMXV9VVM8p4owKIQIJ3xOSpSHl/AF3ggULmyT109+frUXKCefU4ThX0GvqURHSLl+dErrrJH4VFFwAqEGl4gCP14nz3At9uNHb+33ybQTkfJyN6zRmaw9GxiI15BRtVlRVKwpTDFVgUlT8ZAWTEPU2bw0wy0ARrqaFKYN5SKoGfaUKaWZyUVhWnYSIzuQ/VvxCMgZN/4WMaft+hJ6x+J2WGDp+XY6NyogQ/yb6MKPVKXwZPEcw5ySvp5ZedR7q8oc81ZZ2ovjIuwDrXb6vfJIOPEQhi/iC9CqLTxmELCOQSxMSkhKZRDgVCaftEyEECRLOH/+cOWVk0qKGlpeF+SmGiY/WKGMxhznptEKHPUREusmMr9io6gGIeXSfuemEDbhteEiLltBGGg/HkbS2ZyMtHp9q8ypo/4KKtmks4GhKRRy6HyLHFLq/y/dJu/lVvswM8khYkyBsTFyok4np8/3j++0qEkC7vwO6YR2t6MtxsU2a1GIO+Us2bptO8NLiE6GmfFjmnuhzpVhYtppez+Letd/ak6LckwZ7sc9nmOENvth4mFBZyb/ZxHKX8QjsmXrMIA70aNdDQUzktEeWvtQAbUjNyCo7K6bWucPMSZ+prDiIJ0372Ihffv286pS65hLTjd28YDoJTt0nyaYitVCoKTkSuJUnMTMkgZgxQ08ifUkyLP7FR024BTvd0+k7hPZbLEpDudoU2cOuVqkGTDIjNRL29TgJpYwtF56L+hxT0nPZ5MHKdS7V6PKA+tafbG8CVsaPqYGQfxiA1VGZEWa/B5NBSmTOZnkZ25NQJoio/XnNtUsGPT0KRe/9OUlRXwLqex20R1FPo2HnT8JZP5FxN3eUCdkNN9Kh1WXiOJqXQA6lnPFCrkVyzeht+BZarggXuuVzW7l1JcIahSWJvzGDxDnDBEq2QHyGAt0Q3hznvylswhgnIIMBVc8yV7BNDVxrcUZcStN8Sr/Wa/ZUTwCJ48KmGCZupsZWmcu0K0enioT6tuInYzQk+VZozKfNbFOV7z2nbitdhIUxMojnclvpCEasid/FL6ynamzawQu1K4Rmz4rgsPKojQscxj3qyCWlLwpUCsepAIAtQjjIw9uSa9fUQaih2IjCUyVzjzPEo3PujjaKvM0u3NaCkE4lA98VQesjSteRr2rh9ufRNBIqkZh1zHfqNLqWGZ/omDgsRYrLkA7B56qc5ZzSq5KaegsvnUTVO2mRGFCuOrPoNV6Z3a7+cfDuXzAnmgr0uoFcxd6OHYOnvxXgL98NnFLwLUWnuBD2TCXGjWEBMwgcaRIQ1ezXbf2tzhU+omQnvQxAwRlNtGESF4lTxLRq+vEN75SQS7tpYY8HFvEYx8j6w+P+5bgFhoOYkrqPt9daEC5Po9RMeMjAXsy3jzGedl9OtqwX2wv7+9AOWXOf2yigQE4V30g9gEtliR7Gwg/ms2VeEQePGvJpwjiMpDErzF3NQNYPlORS64AuiyCpTFK56oobgs97pUmEzl0WsE4z4y72rPH8Wnuiuh7JB5bF2qy1MvF4FQBz+kg5VJVRKyWT3Q5yAdWWHHLdUA6PxIMSWA5CoukClrm8iX3YXrxDrd+m9IUa5dz0pyHaTvBi2l61h9n58To45ZBjum2wIPz7y2hHhu7d0uJXZK/PHO5VhBgdcWfxEj6OGlXs4SJN5iqOYCJs2C3MalCbgye4cA2KSGoNXYD3EkAi0QdCxt38wurY/fpvjzAn2RttIt2Qvgt9FHfSAoYOzUUfwR8l2IbIYjQSo+z4iJMvYDWxn3uXOB7h/k6P6rPBDywHGtQ3K40AN1A2oVN4twF+t8ot5HTX15IR1Si5SYOBagFbM+iDQmLDQTYgL29IEm519qLTVh8aPev+cwnAjkmuStf9QU0cOZTj/3O7O2siqkMGvJCUPJsZAHihWRDle0siH7wWKW0KDDrFaIyeCIviGMsRLndg20WH1BcuKD9Iu92FEsH8Ik4L4lKCwmQKgeTQAozy6WUDqZkpUvcyntAsC4JsrF3rKRDacK4VPMjmDoqHWI8bhIo2KxmV89Dkyk5Qp2kM5JtqHSnq0T2rvsld4bsOKke6lYCunaoHpDd3yTVVRJQEgSczQ+jAAB2TOh1FC5wmQF8qSO7sE/lCEA5zrqQF1hVseuM8RLFcKtJZHGiQ3qsCv4wg+Ljrm3B5TRJEcxHXmEayg8OCPUvjW21KkT0n7Wnc30GcaRCUpP30IKQZPy1fLOImjRkYyIPa3m4gcNDOZpwy7RQcopxAhhioCIFm0NBkUyyxLKAnszy+HiEpTEXmNXamV/u8DN1nyiVHb4gk3wY200B+rH2c6CJGg6MwUmVc9y8GLBZ3vkMnRnMae8kepBhlAdVkwwQFJItaPay4LcPIyWsVLrni5TxvtXtlb6W//T9iJba1oJ5ZQ2V8lOy44gkE1uf08ulK0+NNl7T0/CUu3InHTwdqEGjRhBJLdpsPpdKzp7b3t8gg1rcfIjK9ubEWaZk18ZIJgC+ZxstXJKImgx8+dvs8tfIk+zPBhhXF7dsBlw6CzE1GAEoUX74+lbUb8B983eYKuJ2JA1kcwoVhyFUJZkUQERzzwT/LxN+940z5eJWlrT69lCPf61OTBE24rYYQ31FltkMYpCJ9mEMNvG3SXR/Uul2f8fZf+i3UqSXFuiJADuzJK6//9He3RLlQR5h605l3mAuVM6N6qSmwQiPNzt/XJz9EEc9QECUU8wheXhvKv4hz1V7b2qZdETu2udl2DCrwCb58JvGu4w+Kk8wI9igvkwihAatAVG5bcqp0thEsyK3t0kigcb0ywdRg7qIpc4LOQ+XQzmnbccXA7nU5oo9OXgBD4oQNwkdqgbUEDNK0rhZnircsiLlRq14YMiQzi7ooLhcoMkVLB+hyiG1qBiOF4EKgE2d8dU9q3Z8+ywbFODb4jVEKmz2HbNhjAOgehdi0KDP0Fyv200o8oTzX9W2Ltg6su3EvjPaydbAvASPi+fNZhw/vTG67XudIU4axDou2en86ksvb6nN7yOvI7a4v5QwHWNfefBzQ6ZEVwF4hw11m8CMqadOI73WsiwLqnGHtbP+iRHrPtGBF9MVXYEwL6grdPiz9ge6iqJ8br4AOlya12+3t2PmYPAzn+x/gt/tB5xEOsXxQF3Hzq7vHxXwx1GbM1XwHDLAn0skTfwvzXHJVfMO4wkkK/tBdzqPHZI1o5/VfG4yYHlzSBhm7VGfNrLMNHhGcG8PK+42DMdP/domKFNRzNOUzr9pdk++Hx+fn3d379mv0w0tnZ0IEHZnccJoD936bW9WJyYbsIKw5eT0hBC+hPl31zzu8WuzlljsTahiDy2ze0eM9p64Uzxexp/1kOwkJWgZzyxaCtQqbcUoR2iBkHaAaVPwqzwNRZG9Vj8sSmoZBsdBj7gT+9MdsrkLfZ/yZBrLDW7s8QmwUBJM2Y3W0NntPlwYpR/gwLMeSothWQUfYr7ailN01lKC/e2Ob44Og18joGabkdJAdCCKBmjAFDVFsIT/ja1iqFIvWmDdzKvvs08SVgl0/KgShZKWzOtkm745EWbpIMY8shXWmQHHaE5mhhHx0b5RREzjcb6wFr4JdZ+ahYGQG46xy3HKlurQ/uu9o+e3fgvIQlJEeDDhlVjkPG8zobbdYDKJq6oiILUA4rQnouFojTWk7ZhPrGD5h4P4H37TGdZdyYaVXYBWHsxQgDwpE1zpq6drrDh0tUkCXwpPiP4WGU8a0cutU5z7tqwTywtC2Ey6fT99hBWF9hgH5vkzS7FRLfsLNxO8WbSfvodX18TmsE6klc3HEsJKdIkRqybSWv4QYlj9TPRTAWp0rkDMnkGocyt3m/XpYzbhkAAFPiGaMCbPcpslI8kkqoMJuXphEdgzZZaIT91JaGqnIv1NKAYl2GQQ0mzqieLifOzhXuhgtQ0rrtiuu/7I97PmKzSGpSpXajXko/Y/4DSIjLK58gc21AghsrwKoGMRCduUkbZlGJszJ49ADZwXqXJqg9SKsqQkjQM07ZZHsoqcA4HfSGMgPBoCJUnT8BtZBo5MSgatRwYlwTCaDogwkufFgSzs3pVrwvHcSKmlauhyrK021dwxr5TC630iT9Mz2cYO3ucIEOGsgO54nhxROc2JXYUXrpMq5oSdIRCHAoJqJ7LnHviknqPamTFmNs+G/1aEBra8LwllVAcRY4ky0KSUkVATaX1sWvpYucLxzXNzDP7SLRyFS6TnE+sKtogoyA5liBDBNbDI1Et4JcenH+BplaBvAlxIpe0MBp/WjPzNnsRDsMIO3g2SCPXnhnPY1GQU3aCuRY0TSCrwr+kj+ARe0jopXucW5pVmKSFFOqXua+GlSnGctPtlhqQOHoVa/Cmxq0lSgQjNNrmjohdx1NkDIZC/3MoyJToQxL3cYDHBwZLbMqRHWQm1ykViziofflRziGucDxXdGu+RltU9Dlm4depat/vOwXoRYT4uzxTZr80HF9kL7EIMcRgplyzpF1mKb7hiDmwlG0oW3smHkNQPHe9euz89SOhE1BoR+bzCthcheMx78/YPz69XK7eotGOva/fX3x64fvbwUqLTPV6j+BbQHOv7Xvkv5eBXq8V7XOVD86XZ1oX/F5AWA1WIBTljTpV/GtmhD3j1+SElDhXaKcgr8hRL19XfQi1XAwf8xYqAmAEmfoyUdnjYDOg8eb+BXlqPjs0cnu5qzx/iRkxXUmn+KvAODf0l+vl8nyI8GT/6roLgg37ykuzwmZbJIAWE4oznENe7LNU29SKWEPtzKaAwpx0kZjIOXum358Th6KB7zkHTiAgdtbxogdKF/g+IbCRYx/Tx3Lmuv1K8Q2xqcCfKp7h4nXA1y3LYodwXzNnE6JI5n/6DCcX19HAOQZhQy206SSpvLtmLK99BILpnQQWlJCOGlCNaTL3ntN3o6npAZQuEjXA0Eo5G8hQd+Kr1iXFo4hnjXUgCUIXefOM+Jz49WZxIgBLsaXDJGBi1eiKdg+CoGQmbp5alVpmEKZyZMkaZ2JJtCiDzs/+o2HsgQSjXINfoVA5DcKh6nWJ0IK7btxORRsTqfVC0HzG4RHPWfLxOMYrsXJHsrVAeI4pFWnd+mepnKpY4wQDCOkjYR4YCLtlsUAo/gLvs1PcrJyjccOeKJ2YtXFOteJidW8XuViPY0myllIYA5sT6hvzyZHt68OCmBgVWGZxaMwngTTTUr6RRV3Errx62nzmrRzLnAGJ5OA1rE1HjS3qe9W5ihWTG7N5XC1YaRcm8iIopixIPZLZ7TmIjdTU2Ky4AgtGHMAUzkgQFdrLBmMiJLBhOWssbTec16ENbuTtuvTS8VEUagTEnZt+l6ecWOE6jp/JVXst4fHNvSRwtvGAn2Jbw4YjGenNJVGc/fEBRjrgNd8oHU5/1/k9nhthWmWentolzBpaUH+7S5Chmx7MUqJUGCfPt+fywMT9A01EQ0pIlamNma2nSDJcghq9wolGUw1hgdCITEWbOTEa6NrUbk5RhhDnBvco5njr+VvHIgfVTnGHloDgwyhXFJLCbF0PWUPdT0lW3U/kMF+xNzhF2YdIUw3q2QMuDoqMfzM3GKkepQVb5sOAvKYFgUQbGEdSZKKKMercQDExYWnMZ2RsfCiAQ5Mn7ovHORHTTdGXRbOCWY2bhHeNVf3klHSaACc5pey3nxc8p+Fx2JYyCcWWRIn8JPZSdMz80HvyHkYEAqWVCKCcs6lzKFeWHzlIWyawf78lSxzCUEEvj4RzCGx0AVBfvAB8YrBze//8fHI4YTYgcWsIwwZysOa8ANk6u3azz7p0K4kwSzxlYkCVB8W95arI1SmEA3dOUSHgXBP1gD5VgGjZ7CYA2ZI26yL+QmriyGg2lqxqLAP2Pzciqv/c1ZzivBCAkTWFmONP0z5Pqa106USoiwcU+S5DX4Vp3joHlUdMu1kL2kt91O6lyKxGTLLWuXG6O6Y/Y3MuhIxaz8vslHXIOfhBfRBMcUdr8ScgUvnQzXJZxfq/ZSTGd43eL/Ilgf1NciluXDl0XaGkHj+hHpwKbB3+7J6OHfTgbv5JR8EU/Ms+VVrcGdkgwKNDonUSVEflG5S5IO9ltf28QTfhKnlKLS41/xRg14slZj697zcXkwnILqTJvfvH+fM8xG/oRy0HPthYgPf+Zmq5rgqyaHvFJHEI5OF6ojxyAKZlCWKNnQC0HeV6jpqIhHoZAnm7vFBMHwGjVKXNvNvtUGQ42MhSjC2FxIG4sDAcJlIWRIfSf0KpRLjGYlfdf3CXi6XdwMR8rgeC/e1aBF8msnBeXGYoI4NnMciUHUm23C4u/QaImDe0FmwRVCHzQifzuJt4MM9rQKOeW1GBgj5Zg2O9iDDhALJCKtkomI7I72/fjykynQ/SRnGCrexbvd3vczJKhP6cpuJAUhuuPirjmSMnNj2IUgvwRph7GiJwKaYMu5IgOp+jJlq5G5UnYcdd+Z72s/TgKPgpHQrtuRESj7cQ1P5B99g1JvFMTL34VuzJo3TuMnnG13YCD2zwo4yvSqfx55ALe5THVwxCOPfk6/lp64lpoSTD7cioVAi7PnPZJZu8g9vReru5aB6LpjBd1MJjsiBom/zvRpXgbnMtWSU6QxAfAtI0PhT09ZX20boWTKZGOPvRIF+bsOQtDeTS9yc0gvibIYlg8y6s46Qzs4p42qDvdnuYW1pSwYCRInYBmqFHhaGp6TEOMKluY5ppOa3PkpFgU07YMB/IKkyqh4xrpnumQwray2YsOZ9/PTm3OQ+sPxYh7C9owy6JdTWAms4pLgTf1qNh84AJxdJHYkIai8meUKmXXItRFTRqaLTsc5WwTJ1PujMLXHvMTdkTFldIO8W376lYrJlk+AlLohOkE23M9mOFBtFBB8hyMoyIHVmaxdbXnpTc2RNaHIVxGfjsUg1E3HBrZQSZLc2E243M5+wex7TK+32ystnpGiTokkRmmvSIvCPyxwoPFp/ZPOppRtZNORrSO8yTl6QaZJ6CbsQJlBga9URTT2cHdyr0i705tzwSuhzT8XN84wQS7nOs0XgFcBegzRiF4qFvVTX+1Xw1GQyoZxf5HhMfU2EEylQajEpIADR1m/V+EwnNgc+zISe35LQxgr3N2q0aQGzBk5v5XmXAV4fIAqfdGbsdTfi75akzqtxZtc0YFrVeAjl9GnPlTAk5EpTNrRFwQpKOSu+3NF4qQysRSp2YGvkfhBq57JxnLdcm1TFq9mChGsTH4tCQspUEQr0hbJgOvG4UwL8XwiB1eT//eiRh4GIMgncHw9sGwPKE9NznzxBaUJn3Z+aOAJ2SBPbsNb0a7XIs9PKFPjr9MeLzMWddvUIL+oHSM76cb483WT93brC8+//yU0HmPWUDQDf3WIOCDt4j6ZyIwkVoRHNfjTq7moVPDWdkTo1eVYRrl4KmiKC8c2m7hIgereLsCMAvkpP+xDMtNqwpmVDtgllJDA3r3yt7XKcny7VA8sJY5kOh2ACHw/DSix/ujeZ+3Ece3G/v0y6GA8dCSpgolB3EoJiZVHzKU5c1Vt4WUv5CQEJiLaRdQ8nZC1LcEfaSNRi2ZKF86I0d/Oe/+R3Xt35kqayjO08ZBPmUnv+bJhLmYV15MhjCr2KKWAzHpnPKzr3Sq15e37lwclIBmBSev/b2f7gyr+tiX5d+PtQz+duXvknMuAK12MY8ct+ZOqTpvP7+rnO9zOrVY/uNA7de91FwLk4trIhevORW8ZDZNBZYqHoLtSs0bCgeDqs4Zl+MWCEGhkTNnU5AG+M6+kKi1/XPo3QvH4H4DBTu9xnJcj6wPsVvkIKnxKDz+acr3zHiIbedgcA86/cFuT1/fHkYw8uYocuwB7a9gMF0N54UCgv5XqYnaSUEdj5GFfYt82A6x2qzFT0R0AqACyBrvmo74yfFppkS59v792O27JNdiMkUY07PnMGKVMrLKR/9HCsr79hNo3oNc4+x+ax0K+3r98G/muo9NfCCAaYIb8e30UyiopIvSZnwSY7xYMjn5yf2AsAHdyzimE8lYxpfMAIuGZ+TZ9MqiwpTU66Zj0W3JcpWVWu/pIEQFRazQfiIs6VSHBu1yn5/+EfHNfFUTqDzxSi9I5STYk7DrVKHxJDpBRlqJPbu4dYAZkZALOsTqrMYwcXUoog4WI5iDA2PeVf6jBov8HsMzlPdCn1ir25ULn03FV1+Pb9EoghUpQyUXV8T46MKJGTGtreKA+O4eIYrA8HikEf2MNIRJi+uQ76oxvdFxuUmz8wSg1CV5mzdTtqAIhfcxsn/xzYYr8T5O2mnxCmgtdwyGJihEHApy2VObQJFkvAFS1vb7HLl/rSAzV9feRbg60Veb8763WZYUG1L9hYw06u8xrBj4Js7EfitVCQFmvLFJ+Imd+/JcvynPvVkXGIdw0r2fzFdVFpYd2cVb2fugpzS9/cjdvm4QQmNCC8mbX9wJ+8IGpCRNBEhmcFZX22Q3QGz3LuJZGNlJE/2YOG1yEuQ0Ffo20ghle7PJwkXdy8LbSPAAh9LOl3+MeI/n5/QRapqRzBP8s7th+0WTv08jB9Q1t6bL1M4Pki63XM4W5gxpSRxBvIf6Wezo+t9tQ/TlSWoMZjuwXUUA4qgbkM0Gg58iEqs4S5gi58VLrpwwgF1bLFEVrpdcxlatzP/H7Q8k4adEcJhmrzzZENQKwiiwu2Fm0PekkBIWdFM5X5/gJopfILZO+EJrE7gZMpxJ0f09JFdgKJFak6bfkj/wsx4LYY5KzfYwh9n5jOUM33V4LkpGE6LdzEiwdYhJIwXG7HdAkbDJLk3oJhD5xpeVPVTHZRAeBqhm8CEhQjUEHokyBzwq+G37lpWYuEEqiN5c2vsiVZWPx5YeFQmqghpZQzyESidILtiT1RFyKPaaYCMNFb6eA/CWiU0sTlmkrBUCjcads1UEjAHVpQ2TR34tqTiWLJjGkrGvrEnHyIkKsV00RsMcUFIPOVICBIjkqVR35IJJBYRYUF9eP3/eZC6cQYlCEVJAuEbus2nO/fn9/fbx8evNBEQhkqWgPp+u3/f54CFaIQ5ipDz2h7TenvsLSppwOFF4oZPKk/kUC1ZPXQQpCVYBXYsEn1gACpaAa0v4Zvr53WXlDu9UW68PnQ+iDw0Jhv5280XUulFwNTi85V8bslKF3Wnp4Wv2biGZAb/MYBfaS90cp27lMCz2uBOd293koD55cq7f3zmlcnq2cEDvGPh0Ss2zz6VqfBzAe+fxu/XyglJ1i6oQ/A63At2/vnyifOey0Nn1Mv9BxIL5L1bhEbJugiSgeNCoQFDC2OaSAxRcDk7sYk9KGPeTcYM+6aaju6jJBWN9imHhB3T/l8WDitsoO5Ccf5+MXKisy428+We40SVppj8FfAvfxx+OuR4Ahj7wvNwLYc1xX2eAwg62swEaRnLYaW0qmHXJneFHddDy/ZVKCDfV5bwxjGzI/MqSHH5W/oUHECVGXiFrCZIMHGfrZ/T6u8+6o+fQdzsvoNAcrNSqu7hGu3FJhS16PUdEdIU9x57hjG/R4eqFpHzaMgal4FkMZAAtDohCur7ne2j82U6XUmBzIRi1+q+GdyjX8dDHX9y1lAhUJQiWFTZxPIWXDOL6A4HRAdNs6ixN5JQEgxYsarpUY7POS83pBL75TZm6JoFkf4bpcFVlgi0/tXd1jYqdlVz0e6U6tlrRne6J0GGImzLZQ8UKWO3DulQb0v3Inc2W/ZYR2thxHM7FVMca2k3JC2ZhzIRIbps823UsXXw7CsW6vkZOjmiYQfJZ3C8v83/Kt5ajdBH8KhhWAL/lEJCe1Vz7nKKyqRMVTfMI4KB85Rivd++n1PfpyFylQQ7ScU0G/Q46myNPAzvi7yyjxKNu2rTshXUgchb0lOTnLxeeo4RAb50I6rYQ6vKRDxb54tjrWrYt0QB2wgjav1YU67knxFg3AvlZH97IOqJc0RjKC+k3bklbTmOi1NtCwcT/rYyAnvMYvhUz47dkUr/MFpWy8KyraNmRl5rZTQYQBVO/E5YQJBUjFpwkaKMx0X/bQWAh3+o/WqnLFkDCN00NjjKuWZWOwWJgn+N99AWcrdiimj28dN+Je/c/jQK7sM8rxLWSznYVxozWEnv3TO2G9Bn64IIqbL3yUwSAJoBpjBm0seEGbCM88zXuMUxtVP+yIHWo9ju08do0nQhzeYnKeqgsET63MA8yCPOipfZAqHIxLQjIHYqIgLtx2P8eeVQnYTV9RoBbrKRPFzZVbrA+9CybJxIgCKF84GIZcbnT6HUxbxX1+nGQKBaA7IBbsncT2t7JFDoRcrkUFDy4ZJ4Xq5jgEGh9KAJAcUOHrgXbD+jQZ9zdm6YZ3L+n4vOVfJ0wrAFSdYbQQiVlZJ4rCIGKrSwhzpb2nSikTDma9Qhx1xWdrnoxgOnZOkBgi9V1m06pxJ6o1p5bUKYgejbbGdlsiEsNrjaQAIWZiRLgKIW7aHVFlMSWX4JgSk/+BNsTsnCMT8PM0M5ngqeifEumTJPBxcyLo+rNUKM20SqDLgsCJ9HwmRO7mOHKGAaKDTq/Z2IIKLQN8sgkC/TbcjprDkSe+DP1pgjZubn9HwB+sleIbi2NlwLiN1w88ml/cE4wLeckDxKFIRA4NzmadghYQR6SHf5j9tPlAd7T/YFN2eaITv5sJTTZRe1Xa0TkeL5b8mnFUExpZAgmgYrpYoOCOSnlwmtn4wywNxqKzCC0AEWlT6IFSn+Mlso4/prQJL/+Ea9qWQo4DJW4wqlil6+oXzXp49T46D99cCvf8inO2ABuXciX51GyMWWJGWaC05+LPh3F+Of4X8O8bcLUHkDWDm3XyQ+910x6HS3Tit4/+bsvas0nn0BdjW7DLYwWEEqHcqwFTrOAKJ9AQRcchmVofPSysHLDcK4AgkhrjINma0OXPRdlqsyOraqo5zfg0AbmHrv3nIh/itCJEd3O5R9eJW6RlXGFDgToX9Vn17ez5gy/svrkG8w6dJvClBTPBxj2egDJWFK2gqzJYa0IREeKaNke+c4wNPJLx1G55epbbmlxoUoY7HMrDYJzT9576H8akbmHKu7ig7IhvZqCQwzU4GKB8Jz8T/bPDUfko1O++eocmyTwNiEQVZFa9Lxpqm5CyXGIEOaJjqdbkvJTo9itXxJYbcqDasAFLmQ0EhlUe4zuHz0iSY0oI+/XGclYbG6PdJ/MLqOGSMq+yxJRqEDZNQmIK/q8+AcbZgLCzB/9CB2iZ3FsuF7bkwkuDwaCydjsg1wTNkB89fX92P6vKp1GZVONEKEw58amE75W2oimWIJYpn3+Xw+bg9u6/GfkIsgro2hvQQmXFhj+rGL5PJAw1ziNu2WSLPnkaEuXV0q+ladBDVMz+CCXTCbIluhoCIDctpMhHhK3JEBUGdFYCnL97JazmrOr9CD8IGY9cMzK3Z/nYiGy45nVCu3U1oinP8mnUydeSauJxJWhZDcka7fXsrxDSqWdlTH6hZdthxG4HizIPUVk2xstlaTmOKBpGrCbrGQ356f7h+kDjQHIG23YQszWNaGla8OWz6AOIlFzjx77vcSnaT79vb2+Pz8enwQwYndYIsgn8/7OAxWicnwSvP4+gULoQVAElDmCFelhUbKER34hGz2AEu04AaCEzOAvOLnvAgTey2E07anbGsesLRTsGzdxfRaDvSyCUT/DuUGfDlm1k5IWVW35IUPAM37+/3jPmU0n8/HI7vMc8B6tk+7wRY/AGlPrG4pYXujy2yImZmU547u6qqwIgmNd87g2Z5BPSH329YcQa47FAqhSGmWq6Mt9NAqi9nF+FLQbarQ+RiUpV+A5tcyW7DT0gAkhJui1airXsO0df8gOBoeQE5SQPSeEo9dwUpWGGQ+YRwqos15AjHkfv6SJvMK9sdQhH8qLrDFaUWOvZSq1+0NkInPPdMhgo1GxneRrfhAGdGUdjqOQ9JAIlSWyjYoDYKX7SCM7JCOkZTPt4pBqmAKX9mAyunHnjQWHxbCCalPHnKNyJCq+P/i9OAoXGLkLGSU7ciX2yMluhgoEmKFXGCZeZrJmQ8xM/D5o4Z4nBgW8jygzpQaXUMnURwRkiobM36oN4rGWgmDlvxkTSB2DLRMw87nwg3cpQncky1YAlnSU7ol8R4StGYmcqmlBEbBs/6g+BwPtm65lgh2lRI3xHi/R1LHDU7l8/t3bMQ7XDPbtIQmgqGif+lBgKNi8wvl/PaPcU8UxS8Gd7XuYg2INWTZDAX3V5gAsoCDP+R91IYqpPiuB83/md5rHl6x0JERGgWWIItUacCkyp4vpO0adtDyIMZY0GW+soMzP2NJqQtBPpZ0+8lldrkYzMHzwX7Vx9QapcAzBvfv3+cZ1ntdYmDJ7FbE8jLf9jpMLz71uxVp/lHgnY9/P8henZYSxw9fnru840AFZhG83XWSVh2Ud9kBkSfmthLtGbVaafll3wNCw2A+L7n+mIsiHdp+WWmtXU0afb18kvuZjcZ4rBVq6hyOFcYAWSvAtfRFB1yxr1/e3elvSGpvvC5A4M0/seb241W1LBt/4Z79ukgpJcLyzDHsM2YKcHj9UlVWeilayA2V4cHF5hqEEhP84iTDYUFxgRkcQDlJ0ihzjv32vrqny9/98cgmJ53gdP9NbRR9UhTuUEXy231B93AFCzkvFwWN+BVOanuPFexS7BFy8L/NZidBPd4LZwpMDveUHIPAqJ6oeWvc1GvaRBq0ebdFbNiNlY1YzM8pZ6MNz0yFlKmrpK1fkBTdsnXAUf/01M1Pc2w5LtPtAyHz6c9RszhQN3QC+o+UCWFnHw6PpuEFH+NEaM6GTLJOFEbxHJ85uUj9nJDeqNbxY9ulMctZ0yzTisk3cJjSpq0DH3DkfErLlaPBW0k7lgDgpguN50RteAS6CzXwB37FVWRlY7P1mBUdyWq7z67eowhna/f8j4ErioxR0c8v0fZkeDn1kuK1+5gQ3zS7Aqmz7LL8tGM19ue78vSyukZNqwJCn4Qo3AzArie63nI7Lh2mNR+My1eLgl3bsHJ770Oi9hJFEqqqIvoqV40LnE5rzFgn9kCXeASEMmOkVxn2Rk4Jff+MA+AW2Q0mXpBzzMIWlqfTh5mk9IefjzarPUYs3t+QN+nnFROag9iV8BVjAw5sXgxF7QgXS40D0YhgJvtPfbYPs96pBAQoeDWhmS5wyH0OOndPQgAjdPIw9IoPTW993YilidKCwf5iIgJyhCNZuK5pl7wrDazbH0a1kl9t2yUeV0aKBcZzd6zsBKZsfsA7YCfeMp0SIjgcig2iI0zYxye5+FzLJfmKQ7TZYdkW8AFQrOevNMvpJv5AymY8k2FXokjJwxEXPJmgC++BIjjeTy6783VEA2Ec9TB6JjklGUo8KFPuIptqCU2wrdKjbXmIXhUToR1mQH9nC01UGeDtwDwODyCUO0/mo2TI/DJzw7UcLdT2TWX0ut9IwpHAqATxvG+cpSToOGO7q1ba4PYp1k2HqPdvC/J3g5BhyIzpXAyaRJ6wMukuU5RsIJy5QDc524Sljdjdc+4NPMjpgsAS7YtVUxGRDlh8xJxloNaXaiq1+EbuQ21oD6ybBIUgC2STssjbRO4jpLhlwy7SGFRAy6jEQfE/igPfVREAMDJz5ZFGaKxMzYgaPlMrJzOmhEZlghuZ5SCdxdTb4+G53CB/WRXy0BqJztPNzvlDwAKsUaAVH3fYtQyfEY4rAgAkzlJngbobhqvFuN3MdGZdWBCCAVFDgff7bdjeJPA8kD4xUx062+csqY9XPZsn0kmFJri8+WL/Vfp58H2m5cy7hPnEJEGFMvWTyYRUMaypvMI+14Wb9k9IK6sOeiQPbhWlSBGhLVH4ayjMqhYfLNtCH72NNyLhDXNcv1wc4Xp0zuXHUvuVD7xBBPK54qtg7F1g3kW5tPN7b4Pb+BVj9Ty/14+nzzBH5haL548rDf5YwEXjaRBfsXS8pR+v+D+94J/5ba1FQPVzqBdI5HVoCzNkC3/Q33AQ4HrxnDuIwBZj+TeSAKRTMbciok/Mr7UDkV2vE/XGtfN9XSUfz9Vay2B1JHST8/sh1IOGv73uQiDn0hYqGXL1r9Jx2y7DknsEIJCrO4LNavIkH0wLFcWP61o6SjJWDQixXKygrKex7q6zoQAPKS94MJnbiiyfICKdB4t0PSPHv+dQmTla5nG7P263+2OY+HGv5cfOqcO8DQ90BRILaxnL1yg+ijWTKliSzcJMZwgqLW1MBSl6HBHBE+29JpHsNqzY93BI+Amutnzva9IVuYsynG1AU/mmiTKbIQuOkjQ9/dMKiOxCfG8MKk1PNnTnjIN5hAzNc1x9EW2bFVigvlP6MUEUOwuz2LsPMTHl2Z/5nuz0bJpb9bFsJsFrOkAkMqne3RpWQ1KiiWr4DDQA0UgIpRVFMYRSjZjkOSbF5HtRjsSbGEeLJSkZW5TGZcZ82sZLpV+NiuT2NdjYFxaVmjwJ3J6VwEHkVNghGgKOjb7684tWqTOLaey9tZcQDZhLfUTOv8qKWjgQe0LQhTbuOYlTwNaCBiBr1UhhUP3RHDQkQJVwwc2TL0utq3aj4qA7n1GNxOnTpkw+UeS2wJfabJli5UFSHYBqbMhZ7MToDY/IDHi/xEGeU+yghqJmZNWnh+nKHaEf0ZcAClINmYN5r4VGOshd3BPk4jyjrREOwJEgTYmnsnnIr4HXFM/eE0FjsU6fEgkmpQXunzWTpW9ZyV48BWG26oVjS6Xogtv7+3RXW1+alYfSlwMcPHs7cQHdwEF6R8nWjkYI68aRJHHcQizbJ1Z5a4kjIWc94cBKgSLeGmBl5XyTXSJqE5yivAsNSHfBtCAS7+k1xVmUdAaXgkV4pjrxsSBsJMsU1oMIXmu8Lr+yRXqAxdZIigWBzzyJtxO6J3UJg2by6fijFwEnqfX5Vz5SXXabbs5JitNA0I59LPyRoio5kKWuAiXuoEMxxAcLUpidToHNkeoh4bEpFqctXmKT0YDm0KB4grkUKsi/bA0iKKARIi1E9en46OkmhDwTmHIIponvULUJCCqK2U9C/E8pHoLH7WDHggU/Uur8QnzdVHk3CqQL2UwkUW1af7PbWxnFMg0KZMB4MPgVYHDtmVBL6mf2tciKhkETPA77rVSE4YOIgQPHA+7ayRdyoZOWRSMHEPNknzcCh1ClPJ5YBCGqKFb86CgZretUJUAGX9+fSs/ETk97KtYTLEIRTD8ZeAlkFTVuP5mMcqykGz9ulho1oH6gHmNbnekV08nsHmd4O2eUEdhzjmiqTeMk4M4pmsp8kbSo2xXdMFH2A8d9hbNSkpKiLB4AIWeWOS6kQQG1n8K37FVQQOWWGg40Hvf8fypE0jMoUi1jUM4e1UZLLFuALCLje9RmsacZfSA1aGZOLSVBdV4dgtwFwYM1adK7FXnQ4uWLQko1Uhd4wYFLsbdR+sinvkXjXYSG0gmagKx86TjrOS2vMldYwK8ORvJXJaoP+Xq+WQ2X17qiHxfS+O+fshjR6Q3XO/E6jr9xmMEWUM7XJy9A8KOOYoj6BfhKBeWWjOeTZ1QBoiN6HfZ/vsTFkZgvcHmd4EUbsYQl8lZUiZ98ZfFkhZPV8mXLF9soTEzTGcV2A7d1sftSXbj83ZlJhBe8vy5f1aMGDQP28MvzRG4UJyrQTOrQoCDq2DoVBw37cV/qNM/fJcYSL48f4X1JRivMMa4Cq/lhA5GOWH1uYW25G8k0JJ+NoFPSVhrmoZWcM8W29cgLbEnnBQqYn/7wyvOKckqbkueNn0aZWWyhuI4JZMEqGJ3yb8la6C035WgJsLz2I5o187FMjRxp98dpPnXuTNh4KV6uKK6dOQ0+JAnm5HQq3CXlFoKNi4UFE8UUz+qRrmm5l47BRTymAqYOUXirYQP5sS+ieKa8dh7bEwpSXB1kpDAh1KiNmkDw+2iKgRshadYDdnq8MKyhNk359GN6Ld6/ZofO4SGes4a8KS9ci5Oyi/sKkfAk+QgARG0X647xIM1hdgLQ2BgRyDHhIByORXAmMiYFVmYErIooCX6N9RlqqqZeJjT/FCzxCcF3F5hqvUTWs1PU/Z0yMmk2YDH5KukvwxF4ZgaktYKNnOAo4VJKECtx+tFUNyTnT04l1Rpa+Om+jNV4rJSCdesFqIdfuaqzKDubIWX2iZmr0zmPNxsZEt3mkAtEXkbKSyI3lNfoqSrRUjxBADEfbttI0GzvmpeHhJJcSo+bZ3Y8hPA4M8WTig5g88f82Obqo+AC0Uwk5MaCxs2fTXnPzzklhGeNRjVwJGNT71bqAH2awYgv5EDeTZskB+M9GMXxa2fEkNpMKe31Jggy6MOjsCQEGbci6GFZapX0jIKiY1lFpwwTEObrGgsAPKAk3JUQzlSPsFQcTNiuFbxIN+EG3uA4NzsiYnFuDQtB5wYIgR/dlvHpS0lAVVmneRZbjFqI+QPDE/pV3XcnGo54d1dqh/Gb/p2cNG9K12fZIJm3EAYyLosdMoMv1HmKrfIHpkTnPIWk6pIAuIfrDIUbIiqwtDYo8IAJw7WwGGpvjn1f2Rn6ofFP3Vjrd4pA+UeRhMtB9QtE4c3soXfyRUOIk4JJbSNPEuXVWwIFZvpSvcdFGXujSZ/nDhLTVPB+TVw6tzPXHCRbkd45Gza+z7Z2et7PVkxoHvFMcCQoD5YTfWxohv0PUacZN0e4QG4JUvp2JXZYIuINYTHrzBlxGWuqsuZDSpGVVPQw0NrIGBFt8J2lzlEpRF0RzaGr2nHal6GR5/c96hMKjR6bWz7ZvJq4hJQ9I0DWcyOtC2ynEZWvZM28zosyURKt0MDEL1EqU/Wgo44m07PlfxklYX8gcTw4oiWz0CGj0VLiecZIkcXVjEaa9lz7VXELPZ5VQK2QMtlrZLHB24QHbpxsfShQZsRizTtymsY8hq0T7EcVpWAeepyt1qkoWbg1bDGwmiJBM11u2EJkEbM7HHoWr0hnzUrlEAeeH7aJCKJ2v2qUZaAUS5hXLjuKpd7tPtUvSz/AEhed7tX59sRQO8WdXx7VCttAzxKqwHVCFdp1ZJg/dFZJAjIYjjFx+FcZ7cSFERMDCS720EWBkC+Lpv00BOXz+5MBQIF/7NPn6mQLr8LxTPxyv+tEVS5aFnjnpjLb6wXhgxzf9zrQy9XlVVafi+c0Ty+PL11dCEVJtcwoErNe+/7Xjjtb3/safvQVDUHmr7YzyUrODOHlBbmwcSpFcANS/Vy0OAlwpebSYFPHvqKC8eH088flS1CyD3UqIZRd1H7u2l9wjnuUb898aVfBzQekCo/ws7HRLuDA7QIXdoRl5x6rV+ZUdjFTVR2JL0xP5lcfRHJCZTC6lXQzDhJ+lO10s39MLlSJYgZviSsGPdsSaflZuFSaphfCrjqy0B4DUKN9fbih7awg+Zh8LTedBxOt7FgSknF2SgkyfT0MNothMxvQd30qFJeLnWvS0nydukUyijJDB6xpdBgd/IGhiHmbmO6K7OcCb8+phBwo2xj312xWikKMLoZ0OrXNrqkNlXsgXLN2+mlVUENJoAehBHeAs0MmzE5ZkBFZEeZQWivRw5U4gFNJQlE3w6Hg8yZRuiFzfpveH5UUlEzzJt4LfRaSEIpx0djS8QEu+cDq6KopSXCa2rIPkUTCV2y5WVUoLWkMV7tu/LET8GE3S8dhXsKljXYuVQfly7fvNFSVaIkZ8J2dfXFV+GXIxyUy+FSOP6jk3tQ4yW98Dz1XdmA27CsEsAyovCv/wBosEus3mYyUtN5uz093XfHqhN1z1+zanMJgRY0idEoVomGCtqwlvak9phOX55goyAqXBcnlwpgsrzj73pbstDb2lgaDVB2v1A5zljh3IhI2UlAZw94Hh45JmazCCIq5C+N5OE4MEw+e1jnMas2w76+3B8BjvoFlFlNOlqkqjmHFedh9BYoUkvIAYV8AnKgHDkCl3QSNcAUPWBsvbE4B/lAuMxfWYlATA5OK3XPUcP37CAGtFEWDZL0bOfDM/Qh7N6TorpXEBR0UVidmQ9Gj8wvPD/8EQbBiQzVJJo9omxHSQbrWH44yk+DPEgJIOZIKu+GyNdrKVbbZu92U2XU400sw3lytKYoywHhPIc3391e2cjCfBE7KcuiKAW+CW2wCw/WdF3Xu232XvUC2O07YSdPNYYdYSx4zwOP2gPmiV2rgryTR06k44OhtYEo88mvyvAlCDyNBPQwe6ZfIYja+Kq3Xe1EYhYWQ1pV8Ej79976e4HJlEKzHeWhw3QbXWx6Dy6/fJXCo/gBuCK82fvx8ftJs45Gz3dB+ofXExGlU+f52TxgexUMcGv/SLfQhlfvUQWT6lD+E+y5sJc2wSs6x0D7IzIkHZQIKLarnItZgjuyjUPmFPhvSyyET0wGbNt1j3tytWAZou49I16jUhfzUM4ySaUmkhI/8IOBq+K8WEjaEIgCjAdKoh4PKrE2JhPfMKly2+HnLYbwhlkzYek+Wgih0GTT3K6hGa872uNsttQxRAfSfvN/efz3uD0y2WQMKrAQcQolb3v3wyMnG26RlbNH3NzqbEtRsjHVdmOAiwAGGe22CRE/8Ks0P1Stw87lcVKvGECR/rVDFONwXIb53Jo6fp9ybE6nW6ZbLOwf+IKOEfyd5+JojIBElxqcKB0jlsui9+6ywSHSky3rzY2emEGh0ESDvF0e6VGQg3ErIfaO4POi5eKwOcN6v0afNyNLB7RXGx+LN75jSu4DLgvYv71/F71cBSGlglTiPvMBQM+gS6+UZwKMPvAZPnXMFTTQFzygyfcXlvbhAmd4u8sUrf0VOX6xjdKbrP6Uv/pOQYok5f8AMvMFw4OHEvcRiWb2TeZmWQ/0E2D49fhebJN6mvPCi0Refbs+R2sxC6LEs9lZnZQFMCe3tYEfdAWZXmI/0WLxByTS/jsrsuXAr2hd0CXlFUN+iUtMYZa70N0lQ+vb++HjcP2ZH8K9fj/mK6j+X4hRAPlvHnWnTgBRtnfPzcmwERYXZCcnRliIo9X2WIiu+FL78PX+SFDjYXEgljBdg8WxcziyVuGt3iSdum5K0HEqEFZxNtrZQ6tia2gZiKqvnBkp98X6nD+XzSaZkQNK45xSbNaS42Tz08/OZrD7EQ4eXRtpdu3I17EPDHbGuncn/Ost8lyT2TDVei4qz8omFLDHTIeyYQ/Aajm/Mj6hvGqdIUlhoiVAc402ckbNVOxu+ZBHYmWPPYB0OAaTfGPqditeYP3SGS9B53YhMmTxyTKDpX6VBMnXmcifS1wpEg8+Q3gyoXVRkLgtlQlDrHACRA1w11VqpO9gZUJjfgh3tx4bfhiPAWdyVJpmUB3aYPKCxVpmy4qiCAjehlsBSi2kcePdQpM5kpjfn2cBKbvOcLWbdDmDsid9nruRUrry2Nj+KrTJNV2iZbhVVTHD4XhmTBEzPK87tk9LQFa4xyq7jQ6nLWW+fn0b1PIJ7+tVZrZxd5eRkv29JSeCctGRA/gDkceLOqdpvt/f74/42Ts+YU8/PeJ028Y3MeH+f3gZ4gDslKUNyNx8YdwPuSWM3ztKuVLOfNSKE6EJVUz8v5XdPTkGiPxWTrTYAB52x611hoLkmJgvGL842r9oFI8vqLb2gQFS7AKZiMuaW1crKOAfJqDqH3fkp7Za7IY4MBElnhqnUSGPBLIbjUKWgnEpHdVn3G0MclMGYfI6D0gZAyKIyqtkE5hbCXZ7eLzgcKHJ3E54JwHBCoDm9Y3xXVCm1NUVTOAplhSLOKwLHnbp+JiGrGtEw3hc9AAQ8OGuXrbWoMzKwZa1ZDUn4aSiUYeHheQBRNtn1dsIIzEFLuTWfsRbRmfOKWhxWhlQrB34orfGBIUPIqdUvRHwkC2lq/7JTMUiuRXN2SLKPn333NK8O4X19PwMcwibV/RR6hVYQiBQMSpZYBhnhkRrs7Ubm5uRUmXOCsAZf7jEty4lNlL4EcJucH3kva0hy6mP5d14woqTcGqkQcgpnjSfYAoPx6pjpYCkOnJEUFau6zmTIerkqORUh/ynY5KPgC0qTRDuYdUeZW8KBklx0h2yRpbk61hzUW6RW2tvopWJQs6xCyXAyFVOjhR+P2/0Trie0P5vmpqgoNmCO+pqoKwHYwR29WzJtw7dIuVWHVVRLyKyxijWAYruHQPKq2r1Axe+tUCtM4Ojav7nxAn9JZ71x+MiNYPoqR0VXLCBOliWYgRhsHMn9IJ2Wz+NrlVfgTvXMLqUTBRw8J9WDmysceGSHv17OswP11uufwnkfBsiXcAkLAk0vcZRGHVRkfFal6lgC5nVyG/9zYfnBewVzb/DSzvv9VTncKUD4lzc2M3au/dvb9tb5sHBmWQrhjv2yjLwK0RWPSsfVqq6MsW6eiqcDX9bkGxx/9bLzgFSAYNSOMO+jfICV5bu8vyM2JH75rvhZBKxv2OsF/D8unVfjX5yau0bf3EDutFS9dOusw/VAZNldwC9YNE86o2IwlBWxo0VLDO/CWjtIP1Lc97f+kCuoKXvcbx8fjxz+h2KKlZd67tQA8iqqajRqeZfu/MLLuKdamJuylzbHWOZWliHGi0XjenLirHYQGvXaXPr87DkL+thS+cRkZ+atDGPpVCHzv4qnjsOz2glJOJS+Zm6JekuXAXVwPDek50j6ch61SBlm5m1uZl6YWqcMgilvv1Xwj/3AeYIF31odfLAIxOprbXGgVPUMUvwtJIUrrb19ueSuWCyYPC/kMKGHFxLNT0qB5FIgHPtwcZaHQw6Hf80hJzduWeUcwsI2pUOkK3WYAa5ETsiUpc1hah4N/WTbVJqfTQcccjC0fZkt3HNvtoYB0rL7vpDMBBYatvNkhhb+gTwVo5m926WyrhkoynlK2I0VCPn53lIC+Uyy6B7aUqCwAezL5IlvZI1rnnJPTPfGO2r/z+kz388sliOOfCPOoS5btQ88iGC2fPKiEpTF+jJOzTXkAfogMjdCVj6XMj/kcEW+BAWlWf1Hn/OKptBMDscB/vQ9yXysd87MutGXVAHzUkYSVUmKiwZs0SyxpbuSsHKyd8nOjIXGHmBg0hDszGj6j5eMkyhrpFbZhHQgZ8I6otMK693KWw0GhhP7mPrrGpADveyE8NVC66AgYiqP4rfQiwm/fNccVlt0VlFJVKkCoAxAlO67wKjwK71ZsLlQsZFfgI63HzwEntI5U0TWyLT73xqnGaG+xxCBntGEc27ur0/oLC7E6gZ12MbPEFvq8onGTVCZItsvtua2zbLGdt5S8Jcr48QQAjWuFxel6fBY2rriCkzqnAkmVZHMDff3G0dycx4shayVmG5gzYyDlEh4sBt0LsayB0ZQIh5ny0GK9b+mE118u0koosFy9AHydVkAd0NEuIyeOI+fj5N5nzrktSq2QEGO11IMylAGSeFmZ7Bh60RyRpamuYIkJd8mDgYFIdqDqzQ/RDEr4Xy77EH3r6zCbdgmzBmzcgjOD7rIn24tMR32YmPdvr6en5/GAnBQ2a9LGUK8Fuvq2TszCcVR5+IGT0NTAxZU/cxrcK1hpKEHQoEow/RO75xhBFvV83YkbGh+btmzo+AtwRHgt/8dNLN/FGicFJJVy8RiqvVCTtwxg+uRNFRobJnFFFhjHWF3VTEsh7CEfa/kEcnKZwdQyoAYP9HD8znHE2QV6ZN6e7y/P6Z0Y1ujoSN4bUL+zzlgqkJl2X1oMa88D5V+65uXYpVlik4mtjzXq0vqOLtxhS93Ma4SUEI8QhaAoRzzPg8plLECzUxW50OWgpqXZ3tj15JxeVfhW0mKLaFXIMW5it6jflpM7KK7lssi9wuYS6XayM5v71xp1QF3XMDjhPCALyOgKCtx/AEwrgP4avC4LvSC7npdcHOufefLFM+1czZ+BSS1Tg9Jd4TqrEMKZx6dvORG+/QXptvXL7YYk49xYPZtupa+7jx4vfJnzfJeZ6Uvj16J2ftQQ9JFlY6PlqjPBDpU3eJePxlpJc356jeoOeYfMz0hIedSj4XnoRPrM4vWEtdhlQtV8ALRhl8TYUh9mbdheDSOKa0J1gKjiHa42kYMOb0M7Pc8umCOcswh8OwDMlFKT90eJxmFWVqnB+r2QaTXRiUKW0OxrE1wafm4RNa5v1Ix6qa8Rov9Ki+qdQyW0ioZUgxA5rGcD59DU+3njPHASIR621shn1DVpY07IyTJ9/U+JczpDzEb/NjchHJO7vf7+322zs6E+Ircim5Ai+tgh5YNp9z1Qicxv1ueqWU/Bi1ImsHNT4h3xkd2wsaNGLB8qo+6VSGr7bYsWAOCkGMwbCIbB3J0yixXp8UUBbtFFVe+ETucXDXHpO2GuPjApiXJ2fZ5CAZNMIvNQUozi8Dmunt2XRoofw2nMV2bQwZ0zAbceppP4vgcsVP2KUFhSEwx6nTroIQv38aBxjaOexlaKMxEjv4fs/NATZwGIvvx3yDAcYUwMgKqZJHRRuDR2rfVHSGAeP/5LFuaOYsYEIxLEpp9cA7FFOJZLjEASUceWc7iO5x0WGnPlYAnrd4tTBSPdZ1wcVkzaRh19cqfDQfv3nPwjjRjUtlNZv+XmfoUPkCp75MgyK5j7yTQ8fnXJ5CMP7DDNMlEMswlpn5AUzZsW+EvxcR52RyJwvueTkYZ44HrR7d3KBO24Z145l11pQ1ZOial//ASGLdkwq2gzBJ/OHyKbQ56Nimk7Kn5kJ9Jo8cjgPwa/zBRmV8pyYD+xjcI2aZE5wj7Sp8adHlDMmP1iqzAcUcxPLcmntWPcaFo+KTfgvaaxrYtzV9hXA+hsaXxe0EPvvQwvIfZdl2hDlJJK8iYOHZ9wDpeNGOzfE0OJgukwdm20UagajUCwMIDs0ZNyWLjKSFRqR1FPtK+Ir2x4LGeWXUFKBG4KxnCxGTbjpREFPtUfVomSDjH2CRIlYCYYZh5Dn+13MJzDvBueefoI+pAyBUn/krpFS8+kUu7FNBazDSyJOqEcwGPYk4ZsdDPjJNlzcHkLEo11vVWcCDoWVhe4VZkS+UJcwcRU3pm0/Lo3/F6p2KUzlKzP2NCIVNsa1tyLA0YKuSBpsSPv71/fT6ncGjylhxnD8A2KjATnEOsVx8KjOgDloM6x/7IWYUluwEpTEH3v6/tvF0XWtnh7TN8D74fENo12u/K6StLC0HrsBRF7mqArJ6fs1/lCLDMvShGekNRGiGyAoG93P/9DZ/OaNyD5OH1BsqYc95IHHAmlI2/E3F/3N7++rzd3j4et0dKwW6jF8MzLrpzb22XAYJLf/2yYYEmx2zRdp1wXn1xFJcNmfHl98twfolOKfog0X5bKwr8SwURiq7C2HJ5o8NK4vP7ZnrXeD/+DP/y6vybKKqy6ExS/cJcYHxRWvtVOrlMgekz0C6FX/H7sePkMIFwGUDxdIjQa6HHAhe0BdD1T+Epki5Q7J1X3CjarmHL//lyAgL6osvOpfQ497+8hzvOcNyn8smvfgsgOynDJhGMfGAcvzdLD4i184qlCSj/svYi73dLZiIv35UKXm/P/CCN0qOIpXwxyN51nqm8YP1v78pi+qpDrhe3/Up5+6zwExQ7odflLBCwMdTP6c4YKas8I4BZ1XxQOv82Ps5I8zMyBGHWGS9mNzV59HEBIZfxZydnaOv2/vYxx4Pcf318TJXgfY4KYRI1mVoTB9GQtDhIFSZMZ3bhVmGyQ48xslpN7F1eeR5TEE8jSwXbnXMxsSwQs4iUoGc5KqP7tatn8bQIxqZvZyXuUM/7VHa0XmK70zlpdu9xQjylesxhap+7a3HekYN5HIfmUiu6AUpDFAh9DDQzu/1kmRAC6Naw1EtPL0crq8VteJapB251+SD7fK4exaETxjH5hgLdq3VwsZ14BRSzcgkxSXc/hTYHJwBzNJFFfHMzhyAgjNcj+J5DN2n8kffjMJgdoLbY05uKi5gdAjNHK8jRp3YyU0+SXZ2fStzux2njkTk1J6/4vmVTaBJcDwvXS9hwWUAaM0Pmc4tf2Hx6G7nJ+yVNidiJ12fBGkaGkwrpFTYKivxXo5d3jR2VMlKMcOfTakfoPUV/8aTAy/qD+U0jjfMojjQvG6QucbY0WJCG3z4Bl+7BrvweZAE3J+1SHE/y6869kB8aZw9hqXcZYwxM1b9aokr1+cpRbPLGqrJAuKG8iS8WkcT8NbaZtua3JF9LW+cZahrwzjFIyKwIm4uIx4kKcRdATHRVI2sPYXNQGKQfEGjdNtqEFPMt4mnmMNP6TD1M61gy66A/IhKzP0OLOXptBy3GbzpjIHLEVz0pv5YICNgYbeq0svBsZOU0G7wsLUtmHCiZ9KHu34QpJC54+rKjj+ezwX1rIdJAz6ZKQr7CxZpeeTN7uKmVrffRwbMnIclIG9OJcqIA0w4xomTZ+O05MYnppExycpKHNjHa3lJJ8yHVQmtMiGof2V7pUrXBFqZUA8TNnH2zUQdOVn2c2cNRETR6XIACK4CtJohABBmviKrTmpS/o/woHB7IJExmuhmSL3tqHHAhvzRa4k9GvpKch3clgzjqW3cwqIJX9AHgbho4uwoRn1XwB0INjq2CLgd0SkM/AT2TVHy1pUSdzAgCFGfmFZE9QEwdEVLGLb3przZDwOYkr7UkSBRwuvXb13TJom6jwT9C1OEJQkKNO8hN75/1IakqsU1eJp2m65PwlAercm0Ba1ow/wZaPdgW8XSRTfmcqDERhyX4+WQgMhXXrJqAlKf/XbR+xhthhUjRNLm9PT+VtwljoalL31F7ykqx6V5fpAmqyP5Vu+WrI5P7nVEft9tnSsHfn/c0y4Ao5fIQBAi1jgNtX7BVEkm+rh6hz8oCE28idFx3K0MqQErxXg5JTGule6P4ZOR4OY1Pm6PbfJRww8y5ZhiWdH1Hd+kU4fuC3AnysUnVIg6hWVgY+MvP6wIiGDks5oI6SedxSKfyiuXzOW/zLQzALXy48NuxD8/2i7BtQNiXdtqSxb5AGL7Avf6RS+ILZsej15dd6aJ3r1i7xjy8XJDvOWGT3AhBFSiXh6+jHCKZ67y6T/F9P+dFO7va6959BlBcXOIgTOHvV0c7L9rPRSF/XZGCNc8Ha8YEF9mFkx6rtS8v0DzP77Qc4nzSEEo+f4VNbzg3l6HPtfw3o66tW6Eg4QVsh5le7yeIU1Of0VJUgoMk4SjdUNxIOGQhjqaD8ulOznvaToK1Yu1PB6z7+/jAcwZw7BcHTTS1mQBWgOGn6McqMLGBrI4BWQ4LWjIHPJ54OyiUVNNcrKmElZm99cTxYdi/Z75u5Z4Fk0I09ZbYG2kmeE4f8L8n8iy6M/YebYICFjzDU7jjQk2yjdvWbUdZTGQYBKd0GR2QYPRMcCzKZUpWpUbHWio7oZvm8WzLxe0Z1xQD8ghhi+zypkrEALVzyuDSE59HrU4aH9JmyjRhrlr0JwGAHhPlZqLdaw2vxE4A0Vr7eWwqg8IhmeqECewgM5u8T6OHJX1MnS6rh+Xk7dpvtaJQ0N0WZw6fdxomn8NNYsXZyJp20YlxwFFFF3Pm5NtUxtIDZb7/nGwqhv88Mwd/7aozZ+IgjUDN1OJCPcf8iWV1TD5iNMETyZkn7d96RobuKWIas8WuQ5BUmcl28eMC7BHBSl4CCe48lRasCwgWpBklRNVGcqeUEIZZ2GZcc5Oh5EqIBymsaAfdzoPS0GkQk7ammIIX8Q8S6581D8Wpt+mmPDA6hQzIIwWib0rPcIQ5vANjUsWQXE4QsmzVrAybAX3zitCRl2z1Nfo0PZRv3xzZsYfyLZ0DkEA2IKmVycsyxXyycw3hA8tk6C9uIUJ5alnDGgRRpo9tWh3gDMLJDmbBp9woDRb2IpZvL4qPfeoclSYLOagj72xpeebjrOf77fk+e/wIF83DTKBSNgw2pccZ5fvxMPsUivHAMQo/pN++E5YyFsALrRzn/KCT+qtJoAVZEzSpY6qpGW58iMgcYgHY/BIIf87q8JGaGRWnrJXtPZjREDFi8f3b3t3Mm/jcy+PIfLLn+Wj200sw8cOgKbgudMOmCBdSChNs+ppTEp7+IOJiBrlPr38y3vVwVJ21Y2puBYtFd5UqXTDISD9aa4COR8A1zlaLUSMdF6sLqoMRPx/2df2QSBQ/+mUFZQYXTCq0Wjdr5QT4S9SNLoFznNqcabygQoFx1/coyO55igjpm0Ox3IG1ku1JrWVyYw+xUgDgGOlDBL/Pf+msHnBSoGGw42lRE8IwRqbw8dnR+owqiBQLCgctSTxQ+zcAI9hvZJBuwfx3id0XCqjOih1sNqQWB+HONekE9ZNuXuiQd5UnCcrw4OzV5Z3orMVOwG5ZB4SJDCwnzNTbWyxTConm9JDxhR8DyPS4oiTpIBNJvGYAH/tOdD2dniicOiI4Nt3zxBDXVS0qJeZwUMFYuto/9W6dtt93JnAAwQGf9lnkbvjZGQnKHR8O1Fgvu/OCq6NzOMCXyos83gm5rDN5rn4iQRU5COcfU74+RfyL6R1l67f958fTx9vpV/s2ISC0L35ZVVVu8YTZjlGYMVE/Pcu73Ha9LsD68XmJ/Md1IITo4o1d/n5/edUFGAfgr0SzS9zRX42xvfkwUK4fs3fGwPFA8/X6gcdasD+xc/nt/I5Ht8TouleN/h5igOV1mB8Ljog697qElzEu8iMWdalDUTnXhS9U9AtlRUJG792NXBzcXSEReXTuvlyjrdJGVir0zcp3jcsoy6iVEwjBH7vd33593OcstzQSqZCOkGO3R+otOViT1bCjgFEx3AiMoyByZ+1RbS1ijJGxZ0UxQgXRKZFB9sq5AZKtPNJKEJ+Hy0nSFFp/ViWxzgZTXKQkuotmmB+rFsEMs4kdMH9OiDmkpTeO3+8SiJDbEupK3JoTdHXQoF+VGOEIqXQSc3ridGD6vueEEbIY4AftiwE4n7l2YtYWW3KWqMZjFfQan6zR6KErLadUL+EaofCWldDq/B933gm5zqwboGXSsfbVGjFIyprvU4mGYCo/xh7uhOUQS+1Wg2AJJh0631AIKXNpmCcgnrw3Z0rNAEkmZHZ6B2zn4twKayofuzUO06s9q5+UsQ7lfJYwgozm18zlkLPRU/DAzkUwjit1FdCu248JTtU7VATMtCm3n22GG4gPQAQVRAe/bRVfv8mdFqRPogPnJvncMON2l1UksFNx7Mm5BbW/KQhbdWpZJSKj2MLfgbaNVpD8l0OdqU0BKsN2ZKBUDuNHlgkp4kO53ApLSeiqauE/2C1EXRZeOOvoKlqJMB054CDfbw98wjIkNdNsrXCCoqFZIJ4losZnMLBkyrtwTIA8JvRFmEU+J0Fi3tVVwWRU/oS1U2yQlXGkEPDif2F4pj4ZlVZkKPozrPs5AW53wLprmygRS8ZZ8sSoNHwLvme8uaUBOfD6+fbZ1zJv60aUBPlzaJeoM+Jjtc/Ewia1++vjV8JXNr9LTNGMP4i4Pe5TNxT/alg6Qz1nPnGNcmwYFOBpzBc1AKDCzSHEvj5ixRlFWkdYOK10HSs7ccht2q9VVqrsEtGC1acWyKP3To60Ozwl6Hy4Wd9SWGZB0imduJ+fOS6McGycajpAPgfvdBqLhiiZeLjqJFEnB9eWs5m5DnmEOPyf+d4ft5EIkGV8RrONgc60JqIwRe6dw4dCFvAwtCf0sNcrqwdxbLqwDrlhtvkyYaVlbITRjJvYCsfayckbsq1e0QrIf0wUbc5uBdDJBhQnXSs/+1IHlt9v33/9NTHOR849JvDLV1OvMWuMRcOzHNmcsfr+6S7IUXTKCvZao4bbLIAozige9nqFcd7vUxCyMSyVRECZAmwol0CGYeB03qwEwnKPILEuoaDBMS6Nx72cvnIzjzRaBAobcpEx12fOX3ldOj3C+bbU37YpGI2ECTwEQEsagUs/uWx+mQT9gHR6gD1ut+f9/n6fk4lnTo+IUXcjL9NlSolDN5xQBEbKA8IpzHr241d7HF2KvXEBjN9hfK0iWo653Hf5h18l7bwolCAYZDjovBEgU4rqF+fV1EGx4mzPK7z6cUkdebOFf97ZH2d1O0btZSTsifG+Lsk/qxV58jJ41fDr7a/XUbXIkgCopd0OwmR2Dpcxag5V2RbEGwrQ5en0hPjPa0ZeLC4FSNag7LpG/z1DhZ/POn4PrZ0e7tsu8bqcyy9Hvbxe8kdnmNWvGwYrXxH6u+X22kEOCC6EpcSDCuaz89tZPCKgKlrurYS8znFh+7rc/tXn+naBffCWRV4Qe2wsiqmImGWck5HIfWBn/twFyGbX93kOmTEtbsPozJD5g29QGbkREch6R+RegEK55Hkqr5tKyFQPc5L5x+P256+pZ6Jwjd/SPxBDBw8nr0MKRSEsboBCw+u8mUWMqLduNTviPCiBprF3+4ACQLsE5ptq8zgXgga36vYdE2UsePkRO4GNx9bsWIK35lpGEOAo5Ugu3A/Wh55lHWj8KXG7egi5z429WRIfJbWDtTPL0NkGHmO5zQpOU4jMFm2Iia9HB6TrUs/rOARTvsthsWR6xpbJ5APlFA5LBlbjSY3wA2v0f7hSmjEt9KXGEdPN1jBYUOrE046UveLQceb7neMKlwqChgArJp7UCf1qRc15FzbHAq0WnCVk4IbVqscat1of2Nm4kFmZKolxdFNTYr27pvt2kT6FhxQoh1DVwy6uaDd/QX+Tk5Byn1dzpxTBQV2DD2vZ3PC4s1JhW84GO5GBgi41MmBsuoJjMKSNi4hbeoNQbFcmz0sCSBtkZohSS8vRdldEG/dAA33IobCz8GPh6UwkpD73hVUllMAt1qyWCXbyZdtDCVTRx6RwW+RcyCPnGHmQlAQT4qSUIMTGUiAwIF+0NN+JZ9HYU1qmOSfKqplJ89Xvj3//93/TrQ5sVzDXuEboaaqGTC9VrGnmNL+leR4MBE0DbvzyZDw5oub5vCV8yBZSUjG8R6s7rBa3x6nmI25i6t2L20jVHNqOiV+HZkYV+pE+DQeCKoCBQCnZSFoz2W2Tw1gNVGHoP7LzgwXeRmQPoNxPwmnm5o+JFklDglzEQLrAKK2srNYkhicGpm1P6iTheTgp0wx6CLdQ3P/99f4IiiJAM+acyc7kjZwe0M6/BiP5mgooM97Gt/CGAucUCqDP4uNNsUnJmLnVF7LZgDIjK+IE2ns3iJrBZkXg4zZlzFMK8PV8f0whLaFVxOI2yTiBUv0vHBAVke3gMzC7fy2pTYPf7u+VLdmHX/uz+4HjGbJGUovrroSwTXu5NKcf7RKXBYFKXUMaHgJz+Caj5SYzqLJOVoKaCIDJvEHGHDSfyjTpsB2wiMnNFiDHCk1bnMOU0k8MdMnFgark1OgaR58PDUfqJ6htmXqIwcZjM8jXzTZ6djmI3J5KgTRGm15csyGHTF/mP+EzQJUs5qUwxtpvGvTL5kgDAkYLLOUD/0uzMXxfjGq72M9ccTATVrNKLgQaTtiuWqp7yBZnNOUKsuYAHkpDWsnXuNo1ndYt54TtNAgJj9zu98fj8XF/fL5/Pm+fVA+O0ZiAWoKEc2YDKtloPb2gtR1VPSx8XscyDasp3rmONtqPVCgKBxfrXWrA1wfWnV6avt41WJPfkd4aBIrHVaLMVg3oj/1qJ77vk1Ivs1Hsk0H5OdP+fln7+ZX1QQDLTiK297ae8R9AIB3tdb3LW8q4SAN+XVCjMw4ONsV0Hg4we/eZ7L7mN0u8XhDFBXb78XUei8h9E0bC3rhvXTi9Qu5M7+UqnV2he27/7dXJXJ/V8BYzh3B84jd+/+vc+GQJtssM3eQbhKBHAEiRCt5Q5g7XF+3YLxA9lOMtr+8LLCG6Za3L1z9XoXbbO18Wfx09eInR0f4T82UBHdey/moXHGPoijMUbmBEDDqDsiTZ1i4wHblxU4HDaDpdaTDxmBOAb48pDUQgjtnCWBz2HlDDIYhaLZTtU1ARVIMVW6PguNKz5Tf0C2QMIOICeBXP8ZQFV763R+NAZtasYd7Q4WVxsTdmAiv824srVUS2l5xXy/zgTRGdiQFTzI+q4Mwo6QpZHwBr75C9nLQ8uNqofOa823GCBOYn1/PLWhxRsrhlOVfSYkDnyump0gM0iWuJv6pEsgWphlq5Fkwnd5+4YqkXE3iSLpyElFUnx27fU48CIkxToUeMQF+M6Gb0qQwqFmfobGGKxtX3bWF2eI3aOO22am9QMCHm1L9iRjMghEXBejq02mCIfV7Pz8+xmvDSoN9g9Dl7x2YNGoqZ7foglqtjTmiDckpt67EZh8DHmBWcNAsESY0EDXbuzFLYTng8akiRPkplcNzcTaHO21mmBnATF0cD716tjjrAhGHZ/7rsn+VucxS7Q0nKIGh3o5llhvtm3O4f93SWKj4gCrKIHWkDZpgxI8m6d8OmbJR9lOFT5Q8f191cnS7+Jdv4KU1kIie5CTqoyMRgI10hh71RAp3QSzlsvI5Hii7cR56xjD91d2XerAOjMIil63SET2aQDgr4DzSn4lggWvSQCQ7UAH1ovCEC9+fTaH46Dk8ydoaSufBJGm8NcEkQrcsdSSQeZHFJ+ZgScKdbg/hMz1VrfCUjwi/e9UY+dFdxlqAIYgDELfJMpMY0W04inTQe706LvPdHWHfa9vSqRRafhCpqKfkYa4M1Cb64Zibze0R/SDcpovFU2VlNiDftm8OoLf5BvNGXLbnfiRMlIxu6nPJjCnFLRh7GCzbNlonobuGM4zQDR8W6svAJJQPdtU8kb3waGW2oYlwCnAqIh6db7zQoUKpEXdKA7+Pj4+tr8pzm/kIEyr76XcfiyKNW47T9FaI5TbXZuD4d9nOSzvh492k1ETq3YCyLa/KzWjhj396nhv77a/J/4UAEcWeADeEQxIPmYU4aV+kq2WjdrnLtkuda9l+ZpGhAixStCP3scG6YttYHLwjWP3MeOoqNCt55IW2+CXDmdWwJI+8azMQvYiNnDJu4u6JGEW8zBFiQjUyB2j2hIg4YyDQnQDHHSdryMfRs3KE6j02/SLXKYlkTsBsDCrT7IUBGvp2QIe03NuAUdnwOD7IjIC8LBEXD5mjD1ugDEMAWk5DR/fb+V2LJs5OjW55u4wC/f0yG/QngQkI2DFDFAcFG5qBS5l1qpRrdaI7t6EW5REVEA6Mf6btRreXyl2u/qMrk9+j5zDM0e5mIZLjsnHAEwUfEPrJ/9ZSvkFUBatP8ECdY1UNRYQlwZ1R6V630Q9aL2vUlGXId9ev6lvUup7MsE/ijN/8OUAue6x0LhQOdBYFfOmYJqRCJnOxgV3iu+vw5hX1vMdVXOZXXu3tdJcMFFH5UeXjuuNwHrsTH62BHmv/zdZEy5zMwtNT64/YA8cfYJY7f3N+nZA9ttQiNLA6L4uw6620HFVAKULkM9QLcpcJc/R0VthO7TBnSMx594d0+u8S850G0AUPmMw8gvpUAzK50r9gNxUjnIstI8IUF9sp2EjR7bOIkVcQtovUc68LaJMF58D6HMNwe9zFD4gPTczcKm7+6YRjFXruKkWpOITbpIBLpyRcr5PV7sWWsPgM0WBlkA919i9G3dLgeHU1SvuqNkAmcV1PGAnwD2rx7tI2No3RsxBoHtExzSmtz8NyyFWXNlbZA7+M5Kyn0x9SAIB29iFXjVkkJiFFmI7CQY1plwXM7Hq2xuqSIvKtAxo6ah0i9oJi5sxorOwFpXWFiJj7YIIKTa++7iTeasVtGZ1ProSTJLEQ1mvpBevb5/MyJuW/vH+ZsmsZGH9UiaPYxfT9nFKttwXT2RkuQsTOMmFP0J4iw06hi5rjmBCsmXB5mTnQnj8wImHRUopcZ87ZAiHgESBwv141mMBgR6lBEs8BVPxo2Y6gEdGyimoeIxXBIzez9w+2M8SIeU/QekmcEc2bpSc4SQzVZyBgzngkCfBQGtQzWxMENbUMWXoc7ZvhBswegxeg6NqHBCJcgyrBobD2lmMNOIzyRcsvJMibkkDMsLnd2hlQSWqJPoyIYUwgrOZQFawMoOQrtfIRNHh5blxOhU/bfulcKQMg8GUDZqnvEwqTrR1Y08auHxvynBJpJhWCxXSs5QEamN4lAWorxd/YOYl5gZKezi2RHLR8oB/TVG0e7AbEz3TyIZLSlwVpygARlZiQPoTRffWVn3Nhk7qieNCCC0MQLz2r9Z+1vU6IpeBUzIyfHaUxmLCJjOucsFGPoS3ykvHLY77SLUMSTvbHHANtToDWxFTyBltvz85P2xZDRiIeQMSTQeYbJ1XOqG2jLWJH3zu1tP0ZI4aLPK8TstUgykcfYv17witNQvtpLW3Mp1aZ8M1zKTqk9pquxsESiRNlT6xMdzHI8RoGJ50vcnmwlhhxVn0wwAcu8SAwiCZWY+Jn5xLCHKEZmYAKk/X1kCs5bVq2R0SRBIqmTiAZnCRCyG4mZJg2u6YGoySYWC3VoJsloqYS5K2KWsGpwIO0kqYrgaIuksElaGQ5Ir0ILK+JDgB6qHijRV+CkDz3AM7jZPlhAENVBytP4X76hdqPkYOgXuHAIATE2HEs21SeC1cKVW/YXTG5WD1NClWLD8USVSSNHFnTw8nOdnx+GMAQNDSKCRFh/PcLSWif4M750CACGEQDaBwpZquLyRvRHIwhIZ1hF2QqOE0wZjeso3bWd6qrYi8mGh+zex1B4PG5/fNz/9fH48/P9v/492JkuYkwdgslPNUG3+63H5M8utXIgjaYHudAhINTYKuS8VwgdiO73hQ3vLWfVOrvcAbFVUEsw0SCZeM+m2jc5puVoOxNNc8n5cu39mhJngtfbOrAS0WmuqPDm41v6uQhHGHS86019duNXrFoRtlcf8UOhXlq8Wqh+yX98y93H+QouneuV4IXPywr2ks0vr+5NJYHF2+v6fl4/AOu1H/GL0wca/0RDPy5X5+p/czuW1fX1vUkBsMDnAoF7+Ws/6rO/exepC/2Hva1vUEHs3cc3fwHvwbkgyxCxRi4f/LjZAI7+ategjXIsuL4SMcJs64nt7768GKmPqWwqGMJiWK3YbB46q7qKVEldz4TnxkiZfWeQjeKayYOCGeY+O6tyAFL08eNxv388bvfb/eMRMY5LPUPHNm2pm8FRQXBFiqJoAaygwLcV5HgLnKaBi/t+v007xsIZW2rJiHXz2kkwNL4u0SLY82j7fR4hhbkC39XCiXamnLWkDgKw+5VyKJLV6CthLnSLqsqqStFrOyqh2uWxxxezS6jKkCUST4ZkGoRlOLfqzM1xCQ+YvaPE06Wh6Am7xvmIsZc5WqW9qfQctpL2N6bAwx6d09L0nBxjI4yqHaHoPdaT189xkAKBGkCkclijLlkXMnOxVBB7qZ+TKqTrWT+ZzG3Gz4a5ePiZwvNz8haTxege2y1ZBTg0lnHtuuABeIboBiDWIxUB5c00ZHXlyu7pxYwAbaU4oKulYd5niod1eTNszcgYkF/fz8mQdR8v5IQxO1+Oxxtej82GLOE2ZcOAwI27qUs9ZBI7HA7RjmEh+k2An7PMmrxkZzUDtwGYy4q/k0eeJnzHZKLQQbFXb4g63wNnJyO6EdfdOwgLgCjvWg9obQzqEAMgaypxS+0VjIEauZGu+iRhd4Erb3c1j+fnp3z2YolmsBT9Wx0RmOCxLVy1kJpXSwW37is+gkInFcSrgthhYYwSPJjkSDIK98mzf68iRhuImXIIDqw9n4fGYJ5Y/VlHs3ZnrnpI7piDJPi4W5rB/nOLY+FX18t5YggPKlRNCivwWt5gDE9Vl+/jtjAKYZ5dft5ORX0CYI/HY1jmOZGzadfM+IyJeLrNbVNaDIfMecKB4SNL3S2drDXrbcU4EiklNHwHEDMwtTHZmYtfV3hfhbHd6mZfLZr9lmN18q6uUJ1htJgtNJ1Afff86NlcmNzfs/OZv/e094r6SAcE6GwJOGREGjsv58bEIAiPpTdyeYlyHWO9WbD3TCiHyaRkZbbLZiX3xx5sMMnwyCl37ARpKDh6Quph5mc6/KKHqgmgifktIbqJvqYIIdaDhwSsPYJ1AlXcdTsEad6UGamUUuWigokEH3hk1003kHSeyjXp3THRlOUONhEY6YDf4p/nKDLnlLpehd/8fNzvSZbrXDpOq3ryWgppLIbiDUfOsO5KTCV06kBcpNbSJk4CTsJqz8RHQgtpwS2r0yeUQIxJ9wiTlHkZoEWWSFp5EUrXbhmSHmSZsrGG0spMI2C+YxDM+dUZLXuB55vb2/ev2/sft7ePEVVYXffkcsN0AE58GdNxlnjJSBWFyqCCEx/0nmBJI5261csl61+tyFIyVYiBJL+reQSQ1xpW39S49UOpLM9htbEtFm7uAqYkvu5KaKBCkDdTZ8OYCsnavpgUnfdxBs4l7TiNoHgnBfcUdjuEtOWX/X4XVSIFSFe/yxG42xDFuVYpXYbqR+iUnWOYUNegoBf+q+Sztuuo5+qgC40LGvYCBT8/3e8k5vVPfK/RxB3vdUnn95f4wt+uDA60Lx8tsIMvxcpOZue0j9Vp+Purei9GN8NLbPtm77zCb1/JBJYdZIW/g3rhKnnuh4DMaPwPRtDWJSBUp0iVqZxuISP7OKY//LrGsVIYSExUHDpm5/EKO7X6abKAJu8hDExh4o8ju2JPB/VZA67AaczhVHzR/f39I+eiPO5v90cKoaeOZWpb5kwkyoGEggUpChU6/eb35nsV8iqazHpcBeU6VoHos9Iwc45IGJfMKiqkvRFRpFdEcdyAdEiZoi2MdYWNPralSQCvuw3Tazg1cQCCDjLR/nPGLyYwuOYRmxXLnHZqIamD1ITIEV9VbjrPElSup52Nshzyt7VTUeo6gBjv1w3kClIF1WWjWdaVqKi9ObyTdISe6lirNTPZ2zaNS7EH0m+a0VIJTPNk1ZMeR/7a43YhFB7fUrXPsZa1gaJCkv22BZQ2AIGG+2MOTB5HOgOywGyRi4ce6vLIFEvToTfVK1o4G8bp1MlWuOd7Dj0lpTL/V8vCkkkXu7WV9nCJVOFusHwwlUMgl6aVHskEkHxmQx/Jz2WaqbVMws1IKhbyV2zUQJZ903pX6HHtKktucRGx/8uJYydY+VVZU3tFWTBEFPStLVVWvvBILxxs9ripqrUZjmWJprKGAhEBumuLkpmnRGw18wr3i1MeWRaospPZqccMlL11QxYmyLGZfAUUcNBJUhBilTT/kAqLGKPUlyXNq0MxdwyPEec4wJtEV2o8EQm5kTKX3GEW6kB1zwez5IDPw1ABGpswLHvYJAfp74DduFpCkCo5CgSAawPw/avChfEnrqOJopil7rrneiE4kt1myADlmbOtgnKAaTn56obcx24KbZ4lLRz+IGWOdA20/a5bFp1ozhmeXu/PcVAjGeHPyoGIxZRxr+xgHFYBce2ExrGGXSKSns/RQbNBE8eAIBBiTamNUzyCgApV3sHjRHQyaUxY5z/u9DSkDzYQcxB4ixSXJ2wIYSxjFT2yYFw+bW1VS4ghGqfGUv0ZptWLP1H2RE3UyQbKG/iaAdhkUrW/5gU5SdFdfXwaJ+RDV8xyloNw4VFdnlpEKRFAG2A9+tj0YMxUHRYtq2bo61FVbInBVWH5EX2G07jQF5bCv89QDfGwd1exq9Y5axpY21+BNbk1GsU+V+qyFt2mZOeJJuwGZDZREFngXH+WtG59gEoWBK8ylEZ6OmlCNVVnc+9XDuDlLLAKDTkL4eWBChiERu4TmwQrilIBlIoAfJFl/FFUFGWNcK5Am5kSXlEpYrlUEcQ+E/gIZC3smpdKlJOWXhlLiYfwVUxrfmvWRL65Ru6ZYmW6N9y+b29fj/evj/fvR46dGJakDBhTFSbODmppsgyzfLayQn0iFR2jXVzIsEpmvU5HlR40IIQDA2rRr+fhu5ZtDVpw77ZkLOnXalFpMUS1V+4Lq6pQIafjcgtjsJX5IAfJnRUDvk0rC5Sdkci8S/XlsH2yuFTHgPL9fH/0a/7dsBDE5wSqyuvP//YSfouaYoK/lQy9BaTtQ332f7gKjQODXQN/7yWazujck39svKOhV+762+299sOs5RXIL3f1WoLNHz9G9MvXz87NFwyt1yyXvVzF1+WLYOYswbXF0ZriLEkR/g21GLLe4NuJwq13fcWPrGTm5/qey5RDJXm1xMwdx/xMuglnZ/7EywMXaS7UHQdOBYjkDkOfRWI+3Ca83PfK4NxbaW6eozZsz6fYnXgZFVky6ZtJ/L7fPrJRUglwn9Pd6H6CFSf/ZxeqQFilgG7B+Tmi2FMr+zp/UOKjTt/gQSKUGXLeaJXvuOX0ZSmpXGQfOnRc9MwwVsBG0ubWHBDYp2hskSm4001jf2UX7meOQhWpAaRq1GxQqQAhhXLJMLOKeZd5znQ/CffNSG4bqTyPisIj065m/pXS11WeK3+0Y2Zp4zghZTXp8ELrafrY3hZ5UxzMzBojfnIql9ddCY+B9JL2a75cex5mQKTb67MmEBSRqHYMYoofSYRiIee2dJqie9nbF/vQyEDILjvU29vn1ycaOcSYOngMfTbHRueCwRDmdHuFyXPObBt+mdXcIHIMqkzdLbsEGzDg8UjJr5Q9YXlD+wF5dwN+JfCgwcbg0H4MjJRQTPaKVlKCj94oM34svFlaesGGWZr5tMA6aU9wrG3WacB74WCMmHgx4d/0QqI83u2u6UFCUbr4DF9oSEeGMY4bsoMHjT3mfLIClT/AolyCHDBIJJwDt0WqzyD2T4yuzXRaDpxlRxx3l8SYUYm8YNn7ytrZjGvTn8ABk1jBlHLPQPDxeGQvLK+wRtwYDH3S0l5V+hiPeToYTwRnW++MRZtJ2T8ZZt6mR6Bpm36bEqmuYNs93yBE5vzVRPXg9ZyYWuDYOis1s+l9Nbews4aIxQya+swwy5z+UhUMDiPk9jDSboPd1dlHXvExIYSUx6QCQYlH0wMvezdQ0RrwpHvbcO+hRmQHK5TNLKhOcaxGtkonAIFm8gK6QFPyLkBGlk1NteWvRDadclqN5dz299nJM3NL/ijynw3aEdl512naVF9vMMiSpxMtCErIUOBoeBoacNGCDs98Hdr53yBA9GQLTrBwv33+NT1u4QJbiEV2JZDXQgBYNwpVLTLBPP1ZpUAd5oHzydrNxKat9J2Tf+a/IOgr26KjLOXbgfDHx/QoIvgXJ9bxiZrQ938inWxfgWzpwGVpEW+lgX4KeBAiQT2ztZ0DJTYTTnq0tjz0i6RQpRPlGaTSdI5XHh8siGM/rYPbOiLY1/PM1qlwwHw/xxKSpnbJISGCpm0DDqGyKUhR604aN+24SuKmHMSccnAOxA7onI9/1vJBqFxC2gy1jqvzOc/KLxiG4D0LGU41nFRzUCEGgdFrgHm2tEEUzGRmE4grZT+MjUjqCw6njF8qKDevXnOCSgGkbWZZ+/L9frt/PT7u93s6x7x9fby//7q//7rdPui3nUOoqmgHpgSwDLJ2BXWnA/yaqswQCaF1F5pZA0XtkZli+jUggszU8+Rq5R7Khpv6jUJJoPkFIzAx9DBIIn/Bq2OAqg+xDxhBoZCJH9Jdp+LYedV+L1fZw782zpaXILr3rpfnHAfMXgYuPf7GuWJgSXPVuOu7XGuq/PjwH79bO6C3eM/6xH56xlhjfC/WAIE2evG7eV1DDF3icuDriqMA+OX4fZcvcxVKC61g8fLH6+3S3/nLWy7L62Br8Fxu218hFub2A6w7ozBQCP0M5x2+1KZGkkCrQKCCJYMTQREYncPfLmMhGm29pC8dzeipyje/5y0ZWNHnS4vS3KXzwojliyiZ+RVgABGXDCEQwpTfRGUNvlGfqlucsZZisc7VBJWfmVKKwh5pZzBjI4cmbTcmASU2iB8EBG39vz4/i2KE0EiEbVGTGXZ+LJAGhugXhZ8T6Gqy1uk+/f4ZT4DDnHfJGgA6i8wc8RgZrq2FIPTFdtO83Z+fCYxgLdPCMHCOIZPekfOsW4UnAZGZkW+2kZBSP6WmvgUaysOUBeFqYq69vz/T4Re4Ba8qcTKodXIyCNSSOOlG5TDMIAktBgjJRXiTYImlXdueZ+f/U6ZHo0qCxWeYUZrY+TlmJEupSHSF3VGFMo0vcRrlJJfr3j4acX1//WWy0T3VUhv0PiC34k1Hi0Qxrci2SHV6dhLGdxvzrC+UeXt+PW046rfZuhiiSp2pXtOyUpUg566mgSiennos0gQuYB8CVhs8CF+cJLD7wih5Y99VgwvDryE/gUdesNagQiHD7u4iy2DxYAOT2GRzuApGPYSTwS9FnYdUNIzrYGSWiRdxb+zurm6apUSKKBfoUx3jot3I7YpiBiCLt0Ga7nRoUtzOJLdiXHevIpdRv77fPj//8kCc6SHFmdvaBm1tjVxf4wd7ryk5xFSsu0YfrKHAN1wrc40WSA7iVPohVkP/wwWUOdAj9/39kTsm/3iaNosinGQ3lY5fNK5UIiJtblbxrRBoBCboGQeaXrXSA79x8rgxyO4kQfZpeSWSk8NOU6Qa4wocYuE1d4dFK8vSXnWKIWl1kDNRYrvj41lNIZUEo/gzfgTEMs1HMoGRxfjqM1diSvNhAiDZ4d0T51wx+SnE0MUMrVHoBb07l42uAco0QyOYw2lp4THQObKS33SGwy5oQeWJNVG8kZeMmLhDdtM4D2dmneou+shxysalPfmoIZWWcaHeqkZlddtfAcMEt9HYbOugl0UpsrTwNTsIEB+Z6uzXtW8zdGDIR2CR8SMYCyTlHiV/PiN+lCemjp2KmZBYj58JLyXyES497lZJw8fz+7zRihfRHAzq5OMzR3aYcIU/Aq9gzvx8+AapdwpRgiWeinSNrMsRabFfbBFHlXWmOmYIFJTGHTlqCAIgJwYQOfFITxXyk7FLlsTwUQ3yXUnrWGIQdrWWIDZqUnm9cUHRhI6UndGZRQakkIeW7GJynajcKdrJfmyWJjXChUgI+KubVA0MQZ+EToIkuEJwQa5wCoUxGScaNPqbr0CjrxmGAUjW9EYl8TN8F711/4p8Gq36eLx/3N8+7m+P2/uv2/2Pj8e/Pr4/7p/35yyIWjvikTTfZrWU6hHxqQQCE0vIIfXoubIr4CVCIgEraoQgMQJvENpauoFEkwZgSoQcERlgaBe0Nl74obzOZJ2k/FOpUF7oWNBalwfVnbedt+410E3grvSCJuzkfcwJ7Ro6F/uHM3YAAQAASURBVKkMtnZZrwA9evro1ZdBfnP99lPX/QLK/4OrNJnLZfXvi6rybiC+8P4frg7quuXwFV8iQ+ioOvIH8vYQSa+fQGG9FZjXr36sHjI+8NlbcYAqSV6uvUtU74MogqJ9FuERiV0CmidDuyB/q0rKT5cmM++NfbOVZaVPps4gAHEJfh23tZpoUZOSVHrdvWARVf6KPux1a2HRawpWAbNk0bkD09geXaY0PCr+PhVjJcRIanxALDRyNc1ILF9FMc0vM+bsAc55bqZVqGVDqmOp610vV8aHabi1sj+QzFrUa5pnejyr8yyorBWkb7bVCiZ3OqRS67iHOPAc9kg83v1Zwfl2IWpG8mTwMpGMSkej0gmwBAlt45LzKSYbkFVH3cUY0nCLCUOZmQSFbM+kEQi4yxgA8J3cF9+bJVPZW92aqaEvr2Ky8+RQ30ZFcMAwmmF4Zrcu8TImWNg5BD5kzrOfVqV3CK/DddqSy/yih0+uBaMg9n5amc7/6sLtJGWw2dSXMTW+wGNfGm0etFrEqIy2fAzfmMTpsTdKZvIQy6BKlOoC0xVT4CA5AM9MLuFu7Um6YUe24PLlzWbUJtGG2aCxwC9TbKeNCZ0fHYxJw0DZdQfEaK42/kgsNBxOaNVtiVqOGV9rNecbd1/a5Sgt8OISKgPh53ll0hsQVfoQN6mkKQWJoye0fkJyVMKLc6nZVLZ2nSRZokBsOYiEiv9CMD9fuFuY+KXiYfIQybQtvR2nsDw5KxqXBaEtiQYTNL0xDkKvr4CCIzVrqODphKagSOhHspsmWDHOpO2RLQYtLp0BaKFHcHH7FRFJ0XGvmxduDLwSsHHpSm+hXydlyn6Jo5jxwy1+v33mG/zJNI6TNJc0pr/VM0fFLJ9lgyjC2eBl3CHeztlcTBsQrrUdCpOvmbNuSTNIUE/eegyGhIMS8onNjYHYYF7ClomIQMe+K5CaotaansoTomeRRERwExLL/t7pk8QkswQYaJdgEwU1Qb6MRzS7WcYkp/0+VAiJAoGY44YJv77nhJuEJCbLPULi68t62bgIxDKh74FD1pIzmiaLS/38WyIdVFZMbwpLTOxJW5HLrtRCI1jLsxkjk7O4dw65Q9eJPjefS2CjkCD1Jh1wkkNL7lN6fz4/eWITuSzBs53jsqCGPZin0OGa/s8gfMXHyO4JAqf44ESqViCi13NzRUfHk5PD4g3wVP20+zTzRw9lP/dMr0aR9queGtvjke9oEdFvWp6FhNtC4uUZBZAsPU8mlGSCZBdLiCryxfOrgB+QrjqeFPJQwmc6Rydurk6K3y4m/UxJamOtnF5YKVkDKPDZ4UszkQ0wMA39/RrzxKILhdrSKstdwg+LYerQLXAVsiKv2izTaIvv7jQDiUx0z3KL8Rr6KZCnj3m2PqeRzNvH/f7n4/HHYzYDv30+t66jxpxYE7uSJzHeSmZWWqLsWy5NbuvNhgy7E7BE2IN7xXSHEsCsqvRxJAOUsL/7BJoH88j8DcDwcZFVkaYuDNjqADFSwLwtW6U5X1EB7Eyjyf2z4+3XQXiWroXUi+nnNR1OKuuwS5EO7N6tVYcd57y5HxUjv7to7rdD/P7GM9Prjfv7Tv28sxi7uJHXoQ+udpRamhfYCarrU3tPh9vohh9cJnjxOvuQ2O89P35/vcDF9SoJ/u3Ws959boMw+sM79bpRmSAnEPQ6c9P8JrKcDzBPPevOGFCfuczpgMifsCuxxIzL43OXu9pDW/YK3Q6jmQBTj5zoC/NtQZ/fGm66IpjUAzsi+cAm/RE7bvGCT81NIfTKFN1vv691lGNF4j+kiCO28uNx+3jcf/16fMxW4Pvj4zFbf9MES2FsFDKzDlgo8o0FkhGriJCQuOuKWIUIwNQfRLVhnpFZESYZLEKBuqEif/sOVMRoey26gK/tHubG+PDzyTMHH9B0cDdOtxy0Iie5REpzIx0M3eEKY8MoUCEF97+QJZp3q5MOuJl6OlUW1/X5mHNGRMvnbwWkd/tU5sEZRdmxpV8xf+K0Vd+Kl9Uz3dEzn8cimgxqTb4pXvr+/v6cdEv8idF6OY/DUNIMi1EeTit55uemT4VGXLU0JcmmW6omjc82ABSPjgdWqQIhbss9CkHr4GIhZkWz2djy4OxHE/VToTfHhkJPaey61v3k4KhPZeOe7q5CxGZDNI7OB/PTKrN7GuUGGc/s+5vjsqcuklnGazUxYCAAybO2R81U6DMvFQ8xrmJ7zWwHheTAU6AdQQKlFcBBbGO0YDoHymI2azlStW+6OPPCJp/y2ToXmY2ZwtIL07Npqd4vvIVPXW0kmRLtaVaSEkIOmiJhqGVlr9Z5VdzpbZ5TwWsFHdUq8+KUScjmmqAVF0FEHq43FPE4Nxuhw47A+m+vOGJzVaozl9ltPnN+RnYiH98n25mgZfqMoazAJHmhUtLaNHJLrYh2eBaWdsnCqzWk15P6kHsiBjwGC8wOi9AwGrvlCOUbVMntMj+0UDIu3CrRXADFty/tATTjuN1WT/mc1CgqKEXEzzQTq3TmBLbMzT0JqhaSn+GiRCEUkVJM1FeKiGh+u3bShc8RAKuphL8JLlxJBEa24O/Qszozg9ncmywrYVDWOlG9RrT5CbvYtG3EE2Afv4K+wUmeo1Fg3UyoMa00/R5op4T4zpFJKOeBZH77evu63x4IN/hczbc63ouCknr/XTMMk0nOqEqlUHaFDmEeGEM/bUvxPUA8HZgISlTC2sygOmbm9vz+DLsTdakj1H7aMljiw+w0CCFN+Y7Wt/wP8WCrSV2SNBt9s69GjDtHf2PzC5Q/oZOE7LRjuIEeTqGAVO+oKCtkEAvykTu1MC6EGkbAIBw7IGdNeVicOjL0qTQsNsJngGumZ8IcSSkLo0iik2fzmHlpdDA8i15RtLHTmGD70XnWDE7Yk7qadZqZZFWF+c+cSGzxVe4p9jUnAonsgR6wJt5pYHRkiXGRUITGZq1CmgikRXs+jEL9niZvrIsOF1G16PIxoK2up9S6xzjNl4/7tA94TDh8vN/ZU/eWY5R3PpHvgV71vQb6WgkBMFyTUs66c14KVWUBRHX5fb0F9MzeF+QAp+JLmaw8jPfOWxgUJF/GXkkLAo8MBp9IHmcuqSOfIaszkn8vOfUrY0VFDV+5hMoPhWYX8nKZjTtLZty9jxTUmch1bS8T3BtU6H/74uXaQX8zpVU9P27vd/vo9YMC8AW+P+fHExI/NLAfOdriAo59efws6geQzl+rpl4Adnmvd/4dbr0ur1WtvHybnwtgJys/H5rgHUuo7p+EFCjCg24ubnyoK0ezKs07Dn3+tZl6u2N0cmeSPooOXJzlm7li/0nf+SYSM5Ja3XPBQTyIBSUcVBDvki8VTPNjvmGtfZRY5oIq5Y6IhU4qjzadwB97e2GOj1R1G5OHEwxS7zyqJDvj5va0O6naygzdQZYUyOxt6Xk2zEdPGCWCPXjQxrqARoLc7NRUDPACSns4IBTMQhTolF5MLiievhqpHYtxMme9RjTMy9KiJe2X7zl6XfEwVrut/kmETpOqkeGfn9Felgih+HSVyf6MC6YFj8YBdfMujmUSCfG68QnBNZYdhFFdqfmUrpn5pqV2TFJ4IKgFEDJXRrD1UvVFAFkhubY7aiRowENlTMIKyf6sPgI5lD0K5uie4GGDCyKBnxIcuSwficKadjMk0SathKMyD3kkqvtsA8PruUcwkYEf2GY2FB4rAtOvgE56FRE1sZpyWt33BA1a0PtFk6NK20CctKIizjSeeIrryxGJQfe4aJQbyGrhlPkiDGpZbh42aN88eYhabRp4IcqyJ7fbpKEa6ElvYgVhLT+8XBUE1lFsJ1da8IFyVG+s8e1e5MKhbl/ATgYndiEAqEuHxFfUMBD52Tkek3sTnUzYBwP1nJwkzXcL/UA3LlUpiZ7VZgK5mSQc5odemE7jyoAw3u4EPE161PE9r5QqGztCy7PK33k3jYMzWaaWIBkviTlO/bBvJrlCjnUSdTFaE2dKCERbtj4h8yRMkmXExE97oanAT8lrfBBwzy5BgU2j4/v0IcTvY+5iJOZyPDe9psxBHCR8w56NvLg7Ny0eXmqK4MUBYZ4pr/BGZAhicfuhE+pAw9VpgluBXKAYhLBphP0J0KQbUVzg+/0xZ+2S3Sf1I/1ZLjsAdH9yeDPLifDlVC5YMJiEmGDJoHcgToO+gDqdjXF4lPhrPFIxm+6MOdAoI9ftn+bSSrj4KojrSbxDcw1NJ0aYA4fYXftMBTvBpFKVkQJkrrRUhwvIbAxbkVpehjqX99JzDQcEutPzxI/gRWn1yCPd5rS2v7BN9QVH+zXBXm0aHl1RCsBZQ2pBh+G7IQoPc7o7Ik/yk4WoOaMIlXm1/tj8oFzO61EwM4PQbdTuCAzrWubzmTP84lyrUSLvQeY8Z9Q1hGppTb4eSk6jzs+3748E9acM3sCW+7RzODbbXcark344Ljt5coTgzJaShBDM9y1BXwJfwa0SeQD1yDreU6xxm40sk/omXNj2/xSQJ04L6Hht+5NlX3jgMwqARiFRG1XxhloXvCAb1YWQhEJl9XzuaYeahuRP2UKMwJx5hc5v90feMbNpSgrRoKQd0FB1IQ1MGSG10Lf72+c9hYUDQVutzWwpTwBzUGM1UqjRzRC+Kx1KrChRSF9W6lXVc/yEq6nN0GWl6qCLhb7j5KuGkyHmSld/rpFSmuvLyOq3k11tstDnydiCKdVPddE6A50Eek89lf8z6+sEvP/lQcOn3pBx4Q/vVKJk7SqS67M//r58LqP18YXc3/Dwu8ubwE3f0idX1K1Ne1ncBc9+sHKpeOwlJh3s+g3Q/wGnvWr27FVnrOACqMyuyv8VVIeurp9er66mFthOhocKYJG8iN1brpM/L4lA331oLzxRIX8emD8TI5bcroEQH/0diNYuROEGh7H1VPJtl9+bIVv/5l0ZnrHxV87K8MdS0OxstMuvXLaB42tEoHtVdjDmJkzKnstu/EX6NlKUnaip3CL9+/28jQuRrZGxX8fvpW9WZk214UhSx0o8fhJy7nw+jKL4rxu5ITj8ZOyKXYnVq/7B/+rYYJww0zHjbEcUa43WIVHBURm398zl6/HrwZJzfIZpNMzuuCWj8thQSbsWbEhMEmZBY8v7/f58RlCv2Em3Gd4VuwKtjccSm40lWYGJmrwKbGO/OGPRHvOrqbOvqRISXhvTOZy1UzvsGjySBm4Cb60QaMZsHuTBe2nVLdthEHI/A2YAtPC8Z0L/pSKu0ZvxJMTXwVpGTBIGWsiYMmACyqgDTicmyt+6Wjns9D2PUZip1Dj86+uv7++3B4dxmA3pjMNf9AnCwXFXQb6fqHkaqpERYVMrJpa7OBmphZvDE92VbXNmeBpLuOmFyZNPSeB8GR/BBKqnRRBwn5KNL474chxSOkwyjcjXHO1kBik40ncsNDafKzmUjVCje+kQMfWxY8Pl3rM3c/4JkduehpygGplEC+jzP6jikMVSiM+0nRNwFoU1wCp1I2ewwZTsRgrGwMoG1fgLzTZHsEzKbthqtp4t8dsILbKWsEJiKxa092mj3oFsBLCr00o3+ZB19ZAthPn3nAPcPqs+U3q+7CeGh/i3BauytFkayTHwDF3GZFwfCTKF5dZaS3eF29jlcC45FMUceREbTcPnlyDKOoeVDnDadGyao1GIo7DgbvFHIVkMvX13vM0VxzAvK7uDXDaOYFKEqQN1Qg4VAA/Rjc9cZi6vR2Fvom9Y0c5hJxIjIjIUPgZp9e4g736eg5vhWjj/oMaTAXEEu3zZ2HZBc8H2xjdz0rdH24KiLDj7J1D4iAmzvp0taVzNI+CZMBjkGWO6ZWGJCQW5vvFUIVY0QCLgpG3V0LKhghLUmiYYIanu6eIvrBgsDNMip8Y/mR5U9v1XU2ipz1seH7MHKgUvczPTTBYVMA5IkFaUDzV+HMOFr3BtWhwvm3AiWeRH4DSkD0wIVXxxQnLwhVmAdBnXccBkxAPIh2e1MWxBdGIB0aZJ0E91OQcGsC0n7acTwo6bpfoI6+Yz95DXTpWhlYz5RQMvMzPWNE7jEAWhuCyYTGlCX8wIu4VhTW0rERj2GGoQWHqaIdyhv8nqz9dETIGr+2D4X0WeJdbolVSesPE78SQJ0HhT5uSzGDF5PEhHFWdSxAawljKFcx76MMIEB0lju3097DlHIuWgsOmimoE9Vj4GjmN3fYAE2Jhk1upduRRqTmhDPiwKgFoBuUaJf8A0OwRvRNCBWBFyhChvZHJKmPzEhkQErKx0SLL7vsG5Eh3bHLEXKD5VaNoTxogut+Ea8CiEEPvTChi0wY7oNPL5GURBvausGpZeLvdlBKX29aML3HJVtl4/+6freu/L9TpqPZUdsXhYm8Nr5frl3Zcph3pfYb0XBFDVcF0S7Nzfjt73jh8P9JsD+Vcgvpjn3tlEVv66DPBzokXJNSrxCusdHe2v5WNxRAIvISe4+DoKhnWtkiuZMWaNvXzyssbDnjnfYKGtKkJVXYYSKMaKIGvs4q5+kLDu7loW8Rq4eynTOOfB+1rL/YiwXZ5C8yJfI8ug/eGyZBvy/oy6gtzatTBMTgyeQ0Yf9xFcNzavuUT0YEpkEuQLJHRvEOwYaWgQiHbEdco452XbfQU9m0MukdL0N+q3zMsesxn8sO8poJvH4YGE7X1uwpTfTxwouX7cGDPqGOcBVPIfbHFEV2kqkLULwslMsaWQ8xrAHCkeQFuInr4VCkJXGc2RtoKsgGQfss/FSnDqH6CBMqa3hXgLGhM7rmXY1hX8fmQkgL/gGnOQn0i9OkXYPDERICd7GYWkJRFn4trIiHrodBJrx7K34hIxzaefn1PzJErRqZAvmhPXL0+n+i2h82wKyzhAwpZNehvxwlgYxkoyvy2HxmBKGIME1VGs/WH/lApNIIzaTZD/NgWJbCTGAOnaTeOTrN4CQKXz1UrKbENFtafADs81V4smEzLaR+L1IrgAFwNITg2rQKuu4wrgcwzKWXkHZIsoiNP1gAUYBa0eDDKUQXklmXNgcP1qo0LTAnNs9JMK5YUhOr36rIvDR8OssZNsewaA4hCRFZ31pZWUrkqJstGcWIA4Do5t0d4zGxXr+ZsdQQAjFiKjVmrphrzfJmDGYlgpeUZd8OQtlznnXCI8k2MuAia5wpBJj+GRE+MqAjJ9pKS8NYg59TcMAKYapXAazyrR7685IPctOxYUS2GrAJpOfcgM9n0akWBbscpqQk/2iS3VImYThzNIhjSff5D/DAtMKeWWFNoMIueHuV75/Lp+w0JIB+pUp0MjR85OVu6ZA+IQLlQUGCVNsBOqpOAT+UbvhzmndqA67lMPJSaSNBQ5xe7BVWpzwMOALMEbcpMEnUhgqg/HL2QBFON8PdJ2b6kfsOIJmMTnlNRxrnT4gcJjOgs2Q4idkF4RX5/6dXOqW2z6wHxmudEgRfkmG7OQ59czzTmsXAo09IQQrIOs1gkHyFT1YIQw5xRxB2IgxuaBzVkVbe5HComDhPfb1xTLwM9jBjTpQJoxNfNxhO45u8rSesJiQQpcDiLFYOCQLl2zEf/j8fZ8+3x+5pwqAwpINFJqEwJLTXxmFZLIyHPoF0lxtfOxcQYBTXnQ8yI7xwJ+hGu+ghV0HfgEvZ5tM1bLcP/Utw/7DAAzJt3I4SYbQSJUjDlE8GFC1R2Jf55OXxkZhrUbJ8JE2dv3cudEfufOQQt6x73c7ikFHPCfilKy0zJQoc4WdSNgM2xovtJAyT5vanLZA677/+7xk1JWTsYfn0DbnJf58fH4ePv4eP56PD7uX7+mMOtzfWAUQ8NAmaZOG+u6eGaqQzHtwvrNWhTizHvrFld1rkLtc36vIYD5e71lqYh2skpvwmfrTyJ/fO01uVijssbK0RIy9u4aUH3ua5sW1DJ0ThlC423vVa3toy8XDwahNacug+VvFvLj+SUq8F5zMs/BxqGL0tj/fhUqB2WX786vtV9/ogHK3bv84zfrFtP59XdzU3ucMbR4CHId93tvOnRXHHZ2pb9K+dcXUeD2upBXOB/EXhfhYGs58Wf/KBVHKJVAeIzfQn/sQ82Czlp8mULmSmxXZivJIfFK4gLg4o6eVcXewu7CWESAhpUcq9GcGCK1b2vKrg+OFxAjQi5qYbaiuXNkxqsNtXTjGHRwb+5+ltkDsnv4gBTFVlmKI+IqwyW3t+/H/f3jcf+YyuecwVjfL3Leh5D5HCYxBuUSBjbeTM4ONAb8Kz1EvgJ/iZnmzOdAYMClH5jlJQ+GcE7O6y29HiyOm11gn9ORwRMf0nXWbv9TaNOKQmOyGqg25GfmwdIEoPXYM9XIqExv6hDRZQpDH2ngnL81CGPX13A4NNxLo46VRnVgby5C9CqhGMZkDAyP7vRWZXc+lC/ZTgyC4yk6A5lOD/0QBDJPAPtgZ9KvmNiMVu1Rhk6HIFI7iigr2AjXxKY7YSXU+b+ZHord0li7OndMuqlBeOSchBBRy1mr36Ilv55j9qcCTjhkbSlyszt0wRciX0pam18xFPuTQYle91WmZm5vb59NWqZsb9cYvwBUtz5hNfAWQiazHbMke/XhuDrnEgzyIbSXNl3mgWbwZFzIbceqQTKsI9riODikFYsQejYL5oLIvYc5QBWXTq66OdrM4cLulq9Ug9YU1+vMEFwgF7VpoTkEJDRcQ5+boZD4dPLInjWz1YpDCJ/txUtCbglm0kEkQjLk1+f4ODVDZzkxegXmSnte5Q6IuKlKY41NNlUaNyFQebtN279xDDbbqflZaZ7p6nPDE50XqmWNBulJuomK5XcaEcPoc6BOxou5jFbjQJcQdTUH0mW33sXywPOYp7fiFGsmm5sDHZgZ/k0ND+tMKbKthvWqM/mqNR3aDBiHmSXocIbc1Tw69vkw8pf2CZJ7ghjmaEKWzVdYZowQ6Q/qlieqGsZSORDYwNi2riNEhyf53vNpu7maCC3U6Sq63rButqEGsSs0Of1l0qHuT5n3OhJ1pcH11H8mPEeAoypqdJFlqqR4Ig+ilnJw36AA1k2dSS2ByiEOdu7Zbsiii57Y+9n5qICg115JCSMlVALDZgnE/wI4A0mwQ4+8Z5PlY6TtnJAEqVN8dQypEPyUR9lLKRJnRrBHYj5F1/N+gmqZcKUwEpMCLWVWK5oWF1xBGaVYnCXx0hIZXtrQxgp0KA32zCmzFMw6IJrFPyz0SFd9CoDorxbThmYJleEnyrP+T0VZf9aSRvEM3dr3opJdIU/8iYfgLGRFiHYq43mHm3KVts9PcEn+kzlAMmZ1vrAUQLZwRrFq3KrPXH0NUXxUTBnIARfUAXCteMuKMudcuEfisx7YPwd5SrSB2xxJlX/vj/vH1+Pz+/74enw8fv16/Bo3+Pa4v73/xQPJOUMEHKnk23dC/D8hRpbaNxXCLB4zpWUcHOGlSK85ega9Xp33uoW142sM7Hfa6RXiPwYBzlUZbvcGvPsQaNhfOj9HyLBn2b+Za2+8iIgLQF4uBpAokHTCVmZ6ee63b3ohdSdY6ZXP5YH/8yv3alBwQUDrQLK4vTV3SOQV5nz4es/frwqGv91yWellPBeGvFy6LlJ+c4G9/vUP912B9Y+Xci2/amD9uCNsOp04XzRDLlaJrcp9mhu1ty6LFO++Q0OhZA6cdVKEtIKKEbcJKsO/0CFhAVw7kdiJHybqfDVaYVCM2i4Cxwyb5LAMsogZccNZzzzjgkGgryvz0qMuOy7UZ6VhyzHOTOMwxXWJ+JhOOb+mA9Y0Dfr1x/gbt8fsX5l6qAT2sutHrtdPd8IorHbFieBK3iDZ2ghzfWCRjf34PRnbcwXa7JnMExS+0ucQtrnf78Tup5x2bW3ktr5tDK09gKeYr+wkzC1s0THPaa2BxtGFQA8K/xiDNPHKfJIXIZKA0pEQ8vrk1mom0WnL7CFerZZ0jCIZWl3QOWY9Kyax8aaYC/Lhf573EKdJms6OHRKzWbRf4w1yuJ1hR1wUwfX9GXCR8aJEllmt/7C052xDz9gRfoISKgtgFK3DGWt4TqPUjiqB19DCuos1QXOyQwlxJmPfxvCdHA9GV31CUsA1iDimtM9X3tpFCS8l1X6Ee7Qr0FeVwFOQLHfiCuEoWIlt7CC/mHsE46wrdl3Klcm6V1DMBJRIGFT2NwMC8sSmApw/5dkqrioyswkgzjQvLa7VIUgS3iUDEveJ6VrwY8MdPclDeAQwQERCAYvYTMWbPi5Azr5edx6kWWzO3DHlUZGMD6/AwUcDgsdmc3vXPA7jfL99fz5n3zJr5KCi4jXy5H4jcNDVNkyw3jXnTvKIVJbydPwjq4GEF3bMQ46Fc1Kq0SJppQFe1i0dUlSdFuVWqUhD9EJQxmNz450FltZyFP7q+ModDy9DhE23rq+vsRwVMuQtTRLGrlUw3ZIFBRAh6IbZKLfgK5xz5tAoiPIGPPFlLGyLeZDmiQ5BScjYlFg7bsXrXLd0jJDIct4JNI1LNf655RbWQn+RxCbV1HLg2S6wuXt89S/beDQ7Cn86YZNInuoyvzDcJ1uCOWU0HPtM+UE6GJvMWdxRPzyQiY9d127ueUYqtuhyfdr5g8lQHHXdSgE8Kdj2LfItbHQQIk9mGISUvYrNpoarVZ0lRMErPREUjDCoEZMRGLbmE7FouQiSn2IYClqEJI0cqcvoscn+PvXCkFM88Rm/Gxs2khjKnMngrA687o9xTQzCrdMVMUMwdHp0zwDTxnzqAb5nr+v9nVME5ot0+DM6vhvj2QWBr3+/T+iKZiGEbajr2FPmAReQUXRKQpHSooI6Nd2tI1sxDjP5qPaFPTgF0B1dFzUfcHg3cEgKGkuRCcwbL2FOdfyUMCRp0Ix5ComrYKKoKrOj7WYPybj31qSNIWUobd8FAagwSaQDhKn0S6RWiweXGyJYlSOx+CPwMX0SVYTyhcW0727ZO019QuIL99vt4zHCiVZYb9Nx7S5/vmUvdFq1OT1sd5QhAA3XdVKkjqeQg70q3iN5K93k24YC/n5tpFKZtVzB7ZejmBJyOjcsbEoAU/WidjGst/dJIKjlaobgQXasLbyT2PWUtzOUgkOS3u8hyPOYYlpzykdryKzRifgCY4j9vpmvC4D+srDCGj1z/P/n0r4SZPzDWEpGXV1vngvQqp5fP08w+wQQ+uXeiDr728V71rjsI2Kg8vfc7PdOWL/NP/Z11zn8uLTtev3u/s3l/v2rnWwJAVzClR06TOsiqpp9VHqTodExiKSYDeVuwCk9VcZcxwnesS3PzBomOMvLuzZnmwQaZ8Wjuq5PQ3s1ZPdpgVrrs3+9kCL8gkLrEoSx6FuPAkXqYwpx9D0v9ykMG+XLSMDb9zTt+3W///GYqrLJt31MUfH4wB/3+4dnACmcDl+j+kUK9sz3PcWQHoU7/98TEAMtd7dBdDiWtoBZbJ5gBY7w6MosfoRNlHPWV/2Y28IXa51WFlA8pWEEUGpP6ySYDcn8Df3ygXVfB1GNfzjmoic/GSZaxmLH2EQ1HammWXGQ1zWeS5EXBsaIebp8SgRqTdHLP/Oq2b1Fra/GWdMR7P1RHgBSZ08cProELR+IxO6ETBLJZ8IMwDwhHQiK2uycMGQppXjK/dtOhXzj8/mZZXOMS9J9c0SIbnID6DhWLo2iSFSNbYZcmDUIGjApUIR+cO+xbS66G6TmjkxxXiyqCSvk8dCZ6DgUdNGPdRYCPuwvHBBqG1Mft1KlMoTPxlpOWpdezc96YEBL+5d3rG17PVJqDTQyX/Jxi4oBAxQZYoIX3BWWmEKFR2L6PN/so4KjVqUk2SqJIpWlpb1zbNQpMu4FDMGJtRrZvXDZXnygV9v1qoTl2MZG3JWNLTqdq2d34dvs+M6F//p1s45gD99Z0yQ12OC33i6ZDyS0ZYMpkOmu3vk+NeVTWJr9kzH3KXAt8FUWam5ANRNKdSU+M4ZaW3ghBHkSTIOjdC+fMhVnnT9b+qJVyME/1VlZAIlJzaUcZdyznlASbFksoTBtvDUcRaxbFmVnl4qgtDxN6jJ/T9uk1Y84444DoymPoAswujS0ogGheiVp60VIiiKyK+KX0YivbJgsBTnM1iO/Of6b6pdV3DA2MTww8swOhpxjjHM1vtx0ss0+iikUqk8Bw1O8/f2d6Fob+bKhNHGf7/R8P1wxTRqqddgsEfVW3ORzQycQCwIcgst/VKQT8gKs1tIX0FIz1Rq5b81Zzgqij6EbYNLp+jnwecyUMjelOT4sQejsXGJ/cI5QspoW9isGt0SKE5jHHWU2QZLkpq5Y0RMSMLKV9dAHMpWw0285/jPbUAkqsSIPjr+nFcTIjcQ7Ka/Hzb4rI2JXSUtL6jNM1pWOJBgxi1Fu7rpGRquoavVJl+LM03lUl5XN8hFnUcGh6OapeYHL4QLRBHYPZXaATEm1xF851uDwBxQCo9AMq1PtUjOQZ3BUkib2mXecqpvKLJeWx5cecgxAWI64q9qOOEkXcvThzl1TEUpFbXTMDCChTiVPSnQm6pfB4w/f77c/Pu7/+rj/x6/b47/fPsMuZhAUABHYe6IpSFcNK6iqTSQ7gZCHAyfRdhSZaAAFF4jku9Jpbz5fKhau1MEQSjkG1oFbxtCud9AFlgOkHEz6RIEc1/x1Atcp9DXYE0YGrl7ocef6geZ1CyGUPaGYuFuLQvi4tqyTPjgH8fwDQ5w3/WbO/+u1VPgKc0e9Dv7z90V0rhL5b1BXEF37C7/gHyKBcrz/AOD88NYzBvLi94Tym1n0OwXJfvay7jJQqPd/gKff9ZaKV2XY3qT9w3cXjPIMJYj5DDl0GfpKQZWa+xTEA7333WR1SvTYHlY471zpTtt4lITFsN4E5GMKBrkdGymI6O1TmkLHAi/vYXAhfzMIX63c1YXJr9nlW5REUsdui5GWF4Rwvu/f37/eb3+M2zvHIN3vkweO1FWy32drTyLEp/ho55eJCLuZA1kdyqpNoNUQ1+BV/M7d2f8ZQBNK7p6v7KBKVWSL0+gRFWGu+NW21PMJ/CrSM36aZmWR5JMtLALoVMD5yCKpnq3EoF9UssCVKOEgwKP9QSoDedyofSjQevH8K2AZD9vJkRj0tBGGaFUQMQDGm+IVKtxaoZo9VBrT4KtzED49XIpUAMonf3Iw7PRy8pWmcLN4n017h7EQo0OlmSA1WhDEQ27UV5POpW9zCH2iFhRjZtfb1I7llqQoOSpJ8yALSSn7EBgnCU9SYHwh0g00D2F717x6Ys4JZ+PyHZnCb0eplFBontJC9MCzTYEyCynHeJOfgiEPfghoShhyUPmVBBL0OvbcmvTax5a0AtrAc75mYbhnccNiJer2OrdwYixzQ/GqvK7MdSrYbJc9vzC3rNbnco8fgE41SMUsAgpenvwPuy3i15j7KXQ3CScDJkLQ2fKK2jPQuryTkuyAxT479/fvRAjeb7PFNSRkWyKLNMPsIBpLz902QzZ2Vlk14TEujRbP/ROVmxvpcUNXLZvjfH0/Ukeo9xoXeJb8KM9YKV7LYNVRJbgVgoCZfCbtkeCBbGfFys13OWNNXaK9222673NgJpw055MiL7L2cV/1o+YhkmPnXGQlwTQlAuyBoQkNZfiqkBIJjQRy/NN8gSVrz+ewRo59zXmwQnKWwIlkz+cnkiFDebppz9dl1QmZ3mbmn3Sa75a/Yb9rF6sgLm7X1/0xoqFJ4UA0ZdUNNCRMkTpwwgcgIzlKekQr+76/olc8kN0w7ez1BdAidFJhOGzHPsiEImfYIxGRRJQBHg/QwG9kmbJ7Yr7PJ1G9gKSyfkgtTIuXuK50b5LDw1GznYDDmfBa2I8TJw3vl71Xh+XiPCiMIqvwxxTx4DGJ3ZSjnzySc65AzLcDoZRGQ/RaMzmazOZVxNE8C7jwmV3xHQvB9/aeXnaYHE+tUoQgiL1qRG0eGFl0hjjjEo9P+Jwd3Rnk/faY2Vjaklem57ZHWGFP0PBCiyvNLt/u04pJaZq+gok0ueEkQFozMYZY1NsptchKWC9oJRAzfb/M3DIw7zdfDY7gwaUIz6wOOEbwJUbAalIikTCRol/zCH996RMYt632wCmR+wiAU2EBePhPU7RySzut2u2gRm0NlR9WmF/ilq9pGvoo+Ur/1Hfkm/mAisE5RfP+8bj98bj9x8ftj9v3vz+nnu2N4vO+ZsU2r9Q4dt7QkCuhcKCR6BL49YJkVzPL16rKYxsciPiC/bh1VgbjLndCxgGUWucyFrDaiXoDSABSQrJ/74X9UVmxydZeIU6Mq9ps12+xvoc8ePhitfAueGHXaWhYK2fXDgswvCje5Ez1+v/JxV0vU+znfPgaftiYira73+3d57qi7ucX6pTU6eQj7Y2X+yRXHzku5Ll+vsKbd1KXLxfLP68ltcsHXX6IYd996PrnALmtMvPyjURdNwT76ToNqC2vp/8HQF1+YUChUxJ12QgQPEvjZe5TY2RfzfxV2CxW6wMJ7vrRehEEPCRryO/ng1wGJniFNtJZirNmvl2EJK7pKcXo9eb95Uekk22uGv3IpGxiRZ3NOMDv778e91/T8EMvaOLg7gVLcwcOFWF72AqWDPlCsosngbwpHQBXrK5W0M7BYJu2SWV6Rsn/oilQDeFiukJnBMOIvhHtT0og04phGusznzgF5k7SaqzdNaUUn+pu4VyXFaOlWaZlWXNuvM9cjat3GqCFWrA8qdqNNZGRgXP2rUGICQr4nhow7++z05nWG4tkm1mwdRbAKfTabmqm0DMaSYkR6Gea0CIuVtCbwmPY4SjZsTCxkMVpQGGKrVFpXo3puOWKyb1gVOgVkrTw5iK96j5PWUs866c3EBbpVAGYEVmdcJgopvqetVNKa4REQBuZSgEaIfydVRNVxNRZ6Nf3JKJwlmhoS2whtrRvb1bz072DrIWsmsN/p/8mMFgCL33j+naiQUbIJhTOXWNosc3R49AUBMtTMSw7NhWabYl8fReHwoZu2LVnOfZYmOPal65gNMmVUzuejfEAH+EMM/KPhB4jqmak4tA5YPmTLrOHq+Wro5aJhwzsPyf+NtZ+VUkIEsnzTNX+JIczERgGYr6KgPFsN9PLtOPCk6yrNMXOGY/q8fnX5/snaSht0FEAY8haiHhxxJRblKXNWcxEBRpF2MI5ET6jsZ2G9ktfX5/Wo6qNKgeJWJht58wfSvb3mNZGo9h1SL8BG5qF/4E+/nZIc0blCKKEuVYK5pVCLCBii2b4CJpFfECOEx6r0SfzT9HmTCJt5RKmwAGG4lkzSV3jFs64TIjJpz+fEhHbf7HXFH0zWV+oPOtMC7Wvt0iBmdXz+ZZztMlqDr3PqImaBMGpkmWlFmOnq0X8lvEkAdukrewhbOu778/nEJmNpuJ5wppOOk5vIBAplu7kihDvysLH5RoaSKBOQp+nn9PyGgqpWcMeFS0S8+f5PkwRVkmcIr/knTlWexKo6UF1Aij18Q6Fq/gnjU44efexN45MI8mZnPLd2t0JhcxJShmmAXsIuiQi1RotsN92tkwr+dZAiEufGCUNyWbKz+dneo+RRISqR7dv3ym1SEqO9GNoDpfdPuoq/d7EwIhTfKerROKwUZ9MOtye7tC0lVZf19io/Mhf7nhtADV0yvRu00A7MZrANDqEnpnrdWIY0Z/zSL9NFNg/StmSLQy+DCmHWD/pBd1BVAS85fhHijn5urW1dXI/a4hcyy84siysv80c6A/JpVgG036m9YTsWOnpd/rrKXx+vn/fH9+3j+/bbfjuj1+P//j1+PO/3v91f///psVZKtAiECCN42EpmIqM6jZsMLGYD0uwNch3jtIj9o/oFDGv136CBBKWvAUxaNhw/uo7q6RXR9JxhUss+wcSk19r31fwOndRdJnGfMOLO+DVh/77Ii53qAA7GqIKLEla8I8UBV0UlZmMyiphKQIi19X88+Vjc50nfl7rIqxpf+5EIV9e8Rts1ZpYYPz9liLrN98Bg13Nz6/9guTEj3v8pW//3eR6w5KcEY1OaX4svx2w/n4ZuQ76+Rv3BeGsta0dPDccA0IXgLlIEGptpd/yQgMuip3yoLZSJfsBGu/2N9/qDBUy++ZTDDQD0tOBtrDcIGEWHg5bD50BkeqF2ULh5TqWDM/zLNDaiqS0FVrLg8GuKOxU5yCQX/fHI0Z3rITpqrgmH55DTItqz5UXgV30mgbSdezsDJr03dvXZAEml4A/41Pjfs5mJKkEgzB2CLZ1lAZdgjj1EHzltdNUZYGZF07BaX4xC7eUFkxnPuTcqr7nK9QPyFhZ3CcTydU9JV8qLDFrCQoXGiz3BE5CF8uYkBCHnU7laOVTnkzEOdZrDE78HAxJFcA6eOYzakTmH+py2RzEqETYzYFXzeNHz7Td1tqY1EC25w+tQ6iED23yec6qiCcinWkRFvyx5XLsBBN7/pWDDTN95gUQqMTEHhBEDpbznHPOctJRUtgzoZyUjoVHEmhYx3scNOm4th+cewkn5S3sjXezKEqNnavr+pK7ggyyBM8WYe15g7Ii62fmGvzzawBHhSM5AFeFp1aYb46Uwvm8O4c0MmeSDW4ny4SBcv8AG0tjKiDIl1WxairRrgIy4GRGKTWHrtjV/vRAExgkb6wYJ624YLFgNk6Toy9a0bHB405UsywCSzG564jtui1UJ8aCa5kOBLOYsVcNaxPGlOa6oFoX1FdHSJm723ZGWeUYnDS+iT8VDmKA+fn4mnNWyDUHyGzbTVryGhtL5KN7RGNSsmsyTk5A2TDkBBfZxQ6iM2k2PYLY5J+hBu0jMt1LfHMOe9zq9J2uPEgIYeoosqqp7UzlISjjjekqFsq25nEI/H5//PXXv3G0gmbYICIJGLDnLVqFEu1w08RT0oQAKROR0f2uVcmVoQOcyR/jrqdVQxrj1LHkGCAwDZCHWuink8Xbsqt0DWKDyLppod2ERGdHf2Tptux6e4xjOQe2fn99T3o6sJcm4g7lLCiKVyro8w8lYE3N8Y2MOuvJLEAjVJsU4rjNStukRNtvrHYDsT6417gUArcEDDAjZaTdFLTUl87njXDhVzPxNlqo5BnfxR4PcKksWSHLHBVYdcPmFe3exDg6SGjf8TfDc8a6ZryUtJjxpsanLf4yBx5GqkUttol3ZUAT1TYDT+l9FVgeJm2dxuyQwHaNh7zoBVHZTXBUUQX9p8+TGxAqvLRLlFNOyP4iRAR1ZpakM1oWG/pwQ0Qid8MCKYln/wzA7DkQWaUwkH+0ltzzzLf4Z4TsNvSeoycjbfLYiCPps3GZrNMEbcyi9NLCZEL18kJ4euYZtMpCLj91+1Tpgw0EDn3Xg5WcdyxMo5ujq5jkvFcVBblIPsgAjs38a0hhcr/3+3O2z93vH4/Hv/749ev+X39+3O7//Rlk+LiElT9FwOJCsa4WgSWbvhrhmbPrg9aWNaBa5tpGnowIjP52FXjB4NoM4unMaG+IgNtvKxD4aMVJKe24nEPuBddcML1/HWsT4b7WrE93FoVDBzgzu358/qyCdDr+dcyHkLnLPcApwPYjb11S5BV/v5Z9fvflXMIZnumHGf039/39un78t1sK1iL88jnib1dzhdzrjeD28vUO5TM/ZlD07CWuj4OL/LzQmEMeSP1uKl79ag2d1Gi5wuHWao5z+5pBR26UFFn3uRe9k2/m70RFL1MHTT8uIiRSK0nIKOVD1PknDLESoXP4sVIpm9/h2wsEyxmd4M/rTD7CtNWsQBn+RANrOuveqEEppkUFZTiLVsfp/ePX45Hky2NKV6aTfX7OsUgxk2b72XQ1cMsTtVcHRzu+YJqNMggHZ5VMJrWBwd5reKFjgKH5JffhzMeAHf+FRHQkSLM/Y3xiywMUFtQKDjbvFC6G1681pfpm6y7jw6y5X1Im5OooBFqoNjJ30haAgWz6vDpp7UwFrJv+ch7hhJLVbHFoY0QZ1qhO14JdV7G+aP4L+SXR5aI0DO6TLOEEUYCa/i9J6RdC5pYA9m12enMuA5kYeau+Ipm0WLamZNwKlpgDlgHeYIbVX/v6emaB6Cdr60ykymNjkY6HQ9TC2EUMnknJzFswShPLb1FfuYk7tzeQCCwxLp9hprSCb8D1ZNuX+QMYCmxrz3DwDco53sk0GVlzztSlGjdLko3kvS9SdKHb+/1GWfZkCx6QxSoYKJXG5mbKEmQp12hMe5FnhP1BEFSq8RPOiIUTk0DJF/cPQtLenirLTSoMLlJxi/cbN2T+hxFVGpzH1p7UTtDYDtfTv8bWOfhAeATxtqyur2rHAgbaDatRUXmSl1Prv+4ge1fnqJysgkpSnadawkOWZPe+ph42HWHoxaBVyIRnDqndnIl0n8IM8UCG4vZSHCD9YOTlD12FVW2BSJKUa6JvbC+2ZoV77R14Sm8WCY31KUX0hUB/OZAzO00F8TFbvSl2Za4qnLgZcCH1yWF5txknSCZX0BHOFZFRhAm6kvmfkYT0N5xVU+sJNUKMnBY7627x5XII1A0g2TuBYGOI5OilB67dQjwznAOi8kjAXUDNztLswez2fWX4NIr2/J/k6Bq5ZFuIzvYxn922FIGYV84N8YgMyzULqkLKwlBsd7ZfZKD7/f751/Pr+/m4z/+AWlp/NV8fMiP5ifM0cn8ZGpFVeCpqlV2WYhKwYdZiOE4P4J1l9wFixCgG6NX/RXlCgbc5+tcXG71LOo4Tpw4Zp/CGyqIZgIgRKiEwgWZgb10j6RkqkMKPQapRht8QwjMuMATnFoiky2ObDCNDdbSHSAX+oUo4dAaZ07Pn4DPwFH/SqmxKPREoCAL4dmLwD44xm304CeUa8yL6CswBsJCq/ncO+Z3qANzIkToJPI2WTX+4A+UQUqIJiPQZ7J59EcPBOeH9iOmeLniwV+Ft1B/0q+dYpv1O55Df51TpmG0gpUOujxhrrWV8ddQV760rqwTvtgL12ZJi+SijAQhdPtk+t93u98fz9vX9PoXv0w4m++Yet/c/Px5/fjw+bn/dZw87tgyyAZHU8yUbrZAT0IB1Kip9/Q6pJVr6KYznDOW1/W5/lzrVaiyzW+9cGxTFSZvW9Wi2F2iJDfFnYeb7ABImlncoG6+skZlHcjPXFYUw8MsiykpObpdxHb5cUijyLbBEW+emYtC3dpTzLz9gig7tZC7TOJcf/va7H9f/ds/fv7+u9Z8vhPZvPi5lZC2/mz7j/35el3dfb5NE/uF9+wx4rV/x+sDFrvuHqzaG4/hRBqldAUqREoTV9g0hhvUha7YUEpEeHBnPX/mmhAnBAFH7+gVyl1nk9iOkhAmTq2bGkC7IrmzNMOuecwu5w5+07oXmYRAX8XJn9KhTyNK9Cb2JVnHXWMyDRqHTjmjE5hyOcPv1MQ7wrz8+fkVUkS6bmGACvQk8J0fEhrHMvD2H02VjXuhuoM7MjTM5r3Fu6FOZwPwxVo47dRNN3ih2N6LJvlnlZAZNJ3ie7aYiVniAQdc+epwsgZuYIsMT6qT9TZCIHxH969wGEbiIF+bndfVAMaKs/1wploQ/KTUdRY3MUXY572OoLo1uOC4EvN7NDJlLmBmm98/iXyfHt5W26eIY6OCe0UEKV3HSI3HArnxB8PrY2BdOROCNdwRfZZV4fKIbK5T0Tr1tvZEEhe0J85Sp3Is4x17Gx7LclIFnnZiUmOWY22UJKgo91pToQNUHrKU0KS8ejXcUDi4DCSNRFl2WbblzXqVKX/BuVs9RF7C4myG0LGIKCadT6exsTohhq0fFi8LBTBXZOGtxBTV7mWqPZwY9EzNb7oYVnnNChMgHOdhgijK9Sm5gdWMC0ci1QFBaeHM4d7BHtEg/POELfVEbTR2iNwNK1pAxQpaH2bit8C6jIH/ORuvqfXj+Ql/TIbzcWtsASDWpT+u9KScNJgixpWq8+xSw3GZRPYpWLVG4KOwURWMoTt3uznle+ZDX8N9ASInDUejoh8kTE5ei3Zn00PzQgfUCYw3HfW96n2Ka1O/CUXibnVxgdopR5ZDwb6IBipc10eMZkn5MsIJNkrHeCF2wXYJJxZOE21NyKfoSjopLBtDb0snjeUI5VCMjRilAp0+6YtqkkL21sPGH0OOVcTZSymgDfZzAI6nVqdiJlJI+p90zZfEDHxK25DvTnCzMcRGEFF4z/3E7zW3j3cyH5mfFfmTE11tQ7U6CPjsudQkzfizcgrxTsIcDJfoB+xSim58EYVkb+JU7yLzpQ47LNN7FHGNgRO+Ztslu959ZH9obkadMC+xNOaaShNBdmNu4xmF1gp004jXuR1gRRkfy2HEjQqVJbHA+gfD7bXiSuF9C1nM2OnG5nHWsMzjJ6UA0FUvEqGJmsFmH7u0JlypLe253tRpaiMJp299lnk3nZ6fx80nUdtWUfaET3aDlA+FPTucebvn6/ng8SGnWLKTfAJlhdphsKQPdtgeIhNRnvUMC+ObhScuZZgrtjQem3UOT88dpOZhpf31nu1aIlnZi+Z0ow1eK3oCRtk0o0blt8KK6U2ZJOt2inXNXgpolHmDXUwhX8pX+48di30ibWQbWSaVzn1AEgcccHBx+m2+UGNODk7jtNJmz5B5LU/trtgaEOD/ut1/32zjA98fH7f7+mRO2LE6h4mhXKf3DcplH9bnUXdVDELJfw4YcUc4QLlBG5Cpb/vhIe4EVa9W7HD/SlE8CPHMGVtU+qy7z2P7UOzlxjM1Vswrn6TTQilWsTmZ9oJdrP9CwiUhffea34rB/N87w+nEV6P5+0tkWIPA001ot/rfrb1P85wu/Sl7/ny6NI2F1bI4Lvi63/niMC7sHbNoH/29EcXn45SWYWb97mzf8eNcitPR5Hlus9P5/AuPfLx79m8lFjlVNCnX2hecdzIevQ4nQIJQwnRM2Y8SHZ9J0TXM9qezhpadLE1/l1kb8+USeQTlnPGNHc19nGQ1ZvUNyEtkdO6cdeq+8ID2f9xQ6xRDBfnUYVRcE5PJ1yVembkd95SS74z7u918fjz9+PX798bj/ur8/YrBlxGz8vdsECxcxgG8ut0VSzAlVjjsRJ+cV3Q37xT4sk41aeH+nbWde4P9jG9BlerkP/7cYyPL0MeIyBfAfiZvXQgBrHm8ZbPNBz/9h20UpDXjlkE4FM3WANaPBOp2QMTOQ+LVMEWWxt2dRgBnpNnY9jTrn/wFdyDhlZaFQqpxGBcdRXzLA2nGLE3SdWaJxmnxJjRhJ5zTRlQ9yGjTUq/lENj5omNujy5aapIwUqAcgFeCkTNZJ0CuEkkLs1/AxzUEi8gv2Gb678iZ0wn5GgG68g/aQFGTFep/NoMj32CcYTlnLLEnKiiigRk07Ko/LZ4RusY1YNZlALG1c3xIikmam4r5L1KumyPRFIusGI4yPmqhM0k4pRE1xGUGEacszJm7ccE+urpQw7SELkuOB6VWoDQPlGSMFoRAnBCWSaSIXyuSp3KvZpuMtp+CeDVJsAABeOysSjZcMJVEICC89XygpgPknI65/y7WezTiIj1v26hr8DO+sDLeGekWXlQXgDXc6MtaSZPPD8VOyvseDemyESQqerQp1gOViuVWJHVmdmDz2pxwZOOcYpItF2uECpol4TGUG9BfAzecGcxBJnH509iVeL/xM+UIAKn07Z5ncxgZZXoiC9oARJp0gJr21RyRgC75B7MN6aY5RCX71gQcvHl4a9ojwkgjTZD8sqNB0k14bR8+svqbZcPNIbrhdGZANjXF7zrLGS5yPLf+fWQwciMH4EZLGDcMRf3UOKmvnR/w4gp4zNHna+E7x/3uYXnaQoA/muQAnlnHjgoqrgh2Z3hxdNXaqDHS0mUZDaHllC5abLjpBBAgrNHJ5kUQ1t4aMQ/WiUvENc8wgkx1UCEYxWNxi38i2u1Lc+1qbA3x9bhN+KRI+C1vl1GiZAqnzbikvDOk/FyIPnCn8TfkQmsN+lZhcMtUUj7FeQKqXrpaQwKs+cQt7+uusPrGoqYVGFjznlGf71lKKUbmAjCwDIR34MnNnN4lclY0Ta+0hZyaTfI9O6LETkY/gqSbCTDdxDdbD61u/ENVRFoDCOLg4NS+UGxACn1dycJ+7fRIPcFHQYdQPM+O9CQR858Bc7B7KlnRZW2YjavRQqIMLak55UO1ELB/+TMX+YkzyyP53GVDBjYWRcYC2RJUnw/4FU56bYD5mzEV6GwZJJ6zJqDy+/3g8/uOPX3/++us/f338P5//fr6NF5x3w9DbuxK5rNMog61VYlkHAgEeh7Bqk7ZlyArgffRy+aa/Xz5F6KOfqYplCZ+1fl45iLQ8z7xc8ZkZWe/XkVYdHhKonOm+agCyrzVezjfYKRmnPheDvQzq67RbAZVfny0aWE8ZVjmGhb6DXsf7zVXkvODqn67LGP/zjefrKuXfI66mU4XNPlZ+ji6pY+86ry//H4b9H+/gOkMuWwCrdZQ6MT5tvPS310LSVXfwjBgomKA4DFs3XzrsIOVG3I/SJpziwwiT6/z2Iz5cdNZ/Jw3G98rAvHfTPoxhZpmh98YFKOvwY+d2hdwF4AGWxAm1Swe48yXpmB+dSZ5s3Ah6JkoYdZjy5QiODDUSMTtcH7fpgPW43/74df/jz485A+kxmQwNjgRY73PE+ZxFpJ46IFZzJVfMWsNZ/tf72PfIrqLIVppcJPyeO1KCq2mbVV9DH+bMhB6fzK4r3oZU1NnkJ6+OgoOvowJoPiyuKvL8fZ2fGEBR4Eavddq5ikDAqBnI0gRG0Z7pBY8JbJysXX3NfX13iEJL89/t/Z42LXHVCuf+BAnLdPiOJRJc6D0j4Tl9TLBeIHVF4nUheVCrEn3aD2nIChWh5KDumXySzB5riiTVDA/2OvrWJ/NGNkvGUJTXqGIr3FxhSv/aBOlK6ro13riiifv2Ht+eb6EtKQqlHv9FU8SCfgfNzfPb7Ho1uQ1O9eXI0369JTSg+RGOEEooL6lRBs+ccRAczrlYO+6uMLImxaKUodvmau39KfJ0FAXG3JGMS9J2xKbmjSSftlA8dQFAmvYwU8b7/p7eJLBQXiQzgAHLP5sBvah7EdD/lqTZKogLligY5eM0XnUfWsUvVlz6Xk16DHMqp79aJPF6KVHYaO0cxAs5EuZ46hDlVLwu95+OlYY2osKH00STJSHeg56IOzMZLrv7TnotjnlbOkGgbY42VrhJJl07YkgpBZn/uXWQNFaWv7ZHqsfxdLThkrx1E7PdgOJhsz8TGvn6TBOFbKVIto7zbw+VTAm+fREIj51mZRsGmdm1KQBRk26rUHSfOEq6aNOemxpjCnFVq3bwCmnPNgzoVL9XTMUwqHjRCR+/8p5dkUeOS19ztgr++aWcAMSSarVsneUZsTJkFFEueVkWkagt1Bz2iefA1JF5inJk36QfEy/UP9PXDaosQEgGNVAsoQbwg7sE+YwyrALDSyOrW8Ni3hoZ7wGnUYEwHltMKCdXayrG2kcRy0cNEa4oaZWLs281qujzc1zTORQqN+tfhSRzhG8aYkNdUTHTi+IrxxqRcybUgvN2AoQ2G5iJBU5aV/GCaOjX6AM+W0RiaDKl67iySjwXXTRHZyX3nC+9C76pNuUrwkCzYsJjlbXnDDcifAZW4qjTN7JKJRKARdkrcjOiZAIsrOmOo9nkRUdKMGw7Nk1EZufJTzGFs2N/iNxDtqYePtnVDD4ZbCLcK9ZzpbctJ2ybIUytSEvviGrP33TGV7E9n89h/KgvgydZB5JgsFDoQWjH72VvMg0eSaum+ShWRgjQsBHCctvoE63BDIDl5wTN+/3r8f28fz0+xrj818fjz8f919vbX1E5BEnIUJ2MVmHov/1bVMdB3u1MtYOz5G4J2SeEINziwGswnCtIwcSoFQBkwODb9+xhuur1DFfDtITWl3WqUecE+AFWtamknDuO/kIcZX07kFq+f12UXbWg1Jlh4ZszkfzLR9rCdaA78yssyl/lqX1vlvb66n+8DvYuOMu1r9p4zrn/f7j2vQhl/rpMO6viw+tA3o1ABwiv12/f2mXun3vjiUJ1yjMwqDrP8Nnl4bO8y0KbPvz7JX2upoQ1an6KPCSg3KIp5uwAgadowr5o+UA93QAZfLeeVgiUM6QAmKWTpFajfIHNWsNxAcydIdgaRbFrC3soVQhin/G2UmjflSeFK0U6rL+AZA6GvBZQDppXEuLvDDgzRwbBJMCDuGUbIHi6vX1Pp/o/HlOgcofXp8Gksfi4Upmq9VSAiCu2RE4qqlVadzS8T/kfmvpCxHoxLikBbGZqlWwQXPzDgsdI4QRoTyLIuiJrsM4yOFg0YejIwXVbV2DJUBSWsUycksoDdAMb6/hmPyLljS5eL3XsxoA1szKcG9SsiEYJax3mSuZsiobS6DjefhkJOzPxgLfsVNIn1/5cgRmyJ2WyZAPhTdAZ144hE5Weg0WmDnyGutE2DEOX5sahpCgwaCQTj3s0tW9Lc/h7009t7hPRlo+VtDL3ranr/qYpjsN9wuoeO4rCbDx/SBwCIjWaTmkaw9PolMrzBn3AO9zBwxw4k17nJNAMCGsB6f3ms9hCgDN2EXv5tVdwLFZwksnQslY+riCEaDCAx4EkirOcQeI00QuOEYoh7fDHtw91UmVNPGig+vwkuQiCGgYLDIDyavIMR/DkPkGqsTnHXnUWNVVQ13LEIFqT2Mfth4rOhlENEKSWF3NTww7bHruafHL2vkkz/i+UPx/GX4gDKZ8qJkMOgTn+B6ldysrogslZKJjYU23O3LKoaf6CnWVuDnxpnSJfl5Bz89AZ5bSQcgRZPFM2EiYDLHOnSrnHugAIz6qSDZC3Qldkq51YYJ0piDYZvbYmBjhUC5igw1QyO6A+438QAWnYPVWFF45hfU8z5FpBI1nSoS6IjuUaf4CzQ6yFJbGYmeNRK4A41zuJeNeV3caElZktjXuJibZFUMgqO3JzdtRnGSe74/A6pFfI5eryIfVcIJK/NoucA/SVDDaQsKvB0RBa9NmNSXkuxwjx1iq80w1BvhFiCzpdrELD8qGSMsKOybIgcn2qAuqkcjCNwmEN4uS0qWFnT7HUnxLlz+fn5OTj4euSs5si9DP9w6Dy0Hk1CF5QwiwAD3JkL7q9PS6ECU7ph81mBqpZwxh0x0R10TMpkrSepMBgT+5EPexPC3A5TwXREKBycjfL5DiBNRFNMxb8uPuxHCATtiRQTjAhdlDFxMj9l79WX6IF24lB62H0z+MBSBtJFD5BDuchswQiEfnaAgEwZueAVb2UfsnkXlkOKg2XFnWxPWFO2A4lyKaHyiyNkan258SpqiqMm5D0hIMCr1geKTeS3HIzUY9SmnA2EhOIm9KOhUFp3Ljr6qfhIwhLFqigS02G8U6tiCoQRMPc34b2I/iz/qifAieQDnlPySBd1ye++P54f/t4f/uYfrCz02HqwFMonofAg6IMkr+Mtz4jUwH2a09ahHICokCSSQpa6ZCL73prnr3Y6n3qIhlgduYWgEgh0lzHZej+q39QLaK+7o1HBgWrHd/cr/GVvE7xudNxfvvwC1PMBYstE+Wu/bYFeH6HoIAWOEtsP9T88unNZ15X+4/X8qg/OlIu/14BdlnNz0ugLU0j92WUgum3j0k5P9ZyuZt1OIPLJ5cbpKP+/nOif4PEFaGHgDPP8+iuZf8sXa87CU8jKdaQ6CrOQiDFTpBhGL0OAabIqpw8mhVrLDGzhLuSKqzdzE2yQMWfEyhAlVqL4eLFRcgY9qi4wpupZ8ZK4MNCB+KsYO0F7e/rK1fa+UDZnBDTTilCdz5HM8Iak6gFSFELt7evj/vHr19zYNvUCGXv5dSI3962J9bY+ZtkXkMnm6EMCmPFGMq1Yo+pcRaQwrfSCSE5q4iH0Q1l7uMCGrauqOinU87KWhKPTKd2o/ZDpCYzycfHxBRPypfMjgnFH7CJdLabcWhwoR34UyZFjJgciR16Ftpx+IGEtFh3lPo+3mVcJiTWbiPR5kLMo6tRlRQ3xRtBl40Pg22MPCBzy7lBVGJ+fz+tLMu3ts4Zm0ot373K45xtpCApLnp0DSJAZ6AXpOR4TyqHq5Qqt9/ZUbhkXjaGHNsJWe0Wm8AttfAW/B67+v19uq7ab9YbKB7GlA3AYzZ5nkZfhhYArTHPgv6mvqQ50SK1QsPaV6FGOm1ZxGojUxzWjqxsW24OfntwIEYWDEJLHZfnJHm0sbbMEz3OkCslMd6gIgJMdNdtTT7yRSljZomXrMtwtlZJwCW9E2S2Oi5bOKf/bnKntXcO61CjZva4Gzwb0unvwLJijJRhkh8h9Sye/QJbq2sgfx6B9rKDr37gPDLH9n7dpulATmICB5ezY9cazN97UkhSEhKBk+P06cBk7h9nLVjPIW+JfXy/P7gfuZHE1Th18QtmAy8u2fBPlt1w2koff4Y/am9R/o79Ml3v2KMP/++r0jIn0zfppNQnpluao7cN3bDsaBWh+fb+uE9fI/2TLHa5shlajw4H5uEFOGJGZsf/MoQOGkSXvZfJQueW1M9PIG33rCa/vZSX8oADEN7EG/F+9fLyouT3wU/2T44DJ4INzOqQRrqGaL5GqOHP254OcM3gpQ/jjiFdsVHqR9PMzhAeoUYATFyS+an0dte7TFCc4EzqC0cmjA6YyURMpLSpQo3OZNPryDJdWlbgV88n7jSOC6TI4JfZQRrN+PnX+JMpXQ7ay8F3pQP2yshlvfFKI3QvhBZNbDoPwKKucnotOiXHj+VMKYT7RzKoSRc/bZrNsb8Wb5GjhoadM8kulBTqAULvDo7AJNQPad4bzCI9DudTF4/TDDESZKnEgxrkvtgiKSzha3bjU9RJqCWygK3dysdojvvtEU6ZESa8yVH1kXNf3wNwI+HH/hOKa2/5GZn/LHH8bXp7lK0C2XbmJGJBFXoESE50cvt9Nvjc0u9g424jKD4/P2k3za6K1TrqMAVIDZQWaWfbFuVe5/5ScgRrPmTPuH51PPwe0mD4Y5bAwWCj2kHGp3YfknQoI7FPq/eUfOhHvP7bAGlyMY/HdE7989fHf/zx/L/+9a//+O/nf/3XX7R4sPQfwLI7KXPeTAV0Bg7C7f2j9oSrRPIheYjM8Kna1acWDhDE0lW/lVS51pPPt5rOKi9u2FNzjlnAyKKpO1/y2VYkObyv810KMwczs1Pv93ILv4V6NVxqlGe0Ru2UDz/eUhvoskgGvHjRjUlcTPZC+UQFfnfBtss05x800j4psbze88+XAM2vyHRhZQTimE2Xy+kuwH/zEhXRb68LqFXCP7B2uaNDSKD+/hOUEJaEXqD2yzr10GpxgxC6WIVL02jxQja3CmFlJeK59/cnviZWtf7SdRGK9LM4218tvVDEk4cgJHTWvkA1Vxzt7A6Q8/zaf/VlmZxfAA3cC5JC1xk67iEhSR2RiHm9Jm8H989+c7okhMumY+zH7e3Xx/2P6YB1e3xM0G7qVWbX78iv+50+g5keVjtclPEz3byBD0+liCAAj/RXYZXMJLaElpm1VPOG7DJj3nbMCOLNH1qXJxxpjDID0/qFZVGKE1f62c0+pawIDRQNAM4S2BObt1CIlPh6pm+xI62WhSU7ErXSTsfH4C4uqOFtSCIrHyVC75E4q7fsjvmcb3Ti3OLm8cWxVCRP0ceS9dXsiNEncQ4nj5cpCaCxRp9pFQT6Y6LMNPE7sIvGMI/lQ+4gO6lyVClNYr8nz0SjFrJw32O6JYsLyVHGFXBZXHqsoEOrkk/mhXp9PufUXN1FwBIgqnTqjN2mIcvcCS6szCKnFajY9Aha54hNvcwssJWnEFd0NFkt7p9fqVUM4OiNzIk2X5+f5OfKrfknGW+cv2a/YxUaEigHlvfmj3EYMx1Ekk5Efsc0As67FzpVk43kG33OgRfMWCnAfAxreZBNowl6H4CobkJFlnvH0HduZSJHFAkKTdDelcuyDgOJDUaFQi+ewgpNDUVCCcBvimFjz2CED5FNK1z0YuFWYSYxUG0iXFiGgqK1BhmbkJACI/NvzmNPSBEm9XfOaVSBRbHw9oBDcJFnFANyceW//wJKGNwvtkXQxDnAU4b4rF2HnxwSWw/hbOR8zm5anr+9Pb5jKYI+klc0zonFNf9+Jrk6O11VYDP/Z3eApFR10tmJYTBBL3mGrcLDzO+fn5OO7yEoabG76dF0hg4PjxCEOqEAIZlwWRzjcEoAl2pnlmgfaeoh2UNPBU0yx+xqjcyb3CbMUOVtATOdomBpSSGZUmJgnjxcDkeLt3AikrdRFaWOepTYIStMFOOe5cMGWn7oNitN6hIFYV90hKr/Tv4HLmcyWXJYzIb4st+iO/7x+H1tSAb1YLHsLMxfwTyP+0eCzqnmTT9dzJBMK3chaS6N6WXxBBMSwPZkQlKdyf02rAeA8Od7QDxpyTlHShymCbOHHsngEx3PyyZ6FLKRFYlV5/KAqPa10ibDcKCTfzw94pmf6delFKgmPTafklMVornkG6P3km9mcp63LPRzVwWQct+os8eNExgC2rPbZTbGo3TnMU8LI2oA4BmrdgkcgZPA5giCF7FXCEmKWm2Oc/ASfEIcRG3eVc3EkCQU4OFzuWW6zuVyJNqGsAJqFHtg8+qJyDBLiq6hdsoHdCZ/gNxTMU5Pcve6i2YTBpXUSChZJkKm2jGnJd8+w/g4wLO57uPx56/Hf/7x8f/8+6/n19fn8/P2mI1eaXdyCVtCJEyHZa3KRnJXH/CjUWSDbXkEolk0cV0WzHNdzP69q4TgNUP7MlNAwUTv2/zVy+B1GrKmSxje//aSsYvS6rU1UfypuOyrVO7HDoD1Cr+Sri84l9C6PMgF5B1/v4k9e17ZEV6e/NtXv4HC5dP5FS7+53GuV9Fxnhci+5o6NmdVfxv654uE8fX7F2C+XMaRuP6XWZeJCom11vQV+41QCEFooHVpQavjwICVYyic0LmvOw48TFFxBK3G4Qg8Io1gmiUXnpk/tQWxz/i5YN73lwrE5gIFg1LJxF815FwFCuP4ATrmDgm+mAdKdO8sklew8R0po8adsha0V+4U4HPH1/e0ntfkqFu0qKdSNH2obu/fH4/7n388fn3cfj3GurndUkwZe280QyQg9dhBazyTaBN7MtV5WUgynwUCAEPGG6vOd1Gy7M9a3z3wpWxnKihTKBmNDfowQS0QVY/RAHUAkG4687q5h3j1hvJjw4P/TC0HEEgQ0fU5VjKBUbOPoDVWwzTXTb3Y6vxpqEFnIJQ7Qj93z2JrD1T6ZQpaFvaUQS1/fU/NcrcmmWjLORrW0MZMp/VmgYypNX9EmbOOdv2MGUnY/nDdBGrhtaDQxt34u1Bih4vTC9FRuwUutJlYU0Yk3UQz2qVTElzi0Qo4aQ5GYh/R9B6/c+KShHabvX7s1EOJe8wHvTOTIrq/T6MiU57qXYU0xZVoAWsQ5DCPq4jmkgo0wPTlWD16VRxlQxWMaYg/ACr9kxQMFQUX2aAXelhRo0CgPpTQBhyAKGjj0oRXCFuwQ93ECELjObUVLEN+L4tVblF4N7nSuW/Mj9kQKndDLrVH4MFZB0dv4BRvu1+FImTQcAY+RsEcSHOeFo4iFWAYdYp0SU5Cw/XtBkxaw8QTzvvZPFZn1oi/dQeZ99jQmMkIckho/kz6KhgY2kM+QZC55xSn1vKmiDWUQ/MC4Ce3RUk8qPMF0y0QR3TGRSxxbGcpRLn79x7jPwdJpksbT5qJ0Zs0WxtGVEFqaY3m8mrAFBWbVUsogqZB43xOR7hJCuF7KGgzQw+hjXrglBdM2AoIFRPdxghOONvso7CiL9XzlVFgpR2hs9wcbzW9i+vRvkeoREJxcA5RM+we1mPg7W5HfaYspspWoVhkyrQ+54Pc+dfm0HLG1eA/0SM2XeObjFcGJCG9xBeQx+ErcrHznud4kvM/vN/v76FmSCrEm7Vc5k4+W7TExSVnfuOULc8BGmlCgy74DV1lEKjWDbs4Pn59sMzPT/JpMznKmqyQeX9/DPrIx06oLNtvLA3CpXRj0tSce4gOwBeqcVlTO6FrGV2DvBMz8SVzRPPZz1D5kv0A8m9dpGwjp9Uc4Zfg1c3z0u79NjUULOR2fxgOj6LNkkP5KJ8EYmXNcm1Ow/uUKnp4N6SOmsrmlhI2uXbTv2oBTzvQLEhMN7VVlfg0JJjMKhtud0N+AhSpOmnhShsS4C5iOkCn0m2BGQomgqDgwKZp3L1BorbHRAfK6PgwMJrqHzMCdQqBliTpp1VWyxzqhz+twoD8TbPHi357+4TJmR2oZ/8wvp3GMbINnz+Mko4Rbh3ROKDgQW7FOmVEPofSQp1fceBHWT9vj4/b579novdpqvr2x+P91+PtX7/ef93f/uvz8/b+0EQ0jhthHJpq/QIvOyYUM5iTDIXb/I9MiXvQ8AHAWuUIv1T+OKrPn++FIVOovod5u4cCUosmqK5IoQF9D2OKaAnVYGIoNAnCRfTlhQBXiVFcqIsvkzt/4CBkKsG173FM9xzO16Nwf3dpnp0r84KPX1+YOXRKL98US3wBMfDP5bYz7t51QcEB7s8B/3ZJGdHxf/9WwQWT9QbehOfFtzuVfdOP1b5cr8s4HymU/PrH8zUlLh/J3KUh6KMkxB10JTgQ8mPlyZKCH7+AnSk1+LX32xuit0Ir81fZX6JzGqFNxBrAgqZDQsqhnUTBLHQXJYThEhRnnJStdlor1AqRvF0GuOyShxFqs8kjACK/5jfPcUykMCPgOi52fbpqXkMsC2L5eWluH6vqPgmA74/77Y/7+8f0q5+w3XS/envPicCPFGFNNBKEZLhEtA1yzngYteRnti6Dd2JJ0YGSbzw5Ir0qcG6DFKki7hZOxlUAxq6J+YJZwvmRpIOejeAzG/Y6SfqJxtKVN+40lSOFNWH7ciYFzhBIlBF+QtIqAM3psDSb/VLY2Q1H6HsVHBqOhHbrnDvJxL5NFUNn82Niw76la9+yNTajonaW+pD4wIE+I7bHcXtwrN9JOWYXaorVwUpmKyWRvsr5mhRDabiQMWOLH2sG8bDTTNYTQAdcYypz+kl82hkZ+gTYcFe8lGdqy+Pa3dNeYnTZe1x9Ny1a96u0iSHptiy/7Y4r4gixyjm6dYw+LVGwWI7jp+ICEPYeP8VJFvNJm2vM1tKAUBQsYaDYTYkyjfEw0KC3Zhz4WD/klHH+oih1z9CC0IIZGuZ0CgHcVjA1kvDIUBrxi5oB9MF95jgKt7OGzLSOoL38TiR395wyRhYdwGA55mBqOGVzUfAHu5eZ8HhzqNY657lVelSIaxkJTPrgVPsY7nl+fo5YSDSEHuxohjUIhwRyuCumrAGXLC9egzXJMdtE+JqswAq31DNYSchdFCI2Hu7q9zvBFcUzkrIcC3IAKxYhdi3qLle4cxZP+pS6SHKkJJ238iHGN27VDBDPMIhHEU5kaKaWjkTV2kRjSN23+pp2x1JiZqvN5wZDN6ZW9aAYdC+mEx3lzZn1lA8PhBQsqwq3GzNCC3nKzgrgYpFHGn/NG6hbsTmya6/Ocf8hoio/jsErQ3VDL6U+iauRKgPasijjsQOvXt9M+fn513w+NUtsgg8Kpp4nQVE2MLcLCDs9SHSPQ5tp8hYgdoI5b2+Pj6GN3SPKXvRyp/fTWD1CbcucmvaxrCgU1cPHcfDWMEPjIbkIcc2G6gEUQlm6R0F+/Xva6zcwEVFMUwSKLi5GinLZfiXlqxgF3++GdVg42dGJ6QogSCjtmnDiIhjQz3rdzTDAP5/TDirUm6BABDSxVeVI1W398Yvk4G0t7gDMsBuwxBuSTNiZkm3D2HlIGYQ5toMeepUlOhhHwYHUnamJN7ffd4/UyOlfnJxkbqRQCRfnG0LytD/BzQ6OFEVg9SJAjO1FtViwwIUtuA4ZpQoqr3caFZANToN19N846xN+iuvLjnRd7mjeCVJdd4tlWy9vzCvmYjOFccts3qZyHq5tTZMiOcyyLrpVbVRnIKFYMFbXBKrYUn2jNuQrW1qe729fj/vXnx/vv25vv25v94TeP7++3hOw0+QRN5n4RsxCBjVbYTCVebLHyARhSOl3yEEnXwZDVEJbwLoMWMdMOdCv+tYa5CtJ6QWzc2Py85+sFwbOizUouU85uj/5MBPj9zOrncXeWM4+n8YFb3hFpTW35WDq7qGqM/A/XIdSMdjOVer9ce2AgLhW6VnUrkSNmY+uvrEf9fbr79dfrig7f3RRL8+/3LuMf5nSWm6/v/75m16/f/zHp53SC6Yut0gTCDcwGs45kJdIDE9VH/Mk/m8wfu5HrJHhidMybzYkwh2EvxDZBzNnkg0T6DefilbmkElIIfziXOp385s0z5hJDK5Q8J4LpGThuHLYiX67gipLQ/4AZUkpHmjcdsEoPNUPWa/ZRUyKPJNxyLbURowB+fW83b4/bu//+phjj3Ly0WRPOdQgDXVoelJ9x0/99/Q31UE3qyEsVTbKD/YcOR+Akw2oaDcelIUp1kukWFtcFcEC8kRNDuAfv2ej2w3w6FU6CYCTQAN2k0jwH/fNYJEtFBXDmZeGVrVSNJ04TFoCOzPVi5KsJPbylgioeODxP6cGOGZsqREASi6rrSQcl1/J7p1OkWZaebRSMJdVmXbHzO3QFvjIjR60GRQbdl/BsvpZkMx/k5bLWnBBiYbmRFKItfPHUcu+4t0XBnXOhq1xaRfKzrgLm19Gs8fmnNS3R5zWVFMRR4ZkESQJOstYvJk36SvcV/CGi+Hy4KiqXUSTq4efsNGi4qn6nG92Ey7k3H3g2HtYMmQnAo4Baw+jOsrKS32dlrq4BNgbkF1HzUpm1aYhy+g0FLI0g21ZbZOkSzh2EWl8l0w3LUemEqP0shDrijXhWKOyhkbi2qP4ZRYCLA61B0zDJEVnhAti8NekEoG/EsDWKkqIIdc0SM32uvintGgt+mZWSawKI0Iq4CTSY27CQZvdv2CHsI5WW1B+kt3vD8kGNkJ4YS83lEmcr/Ub4GBsUXZzQFJIAezUqRhBs+XHbYoc9iQeDrQZDw8MUb3NoCj4EO1Uy+tIe4TVNI/JYTr6I9sXKghOdcSG/iF3sRuMeWCSYKLSNaCaxSe5nWmhn8ihJvG70SagP5E/TzxDnVAVTNQnMBRAUEpAvTqqspuWhbIEFFQOv7CJEbmIp4Qa3xo37RzTbG1KSvB/srw7VdZKjaON8bIJDeiom+mjSURmCQ+kS+EA+5GDEN0AizIIQybFxpZatteukSV12lqJ3g/BQpRu5sQucw77VRSkUoKqDNg1lTHdFm9oVgCG5tOain2YBHiP/CW6I9bdfy3ZdaK5sUGKdF2aF1haWTuD0cCbRA7Ua/PO9GpS3OeIhbEyns+psaefEphF9HGGHqdJl+zjve9xTRmauHBeMx8RAnh/y/nJKYPPthzCLQy8Bi/2QHYQgG4srKrRxJVmUysHDuUNM8rM4TbFBeGtLUibrQePRxYFEb29TU/yGZdS3zFmCNyyuzsLqh7jGTJ7GHlC7LTTTEXNDJ7OCup83SFEp0akDv0c3BnYw4wB+JNT449NrE14sui+HsuJMCFkhPA8lJBYLvIQkHXjgJ+wloR/Zohs0XZF5V8k6+12Y1p5nVv4H/fvSQLf3/58vP/5uH3c2Lix7elI17ceoQRRSaC2FrQQCrIkJiV7I2riKF8KkSj7I1QC+0p6tTmRC/gn8IJy9BNWjABdNMcFwsJcsJbuAJxMmSH7LeKoc/Rj0K7Sucz+TKpjSyXHmlAud+4AyMdA9rnq7/y4gIbD7LgLcUmTD/sEXghf1xfr7fsY9wqPMx4f98ZdcqGonf5y+956/fP1quVyVgEPuuRXsF7/+T+8/oe7r2P/uPycvFPtlfx6zK8d+TIOogSr5HV4BeQ+U0yAfFwmyDilYmzOOSSkBSWEjMGt8ss3yAEqMxC8SA++FUeQCGp8h8C+xN1JfvcnXcBASxz8JMmboZd28v+mLTKQD8qH2ToR08h87CU0hj29TrmmHQ2ynNBIm9vb28ft7c+PW7zfCd6m2RV+cmyJ9Do4lkyeHGNj9ET6QuamdrVtwqMKzF6ii+38lgbUmbTa1uogbVlmiHU9tg3Sta2mZicTZ0l4+N1aL5RSD4h6Hl6bg8wfuhgxCDsfgY960JzCQCcXOrJ9IrDt1gOhiqHn82s2TEFAXq6ajA02G+du2HiMqGgizns/J4lkmswL0pnZ6UWQ747HMXtBQwZTZBYo3e/TTZqmHkbHY6uQQ3I7UszvhAxLg7GGe/yEDGMpkVV1UbgWcs4I5QKt5MJtqslyyI1JCtyMYDttWfN249GAJBgI7N1ghREOnFMaqhmc3zJQXJ3YtD0lQu6IGZaRM4ipkrwoj1M1GYR4EIdFSsgJWQ2445Jt6QE9EcNf+gyEPSAP0rwp/dMUJIy9PVtyOqKJos9Pj4M+hJdVzQQYWmMOmNC8qkt4f/++Qclwrh1Ps5E4E35MKT7pH/6HFIIN3+7x2rCiL+K73pwFOFDj3NIcMu6kxXSwQwxktTcpMqNEtXG3RVYwnGShmbBJs9V+RkMRedEViwwggb+VbGzvZeScV8nhJshqdlJutBLiocoBWaLbV46axyJMeJ/iUwqOt/oIMcnAjlQlTxuAxtIC5E6CPZgEFDUs0bgVAfASbZ84MSysUzWjkzs9rmYgfDAWioGlKlFOfn4m53F3MQBdOXLCYLoZyZubNUKB4UsnqKDYEv4X6UaUdD5D6olQBBbbwf0s+x/SzImTtY5JJoAhc4ImiAuXUm+NaZjAVCuJuizQRlxEGTk3lXpyi8DjhFNdkxraPEqRQGrH66TpAIzYajO0oa1sLZ5NKCZ/2Lua8Myk6SLK08F8kbWimb/H+czEpYotejmgyAdUGtTzQLLB2leoBmK8ZPzv8DDDo/3SNqzgV/HVm8VwHPy5q8GApK4ADr9H1kt/ohsKiqC2dEfxOP/X/Z6wc1RIq0okKuRWo0Ie+aNiyJJDhNYm0WfL0pTUyWYzyYUUzamyG2kynHOWD93Csri6RoHZ3MRpChxEjBfKUCITRRIqokXknFoEu1OSPe4WpRChD5aKvk5JcLqMzB9paHz/fM5VAS5yCQjaLMRzGVAJYAYpYyneCPcEK0KiSQW40Reo6UUoFJHK/Ohm+kA+BXhQz+yS8CjIMh1qrsKNv2IvuSfwyPuUsbWTtjI8gmUqRObcJTkR+ys6oErTDqVGTKAqqRDaQZbe3u4f9/vj7f4xpzp+fLz98ev+56/7nx/vH+9vfw240g8CJjWg5SZb5Dd2L/MW7NWRfMxsoORL+EFJAnlWQV3Rhr117mX+cjiFxCv91Bt7q5+6kQkXwIUDb+LYQgPFmjHUnUZ/s5gzaMX8mY/qi1v26YPlLlyMw7NVPrzhSKHrVXiohvpxvU/HllguIQk/LrIv8HGUK8h61S7xD193fS+vcv4Hg77jwKMP/uPl0ODg4gv/5r5CwHt/Xr/56AfQ//7tj19+XqWIC9kGhCGiS4ocErwy02VZ++jqIwnHXLBZksVaWdvAygvFHUmP6nH8qi6xDA7mj6UWYAbCLxSDysE+uiAP3DvLDH/59geB9V3rchccjE2SAhHm5COjduyJyVH0JGACoIii9lyAsYd9pz/f+/efHx+T/n28P+7Z/Xt7T+Pn7D2z+VXywGgUveEJ89L8B6Xui2IwGJc1O5SWQsCLzYNkUKmk1oCeDymqZr9bk0xsd7KmqZdSHpsBSW4keoOYaZ1DjWTctlqnuXccM4aLzVYrpFY8SK0PllW4gQ/TZe2xTVDrMGc1qRqLU5f2XBOXzRp5OU44LayYQBpiVjosPWdZuKYEo4GwWy+jCp9PLcPiHR8eBRILAmc4mYyZ1+CFfXZuH5ZcMjmI3NrJrIui0xQ3QoR2sYZ8pqYvKItVM6PqmZcoz+aUWBNfn8/pYovPQR6HEbWFZAjqvbFvF0NYUGAIsq9ICOKy65DPbLwED5mqJPlMbhZ2lSO6o01vQzIA/fYckd4EFIRKtCdrlhGqtUNplivLs1Bm+uZimkYzIomg4vjS3cyY5KSHRePzr+SrGTQfoPzT91Zy+maDd26SxqKV4SsIUxFz0eqVpxUy7sXgJwJEeqhXkY/xL05NAbyJ5cyb5qFmSelebD5/pEc2mRrdUOSt3wDR2w0oXtMMFD+AuE+INT2cJ3cC0VYKIp7Iv6aB3xSuxksKgcYL8pV4YD2eLWtNCTRyNvu5x1a+vd/GXsaosvxzjpirZ0V1t6ekVIvUNwMZMXdD6lUjMEnaB0PI8XmDqWCjuTovxdzMZ3Z1QpFfn1Tp6IgLgilfzYNzEsxHVYsVJuB6z1JCWM/eA4TuahqEJCIg7dvyOSUWmTy8CrFxW8C5miAPTsmxgrrF81Ja/spQRubyrQJMjT65LV1xx1cgfn1/Zn8Fc2uYAIm/4i5+1nPqLmYjqq81Ghfssr3TGhQ1FfObsdo/CDhMiyYqTNhwLhaPLnl/TnArWiGVS9AArAW/1k2FW6gKQV4pDQSaQUqf9oAiUNX9hhJoJEX0WrsrRlPC4iBiPRZqm8spjBXdpm1QWREZG+qfKQ3VWXcfDYTSmlGYbeeVGpvs9Z80KXk2gIqijZM5bySQrLDRHBHgyNZszp++jmo/g00cgDx7IYxBNkzLUwI2fS+A+O12/8zuosf7Y63UmWfeHYum+zygPOUBdxLsHDzjFh7rMvELSnlgBMUG9qUUEgDl2IbqjARuDJDRj0Ry9sXTQzJk2cG6el9xZEsJGSsjptXC1jAhbG19hL1POLcb8mmLaQ8Jg7PmjEcbKLBHO+aXukaks6jYPe/TWLSqYAYBL9RoYZyuSTra7HF7fN8/Pj+e389/fz4/Ph4fj+9//fHxH3/8+tev57//6/OvxMhjVoQs0KnBbVZn6deRYaty/BDDMqBBy9WJ2wcqUFV3r9cRn/u1Gj2/qh4sI1gK1j9G00qtlTXSLsSQKal0YF4YXzsJgOnAHpMjAxHEkgnlFie785RseVmNm9fFOt2z+DIeIOZ37fe97we0dHL2za5WU0Y7AckhhF6fKOL6ecf2gbPqy/ovbzvjFEkvD/Wqibh/9tbLP734s4i5fLoPAYIXQBzYXOf2D9dvp4hw848SQ9VFHoIY1i3JOmCojliryb6/C6l8J4UGQfzoGTxnQecG8OjjgM/n6/ZcyM2b1PJON78z4eivhA4zZ/aIqEuNw4okWEJZxzuVYAVRp8nGRg+SzFyV1J7Qg0m3HAa4qKqaJGEKgd9p9pQS/5EP6b86Jsbkfm9/ftz+/PX41x+/Pj7uOQF4tv7++vXx+OPX22SECwGs84RE5W8U6CgMevVzqqV+gvIx4KLWL5NPVleJSp0TdZWTKaqyJ/OGqSrBY+EEVW39wsfFDp6YVtUx4dLl0RMBC/zuBKYiQYRmW5MViNuQEYcQL5S52Xsjf2gjzW20CBmrj0TITpvpBjSnpcgk7oxkcGxvTPrEYTWTZDptv3HG1JvZ9DSFT/GaZpazg8YcVWL0eTo1em7rC/mkNxLCoXyQDURx6T1aSU23ptqkBLafQhaLooOpquuCGnqNChZT4hxLgXlAdqHYCiWvCZVlstuO0rC5ucygTdWEaNVBfnDcyX5e2asiCLUSlYhHxNwQLMspHRY7qqH2Rluwvbsc9q4fvsyQs1NesMTND0N7oBfAnrsJW7TAP+MeA6citODL7LP2GGDYnExFoxHFyEYwDkbKS8l/aDlTmoU9ZNV63tZAA7mZ5nJTqskeVKItoAhRlo7gM5MkQmjKtaCDXzRadGhiEMYAxJ4f+CcHY4dUlpK1sK0NmmTfPtuX4IUJqcBjGZiS25l3HuFAIvvnzQcRzGsdVSAupWHO07aa82Tn+JnICeq6H9ksbM4wnWyZMUuC9DOhbGwzQVFPXXHMmzHQY2RP/6wwh9tpnSHuOPzBZq2lb0gkuZqSoRmDbuvijXlrUJ5IwxaUpy1w2ncxlAxDVT6SLLWe04lhGIU+74zMXVw6lCVVDCRahOcliPIOvCqo4OKleXZehi8WzUed4vFsyRk6SACZNHX1pT2SmIyjrp+Z42feaY1NvJB4xBwNBXY9uCgEmlNbFNwwqruvRF/QMxfRna8U1kxv4DAW1ci0QAsvTiSMxh8Bly4HCbT6zAGwQiN54EfuGU8+LnrAWjILwjOB8edywvhA5f2WhvyANh16A9Xs4zX8ODlAq8HkOvaZ5LDf8TwTnsSXuGiniuxZwn26+R+e6S8cBUHFPiUGilcd0VS8pFoCczpoMkUZyS1JT82YfhEXh/3mI6q5VuhiS2kfWbl0rciYu9SPM7Kk2Apk9Befr307rc5S0Px+u318fNSqUEIyKyJkKTgA2TMgJs9Uwn99f/77r31HOJcYSqJggI4RG00CFmoPtljD5U1wpndDe6t43uNRA0wSgcH2j9yVgFmgva1uqrnd3278opeLjbuTqKoH9FUe5NTzkCmnkWnkRRlvYAEI52SIciASHxu25rLUG8rPGRwEjG9zvOZf98fj/ri//euPt//86+s//vjr//rj+V9/ff31zKCa4mnfqZwEl8cox9BWoAfQ39MsNNGNBByZS7QItHWxOBRNBakyKi9pTRjv0E4Csj7VkPXLQw5+AbN/O1IDLNVELzO4yEzeFN5xaJ5SDSOqGGKJXzxX7zBBhvBdjevudam/ptJCm02zYpfDzzLZIv/8u2C9AGBf67O9llPOJ5k3yPbZMsjet6MzgUhDJ9uL9VfJuaj9VlDyMcO+zPDl2kHPlC6wuKLs8tEV+y+jzh/75U8akVccFMRdJu7HvEQ5qJmVDzO29Pi3mXkf+PQjRBBm3Y8pbT5nweyylgLXhry+SyypjMQBNprL8YsK1+UkZdROfxdUWoWF+iYplXWsAZyHyiBkdLNCAq9mM4ydSjIwRvwI6BxYvH9/3d/eft3e/3zc//Xx+PW4/5rD/1JXlRMU4rHl/3MIZqeisFWAJPCb5h0zIcplXZopvhAV02ftu2ki6z4w8QehyeTysPLty43AgZIx4arFI3RHbrtRTushuptO/rnnkQZNYwFnBaaVl2qYrW/MCCpgrIByXPestcUuUzMMwQaxraSdx6czSiY+DWXnTtteFSJKNN32eI9ZfnOAWETzGuuZfXDS8Z9JyPIYvboprJo50fiK/Or3WD8yRZaEo6CgP6xYItWEdiah6pk2e820cAIKLCdbxeH2HFltzrYhb/hopjc1iN2TiWmanjXbWuvC2uxlLE+KjthgGB4b12A50eL8Nh9RvsnPsQ4ZWZ7MfytULkJYzTro4lNYaf7nFL2PnmTrJYUqh4F2bN5WvqkJTpoFvRDmSPknZ2j0mAzBfHaoAQQ6P7lq9s29aUKbnT9eGHKvYOQeTWiqKfmeOvb4FhRQrDTcS/j4RYyxFlCAwfJBfkAzNKxCU5PRTenlGOyY2XZv9ZQWAQ0GMkfy/64sv+GSIGObSw1gKgmq0JnGGMt/5TQWIMvE2dxXZhfQjPn9/f3gO0R/5pCycuqBM6ydzKw0cJFWC4vyjZmZCOLEYVYG92Ll8WpIAZJr6LTwd69mlpNk9fYWTMEwSy0lzQbOlEHmkRTmWIwKkeOzVtbSTXc+tigzP+IkhNPcUK4wbAi0clVLM7tkaQTtztV44/gSEAVLzqOcQ85Is2oDnEFMhPH6w4CQta7AIQrA2ilabrjlSLCZBslhKiT8VrmJfJw6WBqj4bHEC+FsH8A11c6fnyMBONhpMtlDcamyzsFU8QPQDok22QaDZt0cjExinAlorrMSWi7TNF+fQYnQbkxzc3K/qXt5fs257G0R17wbeEnkcTKdIY8tj3DRc1MiT+N9TDnXdKHU75epGKcna4E1O5/DtAG/mwoyHoyT0RVYmfdsi52Gv/eHOhkasDBTIBADwk1mAzCMS1eLgQ3J5FzUzAenVLZk7pmvG97DGQVqaNZtRfOhDS1iyqTLd2bl9p6AMfHjNJw0/BSjZ24YCmnGG4uA7LoMEBHcXdmeoLvWqtKa+TG1THoyC4rIAUzi5e57SgQnu4w8a8ECEPw6dk4WADNVun3IOcwcQdiuE2FY4z41u4p3sujBLxVcUcPG5rVpop6Tgoj9YM+YCK1s+y+/CQ1DP41VW7eXYwmmfTk81EYyQ4ePr4/7pFz+7z9+/b9/fP6//37+f//vX+w8HvmcwRtTg+vR8WxcU20ZxkJsphF6oqehnAQaPKyutncmrLF3PpE11ZeqeZkrMjDSjiIrCl7o14A1bZOZNUwkRMNdW85TGa6d55vROoAqs9hwH0stgQcC8g9cClwAggowd1tQcVmf4+c5pRF84McVFc5nLfczEZChzUOoHE/UL3bll3H2+udvrqpafyW/sMaXh+oivcwOmwyW4N7XqffDDgTAzl+Lip8z+/H3zzt2wJ93OfCP919+uc5X+IHW65iXgQOJAsiHfIyhsj6PDQMi8685oDXhagkvzjVANIA6FW5A5e8UDK1d6aBAPb6uHDrfRD5ewL5Mmq/X29ECgS1KWv0QLXjgXkE4kuf4jXRnEIVBbrUAf7CNhiVEOi5vzeDdTkP11Nf9/fHnx/z/X79uvz7uj8ekfz9+faCJIt5k801hweKuBNBEYqSRT2WwEHGtmJE6KF3d7AZC7YIZ5kgbEmQyDle+SZg7N7ILLJ5GD3TRP8ZDm3fHlEyL4nRJjExhxyxm0s4+Znn4ujGIAH162nd5KsuxGHcXJVsCA0SEcje4yc0skLTDM+cXKYEyWHmGe9jgTd4iNUR47BQDZ6IbGUdIJK/0afkeyapo8xoPEm05yHYt4AmSlxoDqLf3t0+UayyD+dycVkS9mxBTaTdB8G7Kq3HMFEhE0c3Ll9/fYlfFpiAzX1PYI0hsMkJ3zqGeaTWi4ZR5J8Uny4fLTGzYmQWRR2hwtWIsfKSHUQl514DnYTnM7jZIYeZQpsYHPqWEMSQBhWY21nt1Kxn2AX7T/J7EIp2JaOf2NeduIAoICqwEJoLQpRm+KrqrW0HWSdGTX2QqyEC7z7Km97yOHO98ojGboFSVO1RPOQPJlfKaN7vUuo7zGVUceICKlEuawRTR12x058GvOeoF9mwscnIw41xUCJSPLC7GoIqwcU8oej2CjFZHitDDEjjGaVs9XpUGGEY45k1TxwRrRhSFBUl1Tl+xkHpKoLFJY6kh8+hehOpKzbQV5c/PT472sVoApZIFHRtIhLst9X14wmJplVD2C5aQtSbXrxP9K+YzT1m3wub5TO/W5JHSLY7B8AZSCtu8KzMUcvX9Um+vfN+RswqyapP8ZDmkZMtBgDUFonJxMJzyUHVtyDatC4YYtsVbbkUXgtQZuNvhVuPqyakylDUWZuCBk7WOq06TjhmFDkzobvKJVFBhfDDaI67IPAG1MWHglqNbtATevp+fgVI2pet5xjdwrLj/KDbUyTRtDsnRwB1hrxRXd0OyieqlwHjFRyaCbA7Z1ZXd9marH0MnbvaeHRBJw7byHP2kTJk04Sd0O2wBOYVwIGkFEqK/O3jj4fAW8OSJgrPPJf20w4eR6QlRxw77QiYLUigkZ+oGVHGg3boD+rLsxtobo4nETA359/PzObnqBptJ5MrWogrc1g6b9Q+h0/MAac+6ayC6JSy9+o/0yL/sTdGGlurycbps8068L5ALvSipK/+yujnMYNp15Lw+5F6CFxEChFf6SxypkP60RihBCprISnAKuac5QhLUnknW3VYo7Aof1FfYI7M7tjAl8Qb43awVRsTIqzKRry0nI4A9I2YtsTfyXxaVqgGEk3pfgSsNUtnxOSTxdRsK4VCuUT23t+9f9/u//vj44/Hx5+Pz4/78/Kaxn5RQ0wqsawL6YXjJ8Go+baZF81TpD3rL3MrAImt/ogURa66lchsKYT4KNTxAkxvXcUoFyL/XdyiG/Hq/rFhWPXrbKtYdNZ+glVmXCMh3HS3IxmrkDr6opvB3F9iH7Ft2WYlWKgKts63tsdJiF8t0z9q1RRwwD8mm5w08uKTNC5h3GVvIVVoFpCs/RXoBXSiZ/b6sbiGto5kvO8gLIvrJKx5/f8/lq3W/uVFhIjldHxDJfEXs+PKcdwT4i/LXsbMJQCA2BqR1T3BmF5/1BpZKt3134LoVnnkHKMV5OrayOZ46jgW8PHlorzN3dHr1aZd25plhSWZ5CIsHWx2WOtSBxJpPaKwCX5/a1LJkmrvOh/mohDAkVIv0KxV/LLQuAlCLdB0R9vnX+5xKeP/Xx/z/12O839mg8evj8fExbXUmWjd9H245CImzFl1kSp1jELiNs2r1WCmZEwmmGjyzUXFmrgoYsZzMXEnfsVlsfNfKnqPsLAWJvVvrjgI1wE2qGuFJVDWG9ZSzQUJjF8w05j7jjBHv9T9UdLHEo4MlIiLyNpLtwUU48JEawNccndt0Z8TEBDA5NnFFpCYSa86AJeeOaM05SEZ1reys5wGtutFmbLmPx7jCU9tsSg3k5z40LGmeJqWkY148v7CTEZeXRiFHZ9B2aL4lezoX2RcS/mCKZjp0mnUwzAPQZEAqi0lpubtMo6Yj18zVJ6YwXkpbn8yMaYeEE6B4N0km0oCkZZtWMk5L3u1JjrXDwZbqd/SZDBdsNGxiCiGNlAADJ3Qacy1zanjUMF6Pa6Lzn8/YYbGdlp9jx+KsNimSVWjitPmHIdaItWP5Yw/UXmIj2eSHoHPJn02R1aHSwFX9KT/ddn6ii4YL+rJGDzJOo0Ktqws5krpP0eXsfGjpx/AjB8Tm5cdlqOhEbMoB1F/9iMu8vY1vgrwKCmiFW4+yckHBqFNTNkci6fObSQX8WVR2y5oyvHFYaXaChN8ihVJd+QCmbap+J5PqLr7IkoJWoobiKc+FgTl704bJoo7WbRhBuR05TpyAUsMqAb4Fb+6pCOwoPAb9jyng3MgfdZ5UyZwegOV0a1GqnenTpmqBXAhu0YQDZOwcCFTsk0eZOsXkiPIZnDMRsu/ve5uLs1s5Vb7Djvj2eD4Z0IodCc3w0VK/zFbmihdm6ULpGELTpjdf6rrwaTIN/+u8c1vkmrIg7iKgaGlOCGxq85/xNNJrl2QasjtuTKGXAb8ntRmUhfGNaEYKhAbk+qPtoWFS8tayTs+KreMa4Nxut8/0XJrzdVc2nMCocARlweP4mY/HnKpFBTLdrXEFoElg0ew3obu3cd2b4QRO82n7NEQGoK3n3KRZcjJ+cf7VjHiGQDIkt/Lr+68c7UucC/UcSJ5yDjwuUrvabhPqCkVuTDdhBY0rGp1RQaDxgBBvdrTIzslbrDQ3EXOdDbEQFgZTpSRFJm9vnwP07/izeRIV1Izi+Kt0n87LEe5Zg4KMdKghPQQbCtlUnouA31I/V4EQcnk+R5nOk9uMTHMh8joWgKJT98HlhSbD3VGbOLDISpsfhLM45Bueft+zuHKmk7s/aPKcF+erTXHTP4b2j1qRoBVll4q7c3IYRhHkTURzDtd8f9zu09Phcf/64/H416+P//jj81///fnvfz+HqMLdgbCpdbhYTaaqybpzLqUyK7indBChRpF4/XOZRfiL7HwMWPm8MlnRscq+vhW0+jUV8nqEUC0KOBwHc3f9AqAz4N++nxszpZoyPABKq5QdWnrOvZXGPseHrgZSWq+kz+2789gi/5L2iYx0vtIT4o0NF8bsKrvOVWJ2Cd5Qg14e7K/LmP2iYHm5WQOGReX711deB6lNxu3X2e1dXbb3+0W5cn8/n++T18/PR/374n4Hc6IF+4UV9CWrwn6spL5HTbbrFyuV6nWCt1rmZft1T1/GhM6h5J2HOkjMnPb+WgFaeyCaxy93dRH+9RNGh/i1yhbXHDLJ5zrUQMp9pxugLPpg1nk3JZgunGcC2/yXN3ZyqAFyOQAI7vycQbghG4m3tUeqJZ+3t+/H+zQj+NefH7/G/c3OuMft/uvx8eev+6+POa/8/j4+cHrMLjKVCfzmEXop9GWyeA8rCEoHwiVVejmi044h1j1VgTZ4GR9yjqvPUYVret7ebnO654xblFE2hLGkNMjOwIkhW5e3/Bh/dFFzvz8otXPzLb7UuBPInvxJOwn03QpS2SUrpTH1VmVWbGZkjxhl75hnILZRKN2aYnxq00XF2DAV13sGab3VdAMNnHj7TItmQlX/KtwAmj2fcolcU5skgORc3xaLJYwxX6hktExUjf1EuO3+rkr8DD7J9tjkZF4QyDjYDTTo+koUIeShiMctzZtnjdRg0jvJ6uXYG7XfJHWYBnyMRRI9MkVXvCBCiS6ZZiPzMWtb9wP+0hijRUt6IhllpqH0+oFhIZPSq3RS8hwnBZNS8xmWZ3uq7vEAZ/rMpkiz5gQFqRklWJNZQ0VAaV4zxBlcmdehm+w8IjdjyCmOPAgXl00dqmBOkEjPqz+l7XDwnPlCMMvd4+VEZZSGAVEJcvJxxGZ/r1J5+TA9wXmcna9u6bc0GpMopHKwIF80cjSUxwypTJz76LAQjM4Zv4RLDIOGgilZud2zXZHTTzVskKaB6URIcuYl59JSlDF1yuMZxzS4J8YAqjwwc+Cd3Iv07rE3AhHnM6URsUXiw/MrFEZ5YeWR4hz0gYBEEzapEn+jODBDp4UkZUBYpDNxPGbexO0kcgmfnZiZCupZ05//QXIhWzlLogoXrl6kKRz4qk1MZTjuYsZgIKVtDwHh8OUAWgqVnjCMIS3/PnIaImEXq9Jgb7aVuxIJJrWcs7PQtqihoJQiEDpOzMR0KY1Yi2tnXgsiCc/q32TF0qkiSed0K3c9blJ1QmkbmQ3V7pBELaIVuEYWfP01RxbT35icnPioHMdzQyAquHJ57hGEPB56W3wHDvYFyxlzusmAnvQdYZpKDlQBSm4YlubGrTAGLoHKiHxFlXpEkSq7QNg4kPredtAGWYKBlQRKyvTWXwMd5obgsppLfGA7YMMhKpgZ4OQ8CaU6K4M+crwQedwAVumD1sqjZyfBFDg9btM3js4KrbwNIHbLR9mCDC3t2ydGWmddXpCx4OKUUaUJx9fX9yOb7QmahERjF+RuzjdSYaCkYolEtKUTOdF3D9uAKQZoPD/wsYosEI70yFnfeMRbqmRgC4ihdt5v2ZusWGIZa8lXT5S5GSLe5gwMQQ6iZ0UXo4CHE1afaT++Pz4+Pn9N9Onft6/H/f3Xx/d//PH4z78+/vPXv//7+fWZozKonaD9W/bfvXinkRktPO4Pm2FA8GosJy1P2U6TWJgLrXNcvqpAAeAe86veQESHy9KORVKWHFeIUL3peLXB4BL5jjvhK+6XTBRx+Vx1LIVXQ2tzLGC9GfmzAr+fCaL+vqP3QT7b6wID/+yd5/GV3r+9zgIrvYWb6v1vDxRMLP9MO3/5pUwqMPiMuEdv3N8675drb9k7zl2FB+T1m+vH/T++6lr3OtPpTS9/JoygZGKEGqBLilCcd/cx/rpah1dY8utRm/krlIjkkZ2Dn1pyZcy8zaKhi7dcBuehDntWLHtBqF5I3ZB0g5ZdZ+bWHFGn0u+r/4vy86AWtDm9utSIl1CTZr7Gehp0aJum2mmOHHeBs0sXjZI49ui5tPf4+vX+/efj/p9/fPzr18evXx8fj9vHH4/Hr/vj18fjcb89HrPrNNugUugX2wxNO6VXbEoCCGkqNRPuVlY9xl2voL1w8ejH++2Ofhc2lu7UZDeEB8xrnVCvCuzyDckeLJBSS6UlL+wpA7T5YVY6IUEqW3JX3xEkSO60BwsF/av40hUl0cbb/e35yQuZZdBizJ31V0fPrGcf0CCIEmxxHoMVZ5VloRYZEVSj1puFKqONeI3DecKAuHXC4MIxJTbeqQfi9KY9DXWo7J3JZOe4mfR8CfwBPkWOccK64kA4xhhej69MNNk5AYKAOViR3PHLGG2SvRTTMYkBkXK+UzWj6GYf6IU90zlQKr68C+RB2jXJXkwy0XD6hLllXR1PtAMH4dDQJuTl3dIzMwnB1uysimSfQm4NNeLIkSThwIgAwIqtbw8WOhHnVBpOg7rXd62QwAePWU4H09Rg1vBGjVB4DH5jLLEHm82jCJaj6KkLwD2ZrXYKucUwQ/fc3TixWUlKADKhqbX2FdonJStMwbE4T/uAyvmEzMJK2aM7NQYGSmaMNe8RAsq3IrewmItaQbrBIXvYOIHtdM8uBhG9ICTetGe7BD+zSyKmMDsYB7fm8ejqAiHXFqoDplyq+x5JUwLafJHyqR4DU0REIYaQmoj2YJ8KSY4FUyppgA7uZ4IDIBoMcQ5yui9nBDqVFROlOVtdB/hA/FRfrLGRI2XUKAGZMoRXw671h6VxegyEs2/u5p/if8ZUHt0b0aRT1zS4c4vjgSFQOed06Qo2rTQYjg09M5ojWCEsyqJoH497eUw/SJANAdJiSUbtK7FJA6tdQp155us7SfuiHhFaizo/sMZzQZdKG3sW5yUbuck2leF8SogrAqUceVKpKtFnXtE6AZy19MDkhBOwBAICxPXAg/rVBBXpvC9DzRzunnlD0Qhx0JoG2ayuWeZkWkuOTMSXTuAjDdKzRrz/ofQ0G6zjiiFQlt/+5GnhoGTn1AdirNExX1M+kAMGpm1jjIPU2KDbpBtel7JARheB+oehZbm4DuUszWKSREYnf4+tET5F4s2+hmnVBtjxTY+vQwIacZWF7eugsenl3D4eQwVqoAEEGmZ+JVVsM76IVGNOmU3wJKsCq6x6sNmoIZEoqqBZfU4XRN7n3Ubl7OiQSea0hnR7n7U/v+4PEuvzg7A3OJuDBLJwO+rRv5QUA3tL7NY2gpHcdVzWtjilEomdFxFUsQXYevL9+H48P55/PL+ff339+vXx/P78db/9558ff30+//3vX//93399Pr9mzwFE3L0md+pIFuYRvwN3UiWBr8VWq/k4Pl6GQpbBKqHKtVorgSDUy98I6PwlIdeEXaG1xm0/vLyhRNo5KVOu7/Ze9vYj8PJ35U3E3k4AGstf6+pcZt+w0RnWG84mPQY/M/Z1/rPj/VxVJhIz4vqpN8Pk54JkS1f7BGMwe/F1uQMqf3ltAX4B6MuX119+Xmd+ckTvfcHeZYT94H+7LijuoDv4+WJfbvBXy0ztUhoojJaozgSZ5WVWkUy+/WVBXc0VlRqtliyiFPJ56CN9M86cjE6ys+qCLl/ecgz+7AIkpdy/uIwx68vmC0vQOnfoqjZPVSn/vzDj5fWtF+r4qRhURNYCORFneiwBhHQrilcQeh/t9phemJiPobQxdW/vz4/3t/94PP7vPz/+9cfjcX9/3G9T/Dz/zeFH07AxNc9jmTYfOlmN2c+aWLLLakVlKVbY4nNaJeLiTIth56BQtFtb1xoTxrSDvSfiWcUaDBhia6XTytdzNPtCiCnxqi3604cJxJpTTK0cJkdmDQdmKV90mUKt6yllmemdaS0kJgHmHB2ANA6VQihKA7VKvrEhOH0wZzvhc5SY4sqMrWKry9h7A/S8Mx4EIW5aLmG4jxZP4yjtNvqPkk9zoUdkb/ytzFC2CVEkq5l/mmBU+y9fW5+mtZcjnDc24PpKgZduplgamCi1LsVIaRsFnjTGJOvGCYLX8qLoPXLDaV00L2K3IHFWuaySJZ5QK2NTINaKUeGduXLwFrzMzXaQSXSn3N7BLSYTfHYVgdx3H1/el5hIpozfSx01ERyryeahQHh6Vh1TJzWhnLsdu5QXHbW4/upKOGQGIN2C/JDuu3YSXuK6GbBAHJXQb0aD4zRS85PNk2bSFNmEPHqjFKH5nUuS2CyUIpoCfKr06hjmQQ92qitrzAlyVaJAbLP4pFSNSuBoxOZJGKtpEya/Pgpp+4s0aH073WTe32+P6SkUnxEy6KIC2wc7Cb8nR9cWUCnHHwPOmhxCiZpfXVckQv4OlQn/Zbe6SYkk9CRiQAYwEQu0rsp7PHhz0OFJTbxpmD+OQWYCPq1TDj7YSZF31h7J1kFprlNaoXXJrZOqtc5UMSH1wuhQLcwDFSD15Jqgjmy5kGm6X9HecBYrgS0h2BJqi6LVqkh/ZFS6IANnaEJta0wkclq6LstZso6MUn7YXyacIxBCN3krA8lD3TQyc/8MNTcwE+lkWSmEI2zbzCmbcyw29rjXcrOsqEl8LONqiylEYfIgPFEFW0+L6alzkAtnWIrkU39O6cnXp/hwd7fRmUpzGYy44/PrnLIrUCMLamdk/VCr0to7Z7Bs93crQuiwlNcrAkIHVMVM7CRxVyKPtoJi4MtxPs3kQ/wxEbJfve8WxYhaFMP3F0fzxRltvNMNSCAnJUlgzPftDuRqZE6rb4wFVsjT2gL0mQxOeQ6UxUYhuGA0N6gdEP+VXTFhgemAnE4GPedgNQleHNIgVqkHF05eeg8KHlDMgzALCqmaAdlqSY2soqyIHLCLSZbsYYYT6HbnDOCIYOaXQwzBBao2BCDkhhDJrksQmTZic+7EMGpCIS1V3u6P2+Pj/uuPRw5O/Prz8f75ePt8vH/+uv/3rzmi7Pn19ddAMlbG+9v9+/vx/X33MLapeX7OyZtu78sRk7O1gt1fmZ3FfmsLgmSosnr8XOtEqKVwEhUlxTswONQfOVLZA2fJFh21qI1Kgylgdm8VxOuwvHhOgBgjitHXnro+3nciE7ZKpDLsrK0WQ+tx8hpiIv8/0v61yZEk3dbDgLgAmVXVPTN7n0N+kOn//yvRJH2QaCT3dWa6KoEIyNZ61vKIrO7ZhzKiZ7IyAxEe7q+/95v/7jMmlr9gmb1wtr+Ou376fB7ij2/7BK3z1cHU/8GD/+UHhv8Hl//oM67+7j3H7v3+8/k6Sz0wo6iHSODLyDGQiofGt8XJ32PQCdOg5mNKVZ67xWxRvnX5fmDIDUjqoJIFMipHb0E2+tm+MgYSkrfzjr0dNasZd5knRXI6LDAFzkGZKiQRjmhMONiwl8aarLPE81XbHfmTIpMS0SALtfzEQjTrc+nFkTQk5iynatqCeosslff9sS+X5zrvt8v+dV3+9H5/X6ZVja+mZVG9r+vLzNp10kdqOjNqepmWPjG3qhyF3UXoGCpDTHSp7BjdQ7KUioqBI2dLsih9kKCh3+gNDUtcSDXwiM3kRWjgWGvcHGev3xG9qKpz3KfetudT6WlkuvEUeb/P15O5qpZFTS8zNcwkpwNlmjlApL8rtVznF80PdQDyNDhlg3JT7xAqMDoS9cZIxLqzmbniaRaSDiT7dJ+cf2FsAI3pZsK2h5BG0lNJFAGXNmMBOLmZFo7W6jjrGEW6aBASMg4AIA8Y1Mhm6fukvSVjJeL7YDhQGVYqgc0oCZ2QFEJ3OLVGEfSq1kPOmw+nSKWoE6Z9woPpSLXlfmvaerEvaEIwAOYCyiXTkO8garLQ7fq2alrTN9jCvkfHNZ5R+QW/AlsHXwsDc45hIImnR3cqzWLx4MoFjEsm37H1/uD32Z5PBUho+8RamG54oB5zkK/c6VQCSgL5oB3dYJ7Vilk/0dYzvD7XTWejqM0kECMObTAkbKROGaWu5lhHcCPYqDvYFKfHq0+O/tye27zM9gTZBjSSp1t9EAj5DeKhJASxhl+ARBssZyb3yjElnuf1uiwHrXchQ7gI1AsMLRd93Tp6yoAZM5+8jNTSTDOiLh0CwAHDUyP6fShPQ3lFgg2qL7dzfrYL7XJ+d8LcER3W+tgdm4S1GYq/0noZClyMu9RsWaIqXhMjRTR1FKXGz5OrYDtfeY20AgOJyAQOe4kuyEFzQfZ4Z7NHyTIllpfkmMDDJ7MG3UP83ZX4SXMkrO1VlaxwRP3obTuWDN1kvYil2H7ZHAQ2d5YhJUedyGrwPMQ/gEmDtUS6fJa3Wi8sCw2lQ4C5OaZpBvNiiqBe4DgtCZ4PG1FYOMfKnS3PkKy6/etxuk95lEPq611lmDi25H/hKJ1RLA1teF8bmnYJq+4Vv1GrqngbsY0NKExVT5V0FzYIrWVS07V9mhYyL1KiA1hMAvGRR70LTukKTlxW4UbQqgu155GFW1zDmYBuoDCSZ3jW8/QhkF52+DMS2OkxhXqy8cTgoLUY3j7SCbZg8gr6eQAfDMiFhEGUGRH1BMWifTV8A32yLCTUQs/e6N25JyBu1Q4sajQYayb0ms4MtU7306/8MNxD8tG1yG/JsRbAXHux0ZmcHoDxIma2YAv6h7FPwCbd3a1Bw7B4JTGiCFiyj/ZNRcXGNrg3CVfWtTRTn6PmDfIJwG5KBwuqdgvQYHuT5Ny2Tcs6LY/rfZ22x2W/zZf39fV4Pr/eH9tze+7fnzgHrqv+d3mb5RhXIreOOrs+L5fnfvl4bd+37cObuWlOqyrj/G77IIeRACsLPULawyAZpiV4FjHDT2RHl4DGH2Z9viXD+F/eUk32+MCaO1rQuM8P62AM0w/opbtPjyJB+IN3x+9wVh+L+uNHdiHWS9lS0eSglbx5zKEAGFfH2Oern66clvDTV30HurdB9ftnjytjSseIUOjPKzw9n6HHLnZbfrrvNOYfjVMpdnrvuNWYcrr/8z6Pv8YQFefHeFx4KUKZb2odnV47gJCl+qHqzv0RS2PMsm8Hk0+vQ56OwLMrJpogg3mDSzaKCQzJd9bMzQThAcAgf/VwgqhGfMOFwa69c1AixmxeMDJum9WeXEy/MUg/bAZmUsCanbN2vff6Uuxv3+e0Hmw8ygbNZD+dB/QZDir9fU6X7b5ev8zXr7f5Tf/Tqb+3+7quszKh3f4Kt5oMiYIR1TNn1hkfoyhaTa8VYmBGTkdrDaUGuAixXK2493O+bNOxZ9QH1NFmvbV6s09h0WJ0h/XpmiQRAfAKhzTO+2YxYrUl2zC0lEDY45O/g9IkXFGfxrS2ys5Z4OZkXaMBvZFTbNyCu+Sd8h6HBsiQUn+HMFSrIYSaUSxJkdJHDUkzV4cSj15RxQhPQr9QtPVS5EDGj1I/9a0zi9UjduB0kNfgAIHTUMNvp4EIO/J4POSD9lKTzNV+sVgszmf0yRrEeQcBFv+751YJmzUQaej72DP9FVPfRc55QXZ7IE+sA5wRiqdD19bzbUhFX6SriJu72E8snXlQk8R1FE6AgGCqj9MTS8iXQ1ICbzOCtEYNkRNWW3yaievtHH1JDiK8pd2hIhOD6IMtuDBzZP7F8PM34XuD0R/cK/YsA5QFcSjUIT/9JZHuqu6uepVDAzg7c+FwRiTjzyg1AI9B20JC681JfODIG3AgPj8Ue4LukLBr3B4JDxAJ8UvpxkyY1230BB9agIEEHog5mgM0xj5M1tQn00rYHqg83m7n9T3BiNhfXXLxh+MTUaGt/fqoVwD6uuyLG5tdN++2O2XrreBQ3tZTVWFinr/+JffPqOuswBJ4meXApWR482S5WnYCCqSWuPFYtHnOlxucd7BUsCEDxFqzraMKZo75rXCinxbWFIKLPS+wdBOnAWeQYlM8cDA+e/kiU6O0wSzxg3lDUwc9cD7jlDunZ3FidHhXwnDtp/A0o7OZOOApmk9cHMN5NHiauGb2owRWGZS7YBDBMKNlGxOAX2ZNLvVErBLLNSdxFSU9MBphJtY7fBZQazDCOkUgVKQk1/1kZJZL8l8S48fWMmLGtnWfXFYfAQTHpRUGK3UHCJ7FYXNwz8yDSh+cBukw4X12MY9ud8N9cgnCdpBqaUaXJIq0yuAUba0JG9gTHfcjvCmWNFm1XsqfeeJ8ZvcYD+YZPwN2LY7K1cip7qotLmM0TAc60mO+B1hB2EnTFacQPrpgCQYEvIwksHXDgSOKYND94DpwABYfM5jijTbPw+MHdcuB69O+yVcaphAJ1VqrjqCSxhDko5hopPJmp8zmolQVz3EFsZZqK0mtCkfhrabXiAn19wtLPS461cqdHjw9cMDISq5jXLzBQs8q9QtyezHz8ATPrbFNMp1ObgNvENkHXok8JvKKCD7LovLfdVlet+21zVKh1ml7m6+X27Y/p33763flQc/X6226vq+zDWAtndZgj8v1MV0er8tfX/vfX6/fXD8eZhouwqyjHboegNjTEJAD1OV0gKx4FuqDZxZ8oUhgm4a32aQ44o6RYm+gxsCcuBrxn9cxJQ8SCuowvt27G6HrLdHjsRlKG2PiY2syw9wTnZgJgC31TeBYyRB9KviSp3nmPO6n+/P1P/jj01/nYQOFMbc//ByvPT3KxmXrfp7bcetn1em8pH43Lo37fv4z/Pn0HZd/eiCaoIX9MHl8RxdZBOpT2Zn4Jdvq5Rjt02xPS/kd4Ee+YretbywnrKUeMHNtuPnyLkvcOGN7M+P+DhUiXg4ksHJ0EAJIGl0weiovGEMh/QEaNMLIo2imb/PRvnC/eM/AGuJees6+331WNqq6r076/bVc9tWBLyc7iiNx4PnlsmnFUv4u8+u5XLb36fJtuX69TV9u0/s6rfN1XdTwWc2f50WZz5HXqdZDwWV2iflku8IyQ1zUqR2A8pUoGb7mSKwue23mrshKDtTQwfNtFuPomjuDVHciJch4I+kTZahNquwXCNfV//Hv+3jC7C9mGEzJGnQb50ZrKPrCTL0MTZBmURxxx8l5bjbJ+Yvxn5qZsQrjBgghrbVmrds0kCbgrhfb1cfq4qmvXzJnpoSQIu88xR4VZO+AAZIk7SjcSmVTLhtfwTn5PTw4wn2gWfERqaW/yOmrBWgVuRBDuliwZz48XpsOfY/2rgchDm4iYBJJkP7vzmeeeLpyIDdpRAStZrbZ4YAG+9B2Y6LQ1R8IaGVa0LNwwo57WVyJLdia2HXWDTILakfJSqVV9B+pRebQslakAoEhOjc7XG4QRLSUwCcu2jguDmUyul/94qxKkyCY4XYogRy/++vmPFavK1fxU8y2+i1Sz+pN9B4e8MPCQ1ttMbCzyFhk3H7grVeReCe3sSX6PS46T3CkFIRmOgkAasktb0MiggfLGAA4KW/mWXGIH3pocNT7RNgP1ZovxutPc/LCeZ1XGeahjA2bC6jHHOIKAM65EWKhhGvq1xyaBayOQ20UnmUWWbOyXJyxaJxmNKZSHPMHphdo29ogHdyb2hsB1uul4Fj0W5qYpwWXZ2zYFdU4mZYkyby5SVHw/yTWXzcDmpvn2U14EiDSqKY+xvQ6W1rnV5JhP1CKXw3YoWWPDah8sB8RXwSs29M2s5bnAcxk22H3tck9yCmlBPSgqy19xmN8hRkRiAvXEFjq7wsVpKDFMyFtdejLpQK/pnwLX68cnHgQ8G7Kbphes/tXDV9GKCQjchW9szun2RPwv1x0brtNO9uK9qiR3hyYWxikx6HxDvjI1i06RWe238sNn5fRPDmCkJQaOAMOYFxrbs9mOqIfo9KH6ANmZu+tm2KPBWiHJYaV6ZC9Ac2MDVj72s0vvMbsjukomx8lHii7XbzBHs8OKzWdcXwj6GPp0qinWo8Zzj5eWWMd/TwwdDlP3HIE1GJUfNJIDppLmiK2WR0/81q1fH7KoToCFK/99fQxuaSzWHjLq+rIdpAmAXZq1czurxcdyeA8Jufq4E52PTPFtyJ6AdR04wZs8P7wbrNpwE0un7G57iGSlOICfM3LQqsI2Hfx2Rllu2qzIRzwFLgVYuBdPGDxoFvWIDLjHxgGVnigNlvZVhTWVPtOeYlQMY8M7sBG2/SFd+NSDECWZXpt8zYrDizDWGSx7vt9vbz+dnvs+75ep/V6fVdLmmkV6u7P1/6Q43t6XK8/9v3LNv91e/3b98d/fLiZf48eHEYdMoQphb57BYAe1sUffSrJMCjC46LbxL8CiQ6pRruOQB4OhhCNpwCyqp4HtEYP6M/vHqIDXqR/oKScOeFBqoWEpQftM+8I+vHBRvHgmBKfX+c/T1zz/NwfXB3ffbr08zKOkT+tMUrQfwH7P/hkvz694qf3FbLnmY6X5N7fT3FcYY758/zHeYDPMwbe2a3Ty71j/A7qHR9bd5g3/Ztd8e+/n14S6vzl2Ce2H8zjWpSCghuU6aj1e/LCbkgR0lMYa9S3WGifgDUe0uUwKd96JOll4DAQciMPda7eYceskhmYD6s7/QjqisCgGz9u684JYfZqbvtyec37vr725bUtl/1tndfr9H5bMTT26+vH/vq+7Q+nsPkkObGrddrf59cvt+Wfvt1/eVvelsu6qFvMBf7h/yHR1A5azbCWmIKsJdHqE+225hMoDMVMdxyH8AXK6AkwByTpuH9gC/L3wI3h7ynEfL1HaYTuU9I1vAouLiPXbFeYzrGUGM+RF+xcXm6YW3XFX++yZ0UMqzjRD8IYYkMdpaiS27HdtDp21iUWAfwpEUgiOhbaeanbUE+Cu8MeCZ2xUi9rpN3y2qAsqJlErQZbgtG6Q87SZFfqNWLLrvGl44ah4yfcQFpASh2TzXXsbvnKreRbE0YRHhhgLdTCuuRNXJ35DcqQDyXy9NBqmVKDFIPIou4aGfDvs6oGY30OYhzWNsNl0dkxwXbzWh8oFWtLZ6/M0gd8nJKOZ6QvkI1qPPW1IPwKR/6sP1wU/uPEkNLjKDgVlEgo8/6NXD/LeC9Vp1WX14AB0HA0KzqZJRph94cPmo1bFmcvDEhrTkhGe+fAJtjl4O7BocIFT3Iw6BXVVzZoVt3uobEQITeUtzSUSdxS1rKLzwvbsrjsXhgkA/YaK2YCeqSlhXbxuHt24Banz8EcrUwKOZUMkVQuN0CF9s01psv1iUlluOIGIvodDdrnqiaUFmyK3lsCD3ay+AQ7QXui8a/r8vx4OEc0OhJ17Ew6mjRuNjQ8nxcCSHFHOcqWmy0rrOkTbWgkszkJKFCGWpDaG+ne925gHcy2iSoukSNqs5tmtVHusp0RZRQZGnUNusAUcocxOYBOfSkaPf3Pu7eWi7Eus5yuCC7vVQm0EEm4SbMCygjKg8K66dTKBgydsoWjYXPIBGi0sqEqdSlt+LPNJW1jer9IyBw90MNMQ1iEUYb3+wAXM7U0AnojS8mR0hxuoKVtZqxJg0GLDfKnfZePYkYcBm2qUphgmAo1r629YY0k6A8aKjf38umAUbJGN7E3JJFbs0czMtsYGCwsKmqWZxALlNKWcRzB+NrAjB/R42Lbz5OZUJxPTmPN/U6iTphxICrcKJZZgNPjjsssjA+itsCZp+D6xnS8yLwxCI0chcqus85eziu9tVXtkee6e+RAKyHKgj6GYg6mctVuQGXuUEDg6jf7CQ3jIsDtctyZvqNROE5ZwcHeEHhh0/+ZIUKTpZEktIztRVKz54n6psdVpaN/V2dTBDCsWavwKXRpbheqrhUEBMefeA0c+TYziP/Ihy/5PbJ1fX9iFaBsUZiE6kHLuMwJKghcVnCQ1UlYEovlcEKHi9Vg5rpPigbf77PqK3AqTvf7fX487Zp5KanrNskMdu6FQrrPXWcF/9he31+v22Obn66r2LffXq8Pe2K2RCNCP+xWwFAjIGh/OA8+7WzwKGpquBRuKDfXHjheVshIhfHAJL88uunQ0OwJG9oaN/aXyl54WkYn5ICvL33mPfKJuoNFbFvUIQ+U5Z+WNmwkRMD/8PPJgj6GOht4/8UH9hWc7sX+GR53jF+mx6N/OHpX8fnefhd+zl99zQkG/8UnMDkMyOOqPr973bj/0wrG6/5gejwW1WAw3qFv/ZcfcBlkg7noc9jqmdAY8gAUUwRpPg+HQ6XoioulqJTfE7f89BS3D8CgnAUYhX+MPJoqcCl3Gz+Dg7h+2Ry/OTZvtos167q7/2BJukn+xUnO4jmvddtur9f79fVlmb6s6y/v99s03dbl4/Ewn7j89tz/+uP52+O5SZ8Sr1PXvfX6y236y7fbr1/WL6vyn++3eb3P621a1qv8bYsLOzntLxVamT92eMAzIIE1Vd5YiRbtMyD2Dll1S/NYqyfDOhrCP1sQweeL5jywIKcKO4Mdg0nJMWzGCVOROvZJYsyTJCwGam0tx9FbjyrXaYSKD0c8FtVoQ+VvwRb/cL8m8zOnByP4NL6jLJHCUoeUC2mv9W6FPswQPpZwCHLG2gcaEYrMqT6ERkoYS7a4gvER1Rj/aqrdtqxsmypOi0r8n4dQlwGxsrvLPXTFWVJyGCRrLJ56OJnkl9zQ4GyWEF6vgr0wnoDRYcrBD4bPKxLcIG2UK9iF4Sf/kc/4yW3OTISqWB36WLMhw04NEnQdjSZl1etA34sKNc8Y3jE0y1E8ONIuE5b33yvmYCf2nSxXC+Ndyd9OlCBVEOcFsD6xjhB4bCj4gn/HJiWpth4eNjZecoHDyfcOYkQvrRopg7hPVLGh2xaatxMVT1HoZPn2CQFq+OwBXWnuEPxjI41UiaJ4ERAfeK4bj7OmPXxVoGiJ8NrAXNmzVpxG2TYujbSt9ftwSmVTPWyaz4nphW5hGoGnVKpkekcHKLX6ButylEwHy4Zo5uMMPzVYeb10DjBBEcaVYQe98kzSDB3WJtWThszJEHGER4hEaQ2oiQvFE2J+MhXtBztcfdZJmBwHtJq4Cl+JEpTaiNiRqyCUdLmhznH1WmJNsX5yhtLTot2t/FVKar1a2v+GkbG1CWaGNcOtk5idQnaHO5gJIyPeDF0V0CQIGxxgMV7kgYXhRIyfw1qNmymvDXDAHO5sIjKA1bXT1upGl6F6sa3bdEzYHtBwCYOABI/KmGGIsmuEWfSIrbBILwse83L9BTMfqbYGdTisUQvenRTZRICDfaFXTAsitFcP7G6TCEreWaFqWIyaCrV6WuSenJeFNKQRV5Lbkl4gRItC2dV8IWB/HGkWeigz1bs/jAEoHROoTda9tMgbrErxYWjs8XiSNhRx7/eK1N3y2MKMr4jBymxz5wbIPttklkRVKmEVWD2k7losyIyAsNN+iOrTAMO5BmQZpWpAtrkn+FDuLlxPQ3kDhGCCVTeDnuj+DTIqSsBgfViFRtC5FWKdm6KsIh1wkYlRLmLBEs6l28RaYN9JEQ8U4c4UeOQSf1pyU67tcaNNaHPp7TGYMAroYKN5i9vBWEhXI02KC5X/xwx1ghpsGz/pcBiF4s25IH1T5rTcVhf8OAOCAyMCIvz0mk4y/N2D5CK/px41h1mvl+vj40NNOubLsi6vbXs+FcZx29Z1XhUXfn/fH49t357XbVd45zqtOpxT2LtZDd5e1x+P7bfnUyd0/uDF0+X7dtlfP9xWYfg+YGJIuLLgLC8bFCH3SWs5PgYM83eizMhUBzfADOBvtB9/+F9Az3ZSbh2uVX8L8m8IIXhzXCr4gFGwIp7tnCHlHwyNsMxuHfKyKFj2hyzIRY+fcY4lV6nvwqO0l3+iEBQifWjc9ekTLDj+HLpN3wFYP8O7L+/VP9iQ/D3W9/uvf2fDxg7jqQH1P5r1716XxXF1AKNfdbL5+tAkxq38+4dv6icP9xWfoXZ8j0jq9HtXtoQbI1zzTQuIGCPX0SaDOd0Cc0NDhMjhKP8FU376nHCVXQ2WjU0JcOtiySztCyOo6I0jepNiUd6me6MOGOiB9DB/fGqcc6NwgsoS3ufLvl72b9P059v85/f11/f7l/fbKlnwejynx/MxLfPHc//6/fHxvPz9Y/vxVM/k99v87W359W359cvy9W398n673Zf7+7K+L8t9ub2vy22Zb2qKJa1osTheqjmgVGRrAF76NyVhx9hxyNmBbCY7ltlv0RpwmkOU8iaH1JtMyrCI1kRik+0Fnyl25/dEx+y9DkbRw+q178+nG2PWNoejxggH1S1y40YneQfE82bDmxLCsdLFQPyAS0XFwrWqY4SUi0oHJ5adXkPhVUAExQOdZOtpt9V2qGxE7SlWoL0ApKGhJh3aCHnkNLkm2KpQYqZ+NDp8+X8QNbG+4DAMk6kSGQtVAOo6GfQY3nZMangr4ytFnI62KhmFVrTLUdbo50JojmE5e8JVmlCrg3xRsGcO7GTDmVhiWKp+HyG6EF2y2ALrWRqLt2RzsnJ0+9wcl0EBC5VxVK9fzTIz5wbzjVZ4N4hEOHkXd8CogIDhME4IIEE+24eOK2iaVVMjH0NfejOoyG4F4MWBaGvZvLi8vQW1RKvt5/4jdYRM8sIyqGQFMg+C7tCF9UPK35P4ZZTya55SYoVkOX25fd3gbH4Lah+lqVqBOWFihJ6Ytw708HEesiZ1vsZw8Wg0HebcaKj31KQRHAZgYSbMwW+t6lBVwpTB9vkIIQHXdQPU5NLofroucpiBWrhegqMMREzDRkf7dIebgXBV9IOLnSIiChoL9deplimWuRgJ6YVDEkAW4A1Db8vAoNxJyQPxiz3OZR2WhLXCEj3aHOmhmGcjvyEqw6h8gNeEMKANmOxFtXx2xV4uquKTLTejsHFSXraUPggeZERuQblsXhseMD0lZofiSF0AgwzgFk5AyxGgw8tgIHDeDzm20QrCbIBK5bpfQAYLV9DXaUsWfkRtkTlHMhncVABe4xxyNXwqisJqSrvZglhPgBHNmJLySD8wLwa2D/5hg+s6UqcxHU2mr51gX9EJdtiiUefnoF94hG4FGzM9XiuLHXYM81Verp6xW8cu9UzMD1CGpKVtOiIvjbjsmABxwIRte8bT0ewG8ChWq2zQIyrldlfsbukAf9Du4xx0YvsSH+eBezaujMQp9hSWVnkCS3ihXJvMGFwnUS/Mwi0rg93mBkCqJOPNoiNXI/nVFF4XNwBvq0cPSe9svOC+I3kpKfYGCJ6M34ETNiNnu4cpm2pq3c5xQnFz+Dbcw5oix0SQYOKRtx43FtdYeFRq1ZQKVRKE4HBnZLGeo7Ha/sjXrt7U7jgibpcsofQgwJOCtJuvOl3dSomlnZ3xSRvzqpHKTCbe8CrHiqmsi8lAU8elerMRH5DMl2URPjyfz+3xuG7btKmZ6m1VC5M9JzldVDK8PpbHZX1eX6/H6zLvUnn37WN/GElM3OoUCo61miXdeth1WAobFZ30INzxLy443a5pzj5sRef14SMbTYiCbqkXyBaDqPnO6aBnoy5AGV5OIxvDALOwfYaoMRbEjggIHR1qA9cySF6ThRyYn7+NLLyl1/LMed5jcQDq+Ou4+PPndFMJ//PnD54Zcxh//9HL/DkD8eeP93FY3MM+PDY5w/5udC4EXWNs/nTTMDa7gmgYkVWn28b/P73Jd5QXwgIBPbeMvT+9MBjJjfVglqB7yJKH/j2sMqTegx6I2pZXQLmV0Sc8OaAXQXTyNYBugUuWft6KE6zrHupUhlIkqR21kqtJ9juhBZouYMlWNOBA0yFpANvlss2u4/11uf7zl/s/fbl/+3J/e7td5+vz9byL2KXQbc/ty6qw8b//529//fFY78vbff716/3Lff3yvry/LbJ+39b1bV1v87xeZ9f/yu/tlGjHgZPke2x3Jmvx1XPHAXa0Gis7ZmzUAeVmNMD0d0WOml93L9Ah7N7HQ+eGRXEwWnoi0qK7g0x2UMLWAj/7gPenHuX0JlX32PlKn0JUCP5PfU82l+12PmRw1KhTcc2yB0YjGrs/g2VE2cOMfqo+qzyR7uKYEskq8ovBFMxCV2UdvBG0SS6uK47J5Msm1OxnLr63nLI2EXJ79O6Ku6ELaATV+yrDg/ptBiXsZs8E84T0cUuURZPiNNk5e9j/hZcafFqhlcc4aUaO7jpPsGEd3Y2iO/QkYqpOFMXKqOoytLIDG6lg0zhkc6btCEEvmTiJfPL/pqpXeiRjU/8lfkuLVvcDKwkbxk59da85vPTX/ZnYRfqqOGy+0c0GpGDCCnbKNIB1xBaoXpEscJTkMgxz4ngZ0lEAGRYE9IOpJ7WsN1hoVQ0SYFiiyZPxObg0Dn0lNo615d8oUnhkEtvAdvRmJVLVwFIkt7XawUlt9KcG29q1IVXGTfEj2h2jDrqFGLNT5nZOeDdI2i++DNuFCab8qtNaMnQjPc34P7JLKjuG8hzAOr064m6YdXL3lSFjsdROC+5KC8QXkKmYINu0gFY4WuQJv9lR76nfZteJExhUVNpOwo1+N4EallTBZEQllUVBG2rGyaCp7uSch5G3AHP8ZJMxIMgxL4uEibeJMFrRNXHdMnrYlnoYeK9NYPg8HcofO4kzyw0XRevBKdhsQiIaSB2N4yAMAwlM4jMTm06PX8uItKg2jVHW72NaFfzMtiiP1li1233iabsHum1EO4rYAzaofYKEXpqUe4xhhcJHu7d1VgK7MJxPAgCU2Pangt39eIicKA1j9VrJTAD9LCToMGBGc2g2GTsMlA6EXtq+uELAV8te2zarux9XK1O1+o/kMEAy2U7dTz1V9WoxoN68i4xZOy3R122OknRB0pFezwlZavet6S1pzFbSssMC8YK/LKwQWdYj4JIPwCedrtxoiqQjHHH07UgIwLwDt3CdW56flyregLy0ky+WBQC09JqneZ92t2p0SrFi1wo1g5OtCEJ8Ghmyd+hfsS3jL3emydHHP5D0zWmJVY4GyuYw+iwWY1j3JP4WXRJyRmS0WqM/eEPyEcywrBTVg4jcL+XihsBxjrPFMNGWkq2ds81TVWgnjjU8tzNpypYPe7tclpm4tfHRxJEmGcPsurjI2Zah52HlLILVPtMIAweCadPh8yq017O6iM/rohgvxQLLdH0q7Xm6TLdt2uSt2a67TtlY1P9ZZ8E5DCI8nz8UQ75+vJ6brN/t+vr+8fz+eP5wkYx5Asd7Mxk0S3SZUFkY1Emd66Z747ndLveQm7urV7nlinaQQsfwMsY8jco2o25GouSr7NrwluTukHN2tU7oki50niGH3TWUo/L5YaSgAg5c8j202QiNBFMjo8LtwpKPSfKJVBk67/+Jj8HHMGOJp+/GOF3c8en184vGrzEMz/cfXzF3vxXSOT2a+Zy36nhHZtk557ss/PyOfHcEQetOGDbEMXB2N9A09AZQgUzQa1z6/Hsll7kb2kj0Vm7y2/zyXGB543tPDIhUvR7z9roGguV9Z9Dk2aoNx/QKU9oFsQY0vsLGiBeuyv2+MsKSEccDWwP6sRNttAzF6FlaY5DQ6aN2Xvfp9W1d/nK///Of3v7y5e1NYdt5WqftOr90ku9rvlz2j+36i3L4/vTl9u9//et8u93ub/f7+v623pXzPK+35fa2LuuyrD4ASUW/81WHIXEojX3umKGfcZ7M3ujm7WLIJsMks/aIPyNBKNf9TqR+WI33P0gZw48z26l/oWVLVJeEZOhgSiFX0C2YHiXT7D3hUN6blFq5EVHQKWlhSlmOxRRiLWo0qi1vdC/kei2iVTcFiXzV6sm9CX5vF79yaGnOnMphvwYNIflNzlOM8YJ3oABJyZIcoP7T/ThHQVYQq2jjf8zjlCQbMxLk2l+v2Y3D1dArxl6CrkYoPeycvoZW6HF82taYiBYMrJFvLRpd2kSlId5SzdYnHgNtySSBmBEwrdEv4OjWLrqJKDaNM+sbKy2l0dCb1aEoP3JzJDPRN2TiINwI4OnHMxVhjStArthOA4DoVll0MgIG4yKg1EARxjDal8k1JkZ0J8Qty4mBGr0nSOvab3v8g4zdzyxAP+hjNBJYrEYZ/uE15UzVsk4GzLGic7pc+uqkB7WN7YHrVzUzzslPgFokgY1t5Z3NNTKKR7gGwRjerQlbNgbmb1wwYMvFZZpUvTWBlAIrq2zKmwAt5bqCWDTg/npJK5ZGqyDfvm86VMyRKKhlnn2sabTQsBOjEzi7q+ucZ4a9Am0uUvNdX11IKt9OriZK2CO8xtaH4MPWkxUQxsOLg03dkTGAVw9KUW0fL0Xsft9l8vB8m4kUzlh2oH+l0abDAANHqzteGWadLXfL5iwADds629Mqr+I93hDeiKke8ov9H19IYtRONaHvXLHIEeaUN9AxHIEbuGdES1vOtqryVhVl8DDkCuREVLM3y/2UMHXUCCiKA9fNi9Xs3m+tpDd8hSMQN2tz1BfviC0P9r2OBAMqgVlDc57V1giqgeMYjgarkNBRY7hQSKvDWJS4G4SzpoIJIR6OcGOK443JGLEioeXYCbRtmw4JEH9N9gLyKRDzmyv4ou6QPGPO4VKD3Nkky02IRwt4+tdfZQw/nj7PwFHBkDr5/PFPu+15283D47Z20ch+pRAClm2YzfMCtsMch1XGceqGnt06ZYiPx2McLuV963CgvEFgWJqF2CxPqXCOBxvaoR6iRYQFoJuy4wYQeMna8TbFL5uKADfZHswzJpwaYm1PO0+ETeCSYr84+ixuclqgEECAGsyducEZzjTljixZ+DRfIUZmZTR/qYOF/wQKwRIvnunxI6nOZibMra0R4YnKayh7Cf9tQBLefHk+HpRDq2wBpYz2e3Cg1IrrXguGFAjFa2aHiHeUE92GNgYGmH17oshasev5qpN7p9dVdu1r2VVycpkmDoeE/ynf53YVu7bnTYggXj9rfyjmWS6Xh7IxvuguhYm/f8x//9g+9tdD5OYT2oL02A8125HJWVAV9vwsE4rnVPlifIuyoRUc0YP4q0xSyRytucVwvgAiDfdBFZohnE9VYXn74EJVcuLe5rshTqK3wWlxDQ5DIqVctStjwfhKeG0GjJxkjePerO8waAqd+LLyfZbWr//oE5MQmgRAf3xfcfGnq58fODPQ87TOj1gsfh7r8zCHonXe+sOZ0NV8Wvp4zadXQoCfbjtAEd12SPYIxfNgYxRsxfFgfymMsRGRG0WQIPIZhY/hBwA0bHhGHZEZeKzbsz8/ewC6E2H0caUwoAM0qNL905MobHnu5BCAXjK9LrjojQ4ztOy4KZxSQYzYB9A4F9rJz9f7Mv9pnf/b++2/fX3/y7e3b2835Ymss3Sd9TLfxY/X6/X1ITbx/O1xv033+3W63eS4XZd5ndbbvNyWdfWfMn51Pvk8+7g1N50/mkF4pkQRy0lDYmN5bE8Ek9UheEwW6L2rO5huRsh+RS0cmI2Yoi7SMje9bfx+pWEN4BvKNjYcAK5eyNEh2B4NFVsiy8vZ9vEaRW5c75+LxE6kjH2i4fbtWSmP9ohN4bhO95XttPFK718v0PEXQho4THfXH3Jcrr6jWYlTw3IYWGyi9CIa2Amzcm8qy0rPM2bzOLkTBejQvICGH6fqxLOZSab1VbfVoJuCJ18/Qt7IID75KaHjgctjo4OuyVMD+ENn9nbVlpLDvS2aORqqnuvQQplqdBK+6pBob3EMIBxtz+KNsVnIUNIRpJBom9qfLqYmAfxsGqLHCnzU4QL/kDA5MMHz5MGqQ4Db7CrmqJG1MpGvczNrooyq5h8kXhwG0GPLwCl4QKWMF+Y0iJawBg91mCPAR5Mc69PLK/xijfd16UPpx0868WDMdCmfOfNVOpCjR+gvwXoyWOgCZWxCC6Idmna/rC3szctJx3KyHhJpOwDl+YW+SKYjUcJcJEShWICHo94zKIqGbO06dkxdifE1GCxVEWo5DchGcw0Oy6NYwarzXa2gad9YPBZ50V3aWH+3Th7j3f+GsUcyCXxOUw4u0Nw13EsDPDa1n+Uo1KTgwlKjr5g9uZWEBzAoXQnnWwgPRhUKEwCdRhhrkED4i8p3SVkM87Jo2TSoPglA+dH2FXDgxWe1NXDtZeUYQxvPPQWLbfpMCGEuddeEYyQYZdFWtsPRz9hIOtrzvGOY2pBE4Wd2mkO69ANH6mDR2ecw6CRADkWnnEtGAj4N+l5DH06lVhaIlwG+XzedH2gs9PaM7ggkVZgtIcnq6yIiGRVFAyU6j8GAexBrExcljBg1YNQMu+4it7Wfs41lM6kiZmDgZ2FLI6M+FKzGDkIL6ildp+2XNQfeSG7gkn2tkqSC17NuKZeXA39Eup+TptxmI/jvd1UkhI1moeFNYXVOi+quZEEWWPjEjOy2wEfms3mfSw58HvPieL4VDigPzgZxYIDGwIjjPC7Jlh/LsFeCv0OZLCxO3BDPKKx13ngFSnIZNG/OCUiAVDoHrpaDFQxnL/xXe6N/SI7y63I0GGwomNjV1hfdrnV4o2HQA+dh5CDP8/HMncKgNC6j+oU7SdkANVBivJupmm4PzC7AMEWHcE6+dQol1aujBsjdrfPYctLV78ObrA24m41gGhYlZZTs/nld14/luT3dcOH12p+bEh33J/xSxwfPMwX4ylR/TpfF/hxN+3GdLh9vr+/P12/Pjx/CdLne5XJnlzxgThCBFQ2JO5RCf6rko9CksDnS36RK40o7wN0SfyAaaATTPjqnh98gRbNk+E6l4Hhl2WU2ckxpyJP40/osAuBYHzf4ueoY1Vs8Yt4ENnWpffnxskCGmecF1Z/4FX1xvKbT++mTUXzPYGunuf103+9nEnh+uuZPLb+TknEs6Vj0aeyf9xde+XkuhWiuVBczjPp4RgLOY/CA14UD4U7+htkcFxh2zCFzJmni0w391G5CQjPvAcHwpcB0YDGsnqEC/KqiDJmhWe3xGaObUmI2D4N5tHn2jwE2ljYKHvyFxQGC6NO+6+vTyb1DlrX9np6v7AnSDOYToW9X4FVdS/a36+VP6/RPb/N//3b/p2/3X395e7uv8q3dltf1NftEcPX4V8KJDgd/vi7zc7tOb5dluSzrdKNZ0nW9rzJ6bQArocmpI8DLE7YnLHZpadMwlaJMW5o0r/QX6aMRYmctsekGHrBBKIcpcS7RmU/6eKEcORO5i//UODMa/2AHmBnGBrLwZmz3yECfZCi3EIoVEg+sptUASZAymaJsgss0qXUKV08uD77ORJUryVtzeLLjrHO7OtUJQOCYw65WMpJ+eSRwOY0IaWju7TxJzhbI2oHYMj+fOokgrUmzLbwf1b8cGzykJSpDgFEIzLgOcsXWzmg3rSs4KTAnipiYIWceA24krg4MvJ6DRly5TatJA7fYLT+I0yeuLwX6DnocSlgMAXQw/AeI2pIvsiJKlMvR7RLhj+S387hnQ140dgROjUFgIVUjRk5RRjp0RceCyC6wekBBGzDsSRZsNDEJOIL/f+AeSU/Re7McBjFbHg/BYKysPnk5qqZjRShvB6oBhLPQIopwAInhUlcIazOqKGEuq6Cs7yrvuZPVornUyBqtko1Am1XB7mmonuguFkpSMNhC/9AuU/itiu4oVy1ROYJ2o4gg+ls8oGG7nPDsBEknS+jehCG7Txqp2OstIbMgEaXgD9sJ73JCqoBM0sTSVFJ8KeVBngqZOdYp1WAt1nxRib08xDZ+lFq7MD8WySTqYAPEYUQZxu813mNKmQO0YKYEqQ8N/inQDSoQRC1ry5iEwjJXDjuJ5iR0VwUD4ZzI/qx3KEEZIzAdmltd0Q7s5hMQRwwUFLwaikr9S7VS/Yptb1gb72oZerDhvk4LJW/rkMqwNgW7oKLagXT35sybQxSXYuMcot2/0lNiyaOUQAOJsFU3wNWECOpbRBQ9XTqr7itahwCvsfcBboMei3jx7ZExATVWK3paorsmmnwL+pFNRIwqI/dGm17Fo4Ev6W+USJGNe5ux9bD7P5gjhhFWLvFDXgJ4dCKRj4wgSxl8IBMDM6lt2ZWvrqRqnbQET8TDoNvcf8uvS9N/TiHCS1fwoGl6BfQ9t3k2gr22ucWpOQNQbxmaR/MULDhoGhqjGdN99NU0NNmCVDgr7ST72H7XHhHfm/LGXT2LJ+LkgjGgXWTlEwmhxNA8MIxMSg8GfZGUdXwXFIflZm4zJDVh+fDbiQxBHj3Gt9b4x5AmUZAEMDutwItuYpiRmqh5g4yGRtAe/IAKtSkjAGmd1aG2tvbQ/7UKQkPgE1UihuqtlYxDCxVvvPWpadvgsyoGVkKOh18U6FX9wn2attV7tL8uN3eUVuDdGsw0z8uqVKTt9Xw8Lh+u0N99BIN1j+f762N7/fZ4fv/78/Han/YYkshnDdDVHqzek08FUTlYDIAKEfhWzdT8Hf7sq+DPYGyxqmC6DFAWUQ4Y3lkKDkCD6ZVHh2k0XhyH4rB2Dnl5RC7GSwfTNfspi+Y5dGZWmTkMTo8kSMS+0++dp8BvPp/++C8+ZWGHXjLe/vPnAAo3RR/46d5jOYXe+PCiT5+w288Xj404lnomuuMnpNVfc/2QjePJON7+AEZsVaaWni1BkSgBfwzJblm/Hpr3QA10+PNW8S/PdClxzxqtO+uxE9n/8wioR2OjSKUcHvkDyJ31Gd4cYIu8qzrUl6T0udAkGAkmV0TlAUSwRmEBAwBW4hwJXafX27T9Oi//fF//8mX99r58+7Yut3VZlmltJGaSZaWzf9TB4fVab9tzu30o2KrylZvrpuZpva03ddhTbZ5qNWORIELdw0nFF9TsdJJR3rzMtnKDp4q+LEwZJLymO2aJFbWteAlVI+RitnlYLJnUFmHWjnkFo83XQrwV+qV3fG2Mq9qfq8+7RCHJlqAPIEXTOqSyiq8tcL0soiCWVsYltjUBTyf14etsyyMEdAlKpdjye9iz6XQzv98Z5pRiZDJBHbk6tSPGWIlTYeAsXj9gS4dgomTO/zwRSpp/BbDopK7r0fQSfIIxF/GHASG3aSwOP87kLEqBd2oDQ+68Dp16QG0wDAPH+ZJgBe/QRSepksceF/agKJiz7Z+0g+khjCHi8ARwTi/ENjZ1ZHy7STOVqGQH7eq3aF+sMgpFAhUZ2dMBRkOEob5yPIcZj3Rmn4qSNtfoSPQKcVea+XQ9uElmonVbNh4lOFCzUyMBf6LAjtRYQdJMfGAPBGIDLZ3MkZ8xPAIlxsfjjFYvkf10Ea89I9Fk0D8gP6tzmR+aJdErQBR0OVg4PX7RtKnoxvNSJBiaQ5ntOKCbPFhchzlSBc9XghBdph7l5TmOtJuezUrwduzsQQVgZgMwEWRmwg6lOtRHuodPeIlG4Unq5yIqbQ81kKZZrollCCndnvuoaTRlYSDhhSpY4YRHnaFzdjNa1uOkU3eK4wybNEg0nXOsNr3FovISPGRlDpLpLeIxINoQPw2dERvXnqIM2kGjQBZnTmVLgu6VqvoTv7PdAXrB8NSyoUViK7m+XJ9H9wWwesLBm+jfxDYNZB9TxtQkrQwSKNFsc1iStQMpBohhhN0RcJUGaDJn+KaLfYWTp3twKJsUlq3aFgiShYPCUpFT3R7C66kNCO+iTWh6IEtuZ4jI1BqTUVDirAUJjgdlkLSjE9yb9FNXGlNXnOyI5LFXcArCTiRu8DUHD/iKS/kp1PHL1F3fmCPQzOLI+psyDNM87r3YZnAc/4ixFtQt+cFENNPFUkJO26FHgBKuVB67UI4Xpa6dhLy3XrmXo6iszgEjLUT8zjYnrig2sXJFOIHD2weda8nN39ENz+2prAc8RAW3jwAmorC7fToc2uw83Z41zabN4KkxPzQy+2A9yMBzz9Np/8Z+jk4BZmOH7xCiQ05Q3USqf8ifPhxJF3PSB7Fx1EhvRwqGA0FYdrCMGmD9qe4XaCctcceXGYUgzclHEz0IhG1C6DAH975uWnj+yzNyolUXMHEYRxwfoAA4Oeemhn2/zDKuNU3rmkpwtjlsc9e1b1I2nyVPQS5uiovUOCLA6oBgXr/77EBxU09NkYMfj/2vt/k/vz9+bNcP8RfOMrQdjpfBKN7TRGKUDX0CTB72I8z5kHy4hKtcRvGlj0BEFMkFuT+iNcInulihYTU2d/hSlOTc2O5tDWVkTB7JAMw744QeDkXn4CrjSf4yk4zk7xXe0onW9uwjXBx/nu/V5+f7T0vp36e7f5rP6RKPHS86f3f8EdJitadLo9Tsp6kHLGHPpcxPSux44ATQbLif/jylOEuGFXS45k/TG4wxm3lm86z0p9V+2rJPm92+apXmlXk/AcD/RFftfxUj5qVQwYHuVt2iMtli9BhR4LqHSfkvtvQL+EVsCGgEjIYJZsLRiMPSAYZrd0N0Ga0UkIWTGpNz1ziSzWLBWtf1erkv16/z9S8K/y7/9PX26/v67etyv0/r2zrfZrVcMh8hYMYp7pf1uq/iRdcfyiPertNrdghmUs7zagPY3Z6vrgFeVEunMrweOVyqPZaGsK65X6izALx95sNHbmjs2HhP8HU2t5a4K9A80FRe5ihCydkJFrgekegr07C4RLQ1jToYBPuRZtVpDtsDdhRMiVaZXPSid9YdQ65nt6KOMB1NwKpXZU8sfHRK5y2T8azoZ6qavKPubZJEKsraohswa2e9wqryOgONUxgAu1OLn9gzpXKQzGLK5crKajwBmVowXJ8uqMvbhuM+flLgE5BE5bba6fdYHyATyvoZyq8NPObGFqMN2Hg1EFiFLkYNtO/fxsPAKH2CHgn8kGxIpDhqmLArx+p4lP313J/EFYUw9OBMO15ariQjuqpb6NtbNb3ku6hZSBttT6XNWdlVMuUJA3q9/uj05rYlj+KAoTv6mBRhy2c8Bx0A8Ynxjk5s1lmjJUIDcXsFnjHHin7eMFDFszOSBGetvKe/hk8zGcc4JYiIflqShXnCzyoNObUxKplfHAgG00OqBThzGAW9MXHDiPWNSYOoiep42b4BYbbFWkTPZMEQqiDJzEcHqfQSpMK0q4D2KU1hK3jEPCm999EcjM0gA+1yey6avE46laNMLuFjsjhoQE9/Aq8+2xRwGa7SbtEClaSelnfJQQxfgjjM/A1RW3ryngIyNNQwxGGwOdYXGReoaAtw+rHTLZTvrobjBjEMQpGIWzBUJLHnaV2rq3AHNozi5MFNeSDi3MPyOCgSBc9nk2bT6qIILMOm6oYsDfsamzwEATBi+2DKfhiBYgCRKw8aGpzVtZWcgKEexwRMEVUggBkCDH+ZEM7H4ZC6rJ3zyeg+fpCAs7i5N2vQp05pNiyO7WBM6myH5zZU4wmEFmgTb4k11GIW6aGrLVWNyUOSy6bg0h+8M+Y0rR3saY9vIv2j6knpexwVxI+fPuSDFZRUE3tkD8IfgLmZsvfUulGaDSAa+RAUJSqrvDKSSlLTz+pSnFRtqQhgdyHsuMKgVRA6TTDaFL4PBxerqkF+GKiIWeBlvY+CCr80jqHRB0s5SG7BFTecYSDJvCQVyj2uSQTgWDkMSJCZFL4jx82KwktC1+FalVJbAOLO5HRc9qUiJMQaEU8/aGikNB4pgEw0kIbG2jByUicg3+g0eHx2VSn7ncrv8BCJVJu3hzKJbA+xne1nl1mtr6J/owwld5HEvME5JJdpvAyyOHSQMIT+wEsFQ0vykvuysGCOXYjqhtbrCUd/SI3NNKlVtXOWpsv1AStw2cz18XhsX2/TL2/rLx/794/X98dF7smki7jh2cEKx3LKf4KG/Q0+G09NaCOytTQad/uBwdxXqTYEJc/mznDAiuvQvdkDrK8crU+yI7nCX/3Fs4ViT4IljmfjWF8+xuNHFDJYFJiYO6ItdQbnz3GtbCTLyMUg5/Hncf/n4c5fjSVCfYYptSZ94bAJTn9FbT8DbEwDCinbPK/6eM0xoZ9mlvez68ctWeq4Ugl1klxjMhnpdPN4x7A3Pr3WE/4J4GPD9N/RjyDX+ZlctlgzaCMoDP618GEuaHAgXcRRfSDlyhk3JD9kfo6FO6YGPUfJaATJI2gIuSxFcmGR3UQCI2PppixwlfNjmAqgHtqcbbVwWhj09bLO1/fp+uui5Od/+rL85cvt29v8/jbf3+dpuczrdbnL7LXoEWO3kTvJj7pI6t1mnVahxS2LvuNr/WID2LlC4jDT7H7TeHEzne6xp5hIDkvvjL3edIRpIBs+D2uNJRm6g8vFJepI12yOGmdn1AWYRNQWIKlHEehRK1IB57CYu3g0AONxrCVxGi17T8eN0VnALMitTPTgOBRjkNpJE0DncPsSD+XmisZSlqZ7yFnk2BufELHMS8pAPSJmlfM/lUHmnCOXTnoVeUvpCxHgCCeIa4nq8iJNJCYGRum5GaEGHIFTZzd5H1xgeLlsMhSzkDA/DHcwHkKBQVv+BmMZGMERkcxWpYKM1+Y2A0wwTNaa1HuabgKHdOdmCxAXJB6rH8iM3UWoo/Xb0sxzGCHowO57KTGUICMHNaKpopuYo7K+oVtrQQC1+DbaWueAH5/INTywBnZZrbGUNkmJshDQHsaq7mnEPlmKHodKUh6xcGe7Rjlv2EA5SsJycpbz5qhEhW54WWrBoAJ/NSI37riWjTQtmMoVKdk2N6+KU7/k3YHpaBUkBPGNi1bviTNFs8jX6FPspI+GYk9JQqxSDalFIfd7oodUoHHiDPEPDsLM6H4/HFQaMtq8/osvBcIxRrhdHMtncBSZIz/E3AAqQSbwknB6vWLxIeDhX6GHIWUI/oYWUCWr1yqfcLQCkwnsNXkqI/adAvZUX9p+GIjlErW0CyKuG/Q01kUSuNcOGn7w7zB7zhvW2mh2lR3z5ZpzLYBUboD+hJdGq45GhtWRI3MUEuQwMfXTTyl2ela1axRQNNzbxyxUFqsMm785mZAs2+mm6sDV4SP05naHC3oS9RLYQkuhA5ABmmlmq/HCvNXl4N0ye9BK2MMI1K6AQ0z7MNJ4ar7Q6BasQnig5Gs+IzAON43AIEIX+0hNktgKNggMTmb9mM1gZB4rDojyGGd9xINFH0jCkOBMmQ5HuV6fPjMIgD91Cm5SQcwiyVyASFJ/OxAvF2lfofOf4sxTjjwdzLLqlnAjpx3BhOqSXOCTxvRSueHDXfzDVUmNnLz210MB2Eh0mGEyvOBosWBHtS11mGE4KYrulBpCjiiNXjeENEXdJGs4VznkZdVnRNcHQ8xRDWlTZ+cXBfmkXXEIUdrrKTcvKSVM1CcPM0ykC69LM7AA3+kP8fSE4P0utBpSoBWsNpKcyRadkSPjTCchpPrzrjohSGqNFg7ToiDdRJ3iEiPGSNuWeWwqTn9yL4t9Gccw+rFWAQk3oFK32jJ1uqGA+6XFua4nrMF4f51tRT5A8uQ5+HFeLtfdHgWfYhYBpjXpIRoaSF+183N7zNM6z4+eTGbAvj+274/5y/fpfZ3et9d/fH/Ivz2OqzA/9fH0brFqHK9cQvmuOeddY/4VirkCBUUp8k7F2BpK4+BSiCzu4QMfyaPewePdh/3LBg1Bn8/4tmLr86ey2r/nzVUGeVfvyhRzNWyvA9jeqMofVTDv7is78FjU8e/Pkzo++rI3ni6dZtxi6kKQ62fL6/xs7NTcns0cz9WZ4N+rTP8OQp+HPO8cQ5YF9HN6wGCtlP383AHo8bJiQceCv2sKXBlmIiBnZ5hPdyVmUhSm3txFoz/FCQpQB0Yew1geRR0YhgLfok4htDIu0gsbjEWw5cMQyGLHunkp/N9XLInMiHzF04lCVsUgY9S+o6CMIhZcT0hJWQp2zCzT5X553V7713X50/v652/3X7/d396ut5v6Ns86vHdd7vK54kWdxFPE7BbPSwUdD+kqLuv3+RupqJL1q4Jh4r83tZQwJSRfpp760D6RBrhB2lKyAJyYyNxue+S9gUbELx1xDPu6NnXgbrHKjSEZrv1p8mdvsNeAEjZLQ7+FTSOamqxaby1uR+dGSU7IL5ATLnU3enY8xoP8waPxwvRB4BfJbkWosqsOy7sDMgEzV47Rm9JKGlpHT/IjnJZeyhXWKEKGVfQIYu8jMowjdeQ2h3XS3NR5wjT6RFqxjpO0jcYSF4sTMGmnARZEnfEmW522jnGQv5fZE25pzyu7HXR2sATkl/pDDVeLXEcgDogxIEovUo00bz1FwAnJLoBqjyK2YnHAqKOQcuxRvBuO/DsDPeCyn9iWUqJ3gz8d/JR3SdeCHQ2NFOaI9ONvqybaUe8U/gvyVK/OE6RxSZ516RcZDSnnCi5JFQnLROg0Z9MXDi04BoKgTZtSssMQIH5RZbWL7fUrxgJ6FOWISsjPW2NaDB5JShnbr9gGurRfh+RlY8l3wEBxRl3M/+CF07yHnMHOUsCB0Gz0zNCIEM6kSuJAIgZavpECu1eLTYTGulwa3FrBDnVozgK2BlenWE/Wpizlx9FW+BduoNEFFu1QYklpZBN5dMp98Ht8cX9dFl4YkcCdHCtzhEHssUJ5kMOG0jadixv1F3V0yAM63LhQNmfPhuEVJ2uOQzCaWBdhjAnp42DsgKn4DVKbMmJsQd55Ncqf/nNqtyYfD+JRmmP6Gi/LdTs82AII2FTBBEFZt+vWA9OoIDfUiGb5HCslExUdE5GPUGHC1qXLYWMFZQ/b1Ar8E3IT2jKnTiJ/qPSsPPVZ0jPciAc/QzekGkY2B37F4s0NY9L5iNfuU0rqAX/MVIxknDBmtuU1jD46tkFdQzg589w2T+c9fmYBHoMvM3ugZ+5A6C3NJIIcY3ER1ci3eVrgdMPeAHuLM/Er0EbPv5Kmm5NyUv+iixZXw0vajQt7tSY3TDjLggIcOHuXRkZNldL+4WYWxb5Sg/sMvV77wrGxcQUEIKWRekD6ZERCZxnkoGKZuPShwUXAtERWJEyymeWXksYbyM9UrVzEE4EbcLQEjkIbuoxf89QXPbnjbqClwhgsWA5hy2PJpDLEYlQTZ4ErdALWG4IU5rV+u/6kHhtzHbnu+li9MRjkqXJsvXSVIRKc5NzqFOq3hygKsR/K64AI/NK6GuwVucFPYx+0CifMU+B/RwARzYSYtY1uo1s8KXZNCE4StO6UpRJlK4yOISzL/QZ0L5fL7Ta/3ef7cv2yTl/21+2363Z5PUsnnoNfSfkA15rHE8Wi0hLcCTGftKF4MGtA9LI5rXMBBksZix67Wk4S91zG5L0GclE5hNxhMs4A4fnDe9miThEGdUzw0KTG56Ba7jwc7wfKD25UMPTR2m+fx/xHs8sYeefx+f398I4BtfMdn//y56e/x59Q4qfvTn8Vqr0+7oU3lMEQCuZ64HrCYYBXcGUTiyu5mG8tRP1XueRgkBkNnt0JcL2b11saVIyn/KdPkQUXaDTatGWqEhE2pTeb1Q5Lu0s4xs0XlRFR1/ULiPtpGpYBucXvdRFTn4kGiV+cVw1ayCgwc0NGWrytX+Jy3RiDcNpfy3S9T9OX6fLtev02X359X7696xyj+9uy6Pze5bpMMoBv6+XyWm+LALIsNWauCgLP07rq7/Ry9oQwQihDkwW8LldXDGVWne4B9vB2pszCB+QO2cStbOtAjcPRAJ/Jmw8AY6kOCjhhXW5FPxnTKJD0K0p4HgK2tkfMx7T/bpCB8KXXQ6qBOmyDNBVpdVUEN62JbZ9wOpBxtrHn4jRjRaEb5vG9xscuOMqz2oI4BFrOONwiXfFnzRZzCL6dgR3cQ6mH47VLcJ/iOIf6OMElpsDSeBMRZvRyoI5ScUL/9h0DZdBFyDhzuLtk6jOfOFjG8efEOS24WwNhOJlY7EDOgM7wd2NFJhC1ymbCiHID9hN3c4ZpYsWsUqG/9hbhDUjb+iuylSGrgCMFpaQAYLVHD/d9qG1OGuQVqlKaX67ljvQOxKSBYGiidEW8n6EfzhJo+DUchhILOJCMI2RYGaz9bKJnLTCk6lckUTNrAB8yDXMMeZYBZWbRdpq4ieclZAmLqBdjdAguVzDk/Qf4jIJ2ZgJoCpmxtXc1XhE44ZfQjRPOmS0dDPJqwYH0CPIjVXN78YHeB3Ec4vngBk1OZAez8uyLrRuFTaJn0hEoRnC6hqgJlo85tSNQkc9EPeXSSBdQu6nIT2r2SP3StNLx6M/nM0mHdtCEsbaPKOmT7JENxdRqaqijI/pgtXqBJnI+1droh2ZOIIVAVvS49pcaO9IesFkvzq4W6BqaWNmmXmNmq0ILOjAYhpdIEi41lhM3dBopDVsEBbfmAJwuVvHxtduLNxJFoDgogvXLSAQB3dhK70qXoIh8o2nCoYq4Mpq5Qev+vTYIn/CZX+HFpdrKnlpH6LWx2glbMhyA66JN84WQD6FvvzhkTKg9jpUICzlFE8bUjfEtwfcNWiTQYMoBY5UDDq0hEEp3fo0ds7FJ6TyZzOpwM3iT5mXsAuTwK1p5511h1GQxBUWtBxwivEf4EvfkojGPx0lqwLeUDtjdixpGMCCDBf9lJNYkn3EycoIRxPnBUjz6te2BW3jbCH3DN+hYNgqWwHj9QyTTXN7Sxu6MZwBBA7lxbmEQzso4z4dVwVGqg4B09kTa8iTtxOIUGPYYaIMDKQwGO2cqSQdexDgaMdsBKl0u1iT05qMpFylnkSDZYsLC2qB50mReoorJIY0TZ6wHF+gb1SHfUeQccHmBpJ8AFj9gRhE0sY+AzlNeU7ohJx3AOy53qAE/QiXUhqANJO080GU+eo8OH7HKQttnttWIusDc5JIy6HY7lzc7FObldldg/+2+Pl+XX35sv23TY379y9+e3z82H1alGSkoLQwN2hrzPDVXTNfyCNpGyqJXQbCwYrNEJAo9E6ofFoDjU8+ir5qbDcnN90HNsefBhp8+ucSdUcorGpiSWaU/VnoP7O2tvX1MoMoYL0WKk9Q2xgVze+sxiYxVh2A5xKfHxucPlvPTJ/cfgMJEOh49jf3p9/O7uD4s0sF6+dOLDkx+HuIffobO7Gfy17HPY+/GTZ8+qZA/wz5E2Ptz8Hu+OD7hboD+2A0/fdidP706Cl2HMiO3FBtCRF+QcgbfjQ/6FGXiQTQUJFGs7pNgxTgSF/BbUT4TQ4iBG3UjzjA4Q2Conwp0HnLzE+pEGQ8MgpqDxqbrZb1c3i6Xb9Plz7f517f5ly/r+32539fltih+u67Tus7rcpmmZZkNfmWTJsLpVvFy80U5zf840tXc25kldBfwdCAsCAAgW4zQ9hkRSqaGuCBqL6Gfw0SkxpVRpIqYpXPIfGQz+uAgVtzr1RgG1IPNuaRIEzpMkpMDQ2gICWVr5Qh7+GRK8fnnc9sfPkS30otVWfGuvjGyfsCjMjinGRU16z4eG0Ww+hPbGe05mL27ZuR+szz3Sao2EBZG/wiisofup5+xNeANHG+UjIYa6lUp6XPhjO8QjNnrYWIlVGPjwi/wywjzZnxBg8zNPEOq1eHbsaCXipszeLjDq9GfOsC++avD23KQEVxp1ARBTHodbVzjsQKZYAlk54Xe00gGpaKdzPytlXIUsCgHvLoOCEz0U8air1plw4ELvLpoSDjxlJTV8OBIv3QnZLJ2Y8uAHoCUBIGKV4wovaD1sVJzdDQziaaBGMJIx/I4bpFeKoXF0dvp1Oct6BIjMtveMfG5Z76bW6Wi80grUBCY0JXKNyr+I+L5Xf9gJiRmbhMG8Y6241a7aZbuGeh3UXzNmW675tuOurwmkQ+20LMyDZ5SLL0FnC6UYydzXDAOd1NnDxnVZeMkr8YrAiWiMtoMIqMGd1tSJMLXiy9LUoptyLEhG1pmjC4UlsLJtAd5vz50g48+jR1IZ9owEQcfSAsZGwePyLJ1Fd9Y8LB8CgP6oEmU+dH8aTCRUJTh5gSYtOPiUkEfIYeZGa7m22LsZnODYxWZrMPOVEN/D9KYTtx1CBMgAi/tfaGZ9j3jE6lAlC03xMDI1PWuBNLJyM9vVoqdeIkJWdyqD7uzHzg3T7PaRzH3xE0zPilJ9pJyxdOw+IWAK07cUpI9GUzXIVNaK0Xn6uKIWsMnkUDADbkOXVHayFsyaw1Clel4zhfztemqnIKAIsKLGOoxlL+jhmBoOD0EKuwSUMJAdQcWmpcnnNCe2shnMlBBmJqaOpOPmrT6slk4bPmOaqptqanOgiPFs0/VEIj32XUTuQiUeqeuab3+VYczOrPXTReSXxdOV/7nBLpGaCtQjUb2FKReA3hwKlnlkjQl3axXuKehtDO4W7oIgJFjWPanygUn1Pk0BzgJYVj7BuIsM+vsznKEPM6spF6x1xWVgy3EDoPc/GcTelGkGpkHubIFInn5FwNVB4efls4+u5vgaktj/Sotft9fOlS9XIvj1xf1cp5oyVAoOEhh4e1GJoNNpdzD26tR8ewEVvnp/DO7Ml+Xy7oscMUIdK/cdURWZfxGjg1DWkuviOW80+9tXuZ9W2T0b495uS7rNH9c3m7Tty/r3/bnt9vyfX8+PuhPqMrAEh86rffXf4dzDt5a7RNJZ3w56AtSDKcYA/L9wYNYezYzhnWGy6ujuhU6ADH6zoBZGRI0E5TIJOC2eVFnkMcGL8rA57ccn8z9IJoGsAN7Tz97OwCFs9yINyb7ecTzZ3w9TMpP3xo0w+qNHXzGm/HUMdAZCP/wc360nz945vOlrPcEr+LDsaWfP4ZAdCSoalwPHp1ZnpE9N3x6Aehn2Hpfi0mYQ9EOjIRAckxrrAAPbh3ZxoagDSJnPIOqh21Ao4vM2/zc87CiRC4JXr+iJfhGkCemy9lkh31xk/iC9YtYuk4UG3MA/+1x8fNWSC0TYGbD9iQdST2cXstlv122X9f7P39d//mX269f1y/vy7IoaXkSn1onFUXcnSMiiexIS9QX9xEsW4a5QOKeE+LMD85e1PAolSg681Tz1T4L385MiznHGovQSfBJ5VS0AMjfF5vmaXj2N6jxkAT9pXpJwEiRiV2jGznAsCzD7zpd8Hp3Dj44lr3zsQlbqr4gvhzRiDowWuwiMrOqaItwikw1qAqy6b95the6LJGQBXiMvlAQttqpVFJpC/RgeEl+xrtqH/0AOKoJaM6X8FnGGuXMcT77CwhkwDadKYwWeopuryw1ug8qUUA0EIL0LAIGHO0+6iq9F2mM7LBNNtywgRl4d4ij2AYrw8g2CV2dt4VqBJSj5RzuEd3rM6KcPeuF45Q8FBUq2ZzV1ZkXjuhCNoaFBeFRvn606shr6k8pPuMbcVDQ2Z1MPVnEhM4i9aQDjk5AQRHyN8d5lu4ZY3cAtdQePUZicaV72LQClPRajAqLElSwMsZm66nRzwz8Mx9iYuwUfGlA41yZBTFYGbQy47adPsfICr+hZAB6Z+WYh9K9sSTSJycODQtEt4TeNrT40HvZBTn2oC5TjPpHSo1vTqlpFm+kYZNACw+X5ERcdZBsoHXIgXR0hllDSNKoVXtGaHqJzuUf+Nvkhmx/KTmDdBKv0sipqvaiFfWlkF14OdKWZFGkQy8UhcyJTnOy3ECf3IaIGTByS60jjmRy8omYWYFm0xRVVKNwhfpIavjHL+jbguWIGwwnBVnUvEdw5aAdGMvJWWwM5jBoG1SL29J0Xr6Jk2ZhrWFsIR7Y+CBQsBvmq7CO4RgWNJzViVANRjcGGDzpQGkexTMK7OAGilsaxfWahLYo9k+bJZsWFTPIGK+HVsukbWDZEiehAodmPHYEEuANzgDdcH4ulP+yvJfOcm4hTSVcnIEhDX6WoVuQbOqjYHngMwzVZAK73nO2PyfUzsBqSZI21LNYAxjZpRVueppi/YsiY86epflXmOZhcELwmj6nE0Qqp1t4XCVVIAAljpbY2GWvp9hgYptkltIDydM0WjpXnHTey3UeJwRmdaMXulNQrj7Hl+tAgFINswynaVHdyttpSQVKEccGR8sUxvzT08vjNsXfgpy6Dp1RPjId0goDrudLdB9hf4WMz4eqrx2N0etG6nc7w7PvXtRmhTJm5MErcBlWWLuPOvawj01w6PYyL1BWCqIZBO4Rd6yrzsx2CYrI10BSk81a2ZhmKq5sQQ/A92KstlZpKESXRTsPTY6kjHEgFscXIv8GiWgGJkCi35M3KyfFW3LHQMVVB0KFAyVbb7rM02vWMB8+xWSZVgWEtvf7/vXj8uv7+reP58f19SFaEwQptACv2PuyrXPws9QbGmKl/BrmFYY5bq24CjcaZmEf6NSrDnsbaD1xsmwx/jyb4dgb2q6fDlsIy4Dl9R9eABfMO4/b89D4UVsarpJF5lKH7t/wv8oUL8oOX+AzrLF/8OlU/viTGYWBFVoBESA95vHp9yzDv4x4Y+5JzO5/+PnDgT8/fLrc9ecTgj62+0CoCLzy9Y5UUIVBM0j2sH8hL+AO48GYIEMyjW+iB/rocpTM7FgQDSUyhywOVEm4zyyZ4WiKBuQYn9mPmSFBPQlr28fCyqjjyQ7rpuFFv86e0O/KXEQTcvCB6YmJoLw4/xkbyKt47Wr7uG3L5XW/vr7Ny5/u05+U/Ly836b1Nq/39bosy3q7TMtye5sXtYGWIjY7IcnsTOtFh2sDm8+6QzQaDBL/DOGKH/omAJ1aOz+Q3hBRYLLxcROzMCtZUWWQ++1Wc9jXoA+jF6XZv4oeGx6GWHx1mb0v0pGiiMP4QcVU6Oi9I9PIpxske8teyKFM5ZXZASdR6Q/pgTGsSGlU7atHiwbRV3Ter9ntfVPhU5YR5RFMp4HJYKeIeBr2xvkR3NeabKVq7YAUIjAQkcD8P62zOO7O8djDs8Hm5vSG2sQ91AqJXw/Ihd61ISA9h2E8+jVaDaGQlWTskCIYYlXc+n+2VqEXyWR3V4n9mShcWlfaKR/JFodJ9J8DEfQAugphYTzMNtoJ61m0mTDLITwvMri69WnQy94jIoKZnJbqHFtLQJSLQ/bh724yiNfJ/kZbQqmLucjeVGz7PEXbKZnFEIbBt5BDpaILxwebaaw1Uy5ryTRSEQe4UhVa5kl5cGr6wk0ZJ4ZPjCbseC9TDjQ3I4l1ljR2pSZSvK1mqLQljvjrk84cl4WSBLeX9Wfb5HhOThb7IXOzFqZlLa41h0myxT9S1005la6HSZVJxl9jPVCTq1hOjmoBaP7D/kaxBzQJFGdj6l+5XBawEzRV7DeYkOa99DeLBmiDYYyAkcwRoCZFVaSI3di0VLBxk8rM+8M9UWoTbGXL6EPTjYOPDBOLsDWeeGOnZmVuRY50sCErjIXPF30BGZa+IE43jHMchLolSRQO8wVv6zsqmCyfnDWk/W7h7Dj0p4gL8hqa+LdshJx1yjqWUMzyaXsG9gWPYFJ7Lclgf/FGH7QFQSMkUsmrrXL8ZxwnIMjD1xIozdxkrMyONrox2GtzAnvVC/k1KaQBDEUglY/aIUKZK2wT7nbYHkVmJWRCpugf4UTe78RTYRbD+DmBE2XFLjLMkwTTSuaDLs3JOkuPyNHaJNKgErXXXxN7Ag3rLmZiOBS9QkMBgkWDAcEqf2v5gqicCDiOU6fIYChDfWQsPIsrxLJ6xIn3yKfRUqPivHpy0TG/fVgFmJcxhz4f9C7rEyJEVaa/FPsVc8GrQaDmjzE/9vPQdXyncbWuvSAPT+j8WXbamdtNLfORA84/uBqRjALEpQcP2F1ckz0no8K1EqFEmH60Sfsfzs0qHE12Pwxse3psuu7fSJ6D2g821wVqWY6ZcNEOaVdzlWfAwKOI+6wFj2M1Apzw2wf35C0RFVEPOXPCVMAhDa/9+XzaZA96oOP4fnubUVASVRDapcyCTWFbJ2d2LvOyrs/ntizrul7v99eXy/bl+/MvX6bvP6bH46lulmoRm3OAPdhc154cxieLJP6PviOLBqtKA7EVTVRoGr11YBB3hAH6cpyMBwr1F0Y8bEDzdrCgi4VDRlc4QJ6XhvyiNXcl+WVIa/CkXxfLKibA/lJn5VlnkXmMd0Z7Ob3s069/cOHzjYPwg80/sQJ9mGl4xfH5aXVs2On7P/r8Qxv9DwceC8+4TXH4aeaBzenJwbaHORPMH7+PLTvvU3ezzPTTWwZm5dtu0TFbmnTkapSeIGmGMX7EjVIs4zdav1CAz04kHtixc2/0ADbEfkoPGFTxN35zMbgnbUBMxXdEUdTPq4wl/UmZVXKogE2LilWrL3/btr722+Xydbn+6Tb96cvy7X16f5vW+7TcJoV/V7XAUvnv+qZfllkIqy78OUZIL1WujOJSdMkMvltt8Bx8AjzdOkruh8MCWNIZ0ZtQaZfVFvyED6YYQK0X6853oKTx+S8GQtiBFgM5Il57hLudCbA/7+OhlY1dsu069p2FR/xjvNk7GrUVa22swnVDert0H50R5QFhztTZJloZWj3ENzk9gxhA1DTH6QEohWozIW1w+kxNjCCMqzEZkIV9Agy9lOu4uWNRuAIvWZZ91v8ARySVtP+BxVG2E1nJ9PTTLWMIhGQ2/ppEXVbiHXGholeS/FA7d1WR60XGXygTzgQT6ZzlRAcDC4Mg1sRqyHldY+GAKxZUMIh+3lZXORDHTvziZyfO3XRXouLy4Cuocf6XTiVFYuUma40pLYY9gzMx5wLal3L7iupxfxuG0dXR05DniRq3N/J5NzkrB/X4UIYNSLWewiDFRxRUaTsh520ahn7FiBOEBJC2pyYsFPcdnPMIJBCdgZ1x3PReT8QobQj1QzVNixwMHzhW0gT9PG0pwMaQKF2geZY0StloEQp2lNNXWNvetMIbXhotALPuxF2IjnAPyg3cRSgaRwvWcrKYq28jlVw/a4tV/bH3xUhNArrergNIGULKZXwP1PnDWymLp5wsogD88glUBX09HADd256u0WYwblajjxldNoAyV9M8ZwJrJJocam42ychGfErfFdAXnz2DFy9voSmrl6C1kPqrM1ZtABiK8lbZolb4GvAmfT+IQvAdhv/cpDiCTXGUViBGM2b/sgwn6giersuPMRzcKXanghZ2UesXINCT2egIaulIq7wN3ySpH+AI8avSrCBAr1rfZgeezQN16bcZTAI91kVizd46uu4Yh9AvIxcP1uybXcoyuDTxyfhYwhoOtcNeAnbC7WiRsjCV4PZAaKbhv+NvLiOiB19Ajk+TeZqR2yq2v9B1CGVYNrZ1D1nfuux+wj4d1/Y4+SfNGtMIcI3kpXh8iFQiB1c+hR+ku9eSSUltkmArhcy26TtvEA9ipQLWEFO1tayKeXHuCm7hxC1dsQDHIaZBolHSuN3i0s4LDDTtS/kCkd5Wv7BHlp3AGjzysYPMNEy4/nXkqJbiNGzDsrlGaVqgWnFYUukpLNxpMuHJsC2WTswz3FDdCBXaNsROmw4xbw+7txIeQYEMWK1kUS1ryrLOZQYBMqN84/tHKm+uwUOE1C/hckRmkgwHazocRJyZ6G3Cc3IEEDr1pDoFIhVTqX6Jd5aT98q4Uaf8t/t1pSgFkoXzNUU6iDg2SIUkbg4OdMFG1V/47RpnWeZleX7sbhJ9vd+mr2/Lr4/H3+/z33+7Pp2Q87DfMMN6LgV1RSwCPuZtUonADt93kLTJzgDjGPbQb0g/PHAQM1La76xXCmoCs8pvSvrsTunjmM1AVn4JutZhiaDqfMHgoEl/Pywl7jUcOyZggDhr35al8Ev1xL6jpDG+PmvUveXT38eDn+84X/n0+eMBPn3qzTnd1y3oDf/DMfI5wc/PBM6fpnwa+dNFrpxxNpvSz9AIOgjb4LvOahnwrEwsR+4gA96mPpsh+MT9hakzGSi+6IRYFOg8X6VJBNV0BDcFIpQmx5D3fwhi2LjvM1bjzyFfNArdASemQdSxGHdYNllQ7AkEdfXlanvD7MTVq4Cwwr/bl2X6py9v/+1P73/5dv/l601tn9W3eZmWWU2bl3Va1PWK7s0ud9BRdg0QXvanK/2ca1ndkAmFUmwB6L3RxwqwcUu4l1UX5KIDX8YOyl8RBf0MXlpHQxaKAzoAMTuLVlpZU5aAjcQXbrKc5JWmAWIkubUBAhcBUI8qSgZmBImjuu4SPPsvoyT0Hhr42a5BalhOapIEHHxMgfUluyeAGhqIbWnKptD2uuOWX5qyLEPNk3njtFcdmxMNnzbnFvWmPjHG4j3+6SJwEsT4ii4WTNbxS6ASLM3BB7EpIkzBMHTYslmwr6F+LFtv8VggIyBkGQotIaGlLJYk/2GhQUAcDhHDvan3NoTMWVMjWL6BkCAXkvoo1OCKbL8pGOulptFOU+ubOQzWYHonXSsTB5fsm3DOvwOVXjdxgChXA/OTE4oTJt22LOcgMRlLNhjKTOqUIHp5SuIf22rQVVAE/Wq1lu+BP8Qq2SYIcpSp0xGG4zCsJeqJaKC+SKdMAsX0/WBg3ps30FDNoFGNGB9HLiupPaAWqjLlKH3ueY4l3/4CsVZ0HrFRJAUdFI0TVxuxsVYZBOBBTE0uXWC8w5RVh/xiWAXnHWzHANfMQYQOFdaJpZewW7YlSVvmgrHmkxgvndA1lKg8xgF1geYe4A56JVfW0DR2+y4mZf2yUV83CnqpAxbzgO1bVVN1Ja1lpKKH88ckO7mbX8+HtmQU8hlF9FWN4dB6ufbmbIjw1gAVxmVqHLpsZSAUO84+1RLSLMpALIow70imYLj/HHWbfBiTrGfQNJvWf/0hFSK9bZOOjwYHQ6pJCaVVbKAnhxKQr9D6kXDi7tDkwAx5bOPBhE3ntAoV9785CqdlLzn/gbmApnIlpDGymXvaOwMKfoBhNmNIVUhmD4xM4uos2KK3g1FWPs1TQP2AcYhJOEPU8hpt8FcTOgMazm3dlNXElRsMQZINeymCOVaRMCP2JOwPegvbS9IKPqE4YnC5eC51RYcpI0JSdO/dYRVUruLEQTSeSN39QhkhSjbCjAAhIQE640WTsHH7TMYvXivHVLfnszTPWTvqwm8xr0chXC8qHt9YPgMOB352Y49Lxmf3vQthuROIeoN3Xu6NBi4k7gp6koEzSA6AtaRnWKfjtV7OshRWpraY9voVeeI+IsLM7bonDEvBUFsr22sX+RLtNu0ehkD3+ypN7QKTK3cQV3iZOREdPhLiDMabgEiBqVwJUqMOZhh4brQYtkCxVkCj6cklt0yLdTBncQ/EDulqI4PGPvURaqDPgoeR+IOKpnnRyUnTrEOn5/12X7fn9nbfvn6fflkvv90UBH6qGCBdUL1zR49BHWtRFx4KyJDX3BAJwrdZEsgj4ZrD2U1aaq3tJPTcBiA8QPhnNhwQpSl6gB4OeHxCYeh3fCC7sY99/lAYy66DOB7BX1RZP42e+04i1JcO+ZyLvfPnT270V10z+JD7T3R0rPLz5wyW330VUXvGzD8Yx+A9rg6oHBP5wzf//gPQPn2YXuD9aaKffjcl/uxT46soXmMT8nDvwzLpJ9+GqLqgDopvIiPhvx/SMB88s0EaD4hQDfEPYLrkIUtzdoh4uhFkE+knXObbkFPBThO1B0ZUFWOzCoi7Cw48SsXJWsz92TNJLIr3QFVYhQOETmF+veZ9v0+vb8v85/fbr1/W97fl/r68va/r2/269lg0HeTL+b169355LSnJgZ0wVQvN2WanWyE0x+2Ehv0XNSNCSacHwZxks3CwBToB0hvghOWacaDcFm2QrdH9IVX6P4V0UKMt6Mlx7X7LOYkNqdRlFIOErdIBo6hiS4tlpo7GQxRVCMlyblD+zDyLN0GzA5XCk+EGYW8WouAuhG9fPJ4FwNFmK5k+xqnyoruWQVGbmuNct+2JmSfBh8hjYeTUAtOkbZNlwGGWnlPUfck3kHsYOfHc2IqkghI05UkyeOEK9giEhNL+eJZwIteSwDL7ovNHl9lVQiglaI9soR9nL/RSl4kWtFEUQG+mYV0xO3fwzFp39adQuyvxpDzEo8mGUZwhPS9EY8xyfx83utGY3PjE1joRbBp0flr7RhEN8sNTIQk2GpPHuUkRLpug5PqmmHYWJiEb/DNoCzieYolkj9iPbgokkJhNaMfo3Rs8BVT0DJEkzdfTzhsfr9U9yClQ10n9XGoVj0NAWQiA51TRdPLrBk7TYkDbwQg+NfM8i6VZjJkH7iHqjuN8HDmVVlNFEdKm29mGkSBReYVckVfmCdKCPOq1RNspHJ0GBISXRYXFRiUAk3QpzpCgk9m/OBLl7XHJQGvgJIjoKoN991FGr+vicom8FOvLgEjdOx4IbDM0nEyCRMisKnXwnjRn4RDJZFc28FPeBcM1TaNsAZhEHVjhnRYKBg90ErJS6mLqdcVS10WttzzzhHDjQHJ+IxhQjq8Phn0CeJddqpzhVRyWzmfVENYftXo8i7mlczZzamUdUkq3UMwleRSYkeqbNVpnI10wSiJidW3GmRoqQl1gyVjBT/XyCRx6CxyBaaVXUEpDmwTL4TtA0quxkPBLYSqRfEhIUHP4f2o+Cj6JkMLEwB7e4vz2xWlD2PAmM3cOeF0Xd6HArcyqjWI4E4Et8wTH0SjYGuLTXhcYEB09aGBartizM4YXFDuEYhI/HPiGwCzeQ6VVW5/PZ/Y18tVeXsQ24JdHDWSOlaMUAOXdV3qo8ZKqrLMpZqyT2qdrsjkHCwLxKTvetgmjG3jaJAnYabZpKgNo+uE9NR3Zp2YIgb0vBZZ7WLHPvXptz6dE7+IcmrQN0Hfb07yK9kvx87Ll7EQUlYo3Izn85qLwsj0lZjZpS2h4imOJcSfBntIL+Flis3EB+OgEv82zCQEmizHIlZB2a5kQAmF5pOuPHBOcytFBvQluKoI55+r0dJUoahG3JlyA29X8FOq28pVjG/OIEcnRbRIhOOKhsKo451jNeZJW52+cL2P09JoiZmCmpVwnRIkthCmlRY1j2o0h12zU1U3dFq67u3nB9MhaJAisiyoFvMyPy7xe1uv0tu7f3u8f3x/Pj/3Hx+PHx/5wRv7I2uZtvFRsXfvasq6qy35J8LOJMm4R7yGQhaoVNG3O18mnQ3IQhe4PZ7NCnDh8fUOJKaFIsuNBmFCDLpOqEZoOZxhqNZBkZyG6fpERWEdJMtvJ8s53ZYmnZ+GHvGr8jnLQ2fVGXEkuYTpd+nwXSHC84Kdv/6vPAf3Tz58eDteITRYmV/lRm+9/8Cm5jr3o1aw4cz9mPnzNJ3DF93d6IZpOvIzjYcOnMLUCErZdigKsgPFgJP2ZRXWMcscIU8YwzZOQwO02ySIWhcCzzWdSJ2dpHbJONNwup9hzf+nQeyUQJenI7SrMv02W4QcsIKyAlR4+MNdQeIZonA7YoeeipVBhhoEx9hCv+8VpYtd9n7d92bcv8/Tn++3Xt/XLbbrdptt9Xd5u10Wt4S/LfJnF/K/LJNbB4mUl4VZzrpOXRkSWHJDoxSiQcPtA3mluEaRwHngjUmkkVEWhR0r6tl2T8cmiuKNrQBqoOL1zZ61AIgGo9j4BXUNb5QWkg7EXz6KhQIl+C22W7AdnFwzMJObwlDVfwh+7Tj1wUVKMqI4Gr1UKoApwcrwNaprz4Darl4zJoXrFx+zs1bnTlnRWIiFDTzdauYkAlblWdNbB7lBxI0yTn1S5sj4vEKYZDYcMyZwDEuoZWKPwm37FaSvmPOvw3XYBBnlxPU+XCXXOaJEYW3ccGUBmXDaiNB+IukRIv5MOFhiyj/FrO8SFPtYqzdpOps2kOpKm2JK6rMqKGfaEcSzd4+AtVCpHKeMcplhUidX7t1j4MdTzrE2lVC3BH0hlatwCHDOeQ+RkhkCcaWkmRQoFEvgPdlYENWbYlgkfQNXEkoRlBHjmltqkKpBekZtOEf8kwBawDmXD5KW+0yJJR1ztDZKaxzAVvug9esSZBswndVrDx2R9LGgZQ4JCU85X7bow9TMXjB1SXGGBpVa6QeFSMJvTYOr02XYfw5ow/cyuyVdd8aKqjSp+3gHSnuEj+YWnjD0QF3RFfJup8V6V2Jp2zxE1/CYJeTmbTzBEqS4dqZ+xCUbdRaVa2ZETOWRtxlxgcHBvOOIl28/FZ7NGI/REgFg4VL17H6jShvllqNKSSyht/dZUtHsP9ZnszvAX4pmLtLqXaweL8fiGbRjq3HMUaNeix6psCSImXnUsy/XqSsNNc0gIMH44np1FjLE39mNQHdSUTB4etVQg479UNJIcwEDnZ3r6Q8Bkte4AXkrJUikFbzYsR4CZvJ2xSleyIFueyDTgbEGakWiRfR46sMlvGDOnFxfvy1ItomyCtqm1STMhLPh7nNweuUxqLA1+wtcxujljqskkZLnwXSLO8Bu/rCgRnzQtmcT8u6eyz3zW60uyb2tvdUOJ9cBUh9ey0sv8mWCyZgETlA2JcDQAw1figTPzcjMA/CODOD0Wt9R54f0d1p/Ir94Nj2D722Fb1uqwvAjQU8rb7d7wtPBtWNRPEn09qRxOXxaIYug7SefTvNEY0j60+2DRuaVlF7qFzDC9ia53mpwaQkiIQFMYtwA15zxDCjF78sOZytrNLfYfGEvHwpjROOvGU85Ao7t96sFo2W8ewg7GbgwZGunK+LQYVwEh7j1nKhoUQRlFNcwvYq3UUOk49Ab4Bg4Ob8BLuqYxIbnmTlbnCOJxglpFeNDLbA/91/xCtMNh8WYKPSjA6QCgiiVe2QravVFWZRvTpKOnsBid/DhfX/d1ed3Xx/vt8WP/+8fzt/358axzMkND56gLTkihEZqnFJxjtnEMIU5yQBQ+/DIET7IxCdOPBzrGIVFlTJwHrfYdLjUPE8s/duTQDfg1bLP6FpyzMK1WikyK/O+3vCB/+eVjEky3Y5Q/gbVIhPBNnu1DyWvLH01qDdv0pna0ITzOk2GI3136B5/zZH//5zGSmTGbwfXuTabtHf/pnWMWn66fIfL7mX5+e8Yv3E8T7GsDqKieYd6xj2oD5iZQi+30dIuvFUynmR5zgqs5ygCG0IOqLQpEH2E/NvDoLDVfX9P2WKfXbb7edISQ6lOej9dvj/37Y3/aoY2KLA8mjoWYmOQapbLGiyKbDtsWmehbKeajyteP5XmwPIuwWW63sNdLUGKTAbxvb9fLn95uf/py+/a2vt1nHXXk3lfiXOs63XX873Sbr4vShGWuTVcdjBQNDJLA0ylVGAHhnDCbH7Q3ikmh+0fEG1YNa4zUCBt3p1nLWtynSYcx5UqdSO8ZfV3rJV5UEGMgYeUgx7qAA2akRKYjgb2M+u1ihuTIvSH9/Z2nx8G/lALFVaJFcnhh0NZqSYwTho+qZWClWaanSZuQnID4sgLck6O8oATRk2DYxFfUSFk3Q7WMXpaXhOs7wkSCLTaI/Yx6i0aTB8bjVF6zMX5f1mslUKc6f2ZtBpTzuhN0MYGl/sUboF4bgDgDXeZlPQ7Ltd41EtrrgI67vmSEELB8zMmx7rrkOnrTdmK54JBd53oaBQ+V2cuGsiVGqSK2TsKbo55JN7ZdNlSYbncy5JpkkSwAXqozFIUGRlGDHJu2+42tiAaNaVq3TnU1pmD57Lc0ZYmgXNzxVT98JQWSlU0lg0wgtgCbZwwBfsXlvNSKimOBk02b7CxwHOzdzg3OecYGrIlhHE4bGmt43oUEF70mwmNJFKAba6Iv5FQ3ywzVMq+GjtGfIhA5qoLoi7oAOVWEXqvbpvDz7OMt6+HAsGEExa5xI7qkXKyPnWH+ZMDBcsZhzhnEgUm8Z+xGLMfyurgV0eiaLJx+OvXPWodpxAkIuFa5yH9d0GYcS1RAIzmQpQBnzVlvy8Fyvm4zQyFP/bQfC99bHorqrw12Qkt1UyPHcCWgRrt6JXaxrV+hS2NC6VDFbOkeG4yv7VSGaJnSHSyGYbi9kkwY8wLtCqdU+SDW3XhStZV+mYwQ1w+EkeX7c0egwYqy9UkBUM0PGMl1L9Z+LFllxFMyVNGu/iTff95pQ8dMoLHK9MjTY8qeUgsiZzJjo6PJQZyYQ69dCem+kn7Xvi3Zrnlfq09zrDEUaBveE6QUHLXASZm8KMojufVCBljMcOYGKHEiAgokCXIpe+YGgkkQ4gm9FvinU3ewG1yAk4D7tnmcxYBjWFucwKkfwJ4GnSGadoeCVgN2+G4QKbzaNAnkkwQSHdk1sloBB2W5w4FupJs8AsXu+QNNItYAS9tW1aKLmynMNLGC0/3lX/IW+0ywFonHxndmX1+Tw9Nk5mqP4iRFfQsaM/L2VCg77jr3kZLxB8008lwC0xTcGT9sqMUbFo96oVtY7S/pZ94gSkBaysXbE4bGndI+ZH1J22XTDYvdYUfkLOf4uQg2jwW4csKINx205zQhR3riXqGTv3vUF/4GCuzew6IqUSfTKntuwZeoXxMdcl86a6CgbkYij8VuDrYWj5v1BscSQENiNQDhtV/mmSIULTdhWVoSkPMC8FOUtjkbyuVVzueep/027TphY5l/+XJ/Pl7fX6/f9h+//e35gfNmnpGP+MagBZy0zBCV3OvloClXacBQsyswkMHjjLdOIkI5iD1Qe6jcEBwOiwNQ5ih+nyVb3HzkWSYAa5YOcmA0NRhcm4lJDO2t9mYYe6cQIB5/9DY0MRjJuBwMh/LOXP30zuOtDNMdCxPKA8DHvTGPV445/J/4dDXH5/xnp/rzd9mzmNyrAAEAAElEQVSv0y8/3ZiV66uMcX7RuPW8er7pxrEuU8Xp6+MhA+KnV+aZjhiW2ml6FunHaiBmW44EojwWdPIsRlFMVmrrN6EotMKOonCBAr/KK1Zt7f26vS/Xb3edqftlXd7WxRbU9bePy7///fFvv/3427Y/VFIy7Q4D2oeebqI2pNHXhu6VxZJAgisRFRd76oQ5Fco87k4GXoKtGejNLVjWy+vbbf3T+/3P397e35bbTXb9tLj+cFYP+MvsIPCiI5B0fbrqFGCzUEcyI/cNKM7qkK0iI1GJtaTduoQqtqBnC/Czw0HVOFhLuXSlwVCAD/EEIszn3+EiizoxfCOQdKBQReR1ceahr8A/RrEuSkifSZzfhZ22/Zx8UmfEgDByk0a4CASLIrRhs7Bwl4AGRsHRhmQvauVq2upmDfAeBDNFZyNLc55lohxeUT1K8Moszfwh1YxweiR0Ux2x9u2m9cG+TlJInCTKpQ/Gc82KmTcMNl2OWYtcoFcfuxp1JHzPwT248VE97AY38Tz63CvFmVEwoD7yB2/ratli6Y/OM2KMoEFzlzwFXSNhleirPa3BEPQ+ATTnDGMFjNwE8DNpYildVuzG+QtVvWjNg4KBAkBHHqtn1UkMMPRYtVpVtj9Fqgd3QZnsPK1tSJ6O8bk3ksAz0R+oEIh/z1wb4YT3ZPI3XhXMDjngIoBYSOBD/FXpDTuLee9idSomlK2AKypmSSx8G11hIXB12DY73ojhPM9E6cN5mJBJhIAn0jZx4LbWYUhHcaX5NErnHXETopER0AzTOqGUD2n91qge1IfQE9Gpegc4jRCxZKF67wVshBZr+jdek6sSSf0m5kigWmTAWbmh7/pnEAXeFHZAVgC2nJ8k5I1iD+rRLX+Y1sJk1QBnNCcZeuhU/zthnneFvuOd9f3WlAZFxWDFsvNo3j4reoMRQj6VfomvZpftE/VN4KipJdONYUM8J3hiMrai7FeAW+Y1xk08LgTo2LrYPRGXwbf2kwsG5F2tn8TfmcYP6EpUNKfVkFJo4uTy0nquiYPXsW2RykNnsw3laLK9pqMoFB3VbN8n09LDsAqklg2lJY866VMBxgix5hO70ms5CDWo2SPv2tDb+0NqKG+MKpFi4JPyqrhXk5/znkC23lOv0L2doDdwHYYY5exojBHd0RwFgmHBQfQ6pUvbdud7jKRAa8xUASFmNFEy4SF4bHKIi5WO3gYHEoIfYXbD16KoQjLyw0yhWOeyFgLyORAMj6cttB5nZQaPtPYwwSuWPVAubsseeB7V304NvKHrsrRtBx1MmDmMD4Oh/NW/MjJlw5fL9Hw+AcWyLn5LEyXqRoXOmG9+i6pbnDMajG/4Z9/25/Y8tFjvhxLISciX70AlylFDygLisa7CGNKAi/UojqF2QBqUQBO+BJJyMWVzmBVzLWzpxhkTFyboJH2qpEw3YfH+T85+uzcTI1VPg0TSg0XpAgBdJSK9bY/LZVEtbsI/6UDIZLLG9MeygkhRdDFj0BBKA5yI6Q8xDwfRCOar1reU1zev8+t1XTcfYapEnOfrNn25rI9t/3F5/fZ8fd9e3//2lOaf3L/sZbKagEGUWrM+v9ZZ1sHGzhA+JjwhRoA+EhnnRCDYULpltKtzsjr0Ehcn5EQZzWN2TM7nLkB3nl7FANTIfg60zu+F2Lh0KO25CPVkmFxG7z9GrHpeiz00469ZyzCjMm76EuZe5MDQTmCXmRPU15+x5fvFGOK/+Byr/B9//uDe01q6mNzLphwPnpSr42rgwsYPMBbKn55giafxuytBpnqRjqc8g9M0YvMGeXwJ0KKl8QSGDhOqHdmHHGgq6mZE3QMfnfbL8ros22vd99vl9Zf32//05/c/f1l/+TK9zdNtkfdo22QA/+eP/X//97//f//jb//624/fnurZ7NBW+bQRADYUNxIIkGWJOfB2lNKIkCMNynEvU0sP5YBp2ytn78902ed9f5uvv77dfv1y+/K2vL3N66r8Z8V+p2la5lntr+brgiXsA9wWdC671ME5j253ncn+GT4YABZW0aJbwB984CA6JA+7hPsuy/S8oejyXPLRYLtXaexZLjqxlOYn58tVpvS944p1Hs9qkNNYhkcau4qAbhIsX/s80ox/oTtGMBI4WJpQ3ghigpvFLLaRjfUtsakou9EfaZdQ/c3RHj0kb2wmYRrXx3o9Q5KR55m4IgaNKNpOOVS8pZxl4IKakFnS60phsdOwJ/wia2fgfqCHDizc0CddTD1IghFePhXd+l09d3IIhT7b1adOuIwr72IgI8B+Ud4loLOroUx7yHUbJLwsXSqzybojYQJfY5m2EuJtzAAwCcbyRjhERzFarB2M/QRpq41wHLRSbNNDGW2DJRRjj1gCmhGoFfKWaW0fUW9JU29wI9CPj1fD4pJOpKShhfA2O5I5YAym5j5StkVHwhqMucWYUWULOTAmoDOg2Ek3qzuuMiHPSaVYPoI0RhAJKbG4YDW+NS21gHJ8Cu0MMmxBzyotteC1em02mYRnHBPkGkRpN6tUcStgKnUGKFhhiqgpiKXV2JSJEcrLKxmGFhCu6z/QIrCBxGI80SEQGoWsXm3sbC/28CbfGrEyzwvdVUKsvsV81DulAnK169F0fdimUkl5SbmK3rS9lC9NrKYn4hytp/DbvV6vZ9IaITMzEJftZd/ZqEi3+IaT0erUFL8LC9EpLeAKBhgcxJyqGQvgunEcqxVE6jIbUMaT4TYFzIRxXNuGIl48c7zZJMwSmpaSklZcIdp45yYCIISG2//qL51k256xHdxF1anbjUDvLhkF06ImdAc/srb9hPYMXtt+BGyhMfhO2vVa2Q83j2elbBkSDyPuG4aAMYRUbwC1jPzywwpmbhwew/2JcrFrNukro5LdfaCqMTS91wwpNZdXKkWiT7ZF0GuwJHkc9IP3gkzBq8pi73WUc7NV30tfCWHESDaGU3tejZXC040Utm8zsokywfZ0eI5fAJFi0xsqtXVEfNiOUrxnpAiM0dIPvBkBmIXAQ6AGSdhDt4IINccKjd8HiRFc4Q63Q0pCFUFXqx3SDKrQcJo551TE/jeK4neHGNxGwdRBUcgwAsptR0oV007rdd+LO+bM9+JbMS04695ipfvfetCiXuVofJYNRyNQXWmVSD7Wads4BS9J5I71SM1MMwv0jI1ebD46aKmyi65j/q+JV/pjBKJxDAiqpPwFG8gHtiskaWmtkCZPT+qmHWC4YOB+4qL2NwnXPSFLawgxxcmtHN43p1+CEiZ1EE8QQDPTULPiwKuz/uCVV52xtIjoty9f1o/99f1xeeyX3z62/fH8Llagw7vV8MeZLKjAWVJqoyBJQT9Wazgd/3Ggddgggi/uCismyyw/rvPwc0Z6eUp+jQp+iDUU5/gYEACnz1AFQcOgHYrj2eTqfeZNEaQVJ8XH5Fl0j8GZ/HMaK9C2xIlKjCcIPEodRgeF0xxM9PiwWh6PE+X4pi/7v/ZhxPLEn38fKzzWHB2uvMi7OEY7INJPAX+6GoAdf/SOTw/lApCtAm60autMT2LMOUA8RFEMZhRkOheeVxcJH8rL+Hg2W6FBZ8rE32X97q/b/nrbt//pl/f/23/79t/+fPvl7fr17SLrV2Wg0+U1f+zT3x/7n36Zv/zL9f/9v23/+98fP9T0wbsoQkbby9qkxNPfEkqmxhifogK1ce56bmQVOeEzXloxI0FGXVjlA4r40gj7fX79+cvbP/3pyy/f7l+/qPPz2/t6uy/q+L4uSobWb8o/1E+Zxfq7xgbqYWmpTBvw+j+4HJpZYBq7hIh6F4hOjwfX5l7QQbQe9SH7a7LLlgj4BJIEIulqqAsZGuwoucLsKecy9UbaNZxgCoou4ldHuc0m8FawQfFS+aDdOAr2YutxhGEZgWRpU61FuHUb4pBI0coLDoaP9Zv8Lbu23cJDebbBdewHLx5NqNNjlKhDyegxRtgjHKOzSq8LBh3ylcIWr09IYLSDjhyNvLSKpIwzoSeZ5ugwBndKrwf9Y486/414kkESUwFh6qwfgkDxyEccW0uxeoZ14Z1xryDJ90WNRdAQ0yeiT5kCCf9S4x1+Unskx1Mp8lagxbqJUVrtV5iZdmjaNhRjpTxhErebQIb3YyMuHZ0w2o7/PFDHKYVoIw1i82HnMfohgazJKJA2mUPrbcp3oqY+rpItplt4GBeb5oQpm1joe7a4UgKtjY7mqXPFMiM0DeA39jc17bZFyVq7XlWObtbpgCUoT9zS8OGVHA/Vc3YwYqxRoOtUPbbUcha3jV3Fgdo0dDAK30mTczsyeq3cmcmHpFmAjMrovJCgG2L5XnQ5QzuEH9y9SIFvGkfINUZzRFmZltEBy9z8Z6Q88D50ldosOe4a6iPY7i7QZWfJle/ups6wGBKtG7geWka1xvi8sRoCVd+CSnedNsWL4rtCL/RNsSfNmFKJ7CZRhYiXjcmceC84MfDrE1+OrARx2JBYv4AtuhLDDjGNiMqRSynMQHT4Rmvy3r6ItzPw9Um0vXXn6SPO6XA2xo45s3+xB1ieLtjBYYKP/p/oXJKorReEMHgWLE5Ek0QbkzRcJqkXmSkIE1oCkmEd0eVCrkeiA5kwHCh1uIJF2N3SMUieplmtZ0/BsiFl3yepU4MwqLcJZ6d8CAUccc5xbahBQSL+pbSjk/VmIuNdwICcJmlnyWnPWRqqCIyeP8267R6LL+5A8vw+RJm/LbNmmg0N43x3M5W2xskKQac6BGx8Od1p7EALWbO3ru+AufGk7lHvfaJtxnNEvmZkvydTSKEFoLON68AvppQWmgQSNtb8V2+yE05qAT4I2oTIULpeOQg8XClOVas2xp/hKPFHNag6xqmUBu0fkqO+OmNRIgZjD0yE4RBm9/XqYHgAqOonHmRWYQLedpmRJEHg9kGpgMxySIOq3nI6EViabh244eCM7tmAA7AIKaIy2wmiZ35eB9yQL2X4GZUYzi1J6jLrdjiXGyZmAU9eW31e4vK44nEX1/8FgHGdundPnBEAdrndps2n1m+XZd33fVnviz14OhT02zY/93V/vR7P/fq3H//y28d2mZ9qibXQ6HCeFp13b8dNuSiKWsSXPcEIhBip0S6RdK6y00FagkDVI1gq4uUwcmBlpULQEaLD4VuGHT0sOO63MEIQIHZvZGN3ZZAkTLmSreQTnjTuqwIOaVLCdRJtfGCaJXX9VrMdfBjfjNBuRjgeyfzDwIP7py+Pyf1f+AyAHO89fSrhBqtD3pQ8+tznv3z/Cb7/YIoGxvHnwRdP49o3w85xPfV+2aeMA82OaNIJOHAaQzlymbeWdep/nJQ4GKced6tU5MpyUeHjvO/r9vynL/f/+3/75X/+y9uff5m+3F9qqLw4TqOiwet2mb7u07df52+/Lr/+uv4//j//8i//8eO37+IK5gVYtZaqtNB7qUOd6dxWjcq1zOdV2JgKTOOzjGcCDWmUYN5OgQ/c2I66fX5tt+v2ZXn96evy69fbt683n/o7LzeV/frkbyWvwhY4A1K6Ez0fLjrEIa2owm5Rn3LSD9LTwITvp+OAq3VwzKFC0PaSfDS2hk1Be8zWHnIyY7IUkB0NoRFR39FyvoZQkAiEHFwQyKwFv2ed2/6k6CnyN/ueJTarK1a/1XANjerSjok2/3Q9wdhPGjYKqflQ/6ioz4tIk4V7mPHmUA+Ia7j/k/Ml4MBUEu40+06vamdFJV+UmduO0nxSiphKzUNcOtIYudCkNPNOXAYyL/ESl5mh0FGW6ZcqyIJySbqsrU50bbtBXb7JRjdo5y3RxJ01iYhHBwK59Ko5MWSbYe6y4Y6YGSsKNdiCKj9UhZzfYRHpfVMWlav3QKrsZuRD0Lil9/KxEhXIZBEMZhJRLIOUOeFxplDZqIjCWIMlO4yxHc7MHUhYEJxcpSPW4Mwm71dc+liDzJX6tSoMhDoghdr/jcoyF3/CGbunhKwGiWVDwXlNNMEMf2yN6yA0MnatzKU9QQyEMzOFMgyQLO7IVmTwICRwT+cDnkw1YgwUDHJ0Qr7yU6Htgs5LDqMGpg0iD3ebF1cu4XdSBBCdwzhu88mexiCS8zGTmgLzza0HLwro+Jm2gx3OeEIjLoPQQIXSXwvxpUGBtH0WcRb5A99XjjAGBMFzWyk5yqXRVb4xE/DifUZUkCnBLHyK8ZSctGpkmZ5u9/yQR+Ge6mpwl5AXvaDLd8yQeG8AA88L/yR9BE9jQvkDhlGBjSNESzAc5D4EWcsWLHXTJM1HD6kmp/gaie6baC3IpEYpBwACv7cm/dcQhiFernQpyz7DJFOINBhW4lFolJgOvppUE9ve5F5iFBGcTBpBJnGgPtAE54LU+c1Acwf+co1sI9nUzNlD2dyjCh/FxEenLfSudIBRPdnovhvMqcbgmLzi8EXG/EK4u8IgueVll/ZZGG/VlJazgogKWgy49CStuc0JWleDv7xMAsh/bhuY5lNgeNNZCescF+Fo9kou5hwSmn7vYQ7XbWFiCcTz5qQV5TP6J/OV4a4dg4UmMNv/+QYnEkDGCcqB7QlN+gtbvZt9M5zdbdLs2drpQdI9LdPI25NNZ5wKc/O+qDcYffJAdd6lnEJO56I+ytQtOzydMDNCcAPsCiTYU31SBGUVJESOMMLphgQY3Q5KkkFgSMdkNriKMMUMDbacWtxazGFG/puqGyscQ0BWM/ETSQP5xEk0E5AJRiv0XsLuYbVWpCIeYqvbt0nH6UbbwWFrHknr0daErQmBfUqEgv2+9bKoMYb8qj65b52X1+LUZJvvu8ghFVPb/tfH9l0dAPZpXsUc6KPi1jClcQLRqdbxueKGkd8luksDj87Viz2SJRSBkU40bCx8FpX6sVCNorrFZEOpWFdqCeK20uxrWDIIUmnjD3wG4y47GZMJdSRT9wBNZYtpN+SjJot88uMRFLAIBgEpgprHqxtPxrz0Q4EKIp/lwFEAaUh/TOqY3Gng//Of7EtoJa/jNUz2ZF9mfKCTz7hxfMpv+P38+cSb/tHn8w0dBQiSXZNND3PyZ5i1Y6My34yWjGF2JJpKuD5aRR7EzLY6GV1fjH9/Te5gPL0uy2t7my///c/vf/ll+ac/rd++Xu/3y+2mTIV1nV/Xq5x39ua8768v3+Zv79df367/x7/89q//+ttff+y/fbx+PNWLVU5OFQYL0Z9KFlaUE48z1GzV3iX6asXPxliX5IyFBvSkSLu9pyr/nX4z7dt9fr3P+y/36Zf3+cvb9Xa73O7z+ras95tiv8tio9f97qhyJMpNdaQNNWRZVS5CC0onSZti/n/eekstw5YQL4AN3Q4llfAUohY0KvqNzWrgmfuD6eG9jWFW2BF+bnmqli6JL/gRaxq+vzj1QfSYMTjsEE9BTJRSFA5Se8AaHKnw6rjkWOIJAqlkhr3kp7+yleh84Bir/EU2R8QETFGTidO6hOWAWGLYWT6tK3IGaVhNkAHukT7P9BAxPJmbsyxJRtXrLAhYpv5zhAA7FmWxe0CrJkRatJPyMf+xCd+xBgEWSrN5LHCrSs8BFoAAPVlDdd7er55W1bZh+KbtrMGV7PNEDCxCngzoeMAh30EM4jVDlBvFNefNFad4+QFWNzpmZ/ShNtZO+JdgjDpNxhCiNwdo03ArYEF7qTjwNlkprUYRBI4CBFjsoxdCWiumxS+Jj2kAIXShwxHiyRNw43FjuI+zxjfhd1rpiG2MlmhB2fq+mpem/gpuWlh5vbCUMP+oms0PVk4lpX+HeZTeK9vTYXgUCusdieZFpAYaaaKSCYaGjHNDhGNP1zvBcFZ+nPdCY5cSHf/zJhnbk/vtZmA50WP3sWGxbVFj7FSg4eAgOLpF8ELU7eSWUxqZqIETBvNrSBM71wNp03xKile9PfFDhHcwJj2c8dsAQXOtwzEXthictlNx25r4hx2KNaOE6iMtZOjoUTfKh+Hrg7OrICdJtQZqlKnYAA7100jNLXJzxCVkXL7EHOJZ4kP+DVomJr3rSZAVeGvdhD0+D/ZLQztvRqdd5dC/sHhz8G17KklGYpWXHgyEA2J4tyfRAF4MmNwPnoG4cH92wpJEiQd+LPk8n7QcsCXd/Py72xi6+Q/L4TREqrSZNaPl7aQ4YlM1EOMpeot99go9k0oJcKxoL4OdiWtbITaig2RsbLdtcH6T5GEOKY0hFoVavQ9rzKirVh+SnVoCfCEnPvnlbDqAAHv8/sSx3NxiAJhRq2KVfPiibT7DMka2c5waNA/LHgaTrtdpMX7SaIEJN4obx2jPRnIKMk4id1h36zjTfE7talu3SIXWnh+sOckEQCUt9QxZ/d+FLJz97doEmI7zdtKjQvfY6xqVEhqBuCLSQCoohQ0dkG22LEhn69fA1iFMXmCUITvR1FPV5r7Ln8hM7lH2GQROEkDV8DjY6KheSi2Qi158xhVNXkejDjAL4nE7Gdi992jQh3UOmNh2cVv8YjfzCUMw2utfFrLrxC83x3LFx3gRiAOo0d4ZRDot85FPbpJWjHQxidDWwmoBvImRnIvOfLKVbpxo5wJy+LXN6+KT62D5pie6mqzRNGzsCUTLfHm/Xfe3Rdzisc+v6V/+9v3f/v547NvHruRtN0YLr4NOvGHuNoHX28vTPqiPn5pOO/HMPBDhRVb066kg8OWyNqETFbVBBeu107xXwzMWIjXpMAS1Iv7Ga0FAYAMmGhwBFlwR5IGxeP98K9vth4tOw3Q6uCX7g3kX4XNIBQKJCIJMJVyLXyun4GZ1hoVAgmoMdFrM+erPV/7/+FQD4o2wVxY7vufHWOFZieljvHxMpOvM9eNbQJ17ys16c+8K7zmN4fdUzJVJVsUCb71jBqZ/xGjqn/6/+S3IcQBXX9Wg8pE6BGGsYpapIDzM13Qa6LZMrz99vf36y/rt2/z+9fr2dXn/skzLdV6nZSVnWXS0yVh8rT+e9/X1y/36P31d//3b7d//9vFvf338x9+e3z9ej/3yfL0+9tdTocrX86KuptKVxDRMFEh0znIPdNSkkLTjF1TgDJtIe1UyKHnxdn29XZ9/+TL/87fbn76s396WL2/repvW27yoBfS6rrd5XqZpuV4Xl7CpYM3hQZznJ4QIkRS/+l3MiRBTOQyTPjhk3IslqWBQihQM5z6RRygsjB4XnTzPnNpPkrIXhETfi86TlMU0FEQ54qQ3Aj4Y9+jJhLaKhxo31bOsA0ESaRUZZKnqjkfuoIsST0+drNsRTxNRpDAIZOfxwO/oLVywY9Q7aL8BrulBTvSgse5hfg6Fmu+hfSA8SPmBQSUZVcc1ScvljUkTA1yeFkdeWZUpPXAKO7qLtgYDrFH0et8Q9PYeVP2BxdXnCDulGhlt3RfSLjzE6CuGmik7Ig1SG7wVF2k159qxlaWl5VhZIW/51kdzpLCSMJ3EYv2qhSbf9KGrLglKs7N2PQ0jp3ZXjbmIWTNLv4iedAJRE5VBCazmYCpbOvY2JhuwjXyCxZEzlv4dhCy4bovACG9QpSGZerUK3YsSXjn+BWgwXB6aDb5xKoTfdXmm/NA6RvQDzASvAI4ZJqAxfRINQQX/re1LDw+UXvwRRC9wfETBljrjdqbZO0Aam5yDhV6qFrFu2aSfMiJvYQVAMM8A8gqj5RLJSBooCRPN2hjV0e0EUKME+T5Y13DYFfOP8k+fixPADlzILkUv4NJCYiSjRlK5tV8GjVsK3lcve5y8RYJMYqAPieZHDTAIw4yT/OzLbAz76fdi9Lb+Xt4VxGcslnLoQ17iRxGNTHMOUzV55xhPD2/ZZGJjoQ0isUElHnidqXTWUJoIbrBxXJ5z68Nv8eu06+uxfL8SZ22aMw/EjFM43JBoDt2n4F30YcW1CS2lqbKnZgvLW2BLsAkPKG0Z32WZrJFwk+sNUlwRi5fMW/+PxC5Bc3HkbZAJjEy3BJ+UTQqyupbbtk3Ojja7MdEdafpm9I45q1uPK8ZNqPUj42WU5pzscuznscHsi5GKnhoGIJ3G+3VbC4DP6UGiGF/2xT17M2C8G8ENgGZXk81a3DTsfdPsbW6V/HknzeXqHYAwWAte4lIkmxIuCQtwzpGbKdYvqPnIVgshyaLjkAAgaTdxyCpuQhAwghMBIL4SD6nxVplj8g3LDPbbadB0+KEpFG+mBp33wQSLsKAHZ4hJR5kmZdZiL0UlwJ1jcMIVAgtvgSPAyBIMQqdUb2rbYubW8t4y1dJNpTM6RGu8jYuUVOOK990exHJu2zfIyekFbsPSAjDWMkRLruBdcpJLFuumCBA3XJ4qneTlngU50hX/EOQjsRGS3zbXHjO9ehydUSHkplWjfARpQFb/k8I1sd8QRXm84rTIC/3G1Rj5Mk3rbZXccnqY3FNKt9hu2yIgvk3O1LrOV7mdp/3y9+f+932bNxVf4cRqtFOeWFVDqjpaAHBPZuHP83V9vnQ+not+kF6RuLrffWvv1+vXdb2rNU+KHvbr5eFOr/6fDsrbKNA0D6vRbQU6PcOinlR0DNsnpJ0WezWW0JuR3y5wg3BBpjTgweXue9BbARzer6IWPBxPkIkVjAkeBNLMpwrlSWqUU0WmI/kjETvWENoeCzZUKfGPP5HWfI4pDniMb/r+/jJ+Z36opxqwDPR01wFsz7LEdr5vAO33nz9cQtcX5gYcyjUKk0yvbjCYW/TPqN/w0Tojiu8GL/k/yMrxUrgS5RgGF0cKzft2n/Zfvq5fv83v36a3r/P7r/e3rwqrXpZpvvlUTvONVWW5z+Xjua7f1+lym/f7sn/9cvn16/zXvz1/qKL++nxdPrb9Y9seTx1A8dhkAAuNFSLen8rgFfXu+8dlmZ4uglR3FCm+qlXYLosPjhf1WWfQIRFKfp62X9bXP31Z/vK+/Pq+fH1b3t/XZVXR3LzMy80RYOVPpQmWf6LBc8ZSWARkGVDXDI+1EO4BuAbKjAuw67JgUCZ8JyITbhMNbZCeH5vFhAlB2kgjBGadlS0eONWtRMgeoRHz85FDE8PA9isKSQ09QlQcqpKVpj4oGGDt3F5LxATv4zYXo0L3EGnkC21LnDxmSMhDYQHg+8PyVfBY/+xJ7z0+8eNEQhOag2Xa0KD6t07ecPuQX/DeNBgGi4qFs/jkgfB8zcv0uIUIlvJQ2Gpp+FYXcQfA59kSvemYZaCXjTbaYI/fgCKOzZO8wPCK2JnwQZSJGGyuJ8rReWxBSSyg8FwJh150lnJ2PdkN1tbcoKgsIcxZXhD3JlIEgimhN0b/SPuPrOisbxczEnQN8sYFlM0LDPU4ih9WazCEN9VVZ33Kj4WbBZ2tacCyvFWEcHB4k2+lqte4ySIEQGoPkYMk0e6B3TAL0TqCrYkzZcdbCRwBlq7X0AVZ945dkRAOHnruQdrRcihi3Zr+oFzLO0PANn7bqmvmJddjtdgg6m/+2q0u6nu3kbI2CtcxCuEE5KVZKgotsV6EqLNNA56yIBY1wjVAgt3qvJJNwDB1akDJ2WdYS2YfNViHcGQ7nIDPmbzu1x8yGf7VxFR5U1WFZMamWbx30Qf4OkWU+eGxS236QDw3rTY4Q7QGBGDGtrEHBIUxuR14VtD7QYurygJtLcetgoJeDmsIqae8NLP0nglXlqsyIS/ITFPQIVFFseCocUD5h8JpR4SVbUgDJ/oAhzOCqhBsoIRnEYbr6bkOUO8PLhq5CGQnF8h1+VToBNjpOhs5z7HpfgsZlVETDaeKASnWy6Q6ATtF0PudL2GrK9yhSGwEdIv8I+nC+DoEBuhTLqYUhYoEAuSc3sZsBSjngpKOJeOHNgChe93EEfA6zKqiESaS1sQYt/6K0BwtJt2ZWZ4dpXHajGfPTQF4VUBK/qyqa/i0EV9YYlpvgJ8+Rye3l4fCcWDlEZm2PT0kOrY2QSAdsQhQOOG9GKtsoqWy1qkEITc9IPvWWevOYIlQ5wemLFq6vZs+8gae4klp2fnV+8K5vpZn+J79rKSd3etDkEI1xC5VMuTWUPi+YvilMnlXkl57P8ZUGL4I3Y6Tu3sH77bp5Ekjk9JU2R9nRqVDmsaiLLCiNDoAJU+43JpEXoM2+OPBaCkRHlk9HveA72XGHRMrmtvKTCMu4wj3IylXb/c3j+Q8ZM6KZL5W3i2Z5FNwe0Z6qOMfbVpXu5GXrYxoCQytK4fvxqgMZ0OHyyiofSVJxurjeIav82vet0VrWnUen+a/PWSGvtlwdPx/vl7+9uPxHx/bDx/v/HQ7R3qLXJX88lqn6zpN93W+yZ7WLJ7762Pffmz7j23/kIaPDwcZf1mu13W6vE3T+3X6ulzfxG2o5Llu18uP/fLjcv1tu3zfX39/bD/cQYd5W7lo9H4oVeEuoM6wV/MJUXuH0yC1DDbQ+8msjNjyOFVQwgiOW1FvhzsrhA/tO/vjSDAxsMeGZB9GxCyEC5/k3jBukLB/GZfHO3M1siiNKficnxhX2PMM09mPG0+vrCrwaYAzdzkBKk6/MTgMPhiGWtRHEL4nA5zpd2fGi5ganDH4nJl93iNfPU+ypnL+orb3ZJp3jGAgpD8AggoMKCXh5td1uVze1/nb+/zly3R/v759W25f1uX9Nt/v9FKelP/MYXz7vK37/bn45KH59rrO2+3L6+379Mtv0+NDSsEmJ9flsemA9m17PXQSptT9bZPKTlhm21+Ph/JhPjYJtodv+/7Yv2+X5+X22JcHvsxN8v521QFmf3qb/vsvt7+8r396W7/d1/e7s55XnfS7rLNsiUUtVil2mNwNCxMLgmFvSLQ0jOC5bgpFxikOnLH54wP+DM0rlATs4eLGBrssvQN+22jxjg1cwy+KATvhpFALlWoIWOLlyUGpfouaFwXaX/Q6Gc7olj5xMz59v05HDSDTssgaWVZfm3qaVlVxDb+mhWxkTaH5ePoL3YB3RRW0OAE2GN4hCCzLadrlJbaPPlZMuED2AV9AFGiTVBsj1Zr6RO3oCX5JDYOKBx0EQUsUpjU+eFDl3Iwj3tD3TvaMEle/WbRJs7IP85DYPBAZDY9Ae2c9nH4a1IqAps9TKQ+zyjN1cl7EblU4j+aJ+C28laBMtouYv1pZAOfqVAfnZjKWrjZJbAefGALMqaosBW68yDjDUkSnygMO94iBgVezCmEECWDxb+mWEhcqe6ceVdwaYVUjqEV26DzOuLYnyCEWbQcJ4LzJzeU6TUT/kIZjOeVsvCmb6/CZCyjgebSIj4bDTKJN9WkJMrLSOrKFDXMdFdRgGvgnp0uXk6fsvK4iyzpadayD2FxdfLCjSnQb5NJ2qAIrlR2i7wxApl5Vx2Y/ZDB0dY//hD1FOSwNHXTBhkGhjJnRQaizD5399aJlJtmsKXcrfTpvU0OQThkXhevMHO7o+VrYdUPXNxdJUmn6uCoXN+uPDisqWZZZjbxzVoqmUOeR/FC+2fs1vPSHOcFPQ7wRG3iCQ9+QjBZFE5rAcpzOCPRtk7hu04yh5x5AhOh55OQYaxXLnTXhsO/NfkFSWikG1iNt4ho27Xf1tKuuG3tpNhUBeYLVIIEJnrfzBIQ78CYOrNcruQdFnmCe77AlS3QXblGPC4Xs5GOYR0Tna2OhjAAn94/hfBouxkQ7cJKFl5nrTtPTtcesyylSceK6Ma8GJh3fYIm4HfKGTHv2stYCZxHpTsVy2Qh2RvB0lrDxCmTAGRBKIKo/fK5RXPV/TLJ9S09ycC98E4jXy8S7BABMy6YlxEToQyRLk0QkvzzNe1tdCvq5PyFuW+Oz7Q9hF4hOnarxrIYQmNO0H+AjnNGXABbCr03H6VljDyOENCvVkycPKuCB6x8KysHsLEM1eZ83qE7R2ARBwDKj1Dkru8b71Yo0yr+5Ev8U6+U2JbIrmdnFOdmruLRcqSLt0zFnBDPcN4zbwVK4gdpfDX2H/pBpesDrIkfjeq8iE5kLANtgkYIlbZx4FPk3OloALUXrUkw9KdwHC4rEha4gzxztMPRI5iAL2YXQ12mmRyWTjMbiOcdDoLBqwiJhQ5HToJACSM7cLhMLbWpDlL6xKUq0Lstl26739bU/IJbHQ2HhZbp8fVvuv3389rH9eOxPMw5iNdPlss7X+21+W5a3ZV4nxZm81a/H/vztx+P746kImJ0pCFcOYbkv83q5vE/T2zLdZD+7S8V0/dj3j9frt9f01+36141TXi4/XDbpTtGo1OUA8V90jwc2A5zyiBNlI7ybOgFTC9KzNQOuwZ7Iht7EdmNelYRhdtlRvHrQJkKyRJbuuOwMPKiKzGDDEBflEjl7lXnQvyN2btDntLgsMPPOH5njmPtpGcdbx4IPQHy+nan7xvPV8w1l+IXOAfD0mGnQ9bRzn37hq+o/LrgJ5fubMTtTTBlQH2LfkZZFAd8U4UA74swdY8mSKKq4a+rs4LXhhwFsH82X2/rty/3r+/Ll621eXvMq3NUJSOtqA3hp7afdQK9tX1dV1L/dlvf788fH298fH98fT5mztkJUpLNsz13/29QYRJURr+tz21Si6WzAj4/n47n/eKph8Mfz9XhNH9v1bx/7335c/vPH4ypDWjCdr6/7tH+7T//9z/f//sv9n7/ef7kv377c7m/rus7TqkjvLHN3vi6LdMz1pq7PIkxU0Vhxqaau8QUeN78yOzFcBkW6IkHpIvK4lOCDioPylfsZp7pQlBk2mzOB4IL64bTPE9F1L5loYzgjT8ce4GgSlMiBfekhzO/jFDoz47iVsP8qmoxuUvdzSJtHc/5KuvsPZRs1D901j6DyUaiW8yP4OxDgAzHAot3HJF2+cKZ6ks54AsiHz92VU0ZiKUXmMUM5TDkw8hHij+gDYlkpyQ/ZQH56btWXzXNqYbtLHEfjMCuakqAzQJdGCb9uWP4xlR1oZT763p56eXuNNmXPnoKBJSxzUdXoimRcUkc4MiOVO+hnkpKZMDXvpKasZx8axjHmU1CNrHTglw4dLmfzzVYae68pomMA264UhRvdixs8m9i7xC5lwdvDQvcUmE1JBhZkkBswKNjRaKEZ7Cd3nOFMY+uBCCePltIl4QRg2Ta3VmFS5YihwdppfjWboDtTlR3bwgTC4UNZdXBlUB7MEXaQ8ztBLS8myacBPT9CmzY6vNcj16/MYSSTJiR7UV4b6IxyGBJTiZwOAJNt5UtyneEiAXUOaT82wnYFe1vmwHBhQQiS46Mrdd2c1HgMYGrcAn8NjNaBUCq2IZ1eOmKU8Tss0IPHEYANWcb+dw1OoFlE8fOgsJ5P5bGRwG0LxeeSlx+cHEqN43sehNxOzTIpAa2chdqzV/aEENC0RUKc8HAwGFRAbVfLeGh05JcHWdX+SyenWU8xFbn2TtLl+XwCI9oy03px36fnU82NGhHidUqYVpbppsNmArG2U6JCnRmXVhPcBsjsGqtqIUpQKFtlptiRBxFHr7AhFPBkgzKlRN7E+lOOElcFrMMCJi4w558M6Yibg9QLNr5eXvYK2EKmwR/zbvuZsEW3p9tSOdBJRi5mf6bo5mrWV5rsD36b5aUhNNRYyYNti+jn/WAQIj5iHz7ImqRoqybceIvG8NqeGF2ahmObcRDEZMqZgVH0RmAoVhxpWrwZWe8MtM48TNApx/JV80xooY4Dpk3vHyg+ZcYcWwWAA+so7oo10CPPVgfvAiuk7MX9kQwZdgu7iLwkIaYi9ZwBH2xrqu3wolELhCmnH85RcdaQRE6bzolILbFcD04Q68Rq9Xc6cLOX4VHMT1BOAr/J1nelPiFJB93XAMHiFcYdOjFik2NPxZQRSvcP91nfLLMWPSkjNr4WgW0/MX37solOMXA7azA0PT/c3ixp/eZQHZOSMkqmwn8jVLKE2MG0F/DeOhLr53PMpO2p0F1myzZCImiKFIM4cVruhsNXiNWIpmdP5TRflkUzlOKo5It52pV5rZSW1+0+/fbjua6vH4/rb39/SA0Dc6frMqnZ7G2Zbsv8Jt3bVc9eyPM5/bhNj215PIULHDbqw160gnm6rtfrOk83G8MzuoOy9y/ft/23/fK2Xd726bZcbx+X//x4fjdL0tl4rmuy1oIGYBPLeBPVA04SAQbDG7CB6QCrcKLDDIAvoQWOB6GmctuMFCl4GjncLgj8id+eP6Wi8ZXmz5AoR0UQ+EhHztTjZT34/vg+upAHOr44PmcQDDMR7ClUTgDM4vzVIVMAh39HfI8b85IzrBk+35xgBNV2LnlzYX/IhlAxt43ZgbqOo/WLMf2w0JxB4lZsfgtOvLGtJwB0R+t7Eedy/2W1QJgvl7d1flun97fl/U3nCc3roiradb2u98s8L/eVF9DlSieMreqrPr89t68/tu+P29eP/fGUB+jjoYQmmjg+9v0pd5lTQBa7kl1SIWtrezy2x8f28dg+fjy2y/XHY/v79+0+bfP2vHy8VjWdFkNdluu3L8svb8s//7L++evt/Xa9vy33t9vtvmpW63R7vyvee7uJzG6LaHKdLzmShOJVehOyW0fdU10dbE7Y5uEnigrAPiOVDnLqpx7uYQd0C+PvgHeYSmBn3dVqA2xNUqIPmRlB6SEH3kUn9FXlajK+H6SLp1fBMIIyQn80VInQ0w08KtGGlYQuJKarl2JnkiZa3QexiyqUrEu7qLSVSSBOnxwMjNqhuETxonq5JToNkdOg6xINzfvgHzP0iHCmh7HUameEFf2rUxeNpERkOG4VR9ERtg0ZAORQEG+MkzDdUz0Hr4Pqa3YsNkkR6WAFpVMiWZCoATJ2iNRQXm5ZEh+DvP+DUwwaNX1aRNJQxufD66uk+NGfo+8mxJhGNmw3TVpxXMeH6tWnE60WDhjRzylRjeoIw0jMHOUw+aqD8wQnKB2zT4ZEdpbvQ4xRDlF3Dztw4F/14dF9GkFANlkm4TX6dwe256vOocRpAqBOuVHpKW7dybqXdXJSLtF9oTZ29ti7MgDyjVHrchRwKBrVLWoj+DwUa/pd8YVP7TF/gFPouSa7Rb6OBXHmVum9HAAFKfQbzTgg555AIzZxsBucKhy60yaDkc2XKllctOkPO4RicA4bqv7oQJVNc/UZBYDqX2uG02UzbcjPmfl6k6NP1YdBd0sOzrBCPea0WfrM4gJ3NSNcBZ7KfKgFj9/UTne6UWC3C7SJEb2mTTanCE0dZYmP+Zn4GtJ71h4cTzhWDfs7mGN5ISpOkYmOAHh2CDTHmUTSKfIjHX1f0iUT/jIeObavqM7Av1ALmYV4v+I6tUFClaj0x9fz+XSBq/JCgz7em7Ci8uQhe8LzPDi1BMfRYdFyhnu2bSeAugfAf4beysHFKug98UAiT67zw7TJw+YbidF4mliQ4aTBAc/nqWPove+GZ+1cja2VBAvDrSJY/C6l2eCTwBgww6D0mtGGB7p+OggD/8JFLgyq85FDnrs0IPs+WERPafP5uqEKRJCjolVH6ZoLLNMfImvWPyl+vk46WYdMXu8JggljJkK4wia1oNRAs7cN9xk2HtjZ12WMVHRAKTGB9pfSU+d5Vu5dvVgp18Ct0GLykRYiBwSCd/TWYsCMWzq0fzWOZ4vpwaXNZjm0rHqn23TH9EsQWFjDjEgg8DuVAV9ycJ42nk6P7A7JYhDEc4iacx5g2ryZ0cPlK2AYEzecNKTn5pbvInk7p4qs5aR8jM9hquH75UOuk8EhhfkYTuqOVT6vF7FoVmZlwqFPEG81h8o8R1NCPAPqfTKY7FAp0aoiDqKoAuOID2ooDgojZk1+CvIEZBwEDRFGe5Dte31s+7RMi46HXC6r3eaX67K8lqe58Hy53ebbMn25z9tz+3hbns+crgwbmZfrPF1ut+Ume1g63mJ625/T9r6o6w+tOIFsliZMn+frqhj69bYstP7EWfC+v963/W17vT1e9+u8xsRwa+q4IVSiHGHsBY0cIvB/wC7CDzyAIQGCSPHIu1BT5sfFobalM1l+HKOPXeKVZaS97XhhXx5uG/maQ3H65kx+yO/MOhKXJ4JWMR8HRPNbfNMDABl1TPHTB50knqgMPezSjNZBeH1mnR9ZVwbru48Jf/rw+IDLAaJPA/ZCDxAp2OOEYKNZEGwI+DP/mOnVrOq46B+VZLwr2k6AH1oSH6Mozpkv6zS93dRT6u3muhNhtsOB83qdl6uCvZygrgo8l4+LGpWiMj8v8+0yfUyL8puXL4+P7x9K0YmVu+/Py/50YtN1ztnv1ljUEPDj+Xzsz8fj8ePx8Xg+nttf//qxTo95v16fjzc30ljv8+02f/0y//Ll9suX9ev7/P623t7W+T7LXr8t822e15lTf6+LnH3kbAemjvHVdoWla+XEssTS6Z2RjW8YngAhhIPFm5qPImrG0q+OtbWrLG+pk5ofqFQ+csa+YDQ0C780aAgPRHzrLo5wZ8PEbjJ0vdzmKKMpDgqpsV+1VL5OMhTsHpNpxG3QNOKJcnJVOllYCoyySZjEsFcjEpZl3hSbjb6apuPOkSTAcLgJqFeSIJNkjAnaNiNRNwMbv4XmQ4XriB5HnUIvN97xUB0M5LjGtM5w6SUW9fXgL5QKA4bmhVmHslm4P/UNzdiUuRa6QfAM0gIqJBgHKpas2pnU+ASBEiv2q+dl2S08rWiFiDVU9zEtgLACgmd+levlRS96Y80t2Eot88iYdgOx/74czefqqMckN6vTYqx0Dgs7oy0KWQ9kciCWQgn/aQCH/dGcDOlMXWZCaDkDydojIQJXDwGoHEMDR8qRh3lzmWKFGgaA81WBk/0AnOnm/xzSYXdshiRHNWgwwOSBDaj0Phl+g9h7fp+oZtZ/aCflEl5Oe5w1Jh/0iPaLI8Zzr2YSlhHNxR2iZk8dyftS/pxTWyg0sBqUvHa/18cuM3H9GAeIgDYJtsWAkonU8AfcLv+5Pt+Eopx2XClxQ6RdEVtXBMccg/wGPoxfMeWc578pAlwbWJ/rNFMEFVcZCmy1WH7iUQCt6PPEXJ36T6tDTSfNstV1Bi4WpSTeR6M6dhRmKFI89OYtOwXDCYloAPWgKA+FryvdxRyECkbvcG4GNYJC9RLFyZP8Z3353J4UUhq9KTnQo/bRGW/InExCPwwtDi6ptuGuRra6BvXKSe7hI1fcW+KmOM/RKCjkEr9MjSSHVQ89vvXC6Rs+uEOmV6O0hRyEjoSKyfQ2S8J8tW9ABG0jjTYQ3jWEi8ex56P8OvIR9hQUc+1B2b2VWk0W78jQx5IFDU2C5UbPvAJGAqbKF0AitutFR2ItzDn8RhNIgo70HHr6FzSYsoym03QcwIx9m9rBSCh8tJazh3sE4W4oDe4YuQkzoJ2YvTcTHbkrzQh+hTlikYaJQ2+GrHBB5p+2U4c3ysfsZBRL36I8NcTIWbuZTEBOdgjLiAYZA5xEdCOJpUrqFHDMWyoIRpyTzE4cPJoBWHVIVR817014Nuc5x++bY7bCQdiRYj3sI6oG+ECbiqxKVlwsS39kDFufOOAcLnCQiZ6lAYmpOzIGdKIYP1oz/EST3BKkte3tzQk+jvxz90v2f8p5hrMABQ5P11DN0QDVzOZOlGgpAlYSRYYNhgfm8QDbll5DE9ZNfbqdi29pSIbbJw7+qDjANpqY5XJQjzJsp0/AdqxNXqYVLUPzVFdmIDurhfPba7ndlsdz+/Lj8fjx3B7P7X1VmqZddFf3J9eByvN1XabFHuPlOikL2hqAHYs+y4yjBWBTNElUDZJes/gYJir1jYf72+V6f2xvz/3t8rqrXZbb5upUJ7lJH0oTs3s9tg+KLVIJBAg+RLwNpCmiQLmAN+QZ1glmArq4PcKjwIPoInjKxpCROAweDB4XwvPGS/qnNTzjd97KdoxxmGa0dlC03433jRWNZ8akjs8Y8vjOb6rIjW34R08PCj//m194iKn89MQf/nGa4XEdsBvax+rHhpyeymsHcE90xzzwCY5VcI8GcfTKSZUAUFunOFw93dG9/UzUZZyRr8u6LOu6rKtapbPj2DDTqoZSbgbtAyjpT6ERpNhtj4diMwoM6HiJ+flYl6f9N2bCPvZLFQYSCMlJRgZvj+fjx8eu8O+P7bbs2/bjx8csglI+/bS9vj+F8+t9eXu/ffu2vr/PX7+uX7/c3r+q9nf5clvuq0zfm9MwFvml9Isa3ckvNVSEMBNUl5qF5iI5KwhWHKv1TEKRU/YQk4Q19hJ1hYE0Wcod+7hVxOhsmG9+oqE4kNhyBG5oWzfNGg+kGeopZMCsuOJM3YwGb404JKXZI5CpVFzKsS2IXU791Ryb/2TvpbNSUYbdge+w33CvEQvRGPsuh4ixx+nNjkhyjpRfX11rVJpbqJUEhuvzpHS6fYX1q+SRWfgznBIko7tE/egesJEBTr7NgMMkw0HgvbCm4YwdPLOo7GxwjvlUMiriA9eTK4NZSvmuU2Tp+ckxqK4zJ2NJkZ5qgzlPyMqbFuLdydw8M43n84GtfmaNsWSyb3T1GHI2CMcAlJtGjRwf1MVsQdhd0DHpXCkKY0NPD4JuUT0jlK1ZgGClevdPRW22tMvZ4rRWsYiR1sDz7cPa3DRjw7AFXDCFAALPUFZAW0trrzWriMcX4gkESuA+DzJOFqcAxnVVV4jVUK0BV4+hFPBmSupttm30Xom2lx6oPpKDWO6GMglk+JnJjSQL8D+MHCdjd4LUcjTmTp7U6EqldHLJ41j17Y8LC4k7AO0Mg8vV6hzHa7cSRcsBUmpieIDpJThvRoGxjcEEDRUBAHXxI4FePacaYGIg0AJqF/ZVg2YJ+8bPBtNhi9PxgBCYbRHHFhJ3wsvF+5H8hI/c/rwuRDuNqLaNgsXa7A70edkuOYbRHOCW927KGU5DsAbUI7fBG2F52X6wlI4aZWNYDmvHg5Aza4fZopxDqoht8Y2TVGrqBMSuPHGdMOwAtaDUPpxScU+G46jR9LbhltO+OMXRZqmLH0YlBosC0pFy7k9gxm1cBB3ZQBtPGL3yVvu81gEWzkCP8w9B59oAGjfB5jb8x6BmFhhWW12vuArQcSOZZ8O4wb/gD2e34JNgqt46qpQNZKna8H9cgCAS0MPSiAFF6w/DNC5GUfiTBrigGMipRAI30DZyxrjlAMaMCy4e8j4k0zfDGw304Gcmg7XC1my7TDiPpX6GEcBC443EIaxZk+Ux4WgJpjJXljqbNxFsWWSAnpwfjLwKcDsvow6GAIxJ+vlUy7FwV7RCDtTl+kjWKo3oU2X1pNA7V8aH9IgHgVT4WZ9uIzdkhme0DfcU+UKMOcQe+yYfpHMoKPjJKc3kROT0ArmI0kwyNosdQ0OxN8OgoyBOtwQZYOJWCGLSMDf/E8GVygIm44s5xwLx5rDtPNtxkPi5D6WYnjoRzmdBB8Lhtng6ATBIa8O7AgCnY0BEvgl+nKqtXg+eY8IY1l+IoISj4ulAIFVnkj6z6YhFH5fdrP6X8GqW3T5Pl/06rau5pWb2dJb8a9rul/Vyud6f+2O6bsu0P+fnNj8fC/Ujhodod7pel1V1vLOBv8yrVrS7J2dyCgxnWBHiZ3ZRt9TGWSe1GCl8ArnCy8v1siierOzrdZHEnecf2/aQx1G4PavrtLvhQhGlRFhlSA/AlekcH9ghKDu2HgRHMDcpOUjN4MfjFUfB+jLrSODTh2EOFQXmwROYX/5+WLmDpPKiodrWqocsXJ5H6SMozmTOc+y4neS49mkhlTL/6BMN8PQ5qxP/6NEMetJ5wgz70IAbk+84Tr48eYLGDvirYHgA0m8+zY/XAXOgXOXIlZnG7NoDZIWBjkkjdLW5gU0+nh3iqdWkP5/yxciCviy3q84a8hErrsAS+TrLy/bPxMGIWvWyvJ7y3yDVtNynUdjyDa1bySD7tn2Imrb5oUO+l4t1B+fNvvZdJynt98e2X+b1Nr+/L1/e59v78vXren9f7ur8vK63ZZUBvEw3TfKqblgKU8sSDgMXRA4Y1v482QuxqPxvzJt4Ztm/Af6Ana1q8LCmAjWu9FvGmVA1yWFhlJxBq4f6FH0FhmkbT4SRrBfvWWoAIF8Qyy8k/hbiiq6SiSK+s7C0dUBtO5AnCpD/M2dzEjBxnsSl7eOgPjksIfPncIGk7qa1T1Au9UGsFlUXh2YBYNeA/YEUwRDfMz93ip8NcovxREFJ9XK4m8kmB60lmhEU0UETZ0LOQ+xe1oDdAH6MMerhHWKF5pyhZh0DSxFZGYHlwfAM+2bHbho0w/Wg4/fUMkb8P9MwHedwE3c5yvmENM01OSyTe5QBn+BVUMWlnvpTPXQMxSpZ7H0+NJRxlsWMGppUKYWaJF+kRDktjmpVzVAJYpZMsBYKjBs+Gmx0xNuem46QSJTLO8IcMoH4X3xqgzfcuJchsXpq2rakCZAbwOFx4HKyQSOnFDp1KCtBVIPMrUvJ1xOcD90i02r/0Jip/TI6w4FXkYCqVNJcn/v2+PhQIM147LNKhg1udS+5rhhkyEXmZKwaNqKNWqQm/KcptD5RsisFCigt3s7I2dKLVV6MQnaTO70Qj6a3WkEIIMKNOq1oxc4a0AgJeCeiE6ATmyOMZ5SFvzjdpUwsTo24zzgIhCcFNXojO1FQTBCfgkfQ5tqYZLTk0aU3cowHWFtIFLaF2QZkK6L6k/3GhIKYq8j6+RjPRVxAT5/nlmEMzQGrG3YfyNTRGSUoaqUlEsknepV2IbktnHNroVKFlcNj9m1blsXmTFJl6FjLlr92ykph/XbUnYg5u5LkSYFNXhlQjANCsr9Za8jGs21hcyiF9eTUWVft86z1Z6YiZMU+T40QwOzqQoq2o3uKQH0/cc5VBQlyYsjlxOpuHBuhk2BhXLhh8tzYQdOlf4e0eIN/0t/AO3dUahjnhdDGQzsLEMBAICyq8duQP8qujRkhl6PHF5n++760QMmz0SQoQCUZDGaOfYXtEWnShF4XgbrNANwfwU0fi3AdPaCoI8pw81xAvCAS0Qgv1REwaE0+fQfVtE2ckRsRASZ4vHSTyuyBdFhzUMVApkOLGtDLmwAtBEnkIFAn0ayQV9CrGIaiq5Nyh+JeICVYbFHm5TTp/J6EAtwyCkDBOMrb5GMe2AsXNSjIbEEZ1UspUvCRUUEvSDjNQppCPNJfBAx7HGNpWJKRZpCR/cJx8ih7yg5GhToanRatX695mTa6ShpYnALqHtsen9MgaHpmXKP5hLxwKuEzJnZIkpSy8BqreRv4ZQxDc3COCtTTfConcrvRVrmF674T7c2ss/Va51O7mThPa/WZs7RkcpusLai5gT1ZcPpdWc231ypnxPP5dEA9XgAYp7QW5TOTBMMBgMJJkjtyIFmyTszG9FI197IBPM3TohVFdm0qqJ4/lm2/ba/16eOEYWzbc/rtcVE9sFLfLz7IOl1SIhd9Y33PIVx8sOZ/prGQI3tfrEPKjr3m/8X5DIegOGCdW8PVqnr3u455fJBqETcQK2/Njf3h+zKt0Mj4pBE11H02YU+OqPPtfWk+x9rBpJ9uL0vgkePO8SXT/QyB4w/uH8L7tNY/uPMEhvPyo4eU2mBVGTizOgbNdBLB5DskQzq1VCJ0ZhF0WbsHjCcLIQgTA1CvB7iutPvksGAIyNHo43SNga48Nds2+1l0Op8IdFUsSE3+5+tNPa+c7imly9+4TJQIsErbn9MmcTzPr6dP+J3Xy6YqYHnwHx/zfb081XhLiuiqct/57b6s91lep/u83KZ5nVa1lZvn2yrXkQ11MdxFR52l9irwBiY+59LMmUzJWDAQNcyzpnIoIwLudE4NcYhBJMjrHpcC621LjlgzsHcjNc+V3Sa2AQ1Fe7UOCb7FgI30iNLGMF1VyRVZf7AmF9+VdJMhBXHm+bDVI2PWjNluRKdtkd2DkRA/I05MANB8Nzs3YywZSUo/oYcRZjBlM1vEPVZX+HQVg0ELiNRKf7cxDj2kjwnCPsmxyea0oWhWnsMjnS4HF/RZTT6UJAC12zH0EnK0hqdF6ZwNrVdpPg66xBIzzNkKoOqcLFVFwvSJGxu0OPGprZNWNpT/Wd3WI9dUoihnt+dsAzVY6HeN2L5URhwO4eXoM9UwSr6epL7FDYGQTbJxO4PwW3NLT7jE1lEamjwA2xGy9KiQwPuerhZUlkbrYJwcFmUHRHLbzTSGZdugiF9pTcb+M8y4CCp+j0MwHCy6IObhsNxiuxIxaoDQBkjg07Azo/atGBqHR8mj+AWhHxuJOUVFKGXnkDAwwTurzSARq8i48HNfOKLx0GNQLDSm3NvE4cLW6acTEGWYMqIhy+iRXHmfX/JilG/dSQZoTtM4ZE5MfQuMJLF0GL8ylRh+S6IaiaKVETrEWGPsctF5AeGHcBw4RVNZvPAAd1gK1kmPBJtgeW/J7qLhoQJG3nuu7BOUml4v/vbQZrwrUDQ2ubfEZxEhTH0fB52jWUq3zrsYqlzGsEmNt98UgcrJYJl+OuyJ+R9pfmjw7Wc5Ohin9xxnj8N2DHCbnZk+jEMKodOk3L2RQffHI9mYnNlKbDnNLfQhJuxTzyIPwnyTjGK2ZeccSvIIzjMCaGLo+RGnJZPKaEJrbqDBzgBAA97gxOxoH0VQg8CRY9JEqIgAvDZR7CbzdIEi6JBwdXaEjbYDD+6MZ5PIIBkEeCEUby8lZ0UKNEUF975QOE1FCvWuLnUIkUQm7M6P1pFkB80Q3E4ABD4y3gL8rR3BB5xt3hOxjDoFOPimlyK+PH14O6fgHoQQ8y1tG8INE9btVElmoS9XsG2g4+AdeGTNNAwZdhpW2GYJOF2b+RZ6d89kBmwuQ1ZhotYIBCA3zV/wrM9bU3tuT+VBIGM8eVAI0xSHAjwU1wE4wxpDaHachCsB2zp4AL73p/8fehsvqupEo1CUFdBOrl8IzqDqnZBkpQ45Hn5k+BHcDk1C3N5ctaAH29tTZPNhTbLsKMmxXNZ0KEVzwzu5w8r2wnAitnGox8VuCJL/YcUiyFOXC8ehs6O+v0nO6erRrhVwvLrudW6ENBV5LYnbuC7dSGDV6DJtaPLLa5pv0z7JbNYip9fm5J5p7VHJ9dMpQ0FR36S4u93s8twUYA7peEJGMkFLbLLWpBR6HSizZEA9oFTR622aP57ztl8/pCPJkzQpy/r+9rj/9bd//e3xfdt8XLCadqUtH3LC4jmcFi7jHELKrLO7DdUOucM/pb3BCLM3MDjuhEmEffnvOLn5Aevnizzw6cNFhFgQLwzNTHjgIF+CccyiOnxVisF2Yg2c3xFFbKwLWj9/xh2fP5378csf3TKeRWXIFz/f/w/eeLwZRlIWGpPieIob6y86vzZi2U+c6lNAodBUJ2DCdT6aj07jLuatjcUza/7TtwgLN1Xp7n///mFvm2SKKEhm7FM0IzsWUnRmWExKx4ev19e8z9f1tVpdfD4nNW5TzyvbwBZW2z4plOvTDUjgWebrfn09Lq+PbbnqpKLLPj9/yF312l8/vj/X+3Tf5vkpsX//oorf2/uyfFmW23x/V+bz/fa23G/L7X5xh2rRs7p2KTIMnBFTqZerXhX6DRrFnBoO0qpVIaZIwWJ81CQNky5W6JMJzpjEOCjhzN+aXFF8zwhDGA0cYZdjVZiJeqrmcaT7JD8iUiBDV3mLEweu6KS1rMzKTBrhJLsn+AA6ysvgTTnQTP+nbhDaZ/W285GaSELrMcFmTYUzI5V5tFaXl0qXlZJGB6BHdSiteuXKA9uFKtFmY7Pn7OKhXNHc56BEO53L4yx87KGu9OfB7i53OQ4R2GAJ2fvscDVNg9yF1EdRJK8VycKGs9d2K1Rt1htmeVSVDoHq6KxqghDWx/y4XAYYbOFhACFBFFAnEWbTn97uTMko8U7xqUWQfzkyQ5etViXoZ6R1sphxyrfrSDKvnVxCmA/F2GhNyOcNk4w4mHuUYr6HKkoeaMbaCxePewnOpUSoMbN6lLBMwOTkSD/lPakdBsEO6xcpb4OCQCAeluFQTg2j99+Aej321LAjcmP21NzFMnf1D6lkfoHmkcZpsV3l8kB0WibrC7p+EGglbOmvOdnEaYlot0emdxPvaa8AxQAbsMcAwjcRMxyeYynn2Glh14xuudighxHtcNEyZ7m3LC4GUC1HjYGnA0sku8KG4BPxfUnCpXGV1S+HZxDACXPalnQNuutMVQOMUURcUaO6YA+lJLFxzMey2mwyfBgFoPZwuFhhgN8FVlROOkJw3jq31xn+nyEoA1n7/7ytqBkNg3rPdx24p9rdeVYudGops1rfFMeJCYrDnI6yMf2nY1fOpwEbe2ofClnlFUOlHlTN0plOHNYYc1GAjiReSJCeWGQwAEPSMEz35FnmQavaQkfPPvxUKKpsW/nY0hAvcVFPBEZr7lcaQhPgVaeCxOyatVzv11gzXlLLJSsssMFBzDDVCKe6A8EKK97mC/VRZWGR0CFpzn+IhQA6mz7T6T5mwEs+e29RpS1iCTp1MTUOBZkw+5PzDVQc78lQfM1SIw/wFhcnjdjOIIB5hKuN/OSoED7/B5FdPx+kULGROKRDzeYRiW2ybrN3AbXV5qYg50QV1JjFEWNE40msKnooKgFiOAGBcWLUeZl1eYLabivibA07Jorz9mEpNGe9hu3zxta9ZO8aydL6wjH84DkpXbFPIQ/DCpi4YvjUly91E8ZJMBDp7Z5v0X6Cn1DywBncNxDz8JIOpBtizMRlNq6vCe36v2SmEO819LxGFD7/OWSccXLXESakSznryKd5k5UU4WVOwfNMh9P8Qk7mX3Hr1FmGEhBb+zqcdGYQfgDpOOvYletTMfkor2QBGcMRQ/G3sRSn3JOcFJnmlwU2LMrgxF0mLuEMZvipU/4v0yYD0wDb5OizY0hx4OQ44N7WnGMAX2QA+8AVHZ8EBXnrEVpVBGGSMmpfMmtxkxsEQo7nQxq/jpN57Pf99faxv//Y7veP+9vy5evbl/v65T9/+9e/ff/P5/5jfz4vy+auGCCNsdluO/sSeJvzWdIvEMaaX8KjKiK798Fv/jolAXz+oGPnM0YcOjNEkXH62/H38cyZSZqfhp+X0ZV4QkvGy+PBP5waH08+TOl0SZ9jEvnACsY8hgnxB58BRQD4aZXHpyz4eCpK2AlWYy+Q+OO5PABxJJ8OlX0AEy59wHoYPEbuYV3oEZ1RxEtVQBHNMpExIyUo6mJ5RnHWwuX19x8fP37sr22RdfpU6xDxqedz0Tu21/60E6pEzVyuOnlIcV7FfnUY+uu1XLaP6y5/NZExYSMVBECCY2LSZvKyL9t1mffHc1J91rQ9X+v9x/q2thHRutyX9W1e35f5Pt/eb8s63++3Zb2t9/u0rK9lucyqGrbjfMGHbYadCiDrhqddiC8ILiTIkAOlD7F0tFjzW7aJNrl+wk1HY02d0cJSBuBQhYh3Lq6KeDYFeGIJnYpbpnpuYVdssMZxb0G2E4l5IGzVPnpnwB0PJ7tH84P8QlaQ081oR5+EyYMOTQO4jz2681S4Vgou32DRkXpoqfATYmt2V2VyNmf9AvyVx5yYlzlyw+AnSozYBTxpDBXLP5EP29WuXumxrrhIQ30APtk9pTWzRPwviTLodYklpDOkryZDlyUEhONUJGxCT27EOd1t6KrdR1/1nJNmb3tviHJPo3xP7S2vPlzDfTDL5g6si8IaWCRYkj8bkETEHvVfI/HhsPvQtcIaAL0XmD202yLvKCsKIgIczzehrLghypCj5CFxh1spqeu8Lq8JjZARakWrWGqFNPpMj6mpUAlzo8XKCatHVcrYINNX3AQpo2M9TjZkWI5R8ACjpVxtrpSHsHsH3KVZOBY3rkbD8vHC2RBvNo2oBhilbueYRiEOsVn0h3lx9qLXsu2cnoMdFNUuZohfQIrf6JyS1L74teICyEoNbTSOOMUyQf5Gpkc/jNZsaJQWBgJ2sOQU6Jvt8cTwwkEg0xFdzU3F4E2AVZPKYcrx2hGT4h1GJSsstiQT3fWBpXRUyr6cKp7hOpmH7uBd/cJ0Dts6tBZLDodf4maIi4KNIdk9YKuFSnqnsZ4JRIG1By7ezRMx6gfZmPEhOZpMmm7Oc3I0NThjvBv2CgfeagTnnJDuTf4PLh8VyBk4SrYMPXjfyb3O/llJlSWhSeFga6Ra6yIeFWqFLm3IjewU3DBgFFsE75Zjj7N5oL46akxcZoU9Yc4P2gvq0LdjfbHPYAMouG4VmPQMAMOU/H/4O3vtyQ9vM4hzkKfOMV5JaLdwlUdG92kl6v7hw+UiiMyufJh0Bq6aiaOG6cVe1es4pctvTnswZ7XoGNosEwqyQJLBoLmRZpDtjnCNn4kJOF3ZvSIsnR08JLQfywGclJ/CXhrKTdEjcy4xe0onQuwcpR/bIElbvNS1YYtCO84vKZaSqWxObgtESU14Rshok5mdunBTLqtNT3WkLeoUjinXr9HJkZoceER5uXPAVewJw7fRWN96e72Ckbif+dMoUfaefKMGRX0H3Z4qBob8rm8lxGklwYdIC3oK+8dijP2Jd6BmIV1ADvZpFK1SSIAXopCCmLxgJy6xfdhudRBqFWQKKRfYeEezuNQyJD0kZjMCb9GZSQagi6bEA+IETeAFdwNsQ96TQz0yKgZk+CcGTYV+Kw2MpI7SoOgQkJ+vy2tWxx771BU7knWwq1zFTQqd4/Lcb5eFw8Pl5NUvQ3kQHBz9EoDs+9exxbL7FfeGwCpHrSGg8pJ6QHRdskMdRKww3dRGUTmiq5wW07yp9b06XwkG8+t2m65v1+vt79//82P/bX8+XpeHss6ul3WhAQYZW6AADAWMgPijYOYTvEUPC5OsRoBGcdwK28N/EFUDaX0WCPmaz/Hwf/nBLwbm8Ldf7QunIYYyPczEPBmB/2lATzdsIJ63/+IzQAJVjfH/4acuHvQtrgSQ+jCl3Fq5/XlQg+9wRzDTMY1Tf7uh6uW2esDN0dI/Ivd+gkTFVJnSYIPpbijGBPvmtuiMRst9n3489v/jX/7jf/7Ll7ebyn33p0tFXAR/nZeX6n2dOjTYWn2CSh2aZ0SsPK2zUpltdz1nh5C25xNFGFfk9amTka6vWebrY5uWfZ8fz2mb9td0eyz35fax0KtW6c7L7FbPyoVe39Z5SauuWeczLa9pcdMbShGGoxztPuHXMtp46ou2tcr8Z0pXHE4kbkrEgwBL6ALtDTZ0wBDHwtgp/xJtM1syLAcXiJJmWZyPQID9ZmowCjbRO0SBSWIM3VzdS/jOnSikezK3Kj31UHulSWerzdTjflP8ldIU56in6r4cNWTvPyKlMDCSwh1jKciQrkxJ9axACVev39/nqdgu0YRtjvlxdZegDVXsLbNP19zYvPd77dcdlBXxFzMPyOuZ6D7sDkBGTwMgSJPwcyqKO4g8OU6FVRIT83BUUON435IiSvuqg32ldUvqNkk9oMFn7F80WGJDJlJaJupkTSHwdnHniNazOMpVYm5KYDVJv71ONO9bjDr87Kh27Bd8UOmKRAIsDtK6tVqLtzv68+BPA2l7c24wThHeyzmogNcKYPsLE38O2QTvsFwH08TWVbmP38l81nXROeHGSQCItX6EKcCjJpsDUhxOzIhW4ci0YbkUVZIkyBpRtOI7aLwkfLuU08x2f5GgJo4TzSIxG5DwnJhj8KVFTAdhB5v9rWWnPwvchMKxESrD8GVDEoonXsVSoFb9orY1kTjRgvRJtbBn4EaiPn2CNSYsF4X/cAxpqMSGDWJmjiLqlTmpYb8sRkcEsahRkOE1mpZVawyhgyIDaHxCrA5LFr6TjfCNseybe3uSiWG8rBYDJrCA19trSGTDzxrSKD8Jm8N9rL4XiEPOxtxHhHJKU7ReXVObU6MZ6XY5CSiCeaAUctRN4TBF0FYZGM5heuMRVH3TsF+CMPE+0oI3cSqcfzS76uu0FcgeZUvmPxUpmS03edUoS1+rFC37PcmxCVscKFtZGZjx3nTqcwSMzJzYUylJDweieicqHLtVemK9wUs3mjPkeS/GD3HCJqWFPfpr11RwW5i44QjF290ASyC5KS6eJBc4NuWmGhZOdkgoaQ2MgncA/DAVc9iALaKOT/SEMnEQi/kNoUgmCEZ4kNK8krv4+BgwG8nlQ/7ssu2XBKyeT3cXj+tLoYi46eI/0fGCYe6kshjQlvEp9ZQJXA7WtY51VBlhqqYc1Ca+yulkVSGCIMVSmrppBw/BYIB4yfumo62cYx6PLCRscWEgq4+y31J+CrqHDjGU7WQZnDj8I7I2sj0wL19hqfHWs/BuzolmB4nrKnUyIf8uOOoj+2YeHS3ENX/KgelR8ihwGL9wA3hTPA8o64efXT96VnCUDFHjtKo/bNgku8X+8miKn8dxC0zNzcDjEYBfouCErTgiBV6i2KH8hb4HxtnIh+Go0/hrcgBMfFKDT+pGNd80zNKK8ZJIvFvGYutkcRA4orXv7lXlhv/2t+xOnXrKJLDlgPeRDHXkm918Ur71+HZ5bPuH2fV+ub2Jkb1eDx1pfJnX1/2+XP+Pv37/z4/X37ftt/315LBoTqiiKlzQsNPttORaq+X1cLYDZ4B+bgr7HwyoOjoDwP9OX/u3Q84FYcd34+f4IGAg2Y6VR5jTMZ3cEMQ9pl6t2j6z8/zCVA5W23ke8/3DT62GE8P73UOgdQgsNiZGVlnLTw8VkJn5uMi/NSpgEYza19R443JJFHZabC/6BzBhVnGl6UIEKb4LxLMJ1sdjh74puoiF5TG3/fJv//bX/+1//48vb39a1sv8sX18/zHd7o+Pj8VRVlmtlu7wfVtKpgGXIeQ4QZ8kZvHuA1EsnWxYIpzs9p3my7a5IGG/zvvzx0PHFu0f12VTf4Vl1llMKm6arsuiAvt1ntZpuc3rervd7/N6mzQ/VeG7F/GiWQxGBzgLMpJNzF65PDAqQA9H6Mn26Z5D1Ch5guxUFPhh+rJ9wI+Ks7jwWuE1jjM55HZFHuQSQjQfQ8p4r+RpiIPUdE1TiKj1nXTS96CAMM4oSK0UAxfRdqzOKZ9FO+Idw1kQWhNjN2SUsf58cN0IAl4lVoTqTGKq8+TN7eNjzWLTInh2Btqzpx41ryQC1aaAD1CPUDK7xrio8hwtCxVQjzozyBk3y5U6lbCJLHxQWEZgRvNoAxlTg+4hZh4OZpAIHUtAJ026k6vQ2UgO2iSF1WNr8Kgdw8KySRMxcZiB3A5sGCloyJ0yH0j50nQxCU4sMMhkuGB6RcCzr0EFpIpPyuFveErkb0IU4SGedYIfiOnYMZLvKABNf+jL7bLC2zVq3QeycQ/62KTec1o5xduh9dyfDHhk9JHWTpasRgcc6o9Lp4AxAYym6NqDpQ+ySj1g6jGz+1BB+JQG06DL7KzhCL7oAh4xUiT8ED3QT9eI0GTQSLOicnl/YgBzKAasthiSzlBt9+PJxuC0EjJWBDCHDGURJ03P+y0neRpIKd+F3uODBYVfQZJ2o3Cm02E7NBR0/hCSBNS2K9WiJ0uWbqPsht7pWfgcYE1c39mxmrq+NEDmsEOj6uE+zBRJT8euE5hV+hKIK6JkAgivLL8wJBOSy2Z8yr8IpkSJ5Q7cUjqu2Pof1qAl4TDGYNBaqz2yIMPQzDZrqtp0HEujPLobP2KD1qQFbDwow/dUXnMsJCAmg9So4CpB6zPhwp5S8yDAcGojScC6+rjWMG4zUvyidsOovaT5lG0YjAF/rEVXMOFloDlHPbtGU+0d7B4ys+UvmlFA6Lk7+yACAwFgZKXi2vy5DXabH2tVzb2RSglstDfMbIh8ZjNjW1F5ucFo7yzRS4x7yNOQNJ7bIcSKwE9bZRwD4e5iplR4kNRr3wS/GB16ToQBmZnaQDjcFycxL8TbxtzcHhIbIw46+KC9ZR25zNq/h4zjuCE7zHtyUBdLpmTU59OoIQoMnSCtcSZO0NjhMkWiSXAWXMIa6As4TUhPgKNtVtlMgCF6aARo09+yxx5gHyHlCJKgatDdylwC5u+0NwkyiQfFOoCjjHkZ/Ljv8Qo5hwQh73o8y66cXWTLsMnn3lp6zUREsWX5STja4IEoUh8UsYF3SRnLTvATPD2K07RI6Yf5wkTMdxyqN/bi83NbEYlPAs/WkPQO5/HGmS2GrEHEj5E+acxOblVS5Zl732U36HXfHw+dljsvDty8HLW2ksGJBW47+XRWsuZLDVIQNukqFNwqqGU2ETx0flEMlSrnmu+IabsJytN2svaxRpTBp1bW5udwBntyFJWwUBm9ZNy8VzVF4ZlObJbKakMZTzXpT2q09brecICYY6la2qBTnovVr3nfPx5PVe0/n9OyuZ2PqpTdaF57MV225bWsl8uiQuXX2/z49++v22X/rsbir+/eHKuZ6QSBowQDKVIexhj/PffwowAtycZ2KEWybUHBCugRBIsbL5D++XOoo+dPdLgx9hANQXIPFuuEgNYwMRx3Iksh7PBsnXtWf/DCQTUdva/83QSHzDiEx/Fd1JV8PWDYB05/n4fJ9HnkGPOQMxncqOsL5JEeN/aVOeUutrFxnbPaDITgcOA1LCuSExMTcoGA+kN5BBz8YcX7bp1GWPz3H9u//fvf/+kv72/v83zbpt+e0/pjvt/3x3OeVydW4ftLEBh/VRpdSiWblfpn20j2tMoHtHFOR7EQQco+n8rl3/d5EdG9LvN+/THtr+vzcVUp73KzOqD8bRX3LtMyX3x62Lwo8Dsvt8uyYBtPy3p1hT8Qh6WFNQewabQYAQqZ2v5vGE0XCbqy1WZTPAfTMnDiNa/6i18B+7Be2NMOOPRik4QX8XbqcZLPbB/6UOEgUoxv2kfb4sK09eQs4ziogo7HJdkQFMNaHFK4jaRzg2qTlA1ON9oGCm3p/EL/MetLWKzqpZu3eEVNPbC1GNxNCMTkCtN1yoD8fUIOVBTzPhLEwGUCuIS/6EUsuKU1huCevpWGSFaPxVXupUaViwJRnCYNAPVsgmxG7Kb9x4EeNUxbwvIaajLocxSNJxJrJFyF/XE7W7FlFHR6Xpj/k9FKMSh6nVSXbgpoAyQNNsPPFaRlV5EMhq5LryM32TMAHl8HWlq4R3Q1adTyuj7lEY1yWT7vWxKgwqoBj4Z+XrefNd5J4diwDnz6RYJMldzddPdw8RAqR7BRMwcMkRepzTNQR3FyQrn+gSj0wvjbcErRonEYb4Vfc4rEmp2Op7pDfMWMS6yhfIe+1QQPOqRloJdkyYh+i+alNfoXaWXxCDBda26JAqtZSPHDur/k0zT7hCDUSKRW0nUw+qZ1dbXF9fp8Kqk4TMkKCl4DO4+AjjCncWkpGwNQcca5xNG5EvFuoLxzJK2Xre6astSS5yPtNwzfu0Z5HFM1jYQ7Dbd4VxAUtTtOr1mc3i0XFEfyIEvSYNk9ItQjpweXgWHxiJRDI97T2TekkUQLKUXQ5bGpennanXXCmbs/uFDCmwADmFGzh5+UF1ZXaBpVeKYtt/pF2DiGQHOClcHc9Tm53umDjTzBavLCbLieaAzKpymOAut4g5hrshtiioQiK7Ei5Uk68OBcdG5M/ItpnHu5blKqpfe3N7o0c3KWO5ESTVaqAdvHCDvUfadQQjx9c4MwqWH8Z+IVZrQQ9Nh0ujd92E9TkGbHcC6e+UqCFt5uqiTkph2cyzPlqFtVvpCwlHhvcHdYXBzLRA6okyp9knnycGgIJMlqEzFLHiWaIQIYIBWexOJJWvOxSq4stT2It7YUGd4axPS0vbYjfSLYWzoqaOn5ZCPaW/aSlwP697AQUZCltANnz3v1sYyhLzFI1OkVRauFJJZr5LD97mzmRxwk5EPh7sEGNhSYPtglM1cHbczzU2foGuG30A7uEOZKNCAcOHuPF4tzjG010keBPaZiwv4Ovs3ue0B6c4eKKxgwFvVtxEbwzH43aDZJNQM36gg3LLk1kxMo5oWe1XGQh0GDYgQsiX5HGPoOEToi0C3WpPGhBvFqMqHi6HX3HTuNkCiexRDYTo6M4pMtpUqBQyaDRnFIK1Trf0d6FL6dIDM8AQwGoy1TGdVvvCrKQhh2Wfw+ew1vs15VpLKPYvc+oSmWsVtkWYlJ2FxWME4HN6yGqVqRyvJ0RAwOM7s8BAxV0xham4rz9+fkbPWn2IsiaPsia2O+64Sk63Ld1OJ2X5fL63Z93afLf35sf31sv21PI/28T4tS2tMePOIENgUmN1aPzpee3tYpYaphIxAMkcY4JvMp9y3bKgcrjf3RB7by0w1RB09/8vdBq9gVpZp+BdIi4xhlaDFe3XjiNA5cv7fgTv/phuPPn2aFDD4M1ywm74mEGBrkcc95mFz7gyWP2XGP/zh9aeIbIxhGle0GBW1PW4UZeRRpQN4DLXh8stGwwELRfq+roByJSKKEPJyvy/fn61//8/u//fuPt7eb6G9dpvXj/uU5r3JZidXdvKB5FWUvTopzHZIqfao4uCmAY2g5rZAeCMwHv9Tzen2o6bBcWZs3crtsu4zb2zLf12gjuIZ1Pph4rk7ovr+rE7T/N6nh80KnAHbZiYRx+2IF5Z0c6+cotNVw1SEGsokaeaO95aI6OghKdqd2DMjC5GOXoM1r5r9HgG6ila6TlcGDmezJEmCqrskIg8JWyScNNb3/btnnNn52ECgBBKp1Qi1JSQ6sVGh68ZxUomHha8nECRZyW1koHLus1bktoI0Zo2bsLDYrePrabkJzzCgPG8wS+JSuuhp9SaDevhjnB8QMMOVXtA8V2C8lw61ZfFLl0crEjZ0PRFwilHbodWghIF04DTbq4bPyz7bGiCYO3gFxqzEOsXQPW6tDCaQ+baaTD1HlhmqyNxFH02W50LKGpyKD0WHQbWAGMaibMRpJZplhnDyYim+4KlqDcRwNiZkIZlEkwm1o/z4S3xjBXVTgDN536X3UABK58YipTnIHPXztJdKoW2maHYJBpHilKKxVRYKKXVY1Ov1BywC2ic3Q4ZcWu0Pti71jw7YQ0LDUIseWsUgHL1xlxOmEz7jKB+GCeCj5Xkc8YkHFwJMJR7KGc9fvQ82VbNoEjcHd6DcBrnwEz+dzWZans94Oe/CgvzyVHYgdhel1eTqJWnvk11IuPXbfWZHi81b5INPcxzZlRYfTrmjudzm24UjhaLUTpGLtniVwtxfVDTyjatdgMxTdFjhvNyDi5jm8TSaDzNWxYna9y6/JF4RFvSZvEn2OAtfUPfJqWCZH4ITpBMl08EADbl4OEXlXWnIoVxIegpKskfXCnMO2q5CHVkaRhtNsVJDZG5ET8c6QymKyCATR8/GigHk9SE0PyLHkqabrElhmb0rQFavcWIL6K1KRHhlKGv3uyNGXkozyjU8l9XsxW4eigEWBJ6/1yeCtt7+bEt1P7YdVHIJDa4COdtM+Q87vkCFwVUsO5z8gwFLt4hZBFP8ZoSNcawuBoPDBdgtACR9FqiU/OkXpOByIp3mt2QVIw7mnyCpCdwpgElWLmUHkrUI30ho7Mlsf5hJlXh38UsbrjmF4vARuy2NND79y+GlIZSAP7e+5qv+iWwglco6fjUyPo5VS3xybXF/5GOGulx0gxZQRxumLymWiYLVgkc3qVWv2u5OjLld18Jepw9E+MRJSJ2/Tie3Ae5QaGjaqbmPEjBpEpdau3lEXjya7zBv7cOwRvumHjUWZXrVuv0X7tqR4L+hbuo5awE/q6uxJiJaDwoQ7zrik30kZKBxatQXrBYT9DWkUZ3vYcs9vU/LAvr3UxSl82sakQhn1mIU1jq0NB8f8HtESThy1LI8LE7SPYe9zznGHupwsBXKE7u2+S8oisqxMGGFm5TCC2gcX06t05P+oRMiqUjtTeAgXqyc5x1NMmYiqc0sWxO8JToloUIDCXXD/jQC4n7aDRSsSu1HSt2q9wG28AC9F5e0lWObt8bxu8z4/NTGfUK8qhsvlMT3ny2X17/fl+r5c36bL+3y9T5f/+NiucvldHs6P2S8q9IL4zfpJi4riCvrAxkasqvpHGRlkCiJ+UsINzwj9yERfiK0RHSlypIzxf/Q59NWa3vDyRjpzS2fRf+tVi2D46dvck5+nO5A0vY/t7eekT/IvRBdO+PvRj3sDDkT0ePEY5/efn2BznlNWe5rLWGc1hcijOi5QIQ10DN12SuFBHIhkzUWXL3+3BukEN1KjSZ97bM9//c/f/pf/1/9qfeZP69t2uXxf1r9tcsY85/Vx297UyHxV8oYRtRkYxDqRGfjH3V3ObwHHrLjWbnTYSDMS5irSa716chMr5z645/x+XZQQMakkYVGT5/t9vq3z7XZV8+fl0sIZ5BdGRgsas0nIfCwgRCsMY7ih0yio0hyZSzInLXApVDMH45EeAhrbukYbtvcp0O2aSK8RhyAM2zuM/K1CmMx2ehAQv4rN0Nl6vIgep71Jsqg2AtzwiJY4pkYzybwpxajuRa+i1hi2/Mf5AZ2+HpQHAdRy8yE0LwKnatqkm2xR+Ph38N+sEkFkqIw6qrBrU3TyuYQYZBpCmeSaOSlQ0QuU+3EGAdCNTefODG2lWfMD+tES7MO1F8bKMF7s5HAxGELIkElInMdIOBrScDA42mdjBKKw1zcRtYixGh6peQrMcksyLXBSpIW1n88+mho5XbahFPeJlbXjac/GwOYIQ/J5c/rLxEiGk/v8wTZ186x8VncSUcHxYIhAZOXcRqGZu0JTSbvDJ18zDMMM3xD5BYRFsGGUiWF/bfQiP24hX94Ys7pFkKGIAAw7Nce1qiLaRBRlXsptsrgPgZSMsHa5t4KHsgJpD03a8QRgi0/bfRCK+jXiCkPNN9mXoXQTo6N/JiX2cFg0MP0yV52pSV4DHnn2TZPPuiCSQ5rE44E7AmRBEyYRMgeOcIqvYr2J/LWODGJy0Z7d/tb+cNrTgLohLjcAT+bZSYbzFegaxhjAIAxI9vG/hFj4b3+5J2IOA6liQY6ryh40tDwQhD2cTMyCk8iKbOA9DX5ma8PfsJx1tXUa5l/OWCHD+qyYQHssYd82jhCK8g1OJE8KrwCpgIzqaw5V6iuOXLVwtMzARarvaJllTbGPOt/G7MlrKYFxaHLqBG1rxAnXrtejqEOTg+3I54N8StYtxRaJUyO1/VrVr2bFLLc6dyjI8iaGFUd1gmpJ7LczgTIPPj7GRofBah4y6c1MkIuRmmAhAStkUtsxUJpYLhqNyHsUV6uyZH2GDMq3CGNTU0shbLai8B27STmNi2gIBidob4yPDuRFOkmKnSwVAaL6XAwWCGtSMndIa7iwTP0kC1UL8AJYkocy/Vg7Z45Aw1U9yVWJP+lqb70NMLMJ43XUD4PRCQHZuQgIWyYNQ03JqLbLp57Iw/YDsPBPi1ixyECM4YzRrFGZJN75Jo/lRpemxMmrBSmtXagqIWAyVALe4Q1yNlJm6mHCVeM7d0/4eFvUMpPae2f1k3pN0CU9qMzGoiNgScatrOSU4C9hw+hncPOxh0wgf7IW2K4MK2fqUsuXu1l+2K21AbOUhH+RiJiO4It1ZtWGhwkKKG72NguYZmteKUXqLkoHICYEdPZKOXi4RmzHVwE0aXLe4YpeDpzwLeR+IxGNCFyPSEy9iC4pfd+pRAMO3V8gApPiGXL3/HakIGIvOVcaUWkr1m9QlJGR4jGwDRRF0kejQAN1KEShLTZ6BFRlDuQENw7OE/83P3T+leovrddbzy1eOlXaUHB+o06CYdqcmfqa1VXiQ9bEa7mqNPLtNt+W69tvj3W+rsv1psbR179tlx/a19dTDh25xGgMULzpyS3p5xmgGSx4IKMJHXR12HgHnD2143I4Byzo843HTf/lZ3Abf5BjQamMNb7N0GiYRrgofBEmYFsGzVO6HJO65HAaqYPz5FhgLvfFJ/Z8wreTkeqZnBZ8vGnM/TzAT2v216d59EesF94et9WhSCLyg7meSZF/3G0oOJRCoIEbGtYzn/ALsDf9J3Ln8njt//qfH//L//N//fjx47///es//fdvl+v1y36Z3x9vX95/PJ/L7X7dtvnt3caFvbj6iA866zejA9UyT97KjqDjMBe5sN2J8DLN7hqj1sHw7de0qJRUjfnXWQHDddH52SQ/q/mzKDC6TWJl7CV+f0Nr8Ipw7XBOY47mje9ymRfMUTRpkpNRohkTTFNn9aqJ0qor49JqEc47duPAYS7qB/oMtzMvwyDZMa6FAV7pCVtuJYCSDtocdnSasY2eYUzXxlQj2qvCWjTVMsSyTzA5fvaoip46LR4cB34qrN6TVHLmXIwytjpkGB4+mM0oHnTEobbRoZeHbnxWD07zOHdslM7yPI53JGzjg3qbwEp+URaf2FcSZu3ir3MOuGPOaSZS0TEkqprywTBtIJqvKB/DecR8QlxsdawsgcznCVSDt1CGCxiRQtBOUAgnJkFsVHmMoCaV9B4ncW8Ed2rUMVbPqonh7kI/9i68wU28dqn19g5kXw//vpVm4yFZXfECsHEIdGJ+kHE6v+jJeZqfalRl5EMTrCDnxeRrWtOoIwCfQSzeXBs9MZ5WM+y9gXii8Y7VsNqWX4B6VkIAVQKn/okUC0nGaaC1WI9OTKPiomw5QoTIF/gM2zpO0wnv7m7BRO1mYgY49+EX3MZIvGLoyXkfSfsBAtuVA3fcNF9X4h8fU0Xt6A6xQPiClT0pFygo0WZ4kZka6gs7kuO+w/2MUbSPPUlRbKUGSIzkdb5wg3glx6EQfMN9SDMSeHznHWUb3sdSmbd3EP4FFR1vD2cJ+VS7YK3WU62CO5fdIwJ5rPuMn+uBhPc+jkmomyJ9lgYrp1EEyYoUnkRmBRNodBxm3GRNqY9ojVQLs2o4gsjJfXoDN8LjrtjAaemEXg4lM+M2utreq3HVTnOhAHLTUX88ccgYZyhpHtIAbQGSyC6rAzxOgrodujknCULQq50zHJSGNuyzsTlnQA40NfJh5cZBALNze734eCzbZP0GGrXBzPIUIYwEKiKCpvAawl/ZeOw316Szrc6LpoZw2mTLG7MdV25TRywFUmSDwsThXaTNmCGj0b1BIKZWORpWjmXHhzRqxQnqzvOseDYdmCPQbKhETSyz88IRMfCEIQ453cE9G3IR1ojtORQavcJR/qBQaS9hROS9XfHub0DTq9T3svBB1CpVIJxbaKcvMS6N6jrgniKB9lmQwKonLNWagkVpA3geYRdrfxwvoeXQ5TLFPKhKB5QGrQE9qgfApFSrSSEcCcwhVEPRqAcHNJQAglsPVKvDpIqttu/PTQfUOpahtgWqUQGWSLZxFNlgHXrfPFSimBv02YYvRxV0yV84tDGZaEdSuQ81iK/tMYLIrMrohVlsCeRTwrkbRAcV7URoEZGaG3gExHbiLZYFy6IuHMWW45+omzZEW5/jvETf8IQhkzxZq/hQ1HCWO3uCt1MD7wpnGlxb+sSKQShqkcFPK2lODaA4xgRrwJBTZ5hAaDrbaLL5igG/r6qg2JaFcuL5Or1UTHy5Pzalgt5/vL09vv14/vuP5398vP79+/Pvl9d3ta+5/nhdH475mfWpOQJSCVOg3mstJi1oAFZ1CbSf9jgzaqABcFOoXE/VzVKRX4kz3HvHTvyjD1+fSDwy65OhfdxbeYIGUKkX5tPnYKDnx87zKA1+usGPf35hmFboZdx1njCXy6F++uL4K2Ix/PUngAwVwXh/1D/zXZDqM4TIN2ID8KDxqvwvMMI281eHiRv9iDR8809JC2iGRObX6/pU6f/lX//jY7r++3N7oller9Pd/t/b+9vrsi/4oWTzXi/kOzu0EsMzZgHkbk6EYzaeSnqu7+6YMkmXcfM2hTBcOmR1wqxnUYwXA1j95dd5us3z6hIUmcGk45h38k5TII0eW2eLSOJrTOKTPEce0r8xxOivSGvqxsK3iT1G/R4bh9LFZnT3o2J6BU4sdBQ5Fm0c+gnGIv0FgBR3xHGssRzRjfojfcYNda46Zz7NZWzJIw0RZFanwkILw/JJclAzR/SigKAOyqFShg0Dh4gpX0r6jRwpibDwYAdDjcSQST1h8d6bIE5GRM535ZRXDWgDbp6np9pc6WP7R8CgqYS3cDAdtO64e1hDGsHo8Drh2uwgTDIgibWaUpkPsMIZgQ6ZzUvvE2kIkncCoL6jg+7+8JHKVrdEN01xpPTmAGz89cZo2cGWDsG1JKlWz3cHN9YbXZDzZtXkFUQb0XQGjKh1iBL9K/tegcJ2BgM5d9st0umnZJHqCE1CpvByYmvZSqU4Wg0jHc+nUZqQaZ8aP4T2ftFBDiCzQylFbzCnyqF14xJFaCkYhfJvt5Nh2AgK6GJNRJgWvm+TMMuvxyXKs/MpeEeitDzuKqAEEc33Ruq7UUlKuKikObl+e6r9AXv0r2NM//DDkX6+1bE3nxDZUA33wXPtglc7hCQ/GvnRSPx9tD85l2oeGoGNufRhvrwuy+rQZmmcvGWKrmMgjAzQOFCMmQFeUMKuppxOgnrPbTyEMnwSda0EhxEFBOpsAqtJh+QW5GTVQyGe9mLk+IKwhhOpiWNYTcnxOVGbAF/9UgW6E8mDstakDSQGHOPzCKyHZwAH2zncMDEfaZDQiEZJuASJK9SPjTYD4D9YfhSR+iLSxTEwt5cESDGTqnM4xsZQbGokR/CM+SeRhocNvYQQzUtgM5h59LEcicTkRYQwPB6smf2r6GqWP5p3dTVKFR2pg0+742XIiDkcki/mbrZlRJStEwC8QDN3mrGSDgSzCP25J3PFT0o+eAEM2gzYteqVVXbomK8m7Rz0oP01gEZSDnVrGGm8te0G49rpxgTDmQYUrntMTvKYVnEru3EcFiWjygQs3l0UwjXi4kdDwXTzfjCR0dK97d3lsKi97xsRePQYSIcPxEtoqpI26THH9LxdNl1MINUovC5wJoJwPOX9SlaHPFmbbGYZwjJblPEuc0/FosT6wh2gwcQNbOEO1iMPiN34+/56PpNcAZuGt9juhS/xqC6axX9SreK4hBAL60HIg6zaA9A8xUy/JwMlnE7OHm/MblVkR8KVWMCovt/7qKPuj6ZxUUN8b3P/YTNeGQwZz3AuuiZnYDCniA+GApnzajMHKruQKOHBtFprNiMIxVQyYcNcT1ULjY+gbMpJy1YZrRjF5mYK9Uf4XvIeYY+6eCT/lBlxEBpmcFGS3bGdkD4R8S6ZwcOZfRrqYn0n8GMr8WBBUNJYnK6uNBLLoukpBUbAUNOXp1oBzh+buwFd7/fl7bfH+/35y8fr19vzb4/tP78//vbY/vrx+PG6flyuj32+LIub8k+lqqY2ha1Fu2U+JSs7H7PHAZbpJKCOwChi8eOnz4E9n79LRffpRqB0Hi93Hnf4ap3cXCg6/cH95UW/e/V45LOF3NX9vJTsYFnf75fYO47Rjl/Po4Q7lS3yxkA15opuQ7ZVDuZip1vJlxswI3kZmUjohZWk+V8I033seA3pBummFVUzM+FNu91fr+uy7dvf//b837b/eH58PD9UO/cnR4jt5nrO8iVJwxHDn+hbTA6wZ92OBshXvxnrmvIE+VDlxHfHpP351J+P5/Z4Pj8+MNWsFbltzVW9CaZ1uq7q/awcV7onpDOyFA5it+mogkvKgo+XMgMfLT/0NBhGEzKdkWaNFlQc2gPTH7ksqA0gdwLO9L+pozZ2ry0ol/2Z8/RgGjzG3BlWKyDlaFm/rppBxTJbG77r7RxNCrWRaK6pawaTGjiiqofdjWezHHcT5BO0a7Fe+u2VGxT92EENnnSXqkuY852XnqJ8LXo3WZCer2EP1VYNwMDw5pmC58kHp27if0k8ZOQcztTFO8QSbW6QDdNAQbWC49/VIzoCDy4WgMqiy5HJGLDladWYOVRGV1zP5XQytelHstuL69AI+abVrJO/ZUji6/J/xgfgiCIKhfuTtrIOa3arse6y0eQWiQBGGWA+jsi35hGZCnAcaQ8tQ4lR5552Y7XWLy4tMCLOlM4kepH/Z0VLKnFqEtkVW3N+LzZC9OtGp+B4McxO3XlwE+BByIEWKL1eyMEZi36kJxhxXBXsdpgR/WN5xzP1zRgv0hvI2M8W5YxuUMYTtrG6LVSP1ZzFptXYJmv00qHpd48O1TGemnxFZURWQFgxWzzsOFMZZt+hfbOgbq7RNgUC41CxSlQbd8zGx4GA4zXVWLDf03JCmEO+iC+cWwAQOjKENabutqyMVw8rHhP4qs4BDrdqrvayKF+NqLG2LYm+emkc7tXyYNVE6xCOw/BhToUsGRywG7ii27Q4cErCdVyGfFdhqZe6STZCgdqP5KDXTih7D+9gCxAZaH6jKRCYXSHdXyis///x9SfMkmRJdh7o64vcqqq7utFoAE0MKbP9/z9E4QwX4XAIAl1VmRHx3Mx95Hzf0WueoMh4Vb54z93c7C6qR3e9dXVUehpzRIfUxs3ToHKyEVLq1oo5dVznpfWes0NhOVe7xwkITNNUeToK4PyTFqZlFCtH7muRsqlNKcQtWq5VbU5HLcbxBdIMiSwaRmAz7PSXaf2SfMPYUmdi1hgzHtdL83VHtcnVkx4P9FQH6mYz69jzkkRlQzydrD0JqMVHl124omwq6SLcrfGWWiHp4EdX3lKbHoQ6hWdbWX6Ph7EW3UnpE7W3oTTQnKXxEy6GNB/0RTv54h0n9IyThQ2v4RpGSG4wU9toLmQUEPlXl4oSwihonaPjhdWnu8i0Asb4sZKsRSoHNqyvywtmsy7TjI8goVm5CPJWPUGMbP3zmW6KKwVlPWLcyC4k0cLqVhjWkLRnFOdaD7tqJ5p8o0et8dJX15OT6a65FB75VJxV9+isq0Kz2/WsZwk868LzvQ1dikuqm5JjdlO/bV19qDB8JXdtkiBh6ngHk3s2sTUpPHMRJwRfOZ5FyTNKq1SCmYwgc2WAdIodHDDLaAHRqAQH+DFx9b8S07gbFkkPhPYNDdRyVTu3OMIK3h6/dI0fR/MThpqMr3oDXaXlRMPFf76YrSJejXphIuJoEp484VGBuZTVWNg6qhdSzocp+TQim+TGiEMPt1viwHowp7/Xab9RGPc6X/bz/to+d0o2E5Y4X1N29OXz8tP358+3y6+f20/n12/3y2/3618faZH17bU99td+ur1SeNFWvVDaVCWoCapI6ZBHa9LVIOEPdGixqzkVY7pv1Q2KSGpXypQ3QTOSwj1Fz5NL5+VHx1tDGH5YxXwpAksyHjfwQYcq9X/+rB+/P7UPUaf5/fu9yf/53X4EfjbPoW95tyW3u7a9w+A1Vx900dV0YrO274slm4ysZcln0+YpawcMjUjlYqH+mDYcQA6hyRJ0TWc2/izHRVeImM75GSH/x7b/+uv+ePzt22/frMY/nZ7pu3w5Px+fSVL9/Bb82cmBDCtQUcKd9IsduzFmmCd1aaTq9DWYmI9jCUcQoE0pGe1nmel5wEEs4FvafkTDGQ1jpGG5zeYI1YiRL1wnaVQ2uyFuAPLNDB3WwYNqSjLVd+EM21IXEAQvUYhcMaVst2NIis551D00DtmthvvYUs0ct1udCpXGA37MGkMRfmNJR8YrfS7UuRRQM/Lccz9zLol6Co+RTuoix+jbnhuGNMV6+aq60xjDRkfxHuafLWfQGXWcwbPUkhojqMp1Pp+25/WOPOJQzRwRr39TKnfGXB2zcyq8SA+gKoqwYL4MZzrwLrCz5AaV9LzUqCHz9MpOpRRB8KQdK7Xm2a5SQWUBF3I4nYLTAMrpJeGcc7GqUgzX9i8EqFKytWdCAY+L5Td515OP4H8+fXlPCRtmdqh/iqEO652c/MNdQpg7VYm5ydKCQKmqmKbqZNJ7gWmmQkVRecdBz9rwBC/i3wY2tREcIBxtRaGQXt1+fWetlLSxGvrQH50qtgmGsND5krTeeqXaJu6vWFdB7ykeqkPq86xwaXXlonfuJv6LvuVrzd0xVOZIkpqIGhpuQFfTm+lZm/VrjqodByi7Wt9hwPuQA0Mw2VuQGdOQy7GfXaUO0hVM1y8UtilSc1ubJcJKSD/TCaUYq4H99MBztIh2irahjn3yAhzpyCVEc/BKkKS0W22rKQByjRHypGlciAAv1nWLheC3kycrFasEFBN4FN1dyqvMkFR1++s2jO/tJIE309SJM2HbHHejBtZZIo1wevp0KXOfWKC1gWe8LjP1+ayqa1zTtJ7FKvrvusSYc5K5k9AeTqge0vMGsdP1NskHregQTHrLCuUV4xpIhFWq7YZzSQupNw+6aIkhpgb3n3i6Y+va6JBrbm/puwXjZLmsDS7E+Og2zSJayAmfi+qXAFXbnm4NahgafoeOuESdI8k3CKVGujfolw0/nDuQsHkmxouEoJYpchNH7k1bZ8qoDVnXNzfzTSz1zYaIDAYs1EmGXrQJFT3jH0mEK03JXLbn/rx9hObN7q7X2XhQLKv2MuHrg7zd6ZaNttmzG6uHVRtNpO7u/A753pF0vEjcBd4TB2Vvqxr6trqd+qI2Hzua8rLFraM22oMRQHe9X9fLbXtteabWr5p6Hjl1OyOLGOa7i48F8YQfbga4NElGajwYaFoad8gsee4OOU6mgBHyiZUdUqX7BtEV0OCtEEgKtisyKj5bBAd/SsjqSZ0UNFv7V9Qi/98MFtWOLjX2Ic9DBXLG9Rj3CLAKDV7ijBw+csy16tSHbSV6jqas3O9MSUk294zFD/OMm38e0VaCsmSdM5L3kdfCetGSDF1kxFO2GKtyuMUPm8y2oKCWRcHDFTlwryJ4iT4KB2a7cH20P8cYMW3SZkuvKbk7X296DhXe9L9NQTYrHmG10yLm/nF6bs/Lbds+H3LwNTGx/eP79nHdfvxy+en75af75fv+/PY4/eX79l9+/fbXx/7rY/sW0XfdctLM9UnXt4NEjm1DDWLtWrmg3If/pfnBB3e2GCKbSCjdvamjX0s3r3KL5v+ijiVD+/VKPp8wF9UQKaj6d9l4iEyeYE6jovz+VWE4N57rOtgyV+f8e2p+fxXaeq/qIPNnvzfjqjiYexbmG32dm6/r54GGe+sIG1IerJbSuUlJynsx/TXv1jpp9HIKBsErTV86CiLyrPHBoulGMlYsBxRMrNTPb9tf9u3/9d//z1GrLv9wvZ1/vl/2x+ftfn3tl9eeeMD5dEOH7YJ2McZ1UrYqaFPZ4aNTPpQqjde274/H4/v3fXuk5zDoLYfTd+5yu6UegEMVYgMbC6K0B59XqgyuUhbJUULW6OXdnkbIWR7FeRUtDcclUxQ03dcOe9C6vFwZzyV1L3fSfFy1eFwhPl3gdkuJBXTT2yKb/3nxkFJ+Tt5TvqZ/fGbUHYf9/N0S0caZh2mEohJry1Uzd+VAfrYgKE5Ol+bgLLVBkYvmzUg5zaE3V6NiQllNtC11UhgnWjSl1WY/ObWRR/i+s42xiOgaQwDKQtiRoLNWi2Nlj/KLWoN3pfo3KpN5P3xTC6IWFfFGtbYSJ3eyb/UKaHVDmVoKfRB9hX5tDJWvgZsZYockQfis4qHkbug+TZ6GMNQmNF21Ib2t9NOJs+6F05KooMsW0N2DXVsJtIdtIk1iwhSvprcJG4b4pjfKPC3CqcdB9ogg35SnOgI98hQsE5Yz0jbKp9OqlkgS+0QSqzeSUS681PHhyBcfuVC6A/IVSHQOYmhQpPyoqFX66jqho1dz6hyt1cB+sZJCbtJa0djXtzMoquXWUxVEDblDm70VUqbZsdwS4QHtfs/Ql64BtBisBvJj1XhnJnKPAdmMgGbYYTl0e9jHvuILVKHbZdM5MdRItmuVn4rqc6UNwMwqzVFMWf2kXbzOz/h6bE981MU1yFSkhGHTy3pcAkjyxgMmNuIXBaE6+lih7I1Ln6sm6NJvqPBmtPrgCSOXeTRaaJJMneHEcMRCl60BRumi2Kb4OFhGLhtto9TYrfXvzDQTYTjlomqQEKsTyRpUcSSSlwdRRluoFIwK01CR0RLTGmdPmk6DX9nqmgQ3p1tyuZ1xGWtNB3P9tO7gjVQosOoaBW92yK1GWbfz3rvVX2LDAAD+l6CSxvyctrH0IW5DHWXQaFcZl9ZvIXQYlzFILikLlCYrG1x3hdzA5LTZMcBKsyIBAGoY9HTdDsqqit5C2kZTcVlmOdqDOgZFZSFLOBq43bPKd6AYrE+4nbuVpPSGyLQ2QIxxZaWHNmEbdEX58PywJhSVwrPP19WF3E+pzJr9qJExOkEZWGHga3lPKm5xQ7PUuj6HqB17PdYNs1YXcbSLMEP+dpBeAnsZM8i8Z6xfgeq0xe7wpFmS7Suz6TVdyizWSXc5GHB28FofWXxvs8YQy/i57fpII/AKMnef3VQ7ldN6fpNJ8ko7V83x56bVSqpPQlVFbbHZBhsupkWwjZWaLjze7qWpqCW4k7E/xSQhYeVpLoCsB7E83QzzkvEYpgggmvONYBDT7Npv4UfWvQcqTnpYHiFOQnaQxBHCnfdbdsySDT9VKJlBwKwZbYjSI8rUeoXcoIH9C3qmEbciI+953lM1VOxAiktIdYvUAQ9v6jkWJ1FKxAdxtMuV+eZ9V1fhmnc2wllaICycuRMGky+n0+PBkCDQ25bKq8v5ek+U4+P5+vj++PJl275vP33Zf/nx/vl4bs/z375tf/i4/Ov3x1++Pn59nL7ur2/P/fF6Pii+wQzu2DyIY1JU0AziPq1L3J+jaZYKKggqWCY1Ds3/7VsyiBZI4XEQeHSWkeRzfV9jL77dBQ2Hp5e118UILUeix6GP//1N32DFm/T6vGZGJeXji+Xa3/3lP/29P8UB5WPnOqjiZOepvPc+vAGx3qaEpLYOKQy1r0Vy5Wm3Nl/B5sil+nO7T26l/3fZzSlY2iLPCkOpeqJA39LXRO3s5QHZp1fyQfbt+a//uv/P/+P/5+Ony/3jektD5ttz30hdfZBppft+T0mIknhOKXY4o7ORvLSnIXFgfd9y68j2uHX2R47IgScgKHQKRk3JwT0nAN/uOf0oTpxRNTNY1QhuWWBcIqbbsXxnLlCxdeWRE5WQGQdXl5rUC1lDgITN9TkgD7s53jS3BZ9f297AHa1sHdIFAicAhQFDTCzWwliGClFtA80X11DVrognBDfokN2nlpZFqYO8TU/bTFS32jj60L0qgEzjKlWiENX2DjxaFCpEwM7kOXWRKmZsRVGkFiiNkTpp20s07EmwriYq2y3frH1Rq3KtZY/uy9IWKiuxHWe/dMNGo/MwBIWD2iCLZ36c7WBqWo91g5rBYciG7bvH8EDLr0rEfB06oRfPqCz0eGgbHSOctdO8f4HElNrMhSxTmzI62XnmKFHdrBKgQvl0SnpSgVpm5mIIsY6yVVkGOXtJztXDQyRvqVF4lJQr5rEKqrtNAEo2x0GzqhbeWbPT57oq8/4zUOBpxq6fBr9YhOQ1CN0+O8zba4VL9135sgjC5SjtKSB5OJZkuuGc7XK98PQ4XarK2WwdxLcqRscRWWUM9ChJIqdrGzJ5hcOYY87e0XVZCLOYOnJs98Ts8um+cRNVWa4Jt3o1A4CpC+esyGF5Vu1tftYIW/g3qRU1rFg8Hrc0Zwv0SPBBUSH5v+jqkir5PRMrq1eXvxEVlc2Z0WRoXk63CYC4riOfwqgsc4pjxvKMpqnODerZQYfrJhc/v2s8CMCUWmTK1c/drYrPMkjZo3rA7LUOh+5OXrOjIRT3Y1EJg3XUPAB6KLqZYACL+U7VjnrIxJKjx5+ro7XGrSPXerAYaEU3Jfu4gqpr/ERwatVYMdl00e4mymHLWd+Qimd42dii1cE4FqidBl50nEKQLCpdgXe/VkLlQfoyJpbVrhDCxbCmhF0DI9O1SgTzE7JstvkRwJAgKwwaNxf918J19aYTo8RdhUwf2LBNoceI2Uy+oHbabXmLv7y70XVupjqll+Ugnjtutt9RTIla8S0JxG7ZH9szHvioGjo7wnueH1BiqpPbvGX+WMkNdAgwji1bzkqud9ouYrxAveFQdSX9eM11A0HS+a7ti8nv6aqOPqztuFSOebt30dSQv7phPnSJXvulPTlqlaPr00FBvYSPSqUkzAc+aE+i+kLDUX5He+leeGe91AjOptK10QWtLxfZ5UhwznYaHwraAzuvH/Go51ELUljWe1FImU0lw1Zm9OSTKtA6hxaysAiymzqcdCJQjMa2WiZwv8Yglrfl2GVXmfejwGIAa373wyKBQmr5QK0dJ6/EN3Ur9JrhGNeyHv2+oyKmDrs4G2sOL/XkbqkXwkZUd+vG5F3sAXekVKEVffAICtuAL8e82Oi7xp86h2WurlklFuOo/5uBqbRSmT9HKpb98jEbPbB/Tduvy3NLbXSM+fvtfnpdtvTN2rfn7Xr5uF32j2uqKR/Px2f256f75cfb6Y+f1798XH7bXn/9vv/16/Z1e35/nbbT5fE6bzkwKaPhWNEexMLjVwYYi1nZz1DApsXAw0TzErMWSM+78DqsN3ZZ4d+3FJ8DrqUAyWecLF5WYVcmfn/AegtBXDn2+1EM5g1Z+oDjok7jbTYzjv+/9yrprov94Xvdev8+brJE7vs8xM6iqOvTt9dojyVaRGIKH3LSu9bqIK5xptusLOaXFAs9rYxVjVxuX/1cmROIXqdbDl452e5JnLie7+fT9tr33/72+M//33/9+acvP/7hxyR47XvsoOd+vek5VwTucR3XT+f+zjQ1c4Jtz6QXxQDeT/uGGdzypZTo6ya0XOqWA1au9y+X68eXLz9dbvfzNdZvO7OwKo1qWvs4PRoqMmZX3tZajLKjZ+ns4L6RBAVnaXptkTfQcd4Ye5FgaduR11TL5oTjEq6SVKUzWVpmxuZyLdxR4/TgqFjVx8H29hb5MTJOKOTbonqLBaf6y8vGRF/+Uh+x2KkNSnINWlMXYoKgWpgMXm1JvcXioD68tm4ZM/9fdtflpLNYTodp2vMF13n17wqg2ufNFIKaFz+thipqGCNcXADcAaSLLz8bT6s/OsSU1KEudN2btQHWozodPebgNc2fJ+lQ3UAtsYS+vuI9EqajgX8DDCGD2sxz/zeEkDvquJ6GUt7W0sKum1qm2rETx7ruNukdVgJRo4tK2l4bJMZXc3cEi0Ilx1hflnHVEaws7oKIJJ5XwuPzSIfpVW0i42vinN49LWGRwpbrl6qga+MnTdT2YirLq2SXBkvoWsZGJsaKXTIK/WD6ojMsToR2P6Qtu364R8Oqa9M7+Pd8J1N1XPs605co8lqW8jitSn9G1tnsa/WRdVujxw6gtobrbiJO8064/K3vlHGRPLedvsrM5iaMj0aZk+FhtdT3U7CYubGk454bnwCbL6kXX1y6ibOiypaJzKbu9yijTieR1+tFJ1V3XnWZfL2j+89sZvUcFlM9dcIjuEa63dWKaolzR9DGfRwwHqDswSl8V1uym1rdfbZT3TW0RSIrnRzkLNVNx958y2M9jSWVb0wM8Fnc3zY/nbkFh35X/cnAUUNCjgkoAXE6RtVT8v8xUCUONdf9aQ7nJAbHvRxVEE6qQ1T6s68a4Sa4me4cooDg0Xh7yXdRu67cxH9JM5P3CrbFtRoV2+OxshEavu1cRWB0ZfWWqbLNfbbX+TZu4KF+QLxekoVlNLW2aoEKHlhj2kqJO6dLsm8mdXxkmgSEYWYADDLQkpuXGEo2g65Svl6iUjcQ1NnHgWNxq4HTwoVH4DTfiQFIW0h3bfmDEi6vnJA0os1E97dEnsTkpznBCPC1JvXm6HjD4Pd85wrFlcGDG6xl/aVanmXCOE3DusJkz2a/4/dFzNA0rk9x7u744G4dDeUfd7Cj7RWeg1sEXHPQdaXnwo0T+0ywuSKkRwhRDibJIP6Z4HhZXNtp7Cl+TcP2cZ8RaqaPWnEcitKpLRbroXBJlXA26nqdz7ek9J+ut+u+J/vFQ6SdXQlxju+R4vTllcuLafqPw5g6uR1rch48KYETxfLBLbosfBsXQWWf2mp2h27InuD0Ol1vSAXaKKb+pUx5GCkO0lUrU42lIMLydg9y6LdGGuCtEO8qET2I0gJsWsK0NdSo8Wr/Rj9uYFX2mih9B1Nv1xCg8ksVt/4zDyqAM9Tvu5V4h1JrPcLQ2OkhbDNms3DM2zslA/qa41Kf55xr/byRSZLDY9Ks9HW97tfzdk1j+P22fyRi97rf7h+300+Pyx9/vH3fT98ez18/91+/bX/7tv3tsf/6uf+275/PxBOeORw7tnkauxCpr8/TiY6EsjK4zqgyrr4WNmD2quswHDQFNNJy96oYWIJae3j8MYBRphm8qnIiFNfwUFKX2sctOKNfL42ZN133eC1Kebt43i/kzYTmfZmxX6x8KI+OYia2HnA/dzzGMHqCslhqHnvADRjkqfzh22PhqoYu3kDVUMoPuiut2uHZPwt0YGn+DLtaTq4ZdA307KQXh95JEMyVHM17ueKm+/y+fX5PP4exBJ43QpNozMlb8NSvApOiejm8eHTe25+vbafsbNsej+dje21phcVhs6RXXG94V685CixHFN1v9y8xhtPRLe4YS8Zse6U6zklCpcYie+cK/BboBeHaKKXkgWK3q04E7ujGD6UpH1W2LZzOzVTt2hu/FKKhwP/tBYMcqOkyK2EYRm2OaEus+jdSlAfLfRc6+T61IJYd4EN4oNJHNZKMPIJCIrX9N+o8bNuKzCZpYmWp1AvTpL4Ez2zTHSPoYuehaeG5kuaUiFzd/GHXWDYwdZjNaFi+7m1S1NGdBMPz9myKQm1hUMWd5SmUA2QEt2RWc5CVz5AFXNHGsisEXb8EWfcYpQ2RdT07P5Zg0EvRBhnXfyr/DuqsZfdPb9RQejNo8+l0AK6axd4QFyzus6q6qiNcJytgJW3Jp+SM0WzCNmbN0Je2GvkMq0FUq+gq8Z5wRnIGqTKQQtqyC+vdkzuLwVClDDqhl+pRpjjB3mlBHD1Ku8XITXmlSWelUbkmmZM9N8TV8+zPVYbai8kU0Gb2fkNOzJu5Dvw1hueJ0x1wo49s+yVulqo6krgKjL+UJ5umCskjVUsfqEk8KFx/5dRx0dh2tsCAUZD6v7i4/ZZd8CaCFaCHfWFs3rcvtDfMUiSZgpASJfcuu21KhJgRrxmHvcdHNWf8aFyQMHxffG3rpQqYRjFrFazC44Zz6ZynnuyJq56oOnS9pRHQNVUtrz2dreJkD37aj7ANBT1KhLVIK//i5BoVw79MASZd+5ZfTXgWdKbHjz66VMLwQYzA0mMXUT5/cwBWteW3LllvqhuiLGoUuqnPS6uVVFu0yUdy8MCZpC6hi8l9PO6WulVW23QF9AIi+bQ7tNAD54WmGAZ5VC7xYMytGhXyvV+kC6yitItbfhFg03XjIHQNjz7dZTs6uHVcvw+OE7XV6wOCl4vDa6iQY3UsitSOpKjVrIOwcqNw3pOSxZl1hytML43FHM7u6aHfFwL0CHTZK3Lrt+wiqhaMWThTdr3Z+uF5BfA424owleUqi+PG04umf17R5b6sZa9HRmoHX/bnZrKQBb1a0dmsnIM9hC5qJI18CuhFgQnZMRICbyK5A+uCCCuSD2Ph62AyYJ8WZeNTcPlG7e3iF6ywfnlDqcP4XU1FC6kKE1SXQibLBdlLhKE5GhOZlUpol4VLyCR5aYNH9QgN7tEsIPx5Jh97Tr0NIaBSn7v0mInd2htezlTFlkKdjiYdA53mUseRCZKWIkfB5vKWbu1/kuhfKblQpYpDQ87bNR1nXHLz6usipUxr0Iel+D+dUz/CF53MynOTMUYNMhRgFr+RjYLncYc3GlQtmmP0YGQZOs/B09+T28veKBDLeS9Ba9t6M+IkiCy4TYLQBoAu8ncTwer3UQOk04YIWfuU/LgKdqWIi3OUuDoLpBMEbwdIpCmUoyqZQ9G0TlSKs2hu0OfDNLjsL1LrfLvsO8cjUTn5fKR4khbl1xjAj22/P5+P5+3+vH9cfnjcHs/nY0uH3a+f+6+/nb/+dP3Xr4+/fp7/9dfPb9vz8/l6nE6fz9NGE5yNk1ditXMMlVJcw1gDuNHDouLh3Koaw9Ypg7vXEslieK8t/jFdP5svu/N9b2RaIVFuWgk5XWLBpC519ykezqaja1j2+gLhPMZ/32UCL1SN9VenN7Oc0SkdK4Q7jfq/RvEYiejzF0UrL/1kObeHfAYHepkDkS51L6xkBIFgxl7TwdzOWr/tV1dskZ4cd++QrzMLgCYY+HzeOVKPPs+na7wiIYXr6XSjQJPL0o45lSAZ2mXbnob5OJ4n9uqE69xgDxsj5URnt5xM/nMgYA/lxUe+7ftG8wVTVOKHuRFLvYWybx+X252z5eAtuyO8Can0D+4pRsoMMFAcBzxk0aYTV7Hx4ko8jJGDPpoChR95bQbgmF0wf6cP4iFqZilkKN725DaVbKWAPRTmTlXZF0UNpwyXOCmVI0NN7lbZYQZaucE+6gM1GGxDRMo2fvfiEB8RkMwyLKVabS0flDLNZ1bZ6LBHFtfbm2064u1r2QqG/Y4xv4bF4GIYmCpfohZ8zbxCLqLH/gR5Ds9PtYgcnTgtSJqLxy/vLuaqvZmL5wg2AU2/wJPu0PSTP17Oon78AS7kwBK6hH8NJtQq0+c+hjpDJraSuE6TGk1FAocqSvbX/thPt66h3paGYUur8ZbGRUDzi3loJqJ/h25POkc0Fxmt91HcwEGFo0Ff8798SS8catitcRaHdaFoZhE86B5N78jvHRD01YMt5ToOyKxWLHG3xVoVFyOLBjBk3oKYhjqExc4a53SW1bm4ndb1otK3MJeGwAqq5eTLQkGvdqGAH7qgXxXn1WXMeezRetBWH1wl1K+3RjdH3Yyl/jbUxsmoqW74xk2to9vMSNGl7L66m2pX10Gviu7mNk0DHVkM2bfEgW0GbMlqXZqyXTWx2gicy8ITJv9hAAMoULbwqaQk2Q/ouVHdIrkj9afd+ZY/1rexTnKr7HIOtgGY7V9YatpGJjGR7rZAczBeJ4Z7wtVYDdIDJ3W1gM29yXhaJlI6Mx4L/pQEBMhatc4KJ1YbFI1m4xK4TO6PUhMN3hXOZUbmOk5yj5hOYRwXao8VjX7KKbX5hAWR782IbgOfukBOCaBqxnujFMEupaRbUvXRFjjrbaNg3DweUI6V17jVFj5NJ/QgKVXyss9kO4TJIWU1cxoCzzAGD9n0skxfpUJ8ani3E6U5Pnat23GHdVsWYOvjGYQxWwrfB91enrvWzR2xvW5pYuekD3SHMazKuFQC11qDljyZQGNT2Q9AWz6RRW4+bR8KnQoxUW7YE3WPOTeRiy5E2DxcphxYXXR1CNMhzSpftlRsLK7n1IFmu9aH3dU20Ov2anRZfFOzRM+nBoOtAcAbBa/J8JKVeUFsYqKOULj9t3EeOfU0n2pb1/J/A3kRO23gOV2+3Q49L+4pEx4Im/00fZrVwMYm4vJosgNyCsNson36ACYbouoRzBuJoecvDWCEVfwOS9sT7CYKGj2sCRHLKB1Pie6DpusMhjikisMD+NzKEaV0JZj8q8KTwJ8WsGOaqletcUMbpjDZ1LA6+tRlNeXd5RUDB2x5hEH1sXFc8yp8Aqzv1fdJw9jmuTghhjo2QKWUC+JNciJGkrNvt5u1NMqqRKIUBhOZlaLi+yTz37Wh+SuxoLo5OniTypQRYkl6FHS6TQ4tlhSwG5QSWNoXw+yB2317PbgFZAbkJ8E00botmSypBj5fNkzoZ36/frz2x/OyPa/P123bHp85CPr5PH+5nn66nT7309/98vHr5/7Xnx9fP7evj9jAXx/7t+2V7lmxRzjt8pWwkW3qzOlMl4XIEcI6VXAzi3pRBYvC1fheKpq6dUv0Ld5vosJQ8pJ6SuFFiAfF8Yc3rcrlWEZaDlRabqNAexvT20jmHuI6v/cKP1wj/x2SC8AO330btbss0zWBMKlSnZt3OP6s7f6+OiZWNK4y0+ID7zWz5V20eghzhR0dBVlotaLnu/r7dfp4qmuXlFdsXap/rjQe9zQcbs45ZFu8Llf4+Hw5fXzcP3748vHTD+fr5UEU9/5x354JhZBBzdgSP/b27NtaGuG0K8JwUwKcGHC8Np+f++cnpG+KjEW/t/Ptdrl/5DRgGl/RYlp7JPNsnmc5ukrZ7Jm2YzfINVtqjemjAqPJuKfrKWxS/1f3WFp0ewTexNbmdjWOlCBkPHrwQYMJ6pTNIcx44aouh4FaQ0w6VQUngwpCw6jJbpYaliJ+of24YOZGkpYhxCSoJ5tj8rOkFg8HSSRqFkZ7AF3YK5dgR/xWVTPxqQNiD3RqV0EvNfU54hhTdROaETOmY34ZnWvGbsqnCrpYh2Xl7AjLPj1N0JUdM7gsNzZnXu0YwvGpqFhRg1e/YmZQP4K1cnb8cdNwEYweMjTVIE3Ue7jrcjnfWA2i4UqfIfdm8xqV1Vwy7yl9H+ioepQBs1zKekux3QvBVNKVnOsUYPVkUiWOqoXzOrKIKd1VidBy1uahamqSDMzhUtWv8MoaiMOU03vzNMFWzW7IgEXzBFr8PibPo3TR97Z21qxxErsY17IRm1bd5OTFuETAoKyFacPKuQb/MI4Mo9NlcSK02WmWd3QJSkgTaLrcyPBKZNFADA0gOYJN78mc4pFB79tmX5uq9Fi4iVXQnQPeF3vDDCaQHdgG0hhBFy90yi/pMTOKlIZxm6wKO+TcDQmoFk2tNp3pRI9gImLIqWP0Xl0vXnF/s4ZTXlklZ/HY2L1ouUTRAp7WfTE63KOv6+2qibdvxNrbLh4iWUx+Ot+qZNsAy0UxfIQHQtpAK2+V77GffbFqA51wQTmzAWFTe7R12RJyM7hB0gZtgajPRpKEtnxUC7UHSrKEdlJduzELg6k3cVzmoRVsqk/TgRQdJThTB/0rLRuaMa3P6VCzXRSN9mLf2LBVurlSTPdL0o2PMb+3UOvc1Q+KXijmeutYWJa0DidTdPiNx0o72u9jJOjqMnKrciXnX6+J/Y7719iQYuZNl9P9VpPdLZkFHL3aa8UCXQJgmeZr48adcJeFkJgB7SJvfrFJPWceBjj3PaZ1rLjCxCxLb4TkbQygK1WjqLsIxXLo63xUa1iU5ybKp/ceeockY1XLfnyRw6R8gpa3R0A3bVt7yrWaSk5BUML2Q3y3kpSLXFUjnlqTZyk0izmnAzlbTE955RSVCVjlii2prkaRrhNXW4Pu4HgWmh5PckqeweJU39b6d6nfzjEY2zvpVSXHsKt7p7Dx+100gTJTwy+IIygzoi5+4lThrKRKQziTAVDCI1KN+LmmsEhz0R5/w5/+ZyINxLjbMa5RkAMQl74g5NR3aUM6PfEycn/PanqmYgT5nLGbllE21nfPGHzrbPmqpCIpsk01h4t9b3lKsCeuDZusqPbJsuVSl7SculBUtqkyNcUXzyTsGWCWAwfxDsZi9p7AjGzxFnRbpDTDGBqNr6xup0NGALRE5AGYA9c19uWJul2aU9PpumL1W9TFVL6vLSdq5O+qzir5DdKXjnwWJTic7YXC/Tw/0nX6cn7eLvv2QL/NEdbnj+sl+aTP6yOGw76d9227xZN4eaQ1/OX75+vzDz98+5Yzlb7vz++P/evj+dvn42/fH79+f3x/JD/+e+qLszd7cqRPj/y/imAyGJc1sSBLmabYVcp05UufTvZNjiomlgo/m1WbSVKuTOuXCpve7Vi8ASpZz1uak9kPZggH5rqDb67M9QQZZkTWfDBmiY+sLSsxC6+sg2g2NQv9j0EcufPrNQbMrMSEMNNW0GjwG/kq0GfwPn6q+h0ub2ndql0Wa2dmNdmdMfFhLzlfTvsNA+ia876f7G2OSj2/XjeivZcg5PN6O/3408cf//SHP/zpD7cvP1w/EpW9XD9IdY2NPGZfTXDDFoIUm6F/m/nYCcVT+2L9PvbH47WnJjGTv8a3HljP8b/5P1YHGtXNxNolZZUk0edsMzVLXlw0G4ksvFVLUtJt5ZclWlgLdAQo5Mqb6vJvPCjAs90kcuZTen1xokRzOsQvH6NGKDGhxkhdpuOqyhTbsWe0an0mqKOVWwDQiyBBlE7NpfF9iRBDooWdCarX77C0QSZgoRlvJpZlmxzPm7qeX5vVf8D4RDYVoq8X5yq1btzPFo0JBaBhrVtMRxK12obN5+fTy+uMJTQvZTl7tRhi1NdhMldg4YWcfthsiP5zmpeiJNgYzhWOpK7hNJpGgtt5LmlZzMRNH3nNlFa4AkMXsuwcqiM5GcdAEaTeT99NIthcK1lsrxQGXalgmsRjV3ASGq63lBR4sHXtn+QbqCpw4Tl38PSN2DDyV7tYm+BQTFb7lF58zSZJnIbuii8iBMm64oKlO4qjGIoKKZTPxlrBx7HyZhNFZMEuSxTbsw+1HRq1U7CTcnJBNECfRa74wIqZwEZ4V0OFhDIrpV01/UqTAQYCvgUDHKHmYg8jQ10hbJEx0qY0reNqxzThH+aSG9UQRq0PdrFIy4NQjUdoLRq3th4fQT7a40/sOpkDq7qEt/3E0dMhPHLvNHEnpr4qCDQ5y0ciWDvhG+x0zHytMpmB1N1uw1GYQRxrLLAMBX2a/y+DBXvwfqREam7HV3L1zVGYr3qoKbBBs+rVi4bs+nVF5/Qro8N1kycF3KVJGdKa4NVQkxvoGraUHGitfeWQ6uSNcWY7IgfnSHyKHjMu1wL20BeT9XWQLCafwS96i/Jd66LdU8T33HzC0Q2JO2qJL3TT404znhz2Q6KFZ8/K/PrNmE7THaEPqwWqyqtJm8vJjIzprThVtYWSZsMvmZMadhqkCrSTU5IuONzBEGXddWY6jO3N04luxYHK/tKsiJUElGxgGxO2HOBE5EmJzKA9K4Ft34P9Ok53ecamQl8Pq4BmIFen0YJOs6a7a3WzkdyeXCzFXm9KyoY2J5zfRDAppeaKtugAaAFE12lWYH/m/MdSpcvuf2MGTBqPtaDkPtiqyuAe7jY9ovY4CcTQ5mmaQsk74u/lBgJbM8y4jK8ubpJ9iwKOmLla1HoFTVpDAjX6w5WcSLt71SOaSEIV8XkHPJOiDHqXoLmXmc+zWVVkHdho1Wpd1XBysCa1DefzZdu3pJHcbygGqQZx9cpEOTysVvTUynJ/cptsTSBIlcVqdQwAuIloQcbBqjcwIWuNOCb8sifIV/gyVrw9NzqUJGnMbTVJnrhlDUvD/2ZG2cvRPn9O3g2S4mXwFbK7kR/Ixi3nfSNU+Tn5mWPNVgOtLOWbI0LsMgXQkNwh1Y16mK9NLrcPVN0pRvmOr2aqZ+K77qGSFXTkp3DNqO6KewXGRCwFHzGCeLUyopfZEAu4G/NkhVgaFC6doa97OqI0WnhOiS95ZVD6FedIvN4qoK8cjBTH8OV2TiFfgr0Zxr7tud1+e3zbTs99+3xsj9znS1LsTj99RNd/fLmn+vL5euzPr5/b98f96+fnb5/374/nb98f37fT18/9c9+/x0S4fX+evoekXvv5+thPe7p/UDrtdo/Enpx9CLAieRBwGcUTP63PrVcsSq5zpN8YDvStESu8VwjuS90tIlKPXm/dy/vLkIAqXVd6rDU1C00XmGm+826eqOjM/q7RmRpH6SyPKCUqdZ3aUPJBhMpJubvXSGJLq5Qml0ez0Txp5LhLLQ6JlE6FVV7xo0QuwJ8OnGwX6A2z9aV3/HpNEPh6nZ4P9CS+JTZBN6bL64cfb3/+hz/+wz/+6Zc//fzx48f14+N6v9mT+XW5vaKRZ9tjV4xrIIiF51AEZfWiXgRDtu20P5IP+vjcYv1uKvgd85UzlS7n6+12/bifb2kDZzPTY+fdYjYuerOBkqPSLEt4u6EAIFrYOlJpSFA+9Fa8fgtoSFaqju7ySrPV+F19XB1r+dVBbeFRkuEbw9fdmHwDD9+EFjSKPMOvYDiabsKFWlHatIYBh28EkYBkWJMzq3Dc9mxFUYbb6EXrqNoSHJ07p4M7HUTu/XpPSkn2ZVc/RkBIdBORU9lfcchZATuNWJmixpIUzayzDKDq1fXtpFpRhUXaqlFLBdPAeTLj4oW0xuoYgEtZ2h/mqo5T0b9e5dOeCMqOkD/fjj1ILu0X7wIlYR5a3SotgshWGlY9nbrQI6rpi9+kvsWNyjT1ZE71qxLYFlnHjpe2DJF2itXADcXkcOwLtvO7GHPpZvot/Zie5wcQEUZKsKIMM+jqCKbjd/dRoEAEHWIaUdblNzDY2mzGzhFrSuzK7dKhDXpsz15FoJzrILpyA6cZkWVgOzoXAQm+E6L6+PhQXeNg5y67XVGunA2eGO6WBMMr3UQQQcRA6ig0+Vmdx2O9iMC6Ppi+thnD/K6krzI2exzFv9DhSrFJuoliSMfY8IuQc7fSSTaqRGII5QOYLbIq6sSUQCr+xfGuec2T6cFUhmoMubklZvqrje6cuqJ4UbbFNZSaXiO67QmlDJ6tHUqY7GuWgqslTakijRK7lXypHc9NQOqirLJJNrdOEYgJM2BSYajoLwstHFwTNJaP7NWl26T2hWm2WCA+5jYbRekpgsiC5lqSwT847xP4wnPbU+lXQVtgt0xRBh9Ir49KUmiJLB12WziidtBLRRNejZ+PWYVOnnUwwKsjp2XM/aWqvUTxzPkI8elZBzc5vU5YWwULDVKQpZrTNISiPhNPz+tGhmT+NxXqW1y+DZ25JiOqtXDJ/YBPp3tmY03m4rpRq9ubSbY0hYaEMXwm8l5UqbbUTR+QdW49xKLUb9Ub5J2mmZ6j7bqWtPRI+4SWwmuXKAkO56UxrjzG1BVxcAlbWZ1P2sUBYKoZMcq/6yOtIuxDyRqomUO1iOIEcKn21w4E0BLMtgJ0awjk59T/Nyw9+I9kTckOJSKkAY+uUBdibXZ8hMuhbu+30YJzbRwE9omYvmLWEnfI5lfI7rQrYFvLp4oQ0RA2Gpbhw850lprfSLNH04uimQSV1xbjJJoBT7mQ+x0Ilq7k5XzZk2+QH4Y+CspSZrsdzKjIQyMb7agISg7UaHTQl3cuj9ueUbO/el5NZrWHKuwSq66uOm5EAKM33p9tpUELOexOHwYplWb09mpDAPu8WbRqQnq8li4iynjNSOIaCUMySms2qm4y6aEruWpSlApNyoZK/TEorblVSaLwhoRmZ/P70t4qBsd84zaKwTqTHGAfYjg3Nu2mN21S1GrlSJfeQ52dOjFSoTx90WWZgTHgfBrxv29zeMnpeX5eXonIX563hP0/EGqn07al8PcVwzh9LO7b7fH9Abmdnqn3jVvwM98I623P5x9+SFLr53b9+vl4bM/Px/1z279+y8ms3z63x/b6vp0+n+fvr+fX1+vr6/L1/Pqeo0MvO3F7HfbdIzUwlnCtlfrOWIMlgcGTIotvvtMI7x1rtqD07dJiSTU6X8sQefu0z6vawkWt//Y6FRHpvhRZx7KWhF8pUq60EcfuNBCDVRGW9DkE6xrQBMGHsPsB7FBVsMdWd2B8a0VVS45MZHysvXWPFuxzsfeivkVsmGri4sfhCMbE+jX22wt4BsmBierGLxmmvZz2jx9Of/fnH//x3/7hlz/98MNP93MO/aXdY7I6c0rv+Xar6+FtwKgGKiLomZYY5J09KfZpfLV7DBIdj3m2QJT2VxnW+X6+fFwu92AMnZNmi/CcecKcVTkmkwx7Z8v0GI1kL7qoDr3thkFOCdh43WiueAylW3WbMXut1+guL4sivxzosqR96Yafko/LPAOAsjEdC1CtcuytmVVBYuZhzVy1qm5pUyLHGI4rLYkseVDDepoxFfx2tSnNWCXrTZAdSXhvDtdUvqAm9evlYHrnmG1QLbtKIQPGaBeTFfMaZQzbjoNIGQU4C6JBggco+t57hFALYyC82UkDnwoahpA06TH40D3kDn0TOo8QND63fvlkkClXFAHLW9cq0OgdHIbXreYGSxceXh56WsZQnk/DIYBRGeTtcHhPVLlHro6cE7Jw7DZxTKFfcQZFpCnDW82z/yv2GsxgTbQSHDZyekYqNfo/T9NAZZJfNKY1ZdRe4hbnTvGrQhU6vwH3BXDoHU1dk/2XUj3TTTNOywQ89sKMp4q3OtRLHVYLSifcw1JQouvMsIDiXh26wbgVuh1lvN42LuYtYQ/UzCqHfSwYYAG2ARGEq/1pyfOEkp3xLHfls2G2aq0mYqYsrH0/qmS7e4R8pDFx0ljkFKsSQLqmAovl6fhN8ynPuu4AlwEhNVIn6wiJIWsFScBGnUIDpebwSdZ+Ze+PHU6bT0UugZZeQMqju6Qf4zaDwJWKrWLhyyGfUlfTpCAxB+0qh3j1ABUzELr5dcB0HCpUvlRwaSRL3H5SBIOYNJFTBSuTIDwPXSR3o1nPeSf13t0axAHIBsdxnlLiBWEzcw0YV4MfPMDrJXvticqPQWdJVh6xbVKRZdi+8ROqbhyP+33azTBRFSjtzv9t87Nsj+ARJqEx8fRU0Pqzx5qsq+8tPnDtyIlVBkiamDS2mRTWIHLB1W1vVoAUlj/jslW/6B3K/1oLvZuStWCDQEKRbjGq6TcK80MHp+u1eQhu0Ol0vt8SN2uvJiKIXRkafKuV62xeEFAWlTIse2mbpe7NpEmIC9QpOd9168IHcKuTSCvaxDxmvFp/+eBResK9OSn7csOZ2isKbbyhZLVUTENU8oN6xpVQHj9+xU+8VUFEJGtRoNGjdcW1JzNXQM/mFHp0JeW85UHk5mL1gHWYF2KQjvG+EGczSD17lAoEDzZjI0dIHatmEosfrfBgT40iLUq/FqGGHs1HpCRxD/O86XUZNLwbNeVA9Nw/Xr2sW3MTsGcIwLaixhUzQW86fr1S6YGF7NoG5gJBKg0akx5g7/nDTQpq0vUN3y6vVcjtWomP7g6HRozcUhUElwVlwY39yheEv4pnKJCVw6ymg0i8ueaqoXXxxTD10HTzV+JM52zDOjWlwyZz677havfF74fh6DGAdwNVD2qAwk1vm4tz9fVKikKRWEDj8uO6/E/mcqMJ3awgpOlYKmMQpPpfBjBSrXXtVSoq4kyshJldb+VFJah63fV8bkJiHnN57ffzx2amx75Zmnx6Xk+31Afkgo8HeVfndH/eEsy93R5b2rbnaPv9+Xps6c/yc2qH87zHY//+7fH92+fjc398Pr9/3R/P8/fn5bfn9b983/+yv/762r+fkhr9SduDiiUVQD3os0oV3GQHa8Bkar/T+YZ52LPycWm6vpuDu+e3QtmodH6gjfN+5Qi7WtBqfv2uYQnR7yARszAP3dx3EQxLbynI+HojiffR9xGd83xtJiwzVoes8uCQa+C4SGVs4bvjNctAZHXwbyPtMkwJ0BINOoZHe8SpS9v82saMLZZnYjsBpnsI7Hm6bNf7/qe///nf/Ns//uHPP/3wy/X88TrfT5fbOQlB9yQqq2RgI41Y7BNdI3P0qKvPeKhN3Ldn+j8/omUeRoXDqneHaNnldr/lERHrymoWhjyU/jlH3c5ej/9l+NqSGT5WydFyG0UIFUHEGCfgHGSBaVrn5zwFh6OiH5trZKacrjwXqiT8Ss/uunp2M4oWrSh6qlcLmK2Xolcw5jHKrTGjwULNDWiCNhw4+BWQGWGLWWjEEEWLHJMkjwyIMxJYJPxfxZ7gmBR1SamLbI1EqFq4e3CAXb50CtT3zfzsWTOmS+vg1P4HYAXxSQz2o4zp6gkI8lghNLnKQ1ezkq6cs+hMegb4eiH7ajIZsF0eJS1PK9HEiuGcWnAwCichJdZ7eMZHjXdNHCOzq3GvU3fGNYMj+bZSo9HjyuvyS4t1b7JnbXXVGyM3FL2dNrIX80WLwa50spmou37INaGGbs3K4K3xwC6ak8DquJASVBsMjRdyZ+W7TEtnQEXiPtS96zjurOo9rz1YY8TgXO8DjrZWXL4eg7+YWly74pJGm7qir5VK3dmWoOZaE6F3/B/2AFopYyQk4lBYeoILoLjCbOipGips5vZOJ6L0Uhs5IhX1RNyxUVfyOY1Rk6Gu3IecPE+rX7aEPIQXvQP4Ir4gxowwqp9WjlJjFOhSvYhJoV9e98Fh859TuOtIUKrqfpKEEIHQsJY6NDZo6dbXeUJFGw/l9kt0u6ngAF2gh/vyT+DVsFiqID0ZknXUPdBZSXFluBbwsDIC8ST2rA0q1bki3TITaPm68o4zA0ho0h8BGfaLPCz/T1pcvkpUTrkIfhajtSgwJ+KkudIgqEwhFjiUitjuUBMJ8Fdx1kv3r7Qi56Ac97i5JR0lp2YaQHO5bytgzTdc4fR1poI2WFap3ZTAG+WmS6zuXQFT9x5hRw4Bz1jSKUaTW/L0sE3LeLKlZFa0Xu9Qz6DapOLglJrKvCZOuJD1IHH8WqNGaNrznGJmrSaVMDeRRE0dOe85Nj562WNV25yYabE8Wr2hlMFqL26xyCS/0bO8CO4w+iMWl6G7fsFpFNjmchPy0R+cuKNyQAltGVtm8s/GKlcvl87UEc7umAHbcZth2+giMmx5zjIA/BqrMQVBUDPB2nSkWqH0uSzSUTuXZe4+ym+jT7dUp8pjnD/MC55gXm11cKEyHMsiXezdgyFIZUCFWfWK6lgkcBC1kPWTVQHsu3fUb61yKaKEHEtrGVKUNna5dArrwVbMIDlsrX/JPRjS9ZZ6DTTD0LJtFX160hO7aDTAHBiZdWG93KaFO+6Qahq/rYZ9LqiVY22azP601ZxL2m/BJuaHdCpVWUpbvm2iEV+93cLvV5q0eAcLIATNyktwDyFk6QEykseW+urz6vp1Xw4i6Lz3jZJ1u7Oik5Qxfd6oM+43elCHXJS2NY4bD4rWj+OzBqN4NaKnxGk8Qz4ZRdEHuj6iruxunV8KsdRH7Gln/CaSNHzHGNOs45SeQtvzfP24XV8fcFUSDYLCsW0o0dive+rvdk/Divs5pyft+8dzf+zX1hS+To/Htv9y3R+3OLS+vx7f4j3/fJy+buc/f73+l8/Xf/72+Mvz9ddt++11+n46p3Iw5vho7iroRpaY3YCBruwSQ+0499c1ZSX7jaoppcBDgP7uNe4/vjMc6b77e6mstrfDGEdtPzh+feOK/mhfYnf2d34KBiZT9jbHjfpOdcG32UlnSwr3U+X5Mdk1BN2yxw3XCDW3Wk7aR1Y2OzlS1MU3vokcUWYT8qXzMxYphyFByDw0tu3zdWtV/v6HP93//X/z93/6p1/+9A8/fvnDx/XL+fxxvv5wvXxcrvfr+UZJnYxAg4MZjhLP8K9bgKafhIPHvn1un1/3x+e+f5pTmeGZKKGSeLulr/TtRnPpzMPcuWHjrqVUVfNeKtDGHE+HCtGiAYSM3pCSU9Wb+p19hht3aADyNKr9iOfRII7tEAOAusJiv1tLT9lH3L3Gay3wKpm9uGGx0WO4/i2aJ1zXsKxoHmhBqmJvcStzLJ11JS7HnpMAgFpY8UT2UM3UZp0FV414oaqhtlVS5F09gzndba3OKBaMXKuv1TMS43hgm8bI6tYmHHjutqQwjUidpry7NgjQZVXpqhehmkNpw7j37O3r1LZBA9uSzXCWtbuqsqOaIkMbem9tqbeuFX3oEcyoUCJU8JyBb/nJZhz8+k4xzLkqeI+38eX9Lu22FsFUc1SSxbfYDNNajWOgocgvBIWh1GVH/ystrCfxN2VQjQH0UGK9PJNl1H+6u+xb5qby2c7ncHrP+1oWzVwvly7BeuwBROXc7UdleNKpNqesEVZbpPXsjLXYEBd7KSl0W7v3kq5D6EnjDYNL0qiLEM5KS6yuNWP2DFfNe8/CqKWmmqP7ZhTmWRixBXO0KGRBZ1NHxiDsI+jw07NjlBZVJ8z7tQ7quL3YsJgxd5B5ZaGuLq+gql0QWPZhAgnMTTvIsqyuzqKzoJOsYOgd0CRTWcLUybp2tSzB7PLic5pDMmu1A25C5NiByxostGnbGJcX07rxunlW4s3sEE4dMaXkVJHseuvAgjASPEy6k5NgOxU2vVPCFgmlGaCTCA+9s2q61DuM3TGruo8OzfjY6e5FCaLM5j6WRKegmWVDc8J/4BOXXUJpOFEUyjecKRDA0SbPPWW9HmslRabVkKqjnfrNCxCRBEBdSYOq7mrzfYirdHal/igH12sCUxTypbDwWjXIvA1VSKOL+nUI8ZTT/V8uj0yAW0iTcFk8z20t6aHfGROkMFsrDtG2+kYUZEs9UHhKRNKLCGOgSSPEnFdOe3GtXjR36ZxGuG1/nUpCXLy6uiPi0kXSIu0sqEcjCJSAjAxM2NZOfQnDkjQlHKV30FIPtYnRA8p0xbLmZ60ejY5/vDxFYMt9PXbIwCEAptN2PWExNqksb0g5YqtiFXKljlwhoODvBpRaZcnnM6KIh4KblsebSaGj0fmibcjqPGDfn/f7zQhdzNppF+n+dTBoo5Yrb9v2SB8jIOV2xUrKcxL7ZaUnd7rQ13FWACzUlXtsxjgdPhivwKnMKNbbKwJ611RWwKt/ukLUSuX9YQoYj3cML0OKTJo2lV5zPExKVsI1LCwm6FWtso4ZWS2Q5ufKzixUgotWv8RFRo4QdVypY+NZOJty1qVCkLnh/poW16UfjqDQd5HsdGt1Zl70sOFDm4s21Sp24nPXqdy5aI4f6sTAS3VftEer/KPNF1xCjtgawZBRtQuV7mJCH9B9fNWUzxmEV3YZyvFQCo7mq4fe8orKe5vTJCxAdr16HModzyWVi/Y2l2vOek2v5x8+4hHEZbvnl+3+2JIrBGPf91vU0Nc9peEJ8r62z9fn9/3bt+cPH8+Pr9vH5frz8/Xl2+v/+L6f9+e303lrbyUpnKLNrNUcFNjNL2tV/Ml16CpIaBm5TCk39cU1b4JkNmDM29qJb69hiGJKMZZKZnVRDZ63q7yLH7jXHVQFq9pwY3x87X286hYLwX83iuo24ssoCgsK3m/RbyAo2mNcTlHbFxuXvJDEhT3H6fna1Z8qXisx9CXf0qz2eYPQ0/8ZliZZOqx3v17v5/MtJLpdztvPv9z/3b/849//m1/++I8///jHH24/f1x/uF0+7pcv99M1ac/2XG21RjYdpKw0tTsgiI1aEEZ47on9bjm/a9s+k9djRJHm5rnP9Xq53W4f9+v9fs6JlLrvjllCngXn6v7yhx2hulhmTIwuuYir5u7sPguju1afnNvQDSjbLeJzv9aWV6vg/sy6+j+fIIhZfM1vyz3q/zLSvKhLDH9TUzH4W1AjTA3ec+3lfEK7ZqYitt46W4ENpUyCi5vRAaiuOewVmm5hqhyEoHN4bVyEoUw2PSMILL42eqtUvWEHqsCrmdBcHxOCVgRXDtJCQaooJG+9Czhr28WX4KfnNuIcvcLuOZ1d7lyW7BdAcjFF8tB377JWj2eQ2HvXnCrcKJqkpfvSa8ysJq+B4TXhS7kv/9Xd4GTlWXnbCLORUl/mA6+uKOsAJMrhsXQnUXzq/PWjCBI6Y7pcNILBsbWkpAFpM4THRFcEaYqW/Iayq7zZJgAl9ppEr1iI0xQj/2sFSK0P69ebj62GP8YLU/bOfssFZDV7ZG7F5GDYvNCWp9yUwa3fFQnmrsPpycWjKDi1x2o83qqJwVVdGlgowjKYunRWqhmLOnX+8iyTaK1vgyZL04I17OVVuBBOFnQ3Cwu9YssammHxZrf3GbQTggevt6AvdGV+B971WpuVAPL7CqZWAaOT9zK4Vni/E+FrFzpvM8JC1BK9U6dtjY1bIARV6HUPczwm/gI3o4TY2PLpdboZRyZFhCxlj2VPz7cTh+eJmodWNxDEe2zdKtEcCxvUWM1RR2qj6rTHXRmhSiS4ROgy98FpYpOkJZULncqfhSxDE9BMF/35zHHhMg/AXgDq8Jvj3tK+6t6HKsJCWcrnTdVNx8zlinILVwo3AISrIkj10ZqRK4aTWwgI5KRWXVlPjj6XwaK/h0qbcMgKin3Fsm3fJpbcba9BMohKx+ECrLZBPSyv0/74pB3RneTJ3kMTYfky8vZYquRjg8tTIdMMdn53a+kTXk0QN0UeXSnWGHP8F4WPt9D4qr+tMEYjpzv0zRwniWQlgLLBeGHc7MrD5VgyZggdhfBnifw5R0l1x2W2IeTZ4r6twyotV1qT2aSkZuw0eaPv2G2iwxhnl5jOWPqni9NqLoZumb79nErB2lJQkj2uk5NQ0hLZJOSRRuafYwHvZYfEHDu1OvbMjKuMyTYe3fCql5h+fAuWnfYt8jiR7A48MUxPNLDbFkQKzJWFm9HK4ufgq9pgxmzjSzjcvuOokj8kswLFLdXFPWDDNAL1EG3BbvXYBQrD7tdQVUPqZd0u2woRF4vXAPhmGKf2K/9fKfSOz4onZHhlTNXNqnHuRuG7+VHT976qUFsUrW1qfMlpMBM3bZ06sMTY8JeMu740vg0QtbOZT6XtJUvYoNhsZhkppK15rtTUSJELWPJGdwski/QGfcERtatMZToCd0TYjLgddVe/Ul2JctC5lL4tcsGZgruI/ugyDLP28aBK1BlaTzYsn6Y1JFOlXXqiK9fz9XmbFOuEcfbLvl1ftxuKTto/a1mEQzhtGFNj+9w/v2+XXz+vP12uv55vX6733z7pGXu5Ylp/O784y9XeHupdC41LWdWvijClzALKAhiRa4nPkr2K3nHZf/Wamy7JdJC5GyYNjoTlikOKceXCPi+ptClVDn/kAr9XMnCfF2b6Fal53pTeBJO3B/7u4QdFTOzaAcox8lEn6Rts0XQMUtaiISAbVrB33u+kIgPxhdvdKv/H7qXGFmre6Q543q635/3j9e//45///p//8POff/rxTz99/Pzl9vOX80fs0uvHx/n2cb7fz5c7Viu1o2J/Np9Op2Vggq6vnZDE87ztdAQCPfct9Lw9b9b8XdMq8Hy9Xa73FP5e7+n7nP8jiS0nOUKveIDNBg+HtjNsAae9X6qwunXZN9J+3EUXVWHatAdzfQ0Kzc4xjSGBw1QrKbFTOsXeKtGaeVS1UtMcKpBPK4rj0lQ5m6fb41PzaT25BOK8uXu/M7QgyLQRThOYZW5OHEQRUbe00qL1ijIlLWaK/+m/fbCk7DZk3tzdYpxGTz6jXSJmCNpXkLp9mYhdo1mRaI8303Vs+R6Lh9pJNVA7Xzh3jaiRCjJPf+n+amOpH2WaExrMC/V9vOSYDRBhKwRZf1lL10idtr2kk65+iCoIyi9E6eIIUDrgBxlmp0QJC3aHffnU+AcdiozocXy0BNc5Vgkp/SUls1+vokMCsI0/5DAroaC4TipfIBKuuc6IFqiuLX0blkOXDNjOusbdBYNGR0DCvizMJiPYUptW7VlRbqEZEjVeDH04JRxoR7M/76R1Y94m858MTSMhcVIfedFtp6oQ0REvx7luhnYyyoay+18Z3x5XJsNT4eVHtoQpN8smypznHjmrZnSfYmxOzDJ3qzr/wX4OMX159cvLq10BYzTlzTbjs2+8BuBQtwLu0DMbbhn+8iFl2WT3rQ5D474bzi3LcI96bI2oVWx1G/rgmTuYhMH5PD18Y91Mpreq93I+38r7nWfzPF5P8kZUxVARRaWKbMxu0hpxBXmHN5G2diGdNnNQG27cTgpjqftajpKiBv/QJkGoGCxbaEqfhA1rtDNRS0d4jJm69LmuBgc9dllmglYHLhsYpy811gSYNddqluiNrFSmBwC7dk4iNCmgrFuCutyK6Ejgz8pzC9u19pK3DMOlM6E+Az6p7t26Rets67fJMDbUZeLipnbriiIy4aZIC8Zphoyxf01paBow+iFnHTSIuQpWBRwjn+yF2v6UvWGh2VJuEWQLEoc0SwGMzSNghNR0/MKpvjbZ01NjZXG0XS1zG7gx9rgohYX9efOcWClJM41MDMdcFqrJMaAnpefE4Syp6Tqtr5CvDBQzc91+OtusETVb3gZ6i2mdlSKyj46VBlF5rJFyfuBjUWNztolF6zKffr+1GJfTofXSg03iXDVd48P0lvQA5FmxFeVHTVQvMvjogmm9GHLHvhDm9D4a6hAgcrzGeOB4HK0dqWnR4dKuIattA4cYd6YKpJ7UxWlGVrfnjImcNqSBoFyeWiCRGcBgcaZXObiiulDpg6ZGexjBojKMKwcBoSz6c7w11nb3eu5A/2sz9MX4klbJxpmKWS2J73cOuscjs782sj2Iy84iDOdxgxEnVWeTzh2VoPX2S8a43e5Cb5PVsa9j81DW84/MfJQJFBr5FP4CM/XUmkfePpZNKcxNqNDGA8vRVay1ZmYjH8dMuzRiO5lpfGUpDcqcBuNHC2nfh6rpb3LOJIf68iZj0wshGimdpet+um4uZTYsfV0oVUz2AmgLaXFYzDOny1xuet1S5X66Jcq91wfFkDiM4UxHzRDpnizox/7xw+v2fbver/fv+/W+3X943u+nj8v147f9xmFK2jWbaZKVKKjFsGe3zDlLhL7tXA5Amjdc3urqZfJ+eY20K/O+FcerjzxuwDvrScd3atDOx//1DYdUhYl3Eu+g6pueR8p5x98LX9zqo5thSWaWomwx8Ow92d/x5w+bIpGbHAZRCjs1RPhfv5KPovsh2M+kx6ZvVVhuv1xe6US/2kGnmCtJ67fr63Z5/fjL5e/+/PM//vu///t/+uMvf//Llz/+fP/ph+uPX0632yXH8345376crqkGTlA5AEhNviCr404RsiaaQvM0fE4cGJjd923ftpyyEty5inXBw6Q9pw/X5Xq73O6skfbsWLVZC/g5ctvUNh46u6B2VLSH53QJYoN2j8zEr0zRIhv/RJ0fy/AZn6wQUzmqeuZ+DMUssG0oekpPqwdxU7WLDvLQClA5SgQkhVtq2TaXI7Trm6xbUOOuVVtj7RRjKFRWifeb1vEKYRoPhUv6PiykTcuSNL/IrzyqK+P9+6rlwcw5cCTvceqPUtRknE4zffuI3rHoLpERwcZzWJIWlwr1aa4Wj4yb4UTGvPegyuyJ2qakD+NQ9dNhxu5KOiARkYR8jzxnX7SgnfOZa/Dn/Xaf6MHIy1IYHWqIr105TdXgZ9bQlVwuLDSHJCg2/D5vs+/YhZwOYuGkkeF5Qrm6uzJFEgZpPQRbNUxPqGO0As7CMZuBYoMM2g5u2cxF4IuNSu1ozne9XrJiksugZ0GpPGVc3U3LeiaIYEYYR0z3exXZEUR4VFOG48a0sKsdZEZIrE0ZQjU+vZTWqVYjbiK8Dq3WfUVTk05/oiZ0ruJxI7anN1hpukfslroyu2TgEkJSQvXolitp6K0TNobfRk2aSS2Brqu6C6VfTOKZpg0jLyQmm7AOnK1KdYNnYj+VzQ2euc54ysEF2wlX2HJbzWDs6hXNg8flek1xXHHoeSXoZ+wL16gCFW13Fn8Bih/EuUQX6HEBkCgS8kgArQEOAW2ggztz2PHyX3artWSa7wpzrcgdgxOBF9sM9leeFkN9h9Gh5OljGHrvDCahYvGzxG9wbNqgNyUy1/RAH1WXUtuMRLOzL0mzczak45h9dP0Lrm3IcflOZknBjjmWwo3q41C+UVm7CyP9y1EUCh6zb05jn6VYWbjm+oAKR2EAt2UEZfPZEb86Z68lnLe096QFMk4zrLiAuVEOgzUb9iCy19Kd42Rmnqk9JuGau13+hCpq5c/Gmk4AQOeXnn87w/bhSw0si8ohdS+15NuFHY8JC7VWpkjiqPr7mpfdLtqhrmqVUnT+R3/jNpGHySSHdbdKSaUFI8GVwdi0yZw5Zqfb1pU38Ylu7lUjqnT4YAK4HXpPifFcK2ry2/Wxz8ef0SYizQ4Su+ofImY8xhj3zH2u19v9um0Mnm9NKlTLB1JHGnN0eeqHtpEY1oyT3d9dY4MarixsLQnOmX4nMl6qi0BgwLhT4CdyNF/oYXdSsipxlSk8PFFG3evlJe3s8KqD7k2tsQeXEgK7a+I4TKT7Rt7aSiLq8d9y0GHbV3pp2PegNpjL5wvuDMq8gN9pGJKBxO1qT5dCHNA29Kqy2G0qGaKpxOhDz4KIyiMLUtYAS0SuS7Mr4YFF+a7liueULyZ0A7dUX4Pfa7ubp0zcQL2GRzgpSYs+Hk2eJ4/LVWMsIts1HSAz8dXZXrjVxaOrZmGr8yklmRMl8OtQs3Obzppb6Ds3peNzGZBemOdntJZ42J4fbrabnhNEX8/TB5qu+dGEge8f2+3L4/79cf94fHzbkjrLrp8up2/7/tv3mNHnG8tn8GWopczvbvZnrQz1iIGbBW7drd6iL7CrN/XvkRbvVw6mzV8lqn4JjlHwlytrOZaefn+z9Yt8ve5a+TZA3IksroazCszFZMe+fCBHVkKv8JZDFoWXWUP/cFlKhcMs3PdYq346427LDOpoSYFGJCbwS/Iz4d/TLS0pzym6jYx+3e/PLz+8/uHf/vLv/uM//cO//OMvf//Lxx9+uv/44+l2P9+/RAh9fDnfPl6X2/n2wZGRyUORQBFVomVnVvn6jFJBQUiCwM8tx//GHZPzXURJeIOE6uvtfrlzAFKMBxTZTJ6MktbXqtWNAQftVneB1xY3u15Cm7pHApSKJJpxKW0TtnyzPQqrs8bVIlRJFPcDp6pM3XINwxUzdji6kA/qUEum6Yx6yOTha8LReao1xIAkxXWHmK8j8TgWZbUaUZSuibsmbTyo4GgAoyzC8C74HZApqMXoDpK086fTVRVNAdlArr1LZko+1CERtoqdarlQXjTnI/mTQNwydRKjngHFPxKftTXkVb019lOLlXe66ssQFdtxCbxoWI4K0EwR08gTtQPWFk9UA3W1D2VD/Y3fRYNbT/cAcWNwGnRgxrECm79p3qXiwFWl5YJ0ZeDdJM1un3JN1KwnQuWk22aGAls/I64jWASarZ2vg/ct4cFMXVVppWFXiZhcRb+Mg0E1rllFTClhNOd+qtHLWc6z4Oip6mzS0byPTO9++mhS4fTLcDg7V0d1c5tNeWvXD9O/ffJylWA68UubbpYjq7QXDVysLlLHAy4QMDOB/MDjkliZ9u3PKnjRtK+eImtItN1aeovlshxwRsFxvVvpV5W7rn8+zCwP/R96Vt66Awvp7YdiQuiWlMam8VdvrGbQWdQqYvapw2RccEBBkgzeLjb0U8Jz37MPKhmOw98lkopIO8xAKvkZSkuuqbJLEtQoIvCCJWyxLrOPd81eR/oaG/mUXirfDCiqYMkSGZ25OjxinU03esS0EVH4Ncx9NJcz/gS81OCpDu0aD722GsENmhAuRHoI3lp5dRwmIfZ6PVp+N4TG8uIFyBA9wI7Wx7TDzZ2XJQchmBqQgoqrzhMyA5fxP3k4iUJQ+ItCbJaFk7A2w5ceXF21kn3Vg3eXLVZlG8r3IXxUYMe/ozVVPmozgc7TZa+PINYg8SX35yIvj37s141hmuWL/0fwQkhrBbULXFmz9RujyraEg5YirUfn5NqY/eYhoNngbvfAd8u9p2poQtWuwKDVYH9PTCw+rJLdOvYqC4exbPqVI6sHKNZHWomi63Ih1wLxFFzJ3E4ZXN9k5sFHQSrsZWv0N0eswnm4zjf5RomzLaymHbfMjU+hXFB+UYY5KyMv5A51LnGgErGT2AsxbiOd+vadowifz+vtdjQb4Ot6BzncqKSmjBdztCKVjBPq1w2lu1G+wsYDmmEl8c2AnudPJIeNbk/A5ljOWUZwsNXanL0peugh4T+QWUlbmwoztycKVJKiwRUTPfQrJhNracgdd7KSIqdTypvLUT0g694kK0PFohjFjPTa0MQgJz+poULrsufqOZmhWiwwbQcMob87MqoVVGJXHV1vuQqVJFOD58e14St2eL88rssZ/a3xleGUpWY7Qwewfg6UVD4suhIiVnWTNprp6Ut8V/7MyhfnrBxy2DaPWDAv4dnmC2DgNpjZqiPwTI17q//tXccB20msCsg+6Y7Wsad7FhyD+miCVvTWnD38vDUIlTNDs2tosDlPKYWf59fterpfT5fH8+N1vj7TQPpvX65/eWwPQGkfWfA7UyQ7MomgKlpLqetKzTRFiy5UcWrASc2mRYrdkxFWXadqQX3NTvfL8/ta1OF36Xe+MA6uuaiSQmuOZ1Z/miuqg70/uiIBilz+DG/uBDvNQ9mE0ODsmcvcx/vmTetLGK785vSWHDTuINUqg+YuGDLkhU2Q3oyH3OuWCp/T/RpF/3rZ/vjnn//9f/tP/+6//Xd//Dd/vv/84ymn/n6JcXz7OF+vrwR+P3I6xTnp0HlH9On+MDETGi3FAEJTmULz58e3b8+EgnfIlMphBogmk0OVEvhN7Df9nzuZgbTxxyE0JQ+8yMqAik4FhFmaNVmYvr3o3DtFA+vkH7JzmbesaiOnND5W+3eXaHBZKdNH1Eemsiojx9jD6RTlkD6X8jrLbd0J5fEFAbvjF66z/aPmdUH1+PUo49PZji4bHfulAHRZ97Rs1TQlOAILLPF/gbPQM4TnqrYVCFlLZpw+H1uywwafK7b4TdG84CvCk+YFjUhDdITNPHEXwWSbSUlYV6ysRLdJwE20LH0bWxGGav/ILUiQRuHcqJYxO5j6H0MtudWkrckw5t+PusV8pwpcn3KXKP9MvLGe6wVK7knl/ryrZ9kXIiZf4ZDRie6wfWP89CkTOc8NJpC/qKt06gCa8eEWS5nq+ARhrbGpDLmiV7O3caZMccBwWX3Wrz2H4Zj0t2RRxDTWzLLDicMj74rG9CdyTPoasBtzsnRptwqSnEERePIlUWXJgc8zHMuxer0XX9dWrcI50r39UCf5YI5ZgkbigMvD1FMgLeOHrcLgmhjjno6pygkt1sBL1ErxoTBZ6hRtbfiC2sJBHppKapgih3vKmKvCHYjBEqMtd4vjH+I8K6JrldpjO7RfjCim4hpNFP3EEnGbpLpB8GUDI+3UhadodD2XcRxvkEA93StC0L11cWESfwFymGqPNclRiznyrtIF/WG28UIRZtiSGGB12S5WHp36TBohCVKdM9mLHt5jnA2iQxPSnyp52O90Wnu7uxXnw4fmqtYaHNtKVWxtWkkMulo81sdUQvrcAwW8uR1xx3IoaTb+AcGucj6MiroGK5th51VN6iap7TIGy36l9H4RMWb2alVmWb34TnZr8RcUM3XZNX/iNErvbzXKHAMwtDk5VEo/O/RMQFvqlqVUyWLHRiXUn9eP3ev8Y5rh7+gIsvfwiT7bZTgcbRyCSF1ojnupStx0xyp5rUgxOEkEnBpmFhfpzukvwrn70ZSFoj/saJDK5um9bXX3FTMpmqqHzbf0iVQXc7PhJHETZ6UZusBQOwe4y/DvgNdw9Tza5ALcmUb0FrJ72C2uYYbTrNH4rcUvhJW2sxveBDBaoLvCdSg06Y4V9zUgarpUFcsZWNBE9WvVY7gaPeBBm7C2lllPTTECkZUKrQgoFFZG51WPsVyQ2xVlploMbaRGlmTltZhDHJtke/k3rnUugtjaHeebVxs1j2JmbfmMv3O2dLrwQYaNMgBlcDbFNTqqhxFbOkcr/teI86lO1tQkwyX2uApLekLV5Dt5o1mrEvwi+1k4GacjzmNAbk6wTvCmEq40dqiz40pemubKn+fhR0PS6kbSvQ9xMn0LC3zi8tJE16MrPvQT2Ipr0ptUFqpHd3VmRm6tg2FB9FHyV/F8P5+v0ZWnSq0q0/zXLfbBiBhzo5VplbJQgM1ysX7JBqCNiy0PwnNHk95T8qBZujOu29i93CULVI9gDtZ8bvslTZISBg5BIlgjA5+v14/P0/Z8JgP69ev2/M+389ctc0hbahYl6tdAgs8UWVsZ1HVf+vpQuQs3waj+7FaKstXm+s+6/e9ei3iVS2N/rt8b6egdSttD/Qcb834VB5XCOt26O3xLOOz2jD20BjxBsjfJqx//fR7OvyC1xu7Nx/vvzfrEruyMZGIUhyNgaqBS4vsKQZvxy7HAAlo1AsmdXs6v+w+XP/3jT//d//M//Mf/+7/84Z/+4fbLz6ePL8/r/XVJaW5CNbd76tSvt1MOjLglZBeTLH38PKCoSk/OTmDmsXuftkng1OltH+s3VU5rwRTet2uO87lfrl9ulw8i1k5GOaP4cw9AAdWA6mnl6KE3dVm2uwmOkFKgXvdilq7crXOwG9xNUZLmF9Qz8ASZUFHq3bKxwm6eMHlO+Tngaw8XbmbkQMSZSTN8NVgMJKrkBhjVJdzGipuqJkRW9J+uykOV0lUxF9ft6bVRbzmuMaaoHTKSSBgXRBuCYw22/dFJApzYTEuTWbMcZqr9VyWwUHVY12YIjNFYQn5XA9pmqV+vywI6si5I9sAr1/fHdTuyEOqzeJB1mzAN7oZz6tYj7zgTRv19CESm6dX9mvecwjeXh3yuKocWECXwU2eTjc3YnLrnOT+5ezXY85Y7qZL+JtYryFPEVxWzrg01ngliqTCspWb3kCZU76DykZasWFswJmuwTT2awhIzR8IZsCXanvhlfjmPIOvaOXIBXxjTl/4uGLWuamkmv3tGQ9d30unluEzJtmr5evPz8jnhlgrHSjG+662V++U4jQXngnVgkoLYIOZ7T48gntRhJ7w8oKMRauLWWTG463u9T79VSiHQWAe9jEF/mSlZco6HGtNd6Gr0hZDreooJqmGklGLxSkKOaVQ5beVDRPm5v3oYW09aXmvji56aakEleUejHqXKxJ3gl+4O65MUDPJDPAj65vJLi7beYX2Mbk0pAyfcmNA4DRrYS+FA4p5iSKfRWK59yeFDfPPlSdmoWShuh9C2GslMzoaUAiagxa61n33qQ2cVdAkXj4tuzBxKy/Y7ANDMrrSefFCcm7PI3J8ky2FvxKFI37zSTWGEca6Ac/Ent9r3540GRWqxIq+LIk3R2pcP7+k8pNkjPDRtoPRgBDJ1pLFeva4+LcosYc4SVVh6J/EGDrdxkR4k8035oLmatZQwL43riqEDxTb6c0ot7V1jmvg2TJ1B3NJc2m3UwseEo5uX9vDz0VIcF4qUcIVgs7ym9mBBQZltElSWpK52JhvoxtUrgsxgi+z8gWPVGY0A7rdG8goRxT8fOlhkPnNlgM7IISO2ZCTHCB/ZXiiXX4rIwLdFW7kZVqqiH4sKlWSzZ/UqDZ11qdLxfF7Sg1kD3WSE8b/aN07rl1s/Hm2/XNW2ICP5x6+lU1wyK7LLx2HOg53LZq9zAhc4mnsaMPpICQNSuSTBqkF1OWeUqEJBvsVa3aIRqpVZ5G/LELZ4vEYO1xPR2DJcRZvdiCqx2kyOhzV4XhjvfjmMFpmoFXUy3d+Y04qPCsj2/7Doe/q7sD8ao9ppbk1jrKIA8xt3e58yYlgdve9PPvBBjbx006mooFwKPEv/q/YI08m+6z2xSMLEycHv3QIIpyzjyxQg3YOwb+O4KuCLu+v1ki+0RRxBsXeWOO4G5fMkk0MM0xuhYKLPDobjv0rxiumGxC3T73yRmjzZwIhvjrIV26dOHSq/60r3FOShtgTnI7BcpFgxz0S09a/nj+d+eVye+/n62u5fbtcbZ4Q+Xs/v+/7x+sNP15+/nn+6nL6cXpsFNIfpUkXTFWAha8SpMw/jiD9LxRmR7qs7unamxNn7essRb1DoIQmGxQYffHct6GEtrruv77x/NE885CPfHh2iZOH9fPiSo/165877Omwda8enZJvLnZoPrb7S31Ca2nN52qBANvnMwIGR9qUqobwk2hgbWBNrxLzK0PVyul6y19fr85c/3f8v/9d//o//t3/5u3/3bz7+9IfXlx9OHz/slzuHX6Qo93y9p6saN7tcb6cbpl8Qu21d6oG7XOI1ga5IgOvZv/uDxlfWefZUdmH/Gol4v5/vt9uXj6B3ymoOh7WEOjTVlUdxjm9mCjfPtg5uwLS7tQix5xgthpptFE0Xm3H3eS3BJ/CO6IPfjZ7D9YhibQwvrn6xTM1c2KJNwaP2do+eEXxQPytlyiBexSISXLXKjKPiVZBKZdqEC4O6ViWtjLsVYPOpI1+PWOjKwZOamgliG2Ge0kqb1h4m0FEUo/GgNMRRvrr3X87ZZWEdhwOoTlpTg4gclkqIJc9bR9a7FYiA7G+67IrPw2qjtXN0RZs+dK26lZbykL0rW/H12QEuU5dr7S7XNQPx4GHLZfqeaW5oJG1p5GqIPRKMCQhaC5XmbaKbR0TlsrivohWfgzJ3Mb4SLG0P5akqYdqH5k2KKM6kGqmHHjuzeHKpvLlenzkMpNSs0sihDd07ZYoCxCObXFLRClonDFVftETO4Q6ZGv2GZMVn2tAwUDZlaYfA0lQH1FmzaFCwjrtMmlkUymaMTM7vIe/L82STPkeuJlAr0VvThXgxnZzGLZ/pg9tmOtPT+FCVXZ5RUTxiZkQLX5e966cs+zTiWP2kD3XW8unQjJVsDdj2K/YLrsnKnJyDjzSX9nK7Wc/s3doWwOwD4rQy9er35KqOZcRzKyIrf8hDTEC37Ww02plLE1enqGvZlfmLzUx3zG0/X8+pAYb9+zW5SwwUCUxK1FisooKHI1Xyr2cOvSjJkjg3TYD1xkE/sXw0aqobj1SV/rC/Q+9+sf5E5ziQtHCzlDx50XAni+Vg6/Ss5B4Nzt8nsrI9Xylga6bKaKgHsKPjNmrfu9GjwW5ZaM9E/4dj880qLI7PZ+MF9daZPg4FnQnOBWW3vXk7uwopHcA+nWVvJrfNALDNwBG7jnh3YHplw7rVyXk40lSALW6rFdEkauIgSSssG4yUTam3AdIKrXJmYdXdi/ZpfOmRplYLdik8B8U0FGsrTuHNcs75/2Z4zNDTMa9NCETb8v/bZjHAt5Y8EsBsFQyWR8zpQW7O0MLKK2YFoTqKpvLxFH3JMKSyx/zz4rJjtnsB0dJO8jE26mqypNhW6QdkzxeKc2efydlz+Jfr5YYKtRYZYi7ZyjFImlJZp8VmTSdMB5+uBu3+lCtsPdSFnncxof2i51qLtRx/tURRl3mCEtW2mdMAO8lglXxDPizROFgcv69yHJE08orGfqu+guPVmnNUDd0GInu3r72CuW+bkQRJYR/Es5qJuWr4+fI/bihe1cWQG1j11EkOAgykvL3VA9vc0c4I5pX7K1Oq7ClCpn3cYtFeVDYU8VH5PYojDIm/oJ6RHosp0MuAppuvZS3z1dXCPdWHOxvF4Qg23CQdbqFBSToVB/m1H42QxgU0PducnfuvRTsgsMRyYRNtA2bv4Rl6/VQACjsSw5Awf+mWpLOg2zupj66wBvF4LiZ2oZcgoQUmY/rrm9RNDShK9v54pLVQKh+SCx1J+3gosq6vGyixf3z5eH5/fvnxtj9PP+yvn79cf/ly/eV5ejzPD1qSrO4Yo440jkpbpiaj1sM42lhzLIcT5ocXjSe3VrJ8vbS49QK7FjpWLhaEqz4IIVLYspSOBx8UM2K3StHsAqGJXgMW/m4gkvFYWVBCGeR9qH4N4kGadxvXg49RvXnX/LQ4pY6ZenIuO2bhjcc8zgDoLAmvNtiLg9Ja/+uZqqV4gV8fP57/8d//4b/5f/yHP//Lv/nhz3//+uHH5+2H08eP5+s9XbTaKu7K+dO0vPdsJaQuTqAuukYCb2ApU1a+56C3z7RTo29CtaBb6o7B8+Q8X+8fty8/0Ag6ZyxhKQ2MyLw2p1TvvKa6ve513zSKyAI0F6eMMNkjU/PZ7epedcl8ksvbUqzx0xVQ2EVswiKJpHvU1KyIUP+nSs0eaMn4aOz22osoEAVAGgT4F2SrSpk0E+92pGf7dDmqBglf6kBCQvTu0fCEGqf0YxqdCBfHGiTFSUlDpVvOLqqXPFZFC3nkU0kbxVs2LWfxqNpy2I2YYXQ5tnuShLmYgkGY1Cpabpzv1HG6E6OPEUKkdK66hXFHCBPf4u1216bocJAswGEgz5itOTdVAJbGy2D6uEZbuojKBDzO7pRnKefq6+3meRMzAbxO446NtZCUmatCzOzFAbXifyrg1Q9a/NI7tUjYKSNxNDeUcJoi1cYGzOp8GYlSwmfvIM9xHflOl6fLaKoUFn191YWhHhBNWrv57cnAb6nwolmcWR7A0ZvPmi7dd0QU9FztNO5XKdnuZc+0xNttlqRS4SoxUNU54+508tNhUbk7uJnFP1z3eY9iSd7A3RtPypl6jZHQTnXqJorAh7pYkJBDZlQCjs8TTGK+q2/ro0BhqkrZTTQqXpFgEegQoCVBLg93hR5czRmpXAeO1trnOD/yEH2Mt0aoJm99zWc6EaIe5Bpth3o9XjnTVdK3CqPqFhW12N6QZcy33IeGAs9bt3lEUd0APIO0k2bulC32DNVltA3j2jGLGlbt2Zg6rCQvu0b73eqr5PsfjoTJwOwS6nNyxwe3Wz+QOEOXSVau2kdZswGuMkztkEW7Q+nqCsaR2pBtpBORrdkmy/8Kq9CEPiFBO6GDZdLLDMk5bI5SnoXvom1+qV2ZjH9zXFmZHryEWyojmUpOaUZmt7dbkbRdsnTE4DgBu0YqtLO8ka7B32bfpItq8rhEySjfmF5gz3SZchF8eIBvTjYv3fspLOMsNUeH59Tk+Qr5IJiFEznpzfH3IElCmpztLNpR0pmpCrKUpvr0JQYifeNcTZu0yMmBY1bG3XSQVamrD/hFTvqJUbTjufSpdPHUQmP1uMtoHnB3hKbuwAZObd086DRGIUOMMpSoU8Gm4QUiVMzlrW5Txmm3IRgc/9GYKqV2ousBVS3IGisQbjpGwKNoLRzA8EYwY1B5SJ26ikouhIoBJj+YFMYxzrgPnMxCI4UO75o+kLdTCpen3q6kn5oeBvdhpRRyM+ubwYU0XattNmslyq1TAYQOiW3h4AB3jiehisCYJH3ydLXYAiln3L6e+bXs0xQACN0QfNQvolXED1+XW3rgqwzSWgVeRjqOcjDKxNi3xAZSATO2eMZgIgy00YT2FBOy0Mn9vl6nYWPWOlV4OC3rfAH9Jqe+NFHCcSHUBuq+I3Yg58oLtTzFp4JhsUf1gdkZpFv+RDQ7rzrYKkQe7ksaucdOlLyZdtt8yk6oA/CgLlhu062nzXjdXhgWeCg6TmWxw6hyZly6bjIdmE6hBGgaWN3t6CiOG1XQAF2+d8Q0ront1EGQs9epR8DtFypJJrSbermcrvHGUOa3v54f19cPt8f2/PK4f/ny+LicP66v60aM69oOfxJCT7YflxoEQ3UfMgetczB0pEDnUyaqb6LI7KpUxatmsfZpAL/7NAu3lmjpjQMZEszx7eVrqCduve/dyuiCVWO2x0VLdg64+tcxv6ohBV51wM6LC2tIOMYRLjP9qurK4bquHWJj2/OsEdijloEudJUkvc3Oz2zDjdTJiJH76w9//uFf/rt//rt//ocvf/rj6aefT/cfT9cfLl9+fF0/IEhQLz1p4EfXBDKESyNSVaNtmarIztafX1vymR7b52f7q6HIQL4l2aDSLWf/3m73BJYvV0tEJeml3wFRLm6rMvRyVqWSFVRM1R7fhKw6gJ2meIs8ILjD0Ja/D2LjBGuoAgNsnKfCiyKpfsz8NOoeRnXy0bZNQjLtl2uOrKU5lqDlME0yruMgHm1V7SGNdyeIdkSGFy9VSUZ9yAYTipIBN0NjGt1lplKhs0q92MZC15tmV2HgTZXAFMG3kwBX0LpUxsqMQuJHL9tn5EkeyFYGUqVx60u5sdQbNtTGDlG3UUWxWcjVPm2eNoyD0sAVjHXU/noo7JctJ14QhqqhAswES6SKegoU5TO11V9Dh7cL3ZuTxIct4Fppxas/0Heaapp6GUYXgLquSWCcQK61e6XWOgqxg+mclfGmDFWfGA9l8FZdZV0mp7tQyfwWaEW4EDYnbaQacqasHRUXeWwl2ME64aPLMK4JTpYpA9Zr0GelanYUDfofWVPQ1YdlQK2JwcAIF5qBC0prOtrAQp+EJLmq+DSPQMXKEPEAdxmEctppoNUbonWYRjdLv3luyBK96f0IWNU/sCiZxYA9wkbofBPLLPEQRnDBqxm2lClj3ikSWXsqtakLVRDP7tRzh1LDu8pIFdJ2Zg3h7c9NEcYzDHu4Hivb2FjOqH/sjOmPOhDZCOKwi4YVMcwnpdGz/nrpY0dY4joQErc4nuvT82QXaJfDkhKnCjwYYsTVpFx2zXQLornyDLwrJsGObNNCY2/tQNAcxzHa7esgjYrXXfRi2eC+soDi/lV0gYsfdmugQ57WDq0awLPnzJtyqzGMge9yv1teVpgtIcHcWZcxeMaUdqAcWxnRhZkxd7+gnrVXLu5g2xHlWx0C6kKZukfrRTtzXB1kPefuiWv51TG4lJ2qRpYhiR19QjMSqslLvdob4/o9py7uSM3O7UMYGAQaXE5i6eNgZDdSxav/a7+rwsFCUt1paeRbApA/+ixH2+iQu1IyqBfE44mYX/FZbdiYvFlXg/LcTT5fRfZF1XG6c2FYXiAFRBqWKE0AiIyP5wtwq9wXFdwtNISr0sT3k+btsuJYVc2ecWOjFvKmVYAPtJkWqSzNfq8AW0XyzhKxbRdBfVrG/Ok6yAEArYBVxVQ6S/h6N2IdkimCMPRAY4gn0tTYh0pc07pawIkT38LLYpwmaoMklWWVdodBVTabzG3ebPuKEr/YPQt4FGN7dfllstQOVcVjgSaKYTjenPSSYr/pZX0SVhYZjLRdy0xIACknGqic3BvGMXa44lJYaflaZZU8Lt+71eyXOq5Iyw9UJokLemr4BVsxbncIxSi60q5dW8TWQrO4Wc5CdA66pJOhpWKu28hE0+Yrf1QW5eNVIySWesAVM6w6Qg64o3UFsmD4qNj3utLl1PY2GBZyWCtSsz03S9ChCqVyd9y9gBsrsDuEQ6fgYSQ5jyqob9OM8brHGxoeRwX36VumqKkF4ljE4bPfLvd7jkN/YNWeL/vn5+n2vH/52D6fl4/n5WNPAO/yusfYiQcax0uTcSq8pgWWfkxF3ihr2pMVDGqXcuIhBVRjBbMq9yW1mbhEJQoNw8w3F5Gzm1pHQvuYuFXe5g/ooltT3C2PDlTPvf2nMs9ROhy/0m+vy0r5vaybOxLx/Z4O2t/KVRCbzEsWfD/q7EWWYxYMtmuiuknslxOA43O0Rdrldb5dnvfr6YefLv/8H/78j//hH3/40x9OP/y43748rx+X+0+n24/n271eBmlUr0uQkSaIoE1dWkqW5m25fVEDtu2T07Q+X/sGNltqlJNSgubpBH2/3j/Sdv9+P+XYv3RTF7wKWnDx4ZLwvk1GZbMmivimXkwYShWXPj1FgWavYqLIQGW06oFl/UHQUczqfQh702i9Gi3faTGOMYcShJtTW08zqsK8FNwmpkMenV2Fr2eyaW8bIBJRFwGl+K7cxOG6pf1pPQJ5VXxBBfuTw34xgZ67GrWHWebGNGdJS9eOputoq0sVFWG6iod02a6NJbvairQk8lCMjRsmvLzYvAR8er5y7uNkHUtbDBWmN+DiGhbFJHdUHWZUP7iAkT4p1RsFdPbrbQuwtGtXldsUMfYfvpy3eGcGd5zOMFcBHwZXBhq+SjKDLY2JTi/ikWVVXXS2kWjj+XzYo0gcQ1yoW7ER8JCyCwDvIgb+ozT0OOMHoi4ZDd7Z/Jq3qECki2rdf6x5xVq1jngoYm9Fm815mV2uIphL5ET8NtrM7AmXVGyE4lYSVhOoXYAmKfROzacYWuodzAK4XPM/uxkP+o9wxm5LC3ETDFUyR5Psg6rcKsrLIBIb1ZrENiAfYpu2Zs220tsiYed6Vcr8uW+Kh9k4IaKN1sxqGgRysmpjOjTt2r1Ca61YmdRiSVg0NaW5bXTHrydHR0F9s94TOhrGCM0sutYTM0QgFmm9UxDDhokKa3d13tUZXVcWC18FmJAJt2BOtVBShiAeX5oC3c51TNiOyu0/7jKPHNcEH10t7goSk8rfhpUMZFeOM8zFg2OESOPwrRr/kgTouyapih+DyL0RE3x6Rmz1zaqYjQK0G8jwbN5LPFEKLNe7FqVqnlrew/xvxMxf+YZZja6o8RcIj4IEgwqq7mir2q47JQQmFID6XTRGW90YvAspGDQSLmVB2xhmZNi0q03cCKeJ1jKB5zMC4OoRO+YfDlpBluYhhxVLVWofzAQPZazd9Mdzjau2EQfnn2wElroWl83ceg1fKQRI0yb5+Cg96wO/aK25h93dJOhJ2DDjZR6NMW91q6k+Vd4kDw+gJqJoCK6F8sj8WG6v0zOuwjiV1WBW8wCJuUkGIQxPr1UkAU1JlUS606rIh44EKgkuhdNSZgfpxUmtBdgkIbhWSSJ65V9Lg1w8E6swxwDY8eOOipsvmAasKk/hd+RKXDDj2s8Ic8AaVTIk53L4xDDOIIpWe95tJ/YJCHMGch29Fbqtnjqdc7AH9T8dzLj1s0F6iGulB4UhTipnSoocyCme6lZIyNpgSTlv7ov5qQE2itQo9IZH3uhfb4zWtAoo1UFNSmt7OQGHxqoIePzx+LAL32D8GEiwNieHFoMmXO/FcwySsJUBT1t/bWlgAuet4UaGheWGWOJ4lZ4BJfggJOpH9I4ip7suOOCtgKHEH+eenA4OISgYhh3Mjk6FVRXnadc0cNHB15q251X1y2HkhBSqzWsCF5PLHgZ1u2VV8JYI7F+AUnafdIKEYNSQcgxDT6hcG+40u5/6LoOzOYqoBSd934dWlBvb0HPVHuyAJIJ2pFgz7fFR5qBgH5btcOc44jXxk3xyBbfP+2u7bpeP2+2H1/X76Xa7fnxcrt+fNvyeATjT/jJa0lqKaS7PYleFWPOcfwsmxbkRbr3zSjXuy7v9fpnXF1QD5xkI+3HHiEnHfdaW1eHVexeXZxIjglEd5tG/t49nuhXgteTExv4yS5SbmX/kR3JN5/E+uBmssqlellns1fzcRQgg0Afrws+EY60ieSUIzBm+r9v5+fFx+ru/+/Gf/+Wf/v7f/vn+y8/nH35+ffz8unw5f/x0vv34vNmvmNMaLOYiV/Zyur6eG1kFNbw1g4F3e1/tr23fH5/Pz0c6P1O6GpLbkk+UAT5PobckP3+5ffnhcr+Ty4sfvyBcHjqwRPhmhcqni+Sp80U+Iu8mB2T4erbejeA7WhG+3nyvpZZyHM9+09D60KGQ06Y63aGiUHroS7Vqfby04eHZWlPI1nJLTBG6v2op6SC4etis7fQZRnItOR2jp8vWugiNxPzlL8POz+eGi2T1Li1RGgGStoIdBoX98lrsOk2nyNk/1czyDIWFojC55TEncFWblKBlqJxcJWfHooq4OCQU9MA/wpHVMT1bIFf/Bs/VlCZVbUbVhj2ek6TJ4R7MTgHFxEMm5Ko9r/9aAkpN+wTLujZJ11GKlXOH0/u3dGXSuOy/qLVDwOlo4183CUNubtXW5z2OwXQnDcfX67SlRiDqxI0xrFI4SnNw4uilxRNMyxgd7a4BlFzcIEKZEGbyddoru6mOLRn3bKp6QUtAaU4s92Br0fvTXmhNncgPs72SrHFIpZlm5Vq+W/xeO8LfVev0hHJKF33p8ooOb/Fbs+ubNmicY1wjTMq7Mhw/NRnE1raSinMyQVLFpu9Ii9w5VvfS5B2ntMNgO0I6C/hBv85QeD/ZiySQtj6gzuceIBbUFSekjS6XlCDgGBzu2WdLuo0ux9+abbkxpdfmdgmCMGFpNrdXH4NBkpoec6tW5NT3Fkma18E+Hj4s9dgLef5Zw+Tw852s24XO8zf/5m1mBQxly9j5UdpNGqiAbnSXN5TkRrb00eUT1UYbi3H+TWW7kQGjqQ1KDG/XPpSulme0lFgSg/tJaqtzzghyl3NwYont/EkzsIEnMWQ+4p4t+GyAa3QCKcRFnDs7Q/eDi9mbPHwg0sEbd9YSY53HtQMnj2OGlNV6fiYBO/Q386YT3ULIpdBIuRot1gqmG6WHNicRK+lGlmpo1U+DwYqDIleTY7k3QFBPp4Ra4yGWajpuyqTzvqJSJJ5VdFQBvnzaLk86Zmy2xAXJruyeCGrAk8DVZJtSRwP77jnqrB9kkHErMIudVtKeqjc7Ct2ZG1Ara2Ihs+mKGdHG43xMZNAire5uCIl/IXaXy8UyjjR/MonxEyu868JfoJ1LgFq1GKXa+BBUhVl3XMq2eej0VzyHrxCGStaNmr2eHlTVLlROqnCE8BluxTcvbjGrhmixY9L7dW0U9aypi9HSPLFkFtTpaiJWG61h2NQKyNNLF8NjqbfXxRs/hJnF+uf7YpEWvUkPh6VHJpINEsbjpg6hhF4rsxDSzKU6hsiDNdDt/TM7z9cVOepQ0A6eXCKOyWFiQ97FFLhpsKol/Y3bjo0yq0qHbXWK6hDrqvKgDGPVKqoAjMNuwkSlthF4VJQgXXS4lDaz1JxP+btyiWIcrndXY7JspE0ttR5TsQzgPtHITMMy5UcdAa25mE1zfC01mbebI+DzK2L9zCjHseklyJpK6phV6CFnkuZCYwMwzRJXzIv+KEw2MEuDq8BCacnTX1ghZYPirtV6OMwIGGJgXHa8o8/X7eN+/dzvH6+PLzkYCdGcJtAcptR41XLU4nFT0TBEIycOOFeuiVoHvQ9irM/6h793dWTYrpO/Dm6MAnHsM9d3O+qZ6dvVy4TG0nB+m8G8D0qmX+94nw5l7r0e7WfOQ/7zxi6uUUcXqqzS9Tge4UdrJeGREU+D1z55wBvQdBwedKsPRxvFFOicAHw+3S6v2+318y+3f/x3f/fnf/vnL3/45frjz6/7z6f7T+fLl/P9p9P1AwOBMv4Y013kEENibhzUh6nDkSHAckxfkme25/PzwZG/+/MRD6uE/oIYyp4Bzvvldk89sC7CURmX22m2xXWvGgRnWwCC6uQlQkqDreslnPQ0035of7cRbjzDHAkUStXTpRfJJjxd60fiEuVkfZnFOpqkf8BQYRUZFJXXlg3P1zOHHxPTq9SG8VbOn4+1CkjhgCfQo4NsHJuXdrISzcqmxvfq0zfhU2jDlq7mny86LJ+GjFa3xviUQVI0J4m134SzS8uxGkIRVYbSZ8yac8yU1PfIsoZAzQtYWknT3kX9ZQlPlKGLWYNuMMJVqhusm2rCjkRVFR+6KRIsF2LVOWwr0yHHe0IoANTrQQ+eOd9K6bw0U+OZLf4oL097T/OuEJ/ldEYTtZYONVAgXqyOSBnOVm+ZJUvhZiArdYU3iDawFGM1/fdrOZPoVzti6LD+AtpID8qhYLt+Gsl0n4FIBaO4tzwKKFbTHMjlo6sTml3BC/dK3esojuqfA0cDf6y+K+xZUAed11RafhlxU5waj2ST0mumLH+gFNRp1YQeYow+g/tlacJNHe1p2KwHqcWWcPq6paZ6tq4jrDe8hpCoZdDC6a7W7mM6Cklkw8ks9IeB/jUovHPrHY6ZOMxC6oRjq91VMEk4ckBvZFw9v+mbKpcyhLoGeJ5xIIFrNr9az7sOWX1Y86eUFiGPkyhU0rI4Hna9XlISOXRugX73uOr5KXGzHq/aw6AwYGRJzHejscu9YYsZ/RAKwKlsdCZ5p8NFPbWT51glSlDobel0BynyHlKiNRXDFeul1jWrUafdLLxXMy8xIvYPUzggprfx2VQU88ZRTVH9j1gm0JNDrIKPhVSEWZ2aaQbXIStvxPvOSx4pKjefRCuzO6lO1bJJobOGa/7MqprRVO2WU8pK+11Nlx0Y1lnIsqMxc9Te0InZScXV+uHNUSF0c7veHNqScHKydYMjkrtlCdKih1aWOCihYOJRvMThLrYyGKfJyieA7TUFlTWTxtyc1ynELc04DBfa7EqNNysKYHUXofLAkfij0LAcS+6+1ldgSBvXqgMFFIgmnrfm0XxI0slyuW3PCVgoyWYuA8TBXUVmO+WGCHygJ63dYgxneDuhhjhRE2ZMchReoFZ6SfOZA8vRiRQqcFexmhMAH02ad8GFxpPtDyF3m08yffzNOHBD23hZETJ5e9q9U3zfsIAsnofGM0f+0hLAhamlD5Sijiq3bv2gUyalC6F/PnUpa9jUVh9MTJX4NRnAuAth6XFw0LEzlnAcejinl41dg0n2GZWiHNTxQR5mEwwUD7stfJtIu4cZsJV99MqNS9JyQrhYv5FQO2Xtsk9T6zqUjqFVTz6zDiO1CxFbuOhqJSZwnMinRIYGTLYo9s06l1V6FCBMidbOYnFQZwdSeVIsruImS5TSytVSV3WZvKsLy3wQW+CMl176NjlKNJ6Cxw5ktVGl9b3emhmGFeAcJZrSABnTFIVOvLwgUY0OdznZbONCot7HLYd1eFbr/XLfrh/X/X6ndAlVKf1aZ99Al8Iw/M5qj7yZZ7qKpDO4M3XKFA5nU/uFRjjnx7w9eFm8XWKnMm3+os95V6NXrtEcloy/OoP1hN6u2+aSiSKd2hJSa3JeMYLU90mxGsLjkkP/EsHXYOZDj/6sfdvhOHi2aT0IMxl1AcdxbZIxFDyqhO8QE37erqfbNeHfv//zT//2P/zjz3//x8vHl2fO+P3yPH95nT+ep1u7yUOEZpnYGor4Hont4yIwwt/SLY42iSK40faZ0l/MLGVTUyQoN7/mn9st7Hq/nW83/STc1FIdbt5+p6MIESmV49TNfTPLo2gYzbhg0CBK4Q5ZUBJbu9BrAdy3ZFKFeO1dCUncxWBAT5OE6LgzVKE13IMC4hOqfy+fGTlI3ikef2NV2BQVo8qFDmj21+QoW7WvjkCMqbTFTXERUkDFmxUIYGmr92tc9MQzRVtzfNBe7KHYNTGtpPTZaETXf2pK1zuVUw0Cs7oWkeZ2DLWJxA5aHNO2RH3xJJ6Fl+usEGhujj/QohlUH30Phdk40+FVqLdlqEVrzDYokUcEG/u4fjhDUvkxpKGjF4p0+71bb+vvtc5se7GkCj9WomhF/OLiUQcTZIN+3FdToI09NXA5ljEpfjgizKN2PC0qGsLhykwEmGP7UYZteuStGwRDzldYaCGx++mLpOh2y10fLzThsywjhUiN0lIDCVC5OQHjwyC9S+4RjBcz6i+GZuhZ5YEd1j8vbKv+Py/XkLi92toNorI+vBqIBl+u1sfsRqRqg901I5bU4t7QB2ggOLqqYSwaQqc96lLcN6/GUUg+JTyvC1CyPKYwNdLN0lKJ8pxU/zcSkMe3wGoMTF6zH6x5Q6oDg+5SkUeEbsmiqFBmMcdBjdoEchHHgQ0v4A4wvwKC5jS15uSyUDcbJpk3O0azt8YQUXsapFYy4iHwPVDXTD31Zv9k42Z/tSiaHFsQ1MRRI6xFNJTrXc1xnO3vBOTKQpIBOvTycRNgCZgUXsjo4o6GWvbw095kAK9X9qGlzLfX2BUFfmaCIFhI6aJEZ+LQU/QCxGcFeevWEOjQTleJvewg1QVNfmIu2qlrfczEcTiWv1ruEhtmoR6DP0RqGq6/2V2SxlJPxWKC6xKuOU4W9423qQ23Rri+OzUaNxx1SSLrMPKOSc7+2Wgwvz9JIW1eDfxI9QU7UhYyIOY32ivCp1M70cTg8oDhoJWHqMxNl/gNeOleS8LTEEjyXQ4ddtAmNyZXDSVw9HJTRfDstBSXxys+Y/Sas0pPvyF/RmjQclQTuP9YntaxMD/ilrhMZRQRwW2l9mwj7i0p2UDQyO0IjfJNoF+fhU8nZUIlyIwES2dPG10chO7iIlhgVdUBUmzLpN7oEQMaddnQxEwJQIfWqmXj47OYQgrzaQWybqYr0TVfC9Owh2vTNKIhbwnPrSnZyrZpf1JuRvom1VUNInehQwO5wsO//Kv783Kju6ZC1nhKscz/HWBQhWaisuPOwzsjNma1k1qrEqSbwN+cqgw8Xy+omgdUFXkxMdp+wg/QXpd15MTChLlUycJkRW0n7lMmm9TnrSMcZiEdF8hVSGeRFMlLg/UlgDRxSwNPIZ7LurMyLfazStjaa2e2fhS7x5ukeEADpRdDXZD9PoKDh5n1XZnT0kE7BYsmLZBp/JdaG+MKaFGqJWNU6dtNt1gKt3rPPIzi6ny/pvlETZhlnaVQUmlXwQaRmkVlTK+7DG062zcYHrBcauu79JkgwrF4EkD3eTR7dS9Bbl1Ye9c16rMd86KvgwGFu5LK7y7yecdrwM33kOD8HFrj3QoSWZMNG9nBM2eT3arB67K3/0kXrpr0I3AqLvQ75EMzrK6X1/XyvF33jy/nX/50+9M//Pzllx+ft/vzfL/cvpwuH+frl9c552zxSgABAABJREFUXGkQzxaAPDqY3Zr6/N9QGd46fpuWIHuyAZLcu6dfA4d1qvqdTxbhx0NJ76uPuFKuV+BnWLrY3NUtXkG0oLeSGoKsYuY6S9hvKsDYK9NUpQmPEQhUcHYZS1LQaiFseRdXwsdsozYWo0PQ6+tEt5YA7SqXy02jcxTqcTr4z7uN4bRfhOv2ysBFiT3sy2Iluj5arQDqmkXZhB1RuXRmfI4ZsXHm22a8Rp9aDlYhPhpe/BTD/QkVsBQc0sae4H9cxDZV3+KtHgedFOxKjYToYzdVz0qE+rVdRDYEAbj2XNWEVKzRHjV7c/foCUgq+UcxASNGtRJlzO1zlCM3ZIxS0UjRLjvnMojgp0vsKAqCTqctHSKFSZFC9WWAyJUfanCzloQdJyc5+oQ3WszZORbfUHpD9UO0flOeyksvhxCVr9bsmoREnqia6mZHu+BNQpEDB6GnxFdUvtce/a5L4XSDa6zFzeKd6qJOrYhU1/06eXh4h6uWs1U2cqpjv2X92VW8aXYerhuFPLNt6WbD0lrzx471fSVTxZQiP2W+3WWpgnhLz2Ri4cgbLRZqsoImhbSF4iP3m5zN8LIPwyggN/MeJWocAi1Wrz+lI0V5449ZW5d3Yjl5Y29rT7dEAlbza8jJdA+YavJTepE0I0NEH+t5YINRJH699WeBrSZQMRZBjWSNYzO8b7cQfEykpIwd381HAiPsbUlhB0xuY+jV6AQrUsRo3yVaMQpYbbzZSQ+KVVqhPOR/davbtVMkt4R1maZu3DAlFdW1WxazuoOHnt2WnJdWZE1XADilqz0aTGlk7PpStMG0AS1+Dr6z6R39hB9hCcqsNZgMMVWXBXcs+OYBqTuvvYoN4xVNGyhlD02kzcyxHGHfknHZdaajHOh3xpczebkxNia3eqnBM+0+yq8CuK/ink+c1ywOZ9otZrNdW1kCYnIITUzKQpHqLhUp+dDHPOsPB1KNHHKOE7Lemup1uXkarQfhSO5ZWlOFhRVzazGYIzwaAp26dsVkq4Jp76byIpu/ttSNd8ADcs0zGzjTrrCROPkeukggL+4zpf++yl/6/Bbii/mtnxglbrENGItWD8moMKPKY5Ofc35l9sXauQkJKjIywT3HT97v9/PlnKOD64nq/oVPaa0g0OZnWkH06XZlLlIXtNyItKmW+F1S/sihl3IOdt1hwGdG7lDZ0NtXZJYF9H7SByJyDtEHQEWHsDeGhDj+yUCbukBr4w3LNOBfzuj4q09igtJBwRO9dTZlSWEc+IJNMRahwgW62LyuJuhgy3ObPF3qiKLNJiSu2xkhLct7or0N57rnWSv4ruhXksb5TAZlK0EKAnZLljKYZkvXTJwb88dG+tIbJ0oKI/VhKU+Go4d+R54qzAwmod9X0RLcks3U1Sl1uMh1ODfBuPvS5MPlhSl89Lm+OnjfpkaLOrdxEAwFVmo6fqVdK03GG6IepuKqKScDVK/ofnky7NKl7DiinWixOndTMag2Yw8NsgC0bMEN2LxmsIRbZe2a1Nh07k3FgSfVuX1r+rPkgsYA4Ax7aG/UGgBz9FfJwL0UP/rwY1VXicJsTR92gI++XShuQL2qykD8qG39ord/+/66ELm+yO6YWOkInuyo14dLdeosOwYFaJ/rA+Zx8yQxcYasZLbcv23cZt5V7pca0Q88T73LPr7/CKbr+ZX85+vr/nH64cePLz//cPrycf7yw+v2sZ9ur+vt8vGRjhqX2zPmrjVtJUVVwGEFO74ON40yaLsKaozidASvpCHV9JjWmG1pgnW738+3e8F5OM1D3TqZRgyA0LinLZ5FLzJK2VwuTDjn230tHMl13vwoUx/q9JvFbLXOpPIDOM0mtVdCnciSbEFK/WS+L0NVgZ1uC/t+3ja9cIrAQi3teEbjyi30kmdlRLzJXlaGNKsoko3TcydJZlAiAj2FTio280UUCaVVEj5tauUAcV9eUslZ8IJiXCoalrmb5/S4GwjNUi/MYcLUhpdbxE5s5ruRvTKtvtJaWXlTRApu0xu0/bFTR7FYalinPDWKnTutjqEPtUFmcV7HWAzCNjUs/aD2pOOJinS5JLZ9J55nNBlYM5UZqmp0ww6DCmmLg2DGq0osWuRPOu9c9/2RvPHkcxWlHN5see885Nsg17xUV6HyUY1MPJK0ut7ykocPjzqIEDyHvgp8cOReHzWih+fajnwcxPhex8BreAmzwlDL5HU3SF0E89/EsVxDu8a4d5rWbSZudH2h6SqV4RBaXW0FXva7KeLyrIV+6jlDGXzdnT3Kiyo1YwryTZ05e/IxwDDDVlUJPKxkvJxSWf0Rhm4WGWpnQgqyKx3l8/TuUwunSo8VqVXkxn1v7k830Uhqh9ER+Cz8GnUz6dE39021rZlfXtvlL5CpAIgnqljSuJULOtOaqOuTVaQF7twveTxGOPBkBTpySgsvt/JWSdUkz0o0uRFCEKSPfsWlchd8HQSTJdYaO5SjA5NA8Vq8Ncts6+zemgCwDIUl/WH+gX4Xdvh/9Akhs4SxxDoIMUvYndA1w+3r85CtmaOoVEiiPWmvm7nIIzVvxsCGxtbHSmawMVVDhII72WMgTk93odJpDbTDHoPZCxGNolb1Y2fRjFbbr4IObllzQfLudK/rVjBCqfnQZMqf/s5HPqAzghU46gmhELisG4l0xGFmq+plAY3GWO+S0KTNwH2ddk9d7O2bIeZEOfq8Imbwt44opyHQD7fkz7azayFHRy5UpTkk1GLsS9c3sevRzp17jYR1Y1YAgNTxlk8nimsV4dKJwa1iuQ9x2l2aktVYzkN/SDX5WYYo21k8LwAF/ftI4qfCE5HFds8jnW81A9AlUYFMwZW+sXgl8Gd3qPYjxa41nYaH5RbbttFxQQKlrlIaktZRDvmrwcPAbQo1LQXopNn8qHSn0+nz8XjtiUXTf6Lt4pRnkyMt4nf1TNaYwypICOAigthXM3xIe63uu5zr8IKCAOq74WmwI0Lz1tgkc36yejc0FrjVjqNSowov42pMRr1oubGGXdV1cpBy1i+d6qBE0xAo4JkuTUoF5mFdcfya8f4AXZywo5gbR2Fdru3bW2bVvqk2x0zH5CwCzMG54x7VJcuc+Fb1FcE4H082kXRqNUqcycD0EO1BteUs431ikrfKb0Kz/cyFUOW6+WBEXPsU8dpJ9Tko/PTM6lQrk82/d8b8dPxdTPyvZdJD2Gury8bv2I3zCRqpUFPPEi+xgfPayY0jzpfyscrTgvE0aKpwGV9F92xQZ1ZphJUodgB3JdMMTngSFg7da57IVWvxu78dRNFx6TdV4KSfuX7E6+BPBzd0M0C3HjFjm6VbLm//cue6Br4zbh8xjXtPonLH4NeLPer+jneu6Oh/N45jBB2O5ZRKvllJn5LWehwIdzpvr8t+u99uP6SJ2f3HH19ffjjfPlIWTELvtMuxvSHFh0iu1tFUTI8czYNDMcGSDdN329Lqr4dsle+OtTbExF8Jhd1vCIp2P+moZ23FUmWIT3TzbW+SRKYkIk6fZw0CnmJEja5GSVZAaV5MYhxPfIXAlSmOzjKeoeHyvVoBwocZMHhrfcuX+a5mgmekqcePAm2dHqNtOMfpGGFIT1p8rCKG5r2mBMZbGmV135N4qW6QKZjgChCWppfxVsNJ20JVp87EhRxcbK5s7VU88iom+LUr4oCOehrG8z46JODfVU/AI+ZXS8wkjXr8GxJ3wUs+43MY5CkBEHeruxMmoeC8LODcoVAOUsKtgnZXw6dI68WL5FCiV0AsBKtZbjAZisIedjxNdpJsfHjXLYtk366R8gt4Jh8w77XdKX4eU65t8bV6r7xibwxGcJOlGLeS0uT42K5VpF3t9ByRo2uGuaRdE5QWY8h1fOhLin3DmnICX+fDOJpULLuRZ23T0PJHdb1KWszRNKnpArhU0Bz6eRfYO/szugiD1x+bVw9/HbXW6ZQ6OQlTz3vpbWG7MuEtuILB8waFvsnQbQRD/YU2jLSwnCQMnQE7vdarNqyqntCMkQY7D3EDU3psKCNie3VRlZpllboAiup99MiRklOVOu4qiKCB+GmXWEjBtTjBINQneXZumi+g3YUoLdIQdFqWC+vAJoRkSQ9uvl1bHWFlNtNRR4cwUkq8dboaKC7nLP4ShJh93cgubUmktV4poWct8JTmwrafl21cGSqvCiiogiJOPvRIMzdxtkNff+vQxB3INgtKwYrY7YjFeyciUMrDaQzV5kxMS9Pb6vKRAdo4hy6w7C7n4jzsjz8KwEpqJRocU1N9N30y4hpFKhva06YmLPumv2hWCfMjbRsQrjpbSq6ILdpJyt0fbjrhbNbSULwlE3aMz06Pt7yKo/xswkBWgoaFXXRxoT4FFUxIo/plBXib9BoGz1dJY/YZTdluRDRrQlLh1LsydmNQ9KvHNxz3L2NKKosAcmgH+FZJh4BgeT7QOR7Tdg2E0YTnmsQG6/S8JA7ZZgCK6iQBOe1Rq942C4RKO6qAcgt7KGs+0SWS/hxzvo/SDX5y2AQ4cU4nDJYaLs5CLfZWSS7JZbBDn2xmRpUH9Sy4EkvrbdQ8VIesgcHoJaYnOmDonlGOXs/n5/cHTuu7q6SYFTrJTM7RF0kVc77Nc6TGC6q0c5C1TA3FA1fKco3P6/XKYZhqcFRq1UnPLBURipImMx2B9JZXTTEfOgZ37hg8HBjpYmH9mE6YwXBDXZhLoJU/Jz9ZV4JzkX7KOKZomN7gYqoDrcMte7QJR0q2AX+5EsSBLJFJO+3CNcLkmQuKXfLB1vHL5XCsNeR08820Tw5fjKaZUHgw5TJup2ONvXxxTV5v2UTnpGh1qPS1hSqMJFf1ReMvCszTe8Ke7bJGXfacBs7w9I6Dz4tyuwj233A6Ncvpg7GGwrLMdEZ8SG/1Fo/WKgBrqyPSYBbe8WRpvybXCBMFDcQJvpsGD8rX+Qjfnaep8A3TFmqGTx8z6xrz2fbcPrfHY3+kOZbEVRR8F4iSEVpsLe8l792zvIS7iiQ/B9ZcPcnWtS7Ww+nVdI+n+YcLtQRIRzDiISYEoOfE57YH0qxbHfJ7BP3btTJKZeCayLgdmdxoLzrsvKnEUNBe9/C+XDyPWCZujYbGM6KFeJpE4X1RqIswIxarsa88lAEv2bU1oDlZfjufnrfT9cv9lDZUtygh1xtA5sX0PsMHltwnRoP1a7u4y+uUlKQJv6IxQdF7rN/PfftM8+dtS3YDQ6PfsNSbwG9O/75S9+te1O2qAprJ1NubhdJNgxwc88S5W4fMmUwHTs7CGZqoJifhol8aYrFLgszjZo2nsqa/xN97lgyXBq9GmGZEfRTiRpcsEhY5FWzZFA2sfkMU6CKjZkwIamF2NRS1GvzsRi+klMoHNDO2ewhF/Ld7DfhneREOREYy55w1UdV9MLFukm4mJdCn2zq48TSb6GXUzssSGJUXOdSXs6JfxIuzBkliYpBqMNu+dR1oJCmqsZOjC6mfaC29SFxqERyd/wcYCx8F2+qedaQqlKfqWOVdweKaxxNt3FfVdOaOb6K1cnjds+VkF08SDYztfcplCx0GAfQOzEnIGarA4841sOH1ENvKDWAeea/ypTmAZoCG9byywrrSh5w0NaUopyGVfVNLAY7r2ACt3H0Ih46tTKoNz9zxLhjuT+K3mVT23TYZA0i5aTG6Ba5jFCzTYbztLpEmgDNP/gnf5LGe4MWOX1uQ0/WUMf21JxfAobDRogH2dlHvFC4VxmuGQAOCqAw4Ulh87+qI6wJ6VR2uGWtpQFrzuKK255IUzOMYWHAt/lo+Vf4rCywxVDbsGhlugLbUBZqd2uuMLQsZGAngKm2ZxAB1xi5hKNAQOuhzDRqgiksIS2qKHX2EOKIn7HxL2GORu6CRFGj8E6auuaxEwxWluTq+cDmwkNAok/RvOE3NXtX6bdm7+W9KkgqccfBQbMVwJbQSg7VGR1kKQqWpmsyiFnr26AfUNHirAiup9Y9uAo9ws4nTGm+srjF67FChX++CmibBHtq3mRFh/UuJaJNDJhywWQIbRcFdPGIjrHYZkAHY5KdAVPflRPmbSi05qdqWsHJB8i3Y4tn7WbQOATlrf3OSASW4oS1a/9vBXwW9LFd05TkslMuK0oeSzVpZAT89JA7jp+dwngUEE2/WfDWTMil14iQlJWCrKPUxnWmlH6nI3apxhFigs+bK6X+4Nmvulm0Nxz1Pzy2HRZlIebleYB/1nonwuTQsRe32nLFOwtXltMfeCftz2zUTtnFkcJnLaRTqDgqq5qLnq0wChGpFLF5g+YwTwl0R1LrBOHyo2Udz7Zm+0Zq42jycBo6wR60hCUsOAbJXXKu9KxXeFJoObNJiqmjdUHARPO+aWDR6AF9eNqRLMQbq9ZLbph1UOStCjtI4zAMb0yv55MBGRmAXTzZC/tVP77ANEagG7Sgft/utZuGsnrogWwl9mgxWXQehXNnWvYcXNbZ3HVNqDxLQcgm7hjqEqoZ7QOQV2g6BWC/XUQhb9THxPJXCaOZ0OZ44M7sKU+PcLE1LZZU84IJbL6YV2KpS1xO7JIr5OG4QMg/b9Hy63W9LtWEmXMS3qlf0U7ThQsTocDxj5FHe1NtjYlTV17yUCNPUGueeFCF/8ezKkboOdTM1w1WQVFaAq5rv0mrjzDLggs1ZIdHTQTSqQ+ngiCSDH/i23U/n6k48t8f2eDy+f26f2+tzjxsXTrceoQTolyTXYyX91Qfokz4o1l8qA1VgyuoC1GLnOtv73izmegZrvjjZm1aJqTOO/hurutXru1guoSS2pj0zKnEuS6t/rt8mCuAt31eu95ACdYjMB6X/3zXtOoad264aioVmx5zLY72Z/jiWVTF4gywBknpKXpdkSD721/Y6U6t7ATtjlDrv2oXjNlvJAqp+b+QRSyfGhgyH9fPcHvvj+/ORs3/96JzDs7qA6SBwv14/Pq49/aipEGuFD0NR+WAHjcmuV+1gYq6D/xwQ78hYGW6jj26tlHMZWlJoj+jpvJsqyV3JT+GwOkwBvYFFgcVY1UpdHe4xmp2jUxDQyihitPVcPFzaqTIG+9WLykQnX6GCcYo1NDUxIPnQQ02Jw7Y9Sl2rDIIflOrQNaOwqNcLJLH7wFjdLcifmppMJTUsTpL8olojtSWG0eaUUbOs1Sxou1SVfeXTYbAaMFRjaTjL79qb2P2qv+LYwO6iy6zhexgzSI6sT4RFhSCzlWa7sUitngL1hki5iflu+XOyA7ZHDM9+PZazPIYz/e2EiMC1rr8MxMLtEmJt8mgZ0rDhKJ9Z3EONJAxbrUB1zq5azeEvqVirgx3rbdOqAwdPzuYmnSpdLakw3ul+xpFaHimSm1ZnUNLUb64sVXbgBFUqOkQpwJiRVquEwRyNl+sKH3ek5JZpVfZ1id+00cEX/EBRIRYDq+C6+IUYHq6A9ok5mZaBSshcJiVy5BhHfAF7dQ0IYs1sNzsDPqpZ7BNZT/MN6BAgDZQYVhLUEfrUc6VCMeBSGBn/ZvFZ432AsxDUy1e31BEpAMXC92pRCgGrMsxHZMFUEY1ouVLullbIYj0VHAmnytJqZtKsvTGbhSttVEjCk5nd7hwr46ZkENveEIcCrY2CTukOU1rS6LV5Xu66xYCUrorY2DIllplmPaFdKrbJdoJL3dIOKgqPjDAKt6DEqeRnwvSpzqrpMyurQivhs5H9QArrgctL/rLqDApQlrELtN3KJhLUTBFcewht7qMRAB3YdshtkYBsTNVaOrQolO/8D+uBaw6DMLdaVQFxLRvxwM1jc4FixRS2eEwu2RAFMsd6PV+IB5pLIAOvzaZ7XgpkDASpdK4WYulLMSnuylTBeXyYuqPCaXiFWDWSDipElskxIFMO0JCw0UCZCy+S5bs5e42dMh2C0tNmj5ATRY+otWuCUFtokAeQtAISa0yp1R9UTvAHD+KJatMOzSZeS6fnsNUjjxTdnS6VT4NspyupEiF4cbboVgejP9r2mU3Ev8gdIbAEvNtcxCcedZV1Dci70MNi3TrYGjqw+WEGI8Nqt6U4ilsZjNVFTQEKd2ZHijkw3p7UI/amlaiH1dqlvrZFdmt3016luT32/HTut+utUmU0+nFd+ddhX4Y2mLYj8RoJDLphF9qgQ7mbFAYwdijX/7TiMEekU+gqfe1xA3fbmUX9mc/UhIPd0BspibSGRqgmfn2LWEXF3SQc1rt4HWbnytFOBl/yvB13RE46qZ78DkYTw+9kkTAm0TkTcpmYOQ+liVpBNuUT5ABK6v5j57/xNBWipepmrcN3kwqeqNU4JhRZk5rl2SJrvyYI6XJVlKh6poB8SHX8gJ4oibPejo7koUESKY6ETvIUtTXuFh+tPqfiXEshlMJ99uCuq7i0KHNY1Fdw5aSWs9Elt2hapDiWvso9zaUEAQmtV+k2fp4EzTqbbSLgIXLb87E9vz+e37csQCPaojwG2bJVZHwjgZBnTTeJGYKAA0ajLQQfktmd9xtVxRbj9993kjp+813huZRewePSdXf9nAtlxfKdzN+nLk/Lum8/XuNwWXuz2a21SfP9uZ6tGnHPEKu3zKeFo8VQ3tMnHpPnPqBWZ6MdNZpFW6B5QUN2SWa6Pc/bfrpsW86Bf37u5x+i+6JpVDiZjS8MpfJjSzeYtP177vRKMj4VNwU5lxtn/z72x+f2+RnioAY4JOipOd46lcW365cv1/uX+w8/nO9fTglGGeRk5nVjVU3iKO9IagYFHY7yZiOMY2/tPEsW26Qt6Ihn4iNrF/42q9X4CWQ6at4aQH5KZ20ki+ICeY723Ht1SPWqrz3jjcmAixj16x0/nFXY0CGrl3C8cpIp7W045tQafrxLDlkSwEjX6Bpi431N6BpdwzJyok88n+wG6odAdUEJIkIARD7m6OYxZsRqMmn1EoyrDiVhKFtRiAMdHX0ShfYtfvvb/RatiB3NhvZAwd8plByPhxFVnu9ClU5Y0mHPBdEsF6le+nq0AJyR8Wof0Lo8blZ3pBsm+0+oeU9mARoFzEQbN8mn/IcyYOst8HmosY54Dj2R5JwCOW7xBN2WZsJhOQyDw5kx7NBF2/ZKC0GlCCPfZIY2NcMMzy8Am9Guya9U2SAPT1cfSWQksr2e1jpjpIwfkJcpbpziGu6gPGpUtumns0IETHYBaVXHtwBPgV8tYnA8/h2LgomNx9tf58rwk3TuGa6hIE6sHaMwEjoKP4joOic2Yy8VPAhZSQzWjaNJU9lXWERr0v3p/yfFSexWCml9eIGcaAM23xwt0RNs1GaFeG4xqFwrd5xfdYI0BC7mMB4vrakMzqB3HNIHtjKVneGWV2UHgRyt0FTBJUWl6ndSZe9oF1Zunx0cYdXvNmcbSRHA1wSfyNmt6II7QdnU5jpLnZWOBJUnXk9tmJEiAk0eWaXHktT5qr3+IATxXYIYGb+UXB6weh67iEkK5Y5OQ61LFIl8UqB0w6xU6a0cdCRNpa/W+1s1oHCz3OIzyTVdUYbpGYad9lpoSxzSJQ1Wso9KdzgvRjsEJlT6BtG0nUshC+SPmt7eiHqNfN3A48TbnE4Xr8Km3pQRVVUZVf31Nl0u59vlvm2JpuHd8GA9dlOKXT3u3WL2lCnXreg6VQ7K/GUU55FfOK+v7a8K//o7Oeec8SB4XKjnOW2rMNfHHZ4x6K2pr2V2qXTKHWwl6XvLx1mZUbtPIx8FYjIzlViutNe3A5FQpzvND0rhycuVnGQHm6fQkGM9MbuZNK0GVnKlh7i5jGZc051qvGSumN9t1UgjYFXSjnXuWb7Xy3VTLNGma/aigsPbNkVtdBVD8dpdlEEMLCprANb2QQHGOGpvNH1WI+YS4dARLHnP0KXDy7c96v2AXdkYHMTJMuTqP0Umj6c3qKYGrC3UBRoO2bbNzgf1OHiv4akUbFK856EI9WzaOutSzWwCSZZRVJOrL5Dkmin1CXz0+lJ+UQdia7sIUwUdBCZpxQ55/+3Q4AIPdhfr3GoD+JZqM1pN+mazt6R50I/4NrQH3Y2PyW7Vtn55d8SM8OsCcxRigU8iLaeO41uOaHomrasKRc6o2LSQecwUbzjIIJ0YRBqKXf4BZcnQg19H7I20gOZVGxSMvd+AsCnNLBKbYlTHQdXZWRe4UMmbAoXTHgRyCLgUOb5CIWJYLPkp4YBoXaHJfT89ttf3bfvE7cGU0AP14zaiI++5UYzXEQ7vTBbisXqLW6tnFS07WxG11L3mt7QQyVHqf9MB1lr5h5ulJlF5wsS79N1f3MRuNFwr0bQmet1saGo9YFbUO4pzMtNSNua/gxjXVwU1GyXNiGevnF/XSr9BR+xnbigB/NVlHUWrFViNfNqGKhz22m+//eXz+Xl6fr7upwvaeP10OH8DGyxC9CwaGGynnBTwfD0frxT7PpI+89zOef9x3hP43T6/74/P554LujjJHsP3nMZA1+vH/f7ly4X+z4R/3dJZDFXxCS3N3uRlANaVRus4lqZajRaA1w+KutaLYQ6pvegeJOpK4x7QPdjKr6oxGdM0nTBYmsKZLM4U4EjmmNYYA2OU8oRjtxnxjPlAGrAGH26nLH3qoR8G7koJljS1WuLmdruicznHrlh1FW5oJlKX1HiapR8IgtpL5qqNLqX/S8WEjmUV8Bb1OIVOkwBM8/v4wEMSNJn0XjziE1FdbHL1Ro+0Uu1ihvJnNRMJ3XfaZhL0UFuzg64Q4J2VLG81yTXdGWIzPsYFKDepvfNc3RApkV2pSdncZdHZWLh+ePN5Tq9tS1vHGtWyuCbcgFLKwIiNcwQ0i3O9xW3a/EHYuLZogm7qzEMz/js0MXjhyKFPV2i2w5/NOewlrf3zFDhuo3EhWjSnvePPu+QASnLlj/w3K0+NWPJH9H00YUYjdhlmAk/Rs2sC5dIlfiaiYuHszK5fyy7ki/vu476/2mgF/Zz3Sm/Nn+JYypyifImjn8FX9lQH0yYaHK4YAnFASD1iE+ZdNl35qFbbDE1Os6ageSmw6Igy/nP14K3lolqAXeBbZhdP5wGoBGpuI4MqP7rXS03ivQrdiZEeIq3YB1fIMkNELJvdW8F8NmUZFKwtUy5ZlZKTSTSN0+EXmUe8sxS/WREzSdeJR7Csa2cJ1aKTNCg0SkHZGMves254pxTzJrOLMmpE5sAYERp2WKsckwOa1v/guCZyUyYZFw1TI3fFhMZJz5Am66FvQrDv2cjUldUQqpFUDMXJk7SW+mId2koyUSPEOyARdbffnHKOav6FSCaUsSiHdZCQvFT1sXJ/lmMkYGu+a+CUOeV4Ae6ZArc4R8uT44B0azVHzDyJc0paySnRZHvh5+tweZAU5tOcV9FnGLxRHqFgVsigniK2u9LQ1uv5SJfGpGje4hwHYZMWYjzO04x4LLWsPgjrRoujfp3K9aHUjmhUrK5ES+01rhbvKC/pS8Sq29sZ143tjrpqLY5aSlsNKAlBH43u4bl8BHohFTeRecJkPrgdLALNhBGlPJEOXpPWy7mUgx0VjXMyYzYIi4gAr7xrNFufwomCZ9fF2okM2CTkppzRGhEFOQGNaVTg8rU5QZKlCCI+d+p+Tx5mu/JqvE8zjfnKvu/XGyeN01vIBicEZovymn453CkZXHk1alrrsZKgU7aPH55LtopTr9oWCyKs2yjf8RAFnc8CnqrEiqVIpFlz7GHuraoqeUufzW9o07SxY4QC28qU4BVeyAVRTeoE8EZmvJ1ZXSc4NGI78xVUEYKLY7Ckmq5YZzZ5DOA0908yc3nQL0BuHZHcPSSYTl2s6dScT+qafAIEdK7ei5opgf+QckPPzCh18bpRuvZaJ3xfJWDUD3NNfasYYmZLAW8J2ZYKyWqudOEQseO2iHemg/HdOUiGGDgBigHSrjYvkyZcq+zSTiYqPWDtJkre6+nxeH4+nl8/t8/ENdLL16Oh6r90MVgi3dU+5S3I54Ie0NIxLFxXIsK1Ki1uuh+5wO6d33DlJ1IvpA8A9vLZeelnmf3HZZjQbwTRh/mhI6v/uC9qXgT5RYyiz9s01i0Y5qyzbzr3Y+/WZOaRrhaIwbd9Z2nHzsIbSxvDOybI6U51fCkDfu6P2+1yO12f35+fv37/9tffXo/ttRHkT8dUGHjfYCe6yxrvC2V63G+KvwkFba/9kYxEUqhTA/P5/fX49nx8P23bOeHfGKQciyPXKDxzkPT5km5byJeZknGGMdPI4ZplGZSbdVDPbpxwVk5RWdu5yhgvCppWw6HusPLQyBHolTgTqzk3lFTEQB3HdNctTbve4IwN9kk+9VuGsAbr6i+paUryVv6u3BzjzbtW91601yhugmTaXM9XLK5pWqMuQ8sigkXDvHlaVfN6/nN51AQHrJOEzcT4QsKOo5aSNyM8PQhHWrJ+T0La9lRIKVDyGTM/jklH5Jo7YizTXlyXm9nRyvWyOkciVw5K+7aeYW6l6nLLcn1ykSZmbXHklxLIfQZUmyqYUwxZUH3oiDYtJRW5MpxNNxRV6XlrsveqEWNHPOMlv9X7wbqEuiLfVWnKmEJIAwksis01yCI3ZaxRo9b1ZgwhQkINg0pin9shBjSCkXMj0qCb4zxqLxGpNmMRcrpeo1EcYYsxq6QT2UpwOSBSB734OW4FDQHTMeq11Nmka7TUerDiYqDec8bsm/QlvobnuOHA+iTZjWJDUnq7rqj6soze0hH69AqQMlGN0zcoWGg+moNVqLERbBZDaTqjywSqkfLclQ7QRTI7ay1gE/re8JprhzNzlhwNXA/J5V2dlGZLFSj1wKh20toYiaVuH1BeHDVgBKawyTU9xWxg08cJqmKOPahNgnacqvPZF5q1pTBN95Za/RgkqQFe+4mXKK7wo78Wq+W/VWhcGVRrV0nRi95HBu2YVV0y/VIofHK48HfYbxAYNFeKNbZWuxI+RIPuwzwtSIycgTRBetFnzcxqkvqIceYtGKs7p3gvvNVj4DYYIG1160gwBumz8J+Nh76ADGApw6aOZaaISyR2VYVH3upjZ8xunqtdmzZEaikLC9/dXwy8vCN5Z0hKsbRE45RH+ciZeC26ZM9Wmw/SpcFDPVzTXqjtfVfqUR9hmiXP9rk00MdObjU2ZdnJU6G3uJYn4K22o+FruYWtIyIt0u6C9Js6bm/klz7317Y9ChEVtU5ocEA2NGWX/Wu6O4HNJepMKBPpjOlxLSSG2AAjXI6RodNtYVQEIr0Www9oyefmpRdRLENXR0i0zszqpx3qC33LmTK/GJdznJKa0kYE1DkyiUAeu5UvFIOKg3MclyzMQsEsKlSTgO3oe8hQujWxgwPKMKkHfalrVtOYo5Ks+Kr2ser9aAUnNNuwfmhYWO8GsVUrUJZFjsSg1xAL0mJaJAQ8Zb597tnMN29q/nrDt7oXG6+WW82mFu9KzmYxcWxGc19KRE07fKbfVf0o1bBZCY7WbJcl8VCaVy76aH06yC1AyY3QpdavVMXtJGV59bZim48TCoSjkvWBpbgA7C+d80bn/URUurjl8hxAtdRZubbIIxKg5ZR/yv48di1aIV13kj6rRghmv99fbHGVD543SlJtlfWRTymeXDWXSyJi5ISnSodF8vmmfqs2RNRx0wxexz3skE+768hc1G9ZSYZ9tpcvVk+cNNvOCdvPx+eWXNdYv/tnDnIklIeXRoVBhUZ12afw4EJhyXrhfj25tWwGL0p1Sg+HqxyoyHMRy4td4eOe6883IuGtESYjBQZpHEm+XhHbl3sy+k2XZz5bM1EW+Q7Ki0bWMb63Z0wkcfwNnZ67O3uQy4cpSKB25nNxn+eylA4cGRQ0JC1LuefpxkqjYcTVlnL/X//6t3/9T//pn77+y+3zMyfm7fv5Sobm9LvCFR4XUng5IWFcIGGuLS2eQhsEgffH8/F5eny+Hp/n/ZHszC290V4pMM59LXSKDRQj4xbQjAUVilOCdINGuK8TSqWWCe27LEzZZYPTrCAtf7hwrGdzoUeQvKvLs5Rdq0UCPqH2S5d0VtLL5s5mYGr/vDV25mKTLeVlnitJGzfQdmNmQ+OUSfNdpDOIbdJ4BwbCWMFh3MYAvy6t5P2GOfe4WfV9dTqIRialBeIaxJk1lY2u2yI1UCI6jjbYYKONsmJrNfbQVY1jz8ySvKd1XWyqQ4gkanp0c15eJQISU8Udy7AbUQp+g0e1JgfpRA5p5B6abtJQyuKx/JpNaQkvA5zjkdSopnVCVhxL7EQVrSHjlM6u06QGJCEBx+8yot9y0C7OW+1GqWewnR12Q3sMlQNc+GMcZXarAefcmyg05Txc34FMDBMx2rl2u/PwLMWchyyJMubml4kuBrS9qETYcJgSlnkZ52t14ZqavoCqp4OqrTiT8CXIIUsGKdPoT1WXWsTTpaorwZVT78oLzlreSI8HM2wjA9Ksx0ZgtXoUu/sz1qw5YW1sqRoyQCuv9c9hsJGwFfmD3F22kiJu+4qDuaE6p9g9+ztxjpDTWyPPPq3YD4i13l6K1dXxzgpdvZo24xybwVdjdPcXT7x1ByjZ9tXcogk5d8Ed1QF3bCWtcuiZ1JFldcgKYnxL1xAXDpOsz+l8uyijmc281k6JJCwnS+TyJ+6LtWNN1SL6+s7F4Oa0VPiFAqw3kFlUu81UbaSiORUdSLULJ6zixhI3ArQGPC6A7jEDluBKNvmnR95SYLlOuLLSnNTJ0Sjn0dzBzFiEWm0APKg+OkNoVwE3d5xw+R+Njg5IWnMyB1g3jzTYl70ZRsmWTkOgc8DsugxwL5gmhgc5WsMg9m0JPF7v16vxuNcrx+EEBGkwa3K1S31oSUcThU7f6JR91JcAa+iKy1iMgYH+sKAz97zdrpf0Gc9TtiRFM9rb5UIcojQjDTZZoayyUAnTowKoWzjQkB/jKl9foZ9kFCH3qyUMHHanhCx2zGFC+hS4Yz0jee5UdMtszBm5lL20OaE+bTw1tnyD0cxHKDI1PlbD+xJdDOkzy2iQW7QdCVWKlVXp5wwwV73KMKUo852q+idOnGOEAd4KffdaldVUCDttEmZl5DG4Y6Q+HpFeZF5QhE+3J69x04vY9dNDDo24W7xksAxGpldZDUYMZjqDqnjBxcx5dfL0NWfTddVsHl+AE0jZd0WZ37TJmWVI7imp6CKClqDKOWEdFrjdTaVsk/bHThDeRxjoIpkgT3dWap/AKVVpCgcG3YChg+ERNR1FdiHOopnqszW2tbsqomvQrtu2OL9LAEI2B29i7HW9q1S4YBPRHmCv6OIyskMFEZlVf99hKqN5HiFrFcEmlptTp3oBR4nao12ar9719D0DMNWXeKiZHqoka//1+asQLqX8jUgagK7Q6wL6uz5MkSP7rHiKIRx9Mubwtm+PVNB/e+y/fW5ft/2BOlneNmKsdn3IOR039QFKUaK1s+gGlDqqcRyik+WRksQlBz/z8n5O8WAB31g/fB3f6JT1ly7jakkVfqma4wLO42bpOwGWq6vquBat9IGd3e9k7vJyVE9tbsskTs6IR0V30KVpN1eMd+j0U2g0BhYSLcq6NoBgO1EzAJj9fLknKezz2+d/+d//0/e//u3+x6+3nz+vH18ez+2FnZCE5zNN4DCHs33bTgJS2ieQabQ998dle7wI+b4+v27fvr4e3xMH3p/JgI5pnG9RUHq93u+3j4/r7X653oz36SAxsxQ1uES84kXmwVIWdWyMMDTzd6V7ui73XGsv38gEgOzQuaKvDOPacOeGEH0qSZF9iqXvTQxlhfknKUJg8xyVthacp9v6sq5JucOotr+XQGrjkdLTYWvyp/qXOGE7/r+Sdm56ZJS9YEjOGd608loD2SBKR1hKaiiCBY92G29E3LRVwRSgXsrcc0OOBOpNpGswCeU40cfmvGT+rbarkVCiZWFXaSq/q2iYWaNUMvpp4qAPsipWIJyIrhKkvKaW1XS28yVNIGzR4fAMqUkzGgw8Wv+z1XXHgjfYMOpBqSuf2l68cp27uldiu8Ar23KeSDbbMfvE1uOxDrkGfO4RIkyV9c80VPRaVNpgkmK9cN21lPAWNpgSaJpZ5qU7mkVmsW2bWmWmP6DbNjGmgwxiI95LJVHzv6JtracVe6kf5gyTdNhqHNVVdLGWE2QNUyFSuPfT3IsVE+sqDeha2oNGRM4cPe3eO6Nm9tXvsPTTc9yudeL0CPrrNd+b6IJf9OS2V8LO6tjKo0PueBAG5JC2nvGSk2nmFKHJuocKHEa5anQXXnUiTIS4hKPmoPhbhXvSwOgSARqjXN5RdYaYSkdnj2UJkSH1LlM9VP1K/azhsloR9jHtYErANJkbXCO6M0vvnLNaU9ZRr6LZnafLbeEBKBl9iQB6DYglIKV86cx3OnPIsO+WN/xUoUfQ481tDEGttn6zB7OE6ouL4gwNhZqrbcAfa7E0Wsa91DGNBeRCM1/dLvRh96qaMsWR0aZ0I/jkWdnOtHp2eakiZpwqNoOeQtkZW+/Y/a+AmGf2J0Ntcebck5+eM17SnogTH6so9tUWicv/sdwSBTUBec6nHx+u4hCjJdfGvzotPS6JuZIbTOCDk0HKpEW0aeLvdtvdBvfMVUHo6o0uhA6mpe5xR/GbdkUkFE+FSfAZCzkDyEEM+FxHQHRGQCiJwRiuJSEVXwi66aZx+tO4mM8Vc7S5SIMoxnR4TFm9tEGaQ6qq29bjwHLRvaBCuOUeJCZc0lz0oHu1SZmUfCfpESCz8lyfxfCw/tpJB2nLEEnLbiwCwKL1BUPLPSThMvlQhTKAFkbCmUhXYgZ07OfYdpY4gGI817iy6rLVm8UX1TCBClfQTiftj/v9duEoXUq2JqEZPWd5Ij2bYZRAFaacQ0J7sAi5WzY6faFemOVnfvdWVU+6Xv45/Kj55xQ0+RGZiGQh/nQ63W83910+KYd4CoWWFMdaBHBAFNZfiBjHnaFgjLG6boZ3QvVlNc78UVBBZZ6WVUvGZuN2rmQx99M2+TWtE+7EiiU14Aa5unNCZEQd6kagzCKdeuGKHNyWO5O6NkYy8Ww+VQk+EGL+8Fn6+NYjHZvn36HKz7fqYlEt92V33vFklyuh8xKtddSqs6MejftymHxpgx1Xt7uQrUj+nQjs4Fcmah1h0zBTOpzITeUU4+JM8yBeOGcjmPc8bY/Q8udj//rYv2cjb0mPqoqD4jF85BxLj4x5BX8b8UZLWYrFfIt/R0t45+sK7hogS74euMIOrZvlW+tDYUHYWNg1GqmK7fGtscZKul67tMxqc6Pc8JXun7s9WsVoB6vs3x/HdIeW/+sBzt8wGMzqCrbkUixFYI92UW7oSGsbd3HGBSWrkYIUMXI6PT63f/0//vNf/tP/9uPf/+n2/efX7RI1Z7ucr/fAUUZ/pYXA9fSyzdU2EeA9+dLb/vp8nB+P7fu352/f9q/fnt8/92+fQdbH63K6PdNCab9e75fr9Xa73T8+ztf7OQeZHstdB6PjG4ruvlRr6iwO/WPhAJ/5Z27DQUzzzixA/UqaVBirK+W01lC1oe6QIzNZ1/u4J6LGsoczsxp+3TGFBZsBmQzweTt8/ADOgSiHVNJ6NMQO2+rBRO6POjm99GVSBLHDUyBq2BxmCB2hPKzuAJCjorXTXrGEDseqNLu6CMXyNTfMwmXvt01vaRocImIQjqMXuK4SXTLHweKObXT8US00pmThEoGmVLNVxy0+jsIqwqIZhX027xvOKu/5ThmnKhldvlD5hwcrURZClsl4Vd9YoxtiMCsvuLrnn7piRdm1lIdrZhjc3FplMTkDC2tdq1xWRWVgxNDI+KAhlU5e+plR83S9Xn5ACc3K1seDwCYOQ+U3z/jIPesxqQ/X25mtXY1b3rM5JKapHFYLHP9+c8zaIvdgTDK9144bC9HojVBrQVbVkhGo8bGiHhm+KGyNXFBheO6PsZ6ktvpUZD3KFohdmdhouCLXMlR3irTRrmM6NnmWSXHcPLnRN3ybMlL1Xj3ghso6Kt539ko2hS1wUazuDNh4g2pDGsdLQti2HD2lLSCOVbNzL2oLHgsNv7C2hdJp0cvAl+d51PiKsNFhFnVlv/Tp8Iyqkmpo+3O/1cfL0OX0wdkSmTZM16CcxwTeXA4MiTvTvS+1wCXxytvRkN57YQxpdkVyp5UTO1mLycUYM3lkXb/idwklGaAjjRVbb2U8WhzBO/y70gpwJh0iPKdAJv9X0g95baQcCKw9uaQncCBChBHpcnlqcydMHVZYH2dFOCul5udaQa/xOxr1WtrAyMDiTAXV7ELJvFYE86rsLPzP8R6WsThGfQ4HoQxAJjMe+VruzX0iW/KxWft6b1XaLpfzpkHdk0WdCPdVwAxQgYP4AplCTwbOoYkLS/Hv0saYzUd6NQk4k27Yagq8S3iMsPvnv9zY9Vk9HiSYOrb7OJG/PdNMxBKj89myCsabXsFQP2VlsPd664fsNMuyFfiNMVq+NDTLyyoFBQAMlAmaKD5sORwoZJtx4M73uxXcms1a+JZyaeSQbd4lqj9APaLHdbgOTY8/rGj85/Z+bGrVClF1AbIc9i48X27G5/dXSmerf9mhkLgw5FED1Soy8qLjH/EwpDSrMZG7SE2+NPGE6gkm8E/GUYOZA1hLYFhTk6sFx0Pa+ycHMGUQKiPdR8n+ve2qmRTx1WbRRRuSmAdP6kNqKZpr2Cc1Di35ZcH1bZeEmAgF2ayz9WBOwTuY0tNsgsGlpbesrW8N24R8ZcemcZLqIkksuAiXX6nYn4kr7NaUJRaHKtPdLrcqSOD3YrBJK8oXL/Er0Q0bkuh0quhXk+pPKmOdRf39qL3RTbKhwAu0M14eiPb3TZKWEudYVZiWVg2JO0TP6yvbVyLZ5mpQzlMhu2txFbHiSXMlF5oUQcTW+fF4fvt8/vrt8X1LNPHUZm/t395b1sNadaG0uBh9hGtOTQvudW1kbWVct9bhF9rJCx3KqYI5JNCBKxeGJqCVoY9ZtlHUukcQZ2HFOyzSHaRx/ZWvi4P8ZkGJ6Tim40Zd7uWH6EjW4I9Jzn+9b58PYbmSo6345MqQFmg0gjybu6iiTgnkjngTwKczfFJTTtt2+u3Xb//b//g//d0//OnLLx+3++Vx3q4//LQ9t+SUhSDS9uxyuqa11efnKbHfLfGupEB/nrfH6fPz+f378+vX7bffXt+/Pz8/X49UXJ62V7pCf6ZiFRPI0iaOplv9bBeT+FON10Ks4UaWjR+Cdl2IY3aaVOJmgs+Vhg3ajKLGL3RU6dJrYsnXcvooAfnI2IaezFpAYpeCle3RX3S59SyJkoI7pCxuElverK7MFC6cldCDD5kbuTzmH3FTdfJUE3SbW3yLMla0r5fVNNFhZw7/XG5JKc5CStOLhprJH0TWVEF1fjOH5HZd0kFX2S8d2TFfL4Kbtw6/wW15ut5u9iB0M+V9QIn1oL2TbS9hgMNyqDpA4z1JvywRktEXXxspa8h9LNKJkf7Ew2/h7uLLFcLREKVXRfpOFYngCN1/SgiOSO1Yu9r0rTQTUNICMywZxVHq1mZUb12yxmEjwA+GZLu3aF1p2uJ4mGGeMsgvKjRXiAojD0PRKevTJniD9YImHh8AwEGriwEwySa/1GDTWmOEJmmmxbKHXR8enOrP3fNquZb6Nh1alBuTjdXCF+zGOteipeRkEJ2B9OZjjmQVb3NsNZXPxSiWbrpaDuwHNMgN8D66ijTtxrjOlSurtD0jJ7m+jpTXaRu1qMrwJKU5SBOE01tOtWyRUyFB9XUEZ0+lPrQctbohXuFi6SiSTANpA1+FKDcUsqXFOgOX7XAutKyye6TS6kZ5l8mSgxCNJ099JRjGXGds46WiSlEt0hvbVrmqQp8Fw3cTz56Kw2qb2m2UPtpuXRWA79i33hSY66Rd9KJSl2ZR3ujsrKpHz2Uqw06sQLeh1Q5jNvf8m0Lt3EofpELSy/R/SkZAznQtRz+vb6j4mDu0C8rQgCPNO2jKkMvo/+Uad6Z+hfmBm2xYpowty6j96Pg0dNCFW56J9kavymmVfAlqjO2D4Ia4XNhBjHbeYwXGoOXOiA06ZDpQyXj8PZJgp75sCb9osqZHkrKUKcVsmFSHwm3a8Eih4PqU+DafqynA3abRBSTkGfzx0MZntBfZnAZKQyRLsPWrsoS45v24RTrXbEZnOx1NqZg+0oj3rO/THgfefO4x/rx1dJsfaCa4TnN+LDXIKNfrVDHjqMDExWaya4Fo/zA2Q+2JGXuS+XocgjOqVUZ9sXqBCeS1h70h/5IQ4c4exnMRlhAhek8IHdkYho/tUXPOw73yoMhnCmIdURpWpdqq44lzhEVptBj3AjFW9j6jxUvd1kaqcSZ1p1M/GexxnwtVraZkY8zlf1KDlydCiwrmdHViv+dsDFQfp8E4JANjyGw62Oc28xIz6He/jSbKGRKmrnhqjiupD5c719JGzdKlU7B7pqun5OchEExeUjZJrz67GPgoEaggpzTqUOoUp3V8V/ZFaVaTKdFmCzBZJ2aiR2VYV0TqxQXcJZnLZkRQKnKaSLNow2v7KHA+0SpNZxWUAGZNjBS1TQZhW+zG2DamiZbVvtyDosZ2JGmwHj+1NVqK6T43TyliOqUml4y66duMmZAGbcxwTnTi2KDe4vAXr0h3ebUv6kF8S7eOfW22VP3GmLHum5atqQBOCjS9r75vf/nt83uKQcMcak3cnhMyrWvoUCq9XNsitsClRGYugM8AX+MXa4wdtbdSa/dzCffNMJXi3MmBUKV/n+h9FI2q2xXEC3RL0srRefzvJUun4tPzxqHP967lQDRwRsivEKQb6bB7HoEuJ0iwqrUDOe56vPv2zgqbiOB4V3WWVhzLpvDi+ZyMoEt+kpAZaypnWX3d/vf/+X/9p3/zy/1j/+n6vP7xz6fzfrneX88LUAYzPwkZf36j98mWr532HJTx/fMSX8i3/evXz19/O8VI3tIyzebPj217PPQSWVxh7i493m89FrJ5NN1LVdthRX6varL+ZxXhcHU3fCapYGimJYJJZQYyFzorKMl9UOfiJq5f9RopcaXFLkqiSH4oWCV/0hMd8NRnjduUMWk1SQ50BYuGLXBSM18ILaANfp3xeI7Xvl181RNqyEz0aaiQSU5Kf3hkHZ87xrZx7+g2xlfr6DRa2zUoLRV0mQW/Gb6sLm9CDctHq8GskyikK8abZLoa6fmI+iPk4iMtVCTMXGyzgKH4+KmHAkLK5Md2AXq28FJI7F1SZ+i4KqCkBljmEIrfCQQtVaZkcZJubtlzbm1TMdgocSrOEHo9KbLG567TwrP6TAJXvdQpQ4ZXSehCS1tzuy3AJ7zUtH4ehxwZTi7ChENJBlT5MWJsGAlNDJXTAyk8hVKwaY4VwojyHLU6q+j0ryqO458yglUMtADVcqcuFJQ+gYdSmFA2CNsmNTYsN2VpITK9bkblQ39rI+XcXfbT0+kcml4jFegbos/NPJprps0l76ClSpzRjrLOCmtr4dSPHOPplOxo11dFTJd041HGtTFt2idtOZ1hMuVtDjs4Ol/m0eqfqjeFp0kdKD3LcTytdOsCaPjYppZpQxKuh1UhKXfTvkd7a4xXnOoCz554S8aVmKoE1s2Wnl0vt2CxNl1C2m5AH0+MmckRRjSNeRJSuhH2q2Vo22fB0ESIAhHkOCzqfWcHmalCb1C0Soxrl5UdbUmebMM8R1Yy6tr6TZgKTWpP0Px3U+Why1YusVWvGLuekY2E6EfuUg5BXfmKg+muJw0tqixgC/mQgm3ponbPhXDx4cAwFJgEzgZ187Y+wanHGzJB+yugzaYlEJ+Mu/mwW0luJlWmRFMPIJutPbi3v1vS3NRDDLVeUsJlavyF0k8LD0OIEhDCo74vPVKtWnT8+ifXrXTjWeAhTFBTccIz7mZFRdi2tHc2qLvO1GFeeky2a7p4Fg7gAXAnXiLOl6mKz789XdkAcqctplu6OXU4MdFA2spNBnARGF0rzO4qba6G7mTojjF6yHD6YVRC6+jVycoUbAmzSE0JjSpjx2pnhd8xRwch12qAgUQNmnrKXN1gXQaVmAGalr5dm/v9dElVdWr+cVeaU9rFJBt9u3IcnZAbutmWHtq0/fjFCa9NTMbuC2UK9aYpDACbDEUGORS6ZViWQJ90fLj67XB4YblSVzxcKeTRNMvCBFtzQBOGx6H/YpHLylcVqLIk8o4sFZ4vsemrFjRhaRCav/LJSutyu7GirS/Yt5wCBU+FjqqHpeKvzTd0rIgHLU6Nviv5qKPLCG23KHTc0q8SU0sfNTp0Rp8QBVhY1GMzlUi13CQ39bY3VbJBD3Ik3nKZFnAV8oaFaxsaLj2EGMsFBplIIgx65PVkT0g42FS5YrtcMhcamOQtR5+PsrNpM479ngVlfJAHK5MtuCmNLqjFXT4+4wi/rmFRMQEKWjWOv0YCxqLQhSRFQskThF8PK9/YpbKTh5+68c/0Lwqs5MjfqErpfrXH+n089s/H87dv22/b/v0VpS567SX1e4N4ijolPc77pcQsDiknODrJdSRB1Vou8BPccUuUd8crE8qnfZwT7KSVGz56vdk/J+bH7aeael2pRT84Y4hsYh2SzjgBK4Z4dxTmA6D8hvdFi1lPyNTFn0aka5AU0/w2b/W7Va8Pz8GxHNW8WIzUb9qV35UIVzfouzF9dK0LE3699s/9cfrbX377X/6H/3d0yNvth8S8ntePj1B2PXbpbBBXyPdvr32jgdYjeWCfn+mK8dieX79//u3Xz1+/7t9DGaso7vF4Pp77OceTGLULmRGliNfvcr8+9k1AfNu40snywzYZLe+PxecC9DslpJx9UBSt7rvir118nb2LoLSXCt4ZnYLMNlK6M+qJQ+6XSaA85b58DShSzDnpnZ5bLuLAkLYhzBvTf8gOLrmVyTzdQsang2BGVedQhQZuhVo8HPkq7185SrOyfmpHkRXKTEmhhgf2GKkfE1EY1u8TSQc0dmZ8Yg40Yytqwgj1rqHcWLWoPFuTwP+zDiZ1m+pShulZU7SvYZa0LTynvayuHDqN2usbmRm4EyUMUZYdkW4dfiF6+FFMgx9uHLLQZqW2c6yn4HC9ueSzc+bKF17IQeMPtDgVGzR//ZUueWYLUi+nR0PN5LvlYBIg0WomJhUXcOu3UeikGRwNurwn4qUQq/U7ESyQydxknxotkKKzjFx/q0QipaXvcW4cIZSeJupmTZItc4hCiO+KHzLXVI+koWZa2WSzgQc0DYdnsjc0MfShjSmNy8DUEpfu3AtPlqrSBdNRpn6mV6sFrtoXDdF7SmKFHYgb/SzKUjl1poRZ0Iy/6sgsJjqqtEu359YUpD3PiLDKbnKjSlUS2EHtevNhCcfulz11WaSarTZu4zN07zBO6/u8hVLCYWqAvQkwVUe7rhb41DrkLGHKTg/eIAXM+Wnpqz1r5Gi/nZH2rMmpmMUUEn8ouuT+sOHUAI/+WjuL7eO6ZIhxri8fFHn1Jh6TcHlGiDY5Wv7VoAi3T5KqOWfq3bRlYljDn0NPhfmB/rVatbLV6kCCxJFcLgZVuq0TjtsYNK9oqLCADIqQY8+bAkh2XLvXuEHYIRMSzMsCkAqtw8NUVVLEtw+B4Ssfy3Eas/uwXTqwkJPDy6PGj4kSnWMnB9C7VzYittKv65ROZkdzJgPp08XhIGQodPW90EE6MF+SLvB3egLHhJTnFmpIOpOGVBWa9ZsWOfq2b6X8UyJpq4miku7x341HLn6v9AMdlhdH00CjtXxYH2QOogBE5+sjOHNr0jWX6471VQdEJUIzcWELcGpnKyNgJGRpkiutgKmCbjaomK6fmPZUdQSQCjwo1XV0VK52fjYiej6/tjQlHvWyK0SP9tPllnzkQoRN0iaJCE3l1vYpjTzkUSNgJR6wzcxhvkYu07Y/twlTujO0CKC3sx0kaJj6TI5R+lMQEmRstcAdwUxGfxDZzvWgBHCxtqGT2mI5lZ6VVZuEhkNa4WgJyC5uozPR0aG+9ZVzLTRlGOabsaN+RbVi/PdNFXYXTUnK3KCrtBw/5yQMrStkf+H9oMM6XUax8xk4zsZCG8sxQwpjp7y8vvkDLRt5mFtIaEukDvcMN85rhl1xZ6OThjdrOwqai0mGrbs1NCyFkqokefagQoc7OwuUG3k/92sxYxqiTP22w+EFbcwjy1HDn031r9QaGNDmpXlBbbCDAY3D1ItlQiYKxPtauJuF63eMnoPZBX1JGXwO5cfJKz2ZpvH06NekuaTP/Oe2Yf3+9evnt2TKXp5v9Yo4rStB3WJWj6VYw2K/KoMlnWGlaQM06LmKZf3ygnXfc+lmG2XrY/J80Adq+FcQj6grAB037JirozsEh1nJ5YbN4NWeO1zHeZDT8p+tf35Pon2iJDfzXwTYf0DlYYV+Uo+MZMhbC5pYwcyofSp5Q1MEh5LF5VEjcjBM3DHP6/2ybdevvz3+1//pP0eVvX38m9vt/neflx9/TMX+jQgkh1/Fk/35LZrJnvOv4iDf9v2xnz6fj9++f//b18+vn/u3mLzR8glv5aDXy+n6ERtNVswWBN5bGqbzWQd/J+iOvFumfKesIgMLCbJhlSD3tV+QDmfpkeomjAz4iVYqUGNdMxLuoApEr7qi5toqZdzytXqH1un16hnBkJO7JiBXvSTq25PhFPG/49A5x6k3Mq8QNNhtpo3qMgqWcpD9Jm/LghHYDXuypoi41tlV6HtEXOGPot8a5ipiv2Mm0ovaWJ6/O7rWfeqARrmhbkiwHEGKd7iroFOuGLHWVekdYb2/rrdbA6fikLaXAMU9LNnTxNfPzh3Mm8WksRnHAplBfq34PCVCQU2yK020FmbSE5bSRC3laqRlOULeQlbeweJjupcmuIOEC4MjMTlHbKyuOI5kbMjSzG8Nqpr5+q68h1pjYuzFOFK1YQQiKFVfsRXZitfznL7sz1fOpOMywVmIcL4DKIexIMfRVmbsCrgY0t3peXONm8Uua+UvV0S/gIpHXGbadwgB/USdFJqL2Om43sVTDe5F8WopuAy6okNLBHwumvdpKV8cGH91JWf1UjFDLbqr7RJlhpBrhzFJb6SGmYxWtB3xFIlwoRBStbO4pAVXiB+tYwSfEsc5Gl/DzlkwPjjfAKfOPZ5p36vkVpTbIF+dwkpslVYocFQpkLO412UVb5VPVdXU+hykksOAQlNx1dEFqtm+Gtvn02rk015LVnFo4NawYGLqTbmiQf0lZQuxS6S1sLYcY2i4wm9OD6sMttVQua7McLCZ04ULihRLIrtD6VfM4SVOrAFJrxIHShLOokw2NvF4LpU+S0jjg+zjx7vZlYklgFOnmlC7nmIboq5ZKCn0SSU4gKiDpU5yFkL4NoJQTJxZLLXBvCNozJgVOr2qgKuVCt4Q7vhZdNCVOuuQddsPPhRRcoeEE0eZXVvgtCvXuZtFhhCG/au4Io18IThSLpp/Mm0ssgqnc/JiZisHkAWs7g66bR5G0girLYYOXQ2nZcf2FNDrtPAj7S5Zxq2TxXLx8/y6taZO6O1AcjOBWHGoXJn0GLetvgNXhBiNRUoLQeY8N46V1tElxwkcNe3yBRfkQipyTpZPeM21pc5HaySnsdhPMU+1RdOxE8NnrkKnskeKKYDpa9r8YVoduyoZzpF9Xe1BUiprGnvSHRC6c9M7cX7BAmy4AvyKoLrG51o/pZ2H7SwyCxybHzv2cks8pIcyF6lDTvueRiPxX/cAeBcVTvVUd60WrG+guXjTzPbFC4mvekrhimtKuhkqhlz8TRh1MX18jm0hSVn06qQGmTxMMVXu04KlKUQ05cYHqQ0WKxw23b6v11t9DUslKddmG0pKPqVR6Bx93KCKWz8M7m1z/5r33KrDrcidTBqYsZWz0q0bpZvPNJvSkeMpNli3bYShlQuoR9jtdfy1JVuIpY4/43/coNESPT4SaBUbHiNMMIgmXnVeGS/FSC5mXfEaBpr0GgVaB+kaQt1w7qS/f7xphwy2lm28VNXARgzL+FC7mSxPKD0tf5vyuuWMq7y9n7ft9e3x/JUOWHvqE2o+60g2L3EpeUtqNO14hFYFTVtOs+aZZg5KUU2phrQYpnvcJSoHFpSxQ2YvahQV0ddyOs3KDylBLaFrzkIV6/y7ESAePJvTFXNS89e7TFfArad2CH1qn7GY8E2m+tR+XiI0R6a/j3fMhT5uDqFD2+JzjmcdmFihsS2yhg3kGVYhkcR8fj0CAK+/Prb/5V/30/+wba+/++dv9z/8dP2RgnfVvtMrx6Y/vre/2pZuWHtcIfvr4WHC377/9nnaLjZFSqkmnpvrl9v1co87D72YA/9guH3jUN1KsVbHMdr2TGZt5GL7g0zrIJaImbsQkgg9ULpaXRl4YcjHv2sLzWrLoeqgs6zdwSW+F8k6JK2I6kCtTIAWC3dErkQ/wUCNlsFMIpPiHM7nD7qlTBXBiJe53ZmjmCevZniZ4Iw+strejQZiXJqbwFeIo6LjZoUsmfEruutw4YlW7dxpe8KDZCk3vdTGJBmTixvsAbm0viu8aNAoa4oATqy1LNBBij+TMJIWaQoLDpTwzsk4aZtJG5Ji8ab9Hul98ALu4FqJbofEwE516ySgMlRczBVl0QpcUlXWbQvJDjcd+p/H9E16B51E0pyjOrZRLwcvTWZHqqeWkGr2yg9mAKl4VId0PVB6y/3mUtZur2Y77NyK1iO+dIQ9xj1aqiLnCW0l+mXOy6QEHbWK4b1Z9m8Msu4GVQqgMlFxaQZpnKzo1A4gVU31CieNtsvb9EPt5Ek6IMUMoaYy3GzHztTQdihNdhnvKsShGV+0Y5x0bTEazrkkCzalChRF5tMAclSvejmWzVPLZ+tukna+mGsEhLmQFUm5l7jQNApuIyPYXcxeNvtR4ZLvWfLQjK0k8yWpalFUSUOKK8hUTE1WKTTKgTteM9czVABVVujhKcKT2OtyMB1Ue4iQ0eMSMv2gJpxZ4moUOc6OcoybBbRz8thY3m7H6EWzlkXUUQxGCxmQ7a+5iV4eFSf2dEzW5vez/ZXNqmLqQmWHtVjJGffpXQR9BgSRRa2i2WgGbcpSZC8nLDBX5ECU6PxMoRmk1PSLFTOA6Q9BOaLaSj+GPF2rlrchD/ZACbyhQY6GCtmpO3e/HNRbFAsCLUqo0CElSP8eq4DVq8fXxbEnEyMiDXh0p3rFlnnrvpidUOYxk1kQ6KYdMtg33FaX4k2lafy5InN0minNF6DVwNhKN5208BpX3LEkZc198CKXI2P4tMZVwUtHxVJrfR42XnMKTddpPSm5Nddbc66sYi3N2SCtNv2MtuTMLYddfa4L4fK2L+IK4Jc+nWDXao5fdg4xMivRBcNxUxWcuoSHWKXyticSt1hgdsAcMqmiqUosOFGITvlQlGb0nSU0q2ZCNYjUvqoPhFB5tDzC28+GZzmPEXHXzkOumIrBiA9T1EC0+PP1iNP9vZDCXOBaHy0RSh5BpqTjdBBFB3Fr6K97bmQC0WCpUny47XsQlMuvUBpqEhWez/12lzI4Z4uBnD0VNE6NDJns/VCZSi2y9XWux6O7NkibQWiMLSmr336dC1JfZ7OBJG8BehDDJeN3jr/WCZ3/FnqZDFIbsZy0IHdZCv29csUeBx3r5OXOSxIRjCYYyBe9Yft51uxKTwQIGjHvPV2BbrdQzB1sR5EfZLI3FdCtlOtFj8FU//ExfLWSpRxRxb3CvFd6w/ahUvS+8bDTFY6mP+f6YNkGz8Dl/oirY9se2+c6BHjf4mXdn+dv++nzdd7IpO2ylz28hWvm7z31dhBSB6awCPWP7+EdShr8HaB8exm7K/MuRFJIKHX8o6zatRzUfmN5iXQxjNcfDr4qcM5BJ8o8sLSuy15h4cbMzus867dkyl4BETZPoxJIki19do5+ZT6d5Ss1q+9ID26b2thQht0iT8l6ckcAEFSiZL9G8J5P5y066OuRqO/1tF+fp8v21+e3//4//e0vj3/+l7/88udf0hPr43a7ZxZZiTiwnHKI//F45KSCx3P/fH5+/fz6t2/bt/T7O0UvuD1fOWb4fD//cONESdb8kRYUqSO3D0jSsjL+IoBRH7vAWyC7AvyKrbfckHqYTqfTTZXHOj4FTFWX5IKiuyvaTGJgYZY3reynfPDmeX+dDP/aNHDLXFXMbCYG09X0nX0b3DkSbUoQIwikW/2tjWiNST0eq5LqGhZ73qB/E7X6X4VPeipAIxWvMRdMdNQfpUsorpxmeEl56EvDSgBYZM3per4myN+YvDhx9CayPIcgWPuAlBsKysRel71kNtywjfqhRncva2TJbIUogbTV9rmxDHrWSapBRvufxviYDcTlDF4x0vLuOO4RPclbqdpgASNMYQNTwmJG7oXuxmLLl3rDR67Of6D+tFgT0la5onFR92/Esr4bjuqAFIsql3iIjtO7iudSTWFPuijPZ/atQFcUJjw4zuJBNeuVUhKncndQ8ngiSsajX3HdrJyelKJSQ/2iJk2YTNueYEav9yPVywWeZavxeVY1MjF+WLohisly0llgkFOqn+BZK8USgq6tN+qg95LXfCJnO80KGlfVeKEMpAcsj4xSxASLcKvFF5g/oe0ez1xBy92wazLHo01qPi3drL2rRHUH3UQf15VpYgWW9vV82i/b86EtOvnO2s4jPmZvJ7+ktU4LbHgGNyzhsUbiI7CgX+zQALo6gOUQqavhKSeTXuMUpQXjdukCXedLu5h6zAx3SUsc074LQEYgq6UNOpdohgbymsZljqGP9ut1BTQ70alWitan2OkW5dXZ5C65oy4lhA3xinjdysfFwtE8V2hIu6ShKvMAJ97ikncehQU3fDrc6GA0wS7kZFSo1QLo/cJOYn088sZhPvFGE4ky83YKHki87O6+VZzOjjEGmGd8e3KCXt626wPFSpX9KHYHIOaq9rsiSPlzUqQYdiKvv9cjl4tuSH3c9kuPaV+E0Zby5P2VHM92X8DeO11IIbSPvBBxmOYVPh5ixjyFG9JRmtdEyYP6FL21sKkAfX02UOWhL9fREBHCWWc0JNbeVvnAq9R5w2apqIdKzKkui/vfMEkdLYsZvdx4xXCbDSP2kKMFxQ5JT1hAO3m8LmSmtcqWGlokYnG2OyVoOigAK6FFT6NpN0DHGNuZRhfEQlKqWDRXbKz7v5kfs0qVywgbWCjuc4xnatic9BTfom3UHW5dDnZdfK701ocAV6ZWDTYPdtfckq1YkzZVDtSkM1Yh0TXU0e8MXKr2w+vSkXnRlnbN00sVDaWZ3Lt4JkorsJPd4LOVSnb+GItmcKA7O3jhT1mIAPKNCLPqsYbG4Ev1cjgZ8ZyzjqR04yeNJKtteMRxJGoem1xrj3gcnBG+bESSLaC/gCSkFFKhy4eIy8XebuV4EiHXZo2dSA0Z/kWLA6s0xc0hFElqhEseTjbljLc7XcGV357/LJXWkL4mlzRyqGUdGUV4f3lr653Ua9KEP4iz2NLtneBVBbLQzrqGjlKWzKoStr/uJr6VCasfNNxQ1lBuND1PTPcDXeDoiYGS+E+2VJ9QAxzf/bfH61//9v1v3x+f6c/WbTf2NORYlfN9/PAaqTGHtacTt+WqI4FYjWrOb9qD8OxI542yfAU1v693F1840Wr+azzMvXbvopMG0bXQu1KVDAWb370OvUQ5XAt4VEAuKajMM4sttagP+8Bwpb2R+dNHSWzO2I2vAiWCjlTqRcQtrLbJL0wvjQDRBS2hAklzzPregoV863m97lHFXl9/+/7rr//6t788fv7Dx4+/fLl/ueXU3oSR7N60kUvSXAPcyq893aCfnyQ/Xy53eu1skXLh5ssPlOArWnn4/spJQKS8bAQltWQnqWNAuIglS5osjTuwonmEduWajWxW9p/Rl4MkxLtBoy7noFzrCxoLIrSlyqgnl1WvhkvemZBr8pPqCPtVGdpgNUTaKnHO0Bavm7PN9QKVwa4qaR2s0DS07cHxeD5z4oYNpUS/wzw1eJscjQ5p3OiIOUWduv9yMk4MUMVMA7H5VuGnRK7G21vNZMwtXck1kJvsk/OAzf+4XHPmoQz1wEwdTnSk+U2vYhVcxsipODQodlHr2deyRSCgOJnH1zgKztAKQgxjaZJBcriwSTS+sOFdk1HV8n8ekRh7GbinK8cK8vP9lF5R/pUnxj9gvhgRfc92qhGgTVf9sxamazi5qUfkFa2AAy27Oh5QvyoXSAqwxtUZZ/w4XUYNZlk6ncAGPmsmNn6HGlGeS9I0anOXyIuNs6PAonKyki8qM2uvGsQWoByaWy7NT09+HfLQfaE6epcfSEWq9nrJcStEnSvXTKZLK03Q0S/ZF007cbgyY523OxPSpjC0cOLwEeMTtQWKJTCwwQimgWJP6a8iSP0NvSWgxvlQLjUj3KW3XDznmzR3Rdt42sI7Ht0m3Z2sDHUfB9afnttT9c6zVLtsHSfPna3pn8WNegHHNu6r8nQ9oT7uCZ9nEcgw83fov9mUPGLbrK2w7NQVsGeb4zX0nd6+etPqURAq5KQnLaME0SasVb5ySQss4/eqfjqOh6H/YoaTmufmwiPZgA39nRz2yyJpgR41HRfeErqsrRbZXCNyTVdaqa4UVt4qVq78fjfBX3QxlANHOez28d5qw0DWEo1WjK1ri9W2zK/7K405zF+fPTbxGI9vmjHhiWd1ZLpopUzPriRDBtCEadWLyki67qSmXQ6LmP9N9kVvLVIs356oKouFFuI4nq5UKBlDqMfWcReYatwcegTHOyBFWFecBCTbjhcP05PNE27qaiqjjj7k/jYukRvRGpEx0H3obTcu53Q36N7XwJu96yxmLWv0vvPS0ryFnpnj0fRF/gVVqW5VyLIR2AE1+ATclibNnriBq6axznJbNRbLjgVh9KNeBNTpINoNND1GGSPLO/gO1xQYKcxJTN3U8JiL4/SOt5S4lUPutZ+pM8xmAC8jfgQ+tcmeB1P3sraT3fZc2g5G23uUkLSv67dcHg5nZiE9Z0IZ0C1zD1xSdZ2hrNqUZvhoremLSBTXEyYCRPR8JmnC1fMczvgjaxvzBBnbQhSCXWQvs92Dyp6CsDStRJyO1h+zKwbhhx6TyNYmKOql60JkuH3sAGinzzUNXIiiNAyr1GzKa5iLm3js1hD0+0Daz5D74n/jd2Dg92X2JfARuiFVauNqeinFpEEW0AHnSjRjFn5GK8YecF20MNmIpwwRDwEX7fFgtjUo81JpqyQBz9vJknXkcBv704Ry7D+HnqBv2Zto7bzFuyYNjI8XfSLDVNUjrawFIoVkf5y2x+uxn75+Pv/1129ft5izKpgjN+qZnRhbKUW1AhUheoAitI/suuDEmhDZ+mDy1xVxS8ojEAcPj+l1Y8rFs62zkev7PNq19KtFGy9zoRaYdFr9c8REp7SoqJfWzzBzGBOrk+2VbPOMuk9w4CJdSczF1D6vM92vujNGVVQ3D+wiJ5eK33wXJQ4MIutn7Bkiaqjsj1RhXJ57zKobWUHn/bxv23/5T4/f/rrd7l+vt0ua013OaVOPY1Xd1GNEZYlLYobmUucW5OSkQf3zvH/55aN9pMP42/V1D/i8kpOpJWCFTNNAbLxElqjQlrG2hGCk8/Kx6UFyvRVhXdtD313sP7lgsAwBYHyCo4ss3nMpK370KGOysS9Gp5dVY/i24yplla7gvDa8rFYzjx/HSOXH+umCFH+c1aglAglhTKKIRcaJKFj/iQ8glhyFUoQDsBFBFLsUxnSzSbWrCVCknxBFxVLmvm2yKgmW9TmWZ2YVvGsFoQQ+F5DOHKzm8AVVIMiYnK6OHF10zG0WxRjmQCNwxu9VO+PSHaMxJG8er4NGXnAq50Ar+n03gidmDpfrdbVX1UU4T29e4/WWE15qv8Ji068Gk6nSGfsH89KmUEZlDBi1AYRLyWQmBJC7TUV61XjjrwQzsnW1oHI12cAOFXEyMSFFiROT7AbRhurWe5avi8SaDznZYbLMi3aS3tJ9l+xD2zCTdDaZsUzWJBM7qHQ5dMpEBlQFzAFOcUxaSneMCQgbcwtFmM5wtFyqJ285tgrdtjhR1h6erBoTlR1y76QX6jFxjrVBSshlveJDzXlXXShhlblJkvQ6BkGgj6lLra0xE9pSsmuCdeFcFa2Aagh9lBpAnkAPtH17dMGXvFkSo57VcqlivQyoL4LdkHdq5daXrRNcMqgnyLVxQ+Do5PZMPbmFqFYwaXO5uao3r6ZAE1V6kzoqmvq/ymZByAuZ5y0MDUhZGVLqmz2LL2Hly0B/Tl/dSMiQlpgJS7K20NXkTd0MZWlHwE1yC1qvd2lUSZQdQzDdlVmSih7fnicWThquqWhX+dtV9I3QBrgCWDoapThHSMcpvv7eS7nSbbJfR4vnPJWqKBJE11vFIOfQVOc9kGCuUTSBHeG4zGS2vM3Q0gqPBxwbMSXmAkPv131R0omIDhaZ6rVVXthqN4n2RKrm9WEPKkq2Na56YCa6WjHveOHDYCkmCSQPMyWenTP2aONrecFjdYk7iRoTTNCzxyo+X6fbNQ1m921LFbZ+LPPDTY4VLRSlundQJcvzJZCu9Qq6amOzfVnPZnG7H3KgtAMfC+j7hrhJwrDnEmsTepYsf4E0Fc/uZwmObucSvxBfs0MycQvXsLmABgF4T0tU0eQg1c7LfJ/lrBINJsNq9rUQbFmAEEhJUpk3W0UJVfuUME7v8Nw4RLpeXiBRxmTMY79KyrXUnvt+SyE0BSsle7wDQAT7HjfKOpDLTCRTldyRyWjVD3wI8vTwosSm1NEVC1dOgRIH81QvoSdEYu83+oIosMWZ0ep0fTfO1Uo3BISnhbOMKkoc/zM0NlgfLnm2zaJHuFwunl1p848nMVU7PNkBpV7b5+mWSrDTZrMv9RWITrN8Idz62d1cydMuz9rBft7IqswFt+u0Vqohf5ejPqIrfnxDI6YlVEX0unGG6nGLXzsGPSkBhZsig9aU8pUywjRPVuOt1Aex3DVWCurDMz0jF4GHhzRvq4AwIDY6Xd8n3lbxFiuXIxgIedn0qJ8xrrS/2p6P7/vnt+3b5/O37/uvn8/P0yVB5xwTNXKyBV/VCKWQUVXglFGX++Re875TIxn6dO7TyAMA0rQgw4DetzljIsTxINihdknFDADQlOs+cXKpKroBZAyHWcRZzjd4mSk51BnFUNT8OgSnh2OJlGoqrpRvKHveF8qH8f+mjXS01YbDhIZ2lc+iZGkDOnEOz1Ms0NYIQJ3lXODE+6Q37vNMqO7Mjp4/P8N/l2+v8zVUEV8tKRmNp2FZm1B2Squ/K81AcqonZZKX6y0ervP1dbnfgjSPlFeA+Y/T7RpiOj08x2/3LEpJVteXk1qgN257iRjibB6D+GFcAE10SSeLhYM1s0Vwn64ybDQUoS6etOHSWbVor81yCF/mM/4cl5+PkTHFlgqqLBM75RknmlKq+JZSoYDSrkXhzqmQ2DpTDS/TNUby2trqVhRoaqAwgONYclRdt6pl39A2JTuUHDtF72nl7mKwcjvyU5OGdJiyWwvc5u/De56rnWaNM98aC8XATxDOFSwL8Z+1wxDnNB/FHmhYGNHGNOvWFJdGr2+LCprcag4kL8UEqzn/oX1uWU1Tbz4+PmisWDxfzll0ZVph88imA4+GjHupiTLqBu4GQ/XEQbSjzKNA34pID6sXf4ob4k7ks7yntonCqe4ADbgONe2iOuA7LCXkN41HCrCFvhhmREktVE7quKM1OY2FVK1onxXRhM4akqsW74AGK9EE9c5VEi0gs+pHrpbxVj6+Qsx416PFNVNQD6g+gHeNGkvMExzbS8UHa8wgQ+Vii9H5bkUey4ZmlcA5JHVAqQwYSjTgUZ+yAgfVfXJqRdcj49Volglo5SY+WfUvIogd0RyqKgIKL3tdePYTyZzs18UYK6UZrlFeX/C52NDO2Iw8282oPFJpbbPK0O8C+jEcxk6v8DCQjo4U6B7lrpNSJ/SPwdVRzhk7/XG4+fginJbygi7qikaVPEoeMhz3CJF2SbaG7YgnsQTdB/LJDU3e8M7ecPDFa9UCLCob2tDlOy8uFzLXfPCrb+2k6jIhPpaf4632VcvWszg6RaN5Tf6EFgfUQOMaD46wdsQ8nfSbrp8J/ZZX8JXghBvv6duzVeI7hbuhv7bvbu0K3FvO5HJ2sQ2Zh96lR68Zzx3ZpK7fEEQhuks2+TCTPaxiZZ6zazL9Zkx20uFt8O/YqKkPyLjsL++mGXkXVERBfVrovBgtyAE9BYSC01PugErHVZu2oxfwKb1QShVfcSbnokLWCHrTZkxHeeZMV50flT5ln9l1+iRkwPR9tfy4mZMVsrm+Ta2acQTTN6m417n2/tDsgX5lM2M4zsZyjmc8QzrenrvJFSK1D4x9vuSEyp1cY29qalHQ1sQIIZA7aHqV28nFUgj3QOuBOf0PSimcQULVCC5WBwH6fDweX+4fcoMlZFhhJp2yL1eKOVO5ZM8q+09g6uAhUKoPueVE33U3Nz3WsilnsTNbKdTjJWC9ZwZjkDGC+XrlQGKqDIrnioOcbkAfz/bPE+OGKxmDhihmuZ6feNMpEMbaUTdkJz3l2Diixh5uSqlMah9/ufOBRSjT42QpqyFGJxhYL/FKrdULC4PtgSH1ZuMaN9DFadRFBwy6QR3pSar3rA/XAnKVaKWdLr5aYGXG8nItPilqdQnKvuDFulEVlIJiDpGGKUnl8JEGsPW61CtesFNoThi8ondiGt6vJ86XJsn2b4Uyo+L+jVZUpPjpixM+FP8Tim9g0KljyMtOs3MVL5wzIQ+SVM99iSBtHn1Eeiv5lvvp+Xjtn6/t8/n92/Nvf/v+f/zlt18/9+/55BJqhCNkWHnK7apO01SMsmrhvDBcCpqPpQ/rl0fUlo7X9TB+2fX3rzfgX8awX527u1THy1lDOH5QDba0UfrpmLwcS2ggpgKw1x+TqKQ4tI31vP7TCfc2UpCSozPtLtUMmPWaO08wSB+7NhcoV41CV7PfJCxc34yMltKzKlX5dpLnAc9dxz7FzZFk6Ol9OGkkz2dyl2MBt+SPDOH9080AC6+3y40u8a8ff7p+/LBvn7inSJ1vOU/uQIUD4qABpTdgwYFkbgwRTo+Cw5ch/dIKSed1CUq5kGyfgb7mKx5L+r6C7GV5WbkwooQ6V86zJeMrQTTAZwRRvfzqwGxeJa9+kwGd8WhL6XmEvmm1dhLEZh9VdZZDbWjL01MZvluJbcclbG58kZMtgpjw1MUtI2NdPaSOxcnZ5OjE+bvRY3Cm/T5mQVj7gjuxSMnXumIcrTK4K6DOVgaZbohKaqNMzfkbbq9J1i2BkXikmtfsJZ/1IQGoHNVzOt2uMZmSo1TfLmF8Tq5aA1J5e1FXngPZ7MhwPHfkpW8JCv61oHoRR99u1bTGflZit7u5LXV7H1NX0ZHa1tyrnaqJFwocjT43sdBXcukgNPIxddkpdCdadsWFRLq10V0pHK0pwKt47Kq6xtamVgebOSPRkSjefMS02OZeJ3NkM8fb2CUf9nim7k831PffImfcojS1gL9UjQk6yYBWJ0p7MJGLxnzRr4C0OYqifDZpRbaY8vK6bWZLYSXtXKML3e82z5tuPjMV5lsHh3MrjzOeJOJVhLs4uniYrjhmOdrbAb9H6YHMoyrYJ+qTtHGm624rKmXOWyxt9kcwqFQVgIpajoqPzKdyfCXwCqUubLmq7o7OXe9bIknU14auPaqhmnbTasQFJ/18vW6dyQiF5pHLz28yavHA5C4ddrsAumsDD0MOXJKgoqk7afElO7uFdGXYbLuoDRE1TVodU5dqebYgrNnr/FzNZ3oIZQWDJ3xl0j4HKoBUyVrDsgWZ3n3K65c6sti62jZh3kVe8jZHAtZwynDI3vHxErBsqkgod9R9iJmppqadhUXNOOFQeE9iYO+HbAZ1Fw763RlsKbm71Y/Bl6xGtduhtpI5VaBkd5sC8mZ216RUVw/HpfXhlZb6Ix0lEUJApUjnaO/7YbkRD+2dUJ4ZN9QQ9fCiN0jjEdOckN0943t0O/FUL76FuOcNH+pYBVXKzUCzqNHTGqRGeFhpXieIHajs1Y5rsN5XXFtGZGpyLK7Tl0aCgGqA6z4+dQ2RAeXZt6L5mDHCLG/X88Jl+k27tjyjAqb+o1JdFd4q2VmRbE/ebGiXbcbDd0nPqOv1lMMnYqfaLjLZB8Vi2GeOJo7r0RClcXCj4npnLCEWMcwv9ZrFpqIh+lhBXJd2ybJIt4CvuFhOrS6YrLb46NoQriK5cfpagMKoZ6HF2rR7bPnFqYt1COOBbEl3jgTzcRlBzh6HfnRPqC7QslueH8VoyB4hpvwCwcbyYNCZb85bmK7UzkKbMAHI/UkPhgXqrkrj3h7pjsznYWZMVJdy55lhUZ1bSGbyrU434Yv/bBo0fhmuWa8uOPiji8JoRqJo5vipNmmylgptbV/fFiQ2oqyAKhboMqj6q+sH5rrxLKo2ulwsZydTDdJ5Zmd1zSLFezxpqxY1toUUWneyovI/wJgF3Dj+d+PgOTpAt3jz8fr8fP7t6+MvXz+/vV6PNMHqPtA7ZDKhFsoNQQ+racELIm0dbfxlFkkeKUWy940P1oE3GzC/zN8ySHeJFSEqtBSdot8bGC45JyAUfRjIPKqCqwtc0UjOBY4hCEP0asMYbvtGJ33I/H78+rtXkXFYRrPZkQxROOyR526xLramt0ToxI61jQp3K7xgLsTchUhIwECE4Yc1DEYAmnrkNi/MYzecpy2fSVwF2oklG9FQuIbqnrFtaTV0el4vsa4/rq+PW45Q2va02I17dX8+H1uOt9n2y+0+Bm8SV5Kdm+NMxsTUt7gw3qlQGCQTD8GL47piQS00OashRp1gBd1WuVsurvgXfFwuWyvZ/VXR3zaoYTrN6ujDrO6kRGqQCN8GxzS8q/2OebZ+Kl9GqzXFtR0b3S//8Yx0UcIj9OKooqJbXxUSgsoUnn653qAHzhqwhQ/HAKKfwICA0uMzOZYupmnAym8IJZPw8uy7MMhlLQqtidtrlkZk71/H72pMSnDVOUWheGV4NmFqOjuImUZq2noz/a7xfnt2oHFmFo0eS4Q3j60MBVANalUXGEur6MqMRCZM/UuYNMGAnk85CrydtD39CPtKA5FJPeNRQEqxCo3G2+QSDy8HTMi7FLWNuFmuJ9ECiKNrkhwc/UHcaAkeeohkP4EUXUV4geFN3ejJTH6zndQMZHEIsCJjWeTWorv4FYLdNXV+F2mxQGBNX4X7yQ39WrY4rcjg0XInK99aP5Dl/8fXmyjJkRxblrFlka+Xmf//y+4WsoBMX2JEz7nXPMAWmSwSQEa426Km+2aIEqbgZAGl5AdHsxolWrHaTvQ3fSSanSVcNJNoDd2iHO089oObU+ZwF4cvO1gMn7homncwncy/ar4ILDQubgPvxu1mULWGJsa3XaytwFg3sIqq5q8GEhoaCWPHDEjpAZzC2I+4wVnPH8/nE9c/Ih7QeBSRZfyVXsZcmW2loadsriTjp7JM30IUQi/OtjRG9YDqxRa9K0yX0FIvDV7L5bqJGfdl8/Tqo4ViXlR2eAJmKprzBxzCtN0LNjetjGJvXCcn30Bz0ciwnE/N1R2omMrMwxBo+Cj2XErCMhlajnItN1/GfhsLzWZXl2vHG8k9b7c1lUV4hhQkDriwp+TIL1EehFLb6jCSzeIiWGh85TfOkyqLAiIg5QXHjFgMaXQv5bct3eqZ9djyoLjhWsvQJ1YfsPJAKY3X1b9Xj5d5Xxk27Ilx3COnMFurWhDzABwJqKX5rtf/yfwb/ep6L/4OjGXcI2pmSFktTyKGTYrx6WwUTPfImI+sUzQ26yNbnq1yT6/Mop1Zz74/CZZWjQ4JoTbZDY2kPHtM9HCADvkTaADPdl3ic+1SEYamQaaaeDf9g+uOZErXKcdumW/i7yz9AOkSM5NSlhYvi82yNJxsI7nKEWlmDF9usXEGR/56vM1UCfbO36FNzpp4AEnVGF2pUKivL6eicr/OQ/U0SnwT8NMvgHlgVeIZM6vB4fd8b9RNeMcAtk6SQIgzmjBzGUCu/Pkc58O2b6FT73ZzD3yCNCXVFUTSo6ykqxOt9w4HO0fr8sgAsLtQNk/57JJN/knvCj3ZE6WPDIW46uYLe5UeBbZdrDCNNe1EAbKwVGZqJ5PjoJeHxjxxkxkT4us40yx8Iuv7c9YczIxmmlzRThQFjl1mxZnNq9RvmKvPICkjVxd5mw3tOHERriPKsNEDyqOW4pItqljYM8IKxlyQrtW6EAwJOqcjjegjX/YTULM6IAyTIE4yyuyqCl6gOEUYRiPBczG8YQzg472/3/tt/6bf78/x9+/t39/7z/u2o+ICl7jk1SYFXU7Zf4Rc5b0lcv5PAkV5Rey0LDcnu8a7mGS+ztgZSYCyjH6kqxUWpNEfUIRewurWqRRTPj+OLPM0Q0h5LjynwrpCJLBej/nXdf4fv0eE+GvwIUHXTraUyOyqawxZ8U9RMHgfh2P090bYpvbOHJmXdt173JRjGJDnQF/5mdhsEij7tpNN+LhNiZZcywoqs4V0XZ/3x3G/H4Npj+H6x/vc96/7+T//+fz65/tnO7afY/vZv34eY3N/fT0nzWMSQu83OsONVJqhVD+Ym6qKyanBhoxNzjabZZBf53pqXQ9mrYeQQZqFdm7ektQYewHLsl0hHyMxEYQ9c99NwbDsaxFX/zITk1ERl/ieqZ6ItaAHKvXHhpga3yvOJDUsOZwsY+6szAQTqFFs8fAscPQWrjFiFl1ILJg4G8X7EekTPn09afEfz7gKhLn1yoCPUCeNcPG+rnTQ0h0GP6VjljI3MzqpW+otjU6ChHPQ/byZ3mGqg3a5AEkem646jMmVBMV52bWlxVQSRZeIehjn8Qdpx7kyPduoIxuMQO2U9WGzURuwyKxSHDstMSs3YpCqTRd0redYktaO59Z7m1RPVFwt3okiH5ykg1ft2BVwir0aUgbaNd58z4SY5tsVCVUoExVTJI1QNuVwHPeoGumJE56roYsnKSaJkmm8YeEoOkSQjFlKbRlk+eN472mbWnF4LTvJGnjN2p5TLQng9L6b0GncRpUKkXrWdqVpdjvD+7gttYjKjc890SA9XwxLfTvnqgxykqXxV3zLCnSaJLG5y6+pJ1ATXDHegOIxoSzAmdq6mPgZIQTtV76K/ZPLX13FQrlu3VoQXonyHZ4tqnmnmtpXtpE3ZfKyqvmv8XyeyCxEThv6jGWUoLq0HcIG/xBlDhKlxDFkOfP6C7+Cy1dnEK9iIfFvWGEFecNgfMdBxmcmnBg6cQav8fBj/X+ykhh1wC8B3vF/XP4DKUXYUnwR07j3NceDUreESpZh+6HSpVksElR0u+jAq5DQcHMvoIiqudQ+DyQThiHXYYgd8P7ceJSVBYKoWzQg5JayUofMIcRdH2Fevfw9K5xbf212kcTC+WAknS4v78eTCzeaGkERkZndw17IxxYTOcTloRvCfo3zXF9XgOXRSQf1qwb+UGXlmUmbw0RGO9fjtEJtCWrqG855TceFSffBQE0Wf9zJyVAlKCQ5nFO/Mx1Nmuo+1/JFt9BHkJ+eeD0NOL9Jm5oiDQbNpYsIeCu3g7aSvr7JYLj+aK7sVXYOdPSj5VDsTZArbafvM/KQgu9ynnV2Oh9EQSe1859iVY2/FRi4k4W81VkyLT30QZZUmsGXSbKF2evAUAVax5jbBYNMFB0nhmzVB7cMUGmkiot5OsZYug5L/lKNjYkC7PfcpMoPnaEVpDpSiCbV0TgKFH2MzFjGPT6xGle1Mn5tyFKURLDJxQU+Gl2iyvznHejijvvjsui5HlxTfux7SMn7pRI8si2z8uY8n19calJdUi9xswYSa5avBbDsPFm4zhpekHOxjxpaIno1p8690HMlrMIkgejyEx1L8mQjAwrqOG3NOUvlQmNIsV4UZujHMhDpS6OtLEslp5qQODPASHJHjpOvYCcVgHiaZDE19ZdRbUOANFJDX1d5UvC45jRpU5k2WDSXZdpXRK7FeqtT0DdHZhmFKa+p67t0JGpyM6OQSfHq5aEDMz7mi0lVNfOZ3gnbbhz4+NnP7fzZjr9/bf/69fN7ru98aPx4tzlqYt2lnq1Hv35fBE4wreJV1h2eXEXtEo49lEuQ+IyUFZLNGfPdWgBfjhevjFRZ3YIyceHSPBXUXeLHT58OaroaKbEC/eKl3aaK75/DFQH7p//P43qvy/FcqYT78XxAsWKG2XgsuD6M032MyzwRw4A75Ado06xqaRiIY2VcBOToG2M8M+VkMexza5L+LzUBboxk6gMnyDmds+7v13OKVd+P/Ti3833/2f/79ty3c/ve9u1r/3n8469pQj13fetmgcaxkRT/BSJ2UhqZVNEGh2uvUtQTJkYj0ihtMD7+Id8THJKcJGrfD2ay77Eodk64iZQojnslTdH9zxIVC4MC7yyLa11j+jLnXKPyeA0Pv00qlmqgTBAzZhbIHaCayokAxx+hzNKXyqTTeAB7hnc1CTTah29PrJc0n73XQ5mvpyG2NKFV38ims8d4fdMITfkvWZDynUxRL5+f64L0E5dqYrV1X+aVuE1VdqNEOYMkjjGFDtYAHeBihceEJU5qAVHa+bJMjYLMagJiIOtBmgtZtyx0iU+AFioq26ZMJwwgIgSVgPe0VJTQ12pFs7SNZDOT4JDbg2yQMZ+mmHOic5GwiUqGPDPs/TGXfdBLQkoMu+Fq4niTSSSkhpZ92WFuuGwciqgBMaPiR08vC9mm9/EGIvGJMFPqHL1JMSpl6OzDbJ7RvL+AB/iEU4shCkuSYY6PS1alAeZpyD0cvv/n7rT0fNE0RYvTR5Bd6ZIIy5uhakmkF1hEM0GXHHmNxLj9Zu8t9LNQIodoo5BIPuJEtInPwOGMEZ/R4CMio8bz8kdyT5CwQeNmPaTDtsa53KDizGVGtctCysuTF0DrOBp1DV/UNBj9JhrDPGGs1F0vUeg28c7j+VIS8Vj96YBNd8LSNrTgXP7lQs3AC64edOyV7pbUTuHFc2ajSdU+f0Eq/wn9rDX9xdCiDVb6iCoX2bsGjFlEjb2egDiYycdwmuQfWzXk9OZoRzcvi0gL9Wh1UYYq/g3xpNZOdmmNtXJdRPOgw/e1c0T4oBRMyraCcGDdIhHX8zLh97BZc99DbBNBTfZyr4SRKa/YXoWfFqYxn5C03P5D7fCsjXx6FGXrOI0wz3Sk8caCYzZTnytg7PodM4BFQZR0RRRRnNlNTL1iZkEldd/I74ATSPCkzNSBbue+48WwfKmrX5pgoGFLD4hMiKYiyM0UEsnmQZnWclxmg0/SqdfjXo4DBRULFe9ZAWqBNgCXKkl4882ytVyonGJtWf+hwOhpFCX4pgl0l/+h2rldfAG33geJix3RmdB1ve8PE/ImIRn2VSdQ4ZGrLFp2OeIwfusyJjfrcep6LEJ0xbpyM2TOOg6Zh9JCJ9xxm2XkTXixClzfeU9UFnClccJMN8yPqrA4ZkJzOPvnhhKCrraUYWiJBnkTxXgWMBnItp25z91Ck6T9syV9OiUPiuoQYfono3Us7oa8dl00DJVwWLxYqpyojsVASXWTNc2hcKc3+lDk5AySfJmkuYJ9GOXipTYqnyZtIdjACQx6WkMR1joD2qKjSmxlgCApW5oquGQKzKkYu9ZWWT/6BRDMkiRhDR0YkIqgYUHh665L62Ne59YnFi0NyEIhjYV/aNVikGjlvwm2CIKy1nAPhgj3cH8wROk1ci5Vx6JNWdSCXP6ty5kVAGA5ByuI/zF+WngXuExftMWhUVam89Vx7Nv5sx8/+/azff/++fX984vq311/vvw5dCaVywBDa/NnfE/lrLVIXYIcMj7o65mLmpexFkayBCs/svRg3sUDwg5Rd9LRdLHCP2l6jbLEyUX0//ETpnbpAIgODzKn8efjEbvXulTcPTYpMfgloFSr5br29glAPs1jeouwhuBIkKAwWjlAFiQCPSwSMdtMotFHd8DPlW7AydY/inKv7KLuyKO0H4nc6PZ+zN1YKKXTVonI5jHdttD/xgLcv/fj53gRyKPscFphUcawbdvv+/1rKoWdNlLGzVlnIfEsHKgM1dLTThHESfbj36n0EGLgui1arE+SU5TCg1EZR/LmaCYfgej3ipr4WoZYV3gI5VBu6HbKZB5PhYK2cfAg5l8Ku1Q3Qu2qxTizZj1ju4klCPkD9dIuD8vmW/bKsVVSBb+GjR1JmRF07prezLnkJp/HJLbepgBs9rI+ea6oGZVSm9QWFe43ESpTq0B+XZxmY7nvypnkVcn0QuPIM3maqhEl6D4w+1zrDLnRxtkDTCBEokBDKIzjxnR8Ox57ZJM0y2XUpr/BRMOjUBBmefsE3KfMeJrXEgdeMTeHt+8DBfPj9Dt2+c3AYbp5jq6bG/tcnWdrdsDz/qCVXNPKr59xLXJllFIYACX0i4+GLdi6EiVtdZtRcFxMp/rzmANuztz19leb52dtrUFW9ACSiGxj7HqZLnZl7bePjUYxjn95S1rJEuM13br8bTFlstnAYkrGqiwsEaCEZSbDvysCGmr1F/uMhqflpBWSiZMr3Bu7TCJGdYbI8GjYbjlythHUrJwPFJNhpglk1stQ9MpAkdT2CtVFpANOolqUdmkSvhpGpOhT9ylASOi4znRgovmVg0d9Un8XanP9YqJHavLz+DZeM5m69VgZzbmre0lbcvviUphn1nl9KM+63wZXPb8Pl5iaBwpldLFwpSr4Q9jNu5g40tJdrNfXls42gh3DEV+vl+JLqS1MaoWifBu/935nl9MsRY8fPpm+QVBbsKWtlGzW6s2xuPBxm4Wnx5jNwmYXbaUDAwuiuP9okGmhVHjWqgnS0P1IlDAwYrAL/0fLXAvzmmcGVIAtlaNUX3Cjg2MWG32+auLggm4PiBN2ILMnLpfthQ0AgbCnomTb8ya350J/4pYaIx6gtpOppOMqHjKzVXjYWdf56fcKVsuRjc6INFJU0ojYNQbecPBc4DxpzLW3RWkHqCr9fLy3qZFwXo8+MWZmP0iFO27UsbiYejnlPPoj5low+UJqr2dxaf2XMjPtC/2vREab/cQBRenUoaGtox21/ALY1HgH26xakDfjAfwk+jdpe3NLcCKFs876iYwDOeAskVs60iB3rMz9+ZzO7YNd09WUBAOH5qKz9I0kyXwC1zbuusCBbawDFVk1yoRFDdzYSc3qWNfcUcE700CC3DV1AkCxU9AiDCK7GR0lYhZOpqtt8+akUvyzhJycGVKPurSOK4lb82FM0/kZyI5D43HftuN1WWHSowg/Co1+UzKJC3N4lIF0tJPxCceXNOXiKBzcs1Y9blDRxpKmXc2uuNFZ50J43RIIao8Kt3CZOI8CVZcqS508+cmQlwqKJN4IAhGFODHD4ozz0AhWvxKftV4u/Jny2gij+pJSm9e8JmlRFU3PCGpexK3DjDpov4uYxWUcS66D+jTQnTXKhCbfM8wHtWSILOpjP8I10aKYpbLHPZP/KtbLyIZFGyz3zC6rALanZLHxxMrCh2Ui2iRbJTgqU6QdKDeRusHvYz9+vrefn+3398+/v7fv872d08gIvLOtA2cUjwZEG4JYOg0Hy4eXbA3ZRCCykOCLfvlai2xTtPHco0Bkjg4dlub/LwndZy6wFcVk0hVl188a/POjKi0umH/ESHPNa6nZw/81QKhWaFzje5xr/SFGjxplIwIir9RpK5Sitr7MzYNR1IFV8BSIRVGT6klUNbdoePJM9UxllY307JYtzI0UzY8HO2Hc9wS+JgvA+Gf3OFrNeT9ut+323mFEpNK/v273MYDP4z7/m6AJuUDoTlrdQaQVsxVLI7LVR3LlzXXofqOmQz7a5eTPOVALW8PDxAcWah3Z3OFUEantIRNuDDncANBNo0PUHQKV5rwgPkmDeHIJw3Ruv02yMRJQqaRmQjSgIUY+aQQ26JtiE+szSRii/5PI0Xo0YGHbWLoejNEFL3JfvUQBCEX5oZwVpqCZkRU8n5PhRSWw9Gk5mDCcNqbKqipXMTVV8BueolY23TVaSYQtx88A1MQljkVHRDv5YfD03GmNb0EcIv2Y7CQ5qGmDIa0pcTbhLdZgkrmweAsHjgtbVMX4Rndy5Q6LQgWJjzplzJdcbsmbmKSMSO69YebI44naeR/BtOTMfXVLyExrDHfLWscuJVXCo+n4k1Iuzzc/KwRkxCcyThQJFhbxQ5RxwTvseZyoSSl0lgcNrk6qXQtePEQ1Zk51el2G3nirBJTxS6G416OB//GVMt7lLSDy+6zfgxt/GZd9BIUAU/UW38fvPi8rTdaQCIsVcM7oHxUE9QUH91YyVylF7Fvtlliuag9fRxVJXFr9StkQ4of0elyuPzu26iIxP8896WysEmdZbvQgdxoPTL0YcGGzP0TGEc3J2LUF7Lgx4jIIgebuA2Hu9rvDJORRLRvjpMTei9c0JZerIvJagIgalRPBHaEaM1aSv71frdusGK3f+cKtOviBnkCaf6MF5VpQEdpWBwvS4oS8pmQg2i/vb+zPqEn8P9RWz1wRN43UgJULwImhLzQoqAU9cNGaEmhCSqM3cXm1k7VptJz3BHCp5MyppC9ucrzTbvpBzQaMIE4PJHefjzZfovAfPeOgsap2dRnXiY2kMzjkulLCPIGMg9tz+LnGACi+iFcCiKy83pMgSoCSCrR6Zdxxkgk5hsATTVIvu1QbeSaeUSqtVEE+xHfsxmabeuwEl6SRDGT8ahDArANSZbj13hpyVsgYM5g32UcozWKf80b0E/tCI+zngcXP5WVc2RhqIdyHePDd9mCERGnzXYBZXjx4SEpPNC/9T7hX8qR+MTakUpJKnHEAGwPSDSZkRFJ54qQqLOQNTHIEPYOromZetA4rjud04ss5e+50X0OsG8yc7LwqXRE8NizNYZrjHUe+iWRZZ8wV8gSTWT2YUnXTFRsTfj6eIwmG9M0Dd13hoPEgmM/R/uFUxYiVustpcAWgCLpK+2gKuEiu/lJkZog5+ST1JB5dWEXayJlDBTezj/TMYjwzTHYmeAIlP6nyN9TnHUUqGRPKCIevrV4IJgzJACZAIveINrwCUt/y0gu9NwsNBj9HgaYbSjwso/e4mhDXZMcYTKhwVanVQjMAplaKJW21nlQ7/8USFhlmH09im+Qgz70g8sbmXFGfT6AkMFEb+VNuMXsFdnRH78MLz2Jm+Vi0vPoZwwZSxZP/s5DI3AC2GR8tDr/0CoKFcTslAyZ4XiYVaUaWBMrfpEDPVFDMKcxpYjQ28Lb//bP92if2dN4mBXoqGtCzK/3+f34WCfonYJLqjTtGRoQBsb4Y/r4VZhVROJ+obq7Y2LxOS4PwCWUh/2jgKB9LfXWhhDFcy8yc7a7ghwFaxEaOhi/CNGH8eZEZDFcuUK8n5++0twvwPxfkh3KzS/rnmw7UJuG2TAvmqslARrkQmHRlM6KX9n2/nTsGsyrf+3Y8b+PVTQPO0K1L4XhShasmr5iiypQxT5ppWc85zlLuRDnGUTuV4/PAVEjN68ufgkKQrDHLREkvRXfM5qIWcOKyGS4O8JxIgoi2Or8bITKQpdwnXse3x8FdyO0MC0qJaqX4BFeMOoT5q7wmpTbmmwIx2ddF4yl8mUtZgo0EYOspI/h22/dcui6mEirAVofzLGXBe2JFQxE5i1InrOiTzHxkBT/d6Yx2XVyTjtnGkmtvl5iY9dh3rmyNzE8eIrxKCjwmoz2ysIhZp60BJJpIiR7jtE2KFosEOzVHo23LcnNVkuKeAc8Je49rH8ZuBo3O3DhD+cm90YzGvRmI3cnEkYE43UxtHal6keg+psVsJ0qp4iN0Bayez3E660QAEQYxcmL2mguRzvkJwif0o8Fj/A97ns5GtrZa5oA3ViykToJeAIqzpyU+niMMBN0E1dH7tARfLlKJ/Sb+VHZwHFGF4Axq2k8t+HbTTKF1jrVYZhMyjlSGlUX4Z3Wn0ALrnDzCeT83BjueUlNeFJvNJGUERL0b4VpQZXSFjN4kWImCrWc9xWFZaxzWTGBeuKaYnevcUGiu7BYwR7JDg02A5IwaFYhKiRhJdQM80o8vW8WNgm/ulBUbPNeuiehZtoDMPFxNUREA13m42mjwZ3zKaGKBpHRb4RJuaITPl2IFRM9u4F5QVav5kIH6+osuAa/7NLw5CHYs/kDL67kJcx0Dexb9+mIA1d+hWQ9TuNFKTvzqduLKyiZVAPSVpfVCjq8/5I7D9mKvxgek5t2njeiqSho/kW8Gw2oWSs/WkK/wC7CL3R6o0bdCEtJBqGMgnhixBy/L1KbAm5zRzArXKjrb9UplzsDhPh40jAqv9GhNX9Iv1RonSMXBglOVXzl176C2UM47SxU/yTV3iDgWFL22bhGqg97xOeWYdHIBEGCgEWU2gg/pBSFtqV3B4h+KWTXunstGvBBk6hpN5kE86h0ImiohcDgJA3iDdaGjiEfmsCbsR9LcJyHn2QsdEe/v274Zv9X4JDUr91mYGiqcZ032JMue7akT/2ezkVlpPYjqqE1yCtmN4/aZ5D3pb9roW9oiibUjwqx4twic/3nBKnyLlo+wfFFOw3tuKuYIFcZjXasyAKsIjM9clC6vdJ77VKWgoE3SaFECzCBJ50dUNPLXFoYH5PEqMiMtIkGFXoFjrGpdjEU/GbGXsw4M9DGZhhSrjVU6FNI68XB6xY3vP+ozW1kQn5I8r35VaopezKxVNdAmuXq69r1eka7+L6g9DzaxKj1txKswyqAZ/Z0wKe/v+3FYiKBqCEuJ3V00HwKYG6HE6jBI8zX0i2cCtsFVWI1NMb9ZW3ucS24l6ScRwZe9gcIL4KaxfLQrksGZgOfO49AmTzdpBrWlRFvxTZ3d8zYB6wFFEmRkYz3ueFJhfzV9NZqxqMPzoy0NwljFFEJmo1Gr6Vo3zKt4mzfh/7r5lkKSLdrhbjqvxcM7KGFWWyI1urdDe7I3qiLVPuEtYYOJq0UbT09LnCfIqfl12/bhC7uZblA+Hod92w8uj/71s//aju/z3G7T94jrYZ1ZgpJXw75C+AF8FQLJNgtepb8tyOSVBKTzZvWcsFAtXC1eTLuybeSmIvGyxfv3QjvzeqTpgih611rpfwjbC78TdM1eOERli1KhGmfWnGfDrhzjAkhcHkH+SxkXKUHU2kZJgupKyoWr2XRJgb7virqwgKo49gyZPKqnRfW1za141ZMunUKY7x1cDbnN7uzXqowYGJPBw12mzDrpY5MRc4wHd65Zuh2P5/l43R6v+9xhM6uYq9EBCrJRiTAcc96dqmXTVrmJ2sTHnj46C+BZotQru1Q71zXjHlKoIM0mwvEUx5EBdayLkE5RafK4PQ6dTOUDkWuEaJQ1s3D9qozaFJIZBQ0kLuOPNFoSiKLcBTf0cew8oy4TgzAO/XjZZOwI5PEUYLFFCCWRWMF/e5JozgTPpQ2DFwulbe6vNAI3JuUbJ1eJN7k/sNa0UMmWVbjYgJ2Q9Nx3YDzapGzlvoNiu+Ieyg0DqPLt6VSlzgRtVwB3j4zk925jofl8hQ5mj0b6ViBy7OKhcznESaS1LCHbMXFP6W5MWy1l0HfUbJ+ifmpxbIK0j+eENOMCZoNG/vFu41iSNkz5hGQ1laW7qA/hyvNfPChawk07IrvCSqasPoVgVf8mdSuGQECj4ZCk0ZHa6SJpISgfsHvU9SeL8+bCwTgzyAROBb2QhihAV1z8PfT5uwHhiEgbhkVKs/VoHFUq5GopbmLRy8SwUkP9WciisaSJcYIZtgNzhXbnk5ZdukVSnIm4FbGTYjrQtZgWivDNIIoXNYCjkTLlQSrsIQRhkj9yHXpE3jyjZJYfWXO/bLoByJMezsHkSJOIUYafcrYme0iUpNdl3vAiQxG1zUPpzQwHXvxPpmf3wiV7NNTL8dYOF4K71dGaxhTBvW8p4oMiAVj87UVunrFIB5CmIvYLe3rRAJxlX3/Mm9UEwp58gcgx+05UsQC+7+buRsalJS//rijlD0iDWp86AmFhqkJOLz2GgT3vs6kpV7AVrW0bGgULBLXAXY5JO6DdpIPS+GFSirJ/dAuovRBGyMVSnMwceq/YIxEiWem48xu9h6lMHj3sNtFFU1AUnp+NGVr2bXokEmJgRmiOm4HqpwEtYEUGJlMcyP9dQDMRpEXtm4TEobpLXWqFKtSFz8+ix1kQ16tWy8pZRoEagUNsDuhESJD5oKr6JuPXfjjycYtSItKSlX17fb0IwHWlXGrloXvQFEyyeKvB48uTIRR0OR1iko8xZU14AP2oCiQpKwAq5YeaEDYrb6IiKj4/XbHiCPfiSL3EIXGyyou4Wjuq/4dgi6YO3yZkTXz5cZ9i2vtk7NvIqpF/ySI8VxfA9r69X08u7gZqGgyL4eTssAMTT27k7EJe0cxyfWuh4xdETZ+BrD5IitRQUGouFYGtoUued7gmnBZ65AIPK4pnwpls4nvjDpAZcDB0PRmnyag9WOsx7G/3KW3SB1Yy0BKAcukKwv0lGviJb4xZHiaplah5/6TDX3KJJ0hkUAUGO4m7smeVxWC/F1anjJlWqWpsum70LACNkB22KP2rSFeOpopFqqu9CTzzRdKePQbRd4KOEtz82HSdFjiw+jTrkL+TcS+gYC/x7rmJODjq54pJVtwOE0aSNLTrrpX3XUIRll2zefqswBtjG4VIPPPyqLWk3C8i5zNpQ0u+tXDdd4yfDqteHhStrM3/awwvRFMOjvZDz4XI/rqKpBnrS4TG1LaJuoR8j/0Y63c79u34/tn+/t7+9fPza9v38zkFn6vUeC02ybfl4kpDv1Ha5MMlD5ZSFIA3IS+kWu0kSlIfLcKvcJySr3ZspvfD4lEIRL6z/vLz2q4XkyvT/oS2+BxE8Ru0kxx1DnoezHxiFHAuiLq6teM82M99TJUoUV0Z5tpVjAdqw5m6sHK8VLzbMwn9hZapOZUJVena9xW+UXVVlzLN93LeiiQYRNGfkWk4i6YRiWFfgELuIjqPmD2qwP1F0RfVJYcuxuM9jZuma9b73O8vrq+IzqjLKeopOKyfINFtGS/3FgzX4V4QqxbJEIb4lbOh4ULYHBlRScWx9nC3qfrYWJPHkpyjSmFdT/bQmXlxor339AHC7JlZkFk2HWjoSHIO7eH7k08aJUbf6zGyPjt8sYfJrC6ahPkjG5tUkg2Bf9xIl9BHOM98Fd42/nrDlWMoorFIU9bbRO4p7DDcKKQCzXBimkFnGIBMH8y5++3rNYLjSj2VFiL+kUEmtQbrF+s0igBa5kxyEuF+QejoLGHY4R/jIpmSpiR+v48Td410CKxkIihOaFB6LGE2mM05c42tWQr3S41Qs5xNhjz+XFvds6fqQukZjlEkUwJVEHnH+RyUjve6+y2dF988U9PzswycEWKsR6/8ftyeuc3QGjQNSCtM1v2LlVbhGeE7K2VXwyiQXPWDtqBDKZSl8PBVg+wHUgRd2eJvaDx0zKBIGo3D2SqKDtxgxgpWpD5RDPJXQ3yiS4gd0vdQ2mw1zGdWm/r/2B1rhdFl2Rm8wpI5PreIfcmnhYL+7Qn67ywm4qVLAgLLplp6ddXVizlkJ2Hi2q5ZowwKDWReicoEGbc0NQElcEmPUiCx0Ni7yZ00nuuGBnvcsvd5xazXKDyJv/qoHONSct0cONXuCavNrwrbLMxcBrS8uQeYqLfiCUzMWReKGVNlb0SDrbYFTwxjFq0ylJOKQG0Vv4MF6qWZMIjrc7Wlwl1dQspZjFHG7EuoaKjG4QOMEMHgvNgJQ/PlrfNUm7IhJ9X+wnAn1kV7fXI/7OIAS01uz2pKEO98kpDP29x51fZxOT4sz8iAMSPH2Zm6ykvqjl9k6lbAMG/1UT7Sg0+OZSsCwB+rNQ5XpsIgiCwlgxTyDl4EJlWOqNeO6mkVJc8LvPLrOBoXvX6oQhoSdd6MW3dAOQW6tT96NHCP9DVhoGQvjMt4pOr5elkBO4nHSb9kloknmxZYfjIuAsqReCxqYlBa8aaZjRCflT8nuAqicNRGxpQWOXaPkKo+hX9ZgRkKc0NDmpTdXq9XoAI70oeH+PEc6y8A6Ueyy77e5/4z1xvYl1gP+sMOxRED0+HpJPhpSZDoh1ifIPb8xm20g5jVuWWLc8GauOK6qGbJXeq32+OVaw9srE+cX5/9+/GYvbQp4gypjBuQDxIiSEJu8xe0Na+bJzyft2ZeB4TplCbyiU/p1IzBmG5tUvT9/Xo9N0qO9/1nttAMfDXSdE9FVnjHVW4UM7BCtKQds6LZRyliduKfSaVeezOJw8CIwb8Zeds11VBBZ/pJvH+8DLlIBhWn4XoxHO73ceJMfB+jSI1Q/jDAxmOHlKjSIocwTwF44gkyV7w2BiMnhY6rjBvrixwMPRr3Qn2Wxe57GfaMoT9FfSh5WW3lbXKyDvqsIfwDDbVu1MkWvlorJXlPV7zPLCUDSz7UqhkjukhdBcg8G68/u5eFhARdS1akpyZMRh5LbMusy/CoYGSqyC7JHP2bOKBOcZmQuKQqbAGSqYBT/bvv2/e2bWMF//7e//7evvfz5/3eh3yeFvWYMZFSx+IUe48UKSSSAudXUWv7YAWkuPTZeVMgVBMJEhdGedUJ2D+spZMEwh1JsMmsqcoT2brGKB8OnOUL6iCkT3zgQybNv7pRcz1qQ3a4/ltBfW2wcjub0I2Y442cVYcwC9nvsorFE6KWub8azI+beVO2RDE5yCwR2c40ryJAtGLQIuY0Mgholw4a/XL+Qpmjq4FllGPmTMjUtgu36QmUvubtmq6RN3ckcUU8lQUE1s5jMmRsZKpStHLKKvajH0Quj9k1nxMm9DpiGlnn3oHsy6uByENIMtoK1qIJ1iJtvKjHBvsQUaALiV/xWpocZyX4KTQ4fm/mFTENlOUBrgxIYyFxNhwsRnViSiqFKsJ0d57q0hF5Gjoiu8ZMTJwVJsUhi+6ee4ZgLuSM826qjMzNZYTqxFWCZwsouoot0TqiTYTSsRjv6hj8F1up7UYfDfPV4YOKmCgV2N7R8zVvckwE0ZM0Xoz3pkngpBJvbmqc+wo4XLqlIJAzOyMETpWjWW94EIISSifpN8gsuzGlYVzhH0JEzxbreTwmkWoC+Ik36rYewMZHYCdObJvFZTidSA1r0zxo8WQcuJhDKU2rRS2/IbSZhIuQfzqEDahQkKwoj+EXMLS9ablD9GvAy66t4VrNXA18KYUXy9QNBImF6rURxkUatwEoD0VOQCD8Kp5YM9vVimXIbhgtznLuiyOX6ZrOyMXLcG+eViTNaZpPzjI5W6Q7ssJqvlKuV0NUtnDHTWxjOlUsxRBJ1NgRy1iSvVw9osiV6kcw4mKjyOJeCYDpRpk0n0ptigPLPUXMHJ8+005H5aZhRroBCR361c/9NZdQLrq0W7sGkPpqbJzuRcLHMZRrqKz8lTspUmMdjvbuhXnwCGk4RA3PIVxnZO7EAJ4K/U7GD7tPe4MILgEyvog6NWFSDUEE1CxXFiSIoz5o2UA/faziTkVDQgqe5r/FlDi/plnzwtRpLMuHB1RyUlu43NWpkNUE6olUZeIAYwiOqNkJYlx3SsSMnHIKxLXVKMlKja+R51hiaCVBGHm3H+IvmWdkx6xBe2W8UBAzm65mEioqLVVQeYChQWwVQhNj/JQqhcVqoSYf6XbmEeOuQArvIBdjpmSQQdL8YTWWCIQGWbEYUDpyexjmFqKxWjuzY7H1iENZZPzCdBj+SRgzHRKaimBIpIHNYMuSSN2I75W3MkubBttSa54cQ4L3dWEMTzd6hjbAIZGf3F7j+z5dD4cfDmCftFDiPq1RKJ7HNroT4Glyk9ZTDgdeOZ45pT6Jc15SNb0Sw1iX6136986hsTsXy/J6Bnr024ykpyfHiuJI+U0VC04/0kIl+WM0uEDkYlPcgwzSiO6SxBX5gr4OsbfBrxlv6t/2wSic06g9aFgKY9gxvRnJzo3tdPnC0V3GsR30wfWexPSq8rJnMdT2XeF9pQdZQ7YXCZMgdEy++CARD8/nWLMIHTaAhgGjYHmpER4UrwHyMt/MosocWP7LjEtHX/4y9bYEM+L37Kvdi0EGeto3ikVP7LJHqMPmyg6v5cG5j1nei0kFRRSOaXEzHhC9LdhfOGPgMMw43ig/IYaPMjDbPWhcaUAz1k6Tjj/SSbqusOJ4grMjRSMdweSnBZJ+fHmv2YYR1fb3kfHDlLRMon8rR7Bf5ePAL0EMfhPJlP8WyHAAnoi00R94RoLgkP9US45qOVbvxOim/fO2ff/s275v5/f3/vt7+z3W7/39/Jp2GIMhrtA+eU4lAgKxi75KdJVfS1RG317A5IkwK/eovuLIQehL3Hlw17aY/uPJ65+MJ7bInCI2M9jn6lwa8/c0lGmC1nPJGtbgK2wSJlLnO5vLAXTcwkN7KW1UsicpKT9hCwHFiAp96R9jLVxxlXlYIMKqHJ4JU8zIVZbhJ5YzqBcsRTBI7W4+lBqYaKYe5lt3fauyhrbIIRrw4l+wMsQLzFH+9GoZ8G3VjC55FQP4kg329fYmmi1PqGs+BaZd5iBvBUey78NcckSe+ofcz7KhLHXuXEyIkMW8wrNjgWtkN2ucQomqrdF9AU+srOpmxc2PoIv3zXh0ft0A3ceByhxVvUSLKmCOM1SVvNf5McLJWOr+4Zn4TvNalHv/pCOAkQyrbYM268gdd5oJy65cVBqFqBVMrpkVs1CFntYwHyuTZ53ET53CfGBR3AKJWRUpQz0LNxdqDo45pI5mXsHOB3qJ0Cydx04NN4zDFHMCFnOmcu5R0bNBazRQg7MIYDULaFaNJpbS2dNBe5GPIK2KW0Q4nq8lTMAcKSzyHSathx0So4uOIRkdLHGQB/88FQPV3IosJ5yBuZp7unpNaytzqkvxvpp8CmggGzb6Mnl4K8QmB4vxm3nzje6Aal84L9JiU6DbthafllJ7XuVCoPOcpvBYH47ZZmn1XKgppy4gEgzIporBArD2vGTT7k3+GI0jzxDsVZnJyjm/yGapTtxOaG1e08Ul7y/ycabh/SVPGHGCGfyX3NM4pLJCF5+Mh2XuoaGhvKW9aLxOURIkcQT36p5dIs3oGVfHSttFLByULqaTTvZuvzcmanlaGAtgN8VdFEHhHyMWvZogVu9qTsuLVLbP6e7Dgmc4HYG3+wvATsmpDkVU+w9S7DKNifm7iBgptXLlE98SX6MmZs8xz3PQubCkJkSQcBlRPmvNYbBFRiPnz6lXU2WcRWOpxlXrjYyxHR9zh22KdynwwD8XryTdL6wkVI2TosYNnAazlLZ1vHhoEp9RyUYwTAkEVoEty8AVMFK9alqzCKKZNheOBx0TmQVH66eB4SYtuaIIqLZiWUU2tEZmxywAr/HYp3GSjZY/jGZKLinti+tLM4Zc6+YIRcR5nrb8HYZIJsyntylpWh5LHLF/UDY7m3FsZDUbSjP/PCL31KKTl+BD1d8BNOOuxlQY4CcOcX0LP4jTyt6DPDBgIPrqKcRfDhrK/obATcPwgK7+e7WauAEiqPIhQgiYmTs0P8aWJlZvea/y9X5gHc2aDMeyhdnufhz2vIC3sTB8xiTBHlyQm95cJPSmP/BKxkE8/8E+RIz4UTyNqfEJXcDMHCEcOrZiPePqV/q5w8dRmKYbChytKUPD+0Yi7HsqudQ7USG4km4lL72fryfZU/AZlstVrHM9L30dc3AlmaDAOXXRYc0sQ/oOu19y/VJxwj0n3V4pEbWOGvIE6pUPnDlDUkvPSYoDr+dkWOAYnkHTQrODWa2N/f/knsf3a24GSc4FFvs+ol8hhCZWsYMNd11iOZwFp4yqnB6NuISTP2y8CFQbBSjMXW0btPPutJQUc39GGZEjrJaWJAW8UFBUdgd8EUsRcNKpOh9YEhHPd6QhqKjNf5Oib+X5gI0MKLlDGFEkbtxSYbDlFUv2Z2u+iRMqFKSUdI/y9YgMc2KxGMWFoD18K9zvU9lpADma2pC+OtXBdTU78d/hf9tchHT+2s5//xzf3PqltjIJIzFbIt0Xj6rH7UrICAr4I+cPB+TXtb0Ao8JL70O+i5zKQVxAzZt6ogOaoDGtLjylTtHFdjVCPPKzqtJ6LqQlgKtVxZ4LOepgj8gNu/duwHDA7DYDrr2wjJ5dllcohf9+qkfGmlx1wdq9WJ3h4daG8A9+i90Rb8jA1Ju8xi/EznUNVtOfmYYXyVfSbyk2aj0OvpWuwyfO4vFLgqwkROaYl4baNEiZb05IbFRDSfoi+V9FKdREB4u1Uxmp7Zr981fOl7M07kqwVMBCF4LZjGgxwN1NeSQpYwhuixGSSwlncpE4yDCJTdtmrOTOTP/n5nWi1y7NqWjiT6I6XGKoiTh3cKBjMMnMSGq3c87WLtuDNUxwVbRWLKav8iQm5UZ3I35i1MrFQ7BaJEmKqcoJPbpGDaBuLWilH4TTnCZ/cdkbhCTUrKzUeFImKZxjZiPTFdF+BfTlZsbiaC6YXET5xxVX47hjsYgVIBhZVOM1TlailRasgTqmILAC7uGlTckrTB8E5Nbh1mgbkUQCtiaQ4Y705EpwAibJjVOWZU5wHshMg5KpeK9N3TwvkUqSlJTkqmbozIdQB/XVWrTzDzVJu62IK0aOFN6Bn+RQ452nDS5c1iBSklnARPFOv0w4RgwtFexWKKcET+fRvKJTDCH1IPALs1QrRieSVGKMseWGEQHIfGUks/yy/Ir+86mcyhUCj8coFfrywJ0QZvAQ4QWGKLsUZLrnmwf0yfbmXzULgl0cg8LXZypAA5AKJhYqT+rA87eGtsilVimCi294Nph+uTzDmTX1ux0OMdKkXNa5Ikn8h4u1mym2jMxQ0sjFjYsHzuLUdNXr4M3W3wENGoKKeym6Hp15is4mvdHyasaKHhJbUg5Wu9D10KjOXg4zlQw55n6y+wLBLM0NCaDL/GDb86K4yy+4lJKuEn2hCCNmlxPm8MzdMrk0K4zgimc30gE6CRdiiOjxWZ64xq13IVeWbPANJtVdeWizkzYEhq1oIjQheR7MlqJNzGPRRU14RC2gQdSyy1ClUbpAxEnKyj1jbCfJRwMumTrGNpCkZ2nwRWT2EkMWaOGVECtHCrovVqC89CtKTVdXjCAvkgPr18gPVH2MPWYLyvC4Klbs2qiPvwS33CjnNZbb5OZoKSlsrlZCoblCbK2CASeZjX8k09Vrocjk7q3NeBr0UScJAEY5i8eDS/XlhtVE/kyQ0/V7qfBsGbNBscE4pA/Q8SSuUOO0Rq4wDlMdhvlUmah3E+eIygk8TLiHoFfoOnDi3tGp9LZbeijRgqVhBC+1pwpRmUvFTC36QlDCpDUFDjDlSY3YBhUx2v1v+QXnzyFJvJXoHCl0nLVO6itFp+F902DMXLXbNv9WQHq8r8mvXg6LKRMVpi7aixbn1elpFbs32pKaAq5caTw6Hj8x2sDG9A5lV/pCycsQRAGMaDl2ab1IsqkZ6v3ez30qxyq7RNVFIDprbQWmgN+P92vq+nCCqOUsoTKb4kqU2QS2rXr5GPbNbCwTXHKzZ5h/ulqwQYSUM7hylt4yXZleQ1jpShK0rSB2BDFOBhYFI2pqKKdY038JYB0lGt41XGeK5RWOmbr6bXhva6SqbqylfcbQdQh5hQhUU1nBElA2S00eiz8wx4mcUJFvW2egNkMmQO1PoDjiQgJEyF38yhw1OGlFMibbmA2TmDH4fwwvOY/3tr///fv49/f5a3v/vB87Ynb4RLxE2RXTlYWuwBH/rIgVAFljaTGaRH5CHkqkSMMArpx25HncnR/D9PUqQiIlGOXBLegItRrR9T/063Dua0H+q3pS+Sln0If4rnpNTd2iYitOPwZdD8CYq/zN9M1I4t0/F4KAjSD42Ew12yTnJVYpSxUABXnqwph+FYiFxCA4IkcFjaxaRjzNQVbwyPyjx2RPaxOSU8+zDyS4U0ea9GfyfUIISNv37XhNr6ZijEpULChzhyXe2NDcYR65WVxIt06ZhlEY2K1N+NAjUC1sBQpNYxjQYTGaLK9z8xxwD4d0khBW2YhKP4QuIGj42QpkPqkynfWxszKixEZlXm4zzMI/eW9J3uwrUwtOzW9GE1+bzDONJ899P/Yoe3Ib12rtqEnUAScDcCuzwNHWcvzgHwNQGBL9rK4zfK9In7XQegqy4dmnNThBvcR81/maRodKbZ2t0bMP7pX2UULSb4RMaJvVOSU7y43zgKI3ALsPrmQ+Jzi7ZI+nl5CsmKpjyIOmiYxdV9gi2IqjEFxXzqKiBACCdWlEWZ9s+aJUkSm5OuLEatoNLimYhEBS1lcFnxH74ARia2UdsuRgnZCr4bx4B6cOHEU7v1P3U8/HGWzcuo7LqX6uaEBAiaUIpvl97hZJKZCd1SKVVhmC5LfIs31bZn5wyf6giuI0EqmULGsGnsr5GEiqJJOJnz7qKpkx0ITl0ptLaXEKBJlyPnLe8nw/zk9mt0gwRwdM84dAVKG4SM18TLm9m5LTXsOWJzCjFBZ/ceWQz+Gpr22jmWD9I5U78nlHAG1yQjEV/XD4m7WWjGkau/dCA9JjyOSit0BL9BggpU1XHQlC9TwscaxUYXQ4hMtGZZ9P8e0I9+AmAErQ7+Mg+FP3cbE7DtscX7WUSwPL3Y5YeEFtxyG2DHJkEqhP7hkwiE/86OPy8LT9TB0pj5h51WQ582CKQQ/jk2pOaoEIjXxl+FQfajErXR2yd1fnpSzRa/P2rGbqV2GhYghejwyVTIzCARyDreJCiyYRE91NuHwHnP+SzEMxklfL2vPLIGrBTm0GNbcaSKvvF+xfTs4ExJphnmadmr314b/M3lsDebF4/zKchRaZQ8fmcUZywUG9nE6zzsZXZ/AvrGwiYOKA0+P7aZg7zgS0CGAmLkWzjooPjvFL/ItAz4LVJnSnTEi+mTXTu4vmZLNNLnsLiIzWmi0gODjC7CWyrE4gNfsySjz0rXYmCYmMXhsJtAfYJLfC/p6Px651l0rOWZjXwI4gU/Al6hsrcRFqTrIac1oPTswTso4JNP4CCGueKgbO5ySNyq049LkLeoIDs6TjOLfx88s7tAA1h/SnRNdRWkxr1idp3bi3UB3C1GjirfekTCrSzSqgeLXLkcx3IsAcAiLJ3IQ3KKLO+vJGc0wsMjCxgjAau5pLAhvAERUNEcr8ChKY15LB0TNTToyBFxEyDTYnIkywyMtYdL1Hpde9ourDP/V5gVW6XEbPwWEW34qKb9yxk8exUhYpaJ3Dtjk3LoY4yNey4RWUH8bUz5pl+nIQ06dl0QKXpcHbDYtFEMwn+vWjDLQMFAo49IZImyiaEfzDN+i8IBmEUODPXn/EmdFlLcqekEzVVgrYXYe7UkYb5kKBCpSgd2UwO0ONuVocUut17O99I/1g1GnCv8e2nb+34+/t/D/f++/j9jMty5OVUOkPQ1hJLRU9Lo+hg5nReLLNQHQ+Uvt1B0obD6GGe366x0xTM63DRbtYz4fVXibx9XN9oL/p46dGZ4RHRpYPG0905Q6wsOVzmK6kZ9qd96fx4AzBsV0VGepvYctFVhxR51w+WAURkbPemWXU98v6on5EMS3a0C5DxbT3bY4+TRJpx+rCloPRUzKNQYYux54Bx/RN4n6xSa+8G4+nN0k0L831xXXd3ARgw/cN2SytBhNlaT58EfoFacVqp57HiMTrOo2OPRHpD8VDmcXQEqLezHFCTp4OQdFgFymdKzscV/iUfS3ugI2HsLGoJFYzqmPMqSUrF7aHWaF6xogGutP3VcnYcnqbVIlIcd4Z8SbzJOUe7P15v9N6mJvsqVspxJbGOEMOW1VypNVFqQQ17+W5mw5w4cysfepRScN50rbQFTfuy3qCM7gWcx1J6ByVIPKubmh0B02FViROXBEr3VqqiEWCVxUF9+e0F2FpaBUrb2WQhzrG7JfwvSJuGWNas2b6cBIRwJiz4ApATlGP9MHmDMnqiESAIoRQ5XIHPLqudwoINp0y0VeZtKiXbHDuCxyhRAY49u1O9zLy2nr7VLp2od9Gt15ak6ZRvFbE0hbtVo6CerErtJAupUuuK8tyZHvu6BzSOhVAVJBy6Hae4yCUxQB5AGMObbCAhNAU7uZ0EF70uZQFTvkcqmxKq1ZrMUwtvLuRvbM/L0SBEtQ54uV3O9TMhUGCDUtwR7LIuvGPG2AzBBPe492BeSy06Vs9Tef6sDi86y01GEHysAiRvtq15xD2WU0yChyDh737a60nkc5lj89umE7ii8EhAzm8GNeNF2EseoRB0HcAfhFFuohBESbOmuyRm2jC0iLuoq1nQYUGpPS4vZY6aF8JiNGrruOhSbpbhEQtz8iQaM+pckEDEy59bJYZ5IlO42O630C/cDUAYRKOug2zxdEuCDnQ/FJ2VUfacO/9vdu01khhasYEq9cKdBtZ/YcsL3O3Wtm1p3K5nFdpwMN0csIz4YMVFLB+l+rkUHIwmCMLUHUTJBl+vvL0E8czIQhLJ2J1eVa6NI/WWry1M1jJyeVWvX0OkyykIPBkx6Rvq4JCwMDTcugLZpMtjxXOacbmcbtmZPHbNKUWp92a/DWrDspJZy5CDQl3Q3YtdGnnSEqwiTQpiJ9BRE6sX5iReD1DCe/FAheCz0ZWdbIVti9acXgrQT33pm7a4jEGKhuHjwBSqp3bdEWlFj+JT6IoRx9WWjQRuHI025eSZiOTp+etQcAYlj5eCQUqSVwTZaARkO1vqj2oOuh80QNIoxHpfeHG+kdzMtQs4WeSiq0XaHC1/C+4HLHGEVTP56gQowf1vuWyP40Twr8fF7Qobsmuj6uQLjIDDtpozeIp/U5fkyWz75Pcxf3J6Bsip+JIFUzUSma/t/6Yrs56Ih2SQKfdGdKYogzVtfCN5bvUCVCSZO2p6pcRm10cKqArG0flinMiDOYnmeBSC6WvEgsbjrkuEXGKce+mmwConKhahA98ALDerK/uWtWAk0AeSqMGPhHR5C6Gv4HMAofsIj5aa61TCS+P3R119MCq6KOmUqKEBtzoq8EGEEB8L02VcNhe/pXuDGXvKstpy55Ta4m3pQGMETExa+H/4X0rT1Tl5eIuAQQYM42S5p6rYzIsj+3ct5My4OO8/Wzn75/z75/zXz/H38f75/YYx05SS6MIJRNeEF5zlDmKdvJb55XMfTjQJpPTZ8rk4I2BZwZerPITch/ICv4G2kLIBzqYv4eNLi01CJmfYLIo1IWEZyRgeY2aX3II64dVXAx2vSMNLl1LPLleM/Rx6QMBm6uFWVAk/yE1VIlnUIpW+cT75xI7gm0+H89lS+DwGo9eKgPlcIEwTCADilE1w3Se9txJejH8C/3xRu4v0vA1jRl6QEDEiaNtMJ2eXn/JyQesw9PGzWf5Wey9AGhI7AOZQaIaF4UpG8WDbzODFVubBGMb0YXjhBEq61l9jNSpbET9qMpb14jf61lrBm/8Xzi3c6eaVlZNBEr0ShDL9HALuKdlNQEfbPPi0EjGBDq6wXKVHGnEfQwb7yuGoalnB8+Kx7GiIs/GYqToiwym4vOHYcBjUSpwvRTV4WT1Wisr4KnzKTtH+a+uTzOqtXOGlWECbtWnKdo4uETawz249IEEWtdi9zmS/9OsU8miC2nGnG00QD1vcTOwuBpnK0tPMlNy3zSMq2CJ+FFMo8Umc7jEuchCVXa6dVIqIttHxkcSWx4k717w1yeCcFHlOQcH7tMxJPMqDmRenibwMuO1+rKKHGieIkp10PnfkDNqhk46D0l68zpGXbSjoqhvq4hFARJikQs5W3fd0OLi48P9YTaxXWOzqT+UI6kc40VwIfUiQg9znPOcXXUkEB3Cke/zHxc9JoXqTxIY1fcVXtQbhjMpwBKirQiJGKnXi1UsLi+y5IxKI+v0QegYXyY5mpC/ZHes9khuVS/dWMZCXK1T+orTCQ4c3/lADItNYRslPEDGD1YqRul5+JF0KTcIIzUYXjmpzcc0s5HkKoYLtZ9YGYURTb0fcccWj5Lj/L7NNUhlu+VubE3Ia+t74x6EGjnFWxdjwjhP+yK7Z1kd7kYE2JL1vnJMe5IEhkP55czG9daGg/f19KqdsBMNFzy+qJfPSRE3+3GY+yrIznHljNKu1S4y9SVEQjaKK1Ou/2Yxy+73Q4CxaCbiBMOeTL4StnDOJs5WqVAEG0Azqpn9Nk48hqVMpFTga/Zt87hCpp7sSXKmxIKOrKImL4MVdF4rmgive80c151fHiPkyCTemEBiE3ycIzRPyzkILbYvuFYItTzW7l+RZ9JSWEvQjTwcVzSIE1RswNsqfLoIKXXkR4sZZCB9t3OdLM6hIvBAgZ4UUfLnLkSwdJ2ndGju0+KJ5RrUXZuPgVyRhmNxQJtmznilntf5uoWPQ58nzc229/XyphscyI1EleSuW+YoHyQGwiiRXNmrTtyZs9jSspzFPqTWCRfP4uluNSG6SZMjwKZucZvmZLklkylsbSiAta+8fVrMMf68/Wym6bqM2QvWnYVAWSII8rBhdVLhdC1Pc2x6LY7QTQgf2Q+9pJo9ugWKrRV009mbYiUC5nqV3Og8Go9IhlqODMgZ7mQfRq3ZeCCDrQzzICcMoa6KnGQfuz7YHuNIclSI2A5C7/eL1Li0UYmMBy2JR4VxxG/tJdUMTX0wjvPgrBw1Rgk8yDMd0m2/x/RdVyyPsEgbN8cU85ILvOiyqp7+o9b8hFJ9wDMwRf4x/pmwJ6GrKGAX5EdOfXtqFnTHZvnI7OWWXJSY6RejoivsGA/IB/Qq6p/CfBAHuYCdoU1gzEkZOpaVtoWdjoY0JFPrAgT7PhHz8GF2eHAfzvE+jtvPfvu9v7+P+/f7sd01gJsetHw9mujKq2xFayBQ1doIsQunmFtqzp+bltWIrQ6sNApslu7mfIFhhqpDqz/l0wu0a4HZgPT2xzt59uPDqCj5zhkNon88Efmbl/9j3kuWQaeVC0EsDkv5pdaVDS7ePTMNKooDKtqJdso9lDTh51ObS9gkpqJnHz3ONAtFye2+jxwc9kRieYV/w2ioM8L/SjwHFW3SMaOipsX44YIj6tRcil0bUR1fw628HPv2erwIVHC9aFCTNJX4Tef8F60PEMzhqxoR6b9QCaoUYjZDkTDMcRVtjFWo06hEqdv4Uu1PSSdATKtIVkGW9PDnhUVVFoZFmNeaJNaAL9isiERTilBkr2rY85/K5XQmQybOOo2YZW3XREEUYzB8bsaKPm5c1XiHmVg2Gzufh83x0XScD1iJaW6Wk5a7ToN9GjrudkW0Sjw4jvdBVYcxrhv+ZEKBH+IsY8YHMgimzfkZnPQr0hviC29ECwNJO/oxtTchreoMI3rVWOgptViH9zPpMVZi2sjRZjryw8Et2LPi08Jv0vKJKjW9LuSrBphfL51t6CI5AiVxHUMDG4yQtu/y6JJfSRX3cR50RJ1vwL1Rjexo5cxxFSUza143dbV4Db5N5W64KHV5uOlJQ0MdmMWqNObKLnRdf+znYkUrB/fe3/v07PBWHJE1+WJXlx9jAOR3xdCSJG19AkamUW79XIFZlA2WqotKQTQ8yuM2Ul0vQBLTRLqZSFQpb7B4GC92yChss9I+xi8KCrffCKWSE4Mo4GHHjZaxTc1I54qvJGpVlO9l9PKMo4XWw0NmHa/7y4ILJZmQuHJvq72YgZ6QBthoPfa5f4q8eIdXkObTcqCVZ0KL1HJyVUo1Q8ChnA0DDHvs0S2wZF+j8emnyh0ZgRz/kSpStuSUwUrqX7LOuFGWAEXTRZU+9/R0wSjNOeA+dzsR39JyfCExIDnY+AVrUc15UWxZh8SiOJooZuHmyClDLirWnV08BmkjzVXl1NYX4wtbrwPPRYZB9FtbXy4rRcpRJ0kIC++R/qdKrvlR65ofq4NGnqfxcpxVpkTkGLnCUATvIgIecTEJIVqS85HlA2nvpKWOPEh7WF1zYwJOJq38QpSi0iBWQUYgWyNOB6fhbOyK1ktloeqoOuHLPOkZBW0l1CBiTryuc23p+6Sg5kTwuSmgjKmOPu3lbCEJABB4VCDp1Sn84nOFVjtsUR+LPETuCPOIF0wzaRk9PCVj6p/3YMzIJe1JPfC2bxPMRLVjLWlONmbq4ghlxI4c2nZYOmB7rAY2cCLRCHFaII4SP4x+FjCZRSvCzLLElq4SLCIqKIQT1ljKASmBaW+hKodFXck2nwzezj6ScTpJQaMMHTvdzth0qNGEW3RQ9zPlqc/n+LBYXAyuman3/sEUQ/KoSpyyLlHgskK40gyp38pZXZqaf243qWXnuKjnUJRe8YZB27ljiL3HoaDE0CfRZGu83cETF0rhVjgDFUNSh0uTXZMhwONEVHx3XX/XSt2Yai7ZeK+9yMMdliZv0kxVKAFYqp+BTCSbvAr9dzBjhHocmVzCMRg33cqBaqsYms0+Qvt57AShuBYrvBlhXrDj9/goATBVjyKoaXk13or4KEvu0dVS3tasqcUurTopxvVN/uEWOKlEm3U8h9aM+fpmJGFgpqciuBSJHmJf082a6qPpEHaM4A+k4GSEHtt2zB/nz3b8+jl+b+f3eTvGIRKPwIQgmr1sucRSWSAQruaJCPrcGWaY1RbENNZCsqYsMrIsAiKs3Wf9jFmDCovW+auLWHKp35a3ZYBLc41sraX++bN2VBLIWS3PhSsq8X3McC0jCkhW5BSXjbue5hOSLNeb5dDQbGEQTp9GF04Q0v5crEaeECnDHRkFaboK7mJhZM2wVQkZ1xIvJbN9XjFXNJKWLLG4SPnQDGiTkpoEBIKZ9jb/Np/DPiMgHrQoDlHnJ8nUHsMAYu5EdKNOVGDaqLaI5SIEcXdLW+Bz+mwybLS65OKq3MXjnKPKgbnjFWqI9YgeoDalLPMzdIpJja0pSBnfgIjr+8TsCEowjcYPwz/nagPADsL3cjtVFg2TURQooXb/INPinK4kGWo1kDmaYVACLkLZUhRAgxsaXHP8UmlPoKZ63Iv11ZMNc5+u9lEkx4+5dHQbAaJteiFTLEHiQK4zIL94XdQuhXhqOiTBYHpU+Cnz0ftftT3xFmKbq7JphEsB8hx2r5AD15jUjq2HV9zrFwbpeTkp0No2Tj1v5ZrMhetoBVYCX9qdPrRLISzpBh2wSnKNdouM8Aad4zFS84jyr2sGBr3P/ZRkR8seVphxcSgxBLAYQML9FGlOl+n3WLVL5ghm1jGwUj0Mj1HzHdVoFJsytOBb47ifBxRdy+1Ttgj2erTspWmTCNx197WFtd4pFQYs9OLhi6EaFNfSZ6fjIzDHkC8UHyqFPpmzlonWaMJ0dhMRj665UwbVi1l4taFrZYsMLCZYV+USU46ScearVdw2H+WibCaUGcFnIi9bbhdlcGnpEqwgTfV+dgbWZ6tyPnsxmJzIWZhnsLIeKtUn5NmzN/FB5pDDY1Z1nvC9lhnWEaBKPA9MBHjxGQkl0eEuKydRTiS2ZliZeEhmeXnHkEnzhg/wAergWmMaPC6PZUxz8DKjysQl05GXTLi3nQ960keHABkKAI9DT2zICH9oAo6PSQbc6rFYD0ZRh6rDpPMgi8Im1DD4TM8bVozB93xOv+VcFeK5hLNb75rn8dbBmw059q727I5TFCcWgk/UjoSEGZMGf8UGuy+wffghUKLN3eOhDJgYFNkj9EIcOMJY7bYF7xCno4zAC+x+KxgD9WiuYbd+hRBevFtVQS1SnDOX92aDYl1NJJLFIB83T/uN0BJd7IgGoNNls79OvHdh3kKS/asxL5Qx7kfTiARPbYXtRqpyT0WQw5JLE/inEV28Npp28LmpDwsSBlEjoWKbT51J6jSSQpDi4d7B6+wNNEFr6mT1nkh9JgbjguTJ6h8c4sDqOOZ+pkXhdhEr0GZ7ljqPJ3WuXIrCyR6S8JIbBXHPi3SiMd2hItmV2qK/8NQZX9ibnBzScntxG5NHe7u958rB5Y/kfkuSNbQaSJybe2qO21Q44/tPAmFpzfuT3WbdIUqUiDR2jJvHgvPeIzc3M728JYubb+YG4OxSI1kWlyA/X9h3tmFD+AP4GXwQ27tLLpyTj9lyAy5eb2ttOYmj2RC5LBp/+bh7QYn0apavspQw4+fUF5NUmSADUMNGWwmGGLZemsJEswcq6EdDPqeHT9NIgmySub77fFFbI4ZfdBpFqfidwEDJQeYoyiOESNlacnNwiCnWaYFZXBTJhQQVaQpyGOjsUtHdKjtvRZ7pIyk62DzGtS4hl2qhGAZopZa69erOKQHeJg96CoG39/f+/r2d//q9/dr27bgdcwEwDYrQXwVrEXn+DrIs4VdhFs7z8QPJC+/JBlT/6GiLWCMu/nhdJaTmqsSCempfY6VM5vjQp9fBgbbVAbqUiJH/+Ok7+eIPrS02Y2Qz02f8NVLOF3RWIKvGBjelMEdGrPHrHzgW/Sw6hU/GeeR9WNGHZC+KCQFCqktGd82xeIO7WX0IYWYxxyLaskuY/vbZz7yB2qpt5DkpCLXQoDwDxojD4ECEvlzdIIFpRGvj1UHdnJBbYiL+Hhux6nmRjawSpEBm9n5Mhha9CZc+Fud53gCZEjkU/GjSESgyCIw9fyZuWYsXuNVASkNQPKsrD2AA7oWxcqrQa1hzoB2T2a1eSOMWZBp7+mjgdlsQkTP5BgMS5vNl3dQlghKeaobK/2w83YYDaLufBhAmGNOhs+QVZIyS61rHqTqDcDbe7KpvktesdBXcJChxFjWwPALd+OSoY1AKT1UUaTlo1hOpa9XdwCl6mEbE4jAhBsFk0xckt8SLy8lKEyC3O1fcWY5Rb752k4CNT0G0EGnVT6KDzYnGGYuomstyvH84EXXK6lHFcm58y4WN0dlAP+QrelPUOP5Ydrtco2ShTJ2cjsar1uJdf6ql/AWlJU5xKsPmIPDxEnBGH56wgc2uzuP1NcJzYMiVk0kiVA9RRYy/klWQxpVoTVPuRwviseBfwiKgVtPQ2Bsnl162ZbqzjTIEVU1BUfZnqkgajcDS0PcyJDcgR0w0Ll1Ogp3ymCSsXKVbTHKuKGYacUZQESWeW43e2tKh6Ai0LD3cObwjVBw3XhKyomYnxcG2puzNpADPKFG65nBVjGk7zLISq+NcWLAouljcIKeBVQARJu6YuFuywg9juxmIzIbNHU3Mk8vwhGdA28cLRFSmp6ZlBbMEykW4HmDwMcAtExBRmIcImHhzkUEdtx5V6uCK82JF8FI2xf9XArLspwcdc69teMLiZXvho6DYSqzqNH3946zTJCb7K34oVIBBDftg8FodoMn/M6QMh6c4pLndPHIi3sA51XTIWRIvUiuCeAlOHWGASCXAV/QuJ9SDwyamIAb5eGG5+CihPY0suzFNhx7OwskrYO2hNjLAWOAYDLSTFI0NX1O7AHrROEHpEaUmhxir4n5EuQ+DxW03SYdt8BvH7cSvJgVLIGD8x9y6FABhHRkjxkIS0yKiNeSd2tipvzEE/Ybk8QKYsWSonhWpNQY/cdqvDG3VlInH2oiL05HlaSF4qEGpYF3CULbujoXvM07OmF0x4C8+mmCDcIUP2kc09KLfQLMB7wZX3XIbW/tSWmM2xJu89yw5+EVU0wsbY6isRIbguV49AIOvJOxK7196oVWdagVvfM9UJc2eNDvLMarhcA7NRIvOYIhEMvFvZcm+bRYep+oTaCaXbBp7Btlkfyxrpp8svkZwZ7XxoSIndFom/UvfIhmMaFAiyZi4BPrxfEyVmxpwm0Pi0YoXfmoBAFuQXylTjhWNEMEnWal2SeMp2EuPg26+rVZ11VsHoD4V0p8G61N5h0vKJHOQVpGfdh2y1WV6zAkdSX/s2sIe67dedyn11HjWd+Rgy2qLVWYKTPUFuVLFXhT64FzY6BKrCebojKvEqrxON/K+DvHpDZTTYcWaWx62yF9oHeHrMIikcbV2AFGJZJ4d7uexHeM0nMFu+35u2/v3z/5rO34mxh1PAG6OxXtzRPlb2vngzOJTfo1k6P4/QgaRcdfX+VeFy3/++N7igAncL22yz4R4lmtV1T56yxVdvnCj3K/L/livB1EHa8bv/GuM6nXrgwUpMEGGkVfWY4udemxSgtIT8pGnyCKhtRRYWeoShYfSKnwQIbYPmJvFMJQe5SM5QfC1+RNABF1nECvP7/c9Zk34VMDOsJF2adGG9I8qOb8lPTQhmMf01Bvxln/wPXUp9ASK2An9ZY+Vuqi9NoxOiDQ28HXCl+UfMDvaQlFGiMyxBfv0TcAqCh9euU4RzjmR6mWR2OV4McgFlgaLm1CJCq/u/1wJ42vbzR/DS+0MEW9W1IOM48ZHo8jFC0N/6QMUwzbIMo0STWZZ/FI5wQ9LmJrL8DRLiwLS6MtRHxxAVSTHEe10DS2DMzOlboKlFtpUzHHmhdWU0iwuSDwyflG92heL5AyZRveBWwtvznpkqslOGot8d6v4ftPoEXfu3I4Rp8mEMSzLih5pmXeqzUNrM2vQTLldNJZXrOpZ9JzKMMVo5IW8/ToAyJELQcf1kGLr2NuAbQTWh/F88XYARm5nxm1Xl7KjZS0sx/kkUKWTpR5kn1jriVOC/DuQIlg1l9ohbvapZ0aRi8QvUdrLAdQPdmnFhWqKNog6dFiumxoDNdGRGjgyqJ478odfDMLNIKykoiJMxkYD5I+I1ZXFAZcWG9/FYx/iD7RdJykl4czhi3APZYHkAB7VJFSsln8sS4fZ1FWcxAhrNIDkNMn0gIbeCrP5PCr3LiWSdgqrIWHK/TmA3Ez2J+wHfBJTFY9WEQYfFtzKAF1tehuHGfoMQyZu4et9d0mzNhDlJgsKvo/z/eLsgwOJd9uNALpMNmB5Bcz4enL+qKNr+NqF62m4mI1WH4HlyYB4MOcHHCKB1X/Wv8KJfFpRlm87Mgfi0Yp7Db6hfBSXokNExqSKLMPmsNlHTMrgQQjBSaopeG4hgtsUAr3ieGmkmDwoVvGYDniwciLDtaUnITksiz6r6IhOrXY1iEXpaEQjrfaCB+b3Y/0W5NlaMKV97c05gOFOXXSsVhpB0dxoGBkuPFyJ+9RAvY9zww3MLYCpUmA027P/6QvwIMqExWqrv2Hc/E4ygCmjE4WmBDRcAyFJOehswrqdRfNhdzk8/o6T0JNQA+LUPI/kASjr3+ZhzRMhifnxft28Z1kvcSolFI7890Gaqxb6e5pkKsVCXgmFzT2H57YfE18cGz7LUoDZ2jqnW6/gIvwW9MsmS7/swCqqz5QERb6gqO0UqYEAjqD3EI3+arSLux7EBFfbcwg2hKXNmecYhasJFswLb6t5Fh8ey+SEVr2DMk8NAKY7/R9CGvyIMMsNb5ULlxGQp6BRNC1MxrCcWh2mS+gn7LHQyQrmgMLP49KbxRotxwmypI64MSSSVmKegSREsSVptOqZsxGTL2IyCuvEAEZWxdv9uP9s22AjF6jLZsNPDBU5RlNuCLNTuJuTmvk0O8EKOEOu99SwQ4lfagNZyMraaUweh0MEsUXX8iHC+PThCI68XzHXZWKOHTGqeRARJ+7DLU28p95shkomJ7yRYDf3o3BCwClCfklffVLAL4IqB+Waop7a26zeoOg/0HnSnmGw9KiHmszjz5noRHBA1FFBrL+UjXj1o4h5TFu2/Xs7tp1IlrkGkwL9vZ0/x3sfJjvNRyhBCa5VdkQ6CM5wgAqfBTcRVghHQrAjDbmFA77xwaaXTLlGkYYWW5UDuOVrMh9oZf5VA+mj2QPAWeqD0q/awAySsiIfia5VWfzHTB3sWui1jbCwQqR4FRWhOovfxeu/hgA6spwoGK5bM/YSfAW78oUBVw0wdsDcRyZJjz6NsivQlZZH+4IjW1Fo1E3n3nDX0spW5wGUhyr9pDLxhCujdb/Hu9RftUJY3GPuHqeH1hgA9l+4XGNDMlNcEIejIyYuHb7kx/HlTXFpWpUo0nV9rWvC9K+BIFLfMEDpwiyqhXQYP+4PtQR2xP3Y6N1pd6dllSCtPz21HuFbLu3//HBinrFS9YpywYFS4bqnR/iGQoJsc6PBNOocohzx5EkDJpj1vm8jTKjFoCVy/G4emoos/+IuKu3Gqn2q2hpaRDi73NhyZfAoaZOdNO9PClL4s8erFKKJkvOc40OjraOsjGs1REl8Z6UojoAVQtGlkMWB5UzrdhJUAuJaMVrMi7YzXIFihD+l4Lj7l9cA3ErkbXk8DBJUkyZnXhWCSRVqh4uxJJJtNEzNmoveVD+lIBbg3QcN0tA7DQtSTRrli49kKTCfACKfeAekJDcya11dU3ePKBw4U3tkT0eJfPpxBCi6csgHToldf2cDRH3txKHp3+PRctBuKzpJLLo7RFVT3VAkZihvjdIedpeoaXHwqTIxh4pHRVKywsL+F6dVeC3rO9gf9n1RyocAtU+NrDL6gNaNw3Vb6hHqND4mH0v7hD/mK0uH/cx9E+Xciib+TzpnTf2GNvsKjCWKuSVHHnmogE/il/GDapGpCuf8jIDzMyZA6VRdV7LIYPNy9JFKlsYAsyXJLQfAIFFSon3JyV2dOteYb558UA54KMuN03qiSoiIiSjrbYGV7MB6Z5lezdxh43jyT5G1KH6dRx+QE5raEf0yS+Y8qp2YtOlP3s2ISSZM5oZxMnrYqMRD0EzEex9CSGDKRGJWiUN/+tQkc9VBkwkjv101TZtSmelQnk+y4/XeySH+iIlnwWQAZVcJ35PKmIOejhyz7Elqfd+2n2MGf2looTpL8zBH+YUeAw+m7fhHcDEvirQONuLVODulKXgGVsoslmpDvXHURMh/4LBwxlCj6prsT/jGbodTaPhVyYNvjtopEik4jTsLT+lHLElTypwCHK4p0B0r9athcsWKgQqdr9Rj0m9M5AYyyD7Y5so8xzWpH72dJ5QEikPuhcqBkFw9BmXYjehxmMrec+aSAIoq09Q6e4whWz1n3BNoXuf9mEJha3GfxB+UeMlWmONDDMwG9U/blECvm5JMGFqnGnN+CedR1XIi9bXSIixtb+XW6c6VW3llPLocpdZKeA2hnFRUxbJPBrQ/BKCjdlTlW1A1IkojittcCzEdsDeKefAXNt7oFWVir/9vFe6NAK8lb0kN9uw1V+VDBGSoEdLqbVcufVXGhWBqcY/HWQ/77gjjnSFeoVoyR0GrD3AtTKTmNf+QoeglFWxduBbAshDM5vJSGJqArdGSWZ1ykgzDr1NHAHAsmccwCCeZxWsbzU3CU6VRvtzY0LFxQmZMQJTo0qSd+5GlgJ/MabG/StoS8oeWD2JIafLkyAl2Ch5GLlzqewQGDzmGsIfx4nF/TQY7UfiEkQkkLJfkuPYS75WYmB/TZVRj9KJ9WptORfT+3n5OWkAfv7737ylIq+k1ehbOQQgoSO6aIqcWKP4QW8EU0aKsZ0mUWp+fbwi2Za9fEP3zqSwMuiG/PR9myf1aW6rvLsn6MdWlZnlqvCCrztqCk5crLuMFbddQS0PDdI1zzAniQV/T+EaS3sqpI9bEFlW8prErQYJS8sMk34henErSLvL61Aq4FGSIDfbjy9M8Zr7xH2keB8kqm2pfXisv1U2KSpv0s/bqNau8tBqKLeqosYsYcv2ISz1w8gugfelP1Vh6Xqn7sPB2mYmetzzlstBNDSxqJgqm6hHFdbZKZK+zeAgls4VqwVdWQLFkLozVicktMseWPsXNFlGjXAuc9VL7aFumJBbTdQnjlOPGh+XgC/tntBcXG771uC3ztlF6PV+5zAZQrCAGdhvdCuqgj8tDelEs+d9S8Dy80mfweN5NNZ0AWdxLk2bGH6mhaf98kXvl9TnRmu1GgZd6OO1axKLsainwyThrFrmnBYPpZmpK6bgkt08rbF0PiPHSbs03FDFtyBmpcamnN9viIU0ZcCW71luwLOuPNAqRikzV4gJIQ2JSEN/PJVtxviePSc4X6W7B0IchF/bce61J/ObT5BZW61a3dHHmeHpABaMAM16aNk7j/eEA3enyvHP9JJN4smEe2ZdjcsosGhVomnMiMVEIOSbltx5NWU79DnEtNkZdao4sK9PQqaMjhtsliNUED1q/eeHqGse/iikXN2Zri9lEJq49BrmCHfIYfD0xi/KetnsHLv+/eKPkbeJZgK/coT1NWpcltzTap1vG4MJFIq9Q5XfxKXALsnofRRC3YcighprYKvxUQFfJFV8WWdUjwJcsU9kWKl/QkIvkUEJn5zk1wFObFc6esY3go//haKLZCmdUS4IN9nnD/npe5MnQVegnaOGBan4I9CHFruyK7vJx4SkxVYaztDLRFXzvznwn4TJnPN/HfZqS4yvLmbmiSBlpXxU9HulkFRH0zDJ8Wepe7gAPTudsJTcP4qpOINsczPakDQhn8Kk7a4/qMXW0FlgH+yL1xRaSGgNzZZ+tPuaV8fAJr/fUy9lEj1Yc2hUCA0LFXwCjx1URHSb40gIolXpaOmkIRRf3XOw8H4eIxnEIaWalKpWGaLRElgE0qHrluhOni5gvXdP1kONIhBPeCuBIziH7xDaACT4v/v+HY0U4WkRBkyo5Z05JtJ1/eS0EW4ENyVhbAjCOkjh2GDLB23APAGViCX0xdAPwcZQUxD9v6sucK1e46NKDaA+PpKWEgRVTzLaydXCnsHW2VRD0dYSVvummZq6rxJ30Ly77NTHsHHk8mE/P3mVODOBx9T2mfhjxs7J0gCe08XjcJh2gTBUhCqtNRoBnbyg7bDFOkEk6t0lYaGPq8/pGkrRtQwXYvG+5BcP2XjIyTPXOPPnej9drcqp6U+5AWrPcmiAHeb9tuewlveF58mProsUSz2XulIPDjze6cToPYZWAui3ZLKr2SLppIprEjmB0bVR6wBx4o+BWAaaIlO7QWrkgHTFQ0gUDQYrXyi9t2hHbOrJNf3kYQvjkarDRupcwyITsvbVlseAYPaKTYWfJQsackNogK1/Pa1afMaZTGA8Jz0anj8ZlGkC/KokWSRJaZ6tx88UzqP4qp7lsaY/VCYNm0KO0wyOBw1CYfXc8KmSoEq4xw8c0agCvJmtjO79/ju+f83s/t/F8QGWTBx2k1QUp61IuZMDKqQX8dbz9Yomg7F77IvZvv/z8d7XOEFRGuiby+yoj8BUYVkVM2euFRr4m1tRK6qx+xvcelDlezFd3wvxL8Wkix3pXbM6WkLnXdzWr1mSdMgkE1aUYvc7NYGXmr6IDKAymqYzNW1xPsnSz0exdgDpJtavqdwqfWah5JNVK5h9Dh2h07Nlg7p8gz9KMmOfkiUFx00SysDIPJvVUMFJDmEvOxHm6K688BJBZ6ea8WoYVkbbEbAyWSdKDwCtTLnXUk4iyUe3F/oJzqXwSPZG0hhNhA2t7JTrDzJrx1THkdSxp2hrYNJDhc1IJjaU9NgK2qAymaFLMCFogyDtlpBBIxCQW3NQVy8+T0AhMadUb96QZZ+Qx0b2kbW/SclY7mfZqqNyp77Bw1lv6bP8Rqip/jFAj3TStGd/v59fX1BMt0rFMhkUrHKPhhaqNSU6iLY1Lgu3FHs3hi4w8rmVfeug6C4LDOFz02EatTIg47kwZWqIRBHJnCJXaILN+97tZP+OUr4LEoscFH2ojJ2peQWzdqDkqQgXF5F/Heb5w3Mv/a0J3+VWn3fgqDfUfca6VtcX7o6i4+CXUxX/RefJAMonCBpqYEPzCaWlExGm4p5fSMJXbcFR1jaQCOH20kmUsqc7Pi7jPhS3nM2/a3EdRGJ6wOEXElgJL+Dd4wP7IPFG+miunnV+iaQukBnL+w7UUkqrDIkrDyhqo7wPsGExIDi7vRqasSAVoU9Rce49EW+qcpxL9A1r2uuLA2LCD8eW4Oq/XCZUhrJOhoP0X/mTcUTMJizcbVHbJCtxOQC+NONeaJ/wKGoFlEbYK1ropt5EQi6sIjcmkoiHdiQoAem6euk0K9BzMdE3BP2FuybzmZZLdZw5bjUTR1DNKzmSLAdzJor40av0QMiCztJylra+gCsuALmD1WEPrIaXCF9U8ZpVIrRvSTeaWW+C60Cs0Xmzw1yZviGCtnejXlrRHn4s1WxFNlkjL+bpczyMqr3tRioAr9wH7hxUxj889aBYFZV/SGyef20JikXg3d/PHJLXyrso8q2rlRLpVJu5X2yx7bhoqV8CUGwk19ZW8HZKzSYaGHNL2cq8m4URGE5bsqjgnh1SQy/e9QVF+wGOWTHq7VwgIChfNXFAivWl0FH4k4wt/AgHCcxMljq7hYU0V4DzwOMZCpAZ4Kayy+vFHUOUChbQ8fsbnUgFYkgkf2qmQibcHAQjO1LwmTLkJuR2kZKPqeBQ+IzLrI6Dxz1R3jvLBSePGVW9IMWBJZKK+OL6h1iKAMtuLB1iheIX7QOY4n8wmt23DvbJEN0NT82wcIT4vNIWyq4Qu2h4pi+GAK0zAAafJcXty0nuMQEVHotltMo3LSV+7fd2MRZDz6whXjVOkspqZM8xTcLBPpd8t0xALd5MQlGfpU2DilkOHwOijHv0/XUPuE5fec18AHZhVnqf5K5lRaQ4xWAl2lWmDugG9WVq5dDVCLNZAUF8y6XFcnD30tFyU0GSSvuY06YzN3UVhycFN81OwXVtXs3ie0zFEEReWkGogtdTwJYe0dnpJONR/RJ9N6XoSC/gzltlTTV0rNytLWf4FXtaSdtKQ9Yxsr9GwkWyPdSXx3kiySJAki5CMd3DYLu48pwvaz/f2/ftH6/fnnEqx8/EY2khPoAKB/xELjhKWDf2xvQVD/1z/yvKqbVQmrLc6hFyz31c6rm9zWo5TrXGRIs/pbpMvBpM6DN9HrF7jfh7Oh8yQX+ZUvMuAtyH9LmON9LmKCzr9w+OUO/4BsAXDmHOhoKy0e8rv8qn2aoLFreaESFVRJapN8cFxuqT7OIuXAVzaSl8aweMw0a/mdbVYXEA6jvFlDVc8Dm5BmpaWM+ZIUg7g+Xi+vqh7nPzn3EbeFgOLS0aYuspAlE6T/axVM+M9VM7CABfbjVZaQVUmYTlKqDUWtaQPQfFIqy3CWmPkJjW0yrdRrJBeyhgDU1JxzXWCvsJugzwzk9eku0B7RFMY9DwOpEzJfL7Xtx0lXXk6nyhTRChzj713h2JYWnJFWR5ebhqgHnA6xN7mpj9NpnLV4ICoX5ahMsbFoRMQ4JhmfhmgMl1c7xvsNciCChA35Tyjvtc+z54CqwXj6t+Wk0UhAmlnljjK41lm6CWL8xhnF2merq7E1nKuhkBj83hxgBIJqzjav9wBwsYAZqTc5TFd/3iATq5oqV1xfErstyQfBVz48hhXhXXNRlwjINQZahMu0s/mk8pkYw7cNFG7LwYjUs/LRVsdHTnTWYNXmZzTlUOPmDtAQbg2k4rQ5Vetx1w93A/CY8VeHUApvVQbVOaoAHp6KAp8Ge+A04Z1qPOgfspL5SyLGegxZ/7LTogJe/3EjPzQv0wkj0bBQbi+hqbcaICd5AWFu0mMGRd2F6QO33vo3U4IUoPfXlIlilKEC/MflH5wPoy6zk+GFUB5O2aMmeKFAuUPY8wBF5G4f4tdDC4RmbT/XG0oyp+uaRV/DTQuAcfaQKU0pVflRut2old1F5aloeWkFWYF1vxEWcrIYW1myzpIlLXIs2DKaiXeWGhy/fU3u07xtmw3bo110mUPXSd1sJbFzwPkpi8OGAcHA1h0KsNOd0TTSMIrKwXlHCi47Mh8Dzfu8dgewOoba05CNp5o7pytM2z6E/ZaNqUlexSGnE6juzO6IiewFQvx4clN+SZNz4AGDAQz2NawlUf6O7UoNElU6s0D13xd3yZxfzxq8pmU1cwPZZbDNEHtQM+4VncsS5ntJfqXnNX+OwprT6IeskuWpDmTLEOJCKvnUnsCkEi4iaAKOv1MMcBgMEmrjgrYHALvwaIkK3pDiuNZy6gxkzkbhzGTu+WQAQvUDqeaS4nLM4sHrZ4RSbbhwr2YtHMJofKVtKkhSO4jmP9eNPeb5yY/k2h5S012Om0qVNobbGSMhcEytJDZugTPlAE9xQ2/T71PEtL04wxM/gi72XOfflpuQ/KZ5tWxmznvETiIZwuMZSkKI8KRkQc4UD1rFQF9tH9k00WIlJqops0FD2F2LNh0IHiPWW3T1G3c8ym/TSW5a2d9MJNkQLE0Haqsk9NfpuW+e0VHCr7LEhB0dLPEwJY2ctuN5o8EtJQKODIsC0+TtCqiGWUMPprDE6svYtlToK0V5yb1Kj+Mw0cuBFB6SUjDl7VJp5caG3EeF4MMrWkIUZ11M8XXaklDCDDOW/W2cHWSvCDnCOyod3VxGrmyyoNHaELgIGjaDdQTLgut6+FKUEU88Ve9Iawnoiy0bFkRBz7AFvLpe1eHlwsOPc6vEQj0vgYL6UE4qS/zMxX73z/b93b8/tn//jl+H++NFLr9dqOXuuMp9DS4XZBiSKWzDy14AejKvEigHJKYE80+ny3B2LWX5WT3GdxywDVJhC1fqRE49rrpR7rzE7UiGX/eyZLy77Z6NW95Sfe6nDPfmnUx7Y60dPT17HI3BxrXYj+OVdBG1ESQryEYkUZ0a5mZfuFGBJzXbI5ClGbC+Z4lEPMkICiGt1Mu+DFP83eTB6DtUMqSE/WT2Qo02YYjg+Z2nNe8e9J/9Yb/hOeeqUNQRSbjBoDaW8KUSYeH1ya2ObT/IFKXDSy0CJTT36vaDFax6odKYU4zR8UDw5V1wIl6VI7QFzNniMohaiPEnlYFGjzImDZpd8CoK6gB7NUwVPDhlDAXEnuMCAf7KvOCjV7TfFE/JOPGxQwbmTwOUCK5O3NsJv0Q1lPVUNZEEqE/obEkZ8crk+m2IORJ0M2aZZlFUsVNhUWYfMjIbQpzQcIJqBcmWqBDGYjkLQMwvKKsJCpmANzUBrhfKE3uQoRc/6NyVXaQ5msASXuNNSY/fKp5nRYgGYqgWbF8huZYeHxT7ht1dG6wwlUYxfJCdHXyOLuNakxM9TjmEhPvm+BqhMomT8I4PL9E7SIzDXBPuYkKXuxhmbqWzCL7VBGjpiK+Fy0vk6mzgQaLJFFDIwEElzpVzm8ZmkHUmMQdLnzdnQvoUIO3Pi465XsFKrSSXF9YDLskZ4gnWQzFvivOkKRor2MzTDUDG845yK+QKUgwMtVuH/ZdbcEP8lWEUpgbR5Y/ypMHD9vwax7UOq6dDP/smNjJKe/0yCZdT4YTuHfYJIMOyuTurvneJDXORXu34U+NZluV4MSJDhWwgrzgnX0YZAwSxwyDIlQGLiWyqp5xh1HMGbYqbFMPA2IqiwScp6rSiJ5SyD8eL0MxqNSjQ9vUB94tesGsHWJxEc4jvhbFRVlCMDz8PEin3uxRRo4BrOT+9EK8tbecrKZUmVSGm6hLH15CN/SQ9Gu6OWXnVyCkXEz0YonLlRMBJDZANP6arEVn+fDT5A8FlTWfE7ur8uS3sy1DxyMzwytiRCYaFOU5aTZ4j7PZiCzF9jyTJBMZcfi4B+rRzhcL+jixcuEt/Hp8BP67IkQ+Bn+kM5TxPZVd5cYwQQKYJYMsoDoHBEFbHl+lsxcnqvIqcggPzTZWonqyTtojllREarsxD3+U31zRaY3PEW8DqyZhJaMsthmGpVpxcSPBwoweJDO4x/2Bob1eM9Cw5Pu9b7sEmZIUZeVEdPcImPvdcHF4xfgpKK1U82dYouvOTgqIpfyFtJ/YAKAcJ1L23OYOZ3yJTceW38HVQti1PM37qgIStD12jSdiXPM3Tba6mVojoQ07m+pYTSctEJiZyEkmQpsLgXObkRoC8uD5wCncPaCaoC8R0zDJuZ6XuM6XYBDjqs3JE+StPqwCQVabPHcO/4WHSafDeUzaYdjoQqPyvs+lhnECZGPRgEylAmxMJDletmF/45E5922fwIam+CV0UqowhDCAbIsOcb61FRf7Vw8gS8davslFx8Bfh482k42Hi+s453aKIAEqF+6VKDofGxcTp35PaTQFzGpOIQm2uYIqbMa1mqEwenlJTvKJAyZ+StxIwfDHNNhTM8kdBuSnDT6rr6tnMlp81V7mlLoA4c9ZtOQEtjG1WFmxSC7SqDCNVi2SDbUNDDd52kx0Tq3vQOd4H/t+7uf+c+w/+74Po96P9/d+/t7e3+dtvz329/1ITZN7TPSvtKsdKQUFcEs9+gC5i16/yR7zeYyeyIvKnbChCM3P4aCEFFUssV/uxZ9RX7o6hQXA1CuyHo+8y8NZ9+eAeTxrvfSmWgVh07HoOhAvZOol56/dFU4LJNes3XLeiu+bneh78RHs7gj7wEDbYL1oCrhUFb4cEuPslIpGQvwXVthQCrnBy/+VfUlhDuOa4ReGgTCE3+/Xe9qlvLzKjoZ5x3snWWa/3x77uT+4XAkH0JcMecZWIZlqlFGxsNhk5LORod6m3HPVUAsDIJweCBvRSNDKynHpd2zox49WJySMceCmqy5eLeAmZxaXhoaGvnWOI3ts+BQLNsJemqQKEkMq0S0jTSsUWfPYBrxx0knBTSSOOSk+WgKWE5gPvFkAB1aPXksLGMz7GJjhPSVGw2+5OBF9gbshj/hJPggn2E2lkM0d3fUqBE4/3txkCbuGV8vTLjy+41lQCxpVSRYK0gIfb2ygNq2ZGpwT+WuuWsOkcrz0s3Yrua7UnhWc1ADzjkbXEoMcTlsz9w9PE9cCzbM0AaUM1cAvJWnrqmchoEcb68UYr6w+a9Z+Tje4BsM+iPI+fuZAmgEp5pddhDrRF6Kq+UDqIqNpd/uqMKoUqcZzEdYc0XrF0Pe1hGzcrSBVEPLLazMRCTBZGsKLs+pc2idlRfVFMs9DCIDACNxeDwLaxrlRTGOZH7wlQSpXwJjr2UmkD0lO54EeP7tPdEas4o0ANjZ8mHv0jXJ6/kUoNHn4wcb2Hhdpc4XSfN3sJwvUoXoKvhxnqQiIbwb8wAc4kipovAPBPIg7QJKSQUQXHnyIWI0MiE4rcMjPm+4eo+RothR6wJNd6VryFIen6/tKPeCSQpnuKvgqwUXruE8TvEAG1T+uCxnJYB6+fM0MlRVvnm0pQpbvhjz/4mNlrqu9fMym5WhCBCG6dQDW/0bDi4hTrQ86rIOUYuWoHgztiLqEZTzPZ0+L6YEMaQGIKBwGIWYVCJbUlkU07E/YXQIA9P2/MbTL/dAwIxwyajTFiqFqrxMF6wrx69Sj12g8rlpxTjfKUGzgKP1tlCrV51J1wERYjNzI2b29FhPzwYC57ulB5XUZEbfYlkkziE6AvPTeLR7B1McJwfe62EWPmtHBC0dWJIeQvGRvV1UONwctFYE0CeTtNDFSviNDrEvSf5z7tz5UMThHAguTSzyF+CSS8ZRLMoBs7hBoYbKLJzjqck4layCAwG7I1UrFcvT49tayRDk4OSbKSKzzjvEpAQrSF3W5xO3LmHQUj/bRennjpSstLavl3ER8GnFbyx124NoAegoBDJLDC2roqpBD3d4gO5Rlr6nq2XORR5QvxaHpUiMpQ2Y6nthf6tU1ru4jpDHaE5XFbE6j/EhyL+Jz187weLzi9YbbD3zabZJ6YEXwGN77RPO8WhlMNpaQOlz2RU9X2TNx43jZyyXJEAEv8DqxnmFrdM2RlX2ZDxfyjqhzeaa4x3ETu9pjBUXNrqCYLZwtBfCGGspyIyRVPB1fwx30g9NyX7euh+p3+QPNeF4QD0FoRBOarj74+oliGSwx4KLFr7wLdHpfn86XMCtcDPDApgXqbpzferdQOG+yA+KsuYJLSysKm/RKDI4GP4LIwKldS5J+qYOz5j9nJ58Jh/RcVDm4GRWwZ0HuURnrNSzv8z127/YjHh7nezvev7/3X9/H7+P8Pt/77X6OeBv2CqOILJJcnDJebphQNQx5dVe//lVpF2l+ZfT0q1hoF3ByuJ+fhU35d9Sd6/mPV8UiF5x/QbT19YXDxYaVNXYnmTMYzQmvvXRoGUE1nRKD/DYM+0PkZw/C4c91QldZbmG4thR+/cHDo4Gs7DYOm3+zgGSKSkSzSFn0fCoTHpJcRJeH1bgzqbqa5kdg1KNbNx6xl5wjGsRjetTfv+5zVbkcZf433pLjnKbR+30Q8q/7BIpRirKLNNSJfIxmWme03YlovxJ/PWZwIaZyIXJKy64tuqP+MWIpsYH903OgPSWuW0zVSKLRCSIrlKWcMcluiQEaUMEf3X9YbpOyHZFTyWpUM4gxrCw2xOJvnmHhrvyIChvFJgqMoq3JOhz5VXEaJcS91xSctT0eD685oJW0SulsTy7E4i9txEssEGqGVYpFOI7zUDFkeajMMGJIobSyWlIhOQmGw7FtrFBfA4nNuVXS80gcBuAfc2A0UCS8ED01O6d1SJ606qe8YP6wMNi0MrmozMIo7sSENV8G11TLVADBAWRYYM+OVt57t25YYZwcTDgKl8d9+aYNq5jsGIMfHwgbNKzNqmg+IgqXy6X9RPUW7uxMyIcD0jGvWYJdGs7OxGCKJaAEXdSTRwc+9nHWcOiCCx7Cl0tzUynS66qY89PFk5ex6REsN1P8NaaE+gz0C4YrVUfp8vppTyQHlN2QXgekLE8PO1quFtMVMTXj9A9GPKZKEsIMaunBurz6OTDBIIVk5VgjahwDYszIizeXbZuz1vva/L9ML7BRaQwulAiakCFDDq9kJUt7jO9ljsCT1/xhaMOp0/g9segebVX0AayMoinAybwDnnJsx2mi2TxjWDtAqFSy+b9cTgCOJ9PIruEH5p1m9Pa7ij0/AAqrCptUCwmkowBdn5Q4kz4tj4vq2+QKsEUyX/auaG8oxqOOsS4yBaG1uQQ1b0XTiotOJUOpFhHHj+Rhq7lguPS95Pri+Mul6vaSfVGcU1bofmNd/OFKwNb4J977bosa5VM82J4oQBC741wQJ3JQBdfik61MkNOqDbDYfFK1RAHdK1hEUsJWwMIEIY4gvh57igfrlvfdMrlc3tBZC9Vav5VZa5Vgj3sIVhZT7aZTurR4dWXIT+nIPrk/8qwshX1wBX2GU+cP9EuwY9NaXotlj4nVMyqjKT3G0liY5hLRjyxLwPEYx6QWZqg1+EldN6o0t3XD6OswliPam1EXmoWms5J93zUtTLDyVj2O2DfNlXLxEl0QjY/4RaFWpVY2R2rqJSpkxL5OLjEeAfK6bXcB9zFxVWwMkSrzbDpC03m0DSpU1XEXXy4aDEp7iAlcYrCZKEV91rMWodWmmaT1254FfH889BNjV3gkezN8Ku0RcCo5k7g3zms3bcDSoNaEYYEc3dFcIclFuwXepkjBAdpY3xuSZkDaJkWyylqNpOSqgzCWMiq0XW+OSlruRJtBKi9Z8O4TFjx7FCXA7KIiGQqJDPez+ZJbNKIhAdhgnvpseGIWYrmFNL/wPCKzdv2ShSFkVUM9MvHxkasvn0iaKCu1/nxluyAkWIPSD9oXGy7eQLj/fn+aou8dXKHxcg/L5hNFXzw3fgX2IwMS2Rkep1fA1LFquvh/f/E+mG4VetREep/nNn/sU+M/VDEaUnjYz358H8ff+/H3sf/cHzupgXjITM2QqUYpKnaESa4VCaEeY5+cJxRFodzw6NgdeXXx/AjQ7EtFI6CIpXfJ7YiNModOHU6eD4j1yE/7XQ/C7zt6GWH+Vj8uD14QMMS6Nli4BL8yQ8GUXfu0ZLNAFcl1Qc/PM4bnJraEaKwBySuNy8ZuXscsS1Gg8dzMj+O3wBVjl5AMRSgKtYQKkusBb68gM7NrrFZoQGAuEBz/LynPZOWc47XbSYKYinKccqEQ9wVrGR+Lx5jKII+CvZiHJMtQcFhgFUetzJ+0boEklCJtCeMlvkTFScFqfNBfITvnixQW4Gw5QobgoTaJEb/H6oiZHhixlpdbE3n4tDppotMclPTMFCMc11U9WvNFhuJKiCVBKJkB4Wf5m8/KUSLN5SEGbpW3xZ9oVYmgN1tEzLEWUe47t9e+cLvHmeZpOAsuVo6W8I9euAQhxYXiBdySC/boRXpl4RYnxbTeMIAK7XAKWYUFlO8RhczYGOrih6iQDpaxUNVfqZoMKbZDSL2y48McyrzIy5yCZn/G1sGqbhm6jtCpb/2DM2AEGyABafDrxM2An3b8weZsE+figjlfdBD8bagmOdLLsAl4UVnyr1o0Mebn9yETGnl5YKA+LGwodO74XKBLOhvEGkdzmGZNHdA52ct0/CVlL/XJEWctVZSTRZFj7XrrCpYwYwCJAtks9gU9gd+/BW5BXvEt2aLVRItQI5KdFZQZLDv1vJi61jK+eFaYOoX+4K2eGbLylRXfZbtBg0km584n5FJIXXGoudluSICUw9hdgCyMHG18CqLrse/zGtdIX01Y6oQo3ftf8mhjmptVZ4XfIpkAJZJzcWCpNXEggv1us348ifv+ysVZniGPmlw342Arp4Bw6PZTZMxC65t0shxMBtGV4seDCcICrJT9xKrMY+E3GjQcIr1g6fWas0sTnWxD5p2l1y8BuUTrMHJr+sQkcIahmxYj+GwpltUrWkzmXByoXp9wGA8zbV/yU2VbghkhmMIJ5KxBDbU6jTobBiycyCfpeFAL2iP61Mli7IV3NNyjgmsNqmMOatvrjFepp/VCmlROZTy0RaWOmoeEOgN7W+B8b+hMv04p99yreLLSB/cw7ZDzMqRrRQRhni/vS9SKjIqjAcbI4hERRdYU2RAZPVnE8roo2QAtePFhbviZh37uac9oYuz8m7KiH7oZgaE5N70knTJDzvWgr1wljKGSOImAS6BKPm7bjxcF2bFThueONYVWMbfRhBkpPRbpxc6D38b+CbEULMFK8911S82v+5SefU1DDJCD9teZy/AvfcXBKfWBgaK3JXGd7IRxveJIyR4WytplIFA9i6Gkmf6cGmNGsAleElgbNwHo/XjQ8hmNQrPf0UcczhaGKLSgKe56/PWVIAA2vK3ZYBTv14vS5bmBgp1qaVOcJiUexzQRlcZfM0xAJfNZ+UhKaIpbJt3r9fq6jTntKc4Tpgno3seQGw/nM7JBbjyHNHRgwhgMMQgmBcgTJvQAv2wT7yG1OMgGFGlXJqkFPfRRwCCMtzPebnPUaAHWV4OfUw8zEEi0lvurtXszcvcetPdf53hbJUTvdRAT9DjE0o4/YHRf/QWzBdzq2EbmoFlyH5WRhVQa1rf10X2Xo0CPRZl4kzpqzCEiI1rTEuFqwjZWCWztL9C9UbCvrTZ7WUaiXzvKCacYxNzPcYWMFrD//Ey+yfHefo6f7fi97/O/470R/lUmRgDDF0FI9OOVkB1R4Sp5MIwiZlXV6GhMkZKVD+CbemTHWxpvAFALv6+Ifn62/vL5Gld9e72Wd6Nt9N/+FQld5pbJ16mtAFQGU+KsrUXTQMZmnO6kC/7jN0fI2vzIpFzX0o1UBKnxG7TR63mdadhbSNZakOQhRHQmCplBIVnn/nT/r91NrjvsF41uraT6OydoeGzZh8MtbWqAG2tifdyF83qN4jRJDVMWPH09KGkb3iQjyDWBQSsGjaeQP3pvS36H/SVLjtpa9S5DuNOxQk0RiiWhOikbC8gBGv8y4UqnCFzVSKjnGLGdPC+Iu54bKeYwCdKDUyrmXHh9XI0vyxwk5FDBnyg1ftjeeiD/cHKW4VA1tJw8MgW8a4zSNdjhShyYRoka6iYBt70F+bTeIGBZRNA0RjkZ3V9ZBWw5mr1WGecS4EzzR6Is6SownbgQrzqducxJmmI4P/ZdkY+St1x1G6aGf3YyBViV3meLJAuYFGS1VLhmQHEm+mcPeYQ7YktrJyZL+LlqoTSthKTbS5RtMW0GyT1m0Eaibf47EJfY05vNzXrAoaDzxIukLZ/TMhsKhY07nDN/8iuT6x8kCEvRtbNCPn558RCQOYGlmIzUhaZCM7lytTOj2F2qdKUhgFFBKpaiFRLLdt0ujYm1uWvhqXiLfrCIELF4mypC8DZ2bOoZxXotbhzd9i3i1eZMhWzo7EMj63kSPhN8zJ+ML4QubuUGDTvlE5/QYeeL0MZJh1EuamkOI+H9hSHW6NtkpzoqqkUIOtZOzF5SBAKPPwWOLHcGlOEvyVpj0COEJwk3MEjbHmVt4cXFVJxZm0tpmpjs0gGYQWUyHYKzsKVgRO9CU407P/zz/lq8UyTwi3hb2guKRz2IxebopzeDLtrsEfBwp+hiSl3hHKxbx5MZ0e5VN6lC+Tj20aiLZ8tizH5c0lxgkXNEldCHh9ECBNQ+o9WblAKkPi5ec8DrbuEyRGRzmFSI/zqPOGbU6tiIqAGripIKwBrKdDqoMDXJPWed98Blhsa75scSvDxL2ltcsQHZ0EMC+PiK9ixmpWFbGFINSEys0jCd8FWlxa8PO0QoCJMkRMUwAydqui88hVpSo5tgKahlfKn/4CRYdTKH48YLrkvIOVxZWNONdHmOrb3YR0BYaRHIF8sYuPx2fhXJnBdpW2cM0Gha9eQgkXFbnA53k5JCoMIEtw7zKajMseklCpMhN0nPzALWRWJpf/VQNYOFqszUFp1GNWPVcH7tizD/7ZNGYq+LxEbn2/dEQfVXiAyfQacJkCKCz3PTyxiCQ++L6CFE7uEF2biONRDw9C8ogLAj0Sde4bnyMPVRwEFeLJzPY9ektPnk6j/MzUyGuD0S3YRRU5FOQFtnrcF5DMyktJVB6rXxQK0bud+eEwqcpiD3gwIlDQIuCZ86LqWnhnJOj3S++L8nuW68lZOxNp6m5gaTPxb7RE4xr7zfU1Gy00Pb23o+mXhoXTeQJ+8Uw+QiqPRMO2S5AMHVsFKZXJQl8XcFN8ph5U1GX1FzPabl5Bjf0LQ+hJbrRspqWRt70d07sJVkU2nPY+nOJTcun29kSKYQPJVNmXlnzqdtutozPzuMgaOqHH1mUqab0VtAcbiLdS1GEXYawWgYaX9agXm8j+08tnOnCda/f/38+tm3yaOHE+svFLUVjSYJdljJP6wJB1eg7GexT+OAESIQcr4eqNMcZh1OuE35sQjNoGEr3VrnjhrtR2VIZa7FsaLY9Z4TXY7acv/wno/ngr+1ay+ud4n1LHipp0HnjxEqIv/jY8EFcLPtj3VlSRo/ygunMWVFJX6BIwqdz4ASDYuxuUKuKlTWf4WyA3M053n8Q+e2kIAZI4cqUCCafA5FyJ8st37f7tu5/3UfS+9ha/0JfBJ/nebIOtqgCQmBDiACEK0/2R8EG/mcu3xwMs43Uq4gBboStb0DxXmBCO9VqlYOzjONxqioFGkWzdSKq1IRDUrTszYz1/xkXBydEf1U0WiWaC6nGb7X903ixZ7SnOBdCYV/MAOsOElYXd4674XxOd4qM55rtDndc3yfLrH4X1X8BIW5a3ZqoA5igE5AycZLIT5NH3rnJTfPyLbJLSI2YJgMI0P0lghefWWNPzNS/OBGoc0WBjBG9+f2u8foGLSrbPh77bMyQkiHHrDm1EXl7YsULnoDUfIL4+hGCe1EeQ4PqcJVkvUBBntwAZLR+w6fDSzUUSTRCYWGQSRuxNgszifrZrEEHsKehEvr1Ah2y//dMtsKjQxGeTeKniEGWagPUenHkcDGgVoUcWb+v5hkXlGRdErc3nOIBgdyobRYzW7yavaoPrmgbFRPyeOTT66hWr4upV0Ps+LSajUWuTp1XYQJ7OOWVOIF5wMoccInlzDyFPkZb+9i85J1u2TL6VMgECdATKq1KwW3Z+NZZCFxT8wPub7NZnUNQVdxqKgbAUDU3+SuMJyUiLpccb8WE/siTUNWySGmRiHryAEL9t4Tvk75EiV9srMktT9nWjmHb56lyT2yxHIO1ioqKPtdhjgbk9mRIiBdSvGv/uUA1F1E2hfWpkQsPoJqwJmYQ6JwS1y+geL67YJ8IvoqiuAnbL+gEaAjqVCv1M/nixEoOp6vE3R8h+3vMhGf1CWzUgtIM1aM0Bb1wnXe129t5uTsqJa3mfpagwJqvBeGXrVAU7tYmBuR4+5UEBvEEv58sjzOzUbOyaifIefbV00f3tQqxKk5L5trAXOUyU+5bxyC2d/KDqCWFF6SozHtRbVXasnFrSYC4S7nQDDOuAcCXLMUiu0lXVMXY47eJDJ4nbfjlDHlcnblXVX5iR8aVp0lYEDOLIsf4bDEQiSYlrAbWL6EsLrGTJF+hkBlmmaOU1PjWWhNlAkYchyg38RL5wYOO2HoJJp2TaZD0bmhzCYeqRQfQmhq2Wt372nMl257EgjQ8KLm4oPkgkJAu85Kktob8a5JAhrV6lsUUPXIugili3XWS6mcQIQNXFJgHqFSksl6+FBDC3fMpAuSDW5y8sp2ftjEaKK4JSBGw+84tstxjJJQB/kUF2g50XSNoMgkI06aA3XD8rjUrEaEJGAyl/Ny8nGcU0dr7a4A8ZqcN82ZW0zYrsnegBLWO4MfEwbfv15/JSzhjyNJkZQHlS30QFW1WaHNS3pevKnfMlpFOFkToYGYx0d7YyASy5KX1cWXzi8wPYsIG2/o9nOz8sY+/1ALfFrPPbkkQx4QTbTq2Be6lVHiXR75ouD5ldUyT3pR2erJh0vycdzSnxYEiHQnUDBr40nlw0obK3iNqSoXdCQHz+b/Bo5E4jnuY58CPFIM9m208GPDGj6On5+t4d9jO5/nU2tHTmvnmJlejbycP1x38VIlIHjSWtPLsqvo8RRjLC+FUFivPSlXoPWPr6NMxEWt2hk5Ih+X3dXyjofCkT+WWpkYzHWu/5j5z9VIxrz8uaG8ecGbAOwlYwMQvwou5SyrAlzA+/QCiOPyCURxp0udvKwof5HjwMgKqI/h81bU85hD+bFItfQWB59AXtU6PWu+SjucddbqqvRFzwxx0GG9DFK93q9kNTNaWgBzGJSnl1yjTeW01yRh4kWR6mokTQScZBGThrPWa1hCt6ruyvgClVyk6iQXY6ojtLnxHlIEIb3EW80aloxDD0voTLahupV1xh8fGvW6Y2NKZm4RAKQAZyoQNFPzH44eDv15O2nNCJ801u3Ooi3MA1ihSh+8yUDOtbpJSl5QU+HMJMFmL9xtkXWCjug5SWxRdpep8VeD6cuVyFqiSMH/1xFRxac9cMlwTrZdMN3LpejGCCfCpttdmRbTklwpMhOdedHDQk2Hcw3zZ6Vd1IOUj86TqEa9V/mjKyfGpgpMNOSLta69LRVEzBGH0RVGdlPSPL2ak4QFP9emWVE51mmrNsOs1g0FESl6jwvRA9Q7UGdn+UxMAFFRKQ7YxdXHVFyr+kYb5eEUDzvA1IQL+ZFB5lYFv3omnhR3fLjxxIvDBQIZWEYeDocAbDlmjdjAL6xBbBRp1aOETw1ON5lRnU5HU82fpTtBd2q9yoEs1CNK4ZQE5shZiWOa5TzvjGGvh8XctNsU/Y72JKe0a2l4o9SxtDfXp4MgB7F4BYKSqQLTLjWVDmKDmnURWQ0oqKcSzKPRPaVVZQdFJt4q4XnxbmK+mmaJ+qgrSc7VDTKjk38sOOtQ1ef3yRXBANbYC4lWWOZgmLtnrywJnJu3UJkToeq+wjP6VVbE3xN4EdaaHPNvrChy88xRQM8fviaKf5Csf65Jghz8reXmPAGDf5hgLD4u7F/M2c9ohhyz9mM29x4CAflCDXKdPAZDqrXgK9JJbvP7AywXIF0TsOFSPs8PfmNTq64jR/E58sxJSCrKm/ExIcHK7CIUVh+HLqja2LjaX/EkFrimr5+MpU3OwIyghpsrpHGVxJPK7/DEYLskOn8Mqd1If6RIg+mUfOG5JImJH+wtTkdpJzgKmcthps/mhOJM9Q3rWdOhJq9ToL4fvNbZudB6qoCeIHfknUrVIj8jWM8XFzUrQnJ2SgnyC2jZ6f2Hji3QByLtPkQe2Fj93V/uS4RLgnIysxEKkff2M/JaCCVEcpgdgr/t4SEXZPZIxfvt/Xq+XCKVrnINOoVwy3e7d6KkkY1DGbYSytB0Qr+j3dXyly1JMnWeJQ/NaCEHQdvtsWTI5uUUvNnIrdpVWPhOxsHKyELyPO6P1+uFYT83dQU0RmjDv6YsQQyImRkGKPMgMJuWXTIPyn2bdgkmz31UbfU569TyF84XYwYWpNCV3MJJcgEkLb7nH7ZIjbZq5z0UTZRHMBZfzyV95+/29QrN5xjNwVN1y6yYb/E7gaiRkYpwUr+NoE6JSEnOnVpHwHOhD79sSxtYSTR9xBglVJHTapCut6ZgU6yjr3wEYJenHBxOmYyKySRxQqgoS7RktmeQJcF0wlPPVokK126SpxIxfHL+kiWpIqpPLMcXaKHvgxtf3O0Q1b7vP98/A65jfB/7fv5s58/x/p60bKSeUHPMWALpXbS45XV6Oj3Dl+qevziejLcMO4FiGWntnT/5ST9eP/k9wUBf/nP08PfonZkoY7ssrXefXovpBtZ8nzMHKypFa3tfk1dwydKMqPLp2uv19QfA1uSaLczUPRVW+C7Wq/pQ/1OIfA6+9IiPsEU2E3m2dgZnR3alskwBpwDtrSpdbDApA5bjZhBemb5Fj/dOjaANHI/j/Zo6J4ocrYMM46/mIbzqy4j6yDeNFobcZX16vAnfwEjswRt1dIn+gi7OjULLPlWApBxYL1CaHcB9k1Ae6ZkFYzpGQQrUe7sbj/MvL+YNUKDgpJ7KIkGIxyvuZI9J/apIgywzaJ7eBJC/XAW8m+ylYPDSYLOgEUYQqePXKE0RcFlcZFSWECyRFSdLrR55TwemYVjSufhj9bNkKfBfF0JlheOk9LXoqYII3GIgZ7XJlOl0pFXnonKKTUSXsVCq4lhiLd7Fwi8BynujWYhXPSMyHAlj+Px8lAWAei6tezTucuk0AXnxpOS+aDTWSeRVIMkwdQ7L0Oy9PiM/pjWc58sX6SmbJ5eVAvl7Sh8qftujlHpa5R8vEtGWiAuW0XIk2ymzd5Pz+cOrBD5+JPUaDZ5LBL0y0Y8VvEnla0jCQmPO6YJehVcoPegXjIqhpYgB+0XyIPaF42Z2LSj8ycTL1S9NMO9Ukojb3ZHCLF5vtsaebcfjQtWDetQfuKDGkJJDXUVBpDWyjvuukG1nAAh8kUXW4j6rSLqXLjykW3kSDEUjSrLntcI+EKPJnA4/CX4mQyQQKWAi3KtJUbtVkIqPE2t2A/OgOIsqEMzQMObaifJrjQp/xHMnCCAj/koPIkC2Ug+jeWpORzhnCl0CVoZt1ZwVZTGZYi4Z+y0GZ0pVMeIPQWh7HefylXCBhUbCwN+9azURw4K1cZjUpBkHy1eCllFYqyQVVvJxTpFG5WFMsBAvtGF0HxlDe7pqSPO1jkhrCVk73jiUzGwNw0NVNb5EJ+DP3eY8bDtyUR+BaMtFdMlQDZYGQd0nBi+nhcKAbkBsEEub5ec+ksXIUv0k0dkcDAR4vDJ7nMiN6Vx+aO9qk1Ra2HXhfvMc/NCB50qalcnWA5bxkbo0CKUqO6OmACfN3lyqfH9N5HlQHkFzkzYSsKssPZa4AbJe6+DkiMwxErjHkkvtNMUJYk6p2ACNTGk2O9fehHB7K1IEw0LAoMwUm7noZOkZ75XVlu1N2SrBwwmukt91BqO0hEfbD3gTqQhfUxGky7qtufkieRGEOmf90z5dkgjJ2iaGDS5ufmH+/JwzZRL9KdacgVNMIqk2qhD3R2P8pCoTVHfkjD5/Hfvu/VLksIWCrmuD6wdZbLnCMUUWFskXtmooBKV5b/ZNCX38gGP8x3RX+NraymYBo72RWqyliYeCVDbZVPjCqiCZttvmrjedER0X2CyQtKdldeLzfe6TXWb21+RpP0GElMQCQNhwBXLw152K/8vYZqkfeRNohM9poEo9GDmbh3pFK8lXD554vQjI6yhxfDKvM1iEKayGyAkAN+JB/X2KXGZ9I93NgSkAAQAASURBVCsXfrMHE9cHScyHV9Hxekwj4s44fzOgBzj/o4VGOhfwQeroQCHDunG83KYBxFi/+/v3dv6c97kmKfn27MncTluEXmLXc4yy49qin/u5yFzlIFItUr0fgxJh+JBRfpcSY8t0wsYoqvtVx5VFrGNmJAUxvwvwGHgVURkikqmqV5f8Hz+dp/8L5UXcXjv092Jaqf9zxOiKmTFyr7qPqLWGEydXtA0BAc0olWOKekIqbmB2w5dMP2Oa3jBjqJY4uHyp/DNjBJIMfLVGz45SoqTGH0yIJIafPo5JHrofkzszavZ53M59Lhs7Xvsktb5vx2OzZ+XoS7g7Jzf4bV8AWweKJi6Lr43lLngpGxXWASlHrEIlesG7pYI79mGydS7YZhxqweb3ZM/mCHMOBlWAyEWVkSlVEnJFzosYhXJfdcGOF/yS2GaBnpCzpQQwjOi/xVhrYgVxGjDDMNCj4tpeGkm8i0WusA2xJacd7FXv0KwNFYwEGxb0xh2myzs4fSknND6QWMCwYTtGEQWwEAMJuElew3UW1fzV5C4F8PCe2nuLHYQwTH5eIVbrS3PDeV+5OlQpg5TM0d8UlkpjemTAUxb+OIs/ylnSVUc/KROJhrrKqa553b5UgTT2GutxZXq6jlF2JoQCT6W/3AJSqjuICj4PiAO1KEqxG8yuL2pxlcWtQLk0+2WOHrYhzbjRo5cokVjQYCtvzRxusxstf6O2a3EeQWdvJZq0g39pORF1KajjvsKW+MTcyQ/PJIhamQjmRFe4kGnhi0tx71CiHURzUmhWevITwBf39bYlk8IqS4Zwv74qenvg0T5FklyKpcwVYnlnWezJtazCGdmFHR2P0HLIqd/KNOUzmdpNevBx0caihOxWk43kltV0utzMmgyK4O5AllX2SBaCCn5N1zhQZAiVhjmChQAu0RzhiXSF+Bwo63YFnKY0JnObYI++llpLbozRS4gXmronrDuPjPdiSn5wbH6ou4h11y9xAKloFkXW8+GDddGEHuUaiy/G+s21acLUcLpZBvEQpFKuwwYtewwFbiehrjPCaLKQGMQpLo9JVFSdeQv7WxeR1mJ0YPb2heCuoySHIXi3VtNpgzGjnu777fm0AK9gDf72kCeRlia4cAsU2ND8554VypMhHDxQFM4XaqheMzspT+iPMAdDMZMqzHK8fIylzPZTlZ67fIoTnTOfRKaimU/QFrYmhegsZDteOXo7uUbc4lvlSjzliZ1aUCry2NNI+gjtpnnwUnCwzSJ7fNJ6xQnDK0VkCqjhPFb34nMui3fQi/3byoXQojHY4cxsatDg3EgiSvbaddtBTNzhxsPhWkHtQY28IGw2ITVRwmJ1g6c9PalzdrTvW0KvC+GxQKayQjnN3WqSiMVn2WlPR2Yqq5KCSln1hyPOvS5YRu+yJ7T7h6hJpDdduMDYpBnne+7lmzV73zL9nMOUtaoM/UnfAn4d+vzGn1CQG0YS2a85a+aPc+xnnAMCVp2xLTEdu81wvWsBs8niq7iEpuTp4aHLYeq/E/rlZO5Oup5aaIWSWErZnD4aLbOZqHeSWWFLP1V1Dn2K3oAXOGRkNVq+jEurRJqSGAUBEwsEMP0gwYZRp8o9/cZeciYQQJIGkL6lt0IIuRLttEmhmI2c1P6JMaopcKx4PbyZhNa5s6KZ+/V1f9z3aQ8p7KsZWpERLLYiI1qgNKgyUEXBvI7FneUPdaOQ/jAzn/eJ/R7v723//jm34/a9v7f3gxsYXuh2FCCYUmoUR+ytUcqfM0l8esu6C8GBLksqVe71R+xbvwmYD+7XP0ShArxM73rm4ycfh21WNAgDTEFjBdFjFL7Vhrqj0rnfI8DzQfaw6DM698cs69OF7hqmH2u6QCDxXSi68uoClwQoolhE/SrM/txGPukW1lHwZbcfJli8qMpyvery4dSxKNbj0lB4YGg6mm+MiudtCtJHpd0m+XncLOd5P/fbXBB8jLN5OOK2japzJ/0BYcl+GCRGILM39mXkUEEgeEnK65LCmfSOubcCSMEkd1VLrgMlLZFk6YEE89rkYjjA0A5tlLhK3UfsbM/SxAmrXY5jHM36eScBtbm1qihWQuVMGmvTapWdMg32XhzcApU6YUyUuS44BmRwIzaR6bd4Q+xUNyzLXgzRNuUDchzyl+kBoZ6RK6biHElZxUqJS2WiKhDwUZPToWAGUZLWo4fwj9kgCfXEaZdhENQK7n2ipS7ay5cBS5wTx10yBRrLMFG0WShnW4APulWDgRCgpuBnA9rx3AQUM6V1JWJPdYOMhP6g9qdOg+aZc5vPPAoUlDgh5nOzAnuLJ7l7ZDyNCxVC1lh2vUiKdTUgC9N7P4OI+NlFtz6omu7frTmaSceznIxmYVE2J4wD+5JBEDIONX32noTflnYWBgdCAMEv2w07tzZUJ/S4L5kYq3ixjOpLOUzuwart2j3WZDUePgVHKhK2d23aNmGtD6Vfyw+42XZucWN0nyYButYiHoGMiWGI76B4LDRerZUXPpOJyj5XzFx9voEByNZSvkDsAmCEoKjqx1Eg/6SI4GHUE5+9RC1kEgBei+W3HDSiPlyu7B2lRk+iVCClrL2BmXaEgWGKk7r8BiMfkwwW/bKyKuTKR+JO54v3Sbu8WwtO5fDRznptbISiT7WeJMhVVIxvqAzUlj9ptSqKaemFLINQUw7o2Klib+1Ba4qBIyPEqIbxMHGVGfkGbht0cS8eMDwTprYMb3dsb8nqALazhx2sExDAPb+WnRjfCI+78G/hQTX7BFhQfxM302VCByOPIEWY4nSQgeCePHqhm3/xt82O0rxHv5rLsxWwSwE0xm+KEVmhC7Sk83JjxRiXvzvI/KGf2IJnFxBnNST2UbQrSquIKPWADzYZBCTxdulqwDb+ZKVNyvJy1PMxISFjUHhYLE1m8T1jxYbwZgj2vvwOi3oNUS98WwVjyjQR2h5LZkONCXfsk8ebRLPsxcLX3brQyOPlK1lsl/Iow1+sxiSxaGnxYpkuUay2I9TIv7mC6DV12nT1MEad1J0pV24Ejovvxh0wpTsGPx15UTcHH9FlmW5UNBZpp2uDdWSxThozL2J7IA55dho/mhdgxi9m5tSkjfFl6xT4gABJly8IpwJGKy6ntOLMPgGHC/Ml9AFpsMpgspjmJvKKRCPhjIHQFmhKOg20yE7ws50a0SFGinSrs7XjPWnmj+kjpXvCdqEanwOD5coVk7IJ5lpagl9xEWQ5G81WLIpHbOiPa9R6srylbxcZRh/+mZnkpXRWSWwdOvRYlc34LDTzlbV4wfNs2ZJipua5vksuiMJSV9LGiaesjTdne79v5Dv0KO2gc7u/p4l4/P2DSN5ezg3P4yYavTZ5OpbqCZa6+oLxiW8IWgiodjc6I7VhugSm7nff3zu3Hx3nsR0/P/v3Nhcg/d7O6f98f53356mOOy+ZRxJvRhSnVmCpjYfhRZClgDVLKdNQjY5LrOx3Lb9bCWvoEzXxZM5LfkfmXUOsIT+UrKgN8tLwOBcYMRThFJHoqF1rBEOsuyRfsc61dL/3rIJd1ajAQC3YD+m8TLIsSz1+mRZrOzWyeSKH2IX7aTLWliakCrQ8Nep0C/3weVWWtsGBriXyy2BDpUtEVA9GJOYqn+53SYdCgLwe9bNpAPA+f45pJ75vj/O4Hdv76y8yKO7HuJVH7Dzfux3Qv2736YhD6BSn7chEGjVp8L3bY6L5tG4tR6wsMEkh9U1p8WQRxIr5m0nHzXAIFDUOtUnY4FIKPEf/lZqXKuhCNLmRyXKEQRu4Mu27HglPIOU5cQVOVUihGHIoAi+GA5eWuLS75fiRcZRK7OaKxPoMJ0PZ1zQ11pprVJZbABTJrTPMuHpVzIaIDybBRAbIS3B6L1kBarqlV2kjfxZNgSGXEdheUbagNhh1mnnGM87EelcjI1UjrF4xIIs9I1DEOBGgPI9dyalBXDm/Us8T0kk+z5ahm9ilejtuBUYnBI4UUB7GhnJ4LfluskrR0tKDScYXk8OFrHtSeqwKTmpSKfWD75X2vYrOPXGbxkxgYb4IqZIc7S5oGKQR97OwxTFr4hr2zA5pjyn0cu7TJ9x7TKxecpcsqzBseCjwEGJclTGK2vh9MsniQNEgc/FSNGSOHmWMLYPZK8LkzLKrIUVUjbm+g7fYulQpeG0xM+MapZNg5WehGHTOptwDD10CwKTSJSI8bRuVpwFlKiX1dTGH+g8vxN/djeoZ1nmBt8WgPRkuhiACUKLxJGtwdkl0asi6LAV0IiEtFBcrT+dguFMNrsTBFrOX4Ue2Vc9e+w3vKp7LAX1wuTsrIDTEFJC39/slApIRBqH3vZT71L0i+GWsXD1aU00RmbUIDlcbEyfnJ4qDS+6FY66obKMXGRqI5IkJz+T+OeD8YWsEHiDVdJV2LBVkCck8JjJF0vhgPsx7ugkLU/Gt4raIJhEFrLJv82qyp0uYx/ALF4eDpAzGEFVW51zSYG5ndcaw4NqF6sRZgLzGQ5JVtSJcwHezCZzLSKffjPNkfYJ57csfMboe9m6g0DxyfSsIaQDNU5860GCw0KiiFh4VwEQ9Ci/y2TbuQ87iu13+y6V+gTSYxvRtwjyxZw8TIa0Dana1YOuN86ywGmgcP8UHKYeP5Zhxq2S8wICzwOXG53PHAw2E17t15JOUrpEmNOIZvY8ptfJDEH6yoSkua992oS1HgvIF/fxf8Q3jVKpGOHlX03mcrzFNe2of18wIIfjF6tLMkGX9VkFrpkrAk/L6fE38bHwuY9xORxNG1t27js8wnKm5ZNTOXmjiUjrP1NwmsjxTbKi7fJieDp+yiklXMfwitzqJ4/GQCbc6el1MTSPxS86juvNKZKAsJSwpjFybmYP0wMIeObQlHe1LE0lp9lvvGRGR5gUtarNdEs0GCBa3FVm9oQEHAbij8YkaYxWGGRPKtrgQMWsTGM+OiYcw5P2t90FSh3i7uUBaXA52OV4g530SVq37opYUsQXZe5cR/sY6J/w1fAAVQQBKdWl3h5dq9jKk14A0ThCUQi0WXOB2O8cnMgNN6YEKA4p/Mt84U0X1gHDc62NOJJ2Bkb3aG8/QjGJNfXLqz3PbpyXt93b7fdx/3o/9/jofYwNLH0GovBHPQo8VilgsfcGTzxe15kw+nIDryQ4FFtWvLf1eT4Xw1tNrvGuIZbtygpnZ9Yl1YpGPdhphw3oWLw04L5Kp6F3510uEZN5rVQ4i07i2yCCdRGJ02PhBZIN5ZYZXo/oYIF8LGZWJNVigk6kHE5ve4t7BCN3fPBfB7fogyXoqq7DG9q60jqbaohwdcICqxwI53+YSm+N2+96Pn+O9Tehyuou//7qf2/t80gN52+da6cf9/nqRGYHCO45IGv4WNd4T88RiMii+WnK4cXL8mdu6o6BGYvt21AsyLQXDiN9M59ksJJkGXqkCqrDjH7nSHD+qkLAFTEEHpOGSYzwCRtRuD3TpIdzZGz6OVP2MLS3uqYZuGiSpSE+7eM5auJVgqjwunIlxAJBS8cF5cEfA/LfP5SAztz0skBpczcjqpzvDbLsGWxyTkkBCG+jp89Z9slMCZdZsmDrUrbgQNUn4SuQ0NSCJRYQB2KEzWLiUEMAZDItxFuEz/T417kO/Qdq0fpx4e2GZhrkcbCwltdxqSm5I65fEGa1Wrw9UC+KSsahQ0yuk2lDK+5K9E7zx/zR2iRpTbTFBKfUaYMSR+L3jBSBLuSgr0AxmP/Oi4jKHVBNHuRXCdOSI6+w0WkF5AxO47sFm75VYmREsU0qWLbhC/1U+sb7xECLOZClVBGM+xbzhW9e8Tuj6NSNyhmTCpxOJzE3FtrcHp3RUx4coc0bHXhtbvo8Mwd9K5/yGapcNm3FpWnBQLe7GpHaxqb4YGDk/r/YRwQSgwY/sL/aZ5iUxGLRrPCyBBL4q3y3jWQixCKIuyOjDrlWWEnrx+QXfYp2bih1DTG40T31zQbf+qSDrGQW7s8YLf+YezeDC6jOS2UtyYSPRkJWXhZ48JVuwRoJIp3H0ThQaz/w4+K/K/5jh5c4CHc0wzgS+90iEDFxgLiWZZaSVsbNzhsksZxOeaFA4R1ggVINXkMjRGsDM9qUTIZ4woHktlebNmoNgsuULf9KRwt9nceSrmIjJJQkJufcVOX95eoxZSunCOmYtFIMm0ZEl4qehAVECGQDTRkHIDhlLinnCjLLQsBNwvNFgEx5cSGNWFyZyfRhyhAgWmJ2VEf5SXJVPhKEYMlkCuywpWC774lXYes+Jg/dCIqhdO2qlv8wLDhiZRzUUva8svMyxTszTIag/WU6cUEKRyr20OUfRNSTrn348wDd5KV726nm6MObKQRNdUxdNXMeNxTy3aAoDBPeAS1qNRsijTsjMKx9B3ZRaweVt7ZBbO8S/sYHly3KrKio7HtAXF8TrDnDs2ZypdxUG4RXEjMlMJudNYqC9JH7AWdST7mW9XRDhyqwGWCc9nQ16VnGqz1/jIlUfFXlGAyJI7jnI13pYYlE12rCT+Zk8LFqX1yKufPIcc2L52+yPqdy43R5HYqxhOBDCDG0tMAtaMvlxf5JKO7szjyMchFB2Ak2xYqXHK+NAlyLVwhwPyWIMmgf04Bw7lxI3LRy5mPu9phyX88tJ0V1epXVJRF2YIM9A3A9z+Qp8S6ZRxL50f5eQQfR4jpOD5euctmjLIEMcnU3NOnDZ4Jgg5qPfMDy5+TiqICP/bYAak94W7ixo+S+4QJlbk3Mfe43eBiLEcL+K0Gd1nP5JkTRM6yDv6+ew0Fjbl8ZX+3HMXcjf2/vnvP+8n+f9dczVNYOF+lzKkNwsqFwIe2CfPEfFT4HWtSwM9fu+6G8Cff1UzvGPPL+IT7bnf21qWOEtL1qW8MePOVRRLRS34JNssOtZ+5B35ANxha8uVa3R7L6kEPZMwSuGdN0lOFGtOWM8qF5Sn7KQ6O6zn1rIYq3jLUL2iWAgY4aw13cFG6zi8lXUISzX14pdB71O6PNU16/XaS1viAbh+b5vt/fP+f62m9p+/nN/H9/77fWcuPD7eN4eB9VhX8bNJtCT5sOp1UwC1BN6nUvRK+hEYZzBIfdxCBktutEgc5ZlEhADWvdI+dX98RqinQINXhUUTy8dHYH4EV4OhgAhvJ72w/DKvZGbU1Y6pty41aTqgXkG1gUcxKe34Qz7qYqk3wF+strAdbWAklPDPzJFxQD+UwKA1OeeBaNGfGiHkZiUcj+7mUzAeVp0xpZlVWgvNn1A74Ir2Kz/Pve9F7DByoXX8+cILOsYAZL5VtVtyVnFZ2D377Ers7KI/rzm09l7bqioQZ8NpsMQlU26F+GE0lOB0VQ+pJ2140ONc0IuLzpMAiqgbCkjBXexCLj/Tzlih8hgfzI1ljdbmUjJmPS1yEvco/3jdPyX7qdxBNlk7QhzcT5BqlNeoWmOjnnvapsjy2Q+mmdVB0P4RsJQIJCN1gt9sBx0pONBMdzMkqN1mKnDEpikucmKUbZ7o4dSOwK/nNGcPHlnfaCJcYZLrfK3gCY4G+1URft2jndGnunuwmCZT2VTo0C2gsoU4pFYnMxQCQebOq85/fBVll/21gWyLJlXRL85Dshlcp2iEE4TYn3lK+errqtmOwYbNXRjtcvddZU0vh1fBhAOh+lGJNWUGoQFgVVCAHJSg5LP5NoVuNbS8R3QiQY2uoSsZNTGd+FRFhdLQYlyYR9udHhXwBSdhUN4pW2PAkByljlEHF+uQdYUcLRI2uTJRN+F0TzRpn9CR35TkEmdFbcLR7DR2v/GrUgv1TY8fbUTrqjRRoDLXapMzLCiUwR5GZVbUlvVlFMuCOhgdzxq4doX0mfyGZd0RzWmGbQ2yTzlO+voAJY4yxVE4qcnt5iFajRx9cyUthb9oN5Wbgm+cpgbs9JsbA6adBBOUbwMsrIoivPk8injFJFXpeHi7EJvcbeMED7pM9Lw2CQTlbroL7Qx2T7L4LwC9WJSPK5+HTsqZxYvgKjBU3p8Ax3sgbSe7jXF5mm00CYWS+J+TLB6zwY81f8qG9bys0TNjfigi5iT/krwqoQ/f49AsKm1LTZ5Fmk0QTChaODflaqUDdyQzQozKl7cu2LQWuuZw3QHVQ1raWiv61P8zZnep9h7QluiKFfgxlNOUlBsObdfKcj4A0P7Gc+OzrnFkYrparEhHGzm2uQ5GIynOuPJN6xvXnDaiW3eR7kyUEkrKfZjwv861ysvC9ypZhEGZ2U1d2zE4+K1OiwxVuh105j6WXquDjSgIFlgCD/YnkqSsBg5F748ypJjEXHtmE2ti0VBpZqpOAFHh5ysdFlskj+thDf/Ld5TNErilma8hx+JO/WX97jkVsNDzBqqyT/K2FSJsydlgY65Gdpksyy1lO1+dcwQr63ke5/n8/UFQcEcEpnVZRLKXzlac9PnXKtMboU+G7hPW9GgUCvkOG65KHgZH6JA8JqNhHc8Kc8ijgYJt5o0ySwhT+qcxpN63o6fbaLC52iX0/rvOPaffd8mUfXYj+/v7ffP/ns7f+3vn/d9o2bTK5f1r0SkXT9RSkrf4SK5idUfxbbQLJtY3DMcbD2cN4ShHO16Nv8OV+Kkoo18YJhq+8XWBj8yoJzJx9ZJiTqZJXw7rtCupjOHxZYbfrz08fAH8kjUUgSbic6bcaz1iWir9CmvCCqX7PLWUprjIJYPRxFZYFpM+g+oBkWW1MtOI4EvzPGfSZvvHq9FdJXzaQ8i+5hvztuYttv79ve+/9r3X9vzv34eP6/j6/44vnBJft2Oxzh8zilxH7H6fv88Xn+N2kYmPlrX7TktBXfvIZpPxwyOeWkoG3rVH4r7/JWuCiy6oS1YClccEZoeohvGaGv6Lh5nBJAkQtAEGv44j91eRIUizLqJRwlOVDC2eCtjLopYbHmeSn6GEON6meK5h3t5E1SfaKUgMnsAdaSZjbIKGrI+GBoCMk7qIVAjssZHX3gBtMgKJXXtaONe0rPyVmfOJti6iQuXqQCV2d3vT5JIkpnHOSDTlw8dMFtY9Ho87T5ixmIc4Gvv4naw3dzaZNLqYWnrEjE0JwGfTkUWCeTUY6P6ImSRVon6Go66aIQOFChZnYK7K0Mn7/GtT0OvEsFlh0s/DEGLBD9Qf2IvRgWVQJrxpR/5XrFh0bL/dfwl0fZ9l8eH/pMo22GmiCWpqQwfIwIW4XV+9omAM7TUbrIwIghlOJc/hQ0lc9/ZYlagSohL7tYMpp6FjXizyusPbZmyoPAPQSMBUbKQFA88werh5bmArr4/DNb5lJL7eJBJiQoZBao95ZkFDPOsJFVgjCkO3EVXtTzRcgUFP7yrydGKtJFaeaep/kskBOP7N0gaZUmKi9XQX1mF8bMELlSxcrVt3LX1O7jk8pilATJSxrrwJHxbziS2Zjk9irCVrjfW7zS4W5sQlnNJDarqhFIx06JjLRt0zewUBU3aWOQjPChiZ3Dq0sc+xVKAJSfrcsuMandLfeHH3XkEX5QAFjPybEr4XEd8CTnE7B8um1DhhbgxtvITqre3gW2cWEis1QzXko8e7oUKE7vQDNRxmCi0Cv30u8fvsiLnOvDiqMgQoOviIgxCZg8WZi23RYQKEn8NAVc2OAze4xjqsD064l7s0gvkJIzc5ZPuu9UDYM1hdhFdIajYAyySRjfihvuNfQWZp4n8fNH73x/7MarAwt9hzxVXMy+eAH7TpBAk8VVJyCi9CrfQHv7wFA+LX5rHcsxcrMHCItWXixHlyxxbrhd6v6ad2PQwPpIUwDN8vw6rBKVOkrze6HeP6bvjjpINCyy6hGkcGjrXzAtlBlWuQvJxRsflnbNhAvmLMVv8jZw43EXH5yhg77GoB0pTGjNAmV5MuD8Fs4A3KXgcVZNem0tbvbFmIECLXBstpn+AYjh1vANEHdY535bc0EBzUtpGl8ODO1VAE0nWjHK0XubjKYaBpQ2VzR7WRNIUMJ99MWZSJ4ITdGKZ5Y9+ALsV0dln5ICHbrsJlQlBHvf5/F9/HVSkEhY2kDZppQdWtFIwwDzQCe+8jVfLLGPsImza0YCUQvOyLkblY550mWGujAytWHvuw2ER1Tv4m0SgOWLj9yg2DBqdI9hVo2VxkWUcMZT8H81zsUsyUFALgnwtY57bheD7oF3CfHlrUhBzQD11HeQy1N4Afik/9cjiw+JG4ogNBXAqvvCPsAoBdO7TknEQ5pgazGluiV482L9t7x0LYz++t/P39v4+77+Px0ZoTrVlzO8lCvlz2K13lcUHErpOxmZEU1zgVQ36cnlgyTV7Xx8W0wqm66c89//6SSaqvywPa5Tvai2ZOrxKalg2pl+sMZxG/q2jsFLsD3VDevfFS+3ITiKAo13FzeN3kvL1m+j1Yat3mflZzxVKHHn/VsTNuwpXwZ6t4YJNoCx7u3Khs2kZ81IHOD03mG0uh6Ba5ZLGTNcevyiUBCaO9/nrPP+17f/j+Pre3r9/7/98Pffv6bA3Fu/g1vTCeuy319fQzH37GZoakHh9wMT/xoah67ytKm+TstCQQxomU5iahJAQCIkVXAUnUbElmPTz6ZVjT+FDxjKYN8GNVyOfuVPTdvQl4Ioh6jNRtc9z34/HM31h1N/muvhkYM96LnEQgTrJMliMCVV5yIrp4JY/LQ5B/tQq5azTh4CMRvPZtG007Xh8xtGwCefEclRflWfTLWsYPM26DITQwf75ioPQPoRVq6JDcelgw7xjQj9f0+4seKgfUGpL+/wK84h85QvEIjF6MV4os4H6FF0Hn2R4CJi5baEaV9QTWbb5YpSZzEotwj7Oc1p+gDxz8vasqa8KTjW4eEsvjisCPBva3QZ4nzjTUtWTkmNjLZmNUfS0K6tcCFxM/JElFnfjn3ASsXZK0+fK+akXE5Ml6sX7A+NkDw15eNNvJAKiY1cLTTgkNcACRQ1fhlUtQrd6ME4GTh4W0BGu40eA5sP9woYI2k0MGXthyduVBqUpS4DBL/SDt10WbEzq7J2g3j0hI5er8Oaye/lKKY+DfknZaEra7yINmOEq0u9a83SFNARs0McFsV/nXWbcSsD2z4r/ADSfRd+HLXPS40SLPpbwTGuyylsI9DdxyXxHXu/JAzER0EOhIUKcKaVIkdg1BQ6zLK/4ikejNnyWDctUS4GVZKtirENE2KGpzXGJiTk9r0Fi87gSzdaEdBOE5Bhkyw0UN4wSiAZV3XBVryT9u/M4KuafcYbVfAu5LE1/JXV46m7UAf1QKBU6iYE75TpFZq0x1mhuxa9ULaQlKjCU37QKsou81HWGVkrlGbGbsmrQAxR+YbLgMR7FMlMymx7ewAdo+nxEc0ERHUIIdgkceaGmPLCSKCZWoK3ioTE8Xml2RFc90oAlPn1rDL7cYhirevVA/FAX/o0YhOa+xpghKF24u/yenmqI9jPGso60wJbIFeazmahMHmObXsxJLkjsqPLV7ExVmwBZSRK+njSbydcXPrKRCOHoNv1O+LjaAFq2EfCD0uFPoAX/IP/W7U2zaHuskCy7Ohg7lCiQ/lXmsgT5NW3j1OjJiXkFIzbiUKXOySgWjAnLpXmQZ3yhJjUk4/clLkfSjHmnnjiXM62GFiOW1MJWvwmW0sL+/MrYyVeQr9GpZF/BAaFjTaaWNim1SDXESNDGS1bLlRJ/Zumxu+Lwn91V/ISRoabQd+CcxsVGJW/cSOFwI+rIo4XeKckrubkMNTAGBMI6qoysd64LicvBCJ5Ez+P1SXMQlUSN0KdMB7WzURyAF+OdgM+MFrtCnEvdXfzNVxgyOAkJVMOLnOB1PTPhDpqOZEumw59GsAnLdpUrYstz+c2w05BlSs28oHLWY4JB+WKpufwvPECGIq/iHhEFFxSqRnK1GkowPexqiU/vEXnfuFlE3Xn5/ujfFhm2fmgawtqg6/GPY8KdcxXNOMamVc95bPu+78fPtn3v2+/t53vf9vN7twD4fpjIN6BdzcOZmIC93DKFMewZEzygENOVSgukefADh4I/YO0yVqsgrSd8JZTeV7Uq82D/XlyRR8OtmifgL2GJFUZrxCgBUXIjmdw0u1Dt5Bav/MgVlw71ub5Iz/VQ3LJwlZwzOBCdw2+yDNH+Gin0wWple87jVtxV+ScPqP6JsrN48mrItenCu7iPs4jsXguWn18B9qWHRH1MMif8pIzroupJXb79vPe/t+Nf38f/eL3/+Xh//9pf90n/GRFHdGF/H8+vKZR/EW4E4xRxaH23+z5XfFNhEYJAKZPmJl0ImWhf01mqLFytkD40bmMdD/o+/sy4lfg+5SGV1OiwbCy8I5uT4mJY8lhUOyOp0aD0vYRMPlAFxx5LDRoQ153kZNm7uIfAyhnvU/AyOUrigsZMVAjyj3A0RkljqvCcnNFyheet9J6QkZExq6CMjG83TP2P4Ucyc+khPai1RRoIaffKWbMG3+v1GmmAuBRPwjDJmiYlUypfMWvuh6gZ5gT6ZWcQ4LKAa+VqfRJkDmeZwKwZ7B95s5Kv8ksMNfApyquZSyVSi0zTb5UcmscaUyBAouttJKms/Eh+ta3UPAwGKh7rd2AfXsrBVytKBOTVbGpyz2i628GrMMeoeF7OUBGav67Xz9sevU79xkaVUVABjooFFgQbyV0P3CjJRpfwChzE25k843Eui8k1x3b1W1X2CFGUlraU5ATKnJM77UrC1ZZ4LxeMZK0iJMLk60LK7UySIBP45wcRrhBEFpcBOoEnl5GkYNERHUKPcuzDJjZfTFIricYCwRNlhkwyu9aRM969RpqcX4Yi6ZIjBgxnMaRtigINyEFNfKcqDzVIwC6kXDoUIebao3zpIQA/TpyP/UZJi4FR1A3n9xm8fQBq3IjJr0vAPZtQX+y+4sryfQoYkvSZVhI5j8rlYLhrQ4nUIhIVo1bXSlWa2hepMBTvPgZTkU1hQI5+pjOhzi3DBnBKFdtk9GFVDbUJBjl73w1rCmDlOaumJWsEL42yYmCpnQe55xznOhPANpUSoStaEQbneX569kbAGoxSB4tKAWvNaqfr0uTirPvlZplGyKMTJmiPA4/leXjkyXp7cASAMcm4VYhgZr/0CfYLNdj5e3j+qIbJc5YT5du4/FIIKuYUNwL3xZkA68++ybgG9ScuOcearKEAs06W1A/Myi0cHY05KU9OMdCijgkoa7EvDpeWCdGdWuIgeeR8xS/JaQVbp72kxAA7HlEd/GJoYqqiDqGqHFYAsm4CWPijeuPu2eYKQyriKNHap6ImVlLijVNrlJufxEobDCV2jdgd/99KEJr8N1G15pV7Jh8AaJMxZcQ4lEv9jCmLU7AaPWRK3WJ1HelRJ3sY1rcziII/Lkzc+l5gECAhqpM2S64LJUmzau4iWvx5ngjPzVkEVrk9oggmy14G8X20EzZ4Pl5URY2bf28bbWxvm0LhxIZ3pGvOg5I3b2aG7sVx8N/+BURUhuWDP485lwjfoaANV4qQVJoyo9xlYGYfMHRYE5RUOGwjzR3aLY22Z2nNE9W5QSoaZRJbDUYAfW8Rw/vTXiBuUX6ypNyYf7RBNi1Q7K2iLxdnJYonKZq23p4BLnA91t2jbHNu5hgx7DxY5Vj2YtywFuP/pm9c0jsFb0I4pkVE51XpZ4FxNsvy5kBnK8aKJHbIe1ZCiADdTlsdt965o6KMJbxvP9MGevvev//++f69//6eO5Cm//N+fh9vcxsEmlzFJSke1CerB4SZaPouS/jSONikH0Uw+Flua1r2VXAlcFFY1cu5fko9GUKOlWgVtp+MTV6kaIkEU0QHn7OWhEwLYaYPr1KgRaHJCWZJUsTHekIj+bgqQwRQZ9S9+8dPLE8WSScY+INSPPLczQQfZFtBj6w8AC9QzY6FqQugjx810f84mgzvHHnO12eYPr7OVLUv/Js/xUcPkf893/f3/r7/+/v49/P4+3X+t+f71+2YIl24z/O43b/SNP1xmyaCctnna+ifTBqvRmMpzGQGyrTSXZoHmvBB1Ot+u23ED83afD5ecx+40tPugCVjsqnpI7cqDJmkT3F3oMbVILwiFe+nMfwwwpmTEOdaSUjDOx2U3HDE9NeNXIMf83qsr4mUKv4mJQrLGnG2OvDnFFiojBr448XzGjNOIDQSa626ot0CjayWmNWIKk3CKsv05gMXG4cswZ4rpDyNG3Eeo84hJoL7c2zqoUBvdajSfmA6/cWz8X1YE7jkyr1ndSLSzK0LJK4BZRqrKc5p4GBOzikY9Q0gdSoq0L3bmE9DZHJIOJr8ULohgqVqLScIP8crOp6ItK2mH2EYLcviwrz5U3Mgc4VQ5u9BJ37/SNL0iJD4s2ZwzASwhOXCxcOjAjxflS85kpqWKCkrM3qkrJWx+ZXYYwtEGAw6kx2W1rC6+/0ZbYFKscdktiftQIcLAE9ZpR6rKm9lMcyGl17zlzo7gsHLhZQXakB5qukuXrHiEIpaxECILYxWvd8HB1qJjMuU9FjIg1MTV0OuKgDJjxUDgaLe86Qik+TksxQROInR/thpbiQMPwPj2wFcMU/Cr6IAwcvs4jEJh3WNuI3Fj85JjzS4MoWKqriGwJKjitOlwsX8/zaWitjATKZD3gAqrU8iR5YKoVmxmEO1zauBYo6Mvbw0ymE/ROFHEYy/QhSzx2Dyj2SNEtX10OVdKa4ozhZXd0txTpeUerIaxIkEwflCDT7Sf7l0E+FiUskWs4r5ZS3DK9jWM55+6vdQarsEeV8uaOn2hED1tm4ypZvZbyb0QX7x8hKZhODtVTS3Sc/B+F6mUdwqBjrCrNXAZoTY6vhuh3RfrzT+yc0orEhbMbCCw6U/0MQHLx2BUc0mqq7M1txJS4IDETUR/9HgusBj2xhh3q3DoYkbCi3hPKEV+aIGLX9ORI6Z/BxEUzXLAqXUdVTJO9DjABPUqbkYRZVCmP6ANGa5DeHDckt42XFP11gccAveaLFoSc5H5Vl5BvIZ4W0jkAgKJ7HGOFCOomBWSHStDAKWnY/7i5UMXMi88p+CPNHcZqfnR23jgwz0U4Y1JbNquC35JOEApC7vMDMPS5AsyoStWMttOpBf9YZAWUm6PjivAsH0G50saf2npzCOTACRiDfSfOxpK3ZmWFB6AoYobL1C8EavaW8YAqMTitTDG/ekCQDhAlqlc5vszDUln+NEmLNnouO8v16vJ50vqZvSk+Qatvc0pMlFfAg6DGZ0mnlmbHv2nkpmeRiZ3AaESdMikK4SQxWA9GzQRwhH+9d251jHOJ1atTyQxFpOR+Vv+ngrg6yb4LDSK4KXHhMsRQs4uGdYfVQ8dBeVWkjxuJY59FwsHFW3eFmOd9kiuX030tr8McnQs4VIE6HyXBKMDAkBlbKoxD8FIR25Q7qyGdzJ5omlR/TgBp8PfzDcU541wepzm6gvjk7CaSjWoBLB9vftzTU1+/f+8+9t/z72n6kO/vvn+L3f/t7O7+M8JmvAuDzJmMOR5FqSobEVMKMSIuCK9RiOu6TYB6nmaz+B2LL9fBHlWLXneu+SidLpMvymZ251O84wj9c2vJi/83aI9OyIuA2/zHzipP/K84NNUaPX6sJlr033R4zqz2JJfbOryhT6tbM7MjHyXpCmAy45qyTIKN1v4RflMsrQhzTok07axS0eCew6LPradR6wgCxKOYALL6bpBLZUsCDV2/1xvJ/f79u/fh+//nH7+3V7vaf9/v3+/bifz/399f4Cz8eF9dpoy/a4n1si1dhTlp/fSFJFY7/fJlEZRjTXAcSz6RWv4Cgrh3ue0/lzGBce+blteP4BiAd8kIwgQbW4zS27eCN1W+PIdsfpXVSY8CvGAB1GqmdfNFBgKV7UDUrDOUbSWwLLZtdHII6KNQlBdgso9IPVcB0ywuWlhJKCwHoeXA3jgVe9jNiGD+2IG2IQQUfZ0vtLGFDxScKUGTE1xxA5M+h0aQIUH9Gh4c/POfjce9IKpa6tOO9OMT6XAieV5hAxtmjadZ9ro5s6m+Rk5D03x7JZZDP8spN9aLXRftlRs4K9vDOusZCGK/D4VDilSnFZFYHYjFxgGlxNFZXdQ1w9dJcx539Tr96KlyjA0cqALYVLtiozN8Pzkn0sao8e1aP3ESnWuRIerFzjo4ux6L4QPWOFXjyTwS5+lD0r96SOJeosIJasLn7NPQLJ0vpsRJIYZiWERx9vD8twj2pHV2PI8LIIj1ITj5arIloV/bJbRWoiPewdHcYuaPNK1PuckYMGAwNPntOgXbzw4tPcD6x6ZxOWmiwZn8EjUaCxVAKG617F3WVKAkmS1rN1ASQKQDw+LiHKimAQjxxmfshkZnMEg40sVpcECXQI8K/sTZ6u0qNlWswPd+JtzkcCt+SB58k2mJboChMDK8J+daahlc465Wxx7VJVuAd92VS5pLsICefNRhNSyXgxrNDQJkIlu7SEY6kdQbqGL506ARSze92QkCrhLaRvdKiY42oXsoRn4t3k3FxUvTl9SLk1Q0PAC7FDFwgwcNaWsz2PmCuFVSRrtNKgZkmO1bNONmjOsDQW9hVNmUMXQ9gpW7LgE5EdzxFNHWHcc9/zJL/3RAR+DKci44IKFRfTnkP4hvo0tdIQm6ohjCAzdgRXjIqI4YzIf/yKWWkykiwlfdKYIv2xKnvBQKtdtBK8KMZDAP5tsaMFLoanBZqpraK8UVM3nRLjEnvcHBoo8/nj+cpZzEf1JM5ap2fvxhOea5AMfOXMQgH2ObuQKvZyJJG+zOUImNlHpTG8D6lbnatVqd2Iw7KXHsP36lWcYblm432ce1GqWkii4vFMnTeKj6XQc0Tdbaqy54dKlUkeFVqAYWFsFB5FE/TjAcdix0lsgZjJI6NtUIL1AgmniEtpe3tOWahw2PdJAkQZCbKQfoKLhAsM53G4B/5vzkxr0781iXCFa0Pe5vKQGWRKuHU10BtApyXZGcZRARHpaRPSHKgePAZk8AO01bZsd1BVkTb2kpFcbrQiRElzY8rGbGlILZxkqZkhsIab7eZ6hCOlFxaK4UmQAY/eVI/j8ufm0LngSjZERbc6Sxgi/cwXGS/CCduRU04ZttY0mZAazPxIswaPk1E1rvrJfUCtnAo6UlTwi8PEIDS9rYxgyU1pXO4aKQ+d0TyGVj/VTDWdRXuQMNhUAZ60y9v0gXvO+QyMU7bH8cF59zF638dBD31SLtFlJsZyjrTcvn++f23Hz0SAt+9jo1vvz3H7fd6+xzM3hZLCUBbe2BG7VLGXTDgtloUK20asS9Llxe4//1SahH/nJLJ/w01l5mxadt/SwQ7QIaMxqKjF6Z4FB+ChQ4WQsjUv5ySCGZ0wxmjQpkwfa0GZFNSJKJd5R/i4EcOzcCDWH4ax9jh/+jFqiE52O/lH/eg7SyVSdpBXor6V+4qu7fho6q6XHrXW73BBvOBhNQd5ZeT8dUzdZK8ylpVesqwA/ATnMAkS/V77cf/Xdv6fn+MfX194yLj+7r3/4x+P/Thfr+fXf1El8tqZYwhZ4xZ5PdcETPZs5pwHjmPa3oy2t6nDsOEnlQWJFsKV+U7rcNjXwrUkkJi+ocGHdUhtTu6nkN2Febh7YRWlKFDjZw6r0PYQRP0kbrTkNIlVoZuGraQgOJiETuoWTa0ZVwVPR4b5c5p782qxZNLJQXjxlzojm/ElrWZ6aeAEjKhkoe7IdIBU3q49TAhhIrHHvr9ydW1wj0MfybW60F+7qJQ/p13/4/WajVQo6zuewki6lyJCYKfYf5h/I0c8C9x8056DxhjT9pJWF7Qx7p7XCYIJduJQaTQcgnvUbmoCZ4Tv84XsMFbinTRkkJEgKnZUyQyKS9WZML2aJ9HJnHxafuTg1O7ify8tuC+x6FILxST5Sz22qg4+r9ITHiVCsYoq0np8Qudp92CJoCdbIypqtmkChGDnL1LuObSyBwGK9COJRlK5T8AziCqyqtnNxY379GmXGSJvrnt9YmoliK9KBKJeHKr8NmjT9hhzkqNf1Wi6Kgfn11wGZmaLxAiRp2Yhq/MgJEwXyBZ6Fh/flg/yYt1bec2CCIHEP+pB4HsBEmGRA1Ljo2Je479Krrz7giGcSVB44UamCAIYj+KlTB7UUg+Yf8xlGWinJs8dhAwHHJEBeocGq3F8+34Ghn1/8OygVJxcTd/Uva71Ie0IXEE55Q2lDggmzCRtS4y11/4JT7qMUsFYbKk2JmY50CqZuzQk1ytZ6I5K4nL0HMy2cP04DEPFcmkGjtcEZXa1VximbGxrbq0np4n1zgDNLHdGlmaLeRg2gZWiMRuF8tpCeBlDmX1RMvyizPSjiHEJEuhAFbLoJxPSdgsvWEpz/FwX+fHLfoyF48ViJr0FWHa84GiHE7MjLOeALeJTGIj10HM4UMKO5TL4KTwIH2fsuSwPLaJIbyaFUGgZRQIQdOT1/XT0pcaQzGHRoIsS/Qssc7dINgiGu4y5YBjcjXiuVpkMC5WF+g7yq4AdTZpSA6kx4Sb+JOM41WSeT+Ctr3YC4kGC7AVxQof9UB0DiEWhZuFyQXZFbss46vdhmsgYURS0qj2MD95E2fOMMKhPIIeu+AF/NGL4lYxlOZUsSSf9KELaS3FzBUFVGMYzPdfZPBOid1gpOPxk9pNuXsHG8ICgZixUhH3JX5joavSSCVdO9I5QqiuPGw+ljVI4QVp01qgrKSTeavLwHOWYP6KEEL69903TWrESidhM12GIhrtb8rSS5l2GfmsGj994HiebDqQa34epPXHitB5H9MPlMFpmcky0o3L+HNFj/MtPmoIdg49wPcwDJBbhAu64he004m1lwop4YJTmHIMSnlRDWWxe3DV9bH04I65LuafbDT10BKoPrSF0tUnmOraUkDYVh0Rr2rI4SA3aMZ1MjTr6cwkdVvD19TV5aGgCjCBrzUUvzjISD+edb0eBwkN/7ofZAHdK+Cwbm37U+2ROv7dz//0+fs7j5739nN/f+6+f49d+/tpvP+MnwdJQGKf9xvAYDDUo6+Lhy+7LEVc2gdruWt4QEyGIH2T1xXILccuB/BHc4Yaejqiy5LnDFfuBX07a6SoWi16LSmROLrx/9tnCOxqxj7HSTsd2/dpolHOGw3XgsLWwvYqS2ElhkuF6S3mOgiWmhlcu2GbRkGCClOqg10h1KF0b7PRJE7AcZn7qmmHyxDYziy80iyrgvGwQJV6WuB5BZ30OH3u/aGq1nbf/9f0zOtlf01btuN/3ie0+/nGef425y70UL/gEN+Z46Y3G0fP+TExyVj4m6zG5KhUGc0crrPf5OukkZ9s/GMs27k660YybbMYVZcx78bZwqTL3jq0d98YbEisKQhOzPVv1qOz3Iyn6ErsRLOKDZ8sfxuvmEfspROTC+Dl03HyampGQCbCvly7KqiG6jidKF/ZyPSNpK/U2EDwt91NCa04NaHLpUOzMFfmLPVlwEETjLZMkEbKeubQyDRR1iWptjx8BHz4WWG4y13xPVXw30Dym4TDEJwzsYy1wtbxFKKz/yuuQoNeCx+O372c6j+gvgEpt2WVLP/G2tZ0rnOCapd917ko/eLDXfkzIhksl7DypFobgC4tSIRnxFCvAXhveatA404VDHy0qlyshrZvUettbK+y+UP5go4tXSuo5zEhEa1+663C/oGredZSPShD2uRQUPlBEruvoM4vAzxuiOBgkI2GyUIZ81A8ZVwd3l8Ts8jjRLKERo5SMPOpxgkDxdZI1GEkiTBYz4kQSF2E8/OAuo2JIumZE+Z4k5joXVUnf2WxIO0wZXsAGsqzPRISaFShpj+WL6/GoCYr9vX7C35p09XFolSHEtx3fmbELHMg1p1eFkhhu1zdlWBkIN1bWxiT5b0XUGi8sUQRT7mMA6xvSMPYkB8GOSdCNlv/nT4bx1ANWfYi4plymt4y6KDksq82nsSRdqNBosPSKteIn0womNCE+kCQXYhBBLozFlm1LgIuPzjdJHrY3kL9e0n5GmywO7wxQ6113iAQJ2pApdhQ4yfIxxtroVTsB7zIMBSaoSJeW1AiCbgyCBxEn4qfccjcBH38tC73wK70MI1r6cqjcgWR8Kxm3zts4sQRSnCKh1WuM++ujeitSL0ec0PBt/FvZw4XUid3PL83hMzALYr3vcwM8bOzzrkuleNpOyHZTuxJzCGbhOmuq5djdng625Re3FDoriXSF4y7FTjJXnIBfKWGSCONxDPbM6UwUlQW0lVQOAnugyR9BReK2M4YO4+crTYLnGkFygDXRxwEcWpSmRi4mkB6ITYgY03FmbqtG8CKGJf/G8nh6/wQ8R5y3groVVuE/UmjKStPkDAcQH7TZdcSIOKRPVj802I8vgAMlTgcvmALp9FHBnl2gIEWVHISG/l3jiocvLjxDKlbFefN/YJGT1Cwtl/EUfSIp5sQJPrN+mmaJPWEBCmISveIQ5bSbuRa8UlNaHHjYxiTvYX9tae/xGhZB3vfi7qopxCH19FE+zI1cCjuZe70lNESfbqWTgWNiBY0uVJIny3kerrMxqRORAA1oD+hkVq0ToveAgV+pUqHLtDYdEHQ875VDHDGcDr57pvo6lX4qREaLJ34iKJO0L/uyzYDBgjQbJ9cVmOoyL6OX+49XWes35zIDZkeDc8dYr/YeN6QwAnGCvOf4oSYfiTbhPD450dt+nHP14rZNO93t97H/nPvP+fv39ns//r0d/9rPf+3Hv4/Hr/O2zz4oSa9RlKOXr2aR8svIpkv0FUsiXfNnsUuK4XhVP5RossFyMUnXZ+Pik74utUyvXKfwwzKrUpSrVXoHp+Y32JfLdV8+teg+a3V0f7rKbLVcu3x1Mf2PV6qFhMmsd6uvZLhqHZdWII24/KtA5XKe8yuJq6ukOGFJcelaBr8nSIXkjdEjG4k64D4i3FNoqeYaTVSmbY6VVmAFXBdVKuJejFhrFDk89sf9X+/z+PVrO5+/ttvP8f5///k8zsd+vLfH8Y/teI1b6eaFJmPhPJ/nKA9IiudLcZQ8mzu3xE3920z39XyTLTPvvr7gvQ9FzESTJtPnoMbyfN5u+7T+T/4WN/ABpnjrsq+WqiXQmrP50G3iH3TviBFBNouLVSCzy2hhksYJxcQCDdehlZ+KK2VGzvC828G9z8PU44PGC0y1l5mZFAehRc8gBIVgWR/VQfpJ5WaRAS1flJhUEgb+Ftp4cXFIss1opL7cnmjj5Vy37N5ST9vfqbiB8d4etKgcEWT49+vrC9ApaKPWq9+n5YeIq5VucTbK0fMx1W2z+WF7hG2wDyfZDNZ77tsYutAz/SMUMQOxGQSRT5h9/CqkxJRcqgYIr8hL3o1TQCThygZx31rI3EvHhVYo4dULs4NLA3HHRpdEb+vI9N4me3l+IuApVKE4Vu0LCKh1+D3TIPbGS96CtsYMEtwCE2bLPur9Ouw4Skulk9gQdFF5Ipcg+vDMf5i5tkhGxgkt9DyD5Xz8kUXFZR2dzp5kcpOqc1U/Iwx7CON0luHv+HlzYfIHU0o2NQ3Y82kYsW5xD9eJstXSKYpVWZjQpAFYmaF9ZJaf1zsIzTksu1fGqQ9Yct69J+teMs/Kam6IaAq69av/AAtLt6WDpHgAwDImeLeSg/q4UqEC1LBWJUcFop6JANmFiudpiuQs8w9q90jy51eU5xn3BbAcl3UIyywpaKl9sLZgNuzHxi5VQFh/7Fgq7PPVqYP9ADusJxV3BaL6gBDk0jyRqU4IZV6XHA9BBnQKXYb329PGeqpz8Tc4BOr5mlQBEYV8nQ2krlaNdy1pJGxKxJOhkCVrB79ZhXHz27GPcpamddKEb7I95ir6GHv3YoR5IkuN4nv9hHsTLJId14USLP10jWMb58gDeJ+KS2JpfZ6Zo1epMskZuCUi6LlGy9FXD1xrxzZTN8sJhejasUNBXAmdsdry/BNQc/unh4FpYXYc1KgwXaPHZNXxKQBXKU4J2e5/oWXxyt0Hdx0QzLlMJblYTbJIV1y/1qsM2k5sU7CaxysFprWKylk4lda7sKWOFC8THFMrK0FQ4eW6c4eTDf2PY49HZmmnURom6ouqsPwTnM2HWu5+rbHMNmMTurR5I0nyWhvRY+kUTUzPtWEdc74rOGAyAgzaguo4YLCnOItYhnrTOEJwnoMYI9Oyq1mEpxz50daPvqpZRVoyroHFhDy5coCBqt0pvA3IrXv0cbpTWKqikHMmNy9FI95WbewhYnYUOYIpcSsQmZ0zUGJJzbRIPAxOhCeJioahjN7nUq5BjOlQZTO2OM7P19drMtC3Lapb7Bay40IqUfHkE2gnSVcJ9bpVs8QDnzmp58v06rJi2Y/t1V0/h0qSTTKhUfCu7IwUICbhQuEqzsztbmRoWiGMB+VOA9gG2HOapIGQiRPE+fn+cVumr09bAXTzqe4dTcvY7yyVXqzDU2bS47yf+3tyEW/nZgP9SRTcJgQ82dLb/Ovcv9/7z7n9HN8/59/n++/j9vfx/vW+/3qf+4RuVA/rRVrMrpQSusfqCcxCOOEakvRiyH5b+e1HMO3QUn3vfTqyBfuijJqJkvcS6cUKiuidZ37WzDmW0ElNvmUIusqLuYdr5Bs/jiO33PxjWDDhc/qPMXjqY09dU2x4n4tiqq8skSw17I6xgI0injerg1WKQ9eVIt0aK/twMnyQXejEr+Rv83HLJDKDxx1lW46a+6WdWdDJwWTc3je3OqdrEn3zzf77++/H+XN7/Ly/vo/Xfz+Ofz7e/9hvfz3PL66Gv9NkaDjQMDxqrXEDwoq5cWdqK5hwJMXz/Zj0/pnheTu2mfP5moEmR2dyfGaHr7mO6Da9mlR+mUa/oq0zVgWjqp/uvuQqCxuDgDaf45O0BGK36WeZzZLrm/4j8/TqQFE0Vz3Pz/LeaKBOl4coNrNI7zPw6HSleijopkaS79O6AjXfDBYqobT6ZGbKwSwhwjmLiNqm2EHfwAtpjVLiEMG9doyKkLZXhjTuGHP5kywW7hSv9JKJo/soxE0BtZPgGO9Iw1hRJsG5QiFW+cvKycqqDByoaBX7KmEDYzmP13P6PYbE+H91Fs+X3leEc8PPGmPkYT7K8SrI6JeQtaSROnvWdz2vXO8Z6Q2WRfYBV7WAZXsUtdhaUnCrVZGdGIWJdmzx1l36mG+FqPl4pWFfQZTGYOui4CrsKMma0robL+mfvRGUAdlgyz1zziRxNTuG9UfNzwEK9NmPVRKL9+iGlCHlIAVzzfVYVak40pxQJQwwzdZkpLKpvBJoRHEan1eq+2RM5komZV0Ga2ubMuJIEK2amh3LCqlSVMq92OhyNV6c0iNK8lBhGpB4yjq/miCZvYObfkcydXSTqOd1t/HbLGFy5/Chm2GWqyLwLk3nnAc51nwua1IrC9VKFfw/GSfDcnlQtEQAwcZpzAYoPNbpiRr4FyJrf7gli6LBoHkg+pzB3tlfQnNaFKpKHrfPeORV+jVUdFPMf9q04+dbmRvALpkJJtOyxpy6KwSDncLlLRTX3CUrJdUdxYl5fjUmzdbIlfVV3ahzWb3mykKjMKzpAimBFvqrlHWcST0DZzSaL72UYrLCDmk6CjYsBM1lQW6qJ7oy+NXA5XmDS4ZKGaj3zcoWGtZYAF6WeiiWLxNLjKAKRHNGeIi1z0Ri1HzDX/hBy1lCKiS0JBiHc84I+YrBAmWToeBMuPkJHMU3agwSGd1Uauk/prXJk2wcL9AKhL5PElMn9uWhiFYzBE6g0rIyKYjyqdxR7q6MDgmsjpcwvFh3FnEhF9tnezX51TE1sa7F42btVHrkTGZV2C0mrzzRpTiqRNuI/j0JkIUMhV3SXUs1C+ZJFvCxoFYGH5Kxa11cCfPduJYxwGYinwG9QEGNrlhfnL5kMa+m9SU+HGR9+YN6FTOafPB6VYUoHtJROZJ3P/ZFZWJ4OBDMeEhyej9QjzAAGTOPhMDZyNy8F4zTjRuVOf3VtbIpnulJcStP+V9dv3CD4/2Y7lgW2kQKkpUw+7fFG8tPJpjbUFbNkCP+H+o6oohd9aaQmt3F8TrGmx5WmRuNuGiifqTTgs6cOcJjdzVvtOFZKFlRc1/o7EfvCZ5imZxtQgocTiD9GcMMte2Nm0abyOfxF9Hni5h8mkr0QNHeuAixzWbncnhum1QLZHmOGgDaZWQK0Q9qHcehHdT2AuFhtk96DYRJ79vmndXVLqh3w9vm9hEG2NVTED6XGz3ej/dB+BcuAZceL+Gxv3/2fTuO7Ty2UZzvPz/nsc8FwH8f73/v5//Zzn+dt3+d79+320bXrNsUJ4t7E0C4IgRXPLhiPIyzkmWIU19JyC07uP4d4ITmUB78tCx/Yf3FPut35p3kl/pEnqu+FsJyqg9p7CPOEasuM3r4y6X7MS2bssVhb3rpbDV8wh1UclbVTWDlCGFHYUw6TDF4gNWHCc30nx6F6/MFzozpj1RZr6L0vnDbJ3xJDtojUirXjcCbOZsIwDB5hIXrLmxZXVUql9Vs7LiyJ1snDWltFjUwGVfM937+/Hr/e3//6+f9//zj9l/P9z+et/96Pf7xGtVqckUedDEdiY1wrG9/onf38zkJ0nODz/1x//p6nvf3z3uHTs/787i/Hvfn/voaC4i8kfvrrye9nHOj75sIcXYOe/+wKlAjzOuJAOSk08Fw2N1UJtcXphiSKfv+1OJSTjd6GGj0MqjNC+XzWpLpCzBQ7UXDSvk1WtGXt9LZCDos3vN/A8vT/GOlSedC4OfcVBCX7MSElYwQXfsqNblJE0mGPNOSazO/0MfBadPy0UVm/uUrBKARIEwhiEGlOQjsP8J0FKuQwDfVudIxS0xc5Mp6gL+pgis5LZNJJAPrFU4OyU8qk20UlEJUx5iAzblfNy8gTXCGlLAlzliAizUsVTbmiu4GZPq6h5LTA0GXHzPA6Nk5p1c3+QocU48Jo44fGUHGJRkzJj0alk+pGqEzD2gVf8t+XJJiCWiUhOYDTEMTl/uBNFpmYSlrvyhXOdCgoQ8172CeT1gxIb2Z3NjgypMqPqRUKi3HIn/Luj1ssoIBPbqo3r1VclKXr4aGBlJzA8yVGP1EMJepR7JAXKEY4CwZZFeqnN724rVgKd29mCFUkPtomv4pToyRdYFIqZ3YYUyYIFKxNnx2PrM1eOwImYuq5MdZBCdj1DqTbixYDJBdrqiYtfEJ+BFVifYiSXl/qpKXzM5lE0H7qGyccrqlBA3fc8NHrrqpk+J9e/kWS6V0cIGs/yj+AxPlUHUCX/NMKp9iROWZYqrnRCyIX2XGwe+FywVY+Zq0omYfwLqtkHe5i4uuL0THSWRhsy6zDRP2ugOwnzlyIKt6xEJKw2Jwt7EcNKRtVZcFx92NZaAXM9svSKMOeSfLwuwyJHwRaqaFVRIVAuc+O3+Zi+C/41MzXJPBuotOUEyMInbF7QP3ejc/UwvEYny3BGJ631Tvp0/dQphrGO54QPC/oQFrs8bf3KT6SOAmq8TsmopHTiktIkkYS+LuQolFRn4Q3EqhJNavYfZ0gOD76EyFZ05cPhb4BO0ySXK1AvCUSmuOSlH2MIsp7z+m2/Do065nxRFkDjOEFx6GkK0YBT3EMF4aspwmoB5kItaYW/M1NyR54Ghd6zoKJHJXkhVL5PNPkqBQ2HRR1X7WU5ydfXQxUv9TPmU66SlUjjtjFBWZYVQIxb+40EJfPZHvXAucBlR60MenLhNH4upDe5LI9CCXvr3BTCPVkoC+EaX0mVykLsft+mUBqZt9Hztdmj24Yrs8O27Iwe4wxUm20Sk+B0RXKnGPtSCo6MsVlki8MrKDJmocw8SWAVhuYhsGrwFP0alYkUxyMXLq+lCLwSTUHLpxsGYS7yJr3G8yDnQYWVWHVo0str1DkFJVbRGL1BIDQNYkmwsNKQxMcnPfkS6399MLPPDk+U6VRcKXiDQorTZPOs83xz3MmEoAVP/THtHSwzENm1O+6H0ZE8pN3OPcdi76SzHw9jNdhQZsuBu88HdOgje24/i1fe9j+d62n/t+3H+28/dx+98/5//6Of73cf7rOL9vFE9qbY6GR/ocuxdqLUiuPIiMDxOTicoxwo3DNvLlxZlER1l9PipHEXfX45LQH+OwpgpeXwjxLyG6hliPll7zbUQPm1hLWsvoCIuChMMS31GpijySf6Y0ydV56u6RtZpmUJTyiWsfCyH7eeERIZ5H++fS2/Jov64YybAydClfGRuzuKrdOsk1qj+OEg624NpTgtVBp/S1oxpSbTCQhOIAnq2ZttvrOG7b7fFz3v7e3//1ev/zef7z+f7n8/l1m8ph8G6KCxzkcSe/9H5OPvX99vp6zN1J9+meRYrKULd22vNrDNDbtIRDTcDJaIXIjZ59OsutO8l5w+NxVaoiho9yZNU/ilCXs7VAC8jKpVRpJO3VJfGDn0g4YkXiybBq64M4Q/tLw8Z5ifPLcfU8dKYmdzcISFIvJ0xtc4Rd0riWzoOtBWiIpD0mZwReKk+VulciElMojGIeh4VKkXoSKVCaAu4R3QJxbgzixsoLEYETAuMx3O1BnzMhnFC2BSS4DoAUatIUr+rjjpIfj7J2I78vnTNFK2Noh8RCKap4QW35OUxZWEovTXpaVMcFhwgXxOAteVJhgBKEzw4Szk0F4QlV+INL/pnOygyfG5HweekUh4ZoLIbO8+bqY6goPs4MlMShhQetRGDBYqmE6sKyHq4hFEccxtWpeHxW1YWFNQ7RZrSRTLMLcdFnREo93sgp4yQrpuKAa8YsOQQFKCaJNb8nq1GzwxuPmhAOJTj6h6Gkxo+eEcpSNAjtZHuFUasArMZD4pLUNeLQdYsI1LEjxULwIkX67AWPoOeqdrPRaWfQyGcOIVteH61cDrGYPgVZTWCzSB0kDlkLQL80mU7noycbSy1coj+awqtNRaweTZYE0nrUTgiq0a6n6BohgfNIZ5mLMvX4VXivmVPKLquJxa+tVDUQJIP7hAJLSxcDdaOeX11xs0tvtIlqK03mSttrDQkUUx7x4Y6a20q1GDkCdU3Wo5+g6X9RjQdoScYLZBQT2kizvjKV5fgz5htTJ8IVXGpffxVoWYCpx2btwl8qOFIvf3mwQNCcu1MDUWHbHgkTCxFti8DiOs+aGxNKgI0adxVovuMmemevIA9TCCL5WalFh0ZGkKMsYI5410diDIqGCA6qThx8bziklCk9+uv0PAzndLvCRp+D1N1lVzfTzTmONPV75Zx8dolw91j+F4E5bsZU+9SOj7AZIcQBmnVo54B6oaDYdv9YBVApCWhMfuGASC4eD+s2MZ4ybzUR5ZBSOUkg8hdtb+80B8kx8sOVdHXPlp9o/2QohGeDQPt0A2rylWlIXN4rlmBHVgU0JIJudMx1lOUxXXtQ0IHoJCnVR6rOlzgRjWWVKWIHYqqobyRBCe/Gg7764rTy1XPkfVy/U8ZcKS7wY/cLnyXh1N0ipKFGJaJZx2Mqxz+sZpM8jrqiTX1JKCMYXrarBOLCw9vJHZu57aBoJx6Wg4UV2wwnHQXLoMJPpnkC/oWIfIu+wLDHlE65R1fFVT3TwEYuaVtmk2J22kn7K49ZZu76g23hp7O1w6Bx/NCDgOZBGfMXFDnPUJnoPAGK2RJuBvNHDGzPz77vfMNZH1d5t4552mnnV7BivuNGPTr3ps9pcCpjstwAzfxDsIfEEA7wzeXD1PlOsiJ+h3MnwDtm8HlsGxbp+9iow9htoDWx8fft8Xv7npDOvPR4H7ftPKbf87F9H+/teB635+9tLj363z/v/7Wd/3pPIvT5mhDb4/k8kkui9oZcrZuUleuBgNfF+RCkXsRfhucPDDNu+upXGS2Ggs94oh/Kk7igBsyjYcYXt47aJZ/uvBGxKqzm430oZK6WZVUgzMxwbOh+kUaQKg+o6XaWaNM+G5s3ZHUtMDw5VkOXvoCzlpRhA8/aoR2qNlgxljeiqIU7RnSWXeftSFOf6k8kocfZ8YR+KWL+b5M2jjMz+ZKkRW8e39PBavdMSDzGxmTly03VgXh+LKHf2/uv4/jH/Xzdbl+P44sKf5oOv//6+rKJ9pN05r+m9PB4Pm6v/T3J0rR0+gdXUj7u96+vYTwvsqgeX8/zPQ9Nu3803+mFYMrVsFVqIryimw3NzfKTbZQTJsUpSmRCSfAHLdXh3etEEFPreHNiutyiGybJSBxo6kuAbzSv0Sr70KqmBvFmnPYjTPYm1wFIOpDdPNP2LWnqcY6/YCAMI/DsfH0Oih4rhF5haxPQxhK+Pe/ncTvOuXleEyK4kXYZJPnNpDEMCcBGxw3xpVFfhCVk85gu9ODj+R4f6xybtU7Q/tSEAEjaUyseEZA7dzSsStfqr8YHJw2ATJfgcwRKAiYz+J6sLsVTitEg5+qeszULSHJhBMWpyUGjyXPkuH2MwwcEdI96MZ803FlsPTCnTSa31BCW5qApUYkix+m5A2KkabQA8zF5kLykuZLaeLgptYs1aWgofdXn54BojbEUFjlOWA+25MC8Smjwsk8q0EUmbYKFijIGJxadTGFIKkK0SsRX5ZcBl+EAYuDFj/Vn8W8UTajzYtmztSZNmTxoXW7+C5fCaTJU3KjEeF06RXhdkhML5LRwtyxcw8Qbe6gqXL4ndjJxlIgjC7TN2i8fVvigEuigabWh24L7FTJ1RRXMMlpJCUEOzwQZLmm51EgXH3yrHZA+o4YhavPItMl+IDZgW+gAw5yIq28ZmRE6wrIn29Ag4YNAuqVyTwdzuzhbMoyTRs17RozlZmFEl7yEzTCU5Ky6M5PTkz9cuSVarxLq4BzrCNHU4SLnNUIWaM5b5mYZzJuh466olNXrJVOL5AwbhUbqB7JINm0GAm/ez9Fnp56rzWA8MyWIjqLwYE6FVO1JqoHn2h9ZUzr6evUJ+IpncKUHa4nhFnof6YNhVcTaFIjo+rWrRlY2l4Osp0bR109f96Rb47eOrV/JPasYs7lsyoMJNoHEUZAlf5kbyFHMx/zWoPrzx4bDykt7gDVrkRwfosrCNjKPaTTqykrBh1ygMyBRaCGDsuSuHNamZ0ZpIs0yRgKYiX+DokIhyT/RYqIIFtN9WycIkHpME/bhSCtte5JGcpRSDAxIep1A1qrWGOfxrJuoIFKdWGgKaYqHRHdZcHmWyqLXYFgLWvXGSPW4+kwj4TnOxctopcDgNmKVsZUu7nqkZlTAHB88K8ExM31HruScqOkdeyM8Qy9M8JNzxZ6Mz4jgZfCF4dOmS5JMHsGEgqcFFJuft2VeUSTS/mv+nV7MINq+m9n2vr9enn4U+vzoqnC7RCw5TuOxnrEFct48kan0MQN8dbRy6kE+AywCfnyr5TgBLiyZ6oNwzSRShbGK174skg1k7PIPNNIxS65ofZuPHW4cdSoF/o5Yh4sNGcLV47WpZ3kUtzBFz6Eq7/yk3gmj9cUdLua5nbc58fukyYOBhr1U6+IdjIFWvhTnI8vQbRj0MAPxA6J6USgh5P+c6bDZk+am5EBz9/LcoHWOFDnOcwp69wHFPjbv/jM6YNoUPp4/+/GzzbcTJD5v+/v9e99/b2MA/54eWvdf++3fx+1/b8e/z/fv+32fy5Ml/xB7hUB88mwlPCCSqmrwxT9LrqJsDlkL+lOarIcv6b8+UyQXibQ5L3aaGPwnG4rqsZA8JBsduqmmH9NkzSolISPFsZxn8YYM6s6VEjKkS8AqfZhAiPCn4/lEJEkKDsvKRX3XaJBNZMye1oALQv0osvMPAupK6xfuNq9j+fhXeHlOxh/QsxDsNntZXV/r4jzwSnCpKiJxzTQ7dX0I/cfIBd6YyvTzeO6jXH5xB8dz6nVR/adz3q4z+XW/fz1fX8/7X6M7nF/bGMmv55hkX8/363H/ej7+i2yv1/F+Tc7xOMkSIUCVHanznJtbHq9YPx6i/AnxhgcbuRUbi7xnc37tCIbL1QY8crgRtEku9VzdLsUX6j5mg5cTXMl06VbnPXDzGqaLVg1Xxo0GpfYJB4mDcCkgbXYj6mQSKkVQAMxKSnawfY8TlJ/YerrRvr6+Zss/WypxVUfhjyShpK7YDGhMQ44YK11KcHLk/n2f+8bTRydSAQGlWNPAEwenDf1xPF6UcavqDP+yGiD3zyti6GsgQduXSCvURpVFVvMzfYPZ43GQbYXtzL4MZOkANfZaCEqo6EXwqgok58AlHYt0FW3CH9L1QyybQ5gLAqVEeVEcEGAq9GofyCgd0StRMld2tCNTEGTqULKNmpiqEmdNijP7YaCxOGGVpUo7ZjItgiIpX6p5KRiWipywpxlqcCKtwfV92VCV0TLMwtO0YRMJXVNw1PUF8DGTjzl4Ew3EkqgQQOnYp+cWD4+6a0COwSdIU4QEHd3T4qRFAzUMHwhi1POkL8u3WVKkR4/FFlbhZsHLxSbDPIM+GLOuzYirsfxoR5+SzWXyGAW9QzfzpbHRcGr5iWgk72ClbSyS0VA8Mpm7m1e9SoZZgzPo4YlVzOXovcaVqbylQue67WOj4cPCEpRS0AYAdIHOmpJqT/orwIsJ4VIyQRyKFIPciR6Ext1Lr1qqm6oeBCkBnmIxW348cvr3xl+owCtSXdQrt+W/ogjbiN3eA3E1xPvyUZGsk0anjSeA4YL3dtXzIuJpXeMxsPTKlqqerjH4AXiu5j1BLhE14rJMrJyo8AI2qvm77XnMouHBOVuDRbaEjZVTFhEZApzFrXq1jFt2rnzuUWhYfpys0m91b2FsvMtB2nqFTVtd1fNrg0u7kdeEU3heCk+AzfNh4FekqMOM9CU4MwKeXako+21Yckz0uG2DIWNN0WM5BC3OuSCR0Eu149qMLsM3OmF1RuJ0MM5gCKwKUHYWQTLc3ABsqju49rZH/3hzzaOJvqzGuguP2wzY93u/nZM0RVp1C3fpeZikjtiT/TH9lSclaF1P0p2qx4rhxCyM8NNkMQ8pzjPaSoe3GoRzY+EUcLnk4rrvxCrB0KbdSJX76CLLJiyn9kx0eNQAqwNIGTpmVsV8DPPEYzVLdTnhgikHjdNRwkT7gSOBABMeZ3T/NAONQN/9SUYAfJl9eY4CHEOdw0qAZ+7dFYcJropgVY4TQ4eIW5CjHzQnr4MyjJjHWLYx7UhQIKqrUiMfzVSSmFzwyJz5H7J9DFn5bW50iHWqt9WbQNktFYqc7Ly2Y+XO3VavF1Hm8RzEGZyzG5w07VnZwMnVxzovTdcdcG++26dxV5SkVcKwg9irgTM9UfE2YX/nLncYpWdn+Yss1JzGKd7l9hhCFka/Oc59n4DuvlsIsO/bebz3fRSYbXT611ztS070NvHh234e3+f562f7fb5/3o/vYzJR/749/n3efh73H332bE2VA+9GijkvBTHJRH546QMLYrBjKQUvQ3sYLlkVPsEI4nawR1Ur9CGFMHLFsApJV7IYddhldJXoeC7NMzf/05V2IVmGEruv8Q7aKuN9LDQ7LOlGV5CJr9ShfO2DcVMhDmorL3nXwir5Xblmaq6ucRTjax0VL2Gwbmn9yND6tv9GMIZ7ZAHZhUCIbIvKITxsDRXfu/ygWrgsNA6mlRIgB1WIjSnr9hNb0MGdjc1o79tto/mF0tdy1cmQdhHn+zF31g7beI7Svn3h3Xzeb6/H7WtMuttfz+c/nsfrcf9vX8//cd7+etxf2+Of/3j+dXt8vR/bz/DR5/vx9fWcNXKL7JuQJBHqwUisXo+Q/1gNev+0F1jeLnyVOpQC8YjjFF0LD2ArX9Dn3a1YJGIAaqA3adsgJPq96sFxbtER7ds1a6MBWIpKDC9G08sBIaQUpFBBs1HnDkhvxNUQTuzBxsv3+31DccGGSl/DSAgO9jgmzK6+xy4UWDpJe+6w2SIs2jPiw4KjBymSqddF7NLyIDa/os3eECECcCwFomxZlXItIDOVoqxAtpk1JlM4LbTmDQgApNQfsogcC8krPWVu6mMIVUR8tEEi4bYXpq7K1+PbWBKACaKwkLs7H8aNH8neUGoWP2UyOlXnQ5i/36EIJkdd575tqxeJObOKK6mh4Zzi4QcHlkXGUcI+URjCO8iZ46LpXuAiZ9CeCkWGqSzXXbiL7gw7IcMcok9FgS3jq14dNhv91qP3blJ1VuLkMsYccHm/jCwG3IdHTsuI8Lo0qZBOMNTEPtUms4bVpEueJnOxBDOoQWczckwGkz2CuPH2FwFJ36u9kOMsaslLVarkcwHC4tci6GKwSwbE8MvJVRSqW7I+zfXksmK7umljV8RmGjBhD+YLr6ieKrRZmazW6hv99RCn08Z2w09yiZbsqMYzhHebLtDduVsPr6fEgUTdWhepCWlqqORBunUAHXU2uJYStajXoe01T04rwJZFuSJnzzfsIc1aOKYoFU2wEVIJPmcfa2+Zr4ZAZWt4RoRh+ZT6auRhPCfxV6A6r4Odr2WfjA80728cAqJ1eVO5sFtlaRjZPXUyqBKgDBASVOkoTBsGZUhTtSOaRCgtk8b6G8jZRV2DoFDL6sVpaSMrZnTxRpIPhRQZqtozX9mJCTYJIWRkpR0khybU+NX00biOBqWIB1wWtNE3w6pIIrG8Vjq3BSYnVVYuL07FQg7WrHYyPgiWd71VkghsYw0E/662Tm5Yaal+XCd3lPerDkcimLQ1DQlhhpsaHkNrARUH/SlMLnqTbBE9wxPQuW1Kr4uxR4IYmwNhIwiRqsitI9KM94AWEedMG+se5MGY4b+Rf4VxsgFdc4iOM9IwnJ+pw6QHiZ6OziYu64Dlivmp45S0wp1Z04trh4pR2ANEaMW11c8gBQWT1CQGccOW5qKcixQqcSB9hrlj82mzKM5YL69d391TTeWB5XFMyxmfjWRjhy6P/sxwNkP9umchsKwNvmx2U/jOuO0gDiLYnpEXSJRfpBiqOUt+1huuxEhlQapB3Od8ofAQq8U9X9+pRuNKSYpoetz4C6rTRaG8vXdqaxk7tO6k62bLsAa5QfZrtqGO+SDYIArykosTPV/s0/l54r+o+eSoeMHjCiEipN6A3BxUnArec9pVTWvnffpdnWNpjzqyH8c26yZCdez7fh9bd9+P2xi97/33cX6/77+24+c49+P4ve3f5/vXtn2Pb+mx3e777fnzuH3fHsfoFaC6OyMdIc7jqKTEz2KVlbVGmQnV5bfyz3rFrjqQoEm/rfmarz60hHLg5b8J2oYN1tBtpEc6aFVgXo8edgkFn+uM5UW8Kkf/XKDcQN2s+LD20HckEf9UTvGVI+XPapRddNB5icB+ci07QHOB2TbL7HM+kAPKOMFWmcnaaYGGcoKvagHQ4T3OQqWw/jgS3b1RTsyPXQrTx3HkJ7fd1x0a3uWOswEy7pIVNxUuAqODBCcmAcos6GH6dAKYVsNPWiD84/n6x+v5j8f9v70e//Nn+59fX//19TppOXn+RT4K7Qu3r/nshuE7jO/r/fyaSSYhd7Krh23iPBpbdFrioy/afyu826bvg1crN0QIk2BSjzDyJpdGk42ilcvOl+cOGOggRVtMEgtIkWzP6QwPXC+AIoimZNfQBWDzV7rqc7pjR5ilqRxed7FAuRceqA3OPnplJgyKgDbSJK2YsMfVkpkxuLYwOnE98lcECUiUAHrVmmJZf08CKo/O1keLmXrgqHhjWvlywy0SvwaMhsliLq6D8xLKaD7sIjW3cmoUhv+Prz/BkhxJsmxBmdQ8IjOr+vf+V/krY3AzlaEPvXsfAeZZpyXC1VQhAIOZmOaJmQ3Qzp1xxkssCXGEvjBQ8xgCbPYBbYvoT8xRtZG6DTb/mfnMt9R5AcmD9ivJ1OK6lDhG0ZdYtTRooq7ZDJKbO7m8hvwlq5rkvk0koV6EbYjixBBNSjx4T7n3wX32qXIJE0PcZW9wAcj3KBirl+vLECZwyaBBe6iqhbHY6nvVB9xHhIY8HtTH6ZB20JqFwEIAbjCjzaI1j1t1IrXJd7BKgNt4w/DroOapV2iRs0BNswXCTqsGlHz5iM3mB8avW7Q4AlmfQJFfodqVImIak4j3oxvqDoYk8mXirGJhVkrgAboWOddh5xkiDb6VQhe9wuShEWVv5//J6Zpl6En0j/oL0dKKyfOuJTmI9W1tgA92kB1pMU0UZKJ8XdspsA1M2jAOPIuin5MAIt5EvgJOMWTKLmS3q+KF45gMMHJeQLDd4KGPHrfCbUG51q3pM0NOB/S5a5fFHiGUkrE4f70sBCCwU5aT7fXB/IkGH1SKWJD7nJQkXe/o5SK3unxJ3b0QArUZN4gRnqzbok8AKHWvpZL8HiXeDIdlIqQA7X7Gxo9hyA1SiLsqPCTB8aeq3gi3ZtfzomwmZdE6wBZTkCY9US36M+IomHabbRWSono671kbqwAY/vucNhBTXkjP3cvkkkVxOdJf3dsSkKGt4Hc8gloFbhvtJePUD5wx1EfqE31uNoF0+36O79O2e/LOsQ/hpZMEC3dL1TfYi1NzE17pj49JBrJjI3owDztjcpuyZKUUpBTf/NyT8wTjE8SlmwhkzhlMC9ItiV9WBMtTnGJtTuch+FGajSWSEP/kHnCfScdBRskQ59zC/AE1Zyo2qJycHzo/Jww+JdDNfNDTPKPWQyRyTkDyO2Usefx+/xKAMvJEIPO7vd8lQbJLYo8VydGz5+IUGIcZ326fbxvfpAFq8ut8+2CeYeSMh5MCdqiEDMpb6AKFtqJb5CbTtRYmAerlqIht9h+0/IwiPbFhG+jFwZQDN3TXYa57b4uBlf9he/MJCei86MLhKpTrPO4PqMk+m2l1ToDocU9Vol6uMi1XlyYIgXVOl8RGz8zi4JiqgWfO6bpOJvMA40mR1fX1/by8r1Po+758/3qOvo4BPMmDYw8/pzZ6AsLP7+ecEfV8//qebf/1vv7r+f736/Ln+/LP5wR+v9+vP7/f35fL83Kd9Mfb7TtVazOl+xyegFiMD441IJbYsNqh/IfaVKGrfFLmVQ3KvfIqORjju8eA+PirnFHkWMErUvWRM4qIDVxVj/IxfpEBo8rU9SBjroYUybJTRKZ1Roeep/TsTPn1eGvdym75md9nKvuA8EOhrqw8L1e4QXrc4frVKPazIQQx9vxN1s5LgU0dklXBuX9N2Zru3LvbFjjl4Gt3ERePaWsq8QCitXDdPz8k0MqjatFBFisXsbBBn4SGAxtpMDsQsr2l59btcrm/vn98P39cL3+/Xv/9x+vPr9f/88ePaff2tx/Xy/XrMc2wohSPyzVWZdRrmkfMGelB5vF2TREwBirNaYiRgS0c4jDzpBbJnXJzD5TWYXcgFosWNbEd4uCeVMNVnaesF4vPRUbk5ZeIsz0wD3M2bR2MJ7/fVaBaWmVF3Gkot14r9/r9/SxnM/FkcsrHDE5h8BKEel1JuzYDyzaRIewe1CCwY03T2kIzZvKXaL6dimDwGPrEdH6M9TvwSWBKYV6BvAxeGuLP+Lsnpt3IiETpez1VSe1/eQtzP+GmW4C4m373OSE4++4MWnCrtJ2nT/oeY5Yf5N2jw7Aj3knKdAXW3MdJdRyOhdcq+pZ5oLKNqnrST3WGRUgenzSmKZKJTI5vFo3XOkppeJ4n5EAZ/KGWnzgN4R/YAlKfLeN/OXIC7Rg8fXHMBLDFI5YKTEc8pyV7TyCEmgFLlJn2nI8DM+Q8Moe14oJnWYQYKQEmQGP2vp+EVSqdvM5Gx8mTrAG5Fs4VoU0dAnMzD5PJNwCUXAA9DWEIB7tctJfS1+Zp8GzSjDNJUhfLruuS4KATEviED0iTZeZPstKSCj76LFDDK9GFyzRPoFAkMzl3cEICOchTgzuTMfFEcgv2uyD3nB3LSDGA/7LZOp15ogBqSkHDcp/3uNeXqhFOIXi2k8lERzfRgpmLPzmqSa/U+AMFQZJBbCw6+b4Hbq+577mmfam+QaEjC/HbYIJq6FSM0Ejg4EG//XbYzwGRTvBAkKQ3rTIBt1ygbvWwHih2uW8e7pLLPPKluyUX6yxEk1V5ViErpXXlcFZmq5SqUxHjzLeXmAIevVB5Gk654k/0dOkHu1qQqqz02PEM0gIj5pM+43MgimexxuUn9jsLu0r2hfNjUohDyWIcIRu2DeaGSlTZcAp8wMLkpeUiQXhB4SE0HuTKAkhcgVqcVJHM8Wca6Vw43+PiZZtVczLnnJaVrDAJZfKnabPE+BRqCvfd/fw7ocgINlwWbhcBY4o8yAHpsptyJtphaFAPM4U6sh5c4H6KJnyzwnbzM5C1aaKBFycaks2Q0n/i1dNrPQ2ohwAX6doOi/Oi8Rmn7I1lTlgvGurkPGPZFu8iEGJVF+x4dqH/Syr2hU6LupczDiUq0NkI9IxJgyfkaTA124r43rZ2YQPspFNjEL3LycARLMF206IUYogckIU7QGpYnkwZeq3kkVOg0+F+GqE1NeTT1smYMGH45aQwV31AASY0HI8GOM+mzDPpYqqPH19S/W+f1+f7+S1mpwogp4DUY3qq70wXmbD3pZpMHbk2cmzy0yYEVFwSL2msIIbfhigehO8TvqFr4MznmbqNKfGND+d9ff96vlJlN2XBiVFP1Hc+nwn9xhIe23n+/Dy/P7++X3/+fP35+vx8ff77+/3P5+vfn+uf70mE/vX+jMU7PoJUBl6unzuqM+IeZKxRm606NDOZJ5ohiJEbT7sJNq9CX3ZYdYlx7ZnCV3Di8pbfODZiAvrJzPyjH7mqDxMHwpqQi0owFbWqPHwnmYN/cg0YACPkorf6iiDN8QhZKNsHftvsS/BARC4mLcowux749Ul6nWgDCPSibwA40Em/PSC3wFhmzp/MI3DoSMaMFwpVhfo21aHTXvBst3nhU4YtwavwVaV22rCAzAaISfZ9ZSAD7oB9jLc2MNpDWCizJmXx1+fyeL3//X59v359/0iDuTT/e9yuP27P+x+TEfj9c2o+HvP08/p5P6ZybHyNo8viLM652aL/CR/qC7Loxk0TwbNqG91ZaWmWoo/rtu6WpXt/VFga2kkCBk7G1ZsqjG2/1IxE3s1bwJs08apCb5sDDGbaL8EOq1pKxjkZvu1AgjuvaW2ot4L+yfDDRtLSQzF6I1mjWZlka8ou9skwNBEQcQuoknc9IEilXrhGz1PhFEa59tibq/Ok7SIYWpw+frcvx9w5eQHiLpg0e0Q2U9pqKTSZQHFH4tURBlFOxLUT+ITxUsqQnhgKbqxo7jEuvZQhHvM7OE+TJzXz1L339NaiTfDhNd52+0JkotmII+lX62hPkkVp2SXY3IVIAKVPnPuwXAD6XUDoxeP3ucrBYAufY02Au8vDL0ibWA/UqQVplIuuqGAW6hqjgH/oKqiRt8ucQoA76cQbdCRh4oq487h2Yns3sOVuSNK3ooPNSR+MkAkYStJWYBEwxOVp5WEBzGhDofPsSinWVWR1uxTZPChSTnCsGiUElSDTXUF2ILOq+QAgZ4SI+HnrdEifR8FwURJc9YSHjiVRZ+P0uOyi52sKzXqHvhu5sADcGZnkX9zyIVSm3YFczfEUc4sGMBM0UhK8J7ma+RjWgN6a4iy7Fy5sdHIajwD0gT5sKF372HoyZl9ySOeQF8RkzG7FM+SLgmrLm6zUDbwtsE8gIhEP9qO6uPHkitsOEOgMiynzQemDP8jkQpO4dcCeAN21LXBR1pUqwfxR4jnZRcOmCiULZ5WdAzIx6ARPXjStKSvkhXIZR1na7nVW0q70JUk/e79ctnoNMxIeNTXrqgGhkxew2peaGezCx6Kd8BYcTzCfv+4sOOB0AhZTZrVU3RlXLu40Z1zUUCOB8YdBRwtE0bBn/WDhnFtAqm/AtrUxropecMMF4ZhuRu5He0lmXfskR7Ev1+++R3AGCZ2ppzHzhhwMeH0/n1OiPKtSpSCnV1qNQsBySMElPoy6gIEUtysuLJte5CvUL8WkOMKPscNjroQNlFuh010fSSNmGqEpTycOD5bxfKbh19DSNdnF5INE9M9VM2OJl3LQeQQV3Yy3eBi0ymth8NHCozRwzl62tgxamMyOWFdLYdXl+nw9cyLiuMgSmA3hT72BoADhU6lBlRrRl0lDoP/7MZ2wpt2uVhSHeMPf0mt9AGOR+YGTUhdlso0ABFiU1mQ1yWKSs4HG4WDhAUGKOLi1bKnrXwoKSM1yGkZ2HY2NxoSDpM+pM4esitJJpnjZJQuHyCQdTFuprNuek29qm1tdp9QcvA86xoOQjRIlZuiW7yaDGjfQeHRnivRLS86zQratmNoNh1LTBHxgOoFFKP/9ef56Tf7m95u4bszg9/fU/D6n6vc5OtszRwP/fL1/Pd///vn8+Xz9++fzH3/++vfrM4Hf1xjA39e57Xm5kOR8Ty58Ooc5Sf0QCqySQPzlbCvsHS4uV1wOL8KguIHse7lrWsbKRf8tGzl/m82C0SI5uTON9cuDQVDuLjNR6ajTreywQ3KvFngvgafky1Y8cL22fT2AayAz2ch4PBwwioAGHaChUfx6mZfST8OI1zAmYl5UqymKEhQ4w6ilGHpcKJuOxNqWU7ov5SVn9x5sNnzbdaygqXSTurSUenIGL17NFjSurwFC3CX4NRvIF4rvv8BQ7GHAUC+r9395mU3scz/FOQHM3D05wuoO485KHf/l87x+Jgfu6/b843b/vk1L/x+Xy+vH5/JIG7kcxCHn1CtNJC3zoDFS1RJybfSaHSGmOrQKOnCbhTMgbug4RcyXUUiikYRGpDrUJHwoGZw2jSTTxeyczJeVj6uyMB9FW+CXw+kSppso6yTxIhCZP8+ewmyh6JynmPIiUQTU5SirOCSaBunr7UiBuKAxIQzYI989jwDtYqaVqPvlllSytJIayHByVSXLbPEjwbEJszdEOTeTR13s7X6fsLk6ZEjG0vTqUeicpbP4HGmCFeaf4pdgdiCSk5VRoFcLzAu5Of7yJuXmfg5qCk4aKANtUR7GOB93CzDXuhmv86gr7jvKDP/GdE8LU+aPnOrkORk+hWMYapG3ca5X/OE+UMYZVmFK6y3CmsdYW+9Fis9B5UyK/ghjCWRR0r2MWEcPaQOgclnTVOhU74I4CExWRujZmuqvuaHa+hEKQtOQBwFE24VKNuiitUL3Ldy4uc2oy8vr2AFYuXpUCXDuUe+FkWcONuuRW3U8bWq4kBtktmO0Mk0lkmvysrbULb5mvs9pUTkeLjlH5sFsZz5GyMqKopDvcSrZwe5IHPCHWydgZ+fFw74XOxxqpavP2l9CW3FtVZ20IqeBCUoKwAEFuCnQ/bB5jF78donLsiqP+C1yUkzALIGrUlChvBGZ8qHQoDE/9ziAc8OlvCwqBfa6FdmP5BPN4Fq/MHc2j0JwA7ZmfqZrbJQ/hDrmazbeHki2r5FuNoI0hMkDyPplWC6ereYfAY49wFJlJiBBc1egBy2IZhaiDjt0YKFRpEvKl4u+xZvOpXuAiuCAQKYTdeOySbb+g9aZACVOYT1sO3I0z4j9XbpltxmZaazSfuRWV+oCU8Z0fJSIpVTXMA6LGEVzPfaCOIE76wR4AIjyjV8K8AxKoYjrQhAy9LBEA04WFqY07iiSVWKDu0USFRMz7WTwjbYhqPXgLTBmZghXLqd5v25OxFhSjrXwbZwY9jLpwRbZisjzCnW8EapwkBnYI20juWT6Gjw9YxldB82DHvdtzR9R3toQaK08hXagWlACU6BII+zihOLiU+doxtlxAvvoF5NsBregOhTVDwdBpKAxfwC+CO8bowBBXLNNSH51x8yoiqZIpM6J8JMwlM126Zx5pp0VGcoZISXKIPvviMfWgUepS82E00shyn8TfSEc3ijqx/QbqC+yb4MoP0sjOLIIlacZzH1aVMGUApngD4yyahl5gsFhzz9jo+tFzcmcM6t4edRmYBBIL8luVzs6hzUeML24DDhfbZCsQouIxLgz6CnCqaTyv6wFrSQviHpq55tEADKDKVscjByt9DVHaE5MZuoXp73zZ5Kf33TAGgP49f7+fv78fv56Pb/fn5/P96/nxHX/fF7+/f38x8/nP35+/+v7+d+/nr8ut+/r9ed7AmWDc/AT063vk0l6xLGlP4kzveLwdPd8wyDw1gX95t8uB4ctqIr6WNWf5diCRe58crJK0t0B+KMqjrhRS8E3ivfbCZPh5fz7QXw7JfiVvvx8sbNbienbyoc1qvezykcrFQKyyFOrJeDc8JlQp40oVGQkI4ioWcdZyrrq01KzRu1OTCW3yuXqFG7O0mdFW7h3l6jWfngUcm+7pLo7YLlTPPQKeOZZlALscpyCTUgfvUKO8iHAIkN1A22yRTMqrnYfB82QzfNVKkSCK4cgYxfaEeFfr9fl9bl/Xn+7vv9+f/3n1/OPx/Vx+7wf12kk+8MWFXnMhgqfsRLnJGFzhcidQdadUShPxkM600EJhJjBptv19vh6TONp4Ua7DeZI4CsAgpNHHBfp0gMipqwmXFSorH6ST7rNsVWSGMK0sFbU1LMnEG8eSyeIHDZPa8lpzkfOYPsB8xeLnT5hacwISpPZvo4AKIZXaJxrTQWBwZks2i6k+XvE9GuaFAIiQ17y6onl8LExY/TGFJ4k0/X3IsEV87xoYmQ1HANOpH9GmfYW5pfB5kQ1ScbjIuKF7kF9ReONGazSQl4se5Y8qU2iEi8sg8rUdQ7pj1X9gK8uGhT5kIFj9M7nZS4S0Ju9wCXNyTOqVhJZiSc+5M52flg+VxywY+skoMe72g5b+OCWTyzvks3J+g948llmqruNXzMpKBHxwWME/9E8AjDGboa+ijpq6m+sICui9RKz4DmaiRRpKwl2d4ufSX9tNPqEPVou6iLHalXp+UardcZMK/S+G0YNbwvPxN+UtZcFVHPeWgA0ul3AjIqSsLxkx+S1GcD4czWRoB9ciEfdKRhmgUR8TcQ6v9FbGSpzAf1WpyrSO3keRybKvXmxLUYPrMgwg7k1gA9mfSh5wQn51HzI9SA9WkeSCqlIeM5xEItlFwPWKUds02reaflNU4zC4vIitMNRB1HXYvQmytRQ1aZpa7HDAhmdxQtM5PLqFFUY/P34I38pMeZWg2zzX+xo1SpwAjm7pMAa4WJQhcWrDjHKhEcvwAFx/c5fFm0CQz5SIKSiccp/YoUBQcmtHEleIBR6brAbiWmW9xxIT+QOP4eEJgycN700rmkJ67aKf85vgSdkwTmCli5I3+VZ8TKTKMDHJ6sVI45KmAixyAka/ECnvNMwBI/NJUJUMCzV36BBp5g4LOOXehgNUR8OKwqEOyCbBm1Hfcd3jgTJPsbFayDRWHSUafu207IpE6fjV7bAqDKn7MTmnywv8iboj5jOHxW/OQVx0jtzeICt/DVRJrIXC209lJqaESoH7zwAKEVW74mbNp7CMXACguf3FI8FgiLbgZXpTQ2qc/Ti5G3VYh8ITPf/mfztGt2iG1hEimM/fw9U4k2fkB8nHGZrrHFLTJekLULZOSAXQyXwl3e1ohtnHmdbFOG369ieq17TJMne0gR1bgwcoZg67fkiJb5JGDbfK8ctEJtyB6OEjCUGWrZ3F3w/G4rjOeGC5MKhr7Ayw1lIprKuGL+48a+3yQhIjB17PsjZQtYkZYR2plD2/jUBcbzaPQ04u5swLBmGxBAIr3dLK/jR3qK3pZIrVxosmlONswvPVGg9Hl8+g2grob5fr8eEmidi/0hfkIlFP9/POa8osd3X+/P9ev18Tl/GWMXP79evn9+vOfHo9fP1/vP5+vf3FPT+89fzX79e//p+/ev5/sev5z8nKfTy7zl5c8q7X9PjCv98/ov/GiBTdTTpP+XOo7AmI3r8OGEe4c2bPCmRyCFM3tMgkVxOfDHKikxD1ahMVCsazgOLZUz0hvJk/GrS13pLZGzcuoNlcAc5fgOV/cUJgOi9ca0vZZez7Sc8DZmIVrd6pM8d6wW2vo3GHGg5uS3vXReUoeC8XIEEO+qb4fUwoeMi/2kFxARCXa9tElh2bt0RoH5aoesuRCog+g63MSym4pOdXqjxaP7E/U0j/wkRkSBTq0D6Q9TqzZ9PaEe8Im85KYCT9IFpcfj5ImDEPvhX5kgFR/NOb/9+vX/cL//49fyvr8fP5+vXr8uP+yNs7v56vp7fz9v9NhGYEevlehY/iNKF1XzopNAjx64jO8wuUWRHiZo7n9M2mYPWwm+xeUBkJJ29FexcNafGZ97zP5zJi3JrJGc2cfinMQQQ1JWcJs/TCewe79R0WzQdIcuK2Nh9/U2ssPyZX0O54i3asMc27eELlFK+6YEMJRAMKNGtTiVFYa7QxIhtjIM7A+SdFNfd29SDdfXy8IB2lYJGAgdiSzViU8OUat0oDZAYJgT5LFMEbo9i2EtiNiaOibSQH7Im+NeG5+HNe+RScuS1hQzwNFe+/IFhSVUkH6qqmO2UUn4Y4CHIhqsfmhv/SGK4ObIXRHkDHLCz1gJZKgyOo3kpa/Gn3GlWyvE28JvypeLDAHaAuk0oIx4x+3OnvAymGcjcJyu+vAjFShKNflGBisJ+YrD8m2flQnNr25j266GHbjuKKc2Gjnt4NgEHDcvgZGo/a1SDUOwley027Z8bC13eaCYvtHhJCliOn4L9shJ+gpu9HmhrZuMQZ/zllF17Bgn5uOUn6zKVsowUTYkAD5oGqLN8Gzwk5QPvaiAK5zkwk5Dvvkgfd8aq/YjnVUCVltufDid52DhBR14/LxzieEDbyyvZRAJWQd22hmLee1vE1aKrZ38ljeIka1h0Sc6ctFpiDlXurbsYpHeR1B9yIYYEhhWbzDAlDv0xe8bpoRGK0aUtqWzfvxAJodO1NfIyGGupCqA7oX/7uUH9MiO5BhOEFxFxpSAuQEvOra7E1Th+80+ENVRrOb+08+XD9KXBboRop9bVfEv3ixwsNqPSuIPGIoKX0unBhBRRlib1ONwbWnO/VIqkot+Jale0kwvd0qv8mDL2qkcRZATkjTdxwm1Jt9RuWHU1IuNbAXNDVpjE7NK2fcc0X4SBN6W+BU9HWL30NWvlEU6Tlk5qx5ZJlWIxz/Is2M4RiDE8bimkHLfR9LCCQfB2T+VhH53y7kxKwaoxN7OorY6qS1QPUxDFjXoG19Rgvl5TBqGvFAzNjpeigSor4iLZSfOnh1vMSjjO3qeAklBl/ktgPWXEzMZ5JT2TY5INBKZJ0mXapw+MBzbQbZzogB8uG/dA6Hgny4wBdXhD3FW05WPm/DtTyd7YbmEOG3uWQRV/25w/1agI47meJC2RFV70mdrdFK1lmXhMSApgDiSBxymemjEPqpHkfet1rESiE4/HI4Xc9Zdl3Qm93iY2mmNFUPpEiTV0SQKPLZOOa4cCEXuZw0ImM1ieV/0IoC7ycCbwWO+MHruahBoQnfQtNI84i8bkF7xj9nt6RD1ec33Kv6fDc1J8py/Oy4rfX/xyeSUL+tev71+/Xr+e3+/35V+/nv96Pv/56/ufP5///edEff/5/Pw5hb6Xn5frz8/1+3Z7T6bzjUQRyfz9nkzQCW4/03Yly0e1mpXP/9DxyRTEN0kuLS7Upd/lqqxLhimf89/iS+/4nRUf+L9sT7gvPcXBZeSBXA2+kEV1zL7erWKyy6t7G3y+B+2q7zqfMv8zeZ8GUc6WNQDRfRJNA1c246KkoRmBJrD4/CYA19hVnDIDH+D1KlIwYF8HYrssmRvAKE89YLsMc5/exw8o+113QxfNwam6eOZaswTwrMzNmxHw+6oDZnhKMlH47GkV84MQJHPR3phcXhrCz5V6AjOhoG3ej2Y3fIr3/vrcfn2uP6cn+piNOWH+/no973PYHlkVD2J7WPmxDwswgx6ZjwC3ahdzJPVHMynqbGcxCcO+cwAZ9ZwwN2ZK2uaU0ORI2+evKdi53ebxqTZyDgRJNGl0O8RMSs++TMZzTejddacFwNfXl+5Rtma6G0Ys0Fw/ciQTio2taaTTIccjpd/yZ457ii9s0mOsNGEzVHEVtlGEkaimASYnS90PcanOYKy4mx952BbHhjpArOK8KPy4VwOpo4ubRRf5Ci6PBHJIwymHPh0jVzVS9F5eYiySRhhT95RO3YwaCTU1ISnmJn4JTXUh2AacCzzZ3Yn0qsnp1Eb6Ey80gpzW/eNjTWfv5gLkucyczb3dp/0nsRNcRyiQ1ujibcl20D0EsbXZbXIxJqnRGKEn389L8zVumm5rkDp4PCDAl7A9RDipgScBeHzhPKFYKC+ICYfRUR5LdqH1NbmZAwWWqxB+IGswOxC5Uw6WBbKbqznbcEQ+IFMm6kwzeV4k+yuHXnZOEM6ifQyQU3YPuhzp/nrfoIg6/bHdiC5wLKLFS55zK3/XOXzCOni6GBKtmG94LbNNbUApAQYo2w/DOyQD1l7IbavVuv+unFt3NNzMsIrAROdp+xecBgCmpTl1UBgkyYl0Q3g/9HtBn7qxxRxloY91WD1EAUqUb/QjVMXm2WfTw+tzYseodFqmSMi8yh6AOglkURl8ljOuL1sfYsrpkc6WxULjONZ065imEDSDAUGdgH+JqYr3sqZuEWs8lAFXl+XKrrBsyM8VRBFotXzQVuB34XnmsmMSS4yTm0pscBJr0TVzYgI9HyiGQUk4UY8sCfCwNE/NLrBJ2tk9VwaymVlt2tVgPNlnohs3ztc2WGJsSAv3w1ztkXrmh6AQqlgxH4EM2sQowRMpihtKWpCqnCXRg5vBvmXoPAijxE6In/EUYamfHvkq5ibGLbazk9cpYhTr5s7TCvNI3DX7ShCBrOWkrFWoxzXVbKWOIWWFmu10SJsoGGyyfnJNwrbGicPDpgNwDqygv992+wKBxElZaf1/MWaSwYn4YZssLp0jeW90R5xvelSP2uEsZ2o2oB2wXTyBJfuiNBIK8Cw/3riWmpz9gScqSGibvbpcv5+vRwQoZv8cRxm43aZeNII5EyNdlmfoezkHiX+poXmEcgGhqRzR8opOxiahf8TAwd82t2B8Yr4SCWn9hvurXdc9nXad+p4zsUn9mmXeHxNYGf1S5k7psZOZd5EMhm6UY+vSYSWR6mAOsnOql5/PR4pTVx4gYO0PRUlb9tZendCMjHo+Rc32hlEjmafRR2HpA6rvYZWEpWVq+RcnUSguOt/E3UG1O9BAr6A5eBqc+gk5coykZ7vAScxIKXsBkwmNPJ+gSqzKsLHp8PydM42eA7XX+/rrdf2k6/OvX8/v79e/fv76fn3+/ev55/P9zzGAn//98/mv7/c/npd/v28/L7fnbUK+r8H0+T98L21nhn/E36FzMV+lDlxCTZwKR5PTzbrk3BFYMkiuiC5KD7gpS4bmAwl1PvB+WcfvzNOY8BJyNghWhQSCAarSLFMHnof8Z2N38BPf6Tv3F+dT7p9/4Y7wVX/fuAnkTAaKT5GEVicL6YYKxADCRmG6uvTwI+x4HsEA9R4rDhTEnvJrqAOhbjSeb0G7uq93+vjqGRmjHDjypWkIpZHyvTyx/1O2M9eotgCsKdNzvRofGNACGOSTb/gNzhmkfeuzGZ+xOTKH1FIc8Jx7s72wdQybiPWIG/aRnN+x38Z2ebxel5+fSfh/vimdmOEy6hQW3Kc2/5HsrUecgyrxaDeAO76t6W9PMiTFF8lLIubCflkgjSYWT2Pyk+c0MpvhYQDc7zONHNz9DBgxkUULNSiratw6emHSjznMMwAIIEhKGkPx6zFZiI8Ja9uOAG55m1BtztV73+8PrGheEdiHllOeQyF0uNnn+Ry7MX7Vy72oOTzzQVVMoBdGh3liH13TvUc130BvqWY6crDn6XxrlIkwLzS++a8m0eRDP5pVWIhOdvliqZhj00G3r2kZA9lGDNdiyB1TVzJQUI4UJd0LVbQhlNEs8YryZeP8aAiDARPQ52jld/ysmEgIUx2vzNZkgWGu077TrKIgMxGyVQLtM0laRw17ZFW6jSAdtIHnkaju5TS6jKM3SSYS/qSUR1zikYGfMUNBkMHKTGsZoqF5C26XUw9Xxp5dHM1EAVCercgYVCd/E7NEq3vzzOfs7WwbLL1619zStDtWyqvjFGAsZqhmNS5sdIOKAC3z4IIFx5R5d9VrlqH8Zt4MKo6hMM3NMdCyYIWcIYZMDks7h5VNsOV+MuyzEDysAlB2yVuNSHTheA6UmyyhFdg+wxJ0IUJZbA8oVHJxc/k3SLvFW7x/paZyp2P7Q6GQtccXlpQ01BuSn4BjPsOAOrn5cuC0S57XyKC5a34c2fNuCXiqjyq7SJ+YnRQg0H7NESLMXBriNvEO7I87Je3o59Q77AcDQUom/mNFvLmUVnkE81OjFFidJ+WXTK6AqxvJLm35PuwQrrJSWahjHCAeqrqATaxcuwVmtBFdVV7aPMQiiqJJL6LCwZSWZZ/+7IwhL6B7dn0NCm7BnigF801wRBg6f3FrHk1KTwXzgaqsHauyDTD2tQfAsd8hhqS4D+pta6USjs/1lwVSKcUXprQmvAEdvntbiu/6uXmrX3YtHSUUxG5UF3ESwR/ptJCLLdRCj6IrT1G1e70no7WYz2F60WUTbuPI+H4mtUYR3bWhiHPYQ7w1EN08E87bmbf/EKstu5f0Wr9I0ymi9J5bBgxwlJOOcB2jMeQ/2gDN8ifyvKRrbsJyFC6qB3ZzTKbqfl/m0N0w++StTcMPyC1wgmsM7U99F/uaQqbttDTiExM3G/2+vL8mpVYyiQdNJnBLfwUyn2chgZUJLNkYffzvZPgMAOYgELLYBWYIACOzPIBV8rknh2lUVUt5ZRNJrt6QSHyTIa3sfmK2+KP1jWWzpuPA9Dy9R8vJ6cgEwDNeEZqg0uHtiE0XVCata9DMcF6T6PDGuhdmEFRnhaKlAs2BOCbk3EphS9/j2QArbNA67jgoMtpgTBtsIoMSef/mT+aphwInpJ0VQVDBohj6mZdsKtj3SrRqFNTv7xcHHf38+fznv//8fr7/nDzn17+/3//8fv7zmeTn78+/35c/L/ef1+vzdnsN5kYziIkAK+pq4H4BTzyh6HPvy/VxybEWSSqEC8FWs1bkFfMM3R18xoNeluUuaVRjOjiYSgyU4hPqBiUlBIocC7jxnZuHagI/UaL1JX/5HErHfiRQ/ET90plumOLEFPP1TvHEcCrEfH6+HeaVmM8hyfip98EGyF47xCIXgWnWubwZ2guNUTOAdNaFIL/6/VXeljt9x2k4mRiLrKImJGH0x0CCm8GET9Hb+9zqzuc0E4doZ5PwTF14cYHl5kaieAaGiN7Psab6+KnRgLvbdwQsgr9krNTwDpk/P5/ndc5WnMr2bqg6SftKyEvwBUcGm/mTJFAqcM0tOvQ9XjibG7FPCCFrwc2cxo0CAO4k/3RxfMFUUqRGU8BQo9Hd+YE7mkl7Fm9w1RoQjNlhD4MQk5WjHOE4Fiz4AB+W3JQwps8+4gTcLoAWfM0rctoSc3fyyKNkPY7EZLTwU+gyg8So3X3XQbmOSBhs4pYc8xzhkBYMyoGG47CEFViRdHIQfASMUpTt4+3oAYRhpfYu6LaxxTHXabhwJCTPK+pZrlpWzX1et45vRkJHkug8PoHNHx2xGf9A2Cz0ZespZpotUcDJNDB0SLnKIVLt+imag+rJDICSnAbMvObKUp/7clgNuX9QqpvCBbjHyER6iI5K4ICQYFR9ceHg4gA9rxFZmM/MPhaXvACok3c9al4cHy2vA6Vb8CWfO/6f2ZnY2ACY0IBzhaMynTaEL0uAsVYQxcRgk1bZ6+tii6P1oKCKMs31E54YLGvZwfFAYQ6ZYld5fBp1+Gr6LgAaBFaBlferr2q6uKMCVlxNdLeAJxbdPcjWaNQcnyMabKUFBnMMz3M0rSghehrccSw2Ozp7FJ2GDqDUvmmefwC6uWP0XQo85GOAG1rYF8PIUKAJkvyWsCHuAvzyoLyB80P7tiBhHQQgjCboJsimwXzQWeiyycFt1+ip4qWfGSFyiNtgoOr1vCLwRduUo6rdCnsCf+4yGEYMx8zSwMnjQJds8Kf6iv0n96NPT3wpVFljp208Ak0RXaoTXJmdOnR+7a67NWT/B9aY18Ka++QltaaOjkjDonB4IrPD6FVR8ClGPL1vnkGVO9gBqgIsL5lHklJdWi+ZIIfGwjBPpAi3PIaLGpOo0ATMk2OTlgqZLgv15ySBZe0aJLyPjSFqQLbt9uvJEE0VzmBsdAiXJBg0VNCVzF73pjoqvTcQi9584qOx0CizPMlIJhBdOicJ4aaN1AxmVRTANrDlqp5AIGJyRoRPWVA6t6WJ8/xvDmGKwKKBPptlSgXxTLyw029p7p80unh2pSaYaVpxZBYVZ3UrlEnAB43tu0aClnPcYPEnxg7Y+L5NKlpSs2Jjjk/N1aUyFukYrARH8lb6l8jYZSRVFPITp0MrETKzoN/zOUdfpmWInEWFZqrTpvg2FK/ISiRhvp9mxNrtLGGK0yj2e13mTBE7CYus0M64NuLdv8yuEmiPv2b6Rn6mIQoLmMKwMWUnJp+zN4KwUHNm+I60TnAV4EwKX4CDWedJb+lNOh/aLY73pKfvsjMcazS7PfmEaUwZIf16vx61hJtnwNCTnEarxSg3QCBpYxP7mQYzsTOWX8zvz+eclBgQzbricJnBNc5TAJyzlEcbxkEzoZvJk3yO33VSoOfC98/vX0mw/PfP73/++St1v5///vX65+v9jz+///F8/WuuXH5Nle/tlXLfd6K+sF3MDbk9WCiZ5rjkNGONg+dgdk/KwpHqZzMWhlQ8UmOEqWLHHMrDfBcKqXhCCOdrdse74IrL5yB7nGuIKtXQXC9XYi5La86uSpALCTdg8uUzsHdvdkUnHyXo1oWqVst5WFng9H6yLgLpBMJQzw4igxB194rGB5NdUKOAUOOgaqV21hdXXcv9wKuO5lDR8Z1rPO9QVwncefWxfbm5alKv4S0JrN1Jv9on1/jf6p4+7T+yIX9n2KATVZfuDTwf//NcmqG2T2ktYdsNsInqObEoDHnf3mPt+v07bOGVUxLG2Ip/J2avGh34kPYH7/u4e/Li4Qy3a3hXJWy8V2lM9QzBU+lDTtM99Rc58JXOLSIOphnJrlQDikOkBUUBmMFyzjz3iwFIHHwBYeJrGxCkut+nnz8tisyLgX/mJGS80vFhzdPP55haJK8tDqvWuBcq3mF80CceWLhiQtAgX3QSkbt+C5t1MXWSntLPGXdhvDxiT3oCziYMh4wIF7Xh66SYSp7q85pgReJAJbIr7ujZkYbHgn+xM6kMYstyTiArFXVJP8lU022BaCECUoU4os0PrImULhhONqV/1Sdwu01W+yvOQ8RBxA+dkGequNfD8OG4qCHo0Eyp2pKbNP165iXT6hmNBwwMJqE95udthNG31g68HMgSiHDXeZ07nWsausDWfQ8oVdLkfbCcifjDkPuIUaLwSzscqQvJlW3Ghu1gPAuVjj0t8jWOXT0qaDAO/tiU49mJ+Tj7mEMT0Gp6/4kVo3OnS+V89ZivjFQQLGzMI8pD9i/vHWVgjv9KxkmcklXpHTv0VarhcTo6oQsvKwTbQz1qKjZ6Kq0Vq8RmpZhDhMsKfKXASG05ACv0EM08nrxFKK66lUTorbzv2P41vD01Jgg5yk/OdqYSuzf0hcsl/Fc+0LO1hEa+TxMsycRZBBAnvER0lYaAIGQMTnhwy4SZtfN4B2OheajE8waGyyzON29lRVDb6qYT2AUXKM9MNpS/MjvAOEB6WpZCuJZvYiM5R3MVFxZ3mKIYiuR49x7FrePy0jDcXnBFuW+1Lghsvm6e7m2Cafqx5rjz6+UZBtbQuWBRd8nUkTRHyMIbIMZ8pigOtsxXIB2sSbcFSUpqabh+DeL72mjHgLyoBEpkSHegeCtaYWDUFQ27hMmuIDwo7jRv/15RBv2tlgkPwPAmwLn76XwVuLKV+i9gNUMk8txNaoobM5APNpB3xoOku+LWSWKVakQqSxsdhjdiLHeZAj/BAURwy2MCdnh0Z8hpb4JQpVLBRgNPNhpYbD7Zb+gGKblZbusMnqYL6SkSiy69psgunsUSljyblzNWNZ8ReufwyIpNNpI1Jpkkddc6gNzg8TUhOunVwd3dStIfMtIrGsn7PX2S0lJrdmPrS4kAx1NwJOmBH/QsnEN/4N7seraTaMjrwtFy6nwrIOd8wkg2RPVm+8/wN7YJVpDIFNyf+Yj+kSn5DHXOAb5P/ax8RmATcZnpzjSNVZDyt8QptUXM5IFiTbUKoxJR5YyYlClNoVYeyOEcc8ouJ/oqQlhCkuNej+sj9i7aikTikkZzwlfxeeuLTrZbNWZctoN2Y+7mvdkETGQEfIVadKM5Z/I6lu7s8tLCxHufv56XVBdHDR0O8/x+fv96/vp+/Xq+/pweVxP1/cev139PwvPnHz9f/36/yfkcuzeZpSTTo4Yj5ABKaxgpyMe1iFqacjV4cKg4Ds0cdEePH6hFmUpMWeoAYY5kiu6t4ge/Krx9hVcgqCpxCLSC/CTXckN5l6/0wnJZgXp+94lbOirj14FVqafTRH6wBUrea9xGFQERsK8ysW6ukXvX75wZ0df5XfHmQlG9+Zs55BmYNiMyzxlFnXTn5At9piz/DCA59QkGEXkZJgQJY1HIMhS+dZYp7A+RuVPi7trTB8hdZ5Zf5phrsGgXHsZCJEescOowDm+HvdJrN2/ksD8MSIUeskx3E3kWpIMFjUkPTnblnME9ecCfz1R4pXEhYRm3Sp3GvfeEgyRgvUd5Hr5IG2f1TkQG/K3c1Goss2dQURrfC+Hg8QCW5gvnpVYABgDAnENccYbSx/j5fH6er/tjfGjs4PPXd5I1SOwLlsQUXGUJfYXY2vjd8BSjMESaRjhgaFS/anxCqLNXaSK9lECDhhQhYWpmnEY1Au+5VeSR5k9eFbQBaq1Qppez5y1INNKDZzjKgbgB1QFEOtStLGjiK9mdOXAIqss0wH2Rmn/gUaPjIXcnkWf6aaeusiEKTy3m4cy3bMYYWSNlm+41nbggIQr/pQrWrgmAmaROxrZpKGZ6wZBADqZ/mzIixRv0My7ivLU1RBpLbO2yCG1dCa5gl/fS2JXfoTlYv+hh/x1nkd4QwcNS03oIyQcG1HbfWK7kq60p5Tkc293uaiUrtKlL73ujap9YQrluXGwwO95y4i2Fo9YTSo0UJ4CKMAIE1sfx3gsgAbjS/4hkZx9QSnusbvR8Nbsuqfx2xRJAqtTvUmodgRBsB99r5ugiKaAgQDlFOT9tSrLM+Jy4saFBFwry7cy2NsEU91Q0RDf0DteNRLNyxBUGUNOMoLRJBOIzXkClepjLBmlVtTVrsshcOugx80rfV4M8YVi/WSm72f4Tl1uz548XlcBRwfMrXl+uD0iQDe6gEWlgYLVBMfCUvdAd253VdMyTObhFZp73j5Y9/+J7Q1zFfTNMaoIneSl7AgHBGzkuqR4OTUK1MLh1NpZArF5bajCqilmOnXZnmebMjx5CxIL0K2fj2jBp9NRuxkGWOmqLNxpg3ayqDxEgzfQAew8X+KKuey3T4VLEYdAeFKQAG2LWgyAsqq860mIn/x575I7UhZF/Imk9IJGtSwV41HaNPYIMKDuRM6tDuVSAsrwF/gIfpN9DyDZmGUfLZt9R16g2VKxkzPZDYgYmD2etFEq+0wUXwAPb6S1kHR2oEtZj6yzMHn7pMUXWamjSY6HVo6zltsuPIB8E9myeMBGAvAogqD19Q0aPwvVR8OI2v12nrvjzzJnJuDggBN4FUsKFdRDqI4xnBSVEugbiM/qEow1r0KyYobrh4cvj6YGMl/kqcmwBMSdgZrN0dada6/K+4e8j2olXSo89IirjWYnGOoFMEKrihDyXdNd0k+EN8dfiwtv/pRTY6es7QL7MgBPht5RFJH69Xo90FNGXkZQp4hNIvOxa+U/emOwmPR8ZXF46VXdVOjleIs3YOSgsJ2oSpTlp/L0Sak05NK6fVK9JFeOdzVlL9I+gfwyUlUmNA+XWyl6AOT9u9kq8PSYUjIuHvYvriIK76e08BPEMp/xc3nPc0Tipv+dwo9ec6Pv9/PPP579+Pf/56/X//nz94/v1//56/Z/v979en+fl+rrenymF+uTgk2CwWZ1RIGIhxOfR4yuzBGRGvGYeljGHzYtrt3Gou/PyBske6yVr1rG14lYqPjESDYtekC1ES4eHH6bWKi55BQiD4C+e9X9yq2o3QaHMz2nwquw5HrSgCGwDxVSOuRx217gTP7PZXFhRIbVnnDedS/pVl3jWQwLmzF5UUnKD+LBVllMmxEAnt/JpRv0zPyq/O8Xdpny5S9ilWFjIfICM/MfbsieRfUu67PMxeK5npgpBlq9pnB9u8uwG6ihho5BBUSEqkUKhOLar21WNjliZCyDx9ZsaizBACHJgG9ZgZoAwj2MvBnNCacMLxt6CU+eGaZ3/uT2Q2RgDZt8QsXeNq+7TIyfGrXI52IyCkE0n2fbymFpcM7YWt6Uh9emmwtZxOc0Ep+fi9esxnDr5wBTNHr36JmckiUJzQ47ZGx4FY0nkMBObNa6ZhUQIcLLLWZIa1qFCatZtK3sx3ElgtYH7Mw4+CJoLbJcBTgqgYwWOACM8cSPiGVgOD3qtmLMhRYhBZ4GqnhwH2ij0RrTBfGYEWhI+CKCNvQjtLerLSTCDc5ou+zX3Tx8skYG8pvKEvK78X5kK3mog5EbM4bgyR47kZipvNWmPTtRL5bRPSyO0uLGDePMFZykD5fgiJ/SNL5wbp1VE4groVHGpx00ZuITCPEyLccj7C+41s3oWVaiQGBEstNZaMRphcTBHNV5gj2FcPbaGThka87jm+C4adGt05bapmo5Yz0vUJJmW8IwrBCKOcpU7ARDGhdKN94bJQJXgKNyi3kx8WKgNLDnRxix6SMdJ9Gs3We5GfGrLVmqBgld2HQq7EA4uYlHaQFC7Gq3RMzAxw6C5CIFw/qBj06ljKCkz1W/hHtJdVf4NENhnith2Q2/vUQrl5uOy52zOeRQoyXGBzeFRWZBVY6/4c6jrgwtwdGNetnGAXH169dT8yD+E5oBnv/TVyBQDTEyroTye0JidDWpp39w3pGselRb6iT0vK6ggU2NBSzvxCT5qhRKWc6uxN2g5hZ2jKskGwEgrN8IIpqYOdZnoXJgvorXIYVa9W+f1TgCpZu3aCfr1yqc21FzilNhlziW1EDq+Np+FiwVUvob7oV7dR9m1/n54mGAfPlcFbSGmB6eLWv2gKxJllwPo/Mt/uIF6P+8kZ449Jd7VmbN7KovZm5ggJinNl5OOidc5Stnr+ynrY9vFrlBZzFIvnwHfB9isXQWr2jQytpWvl0FZMsLt0wg4DL18Av7M/EMb19ttikKJm8Vj0lZExhvzfluQyT1XXc4sp6Vnxp5+UWmegZg7wF/e6hLLo8BoGeh+u5HelqC6//FUlt1gLpfsmwa7PTBXUcN/cAAzAwc3Vej1Z82tyYcOTtsmOuL1MxVlomPQj0jTmOXNT+vc52zk1avgDLbaGm6ndyxr5FCl7+f3zHzSmVIXavl0ZEM4QgRujlIbXCKoP/t9pxKMTgRzxqPQnaUGeqC25bfWsgFkMbC7IWOIcPbIIp6mKVfRvl494Bn0AqxYyHgiRbHklo+J+/1En+vIk6oTgXeoUMrfSZaJ1pKkxKASh4OqhahPx+aPF2f+R6Gc+BHXRqSWr2OmuIDMyTkxN1hL85qS90UbaigFB80cdPT+/vn9er1//vnz5/f3n7++//3r9c+fzz+fl//z8/XP5/v//Hr/9/fnn6/Ln5/ba6zo+1hibv6cIoNmuSpalh3IR2fi4Im9axkAW0KLyBYo5roMCbeHXAuDElkC32umYT6QYjccOkKvggDLUOUKohEvKg0t2wXUvZ8b+uyKL7/f3VFmcRuzKqPvU5pPzreTDcr5lwx8iQscW+8sqiuIolzdcRzfN2cm69pHyWY8E+EqF1ZWs11KomOTDn59XJKxFyBAaKXf7oQs9PRkvoLv8WVvyzIWCFxlNUL19GpFJZhRbMD/YnZ3dDD4VUZmWQ4bjhEjQdhmOLRacPcgf96GT7XArGufigXpQOuXOQ89x0icFgyprb+939f7uIaYlkaIjYuLJqjjeV7d9KaHd6wSThmYVoX3y/s5j8HPc+yZfSKKNjAwRf+qGB7MExNzWlUD5NAYFvuAL90cSESSJCIuWTKFbKnc8cA/hUX6JvKuilK3s1Yx+CbW9EGDrNaFsl/HZjM23apFlIAkPATeGGIh0Zzs0/AFTyuuWSVtn2ksIBon3SunzmjZ0ir/YBeSBu7LRIx18M6selzN/EwJ7mI5asM0oRipCgK6zYHG6p+0LJlf6BzplKHB+OVTeb24O3iRzSh1dVVACZzh/vKB8Mw8YBgpszmOydDGy/7E2eqZHSjK89Q0NpMMy4XRGIDk0ql4LMYFCCAIx7PyEn+HZk9chgi7lIhpI1Wg7O0Hy1sCSaz7N44amzXvsD2tGlE8/PIpXFcAwqZTWbvOskWUYM0mOOKry+qSPc0i5UGtIXcpzjU7owtChAV5pSzkDl14fOGhP1ZXxIlQ2lnOCcekKxsOH0isGCk8qtFoxzqIXNGYDQum9uFwmx5gQIl0MgrKCsQO+zvRqs1gPx1vdnmqrAeUWqskVLyMwAsSIM2nCRYxMfAMnYupVFPPzwWPNaX23MGwJ0bG3oPiC61t7gtJ44DTGIbLWUvNQCNpph1DrCb3JCBd4gAuLCu/OTgchKxbF7CbAI3mY98/dSbgkNnGAwK27eHvg0m8ONjPrhO1g/euCiyMihbjHUkmo3AQERO9gJH6rhNqBlLT0z5INyd80M4yEwtPhx+EUedkm9optm/NV3EG80rqTrK1+izpXmE40dY7cWoeVF1jmMW5kYyOZJ33TlfFmgTZJUPXxTMFJBdAaLcDjW6T0CqZjDRBQWiuMwMqkViKQAQl3AtGWO8W6LdAnYx/M5bzmioHg7SkuZZwxFu2D1FCRSih5ipNIkU2MJdh4dnRCR6qg8GNtRgnBBfTQotlOVmWgXzNAdfjbp5zVnvgEHwaLQE/11KiyJjfpwj5PQal/aVIH805PBbmy/LTsYM5R3YOio55OFpLkkellBnF9tTJYlIF91nZV/7dviN4tfBWkXw9t6yLrvCLdTnpDyFdNLrr/SuBzWSz0IozwIxcZ2foJNMcolhxYVlTNmyYftMn4nmclC7qyhCkIFWb9wSTc9wlVuIMGF+Y1ESOA5pia6hMF4wYxd4LS5rrOT5DV23PE4pAyjnG8nXahrmD5B+HFxPSCYWxEJwmCs2UEs2xukm2JwXdDYX3Z2pKwX6iTiUTrzISw5a6slF0k1RZBCuPzYTIrIbRvz+fr+vX9PfiAOhEiQefp+g6L41/6vH1JW0SkRmP1ah/c9jv6Nfz56/v18/v71/v15+vKfT95/Pzj+fr/0wQ+PnPz/XX5fY9Gvn9YsVvWL4tIgMHabCuUnN80O1DIOZGUnwGcwiMbP8lvVUawHOqYJRE9Mn3eYWdegFzqCAJmEHrUvNyIKmze9EsNNX3letYXycxf2INDr2vzt2TSV7Uyh7LfJaPLQro9MzD6B/AoOLDpilh/KDVGlqAQJdPiduhl+EePFONUJY7SVrH6rV6zxe0nh0DcKQY0uk1OFkIa6G6p9zeL+Oo6Bv6HX/Gkvce710F5jQ8E6uXh1nunXsff2AexQzugs5juWxFPZwBnjnp/NmH6Rbc5/oKSRip2J/Aalo3zCFDtpVOUTFphXH6irizt8O6r5fP/THHeSQotAeTmJo0x++SfBbfFmmxAViwnMQbtj5NCEa4j+d30otoKJW8s7UNwh8jRUjLYjbP92siCmph6E/jBRvTGtfAsMeJp9GVGvE6A8ZyAOQJF+fs7ijNsQV5UbJua7KmzIc4J0+elMNVNOa7VgBlDyiaZavmhhzNJg5kBiru2Tgt64q7eQWOCXXjNQrsUxhze7zfZJZm9c6hntykqLTNSn6Ozzyu3dyXzJp58NnYLxqAzG+gHgyMx5x5yshGC5fMNR7AZLO1jfTauWNcKzENWmwHrzeMNp6Kup70E9JhO/1QUkHD+POGKFf6GqKihAuTL+BJ9Q1x8XELiKhP89e0KGcW8aUubSYbD0FAIAGTkVkGforpKMghQPzIaAlYKDS670wZbVms1tI0G5/bbjaeZXT2eDElXglxtJgfTWegQVuNQA3NSu8ItDy6SCb+eoZmy9TEeah3DvNuKiVaAbBD6UfciZF0sWaSc53yKHPMfH9sHBgE02g1RjZfvyKe4sb5GS5CaLep9QSQU+0BnWm42ZnVEa8KokarMT0B8aoKJlbLEFEgl2mWuWvnLHya9J4NzRJWZK+ZdpjBuGbcqLO4WHrlfcu5J36lqMEGQL7KQhXb3a2CbPvLoVbijld1PWzzPJl8P49H5ZLTkIkzuivQcxKvKEX/0v7v3toVVjDEzm4J0wUXiHAStgdM4h/CF2qcqzo5Q2Jc/nFkCOCjLcCV2d55YAdbZAv6ThUEiGam72GUyyimUB1JfT6x+MaNhVu69LlDEkeInFRTOJ1bdqzVyliJumghUYGF6xZz/cCgOpRbpxIBX1zYLm7pARJv+Ye7Kp/gaH5XQXXi1HzQXvWfwt9zhYWxFvGlYgnNF8Y6i8oJEKR+xWKfe00Xs6FKVR+n2lb+cN2VDNaWkcw8+rS5nuxxMIez1AP8tDoj4af7Rc399PYSlYP64WNLU4CChDOmt907RDmB6hQpawEOHnMf4KC1E4GD16TxUQcCswbDJqyKlMDPwOTTOEvxrvM+C0n+TBOP8FgFzTxxXlBlSmR359QifF2j8Ox+S6FJM84utxDjYJJqIW5FSM+GEF0gZ9aFPB+TjjssiVKxdVbGKwtSM09kw7LhzoMWApM6ONdYuDWU0Mr6RGjdkKcBeJSnAfV9XAgQ0oAwOeWrJBWRsj4eFzP8B1NGmWz7llCIYeWoRVqoE+uZ3ifoiDVr5wKVeKmm+oy6q/3CvPMyj2vaotex/3PacMIzzGY9ElpEs4F2boNRYyZJ1sAwKt1EilR25iyTZ86QesdOfr2fz/f0svlcv5+fX8/3v7/f/35NwvO/3tP+6l/vz8/L/Xm9vyeZf1ZKeqNpLyzcM6FjpygZ66uB55ALjRmW2XmkFfxq9c1AA0SCKyblHVul8gJaURwKk27WMs5CgE2TvuBlxRa5W5CAveiDp5kUDU9ocRSnQulU4fXaTp3pUpGzD6gV7a3d0wwO4Ng0vrYSkbys6YxIHxREVR/vwB21c97kA8Db31j9Md3ifB6SoN3CnW4FUv0L++ghjvZWpp6fSqu9pVPs5H5TGHhP6HJZjDzlfI/qBEoLMRZ/GvkjV0uFdGUc79y9HP7YDcZvi0GMzxxqEoEERmgf2AF8PHmTqJL0Ctak2pcJjk8qzp3hGCMsUvkfKrzPMePjGc9XCa5ia+KeNEoT+KQfZnoRpbdtXXLTLw+WFceXmcNMYlUP9Y+kcqZJ1LT922DXsC3RjxpLiiw8KT0Kd/cE6AWTI1AsKEkabQqAEZfv6+1O8IYTzlsWh9HwG0WxX2MbpA/2jB8FQOd4ZajbFeDPQc2hplpx0UAIZrdUkvthSJzw1LxcyWr8yOxn2LpR2c0qV82bNlrZ65kLZjL5BRz1FyNZomYTcHhkE+fWX79+CWbPZMLuCq6a32v+i1TH3EXbHK5ikEtcq4gcTk7NQJZqIndkQZSBUMRwZjL+yI/PDi+DOJ3MpH7o1uaCvdOY4XhYkl1cpFcHWOpwa4ikdlE6A9hjNuNgPfUIBLBmFmSKuAhFJNAyMlvNk1NmQn7xVuHPBbOoGSclfvTAkwZpdJQ8NxhK58NOYwQutxhrzcPn+BvMDemzn+QLsPUhrOicKyfY7klrILvbF7JG/W9oU4GJ+oxzqYoVJha9y90pKsQ1gA3MXSewEyGrhPXf6q9qb+yxTytAm8ndr0hvRtnMDNLI6rBu3EruPZgzmx7067wlAXnaAaGiktOrheH8EE8Bq0NfhnWmXgxnhll7dQmHlcUhdshOGbYSkEkIWOm6kFq8Zz0L2XIEULaBVgc73KSyKfIzLVtfUuv0G7rcPDe2pjQCgEhsJkqzG5L7ktpajwi4ncVK8LLNeKn7ZtddHw0fHS3kS66T7LQtcpmD32dpBbI6BG4bwZoAHYyY1+aB+T2BXHEQbY95JqMmpSBq4QADocb4aNj3yaE/K1bFphp1szRLCMNHwhbQjitcuvuiWJYQ+SwNwdpYp8tdVigMvCR/YCZOyBjPZmXiugbNTjSJxVvvXs0V4nXpbx92m7hZnMkC3JXJROYzIh9AMGdZbdB8bsu5sOnOOc5vu1bMEKhKGm2pGI/2xRJfGkhxywv/6defYFpHQDI11/TXO0dQRKPX/VYN8QQsrPI8O51F5HRmItjIwph5gBMXSTlcHguxt1QoYdTDUIwmZGIHu+CGGYs+hNB76rz4lr6RUavSZhnPlCSA7Lf+eT45HNjDNNCvhHx8DZj3SXGYOjEswRS1ugoyftNGLva+5y5Ij0ndmwEnH+89UZRR8l4TLg43wSs/Yu2eROhok3fUiBA+WdNZyHWCopSvpAZVb71aXdEc3ohJuWRzvVy+nznjSpYoQx7kyZQoSrvYEToIvIKMpmUJICVBMViUuW2a9vsZUlVfnJbH43qYTPSBwuMxtS2v9/tBEAl0YFMilV7p7Uz/k5zONZMcTzT6raZRsc/wjz5h+kW358pEJGJBJS8zJx7NOVjZwnSE/nx/j9b656/Pv369/vvn9z++L//49fzX8/3rff2+Xt+32/yfZVTseBQTZnAoEXKAkliQmKW+c721q23OpVMKjLtnJWvQEAQmzlG581e5An9Cr1HPQgPKd/op/EvTrZNfLbziWPnv7c6C29tx43fT+fi67uzMGxKS3PK9WmJv3zwXXiJTKvfITChUQBUTJ8uFMk+dAtydseStCn0Hme8VeWE+Qc2d18JjoaqIqKtuv9HHwemX4DZSNXuzYIUkfvtU2RUwhywrhHfF+W33i6d2c+SpcWbrNQHpIFUG4T5kCzX8nATJNtsgu7rGDtA0q0kz5mr/cXFFPeArOw9XGRhcE5O7zc8mPlTJCYgojZsgog+Qr0jmf85Xn7bP2Zb711gahKWWfcUWHYaIXTTnFyaQYf+CaSZtifHgTEqBlLDYWm7Bm054sAsqeyNZRE7bNmXBmK/qohye1EzmhK6z35wHuWWEgQYLuduAg3HZ3IMAkKOhkfnBEtL1yo9sJFoNuP3JCcVqoQ6UV+fQBNlE7PB4E+4ws5bd4nRNUoyJFI5DLevUYwdh0mDEBFAxrRW5ZJTJ19KmIVzMZCJQ6R1xRhoB3shGU4UQiI1P3AZXk/21G6QeCHzC7Oct6T4VlaM+61FQU0zEfDhkMXEqtLsh0kRrDGKLihZs6/EAn6NTF71DSXBgkoilO/eSg3kPFm1ECRMVtAZpc3IDJJLcel7lONhFvo8uJJECC8aMHFiYFBdEx+MDmzXTIplT1ievzgvKxoAnTsZDgN5GcnHuyDPBzUT+aaUBlTUffe6hg7FuryAKsyrTR9VRaonncAm5OT6OaDPB/LbpofFTDqGAt2PqA4Xr8xkfR/aC7DYL33owrVAtum5AlCgOwcL5I5yB3ZxpR/OxXwwLAtPw1K+V5wlnvCUSIbQpMYOph/ps5C+MK1M4Ld8n4nPZl5a1+2HHj7+hdrVRmOEA9mEuQf8GvEK5AVLPH18vO8wHFFAA+U8vHbwJnhs0cFhJNqgg1GwwIXmsAa5hYao/igg/MiZK2Ghe2/AgDLoZ7uA18qmAUzou8VSK+3aAuXAk3ISojtHighQBUp3Lh6LcK1B9RbFY6Dq4cuA2a/OGDp0PcJtbyYARvKo4VTwCMiXprvIvCKE2hAPLgpdsOmgqjyy1S5m5X7zM1LjM/iq0fFWBxhRZV5CbQ1+oahJPVpAXEEUWxxCldZzgjCxOLo11pnkgGsmo3ghySmHxvozJWjGQieaRyHY4U3cA1bAIqqDSZl9bDnCUS9XXqLpeWy9UPbuFtm501M0b3gqcQgBACy4DfDLZ1ZCC/aUAS/5phJYlCz3nU6WjOS3xGNI196oPldHY7TFX8t+AlxgvmlXeHN633DNaSr0M6/pe23VpRnfpku7y392U6JHa0jJqSc9tkhVMVXx0waCoLEXkDK3xQge/jHhyrOmfhg0fwORx2DGCDZ47XakDYf/rWw4jkItuAq9jyzjPsJmBU7zNnKGiJMKpFIJ0eBKni0OqfoMaoLenTYI4RVRRqJ443AFR02cJY2nj6Z1XZpqInJn5nYMbk3gWUL8mpXDOFEnYn9Y7YhrspF5C6MKK9FGtaRl97uMgZWKNw3GV6G/UQ1L/JLT3c1b6/f369fP16/vz8/n59/f7//3z1z+el3/8mp7PU/c7rgekAzQxmdvl8A4uiWvMrSPRC0mhIdkR+pwdHl0tZghXAN9JvkB52CYlbD99G9+oHwdkkr94DuGebDNIJdhywCo8GabPRkkLCgjHqtdjX398eoui4rDgvFguUaZ6flTWlemwJeWarhn/7sFouD+wQtWAwwsgazURneAp+3AAb+9bnMFOPMFJuIXDrkiteJbHey8rgjEeL9j3Hdsi5GTuQMitRU0rP9UZ3y9XmrjG1cLYmmXCJ6bDvBR3p0sy8fDeIc+d8E43jnU3AUGL+cxqm3ZI4s4QczrkfcYcS0ILucb68OZRCQaXX7y0AWdqtuaeR4wTM6F72OHcyaGjOREtVlwOyJtq2+Fm8OO02DQvyfiYkoWPSTcfTmWLPtyiVt0EW2cUMG0TLE2ywgTJCN1EFpAPKtDpwwV84lmzcdGYam1NGK3aPcGlSlgYIyUrC8eztr84I0MAQwYCtK3KgwFYMnzgvbgJsxvJyJhbMX0RgHhD7NaTCZegblMq1owwfA3yRjAjDuvBOdJvCQ6Bvo2+ZgenIghpTBuatbtGAcAHzIrqTQbm4PDydlA4QVyNC0lH7TPZyxCB/UBIewxwyURNVhAJ2EnqjsCC6yHIcM2f+JBy5kxx0qfzDFX0NSXkM2GGTDIEmCDDyIC/sTYV1Tb006cmMsm34SiH8hD/Lw6l6lIZbmB/e6STXBY72z91UslliD/D/MEm8W6MDMbPhFi3mhsqWkt74mmA4bCvdYsESdgAdHSQ8JBDVZsproeHSDCrcZXAUCbKB/M+c10lOoAfPC1tH3jhzLsTqiYVKEAW/O31Za/ZZbDSDL5j5nBEgVQOGY6Wccxoy8M86XZaXVuHY3lIJXsGZeDj43qi0cmteb1e8svlET9f1Z8uuiwC1FwB0f08dCcswzxXqFuPJ7NzGrFXUTwO4gAebF46TBjrQ5UE3K6toN79kaxxGimoUkF7ho1wzAui/Ykd8rrgmZ5aCH7xRBrErsaJOF7SOq098SV8PzmwQffSeZhoXGimUpf8fI2BTc0n55SwBA+D36d9zDMhJwGs3w6SKIeyX2KmMR4e0kHHo5nqFL49SggkWrtMHyo+WKfqaHKInErMttjhQIcOJzrW1YojvBA5xyhO6OQY/igLdCZZuCwAbAjI65lbh6KNh2fg6bBtRoOIJw6eNtfV9V0wA3XUOEgPkgexNMxgyCDeoLP+kXJrQ17jQRyj6MD2wA8zjMhe6/JiDxdDqRsnuPl8Pmnq2P1l2hK/zLAeTRzJX9OGesbE8pYOxM3MHobIrNgDrDMZDyfbCnzxJEoJLtX41HtYsOPOrxMESCukuMnITknVgAyk9gPMmohtQo6WKzdlC1AFSjFQ65lmGdbVRBHc83tC/hr0GINIJUp83ZbbNHtJDH/SbO1e8qHxdaT+zH8afka5IT5c2ZylRpOKydtl42GdPjF5bxyrU81lb8k64wh/BFPfcybHYeihKMcc5pBw9xS+l14AaacM/0kf74A6Tz1ujziWUv6npxBQY7qL8WCFr4QF5mASTrd+Tdn46FZWfxRXjzTvUEVaod4Ph2iJdLjB0wNFbpfHYO9zwkFg1Pv1ev56Pb9fY/3+mrbQv56f7/f1z+flz9fl38/Pv6ft8/2dkzdFT2newAQ+eHiO/hsIvqZKEbXUHWYD8t+H9Yl2ijD0GBYoA6lOoOEEH5JMMiKSnScMy/Sb4n/Qm2/QzgAlbotDIPYe7RVx2tsFPu40YMs/5TS+cKdICCuCbS3FUq3vYUlqFfuYXG7jTy0LAq83x2aBmi9bduULDku0bLuLVEtQxPa1IpX8FZAey+6dp2Fku6eLrPS0QPe+a3fjCn0vrq5wADvY8NcXLn8CNHGStUNg3pz3ycKO9/++/o7Q1WfWstXr/U5/AQMmqgkz1uaLseDOVDtpeCn/n0a7w8YmUyVsKrnJAUuik1g78FoQfnq5pzfV4z4pfrs4Qx3JEbNaJg98f39DE3X/DaO01WochfMizy9grthb4+cljXY6Pohj17i8qywtIsQ6HdpsOociTeJlVFETyFtel/ykSekyl6UAxkZlF8gEVr4ddUCZ58gm3sbJK0UHkDPzKy2N7I4HgcJXllN1F5/jjJMOQ1ieI/s4+mgRkCeJQA5M4g+C1ubMOQ6XS7rl2po8owsgj5O1zasx+6uoePodYfaioLrKgUPZH7ouB8YRRsApWz9cPasggr1oXZy9ja07x+XhdfV4F1wbmY1J7vH0p+NWLdVxnbTJFqfCgllpSC4nG8jF20IyRetvlxVlnihdzm6+s4ZZHIfrdN5JDooG67kBaqoos7qLMzIGcjSwCh9ZhdyeVDXSnSx+ils/+n67WM+h0DqL59Hp3FqWpt9gm5CPfyq6lIGQfIRbsqrdMPAfsK7Z36o236M84okqcBoHGTfHeSzQih16jVM5kQiKKFRvS44+PfC94o6pWZuZ9esemsIxUQ/3DfcTgiYq2SEkyVU5lRSCO+UL5OY2EAcPExcjUnxRecmJUYoLpsEtS87PWkOnU4dwFeQtRHGmyz0qhR5fnha/NB4qfpZFZ951rOoh2FUxjU4FTuf45y3hRW0dlQZCKqxdTtgBIfIzcTBB5hfqkjukGk1VapWpsmm022N6JRrUiHGKZnCwpDGwzhgjQX1CFORB3KnbnmmH5TX7K/JCLypOJ958FvRBLWhedjsF9C40rr4CgeFDY5g0rOwAklsgeYyCnV8cmuTWooW4tmMLg3IN4az6KEA9ihCVojjH4ItdST8BOdDFSucnFYoRef2JvM+I0kF9FGZ0bB2De6hgoCTP48k2cQasTUtr/KoTEnjorWHzeDbM6GjaYSAa88x0F/aCl9LFEU6nVO5SzBvRGRmiQeERAXZLCUpH48yJfOmM4GbQisp9aroRpLX7DgMZsFAvxBaMpKp+RSdO1ZTMhvd3IlAGsgSGAE0oNt08NzAAzhsRadbJhFPAtk7CqXMtuAhjyt3qTnEawU+cCzrURelFwMkGMzjf1l9ZYnJ0ImmnWbJNp+p3Y2+9Iu9JWnOoaTzbM7ecxwGYmD+Z6tAGGJcK7btF1VZRj45CPw9XQuw0L8xKxyxesaTDOROcyivd+zSBVH0U0Rc5ZrWmlziIVE6Shcc4j1Ur5+x6owO1z3dyy8nzLopuHUE2VE0uvXJQ1Bp+p3E0+5os+8SXOFTQFrADnVcKpF+f5/P1/Rzr93vKgD+/Xp+fz8ufz8+fr+ufY/3e5rxf9MLx1FF9g6YG6+AHNB6CTecRNITPZ/K3DWdMKqH0AADZZXQ+/xJ9dLgg5llKGdhBhlzQoX9ifPDag19K+/sUJMG/UEt5FZ+zhFWr7iu4X0WMpWNSRxZV6h2D7WzOkY2ynA6o4i2aIA3Ub+HtkqZDVQDJK/+y9L57CRo08aKKDAzCh2QCXfnvsODjbnCdMIv7n02CGyjSWNHOecHuG2BEv98mhHILg+4LnJ4jaCIc62E++47fV6twTT8Cbv1d8vNwIeioPouOMyI4wnW1DrZPZs6UQxS1gRXKuVgGjgMxLHWKGYgT3Z4pnY37kUMmrvfrfU7XhilOywDcasOCTQ/OCfbpFMCJaygGduCxBDgLhEtJk0IltY7sl0upXk7xVLJDaDSR1YVWmx75GauGPs+3ZJ/6eLBQisTeSP2QYbE5bm2YznjwPOV1d5MNIYJnrNZZUee827NQhyLYxqyQRUU2UBo9iT6JRYM6NhgM9FOBBu6VZesMizecboOy241ukXZXNO+0F90AEOpB8DBK6nuqwVXJy6tkDswxRJJvAWBD2tyNPY5oLThAEAlFrWAKyKeXs1VItICKiAmVS2N5S6x0Om4Qh28DjvTsw/SNjzcHGYaOjfccdLoWOIU967gvJFdhUNVB+5oZtCq1ukFQhzxnnlNe57vCDY2C2Os8EAlEckUmiued9mArQWYkS/HREmvywBzx9WtxsRu8G+wRzdTwmabtrQ5sBRW4zfu9Ub5d5rV2hfDI6iFHHubJxuTUhTcaxOugZkGHPo+SlC8WFYUvWstoKVpzdlYjzAknALNG4c4wxE7MIawFh97hvFyM/K6vLM7NPRZ6VfnvlCTREsuxpPJoqktCDIUBb9xH4gjCnTQRYMHmHCAWHBXa1UwXTTeenOGw6UMeLGum9YtTocI8QEwClfDt4nMU1LANLRYmSmr+tt2HUM/pdPViIK0Cp3JJaQNTyK9YuI6OYP9SgiFExxbeoEkBC2GX97gd4VmRUcBOHxLm9mKnWdPzvvyydpoJKd53mK2BDcCIDuhf3KqGkCeyWkihu51xZg45+BKPYHw59BsUf2TMG7UN/82EAEgNgwwV6GDzQe00Uuq8oIG+G67P8DAmx8+b2DWxR4mpkC9r7m3eozZw/qAhVOau9inhVP9bo67TiKzP5VAQay29zQNlN/rXMhFfiIMT3GB865ekInEpK1kvczRVGkHD959PGgipGsVMmn6YK/JybBJHzohR0/OT/CSGfI9FPTWcASRsS47fnpbI+AlIIgoDTHbqbADQOiUAZl9VMkxwrY4NDBLnR05M0+DJN0vbqnQ6qQ8iAE8M9lBtgPDcoCy73Ea4xMWWnZjeS6Gye5qcZo0x2EAJ+ACuQ5MbYCYxC0cwh0uINQMdhJ0RVw77mWPJgcbYxt3bmTAxeTp7Y47KOkDCHD5sVP+s0JY1klQMIRqmBo6PIL/URI4clAy84Zk935fj8Yxwx/JMabMYvYOgunZPWA5ZJ1QvY0K3fgSbKScfgCs5/QEKJ/gBT32iOBomxZ5MXAjuwqPomlEO5GTWCponQc/RGNp5Nmv8/vW95XYQ1GBvqn+/n++f36+fz/c/fz3/9f3698/n9wfrNzlIcRxgsR8KG4X9bE7PyXOl16kJTNOa9PFG/YkgqNcmyBMSqKVQoShJh+nVuj4cowqNxQjEU90ORMarmcjI5EKZNNCT/cUfwU5AvItIQYtyOdksnCzzPPG/aqXQWwfwdQwk9+mbIX5F1EnmZt0OA0RcYdB+B5Sv94e/lMP2Jf0HyJ6M0upLLkKeux+JGlwHCg6PaMzBVzqVyNeYXcxhXQqRYCl76KFohUqg1NdVHK8d3DmD271WObbbFhxrK5gqdmhyZa2FVsRRAe5YwDybD76IF51J+hsPYs/gnDduV40wMRoyGNDMPOF+E/UNPeqbkLVrIOmLpitzyAGHIE0WUqCRXsrRBS7Xy/fzmZznoaDp7BgxlLweDilPRsp0msX8Sz5TmHdWMBHUOec8Wg6saHvGVleNlkiltG56cRWf+1INCAjjndtykFPy7KDcWoArMed8cig3kDemR3vo9H2IST1HDKhQTFJ35KMuOhk4JIPrKrnZps6loYf8pNasEnIbrZcqxmtn9jL+Zryx1rJW5CCm56/00p9pJG5s19ITIYcPf963eFSyzaLPZplFo/NQDM5Gjmkxpil51PCnqsMgibyBdlbJG4/xO2Y5Z+aJ07a8msLUAUoYODHc2oR1LzFiD2plVvIuDwoOtdCHEfMvvbr4teQKcADNIoThH5nLoSND7vAAtg8KaRKg6TbwgoY0Fdm8RKGnvBPxUNuAE+pUPePkREpu6GGmwkUyTXN0vs1Kc3AlRNy+nrL0VVMDvJNOrBnZtYJE86MsU86K6DpYFpxvF2hEXT6Mfngw9Sga8Vd1i3fVvBS6soJvxHgZJ2BZow2aaMriITBRvcRUFIw9zBguLSbrBZB0cfOWRDObEpcqGSYGtyyNQATlt/nF+VDRVXC5rvkDVdNP99o9KHd5X67TBZpvmrMxd1Pfv9Av8isvK78cRqnWTj9hhsglHIa7ZmQE/9NYSvEAh4XMH5yBjorBlKnyZl7sFpCNO85oHgNN0Vr2bSHrnPV6CYa+QAtOgupspkjwQBGwWGyUsxxYWgkLludd1TBgAjEPCi5+mm8gomVdv+MVVxbltSjKOIpY+6W5pk2eAcZyFQgt2i2klN+Y7aJf34TSa/m1KJSZkA/Rp7r2YuL8OGr7S7sHwmXqJxDXnwkzc0UnpN5Be7//qAEf2yBMcQVDNviDlSiCN6+j4w3G/c6BKEhmw8EZB0wyl8WgwC6WC80YuVpOpwSve2P+P+lD8LjqwRvIobYn4E1HisqMmM9zAzo8QicvGhHYfHtOK4DKQ1OHam2GOay5VfCZ3GfClSHNwGfRDDyRcaOKcJl+omy/jTryTfskcT7KQXqH1huoBrIAHMGc/BnuJK3abKU83lkI6xJG7OHolFu5lRYdByPLlCmU8kwj8YxYq5FMIi55QXWK2/WT2lR63eF0q7OcNJQsTYqV0/IfJH+/3ScEQf1TSlzaw7wkAyue35MZNXHReMoYEIkZQrVYqfyTLQ7wB+gxs8fzeh/TfB6KZW8CU45cXEIUqssWWoiuGrGVzB7aHMk9qmzM2Mt9Dj7BDzyKnTv7mcOHgZ0IY7Yj/DxDtXmGPHt6xnx/f88ZSO/PczIirjGA379ec3Tln6/Pr8/le7qJcGDx5X0Zv0bOJa0MyCbBxopeswYasQevIHnCaB6FAoGgEks7ywfKnkZLRiZhaBXfCj85AN8sYNt067i7jEptQsTv5zSmN8+HIRp3lNRkIGgI//fPaj/HJmjd+vjp1hNJH6/Kp+8MXsDN5sUkCqSQ0PWCjflfhd6CRB0LAQQGK/l3ijwmE2BKcL3Kjg0h7ZyPOaoxQ+GIrPyfyf8mp88AYwJw7ESpju95Ughn3hrY3lKe3Hv1ZhfzMjpTYimV+FWw85044VeQttfK1ygZJYCHmKV7/PQxXp3ULe0mRqzOyWA5ESkezujfYQLNPxoD+f2Zcgbk0BkyBDrCmgIcD40bwxiV7JUWtaYLhxPlYJ5pBxh/XaxhO36pWanOxS73gNzMNqymYR+mEVNcGcwmFVBIXVgJBKrDsjibvzyqEjcrCzSgglVQacLkqedI6CJBxUMuvye/RFUu1koa4NtVOzpDJZGidF6fmh/2BOqu8lZqRKXEaAHB4ggopoXFUF6H7GNz6/DOPmZc5JN6jUhKu+xlIxBnnYPRx+IaCxqSN+MWJPza7LA6TC2JZZHY2ZMjUHIyl5XbqG8eiNiCEWLePPPoV0gSuS48AuJsiLgMDR6wstC9d0xuy4cJk6O0+lVCGK2IJnIeeF6mK8iiUIVGAAMHKDFJjw20G+zmHtGuUt/s35J5FqM6M8IdTIgyPf64Q/1cPqUcNuhVQsm+Kj1kOWEihpDy7goofjCyfzM3MQ4XCWZ6JqjWmr9Y0WJPyIS0iO08l9uO9Kiyv2W0kDcwUymTZ669yhpjWN84qlVhEOyrGFC0sCW70QUPCgQDseSVZZ5dl1cdoNEerprrL5DeSpn8qHK/LyQt1PHbn1xWhF2AY+QhpCsJmLw31mVymE8yqtOe9XTZLlhVeA46p+FzdgcClP13Mdq3yi38IDGoSE+PApdjTourVRlkx4AA1MyEWGNYQUUhkXSg2Bcrw4Mb9jNoKJD9zkK1DCTyw7IV28KJHEQydlJNMk7N5zLNbqtVGB0KDqJ956dbWXKevxkURg73hKhCn9Fx2fWE7nlJSOAQBngQutvo32FtCfVgEkRojB9SnxtytjW//HfW1yBFOvtwPLKGJcQkG1gHEk4u1Sa48MvmTLu5gpq5VOM6VRxIkMspgld3gbl0tDPcm6v8UHVziAQJNnsHBwEbywtsSpkewnm5aVF9JiFfKPBF5wn6bY5JhmU7dz3TOiICRoGaXLUYpTl8lWnG7pvoPdCSt0bQJid1wDjO/YxlghnA1zpSNuD70vNqs2pLm9nDU+NE91TARi7wL4xxemSlZFfWgbsQUSrd0cQVeqnxDHciX2wCk+CsfCZigCZPIyGaghCcBDH0wpSBYRLHSZFc3qBlc5sJ557LseljKWvnhR2oRTgiBuVM7IychOyJ79Rgz4mUZFnrLnmk6GJkiU3W2icmFBStkx7UQR7TtCDEgWTatsdoTGnCkmf4CZuavqPZN7ZqcZhZLz9h75iWCFgaPbvYpEA5Xuq6qhjJs6Pw8rpNMOONPZpLVpCCt4rKOWl5CgGwyVF/ZjJj+M4h1EkhmCDw63P5fr1/Pd8/X+9/fz/HAGaW3Zs6Q2Ea87KJUOiCwZ8VBoRPAEChkItPjuUBy2sEVTyXk+QXhFHVo6J/H2A4nVlCTmJXFCg+O6wOLgY+vPXV6k6f7o27oQDyrXnHTqlysCi7tBFGL7zL2ArLnde+8Pe/oX9gUYuxTK7qCII7XWF4pj/L644/mXjp+a+T7b/V7niPAx0g7KdC0NSw09Ye+u1xc2jKMd0zlILyZM3hY18lGPe/al4/3MiXuWtFnFBgsO6IWpC+VR+65X/dTsYMx3N75AclOXjrqne/vW6cUKGlSRDK2e1zGBJ5SWUCcMBZDHm4mQYJZ7SCntEgainl+k56EUl9Q6BhnrjDhnHFahzGm8yRzGWI+0K+dJiS8jrHsI+G4Cm9cHY51iE3TfDZHq1+MyzlRTOCZWvdix54I+lSepHnkz9lqMd1ZcTcrq14f0xNprreSqvqiYjUJGkSlcVyyPwf04gP79hEiVGlVAPg6nkdwiF7QGj39XzyNy8YMZHz5+UeK24TR06pi0nZODCenrqM5TYNhtkLsUJGAgBOxFfKLlqn5X7YwXDd22w/Olac+mHvEIj1Sg2TRgIhNeNrwCOZc5KGb0c54XxKtQGQ2+1Ky3HVHsVuc37r+Db6DZmyC3ZCMQoSsCZtyZpbANYNFRNED808UCZkuE1GIjS3YxibHmJXe4X5tUtZZR8VreZpy/MZM3JtHjP8nvD4I2A0QYzmI2r6at7sVH4kbwLMyObmqUQFY9qcOFojc25uOWlgFoCtiRuIlSOJBrKfuhXYiL2BXT5JySqZhROsDHaKqYwWV9ERsVxneBWPLIxcM3ZJMlvOe8RCIM81YiAgZk6+DyS8c26jH8Zy3A3AkR7PsC5oKhFgtYgE8J1+H7VJD/aiPjarslYuqJoIcGDBnFiMaxJuThMUjBpVFuN+kcGv5JoykgQm+z3/irmJcpiE7fTzjXUxcBpi6QBx1QHJF23WPfQa3G4tVmavEbXqDpif2SrjjZHDmyH+1ZgpouPPjChI2MAiouzd6701l0m1ru0HWfJPMot8E+OHtFuWLxzzzoAm7QZK+dJGb4XFyNBBzzVMuBVPsPOf+4zI5Z0+JIghOGpPS5jxnTi3MQKPFCM2FWycCeA1LPOtHwTYnpF7VwPoZXG9GWiwpDI4K7jBxrK84oVKJ6oyXdFz2GAMAwgAlicGwhnhWtNJIto8fHtY/mZ254TVJALlMXQGavZdvXcyZ44DAIZsToZsXK5rn0Tbe5oKfT6f7+/vlDAV7In/6tWNX7512knTShs2WmuCN6v+Z4Wf57fQTiLw/OZxTRENbAO5oKNjfY1nvAk8y9Gqip3i5YTNFm6oaADWioNoWbBJCTMb7CkR9T5FJzCTqGJOU6Of6CcxcLvRyUsu3TZDH+yCPtDhmFVQZFJkp6gMnElynXJ9NIDpDty+q9Jvti+pf4y2TQcOzEbMxK1GbCTXqrZTTx5vcdkmuLb5LOMksYlXGJz+sqwAkubMswmqmCavC1ckJwgTB6wzx/SVh8Tsfj8nt/zBcZxRCCbJbVLHy6eSWpzKL5uqREzXk2CHNtE30Fmp50wsbEbI2SBwLN60gJ5R5mfWOOrhhBqmCdZzwr8/X+9/Pcf6/XW5vOJLGjMcZ6DqiAmTAcqQAclZsDkQZkGGVMhjcpno9raVwc1sCWyyRFmUYkFhKkcuA96vlHLFSZbv744j4YElFU8iS+47NW/jH/ABLnwWJEvIy9BOTA5+lQeXTFa1AJ0k0X4rXh9TgaP6pWISAmSt4p+qUYcWP09TiSclDMRZrZZ0vFG6xh0sILjtL1Pb5xDQBYJeozAwCb7ojpTwIUZSrCxEEJw+6jsEu/ef/mAgTeIqNcd9gE5nT03wfS8/FbzFAqyMfLUUk9uOF+eZ057mm4ROnAxensFk+ttx0JptswKcOKlVKg9sUzewbE3KAJTeMAuclnUw6kF/zo3b9YENbYpfvjg3TMxy2vextWT2pag3D2Llxq+bag510QrI5MLSAUgIq8I18qyg5ZjDxUwRGCtriorAwxgSKTJtzJpd5zS5iacHKmoL2M0pVxk5nkgylds5n4bw2UKPfc8EYXQgRkOiddEn0wpQsJnmASW9OYnfqeqAu2UdFADn83q90uMSbMqusxnJ1r7fJg2HwcvhFAHuTjzdJnbOEQllMuIEXGJGD9x4tWG0JUOFdaL7U6FENnUV4R41pKfCHSlNMmHrotMYSuFbFA/cVD7Xv8AEsagDZBhdYuFxBZPXDfZqPM8d8tUMrvbhCFnG9HHMzLsRav4qOo27R3ea2b+ec8CkDtsMYQJ/c7whqYBvkxoHt9hQjq2YsvkcNwgWty5yJo27Jm79E6zLN3COB8n5cqnXVbrdy1ANZ2G/iIsMaOB364J8pHzbauqQZVlL9duDIRLuClaJh5kOupFvc/uyBjcXpP2/fLVKL/uzgilyuMq/t4PPhmf4pSxRGX0ckFZp32ST3uhbhWFm1frq3ukHOK5sMr1Cw25mPQ08HZmnQVn5UPYHU1C/jngFRLuJqLVwfF5Y26vOWgOMQWDVqcNTNTfCcTNgdljlbJkzx6ukA75AF+mnclIrl5RjIJaSmNyJDVBdVzySPonV5FIyB1bMdTL5FlVTFM0ge/zU0p6kuSpji5mh46oHO8iRVZRdyjuDVp7MCaIbN3Xe+XUFvLwbUcyQTJ7mfrzVYJPtYcW+tCnOSaSbZILNd6C1dLVECsQUXUxonjlcbk0nWUSSDcKVGIpqHD0czfI8KBgV5qRzKAJEetBVgJYC51tMWQdQMkVZkwUvps1AOQGvZ05Qpt+vsuVm2XOODt/MXj0whktx8oKYJLres16c+t0FBVyzO1lpj7vIW7B1cXmGtuYcJ7NE1J8w24xnjs0xnBjsQpZCYgLBLkqB9hSFRqKsMA2bnrLb92fKQacW99QF3SqqrI4sgDEe02SuO1LMm9floMgxtXsqsnhy4srgIBsWfoK7gXdAiEEq2I5tCWd1QS1CtVnLTIzV2qwiTZ45DzCWZ7xEZUdiXJzLzEsbHM8XwJHA77cH0DEyHJ9XEr/TiDinO8zJDwOQy/UxGzbHSomVKhgcNRSZ5OIaTJbPJIM7x19JRPrmK6pndrODSXvJTLN/rJ0qv6k0HvBO5V46jnDK5eJbyguna+vMIMfCee7gspcsb07wjaJKwdtjOoejD2VKsirv5lmY/3S9/v7Ghyq34YmZAK1MxrFHldvr+/V5vl/PWdPrdXkm7fn7ffm+jvWbirRVdOoaCwuNRpJd1UWYetpErlvzJZ2bFaoAH0PXznzSDnN3/FAnBOsHH2gQs0h9Gl70hColxd5X1sofEvlig7xOp9WSDa/sj32jsqN8NoPw5fGOvMG/9z/wdwdkuNMt0/m8w2GA7DKyX9Ur5psovZ0X/0Kyx+QLTBHCxTtiV9I1AWmvy9WJ87gRDBPxi2DJ4At3bJj6r5ElNlvTwFa47JyAQcWke7Ug5iooDAcfJRyjREEJBBzGWo8ORgW5TMN/41ljwCKEEiG3I9dZ6NyxaVFdPUJ7eNotjR48gwe48WqIAcrrHEMNr+vobKzKqb+fzzmJLYewzyDYazSZbzZQBxNhY5DE2ZcwwBNoZY6jFUzWjqBZno75fb9/GetTdM7Z4xHnoSmaRWV26r45R5coJTokY6p7IH0mcDps42GbjDBKGB1UnzZdquC4ySzZDSc0ualEkp8ry8QS2jKPJVYrOBPNgccx8iN1SAtn/owwb6ZRM71aTWudzxzSl9GV1xhRgeFsSpKywanbYxt5bKWgyGWPsQgGtJa60qt1qYFHFAh1KKjujoPg1Hy0uBgkAwzGx0SDl19v92lESBr8PPe+3e+EzyGsIAVGy/WVA62YD6facIAWMWXcHFEpVc7SR40pNlmf/pTBh/rVR2LN22dp8O1kbg7SUnE9vJQDC3o616QkzFldn+lwPhLfUH/WGxFhRzSXj6haThA8SgE7+thcwC7Y/YD+Tsi02uaJTVSjy5ZRexWcnQ2fCU+CvYcbH/wxA8nm/WRg+Uw3jyWg5/QAS8T96v+ryykENHm0JaAa9lQm7MoS5A/bQURu4uwymBBxgB+6ViahBpBNTdIoJtqykq4RUYmkhfKgIPIpZC4soyTMc9COs2RrNIWFGLkZONx1TpWoJbBdAZWwDEXEPZbGsUDoO74I0mdkprLsdVCXDtrOG5jm/QiSvC0w6NyBACnFxK3NIPH3IJm+E92rsVqVYYGGzdayRDx9Tm/hVeELaoK9/E/ByHZ1TmVJopC7tmu2oWk12hVfvksEdlMz5nWORF9piXEVxnXs8CoukUIqwOtQyGo5C4c7WSkdtXC057G6QOxUpEsik2NfKLhf+ilBzL+WtGeKqGUqkwJE8gc+JT/HAPwHTjJg7Tet34bgHCZMbvdROctymEQNRFghKy18F58WpuTkZBxCVdUvWMDSzL683CA8BRzXmWT0WEAFo9KtFxCwGhg3nkgnqYMZx4rlPftdli+sqvpkGewIE04JVf1ecWei8IWfGdmCdU7MzCSZzEF86ZwRIamAOm+K1GRGTYzB1RKLa4ir1kVnFwbZ7tN3l6Pbb/ektI0lrPAoSOUvYx+BlkoDe34kwhc1IkG/KS3z3TVKTM5njYujerIg8fcnHbIO9GMF2ZmYrnM1bTOtaI+9HXd+GIxuuGMXAq05ZT5nAhNk5vRI+o7W1BjEsnMyySojKY8I7sQH0lKOYZ1bndOEgkXFzp1UZI+JInZTMK7IV1ChudguIl1MLYcLcs7iXtc5l6/Jmt1Lfg9imoqMA4Xvxmg/8UwUtRk2berpa0KTwrmBZPpRgHL+U3Bk7o77hxKS9qn8XJ9j+YPDoAcRb+iGqfnJYdejL73y9tfn9Yxt/Rkb+DmtJCcvaLS5Mm5RpOuQdYaBGfG1H1LMlmC2vV7gQDKy3DbB3tAN2F7+VpkG6He6spPlp//jI3c6r0+aPHhuUMS3CBO5k9+u9GHIHe8QY3CS8sOiShYyeNH0Eae7yorAO950/vjKU2cozTQEQF6vHlR2o2HHAlSzvHnJU1Ww4u60Xj6/w8ppo0qtjKpGuQ/2oRnS7FamhVDui9zN0wzg8M4QwObrvPak+PruBdZJvB38wOnpft/buHymw0iYVWdcgBKMpbAy1qY4R1yu1Kh4giMRXDCFOoIyJHt55KAaEppib7wCkBi4N080mbSg2NHk6Tg6qT1InKhYR2Lt1HTENUPHykTV4FEAz0mSjWeRIQAJ1x9ifF4uaaMFht7iQautopvAxKKBIAr9zHPqi++vFzWK22t3IDI2TRjfnL5kJ96RWw8lmXjCg0F8CSknrrcnEcieTB85hEtid2+pfx7jXtlEhnm6hc208bnQbKdyXmwLBm9fiWJyeeCm+CEF4rJctXM9XJ5UAZFfR1K8RoL6ElIvgRkRvAYL8rLuV9SwiIbygexY9si2VNHQ8DRYRcjOxXbNZMYBHpmIVtYu34dHEr0rIWAVjmMX8htR8cBIspmZm3lqTEnORY+0+uAEilFBdXKcKRR4z3H1cgsQOSHWwER98H77xHcPy5UM2fgIVr0VZAN0WyIraRHRrbMYEEBK3RlKJDpYXi0XaG+wLw3DWM6oPyNDq+j1Tu1GmYIvVmHL4S55VV/XbWICJ63Ctwc/ByEmTQwU65w9XWL9HSLZgQkiMUkWstby1SiNpJnwJ7w2f2U3CXIQrGL757TaMV7ApTIGHlXnPtPswe0dwWlLmwark+fnSGXU3ar5c7RbEwMJ9MrcAPYRkQvmJw4RKMrp96NCXsiT+T8p0HLn5RpFLGPTTD0/eeXhm2Ud7zmibUVJABGKoMesqyluIFeySl16bNgBHZzT+C7Rnn0sAYWotlWGfGPFWc1xZh1mmqWhz8X7w1vIONV8zZW65fDwFQ0ongS3BVRe41VEaP4MxMmcgG7sxyjRk4937C92afm4UMo8ptduzsqLr2WoxbcqkPWprJEDu8CzKBriZ1UjADUapus3kC/Py/TDrSQkpqwM201v1zh3eRFrrmx1d/4qYOQAzouv6tdx59SPfOc+fyh+pTIP1GZvwJJ62yUuUVLHo+jJbnQuq/ycovoHk4cE1O9ip9AJk5NxPG9L1Zysy/GG0uLqQI6qkuWnEGihE+aeLRLZzH4eX2wkJa0ycXqE03HALLQWB7AoGa6H/Jv3mRzFqxS6sgkCjJMN+/ncHw/objWwmVnqXuALqL+Q0vP59LjdQrKABpS50kN0yLBFmLHEgGn6E+9To70FALpvBRd0YHYXagR3M1ElD1gWdKHaPBZj2QfMV2qeweN1Hl0sVbupLj7Gbc4Ci/VdYiZxYKe86l2TpnwEqo+TNsmDc3+6Sin7Z13RrtCYx2NwvTyuD8+vBzciup6vac2aOvMkxOeESCYJD5HRtPsxicojh94vmo3bJo0irjj7qdlj44hFZAoTH6aw4xTW8GL3U4lFvrdSH48aO2shcVC+z9DaWsqR6c02xsV/eb7f35ySdL0TUlmOJ4Gc2KScSaVuetrcP5+EtyZ+DYHSGZ28fYJV9maD2DtgkJhrvkyJ0+4gs5UnRvobglcZOl0sjwIJZUJRkH1Gqid15CD5DlnB95fBnGJDH0xXjtxz2nvPaS3rXjx9ymhL1zGdKO0pH+2skqhO6ZzkyVsKxZJ8XoMm1kYiSlxuLZAYsiqQvBx27OaqqKxuiRqKg/IAn8xFxt4N9C1d8C4c+0zhv6NkWvy1muKJBaNhnEdiJTwo/syYmU3nl/9gvUHQTWqr+ivX2jcyGrpaGU3Wsm0Xc0jPxBU9OCdsIeGu+/X6dbv9cbs/rlOjertevh45sOOeBgQPxdQs5FV1nMzG01my2j+4pTY9hRA3yavhP6gQbY4g+ZtZwSZn4imOvdyHBu859CPVEPTeTyLeYBL2ZLj2xH7Z0MBnlpmjiwoOdD8XnvSfaegl2Bo2YXspGXOD9RnDbWrbh7+Ck56sS/NLNJccBZ8cLnJWsw3R7Ke9Bap8M2+MwpUPYQsdtJYJ5RP8NH9K1MAav93nfClvyjfD+7HT5VqTRoT0P9qGsbRN+6daaXGn45HF5k5S96rTFZ1abTnOhGBCrtKx7P0cVv96mbFFg7H7Z47OIhK7uXKpZImrG58+7UWXRsgriU94LKvUkE+zzbSh5ajn1wDbWXtYKSuCtlLcjsojEkrsctf8ronOqV1zZ1Cw3aorMzB7Zk4pfAPtxZZ8pYbsfi3vArWrpEnWMCpcXG4YVEx8m1EBPllPpFz1UwkI0oHhbMDiiRcOHubfLmZT1XDKSCbxWcQXRkJrNLoQvpSUoHRovLpaOMK+RrWhOCn+qBZQPRCeqYrtIrNGZucjhNBN6GO5NStQvLHnbV3ebQBpO45TcrV5pSnZSN1NiRbSkGsK+tQ4ashUSJXfRVuDc6kE8Bb7o/DONPKeRiUJPL2nz+dMwgT9YPx6UI896TqivGag4lneShzJPdtXzbcl8Zg0Od1C3tGIghJCpRzEPpzX0jMgcMmdCiA6/+jogIA1A0VZv6DKONHqKphQYy2xQMI1pS7/pxK7m+hYMsM0eDyIoL+urnFoLceeuYOllq616tCxHIfqYrI4eeOcpjCkMNUjrlrDZrfgmCIhp3zZc/kC2WKMD/SRroE8Abq+HTUYi35BZ+y9FaL8bqZ6d5CF1tOU7riLulUB1yMgllU0lqXL41nQQSRwf36fySO+JhVEp2CBx9xVfpJr4Mx7A661kalcGszkjBbxQwjyHblMEnYATxeeADDohvBQNu1+qj9tazEN8OUO+nfGMkmb6Pf9MW2vEqS2UQenUOy0ZxBalsjmSyu4SyJnlBEn3pHIH0leBBbNbhVx58sxtwxS6/Hss6BPw4zEJKdZMRpwLVmmIB4KESrIXLaZrsH8ZUBAaYulzCmpwnQM9R7rd7UpnB4DAWy/HPtuulmcgrNXeY2He6T+7vVErsi12PfE4Re9jRJr0dOVvUI0HsWsAEImnVjckb9gzq8PlVe7NHSEUY9AmBYLtXcriGSUpmmS8dkn35iI7eEPLmPkr5L14r3WCSqjvqBUxF3nmA7QkrKuk6E4E3qmkDgHIHdw3oCUnU9s7klQm//nCMyk1F0uz1GvJi3r+X4/UdnWpqhHtjGBaGmIoDTKuU8KwuXH5/rjfntcH/fHpOST4ol69kqD7e/PhKWaZzrx/7U0FwbApfgr0RwrKSXuM8txuaA4yg2VrWpV+4dPl3maCAGI/P4Y5DR0p1IcXH5h+hXz8aud92+m9A7g3nV7gx+HIgRekopc6gQ9Vj9jQvIvXtnpVfIFMWqM+1JIAxoGRDUyw/27sFypVdzolNabwdLe3eFrA58m638nnbLwyR86sPvpTf4FfHutMsUpgIvFlgLt8F8qiPbFtflXPYYU8iiXEGod/KDT3ebUqQRQnoKavcMATkH/3E0iVIA+Bs80N77iJR8HY440usfFCa9hJpmGlsk9TPrz6+f3vGDeg3VBeCV2aSYXokoFaQBhQmb99cR4xYPMyM4RdpZKkTE1kzk5bxpDPl/07x3T6zu/N/8SgJkqPGbjYxxmkUsplkyeDI40lOvFUTGIHMsw4pzMFvP7NinE5gZHDIWjku1yvd492OlIYjlj3GJNppS1VOTSszPyNNOl5tPHoZYmdj6fv+KLJJmJDVe5tQo0D2Ti+3KIKIzLkTMHaAZ1odYJot96roZ5HaThy7RqKn8KixbnArfke5PBBaBCWs19YPUSHG+meOn4ttwgm74WCzyTtkVbiLdsJpTuwQFoEO3TMXWzzL6a0Hw4UY/OMlD4HL5g+XIO+qrmmZ0lkDmdySIx1+c+LtTDrHM6BVdPpWJP+i7CBkbs8R1sAYZB+2IFLhXaZPoCFLA6FavnuxezaxGmKXQ9uKV5Z7T77elEjkDQCXxIJAZUissp7q2iExl/Zca8NK/PSKxUUjpkEdp+bmKSItv8bSRj2SwUA/r5zkJWdWLZpvoDG7dK/tIvf/aWqv3AMN8wYtiEQyTChyooDoqIR4WwI0BrlMuB24GxToTqCQL5IYuFSt1eps9T6qZIq5Vp1eX5q3u1S4ipA/OpOSVJoz4CNhJRfNXqJqZYEc7CGKjWbihm94GZuD6H8kYuxEnYrnq6sqk/SR7CMfEKJ4lcGC8FV39ds2yRt7tRnoE9mTgYWCL6yGjBnqpags6F1M8kryQixU3iJw6XAj8BkLjtqu3lnhldA8U3GDUcQTW+SQ8zATEzDcLOymBRM4p+UU0zbzjnsV8SmNAWJ2cObrMT8JtEW8KfgQpZNAclsPDqCoWLQwo/Zl1bAnjmX61ZCDj2QRKM0p/zwE3I9bD33aF5wWowsANIqvSf/Mp45VWRhvvcOQZCkzW3s22AOnml5JFSwcKqilDlOUjV6PR36j2TMyrf6RODxDnHZXJKbb2QL/A4kKqgwyoLArwQuWLpNgZqsVgekQItVqSRiTfOIyJzzqQhAr/GvWf0VZSn2xal+KwNqM5/7+sUzy75u82ETZCBiRWMYrT9/lwz8IJuBbFFvzKvot2CNVMytQWDihUJAVDO3TeAkzinsWHGiYgywW/ue8ErwoXCQMlFv+PNI+SaxgSfy/U5fsU5SQi9Nsw4a+jxzq/0mUFlhJidWwjv9Zx8AmAKvaODrtuCV4emxpp8fD3u9+n9iY7rnoQcXpNTyI5VhJVRiOZxD4nxgSdxLLtzI9sjxoHhbTTUtpnJgPNbEuBpFp2K34EqUV/BTFF67pkuPGCp+rT8ldVmfRT5DPk9kgD5+Lx+XO9/u1/+/nj8cZ/Vckh75NFozt+f1/ecFnN53m7P5EnBQUZUzi5sBjGYxGtOZKgw4jeA4c08wDoQMGVCcv7lfqfbF7k47cx6qk6h8zguyIX5YgVFxyhv7D4SpdqB5A77SPks86uYOt4qwxfdIi4ztgLIB11C8OyktcjiqukmPsMc5M6AEDpdT+V5nZ3ZTirMBN18QGn2QqfETUyePVXgupiutfZxl/nbjmijnCCvWb4zKpyr1f1m9Fb0qMyJup0+UpozJNjpQ1fJX2XfvbvTQAZp6SrW09I0d/J0gmaT6cC5KtS75kLYJgwOLWvOCabdoNogRdSw03Q5mSOL4N1y7RyNBzjGeNiFUvvQsiPNSKrI8ZoNmc8Z3pig81T1nMKQZaQYOM6u+gEPocODyTwQpN0XUktUyOlTbZrSbaqIr/eHG3cYCTNaMuZSRMy8AGb3n3gpqD4pNp85eJyYJMHJ4ZTUK2YaPTckrjRwO6gJHSJbmkDbjTU8a7XgYv5vWZBZNU4EJxcKW128bSj186/kCpuBWfphN4mCxLlNkDZQayrQQQ8RKOAM9cciFqd0UoJra6vo476dHUv1+pSdg7YSK0FyliSu5D92JMcNjzd0fRbZlsO4IGM/4IbWAh7M/urdwB2tgfwIQ1D5Xge3qfjB8sH5ZB8MfuawjbkeqyVYFoxxFWVUS+Lt6QMxjt9FNw0MwfwAdZe04Qg5r/G5WovOMtJ5SEyA3zUtl9uyssMd1kicKWQw701DC/6p24zMThF7tRPXIt8ypUf0Yqkiv/N3q6CUPJcIyOx6E/0CkJBCeaF2CwuAVcPKSxGG1+B1gViagewL1ZudGItG+0ECqyr6ssPGKhetvpHasvkz1QNsQu488D2blS+n5EFxhAK/HxNbksySHjC4T3i+NsnpfhnD+aRmKJRlYUTMBVlzn51raL+BxfbG3MatB5VuxUKwAnFTis9NZRq5OQV7RbtQSUAWRq2YFCHPZmCkl0o2UjAz7I6fyE/RdQbC+oTczGxGSnndKXfPbetDAzShs0MBIFlS4ZCdrNunI2J2oqEsWhuzrR2qpyRb48QyTbdKVj60Y9WHqZ+ZrL7VXRbV0GAmZluWZUduIVP96jSpYH8zVWZynL1eTuo4SUiV8JwBdbMnfUSQnDz0ktXiAJxz+6zyVKd3XMr69oz7yDUzagZISstJBLN5dZ5JRI5ot9Nz/pgOYayZHvkT4yknfggKzxLTwQIKkjzPq52NKlN0tTUGbO4X2ZAHoYHA9jXsieuYVdjrK64qXG3kLrMXJXcfs5Lkx7aH/ba0Tjsr6CA5Nmh6sc9f7/cjBl7UrAYbJfMcLJmStUlDoF69FKB6zf5ii7KsTB7FLkaUm40ne00jX1KUbyS2tkCB6OnfJ9ThoddrGrsE2WdpU6SRpK5pW5FRSBO45SjEPgSIelhu4t7kN3axImLy+9K6Rv0aII6HAl19JketNyTcnvhpH8JLVKAnUvokN4/2klPmhFRQrkXVS5o0X8WxcrlPq9gceim4mVm8ntOGxM8M03ZRaOuViOXbG2pPAdc8sMXQ3BoBTeOTMppk10HRo8+lp97Uk4++i7bEGpWLwCFdkOKOHx0pmBbFM2/iBO/RnpNFd/m6Xv64Xr6u17/P/2//cbv/QSV3jI0oa9fvy/t5u/6ZBtrP+/XXZ84hm6PIFJfQ/TL4Muly/s4ySwFZD5i50fx9rOfMZuS3YGaF5mHmLAurSD8Pws+TWMAwX964M6kNB7UCrtOsDqPwWAN4xf08rIe0spEXr0SrX6J8omhbtqxP4WAjBzc5ic69wh+soorBiaGe1pgHm0URxr6Qyd9Ywh3cqypfXXahwKe/oIierNz9usxpF+qrj/GqK7opXjyW6BcIHbU3sSEL1vrnOhSWy/OriVHijRhCZCM98lMrEu/r7TY5GenS8krfxsjVRh1nRqazjMgm8DutAe+P9KB75Ww4zMuKZztN4NnsEX0zqWlhFauGyHncW5i1YXSq1F2s6IgKYp+kBS58BauW1SWDaQzUSRLERMnNDAIIJ4Cdc4Joc5z3xJmm9zzrnOwP2CE8lv5AGeQ1bsN0Ph7XIxZjJqSvHH3JXn3uETtW+Zt1Y5QdZsmcXN4AmGIa5ED4HJ4LqQ6BNo5sEh1td7npnWyGFkLpGJXtPCaYwm/x9BmllLzDBStLhbReK35og42DMBLQiUK3zNPgZV7g1uHaltqaQJJpVUcM8EgBoGHYQZpZCIuhxweNdi3X2v3IhCOM7Fg+wVV1J6Y+0hDijpjGTxR6joWqgZAH9AUHJlBZaY5J4ykGY+04HQ6DswCVL7OLOoxKADuLnlXeiT0seAvlqJMjiIgzL38y7lUnNX2/XMFvd8mina7GWcq2ghsS7JLWBpSr4qQ0UotsXBqluiOZ071oWdAhmA5uDT6hGrSlXGoyuPw794SHY3bB34hF6xjIj/oJlLDi5mhepSnvPH9Q9lirYRtFoV9mztR1J9gutmV6bqKvg3kf/qipzZ4DJ5hJiGaWi59seE6eogmWL8IhAPAkX2F0LPJ0Z3Ap107uCrYJzEc9VByJqci0ugPZgPOdJ/wIyo4yCtb75oqU7iOchd3N9SP5XnCHzHkRXuYrBQponDDH7pwjFbguCitFJd7o6Amv/i/8MTaGCUTG4jvbkz8Ebp73+Ea9R3uk0FHt6wd4qc4o6DN9blu9Ko/TOoDvfSH/2LiBUhuWXQgqdYAJ+8mE8eFpGDtkaWm9IcuJUCP5ZVfAXwOMDK6UVGfInM0BYZ0+BdSxAJ1jEC8lT/IE/B8Ut7CUdAkZe3JOVEfZWfjvQC4PuOUqq+u3XLa4NniA8LDGJ6dWmAOTZ6LG/w4NnJ1LrWazsQvuhkVkdVMlhDgdKekJN8ucZE95V6SrdJ41ClPyGnR4R2ImflA6sEpk+Z+rf6WzJZes3FBKivbVnlmCDh1InisYhJLsup9xU7LHdOHanZx/x4IEwWJZxuz3a3kLVfnNI43eMwc/WOiOQmNmcujROrGIH/Pbhe1tTHvqgVGrKPFq2cdY8ETg80r6BZgtk6QJsVAtCoaBV1m2kWBFWhdPMjONHZqftvg6GtXUmy0Q2I65/R68zV7jF4BFiqQ6O2aGPomSROYO56ZENqCj2viAMD6vSK/v5IaTPKbdHi2Ncp3uVNzzTcnMmLHaZV54DeStYi90AISiQ6MTi1TQAew9gmc8ToM7eT1+bRzg6SD9usdc//pc/7hf/+N6/dv18h9ft79drv9xu37hWE41X3qjfZ7XOVL463L99/vzZ7P5Rk+CBXSbgqCsyMtuaKYsvA9OJu/xL3+VQuZx6u74Emk2CaspUi4TFRzkn5bXCyWEV18jh+n96PeSjz/kri1pzKU1nvJ+fnNnGGFFn98dgmny5qPxxMwSLN7GyMutETJdOCzEya/A9cEKygwXCvGLivzOB+BVdkDtETl0pOMc4NQfdgrnT1hHf68MPW3TXtht0ChVNnfOXTbwRD/J35stycRZMhM9Bq8uWRHcNGHWzv7Ov/TdmG2pDaBNLqq05Ts+mvTCm1mMc+vydb9+3S5fMWNx2k8Dd1sEkpBBHC99KPC6Ur0VMhgv7jSiG7KfZlphPhPYSt7K9H7/XH89n59nOiDGr/YaWfAsbYe/5bcGYQY6gX9YsS5CBFH2LMYKGZiAFEZ4u0/Xg8A+2jN2pgprGEqaAiRKM6Y4ZxWfVbr5Ed867QeG4wXGww+tCpn5PTYMLq7vhimzUolhzcxIHzrqV5Dd01EMpqU2mwoLR3LPAYCbqQZSalOzeUya1Z6vMftvWt+scisairQ66+D4MqhEKXYZkYz53igR0Jn/kdtIvTyvm++ib3CErzEJJVBUkSzo+UQ6YBKGn/b1alD6DsrbK/j4vwyAaaW8N50w5r7YtBvcGXChpVC3g4mWjbo8n08FMKIEvVjNMwHEhO8jK+pvQY4GJQh2SqzMTR0sNKTEnAfi8L6rXacuHWGe/4X4iicJLUJKucvK0czC/dfmW15RB8oAfAbcEKHxFZhAFYbgQ4+kNgrOi30KFgHi47vX/XRYtlCZazDLnAB+vgQlMnOCpXVFcVbgnKO548nFIK3iJZh2qO0iJGQYNDhhIPZUust5IMjuBfmPEvkiM0OtCMigvIjeYHNgpGfDoW5CHJEGkVuv6aRJberJpFrOLmEKvfPFbqpfTpAgTAwDODYSQPStch6RXkC4hUQ+Ki2CBEtmlQpnaCo+nGfQBY2ZaWW4k+LOLnaUajPsEHsW+CiogDHnfYVtmfXGw6phO3/YVmJK8LjKP9VON7Xbrzsn5N6BMD+zt0nASMpEOW4RhSkS010j9oDKAoAOgNU4nd6Vfl2koHgLD8dHMiXH6bOoji5t6u0RPKe1VwvLmmRUuXe4cUAderanBQV2WfzOlbYQDow2yYyAm96i2ioMj1CUwzm1UpkBzwiugxhEDrU9LBbc1Zpe2l5h+DDzHOUuA/IMX4DoywBP68zYa75NFk0JCC0ZJsWl+NWYtT1HJQn2GXbG974BGlrs/8y5rKC6yhQ2szx1XXMAh4Ehb6DaDvuHfKRuOQZ3sNnq29so32nEFWVJUHdyQlMK2DeJXVgsEjXQiEncAPPMCZZqeHxdDEA8Dohx3j9fA649ZCBFLg0ymOADw4KoSOkBcOSqCttguAJWahk4RMvYJ6qScjREuNZrgq9wBM5Fyz4gkjgaJBOAb8Ebx9BNpHSeGinNHr2nUxXpDIBgek6Sg8S2rwgOr0AZwntVB3oLeExvG8jSt8PUbNZlXM6m6GACx5VBCNl3/Yo5byH2bwL4iRSRwa7wKHo2yBHD+n5PNDhVb8mUvHwuz9crp3PCY3HA13BKOvPn/Xp8PaZHiak6RjMwqgcseMTl6nBMs6KntWnjFWAgt0PUo+smR5nehnWreMrF5/O6vT+Py+fH5/b32/U/r7f/fFz/4375+/36t+v16/3+Ug1Xd3nfrt8TBB4j4b5t1gI4vRFIsxPeQYyxzksTGerYEqYtz6odhQGZocvyWnfEEqIGrcSU7fBuQhjVovcdZZ/9DwCtW7FX4VmhhZiEYJhT2VvcBJmQHEf11NGrzPjg8YnX7bToiqvAusFzZ1R2BV0cA0Bc/gnNNYpQgHt/NJnuik/3/9UTGEmu5R8NVstku10MXy4sMI6VZ5CdmHMovHr14I6OwsZJhawWeDrHTrIcPwwaeGWAygA3L28p9Hdv+0ref9Iv8/Nzv14et8/XfX5OGXCO64sWcJ98f1rCwYzCQQ+monqWE5AiIe45Oebc7DcG87hT0V5yWgFWgUtXkCnFSPlR8PaXA35TL5OWdKituMPsVpDNGZONc32iWQ3HIvqZDaM7dK3iYRYO7veAtCwFVPHqXLxP5XM4fCaZyONrLGQdo2WM6DljPIexl4NxRBP2SJCb188MEoFWUrClIT6C0nWxgUlO0u3gjIm2jMpi2l+V6QdCHkAwfYxaSrAkgVmVu6I5BozwEgKvE4ClBGjYNGJZdoY8QF2MPamwUjoIRPYYAY1M8ipLyEgLpPlivAOc1jsQi0bGqWZBAdhCzogaHs8YmSBeAFJ20sCZ43TjrveVJSj0wEY/VuWzAjYAjzDMMvSDH3QbXstpSeq6QjMQZytQCcAdxfYq6rCWIZxZRYLAU/qUHiI+kTp27l4fKBqALCLcIK00fGbppact8DTgr/2ytNTfYRrBOigvHkFHRMTPn4kud1Hr4Mv6QajV+qobOBqJWGADbouD0gofVCwNfBYUTALfN9S3Dat2kIovCIp+b1xZXCqedSgQtbwa7CWZVxaSWecJ1DdtVVuEztLWZSboEx4PCpH53niOreng16jeOVNOTxU9DKCV2rrsxSFSTjiXbdyQd/evx5Aex2HvgJIiDqqorvT1jsqSt9gfvw6RBE7PL3AKOSpNr0J76wFzEEIZ7O3z4vpaUKOHINsogry/CpBitZ+yel61NhjX5nd0+7pPInvScyzexMd90ssBugi43K2LWnyZYfMUVyqqAimNU2Y9ls7kw9IWPwvCaaqXrsQf95g7HXmct9NWImvbPgFJQIInZDWFYbGTdY1E4Wgf2HhAUCipT8/fCL8qDMKV9SUdgp5AaZvb82UrVAvt9qQD8iWoOJwrVzYygZlfdGY99Ud0Rc0ICBobdWI+ATYFi+Ea5Vl98WYPAl5cqC5Xf1gnxzzLFwBK7k3udYQRfaeWozG3+Oo4nXhXwPAMDdeHmOYFWAt6HydtjP3Cnl9WVgY6dkeiKinypPQg+0hH66N93eJ4vQw9yK4ca9OTUp1FBwspSB9OjoiFeCIJAEleMonoGP9SWpZOL9+54f7Ai4lokzhwu2IrITZfaUJ44r0JYIqZlryFqcOydJXIeoMaZM6jW/RYqUyQzOHppaHLnXzsOqfmnlj3sJ1ZxOpkyNt8NwH5zCxJyDPGhFvRgcQHfLaBc2YDQ5gdRHayufprouRlo/O4WibbzEL0rzec3XMI6/xSt+avVY11EYJYwZFFmsBtmr1KEuZmB/WkjCA7cXICzmOHp/uVDigmHGJoo7UZa85reV+mfy0nJ2eJk52RTfq63n5crn+/3/7zfvuP2+1//bj9x+P6t/vnb/fLV8K89wmRS7afz+f78vm6Xr8nQD+Q1FuGg+AyhvEeNSzHBaKacAZnl16kO9Z3/FnJJX/P1jnYIaaqNyzETmMJ2DzdPCAQUDo9RmEWvBxVEo7ifItpKIgnZlH2VBndIY7vc52UAXzWvTDmQhzHy1J12ThjYHUM22mWiSnHuNfv9kZYemeRjaiSAoXCM3QlwhdwOZU3VipjQmSQQ9kqVE8TY1P4zSWiIC0Qfv+c9ib3SOcgBCKDmacqdvcpr1Y3hIz2K8l5RefcUi8YY/Y9eQueFFoWwbvQze+X6yO5ebf3GMPkvYch3yZGPuQ4rZ7er3TuiFQlR7Wut5n66/kcqKY/ZsJlHPybOCTNk93Jmd6ePeEKu1pMChKRviMpACa9eTk2AGk3JTCkUeecwQQkEqEdC3yOnJ0FT7sCgTi0kK4FNCuY/0WEkbSFaoNakhQeG3qlVYHpVsgkFVybWs8HeXu/0+uLTFR2ZjwIyaxlV515ooKm3GFKcBrwzDXW3ik8Fh0sfRxieU7NBaLJG2pQwVrpxTcvwQVwR21TNQBL6ahfMTdfUIBD6CVrUfqH46rwvsPIqWSejPeZFA20VDPpqn3C0lgOET4IruoV0yuUdtBFYTjVYSoMq6dwZU6xGoequV2kRK2uRmRJtUY243HoGWpEt5JVMhnqz7ZCRfYV09KJ1zjNFAEvlNPsy2gN8SojVCVyelkHefUdZ/OYP1nT6AQTD00yOSyAujdekLhQVnEO0iGPS+5+knUfN4UokpXKceIb0CkvL/BtIp4AL4+vroJtj9Bn41TMGIh/YCm4QSwHzILFeXBVnFVmZcts/LEYmJl4d1GlC+ER+UNYNGoMMXluGVyy08pJkgU1fjuVERhIQbg5+GLPThP5AIiTAYpW+6+aHQ2CJKGmp7NZm8Kj1WmL+G7ewmNNvvnnoYrrQMJXSGTSQQNrss/R0V1uRiMaU32iiLXLL1SKHUuXfGpZ5vIhrYJexy2ba9QdjlQI+0aAo6LgKeEZ1gGvZ1X+zoCip1aQHoZumBDJr+fFZtTGNsGwA2QzrGYSa49iPs7NeoC0x8AJsJZlp3z/kPqioVBCp58UpuaHEfpEZ1jEJQeKUrrN7DpULOGg4u/8PbjOndPPF3Ut01c6syBo0exPahNg3sxxSY1t8rShA//DdI8Ndkv6LDOqdtgipSZswPhKl6fXGNDpzxXtxXEIUQjCn1IWmr2GbsmeFgJAtItyggtmmRIzEQy5ZqF91ZsQv9uJDh4fcqk9l9dPg6xtl+0cNBfptcxx+Eny9vGSKmI2xBqMtMUF3kW8p2qdiglTWWPvTculTYTMAbGLJIuBnPZmgCPyA59UKmnZX4pGRDASObKaeP2jr6RI1GX2p45VX6QOXPKBAVdHFAMGYrpWxOpw0Tpx9oTbeRp3Gs/VjUqGlC+ncSUEZQvoIxpcxILFzAc1xaMgaJqVbpSIWOrl8F7nXZzxKwbH6RTo0X0EkNrHe769JyqCP4IGNs5b7iHyR9pNsxZS6awKq67j4ufHhIdRRAQ4WPR+f49CTEQmRxGq3kC+C3Ti6qS+vHBRLDYUqVUogv8SAxWJ4dDTy7KqAr3Bb4/owvfP+zGyU4d00BXldCToj+vjPx73//31+F/32389xgD+2+3zx+Pzdf3cL5/piDtnmJbBvj8/Pp/v6+Uneeav99QDp/fNm85z12sK4EpkbCt4U4Falulmy5rWloF1LJjmNx6A6dYtP7/pKei3/WO54olN97ZSvry/F4+PDjtYMEAGHfq9EsS3afxBIcxBmpSvglbuVgbq4+BKuVOupEIvmqqDMHdf000/vKVnfryCnjWUoEq7Oz+CDJlMp7oyutLcwRHTPngi0c6CX3fk3/eVoV07SF6M5qsVSE4xv7sEgK4IZY1lVG41e2RSoi4Vx98NYASQEadc0REW2tsCrntyhaed8es9hyBZVoBPZCLA8dyUDycqeBbM+PbS4m7MXyol6aqI2DcS4qzIluQnRSJVED2eaiZXpo4YgsVOiXLdBAnsXV/3HONG4/e5NxkrGFJ4uwDg5HI3b3zGP3WJ2liCoGvTadwlKYUmBFDmE2ZvaXGUv/tn+sUn2Zm8KKxShECgw+m7BicRPCwu/1R5W9xAM2wnL/9khA0hBIzt1r7GWPyK1j+t0p9ApaFMT2wK9TX3/sDSbFBncqScyIecMv7HSbsphQ8y5twHo98RVpMoF8zvqnRTukoOr6qKJjFsHlci8ONo+PoaiwJ+Rb4Piab2ZY6fJVs6K8mBwBzizg4mvCUJCeQJyQfjSGiKBySvo2cb7KU+71FS1ELZ1PgX1tYDaOBrcGMuNEu5aqla4YCkGHeyXdEMpklatuTgEmAO4DQheoYD4Nk1mzPPfat1gle41LGPZIxVhggzQAbIB3iF+y8n5JdD7hwTUqX1A//uf+7iaoCLO7soNMbVwU7XRfWFTF+4jBqUBZpgaW4wJKDOyzPlfgU/zwPvSkuN8d2IifF0op07deMZYYlivCNQQylnP3iKMmNzDRyJGeNgyhO3SYGGKyd6oQwCh7Kq7ugx3cW2WFmqm3i81BVWxrBLJD6gPnIFchesCVSmRmXQ4JaK58j84w5n7vl08BTeBcbvbaUGZ+mx70ym1Fx6Wdgv0HrX7teujlwg3AHBnaoZAXGwWsWu28/bql1M0EMvpmH2/UjScIBDgpobGeLZLWhEPJqgPrywxB1y+2hCHOE1GPZrr1YUiIYaS3ks+5PEAXinHkDRxzt4zepioD9YHsaGpWnBQPBI06vqjjEuIKn5BpCj3HOEXF7B5na751aOJ4V3LJcozA7Is7WrkcBHQAo9KUXRzCFBM5xc8JUjWsgdJVEdV7xUGO6bgSfGjLxBVAqSHERxhNyYaZajKV9yAAEAAElEQVQHoekMiwNYYsTEQtMwMnSdI+OTeYr5xnk6GxcMTmVuOcI4XkUUHfdJ8GYKFjhrr4py9Vxwyl8E1AaNl2uRWTfJttupOAamsf1lS2CVhLXi+5IlqDlEFGaLsox9FVOC0Cshhpw9ICH04IDuhd2kQBvX6Cm1sCZJ3tkJrPnQyYljFW63xMZfLwpvaRwWNY8dmD2gmG2ZSaT3TDpnPGYCBPDzhrRy7fZXz5pOxxs1gMRqPMjF8gKc9CmBdqGoWSTpZ6j6SGfyBGoOy6NMwzaEnhqqXoAyN3ufNmYnFjHZ0PCmLJMDADFBE4mGKWWbJgflPf3kxj13u3M6r9Vhk7s9lvQ08RpPCF26w0iTGzez+Lre/rhd//N+/1+P+//n6/6fj9vf759Jfv4a3L/fLl8T6Z0+Zu9nYkzToObzuF5ur/GBvK/XX6/rK1zv9bn+fNL41MnCjsoY+F21oEy8FMAmnvaTezZwH2YC64Ul/mXY4wPRV5qcmI3spXuc11S7waHhLx3+GO70OdD+mC/vC3c4T6hv5r5w72DN2Ssqs3TgPG0yB1Os7uS7tN9OaywLl6cvbDqB0j7qHvhZKR9T4TTNM/L6hhNwqtGeFkYF8e8gP0GFX1ZX3J0QM3o3HF4w5O9jmJBBkzZ/22l+JRnMB3ex5XiOLzdfoK52W+zAo5mfsQUyUoPD6EzpHpfjz8aQe14vX5PyO73gozAk+wN5gXk13JvYII2XxvP1HhZR9SkaMih3veXye86Jd8vlVa0X6+TxXiGTriSgpWApXWdy/G86J4zsiQNU8azbrmqV65+6iXCozZOKVTf9HdSMNBvI1o5uElNquMHYZRoMLIQqnCmKwX2T+FhkDOdNJRWcXtOZ55l2VhUEhjyOf1D3KM2SorEm2zk7N6MkTz2PCxUVpDB5DELd2TodfQukkhSDVS1A82lpluTwZoyrTHBQjvOso7OIHCU84DKlvIGxfE/pSSjXF8WNgq7ifrMk5GFIBDEMEDBHl0Jf09k/g9QfH9cJRm/6enjkgd7h31YXtURBBp2g1rOWzDrpCsGH+V5HT9pGElyA3QHuY4ocMyLerpIZ3ZI3TQFoPcVI2XwEKorLYHX2aM9mP1mYKNYMPjekM+VnMuPC9vKcrCgEAsFjdGEXq5HWZEC3QUz8jiRCRFNo0TVrimZI9cFqmlF+nK+REZgpswUeK8VObA65cNiWzkF4MFxe2u5iGbfctKb9fGUqIw+Xe+6gRXkupotngI/Z3l1DVwlU51LatCtiUkGdOuEiVMEVUAGhgr//+KNCav4h7/NyvTyYe5SV0EOn67+mvwZLGDAlfGeGGBI2XQCHF8Dp3wAJPiUoqCLw8ZkKZWCwG8YUoRfIyg+nggAeJuR2FtedVTf18OJ/cgaMAWUQhtvW6GBHISnHqwxDNla6Sq3IKM00boOdlMGt1dUnAh17LYjbix15gSsTuw7MUalhPFHkAKYCdHe9vKT820d3LZlYsS2WB4vYd6h5Zw6TD0nX8xjokT9NIXdDVWUWI+Fh4Am+gypepIa6Xbv762GtJM4Sil7tjrcrrTucQkJz6bdied1e8MTVhKA+BuFX2WZa+morLnbwdcEpaYEPv/MOgZwlkY5exhFjEl9xsLv1LaXE37iEC6ubPFFVpZF3hkH2qLq4gXJA69Okr7WqwXb5Xmmn4W0HJKkviiN0vR0dRBLxLKsw336sjhSW0jJq1pKyH1+UdqItGCP9FNxrJEFGXGKZ8S0GViqP42ODvBJE09cz+2ExI/yYOWLPpBBZHD4AZdBRXQ8/BThCugRvvCKtoaLJJTBp7wmoMc1LJ36ZK/i4qxjQ/Yq4x1xuXBZRR9/luSMrzcYt9s8rXpOlOJNPVjmsowiMjEzhV+CDnYrDCDkC3uVIgCQbW+uREdWMGArd2b4Uo0A8EqzBCkc/BsGUx/kEAp6ONgYtY+SU3XhEhGW0onRehhmoRM1kbvHaK8ln7a9pzfP5PKfeOggeYfm4jfX7H4/bfz5u//W4/8fj9sf18sft+mPKID9f90mG+JogxX1eNgHzqaei78pU7Y2he/v+ni9f77TFmvDvNLCRpZDeFhRR6gW4EJ+YcLD2gweymkLaLyAiOXAvLZcvs9lxfvsIBzYSug4ccCZYF1HNgwdqx/Kufc+abn/5dBnLmirJln3tN8AGp0wZEFfdSpktqjn+MuaFLeBf/JDXdE5Sw35fUvJLzNhq0kqfvl/eijkNTNwpBsX5203Ckxk2dszJtyy7PSbFg/DS8+5kej7P/dUVfUS4HWjiinUXngdRp1ftyvOkvm/eAT+CYgqpvCTWA+cWTaKE9T7caVg38vP5vn3dc7zc0PJYmonwjd07recLaui+ZvjMpCmjwxfNTkQ8DRq0+gqtxAXydocLC6PHHrYTff7s45w7Y/3e3tP/4p7jc1RxOXxxlwP5TPZvT1UMvBR56VNQY60Kew4YnynWAgsYTalZ+2EAz2lz7p9WBxsWaz0nJ9NPu9258MMdaSFUo2S8CM5JLp/v3p9XGtLmLenPfX1QfhJZEK4puio94IbjWCRLSEEWbk+TS3JnaFgExLPMbWAp9Esd4RM0Z6t1S//8RfO9gdA6ilsRU7DWjEZud+sTeRvIkxYFRYihgyATaSYru2HtmgRyMIkITZ/jc2eBBu6SuHS0FbMAQrFng0ZQy5waOY8rI3sX7Qa8XSY8P5bbSItATCWBrEAIYwQYm7EcSThFTygXYxgOTAa19BtAv21GvM/3F2Qn+wTSYRLIYVm4uECI21u7UogNyK5skiD7LtiQKdLssKpDO2znzhr1nZ9xCHrX5S3E35UNIEuhIktFqQfZev7ZO24Q9YQT1H1dICb/nRtSBsWo4DPArwDtUxA7sqGAU0vc+QgCtynfi4HHIE7fPwA9c7MHeCK1U1iR5x6coRociv5UKkVv0SQuWOg1dThX2CBEGIdc50k7vzsVt7IvOhxvDDKxBWtJTBSpi6jM0RwwxXRFc17d9a73QgsF4YMUEB7584g9yixRkcHC9PSbz9GUi/VVH8U0c8nqDiG+3VQxTxyQDmATzAYJnm2QZTD9LXBy/osf8hcQ9jzhBYdrZ6RKfbXpGmbr00UZYlOC4pXw4JGaR7geNWOlkwbnM/6K+U71yGNibOuS5Y6xkFEKkraFNRDk2hZ5xBhb/IOWs6rbwpXF+SI0VH7SH6LAdEUhItttHcn8CkoQdURR6pfmKmcPMhS1GK7hHGCt2OjiGE6lQarL4ITXnD+wUo1TBLp3eQBDhVKDE2fpyJIGX/3mGAL8iZ9GrXH/tiUnwdKCAxZT6Sa74dp0CMyLwJnkrxbkvhZ1AktvJfPEEzjpp/uCLqHlydKjJH1GgUikIgY0piyVyYNhR/fIk3ECo0+IBdDbsr8bbV3lQoyXQR3IIPouujdNx4b284bJEKuoSBsVfZzIV1YtpNFx3qO1TNAb5UnoXCftj8ACOd7QQ0e4RfdKBf/8PWfQJdT8SFyXMDv0aeJf4x5TNp8g6+TOTcXrJkHMNFOg9a71PldArffnfX/cYUPyWyXf6K2vy4QXaKtIxdec5xkIjXs15A4kRWDpAFKbX9Pvyqw8jZhReb/ZUuoGU6p2fdwnBfrH7fZ1vT5uY+vP9DxI4/O4Xf52u/39dvuvr9t/Pa7/8bj+cbv8/XH943H5cb/+eIzz7fG4/fh6jAH8yuq+J4dt9FDb0Qyo/rhcn1N6ffn5fA9kQRjEgCoT7EKeib+gky8tcUsVL1Bs2bL447YQVcg2VMZyP3f3H5mYX/a7pe7lpqeOJuxCxztGPebUgfpL37/PHKLh9we47nTYtvxKRbdP8dUxGGvJ+Ao7zenVXU4csU973TkBex1djijp+PgBQ1Wl6ASKWxhUx5Ewf9s0db2O3Zkcn7VXu5TjTUWT3z9egxMco/yPF3SnupnFOPNq/LrwUbL+9izRv/wZjp3iuc/tNsn8kwc9Dz1frx8/xq4b3olzOWiCOfr+NTbb7cFxL7OT98djDk273n89vzG0cFQlKDfGJD67ytNhDDTZS4Hwxo3VEMq15GfIDsLCWhKYsinm1Xc27diHxr8nZWOWJb+cMPXYQs9xZY51hPU1NudgFQBpQ4y8C6uJnpg9xim8aZjhjB2hLdNKRCQZ4KUljtsZfmXcO6epHWg9b2wcdK7vAUUwy6TLoPsBsdBq1IN5Y7oG3x/kBhfP+BkqUQnt4Suwd/kCxS+ZJgQATdmaiyAlXobE+vDJHvrAcFGxqo4UFYN4RBd3o/mccnQzWHKdxgifTHG3Fkyd16UPJVMfJzv+izj015JPAw3qrbTEyRmbHmSySN6/oV8whwQB4RMPRLTLzBen9mxhAHEfhWStR9XGTxwrrS9bxgPHSqI1hy/ockrGk5WmRWk14XLl6Eh00qkCk0Gqlx6aXV60niwAHChNobJr7BiN2QAvejKhey63k/qYgqu0fwc2dPQfnPG011A9ckYByfJAvVFMscZZwHPwxkpv6VrME0tqOeRWq9l2VX0PziZEwHLC7Lxs0hIA31hOId6V3ygxDg4rL8obX80Jjb4exTAvM1Y35SGMHHYVeMk/O8W8Zl4KfnX+BMb4qhbFZfpuujqQaUXUDuchH7yOxXcLglDMJOklaESg7yltuJaDXx3iP7+0cqB7sKTYZS6jRu6uQrb7j88tinkF3Wl7+NLlCqag0ziGcGzIauHy++rjb9CIlzmrYyY8fawAFqnTgaVKQVqt9nAAh1nMod2UDx4vJacFUVP9PlACzjsyQHWZEcDw9MXOojYmRFSBYZ0pCMyMGgbMxHGrul1Nip5fwuBChT31PjZtlgF/FyyuIajcqUHUOUW9QbZm442QS8IS+wPtCBNAGWz5i28lGFKMc4lq5ugki+qr+oUFEdBbwiRCiJ9yU3TcWabSsZfFzWub+QHtuK07GdHPFAoXkjF4aNSO+H6LgkwtjTcaWPC8uwKz1K4nD7NTkdNYCmCV5AbfGv8s/5s10PaBGEqWH18+JMH/Vxy4oKR5IbOur5wanLfMDeEDjWH6ial/VEkx5yBTb2F+ZO6lYpbWzLB7YAqgWXBaeU5qXUCUqt3E2IM0YH9Tr5kwFEaCw5Jx8mesZcWqXPdW/AgJ1lsbfH+/6SzavSuf8ixGEdX5ullsPiyo9JwPXvclp+yjopjMom2CVRUiMxzTNjLbAvHgSCKxpecVXe7bvPjIPAwh54yB2rTX0dtGjVARARvhw+pQbdhmt+75mUDxewzY0VzLmVXfp+P0PUzvdrk9hqXc3tf7/XqfOuLrj8ftj8f971+Pf71fP016mujQ7XP5unz+4/L5X9fPf10//znG8PvH7fK4zamfX1/Xx9dl7Of7/etxv18fn7Ho7/ev+3uS79IOKLvzen3++Fxft89zmkhfbsmRm4/H/JRZKwsWHwtCyZsvlrksnkqzjrCK5OlZhmOz3fO/jBG2M0DTGscVzWOrxsnGGF+md4zAqCt1Tgvxw4w0GvOYnfFPyl63jQV39FB6Bzf2Vsmd71dK0fLE4TLaaS6/TUjeC4brBpNLHZGjgFvBjdq1XgDhzG8VqcxnWXp+r6bunX29X/vOY9MjS/8H7IoD5w37fX8Lfj+7MYVsQeDSCuf9urjXx6q8+EXPukyy50Qn7s/xqY3zi8ZJ7/fr9rk9X6/719c06h/r93JPYDUn4ZaV8NY5U0jPXfSA8JaJ8NGRAAw5oIJgun9NPiAUL0CQSbjF8Qeq4pTHsl+fy2TDKhQ/kzZS40FunZdwYi8HdeNQBsnH3H69J6V4jEn8V/NlZFSEbKpdcg56HF8x2XAYTvenenhfr2cqNdwbzN1k94ypXK5VK5GmGKbbINyyi+rZrFXBMQko1nEmghx31eMxTaH2DD8FlvDsrkeuPQPAseQjPU88G7ik23AmHhSooUB8FO7Qc5WyyRII36gesiRVAF8wtTOgVATStCnLs82KR7tAlwtCmLyTkdbjL2FGPaB3JBXLqUAq4e9JOoVA1KNgpzI6fnI0RhStcUy0v9E8F4GTPG1mTdX0whP8y2yJFiAT6yj23uUzh84/Mj0+HY+yl8FOxhmqWb3S6tTBVhIYDx0IpCqFiRULK8CkDqfGMnc1ikfjNNTLJS5/Sv5dKcOvhuAaSluiWecUpSIkqm0f7dFnpL8dJEvIqGy2rRbRVliG3ZTIKFQLcaJExny36QT7Ka/IYFb4rwdlwz9odi4a7b5SkNm18m5ZY0BJCigP+E59ZH1l11pgNjpY5Z/V7Wy7AcGoB7/Ofo8GQz5WSJp1uvFpgoqtE5yNNmrn8QtB3NodvLWhA/AKxdSudNjG2FTz3WTR059WUAtSGpzUtdTLh+ME5IQC2yLLPcZg9LZEOXa/DGcmrY/lLbDdPnudHY6E3UJB6daF6k6zYUoS6W+6vrJm5S7q6cbxzntTmwFch+TE//ynH71kwEZjSWsISRsSUgbgBawiiGQESXFWDSKz5V5v5Pc7pdewwQzWZHK8Zi62CwT+R1sHloDmTyFFMcVIO6/aCTCJVdVAEhbFXoRsiy6HoiioajfnOe+CVZW5CyTWjj4Ux+RcvT8Su6JlIiw494dHlAQzPkUDeKCYSnecJkFOmYxuZYZUX4OtrGSZFgcewpVECCC6LENuK69pIAvUaMeJLC0cXIqSR7Qnh3fkByZnkotnU96vV5NjI4Db2wMkS8bsMlBzvuaVWFtE862zsvJ8/NyvZ4w4p9GktHl+1ArWxRn3ItDckgqoNYVHlsRvbdDj9XwlvdbZLdaVRwOjGOFiSTqdklt4sJDshd7x2IQWHxfcdBYbMEzWLltClrs8QWJXkuoeKoS2jK2ZYOFR6jpTOjT8N/V7cwqnvrjwrtU3p8VJtMZu2zY1iHMd+3jWHB+0ClMwA3SdgcIAaAM7mP4ImKeL6WRTatlOgXFqp6NtYorPMtP967A3lCjsWFrlDYvWI06IaaA3Vu/zfZ9Qz+dxu/643/72uP/H1+Mfv95/5EhS/CmP6+fvt8v/vl3+n/vtv66f/3X7jAF8vz7u768fj9v98vgacnzcbvPnTHGa16Vo5/Pr/fo8v1/f01b6a2oh3z/elx85wwp6nBVM+Ma4fWmvG1/eDH2xXayryFF+dL6bjyyn90mhS7J9h7bh/lBNtRri4GDmM5aVwZjk7af3KojB78oMboAQWLRcEFm2y4UR0yKRaa1A/Muss5GCRLkFRnoDqu/ZN9z3n2cLA5RTae27OKSzCtWJFzlZBJL8P3Ij//sd/r/9rqT8y8cF5FdmhnAQ5ucHVrE7FslLuoFquDsJRcFpFIWKMi+Z2RDLMczaY4qphbu8qj6CHCzz/f48b7fv2a3JlX29wkWnUfPUYoz78nuyfKfZMRm+PYFuuNzDCuJPk/Jez6G4vGxqPV5p3O6eRVXFdfh6DhNJlHXml4N5AQC9GOg4NZtJ6HJjP6whvJ9u1cPt9GyGjQ6DmnrREYWT4cxH0AMPAseCedTeWNRzwO9jGrUSEdv0qJZhyYcfX4/3nPH2HU+dpeYzluh7bKySLVgO74ZkUMbTSTstvaq8Io3m0TBd49sZA9epvbhTAkQtO8ZqSCarnHPCJ1pL8pSxtSifwJZ4JvFJJKYaciaPuJK0rO9VT0grxvSCRlkC+1RAEzNPIsyyK6TwXObIVrcghDbZOvToUfQ0kVO0kZIh0pidHhM5+dfupkqgRzMEnomBxfVAhxHccwEj+JD6YScozyp3i2DGF2GSaq7CNeBRaB+9WdbGSssm4P+p+tVfH1NdhxrZCs5eLmBrqpkVe6C+BQAOaZh+Y/FOxR7Lbk9gAEzzzqxoXkK+G2ioPKpIiF+Us8osLlNt8F9u2S6rqu0HyFRDUrFsnV2Mr9MWMx9+Kttr2kwKHPV6fVv9OTJhMERfhSDtEoK+md7aOO5liSfcHnvjxJDdHLwTVPaFNaKnaSxixKWU7LKnXSRnUJzkjZkWCRqEBcqTds+s+GPCzFz8v6YJFjpraOkkXsSzLID9PRQhwMAGuF9e+z0tjF9yjxJIwOzEeQm6MqQBgPhG8mMtIo/SpDPtl6NQWzHoLlQqI1PX6mhzI16kvclQTd2UdCvRNwc7i1mFBQwpb+jWhoUrbHl1X+AyOZ288RYZkFABmK6eOg2498muQydwYe4Iee1daxwkYkdYuQgDY+0rI2md4BrJufzbNge0YIJzPq4r8rPhzDNqTBAWg2DnF19j/aklDGBi5ga+FOl0lr7O6mJMRtrJ1Uok/VdYbtwast3H8qUrPF/KX/qTeH3oPI0WEqNaH1LfGvHGQKnTIUHL/i4ZVvSGYLT7f9NkdzlZ35gQ83XKYWHreiuZW7o6VBxvyZnUrOkWORfFpcSXe017G2UExKKEmK1fpVDsBAFhDYsP+UHVw3xGb5qF3R4crSj+0pZzBIztRudDm1BCrFM9hUF54ASNACaKx2yDYqS/oOavRJr/Y/P5R1qJkqROUtwagfe0gckdYnUQdH71LIdJA5zjjjihdoQv6ksY1wETve3GnfBoLuucFpnPySJGUlKFPoYaEj6nfKWd2yhUNg+DWkNA9bziIhD+2b6pbn0/B2Sg/v0xha8eE0eHm7Ip1Yh0jEM+oV4hIrAxavtxDgrV8oMeSJuAmW4lEdWU86VB9Gz185kea/PtjRNLmqc9Y5Lz17r56lSDh7MFt3E2PHOo9eN6+eN+//vj85/Pz//+8flcplr3NU1uX39/3P7zev3/fj3+9z2NrybzeSTSjz9uf/wxac9fj+vX7fZ43L8ej9slmSqPy/s1oaH3cxz4r7hWX5/P1216X9FB16wD1ALFj3JBkVAUBONlle794tmZT/SfchE1ALUNr69R4ziVSzLZ1vjqnwbPpCCl9f+/CZx4WT+rUPGT1fDFMW3+zPhKwBqbsG7fy7d5WhkmK84VbXe+8EpFXeeKa2QnEDyEZJxGmSC0gDRSxh2zl+3EjgJShSLQXk5aAJW2juW6RrWTE1h//+wlGJN/noF+QJFpiCrnB5fZ8msX38FW5cjXHf3AEpWEmaJa0IDk+f583y6/plr+9nxfXvfLMybr7fV8PB7pWaDZllr49Fi/DV18P79jSd2ul2eieeQVBwQ1bGg4mlSKOZaHZn6Xp6lbqzngqmYpt+v1NUcYwcKjaFqvgdeM1iCzkgTbkDYer8gBS2TMkOu3+MDj43S+T07HHGT3eaeWeYz6k0IyzGaM8wyFDb9OTPno1NlODUoE8d3WoVkzabfy9kCbuFl43T3qfySIm4ZB4t5OoSAdiUcnoDIrxmdcw3MbmdcNDyxSHrQmMpYlbFS+6rQ0GGJDM4zYqnuqSXY7TmQ3En/RKP/fkjRAi0IzIxsra5VyjIucFNVNyL54ygCbiKaRAeL/NSRuMW8kP/2zlGMGzHANJLNHr6iIAXfAySCUq8EGp6rCRfMxPBL9wH1AihmQzXAn7rQqt/gQwkClAudVcpqHAHPSreAj3HAwyGQllDoFqG7ow6ulCTmG/ahDMgaz/Q6TkHcidvS/uI9KBjXMeX6Q0VBpSsNs6AX+FIlqyDkM8ZtI+cPF4JxBLebQDfUrQZU71rJL6Ef07D8Hw2Xl2d8tLc20M6wJ7AdDFO36m6u1vfxBHPkLDupGBe0GGfOIhnGzMl1V59b6hbXdNCOLOq6U4Ys0kd0GJyYFuiiiguD2tW4hPNnc7lBdEAlm+vD4kJRCwDQPlAFlLUxMYr9ytye1gMiD9M+JEdXiDyDNhXWwpoisuBa94q4R0cXJ6t96cY79g0Gw4wHsIa6SKpIX6IABZ09UB2voprHa1TeDjmxAy1SWOtko/Wp5H8cHgzUHzxI1F3ebjEvGTk1vv4/N0e0MDbB9UUlBdNa9ucDL2jLJcc0eKrJEhGsAA1yv5Fx9EZQuBsmzQIDuKVmTEU77YXDoPOYQrsgKGDzN8pgqY6XVCkkRnWwcWneI2VLL6X1tJGEArREFtnxsQHoRpWWfM2SBJZSSOjyK/5ysxycTVg1ijF2a9CHcaFvOCkHGK2zUJMcYvuhYTMbxAggZhqCqKyG7FoiJGxn/FX1lqlVhi272nJaBkpFUajym5LxmQjmXdv72hG12JYulf+DIUWtmRu2YWqn4fbsJ+oAJa4ZrgMagCHKs3Y1numDTQY0VvfL9gxe1EIDXgb0do/1CaTcgQuDxb00Hp+OmjIFE9E3J05BjoGFgE8AMtgeceSkmbNwFnj80gYmnso355X8Nclqwuig30XJ+x4gXa3K8LYco9lCAqJoTpyl+DyiS8Y0hNR5j7fNf37OMx0Q7J0QzR1zOvO63r2mYHQmDySD/j80565izhtMKC0SHjQZwU2ic/trYpdOyO6zg/Zp6wgaQ09fK+0fhox10bnjApHhQXjc1dfEmYGbnA3gHGC8iT1N5lSqzkZS3y+fH9fr3+/X/+dvX5f15vC8/v5+P2/WPz/t/3x//+379r/t8++P6+ZF5Ph7XHz/uf/zx9fU1Ru8Egb8ec6jonJtxeeYolMf8lQ7R72knPqavnmgywsbbI/XmEhxRiq7hJ25Rsx2OIS9Y4VnpsawITl3+jfjIT8TT8nPxX17V8Uq3x1vKs3LlrNdigaDFSXA+lZfLV8WE1ZAhbuiO9+2L5xlUynj9q4QZIZqeDxsTKIfNDUH53MUXqjStl2Edy0ilHkydYOQycxZzMDrkZ2dZ+PWevLMJOqxMXu5auiderwtCADgVAKMucdK6/GW3t192v/obP/Ky3f6TYrsmcZCCuJNb5X5B3Hs/7JyWBIdOQf5nxBxHyww7fl4uz9v1+/L5fr0f1+sjPQJvz+85EnuysiZT4tf36355X78HbR5fk9Ux00lBIpWc2UA3FEY38uJ7GMz1B9g4N1EQYSSTGan0kQ8y256+ylPvalcFoI5EpldNoGHuda2H4MJoRYiVYVbpqkjPgnV6T57Z/TqzCN7hiNbkqlgcQPfoY8+lJxnnfaOWNegUpSJ4CgE7OoUrOCurwFB1BVdPtBvxPPk++DKvnxuN8EmKxIC0FAXt6zrT5lzlai9Az27E2pPZd8t9Qa4keHPGAXrrwjBwF30S653sod1DiXIqgCLrNn4q97AXColC7U3mvtBePKouYAdA/EqE1q5lJfK1vkR9dHOUiDReAZ7zB9mzuifizI+ONNcmgbxEEM38zuEUMaETNM8BoMAl651ULAl5voXjAXLVswYm2dr5YESjyw4RvJ/5kxS2ozvpjJr2FN2vGYljMI0jQiaElJFgEAB5hLydjidZsCkPgGYpH3QdnbPmCew2eiMAEqoqEhJLOFxUcrLGArHlE51EPn3s6EoYZD/cdOF83hkc9qYYZdncg6kFmfsSWXFs8TY6nfMNl3mKFfm/rNewnArVso/lkugtNM7oov/ykRsfplART2I9YSGaV645a5l/ll7lOStRoh4adQHC7DgGiR2CwJRlXjz5iaVhWdLBVgINhkaiZVraXMpIxy+p+0cgYXpqnidDMFPStSCYENGCESMEtNaWPgEHviQ5NQQH3qJBJj2AC0RTuS7G6yni3XQ6cVfQEl14rvV0uO4miDvv8LzzgvvYAJUG/XrUhKjWU5JMnEo77UDLgtWXZatZ7+kMW7awT6T3j7i6NOl83ZT8IIqlHJcfxhGn2c3ivKsiBK2pa7dxAiBPGoNkw4f9gnH76lVGix2MXhLorsWK9uLp2D2+RK/ZLZABKWTkGiT9lh/sjHzL8Xg+249kiU/NPkhBvhe24vwyanfRHnPO3fKYpVPqFMCesdEDyFzFsopXovZpmImsmP6TuQ6N5Ik5+4EtIkGo26CvqQ7A4DmLzrYyArRR6gIBAqxJRxYTZJPb5wx3Xxh8BGqEpIBSdwea4D9T4QcjgfnhFZuAgINzJmBsmrmRwpInow+EWO9pfBKb/kRus4QcBBcYT43rYhFpuJJRRoziXxdbnIocKjgHgyCopryYpOqskCM3iDBjwC8HY4KxOhWidFeeiqZkIckmkvB8n0EHqFHm1FGWfSGB3u8JXI9Ke39MI6dkmd/v9zGoX+/n958krYxikbygGK2cK6g/eZKkI/8fOYMohz6N2iHHylElYMVknJXicpjnLJ/5zPoraK5OJ/0JCRORIB37llRGcrCnFVbWMl4GosfUGkbbfNyvP4de3l/X998j9G9/fP39ev2+Xz/P5x+323/eb/9xuf5xvT7mWKPZr6n+HRv4dn9c09zrMhHgH3Mk6mgtz/dEe8ZtcPuaOd4mOna5/3pNrvVl0iZdweoA2SEjVIhtiKeMCMCAWIvJxwfUlFZEU2R6/+ahdjKTB/soGmT+EH2XRDpA6MP7V97JMLiq7z/vDVtGlPXrvZtFkWZ/WGm55cgVzEzi1D48KbX++s7jP2a8MwqRK1CiOKpgpUCxBRZ9p1M4WIJPl02ersJkDt7BNqF/dpU1gxBmnbvPnwG3o/TL/eq0szuFA+idyP8YQ2vu9xeARQxyjOvMePx/LFIB0uVmUdscWUkTlXlyJz63+/fn8+vz+ZXDfx/TkOB1ez5jZc+xYvfXZ8iXc08+n+/P9wRd5+8hyXYBGEFDVmq4aqqDpzHV9f3M6SLYFtXdg0NhUzK6aCWxPKNntD5W1QtBGDlTYUNZnKnUEY3ho8ghMumAU/mkxGWeZHyLoK/kQzJUjjDPgWqyvowCS2n0Eh/E8/2cF9KnsNsmdYY2Y8qOBY6wZWMifYoIMPz77Tlh55nkKDcjWwe8Bipf3+oG96jQuTjJL/NKjmuiS0X1ovDU9QPbTBuFXbKdKdriBK0uae1l7WM3YsakRchk6ES45KikMGGYUtg5EJVv1WQMHMz4RShnI6EATS2mpM6z+gFtF9s7MAAnOASqZwUBrSo+KjYz0bOTPyBVCFyDmY5faubUnKlDMhU1mXlvYsOI/gzOG3GWETrWkRTUbbdyGZCCgPW4PNT72Rt8f1jTtBQhznkQJg/ljjjnTclnKJsfJRtiCb4AmQ+04E4tI4GlH/OSndhCC93bw3W9fxkNHvYyQllLBgAOxbkzywP5s9P4ZAD1MTy4iXroZKorrbzqxpLs6Rq705BsfEqTssIORoFKD5JaN4xDZ1yBzLul1gOrOkHgD75i6E4WmTJg72UUrKm8G+OuywNIJbu2JXqo5Hrd0RxWY9IcSADHwIdGmAdXuuV/2jrDM+GQHZWOcEaWih2y3yUQJndvNKZrZzNkVVW1KzeduUeAZoj3JR19XK4CG4hWoOkJd/LcmcPHQHdvgkUIOqlhHI34dyys32jeMu6DJS1a80WhRvgMvN84cylWSM471hTefck0kiFcEJ7Gd2HLkpg0jE9AxPhiSEyaiUrddTj5Ec7dj4yzgx/zwdC4jvJ59GnA4CjLyUoLmTkkNjyCNAKToMbKybfC3a9wvFGRG5mXE8x73f2cH/RGmvQnGtDjZUBSC5584ojM+EW1KiJSXgEQt3eyUsegKTJkCryXcWJsWAYZ36odDmF2tDvGlRCzKAfk4n5TRFVGzX8DyMq/Md1iZMxI0/IE/6QH7cgKViAhFFGvZIqZA2FvsE+5mpodGBxvPpRRHiIR6yQDD5dFAINnlNmxThMHanLgmpl0NcUDRWaSYTpwjH+X42rHiWwW3LRNyhasSqhKhcsLXYc3RqtoPhfMlI1Ln4I0dea5vDdCE24R+00GBnZMGCG/RHcRJWQmk47UQfYTeETzGIDK0LOVs8l04W5mLO428gI4J3zs+CnkyzSfc0bu0u6s5/V8jlqDtzpRCMK+ylpGDRyzrb69rV9H9uCbIBpwHxUqfvDsvxrQJzELwJtvXqPqTcqR6iPgGnDPIVsJC1hjJhJMJx5c4M+JBUNLcS+0xDpn804F7+v9vn9fb+/L1+P29+vn8uvzuF7/uD0mjvU1Wex/+7r/7XH/kUZZX1/3H1/3x48xvO9z+tHtnqzye4zhaQ004d5rapgnOH19XS/f4w56Rn0k+ibbyi5gB/wWVwEENWhK/gUNDHr53v5YDKiCx97K4eAc62BePibJ+Gx0Blh0GXT+MjydSc/M2i/KY1kO5sXceqHIKic5fSBpiSWY2ZyW4Wig/SE9+yx5p7UpdoLIng4NaINhOsuUYKkJNGCbGzlIBfbOIIp+YbSCaSed96m7FDjDWaoiwQp2pZLN8Tfj9+GT+XnctqK4Czo4//nJ3z5zvW4BC8J6J4wDvjw91ceJBinnkhsq6zM3Ur3dIRDYRYDi4/x4fl7fn+vzcv11ufwaLe3ya7rPjwtq0D4Afv76vt++xhdE+8IRjkPF47e6XiarbibRctbH/ZMU1+fzlUgvZzqgA4yPawqNEztWWWe9OR3wdKQDjam0o4KRNlSneFbZxM3kRKaFH1kklxxgRhOmORKtOWKKcq2XokmyWsLeZrB4fufb12SAT/ZLWnDgKBa1ws+fUOXcv7mdCQ9OzUzMJFH/pImNVxBFvwc7mXRdqzgtCnv2EHUleS6x7VSHNVeI4lrM5gTjU1vbJr2TpoVHPggxHf6jdAU48XeHj4ertu3hgK2D5PN4PFLVNIAk6AXXiuKDzB1Q8CLL/iMgEtbWrsPJy3F9Xok2x1d73NG4PqnZLt7bJzIGF1bppB0Wq+elU5Wz/S8AckAOQ5uJmK7UzXG7q7YEyETNsyOHYRmsjGKGFV0JFrPE7DwMuBy9gzpkhtbRiBWeK6ccK0GJb/xcC7I+wd84g+XDhFzx0Mltsg2wHR1bSBlZXdAhRUjN64EVWNdbllTlg+wzrGUfX0MKKHinae0z5WRBy2dPGgiPkeTV+HlbsvNeKW4FoKwT2vCNbNepXrTzFAFhBWiwgMiFR+y+0iDeXGXChJSVaRt0XWSS6tXIzOGQiDgW7IFha/iVO4sZqq3zO/QfvJL/V7R3ofPMQxdrl/vb60grXXlxPJz1hjwK0mJzo2EsAcMTWGxmhY2t6/VhTIrhK3AohslfiI2TrOu/QYlDeVgW4MKcQ81A14YFwkt/k5F9RUak843grbcsdiM0V/d/ODwzEZ6ppMbh/he9pHdpmwkfEofIUNWyyjhrTOwENXoYSHHRE1t2T9QqFmwuCkeAB2qJwPpBSbLpdjCI0XeYEoObniXidgVuAaNO8iS8rHN3DtGM6JrjlqJ/izchY7qpMZrxpSa7NYMhlUsnX8HqH7tYMn/GFIyghZ2yP+VPFZbwH/JbZvQyqcwPzJxtmX2JWTs+12Q8g1TgcJLJZyyn6Fh50bE6cCN8pZ5OOFs88Mn9AvfnBTqn5zo+7t1zzrDZnB5ZINwmnC1/5htZWvAhZhpcIDjQ5EcmxNh6ttxTz1KnWw5sjtQ8rDVCuPDUYNR0s8gEiYVy4rxRAHGVyCdNKYManL4T2YkupQMzmxJWO1YgJvMk4WSCt1EATVHKxoEnTO/YVHCIQNlcNadUdCKvQfKq3smmBIdNVo+LSLZxCK38LzlaZ47Bbd6JrphVvJ8TrhyDX1qi7g7hmLBGgQv4BxCUy2Uo+0Zmr+aRVMpFLgZNZHT1JN3u6RWdUjVaSpDUl9vsycO2vwLPKh3H8Zx0QaNn5tT8pi9X0bh7bo6u3J+0wMftnk5aqVGYV9/f9xxTNKe4XB8/bj9yOtTlNTn8l+/37f2+/nGfprMzt/ePr/vX7fLj6/G4376+Ho+v25T8YgM/JixtV7q04rveJ1NhEjFH5F+f7++xB8L5J25OYlcAi5ezIq9ryEcaLK+V0Zcn8Yg89pA2EFbpwYFyi25dRrDsBHo4hpBdIul2WL7Jj24nV2Ba+5Lz27wb4aPB5AN8+RczsozOGZoiT7+ealY2KA+t7YIawcukzaPx3Z3SYAQyKt4jiVEHUziK9/qkkzzn8XWc4xdjmvL3+aAmeby25LbPsFlZtixnRxMg5334v3zKAX5/5C8f+OUxxgmZ3CkwJ/c5vfbAUCSyNmoQqoF1m5oHx/xfn3Fb/fl8/3n9+tvt9hiC/dzfU5A67/p+Xj+P64WSDQ9AMvlZUTTpMmNkJgqKKIxfij6Hn8RI49oaLjHuM3sgs2eYCoGzD+asyqT6DldpMhFiIyz8/eY0dUzl4UXosp+c2j3FwFQzKq1KltEg2U/FGYCLpyb8uoflRvCRhBkZEvfY1GtEgLxuj1sOCp5kWRL9RaWMj5zYw/DaVyOuWKUG8V3KJz6v6Q0YvMoPd5C5kydsOty0b5VPrOt262D1PUsKkL3hc1X/SJmxmbfnlnC/XybZh2x4++/MHaaZkTIWMzj6SaM+qX+GTtUEsaMQH7pokVx5Db8sryDNW+iN1a3dtPQ2jySsRxZAzsREUWB7w/zja6i+URIJh0aLrtYycIXPWHmuSIHU2DxVkoi73KczWv6GkV+Fmj2PgnYQaW5bKqtaC6fY1lPlAbnU+Fnn77t2l2tiBBcCeTLLfufWJ0QG57aBlbexgIONgIfRfNROqA2txeHT2NH2BiM+fIIIk0ivEN6v9BYZNvlf7hR+tYmK3Ytiw6HBSgD7OX498cTlZ+EIfimas+hEAhQmv+/jAYZSLcpEZeCqzQXCVjH0EedCZhMEkLs1Ybjv8H8jUHh28jcO6O5bXczv71j9klFRiCv1DuOTxYkuq0nkWtaHOK5MTQyNhO5e4DGf2CYEccKBjOctATrCAAdWS4bR8BDRbqbeoMXl7XI0H1odwuisKOuw1ZlcigycvNzZR9pJCUgnI1ByP1VUfuaXcrdhzDby0TTbVMljhwN4Wnw5MKgWCKHeCOTfJItoEQ4PllXScB1XFe9QEqRgknzmcDWboJU3q93zKtZmYjB1mEW33YDyGniBKvf6sji/thr1zvtYiLulOlXeU5Ri2FSH4oepS2W2FY4dGFvBRpegPrl0pRanT7eIF8cnKiA8/gh1rUToRuv4zB80SwcOSxCQVDKaeC+BVt4+NzWBByIEpLjDKSyG+Nm3qfwUuSKLAqO4opPNW5hRHxXH04zTjk8sDpyZ11KDhM9Yy1+L1CQxfBNoNqDP/EiBFj5+cAPDGqG/iK5GmDm1Rmv5SzabeLIKeqrLcrYTGWezqMgi8QZ4E6IMPqYE6/aacx9jauo2pp3y3CvPFUru1rakxu+jMzo1wQySjMG75xJbhzNqKUjSaCu1tQzU6H36hWA5zM/p4zPPprPU9fX9jFKc1+EPiTUe632I6/Wa4Ax5gMb2OfcyeQTP5zP3iQfnDkOwhaxrUJ/E5nTEgVETUlY1QeGj92seFgZp1DAKwYR2fz1p7MF+DUgmeJ5nvydHhgj1HEs6A0d9GU33PkrW6317zCwf7/trekHPcVJfCX9MqP/2pL/c9XL9giKun6/7fcK/j8ePH/f71+3x4/7jjx+3iQY/bskkTzh80gaoQJ4QV7b0dntdJ+qVYGECInbhlA8ocQAYSFfeNQCrft/gQJGkioKcqPSOeCp/l5QqaI+2IFL8oZflgr8W+f/6aSpr3orDdW5FaCuHlUBVVcpnTvNmLuVw+a0syB/Z94hFWM9vrHX6B+E4XM6Vn2cnOe9aERrYI2TtLllhwaDmGlj2xrLsJdKtYfkr0NHXySVfsq0w/Q10cC62pnoDspLbCvLzMydgnf7ckfg4ub/cdxpHskNsSVN5t2K5biVUKnOj1swOeMgPUji63VWowot+fd7//rz+Nth+ub8+X5OrkoTkr68kWARn3p8pyn1mTjGaXukfc3+krdT78wyHDwNBTRhONal5t8ucxDtpL2nFn1YCSr+4Q2D4gXmSfQyMhVc1OmZ/qfRxSZR3Sz9Hpo9x+n4+pv4zFvQ9XYsnUkrjekubjrz5/WfOS0qCI/KbXzjKNUJ83skqEKbTRCatEGLqk2LDHsZbGCZMsW+w7865chE4Yz0nLk0/sNoNjV8RXh4VNHyYo3eVy1AfDaIg0+szBrmI36POGREgqMkkojuPPZ2bx4KYRKrWGLYkgXISLzJSoGGqRdyogqKjGoIeVslMsorNvm4MEInaVyiZoblYs+90DsegFnB1o+UgK/SXnB/+TqweheM2+UGyJnmdehCqMnW/NKPJ7h6eyu2BDM7FuMz9PK7ZEFjmT2ONnR8vPZS6JUhprj9ZogBkRWxOmHn1Tq4fPL3mJHDQBZBpWck835HuUdYG8H9nJ+TNOF3UetQnmYC/hEAizl1F5lV9iZUYrz5zTmZ+aJKulEO/3ZS1h3OD3ooI/fydp0L63ZaOu88cbLaAQh1FTyBhY8lZtT9au86F7PX7cjfXyMAoc7PhTFBZ4daRptEJlfZlFOphglsmzNINk/VwyZXFRcf8G/YbA3hfVjhrvqK+8XNnUgnO24B+FpwJJUtmt5ZCCCWowtnp58T3YLz2246eTWXLT6jjlOxLBV9bKQphhlMQR+tTyEW5A0grVS6EBFzFq9hU/DDfg3yEaM/NYlZq0X5Z/oENsJMGgAfwwK72AMtychiTm8pJNjy4GtsCRQfIAsRvfHGutlwWaMzd0VDnQh05Ykk2SOBX/9MXkJHArSUtTEEtTWpyiv7Yx6FrWEh4Kggo7pAMbFPnsQSMSTY9jv+TpzPTnoYc3GruvUPJNLKYVRnyhNRIiN5JN/LH6g+EoLTW6cvT9AaklHS8zgW8dMEW52fkHuJq06mYjj+FnrSTqAXvESgCphwEC3PJrfCuwYU0ENGxwWEn7EUKTOXxZTT9u/u1K+mjIkB7Ai+2HnwIQqtqnO9Uf5oWRXywSHkiUgmsIZ4TL5ZmyBnxgXHql6N1L8J9p6cwZRKYqepLmAm10inNYEU6SssKJIAoSVlpdwecr3qagFwXfDTsGdk+t1gJ7G5CtjLTwXYLPnHj5CzLzxs9MtiObgaKiOX0H+0O2W7ABFQlNzl0+ZZ0n1y0xzLZ7iE+XOZJ/SKunvFo9fme7OX363V75PhKABifQkCgdECezn/ou2lOA94O33uuZzAqCL6vqTGeE34n2rJnYFrYgzZ/fTy+nt/fSSx5T/nuV7zV78/0qbpef9zv7y8a3AiU2+2aIPDEfb+m6fP8drvPeb9TWkFebXoiXG+Pz/ckduKbS7G0WDNvv11f36/plxv34bq5isLlovs7FOJmrFztQ1UVDhkbzPuNYiSmdZ5BsNzpcMsQjsfOz+9dOBoRoex+H12GBnmA4MdnX8sWOCVZY034w8mrmMzVLvvgGtokGYikEGOLyzfKgnO3DytISLbMSkKQMG7OWcB9lk1kKX+BwDr4kQRLIogBQTrxTLgpnKRzLpQdr2tlCw5wLRAE7XlDziBl5xe0e8vxET0Ar/pQIVSu7jZUI3c6jqcjPqoCxlUrVLkyd70un5/v578mUWKM3J/PSeId99Z90qHH1/Z6PR4jrQbCk097e19e18/l+f15fBGrTD5IBNaconQbv1HmO/zzliwKe0qZ2Zxueel6ZVWkXnn8kLEVx20UXpRQ1crOqQqZg4hw5JKHPADH4p1DjC8PzAblIkU0YV2pQ8EbaS7xVu6oHuQzIW1TiCLzc8gtDjv8kpwJLLVlfAp1bIUYWUmBD64HihTRD8cB2t6wlzeNppNm7E7Nzy1zCFtW7FQtNOru19n7uLBpDSGS5gSpcQBiKHDYhORPEChOXGAb9biVqNASOBZdaJZPYnOnFEWurYF0o4WsAo/wyDTvb16ofALMJJ8LX7x56TMwB+1Klkyguqt2S7pvUm6tncZNSzfZ5LVnsPw5aE8G0bTwyME56j2/JvH++hm/SbLLE64NRiGBHT90iGoTWqMRHV8ZVQgan/jAAZ+AKJEpgMgNGOfe2wcwB0EDm4EbKqjC9Ds3aVwHFYOFsgcBhOa8LKLPl9EeDPu0VPd9/81GoEC4eFWU7BJbr/enyjNzQ2Ovi1Zm+huz62SLclZE75z232piwZ/qXttUWgkkYkwFR96n70AEcAp5ye7Noo2TBxBuq9DIWpYoQG9fWfFAF2feWaTNa2xYOxB4LG0BmGhE9EwrzJcPogZX4sqvK/oOocE0d6JypDA9fFROMv374XxbVyImWNSHztczdYSoaXjI126ZmgnqOa4G3+2rq5Tz9vkcoUumOwhRu05IeY6ZNF2oZ/ZY4Sc6FCxpW4/f7sCVYnCxPLtOpNdFEltile717uaBcHipHJEQUftMilleUsn2m321rBPW55T2nqJX5dC+GaQhHKE9IGVaHN42wtnJFOq4+5BfXoZ/1Y1btGVueF6zM0VnEbJ8t/7OqpG4qAxyjlyOTd7kJEblWC/kH2BXZtuBD3w/4ECQl7/Fm0Lvekufc7/anW2Mdbd3v+d/QO38FbQSFk6rEecK+gbg5NUAc4KfsaUyEhlOoSHFWzi/21Q0cBEoOrEYg8a3N8ZmhqKZxzxlvBftJw6RemfhGru+93uO3jUNgU0B16G+zJ/waWZApHQEWD7p6sRzKVaB0FLZNdeMh8zxknkdJ9AiYCcj4ZpjIX8DdHwHJkpQKo+DeQprI2g52o3tKINIx6m9BLZ7msjczLlGJVRwXs5f1pDTzFHqaei/JB3c07NOeDzUHM1x4GByYASi511Ic6SjejSaNatplRXVQX4JgU9s9ZifJ1hEO5xOyISzf72eRi3kMXNikxiBYoSCzrRnzCgYGXCT2A9fSLE96dPPBs6TcZfXjdlvddlr/LrXKRucCTzuU/2bvMvb8/N8v74e91/TgWeyEl64+G8Dxsft9pjK30RxpuJ38hvdH0RvzP4gyP3zfL2f7+/vZw5IBn+npjG1c5fvaSGaQE1g9FuOjzylHNGPzLdsQ7TsLcrm49cyDsDFgNk9lZCD/POIDLCjyRiyFYdK4RiHFSg5OWe1GncePPzNWalo6B1cX1WkQzD7nb+2WSbZ6Yoe+YO8BHmlPC/8PLNtjjQc2SXST/x0mgAjnGa0s3Npxz9OlE2rBIHwEBi6kILkB5X2ofEjCzp+UcYItoACJPZvJ13fjR+fOf5YMhUSEgL/QuGWiXXj6mqLZ2lYV83+ppPIT8AmETKMV0uZZJk5d+jP95x6/XUdPek+R369rvfL/fq83b++P+/PY8zax+Q/pyvedfq6I+ber2GD+Keel/cYuVNXPJMaygovev16jWH99RgGmP53uq1Tx5H2gsGqtPJrBSE1NDGW0hS62jT2BL3ZYx5HGGTps57rZWqPdSn6ZVa7zFlnXEBsIq4Kge33Qurv94djgYfsp27X/YTucnDW4XkZEMdhP9wvp+Zl8EmUHrsubJZy6BQPz8xuOZT9aGUEmXevlavRI1MwogGfcO+wvXjWMbq3zRXFnJFiedQj6FIeP32a73fEVjooSt55DlEbgCSGZHpUstsOiZsgPOfPzsNTYWMcPiNSKgyJmHcBHZW9gINYgwG12F8C40UNFVq5gzCK9Y1OAzLjjySFz9PjNdeXi+irbcxFra1KrHpOTKnQOLMXqOx0eEiVk/ovAifz/2O/cE7XwYLK6JbY4URlOkRW7fDqNwB/nlAOwjJ2zOvt9gBH52tj2q4KRqiY0LwXUVvZbTmxvgC5QSYKP6eHgpsBsZB04PnPxfBAf/qnuLZ2aOdB8TzmukvIPDXorHYoK5N5KSc6olJjk0U7QqRZ5E7ijrAKUFjQd47wvGzxKGw2C5U7FMdOHlCUEFGTF+7e9598W348jr1uG0hHR4o8rS+gMWrcZwL9eqRAM7TLPus++zW4vqBhL1e27XVGkXHs0I7gyW/oM0n8AHvS2CC9f6SeGkeShmR5eodvUmcADr2r+ky2FJgYWdqC98IWDSnQWDwvg+CSegWCqpMqJyk2yK6520vgQH/K1iJhotc5Kp4/8ewMrVomKh9OW3ERpmCCbsQ79C/mCXx/g8VY08VLeyfOjtNm06mtrRdd94FuTtnLwU0XCp6ecHKtNmjU9YoS1SV9pV4ZlO7xxnYgWyU5OXfIDdF4S1wUlKux0pH5SQaaUydbGMJbkGILKJNoEIJqK41vypem50hKA96GIndKB8BcGoWsvSSeBXgo+JoiFGfFmOsBYCFptpqXF/sAlPubSzTqaPjOpFm8GHhMxy4sesEThWc3WU9//oqdAcq1WDdcCflJkF6yD8ZjW5bl7fZDY64983+Piz7HOVp1bll4l+iN01v40DcDcm/rHW5bZvHOAbxxLmLVT/ocuAbgu0xaidQdgDw0rwG7kb59MnT7VOdcjbB2eT1ob5AMhkBPZlVYjoUA0TAV7dKeBeXojvDAbBC93pvlPVufRJPJF0VqYj4p77MR9C9d2cTmgn/2C5VLXx8PYjvvdMYBm9wOdd3kNsjBEQefOBrkMAKOrXy+vm+3+/P7+TVR2uvX4zHUQIYhuXCTVzlyC89KlOx5+PE1tvft8pnmVWO/3l/0QPl6zKLnCNPbI5Fhzd5YDDlLIyo8BkR+j+8k9lEWMStLxnN61saoHiVM9us5Ou08+xvTObEU+M9hcOFTWv62eU2LeMu4vIKPL3oYsEWhiWzRLJDnzTAthFFQZ+QogAjUHffger5F5yCM9rguGnaXXDir8h35ub8t0p5eMM80ZWNSmZORonWM3uCNKbGOp9bRgsx9LjRhflNGdenLKKL9nMG/H5mQ34b7qidWwoGSdb8uw3VH/gKvv3wOeVC2len85abf/zyNvzdWYRS6+5BsZm9cTWCR7TRBroltXIHQHTC0yTO35+Xz7/f16315vNIAPpHMsYcetx/3OR7pfrvMz/GuvZNs/IRJ55jDyzigxmt5e49pOJUCs5fTmABuc3s/L6/vaSvNybrpNnd7zflzwYB4YG8PQx3wRnyp8N8hzHgr8JdhZqSv9SyCgwAnXTnWC6rLYNVkpYzXmk4rmkBw+7EHRv42EptcxsnqVkTDwQY+QQ8OPo2cGkbYZiYzd/2nCflyitt6JpCH5nnFn9JCrKn+HTZUogeNw1Uzzwllh45jjkPR+SJbV0qnmPakah4cZSDArkM8w92mU+DrOUoPWcXpHR0zULLV+x+LWnUCoos7FfYOZmOAxkbVAcvCQSyw7aBmBF/AyH7KjeC4M8Jrkn3WIiLyGQVhmv/bikIgTVdLsZ69U7GpvhOpF7BFCucSYOVQeZwvvALv3uvzSrQgvvtYzNUwDgVwqba6GozIXlMQuevlSyiLOSWnnlwkgRXSLt0a9dn5SMTzk4C0Ox59csPO859uEbl/2C80nYvRedAysluxBiqBOLibDtnoFk5fR4af+Q4lS28BbGmBkbERKTjl6ybAXkXb/W08Ug/+BydFP6lJkdWs+KnKqDfY0ojsUcElB5QQfBc/D81QXgjoROEOXasbOg039m/XCwx2lqfgDfA92SFuXhuX5vlpgqWgmgFQ1Gh9pTqYpZxhzweFcJGgkBWswQvXn5fdppXtBSU8xJw5xdLCQIeK9k3CHRiUMAXulIHpU/EenrGNzCIHGuQ6ckDqkgw7BIbZMeVkO3VTD5csgaZdvqZH1tuTRVh/YbAwPXOczIdGTVbFH6jfhyVT4ZhVW+gK6Bbdk/ukWzGBr2h6vBl2lj9bOB0jJd+sy+0v+7rWbAG2u8DcZp5EyPZJ5s3/6HY7gNK5BcRjefP2dmvYzQzuDfsZ53WN5ENeLroDot3nhWdfQd4pXmqKMA3SZAG2NSZDiVeQAgGx9U/pZcoUpwX59C6i09WxL0hQ3M96tJRVwAPUU/MEcWToEQyQIfTOGrKXBNPcvrwNuW7HbLno2qLqu1W14ecQYGiNDZK+RfjQOLFEcJtyU1YNEnrrmUwwt6ZRM3rKRBQ51tiC6KRc2TQLBjVrHLc63pbXa3oQ6zCeJiVzgAAvycxnRkTpKQoDDuQ+dyZWBRBPhlrpLhNEHZP6x/2Hlh/QDe7ACpdfo5G9BjfSKzma10QQJ/+cjDg83NPuBQ1nFMQqPokkz3SS5ACXAZcye8pWIAel0ghvYikJdoxh9vXj8flcfv38NfGWZjDLBCTZmcOdczWgwxA4EF7aCd7J43OqyVj/HF1ZupgiwAAiKgtU7LYKDl3R1VemF/ThuCVXIuioyX15TCPmYbxTd2tfBlAmHofLdUqUs/ZRpnOu03sKEifnr7jzmu4ysbCGxEgB+jGT/rrdvhIMGdVisqA5h/P+9fWYgaaFrUV68CXO+A0ICEJPwWEqCVJ/E41D7Vo8K1yAs0zFxcrHuENCroA0rhhkz5vY4rMsOD8tYeaiY1Qxac5Ur+/D+/QKOF7QdhQ7+G/vkj5OQ9XVDc52JX7fVILOHqMdTcn+FOEb5zsAtzPyvYUKpk9YVuM6J+TqfNR+F8c7c/V1f4Gj5RsgJ5PasQJVFFONRcZHUFakH3pxOeSCjmsn2LmQM0iPTfzrP2vtb4yipu0iSwHmwLtUZC5Lhdo6xm9bl1sO1EL+z7MTtr38+ZmzOj7vy/fl8rxcfr0/f7+8/3hfvnJm2OX1fkyzq/vP1M3eJtfmNqobbt/3FNjfb58JDVYJktAeU1N3f0/49/v1/HrcX6/X43OJ7ZwtX7suAp3w8v02z14+E3zGPzW2JhWqAegm0HZt+GHnhXEFch4M0xOagUQQ5Xp5fj/HPgrntdgqHHReNB0Ghts+raGNJ5KkI/mzR3IoAowzzlBRZXGiVaHJ++oYDG/cZKgcRjeawCPe8CmoRvDOcK+ospZRlah4K5zW3VV1SKuBKgj1UYLMMcCmHxlYjRQOqUTjSwqY6bPB7Rooyj6KDeISwSpbL3Z2Dnd10hMSYR5GTWuJiN2TxFG+R12JvyCefm3R+DtiiCZp0QocGjLgl6DnGSKMVUh9FCTGDJ/Bx+NQOWkWn5uFEyT+U8L0cglZxKG8rz7/G3H7MhhL9OqcXy2d1fEhIZahqTVx3YAHcytvOq0oX9QaCS+tqnZwTZZlR9sKmbJB78KZQvxvHgZrZcbdVg6cZuD0ZJAcV+AyHhlYsjEmGf6/WyDbzWgW9+bxvwCQ7YatEZEEzUQPqYyLC50oNFH1XVxCRxrIZbXg7UE7ICpgikLjDETgzCFgWQGRTYcugfByaafuxijKMw6j6n5SKQawerNJYWjd1kP6F+WKTBDY+X3MPbeWtgt9jX+MAR5pvgL4dhgw7DdrWR3XP1nLXvpNCLqrCjmh0y0EfAUCC0YLitO0s+qLOq9C3eF5mOxTQOab9MDtJrAiUQ3MdIJ9R28rHDbgOw/q01lYi9RRdkOGzrPKu1K/6i/SvUSKkr3bxP4uUaj50uYRL5rBoNJ0p7rT9u9jdyvZqseojpfRGzEZziNKsTW/DXggC5IAZAQlqFIHF05eLun3PAKLl8/BqsCT+Z6UEqiLpBO3QxAi71xCvHQR20gL8Z0Y4pFuDbMnY5ZdrgDCz64jGnmR386L3jeXceRbCY/6/KY6o/LN14fb2LNbOaVdI9nerWhRIFanXuicgKZjK/6O8VkirsKEScJehEVLr3hiuqmgkd5nenoOsDeKv+w34wgOeSAFBpP6XFcBc9TvIHFSjrrIpHJYSyOQCfh/x6j5la55USM83AKti8aMgKEsI85myULifk9EhXk4N0Vz9IlI4ed3jMKk19yuox1ijCEE3XiJ6PBPZVT9hkgf0u0mPzehzDnQdkm7xJiJzCUofabO8RiYmmK5OlLc7elQAn27eU7NQDfcPncYYBHtZoQRXmQr7f5FG5vR6FBapIz+GrGSJGcc2Iktt8AmlPCewPGU7rNBk7IZtemOtvn+3N7vW0LBSZQd5XWYyGR2TgJ2mj3P2b/jO/ljftLlle5iGwUeGNGbNL3mgsGv0cWTVzknlySYQzYRMlzAgTZFsWBLVHLYxAqxJeByxOjbUkiABMB3vGzzieJ0+ofOYU9l1YyGHYisWWnmYI4aLAV9yr/2puPzO6cp6+u8M1W1xvmxStyJhkojvQl6zvvsziplVsc7FtlB82dYCYU/OzizQZihLezz8AmePy34eLT4uCqRPwTk2uSHrnIsnw+Xz3vu9U5iJ/M/Afs7XI9V7ztzWbmaL9Q8Frn4txVivK/EVyaWFZ48AshTuXCuJ4Hy+go+/Ts23/f19rzPKWXf18/39+tvj8vX+/N4j7/u/p56XpBvjDwTo8b7NonRw+vm+LG8caZ1T0rtPabN/TP34wF8fF1fc6TY52YjeRPHk6oT2YMnOys2TE37RrWsElNOaA/bWPNM8uKgIMOnmGjjwCPniCbDoNaMVlW+NDwFNTeShtTOPetBjE9zigI/0MxZ6ES8zTl6vWIHRlhgNKaXwbxBFodb84ib5Wgl0r/LicDiPDJKv97XbKoFopF0IMMsWQGROzsseGoP5wCP0DHiaQiLtovcb1DKVB4jpVUCFq1X6JMz80pNdpVUcU5fJ+gMp7CGOW0UeWMgBpZbtIxV6UmNq/2F+R977IsgchukBZ1XlUeyiPon0knyVEPKh8eA+iA1bIrasD/VqZZglxnPzarzxw1KOIEU3Go6SSRv/rbBC6qPSjIvqlKOirjo5mKTje/VuIhPTCk4TIrWngh9sBRxO8+Cx04YahLPCrcu1WfPrOkvH5TjvqtxkkgcCcdJVJJVi1iuWZ0uTo9VdfriTB1+lur96Q1Cq9nttbwkGoWw04CJo+7SXeKYMbAOkh7ZE3+RUI7sXjpn26of8IyAD/tSkrjQ88tgKVO1AVlJSegDB3M/LjpEPSJdo6lT+qkcs3sb7B4IpuakpNFFudGq3b+Jw25AoSLYM1UqT1g7t81v1YDBC66mZILJrJGQ6+jjEOJyUibSPeatTonQ4mhiOtacjmpzt2HuESBcmnv0RXUCSdqBo+WGLOWs5kha+drX9zuyTsZAy2EqQmNtKhawuI5TK9fps6WI6hq1wSpj+Mbk2CWq7mj/TjA8bxD+ThTAw5dhWclrwkODmaGpIFjwDJBNlxdmCmBIxInpTDUVQKbcWOHDUhhSy1mED/dNVKK1gMVkkb16G08luyY6gUsGBuUX+yow222as3nVzmMhnPC6WwDAdn+ZSZzZ83vg89u8g3HlxWeVtVmm/EnFfMOGgoAC2r5kmezch6nDhsGtpYo8Hl2ELkgxefH4BsEzjl661zunR3Z34IlNZTqgyvDTnYSzAf0GTpgJvt6cZhEJVEQHo3L/nnnYj7Hx9W6W29D1urIu7zGkGWC1iD24NE2YA/PL7fF4kBxOBeP96xH9JhEJndISnJ2c5xXDqefB1GDV+KwK0RzQHKkQnM1VU2HDbqJTZUrJt5veVFj4ICvLnX9GfN4vNMmEmvTfZeuS28b56uXSCNBNYeB8YAxg85OLyQcTd1eg3FF34V2zLyLG1BBOmDpV1kkFmn5X127NHMVZZyrknbNWAvYJqk8tYpFvpv943Cleu12u39cncdpLusLeJqJ0/bo9kgo93X4mB/Ixh66A8KjXDmiHwyHupq4lBJRc6JQWz5zI6BlakkdLSIr0IPEYALSyw8F0kMtyR0XqcYBklZFipoSmoOpuRnCtxbPMo2iF8OaPHel4t2SEHnd+GZOHSzpdJS3j90aH4baeJ8TmqqiCB5X/MtmYOsfoPmi88jcB4MuIC/b1UrrTgNnLnlApTgapsFRer99h4SUNKfDP8DNXFtD9JjXVCM6fg4OcJ3/s1PmVBehpwNN9ZxifRuVjI09vP7ZrRQILt6JBoMI+/wpVhujPWd9ge+r8v1/v78vr+/L48/P5j/v95/vz7/f7a6r334/rZxIo0id9Hrvdbq8QcqyF++XK2bvw6gR5bnPg2O32eibBaAKz4+SdR56X+336B9/un6+vr+eThkm2ZYqbY6KZc0KxmkzIzWaKcOlhX5eGppopGoiEVG9Jt05lr52o5svKSphtJkqsLI0MCsu5gTSP23W8kzPtsM0Bazyp9sxkKzBHhuuT7VyneLSyvKwaamuzIQhpc+b2SuP90aRbjUFdxeuFUldWH96+ebBK8yhhS9BTIIKZrZJuPBbHtIJf5VYGgJsgzZOh1qVeCVec1y8KKZUKa2LDZahgIkoAOtOpo7OF04nfueKU+N1EhinOCkPcgtdMT+MeAz7CCKUChab+aK3BDstmw1pm+nMGdRTcg8t2MdygKz8KdjnhiR41aHlNSDnx6gb6lqzmE5lCMBsMUJ8cFE2Fkad2nR7K++OWCKCDPxiBy/Xy7JwrGrFLmbs5BVGbc0SDcy7uiP9drz2Q12mozV9/ULqFgQjwbUeom7+juYny0mw/jYlVtRYQ2Z5P2subKxanRzEsmFVnaBOcf4tC7trdZeZVeStSWszsXv4PLgvBHYiH3mIPsbPV348IXrZhnTOttdkqgbPWg7aeGc69xCymowDD/mYlquChQx4IGdoFpthjB6xOMz06yDKJlGnyR4OEO61di1ADE4/NIrzSbgcLJjIcDpuVx9u+MtQuruhxYF/hJD5T7PmMMgTPSCuBA4+qQXkp2n3G4a4cXp4sGsQ5hFr+1Q3KhNcvslfYCOjFhR0FFdoPjf3HMsAXm3E9cT6NaDduUUUM0mrQOsq0lkD3vvt20hoyc/kcsBHcOzbi6vjUjblbohrdzBY3bxEOB4EewMwsnS3COIXY4T2aCzKPg39xPcD4bTf9s586VVifeChlztN5L8m0GpkdlWmJadOQMHCerjpBjyPQDniCpok5BcMQeQ0fgyH2HpACZQGLFhnHf+s59ml2hl4I0zwkXnJZgsRxWOwwnwUtfBRyWi+Yb8styuB0fPRrlPJMZvJzgR9qwJr3zCqmNihiYzNKUdmKQUnEwmTGpcfVNG9h7uwLxSaahd2nRZL6zYMUkV4UNTUx3j4h1czjMJkquDSXykbkAMNpyTwtXqybzXXCFDhxMS4n4XmKEbL/U7JmU7dg9bROMa6o6x8Oll5ZwRxN1gFOStdCmDOANecIbM5IEAtTPILDQsqGe1J/3qOPxXluUJUq1Ffvr1vEhP+QIAn82bvPO6cQ8+0CGAS3mCvyb7ukmMGB2yel8hywMTB8tfYPJWPdm+YXTCL22LePx+19m3zovCw+3oHqdKchFXBqfa/RqwPlnO2ZksAcV3q9TPLz/Xab8uAcAHadPom4EN6v1/P5Pa2Bckbl83uOWX4/J+Cbgryxfl90dsWLX66tfgjLC+ACA/nThg53i7q0Xu42wEbRO3tbOSLsS+0rJIC+VH0czuJvAKdjSwQnO7BfVoPR49xXdUq9q1ihxOZl3Ao3KtuZfczZ0BmLsG2ZERMZUMeSgLHU3q4o+w0yQCWPxcFkUuMhUQ4NQiAzjePrhcAhhuajKiWl77r1FCuXDgGwQFu4+PMvn2Ok+ey2LwCQAcdo549fuHaXAjzYA2vGvDlfC7AysW5oTB4w58BIeGDZvvo9WBE2Ow0JONTn+3r9fr//uFx/vC8/btfHlNa/v66fx+0yQWC870H962fOHrv///j6E/VWl1vLFpREbTvr3vd/1sr0Eqn6MMeYiODyyaK9tci/iQY9EAhEmOJrsiWnqa/ZnzKFTx+zzPv7/f14Tmjv8cxe/Z/naw4Y+/z4HipIwa3vEY8e8jy2MtsXSWxJZwdgoZJhv6yjkuCrHBhMzTbX6LDsLdWXQNZYQQBeiXdCOaWExNAm4iQEhzOW3kYyexm/hbQpnO3djSV3WCjRDGF0B62y82UlNtWkxQgWVhjmz+sHmcRjtZfH+1XzozJLVaMpBmgoCDAzKwy+lmNdzKx6EH2WGz5zOEL2cGRDIuv6x0KgShfGKw5Jfl8useaW+gVDKQNgexEfDHuilp67kg23yYrH8QZA+l3uzJLOCf1AtCdZDIsrIiMzYfcLWrKcFoZvKhmiIQAuwXNln8W6jnnqA6unuB7yWIOnnBbxm5mzSaP0U5arPbjiRFG3a/j9z+j5JQGODk5rVAVLSFZDP3OLg8+seBeR68RiUTkS4IxVclZcat4pK3TEBFRHr1QsXArLTIbx5umV2zAFoovFfOVWJ1y3TDJRzQ0tkoyWIlsFixv32KfNinrGyPYNhXaNcAEGTFsNClpcIPkphb59qkLWDqerExcmOAKkIED4FgBWyxQS9lcHeDXK4XzzEzW8kD12nbUDMKfeKHmc+pmhvAQ03J0AwzGJS1kfoloZgrBwb2GeAR0xB2L6E1iQEJew6A6dUUmkXBAFl6ndeEAXsePQ162rfSBRIYYAQ6m5YFwsAmQja6RlElDRf0JmL3QkYo2IPLe4BJ2jA9heRXl3KVLdeMUrvEsV49kVOImLefycPVvIF9jOslSE6nRPAgq8/krPr8hwFTZcL64ROmU80ywtJSWkNOYWcpxNIEOUM7rEV45w1JibCzL/jfKY8GOkzSFNxSU8fOJXNvr78TMV1yYPc+2ntTycMuJe0TkP6Mkgfegr/6TaQgR9YukAgSFqIksV1jlLok+ibhbncKXU4iLhI/3YtbA5ZZDd1yaLdQkJiGhBQkM4kMV2poQ+2tx7lHHZnQomk+LLPh+Xpb3dtcOwVeJKyBWj8nAE2XIUVcrMAyWpOB3PksK4Mklxir+auSDQk4jKPnrerPyNKkr+8HTfg4JmUinMkQpwX8Qvg7vYTann7OyTzhCearws28WY+NQ15VDlZsKveiEFp1G8AGNCw+MMD3xKwUSEBmoYHsVXpX1lDu4eS6xWsO/DwqnoZP/Pz49HPRFAmUKFMUulYXw33IoyRXRrAMoeHr3yeW6qXrNyLyOPvxIvftLSsm7kXjvXVsK0mS/lNSbzJQbr5wQZ4Blvsq8+oyI4N5ZT1n9+hjOQbGPM5e7zZ8qV/X59fhM2CuklCp9kxCz6ptxtFpsxF76+0fGAlfFMAZvJy87SbzzeqX2FD5zvSdsbk5b+dScqhljPR86YaFexW5ZaSQKLFJvmjPNUZRfRnT4FE1AdrKLsvz6ID4/tVPxX2PGh5VpqshENVvzDYPtS5ByqI7PpHLVHByzVQWZRAY2jx9TOkCJaiOBzXGIuINS0K/JVIVMG2MGHbeqyCpeufeXdBpdVCkCgZfHlaKHNtHZYjHVDC4sRMKYx8gb6o6HPBd683z5f/36+cD2v+gWWhMpQJmhCQVT9qqTbN22o6tN7iNrI6uLGoHOkOwdc//z+/u/X778+Pv7X4+vfOcTy6+Pzn8/POV37K0f+GhEbzv/XY874fYyTPLVeJh44Bt/H4+Pj+3u2J/zkIL3nz/P7n9mTP4IhQ/p5vf718fGIYMsJNxlMjuzIyT1fr4nKUtfFrLEkymZfbt0SttGukMI8OxgEgGRjEC3CIotsn8IBUwQgey5I9ulODJhRm17enHdN6kmewJR0zg5LOKY24doGSHbFQV6vCq2k4DOXwivj+6VyYxThBHbRL93wDImHkvGDui7yitsAXUr4rHH10GUmUL+09jocHhEfmEFnE28tU8973U7MSDM1bAlk5ev3ezTlKOufbqUh0Rl7g9GS7du0puQ4Jp7lqngARNqvAMJj10rEhLhN0YTFIzK0IXlqVo8TeQ1T7EaqFUFvS7WVSpDIeguAJfUdVNYuN0hNglDNV8FScLLmsUyMkecUM7A68B6D6GIoNOE2cnDWIkTIZGBVXLR6uQrCgAY4V3pkYKTjuM+OOw1bZDzRpF7OjLreUTHjfgQXZth7RktRSAwOQIY8sztg6TQdMciuw4NUBht+2aCGuK+KAUXmeGD0xpwnIMKiHQS/NK4p6eglFdZQj0DwqzZwfujO7Qdy4rHFHZh0TQs6AOvtp4pG5q6dxhC/O0MEAeVP1g/pkO8B8il0jDTw5E5Ro65839E2qNwH3ppN7C2XGOlGGMHq8U67xoZVh4y7gRVMgLJIsKmuO237Os+0CY6TnjLU3DJMv7MrIju9ZaByRk3VnSqur6MGPiH0tmHRoLShWwvtihjkG/YKdeeNZm014jOH6gCsHBcSjX9AYQm7WtRGpM4ditqmCRsrxVSiQSyXxrI+AXSv5CrLZS4ukzYGo++r+EG2ZmD4JKf032IQIHC4qzG72n3XnLUokHq1LC72WaR0WoLCfyVRrPyusUMYKaPPQrRRpjQTCnkn/utrXkTu38BEVyiAdnwd1lGaDU3mRN+BTKyUAawl6IKn2Q75+ZUSyuo8x9hF+8i/ULwkJE2FBTIKeC6firZ5BQ8EHaP8Daq5Hh2jkmkwAYLLlwpZJrsKLy2VZJ3sdBjtOq1NHRWhlTF8PuKDFbYZEAWxZKXCEe53mGl59HnSZafSKTvJFJ81zyGr6q4GLALaRk9G5c9WNNGZzW+NhNELiQ1oEuqUIjTzBi4tYXJ9wT1Qa/KZU3pEaAUZ5AJWS5GtvY4NSwwiGh3ld+pJmA6fhYrhoOdPbGP9/O+SFXPXesgsyVXIkioH/y6zG5/EdqdIa4RGY62Px7fVRDEIo/WYFNimto3xHciJ6NckKiZPZVZ2ExVLFs2UF/0isBMOY8taUAayYNGcOxqBsKyV6eD7cgYSW3/HJU7c80RgkUxNNIicV+TxWV0goirmK1TeFF7pzfdrGJxPhSfNXALi759c2ovIwv9+7u3XdX3tNnmRl8+A5WGLmWuHrvGCPGm0niG3h/RYq2b7VBxdg0Lsr1DrMoYPHKjuON1jZwP7WB5cKyWX4YiCW7Y/aDgYWVVVCP7fP4xTubD98eKNYZ9W678jP6IMZtd+0v5vUyoZW18rdjE7RGXOR/s4OM9LgsFHIil5DnylxSkhGB/o+fH75/n7/41h80iUe9Z4k6TyCHMP1/x+PP7MEUr/TMW5338+P78/p9rc9+/H99TNev4zZbA+//WYDb9kJ0ztx1l0HYp5/vx+fo9vPEErTqCLzZ5qRpTnnZPPIyanwgi2AhQX/1Oob+DeiWcfb2q253w+5g6WKbYfMv16ZMo5bkGAYmeftIrkmk1pxeecDp0+yLz9nTyVkS/mxCbX2u9LWjXIQYLGz9zpKmukBkqAwsUmOVetJlFzpCdiOZplqoL5OjZ3rC58I4p1wazTACHVWIM5jKBsQH5UtEAqzeLXcMrxlPvG6pVsYj6tVbgW0YhfHV7Ghu9xHHFVZPLWXXov1we0RZXqGrmH/oYxgyNM5TyPLwZDWXLicqMmeM2z8I4BuPIvXhMPXLy8rK9Ic3wrsCo3dQF3w915tfFNu5Zp991z9/g7NcDU7PnJ1KolK/o5pZkAMZtBBA0XUTxXfIQ9ebcMsq3KlGKhYwzwSi8rFp091JqipEGHG9FzfFpNKXyHyKWALv9RuGOptAJnh0TfhaNQd19C4hY7iILyFu5trKu0m0GdWyehlbazTtzoRhvSugBh96h4j6ttUyPWjy6NkQUdASsUrww51SAZ/TdrPiWAXIayTuTcpboz9pKaFMx/YbySTuupZJggGBu94NLj5iMyAIpzpLujUYPvaqHzFPfonsM/gWla0GRM8G8t0g6x4PLbMlJRK+1Cay4SWCncNpz/qjQAwSR6kLxjbbSDgnuwQN+FrzydJb4dcCQrpkmG91zz3vTlYdw5BMZQhKFEY2OJjErxhJpqfcWEZl69HC7t0BhEpkuKpQ/n3bQoOHW3MP3dn1mYNPnk9fH8mmPMPdIW9yOyAwTgheW9kmm/Gb+BJzhkI+Skg1bUwJtXICy3XG9HKQgD1sKU1wVoqTFQqNLVkeqa6lIi8b9kZ05KJlSRedleVtWKJMM0RTp7K5uIm26CshW0nh9IPq3gZW/5D0eqTl4bJ+joYUKw+Unh6PD9hNHpGwhIQ7Eb6qTlFsljqBngXg8RElprLdYAwIS6CIkQo46oEFIBdaGZbQOvKd0JE6fN7Cblkcya6hrTXGovy+JFp4wcY8LCoHPIx8BgcEly8tQhzPGzJgabq0PGe2McJlQ/HlPYs9PUtyt8AlVA83x+st/e6KzoCCNPhEIVlmiF9Pk1jl0ViO6JadjjFa50URYSMV0dz4r67NDLouZskf/8mGRmYniMOWWiJa5E06xaZHCtXVai8s8WY4xwOOFtAfv7JFc6ldJzukYQSwQt56wkmx3Jn2gHMnylVup8xxXndI+v8ZlfU3oPfTUFfZ6z4fjzOaXF45e19oJFrvI3xiIRAZYxR6STrPP59fj5+ZMCtxCsfErkdHo6uk2uYCdFMejzG5opFCWpuZTAGBdtRTjRoKYtn62hAEKTP4wco6d963/4yGiVxn/dOZdKSUuTDS1X/HI7/+m83beYNTdQ5tj+FZ5nZlh15ze3pKbK2QAJBkAkvHXGXQVqB185UhhdchQrAkW9mj/YqmC4cGQvN2gWwI12ZwDCo/L8NLwdMx+ErGgqWzPpgtgGa6IFajs5W/KTV/aS+K8lRaPosikQzxx7wgeDvUYUi3cNqVpTZDt9fv7kwn/Gxc1ekix1oopyzOywzWOqW41DOzuEf1Lb+TOLwJ+f/5qK65//6/tr1pBnA8jrm436j9fnv/75/Jis3fGLnrO+PKkvP79/fv9EoXxPJQji3Dg1+H76xpcoG1U1XvDIjRr0s8hMjTprUClHJe5Mm8N+u99k2H62snCuz3woBCmtRlwTCCT2iNVnug41Dq0OjX2kfAXoaObgqOomJDV1s4a1R3dGHkQuzT6ejnnezWkIKfsQbRjkIgZqMmQwZNZk9TUaAFWVPTXZdJfQJ23CrBLROLqv+TuHJ0/6hh5j+Heg3SPoMYUwsbPEp90FVKMOJEy90PjXo9gk35DaUmboMszHF6lRlmB9L0ttIUGWcXmUkCmJgQntJjT5BBYRCmlHh58eotbXf6n94D7YTFexLH5oQgbhInvZyuGK06MDUIhY9RhwFRIjurHQCn7Jio5i26AwNx8OKJmGVganF7AbaGAbQod3OegYZ11OqHjquLMOfyLAs9JPINZaOek9oZ+MhfgHGk2CI2aMi1pidohvIZL52T2AGRSBISSUmtdeEvlkX3enylL5aV9TQD0iCyk9dbjKVzvnjCOQheq8TpAWDXxZLcbCz3SmfVpr5NjeQ631TMVg9RcSBlKDW8DfdPydiiZXH642RhW68a4jL5NDDdnGlX0CkUwIIAJGF1mpA0vnHSwwree0fWfK0NuI4DWsFSgnDAU6KkTbCC/aUNM8dG5imzigCAT9wbyqGPDo9hoSexhPsQvnqjYLFMYCgfrwNSdWmBd+QGd/DR/mSQJ13Z+pNlQMLTTnL3ubi/gK/lpr9RZWhlwE0l73rHPHcbX+/o6cygUr2nfwxdvhBYktWoWbyzRSQZIah07cjdmmlLP91jRxUSzd8gDTYpI9ik2AZFbwf8RBRl9UoumgpJ3xjoH/NA4PZnfoK4KNYki/pOYSfYQEeLj2Og8UqA6TQpeMyzxARGqeJdJAQjH1KBn7FFB4SSqstMo/WE55FbahxmbWECEkNyLL81A7diG4sx71xYiyw/Ayua+0M25LQyArTAAlNVHERqL+8OYMNWoA/5qqYSn8bcpTqGVzOmYKWbzQ007VKKfKXtZZiQRwLP95PINmStqMRzWH4qQYcM7H2iXE1u1c8TwzTcuTvwuSwNPqNiyw748pneXZVOngEGJKHnMu4pwpF+LLqm/Pc4IUYZfom1gbWaMgi1gmEikefTHLO0ojGHLDT+yOY6jUkpmVAvYPYyQqNIzysMigKPn4nMTFmpWT9Ri1l6zD3zlVxTDDBI8LnEw3gIkVRVmySkEcZdOxUra6tQKRsqEkVG2iHq/f789vYhPL13Pwb1IMP+bUJMz9KQRddyMrUZ85gGTlg5bQFyVocwLwDpP6OCGqMhoUK6C1GpECyxb8qcrEtFj5dlSLyERoSSVRC1widrDt/I+f1SoratrUEds8aF9ltAxrJ1ThtUZknkY5OAvbq+0PloT7SgX7LKu9TXRxxPejspGHArTyp/2gxZo5ua8vuErw7//4P3hIJcLdtWQ6UKwz5d7cegc2i1N0pGXS57Ge9/MXmhYU+mZ9KBeZrQ7yX7DaVkJY98t7VR8ooTrqpnrLkHcfvc3V0w47QgmcFgs0K1/D/JGuH3OQ+msK6H+HE/799WAF+Pvj99+PSZ/+8/HzM099/fv361+/n59/ZnZT2mAKZs6G1K/H18+fj+9/Roh9fX9xIFm82iwrWQJeCxGosHdU1Gb7vkcONEKqZTP/a+pt6MgkUPgnMuSR+lapH+HUdscK9pu2H401W22ZoWRuix6NuxBuMLRuEcplsJOYY+NhaJWAmRGy3SPttnZnSM89AlJqBS3z09RxFoT9zCcqyyGuoSnWD17PkdATf9gSqnIdmazoEd0fqbxEo8bXIpJk8W2ILa7HvtPEGiZekHxBBYWwy87qBZ/LAUfmZG4IpbMGR8/hGC0NXnEjj5upDGK2OpTDp6fLjMz2Ewqw9VmnN0Q0Fc4AfkXGAYRut9O8KeDIRhQrCzPTPLzf3ISCwT6xhBxeUVL8GHDJCHfBKk6kaMm/2A8SZGt3Abax2YK640t0hFJ3Lwj1riRRvIijPXEh9AkQyPGZ6ivEKHEBw34W4gX49iXRAtwyxTWyglEatyVJcql6x3zuS2XlVST8QZCkq8SgCb/MQ4TdKaNK8+vwrM/mO7BhzacitYyTXSQ2ugFL5gSGAFkHeMgLSUNzypylqePWF7HX3DvgMu78dbkCv7/0r1yPBqOIWWYeQENuc7teLJEtyARkzIT5TZ6t6Eh4Ywkug3E3sXPX6WKIiFqJ96CPiRcn0fSluZbrygykgT4LNy0wnBF2q9h+AwXPeQwpPWOdH9Yr4R2wCF7bpwJORilhaPtnjgk17azkMirdu74HPtN6ZKqSEapm4lJFCapx01LU4v349owte2rKwLVPsW83PXNqC0X74VEgmM2vTUFYs186AJh+WmMTXqwCYlSEMF0QLaIhC8f09TVFKZgPYbBkzZ8wVTnHk0JkqvRLA3izUxdxPrq0E4+/0k0DEEpoylbRBOhg2EF4o0hTNcSyIXqfntcH07Ef8ztJaEA9JTySzzsjiA/YqE0G3BXtJHsHCaZEBgZflINcYe0qH8lULaCFBQOO9fkEZMkWI7UWCCv2VhkGSvrMXMgH9ogVACE2NWD2LTVFVqnNq7PNLDPBk4R+tppl8Zz+jVZYe3+Ork2wnxFAgc0jUKgkwXjaJK0oB9MmGzCnazx/JrxN5VE2rY67nm2nkHOX/aH2aSSpiCyaz+zGuovplIxrLRLkZjRb+ShQgfcImZPIxP9BGdCZfrouekvyCxjqM08a1OoItaWKF+dI4UdOXZbURMHInULQ5aU8QGQdziO/KwM2Qz1Z+0w8hv7g7ef1/e3y+PfXrMDPWcHB4Pf3N/jFYh5/eApBc4AmAvv3ZzK9JzA+e4Cl+uwoVzwQqgd+qf/++dBnqGOm9K2C9C/ylqsyrISjGqxvL5Pfnz4PkJW8YeG/n/yvD3B7+1SQ3gjrrUs29C21Up9VgYjkqJ+K5tV3/vH1yvCEWv7q9A0SndDd4bZdApPsOowdbOj5fil68rTDo/4gaBcuXh+/c3ckb1+WUe4PIzuB8r70l+n2Jib2u0RbKax2CiejGDrRpbS/kNXY2ek2r10t0kZksw18PliXi14LRmYNUKhEyEfsJDshgTqUD77QzIsMZEr7AeUBoGHTj49/ffz+6/Pjn8+Pf30+/vP6/PP5+5+P3z+/cyz3n6/n/zM5ydPUY2TUaNlZ4IwYY3vw6+f1nGLSEviM1ECeQ+Gc3tEnLFZ+soNRopmo1yWphnXJBgIeBcNamL8fvz8T6ppq+WHbuBTPKchMipMsJvlG8oTU0PnoqZEtYz6YCK2CisqDrScTO0/+/PkZS61LYSbquXTS+YKKLnG707XLvOr3OSD9OcHrmJ4cGUAL480+TCeeYmAp/teV3kgu5i1Uptlp031zqK8smw9OZgLUl1l/k2KdHlKYMMRw9NfniNwUGdwlFpxtyTx+E9Ph4mSeU59MezMdhpAvZighM7ukjzEAIDzEEJODo4y1J1uQTPMp2d1DoNFiW7iDMMcxvFehwFa1jTkbIqN4mHtVVQvbdauUSjM7cTKSzAQgWLAqDgbUTPP1yjsAQEcuGeiEHy/fNXcnk0nuxtW0JEe2WALF5EwQ7FpVDdlHUqZvamqMuqy8pNAFNU1Sr4Wcc2maKIBfNGMMVAoQp4f2pm/dknTE2QoGzRuICKrFMwZBojYKsIb/nX378SJGEyxv0dMqi8r9vOnKfO2b6u4wqSRl21giIQQPN9pX5U1lMzxEL2cC4ZJ+L8TjMWYPMJOCk+SofG9WZu5inapqMpRVr1wB6kKigFKQVPLXw3e+AXm4rxxVIchTeJW1X8xv2AbkYuApZhVynY50ANV38tt49Rwnnez29aodKv1wof1tQrKjgAi1lODtbnhq3HndJB5eqInqVC8EHYLckrGjJOgew675vTvAiqQLcTu11cLwlrAQr1Ja/bEsXu1uPFqeb3V/k9l4WL9kb2v0FCuRqkEqMYenLYYcOiruwgTU61x4kUq8LAPSoNPY0AJGrRNVTKy4rDrhijbZEQdaEsZWSiQZSTRTwg2vlPRYS2UtPyqZsTVOynQgiDRSN0nl8ryfs0s3IJqvVVehMd1k7cIQVOLc82Ssu/kCWIkYRL0mVoyvobQFobCbJYtB5nzBZliaEYDwIGuDAZVoAmu8zGUsZCUNdMVeg0WJEoj55awv1AOPG0gvrt2Im1k1dJXV5nTu8jEK6KJK329eRlRg5WxX/3KupJyWja5dMZ63ZgWReUzi33eMD8sYznhGIxIIBxqzHCojRU9M+TQtrTkGaJLsBGYkDCv2qe4kfwkpJyAZoD9I+W74rvRtRjbB0cgjFuB7XjRCIoNpxnXX2zFN0PkLi0GJp2hIgPRErdTsgJj2v//1T5aUs1ZThUl8gTpI4mmE0tgbj+9K/y0SjimQ9G8+KXVG9tTYAY/vbxKjf39SQmamk817TTVU0Y7rO93HlPSIE0w368SSHGbgbjgl5nKeaLzGXanIGnRlEOPywyrO0iMsVGpf0i+493IJsXdBWX42D597VRD/0wcEqSuP4OMjVP+nt/N4SWllap/k3+u981UarbUkCxuvDZslm6C8fjqCVZBwsGNtSvCldM1T3QvQxhu/LRQdiWOBYZcx1nCQQwiYqGn2s/KbHzOy1UphCWejjNl+L1VzN3eskfPJ8Bj+24O5cigk76LEOg9eWGT6GCaKFyFBH+iiHwuJA5iKU6GdBA3qCeWROp/aYexoUO1EMuT036l9UhyENuOLjor//D+/H/9M+avnv74+/v36+F+Pz//1OUWwnt+TQ/H1eHy/Zl/xx+/vz8eo+4lN/fl4/K/vpIdMGbyvSWn+rrobvniSfsLqIICoroZYXj9J7NSRmiCaWEgT4xN1udXli/iMijKkipYuy2oJLkMk2MRNPAQPgDF3ExGAJD4/Xz+T8Zs5oUCnF3ZSSFU5pY0oLVT0Gv9DYYEoldbaZlluftkGGGTHTV6CPmN+JNI3hz6OjmsBKvb0ruLvDpdI7AnRhmpe8+WQFQbOnvekDROqF2zySvRvLi3rBydsWinZlUvwPIW7FSp2xhp1ysnSevlrlwM0qdT17FFBS0DWHcn8tehX7UjTlPIwCwHoWQTwAnp5sAyqtgnKDpA0Gtd9lx8cYnyShP2jr1OlgsY3u/fMEuR1ZV6JKwWmMC7kmMd2LKHbQu+MUOSgj3RUOyOhsLKjX7X3zCdQ32jT7wLVjY5F2b5YUyCOZZ6qUAIlgKcNnXlkWIv5DbddevCIGi4bpFA09pHTWX5XHadTFgkug7yN8pRoZWzqxQ1loUYpbNIhgUjagU9X0S3wmZEyKUkxCBuTQ0VT+uWdqip4/fDMjvegEBAMsbjEf5SMwIUmaW+ny/AXrl5PhnDtqfpXmnECKyg6PIaHsYo+jRNSYtwgYNHs2DRFdkRDJVuETfLBw0PVgg3K2dkbQp514KtzIBWk6GMLSCNdOPaXe5ze5TEDiAiVrPYTHl4EEK4RF76/8lZunwcq5U+mDaFMqy5OGO635R8hPLjPPfSyOKml88t+6UbN8xZxeqPaDcMImHRMBKsvS3F4mJ0SRSNagrLUgaFFTqXbTgKpCZkWoc1BnBOuV3xTzKDy3UBX0dRRO9JJ8/r9/cxGS6x7o5jyWf7N3LvuBh5NJVX5ah2zDSUXIrNYhMwOFAi64oI/LZM4iVKkm5arzggnosn+XULBrQuSF8k9I2Up6buJILagqGZCfWbBCC3GyNDOL1RQDEx8vIyl3C5rJ9HXHcR0Cn8ifGnHnbq1bNg5WxeRlcyxsWZbVPjrPwm4LEjAILu5UMyARJFZly0wmQfW7642zGGzHxPvJ2c4kxr3anYKTB0Xk8TZss7mZLyyIavvWRn982dKM6dscsAbrFo64ZTum826exrnsqO1o4355pjB39+f/8yJGsY1DdLNRl9WXnp8tfPf4D34xefNrGedNq+SGsmUYZ/krfkZHAHtXVefn5zc9Hx9fTyyB5i9Rwj8KoOkKsxu6w9nrfmX4t6Boke2RRfFpOP8JFMKs7/pp+VbX1PR+vH4CmX+EHzgaC3kbGLtENuA9/FN7dXPnykrzSaKyYYIzwyUumQyY4K5cwrKkCVxEOXg0TkVJRnxhqSWBQV6kFdBiRCXqLi79otitj24eK7EOu8sXpZmZTS4zcRACYaxXB228yNg+6aDuS+fi4q3fQui8hf9cRl9EdYGkucRB81k8y0qIM1DJEfCn8c6e1/ul+vmcX+7kOKQkoZ4zc2pLGoKJ16nHtBi2mNabt/6nnEn8T9+NtZR8s/FEwGZT6+eiQTVvX/DDeq6egsa0lzWZWdciJ3xJLMD0A0g28CRgSUKATQb672L0Bo4jCHPbhCRjqbILwr4P2dn7Mef39//vD7+z+v1n+ySmTXZj8/vnzEBvn6fX99TluP1+ExBhduqXgkfzaLxHdIP0cyQ8AdAAWWcQyFkb7lrv8oGKcruE/c3gsfiHDSQrdNjf9Qv7CUmPh3hJtNh3qf4wAgmNCKZNPEks3N3tMyAJ3XkR6j/M6eyJ+6MBxuJvIiFKJeCI2zdk7zEP/s+etzG6mXydEwKg1sIFyb3LYkwMcFqIwMc9Cdg5/i93CTtPCvCBknnOUKChN0xOernzLZha0Pgu6jPELOM07BvbaHBgZmlJVY8PJzS3aNHJMIRN9u6JKKCyD6vNFEJYCp4qdg1gLRhiEReWR+Kmdb8iKacgGx7K5Pxr0EEr1K2ujHxHDOhIYqKPGyFutHTTix3dgWtTFvZE4GfpX2UsVCKfIjhEe3WKYDB0NlfAiwkxxy6IRzqrz5wwkzO4FdZLc/KIeIOsqHTvhTy9lDDyxftdJQzob7U0GLxy5gNnk2NhDQvNS7QMGxub30FhIvDNUSHKYYUg1HoL3MEoETGIfmlySm/ivbUfu6nrAjNZ9GGXdVisJ6UzxIRl0+vZvyuHzptUk9lmqMun5w4G0HQJcDgUK/P5DuqgufbAzOqXmDGHZ8rjYTjgVhYt8Yiw/c6PYG0gH3RIOPx4/q7viFqAF0jlTMXZ6FxoEvvfm+b0JCyfjLc5scIR4azx8N1Ghk99HuYvx4s7ORIogkq0adxtr3FIObq/G9OxRxW3JwMeIB/GXZ5wP4EUsQ6IWStcdOvbhnD6FhKdMJzX9c2F6ArenX8eGYUgmWhJQ+mKfGMJHIsdHIlFSm+itxDNfQEMTFi2CmbUrDMokcfjFMBRFAK0ZzFOd6+/HFJ+PThvyUrbKUS8WSgvP549kMuONMeP+Co4/M1IULB2pu5sgvRZzrypPOEPGcAaMByKWyIRIj2wXn26ZS6BeYkLxAWl1zS2QxsLFTyu9wksrCKSMuM2C4LLKeNMQIQAoXQ/Im8VpJX80YgFISqV/N6ONNI0Zb35wGOCWoikCxUkssIUuQ6694Qu0fvNn5Br/NnTYoLiIch3Gxcllxiw2SnhCa4SCVST854vp7f45Sm0FQ2CcsDoR3+TAWX36kHk7M9XJYxwtFTft3Zhvhkfy8DVpM0ry52YeT8nBiESNrVcl0jKjFvXDwfA1GiQMr+mDUWJAysB9dmqSSzy1SIt6PhWFNWLuqU5wyMo9q79Rf4/04K3xhuz6m1PGLqa1K9FzVsgp7X57GcFYl2ryL4zEZsyWnc2HksRbaCceh7041SFHwCFsz0589zkvhS3zDkZPb3z2wQJJ/RtPJNqi9Vo4OA/YqC0jbyQdhWiB4OVthLQlwgaLRWZp/1eXuJvFQY/98+B5GlHNo91Tf+hzfem5tfdXYc318fnnfovajM6xq/LWCbbCP6tg0V5dLeGjgENSVZILQbBxCowIMv3SXqp9rBKQTKdnBEaOEp9OkkN1SvZ8Q7E8hI2F5g+R9Q0bmquBmOwLyARlvrVPZmW9uJSiyFbf/+3e3CS8VZQdqba1Kq3aC5vmj4PHNMZT8jPGjY8W9zPl6RoGxONzPkcW/S68/H78/vuMF/ELWv349//evx+Tvrw9+//7xmB/Acoh4Jli2Wryld9/vx8/OKZFRqM5JZBB5Pdnwz2vNA9lQrASSOunPbhDJsJUSZhn/kFUphdLG2MzHreZty1RyjZrF+wTWbWRBxWUKYuvCgJZUUTpnlLoJNJxunQzmJ9vUWVVKdBtbPkq0oivQS6DrDWQEuEos6jvGrFCE2OXHJaHXsK0lwc12aj0pFd5Y/ZorEoPHZACzyI000faI+0hJX1OqzSlx2I28l2Eppfo6kq9Rk8ZlOyxNy+gJRFgY+vke9W0xkSZiEPtFe1UwTUVBu7YZqreQv4zWguJzSo1vEqWyo3Q7D5rmKFT/LamJO3iEmnn1WASBcWQkBv+5cGd5+6uNEkY2bnXrjUhfIOSUheD0IJEIjcaQDU841AGopSj2oooyWbknJdig7d8hy2K6GVma1bRgNudRc4arYbI8eP+lBsKCt6xVCJPBdMUUD+J9Lcl1whmVc6AUOjVipTyGsNg5pHdkIvVItrhQXq0WHwuprpfLSYL3fNyKoyNwfU94FDNCWVvu03CWvIgI2H8P+JDSWPktz+vYBGR21BSeX6TNE16arrJSGZV5gRmvwinAO9S/KpPkTsCkRLZqcasVYm/IJhEYlnU8n3HWcg4igCB2NWww+EVOhi7G1efI38u5hoRsMsbipQGcJBDO2YSJW5Ed16ZMsxG57ojy5ssdkvLM9uhJoDXRRlHgtuA9UM4w5xjPLekNg8SkzCGJxjRV1boq3hLoNMRT00SoqknWrzjpqJ1DlwfwEtqLLftgMgF/ANXD2JtvqgqJEyYvYuwexKZrNQfY0If2Y25wV5qimBIylS+7PX44aU8GzRQHQZQRadtGCOBbJIGWhFRXFiUrWfpS8lnOKi9BIrPkkwU62LVP2gUTTLSdI8Vt98ECAdRz9W6UfMtVwz80pE7qO05SNmtn/Q3wGelGsmcYGp5e7Tp4zejR+LhvgwyxHppLxGyskB1QQz0Iwpq9o4M1EmjVYE8agZEVsRGlmpzJOHZUEARsr3Lhv1mkr0DK2Y1cl4/+R1U/gkPOlAkGAxls12Yz55mI28QZBP+vwByJ4ueF/ggGQHOcbkVcMEvBIPz/Y3cbRQR47nMqlyBOsnQonJYPeXcPFa4FlFbTaIgkISTL4/f15/RlanbORZ1XWBamICvbfVg4E0xQ8C3pXsmZqlPUgssvQvx7fA4f//OdPlDsnZM7aims8oVXDXtlrpzaZkHDINf14DtMEiWV3stbrEE380WUHFevX8/UzFnnc7FRQD4JqU0HIzhBqMgiRBuEEVd1heaJ31LJdsRoXsW1VJqOKNNzRaP0XE6UGeZu4Gny3m4BsvygF113JZWWJz7xbgE6iz+6X7dBu7eQSMijL27yjIe19hGwJDxrbMXRNYF+iXcmkRjNXuS/A3ides60NsMtB4wKC1wbdGbXXhbwTfmt4p42K3FHc8/fFArNjCyNczRwzpP8co9GxeJVRnlYcoc2f0e5LtO282StxLNkIBNRInjjzTrNLbOk6ft1IzfSj1UCsUvWbhyffxHjNvDrpLrEnphBeNoV8fHz86/Hx76/P//P58a/Z5fHxz2wEhRIyhNfsFZ4ol5XkW1OD5I5ILWMfrsDqE7V8biZNYFB2iyHhYqP2x9yanaOJn05dAEL/z4FJYa51G/E4mmt6yp7K3XAI3VJnPmppYnIfk0cW6yXZLl04CaCRNObDoSVfZ7WZFaa0rJce1daAJl9iJmXOaDb4SNYQJjnPUoDiClowzOOLlVVYR+N2UrFVZgxSn/UJwbSnnga6EKE7ilAfFVRch2iQzSChvrHsH5mooMv1rXiqGp9buycOc/piRxDNm1olsSHfHLM1UJAz0rz0HPpGjsz1OpaxCyaphyLJeEyO+PgdXmJJ/EjKtsmZnyt2LE2SN8yb4mEkDZquyz/UqW0vDHDh0g3VCf4KB5QSGCFpVdteJW6kjHFpSxd4NL0oW99Kkvp8Ubu7iGYj1aG30BnNe25CuI3QmFjgUzoAiU7M6SjR1SWafEQ3JWur17UxnlJMVQE3jS6uPelq68f1Q4Za4MfKPPu69HTFa4V3iRxE+UPEiEBmdiYKgaLFFsmO10aHNiYFevUFENdgjhXD9j9bwRNzXZWeZCN1Sf7blaL25Tfw7alwHHFxWFGKhH95IW3CdYUdve/8bB+wc3QbuHTRo68Ex3EGRGfHuuOTEgvo6XtXmJliHgqRqRu2Lc5qkYh4tNxd1bTEDWvd8AGIwDNzy7srd/fZueixYIrZjIObzH/JJXCrztO7TrmBtLOcHhpKOQGfTHV7ZdSuAh1uke3jWwCkpYJoQwe8kd/8n5xVgpjMsRAGSixRIwOUUwdrSwkrowVNQobC1N1Bmk06kTMH0sn+ih9uaww9P+Tt5dLeYW4qynym9FHFU2HJ84yPzrHJZQ3WLcNH4FcCmWONxtBI2DUPJn1XvYruZbrQjzoYI1uHVGnSOhPs2pcQ5zrHstTALU2JfXoYW2FqOM0SXxaf8aCngLJYkBYLtYy/BVEcXx8hLOB+rpVTkLGtdeUZ4s3AqMI1ua3Rn/OWsaEjqKaZZtfkpIox3rb8o11wnpMbdmajT8baFTXqVxkcZSUzvt94rYn1jC3ymL/UOIXalA+Ba9Rw1qWz/kDd6ZzbG/S4aIopM1YRMNrdTV3BtqIbQgIfz2N14fONgnX3P9sxcJ6RDpISuuq+ZPEIzjEyUk805vgymVaK4xjuCUVBsD1eOsZLKFg1E0DP7xSC/QNkGk+buuVTozuFr6HtxI+XSkIaWbmlYNeuNEw+Z7IRoygfpFJmYZdN+GMt5gSmVP8pC7jOfoIACVo7O4Lw+S7cVzTvxbohsr0MWGHro0w7fxU1pYaFt3y+FgziBJY8DSlYKvroq7dW1jAixnBJfXrtCHpRgnL4fLbJyqclO6UR12k/pyLDC3B21MIuw1PzpQ1y6RxncHrD6C9tbIfCvdNoYjtUVivWZmPo876Sh1G1wQtn7TmUvJM7Mp7/lIAK7dPZ23QWGsqYXHEUd9tvHa1heKYpHZz3EJFHx9vasW2wYDp0Iw0YCftOLtcUgpuu6edvyh9MqafcgeSq1epGz6OvOejSNaGMACqdukPz+/v5+/++Pv/36+P/M+70bBx4/k7t6OzDf339ZNvH93fNFoRMTFXK4ZG8Fm7OsR2cQGHxgoxhXvEQ+2i3HFBX31LCc0tmgs7OPTWffx+PkX7RDtlZ9xuXeIT21FkC94XjDII6zekbgyN0nzidEbKCidGlhca6GC3R6dojTQgt3i4CbvITLn9gHamaZiYBZzneuD+ONkIsaqDLgzlkuEuvGFoumUr8OsSp4d+tcbegwKgAycnjiV4LbSMrPRewppDUqwBwpomcp/0onZh5sRvXusO+0IExwnvQrFRBA7ZedziVuk1fk2Xu8bksCMolmoZltFgui9MvTjuM3u8qTudwtH8f38nxJVAjyF7rEvXGtUe22NkncdAtExWDeStdzbUNxwZAfWxmR3LZ0pX6Oz6qX+svYPGamp42QcRuP1khgE1Dkwi0XBVg/IJNHKFyJe5xFs+UIdiTgsRlDKNuBaFSA2IPFYb2aoHrlfiLGBANqq2KDBpXvWXgm2G/yu9+EfCYA94Jyil+OoBMfXMfursiUSqtyJIhNGcYK1OWENIIDUEwmfKcSEEsRDlETaak8mfTBKPKpOJoONUl1XJ5ofyGIWe9lLH3Ct/jDZZoLrei817U81btve1Cmx4pUDXAflHetL0SUKMRTCUvrEGp1Kwkinf71J+UsIh8zpYawDvZlQO8wLPm9tusOrfgDIYTVaXFQYZ0LDZJZJf2TgUs0YynU3keryU8WkvGmS8o01xpEvYjU2doZaWDjsxmTqO7VNyFN86Ga28yWgCInoEkGEuWWw9tqEKVDXqubmYwXwJtJGzoUtKBsqcZd6pAiaAeu5dPk2BZxDFcA3SCsh0hY6dTI08B8tSvavrR3ELIJ4v7Nm3NY683xUgzPlgp0XcPjZi3ouBylmMRXR2srwWgZu/VBMFDY9B1bfN0+kplIasB00y4lpC5MCplnW4gw8w3ciBqMnluS/kIlJA0NASBMbBZdgZUqmWzF3gCbZHks00Phn+TujptvF6zfocCcJl9Vg8GhI/H9/P5H6oRDqlnE44JbxgKjAZq5V28UFZsxwo8MjSroAQpZLIcKxWYxOftEVOpQPl8/fP1YBgc9jCH7lakkRVB16YVmH0y59lGUkbooxxeo/UbQobmBZ7wTW1SRkJq9PKU9zG/AgGICXQ+c9p0TN6GBuQhYx/Zvas8yNXnIBdhJd/Mf25uRu49X7OQm0bYu47j6oFzsd40R6vE5xyULuXMlu08rC17dEFku2JNzmWJResxBU7nNNQpxJ2CWIgU9sbP9oPAJ4Od5MrBwtjlk1s4/7DzbSgr60AwJRZ3+TFcswXUZhsBzAwOotyrkYz3wy9yySXrLhs0tGc8iDnSoLj2hXng5DDzyNGSB80rlUQ0IrNEznUAYxLbGdP19dgo+4HlqwNLNq62tcvzJtwvufuurXx9phDxItcZGPOmtRbQUrygCPhRdYW24qmNGqfJlpFnMHxjfBXuK350tI82U1P1U/lFH7uV8QbU9TQfO/ehNVrfH/BS/nGMRaKIu1pSNr757v7j5aqwtZU2+fFlFMmOZvhxoKa32QIgjbZNdsrACPzPHHRkAvtUhR4UTsthijXpPz8+/jPp0MPpP7+/f56vn4/Pn8/Pfz6nWPEEZMffDFvG9YIkJIRu8UcYT5NB0tquwpwck5kRG0onUfTx+flMNes85zB5MTuZgz4cuQkyLjfmdhQrJ+pRDiCxesC6e2jKALh1J4zrjqMc8e5W3prfVi6ohbDkynbVPJwhsnP40ATpUsOm7E9CG0+6k1AO0OE1XtyF36VYOTE4GZaf85MtyKwBwHjyf4y8+iRwtrfR5G7oq6TPVxbMEd0ChBeyeRwAoK/M0HH3LAwdwYalZUUPVAsbsO1WcFTHMGuoXVbSStXqgivWa6q685GVbMZnLxGdNEtZqIOjdo5GUqEFUHnWbbEVC7tYApw8BrEjmPwI38IOn09MLrEeFjUzP3AjGk7dHB5msYIJydedEtASP5UFa7EBslj1taizuNFmdlqHzovp4IhN5pxDwUwV6gE3x7IaGu/swQgFGFrwKEkWp9SWY4Vfm96+FNYoEcKrY4z34L6kPnDiR7BDFYeOEYiDfPpIus+EEdR6JrE5hciRcCiHpSgviaUSVXNSUgXa7rnJOVjzwdtmxLCeKz/bEaS1Sglyxp3jrQWGDOaTRzI6e0VA211z36ZtqSKCq4ze/wvIFRZgfFl8BRBggsiz4n+NsTQlltNTZWkNCrbpQvQySt7KqksCnJIDoti2k4fgjEEiMZmDpMzfnHtg5ezTfge2oGYAAB/uLa5LMuD4CECTcg9OLr5cAoPuQlykYCKeIhgkfZ9TZoQz9908gCLaF5Yp4cRS52nwmBHcFrN4wnAL7RV9O0S49njUMvIKymo2W50xUO1agpt7Qg+wbqJvlNzsluHVyqXhDXJOnGGttDO08OPkfIIQSptgEMXpeZPanTGOn4+pkxsXMGy8vmynk9EX0kEp6LSygmCLbiOul0tFAIfG1OxAfIuoxFl7NmxU5vwfKW/YFioLGXMaLYphQ2WlPJg44KUs2MCqOcCp41WWfk7d0a/Z+CoYF8AZ1LoAYfUJ2+Tom4k6ZZWRSHoACE0yanZwp0Uzg6ZB10wCHn2CxDt+f3rOhwJEiRGtmeVitjfnM4eFRHxM2aesZ3eXRN2MZuFHWaQGVZPnnYn4K9aI02bHdbAPo0h9TsPDyVLE8pFzLlp1jBZyt/bdGJE58VhgNF9LBFrkbwacTePUcSFpIDSJJAGtTGrWZ1IK+/X4nqqwM7VZis98k4ufaAWk7Xbdr2m0Gh43fY4w2sWBKs26Tb6cmYSXnxwBqbx6fc5C79TrUZ+y1a/vIt+QCbYLzSxal32YVSh3BY/EC9hNS8mvLoXWgTmcV9tzN9+t7ur1PrucI7869dZEWfNaZPpV9bZaNTNyOmCFP5j5BYW6Ps+HQohJGXqtI8arJP/bcccst8AB71ZjcZFj1xjbLZQYv3JxqVyYuLKj/PDxZm4WYgvrnQmjYNhqEp75rw9kAVhs8BBVFcW5dj1BP/fl+3PCBXvh+jqfC2QLLj50fACkGyt0zsW8zZsxD9QdYh/05EUA7oAAqZksrltcXQEtA8FdZcrYE5LNiWKzavozfBnW/JpDj36/Y81PUejkXj5/X4/XVy72VDMNLYKGDLIkx/ZPY6aco15OijAKneNcrcpG5wFVMoSNSIYDthyUcrWlMcgJZftZqgsIsRbE6AgjlwI44uwqA72gIg9w4X7vMheRffaoSJEOsg5LDfrXs2ubE1BA+rMSjl6XKtxxOvcMIgO/53NOYyLwRHZ3ty5LLtn37F47WRiXVoJnGGqf+XkCcZnGqTeW4od5mtMVgZPMijNZOqtQ3bYA62VZIXIVYg5BGRzzzmUDnZJZyp17FKtEtFSo0FYISdSEwqMu0gJZAOWd+a9xsXKjhok9Vxmrk/RVFBAtOBf1iP1TKaqZE4WmSQX3uwpVIYa0IddpQ6nsY0daufYqSzqkqAJdTgQbtzXied6BXkCfdKgTU/Ed7LIdEDxI0nbo/PGYEp4GgUKHYXT2zWGTrbBUCAd0K5Gk3mmwv0kBkYUUMJWtedi0g3kk2YWSJOy/aosRu7x05APuGqyI8XzwCdolcIrq7LzPXyCzekX/38btswD8TbZL5XG8+j1y9kiohovyP/YlDjOaE6VWBGV6JG2dgZzOBZjjg0yWEspRfqu6Quz01fSikwM49Mn1R1smLo9j+rvDY70J9FRknGE6BWDBCwvDJ6nWlbrz2clWeS1OqCeMTNChEPxoLiQ78rTkldviW0jNVZeDwhi5RQJk5SYCpXzi/1tDVkBAXgyy1ow0tKQiNU6rWkXO1lkkFRPBA5zBoyYaEM7iNygzHQXo5tCeWbxicuOfqIa6WJxhlPxRmNWdOTjv+YQcdI4KH3xePkl+nq2FucEYAJQtO5IJm1Mwh6xLWDqwp3BoZW+ZJEfmkHcFuNzkK3OyNIZOQqE5xChX4OuKHGfwrjlJqClUNIFFjBUOXWA8qBwaNG7HZBJpSwnDMGSyqqa6Vb34eWSdQ5ComDr2HPtn9GAh0wAj9mu8X6lfAQ060jhi1xW85iA0UWt+RFaA2RmHFkLSwKT5MCByGxPf2nFxuiJO6obN5S1Fp3JRZHBViXB+usWoYnBcre436fhBL4c/p/8hXAE1edRhm+SqPWcROIQ6+eBVfezSc2UdQsr8u8kqrzfpg8g9lh2n0jKuEFtykokvSl/KLLhBBcECZ6AEya6DoeBI9iCEgvkL8uaBrN7yPl7N+LRQBfhg9ByezFtEDWokph7Y6+fnOWVXiTlbQ4v/YdKxBP0gNvLnT2poj9XmihNS8JTXSk0dtJeAyl3SKWCr5pvE1E6Q6GvKYMUgS1JlKsp+zZ7FeWpWrc3F07hRJMYyzoQ0iyAeDClYOrNexqwyOgpZGbXa/NTS3P+WjypuxPLKbRUEv0/47ijnksX8v3LuLLSigdxGxQLs8WxZjRL1y7POba15NOple9U1AZleYTCcy+rYhU+HqZ6U945/XEsosZHy4/nIGrbBm+s2FIA+55i7Eb24wYisk2Wf/MN8V4cAALsTa/4oXMKC5cM+tRgNtHlyyUDwnefUoblko4uSq/PKm+uB0x1zOK2e6xEja02yUpqJ9TbVFvLgmfzSZWYQydDgUxEdYdsVLI7QdK6IbBXLM/VvE1TE0suJShEZqMXXc8rkzUtfUwchaUqPj5+PSNAEEFvgc5ofCdXM2KiEsCd8FFmai1S2E6RT6nlc9xS5JD24xlL301DST+aaYY93HaCpyaySYMEHf1abLXYwrXXHHLMuHzqNPZPTfZKBB0pzeN5Uwk8BiNmp85yVcElT0xJDz3pIW7KqEVhGQBdThjp7sEfWNe8mpwB2k8u87vGHPWhgIrAmYIFzdpbR/wxJz6rmoryrpYEewYIZBUHbmKwZwIRTk55G4RKTqlgMU6pN2937fZwCN5p1FSTUqe9azL6fskZ5R+IjiVyn8eOQXGS5LKaVWF6bbluISPbHYTtZe/jnMkpjH0IMJFJP2KzIFR2BQqCqoMAh7uSYgf55UQGZT33WdOy+EtQZYtwUJdXufE21CMU4m+MQHCl4DnIC5O2CBYwM8gS51q4XeIl1ZtQzHiZNBdIgZbNThaR9qkSw3Aw95AaIBySrVS5pmw8Z/zar+g79JwHzIlgN0DzIoEsU9qNXQlqQDHs9IRnqzrUhwMwAcZ2uz+JrBXxGomjGo/j4+iaT0MQJBwmIVJcaM8FlDpewYYWIZKtJflMeRLwPlHwZJ6FpxFnl0irMawJ9J9RY2PWvpHKI+AAqo8G6JqVDIyAS2ekb3GcRjEkjZRZHTISUgAh33E6rPng8alvsyI4FsPIogzRQAG95JuWt50r5+W6uefFh60xV9VLrJE660z8IzxuYlkVZvLUY0EcNIiVRyCOQa35BkbwDqNsG2oXRozw6gc60Q1XZBMUOkXmEssOl7Odx4kjeJX5pi03l4UlGIMQlLaV5oZv2w34kYHuQEnTJ87ZlWOdQGW7/GlX1DNn5SSLWuh8ndcediZHrCXfpyzBJXcrKEzWJ+ExTZUU220OjTUYV2tACADl8FDwAoy5lp1GIbINW0G8Qe6Vzz8LaeOpxt1Di7NJZUPRLFV7ZBAwkPCNxA8+mobnn6DjK0aJTZiqR59KYVBDAWTwZSpBlZnapTVUqxV5KolH2R41kZ1uYUOGfDE3wFtAxfMovbgSQJUPk9VQAPnln5We8oDo1hGzcnfvIKSZId2G+6xGTyKvCQ0xvYpo/AHUzLRKo66gKVr5unnMiyhSsUtPYd7h3Xqpr3YlXahr2s92L2LIvN4uQU5r1MS9Cw7jEgc88kLT8GccqEjPK9FdCJx8fnreZBerP30dV9ZR1sbJ39oqUxlPtLJ5rjKRykRJIqU7CITSVkKsUvBEUkqDZUUg6NIJJIEJnzQ5F2bgBez0fBUrFpMW3+pscIgUPuqpMffQNxExvp03gU65Vyq7d41nPuifuq8dgRTxDngZwRfMyQwNJoPTMllEtue8ADvb3WV/tLPdv2AjrWXqxTUeez2GZw7GXIhcBhy93bCXs3L0HrrS76f/wA7M5Jr5CKRCtgmto/57i23QDk2DIjjqztT62/xWBZ+gFVC9zjfE5TymptCyu+O96+0QwAtC0l6e1egGSryObBb4zt8ftozrLnAYocsLRGRDRIh0hqX4pcmyap4QZ1ntNxMm2jCjNwul8n+rsOwN2zH18TmE6LaJZTM40Wr5O+JPVHMc+c601vphWYeUFtL3uXgpD1HYKj1BPI2Kb1ba5w1nl2BnKqGpaHZ5DOUB/5ko4u+FRTk460W0hSyySk9X+PC2+dfERq76eJUj7DCBkkM3PG/hTDpM61COOTN+wbOOIYuHGTtqBuZqqMiitydSozqQbuWtfwckgZNixYVJrAQNLSkuokeM2sSQG3Zy6kbulTfqSfSrA/Wo8nasZmQW6IPe6bcsp6aXnXMAuDWIKeQe+/KJHvWOGShbODlKWNvBaAMwdxKoXIjQ10oJcXhe2DE8KCa3WG+j/4xmasKcwofn8VLxnCwLVN0Vd0VLqKsgGrNZpmT/Hc6ibtTxuShYAKbz3yald0qyKFQcCBSFT7GGqLYgR2k5eQ1wjZwMK+4ndVUljkK5w34Rhmn4r1Ju+TcAvZZb7fQy8a5xfOuAWyo7WGkNF100Qb4qwtFT0Q5rEBdVgM8uedurrLJfzeC5khkdRhWjmwDS2AqBR8vDSdGiMTcjaCc6ckSwPt19FcTG9hIqkaONBvFCSvksRmjtrepTYoHBDbrFGu9+DoZxtjEtuf2Mto2V0BhqQPEURhk+5r3DbDrg4vSS40uJswKi2lD+73T4zPrkWtBZTk9gmBlzJyOYGFN25saIZyCA695qj87G+DHP60FwkhqaM3ojX1Qr7xXkeEiF4ED6utI5U7kp1xmbJ2ZoDIJTEzlsllnlP0Lo4R4qoLY1uo72KBZ7Jn+QwOBEBreeziTGSA9oWpqr0n28tBr5kLPZlGQ5Y1P51LYsOlgYQkDxDZQtuNttKQ1dSgsz68lZrRD+ogGryRbVnyksOG3+VIOe5GRVL0tBJ3lfwQX7TbaJgAQskSu1tzbfqYy0Vd2Fm+Y5AGBTF1NWoxZaGmoBh4Q7XL0ZQdhmxsCn74OXqxWIo+EB6wBVPDk8yUFIyOi5RvOKpjSKnrmSPHPCK8AGVQJUgaSaZ1dG6KdmPTV7DJFtTFCQtZNF40hDgC1x6IwCKlBlZAB5AIltD/KnpUrhnQZmgpnZUQmyT1+0AEXMFGgsdz+djzro0afY3Z5bkXeQIu7wSeC4qCDMbawitoHgxm+Yzxx2LZf3tT7evmxLSJeKYZRoi4tlzIDbTbF5lURkMVvsOM2FNBvAmU+A5s6H78XjMycbE7JPrmEZU58KCbEBXDZDd+asZ59/b+GDGyMqN1WIWV2Ugk5QcjDnmfqQBRmP1oRS1LFe7ZXnJy+8f+t634DkpCkktppRh7oiv4GlEy+cj+pBITog2l9a1qk//FQdVENU76lDSNxgesk2WSGMQdAMeYGE79YPgWuPu7X4EarlM2EC9fUDhLONlANf7e31GXyHm1XxseSesslIh4FVVDDHAbeLGyTvalGKL4QOWvkGLXFL8vYlKHpJkpMWrl0NL89Bzd6gKescPG3ZC9hM2Yysewb3Jn5lKcc14kxfaf6crV2Q7gSOZBp/Pz5xmxMjzb/ipEVvyP+XKjHeiWlm0DKm5iI3zSkHHKSJAEko1s4AI/KN+h89Zp80mygaDSoFaJsZ3s101vu/WzyKRJzCJBIBPNC7SRBeUaNAQtvAsgnL4BQuVKVHvSXsU5npO0b9p+6fZLu4lITCKOgGSJT51K8FxcnchjLoYmjrBIIdWBpcrGGXSaT/bU8C3x0nktjUvTuA7Vbpl4aWoQENhOr70av+la/zD7Iiyx0RmERAQH3NagNYMtt8IjjLTnnQoDzAw5IzMsQu82zg8cbgj2ClnBMeNDL4xKjHKkAW74akJDgUXDDYtLBhRFLYrPPZ3XL+5VtgiKDu8fNlNYeUTwdKWDPo7AolYUDIH2QqzsG+6NY+YU9escCoZCdGZGxcMyh34EQJcQ6YupJhwKo8Dg1UCTMdnIBW6io0auNfmZJKStHjK1fOAs7YSzaoYCK2SWyIon1Sc5dcaoh24s1VYwXBpDZM4A2SiGL+LKhFRkQMefKUIdSyJm32vW/OGxbZ+mnT2Gdx+RTeciEQSr/WXrtEk4T+lVlhLlT7D1jFG31HrL/QsTx6OuNww+hSvby2II1XDFIRhxkdIFa9CQ4zp2qKtt5+yapmCj6Ata/S5BRwN+h44LpuvX1EyLVTbPkSJUJ/llzSL6qnBNI79yOK41gsxcdXuD/sxGuVXJldnACA2paTsG13Uo8D6uQ2xi3qvpVHG3nkDyVKt4QwWzgMj+SyeM/hC+CQ6e8BCxmlOap3X5FTmun64fCmd1GWgiAVtVtjlt16rEOOlKmohAaXt4qnipjEzxgCwmbp5jFTK6f7MeRcNVnSAlyBm+jhB8TMJMbisHgGHZIlLQ3yxHNJG10gr+THdgRup5YwHaBR8SCYWObn4ZPtl1x0CA6ED31czGniaa8R0Q4kW9Cz0uTjkQTxxt/TkdrzfJHdNhchs95yV1XJZ+guF5gDZ8mgA5Sod7SueIDdFMJoMKeMjvJNxm4U1z2dgu3RSCqhtYSb8YJXKlsQ/BgPu74oEqZXGogtpeCm/9Pl6PUPMr3++v3Gw9y3pFbCGmjKu7NEq3+3wCQtEWA27QWDxKY+z59boZPE15vKAN3N0VvwqalBbcRUChjhDwhw1rSqEm6ElhUmOp55jUeQeSCIIGDe8Y35yiJolN0iEq2VjXhyLQhk6xT7kIgWwPatlmV8ZWdBkWMZiZ3i6VBMIhyUhj4tKkA3lQ2BPUtWyn7pWvAsW5CSt5aGu3fNKY7E0ud8Yw/VFrodK05H1XSEpFHdHcWjDJ5a7gcyy5N6o4mFLeRvu5xrXft2uApwLLpm4q0V9HJ71NeWnlMzr18unIQyU2kp9TA1kYwqETgj+vdutQJDZfJ3n5aYDAlRKQp7LRQgj3BtHhD6u+sif2C/rYAvLorjt0+A1meXVUkQwwOuKlDfotIk0cAY4VJXRTPXE7pduvIOWHMzyIutvijX+n/YQ54TOIF4nWQIyUhYROLvqQ5RGJyd/JUVD2MkXmZxS9zHe9JQi2ea8osjIGVv6tE4kQVQHr3SO8RI639lnOkqPaSlbVBKxZSathqVJmagcpKOkTTUp4MiA0be7b5/VXc20OLYmZUTU4coyPEJ7qumiJKHVOVOPl/mpfjFVbdpC2CLC2zx/zJ28qDiDj3nFbkzgkXhAxe3Ss0gu5QSyGSKUEYJFhkj8c3LyymqGxKtbwh2y1utesysdGxrw9eBRrig45roFyUkGpxZAZqcCVngvy7wJruNRXtzajBvmuRZZJorNYDzFWwFrGsPikn/BdZc2yzFR35DCMgHrXSiUXHZ+UkXaXkHH9XRl2pSbsJVIbuRECOWvXl7zsUA9ic11H5iCwfGpLKJeIeSkygl7HqGxrA9Y2+sidf7biOKhEFBAg9JXtoNXGFPlmyRBnaXK14MlKbFYTGJXM/yAm3oRnwULeQLcIAob3kcWrL5aa7d4gA7v6AtMlj/IEe8EDF1fKqQE5IGXfHSe8BfR4+wB9q2FCBR5UHv0gYRTD0YRLwXypKU8exYcI0CuMJwln3c9MX8X3/fffjuUoEUoLy+rVSTYKxTvbUJcdLxOLCbV8k9lRenJeEYMHaNonAx0yELigo7E6Ao7YHlNQqpyzOd4u/aKOY3ujwy/ugFKLEZ5jG3wZyyUfsmxsQZmU1s7scw+Q3Llk7lnKN2CXP1JFgnjQ5+VRpwW4bTAQqeOyZqbqtxCoqfhFhM4wdGAjW2Ktpved85AsNFsn5C13Jqd/6lD0XwzXNojkQplAVSZl91wxsARhXPzyWMAqnFQaDWbb4UlVyU/hp6x4gQicoMtNeJGjqBieUSwoVQauZxfKmXdscxtVK+p+YQ7Kn3hNVuoalyGLY1M49lgxAOknYvKfKGWr6uU1PeuYEpIOM9nhF0MDOJN4hXgDHCcoFhKeJu7FFCEBzAKOGuNFLBOIbpGyPi9TD4XXlnjHXc5Y1P3T6tYa6GAGSx7Xnem7OGvhbHiVuQ9n3NW5Fx1FVeR5GIgE49HnTy1yU9XvpS4Urg7nPVKWl1lIBIalsNMraE1BSpW+NBfIJBNXaqTrCpPFW184yw9B9CExMwEyRA4g4TSVhCb8WP6m3pSv7NuHIaP0QihjyqYBeR8nROO8haSMlpskDIFYDPpABshdmrFz9Pp5OeZs4gSKnjMkjJCpQsLASPMEoYKRJpL0hRElGS6oKMkE2EsIO5SqXKM7rP45XrvQJDN0CHSKQq0Bge8pxAMwKuYjut6lO6K9Jt1kYcNJqIJ86xSQKIq5RyVqzGEUxf5t55lpVkFo/hcU6apQEoHp7KsK9901PvvuRZm0L0sM8DCjk4HICOuGFJqd25SupMKZXA74F36tnOzlRSL+Da7T76cjYRkFOg74zUUp9i370n59ahabc2VlsxILGos9b0Cg6jyu4tevbwT3YfbZrsWuV5Zj+E8tMGgkE0SoK6bFYOIU8ZUqQ2hzhonNmSuJsr1RRU4JrtN7TukJpocRjFb44FvArYjkObb+WPWDs0CGYWbxIKUtBsrwHKBTdDFbIMhyGchePr1OWW0glamQ+bU15xaJBSJSObrVNpic5oCiAixBrqYRB+5jVY/x9Aq8eU5rglDpPPCYNPZJQRkFYoWrIFi4slHLk5JgciS2CFLWsrAJokwzDxGgCAkXSo+9SDoHYLEs1kbhLUfClHNXCeBCEYDCybKdWtGLoaCie+7rUgqLYRryiJA+kFqcfprQLam7LTRcmKDXXagTEYSKjGEx3lyENamVG+eV4cmeQYylArKNrHSM0dVoesBn2QRQAIfFV2sajaUcZpGd30X8NAtrI5+z3QmXI40rQeiQJauZVOAF3ZQOin5L2ErzR1U1O1ejgsvUNzmiEpcsYoonqZxmE7gKyodDT3fR+lqkEjHMrUsWwYPihFawBXssJW4l5hOzbzKOtXDER2BTBvWc89Yv6jd5i4iy3t3RGKiAR1BjhK8Yc9D1ygXJZdgjb3Ci4J8Ma7quGXtgXEYPz/gXZBZ3CNAHXMbX0RGAcUybYq8Q/mWQB3XBfhSHc3VwGU02jH0tc8LXODCLEF7Rs3KWJFbEVwKzAj4Ud28Oro/aJWZd+VbWq+dKVn3b4EUjKzjwEiLr14oHpmGWpkn+1YbvXRoKWkBX9ab9Z/TC2s7UQspzdSZYeus2INprDU2TfcUe/iITxZmeUuLJCPj1ITFQuY8y2uccC0p2e0lLMyqR4pvylDHstsAFm4lFEU9N9Fn2k2HvgA47KJTsZKD4aVNwz36O0FaM3fSxnSWoHBjBL2FUXnZMuvZplnRUykCfKqUPE6gHMIMA7SKM9y/mqedRGkoo01RW5uGKbxpfIcylRk0f6Qe0ZEItwFqh5rXOyGI9l2YOEz4bCVT5+/NXqtQWAatpMHcFDVErmHT+U2aOlSpQYKK6L4P5cSYOLXRD9zyMBb/7D/lXSktjxrcmYX9OYcptlSU5pbopNtE6ClsdUSBxmYDkDG/cmzSTvBkTNGPUxawO3F7SZ3Su95mHuWAXyNyGhbVtQQFGkfHmhqjivKhMUHT/vJD3D52Ljxfk+cYpDCJhBRmCFmjT/FQDstlqLFmW4wQaRqKxFB4zgrzvPz9oLYIqq7074oiCcM5cMhzo6bRO7lDhH5R96Vhji3BMtOmaoj521G9WvaArELOpX8E87SQ+lVipNYfJKSALSLoMxW80mGVAVgDD0HObGX7eD6naMykFWF9hTrXNl0eYX6GBgciICtYKnH4yVxCM4gFvbjFZJ/jV5MfUxon7ZD75NTLCYePTyfdxQTQ6x+VRRy4FL/clhfaHP+orc92rn5qC2QoRLGv9yosaPJ6tMNcNS1Sr4ksi9w6OgJjl/7qCyKlt7dedz+Bmqd6ura9/Rkgc4x/y8SOaWG9g5XoqnGPTq45TIf2AhvsCNvA9ZMHC4ziSf7SbDl3FvUK2PzejTZ9NPR56Bm7S+GcIDgL1wv3eeA6ElYzqV25fEj7xMfjh6hug6cGPxDnyulN6gaJRpBmL0ME33PWhJFeHPAD5zYJjTXPBEBZfmVlcoZLdd/ggcJZjHxcx1GWxIBScWt6CwR8nLB7V1AgwnHEOZ4QGlK+mQjDjeYzg9sJLH49nlPc2koGxTo9B+JubM6c4iZCgsSeEZuEU3EXuY4oE2bFmAS6Z18UGbVKBsqTY9w90lNhG2Ge1USYmG6z4DznNCLblSXbLvma4LFejbqsTFLSJFSxBOvfVfct8ixqnO8Zv4RVmJc3M6BjbGmpGhYlnLBuwRFVO/7uUD0sxZjq3rM1BzdvX2krREFqigBAVmWYs4/zb/46fflQzXLpiLen7IuWJJXd08qAmHjjDPtWucl6b+GlAojtjhVySlperb0ULHh/IcaWqSPwL/EH/Du3POJBSfTAYZxIrgxzNSnbt3auy0AJxsx3TY8EF268VXI73hpS9I6BYQBIOB24O2gTbmwUAiiRbNCK1QKAWbg3B0ZalMrhG8lQXChV6ENOKD4uR45n2CTCyD9+P75XCQqg0D0wrbORS4ccU8OOGLaband5fe5i52SuMieqfBkJGloOrSo/uEaVcgoWuMvlDtMmi9B2csSSJFZUdOcS65aOxocqNTIKMzGgQGMNNWUuxlTUdsQXP7QbpprLY9B57GoA1fhi6KK0VNdo9f7xOxc4pTEobyxa3eF0RDneDDkyBGGkexhglpgWVJ2A1uNmtkLIqebMfiLhS09uQilVLCWuKaFaYx5nRiinMKWHA09QjcM0MqELY2AtbZm1NFSmEesj9u7wOLHgApQDj91fWe/7cBF5WuG9w/DEHQp7Bkb4tr8Dt0yf4HIN3YQwZ8voGu0agMDFJcMo/nhoHrNWrkjTo7wr+VBRc2stnFCkc6E+0eQ71e0RF5ldA3TRKyPf5mQmIIOiW0resRqcL6+59iBLOxjXLHLdAU/cmJKhmFCQJKnCTBw4LGERl9zoogcFM+QLXkw73mbAkc9nDsQZKyuLwEIqxTSNVXMykCpKdCNqZr9ams7ig5K6itdM4itil7lkvOOiT33puKIRxkH/DI4i2Iw8dgflo6b4UxKJQxuzwWz6mrSan+fjazJuEmLIaQSv18ejRyk+KZ8NVEqpPVbh5/lskRQFAdDOqcVj8iLNH485xST9j13z/T2LzNP4j3u8MX2FTggpdaHZWQlQWD8gu2zMWfbnEYmj6zn86QF5xKKTMh12deMjkb7MaQ5EyX6/Wff+DlQ/JhYgMfoui+3TaWLbIHeWKZKsHat0KuL8vp5fUz8v7PM71d4HAV8fOVrUXqj8VbKDHbQsqm6gZ23vXg0QMMFDY4a44TrFi1akVATIdC8Kw3Lsrnqt4uuUlakrspDj+av1oqJEqylzZJk0RwMOXaS2NLYT7zSrK1WgsqLOyzbRxi/hYK1SRriP+SjPKCJS3oKGA+zKGWYx/SJaFUvRcdVt7fD+BuO6+f2oJbpfXdOX9AqcYl7nZwNj4umEbPflyuu+dk+fJ2j+gs8CywG9jZvvgK0Nb6tSE1DKv3HR5oGTslG+b1S5uqwR/LDwrO+VNlDGJR2XRMAwYipehgZUBLWuJjxvLpqCfqrpBEpfo3QB7PNnig7M33+G0YcdecW6A+nc/chskfh9Pn+S6BTnJTTAVlq2pWQXxbD3ZMEIj6wMo+DYvaJdFpiknuVS1pYxuIk9GzAMdWW7yNTw19RM+g8WPuEnSwUYjJZfzUWh7Af7bANxylVIQMFjakDUJjg82wHX2gECI5ZZwYuJOZ7Vo8uMHkc8uRQZCaZJ0DLNuIXnsINVKkvayDWt++TMIsTqhiF4zYhpDk4gbxIKqvWmSaVqThMwZe8QMpYGtCzNQ2DlvuohMqX7gBb3Hc3vPQRjKthMXLUCAtiIfGvbYalhgHF7RWL6TklHMAYiKDOxe440Zk/nO5BOJdlGemZJuwtqoPauzsgmDFCsB46ZaYhNnzBaMGxFbWRfqfzj+SJSy40wx4KIPDuiNnV5pmUkBVuZEs/ogqo6DIaUslHnJdBA7Zp1Gkz2OPB0bkfg6eU6eGmlri86C1pT5FXJUKjS7EKhUU+2Ig/2LMbVBXorBTKs5cAW5X1LimpGFb0s/JTurqxY/vRAKmTzfcvnhUmDscD99m5W/KtXyz+Yhi3v1pqxuS7yMHCoAwrnbs/QV+1kZyCd63P1ZxUWcDCsU6A40B080KAGEjwUcmC11LZ6zGhDkssPMvUCp9Qi5uj02DxFYMRIsXfeoxIC87JzPgiBzqjyrkSSx9YdBDouOaIRcQ2HVyeq2M0znbnaboMHCpA22ZnhvuAISDzpO4qnVFeqqkiJ3CZlIu33rJ2BSOKqPGO6/MmCqwtBzpWV2ZhpmRPpsPu4JLH+AeDiouOCfRu3y3e9QRy24n/JKzMWROmaLFnejoYT+3qUtoqoepPjtLoS4aKHCjWKXWlXMHA28xKwT+Gj4AsL/iafRWbJCKabS+4JT9HFY5Prkq2gIz6NXtbEF2RnmLCoPh6cyFORGltvScmLMqIJ9R5Yzz5efUgAVx6GromWCcbVmmiVL/LQNAOlYpbCWhnVKmIxjoxWym0NkyWxVhkQMKwJlcEn2N9jKtAz5piNQTkxUFGTN1qqhMI0WKUz/kQTLHg27cQ+Ak+r9cerp8qoTrtcBjGPe/z5+fyZM7HwSlNRK1VoeH/Fi+mzhmyBBgdUrIMUPmJ95fV6/UGeYU/jmsQrn9R0JEKKF348Eo/3WK/S81R+ioAOMjOEEGmIat7OHmZDtiAIKMWqPSqW80oqXn6fP4hpOG72D2vmmRotXCCdzRXSAaMmamU9lZO/Pj++57QqDELjBhmPTD36XEmqoJpsx0ywRhqMGnjH4K4OWY1lS6Ds0lmIDB4ylm7pgpYc23aRnIT/ECVYxnyVQdLEVddQab2ylIvvQqHPrtbY373kVPp7eS2Q8vG30SLGPc/mupumKmy9As2e25mm5jhtH8sQWHMRmBagHc75MNB+lwIv88Pr7y/xxg0e56Q61ptIlAT/4sCqDvLfn9BeIUfrvAXKoKC/R+IvCUmpyo1FRgyiHDckYQIiyfB6f4cp2NNGDZT5RnEhP4cem4kaDOBCb5C5xg6leyOs3NibowXjqUaRp5jWfH5er298cfEnV7AzAtWoJYGhnmrvzooEts7t8KdTjtZ11+48YLG8nkTAzpR5FodtsqmJm4tLjhsEQFgoLNtOdC1SVrM7+pHNsfVUbwbEFgz1N9g80hvpOTWcYwI1z7mMRMtuBhSzkIrkPq+/4k5K7GIl3p6WFTCst1/TgPUqs2QZ8bHv0zokUdZK5tThf8QRs0v7HIO8NjQmWbR5DTtViWUjKEoi+0uR4F3OPot6SLMyeAqIwRkBVu0RyXfZiS4YcGAznw3u8xMEKX8h8DIA9yejwO1XFPCkfaGsUi0LLt164eJfGIe6nlE4oWaHG8IoW4beaqCm66OvF1yy9Flzgye4d02FuWM0SjvVgy4+h7kuhwQIZOD8lNpwogVxZZYmcqqlx/6sLaqZ2qFLBioi5Zx61rQsR1uFrhlTzYg0XEkXb3/nF4iamKsotjnHynUpwRGKAJEs0DAS1tncnFOlEKLN1OiS1kp+ZnkUghByyN/5JjDULm/keSjJygZxqkrSO55EcZ6eT14j31uROjw06x4+0NgwvZbEU/1SAK6WXZo5A8PxisdW2PPoPln4dv3fUcBBULV40G3E6oKcsFTaDK/f42gggb6BYcFT1j3MGxXyGCmFuxeuxWim2dhima/Ax94sSWNAeGf/uaAyNwn/2XX3b9QKlWuoMpdlrzE0t8hxW3FnBTWcpnjY6BJ7UmhAJ3FgHKSE00Xm0BruK1JDW8K/PKMxRN3ahlGYo+4HJjD/OfYsGkigoXVu6MzbcstxzXvJsFUgpOuU7vAt2AIakeXiY8Qtxz4+mYhwjZLMpSpqdYAXJYHkEEaO6GGhPv3BI5kJO3njG+eBgCLmfFa9WLCdMWSsBVrggN/oKUkqxnh26SLPUK0eXRd7ZpycKUq0hCDMu0JO5MMsLSdITkESaEkXnUzjOZUhK3iYkhAzNMZyukWO0v7j2JbZsTCmCXbp1oSYLUkSUcYzRNu02DlCdvamdjcAQTy0c2L700W2yAE9pEpnrUhhU0TUlQP7faaqnB7mDJHAc5LyVFRNr5ihZqFy3kXiZvNJzCx9pDjkbKyKGv/9SQXk79m8+/Oa44WrXCEUt0brG2X1dTzfWQdm5VIQye751tGOD5jBeoZh1ig40bke4+avZzf2ClDi9ENXjKN6Dhsi5wfbGUvvrNxmp25O7Pz6mvoqpuflM97njGyO80TMlrSQFkMPr98fUzvEb7LIGjPjJKeGBavGONh9hj0blS2AV2kakxfSmY2LJa746AO3Gd7PLqRVjFafYPJwvGc+HXSJQYQSW8FSFfgScdvhUsUMNIbbGgJaW2cawQ6vN8hlrARjKLV7IN2KNISoP6TFiypO+wwt/yGPKtj6UXxLsNUIR59U9DpuLTvbX6nfPkpOR2EpyxSEb/06nNqZ1wMqY29fUxUrfTwf9U5G/+b5qQ7b4On9ut+oLpf+VptnTn9/omzulvpBkvjmFbboQEow8XPKuf6HWuE2Ys9MOjocVQn4fZe5Xomh7Uzg4zQyvQhVUurTHJysZgt5pvwNN9XeX5PpMGNIprNRM0uoScbP8DgZccMYw76p7se6AkY8S8qPr0l7Tln+onk+Od00x9dF8FbZmMGW5eKRmWXMzKBxsbwYyZp7AiKTZ58IibVTf+FljcPI0SjTFO9oHSwFnyuutI5ckUpKfzoMWXgnkBdxJtkgkWJdjX9xC5i69NKJDHsl02LN2G+yjiK6oI3uH4mNjDICc4kEkSxAGLS13GQqepTSmNsUJ1uyVlxMOvfls6VixQw9e4Aho6nX2MfdxW1Y/OItyEveTyed3eGR+Ya7ZUGzzru3LlAwwkjwTOhn92PX4aD840oGNxhreswnm47m30nv8oZqJfBZmXbNwe3iy09tK7KmCjpayYBgPJuVIGtP8DdYKq3Y2nTZaE7MYPpOW5503WzQum1oYqVaTnwsbJXJQCvNOB+3KcY6QRZ4LheUUZ3Bn4y/sjT4WQQcLVlZDTGG+gDK6V/R2NlH1ivD82qbQrkQcbier4WGiKOs0i2GQ6UVlUYqlqgEwBpQ85OyR2Gq5HqcCMsKfnYQhKJQAdP33KII1kFc0cFAaAA4I5Q56bgONW8AKiQ+34DCeiKMVFzM1aPpa7fNN50e9Ec3X3TbS2fC9AEEliii6OhCPk5iR0sKBBwUnABmX6qVcJRxnjiDPPpsgMicnJpUpiXBvqyZRgKEUXIulxHlc5+Mrbb3tl8UZAZMc+k3g6EhKk5l/TckimxTjoW4UuIgEx3x0TEgLuHYL2ojMQ3lhZ7kmoRLP9cYlk4IgygKF/iiC/5f6bB3CtLxZrKidfAGBFayr00sOQXjRKOjF+N4uKdxPxXOcZtYrtKoCyjJnjp0BYMFG56AWmupeuoMoxQ+F1lBPFIpb6Bi5z0lzzJurEFwHu2akiOoxmTaaAyUXyCrurVFSiGQnR4t4ivgQKvadIknS53E8lf1QdVKAIWoLUTlXwhXQ/NvHkyRs8T/D6xFq+wz2pS3KVQAT398PKeaE/PqlkxfmPHEEjLYv2IETFiueBKEs/zrXi0EeA+EgOKgZAEyi6xv1ywWPD2hNZIb9l7nhT22DYm5Ni/QAsfpOWsQP39+gBD1Y7DVhlbNMdZY/M1WIOh+umGrggWyBJkbzBCyhC4qAmJvUSiOP+OUut8YCP5+/vy8yHD/mnI2sxrw+OfBmnQqmgCwkjMiwr5ooZqe+8KZoMO4qZMfPemFpJMhol8/PzGnvsbNrlJhC3TIYQ5FinCGbyRKyZvTTJQarMmbqudKNRNvkY9UlAHRs/83eW4EQFP4FeN2Ty8GxIRiIn8OoXWzXyNcRKyY/rvLqEd3rsHLMXLQJZinbzINHxh2qbSSjivQVkAICjsrE/P30q1lAdMQrhMTtpHbbZYNCDX0FwOx//Jdflavbt+rQy/zgR/KQ4eYiWkPbpg+MOUbZo8Ji4lOrfnaBb/t/pC8kClBthuYwvFqnlVnMLSjAPbLfoBXldvq2yrr845ufknj4EdBdEByAediIchiA+O2tMMo/DfqUc3SeYXowy+umMy06Nh6ga94t3RBNC6gpiPWahDUGEZpDbt8vnBIEsenu/dHxk+yx7iLEXs5+C3bfofrx+t6ZP2AoyiCkIyf+va/7ORAxNUT8//ZhMGm4sk3eQbkX1NTeRg7EdYIGCWnmSyZ/xgnM/7sKmEagV5snFo46WvmP2LgOWeVh5zmaLqRvROInPGMgIrFJRHFl5aIilmRVLu3kjnyTBwG7giNeC+mN7ODNUI1YrMGIWvtFa2ofmwdSYHU9DxCjrooR+scLtKrcfFiSjCMToKm2wImweECNBmzSJ1Iebc6J6DYuYa6StG+Rz3/QqmEf/GIz0GOg5hOXGEEdR/mwiqSOA/T5RX6Oot3Zbs2UoBFJvSmpE5LziY76JmkFC7ilBYJXa/eYwpOKN6rKvj+rIPAr1sngGdgVImxyK88Kfko4fZd8OakQ0gAoTiAbuo33K8tjHRgNOYORHyErw1j8SjXAp5F5oJcUNxOHIg/CimIyL+8pKlm90XU4oP2LnumT+USRqCSaJdUpVvRoverC0FqWx+zfWUpV+oMAHo0k0oTaIkQLdf5kALdkWZm2qyH2KAiQjmdv0AswfBsmjBJDnIO/DVuIAJ0umDNiwp1ocf0jTngpKssOuc8ziqa4Od7oeAw9XcN/rXncBHgANbwoNOXgkNLh9Tdgw909IEjTcQWjdgUicECDrK+1mOllJqbVWSAEOS22w6gcAB4uU5y0QzCbfmJFUwgDPsVmDRuahrMdhOfePaFUv9wrQ2q/lTu7+ydCv+VqjIOfef5bmkcJex8VtNXFsiespbED4Q8fCxQzwkQhc8FHuVXfbkmDVtUkPZY27ZNkqDY4v9w7a7zMqwqcJRcpevVEwtvpQwoZYPiBLk7saRbBxcUhbrEgxbKSZRFGmsbZgbTOM4ViMr/YXko2fifXorVhqHVhWn31C1pURB39hRjP1hw14BsZxh//PE9sZKpG9ntNondzmE8El3bzAJthjsls0MzpNlAXZkYFa4R3vPs12SxhmCjubP6Rw7xDJvwf7yWWTQ12D1vYk90sCRXyS6ba5qlBoUzjnT2N1w6DwixlyaHdkyudVazXUKd3aQKF0/RyNCyNM3aKAf2QLXSYekR8YJiFkmcxjFVmsQf8KvVy8HREl+mMvsX5pwk/fpsFF95ArLEWiaeM53l6ewcuz1peYXDlh7Zkj4GUyqvzJSTADLbhgcCs5KPwBpvNj50GoesJsCUXidsMdbkI+n6cmXBe8Hk83POzGQAswf5x6UP6lIOj3B8cGiTt8SopbYRkjHeV2OlAlqeCIIofCXHxPAlyo2MBSKiiiHRgcyI8rT26RWv3PgYUIyARIZ3mnAxAi0eOw8rTFcnX0JEW8XOxfU+Z9RRZaWOqwIKeehSKUyvr8pqZVPNFqa8Ff5z/cITLUCRTM+SD2vq4L3bzQreW1faRgmzAkShI7BA4A2PiIKEnubq2Unehzqtec3RL22tLkkTwERT3ls21Q7b1EJWRloKOM9pTzshgVK9dLfm43Uh7OAs/fJ5H8NqwWuoAAt6DxO8vawNodBStWiXG/hg/VORevwoELIGqFHxaUVF1H3U84Bknyl/fvw+cmT4SIa8PfKdUp2MIjnS6ZLiwJ+UM5hbnlf0YEfD4sktaYT4s2o6OWVJQ0qENQDJmd/ZPFV7n7LA80pYOhuQv2aPQwMt0oISKxBJT6SrHL9rRp6koa9IihlngrJ5Bc5SByOQzcWKQJG+u6m1qxcYkLvtARuFCDC1nyw1n66xYxstRUVUdgPSzbNCUUUbur15ih24Enexu4LC4HyZqNQ2tS3YxSX7KUMkrKaF9MxAd2PN0Lo4KTUuA0zE1hrO3XSzEsEuWOCf/6h+d1g1I4y0jLnlIDJN8/Xg7FXQoa0yQ7kCULFpOqhHcWuX8mwqX5Y7GGL2La9QkyJIYYtuy7tFYv29zs0PfguZSYxcZQTl1G3rf4HHlnJ0sgg9ZV87EQ70MnU6dHwg4OkG9bf5z1hcHZYQ43eO3VJm7eAXEki6NYygSOglSNkjSJqnTaYIkEdzLUvl4q6v57cdlEDq+jaJ3eOFKvwF0yK2DZL2yIWe4hZweIiM8nQFZvpP+xq/86wF5ZCA9VmJ1DMAZgTZVgE5A1zOr3GAIVOA4qglWQjBmMAORHAI980Up7tp4GzEZFVTPIV0BETNP+fNi45yaQYx1J/brfKI7tW4+duamIKdZncHceDJjQOPNlNKq99VjOHkw7JIFhZ2x5hL2XpfI2y7theVBurWZ/ViDaLkmaDtVkIsR+pSwQCHc+C+iypjNsWgL0AK6d2CnxmYkjqjszw6PByacNuntAinSE2BjLNZMlgyhrGXnWuwrMgTu1LnmWaadctAudwhLidLz/naZcy253MkEBZljGDpdr4nFJzwcMigXqgj9KwyGUz5QPfkBVmMgSBZrdLmJ9jaCrfSW62WrC8C6J0TygDaAdAzlpw4sXzEDIHknDqTp7tJ2A+po7WMrvmHqEUehm8eUV09WwZcsK6SHkdISrvgmYTeyWxdNgDTRNf4485M3Oy/jWmEtTKyNocsKZakvWOSRiqvjiwdMtGwEnYDxoT0hE7pDwwl43QMRiSfcYUqZKUqfRLIpTSCjDJICA2+iq3i62gRcsuFZ0SVdSahkIUEtSq94VBTt2umw9GFxPKniyy2SAT5g1/Xty4Yu6H643uO+R1qmeDFVISO/srgxw1uRdMyk9Q/Y04dl4HuD/lCSVDcxMl5xkVVir6y0D2RD9LvWfDJ2ksMkwiwvEhtsEval2gqQPa/1ogqCX48xgT81ItmSUfk1izI6VdDvi9NYNB44vQo+JqD1apBJvcbmr1HZi/STAYDXyB5NIUqsde+3E/1VK6vcOnNFV5/v7CDqCxdmWG/qp0s3km6fZ1OkP5nUMyB5gtUL/bhuULJnXP3arEvO5uM8oLXYaZg856YMbjeBRbVEwpocxEQ2NSJ8CHpRz5Wpdjsid7Wbt1/BMI1Cv4p898iwOkJ5EJ6afO8/PY5EO8Hwzzf/lYDpz+I2r5RIn00THgpyQIBs3VrY3oXkQ9gsRRvSsg/Ft9gFgTtvh6J+gl9t/Ygv5IU9PXxenx8fn/N/2fdd1Khh//ZSuD2YdwqUt4QVdiqKZuF+B1hmDysNXGwWZM8/PlET2TfRzI4pkTzyJPmSFMbj/fQmQgcdkJGaI1wfHx+Z8oQUhBmMnP0aPmS8CIpxV0+M4kkwvH1+JowHkVxED5iPQUQF8gZz8wt6cHylJi0QmBCAk2ORe5ltPMj4bzuZ5kz52C3cJIkgDSeUoiRz6jFxAElEJKt3KuWt7D+X8/nD9tEkLYkyARqFXeQE2qIY20qXmA7xH/pYvqWK9XYsGsCFqG+pJrjcdXPZ3O3lkxbXj6o+7GhM1qy85AULdfaXU4SkG0qFkGWDgAvW6VXg/vI6hSonWZP7g8DXEhgic1ll5AO3yOr5EcQ6+uZS1oGtG0Zvr6kk8xd8dU31P4MtWJYIAGIFqur+ndytBlSrPkz0zC1M62yb85H1VXR8QrGdMPdq1YxV5ap+qCTagiNaxmsZSWlXQ1plYqEBcCkNTWmRLdzwks3/ipMqkcWai3Ouf3ljX4WRQpHTAVi/fB5tWeAvHoQIlqdJU49B9jpBiHFuFgLrUTMeRNwXLUK6MywulBmQrdWwWmZgvBMo1Re99pAscnc7+oLnYVKQe/O5TnRtKplkVwCy1wM8fZGNmGWUx0qoRdXayR4egeIhRRxTbGPSTw1e9lyd9HQYRtGILk1guUIa9LdxtH8TLaRP6WwAz+5Z1HgQI2/MUzsnlq7eTRysNtWk1lIMRtOsad8ZwY/8KzoLNFNA4BtyYhy/B1yybbD6BLXTBlTuNIqxrFcAFcsDJKp27AQt0r9zmxTJFbh5f9Jv1xa4f8MjNGE3WiP36uzClSXlJ21vW+E2PSmMBXI7+alQDI9wjQWbARiiQvPVl5cdZYZh6uTxkRTfBK0StCLQL0XaWbiu0bg5TIIgEnPb7TbLBqnaC3dDbw8YScVtsjrnei7+3kvpFFc036B4tfX44tSdSF2+Hbp0AA2a7Ejl6tUFGd46QnzgfflPhQ2BYHtjWw8lSVQwZAqCffNJhQM3VrT7sgyNpjRbci8ujaOehRHFrJmx7D1rimChUBAUa9als+42x2rrVPNBOdMZeujsF2WuQEBc61nTXUWQH5eU6cYoDcUMkSINI0zOdtrEfA/sxqvHlGsTAri5+fXz/PnmeOaBtrjGWYRfdzYgLSCWh4AAXVIZsdsNMSYTakcDol1qTU/EjrXLn+G3SY3oBHZUEqIcibB7jsYhKJalnTLEECxM45rDGqLlC3pElYL7opnE6H39S4JKzRoPIWxpDK6xcI7dFyxgcTLsCOFcmefAVw0zdAacSs58nQxgdyigaO8FIswATwhAXH5xHR8uoi6G/EJZZYSCtRFbBhirr94BIXWw6VF2lONtYIuwAsJJkOLK2sZIdIVL8BPKCCJOl7BCPdrJ6HNYxsscLl08T4vQJoZv0yaYS3E2k4nUiQUyECmX+oGv9kK+FFLDrS5ve7AXIwtAagVEJ5HZsEYJHwtHqvsoYXOwd7OXSckfBimx6XOz/VNrxlsN5q5ALsMWz2GeBAG/XeP+ur22ghI+oztwaZTRXVKKTwen9+fH4/X6zHVAR6P38/vj69/UgJrqsdTHCGJ0HxGNI3ASX17Iu4ckyvpBvgjnSJlpZvP7+9/DoWgU1icLbVV82YlOtlPyPB8bOPrMWE+xPvyDfRDKnLSTEDX7w/m30CB/R/ZFz1vc6bAyEwlA/kgs4RZoi8RQEBMsFjVHKqjhaKZfScZDXWtK3BKAKL9otzOV3Z3HcUSxnBY+E7hGeUS95YoJ7BC01AgQ93kWllCEow2fQdupZ/1zXJdpVcKXUao/KNWlhasr4WEwqOx8tyURBiiLKtBBWVIgxW+XRPiXv8hvI1aN38xeo2mZkabQdnRIPhsvMBNDGdGUjMvEHkXEiU5yfUKMeSFLj2LBavhiJVGFX2fsciEi2D+UlWOqR7CooubRuRvrBTYWAfK3Z21b5m/dtaisfJNwXokQh51TKgHWFLakAHTPXpFGTj/JMupBcH64HGzF5eMQI/DaIBzuk4xPUqy+YUe/orsnLQPBYAc4HyDVl88w3U8cRTovlcxgCeixM+8c9CyY5DCzI/NsRy900n+pDw9sTg1o/5tH0XqFGg2v9mkMtU1MKjNLZm1Ro7uoOw40oqxS3OETasBhV4N69YMv2Z5pnL/q2WzhgIMcAyVzFIZ7bkjKsptB/mRhyyqWNzQYF5gyC2PFHvfAOROVnq1iE5aqNq72+NG+y/y/PH2ULiyTsyubQZmK+A+R+3uUJNuUX7mHGi2oTJmprOTeiiyHFDgoAd2QRgP/3RaWtIZ3jZ5RwVQ2lhalvDZwi7Qz5TLjRDkxcYXCkRr25ZLy1I8t7k0DirlC6GMryn61en4fMOdrVnR4UzA1uh4tDeimY91K1HS07eJHDcRgnnSwjKASG1osrFu8jzZnyydAPjKzGVZZ4QZNUGOeS5ZZqqMEOGY0n0jeecbFIwnrUGcUZU+l7/JGq36hmmWE4oCgZ7JKW3RGXDX7hMDrFRkAxJETHC1Y9cALsyCbfgtHm8srLTRNXDlC3/CsIoqqWwVkXkNyB+pXHyFvt0dnJ+tiCYOWyx3V2gjq+L71BKtttBskncGw8uerLjOQGc/wqxp5qwQD8MslfBFEZyXXx9f39qOtT88oTeVTj5+c2zJ/Pr4+I7vO7GDn2fy5UIfTJOjjHfPffoyMXEmmQow5bvUrDY88flV40mQiA5sL3dVBCzJ7+7CIBwKH+moZBiFeQ6HmjaS4vX18/MntreiJlZD6rVASmkjuwmtvGgsqlATaKViBWOulmqXViWHjIgvuXEU1d1qkXubB82Nk/q6z+B+5XQok72N9PogEBcnErhvqpX23RLw4qnX9933ixaV6wAiyE9QfC2OPB2TvgVV9uJl2LRfCPp9JURhnOeuRlcX1EI9ZmFBIuzzHG0XCLx/TW0FkEZkiEpyWjz7b7wcRdf8Z+ZqHnXiGxta3NF9JTsCxlkq3XfO6qz+PjYydkU7yTqPu8HiMBm+8UWMHUEQb+9eYvJZGOoAlXurkgsgtBg7lQKeCPjhotx7fHw8fj8ev79fz+f31+P74/efLAX/kx2lU/kOMmSHsPzLXp+gLzxO+vQlSOdvNt0iENynlDGl6sU14IMiFxJQQMJ0/L2cFDilEElr9Ci1nP6S7CkqobDCO6IjS0AajDmQYHZm6TwJG3PZiq9dga7tV8Pj2Bslz7KJdW7zs0EU/bzpOuFdjx05LtBFwvwb9RLvlBWVbpTnTLs+zx4uFAsrBF+DIrukqVpTaeXqrEwiTeg84s7Fq24aato29JO2s96FEss40wEApKUqTcWOw20fspfFxjrvcqUwrCwgSWrvLbdhvwB5G0jspjK5wD2Mmt4Z4bxD/ctlGcUd6QF2JsQUXxeKnJpTFmv5whJRXdMKHFdlit9KkE5pxsaYbXsJQ1u5gFFFQh6W+VC0YbXVOa+sYq5ptxDQG1pVURhd4tj/lA8dYGdfJCrtHCL2RuckR+x3qcIdM3By4HMwTh4AZNYQSQ3q/BccSz0bqVHv0VbNcukRrahxGVvXPTQNo1R3QKU2Bfv71xXgMw1xE8uG/JYwS2JpiDXlH/LbIgcesLbUAvHIHTviplBSUDThGwGRkU1qzDVtpyZKoqZzV0YsxNqCXMjzhfpcoY5dOXSJTDKxVNKUaDvcBFWwHH1RT/mFZOeLdNO9pnmmvDsuFBEb7SWBaN+FgMwhL+B6mU7dz7gembKGPp2WRnb6g9SgJGQd2JBnm0a1YkugKTmSEqkDT+4JW3IWeJI68amIe6AzVwi3dl7l9xU2Yk7cWIsi/VLtrJ4BwWP9nzdw0GOjOlJX1IeZsWf3rTjc+dkrZvOyeuGoSIk1cuFBVYou32GTaEE8iL2Zl/cra+Xc1G4qkn/h9qB+06n7CUHGIZmzkeOqhuVzfl9eCSjYyjSJromZ0iDkbIOCPw5dSCcHD8/uSUiCQ3lS12jybdesqRjJgJG2QfXuXe/HNDNa5ZbHX2GU7YRldtlKd83o7nSWwySPQTS5tQEcDo40jNQO07FfXrO6XNDN52uaHGweITA2joYKwuqsxNNQkPODa4ftspzl/lvnKyP1MEa4aWRHQmaBpuQ+8/qZbWyk+U2giZ1yhdLvlCN+xk7CoyOOP9toJ+Qk+eZRQsKVjWyNboxo+HNKc886RiIFk3RITSmFXEVdQceCfqQ5AQf7JwzPbvaQVmuSzi/KuXseb8kgnBcfCcO3PAAtzbFshP84qBChG8Mrz1gc+S3MrPR2c1flG7Q0NEvWIRtC8GaqhHkZHQ8JV8EzKCFgmgbYQzhCRcvigRg8yk9ZbMgsjNRQCWJCs6O/tqcj92JbpdH8LFmWOiuaVmLRsazkBeltH96PjsHOkIsRldcvsHu/er5Xr7xdPKPMGJbZ0NmMIr4UPQVEPFOpsFYVfbwDab1BwLnmfgYDUy4yGIxyHdsXHbTD7hcDzTxVoDqG+eLZL+iUFVQ2oOhzfmKjIoyxO6TOQdl7DYAewcU1cuQXbfvUat3dsg2WaKIuXBPC/sK51EWIxNHxXuFIzNndrRlEATv5RFGSNP7xz9c3bEow92ussHF9HwnZTviJLVUk3ZAkMuljz4eR4gAp+yAGQqnaH8lQWhjNI3UGYkn3cIuw84Ywxl9lcyCHlcX+cHZxAcGYNnYonzlP+8iLLOwizEceZqzkoLGk8fWY+lio54hNZ7B/VsKjjbP1KEG9Lq5qh2HeR7ZlM7AkuVtzdaXQN55IxDYW+RnLoBFWOlTnJCIJXHu+CZCKVlRdiWilQhEP8VcKYwPgJmh27B57EVca53UKdNeYuUzGUEsOT0bLNY40A9rlSsdV/TdVV6b+yPa3ztDSw9pnO4WoYLYFsY8sBjAWcDKAk0TPkDO91lI+wsA5Fs5qhNBkVCcvE2XebETP/vWkq4qwM6nYXAEShUt7RwQkrUPtBztkcHNv627mlYgvrJGaT5VkK9VyNbYAJjjQJBK9glELNjTjflNEjNvNSxylHOxjbbJchjAOTpEStnKNTUjnZ39pKrR5Xz4gUx/kX8aI316wioIBf02M5iVKa9sTDbt0ag7xTetAI00frWGs3IDsrrZnA1e4TojbRo5BWschhQ2+vmMJ6ed2k7Rwk1XTX8+tRpWlAGwgiwEh8fFqTWJHKCwwD6oMWBCDM51PVetlP+it3DS6mIYARckeXpqOTvxXDQFsA32f6c1cN8yntgd5u9fRgeQ8AHvecIS7GY1wHMpY0qSOq23g2OSBLsMe6mY0MP+lLf3Abwqdg36+L/WdXgyuxudfOcl0GA8JqJlH970XZdcMQL5+1zIjRDlJ1AR9TwaEsA1O5xehFwm4+MPHeU0icQ42qPA9O5cKGCdevssIchhD8mfKvaWQzoKljA4eriQ3eGd4njfgwpShbBIelIPzBEcNZdgv0o95be41zJHv0eJ5PTt7Z5Eri3+UhTlvSU7dF0yylnpLKeJAFbIiJEvQDEzZgF069HBS0Hk1B1RcfKj6C00Y1kkHZajTaYZH2oqxNFDXkQQXSW0LTABy9/hpBr5pp9KW0atwQTaasuPHVckQ1fBFsp+3MfjLtiosjIVley0QgOSERo/HyLS6mssgZntLwGL2x3w1xqCAWtvhlIlSODJf9sFOLo9nWR24MObJqin0Ah+SByOSYmgZr8ZlVmDCBckGwyOdkEsOGvl65QxhVjPAO6D5noyeDcE8LcHy+4qz/fl4PKY8c4aCZJt8RWKXXyn6Ksn/vp4/k3bYA0jKFpl0vGsngpUZNhoscWBmfYyxV2JmWh5vogCJBWqVSN4a6AiEhFm/RinN0s1X0jCzSxkVNU/O1mawCkhJEgaYEdEIBR2JIwdLrrRkbAXGTe+XPlnFUCbpqsPyBrjX3MElz5865XZyfRi+0gm6DCGtlLrfKEoDJxg9//kewo1HDzv70CX6uXKZBvnYoF+Xm5w+TeZ9VOT9Sv/A4b2CIkg4JenxTGvhlT9OQSc1d+nw9OSIOmJZfG36S3DtKNDelTHOxfZAC49qakvDuVYJoFRPW11B2FkX8PUaeYWrOwkaYojS0lKAA2hfCBdbZwbv04cbHGD6waJCzufNQPw8voBckahAxO3V+VWEzY/sJ8TB+/r9+M4xZzlM3sylbAmegvJfH5/fps84wq/P75/nz3iPH7/f2eJBdMigUeSCAUwPJuuAUtgv0w1xWD9zYXORHx5D6rsniE8QMYAJ6DieZ4GHaYDLdgghtzzOKYJ8LkTsZQH8MY6tqrK8ou+r4l65hGj5+vqisiCKjRUCtpZBPz1qB/6nMpRIKi3GpMzDN3PVnM3WNDuInXA2Cl2mnSiskYGkddn5RNhXnJa/kUs67YzK3dfoaSRRxCVrs2ILM548Lfti2Fo+6dsGJ+QpxQeA6NMysTBauxMpxWQw2LNdS/5dcigm5L5yJTSEvtBO4Hln4lv0hg2GVG7vBzR33gpxO00SnLZENSDj1MtWfQQY6To0hBe6VlpXYljngJXXdCmsiKSiAMrREIPZXzMOknCd1oqgLmIdpuH0I3VJ1KvCYvHhDBsF5j1ZRblhZBfZy+2DL5Hf/tCx0keJNLq3n/YohgmXUs6zOnOl39tH3CCz8kwoWGDVEeRLtfklhReY/iAtL5UvHQxJc7SQFFiDhaxBkP3YwPxQTrA7TVrlhVqek4YHxjJ7KmSuDwBeQXZ6jaRhwCIoXcqbU/inR5Ia67u4Xgrr4smia2J+E7CMxk1P7IqTQcALFFlmO7BWQUowxW71HCZicVGykkrCN5IFc5x9Mpk88lHkZBq7KOp00rAhwCQuipdYuGUVHegd7Amii2liY86QmoRlFGLqhSvjaCgiMoDpLx1Bw+037+kmgacGe5CsoYB1RrUeAKxBHROOElGWNsC3IJEc4Oz+IyiFksPphBR5yC9og+vUKKogUpxJPMR7wBVy/pKqjrkwsPVGLiqnMuwa+nNeoihgnF24KF6ZmxmbBeiLCLFhQ/OKdJ6ocrHhonwHG8INeWQFdQTHgo65rMiVjhnLponCj2xZ9vUMj/JCs80hO6KwXAD0Mosw6pqlalV5XDJMfyZp5xqFfqEreTBvYwgHbqwm4kOuiJg/Z3t2zVjkkkYWWzA2fT0iqBTu6bgiO7lzDjVoSsgpGd9fDyslKGjSQRwXDt35yIIq/EesmtN0ASPRaPDbkhXyA9ZzdsMKRIKJFCFDhM1Zlz/B5hRjQZxGcgSd+P+qsfV0Pj/nXMTJjB6rC7kMlDz5I9EiDi5ergHyj9THolzfFJr+J+UeUG8q+ZA3JCqjScoojLkhDkYtzz7BiCzKzbM3WCoGLGUnUj0JIpRCEhoA8KndffykfIKXSamEvp6v5/fUqZ53p7h0CnGxATs7jhNmm3hZODvD/0r90q8vluQJxMBWcOviBcZBrvAP4l2yh6IwgZJjORCmQSVFl5JhVb1xA0lt+RY3gBcJVk+aZHbgxUj6oNekXhu8ru/38+386qxgkbeHyrOdnTr4/dV+lIhXCz60kgmSuYWqlihwht8RijLcqt+yubWBpUOFTk8NFGVVwdfnCj/tJXGDXJxRmOmQzyp+rbSEavJgDEKxY+m79EcQVidV9SPd7BgypRtoMiyAEQbTH5tEHQr8RR/bDFTFzx2snCgsy4bMcdZyEY1vtNEOHBQwTxL18KMH+abPr0mB/vqOi/tPTjoi+TYRM3BPfcO4is6SQwTHQU6OLLARr4JxtCReJUPKqyqyDDB1oYnMZk6JcGE2DSO/PiYBRrDMU1kOnf0Xsxt51gAlk9nOMX71d2Qgqc5Q2nSXvBQXKw3rzWdE8UT3SJVetMbgwe1gL24Gz3CQVMyO/JOb7GWFXeoAlXOI+fxmYfyXggnqaYaX9YHijrmioGZsULh0HMHyxqjWXLQSdfrlXOJDdh1iHmisobp2RQOTAIOEA9cUxLcER5JhPedwaEiwJzXQNOIMG7iNzQlZ3KJw8U44eLI16i8mWpH6IAECiftH5C41R9GjoY7Dtg9NDhSrppTyxp3WeQJNFa3wBp48OlF5yD2Y3uRRswFca1HYNxVhLcy1DQoMoK1eQbCQAUEogngx6gCKB0Sj6zdGj9/IEdCX9HdGR/wwuz6w/j9gOyVs+zSo9/58iW3h5IGkPSmZ5BRiUjXUcXT2NZnd0dSJoSpBVQDPZqQsy9tRuWOHKCFnqnQKhhxG75ZGfQVJ6spBm9GeR7yjVec+4/4uvttn/bESSZeMyvCo5Mb7tH76CI2qs6IRO1YEXNZHGbpr9wuyLkJ66W6/wMC2FI86YyUhMJSHQf3X7HBxSjAhzEYns9Ik/tproaOMKDz2v0uNLu1U6eaNquqLhFDuZmJP0hEsrZ6G/aJTBBesVfqSOFiLlp+F57xu7GqrJ9E7NMaOTaZ938mLjLA2YbsuJbmEqILmlTQVQDOBM0tlhyVAmQ+AkJnNLeE9pCgA5LUj3/plVvw2LoC4TXOg2V6Bn89Ltj7EH0E8zY52rIDQu2sLy/+QzRmMBa4YKXR2yW/EKtKmx+eUBo80dPwrHYqlwyDSOerwIGj+JYyTcRVszLb7qpU23tEROZ7I5rYio3PmbUYy4GXLe0t98v/kHUmTimPhyEGS6WVHApwLZBZXnaHqSGkzz9Lsgo40bBhwRSitjnmUQtymy9IUS37gKC9hphLQ0aVR6lFCyTWBhvMZ6XNqvXjm0XiP1PpeAnC/tPgOMeBVs8J+WfcVSSviC5LCq9VXGrOTHprMof+ZUlIcxHHyBcrutQB6wtd8fb6+/olxCU6p6xJ9qeRwfTunfrECD4QSIho30uI6r8/HAyNsownjr/75WYE7vmfGnGWhMFhqf7Eg/fszp3/Gu5+JUPSU/AU8xvwrNbMkjkx5/TRokb+vrOqTQZ9liDkwNI4wE8Q2GDp4zhp2jMo52WgeyKwrqDVAJTuNGbNQYOryS/kSPvMSRCrRqwTYs0gmOE1oGUvjdscccyXybyXmCqo+AncoADck7n2+yq5eDUXwdm/gsrXNq4tKMGJGWvC+38fWKLsHV8tLsi+/t/fzrDoH4OCidFKKnfaXf8sVGXMsDo3ibUytheSsqOxk12zo/Uv4drKIl8smXJ+3A1qgVbqKexu7dF5gX32HjtgES3uGNTDBV+4uvuC0DnVB+ffnkIy1NAv8XoZ0D/Y1noERlExDjpzViEzq0BLN+GMGxAKRHr6ybEpOfX18fafaywjGOfX3a/ZNAZwoTQoBpJlkV8yPKZF4IQs5487y2txObqJWrMDMi3ps1kiW0sYxIkSn+nSfj/H0hPmqXIvf8YeL3Pi6wDFYSCr1UomeyubblKCLBgdb7OVPj1Yjly08Qp2qSHupqcq/ZMwlmmBJFUN/AggtbgV4EFVekg6VOdg8VtmUeTOS0kupwkkcH9BIJZOiKWkJODuRm0yW5oke5Zet8zD9h9KWd+uG4VuY+SLO91OdQr9uh678277X66vysk/mLiSbp9OE9zP05VslEIgBZQBv17zyPwJtXcSHt8q8aFoHcubB97VCBHxGBw0UREiEsBnoRbNrMiodoCloZL1NMIMWNmVCG8zcZkPuHdYRFQUbdMSqm66/M+lTGui+3+CoMMIyhwwvNGa6CjkYBJysukBEW3a572TpVMVbpb5RAx5pZ/e4vFAt0ouykxpcjev6wgKCGfe5bbmPuKBVsU+zJ3N+Ln9nEdK6ezTEZ2FNs9KABg3k1iX+FeyXpqrgZoMr7awNkN9QJ4tmJOaWO+pokf1o/GaaCVi5ov1y1HABVly7Sl8AI/W5IYDyj14CwwUsRQNNXyRXyri0EcRK9HKRChMrb+WcbYjx5iB4BtalpH5RVNpQ1086uNCHbcmASwzsQ2EXX1HU7zttRu908ELBWyBK5G9lilO2a1WT2Av3tHPhki2BCOUwMHsFbeYwnU1LLEtOp0+UTQk7WiQFb4qMVkzsCE1y0jpxIJmUWlluyE4A/VWgcRiSqV0IhwT3xwGHQr8mdLGAPDO+0V3xIpyYJWYvtvttwAZF/r90pBBQKtP5aoYrc3sKlT0m1gM/udi8ipnBzgW3A9vchgOQ2rIOHOVPQ9Epk+74tQKdkrss5n9I76CW1LUvvforaFUhxPSCIFtGQgV+OHbzM+VXi7oCHhrCvGKHXJl/XOfAXOYbZ2ry11aOvuJFETvH+WxFTyp4gqniQ1hk8GFJSyxcdL/dsUyqbGSYqSA9/vz0qBAjAZx2GjByn9Kc/JPeZ3zU59zc/8zn9coZGEkzSzXrIPr5nE17GFDVwicultTnx+N7yrfGs5715zybTeCp3MyY491lFpHD3bpMGdghnZ9xnrPT+Ik5OiIpO8m1XqxM40aDnOY9PvVol6nOleL/bkvWGLwYCWcT6WmZK7oucQasLpqt7ZX1X4RsCvDlFGnFJNS8nFzG1paoOLs+yoeQjoaTlMTDG03m/bTtuQBlHYx+X23XHsOn6MXApfrM8qdmUNvpn3v0fM2D9AXUoFdk2SqB/Cl8FSoXe+86gWhsSg9aZ3VoP0cavjWdPefKDUDnIBXaarS+FrDihwhIP7x2ekUR2KiaApwka/ANowoW3ZId2qoXJQW3MizsnJqADgAUIw07Cru2f7trzxfo+WdlhUYEgO84q1BEs13YSQuS7Zjzn4LyqHluyT1Io/BC7taaZ5zR/lBh0ShilepiIFlFw5wAPAh6fU3K0vNjDiL7br4GXBX9S5m9qRGdqcyWfGDvskb81XSs2yv21NdbgDXFI6MoyIKpeitqdtTMOlv/52wnJe2iDTPj4/fnx/I0CD1Pj1ev1bOWsDDLli6I6JVstTpQRQyIz/jpTUxYEWJFBqjeaTb9jtcTgU2eolq9mx2n3wQKu00pnfRfedY1cDZBy7gaGLa/phySZYtlyumRyy0mbFjn8IWPyaxphuysBV2IRmm2cg0wuh+K4+h0/rL+D2zchBk1gWGfVcNFLgTL0OUFLvLpRhnRVQIxTQO7pRDbIxpcU7yInpkpEdwR1k+n4jkyXaJc7gYbUSoATN6u9I8kPXaLwsNXOfSrPhuoX9EdU6LvlqA0wztyKRDR5PBiHEp+fiweBGvfwC1J7Zx2dBghMNruj415g9zg9oK+mW7VPdmnGFODqPtOXrEJQ4q2TdewUYhI7O9Qz3QYruZRebgGsEDPKBz0tu3glmtvl6eI2Z7g9F03nf2+Vejggwc6nE4GAii2wM0yhe2XcrikCD+fM2mjDjxRuS40FoslnX2LCn14OiAfLMncsj1ACuzWJ2FQDPceUrB3jY2pmyUPTIEJXaLoxlxFFHgfWOd5p5HnXbi3C5yNweTk/OSxyO8ROBbxuUYmOo8XBf2kKS5kSTmYJ7YVw9c1EgdbLNL2ezy735R0lTCNTBdc0+/FcEzE78X95UGRiVMfxGnT9qXbIGcViU0GszuommgXVpSz+ktlOZopK8Stq/Bw8nSaSA2u1GUR8tnZ1Umj2kG+AAHFhPSAaO1m3QugM7askV2uLy8yNmxNinD0+qH86wPkWpUh3dUV3BkhWygflgxYzGr1/Mp910/hApWHw46M/goFjktObTZzyBV5ij4HSzPN4RF74IlyzX7iXL1+k8HaS7oNiUHoAkkqhWeHRcnsvPL6MztXi0zU3JGX6dZguUupM6DdixF+RGvRo+rw8ELOqlKqwARRULj6OSC3B/N8P76JWJ3D+jCjKIqEQMX+mORAqyYkOyAMnoVNUgwFZW5xrBFh9Zw8pXt8Yg2L7yROr4KS15hd6vxNwna2ciebTLNxxpnddDmKM0XOMaCQrjCCIAVUSauWz6Xu5bQpiMhexCQcNmyDEab/P3NgydfPnHqutGQbeeIpc84WSXaBZ7Lpps5iBp1DkjMqF8jJSf1+oBRFaKkFmoAG5v+plIIjvkLFL5coUBU0nKqIKvtX5HfhZVm/Lki9LnFzZBUjkf+lf5XW+UQLrKQ+Jk2H6EPqvooyBcUtuio5jtKOvim7HUeyI4Gpr8YdQWUOE3VG3m7TndC+yoAEABxxj+2a8lEh12DSx5Jjrtzj9AN1vumLSibaWzvkve8WaCwjlpkqzHbQHT+DvEzhJqn5HlRROwOU29pbx/45AOtevxJSjc52WX3Sy5BdrkCF+5Yu2Ht/YYdtz9sg+TxbK6tA8KLzcZvtPDH16r5mKQe3bP2fIHeuRrF/ZsNnsopy7oj7dmWRsP0yVuALlMEBemRFrnpNF4Y9Oo6PeUUgZoSMPn7zpIGk2HxeNJrZpBfk2juFl9tSJMKMOwpKl4gKExVL9AgpzKFBtFI3CUaGr0O+lEUmi8vX0MjX7+tnUnKcIXnFkX0IzDXRARSekAZYEcjomAe0up0JU1WL++8G0co5YvhGR7EQihIIjr/2m/bPsh5qHim4PISOlXNgmTIQS99pmhBH9FyWuKrOStLS/S5ZuCmB8WCrqJhOhGvhcYzJpiUQh5ia4Xn4WHl5h/IEa26J3GpBn3FUW8+WLjSEBLmukowb0OC7Ql+dQiDFwY1NaADp56GaUwLxkPvW09zRKmnWhSldX4JAQJVGzl3fA9K6hJK7nGK/UOs2xY8V9UK7I88ggJxDXGjM90XSGZ+hVm4iRDE+JLGuMynYuXjWzgJR6HgpBwZHsoEhr0Mtxz3Zcazqk7Rz99vi8Y4ucvYvXeIiZJtYrJDZi2DtjikigV0lTm9bD0n2s+u1CkD2UQLc9sTxPEENsNhz+lNHDU7bIWN3/V2ywm5kB8ZfimNw2JEShYO57jmeC4TLD5F99tLi8lKw/TOLkC4ekQbrFOYFMojapTguAnzk8NJuegTi+0Zx4Wp+oAvzS7vTvmLYkfZdv+5nrrFum3UhuysUPUeBn3JOc4oOndmqQwEtBORIAT1mhShe7Q4tMqaVa1erVBqXlVkXQsEV/Q1TkYzp3LdsyZpKabhVoBSZon27s1P5kcboptwoXHL3hSY9rUAJvowbI51biKsFhLEC6DI+J3AtIfoQDp4/SSVyw232q+JJAjHOVgSquFV6hCUfw9Xd0imjuOt89nYWM114d+wzJvLQ3AGlXpn3p+Dw5NvmyMWQM4ofdOwCqdQMWQWcupeFWciy5/GcaKiCIccCHQUlky+krHWpws/R4NxKScnMHnW3RrOfirsRHYFMUgKtmMKRxcV0Wd5Uj2ycnorNk0vMCewIhtohyf0xAGcJKIGWtc2Nb/qJKfZ4pBwDOY3dLp6dz+ZHr0o2Cp5aqga9OTVhOozcCOq1/zNoC4lplmYkLLDPkk7WJD9ylDSpdAxqMsYHZm4pz7xCfcpTUoey1p29Wwgcd+ZGCaR2KLN20SB0MGN7Ulzdu0IsJ4gCEApXBtqwq3wcglLZoTtltCezm3ETAsECm+1nabNyWO2SJxQ9HUPs6izLMFnJtsyYetxHOiORpMouvQ16DsvysS33glW4aKpCwaEcVeDKkxU3fhjHuutXD0f3w8JeWw/gtFhLcZ9UiRTspTN/5D917emLHxDlpVHgTcfs4+ctJMGUZbs+DouzWGu4RBv9NT8VP/igfeierViYH8vftQL8IbqFSBhkJ4tCU/Uo7v4CbvtlDDzg/elH1eOv07J9EVLrC8f2kSaOyLAvLJCGeFLaOlR1UADNlSMCN5ebYI5tTVhpz6dfTCjRkYIDPeY0xQeyUvf6+n3mLPCIk66OxLX8/Pr4jk56JmUEGRPc4V1//Mw+BbZ/5N2SIG4Owaz8T7pjvGqEzlqrT0aPx6pkKCmm5bivKTwdv+RovHIg0gUpp9gpn+/G/nYWQTlVHNBIrLhqzM5O5OydWcTpgy8SobJaayvDspunNlCDJ122EO/TzohZA4t99/X1m2oIjahlitPAJlQqi/NvddY8F18vSTTa6m/8i6gpWwQR6FrjI6UqqayiRr3MbuhTQ9WFfocDdTPdjO54NXEFd7joUxmqHGWXl6KH05l8N1iNQkxvs9mccENlBQwzE0/OEUQrcOBMQHms/ZkMVDcUoiNt6Ac6uARBNU8V8SpCfAGp9QDZeaZHMzjb7NWu1nJ/OYOUXQVDexo4aNBlZDiH2EA27WOaW3gHXGqy0b2xF9SyrNiB0doqayYLgp2M/kkKcO4ZIfCJ7dTf2+gh7UiHB0Q+1IyLxZ95m6r4ktQFroK4WrjgW9W4D0vpgUj3q5+OyUj51vtdmK1lyZCOPIV64SmKlV+zyXiPXXeTDmMM2E7TvCNv1jIQMGsG2TqGzrsfWpyh7IJNpXAf2Y92yplIZ6FoSnv1UgIqCzbQaKw6Qw9LusvD1Xnw6uIxn5jk+XfssBRnuS0maUD/59CDA6VzISE2E00IFY7Rjq0W62E2xrx0763/9AYIwXK8OKe2IYGNU8tdcNo7GotmvcGQ5qenBCH0GlMKaxEh6KvTjUxVQXKI2IalDMWioWKkmEBNz5c47+gVoy3W3Jr+vX5xjegCUvvQmab2kcLEh7lVUumTGooHQjhymWyKEvnsAKYFy66GGFstcIa5rlG0Lve/UhcDKsCmX+Qq5Fx9BQns8t325cVrpEu7wIRtqRAqrlUOqcBySq0mNPQCyX9DB15YYwWaahQf6e6/0O/8j/Lyh+cRwlID7Kqt2VnOQxnT1B9dUiDiVkEZH9yRrVWqthDpmgWBsdQ231IsKq2i1G4xogqZl585Y72KfWwUSri40Rfsr61snyn/IO+yFCyu04HGRCnT56KgMOZMQuZuA6/PZ653xb2gBQ9iOXsR5iZ1WPjf8/n6zvklYOdzdvJK3pNFn5OZSHr7HTs2q8qz/y01YSWl/E0vZpQBZRaRnvFEMuyYjDOe7oHAxgNQOTEcps4S+iw7lxLEuDJREsgM50/q1yhFa7TtESnTeUI6IIytVjyh6GN3LFQidU5flXvlq/23H0muN8s+NGR/HUOJerm/jKBw9H/F+lsPfPsvJdaufP6vJ1as2YyP3DTBvbcxCeRa7TujM5Azqks+Xg7xbW9A9H33ffz7axvfKzuGd7PDB07jXeCZ3qmO45SYwFrNXCxad4TVIOs86PYLp/xcKqMt/GnVyer6XeJbwNFu2V9HxeHoPKJZHewO8oz3hooSwNHgPncMd78CQK6piCjo8krlLcMkhttdo/MGeywen5+PmDzsIBjf6TEFUl7ZTushc8xoztIbQ3KqSM2Z4tlTE3WzZT8FzmRJeiQLVnYGNr+7D5mBrXk5f41/qspqoIvEQRZHhMyzX4+YaCNakZOa8jk+hybRw4IlUMkuXuQ/JoX2lSZ3lZIyB/WNorBSoNMZn9FCsgpy5Vp547YxqA4tbskWCgJCMDV50u+hjcDqJ0vrLu7jDQV0DWFgvM6/gLqzVolkaqVvUmyWLJ1IBuOp7GWpQ2c0d/0hf5tgzg6WGEj33bgxx81vjukyQmyobbNRyMIVp1PV6CU2WIg/o5eoD8F3NHI7BcRrA7PmwXrs6aoveMHY6HLlypdFkBe32e15TxTnGWI6FBjpyMUDYNO3hdh2STOVGxqDKIAnHUMzkmH4p9BB/NTMygC7KedNkGMnS6yIDT3bBRNuZ76TtE+bebHgJd+OnMFrlMqb7YypKu6kpmM8+mWxQAcQXt2IOmBLEfBLCHbRTAQtN0vt2+Z2Cl+DuO0aOwqK7TnASHCRSlb94YjFLp0j5YF7oHm+eJrIPhyBFYpYtjyDHHFkhL97IXw9HCTTFuM74VnpWPR3UMV4VfMO1unPZxrYWFnur6w8vpAhgByr0wNEs14ywiXQx2WQG4BykOBad0IjgndF30YfT2xbqJ1JZIiNt+RtRCXT7qDhD+aKDPQNyjyKXQjCQ1Aqp0t/bFjWIOo4QyhUD1Jq0sIRiz3HdSbBGbIVS0e0RhR2xosOb7W5BNkEl8tZmYCj8TkPyXNTU9uK8Wz93sr71V2pAyDK6LP9QwNgwQU1GX7Hl9ah0UVR/grYRYtJnhWKXlX3AfqVmGtny1kngXb+ndFzLK2LpUIUqKZoSXdtwBOkg1W4TsutdUnJXwYmzX/OWXycXQc2ESIq9kyfc7y6xlhAdcVC+S6QIvsAex4WTpz0mP2kON561FKUBS/hQ2ZN+gBPSNev389H3O9U6QRyqmcWB8fXdN+GlSHcljyxXjb0BizsZG1Br6JbZxKjai2kDMGdq1nA7hmMYYQ4gd+JzQ+YksqcU2ynRz2m+tGsf86K6Ot3jtFUUI2J+EgV6Z+fH0VnatRvij1by/QUc85tC0gU5y9qn2Jv3TuQFOE/z+fUkSYCHbmDX+oYQ2PKPMpyJY8aKGmzp2XWWnN4UnCaCM5EXpK0gFh6shQc4qQGtVEe5CPSW5EtU/P8kWqEDKAnCK65ysMLU4s1UYyu6u8tnqUctAJC5toddPV74C0X0jUWKw6qtCBjsXfUdP+lZZSRw1MsZGgVxxiw9p7Xgh5pWqHTfu4Ht6tI4f4KQayo/+vp+71gwI4Qcn8Jsr6/V/oko1jO7TNX1OGvz/uFvmx3GUN1evEr8nMFWeT24h0FMvK03qmLLu3mCux9TmDTuvIruP5rtVigI1uO8u8QFU5nFMtqPPoyFwpL0tlx4otP43c4r0K2LnTxCmXu4s4bkncotbdDbx0lEyf+6TDz4vbkFM3lMbxUSaokWXPmEFmZYcXT99fnP1n/faRA1vw/8bgpTff9yCQzFLJM2VwwdezmALbpFiggXlgJnKiXO1AwmDIaxneQ5AQzB/zeapYL5TywWludr8SNwGeZwvN+meAG5NCACpkqHUD5O2cE/HoKIWKrKiPPEqWbhizUwQIDOpn5ioWCU/s6gDqYAMqQaCjJuaidsX7ZIJMKyTWhiPPObQlvCoIu9ScGvAXHDt2XzrUSFGDSX+m+ApDAsbfWmYRsMRfrTkC9ZqwYQxkQZtk9q6YMxGVTnmPyatpARByleVdcA71MM+14OKj8RqiX5uSUgLh4YKSYNFWXQB2Ps/VKmcNagcdNCkvkVAgPFCgAAWjn4Zk9uvRMjQcUIRwcMWHfY1i2BVW1SBJTlY1KUBgcZgXvRRrbhXKDIvIVa84mHBkvdLXpDAKn6a1LcU9mN8F3jA3Wlhd4EFRs/N3MhkNekVO9i9G9FMW7rITJE8xTEsxIkHXtnNk4yiCDUmIOVgqBNVcy4nubSA1pFN4i7yh2JzX4szpsejlrq8EQYtCoHXtKtVv9n2sL54yUztaRSlm9ypzFSWV2OECWdx+FoiFRRkCb0QAIW3aUqyhdInMQF+vnikBlxDJ0+TFPsjWQN3OLANgJC4WoJJwsE5AZniw+0a05xA+6a/eCh+7Ua4SqXaVSp/tMcMNQ33iGqUcfZDyiguulweXvipiTXJz7xFHlMEMJbMNA56f8Fg1cc1YMHGqzrUocjQ5QEdUib7iNJTpP+DuEDolxiFT2BzIZ61pBlKEVSEGpSeAzpNG+CsCFQKmwq6A5qm3WuBaeG000dLmi7oizUsb8ewuxOqvXVECDTCs7leMQT3ypZJD47nfzzuZC44RWUuTRJkfjVtQv1kTIkiDWQYlgUTa+3B4iNrfGgZFbULE+qFCSesNnnfakUiMYOOsgg/75+YnN4aYENq+uU9DRTgbC+F2kYrBmWNlJtByxlrhvdOErNZ8zEk+F6bQqOxIsBQvdfHW0eshoRpIhs5doDlvupgYIV/kgtLUj3bSM1eLIUq/SEczr7JsKGlKVqoI7A4gusY6x9bESac73z4/fZ2Ch1bVaAvVvgKx8BINsXID1d7OzsBFB2KgYLA5g5qrYnPk0gczvIXvMi6x00+o85yBQ+XBDTkaBUKaRHJeU1qxBxbseTclich3RjEr5Z2OXNGCew5Q5NjMBmuAuYcEYgkH36sVx8RU+GFpOdlUrAhPEI2pnh6IMDX5Ii0AoWWJqgO+mySAgT5bObwtP9Ze2Sli5U8o56maNVEclC5lXuTcUTDQii/Uf+ud7tfLl/PwlkfrrGkM72mbyjBGrA7HyB/f28korH14YB4bXq/v+NuM7gi8PrsQ6nwIlV2sFyqqOt60iMFsQQS4P571N9G77DNdOKhxWCEKbK9u1tA4p+bbVzum4AI7Uc8Y28TuHti/g1xREONUwpiaCCEHhLmZPp2+APGC3d4JRN/Bj4KqBOzqBhmPFg0rpaPl5iMML2kmeCX2K+txBpY4Oenx8PLI7aVzfcf3xrxBBEaDPGdnr4zX7XJhjODVYPACkCNYqzNfUI6zGCX7MF84vhGK2jVAiWK+vTltuoYc4SfFy5wHshCMjXKeSQCiqRQznlRrJJUUoIUrBQLbDDySzCANczJrNeQG43JkM7fsCmhoB8sXhnfPdfVUhNjiE2vtu3gp9d/grjxSBubHZwjtkIp6c/rLAxk0oCzFj7KmbwKLR/M71SP9Z0wfOyG8WYB3uhhvVer6bKLOe2cYik0JLcZFEZqFKSjpIeA6v6l1yocC15Oif092BU/v2Yph1/k3QQ0Q0LLqmZdiSsZqElgk1A0n4+U/uhLSET2hAUAJB/k2yZZC2nbWxkKLa8BKlWv18rUSEatgO4bKv0w1CHNm0g/+63IIZM73VLjwuiIjUPghU1gaQvg5s4/KArIonYGx4nQz1DeuHTBctDTfkQoVdkShcU9rO3jpniWFV3crQ/KkUw/u73hR2lX54VCrovJI5IggXWAy1P/XanEOIqLCUs7w8K8CVsvJCbNNUIvHlDqK2nHLuQg/draXCEkTay6vcMChaxODe1NJxUbFWPxOJXZScAUbpJJcO5u0egab0RAUdRgetjeXKC4rLAzy4BNLBCcpxoMfTUPXD4W/jEEi3ln2yWIRzc57fuNte6jC6w6H4zTwywcNa2A4xIrff8MUsWyU4W/ilVOwUB56T8YD6yHRLxsGgnQ5jyOmZGWLwFTcmXSQtA6VevytRmaK/q/YZb0fPQmttnZpx1cIV+wkZ7dz2GQa1EaAApQcJuKpTsoFsDR1x3DkTD0LxHNTNUDUBmnKnTAaVSHIlYcqP0zDmPn4pa/pDTnD9QVnJT8IDtA0HrHCScxTCyUdItjaV0Em1IlO3whYSiH+0bpgEQp8dSRwuXMQCDkhnkCwns5odEOnmyp4wKzLQiURqJc1NaZW3uOGoSDkXU5HEpFQtUECK/KUAm4FlrfXz9fvMua9Dsjkyd5p6JIGfuU0qXh1C0onTsJ6JDKjdminPgylb9VCQaRjBt3m3JsvyEKcSG8QRJ5FfrmlXirL2u/SrPa7cdmJSgESo6UZe4ZhyXZ9nJHI/bng8ukgzUqZVHTnQGOaqKuVz7SaQivO6+jgf5BjgYfdywiNTuHVaTA1nmKLo+32+fkbGZM1B/Wc5E6vLPTl4M/OmQRZ0ARxzGMM0YnTO/Excf0IDsy9r2uC4zsm0xuoKyuIIpyNgy/euOSAeYJavLNK/pljPQIudiCs5iYw3Z5PhI7MQPQdWQHGjYwvbE5RES5XYVlpEDFXtSVMM2k9lwGmzFFOu2Wfl3OvH/ro+lUzIQEWXbcjflaPXK/tX5nD0KRBwzMxedXAKbQn7Mguurnhemjn9XnPpNWSUa5Sdm+YA2qAG0mn4NK8QW9CCgn0Ag2wDnNo0iGLazDu1wNPetgC7ZTA0fDWOcCR5dS2oIu/oDkeR63nFKLMTysMXVBfSOx/pp8zHM5TMlXTZZTbfeIoSZ2qzBalkJsoqDqvrazx26MGh39JR4kWYH69JbJ6q8l/xlOb1nznYfXKR5vWHFh5HDU0jybOgHghgmMxozjT6/XhMseh0G8X0NSf8+pG4GLj1Ygp3jUnjC8wWHiRWMiNiu2/WpKfnETHRyeho9E70KYdH5Cp5fqI4nvVt04+9R8nSwkl4mg1U5QVhEALASMJGXcRWoio5xU+MJ6SSS81NjIDGZtvIip21EpbMBA6xSMAFbyHb8wsbiZHoYGMWhBLJErL6ptX+2/aRbKSyV1bU5mEtCJuWqq6UsbCokoDsUDMW91AtI+u7AAtt0mxWqcn98fEyMzg7yuXhs5OZ09aFBVaAck1NisU5xo2VZ0MjtatV6sgzsRUr2MiTyJXNKsAka5SLukPeDGlAlQ5juISaarxkAFOYX9jsMAKRMuNKoXT0drkxFH/PV+QO592hF2pktu3KgSb/ATv2wwscZQEYWSsgVkNh8Hw+3XPO3m/pJU4XtUU4CzqNK8WgVpaSmSGlxTMGW2M4BxqXbrkIBmas/l9TU/FKMyIDHB0jnEagIrsTPKCYi3ny22EvqniecaTXO224hA56eX6lyv5FigWW7pP+C/2Lb552Wn1uw1qQWJ/HTznqwfvwg4TAHpUKsYA8FBmbOi5EunK3MwSg3F1SrhiodAHcqnEkJ2u7hcOOECRVEoot8FSEsspz1KHw4tX50g2cERMAYU1tSbA6oe8WJzsKwIm7VlN/n9IoqeDoILQRlYZqfbGBHWjwoOo9AsMyT/WCd7/hse/bPYNyOkl0ZCkLMNVkmO/a9hmRQkI4ahA3fhP2U2m5Iz107HzEAo30WvdV4mWls0wVcsUV6WpSsYdoZBiQTUEZsgQ9OKc8U/KBfhENiLa1GdXTodDHiE6am6kRgBcX04qVcIN3tbtS5qgVcnTXhICcMok341Iohv6zxTeuDmNmwiG1uL4BTRHs8CBdTkDKeDg+52iklTh441sfQko7NDuu0ZxAmdXfLqMhRnGs8/Ci37c7QHihyOVWpGxGlVUFHsZ5i9sv3zR/fjECMTFfgg+pqAABAABJREFUd67Of55eWOrSrHSS56+g43q2+MqnUQGeGQT02KWMsgz5zlCmnExEzdd3RKXLpL+PKTs2e+kwrsG4xpP8MmB8fH9/P76f2TDGYIhnLTwBHCPFHYU6YJlAIInHIYtgHigGXuVHfecebBjqpCjUnL8VExBiDMkkYDmZKWTQZE0pcJyBh5aDujlzFBHrErULznTRfe8gAbIevh8RPgsPhwe7je3L/2fc7vKbqZwnYb6zmKZ4V+hB+ABNjPkAl7kNtQnaOoztQLLi4fJf/nVie/9myr76P34sapKvV1dFkuDaTv96t4bXwVs547z5NnyJul9qVVztpgHglJ8Lkv+aQBWhclEVXQHVES9A+v6hMITB9m1/CBFmdJl7qA+bKspsU412gHc3udJ68drg7Rq5K082T02C6OyYUcvtcnNlbx5QN9mir/kqrdMyTbpm2pbQo5aIR+X5eA4c51fMtDNh+mH48y7VZa9lfhqI9LFM3u9jfOHn8/nP4+v1/Hh9j7c5s3p0DfQihLSGMj7Xz5eklHxOWLNu7OWchHSJ95ZZN05FzkisTpZyK8mCQfhJnZzOc/DPrGUPESRGHApLtouGU5TVbNi4idSYIMPPy1cAQY1Ox4vtSiH9ZyVHaLoZsFBjYR8HxF1cFblpybuQrjS2RJKuSPmeOzk8wN6gXa4vvTvmc1E6W/qRFEuz0AybpEMPbNemEMbLTTpcIekIip8vOZOZfnvA4DIVAEJVwW0YOepH11o7osI/pr5erlPXnpI3jEAFG/zJouw01nWstLbC0NHQ5QJlCbdOWn8XVYqlwPeIC27hKa+nw5PmzMcI0fXSIy2bOxC/oiTzjj1hG6ME4Z2gjOVN8FqMmg2yzcrb/DwSTNGU1iYm5PJ3J1sxKV2oXKVb/xDsEOBnFs5Bblkrs++u5lAmx1Tk+MNzf6HCeCkdsn5O0cBc9pqD6Q8mTdzEvQOLJl5kqZYzCkskeQapl5/VDp8fU9UvVrwAOqSyZlwI+rzILmhwX3XpIBbBaidwfs4mdVG5oOKa0EwONimOpBGm8wYSmD9jAyKLVsasEun1qqVQF7smPI3DqZVoKjkukkT9QI4ZiK4Ury7EnVLpcVDi0kiGuntNd8woz9UQUAloIRNseXDuEwgTqCyR8KKQzaCggwxLDPOApKKimP8xGOSiIy6BQ0+Oi5maedonsEQ0KrQfReORJGnq1pAKTeEE0iqqR99CQ32Xxw9Yb+Dmh2AELwI2PGbGq5a7Fau3cvXAitXvvt59g227hJDv3ZLCq6K6NIIGVPCBqeEvs5JKXvXKEKWhKGhclAjD5AxnpIkHmHKP8jC8TAVQ5mO6PgnTB2olqMTdUc6M+aalqK5b/NBsRY80rz7jDEctT/JyYzqEAtpuIvqzpsestMgYUOKCxG6/vhVwG7yQ8DKg+YHVlkgw+8cYLVHPpt0FfvGS4pl3FsgHXZ2KqhJDEsIx0WD1IZWcZjQZw48KFaQNp3jj9qeFOR3KNQRSCQy3gefydWkdPoF25lbknYMn7ibxKBLZM5wxZ1Oumi7PTCZyhvKYLXVexKzKJzXJ3LjxnE2xc1KUB2UGvFMXlQx1jFdMTNYBNic5AxmfH88a6zZPcjroBM+n1FYBHYb1dEeorlG46IOwYbayT1HscDK7mNglfKzYUDYW87j+X9k0DjSbSxrCy98ZfCQf8iHBjCSOHPuFwYzn/HyShjkmfK5nWUiRqMoJWhi+PAmsyyjFp6/k8XluE64Y2nvnC6LDkaeRCpa3liWjS0n99wPzwbzeR87L6+cclbYNnLHJwueDGSoiAAk4Lz2DBpvs5KEb7a8diu3vwGTqffPut9JSgCbmwvxZhDnG2yVyD/CO3Y9iNcuSgZ1+ry4Vbb2iiNu7vCTyBQKNL1G8Pwqp58nak2/48F8niabY5YQVDtfD80fTufDbjs8FnulFuCBiHJmb0FVrUDLyaiWgcwn9aJakM6/ci9UXSf5iw29OUv+ZolezxPv8+PjP8/WvqU6XXvKS+TTZdZKVwQjghl7hUeY1CJ5K7/VRKEbwlfVbUxAUucoWwM+S6c42QtYyGVb/RWOlBj4OFKKL2B3LgOVUN7ihdjmThy2i5kk1v5VV7FCkwmB4PhI5iimMNKZ8xmwWY+ogaIw0T7b7mbfqvhpAi1KqhfXWZFnLITRqDKUQMLsRGgjKlmHLL/mLVK0DrhWWy2pERvP16Zg5uJhRvAbdDKRMpzvKeJOmTokm9MjcmwXzK6DgmQKu7F7cqKCVtuvL7NLlcQ7jemHLpR29D7dxDaewKbdckordduGYXGDIl66iAOYyAQrASAcqt8urbbf5MYBp+1irkwVPbyZysy/bYZCIocTVitTyJ+NPApXMyAQwptSY4ECx0PDAkTpHa1QsQ/9cddKRVtJxQhv5UKArV+BcEwZUj2Ae8nA32dyyCkm9wmskWt2MDnk1P1zEicqWj6oxjgYXSBIbr7RhAFvqxabOwtXiHBVJDYJtpjQgmJb2gFAeC1fKEx/fSXPVRjxwZXgFpdC5vq+MUpH6HuYLj8z/ZitHKYTdqvOjgYsAW2afyNOS0nZSRo3+m3seq03EB4QUTsKltO4X1+adWx6H9w7Flp75ErIGhR3Kif1Y+6HrLbl3Yw1EeGr1Mg23yux7BYiKDIamt9QHyGspDjrXIhdA+6z+s99RLP1fGHm+NRNEZ/ymhHTd4WUoSsUYpSR/KmiWpA6ypkF97GvR1+6P+vfAGKAHRQsim8o/lQDKwco1CvMoKXaqngqjcAFiiPiloQyPhiEd/6P3DY1KJMuAA3bT8RONKAlW6QALsmUnwk6Vb37v9gFxxF+0V3lN2aKTVro9h97vaPOK1YnKOZ2v43QucmDhuTmwywGs1o6XkNpXywMzAVdQc6X2WKpJtQUCtqCDAKPiKSOhZda0p3BwFvTgJZHY+efIJiI+s0wAkqQumXVZ57/K6lXE602va7daW8pPhGW+s/sdLOQK2dfGIJqQFsjhCM/jKbXtWUSFJ2oYAmfWCIQll7q+UnwSgBE5njYpffBsZPcUkab8KmPbrg6RK9yZLPuW2bSD6Ei55+58ijxsfRpJJ+QD12pNKgYzeFOZwu9JGJ9F7Nec94unjsjjVEOAVA4CrTPHno0Mq0QUUCqMFKkuWM2dzTE8eHSJmzkgoSQVtHfOGsUzn01nMTmAPmyzlBO78fUYTjQmFZSUW88HytaVejNBW+t17ZciRMwDTsi4ePSzHe57/9fPNcEV6fOBKrygkNgbvnl3CUnl39pYfluRtq8dneh7to85E3hgOJ3bDk6BQPt/T7siTMPIi+ffrTZxNFKlFVioRFu4dWALgM6kOCwtr0zYRxZqm30ZAwI2kU7oT/i/AZaAyzan6dger8tvEzw4cr2JqYGDct0JaGpEJuWT8QfopadL0OlRSBHQM+5Bn/TfVPXY6OXeLfUH8WvyoxkFFLvp50yjce+yNWI2ncxJjc/fnwnKviip9+1mz+G+WUjF1o53kqBhqsnTFxo1wJuNYMlemEyfgPc15ytNN8k8GmwYCARVmWQMDbeuoM5QAFKQGPI7GzqSv5M2cnEds2750T52xTFjNetGqYu51oqnTKGGB4yA95uYWnLGJzn8B8JQGsRUMbRIUSiGDSUsEYcsUqkkxjAT2mcQYTKqHqDOXOULyVUW2a7OwJCrgSL2Q/MpEMOhLXG6jshlygklMN8cNhEkkEKs1HNsGoNrwVjOalU285oPvrGpeYwYEAsFdsFWaNtCl44PVw1xObESvOWyrPiIQF5RTYRlkungeLsDaFKNYXfCrGVpJhRcu++muDgr9uFIsQm5VDJarxGFkrkoApw4eK+0wXkBl9irwT8UCzUV13OTOhog4rjDSiJ7PQN0sjKiNzC+O+gmkSkH9XxtaKWhT5Arx1A7qoLraFV9igJtdaPjIk8jj7oOp5wwAAalIaXOe4yiy3udXBoxaBriSmMyd7lRlmbVoAFG3gX2RZ8y0irQLoLAjxJXbEIib6jP6mwr7W58nebS75u1cWYUEp+ytBLAUqeeIfeTVLczhkG36UVtqU86EPAXSpbyNAS5VNDznxFt+ju2SIVtoeVmz4AYhcT+hi6NSJvt5jQRQ9toVomxbaYx5a8aMdr3GOvKaexgp90Zg6kIOGgbOk7549ueOLAJcHOZA3UgmAzujeZEeb4uMOeLm3wYRBml8FnOuLyFN7nfQz0BEUMUUUBKi8SBu9APociB9qer4F4oIKOgv2QNUshVWAdQ5aHfz2x2LiDT8PEuCCghbCEQKW12ooyQXUa7fwZ5sTrpYJ+eOjv6HiB5imxaq+8c7ZL0UeIF0BqoQ/zrKZzRBJ9XZ0s75006pvBwSJRUgxyuoIZbvMWNcchmu20egViekO2s287msFtUodl+P2cLWXuVvBc3IH5OEi7BRq/HVqoyCHadojCla+uouM117hg235wILRjAqAH1+n3OKUozmixsxzqPIIgCjK8FBcyQqT6S2RR+QLUMwMAOGX51rwtHanonVkhlUxxCax/M7OI8QmfTe4KFc5PDlVSoWVDg0E6qmHAE3RzLNMcNpTZYiIaNHQOEn58yb6CEiR1bkMoxWyqdnW8hsGnLtDbFy+9kVn98PL6/Ho9HKp+8smiMYI7n3FI32cKtmB/r8GdChN+Px3P2Fb6+cvbSvELSYeMsX1Nle3YjTzXOUTS1/GafYY45mQWFyZZHhz9frz//+QPo1SDBAcVP5kjqeN5T+jy+bEyWQ5bL9v3K9fBdiTD8BcWDbdTsJU0Y/3mcTx48DUJFHeF/f46WjAB506RQ/tGkbxbF8nMN0ZVEfz1xvq80g6nmP9kfzipHFzDat1voYKHWDtOwqiIXqq4uGJ0REI3onXUL+/QKrx3hvvfWTN9BNm0AbHtc/J7xnk8VKfPqfCNWMr9A4gLdoRn+5d7adv8D2K/ROoYSSQdmLEAJdo2VfQVNX84EbQ1TAXnV/QJZgAV9YdtqtCJCuB3wpY1FDbPHtPuYEl8/E87/+Mmx6SxoPT9/H4+kFP3+/hne+8pG4Gn66+Pjn2HaMOPzZ6RBJGu7b+Eoq9SNXploYwZIMePv7M6IvIkA0YiRylVARCuSxUOlJZzu9dw4xVeuHO1JzYKdf/E0qXNdBJbAL96tUaRfFy2CnalMiM7AlWCRKGZxFWWUD+HXYMiiNvBOFn4IcUT/rBQqNSAlon859q5cQYnDEIHUHohIbxCH4RQQ7lhhj5JBGT1Hu9MyJiIvpG+BDMZw7wJnx7G1OVFqUhOCIn/3ACOWHrsVVKObASkM3QdZqKsM/V/2J7MUqRzQQCRFFgAclM593Y+uSAdYA5SUTpsZEMpc2WLjbMmsy+3Wnt3jvVxzhMOO2knTO5l27tMKNtlDxIuZlLg5/M80urlSSLXZ64lbLEPhZKGegZx9fwBEk0GZt9a4LcRYwpYw/XYlRqiVlmPkV+edATBUFsW3v4wzY6YeUUlDzBeQsBkeEHODgK9NdfBTpSoN8wlS5RpYB0cXO7S8VFZ62zS96C7yZCxunX+Jd4wDDLXbVOa1z9OHk3fzPd7xzmgax91buFfYZgR06Xt4Sx0RMqz07fZ6+zVuseBbGC2C+9o1rZ1bv7xdLuMvQcKKLt+HClLEVpEC9lVUoWrUAOKKAZ5lAcaMoh1dJ/YLgfqVGUktm73ElUahFknLg9hDjrkUXLIrIB1BpJHrxkNrHgei7lTBVJesLQ/Uav07EhWwqqz0VNqkM96DBJKgiK2jqACULbtipCdjQ4Wn6TysdFlE8RyDsw/zOkNBh0Ardpz8lT/S8XWJVbjlgoArqKfHk8my83T80OtaaNUYh9mJVm+LdHQAm7ZYphaf7pv0a+R1wB4LQ66I5Mo0BH4ejcQoJzr/jWgy6Q4GsLXDjVNEbdhJyWoaOZLLV5SpmRGPOow+ndtkeWSUBczv7+9PspVSECWnVvjslPqglw0zwQlEJUWEbImI5jrhp23f8cEbyUnyV9Q2bjkLl0QcD0j71paX3tMLmosN8JYUGMT+moFVUyxxgBuS5SjpRCCUubkPOSvSg1CiugQigKTRq8wc/f09wSo7ZJJQHIcIaZBkahNiaB445Ql+f7KG8jtHYzmFEMauQpevSJ7M29Pz8+sfTboQVsoltEDXFJ16nXQxPtqpxuMFEyj/nVzoOQv4588PNsr4wDvqO56d+aIWbg85AyT+zTlVj1k1+vr4/Hp+5NgJpSXlrvMOs5oVKs93WA6XM3W+MvbpIqB0rfsmrTzQF5H5F0V42xyaPKWqWn6UIFaU369dTxL2WH0gOS2/vXX4/vm76QrP6/N2IcPfSJM3V6oEbxszWqZHF/QNXG6+nrbPdxWEcLwaVw4tKy0NIYDakPS8tzrWjA8Mbfmf9mgfzO7GE3GYQvitF9/tPwqyBUhl+/LNzu8gSC3aNm9Ir0xYw5akWdCdnhSFO8V6LTEnEu+ivxpahWWEW3Z24KxUy3RQ/EgxqIgfZ/M2ZmBmi8/X88/n78/n58/H16wDzxlto4geX78/Hp2a88Bn2Jz3Qn7VsN9rolLj4zHlUs701kqBWCA5FQ4mnQjX5zNpXFbcLLiRhJ4rvrOP6Ax3VrvXuFy7zGRTYGv2VCrz44h2mXRt8xJmY+wXeBejyhKptbSbzgIe0Q1tgJmZUQdGOhiEjhi20aszCfKcJ1xg4PbncbK3MJ14reAyWKvpmQDpFUcTRFXs3ipFS93ZLZ3hMRT8zxwe1/XmNQ2RsmXwY26lc1oUWHYAw5NwniwnH2hra/VrUVEyjYEfvpILlcwFoB9uXeBkTitG2wgJ8vBa8wLkwcLTxEYHT2NgJ7MwMMAYMk1Rl6aOFWeTGs/2Pugg+oE4sr8VSEqnjlWqOL+OZ14CFV0GzQ5r4CoztyPu2gkjkLpCkdSVsHGY64La6RGAMeR57Ei+ii9RCVQd4+7f44XyYCDSEksJKaFUsADkslUCnQ4I6nCtG7+J6GA+32dTHjlHb9RbsFWxOSh5OucA5wFfgAOX3xYlJwJH7LCkFABImvppQApxnzDyaqdBA9qAMrCwCzxfMWTDShG1Q4ZEcn3J1qWexTZpJzVYoCACxU5VBRMAjICBEzNUGoj9SXW+JdLcv3BNQjCOCHNn1oDIhZVUru1ePkZ3fWSDlceOl5WqN5iHOUvZ+BIFe4dSnQoMl2wgxE6dnaT0XllWdJeuMpvUUU4V67P1ISZ3SNUoV6i36nwXgJXOVYT9XD+w9HQWC819iHVOWCt8IVLMQ13SBZ9tNaCpHtLkqaAyfZblsoqoUlQFgJuOCrj6ybZgon26JNSrXbVJVrM3aYZNbJhRgLUm9OOd+ao0Htrcvsoxvuxbm7NXvDvPCIGSlqLjiA8mWYa7yIypz1W2i3qqbcZelhfOg1xIEaskOzkVNExjjKT5zDlGo8LZnxOuAQjdu0vp49mAT+pBF9l3qbYqDwYQ9OwkylVrcEynZEh1LbqVsgryEg673cgQY3lVOMcrJglCG8CWslGWVTHGUjKpxD/hDCRpdX/NhM6opSYzTJd2YTDGqG+YMsizEWdezCG71Y4gOSrb46SmqtZsBP79/P7nwR4ekciGEXPVUqpEZ2owOanX5PbAIKUiB1ESzeRymC9hh9GrAyWpHJ0B+8+K8nv+hJVLEAvWzC/N5TDRn9fv80+lVBbtG9H/mjXoAeTz55lFoak8y5CoEY0NPSvqqZZmziEbmBAkmdJj7Ok96pwAxvj5nzGyiYuwX/H2giqTLzthhSE8jJwxmgacbqHTR8IQ5+3TBDrlvrwfxGaHUMrgzSqaM853Wern9hPfO/+/X/q/f5CXK4DOkHrt2ixzOI3Pe1+CSFuDcUr9Kt2qjAM12N5Jp39FONAg2aEEV/RU00XClHfskAdql+Y7LXSgGGWVmHRvz2clk7/HKCruN/fqLwy8Q3gv8FanZwuCQwJaymO6yBUaDey29E1H4LKbXt/Sq/9gMR/BWAVxgZs3BgnPCVT+/nx+/Of1++/vr+fvx09AP0WXKBvw5/f7QYmC+UxZK9OtcW7iELdx8QDHQTbDm541MyLv8+ObPf4TnZxYKLMoQYtCdq4EQs5jaU9idA2uSOLABNXgEkvHVatV3tIlUpnVwISK6KR8J6pXTyXhzmM4ilnKdZUwUKPQTT5EGCXaN2ZxRuBLqiABUm0iLq+JrCMDw/alfSD/c/ZKrMPIsEAztA0y9jSom6mysOnaNQ8Dqagu5CEM5bDJO+yHMwiZmoweOjLpqbwh4TNPPEYab71dNsolZCxqqCWxX5izNl0J0H03dJ/UAwig0NAowSAc2LPiFoJz90O5jS6BMOOd7zgIppu5maiYlQXUiWuQoQwSFIFA+aUXwejh/BDyea3XBVKv1lCoqENI8b8gOY7V3CAxeLkBPK4nu+TIqI7diUVYOubFs+iqEwWROfG1rMXxUvlOI3y21wFK/tcgkgJglYtYlatLo9wUVLETuMrTMzUkJRMpZ2xzx1ncVzLdb8VAJy+ohFGut5Kzo+rgHCKVUZJ8nwFJ0+0QICiak8HfFZAVCchpebDUtt6e2R820hYRW2d6SwvCUCPJaTpaoeJmHUmB7ULzI5modWMlkUtLrRIKgUiCywRwFz9x2egDy75gkNb1+ISDo1vC1hdBO0hB531CoyIoPTDLo2kXSP7TvU0FjKK/ocFSnbxRAEJMokmzvy5Q20bilj/sjBNKmLJQCcRYQMq4ozxPR2Wk8rWuAOBgJilVaSdlJkyWUuRct0bC7B6R+ZtJWBqHaSSujnltSuZzgCUd7ChLSEwozrOsYzPM4YJbAz0alHlZKrZT/MZjiOU1tO/Rc9zZEw5JV53jEme/jRWbzI131nUTgric4sgkWGKod72zzHhS8wkGpD+2nGJwpFwT6QV5czOjsC8Nt4sxLDdDCTB8sm1rTzhNB5DTgGstF7nJrnklrzgb/9EsDBrqzWP7FivH+4G3LcvcAJsZe0HMvDMDYlFiTmNyXEyrpb12QEt2a2gfDmNQqXkIHhvTDsCVphl0sqxdRp4E4yDawvIZGWFBdOFy55zS8Xz+TLGSz8cUXkZPzT8cU5LKWJPk/D31q6DnyVgpQTgDtu9Bed2c406fOREv9kdDFQBioqrxfLOfee6MhzlWcd7CmKiA8Uik348pTP2THWXpcfIoBxEJ8sWwyOyfay0Y/go046JPR8m2Hlvs+zv91a2hhs0sBv9+Pj6+nh+vZD7Hk5IPlZrhWH6iU2R/pEhs8hX8l3ANyo4XFoTAznKs5NCPMq6NQCn9cZEkw0FseoeZQiVyLk8GRkt47x9FxdoUhxhtUJ1U4fv/7wMt0RQss9MccvJUj6w9Cl/V8LscXiCsKAV0PW3FVoVlJQAhHC24e0g7mb181sIYIkmhTX4T44zlxsTqZZV8p8ZDvl0U/A1noZz558v7E6sqtnOHVDL0LR4p9Hay+bNkcGQP9AtvDtiJDqlEuJ5aGL5u8kycQ8zJYuQa700qS+pT6erz98/H5/fv7//OoWgcyffx8/z4HokzL7wmZ6fHZ0QLT2SfRCXUePTDdll88OPr9+s7KJsDhxMo/X5ky/EIFtEVlKWoiqDWCEneyTzjOSvYalPuHuTL7YuSlGsKTtdKqcFQpK+FESW4DCItHJlBlp/7VGPPVER26b7GGeg4vm4NPx8QILzJTXocGZfIcHC9PcO3LCmXk4VMbrwZlooIGsR+UGpnlcy8gzlKPneJcnqmPQFfKeGWkArhtVpJLEqEVfmJolQByRsMT7ONPIWpu/07WpUBViQaXVjuAKxaGG0LZyY+hcnfWlzlpjRrv0J3pcvGDTQY1kEUhkLSEE1geFqGHvO8px9Leo6U6ShipNjsd05BUIHAPNbGXIHkqDoMW6ZROpZ2lWKZ6YIXg9aGjmQRDoYk2kIdFIytys0d2EpimlY0KpYr3MXNvvTXBzmimD24KIqkc26WTCGiRVAYDdrrAT1ScsfQxhW0BSb82x7DR3bBeK8JZNb1tOtZzG2X5medICNQKmZW7HIlvhW5D6sxOPgYJMBeJyiztkw/0alG0x1+hmXyqy7XNMp4Ta/Po2zhO41fn4JDJoonFDwPq56FVGGdBgl7SfaO7cgpRACvbe03jWX6Bz0pwzK9nSWy4y8UWdCbvw2JrXyX1DLBYJiiu6Q21brY3lfIjv5wDCuOmUkpDlbQ5Qg83/rUG9lxLa93QCy5Wce9MqPCEUQSK3D5N0uflKWSakVftsNc64HBd7KHbhARecrvdLCx5LnXamnFUJpAZjNyEiGsrFO9wgv6L2eDtNyo/ayIOVAraudi5Z0K4/0RHtPH4TFoDKQUkuClIgxFQZ/C4uLkktcGBFFgcmluYTnRPzVF5h6TSX+scgoQexfIermJLONCIAwj6oyhyOAWF8i4aUgTEyKdhl8/FLdYzQPh9Gc3WzGwkHRG+nSvhTnMmEcZm85tiGmVVA/CHQdoKomGTB5Fd0R6NjI1CvtsOhBQ5yidn5xHOS2OZfX5mqxgpJPOOqYRLBar4Gk4IzRAHBdPUv2QHtwUTaDV6pQduDhxqKqrLJf05AjY8PwlVMQSK1uTKASelLDpxCXrLPzm63xixKjacpZvJKt1FVMLORtgU/Uxtmom7XJ0iihOfiPyAqrK8BFr42Fn1mwLbgggfFFYjQ/M5rU8/P3vfz4fGKbjgc+V78f43hwXTAoGORE6rqHDLNFSK5U1XjZ/h39hQIXd9Jv9dePkBu+/z+wq/Pj8zunlc8J51btRn4u7ZfVSF/GSKDNWglZWKy0MWNzO5yFa2fc0ez43Txw8Xy1w96iTq5G3Z32q3++3txsfg5N5RlK8bkPflVW95r87/moEeXmlVj7N5mT6dKTWwhqI4FpxV9vrgs0bwHJfk+h+YINiuhAX1NMST3eRLVJEvQ+01+psb5IuNgUTuueMWENfKr6bkvuOVHggC2UX4FeJ2izwafc0clQvH7/1n9U1IYMQXRUEkmbVlDrUHgO8xmiEQ7ESTwye80VRhYhiqgQk0Davj48/vx+P18f31+f/xlBhC1jOMSuuPn7//Hz/Pn5z/lj4U9S/JnA5Ei6l8/r09MTq2zzwmJ0cz+/WUg4VZjcGS8CT4YxxOrxlSkwYODUa5xikuII1fTDyC6hiVX0Virhh3iRBqjxEaiLSOSBJiDSg5mJ7yDBjDZiI2a1urz0pZEzAJsxmz2i0UrhJzstSvhZnaTPbDsN10VLhXIKSyK00WWjwlnCRopRcDSLOPwTdIt/3RdRHvtV4C7V0P0suQnhrxWEudEQscNsjA2Ofdshz8YQkj6pXC4Au9sXAdFbLyaARAh5pkeEufDSN2ixJXq3vFcLM3ylbTlq1NDF0iF0Ii6fDqakR4GQQZ5Ptsm10sZZ5kDgZWwHyMUU7/QmiiyQBlQbqkzE6hduJxMG/jVOUgFdQF+bvH23dS7DTLZzUBQuoR4YAxq4wKfhq0lWjqW+V9YKJFhBxOw6lJNTC7J2PRsiOFEljI6gpKM6WtS3T2FTdrNYTAWsGaz9vwwvRdd7S6mWVSjXMfZ3S1EA5R+TSTM4BFmHZTKAPOpaS612UvAdZywbMWykfMSv1DNl1vT+UHflmInTns9BlNKHpdzjn36WSohr8+D5UMBhQeSlojsY7SxvbllBaLw7WAveCzh1xGemRu0wy02GmvcNY1mm1m+31eFtLOU4HNyokFL93bS4J8BAhH8iAOJMBwisbRGmWN04CmIbJCmexGKQgTKNpZOZ4yDv02oXlNQygtIYvDf21JFuxogSnX7roRK/5qBPod750DUmpp/+AkXMoJ9Kcn802yKMZLAhQphVFO3sNtQMY5Xt+1s6XOZgZM0IVlegujJSTnLT5fuHmkc4VqdqNCgH77JPLOkU+klC6lJgy8VWHAmRG7MHxHQ5/q6w7F/OQ2xp1dt/kUfkjLmeDgaVa8CY9TL0ikJBxFyy58jXeVgmYyQNDzuqQYQIm3Z5UN5mLX+shiwebdYkd0TRfctrt0s07ibJwqnXTgPIeqVcmL4gqOpdTagbhWbGuYV00qh+nS1zW6EUP0ggzwlAWBWFH04ilhxqwuhyA9+D4qEgQgz27eX0Pc7PiZ0RtZh812+Ric9KfM1JqoeJdKaKlkF8tmcNiMKcubp6LxA7cJEYT2nmadGvhkCeaXkUyWAyKccXJh/t4zveVqbURiwMzB2gCsymAo0exmOJe2JUgFisrtIiiBXTT32Q3DI21F6yEsjYmLDIze9IPhVWYL7Fr+yqe0l9FcbFdyrRxG+s8Lz0sLvNZv+5+b3t+u7r8KIrba2VQn5E+9/nt7dJMb0O4erh//3Wdme0UoK6FAQ+Xqkoe52UrLA7JK2E61uqEexL7WskyMw01se+m4zhCFBD3HeNm4oTcR+JbvGQDtfZWWAYu16oEHsLNKtvfAfUxGTd+x3x2XNvPzizvVypeny4T38+qN/sloF9g7ZrnhTDVL+5zGoNhvAfVIfnwPJ2+M59fU//58+fj40/4+D+JO3NEwCM2ySN+yPfn7zM7IIg/p52Iu884wFAHB+kUpiMLIzHmbOH4N9+Y7o+v2TmcjfqjvT6fj6TezJgjadEDQ0aP8bAhgtj2LmYll1osRpDKWQ3KI7+BsEsTavNKkJ6rG6ppHloz7VNDoWSdMsSR5NasfsOIxCV2BnANSlddrJattClWUegpBsZkZRT/W75C/FVkIeP57mBEMSVWLs5IWpBLCgRw/eZhNstaCi27CPJKfTy/k1zyg85OdzAso1WER1/rRWMq5LMCI+CogoBnV9J1anBaHyx3MWv6FWWhcAp4OHUnizc45xpmtxFtcgZCZySz1UZ1ro6hRgDdL+odTwfDd/38S6XMKz2sgXYXyB3gQWTlRy9VzryLS21DYLtaqERnIhVqkPu8HN7HjN2WWI2wK6CxIYZgkuozxEQQ4PfCIfJ8U3PzWXm9LVZGUaMO+9sbSNF8lWuiwbeaPRSz5Ljt5tZ2cMYDCGzfBny8YjbMcmFoReUUwQLDYAnS29Sl19NzVhsgmxassgRkY8+hNw2yBL6tB1gzmeWUSx/sHce/Yb65DgoLhgtwqzYS1zH4wwA4l0WVUPOcsi5dhi1X5S9j1jRU/15Qy4/S2PFPGQfCMmJf2l6DoEQvPpppIXTFaSq3rrfGbnuw3+21CxrCZqmGeOg9txHfxa7Pl5nVDfnebNWQhyts6SWhIyzjTqExJBisRRrAoDhDn3q177V9QOKsHFHewxluV8w9bay4c9zeylXaAcSaUUHi7+/T41XSwDM5VBULeRa1VOGSyEEGM3m84piXmzJdkU0aZ21h59c1NMRDpyqBdxh7wOD1AXUQwQZT90/xWAzKodB5O6ycrXmKUvyTSr8GqfIv8RCmImc4mgE820cJQbaQUiIgxv5T0nlUhQhihZP+S9xbMpEwZrAU9KYsCiuxSoYdu+BrzOJt4gHPCL4RMhlo47Wefc0jngyVGloIebSL8A85Vv5UAXLPbqTA38+pj9JYmf/FuER0UeVOlGI2kt97pGHMs5BSaldq/poZp9hq/oirrn3CYVhlZPkiSjouo3qLQmhU3pi9tWyfFrywSVxwzk9CdmTxh598LLzcspNXgHe8y1mT1gXVLYl1C52ntWcjdLP4/IiRygK+pGjF1PEqOVxwwquJZeSt2Tk4WdOBdha4B5pTRos+p+/JpP58EA3BDR5VogpampdIIhWTPR7vt2kj/p8RKZaTbPmITf/1q2XuwpVwnzm7FCZilUh0qR7yOgBf26JceH+OwCu+S+T9dk3m+ihGri98K930XPBi7jD05cBhnpweTkMr4t4+OxI45pqsL0jpZef7U1l/uvnvj1C8hnSgufqqMyY67gWIERqLjD1gKZh2eLucYUEUVNP7hOE11sK6K6+3aiCEmUjl2FNYVCTqTFGyb0oMjEHL0IavITCnSvN0VPvGARxCK9lVHxYYQgSttLRaIABlch9QLnA/qWmXpnWovHfsk6zvP3/j/cZAeuTc75FCc37v7E94fHz8a9JZXp8/s8NiAmGTGS0oX0kYIXZmdMrcbKTXhOxycncO+/56fHx9/okEn1jp7+v7Y84rR3kx29hAs4hNlnWuq9PX+oocMZOlsFKGQQ1xBG5/FdaG2Ob/TBHkbtUo4CoBNCkP3ovGNJeasJsLy5UGGDaxS45BUH8v3zE9Irh0F9EpDJ5n2thEf/LvHsGg8ZOyEjkI19VRqUHYuSaNRQ5FUpBlal7EA6zNn0qHebIeoR/bOLQvG+45N6sYjfNimV95BRoVzIQ/F0XDixUgtY4Fm5LBfncYFX1zUvUqMmKaYBWYY9EGhllXv2ewS00yseS6NnNugRjP1EzwlciO5BeGyuRLOXOi8pgqZt4VGQCnVujy9o2s+bunZEK8CgKdTqcv41YKreDtYbJ2uOBCPSD0VvRK0bxaLC4p/O3XVLzqDBPPPDcdJFjYmRUFK31PKzGBTndiNPd2Eb57OFBH201/FAWEetrj6cTfWJzQUvrom0VB2wZcBu7DbrMCrH12AoiCfzePVpDyD0mIySeRzC0B3yFmolJXp49r16FBsFhhyrkzG1o4Vm0NgRZsrlwUqsxHuvMKuyIBZpIiLhmjBgvuW6pMHkSEYmHyRiTdhRO5AasZicaUZP6OK70kZrn8YbC5cDCCYrEcKzkQX1jiqq4qlcEHlhzcbbQVE/1UaTjNXEJPpAlFpUncLKrCORVEWgZr059PJ5Nrl8w6gL8YYAlAdNaXCSiEWNVWAdWXCsw2CjnkiWqYSNQWDgAaMWSMtji61+j1oVfClJnkNTK/5WHJ/cTIb14QqosI+WXWx0oGkrKjL2KgrbmboHenV+p0LNIy+3V3bEsSjEWSO7jeAQ2m5tzFsjADBjMef1Whnz2ZJVGlgFM7TuwujHSISpOlNb6HhlYdV3pDrjiVFCUS46sPSGQIX6/94fmBCw64mOj7bvhwCGm826jmh5VH2a0muODh+d+sIaScaXCREbvBK21ulKfMy4QpB3CIwcSnmMzPF+sIwNPPnjEvOi9cr6HHUYxF0pxAQl+p3MybbH6efbMRtmzM5vwhNqaUHiqs+DyfnkWETWMVLSm18Wx987QBbeALBGWzhr+M2dVSxFHWt+vAzJRzoF21dNZzivh586kEmu5m/M/JcToOSkyyx9eDXesxSKNQrfBDJY/PaYZsbIiZJndg1TAalDUjkls9T5MVDkyxvLS3DmIWR5hExbzo2+cqeSoC3j6gLHNbB69mkGsvDten/Rwi6Fg6lL2xASZBVx645a1UW9ie9ldq8M713ftcqll4y7xSyIY+bWuhMmxwovW9esP0L3id7iGgMxk+tZ7khlDW3ahc6e2VIwAipH2G6G1fdYQKhfdfhbgKrwZxUcxQF30ljfakhXtgtsA4+PNP+NhbF9REIyS6YqEopwmGhNmwqyb4NpzLDc/BlVny2hU/ZX+JpUqJZnltsqDZ2//6/JxA1/Q0Uu71+ufr65kw6DNV/JF8JO/Khzm/rCvTrOEMNwrpUcGv7+/v58frW3TjJ6UGwMTCPh/uNJb5Ir0+P15sdBo4VR/NCD09JVF0ZrY1kjCzK86EoWeoGs6OLd9IomcjgRwnYOoHSUPMDtnxTivFSbm0xnNOmFsSWcDDR9hiwdWEAUu88CANgaQjN7p6QapwchmX60+/SBjO+E0b85D7xCo7TtXcDKvIutmSdvQWZs+3zmY766wy1Npk1HQhamuDEhjkuGq9BJjmBGbRdEBrb3AKIvSWkLFRzHhcuSRUDAiXbVTltcnOynx+tIX9gfymaLV0wWBSUbgTTui2+yRqwMiQKzrFUWFygAg1VEHgsKcj+f8g3nE2LtDpQxzHzwv4MaKvh1aE3B/xvRMtBWxDSj9ZOsM5o/7vj9JbcIbT5Eil+EqZI7UhR6767rrQXF+0kOMNC9BdW4PrBSxQon29SRqp2Pf9owVCAy6f9VcoY4oUAPdNqRQuziIrqwKQmSgFT90yp1ZG0lSOCOsyUqYWbh60ET0qYe4Tt7iulcy0U59YPq/R6Qj3LWno8tlwXujH6vzm9NceXfDmTx6P4IiUVmpsp13NNUBeVwS102FLncwNVAP4RTkroT2giFqnsXq3qGACURzvwvzO8nsJcyMHon7xAA+DCxbN4v4R0+pY5rPmNKVgiHJvbQBowlzx1toQGDAfdteBdYEoPJeZbI13YTaltQS9xbNF9zYgE8lAF6WJ0O7kQ1gCB+0X4Z/BqoBq3zg2dJtMSKsZ3pyfk5QuOjID015ls67SV2aFGKd9MiNCNsTCGfa8dRVShjMLubVxNeIhe5Eu02ZsgDCgUMigLo46MOv/coM75bRBYuGGV1QkwjZ5Lwh0iI3XLRCc9sWnCiPO3yz5AYbSlW7cFaAJvPNpLpnaQud55ssBE5slkEzpjxyY0SxD5qHesTYPEPMec6J912OlfEpVB+pZQZbzkWVCPV3KaBxcBEghP39JYIlAEZXbSuO0GOzYDkJjbSXKoQnVpqKtByuysmErNdjnypwBgqFDOp8sIRdN7S4rXUk/hAHMVug6c4dBBChjm5OTPN/Siimwbyabglzksn3OEi4knBOJBFoanQOcPz9//0wBKsiFMz3hheefn8lPHif2ZGmu9uV6rOWplv/9/V0hZ4BAmBC9t3Y0NfTqnys6xE2wN8Cdhd/n7JfmwPnEDrATeAP8yPAVFXIlggL9xcU+ezR+lU2ZRrETcUKKk49WT4RhLoOhfS/J3lKNv5cgLY7+eqEMoUy8iJPb18/7Ux75u9fb1nDoeeZ6vqNBBSuDmPe73K8oRxDk+qpaSaxUb5c2fIvKWsBOreguTAU9vSqUR8Wk59q9fdIiW8si03dOpl2XdmdbOpFaCstOsJ/Dhn39QBNaOsqqtNSJIZ32rf7dWeYdpbfWjq2t9UxjRsbjrSl5klWRV9t5Q7eBwy+B2rRXpRY/dCoCjLx7vMYzfM42l49/Pn7//fvxzyzefv6JnJki0RF3tDapHfMXv2DykifQPCMZS41s2K/PKWcwNbTgYQ7sDXtO1D/u7dR4COcmf0QdnUFjMEE4MTmr9WrMkBUCf1XGHvgYUKghrNCYPzlw3IvXuW6Q3ESKVdSiiXugoCFV+ATJHIxLvAZDy5diDXKPXBlQZWiWbAwc1qXP9Atj3WDQmG7Ya4M4tEJZ6u9w8XDLbiZyJCF4zZTdfw0TOtC+LONAJ1gRPWJvbmXVdYKXZA+x5MAzt/6XrJfFxSg8vrCGYNNID3lmyN0lmzkvATd+UVnt+BOuyRiciE3J8+tBqC6UVsQXynVK3FDoWN0hiqm+iU2AsEouPxJMuEW/Fu8Qi6rcgn2yrYen6rOU6fNZR64G8sW8nWls0RjqQFLGR1OdF6tzjrTq5QPBq/nz3aZ086XuAzIFvODVYKq5uCef2hQuxorRwxs6btBBcsfCLGR+xYQnRVTPsDL/jDMst1o4H1SG+KukFEgZb/9rK0d83TGRj+8kM8xSSpaFbHzjKfyTepyNkgWxjhMaXM1+LG8Z4hBclSXMwiqmsMDKrPqFOfV25Zy0uJBhlhslIfKG79OAHP22nPsCTnMdDOpCh4ZqNUozh4yUwABjIwGHJGoC3Y/hQMxgzBM5eLOdZtEU0xFiyx88WMlysmrL+ctqtSPQdAgFxAHEVC/dZWctvPZZsAgvYa8Ilq5wEUuBQMOMoDUlleBCASXxOUs+FJsXq0zdhzSksDpkaaEUgFrV5k3lV6DfoqLjlqgcMO0cXEbrPanWh9r0TdmhAo2WPI2wmLooZeFVPPWVYeQGTtt/16l8jug3wt0emgQl4AubTq9i6FiiGTIaFZ0qezU66SRQl1pRdsAwOFgYACz1IcAG4px3RdGhy92qHqptP+8fki5VMGAOoE8xYcRqOQG+d49tKKRONqnGpFXLC7UgDsGf7gQyX09Ar555n0K8rLSNvZFwXX4Rj2DBMbAwcRqlB6HlICVQ3FDErMpa4G12DoQ7KeChWp55shd6QOQkiCwGdE4si5TRIcqzSgMNgryXWBS8FRhq1gAfTLe3hHtpDx4pxQKZnMmk9wKnZOhgLy4BzkOuw5k55L46fsF/iaLK6DoOXRCD9vKGI0irD0JqzRgEDBSGvR8jH5Xkw+HlROneJlmR4AaHNEpttq9UCnz8fj1es4/68fn6w5FXmCdQdf5mCwCtMFrFVCe3t+xT2ofjhCJzVRKub7+Q2kmpt7QL4NHD0LJ43wgNdRhtbmmDbpfvATK9njd8rK36efvx9oFIj87b8V8Mzvc1CfKrxtCOoebl7QDs85DxdSbidm2c7Mj/JHyt6bqQPHNTBDjto3YZUsjmbRbODFVdQSThLikudE+w42rBERRRCIlFx0LAT60h3qbBivHaNDuk/HAzk5atk4K+L6PC8Qn2TvHAp7HCQzN9taaCJpnDtMbBnCX2+fHxf5KA/JME5D/J+31OZflJqH044AmcJVr5+5zygpNVE/H3mjyr52sWimMizWHCs6D7evzMOcD/DJTHjJ8bUZTZ3DuCafzB5+t7tisMmDZGn2EbsSpIg22TOczynY+n24CBAhXAN71orQLRLeOUnCUXKnUtiZUOVpDxIiaZE/CpHpFDoyKa4UKtuGS/OVW5WpGGl8w7krZjsJSpIDpgsOiknDzcdV1JgI3Xi96ivGTnhjDgUHI2bw7TscnMCpAzqH7jL2Ba2GiP87xU14EwgLMbErd/eazT1yjN7HIF3zvgE2Pt+ngY2o2haFRkMVnyQWPK9EJc+csT3pi28iT7gOjXMw/EDwy/P4wZ5M2tSJyRNjDoS7G1jv2iKFhRsjDkND9k50GhyxU6R9wv3KOZbbCGvQtlbVaVdEj9UgqKz7WfhJsjW9tMwjt4PWabwnabfZuRX2QHMeOGCd+NGXkVnVk0F1u1Jhb79EqMYzFRuZlmC+W/PxuBugzXtP37+/vN6IDj3hBlIdVkmkCPIRQ1B6w/JoC7w1hh2NPqSy0a3AACVUfDUDmuf19xtlUvDUM44jXryrTMLpgMIEreh8VI/5iHifYxVmJvYHrNfRGV7n/sG2koYBpeYgjLGwUYexSZYO5NFQf5RkjlOi2Q1jIocdmQzjWn7S5hr6x/SPOlPvsukYCgubBZrBDzXLMJ+ZDwImRDhdhw2LuYkxBC4paIyC0WiC8ST0Bz9BkThs590/AIbV+LWEq3DEzBd8zP9Y3zHfmmuGaKh+UqYtb6dHSdyiZCo58mkSiZmoDI/boz2G59tf5lLRzCSyFtwCGzmdSk5hAhWVrMXkjen3dHh8EUdYdoV0ag6SildDGgpApILkPWZ58zwyqDZr4ENQxtBMa7/HvwOc+tFx22K1IQJLE3nVG5SKJUWF800a9FBJyagoqgI2nALIh24MqGSSmqtpyBmBBX1bcfIFPnYglTjo50SZ1lKx726B2I38bhgNUGyDYcXncEXbF/YIwLzPNvXGZWYRzC6c5ZhKMhhh40PWcRKdZgZLQr21xhUnUSHAHOVr9A/KmNXBKQSrbEl8GDStilP+kfPs1SkECcWtAc7VswWw5R8WUJaUhx6nXnAPPPOSE08028H1aibE3Hj3dqrexqzKVRKlEvQKeg5s9ztqKU0cVP3suKNIJBkBAhyOp61qtnXuQnKdzhMN1vdMnMeZ6c1aqY7I+Yc5aKmC4fSpub/SSOwy7lAhFQKkA5XDZxRjvnkF1VA5BIyyP72DtRtqd+mPr1s69WBa+77ohXCmwImBfCHUtLf33+6uWve9cNZFy+dKRliv0q+GZkVQ0dVDfznWfn46xrMyzvYXuwgOL7fe0Wa/x2RITJsCzvOaXZfZ47oUWYFAJVpddrXePkfIBnJf3isy2F1G78Hqyfz9sU0NAMDMWoyu6zlX9r+ipP4tx9TbiZITsIXjqGw6UQJRML/2J6K7vsyOHe/gKbgT8+/zPZF8/nHFP08f3x++f395/X8/H7+Zi4Eo+nPMA8/PHzORWkX19fkyqVWeUQpREl48x+/P7zNX7vP5+/39kZ/PEcx/r36/X4/Pzn8fU9VbDYu2BRwPSdlB+T7wSgFIKAn+Wi6TCH2+GkpPCALrFPiKGARXGVxhrw1iZnxW+2E0+dpGIgkByBCYYJwCWxBqKNrBuoc0IPbgshjM3QPdJEW3f+rr6lFayW6AEvZoFcwjkrLRm+C1ZaBMFGbKYnSLHGTcYcbbXobhXBrDUlShm1ZJemO0Ulzpo0FO5pSdjqqNvKtxhUSBzYn4piMJ82VYRnmVxNqbUudZYmXQ9QjxyhwGKvZF1GgyHXWQIdim7NDcYvhcMOmuKZL/mNlQ8bE8FMAHdRFu6xRjFH90XkSADYaiyZYjQd2XbLAToq9KCRe5CUhnI4E3k6eZZMV1FZA7Mychn5kk38k1nP47pjLQsW/4ZnxHCaaMifG0UVCxg7hTUBK5j40z3fUyGljzLdul2S3yw/JNeMIjxM8MwkH4xj1it23c7u39VZ7Wqa7aaItCFPrbKFWG6EZJLLmqx3ht2nCBYYxCyTNDPMVYaLkbmXFGKaCx0Iy5rjNqWyk9dW46TRe5Mt9UhWRjHEwCn4qtyBXkH5hTqIo8hluTJDPXvBI+wz25wsxyiCZjXEqpBVG3ZUheTOVYoQqE4OAvOBRiYZMmeYKE9HHvxO6VpnsU8iFGQSm0MuaSZt+yFp4wNumUsZ1DXGIJSylXDUdJD9y/nGHX0Q159jSdOWcF7s9y8IZTTzz6AOi7ydk2BTAILfBOsuibmhy/LqBgQqQPIYD3vCjH2jADOJK/4kieCBK1ht0cE3D4hR6XOI+5Vo+D7Hz2RPESfJuPdmz7K6PLVCmDZZw2w1peOUVuyFvOq6iKIuoyuIISsyBm76VKjDagB8vmHTT2Fk15KlYbCGmQZWfBle7h5sRg4RQtszsLVK5u3ZG9ZZYxkEpJ0Bcfy477PlE4UUZTFH8UjFVVgxEQibi/FqeAs4Mb4KhFrTVS7zhTX2TMul23Lcia/hX6WbbKBIUZbIEwyU5NzW3BR5dd1NC8vhHKz0whnjAd46INlrHIsIepcuEvtbbIZio1GgjYz8c3ZfTycevNBaoFCNvAKEmCm0zMZhoitgFoWRQimBLTaArCyuxptl42BaJaV5CLumb0ns9fphBpVNScNOQmIiRlIBwCrXheblo3zK6c5Fjbe8gPmcM7HG1/55TZUu5FL0KPaoBAsvhfhdNHhckjonUsdtn7rTYzNn+SOONPbXbFGedGhoRHAoTEuDEMHR916S5bx9xCVvF0hM83qVYfed5URf08uT1qCt8iFTIlCy73MH37ckWmb6awx9gV53UPvsdtTLb7//vr90/naritBP2fI8cWwPRcEOqHaFeKglEGqawAjHmfgGLeTnCthGlHgLlussROZCwXsO8h42j1d99F6pfocLCv1X9ccbHUZh3vfO3xroIpw/2lO2jeq753JxYm3darzaJYwJmQAVb4v8WZXGMOEe79Cf2oDhKxNuQH38hD1f2cg6JwN/fnynCNYj/uWsAGc+E/H5+vj5+Ph5jYecOtLDyzFeX4ScHh/Dff/6/P3358c/r99/J/dZofP6+CelnqfQ1dR3+Hz+PB+PHDNLMaFGzSJrcrbMTBaFtOURa59JMMi+jEEBhRs232fzSyATaKso0MrNpcrrkVWP75yhGXmWJgW4Rktj2eCOE84hPmypZJtkj7GGaIYz7vRjuXhNEehvmV2qzHyKXaew5HSeylsRF7REkCVj06bVBrAjX8FrXuZVLuVBQuASbYVUVFIWmbGh52KvQ1bJrWN7omsADpydXIwlvnl+sD9cpmUvTINEG8wD5/KC3KIE7++ao3PZ/BHZwPfzZtghRoCTzzvR5SNzSg5HSGYgrRZB/LptOetTttbu15g7FdKLJlj7jKi0JAI14ZqcNi1BNgX2sVIuUzPCMAOW2Zdc6FghbK6vqEY574T39dJZR+2zvVRnk65yDUSdNbaiQ9EnvEpeVEyBINNeWLfA2XBECWApEyqlpaNp6jgsUfEyk1phdqTaTs1JVxBjrtjCfJsiWKaFaq/XwiVfohtiAUkyYJQ/1kwLrcTZZJmZIrHCwKFQ1O5oMpYD+SXDJPzgvt+dx+s5trVNaSQaMkOG0ab+ycTulA6w/qDqGrDDQhy+fh/ZK6ZGkN9s597iG5rcKcvRSy8A1BJDmFk0pIPn5sMMRz4PtHcz4pIlozaZJkR7lsAU30nVPAJ9YbgrtOJojpoB8HSicLlNlAjQLzKTvlgb4V6zjPLc5++UEKMpjG6WpMHOKvty1/zVoJeHlwJ8glKuiVrqieyusSvpLQvparqOKDJi2txWE3NNX6O3GDY6lNBmCBmWiRyHocjCWLvANVqckHhZHDUzJ4xKS2nHQCormXK085q7m8ta+OrV7OS7OF6OJq6h1nF9C7HsBibW3JY8bIhZZCR4RcpHdzeYid1griuTZK1XgTB01WLGnZz2ufv8mRNZoZNjG4bFpJ2QH6LR3yCqhjosPvYM1MKacF4B/bDx2L7siSVWtUbsUmdh6w7bz48f11GPQMaV42J2aOSVFP6FhFoJhdSzhWVCMZz9WGkPfzFbMhVS4/T1mKNmA6SfJD9z8unGcdbGllQr60XBjDQBJjm1cikKuGIpm6DnpYiiGRPGXg4B7iprDxaCZOeV9PT8+QEOwEW86Mz+fr5SZdEzolk2OCCVhSP6yMCZAc5GAWA1A4eJUpRVisgkguKs8WoAhSjSWnFTipnEyPFW+V02C7/9pGpXSBdSovrmmMYD+cm+jNFJzI/xpnN1MjRFFiAL+gHd5+s3Jnhsd0rTBDyhomePAFWgI8FCmSBxqOgUQK5ukhsuqoQS1b6M5ty26TWVlkx8DJEBPchcsM9OLU+ut9YX7376k2DZ6XwjGfr8NrcPXPPYdy6WO70L7H3hZpfrwubdeRNY4cLloQTr3WdU/sciw3JY+GiWYHbtaLgecMw/LDqoE6HG5eqiqlM4uFjh1eFdNXg7PaiCPfCJlW+Vr0XoW7vXR9rxD/tZaewNaKLvv4ZZxId3bH3g48Y/p9fSo96v3RyZgrx6VxToZn2SDk6VJ/JukRtzJZUIx339Uw6add05jX3iFAOThLWeSRD5wR/+tXj+BC4TSP7MnuF/fzz+1+/vvz4+/5+pH9BCwlH2L6Trz+vx8fn6euSk9xnriMGf57iLOiAYYF1jqoyaUbsGUxnKk1PxGNAhBtOr/owftEHNB/enYdYeTnT9rxrNvP1SUlAHaKnMHF8mJP07B5UD1Usj0yxVD+ifHJ0JXw6kRKkqoyWLm553xEsGmVL/kD+oW+JQomjdMwYI87juHoMEjbgkgRrzYBd7qqMLm4ld0IAiOdqfAg3zBQuneY8rRX+/vjHwPJhiFoQaUIgezL7rFKrUPl5nuP1WNNZua34EZHFGdQGLiHHVVbELT9wsoDqhBlZUbfTQPhuvRLG2wkJvuuKDMVzCdh9bfhua2gVCbY30jQroC1IX8FzZJSfzgS+KfQWpv0X42R4vJflXUjRF91jRDh21jQ0DY/QvICw9iJHa+6cH5lJZt2ynoiM4zaQIaqsAK4nMnXTK8OkNDhwu7pZl8u8pO1G4lUoNeninL8dZKFt89BgkJw9WFzSykBxzN7LskoUy1X2nuMyT993TFWtJuQUCRG7fEKy6fSrRNenEwTELFohWdU+dUhtpu/nXNfjIFHxm+m+ccH41M9pmGR4NyFJ58CteKXx8AFblxd+q9YibzEIaQkwtOa2L2qgIZXKYAmuPzrdhpxXTDkyxfLiDsZWQ2759J7iQTQ6hmnL7QM/672/TrVcL9LgxA8WcrXyi5bzKZkgBP9JHXweKEJ5QhlNIQI2yuVgOkhEhw0wGpwcAMjIg7XyRlXkHbTi3kqsJz3nOAYMXSTDVon5+T3J0up6rFUjWfiggl80Np9SIY1YEtCDg1tP3PScKnQkzRhUOzQ16h6Cr4Qpz5mg3M9dd7ptLOKzE/LAxzcypRM/+Fs45bOwAMAWLziqGpfJTQHXSuBgYW/Ex0NxRmMosahpFEmvLgb3KNnY07RKrwi7zm7IToShAkSMf4+BRwzMPiD/9fNLU0ZGANaDLkA2BlAWkG1onacIAYCZyJMTFtP6FdAkBmeEAcNXrEWTVQJDDzGacwp6zJSND4qSiRXOOP/n1+TULHwy9dJVfwCzB5jaiyAqV464tZNHZWVbt8Q1zmbXE5J6IRgIQyFHOTWxNl3QxWcPudiceEYZOqa9scqZaHpIGNKcbq4t1pMtQzkxfqPVUzItZE00NBJEpYtSBCUuRRFIWdOqhiRBSEqcX1GiYLAVP3Z3x+Nn1wD3pDXyXbADym55V0q5NkaY7SJizoGCozfISMMivI/SUaPJiQdix2LAgWfh0nOJmVd7fH2kPFQEBXtMEnBVffzVQ68FbOzABitzonfbRuzzNgwyvr2x79amLaQLBSJ2q1jOCzd7/a5TyeL4WR235PJqf3YVzv/z2kdkAMac/yBzn0eljRpItFgv0t4b2hz2pu9rK/Ncx9xydzBSzfadCU4ZjV6djS2iq4rSkq/psNCe1Fxn9iuVmYSRkrdKsB+p0G9J81kNgmvkPd/pzds4nSIYsHsdFzToxweczh8GPP+xM9VBJyE4HXx8f/3n9/u/nn//38T3V62c1Ozw+QvX1mJe/JsKVGAMlaHAJE9HKEWaWIZy29wDIuN+NoR0YZmqIPSvhI5aJPaJMmV2yjQL2zW2BT7XTkNdjyVCzUGxvQKck7xiq0rEtcwRchR/CoROMGCqNdKexlkkmUNZYltjUYsL6LNGYKOUToq2ER5sIPFGaZ1lnY9yoh0NsNboMYko2GgPlvqVDY1g329b2207ncUAJRcHaWPKkj0UHgouo4cTCtTEylul5bRn6OAzqF7AW9RHwBTVNOQoxMLV8J1BaKVXWuGXGFvvItKV1YIFAPwDXc+WZDgjlxX0suvNpu3Dtwr43URLTBXb1raz+Eohn7gVLgVlEbArVwkveyL+4oNpsjhiBKIMc3VdcuhdjpX0hv/PpTjJl3tdYsuAEyKcCi+wFhCD0TrWf/MQ6K+ViLdrl/fwBYFkSkAVxNul2gH0a1mTQYckMIw1+B84OOYaWbfgOwa05xFyg7MhgRwJ4sLhbE1KeVzSksVmTeZK4WFhj2cRw3xNJVN8bvwESXFojAApm1pCeVEt4bS7qB4ayWB0RPwALKAY5zpGYhHM9T0g9harSJ7zqAg+8s/QG2Kl9VSLw9QBGusFjVqjgMhWmBFaiEruDH+LqMSm7flHIsIsGhIJvZKc/0M/6FwENyRqLrwzPdCCGuT57Ks3GA5Z0KgQYeK+VHNPAEZGnkGDuEpRiTRPFi/ga+il3GU10c+X0ELmVoc3iM/In0FYQybI/c7TgfHLsMypNSmCLt54BuULIZZkRlA8xpbgia2ZlNsOlo/Yppo2xi0UIxsIVUo5nYmerDSDcHXw8uqYKK7KKWCiDzZmEeJVpmULqUgqgdF5qg7QMrbH7V3vLvVoZRNaKcd2IiM+LJgikhaT48j3Jz674EyHDXCj15IEEd+fuHBU5dPqY2kM0sc5/ZllKhXDBmQIzfRxRmLZ1LmuKsH8JkyQCYDMimGJ2eIq6zLUOMBuiVCQQdOymLGQaUUGKUNHAldizXYdjoYZIZ1ta+J26yHRd/qmUJ7idFif/7fcBVeGcFB1kTaf6y1hmrvo+/8yKx2MYeLr7/zH2J9qR40AWLCgpsnr+/3OnS8scv2bXASqr3zxWZSiCBAHfF6ydPkdngiMLWA9sQBYEpooXUa6Dt0RHcAlFEEFgEL2yuUL7nKgWes2OOHo89sPE28EDxmLRkLEMGuGtTxnJO5n4R7PfM8GSBwxHqxM1HAMjw22N71A6snQgNoNikCCevnFkxSgB9sfQOcuAXd5sGqNL9ZzS2qt+2m96IQL5q2h2V1GPwWAs3d5fSVC01fQ8spBGcZ22im8TilVjvn2P7EjzhZHQOvSVYw/QuG0XV587aF9uSYcWMQKqG8X6cx1sbItZqIdK9+O92jiUB+04S1d24ZUxz/nb4GjfdtwmtTd0Qu0jWQg7d7At7hD8G5JUsOD+hrS3AahWNc3lvLGu0HtcvLGv+uN69ChETMbkGDv9hHzLqWqY8Ttge/oXBAoWMJkO4FZE0bldDAKNi1fujeHICMCUzpC8ZeormxgLQGyIsQFmdaqdBDhLT6dIvLv9gOBAfBIPMqPEo/tZTTLTqbJR5J85/uzz+yfnH408ZKLHGJMsU5miCdo43dCeLiKWBiiLMXZhuug+ZoGEy1tmU/ox+BlmJCT7ZvHIFBnzhW81RZUDA/ik17G3dvimAZfXwsJ00zCIot6NBxmT8rIvD0OcOmty0qfStbhqYEJEPcKtYlg6YtNdrNRFuW/vHzNmjtUo/wN/bQBRJ64wjYCIZlUCWkbXiXzQ/YTBZH5WzKEi53+bIFUUMx+gUTp3a8MBw5BJ3mXKFQFWAMyG2802Iz3GhB2a244JLQ/Wsu4J/EHIsWWxXtVCCSkXZWRIkHM6zta5Ej9TB1c7Q2H90R3j5qeH/lktrTW/ukS0AOGVnd+Hd5RHLcUEGZi4TCps2mRDDZFqgt9x79Bx5+IcaoYj6/x3fi3vZqJrWhdy27vpIJnWSIOgO6HUtmzmdpE0Pxp0SHpvK9nl51Ve+KsogaUzNaC1hm1+dFuQTJYsuFUL9ezwE4NnlNLY6f3n/c+ZASx/ERISB9qEZK0JAFGVKOuM78NJ17aFSrxVH8ygxFikF/2J8tJNW3YghQRy6s6SvY6OVoUbiuXtCyZQxFmu/M1dAzy5jij3rzMT3Bp3eW606uEjEazcBxKkWZFSrwDxSBbPu6PB/nddeZE0Uh2H8aneOaNwLdDXZsF9TQyNYzOpncnqQFBEbQTZJZKybzi3VkIavtVM1qTs1IP52U0LlPQ0udroBJsARHSDN/XAmDRC1551Alc5LLGEQAqzgRDka2pWBkPqKkctXzaQrhSgNUdma3B9B6TCycyKPbhvf5Ha6/uCuBVkd0tmHsR/JGYvS+f/V9I2alk7akgfQaaWSFgPvzFvzbReWixD9rtC0AQmX9OzFfRKilKBKV50DMmcQsEkLrQ84cZYEowmfTxOG6Ca2J/atIAwX902CcUBLIkPuebP162szJ7gmWTICAGrqmyX3JsJ4dVQsi/0I1uhVG7VnzIqTh3ZCh+dzSgdFR+MkpuDsOmKySpqQTUQKTUhI40V0I0VY9AfKGYJdHztGDCAmza/vrOag1MsQouvzP1K2Ce1yTarcu21cTDWaQQubM3X9BkEwxd4tpORfj2BZBD6g5mKc2eC2LdMP1ZLnB+vFwPpOchT0xd7aHd56JIXtZmlKHZFmZkb0z1ySO1q7czGz/DSN4dypd+nsj3V0uc8NbFsG/hiWDKjfaQ0I0msIMBth/KTWX+//fl4f02E/f7KFHvXZhU3jE3mcyL1Fxb6OiUzxTVIi4N6pU1es9rylYY6GA30WpVFsgrYK4USSytxNWHX1/ruddYGm1Wxvy4szrIgNEj93bAnj7Sebex+fxGmCdMRRQF/d19VGm9XLVQhv1xIU2glTzt//9WzGRtE0Lp1Ar8JZNbmCKBtqE3GM9dL/MGALWf4p5VmyeqYTOL5RwVFkCDS135VviFGb5NQbJyDBiPVdVgQC4CmDNO0sY0IJ48qsfBnatXq2q9UUIkg2NNnjTEhZNJMViOVa4otBF/hZlyhK1xm+6uf2fKQeb8uN2mEbUf+TjAZkU7BP29v/3x///n4eM3nK9OnY1J6QN28EC9E/7UmINhkY0smGA2wk/vPdlm791bNfzKo1/uLHRyIzulMnK5x9FSLAe0rVDyF9HLE3uFnBmSUVjqqN+km0fG4aT+TXYNNvAAbJVQSQsaLg34qwWGUeCm29h9nn45MVdMmGjFWbzaKWKVFrxCuWJV29WkG6axvsAQWZl+LIB1MNewu6MNaSFNAuV6p6Z5WcnQWiwo6L6nSn/4QpPHjlcOK29Gy9XIokZtF6fpzOR6e385/RX9aANNe8vm0Xb3mk7MheRkn7Pi6SzZkVKGiSuuj3tif9Qvax5q92u8ABBtq2k4xG0ozazDPvcaS8lW5pCZteIijc6ctFH9X6nZMkxhJmydPB3lXe0izrcTSx7fBmSRoHT5irsrMettr7Q+RP35rCbFIrjGcL/qACNcauuLjxjMDYZeazmzZDJYls0BETy5zUFMIcreDaswxSCW5PyPAtRCyevsV0mPmCOcHy+nQi3z7+siAVN5EjMSjMygUSkdLiTf4RSYlKb5/vl/mUbUmFQ84kJM8CYgx0l2gK6kVycffKsPdh4epYzKOM1RtDc4StjpCurQDjOCVpr9QdzylvTC80sqU9AyQwZGVWau0WAUhx5XnF7RC9OjpTmntcB02jASX20Jlp5iMtxwzWsFTt+yoRZWBZzMdD06j9XA6DKvwqnR0yEhiBoIBomKfiRNzbloFLpZMPZpb2cCtWsAX8EJn5Ays1aefQEEaSCdpu4suiY4H/sx/5rkub7qLURIJVhtW9GB5fwuqvGAcVQPxC91aVeLpWGoWwrMcubGN2WNEhqkjyXRlKaL+FUHPMCY7LsDlBnMp6eTyqiPfGTpOb46wq6fxxIzhQo6oIZ3MhncrXM76Zkmt8lKag0Jo5wB+j6gZOGfebwLGbuRzLtShJFD6CTXEXNVbiiqcq98zE6BBHuFStI24jsX0RHnEPawbJXb8ZJg6Ygga445RDFpny0d8vUoSAGqGMd+Ookc1Obzx3oC6Xnb80OtSObd0dtwlrHRWb0KNDJNKtEQf7D4KJn9mLp8A1GQMl0mAh1wORMSzf32/v5Ihp166BpJXzwh2JrmFy+E247qbSLTDkRlhjRfMEpm3PqTkrLw1NSzf7YaNh1bKDNKuAhvERWySBc9avXl3Zg64AC+m6SvxTNJ4Qv55lGAdta2Y5rgVTxONKGiIWYKYPXu+ZzIW+2DN1tCT/09kzTyIgJU13XlVYyTkD8WuLB/ZXL+jwB63c11qlKbG39jLXyUpZ7azzdRW8o08fySdORCV3KmwXTEb2G1s1lg3rKCVaAfBSyKZ05RN/0JCY/i4ZVRxVLNPrreXqGge1HgqOOXs4E6ZdnaL3fb+mJaFgMFfTd3mDkljb7WaXK2R0CRASiSodq6FU1HqkkRaWqdz+g1a/wOrJ3t5M2/jb1JJD03oyzHIrh8jJHQNEJN6Now7kYWy5B2DSL2kkjAFeGhspuNM9BPJIVf5cf+P+cAwtNeA1Q3ttqVTvmLyPpsvroXUjpuy7vaWPz9vn7Nj1vu/Pz//frz/78/Pn+/3//mZDaK/cpLwjANHW2fXDZVy+l+bQZleT1PddgQjbC+fI0DhScn29fk9+S9hOi/4KNU7itAgljrpK9TVBxCXq3Rhkb2y2DGsleSzDxPm2lespMzJi5hCnZ3aSD0z9MJu/w2hDYg7hiRJBX9O20CVM8jhzFPiEyxRs1/jM+kZ0ME+UbeKVHnKh6bCtMa8Z/NuZoMjcVXJqlWxxsZ0Jxo8LyqToEsOzZ9E3mVMpgNm8U67I0t6rtm10f5c9hQpDZkt0cb0SKsnkAl1qH3C+VqDptuudieaoTXZWUXDt01QjdUt6rLZ9E2NZCqDxOp02tUbpNpdP52kVmTvaxV+CV7pVTfl+E/CLoBQ1C+DXE1pmjzAY1ZUnkMtDXYbhaj5S0KghywtM9eM2RC8STWU8myXFq7hKm+op2Le99fh8R01rGSD2cyb00GHsGDGxt0yZlFAEDV48++M49jayvbPbIJVWWIHo2x/sjJQdSzzcgvcWKf3NTvMsNvpGpV59ZDPqF/HdHwnTJqLebA0gcxs1oKFzV75lSPoGFvGfm4ua8agdP6E0B4h0xPM/xMV7+Ze2Hg1RK3GFCpaMlNmbLjEveux0Btgz7fQ88SFjbr5JJUKd+dpi1Vc0HXKMjGsBvHKvlby8j1TiSglm1ZjA1XyP8b6igVUDhUfysjP03te1Sj8hTYcxmixzrPelzbpatYD0TS0CBv2IKINO2Kkaj0N5Qw+DCV/I/8XRxxxlaG/wE62I2nBv9KYtcOBoupb6Zm5R7Oxh1EF5RUwhpPm1MMKJUPfFEXR4nhiFZk+jdWwlqmEIKsBCnmdNrp8yFd28E0KYJ986Rq3TJOHEph7uo7T7yGiF8Wayi3FDqnXEZLzIAyj58AOfYmkkCjpWJ2odiscmJPYRo0pDtuNlHD8sKpcY8J1tcKjbDl/HbFnMyuh12FDGBMziCDLoJjGzhFX0uycOoq9CM9cACZHo6GMhrqQCPqk/cqDOM8DxzUDRkYqQGV6KJwzBg+ahc88QUZZTrqQnWa6a0VEoEEeMOpvMZUo69dnNk3lbue95IUKquPbgIqeHRNfsbB+rNoyEsCU6lQyW8SyL0ut58U+u/3TVezoTWZoZ/96VXYipxkTj3w1FPjOtjDqJ/x4+0qX5aT3SeYr4kmn07/cgqhfc+CZC61/dheTy6NlenfWFtqMlOOvEtfrdjz9+5cx77VFpV8riwd8FJNx+/O88bxU8nzEnBbg6WpxltQaFN/4Xf/jWcc3fj3y7mLYl9vBh75skEHhjROgIyLK+7mTEGX90KammNVt8qY7Xw426Lb7mQvXNg2uh+ZryfJodeSiTVs5/QXXg4sZrbiPHjFCSi3/l4fC87xZEfBnHhXA3s730k54G5TNXIna0CdVlpZ80dIcj4HMLbi80REFX1LvJKrhj8gbbrY7sdDmdwZeFklCPC1a+nnx+WMfPt9+Pj/eP9/f/518+P3z7f0z8d732xyhREL0Siw3uwCCcjbjcqJpqo5Bwp4sqLpCpkG5LZZz5GJWABlbmQgHxdGGigp2sraDWkulU4GvDqLmug4kmIr0YQTFtVqQMVAquLU/kIvjRLv8rFuBeqpTQnalAfbEZs8fsNx2+QQ+GNouiRjRBrEdPlUijBwqUHiKWxwrnentvXumSjnj1sYSGwAYWqSfBSsOuyQjlRnyxU1115tlqNjUdqZnv6pzFCAlcEpKvXnsgke7ZSaxfaMvSAoTJeBauHWLBECn8WV0aUC7+6yqWHNseb+ttizZC+zeh2t44Zr0pgW2YozRt7D91/NToRENXOoUZaa2IxlahluRT2RYFrjhzwE0ZEJVavwBQwl8xP9x0/OemV0r0T7ZjYGdET3KER8ddud8tcxAyVkiHN2oyazE2aFbWZLwUouwVS1opEz52QSLvg1+Z3GXxzhCPrO4g5WqVesZS9DsdwLUnDsqLEZiFbK6SgpUa1Lh+oqz6AKtSEax3UsaNvnODgtEwW6CVS2HxJsRyTjo4pjHEULUo/nbnkNFW/naGNERropFeyN9I1KwoeTUxmSda8QY/hN5bzoQUyWTqiwQz42T1S0nYZI8z+pNRUbPjDVvi6g1qeYyQg/YYYBSzMmBecmFt8HLccjDeaxEZIpAuX0O0srRm+VAmZ0kcBYUt/vSCB3bRZSDfVf+583xbMWbd2CWrXU20JF+nnkcCm8uFFhqJV9StLOinJzrIS/9wjwcLLgSSumv2aE3q3NZ0pLT/MSnXfJmFB3JWvgLWiaa2ec6pbu05mhc2JPdyprSbO4KmM4ZvmCG8nCEbYe5lwbK+d08q3Oev76/ZqFWrQHTkLRQax/b70s0MMu8PmYQOHyno0CxUh4RLBceVeVyA/ldpXEHbzaR/FKQsKpzolhlPds9TTXET3WoZtzTPB1+iudGgUy0OP4cnl7C4zYSc3/yrrntUUMBL0O183yOtE0xUuJMAteRY6mckIMRIAXIEmRMKeQYpuW8JdJ1LXsMVoZK5WIiodixHByiIcI8ulWMNEaLz+4gmWbMTi72dm+4p+1inW1/ZFCH3URmznY3Cd1hE9Na+BNpZzbUbBXLDBbSjbVE3YY78xhniyomFgxUczQIZ8aFKPbBI8/z8Sed2zMK/T37SHdMZo3BKOGQPfPJsZlZ+jvDSq8MJP2Z76wOjKSdTb9202sNqVZDu8NQiy4JF63E1lItwbUBG9mefmLe2tcqfzV7Lf4QBp3mfd0USak2dVXZv0hA4TjAKezIIsrQMOd+fV8432nQ2ypy5OUuU3V/3N2HxJ0ZsXHnqUPMujjiTRvUpjUEbAq3QkiZAC0Sv23eTYJVfB8fC3ls67lO6WPvGpq3yDa4BCwXlbOS3Xr4Iu9iOffhBjzEA5I7LVxmEY+Aoaqkzsvs/UErSEM79WA6fz16o/O8GrHiMSP/7DuQCTRLKw+FI/gLSnQZoThTjryOcZwqJRY3YpwxLuTi8+fn3/e3z7ePr/f3z5+f/+/X1z9vb//MSUtjb3IUWmKDWJJ5qVtP6Z5pgYSQ9IjutLYVix3jcOYelS6H20meY/5Sx272Ak9StMLeOCG/xv1ljDzk6/qYKtJyN99H9TvGOhaIGb8Z5ky9isa8EnP5leraZtBx6KUSVXeGYDL9gQMUEL8N0sVD23L8LluuCIBs55UIWWvGdSoold+q5BLD+5RXVn17B2jmBem8cYDGIU2z3MrcV1leEPojBOgUCB0rAiqdKpxBY3SB25dKm/GlRpcfFzUiZ1W6QYMPIPoJwSnS9+JF1r5sC9QB1zabi8uLDJfpd3UYY9T5gluCQ+U1qlCRRU2CSUjaDXLOy4WyHfq5U6uBsWWEYI3PDnCQKe8WMFoYOJdoa+NVcFmZgBtu50qQVmYKGvFvgiJNdjFf8V4alF72oPT9GQ/IrvNwvswLp6HhDGMYFevep0+sG9RXxQxaJ2WkR3WOQQKHbl3D4oOf7y8jpxW5Xjptf1jGnjNxjZEqhfBzNF/SWbGa2tGpaMeyXNJWQK3L3kWvUDDCp23eu+BseFMmYTELe+a+0y4bsuda86eMI7D00+109GYe8rvCJpJE8Q1n+Y+8yLIbhsITZvWtuPiICqY5YnzgopmLGB0Dw3RmcwWOCc5ztpi/yGKWtFKW+lBfJwSKSwp0Yp76i9cUCkbcNzjIYpus2ZAGjWiZMsqkR17vbkx8akwRvdgPyKOlcGbPcsdnIVZc3mTs2ytRxtCXMTAivxtsyu4pvW2qNuyUQXJrZKy6ZugJwagkOyCM5w2wsLfrljmYZ06iQZ7ZorZq6GJotSGpQZhqxzHdZgfdHSHLJ8DsAOSU0YfzneaWjfNessqyathEu/VyDqRC4ZEZVw0k8kk6ppyzjNPtzdBy+diUiAZLGY2H64+nwfYFlp6Vd+wj4gERKNfOy9YD52tkOsA695uwdemLhA8rawfi+PKdmQtJq2YdWrbrUNFq4LPgjIzyfTZzMVwYZz+DrTQ9EWaxVkqnTaWCcWTfo2fnUsbmstlxii0yUfeI9bqxdL4ELyWwjNquGva/8Yxzh+WJ2CaGUCNq1jBATim/ZNoYZq0rUWJzpXT88ZPdHDxgKjXXD0mKNv3sfoi0GLqNncqZJfLoBNz8TDI+u6xNGPT9/vPx58+L/STQGNkac4ewM28EgX69zS47SYY5y3Qi71XmzEh3e+j0Vylt9dpnoFUW31f5B0Z9oyJd5vpke9d43se+24JH5J7X3pPvrXXV6/lagedeuXxunWD3N14hCyquACsuSkgricqetzRImKfzxPHCZlT191gmKKEjMgS8po9gNIr1AnNAwBR2N4Ni5kOLS6VMzVEi6PJq4r94cq9f7+vByv+4VMxfV0MGSsiD/TgO6EFFjR4kSUqpXPY4dCiyfrYu2NgGq8qD274oBneZUBJ7Dc2p17x6w2tZ+foYy//CMJJ1orNZW0SvKB0b3f2zcz/TDv3uVPn5Pf//+/H2v2/ff37e//f7+38+pvPq5+3FeGb+z34sDU9UoAGMhRhRglio7HdvCDU22Xl8DXnoz2PXiI2g6JOD946SKHwZcUXeS43aWMvxn5UY5leYFFYj0IuxDFXjbuIP8oQmmJBSc1XpmJcNMisz4QUdiIg5cbZzIfMWC4xR7/ntQMcKuTYVo22Yp9biCV25JUmqTfWbYrQA8ogYyeDNWAY0+Jc+0a5lM1lOxUwLqv2pDW8MEHzmoJUKqsXsk26wQcG2DkfUr9KY+jJulJ/VoxqtHQpchiEQSK63uM/g5lAIVy67bIXvkHOdeacl1wDqBqwwVRw5gZcgCpgbwh7o8It9pQDq0uoGVppAeZvQGKw9pwxczyvwmieMOtzgKRNdMM2+pKdjbi3SwTcv9rfegf0M9pnZoTlXQWt8unX5YWQdpu+pE5vduRCgsiq2jA3seWmZ3WknoyEo81XfPQZJ46DSpAadTbb8Q9urJrlPr4Cmky3IdT7qqiJ1kfMOFPkjr5SQGObs+sXDmFo7++iab02H3G3BKfXlQdoUg9U49BNRlVAKF/nHEZ0VV47ABHtyOfvQztwArBJmUwh1KsaUoWSncHdxZRdvSQu9lzeKYPVMsSeUB+tqOyUMVAOEqV//CY8ZVvoP1nAvbn4/nOM0hTcGheqQXCW0fMfLzTuMz9eYkUCWuHPtlNR1PjX0qox0E6ewgg7Pwi6AJ+tq0TG1RP5twKoKZL1BFMJ2dImpxoWvuMuOKSdZaRZ81qeht1pfgOd19n5kgO7tLacEVZ+RF7PHFVpBlHsbk9n+7B/BVN/a26uTzOwrJN7s6/jmQAQTH5Je8RqUQlslUKnoaoI8IxNEf/BSdatTE9t0lRwdLk4cY18h5mP3qcrbCBooA17QtmbUnEcKjQcxL2qxWfgjjRK1DZ/OXp2p6gipEXOozXL0SIvqwjmMYbAS7kzsgYupFkwt1nCEYt+TU63GunkB5M5Woun9B8BEatmyZdbEu7xJErCtvnuKZp3VRxbHZoRbzzoXVI3upxnjP0nBEGhm6c81IdeG0URLAhcA7V2I6OjDDLjXnWjQD3nls0h64/1rstPYbWSSPZw8Mbj+LmNGxxVnjjYz3nM8bHiXQZ5J77H1RKiXKXKyoKdlzMTrjJz8TFyM3MW6mkfGyH68vb/e3/+8fc+GWCyQVgKKR2SDGfkqQLC1e5T+klinwwbpoDjpkCup1V/tg6lLzY/ZyzHxXOWJUSEg/n4Mx3UzdwiotwMBaFyaXbWUiHztbJqNd/rkQpOQD/rc0FqFWCMp5z/cHLXjb5fU1faL/H/XKV718MlXeBe7U+AqnrXoMvOexndocFzrXk83S3zWX09y9YXz9e+HFhD2lGm1B5IWazIq11r8CpFKBPoqMHrpNk017LvONhbcQkBVZFML/S5I3qGMMJRLEhnrGreOS3HVUsqz+t5zlSYlnjX7X9PRDYPXIMGW+eVB9IfJzOybxQ7//vz88z4ncc+A8PsYg8+vr3/++QdxyXnCYxFesy0C/y3J1zQlkshYTZXT5p3hgtf9YIu7ucmmGCydyMbyAZp8PuYRKn59ukPERMog3+iOw3XYrIvpuEgxk5n8GeSzICeD2obTb5+fOc8cPpYmCK2DyacOU2UqWzGlHoYawh4ryY4M7vut0kUSiIRmw8XuKPkaE4ia2K6WA7uEyO36AnsTl7+R1EfANQBudJPyeF2YHSbUgJhk12JaSeWjMQVoa9ayz9e+of9ma0cZEwAad9Iq2QlzoBVLRKLUWj1QSlVbVLU2RFFrKmXPOwRgdPxanozvROR6cIMyAKbuFo6nlXBIehlcSbLULznftvcsItqtYsSwOf+sj0b+CFGQKQLeOoqd/yw1rrw3f9tlCd5UwiJTh1VpXUlYeBoCr7421/U/KTsRmrJ0NkpWKsbDEyXXu60CsAmD0Vrul1tzn4C1DeXPdfpZoEnbkCn9bM48CHU/sonfHwWgA47rxdGfm1VqRmW/cicppkGDsrKAWMJoa9W1k0xxThXZaT1x9+oJccOuooM4+I6pZ/swwbL8AG8kiY1/Yl456Exfg0jqABI/Y11Ig+CAegndV34BNWJ4JGHNw5Et+1dsizdWN2JjfGUle7eiVQn2z+rgsiEPbk0+QNOjWTpXBg6XVm9T4jIHZ+FKujN2LEwt0hqu2XCEJ09LUuTBaKwUqXdfEh6lqEhXcxZZdJOil43cootecbyDPht/rH3cyv3aOKEIWspoZO2QuGDjI6I0ML81St2QIactFCIRw/yA6L7t05JIGAub1ngF8HrrWHAMvCs9m1Yl/Vn1EEWQsGZcbLc6c45rCmTbczrGWOvqfiCIhYFChJe9qNxYgXvSWMCjrRIh4/DEGclYNgTuCGFDkFIVxneq6vY0lYcXdQKApxfCI+mIRjdK3nlv0GHN1QoLhL/4/dBHFJXU+vvn/WXnEV0pC8r7zLOABkxEsO88ufDst5ztZLBC7X3K769PT/naTCtEy8lM1XJgbBe7qE25GnHAKGVmT3I4xZs52WutAJY/HqVQ1dFAk6m5JzBLhFqLmqza88E2R491pkuahFZfRJOocejPXHl6d2wIdqq989P5DL7IYNMedTBtBVGGTrQeTsJXhRNzzEHMr/ef1/fstfP6moWF7DMWDCo9az2jzACFuBNjU3Xodfk4mNz47EgLPkyKcV9xvt58yNwSkne2H+H3VbNVt19T6Jv6lNX0I8lXBYV7fc7zCtoLIUr/X6VkvpMnykY7KBUw2HwsXMpF3orqTQdrkRxpXTaSjM0NV5etDaMWfi2yCY93qhCEXfI3Fwz5ukI/byluywagadO/rghq15H+elLyFTyF5hYAe7v7ylLQu2vVrTwCVbBihyrkmV3MBE4VrxVr6E7YEUM6Zz0uxWAiLfom84iW6bGfBVPJXGAIA7DTpgBTxcUv7F7piFonK/ycnGz2D51TlNgW6/vnz2uWAf+RuKzKn9lJUXv3mjh9BGv8q1/xI3PiUZnAOHRX+LBWFpqR1wE3spkz3pz7nV35Mq8KClqUCJOzfKodCNHk1KYEsRXqIZRJr5rbH8YZBMqNmWVxh0YqfDIUzrTXsnpl6+lPvC1ABU5F4OfU3Bm+TuAC5hM1wav0byThv2xATZqaIECCQ50ntDh3Lz1CPJZclZKgh2cWbXmaJttOw2Li8UgUxjGzCKsTSPdMrgMTuwzarU+JJskb5AJE5QBG7Fw7hQTFylqdWhAV8C/riQIQDKCfDcMS+dAFXq9Z0ZuHXap8jZy2QrsMRAuOjIgSbeYlqsvSpUxxiRdmMj29ZqfQMv5CESkrGWlWRJQo4K8FZ8p0ha1jEoerBIH0PHAykcgawm6d7tcG3oaGC9m60pWVRydttiZrqQaNxyTQUH7L7B6gghgXVGMjd4yyz+wnI8DGsuEj4ENDbKg+TSWmXlotNSoKl/VcHdiPRZPeze0eV1o5kgqZa5CB7aWFI4nESBZzNzlqZlEKKRKwlnW77fOR5HMrUb59rhlk3Y1TqJU9xHamVgXtshZM+lfV+NzGVUJPS7aZMFg5STsVGzEXGb+EDs/Y5OZTNUYrDNDy30BhCSvziJ7bsVjdpJAQE9oYXCqUpugIjFeNjmgHAGJ9W6TSA7qRy3SedSPHatV8Oyts15adl4+npohpZ4lmLcW1w4o+3E69OnCbUA5CUnmmJEusHukUAq+VqxyypLoM3EimBp1I2lHqpB5311IbkWlU157ZpKmNOZbIT5MWCvB6bJXHGDbv/PmeaWyw1xBwU5aSZvt1fn7Yd/Gl+LcVBaEiRk8/YnxmNWOAAkeHtaBSRviIVhB7ZX6lcd5nwU+m2rq5bSdQwBQz0uZsAc7lDDMuMVN38iAD2KtcftBQ3p/sTNMJHRn/SGRBV6aAQBhmAqfSz2ydt7KVOr+/vl/vs+Y0BMopvvHECgYL2xzW1w7nHPaM965G6wkdoH7/yLGSrB5roBAHr1j9yCB9uzI/y2XHCDM7EY441YthZdfRuShAvmveM1pCd8XZlSTP6acIBTELBMGR0bOAGVxmAluO6AXuI0BLTcQD28WjWsFZgzzrrhVGjlphhbfbmHey7Dz9YvXHoSsh04xCf8+w/secDDVToCcBGGo/umtPkHFda4D9Hom5rMfard7bR6dMAbo77ZW2GijXX0ieGqF9el1kjrCvVVujV6rVd/sOPcqKbouGah/dyOBYtuvyJzCtQj/LoIeXVb5gUqMABi7SPkenCMODaLySfw1prMrqWscRv3la23HRBItAFcGy/mAzym1uu3klJc17q5nMRZz7B1blbvd6xE1sfiskOt6XLz5VmlJedDLTzw67O44iwE7j83Sng2jnPXMDBBtDR9qz8V5tdDKKubss1mCqqp4Hp5mtzEy6CncRY6cRQAfsMQ8dlEM0xtflqFVWYGQthTXkywz2fv55/8weCN8zLDxqmz1QPr6+v2bFP4fTBbbv7JUgdds7+Ce7BzuhUXUNGTIDJ/ZOi9fkqXMWF0RZOOKS+d4KnJR07RieU2VqRi0dGwesGFEz5Jh1vrNa9ytDmmZm9mVgyIVQ67X8rlJUNZwTm4YzxJex5LrdQGRoMH2GcRqpfzb+2H6KlXiOV4yS0H0sQhuz2XwAIoePq/ot843oK0sqkCEByNk2H2t/1Y+DsISr+pYMJ0DaaK1yWTdUmu8gqJBQjJKM2asBVt+tOtDRhrnMJdzgpPCxpHbh9BkxJPvafI3EMllgZkwUXwrTylqD8ZDd8x/LZo8/pGVrXiwwKZLLDI+AMc5MHJkzOMfjymUrdNWTUrtE1Q7vL4ckwaz53CGepA1svuM8CXu9l0TqxfscsyL51iK5FCXT+A2BLgek+rhKjRxSflxmGl/g/jKYx/zu28tX+mA9rKuc6vO9KxMl+p9NIbL3qXAYG0rE/R4CaWkcl+BfkXbV9FrXE9xxNdasHqE2PKpaAIz0abHW0cAMEQn6mBA0eXnFI5XAvLNVKBHXve2pUSUqOsLOPCRdh5DmPyWVgUD6gprJeJYMbJmoFN2iL0PxPF94MyDkXZ/Be5DguaxACrN8pQBTWruQM3gq1iUeNLKSvBd6ehxOJWJ5ctAsl7HtzjSpH2xl7SAQi/YOFAvZ0AGXSsi+XbVktE1DvJpXQsKEAndo04ybYjxwpbEcaBO1XDKzGqnGWqig00OAuPVLZ/ashJbO4SVxShoy2cvLMRnJgXWql/zbIu8jC0rBifyqfklvuj+TstDV65ZIv7V6F1RnyqjpZUIahWdthI6E/KpZXMls/GAL3SEvVqIdXoqVqVrIuSLXQwFSz2QmqA2zWOcX8zjojpmtpOIAOPbs5kNBDaurdxSAkmX63M96c+wqWrnAxO0RFui9jwBaDAGsFcmQYoXTasARbOf7x/dH5r0xHZqLyc8Z1vjaM9+gFYYLOiG1ydB6QAHcmAaJ3WzTNec9loO0gn81qsh1tbjwQjfF6NyfFhJOK2YMUGdIZHvFK0iMtAP9WbZT+lG8gscouCIT2IzwmCpPbpwuRluQ8n5rfytEzBa4bK+V2G7kLb0DbvygK5pIL2zzWL5EzQPp+8/Pn/esB04gPhB8vM5u3msHremi17GpYVx92ZHIve5ghdyjKOXNS0CtfsVVnhATV6iu63Axxa4n/X7f6+/Oufr1uI5JI3M/gvz1+I92KwNX2eOfGs7sQIweAeUBgHUC/DzBAJKaZUvIbWtoxCL1taCpEbbQ/kYoG3oc+q75OZbBfl4LOXm+W+8WRdl8GO8jsCtSvRak+6peiDAx2kWGXit//DPG7aa4V0p+pQG7QibNsJOFHaArhOBubr1wS/xOEZ4HR4QI928+p1UdV977oN+QXi9gzjGHOylUl1U2MtcjwWBG2aCFmXX62ugoe42h+MzefjORKo1iZrqPhsfAmptV0RS37EdAMOSIm/u+cwTirCaN0YGha3CMn0Kr9Ahmr+GSY/raZCOS6b6IcYkDBO1iM+GThIvuS+3vnEUJLbOOOo/NrulBdHJ4qa4I02uJXA0kPUNhrbS9gJdXwwvv/FuaQUIwXoRLdnSq4sJiDTq83VO4+CjOR3zrSbRbKzZO1cgv2BRsmhhQeT+UB1Pi7K8G3HPVRHC2rT7OeF5xTBUbvCe24Y2RBwcMzEDlIQA4/bUUrB7IptJmnZdPampUZfuUobVeA07WihUXaxH3IRaagJMUjbwlOKFt1m8xxX5BKysKurasE643qlT2mMJHDoXGtaeqHITOh+rr/lbr6VqKqDKx4vCuCTnUUrpWoujwslKvI3NqEMYBHkSvqssHY3b20Tbpz+CR7a4bG1uhsh5CNp1a9wrWeS7vfOcP4wYIAzzePQNXKrpgdWq/1qdFnTdabLCr5E3/X0GVdlPS/iuppnqxz5gh4kVti97BI5aIJ4W5zGsCqmA32jzIW5mCmmaUpdOeshIp6N11sqizfTbHSzFgo2UWrQ6ULPmhg0QmZFONoQ7AGbOrfnNlzeKZe9QmQGN3ykHrfRBXhbrKJixLIcTtmTDRqtwMeU/8KvoHmFVGnNGdpthXtG/SS70vH/XjHbfdWmc8MrA76K71uRw4VOx+P2eeaIOGCjBhaA8KCweaW9CxTC9sNHa1mpYaAml1+LvxC6agL+SLegGxvb1A504yFVYQZRtMyEMhEGdLStlmUAjVyuUYxvwwnWtXb7hwzR0lWJeenN6U3TsRNnUmY5JBTOXxDfdApk5TFIpZGMswPY5sgqIKSHCgmYbsvTo6JceTmU5QYmfQJVaNt9izKb3U6TZ0JhJqMt8i0Czz0PGHoOaK8M7GwVcKy2uULmMpYXc6DCfMcFvpiva8mcVc0RpHpM1X6W7O5IJBfJK0vGRkBshGZTME0POCA4l91YqmqpUeAZUtMqdoZ0DWPlFkooM5fk+BDjFEeytYyRXrl7WFHOwpBQLS/Pzi3PBhynlaWVoLUJMaZ9ElabB41Kp58YmE6BpKyDzueDq+tQqZ1g6hW7jjEtoF5U4D3n3V51hN6C3rraQxcfScdCDr9WbW/YwDv2Zd3oxk1WXuZj2PfjDv5Lf7Saz81rGg+2j+PuIVjDSEAh7W3dxKkBi2AURV1hGjk+rsC3xXNwPP8UGKeo1VC53XUnpl6tRxlSsJ1ZrTbl9b/8dVCmmfuLX2sUYSudIcXcYTb6lhHIs8SofNYOBTVQiDoFTe02VNQfxFm5aHF0For550ZZ9KD8iN4LT2vY7FoMKbXpcwQFsE+eJYc8915K0Qybgq6vspKj1u5lkyZbLDk2y2KiblIbG6J0ldE03IESnEFECM+iiguizFBY/foV2PNgxLriDb2ZfpsotzG4/QKT6KlQ5h5mCzGevPW2atfDgNIS18vM/48oy+0nnE/1ntufFrjASRCRYvuTF7bk4b6bCTDu2QzczlBlfyksBwBWFFYPMwaH6kGMdXyUQE7I9kV0IJMkAd2waDpgJ2sCcOmbI9iZ0BukqTnk05dULc/HT70oxkgBIkyCkbYinMoDOcmF0hP16Z61mYoePuMxihwlBdSgHttl82TmdrFvczlaMyXCuETADipoh7kgXigrjW81bULktPU5c9CVTEtCe1kTPwuxAqy2uCCnAdmUo6kNQiQG4maz2QKkG8iVx10gwRcso0XFC0quFxh2euKPRvCsAvhkEiXYmfCFmZ8s82Q1lFFCE354c7v8zHzjk98PPULdMOGa3g4SYUn7XnJYqEDnhKiLnEPGn6vW1RAJ+3jTmcWxNuXzff2bJEynKA2Tjobv0BX1benCUHZKgVL1K3e7niqHAr25tTbQdru8dKkqb3U+KPZ/8oQXYbSW220de6iDWckUz9r7wOsz/sm4RrS6lRAE5yKT0EwXHRgU+eyLm+SXJ130B6lceKo7ZMfocJijG6tTPLj6LczKyduXrBnn/Xw5UUyXz1p74FOF1mec7FXXWJBdz+sjYQqKj/ZCuLiWrQda1NNLGIKEmq6zR7HYF5pCi6i2yN5rZyXChBc3Ia1r0IskS+QJIdG/deeBBkpzqVm8QHAaU4ouy0YgmP5pwmqDdoiAA397zoIyVDAtmqQ0evN2bNjwVRpO0qUZcwvotH1UfTzJ6c8tC5l0df95bQyyYCEpgxbcH0+ttqnMgCdPANVVgxKypYl6a43tVdjMmcdUrUyeLkKebsg/fXrnHYFnppNc4voYoMaGXoFQi3KAKebv2lMKYWJ+hmXk1HKvKS5orBPQ4uC+4uCa2jgrsBZMcg2+rJXxPYsXqZnrWNtaXz3UF2ZKQ5S0WIuwhimyiBfXG2BYM+TFkfTLJyLMCXaQFrlpAppUEt03CcVvBiDtaJeaRXBQb9mPmpjH5nGlXu0kj4GLwPOmoLEuVgekIsbHN4ktuzRDzjD9iM5acDrQPl2KJ0lPzpzA4tmRolJ6Tw6bxmh12iIiqfLQNXQBuVwOOcVCEhpgr6bKwfqKwDdxOQIMvwdHqVjWbSpxCgvmcidHa20OHZbpRuttyYBcDvf97e/vl4+5/319d0RcyCAtuEe5pW++ZxfgbLRV4vgzcFeeWkGuzdi6F4BYNs2U5QECuHO6Amip9i/XJfkGYuRHt7p+rvziPl5lcFeemI4OMyTcAWnZvo3BG4taorEDsnTBehImGrqm59vp+yijxqxVr1GXw0ycew0J7dS9fFBKTGl+Z/dfUpAId9TcWsskcQtTkahiWkBkfZrTYUa2tTUxQ4itay4Ose4BsWCruXxCDLqbD1JTx8o1RpwHvsp7h70Wd2LaEvi36Oc4DUkicg37aWYPGZA1ZKAx9zPjSPvQkcql0g3L0G5w6k0gjouZQD7k+CNocHZoRzxnnmeyeaZohECkwC+UpHaMw+woWxzcTP7N5f4I5iz2QiZ5Vib7Jt9WwFkLQd2JUwove8S8xD9q2amuvSfU7fZbKm9NMaYGKiaNvBnivlwQYSd3UnmpBArvQVzEuVSAmdX2C9fVG8x1Nn0mJTwlr54gy09BJASkEktZjkao5eBh/9xVvmxcC/lboyNbvt09dOHIog1V8IzzFTGKcVPG5jwHls9JkHbmIqvneMG2Goc6l2n3D00ktQkQVUtp6BJgM+FOWNzFYWHjuLLZb/V5nllE0sAqht6p9lRQK5SeMCxV5cRgdWe2ylHLkc+tssli8xnNxaQ9GSCHaSLHq/lYdtM787sfpIjiQ6Co8C7FqpQIb9W3Mvmc3myldFDF927IdNS7UFxz+IFzrZKphDltIy396l4lG7nMpVzNbZD+d4oIoTea0LDHtERYlThHn1mzXAR3Kv8ahZT1W2ZeM/bFkZskJBGIq1xmK6Puv2IKim8rIG0elaucfB34xqVMHnT8Idf6ugmtGV/VUbOLWNekE12nECA4gVNgl1XY7xKokAqSlBGAj+rLaWANamT7R2zUTkiJP3DCi0JdTcjKImU4aSe9C8ZrXkQBrmAZsYlQMSY4Wkr/I7EsPQccvhCCF3OmkM0RdlaVAgZyrsYJghDvQGqWLqhqRPBa6JaDClEixq2LZkTXQvZYUEAVC2Tz8rGncDp1M78CuyrW4fL6OR3LFKa41FTtDDSw/u84Wa4PRWNDhGXtOYzdheWaIAKDGM0/4VSRoc+Xr0qhzagqbcmNnqoWPsKfD1ldHdDIfRr4YaRj5m0WMs73tO5WY8TG7s6UGZSpqdq5cMcQ+Zehs1C5OE08moDrfRt41AscHVMpeUj1H6eJ0vQiySJ01NwogAfVk/eaQxkrDy+9J3iHAs0FGJcPhiTwfVCpsGv5C2X5C1ZsKlRM7T7DUNEjZe4T4CgDLF27wy6Y76PZMcy4R4W8Hcz5h8wID+sTaz10U7rd/f3z6XWt3WK9PYho8RjEmVm/s2+Cdy5aihPHqNhAxNTKvN7AaSGXNut4ZL6XyJaQZ2VFZWR4TYWoKldNqvvDj7tiKf1U7XKaWLwUGWnHvZGGtNoXLYdW7VDVdbTOgq2e08sn87Z7IMTScMVgAwKqrVK3MUOgt60mCsF7rpFqxrs4Yu0zcLUxugGuqu4WPqP5eyWC2uyFQqOGIBgmoTeEOPt+K24nTePbU/7vGz72DilfLzSDnGdm+JKw5s5XnOAu9nM7rqu9x5E98xj4gua4CbMlRe+jIV8jk1xUwosYQMjUrJeqmpFtHemlNPzVG7b+Ijkn/lBYXwXLVQ/sodmsf71KdhtmyHBatJlvq2hqO269Brlem274IqN1ZMDCGbV6foYbJNdtpSo40s43wIwbJ8xU9S57cuJBCIK7JASWXQ59QUFpzBPblfK7RRa2vOnSTssWqasddBdRmeJqLwmX2RAghQdkb4fPv8fH//fPt4vX1/ZE4SWS4Hfv6Z9EToYbSRWxSIfagjwtkf56ATHY/DmXPa6OOLR+umla5pTr2wJSfrlsorbto9LAYhbqz39MZFWtjpb2KVJIZ2F8ubWX87lWWOd5ployCpmyP1DJCNFXtM0Tv7B5SMEKATa/DgIWEgZNscnRLpUo35vM6SkFKGk2BwGe7iddw7GjlvcyAoNKckU5kkcquTI+uF86c7aEf2BDcGpNF5+wg0Fa1hFUhr01G42Qtxk0kaMnvthXmtXyNoNNiw4Ikb98VuHbI+pUTE426oESB7lEOIaYUYEhpkZWqMmCHlFWKuThjE433mVAIPmW2/aOgQ1HUyBEV4POilBm14slO1z2m3gOUPEnT1BLu6ki1Y7XKSazuMw4DVuFYP8qJfTbQKHZTXSi6yFIR0moMyfwBONkdNwakDPQQVicTY8qpwg9iynoHyikzchvtOJ6ilfNP5GjIkd4fJ8vrKyh8jIRMN1xQiUnuWYwV/PqAXPZ+AbjNHKFZORVS9BGC6omqBsLl7OBCkzBPP8/TmSeoFicuQB5m74pNTxt4BPpIJ8N1iSjrSqMDU6ECnqkPFBOd8XiN8MqtV349zI54iPIHmgsebHfpegWmPS7OoxfmRAujV1ijQ8FJfuCqOGQWyk0KgKiFLJDtzkv90EYEkxKQ8yMlmmkhTDJ2SlVqSRsouNUVEUsA1S5WV9bgIPNLW11SDmjPIK9eWwJkMtYkNlRncnN5C2FT2ED5t3nUIpxg3jh9IOr1pQUrjxXnjszAjeGXWBPKH69ciI+eSUn3QNAt2s2EY9RXwYzX2IIe82ClMjjHOBNqGGLIF24IXccslTz7Nk2q6mKwClAhlBL0kwfE9p1ZIB6b/HnVxNk5fLplPK6F45hJZGXZEzz0kJEBh2vOBCHeSRWLqm5KzZhux4Btc1nYByUUBN1pljMlt29QotH1NEOxoA8CBkQTu/NuVjzsVp6dVnoht0wtHfwzjmBQXfAG1wOQE5lQ2K5lmJRuk3LjZblNFkKEJGEqfWnxW1Xx+f83ceYSKc+0DTcfrM3hd2rmF9wrkmlDsUBqb//CaWT8M8A5Sd0OazFEMDBLLEZS2Ar/0yBJIn8SueKiMPnfS5u2eny6G2JDSIAHo0CqzXzSBach9ZibO+5i+ibd/Pj7+lV6Gq1l3vUb8itK4iH43PmujNcxKo48qxn1XxPbiV2MPiqo99QUa80rLFPxViay4f1m1xq/qC1sWGi2oir9SjqtXggzxi2XxvCrZmtUWf66M9D35e6mL6EQfNOB09ACn1VS7FRBtVcl6VAAnQgYB+445PuTRXP4HAZ+cOiTWaQCCHvnG/29KPCq3rDb2QmGL/6XLKb9t4CZ8Ad+kU2xb1Z8lSxV/p5/EXo6F44Rz1oFGm+QH5BXCYiTz6EiFe7KXaomNqX7pkvJXBe6NRfjchGSHODjs92t2jp/d9L8y5+T7+/vf788/f/75/PnyHI4uF0rPengbDDNKLP3soeDgN7bcu4QQV5N9hN7nCCIom971OHbylNgbEj3Pb2iIBneqinfMwKOGCoxjdxG5DnmFZDURssnWMbdM7AxjWaCkbCDEFVDrdPcwsk+YK3tUHTgXELt/WrJlR1jSzZRT5KI2A6yTXDITCzcvOhXhzNGsfFyVStsr2FNrvRvYeRRSbSxxoVRji0jFSrbbESgaouZzabgvky9Q26E2BqCJSyHNE+rhc+U8HUtUxSp1xbjCTuusMsBBwxvPgxABA27WkLek9lX/fhiaPM3kJ4vbUS178ULx6NRm8msiOjFY65ECVzScJyRTVcYiUxtRm2ONIwPHEMDxBuHGBFXkjw/meEKC2o8oemNypICOMIMfZQAmwzVk6AJDiKtXpnRubeJmjZWZIsQUjDa5AGeItENmlQwz5Q2uloiVhKXdz9ufzSlSkMiF4xApoEHwNMbd92Al5rknDSwsJQs4yXa60D5eOecjZEgbMSRUl5vWMrU2XDvOJsC3V62v2K23XbZGFrdZErGagqrTocrKR2q9hUxaX1HG4k4tyRjt48HyYKAZ7oincBlmIamLWdMDT1MaLdNo+jBbLmh/2ZxQginCKE8t0dJR7mXKKJoj1tiaDOhp8kOqQMrh9lRzuYO2479jyQIZew5d0TzgAaU0XCuqHGVwiuNDQTQ5CvqniHePpKMKGYYxMJAjeWfzgsUfKb8sZpU+33GEMgSGGlJwLgQbMLDWdGWimYWaS5sbpbGMNB2oDceI92hzymXdVBhPeE8Yd20GI3c4miB9e64YoQvW+GTGd9P2Zwi7r+72f7wdD9odNcwqDSGWSyxYMuEpjZXV0GyX9KAT7GQCXb9nf2n3V5xKtE85+oe6WSoMRsZAOssOIRKEYAgm9zObsl9ceDAm1daw2H6JAYZZfGHCkqGzzZEl3lBr0ItXp7ekdmamNQ2LFMzK3hnKxvYPME3CeamSpGgMgTjDkBJ6EQnrhsk1OWhCklLdqpOx8s2oyM0WUknAisjZhWRQtJ4AQUrVRLz5kthOVx9ByciJG76MKUYrIq2TtZ4NV96yIfPsNb2IZGhsdqgGOEeM4RwOn46GOQzY4Y0QdCjw4QgT4j1fOLi5G2wGuchGOtrpVlb9s4xQLduxDusNf2eSw2wm+zbnXf7MMvsEfvZQfGQt9+vtbeZCJ977mn6B6RggDk59H3Npq5zmXVYtp7Ut5Tj8qjis0RObhqgnKsapVFwuYdSKIRzbdbeixrttTvoJVXv9FLmA6RLxkLOiuMEJ1g6j8QA4t3a2iTTWVh1NPFdXK9b4GGZY2doQnX4mtlFHys3MTMhAJcWo1eSDVIaTWk6wFbObQPKEB1vDgbPG4qZiuanilKrPKwriKs2K5uOPccXvt9rOVlraF64HeOcFLLqs7e3cQRCGvvU7O+msjdSm8R1zOIuro1ubu21UUBozJnYALqxlO3HuSpVxufL8nRk9a477Rr7CuTNeKoys0/jKrJKv2R9qMPhKh9v3+9u/318fLzZBiOlL0K1aZrISEU8P2NNaZmPoaY/tqAKvuQEzkv7s9JMEGx3lHjvMacC3rOhfwHideBGS5iId/8Lm/i1/89E4IZ1N3zGjsw8iOYMMbfDx/vaZLa8XDLWFmVaK/PxNilK5CsHT/6hOk9DjFBnsjyi4eQRoTifCMGXqiE9gw4U+DiYIF7ViV0iGmaIhrnHNjZoIG1c5SITs5F4VYT0dnRV20NR/oGwQEHSPzqwMYJ20j6kfm7M+A7lu3xpyL0tqnSz+VNQcmPzzcsS7Miw1mEk3QqvV0eXsKRsqDE3H9QcoMiXinG2pP72fkt1KKRsmDIrJ+uasmfQJZNr5bCR+TOS0WU8bMTnJjWWc6NEUpAFHBEKYHT5xm7TszpvdMbK7JeTs7rmqA9vRJcEBmVmAkLNCgATDfPLvmhmecYuPhmjU33yMYhP6GQzKtZXdTU8xcLVFemvaQT3XHcy2at6PMDuBovFcZFiAP2YXaIU+N+jgpz2JBenZoChzEjrVgeYUCHDjfshQsbYc8hsiK/NcnZtwfPvK1eoBrXSzL+hpa0sCjwvHK1rjupytK8U7q5pl1guJibF1nn8qe3UeqfDp7Udx/DY+QRnTSxe/tsRUW/rjLy+8m6acIEStt3pFjcpKfQC2ikPsI8EVNCbliRXGgY5hwlbW5h3f3l6oNR61gRL2c9JymOfgmNFYoVkiynzzmBQIZnYaRSIksrjhQ8KOrWTByrgpnKAAcuVl88WCWM+kS6CQ2dIuNRGNoV0BpaN5rZY+GxOLbYk/acP4lgHGtpEXmacUUGckNnxxZ6DyooarXWRzk3kdHWmHSLNN8i0B9CuR6yF86yfVt/QggmWU1sE9XaPjaUwSgyCEO6TdtHJaY1uEfcARTQCeQjqpRUoY5vtnvGgSYCytgkHxST8ioJ1x8jAlGhPlSXVSesmDft6/fuaMIgUsRymlw0GLR2OMTM5sPTxWz7lo8Mm7OYEywZcnkEfC6A8259peTqgXFNX9oN7MxESDLWBuCV7vmZN7IzNoIMtXKBnikAHexFB5czNv8PD4r5XdZMVXP08FNpttp3Q6nyD3mtZ4cQ8unknLEolVmnkPf5J0t5uyLa6sXc+cQ3WFno4u8qxfyCFa0KzQrK5NcEuCKuRsP5YaXPJUH++w9CvAZ8KzPJL6ufn6mYXO6XbN/EoVHR1FUthGdgxabqJ7EWLEvpR/8GD9TAE15yhz9fQUOC/XnWi9a+w1JbYTYjsGvu2dOpC5U+V55HR+xJByNbzKgIxYJUa1VBP0X0mqYWqDvvAwMyCTIqVn4Octqk4I0sIJ6Il+gxOTRQsQRVPFbfoOHdZxNkVJeiP1c6tK27f7Rdv0vG+odz2nEj/LSKi3/Lbc42rl4iUBThXKQSFE8EmKmg75kvouyZ/ZZmPTQs3I0mGG8rT9H/ReyMgFeT31CqbmKHNtTpYCDNBbfWqfiwO9vX+i/QSJsifhCgHfpL7z/2wDmVDXn2+jm3Nw9xyhhrSA9DSaEePZRv9rfF9ndCrPI0WT13mcvb1mmJX0t75/ZELpDGOBfaRsTgl3hooK4UISY68hBEcxYaIahF1UYprNUKpnAcoxyk4ZNu5iH1j+4wBnz2gJq6azj8GJzh1Wxg1Btr9YZQYAPGoWnXqxhpZMtW5yX9wJXO8fuFlFOZy86OIukN17WR9F9zJjWnfsqXc7VqCT4WtKVoRw+nl7tzmkXKi/op8H6D6NdIaRIwDUWwmOUrCno+8rFKu9wSmTW7PYiv4INAi4jLW65uACvlEJ8fJRvuqIqoSykS6typZ7vl68qKdKlb/dk6yT2+kuYlk/6ej0j5xpsEV040vI1eAI3ZC83HF9/74sZ8b920kxiWInT8kW9jtBOrKwQfGAcxEvoj6PRNVatekaU2l2W4wmUISj0llmgAb2baaH2NORSp81Kkz84EJ/d7WSiDQgl7Vpgu1DmKdGsY/3tz85NETmACmITIlldvvSGJgwAKxkTwmiKkjDXAugjJpEqSx4sd6IAVcrNi20Unnzm/CHto+DZKCgqoIRanaEQaDbYIvfOsiszpRuxIYMbQVrUqbLb0eoGjeVbvZMHPHLHBm7rmhMtnkiCDN3PM+juQPi0pkAygd05l0oik0hkd40YqlXylVgN/pEh0oKW+xkTsfv4LL53FaFL2Wlg6TTJpGDUSELHW06wqCz9I/dVxJqxIKddAp7etdWEvIAulzmBc4EkTW5l5FaUZE3mXHUR3oUNtehnQd8QEit6zQR3Iv8mjPsDiP/MllI0jPnVopEk/SM0qE0eyAbtTAZfI2FAOHCASkUYDWv6UIXYVKirKwljFQIEPA6HKt8RZwkRqS+woByUgTp3amxyM1UoII7B2Th4UvoAnky1zmIkUMqHiGAUTHtZr4DOyRZbJ4lZ2eHWDiVWpGrrrU566l2dLsySQLbnFn7pWrmJKdpgs39bKWWarX32004PSVIzYFQEtBQxYOdaqXsYlh10zlAhB6S5F4XBltCWBKNedlj351/FvvYQ0eImzWYKGtrURhYThdp3A4djVtAmd1YKzwEHMv93DbcIWZOP4E4TBYaaIetxCrIvVqhQLhqCieU2IxpCLMgeXUJA3BOYihRZfdHz7Gcgp9z2HII2+kxnh+uFoQ0s8VMqvfEryxyC5iv6fWYWZGvjzlDyS6hqYc9Wk3nIIOnLmXb9cIFe0LFuonNVhaX1ZZzL5M416r35qbcp+ZWXDrkikTdfRz/dVWpuSAG+n827cn78KpsvmpYyPwZGOqzHuJJmRAEZ78v9Aq+baGeE90UUmzFcGA6fJgHpjkxitqGLrRC2HKif9OEDqkuaFm1EK1EHRXuu/9xSb9+lyWK2vK3XvAUf9QdDj+YWbwuwHn98i76hDWpjfyWyh3o8xZ83jez9WDOuFurktoy34404LTsT05ecxu9hExboTieqCV4zbh/+nPdsUWg7Sdpk7KD/RAaJ0cR/v3+/ufP7BjwNf/P0FPyW6ZGzwFls7FFlgHPzndR6X9n77rxf/Mp+pn4PCfsji7P+qdQclcaf3y8v+IGP2Zx8jjy1/sLMseQ6qLIt7v8NzymTy7R5Bec6riB5MdWTNkeV5U52B0VjA+qzEx0QE/aDiW8Zwp4JjWwZAap5DQMtr2NlMUHGSJlC5X8T9PZPIxJ0Yl7gb1B0Nrze2O5IDz4ZsOx7OytOA/diIUwF0exrQW3ogygCA14kECXSbbIrt5QIqybVcTt0N+oglNzqm8PPVoX54x3Q0vCELtdGyfbVe0yyrrGGJl4gyoOU+t1mqgM42pVJcTr+FMceFWZroFt4EqP3NlXKhWLriTSoLWzuf2p0TddvAuUDvbO2G9tvLPUwbTiO7f++dutIpuZax0v8ZYv3cg1PSNwCT9ASbtyQo3ARmaHdBR/GoBUJfghwtyEAl0SpfaqgHHNezeDke5XogYFnJuAwK0YwhmdBvZrSrhnCDDJJroYphAHo5b+wvnH8OhhZAUs6wcIw5eZzJ1zZ9HcM86DPOs9nSCK+HSyra6h+lFb/ZPN8Q9YS/1iy81SMGToMCBBoVG3YhdIDMJCoJhEa9pkpfWmrkQgwmh/SPW0pg3r0p6MlTq5aUU22Z9r/KQNtM1/gQMjSMLUN6wjynmLVIRqBaDCtyd/0Og0F9uvHa2L6hfqmQo+px+ThGRd4BRxdkCzyLwTYSCG7lQZmdeGaQSLgGU1TOD8TlEAe6Q3Z+5lGQbYnKbasVcF9iLUP30KCMTyVeRTUkOeBnv+yk6vPeEd5f3rve50U+WiIWMVapeUp5tTsYZjm5KACCRBfoadncQSsZyTnxovGJ1SwdsLsmF60i56ai9hpuQu4ubMMWgqXKWL4cUrKIKzUhB/6ZMrYu11frKnUe7Q7QJ+tF7/YVpUehO+dx776bNW85cJrvlQ/LypH2rOcIylKtS899xWRteI1SrJziCXSRYuVZjYLOEPZpGgwM70Tbew+K4irtwCeO7rSgIjK+flQqOE7tBWfPyHGw4GMc39UqOfAtjQi7xVTiRMFgFPZfl7RgdoBrrQBr/TxHRh6Jl0ex2nSM3UHj5eXUdJCH9mlbJY00nDRI4jJuWrxoFcVPndEfXg4Sl5hlIQVu2195rJj+Cilki5iRvwapT/6rYZSD89TUl9Z/LzBzlwZnRPh394XsHiLQYheRuxadWbOfgNJEGj5lzDBNk0T6adv1Xq/No22i7P1xLgJVRQxqb+fvXAanRcLrb80sR6+vZ5C4muYG812IYWoeIAt7ZygZ7x+YT6aqftX0oHdQV4fjH5Pj06XZr+iySPX0v4tS1rDRX7h9P4j0uKnp9cdxu/r/IexFdMf10LeREvnZaHz76SW++X39TRSUFzh3HCKI7lRK8WO2G9jUKW6bDZhSRuD5tTPMoDDT8gDvnzhxSLVgOygQd0LdxVzjI9U+B1TDy+YiraYQIDoYBRyc8Ho76jkjMFenLgSYO/Z7Dr5yMbVjFGvJtefCXZ+8oEDc87StY5I0VfMz6cdaSaVED5+J5qJ/XN+MZrrFbgSUY4r3xPJ+CnW6mBup2K62L0OBcN4IW7P07+/S8WqJ2M2n+HnohFQ+dAjGFntpbmB+XugpeBn9SUdS4zOudCl13zx0YUmUyeQlcnNYZy2trjVDkRV7WbXRNnsH1DTdasJhdJpAELy17EUhvbQGip4cnwey8NGVwBSWPkHKKFZWkPj/ZyHWg9KuHlQ4fpK7fWkBgDICC03Q7xIWDPiJLEAPsFT5T3TZ5LtRobG96wz0zINWJBJs0j+Xk5xETVzgaQK0UpUaTqnok01G537qhsLVQ7fAJwVVihDUuyETkimru+2PL/YapWOfkM94NGpj41fgRIO25C1FYUPpbdNoYYE+OZ5cpP5CbgtbdFMDBBWLfaRl2QW8rFarYug/7UsKKgdgrJGT/NeH7jtx1IgAeU5E6ZMh1Rf5zupjxLFKA6+UwmGNtB9ZZsEqaBJ0CRj5ywIMBUFPCdCLVYrE1XhM4lrIHqrAYsbTkEVWmuTlAB1YEn1mF42wwgtiR3V814UfnU6GOALnrJo65briBUIjiVDxVEDKHKHbMo1ycUqIAo/HO5QV/gL1yHHAhRyFhJc+sJHnhLlstKMzdGTNjEVSuqnJUk0dSp2P2EXSdj+5f3lbmloTJ+cFQfDpNjldruo6t4E57Wq65U9WBbWilza9vynSGytdrKQDkLxTu+TXTaOB8s0wVMExsmMq03N/VDYFGjdmyAYANuZxDnmjVSNm7eV8bPmp+sOUG06f7rpeUyfZs1qIGDUwV7iKsBFIc1BBvMUPi8i1nDBIytTNzAEckscXx2w7BflTrQne/M1SHSYTRSQaK8cugeTJsOQKTp6Ui3hIllrRqMXH384YijiX/O2gSEZkEDIN2qa+arunQESElndelESixs3Wy5LAYHYwCIAc2SHBBBSWCicUJuFG8tJHbjrjHns0dVkgay54heJRzNpBJYMcnhgNTwgKFqQ6uJ+OoiUpvjzKDZGQFxappfyZXjBMsPVx3p6ZRQ5+k0CPGz9AZjPPEra4+/f75fbx9Ororqi24BjzxOBfGI2EjpobG/5O3wS2caALUw/jZt79Sl1fddx5hnM2KcTXNzLjLr7OLHs354ePeR7aBfDT084a9iQ9BeW9Z/kESn13xDyUWlsXZ+Q+q16vxWAlYmDN4oyg3rlCcSpPK1erFVHIGVSy1Stl7+y8bI8CkTYBeokpzp3wpz4wthPLEBnqCKu6q1gN8gbmQWmhyy7gXFIJDCLFiVviU1XR6atitMryQgw+ejzw+prp8o8cJyGQBU+5S6rvvH3f594/FnVWxfvaoAZfIhXTfSVxqrTWXa2uJdpFkaC8hUpovPHJu5z1KOq+Usp2xGY1tQYqUUjkDQj+6khNeWZMrG7tZ1OVTjH4N7hrzsRGM8yygpfVDMiM7ZO18/b5/pJf+X3VQmoHp9shXC+/tndr8gAZ5x4GzaF4s0HWo76TcbZWU73DT0env/8/HzSvry/vP+5/1tZn+0N24g9cTICroUvqW7+0fVHlV2cIBYWve7RPgJI5CcnVYN6Yl0mNTNRhdzxXXNauLasWT5OViewCrTQUHRYeho54x71+Q7umVYa559pjFnzo62YHZY+Prz8WLlZ43ex8/P13pbnXsu4ge2Rlhthdqor/sAQDJIG5S73aaEodOZeaeNPXwPU0NABK12TJVMCRxrbdUbpbpGdKPxSC0cWQWcMviN4zk0GOjfc7Al1eNbjemoywQ7dyIpWBFmMIVgTlZau2EQhjaHAYQHwLkitbMA7vmtzSrVb1YUiTXkTk+JHQrQ2gjWbRz0a1WVkkcq9o6mYYOaBD4pAS/kOXpC34sN4VAMVcHEtdnSzBpBjEy9xmZLGC1JMKDp6rXD9rXJNdrrfXyjhSPQZXA3da6S86ImilygSv/HuCKyUDu8HsLxaibCKXFMWYx9IH46wgagtQVS2btHmr2WDczpDXN4B8qqhNjTDSws0Ob87UMgzFpgUJX/s3R54HeRLZLUnKe0k1L+8zv8X02QtcodXso585VHgoRLvloZvqRMWeLMN3Y+rE0lvtfwsSHdRcYifdFL3FeVS9ugwBR3hwPb5cLL9FBqEB+84qSB3goK+9WI+hJEtaCafHz7/KYrWq6dWtIOAz3XxFEluvItBPgbdW+xlryFmi/lIPV7Z22JL0bA8hs3UCOaJz23toIGO1pdwnonw0hj8Vz1a2shic+VsXWNETrcTEna6BSBHe7Mdvl7KiJSHYeuT7H2dOV2i6bqfce6VZs9ouBhOJz+dZArvRB58dJ9Qp8W63663pWmucXqKW1XDAqNZthwt+ub/+iuY+Z86Idt6ghRWUfUdoIwH6lJejeCg3o63CIeJYTdlZGxWMpww+nak0qQmsTZRfFg7psoGAuSZMJCzpe8K8FiaubGbPeGp9+qI1LOoC83lpxM2SoNjHrUIHqRCsmlBsipxsYDujdng5c1DwDp3A8r0FsQF6byBGGrFLOK271biF/txSlR0SC6pZ3IJJZshKAiLY5lR3MjQ8i8WLy772MCKh8ao5tUpQ8XkqU14r+u8kqOOxP/0rPMScuvpAFsDaZkb9Qree5LwaR2Nx8G56oVwrTu9JJL/UP1xykNA+AuKDd8bGuIpu0uVzeS0I56CUCBlqq569QIYqbaKVTg2KFeB7C1D21HG3mpHVLCW7q1ehRqUG9LmKDfX2jxQVCK2a5beEyBK3ODssexScI2KA812AeU21Lsm42O8nCV6yJq3zJK59dF36K3XLPZ2+FvHfZiPOs9YZ1wKwLwhUJYsTVHvotclWIqi14XG28rLg6LuZcqF9TR0iZ11MW5GJL5hE3dDfhylMT0GPu6DaVd6Aog1u/SqCyInaR3zvudySCT/X4mVst2mLMPVlqdzau+fj5nk8L0ALJ9aMaBv2fv6HiP7D0w2p4FPlMmA6e1aD8/nwyRZTx8to5nUhxrg0O7pBTsg4cbiKGGqB9M653lxZt4FAlWn0E4+mMkArgyCOwpg2VdFgtPVp6ZPhmor1SjbTOVO5+zWVYTsNAmsZtsnS9f2UAss77JnR7Cg2OlTjmQA+FSWUaA32brlldGNZ12EQZmHXJlik5JUehk6fk/br2EsFUKbfikPNNJkeqpkohcyRPKIytUY91AhfDWkddWUwakuafuXa/as4R7wO2lvAnjSglaJtvwuOVZN9NFe2jqHqwQ8PXlBWoh0To2c7tsBJ49o7sojrHlWkYZaVtrQ3Y1TVMS1w6V31aVeMUApKAXJAId8bB9iWEAJUWKgvMO3P6qq0uVhk4ao57LhKJQ7XRYErWrz2Y0Wt5jZhoQ15g2JYeIrRdmGoOJgbEo7MMFUhHyAFxIFMC7fiM25O17EmD7HEnnoOJKZGEXAHiUDifmjlcrkp+kAUPtSsrhaKSyRhLUTHQNjnI/LKJrxkQF0rj8b72DWM/bZOfUwBzGFUzzMZ8fbWniI4COAQZoTUjRmjrzNienldX7jJZYpBAT3mDtKvRgLgxUIVU9Gp87mbCh/2Tj3DnuzTNcDmNwVu6XCH1yMzOgBIVKM01jOhYzA145eWy/9+FeOWkL+fIDTlVFlWGmXC+/EF7PW+hL+NnyqHTwW/tNHBNbVhFI174FJP34EYOZNb3jbGhhf1q7Hnoj65hC93O3TG39mptKY9RADg4yeasAFjj7oNsc//BY1n7kbM1sG+k2lIvk0UxMSWTJJNFOqZ0mtGvdNQqxp/YBW5eKRhcylgV7w9YFmiu6luRt/wUGd8aic1ehC0a1UeG+/Utg2TXJouRebrXVxr+lTLu6iADqIJEoDJGzD5g9TnCu0ajyCHslPA5g1RlAI4pMgclPV22sGqLIPb7x6DpvRyjYt3kqYVfOvH3Un7GKt4nf2OGWxdHKrRTSGUyrs7CtM13oB8CgaQSSodHpnA1R08lSAY1wZfquW5suKUQJy6rWG5oo4u4AD33Q575xMkftguaNvuomew76v3+8CB+wM9mpomagqXx2I/s0o8pwNszIctztM9C2TzGoaWzhhD4u5DFimsOAZ5xkENLhTQ77mgKJiIcFzENDOHLC0RwjxlEOM/cv2128v/+ZrT1mBFuntH0EXSdRgvb7dcW6d/PxLbZSpRHSUNXZRDM06I0TjQ14J7zIp56f+xGJebmarGK3QC/OBaCaWh1eqequgT3v35jy12FuxUJjkEu7JeDPKoJY8DF52uUmi2PDA03EHfssjDy2A7kIQEUxiAfQyvbSzvN96/kLtfN7SStB/F0JBjrv7Nv05Z53lwIRnpK3FNFIEjyGe2u3fKX1tj7ynHyXfa4ZIZZNW/+HPA51nEsuNUr7vKQ4rF+ofVzcDMrra+6al7Y3UsfutzuQAh5VYL06CjTsYzZMvh3QpLbvH7Mk4fNnhnxzLuUYqP+d1bFjDb/f3v68PiYZDG2dx/f9/ZnlsznxMOOf85l51JmUrMmPMXl/n7kemZY/a39fo/jZjPn7+5/Xi9PI3VI19o9zXGeXgRAwW0yFKT9vrxd0hqfPgAbuYIyV9CnnNgfyburboy4lox4n23O5pX/QmcHt0fpEOJk3h/ljN6wPegHw/mwOTIiQcWOyABZ1J3JJD+Ywasac3WMyx8IHhle25NJVImpw/UhIHCMZpp7AMbDsAXb0GqFz2j09lpWQdabSNeLSldyhhH+IOSvL+vREyHEhULevQNfLErAiJpWRekCwbaHpaMpuMnLbDgrorDgyq0x13qKMc9RCKT+mY8qbdM+9S1Kwa8dPWs1a2qPh+bnSMYB0zCI+EzqnujGGrBkuWY9lClapG3YqgwdpwUOXD9oOQeXFC7UQmrOOc2sqS1iGe9oUQxPlUwgLYZCB1AvytWaAjauWLPMvGWiGmoWkBBOzcmzx1XIqui4yT6PGFXXxgYKJaXIqE17/JFztSFFKrCWtIcyvygSXEdUKd0M7Fb5Co9s+8u9qq/zWp2U1i4zEsBoccwhHK3IgDkclIGZ0gbF5B0Jsc3bCx6OsuQ9XyKaVxRwNIjX7SDSrMcyxA24i0GVPLV0pI7kd30N4U0AOzusoRZtsfgu5Ng+UJu2REtULOikJ0hUNk0qAgEr5Qh4FMtcBJPOfnT3N6h7+77rD4jyLFqKdt0x4k90rSgtqcTVrKW+7MZGtitrt5TL3mDLuLi8QnGyLN7sES6oiGBPdUn2tSZAskCF2VlfWUfti9aR9iqRwxiwlFYG7MlfBy3cH8AtK3mvYESBXfRpEEKQ2cRm6ZtYaqYyLGbK13Ewelv76P+VZfDzPZmkbkybXm8wXI1PfktScs8zW+Co32GZITnSg+6hceUnZ3oMleUuJ0oV8/3zhVWkytTNdEzaWX0PkTATr3AHpbiQoxWpbt9HKGizZbsEE5ZkeaMDq40mJOSIRmgiUSqqGPc431r05fwzqRJRcyS6ZCRturYTZZmayqVWeK52mUnf6qrSizDtqYam0v0RnrxMt2MUwDtxFfjpv7IQRLKF3u1x2ruzcyAhqGxqIu9nADEw4bcim1WvOc8/rFdd1fk2vo3nJZWN3Ls41Xu9vZ3pPv4AJuThGvo1DCAO/sghYJwIo4eogBtRZ8PA+BwLP4sBZRLeEQsR0PBehH1dpvAj7DYOaWpRPzYU/CQQv7Wh7d222u0SzCR0IBapVe2Oly/raq1VHAOLUhMmhd4Bu0NNKid/sHGtlvK4N3fYL7Mk3ogRrNOoXxbeeMRAJc9WY5lXnbqsJLFFHh/+rKdJYCGDeYcvJ4H8x7i5TDoMmH92EkufxygvnbzY9Ky/vdPJC9GgdzB+g+uUkbEErmyAphxWERvjRnuNRFa1lFSHqzaCLUXG9RSQOqH6Q3/BJS4b6P8MbiL6A3eTUOyB4amKettvRI81Ja1ibmlm433/ePr7e377/TB77NWf5TZ48K1unSwsXyPSTAYhM73t2j5rs9zORygwm/7z9O0n1pMHlYWZ5ZLOCr4lCsvJ/Fj7M0HHW7U5Nc3O2AeSwpe+Pt5cbmq67TjD7RY9kyKNj1FqAjrs65YeZY4wPlFEQ1MF1VBjDWioWYQ1wVQRGj+cGhm2QnxomCppzDobkJOdOIMrWFNkNO7RiX+wFM818fLz/SRdk+i+na+BT3/XFQZ2eBze8z6ygXWAYychmYCb/Itj/jWfQ3yH6+slLUcypKjUN/1AWPYMPduwCmVdsLrUMi/TxXekhmSzFjuAK89KAGaZ18Eoxr1SqrRGxdpdPPFxKrNELE3eCxSoe4xC8vVEruWMC4hHsNKFNt4drP8syASx9+pJ4pBDr+nf36rUSNfuJHwHF3VWQ7oqkc+k5kUR6yBO7DZZOl1fk7XQ0zAFgT5q9/3y57K8wL3EgzVKV1iR5dWabQjsO79rIQ2iuXsHcwNOjuWXTmaZRKVPD1lt7jf788UTJDc3CUEjdrOYS0tjb2oMUK5Q6wnbkalA2J22+U74pnSO1ecFRwVxqxpKqj1rPcp3qnMqytFF77BdMZ4oIG0we7zZGjoknGgEY0jAGb4xezpueIMKcZ+hDVga/Uje+GI7rbtwAQLp1BIFr6tkeIxfo6uCCzPT8RYq3m7MJWHbZ5dwCyD9/Z+aSMoQcG6QDv7E1dA1RAWdC+CzkkNrU1qPbIPIyLJF5uIAPzYPrvLgofV7fPkVsmhhJTEC8w3f5S/5fFElWpTadM/Zc1DOnTBJDuhFVaw3phjIlsdSqM1Iuwc4EoRIW52MAfWpQDlUyHUbGF5FTeNrCVZMDyTQRm/09nXyACcEwAkjPFHb8wNQtILKM9ngURTQeOXftrr380yK8egEoOuXcdVRbLq3Oz7cRzmW5DVobN3YbeaUH4mqMUpiNQ0ogjkPQGpETiZ+yzZIxogTAN5B6GC+Emy+6tPTrRyO6GGy0MN4HpSZBo7XtB+VLRKp2qRsGKgb+3Y6nSB6j5FmohvFpH4vhDQR0WcmsTI00dSGQwtZZHpgiGn+PXtMw9pCdUTErGsu11pJAkxJRq7pdRlV7nA+ddwl7aFmuIiV74AFlT6JQeiNp2zA4tYghnNLFQdDtJQX5Q0/FUPGQOjNbb84uOkuxvuf0Zl/O68pe/meeNKRvpUdYCNhebzPR8pVFSRpTTyBZVbja3+/XVeO1CkLB2toSdUad7cvaMq0NH3m1sTifS77KRFRDEHlibniOU3bOamtxVwKorzdo24fcETYsOVCdhLuKdf1weoY1rPCVZ+lt0TuTcNuF05HpNLu2oZgdxKmHgEmThjqYj+nn/uIJr3r/kJrr4FE0thBiW9iIE+5Y5//Pdfc8Kc7YFMCE2kEAY57KoQHPtTfBrCe491ZBEeR1Icqe4F72OzAcAXNxydK3DqXcWupL10u6asV9bSrsXGimDqrT8w3Nof/i+Ce3aG/vWeMW9xRMQIW1/Pr5+ff9++P1+l8PIZ9B3tmpbnZ9TybGQTg/P/9+cRLSIJbsd2Tr35/ZTyu9e5P5ZN3y2+vn+59ZA/z95z074M31/f79/SeHuifNntXNHx9vr5+PWSRMsOJuz1HjSUAH/RlW/foE1TWkEo9phUtGyGfiCA1D8qszHq3f8U+TLZJcnH5uzKLfMJI8illGjenf03OXtdOOVIXZaXIoYF9nRKQTsT6+3/55/36ll2WoOjvhj9tiH+qMQitDX98z+zC+5qjNailOWRmOY2K8ly+zbJkR2OhRM8ggohB2nSNX1RBJbzjNHUX59Anht04ihLjqBnHnKsg5x9MhBOeKt+un7wuFATkRuR3bYUS0xcLLZBSyEZrwOlErjXShblUk50W7NVc8l1JDozFseWKNharKZP5Szc97SEvXGeGJNmwLg8jSODGi6n/WhC558JWKndF1CtmBRSxiAlia0xLhXJMZ3dSjA7XWBO4VtIXIAI/mhT0R/Z5gDsA00KXCicqo4WQfGLvW1CUcPq0o6XgW8SIS4ZtjkGqahWWKcRpyvroaBOsIHhdvFNu83oELWmhXygoNJt1RKYgaAsdZZ13WRDxa0ufc7s6PUCjXpmgpQimSf/Gd1WjITgHUAxnXKhuSOMgllaVbjvuVmL6JaEpHCJ6iwosMViJ3gxnfWCkdytx+Vgrp70IoZzmekmoImoaIr5kQveVeDq1W3yMq08NBc1k8ny+2i+DnvRX7RCwN1gtkxQKJcO6iOK8ELHfQLUIrfq9mZiZy6LM8qA7xLoaueDVOsIGC0shKCXWu8q6LoNQqbOzbIVS/MXswcFbWh+DQJb9wIjygJGFJNd9XnGOKqqfBBmu8dUYZ0symAQxLVmDY2s/7oJZeOpKsQwT1S/sRNfz++eJ08kazyLQwdl7iUJx0LSaG/RKpcQ2C0MMgiEbQy+lNT/tGgptpfuWT+2queBx1Ib1vvKVm8eyRvAXmdGgUOtTMNFXywArRbIPKGPSdO07a6gUdzAYdB6Nt1yNUqWfsvf7OS8VvOwFi9nBxyem7HfdFptINNUy2227zH92OdNi5/W4iEs1yN+/IHM0cdJxKDR1ST0NueVpPs+K33mXPUd2LLo5Fzvrz2WqJETdWVtJKfzRAfQZSy8HRyuO4hbth/XDFhcJldY40atyTxW+Jtq0ZIjphSZWAwoawdCYyb2RGmUKw5MCZke5c07gmgdbaY40j4SXu9tEs2JC6ZOAHepO7nTnYZy79XTVLg3nQaqTdLbIDVzu82nF5CSGkI0QOEWThKbRMDvCq9uGZsmo91nYaIDB95HqNue66y+eHTV4HsBnvNuu3rgKSl3ljBwypbHHctw5J/7oOOHzjjeuFgwUcAcbT+BZYKkKUI9frxSFPbi75HvSoGzr1WVHkGUvPsuylsBJdKwqVhW0hQUI1bXsn3x6kOQKlGGtCjjxYrl6yJu66IH8umCt7dRNKgeRcu/cwBDf101Wd01nn0PavGSJ+n7ORpvz/Jh/+M0PEY5pmK2g2m5k7P/8m6/uMvyT7nZ9vkwMzH+orUwYmx8uSiddkZLPr4j+zlPj7n4wBfufY4dlr8EWcMOXB5NgJ+RqVM4pbQwC39TnMgYG8kslDACA19kiXCcG+xgMxegLJkiPTK0tGkWMLydSCJge7Zc/7tPMzg+fTcIptujYQpEPdDgI4ikdgbfWchf72/kcZnVuTDDM574rTGYKuEw9aSGb/X885FbGqLCWHGniURh31rxIOfcA8knhcQTDdIpGko7BT1KRVCdy4zAmedrBVpk+YuQ4rJpipVdXHmtzrwrgLUroSji7U7UvpdnKrj2msU5GbzJcqMwmfLSogF3IBbarcDhAqhukppoco8mSoeZQ2X+yK6GvrpAJQ52kJkGysSw2CXWBy4oJaEGooOsFBXMAefAdJ5wNqEmyrpIfFjVATj+F3KLIpg5Tdv+UNFiSdPlSpINqti3i185IKNeRHTTv0CFr9Xt6AK7/+GBHuRSRYLmbbuvJPXQPOFkOC8oLcMnVrpBtDkRuerWqYYBciPkFjavpcrykTM+y1Q0yIh5Ymn2BLtds1EmHKFCDJtRIj7oy+/HnljDg6GpyWgtEp5eQmlHPmQPFuVeaYw/z0NCKPZrWayBkJI7uQY60mv46KqNbLLcNWBMHprfrRtKK4qgdqAkMldO1sgGb3wN3Z5piyUmaVzilBX4yP2uXxUGW4IPilcz8ABdYmqx7XHud9hLLgbqRzJL7dYBmvwQZ2ZLUKZgrEgkPUIxLG0CmYNrBniKINyZR1WNKKQQsAgjBVQs319Xpu6tQbnIIULJSlRCsG54Hdw4+lbOmgIJWPc14r+5NVBmIApqe8SnTpcpP/yo5RXbbCrREJ6bpIpk5lN0xas5edNkHZ7YvmcqMq+wyOgVTRKOYtb8PNeh6QwB41U6zQ9ZFhFm8KVP6AsJQ/Ynf3sDGTImWyttyyPFQ1nCCdRxMdvbvRk2vPXLjH+bFeiBOdCLtoPgoMOzMZjYVsb7PfytIl5VS3oFs06pGU4eKi624SnH2he6htIM98EvbPUCDR7RB5qIyRym3ihVTe46xLTU7J7Smxq2zCXcU8Tn1tA/ncyVlArfHNGae9pFK3qGu3AeK2ql0VoC/XlHTrzh1nrmoN0rMlQ3pdzDgVmE5X0UzZRZKc6pURptkBK8MgM0/y2sGRkBHVZuR/Kri2v6nXOhajkgARDF4rtkiHVv6qpQKw3t6Kr1b0l8PQdeGGhxY75QvIPqsCS8lgJ6UXlrlpmLUst4ig1SiJ07oGmFh6887C5JBDK0CX8qO85hmxdU2Fa/yQ0NaF4DJ+nNePwN2i97xWpBajpUq9y4F4I+/eOP+uvjhezPJJC142cpmwpUu+PG83wwnyz/srMbUILjNJmdv2zK+nVV2U+jiVAXihqHXMKg8OE5onnrcKfsfXOL8J+iyw6zMDdQqzRLB0ul3wVig2DX99sFLH3CXOUftMOPdvNm5nitN3pitn7H8Wp2SMcdJAOoA+f74/334y3ssGWmMe//3++deVwIn8v2aA6M/b279fP/8kr/7n6+d//nz8eft5//NKRj1Vfr79vDxGd05gyjTRzOfJ/GukJv1nPdYlPZJQQjxSkxOj8FlMOMI+nKmeyV/nBVYZDqE5NbfjtFOQCcyZNjckmiS/lGWzjxnsDfU6JuxRbt8/2Rcz9XzP6G3q/GCONCGTOvv59fXPx8cf4x+Pg4KjPzkNIUPDOJL5m87fMrGCdfIa7a7Dhkzg7+ju3LnjbV7oUFAzZlzu3B+CeZIwJaDiJfWVZjgx4sqWHJd+r5LA4jq10J3dbep0tSCLRYQ8EMX3wo5bwYFWq2pL1LcKmz07ToYZtm5uZNiyi9JS82offF6PkzdI18mMmSu3nfXLkUJGbW1rA3dRQjjXyEjUGZQ+itydNSIYDdvS0awy15umNcJAh7ubjRUhAIyvuvotcpqXZg0HulvGaAirC4Rh7ikwQZxVr1FW+tImh8BhdAILzJHwkVRAqEXDI2e2QsTcHrH3t7cZAb75vS4goYSCAnxiacFlgRegIn67k+OlBRGhvad21ln4YPYQjV1G8ZrtYHykctUDJAtVqJDdPyotPqFXRnd00gwAhgFZZBubt1OigFcXrMsvnKcbYiMWx0bAf5VN7KcwRH64N8EmD1DeFt+A2Q6g/cfNdavuH1/HRYfYIJVjqk490Iq0jf2NqKi7mFlEWA7UHUCz7cK0WLRfYz4dqKFRnzrga/raiaRenAIk5aYdBxIFhc3x8x+Cg/9Y1kmGJp4csx5Ej35hsP3FBEzeWX3gY2XKfwqo6YvdFtBgZ0PlHB2FxS3NgFweVYH6ZdVIUQWKUGcMOoqAslS6zFJPFNREc5tYAa7lCs21+NyREoorR8RYHYrKjHPIVvzVHKzP5qW4aRl7+KjdpNKOYS80j4sMnK6stiZOmKrQ5CEnQ/mY4evWUTDne6yqSBn5v7CUyYI3JTiy0fIJGF4fbNOyPtOypZZNuVWVtGUjOtrNmUPVUnSyWcGZ++uaBbFFeEKQ8leBwSUfIzeZtucY8VEP1dqUc32FGpp3K43tMIDfqADwIiqyUGHyrF9gXoQqIa3YxLdG1qWk0v+yGPxOuJOTOY5Sac2WFqSjC2TNSX4PNfDBTkpKpeT8K2+Qgebrj8l+cxJAjkTKQSms1GqfIKqCAmHqq6Clz2FOWiq11uDxGwqLeJm+QrlrbXnlkmpKnjeWHrxbtX94Yd+obO2f39V6idXJbn4/DjFt+roPygGA/4+KUc86Yc3dIuh8mtIKXZ74JqEOAXHFShjw1KrstvIb7ZTlyRPY/yghORvJVXf/j5J3ZUetltuw7+Trvtt84PHqL6CPWV1h0P2GHeWJCNfI/R8o9i3s1W+hWATdSWVv7GtzNfJLVNAqkhTVpuSViOxyPWXEGgnv2BlvSzPW9OwL0H1OucvbOZsHLZvP5LQzTfc1Ef/PC2Xn3fRBf86Y8CRmn7uDdLLozxyhxGxqDqP+n4l+vv8/Hx///Mys6VkSM1vzfb1GTD9+XlkQk10h4g4y0yihj2ludjxNxzAuqhG/htg5YawnJnrCVjUc/5kVfVioBhhx4jGpCraWB/+a8UaM3mxtxVJnsJ9ZzVGnZLxT//SKfmQPPwZ7aye+v9OBG0+WY+BNubKsxrwTok5HwNje6fZ+GSXCuNkiS4RPCGWSLETlSIUJYzKD1dWb+ewyFWUkbuZ9umJjRNJGhLbywSJoxOl0Xtr4JfkYQMemLLMm6bqCeyc0OhHyjB3eutKFtJn3izB6zrPDrM0X+LTd0xBAOdzEbuqIek+xYHtvY2YExHh/vjlyQD0XAt6g0W1ew9V4XX1c52Qsk8odBsrbqOXyLORqzY6RbGwa0LvkYUyAXT8kDg3yWhE/Ii7plmfqCmJfF0jrzoyvDeEx4qVgq2TfXx32WsrYs0pFSwsiEhIypuIvYHbHiL/EUkj05eEEnvr7+4/heaStdOy7qSdbCIgKRIXKkYeuzUMcY1JVS7OnM9iAbAl1R9umjAuyRJh3KxOhxoklJN1aXuaNtj0LAxEdM5cfOqG/FJ/tEGADYSggB6KSruWpGrEosg4a2G+hmJlQ+O68vuOdq3r0Q9DeBm1GP7iJg12JTgXmV3LhXl219TPJWfAjve1hCh6SOGimY9Is14rEFx3F5hHdpuYqT/MibKVxI9/nv3v5W0gyv3YLfPogy8f5y3DEY9JrD8m9Z6MYdIReEZ02isGviLLgsK3DESs4724vwjOJnS+YzPKajNfgOODEhl+Jnlhg14yj4elGfgHznOCIfzLajkcvbBsvTot6v48pkNVQQsr5isW/pN5VjQpF5emM2/i/UjEd3/Y1Gs5dmXbwUGzEsMSTMCk4RiDHg7OCRkzDTUwbplXW5BWmFvNRMS6JgpD2swJfClYIBQMIrKMr57ULAbjHaNp+CH85D+1zvB5jmxN9hKuzEAr7NnTo2Q91hWj+rNRg5nullTQ6gj3RpAMmZmuL66UjLoW7h+gsg8rAfQ7vxBTMqGwty20QYUi3YVd4FK7KTFR14BkXdQ4oVkbxcFbZyqm28ENoH2c8vAsIaiZ4F4MTLMDFEXWlJjcdHYy6hVVMkuL9dH5lVEEhr3+Gtjtq4dnIKUJvq346q3ynv0BBmSU8bPKIauZUpDkQeGJB0Yv919Clgzsv1y4xQux258suz/RaKUW02uNUeh57DsU1N4gq5q83iLWtTwaEskfw4YwKL02NUUK3ZeHjnf5qGn33w9KmevZwv8y9qaHLF8kt3AYZedpSGlf1GjtVyVCXGwgpevmLD0Ub4UdNYeo+c67ua83HUpcvW7ji/7yLalylJNDaBsuUkwSIV1V3UL4uk+fV4OO0tvIGO9bBJTVCJdNRhOa8XRb21b9IgZ3ruIpSoIh0/zzIiLSTjFlxxGZgoHf4sfs/uq8OtsPHW/zt5ovXrgKwDyKUyhofdm3KYG+SxEOa2SDh/f2LM4JmqX9moMSMMv75/fb+72xMlY2vJhmePbE+v2ej96+kMZ8xlpHXnz+CSY/+WOlXdpzO3Zn9PMaXDsUBkFh6lmsONDNlUNvF1b0t918zk9lGEa8wuLH7cqCYO5g4DByHcCA2hG0EVd+z7XMezYA39+eYos/syIJFSQ5MBprsNwudZmFvBh7TlTRVspHEBL3hyg7kfGQt9YuolOEhDfj3K1MbmCOtLdmoZO35xctqtmLM6JXe0xipEUiKrT+ZZPs1Pe+c0nymn2BJph+MjZJutTrKTdqpS3J8I6juYad2VRAXmbwhfHa4RTNr3pt6u0qwYLctLBbUWFvPL4BdMe+coxnzH+pmAAcu1HnXL7CkcG05S7VDWHIoLRLRI2hnp6tbDoNEibC2XulTwCikejq5AwHByFSK66Dhp7dM5a089xIFIQ0XQuvimznY6z3oH0N+rERwkCkjJ5cdiZGVHQSuCRjan4J1QNssjXXLXf7aR9xAcQ3R4prvpsjmvso1iP5BdCGVgxsLIvrCrMtTHQ9DkUxjkJzQu41hhjEHWN1lmU+J/xIvChbG2GClcUDnTzSgAxR2rCs1YK8fW6pcUVqAvc4JY8BQO7SqFthA8Vx9ooXMmtxOVbkJhJqGNYr1OpCm/6ucfGf3UiOwzmhBbykAeytMQuWUm7YuoHQiNLZqbFJJnNc92aVMuF5lCg7PTi7JR0lMHVlmADPr1HVj6C9DwWqvrMlrO+lwN4oMaA5rQd2MAzdO23SDkhZYmLdLH7YvxLUjGGwqJ4Kp/MoaSZsrec5GLUAmmYzheBOTqb/YYiVOleucad6OuQYmh2jaFG2LEkIamaZq0ID6E4pF7emIjKJcPArVZ54sOoyTHYxEcbs0Q3H96zoJJaQ219dEqFMFHHCFJEfyjakavM6j2hH7PqXoLXeAXh8DF2GTmafxwpJ2NylRQ3I3Pi+Ws/X8lhtoGaIT6fBzQVWwUMJTydoCzVuqwvFO9vWVNVSQD+MzJP3o8uM0Xdgfgqs50gLlSQdRLbjHH02lnKiMcmVmd+VEr0OUoQUcwCrBa3uRLe09SFWcj9qYw6IrB+jI7XbWQJtS2uLHLPPDls8FyA2e4B4b1UGqCp6MumofkBLb72yoPOCMqFK49Cew6IwAoLRv4XtOeaN4suLM+JtuDg4FQVcW6uYhRXo+dpsYCtXXouPHyFV6ToFcxfw8Lj1ByHZbt4gGrCV7s+jLNW/1Um0Lt55LtZxSV7+XAohE612/B/Ly6wp5DsALk3dshlJ+9MUWqcClHP5l48sV1EVmKQakCmLztvu6MPbLbWQexVfhzntXqVqMB7MeQzSy5Hrxb3AoeqiAm5mf9+yTBdPAowMJgGCpjtnk7buhpfjecPqVT2HnJtffX5lycl6B3AOVJQ4HPSmCrWiuu1M/fnnvtkoNqotpg3LQIdvEo7bs1DpJV1aZznSboWhmUnlAo0epMdHVZRCkf4z9fmZy5OccifT9+Z18eEzDR7JfiJatZKKvMyI6csVQ5/u/pcw/Sd3GesNckzbOQz5OpnEfWuLpKYws8czVGRroDOq+T2auY0WHYp1MVDssxc7QLFnii02kX/EzGy9nhjMDvw4bUyAD3dNdMBO/s5jE6d8hpJtHCN0A8cqCakzSMFGhJFoQb5RvlgpjV+Hwcp9FUmtkta3D1gKmZq18O9tRm5A1NwGesdueFolyUGIoVBEJJ3H37Y5JvZulwhEzvuWRu1xh5NRXeNPOCLs7m63xLw8EafWW66FljUVWR3069GOrSP02NYSD6cSxHB0Eu6qZzvbqkJZSe0hz/Gg8sx8pDz/3PmFJWE5zDdN4a6nEpzGCHGog0VY59bcjIr4iY9Pfy5E0Li/tU8SALevyo4DkzSjV9EJfYCUwCLPW93YJI5syd98aDVUKEKQQJqmHdv7hK21gO/jqYvRni1KCGr3rz6wB7tNKJF+PD5P+hgOBq2WQiH6tjORmxI3CMUQLtcxVVXbEeH0PIJAPVia2Lm6E100T3z/Y0UcKX06KJXMNrFuTICsHyOGKwHrrX1drgd82EW/ul6t6wy2Gvi+L4vK+7PVlmqxRudT2QM+xzBCM8TSqlYpiv0mE2m0kdDCARts3BsXakOzsUiH4i2hGjoRqm7o+C6QUj0EDd3TM7w23qZjIJxK5XmuB117waT15dkyYZc3wJKdATJP0SeuUKvqOLV9U8dyzkmdRXOOwkleqCOzOtjAyhB3A27R95iBZip5sq/fxErXt44Prj8P3TpnJhJSwL9JAdOFmE9FgFzvfYZeQpyYE8ZHYO6hTtVYboJVB9gohkpRQQxMvyIdD67Nm7przZHwdJvOP0Vg5aGbeAD/lAbUOQ98llNH2XZyzCPIr5yWmyBlqO1qliccWrZK2qvBO4Z1TFrP8DGIrVMjSnGTwYYCRKj4yHMFBi7DVUzX2DIXAnGk90HZle250rvVaBKMJumHXf8gdJ3QN5+2hyFMQl8UVgW4ZlegB0ZAOzNdgDvEyP+/R45pgdDftgEF0EKDYDUvo1EihDVfUtAgJDaWKYLTBdFp0UVbu5mzerh3I/GQ9DjLiuGvsPIHNSmWJ6b+V5PnbwRDkxf+z7BmWu7yZXduPelvT26z5rFO+vKHy1nZVqBzvzCRKkF3Jq83jLYq6sCuksc/3lsP7T2GiXV3xln0ApXpX0R4UuUvlytKpUyAKWEeUAqXEHV4+rwcU6iAQG7Q0TAFoCUVHKQx1Hj46f/xFQSnTqsHLhxqov66/qNI7jwcaH2qwuYNg+dnC/dHI9a72v64W6Eg5CDpugWzo1xr33aANJ9aUG5ETiZqgKYkHwPVJ8bDVmoOmpReP3iLurHhXca0xmMKLqyUUsP62UJ/m8sNJGK73g2Rn3mnXfqcML+ZQSQdvWT0yBospKvT3fY08zbFAP5Pvfc7v0e2vn+/Pr0mJZzOtnxl0mrM52BxhtoaOVSQdifv8mDB5VvhmeJleRM8N+vn5+SfRTlK0sUc9QQOjPB9JQcOGmGZUxoNwSkCWYGWT6p/Puo9utjBv9+A4JvaAvpaCJxlA/pjXx7NkgSIH/KbZe/XvUGPy7WmOvd+5OaPi6fx+ZZEjk4/+58/rD78yd3uOnfiYWejMgvnGoYSnnz+TLc/ia7N8BTbz6UZ6s3j7OoW+Qa5BKgYQ82KaFOo4Rp1lnSynr25CUIQmVbW3hFH34U9CVh10NoXKjIaaLGxVBKyLi9fUwq/sYZQDpZPXNeSDA7cm75H0w5WaBWLmgaD7UNxd2zhN7XU9BhAE4uw+ZKgLelUacnJyH/QOFv98fWczkaHLvQcHhdaGP5ZgrtFsMCUSHXXgJJrTTbwz/VOdx9Vkbll4YmkU5/vryw1iMOQJ6UfGogI99AohtDMkqhXs4UumUxfQvNcQGssWUjD7QdCxNteOdGbj9Y+RtHyvd1cNHUdoVQ3H63HvymNWv2dCxdz/w1mL89j967XR+p/IOMTRq4n2MJFN1GFhdxaAhtojJkinyTCACFm7q2FXHrGkRjcbMIp26bN0clOHyv2GNyKvYMkkf/quzWildEu8rgcYAE7GAuMMVQnR7pro0ELsduWzvVE0emtIDd/tmZQNQYBkiFxHNI6bWiHocSarV0ss+e7Yxs74WEFUJro/W1DQsBeis5UuVRdl9KpLt1IcnYanaZPOPBnZiL6avGogxBuO2ExEnY1qc956nx6+ll28nw8R09yUum75sO9hs+CjYnHcvPmy7TSkFO++r7A+QJ6fN2Z9sHGm/20acVFNKvrGM0219zs/smaHvtqp5mupDst0CWP1PChZF1X5xwTiFqrB0KmABLOAfBtlwKrFjP++dE3xSBM7GWz+MRvvwafFEZGMpW1PjZAxdFw6ayv3ZU2JuEJnnCL03X1TxT+SWAXnbzLktV9qJIiHejkBTaIroVPnrK7qvHJjo+WLsmYoAyZfS7m6PvNAiWdJAiEPXqw6cc4IcVIaywnPq/tsipEayDN5QMSJ0QaFhqxnIKh5BkyQBgo7sqnEttOx7pmKEvpkq2EFPTArIAYy4WkbDrWiymuHMUlWyFwPuv1hVSZsrYbMfLmZpKfVrdhk7Bh7tgKbLwGAyhPdsrGKXlC+z6KrRH72lTDRHSKi2oB75H8zLsCC+rljSZOTB6a+sjqOyVA5pLkjZBJQCyP459L190Rfjcu0tn7mLHg4puciBuZBUPb9uw105nRqEOsUkkfJLb9xZLns18c7B6WlJ+b3MI3n4ox2YMMFGd2sRSGDKFF/XZS+H/IdY+P3Y+/8s1am+DAeUnaXElelF68OMMd61jzmz8qTdrr6qpF7wDGtebjIaa9yJUR9aQm8zFzs1ZfpaGaD+PWJhVMZEFQFuEDsDou2VyOAEj2bTkGHcSRzJ3BRm91n83RjDxlhFxiEQhUyUj0VvWbnLmeZ/bzN3lcz/PudeHVi8gmYP6PfMxyaPuY0i3+fRGf8o4H8EHNS3zfmRWeF7ViWsekaPTaIL1g46Us8yZOTo8aORMGnQFdG0N+WR1nhnM2ooI4SBPoc/UdStPNivoJXth0aKGdi89v7ZxY1OgicKnZ68/fs/pV9sGcEWFv3MydlTgY7/aozO2kgnp0Oft5eWZVD0Do58GtGiV6TxkyXACP+H8mfB6DJluoIZk+MbKCIhtoJAF+d8I2oGXTozX0B4mkM2WAy78VCIkAt+ZxhqjCdiWt1JZu1ReyQP8rz5fttdrTcDY7Njty+Qv/YXjj1jnJVaeCBcdRZB7perxZ+CzvnaI2SKw7KX3YOJRUqxysbuwth8as94WsniqvW5nwrlkZIuHbartXK/1VLRMJVmT2M5BBBApbOokzzCvVjQ1GmG0itmamQoLS/aydYVFkiNCToSW+1dryLTkk++5cJjY41E5fQUrQUF1QYU4IfIf1eU781056L+Z30m1be3+e8NBu0fBo5W55OYFYTkXc7K3ya+WAt60Q+zGkJsxrrUJdRWBLsEv/qZKNpTI1M3u1eKiIyWuHfKH/RBs3a6zJmO2h2Y2YrbHE9YHPCdWjCdLtb+LQebQMdQArYOndqyrmXdJ80xmrVbStld0+0w/ASqazmXsvMSyQP2astBec9cCzAN1NDO2frOJ9VRWWtges3FkTa3AqkFvBpCRycr281HI82bdol52IlK23yd3kJBfmFCuKG0+Auv5QVErAgJZyyJdBZzUIlG6+LHT+rnalqLYHwesFhqa7HaitL4LZHsYZNJ6C6rIyviQNBrYwbuHzbGrN7fhtV0DfXEjElNdOlaz8QjCRy/4HbaXlXNKaGrp5cO2Jll8TOZ4LPRCbGGkjC+qVx1d9xou2LQ4gSD2V2xg4CRFTs47frjQ7ROaGQGpWHJfQioHxgXrl9lIMwob8WwqCQBV86EcV7653/Ply1W8RJmQgdGEvIqtTKBpAQLGLHgas6ssIDk+fGniRHw5cZhMHFrqlI7jXoJ4q1HEICJo04qYzNGlLGdVZrD4Y3zd7v4ILyrCrPMGzMBGCKblDqmRf56pZenG5egq2Zcj1b2ursOUWCsYmpKjPE6A1NcEL7XbsPHQ0sZyPYSC8tDi4GkbUZojTSNrI1EyUSl8xwRgmQ8Y4M/H68z0Y4n+I2upaDrLMWj9PUUJVgFxGzAgSy5i1jLEtuBkacpZ55ijlXRTk+bocQMHcrgmst8z3BKzbT3KVBtA6Dihzph0U7PbgFygkeOneMsfdV8ZYEKmdoIP/+CeQmQzJm5UK8fOtRpDXb5rGf4t93uFvJoFu1bvHSNfWr5Kr+/T9cy3J/aAszSa9bvBcWmXm40c9SIPjGjS1BL0dsG+oFpkvBOu3jfe1Xv3TyvkJn3gEWf1htjMDOZJEpP99f9IXm5rIje8XT7kIjk0p8vQ+dqo6/FWmtWE2swEaxmgmscaazu4s4ws7lnr6pWQf2IEDMmtiGHHbwDWumgiS5DHZ6pO0nhwAziJoxFrdWbgIWnZ0NHNJNOe9ko6yfP3P2z6yB/d9JArPz8+vFqCkToZkKxeb/LzoNwXrBNnDiDbb+UIAxZdKyQfzuvQz+2D0a3LCcHvgxNuEII4Edjp48NptaJ5fOIDaJejPeDAJPVpMR4I455Q5USxPfn38+5jTl1wxHv/3JkmDOSsVQMvm2yt4tfwM1IsHmw1/TXRj2diQ6hkIiHY080kWEpdXS1qRq8vloEvuLNbmg0YaF8+PrsovqS/UgEjMLwyvVQXbu5wTCIFQniYAg5ZPea6h38DRjIx33BerIc7QA3gVD1xeEne5cM0/c70qK2c+E8pUgaWwmVW1kKE4EFSKRqIOmggALy9P4jLVGjuyNbcWQ53gNQGmXurAcE4VtgubHBgAPE1TQeufkN5gJ5XJURu4Gb+edM7i3W77UWGavqKFHp0an3s1vXU4C6+WVkK97uPz/8X4FWGQpOvzcnX6CxEbIwuTab6urPzuEQyK+ZwR4J1WGepb3QKp0TNIonUCRVnZSV05JqIm9TtRUrUD/qVwZzm3nWOljO2/IdYZfOSPuIPTrwqfruqjBdPdCmSC33IQGis4aqAiP+Pl72ZqieWQFvgcACxemHReFzbfEsP7j3p6lHFhuKKV4uEugkRSqUb5Fo54lH6i0nZ3dx1rjBJUJesp3lfXO3CWKTAiSpZXsqa87mWzYmFA1Dx20ytv67UjTcfNHoQ5mwTYkFQtjJWRknu2SqNygreDm3EgHDNXpW9+tr1GkRCy9ZNVNgA2lke3SdeVD/EFpWSP85aunR0P7swn6RkUrWX3ZZo6E6TSiTK415621WzKVaFX6MM8rYEukw4+a6/nUKqnfra0zHddmjuCyU3xtSTDKk51Db4iQFMUpHkpK43R8HUhVFFaWuNGZOZN+ZEcS50dh7jfqr6bBnwieEB9G5Ge7YhHXTiIP325ObpCq38AWB8EjKspQ9ZReCe8By9FQBSftzPGWigNAbgvzo2uQl64lfmkkvtkzsY5BlRSXJQjO5Ix0oFCMq7urVLj96NviXcT4uD2meC3uNlc6LKJrSZYmdUA1XpEIa3Zock49WWnY/h+keriRHFf52OzAeW5MuW9oWxYpe5oGnYqsoKfcZfDZWCa6kZmIs4Qv551MVwC5CDMUmdh2TeQxVDgWbGkGplgJBFA7dnwhAnCSHV/ToIaYsL+aaEG2gUrPO6I7N1nT58wsoUnHjIAd8HAxVtg29zE8xbB0VsxGnVcda29rC64nSwEGL+yXy6X15LuervczUYuq6/zTKFAd1odxjqecgvsuTm3V+//ldSn0BuvqtN8va7kVH8RQhL64lH1aHgtqULyaXYg3cdXmBxd/lJ8jYlVWY4KhZ31KXwhb5u4r565ZcD0YcY9qhZU5LgZYV6ThhG5Uculz/LrTeWgfnwcgcjTqeSh9E3s1IY+FatJfcoNZpJo9mCgGowivM+A5o6NfPz87IqoSrK1UIJp9HPEaqL5y1vdsdPczeeC/yRT/aIZHz/7E+v2JMH+/Z6eoCnBwdw7JKokBuV9w/fUI/iE5RJ/H+pA2ZpIncb+e9MtT5meYNsntkDhH8WUgl44AB4Fdy5HsdzJhx4FnS9mfr9lGq3sYZ4uVCMssRf4zmcgMLH9O/p8FPkw3/XllJDhnf6a7gZlV4C6GbOzENmHZNHp12qW3xxf4SiBd4ZiaSQyT7zX6bUZyi1Du+1dvJWfrKFZJ+KKt7rtIGtuCrmpuPjrFZ4I8amc/hl1gCOnRi+WjPRoR2jmvmr9dO7b6k6oySD5m1R4oAUioxOajhArGJ0Vi+5LarhaxyngW9RuyYeEfTvhYKitVgzg66eijnOWr+i4oJrjbfPh+O+TEeG5TBN/rh1zKzrDu5egcYdobzJBQtrApIiAU/iqjN6ZvwZCL7UV973o/L6bvGpWjp4ONhfCh1qJJItYzYILDP7MG+BKDAYjhmi68XFNpYLt1RSpYGQcy4tQz3Pzv+HwEUBaQxFbpUvQScnu3YN4RnMJxmaMDjWpWsWIBAg2vlXoST2LXqQgD31kPssXXZWhn2bHhrs5mVqoTDjrwkzcefmgDcVgul6youO5fyxAbpCd7GcE4BBTf5i85CfAV6vCerpEpP8test1cX5JGjZFMoRrhHw0NMCnTbW9hFNyN3SP3g5L0196onctOuUMfXaakiOFZvuuS8Hudp84AyFkNK7ASHaYqIflk8lUNZiP253VJCjUTwaBVHQ6o3IQy6g6Q1c567q7U8jGIne8IA9Oc+M36qFTtzkc6hUwLz05Xli6uo0zskusGY2cvYokBjxSoWoHQm1xIfk4vOyO+QJmbRdkaMijqzC8mEUCoKlN+pCQjvU3SRZnNIRr+mp14WkNzaJDrgqkjzLVptcOEFfm6CjVl2Qo8paXqTqhHjRtn/bpKzpDIG+h7CmebB8XgOCD7SFwSvDAgvYYL4F0wVSttTw1L7EV9DGDQ0Qh/Eqw8PBbsy5dlAd2NM0rAOlt7Vei6bLAK405k0nNB5vY9gz29n8YO4Q9mZjyNO15oJdTUenqMdiUakoR0lUi2EEMbma68BiLl0LuZAwKEa9o8fgw4aILdHzLgSuau7EmgJJftxRJaHkzUUkWHLSUL1zGnBWITESRkn8Oq4B28GMePaZYE1iDJOigr88ptC3JKCguymHBxYFqICth5XnN9F+sl01vHr6enWAxJvoWi+wAxqMEhQ5CtJ3U6YPnSDjuop2748dBmwU/ggr+cxxdT4PEB5NnGufmfOEU+c04JcG78lut4vqnhBHf/1Ub5/Z/NzHUc+rllrGUv+8O/H3+ALKRzYjBfdlLFiUlO9SFo/pAEUqHGZOUWra16Hih30QNrAAvMTtyjLNxdOwlzzQGg9xVVp95DywVglW0FkySHd6d7q1FGho/AyMMdzQYzLkrvoz34bYewl/9VX1iao/a+Z6nw1+vt9UoO82+meby/2CBrvriDlGOeXzNzeNcuNsedijfyzu3vkdFkp0YQqoV7uca+ORiVwXVz4EvuQ3FdGynuV/RglvCytzOju51bnb4Afs4y6O85yzDl6c3K2LjGNoeeTzlQy25/35MPT9uvWbE4x57MRtgZxYiyBcXsvhkVHPICKn2CHPRQUXW6MtaJ3EdNgcFYh3irASDfkp9XxTeFRopUXG2/EuRehuTDK7rtveUE17XaaTkW42yguvJGmDehEUORhRWOIVK22eTfYu2qqKJO0fh3eK2ahVeaXZneIsAmyhrLNqbp3yOjw+Nm5NEwJmxVfxmuhgfAQ92XkQrxVWYGjrHYe+6uO0eqkNVRnUfecguH9C+0t0l2qpHb4DyZpWEq7FLJ6XKroTXk+ggoEIYfe7DxUPGonyoTCTa6fttxXRnfAstcynQm/OWy2gBvGsUF8J0CHR3ie3dXHxViEptVG9wb8nIaN/Ht5VqwIf3FHTYDOnifOhewpg07M3OeNBn7VeEqwNn7ai9e8wUw/fsqsBgO3mvSglU8UVndJkMEyHsaaAsSNQIh3bZeBm00/JQ2VasHlLJXl7rX5Y/XkUI+TIwPzpxXSvmGMocJbXh0LkWdhkortMFe73YFrFIrNMqPduQSLVgcVPqMpimAcSm9blgwCOcnOITHscszurqYnZiS/zjJvdzYpyyiEKitOUY4fgXdBZLS4gFFn7hpoeWnkh1ItPCG7gThbUvV+wtXHx468q8xQesK5MYfjQTh6goWMmU7SqILlsxbLku8te79BRpvl29LrutdtH5dRuSyr6/I2Y2rSNAzKnAEcVpkFree0a232WjhY+ISx4QrDwUCPhwmXp6gXRf3P2hVVUlj6X8ntFIVFtR1ZfwNOSCjqPYYLvoF1pADWGgiuWpxE/BA8RWYitu+qhZI7+baxev7a6bupamEEVkFSgCd5W2IDeYEd5NPV8L0bB7VuAZDOWrHqoBFvLF7Br/Qf9Wp0jbDKVnhCw5GSooPVKMna9eb+1+v/BLNhkYjVUeyKSSDClhJvl3ytTuLlZvna2adadexl5TjJBW3exEfrBtdaNEjNpU4wrGiL3y9Vg69FG0FiFtWUHkopIeW4Gdd2zsJFdgu9dJrBGqtTcG/oDz8OqQspBY7hrfGgp+8JqsOlrwPVVd0NZEI7m26CmNfXMeZ28mcsWMtUsMAwy9xTMZ/ZhbYAJE5mBaL/zfXiv9x2ZXaNnHxanc6/k0Gii3MW/P/87URrXWYMV7sW4+jnEeLmwZiv11JW4Nx1d06Vs8o77p2DGM6ym+IKjYRg/ZVaTALl/nKsh3ZPu1rin+5tgjxknpbTGvIdzLv1pbJGR/kV/MKXfLKgksoegqubZ1MXWTkHCE+38E2R6hFjiYNTob5MWcvff5w2MPU9+/312vyw/fPqZlZIckDoV6wMJGYH3VyWJW8wHlsc7ODHCS+6X5Ui8mTGb915vP4oOQPlUfP781O14zxOtt5BsAHBOjAVO1ZKjywzeguzIM+DsDKw0SFWGgmWIXoUHcc2cdL2BAAewqrX0k2QmiCS9yK2utKOlHPBHikWqmwnysurfsYFSy75lesuhoNyrajH9cdKf01NIHoLmvWy+hPWJmscdIh2NOTJdbONwYzpYiUI3p3RHs9G7+ioEBNY1EHcTmCAfmrqDp1XOrJJEAxFQf7vlt8tRKglGHPX9lN7WqqKHmJ3yBcUNOFiv5qMw3q8aYqpwNRAv2Vv9GgBm6pGUpCA1kICdZGmECVfxwGsr8CD3zLIn/0rjtc6PJgb8Hl/vZpmOlcMcmGAqj1lMym8rM2RGdlXF2bVHkjSUllfwgCD51Dmln3C71yvjORg56+FF9RwU02R5eC+12rtzBE0MSg/qdfN+au6NMvFZZXVFxAQo9SB2OAiXVqIHGHyioLQnCVkfkKNxjVMbUab/p77aB43WIfLM6LLrKh9QXEPrCUhXhgeOVfNFLp5k7erbqVdVdTq7yEwQu3NijTAhq9FtbUsipxUe4KyatA7mq2mLU/LzJAtfzifb/zO7TtM//ZizgfjEweOSFmWusAmWI1mG7dfgpqUlp4sexk0sUmVMpfIMjq5YZo7dnkN+V8g4yPAdijjykPkww4ahglIO02XJqe/6m4qXhNtTKt0wFB6Hrr4lqiqAtsCy96MsuyoHITQULkmBSUhl3pgdkOqMywkV4cChv3TagFgEfH0a3DxJu7SGP2+qubDCvzQ28jcdgdITIJjefZDOilye1MveW+uqBHxwTY/DqhU1QNDn0IAThg0nHxnKnsZIWOix68BBMrFxIwyq5cLNaM9dXjHe1JddhywANWetAVDjpglr/5h40QlZLNDr6wImhGHK+Ev0IEs1vWCMRbxxXl9UpxARD0Rne1ASxmAT3k6bBh1QCJLKVoJpOGHCSHP7XzR67kX7UlgW2hyRJcjAwLLBqr2PNYfgV9dLscOHZKdU1YRlNRdpcNi7lYYMTYGo2niZCymOEZ3le6arD52R027cOw3bzkIaPClDL470Bb4yC/94KhooExoqzBf1m0QhaF0fwQmMDQEqb1HgTyQgSkFhTsToUI1LpmNFeoBc86b01Fsio2lEozUhFOhtKKdM3cAUR2XBVbQhpd3NgbVq+GPJ+oEVtNKbz1KF7lwWXMU8fFnCYVLfuwgVXuB0VYwXp5wjZytXuAZvk6ZmL4gwNzFUACybOmX35fXhfuyzRLUI379s+DXzLBdYHXv3iGVWvvp3JrajEyucPnPIUcmpSNV1bjTSqz48Ng4MrA0J49nDCiDsG0HmygveJwQJj5Gwe+1nuo5XwM/FqGbaedmQ4b6zpzh5M3ThqQ0ln0NxtEgWjW34arX+2GM9dKB/oZO3c6bqidmd1Bh4E4tsXJAG9O8W2HZkIPnXrX+k5ykHOeHOGc+xkYx2eKSECYG0yQVCbdrUqQUu+sfg5SGXE1uuB/EuxJroLAvfAyyz7jaNytd3Ik/uvBybHwnOh7hLDO2+7io5CXotTnsl2CcFZ6K37tEZuL/LyGp7cjAVStuQvBTSlrlhzkkB6huePkdvgCZ4fyYOKpkPIoadO9guDNGvHTq+XlW47grGDiyaL6V4TnOyhoGJo5XxmDnU3RhAdw3WbyANnLMXOtUA1XfkY/tOWXCeJLejKcXVE2oHXzmOOdNmTB0YhSzwf2V1oyw4C8eZh4IKXkoipsZnwAqZ2oZYS/oxfOJh6oZt1ALjsADLYupAoJeJixUrUpw9pVo92Pt4/ZHk9RrXWDhEZrhfHhDKbIzsP3+X4VmOhAg7aNUYqOtn95aU0XTaRZYfbzCNX8h11uB3Eljwu8t1ehVdcJX5UFdXIEYpylrDA++mCbHB6E28FzX8U5YDX688Wrt2bV6vGmIcRF8h5RbYRw8gAe38Sf7wnptG2R0CQEyMRhc0X7vvrTmQgVTMWXF33rgLDfIvDdUMWiv3niVeR2ZYXSVOdJAX19lvC1x/oWlsYEVw1h51r1OIFKHppRHxHeGMNb3bGgWvBIaWP6kmwuhvsvYK5vKx9LlrD7l/3ZVG9HCPclwwuADQdyFNFCdiCuwh6OmMHm5/EJdseR6TMfUPgS8bO8N+bLEOxxERRBPJJVbVVWWkoTh9OQFzGjhdUxg3P4Njv+z+SWmPtsIOIQwcVStSQaDkYrUCpwNQ8FE25TTynL1N3wmT1afDNDmm5qrqhAV8zfVZnrHoWq0wK7o4aWRH9K9iizvV+6aF3WAfL+JUE0qPM1A8371fjuTVgiByr2e3CMWiDzstOay2oZmEhlvdQSTp5hOoSkfTbFwVVhbTRT1+3OY9MamuJOmdjGiyiSs/mv4jarrSpXX+wRLfOtIa8Jyzk1pgoNk8ZQfHTZ8Hxx/Zp56eUOlRU+6HJHFn8FNCdzNg4+BNXcnH+bFDqjzBqUaNvlVmwLZc9blSJ+KOG/yCg9zpVSWsvb5PDwYj0CyUOinav4X1fp0HoVElmyJPLP9kBu6T4/0di60ZqnbYo34UzM/QMXH1+lqfmq4Xw/JcW699f8/tdlQ/UUlwbQ+kU8gqr/oNx9a75EPp/VmIj8RSPVz35nVTaSRkGW0hyy1SrkZYB2/GxjiptiNrTUvK7Izi2K2i5i3Pl6lp9rwe8qTy17A2n05kN6j3W228/aOPV9Wkyn7S44rcuZF52Rl2qPebGd7KuUdjRO8Ixt/TOd+Ov75/P962OGxF+ze7KW1VBqzyZ6n92wiCjbvOPaGPLj7+2Y6GYLnsHL3l2ocXIShnYd4032O2cRZQSHjH42tQ5mJMDfs2R3RiuZng2eoSGCw0anO+OvylV/ErkYE8oRTXnve5J6NnBqTxb2kN0fXti8vOxYLpb8wd90qyIPOtUh+Meuio1jUH9rJRBrmWxkzaBBAJCUh8nL9nK/LrQacUJ3mbNNX6LQQANg2qNkQ0Q+aqHWGxGoou3YUfuy7ZIrOMdo1g0LPE0W6DRm2L8+f9Ha32sbSxYdwE4cAktnLz+tJoCvHpRodtKMDESu3VrFtjamkMrbz+68yLXPuQvILOyyTyrgcPhW4YjM8T0HkDG2m9/zniLnQkVgqCYH1vXJxHJanoQWHvSIMzpyUhuXBsT2SJRlDpfyVEwBE2qbgmUN8GWqUy0dYkm6nEq6/pLUs/xX7vKv/f2qJXAqCg8xhefiQtv77nFT/YvediMQpvh5VsfA0BNitvCK9kWWv65TvqTCDkRFmfUBWtU3yoIaNt5QafXVSo4sxlg9kRY42vqt+5YuwNibEJ6C+6AflYfmDQIYGMSPni6VMkV91RCwh4VGCcr9fs6N7lC/K3MKw7bkndVsi/eZsiuj94VD//O7AwjasMpNTdo2y7cImN3iNeEuYUXP9wxlutZ4x4O8zacekEZLF6E7A+ITkE8Ytx1fRcXOwIrIDsRAqLKtCG8MbkP33jZbNmmAlYDKMXupam23qqNc2IZyszbtqn0RdZODx3tW0y60acjJDFPnuFiUIC1W+BrjtioDidNoQNWJ2Qm3qBWgZTTlNaDJswoepibfkhZq+QTVJ8PlaedEhLXt4HJbYZdCAeYallhhvjOabvv0Ih29KEOfAk7PJXGS5biwjSlGxt1nNa382KwoBQaOTvSvNtWd9E73O1AZXD5QPteW+H1nPgvUOuXunSgXbawEL3PSexBuwiWCsGMS2kNMPZ2aU091UePAoyVFojkBAr12ruDaAERa5kokUcyetDlx0qfZFSbbVKg4jFCs0c6wbSvNYM43h1rWTPofGXV1//cFfVaCFAUlAwIc47ofALLj3gEnE7eUsuW/xhAK3g8qRpdwPV5VrJbC1jyF1mqUyxr0o8GVgl+cQqUsUBt2dKmNt483TCy5XeIbT/KiA31hM0bCfLI3y9qVBz7H+glRHwn9xZ4jsg8k/NWehkOd8wLoaOZC3SC6xr6au6KzzJDX2KLjrwD9P4TH3hawtU+HmrVmIWqu6uDqgVCicUiO7px32fISPRKr7X2kqvqWwkV8E4CQKjkHQP0y/+85pbsHBK9HZ5fASvMtbOC7u67i1pRBiwO2WhQtzZuBavpMDV0KWQp0b8T+LgTsm/A5u069v9iPaba/s40/H6/vrzkcdwDIWQDseCSkXZacUbKFDX+oFXFLam524/pdAsaY7WfIyv5Vk42z2zMzPxveJZ4YaDNoPK1s/xnmFPQhRFsvaatLs6cWyyFnb5dh4WwYEm/30X1LM/z7/fFn5p+/5piDsDtbHwlzJr+SC+U8KuP/eVb/dOxFIOgTYg00PlTcoBX1TrlsFYygBWSDs2V8y1fSLynMcHQUkaiptlv17FfGerHz004grQyhplpkGz19vlc0SSNFgdA0Lxfajqvb9FRyTJZlGM4N6exR4oUrcNNU0AyyYxbAa/HjEr9PTBTBg6XaKxJpuRsP0zcErXIOdq/kUKuFCcbayV7aSP+sWbt3RT3Ab7AEN88EuHhwJaQH/wZUFK9VnQ8pwW061jl1rHYn1C3lBfo6gHblEyxO0IWSVvaYkgtYm0X/yUjGCp6+vHKzdcvnNaXAhf41qy7d2Kog608ARD13rIBVyssMuxo7K95GBQeDTH/aenoasH1Ai8jDlZJza5cpF/v3B1J7tEfFbbXeg3hS9DywtYDYGvxzrGVtQN8rOOKojNwNPSr6P64rgbOmFRNu13vkbjLA86aqlGJpvofh7AsL/QJnonHZBlTuqtUswawariEpNdkW1tTV7kD/bqNVllWYuOEfkL1dauPIE25G1O1KP3Lgu2XixZPDIG32DWUqK9dvDumD3Bdo52PYIB1bVK3aWpdZI9fSMDs22ilRd9/VpSuOGV1kJ/6VLWFOtUemUtPFt40Q8l9VWA1dFsrDswnBxtfUVYFr3WBYf6wU1rRd7OOGTqkB7KZ/JTPdz/WcK/10PcciucPI1ND5gMW9MqJ0bt9DPeC89BipPpIzlZNjYZ0gj97TYRwkroCj7yhaCTMQOl9LA21zzsOXKoapC54VVkQleq2Kkr4yI3Ggcb5/cxYf9OoM20oHffw3tUX/sOvQuehwM5EcA/KV45bkMBCjZPW+WiOt2hBcm69ZDUb3YtdIq6G8Fj72PsFfD3ZuIGhwNd/qT+mEWswcAJ+lc1mK75q6kFkjf5hJQ9rFCXBfbHiZxdZHfaixRuayrmsJdtZVd6FckipMFUBbXHPTpU9sYqN8QVY7iRS4/jsJ79YvTFeTlcmrTQC8ddD1glXzYzwF8LSREOoQIzUCJqKILVnkKq5rBdSfrYxS0hRbp92AtYjTylrNZtu+/vi3wt7W96p8/se18nqux29NiqJvtWVcfdlVd0WhILR+/BIFhfY/W/ZdCFtiHWSWG6ed37XQh4I0nPyjfMx72BOquO57obYrKnm7PU+zF90V7JKzyCTZXEG/cBexXxK7Vq5iHzKr+rHA6/7mzrUSBGmz//oYyRSuw2r1CH13UZ3yHGg3pyXllGC29Ynl79ye9LFmo78N3ediPHdqms419rIBxFnWy06/gY86Zjw3eSykSMKpFUrT042bBDj7Wn2TbieHyQzSmKyKVvE7klbfjOXEMHqsaQwKPREoNJv5sl2gfadLm/H7U4r8PH5ETiyTaYejDd1jQepWhJ6CKcGu5L/SQcDiImXqWWNDgB9MHVSAIEhO5oYzqHDRgTyika4Wi2nezcRsJQIjnFBAS45yoDBM76vTjMpLP9OrRdlu2ZVzgFSbGrZUbvweiT60WZCx+HMpcDyHgAECTlQd7rpXm9qW1Yu0oNrcSMUsttelRL/D7Xl4xu/5gCOX9I/sZHLDwmXhxiYHLHR0gxmNSb5QjP0I3DJ5u+VU9bDAerUGZgeBQojOrGvWHhUoHXvJIOlWgczYKYo3XhGfKdChfwQgE8tuomxeaWXKVXHagB1PxQCGIYB9jfjfVMWUwZVbRRBug6gtHtNJMRyzY+hUdrZPCEdvYV/TWPpbd020rez5u6wYWd1+YN0LToEe+gSOBefoCc/1NADUCGaL+irq2tzzwKcROj52aXhAPLXcnqC3eN9HKwU1gOsVfLbOawOt5W0EseF7i7e16WDM2EWlIF90cOrMNs9jo50TjDdoL3mUkCXXQ/KgjIbO1U0UydLBY8JShbwKLhe/piTJ9gVZ62kdyABHS3E9SNB3G6ARu9QGrB1j8glGF3QvQaBSyY/ruSQyf6HsNjh7B2x3pv1BV2itVvRHDrxkHLJhahm3GrwKUTKdRytw/Er7GxjL9IDAcseO+JA4KTrm060XxKjDvOVQdw8YXFkIJlIUSEO7eEpHFxmmMOCbV882BOlMW8wMuM0k1xEhpSnqRvonFqDnG7NpZo4ipDZxFwD22TopWi9cMb0Wbk0mFWqOym/oAraIlF0rBbKUgrR0FggK5sF29bKX/l5KJ0HuIz1pRYFf+OqQksxYMX45kO+pm1fKtEcjkjAfEud5ObF+H1z4Q1EmMCMdLEAirO/0xCXsQ7GnzpV5bMcA/f0+Z0oPBz/ePr5cr5So2/5oJ2yTk8frge88np1Sa0APuPqX0nzxlt7iUQEGspARpKmnRSrM8x/pKLcodfow+qVMqO5doB16Sv22p3xsmNOC2sO1RHAc24eWosHIGZUJ18Fz2Zcy9D1Aid2QR+FRpkxItq7SolAsyk2OF5pep8B9VYhsxEofefQpt3eKz75ZyQSFtS3yVxLJRwP0R/Wt9paY2rw+0+r9x3u86k75xybwpMKydd+8Cyit+rbzuMLta9sbB4Cs4dSSXPcr9qUKjZ3waAOTyILQAMZNRNJXFCmi5L4T2ERMGp1HJfK52r9SjINtDzzvAoyL0k3cDumX23u4dwLfSaBnlsfP+//O8O/77NDBate40uZO0mNsWs9EsO58MKBAiEHoCYbOdo46rLXh9azsdYOrz1i0GQGWivm/wQb6fenWLUPlY2nY8jVF3V3/FZc8p17XYbg+JSh+fLy/eo4pqHZlUBxDxPByvfOdDfnxW2ydD79XwjNrGvI3HOyvVLcs0a7KKSUgZazpmMoNpEPjQ58d1WyoHCzoHW8bxorHIgL0t1FZ681DS5TDQ5/u3qTUUmsOkc4Lqdu5sKvm7ZDY1LqpUNnGFZ7OoK4zYHDZQOimVMy6DUOjCqQ7jQcfArFicOoJLM2rnPTZAHPXEQT5xQCTKaRNOImqGIilgrJAO4f1WOVVZlMZUsC9/DuzG4kaIOEhisY2QH9/fyPGbILgawrJwuA/I/tTVaeLV7KYhZfJRxl3ZcoG3E2bfwp+EbDFc1O5ItK7jAuY603tFS5kCFWN7wGy6LBJwMG6uiAewgLTnYjQbr880daKRmbhNDRYFtNcGVsaIQ9wujjeoBXh/juQuz8KrbYuGzvfGgkg2jqdFi+Nj9g8a2qL3nvQ5Ibw7+uYlRFsDF/9yFzNnYT+SgZyvrykWDAaITUuaiU+FZYCf6F1MCshy/0bZSoVOcHhZwHbJo+qrJWShTcgC2U5vl0Y1iVp0kh9rnFW25rbJZjk3JxhMSricBpNPxJw2FhaAsxBwvav1TP6uS1cVFQOjbTpNLfxkWjHXNmvbnWQeTetD30vCo19l55+DoTd5RfQH9HG/jtQt0LimvmSfXQvWvUI8UrJ4ndIJQTt7QuqWbhCzcsYmudjJzU5iTrWgXVRiH0hmPedhXLFc3w7YCpu5m+FVZOzLzlimRsXyi44a5a/skRAQ2sNDA5VGyPkHaWaqL3wQ/YIpFySZa0EysFxNkRbSJf+GKD92pcwS8eGiSrPHQVQK0uwyk5pVzc/32cFeba6qOZe+o/wqWdd7V8w2XUmXwNAfZ1s7vb+p6Mrf2kgMIQcFXVuu2Qg4LERtNLfnwSjPVZkdpqZDVdXja9dc0Gvzv4IP4rwvKeuQj24xl1uWk/d99qB45M2APGqYZPt++yUOzS+Lnpq+K6TawMnWKkkHfDxrPAd8MtKbBPDYBvOBYbu4dgyTcYKmG67oGttM391kaf8vrA4pbYDfFu9f1w3L0rULP9noV8UO9IkEbhdxK9b/f6r3rrIx70dvr/hkJJbyRGbU28U3/673Cw8EMO728iRjM4Uaq3YJbU82HGM3wKy8rHxshaTpzi1tZnWddbQ+fRxLR/rQi9RQA5hp3qzqzUWFj9V7GNOs+VBJbPWVmLVUlyGL+zc6HqesAbSE+xn6e13zh2e/Z+/avvs/GFQZMJllNRod08ZzSdvzC3SXbQCRHfzZ7YAYFusbPkzfGU/ag9JYlhWLmnGF+w8MfVdh6IYDFZBZSkvM5wd5mKlj8l+Q7Pkc6t10JyDmF30O/wyIgJBsIXSps9ivnf24ABorIldJh7wqstawcWkBXSDx8ModGvh54OFuwufnHVK71Z7OqRgNXasKtpGs+cngl7pV5aU3Gy/TUOcvsOpuiupcXyNTR5uAQi1hBbW7hes5RoSC7mtpNkLteOt9vf1hqhItISSC96afJ1NetVYFdgTl9hMR8Lnhvw57fsnekMqkfqcaLCxhmgD5PL3MDafYtYpnsU/xRprDkAuFnN4KqEWAYVUnkfRZRFfo90/W7sN96NMyHNCjNCB6mcruD92Nhx6X+QA0PTuV0T5E4AURPz+jKLaqaHtsTyaZKesijjFnFHQrKR1i7IEsvYqieRtKYFeemxxpVknHCmEGbWEpY0NNfJLWJeeM2pP1Fsbx6YKSmrhxVjIu3yXxnSbtAT1qehwdCXoVhplAqp64yLOXjctHndznfLt1AyInSiCCIkXGk7ukGp9Uzt4SBk20v911Y9OaShTSdFZ7IOSBHmAW/72e+3gr8u3ahLWndZgx+BDP1tgQE7iPkCNCevuRdD6YhFvQ64K145jLMBh8IPTHvdcFGiFh+d0SS3VHa/cBEfeGhgqH2gNx43H5Qiumxz3RSts+IX191H1tFLLn9UL94vWj12Q5Rtsl+e0yLhBZlhBLfd05UVTiDj9s9d0LykEAfcq00+7VBVhC5uFBpy6r3VdBv/AYaFcHFurgZT1tpGCQht1gla9NWmBj9uZi6zP18do/CW+UQkHpXmi1AUXj9gVVPU0G2wy766plO/aGfG7BbVxaaHpSOOe6lJ/v3jb7q52ddNZPBXjo6qE0icCOyWao+cVzsm/iRh6YD0w6GI2hqoAI2fMXUgfc+YjhtW8lgmX8guBX2MpOSq6eo6wdwXDfd+u2YtoFl2uUGAGajIXMSeaXGRRFmhrKs+IiFJSq+NTZXEFyJFLWXrsTuFn+QLLH6sW9aqQ56p5mSAce+8vGbivItLKrho3RmkFx8BgmdURIxchXCtYGRDmKR9kpX+78KCAmJBiYQeYF7q+mbaANEWL9RqhB5ob5v91LbVyLb4n8z437uuIpiR+XIJVMfDPBVrl85Bx7eempg+ob6bmD03bvzhvzlDlVcoKKya82OdXRLk9ZIeEAtXUEcnEjCoJVtodmEOtgqphv9KD0ElRkIEHUBNwZOVUcyIhGR0yg2yAq7xtsbvWFcxnFMkw4zYM9gFAV7GoVdwhZCcq5xC8Wfv69fPzz2vCAGNtXVjmKLejSF5matB8jfRi1Ri/5aheN01o+LG73wHJ7ORsTyFjsFCyi266YrsYRQ5KsQ7oF6OySusaWIxzQPZ3B1Ra+HiR/n5kOs1Z9RlQ3JkeBDG25j/wMcZfk+17+CHmlWVR1hAVJA2hu4MjIuERrWAE07uPo5Quu6pf7apj7K6CzWhlggqPslpVKtGSXtSIZqJSq16Hz42qk92Cq6bkeNpwDMPUw17ZScBgl0JlkibJpxqNfpNajoEyqtM+bpAZmmt9ArUIqW1etnK+K/P7FcrVTKdSW3AgdB1RMEMyKyZLh6VMH3jeCoIdyva1RBQWYyKic+gqxzwwjgV5vwfqcF+VCJeOhIfq9guRqRZvz44WcOVcxoV8SwRjlkPB0EHTMOLuYF/bnRHgs7/5Qrl2Ob+qFAjj2rvmswvIyrCfbbbYQTdNi+GYRuU4RmXAJKDbNqGKwLaMu2TXqqtD8zuGmWkJyAU4FCmhpC2aUNAAqNt40m8deNawaZsXy/OF7659yi1Th6tAv/2mmSRqeCBQfWkFbH8u5Z+EX3n3Mow+unpSh7QxGctqKBQULJhrHlvx51bzuPZv3Ngr+IB2JRt5LJ0ruCUjUl90Gqo/cW5wXwOiSGCkT/tptRv7Xu4by6CVXFt5EBDWoIZ9j55uHjI3ql6Bu66H160CYQHHE1e0wGFKGs784d1dTK1reelf4t6m7pHFHdo6fs6YXJ4qQBQuKKWqNLcaAyZBuZhwmNiiMOJ6HBKtoa3PKOynIpmzw8o22FgF4hfamrtu0UWgI0vEjXrUgSUwwcFuKibqapIIwzvhLwEN8GoRvKm4ocjhiRSskJcYjTbvF/nBatyln1q6unpYGSJO0LAauYBAxQpkTktdZ2Y8v20fu2qlvg5178AXtCAJ3RrzQveIJltjRdsl1IYz7oOVMGXqLMzHLNUvgta5699QZrt12DliHsrSrcrXpe4ldnzhpRDDcJZ1Pl3tM+MwQeIrMxqzveqsBkxKPK9NX8bKdAx+uHmc3aV5S+EjWIKzElTabjk8ydqNSwQr9lttxX+F80qo+vj/vgqt5AOntGAuulb3kjktT6C6A48C0Xj0ajjquqtOfFfQrN/h/LIMEVSPsKy1t7UPevnjo+/2nhT99fDGJRel7xf2fZsQhGcZ0YVc63m9pO1xfL7Up4Bvzvn9M2frnCJPGFEVTM3We9RGFhw3igwcnbWyphkP3vQbdOwvZxwpbL3XuOsY4IKJKsY+bTfH8denXV1O+JsS0DB2IbTyZ2W4DkaOI3gnw9kHggFBU8FT+VZx8umHpmG5qOjmdKVAHtV+0V3+/fMnc6WyW0B3TbrsKo3SkAkek8ZDleyuN93ePbJK0DLwK3AqHHipiJpVbQvsnRodojaNw56vWsjxO7Aji1AmAnos9ryTqZ7Mf44L/GCweSdf1LjiH4/3vLA4YlDd3wB63UDYIZkydUw/T8TqFCNJiOjlaB+UK61XIHdLbTDRqR1pLOWdwLwyvJ6AaewK3REhy+hfAPVgC3ZKCjfpMG54vBX4N/eNBsusQy93pthf8+E4eRp5WhsoScSk5uxb3gNalFzPTg19TQuhbfel/DMyakfDnmFh7AqtIaPEEa7GXLI63ze5Xb4D0ZFIu2u2Gr4ivUthfM9WWulYAm5g66DH1fkhZ+11USv09ca3V+iTW8QBOzBTwiSnK8WgzM/P25+GlQ+LqfQT9+38F1+TNbQHOFg89sTLYLA5Em8EMYc5XL15tPeq9b4SjPQmpG/ojapjI5qq8HCDImXER2CDqAsLYSlzRx0qua86GYhSH1AWtqIS/WRgFVL1SyE53v6/LyXnPE6r2pRbH5/v0OhSsFw6V0VM7LZErScUUU3OJSpbiSbzJEj6M3iwlGnkhZWPhech/Wxbc/H0HR7UMP+6TlQQknZ6lFrVeBf7AC5AxDu2eHh3SQjGEtAQRSoQX3up4LWvdJBPr61CrsWBETQYGKCWJ/nJ1CKm8RIk/WIRFKczXjTzm5D8/FLKLr4afDh5eE5zGOjZB1RwkhNWeGkaf+WpwvtE2d7UvDyUiFI0kCdkTsqvmIYwDg8eh3Ez9nJS6nhAdbnLDCCWXo1BL67xWq3GEYQltjfx0PUdM5Gp3u2ULfFgF4ldyXlnHcqJsft8nx3plfYCRuyxirqqKC6GSTsMWKm03oIhrXuICtAaDG3Ym31QG4p1AtS14zT3axWMUZF+QN29xIpdNQIi9MfxzKElxDlTIX07AqL7KrM7sitNyi0IvlvdrlVIE6rZjH/vwFjm7zUU5x0hOebiiMFsW9KsxX1bMZ45jGRGY2bOc6bYf6VPedZ0VWpazfEXSMVxUOK7YrEUrKRoUivNx5pdPgdhrXrngfJjyyugW+fV5CMXXobed5SeE6P8jdqJImpaefS3+7iE1K/RkUtxKFWZvV/s+LCRbVpwCz/86T0jjlaeqM5VM/fE8Pf14M5cB3V++fPQQSDOW5VIMNvA8bx7gSBMjxolpUFcFAdTsNYPa23r4PTEtr6k1PCemSIUdZUAAJWXSURBVEcBLASPijY59u7mRv66NpcOKB7VM5d7AeB8QCiFl3o5qW68hiFQKlBUunh2K95GWt+K8UpuX+0xhYfGhwcXR1vfHLsyRbazeB+WUjaSGi6Jsd4AmeWMmjjmg7xKJwamaq1Vh1haFvLG+l4jIu1RmiZz+G9oSSC9sepl3UJXCaX8n+DWKZYQBwzVlJ5hA2ew26cL5pIT43f3hx1F+0ja8/p4f2WkNmlwfM3Ha1tFiDVWcBdpqDrL9EKQllxfOl+ZVlvGda5T1d3Mydh4Dx1InS5xKmaVmURSbZpXHGSmidQMhyRoniASCN1ylPKtrWcXV8jD4hgnRsi3nvgRPHL8pvfWPut3TL0KqrxY3dFsHtJpRMGExf5Lc8vzbEM6fijRa5HCYjcL4EXly6BmKiQJswuyNO8h2MpJRDf/HXveIZ0RxkPffL6H15SbLbVQCcQaRDLauBHS5QHhdvuJ7KkpzIUNVA9HB+dMymiN+OIVyIQVPhyZru/VYer4lS0lJ9t3zmOnQdT9Zg2wMiCFpRs4JJhpLdAUHRXey8XJEfuNGltUOuRu39oIjLMlKWkpm8jXbrKP40Gtdg7rbWihQSa4KlaYgro14eg6Zrd4FSyz3EMFMzueWzB8ryW7Qa7l6C8franyJ3z2behHG+tdWt6nkBnjuCJTQiCAqeyQehvr1/bxyCqAqDe6iH1uPWDOhW+gToBTungknTb+luCFOJyqNlBa3t4RmNXnP3zI6rzcu34F4wMriltxSqVl3uJZYraevnzxSJk/awWwqhWtVS0i8rrKAt5r3W9azDEMs5NeO2gttMX3tTWs5uRFcq32zdATY/SROEpC7WszHyziB4AX+bWEwIVmpcJVyaVimXg4GdDkBbnl8hLAJOyC6YPr994nIsET53agPo8zq7ZsWlHcH7Zm++VqoYR9Zv6/aqBxMESSsZsIlOhST33RkjMAT1dmo5vVoYAv0xQeXPfVbNW9/kfmKwj19OXltK5SpFQpuyrSJk8LK8ByMDja9pEoH/CDiYKyI3dMWKyPOtrmJf9Ghwx5AStGTezgXlTgAiMRZvJAOxLKP9SkCvfAamVZQeHxBj1yhwEBsMDvuhdrPCBb1LArjGckGBClZU9KQ1Xq8nSwZYwECSBaCVEO3Hof4b9ktEJMpAgXqpOid9iR6xf2ywd/HKWVEOchda5YsVfwBo6acAqxRxggXXK0Julcl17B+cOGS7pXMPbvGgNsTX2rN58KCbEvEt4A/PdVElLNw8icEs/SIbS2dO9XBnsVrAVR9buVqsQ6XB8KN2l8MMDHUKuW6bTTmm82tnot+i0Z1SMa3zuNYvbNS4+U1VNFAY8p8r8iF/3NbsoOHjq6QbPJA3UhS+87ITpCUDLBVibyUMOFTpQRi0jBg2xG/2oLbd9g1laFSKHK3k+n36UpMV5Gy0FK4TqdgkdSANxZOdlRadW6OIlADKYr5K2tVS3wBjOr05iJ5QwxSR8iEOqnKbRN5fcxDEqNrMhEGowvxx2lUSPV7JDj/7P31ZyMdJKJ7reksxG4I31TkL4Hk/PDaaILItUFJJTYE/uuYzYxrbUTBDBi091GkSXYeESNqQvpMVG81I+q0A66CTqKWNOtI7BZfShgf/980d3QYBaayxy4StSW6+q5PYQ/doFfN5vEdI0KhVaQrIySG5n5qif2NEjjS3zvAZaocmVb5SmWoZ+yfV3v3TgFotAHhgMsPC6eqqrs7jMfHztBaMHcauHIY3GhYWp3L26Itey0EprUIUHRrsNqh/JGBLBazwRi7MmGTBUolud7g9ROdBSxBf57ZoIQLgTczQBBaI1u5mGnLxCorcFMgO9poroLG5Y8cAKU0AvXuVnVYcCpbGrmvBOfIbjRu3Lskr9KXNqmO8rtfhfAtrDAYo9bu6Ij6BZaZldMbUK+Wd+GcZSuZjxkrz946TIahUgHXOrz9OLFAWFRqXCs2/K6X7gAWd5dEu9OwfviwoWcHfJXIYnz5x7W8+oXWTMJkFslv1bsTpfEzRGJGvAe7kQZzGMb963D8KhxFpvBTGzvRRFeWEQzGUJxTQcsNiS786FOJ6Ojr7eqAENSUbqhrJrCAf5qjqh5lbXXHXCnQo0mDbuXDxs7oZsSi0n4II7tO+K2bEIntTmzQFNHkbqu7Hq+uL0goUfrPtYFEkAPgSkLm4eTCVZWdIdh56XSvzw3dwzUAknnXq66Qd10Z/vGMmW53kynFFgl6tX2KzGQuWyF1kp1Bc/1xYVD2iwU2xqz1lLMk/ogjVTedisZLXBLkfbzgFrqrqIYmlbzmAiw63NqbxmRiKDQGO0umyCmqUupW6a0zbIkk3daATTf6Yn80t3EbCjEUrrYH1G6z1S/kWs0MaMRUHPByBfuxdj1yDtEE4hYvcYi5k4pop1U61ELXfs3C32Zm6j/8CQS9sGShUjJCXcyZ/rsulNmwYxqJGg21GrwVs6CkrDH923/u81ItcV7LyvwwRL/4tbeSMHLJm5CbOxmPczF4xn0Wbg4nve0VGtTSqS2fRyM26Mzn01WII/FAxlUihHceBd672hDoqtSLs/vVvc6MrCAHJQFBFxrkkvpI3uPC4OxBqIgPqj7H1eAxmNW2FAcSLJ+ucxqukmAenvyCG4fMHxymel+e71e7FLJmv2KXXNIfjkSuxBOWOzZofaPCAvPj4geMXTH4i2VkgyKHmmX9FpEDX4lYjWihpMq+PQPaCmWMkqkb24ehsGQGYm14iKZPoacWdbqVyH3ZQTtCIpgMSfrIxOfs/NjKgyJPfGls1ywUWRBrSIW8mi/rXsjR84AXz0L5lCerUOyAJD7r5laG6WciNRWL5lYeIJDf589vYZMM+T79j476MZMz/BmFGysaAY62f+ZVHnrXtKAhXHXga0gFk5AO4cJ4mL2yTrgxhHSR9Sn3g4GWu7+gUFDDm1oD6aJ8zbd7fhwX8ainJowSQDONP2lXeUNS97eblTXA6Il7SFTWsJ+OxP+HlvwgnHCs2JJJASV+F1LSM2CLvIlI6+AGDMph4TGjdM+2W+4vCEC76nVmAjKXPAZEnC82Qi/u2MFx0b/rqDjQ+EORGxKF1up7ku7ZEzb50CW0FDrGDacjfiW/flvpJQz80jQzcB5KxPgNRmjnxDJEVjYaZeODbksv9P+ecSsAzILXFAOZ3r/kx6+TSljourJE5nAPGLvs0TIc7Hspyr5+XNCAZUBbWdQ2168y+VeoUuZBSzZGcKujshrg3V8F0XlOjxaRlMUF1PxuvxTbxnHg/Q63+RRijKmpFVfZgAF0mu0gVsbenMbrfLdN5eeoqdaLagbS1Hb7UEB/+9kch8iJZI2T6/mK7WbUcCD7quwhaoB8BrwupdaE0GrlhyLwZkF1MiPmunJTeDesOHQymRs+xr+vvJo5bNx8R1VufLb8ofX/uVHQdHjnOaYt/mYGG+9FVMa5LuZzdYGNqQc4DPGKvA0UvRHt2RXmDYdymdXlJSChxPB1UWKS/OVjjqPfTs/mURUs7/casy3IRyKHnpkNjIxtFJNQlIca0kNbQ/PI3XZL25dwDpbG2t560VMFcXL8xU9LUOqbBazGdnpQC8bDpcKQ++KqkCuFOjWpBo9yfUihfxp1VLO3m2RPOwvPIurNUyjCgUlJZx55EoGdbZqyQG4D13Z9xYp1Oowuk6qOrWyRytHUqKgEj8BXtJsdbzNUrQNHpxbxSKa/TmjIz6SjTyuXgD14TR6Nz02wZi+6T2JSu61eIZ45s7XVzMHOks4pSNDmkx7Zt0vW9m461Vg+J5HzF0MSQ78bYcGL0NU3RQv5UtahsiyzfLHyS07jwO1tc3aVrJKk+igunAs9A1LA/O9WTbQ3LL3bpK+8S0sDK1hhfew6EboXMqdgsCP22IvEtxLX2R3EbobLkOXDAfsbQLNv8CwOX8ArjX2Mu2z/Ztqa1K9u4isre+9S3d9uybh6VCh01XlCRgUewscrH1xp7dhOStrJ9y4NCfNlDUtoLmECyppgqtLmFcKS6LUs9AXoprwJYtmttFaCToFdHFwikoKQ6/LP/Vmjde1PEHWbYJiMQVPJ+og7XEinBjlN8kb39DnHGxxTkZfqC4WnT8z44PDXpjx4ZqSCbs1g2ohVGygYQq0ldPZ12oPC3u8X2l9VHYDAvI3Wi1DCuel/ze+PKYc1PnIrC0HezMY8Mrnx6TEOfl3gZsNsRrQwVwSnI2pEbj17IC2GJ1WTcimNJ1qu2hKeK3QTkwkk7M/KWXKYrRz9UcjU60kMt5QqOTQfbQn5Rhmf6zXmAGO5sfVxlQAHMmD+rIu9Ps7ndqKkAcUyKxmILYjuM0IgVjNMgKi3cueXBGCZf1tGdLKYDZBV07pO/TYClr6GHDROUQKTzli8MpH28gB55zCBhHmIhUo19vAiTqakJcXVzC/CF3IcmJ1RKJdTBcVMrzcpH1usXulwAC4ctqME2Vhw5vUtGaknSYcedXXN2ukd6GJzx+AvEFd6hX0eQFS1jm187BI9EWEwcXT9aY3Mag9q6DXE1F55AtfWMlrfWsQFpPKgz0QTSBOvBtdsos1LfL+iDVGO83fXR0FdyowZSFvz9d8UaU6OInTTHOl1ZLlvy7zjMvX3YSrrvRW8DqkU9wf9ZdNz+gjRS91k5H3HWHd7/zmz9nEj+4Hy81Hd2MzE4A4O9+AE+IkgsomI8Ka3Ij8HjpQf+i6sb11rLhUEGAHtvoWuJUvxzojFEh/wERbyiosXY8Kooxp/0UJtEv7XOG02f59ecAgMBNXiNHE7m76ysLhaDKKS5CScur3+gvldoqmJz/2mJcPOYDaJByhOolpyad3odra+0tcUqfHBBLNOMMpniBExjPGY4UCoWK7oACXBUfTgF2nta20rH8RTGl6XURXNeYbWa7YdwnIw+vcsV1OkXfQnkgFLiPAYcYVrT6G5vI+/iJ90gwyJAiqHR84ak+m2Mds44GxEuwqSutH1I7c+qasXw/E7dmrTOxvw8/LJoGl9HZLXbZUNt8fChJhSU30Yrz2LRS+n646zbyDXcXdhroAzzq4NjeOCMTSDhKJWCvoXbd2pL08urQpd0pVau4C5wCKOapgHKPFUADxCguX7K9xr0KgmEI56MgReOZCx1DMqM93t60A7/cJYsOwYw0uitdgrGqF5qg5KlN7eMJFLsTXruutC8itY4Nb0Fv12YO8HjXydlTg2RSU1kPNmJB41IBtE61Gql529C7wH602KboePY2PtzkYAm1enY6aj7KGx1iNB6W4AlOJbRM2cJVWSI5Qnvdz53wsThWsjn9iUqD/Fha3iw439Yt6k5ZLsbaIE0k2ItdUH7cFyWh/mndNbNpZ+pEsIuK7pT6mPmWkjIEg6VMGGHZx5tLOazunFoxijtJs8ystd3aaw3swmI/aLzqj/zf9divSfAfJBn9550TDooj1PSeKXHsrmLDRgSUPYnY2eKvD6mavgb8AbcpTeKPKnBOTmg0KeGH8Zn5h5amo3G9WfrqU8BpI1dn6qj1jtLsWuKVVvTKhXuDBEijGDA7C2u+vgYHTi79/JtN9/3h9zByBV451mdnOHIeUE5Fw3ZXVIJ5ezolNZElFRBNMzso88DT/PQOGMGGD8YYOczGVBpT0jGW/ESBv2IkuZTQXlYSQbk1hjx2NT0Y8GtW335EXkf5JWRlDBDLli210PY4Br5qnmOuGeWmxBkdABP4RwpAyLCN2oOwotn6gAqbK1s0uIxCSvDBFnDo819hM9euAYu6nayJmTGzu6tHDEJXodgoaji0gdRyJdxhjLXeTGqIgtMkKLOJib3iMyshG2kRXUqdb72XcfkXww/NoSp8pm42YjbiovWuUVADROS1EmYgMD46LNPJU+5AyTnWlXwNw3+dAxD+NFNcaQoLlFlKNmhQMjcUmqSnCGR4qcwXi4o2TL6xKMmtVPnpqeEnXV/3SIAo8f74mhV69tsKGdLUa/Z0YJ8iXkrWIKsOWraQpCobR1UaBUeSX3fQHqpzF+q9LZ3msh1dDjxIOLC9dPDUsrv19F62i9jmyTbFSzuIX1WyaeF6JP83Z/1Or0o8VqaP2MtWftsSEeSarsN9r7ld/DkkDatUU21RQlZK0lX7NxUbbWeMloHS8wFtb8Y36mQS+LlQJZmx5a2s1TOtP869GMndM6K2zQY12I+9XmKimBu/kvMs6zvu+G0Acjjcd03DgkECpuYRF6uajnQzS53rjEiPELXf1x4QLM1BdpwwpajtQfypYh+zPxcjKbTnk1CI2rwGDHePdLpESbd7MUibzz7Jss8fWj3/YDo6VpgODZzkiIScxrmXRynXWMnXa2lH2Zfe+RRHoXLUVxBCqPUdLG6xOMhnlUckQOnh9s9YX8dlQz/m+tL6FDkN9exV/5Sc7oSw3+xCiDAh2US4kClB9yu2kT7cDv+vhWzV8Pc1Y2doToaC4/jLBzVW7byw/2vkBKSr0so7aAvhOviSUkQQQNvs/i9Fugzsk/Z4pZMgYUH/lTafcX6QENzE/jv6kDXZlQrGD0sUoxWg5IJevEnurNVGD9tDff195b5cpqwwFrMq1ocNtrFsWdT83ry+Queve1CX+81ruNviwz0WTDNqI+OMlGd2dOB4Uv6o+73jrP4zZ8kDd4MHzRa5tg5gJ/eXJ0cL/8x011XsKgjTEc1VWFiTs1F75nmzC9XUGIjzcwAoMTdQe4UTkrMnDyk1fKZ1zW+GEytsKXHlKgS9Q+GJHAK53NtT2atO33FxGYdkdRrMEbfm2VwxQReuQrRQuadTzJh2psz3XdEfSujXVSoi8wYtvFkksavXP7jq7DOj2W53YHg6Ia4SZ2seepMa5Q5p2GcvN/hZ3Bvvr/GhFgtnfyn74v7jT+qCCQG0ZBCnbH/6ZfHfCidf04b39yfSt1+vjI5vN9f+dszSfsy2W/FlBqgFy687TH0CfQtaddEVo8NoMEBZsr6s9MHXPqWHk6Ch9UThZhT7/BG6IQwZd1IUDqrYea9P6NBtn91/MVuYEHZldKbvA2Ar4etuTSrQnOStgtXMWBNsj+QuRLd4qizN8Mlo7WkgKZxujCDtvt/Ck9OkDYvepqde1UWJTwIkr50vETUCo88J9u4rCN0Srn+qV4NTgnwm2cANGh3Nil1YvZiwKXPCL1evv71mHMyAOXt1za02L9TYq2zT9/DpbkCwPixsxpLI8muKISWD5szQOfWaPLxA9cT5VoMayys/iUsZumroUKCeiTRoVc8WSAgvEkPfDRuljN1xsL45WCujWl9nkknfbiZCeVLZseri+y4UtSChn3qnM/nzN4XGrqsuCA3ApCa/KIcqsRNOiup5ZeI5WFXYJY/2XexaBg/Ehuha4RQ++180+wkFg19ZjQvZocip0FJWUtZQDv1LFOJWW2DVR2LV90srJ7H1c8QABGgswCqFWFSFUaiJA6NciwrltUQAtgG1ITDVsow0nIB4hav0uqmnNl5nYvomN6hrZC3XKbc+vwgYMkj9QrS/tG7y1xM+LKyx1HksSrUoL12tCpDYEdcqCq4+6RVPpLyR4R8zzUM3c5UAQ5AC6opY2M+DGbAtaczLYhD8kYFKwRiPtTv3HRJGliMQidfUasY7H1r2X+bHWTOncD8gqQt0ktkt1FKlTW+m55F+etqXVkKcy1k7EvCYDVp5aibEUhqwsvTiHvDw6xSJHYTcw4wkO4L7buvoaXxQ50D/i0S/SIHjVblx9i7cqRnSqNvoOmWKdqFDMal8svle7DRJoqiKsjLqIPUdbaBwbHq6tpk7tj4Yowq9zsr3Muah6NIQbNOYozhkEnipzABLQCnF9bt1WINbm/rrkCxeg8uWSHKhEI6v/ylpfocHjOsu2IoKx42s5dss3N4VEGFaeDh8OfM+rVO0DneD1qFp1JAB6oYNHP7fypeaDLAvX4PPRo9GE8SSg2/oCdAG9IpDPu6jkWI+3ovnr+/X+wVO2lKOHAte7fxHuBsx6VPf7XDdf376cmxrrjlcuJOxFqwNPI+sjG/mpA943sBR1GO50drKOeXQ2+8w7njQrMPV6lwU8tfbacCgobU9HV/A8aXbKHUWyqhbYn+s1e6Og5he2g37Y1shNzgrY2T3gAMStDU0Xd4au89wtl2q3m/qWE4fFDS8Tt0B0vUj7UKZVqLiu//gVbg07PP3Huw/8PR+brwMQeLQQglD/R4k5doE9NWfQSG/O9fqYTRWIsz7e317vHy/mRadWSLGf0HJGTQ9/8qV6JUkfzmFQPydFbXcbTEzNuwdWVhwjbMdcPUio+G0MFA4hLkj+5cNqY1IRocbRI4jKyEQVoaKBwK9gr8hU9hQFiW5YlRn23afeAcyjMn5cIZSfawpW71ohVUWS/QFqhmwBRzCGoxKi+UuY0KUrR8LYX2N3ccuq+FS38bNd9XKSt2Ct9oEuDAQLssiWudcq5FsDn+wDntp8PW0Wk8sapYXtIsmWLqCehrK13jIQ9bNbKXUiEUQZUo8Zpmu10/VzKxYtF1E1A14gdsQ11TeLdQo0NaBtR9wIcGyi7VYIwPnwuJyptPmFbp/DuGIHSOKPEQGOFrRyZMPWVl5hs+zXirbh2rqtakr1cKZTptZTYvXPYTXdHOHiDI9BhKlEryEaSuYJZFcaSqrV6c3Icw/h0KddwJ/r0OcC96bzIev9LuwrG9eBQeJAhW3dRk99kdyIgWgcEbTIatc6CTikenurL8A5yXUfyVArUoey7nA11LZWoajFEJGTA2aPEJmhf1BADi+IRYQ5D9xRkJfKRAJZJi1jj+4xjYqilVLeXo+qQ+r/bYE3h6vEBrPmDjBpo5pCUo5tbVe4bFuywPPSeKKMTfUd3943JDclaAnNvfgB4MGisr2gqbVdwHOcQf9Sgx9rJOoiyqNWd52RWcrRAk6ibooWIrrLZWC+RRfreViRunYCprp3pZk3yj6lHl5c8g7y7hhyJDEY3LNBdGXOCF8yF196H7ux9oMOh6krG5WB/+T3RfSYJuopqSl9JcVu2ZDq+az9OcpxkZqyp+2LNYVNceiTzKODsGr4jlQ/uhzsbSu1KdmeIM34qfqIbY0+AEH6+T6zHx0io47F7mj6/swcim77PKHMrAT+yjJ/5nYTAab5r3hl9kpW4iKuCxGtlYmH8CpLH3MJnmouJe/HW+z6vc9To6ZIZnMb63ArYOuv2VN8rfQpUPvLZvJj0elbqSEkgQHi0dy8nXESoHfn/tkHlOawz8w5p+aDeGXgcaVpRCTfLNE7F7B9OX+0ZL8xOZD0Ouy7lfQ8fXw5siRNxA2qceTcysDv6p6tyK6Lv8B9mFcL1bi6VzXHimX9XYApuQKry6g52Vbir1W6vH3Zaf9o4ZbvJ559MCYV5kdtH5VbiLoRl8LXDmCL71+KGEOe9A98bchggGNt8yszw3fgl3rEKPNamBhq/c5XtqG1VMkp2MGDicQLzUUVQ1NBalSy1ixPZ1VFUI0Rm/ywjiKzkIMcMCrwcpwO01RingDldM7l5EYHyzS7/dnCZxYxzlDv+2vWZM1uH69kvEwHfn9/y7nH+ltmZu1uCdAXs1Q6y/BlkBZW3xUnWJHHLsmVRkeaeM2ocnokIc9wiEeGb4E4v/oypKALBK4safKFuJGqulRYX3VXVZluvZzDK0kVihq9ezPjvKVz+jVMdfsFcYVJkCiA/MKmb3j7SqJbmZp+MT53desQXlt3vXJeZeK6cwlLrbQX73boCfsyMThbtmQAOQUzOX6ry9vOtng0B02FJPYn0mH9bPzA+ykKrVGGy9C8v31Yd9Ur76yNWkYYMiKlCunKxgqtVQgDGIVpo5UqLvTV5nAOsJK0FLAhIJfoih3gGP3bOhq1smJHjCW7Mt5qj10+4ea5BEYrDoqusmA9Okb3jiYfnCmte3a5/daQCg7YPdPoGDYASIfjI38TZuWmoLdDJ5DZZdi2a78YD12I+qX0BGDJUV1eKZeDy8jzwfu89StcWQjk1vVkGygvkf4tBqltAytw5SUGOQvWCiJR5VrMPHMx19zFmEa3EvRXEBQeWgsrJaU9Z0scbDPi+vCJSwW2bcYqbNKtvYDZVpdhyePBlnBkAgqIIcWKGzAoE5ALx9FgJ3ygoLQsVeGkeCEViHTX9yvzEcZUdsnKFbBcpuDEiNlmEvmS8pd1EEwsXWL76XkmucEhHfz71/k8hjdXm6EJ+2rbMIQth5ZRNCZ5SgsAAM5Kl/uDUM3mZZBQC5XvBwUJaFN1BZUybkqw9Q0itv1rNHj5uWXYEm/hOD/oitEJdfLVucD618lttMrzQ2XHK/Pj8lapn6cAv3brYcU3DsVaO7xgLWXdBihnZRQiZ0+THCqF48HbvRV7Z/gSWbxPdlzFpJbqBa0BQ9ypUGTaUsaeaiNyzeBu+yhPR1ilGjWc2r82gIX5h1NrPFBnijHIAQqQA6Odmcxrt9jZ5u398+fr6+398+3t6+3tM1thzc+f7894dWqkfipik89DQGhSwu96TQgpQVIB+aHz1XNrAuzEFRW4CzOkVzEONqgCsR1WDPS2Y8ULLupiib6PfNFSkelLK1f93SGsY4CuBtTYw9/zeLs8uBXEDgXlPS/WKuWl1YRAFdfQsPhA9WD7EfbzMJqp1N8Gqa/+ra7PxxG5pQWScpVXANQBgfflmpT+KdLPSz/bJh7PT5R9Vaxe/KKC5RfgX/UsrX/dvCP6Oq3af4R1Zv5Xl3EBWVUETZzDcouC+llots3TbTvDCgjixnw4y3xDMsO2Q6wWpwSn0xciBUnbftqtMLIuOj/qv3cWF832v0VLeAUJJXWpKbb+CAHad1ymQd6E82fJxvyO7aFWsl/no5V0NmwRvreVNB1RPiAHFfgkqnJEUlMJSK0lmf9nV+esLYSojPdyEPsHe2LFxLN8zN7chGui6O5H09owH7VP9EsUQ29D/rCGcTvl00b6EDR/Sp0djuDtpjGl3BjcnsfrC4ruEeY9icH7G+yUJHIVF3jRuXLTAIln/HTKAHcg73lcCZMOC8/Gxyv/DyPLrPBlqu+pQfQ/XBJ46oesBb0gnEwjtQQqSUo3jS7SGOlI+DG8gu+MaCaxO/fba6rE6U1XCexCOcoJTZ/jEEd+qw2JI2lvVzAOMB8f71/IzImOVmgP1qWRBNUKdOrDzquQMMXSP7mppqQhIMGQ7FvLkiAK7MYbGkSEqPT/I8qlJ65qh8GiIxqaJg0Vg1oIpQ21SGMrMStpMhcQKwO3IaOCdi9ZAeul2bAiQNrykYDUIZzu0WTFgMp2RKdnomAsyyFMNbRERpTay+i7aBf29xi2lRfFmBgdq7bt3okn5daIyJnzvLq0LOUtPi/5AO5zbR1l569LvvznzeYU1/1VEHDfJztymP+WIwBdJd89anzDluj8436oc+VCWJjlClIrcwlvhaO+1I9KYR6U72Hw1fwWo0Z5BtTbX3MpAJxZu1rUBe0mlG8udPXQyxx0Lxj7whqVyli7AdExK7UCShaTIKYByp2d6Jxb0NBegb19+KUU8tMp4wApaCjGmkaDb3V+TVYviWR9bdWK2NsBzTitXASuSAv5upfDXP+WCQHLu0QP1iCqSpzqnG8nqChUVxtt744b88X8d3FP4YXCFoeg19EkNUQCXjrFAtjKtnxa0vlZSaPdOpLFroIJ1eiukfhUDlSImtUszBfKlQnLhUeRBIFNZGYJSNI2zM5Sa2VM4x9HsQZOItQwMBvv4C5JxWwKnTNgWJ/TeuDJDNjuq+mrPnl+L6woFPCIH2D4md0iZr7g58/P58/b58+kwf/+/HzlJKQf1tSojYLLZ2ZNf3Ub9JqvBdtWF6yL+q3CIvKHcZen3YDIDcqXNmhH66lwlQg3Q72rGa5j2JLeCDWUiqvlJeN1VzKoOIrChY6vpsDUplnYe61Fq365BihBv7M4Pjh4hPRS5cdjFSRvVyhL0TXfQftA9df1bPFBpj5feb9KWaRJT+lKU5YoPgZd9YyXz33U/GjjOCielRQdVKmAnTpa6LB8+2BwgZdAdynvk+CneUJQVqu0b/FZwp8FruOwV43rFapNOG2r50/4sqbGKOKwbpKufN9wbl/WRJ6kG+HanYEdxjVUuIA5Ini41qHPUp10Yj7vBVRtFcDEid/i5grM3NRUQbP2aR4EQGbznP2/BD1Kj/weWhLTCrbMfXt/vWbaJriRZk2Wm2e4rJn8zKP8P+uBo3isG7JXogKaPf9DxmAhkg+bNyCZZaO5kP19FhyLpeJhX4bRzKIfWXArRaIdaWUw0HnNfYMm5agAhxp9cf+Z2wAzYK/DP3w+JSo+TfpOoLzIKraNDQUWEVr9lcsLG0WtiD6ddkqeFk5DS+buYnVpZ90470JvAjalh+Ct/QjVD79D0Jqs49BXYu42ujCAB/RpQHhdehMU8vk0Bf4PGzu68N2Nxi9HVGJrtsw8vUeGqZiJcX5J4xOTH+z2am46X9LxFKI24j+k9E/qlat4e0oOhpkC7QU0BjiAUCNFV4KRzeWwq9b5dfZVkRYwY4qyHSjlLuV4EKqyWhr5SQhyWZXWQQ95ey05+3dnY6mr8+H8m1Bgq9ZPHmm8OgXWPT2YSNZtZMgueSH9BbI5C5Nw1hwjEtchGPSe/DI5wHVIcd0VTroCDnGWz3fhi+1XXLB3lisBKD/z4+JC6jtTHtbNg2jDlxZv6FqG7y551nxC9VWnqWTXA8iZzZPqE9v7gBk5KZwoKFfUkROVaiIKW9m5O3FIfN6RBLhVcwC5RMHF3+8NDnRCovfowUiQ9wx5SoSiGACI40/9W/kJr2j38PVRpSc1lJX5KyT2IAPGHmr15P9Ussb6QAmIGrjWsyRD/iTRgSU0XPiPU52xuK1YrfatBhzKiZWdek+QZLBX/0Lb6xK2/AMaP3PyUx1i6+xLCGdTrZrC1iL+2dLvpkAa137G1DipBstzy/namiIvJTQF/qkSnvoBvpJ8KTXMFIO9iek9tAre3TaZAeHbMT8wvMhX/j5CAfjfqlVxSfuTvVa6Kqn5CATQ6JRtCZbjFR4BcGP0OoVj9rwEPYX75lGiC+tDbAQwsyQ47JedXL5ipWfs9+3tc4aIZ7eZJNwzB0g9rCXowgrBybpicWnMIek2GXIZghwOeQSN3iVqon8oosIxzst3zGLfXd9Y3uUH8Y88KxukzCZwVwRVLjuCnOrX8mYBYb62/OG7gVirov6Vw6fJ0qodLT+WD0Avu1MRyXwA1gPPDY5a/jVqe7yLb9+igd5Uc/v40pTfRf8GuyjWMCKkEpVrY6v7LT5uBx1I63J+NbJW5RGpllann2yLKzYS0JQsMUmkJR9I3pFPa53KEuqUD/Mnq+PS69I4JIf6aBV3M8mkfWfxfA0NQd4a7hWKy26LQFzMA53L6dT07SMtCaiiE6eAPtCPm8da3vlb+4E+Nb0/EsBLRhO79Ld2dxd2lssIw7EyvL8SX2lp60t5bF0pJojdfluR03ccbeLVeQw78RcbHyqthNi+IHCpCVwa2krj2e9qNvLJDliZBe1c6GQYOYMiSKdvcRegkS2LU0bKQvEj9MG5PP5LF5czCuOgjelafnZzJFtJV87WfS6IcFxwn7UW83ro03WIyHv6S9RIiuchTpkXnOIDf+rSWuphGGAtoczO15/nGc5ezvu6uibwgbsGdp47Hp96jUNSdQZds4pb5ESr+uUsel+V+0BZKNRQJ0HYihvCrcbcgyKX7pRIh4YrAi36VPjV+h7wpcf/ntMFsBLrkOa/ggMyIpkK4S/HDh4jqqQfGyBkrVZNukCUWJyYuCiugAFL+aWQl2y1jFM/C1sh4STARxKwsZ1suSBt24BxyyrFUn/gbtCCOl3ZwCHZ0p16QRRhrsE/hY7erIu4RgBXlHDVJ4wz0noU6+tHoLlTe1Q34gXN0E9FKLo1Zb7n2HGXWZTyeaM2xj5CVfFs0HQOyKnY1MNBrgK7yFJxdFcq54ESrWLcKPnOHUHTnrh1DsvzeoiTtQjUTbRfhqM8+aD3Ac9t4dKBpm/C1vE1+DvN9TvYIR7z09X9FYkLJph0AVokaReZAoITiYTPANnMzWznokGptMwNaoq75TB/8tHgYgkp9BrAlm91K/5TxlME6lZ3kqUz8uHlIeDNvIP6Nqvo6+CXlBRfYblM1nVFj9J/+esBeDYnh0B1bC2+pqavwD2HBFvASMf+Mm1Eg5TWdDUP69GtvAhnbv0+frfvOC2fR7CGyJ/pVQBfhhzqlDvUnp8bFNU0xfMp0o3ogOsEQ+qF1JYIRBpZFKI41D6mOLXrSk3IzLlLsQNaMW1mJGG24nYIyjjpxENlv2S9eKZPaCCQl6j9JxOc506ZHCSN+A4fCp2D1MqIkElIobhvivwRqtyck6L2jQp1IRcnfznAmpZIfef/fv8K3TOZKPmwR7cdgiD5Vy+SJPPWFdIozw19Nn71Ih8AneIDAe1Sr826GK/opL0yaiuQx367Sws5QChvS0l7Sj2WRhCP8dmqKzoXRXsdJ0G9Bl7Cg6gItzKwiRNlrEDhRutOv9d0E1/GwpaOEvl7eXykpZGOmnU6AR719PZtsR7kXT163PXtivmDpL/EDmE75JV49FegGXU6ofMmls+L0bjQ0AoqKBvEkHbqsnyt7TJV5XCBExd4kvo8XyTrZl17VDkyVvX0BJkjbikQ+PyGkK1fPmRrt9eDtlmhWjYJb6u8d7XQeWpyVo4wGaVDZHc7HDW5iFcJclgdQkb++ii1B0RaVQKPBShURiaA6mfNQyNMwC/BHzIm63aw5xaqS4mrjfAepm1v9Qk6UF02L0ifZlr7mMpnUuwM/GYfhj+c/cvbsTJYLFJizjrMeUiTK/MThk01YxmTSTal1rVd9Ed1BfoMstVRTaG+XPrbq9TTcUlODA6XIDViSQovGh41VSmY+nNkJI+fPrFytKxstKxKIGMogjo112mSf01S6Cha+TgrgxC9NnSUMTqaH3sa9PaELjr+brZSYc8t3UN+rulqEt4NklfhN6CrkVHBqXmVeK9jufJMLcDMXSgQk917t7eJA20zNYFTBNKLuZL7bLkKxzr7JlPHKVWIqg0bMTQMoNipeL7RoiCcsDC/1ydVvgRboesEJcEnAW6Ud4btQx2EYNO4DcyFaHlN50AYsO2WYlvEZvPXZPUi7r5DbZQNrMkYeRGAtF+HxcuVdgOQULTB2xM36M0jlwpP0uom8TkdpNHJEliiH1vgu1MtPQVyEFimNNuZXQy0pmsuQXm2iCA/raOqviEF5S6yKxQrmUtcLGqNwMWzY33vxiMhvVfLVHv0i9oK+TI+LcyhfFpyb5MkhCHLJmTzkMjyax96NXA/dD8dSla/0go5sL1t3NO2Uv+SfoXg1KJEyWpoISEReWJcdPLUE+KWUXe7oYDzw46tTdHtIGzAiCutFz/yeSL8XJi0Ck9VgOvY1cM7HIxytMp3Eze/U5WZ383JY1ehqE7EV9ZGQzbd5PIRv4qnsXFJC8p42bnJAnpBYx5xvq/OWlyzZQy/CiYKi9f5uoTTYl2yRUpAVT6OFb0pRHNlboGu6VwZ6AKwy0tpWGzf0ybYp2CdxTYVQxIoUFQQl5UeP3HYGP0zE1coD8W9ysZFBxpVVVYNqdgJ1rQHbVIDSEnJHK489opz806Rk7SP8fsSPIyv4FyKNgEcp79kshybxJwy8wrLkOcHxywjUh/pU5O5Ry95lbEQZdIVsnk4uW6ULnKV8K6c+55pz99fMxF6jv+dQjPILy6INMv52Gxi99KJZxsODCkykNLQS0kK7DqtPKvVoeET6iuNjRUQAdjQV5Tu5Rxs1Zy20o0TDp33UnO9YC/GrDJSK4G8WyYF+lqFw0dHG0+V/jUr27amxkwN3g4QxgdvfassUrG20aZPTOuXu/LfNyMaAtHXegnqVse12K7+nGDuQrvP7zfpW/8Lvl+hgmVRJKN/6GbStDKc4u0PbbW14A3XLnbljQsoxxKugK1GoeoKZIuZ6nNEM5i/Zue3AfiE4MLzEAYaIVNvBddFfsKrzSCbvNeyHApNDVkBXnrzn1/hx85xuqC+aF+5xSQao5SIsJbFDVW5s9JVbeKvNWt1RLk8Ozn2fvgSaBxMV8DhZOJJFHZIyla1tws7FSxuPL7QECCqtQY2zp2wmAHeV+aSfSTimUOAyYT9P+IRnjI/mo8jOeOIAYATmqbd3VMTaBTcwCE21jG3OElOgeiy6u0MKULLBUUxeyOVVT2Mhj0iKSPLgqaizJYkZczdWbRn2SnRAlz2HpuWwqwKhYjvH+5dVmxXD9cFq56oB1VXZMs+v1X4i8zxECuaEbvSKj/bSHIQOk2OfaEB+Y7UWQ2yFD+Mx2xitrUf1hXl/AqYqWoDgppOmDWvXWfc+JLVlsjGCSoRyGjYGhzuq1Vs67RvZatbI7UyDv1DG2bVVdzesm7p0OCx0sUUahEyZKZs3RBPDs+20VkDXJYAXPmiWu7u1VCgtIElcr9Y5fEZqJEVkCQRx7zF9GCLpK2T1moipGopuGFiq5WfS00fyMatGqclnYUiIChY6hEzspTHBGqtOocbi5ccvHKAC541tJdVFwvCqDCCJny2HmrRB2n/IGT8WBgeCn0JcUSi7yPywWiXqZdvFNK2isHtV2/5WFLLazS0pLw/Ll+ytLroU8GpfFrGHWP3aj/0NpsvvCjVl3eL7F420IQbs7sqUlSf70Dm9Uylku+HkD7FMfc/Kt5NpLZOqAC1aFWF76Qa1vVXX/Anha/9y5RrI0cGbKPkvfYgkKZrq1Zx6PUUhBoSqHQA3vpSCOXN/N6eNlAl6oIRbp8uzDSYv21VgczN1PI9zju9dmVvRzibqqbviTKwZU0CxLmgvAVMepWKfTBPnP5kMNfop7P/YFJY+/32/fp4XacHtq3FThlcsmJpDvEumS1QNT4V1UvuD3Ei3+3gIXc6HuKqHX1t6r2S0HTx7iRpSw0leeCXPddqA2xwEpe1XjZFrGFteQ8nYnVkyLbV6jLFdb5hXPF5uyHkM7be6TKysUFnvrQPVJVDJa7cyTcAHKkWiZEyh39jUshFqH0mgQJU+mF0KxIVxqy1dC1/6eMIjeMV1YOKW2lQZVmCyL+VjhKi1FXHVsyul4+ePlIfgp/yO99WZrZcB3n4Zo/b1fUtHKut+xrNHrxOI3xvWbRfyt1gSiAqym9WWrcuCMFj+hTwCzUdpzrquJD670u2//8rdtUbxPJPxARieUTB+b1FN4w714lJ7uZDUGxc6bWPVg1WjUNkQtpTUCrjcY3gjggopqgJj6wlnBKLTfg0fKfyDM4qum7soh2isbaj8G+QSmX7+HjG3Z9VqaPqvMtMRRXkSHZE8RHsiXVhLHOK/M1d8NsfSR+uJ4uAb22o2TInWstTMbHCGAesFr7JJPRBhVtCq4UaicAcSy6WL/nc2RIX/Jf8LGlv18QlP60lRAwds7XVz+v97fUxSzleHx+v9/c/pMTJJ3se0gBWS/uQCc62HUJvjt5EVx1uD8C2L4glqeUQxrXNxypt/LM8nRqK551M0d15X5fNpIpTALOGvSjNy54NroLZtLCN04PQelNBOEzJNIgmXJOrdX+oVYlHFHctOU0NBYHYvaN4CMShCIGvps4u+XilyDqidAkDsrk6DK2LAC7t7f1VPyh9JIwny1aQgLG2vfub8lZjehHp5CnoCSHWj4Qo7RCUJBIJ2BpRW8GhS4VjFVOMBC1/ZkV6ICd8wuGWcql0mLgN2PEMFHVIh1BWrRjDhpwDXHF7zznARqO0dy2KAVsNW1myy0NrppEh4/c2eklhlSuyl5kRLbIWrlIzHL2ipRBkFsVdNPPtut5exut3LLaNGOeEliv7owwM9m8MHi52XlC5Zfnp7mLMIE/ck98QquJ+Dwpd3m4ok8ljx9IChkp6rE/ftgQE2ezpALRg7a0+L5O0NXo0Y552VN46cYuk7wHZVSYvXctnzgttPAR7VrtXsSo5IkycV+hYKJRAWE492yPDL0MBoYGfG50f+JeCS7QLrN/fap1CLWszmNjnlLHxA5BO5ZhFGXoIh/XfJk/i4mdNLLosHKiEz68W8YiqDHRY3QKBmlVb0qIfvpQJtYBKy98kyV86h4X2LNgm8GI+1t5oDFUOXJk4oEOVkmmLtWGoPy2euR6gv0bM+ja0DsX8EoxpUtJKlY1jqqeH61ysXRJXDhI5QF6ylwuikt7N5DOu+lsdZl9a/GMHcPXTDMIlhwntlDzvrxL1S/lPjCqSgaW5mXuDX/ZNQahlLhGrOyXOdbNNxpqtYcQ9a9gjfxdnMy56YEQAVupWPsltGmUYzcZcM3ezPtX0slp4uwqjcllT182gk9DoI2MujbEy8pxeFX7TuzoJsUfdA7K+JVDg2UwXmw0gP8xzmTYZW0E+0/rVMYR+bgCz0OHsz1SHI6eBLN/j151ItzSsUC8PLyNYtt1XqRtqH1bZhXr6m1JW9PUQea19MSdaWREpa4VY0aqQlxzaw1v+f9+9oq9lQ+XkUM2ifYcHS+i/rqcp+7+vKo/EXxoZH0ATk4fZw/xknip42j8Cbq1XEL33vMXXK/PnPr4NrRH+jS+l8xXLlArNSIwL3YTE01kDoRAcAdz6IwgguMR6UNzgARA0qRt7XBCDhvVeWO2jvVOOBOUTxsiB87DvU66VRCbzqPUsQEvu/xAHmVkIUOOURNc3XzfLtE/vBBv75IHXwUbyQPD8NDhox1TcGa2H1EuSff3h/S57IU64TEwBXRtMVMxM5qzmZblvzj16n12v3icTfp8yrzFkIjVjv4lV65JPAtj46UQITWmAA+vLs9ilivGa8Lor3Ziig9GcunIORQaQeG6h1aEO8eJfxFhggLASdMtyO4Pynlu3rfW5rO5ayqotBxOnpOf6liNHkpX4xsw7fIrBsoXD0rOXTUiy4gAu1TYWlD0m0Dl4vjtgSaRlTc1RQK6rWyorkNrhiPARJ0nQYBaSl8JtBVc/rdonntfpBvHwlEW/LkPoqnVIEoEBX+DLGi/gUoKVK3QxTER+hOoioOGC+nJo1vxJU1abUOOhQdhPHYpetQRNIxqDUudPNU1s2vdDmyutxxEsJ25nii6Euv9hlKhj5G53iev4TChdqAVJnHOX6e8qFdrY6h8y92hswbKSNbEQ1eJRbzaEYNv3ZeF2nGREiq1FBWvezOYowYTwYRW67QqpqnCF1al7nZyF81ERBqjHtb5sBWMJdignpyDJb24Vc/w5mn4FlVTwIOL+xBL0Lm9fPQ+reb/ePQy8S0KNRgN339RaHgzT0ss/yHh1xfKP6i8ZBSaWQllMZ26F4HRBXDk8cUrKVRJTy+kyuqjviSfo1aq+EkDp+yrFNwmKMmZfnM77v5iyfNeO+N51X3nRnPEbAUaNbypVCNbuVyjuSwJDYfOrdN/EDkVFttuvNv2DjQ3sbwEW2j5DhM5abVeH/EFl1n4BfsqdM+SgbkTbCT84kmO1nuAfn3zIWMIu4/q5THKpZF5vZQohba2oLunlsqkrDUlbubVWJ09z7lqGJ8slUVdomqJXRzccX1hw5MegA8Z6nRp4gKeu/MT5wdP5y4rByrblgYaJWK3aD9602DaLiytlCnnMdeWjxkaIWtGhazTUIOB0P3gd+V3Hb+aEm1yBSx7AEuvMf05uwJfCoavHkGslQo7LEENJh0ScMIdaImiDy/ePO5koN7lGf/Hb1WnqU2279eHSdZHbIAB2lBQtIsO3oZWnVHyTSkYQOZSp9ch76JyzDI+EI6/7s9wBi2Vcy0rL68b2brjNzi6R8qMWC6tOj+eFIyBrjIX63gAhRvWB539eMOdo6H9dR9CLigIF99u/ufrrTBTC8tVTkLIiCl6m+EJMpLbAmrkLEgqDPz61ZeRu7QpvoUrlKVV6D5O3LsCR/kqXIB5Jt/lInYFNxuG7q51ET226trxwxOYXpUsQ57Pu7Yri3zzUclRyDV9LkW3glqWyeTlBCXxB+XOI11or3ljdNthLZod0xCWNUDCq3zu6fQGwTKcUxnuDFp4vp7Nw96ZX5Sh5K5G8tACDoq5r4ScamWx2ji398/p4za5X0xf3+nhzz+dKEke4fczI8MfHa4y9u9mnvsjLIVdPxTr6609EKcK1kC8N22cL7kUhKXPlHZ2vQ6K2BvKSyAax2AVhhW7xPlVs2xWzNs3DWxKQXuTBLIgw4Batqw4FJxyxs+AUuX4sOUqVbDaZ4evKsXKnLJ6Sfl98kxDR1jBtu8GBPxZ1o4CmPgUgtw/fAsUMbDZealu0Tie4tJTBSctTs0akEnGZNEcOlMGDS8YNDDRBZAm0yQud5uUK7mf5JlQeNNvWDsyQIVElFZvO2IlgUw/NCrkg/rE34O1v52zWPhDfvr29/1kYJAFlqi38ibxubNS5qhqNYGsFVYwd/dpPTDaBIIVXvAuAxUtUh1DhQP9hVk7vzc3u3ZQFUlQCFequCYG8SBNHPm7nCEmDOxLVbRW2DzqQzLK2JEkTEml7qEFXxrCkYMObZZECrZY8CHd7OQSYBkvOEkk4D/3E10/KG1lLjkZBp2AZ/9C/jaP2lvYE5NpOA2JFFWHfwgJBh9v6B7tHg9+R1TL69D9VvpHGXMCWv6zb7hWSssdQhn6O6enwTe3SfhVru8cuxXmkLkuaq6nF68eDhgHVjLFm994W8AAKI2mk9K7HLylv0u+rMJE4p7d+o4Jcl0OctAmVcqtOGrlei3FdcD0Rv7ZGwlSMg6z1NLCvOtwj4uCT8rtHriQDFFAC/WLm8sGNIMxieKm6BUv5W5Ny1Khs3nCvWucLlat0eGVfRog8/es0ZONZ4Z9ZhD1bS+8Ivx26tMmHoTjSigy2/VUkl7inWXfFS6NpYjWPHRW2r+FUuCJC+X1W6ZEYEOp+Tzvq7B6FlreU/mPGL6lz27BbUOB7ahTHKvKlz55J10rWlX7P0ZH43IggT4eIGYJXqErpSpXYRekdcdA+sKXzFMg8MkXsO0HBtbecEfDPl1F+SIeaThfUtNeOHPEtQY/CsM5tjctf2rOlqpbt1J+PPXsTOJOvby976ptO1VVYjdaKFZrgVE+avihVe4QhRhysFedxSh32idw2obz1t8pXA/IbW2TwfO2fCEZ/8TIx621E+5qck+B5tTJ5hPB+4e9bNIosHS34rysYHFlFTSBzIfegJmE4G7BZQYS1AtQBv7/NqBJvtUhy92y5Cx5FC3mddENfPLFW4OH9Bn900xjsFDrGHkp2R03Y0hw1F5jEPN/fLOxnq6lJgS4M1Ajo0Xfu62/aKij52r33KPUgjND1IWTZ+mpP++9+lq9/c7be4ZJg7IzvpKWo3EaE9hH5fb9hDpEAI6Z1KSirNQHotrWCEwAR8o19+z7ramnQdx8EW8n0C34w2dEVrH68f0xCO/tazf9/kt++/Xy/WADMns9nyHdm2H28Xma/wXVepj033FoG9fPQfb/pDR0AgA8UCPLGPCg4qNx9Wjd7a6U1+HU1DXvPVk9UVYd+BTB7jYnOWQkIN0GNq8ovTJQEgSweJ6yidPPPmtx5Lx5gz4CofKUZbTi0bMJzaIZbheTr23b4pPtASfEVkliiBqqwPOGWQLea0qbOtD70UMZWMtM7n9B4X/nxfKaZRqz8/v/6OrM0yXEmu8aQ/0L0ojftf23qLvfQh3vONQOjssWq9HAnMdhwbQAIgiWVLti7rgA19Ykgm/wgLpl/6BdtrZEmViqvytBluh1LrjMYsBCvylOxJA/DaK/G3K5OHyEsvNhm6vNw/guVNZ3jPcBQOb5sB5gQllv2nWApvkREvqMz7G3HNflca2/TEfNqc6wKw2rsHzZ6z9QmbE3hVgvSYu2d15qpU4Bnm+lxhlCx1SY27PuyCjjfzqB9fOfzw2w4TQ3gbanzyw+CHSZSWANgk+OSdj7cGyDy7O2pDiEhLADE3czjExm3pCBuaBb7mIjcwbqfJXGYNVWs/x5uWjLeGZu4EZnu+F0hb7U9Ay25cZo36RU/3kvNGtMRW5U/cwe019gyJE8vwXAlPrOeEdUNoOJz3ezaQ2rixyzdVSK/2Rp7uMZYyku3nhNi4hxY65cTAEsDYMJhrLztRhQ3rl+Yp8nfrOWjG4GNnPgYYQWHW2B1tGU6RprGmy+2zcJCJKdOkwFb3Kdk+kBxQ4RdUJGWQG/vuiwdjQk5s+JWDHpkPIcV86VGWLIrtzFOCrZzOVty0i5x7s6+VjnM+tgEblH+7RUS1dDQkENNh2TPTlTrC/Wqo3oV2u33TQz2EsL3tfIPl9l5rwHAndHd0vDE1KTEg/YihRjWbmoztjE11sNcO6ysNUGJJRpw78959kJM/Xy8Tqo0e92ZwBQ5GQmf/a5+/nm/X+cFSMdyzpnz3E/egeTGWUd9LuR3vr3sMS72ncORBqIyjTp1vKniWvGcf/uSzRkgdYVbGcUTAJRBkUtI0nwuPaYATJX2aRo5DpXQ7o/2MmFxemhrO2u8pj+pgB2KRsdaFxIGTDeqCHrti1aehEbTpjvyuKlFjq4I4seA4W7EK38/ijOSmPWL51hah0ipHoOtESiUq4XWRAYD5UV4xWP+BR9jEO2joqkSJ+CsIvve+PUe7XzzQ6bmuZC4ZvwtMxnJVhZ0osQVy0CiGo/3erFDXVoYlzWfK82R8lN595Eu9cZ3lUcbN/JH5NXUr7YvUDx6nkKP1j2xsVNwRkfIaEXfL6FxJEM1SvGxtyFuyrYtky2110TjdvVjuMSRoWAaepxIfbWGguIDTxJ4nu/9/ma35zPQZbibl/N+J2n6SrZ/7vnGqXx/n4eCedQg3g79RBy41gsT10H2Ll+eShluMDLcTFtdv2vLDzENW0+LMGXN7couSwG9Y1lJDqbrfx31vzR9QdIcGWtcFdbXGR5VN+ZKtNV0R+P32AdsiKNJas5B7iqCTlTpozlpfvWJQvmPmthtBWfELsjui+Cq9M7YDBlJ3TA7PynFEmsv0I+zt8z6W4zO+wIX/MnHy8d/12dVaHNISMX88NlV9n0CXEW43Awj10XRK7HLF6fKqKqNekdn3WuonDO2hGB3YoxmND+3Lr4u/NEqOkmZm6LAsb6SDfUCT4vKuLOpPD0HTylVDh4dcSpPrOUkGk6/6zZLraIACx0CX80UOtP4L7e2YQokeW7MYfNjkBiOGWmtBNtuoamppDoPAzZb1oIcrY1Nk0u1gPMY6TViDXyD/qDQzahpisfiZbUeQQuxvUtWcZP116crF1coEhF0LXe5sg6OS5gXfouq/hpzElA81dYyQ6VSu471VpFjuHYtAKp5OlBPyylhvulHVxQWHdzxdUaD7ncSely/TAHp6Jm3CoiQkF5sXBRcP+eo80Vz/TZNQBWsbYjncL4qT+nMPexYsPnTKdvtf1QJ2IW9iI4JEdGBxWVbDNYhGt7QdfHqzIj7sZWB38egZcSvMcnpiqiaNIpkhFE44pMUhbKpsSX4+TUV2HCixOjLQATdIcZIaqwPSkw52XE9DyQ0dF+EjmJgGWkdf7VbAi191qU+M+kV4VnmyoTiWFXIf+r3cKtHnlR5vKgrux2tcW36FQkbzh0z0Oz0EPnounp7kRo30/hsgHbbL+Lt090Xz3dU6Ds8IGqCDWXZ9lNjWge5XZyyRmqXwItQyRJL6x2at6wYnC0oW0YyOPo+udNk5jO+UPV5moCXHmXD55/X58/Ld/8etjMAzr6GM2xp+FfXLh5xIsWhoLN9iMwHRIOJswLk0NCdnHbxpG8uOCjKu1dzavSLO4ODxwciTMXythncFHn459V6ZVd89GwdCbosVjiXn06u3W2uV+PsTGlfdHpUc/kuCfnTmjv6tV3G/ClPSNx+FPUTUxahk6c/vQmaSmRJ4Oxf4mM95I4Vx4mNdnpchOAGvAoFRNvd75OscSUr2G8v2+UMKxCW5BVfUK318IyYdJRQvM9EFWZ4mwkNrsiX6vvHtDOVhGtw3WZvTdavuo/EhPURdjO/h1b+eox6Jkm8NPPv2gtpzOGRAXhEYlNY17TFrvGK2cqECRL4QY80tDRxZ8xQ31SpUX97SfUu3kGGHfQ1ooU6IjkCpgHf9ZVFRo34GFfHyntMOA/eaJPtrM6YNvqZ0XHOz17QH99nufMZJ8PQZ94MTLDJ+8bcZzkv7IDh4r8irKNW7zPA49TsZcgLaCw5hu1dPiVfbQlVUg/7tEY1lZlRbpyN5Gct2TX1t8E/WUX78cXmhF19ZpipUhux2FW4UlVntAy9gwQ2As2SMHtFLRoLBGT9xWkry8Te758v3kOFhTdz6sfDeu4JCERqcLjkB51SO0K9ZXE7+e4ERSQ6io5t69aT+CR/TF/CcaMEt4Cng/FAynERsZpb10ALZHBwsGXwUAM0+jOX60iClOk2BI112evoZproVK4K6yDsTgkVM3ta36MDddph33mmoDrKCDibIA/1XDlFd7eSkUDqQUnBPlPeS9rjUJoDjwcQb5+LLTVQXLdJBMvaWhu2acV1XdsxXNn+FcwndCQ7ZMQx8CXftT3WjQjY/AdUZkccpR6Cc62LlJqzgrtuJ5qe8uJIIZeAhCeh06ONAgZai5X666h9uqeXanRhw935qsrrkxGd39UDiaB6HuXM1XqEURUdrLtRCW3z5mzOq8RTLQP1U6j/eRkq5r6B0yWOWncR6cihjaa35hNDQwvvMSmC7G8eUWv2Fy30W1qrOwg0fZ/o2Er/4N+U7v2JgqQZlfCO6Ag8qi/Be/erxFBoOqEMWuvZTtesFWSL/VyYVanhpQ838nN+lJX+dBvXJhgVU4Ap/dz6olrB0pAxCrC9Thzbu4iimBY6QGg+7MJux5bbSZrypTWrMKfY8B++J6DGwIfgw7ZxCYtUEDVEMKqpp75cAyVzguWtzkA4jVUVNNQ5diIp8WHmnJ+tkbR1iCORQgpj4/UmnLd0JQGd12CFdd0iBsCbIGqwyIw6q+99UlTihTsrQpXLAGcgyHFWrtCLzyNZoA6jDtjXjs7twbZZepJtEqHoUV1FEhARbDC67DPA59Tr3Pj9eH2cHauyEPoseXp9fJ6TGf2c54Q7T6Gk1r466xGiO5r9JfJRBJVZw55xMDMrGEw5R7Auxap6CqHHMaDNr4eYb//aLzpwBXbdIwTIjzH2qstxnJ3YTR1RS0zp//H4W5HSvUXGuTZD44mRFsUGyCMvQIV0mrmg+D8dc1E7uMV21crZWsav0/G5FXgdRVpZgGiDcwLFql7fzKo/YNQx6mzf4VTjPP/EyGMH48qejPSWQfOYCc3YAApvRNLT7XaIwVuq4T7tO4J/+2qywRikCgQBMew7wvjLgdy89kvi/iR5/F2tR6ziiZ/zIVNWL5kj2NZcd6ZzvhQk2CRjOLjyyW0L6TdWSP8pkYC1zviaoolQ04H9C2YDyDAMMkaEJk32+zA3S4b95n2Mab/jK7ltMIPes/3VuQnsuBc6TrZ+Nupz4m5cuIF2FuI2tTaIi3dKr4k2rlx3FB+4CC+b/+2DX9F5G2bMV76PIOrAz9EkJ3/q/9qFeRqX1R/SpXXcWSZ+ElrD0m9Df4jaoNx+CiLEwzDIi6qpvqHGX+U7hrUA92ESQSo+KZQrhxILEA2kScK8IOoS7mhGCXRGgzSRgrihVOXpnc/Pj+/v9+uV29JkwYZa8hyWWdJ6I4bqupDe2btyPdNLdLgMCrPLPzR/Lw5WeBvdaKp/DvW+PwLnJrdL0C2U6SgFeNBJq1zRngcEzp0RprsBeQuQAtDkeQ/wqDmFQw/Pv2U9cJ90XdHv8yp5r6NOYJq8vOqSXX84vM2c0ZYJs8MdElv+OzvKUBTVkDNSgFW040F+H4ULzORrOEI72XzbAXJzMgCig8UGZFnFr0DABvB1VHsq84wxtJYKQdgmyuIZTL24gbwG7z2XUox4qoP4O5JJRYWLOWSExDwpsY5mXTXhtd6OPxWZjqUp+LgJTUxJ3jFpEH5Icxm0rk7ep/TOiHurnIcwx6fudLUMA2sRzXaHNEu4jv7OGxV+stcr2KJ0VbnxUWLNeLSzsvWIWOvqqogJaVB0CebWLc3OenZj0Hi1jTdYQushn+uEJ/dPQHNmGR1IML1cGnO7gHFUX4tKh9ywZI8eqbMvxgAbkm+vQreFZuveqbk6QYaHF2nph66A7jadBYrdu7HAU9M+LMUNNiWP5zK6ETW9A4cp6CDrwjes1TCldZhvbxEea2j7zGf+abhHMuaH6VNczqRKZEOamdMvhtl1BlgVfqYmIFN5RN1RNqhyY4Y+O8dsNQPSxviiwKFCTp6m0gP8+iw6FERVkR1k133pByj79XXdmijyyCe8pZnp0x2Hw1MeH8QAxzEOPR078450LBIAXCY1030KxAYilhIOx8Veg2iIOQ8wdgPoqOXF41KVz8/XeULs/XNuAp/3Ib3PY7/Z+vnz1U2/O74FMeNcsdCsOKRzXWS0qjMZDVxpx+f78/ukQezqwQaw73/OGo9TLDvLJF5mxCIeKtOVLSr2g/jcUoUIPxTk49Dymg2uTzmHX6/2hGjh9WzFgPOLxFqrBTfbuU7WU7TC8Cl5YuDkJfz2fNxE26zQH21L6Zx8iGB64gvqMX5x76NAtBGwafmIhpXAZiSadW0U6Z0V7jxq8Rf5405pChNqLovqVKAWivAV9k7FmrnpNTp8kLmUGT8tAlVjRZi/PFvWxlxzGESM2C7669NbWtzMUwe1v4mufznuS5d0ruJIoja9x+jMWRm1drX4oCMn/DbIscjddJjhLexX0n6uj0d50ID0GjI4lSeVOhUydfOz6Y5P9TfHqNNCJ5Wn6sJ9XVPODuHkT++GFRBg8kBvFj/H5Wbomx3of37OJlh52DdXw2cmVmE9SbtTG4ZGkXMuzxZzt/QwuYaqxRvtGQEKN+yhpLao3Y9q6h0B989P1srodne5mDSYeyHLOjF3kdBH0Lw57iOlY7ga8Uv/pgb1Y/NCoDsZSeELpalyA21i38jmIZHxr9w03ghya5U2w52V7v53YNZXIst7fci049w1fkNr/Px8nWleMZM74fSe3bAy9CUf4EEHSR2UjvdN+17UFljgrVbGTMVz7WRAoUGpbkhOHJTNVc6Y3jUEmpYGFS0gFvZ6Kco3Ey0xfpV5NCJDdUCdnWxOdwbAXpc3ZRPJcuk2+zt0yvwkBQWdx5I6JwxEoQU4jChHENNwQwm91L7vgpBCn0frZ9f1wrAqqQUh8VqjY3VIeNBpm6Ns7xlt5/tkVyNtGh9Cxg7g9GKo2LDBgdWlNqlSQyDqM+k1hcDzL7v9OilFxXO31AkxvxnWmhnFq9osvkJnERGd5032fWVpMRZxMlD4HhHbpmPmEXhle4m3295zad3+1c4lDr/Mb0A8QWS8wrQ/w575OSKrA52WVlu5MJav99I+Kys1ox9ZkUy2dg0lI21CY8rcQbQHPltljyN6HA9e4hKPeAWAakHHtY6xY0QUoG9eeQ7uz6VspHd1Vic1GoOeCmYUc4rgapEtxbjHfFoJxsYjqbMpiSPBrhp2G4RpW8FC+IFgSHO5UQRg0dqdhNXTtXrdAIKtwn1YA24aLVIWLNYiTj/Z7jenabCxSoPC4iv3EJz9viLHz58MqydQdqlkJxOZ54KG6fN8SYaDfjqJhhPI1dN2lcv/GXPWoWPSyoj55vAJwSbDHj/ZuxjzY34YkSBBzrmd3Fk1F2ZXTQhlrKUO0sdnDN9zf2lddl11PAmq//l4v3zFQdFHoMCZEHmIWd3QhfdgzsghfGVDuvPQr685ouZ5//T5fP98/JPl0fqBMS3WcDhtobqgyyI1hJ0aKcYmTyv/kQdr8QUYc0wpnDeCWPUSY6nw1HS7qBVl+3tUODp5HKMgLkX+V8nmjuL+DrsefVnIr+PqVsm0A9+IGQrLvbG+5KxDyOEjaqOLyqvguDyTh9XDSf1pqdyWkfW/hBLihLbukyZDbeVafa+o/aq/ckGFde5jm9tqnQHcGMFB+sVXZLQ5eZrmet3S8CTv07x1fZe1pzu6HuHKpArCxV0ul3p61Gr14nmOmN+U9qBeA+ZcvJXyjO3PVlN2ibl6H+sbWVVgNIEdtstJtDw9kp9KQWTTP0KRqqJxoUqPUA1RM65qooGQv77c2bQrUMYpKMZIWt2mihQ+CtVLYPcTlvSqZ9zrZs4pPcubs+2z66Kz+XNevR4qz8kvZ70zPF5ADqPXRrjSXGkBWsLTpY/hDHRegnKtUEU0DeNUgNTwTZ4zDgeB5VZ1mh0bs6MGiBNHF5ASQ3CkRq8uF+NpiCm+kGr1N+pedz8OhWqdwBVjlcCUKSg3ZqDQI/mMDnjspfKhDulYcOiTaFej4lZQXcTkqHNNfwO1M/q9NXKmrSNx2uEpyHWG96CP2EXG7nMQ2o+X/wba9Nlyfh2n9Mu4Z5bBsh0+nt/I1rKOLlHBCMWaWuLvQ/se0jZqNpmWr88vMrKW07V1BkMl/kFeNOn36/JZ3R7dgP8johhW6Z4hSN189brm3eRUupFNM4k7n3O0kI5HKfKZJh4w9byBU582HndHHcnwRsNDUMEGr6Bz0IcU1TBvSTHNzVXvUiERfVd9Xmp2D6Iyr+6LhnQ9frgDXtm2OHWZL1/boKG08sReEUS2eAXCknGBS320jKF0pWvS3++NFiGDVyFvVn1d127uDG0EqizHnXJf0q93oJxXq1269ohboZ0xgMPKiRQR5UjYZqdEBarAB+Ezvp2RJYUqW11kEbsHUfcOvSYyTMFoKrkfez1PRVc0AGAIx2NbDYrvey1ACZP4aaWdDha5mMePzBS3OOZTl+ejqDa7hirv7YB2xoaTdAidaVND8bGn4tMrsljSqppECLKLGQyRl0RMp0weVYJCR60ymJKXRjKuADFntCN07/B8wk13W7PfKkEuVI0DKq4z0SNds8a7jOv9FN0p3oa5ayi/PoveiZlCMW+EtVeHnwonPVpoom93m/2YTWuYy0oJxd6WVRLoUEioWheSBG4djmp3p+7uS9dWFg6INW+blLdO0PisESKZDZTZWtmSAmgiEWB0yhKzVba+qtE4TzX+Jsj5Hvb6a55jnP2f2V35PSHDsHV4OcV0j5FeZMU950hI4PZJMevn2u0OVqed48IDIFzdn7Iy7hTdFbWtIrh1OaRboKv9LnBwD9rLtATRepdGkqsXm9Hott/rRH4/fv3/j80UtAVRMibuXxKxQmXhKc6LqsfQ9yrojyfdcwjvCVEjTn/M5bSNJG/y7tDIk9pPuaT0Za6eNPnbnFKzQyHJTi1c1KVQfeZIbA4mWSctKtLmFXBXDf44sojQYtLd+8/Z5Gm/qjkOEUe6cjVOwRF3AnSOtO4SUJlctP1CzSX2pgLXWYsrsspzq44YH/xtBw+CFW/dki0XdBqaPUt1Y4ByezQOww5GaMTcdFy3QrARmoSqEeZMl4kdnvpVhgh2+y7mnwCoa0P3ViZefX99nS2vzvgvd33PG4/OSPiMgR39nsVwZ5+KrGTKe5Gcn+lE4SGZbW/VAVOyuUt0iVdLNUiEqIxKddt53+eRRR6AuYyyf1OOp2Oyv+CoYX3hHm7pWpEicBKZvKSuBFHbqbHkLSNq+3aXJ/2hTmn8ELqoP/R+uJhHzF05m4VOi5ySnr2QApVGV40llfKn0ka9SCfA6a60ci+zCb2Oq5v5j5WJUxsb7ZwieEg8fzk4geveK57Ymu+na9/eFWoFGJAc+Pll4S2UIWCmBp9wTQn2trj9NDQ4MX2l+PWrp0lvU0t/Omsss0gtochNaQrPKLjCfJB1HZ1XpdD5dGTQEa+uG+LrSv7UeUtiNpZrZ2muD6msQrX9FuG4TzLmpJuWqEx7n7AWUmdnSaNRmRSPm0SUCZXfOGtvq1H9pd5whD7kpuLsa9fO4hq1o0FJbVLdnOJxJm0pveDUwzxg+3y/XsiCpkGzGLj8I7VLQBvFhJrmcqZ1By2HCV+Oeu8j3aL+ayJ13n8wNoDCr04L+nOMXW1v6mCU1q7yZcxsT+YrknkEs61Yv1bVoNu8hmQgX5ex2pidnNJJtHf+nbvgD8StmAqEsUAnMmSVXkIGQC+OVxyrp8FZflRY061ROg34Tr1oIrdM+6wnJPVxXJQIeUZNbHXyO8jZXHvdmGQifASzt5BU/bmUybBkQjKniEjRc47bG3nBtZ0yT4mgAt3WLXTPJafT9FYh+byfYAqM9V/TE76ALswcInzyo+Vymj90d0YvLtcdW9iSktHT5jCde07k7mw90eRy0Gmlw+whYbpY0M1IOFytDRJlHZK522bVerjoriFNjM73s3YtiVRvyKJVs9jgpAehbmlYG2cSldX/q5ciQ9GmYKcRaCZkZ0Mv8ESliHBLSA5C5EtJoM2ZnlDvredKvLyzfg7swgRABFdAo7jTCXcuIPoGOnSOv87cBPyy0Os8LNxNiHCFp4m89Rc++nq77Opsqnma61tiSkHpJTytK74MXBMv5MiI2DOF4m3McrcvCg2IWfGsLXe6ofbCrviXjxZWk1KoqI7UpvMwZrsAUY7kxca8oqsb7Dc+7VED2/5EXEfmkqUbeRx6v/2pvK/hQe2upC6YKrv/4ajl319L9wp4257MYASj3PC/dmkijdwVaZad2K66dI9BNDWdPfLLBXYs9V+c1A8XFSHLrRbGby9JjyP+sCoLVjAmg7uVXfv8wJBX9ftwpEDWSTBkao0yOVKao6xR6N+6H6mOBf3t0LsQOVdFe7nXL1FfNLV+j+B3aBmzXP2egwwiJR21Vq20QCVVOOKUiHid43i/j6+ue+VjDfqyrPKFexdR6ZwX1QAqxOT49mzf7B5X537vafT73Ps9kyNfHz9/cs/3vOMoKT4jYUidXRrNBeQyb+GuNU4s8pd8eY7amTohuJ9KCXErV0o66TsgxrvKTXU0k3aqcPKEdn7pCBYqe98MsvAsMK95A60OTvo5vqjZoeVDgFO9OKKLIxF7ZgfO0JId4xr4C8lThJVTc+Cn6t85I4xHBCnQjb3KdOehHgOQtlkBNTXs6UsDCZlqsf/imA9gcOVzwy5Sus1kWllhTp8ycqO/ZVbYkSF2g76MhbYAltO+jjx8DC8bcjhy8XFpIsc6I71qHa+hChfH70cGtJRM7VTrSMFJ7GyCBUiR0VoBz2XpypZeBIMA/gU//6yvvEwhDR86kE2RWfVf7+SO5g2xd7vwbIIyHGIFTq7cpbd2RaR5UYV1CkhtVMlCvj7l28Zv7lObJgcnvfNuTjWRTRLdOC/a4BYHKrBDDP05J9renKw0iZeKYqvRvboYU99gjKldjiyTiJWEdSFFXzkqdMZLJmduwX0OLHXvq0QwABL1eu26ulYqtZVKyC9l5Eqwkjc79iBM0lYSYpLd+7mW8hu4pYx3RFsGKc8zGziNkYVFztnuBhQqWWQ0Wy7V8YzKELsUkfIkaKSp3gpbpXRU3+6YhKoFpPl+WT0Fwva1FI9TYRp2y8tgHcqV3J6/3N4MJvLou//vTdklwrWwbdIRxAAwEnB/0fG7qr8ZjSpfB4X85+7EU/5nWwFZHwGcivfDB7Wv+hefW7uAL+BREPg5l69npJ2vnLzlcqGgq/eEDarvk0ZELEszP5MrsBbWkFuu2YgiKACYtu8WrNVj7cL9sW4lguGKoYOKzAF3LIEb5m6Oq6wdRI04mj1kTwcfSWZeVqPqAUmwRca4fnjkZZCggrDwvT8uOhqdjvb2lygSm3ahmw2zbhXmSBq7G6HQVc8H9oXAXDYH4kkbszfxYKRYnzRubU0FcNVGy+y4qZnqpMPzAL6Mj4Hm9vLZF/RMPKn24weYEpnEbsHKifqTxkTBguz9FZIQk7UvvMx36NgeriH9gG6veVxcPS9tiUXKjRkveOvIrHHs9D7S0kDs/ZNdHXCoxA/CpVCLkrcBKvsxCabufkm1wl867rEeJ1VJJGcOohcZR/h1uwO1Pf/spWUeuUuL9rioTf+VCQxfU2Cv1XksfOuk0Xn8j0Yh0IS0m0hDeAfStCA04CSjKruIr/MWj3RiQ752ewioN3sAj5CRygUAa6+TM9zBR4dW+5NFSwwIz+VSlrbKp7heyVd0CjGI0g5vGi8TWt8bcVGkI6KmHuMMzRD62JZ86Vo406RFTdSL4jsqN7/X9VRlvdnJHOBZBfOVKf2vn58/n+fe7ucxk6/vpC08+subNxkSn1vFsM1TwfFbLFnqDU4NiwiIajd7L62dzChcbeAB1+EDnnv+FPXtoaddXGnooFOmhifRqqJGEiCqyJlgN4qpDjE9UpeqeoR/rmWpT+UtlZvRXmDz6tpeX64hx4cXx6zLpQ4hSu7ZlHfKWLUWvoBhGBgsci++JfQ9OwNR14n0eJtvG/cvBcgrOhpqvWxlNGveyuDmmyZwYzNjHnTgp2WrIfU2xhtZrRWWS6BWxlZtzYSpvqFoDc1iV5xS6POlEuJiEoSbdJOrllFQVe+joX5gAn+QiIb98/FFzhgsxwjypViTu0rT/YfwOJgW7mkkt5YW3VwL8ru8/5pQUVAApS7zcmdcmQRr2K9EhkkcZ9O7EaV99E8BmUGmsFAOU8ZxNSAc9BmQEhlwd8420VjTWeW4NKW1M7fmG7Fn6AE5de7PqZLDwD0XlrPm5TxHwcpbC3TCDkFeCEBNKuMe9q3cHgdWfTsa/pwPX+6x8ggDIkej89nQllCVgy666DVYngIPgvSIHY3oZ6dB5uRGetV9B+p1AZr9yEECbmXdVqcuaUsWRwqTF0321nqayGjvmmVcH5TWij44hv+5TnjcoXZPPTCfi7cStwlZzamdmEiDCCmv9Vlq9URhd1prHK/6EQnJi7Dg7af8pHLj+pyIM6hfT12K4bI1qmUTS8OZ8PDFQ8ZVItjWR8BczhHGyCe0vYeEjLOSgsHX7HKylybtglko0Dnh37R8/AMdMXfGWu7xUAqRhrrOy/7Toq3WLitFCdcI2fRzCMuUBI/2zc4mE+XS4CzGxg0zvgjwjsfIfYxyXNUw7y4v9Gs7KNS/ad3J8a70QbZt6eYbO9qoFv0gdh+0lk2UYS4yA4OpdQltlUriMHe0ByeuSI5G8lpgFsjfnZ12UnqHFtBZT85QOHK93EX31eTmfL2ZlwfO+VPUoJxcZTDeNWpX4kP9YGtNGhXMI2OVQeWitLhqyMXEBcN1QGLZvyx9La/ixM76e+MnlZeAVXwvAORrqHYfZAj0cBi3IeA35AyjtLYYIu/Qb5YK1vv9rbdzXNBc1qfLCgSVn4NG1ehWExIF1nDX0fJTDnc02TNm0s+jqtOs3Sqv3jI7Aogn5QA8nPddnf4ODLdJUsBm5vp40XbHt5a42oqmJvI+TqVXSWrhh4SM29PkQF2PtGMwVsMgf6X8ZMk20u7f1L0oGbd7yg1+QtRVm2Eafc1805m04lL3LORhHCsMVeuoKUIvSf6vkzeZ2BFfrixH6TF4zVt8u2b5DH2/vz9/vvMM8Fnj/PV1vmQftuyPxTCYWHNuDuO3eWGSvjMcujQmCZuePf+XB2xWkflZbIwy4Lzy02c5HdoJkp8fnLme/UKCsCjIqVRpKo7LjIPVdVDgbSLIuR5/n6aAEEHfmnhlX2JUn2NjD7u2rwKiJ058JLnASiiCmErZmI8OCZIvF/F0XREQu9O5B+Q8ZlB3q2KI9dMLguqdXE7j9LkpdsPdmtA25o6KKbP0p2DJuy1t/cIcF25aSw01c5C6zhhfyF+XsseVEFvm7tHvNls6BxqibzPpu/+7PvcFqgu54H6ZpxsE/jhwWXRfUGznzDEQgyaSlfSOe6xkBe4Ndicw5P/kdmhF9emc2VhUyZt2B6L00IYEh62L9LkBt0Jzex6a0tkNGGjV/IV0j+ZyLzcW/kjEhu6emnuVCKeSTW8y2LDRIDSWZgMjOtcAwGUUAZ0uoIUYn1nX2G389OsjCzKCdJZuFAdC7G1U2yxO+Q+BzG5Cjd2ovc26BqLnFPUWP1N6IPq4Cbpnz+EgMzOW4fG6tWzhS1NS3rjiPYeZgskLOs+8TOiMDtV6mlTobS9tzbPHbKNZyeRq979ZbeoRq8R+MBrpu20Re9vpQGUnjSUl0Yg3t9H4SKY77PQURgzSps/UGP80IqOlAGV1VFxNEmkoBsZs49s85Er755DH+dmpAbUzaeIvd8k3wyT/srd8HoYtzusX57nZhU4NXBJ6W+nn5baHOT1gUHaHkt4yhjCcxAiTGBPo4soqwUZSZtnFdge6uZg51rqBGTTumLvO6ZoLP1e2k1TxlYxlIA3Nvu+DgmoMI1upag6Am+65KFxSbxfe69msCon6xvfZWBlMLaIPdYYIkvdNg+C0YR9WGyXpmoym1aCr8abknOV76lHnHfazWVRZzFpxGNMyaiIDF53AjMNza8aQdN57hInzhogDb25/b+gOD4vS+B/o1dCup806+4ZQGM8i/1YeG1mqG5kqBsrqV8Nhfm8D1yNIFGbWmCRoXkIMxG+dI2qzzHTR0LM+2RjQ901AQzvjy+W1+8eAb42puiPHC6V3OVUD+sD/DiZrU/Rwp1jbYL9Mg5MGFyLsxbtSgMuH48IYJKuAntah8OLtJmKKaU4X806T9PJW6FeN7XZcqn86SeV1onXr0fo+CMG2DiODNDppfWxtRpKV+cCsR8Q0bBIUfbZzGEZo4zGHBX3RgWXhNNir8dhsU0wIkYwOMLOx8aEz2sgpxwx1CYtEfefjGA3o3XoW51eWpxLhxt8Kn+8OQa6mQy63ZnqJ+bi5LHvUN8NE4Mqto+RRP9qxW4crXYILofOQUYa+OhVu5v4n+zh/f379ST5x7gknO8nzwKfZ74yHue/KyBmTwvxKhBKdbLG6hKoRDadEqhv4h/wKjBeKtN59jH/N+3jDVSPNs+V4OrMZjR/54hkikQgU2Y6f7FhxcyTdyHBZQ6Pq8K0lnXZ8JQqtI/o1+WYNM240mMvYub2SIXG3FEOtdU9mZMolDVnMqOgxglWe8yaMCaO8vNfSM9sQ077aF4kt1IX5jLYwDSJxdffQGF4MMtrVKMleZoiEl7jMW71exjPm65tfbWEptYP7O2XSkSFrs3Ov6MpqQM0hhEQA4LmZgymkr1jQVpq4qIxmj0PSeQ0S9kwFc6mKvoQWl1TTMTYfkakHu1X2dsfrP3qjGpBsbXOgkUDm7Gc5TuUmTyOunopUbCcDkOYxKLxK3phdYSr5McYi9BQBLmSaPVdyBzlM39FWePCup4OSCU7TAFlrBZfRAO3W+R7RXtuXGa8rdGGBqZ4rLk81+I1pt5aFFQ6XHCiiXFn6Za57tCHcCQQSnlvzlOD7RGLImTZGgBv/BwQtUJDzTZb0MqOvjTzUR0XDJpn4etc8ta9u2hXd5P+R4Wks+7dq4LNaUVt75ICsZ58weAlL6+nexYWJ3gT/BhYIHJpIyvBaGjlJXZbop3lfSgbHOs2x6hrCBdHBJ8cvRayXqMoR7mp09TLdFTNCcHY4RCzqSRqHt8HSRIWcchRxhZTbZasgZSWjmKggmtxk4DSPLdCc1MjGZM2rKvTEYQjkdMEVWLWMgcnhbJ6UlhI1yOOlhrDsTbNWYBdo2oSh3jW1xcImX4hxLMJna6euRKmALvI2tRpVp+lhzGlzvUqEndK7REO/4XV36LyUjkDHBBy9jH2Ops/Q+f5F53yVZJSS77i+1WbHn4oCEwutqyLxNuCn4YwksXvnWmg6EpossNsTQhbPEBshs8Qdc0Wr7TDjV43AU5VyNwDrLYeZK6PBs405ktu2jkFh6cww9Vot6zySoA7s91ojpSXyI8+C3tbs0S3HPTrf9dQJUq4alp9HPbt62M1VQHL6XVl4tSO4S0nqND4FCnRHLbJkN8HJgN9wVyDxr1h6Tj+MPE0c7eh2PK3WqROtnW4WzoVpBBw2mxfmc2l6Hjp+8ZkW1HIVfHOZ8pAEiE1AvMaMWzmqIjp3cDci/c2HuTAMudduRYcazF3SKQsTRK6Zi41PzavhSPTqP+zdj1vKrO8K6jGqaSEyTH3oJg+R0L9F6zGTJpYJVBoQ7nItYmuqVXdp+8iNect1KK4ZLu9toc32fkN+x+6ZO4xHvwyU9i6V16uhPoIeb3X7QljZEePr4/OMe3kDcIZvGRjH1s8NYR4SxvSbhMTh8YaHERyDLnoKd6PPMg8sOxLpYMu3GXSehVz0npARVpNzi5wxM0RaGgKW8ytjNJLqcZwtj6RJy5pv2Bzm4w6L0YtgLdyaAyDoBIBrOji4kjgff+qcWdNLPoDfOT83PGTHproWQLp0CKq0kewsWe7E7gOBUjLfaHMdSzGGLOtDUPG2M4GszYY24YsOOszJU2koSvGaxkxfI/7QhMQkvJQs95MJe5fwomfc2+D+4fH8M3ix1W1dezcrnDaunoMMNT7mtCVoFj/AN6dr2ssKXqIbNc8mWGdX9zF/ZPNb9JStAsfHt7fzD4kNvump+qQ3HzhZcqoH6Q8DCLkLIuZx5eG2oWU5w48YX4eNGXbmYCW2j4x2uwjKY0nkGC6qrwYhrFNi+BB2AS05Q1LwoRn5Sq/KpzSDwgld1V2ZMYgVlBIu1m0K/V7G01F6hRkfyYPIp6NIhRbq5ZX7zsENamlzVGIn/Q3l01cfpRzvpkg6tO9Eww3jx886RM5zTXLwwo42eukG78W1rrC6CJ11kTrD99lTUSzlAtu8QSiN4Jrti1syWamOlHZPv3IBgQBbjTgYOGeCkCH4YhCzUrx5fQEkdNIAq8omzefnK7e/4q1rUZNutr05NOjrzEYhNIaMguGKUoKnuTVWpGfVS2k0ssi2IgP4Ve+m3NojZmZbXIQkdxdhJddidS1iKtW6ICOEYOCY6c/rjBwcl5+7mnkNzz0lmModoNRftAf1Mk3OjYLm5/kv7EyT9GUDURz4q4QkFfKUgKaoJFvDNV0uarPjETDU5zPzxMMSEzAHM45+J3X0wZTWDSKzJxReETFuJmqh+f3wsTS3e6LE3fJl1OHfKcDZAgJcMTTNhZPOnWZ5f9E8hZha02Zebt3+BYn/iRV2cp4SPJOnVH02+PXz85oHwSN4h+5sXXYbzCWv/e4oVdvdwjkXPFTB+Xdsll3JA7WZw7V99arG0QWip03KuT8p3hToLGmLQE5PbMVCRvKjYhsNKzRz+w1ljVEY8fQVl0sseQ8BYHn1EnhzUTvDB7MWnnorFGodI1KiwJIlmfm6PuX6vI5eH9YK4luhc+wZ42sO+buigGU3r1HALYYieJDpcSjKGysWvspsQnQ76SW86Ma+NbMhVkIoDAJCZdo6gp0bZS60PG3lKczrxobNzECvtsn38l7aAJShffU48pxW6/Az+m1T264zbij10r0CLV/8/Vs6bAi/uga1yC5kXsB90BjBDzSsWzXkM000ganJL/SLATePv9qt1IwicaRioPlAhZG2o4dzIg/xnqnbM/T9/Pxz7uqebRLP4778H1fynb8+AJw3ADMMz9eP81JgoDLhKv94MKysDco6T1r99BAkOs8WwxOd8XndOlF4GHkgp80UDdt45TEdZpDmV6X2NNiw4YdJiWWbVJRTR04+lTeB246BGFvFFZ/Fh4PJ6YnrWQ5AffY9PtEqLxudMaSTUPOwTNgn+k5afb+Dpwnr2AS8jL8Scoqi0xgUktx7kJkLPS8zy8fBUhSx6F0E3Ah5HArvmiNsNXY4T8U+wGXmUoP61VgTg9KqtgZCV/nwr9PslSv32Fam0C+M7JTPSMZsEg9oQSY1LjdTB3Zeg8QFW0zMrpAqxBIuafvA+tDxJPtqk5KPkFCXbnQzRlozdBY2IgNeUHsJ4bqz3RcWnlX9qkvqMSul8wNTrF3bDRC2ke7Ws622F1FDId/+fA+tpnBrzgBxr1X4N2tmUA6Yb2fRutNK/Zm7okQ/m7PYr6PfKtVyi8hp2mqPgyg6bgdnVGfSkQv5j7q/NL5MSUKhE5CNxljckwOW3Qu6fHTwv2pNs45OzjUB5FKj8m1tqaJE3n+yT04ivay93DiRrWva42oO2OZnMDV+pQk11D0EeOkVcyfKpevd4gBaqs/D+/fX97aTrmcnINWbBjFWat+y+a3FnhqlnWNcWF2ajevo2l4ztlHXOlHMhhcXTatV1E3PqkDnmc/zYgSyDgczOyBfQESDfDNAhSIk1WRjkZSGZ7lVe4WGJanKPVUcFwmFxnfAM2MKmdY32lq6nZVI/Vgg2c4FfWO/s+5nqXEpGn9YZJbweqVQAFUoh+HZmEFD3qgJMvu5gNj4cnmjh3Bq1jaMZubOPwIvdGgGHF5uXihfXqCaL2CrnMJXv5De1bf9OxmUpmqHM4xfQkpt9llwfH3OZexfosarUMPEfgfVisZxZp9xW1uAUMu39GqqmbQ8+ShHE6YkarkxU8YV6LbgZ61RfRYGK3PeSFEPzLlL7a1L1dXBXBNDLdmsRnIjpBn1tI1/N5EvAG6F2kcZql5KN6sYquK+dlSOTIqXS0XQN915oJ6LA04+3eDCd3jei7+Op+zIdNLaWiipQrzP2N0vslRWoXdfRtXO40z5vQiXIzNnaqamdwbYQ169EJDWU2r7ZTv0B97pGYEVTv2o0n8fpUyhXTj4LUaDLqVnAMrJxTH9kt81H7vzV8S945NHnzX20rPxin8LD5tGMNNSBB+JluVpmjDSzQOnkRE6LGuxAPSeWDVkYTKaNiyPoqfdKM7HUv6cu7jd3jm7Xp3Nrr4yP5+3H33HwsmM8gCwM+YZFBNyOucLDHqX4jYW+q+ljEr4a+INQIr4KaGbHbAB6SnfoeYeqL5vmBd41DlXIhfe31OAn1qzg8X5i/Wn5w5oS+zscz46r6k1cs45+vW+l3lCAocVJEjjqVKRm7n/sACYurL4GW7MePMx91fh2siAUOuVCpOnHhT6xo6BtMQPCPvl4UGi28beBiYHzp3zba4vxh9aG7lvP9eneqrKyQlE/yhImQ/u1+bnpHLybPVIC0qrdnMVunHSmwg1vSf21Dm+4YprCupf4yxwdu4AR+3ofSgU5Ioac0rGRvuqHXquIFQBjhT6nZ77+NXKnwfDS9StnOnhX5NJdhH1rm+H+C2ZZ9tsivTasxO1ZnZ0wOQYL27Gd2FPGAMDrHcZEWsKZo47JTMs7DE6m9TGTwd7d3nuG2AA47PJRM7/X12jMVjviABbpXE35h3lVU9jHxdV69JWGPSFy5hiIJufrr5sl5Ox5drc8LuEMIaGYdPtJnSNP0LhPrrk38i5Zqn87xr+1QTC+SvvdPV83YrUrLdb2yrLiL1ANBzA0Wofqh/jAXR3cTzBQIlAS57tMyxYc8yO8gl0dkLwSz/Zt1k5ccvY8qtAWhmSskPjJdMrdtSaXJlZPymvTgo//gEg3W206aJN+zWTfSi/ah4t+JUBLJsCjXEInepy8k1aH++2mX/jnDmLkoFW6jY2jL+R9U1kGOjsMonQnOeaesMGYrf3JybxlXl6D4Ewb9WRj/ExgvEdQpViqO2zYdmjueRNbL4jt4LRBojQsTdj4KK0hYX2eaWjRimwwUF5kz7NobGAYk3akW+mXcR2A8f0nmEeDwWpQJfPGKIvIzPFyc5S3QVHsqWdBotBuBWuSwm3TIuZuhEW/Jz/SW4Pr0g7vzDYUF14qY7TWITYLc3ylvR6fF41KJxxrU7SV+O+FlM1qg621wVzVlYTK/lDn5tjoZs8fkZZlLJWgx/Da2K2buxOZSkobhCgtns12MMOew53t4WQ1cOg+SWcauwzy0weiUxRedMBq6pQVowJ3fWbrgSbSI1MrhGwRkhZ9ELzgwre63YVZ57OFbnD6t3q1eZgW2c2dGmzIaoF9qjN5qO28CzC8ejqRr27IvC7/K+prTQkimFbvNtq58rtkY2d2ZFexcKq5ReN9882LuRyagsCcCjdayPexsdawlzQLuhLSxyH8VDQ1Qb2ShJZp8wFLNoTXUl4HQHkDIGKn/gWXg4f3Y20RigY+2Bgok8Uc/EDg4Mzis2I1JvA5/7tWb2cQifHY48r9m0+ezmf482yaMa6ZzycMfCfc5tXnklGzAZng/wrA8kTuwPVS6Bw43Zfwjg8V8hmnALM+dWs/xmBLFgWRKuFazGAPVN6Rk16c7ZJaY6dNZiLxMmsJobK18SCO5qbBqj387Uzg7zWfiK1Q+jOHphEQ590DncTVXO2KxdyZcGuGUHEDZl6h1sFl5GlXxqzr441iJrc0jbdYGyYsUB7XQybz+iKymhpm1s4exqWhwWJaggXIFetnGPd7j6SpzCvdnH4sLJK3275bgxZ1IwxSb/ilMCGtqn/q8H+Kh6UhW2P32qSBEiiVC/n+FOItKtGHf0RypoBgDbjVcfV4+ZHqvlTzxZInG1nsyoxbWt8m/QMTx6cQAuN95PdKRjAQo/mRMoCMY9HAEop2DJ7jLcdGsL73CFsqCkaJEzDsYs5bZPXsVaxrdut/qJFtLmFQv6R+os58VvJXL0mc+ZEFwJOY4O5BWeWI8ndZZsbO4f06S4S0A6z+ktQDalqlpdh6D0nUWj35XooqURqd/WJ9XHmRheuLg2mZHKG7uqxJSNPur+GH+2zu1aUtofOxvIujTc0XD7tnB63iL0yNlAOEgt8KKUe7yp5+nciQQlIY9qX72SScpjDu5lxJ05c5tFhdSjpbv5VI8t7ljO8PjBrHymv/krQ+L6U81mATEh/Dwwuh+WQbNjZJHKAwxX+YLkj28cxp1rXH5OVI4HrInhIo8VYPusVKl7R0jBo4DdU149Qk+vqaPMtlK4i8kUl+KzE+QWOU32wO2OYHLxDImA5Ujt12Vy7sWAKjx++8yFYKpto/Ipj/Oh/fah0JbOebf1adTEilAOzZ5lM0csaqFa3XPHp7ZvQO0TEWuhuXolZ+SDk3u4Y6Y+DkgY2pLcpxrkjamTmLN1ckbtObSF0qJrRUHFht2ScxFjhcgabItZXzrB+pFVG1sRNfCh6t83Ka/oHjZsHsi1fdYh1s8hCl4Ck6uTTC59D8yR50L16gv0L/Eim0O3fpVOmHr8lY5tO/wRe/1bCv8Bl/s7aq/quNo9c4tWr7PEJtiTr/MQqLEA/eKqG1JCDYWhHV8Z3HcNeNZAiWmH97aAl/2zAOnVxE6CE7pZaCic+25Ltiz8TtsghhQqWtvxIApKnK+vSSV/reDijeu/4tRfaYI/8NhYfeoRJ7c6jVlApWGS4Tjaws1vWEZdJQpDp5AlOJ2k7K+5WU7A5WOy9IukmLqptPLmSOhFhCMVlbCDYfKZ89VsVRz47KmsK16I01lFHhzS1AAZlbB5x7uyeJ7My9D0lf77Pq3+9w/nnfM+C51P+bIXFns88VI1dsw76u2q+U7hxPaWseEA+YRjhI8bFUUPBzIKOYNehPzCCMA1qVZiCeTRdCYLtQYdxihw4eq+vthn96Vb3rlbX9j/gYQbVNUozU+nQBV9tBouAbuIweEy+Vqwmz+c+zIKD2oUcdlf5nb7YQ/fXAaXlzXMNpZdUq9PJ21lZevnYCGDjqYqoynn6l4sjvdKJPNdltlsngW1mLHkyUrw6Dsa9t4r95nX0Xp/Xjm/tPYV1HZ04ntxsEhIQ1dJK/lH1Cc4WvcqIsdj55CfX8Sc7arqN11Fz37qg42PcP6IrZdVkM4j1fmMwgs/Y89Sye0QnGWO3/w44h7oVExu54bviBCuvib+tcankQhqG0aHKyFD4LrQ49QBHgyRmS6dtNl/OEk7xNGq6tTsDQS5t3RrP1JUOrLovu68J5g92NZgw4QYWM0G1jDeKRns9ZR3R0GBmk1V1S0v102g5c8lp+Vuw5oU0pd5opEoBpAZ8nZrIUfWMK4nNXZ1PJ6kKDRIhw0yYiT/rNCZNCzY5g09+6i6nnUeXlegec4NmcG6s93ZkvEj3AERWIywHma+oXDr73MiANUe50e7iHEvKni+OccXTCPe4HLN1P/7CoE14VLDZsLOmj5GwVPgiXmPA1++UxmW3g/rzt60dcRT+M4hLWyJDOi7vITcXhVbpb9gM6uLFeMx7bpxWpYJEtCMcdNWRD535JHFB1VVmpErNZcSUFFQqzAtkAf+cNyjqiU9FJ1MvIaRsiOyGNJepjxdalaVrk2ZS6QbEKZxueE5sM+EDtsbplSZCgIn7yaWOiUpoHp3VbBWXcpSDidcGihsOg/x5rhZXM+irfKrTPvczrrU7D8S6ve2rhHu/N0ufe2hvWavCTY+v77PMYdV3/pME8ZaeB3NckaaJ+fEDxukizPJV0OVShM1YwdFI4i0rums3dje5bL5M6ibUXKdAoSsHkl2py+e9NBJGJWyLr8FN95EYjcu0lsH1R+5gBN6MVu200IZ+o4zhu7UZr9RvcU6IpK+eDcvtY0Q22FvfiA4LyL/Q1vYn71SK0/0VCOaPd5qaqF8ibtsSbTeXiFYoV8sI+e4jDDWV1JZvVRopkKFTY1yb8PcV0+aV1FfDZEMRBe2tMxEd7XTptsP8yYfTLDfNjSOjL/1VlTRdoMhoCZ3kKmNO7P2mBtoLENPWKz8ebS02JNcKpbnqSRKRh3YdYJ1fs9VCy6XKimy7oLsigtbpZBkcI3yMR077vJnjDBbYsMoiCU+fufF7Brpx0Dzue4bBCQe8+9cNoj8//pzF0Bo980JcAvOMCdleB5LrNPTbykfFsTHWDi6rz3PsREUf9lS7KtBmFPfAs4EATUlAKzu9tbirsCGy8+iUIaUgxZEus5bpaiyj8LmMf7RH0RTAdj2VZ2Ekq0NllO2jGLos0tFOzpDDsvFZRdmBMkxVvzc4d5cJyEvLZvXs21G6Ty95sTZN4NMGgfp5ZKcStpd+x9Ar9YHiMO6ioJQecV0avFvaGQIZzXYqykU6peTqCK31kZZFyhTItrL3kVhjqZUUt44YNuxpm3w4jIf8XXy3gbA3aCSgmzed66dein1+fvzhpR4U3f6qSM9V8GvkD6dY37PIL08COKcZiIpg+XjM8cxEBCh8Z1vOBfSQgYr1lAuE5eMi19KxLnlGLuKqPtZZQ0Yyv/x9iPerXNDtfJ/YfoUXKLgEV+Ju6bZpapZBx1PsgFQtaPIa+YC4PZqQSWjvv83ETpmZWMh4A0+ow8z57hBG3qaskOTK2w8WbEJSXyfDeK+19IZt4SwEWATP0SCnpiATdnkWdzhoZilqeh9mA2qJATeN/VxhSUxYLXZ+aaxfK/bBW0fO4xF3zwjt4xpdPzPFehOa3DKhLWn82bFpUVF49gV3O38xepMg8yVYIUeLTDIv7i1QnjKNg/Cx6mB99g+W3yvTtrfjh/ryLR6j5KbFeqpLK3usMBHEw+uBAbG96UxEch5sQ1pNA23mcoANEmBgDGG9XUz4IoGNKLQ8Oh/L7hdvrJVrtccU8kzM8R8ki9MO8/SEyT3ZeKQtz5Kt98/7bKMhYXUE6mJQES30UY1zG0Bfai1xWzF1t6S2dYVjWgihTpdEUu6HfgzqmrZdaflbQcy/squzHECLO+01nc6osynU0CrlhATki+YxqQDWHYx1O/W03CcMTVMHxiMDyY+WzvuN8TfcC/Ztyd1ImWTx5ldsVBXocVDJFzyo6v76/HhRdew1b7CoMUyAawhCIAoMlbw+fr7yMs/rMXWm/2ao34y/b7NsSF2fvEgYTvo1Yimk6p+2JLTZGHUf1/gNP8MDdOZ7RJtlnP+CTshroDP8cJjqRJ6YWArVZfdw3nTqwYoIXNBFGs/ObUWcxOJmkEOfjX3Tekm6SOjw5qZqWOdQJHX9ldXYw3UwfKx3sPZk7Fc5YlKEc2U7kUceA2WJwUPJ2sw4x3JqLyCCc31tMOfJdbYLSKfJaUd2fmt4MB9UMnLY6Y5+3ArV6dbcqYu1R2q5aif07+Kl+r19wGHgYP5i7L4i9RhvLUWl58rBVb0zHV2THdehZ4m0N52mVqnOmVuGVzMEVwuhfsex+RJazng2aXee/j1nshe033MTLyPe80gwlOCzz8GTwIDYQI4cgoZuVoP/LDwcbJmfFQjvvPmirsAGM8tZLOnLm1+VI/6kDfGMc7swhQZ7uQqqzyAe8ZfqeD8Qez6z0eMd3XUXlykNIX3hC3GE7kf7kto5uDxRHX+tHQh4SJXIbccGQtQoHHqXhBarvejmlENLHF6dxZiNPxw70PYEURokYHcwkn8Xysq8+s0VMFH1bkE0RSJEZB1fVSMG6KNiCpm7SEOMohPEv/D/14OafRJTYW8X4srHYHU2/e+03NwXTamfrT+hgNZs7lLSTQnuwomUQ88MAPIeYEAAa8U1o9D0p376Co3ay92BdIx0JClzUg6lYldOiqhptV+CSkBXV+rkKj/RgRkMfqs8ex5RDz0j9IgLxN70j5Pn+sl7eeLBvAz9hb619jKomJTxIfc9MyBic/vJ1wHy5A912UiWVppDztCxM/qHwjizSQGdMZgWnd+w8YZfPVyf1K+LGQNLUceuWeyRrs91lARW/KrjkJ1BjZ5jlrlXThvhvGEFLQpBDexTFsf7w0boyRtm2NJ9JuR6VO+O9pmic73AJmLonL3Rq4gxAHSUjjPEc/NnipXUyHCmvuiXV4ueM+axhd01X07UmaF9xUQxZwDP8cXIsoAaNPloqN6nPTXE2lJEpv6SmI6CUoSNdmcagJMhjzVCD3Nxrv2I+iubU1UIceqNaeMfrqgwd/DpZdj8eV0rnSDd7b89NX0fXRerNiTOkNoV0qqZwCajhD60rypsO8pbS8FzleGKxFBDf6Ogsd51qeXuVvbG6Az55qeCbi9OaLW2jRIiTOfHRgqUsRO3JDuEg0CDBCwyoVQhOSU3riCTPtleRW7oR0BVAvjbW5tlU1yZhp2fJ2fSzBi0UbjmMoysv8vlQwDsmFeOYE15vY8Rok+u0Hc4dz/SOD23V8kFbkDlf57yxZEiNhp5R0rcbh9PHU9y2i8RDj69Y9qAo+Wrr0K73LLXIWIqh9kHrrMtnMWLrky6tbUJKXbJfg2xAEof4t+s/Q4juJGR54RmX7lX5Ax1RaT6rq1kB3EDQMZVOr+mBfqqjgJ7Gcrnr7CmA+ZETi+81BqvVIdsBkOLPz/vbBR/pXF0LPme8qfIx5HCyW11GjcWxBmhjGPxSW3lBjDgtLx3GNV2BQfdltnANufqATcdHM1ftAuFcVpjyNpb3QBSbgv8iz06T4PkRS2Gv48GZ6pXH1yNtOu482Oh7/c7k+dp+86AqDC5fjpZL3xzsyousSUGIOqQpUpnEMkmTjVzup1KB2esk4H86VtlX9q1l7MmhU3jB3xp9OeVJ0fGTRAZMR8EBWfreDD+88V5sjWW6nw4/zXgkJya1QaPVrGrDVE8KMGOMnmi9+vPmdM8t3DP4765uYPLzcZXWeecYfDnz3nNLzkBT/5yTwIWWEQdJDmvcQ1ZNzNGzsdHmlfEGNHcLjQTN8OowK5M6gphaIYM9TmeX2RdihOob1LYQQ7in9WYGweZHARmDPmmHQRuJ6LtTGZ0v30Ibg3sHcIf5Jm/15ACZypZWMQjXg5aKMQLioygNzWKLuqbsg+urrdWjEhQYeKUr1RQTZGZ7qgN0eVJWCfw1uYtP6KpFNtF8945JhCU1VUdjIuWu6GRakdnhRclqjeHqOtBKkIajden8/GaimZwZY9+Xs9an2Kskdp+VZF9GSxi+spzqFCQTuioBp8JT+cW/Pz6oxTmnO8K4r5welZMpEz1HPyr4BtEoZe228ZtRrhfrqqRUgIz8UwVE8AFhUgtJj0v5DgF6wW0cT2gp9Ry7Urh6QT9tuKocCtJLRZncb/QLh58CGuA0ytpJFzk7AQKyKqghVcwfjp6iRXtxlINdFkjMTou8WfHUxOp9KhCZgo8dzxqkAO2dTETKgy0IAAxzEcFA7WIfrKb0Smw7lttxAk0CJ8z7xmI4Kq7BmT0i4qDBiAxURa5lWO88CINLR9DgOtwPpSLYtOhASspx8yOL9nad6E9jGPstQYH80wq1yao1YwTkxg52QjXMgGRNVDWPilLX0hG72TZ2dy7gTWCfpE0OwQ9vCTMNN9ptzxavCq8IOA2zwV+5fyviN9Bw6k4a71zpkOmYA0XWQlAkp46QMNDQVfG48aMEiXV8RgITEePN2x8X4tZjrDr4qqijrupo/GtDKiiMpLaUDLWaURCyloqEssY216/MqTMph1wfEKxck4XltMnFNPNI5Dx9J/7zyMpatwOaZ60VmhYbvlVPnPj6uyxOQlKiS8EkEqNsdTlEusypE1OZoBsuh4WGwzlC5jWj1WVYzsVhSHl+gDjoXxlo4op4oIzY6U8NO8UaqFf059sjU2Wc+59BnxHJJR3TURDbCN/pHqocU5QGfQ7O5x7itSqOdHQPCRx+tTtPmA0MfHC1c9pDrPIdk2Z7L+sDf/c+KHIKyj9mHfGJmeqZH286IpsqamHHzudGbCB5nCv6XSUpEBG4inyPrenJt2PN1iB2cEkOrWrCN9ChSfyth1hmM94vwlFl0+24gh3RnhwgTlworUAvCGmOK80XJY0Tawh76mr/SV6yv9lrHSOalQlEIUeSBleuM2bQ2VeXZ7BHlNC+ooGmimf75NZ2Vm6iXmYH5YOBRlPYBc2Zd3iITGurT14HimNMsqRSfswh8mqU8uvj1xVbo2ZDis9jbMjE9G1VF0qSUO+Phdk1lz7cEniUN/r1jq3H+sxrtIeQYUrZ8e4JiCN9TIFGe91bvPG7bDfFVXP246izjzce9Y9+4qj1D5Lo0NkvpgidPUVGD5dMK0MWeoTvBnp5gkmMK6T0KFettzhoi0oYh19itYHFxW/D+0on244MvAO2Y2UAJSugfXljmOGPMJymsgCKDXYybrUethaNhKNc8OxTBBzCPYkFKa6VYTp/eST8Rsan8qnpTY0I2axBB8FIS67eDcD4fegPW28X5kpR8cdlRXPJ3N/riLuKvG5K3ftqFni1ctg0v54ghUerzwBMieAI/yw4hzWWgFLtdkYGETVf7aMlFws1GjqjHg3Te2k6tF2rCVGx8ZtGzga33Vg00aPdi7+1QMx8uPjVb9KMKahVju29ecKM+O+QjZBqElGn1y7ekUHE+MrmaqkzkWXa3kl5sLCag2Mn1PuX1dJqg4qD5AStU7FbBNCiEOUQ5/iv4JCDUiYSg7d3qZiDCbWTSSabfDOUd0zBZ5SNNFxUd3Lk54RPmVbAwnHKGa3XssbfXa4iHvhlZ7Xo4n00WxZd/d++TJQLfWsp5rSmv2YzHxb0hFtHUH5zqirAhh+TEzDRqyF5RvqNuOa3Fjvfj9CIEJULLzAeHAc7UIuGyTCMqZS4i7CQvQX20wY83fpI+BveWEi1bWKmlcx2zC8D83mQtYIzOOIcj2Tygoc0DkJDXjtkSpOWHddCvJgvMdyYyQSXtgxUUZOa+cdCZJ5Cveuzgkfr+x33fORdnb+wHSThbMi+vz/9c2UpI+f4WTDATdJHIDwRrtE/qinhtDlijM8KiicfRAdtVYi6e1D5jhisfI5fJgpn5Wd8ASWXmomYhC77C6qOKHx3HTiVSKqK5647bKHyrXVUD1CxA/3dNFoSsowEyWRDnuwgRhfAuGdeGBlJhH5Uqz3D694ZTA+F3GGGbvxtNjHy1dHKFD3oFgfeESR4pKoq4B8ZqRGj01W1BiG7oI7M0V8tVZDzlXoYtc81Za4iLmGfgyKZI1JjEYjBrMHVPguVeobMvF1KIeNUrFxMgdNClYaj9YeuRQ6KBewqWpSh5Prip9TR4uANYTTXWOPZcw6cXTcLOF+hIm+Q6PTKypRTDR6SbOPDrDoIzdBD8VolJsYfe9Yk+t1FwXk1XzxqGTU2jivEH15xma5R6k80aAtZ1SVZKudWgfudlZCoG62ZOqUqeE+aVxTGVPVPwOSz8/vk/dxW3uxBJNo8Py39wVH6HqbHftslfu7aZmTRAKy5lWM6WfgvaLqeGCSvLNb58p5yBxaPr++WJhznzVJFsX3oY4G45QYiRnWVb/S63CFkqGtk0hsbrCQ24wflid3Dva6aq9VdAkGXSZWEVG6fvEgok1sFtsmqbtiraP4fcjChVtHpSV1jBf/sOr2MhRFJ1pralcmaT0LWUEgrpUAquxKO+aRrW18h1TheoZYDHvqXJ0cbLZ63eTdgUGaLmfNW0QhPrw+7TtbVLFgGS91BsDX0ouzI3RIJQNcq+Z1R5kX+/46reS9D2wM3YCaopMw1PU1yxl0OmqVRu0OD147URVQMiqDxDE0hwaIvtcdKwjATtHaQB20bvh2XKeJZnRMDKqUUPD19a2dTiN86OvEeVGNw7UAVNNyq9Yn8FLl01leo1I2eTDsGt3oG+ujDHQWrnzkzX/FMA69/p/dKAbYmQZpGpFFjok7R7NZPsMDrAqCrWRZUmTWxDX9lYhz+JOj86EYm6BFLPmnok8jjxlS/CSKs1Z9hSaKVCpa8QNoKu11Ccg8X3PVBEX4xd4Bk5a0UEH/6c4Ib9sXX4M/fw4QMvUvaGleYwzAPDLTue0cR5/07c2e6wGUQybgGnLxPVGbeDYjgvYmHXXESVNer5e+IBVAJpUUJ500kpZWTag+gk7wk+oPE3+n/az0eTNxVN+0rSOFKmcHQBs8Wr6edeC9l/cErvpRJgzRPlJuutQ4Mz1Y8upmPIGFvPGOc7XJHnEh4MZ2rBtdtAGbsQyvwCwF01baZ6MFj1FGiTwyzY0Tyy8ngqCu7YGT4cZG25dnNU6jCAdOeIi4Jp867DZLOENnfMEEpccxLbYXT3OF1ria/0sDpM3dMz3CqO4yVxgfdW8ZeCzawIhWAh7oeUxHx0Re0jT+2tDqFNlokYzcoYXpSN5Ym3d6ZV3zOYkztyFYy7tfaLBu4cJuPHQJz7yz0NbjEDBiXkFdh5Hv7M0WqlIuTVSo/j+iQ06pciZiWBWUOIxvWkjOkBg5+lRUmgE9Vq3DrW/OyB+Ka8CqqGofYk5wyRjymmv0dZqUX9KnUg2dyyO/02c3VaqHbnDKiTrSpUeceUrBTT9Rg78xzHM6b7pCbYFDBqgIhCwN60tIdzn9HkAw/5+l7J/fWHzvitCj/eJ2a3CYr61IlSkMloJvqPZhzrSMR92U2PVyYzJCTaMjmeoHZiPMV5bA0BeIz34/E5ucxi66IO/Ue73/OfHgdIntoI8z6K37V708HJHVoUx8DOmwCvLYFaGWrC6McgJ9tFpnKNpcszUEzyC+t0fSyznBbs95/9OZ4MobOxqzaUqNbvMTfk8RptsevgUU2m8tpnUJwKB2Ap4Z9doibVy//D2Q8HNeYB78IB/7L7TX5TIZxwLPvQsxlqXMC+/WboP60oCdZ+g2wtCNGNOl5twgEl8K4sgu/Lo8k0rhXsinNYNytVom277td+xkmLr/NHrG+iqQylivUZXJBfzKhLNpuj5aGz9Ly/5tGhDaJYHRUXu0Bc9TpSmyNoL8RRCftY58p1b8N8q/BTDHiEfehyB9CQxbGYdmhLoaGgW7+MIgZ3p+neH5B15zmA2i6I7QyHj4YBX6xWcQW9ximsx0Q483A68sV2Rudl4mkV5suZbep3wPNzzWy27Pf/ICJBzxd5wPd3rzNmBu+R5qcUFnmbQv/j3dZY30QSQOFol3XQuK6sLbIvuKTTJJ1MB4pZ9qlQyYVKqjovF4NGmGgzaKADtctygxdQL6ijgLzeH8dg3zhJ+rGw+jmCli2pj8sxSOk/G7jRtCmEomZpGFnBuwZYAp8tEzRkS6WTYb6MuFTqtxzFqTJyPQxtO64Dm4C+T0mYtclDb59vCuvyLG4XNucSucyITGFHeADc2zFEqBqKA5lPlZCzFKqY9SPOeCC/T7GLsNjcxuZayfVBKcf0TMQ/Zo7KbIwEo7k+OAFyx7qtQ2iwCcl9qP0qnoWCdEJgk9tY2BxovPz//zv/73+59/TudfGfZ0ElWx2q8twpXTVWmiulzkwTaPbRQBFrtdnEvAtJBu9yT3Trzs9EtxvwasMGwcjqImN7uHchwo4R8G2v0QIgOeSoHMO9qZ4YdKDSq/EFNkSOqElm4oJWMTCtvVKIInOrI9KHr1UUmEIb2obKqa1PQeoG/mkGqpRc5ZUXIwDGTgxhSMoo5JzvPP/DyHkt/ZmK0hj0pl+pxk1cUwPBtWyaR2l6R2t/FM3O6C3LrgQJo4lE5YIogX18GEtprrzoQN1FJMzM2c/XzgO7CzKsitFC/P3rmuUKqu55qwK2MjRvFgtpoJRT1m5Ihf8mVEtY7KrV0T37ObsWDJR5wvLpgOaLL2mNvuoPcsqD5kDwSzUppJr9NA7seNR3NmQTD43lNNQG4lgRcnFudXxFR53JZqv6mO0/j65m1JTLrH55YrxoHHeLtHUTNspXxI5VWxRo+EqI+P72zqu0pB1/GeIjVOQYNxWXiDwcURuKoezwX6xn3iyAfYsyk9naYIlLGuzfIzO1vaxOoawmA19A0U6tz26Q5UfDbr3/cr3LpxrpKpQG8y5Ol53yqrS06bzIjO8tYuJKmYwPDwO52dn9DPCg44xU+YpFKSrggDzSPHW06Z5pfnEJ8BvXc/NFFd3w6NdgWBvoW5z3/e71dmW/55/7w+P/77n9d/vX/+6/36v+/Xf71+/turs+9nn4C1qVKcZo1fJQ6LGfo7gFz44Eb4ov4ec3m4u3QqHnQa9OL6D1IxWK9h6EKAaDcpHWyoO8W6yrowIazBzyaakAo7VFbpqYxh/iLjkk/5PZeZTWgxYbOmV63qx+jmAr9+svYzY+P2ZT9EvaQTFYEa8Ncajs7QXQCrVkyKryOhRtIbh+juyqfvw2rppe5CLzGx5nIT/nHI0dHm3bZysImrF8e66y7ataKY2BcJeg3GCcpJgpERhAi1dkLPTwXn/MiI5ikyuJ5P/XyXeF2I3D+DzMufGN6a2YuULqyANengxOFit7zmkvPyC+8eQrqXgfF23TL3D/7AUOOCUpmGz9euMBoEKp5tS0+VO7fnZ7Z0Pl4Gb3amIHuGqTeI+k9OMQ89n9+fn/85o2Xf/MtDv6yZjR0xRDtD/0TSbK0EbQa2IZFJ8zDY8bnhO1DxFuUCYPIBDLJfeu1yhEjqjMznARNVkB9odMa7Kl0ycySMi84dyJjfAA7VE/y4EwSKCdGlGTWXLCux+SUr3iY80e9YUxSWr0nHrnHkdUAPHfaZbSFUVecU+yTjZdJwt0VY8EMauS47XO7UP6aRvKKALNRsEyXeZGPuFE5ml+K5V7yonhhQ8w81Y7WeYzVmquReNCMy/K7zzgXGddeh7VUVUqU5AwpRARHQfxcYL9zPS635ccIRScxd0EPBFB5Nt7IajrssjNjU4wy7HCv9fHx//Hz95/8BnJuEdwTx5cIAAAAASUVORK5CYII=", import.meta.url).href; } catch { return ""; } })(); -function UA({ +function EA({ overlay: e, state: t, mediaTransform: n, @@ -18310,220 +18325,220 @@ function UA({ maxProcPixelsVideo: u, disableWebGL: I, videoGradeThrottleFps: p, - safeAddListener: M, - safeCall: Z + safeAddListener: S, + safeCall: A } = {}) { - const A = Z || pt, g = M || _e, h = (w) => { - var X, V; + const C = A || bt, g = S || Qe, Z = (w) => { + var R, Y; try { - const R = String((w == null ? void 0 : w.ext) || "").trim().toLowerCase(); - if (R) return R.startsWith(".") ? R : `.${R}`; - } catch (R) { - (X = console.debug) == null || X.call(console, R); + const F = String((w == null ? void 0 : w.ext) || "").trim().toLowerCase(); + if (F) return F.startsWith(".") ? F : `.${F}`; + } catch (F) { + (R = console.debug) == null || R.call(console, F); } try { - const R = String((w == null ? void 0 : w.filename) || (w == null ? void 0 : w.filepath) || "").trim(), j = R.lastIndexOf("."); - if (j >= 0) return R.slice(j).toLowerCase(); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + const F = String((w == null ? void 0 : w.filename) || (w == null ? void 0 : w.filepath) || "").trim(), N = F.lastIndexOf("."); + if (N >= 0) return F.slice(N).toLowerCase(); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } return ""; }, f = (w) => { - const X = h(w); - return X === ".gif" || X === ".webp"; - }, b = (w, X) => { - var L, N, q, O, B, J; - const V = document.createElement("img"); - V.className = "mjr-viewer-media"; + const R = Z(w); + return R === ".gif" || R === ".webp"; + }, b = (w, R) => { + var V, k, K, z, B, J; + const Y = document.createElement("img"); + Y.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (V != null && V.dataset) && (V.dataset.mjrAssetId = String(w.id)); - } catch (T) { - (L = console.debug) == null || L.call(console, T); + (w == null ? void 0 : w.id) != null && (Y != null && Y.dataset) && (Y.dataset.mjrAssetId = String(w.id)); + } catch (P) { + (V = console.debug) == null || V.call(console, P); } - V.alt = String((w == null ? void 0 : w.filename) || "") || "image"; + Y.alt = String((w == null ? void 0 : w.filename) || "") || "image"; try { - V.decoding = "async"; - } catch (T) { - (N = console.debug) == null || N.call(console, T); + Y.decoding = "async"; + } catch (P) { + (k = console.debug) == null || k.call(console, P); } try { - V.loading = "eager"; - } catch (T) { - (q = console.debug) == null || q.call(console, T); + Y.loading = "eager"; + } catch (P) { + (K = console.debug) == null || K.call(console, P); } try { - V.draggable = !1; - } catch (T) { - (O = console.debug) == null || O.call(console, T); + Y.draggable = !1; + } catch (P) { + (z = console.debug) == null || z.call(console, P); } - V.src = X, V.style.cssText = ` + Y.src = R, Y.style.cssText = ` max-width: 100%; max-height: 100%; display: block; transform: ${(n == null ? void 0 : n()) || ""}; transform-origin: center center; `; - const R = () => { - var T, D; + const F = () => { + var P, H; try { requestAnimationFrame(() => { - var Q; + var $; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } }); - } catch (Q) { - (T = console.debug) == null || T.call(console, Q); + } catch ($) { + (P = console.debug) == null || P.call(console, $); } try { l == null || l(); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } - }, j = () => { - var T, D; + }, N = () => { + var P, H; try { - const Q = document.createElement("canvas"); - Q.className = "mjr-viewer-media"; + const $ = document.createElement("canvas"); + $.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (Q != null && Q.dataset) && (Q.dataset.mjrAssetId = String(w.id)); + (w == null ? void 0 : w.id) != null && ($ != null && $.dataset) && ($.dataset.mjrAssetId = String(w.id)); } catch (E) { - (T = console.debug) == null || T.call(console, E); + (P = console.debug) == null || P.call(console, E); } - v(Q, w), Q.style.cssText = ` + L($, w), $.style.cssText = ` max-width: 100%; max-height: 100%; display: block; transform: ${(n == null ? void 0 : n()) || ""}; transform-origin: center center; - `, po(Q, "Failed to load image"), V.replaceWith(Q); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + `, fo($, "Failed to load image"), Y.replaceWith($); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } }; try { - V.addEventListener("load", R, { once: !0 }); - } catch (T) { - (B = console.debug) == null || B.call(console, T); + Y.addEventListener("load", F, { once: !0 }); + } catch (P) { + (B = console.debug) == null || B.call(console, P); } try { - V.addEventListener("error", j, { once: !0 }); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + Y.addEventListener("error", N, { once: !0 }); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } - return V; - }, v = (w, X) => { - var V; + return Y; + }, L = (w, R) => { + var Y; try { if (!w || !(w instanceof HTMLCanvasElement)) return; - const R = Number(X == null ? void 0 : X.width) || 0, j = Number(X == null ? void 0 : X.height) || 0; - if (!(R > 0 && j > 0)) return; - !Number(w._mjrNaturalW) && !Number(w._mjrNaturalH) && (w._mjrNaturalW = R, w._mjrNaturalH = j); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + const F = Number(R == null ? void 0 : R.width) || 0, N = Number(R == null ? void 0 : R.height) || 0; + if (!(F > 0 && N > 0)) return; + !Number(w._mjrNaturalW) && !Number(w._mjrNaturalH) && (w._mjrNaturalW = F, w._mjrNaturalH = N); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - }, C = (w) => { - var X; + }, h = (w) => { + var R; try { - const V = Number(w); - if (Number.isFinite(V) && V > 0) return V; - const R = String(w || "").trim(); - if (!R) return null; - if (R.includes("/")) { - const [L, N] = R.split("/"), q = Number(L), O = Number(N); - if (Number.isFinite(q) && Number.isFinite(O) && O !== 0) return q / O; + const Y = Number(w); + if (Number.isFinite(Y) && Y > 0) return Y; + const F = String(w || "").trim(); + if (!F) return null; + if (F.includes("/")) { + const [V, k] = F.split("/"), K = Number(V), z = Number(k); + if (Number.isFinite(K) && Number.isFinite(z) && z !== 0) return K / z; } - const j = Number.parseFloat(R); - if (Number.isFinite(j) && j > 0) return j; - } catch (V) { - (X = console.debug) == null || X.call(console, V); + const N = Number.parseFloat(F); + if (Number.isFinite(N) && N > 0) return N; + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } return null; - }, S = (w) => { + }, G = (w) => { try { - const X = w == null ? void 0 : w.metadata_raw, V = X && typeof X == "object" ? X : null, R = (V == null ? void 0 : V.raw_ffprobe) || {}, j = (R == null ? void 0 : R.video_stream) || {}; - return C( - (V == null ? void 0 : V.fps) ?? (V == null ? void 0 : V.frame_rate) ?? (w == null ? void 0 : w.fps) ?? (j == null ? void 0 : j.avg_frame_rate) ?? (j == null ? void 0 : j.r_frame_rate) + const R = w == null ? void 0 : w.metadata_raw, Y = R && typeof R == "object" ? R : null, F = (Y == null ? void 0 : Y.raw_ffprobe) || {}, N = (F == null ? void 0 : F.video_stream) || {}; + return h( + (Y == null ? void 0 : Y.fps) ?? (Y == null ? void 0 : Y.frame_rate) ?? (w == null ? void 0 : w.fps) ?? (N == null ? void 0 : N.avg_frame_rate) ?? (N == null ? void 0 : N.r_frame_rate) ); } catch { return null; } - }, W = (w, X, V, R = "metadata") => { - var j; + }, W = (w, R, Y, F = "metadata") => { + var N; try { - const L = Number(V); - if (!Number.isFinite(L) || L <= 0) return; - const N = Math.round(L * 1e3) / 1e3, q = Number((w == null ? void 0 : w._mjrDetectedFps) || 0) || 0; - if (q > 0 && Math.abs(q - N) < 0.01) return; - w._mjrDetectedFps = N, window.dispatchEvent( + const V = Number(Y); + if (!Number.isFinite(V) || V <= 0) return; + const k = Math.round(V * 1e3) / 1e3, K = Number((w == null ? void 0 : w._mjrDetectedFps) || 0) || 0; + if (K > 0 && Math.abs(K - k) < 0.01) return; + w._mjrDetectedFps = k, window.dispatchEvent( new CustomEvent("mjr:viewer-fps-detected", { detail: { - fps: N, - source: String(R || "metadata"), - assetId: (X == null ? void 0 : X.id) != null ? String(X.id) : "" + fps: k, + source: String(F || "metadata"), + assetId: (R == null ? void 0 : R.id) != null ? String(R.id) : "" } }) ); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } - }, y = (w, X) => { - var V, R, j; + }, y = (w, R) => { + var Y, F, N; try { - const L = S(X); - L && W(w, X, L, "asset-metadata"); - } catch (L) { - (V = console.debug) == null || V.call(console, L); + const V = G(R); + V && W(w, R, V, "asset-metadata"); + } catch (V) { + (Y = console.debug) == null || Y.call(console, V); } try { w.addEventListener( "loadedmetadata", () => { - var L; + var V; try { - const N = S(X); - N && W(w, X, N, "loadedmetadata"); - } catch (N) { - (L = console.debug) == null || L.call(console, N); + const k = G(R); + k && W(w, R, k, "loadedmetadata"); + } catch (k) { + (V = console.debug) == null || V.call(console, k); } }, { once: !0 } ); - } catch (L) { - (R = console.debug) == null || R.call(console, L); + } catch (V) { + (F = console.debug) == null || F.call(console, V); } try { if (typeof (w == null ? void 0 : w.requestVideoFrameCallback) != "function") return; - let L = null, N = 0, q = 0; - const O = 10, B = (J, T) => { - var D; + let V = null, k = 0, K = 0; + const z = 10, B = (J, P) => { + var H; try { - const Q = Number(T == null ? void 0 : T.mediaTime); - if (Number.isFinite(Q) && Q >= 0) { - if (L != null) { - const E = Q - L; - E > 0 && E < 1 && (q += E, N += 1); + const $ = Number(P == null ? void 0 : P.mediaTime); + if (Number.isFinite($) && $ >= 0) { + if (V != null) { + const E = $ - V; + E > 0 && E < 1 && (K += E, k += 1); } - L = Q; + V = $; } - if (N >= 3) { - const E = q / Math.max(1, N), K = E > 0 ? 1 / E : 0; - Number.isFinite(K) && K > 1 && W(w, X, K, "rvfc"); + if (k >= 3) { + const E = K / Math.max(1, k), oe = E > 0 ? 1 / E : 0; + Number.isFinite(oe) && oe > 1 && W(w, R, oe, "rvfc"); } - N < O && w.requestVideoFrameCallback(B); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + k < z && w.requestVideoFrameCallback(B); + } catch ($) { + (H = console.debug) == null || H.call(console, $); } }; w.requestVideoFrameCallback(B); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } - }, k = (w, X, { compare: V = !1 } = {}) => { - const R = document.createElement("div"); - if (R.style.cssText = ` + }, X = (w, R, { compare: Y = !1 } = {}) => { + const F = document.createElement("div"); + if (F.style.cssText = ` width: 100%; height: 100%; display: flex; @@ -18533,16 +18548,16 @@ function UA({ gap: 12px; color: rgba(255,255,255,0.85); padding: 14px; - background-image: linear-gradient(rgba(0,0,0,0.42), rgba(0,0,0,0.42)), url('${BA}'); + background-image: linear-gradient(rgba(0,0,0,0.42), rgba(0,0,0,0.42)), url('${DA}'); background-size: cover; background-position: center center; background-repeat: no-repeat; - `, !V) { - const N = document.createElement("div"); - N.textContent = String((w == null ? void 0 : w.filename) || "Audio"), N.style.cssText = "font-size: 12px; opacity: 0.9; max-width: 90%; text-align: center; overflow: hidden; text-overflow: ellipsis;", R.appendChild(N); + `, !Y) { + const k = document.createElement("div"); + k.textContent = String((w == null ? void 0 : w.filename) || "Audio"), k.style.cssText = "font-size: 12px; opacity: 0.9; max-width: 90%; text-align: center; overflow: hidden; text-overflow: ellipsis;", F.appendChild(k); } - const j = document.createElement("canvas"); - j.className = "mjr-viewer-audio-viz", j.style.cssText = ` + const N = document.createElement("canvas"); + N.className = "mjr-viewer-audio-viz", N.style.cssText = ` width: min(1920px, 96%); aspect-ratio: 16 / 9; height: auto; @@ -18552,25 +18567,25 @@ function UA({ border-radius: 10px; background: transparent; `; - const L = document.createElement("audio"); - L.className = "mjr-viewer-audio-src", L.src = X, L.controls = !1, L.autoplay = !0, L.preload = "metadata", L.style.cssText = "width: min(680px, 90%);"; + const V = document.createElement("audio"); + V.className = "mjr-viewer-audio-src", V.src = R, V.controls = !1, V.autoplay = !0, V.preload = "metadata", V.style.cssText = "width: min(680px, 90%);"; try { - const N = TA({ - canvas: j, - audioEl: L, + const k = KA({ + canvas: N, + audioEl: V, mode: t == null ? void 0 : t.audioVisualizerMode, pauseDuringExecution: !0 }); - L._mjrAudioViz = N, j._mjrProc = N; + V._mjrAudioViz = k, N._mjrProc = k; } catch { - L._mjrAudioViz = null, j._mjrProc = null; + V._mjrAudioViz = null, N._mjrProc = null; } - return R.appendChild(j), R.appendChild(L), R; + return F.appendChild(N), F.appendChild(V), F; }; - function G(w, X) { - var L, N, q, O, B, J, T, D, Q, E, K; - const V = document.createElement("div"); - V.className = "mjr-video-host", V.style.cssText = ` + function x(w, R) { + var V, k, K, z, B, J, P, H, $, E, oe; + const Y = document.createElement("div"); + Y.className = "mjr-video-host", Y.style.cssText = ` width: 100%; height: 100%; display: flex; @@ -18578,43 +18593,43 @@ function UA({ justify-content: center; position: relative; `; - const R = String((w == null ? void 0 : w.kind) || "").toLowerCase(); - if (Lu(w) || R === "model3d") - return Yu(w, X, { + const F = String((w == null ? void 0 : w.kind) || "").toLowerCase(); + if (Yu(w) || F === "model3d") + return ku(w, R, { hostClassName: "mjr-model3d-host mjr-viewer-model3d-host", canvasClassName: "mjr-viewer-media mjr-model3d-render-canvas", pauseDuringExecution: !0, scheduleOverlayRedraw: l, onReady: () => { - var F, Y; + var M, j; try { requestAnimationFrame(() => { - var U; + var O; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } }); - } catch (U) { - (F = console.debug) == null || F.call(console, U); + } catch (O) { + (M = console.debug) == null || M.call(console, O); } try { l == null || l(); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } } }); - if (R && R !== "image" && R !== "video" && R !== "audio") { - const F = document.createElement("canvas"); - F.className = "mjr-viewer-media"; + if (F && F !== "image" && F !== "video" && F !== "audio") { + const M = document.createElement("canvas"); + M.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (F != null && F.dataset) && (F.dataset.mjrAssetId = String(w.id)); - } catch (Y) { - (L = console.debug) == null || L.call(console, Y); + (w == null ? void 0 : w.id) != null && (M != null && M.dataset) && (M.dataset.mjrAssetId = String(w.id)); + } catch (j) { + (V = console.debug) == null || V.call(console, j); } - v(F, w), F.style.cssText = ` + L(M, w), M.style.cssText = ` max-width: 100%; max-height: 100%; display: block; @@ -18622,22 +18637,22 @@ function UA({ transform-origin: center center; `; try { - po(F, `Unsupported file type: ${R}`); - } catch (Y) { - (N = console.debug) == null || N.call(console, Y); + fo(M, `Unsupported file type: ${F}`); + } catch (j) { + (k = console.debug) == null || k.call(console, j); } - return F; + return M; } - if (R === "audio") return k(w, X, { compare: !1 }); - if (R === "video") { - const F = document.createElement("canvas"); - F.className = "mjr-viewer-media"; + if (F === "audio") return X(w, R, { compare: !1 }); + if (F === "video") { + const M = document.createElement("canvas"); + M.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (F != null && F.dataset) && (F.dataset.mjrAssetId = String(w.id)); - } catch (U) { - (q = console.debug) == null || q.call(console, U); + (w == null ? void 0 : w.id) != null && (M != null && M.dataset) && (M.dataset.mjrAssetId = String(w.id)); + } catch (O) { + (K = console.debug) == null || K.call(console, O); } - v(F, w), F.style.cssText = ` + L(M, w), M.style.cssText = ` max-width: 100%; max-height: 100%; object-fit: contain; @@ -18645,18 +18660,18 @@ function UA({ transform: ${(n == null ? void 0 : n()) || ""}; transform-origin: center center; `; - const Y = document.createElement("video"); - Y.className = "mjr-viewer-video-src", Y.src = X, Y.controls = !1, Y.loop = !0, Y.playsInline = !0, Y.muted = !0, Y.autoplay = !0, Y.preload = "auto"; + const j = document.createElement("video"); + j.className = "mjr-viewer-video-src", j.src = R, j.controls = !1, j.loop = !0, j.playsInline = !0, j.muted = !0, j.autoplay = !0, j.preload = "auto"; try { - "decode" in HTMLVideoElement.prototype && (Y.decoding = "async"); + "decode" in HTMLVideoElement.prototype && (j.decoding = "async"); } catch { } - Y.style.cssText = "position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;", y(Y, w); + j.style.cssText = "position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;", y(j, w); try { - F._mjrProc = ku({ - canvas: F, - videoEl: Y, - disableWebGL: I || !!ye.VIEWER_DISABLE_WEBGL_VIDEO, + M._mjrProc = Nu({ + canvas: M, + videoEl: j, + disableWebGL: I || !!fe.VIEWER_DISABLE_WEBGL_VIDEO, pauseDuringExecution: !0, getGradeParams: a, isDefaultGrade: c, @@ -18664,74 +18679,74 @@ function UA({ maxProcPixelsVideo: u, throttleFps: p, safeAddListener: g, - safeCall: A, + safeCall: C, onReady: () => { - var U, P; + var O, D; try { requestAnimationFrame(() => { - var ee; + var q; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (oe) { - (ee = console.debug) == null || ee.call(console, oe); + } catch (ee) { + (q = console.debug) == null || q.call(console, ee); } }); - } catch (ee) { - (U = console.debug) == null || U.call(console, ee); + } catch (q) { + (O = console.debug) == null || O.call(console, q); } try { l == null || l(); - } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + } catch (q) { + (D = console.debug) == null || D.call(console, q); } } - }), (B = (O = F._mjrProc) == null ? void 0 : O.setParams) == null || B.call(O, a == null ? void 0 : a()); - } catch (U) { - (J = console.debug) == null || J.call(console, U); + }), (B = (z = M._mjrProc) == null ? void 0 : z.setParams) == null || B.call(z, a == null ? void 0 : a()); + } catch (O) { + (J = console.debug) == null || J.call(console, O); } try { - Y.addEventListener( + j.addEventListener( "canplay", () => { - var U, P; + var O, D; try { - const ee = (U = Y.play) == null ? void 0 : U.call(Y); - ee && typeof ee.catch == "function" && ee.catch(() => { - var oe; + const q = (O = j.play) == null ? void 0 : O.call(j); + q && typeof q.catch == "function" && q.catch(() => { + var ee; try { - po( - F, + fo( + M, "Autoplay blocked (press Space / Play)" ); } catch (ce) { - (oe = console.debug) == null || oe.call(console, ce); + (ee = console.debug) == null || ee.call(console, ce); } }); } catch { try { - po(F, "Autoplay blocked (press Space / Play)"); - } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + fo(M, "Autoplay blocked (press Space / Play)"); + } catch (q) { + (D = console.debug) == null || D.call(console, q); } } }, { once: !0 } ); - } catch (U) { - (T = console.debug) == null || T.call(console, U); + } catch (O) { + (P = console.debug) == null || P.call(console, O); } - return V.appendChild(F), V.appendChild(Y), V; + return Y.appendChild(M), Y.appendChild(j), Y; } if (f(w)) - return b(w, X); - const j = document.createElement("canvas"); - j.className = "mjr-viewer-media"; + return b(w, R); + const N = document.createElement("canvas"); + N.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (j != null && j.dataset) && (j.dataset.mjrAssetId = String(w.id)); - } catch (F) { - (D = console.debug) == null || D.call(console, F); + (w == null ? void 0 : w.id) != null && (N != null && N.dataset) && (N.dataset.mjrAssetId = String(w.id)); + } catch (M) { + (H = console.debug) == null || H.call(console, M); } - v(j, w), j.style.cssText = ` + L(N, w), N.style.cssText = ` max-width: 100%; max-height: 100%; object-fit: contain; @@ -18740,78 +18755,78 @@ function UA({ transform-origin: center center; `; try { - j._mjrProc = xu({ - canvas: j, - url: X, + N._mjrProc = vu({ + canvas: N, + url: R, getGradeParams: a, isDefaultGrade: c, tonemap: s, maxProcPixels: d, onReady: () => { - var F, Y; + var M, j; try { requestAnimationFrame(() => { - var U; + var O; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } }); - } catch (U) { - (F = console.debug) == null || F.call(console, U); + } catch (O) { + (M = console.debug) == null || M.call(console, O); } try { l == null || l(); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } } - }), (E = (Q = j._mjrProc) == null ? void 0 : Q.setParams) == null || E.call(Q, a == null ? void 0 : a()); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + }), (E = ($ = N._mjrProc) == null ? void 0 : $.setParams) == null || E.call($, a == null ? void 0 : a()); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } - return j; + return N; } - function z(w, X) { - var j, L, N, q, O, B, J, T, D, Q; - const V = String((w == null ? void 0 : w.kind) || "").toLowerCase(); - if (Lu(w) || V === "model3d") - return Yu(w, X, { + function T(w, R) { + var N, V, k, K, z, B, J, P, H, $; + const Y = String((w == null ? void 0 : w.kind) || "").toLowerCase(); + if (Yu(w) || Y === "model3d") + return ku(w, R, { hostClassName: "mjr-model3d-host mjr-viewer-model3d-host", canvasClassName: "mjr-viewer-media mjr-model3d-render-canvas", pauseDuringExecution: !0, scheduleOverlayRedraw: l, onReady: () => { - var E, K; + var E, oe; try { requestAnimationFrame(() => { - var F; + var M; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + } catch (j) { + (M = console.debug) == null || M.call(console, j); } }); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } try { l == null || l(); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } } }); - if (V && V !== "image" && V !== "video" && V !== "audio") { + if (Y && Y !== "image" && Y !== "video" && Y !== "audio") { const E = document.createElement("canvas"); E.className = "mjr-viewer-media"; try { (w == null ? void 0 : w.id) != null && (E != null && E.dataset) && (E.dataset.mjrAssetId = String(w.id)); - } catch (K) { - (j = console.debug) == null || j.call(console, K); + } catch (oe) { + (N = console.debug) == null || N.call(console, oe); } - v(E, w), E.style.cssText = ` + L(E, w), E.style.cssText = ` max-width: 100%; max-height: 100%; display: block; @@ -18819,24 +18834,24 @@ function UA({ transform-origin: center center; `; try { - po(E, `Unsupported file type: ${V}`); - } catch (K) { - (L = console.debug) == null || L.call(console, K); + fo(E, `Unsupported file type: ${Y}`); + } catch (oe) { + (V = console.debug) == null || V.call(console, oe); } return E; } - if (V === "audio") return k(w, X, { compare: !0 }); - if (V === "video") { + if (Y === "audio") return X(w, R, { compare: !0 }); + if (Y === "video") { const E = document.createElement("div"); E.style.cssText = "width:100%; height:100%; position:relative; display:flex; align-items:center; justify-content:center;"; - const K = document.createElement("canvas"); - K.className = "mjr-viewer-media"; + const oe = document.createElement("canvas"); + oe.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (K != null && K.dataset) && (K.dataset.mjrAssetId = String(w.id)); - } catch (Y) { - (N = console.debug) == null || N.call(console, Y); + (w == null ? void 0 : w.id) != null && (oe != null && oe.dataset) && (oe.dataset.mjrAssetId = String(w.id)); + } catch (j) { + (k = console.debug) == null || k.call(console, j); } - v(K, w), K.style.cssText = ` + L(oe, w), oe.style.cssText = ` max-width: 100%; max-height: 100%; object-fit: contain; @@ -18844,17 +18859,17 @@ function UA({ transform: ${(n == null ? void 0 : n()) || ""}; transform-origin: center center; `; - const F = document.createElement("video"); - F.className = "mjr-viewer-video-src", F.src = X, F.controls = !1, F.loop = !0, F.muted = !0, F.playsInline = !0, F.autoplay = !0, F.preload = "auto"; + const M = document.createElement("video"); + M.className = "mjr-viewer-video-src", M.src = R, M.controls = !1, M.loop = !0, M.muted = !0, M.playsInline = !0, M.autoplay = !0, M.preload = "auto"; try { - "decode" in HTMLVideoElement.prototype && (F.decoding = "async"); + "decode" in HTMLVideoElement.prototype && (M.decoding = "async"); } catch { } - F.style.cssText = "position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;", y(F, w); + M.style.cssText = "position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;", y(M, w); try { - K._mjrProc = ku({ - canvas: K, - videoEl: F, + oe._mjrProc = Nu({ + canvas: oe, + videoEl: M, pauseDuringExecution: !0, getGradeParams: a, isDefaultGrade: c, @@ -18862,43 +18877,43 @@ function UA({ maxProcPixelsVideo: u, throttleFps: p, safeAddListener: g, - safeCall: A, + safeCall: C, onReady: () => { - var Y, U; + var j, O; try { requestAnimationFrame(() => { - var P; + var D; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + } catch (q) { + (D = console.debug) == null || D.call(console, q); } }); - } catch (P) { - (Y = console.debug) == null || Y.call(console, P); + } catch (D) { + (j = console.debug) == null || j.call(console, D); } try { l == null || l(); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } } - }), (O = (q = K._mjrProc) == null ? void 0 : q.setParams) == null || O.call(q, a == null ? void 0 : a()); - } catch (Y) { - (B = console.debug) == null || B.call(console, Y); + }), (z = (K = oe._mjrProc) == null ? void 0 : K.setParams) == null || z.call(K, a == null ? void 0 : a()); + } catch (j) { + (B = console.debug) == null || B.call(console, j); } - return E.appendChild(K), E.appendChild(F), E; + return E.appendChild(oe), E.appendChild(M), E; } if (f(w)) - return b(w, X); - const R = document.createElement("canvas"); - R.className = "mjr-viewer-media"; + return b(w, R); + const F = document.createElement("canvas"); + F.className = "mjr-viewer-media"; try { - (w == null ? void 0 : w.id) != null && (R != null && R.dataset) && (R.dataset.mjrAssetId = String(w.id)); + (w == null ? void 0 : w.id) != null && (F != null && F.dataset) && (F.dataset.mjrAssetId = String(w.id)); } catch (E) { (J = console.debug) == null || J.call(console, E); } - v(R, w), R.style.cssText = ` + L(F, w), F.style.cssText = ` max-width: 100%; max-height: 100%; display: block; @@ -18906,60 +18921,60 @@ function UA({ transform-origin: center center; `; try { - R._mjrProc = xu({ - canvas: R, - url: X, + F._mjrProc = vu({ + canvas: F, + url: R, getGradeParams: a, isDefaultGrade: c, tonemap: s, maxProcPixels: d, onReady: () => { - var E, K; + var E, oe; try { requestAnimationFrame(() => { - var F; + var M; try { t != null && t._userInteracted || (i == null || i(), o == null || o(), r == null || r()); - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + } catch (j) { + (M = console.debug) == null || M.call(console, j); } }); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } try { l == null || l(); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } } - }), (D = (T = R._mjrProc) == null ? void 0 : T.setParams) == null || D.call(T, a == null ? void 0 : a()); + }), (H = (P = F._mjrProc) == null ? void 0 : P.setParams) == null || H.call(P, a == null ? void 0 : a()); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } - return R; + return F; } return { - createMediaElement: G, - createCompareMediaElement: z, + createMediaElement: x, + createCompareMediaElement: T, applyTransformToVisibleMedia: () => { - var w, X, V; + var w, R, Y; try { - const R = (n == null ? void 0 : n()) || "", j = ((w = e == null ? void 0 : e.querySelectorAll) == null ? void 0 : w.call(e, ".mjr-viewer-media")) || []; - for (const L of j) + const F = (n == null ? void 0 : n()) || "", N = ((w = e == null ? void 0 : e.querySelectorAll) == null ? void 0 : w.call(e, ".mjr-viewer-media")) || []; + for (const V of N) try { - if (L != null && L._mjrDisableViewerTransform) continue; - L.style.transform = R; - } catch (N) { - (X = console.debug) == null || X.call(console, N); + if (V != null && V._mjrDisableViewerTransform) continue; + V.style.transform = F; + } catch (k) { + (R = console.debug) == null || R.call(console, k); } - } catch (R) { - (V = console.debug) == null || V.call(console, R); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } }; } -function KA({ buildAssetViewURL: e, IMAGE_PRELOAD_EXTENSIONS: t, state: n }) { +function HA({ buildAssetViewURL: e, IMAGE_PRELOAD_EXTENSIONS: t, state: n }) { function i(c) { if (!c) return null; if (c.id != null) return `id:${c.id}`; @@ -18983,8 +18998,8 @@ function KA({ buildAssetViewURL: e, IMAGE_PRELOAD_EXTENSIONS: t, state: n }) { var u, I, p; try { (I = (u = n._preloadRefs) == null ? void 0 : u.delete) == null || I.call(u, c); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } }; c.addEventListener("load", d, { once: !0, passive: !0 }), c.addEventListener("error", d, { once: !0, passive: !0 }); @@ -19001,21 +19016,21 @@ function KA({ buildAssetViewURL: e, IMAGE_PRELOAD_EXTENSIONS: t, state: n }) { if (n._preloadedAssetKeys.add(d), n._preloadedAssetKeys.size > 250) try { n._preloadedAssetKeys.clear(); - } catch (M) { - (u = console.debug) == null || u.call(console, M); + } catch (S) { + (u = console.debug) == null || u.call(console, S); } } try { - const M = new Image(); - M.decoding = "async"; + const S = new Image(); + S.decoding = "async"; try { - M.loading = "lazy"; - } catch (Z) { - (I = console.debug) == null || I.call(console, Z); + S.loading = "lazy"; + } catch (A) { + (I = console.debug) == null || I.call(console, A); } - M.alt = "", M.src = s, r(M); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + S.alt = "", S.src = s, r(S); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } } function a(c, s) { @@ -19033,15 +19048,15 @@ function KA({ buildAssetViewURL: e, IMAGE_PRELOAD_EXTENSIONS: t, state: n }) { if (I < 0 || I >= d.length) continue; const p = d[I]; if (!p) continue; - const M = e(p); - l(p, M); + const S = e(p); + l(p, S); } } return { preloadAdjacentAssets: a, preloadImageForAsset: l, trackPreloadRef: r }; } -function DA(e) { +function qA(e) { var i, o, r, l, a, c, s; - const t = kC(); + const t = RC(); if (t.length) { const d = t[t.length - 1]; for (const u of t) @@ -19065,9 +19080,9 @@ function DA(e) { } } const n = e(); - return VC(n), n._mjrViewerAPI; + return NC(n), n._mjrViewerAPI; } -function EA({ +function PA({ state: e, APP_CONFIG: t, VIEWER_MODES: n, @@ -19082,71 +19097,71 @@ function EA({ collectPlayableMediaElements: u, pickPrimaryPlayableMedia: I, mountUnifiedMediaControls: p, - installFollowerVideoSync: M, - getViewerInfo: Z, - scheduleOverlayRedraw: A, + installFollowerVideoSync: S, + getViewerInfo: A, + scheduleOverlayRedraw: C, viewerInfoCacheGet: g, - viewerInfoCacheSet: h + viewerInfoCacheSet: Z }) { function f() { - var v, C, S, W, y, k, G, z, x, w, X, V, R, j, L, N; + var L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V, k; try { e._videoControlsDestroy && e._videoControlsDestroy(); - } catch (q) { - (v = console.debug) == null || v.call(console, q); + } catch (K) { + (L = console.debug) == null || L.call(console, K); } e._videoControlsDestroy = null, e._videoControlsMounted = null, e._activeVideoEl = null, e._activeVideoAssetId = null, e.nativeFps = null; try { - (S = (C = e._videoSyncAbort) == null ? void 0 : C.abort) == null || S.call(C); - } catch (q) { - (W = console.debug) == null || W.call(console, q); + (G = (h = e._videoSyncAbort) == null ? void 0 : h.abort) == null || G.call(h); + } catch (K) { + (W = console.debug) == null || W.call(console, K); } e._videoSyncAbort = null; try { - (k = (y = e._videoMetaAbort) == null ? void 0 : y.abort) == null || k.call(y); - } catch (q) { - (G = console.debug) == null || G.call(console, q); + (X = (y = e._videoMetaAbort) == null ? void 0 : y.abort) == null || X.call(y); + } catch (K) { + (x = console.debug) == null || x.call(console, K); } e._videoMetaAbort = null; try { - (x = (z = e._videoFpsEventAbort) == null ? void 0 : z.abort) == null || x.call(z); - } catch (q) { - (w = console.debug) == null || w.call(console, q); + (v = (T = e._videoFpsEventAbort) == null ? void 0 : T.abort) == null || v.call(T); + } catch (K) { + (w = console.debug) == null || w.call(console, K); } e._videoFpsEventAbort = null; try { - (V = (X = e._scopesVideoAbort) == null ? void 0 : X.abort) == null || V.call(X); - } catch (q) { - (R = console.debug) == null || R.call(console, q); + (Y = (R = e._scopesVideoAbort) == null ? void 0 : R.abort) == null || Y.call(R); + } catch (K) { + (F = console.debug) == null || F.call(console, K); } e._scopesVideoAbort = null; try { r.innerHTML = ""; - } catch (q) { - (j = console.debug) == null || j.call(console, q); + } catch (K) { + (N = console.debug) == null || N.call(console, K); } try { r.style.display = "none"; - } catch (q) { - (L = console.debug) == null || L.call(console, q); + } catch (K) { + (V = console.debug) == null || V.call(console, K); } try { o.style.display = ""; - } catch (q) { - (N = console.debug) == null || N.call(console, q); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } } async function b() { - var v, C, S, W, y, k, G, z, x, w, X, V, R, j, L, N, q, O, B, J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $; + var L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V, k, K, z, B, J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U, Q; try { const _ = e.assets[e.currentIndex], le = (_ == null ? void 0 : _.id) ?? null; if (!d(_ == null ? void 0 : _.kind)) { f(); return; } - let se = null, de = []; + let de = null, se = []; try { - de = u({ + se = u({ mode: e.mode, VIEWER_MODES: n, singleView: l, @@ -19154,259 +19169,259 @@ function EA({ sideView: c }); } catch { - de = []; + se = []; } try { - se = I(de); + de = I(se); } catch { - se = de[0] || null; + de = se[0] || null; } - if (!se) { + if (!de) { f(); return; } - if (e._activeVideoEl && e._activeVideoEl === se && e._activeVideoAssetId === le && e._videoControlsDestroy) { + if (e._activeVideoEl && e._activeVideoEl === de && e._activeVideoAssetId === le && e._videoControlsDestroy) { try { o.style.display = "none", r.style.display = ""; - } catch (We) { - (v = console.debug) == null || v.call(console, We); + } catch (we) { + (L = console.debug) == null || L.call(console, we); } return; } f(); try { o.style.display = "none"; - } catch (We) { - (C = console.debug) == null || C.call(console, We); + } catch (we) { + (h = console.debug) == null || h.call(console, we); } try { r.style.display = ""; - } catch (We) { - (S = console.debug) == null || S.call(console, We); + } catch (we) { + (G = console.debug) == null || G.call(console, we); } - let Ze, Fe; + let ge, je; try { - const We = (Pe) => { + const we = ($e) => { try { - const Qe = EI(Pe), Ue = HI(Pe, Qe); - return { fps: Qe, frameCount: Ue }; + const qe = HI($e), Ue = qI($e, qe); + return { fps: qe, frameCount: Ue }; } catch { return { fps: null, frameCount: null }; } - }, De = We(_); - if (De.fps != null && (Ze = De.fps), De.frameCount != null && (Fe = De.frameCount), Ze == null || Fe == null) { - const Pe = (W = s == null ? void 0 : s.getCached) == null ? void 0 : W.call(s, _ == null ? void 0 : _.id), Qe = Pe != null && Pe.data ? We(Pe.data) : { fps: null, frameCount: null }; - Ze == null && Qe.fps != null && (Ze = Qe.fps), Fe == null && Qe.frameCount != null && (Fe = Qe.frameCount); + }, Je = we(_); + if (Je.fps != null && (ge = Je.fps), Je.frameCount != null && (je = Je.frameCount), ge == null || je == null) { + const $e = (W = s == null ? void 0 : s.getCached) == null ? void 0 : W.call(s, _ == null ? void 0 : _.id), qe = $e != null && $e.data ? we($e.data) : { fps: null, frameCount: null }; + ge == null && qe.fps != null && (ge = qe.fps), je == null && qe.frameCount != null && (je = qe.frameCount); } - } catch (We) { - (y = console.debug) == null || y.call(console, We); + } catch (we) { + (y = console.debug) == null || y.call(console, we); } try { - if (Ze == null) { - const We = Number(se == null ? void 0 : se._mjrDetectedFps); - Number.isFinite(We) && We > 0 && (Ze = We); + if (ge == null) { + const we = Number(de == null ? void 0 : de._mjrDetectedFps); + Number.isFinite(we) && we > 0 && (ge = we); } - } catch (We) { - (k = console.debug) == null || k.call(console, We); + } catch (we) { + (X = console.debug) == null || X.call(console, we); } - const xe = String((_ == null ? void 0 : _.kind) || "").toLowerCase() === "audio" ? "audio" : "video", ze = p(se, { + const Se = String((_ == null ? void 0 : _.kind) || "").toLowerCase() === "audio" ? "audio" : "video", ke = p(de, { variant: "viewerbar", hostEl: r, fullscreenEl: i, - initialFps: Ze, - initialFrameCount: Fe, + initialFps: ge, + initialFrameCount: je, initialPlaybackRate: Number(e == null ? void 0 : e.playbackRate) || 1, - mediaKind: xe + mediaKind: Se }); - e._videoControlsMounted = ze || null, e._videoControlsDestroy = (ze == null ? void 0 : ze.destroy) || null, e._activeVideoEl = se, e._activeVideoAssetId = le; + e._videoControlsMounted = ke || null, e._videoControlsDestroy = (ke == null ? void 0 : ke.destroy) || null, e._activeVideoEl = de, e._activeVideoAssetId = le; try { - e.nativeFps = Number(Ze) > 0 ? Number(Ze) : null; - } catch (We) { - (G = console.debug) == null || G.call(console, We); + e.nativeFps = Number(ge) > 0 ? Number(ge) : null; + } catch (we) { + (x = console.debug) == null || x.call(console, we); } try { - if (xe === "audio") { - const We = (z = se.play) == null ? void 0 : z.call(se); - We && typeof We.catch == "function" && We.catch(() => { + if (Se === "audio") { + const we = (T = de.play) == null ? void 0 : T.call(de); + we && typeof we.catch == "function" && we.catch(() => { }); } - } catch (We) { - (x = console.debug) == null || x.call(console, We); + } catch (we) { + (v = console.debug) == null || v.call(console, we); } try { - if (xe === "video" && e.mode === (n == null ? void 0 : n.SINGLE)) { - se.muted = !1; - const De = (w = se.play) == null ? void 0 : w.call(se); - De && typeof De.catch == "function" && De.catch(() => { + if (Se === "video" && e.mode === (n == null ? void 0 : n.SINGLE)) { + de.muted = !1; + const Je = (w = de.play) == null ? void 0 : w.call(de); + Je && typeof Je.catch == "function" && Je.catch(() => { }); } - } catch (We) { - (X = console.debug) == null || X.call(console, We); + } catch (we) { + (R = console.debug) == null || R.call(console, we); } try { - (R = (V = e._scopesVideoAbort) == null ? void 0 : V.abort) == null || R.call(V); - } catch (We) { - (j = console.debug) == null || j.call(console, We); + (F = (Y = e._scopesVideoAbort) == null ? void 0 : Y.abort) == null || F.call(Y); + } catch (we) { + (N = console.debug) == null || N.call(console, we); } - if (xe === "video") + if (Se === "video") try { - const We = new AbortController(); - e._scopesVideoAbort = We; - const De = () => { - var Ee; + const we = new AbortController(); + e._scopesVideoAbort = we; + const Je = () => { + var Te; try { if (String((e == null ? void 0 : e.scopesMode) || "off") === "off") return; - } catch (Re) { - (Ee = console.debug) == null || Ee.call(console, Re); + } catch (Oe) { + (Te = console.debug) == null || Te.call(console, Oe); } - A(); + C(); }; - se.addEventListener("seeked", De, { - signal: We.signal, + de.addEventListener("seeked", Je, { + signal: we.signal, passive: !0 - }), se.addEventListener("loadeddata", De, { - signal: We.signal, + }), de.addEventListener("loadeddata", Je, { + signal: we.signal, passive: !0 - }), se.addEventListener("play", De, { signal: We.signal, passive: !0 }), se.addEventListener("pause", De, { - signal: We.signal, + }), de.addEventListener("play", Je, { signal: we.signal, passive: !0 }), de.addEventListener("pause", Je, { + signal: we.signal, passive: !0 }); - const Qe = 1e3 / Math.max( + const qe = 1e3 / Math.max( 1, Math.min(30, Math.floor(Number(t.VIEWER_SCOPES_FPS) || 10)) ), Ue = () => { - var Ee, Re, wt, Se; - if (!We.signal.aborted) { + var Te, Oe, pt, Me; + if (!we.signal.aborted) { try { if (document != null && document.hidden) return; - } catch (Ft) { - (Ee = console.debug) == null || Ee.call(console, Ft); + } catch (Xt) { + (Te = console.debug) == null || Te.call(console, Xt); } try { if (i.style.display === "none") return; - } catch (Ft) { - (Re = console.debug) == null || Re.call(console, Ft); + } catch (Xt) { + (Oe = console.debug) == null || Oe.call(console, Xt); } try { - if (String((e == null ? void 0 : e.scopesMode) || "off") !== "off" && !se.paused) { - const Ft = performance.now(), Gt = Number(e == null ? void 0 : e._scopesLastAt) || 0; - Ft - Gt >= Qe && (e._scopesLastAt = Ft, A()); + if (String((e == null ? void 0 : e.scopesMode) || "off") !== "off" && !de.paused) { + const Xt = performance.now(), Mt = Number(e == null ? void 0 : e._scopesLastAt) || 0; + Xt - Mt >= qe && (e._scopesLastAt = Xt, C()); } - } catch (Ft) { - (wt = console.debug) == null || wt.call(console, Ft); + } catch (Xt) { + (pt = console.debug) == null || pt.call(console, Xt); } try { requestAnimationFrame(Ue); - } catch (Ft) { - (Se = console.debug) == null || Se.call(console, Ft); + } catch (Xt) { + (Me = console.debug) == null || Me.call(console, Xt); } } }; try { requestAnimationFrame(Ue); - } catch (Ee) { - (L = console.debug) == null || L.call(console, Ee); + } catch (Te) { + (V = console.debug) == null || V.call(console, Te); } - } catch (We) { - (N = console.debug) == null || N.call(console, We); + } catch (we) { + (k = console.debug) == null || k.call(console, we); } else e._scopesVideoAbort = null; try { - (O = (q = e._videoSyncAbort) == null ? void 0 : q.abort) == null || O.call(q); - } catch (We) { - (B = console.debug) == null || B.call(console, We); + (z = (K = e._videoSyncAbort) == null ? void 0 : K.abort) == null || z.call(K); + } catch (we) { + (B = console.debug) == null || B.call(console, we); } try { - if (e._videoSyncAbort = null, xe === "video" && de.length > 1) { - const We = de.filter((De) => De && De !== se); - e._videoSyncAbort = M(se, We); + if (e._videoSyncAbort = null, Se === "video" && se.length > 1) { + const we = se.filter((Je) => Je && Je !== de); + e._videoSyncAbort = S(de, we); } - } catch (We) { - (J = console.debug) == null || J.call(console, We); + } catch (we) { + (J = console.debug) == null || J.call(console, we); } - if (xe === "video") { + if (Se === "video") { try { - const We = (Ue) => bo(Ue), De = (Ue) => { - const Ee = Number(Ue); - return !Number.isFinite(Ee) || Ee <= 0 ? null : Math.floor(Ee); - }, Pe = (Ue) => { - var Ee, Re; + const we = (Ue) => yo(Ue), Je = (Ue) => { + const Te = Number(Ue); + return !Number.isFinite(Te) || Te <= 0 ? null : Math.floor(Te); + }, $e = (Ue) => { + var Te, Oe; try { if (!Ue || typeof Ue != "object") return; - const wt = We((Ue == null ? void 0 : Ue.fps) ?? (Ue == null ? void 0 : Ue.fps_raw) ?? (Ue == null ? void 0 : Ue.frame_rate)), Se = De(Ue == null ? void 0 : Ue.frame_count); - (wt != null || Se != null) && ((Ee = ze == null ? void 0 : ze.setMediaInfo) == null || Ee.call(ze, { fps: wt, frameCount: Se })); - } catch (wt) { - (Re = console.debug) == null || Re.call(console, wt); + const pt = we((Ue == null ? void 0 : Ue.fps) ?? (Ue == null ? void 0 : Ue.fps_raw) ?? (Ue == null ? void 0 : Ue.frame_rate)), Me = Je(Ue == null ? void 0 : Ue.frame_count); + (pt != null || Me != null) && ((Te = ke == null ? void 0 : ke.setMediaInfo) == null || Te.call(ke, { fps: pt, frameCount: Me })); + } catch (pt) { + (Oe = console.debug) == null || Oe.call(console, pt); } }; try { const Ue = g(_ == null ? void 0 : _.id); - Ue && Pe(Ue); + Ue && $e(Ue); } catch (Ue) { - (T = console.debug) == null || T.call(console, Ue); + (P = console.debug) == null || P.call(console, Ue); } try { - (Q = (D = e._videoMetaAbort) == null ? void 0 : D.abort) == null || Q.call(D); + ($ = (H = e._videoMetaAbort) == null ? void 0 : H.abort) == null || $.call(H); } catch (Ue) { (E = console.debug) == null || E.call(console, Ue); } - const Qe = new AbortController(); - e._videoMetaAbort = Qe, (async () => { - var Ue, Ee; + const qe = new AbortController(); + e._videoMetaAbort = qe, (async () => { + var Ue, Te; try { - const Re = await Z(_ == null ? void 0 : _.id, { signal: Qe.signal }); - if (!(Re != null && Re.ok) || !Re.data || e._activeVideoEl !== se) return; + const Oe = await A(_ == null ? void 0 : _.id, { signal: qe.signal }); + if (!(Oe != null && Oe.ok) || !Oe.data || e._activeVideoEl !== de) return; try { - h(_ == null ? void 0 : _.id, Re.data); - } catch (wt) { - (Ue = console.debug) == null || Ue.call(console, wt); + Z(_ == null ? void 0 : _.id, Oe.data); + } catch (pt) { + (Ue = console.debug) == null || Ue.call(console, pt); } - Pe(Re.data); - } catch (Re) { - (Ee = console.debug) == null || Ee.call(console, Re); + $e(Oe.data); + } catch (Oe) { + (Te = console.debug) == null || Te.call(console, Oe); } })(); - } catch (We) { - (K = console.debug) == null || K.call(console, We); + } catch (we) { + (oe = console.debug) == null || oe.call(console, we); } try { - (Y = (F = e._videoFpsEventAbort) == null ? void 0 : F.abort) == null || Y.call(F); - } catch (We) { - (U = console.debug) == null || U.call(console, We); + (j = (M = e._videoFpsEventAbort) == null ? void 0 : M.abort) == null || j.call(M); + } catch (we) { + (O = console.debug) == null || O.call(console, we); } try { - const We = new AbortController(); - e._videoFpsEventAbort = We, window.addEventListener( + const we = new AbortController(); + e._videoFpsEventAbort = we, window.addEventListener( "mjr:viewer-fps-detected", - (De) => { - var Pe, Qe; + (Je) => { + var $e, qe; try { - const Ue = (De == null ? void 0 : De.detail) || {}, Ee = String((Ue == null ? void 0 : Ue.assetId) || ""), Re = String((_ == null ? void 0 : _.id) ?? ""); - if (!Ee || !Re || Ee !== Re || e._activeVideoEl !== se) return; - const wt = Number(Ue == null ? void 0 : Ue.fps); - if (!Number.isFinite(wt) || wt <= 0) return; - e.nativeFps = wt, (Pe = ze == null ? void 0 : ze.setMediaInfo) == null || Pe.call(ze, { fps: wt }); + const Ue = (Je == null ? void 0 : Je.detail) || {}, Te = String((Ue == null ? void 0 : Ue.assetId) || ""), Oe = String((_ == null ? void 0 : _.id) ?? ""); + if (!Te || !Oe || Te !== Oe || e._activeVideoEl !== de) return; + const pt = Number(Ue == null ? void 0 : Ue.fps); + if (!Number.isFinite(pt) || pt <= 0) return; + e.nativeFps = pt, ($e = ke == null ? void 0 : ke.setMediaInfo) == null || $e.call(ke, { fps: pt }); } catch (Ue) { - (Qe = console.debug) == null || Qe.call(console, Ue); + (qe = console.debug) == null || qe.call(console, Ue); } }, - { signal: We.signal, passive: !0 } + { signal: we.signal, passive: !0 } ); - } catch (We) { - (P = console.debug) == null || P.call(console, We); + } catch (we) { + (D = console.debug) == null || D.call(console, we); } } else { try { - (oe = (ee = e._videoMetaAbort) == null ? void 0 : ee.abort) == null || oe.call(ee); - } catch (We) { - (ce = console.debug) == null || ce.call(console, We); + (ee = (q = e._videoMetaAbort) == null ? void 0 : q.abort) == null || ee.call(q); + } catch (we) { + (ce = console.debug) == null || ce.call(console, we); } e._videoMetaAbort = null; try { - (H = (pe = e._videoFpsEventAbort) == null ? void 0 : pe.abort) == null || H.call(pe); - } catch (We) { - ($ = console.debug) == null || $.call(console, We); + (U = (ue = e._videoFpsEventAbort) == null ? void 0 : ue.abort) == null || U.call(ue); + } catch (we) { + (Q = console.debug) == null || Q.call(console, we); } e._videoFpsEventAbort = null; } @@ -19416,13 +19431,13 @@ function EA({ } return { destroyPlayerBar: f, syncPlayerBar: b }; } -const ka = "min(400px, 42vw)", Nu = `calc(${ka} + 24px)`, Ru = "mjr-viewer-modern-theme"; -function HA() { +const Xa = "min(400px, 42vw)", Fu = `calc(${Xa} + 24px)`, Ou = "mjr-viewer-modern-theme"; +function QA() { var e; try { - if (document.getElementById(Ru)) return; + if (document.getElementById(Ou)) return; const t = document.createElement("style"); - t.id = Ru, t.textContent = ` + t.id = Ou, t.textContent = ` .mjr-viewer-overlay { --mjr-viewer-surface: rgba(14, 18, 24, 0.78); --mjr-viewer-surface-strong: rgba(10, 13, 18, 0.9); @@ -19525,7 +19540,7 @@ function HA() { } .mjr-viewer-geninfo { - width: ${ka} !important; + width: ${Xa} !important; top: 16px !important; bottom: 16px !important; border-radius: 20px; @@ -19622,14 +19637,14 @@ function HA() { (e = console.debug) == null || e.call(console, t); } } -const qA = 84, PA = 56, QA = 74, Fu = 0.45, _A = "0px 240px 0px 240px", $A = 3500, eW = (() => { +const _A = 84, $A = 56, eW = 74, zu = 0.45, tW = "0px 240px 0px 240px", nW = 3500, iW = (() => { try { return new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAIAAABAH0oBAAAIf3RFWHRwcm9tcHQAeyI5IjogeyJpbnB1dHMiOiB7ImZpbGVuYW1lX3ByZWZpeCI6ICJQUk9KRUNUUy8yNjAxX1RFU1QvMDJfT1VUL0lNQUdFUy8yNjAyMDcvVGVzdC9aX0ltYWdlX1R1cmJvLzI2MDIwN19UZXN0XyIsICJpbWFnZXMiOiBbIjU3OjgiLCAwXX0sICJjbGFzc190eXBlIjogIlNhdmVJbWFnZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiU2F2ZSBJbWFnZSJ9fSwgIjU4IjogeyJpbnB1dHMiOiB7InZhbHVlIjogIkJsdXJyeSBjdXRlIHNtYWxsIGRpbm9zYXVydXMgbGlrZSBjcmVhdHVyZSBzaWxob3VldHRlIHdpdGggaGVhZHBob25lIGluIGEgY2luZW1hdGljIHNsb3ctc2h1dHRlciBwYW4sIHdhcm0gYmFja2xpdCBzdW5zZXQgZ3JhZGllbnQgZnJvbSBkZWVwIHJlZCB0byBvcmFuZ2UgYW5kIGdvbGQsIGdsb3dpbmcgaGF6ZSBhbmQgYmxvb20sIHJpbS1saXQgaGFpciBoYWxvLCBnZW50bGUgbW90aW9uLWJsdXIgdHJhaWwsIHNvZnQtZm9jdXMgZmFjaWFsIGZlYXR1cmVzLCBzdWJ0bGUgZmlsbSBncmFpbiwgYXRtb3NwaGVyaWMgZm9nLCBzaGFsbG93IGRlcHRoIG9mIGZpZWxkLCBtaW5pbWFsIGNvbXBvc2l0aW9uLCBkcmVhbXkgbm9zdGFsZ2ljIG1vb2QsIHZpbnRhZ2UgbGVucyBzb2Z0bmVzcyBhbmQgc21vb3RoIGNvbG9yIHRyYW5zaXRpb25zLiJ9LCAiY2xhc3NfdHlwZSI6ICJQcmltaXRpdmVTdHJpbmdNdWx0aWxpbmUiLCAiX21ldGEiOiB7InRpdGxlIjogIlByb21wdCJ9fSwgIjU3OjMwIjogeyJpbnB1dHMiOiB7ImNsaXBfbmFtZSI6ICJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAidHlwZSI6ICJsdW1pbmEyIiwgImRldmljZSI6ICJkZWZhdWx0In0sICJjbGFzc190eXBlIjogIkNMSVBMb2FkZXIiLCAiX21ldGEiOiB7InRpdGxlIjogIkxvYWQgQ0xJUCJ9fSwgIjU3OjI5IjogeyJpbnB1dHMiOiB7InZhZV9uYW1lIjogImFlLnNhZmV0ZW5zb3JzIn0sICJjbGFzc190eXBlIjogIlZBRUxvYWRlciIsICJfbWV0YSI6IHsidGl0bGUiOiAiTG9hZCBWQUUifX0sICI1NzozMyI6IHsiaW5wdXRzIjogeyJjb25kaXRpb25pbmciOiBbIjU3OjI3IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0IiwgIl9tZXRhIjogeyJ0aXRsZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0In19LCAiNTc6OCI6IHsiaW5wdXRzIjogeyJzYW1wbGVzIjogWyI1NzozIiwgMF0sICJ2YWUiOiBbIjU3OjI5IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJWQUVEZWNvZGUiLCAiX21ldGEiOiB7InRpdGxlIjogIlZBRSBEZWNvZGUifX0sICI1NzoyOCI6IHsiaW5wdXRzIjogeyJ1bmV0X25hbWUiOiAiel9pbWFnZV90dXJib19iZjE2LnNhZmV0ZW5zb3JzIiwgIndlaWdodF9kdHlwZSI6ICJkZWZhdWx0In0sICJjbGFzc190eXBlIjogIlVORVRMb2FkZXIiLCAiX21ldGEiOiB7InRpdGxlIjogIkxvYWQgRGlmZnVzaW9uIE1vZGVsIn19LCAiNTc6MjciOiB7ImlucHV0cyI6IHsidGV4dCI6IFsiNTgiLCAwXSwgImNsaXAiOiBbIjU3OjMwIiwgMF19LCAiY2xhc3NfdHlwZSI6ICJDTElQVGV4dEVuY29kZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiQ0xJUCBUZXh0IEVuY29kZSAoUHJvbXB0KSJ9fSwgIjU3OjEzIjogeyJpbnB1dHMiOiB7IndpZHRoIjogMTI4MCwgImhlaWdodCI6IDcyMCwgImJhdGNoX3NpemUiOiAxfSwgImNsYXNzX3R5cGUiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSIsICJfbWV0YSI6IHsidGl0bGUiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSJ9fSwgIjU3OjMiOiB7ImlucHV0cyI6IHsic2VlZCI6IDMyNzI2MzU0NDYxNzM5NywgInN0ZXBzIjogNCwgImNmZyI6IDEuMCwgInNhbXBsZXJfbmFtZSI6ICJyZXNfbXVsdGlzdGVwIiwgInNjaGVkdWxlciI6ICJzaW1wbGUiLCAiZGVub2lzZSI6IDEuMCwgIm1vZGVsIjogWyI1NzoxMSIsIDBdLCAicG9zaXRpdmUiOiBbIjU3OjI3IiwgMF0sICJuZWdhdGl2ZSI6IFsiNTc6MzMiLCAwXSwgImxhdGVudF9pbWFnZSI6IFsiNTc6MTMiLCAwXX0sICJjbGFzc190eXBlIjogIktTYW1wbGVyIiwgIl9tZXRhIjogeyJ0aXRsZSI6ICJLU2FtcGxlciJ9fSwgIjU3OjExIjogeyJpbnB1dHMiOiB7InNoaWZ0IjogMy4wLCAibW9kZWwiOiBbIjU3OjI4IiwgMF19LCAiY2xhc3NfdHlwZSI6ICJNb2RlbFNhbXBsaW5nQXVyYUZsb3ciLCAiX21ldGEiOiB7InRpdGxlIjogIk1vZGVsU2FtcGxpbmdBdXJhRmxvdyJ9fX1oR5EKAABnQnRFWHR3b3JrZmxvdwB7ImlkIjogIjlhZTYwODJiLWM3ZjQtNDMzYy05OTcxLTdhOGY2NWEzZWE2NSIsICJyZXZpc2lvbiI6IDAsICJsYXN0X25vZGVfaWQiOiA2MSwgImxhc3RfbGlua19pZCI6IDY4LCAibm9kZXMiOiBbeyJpZCI6IDYwLCAidHlwZSI6ICJTYXZlSW1hZ2UiLCAicG9zIjogWzExNzAsIDYzMF0sICJzaXplIjogWzc4MCwgNjYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDYsICJtb2RlIjogNCwgImlucHV0cyI6IFt7Im5hbWUiOiAiaW1hZ2VzIiwgInR5cGUiOiAiSU1BR0UiLCAibGluayI6IDY1fV0sICJvdXRwdXRzIjogW10sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlNhdmVJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIlBST0pFQ1RTLzI2MDFfVEVTVC8wMl9PVVQvSU1BR0VTLzI2MDIwNy9UZXN0L1pfSW1hZ2VfVHVyYm8vMjYwMjA3X1Rlc3RfIl19LCB7ImlkIjogMzUsICJ0eXBlIjogIk1hcmtkb3duTm90ZSIsICJwb3MiOiBbLTQ0MCwgMTkwXSwgInNpemUiOiBbNTEwLCA2MDBdLCAiZmxhZ3MiOiB7ImNvbGxhcHNlZCI6IGZhbHNlfSwgIm9yZGVyIjogMCwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW10sICJ0aXRsZSI6ICJNb2RlbCBsaW5rIiwgInByb3BlcnRpZXMiOiB7fSwgIndpZGdldHNfdmFsdWVzIjogWyIjIyBSZXBvcnQgd29ya2Zsb3cgaXNzdWVcblxuSWYgeW91IGZvdW5kIGFueSBpc3N1ZXMgd2hlbiBydW5uaW5nIHRoaXMgd29ya2Zsb3csIFtyZXBvcnQgdGVtcGxhdGUgaXNzdWUgaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL0NvbWZ5LU9yZy93b3JrZmxvd190ZW1wbGF0ZXMvaXNzdWVzKVxuXG5cbiMjIE1vZGVsIGxpbmtzXG5cbioqdGV4dF9lbmNvZGVycyoqXG5cbi0gW3F3ZW5fM180Yi5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdGV4dF9lbmNvZGVycy9xd2VuXzNfNGIuc2FmZXRlbnNvcnMpXG5cbioqbG9yYXMqKlxuXG4tIFtwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby90YXJuNTkvcGl4ZWxfYXJ0X3N0eWxlX2xvcmFfel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnMpXG5cbioqZGlmZnVzaW9uX21vZGVscyoqXG5cbi0gW3pfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29yc10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMpXG5cbioqdmFlKipcblxuLSBbYWUuc2FmZXRlbnNvcnNdKGh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3ZhZS9hZS5zYWZldGVuc29ycylcblxuXG5Nb2RlbCBTdG9yYWdlIExvY2F0aW9uXG5cbmBgYFxuXHVkODNkXHVkY2MyIENvbWZ5VUkvXG5cdTI1MWNcdTI1MDBcdTI1MDAgXHVkODNkXHVkY2MyIG1vZGVscy9cblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgdGV4dF9lbmNvZGVycy9cblx1MjUwMiAgIFx1MjUwMiAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCBxd2VuXzNfNGIuc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgbG9yYXMvXG5cdTI1MDIgICBcdTI1MDIgICAgICBcdTI1MTRcdTI1MDBcdTI1MDAgcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxY1x1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgZGlmZnVzaW9uX21vZGVscy9cblx1MjUwMiAgIFx1MjUwMiAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCB6X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnNcblx1MjUwMiAgIFx1MjUxNFx1MjUwMFx1MjUwMCBcdWQ4M2RcdWRjYzIgdmFlL1xuXHUyNTAyICAgICAgICAgIFx1MjUxNFx1MjUwMFx1MjUwMCBhZS5zYWZldGVuc29yc1xuYGBgXG4iXSwgImNvbG9yIjogIiM0MzIiLCAiYmdjb2xvciI6ICIjMDAwIn0sIHsiaWQiOiA2MSwgInR5cGUiOiAiU3RyaW5nQ29uY2F0ZW5hdGUiLCAicG9zIjogWzE0MCwgNTAwXSwgInNpemUiOiBbNDAwLCAyMDBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMywgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibmFtZSI6ICJzdHJpbmdfYiIsICJ0eXBlIjogIlNUUklORyIsICJ3aWRnZXQiOiB7Im5hbWUiOiAic3RyaW5nX2IifSwgImxpbmsiOiA2N31dLCAib3V0cHV0cyI6IFt7Im5hbWUiOiAiU1RSSU5HIiwgInR5cGUiOiAiU1RSSU5HIiwgImxpbmtzIjogWzY2XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuNy4wIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlN0cmluZ0NvbmNhdGVuYXRlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsiUGl4ZWwgYXJ0IHN0eWxlLCIsICIiLCAiIl19LCB7ImlkIjogNTksICJ0eXBlIjogImQwOTdiNjQ1LTRkM2EtNGJiNy04YjBlLTcwZTYwMWNmMDdjOSIsICJwb3MiOiBbNzIwLCA2MzBdLCAic2l6ZSI6IFs0MDAsIDQ3MF0sICJmbGFncyI6IHt9LCAib3JkZXIiOiA1LCAibW9kZSI6IDQsICJpbnB1dHMiOiBbeyJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAid2lkZ2V0IjogeyJuYW1lIjogInRleHQifSwgImxpbmsiOiA2Nn0sIHsibGFiZWwiOiAibG9yYV9zdHJlbmd0aCIsICJuYW1lIjogInN0cmVuZ3RoX21vZGVsIiwgInR5cGUiOiAiRkxPQVQiLCAid2lkZ2V0IjogeyJuYW1lIjogInN0cmVuZ3RoX21vZGVsIn0sICJsaW5rIjogbnVsbH1dLCAib3V0cHV0cyI6IFt7Im5hbWUiOiAiSU1BR0UiLCAidHlwZSI6ICJJTUFHRSIsICJsaW5rcyI6IFs2NV19XSwgInByb3BlcnRpZXMiOiB7InByb3h5V2lkZ2V0cyI6IFtbIi0xIiwgInRleHQiXSwgWyItMSIsICJ3aWR0aCJdLCBbIi0xIiwgImhlaWdodCJdLCBbIi0xIiwgImxvcmFfbmFtZSJdLCBbIi0xIiwgInN0cmVuZ3RoX21vZGVsIl0sIFsiMyIsICJzZWVkIl0sIFsiMyIsICJjb250cm9sX2FmdGVyX2dlbmVyYXRlIl1dLCAiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiIsIDEwMjQsIDEwMjQsICJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsIDFdfSwgeyJpZCI6IDksICJ0eXBlIjogIlNhdmVJbWFnZSIsICJwb3MiOiBbMTE2MCwgLTExMF0sICJzaXplIjogWzc4MCwgNjYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDQsICJtb2RlIjogMCwgImlucHV0cyI6IFt7Im5hbWUiOiAiaW1hZ2VzIiwgInR5cGUiOiAiSU1BR0UiLCAibGluayI6IDYyfV0sICJvdXRwdXRzIjogW10sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlNhdmVJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIlBST0pFQ1RTLzI2MDFfVEVTVC8wMl9PVVQvSU1BR0VTLzI2MDIwNy9UZXN0L1pfSW1hZ2VfVHVyYm8vMjYwMjA3X1Rlc3RfIl19LCB7ImlkIjogNTcsICJ0eXBlIjogImYyZmRlYmY2LWRmYWYtNDNiNi05ZWIyLTdmNzA2MTNjZmRjMSIsICJwb3MiOiBbNzIwLCAtMTEwXSwgInNpemUiOiBbNDAwLCA0NzBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMiwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibGFiZWwiOiAicHJvbXB0IiwgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogIlNUUklORyIsICJ3aWRnZXQiOiB7Im5hbWUiOiAidGV4dCJ9LCAibGluayI6IDYzfV0sICJvdXRwdXRzIjogW3sibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgImxpbmtzIjogWzYyXX1dLCAicHJvcGVydGllcyI6IHsicHJveHlXaWRnZXRzIjogW1siLTEiLCAidGV4dCJdLCBbIi0xIiwgIndpZHRoIl0sIFsiLTEiLCAiaGVpZ2h0Il0sIFsiMyIsICJzZWVkIl0sIFsiMyIsICJjb250cm9sX2FmdGVyX2dlbmVyYXRlIl1dLCAiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiIsIDEyODAsIDcyMF19LCB7ImlkIjogNTgsICJ0eXBlIjogIlByaW1pdGl2ZVN0cmluZ011bHRpbGluZSIsICJwb3MiOiBbMTUwLjI0MzUyNzQ4ODI2NTk1LCAtMzMuNTM5MjMyMTU0MTYxOTY1XSwgInNpemUiOiBbNDAwLCAyMDBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW3sibmFtZSI6ICJTVFJJTkciLCAidHlwZSI6ICJTVFJJTkciLCAibGlua3MiOiBbNjMsIDY3XX1dLCAidGl0bGUiOiAiUHJvbXB0IiwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjcuMCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJQcmltaXRpdmVTdHJpbmdNdWx0aWxpbmUiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJCbHVycnkgY3V0ZSBzbWFsbCBkaW5vc2F1cnVzIGxpa2UgY3JlYXR1cmUgc2lsaG91ZXR0ZSB3aXRoIGhlYWRwaG9uZSBpbiBhIGNpbmVtYXRpYyBzbG93LXNodXR0ZXIgcGFuLCB3YXJtIGJhY2tsaXQgc3Vuc2V0IGdyYWRpZW50IGZyb20gZGVlcCByZWQgdG8gb3JhbmdlIGFuZCBnb2xkLCBnbG93aW5nIGhhemUgYW5kIGJsb29tLCByaW0tbGl0IGhhaXIgaGFsbywgZ2VudGxlIG1vdGlvbi1ibHVyIHRyYWlsLCBzb2Z0LWZvY3VzIGZhY2lhbCBmZWF0dXJlcywgc3VidGxlIGZpbG0gZ3JhaW4sIGF0bW9zcGhlcmljIGZvZywgc2hhbGxvdyBkZXB0aCBvZiBmaWVsZCwgbWluaW1hbCBjb21wb3NpdGlvbiwgZHJlYW15IG5vc3RhbGdpYyBtb29kLCB2aW50YWdlIGxlbnMgc29mdG5lc3MgYW5kIHNtb290aCBjb2xvciB0cmFuc2l0aW9ucy4iXX1dLCAibGlua3MiOiBbWzYyLCA1NywgMCwgOSwgMCwgIklNQUdFIl0sIFs2MywgNTgsIDAsIDU3LCAwLCAiU1RSSU5HIl0sIFs2NSwgNTksIDAsIDYwLCAwLCAiSU1BR0UiXSwgWzY2LCA2MSwgMCwgNTksIDAsICJTVFJJTkciXSwgWzY3LCA1OCwgMCwgNjEsIDAsICJTVFJJTkciXV0sICJncm91cHMiOiBbXSwgImRlZmluaXRpb25zIjogeyJzdWJncmFwaHMiOiBbeyJpZCI6ICJmMmZkZWJmNi1kZmFmLTQzYjYtOWViMi03ZjcwNjEzY2ZkYzEiLCAidmVyc2lvbiI6IDEsICJzdGF0ZSI6IHsibGFzdEdyb3VwSWQiOiA0LCAibGFzdE5vZGVJZCI6IDM0LCAibGFzdExpbmtJZCI6IDM3LCAibGFzdFJlcm91dGVJZCI6IDB9LCAicmV2aXNpb24iOiAwLCAiY29uZmlnIjoge30sICJuYW1lIjogIlRleHQgdG8gSW1hZ2UgKFotSW1hZ2UtVHVyYm8pIiwgImlucHV0Tm9kZSI6IHsiaWQiOiAtMTAsICJib3VuZGluZyI6IFstODAsIDQyNSwgMTIwLCAxMDBdfSwgIm91dHB1dE5vZGUiOiB7ImlkIjogLTIwLCAiYm91bmRpbmciOiBbMTQ5MCwgNDE1LCAxMjAsIDYwXX0sICJpbnB1dHMiOiBbeyJpZCI6ICJmYjE3ODY2OS1lNzQyLTRhNTMtOGE2OS03ZGY1OTgzNGRmZDgiLCAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAiU1RSSU5HIiwgImxpbmtJZHMiOiBbMzRdLCAibGFiZWwiOiAicHJvbXB0IiwgInBvcyI6IFsyMCwgNDQ1XX0sIHsiaWQiOiAiZGQ3ODBiM2MtMjNlOS00NmZmLTg0NjktMTU2MDA4ZjQyZTVhIiwgIm5hbWUiOiAid2lkdGgiLCAidHlwZSI6ICJJTlQiLCAibGlua0lkcyI6IFszNV0sICJwb3MiOiBbMjAsIDQ2NV19LCB7ImlkIjogIjdiMDhkNTQ2LTZiYjAtNGVmOS04MmU5LWZmYWU1ZTFlZTZiYyIsICJuYW1lIjogImhlaWdodCIsICJ0eXBlIjogIklOVCIsICJsaW5rSWRzIjogWzM2XSwgInBvcyI6IFsyMCwgNDg1XX1dLCAib3V0cHV0cyI6IFt7ImlkIjogIjFmYTcyYTIxLWNlMDAtNDk1Mi04MTRlLTFmMmZmYmU4N2QxZCIsICJuYW1lIjogIklNQUdFIiwgInR5cGUiOiAiSU1BR0UiLCAibGlua0lkcyI6IFsxNl0sICJsb2NhbGl6ZWRfbmFtZSI6ICJJTUFHRSIsICJwb3MiOiBbMTUxMCwgNDM1XX1dLCAid2lkZ2V0cyI6IFtdLCAibm9kZXMiOiBbeyJpZCI6IDMwLCAidHlwZSI6ICJDTElQTG9hZGVyIiwgInBvcyI6IFsxMTAsIDMzMF0sICJzaXplIjogWzI3MCwgMTA2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDAsICJtb2RlIjogMCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNMSVAiLCAibmFtZSI6ICJDTElQIiwgInR5cGUiOiAiQ0xJUCIsICJsaW5rcyI6IFsyOF19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiQ0xJUExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInF3ZW5fM180Yi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdGV4dF9lbmNvZGVycy9xd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogInRleHRfZW5jb2RlcnMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInF3ZW5fM180Yi5zYWZldGVuc29ycyIsICJsdW1pbmEyIiwgImRlZmF1bHQiXX0sIHsiaWQiOiAyOSwgInR5cGUiOiAiVkFFTG9hZGVyIiwgInBvcyI6IFsxMTAsIDQ4MF0sICJzaXplIjogWzI3MCwgNThdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogMSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW10sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiVkFFIiwgIm5hbWUiOiAiVkFFIiwgInR5cGUiOiAiVkFFIiwgImxpbmtzIjogWzI3XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJWQUVMb2FkZXIiLCAibW9kZWxzIjogW3sibmFtZSI6ICJhZS5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvdmFlL2FlLnNhZmV0ZW5zb3JzIiwgImRpcmVjdG9yeSI6ICJ2YWUifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbImFlLnNhZmV0ZW5zb3JzIl19LCB7ImlkIjogMzMsICJ0eXBlIjogIkNvbmRpdGlvbmluZ1plcm9PdXQiLCAicG9zIjogWzY0MCwgNjIwXSwgInNpemUiOiBbMjA0LjEzNDc2NTYyNSwgMjZdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogOCwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiY29uZGl0aW9uaW5nIiwgIm5hbWUiOiAiY29uZGl0aW9uaW5nIiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIiwgImxpbmsiOiAzMn1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNPTkRJVElPTklORyIsICJuYW1lIjogIkNPTkRJVElPTklORyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rcyI6IFszM119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiQ29uZGl0aW9uaW5nWmVyb091dCIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbXX0sIHsiaWQiOiA4LCAidHlwZSI6ICJWQUVEZWNvZGUiLCAicG9zIjogWzEyMjAsIDE2MF0sICJzaXplIjogWzIxMCwgNDZdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNSwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAic2FtcGxlcyIsICJuYW1lIjogInNhbXBsZXMiLCAidHlwZSI6ICJMQVRFTlQiLCAibGluayI6IDE0fSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJ2YWUiLCAibmFtZSI6ICJ2YWUiLCAidHlwZSI6ICJWQUUiLCAibGluayI6IDI3fV0sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiSU1BR0UiLCAibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgInNsb3RfaW5kZXgiOiAwLCAibGlua3MiOiBbMTZdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIlZBRURlY29kZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbXX0sIHsiaWQiOiAyOCwgInR5cGUiOiAiVU5FVExvYWRlciIsICJwb3MiOiBbMTEwLCAyMDBdLCAic2l6ZSI6IFsyNzAsIDgyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDIsICJtb2RlIjogMCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rcyI6IFsyNl19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVU5FVExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImRpZmZ1c2lvbl9tb2RlbHMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJkZWZhdWx0Il0sICJjb2xvciI6ICIjRkYwMDAwIn0sIHsiaWQiOiAyNywgInR5cGUiOiAiQ0xJUFRleHRFbmNvZGUiLCAicG9zIjogWzQzMCwgMjAwXSwgInNpemUiOiBbNDEwLCAzNzBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNywgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiY2xpcCIsICJuYW1lIjogImNsaXAiLCAidHlwZSI6ICJDTElQIiwgImxpbmsiOiAyOH0sIHsibG9jYWxpemVkX25hbWUiOiAidGV4dCIsICJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAid2lkZ2V0IjogeyJuYW1lIjogInRleHQifSwgImxpbmsiOiAzNH1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkNPTkRJVElPTklORyIsICJuYW1lIjogIkNPTkRJVElPTklORyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rcyI6IFszMCwgMzJdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNMSVBUZXh0RW5jb2RlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsiIl19LCB7ImlkIjogMTMsICJ0eXBlIjogIkVtcHR5U0QzTGF0ZW50SW1hZ2UiLCAicG9zIjogWzExMCwgNjMwXSwgInNpemUiOiBbMjYwLCAxMTBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNiwgIm1vZGUiOiAwLCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAid2lkdGgiLCAibmFtZSI6ICJ3aWR0aCIsICJ0eXBlIjogIklOVCIsICJ3aWRnZXQiOiB7Im5hbWUiOiAid2lkdGgifSwgImxpbmsiOiAzNX0sIHsibG9jYWxpemVkX25hbWUiOiAiaGVpZ2h0IiwgIm5hbWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAiSU5UIiwgIndpZGdldCI6IHsibmFtZSI6ICJoZWlnaHQifSwgImxpbmsiOiAzNn1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkxBVEVOVCIsICJuYW1lIjogIkxBVEVOVCIsICJ0eXBlIjogIkxBVEVOVCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE3XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJFbXB0eVNEM0xhdGVudEltYWdlIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFsxMjgwLCA3MjAsIDFdfSwgeyJpZCI6IDMsICJ0eXBlIjogIktTYW1wbGVyIiwgInBvcyI6IFs4ODAsIDI3MF0sICJzaXplIjogWzMxNSwgMjYyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDQsICJtb2RlIjogMCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIm1vZGVsIiwgIm5hbWUiOiAibW9kZWwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rIjogMTN9LCB7ImxvY2FsaXplZF9uYW1lIjogInBvc2l0aXZlIiwgIm5hbWUiOiAicG9zaXRpdmUiLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGluayI6IDMwfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJuZWdhdGl2ZSIsICJuYW1lIjogIm5lZ2F0aXZlIiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIiwgImxpbmsiOiAzM30sIHsibG9jYWxpemVkX25hbWUiOiAibGF0ZW50X2ltYWdlIiwgIm5hbWUiOiAibGF0ZW50X2ltYWdlIiwgInR5cGUiOiAiTEFURU5UIiwgImxpbmsiOiAxN31dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIkxBVEVOVCIsICJuYW1lIjogIkxBVEVOVCIsICJ0eXBlIjogIkxBVEVOVCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE0XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJLU2FtcGxlciIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbMzI3MjYzNTQ0NjE3Mzk3LCAicmFuZG9taXplIiwgNCwgMSwgInJlc19tdWx0aXN0ZXAiLCAic2ltcGxlIiwgMV19LCB7ImlkIjogMTEsICJ0eXBlIjogIk1vZGVsU2FtcGxpbmdBdXJhRmxvdyIsICJwb3MiOiBbODgwLCAxNjBdLCAic2l6ZSI6IFszMTAsIDYwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDMsICJtb2RlIjogMCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIm1vZGVsIiwgIm5hbWUiOiAibW9kZWwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rIjogMjZ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJNT0RFTCIsICJuYW1lIjogIk1PREVMIiwgInR5cGUiOiAiTU9ERUwiLCAic2xvdF9pbmRleCI6IDAsICJsaW5rcyI6IFsxM119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNjQiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiTW9kZWxTYW1wbGluZ0F1cmFGbG93IiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFszXX1dLCAiZ3JvdXBzIjogW3siaWQiOiAyLCAidGl0bGUiOiAiU3RlcDIgLSBJbWFnZSBzaXplIiwgImJvdW5kaW5nIjogWzEwMCwgNTYwLCAyOTAsIDIwMF0sICJjb2xvciI6ICIjM2Y3ODllIiwgImZvbnRfc2l6ZSI6IDI0LCAiZmxhZ3MiOiB7fX0sIHsiaWQiOiAzLCAidGl0bGUiOiAiU3RlcDMgLSBQcm9tcHQiLCAiYm91bmRpbmciOiBbNDEwLCAxMzAsIDQ1MCwgNTQwXSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fSwgeyJpZCI6IDQsICJ0aXRsZSI6ICJTdGVwMSAtIExvYWQgbW9kZWxzIiwgImJvdW5kaW5nIjogWzEwMCwgMTMwLCAyOTAsIDQxMy42XSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fV0sICJsaW5rcyI6IFt7ImlkIjogMzIsICJvcmlnaW5faWQiOiAyNywgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDMzLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDI2LCAib3JpZ2luX2lkIjogMjgsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAxMSwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTU9ERUwifSwgeyJpZCI6IDE0LCAib3JpZ2luX2lkIjogMywgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDgsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkxBVEVOVCJ9LCB7ImlkIjogMjcsICJvcmlnaW5faWQiOiAyOSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDgsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIlZBRSJ9LCB7ImlkIjogMTMsICJvcmlnaW5faWQiOiAxMSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDMsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIk1PREVMIn0sIHsiaWQiOiAzMCwgIm9yaWdpbl9pZCI6IDI3LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiQ09ORElUSU9OSU5HIn0sIHsiaWQiOiAzMywgIm9yaWdpbl9pZCI6IDMzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMiwgInR5cGUiOiAiQ09ORElUSU9OSU5HIn0sIHsiaWQiOiAxNywgIm9yaWdpbl9pZCI6IDEzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMywgInR5cGUiOiAiTEFURU5UIn0sIHsiaWQiOiAyOCwgIm9yaWdpbl9pZCI6IDMwLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMjcsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkNMSVAifSwgeyJpZCI6IDE2LCAib3JpZ2luX2lkIjogOCwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IC0yMCwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiSU1BR0UifSwgeyJpZCI6IDM0LCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMjcsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIlNUUklORyJ9LCB7ImlkIjogMzUsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDEsICJ0YXJnZXRfaWQiOiAxMywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiSU5UIn0sIHsiaWQiOiAzNiwgIm9yaWdpbl9pZCI6IC0xMCwgIm9yaWdpbl9zbG90IjogMiwgInRhcmdldF9pZCI6IDEzLCAidGFyZ2V0X3Nsb3QiOiAxLCAidHlwZSI6ICJJTlQifV0sICJleHRyYSI6IHsid29ya2Zsb3dSZW5kZXJlclZlcnNpb24iOiAiTEcifX0sIHsiaWQiOiAiZDA5N2I2NDUtNGQzYS00YmI3LThiMGUtNzBlNjAxY2YwN2M5IiwgInZlcnNpb24iOiAxLCAic3RhdGUiOiB7Imxhc3RHcm91cElkIjogNCwgImxhc3ROb2RlSWQiOiAzNiwgImxhc3RMaW5rSWQiOiA0MSwgImxhc3RSZXJvdXRlSWQiOiAwfSwgInJldmlzaW9uIjogMCwgImNvbmZpZyI6IHt9LCAibmFtZSI6ICJUZXh0IHRvIEltYWdlIChaLUltYWdlLVR1cmJvIHdpdGggTG9SQSkiLCAiaW5wdXROb2RlIjogeyJpZCI6IC0xMCwgImJvdW5kaW5nIjogWy04MCwgNDI1LCAxMjAsIDE0MF19LCAib3V0cHV0Tm9kZSI6IHsiaWQiOiAtMjAsICJib3VuZGluZyI6IFsxNDkwLCA0MTUsIDEyMCwgNjBdfSwgImlucHV0cyI6IFt7ImlkIjogImZiMTc4NjY5LWU3NDItNGE1My04YTY5LTdkZjU5ODM0ZGZkOCIsICJuYW1lIjogInRleHQiLCAidHlwZSI6ICJTVFJJTkciLCAibGlua0lkcyI6IFszNF0sICJwb3MiOiBbMjAsIDQ0NV19LCB7ImlkIjogImRkNzgwYjNjLTIzZTktNDZmZi04NDY5LTE1NjAwOGY0MmU1YSIsICJuYW1lIjogIndpZHRoIiwgInR5cGUiOiAiSU5UIiwgImxpbmtJZHMiOiBbMzVdLCAicG9zIjogWzIwLCA0NjVdfSwgeyJpZCI6ICI3YjA4ZDU0Ni02YmIwLTRlZjktODJlOS1mZmFlNWUxZWU2YmMiLCAibmFtZSI6ICJoZWlnaHQiLCAidHlwZSI6ICJJTlQiLCAibGlua0lkcyI6IFszNl0sICJwb3MiOiBbMjAsIDQ4NV19LCB7ImlkIjogIjg0MGNkNTMxLWZmYzUtNDk0OS04OTg2LTM5YjIyNzI1ZDZlYSIsICJuYW1lIjogImxvcmFfbmFtZSIsICJ0eXBlIjogIkNPTUJPIiwgImxpbmtJZHMiOiBbNDBdLCAicG9zIjogWzIwLCA1MDVdfSwgeyJpZCI6ICIzOGM5ZWMwNy1jN2UzLTQyMGMtOGFkNS0zMWVmYmQxMmUyNTgiLCAibmFtZSI6ICJzdHJlbmd0aF9tb2RlbCIsICJ0eXBlIjogIkZMT0FUIiwgImxpbmtJZHMiOiBbNDFdLCAibGFiZWwiOiAibG9yYV9zdHJlbmd0aCIsICJwb3MiOiBbMjAsIDUyNV19XSwgIm91dHB1dHMiOiBbeyJpZCI6ICIxZmE3MmEyMS1jZTAwLTQ5NTItODE0ZS0xZjJmZmJlODdkMWQiLCAibmFtZSI6ICJJTUFHRSIsICJ0eXBlIjogIklNQUdFIiwgImxpbmtJZHMiOiBbMTZdLCAibG9jYWxpemVkX25hbWUiOiAiSU1BR0UiLCAicG9zIjogWzE1MTAsIDQzNV19XSwgIndpZGdldHMiOiBbXSwgIm5vZGVzIjogW3siaWQiOiAzMCwgInR5cGUiOiAiQ0xJUExvYWRlciIsICJwb3MiOiBbMTEwLCAzMzBdLCAic2l6ZSI6IFsyNzAsIDEwNl0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAwLCAibW9kZSI6IDQsICJpbnB1dHMiOiBbXSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDTElQIiwgIm5hbWUiOiAiQ0xJUCIsICJ0eXBlIjogIkNMSVAiLCAibGlua3MiOiBbMjhdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNMSVBMb2FkZXIiLCAibW9kZWxzIjogW3sibmFtZSI6ICJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAidXJsIjogImh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3RleHRfZW5jb2RlcnMvcXdlbl8zXzRiLnNhZmV0ZW5zb3JzIiwgImRpcmVjdG9yeSI6ICJ0ZXh0X2VuY29kZXJzIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJxd2VuXzNfNGIuc2FmZXRlbnNvcnMiLCAibHVtaW5hMiIsICJkZWZhdWx0Il19LCB7ImlkIjogMjksICJ0eXBlIjogIlZBRUxvYWRlciIsICJwb3MiOiBbMTEwLCA0ODBdLCAic2l6ZSI6IFsyNzAsIDU4XSwgImZsYWdzIjoge30sICJvcmRlciI6IDEsICJtb2RlIjogNCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIlZBRSIsICJuYW1lIjogIlZBRSIsICJ0eXBlIjogIlZBRSIsICJsaW5rcyI6IFsyN119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVkFFTG9hZGVyIiwgIm1vZGVscyI6IFt7Im5hbWUiOiAiYWUuc2FmZXRlbnNvcnMiLCAidXJsIjogImh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQ29tZnktT3JnL3pfaW1hZ2VfdHVyYm8vcmVzb2x2ZS9tYWluL3NwbGl0X2ZpbGVzL3ZhZS9hZS5zYWZldGVuc29ycyIsICJkaXJlY3RvcnkiOiAidmFlIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJhZS5zYWZldGVuc29ycyJdfSwgeyJpZCI6IDMzLCAidHlwZSI6ICJDb25kaXRpb25pbmdaZXJvT3V0IiwgInBvcyI6IFs2NDAsIDYyMF0sICJzaXplIjogWzIwNC4xMzQ3NjU2MjUsIDI2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDksICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogImNvbmRpdGlvbmluZyIsICJuYW1lIjogImNvbmRpdGlvbmluZyIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rIjogMzJ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDT05ESVRJT05JTkciLCAibmFtZSI6ICJDT05ESVRJT05JTkciLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGlua3MiOiBbMzNdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjczIiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkNvbmRpdGlvbmluZ1plcm9PdXQiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogW119LCB7ImlkIjogOCwgInR5cGUiOiAiVkFFRGVjb2RlIiwgInBvcyI6IFsxMjIwLCAxNjBdLCAic2l6ZSI6IFsyMTAsIDQ2XSwgImZsYWdzIjoge30sICJvcmRlciI6IDUsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogInNhbXBsZXMiLCAibmFtZSI6ICJzYW1wbGVzIiwgInR5cGUiOiAiTEFURU5UIiwgImxpbmsiOiAxNH0sIHsibG9jYWxpemVkX25hbWUiOiAidmFlIiwgIm5hbWUiOiAidmFlIiwgInR5cGUiOiAiVkFFIiwgImxpbmsiOiAyN31dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIklNQUdFIiwgIm5hbWUiOiAiSU1BR0UiLCAidHlwZSI6ICJJTUFHRSIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzE2XX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJWQUVEZWNvZGUiLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogW119LCB7ImlkIjogMjcsICJ0eXBlIjogIkNMSVBUZXh0RW5jb2RlIiwgInBvcyI6IFs0MzAsIDIwMF0sICJzaXplIjogWzQxMCwgMzcwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDgsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogImNsaXAiLCAibmFtZSI6ICJjbGlwIiwgInR5cGUiOiAiQ0xJUCIsICJsaW5rIjogMjh9LCB7ImxvY2FsaXplZF9uYW1lIjogInRleHQiLCAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAiU1RSSU5HIiwgIndpZGdldCI6IHsibmFtZSI6ICJ0ZXh0In0sICJsaW5rIjogMzR9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJDT05ESVRJT05JTkciLCAibmFtZSI6ICJDT05ESVRJT05JTkciLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGlua3MiOiBbMzAsIDMyXX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy43MyIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJDTElQVGV4dEVuY29kZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbIiJdfSwgeyJpZCI6IDEzLCAidHlwZSI6ICJFbXB0eVNEM0xhdGVudEltYWdlIiwgInBvcyI6IFsxMTAsIDYzMF0sICJzaXplIjogWzI2MCwgMTEwXSwgImZsYWdzIjoge30sICJvcmRlciI6IDcsICJtb2RlIjogNCwgImlucHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIndpZHRoIiwgIm5hbWUiOiAid2lkdGgiLCAidHlwZSI6ICJJTlQiLCAid2lkZ2V0IjogeyJuYW1lIjogIndpZHRoIn0sICJsaW5rIjogMzV9LCB7ImxvY2FsaXplZF9uYW1lIjogImhlaWdodCIsICJuYW1lIjogImhlaWdodCIsICJ0eXBlIjogIklOVCIsICJ3aWRnZXQiOiB7Im5hbWUiOiAiaGVpZ2h0In0sICJsaW5rIjogMzZ9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJMQVRFTlQiLCAibmFtZSI6ICJMQVRFTlQiLCAidHlwZSI6ICJMQVRFTlQiLCAic2xvdF9pbmRleCI6IDAsICJsaW5rcyI6IFsxN119XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNjQiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiRW1wdHlTRDNMYXRlbnRJbWFnZSIsICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbMTAyNCwgMTAyNCwgMV19LCB7ImlkIjogMywgInR5cGUiOiAiS1NhbXBsZXIiLCAicG9zIjogWzg4MCwgMjcwXSwgInNpemUiOiBbMzE1LCAyNjJdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNCwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAxM30sIHsibG9jYWxpemVkX25hbWUiOiAicG9zaXRpdmUiLCAibmFtZSI6ICJwb3NpdGl2ZSIsICJ0eXBlIjogIkNPTkRJVElPTklORyIsICJsaW5rIjogMzB9LCB7ImxvY2FsaXplZF9uYW1lIjogIm5lZ2F0aXZlIiwgIm5hbWUiOiAibmVnYXRpdmUiLCAidHlwZSI6ICJDT05ESVRJT05JTkciLCAibGluayI6IDMzfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJsYXRlbnRfaW1hZ2UiLCAibmFtZSI6ICJsYXRlbnRfaW1hZ2UiLCAidHlwZSI6ICJMQVRFTlQiLCAibGluayI6IDE3fV0sICJvdXRwdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAiTEFURU5UIiwgIm5hbWUiOiAiTEFURU5UIiwgInR5cGUiOiAiTEFURU5UIiwgInNsb3RfaW5kZXgiOiAwLCAibGlua3MiOiBbMTRdfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjY0IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIktTYW1wbGVyIiwgImVuYWJsZVRhYnMiOiBmYWxzZSwgInRhYldpZHRoIjogNjUsICJ0YWJYT2Zmc2V0IjogMTAsICJoYXNTZWNvbmRUYWIiOiBmYWxzZSwgInNlY29uZFRhYlRleHQiOiAiU2VuZCBCYWNrIiwgInNlY29uZFRhYk9mZnNldCI6IDgwLCAic2Vjb25kVGFiV2lkdGgiOiA2NX0sICJ3aWRnZXRzX3ZhbHVlcyI6IFs5ODQwMzYxODQ2MDI3ODksICJyYW5kb21pemUiLCA0LCAxLCAicmVzX211bHRpc3RlcCIsICJzaW1wbGUiLCAxXX0sIHsiaWQiOiAyOCwgInR5cGUiOiAiVU5FVExvYWRlciIsICJwb3MiOiBbMTEwLCAyMDBdLCAic2l6ZSI6IFsyNzAsIDgyXSwgImZsYWdzIjoge30sICJvcmRlciI6IDIsICJtb2RlIjogNCwgImlucHV0cyI6IFtdLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJsaW5rcyI6IFszOF19XSwgInByb3BlcnRpZXMiOiB7ImNucl9pZCI6ICJjb21meS1jb3JlIiwgInZlciI6ICIwLjMuNzMiLCAiTm9kZSBuYW1lIGZvciBTJlIiOiAiVU5FVExvYWRlciIsICJtb2RlbHMiOiBbeyJuYW1lIjogInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9Db21meS1Pcmcvel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vc3BsaXRfZmlsZXMvZGlmZnVzaW9uX21vZGVscy96X2ltYWdlX3R1cmJvX2JmMTYuc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImRpZmZ1c2lvbl9tb2RlbHMifV0sICJlbmFibGVUYWJzIjogZmFsc2UsICJ0YWJXaWR0aCI6IDY1LCAidGFiWE9mZnNldCI6IDEwLCAiaGFzU2Vjb25kVGFiIjogZmFsc2UsICJzZWNvbmRUYWJUZXh0IjogIlNlbmQgQmFjayIsICJzZWNvbmRUYWJPZmZzZXQiOiA4MCwgInNlY29uZFRhYldpZHRoIjogNjV9LCAid2lkZ2V0c192YWx1ZXMiOiBbInpfaW1hZ2VfdHVyYm9fYmYxNi5zYWZldGVuc29ycyIsICJkZWZhdWx0Il0sICJjb2xvciI6ICIjRkYwMDAwIn0sIHsiaWQiOiAzNiwgInR5cGUiOiAiTm90ZSIsICJwb3MiOiBbNTEwLCAtMTMwXSwgInNpemUiOiBbMjEwLCA4OF0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAzLCAibW9kZSI6IDQsICJpbnB1dHMiOiBbXSwgIm91dHB1dHMiOiBbXSwgInRpdGxlIjogIkxvUkEgdHJpZ2dlciB3b3JkIiwgInByb3BlcnRpZXMiOiB7fSwgIndpZGdldHNfdmFsdWVzIjogWyJQaXhlbCBhcnQgc3R5bGUiXSwgImNvbG9yIjogIiM0MzIiLCAiYmdjb2xvciI6ICIjMDAwIn0sIHsiaWQiOiAxMSwgInR5cGUiOiAiTW9kZWxTYW1wbGluZ0F1cmFGbG93IiwgInBvcyI6IFs4ODAsIDE2MF0sICJzaXplIjogWzMxMCwgNjBdLCAiZmxhZ3MiOiB7fSwgIm9yZGVyIjogNiwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAzOX1dLCAib3V0cHV0cyI6IFt7ImxvY2FsaXplZF9uYW1lIjogIk1PREVMIiwgIm5hbWUiOiAiTU9ERUwiLCAidHlwZSI6ICJNT0RFTCIsICJzbG90X2luZGV4IjogMCwgImxpbmtzIjogWzEzXX1dLCAicHJvcGVydGllcyI6IHsiY25yX2lkIjogImNvbWZ5LWNvcmUiLCAidmVyIjogIjAuMy42NCIsICJOb2RlIG5hbWUgZm9yIFMmUiI6ICJNb2RlbFNhbXBsaW5nQXVyYUZsb3ciLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWzNdfSwgeyJpZCI6IDM1LCAidHlwZSI6ICJMb3JhTG9hZGVyTW9kZWxPbmx5IiwgInBvcyI6IFs0NTAsIDEwXSwgInNpemUiOiBbMzcwLCA4Ml0sICJmbGFncyI6IHt9LCAib3JkZXIiOiAxMCwgIm1vZGUiOiA0LCAiaW5wdXRzIjogW3sibG9jYWxpemVkX25hbWUiOiAibW9kZWwiLCAibmFtZSI6ICJtb2RlbCIsICJ0eXBlIjogIk1PREVMIiwgImxpbmsiOiAzOH0sIHsibG9jYWxpemVkX25hbWUiOiAibG9yYV9uYW1lIiwgIm5hbWUiOiAibG9yYV9uYW1lIiwgInR5cGUiOiAiQ09NQk8iLCAid2lkZ2V0IjogeyJuYW1lIjogImxvcmFfbmFtZSJ9LCAibGluayI6IDQwfSwgeyJsb2NhbGl6ZWRfbmFtZSI6ICJzdHJlbmd0aF9tb2RlbCIsICJuYW1lIjogInN0cmVuZ3RoX21vZGVsIiwgInR5cGUiOiAiRkxPQVQiLCAid2lkZ2V0IjogeyJuYW1lIjogInN0cmVuZ3RoX21vZGVsIn0sICJsaW5rIjogNDF9XSwgIm91dHB1dHMiOiBbeyJsb2NhbGl6ZWRfbmFtZSI6ICJNT0RFTCIsICJuYW1lIjogIk1PREVMIiwgInR5cGUiOiAiTU9ERUwiLCAibGlua3MiOiBbMzldfV0sICJwcm9wZXJ0aWVzIjogeyJjbnJfaWQiOiAiY29tZnktY29yZSIsICJ2ZXIiOiAiMC4zLjc1IiwgIk5vZGUgbmFtZSBmb3IgUyZSIjogIkxvcmFMb2FkZXJNb2RlbE9ubHkiLCAibW9kZWxzIjogW3sibmFtZSI6ICJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsICJ1cmwiOiAiaHR0cHM6Ly9odWdnaW5nZmFjZS5jby90YXJuNTkvcGl4ZWxfYXJ0X3N0eWxlX2xvcmFfel9pbWFnZV90dXJiby9yZXNvbHZlL21haW4vcGl4ZWxfYXJ0X3N0eWxlX3pfaW1hZ2VfdHVyYm8uc2FmZXRlbnNvcnMiLCAiZGlyZWN0b3J5IjogImxvcmFzIn1dLCAiZW5hYmxlVGFicyI6IGZhbHNlLCAidGFiV2lkdGgiOiA2NSwgInRhYlhPZmZzZXQiOiAxMCwgImhhc1NlY29uZFRhYiI6IGZhbHNlLCAic2Vjb25kVGFiVGV4dCI6ICJTZW5kIEJhY2siLCAic2Vjb25kVGFiT2Zmc2V0IjogODAsICJzZWNvbmRUYWJXaWR0aCI6IDY1fSwgIndpZGdldHNfdmFsdWVzIjogWyJwaXhlbF9hcnRfc3R5bGVfel9pbWFnZV90dXJiby5zYWZldGVuc29ycyIsIDFdfV0sICJncm91cHMiOiBbeyJpZCI6IDIsICJ0aXRsZSI6ICJTdGVwMiAtIEltYWdlIHNpemUiLCAiYm91bmRpbmciOiBbMTAwLCA1NjAsIDI5MCwgMjAwXSwgImNvbG9yIjogIiMzZjc4OWUiLCAiZm9udF9zaXplIjogMjQsICJmbGFncyI6IHt9fSwgeyJpZCI6IDMsICJ0aXRsZSI6ICJTdGVwMyAtIFByb21wdCIsICJib3VuZGluZyI6IFs0MTAsIDEzMCwgNDUwLCA1NDBdLCAiY29sb3IiOiAiIzNmNzg5ZSIsICJmb250X3NpemUiOiAyNCwgImZsYWdzIjoge319LCB7ImlkIjogNCwgInRpdGxlIjogIlN0ZXAxIC0gTG9hZCBtb2RlbHMiLCAiYm91bmRpbmciOiBbMTAwLCAxMzAsIDI5MCwgNDEzLjZdLCAiY29sb3IiOiAiIzNmNzg5ZSIsICJmb250X3NpemUiOiAyNCwgImZsYWdzIjoge319XSwgImxpbmtzIjogW3siaWQiOiAzMiwgIm9yaWdpbl9pZCI6IDI3LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMzMsICJ0YXJnZXRfc2xvdCI6IDAsICJ0eXBlIjogIkNPTkRJVElPTklORyJ9LCB7ImlkIjogMTQsICJvcmlnaW5faWQiOiAzLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogOCwgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTEFURU5UIn0sIHsiaWQiOiAyNywgIm9yaWdpbl9pZCI6IDI5LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogOCwgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiVkFFIn0sIHsiaWQiOiAxMywgIm9yaWdpbl9pZCI6IDExLCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogMywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiTU9ERUwifSwgeyJpZCI6IDMwLCAib3JpZ2luX2lkIjogMjcsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAxLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDMzLCAib3JpZ2luX2lkIjogMzMsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAyLCAidHlwZSI6ICJDT05ESVRJT05JTkcifSwgeyJpZCI6IDE3LCAib3JpZ2luX2lkIjogMTMsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAzLCAidGFyZ2V0X3Nsb3QiOiAzLCAidHlwZSI6ICJMQVRFTlQifSwgeyJpZCI6IDI4LCAib3JpZ2luX2lkIjogMzAsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAyNywgInRhcmdldF9zbG90IjogMCwgInR5cGUiOiAiQ0xJUCJ9LCB7ImlkIjogMTYsICJvcmlnaW5faWQiOiA4LCAib3JpZ2luX3Nsb3QiOiAwLCAidGFyZ2V0X2lkIjogLTIwLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJJTUFHRSJ9LCB7ImlkIjogMzQsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDAsICJ0YXJnZXRfaWQiOiAyNywgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiU1RSSU5HIn0sIHsiaWQiOiAzNSwgIm9yaWdpbl9pZCI6IC0xMCwgIm9yaWdpbl9zbG90IjogMSwgInRhcmdldF9pZCI6IDEzLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJJTlQifSwgeyJpZCI6IDM2LCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiAyLCAidGFyZ2V0X2lkIjogMTMsICJ0YXJnZXRfc2xvdCI6IDEsICJ0eXBlIjogIklOVCJ9LCB7ImlkIjogMzgsICJvcmlnaW5faWQiOiAyOCwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDM1LCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJNT0RFTCJ9LCB7ImlkIjogMzksICJvcmlnaW5faWQiOiAzNSwgIm9yaWdpbl9zbG90IjogMCwgInRhcmdldF9pZCI6IDExLCAidGFyZ2V0X3Nsb3QiOiAwLCAidHlwZSI6ICJNT0RFTCJ9LCB7ImlkIjogNDAsICJvcmlnaW5faWQiOiAtMTAsICJvcmlnaW5fc2xvdCI6IDMsICJ0YXJnZXRfaWQiOiAzNSwgInRhcmdldF9zbG90IjogMSwgInR5cGUiOiAiQ09NQk8ifSwgeyJpZCI6IDQxLCAib3JpZ2luX2lkIjogLTEwLCAib3JpZ2luX3Nsb3QiOiA0LCAidGFyZ2V0X2lkIjogMzUsICJ0YXJnZXRfc2xvdCI6IDIsICJ0eXBlIjogIkZMT0FUIn1dLCAiZXh0cmEiOiB7IndvcmtmbG93UmVuZGVyZXJWZXJzaW9uIjogIkxHIn19XX0sICJjb25maWciOiB7fSwgImV4dHJhIjogeyJkcyI6IHsic2NhbGUiOiAxLjU4ODA5NjA1MjM2NDg4MDgsICJvZmZzZXQiOiBbMi45Mjg3Mzg3Mzg5MjI0MDM4LCAxNzYuMjc3MTA3NTUzMzUyMDRdfSwgImZyb250ZW5kVmVyc2lvbiI6ICIxLjM4LjEzIiwgIndvcmtmbG93UmVuZGVyZXJWZXJzaW9uIjogIkxHIiwgIlZIU19sYXRlbnRwcmV2aWV3IjogZmFsc2UsICJWSFNfbGF0ZW50cHJldmlld3JhdGUiOiAwLCAiVkhTX01ldGFkYXRhSW1hZ2UiOiB0cnVlLCAiVkhTX0tlZXBJbnRlcm1lZGlhdGUiOiB0cnVlLCAibWpyX3Byb2plY3QiOiB7InByb2plY3RfaWQiOiAiMjYwMV90ZXN0IiwgInByb2plY3RfZm9sZGVyIjogIjI2MDFfVEVTVCIsICJ0ZW1wbGF0ZSI6ICJ7QkFTRX0ve01FRElBfS97REFURX0ve05BTUV9L3tNT0RFTH0iLCAidXBkYXRlZF9hdCI6ICIyMDI2LTAyLTA3VDIyOjAyOjAyLjgwOVoifX0sICJ2ZXJzaW9uIjogMC40LCAic2VlZF93aWRnZXRzIjoge319huYaFwABAABJREFUeF5c/QmWa0mONgnSSHp2r7c20EvpXf6nMpxDHYgI9DLKPPOFGXkHVSjwYVTo3/////d/Pb/v7+12u31vf7f7/f53+/vevvf7/fv5fr/f++N++86vf7e/29/ffPT9/s3PfP79fua3uev2/rxut9sf/89n98/3c/v7+3w+t+/3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", import.meta.url).href; } catch { return ""; } })(); -function cs(e) { +function ds(e) { var t; try { e != null && e._mjrFilmstripReleaseTimer && (clearTimeout(e._mjrFilmstripReleaseTimer), e._mjrFilmstripReleaseTimer = null); @@ -19637,7 +19652,7 @@ function cs(e) { (t = console.debug) == null || t.call(console, n); } } -function Ou(e) { +function Ju(e) { var n; if (!e) return; const t = String(e.dataset.lazySrc || "").trim(); @@ -19648,7 +19663,7 @@ function Ou(e) { (n = console.debug) == null || n.call(console, i); } } -function Wc(e) { +function wc(e) { var t, n; if (e) try { @@ -19659,7 +19674,7 @@ function Wc(e) { (n = console.debug) == null || n.call(console, i); } } -function nb(e) { +function ib(e) { var t, n; if (e) try { @@ -19668,10 +19683,10 @@ function nb(e) { (n = console.debug) == null || n.call(console, i); } } -function Bl(e, { releaseSrc: t = !0 } = {}) { +function Ul(e, { releaseSrc: t = !0 } = {}) { var n, i; if (e) { - cs(e), nb(e); + ds(e), ib(e); try { e._mjrFilmstripInView = !1; } catch (o) { @@ -19685,11 +19700,11 @@ function Bl(e, { releaseSrc: t = !0 } = {}) { } } } -function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { +function oW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { const o = document.createElement("div"); o.className = "mjr-filmstrip", o.style.cssText = ` width: 100%; - height: ${QA}px; + height: ${eW}px; overflow-x: auto; overflow-y: hidden; background: linear-gradient(180deg, rgba(16, 20, 27, 0.82), rgba(10, 13, 18, 0.92)); @@ -19717,105 +19732,105 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { const u = () => { try { return new IntersectionObserver( - (x) => { - var V, R; - const w = o.style.display !== "none", X = !document.hidden; - for (const j of x) { - const L = j.target; - if (!(L instanceof HTMLVideoElement)) continue; - const N = j.isIntersecting || j.intersectionRatio > 0; + (v) => { + var Y, F; + const w = o.style.display !== "none", R = !document.hidden; + for (const N of v) { + const V = N.target; + if (!(V instanceof HTMLVideoElement)) continue; + const k = N.isIntersecting || N.intersectionRatio > 0; try { - L._mjrFilmstripInView = N; - } catch (O) { - (V = console.debug) == null || V.call(console, O); + V._mjrFilmstripInView = k; + } catch (z) { + (Y = console.debug) == null || Y.call(console, z); } - if (N && (cs(L), Ou(L)), N && j.intersectionRatio >= Fu && w && X ? Wc(L) : nb(L), !N) { - cs(L); + if (k && (ds(V), Ju(V)), k && N.intersectionRatio >= zu && w && R ? wc(V) : ib(V), !k) { + ds(V); try { - L._mjrFilmstripReleaseTimer = setTimeout(() => { - var O; + V._mjrFilmstripReleaseTimer = setTimeout(() => { + var z; try { - if (!L.isConnected) { - Bl(L, { releaseSrc: !0 }); + if (!V.isConnected) { + Ul(V, { releaseSrc: !0 }); return; } - L._mjrFilmstripInView || Bl(L, { releaseSrc: !0 }); + V._mjrFilmstripInView || Ul(V, { releaseSrc: !0 }); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } - }, $A); - } catch (O) { - (R = console.debug) == null || R.call(console, O); + }, nW); + } catch (z) { + (F = console.debug) == null || F.call(console, z); } } } }, { root: o, - rootMargin: _A, - threshold: [0, Fu] + rootMargin: tW, + threshold: [0, zu] } ); } catch { return null; } - }, I = (x) => { - var w, X, V; - if (x) { + }, I = (v) => { + var w, R, Y; + if (v) { try { - x._mjrFilmstripInView = !1; - } catch (R) { - (w = console.debug) == null || w.call(console, R); + v._mjrFilmstripInView = !1; + } catch (F) { + (w = console.debug) == null || w.call(console, F); } - c.add(x); + c.add(v); try { - a || (a = u()), (X = a == null ? void 0 : a.observe) == null || X.call(a, x); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + a || (a = u()), (R = a == null ? void 0 : a.observe) == null || R.call(a, v); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } - }, p = ({ releaseSrc: x = !1 } = {}) => { + }, p = ({ releaseSrc: v = !1 } = {}) => { for (const w of Array.from(c)) - Bl(w, { releaseSrc: x }); - }, M = () => { - var x; + Ul(w, { releaseSrc: v }); + }, S = () => { + var v; for (const w of Array.from(c)) try { if (!(w != null && w._mjrFilmstripInView) || !(w != null && w.isConnected)) continue; - Ou(w), Wc(w); - } catch (X) { - (x = console.debug) == null || x.call(console, X); + Ju(w), wc(w); + } catch (R) { + (v = console.debug) == null || v.call(console, R); } - }, Z = ({ releaseSrc: x = !0 } = {}) => { - var w, X; + }, A = ({ releaseSrc: v = !0 } = {}) => { + var w, R; try { (w = a == null ? void 0 : a.disconnect) == null || w.call(a); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } - a = null, p({ releaseSrc: x }), c.clear(); - }, A = () => { - var x, w; + a = null, p({ releaseSrc: v }), c.clear(); + }, C = () => { + var v, w; try { - return !!((w = (x = window == null ? void 0 : window.matchMedia) == null ? void 0 : x.call(window, "(prefers-reduced-motion: reduce)")) != null && w.matches); + return !!((w = (v = window == null ? void 0 : window.matchMedia) == null ? void 0 : v.call(window, "(prefers-reduced-motion: reduce)")) != null && w.matches); } catch { return !1; } - }, g = (x, w = 1.08) => { - var X, V, R, j; - if (!(!x || A())) { + }, g = (v, w = 1.08) => { + var R, Y, F, N; + if (!(!v || C())) { try { - (V = (X = x._mjrFilmstripBounce) == null ? void 0 : X.cancel) == null || V.call(X); - } catch (L) { - (R = console.debug) == null || R.call(console, L); + (Y = (R = v._mjrFilmstripBounce) == null ? void 0 : R.cancel) == null || Y.call(R); + } catch (V) { + (F = console.debug) == null || F.call(console, V); } try { - if (typeof x.animate != "function") return; - const L = Math.min(1.18, w + 0.07), N = Math.max(1, w - 0.03), q = x.animate( + if (typeof v.animate != "function") return; + const V = Math.min(1.18, w + 0.07), k = Math.max(1, w - 0.03), K = v.animate( [ { transform: `scale(${w})` }, - { transform: `scale(${L})` }, - { transform: `scale(${N})` }, + { transform: `scale(${V})` }, + { transform: `scale(${k})` }, { transform: `scale(${w})` } ], { @@ -19823,25 +19838,25 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { easing: "cubic-bezier(0.22, 0.9, 0.32, 1.15)" } ); - x._mjrFilmstripBounce = q, q.onfinish = () => { - var O; + v._mjrFilmstripBounce = K, K.onfinish = () => { + var z; try { - x._mjrFilmstripBounce === q && (x._mjrFilmstripBounce = null); + v._mjrFilmstripBounce === K && (v._mjrFilmstripBounce = null); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } }; - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } } - }, h = (x, w) => { - var j; - const X = document.createElement("div"); - X.className = "mjr-filmstrip-item", X.dataset.fidx = String(w), X.style.cssText = ` + }, Z = (v, w) => { + var N; + const R = document.createElement("div"); + R.className = "mjr-filmstrip-item", R.dataset.fidx = String(w), R.style.cssText = ` position: relative; - width: ${qA}px; - height: ${PA}px; + width: ${_A}px; + height: ${$A}px; border-radius: 14px; overflow: hidden; cursor: pointer; @@ -19853,10 +19868,10 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { transform: scale(1); transition: border-color 0.16s ease, opacity 0.16s ease, transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease; `; - const V = String((x == null ? void 0 : x.kind) || "").toLowerCase(), R = t(x); - if (R && V === "video") { - const L = document.createElement("video"); - L.className = "mjr-filmstrip-thumb", L.muted = !0, L.loop = !0, L.autoplay = !0, L.controls = !1, L.playsInline = !0, L.preload = "none", L.dataset.lazySrc = R, L.style.cssText = ` + const Y = String((v == null ? void 0 : v.kind) || "").toLowerCase(), F = t(v); + if (F && Y === "video") { + const V = document.createElement("video"); + V.className = "mjr-filmstrip-thumb", V.muted = !0, V.loop = !0, V.autoplay = !0, V.controls = !1, V.playsInline = !0, V.preload = "none", V.dataset.lazySrc = F, V.style.cssText = ` width: 100%; height: 100%; object-fit: cover; @@ -19864,125 +19879,125 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { pointer-events: none; `; try { - L.disablePictureInPicture = !0; - } catch (N) { - (j = console.debug) == null || j.call(console, N); + V.disablePictureInPicture = !0; + } catch (k) { + (N = console.debug) == null || N.call(console, k); } - return L.addEventListener( + return V.addEventListener( "loadeddata", () => { - var N; + var k; try { - L._mjrFilmstripInView && o.style.display !== "none" && !document.hidden && Wc(L); - } catch (q) { - (N = console.debug) == null || N.call(console, q); + V._mjrFilmstripInView && o.style.display !== "none" && !document.hidden && wc(V); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } }, { passive: !0 } - ), L.addEventListener( + ), V.addEventListener( "error", () => { - var N; + var k; try { - L.style.display = "none"; - } catch (q) { - (N = console.debug) == null || N.call(console, q); + V.style.display = "none"; + } catch (K) { + (k = console.debug) == null || k.call(console, K); } - Bl(L, { releaseSrc: !0 }), f(X); + Ul(V, { releaseSrc: !0 }), f(R); }, { once: !0 } - ), X.appendChild(L), C(X), I(L), X; + ), R.appendChild(V), h(R), I(V), R; } - if (V === "audio") { - const L = String( - (x == null ? void 0 : x.thumbnail_url) || (x == null ? void 0 : x.thumb_url) || eW || "" + if (Y === "audio") { + const V = String( + (v == null ? void 0 : v.thumbnail_url) || (v == null ? void 0 : v.thumb_url) || iW || "" ).trim(); - if (L) { - const N = document.createElement("img"); - N.className = "mjr-filmstrip-thumb", N.loading = "lazy", N.decoding = "async", N.src = L, N.alt = String((x == null ? void 0 : x.filename) || "Audio"), N.draggable = !1, N.style.cssText = ` + if (V) { + const k = document.createElement("img"); + k.className = "mjr-filmstrip-thumb", k.loading = "lazy", k.decoding = "async", k.src = V, k.alt = String((v == null ? void 0 : v.filename) || "Audio"), k.draggable = !1, k.style.cssText = ` width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; - `, N.addEventListener( + `, k.addEventListener( "error", () => { - var q; + var K; try { - N.style.display = "none"; - } catch (O) { - (q = console.debug) == null || q.call(console, O); + k.style.display = "none"; + } catch (z) { + (K = console.debug) == null || K.call(console, z); } - b(X); + b(R); }, { once: !0 } - ), X.appendChild(N); + ), R.appendChild(k); } else - b(X); - return y(X), X; + b(R); + return y(R), R; } - if (V === "model3d") { - const L = (() => { + if (Y === "model3d") { + const V = (() => { try { - const N = String((x == null ? void 0 : x.filename) || "").trim(); - if (!N) return ""; - const q = N + ".png", O = String((x == null ? void 0 : x.subfolder) || "").trim(), B = String((x == null ? void 0 : x.type) || "output").trim(); - return x != null && x.root_id ? t({ ...x, filename: q, kind: "image" }) : dl(q, O || null, B); + const k = String((v == null ? void 0 : v.filename) || "").trim(); + if (!k) return ""; + const K = k + ".png", z = String((v == null ? void 0 : v.subfolder) || "").trim(), B = String((v == null ? void 0 : v.type) || "output").trim(); + return v != null && v.root_id ? t({ ...v, filename: K, kind: "image" }) : ul(K, z || null, B); } catch { return ""; } })(); - if (L) { - const N = document.createElement("img"); - N.className = "mjr-filmstrip-thumb", N.loading = "lazy", N.decoding = "async", N.src = L, N.alt = String((x == null ? void 0 : x.filename) || "3D Model"), N.draggable = !1, N.style.cssText = ` + if (V) { + const k = document.createElement("img"); + k.className = "mjr-filmstrip-thumb", k.loading = "lazy", k.decoding = "async", k.src = V, k.alt = String((v == null ? void 0 : v.filename) || "3D Model"), k.draggable = !1, k.style.cssText = ` width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; - `, N.addEventListener( + `, k.addEventListener( "error", () => { - var q; + var K; try { - N.style.display = "none"; - } catch (O) { - (q = console.debug) == null || q.call(console, O); + k.style.display = "none"; + } catch (z) { + (K = console.debug) == null || K.call(console, z); } - S(X); + G(R); }, { once: !0 } - ), X.appendChild(N); + ), R.appendChild(k); } else - S(X); - return W(X), X; + G(R); + return W(R), R; } - if (R) { - const L = document.createElement("img"); - return L.className = "mjr-filmstrip-thumb", L.loading = "lazy", L.decoding = "async", L.src = R, L.style.cssText = ` + if (F) { + const V = document.createElement("img"); + return V.className = "mjr-filmstrip-thumb", V.loading = "lazy", V.decoding = "async", V.src = F, V.style.cssText = ` width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; - `, L.addEventListener( + `, V.addEventListener( "error", () => { - var N; + var k; try { - L.style.display = "none"; - } catch (q) { - (N = console.debug) == null || N.call(console, q); + V.style.display = "none"; + } catch (K) { + (k = console.debug) == null || k.call(console, K); } }, { once: !0 } - ), X.appendChild(L), X; + ), R.appendChild(V), R; } - return v(X), X; + return L(R), R; }; - function f(x) { - var X; + function f(v) { + var R; const w = document.createElement("div"); w.style.cssText = ` position: absolute; inset: 0; @@ -19993,13 +20008,13 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { letter-spacing: 0.04em; `, w.textContent = "VIDEO"; try { - x.appendChild(w); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + v.appendChild(w); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - function b(x) { - var X; + function b(v) { + var R; const w = document.createElement("div"); w.style.cssText = ` position: absolute; inset: 0; @@ -20010,13 +20025,13 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { letter-spacing: 0.04em; `, w.textContent = "AUDIO"; try { - x.appendChild(w); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + v.appendChild(w); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - function v(x) { - var X; + function L(v) { + var R; const w = document.createElement("div"); w.style.cssText = ` position: absolute; inset: 0; @@ -20025,12 +20040,12 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { pointer-events: none; `, w.textContent = "?"; try { - x.appendChild(w); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + v.appendChild(w); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - function C(x) { + function h(v) { const w = document.createElement("div"); w.style.cssText = ` position: absolute; bottom: 2px; right: 2px; @@ -20039,10 +20054,10 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { padding: 2px 3px; border-radius: 2px; pointer-events: none; letter-spacing: 0.02em; - `, w.textContent = "VID", x.appendChild(w); + `, w.textContent = "VID", v.appendChild(w); } - function S(x) { - var X; + function G(v) { + var R; const w = document.createElement("div"); w.style.cssText = ` position: absolute; inset: 0; @@ -20053,12 +20068,12 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { letter-spacing: 0.04em; `, w.textContent = "3D"; try { - x.appendChild(w); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + v.appendChild(w); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - function W(x) { + function W(v) { const w = document.createElement("div"); w.style.cssText = ` position: absolute; bottom: 2px; right: 2px; @@ -20068,9 +20083,9 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { pointer-events: none; letter-spacing: 0.02em; font-weight: 700; - `, w.textContent = "3D", x.appendChild(w); + `, w.textContent = "3D", v.appendChild(w); } - function y(x) { + function y(v) { const w = document.createElement("div"); w.style.cssText = ` position: absolute; bottom: 2px; right: 2px; @@ -20079,89 +20094,89 @@ function tW({ state: e, buildAssetViewURL: t, onNavigate: n, onCompare: i }) { padding: 2px 3px; border-radius: 2px; pointer-events: none; letter-spacing: 0.02em; - `, w.textContent = "AUD", x.appendChild(w); + `, w.textContent = "AUD", v.appendChild(w); } - const k = () => { - Z({ releaseSrc: !0 }), r.innerHTML = "", l = []; - const x = Array.isArray(e.assets) ? e.assets : []; - if (x.length < 2) { + const X = () => { + A({ releaseSrc: !0 }), r.innerHTML = "", l = []; + const v = Array.isArray(e.assets) ? e.assets : []; + if (v.length < 2) { o.style.display = "none"; return; } o.style.display = ""; - for (let w = 0; w < x.length; w++) { - const X = h(x[w], w); - r.appendChild(X), l.push(X); + for (let w = 0; w < v.length; w++) { + const R = Z(v[w], w); + r.appendChild(R), l.push(R); } - z(!1); - }, G = (x = {}) => { - const w = x.isSingle !== !1, X = i != null && e.compareAsset != null, V = Array.isArray(e.assets) ? e.assets : []; - if (!w && !X || V.length < 2) { + T(!1); + }, x = (v = {}) => { + const w = v.isSingle !== !1, R = i != null && e.compareAsset != null, Y = Array.isArray(e.assets) ? e.assets : []; + if (!w && !R || Y.length < 2) { o.style.display = "none", p({ releaseSrc: !1 }); return; } - o.style.display = "", M(), z(!0); + o.style.display = "", S(), T(!0); }; - function z(x) { - var R; + function T(v) { + var F; const w = Number(e.currentIndex) || 0; - let X = -1; - i && e.compareAsset != null && (X = (Array.isArray(e.assets) ? e.assets : []).indexOf(e.compareAsset)); - for (let j = 0; j < l.length; j++) - j === w ? (l[j].style.borderColor = "rgba(255, 255, 255, 0.98)", l[j].style.opacity = "1", l[j].style.transform = "scale(1.08)", l[j].style.filter = "saturate(1.12) brightness(1.08)", l[j].style.boxShadow = "0 0 0 1px rgba(255,255,255,0.45), 0 0 18px rgba(160,220,255,0.38), 0 8px 16px rgba(0,0,0,0.38)") : j === X ? (l[j].style.borderColor = "rgba(120, 186, 255, 0.98)", l[j].style.opacity = "0.96", l[j].style.transform = "scale(1.04)", l[j].style.filter = "saturate(1.07) brightness(1.03)", l[j].style.boxShadow = "0 0 0 1px rgba(120,186,255,0.38), 0 0 14px rgba(120,186,255,0.32), 0 6px 14px rgba(0,0,0,0.32)") : (l[j].style.borderColor = "transparent", l[j].style.opacity = "0.5", l[j].style.transform = "scale(1)", l[j].style.filter = "none", l[j].style.boxShadow = "none"); - w !== s && l[w] && g(l[w], 1.08), X >= 0 && X !== d && l[X] && g(l[X], 1.04), s = w, d = X; - const V = l[w]; - if (V) + let R = -1; + i && e.compareAsset != null && (R = (Array.isArray(e.assets) ? e.assets : []).indexOf(e.compareAsset)); + for (let N = 0; N < l.length; N++) + N === w ? (l[N].style.borderColor = "rgba(255, 255, 255, 0.98)", l[N].style.opacity = "1", l[N].style.transform = "scale(1.08)", l[N].style.filter = "saturate(1.12) brightness(1.08)", l[N].style.boxShadow = "0 0 0 1px rgba(255,255,255,0.45), 0 0 18px rgba(160,220,255,0.38), 0 8px 16px rgba(0,0,0,0.38)") : N === R ? (l[N].style.borderColor = "rgba(120, 186, 255, 0.98)", l[N].style.opacity = "0.96", l[N].style.transform = "scale(1.04)", l[N].style.filter = "saturate(1.07) brightness(1.03)", l[N].style.boxShadow = "0 0 0 1px rgba(120,186,255,0.38), 0 0 14px rgba(120,186,255,0.32), 0 6px 14px rgba(0,0,0,0.32)") : (l[N].style.borderColor = "transparent", l[N].style.opacity = "0.5", l[N].style.transform = "scale(1)", l[N].style.filter = "none", l[N].style.boxShadow = "none"); + w !== s && l[w] && g(l[w], 1.08), R >= 0 && R !== d && l[R] && g(l[R], 1.04), s = w, d = R; + const Y = l[w]; + if (Y) try { - V.scrollIntoView({ - behavior: x ? "smooth" : "instant", + Y.scrollIntoView({ + behavior: v ? "smooth" : "instant", block: "nearest", inline: "center" }); } catch { try { - const j = V.offsetLeft - o.clientWidth / 2 + V.offsetWidth / 2; + const N = Y.offsetLeft - o.clientWidth / 2 + Y.offsetWidth / 2; o.scrollTo({ - left: Math.max(0, j), - behavior: x ? "smooth" : "instant" + left: Math.max(0, N), + behavior: v ? "smooth" : "instant" }); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } } } return o.addEventListener( "click", - (x) => { + (v) => { var w; try { - x.stopPropagation(); - const X = x.target.closest("[data-fidx]"); - if (!X) return; - const V = Number(X.dataset.fidx); - if (!Number.isFinite(V) || V < 0) return; - const R = Array.isArray(e.assets) ? e.assets : []; - if (V >= R.length) return; - i && (x.ctrlKey || x.metaKey) ? i(V) : n(V); - } catch (X) { - (w = console.debug) == null || w.call(console, X); + v.stopPropagation(); + const R = v.target.closest("[data-fidx]"); + if (!R) return; + const Y = Number(R.dataset.fidx); + if (!Number.isFinite(Y) || Y < 0) return; + const F = Array.isArray(e.assets) ? e.assets : []; + if (Y >= F.length) return; + i && (v.ctrlKey || v.metaKey) ? i(Y) : n(Y); + } catch (R) { + (w = console.debug) == null || w.call(console, R); } }, !0 ), o.addEventListener( "wheel", - (x) => { + (v) => { var w; try { - x.stopPropagation(); - } catch (X) { - (w = console.debug) == null || w.call(console, X); + v.stopPropagation(); + } catch (R) { + (w = console.debug) == null || w.call(console, R); } }, { passive: !0, capture: !0 } - ), { el: o, rebuild: k, sync: G }; + ), { el: o, rebuild: X, sync: x }; } -function nW() { +function rW() { const e = document.createElement("div"); return e.className = "mjr-viewer-overlay mjr-assets-manager", e.style.cssText = ` position: fixed; @@ -20178,7 +20193,7 @@ function nW() { overflow: hidden; `, e.tabIndex = -1, e.setAttribute("role", "dialog"), e; } -function iW({ +function lW({ state: e, buildAssetViewURL: t, onNavigate: n, @@ -20272,13 +20287,13 @@ function iW({ `; const p = document.createElement("canvas"); p.width = 120, p.height = 120, p.style.cssText = "width:100%; height:100%; display:block; image-rendering: pixelated;", I.appendChild(p), s.appendChild(d), s.appendChild(u), s.appendChild(I), r.appendChild(s); - const M = document.createElement("div"); - M.className = "mjr-viewer-geninfo mjr-viewer-geninfo--right", M.style.cssText = ` + const S = document.createElement("div"); + S.className = "mjr-viewer-geninfo mjr-viewer-geninfo--right", S.style.cssText = ` position: absolute; top: 16px; right: 16px; bottom: 16px; - width: ${ka}; + width: ${Xa}; display: none; flex-direction: column; overflow: hidden; @@ -20288,8 +20303,8 @@ function iW({ backdrop-filter: blur(10px); z-index: 10001; `; - const Z = document.createElement("div"); - Z.style.cssText = ` + const A = document.createElement("div"); + A.style.cssText = ` display: flex; align-items: center; justify-content: space-between; @@ -20298,22 +20313,22 @@ function iW({ border-bottom: 1px solid rgba(255,255,255,0.10); color: rgba(255,255,255,0.92); `; - const A = document.createElement("div"); - A.textContent = "Generation Info", A.style.cssText = "font-size: 13px; font-weight: 600;", Z.appendChild(A); + const C = document.createElement("div"); + C.textContent = "Generation Info", C.style.cssText = "font-size: 13px; font-weight: 600;", A.appendChild(C); const g = document.createElement("div"); g.style.cssText = ` flex: 1; overflow: auto; padding: 14px; color: rgba(255,255,255,0.92); - `, M.appendChild(Z), M.appendChild(g); - const h = document.createElement("div"); - h.className = "mjr-viewer-geninfo mjr-viewer-geninfo--left", h.style.cssText = ` + `, S.appendChild(A), S.appendChild(g); + const Z = document.createElement("div"); + Z.className = "mjr-viewer-geninfo mjr-viewer-geninfo--left", Z.style.cssText = ` position: absolute; top: 16px; left: 16px; bottom: 16px; - width: ${ka}; + width: ${Xa}; display: none; flex-direction: column; overflow: hidden; @@ -20323,19 +20338,19 @@ function iW({ backdrop-filter: blur(10px); z-index: 10001; `; - const f = Z.cloneNode(!0); + const f = A.cloneNode(!0); f.replaceChildren(); const b = document.createElement("div"); b.textContent = "Generation Info (A)", b.style.cssText = "font-size: 13px; font-weight: 600;", f.appendChild(b); - const v = document.createElement("div"); - v.style.cssText = ` + const L = document.createElement("div"); + L.style.cssText = ` flex: 1; overflow: auto; padding: 14px; color: rgba(255,255,255,0.92); - `, h.appendChild(f), h.appendChild(v), o.appendChild(r); - const C = document.createElement("div"); - C.className = "mjr-viewer-footer", C.style.cssText = ` + `, Z.appendChild(f), Z.appendChild(L), o.appendChild(r); + const h = document.createElement("div"); + h.className = "mjr-viewer-footer", h.style.cssText = ` display: flex; justify-content: space-between; align-items: center; @@ -20346,17 +20361,17 @@ function iW({ gap: 14px 20px; flex-wrap: wrap; `; - const S = yl("<", "Previous (Left Arrow)"); - S.classList.add("mjr-viewer-nav-btn", "mjr-viewer-nav-btn--prev"), S.style.fontSize = "24px"; + const G = fl("<", "Previous (Left Arrow)"); + G.classList.add("mjr-viewer-nav-btn", "mjr-viewer-nav-btn--prev"), G.style.fontSize = "24px"; const W = document.createElement("span"); W.className = "mjr-viewer-index", W.style.cssText = "font-size: 14px; font-weight: 500;"; - const y = yl(">", "Next (Right Arrow)"); + const y = fl(">", "Next (Right Arrow)"); y.classList.add("mjr-viewer-nav-btn", "mjr-viewer-nav-btn--next"), y.style.fontSize = "24px"; - const k = document.createElement("div"); - k.className = "mjr-viewer-nav", k.style.cssText = "display:flex; align-items:center; gap:20px;", k.appendChild(S), k.appendChild(W), k.appendChild(y); - const G = document.createElement("div"); - G.className = "mjr-viewer-playerbar", G.style.cssText = "display:none; width: 100%;", C.appendChild(k), C.appendChild(G); - const z = tW({ + const X = document.createElement("div"); + X.className = "mjr-viewer-nav", X.style.cssText = "display:flex; align-items:center; gap:20px;", X.appendChild(G), X.appendChild(W), X.appendChild(y); + const x = document.createElement("div"); + x.className = "mjr-viewer-playerbar", x.style.cssText = "display:none; width: 100%;", h.appendChild(X), h.appendChild(x); + const T = oW({ state: e, buildAssetViewURL: t, onNavigate: n, @@ -20373,22 +20388,22 @@ function iW({ probeTooltip: u, loupeWrap: I, loupeCanvas: p, - genInfoOverlay: M, - genInfoTitle: A, + genInfoOverlay: S, + genInfoTitle: C, genInfoBody: g, - genInfoOverlayLeft: h, + genInfoOverlayLeft: Z, genInfoTitleLeft: b, - genInfoBodyLeft: v, - footer: C, - prevBtn: S, + genInfoBodyLeft: L, + footer: h, + prevBtn: G, indexInfo: W, nextBtn: y, - navBar: k, - playerBarHost: G, - filmstrip: z + navBar: X, + playerBarHost: x, + filmstrip: T }; } -function ri(e, t) { +function li(e, t) { var n; if (!t) return null; try { @@ -20403,7 +20418,7 @@ function ri(e, t) { } return null; } -function oW(e) { +function aW(e) { var n; const t = String(e ?? ""); try { @@ -20413,7 +20428,7 @@ function oW(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -function rW({ overlay: e, requestClose: t }) { +function cW({ overlay: e, requestClose: t }) { var n; try { let i = null; @@ -20432,7 +20447,7 @@ function rW({ overlay: e, requestClose: t }) { if (Math.hypot(a, c) > 6 || Date.now() - i.t > 600) return; } const l = o.target; - if (ri(l, ".mjr-viewer-header") || ri(l, ".mjr-viewer-footer") || ri(l, ".mjr-viewer-geninfo") || ri(l, ".mjr-video-controls") || ri(l, ".mjr-context-menu") || ri(l, ".mjr-ab-slider") || ri(l, ".mjr-viewer-loupe") || ri(l, ".mjr-viewer-probe") || ri(l, ".mjr-viewer-media") || l && (l.tagName === "IMG" || l.tagName === "VIDEO" || l.tagName === "CANVAS")) + if (li(l, ".mjr-viewer-header") || li(l, ".mjr-viewer-footer") || li(l, ".mjr-viewer-geninfo") || li(l, ".mjr-video-controls") || li(l, ".mjr-context-menu") || li(l, ".mjr-ab-slider") || li(l, ".mjr-viewer-loupe") || li(l, ".mjr-viewer-probe") || li(l, ".mjr-viewer-media") || l && (l.tagName === "IMG" || l.tagName === "VIDEO" || l.tagName === "CANVAS")) return; t == null || t(); } catch (l) { @@ -20443,37 +20458,37 @@ function rW({ overlay: e, requestClose: t }) { (n = console.debug) == null || n.call(console, i); } } -let Yo = null, Vo = null, ti = null, ko = null, Gi = null, Xa = null; -function lW() { - Yo || import("./abCompare-BmccB9jW.js").then((e) => { - Yo = e; - }), Vo || import("./sideBySide-D0NSgnSp.js").then((e) => { - Vo = e; - }), ti || import("./model3dRenderer-B7QICZEL.js").then((e) => { - ti = e; - }), ko || import("./scopes-DzaL48jb.js").then((e) => { +let ko = null, Xo = null, ti = null, No = null, vi = null, Na = null; +function sW() { + ko || import("./abCompare-BmccB9jW.js").then((e) => { ko = e; - }), Gi || import("./genInfo-L1PrRwDk.js").then((e) => { - Gi = e; - }), Xa || import("./frameExport-D5sexOhA.js").then((e) => { - Xa = e; + }), Xo || import("./sideBySide-B--hMG3P.js").then((e) => { + Xo = e; + }), ti || import("./model3dRenderer-CxixV6KF.js").then((e) => { + ti = e; + }), No || import("./scopes-zVIngGZC.js").then((e) => { + No = e; + }), vi || import("./genInfo-DPaWrr2W.js").then((e) => { + vi = e; + }), Na || import("./frameExport-D5sexOhA.js").then((e) => { + Na = e; }); } -const xt = { +const jt = { SINGLE: "single", AB_COMPARE: "ab", SIDE_BY_SIDE: "sidebyside" }; -function aW() { - var jt, Yt, St, qt, Vn, wn, xn, _t, Yn, pn, Nn; - lW(), HA(); - const e = nW(), t = $Z(e), n = t.unsubs || [], i = FZ(); - i.mode = xt.SINGLE; +function dW() { + var St, Yt, Gt, Qt, Yn, wn, xn, en, Vn, pn, Nn; + sW(), QA(); + const e = rW(), t = nA(e), n = t.unsubs || [], i = JZ(); + i.mode = jt.SINGLE; try { - const ae = QZ(); + const ae = eA(); ae && typeof ae == "object" && (typeof ae.analysisMode == "string" && (i.analysisMode = ae.analysisMode || "none"), typeof ae.loupeEnabled == "boolean" && (i.loupeEnabled = ae.loupeEnabled), typeof ae.probeEnabled == "boolean" && (i.probeEnabled = ae.probeEnabled), typeof ae.hudEnabled == "boolean" && (i.hudEnabled = ae.hudEnabled), typeof ae.genInfoOpen == "boolean" && (i.genInfoOpen = ae.genInfoOpen), typeof ae.audioVisualizerMode == "string" && (i.audioVisualizerMode = ae.audioVisualizerMode || "artistic"), typeof ae.abWipePercent == "number" && Number.isFinite(ae.abWipePercent) && ae.abWipePercent >= 0 && ae.abWipePercent <= 100 && (i._abWipePercent = ae.abWipePercent)); } catch (ae) { - (jt = console.debug) == null || jt.call(console, ae); + (St = console.debug) == null || St.call(console, ae); } const o = /* @__PURE__ */ new Set([ "png", @@ -20499,35 +20514,35 @@ function aW() { } } function c() { - var ae, fe; + var ae, he; try { (ae = r == null ? void 0 : r.clampPanToBounds) == null || ae.call(r); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } } function s() { - var ae, fe; + var ae, he; try { (ae = r == null ? void 0 : r.applyTransform) == null || ae.call(r); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } } - function d(ae, fe) { - var je, Ne; + function d(ae, he) { + var ve, Fe; try { - (je = r == null ? void 0 : r.setZoom) == null || je.call(r, ae, fe); - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + (ve = r == null ? void 0 : r.setZoom) == null || ve.call(r, ae, he); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } } function u() { - var ae, fe; + var ae, he; try { (ae = r == null ? void 0 : r.updatePanCursor) == null || ae.call(r); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } } function I() { @@ -20539,14 +20554,14 @@ function aW() { } } function p(ae) { - var fe; + var he; try { - return ((fe = r == null ? void 0 : r.getMediaNaturalSize) == null ? void 0 : fe.call(r, ae)) || { w: 0, h: 0 }; + return ((he = r == null ? void 0 : r.getMediaNaturalSize) == null ? void 0 : he.call(r, ae)) || { w: 0, h: 0 }; } catch { return { w: 0, h: 0 }; } } - function M() { + function S() { var ae; try { return ((ae = r == null ? void 0 : r.getViewportRect) == null ? void 0 : ae.call(r)) || null; @@ -20554,7 +20569,7 @@ function aW() { return null; } } - function Z() { + function A() { var ae; try { return ((ae = r == null ? void 0 : r.computeOneToOneZoom) == null ? void 0 : ae.call(r)) ?? null; @@ -20562,50 +20577,50 @@ function aW() { return null; } } - function A() { - var ae, fe; + function C() { + var ae, he; try { (ae = r == null ? void 0 : r.updateMediaNaturalSize) == null || ae.call(r); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } } - function g(ae, fe) { - var je; + function g(ae, he) { + var ve; try { - return ((je = l == null ? void 0 : l.createMediaElement) == null ? void 0 : je.call(l, ae, fe)) || document.createElement("div"); + return ((ve = l == null ? void 0 : l.createMediaElement) == null ? void 0 : ve.call(l, ae, he)) || document.createElement("div"); } catch { return document.createElement("div"); } } - function h(ae, fe) { - var je; + function Z(ae, he) { + var ve; try { - return ((je = l == null ? void 0 : l.createCompareMediaElement) == null ? void 0 : je.call(l, ae, fe)) || document.createElement("div"); + return ((ve = l == null ? void 0 : l.createCompareMediaElement) == null ? void 0 : ve.call(l, ae, he)) || document.createElement("div"); } catch { return document.createElement("div"); } } function f() { - var fe, je, Ne; + var he, ve, Fe; let ae = !1; try { - const $e = i.mode === xt.AB_COMPARE ? B : i.mode === xt.SIDE_BY_SIDE ? J : O, et = Array.from(((fe = $e == null ? void 0 : $e.querySelectorAll) == null ? void 0 : fe.call($e, ".mjr-viewer-audio-viz")) || []); + const _e = i.mode === jt.AB_COMPARE ? B : i.mode === jt.SIDE_BY_SIDE ? J : z, et = Array.from(((he = _e == null ? void 0 : _e.querySelectorAll) == null ? void 0 : he.call(_e, ".mjr-viewer-audio-viz")) || []); for (const tt of et) try { - const ct = (tt == null ? void 0 : tt._mjrProc) || null; - if (!(ct != null && ct.setMode)) continue; - ct.setMode(i.audioVisualizerMode), ae = !0; - } catch (ct) { - (je = console.debug) == null || je.call(console, ct); + const st = (tt == null ? void 0 : tt._mjrProc) || null; + if (!(st != null && st.setMode)) continue; + st.setMode(i.audioVisualizerMode), ae = !0; + } catch (st) { + (ve = console.debug) == null || ve.call(console, st); } - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } return ae; } - let b = null, v = () => qe(), C = document.createElement("div"); - C.className = "mjr-viewer-header", C.style.cssText = ` + let b = null, L = () => He(), h = document.createElement("div"); + h.className = "mjr-viewer-header", h.style.cssText = ` display: flex; flex-direction: column; gap: 8px; @@ -20615,55 +20630,55 @@ function aW() { color: white; box-sizing: border-box; `; - let S = document.createElement("span"); - S.className = "mjr-viewer-filename", S.style.cssText = "font-size: 14px; font-weight: 500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;"; + let G = document.createElement("span"); + G.className = "mjr-viewer-filename", G.style.cssText = "font-size: 14px; font-weight: 500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;"; let W = document.createElement("div"); W.className = "mjr-viewer-badges", W.style.cssText = "display:flex; gap:8px; align-items:center; flex-wrap:wrap;"; - let y = null, k = null, G = null, z = null, x = null, w = null, X = null, V = null, R = null, j = null, L = null; + let y = null, X = null, x = null, T = null, v = null, w = null, R = null, Y = null, F = null, N = null, V = null; try { - C.appendChild(S), C.appendChild(W); + h.appendChild(G), h.appendChild(W); } catch (ae) { (Yt = console.debug) == null || Yt.call(console, ae); } try { - b = oA({ - VIEWER_MODES: xt, + b = aA({ + VIEWER_MODES: jt, state: i, lifecycle: t, getCanAB: () => nt(), onToggleFullscreen: () => { - var ae, fe, je; + var ae, he, ve; try { if (document.fullscreenElement) try { document.exitFullscreen(); - } catch (Ne) { - (fe = console.debug) == null || fe.call(console, Ne); + } catch (Fe) { + (he = console.debug) == null || he.call(console, Fe); } else try { e.requestFullscreen(); - } catch (Ne) { - (ae = console.debug) == null || ae.call(console, Ne); + } catch (Fe) { + (ae = console.debug) == null || ae.call(console, Fe); } - } catch (Ne) { - (je = console.debug) == null || je.call(console, Ne); + } catch (Fe) { + (ve = console.debug) == null || ve.call(console, Fe); } }, // Close button should fully tear down the viewer (remove overlay + listeners) to avoid leaks/ghost UI. - onClose: () => v == null ? void 0 : v(), + onClose: () => L == null ? void 0 : L(), onMode: (ae) => { - var fe, je, Ne; + var he, ve, Fe; try { - if (ae === xt.AB_COMPARE && !nt() || ae === xt.SIDE_BY_SIDE && !mt()) return; - i.mode = ae, st(); + if (ae === jt.AB_COMPARE && !nt() || ae === jt.SIDE_BY_SIDE && !ut()) return; + i.mode = ae, dt(); try { - (fe = b == null ? void 0 : b.syncToolsUIFromState) == null || fe.call(b); - } catch ($e) { - (je = console.debug) == null || je.call(console, $e); + (he = b == null ? void 0 : b.syncToolsUIFromState) == null || he.call(b); + } catch (_e) { + (ve = console.debug) == null || ve.call(console, _e); } - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } }, onZoomIn: () => { @@ -20673,8 +20688,8 @@ function aW() { clientX: i._lastPointerX, clientY: i._lastPointerY }); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onZoomOut: () => { @@ -20684,555 +20699,555 @@ function aW() { clientX: i._lastPointerX, clientY: i._lastPointerY }); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onZoomReset: () => { var ae; try { d(1); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onZoomOneToOne: () => { - var ae, fe; + var ae, he; try { - const je = () => { - const Ne = Z(); - if (Ne == null) return !1; - const $e = Math.abs((Number(i.zoom) || 1) - Ne) < 0.01; - return d($e ? 1 : Ne, { + const ve = () => { + const Fe = A(); + if (Fe == null) return !1; + const _e = Math.abs((Number(i.zoom) || 1) - Fe) < 0.01; + return d(_e ? 1 : Fe, { clientX: i._lastPointerX, clientY: i._lastPointerY }), !0; }; - if (je()) return; + if (ve()) return; try { requestAnimationFrame(() => { - var Ne, $e; + var Fe, _e; try { - A(); + C(); } catch (et) { - (Ne = console.debug) == null || Ne.call(console, et); + (Fe = console.debug) == null || Fe.call(console, et); } try { - je(); + ve(); } catch (et) { - ($e = console.debug) == null || $e.call(console, et); + (_e = console.debug) == null || _e.call(console, et); } }); - } catch (Ne) { - (ae = console.debug) == null || ae.call(console, Ne); + } catch (Fe) { + (ae = console.debug) == null || ae.call(console, Fe); } - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } }, onCompareModeChanged: () => { var ae; try { - i.mode === xt.AB_COMPARE && (ke(), Zt()); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + i.mode === jt.AB_COMPARE && (Re(), yt()); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onExportFrame: () => { var ae; try { - Ke({ toClipboard: !1 }); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + Ee({ toClipboard: !1 }); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onCopyFrame: () => { var ae; try { - Ke({ toClipboard: !0 }); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + Ee({ toClipboard: !0 }); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onAudioVizModeChanged: () => { var ae; try { - const fe = i.assets[i.currentIndex]; - if (String((fe == null ? void 0 : fe.kind) || "") !== "audio") return; - f() || (ke(), Zt()); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + const he = i.assets[i.currentIndex]; + if (String((he == null ? void 0 : he.kind) || "") !== "audio") return; + f() || (Re(), yt()); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } }, onToolsChanged: () => { - var ae, fe, je, Ne, $e, et, tt, ct, Lt, Bt, Nt; + var ae, he, ve, Fe, _e, et, tt, st, Vt, Bt, Rt; try { (ae = b == null ? void 0 : b.syncToolsUIFromState) == null || ae.call(b); - } catch (ht) { - (fe = console.debug) == null || fe.call(console, ht); + } catch (Ct) { + (he = console.debug) == null || he.call(console, Ct); } try { - _Z(i); - } catch (ht) { - (je = console.debug) == null || je.call(console, ht); + tA(i); + } catch (Ct) { + (ve = console.debug) == null || ve.call(console, Ct); } try { - bt(); - } catch (ht) { - (Ne = console.debug) == null || Ne.call(console, ht); + It(); + } catch (Ct) { + (Fe = console.debug) == null || Fe.call(console, Ct); } try { - if (i.mode === xt.AB_COMPARE) { - const ht = String(i.abCompareMode || "wipe"); - ht !== "wipe" && ht !== "wipeV" && (($e = B == null ? void 0 : B._mjrDiffRequest) == null || $e.call(B)); + if (i.mode === jt.AB_COMPARE) { + const Ct = String(i.abCompareMode || "wipe"); + Ct !== "wipe" && Ct !== "wipeV" && ((_e = B == null ? void 0 : B._mjrDiffRequest) == null || _e.call(B)); } - } catch (ht) { - (et = console.debug) == null || et.call(console, ht); + } catch (Ct) { + (et = console.debug) == null || et.call(console, Ct); } try { - i.probeEnabled || (D.style.display = "none"); - } catch (ht) { - (tt = console.debug) == null || tt.call(console, ht); + i.probeEnabled || (H.style.display = "none"); + } catch (Ct) { + (tt = console.debug) == null || tt.call(console, Ct); } try { - i.loupeEnabled || (Q.style.display = "none"); - } catch (ht) { - (ct = console.debug) == null || ct.call(console, ht); + i.loupeEnabled || ($.style.display = "none"); + } catch (Ct) { + (st = console.debug) == null || st.call(console, Ct); } try { - Re(); - } catch (ht) { - (Lt = console.debug) == null || Lt.call(console, ht); + Oe(); + } catch (Ct) { + (Vt = console.debug) == null || Vt.call(console, Ct); } try { - Oe == null || Oe(); - } catch (ht) { - (Bt = console.debug) == null || Bt.call(console, ht); + pe == null || pe(); + } catch (Ct) { + (Bt = console.debug) == null || Bt.call(console, Ct); } try { Ot(); - } catch (ht) { - (Nt = console.debug) == null || Nt.call(console, ht); + } catch (Ct) { + (Rt = console.debug) == null || Rt.call(console, Ct); } } - }), b != null && b.headerEl && (C = b.headerEl), b != null && b.headerTopEl && (L = b.headerTopEl), b != null && b.filenameEl && (S = b.filenameEl), b != null && b.badgesBarEl && (W = b.badgesBarEl), b != null && b.filenameRightEl && (y = b.filenameRightEl), b != null && b.badgesBarRightEl && (k = b.badgesBarRightEl), b != null && b.leftAreaEl && (x = b.leftAreaEl), b != null && b.leftMetaEl && (w = b.leftMetaEl), b != null && b.centerAreaEl && (X = b.centerAreaEl), b != null && b.rightMetaEl && (G = b.rightMetaEl), b != null && b.rightAreaEl && (z = b.rightAreaEl), b != null && b.titleLineEl && (V = b.titleLineEl), b != null && b.titleWrapEl && (R = b.titleWrapEl), b != null && b.modeButtonsEl && (j = b.modeButtonsEl); + }), b != null && b.headerEl && (h = b.headerEl), b != null && b.headerTopEl && (V = b.headerTopEl), b != null && b.filenameEl && (G = b.filenameEl), b != null && b.badgesBarEl && (W = b.badgesBarEl), b != null && b.filenameRightEl && (y = b.filenameRightEl), b != null && b.badgesBarRightEl && (X = b.badgesBarRightEl), b != null && b.leftAreaEl && (v = b.leftAreaEl), b != null && b.leftMetaEl && (w = b.leftMetaEl), b != null && b.centerAreaEl && (R = b.centerAreaEl), b != null && b.rightMetaEl && (x = b.rightMetaEl), b != null && b.rightAreaEl && (T = b.rightAreaEl), b != null && b.titleLineEl && (Y = b.titleLineEl), b != null && b.titleWrapEl && (F = b.titleWrapEl), b != null && b.modeButtonsEl && (N = b.modeButtonsEl); } catch (ae) { - (St = console.debug) == null || St.call(console, ae); + (Gt = console.debug) == null || Gt.call(console, ae); } const { - contentRow: N, - content: q, - singleView: O, + contentRow: k, + content: K, + singleView: z, abView: B, sideView: J, - gridCanvas: T, - probeTooltip: D, - loupeWrap: Q, + gridCanvas: P, + probeTooltip: H, + loupeWrap: $, loupeCanvas: E, - genInfoOverlay: K, - genInfoTitle: F, - genInfoBody: Y, - genInfoOverlayLeft: U, - genInfoTitleLeft: P, - genInfoBodyLeft: ee, - footer: oe, + genInfoOverlay: oe, + genInfoTitle: M, + genInfoBody: j, + genInfoOverlayLeft: O, + genInfoTitleLeft: D, + genInfoBodyLeft: q, + footer: ee, prevBtn: ce, - indexInfo: pe, - nextBtn: H, - navBar: $, + indexInfo: ue, + nextBtn: U, + navBar: Q, playerBarHost: _, filmstrip: le - } = iW({ + } = lW({ state: i, - buildAssetViewURL: Bi, + buildAssetViewURL: Ki, onNavigate: (ae) => { - var fe; + var he; try { - i.compareAsset != null && (i.compareAsset = null, i.mode = xt.SINGLE), i.currentIndex = ae, st(); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + i.compareAsset != null && (i.compareAsset = null, i.mode = jt.SINGLE), i.currentIndex = ae, dt(); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } }, onCompare: (ae) => { - var fe; + var he; try { - const je = Array.isArray(i.assets) ? i.assets : [], Ne = je[ae]; - if (!Ne || Ne === je[i.currentIndex]) return; - if (Ne === i.compareAsset) { - i.compareAsset = null, i.mode = xt.SINGLE, st(); + const ve = Array.isArray(i.assets) ? i.assets : [], Fe = ve[ae]; + if (!Fe || Fe === ve[i.currentIndex]) return; + if (Fe === i.compareAsset) { + i.compareAsset = null, i.mode = jt.SINGLE, dt(); return; } - je.length === 2 ? (i.compareAsset = je[1 - i.currentIndex], i.mode = de() ? xt.SIDE_BY_SIDE : xt.AB_COMPARE) : (i.compareAsset = Ne, i.mode = mt() ? xt.SIDE_BY_SIDE : xt.AB_COMPARE), st(); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + ve.length === 2 ? (i.compareAsset = ve[1 - i.currentIndex], i.mode = se() ? jt.SIDE_BY_SIDE : jt.AB_COMPARE) : (i.compareAsset = Fe, i.mode = ut() ? jt.SIDE_BY_SIDE : jt.AB_COMPARE), dt(); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } } }); - e.appendChild(C), e.appendChild(N); - function se() { + e.appendChild(h), e.appendChild(k); + function de() { var ae; try { if (i.compareAsset) return i.compareAsset; - const fe = Array.isArray(i.assets) ? i.assets : []; - if (fe.length === 2) - return fe[1 - (i.currentIndex || 0)] || null; - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + const he = Array.isArray(i.assets) ? i.assets : []; + if (he.length === 2) + return he[1 - (i.currentIndex || 0)] || null; + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } return null; } - function de() { - var ae, fe, je, Ne; + function se() { + var ae, he, ve, Fe; try { - const $e = ((ae = i.assets) == null ? void 0 : ae[i.currentIndex]) || null; - return (((fe = ti == null ? void 0 : ti.isModel3DAsset) == null ? void 0 : fe.call(ti, $e)) ?? !1) || (((je = ti == null ? void 0 : ti.isModel3DAsset) == null ? void 0 : je.call(ti, se())) ?? !1); - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + const _e = ((ae = i.assets) == null ? void 0 : ae[i.currentIndex]) || null; + return (((he = ti == null ? void 0 : ti.isModel3DAsset) == null ? void 0 : he.call(ti, _e)) ?? !1) || (((ve = ti == null ? void 0 : ti.isModel3DAsset) == null ? void 0 : ve.call(ti, de())) ?? !1); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } return !1; } - e.appendChild(le.el), e.appendChild(oe), e.appendChild(K), e.appendChild(U), rW({ + e.appendChild(le.el), e.appendChild(ee), e.appendChild(oe), e.appendChild(O), cW({ overlay: e, - requestClose: () => v() + requestClose: () => L() }); - const Ze = mA({ + const ge = bA({ state: i, - VIEWER_MODES: xt, - APP_CONFIG: ye, - getAssetMetadata: ml, - getAssetsBatch: zs - }), Fe = 300 * 1e3, xe = 256, ze = /* @__PURE__ */ new Map(), We = () => { - var ae, fe; + VIEWER_MODES: jt, + APP_CONFIG: fe, + getAssetMetadata: gl, + getAssetsBatch: Ts + }), je = 300 * 1e3, Se = 256, ke = /* @__PURE__ */ new Map(), we = () => { + var ae, he; try { - const je = Date.now(); - for (const [et, tt] of ze.entries()) { - const ct = Number(tt == null ? void 0 : tt.at) || 0; - (!ct || je - ct > Fe) && ze.delete(et); + const ve = Date.now(); + for (const [et, tt] of ke.entries()) { + const st = Number(tt == null ? void 0 : tt.at) || 0; + (!st || ve - st > je) && ke.delete(et); } - if (ze.size <= xe) return; - const Ne = Array.from(ze.entries()).sort( + if (ke.size <= Se) return; + const Fe = Array.from(ke.entries()).sort( (et, tt) => { - var ct, Lt; - return (Number((ct = et == null ? void 0 : et[1]) == null ? void 0 : ct.at) || 0) - (Number((Lt = tt == null ? void 0 : tt[1]) == null ? void 0 : Lt.at) || 0); + var st, Vt; + return (Number((st = et == null ? void 0 : et[1]) == null ? void 0 : st.at) || 0) - (Number((Vt = tt == null ? void 0 : tt[1]) == null ? void 0 : Vt.at) || 0); } - ), $e = ze.size - xe; - for (let et = 0; et < $e; et += 1) { - const tt = (ae = Ne == null ? void 0 : Ne[et]) == null ? void 0 : ae[0]; - tt != null && ze.delete(tt); + ), _e = ke.size - Se; + for (let et = 0; et < _e; et += 1) { + const tt = (ae = Fe == null ? void 0 : Fe[et]) == null ? void 0 : ae[0]; + tt != null && ke.delete(tt); } - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } - }, De = (ae) => { + }, Je = (ae) => { try { - const fe = String(ae ?? ""); - if (!fe) return null; - const je = ze.get(fe); - if (!je || typeof je != "object") return null; - const Ne = Number(je == null ? void 0 : je.at) || 0; - return !Ne || Date.now() - Ne > Fe ? (ze.delete(fe), null) : (je == null ? void 0 : je.data) || null; + const he = String(ae ?? ""); + if (!he) return null; + const ve = ke.get(he); + if (!ve || typeof ve != "object") return null; + const Fe = Number(ve == null ? void 0 : ve.at) || 0; + return !Fe || Date.now() - Fe > je ? (ke.delete(he), null) : (ve == null ? void 0 : ve.data) || null; } catch { return null; } - }, Pe = (ae, fe) => { - var je; + }, $e = (ae, he) => { + var ve; try { - const Ne = String(ae ?? ""); - if (!Ne || !fe) return; - ze.set(Ne, { data: fe, at: Date.now() }), We(); - } catch (Ne) { - (je = console.debug) == null || je.call(console, Ne); + const Fe = String(ae ?? ""); + if (!Fe || !he) return; + ke.set(Fe, { data: he, at: Date.now() }), we(); + } catch (Fe) { + (ve = console.debug) == null || ve.call(console, Fe); } - }, Qe = async () => { - var ae, fe; + }, qe = async () => { + var ae, he; try { - await ((ae = Ze == null ? void 0 : Ze.hydrateVisibleMetadata) == null ? void 0 : ae.call(Ze)); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + await ((ae = ge == null ? void 0 : ge.hydrateVisibleMetadata) == null ? void 0 : ae.call(ge)); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } }; try { - r = kA({ + r = RA({ overlay: e, - content: q, - singleView: O, + content: K, + singleView: z, abView: B, sideView: J, state: i, - VIEWER_MODES: xt, - scheduleOverlayRedraw: Re, + VIEWER_MODES: jt, + scheduleOverlayRedraw: Oe, lifecycle: t }); } catch { r = null; } - const Ue = (ae, fe, je) => { - var Ne; + const Ue = (ae, he, ve) => { + var Fe; try { - ae.clearRect(0, 0, fe, je); - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + ae.clearRect(0, 0, he, ve); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } }; - let Ee = null; - function Re(ae) { - var fe, je; + let Te = null; + function Oe(ae) { + var he, ve; try { if (e.style.display === "none") return; if (ae === !0) { - Ee != null && (cancelAnimationFrame(Ee), Ee = null); + Te != null && (cancelAnimationFrame(Te), Te = null); try { - Ft(); - } catch (Ne) { - (fe = console.debug) == null || fe.call(console, Ne); + Xt(); + } catch (Fe) { + (he = console.debug) == null || he.call(console, Fe); } return; } - if (Ee != null) return; - Ee = requestAnimationFrame(() => { - var Ne; - Ee = null; + if (Te != null) return; + Te = requestAnimationFrame(() => { + var Fe; + Te = null; try { - Ft(); - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + Xt(); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } }); - } catch (Ne) { - (je = console.debug) == null || je.call(console, Ne); + } catch (Fe) { + (ve = console.debug) == null || ve.call(console, Fe); } } - const Se = sA({ - gridCanvas: T, - content: q, + const Me = mA({ + gridCanvas: P, + content: K, state: i, - VIEWER_MODES: xt, + VIEWER_MODES: jt, getPrimaryMedia: () => { - var ae, fe, je, Ne; + var ae, he, ve, Fe; try { - if ((i == null ? void 0 : i.mode) === xt.SINGLE) - return ((ae = O == null ? void 0 : O.querySelector) == null ? void 0 : ae.call(O, ".mjr-viewer-media")) || null; - if ((i == null ? void 0 : i.mode) === xt.AB_COMPARE) - return ((fe = B == null ? void 0 : B.querySelector) == null ? void 0 : fe.call(B, ".mjr-viewer-media")) || null; - if ((i == null ? void 0 : i.mode) === xt.SIDE_BY_SIDE) - return ((je = J == null ? void 0 : J.querySelector) == null ? void 0 : je.call(J, ".mjr-viewer-media")) || null; - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + if ((i == null ? void 0 : i.mode) === jt.SINGLE) + return ((ae = z == null ? void 0 : z.querySelector) == null ? void 0 : ae.call(z, ".mjr-viewer-media")) || null; + if ((i == null ? void 0 : i.mode) === jt.AB_COMPARE) + return ((he = B == null ? void 0 : B.querySelector) == null ? void 0 : he.call(B, ".mjr-viewer-media")) || null; + if ((i == null ? void 0 : i.mode) === jt.SIDE_BY_SIDE) + return ((ve = J == null ? void 0 : J.querySelector) == null ? void 0 : ve.call(J, ".mjr-viewer-media")) || null; + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } return null; }, - getViewportRect: M, + getViewportRect: S, clearCanvas: Ue - }), Ft = () => { - var Ne, $e, et, tt, ct, Lt, Bt, Nt, ht, Jt; + }), Xt = () => { + var Fe, _e, et, tt, st, Vt, Bt, Rt, Ct, zt; const ae = (() => { try { - const It = Number(i == null ? void 0 : i._panHintAt) || 0; - return It > 0 && Date.now() - It < 900; + const gt = Number(i == null ? void 0 : i._panHintAt) || 0; + return gt > 0 && Date.now() - gt < 900; } catch { return !1; } })(); try { - const It = (i == null ? void 0 : i.mode) === xt.SINGLE && !!(i != null && i.hudEnabled), mn = String((i == null ? void 0 : i.scopesMode) || "off") !== "off", Mt = !!(i != null && i.overlayMaskEnabled); - T.style.display = i.gridMode === 0 && !Mt && !ae && !It && !mn ? "none" : ""; - } catch (It) { - (Ne = console.debug) == null || Ne.call(console, It); + const gt = (i == null ? void 0 : i.mode) === jt.SINGLE && !!(i != null && i.hudEnabled), mn = String((i == null ? void 0 : i.scopesMode) || "off") !== "off", wt = !!(i != null && i.overlayMaskEnabled); + P.style.display = i.gridMode === 0 && !wt && !ae && !gt && !mn ? "none" : ""; + } catch (gt) { + (Fe = console.debug) == null || Fe.call(console, gt); } - const fe = Se.ensureCanvasSize(); - if (!(fe.w > 0 && fe.h > 0)) return; + const he = Me.ensureCanvasSize(); + if (!(he.w > 0 && he.h > 0)) return; if ((() => { - const It = (i == null ? void 0 : i.mode) === xt.SINGLE && !!(i != null && i.hudEnabled); - return (Number(i.gridMode) || 0) !== 0 || !!(i != null && i.overlayMaskEnabled) || It; + const gt = (i == null ? void 0 : i.mode) === jt.SINGLE && !!(i != null && i.hudEnabled); + return (Number(i.gridMode) || 0) !== 0 || !!(i != null && i.overlayMaskEnabled) || gt; })()) - Se.redrawGrid(fe); + Me.redrawGrid(he); else try { - const It = T.getContext("2d"); - It && Ue(It, fe.w, fe.h); - } catch (It) { - ($e = console.debug) == null || $e.call(console, It); + const gt = P.getContext("2d"); + gt && Ue(gt, he.w, he.h); + } catch (gt) { + (_e = console.debug) == null || _e.call(console, gt); } if (ae) try { - const It = T.getContext("2d"); - if (It) { - const mn = (et = q == null ? void 0 : q.getBoundingClientRect) == null ? void 0 : et.call(q), Mt = Number(i == null ? void 0 : i._panHintX), nn = Number(i == null ? void 0 : i._panHintY), rn = mn && Number.isFinite(Mt) ? Mt - mn.left : fe.w / 2, hn = mn && Number.isFinite(nn) ? nn - mn.top : fe.h * 0.78, ln = 10, gn = Math.max(ln, Math.min(fe.w - ln, rn)), $t = Math.max(ln, Math.min(fe.h - ln, hn)); - It.save(), It.font = "12px var(--comfy-font, ui-sans-serif, system-ui)", It.textAlign = "center", It.textBaseline = "middle"; - const An = "Zoom in to pan", vn = It.measureText(An), dn = Math.min(fe.w - 2 * ln, Math.max(140, vn.width + 26)), Mn = 26; - It.fillStyle = "rgba(0,0,0,0.65)", It.strokeStyle = "rgba(255,255,255,0.18)", It.lineWidth = 1, It.beginPath(); - const yn = gn - dn / 2, Ut = $t - Mn / 2, Tt = 10; - It.moveTo(yn + Tt, Ut), It.arcTo(yn + dn, Ut, yn + dn, Ut + Mn, Tt), It.arcTo(yn + dn, Ut + Mn, yn, Ut + Mn, Tt), It.arcTo(yn, Ut + Mn, yn, Ut, Tt), It.arcTo(yn, Ut, yn + dn, Ut, Tt), It.closePath(), It.fill(), It.stroke(), It.fillStyle = "rgba(255,255,255,0.92)", It.fillText(An, gn, $t), It.restore(); + const gt = P.getContext("2d"); + if (gt) { + const mn = (et = K == null ? void 0 : K.getBoundingClientRect) == null ? void 0 : et.call(K), wt = Number(i == null ? void 0 : i._panHintX), on = Number(i == null ? void 0 : i._panHintY), rn = mn && Number.isFinite(wt) ? wt - mn.left : he.w / 2, hn = mn && Number.isFinite(on) ? on - mn.top : he.h * 0.78, ln = 10, gn = Math.max(ln, Math.min(he.w - ln, rn)), nn = Math.max(ln, Math.min(he.h - ln, hn)); + gt.save(), gt.font = "12px var(--comfy-font, ui-sans-serif, system-ui)", gt.textAlign = "center", gt.textBaseline = "middle"; + const An = "Zoom in to pan", vn = gt.measureText(An), un = Math.min(he.w - 2 * ln, Math.max(140, vn.width + 26)), Mn = 26; + gt.fillStyle = "rgba(0,0,0,0.65)", gt.strokeStyle = "rgba(255,255,255,0.18)", gt.lineWidth = 1, gt.beginPath(); + const yn = gn - un / 2, Ut = nn - Mn / 2, Jt = 10; + gt.moveTo(yn + Jt, Ut), gt.arcTo(yn + un, Ut, yn + un, Ut + Mn, Jt), gt.arcTo(yn + un, Ut + Mn, yn, Ut + Mn, Jt), gt.arcTo(yn, Ut + Mn, yn, Ut, Jt), gt.arcTo(yn, Ut, yn + un, Ut, Jt), gt.closePath(), gt.fill(), gt.stroke(), gt.fillStyle = "rgba(255,255,255,0.92)", gt.fillText(An, gn, nn), gt.restore(); } - } catch (It) { - (tt = console.debug) == null || tt.call(console, It); + } catch (gt) { + (tt = console.debug) == null || tt.call(console, gt); } try { - const It = String((i == null ? void 0 : i.scopesMode) || "off"); - if (It !== "off") { - const mn = T.getContext("2d"); + const gt = String((i == null ? void 0 : i.scopesMode) || "off"); + if (gt !== "off") { + const mn = P.getContext("2d"); if (mn) { - let Mt = O; - (i == null ? void 0 : i.mode) === xt.AB_COMPARE ? Mt = B : (i == null ? void 0 : i.mode) === xt.SIDE_BY_SIDE && (Mt = J); - const nn = ((ct = Mt == null ? void 0 : Mt.querySelector) == null ? void 0 : ct.call(Mt, "canvas.mjr-viewer-media")) || ((Lt = e == null ? void 0 : e.querySelector) == null ? void 0 : Lt.call(e, "canvas.mjr-viewer-media")); - nn && nn instanceof HTMLCanvasElement && ((Bt = ko == null ? void 0 : ko.drawScopesLight) == null || Bt.call(ko, mn, { w: fe.w, h: fe.h }, nn, { - mode: It, + let wt = z; + (i == null ? void 0 : i.mode) === jt.AB_COMPARE ? wt = B : (i == null ? void 0 : i.mode) === jt.SIDE_BY_SIDE && (wt = J); + const on = ((st = wt == null ? void 0 : wt.querySelector) == null ? void 0 : st.call(wt, "canvas.mjr-viewer-media")) || ((Vt = e == null ? void 0 : e.querySelector) == null ? void 0 : Vt.call(e, "canvas.mjr-viewer-media")); + on && on instanceof HTMLCanvasElement && ((Bt = No == null ? void 0 : No.drawScopesLight) == null || Bt.call(No, mn, { w: he.w, h: he.h }, on, { + mode: gt, channel: i == null ? void 0 : i.channel })); } } - } catch (It) { - (Nt = console.debug) == null || Nt.call(console, It); + } catch (gt) { + (Rt = console.debug) == null || Rt.call(console, gt); } - if (i.mode !== xt.SINGLE) { + if (i.mode !== jt.SINGLE) { try { - D.style.display = "none"; - } catch (It) { - (ht = console.debug) == null || ht.call(console, It); + H.style.display = "none"; + } catch (gt) { + (Ct = console.debug) == null || Ct.call(console, gt); } try { - Q.style.display = "none"; - } catch (It) { - (Jt = console.debug) == null || Jt.call(console, It); + $.style.display = "none"; + } catch (gt) { + (zt = console.debug) == null || zt.call(console, gt); } } - }, Gt = (ae) => { - var fe, je, Ne, $e; + }, Mt = (ae) => { + var he, ve, Fe, _e; if (ae) { try { for (const et of Array.from(ae.childNodes || [])) try { - (fe = et == null ? void 0 : et._mjrDispose) == null || fe.call(et); + (he = et == null ? void 0 : et._mjrDispose) == null || he.call(et); } catch (tt) { - (je = console.debug) == null || je.call(console, tt); + (ve = console.debug) == null || ve.call(console, tt); } } catch (et) { - (Ne = console.debug) == null || Ne.call(console, et); + (Fe = console.debug) == null || Fe.call(console, et); } try { ae.replaceChildren(); } catch (et) { - ($e = console.debug) == null || $e.call(console, et); + (_e = console.debug) == null || _e.call(console, et); } } - }, ue = () => { - var ae, fe, je, Ne; + }, me = () => { + var ae, he, ve, Fe; try { - (fe = (ae = i._genInfoAbort) == null ? void 0 : ae.abort) == null || fe.call(ae); - } catch ($e) { - (je = console.debug) == null || je.call(console, $e); + (he = (ae = i._genInfoAbort) == null ? void 0 : ae.abort) == null || he.call(ae); + } catch (_e) { + (ve = console.debug) == null || ve.call(console, _e); } i._genInfoAbort = null; try { i._genInfoReqId = (Number(i._genInfoReqId) || 0) + 1; - } catch ($e) { - (Ne = console.debug) == null || Ne.call(console, $e); + } catch (_e) { + (Fe = console.debug) == null || Fe.call(console, _e); } - }, He = async (ae, { signal: fe } = {}) => { - var je; + }, Pe = async (ae, { signal: he } = {}) => { + var ve; try { - return await ((je = Gi == null ? void 0 : Gi.ensureViewerMetadataAsset) == null ? void 0 : je.call(Gi, ae, { - getAssetMetadata: ml, - getFileMetadataScoped: Ug, - metadataCache: Ze, - signal: fe + return await ((ve = vi == null ? void 0 : vi.ensureViewerMetadataAsset) == null ? void 0 : ve.call(vi, ae, { + getAssetMetadata: gl, + getFileMetadataScoped: Kg, + metadataCache: ge, + signal: he })); } catch { return ae; } - }, ve = (ae) => { + }, Le = (ae) => { try { if (!ae || typeof ae != "object" || ae != null && ae.geninfo || ae != null && ae.prompt || ae != null && ae.workflow || ae != null && ae.metadata) return !1; if (String((ae == null ? void 0 : ae.mime) || (ae == null ? void 0 : ae.mimetype) || (ae == null ? void 0 : ae.type) || "").toLowerCase().startsWith("video/")) return !0; - const Ne = String( + const Fe = String( (ae == null ? void 0 : ae.filepath) || (ae == null ? void 0 : ae.path) || (ae == null ? void 0 : ae.filename) || (ae == null ? void 0 : ae.name) || "" ).toLowerCase().split(".").pop() || ""; - return ["mp4", "webm", "mov", "mkv", "avi", "m4v", "gif"].includes(Ne), !0; + return ["mp4", "webm", "mov", "mkv", "avi", "m4v", "gif"].includes(Fe), !0; } catch { return !1; } }, Ot = async () => { - var Bt, Nt, ht, Jt, It, mn; - const ae = nt(), fe = mt(), je = i.mode, Ne = !!(i != null && i.genInfoOpen) && !(i != null && i.distractionFree), $e = Ne && (je === xt.AB_COMPARE && ae || je === xt.SIDE_BY_SIDE && fe), et = $e && je === xt.SIDE_BY_SIDE && !(i != null && i.compareAsset) && (((Bt = i == null ? void 0 : i.assets) == null ? void 0 : Bt.length) ?? 0) > 2; + var Bt, Rt, Ct, zt, gt, mn; + const ae = nt(), he = ut(), ve = i.mode, Fe = !!(i != null && i.genInfoOpen) && !(i != null && i.distractionFree), _e = Fe && (ve === jt.AB_COMPARE && ae || ve === jt.SIDE_BY_SIDE && he), et = _e && ve === jt.SIDE_BY_SIDE && !(i != null && i.compareAsset) && (((Bt = i == null ? void 0 : i.assets) == null ? void 0 : Bt.length) ?? 0) > 2; try { - if (K.style.display = Ne ? "flex" : "none", U.style.display = $e ? "flex" : "none", e.style.paddingRight = Ne ? Nu : "0px", e.style.paddingLeft = $e ? Nu : "0px", !Ne) { - ue(); + if (oe.style.display = Fe ? "flex" : "none", O.style.display = _e ? "flex" : "none", e.style.paddingRight = Fe ? Fu : "0px", e.style.paddingLeft = _e ? Fu : "0px", !Fe) { + me(); try { - Gt(Y); - } catch (Mt) { - (Nt = console.debug) == null || Nt.call(console, Mt); + Mt(j); + } catch (wt) { + (Rt = console.debug) == null || Rt.call(console, wt); } try { - Gt(ee); - } catch (Mt) { - (ht = console.debug) == null || ht.call(console, Mt); + Mt(q); + } catch (wt) { + (Ct = console.debug) == null || Ct.call(console, wt); } return; } } catch { return; } - ue(); + me(); const tt = (Number(i == null ? void 0 : i._genInfoReqId) || 0) + 1; try { i._genInfoReqId = tt; - } catch (Mt) { - (Jt = console.debug) == null || Jt.call(console, Mt); + } catch (wt) { + (zt = console.debug) == null || zt.call(console, wt); } - const ct = new AbortController(); - i._genInfoAbort = ct; - const Lt = ({ left: Mt, leftExtra: nn, right: rn, rightExtra: hn, single: ln }) => { + const st = new AbortController(); + i._genInfoAbort = st; + const Vt = ({ left: wt, leftExtra: on, right: rn, rightExtra: hn, single: ln }) => { var An, vn; try { - Gt(Y); - } catch (dn) { - (An = console.debug) == null || An.call(console, dn); + Mt(j); + } catch (un) { + (An = console.debug) == null || An.call(console, un); } try { - Gt(ee); - } catch (dn) { - (vn = console.debug) == null || vn.call(console, dn); + Mt(q); + } catch (un) { + (vn = console.debug) == null || vn.call(console, un); } const gn = () => { - var dn; + var un; try { i != null && i.genInfoOpen || (i.genInfoOpen = !0), Ot(); } catch (Mn) { - (dn = console.debug) == null || dn.call(console, Mn); + (un = console.debug) == null || un.call(console, Mn); } - }, $t = (dn, Mn, yn, Ut) => { - var Tt, io, oo, ro; - if (dn) + }, nn = (un, Mn, yn, Ut) => { + var Jt, ro, lo, ao; + if (un) try { try { - const it = (Tt = Gi == null ? void 0 : Gi.buildViewerMetadataBlocks) == null ? void 0 : Tt.call(Gi, { + const it = (Jt = vi == null ? void 0 : vi.buildViewerMetadataBlocks) == null ? void 0 : Jt.call(vi, { title: Mn, asset: yn, ui: { loading: !!Ut, onRetry: gn } }); if (it) { - dn.appendChild(it); + un.appendChild(it); return; } } catch (it) { - (io = console.debug) == null || io.call(console, it); + (ro = console.debug) == null || ro.call(console, it); } - const yi = document.createElement("div"); - if (yi.style.cssText = "display:flex; flex-direction:column; gap:10px; margin-bottom: 14px;", Mn) { + const hi = document.createElement("div"); + if (hi.style.cssText = "display:flex; flex-direction:column; gap:10px; margin-bottom: 14px;", Mn) { const it = document.createElement("div"); - it.textContent = Mn, it.style.cssText = "font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: rgba(255,255,255,0.86);", yi.appendChild(it); + it.textContent = Mn, it.style.cssText = "font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: rgba(255,255,255,0.86);", hi.appendChild(it); } - const Le = document.createElement("div"); - Le.style.cssText = "padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.72);", Le.textContent = "No generation data found for this file.", yi.appendChild(Le); + const Ve = document.createElement("div"); + Ve.style.cssText = "padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.72);", Ve.textContent = "No generation data found for this file.", hi.appendChild(Ve); try { const it = yn == null ? void 0 : yn.metadata_raw; if (it != null) { - const Vt = document.createElement("details"); - Vt.style.cssText = "border: 1px solid rgba(255,255,255,0.10); border-radius: 10px; background: rgba(255,255,255,0.04); overflow: hidden;"; - const on = document.createElement("summary"); - on.textContent = "Raw metadata", on.style.cssText = "cursor: pointer; padding: 10px 12px; color: rgba(255,255,255,0.78); user-select: none;"; - const cn = document.createElement("pre"); - cn.style.cssText = "margin:0; padding: 10px 12px; max-height: 280px; overflow:auto; font-size: 11px; line-height: 1.35; color: rgba(255,255,255,0.86);"; + const xt = document.createElement("details"); + xt.style.cssText = "border: 1px solid rgba(255,255,255,0.10); border-radius: 10px; background: rgba(255,255,255,0.04); overflow: hidden;"; + const an = document.createElement("summary"); + an.textContent = "Raw metadata", an.style.cssText = "cursor: pointer; padding: 10px 12px; color: rgba(255,255,255,0.78); user-select: none;"; + const sn = document.createElement("pre"); + sn.style.cssText = "margin:0; padding: 10px 12px; max-height: 280px; overflow:auto; font-size: 11px; line-height: 1.35; color: rgba(255,255,255,0.86);"; let Bn = ""; try { typeof it == "string" ? Bn = it : Bn = JSON.stringify(it, null, 2); @@ -21240,75 +21255,75 @@ function aW() { Bn = String(it); } Bn.length > 4e4 && (Bn = `${Bn.slice(0, 4e4)} -…(truncated)…`), cn.textContent = Bn, Vt.appendChild(on), Vt.appendChild(cn), yi.appendChild(Vt); +…(truncated)…`), sn.textContent = Bn, xt.appendChild(an), xt.appendChild(sn), hi.appendChild(xt); } } catch (it) { - (oo = console.debug) == null || oo.call(console, it); + (lo = console.debug) == null || lo.call(console, it); } - dn.appendChild(yi); - } catch (yi) { - (ro = console.debug) == null || ro.call(console, yi); + un.appendChild(hi); + } catch (hi) { + (ao = console.debug) == null || ao.call(console, hi); } }; - $e ? (Mt && (P.textContent = Mt.title || "Asset A", $t( - ee, - nn ? "Asset A" : "", - Mt.asset, - Mt.loading - )), nn && $t(ee, "Asset C", nn.asset, nn.loading), rn && (F.textContent = rn.title || "Asset B", $t( - Y, + _e ? (wt && (D.textContent = wt.title || "Asset A", nn( + q, + on ? "Asset A" : "", + wt.asset, + wt.loading + )), on && nn(q, "Asset C", on.asset, on.loading), rn && (M.textContent = rn.title || "Asset B", nn( + j, hn ? "Asset B" : "", rn.asset, rn.loading - )), hn && $t(Y, "Asset D", hn.asset, hn.loading)) : ln && (F.textContent = ln.title || "Generation Info", $t(Y, "", ln.asset, ln.loading)); + )), hn && nn(j, "Asset D", hn.asset, hn.loading)) : ln && (M.textContent = ln.title || "Generation Info", nn(j, "", ln.asset, ln.loading)); }; try { - const Mt = ((It = i == null ? void 0 : i.assets) == null ? void 0 : It[i == null ? void 0 : i.currentIndex]) || null; - if (!Mt) { - Lt({}); + const wt = ((gt = i == null ? void 0 : i.assets) == null ? void 0 : gt[i == null ? void 0 : i.currentIndex]) || null; + if (!wt) { + Vt({}); return; } - let nn = null, rn = null, hn = null, ln = null, gn = null; - $e ? je === xt.SIDE_BY_SIDE ? i != null && i.compareAsset ? (nn = Mt, rn = i.compareAsset) : (nn = i.assets[0] || null, rn = i.assets[1] || null, et && (hn = i.assets[2] || null, ln = i.assets[3] || null)) : (nn = Mt, rn = (i == null ? void 0 : i.compareAsset) || (i.assets.length === 2 ? i.assets[1 - i.currentIndex] : null)) : gn = Mt; - const $t = (An) => { - var vn, dn; - return An ? ((dn = (vn = Ze == null ? void 0 : Ze.getCached) == null ? void 0 : vn.call(Ze, An.id)) == null ? void 0 : dn.data) || An : null; + let on = null, rn = null, hn = null, ln = null, gn = null; + _e ? ve === jt.SIDE_BY_SIDE ? i != null && i.compareAsset ? (on = wt, rn = i.compareAsset) : (on = i.assets[0] || null, rn = i.assets[1] || null, et && (hn = i.assets[2] || null, ln = i.assets[3] || null)) : (on = wt, rn = (i == null ? void 0 : i.compareAsset) || (i.assets.length === 2 ? i.assets[1 - i.currentIndex] : null)) : gn = wt; + const nn = (An) => { + var vn, un; + return An ? ((un = (vn = ge == null ? void 0 : ge.getCached) == null ? void 0 : vn.call(ge, An.id)) == null ? void 0 : un.data) || An : null; }; - if (Lt({ - left: $e ? { + if (Vt({ + left: _e ? { title: et ? "Assets A & C" : "Asset A", - asset: $t(nn), - loading: ve($t(nn)) + asset: nn(on), + loading: Le(nn(on)) } : null, leftExtra: et && hn ? { - asset: $t(hn), - loading: ve($t(hn)) + asset: nn(hn), + loading: Le(nn(hn)) } : null, - right: $e ? { + right: _e ? { title: et ? "Assets B & D" : "Asset B", - asset: $t(rn), - loading: ve($t(rn)) + asset: nn(rn), + loading: Le(nn(rn)) } : null, rightExtra: et && ln ? { - asset: $t(ln), - loading: ve($t(ln)) + asset: nn(ln), + loading: Le(nn(ln)) } : null, - single: $e ? null : { + single: _e ? null : { title: "Generation Info", - asset: $t(gn), - loading: ve($t(gn)) + asset: nn(gn), + loading: Le(nn(gn)) } }), i._genInfoReqId !== tt) return; - if ($e) { - const An = nn ? await He(nn, { signal: ct.signal }) : null, vn = rn ? await He(rn, { signal: ct.signal }) : null, dn = hn ? await He(hn, { signal: ct.signal }) : null, Mn = ln ? await He(ln, { signal: ct.signal }) : null; + if (_e) { + const An = on ? await Pe(on, { signal: st.signal }) : null, vn = rn ? await Pe(rn, { signal: st.signal }) : null, un = hn ? await Pe(hn, { signal: st.signal }) : null, Mn = ln ? await Pe(ln, { signal: st.signal }) : null; if (i._genInfoReqId !== tt) return; - Lt({ + Vt({ left: { title: et ? "Assets A & C" : "Asset A", asset: An, loading: !1 }, - leftExtra: et && dn ? { asset: dn, loading: !1 } : null, + leftExtra: et && un ? { asset: un, loading: !1 } : null, right: { title: et ? "Assets B & D" : "Asset B", asset: vn, @@ -21317,9 +21332,9 @@ function aW() { rightExtra: et && Mn ? { asset: Mn, loading: !1 } : null }); } else { - const An = gn ? await He(gn, { signal: ct.signal }) : null; + const An = gn ? await Pe(gn, { signal: st.signal }) : null; if (i._genInfoReqId !== tt) return; - Lt({ + Vt({ single: { title: "Generation Info", asset: An, @@ -21327,39 +21342,39 @@ function aW() { } }); } - } catch (Mt) { - (mn = console.debug) == null || mn.call(console, Mt); + } catch (wt) { + (mn = console.debug) == null || mn.call(console, wt); } }; - let Ve = null; - function Ke(ae) { - var fe, je; + let Xe = null; + function Ee(ae) { + var he, ve; try { - return !Ve && Xa && (Ve = Xa.createFrameExporter({ + return !Xe && Na && (Xe = Na.createFrameExporter({ state: i, - VIEWER_MODES: xt, - singleView: O, + VIEWER_MODES: jt, + singleView: z, abView: B, sideView: J - })), (fe = Ve == null ? void 0 : Ve.exportCurrentFrame) == null ? void 0 : fe.call(Ve, ae); - } catch (Ne) { - (je = console.debug) == null || je.call(console, Ne); + })), (he = Xe == null ? void 0 : Xe.exportCurrentFrame) == null ? void 0 : he.call(Xe, ae); + } catch (Fe) { + (ve = console.debug) == null || ve.call(console, Fe); } } - const Be = () => { - var tt, ct, Lt, Bt, Nt, ht, Jt, It, mn; - const ae = (Mt) => { - var nn; + const Ke = () => { + var tt, st, Vt, Bt, Rt, Ct, zt, gt, mn; + const ae = (wt) => { + var on; try { - Mt && Mt.replaceChildren(); + wt && wt.replaceChildren(); } catch (rn) { - (nn = console.debug) == null || nn.call(console, rn); + (on = console.debug) == null || on.call(console, rn); } }; - ae(W), ae(k); - const fe = (Mt, { showName: nn } = {}) => { - var An, vn, dn, Mn; - if (!Mt) return null; + ae(W), ae(X); + const he = (wt, { showName: on } = {}) => { + var An, vn, un, Mn; + if (!wt) return null; const rn = document.createElement("div"); rn.className = "mjr-viewer-asset-pill", rn.style.cssText = ` display: inline-flex; @@ -21374,475 +21389,475 @@ function aW() { overflow: hidden; `; const hn = document.createElement("span"); - hn.textContent = String(Mt.filename || ""), hn.style.cssText = "max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:0.95;"; - const ln = uZ( - Mt.filename, - Mt.kind, - !!(Mt != null && Mt._mjrNameCollision) + hn.textContent = String(wt.filename || ""), hn.style.cssText = "max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:0.95;"; + const ln = IZ( + wt.filename, + wt.kind, + !!(wt != null && wt._mjrNameCollision) ); try { ln.style.position = "static", ln.style.top = "", ln.style.left = "", ln.style.padding = "2px 6px", ln.style.fontSize = "10px", ln.style.borderRadius = "6px", ln.style.pointerEvents = "none"; } catch (yn) { (An = console.debug) == null || An.call(console, yn); } - const gn = Ya(Mt.rating || 0); + const gn = Ya(wt.rating || 0); if (gn) try { gn.style.position = "static", gn.style.top = "", gn.style.right = "", gn.style.padding = "2px 6px", gn.style.fontSize = "12px"; } catch (yn) { (vn = console.debug) == null || vn.call(console, yn); } - const $t = FI(Array.isArray(Mt.tags) ? Mt.tags : []); - if ($t) + const nn = OI(Array.isArray(wt.tags) ? wt.tags : []); + if (nn) try { - $t.style.position = "static", $t.style.bottom = "", $t.style.left = "", $t.style.maxWidth = "220px", $t.style.pointerEvents = "none"; + nn.style.position = "static", nn.style.bottom = "", nn.style.left = "", nn.style.maxWidth = "220px", nn.style.pointerEvents = "none"; } catch (yn) { - (dn = console.debug) == null || dn.call(console, yn); + (un = console.debug) == null || un.call(console, yn); } - rn.appendChild(ln), nn && rn.appendChild(hn), gn && rn.appendChild(gn), $t && $t.style.display !== "none" && rn.appendChild($t); + rn.appendChild(ln), on && rn.appendChild(hn), gn && rn.appendChild(gn), nn && nn.style.display !== "none" && rn.appendChild(nn); try { - Mt.filepath && (rn.title = String(Mt.filepath)); + wt.filepath && (rn.title = String(wt.filepath)); } catch (yn) { (Mn = console.debug) == null || Mn.call(console, yn); } return rn; - }, je = i.mode === xt.SINGLE, Ne = i.mode === xt.AB_COMPARE && nt(), $e = i.mode === xt.SIDE_BY_SIDE && mt(); - if ((Ne || $e) && k) { - const Mt = ((tt = i.assets) == null ? void 0 : tt[i.currentIndex]) || null, nn = $e && i.compareAsset != null, rn = Ne ? i.compareAsset != null ? Mt : ((ct = i.assets) == null ? void 0 : ct[0]) || null : nn ? Mt : ((Lt = i.assets) == null ? void 0 : Lt[0]) || null, hn = Ne ? i.compareAsset != null ? i.compareAsset : ((Bt = i.assets) == null ? void 0 : Bt[1]) || null : nn ? i.compareAsset : ((ht = i.assets) == null ? void 0 : ht[Math.max(0, (((Nt = i.assets) == null ? void 0 : Nt.length) || 1) - 1)]) || null, ln = fe(rn, { showName: !1 }), gn = fe(hn, { showName: !1 }); + }, ve = i.mode === jt.SINGLE, Fe = i.mode === jt.AB_COMPARE && nt(), _e = i.mode === jt.SIDE_BY_SIDE && ut(); + if ((Fe || _e) && X) { + const wt = ((tt = i.assets) == null ? void 0 : tt[i.currentIndex]) || null, on = _e && i.compareAsset != null, rn = Fe ? i.compareAsset != null ? wt : ((st = i.assets) == null ? void 0 : st[0]) || null : on ? wt : ((Vt = i.assets) == null ? void 0 : Vt[0]) || null, hn = Fe ? i.compareAsset != null ? i.compareAsset : ((Bt = i.assets) == null ? void 0 : Bt[1]) || null : on ? i.compareAsset : ((Ct = i.assets) == null ? void 0 : Ct[Math.max(0, (((Rt = i.assets) == null ? void 0 : Rt.length) || 1) - 1)]) || null, ln = he(rn, { showName: !1 }), gn = he(hn, { showName: !1 }); try { ln && W.appendChild(ln); - } catch ($t) { - (Jt = console.debug) == null || Jt.call(console, $t); + } catch (nn) { + (zt = console.debug) == null || zt.call(console, nn); } try { - gn && k.appendChild(gn); - } catch ($t) { - (It = console.debug) == null || It.call(console, $t); + gn && X.appendChild(gn); + } catch (nn) { + (gt = console.debug) == null || gt.call(console, nn); } return; } - const et = je ? [i.assets[i.currentIndex]].filter(Boolean) : Array.isArray(i.assets) ? i.assets.slice(0, 4) : []; - for (const Mt of et) { - const nn = fe(Mt, { showName: !je }); - if (nn) + const et = ve ? [i.assets[i.currentIndex]].filter(Boolean) : Array.isArray(i.assets) ? i.assets.slice(0, 4) : []; + for (const wt of et) { + const on = he(wt, { showName: !ve }); + if (on) try { - W.appendChild(nn); + W.appendChild(on); } catch (rn) { (mn = console.debug) == null || mn.call(console, rn); } } }; function nt() { - return (i.assets.length === 2 || i.compareAsset != null) && !de(); + return (i.assets.length === 2 || i.compareAsset != null) && !se(); } - function mt() { + function ut() { const ae = i.assets.length; return ae >= 2 && ae <= 4 || ae >= 1 && i.compareAsset != null; } - function bt() { - var fe, je, Ne, $e; + function It() { + var he, ve, Fe, _e; const ae = !!(i != null && i.distractionFree); try { - C.style.display = ae ? "none" : ""; + h.style.display = ae ? "none" : ""; } catch (et) { - (fe = console.debug) == null || fe.call(console, et); + (he = console.debug) == null || he.call(console, et); } try { - oe.style.display = ae ? "none" : ""; + ee.style.display = ae ? "none" : ""; } catch (et) { - (je = console.debug) == null || je.call(console, et); + (ve = console.debug) == null || ve.call(console, et); } try { e.classList.toggle("mjr-viewer-focus", ae); } catch (et) { - (Ne = console.debug) == null || Ne.call(console, et); + (Fe = console.debug) == null || Fe.call(console, et); } try { - ae && (e.style.paddingRight = "0px", e.style.paddingLeft = "0px", K.style.display = "none", U.style.display = "none"); + ae && (e.style.paddingRight = "0px", e.style.paddingLeft = "0px", oe.style.display = "none", O.style.display = "none"); } catch (et) { - ($e = console.debug) == null || $e.call(console, et); + (_e = console.debug) == null || _e.call(console, et); } } - function st() { - var Lt, Bt, Nt, ht, Jt, It, mn, Mt, nn, rn, hn, ln, gn, $t, An, vn, dn, Mn, yn; + function dt() { + var Vt, Bt, Rt, Ct, zt, gt, mn, wt, on, rn, hn, ln, gn, nn, An, vn, un, Mn, yn; i.zoom = 1, i.panX = 0, i.panY = 0, i.targetZoom = 1; try { - i.mode !== xt.AB_COMPARE && i.mode !== xt.SIDE_BY_SIDE && i.compareAsset != null && (i.compareAsset = null); + i.mode !== jt.AB_COMPARE && i.mode !== jt.SIDE_BY_SIDE && i.compareAsset != null && (i.compareAsset = null); } catch (Ut) { - (Lt = console.debug) == null || Lt.call(console, Ut); + (Vt = console.debug) == null || Vt.call(console, Ut); } - const ae = i.assets[i.currentIndex], fe = i.mode === xt.AB_COMPARE && nt(), je = i.mode === xt.SIDE_BY_SIDE && mt(), Ne = fe && i.compareAsset != null, $e = je && i.compareAsset != null, et = fe ? (Ne ? ae : (Bt = i.assets) == null ? void 0 : Bt[0]) || null : je ? ($e ? ae : (Nt = i.assets) == null ? void 0 : Nt[0]) || null : ae || null, tt = fe ? (Ne ? i.compareAsset : (ht = i.assets) == null ? void 0 : ht[1]) || null : je ? $e ? i.compareAsset : Array.isArray(i.assets) && i.assets.length >= 2 ? i.assets[i.assets.length - 1] : null : null; + const ae = i.assets[i.currentIndex], he = i.mode === jt.AB_COMPARE && nt(), ve = i.mode === jt.SIDE_BY_SIDE && ut(), Fe = he && i.compareAsset != null, _e = ve && i.compareAsset != null, et = he ? (Fe ? ae : (Bt = i.assets) == null ? void 0 : Bt[0]) || null : ve ? (_e ? ae : (Rt = i.assets) == null ? void 0 : Rt[0]) || null : ae || null, tt = he ? (Fe ? i.compareAsset : (Ct = i.assets) == null ? void 0 : Ct[1]) || null : ve ? _e ? i.compareAsset : Array.isArray(i.assets) && i.assets.length >= 2 ? i.assets[i.assets.length - 1] : null : null; try { - S.textContent = (et == null ? void 0 : et.filename) || ""; + G.textContent = (et == null ? void 0 : et.filename) || ""; } catch (Ut) { - (Jt = console.debug) == null || Jt.call(console, Ut); + (zt = console.debug) == null || zt.call(console, Ut); } try { - G && y && tt && tt !== et ? (G.style.display = "flex", z && (z.style.display = "flex"), y.textContent = (tt == null ? void 0 : tt.filename) || "", x && w && V && (x.style.display = "flex", w.appendChild(V), V.style.justifyContent = "flex-start"), L && (L.style.justifyContent = "center", L.style.paddingLeft = "84px"), X && (X.style.flex = "0 0 auto"), R && (R.style.flex = "0 0 auto"), S && (S.style.textAlign = "left")) : G && y && (G.style.display = "none", z && (z.style.display = "none"), y.textContent = "", x && (x.style.display = "none"), R && V && j && (R.insertBefore(V, j), V.style.justifyContent = "center"), L && (L.style.justifyContent = "center", L.style.paddingLeft = "12px"), X && (X.style.flex = "1 1 auto"), R && (R.style.flex = ""), S && (S.style.textAlign = "center")); + x && y && tt && tt !== et ? (x.style.display = "flex", T && (T.style.display = "flex"), y.textContent = (tt == null ? void 0 : tt.filename) || "", v && w && Y && (v.style.display = "flex", w.appendChild(Y), Y.style.justifyContent = "flex-start"), V && (V.style.justifyContent = "center", V.style.paddingLeft = "84px"), R && (R.style.flex = "0 0 auto"), F && (F.style.flex = "0 0 auto"), G && (G.style.textAlign = "left")) : x && y && (x.style.display = "none", T && (T.style.display = "none"), y.textContent = "", v && (v.style.display = "none"), F && Y && N && (F.insertBefore(Y, N), Y.style.justifyContent = "center"), V && (V.style.justifyContent = "center", V.style.paddingLeft = "12px"), R && (R.style.flex = "1 1 auto"), F && (F.style.flex = ""), G && (G.style.textAlign = "center")); } catch (Ut) { - (It = console.debug) == null || It.call(console, Ut); + (gt = console.debug) == null || gt.call(console, Ut); } - i.mode === xt.AB_COMPARE && nt() ? pe.textContent = "2 selected" : i.mode === xt.SIDE_BY_SIDE && mt() ? pe.textContent = i.compareAsset != null ? "2 selected" : `${i.assets.length} selected` : pe.textContent = `${i.currentIndex + 1} / ${i.assets.length}`, i.mode === xt.AB_COMPARE && !nt() && (i.mode = mt() ? xt.SIDE_BY_SIDE : xt.SINGLE), i.mode === xt.SIDE_BY_SIDE && !mt() && (i.mode = xt.SINGLE); + i.mode === jt.AB_COMPARE && nt() ? ue.textContent = "2 selected" : i.mode === jt.SIDE_BY_SIDE && ut() ? ue.textContent = i.compareAsset != null ? "2 selected" : `${i.assets.length} selected` : ue.textContent = `${i.currentIndex + 1} / ${i.assets.length}`, i.mode === jt.AB_COMPARE && !nt() && (i.mode = ut() ? jt.SIDE_BY_SIDE : jt.SINGLE), i.mode === jt.SIDE_BY_SIDE && !ut() && (i.mode = jt.SINGLE); try { - (mn = b == null ? void 0 : b.syncModeButtons) == null || mn.call(b, { canAB: nt, canSide: mt }); + (mn = b == null ? void 0 : b.syncModeButtons) == null || mn.call(b, { canAB: nt, canSide: ut }); } catch (Ut) { - (Mt = console.debug) == null || Mt.call(console, Ut); + (wt = console.debug) == null || wt.call(console, Ut); } - O.style.display = i.mode === xt.SINGLE ? "flex" : "none", B.style.display = i.mode === xt.AB_COMPARE ? "block" : "none", J.style.display = i.mode === xt.SIDE_BY_SIDE ? "flex" : "none"; + z.style.display = i.mode === jt.SINGLE ? "flex" : "none", B.style.display = i.mode === jt.AB_COMPARE ? "block" : "none", J.style.display = i.mode === jt.SIDE_BY_SIDE ? "flex" : "none"; try { - i.mode !== xt.SINGLE && (ci(O), O.replaceChildren()); + i.mode !== jt.SINGLE && (di(z), z.replaceChildren()); } catch (Ut) { - (nn = console.debug) == null || nn.call(console, Ut); + (on = console.debug) == null || on.call(console, Ut); } try { - i.mode !== xt.AB_COMPARE && (ci(B), B.replaceChildren()); + i.mode !== jt.AB_COMPARE && (di(B), B.replaceChildren()); } catch (Ut) { (rn = console.debug) == null || rn.call(console, Ut); } try { - i.mode !== xt.SIDE_BY_SIDE && (ci(J), J.replaceChildren()); + i.mode !== jt.SIDE_BY_SIDE && (di(J), J.replaceChildren()); } catch (Ut) { (hn = console.debug) == null || hn.call(console, Ut); } - Be(); - const ct = i.mode === xt.AB_COMPARE && nt() || i.mode === xt.SIDE_BY_SIDE && mt(); + Ke(); + const st = i.mode === jt.AB_COMPARE && nt() || i.mode === jt.SIDE_BY_SIDE && ut(); try { - ce.style.display = ct ? "none" : "", H.style.display = ct ? "none" : ""; + ce.style.display = st ? "none" : "", U.style.display = st ? "none" : ""; } catch (Ut) { (ln = console.debug) == null || ln.call(console, Ut); } - ke(), Ct(i.assets, i.currentIndex), Zt(); + Re(), Wt(i.assets, i.currentIndex), yt(); try { (gn = b == null ? void 0 : b.syncToolsUIFromState) == null || gn.call(b); } catch (Ut) { - ($t = console.debug) == null || $t.call(console, Ut); + (nn = console.debug) == null || nn.call(console, Ut); } try { - bt(); + It(); } catch (Ut) { (An = console.debug) == null || An.call(console, Ut); } try { - Oe == null || Oe(); + pe == null || pe(); } catch (Ut) { (vn = console.debug) == null || vn.call(console, Ut); } - Re(); + Oe(); try { Ot(); } catch (Ut) { - (dn = console.debug) == null || dn.call(console, Ut); + (un = console.debug) == null || un.call(console, Ut); } try { - Qe().then(() => { + qe().then(() => { var Ut; try { - Be(); - } catch (Tt) { - (Ut = console.debug) == null || Ut.call(console, Tt); + Ke(); + } catch (Jt) { + (Ut = console.debug) == null || Ut.call(console, Jt); } }); } catch (Ut) { (Mn = console.debug) == null || Mn.call(console, Ut); } try { - const Ut = i.mode === xt.SINGLE; + const Ut = i.mode === jt.SINGLE; le.sync({ isSingle: Ut }); } catch (Ut) { (yn = console.debug) == null || yn.call(console, Ut); } } - function ke() { - var je, Ne, $e, et, tt; + function Re() { + var ve, Fe, _e, et, tt; const ae = i.assets[i.currentIndex]; if (!ae) return; - const fe = Bi(ae); - if (!fe) { + const he = Ki(ae); + if (!he) { try { - ci(O); - } catch (ct) { - (je = console.debug) == null || je.call(console, ct); + di(z); + } catch (st) { + (ve = console.debug) == null || ve.call(console, st); } try { - O.replaceChildren(); - const ct = document.createElement("div"); - ct.className = "mjr-viewer-media", ct.style.cssText = "color:#ff9a9a; font-size:13px; padding:16px; text-align:center;", ct.textContent = "Cannot open asset: missing or invalid filename/path.", O.appendChild(ct); - } catch (ct) { - (Ne = console.debug) == null || Ne.call(console, ct); + z.replaceChildren(); + const st = document.createElement("div"); + st.className = "mjr-viewer-media", st.style.cssText = "color:#ff9a9a; font-size:13px; padding:16px; text-align:center;", st.textContent = "Cannot open asset: missing or invalid filename/path.", z.appendChild(st); + } catch (st) { + (Fe = console.debug) == null || Fe.call(console, st); } return; } - if (i.mode === xt.SINGLE) { + if (i.mode === jt.SINGLE) { try { - ci(O); - } catch (Lt) { - ($e = console.debug) == null || $e.call(console, Lt); + di(z); + } catch (Vt) { + (_e = console.debug) == null || _e.call(console, Vt); } - O.innerHTML = "", i._mediaW = 0, i._mediaH = 0; - const ct = g(ae, fe); - O.appendChild(ct); - } else i.mode === xt.AB_COMPARE ? nt() && ((et = Yo == null ? void 0 : Yo.renderABCompareView) == null || et.call(Yo, { + z.innerHTML = "", i._mediaW = 0, i._mediaH = 0; + const st = g(ae, he); + z.appendChild(st); + } else i.mode === jt.AB_COMPARE ? nt() && ((et = ko == null ? void 0 : ko.renderABCompareView) == null || et.call(ko, { abView: B, state: i, currentAsset: ae, - viewUrl: fe, - buildAssetViewURL: Bi, - createCompareMediaElement: h, - destroyMediaProcessorsIn: ci - })) : i.mode === xt.SIDE_BY_SIDE && mt() && ((tt = Vo == null ? void 0 : Vo.renderSideBySideView) == null || tt.call(Vo, { + viewUrl: he, + buildAssetViewURL: Ki, + createCompareMediaElement: Z, + destroyMediaProcessorsIn: di + })) : i.mode === jt.SIDE_BY_SIDE && ut() && ((tt = Xo == null ? void 0 : Xo.renderSideBySideView) == null || tt.call(Xo, { sideView: J, state: i, currentAsset: ae, - viewUrl: fe, - buildAssetViewURL: Bi, + viewUrl: he, + buildAssetViewURL: Ki, createMediaElement: g, - destroyMediaProcessorsIn: ci + destroyMediaProcessorsIn: di })); s(), u(); } const { - preloadAdjacentAssets: Ct - } = KA({ - buildAssetViewURL: Bi, + preloadAdjacentAssets: Wt + } = HA({ + buildAssetViewURL: Ki, IMAGE_PRELOAD_EXTENSIONS: o, state: i - }), { destroyPlayerBar: at, syncPlayerBar: zt } = EA({ + }), { destroyPlayerBar: lt, syncPlayerBar: qt } = PA({ state: i, - APP_CONFIG: ye, - VIEWER_MODES: xt, + APP_CONFIG: fe, + VIEWER_MODES: jt, overlay: e, - navBar: $, + navBar: Q, playerBarHost: _, - singleView: O, + singleView: z, abView: B, sideView: J, - metadataHydrator: Ze, - isPlayableViewerKind: EZ, - collectPlayableMediaElements: HZ, - pickPrimaryPlayableMedia: qZ, - mountUnifiedMediaControls: PZ, - installFollowerVideoSync: cA, - getViewerInfo: Bg, - scheduleOverlayRedraw: Re, - viewerInfoCacheGet: De, - viewerInfoCacheSet: Pe - }), Zt = () => zt(), gt = ye.VIEWER_MAX_PROC_PIXELS ?? 12e6, kt = () => ({ + metadataHydrator: ge, + isPlayableViewerKind: PZ, + collectPlayableMediaElements: QZ, + pickPrimaryPlayableMedia: _Z, + mountUnifiedMediaControls: $Z, + installFollowerVideoSync: uA, + getViewerInfo: Ug, + scheduleOverlayRedraw: Oe, + viewerInfoCacheGet: Je, + viewerInfoCacheSet: $e + }), yt = () => qt(), mt = fe.VIEWER_MAX_PROC_PIXELS ?? 12e6, kt = () => ({ exposureEV: Number(i.exposureEV) || 0, gamma: Math.max(0.1, Math.min(3, Number(i.gamma) || 1)), channel: i.channel || "rgb", analysisMode: i.analysisMode || "none", zebraThreshold: Math.max(0, Math.min(1, Number(i.zebraThreshold) || 0.95)) - }), Qt = () => { - var fe, je, Ne, $e; + }), $t = () => { + var he, ve, Fe, _e; const ae = kt(); try { const et = e.querySelectorAll(".mjr-viewer-media"); for (const tt of et) try { - const ct = tt == null ? void 0 : tt._mjrProc; - ct != null && ct.setParams && ct.setParams(ae); - } catch (ct) { - (fe = console.debug) == null || fe.call(console, ct); + const st = tt == null ? void 0 : tt._mjrProc; + st != null && st.setParams && st.setParams(ae); + } catch (st) { + (he = console.debug) == null || he.call(console, st); } } catch (et) { - (je = console.debug) == null || je.call(console, et); + (ve = console.debug) == null || ve.call(console, et); } try { - (i == null ? void 0 : i.mode) === xt.AB_COMPARE && ((Ne = B == null ? void 0 : B._mjrDiffRequest) == null || Ne.call(B)); + (i == null ? void 0 : i.mode) === jt.AB_COMPARE && ((Fe = B == null ? void 0 : B._mjrDiffRequest) == null || Fe.call(B)); } catch (et) { - ($e = console.debug) == null || $e.call(console, et); + (_e = console.debug) == null || _e.call(console, et); } - }, te = (ae) => { + }, Tt = (ae) => { try { if (!ae) return !0; - const fe = Number(ae.exposureEV) || 0, je = Number(ae.gamma) || 1, Ne = String(ae.channel || "rgb"), $e = String(ae.analysisMode || "none"); - return Math.abs(fe) < 1e-4 && Math.abs(je - 1) < 1e-4 && Ne === "rgb" && $e === "none"; + const he = Number(ae.exposureEV) || 0, ve = Number(ae.gamma) || 1, Fe = String(ae.channel || "rgb"), _e = String(ae.analysisMode || "none"); + return Math.abs(he) < 1e-4 && Math.abs(ve - 1) < 1e-4 && Fe === "rgb" && _e === "none"; } catch { return !0; } - }, ge = ye.VIEWER_MAX_PROC_PIXELS_VIDEO ?? 3e6, we = ye.VIEWER_VIDEO_GRADE_THROTTLE_FPS ?? 15; + }, te = fe.VIEWER_MAX_PROC_PIXELS_VIDEO ?? 3e6, ye = fe.VIEWER_VIDEO_GRADE_THROTTLE_FPS ?? 15; try { - l = UA({ + l = EA({ overlay: e, state: i, mediaTransform: a, - updateMediaNaturalSize: A, + updateMediaNaturalSize: C, clampPanToBounds: c, applyTransform: s, - scheduleOverlayRedraw: Re, + scheduleOverlayRedraw: Oe, getGradeParams: kt, - isDefaultGrade: te, + isDefaultGrade: Tt, tonemap: null, - maxProcPixels: gt, - maxProcPixelsVideo: ge, - disableWebGL: !!ye.VIEWER_DISABLE_WEBGL_VIDEO, - videoGradeThrottleFps: we, - safeAddListener: _e, - safeCall: pt + maxProcPixels: mt, + maxProcPixelsVideo: te, + disableWebGL: !!fe.VIEWER_DISABLE_WEBGL_VIDEO, + videoGradeThrottleFps: ye, + safeAddListener: Qe, + safeCall: bt }); } catch { l = null; } n.push( - _e(ce, "click", () => { - i.currentIndex > 0 && (i.currentIndex--, st()); + Qe(ce, "click", () => { + i.currentIndex > 0 && (i.currentIndex--, dt()); }) ), n.push( - _e(H, "click", () => { - i.currentIndex < i.assets.length - 1 && (i.currentIndex++, st()); + Qe(U, "click", () => { + i.currentIndex < i.assets.length - 1 && (i.currentIndex++, dt()); }) ); - let be = null; - const Oe = () => { + let We = null; + const pe = () => { var ae; try { - if (be != null) return; - be = requestAnimationFrame(() => { - var fe; - be = null; + if (We != null) return; + We = requestAnimationFrame(() => { + var he; + We = null; try { - Qt(); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + $t(); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } }); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } - }, ot = () => { - var ae, fe; + }, De = () => { + var ae, he; try { (ae = b == null ? void 0 : b.syncToolsUIFromState) == null || ae.call(b); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } - }, dt = (ae) => { + }, ot = (ae) => { if (!Array.isArray(i.assets) || i.assets.length === 0) return !1; - const fe = i.currentIndex + ae; - return fe < 0 || fe >= i.assets.length ? !1 : (i.currentIndex = fe, st(), !0); - }, en = (ae) => { - var et, tt, ct, Lt, Bt, Nt; + const he = i.currentIndex + ae; + return he < 0 || he >= i.assets.length ? !1 : (i.currentIndex = he, dt(), !0); + }, Zt = (ae) => { + var et, tt, st, Vt, Bt, Rt; if (e.style.display === "none") return; try { - const ht = ae.target; - if (ht && (ht.tagName === "INPUT" || ht.tagName === "TEXTAREA" || ht.tagName === "SELECT" || ht.isContentEditable)) + const Ct = ae.target; + if (Ct && (Ct.tagName === "INPUT" || Ct.tagName === "TEXTAREA" || Ct.tagName === "SELECT" || Ct.isContentEditable)) return; - } catch (ht) { - (et = console.debug) == null || et.call(console, ht); + } catch (Ct) { + (et = console.debug) == null || et.call(console, Ct); } try { - if (!q.contains(ae.target)) return; - } catch (ht) { - (tt = console.debug) == null || tt.call(console, ht); + if (!K.contains(ae.target)) return; + } catch (Ct) { + (tt = console.debug) == null || tt.call(console, Ct); } try { - if ((ct = ti == null ? void 0 : ti.isModel3DInteractionTarget) != null && ct.call(ti, ae == null ? void 0 : ae.target)) return; - } catch (ht) { - (Lt = console.debug) == null || Lt.call(console, ht); + if ((st = ti == null ? void 0 : ti.isModel3DInteractionTarget) != null && st.call(ti, ae == null ? void 0 : ae.target)) return; + } catch (Ct) { + (Vt = console.debug) == null || Vt.call(console, Ct); } try { ae.preventDefault(), ae.stopPropagation(), (Bt = ae.stopImmediatePropagation) == null || Bt.call(ae); - } catch (ht) { - (Nt = console.debug) == null || Nt.call(console, ht); + } catch (Ct) { + (Rt = console.debug) == null || Rt.call(console, Ct); } - const fe = Number(ae.deltaX) || 0, je = Number(ae.deltaY) || 0; - if (ae.shiftKey && je) { - const ht = je > 0 ? 1 : -1; - if (dt(ht)) return; + const he = Number(ae.deltaX) || 0, ve = Number(ae.deltaY) || 0; + if (ae.shiftKey && ve) { + const Ct = ve > 0 ? 1 : -1; + if (ot(Ct)) return; } - if (Math.abs(fe) > Math.abs(je) && Math.abs(fe) > 30) { - const ht = fe > 0 ? 1 : -1; - if (dt(ht)) return; + if (Math.abs(he) > Math.abs(ve) && Math.abs(he) > 30) { + const Ct = he > 0 ? 1 : -1; + if (ot(Ct)) return; } - if (!je) return; - const Ne = Math.exp(-je * 15e-4), $e = (Number(i.zoom) || 1) * Ne; - d($e, { clientX: ae.clientX, clientY: ae.clientY }); - }, un = (ae, fe, je, { offsetX: Ne = 16, offsetY: $e = 16 } = {}) => { + if (!ve) return; + const Fe = Math.exp(-ve * 15e-4), _e = (Number(i.zoom) || 1) * Fe; + d(_e, { clientX: ae.clientX, clientY: ae.clientY }); + }, tn = (ae, he, ve, { offsetX: Fe = 16, offsetY: _e = 16 } = {}) => { var et; try { - const tt = M(); + const tt = S(); if (!tt) return; - const ct = q.getBoundingClientRect(), Lt = (Number(fe) || 0) - ct.left, Bt = (Number(je) || 0) - ct.top, Nt = Number(ae.offsetWidth) || 0, ht = Number(ae.offsetHeight) || 0; - let Jt = Lt + Ne, It = Bt + $e; + const st = K.getBoundingClientRect(), Vt = (Number(he) || 0) - st.left, Bt = (Number(ve) || 0) - st.top, Rt = Number(ae.offsetWidth) || 0, Ct = Number(ae.offsetHeight) || 0; + let zt = Vt + Fe, gt = Bt + _e; const mn = 10; - Jt = Math.max(mn, Math.min(Jt, tt.width - Nt - mn)), It = Math.max(mn, Math.min(It, tt.height - ht - mn)), ae.style.left = `${Math.round(Jt)}px`, ae.style.top = `${Math.round(It)}px`; + zt = Math.max(mn, Math.min(zt, tt.width - Rt - mn)), gt = Math.max(mn, Math.min(gt, tt.height - Ct - mn)), ae.style.left = `${Math.round(zt)}px`, ae.style.top = `${Math.round(gt)}px`; } catch (tt) { (et = console.debug) == null || et.call(console, tt); } - }, Wt = uA({ + }, Pt = IA({ state: i, loupeCanvas: E, - loupeWrap: Q, + loupeWrap: $, getMediaNaturalSize: p, - positionOverlayBox: un - }), tn = dA({ + positionOverlayBox: tn + }), vt = gA({ overlay: e, - content: q, + content: K, state: i, - VIEWER_MODES: xt, + VIEWER_MODES: jt, getPrimaryMedia: I, getMediaNaturalSize: p, - getViewportRect: M, - positionOverlayBox: un, - probeTooltip: D, - loupeWrap: Q, - onLoupeRedraw: Wt.redraw, + getViewportRect: S, + positionOverlayBox: tn, + probeTooltip: H, + loupeWrap: $, + onLoupeRedraw: Pt.redraw, lifecycle: t }); try { - if (!q._mjrOverlayResizeBound && "ResizeObserver" in window) { + if (!K._mjrOverlayResizeBound && "ResizeObserver" in window) { try { - (Vn = (qt = e._mjrResizeObserver) == null ? void 0 : qt.disconnect) == null || Vn.call(qt); - } catch (fe) { - (wn = console.debug) == null || wn.call(console, fe); + (Yn = (Qt = e._mjrResizeObserver) == null ? void 0 : Qt.disconnect) == null || Yn.call(Qt); + } catch (he) { + (wn = console.debug) == null || wn.call(console, he); } const ae = new ResizeObserver(() => { - var fe; + var he; try { i._viewportCache = null; - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } - Re(); + Oe(); }); try { - ae.observe(q); - } catch (fe) { - (xn = console.debug) == null || xn.call(console, fe); + ae.observe(K); + } catch (he) { + (xn = console.debug) == null || xn.call(console, he); } e._mjrResizeObserver = ae, n.push(() => { - var fe; + var he; try { ae.disconnect(); - } catch (je) { - (fe = console.debug) == null || fe.call(console, je); + } catch (ve) { + (he = console.debug) == null || he.call(console, ve); } - }), q._mjrOverlayResizeBound = !0; + }), K._mjrOverlayResizeBound = !0; } } catch (ae) { - (_t = console.debug) == null || _t.call(console, ae); + (en = console.debug) == null || en.call(console, ae); } - const re = lA({ + const re = sA({ overlay: e, - content: q, - singleView: O, + content: K, + singleView: z, state: i, - VIEWER_MODES: xt, - computeOneToOneZoom: Z, + VIEWER_MODES: jt, + computeOneToOneZoom: A, setZoom: d, - scheduleOverlayRedraw: Re, - scheduleApplyGrade: Oe, - syncToolsUIFromState: ot, - applyDistractionFreeUI: bt, - navigateViewerAssets: dt, - closeViewer: qe, - renderBadges: Be, - updateAssetRating: Do, - safeDispatchCustomEvent: ii, - ASSET_RATING_CHANGED_EVENT: Ri, - probeTooltip: D, - loupeWrap: Q, + scheduleOverlayRedraw: Oe, + scheduleApplyGrade: pe, + syncToolsUIFromState: De, + applyDistractionFreeUI: It, + navigateViewerAssets: ot, + closeViewer: He, + renderBadges: Ke, + updateAssetRating: Ho, + safeDispatchCustomEvent: oi, + ASSET_RATING_CHANGED_EVENT: Fi, + probeTooltip: H, + loupeWrap: $, renderGenInfoPanel: Ot, getVideoControls: () => { try { @@ -21853,184 +21868,184 @@ function aW() { }, lifecycle: t }); - let ie = []; - const me = () => { - var ae, fe, je; + let ne = []; + const Ie = () => { + var ae, he, ve; try { - for (const Ne of ie) pt(Ne); - } catch (Ne) { - (ae = console.debug) == null || ae.call(console, Ne); + for (const Fe of ne) bt(Fe); + } catch (Fe) { + (ae = console.debug) == null || ae.call(console, Fe); } - ie = []; + ne = []; try { - (fe = re == null ? void 0 : re.unbind) == null || fe.call(re); - } catch (Ne) { - (je = console.debug) == null || je.call(console, Ne); + (he = re == null ? void 0 : re.unbind) == null || he.call(re); + } catch (Fe) { + (ve = console.debug) == null || ve.call(console, Fe); } - }, Xe = () => { - var ae, fe, je, Ne, $e, et; - me(); + }, Ne = () => { + var ae, he, ve, Fe, _e, et; + Ie(); try { - ie.push( - _e(e, "click", (tt) => { - var ct; + ne.push( + Qe(e, "click", (tt) => { + var st; try { if (tt.target !== e) return; - } catch (Lt) { - (ct = console.debug) == null || ct.call(console, Lt); + } catch (Vt) { + (st = console.debug) == null || st.call(console, Vt); } - qe(); + He(); }) ); } catch (tt) { (ae = console.debug) == null || ae.call(console, tt); } try { - ie.push( - _e(q, "wheel", en, { passive: !1, capture: !0 }) + ne.push( + Qe(K, "wheel", Zt, { passive: !1, capture: !0 }) ); } catch (tt) { - (fe = console.debug) == null || fe.call(console, tt); + (he = console.debug) == null || he.call(console, tt); } try { let tt = null; - const ct = 60, Lt = 80; - ie.push( - _e(q, "touchstart", (Bt) => { - var Nt, ht; + const st = 60, Vt = 80; + ne.push( + Qe(K, "touchstart", (Bt) => { + var Rt, Ct; try { - if (((Nt = Bt.touches) == null ? void 0 : Nt.length) !== 1) return; - const Jt = Bt.touches[0]; - tt = { x: Jt.clientX, y: Jt.clientY, t: Date.now() }; - } catch (Jt) { - (ht = console.debug) == null || ht.call(console, Jt); + if (((Rt = Bt.touches) == null ? void 0 : Rt.length) !== 1) return; + const zt = Bt.touches[0]; + tt = { x: zt.clientX, y: zt.clientY, t: Date.now() }; + } catch (zt) { + (Ct = console.debug) == null || Ct.call(console, zt); } }, { passive: !0 }) - ), ie.push( - _e(q, "touchend", (Bt) => { - var Nt, ht; + ), ne.push( + Qe(K, "touchend", (Bt) => { + var Rt, Ct; try { if (!tt) return; - if (((Nt = Bt.changedTouches) == null ? void 0 : Nt.length) !== 1) { + if (((Rt = Bt.changedTouches) == null ? void 0 : Rt.length) !== 1) { tt = null; return; } - const Jt = Bt.changedTouches[0], It = Jt.clientX - tt.x, mn = Jt.clientY - tt.y, Mt = Date.now() - tt.t; - if (tt = null, Mt > 600 || Math.abs(mn) > Lt) return; - if (Math.abs(It) >= ct) { - const nn = It < 0 ? 1 : -1; - dt(nn); + const zt = Bt.changedTouches[0], gt = zt.clientX - tt.x, mn = zt.clientY - tt.y, wt = Date.now() - tt.t; + if (tt = null, wt > 600 || Math.abs(mn) > Vt) return; + if (Math.abs(gt) >= st) { + const on = gt < 0 ? 1 : -1; + ot(on); } - } catch (Jt) { - (ht = console.debug) == null || ht.call(console, Jt); + } catch (zt) { + (Ct = console.debug) == null || Ct.call(console, zt); } }, { passive: !0 }) - ), ie.push( - _e(q, "touchcancel", () => { + ), ne.push( + Qe(K, "touchcancel", () => { tt = null; }, { passive: !0 }) ); } catch (tt) { - (je = console.debug) == null || je.call(console, tt); + (ve = console.debug) == null || ve.call(console, tt); } try { - ie.push( - _e( - q, + ne.push( + Qe( + K, "mousemove", (tt) => { - var ct; + var st; try { i._lastPointerX = tt.clientX, i._lastPointerY = tt.clientY; - } catch (Lt) { - (ct = console.debug) == null || ct.call(console, Lt); + } catch (Vt) { + (st = console.debug) == null || st.call(console, Vt); } }, { passive: !0, capture: !0 } ) ); } catch (tt) { - (Ne = console.debug) == null || Ne.call(console, tt); + (Fe = console.debug) == null || Fe.call(console, tt); } try { - ($e = re == null ? void 0 : re.bind) == null || $e.call(re); + (_e = re == null ? void 0 : re.bind) == null || _e.call(re); } catch (tt) { (et = console.debug) == null || et.call(console, tt); } }; try { if (!e._mjrBadgeSyncBound) { - const ae = (je) => { - var Ne, $e, et, tt, ct; + const ae = (ve) => { + var Fe, _e, et, tt, st; try { - const Lt = (Ne = je == null ? void 0 : je.detail) == null ? void 0 : Ne.assetId, Bt = ($e = je == null ? void 0 : je.detail) == null ? void 0 : $e.rating; - if (Lt == null) return; - for (const Nt of i.assets || []) - (Nt == null ? void 0 : Nt.id) != null && String(Nt.id) === String(Lt) && (Nt.rating = Bt); + const Vt = (Fe = ve == null ? void 0 : ve.detail) == null ? void 0 : Fe.assetId, Bt = (_e = ve == null ? void 0 : ve.detail) == null ? void 0 : _e.rating; + if (Vt == null) return; + for (const Rt of i.assets || []) + (Rt == null ? void 0 : Rt.id) != null && String(Rt.id) === String(Vt) && (Rt.rating = Bt); try { - (et = Ze == null ? void 0 : Ze.deleteCached) == null || et.call(Ze, Lt); - } catch (Nt) { - (tt = console.debug) == null || tt.call(console, Nt); + (et = ge == null ? void 0 : ge.deleteCached) == null || et.call(ge, Vt); + } catch (Rt) { + (tt = console.debug) == null || tt.call(console, Rt); } - Be(); - } catch (Lt) { - (ct = console.debug) == null || ct.call(console, Lt); + Ke(); + } catch (Vt) { + (st = console.debug) == null || st.call(console, Vt); } - }, fe = (je) => { - var Ne, $e, et, tt, ct; + }, he = (ve) => { + var Fe, _e, et, tt, st; try { - const Lt = (Ne = je == null ? void 0 : je.detail) == null ? void 0 : Ne.assetId, Bt = ($e = je == null ? void 0 : je.detail) == null ? void 0 : $e.tags; - if (Lt == null) return; - for (const Nt of i.assets || []) - (Nt == null ? void 0 : Nt.id) != null && String(Nt.id) === String(Lt) && (Nt.tags = Bt); + const Vt = (Fe = ve == null ? void 0 : ve.detail) == null ? void 0 : Fe.assetId, Bt = (_e = ve == null ? void 0 : ve.detail) == null ? void 0 : _e.tags; + if (Vt == null) return; + for (const Rt of i.assets || []) + (Rt == null ? void 0 : Rt.id) != null && String(Rt.id) === String(Vt) && (Rt.tags = Bt); try { - (et = Ze == null ? void 0 : Ze.deleteCached) == null || et.call(Ze, Lt); - } catch (Nt) { - (tt = console.debug) == null || tt.call(console, Nt); + (et = ge == null ? void 0 : ge.deleteCached) == null || et.call(ge, Vt); + } catch (Rt) { + (tt = console.debug) == null || tt.call(console, Rt); } - Be(); - } catch (Lt) { - (ct = console.debug) == null || ct.call(console, Lt); + Ke(); + } catch (Vt) { + (st = console.debug) == null || st.call(console, Vt); } }; n.push( - _e(window, Ri, ae, { + Qe(window, Fi, ae, { passive: !0 }) ), n.push( - _e(window, Uo, fe, { passive: !0 }) + Qe(window, Do, he, { passive: !0 }) ), e._mjrBadgeSyncBound = !0; } } catch (ae) { - (Yn = console.debug) == null || Yn.call(console, ae); + (Vn = console.debug) == null || Vn.call(console, ae); } - function qe() { - var fe, je, Ne, $e, et, tt, ct, Lt, Bt, Nt, ht, Jt, It, mn, Mt, nn, rn, hn, ln, gn, $t, An, vn, dn, Mn, yn, Ut, Tt, io, oo, ro, yi, Le, it, Vt, on, cn, Bn, Li, Yi, fi, Vi, vr, Lr, Yr, Vr; + function He() { + var he, ve, Fe, _e, et, tt, st, Vt, Bt, Rt, Ct, zt, gt, mn, wt, on, rn, hn, ln, gn, nn, An, vn, un, Mn, yn, Ut, Jt, ro, lo, ao, hi, Ve, it, xt, an, sn, Bn, Yi, ki, Ji, ci, Ci, Yr, kr, Xr; try { - i.distractionFree = !1, bt(); + i.distractionFree = !1, It(); } catch (Ht) { - (fe = console.debug) == null || fe.call(console, Ht); + (he = console.debug) == null || he.call(console, Ht); } try { - (je = Ze == null ? void 0 : Ze.abort) == null || je.call(Ze); + (ve = ge == null ? void 0 : ge.abort) == null || ve.call(ge); } catch (Ht) { - (Ne = console.debug) == null || Ne.call(console, Ht); + (Fe = console.debug) == null || Fe.call(console, Ht); } try { - at(); + lt(); } catch (Ht) { - ($e = console.debug) == null || $e.call(console, Ht); + (_e = console.debug) == null || _e.call(console, Ht); } try { (tt = (et = i._scopesVideoAbort) == null ? void 0 : et.abort) == null || tt.call(et); } catch (Ht) { - (ct = console.debug) == null || ct.call(console, Ht); + (st = console.debug) == null || st.call(console, Ht); } i._scopesVideoAbort = null; try { i._panHintTimer && clearTimeout(i._panHintTimer); } catch (Ht) { - (Lt = console.debug) == null || Lt.call(console, Ht); + (Vt = console.debug) == null || Vt.call(console, Ht); } i._panHintTimer = null; try { @@ -22039,19 +22054,19 @@ function aW() { (Bt = console.debug) == null || Bt.call(console, Ht); } try { - (ht = (Nt = B == null ? void 0 : B._mjrSyncAbort) == null ? void 0 : Nt.abort) == null || ht.call(Nt); + (Ct = (Rt = B == null ? void 0 : B._mjrSyncAbort) == null ? void 0 : Rt.abort) == null || Ct.call(Rt); } catch (Ht) { - (Jt = console.debug) == null || Jt.call(console, Ht); + (zt = console.debug) == null || zt.call(console, Ht); } try { - (mn = (It = B == null ? void 0 : B._mjrDiffAbort) == null ? void 0 : It.abort) == null || mn.call(It); + (mn = (gt = B == null ? void 0 : B._mjrDiffAbort) == null ? void 0 : gt.abort) == null || mn.call(gt); } catch (Ht) { - (Mt = console.debug) == null || Mt.call(console, Ht); + (wt = console.debug) == null || wt.call(console, Ht); } try { B._mjrSyncAbort = null; } catch (Ht) { - (nn = console.debug) == null || nn.call(console, Ht); + (on = console.debug) == null || on.call(console, Ht); } try { B._mjrDiffAbort = null; @@ -22066,12 +22081,12 @@ function aW() { try { J._mjrSyncAbort = null; } catch (Ht) { - ($t = console.debug) == null || $t.call(console, Ht); + (nn = console.debug) == null || nn.call(console, Ht); } try { (vn = (An = B == null ? void 0 : B._mjrSliderAbort) == null ? void 0 : An.abort) == null || vn.call(An); } catch (Ht) { - (dn = console.debug) == null || dn.call(console, Ht); + (un = console.debug) == null || un.call(console, Ht); } try { B._mjrSliderAbort = null; @@ -22088,77 +22103,77 @@ function aW() { (Ut = console.debug) == null || Ut.call(console, qn); } try { - (Tt = $n.pause) == null || Tt.call($n); + (Jt = $n.pause) == null || Jt.call($n); } catch (qn) { - (io = console.debug) == null || io.call(console, qn); + (ro = console.debug) == null || ro.call(console, qn); } try { $n.currentTime = 0; } catch (qn) { - (oo = console.debug) == null || oo.call(console, qn); + (lo = console.debug) == null || lo.call(console, qn); } try { - const qn = (ro = $n.querySelectorAll) == null ? void 0 : ro.call($n, "source"); + const qn = (ao = $n.querySelectorAll) == null ? void 0 : ao.call($n, "source"); if (qn && qn.length) - for (const Ml of qn) + for (const Sl of qn) try { - Ml.remove(); - } catch (Sl) { - (yi = console.debug) == null || yi.call(console, Sl); + Sl.remove(); + } catch (Gl) { + (hi = console.debug) == null || hi.call(console, Gl); } } catch (qn) { - (Le = console.debug) == null || Le.call(console, qn); + (Ve = console.debug) == null || Ve.call(console, qn); } try { (it = $n.removeAttribute) == null || it.call($n, "src"); } catch (qn) { - (Vt = console.debug) == null || Vt.call(console, qn); + (xt = console.debug) == null || xt.call(console, qn); } try { - (on = $n.load) == null || on.call($n); + (an = $n.load) == null || an.call($n); } catch (qn) { - (cn = console.debug) == null || cn.call(console, qn); + (sn = console.debug) == null || sn.call(console, qn); } } } catch (Ht) { (Bn = console.debug) == null || Bn.call(console, Ht); } try { - ci(O), O.replaceChildren(); - } catch (Ht) { - (Li = console.debug) == null || Li.call(console, Ht); - } - try { - ci(B), B.replaceChildren(); + di(z), z.replaceChildren(); } catch (Ht) { (Yi = console.debug) == null || Yi.call(console, Ht); } try { - ci(J), J.replaceChildren(); + di(B), B.replaceChildren(); } catch (Ht) { - (fi = console.debug) == null || fi.call(console, Ht); + (ki = console.debug) == null || ki.call(console, Ht); + } + try { + di(J), J.replaceChildren(); + } catch (Ht) { + (Ji = console.debug) == null || Ji.call(console, Ht); } try { i.genInfoOpen = !1; } catch (Ht) { - (Vi = console.debug) == null || Vi.call(console, Ht); + (ci = console.debug) == null || ci.call(console, Ht); } try { - ue(); + me(); } catch (Ht) { - (vr = console.debug) == null || vr.call(console, Ht); + (Ci = console.debug) == null || Ci.call(console, Ht); } try { - K.style.display = "none", Gt(Y); - } catch (Ht) { - (Lr = console.debug) == null || Lr.call(console, Ht); - } - try { - U.style.display = "none", Gt(ee); + oe.style.display = "none", Mt(j); } catch (Ht) { (Yr = console.debug) == null || Yr.call(console, Ht); } - e.style.display = "none", e.style.pointerEvents = "none", me(); + try { + O.style.display = "none", Mt(q); + } catch (Ht) { + (kr = console.debug) == null || kr.call(console, Ht); + } + e.style.display = "none", e.style.pointerEvents = "none", Ie(); try { document.body.style.overflow = i._prevBodyOverflow ?? ""; } catch { @@ -22167,34 +22182,34 @@ function aW() { try { i._prevFocusedElement && typeof i._prevFocusedElement.focus == "function" && i._prevFocusedElement.focus(), i._prevFocusedElement = null; } catch (Ht) { - (Vr = console.debug) == null || Vr.call(console, Ht); + (Xr = console.debug) == null || Xr.call(console, Ht); } const ae = i == null ? void 0 : i._prevHotkeyScope; - Zr(ae || "panel"), i._prevHotkeyScope = null; + wr(ae || "panel"), i._prevHotkeyScope = null; } - const ut = { - open(ae, fe = 0, je = null) { - var Ne, $e, et, tt, ct, Lt; - Xe(), i.assets = Array.isArray(ae) ? ae : [ae], i.currentIndex = Math.max(0, Math.min(fe, i.assets.length - 1)), i.distractionFree = !1; + const rt = { + open(ae, he = 0, ve = null) { + var Fe, _e, et, tt, st, Vt; + Ne(), i.assets = Array.isArray(ae) ? ae : [ae], i.currentIndex = Math.max(0, Math.min(he, i.assets.length - 1)), i.distractionFree = !1; try { le.rebuild(); } catch (Bt) { - (Ne = console.debug) == null || Ne.call(console, Bt); + (Fe = console.debug) == null || Fe.call(console, Bt); } i.zoom = 1, i.panX = 0, i.panY = 0, i.targetZoom = 1, i._userInteracted = !1, i._panHintAt = 0; try { i._panHintTimer && clearTimeout(i._panHintTimer); } catch (Bt) { - ($e = console.debug) == null || $e.call(console, Bt); + (_e = console.debug) == null || _e.call(console, Bt); } - i._panHintTimer = null, i._lastPointerX = null, i._lastPointerY = null, i._mediaW = 0, i._mediaH = 0, i.compareAsset = je, i.gridMode = 0, ue(), i._probe = null; + i._panHintTimer = null, i._lastPointerX = null, i._lastPointerY = null, i._mediaW = 0, i._mediaH = 0, i.compareAsset = ve, i.gridMode = 0, me(), i._probe = null; try { - D.style.display = "none"; + H.style.display = "none"; } catch (Bt) { (et = console.debug) == null || et.call(console, Bt); } try { - Q.style.display = "none"; + $.style.display = "none"; } catch (Bt) { (tt = console.debug) == null || tt.call(console, Bt); } @@ -22210,139 +22225,139 @@ function aW() { } catch { i._prevBodyOverflow = ""; } - document.body.style.overflow = "hidden", i._prevHotkeyScope = Wo().scope || null, Zr("viewer"), st(); + document.body.style.overflow = "hidden", i._prevHotkeyScope = Mo().scope || null, wr("viewer"), dt(); try { - ot(); + De(); } catch (Bt) { - (ct = console.debug) == null || ct.call(console, Bt); + (st = console.debug) == null || st.call(console, Bt); } try { - Oe(); + pe(); } catch (Bt) { - (Lt = console.debug) == null || Lt.call(console, Bt); + (Vt = console.debug) == null || Vt.call(console, Bt); } - Re(); + Oe(); }, close() { - qe(); + He(); }, setMode(ae) { - Object.values(xt).includes(ae) && (i.mode = ae, st()); + Object.values(jt).includes(ae) && (i.mode = ae, dt()); }, setCompareAsset(ae) { - i.compareAsset = ae, st(); + i.compareAsset = ae, dt(); }, dispose() { - var ae, fe, je, Ne, $e, et, tt, ct, Lt, Bt, Nt, ht, Jt, It, mn, Mt, nn, rn, hn, ln, gn, $t, An, vn, dn, Mn, yn, Ut; + var ae, he, ve, Fe, _e, et, tt, st, Vt, Bt, Rt, Ct, zt, gt, mn, wt, on, rn, hn, ln, gn, nn, An, vn, un, Mn, yn, Ut; try { - qe(); - } catch (Tt) { - (ae = console.debug) == null || ae.call(console, Tt); + He(); + } catch (Jt) { + (ae = console.debug) == null || ae.call(console, Jt); } try { - ze.clear(); - } catch (Tt) { - (fe = console.debug) == null || fe.call(console, Tt); + ke.clear(); + } catch (Jt) { + (he = console.debug) == null || he.call(console, Jt); } try { - ci(O); - } catch (Tt) { - (je = console.debug) == null || je.call(console, Tt); + di(z); + } catch (Jt) { + (ve = console.debug) == null || ve.call(console, Jt); } try { - ci(B); - } catch (Tt) { - (Ne = console.debug) == null || Ne.call(console, Tt); + di(B); + } catch (Jt) { + (Fe = console.debug) == null || Fe.call(console, Jt); } try { - ci(J); - } catch (Tt) { - ($e = console.debug) == null || $e.call(console, Tt); + di(J); + } catch (Jt) { + (_e = console.debug) == null || _e.call(console, Jt); } try { - Ee != null && cancelAnimationFrame(Ee); - } catch (Tt) { - (et = console.debug) == null || et.call(console, Tt); + Te != null && cancelAnimationFrame(Te); + } catch (Jt) { + (et = console.debug) == null || et.call(console, Jt); } try { - be != null && cancelAnimationFrame(be); - } catch (Tt) { - (tt = console.debug) == null || tt.call(console, Tt); + We != null && cancelAnimationFrame(We); + } catch (Jt) { + (tt = console.debug) == null || tt.call(console, Jt); } try { - (ct = tn == null ? void 0 : tn.dispose) == null || ct.call(tn); - } catch (Tt) { - (Lt = console.debug) == null || Lt.call(console, Tt); + (st = vt == null ? void 0 : vt.dispose) == null || st.call(vt); + } catch (Jt) { + (Vt = console.debug) == null || Vt.call(console, Jt); } try { (Bt = re == null ? void 0 : re.dispose) == null || Bt.call(re); - } catch (Tt) { - (Nt = console.debug) == null || Nt.call(console, Tt); + } catch (Jt) { + (Rt = console.debug) == null || Rt.call(console, Jt); } try { - (Jt = (ht = e._mjrResizeObserver) == null ? void 0 : ht.disconnect) == null || Jt.call(ht); - } catch (Tt) { - (It = console.debug) == null || It.call(console, Tt); + (zt = (Ct = e._mjrResizeObserver) == null ? void 0 : Ct.disconnect) == null || zt.call(Ct); + } catch (Jt) { + (gt = console.debug) == null || gt.call(console, Jt); } try { e._mjrResizeObserver = null; - } catch (Tt) { - (mn = console.debug) == null || mn.call(console, Tt); + } catch (Jt) { + (mn = console.debug) == null || mn.call(console, Jt); } try { - (Mt = Ze == null ? void 0 : Ze.dispose) == null || Mt.call(Ze); - } catch (Tt) { - (nn = console.debug) == null || nn.call(console, Tt); + (wt = ge == null ? void 0 : ge.dispose) == null || wt.call(ge); + } catch (Jt) { + (on = console.debug) == null || on.call(console, Jt); } try { - RZ(e); - } catch (Tt) { - (rn = console.debug) == null || rn.call(console, Tt); + zZ(e); + } catch (Jt) { + (rn = console.debug) == null || rn.call(console, Jt); } try { - for (const Tt of e._mjrViewerUnsubs || []) pt(Tt); - } catch (Tt) { - (hn = console.debug) == null || hn.call(console, Tt); + for (const Jt of e._mjrViewerUnsubs || []) bt(Jt); + } catch (Jt) { + (hn = console.debug) == null || hn.call(console, Jt); } try { e._mjrViewerUnsubs = []; - } catch (Tt) { - (ln = console.debug) == null || ln.call(console, Tt); + } catch (Jt) { + (ln = console.debug) == null || ln.call(console, Jt); } try { - ($t = (gn = i._preloadRefs) == null ? void 0 : gn.clear) == null || $t.call(gn); - } catch (Tt) { - (An = console.debug) == null || An.call(console, Tt); + (nn = (gn = i._preloadRefs) == null ? void 0 : gn.clear) == null || nn.call(gn); + } catch (Jt) { + (An = console.debug) == null || An.call(console, Jt); } try { - (dn = (vn = i._preloadedAssetKeys) == null ? void 0 : vn.clear) == null || dn.call(vn); - } catch (Tt) { - (Mn = console.debug) == null || Mn.call(console, Tt); + (un = (vn = i._preloadedAssetKeys) == null ? void 0 : vn.clear) == null || un.call(vn); + } catch (Jt) { + (Mn = console.debug) == null || Mn.call(console, Jt); } try { (yn = e.remove) == null || yn.call(e); - } catch (Tt) { - (Ut = console.debug) == null || Ut.call(console, Tt); + } catch (Jt) { + (Ut = console.debug) == null || Ut.call(console, Jt); } } }; try { - v = () => ut.close(); + L = () => rt.close(); } catch (ae) { (pn = console.debug) == null || pn.call(console, ae); } - e._mjrViewerAPI = ut; + e._mjrViewerAPI = rt; try { - NZ({ + OZ({ overlayEl: e, getCurrentAsset: () => i.assets[i.currentIndex], - getCurrentViewUrl: (ae) => Bi(ae), + getCurrentViewUrl: (ae) => Ki(ae), onAssetChanged: () => { var ae; try { - Be(); - } catch (fe) { - (ae = console.debug) == null || ae.call(console, fe); + Ke(); + } catch (he) { + (ae = console.debug) == null || ae.call(console, he); } } }); @@ -22351,25 +22366,25 @@ function aW() { } return e; } -function ss() { - return DA(aW); +function us() { + return qA(dW); } -function cW(e) { +function uW(e) { const t = String(e || "").trim().toLowerCase(); return t === "ab" || t === "sidebyside" ? t : ""; } -function sW(e, t) { +function mW(e, t) { const n = Array.isArray(e) ? e.filter(Boolean) : []; return n.length ? n : t ? [t] : []; } -function ec({ assets: e = [], asset: t = null, index: n = 0, mode: i = "" } = {}) { +function tc({ assets: e = [], asset: t = null, index: n = 0, mode: i = "" } = {}) { var a, c, s; - const o = sW(e, t); + const o = mW(e, t); if (!o.length) return !1; - const r = Math.max(0, Math.min(Number(n) || 0, o.length - 1)), l = cW(i); + const r = Math.max(0, Math.min(Number(n) || 0, o.length - 1)), l = uW(i); try { return window.dispatchEvent( - new CustomEvent(ft.OPEN_VIEWER, { + new CustomEvent(ht.OPEN_VIEWER, { detail: { assets: o, index: r, @@ -22381,14 +22396,14 @@ function ec({ assets: e = [], asset: t = null, index: n = 0, mode: i = "" } = {} (a = console.debug) == null || a.call(console, d); } try { - const d = ss(); + const d = us(); return d.open(o, r), l && ((c = d.setMode) == null || c.call(d, l)), !0; } catch (d) { (s = console.debug) == null || s.call(console, d); } return !1; } -function dW(e, t) { +function gW(e, t) { var n; if (!e || !(t != null && t.size)) return !1; for (const i of t.values()) { @@ -22404,115 +22419,115 @@ function dW(e, t) { } return !1; } -function ib(e) { +function ob(e) { const t = /* @__PURE__ */ new Map(); let n = null, i = 0, o = [], r = !1, l = !1, a = !1, c = new AbortController(), s = new AbortController(), d = !1; - const u = 8, I = 8, p = 200, M = 360, Z = 280, A = 80, g = 140, h = (N, q = "y") => { + const u = 8, I = 8, p = 200, S = 360, A = 280, C = 80, g = 140, Z = (k, K = "y") => { var J; - if (!N) return !1; - const O = (J = globalThis.getComputedStyle) == null ? void 0 : J.call(globalThis, N), B = String(q === "x" ? (O == null ? void 0 : O.overflowX) || (O == null ? void 0 : O.overflow) || "" : (O == null ? void 0 : O.overflowY) || (O == null ? void 0 : O.overflow) || ""); - return /(auto|scroll|overlay)/i.test(B) ? q === "x" ? Number(N.scrollWidth || 0) > Number(N.clientWidth || 0) + 1 : Number(N.scrollHeight || 0) > Number(N.clientHeight || 0) + 1 : !1; - }, f = (N, q) => { - let O = N instanceof HTMLElement ? N : q; - for (; O && O !== q; ) { - if (h(O, "y") || h(O, "x")) return O; - O = O.parentElement; + if (!k) return !1; + const z = (J = globalThis.getComputedStyle) == null ? void 0 : J.call(globalThis, k), B = String(K === "x" ? (z == null ? void 0 : z.overflowX) || (z == null ? void 0 : z.overflow) || "" : (z == null ? void 0 : z.overflowY) || (z == null ? void 0 : z.overflow) || ""); + return /(auto|scroll|overlay)/i.test(B) ? K === "x" ? Number(k.scrollWidth || 0) > Number(k.clientWidth || 0) + 1 : Number(k.scrollHeight || 0) > Number(k.clientHeight || 0) + 1 : !1; + }, f = (k, K) => { + let z = k instanceof HTMLElement ? k : K; + for (; z && z !== K; ) { + if (Z(z, "y") || Z(z, "x")) return z; + z = z.parentElement; } - return h(q, "y") || h(q, "x") ? q : null; - }, b = (N) => { + return Z(K, "y") || Z(K, "x") ? K : null; + }, b = (k) => { var B; - if (!N || N._mjrInteractionGuardsBound) return; - const q = (J) => { - var T; + if (!k || k._mjrInteractionGuardsBound) return; + const K = (J) => { + var P; try { J.stopPropagation(); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } - }, O = (J) => { - var E, K; - const T = f(J == null ? void 0 : J.target, N), D = Number((J == null ? void 0 : J.deltaX) || 0), Q = Number((J == null ? void 0 : J.deltaY) || 0); - if (T) + }, z = (J) => { + var E, oe; + const P = f(J == null ? void 0 : J.target, k), H = Number((J == null ? void 0 : J.deltaX) || 0), $ = Number((J == null ? void 0 : J.deltaY) || 0); + if (P) try { - Q && (T.scrollTop = Number(T.scrollTop || 0) + Q), D && (T.scrollLeft = Number(T.scrollLeft || 0) + D); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + $ && (P.scrollTop = Number(P.scrollTop || 0) + $), H && (P.scrollLeft = Number(P.scrollLeft || 0) + H); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } try { J.preventDefault(); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } - q(J); + K(J); }; try { - N.addEventListener("wheel", O, { passive: !1, capture: !0 }), N.addEventListener("mousedown", q), N.addEventListener("touchmove", q, { passive: !0 }), N._mjrInteractionGuardsBound = !0; + k.addEventListener("wheel", z, { passive: !1, capture: !0 }), k.addEventListener("mousedown", K), k.addEventListener("touchmove", K, { passive: !0 }), k._mjrInteractionGuardsBound = !0; } catch (J) { (B = console.debug) == null || B.call(console, J); } - }, v = (N) => { - var q; - if (!(!N || !(N instanceof HTMLElement))) { - b(N), N._mjrPortal || (N._mjrPortal = { - parent: N.parentNode, - nextSibling: N.nextSibling - }), N.classList.add("mjr-popover-portal"); + }, L = (k) => { + var K; + if (!(!k || !(k instanceof HTMLElement))) { + b(k), k._mjrPortal || (k._mjrPortal = { + parent: k.parentNode, + nextSibling: k.nextSibling + }), k.classList.add("mjr-popover-portal"); try { - N.parentNode !== document.body && document.body.appendChild(N); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + k.parentNode !== document.body && document.body.appendChild(k); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } } - }, C = (N) => { - var O; - const q = N == null ? void 0 : N._mjrPortal; - if (q) { - N.classList.remove("mjr-popover-portal"); + }, h = (k) => { + var z; + const K = k == null ? void 0 : k._mjrPortal; + if (K) { + k.classList.remove("mjr-popover-portal"); try { - const B = q.parent; - B && B instanceof HTMLElement && (q.nextSibling && q.nextSibling.parentNode === B ? B.insertBefore(N, q.nextSibling) : B.appendChild(N)); + const B = K.parent; + B && B instanceof HTMLElement && (K.nextSibling && K.nextSibling.parentNode === B ? B.insertBefore(k, K.nextSibling) : B.appendChild(k)); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } } - }, S = (N, q) => { - var O; - if (!(!N || !q)) + }, G = (k, K) => { + var z; + if (!(!k || !K)) try { - const B = q.getBoundingClientRect(), J = e.getBoundingClientRect(); - v(N), N.style.position = "fixed", N.style.margin = "0"; - const T = Math.max( + const B = K.getBoundingClientRect(), J = e.getBoundingClientRect(); + L(k), k.style.position = "fixed", k.style.margin = "0"; + const P = Math.max( p, Math.min( - M, + S, J.width - I * 2, window.innerWidth - I * 2 ) ); - N.style.maxWidth = `${T}px`; - const D = N.offsetWidth || Math.min(Z, T), Q = N.offsetHeight || 1; + k.style.maxWidth = `${P}px`; + const H = k.offsetWidth || Math.min(A, P), $ = k.offsetHeight || 1; let E = B.left; E = Math.max( J.left + I, - Math.min(E, J.right - D - I) + Math.min(E, J.right - H - I) ); - let K = B.bottom + u; - const F = Math.min(J.bottom, window.innerHeight) - I, Y = Math.max(J.top, 0) + I; - K + Q > F && B.top - u - Q >= Y && (K = B.top - u - Q), K = Math.max(Y, Math.min(K, F - A)); - const U = F - K; - N.style.maxHeight = `${Math.max(g, U)}px`, N.style.overflowX = "hidden", N.style.overflowY = "auto", N.style.overscrollBehavior = "contain", N.style.left = `${Math.round(E)}px`, N.style.top = `${Math.round(K)}px`; + let oe = B.bottom + u; + const M = Math.min(J.bottom, window.innerHeight) - I, j = Math.max(J.top, 0) + I; + oe + $ > M && B.top - u - $ >= j && (oe = B.top - u - $), oe = Math.max(j, Math.min(oe, M - C)); + const O = M - oe; + k.style.maxHeight = `${Math.max(g, O)}px`, k.style.overflowX = "hidden", k.style.overflowY = "auto", k.style.overscrollBehavior = "contain", k.style.left = `${Math.round(E)}px`, k.style.top = `${Math.round(oe)}px`; } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } }, W = () => { t.size && (i && cancelAnimationFrame(i), i = requestAnimationFrame(() => { i = 0; - for (const N of t.values()) S(N.popover, N.anchor); + for (const k of t.values()) G(k.popover, k.anchor); })); - }, y = (N) => { - dW(N == null ? void 0 : N.target, t) || W(); - }, k = () => { - var N, q, O, B; + }, y = (k) => { + gW(k == null ? void 0 : k.target, t) || W(); + }, X = () => { + var k, K, z, B; if (t.size) { try { a || (window.addEventListener("resize", W, { @@ -22520,7 +22535,7 @@ function ib(e) { signal: c.signal }), a = !0); } catch (J) { - (N = console.debug) == null || N.call(console, J); + (k = console.debug) == null || k.call(console, J); } try { l || (window.addEventListener("scroll", y, { @@ -22529,12 +22544,12 @@ function ib(e) { signal: c.signal }), l = !0); } catch (J) { - (q = console.debug) == null || q.call(console, J); + (K = console.debug) == null || K.call(console, J); } try { n || (n = new ResizeObserver(W), n.observe(e)); } catch (J) { - (O = console.debug) == null || O.call(console, J); + (z = console.debug) == null || z.call(console, J); } try { r || (e.addEventListener("scroll", y, { passive: !0 }), r = !0); @@ -22542,146 +22557,146 @@ function ib(e) { (B = console.debug) == null || B.call(console, J); } } - }, G = () => { - var N, q, O, B, J, T; + }, x = () => { + var k, K, z, B, J, P; if (!t.size) { try { a && window.removeEventListener("resize", W); - } catch (D) { - (N = console.debug) == null || N.call(console, D); + } catch (H) { + (k = console.debug) == null || k.call(console, H); } a = !1; try { l && window.removeEventListener("scroll", y, { capture: !0 }); - } catch (D) { - (q = console.debug) == null || q.call(console, D); + } catch (H) { + (K = console.debug) == null || K.call(console, H); } try { l && window.removeEventListener("scroll", y, !0); - } catch (D) { - (O = console.debug) == null || O.call(console, D); + } catch (H) { + (z = console.debug) == null || z.call(console, H); } l = !1; try { r && e.removeEventListener("scroll", y); - } catch (D) { - (B = console.debug) == null || B.call(console, D); + } catch (H) { + (B = console.debug) == null || B.call(console, H); } r = !1; try { n && n.disconnect(); - } catch (D) { - (J = console.debug) == null || J.call(console, D); + } catch (H) { + (J = console.debug) == null || J.call(console, H); } n = null; try { c.abort(); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } d || (c = new AbortController()); } - }, z = (N) => { - var q, O; - if (N) { + }, T = (k) => { + var K, z; + if (k) { try { - N.style.display = "none"; + k.style.display = "none"; } catch (B) { - (q = console.debug) == null || q.call(console, B); + (K = console.debug) == null || K.call(console, B); } try { - C(N); + h(k); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } - t.delete(N), G(); + t.delete(k), x(); } - }, x = (N, q) => { - !N || !q || (t.set(N, { popover: N, anchor: q }), k(), S(N, q), W()); - }, w = (N, q) => { - if (!N || !q) return; - const B = t.has(N) || N.style.display === "block" ? "none" : "block"; - N.style.display = B, B !== "none" ? x(N, q) : z(N); - }, X = () => { - var N; - for (const q of t.values()) + }, v = (k, K) => { + !k || !K || (t.set(k, { popover: k, anchor: K }), X(), G(k, K), W()); + }, w = (k, K) => { + if (!k || !K) return; + const B = t.has(k) || k.style.display === "block" ? "none" : "block"; + k.style.display = B, B !== "none" ? v(k, K) : T(k); + }, R = () => { + var k; + for (const K of t.values()) try { - C(q.popover); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + h(K.popover); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } - for (const q of Array.from(t.keys())) z(q); - t.clear(), G(); - }, V = (N) => { - o = Array.isArray(N) ? N.filter(Boolean) : []; - }, R = (N) => { - var O, B, J; - const q = N.target; - if (q) { - for (const T of t.values()) { + for (const K of Array.from(t.keys())) T(K); + t.clear(), x(); + }, Y = (k) => { + o = Array.isArray(k) ? k.filter(Boolean) : []; + }, F = (k) => { + var z, B, J; + const K = k.target; + if (K) { + for (const P of t.values()) { try { - if (T != null && T.popover && T.popover.contains(q)) return; - } catch (D) { - (O = console.debug) == null || O.call(console, D); + if (P != null && P.popover && P.popover.contains(K)) return; + } catch (H) { + (z = console.debug) == null || z.call(console, H); } try { - if (T != null && T.anchor && T.anchor.contains(q)) return; - } catch (D) { - (B = console.debug) == null || B.call(console, D); + if (P != null && P.anchor && P.anchor.contains(K)) return; + } catch (H) { + (B = console.debug) == null || B.call(console, H); } } - for (const T of o) + for (const P of o) try { - if (T && typeof T.contains == "function" && T.contains(q)) return; - } catch (D) { - (J = console.debug) == null || J.call(console, D); + if (P && typeof P.contains == "function" && P.contains(K)) return; + } catch (H) { + (J = console.debug) == null || J.call(console, H); } - X(); + R(); } - }, j = () => { - var N, q; + }, N = () => { + var k, K; try { - (N = s == null ? void 0 : s.abort) == null || N.call(s); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + (k = s == null ? void 0 : s.abort) == null || k.call(s); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } - s = new AbortController(), document.addEventListener("mousedown", R, { + s = new AbortController(), document.addEventListener("mousedown", F, { signal: s.signal }); - }, L = () => { - var N, q, O, B, J; + }, V = () => { + var k, K, z, B, J; d = !0; try { - (N = s == null ? void 0 : s.abort) == null || N.call(s); - } catch (T) { - (q = console.debug) == null || q.call(console, T); + (k = s == null ? void 0 : s.abort) == null || k.call(s); + } catch (P) { + (K = console.debug) == null || K.call(console, P); } s = null; try { - G(); - } catch (T) { - (O = console.debug) == null || O.call(console, T); + x(); + } catch (P) { + (z = console.debug) == null || z.call(console, P); } try { c.abort(); - } catch (T) { - (B = console.debug) == null || B.call(console, T); + } catch (P) { + (B = console.debug) == null || B.call(console, P); } c = null; try { - X(); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + R(); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } }; - return j(), { - open: x, - close: z, + return N(), { + open: v, + close: T, toggle: w, - closeAll: X, + closeAll: R, scheduleReposition: W, - setDismissWhitelist: V, - dispose: L + setDismissWhitelist: Y, + dispose: V }; } const Rn = { @@ -22718,26 +22733,26 @@ const Rn = { NAV_LEFT: { key: "ArrowLeft", description: "Navigate left" }, NAV_RIGHT: { key: "ArrowRight", description: "Navigate right" } }; -function uW(e) { +function IW(e) { if (!e) return ""; const t = []; e.ctrl && t.push("Ctrl"), e.shift && t.push("Shift"), e.alt && t.push("Alt"); let n = e.key; return n === " " && (n = "Space"), n === "Delete" && (n = "Del"), n === "ArrowUp" && (n = "↑"), n === "ArrowDown" && (n = "↓"), n === "ArrowLeft" && (n = "←"), n === "ArrowRight" && (n = "β†’"), t.push(n.length === 1 ? n.toUpperCase() : n), t.join("+"); } -function zn(e, t) { +function Jn(e, t) { if (!t || !e) return !1; const n = e.key.toLowerCase() === t.key.toLowerCase() || e.key === t.key, i = !!t.ctrl === (e.ctrlKey || e.metaKey), o = !!t.shift === e.shiftKey, r = !!t.alt === e.altKey; return n && i && o && r; } -const Jo = /* @__PURE__ */ new Map(); -function qo(e, t, n) { +const Bo = /* @__PURE__ */ new Map(); +function Qo(e, t, n) { var l, a; const i = e == null ? void 0 : e.id; if (!i) return; const o = String(i); try { - const c = Jo.get(o); + const c = Bo.get(o); c && clearTimeout(c); } catch (c) { (l = console.debug) == null || l.call(console, c); @@ -22749,24 +22764,24 @@ function qo(e, t, n) { } const r = setTimeout(async () => { try { - Jo.delete(o); - const c = await Do(i, t); + Bo.delete(o); + const c = await Ho(i, t); if (!(c != null && c.ok)) { - Ce((c == null ? void 0 : c.error) || m("toast.ratingUpdateFailed"), "error"); + Ze((c == null ? void 0 : c.error) || m("toast.ratingUpdateFailed"), "error"); return; } - Ce(m("toast.ratingSetN", { n: t }), "success", 1500), ii( - Ri, + Ze(m("toast.ratingSetN", { n: t }), "success", 1500), oi( + Fi, { assetId: String(i), rating: t }, { warnPrefix: "[GridKeyboard]" } ); } catch (c) { - console.error("[GridKeyboard] Rating update failed:", c), Ce(m("toast.ratingUpdateError"), "error"); + console.error("[GridKeyboard] Rating update failed:", c), Ze(m("toast.ratingUpdateError"), "error"); } }, 350); - Jo.set(o, r); + Bo.set(o, r); } -function ob({ +function rb({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n = () => [], @@ -22785,19 +22800,19 @@ function ob({ }, dispose: () => { } }; let c = null, s = null, d = !1; - const u = ({ assets: y = [], index: k = 0, mode: G = "" } = {}) => { - ec({ assets: y, index: k, mode: G }); + const u = ({ assets: y = [], index: X = 0, mode: x = "" } = {}) => { + tc({ assets: y, index: X, mode: x }); }, I = () => { - var y, k; + var y, X; try { - Bs(e); - } catch (G) { - (y = console.debug) == null || y.call(console, G); + Ks(e); + } catch (x) { + (y = console.debug) == null || y.call(console, x); } try { window.__MJR_LAST_SELECTION_GRID__ = e; - } catch (G) { - (k = console.debug) == null || k.call(console, G); + } catch (x) { + (X = console.debug) == null || X.call(console, x); } }, p = () => { try { @@ -22805,252 +22820,252 @@ function ob({ } catch { return []; } - }, M = () => { + }, S = () => { var y; try { if (typeof (e == null ? void 0 : e._mjrGetRenderedCards) == "function") { - const k = e._mjrGetRenderedCards(); - if (Array.isArray(k)) return k; + const X = e._mjrGetRenderedCards(); + if (Array.isArray(X)) return X; } - } catch (k) { - (y = console.debug) == null || y.call(console, k); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } try { return Array.from(e.querySelectorAll(".mjr-asset-card")); } catch { return []; } - }, Z = () => { + }, A = () => { try { const y = i(); return y || p()[0] || null; } catch { return null; } - }, A = () => { - var y, k, G; + }, C = () => { + var y, X, x; try { if (Array.isArray((y = t == null ? void 0 : t()) == null ? void 0 : y.assets) && t().assets.length) return t().assets; - } catch (z) { - (k = console.debug) == null || k.call(console, z); + } catch (T) { + (X = console.debug) == null || X.call(console, T); } try { if (typeof (e == null ? void 0 : e._mjrGetAssets) == "function") { - const z = e._mjrGetAssets(); - if (Array.isArray(z) && z.length) return z; + const T = e._mjrGetAssets(); + if (Array.isArray(T) && T.length) return T; } - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } try { - return M().map((z) => z == null ? void 0 : z._mjrAsset).filter(Boolean); + return S().map((T) => T == null ? void 0 : T._mjrAsset).filter(Boolean); } catch { return []; } }, g = () => { var y; try { - const k = M(); - if (k.length >= 2) { - const G = Math.round(k[0].getBoundingClientRect().top), z = k.filter((x) => { + const X = S(); + if (X.length >= 2) { + const x = Math.round(X[0].getBoundingClientRect().top), T = X.filter((v) => { try { - return Math.abs(Math.round(x.getBoundingClientRect().top) - G) <= 4; + return Math.abs(Math.round(v.getBoundingClientRect().top) - x) <= 4; } catch { return !1; } }); - if (z.length >= 1) return Math.max(1, z.length); + if (T.length >= 1) return Math.max(1, T.length); } - if (k.length >= 1) { - const G = k[0].getBoundingClientRect(), z = e.getBoundingClientRect(), x = Math.max(1, Math.round(G.width)), w = Math.max(1, Math.round(z.width)); - return Math.max(1, Math.floor(w / x)); + if (X.length >= 1) { + const x = X[0].getBoundingClientRect(), T = e.getBoundingClientRect(), v = Math.max(1, Math.round(x.width)), w = Math.max(1, Math.round(T.width)); + return Math.max(1, Math.floor(w / v)); } - } catch (k) { - (y = console.debug) == null || y.call(console, k); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } return 1; - }, h = (y, k) => { - var x; - const G = Array.isArray(y) ? y.map(String).filter(Boolean) : [], z = String(k || G[0] || ""); + }, Z = (y, X) => { + var v; + const x = Array.isArray(y) ? y.map(String).filter(Boolean) : [], T = String(X || x[0] || ""); try { - typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection(G, z) : (e.dataset.mjrSelectedAssetIds = JSON.stringify(G), e.dataset.mjrSelectedAssetId = z); + typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection(x, T) : (e.dataset.mjrSelectedAssetIds = JSON.stringify(x), e.dataset.mjrSelectedAssetId = T); } catch (w) { - (x = console.debug) == null || x.call(console, w); + (v = console.debug) == null || v.call(console, w); } }, f = (y) => { - var G, z, x; - const k = String(y || "").trim(); - if (k) { + var x, T, v; + const X = String(y || "").trim(); + if (X) { try { if (typeof (e == null ? void 0 : e._mjrScrollToAssetId) == "function") { - e._mjrScrollToAssetId(k); + e._mjrScrollToAssetId(X); return; } } catch (w) { - (G = console.debug) == null || G.call(console, w); + (x = console.debug) == null || x.call(console, w); } try { - const w = typeof CSS < "u" && (CSS != null && CSS.escape) ? CSS.escape(k) : k.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"), X = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${w}"]`); - (z = X == null ? void 0 : X.scrollIntoView) == null || z.call(X, { block: "nearest", inline: "nearest" }); + const w = typeof CSS < "u" && (CSS != null && CSS.escape) ? CSS.escape(X) : X.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"), R = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${w}"]`); + (T = R == null ? void 0 : R.scrollIntoView) == null || T.call(R, { block: "nearest", inline: "nearest" }); } catch (w) { - (x = console.debug) == null || x.call(console, w); + (v = console.debug) == null || v.call(console, w); } } }, b = (y) => { - var q, O, B; - const k = String(y.key || ""); - if (!(k === "ArrowLeft" || k === "ArrowRight" || k === "ArrowUp" || k === "ArrowDown") && !(k === "Home" || k === "End") || y.ctrlKey || y.altKey || y.metaKey) return !1; - const x = A(); - if (!Array.isArray(x) || x.length === 0) return !1; - const w = Z(), X = String( - (w == null ? void 0 : w.id) || ((q = e == null ? void 0 : e.dataset) == null ? void 0 : q.mjrSelectedAssetId) || "" + var K, z, B; + const X = String(y.key || ""); + if (!(X === "ArrowLeft" || X === "ArrowRight" || X === "ArrowUp" || X === "ArrowDown") && !(X === "Home" || X === "End") || y.ctrlKey || y.altKey || y.metaKey) return !1; + const v = C(); + if (!Array.isArray(v) || v.length === 0) return !1; + const w = A(), R = String( + (w == null ? void 0 : w.id) || ((K = e == null ? void 0 : e.dataset) == null ? void 0 : K.mjrSelectedAssetId) || "" ); - let V = x.findIndex((J) => String((J == null ? void 0 : J.id) || "") === X); - const R = V >= 0; - V < 0 && (V = 0); - const j = Math.max(1, g()); - let L = V; - if (k === "ArrowLeft" ? L -= 1 : k === "ArrowRight" ? L += 1 : k === "ArrowUp" ? L -= j : k === "ArrowDown" ? L += j : k === "Home" ? L = 0 : k === "End" && (L = x.length - 1), L = Math.max(0, Math.min(x.length - 1, L)), R && L === V && k !== "Home" && k !== "End") + let Y = v.findIndex((J) => String((J == null ? void 0 : J.id) || "") === R); + const F = Y >= 0; + Y < 0 && (Y = 0); + const N = Math.max(1, g()); + let V = Y; + if (X === "ArrowLeft" ? V -= 1 : X === "ArrowRight" ? V += 1 : X === "ArrowUp" ? V -= N : X === "ArrowDown" ? V += N : X === "Home" ? V = 0 : X === "End" && (V = v.length - 1), V = Math.max(0, Math.min(v.length - 1, V)), F && V === Y && X !== "Home" && X !== "End") return !1; - const N = String(((O = x[L]) == null ? void 0 : O.id) || ""); - if (!N) return !1; + const k = String(((z = v[V]) == null ? void 0 : z.id) || ""); + if (!k) return !1; if (I(), y.shiftKey) { let J = String((e == null ? void 0 : e._mjrSelectionAnchorId) || ""); - J || (J = X || N); - const T = x.findIndex((F) => String((F == null ? void 0 : F.id) || "") === J), D = T >= 0 ? T : V, Q = Math.min(D, L), E = Math.max(D, L), K = x.slice(Q, E + 1).map((F) => String((F == null ? void 0 : F.id) || "")).filter(Boolean); - h(K, N); + J || (J = R || k); + const P = v.findIndex((M) => String((M == null ? void 0 : M.id) || "") === J), H = P >= 0 ? P : Y, $ = Math.min(H, V), E = Math.max(H, V), oe = v.slice($, E + 1).map((M) => String((M == null ? void 0 : M.id) || "")).filter(Boolean); + Z(oe, k); } else - e._mjrSelectionAnchorId = N, h([N], N); - f(N); + e._mjrSelectionAnchorId = k, Z([k], k); + f(k); try { l == null || l(); } catch (J) { (B = console.debug) == null || B.call(console, J); } return !0; - }, v = async (y) => { - var V, R, j, L, N, q, O, B, J, T, D, Q, E, K, F; - const k = y.target; - if (k && (k.tagName === "INPUT" || k.tagName === "TEXTAREA" || k.isContentEditable) || Wo().scope === "viewer") return; + }, L = async (y) => { + var Y, F, N, V, k, K, z, B, J, P, H, $, E, oe, M; + const X = y.target; + if (X && (X.tagName === "INPUT" || X.tagName === "TEXTAREA" || X.isContentEditable) || Mo().scope === "viewer") return; if (document.activeElement !== document.body) { - const Y = document.activeElement, U = e.contains(Y), P = Y && Y.contains && Y.contains(e), ee = (V = Y == null ? void 0 : Y.closest) == null ? void 0 : V.call(Y, ".mjr-asset-card"); - if (!U && !P && !ee) + const j = document.activeElement, O = e.contains(j), D = j && j.contains && j.contains(e), q = (Y = j == null ? void 0 : j.closest) == null ? void 0 : Y.call(j, ".mjr-asset-card"); + if (!O && !D && !q) return; } else { - const Y = wo(); - if (Y && Y !== e) + const j = So(); + if (j && j !== e) return; } - const G = () => { + const x = () => { y.preventDefault(), y.stopPropagation(); }; try { if (b(y)) { - G(); + x(); return; } - } catch (Y) { - (R = console.debug) == null || R.call(console, Y); + } catch (j) { + (F = console.debug) == null || F.call(console, j); } - const z = p(), x = Z(), w = t(), X = !!Wo().ratingHotkeysActive; + const T = p(), v = A(), w = t(), R = !!Mo().ratingHotkeysActive; if (!y.ctrlKey && !y.altKey && !y.metaKey && !y.shiftKey) { - if (!X && zn(y, Rn.RATING_1) && x != null && x.id) { - G(), qo(x, 1, a); + if (!R && Jn(y, Rn.RATING_1) && v != null && v.id) { + x(), Qo(v, 1, a); return; } - if (!X && zn(y, Rn.RATING_2) && x != null && x.id) { - G(), qo(x, 2, a); + if (!R && Jn(y, Rn.RATING_2) && v != null && v.id) { + x(), Qo(v, 2, a); return; } - if (!X && zn(y, Rn.RATING_3) && x != null && x.id) { - G(), qo(x, 3, a); + if (!R && Jn(y, Rn.RATING_3) && v != null && v.id) { + x(), Qo(v, 3, a); return; } - if (!X && zn(y, Rn.RATING_4) && x != null && x.id) { - G(), qo(x, 4, a); + if (!R && Jn(y, Rn.RATING_4) && v != null && v.id) { + x(), Qo(v, 4, a); return; } - if (!X && zn(y, Rn.RATING_5) && x != null && x.id) { - G(), qo(x, 5, a); + if (!R && Jn(y, Rn.RATING_5) && v != null && v.id) { + x(), Qo(v, 5, a); return; } - if (!X && zn(y, Rn.RATING_RESET) && x != null && x.id) { - G(), qo(x, 0, a); + if (!R && Jn(y, Rn.RATING_RESET) && v != null && v.id) { + x(), Qo(v, 0, a); return; } } - if ((zn(y, Rn.OPEN_VIEWER) || zn(y, Rn.OPEN_VIEWER_ALT)) && z.length > 0) { - G(); + if ((Jn(y, Rn.OPEN_VIEWER) || Jn(y, Rn.OPEN_VIEWER_ALT)) && T.length > 0) { + x(); try { - if (z.length >= 2 && z.length <= 4) - u({ assets: z, index: 0 }); + if (T.length >= 2 && T.length <= 4) + u({ assets: T, index: 0 }); else { - let Y = []; + let j = []; if (Array.isArray(w == null ? void 0 : w.assets) && w.assets.length) - Y = w.assets; + j = w.assets; else if (typeof (e == null ? void 0 : e._mjrGetAssets) == "function") { - const P = e._mjrGetAssets(); - Array.isArray(P) && P.length && (Y = P); + const D = e._mjrGetAssets(); + Array.isArray(D) && D.length && (j = D); } else - Y = M().map((ee) => ee._mjrAsset).filter(Boolean); - const U = Y.findIndex((P) => String(P == null ? void 0 : P.id) === String(x == null ? void 0 : x.id)); - u({ assets: Y, index: Math.max(0, U) }); + j = S().map((q) => q._mjrAsset).filter(Boolean); + const O = j.findIndex((D) => String(D == null ? void 0 : D.id) === String(v == null ? void 0 : v.id)); + u({ assets: j, index: Math.max(0, O) }); } - } catch (Y) { - console.error("[GridKeyboard] Open viewer failed:", Y); + } catch (j) { + console.error("[GridKeyboard] Open viewer failed:", j); } return; } - if (zn(y, Rn.METADATA_PANEL) && x) { - G(), o(x); + if (Jn(y, Rn.METADATA_PANEL) && v) { + x(), o(v); return; } - if (zn(y, Rn.COMPARE_AB) && z.length === 2) { - G(); + if (Jn(y, Rn.COMPARE_AB) && T.length === 2) { + x(); try { - u({ assets: z, index: 0, mode: "ab" }); - } catch (Y) { - (j = console.debug) == null || j.call(console, Y); + u({ assets: T, index: 0, mode: "ab" }); + } catch (j) { + (N = console.debug) == null || N.call(console, j); } return; } - if (zn(y, Rn.SIDE_BY_SIDE) && z.length >= 2 && z.length <= 4) { - G(); + if (Jn(y, Rn.SIDE_BY_SIDE) && T.length >= 2 && T.length <= 4) { + x(); try { - u({ assets: z, index: 0, mode: "sidebyside" }); - } catch (Y) { - (L = console.debug) == null || L.call(console, Y); + u({ assets: T, index: 0, mode: "sidebyside" }); + } catch (j) { + (V = console.debug) == null || V.call(console, j); } return; } - if (zn(y, Rn.EDIT_TAGS) && x != null && x.id) { - G(), r(x); + if (Jn(y, Rn.EDIT_TAGS) && v != null && v.id) { + x(), r(v); return; } - if (zn(y, Rn.ADD_TO_COLLECTION) && (z.length > 0 || x)) { - G(); - const Y = z.length > 0 ? z : [x], U = e.getBoundingClientRect(); - await nd({ - x: U.left + U.width / 2, - y: U.top + U.height / 2, - assets: Y + if (Jn(y, Rn.ADD_TO_COLLECTION) && (T.length > 0 || v)) { + x(); + const j = T.length > 0 ? T : [v], O = e.getBoundingClientRect(); + await od({ + x: O.left + O.width / 2, + y: O.top + O.height / 2, + assets: j }); return; } - if (zn(y, Rn.REMOVE_FROM_COLLECTION)) { - const Y = w == null ? void 0 : w.collectionId; - if (Y && (z.length > 0 || x)) { - G(); + if (Jn(y, Rn.REMOVE_FROM_COLLECTION)) { + const j = w == null ? void 0 : w.collectionId; + if (j && (T.length > 0 || v)) { + x(); try { - const P = (z.length > 0 ? z : [x]).map( - (oe) => { + const D = (T.length > 0 ? T : [v]).map( + (ee) => { var ce; - return String((oe == null ? void 0 : oe.filepath) || (oe == null ? void 0 : oe.path) || ((ce = oe == null ? void 0 : oe.file_info) == null ? void 0 : ce.filepath) || "").trim(); + return String((ee == null ? void 0 : ee.filepath) || (ee == null ? void 0 : ee.path) || ((ce = ee == null ? void 0 : ee.file_info) == null ? void 0 : ce.filepath) || "").trim(); } ).filter(Boolean); - if (!P.length) { - Ce( + if (!D.length) { + Ze( m( "toast.removeFromCollectionFailed", "No valid files to remove from collection" @@ -23059,10 +23074,10 @@ function ob({ ); return; } - const ee = await Ng(Y, P); - if (!(ee != null && ee.ok)) { - Ce( - (ee == null ? void 0 : ee.error) || m( + const q = await Rg(j, D); + if (!(q != null && q.ok)) { + Ze( + (q == null ? void 0 : q.error) || m( "toast.removeFromCollectionFailed", "Failed to remove from collection" ), @@ -23076,20 +23091,20 @@ function ob({ detail: { reason: "remove-from-collection" } }) ); - } catch (oe) { - (N = console.debug) == null || N.call(console, oe); + } catch (ee) { + (k = console.debug) == null || k.call(console, ee); } - Ce( + Ze( m("toast.removedFromCollection", "Removed from collection"), "success", 1400 ); - } catch (U) { - Ce( + } catch (O) { + Ze( m( "toast.removeFromCollectionError", "Error removing from collection: {error}", - { error: (U == null ? void 0 : U.message) || String(U || "") } + { error: (O == null ? void 0 : O.message) || String(O || "") } ), "error" ); @@ -23097,71 +23112,71 @@ function ob({ return; } } - if (zn(y, Rn.COPY_PATH) && x != null && x.filepath) { - G(); + if (Jn(y, Rn.COPY_PATH) && v != null && v.filepath) { + x(); try { - await navigator.clipboard.writeText(x.filepath), Ce(m("toast.pathCopied"), "success", 2e3); + await navigator.clipboard.writeText(v.filepath), Ze(m("toast.pathCopied"), "success", 2e3); } catch { - Ce(m("toast.pathCopyFailed"), "error"); + Ze(m("toast.pathCopyFailed"), "error"); } return; } - if (zn(y, Rn.DOWNLOAD) && x != null && x.filepath) { - G(); - const Y = Da(x.filepath), U = document.createElement("a"); - U.href = Y, U.download = x.filename || "download", document.body.appendChild(U), U.click(), document.body.removeChild(U), Ce( + if (Jn(y, Rn.DOWNLOAD) && v != null && v.filepath) { + x(); + const j = Ea(v.filepath), O = document.createElement("a"); + O.href = j, O.download = v.filename || "download", document.body.appendChild(O), O.click(), document.body.removeChild(O), Ze( m("toast.downloadingFile", "Downloading {filename}...", { - filename: x.filename + filename: v.filename }), "info", 3e3 ); return; } - if (zn(y, Rn.OPEN_IN_FOLDER) && x != null && x.id) { - G(); - const Y = await Rs(x.id); - Y != null && Y.ok ? Ce(m("toast.openedInFolder"), "info", 2e3) : Ce((Y == null ? void 0 : Y.error) || m("toast.openFolderFailed"), "error"); + if (Jn(y, Rn.OPEN_IN_FOLDER) && v != null && v.id) { + x(); + const j = await Os(v.id); + j != null && j.ok ? Ze(m("toast.openedInFolder"), "info", 2e3) : Ze((j == null ? void 0 : j.error) || m("toast.openFolderFailed"), "error"); return; } - if (zn(y, Rn.RENAME) && x != null && x.id) { - G(); - const Y = x.filename || "", U = await ji( + if (Jn(y, Rn.RENAME) && v != null && v.id) { + x(); + const j = v.filename || "", O = await Vi( m("dialog.rename.title", "Rename file"), - Y - ), P = od(U, Y); - if (P && P !== Y) { - const ee = id(P); - if (!ee.valid) { - Ce(ee.reason, "error"); + j + ), D = ld(O, j); + if (D && D !== j) { + const q = rd(D); + if (!q.valid) { + Ze(q.reason, "error"); return; } try { - const oe = await Fs(x, P); - if (oe != null && oe.ok) { - const ce = (q = oe == null ? void 0 : oe.data) == null ? void 0 : q.asset; - ce && typeof ce == "object" ? Object.assign(x, ce) : (x.filename = P, x.filepath = (O = x.filepath) == null ? void 0 : O.replace(/[^\\/]+$/, P), x.path && (x.path = String(x.path).replace(/[^\\/]+$/, P)), x.file_info && typeof x.file_info == "object" && (x.file_info.filename = P, x.file_info.filepath && (x.file_info.filepath = String( - x.file_info.filepath - ).replace(/[^\\/]+$/, P)), x.file_info.path && (x.file_info.path = String(x.file_info.path).replace( + const ee = await zs(v, D); + if (ee != null && ee.ok) { + const ce = (K = ee == null ? void 0 : ee.data) == null ? void 0 : K.asset; + ce && typeof ce == "object" ? Object.assign(v, ce) : (v.filename = D, v.filepath = (z = v.filepath) == null ? void 0 : z.replace(/[^\\/]+$/, D), v.path && (v.path = String(v.path).replace(/[^\\/]+$/, D)), v.file_info && typeof v.file_info == "object" && (v.file_info.filename = D, v.file_info.filepath && (v.file_info.filepath = String( + v.file_info.filepath + ).replace(/[^\\/]+$/, D)), v.file_info.path && (v.file_info.path = String(v.file_info.path).replace( /[^\\/]+$/, - P - )))), Ce(m("toast.fileRenamedSuccess"), "success"); + D + )))), Ze(m("toast.fileRenamedSuccess"), "success"); try { window.dispatchEvent( new CustomEvent("mjr:reload-grid", { detail: { reason: "rename-keyboard" } }) ); - } catch (pe) { - (B = console.debug) == null || B.call(console, pe); + } catch (ue) { + (B = console.debug) == null || B.call(console, ue); } a(); } else - Ce((oe == null ? void 0 : oe.error) || m("toast.fileRenameFailed"), "error"); - } catch (oe) { - Ce( + Ze((ee == null ? void 0 : ee.error) || m("toast.fileRenameFailed"), "error"); + } catch (ee) { + Ze( m("toast.errorRenaming", "Error renaming file: {error}", { - error: (oe == null ? void 0 : oe.message) || String(oe || "") + error: (ee == null ? void 0 : ee.message) || String(ee || "") }), "error" ); @@ -23169,138 +23184,138 @@ function ob({ } return; } - if ((zn(y, Rn.DELETE) || zn(y, Rn.DELETE_ALT)) && (x != null && x.id || z.length > 0)) { - G(); - const Y = z.length > 0 ? z : [x]; - let U = 0, P = 0; - const ee = []; - for (const oe of Y) - if (oe != null && oe.id) + if ((Jn(y, Rn.DELETE) || Jn(y, Rn.DELETE_ALT)) && (v != null && v.id || T.length > 0)) { + x(); + const j = T.length > 0 ? T : [v]; + let O = 0, D = 0; + const q = []; + for (const ee of j) + if (ee != null && ee.id) try { - const ce = await Ma(oe.id); - ce != null && ce.ok ? (U++, ee.push(String(oe.id))) : P++; + const ce = await Sa(ee.id); + ce != null && ce.ok ? (O++, q.push(String(ee.id))) : D++; } catch { - P++; + D++; } - if (ee.length) + if (q.length) try { - const oe = e == null ? void 0 : e._mjrRemoveAssets; - if (typeof oe == "function") - oe(ee); + const ee = e == null ? void 0 : e._mjrRemoveAssets; + if (typeof ee == "function") + ee(q); else - for (const ce of ee) { - const pe = e.querySelector( + for (const ce of q) { + const ue = e.querySelector( `[data-mjr-asset-id="${ce}"]` ); - (J = pe == null ? void 0 : pe.remove) == null || J.call(pe); + (J = ue == null ? void 0 : ue.remove) == null || J.call(ue); } - } catch (oe) { - (T = console.debug) == null || T.call(console, oe); + } catch (ee) { + (P = console.debug) == null || P.call(console, ee); } - P === 0 ? Ce( - U === 1 ? m("toast.filesDeletedShort", "{n} files deleted", { n: U }) : m("toast.filesDeletedShort", "{n} files deleted", { - n: U + D === 0 ? Ze( + O === 1 ? m("toast.filesDeletedShort", "{n} files deleted", { n: O }) : m("toast.filesDeletedShort", "{n} files deleted", { + n: O }), "success" - ) : Ce( + ) : Ze( m("toast.filesDeletedShortPartial", "{success} deleted, {failed} failed", { - success: U, - failed: P + success: O, + failed: D }), "warning" ); try { if (typeof (e == null ? void 0 : e._mjrSetSelection) == "function") { - const oe = z.filter((ce) => !ee.includes(String((ce == null ? void 0 : ce.id) || ""))).map((ce) => String((ce == null ? void 0 : ce.id) || "")).filter(Boolean); - e._mjrSetSelection(oe, oe[0] || ""); + const ee = T.filter((ce) => !q.includes(String((ce == null ? void 0 : ce.id) || ""))).map((ce) => String((ce == null ? void 0 : ce.id) || "")).filter(Boolean); + e._mjrSetSelection(ee, ee[0] || ""); } - } catch (oe) { - (D = console.debug) == null || D.call(console, oe); + } catch (ee) { + (H = console.debug) == null || H.call(console, ee); } l(); return; } - if (zn(y, Rn.SELECT_ALL)) { - G(); - let Y = []; + if (Jn(y, Rn.SELECT_ALL)) { + x(); + let j = []; try { if (Array.isArray(w == null ? void 0 : w.assets) && w.assets.length) - Y = w.assets.map((U) => String((U == null ? void 0 : U.id) || "")).filter(Boolean); + j = w.assets.map((O) => String((O == null ? void 0 : O.id) || "")).filter(Boolean); else if (typeof (e == null ? void 0 : e._mjrGetAssets) == "function") { - const U = e._mjrGetAssets(); - Array.isArray(U) && (Y = U.map((P) => String((P == null ? void 0 : P.id) || "")).filter(Boolean)); + const O = e._mjrGetAssets(); + Array.isArray(O) && (j = O.map((D) => String((D == null ? void 0 : D.id) || "")).filter(Boolean)); } - } catch (U) { - (Q = console.debug) == null || Q.call(console, U); + } catch (O) { + ($ = console.debug) == null || $.call(console, O); } - if (!Y.length) + if (!j.length) try { - Y = M().map((U) => { - var P; - return String(((P = U == null ? void 0 : U._mjrAsset) == null ? void 0 : P.id) || ""); + j = S().map((O) => { + var D; + return String(((D = O == null ? void 0 : O._mjrAsset) == null ? void 0 : D.id) || ""); }).filter(Boolean); - } catch (U) { - (E = console.debug) == null || E.call(console, U); + } catch (O) { + (E = console.debug) == null || E.call(console, O); } try { - typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection(Y, Y[0] || "") : (M().forEach((P) => { - P.classList.add("is-selected"), P.setAttribute("aria-selected", "true"); - }), e.dataset.mjrSelectedAssetIds = JSON.stringify(Y), e.dataset.mjrSelectedAssetId = String(Y[0] || "")); - } catch (U) { - (K = console.debug) == null || K.call(console, U); + typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection(j, j[0] || "") : (S().forEach((D) => { + D.classList.add("is-selected"), D.setAttribute("aria-selected", "true"); + }), e.dataset.mjrSelectedAssetIds = JSON.stringify(j), e.dataset.mjrSelectedAssetId = String(j[0] || "")); + } catch (O) { + (oe = console.debug) == null || oe.call(console, O); } l(); return; } - if (zn(y, Rn.DESELECT_ALL)) { - G(); + if (Jn(y, Rn.DESELECT_ALL)) { + x(); try { - typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection([], "") : (M().filter( - (U) => { - var P, ee; - return (ee = (P = U == null ? void 0 : U.classList) == null ? void 0 : P.contains) == null ? void 0 : ee.call(P, "is-selected"); + typeof (e == null ? void 0 : e._mjrSetSelection) == "function" ? e._mjrSetSelection([], "") : (S().filter( + (O) => { + var D, q; + return (q = (D = O == null ? void 0 : O.classList) == null ? void 0 : D.contains) == null ? void 0 : q.call(D, "is-selected"); } - ).forEach((U) => { - U.classList.remove("is-selected"), U.setAttribute("aria-selected", "false"); + ).forEach((O) => { + O.classList.remove("is-selected"), O.setAttribute("aria-selected", "false"); }), delete e.dataset.mjrSelectedAssetIds, delete e.dataset.mjrSelectedAssetId); - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + } catch (j) { + (M = console.debug) == null || M.call(console, j); } l(); return; } - }, C = () => { - d || (c = v, s = () => I(), document.addEventListener("keydown", c, !0), e.addEventListener("pointerdown", s, !0), e.addEventListener("focusin", s, !0), d = !0); - }, S = () => { + }, h = () => { + d || (c = L, s = () => I(), document.addEventListener("keydown", c, !0), e.addEventListener("pointerdown", s, !0), e.addEventListener("focusin", s, !0), d = !0); + }, G = () => { var y; if (!(!d || !c)) { document.removeEventListener("keydown", c, !0), s && (e.removeEventListener("pointerdown", s, !0), e.removeEventListener("focusin", s, !0)), c = null, s = null, d = !1; - for (const k of Jo.values()) + for (const X of Bo.values()) try { - clearTimeout(k); - } catch (G) { - (y = console.debug) == null || y.call(console, G); + clearTimeout(X); + } catch (x) { + (y = console.debug) == null || y.call(console, x); } - Jo.clear(); + Bo.clear(); } }; - return { bind: C, unbind: S, dispose: () => { + return { bind: h, unbind: G, dispose: () => { var y; - S(); - for (const k of Jo.values()) + G(); + for (const X of Bo.values()) try { - clearTimeout(k); - } catch (G) { - (y = console.debug) == null || y.call(console, G); + clearTimeout(X); + } catch (x) { + (y = console.debug) == null || y.call(console, x); } - Jo.clear(); + Bo.clear(); } }; } -function wi(e) { +function Gi(e) { const t = Rn[e]; - return t ? uW(t) : ""; + return t ? IW(t) : ""; } -function zu() { +function Tu() { return { open: !1, x: 0, @@ -23309,11 +23324,11 @@ function zu() { title: "" }; } -const Dt = js({ +const Dt = Ls({ portalOwnerId: "", mountedPortalIds: [], - main: zu(), - submenu: zu(), + main: Tu(), + submenu: Tu(), tags: { open: !1, x: 0, @@ -23322,11 +23337,11 @@ const Dt = js({ onChanged: null } }); -let mW = 1; -function rb(e) { +let bW = 1; +function lb(e) { e && (e.open = !1, e.x = 0, e.y = 0, e.items = [], e.title = ""); } -function gW(e = "") { +function pW(e = "") { var t; try { window.dispatchEvent( @@ -23336,11 +23351,11 @@ function gW(e = "") { (t = console.debug) == null || t.call(console, n); } } -function IW() { - const e = `mjr-grid-context-menu-portal-${mW++}`; +function yW() { + const e = `mjr-grid-context-menu-portal-${bW++}`; return Dt.mountedPortalIds.push(e), Dt.portalOwnerId || (Dt.portalOwnerId = e), e; } -function bW(e) { +function fW(e) { const t = Dt.mountedPortalIds.filter((n) => n !== e); Dt.mountedPortalIds.splice( 0, @@ -23348,34 +23363,34 @@ function bW(e) { ...t ), Dt.portalOwnerId === e && (Dt.portalOwnerId = Dt.mountedPortalIds[0] || ""); } -function pW(e) { +function hW(e) { return String(Dt.portalOwnerId || "") === String(e || ""); } -function Ju({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { - gW("grid"), ab(), mr(), Dt.main.open = !0, Dt.main.x = Number(e) || 0, Dt.main.y = Number(t) || 0, Dt.main.items = Array.isArray(n) ? n.filter(Boolean) : [], Dt.main.title = String(i || ""); -} -function lb() { - rb(Dt.main), mr(); -} -function yW({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { - Dt.submenu.open = !0, Dt.submenu.x = Number(e) || 0, Dt.submenu.y = Number(t) || 0, Dt.submenu.items = Array.isArray(n) ? n.filter(Boolean) : [], Dt.submenu.title = String(i || ""); -} -function mr() { - rb(Dt.submenu); -} -function fW({ x: e = 0, y: t = 0, asset: n = null, onChanged: i = null } = {}) { - lb(), Dt.tags.open = !!n, Dt.tags.x = Number(e) || 0, Dt.tags.y = Number(t) || 0, Dt.tags.asset = n || null, Dt.tags.onChanged = typeof i == "function" ? i : null; +function Bu({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { + pW("grid"), cb(), Ir(), Dt.main.open = !0, Dt.main.x = Number(e) || 0, Dt.main.y = Number(t) || 0, Dt.main.items = Array.isArray(n) ? n.filter(Boolean) : [], Dt.main.title = String(i || ""); } function ab() { + lb(Dt.main), Ir(); +} +function CW({ x: e = 0, y: t = 0, items: n = [], title: i = "" } = {}) { + Dt.submenu.open = !0, Dt.submenu.x = Number(e) || 0, Dt.submenu.y = Number(t) || 0, Dt.submenu.items = Array.isArray(n) ? n.filter(Boolean) : [], Dt.submenu.title = String(i || ""); +} +function Ir() { + lb(Dt.submenu); +} +function ZW({ x: e = 0, y: t = 0, asset: n = null, onChanged: i = null } = {}) { + ab(), Dt.tags.open = !!n, Dt.tags.x = Number(e) || 0, Dt.tags.y = Number(t) || 0, Dt.tags.asset = n || null, Dt.tags.onChanged = typeof i == "function" ? i : null; +} +function cb() { Dt.tags.open = !1, Dt.tags.x = 0, Dt.tags.y = 0, Dt.tags.asset = null, Dt.tags.onChanged = null; } -function vo() { - lb(), ab(); +function Vo() { + ab(), cb(); } -let cb = 1; +let sb = 1; function jn(e, t, n, i, { disabled: o = !1, closeOnSelect: r = !0, submenu: l = null } = {}) { return { - id: `mjr-grid-menu-item-${cb++}`, + id: `mjr-grid-menu-item-${sb++}`, type: "item", label: String(e || ""), iconClass: t ? String(t) : "", @@ -23386,13 +23401,13 @@ function jn(e, t, n, i, { disabled: o = !1, closeOnSelect: r = !0, submenu: l = action: typeof i == "function" ? i : null }; } -function il() { +function rl() { return { - id: `mjr-grid-menu-separator-${cb++}`, + id: `mjr-grid-menu-separator-${sb++}`, type: "separator" }; } -const hW = (e) => { +const AW = (e) => { var n, i, o, r; const t = /* @__PURE__ */ new Set(); if (!e) return t; @@ -23416,7 +23431,7 @@ const hW = (e) => { (r = console.debug) == null || r.call(console, l); } return t; -}, sa = (e) => { +}, da = (e) => { var n, i, o; const t = []; if (!e) return t; @@ -23446,7 +23461,7 @@ const hW = (e) => { (o = console.debug) == null || o.call(console, r); } return t; -}, Po = (e) => { +}, _o = (e) => { var t; try { const n = (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || ((t = e == null ? void 0 : e.file_info) == null ? void 0 : t.filepath) || ""; @@ -23454,7 +23469,7 @@ const hW = (e) => { } catch { return ""; } -}, CW = (e) => { +}, WW = (e) => { var t; if (e) { try { @@ -23469,17 +23484,17 @@ const hW = (e) => { } catch (n) { (t = console.debug) == null || t.call(console, n); } - ii( + oi( "mjr:selection-changed", { selectedIds: [] }, { target: e, warnPrefix: "[GridContextMenu]" } ); } -}, ZW = (e, t, n, i) => { +}, wW = (e, t, n, i) => { var r, l, a, c, s, d, u; if (!e) return; try { - CW(e); + WW(e); } catch (I) { (r = console.debug) == null || r.call(console, I); } @@ -23501,7 +23516,7 @@ const hW = (e) => { } catch (I) { (u = console.debug) == null || u.call(console, I); } -}, AW = (e) => { +}, MW = (e) => { var n, i; const t = []; if (!e) return t; @@ -23524,7 +23539,7 @@ const hW = (e) => { (i = console.debug) == null || i.call(console, o); } return t; -}, WW = (e, t) => { +}, SW = (e, t) => { try { const n = String(t ?? ""); return (e || []).findIndex((i) => String((i == null ? void 0 : i.id) ?? "") === n); @@ -23532,18 +23547,18 @@ const hW = (e) => { return -1; } }; -function sb(e) { +function db(e) { var t; if (e == null) return null; try { - return document.querySelector(`[data-mjr-asset-id="${oW(e)}"]`); + return document.querySelector(`[data-mjr-asset-id="${aW(e)}"]`); } catch (n) { return (t = console.debug) == null || t.call(console, n), null; } } -function ol(e, t = null) { +function ll(e, t = null) { var i; - const n = sb(e == null ? void 0 : e.id); + const n = db(e == null ? void 0 : e.id); if (!n || !n._mjrAsset || typeof n._mjrAsset != "object") return n; try { t && typeof t == "object" ? Object.assign(n._mjrAsset, t) : e && typeof e == "object" && Object.assign(n._mjrAsset, e); @@ -23552,7 +23567,7 @@ function ol(e, t = null) { } return n; } -const Ki = (e) => { +const Hi = (e) => { var t, n; try { const i = e ? "grid-contextmenu" : "grid-contextmenu-global"; @@ -23561,7 +23576,7 @@ const Ki = (e) => { (n = console.debug) == null || n.call(console, i); } }; -async function wW(e, t) { +async function GW(e, t) { var o, r, l; if (!e) return { ok: !1, error: "Missing asset" }; const n = { @@ -23571,25 +23586,25 @@ async function wW(e, t) { root_id: String(e.root_id || e.rootId || ((o = e == null ? void 0 : e.file_info) == null ? void 0 : o.root_id) || "").trim() || void 0 }; if (!n.filename) return { ok: !1, error: "Missing filename" }; - const i = await Et(lt.INDEX_FILES, { files: [n], incremental: !1 }); + const i = await Et(ct.INDEX_FILES, { files: [n], incremental: !1 }); if (!(i != null && i.ok)) return i || { ok: !1, error: "Index refresh failed" }; if ((e == null ? void 0 : e.id) != null) try { - const a = await ml(e.id); + const a = await gl(e.id); if (a != null && a.ok && (a != null && a.data) && typeof a.data == "object") { Object.assign(e, a.data); - const c = ol(e, a.data), s = (r = c == null ? void 0 : c.querySelector) == null ? void 0 : r.call(c, ".mjr-workflow-dot"); + const c = ll(e, a.data), s = (r = c == null ? void 0 : c.querySelector) == null ? void 0 : r.call(c, ".mjr-workflow-dot"); if (s) { - const d = $a(c._mjrAsset); + const d = ec(c._mjrAsset); d && s.replaceWith(d); } } } catch (a) { (l = console.debug) == null || l.call(console, a); } - return Ki(t), { ok: !0, data: { refreshed: !0 } }; + return Hi(t), { ok: !0, data: { refreshed: !0 } }; } -function Qo(e, t, n) { +function $o(e, t, n) { var o, r; const i = e == null ? void 0 : e.id; try { @@ -23603,39 +23618,39 @@ function Qo(e, t, n) { (r = console.debug) == null || r.call(console, l); } if (i) { - TI(String(i), t, { + BI(String(i), t, { successMessage: t > 0 ? `Rating set to ${t} stars` : "Rating cleared", errorMessage: "Failed to update rating", warnPrefix: "[GridContextMenu]", onSuccess: () => { - ii( - Ri, + oi( + Fi, { assetId: String(i), rating: t }, { warnPrefix: "[GridContextMenu]" } ); }, onFailure: (l) => { - li(l, "[GridContextMenu] Rating update", { - showToast: ye.DEBUG_VERBOSE_ERRORS + ai(l, "[GridContextMenu] Rating update", { + showToast: fe.DEBUG_VERBOSE_ERRORS }); } }); return; } - Do(e, t).catch((l) => { - li(l, "[GridContextMenu] Rating update", { - showToast: ye.DEBUG_VERBOSE_ERRORS + Ho(e, t).catch((l) => { + ai(l, "[GridContextMenu] Rating update", { + showToast: fe.DEBUG_VERBOSE_ERRORS }); }); } -function db(e) { +function ub(e) { return String((e == null ? void 0 : e.scope) || "").toLowerCase() === "custom"; } -function da(e) { +function ua(e) { return String((e == null ? void 0 : e.kind) || "").toLowerCase() === "folder"; } -function MW(e) { - const t = hW(e), n = sa(e), i = n.length || t.size; +function xW(e) { + const t = AW(e), n = da(e), i = n.length || t.size; return { selectedIds: t, selectedAssetsNow: n, @@ -23644,39 +23659,39 @@ function MW(e) { hasSelection: i > 0 }; } -function SW(e, t) { +function jW(e, t) { const n = (o) => "*".repeat(o) + "o".repeat(Math.max(0, 5 - o)), i = (o) => { - ol(e, { rating: o }); + ll(e, { rating: o }); }; return [ jn(n(5), "pi pi-star", null, async () => { - Qo(e, 5, () => i(5)); + $o(e, 5, () => i(5)); }, { disabled: !t }), jn(n(4), "pi pi-star", null, async () => { - Qo(e, 4, () => i(4)); + $o(e, 4, () => i(4)); }, { disabled: !t }), jn(n(3), "pi pi-star", null, async () => { - Qo(e, 3, () => i(3)); + $o(e, 3, () => i(3)); }, { disabled: !t }), jn(n(2), "pi pi-star", null, async () => { - Qo(e, 2, () => i(2)); + $o(e, 2, () => i(2)); }, { disabled: !t }), jn(n(1), "pi pi-star", null, async () => { - Qo(e, 1, () => i(1)); + $o(e, 1, () => i(1)); }, { disabled: !t }), - il(), + rl(), jn( m("ctx.resetRating", "Reset rating"), "pi pi-star", "0", async () => { - Qo(e, 0, () => i(0)); + $o(e, 0, () => i(0)); }, { disabled: !t } ) ]; } -function GW({ currentPath: e, gridContainer: t }) { +function vW({ currentPath: e, gridContainer: t }) { return [ jn( m("ctx.createFolderHere", "Create folder here..."), @@ -23684,23 +23699,23 @@ function GW({ currentPath: e, gridContainer: t }) { null, async () => { try { - const n = await ji(m("dialog.newFolderName", "New folder name"), ""), i = String(n || "").trim(); + const n = await Vi(m("dialog.newFolderName", "New folder name"), ""), i = String(n || "").trim(); if (!i) return; - const o = await Dr({ + const o = await Hr({ op: "create", path: e, name: i }); if (!(o != null && o.ok)) { - Ce((o == null ? void 0 : o.error) || "Failed to create folder", "error"); + Ze((o == null ? void 0 : o.error) || "Failed to create folder", "error"); return; } - Ki(t), Ce( + Hi(t), Ze( m("toast.folderCreated", "Folder created: {name}", { name: i }), "success" ); } catch (n) { - Ce( + Ze( m("toast.createFolderFailedDetail", "Create folder failed: {error}", { error: (n == null ? void 0 : n.message) || String(n || "") }), @@ -23711,7 +23726,7 @@ function GW({ currentPath: e, gridContainer: t }) { ) ]; } -function xW({ asset: e, gridContainer: t, panelState: n }) { +function LW({ asset: e, gridContainer: t, panelState: n }) { const i = String((e == null ? void 0 : e.filepath) || "").trim(), o = [ jn(m("ctx.openFolder", "Open folder"), "pi pi-folder-open", null, () => { var r; @@ -23729,21 +23744,21 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { jn(m("ctx.pinAsBrowserRoot"), "pi pi-bookmark", null, async () => { var a, c; if (!i) { - Ce(m("toast.unableResolveFolderPath"), "error"); + Ze(m("toast.unableResolveFolderPath"), "error"); return; } - const r = await ji( + const r = await Vi( m("dialog.browserRootLabelOptional"), String((e == null ? void 0 : e.filename) || "") - ), l = await Et(lt.CUSTOM_ROOTS, { + ), l = await Et(ct.CUSTOM_ROOTS, { path: i, label: String(r || "").trim() || void 0 }); if (!(l != null && l.ok)) { - Ce((l == null ? void 0 : l.error) || m("toast.pinFolderFailed"), "error"); + Ze((l == null ? void 0 : l.error) || m("toast.pinFolderFailed"), "error"); return; } - Ce(m("toast.folderPinnedAsBrowserRoot"), "success"); + Ze(m("toast.folderPinnedAsBrowserRoot"), "success"); try { window.dispatchEvent( new CustomEvent("mjr:custom-roots-changed", { @@ -23755,24 +23770,24 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { } }) ]; - return db(n) && i && o.push( - il(), + return ub(n) && i && o.push( + rl(), jn(m("ctx.createFolderHere"), "pi pi-plus", null, async () => { try { - const r = await ji(m("dialog.newFolderName"), ""), l = String(r || "").trim(); + const r = await Vi(m("dialog.newFolderName"), ""), l = String(r || "").trim(); if (!l) return; - const a = await Dr({ + const a = await Hr({ op: "create", path: i, name: l }); if (!(a != null && a.ok)) { - Ce((a == null ? void 0 : a.error) || m("toast.createFolderFailed"), "error"); + Ze((a == null ? void 0 : a.error) || m("toast.createFolderFailed"), "error"); return; } - Ki(t), Ce(m("toast.folderCreated", { name: l }), "success"); + Hi(t), Ze(m("toast.folderCreated", { name: l }), "success"); } catch (r) { - Ce( + Ze( m("toast.createFolderFailedDetail", { error: (r == null ? void 0 : r.message) || String(r || "") }), @@ -23782,20 +23797,20 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { }), jn(m("ctx.renameFolder"), "pi pi-pencil", null, async () => { try { - const r = String((e == null ? void 0 : e.filename) || "").trim(), l = await ji(m("dialog.renameFolder"), r), a = String(l || "").trim(); + const r = String((e == null ? void 0 : e.filename) || "").trim(), l = await Vi(m("dialog.renameFolder"), r), a = String(l || "").trim(); if (!a || a === r) return; - const c = await Dr({ + const c = await Hr({ op: "rename", path: i, name: a }); if (!(c != null && c.ok)) { - Ce((c == null ? void 0 : c.error) || m("toast.renameFolderFailed"), "error"); + Ze((c == null ? void 0 : c.error) || m("toast.renameFolderFailed"), "error"); return; } - Ki(t), Ce(m("toast.folderRenamed"), "success"); + Hi(t), Ze(m("toast.folderRenamed"), "success"); } catch (r) { - Ce( + Ze( m("toast.renameFolderFailedDetail", { error: (r == null ? void 0 : r.message) || String(r || "") }), @@ -23805,23 +23820,23 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { }), jn(m("ctx.moveFolder"), "pi pi-arrow-right", null, async () => { try { - const r = await ji( + const r = await Vi( m("dialog.destinationDirectoryPath"), "" ), l = String(r || "").trim(); if (!l) return; - const a = await Dr({ + const a = await Hr({ op: "move", path: i, destination: l }); if (!(a != null && a.ok)) { - Ce((a == null ? void 0 : a.error) || m("toast.moveFolderFailed"), "error"); + Ze((a == null ? void 0 : a.error) || m("toast.moveFolderFailed"), "error"); return; } - Ki(t), Ce(m("toast.folderMoved"), "success"); + Hi(t), Ze(m("toast.folderMoved"), "success"); } catch (r) { - Ce( + Ze( m("toast.moveFolderFailedDetail", { error: (r == null ? void 0 : r.message) || String(r || "") }), @@ -23834,21 +23849,21 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { const r = String( (e == null ? void 0 : e.filename) || m("label.thisFolder", "this folder") ); - if (!await bi( + if (!await yi( m("dialog.deleteFolderRecursive", { name: r }) )) return; - const a = await Dr({ + const a = await Hr({ op: "delete", path: i, recursive: !0 }); if (!(a != null && a.ok)) { - Ce((a == null ? void 0 : a.error) || m("toast.deleteFolderFailed"), "error"); + Ze((a == null ? void 0 : a.error) || m("toast.deleteFolderFailed"), "error"); return; } - Ki(t), Ce(m("toast.folderDeleted"), "success"); + Hi(t), Ze(m("toast.folderDeleted"), "success"); } catch (r) { - Ce( + Ze( m("toast.deleteFolderFailedDetail", { error: (r == null ? void 0 : r.message) || String(r || "") }), @@ -23858,7 +23873,7 @@ function xW({ asset: e, gridContainer: t, panelState: n }) { }) ), o; } -function jW({ +function VW({ asset: e, card: t, gridContainer: n, @@ -23872,63 +23887,63 @@ function jW({ effectiveSelectionCount: c, isMultiSelected: s, hasSelection: d - } = l, u = [], I = ({ assets: g = [], index: h = 0, mode: f = "" } = {}) => ec({ assets: g, index: h, mode: f }); + } = l, u = [], I = ({ assets: g = [], index: Z = 0, mode: f = "" } = {}) => tc({ assets: g, index: Z, mode: f }); u.push( - jn("Open Viewer", "pi pi-image", wi("OPEN_VIEWER"), () => { + jn("Open Viewer", "pi pi-image", Gi("OPEN_VIEWER"), () => { var g; try { - const f = (d ? sa(n) : []).filter((S) => !da(S)), b = f.length; + const f = (d ? da(n) : []).filter((G) => !ua(G)), b = f.length; if (b >= 2 && b <= 4) { I({ assets: f, index: 0 }); return; } - const v = AW(n).filter( - (S) => !da(S) - ), C = WW(v, e == null ? void 0 : e.id); - if (!v.length || C < 0) return; - I({ assets: v, index: Math.max(0, C) }); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + const L = MW(n).filter( + (G) => !ua(G) + ), h = SW(L, e == null ? void 0 : e.id); + if (!L.length || h < 0) return; + I({ assets: L, index: Math.max(0, h) }); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } }), jn( m("ctx.showMetadataPanel", "Show metadata panel"), "pi pi-info-circle", - wi("METADATA_PANEL"), + Gi("METADATA_PANEL"), () => { var g; try { - ZW(n, t, e, i); - const h = n == null ? void 0 : n._mjrOpenDetails; - typeof h == "function" && h(); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + wW(n, t, e, i); + const Z = n == null ? void 0 : n._mjrOpenDetails; + typeof Z == "function" && Z(); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } } ) ); const p = (d ? a : []).filter( - (g) => !da(g) - ), M = p.length; - M === 2 && u.push( + (g) => !ua(g) + ), S = p.length; + S === 2 && u.push( jn( "Compare A/B (2 selected)", "pi pi-clone", - wi("COMPARE_AB"), + Gi("COMPARE_AB"), () => { var g; try { I({ assets: p, index: 0, mode: "ab" }); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } } ) - ), M >= 2 && M <= 4 && u.push( + ), S >= 2 && S <= 4 && u.push( jn( - `Side-by-side (2x2) (${M} selected)`, + `Side-by-side (2x2) (${S} selected)`, "pi pi-table", - wi("SIDE_BY_SIDE"), + Gi("SIDE_BY_SIDE"), () => { var g; try { @@ -23937,8 +23952,8 @@ function jW({ index: 0, mode: "sidebyside" }); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } } ) @@ -23946,39 +23961,39 @@ function jW({ jn( m("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", - wi("OPEN_IN_FOLDER"), + Gi("OPEN_IN_FOLDER"), async () => { - const g = await Rs(e); - g != null && g.ok ? Ce(m("toast.openedInFolder"), "info", 2e3) : Ce((g == null ? void 0 : g.error) || m("toast.openFolderFailed"), "error"); + const g = await Os(e); + g != null && g.ok ? Ze(m("toast.openedInFolder"), "info", 2e3) : Ze((g == null ? void 0 : g.error) || m("toast.openFolderFailed"), "error"); }, - { disabled: !(e != null && e.id || Po(e)) } + { disabled: !(e != null && e.id || _o(e)) } ), jn( m("ctx.copyPath", "Copy path"), "pi pi-copy", - wi("COPY_PATH"), + Gi("COPY_PATH"), async () => { const g = e != null && e.filepath ? String(e.filepath) : ""; if (!g) { - Ce(m("toast.noFilePath"), "error"); + Ze(m("toast.noFilePath"), "error"); return; } try { - await navigator.clipboard.writeText(g), Ce(m("toast.pathCopied"), "success", 2e3); - } catch (h) { - console.warn(m("log.clipboardCopyFailed", "Clipboard copy failed"), h), Ce(m("toast.pathCopyFailed"), "error"); + await navigator.clipboard.writeText(g), Ze(m("toast.pathCopied"), "success", 2e3); + } catch (Z) { + console.warn(m("log.clipboardCopyFailed", "Clipboard copy failed"), Z), Ze(m("toast.pathCopyFailed"), "error"); } } ), jn( m("ctx.download", "Download"), "pi pi-download", - wi("DOWNLOAD"), + Gi("DOWNLOAD"), () => { if (!(e != null && e.filepath)) return; - const g = Da(e.filepath), h = e.filename || "download", f = document.createElement("a"); - f.href = g, f.download = h, document.body.appendChild(f), f.click(), document.body.removeChild(f), Ce( - m("toast.downloadingFile", "Downloading {filename}...", { filename: h }), + const g = Ea(e.filepath), Z = e.filename || "download", f = document.createElement("a"); + f.href = g, f.download = Z, document.body.appendChild(f), f.click(), document.body.removeChild(f), Ze( + m("toast.downloadingFile", "Downloading {filename}...", { filename: Z }), "info", 3e3 ); @@ -23988,81 +24003,81 @@ function jW({ jn( "Add to collection...", "pi pi-bookmark", - wi("ADD_TO_COLLECTION"), + Gi("ADD_TO_COLLECTION"), async () => { - const g = sa(n), h = g.length ? g : [e]; - await nd({ x: o, y: r, assets: h }); + const g = da(n), Z = g.length ? g : [e]; + await od({ x: o, y: r, assets: Z }); } ) ); - const Z = String((i == null ? void 0 : i.collectionId) || "").trim(); - if (Z) { - const g = sa(n), f = (g.length ? g : [e]).map(Po).filter(Boolean), b = f.length > 1 ? `Remove from collection (${f.length})` : "Remove from collection"; + const A = String((i == null ? void 0 : i.collectionId) || "").trim(); + if (A) { + const g = da(n), f = (g.length ? g : [e]).map(_o).filter(Boolean), b = f.length > 1 ? `Remove from collection (${f.length})` : "Remove from collection"; u.push( jn(b, "pi pi-bookmark", null, async () => { if (!f.length) { - Ce(m("toast.noFilePath"), "error"); + Ze(m("toast.noFilePath"), "error"); return; } - const v = await Ng(Z, f); - if (!(v != null && v.ok)) { - Ce((v == null ? void 0 : v.error) || m("toast.removeFromCollectionFailed"), "error"); + const L = await Rg(A, f); + if (!(L != null && L.ok)) { + Ze((L == null ? void 0 : L.error) || m("toast.removeFromCollectionFailed"), "error"); return; } - Ki(n); + Hi(n); }) ); } - const A = !!(e != null && e.id || Po(e)); + const C = !!(e != null && e.id || _o(e)); return u.push( - il(), + rl(), jn( m("ctx.editTags", "Edit tags"), "pi pi-tags", - wi("EDIT_TAGS"), + Gi("EDIT_TAGS"), () => { - ub(o + 6, r + 6, e, () => { - ol(e, { + mb(o + 6, r + 6, e, () => { + ll(e, { tags: Array.isArray(e == null ? void 0 : e.tags) ? [...e.tags] : [] }); }); }, { closeOnSelect: !1 } ), - il(), + rl(), jn( m("ctx.setRating", "Set rating"), "pi pi-star", "1-5 >", null, { - disabled: !A, + disabled: !C, closeOnSelect: !1, - submenu: SW(e, A) + submenu: jW(e, C) } ), - il(), + rl(), jn( m("ctx.resetIndexFile", "Reset index (this file)"), "pi pi-refresh", null, async () => { if (e != null && e.filename || e != null && e.id) { - Ce(m("toast.rescanningFile", "Rescanning file..."), "info", 1600); + Ze(m("toast.rescanningFile", "Rescanning file..."), "info", 1600); try { - const g = await wW(e, n); - g != null && g.ok ? Ce( + const g = await GW(e, n); + g != null && g.ok ? Ze( m("toast.metadataRefreshed", "Metadata refreshed{suffix}", { suffix: "" }), "success", 1800 - ) : Ce( + ) : Ze( (g == null ? void 0 : g.error) || m("toast.resetFailed", "Failed to reset index"), "error" ); } catch (g) { - Ce( + Ze( `${m("toast.resetFailed", "Failed to reset index")}: ${(g == null ? void 0 : g.message) || String(g || "")}`, "error" ); @@ -24074,89 +24089,89 @@ function jW({ jn( "Rename...", "pi pi-pencil", - wi("RENAME"), + Gi("RENAME"), async () => { - var v, C; - if (!(e != null && e.id || Po(e))) return; - const g = e.filename || "", h = await ji( + var L, h; + if (!(e != null && e.id || _o(e))) return; + const g = e.filename || "", Z = await Vi( m("dialog.rename.title", "Rename file"), g - ), f = od(h, g); + ), f = ld(Z, g); if (!f || f === g) return; - const b = id(f); + const b = rd(f); if (!b.valid) { - Ce(b.reason, "error"); + Ze(b.reason, "error"); return; } try { - const S = await Fs(e, f); - if (!(S != null && S.ok)) { - Ce((S == null ? void 0 : S.error) || m("toast.fileRenameFailed"), "error"); + const G = await zs(e, f); + if (!(G != null && G.ok)) { + Ze((G == null ? void 0 : G.error) || m("toast.fileRenameFailed"), "error"); return; } - const W = (v = S == null ? void 0 : S.data) == null ? void 0 : v.asset; - W && typeof W == "object" ? (Object.assign(e, W), ol(e, W)) : (e.filename = f, e.filepath && (e.filepath = String(e.filepath).replace(/[^\\/]+$/, f)), e.path && (e.path = String(e.path).replace(/[^\\/]+$/, f)), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = f, e.file_info.filepath && (e.file_info.filepath = String(e.file_info.filepath).replace( + const W = (L = G == null ? void 0 : G.data) == null ? void 0 : L.asset; + W && typeof W == "object" ? (Object.assign(e, W), ll(e, W)) : (e.filename = f, e.filepath && (e.filepath = String(e.filepath).replace(/[^\\/]+$/, f)), e.path && (e.path = String(e.path).replace(/[^\\/]+$/, f)), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = f, e.file_info.filepath && (e.file_info.filepath = String(e.file_info.filepath).replace( /[^\\/]+$/, f )), e.file_info.path && (e.file_info.path = String(e.file_info.path).replace( /[^\\/]+$/, f - ))), ol(e, { + ))), ll(e, { filename: e.filename, filepath: e.filepath, path: e.path, file_info: e.file_info })); - const y = sb(e.id), k = (C = y == null ? void 0 : y.querySelector) == null ? void 0 : C.call(y, ".mjr-filename"); - k && (k.textContent = e.filename || f), Ce(m("toast.fileRenamedSuccess"), "success"), Ki(n); - } catch (S) { - Ce( + const y = db(e.id), X = (h = y == null ? void 0 : y.querySelector) == null ? void 0 : h.call(y, ".mjr-filename"); + X && (X.textContent = e.filename || f), Ze(m("toast.fileRenamedSuccess"), "success"), Hi(n); + } catch (G) { + Ze( m("toast.errorRenaming", "Error renaming file: {error}", { - error: (S == null ? void 0 : S.message) || String(S || "") + error: (G == null ? void 0 : G.message) || String(G || "") }), "error" ); } }, - { disabled: !(e != null && e.id || Po(e)) } + { disabled: !(e != null && e.id || _o(e)) } ) ), s ? u.push( jn( `Delete ${c} files...`, "pi pi-trash", - wi("DELETE"), + Gi("DELETE"), async () => { - if (await rs(Number(c) || 0)) + if (await as(Number(c) || 0)) try { - let h = 0, f = 0; + let Z = 0, f = 0; const b = []; - let v = 0; - const C = a.length ? a : [e]; - for (const S of C) { - const W = await Ma(S); - W != null && W.ok ? (h += 1, (S == null ? void 0 : S.id) != null ? b.push(String(S.id)) : v += 1) : f += 1; + let L = 0; + const h = a.length ? a : [e]; + for (const G of h) { + const W = await Sa(G); + W != null && W.ok ? (Z += 1, (G == null ? void 0 : G.id) != null ? b.push(String(G.id)) : L += 1) : f += 1; } if (b.length) { - const S = is(n, b); - i && Array.isArray(S == null ? void 0 : S.selectedIds) && (i.selectedAssetIds = S.selectedIds, i.activeAssetId = S.selectedIds[0] || ""); + const G = rs(n, b); + i && Array.isArray(G == null ? void 0 : G.selectedIds) && (i.selectedAssetIds = G.selectedIds, i.activeAssetId = G.selectedIds[0] || ""); } - v > 0 && Ki(n), f === 0 ? Ce( + L > 0 && Hi(n), f === 0 ? Ze( m("toast.filesDeletedSuccessN", "{n} files deleted successfully!", { - n: h + n: Z }), "success" - ) : Ce( + ) : Ze( m( "toast.filesDeletedPartial", "{success} files deleted, {failed} failed.", - { success: h, failed: f } + { success: Z, failed: f } ), "warning" ); - } catch (h) { - Ce( + } catch (Z) { + Ze( m("toast.errorDeleting", "Error deleting file: {error}", { - error: (h == null ? void 0 : h.message) || String(h || "") + error: (Z == null ? void 0 : Z.message) || String(Z || "") }), "error" ); @@ -24167,43 +24182,43 @@ function jW({ jn( m("ctx.delete", "Delete"), "pi pi-trash", - wi("DELETE"), + Gi("DELETE"), async () => { - if (await rs(1, e == null ? void 0 : e.filename)) + if (await as(1, e == null ? void 0 : e.filename)) try { - const h = await Ma(e); - if (!(h != null && h.ok)) { - Ce((h == null ? void 0 : h.error) || m("toast.fileDeleteFailed"), "error"); + const Z = await Sa(e); + if (!(Z != null && Z.ok)) { + Ze((Z == null ? void 0 : Z.error) || m("toast.fileDeleteFailed"), "error"); return; } if (e != null && e.id) { - const f = is(n, [String(e.id)]); + const f = rs(n, [String(e.id)]); i && Array.isArray(f == null ? void 0 : f.selectedIds) && (i.selectedAssetIds = f.selectedIds, i.activeAssetId = f.selectedIds[0] || ""); } else - Ki(n); - Ce(m("toast.fileDeletedSuccess"), "success"); - } catch (h) { - Ce( + Hi(n); + Ze(m("toast.fileDeletedSuccess"), "success"); + } catch (Z) { + Ze( m("toast.errorDeleting", "Error deleting file: {error}", { - error: (h == null ? void 0 : h.message) || String(h || "") + error: (Z == null ? void 0 : Z.message) || String(Z || "") }), "error" ); } }, - { disabled: !(e != null && e.id || Po(e)) } + { disabled: !(e != null && e.id || _o(e)) } ) ), u; } -function ub(e, t, n, i) { - n && fW({ +function mb(e, t, n, i) { + n && ZW({ x: e, y: t, asset: n, onChanged: i }); } -function ld({ +function cd({ gridContainer: e, getState: t = () => ({}) } = {}) { @@ -24218,22 +24233,22 @@ function ld({ } catch { return {}; } - })(), l = ri(o.target, ".mjr-asset-card"); + })(), l = li(o.target, ".mjr-asset-card"); if (!l) { - if (!db(r)) return; + if (!ub(r)) return; const u = String(((d = e == null ? void 0 : e.dataset) == null ? void 0 : d.mjrSubfolder) || "").trim(); if (!u) return; - o.preventDefault(), o.stopPropagation(), Ju({ + o.preventDefault(), o.stopPropagation(), Bu({ x: o.clientX, y: o.clientY, - items: GW({ currentPath: u, gridContainer: e }) + items: vW({ currentPath: u, gridContainer: e }) }); return; } o.preventDefault(), o.stopPropagation(); const a = l._mjrAsset; if (!a) return; - const c = MW(e), s = da(a) ? xW({ asset: a, gridContainer: e, panelState: r }) : jW({ + const c = xW(e), s = ua(a) ? LW({ asset: a, gridContainer: e, panelState: r }) : VW({ asset: a, card: l, gridContainer: e, @@ -24242,7 +24257,7 @@ function ld({ pointerY: o.clientY, selection: c }); - Ju({ + Bu({ x: o.clientX, y: o.clientY, items: s @@ -24272,20 +24287,20 @@ function ld({ (l = console.debug) == null || l.call(console, s); } try { - JI(); + TI(); } catch (s) { (a = console.debug) == null || a.call(console, s); } try { - vo(); + Vo(); } catch (s) { (c = console.debug) == null || c.call(console, s); } }; return e._mjrGridContextMenuUnbind = i, i; } -const Tu = Ri; -function vW(e) { +const Uu = Fi; +function YW(e) { var n; const t = String(e ?? ""); try { @@ -24296,7 +24311,7 @@ function vW(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -function LW(e, t = null) { +function kW(e, t = null) { var n, i, o; if (!e) return []; try { @@ -24313,7 +24328,7 @@ function LW(e, t = null) { } return []; } -function Bu(e, t, n) { +function Ku(e, t, n) { var o; if (!e) return; const i = e._mjrAsset; @@ -24327,7 +24342,7 @@ function Bu(e, t, n) { (o = console.debug) == null || o.call(console, r); } } -async function YW(e, t, n = 5) { +async function XW(e, t, n = 5) { const i = Math.max(1, Number(n) || 1); let o = 0; const r = [], l = async () => { @@ -24346,50 +24361,50 @@ async function YW(e, t, n = 5) { r.push(l()); await Promise.all(r); } -function mb({ gridContainer: e, createRatingBadge: t } = {}) { +function gb({ gridContainer: e, createRatingBadge: t } = {}) { let n = !1, i = null, o = null; const r = async (c, s) => { const d = c == null ? void 0 : c._mjrAsset, u = d == null ? void 0 : d.id; if (u != null) { try { - const I = await Do(u, s); + const I = await Ho(u, s); if (!(I != null && I.ok)) { - Ce((I == null ? void 0 : I.error) || m("toast.ratingUpdateFailed"), "error"); + Ze((I == null ? void 0 : I.error) || m("toast.ratingUpdateFailed"), "error"); return; } - Ce(m("toast.ratingSetN", { n: s }), "success", 1500); + Ze(m("toast.ratingSetN", { n: s }), "success", 1500); } catch { - Ce(m("toast.ratingUpdateError"), "error"); + Ze(m("toast.ratingUpdateError"), "error"); return; } - Bu(c, t, s); + Ku(c, t, s); } }; return { bind: () => { var c, s; if (!(n || !e)) { - n = !0, Iu(!0), i = async (d) => { - var A; - if (Wo().scope === "viewer" || d.defaultPrevented) return; + n = !0, pu(!0), i = async (d) => { + var C; + if (Mo().scope === "viewer" || d.defaultPrevented) return; const u = String(d.key || ""); if (u !== "0" && u !== "1" && u !== "2" && u !== "3" && u !== "4" && u !== "5") return; const I = document.querySelector(".mjr-viewer-overlay"); if (I && I.style.display !== "none" || !(e.contains(d.target) || e === d.target)) return; - const M = u === "0" ? 0 : Number(u); - if (!Number.isFinite(M)) return; - const Z = LW(e, d.target); - Z.length && (Z.length > 0 && (d.preventDefault(), d.stopPropagation(), (A = d.stopImmediatePropagation) == null || A.call(d)), await YW(Z, (g) => r(g, M), 5)); + const S = u === "0" ? 0 : Number(u); + if (!Number.isFinite(S)) return; + const A = kW(e, d.target); + A.length && (A.length > 0 && (d.preventDefault(), d.stopPropagation(), (C = d.stopImmediatePropagation) == null || C.call(d)), await XW(A, (g) => r(g, S), 5)); }, o = (d) => { - var M; + var S; const u = (d == null ? void 0 : d.detail) || {}, I = u.assetId ?? u.id ?? null, p = Number(u.rating); if (!(!I || !Number.isFinite(p))) try { - const Z = e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${vW(I)}"]` + const A = e.querySelector( + `.mjr-asset-card[data-mjr-asset-id="${YW(I)}"]` ); - Z && Bu(Z, t, p); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + A && Ku(A, t, p); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } }; try { @@ -24398,7 +24413,7 @@ function mb({ gridContainer: e, createRatingBadge: t } = {}) { (c = console.debug) == null || c.call(console, d); } try { - window.addEventListener(Tu, o); + window.addEventListener(Uu, o); } catch (d) { (s = console.debug) == null || s.call(console, d); } @@ -24406,14 +24421,14 @@ function mb({ gridContainer: e, createRatingBadge: t } = {}) { }, dispose: () => { var c, s; if (n) { - n = !1, Iu(!1); + n = !1, pu(!1); try { window.removeEventListener("keydown", i, { capture: !0 }); } catch (d) { (c = console.debug) == null || c.call(console, d); } try { - window.removeEventListener(Tu, o); + window.removeEventListener(Uu, o); } catch (d) { (s = console.debug) == null || s.call(console, d); } @@ -24421,7 +24436,7 @@ function mb({ gridContainer: e, createRatingBadge: t } = {}) { } } }; } -function gb(e) { +function Ib(e) { var i, o, r; if (!e || ((i = e.dataset) == null ? void 0 : i.mjrOverlayButtonBound) === "1") return e; try { @@ -24441,18 +24456,18 @@ function gb(e) { }; return e.addEventListener("pointerdown", t), e.addEventListener("mousedown", n), e.addEventListener("touchstart", t, { passive: !0 }), e.addEventListener("dblclick", t), e.addEventListener("keydown", t), e.addEventListener("dragstart", n), e; } -function VW(e) { +function NW(e) { var t; return String(((t = e == null ? void 0 : e.dataset) == null ? void 0 : t.mjrGroupStacks) || "") === "1"; } -function kW(e) { +function RW(e) { const t = String((e == null ? void 0 : e.stack_id) || "").trim(); return t ? `stack:${t}` : ""; } -function XW(e, t, n) { - return VW(e) && kW(t) || n; +function FW(e, t, n) { + return NW(e) && RW(t) || n; } -function NW(e) { +function OW(e) { var t, n, i; try { (n = (t = e._mjrStackMembersCache) == null ? void 0 : t.clear) == null || n.call(t); @@ -24460,7 +24475,7 @@ function NW(e) { (i = console.debug) == null || i.call(console, o); } } -function RW(e, t, n) { +function zW(e, t, n) { if (!t || !n || t._mjrIsVue) return; const i = !!n._mjrDupStack, o = Number(n._mjrDupCount || 0) || 0; if (!i || o < 2) { @@ -24470,7 +24485,7 @@ function RW(e, t, n) { } t.dataset.mjrDupStacked = "true", t.dataset.mjrDupCount = String(o); let r = t.querySelector(".mjr-dup-stack-button"); - r || (r = document.createElement("button"), r.type = "button", r.className = "mjr-dup-stack-button", r.setAttribute("aria-label", "Show all duplicates"), gb(r), r.addEventListener("click", (a) => { + r || (r = document.createElement("button"), r.type = "button", r.className = "mjr-dup-stack-button", r.setAttribute("aria-label", "Show all duplicates"), Ib(r), r.addEventListener("click", (a) => { var c; a.preventDefault(), a.stopPropagation(); try { @@ -24478,7 +24493,7 @@ function RW(e, t, n) { if (!s || !d) return; const u = Array.isArray(d._mjrDupMembers) ? d._mjrDupMembers : [d], I = u.length; s.dispatchEvent( - new CustomEvent(ft.OPEN_STACK_GROUP, { + new CustomEvent(ht.OPEN_STACK_GROUP, { bubbles: !0, detail: { asset: d, @@ -24495,12 +24510,12 @@ function RW(e, t, n) { const l = `${o} duplicate${o > 1 ? "s" : ""}`; r.title = `${l} β€” click to compare all copies`, r.innerHTML = `${o}`; } -function Ib(e, t = void 0) { - const n = Op(), i = zp(e, t); +function bb(e, t = void 0) { + const n = Tp(), i = Bp(e, t); return i.use(n), { app: i, pinia: n }; } -const Na = /* @__PURE__ */ new Map(); -function FW(e, t, n) { +const Ra = /* @__PURE__ */ new Map(); +function JW(e, t, n) { try { window.dispatchEvent( new CustomEvent("mjr:keepalive-attached", { @@ -24514,26 +24529,26 @@ function FW(e, t, n) { } catch { } } -function OW(e) { +function TW(e) { const t = document.createElement("div"); return t.dataset.mjrKeepAliveHost = String(e || "_mjrVueApp"), t.style.height = "100%", t.style.width = "100%", t.style.minHeight = "0", t.style.display = "flex", t.style.flexDirection = "column", t.style.overflow = "hidden", t; } -function zW(e, t) { +function BW(e, t) { var n; - !e || !t || (e.style.height = "100%", e.style.minHeight = "0", e.style.display = "flex", e.style.flexDirection = "column", e.style.overflow = "hidden", !(e.firstChild === t && e.childNodes.length === 1) && (e.replaceChildren(t), FW((n = t == null ? void 0 : t.dataset) == null ? void 0 : n.mjrKeepAliveHost, t, e))); + !e || !t || (e.style.height = "100%", e.style.minHeight = "0", e.style.display = "flex", e.style.flexDirection = "column", e.style.overflow = "hidden", !(e.firstChild === t && e.childNodes.length === 1) && (e.replaceChildren(t), JW((n = t == null ? void 0 : t.dataset) == null ? void 0 : n.mjrKeepAliveHost, t, e))); } -function ad(e, t, n = "_mjrVueApp") { +function sd(e, t, n = "_mjrVueApp") { if (!e) return !1; - let i = Na.get(n), o = !1; + let i = Ra.get(n), o = !1; if (!i) { - const r = OW(n), { app: l } = Ib(t); - l.mount(r), i = { app: l, host: r, container: null }, Na.set(n, i), o = !0; + const r = TW(n), { app: l } = bb(t); + l.mount(r), i = { app: l, host: r, container: null }, Ra.set(n, i), o = !0; } - return zW(e, i.host), i.container = e, o; + return BW(e, i.host), i.container = e, o; } -function cd(e, t = "_mjrVueApp") { +function dd(e, t = "_mjrVueApp") { var i, o; - const n = Na.get(t); + const n = Ra.get(t); if (n != null && n.app) { try { n.app.unmount(); @@ -24543,34 +24558,34 @@ function cd(e, t = "_mjrVueApp") { (o = (i = n.host) == null ? void 0 : i.remove) == null || o.call(i); } catch { } - Na.delete(t); + Ra.delete(t); } } -function _o(e, t, n) { +function er(e, t, n) { let i = n.initialDeps ?? [], o, r = !0; function l() { var a, c, s; let d; n.key && ((a = n.debug) != null && a.call(n)) && (d = Date.now()); const u = e(); - if (!(u.length !== i.length || u.some((M, Z) => i[Z] !== M))) + if (!(u.length !== i.length || u.some((S, A) => i[A] !== S))) return o; i = u; let p; if (n.key && ((c = n.debug) != null && c.call(n)) && (p = Date.now()), o = t(...u), n.key && ((s = n.debug) != null && s.call(n))) { - const M = Math.round((Date.now() - d) * 100) / 100, Z = Math.round((Date.now() - p) * 100) / 100, A = Z / 16, g = (h, f) => { - for (h = String(h); h.length < f; ) - h = " " + h; - return h; + const S = Math.round((Date.now() - d) * 100) / 100, A = Math.round((Date.now() - p) * 100) / 100, C = A / 16, g = (Z, f) => { + for (Z = String(Z); Z.length < f; ) + Z = " " + Z; + return Z; }; console.info( - `%c⏱ ${g(Z, 5)} /${g(M, 5)} ms`, + `%c⏱ ${g(A, 5)} /${g(S, 5)} ms`, ` font-size: .6rem; font-weight: bold; color: hsl(${Math.max( 0, - Math.min(120 - 120 * A, 120) + Math.min(120 - 120 * C, 120) )}deg 100% 31%);`, n == null ? void 0 : n.key ); @@ -24581,25 +24596,25 @@ function _o(e, t, n) { i = a; }, l; } -function Uu(e, t) { +function Du(e, t) { if (e === void 0) throw new Error("Unexpected undefined"); return e; } -const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { +const UW = (e, t) => Math.abs(e - t) < 1.01, KW = (e, t, n) => { let i; return function(...o) { e.clearTimeout(i), i = e.setTimeout(() => t.apply(this, o), n); }; -}, Ku = (e) => { +}, Eu = (e) => { const { offsetWidth: t, offsetHeight: n } = e; return { width: t, height: n }; -}, BW = (e) => e, UW = (e) => { +}, DW = (e) => e, EW = (e) => { const t = Math.max(e.startIndex - e.overscan, 0), n = Math.min(e.endIndex + e.overscan, e.count - 1), i = []; for (let o = t; o <= n; o++) i.push(o); return i; -}, KW = (e, t) => { +}, HW = (e, t) => { const n = e.scrollElement; if (!n) return; @@ -24610,7 +24625,7 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { const { width: a, height: c } = l; t({ width: Math.round(a), height: Math.round(c) }); }; - if (o(Ku(n)), !i.ResizeObserver) + if (o(Eu(n)), !i.ResizeObserver) return () => { }; const r = new i.ResizeObserver((l) => { @@ -24623,16 +24638,16 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { return; } } - o(Ku(n)); + o(Eu(n)); }; e.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(a) : a(); }); return r.observe(n, { box: "border-box" }), () => { r.unobserve(n); }; -}, Du = { +}, Hu = { passive: !0 -}, Eu = typeof window > "u" ? !0 : "onscrollend" in window, DW = (e, t) => { +}, qu = typeof window > "u" ? !0 : "onscrollend" in window, qW = (e, t) => { const n = e.scrollElement; if (!n) return; @@ -24640,8 +24655,8 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { if (!i) return; let o = 0; - const r = e.options.useScrollendEvent && Eu ? () => { - } : TW( + const r = e.options.useScrollendEvent && qu ? () => { + } : KW( i, () => { t(o, !1); @@ -24651,12 +24666,12 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { const { horizontal: u, isRtl: I } = e.options; o = u ? n.scrollLeft * (I && -1 || 1) : n.scrollTop, r(), t(o, d); }, a = l(!0), c = l(!1); - n.addEventListener("scroll", a, Du); - const s = e.options.useScrollendEvent && Eu; - return s && n.addEventListener("scrollend", c, Du), () => { + n.addEventListener("scroll", a, Hu); + const s = e.options.useScrollendEvent && qu; + return s && n.addEventListener("scrollend", c, Hu), () => { n.removeEventListener("scroll", a), s && n.removeEventListener("scrollend", c); }; -}, bb = (e, t, n) => { +}, pb = (e, t, n) => { if (t != null && t.borderBoxSize) { const i = t.borderBoxSize[0]; if (i) @@ -24665,7 +24680,7 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { ); } return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"]; -}, EW = (e, { +}, PW = (e, { adjustments: t = 0, behavior: n }, i) => { @@ -24676,7 +24691,7 @@ const JW = (e, t) => Math.abs(e - t) < 1.01, TW = (e, t, n) => { behavior: n }); }; -class HW { +class QW { constructor(t) { this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollState = null, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this.elementsCache = /* @__PURE__ */ new Map(), this.now = () => { var n, i, o; @@ -24725,11 +24740,11 @@ class HW { scrollPaddingStart: 0, scrollPaddingEnd: 0, horizontal: !1, - getItemKey: BW, - rangeExtractor: UW, + getItemKey: DW, + rangeExtractor: EW, onChange: () => { }, - measureElement: bb, + measureElement: pb, initialRect: { width: 0, height: 0 }, scrollMargin: 0, gap: 0, @@ -24746,7 +24761,7 @@ class HW { }, this.notify = (n) => { var i, o; (o = (i = this.options).onChange) == null || o.call(i, this, n); - }, this.maybeNotify = _o( + }, this.maybeNotify = er( () => (this.calculateRange(), [ this.isScrolling, this.range ? this.range.startIndex : null, @@ -24804,7 +24819,7 @@ class HW { break; } return r.size === this.options.lanes ? Array.from(r.values()).sort((l, a) => l.end === a.end ? l.index - a.index : l.end - a.end)[0] : void 0; - }, this.getMeasurementOptions = _o( + }, this.getMeasurementOptions = er( () => [ this.options.count, this.options.paddingStart, @@ -24824,7 +24839,7 @@ class HW { { key: !1 } - ), this.getMeasurements = _o( + ), this.getMeasurements = er( () => [this.getMeasurementOptions(), this.itemSizeCache], ({ count: n, paddingStart: i, scrollMargin: o, getItemKey: r, enabled: l, lanes: a }, c) => { if (!l) @@ -24845,25 +24860,25 @@ class HW { p && (u[p.lane] = I); } for (let I = s; I < n; I++) { - const p = r(I), M = this.laneAssignments.get(I); - let Z, A; - if (M !== void 0 && this.options.lanes > 1) { - Z = M; - const b = u[Z], v = b !== void 0 ? d[b] : void 0; - A = v ? v.end + this.options.gap : i + o; + const p = r(I), S = this.laneAssignments.get(I); + let A, C; + if (S !== void 0 && this.options.lanes > 1) { + A = S; + const b = u[A], L = b !== void 0 ? d[b] : void 0; + C = L ? L.end + this.options.gap : i + o; } else { const b = this.options.lanes === 1 ? d[I - 1] : this.getFurthestMeasurement(d, I); - A = b ? b.end + this.options.gap : i + o, Z = b ? b.lane : I % this.options.lanes, this.options.lanes > 1 && this.laneAssignments.set(I, Z); + C = b ? b.end + this.options.gap : i + o, A = b ? b.lane : I % this.options.lanes, this.options.lanes > 1 && this.laneAssignments.set(I, A); } - const g = c.get(p), h = typeof g == "number" ? g : this.options.estimateSize(I), f = A + h; + const g = c.get(p), Z = typeof g == "number" ? g : this.options.estimateSize(I), f = C + Z; d[I] = { index: I, - start: A, - size: h, + start: C, + size: Z, end: f, key: p, - lane: Z - }, u[Z] = I; + lane: A + }, u[A] = I; } return this.measurementsCache = d, d; }, @@ -24871,14 +24886,14 @@ class HW { key: !1, debug: () => this.options.debug } - ), this.calculateRange = _o( + ), this.calculateRange = er( () => [ this.getMeasurements(), this.getSize(), this.getScrollOffset(), this.options.lanes ], - (n, i, o, r) => this.range = n.length > 0 && i > 0 ? qW({ + (n, i, o, r) => this.range = n.length > 0 && i > 0 ? _W({ measurements: n, outerSize: i, scrollOffset: o, @@ -24888,7 +24903,7 @@ class HW { key: !1, debug: () => this.options.debug } - ), this.getVirtualIndexes = _o( + ), this.getVirtualIndexes = er( () => { let n = null, i = null; const o = this.calculateRange(); @@ -24949,7 +24964,7 @@ class HW { adjustments: this.scrollAdjustments += a, behavior: void 0 }), this.pendingMeasuredCacheIndexes.push(r.index), this.itemSizeCache = new Map(this.itemSizeCache.set(r.key, i)), this.notify(!1)); - }, this.getVirtualItems = _o( + }, this.getVirtualItems = er( () => [this.getVirtualIndexes(), this.getMeasurements()], (n, i) => { const o = []; @@ -24966,11 +24981,11 @@ class HW { ), this.getVirtualItemForOffset = (n) => { const i = this.getMeasurements(); if (i.length !== 0) - return Uu( - i[pb( + return Du( + i[yb( 0, i.length - 1, - (o) => Uu(i[o]).start, + (o) => Du(i[o]).start, n )] ); @@ -25089,7 +25104,7 @@ class HW { return; } const i = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0, o = i ? i[0] : this.scrollState.lastTargetOffset, r = 1, l = o !== this.scrollState.lastTargetOffset; - if (!l && JW(o, this.getScrollOffset())) { + if (!l && UW(o, this.getScrollOffset())) { if (this.scrollState.stableFrames++, this.scrollState.stableFrames >= r) { this.scrollState = null; return; @@ -25102,7 +25117,7 @@ class HW { this.scheduleScrollReconcile(); } } -const pb = (e, t, n, i) => { +const yb = (e, t, n, i) => { for (; e <= t; ) { const o = (e + t) / 2 | 0, r = n(o); if (r < i) @@ -25114,7 +25129,7 @@ const pb = (e, t, n, i) => { } return e > 0 ? e - 1 : 0; }; -function qW({ +function _W({ measurements: e, outerSize: t, scrollOffset: n, @@ -25126,7 +25141,7 @@ function qW({ startIndex: 0, endIndex: o }; - let l = pb( + let l = yb( 0, o, r, @@ -25150,43 +25165,43 @@ function qW({ } return { startIndex: l, endIndex: a }; } -function PW(e) { - const t = new HW(Ge(e)), n = vs(t), i = t._didMount(); - return an( - () => Ge(e).getScrollElement(), +function $W(e) { + const t = new QW(xe(e)), n = Vs(t), i = t._didMount(); + return cn( + () => xe(e).getScrollElement(), (o) => { o && t._willUpdate(); }, { immediate: !0 } - ), an( - () => Ge(e), + ), cn( + () => xe(e), (o) => { t.setOptions({ ...o, onChange: (r, l) => { var a; - kd(n), (a = o.onChange) == null || a.call(o, r, l); + Nd(n), (a = o.onChange) == null || a.call(o, r, l); } - }), t._willUpdate(), kd(n); + }), t._willUpdate(), Nd(n); }, { immediate: !0 } - ), Jp(i), n; + ), Up(i), n; } -function QW(e) { - return PW( - Je(() => ({ - observeElementRect: KW, - observeElementOffset: DW, - scrollToFn: EW, - ...Ge(e) +function e1(e) { + return $W( + ze(() => ({ + observeElementRect: HW, + observeElementOffset: qW, + scrollToFn: PW, + ...xe(e) })) ); } -const qr = "application/x-mjr-asset", yb = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".webp", ".gif", ".bmp", ".avif"]), fb = /* @__PURE__ */ new Set([".mp4", ".mov", ".mkv", ".webm", ".avi"]), hb = /* @__PURE__ */ new Set([".wav", ".mp3", ".flac", ".ogg", ".m4a", ".aac", ".opus"]), Cb = /* @__PURE__ */ new Set([ +const Qr = "application/x-mjr-asset", fb = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".webp", ".gif", ".bmp", ".avif"]), hb = /* @__PURE__ */ new Set([".mp4", ".mov", ".mkv", ".webm", ".avi"]), Cb = /* @__PURE__ */ new Set([".wav", ".mp3", ".flac", ".ogg", ".m4a", ".aac", ".opus"]), Zb = /* @__PURE__ */ new Set([ ".obj", ".fbx", ".glb", @@ -25196,22 +25211,22 @@ const qr = "application/x-mjr-asset", yb = /* @__PURE__ */ new Set([".png", ".jp ".splat", ".ksplat", ".spz" -]), _W = () => { +]), t1 = () => { try { return !!(window != null && window.MJR_DND_DEBUG); } catch { return !1; } -}, $o = (...e) => { - _W() && console.debug("[Majoor.DnD]", ...e); -}, $W = (e, { buildCustomViewURL: t, buildViewURL: n }) => { +}, tr = (...e) => { + t1() && console.debug("[Majoor.DnD]", ...e); +}, n1 = (e, { buildCustomViewURL: t, buildViewURL: n }) => { const i = String((e == null ? void 0 : e.type) || "output").toLowerCase(); return i === "custom" ? t( (e == null ? void 0 : e.filename) || "", (e == null ? void 0 : e.subfolder) || "", - vi(e) + Mi(e) ) : i === "input" ? n((e == null ? void 0 : e.filename) || "", (e == null ? void 0 : e.subfolder) || "", "input") : n((e == null ? void 0 : e.filename) || "", (e == null ? void 0 : e.subfolder) || "", "output"); -}, e1 = (e) => { +}, i1 = (e) => { if (!e || typeof e != "object") return null; const t = String(e.filename || "").trim(); if (!t || t.includes("/") || t.includes("\\") || t.includes("\0")) return null; @@ -25223,32 +25238,32 @@ const qr = "application/x-mjr-asset", yb = /* @__PURE__ */ new Set([".png", ".jp root_id: l || void 0, kind: a || void 0 }; -}, Hu = (e, t) => { +}, Pu = (e, t) => { var i, o; const n = (o = (i = e == null ? void 0 : e.dataTransfer) == null ? void 0 : i.getData) == null ? void 0 : o.call(i, t); if (!n) return null; try { - return e1(JSON.parse(n)); + return i1(JSON.parse(n)); } catch { return null; } -}, t1 = (e) => { - if (!e) return !1; - const t = e.lastIndexOf("."); - return t === -1 ? !1 : yb.has(e.slice(t).toLowerCase()); -}, n1 = (e) => e ? String(e.kind || "").toLowerCase() === "image" ? !0 : t1(e.filename) : !1, i1 = (e) => { +}, o1 = (e) => { if (!e) return !1; const t = e.lastIndexOf("."); return t === -1 ? !1 : fb.has(e.slice(t).toLowerCase()); -}, o1 = (e) => e ? e.kind === "video" ? !0 : i1(e.filename) : !1, r1 = (e) => { +}, r1 = (e) => e ? String(e.kind || "").toLowerCase() === "image" ? !0 : o1(e.filename) : !1, l1 = (e) => { if (!e) return !1; const t = e.lastIndexOf("."); return t === -1 ? !1 : hb.has(e.slice(t).toLowerCase()); -}, l1 = (e) => e ? String(e.kind || "").toLowerCase() === "audio" ? !0 : r1(e.filename) : !1, a1 = (e) => { +}, a1 = (e) => e ? e.kind === "video" ? !0 : l1(e.filename) : !1, c1 = (e) => { if (!e) return !1; const t = e.lastIndexOf("."); return t === -1 ? !1 : Cb.has(e.slice(t).toLowerCase()); -}, c1 = (e) => e ? String(e.kind || "").toLowerCase() === "model3d" ? !0 : a1(e.filename) : !1, qu = (e) => n1(e) || o1(e) || l1(e) || c1(e), s1 = { +}, s1 = (e) => e ? String(e.kind || "").toLowerCase() === "audio" ? !0 : c1(e.filename) : !1, d1 = (e) => { + if (!e) return !1; + const t = e.lastIndexOf("."); + return t === -1 ? !1 : Zb.has(e.slice(t).toLowerCase()); +}, u1 = (e) => e ? String(e.kind || "").toLowerCase() === "model3d" ? !0 : d1(e.filename) : !1, Qu = (e) => r1(e) || a1(e) || s1(e) || u1(e), m1 = { mp4: "video/mp4", mov: "video/quicktime", webm: "video/webm", @@ -25258,71 +25273,71 @@ const qr = "application/x-mjr-asset", yb = /* @__PURE__ */ new Set([".png", ".jp obj: "model/obj", stl: "model/stl", ply: "application/ply" -}, d1 = (e) => { +}, g1 = (e) => { var n; const t = (n = String(e || "").split(".").pop()) == null ? void 0 : n.toLowerCase(); - return s1[t] ?? "application/octet-stream"; -}, Zb = (e, t) => { + return m1[t] ?? "application/octet-stream"; +}, Ab = (e, t) => { if (typeof e != "string") return !1; const n = e.trim().toLowerCase(); if (!n) return !1; const i = (n.split(/[?#]/)[0].split(".").pop() || "").toLowerCase(); - return i ? t && i === String(t).toLowerCase() ? !0 : fb.has(`.${i}`) : !1; -}, tc = (e, t, n) => { + return i ? t && i === String(t).toLowerCase() ? !0 : hb.has(`.${i}`) : !1; +}, nc = (e, t, n) => { if (!e || e.type !== "combo" || !e.options) return !1; const i = Array.isArray(e.options.values) && e.options.values || e.options.values && Array.isArray(e.options.values.values) && e.options.values.values || null; return Array.isArray(i) ? i.some((o) => { const r = typeof o == "string" ? o : (o == null ? void 0 : o.content) ?? (o == null ? void 0 : o.value) ?? (o == null ? void 0 : o.text); return n(r, t); }) : !1; -}, u1 = (e, t) => tc(e, t, Zb), Ab = (e, t) => { +}, I1 = (e, t) => nc(e, t, Ab), Wb = (e, t) => { if (typeof e != "string") return !1; const n = e.trim().toLowerCase(); if (!n) return !1; const i = (n.split(/[?#]/)[0].split(".").pop() || "").toLowerCase(); - return i ? t && i === String(t).toLowerCase() ? !0 : yb.has(`.${i}`) : !1; -}, m1 = (e, t) => tc(e, t, Ab), Wb = (e, t) => { - if (typeof e != "string") return !1; - const n = e.trim().toLowerCase(); - if (!n) return !1; - const i = (n.split(/[?#]/)[0].split(".").pop() || "").toLowerCase(); - return i ? t && i === String(t).toLowerCase() ? !0 : hb.has(`.${i}`) : !1; -}, g1 = (e, t) => tc(e, t, Wb), wb = (e, t) => { + return i ? t && i === String(t).toLowerCase() ? !0 : fb.has(`.${i}`) : !1; +}, b1 = (e, t) => nc(e, t, Wb), wb = (e, t) => { if (typeof e != "string") return !1; const n = e.trim().toLowerCase(); if (!n) return !1; const i = (n.split(/[?#]/)[0].split(".").pop() || "").toLowerCase(); return i ? t && i === String(t).toLowerCase() ? !0 : Cb.has(`.${i}`) : !1; -}, I1 = (e, t) => tc(e, t, wb), Ra = /* @__PURE__ */ new WeakMap(); -let Fa = !1; -function b1(e) { - return e && Ra.get(e) || null; +}, p1 = (e, t) => nc(e, t, wb), Mb = (e, t) => { + if (typeof e != "string") return !1; + const n = e.trim().toLowerCase(); + if (!n) return !1; + const i = (n.split(/[?#]/)[0].split(".").pop() || "").toLowerCase(); + return i ? t && i === String(t).toLowerCase() ? !0 : Zb.has(`.${i}`) : !1; +}, y1 = (e, t) => nc(e, t, Mb), Fa = /* @__PURE__ */ new WeakMap(); +let Oa = !1; +function f1(e) { + return e && Fa.get(e) || null; } -function p1(e, t) { - return e ? typeof t == "function" ? (Ra.set(e, t), t) : (Ra.delete(e), null) : null; +function h1(e, t) { + return e ? typeof t == "function" ? (Fa.set(e, t), t) : (Fa.delete(e), null) : null; } -function y1(e) { - e && Ra.delete(e); +function C1(e) { + e && Fa.delete(e); } -function f1() { - Fa = !0; +function Z1() { + Oa = !0; } -function h1() { - return Fa ? (Fa = !1, !0) : !1; +function A1() { + return Oa ? (Oa = !1, !0) : !1; } -function Pu() { - Fa = !1; +function _u() { + Oa = !1; } -const C1 = (e) => { +const W1 = (e) => { var n; const t = ((n = e == null ? void 0 : e.canvas) == null ? void 0 : n.canvas) || document.querySelector("canvas"); return t ? t.getBoundingClientRect() : null; -}, Qu = (e, t) => { - const n = C1(e); +}, $u = (e, t) => { + const n = W1(e); if (!n) return !1; const i = t.clientX, o = t.clientY; return i >= n.left && i <= n.right && o >= n.top && o <= n.bottom; -}, Lo = (e) => { +}, Yo = (e) => { var t, n, i, o, r, l; try { (n = (t = e == null ? void 0 : e.graph) == null ? void 0 : t.setDirtyCanvas) == null || n.call(t, !0, !0); @@ -25334,13 +25349,13 @@ const C1 = (e) => { } catch (a) { (l = console.debug) == null || l.call(console, a); } -}, ds = (e) => { +}, ms = (e) => { try { return new URL(String(e || ""), window.location.href).href; } catch { return String(e || ""); } -}, Z1 = () => Ep("mjr_", 24), A1 = (e) => { +}, w1 = () => Pp("mjr_", 24), M1 = (e) => { const t = e && typeof e == "object" ? e : null; if (!t) return null; const n = t.filename || t.name; @@ -25348,9 +25363,9 @@ const C1 = (e) => { filename: n, subfolder: t.subfolder || "", type: String(t.type || "output").toLowerCase(), - root_id: vi(t) || void 0 + root_id: Mi(t) || void 0 } : null; -}, Mb = (e, t) => { +}, Sb = (e, t) => { var r, l, a, c; const n = []; if (!e || !t) return n; @@ -25394,29 +25409,29 @@ const C1 = (e) => { !d || typeof d != "object" || n.push(d); } return n; -}, W1 = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".webp", ".avif", ".mp4", ".mov"]), w1 = (e) => { +}, S1 = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".webp", ".avif", ".mp4", ".mov"]), G1 = (e) => { if (!e || typeof e != "object") return !1; if (e.has_workflow || e.has_generation_data) return !0; const t = String(e.ext || e.filename || "").toLowerCase(), n = t.includes(".") ? t.slice(t.lastIndexOf(".")) : `.${t}`; - return W1.has(n); -}, M1 = (e) => { + return S1.has(n); +}, x1 = (e) => { var n; if (!e || typeof e != "object") return ""; const t = e.filepath || e.path || ((n = e == null ? void 0 : e.file_info) == null ? void 0 : n.filepath) || ""; return t ? String(t) : ""; -}, S1 = (e) => { +}, j1 = (e) => { var t, n; for (const i of e) { - const o = M1(i); + const o = x1(i); if (!o) { (t = console.debug) == null || t.call(console, "[DragOut] No filepath for asset:", i == null ? void 0 : i.filename); continue; } - const r = oy(o); + const r = ay(o); if (!r) continue; const l = document.createElement("a"); try { - l.href = ds(r), l.download = i.filename || i.name || "download", l.style.display = "none", document.body.appendChild(l), l.click(), setTimeout(() => { + l.href = ms(r), l.download = i.filename || i.name || "download", l.style.display = "none", document.body.appendChild(l), l.click(), setTimeout(() => { try { l.remove(); } catch { @@ -25430,31 +25445,31 @@ const C1 = (e) => { (n = console.debug) == null || n.call(console, a); } } -}, G1 = ({ dt: e, asset: t, containerEl: n, card: i, viewUrl: o }) => { +}, v1 = ({ dt: e, asset: t, containerEl: n, card: i, viewUrl: o }) => { var s, d, u; if (!e || !t) return; - const r = Mb(n, i); + const r = Sb(n, i); if (Array.isArray(r) && r.length > 1) { - const I = r.map(A1).filter(Boolean); + const I = r.map(M1).filter(Boolean); if (I.length > 1) { let p = ""; try { - p = Z1(); - } catch (M) { - console.warn("[DragOut] failed to create secure batch token", M); + p = w1(); + } catch (S) { + console.warn("[DragOut] failed to create secure batch token", S); } if (p) { try { - Et(lt.BATCH_ZIP_CREATE, { token: p, items: I }).catch(() => { + Et(ct.BATCH_ZIP_CREATE, { token: p, items: I }).catch(() => { }); - } catch (A) { - (s = console.debug) == null || s.call(console, A); + } catch (C) { + (s = console.debug) == null || s.call(console, C); } - const M = ds($p(p)), Z = `Majoor_Batch_${I.length}.zip`; + const S = ms(ny(p)), A = `Majoor_Batch_${I.length}.zip`; try { - e.setData("text/uri-list", M), e.setData("DownloadURL", `application/zip:${Z}:${M}`), e.effectAllowed = "copy"; - } catch (A) { - (d = console.debug) == null || d.call(console, A); + e.setData("text/uri-list", S), e.setData("DownloadURL", `application/zip:${A}:${S}`), e.effectAllowed = "copy"; + } catch (C) { + (d = console.debug) == null || d.call(console, C); } return; } @@ -25462,20 +25477,20 @@ const C1 = (e) => { } const l = t.filename || t.name; if (!l) return; - const a = ds(o), c = d1(l); + const a = ms(o), c = g1(l); try { e.setData("text/uri-list", a), e.setData("DownloadURL", `${c}:${l}:${a}`), e.effectAllowed = "copy"; } catch (I) { (u = console.debug) == null || u.call(console, I); } -}, x1 = (e, { asset: t, containerEl: n, card: i }) => { +}, L1 = (e, { asset: t, containerEl: n, card: i }) => { var o, r; if (!(!e || !t)) try { const l = (o = e == null ? void 0 : e.dataTransfer) == null ? void 0 : o.dropEffect; - if (!l || l === "none" || h1()) return; - const a = Mb(n, i), c = a.length > 1 ? a : [t]; - if (!c.some(w1)) return; + if (!l || l === "none" || A1()) return; + const a = Sb(n, i), c = a.length > 1 ? a : [t]; + if (!c.some(G1)) return; const d = c.length, u = t.filename || t.name || "file", I = m( "dialog.stripMetadataBody", "Would you like to download a clean copy with ComfyUI workflow and generation metadata removed?" @@ -25484,21 +25499,21 @@ const C1 = (e) => { ${I}` : `${m("dialog.stripMetadataHeader", `You dragged "${u}" outside ComfyUI.`)} ${I}`; - bi(p, m("dialog.stripMetadataTitle", "Strip ComfyUI Metadata?")).then((M) => { - M && S1(c); + yi(p, m("dialog.stripMetadataTitle", "Strip ComfyUI Metadata?")).then((S) => { + S && j1(c); }).catch(() => { }); } catch (l) { (r = console.debug) == null || r.call(console, l); } -}, _u = /* @__PURE__ */ new WeakMap(), Sb = (e) => { +}, em = /* @__PURE__ */ new WeakMap(), Gb = (e) => { if (!e || typeof e != "object") return { node: null, prev: null }; - let t = _u.get(e); - return t || (t = { node: null, prev: null }, _u.set(e, t)), t; -}, $u = (e, t, n) => { - var M, Z, A; - const i = ((M = e == null ? void 0 : e.canvas) == null ? void 0 : M.canvas) || document.querySelector("canvas"), o = (Z = e == null ? void 0 : e.canvas) == null ? void 0 : Z.graph, r = (A = e == null ? void 0 : e.canvas) == null ? void 0 : A.ds; + let t = em.get(e); + return t || (t = { node: null, prev: null }, em.set(e, t)), t; +}, tm = (e, t, n) => { + var S, A, C; + const i = ((S = e == null ? void 0 : e.canvas) == null ? void 0 : S.canvas) || document.querySelector("canvas"), o = (A = e == null ? void 0 : e.canvas) == null ? void 0 : A.graph, r = (C = e == null ? void 0 : e.canvas) == null ? void 0 : C.ds; if (!i || !o || !r) return null; const l = i.getBoundingClientRect(); if (t < l.left || t > l.right || n < l.top || n > l.bottom) @@ -25508,20 +25523,20 @@ ${I}`; return o.getNodeOnPos(u, I); const p = o._nodes || []; for (let g = p.length - 1; g >= 0; g--) { - const h = p[g]; - if (!(h != null && h.pos) || !(h != null && h.size)) continue; - const f = h.size[0]; - let b = h.size[1]; - if (h.flags && h.flags.collapsed && (b = 30), u >= h.pos[0] && I >= h.pos[1] && u <= h.pos[0] + f && I <= h.pos[1] + b) - return h; + const Z = p[g]; + if (!(Z != null && Z.pos) || !(Z != null && Z.size)) continue; + const f = Z.size[0]; + let b = Z.size[1]; + if (Z.flags && Z.flags.collapsed && (b = 30), u >= Z.pos[0] && I >= Z.pos[1] && u <= Z.pos[0] + f && I <= Z.pos[1] + b) + return Z; } return null; -}, j1 = (e, t, n) => { - const i = Sb(e); - !t || i.node === t || (gr(e, n), i.node = t, i.prev = { color: t.color, bgcolor: t.bgcolor }, t.bgcolor = "#3355ff", t.color = "#a9c4ff", n(e)); -}, gr = (e, t) => { +}, V1 = (e, t, n) => { + const i = Gb(e); + !t || i.node === t || (br(e, n), i.node = t, i.prev = { color: t.color, bgcolor: t.bgcolor }, t.bgcolor = "#3355ff", t.color = "#a9c4ff", n(e)); +}, br = (e, t) => { var i; - const n = Sb(e); + const n = Gb(e); if (n.node) { try { n.prev && (n.node.color = n.prev.color, n.node.bgcolor = n.prev.bgcolor); @@ -25530,7 +25545,7 @@ ${I}`; } n.node = null, n.prev = null, t(e); } -}, v1 = (e, t) => { +}, Y1 = (e, t) => { if (!e || e.type !== "combo" || !e.options) return; let n = e.options.values, i = e.options; if (typeof n == "function") @@ -25541,7 +25556,7 @@ ${I}`; else return; n.some((r) => typeof r == "string" ? r === t : ((r == null ? void 0 : r.content) ?? (r == null ? void 0 : r.value) ?? (r == null ? void 0 : r.text)) === t) || (n.length === 0 || typeof n[0] == "string" ? n.unshift(t) : n.unshift({ content: t, text: t, value: t }), i.values = n); -}, L1 = /* @__PURE__ */ new Set(["number", "int", "float", "boolean", "toggle", "checkbox"]), Y1 = ["output", "save", "export", "folder", "dir"], V1 = ["file", "path"], k1 = ["path", "file", "input", "src", "source"], X1 = (e, t, n) => { +}, k1 = /* @__PURE__ */ new Set(["number", "int", "float", "boolean", "toggle", "checkbox"]), X1 = ["output", "save", "export", "folder", "dir"], N1 = ["file", "path"], R1 = ["path", "file", "input", "src", "source"], F1 = (e, t, n) => { var s; const i = e == null ? void 0 : e.widgets; if (!Array.isArray(i) || !i.length) return null; @@ -25549,19 +25564,19 @@ ${I}`; for (const d of i) { if (!d) continue; const u = String((d == null ? void 0 : d.type) || "").toLowerCase(), I = d == null ? void 0 : d.value; - if (L1.has(u) || typeof I == "number" || typeof I == "boolean") continue; - const p = u === "text" || u === "string" || u === "combo", M = typeof (d == null ? void 0 : d.callback) == "function" && typeof I == "string"; - if (!p && !M) continue; - const Z = String((d == null ? void 0 : d.name) || (d == null ? void 0 : d.label) || "").toLowerCase().trim(); - let A = 0; - n.exactNames.has(Z) && (A += 100), Z === "file" && l && u === "combo" && n.comboChecker(d, o) && (A += 100); - const g = n.mediaTerms.some((b) => Z.includes(b)), h = k1.some((b) => Z.includes(b)); - g && h && (A += 80), V1.some((b) => Z.includes(b)) && (A += 35); - for (const { terms: b, score: v } of n.extraTerms) - b.some((C) => Z.includes(C)) && (A += v); - Y1.some((b) => Z.includes(b)) && (A -= 90), n.exactSingleNames.has(Z) && (typeof I == "string" && I.trim() === "" || n.looksLikeFn(I, o) ? A += 25 : A -= 10), l && (A += 15); + if (k1.has(u) || typeof I == "number" || typeof I == "boolean") continue; + const p = u === "text" || u === "string" || u === "combo", S = typeof (d == null ? void 0 : d.callback) == "function" && typeof I == "string"; + if (!p && !S) continue; + const A = String((d == null ? void 0 : d.name) || (d == null ? void 0 : d.label) || "").toLowerCase().trim(); + let C = 0; + n.exactNames.has(A) && (C += 100), A === "file" && l && u === "combo" && n.comboChecker(d, o) && (C += 100); + const g = n.mediaTerms.some((b) => A.includes(b)), Z = R1.some((b) => A.includes(b)); + g && Z && (C += 80), N1.some((b) => A.includes(b)) && (C += 35); + for (const { terms: b, score: L } of n.extraTerms) + b.some((h) => A.includes(h)) && (C += L); + X1.some((b) => A.includes(b)) && (C -= 90), n.exactSingleNames.has(A) && (typeof I == "string" && I.trim() === "" || n.looksLikeFn(I, o) ? C += 25 : C -= 10), l && (C += 15); const f = typeof I == "string" && I.trim() === ""; - f && (A += 3), u === "combo" && n.comboChecker(d, o) && (A += 12), a.push({ w: d, score: A, emptyValue: f, combo: u === "combo" }); + f && (C += 3), u === "combo" && n.comboChecker(d, o) && (C += 12), a.push({ w: d, score: C, emptyValue: f, combo: u === "combo" }); } if (!a.length) return null; a.sort((d, u) => u.score !== d.score ? u.score - d.score : u.emptyValue !== d.emptyValue ? u.emptyValue ? 1 : -1 : u.combo !== d.combo ? u.combo ? 1 : -1 : 0); @@ -25573,34 +25588,34 @@ ${I}`; (s = console.debug) == null || s.call(console, d); } return c.w; -}, N1 = { +}, O1 = { exactNames: /* @__PURE__ */ new Set(["video_path", "input_video", "source_video", "video"]), knownNodeIncludes: ["loadvideo", "vhs_loadvideo", "videoloader"], mediaTerms: ["video"], extraTerms: [{ terms: ["media", "clip", "footage"], score: 45 }], exactSingleNames: /* @__PURE__ */ new Set(["video"]), - looksLikeFn: Zb, - comboChecker: u1, + looksLikeFn: Ab, + comboChecker: I1, scoreKey: "__mjrVideoPickScore" -}, R1 = { +}, z1 = { exactNames: /* @__PURE__ */ new Set(["image", "image_path", "input_image", "source_image"]), knownNodeIncludes: ["loadimage", "loadimagemask", "imageloader"], mediaTerms: ["image", "img", "mask", "frame", "photo", "picture"], extraTerms: [{ terms: ["media", "source", "first", "last"], score: 35 }], exactSingleNames: /* @__PURE__ */ new Set(["image"]), - looksLikeFn: Ab, - comboChecker: m1, + looksLikeFn: Wb, + comboChecker: b1, scoreKey: "__mjrImagePickScore" -}, F1 = { +}, J1 = { exactNames: /* @__PURE__ */ new Set(["audio_path", "input_audio", "source_audio", "audio"]), knownNodeIncludes: ["loadaudio", "vhs_loadaudioupload", "vhs_loadaudio", "audioloader", "inputaudio"], mediaTerms: ["audio", "sound", "music"], extraTerms: [{ terms: ["media", "track"], score: 45 }], exactSingleNames: /* @__PURE__ */ new Set(["audio"]), - looksLikeFn: Wb, - comboChecker: g1, + looksLikeFn: wb, + comboChecker: p1, scoreKey: "__mjrAudioPickScore" -}, O1 = { +}, T1 = { exactNames: /* @__PURE__ */ new Set([ "model_path", "input_model", @@ -25631,13 +25646,13 @@ ${I}`; mediaTerms: ["model", "mesh", "geometry", "scene", "object", "point", "cloud", "splat"], extraTerms: [{ terms: ["asset", "resource"], score: 30 }], exactSingleNames: /* @__PURE__ */ new Set(["model", "mesh", "geometry"]), - looksLikeFn: wb, - comboChecker: I1, + looksLikeFn: Mb, + comboChecker: y1, scoreKey: "__mjrModel3DPickScore" -}, em = (e, t, n) => { +}, nm = (e, t, n) => { const i = String((t == null ? void 0 : t.kind) || "").toLowerCase(); - return X1(e, n, i === "model3d" ? O1 : i === "audio" ? F1 : i === "image" ? R1 : N1); -}, z1 = async ({ post: e, endpoint: t, payload: n, index: i = !0, purpose: o = null }) => { + return F1(e, n, i === "model3d" ? T1 : i === "audio" ? J1 : i === "image" ? z1 : O1); +}, B1 = async ({ post: e, endpoint: t, payload: n, index: i = !0, purpose: o = null }) => { const r = { index: !!i, files: [ @@ -25646,12 +25661,12 @@ ${I}`; subfolder: n.subfolder || "", dest_subfolder: "", type: n.type || "output", - root_id: vi(n) || void 0 + root_id: Mi(n) || void 0 } ] }; return o && (r.purpose = o), e(t, r); -}, Gb = async ({ +}, xb = async ({ post: e, endpoint: t, payload: n, @@ -25659,7 +25674,7 @@ ${I}`; purpose: o = null }) => { var c; - const r = await z1({ post: e, endpoint: t, payload: n, index: i, purpose: o }); + const r = await B1({ post: e, endpoint: t, payload: n, index: i, purpose: o }); if (!(r != null && r.ok)) return console.warn("Majoor: stage-to-input failed", (r == null ? void 0 : r.error) || r), null; const l = Array.isArray((c = r.data) == null ? void 0 : c.staged) ? r.data.staged[0] : null; @@ -25669,53 +25684,53 @@ ${I}`; name: (l == null ? void 0 : l.name) || null, subfolder: (l == null ? void 0 : l.subfolder) || "" } : null; -}, J1 = async ({ post: e, endpoint: t, payload: n, index: i = !0, purpose: o = null }) => { - const r = await Gb({ post: e, endpoint: t, payload: n, index: i, purpose: o }); +}, U1 = async ({ post: e, endpoint: t, payload: n, index: i = !0, purpose: o = null }) => { + const r = await xb({ post: e, endpoint: t, payload: n, index: i, purpose: o }); return (r == null ? void 0 : r.relativePath) || null; -}, rl = () => { +}, al = () => { const e = Qn(); return e && typeof e == "object" ? e : null; -}, T1 = (e) => $W(e, { buildCustomViewURL: sg, buildViewURL: dl }), Io = /* @__PURE__ */ new Map(), xb = 6e4, tm = 20, B1 = 5 * 1024 * 1024, U1 = 5e3, K1 = 2e4, D1 = 256, E1 = 8192, H1 = /[\u0000-\u001f\u007f]/, q1 = /\u0000/, P1 = (e) => H1.test(String(e || "")), Q1 = (e) => q1.test(String(e || "")), _1 = (e) => { +}, K1 = (e) => n1(e, { buildCustomViewURL: dg, buildViewURL: ul }), po = /* @__PURE__ */ new Map(), jb = 6e4, im = 20, D1 = 5 * 1024 * 1024, E1 = 5e3, H1 = 2e4, q1 = 256, P1 = 8192, Q1 = /[\u0000-\u001f\u007f]/, _1 = /\u0000/, $1 = (e) => Q1.test(String(e || "")), ew = (e) => _1.test(String(e || "")), tw = (e) => { if (!e || typeof e != "object" || Array.isArray(e)) return !1; const t = Number(e.id); if (!Number.isFinite(t)) return !1; const n = e.type == null ? "" : String(e.type); - if (n && (n.length > D1 || P1(n))) + if (n && (n.length > q1 || $1(n))) return !1; const i = e.widgets_values; if (Array.isArray(i)) { for (const o of i) - if (typeof o == "string" && (o.length > E1 || Q1(o))) + if (typeof o == "string" && (o.length > P1 || ew(o))) return !1; } return !0; -}, $1 = (e) => { +}, nw = (e) => { if (Array.isArray(e)) return e.length >= 4; if (e && typeof e == "object") { const t = Number(e.id); return !!Number.isFinite(t); } return !1; -}, nm = (e) => { - if (!e || typeof e != "object" || !Array.isArray(e.nodes) || !Array.isArray(e.links) || e.nodes.length > U1 || e.links.length > K1 || !e.nodes.every(_1) || !e.links.every($1)) return !1; +}, om = (e) => { + if (!e || typeof e != "object" || !Array.isArray(e.nodes) || !Array.isArray(e.links) || e.nodes.length > E1 || e.links.length > H1 || !e.nodes.every(tw) || !e.links.every(nw)) return !1; try { const t = JSON.stringify(e).length; - if (!Number.isFinite(t) || t <= 0 || t > B1) return !1; + if (!Number.isFinite(t) || t <= 0 || t > D1) return !1; } catch { return !1; } return !0; -}, ew = () => { +}, iw = () => { const e = Date.now(); - for (const [t, n] of Io.entries()) - e - ((n == null ? void 0 : n.at) || 0) > xb && Io.delete(t); - Io.size > tm && Array.from(Io.entries()).sort( + for (const [t, n] of po.entries()) + e - ((n == null ? void 0 : n.at) || 0) > jb && po.delete(t); + po.size > im && Array.from(po.entries()).sort( (i, o) => { var r, l; return (((r = i[1]) == null ? void 0 : r.at) || 0) - (((l = o[1]) == null ? void 0 : l.at) || 0); } - ).slice(0, Io.size - tm).forEach(([i]) => Io.delete(i)); -}, er = (e, t) => { + ).slice(0, po.size - im).forEach(([i]) => po.delete(i)); +}, nr = (e, t) => { var n, i, o; if (t) try { @@ -25727,18 +25742,18 @@ ${I}`; } catch (r) { (o = console.debug) == null || o.call(console, r); } -}, tw = async (e, t = null) => { - var a, c, s, d, u, I, p, M, Z, A, g, h, f, b, v; - const n = e && typeof e == "object" ? e : null, i = vi(n), o = (n == null ? void 0 : n.filename) || (t ? String(t).split(/[\\/]/).pop() : null), r = rl(), l = n != null && n.filename ? `${n.type || "output"}:${n.filename}:${n.subfolder || ""}:${i}` : t ? `path:${t}` : null; +}, ow = async (e, t = null) => { + var a, c, s, d, u, I, p, S, A, C, g, Z, f, b, L; + const n = e && typeof e == "object" ? e : null, i = Mi(n), o = (n == null ? void 0 : n.filename) || (t ? String(t).split(/[\\/]/).pop() : null), r = al(), l = n != null && n.filename ? `${n.type || "output"}:${n.filename}:${n.subfolder || ""}:${i}` : t ? `path:${t}` : null; if (l) { - const C = Io.get(l), S = Date.now(); - if (C && S - (C.at || 0) < xb) { - if (C.workflow && nm(C.workflow)) + const h = po.get(l), G = Date.now(); + if (h && G - (h.at || 0) < jb) { + if (h.workflow && om(h.workflow)) try { if (typeof (r == null ? void 0 : r.loadGraphData) == "function") - return r.loadGraphData(C.workflow), er(r, o), !0; + return r.loadGraphData(h.workflow), nr(r, o), !0; if (typeof ((c = (a = r == null ? void 0 : r.canvas) == null ? void 0 : a.graph) == null ? void 0 : c.configure) == "function") { - r.canvas.graph.configure(C.workflow), er(r, o); + r.canvas.graph.configure(h.workflow), nr(r, o); try { (d = (s = r.canvas).setDirty) == null || d.call(s, !0, !0); } catch (W) { @@ -25747,7 +25762,7 @@ ${I}`; return !0; } if (typeof ((I = r == null ? void 0 : r.graph) == null ? void 0 : I.configure) == "function") - return r.graph.configure(C.workflow), er(r, o), !0; + return r.graph.configure(h.workflow), nr(r, o), !0; } catch (W) { (p = console.debug) == null || p.call(console, W); } @@ -25755,38 +25770,38 @@ ${I}`; } } try { - let C = null, S = null; + let h = null, G = null; if (n != null && n.filename) { - const W = `${lt.WORKFLOW_QUICK}?type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}` + (i ? `&root_id=${encodeURIComponent(i)}` : ""), y = await Rt(W); - y != null && y.ok && y.workflow && (S = y.workflow), S || (C = `${lt.METADATA}?workflow_only=1&type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}&root_id=${encodeURIComponent(i)}`); - } else t && (C = `${lt.METADATA}?workflow_only=1&path=${encodeURIComponent(String(t))}`); - if (!S && C) { - const W = await Rt(C); + const W = `${ct.WORKFLOW_QUICK}?type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}` + (i ? `&root_id=${encodeURIComponent(i)}` : ""), y = await Ft(W); + y != null && y.ok && y.workflow && (G = y.workflow), G || (h = `${ct.METADATA}?workflow_only=1&type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}&root_id=${encodeURIComponent(i)}`); + } else t && (h = `${ct.METADATA}?workflow_only=1&path=${encodeURIComponent(String(t))}`); + if (!G && h) { + const W = await Ft(h); if (!(W != null && W.ok) || !W.data) return !1; - S = (M = W.data) == null ? void 0 : M.workflow; + G = (S = W.data) == null ? void 0 : S.workflow; } - if (!nm(S)) + if (!om(G)) return !1; - if (l && (Io.set(l, { workflow: S, at: Date.now() }), ew()), typeof (r == null ? void 0 : r.loadGraphData) == "function") - return r.loadGraphData(S), er(r, o), !0; - if (typeof ((A = (Z = r == null ? void 0 : r.canvas) == null ? void 0 : Z.graph) == null ? void 0 : A.configure) == "function") { - r.canvas.graph.configure(S), er(r, o); + if (l && (po.set(l, { workflow: G, at: Date.now() }), iw()), typeof (r == null ? void 0 : r.loadGraphData) == "function") + return r.loadGraphData(G), nr(r, o), !0; + if (typeof ((C = (A = r == null ? void 0 : r.canvas) == null ? void 0 : A.graph) == null ? void 0 : C.configure) == "function") { + r.canvas.graph.configure(G), nr(r, o); try { - (h = (g = r.canvas).setDirty) == null || h.call(g, !0, !0); + (Z = (g = r.canvas).setDirty) == null || Z.call(g, !0, !0); } catch (W) { (f = console.debug) == null || f.call(console, W); } return !0; } if (typeof ((b = r == null ? void 0 : r.graph) == null ? void 0 : b.configure) == "function") - return r.graph.configure(S), er(r, o), !0; - } catch (C) { - (v = console.debug) == null || v.call(console, C); + return r.graph.configure(G), nr(r, o), !0; + } catch (h) { + (L = console.debug) == null || L.call(console, h); } return !1; }; -function nw(e) { +function rw(e) { return (t) => { var s, d, u, I, p; const n = t == null ? void 0 : t.dataTransfer; @@ -25799,125 +25814,125 @@ function nw(e) { filename: o.filename, subfolder: o.subfolder || "", type: l, - root_id: vi(o) || void 0, + root_id: Mi(o) || void 0, kind: r }; try { - n.setData(qr, JSON.stringify(a)), n.setData("text/plain", String(o.filename || "")); - const M = T1(a); - G1({ dt: n, asset: o, containerEl: e, card: i, viewUrl: M }); - } catch (M) { - (u = console.debug) == null || u.call(console, M); + n.setData(Qr, JSON.stringify(a)), n.setData("text/plain", String(o.filename || "")); + const S = K1(a); + v1({ dt: n, asset: o, containerEl: e, card: i, viewUrl: S }); + } catch (S) { + (u = console.debug) == null || u.call(console, S); } try { i.addEventListener( "dragend", - (M) => { - x1(M, { asset: o, containerEl: e, card: i }); + (S) => { + L1(S, { asset: o, containerEl: e, card: i }); }, { once: !0 } ); - } catch (M) { - (I = console.debug) == null || I.call(console, M); + } catch (S) { + (I = console.debug) == null || I.call(console, S); } const c = i.querySelector("img") || i.querySelector("video") || i.querySelector("canvas"); if (c && c instanceof HTMLElement) try { n.setDragImage(c, 10, 10); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } }; } -const iw = (e) => { +const lw = (e) => { if (!e) return () => { }; - const t = b1(e); + const t = f1(e); if (typeof t == "function") return t; - const n = nw(e); - return e.addEventListener("dragstart", n, !0), p1(e, () => { + const n = rw(e); + return e.addEventListener("dragstart", n, !0), h1(e, () => { var o; try { e.removeEventListener("dragstart", n, !0); } catch (r) { (o = console.debug) == null || o.call(console, r); } - y1(e); + C1(e); }); }; -let Xo = null, Ir = 0; -function ow() { +let Ro = null, pr = 0; +function aw() { return { onDragOver: (i) => { var d, u; - const o = rl(); - if (!Array.from(((d = i == null ? void 0 : i.dataTransfer) == null ? void 0 : d.types) || []).includes(qr)) return; - const l = Hu(i, qr); - if (!qu(l)) return; - const a = $u(o, i.clientX, i.clientY), c = String((l == null ? void 0 : l.filename) || "").split(".").pop() || "", s = a ? em(a, l, c) : null; + const o = al(); + if (!Array.from(((d = i == null ? void 0 : i.dataTransfer) == null ? void 0 : d.types) || []).includes(Qr)) return; + const l = Pu(i, Qr); + if (!Qu(l)) return; + const a = tm(o, i.clientX, i.clientY), c = String((l == null ? void 0 : l.filename) || "").split(".").pop() || "", s = a ? nm(a, l, c) : null; if (a && s) { - i.preventDefault(), (u = i.stopImmediatePropagation) == null || u.call(i), i.stopPropagation(), j1(o, a, Lo), i.dataTransfer.dropEffect = "copy", $o("dragover", { node: a == null ? void 0 : a.title, widget: s == null ? void 0 : s.name }); + i.preventDefault(), (u = i.stopImmediatePropagation) == null || u.call(i), i.stopPropagation(), V1(o, a, Yo), i.dataTransfer.dropEffect = "copy", tr("dragover", { node: a == null ? void 0 : a.title, widget: s == null ? void 0 : s.name }); return; } - gr(o, Lo), Qu(o, i) && (i.preventDefault(), i.dataTransfer.dropEffect = "copy"); + br(o, Yo), $u(o, i) && (i.preventDefault(), i.dataTransfer.dropEffect = "copy"); }, onDrop: async (i) => { - var u, I, p, M, Z; - f1(); - const o = rl(); - if (!Array.from(((u = i == null ? void 0 : i.dataTransfer) == null ? void 0 : u.types) || []).includes(qr)) return; - const l = Hu(i, qr); - if (!qu(l) || !Qu(o, i)) return; - const a = $u(o, i.clientX, i.clientY), c = String((l == null ? void 0 : l.filename) || "").split(".").pop() || "", s = a ? em(a, l, c) : null; + var u, I, p, S, A; + Z1(); + const o = al(); + if (!Array.from(((u = i == null ? void 0 : i.dataTransfer) == null ? void 0 : u.types) || []).includes(Qr)) return; + const l = Pu(i, Qr); + if (!Qu(l) || !$u(o, i)) return; + const a = tm(o, i.clientX, i.clientY), c = String((l == null ? void 0 : l.filename) || "").split(".").pop() || "", s = a ? nm(a, l, c) : null; if (!a || !s) { - gr(o, Lo), i.preventDefault(), (I = i.stopImmediatePropagation) == null || I.call(i), i.stopPropagation(); - const A = Gb({ + br(o, Yo), i.preventDefault(), (I = i.stopImmediatePropagation) == null || I.call(i), i.stopPropagation(); + const C = xb({ post: Et, - endpoint: lt.STAGE_TO_INPUT, + endpoint: ct.STAGE_TO_INPUT, payload: l, index: !1 - }), g = tw(l), [h, f] = await Promise.all([g, A]); - if (h) { - $o("drop canvas loaded workflow", { file: l == null ? void 0 : l.filename }); + }), g = ow(l), [Z, f] = await Promise.all([g, C]); + if (Z) { + tr("drop canvas loaded workflow", { file: l == null ? void 0 : l.filename }); return; } const b = f == null ? void 0 : f.relativePath; if (!b) { - $o("drop canvas stage failed"), Ce(`Failed to load file: "${l == null ? void 0 : l.filename}". Staging failed.`, "error"); + tr("drop canvas stage failed"), Ze(`Failed to load file: "${l == null ? void 0 : l.filename}". Staging failed.`, "error"); return; } - $o("drop canvas staged", { value: b }), Ce(`Staged to input: ${b}`, "success", 4e3); + tr("drop canvas staged", { value: b }), Ze(`Staged to input: ${b}`, "success", 4e3); return; } - i.preventDefault(), (p = i.stopImmediatePropagation) == null || p.call(i), i.stopPropagation(), gr(o, Lo); - const d = await J1({ + i.preventDefault(), (p = i.stopImmediatePropagation) == null || p.call(i), i.stopPropagation(), br(o, Yo); + const d = await U1({ post: Et, - endpoint: lt.STAGE_TO_INPUT, + endpoint: ct.STAGE_TO_INPUT, payload: l, index: !1 }); if (d) { - s.type === "combo" && v1(s, d), s.value = d; + s.type === "combo" && Y1(s, d), s.value = d; try { - (M = s.callback) == null || M.call(s, s.value); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + (S = s.callback) == null || S.call(s, s.value); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } - Lo(o), $o("drop inject", { node: a == null ? void 0 : a.title, widget: s == null ? void 0 : s.name, value: d }); + Yo(o), tr("drop inject", { node: a == null ? void 0 : a.title, widget: s == null ? void 0 : s.name, value: d }); } }, onDragLeave: () => { - const i = rl(); - gr(i, Lo), $o("dragleave"); + const i = al(); + br(i, Yo), tr("dragleave"); } }; } -function rw() { +function cw() { if (typeof window > "u" || !(window != null && window.addEventListener)) return { dispose() { } }; - const { onDragOver: e, onDrop: t, onDragLeave: n } = ow(); + const { onDragOver: e, onDrop: t, onDragLeave: n } = aw(); return window.addEventListener("dragover", e, !0), window.addEventListener("drop", t, !0), window.addEventListener("dragleave", n, !0), { dispose: () => { var o, r; try { @@ -25926,38 +25941,38 @@ function rw() { (o = console.debug) == null || o.call(console, l); } try { - gr(rl(), Lo); + br(al(), Yo); } catch (l) { (r = console.debug) == null || r.call(console, l); } } }; } -function lw() { - Xo || (Xo = rw(), Ir = 0), Ir += 1; +function sw() { + Ro || (Ro = cw(), pr = 0), pr += 1; let e = !1; return ({ force: t = !1 } = {}) => { - e || (e = !0, jb({ force: t })); + e || (e = !0, vb({ force: t })); }; } -function jb({ force: e = !1 } = {}) { +function vb({ force: e = !1 } = {}) { var t, n; - if (!Xo) { - Ir = 0, Pu(); + if (!Ro) { + pr = 0, _u(); return; } - if (!e && Ir > 1) { - Ir -= 1; + if (!e && pr > 1) { + pr -= 1; return; } - Ir = 0; + pr = 0; try { - (t = Xo.dispose) == null || t.call(Xo); + (t = Ro.dispose) == null || t.call(Ro); } catch (i) { (n = console.debug) == null || n.call(console, i); } - Xo = null, Pu(); + Ro = null, _u(); } -function vb(e) { +function Lb(e) { if (!e) return null; const t = Number(e); if (!isNaN(t)) @@ -25965,158 +25980,158 @@ function vb(e) { const n = new Date(e); return isNaN(n.getTime()) ? null : n; } -function Oa(e) { - const t = vb(e); +function za(e) { + const t = Lb(e); if (!t) return ""; const n = t.getDate().toString().padStart(2, "0"), i = (t.getMonth() + 1).toString().padStart(2, "0"); return `${n}/${i}`; } -function za(e) { - const t = vb(e); +function Ja(e) { + const t = Lb(e); if (!t) return ""; const n = t.getHours().toString().padStart(2, "0"), i = t.getMinutes().toString().padStart(2, "0"); return `${n}:${i}`; } -function Lb(e) { +function Vb(e) { if (!e) return ""; if (e < 60) return `${Math.round(e)}s`; const t = Math.floor(e / 60), n = Math.round(e % 60); return `${t}m ${n}s`; } -const Ul = "__MJR_MEDIA_BLOB_CACHE__", im = 2e3, wc = 1440 * 60 * 1e3, aw = 600 * 1e3; -function cw() { +const Kl = "__MJR_MEDIA_BLOB_CACHE__", rm = 2e3, Mc = 1440 * 60 * 1e3, dw = 600 * 1e3; +function uw() { var p; const e = /* @__PURE__ */ new Map(); let t = null; function n() { - t || (t = setInterval(i, aw)); + t || (t = setInterval(i, dw)); } function i() { - var M; + var S; try { - const Z = Date.now(); - for (const [A, g] of e) - g.refcount <= 0 && Z > g.expiresAt && (o(g), e.delete(A)); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + const A = Date.now(); + for (const [C, g] of e) + g.refcount <= 0 && A > g.expiresAt && (o(g), e.delete(C)); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } } - function o(M) { - var Z, A; + function o(S) { + var A, C; try { - (Z = M == null ? void 0 : M.blobUrl) != null && Z.startsWith("blob:") && URL.revokeObjectURL(M.blobUrl); + (A = S == null ? void 0 : S.blobUrl) != null && A.startsWith("blob:") && URL.revokeObjectURL(S.blobUrl); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } } function r() { - let M = null, Z = 1 / 0; - for (const [A, g] of e) - g.refcount > 0 || g.expiresAt < Z && (Z = g.expiresAt, M = A); - M && (o(e.get(M)), e.delete(M)); + let S = null, A = 1 / 0; + for (const [C, g] of e) + g.refcount > 0 || g.expiresAt < A && (A = g.expiresAt, S = C); + S && (o(e.get(S)), e.delete(S)); } - function l(M) { - M.expiresAt = Date.now() + wc; + function l(S) { + S.expiresAt = Date.now() + Mc; } - function a(M) { + function a(S) { try { - return String(M || "").trim(); + return String(S || "").trim(); } catch { return ""; } } - function c(M) { - var Z; + function c(S) { + var A; try { - const A = a(M); - if (!A) return; - const g = e.get(A); - g ? (g.hasError = !0, l(g)) : (e.size >= im && r(), e.set(A, { blobUrl: null, refcount: 0, expiresAt: Date.now() + wc, hasError: !0 }), n()); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + const C = a(S); + if (!C) return; + const g = e.get(C); + g ? (g.hasError = !0, l(g)) : (e.size >= rm && r(), e.set(C, { blobUrl: null, refcount: 0, expiresAt: Date.now() + Mc, hasError: !0 }), n()); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } } - function s(M) { - var Z, A; + function s(S) { + var A, C; try { - const g = a(M); - return g ? !!((Z = e.get(g)) != null && Z.hasError) : !1; + const g = a(S); + return g ? !!((A = e.get(g)) != null && A.hasError) : !1; } catch (g) { - return (A = console.debug) == null || A.call(console, g), !1; + return (C = console.debug) == null || C.call(console, g), !1; } } - async function d(M) { - var Z; + async function d(S) { + var A; try { - const A = a(M); - if (!A) return null; - const g = e.get(A); + const C = a(S); + if (!C) return null; + const g = e.get(C); if (g != null && g.hasError) return null; if (g != null && g.blobUrl) return g.refcount += 1, l(g), g.blobUrl; - const h = await fetch(M, { credentials: "same-origin" }); - if (!h.ok) - return c(M), null; - const f = await h.blob(), b = URL.createObjectURL(f); - return e.size >= im && r(), e.set(A, { blobUrl: b, refcount: 1, expiresAt: Date.now() + wc, hasError: !1 }), n(), b; - } catch (A) { - return (Z = console.debug) == null || Z.call(console, A), c(M), null; + const Z = await fetch(S, { credentials: "same-origin" }); + if (!Z.ok) + return c(S), null; + const f = await Z.blob(), b = URL.createObjectURL(f); + return e.size >= rm && r(), e.set(C, { blobUrl: b, refcount: 1, expiresAt: Date.now() + Mc, hasError: !1 }), n(), b; + } catch (C) { + return (A = console.debug) == null || A.call(console, C), c(S), null; } } - function u(M) { - var Z; + function u(S) { + var A; try { - const A = a(M); - if (!A) return; - const g = e.get(A); + const C = a(S); + if (!C) return; + const g = e.get(C); g && (g.refcount = Math.max(0, g.refcount - 1)); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } } function I() { - var M; + var S; try { t && (clearInterval(t), t = null); - for (const Z of e.values()) o(Z); + for (const A of e.values()) o(A); e.clear(); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } } try { window.addEventListener("beforeunload", I, { once: !0 }); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } return { markError: c, hasError: s, acquireUrl: d, releaseUrl: u, dispose: I }; } -function sw() { +function mw() { var t, n, i, o, r; try { - if (window[Ul]) return window[Ul]; + if (window[Kl]) return window[Kl]; } catch (l) { (t = console.debug) == null || t.call(console, l); } try { - (i = (n = window[Ul]) == null ? void 0 : n.dispose) == null || i.call(n); + (i = (n = window[Kl]) == null ? void 0 : n.dispose) == null || i.call(n); } catch (l) { (o = console.debug) == null || o.call(console, l); } - const e = cw(); + const e = uw(); try { - window[Ul] = e; + window[Kl] = e; } catch (l) { (r = console.debug) == null || r.call(console, l); } return e; } -const Or = sw(), jr = (e, t) => { +const Jr = mw(), Vr = (e, t) => { const n = e.__vccOpts || e; for (const [i, o] of t) n[i] = o; return n; -}, dw = ["title"], uw = { +}, gw = ["title"], Iw = { __name: "RatingBadge", props: { rating: { @@ -26129,24 +26144,24 @@ const Or = sw(), jr = (e, t) => { } }, setup(e) { - const t = e, n = Je(() => Math.max(0, Math.min(5, Number(t.rating) || 0))), i = Je(() => n.value > 0), o = Je( + const t = e, n = ze(() => Math.max(0, Math.min(5, Number(t.rating) || 0))), i = ze(() => n.value > 0), o = ze( () => m("rating.title", "Rating: {n} star{n, plural, one {} other {s}}", { n: n.value }) ); - return (r, l) => i.value ? (Ie(), he("div", { + return (r, l) => i.value ? (be(), Ce("div", { key: 0, class: "mjr-rating-badge", title: o.value }, [ - (Ie(!0), he(Xt, null, Cn(n.value, (a) => (Ie(), he("span", { + (be(!0), Ce(Nt, null, Cn(n.value, (a) => (be(), Ce("span", { key: a, - style: vt({ + style: Lt({ color: "var(--mjr-rating-color, var(--mjr-star-active, #FFD45A))", marginRight: a < n.value ? "2px" : "0" }) }, " β˜… ", 4))), 128)) - ], 8, dw)) : yt("", !0); + ], 8, gw)) : ft("", !0); } -}, mw = /* @__PURE__ */ jr(uw, [["__scopeId", "data-v-821bf1b1"]]), gw = ["title"], Iw = { +}, bw = /* @__PURE__ */ Vr(Iw, [["__scopeId", "data-v-821bf1b1"]]), pw = ["title"], yw = { __name: "TagsBadge", props: { tags: { @@ -26155,7 +26170,7 @@ const Or = sw(), jr = (e, t) => { } }, setup(e) { - const t = e, n = Je(() => { + const t = e, n = ze(() => { if (Array.isArray(t.tags)) return t.tags.map((l) => String(l ?? "").trim()).filter(Boolean).slice(0, 10); if (typeof t.tags == "string") { @@ -26170,67 +26185,67 @@ const Or = sw(), jr = (e, t) => { } } return []; - }), i = Je(() => n.value.length > 0), o = Je(() => m("tags.title", "Tags: {tags}", { tags: n.value.join(", ") })), r = Je(() => { + }), i = ze(() => n.value.length > 0), o = ze(() => m("tags.title", "Tags: {tags}", { tags: n.value.join(", ") })), r = ze(() => { const l = n.value; return l.length <= 5 ? l.join(", ") : l.slice(0, 5).join(", ") + ` +${l.length - 5}`; }); - return (l, a) => i.value ? (Ie(), he("div", { + return (l, a) => i.value ? (be(), Ce("div", { key: 0, class: "mjr-tags-badge", title: o.value, style: { color: "var(--mjr-tag-color, #90CAF9)" } - }, Ye(r.value), 9, gw)) : yt("", !0); + }, Ye(r.value), 9, pw)) : ft("", !0); } -}, bw = /* @__PURE__ */ jr(Iw, [["__scopeId", "data-v-15044260"]]), pw = ["title"], yw = { +}, fw = /* @__PURE__ */ Vr(yw, [["__scopeId", "data-v-15044260"]]), hw = ["title"], Cw = { __name: "GenTimeBadge", props: { genTimeMs: { type: [Number, String], default: 0 } }, setup(e) { - const t = e, n = Je(() => td(t.genTimeMs)), i = Je(() => n.value > 0), o = Je(() => RI(n.value)), r = Je(() => ed(n.value)); - return (l, a) => i.value ? (Ie(), he("div", { + const t = e, n = ze(() => id(t.genTimeMs)), i = ze(() => n.value > 0), o = ze(() => FI(n.value)), r = ze(() => nd(n.value)); + return (l, a) => i.value ? (be(), Ce("div", { key: 0, class: "mjr-gentime-badge", title: o.value.title, - style: vt({ color: r.value }) - }, Ye(o.value.text), 13, pw)) : yt("", !0); + style: Lt({ color: r.value }) + }, Ye(o.value.text), 13, hw)) : ft("", !0); } -}, fw = /* @__PURE__ */ jr(yw, [["__scopeId", "data-v-60fe3677"]]), hw = { +}, Zw = /* @__PURE__ */ Vr(Cw, [["__scopeId", "data-v-60fe3677"]]), Aw = { key: 0, class: "mjr-live-placeholder-wash", "aria-hidden": "true" -}, Cw = ["alt", "src"], Zw = { +}, Ww = ["alt", "src"], ww = { key: 1, class: "mjr-media-error-placeholder" -}, Aw = ["data-src", "poster"], Ww = ["src"], ww = { +}, Mw = ["data-src", "poster"], Sw = ["src"], Gw = { class: "mjr-audio-waveform-overlay", style: { position: "absolute", inset: "0", display: "flex", "align-items": "center", "justify-content": "center", "pointer-events": "none", color: "white" } -}, Mw = { +}, xw = { viewBox: "0 0 64 32", preserveAspectRatio: "xMidYMid meet", fill: "currentColor", opacity: "0.35", style: { width: "60%", "max-width": "120px", height: "auto", filter: "drop-shadow(0 2px 6px rgba(0,0,0,0.5))" } -}, Sw = ["x", "y", "width", "height"], Gw = { +}, jw = ["x", "y", "width", "height"], vw = { key: 4, class: "mjr-model3d-thumb-icon", style: { position: "absolute", inset: "0", display: "flex", "align-items": "center", "justify-content": "center", color: "rgba(255,255,255,0.7)" } -}, xw = ["data-mjr-ext", "data-mjr-badge-bg", "title"], jw = ["title"], vw = { +}, Lw = ["data-mjr-ext", "data-mjr-badge-bg", "title"], Vw = ["title"], Yw = { key: 6, class: "mjr-card-hover-info" -}, Lw = { +}, kw = { key: 0, class: "mjr-hover-prompt" -}, Yw = { +}, Xw = { key: 1, class: "mjr-hover-gentime" -}, Vw = { +}, Nw = { class: "mjr-card-info mjr-card-meta", style: { position: "relative", padding: "6px 8px", "min-width": "0" } -}, kw = ["title"], Xw = { +}, Rw = ["title"], Fw = { class: "mjr-card-meta-row", style: { "font-size": "0.85em", opacity: "0.7", "line-height": "1.4", "white-space": "nowrap", overflow: "hidden", "text-overflow": "ellipsis", "padding-right": "16px" } -}, Nw = ["title"], Rw = ["title"], Fw = ["title"], Ow = ["title"], zw = ["title"], Jw = ["aria-label", "title"], Tw = { class: "mjr-stack-group-button-count" }, Bw = ["aria-label", "title"], Uw = { class: "mjr-dup-stack-count" }, om = { +}, Ow = ["title"], zw = ["title"], Jw = ["title"], Tw = ["title"], Bw = ["title"], Uw = ["aria-label", "title"], Kw = { class: "mjr-stack-group-button-count" }, Dw = ["aria-label", "title"], Ew = { class: "mjr-dup-stack-count" }, lm = { __name: "AssetCardInner", props: { /** shallowReactive asset object from createVueCard() in GridView_impl.js */ @@ -26255,263 +26270,263 @@ const Or = sw(), jr = (e, t) => { [50, 9, 3, 14], [56, 6, 3, 20] ]; - async function i($) { - if (!$) return null; + async function i(Q) { + if (!Q) return null; try { - return Or.hasError($) ? $ : await Or.acquireUrl($) || $; + return Jr.hasError(Q) ? Q : await Jr.acquireUrl(Q) || Q; } catch { - return $; + return Q; } } - async function o($) { - var _, le, se, de, Ze; - if ($) + async function o(Q) { + var _, le, de, se, ge; + if (Q) try { - const Fe = String(((_ = $.dataset) == null ? void 0 : _.src) || "").trim(); - if (!Fe || $.getAttribute("src")) return; - if (Or.hasError(Fe)) { - $.src = Fe; + const je = String(((_ = Q.dataset) == null ? void 0 : _.src) || "").trim(); + if (!je || Q.getAttribute("src")) return; + if (Jr.hasError(je)) { + Q.src = je; return; } - const xe = await Or.acquireUrl(Fe); - xe ? ($.src = xe, $._mjrCachedSrc = Fe) : $.src = Fe, (le = $.load) == null || le.call($); - } catch (Fe) { - (se = console.debug) == null || se.call(console, Fe); + const Se = await Jr.acquireUrl(je); + Se ? (Q.src = Se, Q._mjrCachedSrc = je) : Q.src = je, (le = Q.load) == null || le.call(Q); + } catch (je) { + (de = console.debug) == null || de.call(console, je); try { - const xe = String(((de = $.dataset) == null ? void 0 : de.src) || "").trim(); - xe && !$.getAttribute("src") && ($.src = xe, (Ze = $.load) == null || Ze.call($)); + const Se = String(((se = Q.dataset) == null ? void 0 : se.src) || "").trim(); + Se && !Q.getAttribute("src") && (Q.src = Se, (ge = Q.load) == null || ge.call(Q)); } catch { } } } - function r($, _) { - if (!$ || !_) return; + function r(Q, _) { + if (!Q || !_) return; const le = () => { - var de, Ze, Fe, xe; + var se, ge, je, Se; try { - (Fe = (de = _.play) == null ? void 0 : (Ze = de.call(_)).catch) == null || Fe.call(Ze, () => { + (je = (se = _.play) == null ? void 0 : (ge = se.call(_)).catch) == null || je.call(ge, () => { }); - } catch (ze) { - (xe = console.debug) == null || xe.call(console, ze); + } catch (ke) { + (Se = console.debug) == null || Se.call(console, ke); } - }, se = () => { - var de, Ze; + }, de = () => { + var se, ge; try { - (de = _.pause) == null || de.call(_), _.currentTime = 0; - } catch (Fe) { - (Ze = console.debug) == null || Ze.call(console, Fe); + (se = _.pause) == null || se.call(_), _.currentTime = 0; + } catch (je) { + (ge = console.debug) == null || ge.call(console, je); } }; - $.addEventListener("mouseenter", le), $.addEventListener("mouseleave", se), _._mjrHoverCleanup = () => { - var de; + Q.addEventListener("mouseenter", le), Q.addEventListener("mouseleave", de), _._mjrHoverCleanup = () => { + var se; try { - $.removeEventListener("mouseenter", le), $.removeEventListener("mouseleave", se); - } catch (Ze) { - (de = console.debug) == null || de.call(console, Ze); + Q.removeEventListener("mouseenter", le), Q.removeEventListener("mouseleave", de); + } catch (ge) { + (se = console.debug) == null || se.call(console, ge); } }; } - function l($) { - if (!$) return; + function l(Q) { + if (!Q) return; const _ = new IntersectionObserver( (le) => { - var se, de, Ze, Fe, xe; - for (const ze of le) + var de, se, ge, je, Se; + for (const ke of le) try { - ze.isIntersecting ? (Ze = (se = $.play) == null ? void 0 : (de = se.call($)).catch) == null || Ze.call(de, () => { - }) : ((Fe = $.pause) == null || Fe.call($), $.currentTime = 0); - } catch (We) { - (xe = console.debug) == null || xe.call(console, We); + ke.isIntersecting ? (ge = (de = Q.play) == null ? void 0 : (se = de.call(Q)).catch) == null || ge.call(se, () => { + }) : ((je = Q.pause) == null || je.call(Q), Q.currentTime = 0); + } catch (we) { + (Se = console.debug) == null || Se.call(console, we); } }, { threshold: 0.25 } ); - _.observe($), $._mjrAutoplayCleanup = () => { + _.observe(Q), Q._mjrAutoplayCleanup = () => { var le; try { - _.unobserve($), _.disconnect(); - } catch (se) { - (le = console.debug) == null || le.call(console, se); + _.unobserve(Q), _.disconnect(); + } catch (de) { + (le = console.debug) == null || le.call(console, de); } }; } - function a($) { - var _, le, se, de; - if ($) + function a(Q) { + var _, le, de, se; + if (Q) try { - (_ = $._mjrHoverCleanup) == null || _.call($), $._mjrHoverCleanup = null, (le = $._mjrAutoplayCleanup) == null || le.call($), $._mjrAutoplayCleanup = null, (se = $.pause) == null || se.call($), $.currentTime = 0; - } catch (Ze) { - (de = console.debug) == null || de.call(console, Ze); + (_ = Q._mjrHoverCleanup) == null || _.call(Q), Q._mjrHoverCleanup = null, (le = Q._mjrAutoplayCleanup) == null || le.call(Q), Q._mjrAutoplayCleanup = null, (de = Q.pause) == null || de.call(Q), Q.currentTime = 0; + } catch (ge) { + (se = console.debug) == null || se.call(console, ge); } } - function c($, _, le) { - _ && (a(_), le === "hover" ? r($, _) : le === "always" && l(_)); + function c(Q, _, le) { + _ && (a(_), le === "hover" ? r(Q, _) : le === "always" && l(_)); } - function s($) { - $ && a($); + function s(Q) { + Q && a(Q); } - const d = e, u = Je(() => String(d.asset.kind || "image").toLowerCase()), I = Je(() => u.value === "image"), p = Je(() => u.value === "video"), M = Je(() => u.value === "audio"), Z = Je(() => u.value === "model3d"), A = Je(() => Bi(d.asset) || ""), g = Je( + const d = e, u = ze(() => String(d.asset.kind || "image").toLowerCase()), I = ze(() => u.value === "image"), p = ze(() => u.value === "video"), S = ze(() => u.value === "audio"), A = ze(() => u.value === "model3d"), C = ze(() => Ki(d.asset) || ""), g = ze( () => String(d.asset.thumbnail_url || d.asset.thumb_url || d.asset.poster || "").trim() - ), h = Je(() => String(d.asset.filename || "")), f = Je(() => { - const $ = h.value; - return $.includes(".") ? $.split(".").pop().toUpperCase() : ""; - }), b = Je(() => { - const $ = h.value; - return $.includes(".") ? $.slice(0, $.lastIndexOf(".")) : $; - }), v = Je(() => Number(d.asset.rating) || 0), C = Je(() => d.asset.tags || []), S = Je(() => { + ), Z = ze(() => String(d.asset.filename || "")), f = ze(() => { + const Q = Z.value; + return Q.includes(".") ? Q.split(".").pop().toUpperCase() : ""; + }), b = ze(() => { + const Q = Z.value; + return Q.includes(".") ? Q.slice(0, Q.lastIndexOf(".")) : Q; + }), L = ze(() => Number(d.asset.rating) || 0), h = ze(() => d.asset.tags || []), G = ze(() => { var _; - const $ = d.asset.generation_time_ms ?? ((_ = d.asset.metadata) == null ? void 0 : _.generation_time_ms) ?? 0; - return td($); - }), W = Je(() => S.value > 0), y = Je(() => RI(S.value)), k = Je(() => ed(S.value)), G = Je(() => String(d.asset.positive_prompt || "").trim()), z = Je( + const Q = d.asset.generation_time_ms ?? ((_ = d.asset.metadata) == null ? void 0 : _.generation_time_ms) ?? 0; + return id(Q); + }), W = ze(() => G.value > 0), y = ze(() => FI(G.value)), X = ze(() => nd(G.value)), x = ze(() => String(d.asset.positive_prompt || "").trim()), T = ze( () => { - var $, _, le; - return (($ = d.asset) == null ? void 0 : $._mjrLivePlaceholder) === !0 || ((_ = d.asset) == null ? void 0 : _.is_live_placeholder) === !0 || String(((le = d.asset) == null ? void 0 : le.id) || "").trim().toLowerCase().startsWith("live:"); + var Q, _, le; + return ((Q = d.asset) == null ? void 0 : Q._mjrLivePlaceholder) === !0 || ((_ = d.asset) == null ? void 0 : _.is_live_placeholder) === !0 || String(((le = d.asset) == null ? void 0 : le.id) || "").trim().toLowerCase().startsWith("live:"); } - ), x = Je( + ), v = ze( () => { - var $; - return String((($ = d.asset) == null ? void 0 : $._mjrLiveLabel) || "In progress").trim() || "In progress"; + var Q; + return String(((Q = d.asset) == null ? void 0 : Q._mjrLiveLabel) || "In progress").trim() || "In progress"; } - ), w = Je( - () => `${x.value}: waiting for indexed asset data` - ), X = Je(() => { - const { width: $, height: _ } = d.asset; - return $ && _ ? `${$}x${_}` : ""; - }), V = Je( - () => d.asset.duration ? Lb(d.asset.duration) : "" - ), R = Je( + ), w = ze( + () => `${v.value}: waiting for indexed asset data` + ), R = ze(() => { + const { width: Q, height: _ } = d.asset; + return Q && _ ? `${Q}x${_}` : ""; + }), Y = ze( + () => d.asset.duration ? Vb(d.asset.duration) : "" + ), F = ze( () => d.asset.generation_time || d.asset.file_creation_time || d.asset.mtime || d.asset.created_at - ), j = Je(() => R.value ? Oa(R.value) : ""), L = Je(() => R.value ? za(R.value) : ""), N = Je(() => !!d.asset._mjrNameCollision && !d.asset._mjrDupStack), q = Je(() => N.value ? "var(--mjr-badge-duplicate-alert, #ff1744)" : { + ), N = ze(() => F.value ? za(F.value) : ""), V = ze(() => F.value ? Ja(F.value) : ""), k = ze(() => !!d.asset._mjrNameCollision && !d.asset._mjrDupStack), K = ze(() => k.value ? "var(--mjr-badge-duplicate-alert, #ff1744)" : { image: "var(--mjr-badge-image, #2196F3)", video: "var(--mjr-badge-video, #F44336)", audio: "var(--mjr-badge-audio, #4CAF50)", model3d: "var(--mjr-badge-model3d, #9C27B0)" - }[u.value] || "var(--mjr-badge-image, #888)"), O = Tp("mjrStackService", null), B = Je(() => !O || !String(d.asset.stack_id || "").trim() ? !1 : Number(d.asset.stack_asset_count || d.asset._mjrFeedGroupCount || 0) > 1), J = Je( + }[u.value] || "var(--mjr-badge-image, #888)"), z = Kp("mjrStackService", null), B = ze(() => !z || !String(d.asset.stack_id || "").trim() ? !1 : Number(d.asset.stack_asset_count || d.asset._mjrFeedGroupCount || 0) > 1), J = ze( () => Number(d.asset.stack_asset_count || d.asset._mjrFeedGroupCount || 0) || 0 - ), T = Je(() => !!d.asset._mjrDupStack && Number(d.asset._mjrDupCount || 0) >= 2), D = Je(() => Number(d.asset._mjrDupCount || 0) || 0); - async function Q($) { + ), P = ze(() => !!d.asset._mjrDupStack && Number(d.asset._mjrDupCount || 0) >= 2), H = ze(() => Number(d.asset._mjrDupCount || 0) || 0); + async function $(Q) { var _, le; - $.preventDefault(), $.stopPropagation(); + Q.preventDefault(), Q.stopPropagation(); try { - await ((_ = O == null ? void 0 : O.openStackGroup) == null ? void 0 : _.call(O, d.asset)); - } catch (se) { - (le = console.debug) == null || le.call(console, se); + await ((_ = z == null ? void 0 : z.openStackGroup) == null ? void 0 : _.call(z, d.asset)); + } catch (de) { + (le = console.debug) == null || le.call(console, de); } } - function E($) { + function E(Q) { var _, le; - $.preventDefault(), $.stopPropagation(); + Q.preventDefault(), Q.stopPropagation(); try { - (_ = O == null ? void 0 : O.openDupGroup) == null || _.call(O, d.asset); - } catch (se) { - (le = console.debug) == null || le.call(console, se); + (_ = z == null ? void 0 : z.openDupGroup) == null || _.call(z, d.asset); + } catch (de) { + (le = console.debug) == null || le.call(console, de); } } - const K = Ae(null), F = Ae(null), Y = Ae(null), U = Ae(null), P = Ae(!1), ee = Ae(""); - an( - () => [Y.value, A.value], - async ([$, _]) => { - if (!(!$ || !_ || P.value)) + const oe = Ae(null), M = Ae(null), j = Ae(null), O = Ae(null), D = Ae(!1), q = Ae(""); + cn( + () => [j.value, C.value], + async ([Q, _]) => { + if (!(!Q || !_ || D.value)) try { const le = await i(_); - le && le !== ee.value && (ee.value = le); + le && le !== q.value && (q.value = le); } catch { } }, { immediate: !0 } ); - const oe = Ae(ye.GRID_VIDEO_AUTOPLAY_MODE || "hover"); + const ee = Ae(fe.GRID_VIDEO_AUTOPLAY_MODE || "hover"); function ce() { - oe.value = ye.GRID_VIDEO_AUTOPLAY_MODE || "hover"; + ee.value = fe.GRID_VIDEO_AUTOPLAY_MODE || "hover"; } Dn(() => { window.addEventListener("mjr-settings-changed", ce); - }), an(F, ($, _) => { + }), cn(M, (Q, _) => { if (_) try { s(_); } catch { } - if ($ && K.value) + if (Q && oe.value) try { - o($), c(K.value, $, oe.value); + o(Q), c(oe.value, Q, ee.value); } catch { } - }), an(oe, ($) => { - const _ = F.value, le = K.value; - _ && le && c(le, _, $); + }), cn(ee, (Q) => { + const _ = M.value, le = oe.value; + _ && le && c(le, _, Q); }), _n(() => { window.removeEventListener("mjr-settings-changed", ce); - const $ = F.value; - if ($) + const Q = M.value; + if (Q) try { - s($); + s(Q); } catch { } - }), Bp(() => { - const $ = U.value; - if (!$) return; + }), Dp(() => { + const Q = O.value; + if (!Q) return; const _ = d.asset; (_ == null ? void 0 : _.has_workflow) ?? (_ == null || _.hasWorkflow), (_ == null ? void 0 : _.has_generation_data) ?? (_ == null || _.hasGenerationData), (_ == null ? void 0 : _.has_ai_info) ?? (_ == null ? void 0 : _.hasAiInfo) ?? (_ == null || _.ai_indexed), (_ == null ? void 0 : _.has_ai_auto_tags) ?? (_ == null ? void 0 : _.hasAiAutoTags) ?? (_ == null ? void 0 : _.auto_tags) ?? (_ == null || _.autoTags), (_ == null ? void 0 : _.has_ai_enhanced_caption) ?? (_ == null ? void 0 : _.hasAiEnhancedCaption) ?? (_ == null ? void 0 : _.enhanced_caption) ?? (_ == null || _.enhancedCaption), (_ == null ? void 0 : _.has_ai_vector) ?? (_ == null ? void 0 : _.hasAiVector) ?? (_ == null ? void 0 : _.vector_indexed) ?? (_ == null || _.vectorIndexed); try { - $.textContent = ""; - const le = $a(_); - le && $.appendChild(le); + Q.textContent = ""; + const le = ec(_); + le && Q.appendChild(le); } catch { } }); - function pe($) { - P.value = !0; + function ue(Q) { + D.value = !0; try { - Or.markError(A.value); + Jr.markError(C.value); } catch { } } - function H($) { - var le, se; - if (!N.value) return; - $.preventDefault(), $.stopPropagation(); - const _ = (se = (le = $.target) == null ? void 0 : le.closest) == null ? void 0 : se.call(le, ".mjr-asset-card"); + function U(Q) { + var le, de; + if (!k.value) return; + Q.preventDefault(), Q.stopPropagation(); + const _ = (de = (le = Q.target) == null ? void 0 : le.closest) == null ? void 0 : de.call(le, ".mjr-asset-card"); _ && _.dispatchEvent( new CustomEvent("mjr:badge-duplicates-focus", { bubbles: !0, detail: { - filename: h.value, - filenameKey: h.value.toLowerCase(), + filename: Z.value, + filenameKey: Z.value.toLowerCase(), count: Number(d.asset._mjrNameCollisionCount || 0), paths: Array.isArray(d.asset._mjrNameCollisionPaths) ? d.asset._mjrNameCollisionPaths : [] } }) ); } - return ($, _) => (Ie(), he(Xt, null, [ - ne("div", { + return (Q, _) => (be(), Ce(Nt, null, [ + ie("div", { class: "mjr-thumb", ref_key: "thumbRef", - ref: K + ref: oe }, [ - z.value ? (Ie(), he("div", hw)) : yt("", !0), - I.value ? (Ie(), he(Xt, { key: 1 }, [ - P.value ? yt("", !0) : (Ie(), he("img", { + T.value ? (be(), Ce("div", Aw)) : ft("", !0), + I.value ? (be(), Ce(Nt, { key: 1 }, [ + D.value ? ft("", !0) : (be(), Ce("img", { key: 0, ref_key: "imgRef", - ref: Y, + ref: j, class: "mjr-thumb-media", - alt: h.value, + alt: Z.value, loading: "lazy", decoding: "async", - src: ee.value || A.value, - onError: pe - }, null, 40, Cw)), - P.value ? (Ie(), he("div", Zw, [..._[12] || (_[12] = [ - ne("i", { class: "pi pi-image" }, null, -1) - ])])) : yt("", !0) - ], 64)) : p.value ? (Ie(), he(Xt, { key: 2 }, [ - ne("video", { + src: q.value || C.value, + onError: ue + }, null, 40, Ww)), + D.value ? (be(), Ce("div", ww, [..._[12] || (_[12] = [ + ie("i", { class: "pi pi-image" }, null, -1) + ])])) : ft("", !0) + ], 64)) : p.value ? (be(), Ce(Nt, { key: 2 }, [ + ie("video", { ref_key: "videoRef", - ref: F, + ref: M, class: "mjr-thumb-media", - "data-src": A.value, + "data-src": C.value, poster: g.value || void 0, muted: "", loop: "", @@ -26521,183 +26536,183 @@ const Or = sw(), jr = (e, t) => { draggable: !1, tabindex: -1, style: { "pointer-events": "none" } - }, null, 8, Aw), - _[13] || (_[13] = ne("div", { class: "mjr-thumb-play" }, [ - ne("i", { class: "pi pi-play" }) + }, null, 8, Mw), + _[13] || (_[13] = ie("div", { class: "mjr-thumb-play" }, [ + ie("i", { class: "pi pi-play" }) ], -1)) - ], 64)) : M.value ? (Ie(), he(Xt, { key: 3 }, [ - Ge(t) ? (Ie(), he("img", { + ], 64)) : S.value ? (be(), Ce(Nt, { key: 3 }, [ + xe(t) ? (be(), Ce("img", { key: 0, class: "mjr-thumb-media", - src: Ge(t), + src: xe(t), draggable: !1, loading: "lazy", alt: "" - }, null, 8, Ww)) : yt("", !0), - ne("div", ww, [ - (Ie(), he("svg", Mw, [ - (Ie(), he(Xt, null, Cn(n, ([le, se, de, Ze], Fe) => ne("rect", { - key: Fe, + }, null, 8, Sw)) : ft("", !0), + ie("div", Gw, [ + (be(), Ce("svg", xw, [ + (be(), Ce(Nt, null, Cn(n, ([le, de, se, ge], je) => ie("rect", { + key: je, x: le, - y: se, - width: de, - height: Ze, + y: de, + width: se, + height: ge, rx: "1.5" - }, null, 8, Sw)), 64)) + }, null, 8, jw)), 64)) ])) ]) - ], 64)) : Z.value ? (Ie(), he("div", Gw, [..._[14] || (_[14] = [ - ne("i", { + ], 64)) : A.value ? (be(), Ce("div", vw, [..._[14] || (_[14] = [ + ie("i", { class: "pi pi-box", style: { "font-size": "2.5rem" } }, null, -1) - ])])) : yt("", !0), - ne("div", { + ])])) : ft("", !0), + ie("div", { class: "mjr-file-badge mjr-badge-ext", "data-mjr-ext": f.value, - "data-mjr-badge-bg": q.value, - style: vt({ + "data-mjr-badge-bg": K.value, + style: Lt({ position: "absolute", top: "6px", left: "6px", zIndex: 10, - background: q.value, + background: K.value, color: "#fff", padding: "2px 5px", borderRadius: "4px", fontSize: "10px", fontWeight: "700", - pointerEvents: N.value ? "auto" : "none", - cursor: N.value ? "pointer" : "default" + pointerEvents: k.value ? "auto" : "none", + cursor: k.value ? "pointer" : "default" }), - title: N.value ? `${f.value} β€” duplicate filename (${e.asset._mjrNameCollisionCount || 2} files)` : `${f.value} file`, - onClick: H - }, Ye(f.value) + Ye(N.value ? "+" : ""), 13, xw), - fn(mw, { - rating: v.value, + title: k.value ? `${f.value} β€” duplicate filename (${e.asset._mjrNameCollisionCount || 2} files)` : `${f.value} file`, + onClick: U + }, Ye(f.value) + Ye(k.value ? "+" : ""), 13, Lw), + fn(bw, { + rating: L.value, class: "mjr-badge-rating" }, null, 8, ["rating"]), - fn(bw, { - tags: C.value, + fn(fw, { + tags: h.value, class: "mjr-badge-tags" }, null, 8, ["tags"]), - fn(fw, { "gen-time-ms": S.value }, null, 8, ["gen-time-ms"]), - z.value ? (Ie(), he("div", { + fn(Zw, { "gen-time-ms": G.value }, null, 8, ["gen-time-ms"]), + T.value ? (be(), Ce("div", { key: 5, class: "mjr-live-pill", title: w.value }, [ - _[15] || (_[15] = ne("span", { + _[15] || (_[15] = ie("span", { class: "mjr-live-pill-dot", "aria-hidden": "true" }, null, -1)), - ne("span", null, Ye(x.value), 1) - ], 8, jw)) : yt("", !0), - G.value || W.value ? (Ie(), he("div", vw, [ - G.value ? (Ie(), he("div", Lw, Ye(G.value), 1)) : yt("", !0), - W.value ? (Ie(), he("div", Yw, "⏱ " + Ye(y.value.text), 1)) : yt("", !0) - ])) : yt("", !0) + ie("span", null, Ye(v.value), 1) + ], 8, Vw)) : ft("", !0), + x.value || W.value ? (be(), Ce("div", Yw, [ + x.value ? (be(), Ce("div", kw, Ye(x.value), 1)) : ft("", !0), + W.value ? (be(), Ce("div", Xw, "⏱ " + Ye(y.value.text), 1)) : ft("", !0) + ])) : ft("", !0) ], 512), - ne("div", Vw, [ - ne("div", { + ie("div", Nw, [ + ie("div", { class: "mjr-card-filename", - title: h.value, + title: Z.value, style: { overflow: "hidden", "text-overflow": "ellipsis", "white-space": "nowrap", "margin-bottom": "4px", "padding-right": "12px" } - }, Ye(b.value), 9, kw), - ne("div", Xw, [ - X.value ? (Ie(), he("span", { + }, Ye(b.value), 9, Rw), + ie("div", Fw, [ + R.value ? (be(), Ce("span", { key: 0, class: "mjr-meta-res", - title: `Resolution: ${X.value}` - }, Ye(X.value), 9, Nw)) : yt("", !0), - V.value ? (Ie(), he("span", { + title: `Resolution: ${R.value}` + }, Ye(R.value), 9, Ow)) : ft("", !0), + Y.value ? (be(), Ce("span", { key: 1, class: "mjr-meta-duration", - title: `Duration: ${V.value}` - }, Ye(V.value), 9, Rw)) : yt("", !0), - j.value ? (Ie(), he("span", { + title: `Duration: ${Y.value}` + }, Ye(Y.value), 9, zw)) : ft("", !0), + N.value ? (be(), Ce("span", { key: 2, class: "mjr-meta-date", - title: `Date: ${j.value}` - }, Ye(j.value), 9, Fw)) : yt("", !0), - L.value ? (Ie(), he("span", { + title: `Date: ${N.value}` + }, Ye(N.value), 9, Jw)) : ft("", !0), + V.value ? (be(), Ce("span", { key: 3, class: "mjr-meta-date mjr-meta-time-val", - title: `Time: ${L.value}` - }, Ye(L.value), 9, Ow)) : yt("", !0), - W.value ? (Ie(), he("span", { + title: `Time: ${V.value}` + }, Ye(V.value), 9, Tw)) : ft("", !0), + W.value ? (be(), Ce("span", { key: 4, class: "mjr-meta-gentime", - style: vt({ color: k.value, fontWeight: "500" }), + style: Lt({ color: X.value, fontWeight: "500" }), title: y.value.title - }, Ye(y.value.text), 13, zw)) : yt("", !0) + }, Ye(y.value.text), 13, Bw)) : ft("", !0) ]), - ne("div", { + ie("div", { ref_key: "dotWrapperRef", - ref: U, + ref: O, class: "mjr-card-dot-wrapper", style: { position: "absolute", right: "8px", bottom: "6px", "z-index": "2" } }, null, 512) ]), - B.value ? (Ie(), he("button", { + B.value ? (be(), Ce("button", { key: 0, type: "button", class: "mjr-stack-group-button", "aria-label": `Open generation group in grid (${J.value} assets)`, title: `Open generation group in grid (${J.value} assets)`, - onClick: Q, - onPointerdown: _[0] || (_[0] = Fn(() => { + onClick: $, + onPointerdown: _[0] || (_[0] = On(() => { }, ["stop"])), - onMousedown: _[1] || (_[1] = Fn(() => { + onMousedown: _[1] || (_[1] = On(() => { }, ["stop", "prevent"])), - onTouchstartPassive: _[2] || (_[2] = Fn(() => { + onTouchstartPassive: _[2] || (_[2] = On(() => { }, ["stop"])), - onDblclick: _[3] || (_[3] = Fn(() => { + onDblclick: _[3] || (_[3] = On(() => { }, ["stop"])), - onKeydown: _[4] || (_[4] = Fn(() => { + onKeydown: _[4] || (_[4] = On(() => { }, ["stop"])), - onDragstart: _[5] || (_[5] = Fn(() => { + onDragstart: _[5] || (_[5] = On(() => { }, ["stop", "prevent"])) }, [ - _[16] || (_[16] = ne("span", { class: "pi pi-clone" }, null, -1)), - ne("span", Tw, Ye(J.value), 1) - ], 40, Jw)) : yt("", !0), - T.value ? (Ie(), he("button", { + _[16] || (_[16] = ie("span", { class: "pi pi-clone" }, null, -1)), + ie("span", Kw, Ye(J.value), 1) + ], 40, Uw)) : ft("", !0), + P.value ? (be(), Ce("button", { key: 1, type: "button", class: "mjr-dup-stack-button", - "aria-label": `${D.value} duplicate${D.value > 1 ? "s" : ""} β€” click to compare all copies`, - title: `${D.value} duplicate${D.value > 1 ? "s" : ""} β€” click to compare all copies`, + "aria-label": `${H.value} duplicate${H.value > 1 ? "s" : ""} β€” click to compare all copies`, + title: `${H.value} duplicate${H.value > 1 ? "s" : ""} β€” click to compare all copies`, onClick: E, - onPointerdown: _[6] || (_[6] = Fn(() => { + onPointerdown: _[6] || (_[6] = On(() => { }, ["stop"])), - onMousedown: _[7] || (_[7] = Fn(() => { + onMousedown: _[7] || (_[7] = On(() => { }, ["stop", "prevent"])), - onTouchstartPassive: _[8] || (_[8] = Fn(() => { + onTouchstartPassive: _[8] || (_[8] = On(() => { }, ["stop"])), - onDblclick: _[9] || (_[9] = Fn(() => { + onDblclick: _[9] || (_[9] = On(() => { }, ["stop"])), - onKeydown: _[10] || (_[10] = Fn(() => { + onKeydown: _[10] || (_[10] = On(() => { }, ["stop"])), - onDragstart: _[11] || (_[11] = Fn(() => { + onDragstart: _[11] || (_[11] = On(() => { }, ["stop", "prevent"])) }, [ - _[17] || (_[17] = ne("span", { class: "pi pi-copy" }, null, -1)), - ne("span", Uw, Ye(D.value), 1) - ], 40, Bw)) : yt("", !0) + _[17] || (_[17] = ie("span", { class: "pi pi-copy" }, null, -1)), + ie("span", Ew, Ye(H.value), 1) + ], 40, Dw)) : ft("", !0) ], 64)); } -}, Kw = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-stem", "aria-label", "aria-selected"], Dw = { +}, Hw = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-stem", "aria-label", "aria-selected"], qw = { class: "mjr-card-info mjr-card-meta", style: { padding: "6px 8px", "min-width": "0" } -}, Ew = ["title"], rm = { +}, Pw = ["title"], am = { __name: "FolderCard", props: { asset: { type: Object, required: !0 }, selected: { type: Boolean, default: !1 } }, setup(e) { - return (t, n) => (Ie(), he("div", { + return (t, n) => (be(), Ce("div", { class: Zn(["mjr-asset-card mjr-card mjr-folder-card", { "is-selected": e.selected }]), role: "button", tabindex: 0, @@ -26710,42 +26725,42 @@ const Or = sw(), jr = (e, t) => { "aria-label": `Folder ${e.asset.filename}`, "aria-selected": e.selected ? "true" : "false" }, [ - n[1] || (n[1] = ne("div", { + n[1] || (n[1] = ie("div", { class: "mjr-thumb", style: { display: "flex", "align-items": "center", "justify-content": "center" } }, [ - ne("svg", { + ie("svg", { width: "64", height: "64", viewBox: "0 0 24 24", "aria-hidden": "true" }, [ - ne("path", { + ie("path", { fill: "#F4C74A", d: "M10 4H4c-1.1 0-2 .9-2 2v1h20V8c0-1.1-.9-2-2-2h-8l-2-2z" }), - ne("path", { + ie("path", { fill: "#D9A730", d: "M20 6H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z" }) ]) ], -1)), - ne("div", Dw, [ - ne("div", { + ie("div", qw, [ + ie("div", { class: "mjr-card-filename", title: e.asset.filename, style: { overflow: "hidden", "text-overflow": "ellipsis", "white-space": "nowrap", "margin-bottom": "4px" } - }, Ye(e.asset.filename), 9, Ew), - n[0] || (n[0] = ne("div", { class: "mjr-card-meta-row" }, null, -1)) + }, Ye(e.asset.filename), 9, Pw), + n[0] || (n[0] = ie("div", { class: "mjr-card-meta-row" }, null, -1)) ]) - ], 10, Kw)); + ], 10, Hw)); } }; -function Kl(e) { +function Dl(e) { return Array.from(e || []).map((t) => String(t || "").trim()).filter(Boolean); } -function Hw() { - const e = Up({ +function Qw() { + const e = Ep({ query: "*", offset: 0, total: null, @@ -26775,7 +26790,7 @@ function Hw() { e.assets = Array.isArray(I) ? I.slice() : []; } }; - const t = Je(() => new Set(Kl(e.selectedIds))); + const t = ze(() => new Set(Dl(e.selectedIds))); function n(I = "", { error: p = !1 } = {}) { e.statusMessage = String(I || ""), e.statusError = !!p; } @@ -26791,19 +26806,19 @@ function Hw() { function l() { e.seenKeys = /* @__PURE__ */ new Set(), e.assetIdSet = /* @__PURE__ */ new Set(), e.filenameCounts = /* @__PURE__ */ new Map(), e.nonImageSiblingKeys = /* @__PURE__ */ new Set(), e.stemMap = /* @__PURE__ */ new Map(), e.renderedFilenameMap = /* @__PURE__ */ new Map(), e.hiddenPngSiblings = 0; } - function a({ query: I = "*", total: p = null, done: M = !1 } = {}) { - e.query = String(I || "*") || "*", e.offset = 0, e.total = p == null ? null : Number(p) || 0, e.done = !!M, e.assets = [], l(); + function a({ query: I = "*", total: p = null, done: S = !1 } = {}) { + e.query = String(I || "*") || "*", e.offset = 0, e.total = p == null ? null : Number(p) || 0, e.done = !!S, e.assets = [], l(); } - function c(I, p = "", { preserveAnchor: M = !1 } = {}) { - const Z = Array.from(new Set(Kl(I))), A = String(p || Z[0] || "").trim(); - return e.selectedIds = Z, e.activeId = A, M || (A ? e.selectionAnchorId = A : Z.length || (e.selectionAnchorId = "")), { - selectedIds: Z, - activeId: A + function c(I, p = "", { preserveAnchor: S = !1 } = {}) { + const A = Array.from(new Set(Dl(I))), C = String(p || A[0] || "").trim(); + return e.selectedIds = A, e.activeId = C, S || (C ? e.selectionAnchorId = C : A.length || (e.selectionAnchorId = "")), { + selectedIds: A, + activeId: C }; } function s(I, { activeId: p = "" } = {}) { - const M = new Set(Kl(I)), Z = Kl(e.selectedIds).filter((h) => M.has(h)), A = String(p || e.activeId || Z[0] || "").trim(), g = M.has(A) ? A : Z[0] || ""; - return c(Z, g, { preserveAnchor: !0 }); + const S = new Set(Dl(I)), A = Dl(e.selectedIds).filter((Z) => S.has(Z)), C = String(p || e.activeId || A[0] || "").trim(), g = S.has(C) ? C : A[0] || ""; + return c(A, g, { preserveAnchor: !0 }); } function d() { const I = t.value; @@ -26815,7 +26830,7 @@ function Hw() { const I = String(e.activeId || "").trim(); if (I) { const p = (Array.isArray(e.assets) ? e.assets : []).find( - (M) => String((M == null ? void 0 : M.id) || "") === I + (S) => String((S == null ? void 0 : S.id) || "") === I ); if (p) return p; } @@ -26836,7 +26851,7 @@ function Hw() { getActiveAsset: u }; } -function qw(e) { +function _w(e) { var t; try { return typeof (e == null ? void 0 : e.getClientRects) != "function" ? !0 : e.getClientRects().length > 0; @@ -26872,15 +26887,15 @@ function Yb(e, { requireClientRect: t = !0 } = {}) { } catch (l) { (r = console.debug) == null || r.call(console, l); } - return t ? qw(e) : !0; + return t ? _w(e) : !0; } -function Pw(e) { +function $w(e) { return Yb(e, { requireClientRect: !0 }); } -function sd(e, t = null) { +function ud(e, t = null) { var o; const n = t || e; - if (!Pw(n) || e && e !== n && !Yb(e, { requireClientRect: !1 })) + if (!$w(n) || e && e !== n && !Yb(e, { requireClientRect: !1 })) return !1; try { const r = Number((n == null ? void 0 : n.clientWidth) || 0) || 0, l = Number((n == null ? void 0 : n.clientHeight) || 0) || 0; @@ -26889,42 +26904,42 @@ function sd(e, t = null) { return (o = console.debug) == null || o.call(console, r), !1; } } -const Qw = { +const e0 = { __name: "FloatingViewerHost", setup(e) { const t = Ae(null); let n = null; return Dn(() => { - n = LC(t.value); + n = kC(t.value); }), _n(() => { n == null || n(), n = null; - }), (i, o) => (Ie(), he("div", { + }), (i, o) => (be(), Ce("div", { ref_key: "hostRef", ref: t, class: "mjr-viewer-runtime-host mjr-viewer-runtime-host--floating", style: { position: "fixed", inset: "0", "pointer-events": "none", overflow: "visible" } }, null, 512)); } -}, _w = { +}, t0 = { __name: "ViewerOverlayHost", setup(e) { const t = Ae(null); let n = null; return Dn(() => { - n = jC(t.value); + n = VC(t.value); }), _n(() => { n == null || n(), n = null; - }), (i, o) => (Ie(), he("div", { + }), (i, o) => (be(), Ce("div", { ref_key: "hostRef", ref: t, class: "mjr-viewer-runtime-host mjr-viewer-runtime-host--main", style: { position: "fixed", inset: "0", "pointer-events": "none", overflow: "visible" } }, null, 512)); } -}, $w = ["aria-busy"], e0 = ["aria-label"], t0 = { +}, n0 = ["aria-busy"], i0 = ["aria-label"], o0 = { key: 0, class: "mjr-tags-empty" -}, n0 = ["aria-label", "disabled", "onClick"], i0 = { class: "mjr-tags-input-wrap" }, o0 = ["placeholder", "disabled", "aria-label", "aria-autocomplete", "aria-expanded", "aria-haspopup"], r0 = ["aria-label"], l0 = ["aria-selected", "onClick", "onMouseenter"], a0 = 100, lm = 200, dd = { +}, r0 = ["aria-label", "disabled", "onClick"], l0 = { class: "mjr-tags-input-wrap" }, a0 = ["placeholder", "disabled", "aria-label", "aria-autocomplete", "aria-expanded", "aria-haspopup"], c0 = ["aria-label"], s0 = ["aria-selected", "onClick", "onMouseenter"], d0 = 100, cm = 200, md = { __name: "TagsEditor", props: { asset: { @@ -26942,322 +26957,322 @@ const Qw = { }, emits: ["update:modelValue", "tags-change"], setup(e, { emit: t }) { - var R; - function n(j) { + var N; + function n(V) { try { - const L = String(j ?? "").trim(); - if (!L || L.length > a0) return null; - for (let N = 0; N < L.length; N += 1) { - const q = L.charCodeAt(N); - if (q <= 31 || q === 127) return null; + const k = String(V ?? "").trim(); + if (!k || k.length > d0) return null; + for (let K = 0; K < k.length; K += 1) { + const z = k.charCodeAt(K); + if (z <= 31 || z === 127) return null; } - return /[;,]/.test(L) ? null : L; + return /[;,]/.test(k) ? null : k; } catch { return null; } } - function i(j) { + function i(V) { try { - return String(j ?? "").replace(/[\x00-\x1f\x7f]/g, "").trim() || null; + return String(V ?? "").replace(/[\x00-\x1f\x7f]/g, "").trim() || null; } catch { return null; } } - function o(j) { - const L = i(j); - return L ? L.toLowerCase() : ""; + function o(V) { + const k = i(V); + return k ? k.toLowerCase() : ""; } - function r(j) { - const L = [], N = /* @__PURE__ */ new Set(); - for (const q of Array.isArray(j) ? j : []) { - const O = i(q); - if (!O) continue; - const B = O.toLowerCase(); - if (!N.has(B) && (N.add(B), L.push(O), L.length >= lm)) + function r(V) { + const k = [], K = /* @__PURE__ */ new Set(); + for (const z of Array.isArray(V) ? V : []) { + const B = i(z); + if (!B) continue; + const J = B.toLowerCase(); + if (!K.has(J) && (K.add(J), k.push(B), k.length >= cm)) break; } - return L; + return k; } - function l(j) { - if (Array.isArray(j)) - return r(j); - if (typeof j == "string") { - const L = j.trim(); - if (!L) return []; + function l(V) { + if (Array.isArray(V)) + return r(V); + if (typeof V == "string") { + const k = V.trim(); + if (!k) return []; try { - const N = JSON.parse(L); - if (Array.isArray(N)) return r(N); + const K = JSON.parse(k); + if (Array.isArray(K)) return r(K); } catch { - return r(L.split(",")); + return r(k.split(",")); } } return []; } - function a(j, L) { - if (!Array.isArray(j) || !Array.isArray(L) || j.length !== L.length) return !1; - for (let N = 0; N < j.length; N += 1) - if (j[N] !== L[N]) return !1; + function a(V, k) { + if (!Array.isArray(V) || !Array.isArray(k) || V.length !== k.length) return !1; + for (let K = 0; K < V.length; K += 1) + if (V[K] !== k[K]) return !1; return !0; } - const c = e, s = t, d = l(((R = c.asset) == null ? void 0 : R.tags) ?? c.modelValue ?? []), u = Ae([...d]), I = Ae(null), p = Ae(""), M = Ae(!1), Z = Ae(-1), A = Ae([]), g = Ae(!1); - let h = !1, f = !1, b = null, v = [...d]; - const C = (j) => Math.min(100 * 2 ** Math.max(0, j - 1), 2e3), S = (j) => new Promise((L) => setTimeout(L, j)), W = Je(() => { - const j = p.value.toLowerCase().trim(); - if (!j) return []; - const L = new Set(u.value.map((N) => o(N)).filter(Boolean)); - return A.value.filter((N) => { - const q = o(N); - return N.toLowerCase().includes(j) && (!q || !L.has(q)); + const c = e, s = t, d = l(((N = c.asset) == null ? void 0 : N.tags) ?? c.modelValue ?? []), u = Ae([...d]), I = Ae(null), p = Ae(""), S = Ae(!1), A = Ae(-1), C = Ae([]), g = Ae(!1); + let Z = !1, f = !1, b = null, L = [...d]; + const h = (V) => Math.min(100 * 2 ** Math.max(0, V - 1), 2e3), G = (V) => new Promise((k) => setTimeout(k, V)), W = () => setTimeout(() => S.value = !1, 200), y = ze(() => { + const V = p.value.toLowerCase().trim(); + if (!V) return []; + const k = new Set(u.value.map((K) => o(K)).filter(Boolean)); + return C.value.filter((K) => { + const z = o(K); + return K.toLowerCase().includes(V) && (!z || !k.has(z)); }).slice(0, 10); - }), y = Je(() => W.value.length > 0); - function k(j) { - if (h) return; - const L = l(j); - v = [...L], a(L, u.value) || (u.value = [...L]); + }), X = ze(() => y.value.length > 0); + function x(V) { + if (Z) return; + const k = l(V); + L = [...k], a(k, u.value) || (u.value = [...k]); } - function G(j) { - var q, O; - const L = [...j], N = ((q = c.asset) == null ? void 0 : q.id) != null ? String(c.asset.id) : ""; - s("update:modelValue", L), s("tags-change", { assetId: (O = c.asset) == null ? void 0 : O.id, tags: L }), ii(Uo, { - assetId: N, - tags: L + function T(V) { + var z, B; + const k = [...V], K = ((z = c.asset) == null ? void 0 : z.id) != null ? String(c.asset.id) : ""; + s("update:modelValue", k), s("tags-change", { assetId: (B = c.asset) == null ? void 0 : B.id, tags: k }), oi(Do, { + assetId: K, + tags: k }); } - async function z() { - var L, N, q, O, B, J, T; + async function v() { + var k, K, z, B, J, P, H; if (c.disabled) return; - if (h) { + if (Z) { f = !0; try { - (L = b == null ? void 0 : b.abort) == null || L.call(b); - } catch (D) { - (N = console.debug) == null || N.call(console, D); + (k = b == null ? void 0 : b.abort) == null || k.call(b); + } catch ($) { + (K = console.debug) == null || K.call(console, $); } return; } - h = !0, g.value = !0; - let j = 0; - for (; j < 10; ) { - j > 0 && await S(C(j)), j += 1; - const D = l(u.value), Q = typeof AbortController < "u" ? new AbortController() : null; - b = Q; - let E = null; + Z = !0, g.value = !0; + let V = 0; + for (; V < 10; ) { + V > 0 && await G(h(V)), V += 1; + const $ = l(u.value), E = typeof AbortController < "u" ? new AbortController() : null; + b = E; + let oe = null; try { - E = await ch(c.asset, D, Q ? { signal: Q.signal } : {}); - } catch (F) { - console.error("Failed to update tags:", F); + oe = await uh(c.asset, $, E ? { signal: E.signal } : {}); + } catch (j) { + console.error("Failed to update tags:", j); } - if (!(E != null && E.ok)) { - if ((E == null ? void 0 : E.code) === "ABORTED") { + if (!(oe != null && oe.ok)) { + if ((oe == null ? void 0 : oe.code) === "ABORTED") { if (f) { f = !1; continue; } break; } - const F = [...v]; - u.value = F, s("update:modelValue", F), Ce((E == null ? void 0 : E.error) || m("toast.tagsUpdateFailed", "Failed to update tags"), "error"), h = !1, b = null, g.value = !1; + const j = [...L]; + u.value = j, s("update:modelValue", j), Ze((oe == null ? void 0 : oe.error) || m("toast.tagsUpdateFailed", "Failed to update tags"), "error"), Z = !1, b = null, g.value = !1; return; } try { - const F = ((q = E == null ? void 0 : E.data) == null ? void 0 : q.asset_id) ?? null; - F != null && !pi(c.asset.id) && (c.asset.id = F); - } catch (F) { - (O = console.debug) == null || O.call(console, F); + const j = ((z = oe == null ? void 0 : oe.data) == null ? void 0 : z.asset_id) ?? null; + j != null && !fi(c.asset.id) && (c.asset.id = j); + } catch (j) { + (B = console.debug) == null || B.call(console, j); } - const K = l( - Array.isArray((B = E == null ? void 0 : E.data) == null ? void 0 : B.tags) ? E.data.tags : D + const M = l( + Array.isArray((J = oe == null ? void 0 : oe.data) == null ? void 0 : J.tags) ? oe.data.tags : $ ); - v = [...K]; + L = [...M]; try { - c.asset.tags = [...K]; - } catch (F) { - (J = console.debug) == null || J.call(console, F); + c.asset.tags = [...M]; + } catch (j) { + (P = console.debug) == null || P.call(console, j); } - if (f || (u.value = [...K]), G(K), Ce(m("toast.tagsUpdated", "Tags updated"), "success", 1e3), !f) break; + if (f || (u.value = [...M]), T(M), Ze(m("toast.tagsUpdated", "Tags updated"), "success", 1e3), !f) break; f = !1; } - if (j >= 10) { - const D = [...v]; - u.value = D; + if (V >= 10) { + const $ = [...L]; + u.value = $; try { - c.asset.tags = [...D]; - } catch (Q) { - (T = console.debug) == null || T.call(console, Q); + c.asset.tags = [...$]; + } catch (E) { + (H = console.debug) == null || H.call(console, E); } - s("update:modelValue", D), Ce(m("toast.tagsUpdateFailed", "Failed to update tags"), "error"); + s("update:modelValue", $), Ze(m("toast.tagsUpdateFailed", "Failed to update tags"), "error"); } - h = !1, b = null, g.value = !1; + Z = !1, b = null, g.value = !1; } Dn(async () => { try { - const j = await sh(); - j != null && j.ok && Array.isArray(j == null ? void 0 : j.data) && (A.value = r(j.data)); - } catch (j) { - console.warn("Failed to load available tags:", j); + const V = await mh(); + V != null && V.ok && Array.isArray(V == null ? void 0 : V.data) && (C.value = r(V.data)); + } catch (V) { + console.warn("Failed to load available tags:", V); } - }), Mr(() => { - var j, L; + }), xr(() => { + var V, k; try { - (j = b == null ? void 0 : b.abort) == null || j.call(b); - } catch (N) { - (L = console.debug) == null || L.call(console, N); + (V = b == null ? void 0 : b.abort) == null || V.call(b); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } }); - function x(j) { + function w(V) { if (c.disabled) return; - const L = n(j); - if (!L) return; - const N = o(L); - if (N && !u.value.some((q) => o(q) === N)) { - if (u.value.length >= lm) { - Ce(m("toast.maxTagsReached", "Maximum number of tags reached"), "warning"); + const k = n(V); + if (!k) return; + const K = o(k); + if (K && !u.value.some((z) => o(z) === K)) { + if (u.value.length >= cm) { + Ze(m("toast.maxTagsReached", "Maximum number of tags reached"), "warning"); return; } - u.value = [...u.value, L], z(); + u.value = [...u.value, k], v(); } } - function w(j) { - if (c.disabled || j < 0 || j >= u.value.length) return; - const L = [...u.value]; - L.splice(j, 1), u.value = L, z(); + function R(V) { + if (c.disabled || V < 0 || V >= u.value.length) return; + const k = [...u.value]; + k.splice(V, 1), u.value = k, v(); } - function X(j) { - if (j.key === "Enter" || j.key === ",") { - j.preventDefault(); - const L = p.value.trim(); - L && (x(L), p.value = "", M.value = !1, Z.value = -1); + function Y(V) { + if (V.key === "Enter" || V.key === ",") { + V.preventDefault(); + const k = p.value.trim(); + k && (w(k), p.value = "", S.value = !1, A.value = -1); return; } - if (j.key === "Escape") { - M.value = !1, Z.value = -1; + if (V.key === "Escape") { + S.value = !1, A.value = -1; return; } - if (j.key === "ArrowDown") { - j.preventDefault(), y.value && (Z.value = Math.min( - Z.value + 1, - W.value.length - 1 + if (V.key === "ArrowDown") { + V.preventDefault(), X.value && (A.value = Math.min( + A.value + 1, + y.value.length - 1 )); return; } - if (j.key === "ArrowUp") { - j.preventDefault(), Z.value = Math.max(Z.value - 1, 0); + if (V.key === "ArrowUp") { + V.preventDefault(), A.value = Math.max(A.value - 1, 0); return; } - if (j.key === "Tab" && y.value) { - j.preventDefault(); - const L = W.value[Z.value] || W.value[0]; - L && (p.value = L); + if (V.key === "Tab" && X.value) { + V.preventDefault(); + const k = y.value[A.value] || y.value[0]; + k && (p.value = k); } } - function V(j) { - var L; - x(j), p.value = "", M.value = !1, Z.value = -1, (L = I.value) == null || L.focus(); + function F(V) { + var k; + w(V), p.value = "", S.value = !1, A.value = -1, (k = I.value) == null || k.focus(); } - return an( + return cn( () => c.modelValue, - (j) => { - k(j); + (V) => { + x(V); } - ), an( + ), cn( () => { - var j; - return (j = c.asset) == null ? void 0 : j.tags; + var V; + return (V = c.asset) == null ? void 0 : V.tags; }, - (j) => { - k(j); + (V) => { + x(V); } - ), (j, L) => (Ie(), he("div", { + ), (V, k) => (be(), Ce("div", { class: Zn(["mjr-tags-editor", { "is-disabled": e.disabled }]), "aria-busy": g.value }, [ - ne("div", { + ie("div", { class: "mjr-tags-display", role: "list", - "aria-label": Ge(m)("tags.label", "Tags") + "aria-label": xe(m)("tags.label", "Tags") }, [ - u.value.length === 0 ? (Ie(), he("span", t0, Ye(Ge(m)("msg.noTagsYet", "No tags yet...")), 1)) : (Ie(!0), he(Xt, { key: 1 }, Cn(u.value, (N, q) => (Ie(), he("div", { - key: N, + u.value.length === 0 ? (be(), Ce("span", o0, Ye(xe(m)("msg.noTagsYet", "No tags yet...")), 1)) : (be(!0), Ce(Nt, { key: 1 }, Cn(u.value, (K, z) => (be(), Ce("div", { + key: K, class: "mjr-tag-chip", role: "listitem" }, [ - Kp(Ye(N) + " ", 1), - ne("button", { + Hp(Ye(K) + " ", 1), + ie("button", { type: "button", class: "mjr-tag-chip-remove", - "aria-label": Ge(m)("tags.remove", "Remove tag"), + "aria-label": xe(m)("tags.remove", "Remove tag"), disabled: e.disabled, - onClick: (O) => w(q) - }, " Γ— ", 8, n0) + onClick: (B) => R(z) + }, " Γ— ", 8, r0) ]))), 128)) - ], 8, e0), - ne("div", i0, [ - Bo(ne("input", { + ], 8, i0), + ie("div", l0, [ + Ko(ie("input", { ref_key: "inputRef", ref: I, - "onUpdate:modelValue": L[0] || (L[0] = (N) => p.value = N), + "onUpdate:modelValue": k[0] || (k[0] = (K) => p.value = K), type: "text", class: "mjr-tag-input", - placeholder: Ge(m)("sidebar.addTag", "Add tag..."), + placeholder: xe(m)("sidebar.addTag", "Add tag..."), disabled: e.disabled, - "aria-label": Ge(m)("tags.addLabel", "Add tag"), - "aria-autocomplete": y.value ? "list" : "none", - "aria-expanded": M.value, - "aria-haspopup": y.value ? "listbox" : void 0, - onFocus: L[1] || (L[1] = (N) => M.value = p.value.length > 0), - onInput: L[2] || (L[2] = (N) => M.value = p.value.length > 0), - onKeydown: X, - onBlur: L[3] || (L[3] = (N) => j.setTimeout(() => M.value = !1, 200)) - }, null, 40, o0), [ - [Dp, p.value] + "aria-label": xe(m)("tags.addLabel", "Add tag"), + "aria-autocomplete": X.value ? "list" : "none", + "aria-expanded": S.value, + "aria-haspopup": X.value ? "listbox" : void 0, + onFocus: k[1] || (k[1] = (K) => S.value = p.value.length > 0), + onInput: k[2] || (k[2] = (K) => S.value = p.value.length > 0), + onKeydown: Y, + onBlur: W + }, null, 40, a0), [ + [qp, p.value] ]), - Bo(ne("div", { + Ko(ie("div", { class: "mjr-tags-dropdown", role: "listbox", - "aria-label": Ge(m)("tags.suggestions", "Tag suggestions") + "aria-label": xe(m)("tags.suggestions", "Tag suggestions") }, [ - (Ie(!0), he(Xt, null, Cn(W.value, (N, q) => (Ie(), he("div", { - key: N, - class: Zn(["mjr-tag-suggestion", { "is-active": q === Z.value }]), + (be(!0), Ce(Nt, null, Cn(y.value, (K, z) => (be(), Ce("div", { + key: K, + class: Zn(["mjr-tag-suggestion", { "is-active": z === A.value }]), role: "option", - "aria-selected": q === Z.value, - onClick: (O) => V(N), - onMouseenter: (O) => Z.value = q - }, Ye(N), 43, l0))), 128)) - ], 8, r0), [ - [br, M.value && y.value] + "aria-selected": z === A.value, + onClick: (B) => F(K), + onMouseenter: (B) => A.value = z + }, Ye(K), 43, s0))), 128)) + ], 8, c0), [ + [yr, S.value && X.value] ]) ]) - ], 10, $w)); + ], 10, n0)); } -}, c0 = { +}, u0 = { key: 0, class: "mjr-context-menu-separator" -}, s0 = ["aria-disabled", "tabindex", "onClick", "onMouseenter", "onMouseleave"], d0 = { class: "mjr-context-menu-item-left" }, u0 = { class: "mjr-context-menu-item-right" }, m0 = { +}, m0 = ["aria-disabled", "tabindex", "onClick", "onMouseenter", "onMouseleave"], g0 = { class: "mjr-context-menu-item-left" }, I0 = { class: "mjr-context-menu-item-right" }, b0 = { key: 0, class: "mjr-context-menu-hint" -}, g0 = { +}, p0 = { key: 1, class: "mjr-context-menu-submenu-arrow" -}, I0 = { +}, y0 = { key: 0, class: "mjr-context-menu-separator" -}, b0 = ["aria-disabled", "tabindex", "onClick"], p0 = { class: "mjr-context-menu-item-left" }, y0 = { +}, f0 = ["aria-disabled", "tabindex", "onClick"], h0 = { class: "mjr-context-menu-item-left" }, C0 = { key: 0, class: "mjr-context-menu-hint" -}, f0 = { +}, Z0 = { __name: "ViewerContextMenu", setup(e) { const t = Ae(null), n = Ae(null), i = Ae(null); let o = null, r = null; - const l = Je(() => s(Kt.main, 10041)), a = Je(() => s(Kt.submenu, 10042)), c = Je(() => s(Kt.tags, 10043)); - function s(G, z) { + const l = ze(() => s(Kt.main, 10041)), a = ze(() => s(Kt.submenu, 10042)), c = ze(() => s(Kt.tags, 10043)); + function s(x, T) { return { position: "fixed", - left: `${Math.round(Number(G == null ? void 0 : G.x) || 0)}px`, - top: `${Math.round(Number(G == null ? void 0 : G.y) || 0)}px`, + left: `${Math.round(Number(x == null ? void 0 : x.x) || 0)}px`, + top: `${Math.round(Number(x == null ? void 0 : x.y) || 0)}px`, display: "block", - zIndex: String(z) + zIndex: String(T) }; } function d() { @@ -27265,66 +27280,66 @@ const Qw = { } function u() { d(), o = setTimeout(() => { - ur(); + gr(); }, 180); } - function I(G, z) { - if (!(G != null && G.open) || !z) return; - const x = z.getBoundingClientRect(), w = Number(window.innerWidth || 0), X = Number(window.innerHeight || 0); - let V = Number(G.x) || 0, R = Number(G.y) || 0; - V + x.width > w && (V = Math.max(8, w - x.width - 10)), R + x.height > X && (R = Math.max(8, X - x.height - 10)), V < 8 && (V = 8), R < 8 && (R = 8), G.x = V, G.y = R; + function I(x, T) { + if (!(x != null && x.open) || !T) return; + const v = T.getBoundingClientRect(), w = Number(window.innerWidth || 0), R = Number(window.innerHeight || 0); + let Y = Number(x.x) || 0, F = Number(x.y) || 0; + Y + v.width > w && (Y = Math.max(8, w - v.width - 10)), F + v.height > R && (F = Math.max(8, R - v.height - 10)), Y < 8 && (Y = 8), F < 8 && (F = 8), x.x = Y, x.y = F; } - async function p(G, z) { - await Ao(), I(G, (z == null ? void 0 : z.value) || null); + async function p(x, T) { + await wo(), I(x, (T == null ? void 0 : T.value) || null); } - function M(G) { - var z, x, w, X, V; + function S(x) { + var T, v, w, R, Y; try { - (X = (w = (x = (z = G == null ? void 0 : G.value) == null ? void 0 : z.querySelector) == null ? void 0 : x.call(z, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : w.focus) == null || X.call(w); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + (R = (w = (v = (T = x == null ? void 0 : x.value) == null ? void 0 : T.querySelector) == null ? void 0 : v.call(T, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : w.focus) == null || R.call(w); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } - function Z(G, z) { - var X; - if (!Array.isArray(G == null ? void 0 : G.submenu) || !G.submenu.length) { - ur(); + function A(x, T) { + var R; + if (!Array.isArray(x == null ? void 0 : x.submenu) || !x.submenu.length) { + gr(); return; } d(); - const x = z == null ? void 0 : z.currentTarget, w = (X = x == null ? void 0 : x.getBoundingClientRect) == null ? void 0 : X.call(x); - jZ({ + const v = T == null ? void 0 : T.currentTarget, w = (R = v == null ? void 0 : v.getBoundingClientRect) == null ? void 0 : R.call(v); + VZ({ x: Math.round(((w == null ? void 0 : w.right) || Kt.main.x || 0) + 6), y: Math.round(((w == null ? void 0 : w.top) || Kt.main.y || 0) - 4), - items: G.submenu, - title: G.label || "" + items: x.submenu, + title: x.label || "" }); } - async function A(G, z, x = "main") { + async function C(x, T, v = "main") { var w; - if (!(!G || G.type !== "item" || G.disabled)) { - if (Array.isArray(G.submenu) && G.submenu.length) { - Z(G, z); + if (!(!x || x.type !== "item" || x.disabled)) { + if (Array.isArray(x.submenu) && x.submenu.length) { + A(x, T); return; } try { - await ((w = G.action) == null ? void 0 : w.call(G)); - } catch (X) { - console.error("[ViewerContextMenu.vue] Action failed:", X); + await ((w = x.action) == null ? void 0 : w.call(x)); + } catch (R) { + console.error("[ViewerContextMenu.vue] Action failed:", R); } finally { - G.closeOnSelect !== !1 ? jo() : x === "submenu" && ur(); + x.closeOnSelect !== !1 ? Lo() : v === "submenu" && gr(); } } } - function g(G, z) { - if (Array.isArray(G == null ? void 0 : G.submenu) && G.submenu.length) { - Z(G, z); + function g(x, T) { + if (Array.isArray(x == null ? void 0 : x.submenu) && x.submenu.length) { + A(x, T); return; } - ur(); + gr(); } - function h(G) { - Array.isArray(G == null ? void 0 : G.submenu) && G.submenu.length && u(); + function Z(x) { + Array.isArray(x == null ? void 0 : x.submenu) && x.submenu.length && u(); } function f() { d(); @@ -27332,90 +27347,90 @@ const Qw = { function b() { u(); } - function v(G) { - var w, X, V, R, j, L; - const z = G == null ? void 0 : G.target; - ((X = (w = t.value) == null ? void 0 : w.contains) == null ? void 0 : X.call(w, z)) || ((R = (V = n.value) == null ? void 0 : V.contains) == null ? void 0 : R.call(V, z)) || ((L = (j = i.value) == null ? void 0 : j.contains) == null ? void 0 : L.call(j, z)) || jo(); + function L(x) { + var w, R, Y, F, N, V; + const T = x == null ? void 0 : x.target; + ((R = (w = t.value) == null ? void 0 : w.contains) == null ? void 0 : R.call(w, T)) || ((F = (Y = n.value) == null ? void 0 : Y.contains) == null ? void 0 : F.call(Y, T)) || ((V = (N = i.value) == null ? void 0 : N.contains) == null ? void 0 : V.call(N, T)) || Lo(); } - function C(G) { - (G == null ? void 0 : G.key) === "Escape" && jo(); + function h(x) { + (x == null ? void 0 : x.key) === "Escape" && Lo(); } - function S() { - jo(); + function G() { + Lo(); } - function W(G) { - var z; - String(((z = G == null ? void 0 : G.detail) == null ? void 0 : z.source) || "") !== "viewer" && jo(); + function W(x) { + var T; + String(((T = x == null ? void 0 : x.detail) == null ? void 0 : T.source) || "") !== "viewer" && Lo(); } - function y(G) { - const z = Kt.tags.asset; - z && (z.tags = Array.isArray(G) ? [...G] : []); + function y(x) { + const T = Kt.tags.asset; + T && (T.tags = Array.isArray(x) ? [...x] : []); } - function k(G) { - var x, w, X; - const z = Array.isArray(G == null ? void 0 : G.tags) ? G.tags : []; + function X(x) { + var v, w, R; + const T = Array.isArray(x == null ? void 0 : x.tags) ? x.tags : []; try { - (w = (x = Kt.tags).onChanged) == null || w.call(x, z); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + (w = (v = Kt.tags).onChanged) == null || w.call(v, T); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - return an( + return cn( () => Kt.main.open, - async (G) => { - G && (await p(Kt.main, t), M(t)); + async (x) => { + x && (await p(Kt.main, t), S(t)); } - ), an( + ), cn( () => Kt.submenu.open, - async (G) => { - G && (await p(Kt.submenu, n), M(n)); + async (x) => { + x && (await p(Kt.submenu, n), S(n)); } - ), an( + ), cn( () => Kt.tags.open, - async (G) => { - G && await p(Kt.tags, i); + async (x) => { + x && await p(Kt.tags, i); } ), Dn(() => { r = new AbortController(); - const G = { + const x = { capture: !0, passive: !0, signal: r.signal }; - window.addEventListener("pointerdown", v, G), window.addEventListener("keydown", C, { + window.addEventListener("pointerdown", L, x), window.addEventListener("keydown", h, { capture: !0, signal: r.signal - }), window.addEventListener("scroll", S, G), window.addEventListener("wheel", S, G), window.addEventListener("resize", S, { + }), window.addEventListener("scroll", G, x), window.addEventListener("wheel", G, x), window.addEventListener("resize", G, { passive: !0, signal: r.signal }), window.addEventListener("mjr-close-all-menus", W, { signal: r.signal }); }), _n(() => { - var G; + var x; d(); try { r == null || r.abort(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - r = null, jo(); - }), (G, z) => { - var x; - return Ie(), Ei(Ls, { to: "body" }, [ - Ge(Kt).main.open ? (Ie(), he("div", { + r = null, Lo(); + }), (x, T) => { + var v; + return be(), Pi(Ys, { to: "body" }, [ + xe(Kt).main.open ? (be(), Ce("div", { key: 0, ref_key: "mainMenuRef", ref: t, class: "mjr-viewer-context-menu mjr-context-menu", - style: vt(l.value), + style: Lt(l.value), role: "menu", "aria-label": "Viewer context menu" }, [ - (Ie(!0), he(Xt, null, Cn(Ge(Kt).main.items, (w) => (Ie(), he(Xt, { + (be(!0), Ce(Nt, null, Cn(xe(Kt).main.items, (w) => (be(), Ce(Nt, { key: w.id }, [ - w.type === "separator" ? (Ie(), he("div", c0)) : (Ie(), he("button", { + w.type === "separator" ? (be(), Ce("div", u0)) : (be(), Ce("button", { key: 1, type: "button", class: Zn(["mjr-context-menu-item", { @@ -27425,86 +27440,86 @@ const Qw = { role: "menuitem", "aria-disabled": w.disabled ? "true" : "false", tabindex: w.disabled ? -1 : 0, - onClick: (X) => A(w, X), - onMouseenter: (X) => g(w, X), - onMouseleave: (X) => h(w) + onClick: (R) => C(w, R), + onMouseenter: (R) => g(w, R), + onMouseleave: (R) => Z(w) }, [ - ne("span", d0, [ - w.iconClass ? (Ie(), he("i", { + ie("span", g0, [ + w.iconClass ? (be(), Ce("i", { key: 0, class: Zn(w.iconClass) - }, null, 2)) : yt("", !0), - ne("span", null, Ye(w.label), 1) + }, null, 2)) : ft("", !0), + ie("span", null, Ye(w.label), 1) ]), - ne("span", u0, [ - w.rightHint ? (Ie(), he("span", m0, Ye(w.rightHint), 1)) : yt("", !0), - Array.isArray(w.submenu) && w.submenu.length ? (Ie(), he("span", g0, " > ")) : yt("", !0) + ie("span", I0, [ + w.rightHint ? (be(), Ce("span", b0, Ye(w.rightHint), 1)) : ft("", !0), + Array.isArray(w.submenu) && w.submenu.length ? (be(), Ce("span", p0, " > ")) : ft("", !0) ]) - ], 42, s0)) + ], 42, m0)) ], 64))), 128)) - ], 4)) : yt("", !0), - Ge(Kt).submenu.open ? (Ie(), he("div", { + ], 4)) : ft("", !0), + xe(Kt).submenu.open ? (be(), Ce("div", { key: 1, ref_key: "submenuRef", ref: n, class: "mjr-viewer-rating-submenu mjr-context-menu", - style: vt(a.value), + style: Lt(a.value), role: "menu", "aria-label": "Viewer context submenu", onMouseenter: f, onMouseleave: b }, [ - (Ie(!0), he(Xt, null, Cn(Ge(Kt).submenu.items, (w) => (Ie(), he(Xt, { + (be(!0), Ce(Nt, null, Cn(xe(Kt).submenu.items, (w) => (be(), Ce(Nt, { key: w.id }, [ - w.type === "separator" ? (Ie(), he("div", I0)) : (Ie(), he("button", { + w.type === "separator" ? (be(), Ce("div", y0)) : (be(), Ce("button", { key: 1, type: "button", class: Zn(["mjr-context-menu-item", { "is-disabled": w.disabled }]), role: "menuitem", "aria-disabled": w.disabled ? "true" : "false", tabindex: w.disabled ? -1 : 0, - onClick: (X) => A(w, X, "submenu") + onClick: (R) => C(w, R, "submenu") }, [ - ne("span", p0, [ - w.iconClass ? (Ie(), he("i", { + ie("span", h0, [ + w.iconClass ? (be(), Ce("i", { key: 0, class: Zn(w.iconClass) - }, null, 2)) : yt("", !0), - ne("span", null, Ye(w.label), 1) + }, null, 2)) : ft("", !0), + ie("span", null, Ye(w.label), 1) ]), - w.rightHint ? (Ie(), he("span", y0, Ye(w.rightHint), 1)) : yt("", !0) - ], 10, b0)) + w.rightHint ? (be(), Ce("span", C0, Ye(w.rightHint), 1)) : ft("", !0) + ], 10, f0)) ], 64))), 128)) - ], 36)) : yt("", !0), - Ge(Kt).tags.open && Ge(Kt).tags.asset ? (Ie(), he("div", { + ], 36)) : ft("", !0), + xe(Kt).tags.open && xe(Kt).tags.asset ? (be(), Ce("div", { key: 2, ref_key: "tagsPopoverRef", ref: i, class: "mjr-viewer-popover", - style: vt(c.value) + style: Lt(c.value) }, [ - fn(dd, { - asset: Ge(Kt).tags.asset, - "model-value": ((x = Ge(Kt).tags.asset) == null ? void 0 : x.tags) || [], + fn(md, { + asset: xe(Kt).tags.asset, + "model-value": ((v = xe(Kt).tags.asset) == null ? void 0 : v.tags) || [], "onUpdate:modelValue": y, - onTagsChange: k + onTagsChange: X }, null, 8, ["asset", "model-value"]) - ], 4)) : yt("", !0) + ], 4)) : ft("", !0) ]); }; } -}, h0 = { +}, A0 = { __name: "ViewerContextMenuPortal", setup(e) { - const t = Ae(""), n = Je(() => GZ(t.value)); + const t = Ae(""), n = ze(() => vZ(t.value)); return Dn(() => { - t.value = MZ(); + t.value = xZ(); }), _n(() => { - SZ(t.value), t.value = ""; - }), (i, o) => n.value ? (Ie(), Ei(f0, { key: 0 })) : yt("", !0); + jZ(t.value), t.value = ""; + }), (i, o) => n.value ? (be(), Pi(Z0, { key: 0 })) : ft("", !0); } -}, C0 = { +}, W0 = { __name: "ViewerPortal", setup(e) { let t = null; @@ -27514,7 +27529,7 @@ const Qw = { if (!r.length) return; const l = Math.max(0, Math.min(Number(o == null ? void 0 : o.index) || 0, r.length - 1)), a = String((o == null ? void 0 : o.mode) || "").trim().toLowerCase(); try { - t || (t = ss()), (c = t.open) == null || c.call(t, r, l), (a === "ab" || a === "sidebyside") && ((s = t.setMode) == null || s.call(t, a)); + t || (t = us()), (c = t.open) == null || c.call(t, r, l), (a === "ab" || a === "sidebyside") && ((s = t.setMode) == null || s.call(t, a)); } catch (u) { (d = console.debug) == null || d.call(console, u); } @@ -27522,29 +27537,29 @@ const Qw = { return Dn(() => { var i, o, r; try { - ZI(); + AI(); } catch (l) { (i = console.debug) == null || i.call(console, l); } try { - t = ss(); + t = us(); } catch (l) { (o = console.debug) == null || o.call(console, l); } try { - window.addEventListener(ft.OPEN_VIEWER, n); + window.addEventListener(ht.OPEN_VIEWER, n); } catch (l) { (r = console.debug) == null || r.call(console, l); } }), _n(() => { var i, o, r, l; try { - window.removeEventListener(ft.OPEN_VIEWER, n); + window.removeEventListener(ht.OPEN_VIEWER, n); } catch (a) { (i = console.debug) == null || i.call(console, a); } try { - AI(); + WI(); } catch (a) { (o = console.debug) == null || o.call(console, a); } @@ -27554,18 +27569,18 @@ const Qw = { (l = console.debug) == null || l.call(console, a); } t = null; - }), (i, o) => (Ie(), he(Xt, null, [ - fn(_w), - fn(Qw), - fn(h0) + }), (i, o) => (be(), Ce(Nt, null, [ + fn(t0), + fn(e0), + fn(A0) ], 64)); } }; -function Z0() { +function w0() { let e = null; Dn(() => { try { - e = lw() ?? null; + e = sw() ?? null; } catch (t) { console.warn("[Majoor] useDragDrop: init failed", t); } @@ -27577,19 +27592,19 @@ function Z0() { (t = console.debug) == null || t.call(console, i); } try { - jb({ force: !0 }); + vb({ force: !0 }); } catch (i) { (n = console.debug) == null || n.call(console, i); } e = null; }); } -const A0 = { +const M0 = { __name: "GlobalRuntime", setup(e) { - return Z0(), (t, n) => (Ie(), Ei(C0)); + return w0(), (t, n) => (be(), Pi(W0)); } -}, W0 = !1, sn = { +}, S0 = !1, dn = { gridRenderCount: 0, gridRenderTotalMs: 0, searchQueryCount: 0, @@ -27600,23 +27615,23 @@ const A0 = { thumbnailLoadCount: 0, thumbnailLoadFailures: 0, errorCounts: {} -}, fl = /* @__PURE__ */ new Map(); -function us(e) { +}, hl = /* @__PURE__ */ new Map(); +function gs(e) { const t = performance.now(); - fl.set(e, t); + hl.set(e, t); try { performance.mark(`${e}-start`); } catch { } } -function Vb(e, t) { - const n = fl.get(e); +function kb(e, t) { + const n = hl.get(e); if (!n) return console.warn(`[Majoor Metrics] Timer not found: ${e}`), 0; const i = performance.now() - n; - if (fl.delete(e), t) { + if (hl.delete(e), t) { const o = `${t}Count`, r = `${t}TotalMs`; - typeof sn[o] == "number" && (sn[o]++, sn[r] += i); + typeof dn[o] == "number" && (dn[o]++, dn[r] += i); } i > 100 && console.log(`[Majoor Metrics] ${e}: ${i.toFixed(2)}ms`); try { @@ -27625,65 +27640,65 @@ function Vb(e, t) { } return i; } -function w0(e) { - return fl.has(e); +function G0(e) { + return hl.has(e); } -function kb(e) { +function Xb(e) { try { performance.mark(`${e}-start`); } catch { } } -function M0(e) { +function x0(e) { var t; try { performance.mark(`${e}-end`), performance.measure(e, `${e}-start`, `${e}-end`); const i = ((t = performance.getEntriesByName(e)[0]) == null ? void 0 : t.duration) || 0; - return (W0 || i > 100) && console.log(`[Majoor Metrics] Measure ${e}: ${i.toFixed(2)}ms`), i; + return (S0 || i > 100) && console.log(`[Majoor Metrics] Measure ${e}: ${i.toFixed(2)}ms`), i; } catch { return null; } } -function S0(e, t = !1) { - sn.apiCallCount++, sn.apiCallTotalMs += e, t && sn.apiErrorCount++; +function j0(e, t = !1) { + dn.apiCallCount++, dn.apiCallTotalMs += e, t && dn.apiErrorCount++; } -function Xb(e) { - sn.gridRenderCount++, sn.gridRenderTotalMs += e; +function Nb(e) { + dn.gridRenderCount++, dn.gridRenderTotalMs += e; } -function G0(e) { - sn.searchQueryCount++, sn.searchQueryTotalMs += e; +function v0(e) { + dn.searchQueryCount++, dn.searchQueryTotalMs += e; } -function x0(e) { - sn.thumbnailLoadCount++, e || sn.thumbnailLoadFailures++; +function L0(e) { + dn.thumbnailLoadCount++, e || dn.thumbnailLoadFailures++; } -function j0(e, t) { - sn.errorCounts[e] = (sn.errorCounts[e] || 0) + 1; +function V0(e, t) { + dn.errorCounts[e] = (dn.errorCounts[e] || 0) + 1; } -function Nb() { +function Rb() { return { - ...sn, + ...dn, averages: { - gridRenderMs: sn.gridRenderCount > 0 ? sn.gridRenderTotalMs / sn.gridRenderCount : 0, - searchQueryMs: sn.searchQueryCount > 0 ? sn.searchQueryTotalMs / sn.searchQueryCount : 0, - apiCallMs: sn.apiCallCount > 0 ? sn.apiCallTotalMs / sn.apiCallCount : 0 + gridRenderMs: dn.gridRenderCount > 0 ? dn.gridRenderTotalMs / dn.gridRenderCount : 0, + searchQueryMs: dn.searchQueryCount > 0 ? dn.searchQueryTotalMs / dn.searchQueryCount : 0, + apiCallMs: dn.apiCallCount > 0 ? dn.apiCallTotalMs / dn.apiCallCount : 0 }, rates: { - apiErrorRate: sn.apiCallCount > 0 ? (sn.apiErrorCount / sn.apiCallCount * 100).toFixed(2) + "%" : "0%", - thumbnailFailureRate: sn.thumbnailLoadCount > 0 ? (sn.thumbnailLoadFailures / sn.thumbnailLoadCount * 100).toFixed(2) + "%" : "0%" + apiErrorRate: dn.apiCallCount > 0 ? (dn.apiErrorCount / dn.apiCallCount * 100).toFixed(2) + "%" : "0%", + thumbnailFailureRate: dn.thumbnailLoadCount > 0 ? (dn.thumbnailLoadFailures / dn.thumbnailLoadCount * 100).toFixed(2) + "%" : "0%" } }; } -function v0(e) { - const t = `${e}Count`, n = `${e}TotalMs`, i = sn[t], o = sn[n]; +function Y0(e) { + const t = `${e}Count`, n = `${e}TotalMs`, i = dn[t], o = dn[n]; return i > 0 ? o / i : 0; } -function L0() { - Object.keys(sn).forEach((e) => { - typeof sn[e] == "number" ? sn[e] = 0 : typeof sn[e] == "object" && (sn[e] = {}); - }), fl.clear(), console.log("[Majoor Metrics] Metrics reset"); +function k0() { + Object.keys(dn).forEach((e) => { + typeof dn[e] == "number" ? dn[e] = 0 : typeof dn[e] == "object" && (dn[e] = {}); + }), hl.clear(), console.log("[Majoor Metrics] Metrics reset"); } -function Y0() { - const e = Nb(); +function X0() { + const e = Rb(); console.group("[Majoor Assets Manager] Performance Metrics"), console.table({ "Grid Renders": e.gridRenderCount, "Avg Grid Render": `${e.averages.gridRenderMs.toFixed(2)}ms`, @@ -27696,25 +27711,25 @@ function Y0() { "Thumbnail Loads": e.thumbnailLoadCount, "Thumbnail Failures": e.thumbnailLoadFailures, "Failure Rate": e.rates.thumbnailFailureRate - }), Object.keys(sn.errorCounts).length > 0 && console.log("Error Counts:", sn.errorCounts), console.groupEnd(); + }), Object.keys(dn.errorCounts).length > 0 && console.log("Error Counts:", dn.errorCounts), console.groupEnd(); } typeof window < "u" && (window.MajoorMetrics = { - startTimer: us, - endTimer: Vb, - hasTimer: w0, - mark: kb, - measure: M0, - trackApiCall: S0, - trackGridRender: Xb, - trackSearchQuery: G0, - trackThumbnailLoad: x0, - trackError: j0, - getMetricsReport: Nb, - getAverageDuration: v0, - resetMetrics: L0, - exportMetrics: Y0 + startTimer: gs, + endTimer: kb, + hasTimer: G0, + mark: Xb, + measure: x0, + trackApiCall: j0, + trackGridRender: Nb, + trackSearchQuery: v0, + trackThumbnailLoad: L0, + trackError: V0, + getMetricsReport: Rb, + getAverageDuration: Y0, + resetMetrics: k0, + exportMetrics: X0 }); -const Rb = [ +const Fb = [ { key: "exiftool", labelKey: "tool.exiftool", @@ -27726,26 +27741,26 @@ const Rb = [ hintKey: "tool.ffprobe.hint" } ]; -let wr = !1, am = null, cm = null; -const Fb = "__MJR_STATUS_DOT_CACHE__", ui = { +let Gr = !1, sm = null, dm = null; +const Ob = "__MJR_STATUS_DOT_CACHE__", gi = { ACTIVE: "active", COOLDOWN: "cooldown", IDLE: "idle" -}, V0 = { - [ui.ACTIVE]: 2e3, - [ui.COOLDOWN]: 1e4, - [ui.IDLE]: 6e4 +}, N0 = { + [gi.ACTIVE]: 2e3, + [gi.COOLDOWN]: 1e4, + [gi.IDLE]: 6e4 }; -function si(e) { +function ui(e) { var t; - wr = !!e; + Gr = !!e; try { - globalThis._mjrMaintenanceActive = wr; + globalThis._mjrMaintenanceActive = Gr; } catch (n) { (t = console.debug) == null || t.call(console, n); } } -function ms(e) { +function Is(e) { const t = Number(e); if (!Number.isFinite(t) || t <= 0) return "0 B"; const n = ["B", "KB", "MB", "GB", "TB"]; @@ -27755,7 +27770,7 @@ function ms(e) { const r = i >= 100 ? 0 : i >= 10 ? 1 : 2; return `${i.toFixed(r)} ${n[o]}`; } -function hl(e, t, n = null) { +function Cl(e, t, n = null) { if (!e) return; if (e.replaceChildren(), (Array.isArray(t) ? t.filter((o) => o != null && String(o).trim() !== "") : []).forEach((o, r) => { r > 0 && e.appendChild(document.createElement("br")), e.appendChild(document.createTextNode(String(o))); @@ -27765,7 +27780,7 @@ function hl(e, t, n = null) { o.style.fontSize = "11px", o.style.opacity = "0.6", o.textContent = String(n), e.appendChild(o); } } -function Zi(e, t, n) { +function Wi(e, t, n) { if (!e) return; e.replaceChildren(), e.appendChild(document.createTextNode(String(t || ""))), e.appendChild(document.createElement("br")); const i = document.createElement("span"); @@ -27818,30 +27833,30 @@ function Wn(e, t = "neutral", n = {}) { browser: m("status.toast.browser", "Index status: browser scope") }, I = t === "error" ? "error" : t === "warning" ? "warning" : t === "success" ? "success" : "info"; try { - Ce(u[t] || u.info, I, 1800, { noHistory: !0 }); + Ze(u[t] || u.info, I, 1800, { noHistory: !0 }); } catch (p) { (c = console.debug) == null || c.call(console, p); } } } } -function ua(e) { +function ma(e) { const t = String(e || "").toLowerCase(); return t === "all" ? m("scope.allFull", "All (Inputs + Outputs)") : t === "input" || t === "inputs" ? m("scope.input", "Inputs") : t === "custom" ? m("scope.custom", "Browser") : m("scope.output", "Outputs"); } -function k0(e, t = "") { +function R0(e, t = "") { if (!e || typeof e != "object") return t ? m("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { - scope: ua(t) + scope: ma(t) }) : m("status.watcher.disabled", "Watcher: disabled"); const n = !!e.enabled, i = e.scope ? String(e.scope) : ""; return n ? i ? m("status.watcher.enabledScoped", `Watcher: enabled (${i})`, { - scope: ua(i) + scope: ma(i) }) : m("status.watcher.enabled", "Watcher: enabled") : i || t ? m("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { - scope: ua(t && i && i !== t ? t : i || t) + scope: ma(t && i && i !== t ? t : i || t) }) : m("status.watcher.disabled", "Watcher: disabled"); } -function Pr(e = "status-action") { +function _r(e = "status-action") { var t, n; try { (t = window == null ? void 0 : window.dispatchEvent) == null || t.call( @@ -27854,12 +27869,12 @@ function Pr(e = "status-action") { (n = console.debug) == null || n.call(console, i); } } -function sm(e = "") { +function um(e = "") { var t, n; try { (t = window == null ? void 0 : window.dispatchEvent) == null || t.call( window, - new CustomEvent(ft.OPEN_MESSAGE_HISTORY, { + new CustomEvent(ht.OPEN_MESSAGE_HISTORY, { detail: { reason: String(e || "status-action") } }) ); @@ -27867,8 +27882,8 @@ function sm(e = "") { (n = console.debug) == null || n.call(console, i); } } -async function dm(e = "") { - return await bi( +async function mm(e = "") { + return await yi( m( "dialog.vectorsReset.keepQuestion", `Keep existing AI vectors? @@ -27879,10 +27894,10 @@ Cancel = continue without vectors` e || m("dialog.vectorsReset.title", "AI vectors") ); } -function X0(e = {}) { - var G, z; +function F0(e = {}) { + var x, T; const t = typeof (e == null ? void 0 : e.getScanContext) == "function" ? e.getScanContext : null; - si(!1); + ui(!1); const n = document.createElement("div"); n.style.cssText = "margin-bottom: 20px; padding: 12px; background: var(--bg-color, #1a1a1a); border-radius: 6px; border: 1px solid var(--border-color, #333); cursor: pointer; transition: all 0.2s;", Wn(n, "info", { toast: !1 }); const i = document.createElement("div"); @@ -27913,40 +27928,40 @@ function X0(e = {}) { background: rgba(255,255,255,0.04); color: inherit; `, I.title = m("status.dbBackupSelectHint", "Select a DB backup to restore"); - let p = !1, M = null; - const Z = (x) => { + let p = !1, S = null; + const A = (v) => { I.replaceChildren(); const w = document.createElement("option"); - w.value = "", w.textContent = String(x || ""), w.disabled = !0, w.selected = !0, I.appendChild(w), p = !1, I.disabled = !0, M && (M.disabled = !0); + w.value = "", w.textContent = String(v || ""), w.disabled = !0, w.selected = !0, I.appendChild(w), p = !1, I.disabled = !0, S && (S.disabled = !0); }; - Z(m("status.dbBackupLoading", "Loading DB backups...")); - const A = async (x = "") => { + A(m("status.dbBackupLoading", "Loading DB backups...")); + const C = async (v = "") => { var w; try { - const X = await Nf(); - if (!(X != null && X.ok)) { - Z(m("status.dbBackupNone", "No DB backup found")); + const R = await Of(); + if (!(R != null && R.ok)) { + A(m("status.dbBackupNone", "No DB backup found")); return; } - const V = Array.isArray((w = X == null ? void 0 : X.data) == null ? void 0 : w.items) ? X.data.items : []; - if (!V.length) { - Z(m("status.dbBackupNone", "No DB backup found")); + const Y = Array.isArray((w = R == null ? void 0 : R.data) == null ? void 0 : w.items) ? R.data.items : []; + if (!Y.length) { + A(m("status.dbBackupNone", "No DB backup found")); return; } I.replaceChildren(); - let R = !1; - for (const j of V) { - const L = String((j == null ? void 0 : j.name) || ""); - if (!L) continue; - const N = Number((j == null ? void 0 : j.mtime) || 0), q = Number((j == null ? void 0 : j.size_bytes) || 0), O = N > 0 ? new Date(N * 1e3).toLocaleString() : "", B = `${L}${O ? ` (${O}` : ""}${q > 0 ? `, ${ms(q)}` : ""}${O ? ")" : ""}`, J = document.createElement("option"); - J.value = L, J.textContent = B, x && x === L && (J.selected = !0, R = !0), I.appendChild(J); + let F = !1; + for (const N of Y) { + const V = String((N == null ? void 0 : N.name) || ""); + if (!V) continue; + const k = Number((N == null ? void 0 : N.mtime) || 0), K = Number((N == null ? void 0 : N.size_bytes) || 0), z = k > 0 ? new Date(k * 1e3).toLocaleString() : "", B = `${V}${z ? ` (${z}` : ""}${K > 0 ? `, ${Is(K)}` : ""}${z ? ")" : ""}`, J = document.createElement("option"); + J.value = V, J.textContent = B, v && v === V && (J.selected = !0, F = !0), I.appendChild(J); } - p = I.childNodes.length > 0, I.disabled = !p, p && !R && I.childNodes[0] && (I.value = String(I.childNodes[0].value || "")), M && (M.disabled = !p); + p = I.childNodes.length > 0, I.disabled = !p, p && !F && I.childNodes[0] && (I.value = String(I.childNodes[0].value || "")), S && (S.disabled = !p); } catch { - Z(m("status.dbBackupNone", "No DB backup found")); + A(m("status.dbBackupNone", "No DB backup found")); } }; - A(), u.appendChild(I); + C(), u.appendChild(I); const g = document.createElement("button"); g.type = "button", g.textContent = m("btn.dbSave", "Save DB"), g.title = m("status.dbSaveHint", "Save a DB snapshot into archive folder"), g.style.cssText = ` padding: 5px 10px; @@ -27956,46 +27971,46 @@ function X0(e = {}) { background: transparent; color: inherit; cursor: pointer; - `, g.onclick = async (x) => { - var V, R, j; - x.stopPropagation(), si(!0); - const w = g.textContent, X = !!(M != null && M.disabled); - g.disabled = !0, M && (M.disabled = !0), g.textContent = m("btn.saving", "Saving..."), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); + `, g.onclick = async (v) => { + var Y, F, N; + v.stopPropagation(), ui(!0); + const w = g.textContent, R = !!(S != null && S.disabled); + g.disabled = !0, S && (S.disabled = !0), g.textContent = m("btn.saving", "Saving..."), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); try { - const L = await Rf(); - if (L != null && L.ok) { - const N = String(((V = L == null ? void 0 : L.data) == null ? void 0 : V.name) || "").trim(), q = Number(((R = L == null ? void 0 : L.data) == null ? void 0 : R.size_bytes) || 0); - Ce(m("toast.dbSaveSuccess", "Database backup saved"), "success", 2200, { + const V = await zf(); + if (V != null && V.ok) { + const k = String(((Y = V == null ? void 0 : V.data) == null ? void 0 : Y.name) || "").trim(), K = Number(((F = V == null ? void 0 : V.data) == null ? void 0 : F.size_bytes) || 0); + Ze(m("toast.dbSaveSuccess", "Database backup saved"), "success", 2200, { history: { title: m("btn.dbSave", "Save DB"), - detail: N ? `${N}${q > 0 ? ` | ${ms(q)}` : ""}` : m("toast.dbSaveSuccess", "Database backup saved"), + detail: k ? `${k}${K > 0 ? ` | ${Is(K)}` : ""}` : m("toast.dbSaveSuccess", "Database backup saved"), operation: "save_db", - source: N || "archive", + source: k || "archive", forceStore: !0 } - }), await A(N); + }), await C(k); } else - Ce( - (L == null ? void 0 : L.error) || m("toast.dbSaveFailed", "Failed to save DB backup"), + Ze( + (V == null ? void 0 : V.error) || m("toast.dbSaveFailed", "Failed to save DB backup"), "error" ); - } catch (L) { - Ce( - (L == null ? void 0 : L.message) || m("toast.dbSaveFailed", "Failed to save DB backup"), + } catch (V) { + Ze( + (V == null ? void 0 : V.message) || m("toast.dbSaveFailed", "Failed to save DB backup"), "error" ); } finally { - si(!1), g.disabled = !1, M && (M.disabled = X || !p), g.textContent = w; + ui(!1), g.disabled = !1, S && (S.disabled = R || !p), g.textContent = w; try { - const L = t ? t() : null; - await Xi(o, c, s, L, null, { + const V = t ? t() : null; + await Ni(o, c, s, V, null, { force: !0 }); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } } - }, u.appendChild(g), M = document.createElement("button"), M.type = "button", M.textContent = m("btn.dbRestore", "Restore"), M.title = m("status.dbRestoreHint", "Restore selected DB backup"), M.style.cssText = ` + }, u.appendChild(g), S = document.createElement("button"), S.type = "button", S.textContent = m("btn.dbRestore", "Restore"), S.title = m("status.dbRestoreHint", "Restore selected DB backup"), S.style.cssText = ` padding: 5px 10px; font-size: 11px; border-radius: 6px; @@ -28003,15 +28018,15 @@ function X0(e = {}) { background: transparent; color: inherit; cursor: pointer; - `, M.onclick = async (x) => { - var j, L; - x.stopPropagation(); + `, S.onclick = async (v) => { + var N, V; + v.stopPropagation(); const w = String(I.value || ""); if (!w) { - Ce(m("toast.dbRestoreSelect", "Select a DB backup first"), "warning", 2e3); + Ze(m("toast.dbRestoreSelect", "Select a DB backup first"), "warning", 2e3); return; } - if (!await bi( + if (!await yi( `${m( "dialog.dbRestore.confirm", "Restore selected DB backup? Current DB will be replaced." @@ -28020,7 +28035,7 @@ function X0(e = {}) { ${w}`, m("btn.dbRestore", "Restore DB") )) return; - Ce(m("toast.dbRestoreStarted", "DB restore started"), "info", 1800, { + Ze(m("toast.dbRestoreStarted", "DB restore started"), "info", 1800, { history: { trackId: "maintenance:restore_db", title: m("btn.dbRestore", "Restore DB"), @@ -28030,39 +28045,39 @@ ${w}`, status: "started", forceStore: !0 } - }), si(!0); - const V = M.textContent, R = !!g.disabled; - M.disabled = !0, g.disabled = !0, I.disabled = !0, M.textContent = m("btn.restoring", "Restoring..."), o.style.background = "var(--mjr-status-warning, #FFA726)", Wn(n, "warning"); + }), ui(!0); + const Y = S.textContent, F = !!g.disabled; + S.disabled = !0, g.disabled = !0, I.disabled = !0, S.textContent = m("btn.restoring", "Restoring..."), o.style.background = "var(--mjr-status-warning, #FFA726)", Wn(n, "warning"); try { - const N = await Ff({ name: w, useLatest: !1 }); - N != null && N.ok ? await A(String(((j = N == null ? void 0 : N.data) == null ? void 0 : j.name) || w || "")) : Ce( - (N == null ? void 0 : N.error) || m("toast.dbRestoreFailed", "Failed to restore DB backup"), + const k = await Jf({ name: w, useLatest: !1 }); + k != null && k.ok ? await C(String(((N = k == null ? void 0 : k.data) == null ? void 0 : N.name) || w || "")) : Ze( + (k == null ? void 0 : k.error) || m("toast.dbRestoreFailed", "Failed to restore DB backup"), "error" ); - } catch (N) { - Ce( - (N == null ? void 0 : N.message) || m("toast.dbRestoreFailed", "Failed to restore DB backup"), + } catch (k) { + Ze( + (k == null ? void 0 : k.message) || m("toast.dbRestoreFailed", "Failed to restore DB backup"), "error" ); } finally { - si(!1), M.disabled = !p, g.disabled = R, I.disabled = !p, M.textContent = V, Pr("db-restore"); + ui(!1), S.disabled = !p, g.disabled = F, I.disabled = !p, S.textContent = Y, _r("db-restore"); try { - const N = t ? t() : null; - await Xi(o, c, s, N, null, { + const k = t ? t() : null; + await Ni(o, c, s, k, null, { force: !0 }); - } catch (N) { - (L = console.debug) == null || L.call(console, N); + } catch (k) { + (V = console.debug) == null || V.call(console, k); } } - }, u.appendChild(M), a.appendChild(u); - const h = document.createElement("div"); - h.style.cssText = "margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px;"; + }, u.appendChild(S), a.appendChild(u); + const Z = document.createElement("div"); + Z.style.cssText = "margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px;"; const f = document.createElement("div"); f.style.cssText = "margin-top: 8px; font-size: 11px; opacity: 0.9; line-height: 1.35; white-space: pre-wrap;", f.textContent = ""; - const b = (x, w = "neutral") => { - const X = String(x || "").trim(); - if (f.textContent = X, !X) { + const b = (v, w = "neutral") => { + const R = String(v || "").trim(); + if (f.textContent = R, !R) { f.style.color = "inherit", f.style.opacity = "0.9"; return; } @@ -28079,11 +28094,11 @@ ${w}`, return; } f.style.color = "inherit", f.style.opacity = "0.9"; - }, v = document.createElement("button"); - v.type = "button", v.textContent = m("btn.resetIndex"), v.title = m( + }, L = document.createElement("button"); + L.type = "button", L.textContent = m("btn.resetIndex"), L.title = m( "status.resetIndexHint", "Reset index cache (requires allowResetIndex in settings)." - ), v.style.cssText = ` + ), L.style.cssText = ` padding: 5px 12px; font-size: 11px; border-radius: 6px; @@ -28092,15 +28107,15 @@ ${w}`, color: inherit; cursor: pointer; transition: border 0.2s, background 0.2s; - `, v.onmouseenter = () => { - v.style.borderColor = "rgba(255,255,255,0.6)", v.style.background = "rgba(255,255,255,0.08)"; - }, v.onmouseleave = () => { - v.style.borderColor = "rgba(255,255,255,0.25)", v.style.background = "transparent"; - }, v.onclick = async (x) => { - var R; - x.stopPropagation(); - const w = await dm(m("btn.resetIndex", "Reset index")); - if (!await bi( + `, L.onmouseenter = () => { + L.style.borderColor = "rgba(255,255,255,0.6)", L.style.background = "rgba(255,255,255,0.08)"; + }, L.onmouseleave = () => { + L.style.borderColor = "rgba(255,255,255,0.25)", L.style.background = "transparent"; + }, L.onclick = async (v) => { + var F; + v.stopPropagation(); + const w = await mm(m("btn.resetIndex", "Reset index")); + if (!await yi( w ? m( "dialog.resetIndex.confirmKeepVectors", `This will reset index data and rescan files while keeping existing AI vectors. @@ -28112,16 +28127,16 @@ Continue?` ), m("dialog.resetIndex.title", "Reset index?") )) return; - sm("reset-index"), si(!0); - const V = v.textContent; - v.disabled = !0, v.textContent = m("btn.resetting"), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); + um("reset-index"), ui(!0); + const Y = L.textContent; + L.disabled = !0, L.textContent = m("btn.resetting"), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); try { - const j = t ? t() : {}, L = String((j == null ? void 0 : j.scope) || "output").toLowerCase(), N = (j == null ? void 0 : j.customRootId) || (j == null ? void 0 : j.custom_root_id) || (j == null ? void 0 : j.root_id) || null, q = L === "custom" && !N, J = await qd({ - scope: q ? "all" : L, - customRootId: q ? null : N, + const N = t ? t() : {}, V = String((N == null ? void 0 : N.scope) || "output").toLowerCase(), k = (N == null ? void 0 : N.customRootId) || (N == null ? void 0 : N.custom_root_id) || (N == null ? void 0 : N.root_id) || null, K = V === "custom" && !k, J = await Qd({ + scope: K ? "all" : V, + customRootId: K ? null : k, reindex: !0, maintenance_force: !0, - hard_reset_db: L === "all" && !w, + hard_reset_db: V === "all" && !w, clear_scan_journal: !0, clear_metadata_cache: !0, clear_asset_metadata: !0, @@ -28133,19 +28148,19 @@ Continue?` } catch { o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); } finally { - si(!1), v.disabled = !1, v.textContent = V, Pr("index-reset"); + ui(!1), L.disabled = !1, L.textContent = Y, _r("index-reset"); try { - const j = t ? t() : null; - await Xi(o, c, s, j, null, { + const N = t ? t() : null; + await Ni(o, c, s, N, null, { force: !0 }); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } } }; - const C = document.createElement("button"); - C.type = "button", C.textContent = "Backfill vectors", C.title = "Compute missing AI vector embeddings for existing assets.", C.style.cssText = ` + const h = document.createElement("button"); + h.type = "button", h.textContent = "Backfill vectors", h.title = "Compute missing AI vector embeddings for existing assets.", h.style.cssText = ` padding: 5px 12px; font-size: 11px; border-radius: 6px; @@ -28154,18 +28169,18 @@ Continue?` color: inherit; cursor: pointer; transition: border 0.2s, background 0.2s; - `, C.onmouseenter = () => { - C.style.borderColor = "rgba(0, 188, 212, 0.8)", C.style.background = "rgba(0, 188, 212, 0.12)"; - }, C.onmouseleave = () => { - C.style.borderColor = "rgba(0, 188, 212, 0.45)", C.style.background = "transparent"; - }, C.onclick = async (x) => { - var B, J, T, D, Q, E, K, F, Y; - x.stopPropagation(); - const w = t ? t() : {}, X = String((w == null ? void 0 : w.scope) || "output").toLowerCase(), V = String( + `, h.onmouseenter = () => { + h.style.borderColor = "rgba(0, 188, 212, 0.8)", h.style.background = "rgba(0, 188, 212, 0.12)"; + }, h.onmouseleave = () => { + h.style.borderColor = "rgba(0, 188, 212, 0.45)", h.style.background = "transparent"; + }, h.onclick = async (v) => { + var B, J, P, H, $, E, oe, M, j; + v.stopPropagation(); + const w = t ? t() : {}, R = String((w == null ? void 0 : w.scope) || "output").toLowerCase(), Y = String( (w == null ? void 0 : w.customRootId) || (w == null ? void 0 : w.custom_root_id) || (w == null ? void 0 : w.root_id) || "" ).trim(); - if (X === "custom" && !V) { - Ce( + if (R === "custom" && !Y) { + Ze( m( "status.customBrowserScanDisabledHint", "Use Outputs, Inputs, or All to run indexing scans" @@ -28178,71 +28193,71 @@ Continue?` ); return; } - const j = X || "output", L = ua(j); - sm("vector-backfill"); - const N = { + const N = R || "output", V = ma(N); + um("vector-backfill"); + const k = { history: { - trackId: `vector-backfill:status:${j}:${V || "default"}`, + trackId: `vector-backfill:status:${N}:${Y || "default"}`, title: "Vector Backfill", - source: L, + source: V, operation: "vector_backfill", forceStore: !0 } }; - si(!0); - const q = C.textContent, O = v.textContent; - C.disabled = !0, v.disabled = !0, C.textContent = "Backfilling...", b(`Backfill started (${L})...`, "info"), $r( - { summary: "Vector Backfill", detail: `Started (${L})` }, + ui(!0); + const K = h.textContent, z = L.textContent; + h.disabled = !0, L.disabled = !0, h.textContent = "Backfilling...", b(`Backfill started (${V})...`, "info"), tl( + { summary: "Vector Backfill", detail: `Started (${V})` }, "info", 0, - { history: { ...N.history, status: "started", detail: `Started (${L})` } } + { history: { ...k.history, status: "started", detail: `Started (${V})` } } ), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); try { - const U = { - scope: j, - onProgress: (ee) => { - const oe = String((ee == null ? void 0 : ee.status) || "").toLowerCase(), ce = (ee == null ? void 0 : ee.progress) || (ee == null ? void 0 : ee.result) || {}, pe = Number((ce == null ? void 0 : ce.candidates) || (ce == null ? void 0 : ce.processed) || 0), H = Number((ce == null ? void 0 : ce.candidate_total) || pe || 0), $ = Number((ce == null ? void 0 : ce.eligible_total) || (ce == null ? void 0 : ce.total_assets) || 0), _ = Number((ce == null ? void 0 : ce.indexed) || 0), le = Number((ce == null ? void 0 : ce.skipped) || 0), se = Number((ce == null ? void 0 : ce.errors) || 0); - if (oe === "queued") { - b("Backfill queued…", "info"), $r( - { summary: "Vector Backfill", detail: `Queued (${L})` }, + const O = { + scope: N, + onProgress: (q) => { + const ee = String((q == null ? void 0 : q.status) || "").toLowerCase(), ce = (q == null ? void 0 : q.progress) || (q == null ? void 0 : q.result) || {}, ue = Number((ce == null ? void 0 : ce.candidates) || (ce == null ? void 0 : ce.processed) || 0), U = Number((ce == null ? void 0 : ce.candidate_total) || ue || 0), Q = Number((ce == null ? void 0 : ce.eligible_total) || (ce == null ? void 0 : ce.total_assets) || 0), _ = Number((ce == null ? void 0 : ce.indexed) || 0), le = Number((ce == null ? void 0 : ce.skipped) || 0), de = Number((ce == null ? void 0 : ce.errors) || 0); + if (ee === "queued") { + b("Backfill queued…", "info"), tl( + { summary: "Vector Backfill", detail: `Queued (${V})` }, "info", 0, { history: { - ...N.history, + ...k.history, status: "queued", - detail: `Queued (${L})`, + detail: `Queued (${V})`, progress: { current: 0, total: 1, percent: 0, label: "queued" } } } ); return; } - if (oe === "running" || pe > 0 || H > 0 || $ > 0 || _ > 0 || le > 0 || se > 0) { - const de = $ > 0 ? `Indexed ${_}/${$} assets, candidates ${H}, skipped ${le}, errors ${se}` : `Candidates ${pe}, indexed ${_}, skipped ${le}, errors ${se}`; + if (ee === "running" || ue > 0 || U > 0 || Q > 0 || _ > 0 || le > 0 || de > 0) { + const se = Q > 0 ? `Indexed ${_}/${Q} assets, candidates ${U}, skipped ${le}, errors ${de}` : `Candidates ${ue}, indexed ${_}, skipped ${le}, errors ${de}`; b( - $ > 0 ? `Backfill running β€” indexed ${_}/${$} assets, candidates ${H}, skipped ${le}, errors ${se}` : `Backfill running β€” candidates ${pe}, indexed ${_}, skipped ${le}, errors ${se}`, + Q > 0 ? `Backfill running β€” indexed ${_}/${Q} assets, candidates ${U}, skipped ${le}, errors ${de}` : `Backfill running β€” candidates ${ue}, indexed ${_}, skipped ${le}, errors ${de}`, "info" - ), $r( - { summary: "Vector Backfill", detail: de }, + ), tl( + { summary: "Vector Backfill", detail: se }, "info", 0, { history: { - ...N.history, + ...k.history, status: "running", - detail: de, + detail: se, progress: { - current: $ > 0 ? _ : _ + le + se, - total: $ > 0 ? $ : Math.max(pe, _ + le + se), - percent: $ > 0 ? Math.round(_ / $ * 100) : Math.max(pe, _ + le + se) > 0 ? Math.round( - (_ + le + se) / Math.max(pe, _ + le + se) * 100 + current: Q > 0 ? _ : _ + le + de, + total: Q > 0 ? Q : Math.max(ue, _ + le + de), + percent: Q > 0 ? Math.round(_ / Q * 100) : Math.max(ue, _ + le + de) > 0 ? Math.round( + (_ + le + de) / Math.max(ue, _ + le + de) * 100 ) : null, - eligible_total: $ > 0 ? $ : void 0, - candidate_total: H > 0 ? H : void 0, + eligible_total: Q > 0 ? Q : void 0, + candidate_total: U > 0 ? U : void 0, indexed: _, skipped: le, - errors: se, + errors: de, label: "running" } } @@ -28251,105 +28266,105 @@ Continue?` } } }; - j === "custom" && V && (U.customRootId = V); - const P = await Og(64, U); - if (P != null && P.ok) { - const ee = String(((B = P == null ? void 0 : P.data) == null ? void 0 : B.status) || "").toLowerCase(), oe = !!((J = P == null ? void 0 : P.data) != null && J.pending) || ["queued", "running", "pending"].includes(ee), ce = ((T = P == null ? void 0 : P.data) == null ? void 0 : T.progress) || {}, pe = Number(((D = P == null ? void 0 : P.data) == null ? void 0 : D.processed) ?? (ce == null ? void 0 : ce.candidates) ?? 0), H = Number(((Q = P == null ? void 0 : P.data) == null ? void 0 : Q.indexed) ?? (ce == null ? void 0 : ce.indexed) ?? 0), $ = Number(((E = P == null ? void 0 : P.data) == null ? void 0 : E.skipped) ?? (ce == null ? void 0 : ce.skipped) ?? 0), _ = Number(((K = P == null ? void 0 : P.data) == null ? void 0 : K.errors) ?? (ce == null ? void 0 : ce.errors) ?? 0); - if (oe) { - const le = String(((F = P == null ? void 0 : P.data) == null ? void 0 : F.backfill_id) || "").trim(), se = m( + N === "custom" && Y && (O.customRootId = Y); + const D = await zg(64, O); + if (D != null && D.ok) { + const q = String(((B = D == null ? void 0 : D.data) == null ? void 0 : B.status) || "").toLowerCase(), ee = !!((J = D == null ? void 0 : D.data) != null && J.pending) || ["queued", "running", "pending"].includes(q), ce = ((P = D == null ? void 0 : D.data) == null ? void 0 : P.progress) || {}, ue = Number(((H = D == null ? void 0 : D.data) == null ? void 0 : H.processed) ?? (ce == null ? void 0 : ce.candidates) ?? 0), U = Number((($ = D == null ? void 0 : D.data) == null ? void 0 : $.indexed) ?? (ce == null ? void 0 : ce.indexed) ?? 0), Q = Number(((E = D == null ? void 0 : D.data) == null ? void 0 : E.skipped) ?? (ce == null ? void 0 : ce.skipped) ?? 0), _ = Number(((oe = D == null ? void 0 : D.data) == null ? void 0 : oe.errors) ?? (ce == null ? void 0 : ce.errors) ?? 0); + if (ee) { + const le = String(((M = D == null ? void 0 : D.data) == null ? void 0 : M.backfill_id) || "").trim(), de = m( "toast.vectorBackfillRunning", "Vector backfill still running in background{job}.", { job: le ? ` (${le.slice(0, 8)})` : "" } ); - Ce(se, "info", 4200, { + Ze(de, "info", 4200, { history: { - ...N.history, + ...k.history, status: "running", detail: `Running in background${le ? ` (${le.slice(0, 8)})` : ""}.`, progress: { - current: H + $ + _, - total: Math.max(pe, H + $ + _), - percent: Math.max(pe, H + $ + _) > 0 ? Math.round( - (H + $ + _) / Math.max(pe, H + $ + _) * 100 + current: U + Q + _, + total: Math.max(ue, U + Q + _), + percent: Math.max(ue, U + Q + _) > 0 ? Math.round( + (U + Q + _) / Math.max(ue, U + Q + _) * 100 ) : null, - indexed: H, - skipped: $, + indexed: U, + skipped: Q, errors: _, label: "running" } } }), b( - `Backfill running in background β€” candidates ${pe}, indexed ${H}, skipped ${$}, errors ${_}`, + `Backfill running in background β€” candidates ${ue}, indexed ${U}, skipped ${Q}, errors ${_}`, "info" ), o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); } else - Ce( + Ze( m( "toast.vectorBackfillComplete", "Vector backfill complete! Processed: {processed}, Indexed: {indexed}, Skipped: {skipped}", - { processed: pe, indexed: H, skipped: $ } + { processed: ue, indexed: U, skipped: Q } ), "success", 3e3, { history: { - ...N.history, + ...k.history, status: "succeeded", - detail: `Processed ${pe}, indexed ${H}, skipped ${$}`, + detail: `Processed ${ue}, indexed ${U}, skipped ${Q}`, progress: { - current: pe, - total: pe, - percent: pe > 0 ? 100 : null, - indexed: H, - skipped: $, + current: ue, + total: ue, + percent: ue > 0 ? 100 : null, + indexed: U, + skipped: Q, errors: _, label: "done" } } } ), b( - `Backfill OK β€” processed ${pe}, indexed ${H}, skipped ${$}`, + `Backfill OK β€” processed ${ue}, indexed ${U}, skipped ${Q}`, "success" ), o.style.background = "var(--mjr-status-success, #4CAF50)", Wn(n, "success"); } else { - const ee = String( - (P == null ? void 0 : P.error) || m("toast.vectorBackfillFailedGeneric", "Backfill failed") - ), oe = String((P == null ? void 0 : P.code) || "").trim(), ce = Number((P == null ? void 0 : P.status) || 0) || 0, pe = [oe ? `code=${oe}` : "", ce ? `status=${ce}` : "", ee].filter(Boolean).join(" | "); - Ce(pe, "error", 4500, { + const q = String( + (D == null ? void 0 : D.error) || m("toast.vectorBackfillFailedGeneric", "Backfill failed") + ), ee = String((D == null ? void 0 : D.code) || "").trim(), ce = Number((D == null ? void 0 : D.status) || 0) || 0, ue = [ee ? `code=${ee}` : "", ce ? `status=${ce}` : "", q].filter(Boolean).join(" | "); + Ze(ue, "error", 4500, { history: { - ...N.history, + ...k.history, status: "failed", - detail: pe, + detail: ue, progress: { label: "failed", errors: 1 } } - }), b(`Backfill ERROR β€” ${pe} -See console for full payload.`, "error"), console.error("[Majoor] Vector backfill failed response", P), o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); + }), b(`Backfill ERROR β€” ${ue} +See console for full payload.`, "error"), console.error("[Majoor] Vector backfill failed response", D), o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); } - } catch (U) { - const P = String((U == null ? void 0 : U.message) || U || "Backfill failed"); - Ce(P, "error", 4500, { + } catch (O) { + const D = String((O == null ? void 0 : O.message) || O || "Backfill failed"); + Ze(D, "error", 4500, { history: { - ...N.history, + ...k.history, status: "failed", - detail: P, + detail: D, progress: { label: "failed", errors: 1 } } - }), b(`Backfill EXCEPTION β€” ${P} -See console for stack trace.`, "error"), console.error("[Majoor] Vector backfill exception", U), o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); + }), b(`Backfill EXCEPTION β€” ${D} +See console for stack trace.`, "error"), console.error("[Majoor] Vector backfill exception", O), o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); } finally { - si(!1), C.disabled = !1, v.disabled = !1, C.textContent = q, v.textContent = O, Pr("vector-backfill"); + ui(!1), h.disabled = !1, L.disabled = !1, h.textContent = K, L.textContent = z, _r("vector-backfill"); try { - const U = t ? t() : null; - await Xi(o, c, s, U, null, { + const O = t ? t() : null; + await Ni(o, c, s, O, null, { force: !0 }); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } } - }, h.appendChild(C), h.appendChild(v), a.appendChild(f); - const S = document.createElement("button"); - S.type = "button", S.textContent = m("btn.deleteDb"), S.title = m("tooltip.deleteDb", "Force-delete database and rebuild from scratch"), S.style.cssText = ` + }, Z.appendChild(h), Z.appendChild(L), a.appendChild(f); + const G = document.createElement("button"); + G.type = "button", G.textContent = m("btn.deleteDb"), G.title = m("tooltip.deleteDb", "Force-delete database and rebuild from scratch"), G.style.cssText = ` padding: 5px 12px; font-size: 11px; border-radius: 6px; @@ -28358,15 +28373,15 @@ See console for stack trace.`, "error"), console.error("[Majoor] Vector backfill color: inherit; cursor: pointer; transition: border 0.2s, background 0.2s; - `, S.onmouseenter = () => { - S.style.borderColor = "rgba(255,80,80,0.8)", S.style.background = "rgba(255,80,80,0.12)"; - }, S.onmouseleave = () => { - S.style.borderColor = "rgba(255,80,80,0.4)", S.style.background = "transparent"; - }, S.onclick = async (x) => { - var R; - x.stopPropagation(); - const w = await dm(m("btn.deleteDb", "Delete DB")); - if (!await bi( + `, G.onmouseenter = () => { + G.style.borderColor = "rgba(255,80,80,0.8)", G.style.background = "rgba(255,80,80,0.12)"; + }, G.onmouseleave = () => { + G.style.borderColor = "rgba(255,80,80,0.4)", G.style.background = "transparent"; + }, G.onclick = async (v) => { + var F; + v.stopPropagation(); + const w = await mm(m("btn.deleteDb", "Delete DB")); + if (!await yi( w ? m( "dialog.dbDelete.keepVectorsConfirm", `This will reset index data and keep existing AI vectors. Database files will not be force-deleted. @@ -28380,11 +28395,11 @@ Continue?` ), m("btn.deleteDb", "Delete DB") )) return; - si(!0); - const V = S.textContent; - S.disabled = !0, S.textContent = w ? m("btn.resetting", "Resetting...") : m("btn.deletingDb"), v.disabled = !0, o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); + ui(!0); + const Y = G.textContent; + G.disabled = !0, G.textContent = w ? m("btn.resetting", "Resetting...") : m("btn.deletingDb"), L.disabled = !0, o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info"); try { - const j = w ? await qd({ + const N = w ? await Qd({ scope: "all", reindex: !0, maintenance_force: !0, @@ -28395,134 +28410,134 @@ Continue?` clear_assets: !1, preserve_vectors: !0, rebuild_fts: !0 - }) : await Xf(); - j != null && j.ok ? (globalThis._mjrCorruptToastShown = !1, o.style.background = "var(--mjr-status-success, #4CAF50)", Wn(n, "success")) : (o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error")); + }) : await Ff(); + N != null && N.ok ? (globalThis._mjrCorruptToastShown = !1, o.style.background = "var(--mjr-status-success, #4CAF50)", Wn(n, "success")) : (o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error")); } catch { o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error"); } finally { - si(!1), S.disabled = !1, S.textContent = V, v.disabled = !1, Pr( + ui(!1), G.disabled = !1, G.textContent = Y, L.disabled = !1, _r( w ? "index-reset-preserve-vectors" : "db-force-delete" ); try { - const j = t ? t() : null; - await Xi(o, c, s, j, null, { + const N = t ? t() : null; + await Ni(o, c, s, N, null, { force: !0 }); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } } - }, h.appendChild(S), a.appendChild(h), n.appendChild(i), n.appendChild(a); + }, Z.appendChild(G), a.appendChild(Z), n.appendChild(i), n.appendChild(a); const W = n.querySelector("#mjr-status-title"); - W && W.addEventListener("click", (x) => { - x.stopPropagation(); + W && W.addEventListener("click", (v) => { + v.stopPropagation(); const w = n.querySelector("#mjr-status-body"); if (!w) return; - const X = w.style.display === "none"; - mm(n, !X); - }), mm(n, !0), n.onmouseenter = () => { + const R = w.style.display === "none"; + Im(n, !R); + }), Im(n, !0), n.onmouseenter = () => { n.style.transform = "translateY(-1px)"; }, n.onmouseleave = () => { - var x; - n.style.transform = "", Wn(n, ((x = n.dataset) == null ? void 0 : x.mjrStatusTone) || "neutral", { + var v; + n.style.transform = "", Wn(n, ((v = n.dataset) == null ? void 0 : v.mjrStatusTone) || "neutral", { toast: !1 }); }; - const y = async (x) => { - var w, X; + const y = async (v) => { + var w, R; try { - const V = (x == null ? void 0 : x.detail) || {}, R = String((V == null ? void 0 : V.step) || ""); - if (!R) return; - const j = R === "started" || R === "stopping_workers" || R === "resetting_db" || R === "delete_db" || R === "recreate_db" || R === "replacing_files" || R === "restarting_scan"; - if (j ? si(!0) : (R === "failed" || R === "done") && si(!1), !(n != null && n.isConnected) || !(o != null && o.isConnected) || !(c != null && c.isConnected)) + const Y = (v == null ? void 0 : v.detail) || {}, F = String((Y == null ? void 0 : Y.step) || ""); + if (!F) return; + const N = F === "started" || F === "stopping_workers" || F === "resetting_db" || F === "delete_db" || F === "recreate_db" || F === "replacing_files" || F === "restarting_scan"; + if (N ? ui(!0) : (F === "failed" || F === "done") && ui(!1), !(n != null && n.isConnected) || !(o != null && o.isConnected) || !(c != null && c.isConnected)) return; - if (j) { - o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info", { toast: !1 }), Zi( + if (N) { + o.style.background = "var(--mjr-status-info, #64B5F6)", Wn(n, "info", { toast: !1 }), Wi( c, m("status.pending", "Pending..."), m("status.dbRestoreInProgress", "Database restore in progress") ); return; } - if (R === "failed") { - o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error", { toast: !1 }), hl(c, [ + if (F === "failed") { + o.style.background = "var(--mjr-status-error, #f44336)", Wn(n, "error", { toast: !1 }), Cl(c, [ m("status.error", "Error"), String( - (V == null ? void 0 : V.message) || m("toast.dbRestoreFailed", "Failed to restore DB backup") + (Y == null ? void 0 : Y.message) || m("toast.dbRestoreFailed", "Failed to restore DB backup") ) ]); return; } - if (R === "done") { + if (F === "done") { o.style.background = "var(--mjr-status-success, #4CAF50)", Wn(n, "success", { toast: !1 }); - const L = String((V == null ? void 0 : V.operation) || ""), N = L === "delete_db" ? m( + const V = String((Y == null ? void 0 : Y.operation) || ""), k = V === "delete_db" ? m( "toast.dbDeleteSuccess", "Database deleted and rebuilt. Files are being reindexed." - ) : L === "reset_index" ? m( + ) : V === "reset_index" ? m( "toast.resetStarted", "Index reset started. Files will be reindexed in the background." ) : m("toast.dbRestoreSuccess", "Database backup restored"); - Zi(c, m("status.ready", "Ready"), N); + Wi(c, m("status.ready", "Ready"), k); try { - const q = t ? t() : null; + const K = t ? t() : null; setTimeout(() => { - Xi(o, c, s, q, null, { + Ni(o, c, s, K, null, { force: !0 }); }, 600); - } catch (q) { - (w = console.debug) == null || w.call(console, q); + } catch (K) { + (w = console.debug) == null || w.call(console, K); } } - } catch (V) { - (X = console.debug) == null || X.call(console, V); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } }; try { - const x = am; - typeof x == "function" && window.removeEventListener("mjr-db-restore-status", x), am = y, n._mjrDbRestoreStatusHandler = y, window.addEventListener("mjr-db-restore-status", y); - } catch (x) { - (G = console.debug) == null || G.call(console, x); + const v = sm; + typeof v == "function" && window.removeEventListener("mjr-db-restore-status", v), sm = y, n._mjrDbRestoreStatusHandler = y, window.addEventListener("mjr-db-restore-status", y); + } catch (v) { + (x = console.debug) == null || x.call(console, v); } - const k = (x) => { - var w, X; + const X = (v) => { + var w, R; try { - const V = (x == null ? void 0 : x.detail) || {}, R = Number(V == null ? void 0 : V.queue_remaining), j = Number(V == null ? void 0 : V.progress_value), L = Number(V == null ? void 0 : V.progress_max), N = Array.isArray(V == null ? void 0 : V.cached_nodes) ? V.cached_nodes.length : 0, q = String((V == null ? void 0 : V.active_prompt_id) || "").trim(), O = Number.isFinite(j) && Number.isFinite(L) && L > 0 ? m("status.runtimeProgress", "Runtime progress: {value}/{max}", { - value: j, - max: L - }) : "", B = Number.isFinite(R) ? m("status.queueRemaining", "Queue remaining: {count}", { - count: Math.max(0, R) - }) : "", J = N > 0 ? m("status.executionCached", "Cached nodes reused: {count}", { - count: N - }) : "", T = q ? m("status.activePrompt", "Active prompt: {id}", { id: q }) : "", D = [O, B, J, T].filter(Boolean); - if (!D.length) return; - const Q = (w = c == null ? void 0 : c.querySelector) == null ? void 0 : w.call(c, "span"); - Q ? Q.textContent = D.join(" | ") : Zi(c, m("status.ready", "Ready"), D.join(" | ")); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + const Y = (v == null ? void 0 : v.detail) || {}, F = Number(Y == null ? void 0 : Y.queue_remaining), N = Number(Y == null ? void 0 : Y.progress_value), V = Number(Y == null ? void 0 : Y.progress_max), k = Array.isArray(Y == null ? void 0 : Y.cached_nodes) ? Y.cached_nodes.length : 0, K = String((Y == null ? void 0 : Y.active_prompt_id) || "").trim(), z = Number.isFinite(N) && Number.isFinite(V) && V > 0 ? m("status.runtimeProgress", "Runtime progress: {value}/{max}", { + value: N, + max: V + }) : "", B = Number.isFinite(F) ? m("status.queueRemaining", "Queue remaining: {count}", { + count: Math.max(0, F) + }) : "", J = k > 0 ? m("status.executionCached", "Cached nodes reused: {count}", { + count: k + }) : "", P = K ? m("status.activePrompt", "Active prompt: {id}", { id: K }) : "", H = [z, B, J, P].filter(Boolean); + if (!H.length) return; + const $ = (w = c == null ? void 0 : c.querySelector) == null ? void 0 : w.call(c, "span"); + $ ? $.textContent = H.join(" | ") : Wi(c, m("status.ready", "Ready"), H.join(" | ")); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } }; try { - const x = cm; - typeof x == "function" && window.removeEventListener(ft.RUNTIME_STATUS, x), cm = k, window.addEventListener(ft.RUNTIME_STATUS, k); - } catch (x) { - (z = console.debug) == null || z.call(console, x); + const v = dm; + typeof v == "function" && window.removeEventListener(ht.RUNTIME_STATUS, v), dm = X, window.addEventListener(ht.RUNTIME_STATUS, X); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } return n; } -async function Ob(e, t, n = null, i = null) { - var g, h, f, b, v, C; - if (wr) { - Ce( +async function zb(e, t, n = null, i = null) { + var g, Z, f, b, L, h; + if (Gr) { + Ze( m("status.maintenanceBusy", "Database maintenance in progress. Please wait."), "warning", 2200 ); return; } - const o = ((h = (g = t == null ? void 0 : t.closest) == null ? void 0 : g.call(t, "#mjr-status-body")) == null ? void 0 : h.parentElement) || ((f = t == null ? void 0 : t.closest) == null ? void 0 : f.call(t, "div")), r = String((i == null ? void 0 : i.scope) || "output").toLowerCase(), l = (i == null ? void 0 : i.customRootId) || (i == null ? void 0 : i.custom_root_id) || (i == null ? void 0 : i.root_id) || null; + const o = ((Z = (g = t == null ? void 0 : t.closest) == null ? void 0 : g.call(t, "#mjr-status-body")) == null ? void 0 : Z.parentElement) || ((f = t == null ? void 0 : t.closest) == null ? void 0 : f.call(t, "div")), r = String((i == null ? void 0 : i.scope) || "output").toLowerCase(), l = (i == null ? void 0 : i.customRootId) || (i == null ? void 0 : i.custom_root_id) || (i == null ? void 0 : i.root_id) || null; if (r === "custom" && !l) { - e.style.background = "var(--mjr-status-info, #64B5F6)", Wn(o, "info"), Zi( + e.style.background = "var(--mjr-status-info, #64B5F6)", Wn(o, "info"), Wi( t, m("status.customBrowserScanDisabled", "Custom browser mode: scan is disabled"), m( @@ -28533,11 +28548,11 @@ async function Ob(e, t, n = null, i = null) { return; } try { - const S = Date.now(), W = globalThis == null ? void 0 : globalThis._mjrScanInFlight; + const G = Date.now(), W = globalThis == null ? void 0 : globalThis._mjrScanInFlight; if (W && typeof W == "object") { - const y = S - Number(W.at || 0); + const y = G - Number(W.at || 0); if (y >= 0 && y < 10 * 6e4) { - Zi( + Wi( t, m("status.scanInProgress", "Scan already running..."), m("status.scanInProgressHint", "Please wait for the current scan to finish") @@ -28546,45 +28561,45 @@ async function Ob(e, t, n = null, i = null) { } } globalThis._mjrScanInFlight = { - at: S, + at: G, scope: r, root_id: l || null }; - } catch (S) { - (b = console.debug) == null || b.call(console, S); + } catch (G) { + (b = console.debug) == null || b.call(console, G); } const c = () => { - var S; + var G; try { globalThis != null && globalThis._mjrScanInFlight && (globalThis._mjrScanInFlight = null); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } }, s = !0; let d = null; try { - const S = await Rt(lt.ROOTS); - S.ok && (d = S.data); - } catch (S) { - (v = console.debug) == null || v.call(console, S); + const G = await Ft(ct.ROOTS); + G.ok && (d = G.data); + } catch (G) { + (L = console.debug) == null || L.call(console, G); } if (!d) { - const S = await Rt(lt.CONFIG); - if (!S.ok) { + const G = await Ft(ct.CONFIG); + if (!G.ok) { e.style.background = "var(--mjr-status-error, #f44336)", Wn(o, "error"), t.textContent = m("status.errorGetConfig"), c(); return; } - d = { output_directory: S.data.output_directory }; + d = { output_directory: G.data.output_directory }; } const u = r === "all" ? m("scope.all", "Inputs + Outputs") : r === "input" ? m("scope.input", "Inputs") : r === "custom" ? m("scope.custom", "Custom") : m("scope.output", "Outputs"); let I = ""; if (r === "input") I = d != null && d.input_directory ? ` (${d.input_directory})` : ""; else if (r === "custom") { - const S = Array.isArray(d == null ? void 0 : d.custom_roots) ? d.custom_roots : [], W = l ? S.find((y) => (y == null ? void 0 : y.id) === l) : null; + const G = Array.isArray(d == null ? void 0 : d.custom_roots) ? d.custom_roots : [], W = l ? G.find((y) => (y == null ? void 0 : y.id) === l) : null; I = W != null && W.path ? ` (${W.path})` : ""; } else r === "output" && (I = d != null && d.output_directory ? ` (${d.output_directory})` : ""); - e.style.background = "var(--mjr-status-info, #64B5F6)", Wn(o, "info"), Zi( + e.style.background = "var(--mjr-status-info, #64B5F6)", Wn(o, "info"), Wi( t, m("status.scanningScope", `Scanning ${u}${I}...`, { scope: u, @@ -28592,11 +28607,11 @@ async function Ob(e, t, n = null, i = null) { }), m("status.scanningHint", "This may take a while") ); - const p = Xn(), M = !!(((C = p == null ? void 0 : p.scan) == null ? void 0 : C.fastMode) ?? !0), Z = { + const p = Xn(), S = !!(((h = p == null ? void 0 : p.scan) == null ? void 0 : h.fastMode) ?? !0), A = { scope: r, recursive: !0, incremental: s, - fast: M, + fast: S, background_metadata: !0 }; if (r === "custom") { @@ -28604,39 +28619,39 @@ async function Ob(e, t, n = null, i = null) { e.style.background = "var(--mjr-status-error, #f44336)", Wn(o, "error"), t.textContent = m("status.selectCustomFolder"), c(); return; } - Z.custom_root_id = l; + A.custom_root_id = l; } - let A; + let C; try { - A = await Et(lt.SCAN, Z); + C = await Et(ct.SCAN, A); } finally { c(); } - if (A != null && A.ok) { - const S = A.data; - e.style.background = "var(--mjr-status-success, #4CAF50)", Wn(o, "success"), Zi( + if (C != null && C.ok) { + const G = C.data; + e.style.background = "var(--mjr-status-success, #4CAF50)", Wn(o, "success"), Wi( t, m("toast.scanComplete"), m( "status.scanStats", - `Added: ${S.added || 0} - Updated: ${S.updated || 0} - Skipped: ${S.skipped || 0}`, + `Added: ${G.added || 0} - Updated: ${G.updated || 0} - Skipped: ${G.skipped || 0}`, { - added: S.added || 0, - updated: S.updated || 0, - skipped: S.skipped || 0 + added: G.added || 0, + updated: G.updated || 0, + skipped: G.skipped || 0 } ) - ), Pr("scan-complete"), setTimeout(() => { - Xi(e, t, n); + ), _r("scan-complete"), setTimeout(() => { + Ni(e, t, n); }, 2e3); } else - e.style.background = "var(--mjr-status-error, #f44336)", Wn(o, "error"), hl(t, [ - m("toast.scanFailed") + `: ${(A == null ? void 0 : A.error) || "Unknown error"}` + e.style.background = "var(--mjr-status-error, #f44336)", Wn(o, "error"), Cl(t, [ + m("toast.scanFailed") + `: ${(C == null ? void 0 : C.error) || "Unknown error"}` ]), setTimeout(() => { - Xi(e, t, n); + Ni(e, t, n); }, 3e3); } -function N0(e, t, n) { +function O0(e, t, n) { const i = document.createElement("span"); return i.style.cssText = ` display: inline-flex; @@ -28648,19 +28663,19 @@ function N0(e, t, n) { border: 1px solid rgba(255, 255, 255, 0.1); `, i.textContent = `${t ? "βœ…" : "❌"} ${e}`, i.title = t ? m("status.toolAvailable", `${e} available`, { tool: e }) : n || m("status.toolUnavailable", `${e} unavailable`, { tool: e }), i.style.opacity = t ? "1" : "0.75", i; } -function gs(e, t = {}, n = {}) { +function bs(e, t = {}, n = {}) { if (!e) return; if (e.replaceChildren(), !t || Object.keys(t).length === 0) { e.textContent = m("status.discoveringTools"); return; } const i = document.createElement("div"); - i.style.display = "flex", i.style.flexWrap = "wrap", i.style.gap = "10px", i.style.alignItems = "flex-start", Rb.forEach(({ key: o, labelKey: r, hintKey: l }) => { + i.style.display = "flex", i.style.flexWrap = "wrap", i.style.gap = "10px", i.style.alignItems = "flex-start", Fb.forEach(({ key: o, labelKey: r, hintKey: l }) => { const a = !!t[o], c = n[o], s = m(r, o), d = m(l, ""); - i.appendChild(R0({ label: s, hint: d }, a, c)); + i.appendChild(z0({ label: s, hint: d }, a, c)); }), e.appendChild(i); } -function um(e, t = null, n = {}) { +function gm(e, t = null, n = {}) { if (!e) return; const i = e.parentElement; if (!i) return; @@ -28671,14 +28686,14 @@ function um(e, t = null, n = {}) { o.textContent = m("status.toolStatusChecking", "Tool status: checking..."); return; } - const l = Rb.map(({ key: a, labelKey: c }) => { - var Z; - const s = m(c, a), d = t && a in t ? t[a] : void 0, u = a in n ? n[a] : void 0, I = d !== void 0 ? d : u, p = I == null ? m("status.unknown", "unknown") : I ? m("status.available", "available") : m("status.missing", "missing"), M = (Z = t == null ? void 0 : t.versions) == null ? void 0 : Z[a]; - return M ? `${s}: ${p} - ${M}` : `${s}: ${p}`; + const l = Fb.map(({ key: a, labelKey: c }) => { + var A; + const s = m(c, a), d = t && a in t ? t[a] : void 0, u = a in n ? n[a] : void 0, I = d !== void 0 ? d : u, p = I == null ? m("status.unknown", "unknown") : I ? m("status.available", "available") : m("status.missing", "missing"), S = (A = t == null ? void 0 : t.versions) == null ? void 0 : A[a]; + return S ? `${s}: ${p} - ${S}` : `${s}: ${p}`; }); o.textContent = l.join(" | "); } -function R0({ label: e, hint: t }, n, i) { +function z0({ label: e, hint: t }, n, i) { const o = document.createElement("div"); o.style.cssText = ` display: flex; @@ -28690,116 +28705,116 @@ function R0({ label: e, hint: t }, n, i) { border: 1px solid rgba(255, 255, 255, 0.08); min-width: 170px; `; - const r = N0(e, n, t); + const r = O0(e, n, t); r.style.fontWeight = "500", o.appendChild(r); const l = document.createElement("span"); return l.style.fontSize = "10px", l.style.opacity = "0.7", l.style.wordBreak = "break-all", l.textContent = m("status.path", "Path") + `: ${i || m("status.pathAuto", "auto / not configured")}`, o.appendChild(l), o; } -function mm(e, t) { +function Im(e, t) { const n = e.querySelector("#mjr-status-body"), i = e.querySelector("#mjr-status-title-indicator"); !n || !i || (t ? (n.style.display = "none", i.textContent = "β–Έ") : (n.style.display = "", i.textContent = "β–Ύ")); } -function F0(e, t) { +function J0(e, t) { var l; const n = !!((l = e == null ? void 0 : e.database) != null && l.available), i = (t == null ? void 0 : t.diagnostics) || {}, o = !!(i != null && i.malformed), r = !!(i != null && i.locked); return !n || o ? m("status.dbHealthError", "DB health: error") : r ? m("status.dbHealthLocked", "DB health: locked") : m("status.dbHealthOk", "DB health: ok"); } -function O0(e, t) { +function T0(e, t) { const n = Number((e == null ? void 0 : e.total_assets) || 0), i = e == null ? void 0 : e.last_index_end, o = e == null ? void 0 : e.last_scan_end, r = t === "all" ? m("scope.all", "Inputs + Outputs") : t === "input" ? m("scope.input", "Inputs") : t === "custom" ? m("scope.custom", "Custom") : m("scope.output", "Outputs"); return !Number.isFinite(n) || n <= 0 ? `${m("status.indexHealthEmpty", "Index health: empty")} (${r})` : !i && !o ? `${m("status.indexHealthPartial", "Index health: partial")} (${r})` : `${m("status.indexHealthOk", "Index health: ok")} (${r})`; } -async function Xi(e, t, n = null, i = null, o = null, r = {}) { - var f, b, v, C, S, W, y, k, G, z, x, w, X, V; - const l = ((b = (f = t == null ? void 0 : t.closest) == null ? void 0 : f.call(t, "#mjr-status-body")) == null ? void 0 : b.parentElement) || ((v = t == null ? void 0 : t.closest) == null ? void 0 : v.call(t, "div")), a = (r == null ? void 0 : r.signal) || null, c = !!(r != null && r.force); +async function Ni(e, t, n = null, i = null, o = null, r = {}) { + var f, b, L, h, G, W, y, X, x, T, v, w, R, Y; + const l = ((b = (f = t == null ? void 0 : t.closest) == null ? void 0 : f.call(t, "#mjr-status-body")) == null ? void 0 : b.parentElement) || ((L = t == null ? void 0 : t.closest) == null ? void 0 : L.call(t, "div")), a = (r == null ? void 0 : r.signal) || null, c = !!(r != null && r.force); try { if (a != null && a.aborted) return null; - } catch (R) { - (C = console.debug) == null || C.call(console, R); + } catch (F) { + (h = console.debug) == null || h.call(console, F); } try { if (!(e != null && e.isConnected) || !(t != null && t.isConnected)) return null; - } catch (R) { - (S = console.debug) == null || S.call(console, R); + } catch (F) { + (G = console.debug) == null || G.call(console, F); } try { - if (!c && wr) return null; - } catch (R) { - (W = console.debug) == null || W.call(console, R); + if (!c && Gr) return null; + } catch (F) { + (W = console.debug) == null || W.call(console, F); } o && typeof o == "object" && (o.lastCode = null, o.lastStatus = null); - const s = String((i == null ? void 0 : i.scope) || "output").toLowerCase(), d = (i == null ? void 0 : i.customRootId) || (i == null ? void 0 : i.custom_root_id) || (i == null ? void 0 : i.root_id) || null, u = s === "custom" && !d, I = u ? `${lt.HEALTH_COUNTERS}?scope=all` : s === "custom" ? `${lt.HEALTH_COUNTERS}?scope=custom&custom_root_id=${encodeURIComponent(String(d || ""))}` : `${lt.HEALTH_COUNTERS}?scope=${encodeURIComponent(s || "output")}`, p = !!(r != null && r.lightweight), M = c || !p || !(o && typeof o == "object" && o._auxCached); - let Z, A, g, h = null; - if (M) { - const [R, j, L] = await Promise.all([ - Rt(I, a ? { signal: a } : void 0), - Rt(lt.HEALTH, a ? { signal: a } : void 0), - Rt(lt.HEALTH_DB, a ? { signal: a } : void 0) + const s = String((i == null ? void 0 : i.scope) || "output").toLowerCase(), d = (i == null ? void 0 : i.customRootId) || (i == null ? void 0 : i.custom_root_id) || (i == null ? void 0 : i.root_id) || null, u = s === "custom" && !d, I = u ? `${ct.HEALTH_COUNTERS}?scope=all` : s === "custom" ? `${ct.HEALTH_COUNTERS}?scope=custom&custom_root_id=${encodeURIComponent(String(d || ""))}` : `${ct.HEALTH_COUNTERS}?scope=${encodeURIComponent(s || "output")}`, p = !!(r != null && r.lightweight), S = c || !p || !(o && typeof o == "object" && o._auxCached); + let A, C, g, Z = null; + if (S) { + const [F, N, V] = await Promise.all([ + Ft(I, a ? { signal: a } : void 0), + Ft(ct.HEALTH, a ? { signal: a } : void 0), + Ft(ct.HEALTH_DB, a ? { signal: a } : void 0) ]); - Z = R, A = j, g = L; + A = F, C = N, g = V; try { - const N = await Vf(a ? { signal: a } : void 0); - N != null && N.ok && (h = N.data); - } catch (N) { - (y = console.debug) == null || y.call(console, N); + const k = await Nf(a ? { signal: a } : void 0); + k != null && k.ok && (Z = k.data); + } catch (k) { + (y = console.debug) == null || y.call(console, k); } - o && typeof o == "object" && (o._auxCached = !0, o._healthCache = A, o._dbDiagCache = g, o._toolsCache = h); + o && typeof o == "object" && (o._auxCached = !0, o._healthCache = C, o._dbDiagCache = g, o._toolsCache = Z); } else - Z = await Rt(I, a ? { signal: a } : void 0), A = (o == null ? void 0 : o._healthCache) || null, g = (o == null ? void 0 : o._dbDiagCache) || null, h = (o == null ? void 0 : o._toolsCache) || null; + A = await Ft(I, a ? { signal: a } : void 0), C = (o == null ? void 0 : o._healthCache) || null, g = (o == null ? void 0 : o._dbDiagCache) || null, Z = (o == null ? void 0 : o._toolsCache) || null; try { if (a != null && a.aborted) return null; - } catch (R) { - (k = console.debug) == null || k.call(console, R); + } catch (F) { + (X = console.debug) == null || X.call(console, F); } try { if (!(e != null && e.isConnected) || !(t != null && t.isConnected)) return null; - } catch (R) { - (G = console.debug) == null || G.call(console, R); + } catch (F) { + (x = console.debug) == null || x.call(console, F); } - if (o && typeof o == "object" && (o.lastCode = (Z == null ? void 0 : Z.code) || null, o.lastStatus = typeof (Z == null ? void 0 : Z.status) == "number" ? Z.status : null), Z.ok) { - const R = Z.data, j = R.total_assets || 0, L = R.with_workflows ?? 0, N = R.with_generation_data ?? 0, q = R.last_scan_end, O = q ? new Date(q).toLocaleString() : "N/A", B = R.tool_availability || {}, J = R.tool_paths || {}, T = m("status.dbSize", "Database size: {size}", { - size: ms(R.db_size_bytes || 0) - }), D = A != null && A.ok && (A != null && A.data) ? A.data.vector || {} : {}, Q = (D == null ? void 0 : D.enabled) !== !1, E = !!(D != null && D.loaded), K = !!(D != null && D.degraded), F = String((D == null ? void 0 : D.last_error) || "").trim(), Y = Q ? K ? `AI vector: degraded${F ? ` (${F})` : ""}` : E ? "AI vector: loaded" : "AI vector: initializing" : "AI vector: disabled", U = F0( - (A == null ? void 0 : A.data) || null, + if (o && typeof o == "object" && (o.lastCode = (A == null ? void 0 : A.code) || null, o.lastStatus = typeof (A == null ? void 0 : A.status) == "number" ? A.status : null), A.ok) { + const F = A.data, N = F.total_assets || 0, V = F.with_workflows ?? 0, k = F.with_generation_data ?? 0, K = F.last_scan_end, z = K ? new Date(K).toLocaleString() : "N/A", B = F.tool_availability || {}, J = F.tool_paths || {}, P = m("status.dbSize", "Database size: {size}", { + size: Is(F.db_size_bytes || 0) + }), H = C != null && C.ok && (C != null && C.data) ? C.data.vector || {} : {}, $ = (H == null ? void 0 : H.enabled) !== !1, E = !!(H != null && H.loaded), oe = !!(H != null && H.degraded), M = String((H == null ? void 0 : H.last_error) || "").trim(), j = $ ? oe ? `AI vector: degraded${M ? ` (${M})` : ""}` : E ? "AI vector: loaded" : "AI vector: initializing" : "AI vector: disabled", O = J0( + (C == null ? void 0 : C.data) || null, (g == null ? void 0 : g.data) || null - ), P = O0( - R, + ), D = T0( + F, u ? "all" : s - ), ee = !!(A != null && A.ok && ((x = (z = A == null ? void 0 : A.data) == null ? void 0 : z.database) != null && x.available)), oe = g != null && g.ok ? ((w = g == null ? void 0 : g.data) == null ? void 0 : w.diagnostics) || {} : {}, ce = !!(oe != null && oe.malformed), pe = !!(oe != null && oe.locked), H = !!(oe != null && oe.maintenance_active); - si(H); - const $ = Math.max( + ), q = !!(C != null && C.ok && ((v = (T = C == null ? void 0 : C.data) == null ? void 0 : T.database) != null && v.available)), ee = g != null && g.ok ? ((w = g == null ? void 0 : g.data) == null ? void 0 : w.diagnostics) || {} : {}, ce = !!(ee != null && ee.malformed), ue = !!(ee != null && ee.locked), U = !!(ee != null && ee.maintenance_active); + ui(U); + const Q = Math.max( 0, - Number((R == null ? void 0 : R.enrichment_queue_length) || 0) || 0 - ), le = _a().active || $ > 0; - GI(le, $); - const se = Number(j) > 0, de = !!(R != null && R.last_index_end || R != null && R.last_scan_end), Ze = se && de; - let Fe = "success"; - H || le ? Fe = "info" : !ee || ce ? Fe = "error" : (pe || !Ze || K) && (Fe = "warning"); - const xe = u && Fe !== "error" ? "browser" : Fe; - let ze = R.watcher; + Number((F == null ? void 0 : F.enrichment_queue_length) || 0) || 0 + ), le = $a().active || Q > 0; + xI(le, Q); + const de = Number(N) > 0, se = !!(F != null && F.last_index_end || F != null && F.last_scan_end), ge = de && se; + let je = "success"; + U || le ? je = "info" : !q || ce ? je = "error" : (ue || !ge || oe) && (je = "warning"); + const Se = u && je !== "error" ? "browser" : je; + let ke = F.watcher; try { - if (!ze || typeof ze.enabled != "boolean") { - const Qe = await Vg(a ? { signal: a } : void 0); - Qe != null && Qe.ok && Qe.data && (ze = { - enabled: !!Qe.data.enabled, - scope: ((X = R == null ? void 0 : R.watcher) == null ? void 0 : X.scope) || s, + if (!ke || typeof ke.enabled != "boolean") { + const qe = await kg(a ? { signal: a } : void 0); + qe != null && qe.ok && qe.data && (ke = { + enabled: !!qe.data.enabled, + scope: ((R = F == null ? void 0 : F.watcher) == null ? void 0 : R.scope) || s, custom_root_id: d || null }); } - } catch (Qe) { - (V = console.debug) == null || V.call(console, Qe); + } catch (qe) { + (Y = console.debug) == null || Y.call(console, qe); } - const We = u ? m("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { + const we = u ? m("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: m("scope.customBrowser", "Browser") - }) : k0(ze, s), De = le ? m("status.enrichmentQueue", "Metadata enrichment queue: {count}", { - count: $ + }) : R0(ke, s), Je = le ? m("status.enrichmentQueue", "Metadata enrichment queue: {count}", { + count: Q }) : m("status.enrichmentIdle", "Metadata enrichment: idle"); - gs(n, B, J), um(n, h, B); - const Pe = s === "all" ? m("scope.allFull", "All (Inputs + Outputs)") : s === "input" ? m("scope.input", "Inputs") : s === "custom" ? m("scope.customBrowser", "Browser") : m("scope.output", "Outputs"); - return Fe === "error" ? (e.style.background = "var(--mjr-status-error, #f44336)", Wn(l, "error"), Zi( + bs(n, B, J), gm(n, Z, B); + const $e = s === "all" ? m("scope.allFull", "All (Inputs + Outputs)") : s === "input" ? m("scope.input", "Inputs") : s === "custom" ? m("scope.customBrowser", "Browser") : m("scope.output", "Outputs"); + return je === "error" ? (e.style.background = "var(--mjr-status-error, #f44336)", Wn(l, "error"), Wi( t, m("status.dbCorrupted", "Database appears corrupted or unavailable."), - [U, P, T, We].filter(Boolean).join(" | ") - ), R) : u ? (e.style.background = "var(--mjr-status-browser, #26A69A)", Wn(l, "browser"), Zi( + [O, D, P, we].filter(Boolean).join(" | ") + ), F) : u ? (e.style.background = "var(--mjr-status-browser, #26A69A)", Wn(l, "browser"), Wi( t, m("status.ready", "Ready"), [ @@ -28807,47 +28822,47 @@ async function Xi(e, t, n = null, i = null, o = null, r = {}) { "status.browserMetricsHidden", "Browser mode: global DB/index metrics hidden" ), - We + we ].filter(Boolean).join(" | ") - ), R) : (j === 0 ? (e.style.background = xe === "browser" ? "var(--mjr-status-browser, #26A69A)" : Fe === "info" ? "var(--mjr-status-info, #64B5F6)" : Fe === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wn(l, xe), Zi( + ), F) : (N === 0 ? (e.style.background = Se === "browser" ? "var(--mjr-status-browser, #26A69A)" : je === "info" ? "var(--mjr-status-info, #64B5F6)" : je === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wn(l, Se), Wi( t, - m("status.noAssets", `No assets indexed yet (${Pe})`, { - scope: Pe + m("status.noAssets", `No assets indexed yet (${$e})`, { + scope: $e }), [ m("status.clickToScan", "Click the dot to start a scan"), - Y, - U, + j, + O, + D, P, - T, - We + we ].filter(Boolean).join(" | ") - )) : (e.style.background = xe === "browser" ? "var(--mjr-status-browser, #26A69A)" : Fe === "info" ? "var(--mjr-status-info, #64B5F6)" : Fe === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wn(l, xe), hl( + )) : (e.style.background = Se === "browser" ? "var(--mjr-status-browser, #26A69A)" : je === "info" ? "var(--mjr-status-info, #64B5F6)" : je === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wn(l, Se), Cl( t, [ m( "status.assetsIndexed", - `${j.toLocaleString()} assets indexed (${Pe})`, - { count: j.toLocaleString(), scope: Pe } + `${N.toLocaleString()} assets indexed (${$e})`, + { count: N.toLocaleString(), scope: $e } ), - K0(R), + H0(F), m( "status.withWorkflows", - `With workflows: ${L} - Generation data: ${N}`, - { workflows: L, gendata: N } + `With workflows: ${V} - Generation data: ${k}`, + { workflows: V, gendata: k } ), - De, - Y, - U, + Je, + j, + O, + D, P, - T, - We + we ], - m("status.lastScan", `Last scan: ${O}`, { date: O }) - )), R); + m("status.lastScan", `Last scan: ${z}`, { date: z }) + )), F); } else { - if (gs(n, {}, {}), um(n, h), e.style.background = "var(--mjr-status-error, #f44336)", Wn(l, "error"), (Z == null ? void 0 : Z.code) === "INVALID_RESPONSE" && (Z == null ? void 0 : Z.status) === 404) - Zi( + if (bs(n, {}, {}), gm(n, Z), e.style.background = "var(--mjr-status-error, #f44336)", Wn(l, "error"), (A == null ? void 0 : A.code) === "INVALID_RESPONSE" && (A == null ? void 0 : A.status) === 404) + Wi( t, m("status.apiNotFound", "Majoor API endpoints not found (404)"), m( @@ -28856,24 +28871,24 @@ async function Xi(e, t, n = null, i = null, o = null, r = {}) { ) ); else { - const R = String((Z == null ? void 0 : Z.error) || "").toLowerCase(); - R.includes("malform") || R.includes("corrupt") || R.includes("disk image") ? (Zi(t, m("status.dbCorrupted"), m("status.dbCorruptedHint")), globalThis._mjrCorruptToastShown || (globalThis._mjrCorruptToastShown = !0, Ce(m("toast.resetFailedCorrupt"), "error", 8e3))) : hl(t, [ - Z.error || m("status.errorChecking", "Error checking status") + const F = String((A == null ? void 0 : A.error) || "").toLowerCase(); + F.includes("malform") || F.includes("corrupt") || F.includes("disk image") ? (Wi(t, m("status.dbCorrupted"), m("status.dbCorruptedHint")), globalThis._mjrCorruptToastShown || (globalThis._mjrCorruptToastShown = !0, Ze(m("toast.resetFailedCorrupt"), "error", 8e3))) : Cl(t, [ + A.error || m("status.errorChecking", "Error checking status") ]); } - if (Z.code === "SERVICE_UNAVAILABLE") { - const R = z0( + if (A.code === "SERVICE_UNAVAILABLE") { + const F = B0( e, t, n, i ); - t.appendChild(document.createElement("br")), t.appendChild(R); + t.appendChild(document.createElement("br")), t.appendChild(F); } } return null; } -function z0(e, t, n = null, i = null) { +function B0(e, t, n = null, i = null) { const o = document.createElement("button"); return o.textContent = m("btn.retryServices"), o.style.cssText = ` padding: 4px 10px; @@ -28886,16 +28901,16 @@ function z0(e, t, n = null, i = null) { cursor: pointer; `, o.onclick = async () => { o.disabled = !0, o.textContent = m("btn.retrying"); - const r = await Et(lt.RETRY_SERVICES, {}); - o.disabled = !1, o.textContent = m("btn.retryServices"), r.ok ? Xi(e, t, n, i) : (hl(t, [ + const r = await Et(ct.RETRY_SERVICES, {}); + o.disabled = !1, o.textContent = m("btn.retryServices"), r.ok ? Ni(e, t, n, i) : (Cl(t, [ r.error || m("status.retryFailed", "Retry failed") ]), t.appendChild(document.createElement("br")), t.appendChild(o)); }, o; } -function J0() { +function U0() { var e, t; try { - const n = (e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Fb); + const n = (e = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : e.call(localStorage, Ob); if (!n) return null; const i = JSON.parse(n); return i && typeof i == "object" ? i : null; @@ -28903,16 +28918,16 @@ function J0() { return (t = console.debug) == null || t.call(console, n), null; } } -function T0(e) { +function K0(e) { var t, n; try { if (!e || typeof e != "object") return; - (t = localStorage == null ? void 0 : localStorage.setItem) == null || t.call(localStorage, Fb, JSON.stringify(e)); + (t = localStorage == null ? void 0 : localStorage.setItem) == null || t.call(localStorage, Ob, JSON.stringify(e)); } catch (i) { (n = console.debug) == null || n.call(console, i); } } -function B0(e) { +function D0(e) { const t = [], n = (i, o = 0) => { if (!(!i || o > 2)) { if (typeof i == "number" && Number.isFinite(i)) { @@ -28932,25 +28947,25 @@ function B0(e) { }; return n(e, 0), t; } -function U0(e) { +function E0(e) { var n, i; if (!e || typeof e != "object") return !1; - if (wr) return !0; + if (Gr) return !0; try { - if ((n = _a()) != null && n.active) return !0; + if ((n = $a()) != null && n.active) return !0; } catch (o) { (i = console.debug) == null || i.call(console, o); } - return B0(e).some((o) => Number(o) > 0); + return D0(e).some((o) => Number(o) > 0); } -function K0(e) { +function H0(e) { var i; const t = []; e.images && t.push(`Images: ${e.images}`), e.videos && t.push(`Videos: ${e.videos}`), e.audio && t.push(`Audio: ${e.audio}`); const n = e.model3d || ((i = e.by_kind) == null ? void 0 : i.model3d) || 0; return n && t.push(`3D: ${n}`), t.length ? t.join(" - ") : "Images: 0 - Videos: 0"; } -function D0(e) { +function q0(e) { var n, i, o; if (!e || typeof e != "object") return ""; const t = (r) => r == null ? null : typeof r == "number" ? Number.isFinite(r) ? r : null : typeof r == "boolean" || typeof r == "string" ? r : null; @@ -28969,17 +28984,17 @@ function D0(e) { } }); } -function E0(e, t, n) { +function P0(e, t, n) { var o, r; - const i = J0(); + const i = U0(); if (!i) return !1; try { - gs(n, i.tool_availability || {}, i.tool_paths || {}); + bs(n, i.tool_availability || {}, i.tool_paths || {}); } catch (l) { (o = console.debug) == null || o.call(console, l); } try { - return e.style.background = "var(--mjr-status-info, #64B5F6)", Zi( + return e.style.background = "var(--mjr-status-info, #64B5F6)", Wi( t, m("status.cached", "Last known status"), m("status.checking", "Checking status...") @@ -28988,10 +29003,10 @@ function E0(e, t, n) { return (r = console.debug) == null || r.call(console, l), !1; } } -function H0(e, t, n) { - const i = D0(t), o = i && i !== String((n == null ? void 0 : n.lastSignature) || ""), r = U0(t); - let l = e || ui.ACTIVE, a = Number((n == null ? void 0 : n.cooldownStablePolls) || 0) || 0; - return r || o ? (l = ui.ACTIVE, a = 0) : l === ui.ACTIVE ? (l = ui.COOLDOWN, a = 0) : l === ui.COOLDOWN ? (a += 1, a >= 3 && (l = ui.IDLE, a = 0)) : (l = o ? ui.ACTIVE : ui.IDLE, a = 0), { +function Q0(e, t, n) { + const i = q0(t), o = i && i !== String((n == null ? void 0 : n.lastSignature) || ""), r = E0(t); + let l = e || gi.ACTIVE, a = Number((n == null ? void 0 : n.cooldownStablePolls) || 0) || 0; + return r || o ? (l = gi.ACTIVE, a = 0) : l === gi.ACTIVE ? (l = gi.COOLDOWN, a = 0) : l === gi.COOLDOWN ? (a += 1, a >= 3 && (l = gi.IDLE, a = 0)) : (l = o ? gi.ACTIVE : gi.IDLE, a = 0), { nextState: l, signature: i, hasChange: o, @@ -28999,158 +29014,158 @@ function H0(e, t, n) { cooldownStablePolls: a }; } -function q0(e, t, n, i = null, o = null, r = null) { - var g, h, f, b; +function _0(e, t, n, i = null, o = null, r = null) { + var g, Z, f, b; const l = "__MJR_STATUS_POLL_DISPOSE__", a = { lastCode: null, lastStatus: null, _pollTick: 0, _auxCached: !1 }, c = { - mode: ui.ACTIVE, + mode: gi.ACTIVE, cooldownStablePolls: 0, lastSignature: "" }, s = typeof AbortController < "u" ? new AbortController() : null, d = async () => { - var W, y, k; + var W, y, X; try { if ((W = s == null ? void 0 : s.signal) != null && W.aborted) return null; - } catch (G) { - (y = console.debug) == null || y.call(console, G); + } catch (x) { + (y = console.debug) == null || y.call(console, x); } a._pollTick = Number(a._pollTick || 0) + 1; - const v = a._pollTick > 1 && a._pollTick % 4 !== 0, C = typeof r == "function" ? r() : null, S = await Xi( + const L = a._pollTick > 1 && a._pollTick % 4 !== 0, h = typeof r == "function" ? r() : null, G = await Ni( e, t, i, - C, + h, a, { signal: (s == null ? void 0 : s.signal) || null, - lightweight: v, + lightweight: L, // Keep status updates alive while maintenance is active (or stale). - force: !!wr || a._pollTick <= 1 + force: !!Gr || a._pollTick <= 1 } ); - if (S && typeof S == "object") { - T0(S); - const G = H0(c.mode, S, c); - c.mode = G.nextState, c.lastSignature = G.signature, c.cooldownStablePolls = G.cooldownStablePolls; + if (G && typeof G == "object") { + K0(G); + const x = Q0(c.mode, G, c); + c.mode = x.nextState, c.lastSignature = x.signature, c.cooldownStablePolls = x.cooldownStablePolls; } - if (S && typeof o == "function") + if (G && typeof o == "function") try { - await o(S); - } catch (G) { - (k = console.debug) == null || k.call(console, G); + await o(G); + } catch (x) { + (X = console.debug) == null || X.call(console, x); } - return S; + return G; }; - E0(e, t, i), d(); + P0(e, t, i), d(); try { (g = n._mjrStatusPollDispose) == null || g.call(n); - } catch (v) { - (h = console.debug) == null || h.call(console, v); + } catch (L) { + (Z = console.debug) == null || Z.call(console, L); } try { - const v = window == null ? void 0 : window[l]; - typeof v == "function" && v(); - } catch (v) { - (f = console.debug) == null || f.call(console, v); + const L = window == null ? void 0 : window[l]; + typeof L == "function" && L(); + } catch (L) { + (f = console.debug) == null || f.call(console, L); } let u = null, I = 0, p = !1; - const M = () => { - var v; + const S = () => { + var L; try { - const C = typeof document < "u" && !!document.hidden, S = typeof document < "u" && typeof document.hasFocus == "function" && !document.hasFocus(); - if (C || S) return 4; - } catch (C) { - (v = console.debug) == null || v.call(console, C); + const h = typeof document < "u" && !!document.hidden, G = typeof document < "u" && typeof document.hasFocus == "function" && !document.hasFocus(); + if (h || G) return 4; + } catch (h) { + (L = console.debug) == null || L.call(console, h); } return 1; - }, Z = () => { - const v = V0[c.mode] || Math.max(250, Number(ye.STATUS_POLL_INTERVAL) || 2e3), C = p ? Math.max(3e4, v) : I > 0 ? Math.min(6e4, Math.round(v * Math.min(8, 1 + I))) : v, S = Math.min(12e4, Math.round(C * M())); + }, A = () => { + const L = N0[c.mode] || Math.max(250, Number(fe.STATUS_POLL_INTERVAL) || 2e3), h = p ? Math.max(3e4, L) : I > 0 ? Math.min(6e4, Math.round(L * Math.min(8, 1 + I))) : L, G = Math.min(12e4, Math.round(h * S())); u = setTimeout(async () => { - var y, k, G, z; + var y, X, x, T; try { if ((y = s == null ? void 0 : s.signal) != null && y.aborted) return; - } catch (x) { - (k = console.debug) == null || k.call(console, x); + } catch (v) { + (X = console.debug) == null || X.call(console, v); } const W = await d(); - if (p = a.lastCode === "INVALID_RESPONSE" && a.lastStatus === 404, W ? I = 0 : p ? I = Math.min(999, I + 1) : (I = Math.min(999, I + 1), c.mode = ui.ACTIVE, c.cooldownStablePolls = 0), p && I >= 3) { + if (p = a.lastCode === "INVALID_RESPONSE" && a.lastStatus === 404, W ? I = 0 : p ? I = Math.min(999, I + 1) : (I = Math.min(999, I + 1), c.mode = gi.ACTIVE, c.cooldownStablePolls = 0), p && I >= 3) { try { - (G = n._mjrStatusPollDispose) == null || G.call(n); - } catch (x) { - (z = console.debug) == null || z.call(console, x); + (x = n._mjrStatusPollDispose) == null || x.call(n); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } return; } - Z(); - }, S); + A(); + }, G); }; n._mjrStatusPollDispose = () => { - var v, C; + var L, h; try { - (v = s == null ? void 0 : s.abort) == null || v.call(s); - } catch (S) { - (C = console.debug) == null || C.call(console, S); + (L = s == null ? void 0 : s.abort) == null || L.call(s); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } u && clearTimeout(u), u = null; }; try { window[l] = n._mjrStatusPollDispose; - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } - Z(); - const A = n.querySelector("#mjr-status-dot"); - A && (A.onclick = (v) => { - v.stopPropagation(); - const C = typeof r == "function" ? r() : null; - Ob(e, t, i, C); - }, A.title = m("status.clickToScan", "Click to scan")); + A(); + const C = n.querySelector("#mjr-status-dot"); + C && (C.onclick = (L) => { + L.stopPropagation(); + const h = typeof r == "function" ? r() : null; + zb(e, t, i, h); + }, C.title = m("status.clickToScan", "Click to scan")); } -const To = vs(null), nc = vs(null); -function P0() { +const Uo = Vs(null), ic = Vs(null); +function $0() { return { - activeAsset: To, - onUpdateCallback: nc + activeAsset: Uo, + onUpdateCallback: ic }; } -function Q0(e, t) { - nc.value = typeof t == "function" ? t : null, To.value = e ?? null; +function eM(e, t) { + ic.value = typeof t == "function" ? t : null, Uo.value = e ?? null; } -function _0() { - To.value = null, nc.value = null; +function tM() { + Uo.value = null, ic.value = null; } -function Is(e, t) { - if (!(!To.value || !e)) { - To.value = { - ...To.value, +function ps(e, t) { + if (!(!Uo.value || !e)) { + Uo.value = { + ...Uo.value, ...e }; try { - const n = t ?? nc.value; - typeof n == "function" && n(To.value); + const n = t ?? ic.value; + typeof n == "function" && n(Uo.value); } catch { } } } -const gm = 360, $0 = 240, eM = 640; -function tM() { +const bm = 360, nM = 240, iM = 640; +function oM() { var e; try { const t = Xn(), n = Number((e = t == null ? void 0 : t.sidebar) == null ? void 0 : e.widthPx); - return Number.isFinite(n) ? Math.max($0, Math.min(eM, Math.round(n))) : gm; + return Number.isFinite(n) ? Math.max(nM, Math.min(iM, Math.round(n))) : bm; } catch { - return gm; + return bm; } } -function zb(e, t) { +function Jb(e, t) { var o; if (!e) return; const n = String(((o = e == null ? void 0 : e.dataset) == null ? void 0 : o.position) || "right").toLowerCase() === "left", i = "var(--mjr-border, rgba(255,255,255,0.12))"; if (t) { - const r = `${tM()}px`; + const r = `${oM()}px`; e.style.flex = `0 0 ${r}`, e.style.width = r, e.style.maxWidth = r, e.style.minWidth = "0", e.style.overflow = "hidden", e.style.borderLeft = n ? "none" : `1px solid ${i}`, e.style.borderRight = n ? `1px solid ${i}` : "none"; } else e.style.flex = "0 0 0px", e.style.width = "0", e.style.maxWidth = "0", e.style.minWidth = "0", e.style.overflow = "hidden", e.style.borderLeft = "none", e.style.borderRight = "none"; } -function nM(e) { +function rM(e) { if (e == null) return !1; let t = e; if (typeof e == "string") { @@ -29170,10 +29185,10 @@ function nM(e) { } return !1; } -function Im(e) { - return e ? !!(e.geninfo || e.prompt || nM(e.metadata_raw)) : !1; +function pm(e) { + return e ? !!(e.geninfo || e.prompt || rM(e.metadata_raw)) : !1; } -async function iM(e, t, n) { +async function lM(e, t, n) { var c, s, d; if (!e || !t) return; const i = String((t == null ? void 0 : t.kind) || "").toLowerCase() === "folder"; @@ -29183,7 +29198,7 @@ async function iM(e, t, n) { (c = console.debug) == null || c.call(console, u); } const o = e._requestSeq = (e._requestSeq || 0) + 1; - (d = (s = e._currentFetchAbortController) == null ? void 0 : s.abort) == null || d.call(s), e._currentFetchAbortController = null, e.classList.add("is-open"), zb(e, !0), e._currentAsset = t, e._currentFullAsset = t, e._ratingTagsSection = null, Q0(t, n); + (d = (s = e._currentFetchAbortController) == null ? void 0 : s.abort) == null || d.call(s), e._currentFetchAbortController = null, e.classList.add("is-open"), Jb(e, !0), e._currentAsset = t, e._currentFullAsset = t, e._ratingTagsSection = null, eM(t, n); const r = () => { var I, p; (p = (I = e._currentFetchAbortController) == null ? void 0 : I.abort) == null || p.call(I); @@ -29192,16 +29207,16 @@ async function iM(e, t, n) { }, l = (u = {}) => { if (e._requestSeq !== o || e._currentAsset !== t) return; const I = { ...e._currentFullAsset ?? t, ...u }; - e._currentFullAsset = I, Is(u, n); + e._currentFullAsset = I, ps(u, n); }; (async () => { - var M, Z, A, g, h; + var S, A, C, g, Z; if (e._requestSeq !== o || e._currentAsset !== t) return; const u = r(), I = u.signal; if (i) { try { - const f = String((t == null ? void 0 : t.filepath) || (t == null ? void 0 : t.subfolder) || "").trim(), b = String((t == null ? void 0 : t.root_id) || (t == null ? void 0 : t.rootId) || "").trim(), v = b ? String((t == null ? void 0 : t.subfolder) || "").trim() : "", C = await dh({ filepath: f, root_id: b, subfolder: v }, u); - !(I != null && I.aborted) && (C != null && C.ok) && C.data && l({ folder_info: C.data }); + const f = String((t == null ? void 0 : t.filepath) || (t == null ? void 0 : t.subfolder) || "").trim(), b = String((t == null ? void 0 : t.root_id) || (t == null ? void 0 : t.rootId) || "").trim(), L = b ? String((t == null ? void 0 : t.subfolder) || "").trim() : "", h = await gh({ filepath: f, root_id: b, subfolder: L }, u); + !(I != null && I.aborted) && (h != null && h.ok) && h.data && l({ folder_info: h.data }); } catch (f) { I != null && I.aborted || console.warn("Failed to load folder details:", f); } finally { @@ -29211,8 +29226,8 @@ async function iM(e, t, n) { } const p = () => e._currentFullAsset ?? t; try { - if (t.id && !Im(p()) && !p().exif) { - const f = await ml(t.id, u); + if (t.id && !pm(p()) && !p().exif) { + const f = await gl(t.id, u); if (I != null && I.aborted) return; f != null && f.ok && f.data && l(f.data); } @@ -29220,14 +29235,14 @@ async function iM(e, t, n) { I != null && I.aborted || console.warn("Failed to load full asset metadata:", f); } if (!(I != null && I.aborted)) { - if (!Im(p())) { - const f = String(((M = p()) == null ? void 0 : M.filename) || "").trim(), b = String(((Z = p()) == null ? void 0 : Z.type) || "output").trim().toLowerCase(), v = String(((A = p()) == null ? void 0 : A.subfolder) || "").trim(), C = String(((g = p()) == null ? void 0 : g.root_id) || ((h = p()) == null ? void 0 : h.rootId) || "").trim(); + if (!pm(p())) { + const f = String(((S = p()) == null ? void 0 : S.filename) || "").trim(), b = String(((A = p()) == null ? void 0 : A.type) || "output").trim().toLowerCase(), L = String(((C = p()) == null ? void 0 : C.subfolder) || "").trim(), h = String(((g = p()) == null ? void 0 : g.root_id) || ((Z = p()) == null ? void 0 : Z.rootId) || "").trim(); if (f) try { - const S = await Ug({ type: b, filename: f, subfolder: v, root_id: C }, u); + const G = await Kg({ type: b, filename: f, subfolder: L, root_id: h }, u); if (I != null && I.aborted) return; - if (S != null && S.ok && S.data) { - const W = S.data; + if (G != null && G.ok && G.data) { + const W = G.data; l({ prompt: p().prompt ?? W.prompt, workflow: p().workflow ?? W.workflow, @@ -29237,18 +29252,18 @@ async function iM(e, t, n) { metadata_raw: p().metadata_raw ?? W }); } - } catch (S) { - I != null && I.aborted || console.warn("Failed to load scoped metadata:", S); + } catch (G) { + I != null && I.aborted || console.warn("Failed to load scoped metadata:", G); } } I != null && I.aborted || (e._currentFetchAbortController = null); } })(); } -function Jb(e) { +function Tb(e) { var t, n, i, o; if (e) { - e._requestSeq = (e._requestSeq || 0) + 1, e.classList.remove("is-open"), zb(e, !1), e._currentAsset = null, e._currentFullAsset = null, (n = (t = e._currentFetchAbortController) == null ? void 0 : t.abort) == null || n.call(t), e._currentFetchAbortController = null, _0(); + e._requestSeq = (e._requestSeq || 0) + 1, e.classList.remove("is-open"), Jb(e, !1), e._currentAsset = null, e._currentFullAsset = null, (n = (t = e._currentFetchAbortController) == null ? void 0 : t.abort) == null || n.call(t), e._currentFetchAbortController = null, tM(); try { (i = e.dispatchEvent) == null || i.call(e, new CustomEvent("mjr:sidebar-closed", { bubbles: !0 })); } catch (r) { @@ -29256,8 +29271,8 @@ function Jb(e) { } } } -const ud = "mjr_panel_state", oM = /* @__PURE__ */ new Set(["output", "input", "all", "custom"]); -function bm(e, t = !1) { +const gd = "mjr_panel_state", aM = /* @__PURE__ */ new Set(["output", "input", "all", "custom"]); +function ym(e, t = !1) { if (typeof e == "boolean") return e; if (typeof e == "string") { const n = e.trim().toLowerCase(); @@ -29266,68 +29281,68 @@ function bm(e, t = !1) { } return !!t; } -function bs(e, t = 0) { +function ys(e, t = 0) { const n = Number(e); return Number.isFinite(n) ? n : t; } -function di(e, t = "") { +function mi(e, t = "") { return e == null ? t : String(e); } -function tr(e, t = 0, n = 1 / 0) { - return Math.max(t, Math.min(n, Math.floor(bs(e, t)))); +function ir(e, t = 0, n = 1 / 0) { + return Math.max(t, Math.min(n, Math.floor(ys(e, t)))); } -function rM(e) { - const t = di(e || "output").toLowerCase(), n = t === "outputs" ? "output" : t === "inputs" ? "input" : t; - return oM.has(n) ? n : "output"; +function cM(e) { + const t = mi(e || "output").toLowerCase(), n = t === "outputs" ? "output" : t === "inputs" ? "input" : t; + return aM.has(n) ? n : "output"; } -function Tb(e) { +function Bb(e) { return !e || typeof e != "object" ? {} : { - scope: rM(e.scope), - customRootId: di(e.customRootId), - customRootLabel: di(e.customRootLabel), - currentFolderRelativePath: di(e.currentFolderRelativePath || e.subfolder), - collectionId: di(e.collectionId), - collectionName: di(e.collectionName), - kindFilter: di(e.kindFilter), - dateRangeFilter: di(e.dateRangeFilter), - dateExactFilter: di(e.dateExactFilter), - workflowOnly: bm(e.workflowOnly, !1), - minRating: tr(e.minRating, 0, 5), - minSizeMB: Math.max(0, bs(e.minSizeMB, 0)), - maxSizeMB: Math.max(0, bs(e.maxSizeMB, 0)), + scope: cM(e.scope), + customRootId: mi(e.customRootId), + customRootLabel: mi(e.customRootLabel), + currentFolderRelativePath: mi(e.currentFolderRelativePath || e.subfolder), + collectionId: mi(e.collectionId), + collectionName: mi(e.collectionName), + kindFilter: mi(e.kindFilter), + dateRangeFilter: mi(e.dateRangeFilter), + dateExactFilter: mi(e.dateExactFilter), + workflowOnly: ym(e.workflowOnly, !1), + minRating: ir(e.minRating, 0, 5), + minSizeMB: Math.max(0, ys(e.minSizeMB, 0)), + maxSizeMB: Math.max(0, ys(e.maxSizeMB, 0)), resolutionCompare: e.resolutionCompare === "lte" ? "lte" : "gte", - minWidth: tr(e.minWidth), - minHeight: tr(e.minHeight), - maxWidth: tr(e.maxWidth), - maxHeight: tr(e.maxHeight), - workflowType: di(e.workflowType), - sort: di(e.sort || "mtime_desc"), - searchQuery: di(e.searchQuery), - scrollTop: tr(e.scrollTop), - activeAssetId: di(e.activeAssetId), - selectedAssetIds: Array.isArray(e.selectedAssetIds) ? e.selectedAssetIds.map((t) => di(t).trim()).filter(Boolean).slice(0, 5e3) : [], - sidebarOpen: bm(e.sidebarOpen, !1) + minWidth: ir(e.minWidth), + minHeight: ir(e.minHeight), + maxWidth: ir(e.maxWidth), + maxHeight: ir(e.maxHeight), + workflowType: mi(e.workflowType), + sort: mi(e.sort || "mtime_desc"), + searchQuery: mi(e.searchQuery), + scrollTop: ir(e.scrollTop), + activeAssetId: mi(e.activeAssetId), + selectedAssetIds: Array.isArray(e.selectedAssetIds) ? e.selectedAssetIds.map((t) => mi(t).trim()).filter(Boolean).slice(0, 5e3) : [], + sidebarOpen: ym(e.sidebarOpen, !1) }; } -function lM() { +function sM() { try { - const e = localStorage.getItem(ud); - if (e) return Tb(JSON.parse(e)); + const e = localStorage.getItem(gd); + if (e) return Bb(JSON.parse(e)); } catch { } return {}; } -function aM(e) { +function dM(e) { try { const t = { ...e }; - delete t.lastGridCount, delete t.lastGridTotal, delete t.viewScope, delete t.similarResults, delete t.similarTitle, delete t.similarSourceAssetId, localStorage.setItem(ud, JSON.stringify(t)); + delete t.lastGridCount, delete t.lastGridTotal, delete t.viewScope, delete t.similarResults, delete t.similarTitle, delete t.similarSourceAssetId, localStorage.setItem(gd, JSON.stringify(t)); } catch { } } -const Mo = ig("mjr-panel", () => { - const e = lM(), t = Ae(e.scope || "output"), n = Ae(e.customRootId || ""), i = Ae(e.customRootLabel || ""), o = Ae(e.currentFolderRelativePath || ""), r = Ae(e.collectionId || ""), l = Ae(e.collectionName || ""), a = Ae(e.kindFilter || ""), c = Ae(e.dateRangeFilter || ""), s = Ae(e.dateExactFilter || ""), d = Ae(e.workflowOnly || !1), u = Ae(e.minRating || 0), I = Ae(e.minSizeMB || 0), p = Ae(e.maxSizeMB || 0), M = Ae(e.resolutionCompare || "gte"), Z = Ae(e.minWidth || 0), A = Ae(e.minHeight || 0), g = Ae(e.maxWidth || 0), h = Ae(e.maxHeight || 0), f = Ae(e.workflowType || ""), b = Ae(e.sort || "mtime_desc"), v = Ae(e.searchQuery || ""), C = Ae(e.scrollTop || 0), S = Ae(e.activeAssetId || ""), W = Ae(e.selectedAssetIds || []), y = Ae(e.sidebarOpen || !1), k = Ae(0), G = Ae(0), z = Ae(""), x = Ae([]), w = Ae(""), X = Ae(""); - let V = null; - an( +const Go = og("mjr-panel", () => { + const e = sM(), t = Ae(e.scope || "output"), n = Ae(e.customRootId || ""), i = Ae(e.customRootLabel || ""), o = Ae(e.currentFolderRelativePath || ""), r = Ae(e.collectionId || ""), l = Ae(e.collectionName || ""), a = Ae(e.kindFilter || ""), c = Ae(e.dateRangeFilter || ""), s = Ae(e.dateExactFilter || ""), d = Ae(e.workflowOnly || !1), u = Ae(e.minRating || 0), I = Ae(e.minSizeMB || 0), p = Ae(e.maxSizeMB || 0), S = Ae(e.resolutionCompare || "gte"), A = Ae(e.minWidth || 0), C = Ae(e.minHeight || 0), g = Ae(e.maxWidth || 0), Z = Ae(e.maxHeight || 0), f = Ae(e.workflowType || ""), b = Ae(e.sort || "mtime_desc"), L = Ae(e.searchQuery || ""), h = Ae(e.scrollTop || 0), G = Ae(e.activeAssetId || ""), W = Ae(e.selectedAssetIds || []), y = Ae(e.sidebarOpen || !1), X = Ae(0), x = Ae(0), T = Ae(""), v = Ae([]), w = Ae(""), R = Ae(""); + let Y = null; + cn( [ t, n, @@ -29342,22 +29357,22 @@ const Mo = ig("mjr-panel", () => { u, I, p, - M, - Z, + S, A, + C, g, - h, + Z, f, b, - v, - C, - S, + L, + h, + G, W, y ], () => { - V && clearTimeout(V), V = setTimeout(() => { - V = null, aM({ + Y && clearTimeout(Y), Y = setTimeout(() => { + Y = null, dM({ scope: t.value, customRootId: n.value, customRootLabel: i.value, @@ -29371,16 +29386,16 @@ const Mo = ig("mjr-panel", () => { minRating: u.value, minSizeMB: I.value, maxSizeMB: p.value, - resolutionCompare: M.value, - minWidth: Z.value, - minHeight: A.value, + resolutionCompare: S.value, + minWidth: A.value, + minHeight: C.value, maxWidth: g.value, - maxHeight: h.value, + maxHeight: Z.value, workflowType: f.value, sort: b.value, - searchQuery: v.value, - scrollTop: C.value, - activeAssetId: S.value, + searchQuery: L.value, + scrollTop: h.value, + activeAssetId: G.value, selectedAssetIds: W.value, sidebarOpen: y.value }); @@ -29388,29 +29403,29 @@ const Mo = ig("mjr-panel", () => { }, { deep: !0 } ); - const j = (B) => { - if (!(B.key !== ud || !B.newValue)) + const N = (B) => { + if (!(B.key !== gd || !B.newValue)) try { - const J = Tb(JSON.parse(B.newValue)); - J.scope !== void 0 && (t.value = J.scope), J.customRootLabel !== void 0 && (i.value = J.customRootLabel), J.searchQuery !== void 0 && (v.value = J.searchQuery), J.sort !== void 0 && (b.value = J.sort), J.sidebarOpen !== void 0 && (y.value = J.sidebarOpen); + const J = Bb(JSON.parse(B.newValue)); + J.scope !== void 0 && (t.value = J.scope), J.customRootLabel !== void 0 && (i.value = J.customRootLabel), J.searchQuery !== void 0 && (L.value = J.searchQuery), J.sort !== void 0 && (b.value = J.sort), J.sidebarOpen !== void 0 && (y.value = J.sidebarOpen); } catch { } }; try { - window.addEventListener("storage", j); + window.addEventListener("storage", N); } catch { } - function L() { - a.value = "", c.value = "", s.value = "", d.value = !1, u.value = 0, I.value = 0, p.value = 0, M.value = "gte", Z.value = 0, A.value = 0, g.value = 0, h.value = 0, f.value = "", v.value = ""; + function V() { + a.value = "", c.value = "", s.value = "", d.value = !1, u.value = 0, I.value = 0, p.value = 0, S.value = "gte", A.value = 0, C.value = 0, g.value = 0, Z.value = 0, f.value = "", L.value = ""; } - function N() { - W.value = [], S.value = ""; + function k() { + W.value = [], G.value = ""; } - function q(B, J = "") { - W.value = Array.isArray(B) ? B.map(String).filter(Boolean) : [], S.value = J || W.value[0] || ""; + function K(B, J = "") { + W.value = Array.isArray(B) ? B.map(String).filter(Boolean) : [], G.value = J || W.value[0] || ""; } - function O(B, J = {}) { - t.value = B, o.value = J.folder || "", r.value = J.collectionId || "", l.value = J.collectionName || "", n.value = J.customRootId || "", i.value = J.customRootLabel || "", z.value = "", x.value = [], w.value = "", X.value = "", N(); + function z(B, J = {}) { + t.value = B, o.value = J.folder || "", r.value = J.collectionId || "", l.value = J.collectionName || "", n.value = J.customRootId || "", i.value = J.customRootLabel || "", T.value = "", v.value = [], w.value = "", R.value = "", k(); } return { // persistent @@ -29427,41 +29442,41 @@ const Mo = ig("mjr-panel", () => { minRating: u, minSizeMB: I, maxSizeMB: p, - resolutionCompare: M, - minWidth: Z, - minHeight: A, + resolutionCompare: S, + minWidth: A, + minHeight: C, maxWidth: g, - maxHeight: h, + maxHeight: Z, workflowType: f, sort: b, - searchQuery: v, - scrollTop: C, - activeAssetId: S, + searchQuery: L, + scrollTop: h, + activeAssetId: G, selectedAssetIds: W, sidebarOpen: y, // transient - lastGridCount: k, - lastGridTotal: G, - viewScope: z, - similarResults: x, + lastGridCount: X, + lastGridTotal: x, + viewScope: T, + similarResults: v, similarTitle: w, - similarSourceAssetId: X, + similarSourceAssetId: R, // actions - resetFilters: L, - clearSelection: N, - setSelection: q, - navigateToScope: O + resetFilters: V, + clearSelection: k, + setSelection: K, + navigateToScope: z }; }); -function Zl() { +function Al() { try { - return og() ? Mo() : null; + return rg() ? Go() : null; } catch { return null; } } -function no(e, t = []) { - const n = Zl(); +function oo(e, t = []) { + const n = Al(); return { panelStore: n, hydrateStoreFromLegacy: () => { @@ -29490,9 +29505,9 @@ function no(e, t = []) { isPiniaOnly: !0 }; } -const Bb = "mjr_panel_messages_v1", Ub = "mjr_panel_messages_last_read_v1", cM = "mjr_panel_messages_dismissed_builtin_ids_v1", pm = 120, sM = "/mjr/am/user-guide", dM = /* @__PURE__ */ new Set(["info", "success", "warning", "error"]), Kb = "mjr:panel-messages-changed"; -let ym = !1, Ai = []; -const Db = Object.freeze([ +const Ub = "mjr_panel_messages_v1", Kb = "mjr_panel_messages_last_read_v1", uM = "mjr_panel_messages_dismissed_builtin_ids_v1", fm = 120, mM = "/mjr/am/user-guide", gM = /* @__PURE__ */ new Set(["info", "success", "warning", "error"]), Db = "mjr:panel-messages-changed"; +let hm = !1, wi = []; +const Eb = Object.freeze([ { id: "whats-new-2026-03-29-version-2-4-3", title: "New Version 2.4.3", @@ -29560,7 +29575,7 @@ const Db = Object.freeze([ bodyKey: "msg.whatsNew.body.localUserGuide", actionLabel: "User Guide", actionLabelKey: "label.userGuide", - actionUrl: sM + actionUrl: mM }, { id: "tip-2026-04-07-output-folder-override", @@ -29651,29 +29666,59 @@ const Db = Object.freeze([ createdAt: Date.parse("2026-04-12T10:05:00Z"), body: "A new Viewer button now appears in the ComfyUI top action bar. Click it to toggle the Majoor Floating Viewer on or off without opening the sidebar. The button highlights when the viewer is active and updates in real time.", bodyKey: "msg.whatsNew.body.topbarMfvButton" + }, + { + id: "whats-new-2026-04-20-version-2-4-6", + title: "New Version 2.4.6", + titleKey: "msg.whatsNew.title.version246", + emoji: "πŸš€", + category: "Release", + categoryKey: "msg.category.release", + level: "success", + createdAt: Date.parse("2026-04-20T09:00:00Z"), + body: "Version 2.4.6 released: Various bug fixes and performance & fluidity improvements. Improved concatenate support for default and custom nodes (by Forsion07). Added support helpers for Api Node and Ernie Image. Live Stream in Floating Viewer is now disabled by default. See CHANGELOG for details.", + bodyKey: "msg.whatsNew.body.version246", + actionLabel: "Changelog", + actionLabelKey: "label.changelog", + actionUrl: "CHANGELOG.md" + }, + { + id: "tip-2026-04-20-mfv-live-stream-preview-defaults", + title: "Tip β€” Floating Viewer Auto-Open", + titleKey: "msg.tip.title.mfvLivePreviewDefaults", + emoji: "πŸ’‘", + category: "Information", + categoryKey: "msg.category.information", + level: "info", + createdAt: Date.parse("2026-04-20T10:00:00Z"), + body: "Live Stream (green button in the viewer) and KSampler Preview can be activated by default via Settings β†’ Majoor Assets Manager β€Ί Viewer. When Live Stream is on, clicking a Load Image node or when a generation ends will automatically open the Floating Viewer and display the result. KSampler Preview streams the denoising steps live. Both toggles can be set as the default state so the viewer is always ready.", + bodyKey: "msg.tip.body.mfvLivePreviewDefaults", + actionLabel: "Settings Guide", + actionLabelKey: "label.settingsGuide", + actionUrl: "docs/SETTINGS_CONFIGURATION.md" } -]), uM = new Set( - Db.map((e) => String((e == null ? void 0 : e.id) || "").trim()).filter(Boolean) +]), IM = new Set( + Eb.map((e) => String((e == null ? void 0 : e.id) || "").trim()).filter(Boolean) ); -function Al(e, t = 0) { +function Wl(e, t = 0) { const n = Number(e); return Number.isFinite(n) ? n : t; } -function Cl() { +function Zl() { return Date.now(); } -function mM() { - return Ys(`msg-${Cl()}-`, 6); +function bM() { + return ks(`msg-${Zl()}-`, 6); } -function gM(e) { +function pM(e) { const t = String(e || "").trim().toLowerCase(); - return t === "warn" ? "warning" : t === "danger" ? "error" : dM.has(t) ? t : "info"; + return t === "warn" ? "warning" : t === "danger" ? "error" : gM.has(t) ? t : "info"; } -function IM(e) { - return uM.has(String(e || "").trim()); +function yM(e) { + return IM.has(String(e || "").trim()); } -function Eb(e = {}) { - const t = String((e == null ? void 0 : e.id) || "").trim() || mM(), n = String((e == null ? void 0 : e.title) || "").trim() || "Info", i = String((e == null ? void 0 : e.titleKey) || "").trim(), o = String((e == null ? void 0 : e.emoji) || "").trim(), r = String((e == null ? void 0 : e.body) || "").trim(), l = String((e == null ? void 0 : e.bodyKey) || "").trim(), a = String((e == null ? void 0 : e.category) || "").trim() || "Info", c = String((e == null ? void 0 : e.categoryKey) || "").trim(), s = Al(e == null ? void 0 : e.createdAt, Cl()), d = gM(e == null ? void 0 : e.level), u = String((e == null ? void 0 : e.actionLabel) || "").trim(), I = String((e == null ? void 0 : e.actionLabelKey) || "").trim(), p = String((e == null ? void 0 : e.actionUrl) || "").trim(); +function Hb(e = {}) { + const t = String((e == null ? void 0 : e.id) || "").trim() || bM(), n = String((e == null ? void 0 : e.title) || "").trim() || "Info", i = String((e == null ? void 0 : e.titleKey) || "").trim(), o = String((e == null ? void 0 : e.emoji) || "").trim(), r = String((e == null ? void 0 : e.body) || "").trim(), l = String((e == null ? void 0 : e.bodyKey) || "").trim(), a = String((e == null ? void 0 : e.category) || "").trim() || "Info", c = String((e == null ? void 0 : e.categoryKey) || "").trim(), s = Wl(e == null ? void 0 : e.createdAt, Zl()), d = pM(e == null ? void 0 : e.level), u = String((e == null ? void 0 : e.actionLabel) || "").trim(), I = String((e == null ? void 0 : e.actionLabelKey) || "").trim(), p = String((e == null ? void 0 : e.actionUrl) || "").trim(); return { id: t, title: n, @@ -29690,7 +29735,7 @@ function Eb(e = {}) { actionUrl: p }; } -function Hb(e, t) { +function qb(e, t) { try { const n = localStorage.getItem(e); return n ? JSON.parse(n) : t; @@ -29698,67 +29743,67 @@ function Hb(e, t) { return t; } } -function bM(e, t) { +function fM(e, t) { try { localStorage.setItem(e, JSON.stringify(t)); } catch { } } -function qb() { +function Pb() { try { - return Al(localStorage.getItem(Ub), 0); + return Wl(localStorage.getItem(Kb), 0); } catch { return 0; } } -function pM(e) { +function hM(e) { try { - localStorage.setItem(Ub, String(Al(e, Cl()))); + localStorage.setItem(Kb, String(Wl(e, Zl()))); } catch { } } -function yM() { - const e = Hb(cM, []), t = Array.isArray(e) ? e : []; +function CM() { + const e = qb(uM, []), t = Array.isArray(e) ? e : []; return new Set( - t.map((n) => String(n || "").trim()).filter((n) => IM(n)) + t.map((n) => String(n || "").trim()).filter((n) => yM(n)) ); } -function Pb() { - Ai.sort((e, t) => Number(t.createdAt || 0) - Number(e.createdAt || 0)), Ai.length > pm && (Ai = Ai.slice(0, pm)); +function Qb() { + wi.sort((e, t) => Number(t.createdAt || 0) - Number(e.createdAt || 0)), wi.length > fm && (wi = wi.slice(0, fm)); } -function fM() { - bM(Bb, Ai); +function ZM() { + fM(Ub, wi); } -function hM() { - const e = yM(); +function AM() { + const e = CM(); let t = !1; - for (const n of Db) { - const i = Eb(n); + for (const n of Eb) { + const i = Hb(n); if (e.has(i.id)) continue; - const o = Ai.findIndex((a) => a.id === i.id); + const o = wi.findIndex((a) => a.id === i.id); if (o < 0) { - Ai.push(i), t = !0; + wi.push(i), t = !0; continue; } - const r = Ai[o], l = { + const r = wi[o], l = { ...r, ...i, // Keep the original publish timestamp if already present. - createdAt: Al(r == null ? void 0 : r.createdAt, i.createdAt) + createdAt: Wl(r == null ? void 0 : r.createdAt, i.createdAt) }; - JSON.stringify(r) !== JSON.stringify(l) && (Ai[o] = l, t = !0); + JSON.stringify(r) !== JSON.stringify(l) && (wi[o] = l, t = !0); } - return t ? (Pb(), fM(), !0) : !1; + return t ? (Qb(), ZM(), !0) : !1; } -function Qb() { +function _b() { var e; try { window.dispatchEvent( - new CustomEvent(Kb, { + new CustomEvent(Db, { detail: { - total: Ai.length, - unread: ps() + total: wi.length, + unread: fs() } }) ); @@ -29766,30 +29811,30 @@ function Qb() { (e = console.debug) == null || e.call(console, t); } } -function Wl() { - if (ym) return; - ym = !0; - const e = Hb(Bb, []); - Ai = (Array.isArray(e) ? e : []).map(Eb), Pb(); +function wl() { + if (hm) return; + hm = !0; + const e = qb(Ub, []); + wi = (Array.isArray(e) ? e : []).map(Hb), Qb(); } -function CM() { - Wl(), hM() && Qb(); +function WM() { + wl(), AM() && _b(); } -function ZM() { - return Wl(), Ai.map((e) => ({ ...e })); +function wM() { + return wl(), wi.map((e) => ({ ...e })); } -function ps() { - Wl(); - const e = qb(); - return Ai.reduce((t, n) => t + (Number(n.createdAt || 0) > e ? 1 : 0), 0); +function fs() { + wl(); + const e = Pb(); + return wi.reduce((t, n) => t + (Number(n.createdAt || 0) > e ? 1 : 0), 0); } -function AM() { - return Wl(), qb(); +function MM() { + return wl(), Pb(); } -function Mc({ upTo: e = Cl() } = {}) { - Wl(), pM(Al(e, Cl())), Qb(); +function Sc({ upTo: e = Zl() } = {}) { + wl(), hM(Wl(e, Zl())), _b(); } -const WM = Object.freeze([ +const SM = Object.freeze([ { id: "panel", titleKey: "msg.shortcuts.section.panel", @@ -29858,13 +29903,13 @@ const WM = Object.freeze([ ]) } ]); -function wM() { - return WM.map((e) => ({ +function GM() { + return SM.map((e) => ({ ...e, items: Array.isArray(e.items) ? e.items.map((t) => ({ ...t })) : [] })); } -function MM() { +function xM() { const e = document.createElement("div"); e.className = "mjr-shortcut-guide"; const t = document.createElement("div"); @@ -29872,7 +29917,7 @@ function MM() { "msg.shortcuts.intro", "Current keyboard shortcuts grouped by section for quick reference." ), e.appendChild(t); - for (const n of wM()) { + for (const n of GM()) { const i = document.createElement("section"); i.className = "mjr-shortcut-section"; const o = document.createElement("div"); @@ -29891,8 +29936,8 @@ function MM() { } return e; } -const SM = /* @__PURE__ */ new Set(["info", "success", "warning", "error"]); -function fm(e) { +const jM = /* @__PURE__ */ new Set(["info", "success", "warning", "error"]); +function Cm(e) { const t = Number(e); if (!Number.isFinite(t) || t <= 0) return ""; try { @@ -29907,15 +29952,15 @@ function fm(e) { return ""; } } -function Dl(e, t, n, i) { +function El(e, t, n, i) { const o = String((e == null ? void 0 : e[t]) || "").trim(), r = String((e == null ? void 0 : e[n]) || i || "").trim() || String(i || ""); return o ? m(o, r) : r; } -function _b(e) { +function $b(e) { const t = String(e || "").trim().toLowerCase(); - return t === "warn" ? "warning" : t === "danger" ? "error" : SM.has(t) ? t : "info"; + return t === "warn" ? "warning" : t === "danger" ? "error" : jM.has(t) ? t : "info"; } -function hm(e) { +function Zm(e) { var n, i; const t = String(e || "").trim(); if (!t) return ""; @@ -29926,13 +29971,13 @@ function hm(e) { return ""; } } -function GM(e) { +function vM(e) { const t = String((e == null ? void 0 : e.emoji) || "").trim(); if (t) return t; - const n = _b(e == null ? void 0 : e.level); + const n = $b(e == null ? void 0 : e.level); return n === "success" ? "βœ…" : n === "warning" ? "⚠️" : n === "error" ? "❌" : "πŸ’‘"; } -function xM(e) { +function LM(e) { switch (String(e || "").toLowerCase()) { case "success": return "βœ…"; @@ -29944,22 +29989,22 @@ function xM(e) { return "πŸ’‘"; } } -function jM(e) { +function VM(e) { if (e != null && e.persistent) return "persistent"; const t = Number(e == null ? void 0 : e.durationMs); return !Number.isFinite(t) || t <= 0 ? "" : t < 1e4 ? `${(t / 1e3).toFixed(1)}s` : `${Math.round(t / 1e3)}s`; } -function vM(e) { +function YM(e) { const t = String(e || "").trim().toLowerCase(); return t ? t.replace(/[_-]+/g, " ") : ""; } -function LM(e) { +function kM(e) { const t = e == null ? void 0 : e.progress; if (!t || typeof t != "object") return ""; const n = String(t.label || "").trim(), i = Number(t.current), o = Number(t.total), r = Number(t.indexed), l = Number(t.skipped), a = Number(t.errors), c = []; return n && c.push(n), Number.isFinite(i) && Number.isFinite(o) && o > 0 && c.push(`${i}/${o}`), Number.isFinite(r) && c.push(`indexed ${r}`), Number.isFinite(l) && c.push(`skipped ${l}`), Number.isFinite(a) && a > 0 && c.push(`errors ${a}`), c.join(" | "); } -function YM(e) { +function XM(e) { const t = e == null ? void 0 : e.progress; if (!t || typeof t != "object") return null; const n = Number(t.percent); @@ -29967,7 +30012,7 @@ function YM(e) { const i = Number(t.current), o = Number(t.total); return Number.isFinite(i) && Number.isFinite(o) && o > 0 ? Math.max(0, Math.min(100, Math.round(i / o * 100))) : null; } -function zr({ +function Tr({ activeTab: e = "messages", title: t = null, messagePopover: n = null, @@ -29979,20 +30024,20 @@ function zr({ shortcutsPanel: c = null, markReadBtn: s = null } = {}) { - var M, Z, A; + var S, A, C; const d = e === "messages", u = e === "history", I = e === "shortcuts", p = d ? m("label.messages", "Messages") : u ? m("label.toastHistory", "History") : m("msg.shortcuts.title", "Shortcut Guide"); try { i == null || i.classList.toggle("is-active", d), i == null || i.setAttribute("aria-selected", d ? "true" : "false"), i == null || i.setAttribute("tabindex", d ? "0" : "-1"), o == null || o.classList.toggle("is-active", u), o == null || o.setAttribute("aria-selected", u ? "true" : "false"), o == null || o.setAttribute("tabindex", u ? "0" : "-1"), r == null || r.classList.toggle("is-active", I), r == null || r.setAttribute("aria-selected", I ? "true" : "false"), r == null || r.setAttribute("tabindex", I ? "0" : "-1"); } catch (g) { - (M = console.debug) == null || M.call(console, g); + (S = console.debug) == null || S.call(console, g); } try { - t && (t.textContent = p), (Z = n == null ? void 0 : n.setAttribute) == null || Z.call(n, "aria-label", p), l && (l.hidden = !d, l.style.display = d ? "" : "none", l.setAttribute("aria-hidden", d ? "false" : "true")), a && (a.hidden = !u, a.style.display = u ? "" : "none", a.setAttribute("aria-hidden", u ? "false" : "true")), c && (c.hidden = !I, c.style.display = I ? "" : "none", c.setAttribute("aria-hidden", I ? "false" : "true")), s && (s.hidden = !d); + t && (t.textContent = p), (A = n == null ? void 0 : n.setAttribute) == null || A.call(n, "aria-label", p), l && (l.hidden = !d, l.style.display = d ? "" : "none", l.setAttribute("aria-hidden", d ? "false" : "true")), a && (a.hidden = !u, a.style.display = u ? "" : "none", a.setAttribute("aria-hidden", u ? "false" : "true")), c && (c.hidden = !I, c.style.display = I ? "" : "none", c.setAttribute("aria-hidden", I ? "false" : "true")), s && (s.hidden = !d); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } } -function VM({ +function NM({ messageBtn: e = null, messagePopover: t = null, title: n = null, @@ -30007,217 +30052,217 @@ function VM({ shortcutsTabBtn: u = null, markReadBtn: I = null, popovers: p = null, - onBeforeToggle: M = null, - signal: Z = null + onBeforeToggle: S = null, + signal: A = null } = {}) { - var L, N, q, O, B, J, T; - CM(); - let A = "messages"; + var V, k, K, z, B, J, P; + WM(); + let C = "messages"; const g = () => { - var Q, E, K; - const D = ((Q = t == null ? void 0 : t.style) == null ? void 0 : Q.display) === "block"; + var $, E, oe; + const H = (($ = t == null ? void 0 : t.style) == null ? void 0 : $.display) === "block"; try { - e == null || e.setAttribute("aria-expanded", D ? "true" : "false"); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + e == null || e.setAttribute("aria-expanded", H ? "true" : "false"); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } try { - t == null || t.setAttribute("aria-hidden", D ? "false" : "true"); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + t == null || t.setAttribute("aria-hidden", H ? "false" : "true"); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } - }, h = () => { + }, Z = () => { if (!i) return; - const D = ZM(), Q = AM(); - if (i.replaceChildren(), !D.length) { + const H = wM(), $ = MM(); + if (i.replaceChildren(), !H.length) { const E = document.createElement("div"); E.className = "mjr-messages-empty", E.textContent = m("msg.noMessages", "No messages for now."), i.appendChild(E); return; } - for (const E of D) { - const K = document.createElement("article"); - K.className = "mjr-message-item"; - const F = _b(E == null ? void 0 : E.level); - K.classList.add(`mjr-message-item--${F}`); - const Y = Number((E == null ? void 0 : E.createdAt) || 0); - Y > Number(Q || 0) && K.classList.add("mjr-message-item--unread"); - const P = document.createElement("div"); - P.className = "mjr-message-item-head"; - const ee = document.createElement("div"); - ee.className = "mjr-message-item-title-wrap"; - const oe = document.createElement("span"); - oe.className = "mjr-message-item-emoji", oe.textContent = GM(E), oe.setAttribute("aria-hidden", "true"); + for (const E of H) { + const oe = document.createElement("article"); + oe.className = "mjr-message-item"; + const M = $b(E == null ? void 0 : E.level); + oe.classList.add(`mjr-message-item--${M}`); + const j = Number((E == null ? void 0 : E.createdAt) || 0); + j > Number($ || 0) && oe.classList.add("mjr-message-item--unread"); + const D = document.createElement("div"); + D.className = "mjr-message-item-head"; + const q = document.createElement("div"); + q.className = "mjr-message-item-title-wrap"; + const ee = document.createElement("span"); + ee.className = "mjr-message-item-emoji", ee.textContent = vM(E), ee.setAttribute("aria-hidden", "true"); const ce = document.createElement("div"); - ce.className = "mjr-message-item-title", ce.textContent = Dl( + ce.className = "mjr-message-item-title", ce.textContent = El( E, "titleKey", "title", m("label.info", "Info") ); - const pe = document.createElement("span"); - pe.className = "mjr-message-item-category", pe.textContent = Dl( + const ue = document.createElement("span"); + ue.className = "mjr-message-item-category", ue.textContent = El( E, "categoryKey", "category", m("label.info", "Info") - ), ee.appendChild(oe), ee.appendChild(ce), P.appendChild(ee), P.appendChild(pe); - const H = document.createElement("div"); - H.className = "mjr-message-item-meta", H.textContent = fm(Y); - const $ = document.createElement("div"); - $.className = "mjr-message-item-body", $.textContent = Dl(E, "bodyKey", "body", ""), K.appendChild(P), H.textContent && K.appendChild(H), $.textContent && K.appendChild($); - const _ = hm(E == null ? void 0 : E.actionUrl), le = Dl( + ), q.appendChild(ee), q.appendChild(ce), D.appendChild(q), D.appendChild(ue); + const U = document.createElement("div"); + U.className = "mjr-message-item-meta", U.textContent = Cm(j); + const Q = document.createElement("div"); + Q.className = "mjr-message-item-body", Q.textContent = El(E, "bodyKey", "body", ""), oe.appendChild(D), U.textContent && oe.appendChild(U), Q.textContent && oe.appendChild(Q); + const _ = Zm(E == null ? void 0 : E.actionUrl), le = El( E, "actionLabelKey", "actionLabel", m("label.readMe", "Read Me") ); if (_ && le) { - const se = document.createElement("a"); - se.className = "mjr-message-item-action", se.href = _, se.target = "_blank", se.rel = "noopener noreferrer", se.textContent = le, K.appendChild(se); + const de = document.createElement("a"); + de.className = "mjr-message-item-action", de.href = _, de.target = "_blank", de.rel = "noopener noreferrer", de.textContent = le, oe.appendChild(de); } - i.appendChild(K); + i.appendChild(oe); } }, f = () => { if (!a) return; - const D = Dy(); - let Q = a.querySelector(".mjr-history-list"); - if (!Q) { + const H = qy(); + let $ = a.querySelector(".mjr-history-list"); + if (!$) { const E = document.createElement("div"); E.className = "mjr-history-head"; - const K = document.createElement("span"); - K.className = "mjr-history-head-label", K.textContent = m("label.recentActivity", "Recent activity"); - const F = document.createElement("button"); - F.type = "button", F.className = "mjr-btn mjr-history-clear-btn", F.textContent = m("btn.clearHistory", "Clear"), F.title = m("tooltip.clearToastHistory", "Clear toast history"), F.addEventListener( + const oe = document.createElement("span"); + oe.className = "mjr-history-head-label", oe.textContent = m("label.recentActivity", "Recent activity"); + const M = document.createElement("button"); + M.type = "button", M.className = "mjr-btn mjr-history-clear-btn", M.textContent = m("btn.clearHistory", "Clear"), M.title = m("tooltip.clearToastHistory", "Clear toast history"), M.addEventListener( "click", - (Y) => { - Y.stopPropagation(), qy(), f(); + (j) => { + j.stopPropagation(), _y(), f(); }, - Z ? { signal: Z } : void 0 - ), E.appendChild(K), E.appendChild(F), Q = document.createElement("div"), Q.className = "mjr-history-list", a.replaceChildren(E, Q); + A ? { signal: A } : void 0 + ), E.appendChild(oe), E.appendChild(M), $ = document.createElement("div"), $.className = "mjr-history-list", a.replaceChildren(E, $); } - if (Q.replaceChildren(), !D.length) { + if ($.replaceChildren(), !H.length) { const E = document.createElement("div"); - E.className = "mjr-messages-empty", E.textContent = m("msg.noHistory", "No recent activity."), Q.appendChild(E); + E.className = "mjr-messages-empty", E.textContent = m("msg.noHistory", "No recent activity."), $.appendChild(E); return; } - for (const E of D) { - const K = document.createElement("div"); - K.className = `mjr-history-item mjr-history-item--${String(E.type || "info")}`; - const F = document.createElement("span"); - F.className = "mjr-history-item-icon", F.textContent = xM(E.type), F.setAttribute("aria-hidden", "true"); - const Y = document.createElement("div"); - Y.className = "mjr-history-item-content"; - const U = String(E.title || "").trim(), P = String(E.detail || "").trim(), ee = String(E.message || "").trim(), oe = U || ee, ce = U && P ? P : U ? "" : P, pe = document.createElement("div"); - pe.className = U ? "mjr-history-item-title" : "mjr-history-item-msg", pe.textContent = oe; - const H = document.createElement("div"); - H.className = "mjr-history-item-detail", H.textContent = ce; - const $ = document.createElement("div"); - $.className = "mjr-history-item-meta"; + for (const E of H) { + const oe = document.createElement("div"); + oe.className = `mjr-history-item mjr-history-item--${String(E.type || "info")}`; + const M = document.createElement("span"); + M.className = "mjr-history-item-icon", M.textContent = LM(E.type), M.setAttribute("aria-hidden", "true"); + const j = document.createElement("div"); + j.className = "mjr-history-item-content"; + const O = String(E.title || "").trim(), D = String(E.detail || "").trim(), q = String(E.message || "").trim(), ee = O || q, ce = O && D ? D : O ? "" : D, ue = document.createElement("div"); + ue.className = O ? "mjr-history-item-title" : "mjr-history-item-msg", ue.textContent = ee; + const U = document.createElement("div"); + U.className = "mjr-history-item-detail", U.textContent = ce; + const Q = document.createElement("div"); + Q.className = "mjr-history-item-meta"; const _ = document.createElement("span"); - _.className = "mjr-history-item-time", _.textContent = fm(E.createdAt); + _.className = "mjr-history-item-time", _.textContent = Cm(E.createdAt); const le = document.createElement("span"); - le.className = "mjr-history-item-chip", le.textContent = jM(E); - const se = document.createElement("span"); - se.className = "mjr-history-item-chip", se.textContent = String(E.source || "").trim(); + le.className = "mjr-history-item-chip", le.textContent = VM(E); const de = document.createElement("span"); - de.className = "mjr-history-item-chip", de.textContent = vM(E.status), Y.appendChild(pe), H.textContent && Y.appendChild(H), _.textContent && $.appendChild(_), le.textContent && $.appendChild(le), de.textContent && $.appendChild(de), se.textContent && $.appendChild(se), $.childNodes.length && Y.appendChild($); - const Ze = LM(E), Fe = YM(E); - if (Ze || Fe !== null) { - const We = document.createElement("div"); - if (We.className = "mjr-history-item-progress", Ze) { - const De = document.createElement("div"); - De.className = "mjr-history-item-progress-summary", De.textContent = Ze, We.appendChild(De); + de.className = "mjr-history-item-chip", de.textContent = String(E.source || "").trim(); + const se = document.createElement("span"); + se.className = "mjr-history-item-chip", se.textContent = YM(E.status), j.appendChild(ue), U.textContent && j.appendChild(U), _.textContent && Q.appendChild(_), le.textContent && Q.appendChild(le), se.textContent && Q.appendChild(se), de.textContent && Q.appendChild(de), Q.childNodes.length && j.appendChild(Q); + const ge = kM(E), je = XM(E); + if (ge || je !== null) { + const we = document.createElement("div"); + if (we.className = "mjr-history-item-progress", ge) { + const Je = document.createElement("div"); + Je.className = "mjr-history-item-progress-summary", Je.textContent = ge, we.appendChild(Je); } - if (Fe !== null) { - const De = document.createElement("div"); - De.className = "mjr-history-item-progress-bar"; - const Pe = document.createElement("div"); - Pe.className = "mjr-history-item-progress-fill", Pe.style.width = `${Fe}%`, De.appendChild(Pe), We.appendChild(De); + if (je !== null) { + const Je = document.createElement("div"); + Je.className = "mjr-history-item-progress-bar"; + const $e = document.createElement("div"); + $e.className = "mjr-history-item-progress-fill", $e.style.width = `${je}%`, Je.appendChild($e), we.appendChild(Je); } - Y.appendChild(We); + j.appendChild(we); } - const xe = hm(E == null ? void 0 : E.actionUrl), ze = String((E == null ? void 0 : E.actionLabel) || "").trim(); - if (xe && ze) { - const We = document.createElement("a"); - We.className = "mjr-history-item-action", We.href = xe, We.target = "_blank", We.rel = "noopener noreferrer", We.textContent = ze, Y.appendChild(We); + const Se = Zm(E == null ? void 0 : E.actionUrl), ke = String((E == null ? void 0 : E.actionLabel) || "").trim(); + if (Se && ke) { + const we = document.createElement("a"); + we.className = "mjr-history-item-action", we.href = Se, we.target = "_blank", we.rel = "noopener noreferrer", we.textContent = ke, j.appendChild(we); } - K.appendChild(F), K.appendChild(Y), Q.appendChild(K); + oe.appendChild(M), oe.appendChild(j), $.appendChild(oe); } - }, b = (D, Q) => { - if (!D) return; - const E = Math.max(0, Number(Q || 0) || 0); + }, b = (H, $) => { + if (!H) return; + const E = Math.max(0, Number($ || 0) || 0); if (E <= 0) { - D.style.display = "none", D.textContent = ""; + H.style.display = "none", H.textContent = ""; return; } - D.style.display = "inline-flex", D.textContent = E > 99 ? "99+" : String(E); - }, v = () => { - const D = Ey(); - r && (r.style.display = D > 0 ? "inline-block" : "none"), b(l, D); - }, C = () => { - c && (c.childNodes.length > 0 || c.replaceChildren(MM())); - }, S = () => { + H.style.display = "inline-flex", H.textContent = E > 99 ? "99+" : String(E); + }, L = () => { + const H = Py(); + r && (r.style.display = H > 0 ? "inline-block" : "none"), b(l, H); + }, h = () => { + c && (c.childNodes.length > 0 || c.replaceChildren(xM())); + }, G = () => { if (!I) return; - const D = Math.max(0, Number(ps() || 0) || 0); - if (I.disabled = D <= 0, D > 0) { + const H = Math.max(0, Number(fs() || 0) || 0); + if (I.disabled = H <= 0, H > 0) { I.title = m("tooltip.markMessagesRead", "Mark all messages as read"); return; } I.title = m("tooltip.noUnreadMessages", "No unread messages"); }, W = () => { - const D = Math.max(0, Number(ps() || 0) || 0); + const H = Math.max(0, Number(fs() || 0) || 0); if (e) { - const Q = e.querySelector(".mjr-message-badge"), E = D > 0 ? m("tooltip.openMessagesUnread", "Messages ({count} unread)", { - count: D + const $ = e.querySelector(".mjr-message-badge"), E = H > 0 ? m("tooltip.openMessagesUnread", "Messages ({count} unread)", { + count: H }) : m("tooltip.openMessages", "Messages and updates"); - e.classList.toggle("mjr-message-has-unread", D > 0), e.title = E, e.setAttribute("aria-label", E), Q && (D <= 0 ? (Q.style.display = "none", Q.textContent = "") : (Q.style.display = "inline-flex", Q.textContent = D > 9 ? "9+" : String(D))); + e.classList.toggle("mjr-message-has-unread", H > 0), e.title = E, e.setAttribute("aria-label", E), $ && (H <= 0 ? ($.style.display = "none", $.textContent = "") : ($.style.display = "inline-flex", $.textContent = H > 9 ? "9+" : String(H))); } - b(d, D), S(); + b(d, H), G(); }, y = () => { - var D; - W(), v(), ((D = t == null ? void 0 : t.style) == null ? void 0 : D.display) === "block" && (A === "messages" && h(), A === "history" && f()); - }, k = Z ? { signal: Z } : void 0; + var H; + W(), L(), ((H = t == null ? void 0 : t.style) == null ? void 0 : H.display) === "block" && (C === "messages" && Z(), C === "history" && f()); + }, X = A ? { signal: A } : void 0; try { - window.addEventListener(Kb, y, k); - } catch (D) { - (L = console.debug) == null || L.call(console, D); + window.addEventListener(Db, y, X); + } catch (H) { + (V = console.debug) == null || V.call(console, H); } try { window.addEventListener( - Wg, + wg, () => { - var D; - v(), ((D = t == null ? void 0 : t.style) == null ? void 0 : D.display) === "block" && A === "history" && f(); + var H; + L(), ((H = t == null ? void 0 : t.style) == null ? void 0 : H.display) === "block" && C === "history" && f(); }, - k + X ); - } catch (D) { - (N = console.debug) == null || N.call(console, D); + } catch (H) { + (k = console.debug) == null || k.call(console, H); } try { e && t && (t.id || (t.id = "mjr-messages-popover"), e.setAttribute("aria-haspopup", "dialog"), e.setAttribute("aria-controls", t.id)); - } catch (D) { - (q = console.debug) == null || q.call(console, D); + } catch (H) { + (K = console.debug) == null || K.call(console, H); } - let G = null; + let x = null; try { - typeof MutationObserver < "u" && t && (G = new MutationObserver(g), G.observe(t, { + typeof MutationObserver < "u" && t && (x = new MutationObserver(g), x.observe(t, { attributes: !0, attributeFilter: ["style"] })); - } catch (D) { - (O = console.debug) == null || O.call(console, D); + } catch (H) { + (z = console.debug) == null || z.call(console, H); } try { - (B = Z == null ? void 0 : Z.addEventListener) == null || B.call(Z, "abort", () => { - var D; - return (D = G == null ? void 0 : G.disconnect) == null ? void 0 : D.call(G); + (B = A == null ? void 0 : A.addEventListener) == null || B.call(A, "abort", () => { + var H; + return (H = x == null ? void 0 : x.disconnect) == null ? void 0 : H.call(x); }, { once: !0 }); - } catch (D) { - (J = console.debug) == null || J.call(console, D); + } catch (H) { + (J = console.debug) == null || J.call(console, H); } - W(), v(), g(), zr({ - activeTab: A, + W(), L(), g(), Tr({ + activeTab: C, title: n, messagePopover: t, messageTabBtn: s, @@ -30228,9 +30273,9 @@ function VM({ shortcutsPanel: c, markReadBtn: I }); - const z = () => { - A = "messages", zr({ - activeTab: A, + const T = () => { + C = "messages", Tr({ + activeTab: C, title: n, messagePopover: t, messageTabBtn: s, @@ -30240,10 +30285,10 @@ function VM({ historyPanel: a, shortcutsPanel: c, markReadBtn: I - }), h(), Mc(), W(); - }, x = () => { - A = "history", zr({ - activeTab: A, + }), Z(), Sc(), W(); + }, v = () => { + C = "history", Tr({ + activeTab: C, title: n, messagePopover: t, messageTabBtn: s, @@ -30253,10 +30298,10 @@ function VM({ historyPanel: a, shortcutsPanel: c, markReadBtn: I - }), f(), Hy(), v(); + }), f(), Qy(), L(); }, w = () => { - A = "shortcuts", zr({ - activeTab: A, + C = "shortcuts", Tr({ + activeTab: C, title: n, messagePopover: t, messageTabBtn: s, @@ -30266,75 +30311,75 @@ function VM({ historyPanel: a, shortcutsPanel: c, markReadBtn: I - }), C(); - }, X = (D) => { - if (D === "messages") { - z(); + }), h(); + }, R = (H) => { + if (H === "messages") { + T(); return; } - if (D === "history") { - x(); + if (H === "history") { + v(); return; } w(); - }, V = () => { - var Q, E; + }, Y = () => { + var $, E; if (!t || !p || !e) return; - if (!(((Q = t == null ? void 0 : t.style) == null ? void 0 : Q.display) === "block")) { + if (!((($ = t == null ? void 0 : t.style) == null ? void 0 : $.display) === "block")) { try { - typeof M == "function" && M(); - } catch (K) { - (E = console.debug) == null || E.call(console, K); + typeof S == "function" && S(); + } catch (oe) { + (E = console.debug) == null || E.call(console, oe); } p.toggle(t, e); } - x(), g(), W(); + v(), g(), W(); }; try { window.addEventListener( - ft.OPEN_MESSAGE_HISTORY, + ht.OPEN_MESSAGE_HISTORY, () => { - V(); + Y(); }, - k + X ); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } - const R = ["messages", "history", "shortcuts"], j = (D, Q) => { - var F, Y, U, P, ee, oe, ce, pe; - const E = String((D == null ? void 0 : D.key) || "").toLowerCase(), K = R.indexOf(String(Q || "").toLowerCase()); - if (!(K < 0)) { + const F = ["messages", "history", "shortcuts"], N = (H, $) => { + var M, j, O, D, q, ee, ce, ue; + const E = String((H == null ? void 0 : H.key) || "").toLowerCase(), oe = F.indexOf(String($ || "").toLowerCase()); + if (!(oe < 0)) { if (E === "arrowright") { - D.preventDefault(); - const H = R[(K + 1) % R.length]; - X(H), H === "messages" && ((F = s == null ? void 0 : s.focus) == null || F.call(s)), H === "history" && ((Y = o == null ? void 0 : o.focus) == null || Y.call(o)), H === "shortcuts" && ((U = u == null ? void 0 : u.focus) == null || U.call(u)); + H.preventDefault(); + const U = F[(oe + 1) % F.length]; + R(U), U === "messages" && ((M = s == null ? void 0 : s.focus) == null || M.call(s)), U === "history" && ((j = o == null ? void 0 : o.focus) == null || j.call(o)), U === "shortcuts" && ((O = u == null ? void 0 : u.focus) == null || O.call(u)); return; } if (E === "arrowleft") { - D.preventDefault(); - const H = R[(K + R.length - 1) % R.length]; - X(H), H === "messages" && ((P = s == null ? void 0 : s.focus) == null || P.call(s)), H === "history" && ((ee = o == null ? void 0 : o.focus) == null || ee.call(o)), H === "shortcuts" && ((oe = u == null ? void 0 : u.focus) == null || oe.call(u)); + H.preventDefault(); + const U = F[(oe + F.length - 1) % F.length]; + R(U), U === "messages" && ((D = s == null ? void 0 : s.focus) == null || D.call(s)), U === "history" && ((q = o == null ? void 0 : o.focus) == null || q.call(o)), U === "shortcuts" && ((ee = u == null ? void 0 : u.focus) == null || ee.call(u)); return; } if (E === "home") { - D.preventDefault(), z(), (ce = s == null ? void 0 : s.focus) == null || ce.call(s); + H.preventDefault(), T(), (ce = s == null ? void 0 : s.focus) == null || ce.call(s); return; } if (E === "end") { - D.preventDefault(), w(), (pe = u == null ? void 0 : u.focus) == null || pe.call(u); + H.preventDefault(), w(), (ue = u == null ? void 0 : u.focus) == null || ue.call(u); return; } - (E === " " || E === "enter") && (D.preventDefault(), X(Q)); + (E === " " || E === "enter") && (H.preventDefault(), R($)); } }; return e == null || e.addEventListener( "click", - (D) => { - var Q, E; + (H) => { + var $, E; if (!(!t || !p || !e)) { - D.stopPropagation(), A = "messages", h(), C(), zr({ - activeTab: A, + H.stopPropagation(), C = "messages", Z(), h(), Tr({ + activeTab: C, title: n, messagePopover: t, messageTabBtn: s, @@ -30346,64 +30391,64 @@ function VM({ markReadBtn: I }); try { - typeof M == "function" && M(); - } catch (K) { - (Q = console.debug) == null || Q.call(console, K); + typeof S == "function" && S(); + } catch (oe) { + ($ = console.debug) == null || $.call(console, oe); } - p.toggle(t, e), ((E = t == null ? void 0 : t.style) == null ? void 0 : E.display) === "block" && Mc(), g(), W(); + p.toggle(t, e), ((E = t == null ? void 0 : t.style) == null ? void 0 : E.display) === "block" && Sc(), g(), W(); } }, - k + X ), s == null || s.addEventListener( "click", - (D) => { - D.preventDefault(), D.stopPropagation(), z(); + (H) => { + H.preventDefault(), H.stopPropagation(), T(); }, - k + X ), s == null || s.addEventListener( "keydown", - (D) => j(D, "messages"), - k + (H) => N(H, "messages"), + X ), o == null || o.addEventListener( "click", - (D) => { - D.preventDefault(), D.stopPropagation(), x(); + (H) => { + H.preventDefault(), H.stopPropagation(), v(); }, - k + X ), o == null || o.addEventListener( "keydown", - (D) => j(D, "history"), - k + (H) => N(H, "history"), + X ), u == null || u.addEventListener( "click", - (D) => { - D.preventDefault(), D.stopPropagation(), w(); + (H) => { + H.preventDefault(), H.stopPropagation(), w(); }, - k + X ), u == null || u.addEventListener( "keydown", - (D) => j(D, "shortcuts"), - k + (H) => N(H, "shortcuts"), + X ), I == null || I.addEventListener( "click", - (D) => { - D.preventDefault(), D.stopPropagation(), Mc(), h(), W(); + (H) => { + H.preventDefault(), H.stopPropagation(), Sc(), Z(), W(); }, - k + X ), { refresh: y, - render: h, + render: Z, updateButtonState: W, - showMessagesTab: z, - showHistoryTab: x, + showMessagesTab: T, + showHistoryTab: v, showShortcutsTab: w, - openHistoryPopover: V, + openHistoryPopover: Y, close: () => { !t || !p || (p.close(t), g()); } }; } -function kM(e) { +function RM(e) { let t = e; for (let n = 0; n < 3 && !(!t || typeof t != "object" || !("value" in t)); n += 1) { const i = t.value; @@ -30412,9 +30457,9 @@ function kM(e) { } return t; } -function XM(e) { +function FM(e) { var i; - const t = kM(e); + const t = RM(e); if (!t) return null; const n = String((t == null ? void 0 : t.tagName) || "").toUpperCase(); if (n === "INPUT" || n === "TEXTAREA") return t; @@ -30428,11 +30473,11 @@ function XM(e) { } return null; } -function ys(e) { - const t = XM(e), n = t ? t.value : typeof (e == null ? void 0 : e.value) == "string" ? e.value : ""; +function hs(e) { + const t = FM(e), n = t ? t.value : typeof (e == null ? void 0 : e.value) == "string" ? e.value : ""; return String(n || "").trim() || "*"; } -function NM({ +function OM({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, @@ -30442,7 +30487,7 @@ function NM({ searchInputEl: l, state: a }) { - const { read: c, write: s } = no(a, [ + const { read: c, write: s } = oo(a, [ "scope", "customRootId", "currentFolderRelativePath", @@ -30471,54 +30516,54 @@ function NM({ "lastGridCount", "lastGridTotal" ]); - let d = !1, u = !1, I = {}, p = 0, M = 0; - const Z = 3e4, A = 15e4, g = 15e3, h = 30, f = async (X, V = Z) => { - let R = null; + let d = !1, u = !1, I = {}, p = 0, S = 0; + const A = 3e4, C = 15e4, g = 15e3, Z = 30, f = async (R, Y = A) => { + let F = null; try { - const j = new Promise((L, N) => { - R = setTimeout(() => { - const q = new Error(`Grid reload watchdog timeout (${V}ms)`); - q.name = "GridReloadTimeout", N(q); - }, V); + const N = new Promise((V, k) => { + F = setTimeout(() => { + const K = new Error(`Grid reload watchdog timeout (${Y}ms)`); + K.name = "GridReloadTimeout", k(K); + }, Y); }); - return await Promise.race([X(), j]); + return await Promise.race([R(), N]); } finally { - R && clearTimeout(R); + F && clearTimeout(F); } }, b = () => { - var X; + var R; try { - return ((X = l == null ? void 0 : l.dataset) == null ? void 0 : X.mjrSemanticMode) === "1"; + return ((R = l == null ? void 0 : l.dataset) == null ? void 0 : R.mjrSemanticMode) === "1"; } catch { return !1; } - }, v = () => { - var X; + }, L = () => { + var R; try { - const V = Xn(); - return !!(((X = V == null ? void 0 : V.ai) == null ? void 0 : X.vectorSearchEnabled) ?? !0); + const Y = Xn(); + return !!(((R = Y == null ? void 0 : Y.ai) == null ? void 0 : R.vectorSearchEnabled) ?? !0); } catch { return !0; } - }, C = (X, V = "") => { + }, h = (R, Y = "") => { try { - if (X && typeof X == "object") - return String(X.error || X.message || V || "").trim(); + if (R && typeof R == "object") + return String(R.error || R.message || Y || "").trim(); } catch { } try { - return String(X || V || "").trim(); + return String(R || Y || "").trim(); } catch { - return String(V || "").trim(); + return String(Y || "").trim(); } - }, S = (X = []) => !Array.isArray(X) || X.length === 0 ? !1 : X.some((V) => { - if (String((V == null ? void 0 : V._matchType) || (V == null ? void 0 : V.matchType) || "").trim().toLowerCase().includes("semantic")) return !0; - const j = Number((V == null ? void 0 : V._vectorScore) ?? (V == null ? void 0 : V.vectorScore) ?? NaN); - return Number.isFinite(j) && j > 0; + }, G = (R = []) => !Array.isArray(R) || R.length === 0 ? !1 : R.some((Y) => { + if (String((Y == null ? void 0 : Y._matchType) || (Y == null ? void 0 : Y.matchType) || "").trim().toLowerCase().includes("semantic")) return !0; + const N = Number((Y == null ? void 0 : Y._vectorScore) ?? (Y == null ? void 0 : Y.vectorScore) ?? NaN); + return Number.isFinite(N) && N > 0; }), W = () => { - const X = String(c("currentFolderRelativePath", "") || "").trim(); + const R = String(c("currentFolderRelativePath", "") || "").trim(); return { - subfolder: !(c("scope", "output") === "custom" && !c("customRootId", "")) && X ? X : null, + subfolder: !(c("scope", "output") === "custom" && !c("customRootId", "")) && R ? R : null, kind: c("kindFilter", "") || null, hasWorkflow: c("workflowOnly", !1) ? !0 : null, minRating: Number(c("minRating", 0) || 0) > 0 ? Number(c("minRating", 0) || 0) : null, @@ -30532,21 +30577,21 @@ function NM({ dateRange: String(c("dateRangeFilter", "") || "").trim().toLowerCase() || null, dateExact: String(c("dateExactFilter", "") || "").trim() || null }; - }, y = async (X = "") => { - var j, L, N; - const V = Date.now(); - if (V - Number(M || 0) < g) return; - M = V; + }, y = async (R = "") => { + var N, V, k; + const Y = Date.now(); + if (Y - Number(S || 0) < g) return; + S = Y; try { - const q = await Ga(); - if (q != null && q.ok && (q != null && q.data)) { - const O = Number(((j = q.data) == null ? void 0 : j.total) || 0) || 0, B = Number(((L = q.data) == null ? void 0 : L.eligible_total) || 0) || 0, J = Number(((N = q.data) == null ? void 0 : N.coverage_ratio) ?? NaN); - if (O <= 10) { - Ce( + const K = await xa(); + if (K != null && K.ok && (K != null && K.data)) { + const z = Number(((N = K.data) == null ? void 0 : N.total) || 0) || 0, B = Number(((V = K.data) == null ? void 0 : V.eligible_total) || 0) || 0, J = Number(((k = K.data) == null ? void 0 : k.coverage_ratio) ?? NaN); + if (z <= 10) { + Ze( m( "toast.aiSearchNeedsBackfill", "AI search index is almost empty ({count} vectors). Run Enrich, then Vector Backfill for existing assets.", - { count: O } + { count: z } ), "warn", 6500 @@ -30554,12 +30599,12 @@ function NM({ return; } if (B > 0 && Number.isFinite(J) && J > 0 && J < 0.75) { - Ce( + Ze( m( "toast.aiSearchPartiallyIndexed", "AI search index is only partially built ({indexed}/{eligible}, {percent}%). Run Vector Backfill for existing assets.", { - indexed: O, + indexed: z, eligible: B, percent: Math.round(J * 100) } @@ -30572,174 +30617,175 @@ function NM({ } } catch { } - const R = C( - X, + const F = h( + R, m( "toast.aiSearchUnavailable", "AI search is currently unavailable. Falling back to normal search." ) ); - Ce(R, "warn", 5200); - }, k = async (X, V = {}) => { - var T, D; - let R = String(X || "").trim(); - const j = /^ai:\s*/i.test(R); - j && (R = R.replace(/^ai:\s*/i, "").trim()); - const L = v(), N = L && b(); - if (!L) - return await t(e, R || "*", V); - const q = N || j; - let O = !1, B = ""; - if (q && R && R !== "*") { - O = !0; - const Q = W(); + Ze(F, "warn", 5200); + }, X = async (R, Y = {}) => { + var P, H; + let F = String(R || "").trim(); + const N = /^ai:\s*/i.test(F); + N && (F = F.replace(/^ai:\s*/i, "").trim()); + const V = L(), k = V && b(); + if (!V) + return await t(e, F || "*", Y); + const K = k || N; + let z = !1, B = ""; + if (K && F && F !== "*") { + z = !0; + const $ = W(); try { - const E = await Hf(R, { + const E = await Qf(F, { topK: 100, scope: c("scope", "output") || "output", customRootId: c("customRootId", "") || "", - ...Q + ...$ }); - if (E != null && E.ok && Array.isArray(E.data) && E.data.length > 0 && S(E.data)) + if (E != null && E.ok && Array.isArray(E.data) && E.data.length > 0 && G(E.data)) return await n(e, E.data, { - title: `AI Search: "${R}" (${E.data.length} results)`, + title: `AI Search: "${F}" (${E.data.length} results)`, reset: !0, - ...V + ...Y }); - (E == null ? void 0 : E.ok) === !1 && (B = C((E == null ? void 0 : E.error) || (E == null ? void 0 : E.message), B)); + (E == null ? void 0 : E.ok) === !1 && (B = h((E == null ? void 0 : E.error) || (E == null ? void 0 : E.message), B)); } catch (E) { - B = C(E, B), (T = console.debug) == null || T.call(console, "[Majoor] Hybrid search failed, trying pure semantic", E); + B = h(E, B), (P = console.debug) == null || P.call(console, "[Majoor] Hybrid search failed, trying pure semantic", E); } try { - const E = await Rg(R, { + const E = await Fg(F, { topK: 100, scope: c("scope", "output") || "output", customRootId: c("customRootId", "") || "", - ...Q + ...$ }); if (E != null && E.ok && Array.isArray(E.data) && E.data.length > 0) return await n(e, E.data, { - title: `AI Search: "${R}" (${E.data.length} results)`, + title: `AI Search: "${F}" (${E.data.length} results)`, reset: !0, - ...V + ...Y }); - (E == null ? void 0 : E.ok) === !1 && (B = C((E == null ? void 0 : E.error) || (E == null ? void 0 : E.message), B)); + (E == null ? void 0 : E.ok) === !1 && (B = h((E == null ? void 0 : E.error) || (E == null ? void 0 : E.message), B)); } catch (E) { - B = C(E, B), (D = console.debug) == null || D.call(console, "[Majoor] Semantic search failed, falling back to FTS", E); + B = h(E, B), (H = console.debug) == null || H.call(console, "[Majoor] Semantic search failed, falling back to FTS", E); } } - const J = await t(e, R || "*", V); - return O && B && (Number((J == null ? void 0 : J.count) || 0) || 0) === 0 && y(B), J; - }, G = async (X = {}) => { - var O, B, J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe; + const J = await t(e, F || "*", Y); + return z && B && (Number((J == null ? void 0 : J.count) || 0) || 0) === 0 && y(B), J; + }, x = async (R = {}) => { + var z, B, J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue; + const Y = String(e.dataset.mjrViewScope || "").trim().toLowerCase(), F = String(c("viewScope", (a == null ? void 0 : a.viewScope) || "") || "").trim().toLowerCase(); + e.dataset.mjrScope = c("scope", "output"), e.dataset.mjrViewScope = F, e.dataset.mjrCustomRootId = c("customRootId", "") || ""; + const N = c("currentFolderRelativePath", "") || ""; + e.dataset.mjrSubfolder = N, e.dataset.mjrFilterKind = c("kindFilter", "") || "", e.dataset.mjrFilterWorkflowOnly = c("workflowOnly", !1) ? "1" : "0", e.dataset.mjrFilterMinRating = String(c("minRating", 0) || 0), e.dataset.mjrFilterMinSizeMB = String(c("minSizeMB", 0) || 0), e.dataset.mjrFilterMaxSizeMB = String(c("maxSizeMB", 0) || 0), e.dataset.mjrFilterResolutionCompare = String(c("resolutionCompare", "gte") || "gte"), e.dataset.mjrFilterMinWidth = String(c("minWidth", 0) || 0), e.dataset.mjrFilterMinHeight = String(c("minHeight", 0) || 0), e.dataset.mjrFilterMaxWidth = String(c("maxWidth", 0) || 0), e.dataset.mjrFilterMaxHeight = String(c("maxHeight", 0) || 0), e.dataset.mjrFilterWorkflowType = String(c("workflowType", "") || ""), e.dataset.mjrFilterDateRange = c("dateRangeFilter", "") || "", e.dataset.mjrFilterDateExact = c("dateExactFilter", "") || "", e.dataset.mjrSort = c("sort", "mtime_desc") || "mtime_desc", e.dataset.mjrCollectionId = c("collectionId", "") || "", e.dataset.mjrSemanticMode = b() ? "1" : "0"; try { e.dataset.mjrQuery = String((r == null ? void 0 : r()) ?? "*") || "*"; - } catch (H) { - (O = console.debug) == null || O.call(console, H); + } catch (U) { + (z = console.debug) == null || z.call(console, U); } - const V = String(e.dataset.mjrViewScope || "").trim().toLowerCase(), R = String(c("viewScope", (a == null ? void 0 : a.viewScope) || "") || "").trim().toLowerCase(); - e.dataset.mjrScope = c("scope", "output"), e.dataset.mjrViewScope = R, e.dataset.mjrCustomRootId = c("customRootId", "") || ""; - const j = c("currentFolderRelativePath", "") || ""; - e.dataset.mjrSubfolder = j, e.dataset.mjrFilterKind = c("kindFilter", "") || "", e.dataset.mjrFilterWorkflowOnly = c("workflowOnly", !1) ? "1" : "0", e.dataset.mjrFilterMinRating = String(c("minRating", 0) || 0), e.dataset.mjrFilterMinSizeMB = String(c("minSizeMB", 0) || 0), e.dataset.mjrFilterMaxSizeMB = String(c("maxSizeMB", 0) || 0), e.dataset.mjrFilterResolutionCompare = String(c("resolutionCompare", "gte") || "gte"), e.dataset.mjrFilterMinWidth = String(c("minWidth", 0) || 0), e.dataset.mjrFilterMinHeight = String(c("minHeight", 0) || 0), e.dataset.mjrFilterMaxWidth = String(c("maxWidth", 0) || 0), e.dataset.mjrFilterMaxHeight = String(c("maxHeight", 0) || 0), e.dataset.mjrFilterWorkflowType = String(c("workflowType", "") || ""), e.dataset.mjrFilterDateRange = c("dateRangeFilter", "") || "", e.dataset.mjrFilterDateExact = c("dateExactFilter", "") || "", e.dataset.mjrSort = c("sort", "mtime_desc") || "mtime_desc", e.dataset.mjrCollectionId = c("collectionId", "") || "", e.dataset.mjrGroupStacks = ye.EXECUTION_GROUPING_ENABLED && (c("scope", "output") === "output" || c("scope", "output") === "all") ? "1" : "0"; + e.dataset.mjrGroupStacks = fe.EXECUTION_GROUPING_ENABLED && (c("scope", "output") === "output" || c("scope", "output") === "all") ? "1" : "0"; try { - const H = Array.isArray(c("selectedAssetIds", [])) ? c("selectedAssetIds", []).filter(Boolean).map(String) : []; - H.length ? (e.dataset.mjrSelectedAssetIds = JSON.stringify(H), e.dataset.mjrSelectedAssetId = String( - c("activeAssetId", "") || H[0] || "" + const U = Array.isArray(c("selectedAssetIds", [])) ? c("selectedAssetIds", []).filter(Boolean).map(String) : []; + U.length ? (e.dataset.mjrSelectedAssetIds = JSON.stringify(U), e.dataset.mjrSelectedAssetId = String( + c("activeAssetId", "") || U[0] || "" )) : (delete e.dataset.mjrSelectedAssetIds, delete e.dataset.mjrSelectedAssetId); - } catch (H) { - (B = console.debug) == null || B.call(console, H); + } catch (U) { + (B = console.debug) == null || B.call(console, U); } if (c("scope", "output") === "custom" && !c("customRootId", "") && !c("currentFolderRelativePath", "")) { try { o(e); - } catch (H) { - (J = console.debug) == null || J.call(console, H); + } catch (U) { + (J = console.debug) == null || J.call(console, U); } s("currentFolderRelativePath", ""); } if (c("collectionId", "")) { - const H = await (i == null ? void 0 : i(c("collectionId", ""))); - if (H != null && H.ok && H.data && Array.isArray(H.data.assets)) { - const $ = c("collectionName", "") ? `Collection: ${c("collectionName", "")}` : "Collection", _ = await n(e, H.data.assets, { - title: $, + const U = await (i == null ? void 0 : i(c("collectionId", ""))); + if (U != null && U.ok && U.data && Array.isArray(U.data.assets)) { + const Q = c("collectionName", "") ? `Collection: ${c("collectionName", "")}` : "Collection", _ = await n(e, U.data.assets, { + title: Q, reset: !0 }); try { - s("lastGridCount", Number((_ == null ? void 0 : _.count) || 0) || 0), s("lastGridTotal", Number((_ == null ? void 0 : _.total) || 0) || 0), (T = e.dispatchEvent) == null || T.call( + s("lastGridCount", Number((_ == null ? void 0 : _.count) || 0) || 0), s("lastGridTotal", Number((_ == null ? void 0 : _.total) || 0) || 0), (P = e.dispatchEvent) == null || P.call( e, new CustomEvent("mjr:grid-stats", { detail: _ || {} }) ); } catch (le) { - (D = console.debug) == null || D.call(console, le); + (H = console.debug) == null || H.call(console, le); } return; } s("collectionId", ""), s("collectionName", ""); } - const L = R; - if (L === "similar") { - const H = Array.isArray(c("similarResults", [])) ? c("similarResults", []) : [], $ = Array.isArray(a == null ? void 0 : a.similarResults) ? a.similarResults : [], _ = H.length > 0 ? H : $, le = String( + const V = F; + if (V === "similar") { + const U = Array.isArray(c("similarResults", [])) ? c("similarResults", []) : [], Q = Array.isArray(a == null ? void 0 : a.similarResults) ? a.similarResults : [], _ = U.length > 0 ? U : Q, le = String( c("similarSourceAssetId", (a == null ? void 0 : a.similarSourceAssetId) || "") || "" - ).trim(), se = String( + ).trim(), de = String( c("similarTitle", (a == null ? void 0 : a.similarTitle) || "") || m("search.similarResults", "Similar to asset #{id} ({n} results)", { id: le || "?", n: _.length }) - ).trim(), de = await n(e, _, { - title: se || "Similar", + ).trim(), se = await n(e, _, { + title: de || "Similar", reset: !0, - ...X + ...R }); try { - s("lastGridCount", Number((de == null ? void 0 : de.count) || 0) || 0), s("lastGridTotal", Number((de == null ? void 0 : de.total) || 0) || 0), (Q = e.dispatchEvent) == null || Q.call( + s("lastGridCount", Number((se == null ? void 0 : se.count) || 0) || 0), s("lastGridTotal", Number((se == null ? void 0 : se.total) || 0) || 0), ($ = e.dispatchEvent) == null || $.call( e, - new CustomEvent("mjr:grid-stats", { detail: de || {} }) + new CustomEvent("mjr:grid-stats", { detail: se || {} }) ); - } catch (Ze) { - (E = console.debug) == null || E.call(console, Ze); + } catch (ge) { + (E = console.debug) == null || E.call(console, ge); } return; } - const N = V === "similar" && L !== "similar", q = await k(r(), { - ...X, - preserveVisibleUntilReady: X.preserveVisibleUntilReady ?? !N + const k = Y === "similar" && V !== "similar", K = await X(r(), { + ...R, + preserveVisibleUntilReady: R.preserveVisibleUntilReady ?? !k }); try { - const $ = !!((F = (K = window.MajoorMetrics) == null ? void 0 : K.hasTimer) != null && F.call(K, "searchQuery")) ? (U = (Y = window.MajoorMetrics) == null ? void 0 : Y.endTimer) == null ? void 0 : U.call(Y, "searchQuery", "searchQuery") : 0; - typeof $ == "number" && $ > 0 && ((ee = (P = window.MajoorMetrics) == null ? void 0 : P.trackSearchQuery) == null || ee.call(P, $)); - } catch (H) { - (oe = console.debug) == null || oe.call(console, H); + const Q = !!((M = (oe = window.MajoorMetrics) == null ? void 0 : oe.hasTimer) != null && M.call(oe, "searchQuery")) ? (O = (j = window.MajoorMetrics) == null ? void 0 : j.endTimer) == null ? void 0 : O.call(j, "searchQuery", "searchQuery") : 0; + typeof Q == "number" && Q > 0 && ((q = (D = window.MajoorMetrics) == null ? void 0 : D.trackSearchQuery) == null || q.call(D, Q)); + } catch (U) { + (ee = console.debug) == null || ee.call(console, U); } try { - s("lastGridCount", Number((q == null ? void 0 : q.count) || 0) || 0), s("lastGridTotal", Number((q == null ? void 0 : q.total) || 0) || 0), (ce = e.dispatchEvent) == null || ce.call( + s("lastGridCount", Number((K == null ? void 0 : K.count) || 0) || 0), s("lastGridTotal", Number((K == null ? void 0 : K.total) || 0) || 0), (ce = e.dispatchEvent) == null || ce.call( e, - new CustomEvent("mjr:grid-stats", { detail: q || {} }) + new CustomEvent("mjr:grid-stats", { detail: K || {} }) ); - } catch (H) { - (pe = console.debug) == null || pe.call(console, H); + } catch (U) { + (ue = console.debug) == null || ue.call(console, U); } }; - let z = null; - const x = async () => { - var X; + let T = null; + const v = async () => { + var R; if (u = !0, !d) { d = !0; try { for (; u; ) { - const V = { ...I || {} }; + const Y = { ...I || {} }; I = {}, u = !1; try { - const R = v() && (b() || String((r == null ? void 0 : r()) || "").length >= 12); + const F = L() && (b() || String((r == null ? void 0 : r()) || "").length >= 12); await f( - () => G(V), - R ? A : Z + () => x(Y), + F ? C : A ); - } catch (R) { + } catch (F) { try { - const j = Date.now(); - j - Number(p || 0) > 2e3 && (p = j, console.warn("[Majoor] Grid reload failed", R)); - } catch (j) { - (X = console.debug) == null || X.call(console, j); + const N = Date.now(); + N - Number(p || 0) > 2e3 && (p = N, console.warn("[Majoor] Grid reload failed", F)); + } catch (N) { + (R = console.debug) == null || R.call(console, N); } } } @@ -30748,13 +30794,13 @@ function NM({ } } }; - return { reloadGrid: (X = {}) => new Promise((V, R) => { - I = { ...I || {}, ...X || {} }, z && clearTimeout(z), z = setTimeout(() => { - z = null, x().then(V).catch(R); - }, h); + return { reloadGrid: (R = {}) => new Promise((Y, F) => { + I = { ...I || {}, ...R || {} }, T && clearTimeout(T), T = setTimeout(() => { + T = null, v().then(Y).catch(F); + }, Z); }) }; } -function RM({ +function zM({ state: e, gridContainer: t, folderBreadcrumb: n, @@ -30763,229 +30809,229 @@ function RM({ onContextChanged: r = null, lifecycleSignal: l = null } = {}) { - const { read: a, write: c } = no(e, [ + const { read: a, write: c } = oo(e, [ "scope", "customRootId", "currentFolderRelativePath" ]), s = [], d = (W) => String(W || "").trim().replaceAll("\\", "/"), u = (W) => /^[a-zA-Z]:$/.test(String(W || "").trim()), I = () => d(a("currentFolderRelativePath", "") || ""), p = (W, y) => { - const k = d(y); - !Array.isArray(W) || !k && k !== "" || (W.length ? d(W[W.length - 1]) : null) === k || W.push(k); - }, M = (W, y) => { - const k = d(y); + const X = d(y); + !Array.isArray(W) || !X && X !== "" || (W.length ? d(W[W.length - 1]) : null) === X || W.push(X); + }, S = (W, y) => { + const X = d(y); if (!Array.isArray(W)) return null; for (; W.length; ) { - const G = d(W.pop()); - if (G !== k) return G; + const x = d(W.pop()); + if (x !== X) return x; } return null; - }, Z = (W) => { - var k; + }, A = (W) => { + var X; const y = d(W); c("currentFolderRelativePath", y); try { t != null && t.dataset && (t.dataset.mjrSubfolder = y); - } catch (G) { - (k = console.debug) == null || k.call(console, G); + } catch (x) { + (X = console.debug) == null || X.call(console, x); } - }, A = (W) => { + }, C = (W) => { const y = d((W == null ? void 0 : W.subfolder) || ""); if (y) return y; - const k = d((W == null ? void 0 : W.filepath) || (W == null ? void 0 : W.path) || ""); - if (k) - return String((W == null ? void 0 : W.kind) || "").toLowerCase() === "folder" ? k : g(k) || k; - const G = d((W == null ? void 0 : W.filename) || ""); - if (!G) return I(); - const z = I(); - return z ? `${z}/${G}`.replace(/\/{2,}/g, "/") : G; + const X = d((W == null ? void 0 : W.filepath) || (W == null ? void 0 : W.path) || ""); + if (X) + return String((W == null ? void 0 : W.kind) || "").toLowerCase() === "folder" ? X : g(X) || X; + const x = d((W == null ? void 0 : W.filename) || ""); + if (!x) return I(); + const T = I(); + return T ? `${T}/${x}`.replace(/\/{2,}/g, "/") : x; }, g = (W) => { const y = d(W); if (!y) return ""; - const k = y.split("/").filter(Boolean); - return k.length ? k.length === 1 ? u(k[0]) ? `${k[0]}/` : "" : (k.pop(), k.length === 1 && u(k[0]) ? `${k[0]}/` : k.join("/")) : ""; - }, h = () => { + const X = y.split("/").filter(Boolean); + return X.length ? X.length === 1 ? u(X[0]) ? `${X[0]}/` : "" : (X.pop(), X.length === 1 && u(X[0]) ? `${X[0]}/` : X.join("/")) : ""; + }, Z = () => { var W, y; try { r == null || r(); - } catch (k) { - (W = console.debug) == null || W.call(console, k); + } catch (X) { + (W = console.debug) == null || W.call(console, X); } try { - C(); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + h(); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } }, f = () => { var W, y; try { t && typeof t.scrollTop == "number" && (t.scrollTop = 0); - } catch (k) { - (W = console.debug) == null || W.call(console, k); + } catch (X) { + (W = console.debug) == null || W.call(console, X); } try { - const k = (t == null ? void 0 : t.parentElement) || null; - k && typeof k.scrollTop == "number" && (k.scrollTop = 0); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + const X = (t == null ? void 0 : t.parentElement) || null; + X && typeof X.scrollTop == "number" && (X.scrollTop = 0); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } }, b = async (W, { pushHistory: y = !0 } = {}) => { - const k = I(), G = d(W); - k !== G && (y && p(s, k), Z(G), f(), h(), await (o == null ? void 0 : o())); - }, v = async () => { - c("customRootId", ""), Z(""), f(), h(), await (o == null ? void 0 : o()); - }, C = () => { - const W = String(a("scope", "") || "") === "custom", y = String(a("currentFolderRelativePath", "") || "").trim().replaceAll("\\", "/"), k = W || !!y, G = String(a("customRootId", "") || "").trim(), z = (() => { - var O; - if (!G) return ""; + const X = I(), x = d(W); + X !== x && (y && p(s, X), A(x), f(), Z(), await (o == null ? void 0 : o())); + }, L = async () => { + c("customRootId", ""), A(""), f(), Z(), await (o == null ? void 0 : o()); + }, h = () => { + const W = String(a("scope", "") || "") === "custom", y = String(a("currentFolderRelativePath", "") || "").trim().replaceAll("\\", "/"), X = W || !!y, x = String(a("customRootId", "") || "").trim(), T = (() => { + var z; + if (!x) return ""; try { - const B = ((O = i == null ? void 0 : i.selectedOptions) == null ? void 0 : O[0]) || null; + const B = ((z = i == null ? void 0 : i.selectedOptions) == null ? void 0 : z[0]) || null; return String((B == null ? void 0 : B.textContent) || "").trim(); } catch { return ""; } })(); - if (!k) { + if (!X) { s.length = 0, n.style.display = "none", n.replaceChildren(); return; } n.style.display = "flex", n.replaceChildren(); - const x = document.createElement("button"); - x.type = "button", x.textContent = m("btn.back", "Back"), x.className = "mjr-btn-link"; - const w = !!String(a("customRootId", "") || "").trim(), X = w && !y, V = !!y; - x.disabled = s.length === 0 && !X && !V, x.style.cssText = "background:rgba(122,162,255,0.12);border:1px solid rgba(122,162,255,0.35);border-radius:6px;padding:2px 8px;font:inherit;color:var(--mjr-accent, #7aa2ff);cursor:pointer;", x.addEventListener( + const v = document.createElement("button"); + v.type = "button", v.textContent = m("btn.back", "Back"), v.className = "mjr-btn-link"; + const w = !!String(a("customRootId", "") || "").trim(), R = w && !y, Y = !!y; + v.disabled = s.length === 0 && !R && !Y, v.style.cssText = "background:rgba(122,162,255,0.12);border:1px solid rgba(122,162,255,0.35);border-radius:6px;padding:2px 8px;font:inherit;color:var(--mjr-accent, #7aa2ff);cursor:pointer;", v.addEventListener( "click", async () => { - const O = M(s, I()); - if (O != null) { - await b(O, { pushHistory: !1 }); + const z = S(s, I()); + if (z != null) { + await b(z, { pushHistory: !1 }); return; } const B = I(); if (B) { const J = g(B); if (J === B) { - w && await v(); + w && await L(); return; } await b(J, { pushHistory: !1 }); return; } - X && await v(); + R && await L(); }, { signal: l || void 0 } - ), n.appendChild(x); - const R = document.createElement("button"); - R.type = "button", R.textContent = m("btn.up", "Up"), R.className = "mjr-btn-link", R.disabled = !y || g(I()) === I(), R.style.cssText = "background:rgba(122,162,255,0.10);border:1px solid rgba(122,162,255,0.30);border-radius:6px;padding:2px 8px;font:inherit;color:var(--mjr-accent, #7aa2ff);cursor:pointer;", R.addEventListener( + ), n.appendChild(v); + const F = document.createElement("button"); + F.type = "button", F.textContent = m("btn.up", "Up"), F.className = "mjr-btn-link", F.disabled = !y || g(I()) === I(), F.style.cssText = "background:rgba(122,162,255,0.10);border:1px solid rgba(122,162,255,0.30);border-radius:6px;padding:2px 8px;font:inherit;color:var(--mjr-accent, #7aa2ff);cursor:pointer;", F.addEventListener( "click", async () => { - const O = g(I()); - if (O === I()) { - w && await v(); + const z = g(I()); + if (z === I()) { + w && await L(); return; } - await b(O); + await b(z); }, { signal: l || void 0 } - ), n.appendChild(R); - const j = document.createElement("span"); - j.textContent = "|", j.style.opacity = "0.5", n.appendChild(j); - const L = (O, B, J = !1) => { - const T = document.createElement("button"); - return T.type = "button", T.textContent = O, T.className = "mjr-btn-link", T.style.cssText = `background:none;border:none;padding:0;color:${J ? "var(--mjr-text, inherit)" : "var(--mjr-accent, #7aa2ff)"};cursor:${J ? "default" : "pointer"};font:inherit;`, J ? T.disabled = !0 : T.addEventListener( + ), n.appendChild(F); + const N = document.createElement("span"); + N.textContent = "|", N.style.opacity = "0.5", n.appendChild(N); + const V = (z, B, J = !1) => { + const P = document.createElement("button"); + return P.type = "button", P.textContent = z, P.className = "mjr-btn-link", P.style.cssText = `background:none;border:none;padding:0;color:${J ? "var(--mjr-text, inherit)" : "var(--mjr-accent, #7aa2ff)"};cursor:${J ? "default" : "pointer"};font:inherit;`, J ? P.disabled = !0 : P.addEventListener( "click", async () => { - if (O === "Computer" && String(a("customRootId", "") || "").trim()) { - await v(); + if (z === "Computer" && String(a("customRootId", "") || "").trim()) { + await L(); return; } await b(B); }, { signal: l || void 0 } - ), T; + ), P; }; - if (n.appendChild(L(m("label.computer", "Computer"), "", !y)), G) { - const O = document.createElement("span"); - O.textContent = "/", O.style.opacity = "0.6", n.appendChild(O), n.appendChild(L(z || G, "", !y)); + if (n.appendChild(V(m("label.computer", "Computer"), "", !y)), x) { + const z = document.createElement("span"); + z.textContent = "/", z.style.opacity = "0.6", n.appendChild(z), n.appendChild(V(T || x, "", !y)); } if (!y) return; - const N = y.split("/").filter(Boolean); - let q = ""; - for (let O = 0; O < N.length; O++) { + const k = y.split("/").filter(Boolean); + let K = ""; + for (let z = 0; z < k.length; z++) { const B = document.createElement("span"); - B.textContent = "/", B.style.opacity = "0.6", n.appendChild(B), q ? q = `${q}/${N[O]}`.replace(/\/{2,}/g, "/") : q = u(N[O]) ? `${N[O]}/` : N[O], n.appendChild(L(N[O], q, O === N.length - 1)); + B.textContent = "/", B.style.opacity = "0.6", n.appendChild(B), K ? K = `${K}/${k[z]}`.replace(/\/{2,}/g, "/") : K = u(k[z]) ? `${k[z]}/` : k[z], n.appendChild(V(k[z], K, z === k.length - 1)); } }; return { - renderBreadcrumb: C, + renderBreadcrumb: h, resetHistory: () => { s.length = 0; }, bindGridFolderNavigation: () => { - var k, G, z; - const W = async (x) => { - var R, j; - const w = ((R = x == null ? void 0 : x.detail) == null ? void 0 : R.asset) || null, X = A(w || {}), V = I(); - if (X !== V) { - p(s, V), Z(X), f(), h(); + var X, x, T; + const W = async (v) => { + var F, N; + const w = ((F = v == null ? void 0 : v.detail) == null ? void 0 : F.asset) || null, R = C(w || {}), Y = I(); + if (R !== Y) { + p(s, Y), A(R), f(), Z(); try { await (o == null ? void 0 : o()); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } } - }, y = async (x) => { - var V, R; - const w = String(((V = x == null ? void 0 : x.detail) == null ? void 0 : V.subfolder) || "").trim().replaceAll("\\", "/"), X = I(); - if (w !== X) { - p(s, X), Z(w), f(), h(); + }, y = async (v) => { + var Y, F; + const w = String(((Y = v == null ? void 0 : v.detail) == null ? void 0 : Y.subfolder) || "").trim().replaceAll("\\", "/"), R = I(); + if (w !== R) { + p(s, R), A(w), f(), Z(); try { await (o == null ? void 0 : o()); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } } }; - (k = t == null ? void 0 : t.addEventListener) == null || k.call( + (X = t == null ? void 0 : t.addEventListener) == null || X.call( t, "mjr:custom-subfolder-changed", y, { signal: l || void 0 } - ), (G = t == null ? void 0 : t.addEventListener) == null || G.call(t, "mjr:open-folder-asset", W, { + ), (x = t == null ? void 0 : t.addEventListener) == null || x.call(t, "mjr:open-folder-asset", W, { signal: l || void 0 }); try { t._mjrHasCustomSubfolderHandler = !0; - } catch (x) { - (z = console.debug) == null || z.call(console, x); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } return () => { - var x, w, X, V, R; + var v, w, R, Y, F; try { - (x = t == null ? void 0 : t.removeEventListener) == null || x.call( + (v = t == null ? void 0 : t.removeEventListener) == null || v.call( t, "mjr:custom-subfolder-changed", y ); - } catch (j) { - (w = console.debug) == null || w.call(console, j); + } catch (N) { + (w = console.debug) == null || w.call(console, N); } try { - (X = t == null ? void 0 : t.removeEventListener) == null || X.call(t, "mjr:open-folder-asset", W); - } catch (j) { - (V = console.debug) == null || V.call(console, j); + (R = t == null ? void 0 : t.removeEventListener) == null || R.call(t, "mjr:open-folder-asset", W); + } catch (N) { + (Y = console.debug) == null || Y.call(console, N); } try { t._mjrHasCustomSubfolderHandler = !1; - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } }; }, - notifyContext: h + notifyContext: Z }; } -function FM({ +function JM({ state: e, tabButtons: t, customMenuBtn: n, @@ -30998,7 +31044,7 @@ function FM({ onBeforeReload: s = null }) { let d = 0; - const { panelStore: u, read: I, write: p, controllerState: M } = no(e, [ + const { panelStore: u, read: I, write: p, controllerState: S } = oo(e, [ "scope", "customRootId", "currentFolderRelativePath", @@ -31008,40 +31054,40 @@ function FM({ "similarResults", "similarTitle", "similarSourceAssetId" - ]), Z = ({ - viewScope: v = "", - similarResults: C = [], - similarTitle: S = "", + ]), A = ({ + viewScope: L = "", + similarResults: h = [], + similarTitle: G = "", similarSourceAssetId: W = "" } = {}) => { - p("viewScope", v), p("similarResults", C), p("similarTitle", S), p("similarSourceAssetId", W); - }, A = () => { + p("viewScope", L), p("similarResults", h), p("similarTitle", G), p("similarSourceAssetId", W); + }, C = () => { try { return !!(String(I("viewScope", "") || "").trim().toLowerCase() === "similar" || Array.isArray(I("similarResults", [])) && I("similarResults", []).length > 0 || String(I("similarTitle", "") || "").trim()); } catch { return !1; } }, g = () => { - Z(); - }, h = () => { - var S; - const v = Object.values(t || {}), C = String(I("viewScope", "") || I("scope", "output")).toLowerCase(); - v.forEach((W) => { - var G, z, x; - const k = ((G = W == null ? void 0 : W.dataset) == null ? void 0 : G.scope) === C; - (x = (z = W == null ? void 0 : W.classList) == null ? void 0 : z.toggle) == null || x.call(z, "is-active", k); + A(); + }, Z = () => { + var G; + const L = Object.values(t || {}), h = String(I("viewScope", "") || I("scope", "output")).toLowerCase(); + L.forEach((W) => { + var x, T, v; + const X = ((x = W == null ? void 0 : W.dataset) == null ? void 0 : x.scope) === h; + (v = (T = W == null ? void 0 : W.classList) == null ? void 0 : T.toggle) == null || v.call(T, "is-active", X); }); try { const W = t == null ? void 0 : t.tabSimilar; - W && (W.style.display = A() ? "" : "none"); + W && (W.style.display = C() ? "" : "none"); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } n.style.display = "none", i.style.display = "none", o.close(i); }; - return { setScope: async (v) => { - var k, G, z, x, w, X, V; - const C = ++d, S = /* @__PURE__ */ new Set([ + return { setScope: async (L) => { + var X, x, T, v, w, R, Y; + const h = ++d, G = /* @__PURE__ */ new Set([ "output", "outputs", "input", @@ -31049,70 +31095,70 @@ function FM({ "all", "custom", "similar" - ]), W = String(v || "").toLowerCase(); - if (!S.has(W)) return; + ]), W = String(L || "").toLowerCase(); + if (!G.has(W)) return; if (W === "similar") { - if (!A()) return; - p("viewScope", "similar"), h(); + if (!C()) return; + p("viewScope", "similar"), Z(); try { a == null || a(); - } catch (R) { - (k = console.debug) == null || k.call(console, R); + } catch (F) { + (X = console.debug) == null || X.call(console, F); } try { - await (s == null ? void 0 : s(M())); - } catch (R) { - (G = console.debug) == null || G.call(console, R); + await (s == null ? void 0 : s(S())); + } catch (F) { + (x = console.debug) == null || x.call(console, F); } await r(); return; } - p("collectionId", ""), p("collectionName", ""), g(); + p("collectionId", ""), p("collectionName", ""), p("searchQuery", ""), g(); const y = W === "outputs" ? "output" : W === "inputs" ? "input" : W; if (u != null && u.navigateToScope) try { u.navigateToScope(y, { folder: "" }); - } catch (R) { - (z = console.debug) == null || z.call(console, R), p("scope", y), p("currentFolderRelativePath", ""); + } catch (F) { + (T = console.debug) == null || T.call(console, F), p("scope", y), p("currentFolderRelativePath", ""); } else p("scope", y), p("currentFolderRelativePath", ""); - String(I("scope", y)) !== "custom" && p("customRootId", ""), h(); + String(I("scope", y)) !== "custom" && p("customRootId", ""), Z(); try { a == null || a(); - } catch (R) { - (x = console.debug) == null || x.call(console, R); + } catch (F) { + (v = console.debug) == null || v.call(console, F); } try { - await (c == null ? void 0 : c(M())); - } catch (R) { - (w = console.debug) == null || w.call(console, R); + await (c == null ? void 0 : c(S())); + } catch (F) { + (w = console.debug) == null || w.call(console, F); } - if (C === d) { + if (h === d) { try { - await (s == null ? void 0 : s(M())); - } catch (R) { - (X = console.debug) == null || X.call(console, R); + await (s == null ? void 0 : s(S())); + } catch (F) { + (R = console.debug) == null || R.call(console, F); } - if (C === d) { + if (h === d) { try { l == null || l(); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } await r(); } } - }, setActiveTabStyles: h, clearSimilarScope: async ({ reload: v = !0 } = {}) => { - var S; - const C = A(); - g(), h(); + }, setActiveTabStyles: Z, clearSimilarScope: async ({ reload: L = !0 } = {}) => { + var G; + const h = C(); + g(), p("searchQuery", ""), Z(); try { a == null || a(); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - !C || !v || await r(); + !h || !L || await r(); } }; } const Ln = (e, t) => { @@ -31123,7 +31169,7 @@ const Ln = (e, t) => { } catch (i) { (n = console.debug) == null || n.call(console, i); } -}, Cm = (e, t) => { +}, Am = (e, t) => { var n; if (e) try { @@ -31132,7 +31178,7 @@ const Ln = (e, t) => { (n = console.debug) == null || n.call(console, i); } }; -function OM({ +function TM({ state: e, gridContainer: t, filterBtn: n, @@ -31147,19 +31193,19 @@ function OM({ maxSizeInput: u, minWidthInput: I, minHeightInput: p, - maxWidthInput: M, - maxHeightInput: Z, - resolutionPresetSelect: A, + maxWidthInput: S, + maxHeightInput: A, + resolutionPresetSelect: C, dateRangeSelect: g, - dateExactInput: h, + dateExactInput: Z, scopeController: f, sortController: b, - updateSummaryBar: v, - reloadGrid: C, - extraActions: S = null, + updateSummaryBar: L, + reloadGrid: h, + extraActions: G = null, getExtraContext: W = null } = {}) { - const y = e && typeof e == "object" ? e : {}, { read: k, write: G, controllerState: z } = no(e, [ + const y = e && typeof e == "object" ? e : {}, { read: X, write: x, controllerState: T } = oo(e, [ "searchQuery", "scope", "collectionId", @@ -31185,302 +31231,302 @@ function OM({ "similarResults", "similarTitle", "similarSourceAssetId" - ]), x = (N, q) => { - G(N, q); - }, w = (N, q = "") => k(N, q), X = () => ({ + ]), v = (k, K) => { + x(k, K); + }, w = (k, K = "") => X(k, K), R = () => ({ ...y || {}, - ...(z == null ? void 0 : z()) || {}, + ...(T == null ? void 0 : T()) || {}, customRootLabel: w("customRootLabel", "") - }), V = () => { - var N, q; + }), Y = () => { + var k, K; try { - (N = S == null ? void 0 : S.resetBrowserHistory) == null || N.call(S); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + (k = G == null ? void 0 : G.resetBrowserHistory) == null || k.call(G); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } - }, R = () => { - var N, q, O, B; + }, F = () => { + var k, K, z, B; try { - const J = ((N = t == null ? void 0 : t.closest) == null ? void 0 : N.call(t, ".mjr-assets-manager")) || ((q = document.querySelector) == null ? void 0 : q.call(document, ".mjr-assets-manager")) || document.documentElement; - if (!((O = J == null ? void 0 : J.style) != null && O.setProperty)) return; + const J = ((k = t == null ? void 0 : t.closest) == null ? void 0 : k.call(t, ".mjr-assets-manager")) || ((K = document.querySelector) == null ? void 0 : K.call(document, ".mjr-assets-manager")) || document.documentElement; + if (!((z = J == null ? void 0 : J.style) != null && z.setProperty)) return; J.style.setProperty( "--mjr-star-active", - String(ye.BADGE_STAR_COLOR || "#FFD45A") + String(fe.BADGE_STAR_COLOR || "#FFD45A") ), J.style.setProperty( "--mjr-badge-image", - String(ye.BADGE_IMAGE_COLOR || "#2196F3") + String(fe.BADGE_IMAGE_COLOR || "#2196F3") ), J.style.setProperty( "--mjr-badge-video", - String(ye.BADGE_VIDEO_COLOR || "#9C27B0") + String(fe.BADGE_VIDEO_COLOR || "#9C27B0") ), J.style.setProperty( "--mjr-badge-audio", - String(ye.BADGE_AUDIO_COLOR || "#FF9800") + String(fe.BADGE_AUDIO_COLOR || "#FF9800") ), J.style.setProperty( "--mjr-badge-model3d", - String(ye.BADGE_MODEL3D_COLOR || "#4CAF50") + String(fe.BADGE_MODEL3D_COLOR || "#4CAF50") ), J.style.setProperty( "--mjr-badge-duplicate-alert", - String(ye.BADGE_DUPLICATE_ALERT_COLOR || "#FF1744") + String(fe.BADGE_DUPLICATE_ALERT_COLOR || "#FF1744") ); } catch (J) { (B = console.debug) == null || B.call(console, J); } - }, j = { + }, N = { clearQuery: async () => { - var N, q; + var k, K; try { - Ln(r, ""), x("searchQuery", ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + Ln(r, ""), v("searchQuery", ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearCollection: async () => { - var N, q; + var k, K; try { - x("collectionId", ""), x("collectionName", ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("collectionId", ""), v("collectionName", ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearScope: async () => { - var q, O, B, J, T; + var K, z, B, J, P; try { - if (String((e == null ? void 0 : e.viewScope) || "").trim().toLowerCase() === "similar" && typeof (S == null ? void 0 : S.clearSimilarScope) == "function") { - await S.clearSimilarScope(); + if (String((e == null ? void 0 : e.viewScope) || "").trim().toLowerCase() === "similar" && typeof (G == null ? void 0 : G.clearSimilarScope) == "function") { + await G.clearSimilarScope(); return; } - } catch (D) { - (q = console.debug) == null || q.call(console, D); + } catch (H) { + (K = console.debug) == null || K.call(console, H); } - let N = !1; + let k = !1; try { - x("customRootId", ""), x("customRootLabel", ""), x("currentFolderRelativePath", ""), (O = t == null ? void 0 : t.dataset) == null || delete O.mjrSubfolder, V(), typeof (f == null ? void 0 : f.setScope) == "function" ? (await f.setScope("output"), N = !0) : (x("scope", "output"), (B = f == null ? void 0 : f.setActiveTabStyles) == null || B.call(f)); - } catch (D) { - (J = console.debug) == null || J.call(console, D); + v("customRootId", ""), v("customRootLabel", ""), v("currentFolderRelativePath", ""), (z = t == null ? void 0 : t.dataset) == null || delete z.mjrSubfolder, Y(), typeof (f == null ? void 0 : f.setScope) == "function" ? (await f.setScope("output"), k = !0) : (v("scope", "output"), (B = f == null ? void 0 : f.setActiveTabStyles) == null || B.call(f)); + } catch (H) { + (J = console.debug) == null || J.call(console, H); } try { - N || await (C == null ? void 0 : C()); - } catch (D) { - (T = console.debug) == null || T.call(console, D); + k || await (h == null ? void 0 : h()); + } catch (H) { + (P = console.debug) == null || P.call(console, H); } }, clearCustomRoot: async () => { - var N, q, O; + var k, K, z; try { - x("customRootId", ""), x("customRootLabel", ""), x("currentFolderRelativePath", ""), (N = t == null ? void 0 : t.dataset) == null || delete N.mjrSubfolder, V(); + v("customRootId", ""), v("customRootLabel", ""), v("currentFolderRelativePath", ""), (k = t == null ? void 0 : t.dataset) == null || delete k.mjrSubfolder, Y(); } catch (B) { - (q = console.debug) == null || q.call(console, B); + (K = console.debug) == null || K.call(console, B); } try { - await (C == null ? void 0 : C()); + await (h == null ? void 0 : h()); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } }, clearFolder: async () => { - var N, q, O; + var k, K, z; try { - x("currentFolderRelativePath", ""), (N = t == null ? void 0 : t.dataset) == null || delete N.mjrSubfolder, V(); + v("currentFolderRelativePath", ""), (k = t == null ? void 0 : t.dataset) == null || delete k.mjrSubfolder, Y(); } catch (B) { - (q = console.debug) == null || q.call(console, B); + (K = console.debug) == null || K.call(console, B); } try { - await (C == null ? void 0 : C()); + await (h == null ? void 0 : h()); } catch (B) { - (O = console.debug) == null || O.call(console, B); + (z = console.debug) == null || z.call(console, B); } }, clearKind: async () => { - var N, q; + var k, K; try { - x("kindFilter", ""), Ln(l, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("kindFilter", ""), Ln(l, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearMinRating: async () => { - var N, q; + var k, K; try { - x("minRating", 0), Ln(s, "0"); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("minRating", 0), Ln(s, "0"); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearWorkflowOnly: async () => { - var N, q; + var k, K; try { - x("workflowOnly", !1), Cm(a, !1); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("workflowOnly", !1), Am(a, !1); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearWorkflowType: async () => { - var N, q; + var k, K; try { - x("workflowType", ""), Ln(c, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("workflowType", ""), Ln(c, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearSize: async () => { - var N, q; + var k, K; try { - x("minSizeMB", 0), x("maxSizeMB", 0), Ln(d, ""), Ln(u, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("minSizeMB", 0), v("maxSizeMB", 0), Ln(d, ""), Ln(u, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearResolution: async () => { - var N, q; + var k, K; try { - x("minWidth", 0), x("minHeight", 0), x("maxWidth", 0), x("maxHeight", 0), Ln(I, ""), Ln(p, ""), Ln(M, ""), Ln(Z, ""), Ln(A, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("minWidth", 0), v("minHeight", 0), v("maxWidth", 0), v("maxHeight", 0), Ln(I, ""), Ln(p, ""), Ln(S, ""), Ln(A, ""), Ln(C, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearDateRange: async () => { - var N, q; + var k, K; try { - x("dateRangeFilter", ""), Ln(g, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("dateRangeFilter", ""), Ln(g, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearDateExact: async () => { - var N, q; + var k, K; try { - x("dateExactFilter", ""), Ln(h, ""); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + v("dateExactFilter", ""), Ln(Z, ""); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { - await (C == null ? void 0 : C()); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + await (h == null ? void 0 : h()); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }, clearSort: async () => { - var N, q, O, B; + var k, K, z, B; try { - x("sort", "mtime_desc"), (N = b == null ? void 0 : b.setSortIcon) == null || N.call(b, w("sort", "mtime_desc")), (q = b == null ? void 0 : b.renderSortMenu) == null || q.call(b); + v("sort", "mtime_desc"), (k = b == null ? void 0 : b.setSortIcon) == null || k.call(b, w("sort", "mtime_desc")), (K = b == null ? void 0 : b.renderSortMenu) == null || K.call(b); } catch (J) { - (O = console.debug) == null || O.call(console, J); + (z = console.debug) == null || z.call(console, J); } try { - await (C == null ? void 0 : C()); + await (h == null ? void 0 : h()); } catch (J) { (B = console.debug) == null || B.call(console, J); } }, clearAll: async () => { - var q, O, B, J, T, D, Q, E, K, F, Y; - let N = !1; + var K, z, B, J, P, H, $, E, oe, M, j; + let k = !1; try { Ln(r, ""); - } catch (U) { - (q = console.debug) == null || q.call(console, U); + } catch (O) { + (K = console.debug) == null || K.call(console, O); } try { - x("collectionId", ""), x("collectionName", ""), x("kindFilter", ""), x("workflowOnly", !1), x("minRating", 0), x("minSizeMB", 0), x("maxSizeMB", 0), x("minWidth", 0), x("minHeight", 0), x("maxWidth", 0), x("maxHeight", 0), x("resolutionCompare", "gte"), x("workflowType", ""), x("dateRangeFilter", ""), x("dateExactFilter", ""), x("sort", "mtime_desc"), x("customRootId", ""), x("customRootLabel", ""), x("currentFolderRelativePath", ""), (O = t == null ? void 0 : t.dataset) == null || delete O.mjrSubfolder, V(); + v("collectionId", ""), v("collectionName", ""), v("kindFilter", ""), v("workflowOnly", !1), v("minRating", 0), v("minSizeMB", 0), v("maxSizeMB", 0), v("minWidth", 0), v("minHeight", 0), v("maxWidth", 0), v("maxHeight", 0), v("resolutionCompare", "gte"), v("workflowType", ""), v("dateRangeFilter", ""), v("dateExactFilter", ""), v("sort", "mtime_desc"), v("customRootId", ""), v("customRootLabel", ""), v("currentFolderRelativePath", ""), (z = t == null ? void 0 : t.dataset) == null || delete z.mjrSubfolder, Y(); try { - await ((B = S == null ? void 0 : S.clearTransientContext) == null ? void 0 : B.call(S)); - } catch (U) { - (J = console.debug) == null || J.call(console, U); + await ((B = G == null ? void 0 : G.clearTransientContext) == null ? void 0 : B.call(G)); + } catch (O) { + (J = console.debug) == null || J.call(console, O); } - typeof (f == null ? void 0 : f.setScope) == "function" ? (await f.setScope("output"), N = !0) : (x("scope", "output"), (T = f == null ? void 0 : f.setActiveTabStyles) == null || T.call(f)); - } catch (U) { - (D = console.debug) == null || D.call(console, U); + typeof (f == null ? void 0 : f.setScope) == "function" ? (await f.setScope("output"), k = !0) : (v("scope", "output"), (P = f == null ? void 0 : f.setActiveTabStyles) == null || P.call(f)); + } catch (O) { + (H = console.debug) == null || H.call(console, O); } try { - Ln(l, ""), Cm(a, !1), Ln(c, ""), Ln(s, "0"), Ln(d, ""), Ln(u, ""), Ln(I, ""), Ln(p, ""), Ln(M, ""), Ln(Z, ""), Ln(A, ""), Ln(g, ""), Ln(h, ""); - } catch (U) { - (Q = console.debug) == null || Q.call(console, U); + Ln(l, ""), Am(a, !1), Ln(c, ""), Ln(s, "0"), Ln(d, ""), Ln(u, ""), Ln(I, ""), Ln(p, ""), Ln(S, ""), Ln(A, ""), Ln(C, ""), Ln(g, ""), Ln(Z, ""); + } catch (O) { + ($ = console.debug) == null || $.call(console, O); } try { - (E = b == null ? void 0 : b.setSortIcon) == null || E.call(b, w("sort", "mtime_desc")), (K = b == null ? void 0 : b.renderSortMenu) == null || K.call(b); - } catch (U) { - (F = console.debug) == null || F.call(console, U); + (E = b == null ? void 0 : b.setSortIcon) == null || E.call(b, w("sort", "mtime_desc")), (oe = b == null ? void 0 : b.renderSortMenu) == null || oe.call(b); + } catch (O) { + (M = console.debug) == null || M.call(console, O); } try { - N || await (C == null ? void 0 : C()); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + k || await (h == null ? void 0 : h()); + } catch (O) { + (j = console.debug) == null || j.call(console, O); } } }; - if (S && typeof S == "object") { - const N = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]); - for (const [q, O] of Object.entries(S)) - N.has(String(q)) || (j[q] = O); + if (G && typeof G == "object") { + const k = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]); + for (const [K, z] of Object.entries(G)) + k.has(String(K)) || (N[K] = z); } return { update: () => { - var D, Q, E, K, F, Y, U, P; - const N = String((r == null ? void 0 : r.value) || "").trim(), q = ys(r), O = X(), B = !!(w("kindFilter", "") || w("workflowOnly", !1) || (Number(w("minRating", 0) || 0) || 0) > 0 || (Number(w("minSizeMB", 0) || 0) || 0) > 0 || (Number(w("maxSizeMB", 0) || 0) || 0) > 0 || (Number(w("minWidth", 0) || 0) || 0) > 0 || (Number(w("minHeight", 0) || 0) || 0) > 0 || (Number(w("maxWidth", 0) || 0) || 0) > 0 || (Number(w("maxHeight", 0) || 0) || 0) > 0 || String(w("workflowType", "") || "").trim().length > 0 || w("dateRangeFilter", "") || w("dateExactFilter", "")), J = String(w("sort", "mtime_desc") || "mtime_desc") !== "mtime_desc", T = !!w("collectionId", ""); + var H, $, E, oe, M, j, O, D; + const k = String((r == null ? void 0 : r.value) || "").trim(), K = hs(r), z = R(), B = !!(w("kindFilter", "") || w("workflowOnly", !1) || (Number(w("minRating", 0) || 0) || 0) > 0 || (Number(w("minSizeMB", 0) || 0) || 0) > 0 || (Number(w("maxSizeMB", 0) || 0) || 0) > 0 || (Number(w("minWidth", 0) || 0) || 0) > 0 || (Number(w("minHeight", 0) || 0) || 0) > 0 || (Number(w("maxWidth", 0) || 0) || 0) > 0 || (Number(w("maxHeight", 0) || 0) || 0) > 0 || String(w("workflowType", "") || "").trim().length > 0 || w("dateRangeFilter", "") || w("dateExactFilter", "")), J = String(w("sort", "mtime_desc") || "mtime_desc") !== "mtime_desc", P = !!w("collectionId", ""); try { - (Q = (D = n == null ? void 0 : n.classList) == null ? void 0 : D.toggle) == null || Q.call(D, "mjr-context-active", B), (K = (E = i == null ? void 0 : i.classList) == null ? void 0 : E.toggle) == null || K.call(E, "mjr-context-active", J), (Y = (F = o == null ? void 0 : o.classList) == null ? void 0 : F.toggle) == null || Y.call(F, "mjr-context-active", T); - } catch (ee) { - (U = console.debug) == null || U.call(console, ee); + ($ = (H = n == null ? void 0 : n.classList) == null ? void 0 : H.toggle) == null || $.call(H, "mjr-context-active", B), (oe = (E = i == null ? void 0 : i.classList) == null ? void 0 : E.toggle) == null || oe.call(E, "mjr-context-active", J), (j = (M = o == null ? void 0 : o.classList) == null ? void 0 : M.toggle) == null || j.call(M, "mjr-context-active", P); + } catch (q) { + (O = console.debug) == null || O.call(console, q); } try { - const ee = (typeof W == "function" ? W() || {} : {}) || {}; - v == null || v({ - state: O, + const q = (typeof W == "function" ? W() || {} : {}) || {}; + L == null || L({ + state: z, gridContainer: t, - context: { rawQuery: N || q, ...ee }, - actions: j + context: { rawQuery: k || K, ...q }, + actions: N }); - } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + } catch (q) { + (D = console.debug) == null || D.call(console, q); } - R(); - }, actions: j }; + F(); + }, actions: N }; } -function zM({ +function BM({ state: e, customSelect: t, customRemoveBtn: n, @@ -31493,60 +31539,60 @@ function zM({ reloadGrid: s, onRootChanged: d = null }) { - const u = e && typeof e == "object" ? e : {}, { read: I, write: p } = no(e, [ + const u = e && typeof e == "object" ? e : {}, { read: I, write: p } = oo(e, [ "customRootId", "customRootLabel", "currentFolderRelativePath" - ]), M = (g) => { + ]), S = (g) => { p("customRootLabel", String(g || "")); - }, Z = async (g = null) => { + }, A = async (g = null) => { var b; - const h = ((b = t.querySelector('option[value=""]')) == null ? void 0 : b.textContent) || m("label.selectFolder", "Select folder…"); + const Z = ((b = t.querySelector('option[value=""]')) == null ? void 0 : b.textContent) || m("label.selectFolder", "Select folder…"); t.innerHTML = ""; const f = document.createElement("option"); f.value = "", f.textContent = m("msg.loading"), f.disabled = !0, t.appendChild(f), t.disabled = !0; try { - const v = await l(c.CUSTOM_ROOTS), C = v && v.ok && Array.isArray(v.data) ? v.data : []; + const L = await l(c.CUSTOM_ROOTS), h = L && L.ok && Array.isArray(L.data) ? L.data : []; t.innerHTML = ""; - const S = document.createElement("option"); - S.value = "", S.textContent = h, t.appendChild(S), C.forEach((y) => { - const k = document.createElement("option"); - k.value = y.id, k.textContent = y.name || y.path || y.id, t.appendChild(k); + const G = document.createElement("option"); + G.value = "", G.textContent = Z, t.appendChild(G), h.forEach((y) => { + const X = document.createElement("option"); + X.value = y.id, X.textContent = y.name || y.path || y.id, t.appendChild(X); }); const W = g || I("customRootId", ""); - if (W && C.some((y) => y.id === W)) { + if (W && h.some((y) => y.id === W)) { t.value = W, p("customRootId", W); try { const y = t.options[t.selectedIndex]; - M(String((y == null ? void 0 : y.text) || "").trim()); + S(String((y == null ? void 0 : y.text) || "").trim()); } catch { - M(""); + S(""); } } else - t.value = "", p("customRootId", ""), M(""); + t.value = "", p("customRootId", ""), S(""); n.disabled = !I("customRootId", ""); - } catch (v) { - console.warn("Majoor: failed to load custom roots", v), t.innerHTML = ""; - const C = document.createElement("option"); - C.value = "", C.textContent = m("msg.errorLoadingFolders"), C.disabled = !0, t.appendChild(C); + } catch (L) { + console.warn("Majoor: failed to load custom roots", L), t.innerHTML = ""; + const h = document.createElement("option"); + h.value = "", h.textContent = m("msg.errorLoadingFolders"), h.disabled = !0, t.appendChild(h); } finally { t.disabled = !1; } }; - return { refreshCustomRoots: Z, bind: ({ customAddBtn: g, customRemoveBtn: h }) => { - const f = [], b = (W, y, k) => { - if (!(!(W != null && W.addEventListener) || typeof k != "function")) { + return { refreshCustomRoots: A, bind: ({ customAddBtn: g, customRemoveBtn: Z }) => { + const f = [], b = (W, y, X) => { + if (!(!(W != null && W.addEventListener) || typeof X != "function")) { try { - W.addEventListener(y, k); + W.addEventListener(y, X); } catch { return; } f.push(() => { - var G; + var x; try { - W.removeEventListener(y, k); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + W.removeEventListener(y, X); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } }); } @@ -31557,11 +31603,11 @@ function zM({ p("customRootId", t.value || ""); try { const y = t.options[t.selectedIndex]; - M(String((y == null ? void 0 : y.text) || "").trim()); + S(String((y == null ? void 0 : y.text) || "").trim()); } catch { - M(""); + S(""); } - p("currentFolderRelativePath", ""), h.disabled = !I("customRootId", ""); + p("currentFolderRelativePath", ""), Z.disabled = !I("customRootId", ""); try { await (d == null ? void 0 : d(u)); } catch (y) { @@ -31570,45 +31616,45 @@ function zM({ await s(); } }), g && (g.disabled = !1, g.title = m("btn.add", "Add")), b(g, "click", async () => { - var z, x, w, X; + var T, v, w, R; let W = ""; try { - const V = await a(c.BROWSE_FOLDER, {}); - V != null && V.ok && (W = String(((z = V == null ? void 0 : V.data) == null ? void 0 : z.path) || "").trim()); - } catch (V) { - (x = console.debug) == null || x.call(console, V); + const Y = await a(c.BROWSE_FOLDER, {}); + Y != null && Y.ok && (W = String(((T = Y == null ? void 0 : Y.data) == null ? void 0 : T.path) || "").trim()); + } catch (Y) { + (v = console.debug) == null || v.call(console, Y); } if (!W) { - const V = await o( + const Y = await o( m("dialog.enterFolderPath", "Enter folder path"), "" ); - W = String(V || "").trim(); + W = String(Y || "").trim(); } if (!W) return; const y = await o( m("dialog.folderLabelOptional", "Folder label (optional)"), "" - ), k = await a(c.CUSTOM_ROOTS, { + ), X = await a(c.CUSTOM_ROOTS, { path: W, label: String(y || "").trim() || void 0 }); - if (!(k != null && k.ok)) { + if (!(X != null && X.ok)) { r( - (k == null ? void 0 : k.error) || m("toast.failedAddFolder", "Failed to add browser folder"), + (X == null ? void 0 : X.error) || m("toast.failedAddFolder", "Failed to add browser folder"), "error" ); return; } - const G = String(((w = k == null ? void 0 : k.data) == null ? void 0 : w.id) || "").trim() || null; - await Z(G); + const x = String(((w = X == null ? void 0 : X.data) == null ? void 0 : w.id) || "").trim() || null; + await A(x); try { await (d == null ? void 0 : d(e)); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } await s(), r(m("toast.folderAdded", "Folder added"), "success"); - }), b(h, "click", async () => { + }), b(Z, "click", async () => { if (!I("customRootId", "")) return; const W = t.options[t.selectedIndex], y = W ? W.text : m("label.thisFolder", "this folder"); if (await i( @@ -31617,21 +31663,21 @@ function zM({ }), m("dialog.customFoldersTitle", "Majoor: Browser Folders") )) { - h.disabled = !0, h.textContent = m("btn.removing"); + Z.disabled = !0, Z.textContent = m("btn.removing"); try { - const G = await a(c.CUSTOM_ROOTS_REMOVE, { + const x = await a(c.CUSTOM_ROOTS_REMOVE, { id: I("customRootId", "") }); - if (!(G != null && G.ok)) { + if (!(x != null && x.ok)) { r( - (G == null ? void 0 : G.error) || m("toast.failedRemoveFolder", "Failed to remove browser folder"), + (x == null ? void 0 : x.error) || m("toast.failedRemoveFolder", "Failed to remove browser folder"), "error" ); return; } - r(m("toast.folderRemoved", "Folder removed"), "success"), p("customRootId", ""), M(""), p("currentFolderRelativePath", ""), await Z(), await s(); - } catch (G) { - console.warn("Majoor: remove custom root failed", G), r( + r(m("toast.folderRemoved", "Folder removed"), "success"), p("customRootId", ""), S(""), p("currentFolderRelativePath", ""), await A(), await s(); + } catch (x) { + console.warn("Majoor: remove custom root failed", x), r( m( "toast.errorRemovingFolder", "An error occurred while removing the browser folder" @@ -31639,7 +31685,7 @@ function zM({ "error" ); } finally { - h.disabled = !I("customRootId", ""), h.textContent = m("btn.remove"); + Z.disabled = !I("customRootId", ""), Z.textContent = m("btn.remove"); } } }), () => { @@ -31647,13 +31693,13 @@ function zM({ for (const y of f.splice(0)) try { y(); - } catch (k) { - (W = console.debug) == null || W.call(console, k); + } catch (X) { + (W = console.debug) == null || W.call(console, X); } }; } }; } -function JM({ +function UM({ state: e, sortBtn: t, sortMenu: n, @@ -31662,7 +31708,7 @@ function JM({ reloadGrid: r, onChanged: l = null }) { - const { read: a, write: c } = no(e, ["sort"]), s = () => [ + const { read: a, write: c } = oo(e, ["sort"]), s = () => [ { key: "mtime_desc", label: m("sort.newest") }, { key: "mtime_asc", label: m("sort.oldest") }, { key: "name_asc", label: m("sort.nameAZ") }, @@ -31671,14 +31717,14 @@ function JM({ { key: "size_desc", label: m("sort.sizeDesc") }, { key: "size_asc", label: m("sort.sizeAsc") } ], d = (p) => { - const M = t.querySelector("i"); - M && (p === "name_asc" ? M.className = "pi pi-sort-alpha-down" : p === "name_desc" ? M.className = "pi pi-sort-alpha-up" : p === "mtime_asc" ? M.className = "pi pi-sort-amount-up-alt" : p === "rating_desc" ? M.className = "pi pi-star-fill" : p === "size_desc" ? M.className = "pi pi-sort-numeric-down-alt" : p === "size_asc" ? M.className = "pi pi-sort-numeric-up-alt" : M.className = "pi pi-sort-amount-down"); + const S = t.querySelector("i"); + S && (p === "name_asc" ? S.className = "pi pi-sort-alpha-down" : p === "name_desc" ? S.className = "pi pi-sort-alpha-up" : p === "mtime_asc" ? S.className = "pi pi-sort-amount-up-alt" : p === "rating_desc" ? S.className = "pi pi-star-fill" : p === "size_desc" ? S.className = "pi pi-sort-numeric-down-alt" : p === "size_asc" ? S.className = "pi pi-sort-numeric-up-alt" : S.className = "pi pi-sort-amount-down"); }, u = () => { n.replaceChildren(); const p = s(); - for (const M of p) { - const Z = M.key === a("sort", "mtime_desc"), A = document.createElement("button"); - A.type = "button", A.className = "mjr-menu-item", A.style.cssText = ` + for (const S of p) { + const A = S.key === a("sort", "mtime_desc"), C = document.createElement("button"); + C.type = "button", C.className = "mjr-menu-item", C.style.cssText = ` display:flex; align-items:center; justify-content:space-between; @@ -31686,138 +31732,138 @@ function JM({ gap:10px; padding:9px 10px; border-radius:9px; - border:1px solid ${Z ? "rgba(120,190,255,0.68)" : "rgba(120,190,255,0.18)"}; - background:${Z ? "linear-gradient(135deg, rgba(70,130,255,0.28), rgba(20,95,185,0.22))" : "linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))"}; - box-shadow:${Z ? "0 0 0 1px rgba(160,210,255,0.22) inset, 0 8px 18px rgba(35,95,185,0.26)" : "none"}; + border:1px solid ${A ? "rgba(120,190,255,0.68)" : "rgba(120,190,255,0.18)"}; + background:${A ? "linear-gradient(135deg, rgba(70,130,255,0.28), rgba(20,95,185,0.22))" : "linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))"}; + box-shadow:${A ? "0 0 0 1px rgba(160,210,255,0.22) inset, 0 8px 18px rgba(35,95,185,0.26)" : "none"}; transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease; `; const g = document.createElement("span"); - g.className = "mjr-menu-item-label", g.textContent = M.label, g.style.cssText = `font-weight:${Z ? "700" : "600"}; color:${Z ? "rgba(208,234,255,0.98)" : "var(--fg-color, #e6edf7)"};`; - const h = document.createElement("i"); - h.className = "pi pi-check mjr-menu-item-check", h.style.cssText = `opacity:${Z ? "1" : "0"}; color: rgba(133,203,255,0.98);`, A.appendChild(g), A.appendChild(h), A.addEventListener("mouseenter", () => { - Z || (A.style.borderColor = "rgba(145,205,255,0.4)", A.style.background = "linear-gradient(135deg, rgba(80,140,255,0.18), rgba(32,100,200,0.14))"); - }), A.addEventListener("mouseleave", () => { - Z || (A.style.borderColor = "rgba(120,190,255,0.18)", A.style.background = "linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))"); - }), A.addEventListener("click", async () => { + g.className = "mjr-menu-item-label", g.textContent = S.label, g.style.cssText = `font-weight:${A ? "700" : "600"}; color:${A ? "rgba(208,234,255,0.98)" : "var(--fg-color, #e6edf7)"};`; + const Z = document.createElement("i"); + Z.className = "pi pi-check mjr-menu-item-check", Z.style.cssText = `opacity:${A ? "1" : "0"}; color: rgba(133,203,255,0.98);`, C.appendChild(g), C.appendChild(Z), C.addEventListener("mouseenter", () => { + A || (C.style.borderColor = "rgba(145,205,255,0.4)", C.style.background = "linear-gradient(135deg, rgba(80,140,255,0.18), rgba(32,100,200,0.14))"); + }), C.addEventListener("mouseleave", () => { + A || (C.style.borderColor = "rgba(120,190,255,0.18)", C.style.background = "linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))"); + }), C.addEventListener("click", async () => { var f; - c("sort", M.key), d(a("sort", "mtime_desc")), u(); + c("sort", S.key), d(a("sort", "mtime_desc")), u(); try { l == null || l(); } catch (b) { (f = console.debug) == null || f.call(console, b); } i.style.display = "none", o.close(i), await r(); - }), n.appendChild(A); + }), n.appendChild(C); } }; return { bind: ({ onBeforeToggle: p } = {}) => { - d(a("sort", "mtime_desc")), u(), t.addEventListener("click", (M) => { - var Z; - M.stopPropagation(); + d(a("sort", "mtime_desc")), u(), t.addEventListener("click", (S) => { + var A; + S.stopPropagation(); try { p == null || p(); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } u(), o.toggle(i, t); }); }, renderSortMenu: u, setSortIcon: d }; } -const Zm = "_mjrRescanning", TM = 1500, BM = (e) => /^\d+$/.test(String(e ?? "").trim()); -async function UM({ card: e, asset: t, sidebar: n, onAssetUpdated: i }) { - var d, u, I, p, M, Z, A, g, h, f, b, v; +const Wm = "_mjrRescanning", KM = 1500, DM = (e) => /^\d+$/.test(String(e ?? "").trim()); +async function EM({ card: e, asset: t, sidebar: n, onAssetUpdated: i }) { + var d, u, I, p, S, A, C, g, Z, f, b, L; if (!e || !t || globalThis._mjrMaintenanceActive) return; try { - const C = Date.now(), S = Number(e[Zm] || 0) || 0; - if (C - S < TM) return; - e[Zm] = C; - } catch (C) { - (d = console.debug) == null || d.call(console, C); + const h = Date.now(), G = Number(e[Wm] || 0) || 0; + if (h - G < KM) return; + e[Wm] = h; + } catch (h) { + (d = console.debug) == null || d.call(console, h); } const o = e.querySelector(".mjr-workflow-dot"); try { - o && (la(o, "pending", "Pending: metadata refresh in progress", { + o && (aa(o, "pending", "Pending: metadata refresh in progress", { asset: t }), o.classList.add("mjr-pulse-animation"), o.style.cursor = "progress", o.title = m("tooltip.pendingRefresh", "Pending: metadata refresh in progress")); - } catch (C) { - (u = console.debug) == null || u.call(console, C); + } catch (h) { + (u = console.debug) == null || u.call(console, h); } try { - Ce( + Ze( m("toast.rescanUpdatingAiIndex", "Rescanning file + updating AI index..."), "info", 2200 ); - } catch (C) { - (I = console.debug) == null || I.call(console, C); + } catch (h) { + (I = console.debug) == null || I.call(console, h); } const r = { filename: t.filename, subfolder: t.subfolder || "", type: String(t.type || "output").toLowerCase(), - root_id: vi(t) || void 0 + root_id: Mi(t) || void 0 }; let l = null, a = !1, c = !1, s = !1; try { - const C = await Et(lt.INDEX_FILES, { + const h = await Et(ct.INDEX_FILES, { files: [r], incremental: !1 }); - if (a = !!(C != null && C.ok), !a && o && (la(o, "error", "Error: metadata refresh failed", { asset: t }), o.classList.remove("mjr-pulse-animation"), o.style.cursor = ""), BM(t == null ? void 0 : t.id)) { + if (a = !!(h != null && h.ok), !a && o && (aa(o, "error", "Error: metadata refresh failed", { asset: t }), o.classList.remove("mjr-pulse-animation"), o.style.cursor = ""), DM(t == null ? void 0 : t.id)) { c = !0; try { - const S = await Fg(t.id); - s = !!(S != null && S.ok); - } catch (S) { - (p = console.debug) == null || p.call(console, S); + const G = await Og(t.id); + s = !!(G != null && G.ok); + } catch (G) { + (p = console.debug) == null || p.call(console, G); } } if (a && t.id != null) { - const S = await ml(t.id); - S != null && S.ok && S.data && (l = { ...t, ...S.data }); + const G = await gl(t.id); + G != null && G.ok && G.data && (l = { ...t, ...G.data }); } } catch { try { - o && (la(o, "error", "Error: metadata refresh failed", { asset: t }), o.classList.remove("mjr-pulse-animation"), o.style.cursor = ""); - } catch (C) { - (M = console.debug) == null || M.call(console, C); + o && (aa(o, "error", "Error: metadata refresh failed", { asset: t }), o.classList.remove("mjr-pulse-animation"), o.style.cursor = ""); + } catch (h) { + (S = console.debug) == null || S.call(console, h); } } try { if (l) { e._mjrAsset = l, typeof i == "function" && i(l); try { - if ((A = (Z = n == null ? void 0 : n.classList) == null ? void 0 : Z.contains) != null && A.call(Z, "is-open")) { - const C = ((g = n == null ? void 0 : n._currentAsset) == null ? void 0 : g.id) ?? ((h = n == null ? void 0 : n._currentFullAsset) == null ? void 0 : h.id) ?? null; - C != null && String(C) === String(l.id) && (n._mjrNeedsRefresh = !0); + if ((C = (A = n == null ? void 0 : n.classList) == null ? void 0 : A.contains) != null && C.call(A, "is-open")) { + const h = ((g = n == null ? void 0 : n._currentAsset) == null ? void 0 : g.id) ?? ((Z = n == null ? void 0 : n._currentFullAsset) == null ? void 0 : Z.id) ?? null; + h != null && String(h) === String(l.id) && (n._mjrNeedsRefresh = !0); } - } catch (C) { - (f = console.debug) == null || f.call(console, C); + } catch (h) { + (f = console.debug) == null || f.call(console, h); } } } finally { try { if (o && o.isConnected) { - const C = $a(l || t); - C && o.replaceWith(C); + const h = ec(l || t); + h && o.replaceWith(h); } } catch { try { o && (o.style.cursor = ""); - } catch (C) { - (b = console.debug) == null || b.call(console, C); + } catch (h) { + (b = console.debug) == null || b.call(console, h); } } } try { - a && s ? Ce( + a && s ? Ze( m( "toast.metadataVectorUpdated", "Metadata + AI vector index updated for this asset." ), "success", 2200 - ) : a && c && !s && Ce( + ) : a && c && !s && Ze( m( "toast.metadataUpdatedVectorFailed", "Metadata updated. AI vector index could not be updated." @@ -31825,12 +31871,12 @@ async function UM({ card: e, asset: t, sidebar: n, onAssetUpdated: i }) { "warning", 2600 ); - } catch (C) { - (v = console.debug) == null || v.call(console, C); + } catch (h) { + (L = console.debug) == null || L.call(console, h); } return l; } -function Am(e, t) { +function wm(e, t) { var n, i, o, r, l, a, c, s, d, u; if (e) { try { @@ -31864,7 +31910,7 @@ function Am(e, t) { } } } -const Ja = (e) => { +const Ta = (e) => { var t; if (e == null) return ""; try { @@ -31875,31 +31921,31 @@ const Ja = (e) => { } return String(e).replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); }; -function fs(e, t) { +function Cs(e, t) { var n, i; if (!e || !t) return null; try { return e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${Ja(t)}"]` + `.mjr-asset-card[data-mjr-asset-id="${Ta(t)}"]` ); } catch (o) { (n = console.debug) == null || n.call(console, o); } try { return e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${Ja(t)}"]` + `.mjr-asset-card[data-mjr-asset-id="${Ta(t)}"]` ); } catch (o) { (i = console.debug) == null || i.call(console, o); } return null; } -function $b(e) { +function ep(e) { var i, o, r; if (!e) return null; const t = (i = e.dataset) == null ? void 0 : i.mjrSelectedAssetId; if (t) { - const l = fs(e, t); + const l = Cs(e, t); if (l) return l; } const n = (o = e.dataset) == null ? void 0 : o.mjrSelectedAssetIds; @@ -31907,7 +31953,7 @@ function $b(e) { try { const l = JSON.parse(n); if (Array.isArray(l) && l.length) { - const a = fs(e, l[0]); + const a = Cs(e, l[0]); if (a) return a; } } catch (l) { @@ -31915,7 +31961,7 @@ function $b(e) { } return e.querySelector(".mjr-asset-card.is-selected"); } -function KM(e, { preventScroll: t = !0 } = {}) { +function HM(e, { preventScroll: t = !0 } = {}) { var n, i, o; if (e) try { @@ -31928,16 +31974,16 @@ function KM(e, { preventScroll: t = !0 } = {}) { } } } -function ep(e, { force: t = !1 } = {}) { +function tp(e, { force: t = !1 } = {}) { if (!e || !t && !e._mjrFocusWithin) return; - const n = $b(e); - n && (KM(n), e._mjrFocusWithin = !0); + const n = ep(e); + n && (HM(n), e._mjrFocusWithin = !0); } -function ma(e) { +function ga(e) { var t, n; if (e) try { - const i = $b(e); + const i = ep(e); if (!i) return; const o = e.parentElement; if (o && typeof o.getBoundingClientRect == "function" && typeof i.getBoundingClientRect == "function") { @@ -31949,7 +31995,7 @@ function ma(e) { (n = console.debug) == null || n.call(console, i); } } -function Wm(e) { +function Mm(e) { var n; if (e) try { @@ -31960,12 +32006,12 @@ function Wm(e) { const t = () => { var i, o; try { - ma(e); + ga(e); } catch (r) { (i = console.debug) == null || i.call(console, r); } try { - ep(e); + tp(e); } catch (r) { (o = console.debug) == null || o.call(console, r); } @@ -31980,11 +32026,11 @@ function Wm(e) { t(); } } -function DM(e, t) { +function qM(e, t) { var n, i; e && (t ? (e.classList.add("is-selected"), (n = e.setAttribute) == null || n.call(e, "aria-selected", "true")) : (e.classList.remove("is-selected"), (i = e.setAttribute) == null || i.call(e, "aria-selected", "false"))); } -function ic(e) { +function oc(e) { try { if (typeof (e == null ? void 0 : e._mjrGetRenderedCards) == "function") { const t = e._mjrGetRenderedCards(); @@ -31999,11 +32045,11 @@ function ic(e) { return []; } } -function wm(e) { +function Sm(e) { var t; if (e) try { - const n = ic(e).filter((i) => { + const n = oc(e).filter((i) => { var o, r; return (r = (o = i == null ? void 0 : i.classList) == null ? void 0 : o.contains) == null ? void 0 : r.call(o, "is-selected"); }).map((i) => { @@ -32015,7 +32061,7 @@ function wm(e) { (t = console.debug) == null || t.call(console, n); } } -function Jr(e, t, n = "") { +function Br(e, t, n = "") { var o, r, l, a, c, s; if (!e) return []; const i = Array.from(t || []).map(String).filter(Boolean); @@ -32031,9 +32077,9 @@ function Jr(e, t, n = "") { (r = console.debug) == null || r.call(console, d); } try { - for (const d of ic(e)) { + for (const d of oc(e)) { const u = (l = d == null ? void 0 : d.dataset) == null ? void 0 : l.mjrAssetId, I = u && i.includes(String(u)); - DM(d, !!I); + qM(d, !!I); } } catch (d) { (a = console.debug) == null || a.call(console, d); @@ -32050,7 +32096,7 @@ function Jr(e, t, n = "") { } return i; } -function go({ gridContainer: e, state: t, activeId: n, readState: i = null, writeState: o = null } = {}) { +function bo({ gridContainer: e, state: t, activeId: n, readState: i = null, writeState: o = null } = {}) { var r, l, a, c; if (!(!t && !o || !e)) try { @@ -32062,7 +32108,7 @@ function go({ gridContainer: e, state: t, activeId: n, readState: i = null, writ } catch (u) { (l = console.debug) == null || l.call(console, u); } - else (a = e.dataset) != null && a.mjrSelectedAssetId ? s = [String(e.dataset.mjrSelectedAssetId)].filter(Boolean) : s = ic(e).filter((u) => { + else (a = e.dataset) != null && a.mjrSelectedAssetId ? s = [String(e.dataset.mjrSelectedAssetId)].filter(Boolean) : s = oc(e).filter((u) => { var I, p; return (p = (I = u == null ? void 0 : u.classList) == null ? void 0 : I.contains) == null ? void 0 : p.call(I, "is-selected"); }).map((u) => { @@ -32076,7 +32122,7 @@ function go({ gridContainer: e, state: t, activeId: n, readState: i = null, writ (c = console.debug) == null || c.call(console, s); } } -function EM({ +function PM({ gridContainer: e, sidebar: t, createRatingBadge: n, @@ -32085,8 +32131,8 @@ function EM({ closeSidebar: r, state: l }) { - var b, v, C, S; - const { read: a, write: c } = no(l, [ + var b, L, h, G; + const { read: a, write: c } = oo(l, [ "activeAssetId", "selectedAssetIds", "sidebarOpen" @@ -32098,14 +32144,14 @@ function EM({ }) }; e._mjrSidebarOpenBound = !0; const s = (W) => { - var k, G; + var X, x; e._mjrFocusWithin = !0; - const y = ri(W.target, ".mjr-asset-card"); + const y = li(W.target, ".mjr-asset-card"); if (y) try { - e._mjrLastFocusedCardId = ((k = y.dataset) == null ? void 0 : k.mjrAssetId) || ""; - } catch (z) { - (G = console.debug) == null || G.call(console, z); + e._mjrLastFocusedCardId = ((X = y.dataset) == null ? void 0 : X.mjrAssetId) || ""; + } catch (T) { + (x = console.debug) == null || x.call(console, T); } }, d = (W) => { const y = W == null ? void 0 : W.relatedTarget; @@ -32119,85 +32165,85 @@ function EM({ try { if (!e._mjrSelectionResizeObserver) { const W = e.parentElement; - let y = null, k = null; - const G = () => { + let y = null, X = null; + const x = () => { try { return Date.now() <= Number((e == null ? void 0 : e._mjrAutoRevealSelectionUntil) || 0); } catch { return !1; } - }, z = () => { - y && cancelAnimationFrame(y), k && clearTimeout(k), y = requestAnimationFrame(() => { - y = null, G() && ma(e); - }), k = setTimeout(() => { - k = null, G() && ma(e); + }, T = () => { + y && cancelAnimationFrame(y), X && clearTimeout(X), y = requestAnimationFrame(() => { + y = null, x() && ga(e); + }), X = setTimeout(() => { + X = null, x() && ga(e); }, 160); - }, x = new ResizeObserver(() => z()); - W && x.observe(W), x.observe(e), e._mjrSelectionResizeObserver = x; + }, v = new ResizeObserver(() => T()); + W && v.observe(W), v.observe(e), e._mjrSelectionResizeObserver = v; } } catch (W) { - (v = console.debug) == null || v.call(console, W); + (L = console.debug) == null || L.call(console, W); } - const u = (W, y, k) => { - var G; + const u = (W, y, X) => { + var x; try { - const z = (k == null ? void 0 : k.has_workflow) ?? (k == null ? void 0 : k.hasWorkflow) ?? y.has_workflow, x = (k == null ? void 0 : k.has_generation_data) ?? (k == null ? void 0 : k.hasGenerationData) ?? y.has_generation_data; - z !== void 0 && (y.has_workflow = z), x !== void 0 && (y.has_generation_data = x); - const w = W.querySelector(".mjr-workflow-dot"), X = $a(y); - w && X && w.replaceWith(X); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + const T = (X == null ? void 0 : X.has_workflow) ?? (X == null ? void 0 : X.hasWorkflow) ?? y.has_workflow, v = (X == null ? void 0 : X.has_generation_data) ?? (X == null ? void 0 : X.hasGenerationData) ?? y.has_generation_data; + T !== void 0 && (y.has_workflow = T), v !== void 0 && (y.has_generation_data = v); + const w = W.querySelector(".mjr-workflow-dot"), R = ec(y); + w && R && w.replaceWith(R); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - if ((k == null ? void 0 : k.rating) !== void 0 && k.rating !== y.rating) { - y.rating = k.rating; - const z = W.querySelector(".mjr-thumb"), x = W.querySelector(".mjr-rating-badge"), w = n(k.rating || 0); - x && w ? x.replaceWith(w) : x && !w ? x.remove() : !x && w && z && z.appendChild(w); + if ((X == null ? void 0 : X.rating) !== void 0 && X.rating !== y.rating) { + y.rating = X.rating; + const T = W.querySelector(".mjr-thumb"), v = W.querySelector(".mjr-rating-badge"), w = n(X.rating || 0); + v && w ? v.replaceWith(w) : v && !w ? v.remove() : !v && w && T && T.appendChild(w); } - if (k != null && k.tags && JSON.stringify(k.tags) !== JSON.stringify(y.tags)) { - y.tags = k.tags; - const z = W.querySelector(".mjr-tags-badge"); - if (z) { - const x = i(k.tags || []); - z.replaceWith(x); + if (X != null && X.tags && JSON.stringify(X.tags) !== JSON.stringify(y.tags)) { + y.tags = X.tags; + const T = W.querySelector(".mjr-tags-badge"); + if (T) { + const v = i(X.tags || []); + T.replaceWith(v); } } }, I = async (W) => { - var w, X, V, R, j, L, N, q, O, B, J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $; + var w, R, Y, F, N, V, k, K, z, B, J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U, Q; if (W.defaultPrevented) return; - const y = ri(W.target, ".mjr-asset-card"); + const y = li(W.target, ".mjr-asset-card"); if (!y) return; - const k = ri(W.target, ".mjr-workflow-dot"); - if (k && y.contains(k)) { + const X = li(W.target, ".mjr-workflow-dot"); + if (X && y.contains(X)) { const _ = y._mjrAsset; if (!_) return; W.preventDefault(), W.stopPropagation(); const le = ((w = y == null ? void 0 : y.dataset) == null ? void 0 : w.mjrAssetId) || ""; - Jr(e, le ? [le] : [], le), go({ gridContainer: e, state: l, activeId: le, readState: a, writeState: c }); - const se = await UM({ + Br(e, le ? [le] : [], le), bo({ gridContainer: e, state: l, activeId: le, readState: a, writeState: c }); + const de = await EM({ card: y, asset: _, sidebar: t, - onAssetUpdated: (de) => u(y, _, de) + onAssetUpdated: (se) => u(y, _, se) }); try { - const de = ((X = t == null ? void 0 : t._currentAsset) == null ? void 0 : X.id) ?? ((V = t == null ? void 0 : t._currentFullAsset) == null ? void 0 : V.id) ?? null; - se && ((j = (R = t == null ? void 0 : t.classList) == null ? void 0 : R.contains) != null && j.call(R, "is-open")) && de != null && String(de) === String(se.id) && await o( + const se = ((R = t == null ? void 0 : t._currentAsset) == null ? void 0 : R.id) ?? ((Y = t == null ? void 0 : t._currentFullAsset) == null ? void 0 : Y.id) ?? null; + de && ((N = (F = t == null ? void 0 : t.classList) == null ? void 0 : F.contains) != null && N.call(F, "is-open")) && se != null && String(se) === String(de.id) && await o( t, - se, - (Ze) => u(y, _, Ze) + de, + (ge) => u(y, _, ge) ); - } catch (de) { - (L = console.debug) == null || L.call(console, de); + } catch (se) { + (V = console.debug) == null || V.call(console, se); } return; } - const G = ri(W.target, "a, button, input, textarea, select, label"); - if (G && y.contains(G)) return; - const z = y._mjrAsset; - if (!z) return; + const x = li(W.target, "a, button, input, textarea, select, label"); + if (x && y.contains(x)) return; + const T = y._mjrAsset; + if (!T) return; if (e != null && e._mjrSelectionManagedByVue) { - const _ = String(((N = y == null ? void 0 : y.dataset) == null ? void 0 : N.mjrAssetId) || "").trim(); - go({ + const _ = String(((k = y == null ? void 0 : y.dataset) == null ? void 0 : k.mjrAssetId) || "").trim(); + bo({ gridContainer: e, state: l, activeId: _, @@ -32205,11 +32251,11 @@ function EM({ writeState: c }); try { - if ((O = (q = t == null ? void 0 : t.classList) == null ? void 0 : q.contains) != null && O.call(q, "is-open")) { + if ((z = (K = t == null ? void 0 : t.classList) == null ? void 0 : K.contains) != null && z.call(K, "is-open")) { await o( t, - z, - (le) => u(y, z, le) + T, + (le) => u(y, T, le) ); try { c("sidebarOpen", !0); @@ -32223,24 +32269,24 @@ function EM({ return; } if (W.preventDefault(), W.stopPropagation(), !!(W.ctrlKey || W.metaKey || W.shiftKey)) { - const _ = ic(e), le = _.indexOf(y); + const _ = oc(e), le = _.indexOf(y); if (W.shiftKey) { - let xe = []; + let Se = []; try { - typeof (e == null ? void 0 : e._mjrGetAssets) == "function" && (xe = e._mjrGetAssets() || []); - } catch (ze) { - (K = console.debug) == null || K.call(console, ze); + typeof (e == null ? void 0 : e._mjrGetAssets) == "function" && (Se = e._mjrGetAssets() || []); + } catch (ke) { + (oe = console.debug) == null || oe.call(console, ke); } - if (Array.isArray(xe) && xe.length) { - const ze = ((F = y == null ? void 0 : y.dataset) == null ? void 0 : F.mjrAssetId) || "", We = xe.findIndex( - (Qe) => String((Qe == null ? void 0 : Qe.id) || "") === String(ze) - ), De = Number(e._mjrLastSelectedIndex), Pe = Number.isFinite(De) ? De : We; - if (We >= 0 && Pe >= 0) { - const Qe = Math.min(Pe, We), Ue = Math.max(Pe, We), Ee = xe.slice(Qe, Ue + 1).map((Re) => String((Re == null ? void 0 : Re.id) || "")).filter(Boolean); - Jr(e, Ee, ze || Ee[0] || ""), e._mjrLastSelectedIndex = We, go({ + if (Array.isArray(Se) && Se.length) { + const ke = ((M = y == null ? void 0 : y.dataset) == null ? void 0 : M.mjrAssetId) || "", we = Se.findIndex( + (qe) => String((qe == null ? void 0 : qe.id) || "") === String(ke) + ), Je = Number(e._mjrLastSelectedIndex), $e = Number.isFinite(Je) ? Je : we; + if (we >= 0 && $e >= 0) { + const qe = Math.min($e, we), Ue = Math.max($e, we), Te = Se.slice(qe, Ue + 1).map((Oe) => String((Oe == null ? void 0 : Oe.id) || "")).filter(Boolean); + Br(e, Te, ke || Te[0] || ""), e._mjrLastSelectedIndex = we, bo({ gridContainer: e, state: l, - activeId: ze || "", + activeId: ke || "", readState: a, writeState: c }); @@ -32248,43 +32294,43 @@ function EM({ } } } - const se = String(((Y = y == null ? void 0 : y.dataset) == null ? void 0 : Y.mjrAssetId) || "").trim(); + const de = String(((j = y == null ? void 0 : y.dataset) == null ? void 0 : j.mjrAssetId) || "").trim(); le >= 0 && (e._mjrLastSelectedIndex = le); - const de = /* @__PURE__ */ new Set(); + const se = /* @__PURE__ */ new Set(); try { - const xe = (U = e.dataset) == null ? void 0 : U.mjrSelectedAssetIds; - if (xe) { - const ze = JSON.parse(xe); - if (Array.isArray(ze)) - for (const We of ze) { - const De = String(We || "").trim(); - De && de.add(De); + const Se = (O = e.dataset) == null ? void 0 : O.mjrSelectedAssetIds; + if (Se) { + const ke = JSON.parse(Se); + if (Array.isArray(ke)) + for (const we of ke) { + const Je = String(we || "").trim(); + Je && se.add(Je); } } else { - const ze = String(((P = e.dataset) == null ? void 0 : P.mjrSelectedAssetId) || "").trim(); - ze && de.add(ze); + const ke = String(((D = e.dataset) == null ? void 0 : D.mjrSelectedAssetId) || "").trim(); + ke && se.add(ke); } - } catch (xe) { - (ee = console.debug) == null || ee.call(console, xe); + } catch (Se) { + (q = console.debug) == null || q.call(console, Se); } - if (!de.size) - for (const xe of _) { - const ze = String(((oe = xe == null ? void 0 : xe.dataset) == null ? void 0 : oe.mjrAssetId) || "").trim(); - ze && (pe = (ce = xe.classList) == null ? void 0 : ce.contains) != null && pe.call(ce, "is-selected") && de.add(ze); + if (!se.size) + for (const Se of _) { + const ke = String(((ee = Se == null ? void 0 : Se.dataset) == null ? void 0 : ee.mjrAssetId) || "").trim(); + ke && (ue = (ce = Se.classList) == null ? void 0 : ce.contains) != null && ue.call(ce, "is-selected") && se.add(ke); } - se && (de.has(se) ? de.delete(se) : de.add(se)); - const Ze = Array.from(de), Fe = de.has(se) ? se : Ze[0] || ""; - Jr(e, Ze, Fe), go({ + de && (se.has(de) ? se.delete(de) : se.add(de)); + const ge = Array.from(se), je = se.has(de) ? de : ge[0] || ""; + Br(e, ge, je), bo({ gridContainer: e, state: l, - activeId: Fe, + activeId: je, readState: a, writeState: c }); return; } else { if (y.classList.contains("is-selected")) { - Jr(e, [], ""), go({ + Br(e, [], ""), bo({ gridContainer: e, state: l, activeId: "", @@ -32293,8 +32339,8 @@ function EM({ }); return; } - const le = (T = y == null ? void 0 : y.dataset) == null ? void 0 : T.mjrAssetId; - Jr(e, le ? [le] : [], le || ""), go({ + const le = (P = y == null ? void 0 : y.dataset) == null ? void 0 : P.mjrAssetId; + Br(e, le ? [le] : [], le || ""), bo({ gridContainer: e, state: l, activeId: le || "", @@ -32302,85 +32348,85 @@ function EM({ writeState: c }); try { - (Q = (D = t == null ? void 0 : t.classList) == null ? void 0 : D.contains) != null && Q.call(D, "is-open") && o( + ($ = (H = t == null ? void 0 : t.classList) == null ? void 0 : H.contains) != null && $.call(H, "is-open") && o( t, - z, - (se) => u(y, z, se) + T, + (de) => u(y, T, de) ); - } catch (se) { - (E = console.debug) == null || E.call(console, se); + } catch (de) { + (E = console.debug) == null || E.call(console, de); } } try { - ma(e), (H = y == null ? void 0 : y.focus) == null || H.call(y, { preventScroll: !0 }); + ga(e), (U = y == null ? void 0 : y.focus) == null || U.call(y, { preventScroll: !0 }); } catch (_) { - ($ = console.debug) == null || $.call(console, _); + (Q = console.debug) == null || Q.call(console, _); } }; e.addEventListener("click", I); const p = async () => { - var G, z, x, w, X, V, R, j, L, N, q; + var x, T, v, w, R, Y, F, N, V, k, K; const W = String(a("activeAssetId", "") || ""); let y = null; if (W) try { y = e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${Ja(W)}"]` + `.mjr-asset-card[data-mjr-asset-id="${Ta(W)}"]` ); } catch { try { y = e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${Ja(W)}"]` + `.mjr-asset-card[data-mjr-asset-id="${Ta(W)}"]` ); - } catch (O) { - (G = console.debug) == null || G.call(console, O); + } catch (z) { + (x = console.debug) == null || x.call(console, z); } } y || (y = e.querySelector(".mjr-asset-card.is-selected")); - const k = y == null ? void 0 : y._mjrAsset; - if (k) { - Am(e, y), wm(e), go({ + const X = y == null ? void 0 : y._mjrAsset; + if (X) { + wm(e, y), Sm(e), bo({ gridContainer: e, state: l, - activeId: (z = y == null ? void 0 : y.dataset) == null ? void 0 : z.mjrAssetId, + activeId: (T = y == null ? void 0 : y.dataset) == null ? void 0 : T.mjrAssetId, readState: a, writeState: c }); try { - const O = !!((w = (x = t == null ? void 0 : t.classList) == null ? void 0 : x.contains) != null && w.call(x, "is-open")), B = ((X = t == null ? void 0 : t._currentAsset) == null ? void 0 : X.id) ?? ((V = t == null ? void 0 : t._currentFullAsset) == null ? void 0 : V.id) ?? null; - if (O && B != null && String(B) === String(k.id) && typeof r == "function") { + const z = !!((w = (v = t == null ? void 0 : t.classList) == null ? void 0 : v.contains) != null && w.call(v, "is-open")), B = ((R = t == null ? void 0 : t._currentAsset) == null ? void 0 : R.id) ?? ((Y = t == null ? void 0 : t._currentFullAsset) == null ? void 0 : Y.id) ?? null; + if (z && B != null && String(B) === String(X.id) && typeof r == "function") { r(t); try { c("sidebarOpen", !1); } catch (J) { - (R = console.debug) == null || R.call(console, J); + (F = console.debug) == null || F.call(console, J); } - ep(e, { force: !0 }), Wm(e); + tp(e, { force: !0 }), Mm(e); return; } - } catch (O) { - (j = console.debug) == null || j.call(console, O); + } catch (z) { + (N = console.debug) == null || N.call(console, z); } try { await o( t, - k, - (O) => u(y, k, O) + X, + (z) => u(y, X, z) ); try { c("sidebarOpen", !0); - } catch (O) { - (L = console.debug) == null || L.call(console, O); + } catch (z) { + (V = console.debug) == null || V.call(console, z); } - Wm(e), (N = y == null ? void 0 : y.focus) == null || N.call(y, { preventScroll: !0 }); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + Mm(e), (k = y == null ? void 0 : y.focus) == null || k.call(y, { preventScroll: !0 }); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } } - }, M = async () => { - var G, z, x, w, X; + }, S = async () => { + var x, T, v, w, R; try { - if (!!!((z = (G = t == null ? void 0 : t.classList) == null ? void 0 : G.contains) != null && z.call(G, "is-open"))) return !1; + if (!!!((T = (x = t == null ? void 0 : t.classList) == null ? void 0 : x.contains) != null && T.call(x, "is-open"))) return !1; } catch { return !1; } @@ -32388,62 +32434,62 @@ function EM({ if (!W) return !1; let y = null; try { - y = fs(e, W); - } catch (V) { - (x = console.debug) == null || x.call(console, V); + y = Cs(e, W); + } catch (Y) { + (v = console.debug) == null || v.call(console, Y); } - const k = y == null ? void 0 : y._mjrAsset; - if (!k) return !1; + const X = y == null ? void 0 : y._mjrAsset; + if (!X) return !1; try { await o( t, - k, - (V) => u(y, k, V) + X, + (Y) => u(y, X, Y) ); try { c("sidebarOpen", !0); - } catch (V) { - (w = console.debug) == null || w.call(console, V); + } catch (Y) { + (w = console.debug) == null || w.call(console, Y); } return !0; - } catch (V) { - (X = console.debug) == null || X.call(console, V); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } return !1; }; - let Z = !1; - const A = () => { + let A = !1; + const C = () => { var W, y; try { if (!((y = (W = t == null ? void 0 : t.classList) == null ? void 0 : W.contains) != null && y.call(W, "is-open"))) return; } catch { return; } - Z || (Z = !0, queueMicrotask(async () => { - var k; - Z = !1; + A || (A = !0, queueMicrotask(async () => { + var X; + A = !1; try { - await M(); - } catch (G) { - (k = console.debug) == null || k.call(console, G); + await S(); + } catch (x) { + (X = console.debug) == null || X.call(console, x); } })); }; - e.addEventListener("mjr:selection-changed", A); + e.addEventListener("mjr:selection-changed", C); const g = (W) => { - var x, w, X, V, R, j; - if (W.defaultPrevented || (((w = (x = W.key) == null ? void 0 : x.toLowerCase) == null ? void 0 : w.call(x)) || "") !== "d" || W.ctrlKey || W.metaKey || W.altKey || ((X = W.target) == null ? void 0 : X.isContentEditable) || ((R = (V = W.target) == null ? void 0 : V.closest) == null ? void 0 : R.call(V, "input, textarea, select, [contenteditable='true']"))) return; - const G = ri(W.target, ".mjr-asset-card"); - !G || !G._mjrAsset || (W.preventDefault(), W.stopPropagation(), Am(e, G), wm(e), go({ + var v, w, R, Y, F, N; + if (W.defaultPrevented || (((w = (v = W.key) == null ? void 0 : v.toLowerCase) == null ? void 0 : w.call(v)) || "") !== "d" || W.ctrlKey || W.metaKey || W.altKey || ((R = W.target) == null ? void 0 : R.isContentEditable) || ((F = (Y = W.target) == null ? void 0 : Y.closest) == null ? void 0 : F.call(Y, "input, textarea, select, [contenteditable='true']"))) return; + const x = li(W.target, ".mjr-asset-card"); + !x || !x._mjrAsset || (W.preventDefault(), W.stopPropagation(), wm(e, x), Sm(e), bo({ gridContainer: e, state: l, - activeId: (j = G == null ? void 0 : G.dataset) == null ? void 0 : j.mjrAssetId, + activeId: (N = x == null ? void 0 : x.dataset) == null ? void 0 : N.mjrAssetId, readState: a, writeState: c }), p()); }; e.addEventListener("keydown", g); - const h = () => { + const Z = () => { var W; try { c("sidebarOpen", !1); @@ -32451,73 +32497,73 @@ function EM({ (W = console.debug) == null || W.call(console, y); } }; - (C = t == null ? void 0 : t.addEventListener) == null || C.call(t, "mjr:sidebar-closed", h); + (h = t == null ? void 0 : t.addEventListener) == null || h.call(t, "mjr:sidebar-closed", Z); try { e._mjrOpenDetails = p; } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } const f = () => { - var W, y, k, G, z, x, w, X, V, R, j, L, N, q; + var W, y, X, x, T, v, w, R, Y, F, N, V, k, K; try { e.removeEventListener("click", I); - } catch (O) { - (W = console.debug) == null || W.call(console, O); + } catch (z) { + (W = console.debug) == null || W.call(console, z); } try { e.removeEventListener("focusin", s); - } catch (O) { - (y = console.debug) == null || y.call(console, O); + } catch (z) { + (y = console.debug) == null || y.call(console, z); } try { e.removeEventListener("focusout", d); - } catch (O) { - (k = console.debug) == null || k.call(console, O); + } catch (z) { + (X = console.debug) == null || X.call(console, z); } try { e.removeEventListener("keydown", g); - } catch (O) { - (G = console.debug) == null || G.call(console, O); + } catch (z) { + (x = console.debug) == null || x.call(console, z); } try { - e.removeEventListener("mjr:selection-changed", A); - } catch (O) { - (z = console.debug) == null || z.call(console, O); + e.removeEventListener("mjr:selection-changed", C); + } catch (z) { + (T = console.debug) == null || T.call(console, z); } try { - (x = t == null ? void 0 : t.removeEventListener) == null || x.call(t, "mjr:sidebar-closed", h); - } catch (O) { - (w = console.debug) == null || w.call(console, O); + (v = t == null ? void 0 : t.removeEventListener) == null || v.call(t, "mjr:sidebar-closed", Z); + } catch (z) { + (w = console.debug) == null || w.call(console, z); } try { e._mjrOpenDetails === p && delete e._mjrOpenDetails; - } catch (O) { - (X = console.debug) == null || X.call(console, O); + } catch (z) { + (R = console.debug) == null || R.call(console, z); } try { - (R = (V = e._mjrSelectionResizeObserver) == null ? void 0 : V.disconnect) == null || R.call(V); - } catch (O) { - (j = console.debug) == null || j.call(console, O); + (F = (Y = e._mjrSelectionResizeObserver) == null ? void 0 : Y.disconnect) == null || F.call(Y); + } catch (z) { + (N = console.debug) == null || N.call(console, z); } try { delete e._mjrSelectionResizeObserver; - } catch (O) { - (L = console.debug) == null || L.call(console, O); + } catch (z) { + (V = console.debug) == null || V.call(console, z); } try { delete e._mjrSidebarOpenBound; - } catch (O) { - (N = console.debug) == null || N.call(console, O); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } try { delete e._mjrSidebarOpenDispose; - } catch (O) { - (q = console.debug) == null || q.call(console, O); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }; - return e._mjrSidebarOpenDispose = f, { dispose: f, toggleDetails: p, refreshActiveAsset: M }; + return e._mjrSidebarOpenDispose = f, { dispose: f, toggleDetails: p, refreshActiveAsset: S }; } -function HM({ +function QM({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, @@ -32541,14 +32587,14 @@ function HM({ "Escape", "Tab" ]), u = () => a || c, I = (g) => { - var h, f; + var Z, f; if (u()) return !0; try { const b = g == null ? void 0 : g.target; if (s && b && typeof s.contains == "function" && (s === b || s.contains(b))) return !0; } catch (b) { - (h = console.debug) == null || h.call(console, b); + (Z = console.debug) == null || Z.call(console, b); } try { return !!(s != null && s.isConnected) && document.activeElement === document.body; @@ -32556,19 +32602,19 @@ function HM({ return (f = console.debug) == null || f.call(console, b), !1; } }, p = (g) => { - var h, f, b, v, C; + var Z, f, b, L, h; try { - if ((f = (h = g == null ? void 0 : g.target) == null ? void 0 : h.closest) == null ? void 0 : f.call(h, ".mjr-grid")) return !0; - } catch (S) { - (b = console.debug) == null || b.call(console, S); + if ((f = (Z = g == null ? void 0 : g.target) == null ? void 0 : Z.closest) == null ? void 0 : f.call(Z, ".mjr-grid")) return !0; + } catch (G) { + (b = console.debug) == null || b.call(console, G); } try { - const S = wo(); - return S ? document.activeElement === document.body ? !0 : ((v = S.contains) == null ? void 0 : v.call(S, document.activeElement)) || !1 : !1; - } catch (S) { - return (C = console.debug) == null || C.call(console, S), !1; + const G = So(); + return G ? document.activeElement === document.body ? !0 : ((L = G.contains) == null ? void 0 : L.call(G, document.activeElement)) || !1 : !1; + } catch (G) { + return (h = console.debug) == null || h.call(console, G), !1; } - }, M = { + }, S = { focusin: () => { a = !0; }, @@ -32582,100 +32628,100 @@ function HM({ c = !1; }, keydown: (g) => { - var b, v, C, S, W, y, k, G, z, x, w, X, V, R, j, L; - if (Wo().scope === "viewer" || !I(g)) return; - const h = ((v = (b = g.key) == null ? void 0 : b.toLowerCase) == null ? void 0 : v.call(b)) || "", f = ((C = g.target) == null ? void 0 : C.isContentEditable) || ((W = (S = g.target) == null ? void 0 : S.closest) == null ? void 0 : W.call(S, "input, textarea, select, [contenteditable='true']")); - if (h === "s" && (g.ctrlKey || g.metaKey)) { + var b, L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V; + if (Mo().scope === "viewer" || !I(g)) return; + const Z = ((L = (b = g.key) == null ? void 0 : b.toLowerCase) == null ? void 0 : L.call(b)) || "", f = ((h = g.target) == null ? void 0 : h.isContentEditable) || ((W = (G = g.target) == null ? void 0 : G.closest) == null ? void 0 : W.call(G, "input, textarea, select, [contenteditable='true']")); + if (Z === "s" && (g.ctrlKey || g.metaKey)) { g.preventDefault(), g.stopPropagation(), (y = g.stopImmediatePropagation) == null || y.call(g); try { - const N = typeof t == "function" ? t() : null; - e == null || e(N); - } catch (N) { - (k = console.debug) == null || k.call(console, N); + const k = typeof t == "function" ? t() : null; + e == null || e(k); + } catch (k) { + (X = console.debug) == null || X.call(console, k); } return; } - if ((h === "f" || h === "k") && (g.ctrlKey || g.metaKey)) { - g.preventDefault(), g.stopPropagation(), (G = g.stopImmediatePropagation) == null || G.call(g); - try { - o == null || o(); - } catch (N) { - (z = console.debug) == null || z.call(console, N); - } - return; - } - if (h === "h" && (g.ctrlKey || g.metaKey)) { + if ((Z === "f" || Z === "k") && (g.ctrlKey || g.metaKey)) { g.preventDefault(), g.stopPropagation(), (x = g.stopImmediatePropagation) == null || x.call(g); try { - r == null || r(); - } catch (N) { - (w = console.debug) == null || w.call(console, N); + o == null || o(); + } catch (k) { + (T = console.debug) == null || T.call(console, k); } return; } - if (h === "d" && !g.ctrlKey && !g.metaKey && !g.altKey) { - if (f) return; - g.preventDefault(), g.stopPropagation(), (X = g.stopImmediatePropagation) == null || X.call(g); + if (Z === "h" && (g.ctrlKey || g.metaKey)) { + g.preventDefault(), g.stopPropagation(), (v = g.stopImmediatePropagation) == null || v.call(g); try { - n == null || n(); - } catch (N) { - (V = console.debug) == null || V.call(console, N); + r == null || r(); + } catch (k) { + (w = console.debug) == null || w.call(console, k); } return; } - if (h === "v" && !g.altKey && !(g.shiftKey && (g.ctrlKey || g.metaKey))) { + if (Z === "d" && !g.ctrlKey && !g.metaKey && !g.altKey) { if (f) return; g.preventDefault(), g.stopPropagation(), (R = g.stopImmediatePropagation) == null || R.call(g); + try { + n == null || n(); + } catch (k) { + (Y = console.debug) == null || Y.call(console, k); + } + return; + } + if (Z === "v" && !g.altKey && !(g.shiftKey && (g.ctrlKey || g.metaKey))) { + if (f) return; + g.preventDefault(), g.stopPropagation(), (F = g.stopImmediatePropagation) == null || F.call(g); try { i == null || i(); - } catch (N) { - (j = console.debug) == null || j.call(console, N); + } catch (k) { + (N = console.debug) == null || N.call(console, k); } return; } if (d.has(g.key) && I(g)) { if (f || p(g)) return; - g.preventDefault(), g.stopPropagation(), (L = g.stopImmediatePropagation) == null || L.call(g); + g.preventDefault(), g.stopPropagation(), (V = g.stopImmediatePropagation) == null || V.call(g); } } - }, Z = (g) => { - var h, f; + }, A = (g) => { + var Z, f; if (!(!g || s === g)) { - s && A(), s = g; + s && C(), s = g; try { - s.addEventListener("focusin", M.focusin), s.addEventListener("focusout", M.focusout), s.addEventListener("mouseenter", M.mouseenter), s.addEventListener("mouseleave", M.mouseleave); + s.addEventListener("focusin", S.focusin), s.addEventListener("focusout", S.focusout), s.addEventListener("mouseenter", S.mouseenter), s.addEventListener("mouseleave", S.mouseleave); } catch (b) { - (h = console.debug) == null || h.call(console, b); + (Z = console.debug) == null || Z.call(console, b); } try { - window.addEventListener("keydown", M.keydown, { capture: !0 }); + window.addEventListener("keydown", S.keydown, { capture: !0 }); } catch (b) { (f = console.debug) == null || f.call(console, b); } - Zr("panel"); + wr("panel"); } - }, A = () => { - var g, h; + }, C = () => { + var g, Z; if (s) { try { - s.removeEventListener("focusin", M.focusin), s.removeEventListener("focusout", M.focusout), s.removeEventListener("mouseenter", M.mouseenter), s.removeEventListener("mouseleave", M.mouseleave); + s.removeEventListener("focusin", S.focusin), s.removeEventListener("focusout", S.focusout), s.removeEventListener("mouseenter", S.mouseenter), s.removeEventListener("mouseleave", S.mouseleave); } catch (f) { (g = console.debug) == null || g.call(console, f); } try { - window.removeEventListener("keydown", M.keydown, { capture: !0 }); + window.removeEventListener("keydown", S.keydown, { capture: !0 }); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } - Wo().scope === "panel" && Zr(null), s = null; + Mo().scope === "panel" && wr(null), s = null; } }; - return { bind: Z, dispose: A }; + return { bind: A, dispose: C }; } -function Mm(e) { +function Gm(e) { return Array.isArray(e) ? e.map((t) => String(t || "").trim()).filter(Boolean) : []; } -function qM({ +function _M({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAssetId: n = () => "", @@ -32698,8 +32744,8 @@ function qM({ const a = (d) => { var u, I; try { - const p = (d == null ? void 0 : d.detail) || {}, M = Mm(p.selectedIds); - i(M), o(String(p.activeId || M[0] || "").trim()); + const p = (d == null ? void 0 : d.detail) || {}, S = Gm(p.selectedIds); + i(S), o(String(p.activeId || S[0] || "").trim()); } catch (p) { (u = console.debug) == null || u.call(console, p); } @@ -32718,33 +32764,33 @@ function qM({ } return { restoreSelectionState: ({ scrollTop: d = 0 } = {}) => { - var p, M, Z, A; - const u = Mm(t()), I = String(n() || u[0] || "").trim(); + var p, S, A, C; + const u = Gm(t()), I = String(n() || u[0] || "").trim(); if (!(!u.length && !I)) { try { typeof (e == null ? void 0 : e._mjrSetSelection) == "function" && e._mjrSetSelection(u, I); } catch (g) { (p = console.debug) == null || p.call(console, g); } - if (!(!I || Number(d || 0) > 0)) { + if (I) { try { if (typeof (e == null ? void 0 : e._mjrScrollToAssetId) == "function") { e._mjrScrollToAssetId(I); return; } } catch (g) { - (M = console.debug) == null || M.call(console, g); + (S = console.debug) == null || S.call(console, g); } try { const g = e.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${SC(I)}"]` + `.mjr-asset-card[data-mjr-asset-id="${jC(I)}"]` ); - (Z = g == null ? void 0 : g.scrollIntoView) == null || Z.call(g, { + (A = g == null ? void 0 : g.scrollIntoView) == null || A.call(g, { block: "nearest", behavior: "instant" }); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } } } @@ -32759,7 +32805,7 @@ function qM({ } }; } -function PM(e) { +function $M(e) { var t; try { if (typeof requestAnimationFrame == "function") { @@ -32771,10 +32817,10 @@ function PM(e) { } setTimeout(e, 0); } -function QM(e = {}, t = "*") { +function e2(e = {}, t = "*") { return e.scope === "output" && !e.collectionId && t === "*" && !e.kindFilter && !e.workflowOnly && !(Number(e.minRating || 0) > 0) && !(Number(e.minSizeMB || 0) > 0) && !(Number(e.maxSizeMB || 0) > 0) && !(Number(e.minWidth || 0) > 0) && !(Number(e.minHeight || 0) > 0) && !(Number(e.maxWidth || 0) > 0) && !(Number(e.maxHeight || 0) > 0) && !String(e.workflowType || "").trim() && !e.dateRangeFilter && !e.dateExactFilter; } -function tp({ +function np({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => null, @@ -32791,181 +32837,181 @@ function tp({ }, getQuery: I = () => "*", getScope: p = () => "output", - loadAssets: M = null, - lifecycleSignal: Z = null + loadAssets: S = null, + lifecycleSignal: A = null } = {}) { - let A = 0, g = !1, h = null, f = null, b = null, v = 0, C = !0; - const S = () => { - var V; + let C = 0, g = !1, Z = null, f = null, b = null, L = 0, h = !0; + const G = () => { + var Y; try { - const R = typeof n == "function" ? n() : t; - return sd(e, R || t || null); - } catch (R) { - return (V = console.debug) == null || V.call(console, R), !1; + const F = typeof n == "function" ? n() : t; + return ud(e, F || t || null); + } catch (F) { + return (Y = console.debug) == null || Y.call(console, F), !1; } - }, W = (V = null, { resumeQueuedReload: R = !0 } = {}) => { - if (C = typeof V == "boolean" ? V : S(), !C) - return h && (clearTimeout(h), h = null), C; - if (b && !h) { - const j = b, L = v || 50; - b = null, v = 0, x(j, Math.min(L, 50)); + }, W = (Y = null, { resumeQueuedReload: F = !0 } = {}) => { + if (h = typeof Y == "boolean" ? Y : G(), !h) + return Z && (clearTimeout(Z), Z = null), h; + if (b && !Z) { + const N = b, V = L || 50; + b = null, L = 0, v(N, Math.min(V, 50)); } - return R && A > 0 && !g && k().catch((j) => { - var L; - return (L = console.debug) == null ? void 0 : L.call(console, j); - }), C; + return F && C > 0 && !g && X().catch((N) => { + var V; + return (V = console.debug) == null ? void 0 : V.call(console, N); + }), h; }, y = () => { - var V, R; + var Y, F; try { - return ((V = e == null ? void 0 : e.querySelector) == null ? void 0 : V.call(e, ".mjr-asset-card")) != null; - } catch (j) { - return (R = console.debug) == null || R.call(console, j), !1; + return ((Y = e == null ? void 0 : e.querySelector) == null ? void 0 : Y.call(e, ".mjr-asset-card")) != null; + } catch (N) { + return (F = console.debug) == null || F.call(console, N), !1; } - }, k = async () => { - var V; - if (!(!e || !(i != null && i.reloadGrid)) && (A += 1, !!W(null, { resumeQueuedReload: !1 }) && !g)) { + }, X = async () => { + var Y; + if (!(!e || !(i != null && i.reloadGrid)) && (C += 1, !!W(null, { resumeQueuedReload: !1 }) && !g)) { g = !0; try { - for (; A > 0; ) { + for (; C > 0; ) { if (!W(null, { resumeQueuedReload: !1 })) return; - A = 0; - const R = typeof o == "function" ? o(e) : null; + C = 0; + const F = typeof o == "function" ? o(e) : null; if (await i.reloadGrid(), !W(null, { resumeQueuedReload: !1 })) return; - if (R && typeof r == "function") + if (F && typeof r == "function") try { - const j = Number(a() || 0) || 0, L = Number((R == null ? void 0 : R.scrollTop) || 0) || 0; - if (Math.abs(j - L) > 8) + const N = Number(a() || 0) || 0, V = Number((F == null ? void 0 : F.scrollTop) || 0) || 0; + if (N > V + 8) continue; - await r(e, R); - } catch (j) { - (V = console.debug) == null || V.call(console, j); + await r(e, F); + } catch (N) { + (Y = console.debug) == null || Y.call(console, N); } } } finally { g = !1; } } - }, G = async (V) => { - var R; + }, x = async (Y) => { + var F; if (typeof l == "function") - return l(V); + return l(Y); try { - await V; - } catch (j) { - (R = console.debug) == null || R.call(console, j); + await Y; + } catch (N) { + (F = console.debug) == null || F.call(console, N); } - PM(() => { - var L, N, q; - const j = Number(a() || 0) || 0; - if (j > 0) + $M(() => { + var V, k, K; + const N = Number(a() || 0) || 0; + if (N > 0) try { - t.scrollTop = j; - } catch (O) { - (L = console.debug) == null || L.call(console, O); + t.scrollTop = N; + } catch (z) { + (V = console.debug) == null || V.call(console, z); } try { - c({ scrollTop: j }); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + c({ scrollTop: N }); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } if (d() && s()) try { u(); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } }); - }, z = async (V) => { - var j, L, N, q; + }, T = async (Y) => { + var N, V, k, K; try { - await V; - } catch (O) { - (j = console.debug) == null || j.call(console, O); + await Y; + } catch (z) { + (N = console.debug) == null || N.call(console, z); } - if (!e || typeof M != "function" || Z != null && Z.aborted) return; + if (!e || typeof S != "function" || A != null && A.aborted) return; if (!W()) { - b = V, v = 50; + b = Y, L = 50; return; } - let R = !1; + let F = !1; try { - R = e.querySelector(".mjr-asset-card") != null; - } catch (O) { - (L = console.debug) == null || L.call(console, O); + F = e.querySelector(".mjr-asset-card") != null; + } catch (z) { + (V = console.debug) == null || V.call(console, z); } - if (!R && String(p() || "output") === "output" && String(I() || "*") === "*") + if (!F && String(p() || "output") === "output" && String(I() || "*") === "*") try { - const O = await Rt(`${lt.HEALTH_COUNTERS}?scope=output`, { - signal: Z || void 0 + const z = await Ft(`${ct.HEALTH_COUNTERS}?scope=output`, { + signal: A || void 0 }); - O != null && O.ok && (((N = O.data) == null ? void 0 : N.total_assets) || 0) > 0 && await M(e); - } catch (O) { - (q = console.debug) == null || q.call(console, O); + z != null && z.ok && (((k = z.data) == null ? void 0 : k.total_assets) || 0) > 0 && await S(e); + } catch (z) { + (K = console.debug) == null || K.call(console, z); } - }, x = (V, R = 2e3) => (h && clearTimeout(h), W() ? (b = null, v = 0, h = setTimeout(() => { - h = null, z(V).catch(() => { + }, v = (Y, F = 2e3) => (Z && clearTimeout(Z), W() ? (b = null, L = 0, Z = setTimeout(() => { + Z = null, T(Y).catch(() => { }); - }, R), h) : (b = V, v = R, null)); + }, F), Z) : (b = Y, L = F, null)); return { - queuedReload: k, - restoreUiState: G, - scheduleAutoLoad: x, + queuedReload: X, + restoreUiState: x, + scheduleAutoLoad: v, createCountersUpdateHandler: ({ - state: V = {}, - getStableQuery: R = () => { - var L; - return String(((L = e == null ? void 0 : e.dataset) == null ? void 0 : L.mjrQuery) || "*").trim() || "*"; + state: Y = {}, + getStableQuery: F = () => { + var V; + return String(((V = e == null ? void 0 : e.dataset) == null ? void 0 : V.mjrQuery) || "*").trim() || "*"; }, - getRecentUserInteractionAt: j = () => 0 + getRecentUserInteractionAt: N = () => 0 } = {}) => { - const L = (globalThis == null ? void 0 : globalThis.window) ?? globalThis; - let N = null, q = null, O = null, B = !1, J = 0; - return async (T = {}) => { - var $, _, le, se, de; + const V = (globalThis == null ? void 0 : globalThis.window) ?? globalThis; + let k = null, K = null, z = null, B = !1, J = 0; + return async (P = {}) => { + var Q, _, le, de, se; if (!B) { - B = !0, N = T.last_scan_end, q = T.last_index_end, O = Number(T.total_assets ?? null); + B = !0, k = P.last_scan_end, K = P.last_index_end, z = Number(P.total_assets ?? null); return; } - const D = T.last_scan_end && T.last_scan_end !== N, Q = T.last_index_end && T.last_index_end !== q, E = Number(T.total_assets ?? null), K = String(R() || "*").trim() || "*", F = QM(V, K), Y = Number.isFinite(E) && Number.isFinite(O) ? E - O : 0, U = Math.max( + const H = P.last_scan_end && P.last_scan_end !== k, $ = P.last_index_end && P.last_index_end !== K, E = Number(P.total_assets ?? null), oe = String(F() || "*").trim() || "*", M = e2(Y, oe), j = Number.isFinite(E) && Number.isFinite(z) ? E - z : 0, O = Math.max( 0, - Number((L == null ? void 0 : L.__mjrLastAssetUpsertCount) || 0) || 0 - ), P = Y >= 20; - if (Number.isFinite(E) && (O = E), !F) { - N = T.last_scan_end, q = T.last_index_end; + Number((V == null ? void 0 : V.__mjrLastAssetUpsertCount) || 0) || 0 + ), D = j >= 20; + if (Number.isFinite(E) && (z = E), !M) { + k = P.last_scan_end, K = P.last_index_end; return; } - const oe = Date.now() - Number((L == null ? void 0 : L.__mjrLastAssetUpsert) || 0) < 15e3, ce = oe && Y > 0 && U > 0 && Y <= U + 8, pe = P && !D && !Q && y(); - Q && (q = T.last_index_end); - const H = Q && !D && !P && !oe; - if (ce && !D) { - N = T.last_scan_end, q = T.last_index_end; + const ee = Date.now() - Number((V == null ? void 0 : V.__mjrLastAssetUpsert) || 0) < 15e3, ce = ee && j > 0 && O > 0 && j <= O + 8, ue = D && !H && !$ && y(); + $ && (K = P.last_index_end); + const U = $ && !H && !D && !ee; + if (ce) { + k = P.last_scan_end, K = P.last_index_end; try { - L.__mjrLastAssetUpsertCount = 0; - } catch (Ze) { - ($ = console.debug) == null || $.call(console, Ze); + V.__mjrLastAssetUpsertCount = 0; + } catch (ge) { + (Q = console.debug) == null || Q.call(console, ge); } return; } - if (pe) { - N = T.last_scan_end, q = T.last_index_end; + if (ue) { + k = P.last_scan_end, K = P.last_index_end; return; } - if (!(oe && !D) && !(!D && !P && !H) && W()) { + if (!ee && !(!H && !D && !U) && W()) { try { if (Date.now() - Number(J || 0) < 15e3) return; - } catch (Ze) { - (_ = console.debug) == null || _.call(console, Ze); + } catch (ge) { + (_ = console.debug) == null || _.call(console, ge); } try { - if (Date.now() - Number(j() || 0) < 2e3) return; - } catch (Ze) { - (le = console.debug) == null || le.call(console, Ze); + if (Date.now() - Number(N() || 0) < 2e3) return; + } catch (ge) { + (le = console.debug) == null || le.call(console, ge); } - N = T.last_scan_end, q = T.last_index_end; + k = P.last_scan_end, K = P.last_index_end; try { - await k(); - } catch (Ze) { - (se = console.debug) == null || se.call(console, Ze); + await X(); + } catch (ge) { + (de = console.debug) == null || de.call(console, ge); } try { J = Date.now(); @@ -32973,55 +33019,55 @@ function tp({ J = 0; } try { - L.__mjrLastAssetUpsertCount = 0; - } catch (Ze) { - (de = console.debug) == null || de.call(console, Ze); + V.__mjrLastAssetUpsertCount = 0; + } catch (ge) { + (se = console.debug) == null || se.call(console, ge); } } }; }, bindSearchInput: ({ - searchInputEl: V, - lifecycleSignal: R = null, - debounceMs: j = 200, - onQueryChanged: L = () => { + searchInputEl: Y, + lifecycleSignal: F = null, + debounceMs: N = 200, + onQueryChanged: V = () => { }, - onBeforeReload: N = () => { + onBeforeReload: k = () => { }, - startSearchTimer: q = () => { + startSearchTimer: K = () => { }, - reloadGrid: O = () => { + reloadGrid: z = () => { } } = {}) => { - if (!V) return () => { + if (!Y) return () => { }; let B = ""; const J = () => { - var Q, E, K; + var $, E, oe; try { - N(); - } catch (F) { - (Q = console.debug) == null || Q.call(console, F); + k(); + } catch (M) { + ($ = console.debug) == null || $.call(console, M); } try { - q(); - } catch (F) { - (E = console.debug) == null || E.call(console, F); + K(); + } catch (M) { + (E = console.debug) == null || E.call(console, M); } try { - O(); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + z(); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); } - }, T = (Q) => { - var K, F; - const E = ((K = Q == null ? void 0 : Q.target) == null ? void 0 : K.value) ?? ""; + }, P = ($) => { + var oe, M; + const E = ((oe = $ == null ? void 0 : $.target) == null ? void 0 : oe.value) ?? ""; if (E !== B) { B = E; try { - L(E); - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + V(E); + } catch (j) { + (M = console.debug) == null || M.call(console, j); } if (f && clearTimeout(f), E.length === 0 || E === "*") { J(); @@ -33029,39 +33075,39 @@ function tp({ } f = setTimeout(() => { f = null, J(); - }, j); + }, N); } - }, D = (Q) => { - (Q == null ? void 0 : Q.key) === "Enter" && (f && (clearTimeout(f), f = null), J()); + }, H = ($) => { + ($ == null ? void 0 : $.key) === "Enter" && (f && (clearTimeout(f), f = null), J()); }; - return V.addEventListener("input", T, { - signal: R || void 0 - }), V.addEventListener("keypress", D, { - signal: R || void 0 + return Y.addEventListener("input", P, { + signal: F || void 0 + }), Y.addEventListener("keypress", H, { + signal: F || void 0 }), () => { - var Q, E; + var $, E; f && (clearTimeout(f), f = null); try { - V.removeEventListener("input", T); - } catch (K) { - (Q = console.debug) == null || Q.call(console, K); + Y.removeEventListener("input", P); + } catch (oe) { + ($ = console.debug) == null || $.call(console, oe); } try { - V.removeEventListener("keypress", D); - } catch (K) { - (E = console.debug) == null || E.call(console, K); + Y.removeEventListener("keypress", H); + } catch (oe) { + (E = console.debug) == null || E.call(console, oe); } }; }, - setVisibility(V = null) { - return W(V); + setVisibility(Y = null) { + return W(Y); }, dispose() { - h && (clearTimeout(h), h = null), b = null, v = 0, f && (clearTimeout(f), f = null); + Z && (clearTimeout(Z), Z = null), b = null, L = 0, f && (clearTimeout(f), f = null); } }; } -function _M(e, { useComfyThemeUI: t }) { +function t2(e, { useComfyThemeUI: t }) { var r, l, a; t ? e.classList.add("mjr-assets-manager") : e.classList.remove("mjr-assets-manager"); const n = e.parentElement || null, i = n ? { @@ -33074,7 +33120,7 @@ function _M(e, { useComfyThemeUI: t }) { } catch (c) { (r = console.debug) == null || r.call(console, c); } - xa(); + ja(); for (const c of [ () => { var s; @@ -33107,7 +33153,7 @@ function _M(e, { useComfyThemeUI: t }) { (l = console.debug) == null || l.call(console, s); } e.replaceChildren(), e.classList.add("mjr-am-container"); - const o = ib(e); + const o = ob(e); try { e._mjrPopoverManager = o; } catch (c) { @@ -33115,7 +33161,7 @@ function _M(e, { useComfyThemeUI: t }) { } return { popovers: o, hostWrapper: n, hostWrapperPrevStyle: i }; } -function $M({ +function n2({ container: e, state: t, sidebar: n, @@ -33131,136 +33177,136 @@ function $M({ getSidebarController: I, panelLifecycleAC: p }) { - var b, v, C; - let M = ""; - const Z = () => { - var S; + var b, L, h; + let S = ""; + const A = () => { + var G; try { const W = Xn(); - return !!(((S = W == null ? void 0 : W.ai) == null ? void 0 : S.vectorSearchEnabled) ?? !0); + return !!(((G = W == null ? void 0 : W.ai) == null ? void 0 : G.vectorSearchEnabled) ?? !0); } catch { return !0; } - }, A = (S) => { - var y, k, G; - const W = !!S; + }, C = (G) => { + var y, X, x; + const W = !!G; try { e.classList.toggle("mjr-ai-disabled", !W); - } catch (z) { - (y = console.debug) == null || y.call(console, z); + } catch (T) { + (y = console.debug) == null || y.call(console, T); } try { r.disabled = !W, r.title = W ? a : c; - } catch (z) { - (k = console.debug) == null || k.call(console, z); + } catch (T) { + (X = console.debug) == null || X.call(console, T); } try { l == null || l(W); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - }, g = (S) => { - var G, z, x, w, X, V; - const W = String(S || "right").toLowerCase() === "left" ? "left" : "right"; - if (M === W) return; - M = W; - let y = 0, k = 0; + }, g = (G) => { + var x, T, v, w, R, Y; + const W = String(G || "right").toLowerCase() === "left" ? "left" : "right"; + if (S === W) return; + S = W; + let y = 0, X = 0; try { - y = Number((o == null ? void 0 : o.scrollTop) || 0) || 0, k = Number((o == null ? void 0 : o.scrollLeft) || 0) || 0; - } catch (R) { - (G = console.debug) == null || G.call(console, R); + y = Number((o == null ? void 0 : o.scrollTop) || 0) || 0, X = Number((o == null ? void 0 : o.scrollLeft) || 0) || 0; + } catch (F) { + (x = console.debug) == null || x.call(console, F); } try { n.dataset.position = W; - const R = (x = (z = n.classList) == null ? void 0 : z.contains) == null ? void 0 : x.call(z, "is-open"), j = "var(--mjr-border, rgba(255,255,255,0.12))"; - n.style.borderLeft = W === "left" ? "none" : R ? `1px solid ${j}` : "none", n.style.borderRight = W === "left" && R ? `1px solid ${j}` : "none"; - } catch (R) { - (w = console.debug) == null || w.call(console, R); + const F = (v = (T = n.classList) == null ? void 0 : T.contains) == null ? void 0 : v.call(T, "is-open"), N = "var(--mjr-border, rgba(255,255,255,0.12))"; + n.style.borderLeft = W === "left" ? "none" : F ? `1px solid ${N}` : "none", n.style.borderRight = W === "left" && F ? `1px solid ${N}` : "none"; + } catch (F) { + (w = console.debug) == null || w.call(console, F); } try { W === "left" ? (i.appendChild(n), i.appendChild(o), i.insertBefore(n, i.firstChild)) : (i.appendChild(o), i.appendChild(n)); - } catch (R) { - (X = console.debug) == null || X.call(console, R); + } catch (F) { + (R = console.debug) == null || R.call(console, F); } try { requestAnimationFrame(() => { - var R; + var F; try { - o.scrollTop = y, o.scrollLeft = k; - } catch (j) { - (R = console.debug) == null || R.call(console, j); + o.scrollTop = y, o.scrollLeft = X; + } catch (N) { + (F = console.debug) == null || F.call(console, N); } }); } catch { try { - o.scrollTop = y, o.scrollLeft = k; - } catch (R) { - (V = console.debug) == null || V.call(console, R); + o.scrollTop = y, o.scrollLeft = X; + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } - }, h = async (S) => { - var G, z, x, w; - const W = String(S || t.scope || "output").toLowerCase(), y = Xn(), k = !!((G = y == null ? void 0 : y.watcher) != null && G.enabled); + }, Z = async (G) => { + var x, T, v, w; + const W = String(G || t.scope || "output").toLowerCase(), y = Xn(), X = !!((x = y == null ? void 0 : y.watcher) != null && x.enabled); if (W === "custom") { try { - await wa(!1); - } catch (X) { - (z = console.debug) == null || z.call(console, X); + await Ma(!1); + } catch (R) { + (T = console.debug) == null || T.call(console, R); } return; } try { - await wa(k); - } catch (X) { - (x = console.debug) == null || x.call(console, X); + await Ma(X); + } catch (R) { + (v = console.debug) == null || v.call(console, R); } - if (k) + if (X) try { - await Lf({ scope: W, customRootId: "" }); - } catch (X) { - (w = console.debug) == null || w.call(console, X); + await kf({ scope: W, customRootId: "" }); + } catch (R) { + (w = console.debug) == null || w.call(console, R); } - }, f = (S) => { - var x, w, X, V, R, j, L, N, q, O, B; - const W = String(((x = S == null ? void 0 : S.detail) == null ? void 0 : x.key) || "").trim(), y = W === "__init__", k = y || W.startsWith("grid.") || W.startsWith("infiniteScroll.") || W.startsWith("siblings.") || W.startsWith("search.") || W.startsWith("rtHydrate.") || W.startsWith("workflowMinimap."), G = y || W.startsWith("sidebar.") || W.startsWith("ai."), z = y || W.startsWith("watcher."); + }, f = (G) => { + var v, w, R, Y, F, N, V, k, K, z, B; + const W = String(((v = G == null ? void 0 : G.detail) == null ? void 0 : v.key) || "").trim(), y = W === "__init__", X = y || W.startsWith("grid.") || W.startsWith("infiniteScroll.") || W.startsWith("siblings.") || W.startsWith("search.") || W.startsWith("rtHydrate.") || W.startsWith("workflowMinimap."), x = y || W.startsWith("sidebar.") || W.startsWith("ai."), T = y || W.startsWith("watcher."); try { - const J = Xn(), T = !!(((w = J == null ? void 0 : J.ai) == null ? void 0 : w.vectorSearchEnabled) ?? !0), D = String(((X = J == null ? void 0 : J.ui) == null ? void 0 : X.cardHoverColor) || "").trim(), Q = String(((V = J == null ? void 0 : J.ui) == null ? void 0 : V.cardSelectionColor) || "").trim(), E = String(((R = J == null ? void 0 : J.ui) == null ? void 0 : R.ratingColor) || "").trim(), K = String(((j = J == null ? void 0 : J.ui) == null ? void 0 : j.tagColor) || "").trim(); - if (/^#[0-9a-fA-F]{3,8}$/.test(D) && document.documentElement.style.setProperty("--mjr-card-hover-color", D), /^#[0-9a-fA-F]{3,8}$/.test(Q) && document.documentElement.style.setProperty("--mjr-card-selection-color", Q), /^#[0-9a-fA-F]{3,8}$/.test(E) && document.documentElement.style.setProperty("--mjr-rating-color", E), /^#[0-9a-fA-F]{3,8}$/.test(K) && document.documentElement.style.setProperty("--mjr-tag-color", K), g(((L = J.sidebar) == null ? void 0 : L.position) || "right"), A(T), k) { - const F = wo() || null; + const J = Xn(), P = !!(((w = J == null ? void 0 : J.ai) == null ? void 0 : w.vectorSearchEnabled) ?? !0), H = String(((R = J == null ? void 0 : J.ui) == null ? void 0 : R.cardHoverColor) || "").trim(), $ = String(((Y = J == null ? void 0 : J.ui) == null ? void 0 : Y.cardSelectionColor) || "").trim(), E = String(((F = J == null ? void 0 : J.ui) == null ? void 0 : F.ratingColor) || "").trim(), oe = String(((N = J == null ? void 0 : J.ui) == null ? void 0 : N.tagColor) || "").trim(); + if (/^#[0-9a-fA-F]{3,8}$/.test(H) && document.documentElement.style.setProperty("--mjr-card-hover-color", H), /^#[0-9a-fA-F]{3,8}$/.test($) && document.documentElement.style.setProperty("--mjr-card-selection-color", $), /^#[0-9a-fA-F]{3,8}$/.test(E) && document.documentElement.style.setProperty("--mjr-rating-color", E), /^#[0-9a-fA-F]{3,8}$/.test(oe) && document.documentElement.style.setProperty("--mjr-tag-color", oe), g(((V = J.sidebar) == null ? void 0 : V.position) || "right"), C(P), X) { + const M = So() || null; if (!y && W.startsWith("siblings.")) try { - F == null || F.dispatchEvent(new CustomEvent("mjr:reload-grid")); + M == null || M.dispatchEvent(new CustomEvent("mjr:reload-grid")); } catch { - F && s(F); + M && s(M); } - else (W.startsWith("grid.") || W.startsWith("workflowMinimap.")) && F && s(F); + else (W.startsWith("grid.") || W.startsWith("workflowMinimap.")) && M && s(M); } - G && d() && u() && ((q = (N = I()) == null ? void 0 : N.refreshActiveAsset) == null || q.call(N)); + x && d() && u() && ((K = (k = I()) == null ? void 0 : k.refreshActiveAsset) == null || K.call(k)); } catch (J) { - (O = console.debug) == null || O.call(console, J); + (z = console.debug) == null || z.call(console, J); } try { - if (!z) return; - h(t.scope); + if (!T) return; + Z(t.scope); } catch (J) { (B = console.debug) == null || B.call(console, J); } }; try { f({ detail: { key: "__init__" } }); - } catch (S) { - (b = console.debug) == null || b.call(console, S); + } catch (G) { + (b = console.debug) == null || b.call(console, G); } try { - (v = window.addEventListener) == null || v.call(window, "mjr-settings-changed", f, { + (L = window.addEventListener) == null || L.call(window, "mjr-settings-changed", f, { signal: p == null ? void 0 : p.signal }); - } catch (S) { - (C = console.debug) == null || C.call(console, S); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } - return { applyWatcherForScope: h, isAiEnabled: Z, applyAiUiState: A, applySidebarPosition: g }; + return { applyWatcherForScope: Z, isAiEnabled: A, applyAiUiState: C, applySidebarPosition: g }; } -function e2({ +function i2({ gridContainer: e, panelLifecycleAC: t, requestQueuedReload: n, @@ -33272,142 +33318,142 @@ function e2({ gridController: c, registerSummaryDispose: s }) { - var u, I, p, M, Z; + var u, I, p, S, A; let d = null; try { d = () => n(), e.addEventListener("mjr:reload-grid", d, { signal: t == null ? void 0 : t.signal }), s(() => { - var A; + var C; try { d && e.removeEventListener("mjr:reload-grid", d); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } d = null; }); - } catch (A) { - (u = console.debug) == null || u.call(console, A); + } catch (C) { + (u = console.debug) == null || u.call(console, C); } try { - const A = (g) => { - var h, f, b, v, C, S; + const C = (g) => { + var Z, f, b, L, h, G; try { const W = (g == null ? void 0 : g.detail) || {}, y = String((W == null ? void 0 : W.filenameKey) || "").trim().toLowerCase(); if (!y || !e) return; - const k = Array.from( + const X = Array.from( e.querySelectorAll(".mjr-asset-card") ).filter( (w) => { - var X; - return String(((X = w == null ? void 0 : w.dataset) == null ? void 0 : X.mjrFilenameKey) || "").trim().toLowerCase() === y; + var R; + return String(((R = w == null ? void 0 : w.dataset) == null ? void 0 : R.mjrFilenameKey) || "").trim().toLowerCase() === y; } ); - if (!k.length) return; - const G = k.map((w) => { - var X; - return String(((X = w == null ? void 0 : w.dataset) == null ? void 0 : X.mjrAssetId) || "").trim(); - }).filter(Boolean), z = String(((f = (h = k[0]) == null ? void 0 : h.dataset) == null ? void 0 : f.mjrAssetId) || G[0] || "").trim(); - G.length && typeof (e == null ? void 0 : e._mjrSetSelection) == "function" && e._mjrSetSelection(G, z), (v = (b = k[0]) == null ? void 0 : b.scrollIntoView) == null || v.call(b, { block: "nearest", behavior: "smooth" }), o(), i(); - const x = Number((W == null ? void 0 : W.count) || G.length || k.length || 0); + if (!X.length) return; + const x = X.map((w) => { + var R; + return String(((R = w == null ? void 0 : w.dataset) == null ? void 0 : R.mjrAssetId) || "").trim(); + }).filter(Boolean), T = String(((f = (Z = X[0]) == null ? void 0 : Z.dataset) == null ? void 0 : f.mjrAssetId) || x[0] || "").trim(); + x.length && typeof (e == null ? void 0 : e._mjrSetSelection) == "function" && e._mjrSetSelection(x, T), (L = (b = X[0]) == null ? void 0 : b.scrollIntoView) == null || L.call(b, { block: "nearest", behavior: "smooth" }), o(), i(); + const v = Number((W == null ? void 0 : W.count) || x.length || X.length || 0); try { - Ce( + Ze( m( "toast.nameCollisionInView", "Name collision in view: {n} item(s) selected", - { n: x } + { n: v } ), "info", 1800 ); } catch (w) { - (C = console.debug) == null || C.call(console, w); + (h = console.debug) == null || h.call(console, w); } } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } }; - e.addEventListener("mjr:badge-duplicates-focus", A, { + e.addEventListener("mjr:badge-duplicates-focus", C, { signal: t == null ? void 0 : t.signal }), s(() => { var g; try { e.removeEventListener( "mjr:badge-duplicates-focus", - A + C ); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } }); - } catch (A) { - (I = console.debug) == null || I.call(console, A); + } catch (C) { + (I = console.debug) == null || I.call(console, C); } try { window.addEventListener( "mjr:reload-grid", - (A) => { - var h, f, b, v; + (C) => { + var Z, f, b, L; try { - if ((h = t == null ? void 0 : t.signal) != null && h.aborted) return; - } catch (C) { - (f = console.debug) == null || f.call(console, C); + if ((Z = t == null ? void 0 : t.signal) != null && Z.aborted) return; + } catch (h) { + (f = console.debug) == null || f.call(console, h); } try { if (globalThis != null && globalThis._mjrMaintenanceActive) return; - } catch (C) { - (b = console.debug) == null || b.call(console, C); + } catch (h) { + (b = console.debug) == null || b.call(console, h); } - String(((v = A == null ? void 0 : A.detail) == null ? void 0 : v.reason) || "").trim() && n(); + String(((L = C == null ? void 0 : C.detail) == null ? void 0 : L.reason) || "").trim() && n(); }, { signal: t == null ? void 0 : t.signal } ); - } catch (A) { - (p = console.debug) == null || p.call(console, A); + } catch (C) { + (p = console.debug) == null || p.call(console, C); } try { window.addEventListener( "mjr:sort-changed", () => { - var A, g, h; + var C, g, Z; try { - if ((A = t == null ? void 0 : t.signal) != null && A.aborted) return; + if ((C = t == null ? void 0 : t.signal) != null && C.aborted) return; } catch (f) { (g = console.debug) == null || g.call(console, f); } try { i(); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } c.reloadGrid().catch(() => { }); }, { signal: t == null ? void 0 : t.signal } ); - } catch (A) { - (M = console.debug) == null || M.call(console, A); + } catch (C) { + (S = console.debug) == null || S.call(console, C); } try { window.addEventListener( "mjr:collections-changed", - (A) => { - var b, v, C, S, W; + (C) => { + var b, L, h, G, W; try { if ((b = t == null ? void 0 : t.signal) != null && b.aborted) return; } catch (y) { - (v = console.debug) == null || v.call(console, y); + (L = console.debug) == null || L.call(console, y); } - const g = A != null && A.detail && typeof A.detail == "object" ? A.detail : {}, h = String(g.collectionId || "").trim(), f = String(g.collectionName || "").trim(); + const g = C != null && C.detail && typeof C.detail == "object" ? C.detail : {}, Z = String(g.collectionId || "").trim(), f = String(g.collectionName || "").trim(); try { - r("collectionId", h), r("collectionName", f); + r("collectionId", Z), r("collectionName", f); } catch (y) { - (C = console.debug) == null || C.call(console, y); + (h = console.debug) == null || h.call(console, y); } try { i(); } catch (y) { - (S = console.debug) == null || S.call(console, y); + (G = console.debug) == null || G.call(console, y); } try { g.close !== !1 && l.close(a); @@ -33419,11 +33465,11 @@ function e2({ }, { signal: t == null ? void 0 : t.signal } ); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } } -function t2({ +function o2({ similarBtn: e, gridContainer: t, state: n, @@ -33440,21 +33486,21 @@ function t2({ e == null || e.addEventListener( "click", async (I) => { - var A, g, h; + var C, g, Z; if (I.stopPropagation(), !o()) { - Ce(r, "info", 2200); + Ze(r, "info", 2200); return; } try { u(); } catch (f) { - (A = console.debug) == null || A.call(console, f); + (C = console.debug) == null || C.call(console, f); } const p = String( l() || a()[0] || "" - ).trim(), M = Number(p); - if (!Number.isFinite(M) || M <= 0) { - Ce( + ).trim(), S = Number(p); + if (!Number.isFinite(S) || S <= 0) { + Ze( m( "search.selectAssetForSimilar", "Select an asset first to find similar images/videos." @@ -33464,16 +33510,16 @@ function t2({ ); return; } - const Z = e.title; + const A = e.title; e.disabled = !0, e.title = m("search.findingSimilar", "Finding similar assets..."); try { - const f = await Kf(M, { + const f = await Hf(S, { topK: 100, scope: n.scope || "output", customRootId: n.customRootId || "" }); if (!(f != null && f.ok)) { - Ce( + Ze( String( (f == null ? void 0 : f.error) || m("search.findSimilarFailed", "Failed to find similar assets") ), @@ -33483,42 +33529,42 @@ function t2({ return; } const b = Array.isArray(f == null ? void 0 : f.data) ? f.data : []; - s("similarResults", b), s("similarSourceAssetId", String(M)), s( + s("similarResults", b), s("similarSourceAssetId", String(S)), s( "similarTitle", m("search.similarResults", "Similar to asset #{id} ({n} results)", { - id: M, + id: S, n: b.length }) ), await ((g = d == null ? void 0 : d.setScope) == null ? void 0 : g.call(d, "similar")); } catch (f) { - (h = console.debug) == null || h.call(console, f), Ce( + (Z = console.debug) == null || Z.call(console, f), Ze( m("search.findSimilarFailed", "Failed to find similar assets"), "error", 3e3 ); } finally { - e.disabled = !1, e.title = Z; + e.disabled = !1, e.title = A; } }, { signal: i == null ? void 0 : i.signal } ), t == null || t.addEventListener( - ft.OPEN_STACK_GROUP, + ht.OPEN_STACK_GROUP, async (I) => { - var p, M, Z; + var p, S, A; try { - const A = (I == null ? void 0 : I.detail) || {}, g = Array.isArray(A == null ? void 0 : A.members) ? A.members : []; - s("similarResults", g), s("similarSourceAssetId", String(((p = A == null ? void 0 : A.asset) == null ? void 0 : p.id) || "")), s( + const C = (I == null ? void 0 : I.detail) || {}, g = Array.isArray(C == null ? void 0 : C.members) ? C.members : []; + s("similarResults", g), s("similarSourceAssetId", String(((p = C == null ? void 0 : C.asset) == null ? void 0 : p.id) || "")), s( "similarTitle", - String((A == null ? void 0 : A.title) || "").trim() || `Generation group (${g.length} assets)` - ), await ((M = d == null ? void 0 : d.setScope) == null ? void 0 : M.call(d, "similar")); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + String((C == null ? void 0 : C.title) || "").trim() || `Generation group (${g.length} assets)` + ), await ((S = d == null ? void 0 : d.setScope) == null ? void 0 : S.call(d, "similar")); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } }, { signal: i == null ? void 0 : i.signal } ); } -function n2({ +function r2({ pinnedFoldersBtn: e, pinnedFoldersMenu: t, pinnedFoldersPopover: n, @@ -33533,9 +33579,9 @@ function n2({ applyWatcherForScope: u, refreshDuplicateAlerts: I, notifyContextChanged: p, - panelLifecycleAC: M + panelLifecycleAC: S }) { - const Z = (g, { right: h = null, danger: f = !1 } = {}) => { + const A = (g, { right: Z = null, danger: f = !1 } = {}) => { const b = document.createElement("button"); b.type = "button", b.className = "mjr-menu-item", f && (b.style.color = "var(--error-text, #f44336)"), b.style.cssText = ` display:flex; @@ -33549,38 +33595,38 @@ function n2({ background:linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); transition: border-color 120ms ease, background 120ms ease; `; - const v = document.createElement("span"); - v.textContent = String(g || ""), v.style.cssText = "font-weight:600; color:var(--fg-color, #e6edf7);"; - const C = document.createElement("span"); - if (C.style.cssText = "display:flex; align-items:center; gap:8px;", h) { - const S = document.createElement("span"); - S.textContent = String(h), S.style.cssText = "opacity:0.68; font-size:11px;", C.appendChild(S); + const L = document.createElement("span"); + L.textContent = String(g || ""), L.style.cssText = "font-weight:600; color:var(--fg-color, #e6edf7);"; + const h = document.createElement("span"); + if (h.style.cssText = "display:flex; align-items:center; gap:8px;", Z) { + const G = document.createElement("span"); + G.textContent = String(Z), G.style.cssText = "opacity:0.68; font-size:11px;", h.appendChild(G); } - return b.appendChild(v), b.appendChild(C), b.addEventListener( + return b.appendChild(L), b.appendChild(h), b.addEventListener( "mouseenter", () => { b.style.borderColor = "rgba(145,205,255,0.4)", b.style.background = "linear-gradient(135deg, rgba(80,140,255,0.18), rgba(32,100,200,0.14))"; }, - { signal: M == null ? void 0 : M.signal } + { signal: S == null ? void 0 : S.signal } ), b.addEventListener( "mouseleave", () => { b.style.borderColor = "rgba(120,190,255,0.18)", b.style.background = "linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01))"; }, - { signal: M == null ? void 0 : M.signal } + { signal: S == null ? void 0 : S.signal } ), b; - }, A = async () => { - var h, f; + }, C = async () => { + var Z, f; try { t.replaceChildren(); } catch (b) { - (h = console.debug) == null || h.call(console, b); + (Z = console.debug) == null || Z.call(console, b); } let g = []; try { - const b = await Rt( - lt.CUSTOM_ROOTS, - M != null && M.signal ? { signal: M.signal } : void 0 + const b = await Ft( + ct.CUSTOM_ROOTS, + S != null && S.signal ? { signal: S.signal } : void 0 ); g = b != null && b.ok && Array.isArray(b.data) ? b.data : []; } catch (b) { @@ -33592,98 +33638,98 @@ function n2({ return; } for (const b of g) { - const v = String((b == null ? void 0 : b.id) || "").trim(); - if (!v) continue; - const C = String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.path) || v).trim(), S = String((b == null ? void 0 : b.path) || "").trim(), W = document.createElement("div"); + const L = String((b == null ? void 0 : b.id) || "").trim(); + if (!L) continue; + const h = String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.path) || L).trim(), G = String((b == null ? void 0 : b.path) || "").trim(), W = document.createElement("div"); W.style.cssText = "display:flex; align-items:stretch; width:100%;"; - const y = Z(C, { right: S || null }); + const y = A(h, { right: G || null }); y.style.flex = "1", y.addEventListener( "click", async () => { - var z, x, w, X, V, R, j; + var T, v, w, R, Y, F, N; r.scope = "custom"; try { l && (l.dataset.mjrScope = "custom"); - } catch (L) { - (z = console.debug) == null || z.call(console, L); + } catch (V) { + (T = console.debug) == null || T.call(console, V); } - r.customRootId = v, r.customRootLabel = C, r.currentFolderRelativePath = ""; + r.customRootId = L, r.customRootLabel = h, r.currentFolderRelativePath = ""; try { - a && (a.value = v); - } catch (L) { - (x = console.debug) == null || x.call(console, L); + a && (a.value = L); + } catch (V) { + (v = console.debug) == null || v.call(console, V); } try { (w = c == null ? void 0 : c.setActiveTabStyles) == null || w.call(c); - } catch (L) { - (X = console.debug) == null || X.call(console, L); + } catch (V) { + (R = console.debug) == null || R.call(console, V); } try { await u(r.scope); - } catch (L) { - (V = console.debug) == null || V.call(console, L); + } catch (V) { + (Y = console.debug) == null || Y.call(console, V); } try { await I(); - } catch (L) { - (R = console.debug) == null || R.call(console, L); + } catch (V) { + (F = console.debug) == null || F.call(console, V); } try { p(); - } catch (L) { - (j = console.debug) == null || j.call(console, L); + } catch (V) { + (N = console.debug) == null || N.call(console, V); } i.close(n), await d.reloadGrid(); }, - { signal: M == null ? void 0 : M.signal } + { signal: S == null ? void 0 : S.signal } ); - const k = document.createElement("button"); - k.type = "button", k.className = "mjr-menu-item", k.title = m("ctx.unpinFolder", "Unpin folder"), k.style.cssText = "width:42px; justify-content:center; padding:0; border:1px solid rgba(255,95,95,0.35); border-radius:9px; margin-left:6px; background: linear-gradient(135deg, rgba(255,70,70,0.16), rgba(160,20,20,0.12));"; - const G = document.createElement("i"); - G.className = "pi pi-times", G.style.cssText = "opacity:0.88; color: rgba(255,130,130,0.96);", k.appendChild(G), k.addEventListener( + const X = document.createElement("button"); + X.type = "button", X.className = "mjr-menu-item", X.title = m("ctx.unpinFolder", "Unpin folder"), X.style.cssText = "width:42px; justify-content:center; padding:0; border:1px solid rgba(255,95,95,0.35); border-radius:9px; margin-left:6px; background: linear-gradient(135deg, rgba(255,70,70,0.16), rgba(160,20,20,0.12));"; + const x = document.createElement("i"); + x.className = "pi pi-times", x.style.cssText = "opacity:0.88; color: rgba(255,130,130,0.96);", X.appendChild(x), X.addEventListener( "click", - async (z) => { - var X; - if (z.preventDefault(), z.stopPropagation(), !await bi( - m("dialog.unpinFolder", 'Unpin folder "{name}"?', { name: C }) + async (T) => { + var R; + if (T.preventDefault(), T.stopPropagation(), !await yi( + m("dialog.unpinFolder", 'Unpin folder "{name}"?', { name: h }) )) return; - const w = await Et(lt.CUSTOM_ROOTS_REMOVE, { id: v }); + const w = await Et(ct.CUSTOM_ROOTS_REMOVE, { id: L }); if (!(w != null && w.ok)) { - Ce( + Ze( (w == null ? void 0 : w.error) || m("toast.unpinFolderFailed", "Failed to unpin folder"), "error" ); return; } - String(r.customRootId || "") === v && (r.customRootId = "", r.customRootLabel = "", r.currentFolderRelativePath = ""); + String(r.customRootId || "") === L && (r.customRootId = "", r.customRootLabel = "", r.currentFolderRelativePath = ""); try { await s.refreshCustomRoots(); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } - await A(), await d.reloadGrid(); + await C(), await d.reloadGrid(); }, - { signal: M == null ? void 0 : M.signal } - ), W.appendChild(y), W.appendChild(k), t.appendChild(W); + { signal: S == null ? void 0 : S.signal } + ), W.appendChild(y), W.appendChild(X), t.appendChild(W); } }; e == null || e.addEventListener( "click", async (g) => { - var h; + var Z; g.stopPropagation(); try { - await A(); + await C(); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } o(), i.toggle(n, e); }, - { signal: M == null ? void 0 : M.signal } + { signal: S == null ? void 0 : S.signal } ); } -const hs = (e) => String(e).padStart(2, "0"); -function Sc(e) { +const Zs = (e) => String(e).padStart(2, "0"); +function Gc(e) { try { const t = String(e || "").trim(); if (!/^\d{4}-\d{2}-\d{2}$/.test(t)) return null; @@ -33695,51 +33741,51 @@ function Sc(e) { return null; } } -function Sm(e) { +function xm(e) { try { const t = e.getFullYear(), n = e.getMonth() + 1, i = e.getDate(); - return `${t}-${hs(n)}-${hs(i)}`; + return `${t}-${Zs(n)}-${Zs(i)}`; } catch { return ""; } } -function i2(e) { +function l2(e) { try { const t = e.getFullYear(), n = e.getMonth() + 1; - return `${t}-${hs(n)}`; + return `${t}-${Zs(n)}`; } catch { return ""; } } -function Gm(e) { +function jm(e) { try { return new Date(e.getFullYear(), e.getMonth(), 1); } catch { return /* @__PURE__ */ new Date(); } } -function xm(e, t) { +function vm(e, t) { try { return new Date(e.getFullYear(), e.getMonth() + t, 1); } catch { return /* @__PURE__ */ new Date(); } } -function o2(e) { +function a2(e) { try { return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate(); } catch { return 31; } } -function r2(e) { +function c2(e) { try { return (e.getDay() + 6) % 7; } catch { return 0; } } -function jm(e, t) { +function Lm(e, t) { var n, i; if (e) try { @@ -33749,13 +33795,13 @@ function jm(e, t) { (i = console.debug) == null || i.call(console, o); } } -async function l2({ state: e, monthKey: t }) { +async function s2({ state: e, monthKey: t }) { var n; try { const i = String((e == null ? void 0 : e.scope) || "output"); if (i === "collection") return { ok: !0, days: {} }; - const o = String((e == null ? void 0 : e.currentFolderRelativePath) || "").trim(), r = i === "custom" && !(e != null && e.customRootId) ? null : o || null, l = iy({ + const o = String((e == null ? void 0 : e.currentFolderRelativePath) || "").trim(), r = i === "custom" && !(e != null && e.customRootId) ? null : o || null, l = ly({ scope: i, customRootId: (e == null ? void 0 : e.customRootId) || null, subfolder: r, @@ -33775,13 +33821,13 @@ async function l2({ state: e, monthKey: t }) { // Applying active date filters here can collapse highlights to a single day (or none). dateRange: null, dateExact: null - }), a = await Rt(l); + }), a = await Ft(l); return !a || !a.ok ? { ok: !1, error: (a == null ? void 0 : a.error) || "Histogram error" } : { ok: !0, days: (n = a == null ? void 0 : a.data) != null && n.days && typeof a.data.days == "object" ? a.data.days : {} }; } catch (i) { return { ok: !1, error: (i == null ? void 0 : i.message) || "Histogram error" }; } } -function a2({ +function d2({ container: e, hiddenInput: t, state: n, @@ -33808,71 +33854,71 @@ function a2({ u.type = "button", u.className = "mjr-btn mjr-agenda-clear", u.textContent = "Clear"; const I = document.createElement("button"); I.type = "button", I.className = "mjr-btn mjr-agenda-refresh", I.textContent = "Refresh", d.appendChild(u), d.appendChild(I), o.appendChild(r), o.appendChild(s), o.appendChild(d), e.appendChild(o); - let p = Gm(Sc(t.value) || /* @__PURE__ */ new Date()), M = {}, Z = 0, A = !1; + let p = jm(Gc(t.value) || /* @__PURE__ */ new Date()), S = {}, A = 0, C = !1; const g = () => { - if (A) return; + if (C) return; const f = p.getFullYear(), b = p.getMonth(); a.textContent = p.toLocaleString(void 0, { month: "long", year: "numeric" }), s.innerHTML = ""; - const v = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; - for (const G of v) { - const z = document.createElement("div"); - z.className = "mjr-agenda-weekday", z.textContent = G, s.appendChild(z); + const L = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; + for (const x of L) { + const T = document.createElement("div"); + T.className = "mjr-agenda-weekday", T.textContent = x, s.appendChild(T); } - const C = new Date(f, b, 1), S = r2(C), W = o2(p), y = Sc(t.value), k = y ? Sm(y) : ""; - for (let G = 0; G < S; G++) { - const z = document.createElement("div"); - z.className = "mjr-agenda-day mjr-agenda-day--blank", s.appendChild(z); + const h = new Date(f, b, 1), G = c2(h), W = a2(p), y = Gc(t.value), X = y ? xm(y) : ""; + for (let x = 0; x < G; x++) { + const T = document.createElement("div"); + T.className = "mjr-agenda-day mjr-agenda-day--blank", s.appendChild(T); } - for (let G = 1; G <= W; G++) { - const z = new Date(f, b, G), x = Sm(z), w = Number((M == null ? void 0 : M[x]) || 0) || 0, X = document.createElement("button"); - if (X.type = "button", X.className = "mjr-agenda-day", X.textContent = String(G), X.dataset.date = x, w > 0) { - X.classList.add("mjr-agenda-day--has-assets"), X.title = `${w} asset${w === 1 ? "" : "s"}`; - const V = document.createElement("span"); - V.className = "mjr-agenda-day-badge", V.textContent = w > 99 ? "99+" : String(w), V.setAttribute("aria-label", `${w} asset${w === 1 ? "" : "s"}`), X.appendChild(V); + for (let x = 1; x <= W; x++) { + const T = new Date(f, b, x), v = xm(T), w = Number((S == null ? void 0 : S[v]) || 0) || 0, R = document.createElement("button"); + if (R.type = "button", R.className = "mjr-agenda-day", R.textContent = String(x), R.dataset.date = v, w > 0) { + R.classList.add("mjr-agenda-day--has-assets"), R.title = `${w} asset${w === 1 ? "" : "s"}`; + const Y = document.createElement("span"); + Y.className = "mjr-agenda-day-badge", Y.textContent = w > 99 ? "99+" : String(w), Y.setAttribute("aria-label", `${w} asset${w === 1 ? "" : "s"}`), R.appendChild(Y); } else - X.title = m("tooltip.noAssetsDay", "No assets on this day"); - x === k && X.classList.add("mjr-agenda-day--selected"), X.addEventListener("click", () => { - const V = String(t.value || "").trim(); - jm(t, V === x ? "" : x); - }), s.appendChild(X); + R.title = m("tooltip.noAssetsDay", "No assets on this day"); + v === X && R.classList.add("mjr-agenda-day--selected"), R.addEventListener("click", () => { + const Y = String(t.value || "").trim(); + Lm(t, Y === v ? "" : v); + }), s.appendChild(R); } - }, h = async () => { - if (A) return; - const f = i2(p); + }, Z = async () => { + if (C) return; + const f = l2(p); if (!f) return; - Z += 1; - const b = Z, v = await l2({ state: n, monthKey: f }); - A || b === Z && (v.ok ? M = v.days || {} : M = {}, g()); + A += 1; + const b = A, L = await s2({ state: n, monthKey: f }); + C || b === A && (L.ok ? S = L.days || {} : S = {}, g()); }; return l.addEventListener("click", async () => { - p = xm(p, -1), await h(); + p = vm(p, -1), await Z(); }), c.addEventListener("click", async () => { - p = xm(p, 1), await h(); + p = vm(p, 1), await Z(); }), u.addEventListener("click", () => { var f; - jm(t, ""); + Lm(t, ""); try { i == null || i(); } catch (b) { (f = console.debug) == null || f.call(console, b); } }), I.addEventListener("click", async () => { - await h(); + await Z(); }), t.addEventListener("change", () => { - const f = Sc(t.value); + const f = Gc(t.value); if (f) { - const b = Gm(f); + const b = jm(f); (b.getFullYear() !== p.getFullYear() || b.getMonth() !== p.getMonth()) && (p = b); } g(); - }), g(), h(), { - refresh: h, + }), g(), Z(), { + refresh: Z, dispose() { var f; - A = !0; + C = !0; try { o.remove(); } catch (b) { @@ -33881,13 +33927,13 @@ function a2({ } }; } -const nr = (e) => { +const or = (e) => { const t = String(e ?? "").trim(); if (!t) return 0; const n = t.replace(",", "."), i = Number(n); return Number.isFinite(i) ? i : 0; }; -function c2({ +function u2({ state: e, kindSelect: t, wfCheckbox: n, @@ -33902,13 +33948,13 @@ function c2({ maxHeightInput: u, dateRangeSelect: I, dateExactInput: p, - reloadGrid: M, - reconcileSelection: Z = null, - onFiltersChanged: A = null, + reloadGrid: S, + reconcileSelection: A = null, + onFiltersChanged: C = null, lifecycleSignal: g = null }) { - var y, k; - const { write: h } = no(e, [ + var y, X; + const { write: Z } = oo(e, [ "kindFilter", "workflowOnly", "minRating", @@ -33925,263 +33971,263 @@ function c2({ let f = null; const b = () => { f && clearTimeout(f), f = setTimeout(() => { - var G; + var x; f = null; try { - Z == null || Z(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + A == null || A(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - M().catch(() => { + S().catch(() => { }); }, 250); - }, v = []; - v.push(() => { + }, L = []; + L.push(() => { f && (clearTimeout(f), f = null); }); - const C = (G, z, x, w) => { - if (!(!(G != null && G.addEventListener) || typeof x != "function")) { + const h = (x, T, v, w) => { + if (!(!(x != null && x.addEventListener) || typeof v != "function")) { try { - G.addEventListener(z, x, w); + x.addEventListener(T, v, w); } catch { try { - G.addEventListener(z, x); + x.addEventListener(T, v); } catch { return; } } - v.push(() => { - var X; + L.push(() => { + var R; try { - G.removeEventListener(z, x, w); + x.removeEventListener(T, v, w); } catch { try { - G.removeEventListener(z, x); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + x.removeEventListener(T, v); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } }); } }; - C( + h( t, "change", () => { - var G; - h("kindFilter", t.value || ""); + var x; + Z("kindFilter", t.value || ""); try { - A == null || A(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C == null || C(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } b(); }, g ? { signal: g } : void 0 - ), C( + ), h( n, "change", () => { - var G; - h("workflowOnly", !!n.checked); + var x; + Z("workflowOnly", !!n.checked); try { - A == null || A(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C == null || C(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } b(); }, g ? { signal: g } : void 0 - ), C( + ), h( o, "change", () => { - var G; - h("minRating", Number(o.value || 0) || 0); + var x; + Z("minRating", Number(o.value || 0) || 0); try { - A == null || A(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C == null || C(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } b(); }, g ? { signal: g } : void 0 - ), i && C( + ), i && h( i, "change", () => { - var G; - h( + var x; + Z( "workflowType", String(i.value || "").trim().toUpperCase() ); try { - A == null || A(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C == null || C(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } b(); }, g ? { signal: g } : void 0 ); - const S = () => { - var X; - const G = nr((r == null ? void 0 : r.value) || 0), z = nr((l == null ? void 0 : l.value) || 0), x = Number.isFinite(G) && G > 0 ? G : 0; - let w = Number.isFinite(z) && z > 0 ? z : 0; - w > 0 && x > 0 && w < x && (w = x, l && (l.value = String(w))), h("minSizeMB", x), h("maxSizeMB", w); + const G = () => { + var R; + const x = or((r == null ? void 0 : r.value) || 0), T = or((l == null ? void 0 : l.value) || 0), v = Number.isFinite(x) && x > 0 ? x : 0; + let w = Number.isFinite(T) && T > 0 ? T : 0; + w > 0 && v > 0 && w < v && (w = v, l && (l.value = String(w))), Z("minSizeMB", v), Z("maxSizeMB", w); try { - A == null || A(); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + C == null || C(); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } b(); }; - C( + h( r, "change", - S, + G, g ? { signal: g } : void 0 - ), C( + ), h( l, "change", - S, + G, g ? { signal: g } : void 0 ); const W = () => { - var L, N; - const G = nr((c == null ? void 0 : c.value) || 0), z = nr((s == null ? void 0 : s.value) || 0), x = nr((d == null ? void 0 : d.value) || 0), w = nr((u == null ? void 0 : u.value) || 0), X = Number.isFinite(G) && G > 0 ? Math.round(G) : 0, V = Number.isFinite(z) && z > 0 ? Math.round(z) : 0; - let R = Number.isFinite(x) && x > 0 ? Math.round(x) : 0, j = Number.isFinite(w) && w > 0 ? Math.round(w) : 0; - R > 0 && X > 0 && R < X && (R = X, d && (d.value = String(R))), j > 0 && V > 0 && j < V && (j = V, u && (u.value = String(j))), h("minWidth", X), h("minHeight", V), h("maxWidth", R), h("maxHeight", j); + var V, k; + const x = or((c == null ? void 0 : c.value) || 0), T = or((s == null ? void 0 : s.value) || 0), v = or((d == null ? void 0 : d.value) || 0), w = or((u == null ? void 0 : u.value) || 0), R = Number.isFinite(x) && x > 0 ? Math.round(x) : 0, Y = Number.isFinite(T) && T > 0 ? Math.round(T) : 0; + let F = Number.isFinite(v) && v > 0 ? Math.round(v) : 0, N = Number.isFinite(w) && w > 0 ? Math.round(w) : 0; + F > 0 && R > 0 && F < R && (F = R, d && (d.value = String(F))), N > 0 && Y > 0 && N < Y && (N = Y, u && (u.value = String(N))), Z("minWidth", R), Z("minHeight", Y), Z("maxWidth", F), Z("maxHeight", N); try { if (a) { - const q = { + const K = { "1280x720": "hd", "1920x1080": "fhd", "2560x1440": "qhd", "3840x2160": "uhd" }; - a.value = q[`${X}x${V}`] || ""; + a.value = K[`${R}x${Y}`] || ""; } - } catch (q) { - (L = console.debug) == null || L.call(console, q); + } catch (K) { + (V = console.debug) == null || V.call(console, K); } try { - A == null || A(); - } catch (q) { - (N = console.debug) == null || N.call(console, q); + C == null || C(); + } catch (K) { + (k = console.debug) == null || k.call(console, K); } b(); }; - if (C( + if (h( c, "change", W, g ? { signal: g } : void 0 - ), C( + ), h( s, "change", W, g ? { signal: g } : void 0 - ), C( + ), h( d, "change", W, g ? { signal: g } : void 0 - ), C( + ), h( u, "change", W, g ? { signal: g } : void 0 - ), a && C( + ), a && h( a, "change", () => { - var V; - const G = String(a.value || ""), x = { + var Y; + const x = String(a.value || ""), v = { hd: [1280, 720], fhd: [1920, 1080], qhd: [2560, 1440], uhd: [3840, 2160] - }[G] || [0, 0], w = Number(x[0] || 0), X = Number(x[1] || 0); - h("minWidth", w), h("minHeight", X), h("maxWidth", 0), h("maxHeight", 0), c && (c.value = w > 0 ? String(w) : ""), s && (s.value = X > 0 ? String(X) : ""), d && (d.value = ""), u && (u.value = ""); + }[x] || [0, 0], w = Number(v[0] || 0), R = Number(v[1] || 0); + Z("minWidth", w), Z("minHeight", R), Z("maxWidth", 0), Z("maxHeight", 0), c && (c.value = w > 0 ? String(w) : ""), s && (s.value = R > 0 ? String(R) : ""), d && (d.value = ""), u && (u.value = ""); try { - A == null || A(); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + C == null || C(); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } b(); }, g ? { signal: g } : void 0 - ), I && C( + ), I && h( I, "change", () => { - var G; - h("dateRangeFilter", I.value || ""), e.dateRangeFilter && e.dateExactFilter && (h("dateExactFilter", ""), p && (p.value = "")); + var x; + Z("dateRangeFilter", I.value || ""), e.dateRangeFilter && e.dateExactFilter && (Z("dateExactFilter", ""), p && (p.value = "")); try { - A == null || A(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + C == null || C(); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } b(); }, g ? { signal: g } : void 0 ), p) { - const G = (x) => { - p.classList.toggle("mjr-agenda-filled", x === "filled"), p.classList.toggle("mjr-agenda-empty", x === "empty"); + const x = (v) => { + p.classList.toggle("mjr-agenda-filled", v === "filled"), p.classList.toggle("mjr-agenda-empty", v === "empty"); }; - C( + h( p, "change", () => { - var x; - h( + var v; + Z( "dateExactFilter", p.value ? String(p.value) : "" - ), e.dateExactFilter && e.dateRangeFilter && (h("dateRangeFilter", ""), I && (I.value = "")), e.dateExactFilter || G(""); + ), e.dateExactFilter && e.dateRangeFilter && (Z("dateRangeFilter", ""), I && (I.value = "")), e.dateExactFilter || x(""); try { - A == null || A(); + C == null || C(); } catch (w) { - (x = console.debug) == null || x.call(console, w); + (v = console.debug) == null || v.call(console, w); } b(); }, g ? { signal: g } : void 0 ); - const z = (x) => { - if (!(x != null && x.detail)) return; - const { date: w, hasResults: X } = x.detail; + const T = (v) => { + if (!(v != null && v.detail)) return; + const { date: w, hasResults: R } = v.detail; if (!p.value) { - G(""); + x(""); return; } - w === p.value && G(X ? "filled" : "empty"); + w === p.value && x(R ? "filled" : "empty"); }; try { - const x = g ? { passive: !0, signal: g } : { passive: !0 }, w = typeof window < "u" ? window : null; - (y = w == null ? void 0 : w.addEventListener) == null || y.call(w, "MJR:AgendaStatus", z, x), v.push(() => { - var X, V; + const v = g ? { passive: !0, signal: g } : { passive: !0 }, w = typeof window < "u" ? window : null; + (y = w == null ? void 0 : w.addEventListener) == null || y.call(w, "MJR:AgendaStatus", T, v), L.push(() => { + var R, Y; try { - (X = w == null ? void 0 : w.removeEventListener) == null || X.call(w, "MJR:AgendaStatus", z, x); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + (R = w == null ? void 0 : w.removeEventListener) == null || R.call(w, "MJR:AgendaStatus", T, v); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } }); - } catch (x) { - (k = console.debug) == null || k.call(console, x); + } catch (v) { + (X = console.debug) == null || X.call(console, v); } } return () => { - var G; - for (const z of v.splice(0)) + var x; + for (const T of L.splice(0)) try { - z(); - } catch (x) { - (G = console.debug) == null || G.call(console, x); + T(); + } catch (v) { + (x = console.debug) == null || x.call(console, v); } }; } -function s2({ +function m2({ state: e, hasVueHeaderSection: t, kindSelect: n, @@ -34196,74 +34242,74 @@ function s2({ maxWidthInput: u, maxHeightInput: I, dateRangeSelect: p, - dateExactInput: M, - agendaContainer: Z, - gridController: A, + dateExactInput: S, + agendaContainer: A, + gridController: C, reconcileVisibleSelection: g, - exitSimilarViewIfActive: h, + exitSimilarViewIfActive: Z, notifyContextChanged: f, panelLifecycleAC: b }) { - var S, W, y; - let v = null; + var G, W, y; + let L = null; try { try { n.value = e.kindFilter || "", i.checked = !!e.workflowOnly, o.value = String(e.workflowType || "").trim().toUpperCase(), r.value = String(Number(e.minRating || 0) || 0), l.value = Number(e.minSizeMB || 0) > 0 ? String(e.minSizeMB) : "", a.value = Number(e.maxSizeMB || 0) > 0 ? String(e.maxSizeMB) : "", s.value = Number(e.minWidth || 0) > 0 ? String(e.minWidth) : "", d.value = Number(e.minHeight || 0) > 0 ? String(e.minHeight) : "", u.value = Number(e.maxWidth || 0) > 0 ? String(e.maxWidth) : "", I.value = Number(e.maxHeight || 0) > 0 ? String(e.maxHeight) : ""; - const k = Number(e.minWidth || 0) || 0, G = Number(e.minHeight || 0) || 0; - k >= 3840 && G >= 2160 ? c.value = "uhd" : k >= 2560 && G >= 1440 ? c.value = "qhd" : k >= 1920 && G >= 1080 ? c.value = "fhd" : k >= 1280 && G >= 720 ? c.value = "hd" : c.value = "", p.value = e.dateRangeFilter || "", M.value = e.dateExactFilter || ""; - } catch (k) { - (S = console.debug) == null || S.call(console, k); + const X = Number(e.minWidth || 0) || 0, x = Number(e.minHeight || 0) || 0; + X >= 3840 && x >= 2160 ? c.value = "uhd" : X >= 2560 && x >= 1440 ? c.value = "qhd" : X >= 1920 && x >= 1080 ? c.value = "fhd" : X >= 1280 && x >= 720 ? c.value = "hd" : c.value = "", p.value = e.dateRangeFilter || "", S.value = e.dateExactFilter || ""; + } catch (X) { + (G = console.debug) == null || G.call(console, X); } - v = a2({ - container: Z, - hiddenInput: M, + L = d2({ + container: A, + hiddenInput: S, state: e, - onRequestReloadGrid: () => A.reloadGrid() + onRequestReloadGrid: () => C.reloadGrid() }); - } catch (k) { - (W = console.debug) == null || W.call(console, k); + } catch (X) { + (W = console.debug) == null || W.call(console, X); } - let C = () => { + let h = () => { }; if (t) { - let k = null; - const G = () => { - var z, x, w, X; + let X = null; + const x = () => { + var T, v, w, R; try { - if ((z = b == null ? void 0 : b.signal) != null && z.aborted) return; - } catch (V) { - (x = console.debug) == null || x.call(console, V); + if ((T = b == null ? void 0 : b.signal) != null && T.aborted) return; + } catch (Y) { + (v = console.debug) == null || v.call(console, Y); } - h({ reload: !1 }); + Z({ reload: !1 }); try { - (w = v == null ? void 0 : v.refresh) == null || w.call(v); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + (w = L == null ? void 0 : L.refresh) == null || w.call(L); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } - f(), k && clearTimeout(k), k = setTimeout(() => { - var V; - k = null; + f(), X && clearTimeout(X), X = setTimeout(() => { + var Y; + X = null; try { g(); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } - A.reloadGrid().catch(() => { + C.reloadGrid().catch(() => { }); }, 250); }; try { - window.addEventListener("mjr:filters-changed", G, { + window.addEventListener("mjr:filters-changed", x, { signal: b == null ? void 0 : b.signal }); - } catch (z) { - (y = console.debug) == null || y.call(console, z); + } catch (T) { + (y = console.debug) == null || y.call(console, T); } - C = () => { - k && (clearTimeout(k), k = null); + h = () => { + X && (clearTimeout(X), X = null); }; } else - C = c2({ + h = u2({ state: e, kindSelect: n, wfCheckbox: i, @@ -34277,24 +34323,24 @@ function s2({ maxWidthInput: u, maxHeightInput: I, dateRangeSelect: p, - dateExactInput: M, - reloadGrid: A.reloadGrid, + dateExactInput: S, + reloadGrid: C.reloadGrid, reconcileSelection: g, lifecycleSignal: (b == null ? void 0 : b.signal) || null, onFiltersChanged: () => { - var k, G; - h({ reload: !1 }); + var X, x; + Z({ reload: !1 }); try { - (k = v == null ? void 0 : v.refresh) == null || k.call(v); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + (X = L == null ? void 0 : L.refresh) == null || X.call(L); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } f(); } }); - return { agendaCalendar: v, disposeFilters: C }; + return { agendaCalendar: L, disposeFilters: h }; } -function d2({ +function g2({ state: e, scopeController: t, browserNav: n, @@ -34332,40 +34378,40 @@ function d2({ if (c && Array.isArray(c.assets) && c.assets.length >= 2) { const u = c.assets[0] || {}, I = c.assets.slice(1).map((p) => Number((p == null ? void 0 : p.id) || 0)).filter((p) => p > 0); if (I.length) { - if (await bi( + if (await yi( m( "dialog.mergeDuplicateTags", 'Exact duplicates detected ({count}). Merge tags into "{target}"?', { count: c.assets.length, target: (u == null ? void 0 : u.filename) || (u == null ? void 0 : u.id) } ) )) { - const Z = await Jf( + const A = await Uf( Number((u == null ? void 0 : u.id) || 0), I ); - Z != null && Z.ok ? Ce(m("toast.tagsMerged", "Tags merged"), "success", 2200) : Ce( + A != null && A.ok ? Ze(m("toast.tagsMerged", "Tags merged"), "success", 2200) : Ze( m("toast.tagMergeFailed", "Tag merge failed: {error}", { - error: (Z == null ? void 0 : Z.error) || "error" + error: (A == null ? void 0 : A.error) || "error" }), "warning", 3500 ); } - if (await bi( + if (await yi( m( "dialog.deleteExactDuplicates", "Delete {count} exact duplicate(s)?", { count: I.length } ) )) { - const Z = await Tf(I); - Z != null && Z.ok ? (Ce( + const A = await Kf(I); + A != null && A.ok ? (Ze( m("toast.duplicatesDeleted", "Duplicates deleted"), "success", 2200 - ), await i.reloadGrid()) : Ce( + ), await i.reloadGrid()) : Ze( m("toast.deleteFailed", "Delete failed: {error}", { - error: (Z == null ? void 0 : Z.error) || "error" + error: (A == null ? void 0 : A.error) || "error" }), "warning", 3500 @@ -34375,18 +34421,18 @@ function d2({ return; } } - if (!await bi( + if (!await yi( m( "dialog.startDuplicateAnalysis", "Start duplicate analysis in background?" ) )) return; - const d = await Of(500); - d != null && d.ok ? Ce( + const d = await Tf(500); + d != null && d.ok ? Ze( m("toast.dupAnalysisStarted", "Duplicate analysis started"), "info", 2200 - ) : Ce( + ) : Ze( m("toast.analysisNotStarted", "Analysis not started: {error}", { error: (d == null ? void 0 : d.error) || "error" }), @@ -34396,20 +34442,20 @@ function d2({ } }; } -async function u2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { - return m2(e, { useComfyThemeUI: t, external: n }); +async function I2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { + return b2(e, { useComfyThemeUI: t, external: n }); } -async function m2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { - var Lt, Bt, Nt, ht, Jt, It, mn, Mt, nn, rn, hn, ln, gn, $t, An, vn, dn, Mn, yn, Ut, Tt, io, oo, ro, yi; - us("panelRender"), kb("panelRender"); - const i = typeof AbortController < "u" ? new AbortController() : null, { popovers: o, hostWrapper: r, hostWrapperPrevStyle: l } = _M(e, { +async function b2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { + var Vt, Bt, Rt, Ct, zt, gt, mn, wt, on, rn, hn, ln, gn, nn, An, vn, un, Mn, yn, Ut, Jt, ro, lo, ao, hi; + gs("panelRender"), Xb("panelRender"); + const i = typeof AbortController < "u" ? new AbortController() : null, { popovers: o, hostWrapper: r, hostWrapperPrevStyle: l } = t2(e, { useComfyThemeUI: t - }), a = Zl(); + }), a = Al(); if (!a) throw new Error( "[Majoor] mountAssetsManagerPanelRuntime requires an active Pinia panel store" ); - for (const Le of [ + for (const Ve of [ "statusSection", "statusDot", "statusText", @@ -34423,11 +34469,11 @@ async function m2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { "gridContainer", "sidebar" ]) - if (!(n != null && n[Le])) + if (!(n != null && n[Ve])) throw new Error( - `[Majoor] mountAssetsManagerPanelRuntime now requires external.${Le}` + `[Majoor] mountAssetsManagerPanelRuntime now requires external.${Ve}` ); - const c = no(null, [ + const c = oo(null, [ "searchQuery", "scrollTop", "scope", @@ -34448,402 +34494,402 @@ async function m2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { "similarSourceAssetId" ]); a.viewScope = String(a.viewScope || "").trim().toLowerCase() === "similar" ? "similar" : "", a.similarResults = Array.isArray(a.similarResults) ? a.similarResults : [], a.similarTitle = String(a.similarTitle || ""), a.similarSourceAssetId = String(a.similarSourceAssetId || ""); - const s = (Le, it = "") => c.read(Le, (a == null ? void 0 : a[Le]) ?? it), d = (Le, it) => c.write(Le, it), u = () => { - const Le = s("selectedAssetIds", []); - return Array.isArray(Le) ? Le.map(String).filter(Boolean) : []; + const s = (Ve, it = "") => c.read(Ve, (a == null ? void 0 : a[Ve]) ?? it), d = (Ve, it) => c.write(Ve, it), u = () => { + const Ve = s("selectedAssetIds", []); + return Array.isArray(Ve) ? Ve.map(String).filter(Boolean) : []; }, I = () => String(s("activeAssetId", "") || "").trim(), p = () => !!s("sidebarOpen", !1), { - header: M, - tabButtons: Z, - customMenuBtn: A, + header: S, + tabButtons: A, + customMenuBtn: C, filterBtn: g, - sortBtn: h, + sortBtn: Z, collectionsBtn: f, pinnedFoldersBtn: b, - messageBtn: v, - customPopover: C, - customSelect: S, + messageBtn: L, + customPopover: h, + customSelect: G, customAddBtn: W, customRemoveBtn: y, - filterPopover: k, - kindSelect: G, - wfCheckbox: z, - workflowTypeSelect: x, + filterPopover: X, + kindSelect: x, + wfCheckbox: T, + workflowTypeSelect: v, ratingSelect: w, - minSizeInput: X, - maxSizeInput: V, - resolutionPresetSelect: R, - minWidthInput: j, - minHeightInput: L, - maxWidthInput: N, - maxHeightInput: q, - dateRangeSelect: O, + minSizeInput: R, + maxSizeInput: Y, + resolutionPresetSelect: F, + minWidthInput: N, + minHeightInput: V, + maxWidthInput: k, + maxHeightInput: K, + dateRangeSelect: z, dateExactInput: B, agendaContainer: J, - sortPopover: T, - sortMenu: D, - collectionsPopover: Q, + sortPopover: P, + sortMenu: H, + collectionsPopover: $, pinnedFoldersPopover: E, - pinnedFoldersMenu: K, - messagePopoverTitle: F, - messagePopover: Y, - messageTabBtn: U, - messageTabBadge: P, - historyTabBtn: ee, - historyTabBadge: oe, + pinnedFoldersMenu: oe, + messagePopoverTitle: M, + messagePopover: j, + messageTabBtn: O, + messageTabBadge: D, + historyTabBtn: q, + historyTabBadge: ee, historyTabCount: ce, - historyPanel: pe, - shortcutsTabBtn: H, - messageList: $, + historyPanel: ue, + shortcutsTabBtn: U, + messageList: Q, shortcutsPanel: _, markReadBtn: le, - searchSection: se, - searchInputEl: de, - similarBtn: Ze, - setSemanticEnabled: Fe, - _headerDispose: xe - } = n.headerSection, ze = !!((Lt = n == null ? void 0 : n.headerSection) != null && Lt.isVueHeader); - c.read("searchQuery", "") && (de.value = c.read("searchQuery", "")), de.addEventListener( + searchSection: de, + searchInputEl: se, + similarBtn: ge, + setSemanticEnabled: je, + _headerDispose: Se + } = n.headerSection, ke = !!((Vt = n == null ? void 0 : n.headerSection) != null && Vt.isVueHeader); + c.read("searchQuery", "") && (se.value = c.read("searchQuery", "")), se.addEventListener( "input", - (Le) => { - c.write("searchQuery", Le.target.value); + (Ve) => { + c.write("searchQuery", Ve.target.value); }, { signal: i == null ? void 0 : i.signal } ); - const We = n.summaryBar, De = n.updateSummaryBar, Pe = n.folderBreadcrumb, Qe = n.statusSection, Ue = n.statusDot, Ee = n.statusText, Re = n.capabilitiesSection, wt = n.browseSection, Se = n.gridWrapper, Ft = n.sidebar; + const we = n.summaryBar, Je = n.updateSummaryBar, $e = n.folderBreadcrumb, qe = n.statusSection, Ue = n.statusDot, Te = n.statusText, Oe = n.capabilitiesSection, pt = n.browseSection, Me = n.gridWrapper, Xt = n.sidebar; Xn(); - const Gt = document.createElement("div"); - Gt.classList.add("mjr-am-content"); - let ue = null, He = null; + const Mt = document.createElement("div"); + Mt.classList.add("mjr-am-content"); + let me = null, Pe = null; e.tabIndex = -1; - let ve = null, Ot = 0; - const Ve = () => { + let Le = null, Ot = 0; + const Xe = () => { try { Ot = Date.now(); } catch { Ot = 0; } - }, Ke = typeof (n == null ? void 0 : n.bindGridHostState) == "function" && typeof (n == null ? void 0 : n.restoreGridUiState) == "function", Be = !Ke; - Se.addEventListener( + }, Ee = typeof (n == null ? void 0 : n.bindGridHostState) == "function" && typeof (n == null ? void 0 : n.restoreGridUiState) == "function", Ke = !Ee; + Me.addEventListener( "scroll", () => { - Ve(), Be && (ve && clearTimeout(ve), ve = setTimeout(() => { - var Le; + Xe(), Ke && (Le && clearTimeout(Le), Le = setTimeout(() => { + var Ve; try { - c.write("scrollTop", Se.scrollTop); + c.write("scrollTop", Me.scrollTop); } catch (it) { - (Le = console.debug) == null || Le.call(console, it); + (Ve = console.debug) == null || Ve.call(console, it); } }, 100)); }, { passive: !0, signal: i == null ? void 0 : i.signal } - ), ue = n.gridContainer, ue.parentElement !== Se && Se.appendChild(ue), Bs(ue); + ), me = n.gridContainer, me.parentElement !== Me && Me.appendChild(me), Ks(me); try { - ue.dataset.mjrScope = String(s("scope", a.scope || "output") || "output"); - } catch (Le) { - (Bt = console.debug) == null || Bt.call(console, Le); + me.dataset.mjrScope = String(s("scope", a.scope || "output") || "output"); + } catch (Ve) { + (Bt = console.debug) == null || Bt.call(console, Ve); } - const nt = [], mt = (Le) => { - typeof Le == "function" && nt.push(Le); + const nt = [], ut = (Ve) => { + typeof Ve == "function" && nt.push(Ve); }; - ue._mjrSummaryBarDispose = () => { - var Le; + me._mjrSummaryBarDispose = () => { + var Ve; for (const it of nt.splice(0)) try { it(); - } catch (Vt) { - (Le = console.debug) == null || Le.call(console, Vt); + } catch (xt) { + (Ve = console.debug) == null || Ve.call(console, xt); } }; try { - const Le = () => { + const Ve = () => { var it; try { - De == null || De({ state: a, gridContainer: ue }); - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + Je == null || Je({ state: a, gridContainer: me }); + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } }; - ue.addEventListener("mjr:grid-stats", Le, { + me.addEventListener("mjr:grid-stats", Ve, { signal: i == null ? void 0 : i.signal - }), mt(() => { + }), ut(() => { var it; try { - ue.removeEventListener("mjr:grid-stats", Le); - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + me.removeEventListener("mjr:grid-stats", Ve); + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } }); - } catch (Le) { - (Nt = console.debug) == null || Nt.call(console, Le); + } catch (Ve) { + (Rt = console.debug) == null || Rt.call(console, Ve); } try { - } catch (Le) { - (ht = console.debug) == null || ht.call(console, Le); + } catch (Ve) { + (Ct = console.debug) == null || Ct.call(console, Ve); } - const bt = n.loadAssets ?? Qs, st = n.loadAssetsFromList ?? _s, ke = n.prepareGridForScopeSwitch ?? _C, Ct = n.disposeGrid ?? wI, at = n.refreshGrid ?? $C, zt = n.captureAnchor ?? eZ, Zt = n.restoreAnchor ?? tZ, gt = n.hydrateGridFromSnapshot ?? QC; + const It = n.loadAssets ?? $s, dt = n.loadAssetsFromList ?? ed, Re = n.prepareGridForScopeSwitch ?? tZ, Wt = n.disposeGrid ?? MI, lt = n.refreshGrid ?? nZ, qt = n.captureAnchor ?? iZ, yt = n.restoreAnchor ?? oZ, mt = n.hydrateGridFromSnapshot ?? eZ; if (typeof (n == null ? void 0 : n.onGridContainerReady) == "function") try { - n.onGridContainerReady(ue, { getState: () => a }); - } catch (Le) { - (Jt = console.debug) == null || Jt.call(console, Le); + n.onGridContainerReady(me, { getState: () => a }); + } catch (Ve) { + (zt = console.debug) == null || zt.call(console, Ve); } else - e._mjrGridContextMenuUnbind = ld({ - gridContainer: ue, + e._mjrGridContextMenuUnbind = cd({ + gridContainer: me, getState: () => a }); - const kt = m("search.findSimilar", "Find Similar"), Qt = m( + const kt = m("search.findSimilar", "Find Similar"), $t = m( "search.similarDisabled", "AI features are disabled in settings" - ), { applyWatcherForScope: te, isAiEnabled: ge } = $M({ + ), { applyWatcherForScope: Tt, isAiEnabled: te } = n2({ container: e, state: a, - sidebar: Ft, - browseSection: wt, - gridWrapper: Se, - similarBtn: Ze, - setSemanticEnabled: Fe, + sidebar: Xt, + browseSection: pt, + gridWrapper: Me, + similarBtn: ge, + setSemanticEnabled: je, similarEnabledTitle: kt, - similarDisabledTitle: Qt, - refreshGridFn: at, + similarDisabledTitle: $t, + refreshGridFn: lt, isSidebarOpen: p, readActiveAssetId: I, - getSidebarController: () => He, + getSidebarController: () => Pe, panelLifecycleAC: i }); - Gt.appendChild(Qe), Gt.appendChild(se), Gt.appendChild(Pe), Gt.appendChild(We), Gt.appendChild(wt), e.appendChild(M); + Mt.appendChild(qe), Mt.appendChild(de), Mt.appendChild($e), Mt.appendChild(we), Mt.appendChild(pt), e.appendChild(S); try { - (It = e._mjrVersionUpdateCleanup) == null || It.call(e); - } catch (Le) { - (mn = console.debug) == null || mn.call(console, Le); + (gt = e._mjrVersionUpdateCleanup) == null || gt.call(e); + } catch (Ve) { + (mn = console.debug) == null || mn.call(console, Ve); } - e._mjrVersionUpdateCleanup = xe || M._mjrVersionUpdateCleanup, e.appendChild(Gt); - const we = () => ys(de), be = NM({ - gridContainer: ue, - loadAssets: bt, - loadAssetsFromList: st, - getCollectionAssets: Uf, - disposeGrid: Ct, - getQuery: we, - searchInputEl: de, + e._mjrVersionUpdateCleanup = Se || S._mjrVersionUpdateCleanup, e.appendChild(Mt); + const ye = () => hs(se), We = OM({ + gridContainer: me, + loadAssets: It, + loadAssetsFromList: dt, + getCollectionAssets: Ef, + disposeGrid: Wt, + getQuery: ye, + searchInputEl: se, state: a }); - let Oe = null, ot = null, dt = null, en = null, un = null, Wt = null, tn = null, re = null, ie = null; - const me = () => { - var Le, it, Vt, on; + let pe = null, De = null, ot = null, Zt = null, tn = null, Pt = null, vt = null, re = null, ne = null; + const Ie = () => { + var Ve, it, xt, an; try { - (Le = ot == null ? void 0 : ot.update) == null || Le.call(ot); - } catch (cn) { - (it = console.debug) == null || it.call(console, cn); + (Ve = De == null ? void 0 : De.update) == null || Ve.call(De); + } catch (sn) { + (it = console.debug) == null || it.call(console, sn); } try { - (Vt = Wt == null ? void 0 : Wt.renderBreadcrumb) == null || Vt.call(Wt); - } catch (cn) { - (on = console.debug) == null || on.call(console, cn); + (xt = Pt == null ? void 0 : Pt.renderBreadcrumb) == null || xt.call(Pt); + } catch (sn) { + (an = console.debug) == null || an.call(console, sn); } }; - Ke || (re = qM({ - gridContainer: ue, + Ee || (re = _M({ + gridContainer: me, readSelectedAssetIds: u, readActiveAssetId: I, - writeSelectedAssetIds: (Le) => d("selectedAssetIds", Le), - writeActiveAssetId: (Le) => d("activeAssetId", Le), + writeSelectedAssetIds: (Ve) => d("selectedAssetIds", Ve), + writeActiveAssetId: (Ve) => d("activeAssetId", Ve), onSelectionChanged: () => { - Ve(), me(); + Xe(), Ie(); }, lifecycleSignal: (i == null ? void 0 : i.signal) || null - })), Wt = RM({ + })), Pt = zM({ state: a, - gridContainer: ue, - folderBreadcrumb: Pe, - customSelect: S, - reloadGrid: () => be.reloadGrid(), + gridContainer: me, + folderBreadcrumb: $e, + customSelect: G, + reloadGrid: () => We.reloadGrid(), onContextChanged: () => { - var Le, it; + var Ve, it; try { - (Le = ot == null ? void 0 : ot.update) == null || Le.call(ot); - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + (Ve = De == null ? void 0 : De.update) == null || Ve.call(De); + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } }, lifecycleSignal: (i == null ? void 0 : i.signal) || null }); try { - tn = Wt.bindGridFolderNavigation(); - } catch (Le) { - (Mt = console.debug) == null || Mt.call(console, Le); + vt = Pt.bindGridFolderNavigation(); + } catch (Ve) { + (wt = console.debug) == null || wt.call(console, Ve); } - const Xe = async () => { - var Vt; - const Le = String(s("scope", a.scope || "output") || "output").toLowerCase(), it = String(s("customRootId", a.customRootId || "") || "").trim(); - if (Le === "custom" && !it) { - dt = null, me(); + const Ne = async () => { + var xt; + const Ve = String(s("scope", a.scope || "output") || "output").toLowerCase(), it = String(s("customRootId", a.customRootId || "") || "").trim(); + if (Ve === "custom" && !it) { + ot = null, Ie(); return; } try { - const on = await zf( - { scope: Le, customRootId: it, maxGroups: 4, maxPairs: 4 }, + const an = await Bf( + { scope: Ve, customRootId: it, maxGroups: 4, maxPairs: 4 }, { signal: i == null ? void 0 : i.signal } ); - if (!(on != null && on.ok)) return; - const cn = on.data || {}; - dt = { - exactCount: Array.isArray(cn.exact_groups) ? cn.exact_groups.length : 0, - similarCount: Array.isArray(cn.similar_pairs) ? cn.similar_pairs.length : 0, - firstGroup: Array.isArray(cn.exact_groups) ? cn.exact_groups[0] : null, - firstPair: Array.isArray(cn.similar_pairs) ? cn.similar_pairs[0] : null - }, me(); - } catch (on) { - (Vt = console.debug) == null || Vt.call(console, on); + if (!(an != null && an.ok)) return; + const sn = an.data || {}; + ot = { + exactCount: Array.isArray(sn.exact_groups) ? sn.exact_groups.length : 0, + similarCount: Array.isArray(sn.similar_pairs) ? sn.similar_pairs.length : 0, + firstGroup: Array.isArray(sn.exact_groups) ? sn.exact_groups[0] : null, + firstPair: Array.isArray(sn.similar_pairs) ? sn.similar_pairs[0] : null + }, Ie(); + } catch (an) { + (xt = console.debug) == null || xt.call(console, an); } - }, qe = 120; - let ut = null; - e2({ - gridContainer: ue, + }, He = 120; + let rt = null; + i2({ + gridContainer: me, panelLifecycleAC: i, requestQueuedReload: () => { - var Le; + var Ve; try { - ut && clearTimeout(ut); + rt && clearTimeout(rt); } catch (it) { - (Le = console.debug) == null || Le.call(console, it); + (Ve = console.debug) == null || Ve.call(console, it); } - ut = setTimeout(() => { - ut = null, je().catch((it) => { - var Vt; + rt = setTimeout(() => { + rt = null, ve().catch((it) => { + var xt; try { console.warn("[Majoor] queuedReload failed", it); - } catch (on) { - (Vt = console.debug) == null || Vt.call(console, on); + } catch (an) { + (xt = console.debug) == null || xt.call(console, an); } }); - }, qe); + }, He); }, - notifyContextChanged: me, - markUserInteraction: Ve, + notifyContextChanged: Ie, + markUserInteraction: Xe, writePanelValue: d, popovers: o, - collectionsPopover: Q, - gridController: be, - registerSummaryDispose: mt + collectionsPopover: $, + gridController: We, + registerSummaryDispose: ut }); - const Yt = zM({ + const Yt = BM({ state: a, - customSelect: S, + customSelect: G, customRemoveBtn: y, - comfyConfirm: bi, - comfyPrompt: ji, - comfyToast: Ce, - get: Rt, + comfyConfirm: yi, + comfyPrompt: Vi, + comfyToast: Ze, + get: Ft, post: Et, - ENDPOINTS: lt, - reloadGrid: be.reloadGrid, + ENDPOINTS: ct, + reloadGrid: We.reloadGrid, onRootChanged: async () => { - var Le, it, Vt, on; + var Ve, it, xt, an; try { - (Le = Wt == null ? void 0 : Wt.resetHistory) == null || Le.call(Wt); - } catch (cn) { - (it = console.debug) == null || it.call(console, cn); + (Ve = Pt == null ? void 0 : Pt.resetHistory) == null || Ve.call(Pt); + } catch (sn) { + (it = console.debug) == null || it.call(console, sn); } try { - await te(a.scope); - } catch (cn) { - (Vt = console.debug) == null || Vt.call(console, cn); + await Tt(a.scope); + } catch (sn) { + (xt = console.debug) == null || xt.call(console, sn); } try { - await Xe(); - } catch (cn) { - (on = console.debug) == null || on.call(console, cn); + await Ne(); + } catch (sn) { + (an = console.debug) == null || an.call(console, sn); } } - }), St = Yt.bind({ customAddBtn: W, customRemoveBtn: y }); + }), Gt = Yt.bind({ customAddBtn: W, customRemoveBtn: y }); try { window.addEventListener( "mjr:custom-roots-changed", - async (Le) => { - var Vt; - const it = String(((Vt = Le == null ? void 0 : Le.detail) == null ? void 0 : Vt.preferredId) || "").trim() || null; + async (Ve) => { + var xt; + const it = String(((xt = Ve == null ? void 0 : Ve.detail) == null ? void 0 : xt.preferredId) || "").trim() || null; await Yt.refreshCustomRoots(it); }, { signal: i == null ? void 0 : i.signal } ); - } catch (Le) { - (nn = console.debug) == null || nn.call(console, Le); + } catch (Ve) { + (on = console.debug) == null || on.call(console, Ve); } - const qt = () => { - var Le; + const Qt = () => { + var Ve; try { - const it = ue == null ? void 0 : ue._mjrGetAssets, Vt = ue == null ? void 0 : ue._mjrSetSelection; - if (typeof it != "function" || typeof Vt != "function") return; - const on = (Array.isArray(it()) ? it() : []).map((Vi) => String((Vi == null ? void 0 : Vi.id) ?? "").trim()).filter(Boolean), cn = u(), Bn = cn.filter((Vi) => on.includes(Vi)), Li = cn.length - Bn.length; - if (Li <= 0) return; - const Yi = I(), fi = Bn.includes(Yi) ? Yi : Bn[0] || ""; - Vt(Bn, fi), Ce( + const it = me == null ? void 0 : me._mjrGetAssets, xt = me == null ? void 0 : me._mjrSetSelection; + if (typeof it != "function" || typeof xt != "function") return; + const an = (Array.isArray(it()) ? it() : []).map((ci) => String((ci == null ? void 0 : ci.id) ?? "").trim()).filter(Boolean), sn = u(), Bn = sn.filter((ci) => an.includes(ci)), Yi = sn.length - Bn.length; + if (Yi <= 0) return; + const ki = I(), Ji = Bn.includes(ki) ? ki : Bn[0] || ""; + xt(Bn, Ji), Ze( m( "toast.selectionPruned", "{count} items deselected - not visible in current view", - { count: Li } + { count: Yi } ), "info", 2600, { noHistory: !0 } ); } catch (it) { - (Le = console.debug) == null || Le.call(console, it); + (Ve = console.debug) == null || Ve.call(console, it); } }; - Oe = FM({ + pe = JM({ state: a, - tabButtons: Z, - customMenuBtn: A, - customPopover: C, + tabButtons: A, + customMenuBtn: C, + customPopover: h, popovers: o, refreshCustomRoots: Yt.refreshCustomRoots, - reloadGrid: be.reloadGrid, - reconcileSelection: qt, + reloadGrid: We.reloadGrid, + reconcileSelection: Qt, onChanged: () => { - var Le; + var Ve; try { - ue && (ue.dataset.mjrScope = String( + me && (me.dataset.mjrScope = String( s("scope", a.scope || "output") || "output" )); } catch (it) { - (Le = console.debug) == null || Le.call(console, it); + (Ve = console.debug) == null || Ve.call(console, it); } - me(); + Ie(); }, onScopeChanged: async () => { - var Le, it; + var Ve, it; try { - await te( + await Tt( String(s("scope", a.scope || "output") || "output") ); - } catch (Vt) { - (Le = console.debug) == null || Le.call(console, Vt); + } catch (xt) { + (Ve = console.debug) == null || Ve.call(console, xt); } try { - await Xe(); - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + await Ne(); + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } }, onBeforeReload: async () => { - var Le, it, Vt; + var Ve, it, xt; try { - ue.dataset.mjrScope = s("scope", "output"), ue.dataset.mjrCustomRootId = s("customRootId", "") || "", ue.dataset.mjrSubfolder = s("currentFolderRelativePath", "") || "", ue.dataset.mjrCollectionId = s("collectionId", "") || "", ue.dataset.mjrViewScope = s("viewScope", "") || ""; - } catch (on) { - (Le = console.debug) == null || Le.call(console, on); + me.dataset.mjrScope = s("scope", "output"), me.dataset.mjrCustomRootId = s("customRootId", "") || "", me.dataset.mjrSubfolder = s("currentFolderRelativePath", "") || "", me.dataset.mjrCollectionId = s("collectionId", "") || "", me.dataset.mjrViewScope = s("viewScope", "") || ""; + } catch (an) { + (Ve = console.debug) == null || Ve.call(console, an); } try { - ke(ue); - } catch (on) { - (it = console.debug) == null || it.call(console, on); + Re(me); + } catch (an) { + (it = console.debug) == null || it.call(console, an); } try { - await Xi( + await Ni( Ue, - Ee, - Re, + Te, + Oe, { scope: s("scope", a.scope || "output"), customRootId: s("customRootId", a.customRootId || "") @@ -34851,510 +34897,517 @@ async function m2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { null, { signal: (i == null ? void 0 : i.signal) || null } ); - } catch (on) { - (Vt = console.debug) == null || Vt.call(console, on); + } catch (an) { + (xt = console.debug) == null || xt.call(console, an); } } }); - const Vn = async ({ reload: Le = !1 } = {}) => { - var it, Vt; + const Yn = async ({ reload: Ve = !1 } = {}) => { + var it, xt; try { if (String(s("viewScope", a.viewScope || "") || "").trim().toLowerCase() !== "similar") return; - await ((it = Oe == null ? void 0 : Oe.clearSimilarScope) == null ? void 0 : it.call(Oe, { reload: Le })); - } catch (on) { - (Vt = console.debug) == null || Vt.call(console, on); + await ((it = pe == null ? void 0 : pe.clearSimilarScope) == null ? void 0 : it.call(pe, { reload: Ve })); + } catch (an) { + (xt = console.debug) == null || xt.call(console, an); } }; - Object.values(Z).forEach((Le) => { - Le.addEventListener("click", () => Oe.setScope(Le.dataset.scope), { + Object.values(A).forEach((Ve) => { + Ve.addEventListener("click", () => pe.setScope(Ve.dataset.scope), { signal: i == null ? void 0 : i.signal }); - }), VM({ - messageBtn: v, - messagePopover: Y, - title: F, - messageList: $, - historyTabBtn: ee, - historyTabBadge: oe, + }), NM({ + messageBtn: L, + messagePopover: j, + title: M, + messageList: Q, + historyTabBtn: q, + historyTabBadge: ee, historyTabCount: ce, - historyPanel: pe, + historyPanel: ue, shortcutsPanel: _, - messageTabBtn: U, - messageTabBadge: P, - shortcutsTabBtn: H, + messageTabBtn: O, + messageTabBadge: D, + shortcutsTabBtn: U, markReadBtn: le, popovers: o, signal: i == null ? void 0 : i.signal, onBeforeToggle: () => { - o.close(C), o.close(k), o.close(T), o.close(Q), o.close(E); + o.close(h), o.close(X), o.close(P), o.close($), o.close(E); } }), o.setDismissWhitelist([ - C, - k, - T, - Q, - E, - Y, - A, - g, h, + X, + P, + $, + E, + j, + C, + g, + Z, f, b, - v - ]), A.addEventListener( + L + ]), C.addEventListener( "click", - (Le) => { - Le.stopPropagation(), o.close(k), o.close(T), o.close(Q), o.close(Y), o.toggle(C, A); + (Ve) => { + Ve.stopPropagation(), o.close(X), o.close(P), o.close($), o.close(j), o.toggle(h, C); }, { signal: i == null ? void 0 : i.signal } ), g.addEventListener( "click", - (Le) => { - Le.stopPropagation(), o.close(C), o.close(T), o.close(Q), o.close(Y), o.toggle(k, g); + (Ve) => { + Ve.stopPropagation(), o.close(h), o.close(P), o.close($), o.close(j), o.toggle(X, g); }, { signal: i == null ? void 0 : i.signal } ), f.addEventListener( "click", - (Le) => { - Le.stopPropagation(), o.close(C), o.close(k), o.close(T), o.close(Y), o.toggle(Q, f); + (Ve) => { + Ve.stopPropagation(), o.close(h), o.close(X), o.close(P), o.close(j), o.toggle($, f); }, { signal: i == null ? void 0 : i.signal } ); - const wn = ze ? null : JM({ + const wn = ke ? null : UM({ state: a, - sortBtn: h, - sortMenu: D, - sortPopover: T, + sortBtn: Z, + sortMenu: H, + sortPopover: P, popovers: o, - reloadGrid: be.reloadGrid, - onChanged: () => me() + reloadGrid: We.reloadGrid, + onChanged: () => Ie() }); wn ? wn.bind({ onBeforeToggle: () => { - o.close(C), o.close(k), o.close(Q), o.close(Y); + o.close(h), o.close(X), o.close($), o.close(j); } - }) : h.addEventListener( + }) : Z.addEventListener( "click", - (Le) => { - Le.stopPropagation(), o.close(C), o.close(k), o.close(Q), o.close(Y), o.toggle(T, h); + (Ve) => { + Ve.stopPropagation(), o.close(h), o.close(X), o.close($), o.close(j), o.toggle(P, Z); }, { signal: i == null ? void 0 : i.signal } - ), t2({ - similarBtn: Ze, - gridContainer: ue, + ), o2({ + similarBtn: ge, + gridContainer: me, state: a, panelLifecycleAC: i, - isAiEnabled: ge, - similarDisabledTitle: Qt, + isAiEnabled: te, + similarDisabledTitle: $t, readActiveAssetId: I, readSelectedAssetIds: u, readPanelValue: s, writePanelValue: d, - scopeController: Oe, + scopeController: pe, closePopovers: () => { - o.close(C), o.close(k), o.close(T), o.close(Q), o.close(Y); + o.close(h), o.close(X), o.close(P), o.close($), o.close(j); } - }), n2({ + }), r2({ pinnedFoldersBtn: b, - pinnedFoldersMenu: K, + pinnedFoldersMenu: oe, pinnedFoldersPopover: E, popovers: o, closeOtherPopovers: () => { - o.close(C), o.close(k), o.close(T), o.close(Q), o.close(Y); + o.close(h), o.close(X), o.close(P), o.close($), o.close(j); }, state: a, - gridContainer: ue, - customSelect: S, - scopeController: Oe, + gridContainer: me, + customSelect: G, + scopeController: pe, customRootsController: Yt, - gridController: be, - applyWatcherForScope: te, - refreshDuplicateAlerts: Xe, - notifyContextChanged: me, + gridController: We, + applyWatcherForScope: Tt, + refreshDuplicateAlerts: Ne, + notifyContextChanged: Ie, panelLifecycleAC: i }); - const { agendaCalendar: xn, disposeFilters: _t } = s2({ + const { agendaCalendar: xn, disposeFilters: en } = m2({ state: a, - hasVueHeaderSection: ze, - kindSelect: G, - wfCheckbox: z, - workflowTypeSelect: x, + hasVueHeaderSection: ke, + kindSelect: x, + wfCheckbox: T, + workflowTypeSelect: v, ratingSelect: w, - minSizeInput: X, - maxSizeInput: V, - resolutionPresetSelect: R, - minWidthInput: j, - minHeightInput: L, - maxWidthInput: N, - maxHeightInput: q, - dateRangeSelect: O, + minSizeInput: R, + maxSizeInput: Y, + resolutionPresetSelect: F, + minWidthInput: N, + minHeightInput: V, + maxWidthInput: k, + maxHeightInput: K, + dateRangeSelect: z, dateExactInput: B, agendaContainer: J, - gridController: be, - reconcileVisibleSelection: qt, - exitSimilarViewIfActive: Vn, - notifyContextChanged: me, + gridController: We, + reconcileVisibleSelection: Qt, + exitSimilarViewIfActive: Yn, + notifyContextChanged: Ie, panelLifecycleAC: i - }), Yn = d2({ + }), Vn = g2({ state: a, - scopeController: Oe, - browserNav: Wt, - gridController: be, - getDuplicatesAlert: () => dt, - refreshDuplicateAlerts: Xe + scopeController: pe, + browserNav: Pt, + gridController: We, + getDuplicatesAlert: () => ot, + refreshDuplicateAlerts: Ne }); try { - ot = OM({ + De = TM({ state: a, - gridContainer: ue, + gridContainer: me, filterBtn: g, - sortBtn: h, + sortBtn: Z, collectionsBtn: f, - searchInputEl: de, - kindSelect: G, - wfCheckbox: z, - workflowTypeSelect: x, + searchInputEl: se, + kindSelect: x, + wfCheckbox: T, + workflowTypeSelect: v, ratingSelect: w, - minSizeInput: X, - maxSizeInput: V, - minWidthInput: j, - minHeightInput: L, - maxWidthInput: N, - maxHeightInput: q, - resolutionPresetSelect: R, - dateRangeSelect: O, + minSizeInput: R, + maxSizeInput: Y, + minWidthInput: N, + minHeightInput: V, + maxWidthInput: k, + maxHeightInput: K, + resolutionPresetSelect: F, + dateRangeSelect: z, dateExactInput: B, - scopeController: Oe, + scopeController: pe, sortController: wn, - updateSummaryBar: De, - reloadGrid: () => be.reloadGrid(), - getExtraContext: () => ({ duplicatesAlert: dt }), - extraActions: Yn + updateSummaryBar: Je, + reloadGrid: () => We.reloadGrid(), + getExtraContext: () => ({ duplicatesAlert: ot }), + extraActions: Vn }); - } catch (Le) { - (rn = console.debug) == null || rn.call(console, Le); + } catch (Ve) { + (rn = console.debug) == null || rn.call(console, Ve); } try { - if (me(), Ke) { - const Le = n.bindGridHostState({ - onContextChanged: me, - markUserInteraction: Ve + if (Ie(), Ee) { + const Ve = n.bindGridHostState({ + onContextChanged: Ie, + markUserInteraction: Xe }); - mt(Le); + ut(Ve); } else { - const Le = () => me(); - ue.addEventListener("mjr:grid-stats", Le, { + const Ve = () => Ie(); + me.addEventListener("mjr:grid-stats", Ve, { signal: i == null ? void 0 : i.signal - }), (hn = window.addEventListener) == null || hn.call(window, "mjr-settings-changed", Le, { + }), (hn = window.addEventListener) == null || hn.call(window, "mjr-settings-changed", Ve, { signal: i == null ? void 0 : i.signal }); - let it = null; - const Vt = () => { - it && cancelAnimationFrame(it), it = requestAnimationFrame(() => { - it = null, me(); - }); - }, on = new MutationObserver(() => Vt()); - on.observe(ue, { childList: !0, subtree: !0 }), ue._mjrSummaryBarObserver = on, mt(() => { - var cn, Bn, Li, Yi; + let it = null, xt = null; + const an = () => { + xt && clearTimeout(xt), xt = setTimeout(() => { + xt = null, it && cancelAnimationFrame(it), it = requestAnimationFrame(() => { + it = null, Ie(); + }); + }, 250); + }, sn = new MutationObserver(() => an()); + sn.observe(me, { childList: !0 }), me._mjrSummaryBarObserver = sn, ut(() => { + var Bn, Yi, ki, Ji, ci; try { - ue.removeEventListener("mjr:grid-stats", Le); - } catch (fi) { - (cn = console.debug) == null || cn.call(console, fi); + me.removeEventListener("mjr:grid-stats", Ve); + } catch (Ci) { + (Bn = console.debug) == null || Bn.call(console, Ci); } try { - (Bn = window.removeEventListener) == null || Bn.call(window, "mjr-settings-changed", Le); - } catch (fi) { - (Li = console.debug) == null || Li.call(console, fi); + (Yi = window.removeEventListener) == null || Yi.call(window, "mjr-settings-changed", Ve); + } catch (Ci) { + (ki = console.debug) == null || ki.call(console, Ci); } try { - on.disconnect(); - } catch (fi) { - (Yi = console.debug) == null || Yi.call(console, fi); + xt && clearTimeout(xt); + } catch (Ci) { + (Ji = console.debug) == null || Ji.call(console, Ci); + } + try { + sn.disconnect(); + } catch (Ci) { + (ci = console.debug) == null || ci.call(console, Ci); } }); } - } catch (Le) { - (ln = console.debug) == null || ln.call(console, Le); + } catch (Ve) { + (ln = console.debug) == null || ln.call(console, Ve); } - He = EM({ - gridContainer: ue, - sidebar: Ft, + Pe = PM({ + gridContainer: me, + sidebar: Xt, createRatingBadge: Ya, - createTagsBadge: FI, - showAssetInSidebar: iM, - closeSidebar: Jb, + createTagsBadge: OI, + showAssetInSidebar: lM, + closeSidebar: Tb, state: a }); const pn = { - gridController: be, - captureAnchor: zt, - restoreAnchor: Zt, - restoreGridUiState: Ke ? (Le) => n.restoreGridUiState(Le, { + gridController: We, + captureAnchor: qt, + restoreAnchor: yt, + restoreGridUiState: Ee ? (Ve) => n.restoreGridUiState(Ve, { onRestoreSidebar: () => { - var it, Vt; + var it, xt; try { - (it = He == null ? void 0 : He.toggleDetails) == null || it.call(He); - } catch (on) { - (Vt = console.debug) == null || Vt.call(console, on); + (it = Pe == null ? void 0 : Pe.toggleDetails) == null || it.call(Pe); + } catch (an) { + (xt = console.debug) == null || xt.call(console, an); } } }) : null, readScrollTop: () => c.read("scrollTop", a.scrollTop || 0), - restoreSelectionState: ({ scrollTop: Le } = {}) => { + restoreSelectionState: ({ scrollTop: Ve } = {}) => { var it; - (it = re == null ? void 0 : re.restoreSelectionState) == null || it.call(re, { scrollTop: Le }); + (it = re == null ? void 0 : re.restoreSelectionState) == null || it.call(re, { scrollTop: Ve }); }, readActiveAssetId: I, isSidebarOpen: p, toggleSidebarDetails: () => { - var Le; - (Le = He == null ? void 0 : He.toggleDetails) == null || Le.call(He); + var Ve; + (Ve = Pe == null ? void 0 : Pe.toggleDetails) == null || Ve.call(Pe); }, - getQuery: we, + getQuery: ye, getScope: () => c.read("scope", a.scope), - loadAssets: bt, + loadAssets: It, lifecycleSignal: (i == null ? void 0 : i.signal) || null }; - typeof (n == null ? void 0 : n.initAssetsQueryController) == "function" ? ie = n.initAssetsQueryController(pn) : ie = tp({ - gridContainer: ue, - gridWrapper: Se, + typeof (n == null ? void 0 : n.initAssetsQueryController) == "function" ? ne = n.initAssetsQueryController(pn) : ne = np({ + gridContainer: me, + gridWrapper: Me, ...pn }); - const Nn = HM({ - onTriggerScan: (Le) => { - Ob(Ue, Ee, Re, Le || {}); + const Nn = QM({ + onTriggerScan: (Ve) => { + zb(Ue, Te, Oe, Ve || {}); }, onToggleDetails: () => { - var Le; - (Le = He == null ? void 0 : He.toggleDetails) == null || Le.call(He); + var Ve; + (Ve = Pe == null ? void 0 : Pe.toggleDetails) == null || Ve.call(Pe); }, onToggleFloatingViewer: () => { - var Le; + var Ve; try { - window.dispatchEvent(new Event(ft.MFV_TOGGLE)); + window.dispatchEvent(new Event(ht.MFV_TOGGLE)); } catch (it) { - (Le = console.debug) == null || Le.call(console, it); + (Ve = console.debug) == null || Ve.call(console, it); } }, onFocusSearch: () => { - var Le, it, Vt, on; + var Ve, it, xt, an; try { - (Le = de == null ? void 0 : de.focus) == null || Le.call(de); - const cn = ((it = de == null ? void 0 : de.value) == null ? void 0 : it.length) || 0; - (Vt = de == null ? void 0 : de.setSelectionRange) == null || Vt.call(de, cn, cn); - } catch (cn) { - (on = console.debug) == null || on.call(console, cn); + (Ve = se == null ? void 0 : se.focus) == null || Ve.call(se); + const sn = ((it = se == null ? void 0 : se.value) == null ? void 0 : it.length) || 0; + (xt = se == null ? void 0 : se.setSelectionRange) == null || xt.call(se, sn, sn); + } catch (sn) { + (an = console.debug) == null || an.call(console, sn); } }, onClearSearch: () => { - var Le, it; + var Ve, it; try { - if (!de) return; - d("searchQuery", ""), de.value = "", (Le = de.dispatchEvent) == null || Le.call(de, new Event("input", { bubbles: !0 })); - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + if (!se) return; + d("searchQuery", ""), se.value = "", (Ve = se.dispatchEvent) == null || Ve.call(se, new Event("input", { bubbles: !0 })); + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } }, getScanContext: () => ({ scope: c.read("scope", a.scope), customRootId: c.read("customRootId", a.customRootId) }) - }), ae = mb({ gridContainer: ue, createRatingBadge: Ya }); - let fe = null; + }), ae = gb({ gridContainer: me, createRatingBadge: Ya }); + let he = null; if (e._eventCleanup) try { e._eventCleanup(); - } catch (Le) { - (gn = console.debug) == null || gn.call(console, Le); + } catch (Ve) { + (gn = console.debug) == null || gn.call(console, Ve); } - Nn.bind(Gt), ae.bind(), Zr("grid"); + Nn.bind(Mt), ae.bind(), wr("grid"); try { - e._mjrHotkeys = Nn, e._mjrRatingHotkeys = ae, e._mjrSidebarController = He; - } catch (Le) { - ($t = console.debug) == null || $t.call(console, Le); + e._mjrHotkeys = Nn, e._mjrRatingHotkeys = ae, e._mjrSidebarController = Pe; + } catch (Ve) { + (nn = console.debug) == null || nn.call(console, Ve); } e._eventCleanup = () => { - var Le, it, Vt, on, cn, Bn, Li, Yi, fi, Vi, vr, Lr, Yr, Vr, Ht, $n, qn, Ml, Sl, yd, fd, hd, Cd, Zd, Ad, Gl, Wd, wd, Md, Sd, Gd, xd, jd, vd, Ld, Yd, Vd; + var Ve, it, xt, an, sn, Bn, Yi, ki, Ji, ci, Ci, Yr, kr, Xr, Ht, $n, qn, Sl, Gl, hd, Cd, Zd, Ad, Wd, wd, xl, Md, Sd, Gd, xd, jd, vd, Ld, Vd, Yd, kd, Xd; try { - (Le = i == null ? void 0 : i.abort) == null || Le.call(i); - } catch (Pt) { - (it = console.debug) == null || it.call(console, Pt); + (Ve = i == null ? void 0 : i.abort) == null || Ve.call(i); + } catch (_t) { + (it = console.debug) == null || it.call(console, _t); } try { - (Vt = Qe == null ? void 0 : Qe._mjrStatusPollDispose) == null || Vt.call(Qe); - } catch (Pt) { - (on = console.debug) == null || on.call(console, Pt); + (xt = qe == null ? void 0 : qe._mjrStatusPollDispose) == null || xt.call(qe); + } catch (_t) { + (an = console.debug) == null || an.call(console, _t); } try { - (cn = e._mjrVersionUpdateCleanup) == null || cn.call(e); - } catch (Pt) { - (Bn = console.debug) == null || Bn.call(console, Pt); + (sn = e._mjrVersionUpdateCleanup) == null || sn.call(e); + } catch (_t) { + (Bn = console.debug) == null || Bn.call(console, _t); } e._mjrVersionUpdateCleanup = null; try { - ve && clearTimeout(ve), ve = null; - } catch (Pt) { - (Li = console.debug) == null || Li.call(console, Pt); + Le && clearTimeout(Le), Le = null; + } catch (_t) { + (Yi = console.debug) == null || Yi.call(console, _t); } try { Nn.dispose(); - } catch (Pt) { - (Yi = console.debug) == null || Yi.call(console, Pt); + } catch (_t) { + (ki = console.debug) == null || ki.call(console, _t); } try { ae.dispose(); - } catch (Pt) { - (fi = console.debug) == null || fi.call(console, Pt); + } catch (_t) { + (Ji = console.debug) == null || Ji.call(console, _t); } - Wo().scope === "grid" && Zr(null); + Mo().scope === "grid" && wr(null); try { - (Vi = xn == null ? void 0 : xn.dispose) == null || Vi.call(xn); - } catch (Pt) { - (vr = console.debug) == null || vr.call(console, Pt); + (ci = xn == null ? void 0 : xn.dispose) == null || ci.call(xn); + } catch (_t) { + (Ci = console.debug) == null || Ci.call(console, _t); } try { - _t == null || _t(); - } catch (Pt) { - (Lr = console.debug) == null || Lr.call(console, Pt); + en == null || en(); + } catch (_t) { + (Yr = console.debug) == null || Yr.call(console, _t); } try { - fe == null || fe(); - } catch (Pt) { - (Yr = console.debug) == null || Yr.call(console, Pt); + he == null || he(); + } catch (_t) { + (kr = console.debug) == null || kr.call(console, _t); } - fe = null; + he = null; try { - (Vr = Ft == null ? void 0 : Ft.dispose) == null || Vr.call(Ft); - } catch (Pt) { - (Ht = console.debug) == null || Ht.call(console, Pt); + (Xr = Xt == null ? void 0 : Xt.dispose) == null || Xr.call(Xt); + } catch (_t) { + (Ht = console.debug) == null || Ht.call(console, _t); } try { - ($n = He == null ? void 0 : He.dispose) == null || $n.call(He); - } catch (Pt) { - (qn = console.debug) == null || qn.call(console, Pt); + ($n = Pe == null ? void 0 : Pe.dispose) == null || $n.call(Pe); + } catch (_t) { + (qn = console.debug) == null || qn.call(console, _t); } try { - en && clearInterval(en), en = null; - } catch (Pt) { - (Ml = console.debug) == null || Ml.call(console, Pt); + Zt && clearInterval(Zt), Zt = null; + } catch (_t) { + (Sl = console.debug) == null || Sl.call(console, _t); } try { - un && clearTimeout(un), un = null; - } catch (Pt) { - (Sl = console.debug) == null || Sl.call(console, Pt); + tn && clearTimeout(tn), tn = null; + } catch (_t) { + (Gl = console.debug) == null || Gl.call(console, _t); } try { - (yd = ie == null ? void 0 : ie.dispose) == null || yd.call(ie); - } catch (Pt) { - (fd = console.debug) == null || fd.call(console, Pt); + (hd = ne == null ? void 0 : ne.dispose) == null || hd.call(ne); + } catch (_t) { + (Cd = console.debug) == null || Cd.call(console, _t); } - ie = null; + ne = null; try { - (hd = re == null ? void 0 : re.dispose) == null || hd.call(re); - } catch (Pt) { - (Cd = console.debug) == null || Cd.call(console, Pt); + (Zd = re == null ? void 0 : re.dispose) == null || Zd.call(re); + } catch (_t) { + (Ad = console.debug) == null || Ad.call(console, _t); } re = null; try { - (Zd = ue == null ? void 0 : ue._mjrSummaryBarDispose) == null || Zd.call(ue); - } catch (Pt) { - (Ad = console.debug) == null || Ad.call(console, Pt); + (Wd = me == null ? void 0 : me._mjrSummaryBarDispose) == null || Wd.call(me); + } catch (_t) { + (wd = console.debug) == null || wd.call(console, _t); } try { - (Wd = (Gl = ue == null ? void 0 : ue._mjrSummaryBarObserver) == null ? void 0 : Gl.disconnect) == null || Wd.call(Gl); - } catch (Pt) { - (wd = console.debug) == null || wd.call(console, Pt); + (Md = (xl = me == null ? void 0 : me._mjrSummaryBarObserver) == null ? void 0 : xl.disconnect) == null || Md.call(xl); + } catch (_t) { + (Sd = console.debug) == null || Sd.call(console, _t); } try { - (Md = ue == null ? void 0 : ue._mjrGridContextMenuUnbind) == null || Md.call(ue); - } catch (Pt) { - (Sd = console.debug) == null || Sd.call(console, Pt); + (Gd = me == null ? void 0 : me._mjrGridContextMenuUnbind) == null || Gd.call(me); + } catch (_t) { + (xd = console.debug) == null || xd.call(console, _t); } try { - St == null || St(); - } catch (Pt) { - (Gd = console.debug) == null || Gd.call(console, Pt); + Gt == null || Gt(); + } catch (_t) { + (jd = console.debug) == null || jd.call(console, _t); } try { - tn == null || tn(); - } catch (Pt) { - (xd = console.debug) == null || xd.call(console, Pt); + vt == null || vt(); + } catch (_t) { + (vd = console.debug) == null || vd.call(console, _t); } try { - } catch (Pt) { - (jd = console.debug) == null || jd.call(console, Pt); + } catch (_t) { + (Ld = console.debug) == null || Ld.call(console, _t); } try { - ue && Ct(ue); - } catch (Pt) { - (vd = console.debug) == null || vd.call(console, Pt); + me && Wt(me); + } catch (_t) { + (Vd = console.debug) == null || Vd.call(console, _t); } - xa(ue), ue = null; + ja(me), me = null; try { o.dispose(); - } catch (Pt) { - (Ld = console.debug) == null || Ld.call(console, Pt); + } catch (_t) { + (Yd = console.debug) == null || Yd.call(console, _t); } try { e._mjrPopoverManager === o && (e._mjrPopoverManager = null); - } catch (Pt) { - (Yd = console.debug) == null || Yd.call(console, Pt); + } catch (_t) { + (kd = console.debug) == null || kd.call(console, _t); } try { r && l && (r.style.height = l.height, r.style.minHeight = l.minHeight, r.style.width = l.width); - } catch (Pt) { - (Vd = console.debug) == null || Vd.call(console, Pt); + } catch (_t) { + (Xd = console.debug) == null || Xd.call(console, _t); } }; - const je = async () => { - var Le; - await ((Le = ie == null ? void 0 : ie.queuedReload) == null ? void 0 : Le.call(ie)); - }, Ne = ((An = ie == null ? void 0 : ie.createCountersUpdateHandler) == null ? void 0 : An.call(ie, { + const ve = async () => { + var Ve; + await ((Ve = ne == null ? void 0 : ne.queuedReload) == null ? void 0 : Ve.call(ne)); + }, Fe = ((An = ne == null ? void 0 : ne.createCountersUpdateHandler) == null ? void 0 : An.call(ne, { state: a, getStableQuery: () => { - var Le; - return String(((Le = ue == null ? void 0 : ue.dataset) == null ? void 0 : Le.mjrQuery) || "*").trim() || "*"; + var Ve; + return String(((Ve = me == null ? void 0 : me.dataset) == null ? void 0 : Ve.mjrQuery) || "*").trim() || "*"; }, getRecentUserInteractionAt: () => Number(Ot || 0) })) ?? (async () => { - await je(); + await ve(); }); - q0( + _0( Ue, - Ee, - Qe, - Re, - Ne, + Te, + qe, + Oe, + Fe, () => ({ scope: c.read("scope", a.scope), customRootId: c.read("customRootId", a.customRootId) }) - ), Oe.setActiveTabStyles(), (vn = Wt == null ? void 0 : Wt.renderBreadcrumb) == null || vn.call(Wt), Yt.refreshCustomRoots().catch(() => { - }), fe = (dn = ie == null ? void 0 : ie.bindSearchInput) == null ? void 0 : dn.call(ie, { - searchInputEl: de, + ), pe.setActiveTabStyles(), (vn = Pt == null ? void 0 : Pt.renderBreadcrumb) == null || vn.call(Pt), Yt.refreshCustomRoots().catch(() => { + }), he = (un = ne == null ? void 0 : ne.bindSearchInput) == null ? void 0 : un.call(ne, { + searchInputEl: se, lifecycleSignal: (i == null ? void 0 : i.signal) || null, debounceMs: 120, onQueryChanged: () => { - Vn({ reload: !1 }), me(); + Yn({ reload: !1 }), Ie(); }, onBeforeReload: () => { - Vn({ reload: !1 }), me(); + Yn({ reload: !1 }), Ie(); }, startSearchTimer: () => { - us("searchQuery"); + gs("searchQuery"); }, reloadGrid: () => { - be.reloadGrid(); + We.reloadGrid(); } }); - let $e = !1; + let _e = !1; try { - $e = await gt( - ue, + _e = await mt( + me, { scope: s("scope", a.scope || "output") || "output", query: String( - ys( + hs( c.read("searchQuery", a.searchQuery || "*") || "*" ) || "*" ), @@ -35381,53 +35434,53 @@ async function m2(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) { title: s("collectionName", a.collectionName || "") || c.read("searchQuery", a.searchQuery || "") || "Cached" } ); - } catch (Le) { - (Mn = console.debug) == null || Mn.call(console, Le); + } catch (Ve) { + (Mn = console.debug) == null || Mn.call(console, Ve); } let et = !1; try { - et = !!((yn = ue == null ? void 0 : ue.querySelector) != null && yn.call(ue, ".mjr-asset-card")); - } catch (Le) { - (Ut = console.debug) == null || Ut.call(console, Le); + et = !!((yn = me == null ? void 0 : me.querySelector) != null && yn.call(me, ".mjr-asset-card")); + } catch (Ve) { + (Ut = console.debug) == null || Ut.call(console, Ve); } - const tt = $e || et ? Promise.resolve({ + const tt = _e || et ? Promise.resolve({ ok: !0, - hydrated: !!$e, + hydrated: !!_e, cached: !!et - }) : be.reloadGrid(); + }) : We.reloadGrid(); try { - await Xe(); - } catch (Le) { - (Tt = console.debug) == null || Tt.call(console, Le); + await Ne(); + } catch (Ve) { + (Jt = console.debug) == null || Jt.call(console, Ve); } try { - en = setInterval(() => { - var Le, it; + Zt = setInterval(() => { + var Ve, it; try { - if ((Le = i == null ? void 0 : i.signal) != null && Le.aborted) return; - } catch (Vt) { - (it = console.debug) == null || it.call(console, Vt); + if ((Ve = i == null ? void 0 : i.signal) != null && Ve.aborted) return; + } catch (xt) { + (it = console.debug) == null || it.call(console, xt); } - Xe().catch(() => { + Ne().catch(() => { }); }, 15e3); - } catch (Le) { - (io = console.debug) == null || io.call(console, Le); + } catch (Ve) { + (ro = console.debug) == null || ro.call(console, Ve); } - (oo = ie == null ? void 0 : ie.restoreUiState) == null || oo.call(ie, tt); + (lo = ne == null ? void 0 : ne.restoreUiState) == null || lo.call(ne, tt); try { window.__mjrLastAssetUpsert = 0, window.__mjrLastAssetUpsertCount = 0; - } catch (Le) { - (ro = console.debug) == null || ro.call(console, Le); + } catch (Ve) { + (ao = console.debug) == null || ao.call(console, Ve); } - un = ((yi = ie == null ? void 0 : ie.scheduleAutoLoad) == null ? void 0 : yi.call(ie, tt, 2e3)) ?? null; - const ct = Vb("panelRender", "gridRender"); - return Xb(ct), { gridContainer: ue }; + tn = ((hi = ne == null ? void 0 : ne.scheduleAutoLoad) == null ? void 0 : hi.call(ne, tt, 2e3)) ?? null; + const st = kb("panelRender", "gridRender"); + return Nb(st), { gridContainer: me }; } -const g2 = { +const p2 = { __name: "StatusSection", setup(e, { expose: t }) { - const n = X0({ getScanContext: null }), i = n.querySelector("#mjr-status-dot"), o = n.querySelector("#mjr-status-text"), r = n.querySelector("#mjr-status-capabilities"); + const n = F0({ getScanContext: null }), i = n.querySelector("#mjr-status-dot"), o = n.querySelector("#mjr-status-text"), r = n.querySelector("#mjr-status-capabilities"); return _n(() => { var l; try { @@ -35436,7 +35489,7 @@ const g2 = { } }), t({ statusSection: n, statusDot: i, statusText: o, capabilitiesSection: r }), (l, a) => null; } -}, I2 = { class: "mjr-am-search-pill" }, b2 = ["placeholder", "title", "list"], p2 = ["id"], y2 = { class: "mjr-am-search-tools" }, f2 = { class: "mjr-popover-anchor" }, h2 = ["disabled", "aria-disabled", "title"], C2 = { class: "mjr-popover-anchor" }, Z2 = ["title"], vm = "Ctrl/Cmd+F, Ctrl/Cmd+K, Ctrl/Cmd+H", A2 = { +}, y2 = { class: "mjr-am-search-pill" }, f2 = ["placeholder", "title", "list"], h2 = ["id"], C2 = { class: "mjr-am-search-tools" }, Z2 = { class: "mjr-popover-anchor" }, A2 = ["disabled", "aria-disabled", "title"], W2 = { class: "mjr-popover-anchor" }, w2 = ["title"], Vm = "Ctrl/Cmd+F, Ctrl/Cmd+K, Ctrl/Cmd+H", M2 = { __name: "SearchBar", props: { /** Callback when similar search is triggered */ @@ -35444,19 +35497,19 @@ const g2 = { }, emits: ["similar", "search-change"], setup(e, { expose: t, emit: n }) { - const i = e, o = n, r = Mo(), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae(null), d = Ae(null), u = Ys("mjr-search-autocomplete-", 8), I = Ae(!1), p = Ae(!0), M = Je(() => I.value ? m("search.semanticPlaceholder", "Describe what you're looking for...") : m("search.placeholder", "Search assets...")), Z = Je(() => I.value ? Wr( + const i = e, o = n, r = Go(), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae(null), d = Ae(null), u = ks("mjr-search-autocomplete-", 8), I = Ae(!1), p = Ae(!0), S = ze(() => I.value ? m("search.semanticPlaceholder", "Describe what you're looking for...") : m("search.placeholder", "Search assets...")), A = ze(() => I.value ? Sr( m( "search.semanticTitle", "AI semantic search β€” describe your image in natural language" ), - vm - ) : Wr( + Vm + ) : Sr( m( "search.title", "Search by filename, tags, or attributes (e.g. rating:5, ext:png)" ), - vm - )), A = Je(() => I.value ? { + Vm + )), C = ze(() => I.value ? { background: "rgba(0, 188, 212, 0.2)", borderColor: "rgba(0, 188, 212, 0.6)", color: "#00BCD4", @@ -35467,65 +35520,65 @@ const g2 = { color: "rgba(0, 188, 212, 0.5)", boxShadow: "none" }), g = () => { - var S; + var G; try { if (!a.value) return; a.value.dataset.mjrSemanticMode = I.value ? "1" : "0"; } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, h = (S = {}) => { + }, Z = (G = {}) => { var W; o("search-change", { query: ((W = a.value) == null ? void 0 : W.value) || "", semantic: I.value, - ...S + ...G }); }, f = () => { - var S, W, y; + var G, W, y; if (p.value) { I.value = !I.value, g(); try { - (W = (S = a.value) == null ? void 0 : S.dispatchEvent) == null || W.call(S, new Event("input", { bubbles: !0 })); - } catch (k) { - (y = console.debug) == null || y.call(console, k); + (W = (G = a.value) == null ? void 0 : G.dispatchEvent) == null || W.call(G, new Event("input", { bubbles: !0 })); + } catch (X) { + (y = console.debug) == null || y.call(console, X); } - h({ semantic: I.value }); + Z({ semantic: I.value }); } - }, b = async (S) => { - const W = S.target.value || ""; - r.searchQuery = W, g(), h({ query: W }), await v(); - }, v = Pc(async () => { + }, b = async (G) => { + const W = G.target.value || ""; + r.searchQuery = W, g(), Z({ query: W }), await L(); + }, L = _c(async () => { var W; - const S = (((W = a.value) == null ? void 0 : W.value) || "").trim(); - if (!(I.value || S.length < 2 || S.includes(":"))) + const G = (((W = a.value) == null ? void 0 : W.value) || "").trim(); + if (!(I.value || G.length < 2 || G.includes(":"))) try { - const y = await Rt("/mjr/am/autocomplete", { q: S, limit: 10 }); - y && y.ok && Array.isArray(y.data) && (c.value.innerHTML = "", y.data.forEach((k) => { - const G = document.createElement("option"); - G.value = k, c.value.appendChild(G); + const y = await Ft("/mjr/am/autocomplete", { q: G, limit: 10 }); + y && y.ok && Array.isArray(y.data) && (c.value.innerHTML = "", y.data.forEach((X) => { + const x = document.createElement("option"); + x.value = X, c.value.appendChild(x); })); } catch { } - }, 300), C = () => { - var S; - o("similar"), (S = i.onSimilarSearch) == null || S.call(i); + }, 300), h = () => { + var G; + o("similar"), (G = i.onSimilarSearch) == null || G.call(i); }; - return an( + return cn( () => r.searchQuery, - (S) => { - a.value && a.value.value !== S && (a.value.value = S); + (G) => { + a.value && a.value.value !== G && (a.value.value = G); } - ), an(p, (S) => { - !S && I.value && (I.value = !1), g(); - }), an(I, () => { + ), cn(p, (G) => { + !G && I.value && (I.value = !1), g(); + }), cn(I, () => { g(); }), Dn(() => { - var S; + var G; try { a.value && (a.value.value = r.searchQuery || ""); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } g(); }), t({ @@ -35541,80 +35594,80 @@ const g2 = { get semanticBtn() { return d.value; }, - setSemanticEnabled: (S) => { - p.value = !!S, g(); + setSemanticEnabled: (G) => { + p.value = !!G, g(); } - }), (S, W) => (Ie(), he("div", { + }), (G, W) => (be(), Ce("div", { ref_key: "searchSectionRef", ref: l, class: "mjr-am-search" }, [ - ne("div", I2, [ - W[0] || (W[0] = ne("span", { class: "mjr-am-search-icon" }, [ - ne("i", { class: "pi pi-search" }) + ie("div", y2, [ + W[0] || (W[0] = ie("span", { class: "mjr-am-search-icon" }, [ + ie("i", { class: "pi pi-search" }) ], -1)), - ne("input", { + ie("input", { ref_key: "searchInputRef", ref: a, type: "text", id: "mjr-search-input", class: "mjr-input", - placeholder: M.value, - title: Z.value, - list: Ge(u), + placeholder: S.value, + title: A.value, + list: xe(u), onInput: b - }, null, 40, b2), - ne("datalist", { + }, null, 40, f2), + ie("datalist", { ref_key: "dataListRef", ref: c, - id: Ge(u) - }, null, 8, p2) + id: xe(u) + }, null, 8, h2) ]), - ne("div", y2, [ - ne("div", f2, [ - ne("button", { + ie("div", C2, [ + ie("div", Z2, [ + ie("button", { ref_key: "semanticBtnRef", ref: d, type: "button", class: "mjr-icon-btn mjr-ai-control", disabled: !p.value, "aria-disabled": !p.value, - title: p.value ? Ge(m)("search.semanticToggle", "Toggle AI semantic search (CLIP-based)") : Ge(m)("search.semanticDisabled", "AI semantic search is disabled in settings"), - style: vt(A.value), + title: p.value ? xe(m)("search.semanticToggle", "Toggle AI semantic search (CLIP-based)") : xe(m)("search.semanticDisabled", "AI semantic search is disabled in settings"), + style: Lt(C.value), onClick: f }, [...W[1] || (W[1] = [ - ne("i", { class: "pi pi-sparkles" }, null, -1) - ])], 12, h2) + ie("i", { class: "pi pi-sparkles" }, null, -1) + ])], 12, A2) ]), - ne("div", C2, [ - ne("button", { + ie("div", W2, [ + ie("button", { ref_key: "similarBtnRef", ref: s, type: "button", class: "mjr-icon-btn mjr-ai-control", - title: Ge(m)("search.findSimilar", "Find Similar"), - onClick: C + title: xe(m)("search.findSimilar", "Find Similar"), + onClick: h }, [...W[2] || (W[2] = [ - ne("i", { class: "pi pi-clone" }, null, -1) - ])], 8, Z2) + ie("i", { class: "pi pi-clone" }, null, -1) + ])], 8, w2) ]), - xl(S.$slots, "filter-anchor"), - xl(S.$slots, "sort-anchor"), - xl(S.$slots, "collections-anchor"), - xl(S.$slots, "pinned-folders-anchor") + jl(G.$slots, "filter-anchor"), + jl(G.$slots, "sort-anchor"), + jl(G.$slots, "collections-anchor"), + jl(G.$slots, "pinned-folders-anchor") ]) ], 512)); } -}, W2 = { +}, S2 = { class: "mjr-popover mjr-sort-popover", style: { display: "none" } -}, w2 = { +}, G2 = { class: "mjr-menu", style: { display: "grid", gap: "6px" } -}, M2 = ["onClick"], S2 = { class: "mjr-menu-item-label" }, G2 = { +}, x2 = ["onClick"], j2 = { class: "mjr-menu-item-label" }, v2 = { __name: "SortPopover", setup(e) { - const t = Mo(), n = Je(() => [ + const t = Go(), n = ze(() => [ { key: "mtime_desc", label: m("sort.newest"), icon: "pi pi-sort-amount-down" }, { key: "mtime_asc", label: m("sort.oldest"), icon: "pi pi-sort-amount-up-alt" }, { key: "name_asc", label: m("sort.nameAZ"), icon: "pi pi-sort-alpha-down" }, @@ -35622,7 +35675,7 @@ const g2 = { { key: "rating_desc", label: m("sort.ratingHigh"), icon: "pi pi-star-fill" }, { key: "size_desc", label: m("sort.sizeDesc"), icon: "pi pi-sort-numeric-down-alt" }, { key: "size_asc", label: m("sort.sizeAsc"), icon: "pi pi-sort-numeric-up-alt" } - ]), i = Je(() => t.sort || "mtime_desc"), o = (r) => { + ]), i = ze(() => t.sort || "mtime_desc"), o = (r) => { var l; t.sort = r; try { @@ -35631,107 +35684,107 @@ const g2 = { (l = console.debug) == null || l.call(console, a); } }; - return (r, l) => (Ie(), he("div", W2, [ - ne("div", w2, [ - (Ie(!0), he(Xt, null, Cn(n.value, (a) => (Ie(), he("button", { + return (r, l) => (be(), Ce("div", S2, [ + ie("div", G2, [ + (be(!0), Ce(Nt, null, Cn(n.value, (a) => (be(), Ce("button", { key: a.key, type: "button", class: Zn(["mjr-menu-item", { "is-active": i.value === a.key }]), onClick: (c) => o(a.key) }, [ - ne("span", S2, Ye(a.label), 1), - ne("i", { + ie("span", j2, Ye(a.label), 1), + ie("i", { class: Zn([a.icon, "mjr-menu-item-check"]), - style: vt({ opacity: i.value === a.key ? 1 : 0 }) + style: Lt({ opacity: i.value === a.key ? 1 : 0 }) }, null, 6) - ], 10, M2))), 128)) + ], 10, x2))), 128)) ]) ])); } -}, x2 = { +}, L2 = { class: "mjr-popover mjr-filter-popover", style: { display: "none" } -}, j2 = ["aria-expanded"], v2 = { class: "mjr-filter-group-title" }, L2 = { +}, V2 = ["aria-expanded"], Y2 = { class: "mjr-filter-group-title" }, k2 = { class: "mjr-filter-group-chevron", "aria-hidden": "true" -}, Y2 = { class: "mjr-filter-group-body" }, V2 = { class: "mjr-popover-row" }, k2 = { class: "mjr-popover-label" }, X2 = ["title", "value"], N2 = { value: "" }, R2 = { value: "image" }, F2 = { value: "video" }, O2 = { value: "audio" }, z2 = { class: "mjr-popover-row" }, J2 = { class: "mjr-popover-label" }, T2 = ["title"], B2 = ["checked"], U2 = { class: "mjr-popover-row" }, K2 = { class: "mjr-popover-label" }, D2 = ["value"], E2 = { value: "" }, H2 = { class: "mjr-popover-row" }, q2 = { class: "mjr-popover-label" }, P2 = ["title", "value"], Q2 = { value: "0" }, _2 = ["aria-expanded"], $2 = { class: "mjr-filter-group-title" }, eS = { +}, X2 = { class: "mjr-filter-group-body" }, N2 = { class: "mjr-popover-row" }, R2 = { class: "mjr-popover-label" }, F2 = ["title", "value"], O2 = { value: "" }, z2 = { value: "image" }, J2 = { value: "video" }, T2 = { value: "audio" }, B2 = { class: "mjr-popover-row" }, U2 = { class: "mjr-popover-label" }, K2 = ["title"], D2 = ["checked"], E2 = { class: "mjr-popover-row" }, H2 = { class: "mjr-popover-label" }, q2 = ["value"], P2 = { value: "" }, Q2 = { class: "mjr-popover-row" }, _2 = { class: "mjr-popover-label" }, $2 = ["title", "value"], eS = { value: "0" }, tS = ["aria-expanded"], nS = { class: "mjr-filter-group-title" }, iS = { class: "mjr-filter-group-chevron", "aria-hidden": "true" -}, tS = { class: "mjr-filter-group-body" }, nS = { class: "mjr-popover-row mjr-popover-row--3col" }, iS = { class: "mjr-popover-label" }, oS = ["placeholder", "value"], rS = ["placeholder", "value"], lS = { class: "mjr-popover-row" }, aS = { class: "mjr-popover-label" }, cS = ["value"], sS = { value: "" }, dS = { class: "mjr-popover-row mjr-popover-row--3col" }, uS = { class: "mjr-popover-label" }, mS = ["placeholder", "title", "value"], gS = ["placeholder", "title", "value"], IS = { class: "mjr-popover-row mjr-popover-row--3col" }, bS = { class: "mjr-popover-label" }, pS = ["placeholder", "title", "value"], yS = ["placeholder", "title", "value"], fS = ["aria-expanded"], hS = { class: "mjr-filter-group-title" }, CS = { +}, oS = { class: "mjr-filter-group-body" }, rS = { class: "mjr-popover-row mjr-popover-row--3col" }, lS = { class: "mjr-popover-label" }, aS = ["placeholder", "value"], cS = ["placeholder", "value"], sS = { class: "mjr-popover-row" }, dS = { class: "mjr-popover-label" }, uS = ["value"], mS = { value: "" }, gS = { class: "mjr-popover-row mjr-popover-row--3col" }, IS = { class: "mjr-popover-label" }, bS = ["placeholder", "title", "value"], pS = ["placeholder", "title", "value"], yS = { class: "mjr-popover-row mjr-popover-row--3col" }, fS = { class: "mjr-popover-label" }, hS = ["placeholder", "title", "value"], CS = ["placeholder", "title", "value"], ZS = ["aria-expanded"], AS = { class: "mjr-filter-group-title" }, WS = { class: "mjr-filter-group-chevron", "aria-hidden": "true" -}, ZS = { class: "mjr-filter-group-body" }, AS = { class: "mjr-popover-row" }, WS = { class: "mjr-popover-label" }, wS = ["title", "value"], MS = { value: "" }, SS = { value: "today" }, GS = { value: "this_week" }, xS = { value: "this_month" }, jS = { class: "mjr-popover-row" }, vS = { class: "mjr-popover-label" }, LS = ["value"], YS = { +}, wS = { class: "mjr-filter-group-body" }, MS = { class: "mjr-popover-row" }, SS = { class: "mjr-popover-label" }, GS = ["title", "value"], xS = { value: "" }, jS = { value: "today" }, vS = { value: "this_week" }, LS = { value: "this_month" }, VS = { class: "mjr-popover-row" }, YS = { class: "mjr-popover-label" }, kS = ["value"], XS = { __name: "FilterPopover", setup(e, { expose: t }) { - const n = Mo(), i = Ae(null), o = Ae(null), r = Ae(null), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae(null), d = Ae(null), u = Ae(null), I = Ae(null), p = Ae(null), M = Ae(null), Z = Ae(null), A = Ae(null), g = Ae({ + const n = Go(), i = Ae(null), o = Ae(null), r = Ae(null), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae(null), d = Ae(null), u = Ae(null), I = Ae(null), p = Ae(null), S = Ae(null), A = Ae(null), C = Ae(null), g = Ae({ core: !1, media: !1, time: !1 - }), h = Je(() => { - const R = Number(n.minWidth || 0) || 0, j = Number(n.minHeight || 0) || 0; - return R >= 3840 && j >= 2160 ? "uhd" : R >= 2560 && j >= 1440 ? "qhd" : R >= 1920 && j >= 1080 ? "fhd" : R >= 1280 && j >= 720 ? "hd" : ""; - }), f = Je(() => { - const R = String(n.dateExactFilter || "").trim().length > 0; + }), Z = ze(() => { + const F = Number(n.minWidth || 0) || 0, N = Number(n.minHeight || 0) || 0; + return F >= 3840 && N >= 2160 ? "uhd" : F >= 2560 && N >= 1440 ? "qhd" : F >= 1920 && N >= 1080 ? "fhd" : F >= 1280 && N >= 720 ? "hd" : ""; + }), f = ze(() => { + const F = String(n.dateExactFilter || "").trim().length > 0; return { - "mjr-agenda-filled": R, - "mjr-agenda-empty": !R + "mjr-agenda-filled": F, + "mjr-agenda-empty": !F }; - }), b = (R) => { - const j = String(R ?? "").trim(); - if (!j) return 0; - const L = j.replace(",", "."), N = Number(L); - return Number.isFinite(N) ? N : 0; - }, v = () => { - var R; + }), b = (F) => { + const N = String(F ?? "").trim(); + if (!N) return 0; + const V = N.replace(",", "."), k = Number(V); + return Number.isFinite(k) ? k : 0; + }, L = () => { + var F; try { window.dispatchEvent(new CustomEvent("mjr:filters-changed")); - } catch (j) { - (R = console.debug) == null || R.call(console, j); + } catch (N) { + (F = console.debug) == null || F.call(console, N); } - }, C = (R) => { - var j; - n.kindFilter = String(((j = R == null ? void 0 : R.target) == null ? void 0 : j.value) || ""), v(); - }, S = (R) => { - var j; - n.workflowOnly = !!((j = R == null ? void 0 : R.target) != null && j.checked), v(); - }, W = (R) => { - var j; - n.workflowType = String(((j = R == null ? void 0 : R.target) == null ? void 0 : j.value) || "").trim().toUpperCase(), v(); - }, y = (R) => { - var j; - n.minRating = Number(((j = R == null ? void 0 : R.target) == null ? void 0 : j.value) || 0) || 0, v(); - }, k = () => { - var L, N; - const R = b(((L = a.value) == null ? void 0 : L.value) || 0); - let j = b(((N = c.value) == null ? void 0 : N.value) || 0); - j > 0 && R > 0 && j < R && (j = R, c.value && (c.value.value = String(j))), n.minSizeMB = R > 0 ? R : 0, n.maxSizeMB = j > 0 ? j : 0, v(); - }, G = () => { - var q, O, B, J; - const R = Math.max(0, Math.round(b(((q = d.value) == null ? void 0 : q.value) || 0))), j = Math.max(0, Math.round(b(((O = u.value) == null ? void 0 : O.value) || 0))); - let L = Math.max(0, Math.round(b(((B = I.value) == null ? void 0 : B.value) || 0))), N = Math.max(0, Math.round(b(((J = p.value) == null ? void 0 : J.value) || 0))); - L > 0 && R > 0 && L < R && (L = R, I.value && (I.value.value = String(L))), N > 0 && j > 0 && N < j && (N = j, p.value && (p.value.value = String(N))), n.minWidth = R, n.minHeight = j, n.maxWidth = L, n.maxHeight = N, v(); - }, z = (R) => { - var O; - const j = String(((O = R == null ? void 0 : R.target) == null ? void 0 : O.value) || "").trim(), L = { + }, h = (F) => { + var N; + n.kindFilter = String(((N = F == null ? void 0 : F.target) == null ? void 0 : N.value) || ""), L(); + }, G = (F) => { + var N; + n.workflowOnly = !!((N = F == null ? void 0 : F.target) != null && N.checked), L(); + }, W = (F) => { + var N; + n.workflowType = String(((N = F == null ? void 0 : F.target) == null ? void 0 : N.value) || "").trim().toUpperCase(), L(); + }, y = (F) => { + var N; + n.minRating = Number(((N = F == null ? void 0 : F.target) == null ? void 0 : N.value) || 0) || 0, L(); + }, X = () => { + var V, k; + const F = b(((V = a.value) == null ? void 0 : V.value) || 0); + let N = b(((k = c.value) == null ? void 0 : k.value) || 0); + N > 0 && F > 0 && N < F && (N = F, c.value && (c.value.value = String(N))), n.minSizeMB = F > 0 ? F : 0, n.maxSizeMB = N > 0 ? N : 0, L(); + }, x = () => { + var K, z, B, J; + const F = Math.max(0, Math.round(b(((K = d.value) == null ? void 0 : K.value) || 0))), N = Math.max(0, Math.round(b(((z = u.value) == null ? void 0 : z.value) || 0))); + let V = Math.max(0, Math.round(b(((B = I.value) == null ? void 0 : B.value) || 0))), k = Math.max(0, Math.round(b(((J = p.value) == null ? void 0 : J.value) || 0))); + V > 0 && F > 0 && V < F && (V = F, I.value && (I.value.value = String(V))), k > 0 && N > 0 && k < N && (k = N, p.value && (p.value.value = String(k))), n.minWidth = F, n.minHeight = N, n.maxWidth = V, n.maxHeight = k, L(); + }, T = (F) => { + var z; + const N = String(((z = F == null ? void 0 : F.target) == null ? void 0 : z.value) || "").trim(), V = { hd: [1280, 720], fhd: [1920, 1080], qhd: [2560, 1440], uhd: [3840, 2160] - }, [N, q] = L[j] || [0, 0]; - n.minWidth = Number(N || 0), n.minHeight = Number(q || 0), n.maxWidth = 0, n.maxHeight = 0, d.value && (d.value.value = n.minWidth || ""), u.value && (u.value.value = n.minHeight || ""), I.value && (I.value.value = ""), p.value && (p.value.value = ""), v(); - }, x = (R) => { - var j; - n.dateRangeFilter = String(((j = R == null ? void 0 : R.target) == null ? void 0 : j.value) || ""), n.dateRangeFilter && n.dateExactFilter && (n.dateExactFilter = "", A.value && (A.value.value = "")), v(); - }, w = (R) => { - var j; - n.dateExactFilter = String(((j = R == null ? void 0 : R.target) == null ? void 0 : j.value) || "").trim(), v(); - }, X = (R) => { - const j = String(R || "").trim().toLowerCase(); - !j || !(j in g.value) || (g.value = { + }, [k, K] = V[N] || [0, 0]; + n.minWidth = Number(k || 0), n.minHeight = Number(K || 0), n.maxWidth = 0, n.maxHeight = 0, d.value && (d.value.value = n.minWidth || ""), u.value && (u.value.value = n.minHeight || ""), I.value && (I.value.value = ""), p.value && (p.value.value = ""), L(); + }, v = (F) => { + var N; + n.dateRangeFilter = String(((N = F == null ? void 0 : F.target) == null ? void 0 : N.value) || ""), n.dateRangeFilter && n.dateExactFilter && (n.dateExactFilter = "", C.value && (C.value.value = "")), L(); + }, w = (F) => { + var N; + n.dateExactFilter = String(((N = F == null ? void 0 : F.target) == null ? void 0 : N.value) || "").trim(), L(); + }, R = (F) => { + const N = String(F || "").trim().toLowerCase(); + !N || !(N in g.value) || (g.value = { ...g.value, - [j]: !g.value[j] + [N]: !g.value[N] }); - }, V = (R) => !!g.value[String(R || "").trim().toLowerCase()]; + }, Y = (F) => !!g.value[String(F || "").trim().toLowerCase()]; return t({ get kindSelect() { return i.value; @@ -35767,258 +35820,258 @@ const g2 = { return p.value; }, get dateRangeSelect() { - return M.value; + return S.value; }, get dateExactInput() { - return A.value; + return C.value; }, get agendaContainer() { - return Z.value; + return A.value; } - }), (R, j) => (Ie(), he("div", x2, [ - ne("div", { - class: Zn(["mjr-filter-group", { "is-open": V("core") }]) + }), (F, N) => (be(), Ce("div", L2, [ + ie("div", { + class: Zn(["mjr-filter-group", { "is-open": Y("core") }]) }, [ - ne("button", { + ie("button", { type: "button", class: "mjr-filter-group-toggle", - "aria-expanded": String(V("core")), - onClick: j[0] || (j[0] = (L) => X("core")) + "aria-expanded": String(Y("core")), + onClick: N[0] || (N[0] = (V) => R("core")) }, [ - ne("span", v2, Ye(Ge(m)("group.core", "Core")), 1), - ne("span", L2, Ye(V("core") ? "β–Ύ" : "β–Έ"), 1) - ], 8, j2), - Bo(ne("div", Y2, [ - ne("div", V2, [ - ne("div", k2, Ye(Ge(m)("label.type")), 1), - ne("select", { + ie("span", Y2, Ye(xe(m)("group.core", "Core")), 1), + ie("span", k2, Ye(Y("core") ? "β–Ύ" : "β–Έ"), 1) + ], 8, V2), + Ko(ie("div", X2, [ + ie("div", N2, [ + ie("div", R2, Ye(xe(m)("label.type")), 1), + ie("select", { ref_key: "kindSelectRef", ref: i, class: "mjr-select", - title: Ge(m)("tooltip.filterByFileType", "Filter by file type"), - value: Ge(n).kindFilter, - onChange: C + title: xe(m)("tooltip.filterByFileType", "Filter by file type"), + value: xe(n).kindFilter, + onChange: h }, [ - ne("option", N2, Ye(Ge(m)("filter.all")), 1), - ne("option", R2, Ye(Ge(m)("filter.images", "Images")), 1), - ne("option", F2, Ye(Ge(m)("filter.videos", "Videos")), 1), - ne("option", O2, Ye(Ge(m)("filter.audio", "Audio")), 1), - j[3] || (j[3] = ne("option", { value: "model3d" }, "3D", -1)) - ], 40, X2) + ie("option", O2, Ye(xe(m)("filter.all")), 1), + ie("option", z2, Ye(xe(m)("filter.images", "Images")), 1), + ie("option", J2, Ye(xe(m)("filter.videos", "Videos")), 1), + ie("option", T2, Ye(xe(m)("filter.audio", "Audio")), 1), + N[3] || (N[3] = ie("option", { value: "model3d" }, "3D", -1)) + ], 40, F2) ]), - ne("div", z2, [ - ne("div", J2, Ye(Ge(m)("label.workflow")), 1), - ne("label", { + ie("div", B2, [ + ie("div", U2, Ye(xe(m)("label.workflow")), 1), + ie("label", { class: "mjr-popover-toggle", - title: Ge(m)("tooltip.filterWorkflowOnly", "Show only assets with embedded workflow data") + title: xe(m)("tooltip.filterWorkflowOnly", "Show only assets with embedded workflow data") }, [ - ne("input", { + ie("input", { ref_key: "wfCheckboxRef", ref: o, type: "checkbox", - checked: Ge(n).workflowOnly, - onChange: S - }, null, 40, B2), - ne("span", null, Ye(Ge(m)("filter.onlyWithWorkflow")), 1) - ], 8, T2) + checked: xe(n).workflowOnly, + onChange: G + }, null, 40, D2), + ie("span", null, Ye(xe(m)("filter.onlyWithWorkflow")), 1) + ], 8, K2) ]), - ne("div", U2, [ - ne("div", K2, Ye(Ge(m)("label.workflowType", "Workflow type")), 1), - ne("select", { + ie("div", E2, [ + ie("div", H2, Ye(xe(m)("label.workflowType", "Workflow type")), 1), + ie("select", { ref_key: "workflowTypeSelectRef", ref: r, class: "mjr-select", - value: Ge(n).workflowType, + value: xe(n).workflowType, onChange: W }, [ - ne("option", E2, Ye(Ge(m)("filter.any", "Any")), 1), - j[4] || (j[4] = Xd('', 10)) - ], 40, D2) + ie("option", P2, Ye(xe(m)("filter.any", "Any")), 1), + N[4] || (N[4] = Rd('', 10)) + ], 40, q2) ]), - ne("div", H2, [ - ne("div", q2, Ye(Ge(m)("label.rating")), 1), - ne("select", { + ie("div", Q2, [ + ie("div", _2, Ye(xe(m)("label.rating")), 1), + ie("select", { ref_key: "ratingSelectRef", ref: l, class: "mjr-select", - title: Ge(m)("tooltip.filterMinRating", "Filter by minimum rating"), - value: String(Ge(n).minRating || 0), + title: xe(m)("tooltip.filterMinRating", "Filter by minimum rating"), + value: String(xe(n).minRating || 0), onChange: y }, [ - ne("option", Q2, Ye(Ge(m)("filter.anyRating")), 1), - j[5] || (j[5] = Xd('', 5)) - ], 40, P2) + ie("option", eS, Ye(xe(m)("filter.anyRating")), 1), + N[5] || (N[5] = Rd('', 5)) + ], 40, $2) ]) ], 512), [ - [br, V("core")] + [yr, Y("core")] ]) ], 2), - ne("div", { - class: Zn(["mjr-filter-group", { "is-open": V("media") }]) + ie("div", { + class: Zn(["mjr-filter-group", { "is-open": Y("media") }]) }, [ - ne("button", { + ie("button", { type: "button", class: "mjr-filter-group-toggle", - "aria-expanded": String(V("media")), - onClick: j[1] || (j[1] = (L) => X("media")) + "aria-expanded": String(Y("media")), + onClick: N[1] || (N[1] = (V) => R("media")) }, [ - ne("span", $2, Ye(Ge(m)("group.media", "Media")), 1), - ne("span", eS, Ye(V("media") ? "β–Ύ" : "β–Έ"), 1) - ], 8, _2), - Bo(ne("div", tS, [ - ne("div", nS, [ - ne("div", iS, Ye(Ge(m)("label.fileSizeMB", "File size (MB)")), 1), - ne("input", { + ie("span", nS, Ye(xe(m)("group.media", "Media")), 1), + ie("span", iS, Ye(Y("media") ? "β–Ύ" : "β–Έ"), 1) + ], 8, tS), + Ko(ie("div", oS, [ + ie("div", rS, [ + ie("div", lS, Ye(xe(m)("label.fileSizeMB", "File size (MB)")), 1), + ie("input", { ref_key: "minSizeInputRef", ref: a, type: "number", min: "0", step: "0.1", class: "mjr-input", - placeholder: Ge(m)("label.min", "Min"), - value: Ge(n).minSizeMB || "", - onChange: k - }, null, 40, oS), - ne("input", { + placeholder: xe(m)("label.min", "Min"), + value: xe(n).minSizeMB || "", + onChange: X + }, null, 40, aS), + ie("input", { ref_key: "maxSizeInputRef", ref: c, type: "number", min: "0", step: "0.1", class: "mjr-input", - placeholder: Ge(m)("label.max", "Max"), - value: Ge(n).maxSizeMB || "", - onChange: k - }, null, 40, rS) + placeholder: xe(m)("label.max", "Max"), + value: xe(n).maxSizeMB || "", + onChange: X + }, null, 40, cS) ]), - ne("div", lS, [ - ne("div", aS, Ye(Ge(m)("label.resolutionPx", "Resolution (px)")), 1), - ne("select", { + ie("div", sS, [ + ie("div", dS, Ye(xe(m)("label.resolutionPx", "Resolution (px)")), 1), + ie("select", { ref_key: "resolutionPresetSelectRef", ref: s, class: "mjr-select", - value: h.value, - onChange: z + value: Z.value, + onChange: T }, [ - ne("option", sS, Ye(Ge(m)("filter.any", "Any")), 1), - j[6] || (j[6] = ne("option", { value: "hd" }, "HD (1280Γ—720)", -1)), - j[7] || (j[7] = ne("option", { value: "fhd" }, "FHD (1920Γ—1080)", -1)), - j[8] || (j[8] = ne("option", { value: "qhd" }, "QHD (2560Γ—1440)", -1)), - j[9] || (j[9] = ne("option", { value: "uhd" }, "4K (3840Γ—2160)", -1)) - ], 40, cS) + ie("option", mS, Ye(xe(m)("filter.any", "Any")), 1), + N[6] || (N[6] = ie("option", { value: "hd" }, "HD (1280Γ—720)", -1)), + N[7] || (N[7] = ie("option", { value: "fhd" }, "FHD (1920Γ—1080)", -1)), + N[8] || (N[8] = ie("option", { value: "qhd" }, "QHD (2560Γ—1440)", -1)), + N[9] || (N[9] = ie("option", { value: "uhd" }, "4K (3840Γ—2160)", -1)) + ], 40, uS) ]), - ne("div", dS, [ - ne("div", uS, Ye(Ge(m)("label.resolutionMinWxH", "Min WxH (px)")), 1), - ne("input", { + ie("div", gS, [ + ie("div", IS, Ye(xe(m)("label.resolutionMinWxH", "Min WxH (px)")), 1), + ie("input", { ref_key: "minWidthInputRef", ref: d, type: "number", min: "0", step: "1", class: "mjr-input", - placeholder: Ge(m)("label.widthPx", "W (px)"), - title: Ge(m)("tooltip.widthPx", "Minimum width in pixels"), - value: Ge(n).minWidth || "", - onChange: G - }, null, 40, mS), - ne("input", { + placeholder: xe(m)("label.widthPx", "W (px)"), + title: xe(m)("tooltip.widthPx", "Minimum width in pixels"), + value: xe(n).minWidth || "", + onChange: x + }, null, 40, bS), + ie("input", { ref_key: "minHeightInputRef", ref: u, type: "number", min: "0", step: "1", class: "mjr-input", - placeholder: Ge(m)("label.heightPx", "H (px)"), - title: Ge(m)("tooltip.heightPx", "Minimum height in pixels"), - value: Ge(n).minHeight || "", - onChange: G - }, null, 40, gS) + placeholder: xe(m)("label.heightPx", "H (px)"), + title: xe(m)("tooltip.heightPx", "Minimum height in pixels"), + value: xe(n).minHeight || "", + onChange: x + }, null, 40, pS) ]), - ne("div", IS, [ - ne("div", bS, Ye(Ge(m)("label.resolutionMaxWxH", "Max WxH (px)")), 1), - ne("input", { + ie("div", yS, [ + ie("div", fS, Ye(xe(m)("label.resolutionMaxWxH", "Max WxH (px)")), 1), + ie("input", { ref_key: "maxWidthInputRef", ref: I, type: "number", min: "0", step: "1", class: "mjr-input", - placeholder: Ge(m)("label.widthPx", "W (px)"), - title: Ge(m)("tooltip.widthPx", "Maximum width in pixels"), - value: Ge(n).maxWidth || "", - onChange: G - }, null, 40, pS), - ne("input", { + placeholder: xe(m)("label.widthPx", "W (px)"), + title: xe(m)("tooltip.widthPx", "Maximum width in pixels"), + value: xe(n).maxWidth || "", + onChange: x + }, null, 40, hS), + ie("input", { ref_key: "maxHeightInputRef", ref: p, type: "number", min: "0", step: "1", class: "mjr-input", - placeholder: Ge(m)("label.heightPx", "H (px)"), - title: Ge(m)("tooltip.heightPx", "Maximum height in pixels"), - value: Ge(n).maxHeight || "", - onChange: G - }, null, 40, yS) + placeholder: xe(m)("label.heightPx", "H (px)"), + title: xe(m)("tooltip.heightPx", "Maximum height in pixels"), + value: xe(n).maxHeight || "", + onChange: x + }, null, 40, CS) ]) ], 512), [ - [br, V("media")] + [yr, Y("media")] ]) ], 2), - ne("div", { - class: Zn(["mjr-filter-group", { "is-open": V("time") }]) + ie("div", { + class: Zn(["mjr-filter-group", { "is-open": Y("time") }]) }, [ - ne("button", { + ie("button", { type: "button", class: "mjr-filter-group-toggle", - "aria-expanded": String(V("time")), - onClick: j[2] || (j[2] = (L) => X("time")) + "aria-expanded": String(Y("time")), + onClick: N[2] || (N[2] = (V) => R("time")) }, [ - ne("span", hS, Ye(Ge(m)("group.time", "Time")), 1), - ne("span", CS, Ye(V("time") ? "β–Ύ" : "β–Έ"), 1) - ], 8, fS), - Bo(ne("div", ZS, [ - ne("div", AS, [ - ne("div", WS, Ye(Ge(m)("label.dateRange")), 1), - ne("select", { + ie("span", AS, Ye(xe(m)("group.time", "Time")), 1), + ie("span", WS, Ye(Y("time") ? "β–Ύ" : "β–Έ"), 1) + ], 8, ZS), + Ko(ie("div", wS, [ + ie("div", MS, [ + ie("div", SS, Ye(xe(m)("label.dateRange")), 1), + ie("select", { ref_key: "dateRangeSelectRef", - ref: M, + ref: S, class: "mjr-select", - title: Ge(m)("tooltip.filterByDateRange", "Filter by date range"), - value: Ge(n).dateRangeFilter, - onChange: x + title: xe(m)("tooltip.filterByDateRange", "Filter by date range"), + value: xe(n).dateRangeFilter, + onChange: v }, [ - ne("option", MS, Ye(Ge(m)("filter.anytime")), 1), - ne("option", SS, Ye(Ge(m)("filter.today")), 1), - ne("option", GS, Ye(Ge(m)("filter.thisWeek")), 1), - ne("option", xS, Ye(Ge(m)("filter.thisMonth")), 1) - ], 40, wS) + ie("option", xS, Ye(xe(m)("filter.anytime")), 1), + ie("option", jS, Ye(xe(m)("filter.today")), 1), + ie("option", vS, Ye(xe(m)("filter.thisWeek")), 1), + ie("option", LS, Ye(xe(m)("filter.thisMonth")), 1) + ], 40, GS) ]), - ne("div", jS, [ - ne("div", vS, Ye(Ge(m)("label.agenda")), 1), - ne("div", { + ie("div", VS, [ + ie("div", YS, Ye(xe(m)("label.agenda")), 1), + ie("div", { ref_key: "agendaContainerRef", - ref: Z, + ref: A, class: "mjr-agenda-container" }, [ - ne("input", { + ie("input", { ref_key: "dateExactInputRef", - ref: A, + ref: C, type: "date", class: Zn(["mjr-input mjr-agenda-input", f.value]), style: { display: "none" }, - value: Ge(n).dateExactFilter, + value: xe(n).dateExactFilter, onChange: w - }, null, 42, LS) + }, null, 42, kS) ], 512) ]) ], 512), [ - [br, V("time")] + [yr, Y("time")] ]) ], 2) ])); } -}, VS = /* @__PURE__ */ jr(YS, [["__scopeId", "data-v-d1ebebd4"]]), kS = 128, XS = Object.freeze([ +}, NS = /* @__PURE__ */ Vr(XS, [["__scopeId", "data-v-d1ebebd4"]]), RS = 128, FS = Object.freeze([ { key: "portraits", label: "Portraits", @@ -36056,10 +36109,10 @@ const g2 = { iconClass: "pi pi-circle" } ]); -function NS(e) { +function OS(e) { try { const t = String(e ?? "").trim(); - if (!t || t.length > kS || t.includes("\0")) return ""; + if (!t || t.length > RS || t.includes("\0")) return ""; for (let n = 0; n < t.length; n += 1) { const i = t.charCodeAt(n); if (i <= 31 || i === 127) return ""; @@ -36069,7 +36122,7 @@ function NS(e) { return ""; } } -function RS(e) { +function zS(e) { if (!e || typeof e != "object") return null; const t = String(e.filepath || "").trim(); return t ? { @@ -36081,10 +36134,10 @@ function RS(e) { root_id: String(e.root_id || e.rootId || e.custom_root_id || "").trim() || void 0 } : null; } -function np(e) { +function ip(e) { const t = [], n = [], i = /* @__PURE__ */ new Set(); for (const o of Array.isArray(e) ? e : []) { - const r = RS(o); + const r = zS(o); if (r != null && r.filepath) { const a = r.filepath.toLowerCase(); if (i.has(a)) continue; @@ -36096,7 +36149,7 @@ function np(e) { } return { assets: t, missingIds: n }; } -async function Lm(e) { +async function Ym(e) { var r; const t = Array.from( new Set( @@ -36104,29 +36157,29 @@ async function Lm(e) { ) ); if (!t.length) return { ok: !0, data: [] }; - const n = await zs(t); + const n = await Ts(t); if (!(n != null && n.ok)) return { ok: !1, error: String((n == null ? void 0 : n.error) || "Failed to fetch assets") }; - const i = Array.isArray(n == null ? void 0 : n.data) ? n.data : Array.isArray((r = n == null ? void 0 : n.data) == null ? void 0 : r.assets) ? n.data.assets : [], { assets: o } = np(i); + const i = Array.isArray(n == null ? void 0 : n.data) ? n.data : Array.isArray((r = n == null ? void 0 : n.data) == null ? void 0 : r.assets) ? n.data.assets : [], { assets: o } = ip(i); return { ok: !0, data: o }; } -function Ym(e) { +function km(e) { var I, p; const t = String((e == null ? void 0 : e.label) || "").trim(); if (!(!t || /^group\b/i.test(t))) return t; - const i = (Array.isArray(e == null ? void 0 : e.dominant_tags) ? e.dominant_tags : []).map((M) => String(M || "").trim()).filter(Boolean); + const i = (Array.isArray(e == null ? void 0 : e.dominant_tags) ? e.dominant_tags : []).map((S) => String(S || "").trim()).filter(Boolean); if (i.length) return i.slice(0, 2).join(" / "); const o = Array.isArray(e == null ? void 0 : e.sample_assets) ? e.sample_assets : [], r = String( - ((I = o.find((M) => String((M == null ? void 0 : M.subfolder) || "").trim())) == null ? void 0 : I.subfolder) || "" + ((I = o.find((S) => String((S == null ? void 0 : S.subfolder) || "").trim())) == null ? void 0 : I.subfolder) || "" ).trim(), l = r ? r.split(/[\\/]/).filter(Boolean).pop() : "", a = { image: 0, video: 0, audio: 0, other: 0 }; - for (const M of o) { - const Z = String((M == null ? void 0 : M.kind) || "").toLowerCase(); - Z in a ? a[Z] += 1 : a.other += 1; + for (const S of o) { + const A = String((S == null ? void 0 : S.kind) || "").toLowerCase(); + A in a ? a[A] += 1 : a.other += 1; } - const c = ((p = Object.entries(a).sort((M, Z) => Z[1] - M[1])[0]) == null ? void 0 : p[0]) || "other", s = c === "image" ? "Images" : c === "video" ? "Videos" : c === "audio" ? "Audio" : "Media", d = Number(e == null ? void 0 : e.cluster_id), u = Number.isFinite(d) ? ` ${d + 1}` : ""; + const c = ((p = Object.entries(a).sort((S, A) => A[1] - S[1])[0]) == null ? void 0 : p[0]) || "other", s = c === "image" ? "Images" : c === "video" ? "Videos" : c === "audio" ? "Audio" : "Media", d = Number(e == null ? void 0 : e.cluster_id), u = Number.isFinite(d) ? ` ${d + 1}` : ""; return l ? `${l} - ${s}` : `${s} Cluster${u}`; } -function FS() { +function JS() { var e; try { const t = Xn(); @@ -36135,222 +36188,222 @@ function FS() { return !0; } } -const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { class: "mjr-menu-item-label" }, TS = ["disabled"], BS = { class: "mjr-menu-item-label" }, US = { class: "mjr-menu-item-right" }, KS = { +const TS = { class: "mjr-menu mjr-collections-menu" }, BS = ["disabled"], US = { class: "mjr-menu-item-label" }, KS = ["disabled"], DS = { class: "mjr-menu-item-label" }, ES = { class: "mjr-menu-item-right" }, HS = { key: 0, class: "mjr-menu-item-hint" -}, DS = { +}, qS = { key: 1, class: "mjr-muted" -}, ES = { +}, PS = { key: 2, class: "mjr-state-block is-error" -}, HS = { +}, QS = { key: 3, class: "mjr-muted" -}, qS = ["disabled", "onClick"], PS = { class: "mjr-menu-item-label" }, QS = { class: "mjr-menu-item-right" }, _S = { +}, _S = ["disabled", "onClick"], $S = { class: "mjr-menu-item-label" }, eG = { class: "mjr-menu-item-right" }, tG = { key: 0, class: "mjr-menu-item-hint" -}, $S = ["disabled", "title", "onClick"], eG = { class: "mjr-state-block" }, tG = { class: "mjr-section-title mjr-section-title--cyan" }, nG = { class: "mjr-section-hint" }, iG = ["disabled", "onClick"], oG = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, rG = { class: "mjr-section-title mjr-section-title--violet" }, lG = { class: "mjr-section-hint" }, aG = ["disabled"], cG = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, sG = { +}, nG = ["disabled", "title", "onClick"], iG = { class: "mjr-state-block" }, oG = { class: "mjr-section-title mjr-section-title--cyan" }, rG = { class: "mjr-section-hint" }, lG = ["disabled", "onClick"], aG = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, cG = { class: "mjr-section-title mjr-section-title--violet" }, sG = { class: "mjr-section-hint" }, dG = ["disabled"], uG = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, mG = { key: 0, class: "mjr-state-block is-error" -}, dG = { class: "mjr-cluster-thumbs" }, uG = ["src", "alt"], mG = { class: "mjr-cluster-info" }, gG = ["title"], IG = { class: "mjr-cluster-count" }, bG = ["disabled", "title", "onClick"], pG = "mjr:collections-changed", yG = { +}, gG = { class: "mjr-cluster-thumbs" }, IG = ["src", "alt"], bG = { class: "mjr-cluster-info" }, pG = ["title"], yG = { class: "mjr-cluster-count" }, fG = ["disabled", "title", "onClick"], hG = "mjr:collections-changed", CG = { __name: "CollectionsPopover", setup(e, { expose: t }) { - const n = Mo(), i = Ae(null), o = Ae([]), r = Ae(!1), l = Ae(""), a = Ae(!1), c = Ae(!0), s = Ae(!1), d = Ae(!1), u = Ae(!1), I = Ae([]), p = Ae(""), M = Ae(""); - let Z = 0, A = null, g = !1; - const h = Je(() => String(n.collectionId || "").trim()), f = Je(() => String(n.collectionName || "").trim()), b = Je(() => !!h.value), v = Je(() => !c.value || d.value), C = Je(() => c.value && s.value); - function S() { + const n = Go(), i = Ae(null), o = Ae([]), r = Ae(!1), l = Ae(""), a = Ae(!1), c = Ae(!0), s = Ae(!1), d = Ae(!1), u = Ae(!1), I = Ae([]), p = Ae(""), S = Ae(""); + let A = 0, C = null, g = !1; + const Z = ze(() => String(n.collectionId || "").trim()), f = ze(() => String(n.collectionName || "").trim()), b = ze(() => !!Z.value), L = ze(() => !c.value || d.value), h = ze(() => c.value && s.value); + function G() { const B = i.value; return !!B && String(B.style.display || "").toLowerCase() !== "none"; } function W({ - collectionId: B = h.value, + collectionId: B = Z.value, collectionName: J = f.value, - close: T = !0, - reload: D = !0 + close: P = !0, + reload: H = !0 } = {}) { - var Q; + var $; try { window.dispatchEvent( - new CustomEvent(pG, { + new CustomEvent(hG, { detail: { collectionId: String(B || ""), collectionName: String(J || ""), - close: T !== !1, - reload: D !== !1 + close: P !== !1, + reload: H !== !1 } }) ); } catch (E) { - (Q = console.debug) == null || Q.call(console, E); + ($ = console.debug) == null || $.call(console, E); } } function y(B) { var J; try { - return Bi(B) || ""; - } catch (T) { - return (J = console.debug) == null || J.call(console, T), ""; + return Ki(B) || ""; + } catch (P) { + return (J = console.debug) == null || J.call(console, P), ""; } } - async function k() { - var J, T; - if (!FS()) + async function X() { + var J, P; + if (!JS()) return { enabled: !1, vectorAvailable: !1, vectorDisabled: !1 }; try { - const D = await Ga(), Q = !(D != null && D.ok) && (String((D == null ? void 0 : D.code) || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String((D == null ? void 0 : D.error) || ""))); + const H = await xa(), $ = !(H != null && H.ok) && (String((H == null ? void 0 : H.code) || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String((H == null ? void 0 : H.error) || ""))); return { enabled: !0, - vectorAvailable: !!(D != null && D.ok && ((J = D == null ? void 0 : D.data) == null ? void 0 : J.total) > 0), - vectorDisabled: Q + vectorAvailable: !!(H != null && H.ok && ((J = H == null ? void 0 : H.data) == null ? void 0 : J.total) > 0), + vectorDisabled: $ }; - } catch (D) { - return (T = console.debug) == null || T.call(console, D), { + } catch (H) { + return (P = console.debug) == null || P.call(console, H), { enabled: !0, vectorAvailable: !1, vectorDisabled: !1 }; } } - function G(...B) { - const J = [], T = /* @__PURE__ */ new Set(); - for (const D of B) - for (const Q of Array.isArray(D) ? D : []) { - const E = String((Q == null ? void 0 : Q.filepath) || "").trim().toLowerCase(); - !E || T.has(E) || (T.add(E), J.push(Q)); + function x(...B) { + const J = [], P = /* @__PURE__ */ new Set(); + for (const H of B) + for (const $ of Array.isArray(H) ? H : []) { + const E = String(($ == null ? void 0 : $.filepath) || "").trim().toLowerCase(); + !E || P.has(E) || (P.add(E), J.push($)); } return J; } - async function z() { + async function T() { var J; - const B = ++Z; + const B = ++A; r.value = !0, a.value = !0, l.value = "", p.value = ""; try { - const [T, D] = await Promise.all([ - Xg(), - k() + const [P, H] = await Promise.all([ + Ng(), + X() ]); - if (B !== Z) return; - T != null && T.ok ? o.value = Array.isArray(T == null ? void 0 : T.data) ? T.data : [] : (l.value = String( - (T == null ? void 0 : T.error) || m("msg.failedLoadCollections", "Failed to load collections") - ), o.value = []), c.value = !!D.enabled, s.value = !!D.vectorAvailable, d.value = !!D.vectorDisabled, s.value || (I.value = [], u.value = !1); - } catch (T) { - if (B !== Z) return; - (J = console.debug) == null || J.call(console, T), l.value = m("msg.failedLoadCollections", "Failed to load collections"), o.value = []; + if (B !== A) return; + P != null && P.ok ? o.value = Array.isArray(P == null ? void 0 : P.data) ? P.data : [] : (l.value = String( + (P == null ? void 0 : P.error) || m("msg.failedLoadCollections", "Failed to load collections") + ), o.value = []), c.value = !!H.enabled, s.value = !!H.vectorAvailable, d.value = !!H.vectorDisabled, s.value || (I.value = [], u.value = !1); + } catch (P) { + if (B !== A) return; + (J = console.debug) == null || J.call(console, P), l.value = m("msg.failedLoadCollections", "Failed to load collections"), o.value = []; } finally { - B === Z && (r.value = !1, a.value = !1); + B === A && (r.value = !1, a.value = !1); } } - function x(B, J) { - return async (...T) => { - if (!M.value) { - M.value = B; + function v(B, J) { + return async (...P) => { + if (!S.value) { + S.value = B; try { - await J(...T); + await J(...P); } finally { - M.value === B && (M.value = ""); + S.value === B && (S.value = ""); } } }; } - const w = x("create", async () => { - var D, Q; - const B = await ji( + const w = v("create", async () => { + var H, $; + const B = await Vi( m("dialog.createCollection", "Create collection"), m("dialog.collectionPlaceholder", "Collection name") ); if (!B) return; - const J = NS(B); + const J = OS(B); if (!J) { - Ce(m("toast.invalidCollectionName", "Invalid collection name"), "error"); + Ze(m("toast.invalidCollectionName", "Invalid collection name"), "error"); return; } - const T = await ta(J); - if (!(T != null && T.ok)) { - Ce( - (T == null ? void 0 : T.error) || m("toast.failedCreateCollection", "Failed to create collection"), + const P = await na(J); + if (!(P != null && P.ok)) { + Ze( + (P == null ? void 0 : P.error) || m("toast.failedCreateCollection", "Failed to create collection"), "error" ); return; } W({ - collectionId: String(((D = T == null ? void 0 : T.data) == null ? void 0 : D.id) || ""), - collectionName: String(((Q = T == null ? void 0 : T.data) == null ? void 0 : Q.name) || J) + collectionId: String(((H = P == null ? void 0 : P.data) == null ? void 0 : H.id) || ""), + collectionName: String((($ = P == null ? void 0 : P.data) == null ? void 0 : $.name) || J) }); - }), X = x("exit", async () => { + }), R = v("exit", async () => { W({ collectionId: "", collectionName: "" }); - }), V = x("open", async (B) => { - const J = String((B == null ? void 0 : B.id) || ""), T = String((B == null ? void 0 : B.name) || J); + }), Y = v("open", async (B) => { + const J = String((B == null ? void 0 : B.id) || ""), P = String((B == null ? void 0 : B.name) || J); if (J) { - if (J === h.value) { + if (J === Z.value) { W({ collectionId: J, - collectionName: T, + collectionName: P, reload: !1 }); return; } W({ collectionId: J, - collectionName: T + collectionName: P }); } - }), R = x("delete", async (B) => { - const J = String((B == null ? void 0 : B.id) || ""), T = String((B == null ? void 0 : B.name) || J); - if (!J || !await bi( - m("dialog.deleteCollection", 'Delete collection "{name}"?', { name: T }) + }), F = v("delete", async (B) => { + const J = String((B == null ? void 0 : B.id) || ""), P = String((B == null ? void 0 : B.name) || J); + if (!J || !await yi( + m("dialog.deleteCollection", 'Delete collection "{name}"?', { name: P }) )) return; - const Q = await Bf(J); - if (!(Q != null && Q.ok)) { - Ce( - (Q == null ? void 0 : Q.error) || m("toast.failedDeleteCollection", "Failed to delete collection"), + const $ = await Df(J); + if (!($ != null && $.ok)) { + Ze( + ($ == null ? void 0 : $.error) || m("toast.failedDeleteCollection", "Failed to delete collection"), "error" ); return; } - if (J === h.value) { + if (J === Z.value) { W({ collectionId: "", collectionName: "" }); return; } - await z(); + await T(); }); - async function j(B) { - var E, K; + async function N(B) { + var E, oe; const J = String((B == null ? void 0 : B.label) || "").trim(); if (!J) return; - const T = await ta(J); - if (!(T != null && T.ok)) { - Ce( - (T == null ? void 0 : T.error) || m("toast.failedCreateSmartCollection", "Failed to create smart collection"), + const P = await na(J); + if (!(P != null && P.ok)) { + Ze( + (P == null ? void 0 : P.error) || m("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error" ); return; } - const D = String(((E = T == null ? void 0 : T.data) == null ? void 0 : E.id) || ""); - if (!D) return; - const Q = await Rg(String((B == null ? void 0 : B.query) || ""), 50); - if (Q != null && Q.ok && Array.isArray(Q == null ? void 0 : Q.data) && Q.data.length > 0) { - const F = np(Q.data); - let Y = F.assets; - if (F.missingIds.length) { - const U = await Lm(F.missingIds); - U.ok && Array.isArray(U.data) && (Y = G(Y, U.data)); + const H = String(((E = P == null ? void 0 : P.data) == null ? void 0 : E.id) || ""); + if (!H) return; + const $ = await Fg(String((B == null ? void 0 : B.query) || ""), 50); + if ($ != null && $.ok && Array.isArray($ == null ? void 0 : $.data) && $.data.length > 0) { + const M = ip($.data); + let j = M.assets; + if (M.missingIds.length) { + const O = await Ym(M.missingIds); + O.ok && Array.isArray(O.data) && (j = x(j, O.data)); } - if (Y.length) { - const U = await Sa(D, Y); - if (!(U != null && U.ok)) { - Ce( - (U == null ? void 0 : U.error) || m( + if (j.length) { + const O = await Ga(H, j); + if (!(O != null && O.ok)) { + Ze( + (O == null ? void 0 : O.error) || m( "toast.failedAddAssetsToSmartCollection", "Failed to add assets to smart collection" ), @@ -36358,18 +36411,18 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { ); return; } - const P = Number(((K = U == null ? void 0 : U.data) == null ? void 0 : K.added) || Y.length || 0); - Ce( + const D = Number(((oe = O == null ? void 0 : O.data) == null ? void 0 : oe.added) || j.length || 0); + Ze( m( "toast.smartCollectionCreated", 'Smart collection "{name}" created with {count} assets!', - { name: J, count: P } + { name: J, count: D } ), "success", 3e3 ); } else - Ce( + Ze( m( "toast.smartCollectionEmpty", 'Collection "{name}" created but no matching assets found. Index more assets first.', @@ -36379,7 +36432,7 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { 3e3 ); } else - Ce( + Ze( m( "toast.smartCollectionEmpty", 'Collection "{name}" created but no matching assets found. Index more assets first.', @@ -36389,34 +36442,34 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { 3e3 ); W({ - collectionId: D, + collectionId: H, collectionName: J }); } - async function L(B) { + async function V(B) { if (!(B != null && B.key)) return; const J = `smart:${B.key}`; - if (!M.value) { - M.value = J; + if (!S.value) { + S.value = J; try { - await j(B); - } catch (T) { - console.error("[Majoor] Smart collection creation failed:", T), Ce( + await N(B); + } catch (P) { + console.error("[Majoor] Smart collection creation failed:", P), Ze( m("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error" ); } finally { - M.value === J && (M.value = ""); + S.value === J && (S.value = ""); } } } - async function N() { - if (!(u.value || M.value)) { + async function k() { + if (!(u.value || S.value)) { u.value = !0, p.value = "", I.value = []; try { - const B = await qf(8); + const B = await _f(8); if (!(B != null && B.ok) || !Array.isArray(B == null ? void 0 : B.data) || !B.data.length) { - Ce( + Ze( m("toast.noGroupsFoundIndexFirst", "No groups found. Index more assets first."), "info", 3e3 @@ -36425,227 +36478,227 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { } I.value = B.data.map((J) => ({ ...J, - _label: Ym(J) + _label: km(J) })); } catch (B) { - console.error("[Majoor] Discover groups failed:", B), p.value = m("toast.clusterAnalysisFailed", "Cluster analysis failed"), Ce(m("toast.clusterAnalysisFailed", "Cluster analysis failed"), "error"); + console.error("[Majoor] Discover groups failed:", B), p.value = m("toast.clusterAnalysisFailed", "Cluster analysis failed"), Ze(m("toast.clusterAnalysisFailed", "Cluster analysis failed"), "error"); } finally { u.value = !1; } } } - async function q(B) { - var T, D, Q; + async function K(B) { + var P, H, $; const J = `cluster:${String((B == null ? void 0 : B.cluster_id) ?? "")}`; - if (!M.value) { - M.value = J; + if (!S.value) { + S.value = J; try { - const E = String((B == null ? void 0 : B._label) || Ym(B) || "").trim(); + const E = String((B == null ? void 0 : B._label) || km(B) || "").trim(); if (!E) return; - const K = await ta(E); - if (!(K != null && K.ok)) { - Ce( - (K == null ? void 0 : K.error) || m("toast.failedCreateCollection", "Failed to create collection"), + const oe = await na(E); + if (!(oe != null && oe.ok)) { + Ze( + (oe == null ? void 0 : oe.error) || m("toast.failedCreateCollection", "Failed to create collection"), "error" ); return; } - const F = String(((T = K == null ? void 0 : K.data) == null ? void 0 : T.id) || ""), Y = Array.isArray(B == null ? void 0 : B.all_asset_ids) ? B.all_asset_ids : []; - if (F && Y.length) { - const U = await Lm(Y); - if (!U.ok) { - Ce( - U.error || m("toast.failedLoadClusterAssets", "Failed to load cluster assets"), + const M = String(((P = oe == null ? void 0 : oe.data) == null ? void 0 : P.id) || ""), j = Array.isArray(B == null ? void 0 : B.all_asset_ids) ? B.all_asset_ids : []; + if (M && j.length) { + const O = await Ym(j); + if (!O.ok) { + Ze( + O.error || m("toast.failedLoadClusterAssets", "Failed to load cluster assets"), "error" ); return; } - const P = await Sa(F, U.data || []); - if (!(P != null && P.ok)) { - Ce( - (P == null ? void 0 : P.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection"), + const D = await Ga(M, O.data || []); + if (!(D != null && D.ok)) { + Ze( + (D == null ? void 0 : D.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection"), "error" ); return; } - const ee = Number(((D = P == null ? void 0 : P.data) == null ? void 0 : D.added) || ((Q = U.data) == null ? void 0 : Q.length) || 0); - Ce( + const q = Number(((H = D == null ? void 0 : D.data) == null ? void 0 : H.added) || (($ = O.data) == null ? void 0 : $.length) || 0); + Ze( m( "toast.collectionCreatedWithAssets", 'Collection "{name}" created with {count} assets!', - { name: E, count: ee } + { name: E, count: q } ), "success", 3e3 ); } else - Ce( + Ze( m("toast.collectionCreatedNamed", 'Collection "{name}" created.', { name: E }), "success", 2200 ); W({ - collectionId: F, + collectionId: M, collectionName: E }); } catch (E) { - console.error("[Majoor] Cluster collection creation failed:", E), Ce(m("toast.failedCreateCollection", "Failed to create collection"), "error"); + console.error("[Majoor] Cluster collection creation failed:", E), Ze(m("toast.failedCreateCollection", "Failed to create collection"), "error"); } finally { - M.value === J && (M.value = ""); + S.value === J && (S.value = ""); } } } - function O() { - const B = S(); - B && !g && z().catch(() => { + function z() { + const B = G(); + B && !g && T().catch(() => { }), g = B; } return Dn(() => { - O(), !(typeof MutationObserver > "u" || !i.value) && (A = new MutationObserver(() => O()), A.observe(i.value, { + z(), !(typeof MutationObserver > "u" || !i.value) && (C = new MutationObserver(() => z()), C.observe(i.value, { attributes: !0, attributeFilter: ["style"] })); }), _n(() => { var B, J; try { - (B = A == null ? void 0 : A.disconnect) == null || B.call(A); - } catch (T) { - (J = console.debug) == null || J.call(console, T); + (B = C == null ? void 0 : C.disconnect) == null || B.call(C); + } catch (P) { + (J = console.debug) == null || J.call(console, P); } - A = null; + C = null; }), t({ - refresh: z - }), (B, J) => (Ie(), he("div", { + refresh: T + }), (B, J) => (be(), Ce("div", { ref_key: "rootRef", ref: i, class: "mjr-popover mjr-collections-popover", style: { display: "none" } }, [ - ne("div", OS, [ - ne("button", { + ie("div", TS, [ + ie("button", { type: "button", class: "mjr-menu-item", - disabled: M.value !== "", - onClick: J[0] || (J[0] = (...T) => Ge(w) && Ge(w)(...T)) + disabled: S.value !== "", + onClick: J[0] || (J[0] = (...P) => xe(w) && xe(w)(...P)) }, [ - ne("span", JS, Ye(Ge(m)("ctx.createCollection", "Create collection")), 1), - J[2] || (J[2] = ne("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) - ], 8, zS), - b.value ? (Ie(), he("button", { + ie("span", US, Ye(xe(m)("ctx.createCollection", "Create collection")), 1), + J[2] || (J[2] = ie("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) + ], 8, BS), + b.value ? (be(), Ce("button", { key: 0, type: "button", class: "mjr-menu-item", - disabled: M.value !== "", - onClick: J[1] || (J[1] = (...T) => Ge(X) && Ge(X)(...T)) + disabled: S.value !== "", + onClick: J[1] || (J[1] = (...P) => xe(R) && xe(R)(...P)) }, [ - ne("span", BS, Ye(Ge(m)("ctx.exitCollection", "Exit collection")), 1), - ne("span", US, [ - f.value ? (Ie(), he("span", KS, Ye(f.value), 1)) : yt("", !0), - J[3] || (J[3] = ne("i", { class: "pi pi-times mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) + ie("span", DS, Ye(xe(m)("ctx.exitCollection", "Exit collection")), 1), + ie("span", ES, [ + f.value ? (be(), Ce("span", HS, Ye(f.value), 1)) : ft("", !0), + J[3] || (J[3] = ie("i", { class: "pi pi-times mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) ]) - ], 8, TS)) : yt("", !0), - J[11] || (J[11] = ne("div", { class: "mjr-menu-divider" }, null, -1)), - r.value ? (Ie(), he("div", DS, Ye(Ge(m)("label.loading", "Loading...")), 1)) : l.value ? (Ie(), he("div", ES, Ye(l.value), 1)) : o.value.length ? yt("", !0) : (Ie(), he("div", HS, Ye(Ge(m)("msg.noCollections", "No collections yet")), 1)), - (Ie(!0), he(Xt, null, Cn(o.value, (T) => (Ie(), he("div", { - key: T.id || T.name, + ], 8, KS)) : ft("", !0), + J[11] || (J[11] = ie("div", { class: "mjr-menu-divider" }, null, -1)), + r.value ? (be(), Ce("div", qS, Ye(xe(m)("label.loading", "Loading...")), 1)) : l.value ? (be(), Ce("div", PS, Ye(l.value), 1)) : o.value.length ? ft("", !0) : (be(), Ce("div", QS, Ye(xe(m)("msg.noCollections", "No collections yet")), 1)), + (be(!0), Ce(Nt, null, Cn(o.value, (P) => (be(), Ce("div", { + key: P.id || P.name, class: "mjr-collection-row" }, [ - ne("button", { + ie("button", { type: "button", - class: Zn(["mjr-menu-item", { "is-active": h.value === String(T.id || "") }]), - disabled: M.value !== "", - onClick: (D) => Ge(V)(T) + class: Zn(["mjr-menu-item", { "is-active": Z.value === String(P.id || "") }]), + disabled: S.value !== "", + onClick: (H) => xe(Y)(P) }, [ - ne("span", PS, Ye(T.name || T.id), 1), - ne("span", QS, [ - Number(T.count || 0) ? (Ie(), he("span", _S, Ye(Number(T.count || 0)), 1)) : yt("", !0), - J[4] || (J[4] = ne("i", { class: "pi pi-check mjr-menu-item-check" }, null, -1)) + ie("span", $S, Ye(P.name || P.id), 1), + ie("span", eG, [ + Number(P.count || 0) ? (be(), Ce("span", tG, Ye(Number(P.count || 0)), 1)) : ft("", !0), + J[4] || (J[4] = ie("i", { class: "pi pi-check mjr-menu-item-check" }, null, -1)) ]) - ], 10, qS), - ne("button", { + ], 10, _S), + ie("button", { type: "button", class: "mjr-menu-item mjr-delete-btn", - disabled: M.value !== "", - title: Ge(m)("tooltip.deleteCollection", "Delete collection"), - onClick: Fn((D) => Ge(R)(T), ["stop", "prevent"]) + disabled: S.value !== "", + title: xe(m)("tooltip.deleteCollection", "Delete collection"), + onClick: On((H) => xe(F)(P), ["stop", "prevent"]) }, [...J[5] || (J[5] = [ - ne("i", { class: "pi pi-trash" }, null, -1) - ])], 8, $S) + ie("i", { class: "pi pi-trash" }, null, -1) + ])], 8, nG) ]))), 128)), - !a.value && v.value ? (Ie(), he(Xt, { key: 4 }, [ - J[6] || (J[6] = ne("div", { class: "mjr-menu-divider" }, null, -1)), - ne("div", eG, Ye(c.value ? "AI Smart Collections are disabled (enable vector search env var)." : "AI Smart Collections are disabled in settings."), 1) - ], 64)) : yt("", !0), - !a.value && C.value ? (Ie(), he(Xt, { key: 5 }, [ - J[9] || (J[9] = ne("div", { class: "mjr-menu-divider" }, null, -1)), - ne("div", tG, Ye(Ge(m)("label.smartSuggestions", "Smart Suggestions")), 1), - ne("div", nG, Ye(Ge(m)("label.smartCollectionsHint", "Create collections from AI-detected themes")), 1), - (Ie(!0), he(Xt, null, Cn(Ge(XS), (T) => (Ie(), he("button", { - key: T.key, + !a.value && L.value ? (be(), Ce(Nt, { key: 4 }, [ + J[6] || (J[6] = ie("div", { class: "mjr-menu-divider" }, null, -1)), + ie("div", iG, Ye(c.value ? "AI Smart Collections are disabled (enable vector search env var)." : "AI Smart Collections are disabled in settings."), 1) + ], 64)) : ft("", !0), + !a.value && h.value ? (be(), Ce(Nt, { key: 5 }, [ + J[9] || (J[9] = ie("div", { class: "mjr-menu-divider" }, null, -1)), + ie("div", oG, Ye(xe(m)("label.smartSuggestions", "Smart Suggestions")), 1), + ie("div", rG, Ye(xe(m)("label.smartCollectionsHint", "Create collections from AI-detected themes")), 1), + (be(!0), Ce(Nt, null, Cn(xe(FS), (P) => (be(), Ce("button", { + key: P.key, type: "button", class: "mjr-menu-item mjr-menu-item--smart", - disabled: M.value !== "", - onClick: (D) => L(T) + disabled: S.value !== "", + onClick: (H) => V(P) }, [ - ne("span", oG, [ - ne("i", { - class: Zn(T.iconClass) + ie("span", aG, [ + ie("i", { + class: Zn(P.iconClass) }, null, 2), - ne("span", null, Ye(T.label), 1) + ie("span", null, Ye(P.label), 1) ]), - J[7] || (J[7] = ne("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) - ], 8, iG))), 128)), - J[10] || (J[10] = ne("div", { class: "mjr-menu-divider" }, null, -1)), - ne("div", rG, Ye(Ge(m)("label.discoverGroups", "Discover Groups")), 1), - ne("div", lG, Ye(Ge(m)("label.discoverGroupsHint", "AI clusters assets by visual similarity")), 1), - ne("button", { + J[7] || (J[7] = ie("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)) + ], 8, lG))), 128)), + J[10] || (J[10] = ie("div", { class: "mjr-menu-divider" }, null, -1)), + ie("div", cG, Ye(xe(m)("label.discoverGroups", "Discover Groups")), 1), + ie("div", sG, Ye(xe(m)("label.discoverGroupsHint", "AI clusters assets by visual similarity")), 1), + ie("button", { type: "button", class: "mjr-menu-item mjr-menu-item--cluster", - disabled: u.value || M.value !== "", - onClick: N + disabled: u.value || S.value !== "", + onClick: k }, [ - ne("span", cG, [ - J[8] || (J[8] = ne("i", { class: "pi pi-search" }, null, -1)), - ne("span", null, Ye(u.value ? Ge(m)("label.analyzing", "Analyzing...") : Ge(m)("label.analyzeLibrary", "Analyze library")), 1) + ie("span", uG, [ + J[8] || (J[8] = ie("i", { class: "pi pi-search" }, null, -1)), + ie("span", null, Ye(u.value ? xe(m)("label.analyzing", "Analyzing...") : xe(m)("label.analyzeLibrary", "Analyze library")), 1) ]) - ], 8, aG), - p.value ? (Ie(), he("div", sG, Ye(p.value), 1)) : yt("", !0), - (Ie(!0), he(Xt, null, Cn(I.value, (T) => (Ie(), he("div", { - key: T.cluster_id, + ], 8, dG), + p.value ? (be(), Ce("div", mG, Ye(p.value), 1)) : ft("", !0), + (be(!0), Ce(Nt, null, Cn(I.value, (P) => (be(), Ce("div", { + key: P.cluster_id, class: "mjr-cluster-row" }, [ - ne("div", dG, [ - (Ie(!0), he(Xt, null, Cn(Array.isArray(T.sample_assets) ? T.sample_assets.slice(0, 3) : [], (D, Q) => (Ie(), he("img", { - key: `${T.cluster_id}-${Q}`, + ie("div", gG, [ + (be(!0), Ce(Nt, null, Cn(Array.isArray(P.sample_assets) ? P.sample_assets.slice(0, 3) : [], (H, $) => (be(), Ce("img", { + key: `${P.cluster_id}-${$}`, class: "mjr-cluster-thumb", - src: y(D), - alt: String((D == null ? void 0 : D.filename) || T._label || ""), + src: y(H), + alt: String((H == null ? void 0 : H.filename) || P._label || ""), loading: "lazy" - }, null, 8, uG))), 128)) + }, null, 8, IG))), 128)) ]), - ne("div", mG, [ - ne("div", { + ie("div", bG, [ + ie("div", { class: "mjr-cluster-name", - title: T._label - }, Ye(T._label), 9, gG), - ne("div", IG, Ye(Number(T.size || 0)) + " " + Ye(Ge(m)("label.assets", "assets")), 1) + title: P._label + }, Ye(P._label), 9, pG), + ie("div", yG, Ye(Number(P.size || 0)) + " " + Ye(xe(m)("label.assets", "assets")), 1) ]), - ne("button", { + ie("button", { type: "button", class: "mjr-cluster-create-btn", - disabled: M.value !== "", - title: Ge(m)("ctx.createCollection", "Create collection"), - onClick: (D) => q(T) - }, Ye(M.value === `cluster:${String(T.cluster_id ?? "")}` ? Ge(m)("label.loading", "Loading...") : Ge(m)("label.create", "Create")), 9, bG) + disabled: S.value !== "", + title: xe(m)("ctx.createCollection", "Create collection"), + onClick: (H) => K(P) + }, Ye(S.value === `cluster:${String(P.cluster_id ?? "")}` ? xe(m)("label.loading", "Loading...") : xe(m)("label.create", "Create")), 9, fG) ]))), 128)) - ], 64)) : yt("", !0) + ], 64)) : ft("", !0) ]) ], 512)); } -}, fG = { +}, ZG = { class: "mjr-popover mjr-pinned-folders-popover", style: { display: "none" } -}, hG = { +}, AG = { __name: "PinnedFoldersPopover", setup(e, { expose: t }) { const n = Ae(null); @@ -36653,8 +36706,8 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { get pinnedFoldersMenu() { return n.value; } - }), (i, o) => (Ie(), he("div", fG, [ - ne("div", { + }), (i, o) => (be(), Ce("div", ZG, [ + ie("div", { ref_key: "menuRef", ref: n, class: "mjr-menu", @@ -36662,10 +36715,10 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { }, null, 512) ])); } -}, CG = { +}, WG = { class: "mjr-popover mjr-custom-popover", style: { display: "none" } -}, ZG = { class: "mjr-popover-row" }, AG = { class: "mjr-popover-label" }, WG = { class: "mjr-popover-row mjr-popover-row--actions" }, wG = { +}, wG = { class: "mjr-popover-row" }, MG = { class: "mjr-popover-label" }, SG = { class: "mjr-popover-row mjr-popover-row--actions" }, GG = { __name: "CustomRootsPopover", setup(e, { expose: t }) { const n = Ae(null), i = Ae(null), o = Ae(null); @@ -36679,36 +36732,36 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { get customRemoveBtn() { return o.value; } - }), (r, l) => (Ie(), he("div", CG, [ - ne("div", ZG, [ - ne("div", AG, Ye(Ge(m)("label.folder")), 1), - ne("select", { + }), (r, l) => (be(), Ce("div", WG, [ + ie("div", wG, [ + ie("div", MG, Ye(xe(m)("label.folder")), 1), + ie("select", { ref_key: "customSelectRef", ref: n, class: "mjr-select" }, null, 512) ]), - ne("div", WG, [ - ne("button", { + ie("div", SG, [ + ie("button", { ref_key: "customAddBtnRef", ref: i, type: "button", class: "mjr-btn" - }, Ye(Ge(m)("btn.add")), 513), - ne("button", { + }, Ye(xe(m)("btn.add")), 513), + ie("button", { ref_key: "customRemoveBtnRef", ref: o, type: "button", class: "mjr-btn", disabled: "" - }, Ye(Ge(m)("btn.remove")), 513) + }, Ye(xe(m)("btn.remove")), 513) ]) ])); } -}, MG = ["aria-label"], SG = { class: "mjr-messages-head" }, GG = { class: "mjr-messages-actions" }, xG = ["title"], jG = { class: "mjr-messages-star-label" }, vG = ["title"], LG = { +}, xG = ["aria-label"], jG = { class: "mjr-messages-head" }, vG = { class: "mjr-messages-actions" }, LG = ["title"], VG = { class: "mjr-messages-star-label" }, YG = ["title"], kG = { class: "mjr-messages-tabs", role: "tablist" -}, YG = { class: "mjr-messages-panels" }, VG = { class: "mjr-messages-empty" }, kG = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager", XG = { +}, XG = { class: "mjr-messages-panels" }, NG = { class: "mjr-messages-empty" }, RG = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager", FG = { __name: "MessagePopover", setup(e, { expose: t }) { const n = Ae(null), i = Ae(null), o = Ae(null), r = Ae(null), l = Ae(null), a = Ae(null), c = Ae(null), s = Ae(null), d = Ae(null), u = Ae(null), I = Ae(null); @@ -36746,46 +36799,46 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { get shortcutsPanel() { return I.value; } - }), (p, M) => (Ie(), he("div", { + }), (p, S) => (be(), Ce("div", { class: "mjr-popover mjr-messages-popover", id: "mjr-messages-popover", role: "dialog", - "aria-label": Ge(m)("label.messages", "Messages"), + "aria-label": xe(m)("label.messages", "Messages"), "aria-hidden": "true", tabindex: "-1", style: { display: "none" } }, [ - ne("div", SG, [ - ne("div", { + ie("div", jG, [ + ie("div", { ref_key: "titleRef", ref: n, class: "mjr-messages-title" - }, Ye(Ge(m)("label.messages", "Messages")), 513), - ne("div", GG, [ - ne("a", { - href: kG, + }, Ye(xe(m)("label.messages", "Messages")), 513), + ie("div", vG, [ + ie("a", { + href: RG, target: "_blank", rel: "noopener noreferrer", class: "mjr-btn mjr-messages-star-link", - title: Ge(m)("tooltip.starGithub", "Open GitHub and give a star") + title: xe(m)("tooltip.starGithub", "Open GitHub and give a star") }, [ - M[0] || (M[0] = ne("span", { + S[0] || (S[0] = ie("span", { class: "mjr-messages-star-icon", "aria-hidden": "true" }, "β˜…", -1)), - ne("span", jG, Ye(Ge(m)("btn.giveStar", "Give a star")), 1) - ], 8, xG), - ne("button", { + ie("span", VG, Ye(xe(m)("btn.giveStar", "Give a star")), 1) + ], 8, LG), + ie("button", { ref_key: "markReadBtnRef", ref: i, type: "button", class: "mjr-btn mjr-messages-mark-read-btn", - title: Ge(m)("tooltip.markMessagesRead", "Mark all messages as read") - }, Ye(Ge(m)("btn.markAllRead", "Mark all read")), 9, vG) + title: xe(m)("tooltip.markMessagesRead", "Mark all messages as read") + }, Ye(xe(m)("btn.markAllRead", "Mark all read")), 9, YG) ]) ]), - ne("div", LG, [ - ne("button", { + ie("div", kG, [ + ie("button", { ref_key: "messageTabBtnRef", ref: o, type: "button", @@ -36795,8 +36848,8 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { "aria-controls": "mjr-messages-panel", id: "mjr-messages-tab" }, [ - ne("span", null, Ye(Ge(m)("label.messages", "Messages")), 1), - ne("span", { + ie("span", null, Ye(xe(m)("label.messages", "Messages")), 1), + ie("span", { ref_key: "messageTabBadgeRef", ref: r, class: "mjr-tab-count-badge", @@ -36804,7 +36857,7 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { style: { display: "none" } }, null, 512) ], 512), - ne("button", { + ie("button", { ref_key: "historyTabBtnRef", ref: l, type: "button", @@ -36814,15 +36867,15 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { "aria-controls": "mjr-history-panel", id: "mjr-history-tab" }, [ - ne("span", null, Ye(Ge(m)("label.toastHistory", "History")), 1), - ne("span", { + ie("span", null, Ye(xe(m)("label.toastHistory", "History")), 1), + ie("span", { ref_key: "historyTabCountRef", ref: c, class: "mjr-tab-count-badge", "aria-hidden": "true", style: { display: "none" } }, null, 512), - ne("span", { + ie("span", { ref_key: "historyTabBadgeRef", ref: a, class: "mjr-tab-unread-dot", @@ -36830,7 +36883,7 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { style: { display: "none" } }, null, 512) ], 512), - ne("button", { + ie("button", { ref_key: "shortcutsTabBtnRef", ref: s, type: "button", @@ -36839,10 +36892,10 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { "aria-selected": "false", "aria-controls": "mjr-shortcuts-panel", id: "mjr-shortcuts-tab" - }, Ye(Ge(m)("msg.shortcuts.title", "Shortcut Guide")), 513) + }, Ye(xe(m)("msg.shortcuts.title", "Shortcut Guide")), 513) ]), - ne("div", YG, [ - ne("div", { + ie("div", XG, [ + ie("div", { ref_key: "messageListRef", ref: d, class: "mjr-messages-list", @@ -36850,9 +36903,9 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { role: "tabpanel", "aria-labelledby": "mjr-messages-tab" }, [ - ne("div", VG, Ye(Ge(m)("msg.noMessages", "No messages for now.")), 1) + ie("div", NG, Ye(xe(m)("msg.noMessages", "No messages for now.")), 1) ], 512), - ne("div", { + ie("div", { ref_key: "historyPanelRef", ref: u, class: "mjr-messages-history-panel", @@ -36861,7 +36914,7 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { "aria-labelledby": "mjr-history-tab", hidden: "" }, null, 512), - ne("div", { + ie("div", { ref_key: "shortcutsPanelRef", ref: I, class: "mjr-messages-shortcuts-panel", @@ -36871,34 +36924,34 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { hidden: "" }, null, 512) ]) - ], 8, MG)); + ], 8, xG)); } -}, NG = { class: "mjr-am-header-row" }, RG = { class: "mjr-am-header-left" }, FG = { class: "mjr-am-header-title" }, OG = ["data-mjr-version-channel", "title"], zG = { class: "mjr-tabs" }, JG = ["title"], TG = ["title"], BG = ["title"], UG = ["title"], KG = ["title"], DG = { class: "mjr-am-header-tools" }, EG = { +}, OG = { class: "mjr-am-header-row" }, zG = { class: "mjr-am-header-left" }, JG = { class: "mjr-am-header-title" }, TG = ["data-mjr-version-channel", "title"], BG = { class: "mjr-tabs" }, UG = ["title"], KG = ["title"], DG = ["title"], EG = ["title"], HG = ["title"], qG = { class: "mjr-am-header-tools" }, PG = { class: "mjr-popover-anchor", style: { display: "none" } -}, HG = ["title", "aria-label"], qG = ["title", "aria-label"], PG = { class: "mjr-popover-anchor" }, QG = ["title", "aria-label"], _G = { class: "mjr-popover-anchor" }, $G = ["title", "aria-label"], ex = { class: "mjr-popover-anchor" }, tx = ["title", "aria-label"], nx = { class: "mjr-popover-anchor" }, ix = ["title", "aria-label"], ox = { class: "mjr-popover-anchor" }, rx = ["title", "aria-label"], lx = "mjr-am-version-badge-label", ax = "V, Ctrl/Cmd+V", cx = { +}, QG = ["title", "aria-label"], _G = ["title", "aria-label"], $G = { class: "mjr-popover-anchor" }, ex = ["title", "aria-label"], tx = { class: "mjr-popover-anchor" }, nx = ["title", "aria-label"], ix = { class: "mjr-popover-anchor" }, ox = ["title", "aria-label"], rx = { class: "mjr-popover-anchor" }, lx = ["title", "aria-label"], ax = { class: "mjr-popover-anchor" }, cx = ["title", "aria-label"], sx = "mjr-am-version-badge-label", dx = "V, Ctrl/Cmd+V", ux = { __name: "HeaderSection", setup(e, { expose: t }) { let n = null; function i() { - return n || (n = Promise.resolve({}).catch((H) => { - throw n = null, H; + return n || (n = Promise.resolve({}).catch((U) => { + throw n = null, U; })), n; } - function o(H, $ = "") { - const _ = String(H || "").trim().toLowerCase(), le = String($ || "").trim().toLowerCase(); - return ["nightly", "dev", "alpha", "experimental"].some((de) => _.includes(de) || le.includes(de)) || _.includes("+") || _.length > 10 && /^[a-f0-9]+$/i.test(_); + function o(U, Q = "") { + const _ = String(U || "").trim().toLowerCase(), le = String(Q || "").trim().toLowerCase(); + return ["nightly", "dev", "alpha", "experimental"].some((se) => _.includes(se) || le.includes(se)) || _.includes("+") || _.length > 10 && /^[a-f0-9]+$/i.test(_); } function r() { - var H, $, _; + var U, Q, _; try { if (typeof window < "u" && (window != null && window.MajoorAssetsManagerBranch)) return String(window.MajoorAssetsManagerBranch); } catch (le) { - (H = console.debug) == null || H.call(console, le); + (U = console.debug) == null || U.call(console, le); } try { - if (typeof process < "u" && (($ = process == null ? void 0 : process.env) != null && $.MAJOR_ASSETS_MANAGER_BRANCH)) + if (typeof process < "u" && ((Q = process == null ? void 0 : process.env) != null && Q.MAJOR_ASSETS_MANAGER_BRANCH)) return String(process.env.MAJOR_ASSETS_MANAGER_BRANCH); } catch (le) { (_ = console.debug) == null || _.call(console, le); @@ -36912,136 +36965,136 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { rating_desc: "pi pi-star-fill", size_desc: "pi pi-sort-numeric-down-alt", size_asc: "pi pi-sort-numeric-up-alt" - }, a = Mo(), s = r() === "nightly", d = Ae(null), u = Ae(null), I = Ae(null), p = Ae(null), M = Ae(null), Z = Ae(null), A = Ae(null), g = Ae(null), h = Ae(null), f = Ae(null), b = Ae(null), v = Ae(null), C = Ae(null), S = Ae(null), W = Ae(null), y = Ae(null), k = Ae(null), G = Ae(null), z = Ae(null), x = Ae(null), w = Ae(null), X = Ae(s ? "nightly" : "v?"), V = Ae(s ? "nightly" : "stable"), R = Ae(!1), j = Ae(!1), L = Ae(!1), N = Je( + }, a = Go(), s = r() === "nightly", d = Ae(null), u = Ae(null), I = Ae(null), p = Ae(null), S = Ae(null), A = Ae(null), C = Ae(null), g = Ae(null), Z = Ae(null), f = Ae(null), b = Ae(null), L = Ae(null), h = Ae(null), G = Ae(null), W = Ae(null), y = Ae(null), X = Ae(null), x = Ae(null), T = Ae(null), v = Ae(null), w = Ae(null), R = Ae(s ? "nightly" : "v?"), Y = Ae(s ? "nightly" : "stable"), F = Ae(!1), N = Ae(!1), V = Ae(!1), k = ze( () => l[a.sort] ?? "pi pi-sort-amount-down" - ), q = Je( + ), K = ze( () => String(a.viewScope || a.scope || "output").toLowerCase() - ), O = Je( - () => q.value === "similar" || Array.isArray(a.similarResults) && a.similarResults.length > 0 || !!a.similarTitle + ), z = ze( + () => K.value === "similar" || Array.isArray(a.similarResults) && a.similarResults.length > 0 || !!a.similarTitle ), B = { get tabAll() { - return k.value; + return X.value; }, get tabInputs() { - return G.value; + return x.value; }, get tabOutputs() { - return z.value; + return T.value; }, get tabCustom() { - return x.value; + return v.value; }, get tabSimilar() { return w.value; } - }, J = Je(() => ({ + }, J = ze(() => ({ position: "relative", fontSize: "10px", - opacity: j.value ? "1" : "0.6", + opacity: N.value ? "1" : "0.6", marginLeft: "6px", padding: "2px 5px", borderRadius: "4px", - background: j.value ? "rgba(255,255,255,0.15)" : "rgba(255,255,255,0.08)", + background: N.value ? "rgba(255,255,255,0.15)" : "rgba(255,255,255,0.08)", color: "inherit", textDecoration: "none", cursor: "pointer", transition: "opacity 0.2s, background 0.2s", verticalAlign: "middle" - })), T = Je( - () => L.value ? m("tooltip.closeMFV", "Close Floating Viewer") : m("tooltip.openMFV", "Open Floating Viewer") - ), D = Je( - () => L.value ? "pi pi-eye-slash" : "pi pi-eye" + })), P = ze( + () => V.value ? m("tooltip.closeMFV", "Close Floating Viewer") : m("tooltip.openMFV", "Open Floating Viewer") + ), H = ze( + () => V.value ? "pi pi-eye-slash" : "pi pi-eye" ); - function Q(H, { channel: $ = "" } = {}) { - X.value = String(H || ""), $ && (V.value = $); + function $(U, { channel: Q = "" } = {}) { + R.value = String(U || ""), Q && (Y.value = Q); } - function E(H) { - i().then(($) => { - const _ = V.value.toLowerCase() === "nightly" || X.value.toLowerCase() === "nightly"; - if (!H && !_) { - const le = (typeof ($ == null ? void 0 : $.version) == "string" ? $.version.trim() : "") || ""; - le && Q(`v${le}`, { channel: "stable" }); + function E(U) { + i().then((Q) => { + const _ = Y.value.toLowerCase() === "nightly" || R.value.toLowerCase() === "nightly"; + if (!U && !_) { + const le = (typeof (Q == null ? void 0 : Q.version) == "string" ? Q.version.trim() : "") || ""; + le && $(`v${le}`, { channel: "stable" }); } }).catch(() => { n = null; }); } - async function K(H) { - var $, _; + async function oe(U) { + var Q, _; try { - const le = await Rt(lt.VERSION, { cache: "no-cache" }); + const le = await Ft(ct.VERSION, { cache: "no-cache" }); if (!(le != null && le.ok)) return; - const se = String((($ = le.data) == null ? void 0 : $.version) || "").trim(), de = String(((_ = le.data) == null ? void 0 : _.branch) || "").trim().toLowerCase(); - if (o(se, de) || H) { - Q("nightly", { channel: "nightly" }); + const de = String(((Q = le.data) == null ? void 0 : Q.version) || "").trim(), se = String(((_ = le.data) == null ? void 0 : _.branch) || "").trim().toLowerCase(); + if (o(de, se) || U) { + $("nightly", { channel: "nightly" }); return; } - se && Q( - se.startsWith("v") ? se : `v${se}`, + de && $( + de.startsWith("v") ? de : `v${de}`, { channel: "stable" } ); } catch { } } - function F(H) { - const $ = String((H == null ? void 0 : H.channel) || "").trim().toLowerCase(), _ = String((H == null ? void 0 : H.current) || "").trim().toLowerCase(), le = String((H == null ? void 0 : H.latest) || "").trim().toLowerCase(); - ($ === "nightly" || _ === "nightly" || le === "nightly") && Q("nightly", { channel: "nightly" }), R.value = !!(H != null && H.available); + function M(U) { + const Q = String((U == null ? void 0 : U.channel) || "").trim().toLowerCase(), _ = String((U == null ? void 0 : U.current) || "").trim().toLowerCase(), le = String((U == null ? void 0 : U.latest) || "").trim().toLowerCase(); + (Q === "nightly" || _ === "nightly" || le === "nightly") && $("nightly", { channel: "nightly" }), F.value = !!(U != null && U.available); } - function Y() { - var H; + function j() { + var U; try { - QI(g.value, T.value, ax); - } catch ($) { - (H = console.debug) == null || H.call(console, $); + _I(g.value, P.value, dx); + } catch (Q) { + (U = console.debug) == null || U.call(console, Q); } } - function U() { - var H; + function O() { + var U; try { if (typeof document > "u") return; - L.value = !!document.querySelector(".mjr-mfv.is-visible"); - } catch ($) { - (H = console.debug) == null || H.call(console, $); + V.value = !!document.querySelector(".mjr-mfv.is-visible"); + } catch (Q) { + (U = console.debug) == null || U.call(console, Q); } } - function P(H) { - var $; - L.value = !!(($ = H == null ? void 0 : H.detail) != null && $.visible); + function D(U) { + var Q; + V.value = !!((Q = U == null ? void 0 : U.detail) != null && Q.visible); } - function ee(H) { - var $; + function q(U) { + var Q; try { - F(H == null ? void 0 : H.detail); + M(U == null ? void 0 : U.detail); } catch (_) { - ($ = console.debug) == null || $.call(console, _); + (Q = console.debug) == null || Q.call(console, _); } } - function oe() { - window.dispatchEvent(new CustomEvent(ft.MFV_TOGGLE)); + function ee() { + window.dispatchEvent(new CustomEvent(ht.MFV_TOGGLE)); } function ce() { - var H; + var U; try { - typeof window < "u" && (window.removeEventListener(Ec, ee), window.removeEventListener(ft.MFV_VISIBILITY_CHANGED, P)); - } catch ($) { - (H = console.debug) == null || H.call(console, $); + typeof window < "u" && (window.removeEventListener(qc, q), window.removeEventListener(ht.MFV_VISIBILITY_CHANGED, D)); + } catch (Q) { + (U = console.debug) == null || U.call(console, Q); } } - an(L, () => { - Y(); + cn(V, () => { + j(); }), Dn(async () => { - var H, $, _; - await Ao(); + var U, Q, _; + await wo(); try { - F(Xh()); + M(Fh()); } catch (le) { - (H = console.debug) == null || H.call(console, le); + (U = console.debug) == null || U.call(console, le); } - U(), Y(), E(s), K(s); + O(), j(), E(s), oe(s); try { - typeof window < "u" && (window.addEventListener(Ec, ee), window.addEventListener(ft.MFV_VISIBILITY_CHANGED, P)); + typeof window < "u" && (window.addEventListener(qc, q), window.addEventListener(ht.MFV_VISIBILITY_CHANGED, D)); } catch (le) { - ($ = console.debug) == null || $.call(console, le); + (Q = console.debug) == null || Q.call(console, le); } try { d.value._mjrVersionUpdateCleanup = ce; @@ -37051,7 +37104,7 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { }), _n(() => { ce(); }); - const pe = document.createElement("div"); + const ue = document.createElement("div"); return t({ isVueHeader: !0, // Header root @@ -37072,216 +37125,216 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { return p.value; }, get sortBtn() { - return M.value; + return S.value; }, get collectionsBtn() { - return Z.value; - }, - get pinnedFoldersBtn() { return A.value; }, + get pinnedFoldersBtn() { + return C.value; + }, get messageBtn() { - return h.value; + return Z.value; }, // CustomRootsPopover (Vue) get customPopover() { - var H; - return ((H = W.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = W.value) == null ? void 0 : U.$el) ?? null; }, get customSelect() { - var H; - return ((H = W.value) == null ? void 0 : H.customSelect) ?? null; + var U; + return ((U = W.value) == null ? void 0 : U.customSelect) ?? null; }, get customAddBtn() { - var H; - return ((H = W.value) == null ? void 0 : H.customAddBtn) ?? null; + var U; + return ((U = W.value) == null ? void 0 : U.customAddBtn) ?? null; }, get customRemoveBtn() { - var H; - return ((H = W.value) == null ? void 0 : H.customRemoveBtn) ?? null; + var U; + return ((U = W.value) == null ? void 0 : U.customRemoveBtn) ?? null; }, // FilterPopover: expose real DOM element ($el) so legacy popovers.toggle() works get filterPopover() { - var H; - return ((H = v.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.$el) ?? null; }, get kindSelect() { - var H; - return ((H = v.value) == null ? void 0 : H.kindSelect) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.kindSelect) ?? null; }, get wfCheckbox() { - var H; - return ((H = v.value) == null ? void 0 : H.wfCheckbox) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.wfCheckbox) ?? null; }, get workflowTypeSelect() { - var H; - return ((H = v.value) == null ? void 0 : H.workflowTypeSelect) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.workflowTypeSelect) ?? null; }, get ratingSelect() { - var H; - return ((H = v.value) == null ? void 0 : H.ratingSelect) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.ratingSelect) ?? null; }, get minSizeInput() { - var H; - return ((H = v.value) == null ? void 0 : H.minSizeInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.minSizeInput) ?? null; }, get maxSizeInput() { - var H; - return ((H = v.value) == null ? void 0 : H.maxSizeInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.maxSizeInput) ?? null; }, get resolutionPresetSelect() { - var H; - return ((H = v.value) == null ? void 0 : H.resolutionPresetSelect) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.resolutionPresetSelect) ?? null; }, get minWidthInput() { - var H; - return ((H = v.value) == null ? void 0 : H.minWidthInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.minWidthInput) ?? null; }, get minHeightInput() { - var H; - return ((H = v.value) == null ? void 0 : H.minHeightInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.minHeightInput) ?? null; }, get maxWidthInput() { - var H; - return ((H = v.value) == null ? void 0 : H.maxWidthInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.maxWidthInput) ?? null; }, get maxHeightInput() { - var H; - return ((H = v.value) == null ? void 0 : H.maxHeightInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.maxHeightInput) ?? null; }, get dateRangeSelect() { - var H; - return ((H = v.value) == null ? void 0 : H.dateRangeSelect) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.dateRangeSelect) ?? null; }, get dateExactInput() { - var H; - return ((H = v.value) == null ? void 0 : H.dateExactInput) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.dateExactInput) ?? null; }, get agendaContainer() { - var H; - return ((H = v.value) == null ? void 0 : H.agendaContainer) ?? null; + var U; + return ((U = L.value) == null ? void 0 : U.agendaContainer) ?? null; }, // SortPopover: expose real DOM element ($el) so legacy popovers.toggle() works get sortPopover() { - var H; - return ((H = b.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = b.value) == null ? void 0 : U.$el) ?? null; }, - sortMenu: pe, + sortMenu: ue, // CollectionsPopover (Vue) get collectionsPopover() { - var H; - return ((H = C.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = h.value) == null ? void 0 : U.$el) ?? null; }, get refreshCollectionsPopover() { - var H; - return ((H = C.value) == null ? void 0 : H.refresh) ?? null; + var U; + return ((U = h.value) == null ? void 0 : U.refresh) ?? null; }, // PinnedFoldersPopover (Vue) get pinnedFoldersPopover() { - var H; - return ((H = S.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = G.value) == null ? void 0 : U.$el) ?? null; }, get pinnedFoldersMenu() { - var H; - return ((H = S.value) == null ? void 0 : H.pinnedFoldersMenu) ?? null; + var U; + return ((U = G.value) == null ? void 0 : U.pinnedFoldersMenu) ?? null; }, // MessagePopover (Vue) get messagePopover() { - var H; - return ((H = y.value) == null ? void 0 : H.$el) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.$el) ?? null; }, get messagePopoverTitle() { - var H; - return ((H = y.value) == null ? void 0 : H.title) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.title) ?? null; }, get messageTabBtn() { - var H; - return ((H = y.value) == null ? void 0 : H.messageTabBtn) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.messageTabBtn) ?? null; }, get messageTabBadge() { - var H; - return ((H = y.value) == null ? void 0 : H.messageTabBadge) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.messageTabBadge) ?? null; }, get historyTabBtn() { - var H; - return ((H = y.value) == null ? void 0 : H.historyTabBtn) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.historyTabBtn) ?? null; }, get historyTabBadge() { - var H; - return ((H = y.value) == null ? void 0 : H.historyTabBadge) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.historyTabBadge) ?? null; }, get historyTabCount() { - var H; - return ((H = y.value) == null ? void 0 : H.historyTabCount) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.historyTabCount) ?? null; }, get historyPanel() { - var H; - return ((H = y.value) == null ? void 0 : H.historyPanel) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.historyPanel) ?? null; }, get shortcutsTabBtn() { - var H; - return ((H = y.value) == null ? void 0 : H.shortcutsTabBtn) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.shortcutsTabBtn) ?? null; }, get messageList() { - var H; - return ((H = y.value) == null ? void 0 : H.messageList) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.messageList) ?? null; }, get shortcutsPanel() { - var H; - return ((H = y.value) == null ? void 0 : H.shortcutsPanel) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.shortcutsPanel) ?? null; }, get markReadBtn() { - var H; - return ((H = y.value) == null ? void 0 : H.markReadBtn) ?? null; + var U; + return ((U = y.value) == null ? void 0 : U.markReadBtn) ?? null; }, // Search bar refs get searchSection() { - var H; - return ((H = f.value) == null ? void 0 : H.searchSection) ?? null; + var U; + return ((U = f.value) == null ? void 0 : U.searchSection) ?? null; }, get searchInputEl() { - var H; - return ((H = f.value) == null ? void 0 : H.searchInputEl) ?? null; + var U; + return ((U = f.value) == null ? void 0 : U.searchInputEl) ?? null; }, get similarBtn() { - var H; - return ((H = f.value) == null ? void 0 : H.similarBtn) ?? null; + var U; + return ((U = f.value) == null ? void 0 : U.similarBtn) ?? null; }, - setSemanticEnabled(H) { - var $, _; - (_ = ($ = f.value) == null ? void 0 : $.setSemanticEnabled) == null || _.call($, H); + setSemanticEnabled(U) { + var Q, _; + (_ = (Q = f.value) == null ? void 0 : Q.setSemanticEnabled) == null || _.call(Q, U); }, _headerDispose: ce - }), (H, $) => (Ie(), he(Xt, null, [ - ne("div", { + }), (U, Q) => (be(), Ce(Nt, null, [ + ie("div", { ref_key: "headerRef", ref: d, class: "mjr-am-header" }, [ - ne("div", NG, [ - ne("div", RG, [ - $[2] || ($[2] = ne("i", { + ie("div", OG, [ + ie("div", zG, [ + Q[2] || (Q[2] = ie("i", { class: "mjr-am-header-icon pi pi-folder", "aria-hidden": "true" }, null, -1)), - ne("div", FG, Ye(Ge(m)("manager.title")), 1), - ne("a", { + ie("div", JG, Ye(xe(m)("manager.title")), 1), + ie("a", { href: "https://ko-fi.com/majoorwaldi", target: "_blank", rel: "noopener noreferrer", class: "mjr-am-version-badge", - "data-mjr-version-channel": V.value, - title: Ge(m)("tooltip.supportKofi"), - style: vt(J.value), - onMouseenter: $[0] || ($[0] = (_) => j.value = !0), - onMouseleave: $[1] || ($[1] = (_) => j.value = !1) + "data-mjr-version-channel": Y.value, + title: xe(m)("tooltip.supportKofi"), + style: Lt(J.value), + onMouseenter: Q[0] || (Q[0] = (_) => N.value = !0), + onMouseleave: Q[1] || (Q[1] = (_) => N.value = !1) }, [ - ne("span", { - class: Zn(lx) - }, Ye(X.value), 1), - ne("span", { + ie("span", { + class: Zn(sx) + }, Ye(R.value), 1), + ie("span", { "aria-hidden": "true", - style: vt({ + style: Lt({ position: "absolute", top: "2px", right: "-3px", @@ -37290,114 +37343,114 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { borderRadius: "50%", background: "#f44336", boxShadow: "0 0 0 1px rgba(255,255,255,0.6)", - display: R.value ? "block" : "none", + display: F.value ? "block" : "none", pointerEvents: "none" }) }, null, 4) - ], 44, OG) + ], 44, TG) ]), - ne("div", { + ie("div", { ref_key: "headerActionsRef", ref: u, class: "mjr-am-header-actions" }, [ - ne("div", zG, [ - ne("button", { + ie("div", BG, [ + ie("button", { ref_key: "tabAllRef", - ref: k, + ref: X, type: "button", - class: Zn(["mjr-tab", { "is-active": q.value === "all" }]), + class: Zn(["mjr-tab", { "is-active": K.value === "all" }]), "data-scope": "all", - title: Ge(m)("tooltip.tab.all") - }, Ye(Ge(m)("tab.all")), 11, JG), - ne("button", { + title: xe(m)("tooltip.tab.all") + }, Ye(xe(m)("tab.all")), 11, UG), + ie("button", { ref_key: "tabInputsRef", - ref: G, - type: "button", - class: Zn(["mjr-tab", { "is-active": q.value === "input" }]), - "data-scope": "input", - title: Ge(m)("tooltip.tab.input") - }, Ye(Ge(m)("tab.input")), 11, TG), - ne("button", { - ref_key: "tabOutputsRef", - ref: z, - type: "button", - class: Zn(["mjr-tab", { "is-active": q.value === "output" }]), - "data-scope": "output", - title: Ge(m)("tooltip.tab.output") - }, Ye(Ge(m)("tab.output")), 11, BG), - ne("button", { - ref_key: "tabCustomRef", ref: x, type: "button", - class: Zn(["mjr-tab", { "is-active": q.value === "custom" }]), + class: Zn(["mjr-tab", { "is-active": K.value === "input" }]), + "data-scope": "input", + title: xe(m)("tooltip.tab.input") + }, Ye(xe(m)("tab.input")), 11, KG), + ie("button", { + ref_key: "tabOutputsRef", + ref: T, + type: "button", + class: Zn(["mjr-tab", { "is-active": K.value === "output" }]), + "data-scope": "output", + title: xe(m)("tooltip.tab.output") + }, Ye(xe(m)("tab.output")), 11, DG), + ie("button", { + ref_key: "tabCustomRef", + ref: v, + type: "button", + class: Zn(["mjr-tab", { "is-active": K.value === "custom" }]), "data-scope": "custom", - title: Ge(m)("tooltip.tab.custom") - }, Ye(Ge(m)("tab.custom")), 11, UG), - ne("button", { + title: xe(m)("tooltip.tab.custom") + }, Ye(xe(m)("tab.custom")), 11, EG), + ie("button", { ref_key: "tabSimilarRef", ref: w, type: "button", - class: Zn(["mjr-tab", { "is-active": q.value === "similar" }]), + class: Zn(["mjr-tab", { "is-active": K.value === "similar" }]), "data-scope": "similar", - style: vt({ display: O.value ? "" : "none" }), - title: Ge(m)("tooltip.tab.similar", "Browse current similar findings") - }, Ye(Ge(m)("tab.similar", "Similar")), 15, KG) + style: Lt({ display: z.value ? "" : "none" }), + title: xe(m)("tooltip.tab.similar", "Browse current similar findings") + }, Ye(xe(m)("tab.similar", "Similar")), 15, HG) ]), - ne("div", DG, [ - ne("div", EG, [ - ne("button", { + ie("div", qG, [ + ie("div", PG, [ + ie("button", { ref_key: "customMenuBtnRef", ref: I, type: "button", class: "mjr-icon-btn", - title: Ge(m)("tooltip.browserFolders"), - "aria-label": Ge(m)("tooltip.browserFolders") - }, [...$[3] || ($[3] = [ - ne("i", { + title: xe(m)("tooltip.browserFolders"), + "aria-label": xe(m)("tooltip.browserFolders") + }, [...Q[3] || (Q[3] = [ + ie("i", { class: "pi pi-folder-open", "aria-hidden": "true" }, null, -1) - ])], 8, HG), - fn(wG, { + ])], 8, QG), + fn(GG, { ref_key: "customPopoverRef", ref: W }, null, 512) ]), - ne("button", { + ie("button", { ref_key: "mfvBtnRef", ref: g, type: "button", - class: Zn(["mjr-icon-btn", { "mjr-mfv-btn-active": L.value }]), - title: T.value, - "aria-label": T.value, - onClick: oe + class: Zn(["mjr-icon-btn", { "mjr-mfv-btn-active": V.value }]), + title: P.value, + "aria-label": P.value, + onClick: ee }, [ - ne("i", { - class: Zn(D.value), + ie("i", { + class: Zn(H.value), "aria-hidden": "true" }, null, 2) - ], 10, qG), - ne("div", PG, [ - ne("button", { + ], 10, _G), + ie("div", $G, [ + ie("button", { ref_key: "messageBtnRef", - ref: h, + ref: Z, type: "button", class: "mjr-icon-btn mjr-message-btn", - title: Ge(m)("tooltip.openMessages", "Messages and updates"), - "aria-label": Ge(m)("tooltip.openMessages", "Messages and updates") - }, [...$[4] || ($[4] = [ - ne("i", { + title: xe(m)("tooltip.openMessages", "Messages and updates"), + "aria-label": xe(m)("tooltip.openMessages", "Messages and updates") + }, [...Q[4] || (Q[4] = [ + ie("i", { class: "pi pi-info-circle", "aria-hidden": "true" }, null, -1), - ne("span", { + ie("span", { class: "mjr-message-badge", style: { display: "none" }, "aria-hidden": "true" }, null, -1) - ])], 8, QG), - fn(XG, { + ])], 8, ex), + fn(FG, { ref_key: "messagePopoverRef", ref: y }, null, 512) @@ -37406,91 +37459,91 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { ], 512) ]) ], 512), - fn(A2, { + fn(M2, { ref_key: "searchBarRef", ref: f }, { - "filter-anchor": jl(() => [ - ne("div", _G, [ - ne("button", { + "filter-anchor": vl(() => [ + ie("div", tx, [ + ie("button", { ref_key: "filterBtnRef", ref: p, type: "button", class: "mjr-icon-btn", - title: Ge(m)("label.filters"), - "aria-label": Ge(m)("label.filters") - }, [...$[5] || ($[5] = [ - ne("i", { + title: xe(m)("label.filters"), + "aria-label": xe(m)("label.filters") + }, [...Q[5] || (Q[5] = [ + ie("i", { class: "pi pi-filter", "aria-hidden": "true" }, null, -1) - ])], 8, $G), - fn(VS, { + ])], 8, nx), + fn(NS, { ref_key: "filterPopoverRef", - ref: v + ref: L }, null, 512) ]) ]), - "sort-anchor": jl(() => [ - ne("div", ex, [ - ne("button", { + "sort-anchor": vl(() => [ + ie("div", ix, [ + ie("button", { ref_key: "sortBtnRef", - ref: M, + ref: S, type: "button", class: "mjr-icon-btn", - title: Ge(m)("label.sort"), - "aria-label": Ge(m)("label.sort") + title: xe(m)("label.sort"), + "aria-label": xe(m)("label.sort") }, [ - ne("i", { - class: Zn(N.value), + ie("i", { + class: Zn(k.value), "aria-hidden": "true" }, null, 2) - ], 8, tx), - fn(G2, { + ], 8, ox), + fn(v2, { ref_key: "sortPopoverRef", ref: b }, null, 512) ]) ]), - "collections-anchor": jl(() => [ - ne("div", nx, [ - ne("button", { + "collections-anchor": vl(() => [ + ie("div", rx, [ + ie("button", { ref_key: "collectionsBtnRef", - ref: Z, - type: "button", - class: "mjr-icon-btn", - title: Ge(m)("label.collections"), - "aria-label": Ge(m)("label.collections") - }, [...$[6] || ($[6] = [ - ne("i", { - class: "pi pi-bookmark", - "aria-hidden": "true" - }, null, -1) - ])], 8, ix), - fn(yG, { - ref_key: "collectionsPopoverRef", - ref: C - }, null, 512) - ]) - ]), - "pinned-folders-anchor": jl(() => [ - ne("div", ox, [ - ne("button", { - ref_key: "pinnedFoldersBtnRef", ref: A, type: "button", class: "mjr-icon-btn", - title: Ge(m)("tooltip.pinnedFolders"), - "aria-label": Ge(m)("tooltip.pinnedFolders") - }, [...$[7] || ($[7] = [ - ne("i", { + title: xe(m)("label.collections"), + "aria-label": xe(m)("label.collections") + }, [...Q[6] || (Q[6] = [ + ie("i", { + class: "pi pi-bookmark", + "aria-hidden": "true" + }, null, -1) + ])], 8, lx), + fn(CG, { + ref_key: "collectionsPopoverRef", + ref: h + }, null, 512) + ]) + ]), + "pinned-folders-anchor": vl(() => [ + ie("div", ax, [ + ie("button", { + ref_key: "pinnedFoldersBtnRef", + ref: C, + type: "button", + class: "mjr-icon-btn", + title: xe(m)("tooltip.pinnedFolders"), + "aria-label": xe(m)("tooltip.pinnedFolders") + }, [...Q[7] || (Q[7] = [ + ie("i", { class: "pi pi-folder", "aria-hidden": "true" }, null, -1) - ])], 8, rx), - fn(hG, { + ])], 8, cx), + fn(AG, { ref_key: "pinnedFoldersPopoverRef", - ref: S + ref: G }, null, 512) ]) ]), @@ -37504,14 +37557,14 @@ const OS = { class: "mjr-menu mjr-collections-menu" }, zS = ["disabled"], JS = { } catch { return ""; } -}, sx = (e) => { +}, mx = (e) => { const t = String(e || ""); return m(t === "name_asc" ? "sort.nameAZ" : t === "name_desc" ? "sort.nameZA" : t === "mtime_asc" ? "sort.oldest" : "sort.newest"); -}, dx = (e) => { +}, gx = (e) => { const t = String(e).toLowerCase(); return t === "similar" ? m("scope.similar", "Similar") : m(t === "custom" ? "scope.customBrowser" : t === "all" ? "tab.all" : t === "input" || t === "inputs" ? "scope.input" : "scope.output"); }; -function Ci({ label: e, value: t, onClear: n } = {}) { +function Ai({ label: e, value: t, onClear: n } = {}) { const i = document.createElement("div"); i.className = "mjr-context-pill"; const o = document.createElement("span"); @@ -37536,157 +37589,157 @@ function Ci({ label: e, value: t, onClear: n } = {}) { } return i; } -function ux() { +function Ix() { const e = document.createElement("div"); return e.className = "mjr-am-context-pills", { wrap: e, update: ({ state: n, rawQuery: i = "", actions: o = null } = {}) => { var g; - const r = o && typeof o == "object" ? o : {}, l = ei(i || "").trim(), a = l.length > 0 && l !== "*", c = !!(ei((n == null ? void 0 : n.kindFilter) || "").trim() || n != null && n.workflowOnly || (Number((n == null ? void 0 : n.minRating) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minSizeMB) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxSizeMB) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minHeight) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxHeight) || 0) || 0) > 0 || ei((n == null ? void 0 : n.workflowType) || "").trim() || ei((n == null ? void 0 : n.dateRangeFilter) || "").trim() || ei((n == null ? void 0 : n.dateExactFilter) || "").trim()), s = ei((n == null ? void 0 : n.sort) || "mtime_desc").trim() !== "mtime_desc", d = ei((n == null ? void 0 : n.collectionId) || "").trim().length > 0, u = String((n == null ? void 0 : n.viewScope) || (n == null ? void 0 : n.scope) || "output").toLowerCase(), I = u === "similar", p = u === "custom", M = u !== "output", Z = ei((n == null ? void 0 : n.similarSourceAssetId) || "").trim(); - if (!(!(a || c || s || d || M || I) && !e.childElementCount)) { + const r = o && typeof o == "object" ? o : {}, l = ei(i || "").trim(), a = l.length > 0 && l !== "*", c = !!(ei((n == null ? void 0 : n.kindFilter) || "").trim() || n != null && n.workflowOnly || (Number((n == null ? void 0 : n.minRating) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minSizeMB) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxSizeMB) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minHeight) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxHeight) || 0) || 0) > 0 || ei((n == null ? void 0 : n.workflowType) || "").trim() || ei((n == null ? void 0 : n.dateRangeFilter) || "").trim() || ei((n == null ? void 0 : n.dateExactFilter) || "").trim()), s = ei((n == null ? void 0 : n.sort) || "mtime_desc").trim() !== "mtime_desc", d = ei((n == null ? void 0 : n.collectionId) || "").trim().length > 0, u = String((n == null ? void 0 : n.viewScope) || (n == null ? void 0 : n.scope) || "output").toLowerCase(), I = u === "similar", p = u === "custom", S = u !== "output", A = ei((n == null ? void 0 : n.similarSourceAssetId) || "").trim(); + if (!(!(a || c || s || d || S || I) && !e.childElementCount)) { try { e.replaceChildren(); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } if (!p && d && e.appendChild( - Ci({ + Ai({ label: m("label.collections"), value: ei((n == null ? void 0 : n.collectionName) || (n == null ? void 0 : n.collectionId) || "").trim(), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearCollection) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearCollection) == null ? void 0 : Z.call(r); } }) ), I && e.appendChild( - Ci({ + Ai({ label: m("search.findSimilar", "Find Similar"), - value: Z ? m("search.similarReference", "Reference #{id}", { id: Z }) : m("scope.similar", "Similar"), + value: A ? m("search.similarReference", "Reference #{id}", { id: A }) : m("scope.similar", "Similar"), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearSimilarScope) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearSimilarScope) == null ? void 0 : Z.call(r); } }) - ), M && e.appendChild( - Ci({ + ), S && e.appendChild( + Ai({ label: m("label.scope"), - value: dx(u || "output"), + value: gx(u || "output"), onClear: () => { - var h, f; - return I ? (h = r == null ? void 0 : r.clearSimilarScope) == null ? void 0 : h.call(r) : (f = r == null ? void 0 : r.clearScope) == null ? void 0 : f.call(r); + var Z, f; + return I ? (Z = r == null ? void 0 : r.clearSimilarScope) == null ? void 0 : Z.call(r) : (f = r == null ? void 0 : r.clearScope) == null ? void 0 : f.call(r); } }) ), a && e.appendChild( - Ci({ + Ai({ label: m("label.query"), value: l, onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearQuery) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearQuery) == null ? void 0 : Z.call(r); } }) ), ei((n == null ? void 0 : n.kindFilter) || "").trim() && e.appendChild( - Ci({ + Ai({ label: m("label.type"), value: ei((n == null ? void 0 : n.kindFilter) || "").trim(), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearKind) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearKind) == null ? void 0 : Z.call(r); } }) ), Number((n == null ? void 0 : n.minRating) || 0) > 0 && e.appendChild( - Ci({ + Ai({ label: m("label.rating"), value: `>= ${Number((n == null ? void 0 : n.minRating) || 0)}`, onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearMinRating) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearMinRating) == null ? void 0 : Z.call(r); } }) ), n != null && n.workflowOnly && e.appendChild( - Ci({ + Ai({ label: m("label.workflow"), value: m("label.only"), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearWorkflowOnly) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearWorkflowOnly) == null ? void 0 : Z.call(r); } }) ), ei((n == null ? void 0 : n.workflowType) || "").trim() && e.appendChild( - Ci({ + Ai({ label: m("label.workflowType"), value: ei((n == null ? void 0 : n.workflowType) || "").trim(), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearWorkflowType) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearWorkflowType) == null ? void 0 : Z.call(r); } }) ), (Number((n == null ? void 0 : n.minSizeMB) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxSizeMB) || 0) || 0) > 0) { - const h = Number((n == null ? void 0 : n.minSizeMB) || 0) || 0, f = Number((n == null ? void 0 : n.maxSizeMB) || 0) || 0, b = h > 0 && f > 0 ? `${h}-${f} MB` : h > 0 ? `>= ${h} MB` : `<= ${f} MB`; + const Z = Number((n == null ? void 0 : n.minSizeMB) || 0) || 0, f = Number((n == null ? void 0 : n.maxSizeMB) || 0) || 0, b = Z > 0 && f > 0 ? `${Z}-${f} MB` : Z > 0 ? `>= ${Z} MB` : `<= ${f} MB`; e.appendChild( - Ci({ + Ai({ label: m("sidebar.size"), value: b, onClear: () => { - var v; - return (v = r == null ? void 0 : r.clearSize) == null ? void 0 : v.call(r); + var L; + return (L = r == null ? void 0 : r.clearSize) == null ? void 0 : L.call(r); } }) ); } if ((Number((n == null ? void 0 : n.minWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.minHeight) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxWidth) || 0) || 0) > 0 || (Number((n == null ? void 0 : n.maxHeight) || 0) || 0) > 0) { - const h = String((n == null ? void 0 : n.resolutionCompare) || "gte") === "lte", f = Number(h ? n == null ? void 0 : n.maxWidth : (n == null ? void 0 : n.minWidth) || 0) || 0, b = Number(h ? n == null ? void 0 : n.maxHeight : (n == null ? void 0 : n.minHeight) || 0) || 0; + const Z = String((n == null ? void 0 : n.resolutionCompare) || "gte") === "lte", f = Number(Z ? n == null ? void 0 : n.maxWidth : (n == null ? void 0 : n.minWidth) || 0) || 0, b = Number(Z ? n == null ? void 0 : n.maxHeight : (n == null ? void 0 : n.minHeight) || 0) || 0; e.appendChild( - Ci({ + Ai({ label: m("label.resolution"), - value: `${h ? "<=" : ">="} ${f || 0}x${b || 0} px`, + value: `${Z ? "<=" : ">="} ${f || 0}x${b || 0} px`, onClear: () => { - var v; - return (v = r == null ? void 0 : r.clearResolution) == null ? void 0 : v.call(r); + var L; + return (L = r == null ? void 0 : r.clearResolution) == null ? void 0 : L.call(r); } }) ); } ei((n == null ? void 0 : n.dateRangeFilter) || "").trim() && e.appendChild( - Ci({ + Ai({ label: m("sidebar.date"), value: ei((n == null ? void 0 : n.dateRangeFilter) || "").trim(), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearDateRange) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearDateRange) == null ? void 0 : Z.call(r); } }) ), ei((n == null ? void 0 : n.dateExactFilter) || "").trim() && e.appendChild( - Ci({ + Ai({ label: m("label.day"), value: ei((n == null ? void 0 : n.dateExactFilter) || "").trim(), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearDateExact) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearDateExact) == null ? void 0 : Z.call(r); } }) ), s && e.appendChild( - Ci({ + Ai({ label: m("label.sort"), - value: sx(n == null ? void 0 : n.sort), + value: mx(n == null ? void 0 : n.sort), onClear: () => { - var h; - return (h = r == null ? void 0 : r.clearSort) == null ? void 0 : h.call(r); + var Z; + return (Z = r == null ? void 0 : r.clearSort) == null ? void 0 : Z.call(r); } }) ); } } }; } -const mx = (e) => { +const bx = (e) => { try { return String(e ?? ""); } catch { return ""; } -}, gx = (e) => { +}, px = (e) => { const t = String(e || "").toLowerCase(); return t === "similar" ? m("scope.similar", "Similar") : m(t === "input" || t === "inputs" ? "scope.input" : t === "custom" ? "scope.customBrowser" : t === "all" ? "tab.all" : "scope.output"); }; -function Ix(e) { +function yx(e) { var t; try { const n = e == null ? void 0 : e._mjrGetRenderedCards; @@ -37699,7 +37752,7 @@ function Ix(e) { } return []; } -function bx(e) { +function fx(e) { var t, n, i, o; try { const r = String(((t = e == null ? void 0 : e.dataset) == null ? void 0 : t.mjrSelectedAssetIds) || "").trim(); @@ -37717,52 +37770,52 @@ function bx(e) { } return 0; } -function px({ state: e, gridContainer: t, context: n = null } = {}) { - var f, b, v, C, S, W; - const i = Ix(t), o = (() => { +function hx({ state: e, gridContainer: t, context: n = null } = {}) { + var f, b, L, h, G, W; + const i = yx(t), o = (() => { var y; try { - let k = 0; - for (const G of i) - String(((y = G == null ? void 0 : G._mjrAsset) == null ? void 0 : y.kind) || "").toLowerCase() === "folder" && (k += 1); - return { total: i.length, folders: k }; + let X = 0; + for (const x of i) + String(((y = x == null ? void 0 : x._mjrAsset) == null ? void 0 : y.kind) || "").toLowerCase() === "folder" && (X += 1); + return { total: i.length, folders: X }; } catch { return { total: 0, folders: 0 }; } })(), r = Number(i.length || 0) || 0, l = (() => { var y; try { - const k = Array.isArray(e == null ? void 0 : e.selectedAssetIds) ? e.selectedAssetIds.length : 0; - if (k > 0) return k; - } catch (k) { - (y = console.debug) == null || y.call(console, k); + const X = Array.isArray(e == null ? void 0 : e.selectedAssetIds) ? e.selectedAssetIds.length : 0; + if (X > 0) return X; + } catch (X) { + (y = console.debug) == null || y.call(console, X); } - return bx(t); + return fx(t); })(), c = Number(((f = t == null ? void 0 : t.dataset) == null ? void 0 : f.mjrTotal) || 0) || 0 || Math.max(0, Number((e == null ? void 0 : e.lastGridTotal) ?? 0) || 0), d = Number(((b = t == null ? void 0 : t.dataset) == null ? void 0 : b.mjrShown) || 0) || 0 || Math.max(0, Number((e == null ? void 0 : e.lastGridCount) ?? 0) || 0) || r, u = String( - (e == null ? void 0 : e.viewScope) || (e == null ? void 0 : e.scope) || ((v = t == null ? void 0 : t.dataset) == null ? void 0 : v.mjrScope) || "output" - ).toLowerCase(), I = c && c >= d ? `${d}/${c}` : `${d}`, M = [`${d > 0 && o.total > 0 && o.folders === o.total ? m("summary.folders") : m("summary.assets")}: ${I}`]; - l > 0 && M.push(`${m("summary.selected")}: ${l}`), M.push(gx(u)); + (e == null ? void 0 : e.viewScope) || (e == null ? void 0 : e.scope) || ((L = t == null ? void 0 : t.dataset) == null ? void 0 : L.mjrScope) || "output" + ).toLowerCase(), I = c && c >= d ? `${d}/${c}` : `${d}`, S = [`${d > 0 && o.total > 0 && o.folders === o.total ? m("summary.folders") : m("summary.assets")}: ${I}`]; + l > 0 && S.push(`${m("summary.selected")}: ${l}`), S.push(px(u)); try { - const y = Number(((C = t == null ? void 0 : t.dataset) == null ? void 0 : C.mjrHiddenPngSiblings) || 0) || 0; - String(((S = t == null ? void 0 : t.dataset) == null ? void 0 : S.mjrHidePngSiblingsEnabled) || "") === "1" && y > 0 && M.push(`${m("summary.hidden")}: ${y}`); + const y = Number(((h = t == null ? void 0 : t.dataset) == null ? void 0 : h.mjrHiddenPngSiblings) || 0) || 0; + String(((G = t == null ? void 0 : t.dataset) == null ? void 0 : G.mjrHidePngSiblingsEnabled) || "") === "1" && y > 0 && S.push(`${m("summary.hidden")}: ${y}`); } catch (y) { (W = console.debug) == null || W.call(console, y); } - const Z = (n == null ? void 0 : n.duplicatesAlert) || null, A = Number((Z == null ? void 0 : Z.exactCount) || 0) || 0, g = Number((Z == null ? void 0 : Z.similarCount) || 0) || 0, h = u !== "similar" && (A > 0 || g > 0); + const A = (n == null ? void 0 : n.duplicatesAlert) || null, C = Number((A == null ? void 0 : A.exactCount) || 0) || 0, g = Number((A == null ? void 0 : A.similarCount) || 0) || 0, Z = u !== "similar" && (C > 0 || g > 0); return { shown: d, total: c, activeScope: u, - summaryText: M.filter(Boolean).join(" | "), - duplicateText: h ? `${m("summary.duplicates")}: ${A} | ${m("summary.similar")}: ${g}` : "", - showDuplicates: h, - rawQuery: mx((n == null ? void 0 : n.rawQuery) || "").trim() + summaryText: S.filter(Boolean).join(" | "), + duplicateText: Z ? `${m("summary.duplicates")}: ${C} | ${m("summary.similar")}: ${g}` : "", + showDuplicates: Z, + rawQuery: bx((n == null ? void 0 : n.rawQuery) || "").trim() }; } -const yx = { class: "mjr-am-summary-left" }, fx = { class: "mjr-am-summary-text" }, hx = { class: "mjr-am-summary-right" }, Cx = ["title"], Zx = { +const Cx = { class: "mjr-am-summary-left" }, Zx = { class: "mjr-am-summary-text" }, Ax = { class: "mjr-am-summary-right" }, Wx = ["title"], wx = { __name: "SummaryBarSection", setup(e, { expose: t }) { - const n = Mo(), i = Ae(null), o = Ae(null), r = Ae(""), l = Ae(""), a = Ae(!1), c = ux(); + const n = Go(), i = Ae(null), o = Ae(null), r = Ae(""), l = Ae(""), a = Ae(!1), c = Ix(); let s = null; const d = (() => { const p = document.createElement("div"); @@ -37772,58 +37825,58 @@ const yx = { class: "mjr-am-summary-left" }, fx = { class: "mjr-am-summary-text" var p; try { s == null || s(); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } } - function I({ state: p, gridContainer: M, context: Z = null, actions: A = null } = {}) { - var h; - const g = px({ state: p, gridContainer: M, context: Z }); + function I({ state: p, gridContainer: S, context: A = null, actions: C = null } = {}) { + var Z; + const g = hx({ state: p, gridContainer: S, context: A }); n.lastGridCount = g.shown, n.lastGridTotal = g.total, n.viewScope = g.activeScope, r.value = g.summaryText, l.value = g.duplicateText, a.value = g.showDuplicates, s = g.showDuplicates ? () => { var f, b; try { - (f = A == null ? void 0 : A.onDuplicateAlertClick) == null || f.call(A, (Z == null ? void 0 : Z.duplicatesAlert) || null); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + (f = C == null ? void 0 : C.onDuplicateAlertClick) == null || f.call(C, (A == null ? void 0 : A.duplicatesAlert) || null); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } } : null; try { c.update({ state: p, - gridContainer: M, + gridContainer: S, rawQuery: g.rawQuery, - actions: A + actions: C }); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } } return Dn(() => { - var p, M, Z; + var p, S, A; try { - (M = (p = o.value) == null ? void 0 : p.appendChild) == null || M.call(p, c.wrap); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + (S = (p = o.value) == null ? void 0 : p.appendChild) == null || S.call(p, c.wrap); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } - }), t({ summaryBar: i, updateSummaryBar: I, folderBreadcrumb: d }), (p, M) => (Ie(), he("div", { + }), t({ summaryBar: i, updateSummaryBar: I, folderBreadcrumb: d }), (p, S) => (be(), Ce("div", { ref_key: "summaryBar", ref: i, class: "mjr-am-summary", "aria-live": "polite" }, [ - ne("div", yx, [ - ne("div", fx, Ye(r.value), 1) + ie("div", Cx, [ + ie("div", Zx, Ye(r.value), 1) ]), - ne("div", hx, [ - a.value ? (Ie(), he("button", { + ie("div", Ax, [ + a.value ? (be(), Ce("button", { key: 0, type: "button", class: "mjr-am-dup-alert", title: l.value, style: { padding: "2px 8px", border: "1px solid var(--border-color, #555)", background: "var(--comfy-menu-bg, #222)", color: "var(--input-text, #eee)", "border-radius": "999px", cursor: "pointer" }, onClick: u - }, Ye(l.value), 9, Cx)) : yt("", !0), - ne("div", { + }, Ye(l.value), 9, Wx)) : ft("", !0), + ie("div", { ref_key: "pillsHost", ref: o }, null, 512) @@ -37831,13 +37884,13 @@ const yx = { class: "mjr-am-summary-left" }, fx = { class: "mjr-am-summary-text" ], 512)); } }; -function Ax(e, t) { +function Mx(e, t) { let n = null; function i(r) { var l; if (!(!r || r._mjrGridContextMenuBound)) try { - n = ld({ + n = cd({ gridContainer: r, getState: t }); @@ -37852,16 +37905,16 @@ function Ax(e, t) { } n = null; } - an(e, (r, l) => { + cn(e, (r, l) => { l && o(), r && i(r); }, { immediate: !0 }), _n(o); } -function Wx(e) { +function Sx(e) { var t; if (!e) return () => { }; try { - const n = ob({ + const n = rb({ gridContainer: e, getState: () => { var i; @@ -37898,7 +37951,7 @@ function Wx(e) { }; } } -function wx(e) { +function Gx(e) { let t = null; const n = () => { var i; @@ -37909,17 +37962,17 @@ function wx(e) { } t = null; }; - an( + cn( e, (i, o) => { - o && n(), i && (t = Wx(i)); + o && n(), i && (t = Sx(i)); }, { immediate: !0 } ), _n(n); } -function ip() { +function op() { } -function Mx() { +function xx() { return new Promise((e) => { var t; try { @@ -37933,7 +37986,7 @@ function Mx() { e(); }); } -function lr(e, ...t) { +function cr(e, ...t) { var n; try { return typeof e == "function" ? e(...t) : void 0; @@ -37942,7 +37995,7 @@ function lr(e, ...t) { return; } } -function Sx(e) { +function jx(e) { var n; const t = String(e ?? ""); try { @@ -37953,19 +38006,19 @@ function Sx(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -function Gx(e = {}) { +function vx(e = {}) { const t = Array.isArray(e.selectedIds) ? e.selectedIds.map(String).filter(Boolean) : [], n = String(e.activeId || t[0] || "").trim(); return { ids: t, activeId: n }; } -function xx(e, t = {}, n = null) { +function Lx(e, t = {}, n = null) { var r, l; const i = Number( t.count ?? t.shown ?? ((r = e == null ? void 0 : e.dataset) == null ? void 0 : r.mjrShown) ?? (n == null ? void 0 : n.lastGridCount) ?? 0 ) || 0, o = Number(t.total ?? ((l = e == null ? void 0 : e.dataset) == null ? void 0 : l.mjrTotal) ?? (n == null ? void 0 : n.lastGridTotal) ?? 0) || 0; return { count: i, total: o }; } -function jx(e, t = Zl()) { - if (!e || !t) return ip; +function Vx(e, t = Al()) { + if (!e || !t) return op; let n = 0; const i = () => { var o; @@ -37995,42 +38048,42 @@ function jx(e, t = Zl()) { } }; } -function vx(e, { - panelStore: t = Zl(), +function Yx(e, { + panelStore: t = Al(), onContextChanged: n = null, markUserInteraction: i = null } = {}) { var s, d, u, I; - if (!e) return ip; + if (!e) return op; let o = 0; const r = () => { - var p, M; + var p, S; if (o) try { cancelAnimationFrame(o); - } catch (Z) { - (p = console.debug) == null || p.call(console, Z); + } catch (A) { + (p = console.debug) == null || p.call(console, A); } try { o = requestAnimationFrame(() => { - o = 0, lr(n); + o = 0, cr(n); }); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z), o = 0, lr(n); + } catch (A) { + (S = console.debug) == null || S.call(console, A), o = 0, cr(n); } }, l = (p) => { - const M = (p == null ? void 0 : p.detail) || {}; + const S = (p == null ? void 0 : p.detail) || {}; if (t) { - const { count: Z, total: A } = xx(e, M, t); - t.lastGridCount = Z, t.lastGridTotal = A; + const { count: A, total: C } = Lx(e, S, t); + t.lastGridCount = A, t.lastGridTotal = C; } - lr(n); + cr(n); }, a = (p) => { - if (lr(i), t) { - const { ids: M, activeId: Z } = Gx((p == null ? void 0 : p.detail) || {}); - t.selectedAssetIds = M, t.activeAssetId = Z; + if (cr(i), t) { + const { ids: S, activeId: A } = vx((p == null ? void 0 : p.detail) || {}); + t.selectedAssetIds = S, t.activeAssetId = A; } - lr(n); + cr(n); }; e.addEventListener("mjr:grid-stats", l), e.addEventListener("mjr:selection-changed", a); try { @@ -38048,244 +38101,249 @@ function vx(e, { (I = console.debug) == null || I.call(console, p); } return () => { - var p, M, Z, A, g, h, f, b; + var p, S, A, C, g, Z, f, b; try { e.removeEventListener("mjr:grid-stats", l); - } catch (v) { - (p = console.debug) == null || p.call(console, v); + } catch (L) { + (p = console.debug) == null || p.call(console, L); } try { e.removeEventListener("mjr:selection-changed", a); - } catch (v) { - (M = console.debug) == null || M.call(console, v); + } catch (L) { + (S = console.debug) == null || S.call(console, L); } try { - (A = (Z = globalThis == null ? void 0 : globalThis.window) == null ? void 0 : Z.removeEventListener) == null || A.call(Z, "mjr-settings-changed", l); - } catch (v) { - (g = console.debug) == null || g.call(console, v); + (C = (A = globalThis == null ? void 0 : globalThis.window) == null ? void 0 : A.removeEventListener) == null || C.call(A, "mjr-settings-changed", l); + } catch (L) { + (g = console.debug) == null || g.call(console, L); } try { - (h = c == null ? void 0 : c.disconnect) == null || h.call(c); - } catch (v) { - (f = console.debug) == null || f.call(console, v); + (Z = c == null ? void 0 : c.disconnect) == null || Z.call(c); + } catch (L) { + (f = console.debug) == null || f.call(console, L); } if (o) { try { cancelAnimationFrame(o); - } catch (v) { - (b = console.debug) == null || b.call(console, v); + } catch (L) { + (b = console.debug) == null || b.call(console, L); } o = 0; } }; } -async function Lx({ +async function kx({ initialLoadPromise: e, gridWrapper: t, gridContainer: n, - panelStore: i = Zl(), + panelStore: i = Al(), onRestoreSidebar: o = null } = {}) { - var c, s, d, u, I, p; + var c, s, d; if (!t || !n || !i) return; try { await e; - } catch (M) { - (c = console.debug) == null || c.call(console, M); + } catch (u) { + (c = console.debug) == null || c.call(console, u); } - await Mx(); + await xx(); const r = Number(i.scrollTop || 0) || 0; if (r > 0) try { t.scrollTop = r; - } catch (M) { - (s = console.debug) == null || s.call(console, M); + } catch (u) { + (s = console.debug) == null || s.call(console, u); } const l = Array.isArray(i.selectedAssetIds) ? i.selectedAssetIds.map(String).filter(Boolean) : [], a = String(i.activeAssetId || l[0] || "").trim(); if (l.length || a) { try { typeof (n == null ? void 0 : n._mjrSetSelection) == "function" && n._mjrSetSelection(l, a); - } catch (M) { - (d = console.debug) == null || d.call(console, M); + } catch (u) { + (d = console.debug) == null || d.call(console, u); } - if (a && r === 0) - try { - if (typeof (n == null ? void 0 : n._mjrScrollToAssetId) == "function") - n._mjrScrollToAssetId(a); - else { - const M = (u = n.querySelector) == null ? void 0 : u.call( - n, - `.mjr-asset-card[data-mjr-asset-id="${Sx(a)}"]` - ); - (I = M == null ? void 0 : M.scrollIntoView) == null || I.call(M, { - block: "nearest", - behavior: "instant" - }); + if (a) { + const u = () => { + var I, p, S; + try { + if (typeof (n == null ? void 0 : n._mjrScrollToAssetId) == "function") + n._mjrScrollToAssetId(a); + else { + const A = (I = n.querySelector) == null ? void 0 : I.call( + n, + `.mjr-asset-card[data-mjr-asset-id="${jx(a)}"]` + ); + (p = A == null ? void 0 : A.scrollIntoView) == null || p.call(A, { + block: "nearest", + behavior: "instant" + }); + } + } catch (A) { + (S = console.debug) == null || S.call(console, A); } - } catch (M) { - (p = console.debug) == null || p.call(console, M); - } + }; + u(), setTimeout(u, 160); + } } - i.sidebarOpen && a && lr(o); + i.sidebarOpen && a && cr(o); } -const Yx = { +const Xx = { __name: "AssetsGrid", setup(e, { expose: t }) { - const n = Ae(null), i = Ae(null), o = Ae(null), r = Mo(), l = Je(() => { - var Z; - return ((Z = o.value) == null ? void 0 : Z.gridContainer) ?? null; + const n = Ae(null), i = Ae(null), o = Ae(null), r = Go(), l = ze(() => { + var A; + return ((A = o.value) == null ? void 0 : A.gridContainer) ?? null; }); let a = null, c = null, s = null, d = null; function u() { - var Z, A; + var A, C; try { - (Z = s == null ? void 0 : s.setVisibility) == null || Z.call(s); + (A = s == null ? void 0 : s.setVisibility) == null || A.call(s); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } } function I() { - var g, h, f, b, v, C; + var g, Z, f, b, L, h; try { d == null || d(); - } catch (S) { - (g = console.debug) == null || g.call(console, S); + } catch (G) { + (g = console.debug) == null || g.call(console, G); } - const Z = [], A = () => { + const A = [], C = () => { u(); }; try { - window.addEventListener("resize", A), Z.push(() => window.removeEventListener("resize", A)); - } catch (S) { - (h = console.debug) == null || h.call(console, S); + window.addEventListener("resize", C), A.push(() => window.removeEventListener("resize", C)); + } catch (G) { + (Z = console.debug) == null || Z.call(console, G); } try { if (typeof ResizeObserver == "function") { - const S = new ResizeObserver(() => { - A(); + const G = new ResizeObserver(() => { + C(); }), W = [ n.value, i.value, ((f = n.value) == null ? void 0 : f.parentElement) || null ].filter(Boolean); for (const y of W) - S.observe(y); - Z.push(() => S.disconnect()); + G.observe(y); + A.push(() => G.disconnect()); } - } catch (S) { - (b = console.debug) == null || b.call(console, S); + } catch (G) { + (b = console.debug) == null || b.call(console, G); } try { if (typeof MutationObserver == "function") { - const S = new MutationObserver(() => { - A(); + const G = new MutationObserver(() => { + C(); }), W = [ n.value, i.value, - ((v = n.value) == null ? void 0 : v.parentElement) || null + ((L = n.value) == null ? void 0 : L.parentElement) || null ].filter(Boolean); for (const y of W) - S.observe(y, { + G.observe(y, { attributes: !0, attributeFilter: ["class", "style", "hidden", "aria-hidden"] }); - Z.push(() => S.disconnect()); + A.push(() => G.disconnect()); } - } catch (S) { - (C = console.debug) == null || C.call(console, S); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } d = () => { - var S; - for (; Z.length; ) { - const W = Z.pop(); + var G; + for (; A.length; ) { + const W = A.pop(); try { W == null || W(); } catch (y) { - (S = console.debug) == null || S.call(console, y); + (G = console.debug) == null || G.call(console, y); } } }; } - rg("mjr-grid-container-ref", l), Ax( + lg("mjr-grid-container-ref", l), Mx( l, () => r - ), wx(l); + ), Gx(l); function p() { return l.value || null; } - function M(Z = {}) { + function S(A = {}) { var g; - const A = p(); - if (A) { + const C = p(); + if (C) { try { c == null || c(); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } - c = vx(A, { + c = Yx(C, { panelStore: r, - ...Z + ...A }); } } return Dn(() => { - var Z; - a = jx(i.value, r), i.value && Number(r.scrollTop || 0) > 0 && (i.value.scrollTop = Number(r.scrollTop || 0)), I(); + var A; + a = Vx(i.value, r), i.value && Number(r.scrollTop || 0) > 0 && (i.value.scrollTop = Number(r.scrollTop || 0)), I(); try { window.addEventListener("mjr:keepalive-attached", u), document.addEventListener("visibilitychange", u); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } u(); - }), Mr(() => { - var Z, A, g, h, f, b, v; + }), xr(() => { + var A, C, g, Z, f, b, L; try { - xa(p()); - } catch (C) { - (Z = console.debug) == null || Z.call(console, C); + ja(p()); + } catch (h) { + (A = console.debug) == null || A.call(console, h); } try { a == null || a(); - } catch (C) { - (A = console.debug) == null || A.call(console, C); + } catch (h) { + (C = console.debug) == null || C.call(console, h); } a = null; try { d == null || d(); - } catch (C) { - (g = console.debug) == null || g.call(console, C); + } catch (h) { + (g = console.debug) == null || g.call(console, h); } d = null; try { c == null || c(); - } catch (C) { - (h = console.debug) == null || h.call(console, C); + } catch (h) { + (Z = console.debug) == null || Z.call(console, h); } c = null; try { (f = s == null ? void 0 : s.dispose) == null || f.call(s); - } catch (C) { - (b = console.debug) == null || b.call(console, C); + } catch (h) { + (b = console.debug) == null || b.call(console, h); } s = null; try { window.removeEventListener("mjr:keepalive-attached", u), document.removeEventListener("visibilitychange", u); - } catch (C) { - (v = console.debug) == null || v.call(console, C); + } catch (h) { + (L = console.debug) == null || L.call(console, h); } - }), an( + }), cn( l, - (Z, A) => { - var g, h; + (A, C) => { + var g, Z; try { - A && A !== Z && xa(A); + C && C !== A && ja(C); } catch (f) { (g = console.debug) == null || g.call(console, f); } try { - Z && Bs(Z); + A && Ks(A); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } }, { immediate: !0 } @@ -38299,97 +38357,97 @@ const Yx = { get gridContainer() { return p(); }, - onGridContainerReady(Z) { - return Z && Z !== p(), p(); + onGridContainerReady(A) { + return A && A !== p(), p(); }, - bindGridHostState(Z = {}) { - return M(Z), () => { - var A; + bindGridHostState(A = {}) { + return S(A), () => { + var C; try { c == null || c(); } catch (g) { - (A = console.debug) == null || A.call(console, g); + (C = console.debug) == null || C.call(console, g); } c = null; }; }, - restoreGridUiState(Z, A = {}) { - return Lx({ - initialLoadPromise: Z, + restoreGridUiState(A, C = {}) { + return kx({ + initialLoadPromise: A, gridWrapper: i.value, gridContainer: p(), panelStore: r, - ...A + ...C }); }, - initAssetsQueryController(Z = {}) { - var g, h; - const A = p(); - if (!A || !i.value) return null; + initAssetsQueryController(A = {}) { + var g, Z; + const C = p(); + if (!C || !i.value) return null; try { (g = s == null ? void 0 : s.dispose) == null || g.call(s); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } - return s = tp({ - gridContainer: A, + return s = np({ + gridContainer: C, gridWrapper: i.value, - ...Z + ...A }), u(), s; }, - loadAssets(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.loadAssets) == null ? void 0 : g.call(A, ...Z); + loadAssets(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.loadAssets) == null ? void 0 : g.call(C, ...A); }, - loadAssetsFromList(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.loadAssetsFromList) == null ? void 0 : g.call(A, ...Z); + loadAssetsFromList(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.loadAssetsFromList) == null ? void 0 : g.call(C, ...A); }, - prepareGridForScopeSwitch(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.prepareGridForScopeSwitch) == null ? void 0 : g.call(A, ...Z); + prepareGridForScopeSwitch(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.prepareGridForScopeSwitch) == null ? void 0 : g.call(C, ...A); }, - refreshGrid(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.refreshGrid) == null ? void 0 : g.call(A, ...Z); + refreshGrid(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.refreshGrid) == null ? void 0 : g.call(C, ...A); }, - captureAnchor(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.captureAnchor) == null ? void 0 : g.call(A, ...Z); + captureAnchor(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.captureAnchor) == null ? void 0 : g.call(C, ...A); }, - restoreAnchor(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.restoreAnchor) == null ? void 0 : g.call(A, ...Z); + restoreAnchor(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.restoreAnchor) == null ? void 0 : g.call(C, ...A); }, - hydrateGridFromSnapshot(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.hydrateFromSnapshot) == null ? void 0 : g.call(A, ...Z); + hydrateGridFromSnapshot(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.hydrateFromSnapshot) == null ? void 0 : g.call(C, ...A); }, - upsertAsset(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.upsertAsset) == null ? void 0 : g.call(A, ...Z); + upsertAsset(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.upsertAsset) == null ? void 0 : g.call(C, ...A); }, - removeAssets(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.removeAssets) == null ? void 0 : g.call(A, ...Z); + removeAssets(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.removeAssets) == null ? void 0 : g.call(C, ...A); }, - disposeGrid(...Z) { - var A, g; - return (g = (A = o.value) == null ? void 0 : A.dispose) == null ? void 0 : g.call(A, ...Z); + disposeGrid(...A) { + var C, g; + return (g = (C = o.value) == null ? void 0 : C.dispose) == null ? void 0 : g.call(C, ...A); } - }), (Z, A) => (Ie(), he("div", { + }), (A, C) => (be(), Ce("div", { ref_key: "browseSectionRef", ref: n, class: "mjr-am-browse", style: { flex: "1", display: "flex", "flex-direction": "row", overflow: "hidden" } }, [ - ne("div", { + ie("div", { ref_key: "gridWrapperRef", ref: i, class: "mjr-am-grid-scroll", style: { flex: "1", overflow: "auto", position: "relative" } }, [ - fn(Gp, { + fn(vp, { ref_key: "gridHostRef", ref: o, "scroll-element": i.value @@ -38397,10 +38455,10 @@ const Yx = { ], 512) ], 512)); } -}, Vx = { +}, Nx = { class: "mjr-sidebar-header", style: { display: "flex", "align-items": "center", "justify-content": "space-between", padding: "10px 12px", "border-bottom": "1px solid var(--mjr-border,rgba(255,255,255,0.12))", "flex-shrink": "0", background: "var(--mjr-surface-2,#2e2e2e)" } -}, kx = ["title"], Xx = { +}, Rx = ["title"], Fx = { __name: "SidebarHeaderSection", props: { asset: { type: Object, required: !0 } @@ -38408,13 +38466,13 @@ const Yx = { emits: ["close"], setup(e, { emit: t }) { const n = t; - return (i, o) => (Ie(), he("div", Vx, [ - ne("div", { + return (i, o) => (be(), Ce("div", Nx, [ + ie("div", { class: "mjr-sidebar-filename", title: e.asset.filename, style: { "font-size": "0.9em", "font-weight": "600", overflow: "hidden", "text-overflow": "ellipsis", "white-space": "nowrap", flex: "1", "min-width": "0", "padding-right": "8px" } - }, Ye(e.asset.filename), 9, kx), - ne("button", { + }, Ye(e.asset.filename), 9, Rx), + ie("button", { type: "button", class: "mjr-sidebar-close", title: "Close sidebar (Esc)", @@ -38427,27 +38485,27 @@ const Yx = { ])); } }; -function Nx(e) { +function Ox(e) { if (!e) return "Unknown"; const t = e / 1024; if (t < 1024) return `${t.toFixed(1)} KB`; const n = t / 1024; return n < 1024 ? `${n.toFixed(1)} MB` : `${(n / 1024).toFixed(2)} GB`; } -function Rx(e) { +function zx(e) { if (!e) return ""; const t = new Date(Number(e) * 1e3); if (Number.isNaN(t.getTime())) return ""; const n = (i) => String(i).padStart(2, "0"); return `${t.getFullYear()}-${n(t.getMonth() + 1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`; } -const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = ["src"], Tx = { +const Jx = { class: "mjr-sidebar-preview" }, Tx = ["src"], Bx = ["src"], Ux = ["src"], Kx = { key: 3, style: { color: "rgba(255, 255, 255, 0.4)", "font-size": "14px" } -}, Bx = { +}, Dx = { class: "mjr-sidebar-preview-meta", style: { "margin-top": "10px", "font-size": "12px", color: "var(--mjr-muted, rgba(255, 255, 255, 0.65))", display: "flex", "flex-wrap": "wrap", gap: "6px", "align-items": "center", "line-height": "1.3", "padding-bottom": "12px", "border-bottom": "1px solid var(--mjr-border, rgba(255, 255, 255, 0.12))" } -}, Ux = { +}, Ex = { __name: "SidebarPreviewSection", props: { asset: { type: Object, required: !0 }, @@ -38456,17 +38514,17 @@ const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = [" setup(e) { const t = e, n = Ae(null); let i = null; - const o = Je(() => Bi(t.asset) || ""), r = Je(() => { + const o = ze(() => Ki(t.asset) || ""), r = ze(() => { var I; const d = String(((I = t.asset) == null ? void 0 : I.filename) || ""), u = d.lastIndexOf("."); return u === -1 ? "" : d.slice(u + 1).toUpperCase(); - }), l = Je(() => { - var p, M, Z; + }), l = ze(() => { + var p, S, A; const d = []; r.value && d.push(r.value), (p = t.asset) != null && p.kind && d.push(String(t.asset.kind).toLowerCase()); - const u = Nx((M = t.asset) == null ? void 0 : M.size); + const u = Ox((S = t.asset) == null ? void 0 : S.size); u && d.push(u); - const I = Rx((Z = t.asset) == null ? void 0 : Z.mtime); + const I = zx((A = t.asset) == null ? void 0 : A.mtime); return I && d.push(I), d.join(" β€’ "); }); function a() { @@ -38489,40 +38547,40 @@ const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = [" } } function s() { - var I, p, M; + var I, p, S; if (a(), !t.showPreviewThumb || String(((I = t.asset) == null ? void 0 : I.kind) || "").toLowerCase() !== "video") return; const d = n.value, u = (p = d == null ? void 0 : d.querySelector) == null ? void 0 : p.call(d, "video"); if (!(!d || !u)) { c(u); try { - i = qI(u, { variant: "preview", hostEl: d }); - } catch (Z) { - (M = console.debug) == null || M.call(console, Z); + i = PI(u, { variant: "preview", hostEl: d }); + } catch (A) { + (S = console.debug) == null || S.call(console, A); } } } - return an(() => [t.asset, t.showPreviewThumb], () => { + return cn(() => [t.asset, t.showPreviewThumb], () => { a(); - }, { flush: "post" }), an(o, () => { + }, { flush: "post" }), cn(o, () => { setTimeout(() => { s(); }, 0); }), Dn(() => { s(); - }), Mr(() => { + }), xr(() => { a(); - }), (d, u) => (Ie(), he("div", Fx, [ - e.showPreviewThumb ? (Ie(), he("div", { + }), (d, u) => (be(), Ce("div", Jx, [ + e.showPreviewThumb ? (be(), Ce("div", { key: 0, ref_key: "previewContainerRef", ref: n, style: { width: "100%", "aspect-ratio": "1", background: "black", "border-radius": "8px", overflow: "hidden", display: "flex", "align-items": "center", "justify-content": "center", position: "relative" } }, [ - e.asset.kind === "image" ? (Ie(), he("img", { + e.asset.kind === "image" ? (be(), Ce("img", { key: 0, src: o.value, style: { "max-width": "100%", "max-height": "100%", "object-fit": "contain" } - }, null, 8, Ox)) : e.asset.kind === "video" ? (Ie(), he("video", { + }, null, 8, Tx)) : e.asset.kind === "video" ? (be(), Ce("video", { key: 1, src: o.value, muted: !0, @@ -38531,22 +38589,22 @@ const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = [" playsinline: "", preload: "metadata", style: { "max-width": "100%", "max-height": "100%", "object-fit": "contain" } - }, null, 8, zx)) : e.asset.kind === "audio" ? (Ie(), he("audio", { + }, null, 8, Bx)) : e.asset.kind === "audio" ? (be(), Ce("audio", { key: 2, src: o.value, controls: "", preload: "metadata", style: { width: "92%", "max-width": "560px" } - }, null, 8, Jx)) : (Ie(), he("div", Tx, Ye(String(e.asset.kind || "PREVIEW").toUpperCase()), 1)) - ], 512)) : yt("", !0), - ne("div", Bx, Ye(l.value), 1) + }, null, 8, Ux)) : (be(), Ce("div", Kx, Ye(String(e.asset.kind || "PREVIEW").toUpperCase()), 1)) + ], 512)) : ft("", !0), + ie("div", Dx, Ye(l.value), 1) ])); } -}, Kx = { +}, Hx = { key: 0, class: "mjr-sidebar-section", style: { background: "rgba(255, 255, 255, 0.03)", border: "1px solid var(--mjr-border, rgba(255, 255, 255, 0.12))", "border-radius": "8px", padding: "10px" } -}, Dx = { style: { display: "flex", "flex-direction": "column", gap: "6px" } }, Ex = ["title"], Hx = ["title"], qx = { +}, qx = { style: { display: "flex", "flex-direction": "column", gap: "6px" } }, Px = ["title"], Qx = ["title"], _x = { __name: "SidebarFileInfoSection", props: { asset: { type: Object, required: !0 } @@ -38570,7 +38628,7 @@ const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = [" return !1; } } - const o = Je(() => { + const o = ze(() => { var s; const r = t.asset || {}, l = []; if (r.width && r.height && l.push({ @@ -38579,55 +38637,55 @@ const Fx = { class: "mjr-sidebar-preview" }, Ox = ["src"], zx = ["src"], Jx = [" tooltip: "Image/video resolution in pixels" }), r.duration && r.duration > 0 && l.push({ label: "Duration", - value: Lb(r.duration), + value: Vb(r.duration), tooltip: "Video duration" }), i(r)) { - const d = EI(r); - d != null && l.push({ label: "FPS", value: OZ(d), tooltip: "Native frame rate" }); - const u = HI(r, d); + const d = HI(r); + d != null && l.push({ label: "FPS", value: TZ(d), tooltip: "Native frame rate" }); + const u = qI(r, d); u != null && l.push({ label: "Length", value: `${Math.max(0, Math.floor(u))} frames`, tooltip: "Total frame count" }); } - const a = td( + const a = id( r.generation_time_ms ?? ((s = r.metadata) == null ? void 0 : s.generation_time_ms) ?? 0 ); a > 0 && l.push({ label: "Generation Time", value: `${(Number(a) / 1e3).toFixed(1)}s`, tooltip: "Time taken to generate this asset (workflow execution time)", - valueStyle: `color: ${ed(a)}; font-weight: 600;` + valueStyle: `color: ${nd(a)}; font-weight: 600;` }); const c = r.generation_time || r.file_creation_time || r.mtime || r.created_at; if (c) { - const d = Oa(c), u = za(c); + const d = za(c), u = Ja(c); d && l.push({ label: "Date", value: d, tooltip: "File creation/generation date" }), u && l.push({ label: "Time", value: u, tooltip: "File creation/generation time" }); } return r.size && r.size > 0 && l.push({ label: "File Size", value: n(r.size), tooltip: "File size on disk" }), r.id != null && l.push({ label: "Asset ID", value: String(r.id), tooltip: "Internal database asset identifier" }), r.job_id && l.push({ label: "Job ID", value: String(r.job_id), tooltip: "Workflow execution job identifier (prompt_id)" }), l; }); - return (r, l) => o.value.length ? (Ie(), he("div", Kx, [ - l[0] || (l[0] = ne("div", { style: { "font-size": "12px", "font-weight": "700", color: "#607d8b", "margin-bottom": "8px", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, " File Info ", -1)), - ne("div", Dx, [ - (Ie(!0), he(Xt, null, Cn(o.value, (a) => (Ie(), he("div", { + return (r, l) => o.value.length ? (be(), Ce("div", Hx, [ + l[0] || (l[0] = ie("div", { style: { "font-size": "12px", "font-weight": "700", color: "#607d8b", "margin-bottom": "8px", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, " File Info ", -1)), + ie("div", qx, [ + (be(!0), Ce(Nt, null, Cn(o.value, (a) => (be(), Ce("div", { key: a.label, style: { display: "flex", gap: "10px", "align-items": "flex-start", "justify-content": "space-between" } }, [ - ne("div", { + ie("div", { title: a.tooltip || "", style: { "font-size": "12px", opacity: "0.68", "min-width": "92px" } - }, Ye(a.label), 9, Ex), - ne("div", { - style: vt(a.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"), + }, Ye(a.label), 9, Px), + ie("div", { + style: Lt(a.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"), title: String(a.value || "") - }, Ye(a.value), 13, Hx) + }, Ye(a.value), 13, Qx) ]))), 128)) ]) - ])) : yt("", !0); + ])) : ft("", !0); } }; -function Vm(e) { +function Xm(e) { if (!e || typeof e != "string") return null; const t = {}, n = e.split(/\nNegative prompt:\s*/i); if (n[0] && (t.prompt = n[0].trim()), n[1]) { @@ -38644,7 +38702,7 @@ function Vm(e) { } return Object.keys(t).length > 0 ? t : null; } -function op(e) { +function rp(e) { try { const t = Object.entries(e || {}); if (!t.length) return !1; @@ -38657,34 +38715,34 @@ function op(e) { return !1; } } -function Gc(e) { +function xc(e) { var o; if (!e || typeof e != "object") return null; - const t = {}, i = (e.prompt && typeof e.prompt == "object" ? e.prompt : null) || (op(e) ? e : null); + const t = {}, i = (e.prompt && typeof e.prompt == "object" ? e.prompt : null) || (rp(e) ? e : null); if (i) { const r = []; for (const [, l] of Object.entries(i)) { if (!l || typeof l != "object") continue; const a = l.inputs; if (!a || typeof a != "object") continue; - const c = String((l == null ? void 0 : l.class_type) || (l == null ? void 0 : l.type) || "").toLowerCase(), s = String((l == null ? void 0 : l.title) || ((o = l == null ? void 0 : l._meta) == null ? void 0 : o.title) || "").toLowerCase(), d = (Z, A) => { - if (t[Z] || typeof A != "string") return; - const g = A.trim(); - g && (/^[\d\s.,+-]+$/.test(g) || (t[Z] = g)); + const c = String((l == null ? void 0 : l.class_type) || (l == null ? void 0 : l.type) || "").toLowerCase(), s = String((l == null ? void 0 : l.title) || ((o = l == null ? void 0 : l._meta) == null ? void 0 : o.title) || "").toLowerCase(), d = (A, C) => { + if (t[A] || typeof C != "string") return; + const g = C.trim(); + g && (/^[\d\s.,+-]+$/.test(g) || (t[A] = g)); }; if ((c.includes("cliptextencode") || c.includes("clip_text_encode") || s.includes("clip text encode")) && typeof a.text == "string") { - const Z = s.includes("negative"), A = s.includes("positive") || s.includes("(prompt)") || s.includes("prompt"); - d(Z ? "negative_prompt" : "prompt", a.text); + const A = s.includes("negative"), C = s.includes("positive") || s.includes("(prompt)") || s.includes("prompt"); + d(A ? "negative_prompt" : "prompt", a.text); } if (d("negative_prompt", a.negative_prompt), d("negative_prompt", a.negative), !t.prompt && typeof a.text == "string") { - const Z = a.text.trim(); - (c.includes("prompt") || c.includes("encode") || c.includes("positive") || c.includes("negative") || s.includes("prompt") || s.includes("positive") || s.includes("negative")) && Z.length >= 12 && /[a-zA-Z]/.test(Z) && d("prompt", Z); + const A = a.text.trim(); + (c.includes("prompt") || c.includes("encode") || c.includes("positive") || c.includes("negative") || s.includes("prompt") || s.includes("positive") || s.includes("negative")) && A.length >= 12 && /[a-zA-Z]/.test(A) && d("prompt", A); } a.seed !== void 0 && t.seed === void 0 && (t.seed = a.seed), a.steps !== void 0 && t.steps === void 0 && (t.steps = a.steps), a.cfg !== void 0 && t.cfg === void 0 && (t.cfg = a.cfg), a.sampler_name && !t.sampler && (t.sampler = a.sampler_name), a.scheduler && !t.scheduler && (t.scheduler = a.scheduler), a.denoise !== void 0 && t.denoise === void 0 && (t.denoise = a.denoise), a.width !== void 0 && t.width === void 0 && (t.width = a.width), a.height !== void 0 && t.height === void 0 && (t.height = a.height); - const I = (Z, A) => { - if (t[Z] || typeof A != "string") return; - const g = A.trim(); - g && (t[Z] = g); + const I = (A, C) => { + if (t[A] || typeof C != "string") return; + const g = C.trim(); + g && (t[A] = g); }, p = [ a.ckpt_name, a.checkpoint, @@ -38692,105 +38750,105 @@ function Gc(e) { a.model_name, a.model ]; - for (const Z of p) - t.model || I("model", Z); + for (const A of p) + t.model || I("model", A); if (I("vae", a.vae_name || a.vae), I("clip", a.clip_name || a.clip), I("unet", a.unet_name || a.unet), I( "diffusion", a.diffusion_name || a.diffusion_model || a.diffusion ), c.includes("lora") || c.includes("loraloader")) { - const Z = a.lora_name || a.lora || a.name || null, A = a.strength_model ?? a.strength ?? a.weight ?? a.lora_strength ?? null; - Z && r.push({ name: Z, weight: A }); + const A = a.lora_name || a.lora || a.name || null, C = a.strength_model ?? a.strength ?? a.weight ?? a.lora_strength ?? null; + A && r.push({ name: A, weight: C }); } } r.length && (t.loras = r); } return Object.keys(t).length > 0 ? t : null; } -const Px = /^(?:[a-z]:[\\/]|[\\/]{1,2}|\.{1,2}[\\/]|~[\\/]).+?[\\/][^\\/\n]+\.(?:png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl|ckpt|safetensors|pt|pth|bin|gguf|json|ya?ml)$/i, Qx = /^(?!.*[,;])(?!.*\b(?:cinematic|portrait|landscape|lighting|style|detailed|masterpiece|photo|render)\b).*(?:[\\/][^\\/\n]+){2,}\.(?:png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl|ckpt|safetensors|pt|pth|bin|gguf|json|ya?ml)$/i; -function rp(e) { - var t, n, i, o, r, l, a, c, s, d, u, I, p, M, Z, A, g, h, f, b, v, C, S, W, y, k, G, z, x, w, X, V, R, j, L, N, q, O, B; +const $x = /^(?:[a-z]:[\\/]|[\\/]{1,2}|\.{1,2}[\\/]|~[\\/]).+?[\\/][^\\/\n]+\.(?:png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl|ckpt|safetensors|pt|pth|bin|gguf|json|ya?ml)$/i, ej = /^(?!.*[,;])(?!.*\b(?:cinematic|portrait|landscape|lighting|style|detailed|masterpiece|photo|render)\b).*(?:[\\/][^\\/\n]+){2,}\.(?:png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl|ckpt|safetensors|pt|pth|bin|gguf|json|ya?ml)$/i; +function lp(e) { + var t, n, i, o, r, l, a, c, s, d, u, I, p, S, A, C, g, Z, f, b, L, h, G, W, y, X, x, T, v, w, R, Y, F, N, V, k, K, z, B; if (!e) return null; if (typeof e == "object") { const J = e.geninfo || e.GenInfo || e.generation || null; if (J && typeof J == "object") { - const F = {}, Y = ((t = J.positive) == null ? void 0 : t.value) ?? ((n = J.positive) == null ? void 0 : n.text) ?? null, U = ((i = J.negative) == null ? void 0 : i.value) ?? ((o = J.negative) == null ? void 0 : o.text) ?? null; - typeof Y == "string" && Y.trim() && (F.prompt = Y), typeof U == "string" && U.trim() && (F.negative_prompt = U); - const P = ((r = J.checkpoint) == null ? void 0 : r.name) ?? J.checkpoint ?? null; - typeof P == "string" && P.trim() && (F.model = P); - const ee = ((l = J.clip) == null ? void 0 : l.name) ?? J.clip ?? null; - typeof ee == "string" && ee.trim() && (F.clip = ee); - const oe = ((a = J.vae) == null ? void 0 : a.name) ?? J.vae ?? null; - typeof oe == "string" && oe.trim() && (F.vae = oe); + const M = {}, j = ((t = J.positive) == null ? void 0 : t.value) ?? ((n = J.positive) == null ? void 0 : n.text) ?? null, O = ((i = J.negative) == null ? void 0 : i.value) ?? ((o = J.negative) == null ? void 0 : o.text) ?? null; + typeof j == "string" && j.trim() && (M.prompt = j), typeof O == "string" && O.trim() && (M.negative_prompt = O); + const D = ((r = J.checkpoint) == null ? void 0 : r.name) ?? J.checkpoint ?? null; + typeof D == "string" && D.trim() && (M.model = D); + const q = ((l = J.clip) == null ? void 0 : l.name) ?? J.clip ?? null; + typeof q == "string" && q.trim() && (M.clip = q); + const ee = ((a = J.vae) == null ? void 0 : a.name) ?? J.vae ?? null; + typeof ee == "string" && ee.trim() && (M.vae = ee); const ce = J.models; - ce && typeof ce == "object" && (F.models = ce); - const pe = Array.isArray(J.loras) ? J.loras : null; - pe && (F.loras = pe); - const H = ((c = J.sampler) == null ? void 0 : c.name) ?? J.sampler ?? null; - typeof H == "string" && H.trim() && (F.sampler = H); - const $ = ((s = J.scheduler) == null ? void 0 : s.name) ?? J.scheduler ?? null; - typeof $ == "string" && $.trim() && (F.scheduler = $); + ce && typeof ce == "object" && (M.models = ce); + const ue = Array.isArray(J.loras) ? J.loras : null; + ue && (M.loras = ue); + const U = ((c = J.sampler) == null ? void 0 : c.name) ?? J.sampler ?? null; + typeof U == "string" && U.trim() && (M.sampler = U); + const Q = ((s = J.scheduler) == null ? void 0 : s.name) ?? J.scheduler ?? null; + typeof Q == "string" && Q.trim() && (M.scheduler = Q); const _ = ((d = J.steps) == null ? void 0 : d.value) ?? J.steps ?? null; - _ != null && (F.steps = _); + _ != null && (M.steps = _); const le = ((u = J.cfg) == null ? void 0 : u.value) ?? J.cfg ?? null; - le != null && (F.cfg = le); - const se = ((I = J.seed) == null ? void 0 : I.value) ?? J.seed ?? null; - se != null && (F.seed = se); - const de = ((p = J.voice) == null ? void 0 : p.name) ?? ((M = J.voice) == null ? void 0 : M.value) ?? J.voice ?? null; - de != null && String(de).trim() && (F.voice = String(de).trim()); - const Ze = ((Z = J.language) == null ? void 0 : Z.value) ?? J.language ?? null; - Ze != null && String(Ze).trim() && (F.language = String(Ze).trim()); - const Fe = ((A = J.temperature) == null ? void 0 : A.value) ?? J.temperature ?? null; - Fe != null && (F.temperature = Fe); - const xe = ((g = J.top_k) == null ? void 0 : g.value) ?? J.top_k ?? null; - xe != null && (F.top_k = xe); - const ze = ((h = J.top_p) == null ? void 0 : h.value) ?? J.top_p ?? null; - ze != null && (F.top_p = ze); - const We = ((f = J.repetition_penalty) == null ? void 0 : f.value) ?? J.repetition_penalty ?? null; - We != null && (F.repetition_penalty = We); - const De = ((b = J.max_new_tokens) == null ? void 0 : b.value) ?? J.max_new_tokens ?? null; - De != null && (F.max_new_tokens = De); - const Pe = ((v = J.device) == null ? void 0 : v.value) ?? J.device ?? null; - Pe != null && String(Pe).trim() && (F.device = String(Pe).trim()); - const Qe = ((C = J.voice_preset) == null ? void 0 : C.value) ?? J.voice_preset ?? null; - Qe != null && String(Qe).trim() && (F.voice_preset = String(Qe).trim()); - const Ue = ((S = J.instruct) == null ? void 0 : S.value) ?? J.instruct ?? null; - Ue != null && String(Ue).trim() && (F.instruct = String(Ue).trim()); - const Ee = ((W = J.dtype) == null ? void 0 : W.value) ?? J.dtype ?? null; - Ee != null && String(Ee).trim() && (F.dtype = String(Ee).trim()); - const Re = ((y = J.attn_implementation) == null ? void 0 : y.value) ?? J.attn_implementation ?? null; - Re != null && String(Re).trim() && (F.attn_implementation = String(Re).trim()); - const wt = ((k = J.x_vector_only_mode) == null ? void 0 : k.value) ?? J.x_vector_only_mode ?? null; - wt != null && (F.x_vector_only_mode = wt); - const Se = ((G = J.use_torch_compile) == null ? void 0 : G.value) ?? J.use_torch_compile ?? null; - Se != null && (F.use_torch_compile = Se); - const Ft = ((z = J.use_cuda_graphs) == null ? void 0 : z.value) ?? J.use_cuda_graphs ?? null; - Ft != null && (F.use_cuda_graphs = Ft); - const Gt = ((x = J.compile_mode) == null ? void 0 : x.value) ?? J.compile_mode ?? null; - Gt != null && String(Gt).trim() && (F.compile_mode = String(Gt).trim()); - const ue = ((w = J.enable_chunking) == null ? void 0 : w.value) ?? J.enable_chunking ?? null; - ue != null && (F.enable_chunking = ue); - const He = ((X = J.max_chars_per_chunk) == null ? void 0 : X.value) ?? J.max_chars_per_chunk ?? null; - He != null && (F.max_chars_per_chunk = He); - const ve = ((V = J.chunk_combination_method) == null ? void 0 : V.value) ?? J.chunk_combination_method ?? null; - ve != null && String(ve).trim() && (F.chunk_combination_method = String(ve).trim()); - const Ot = ((R = J.silence_between_chunks_ms) == null ? void 0 : R.value) ?? J.silence_between_chunks_ms ?? null; - Ot != null && (F.silence_between_chunks_ms = Ot); - const Ve = ((j = J.enable_audio_cache) == null ? void 0 : j.value) ?? J.enable_audio_cache ?? null; - Ve != null && (F.enable_audio_cache = Ve); - const Ke = ((L = J.batch_size) == null ? void 0 : L.value) ?? J.batch_size ?? null; - Ke != null && (F.batch_size = Ke); - const Be = ((N = J.denoise) == null ? void 0 : N.value) ?? J.denoise ?? null; - Be != null && (F.denoise = Be); - const nt = ((q = J.clip_skip) == null ? void 0 : q.value) ?? J.clip_skip ?? J.clipSkip ?? null; - nt != null && (F.clip_skip = nt); - const mt = J.inputs; - Array.isArray(mt) && (F.inputs = mt); - const bt = ((O = J.lyrics) == null ? void 0 : O.value) ?? J.lyrics ?? null; - typeof bt == "string" && bt.trim() && (F.lyrics = bt); - const st = ((B = J.lyrics_strength) == null ? void 0 : B.value) ?? J.lyrics_strength ?? null; - st != null && (F.lyrics_strength = st), Array.isArray(J.all_positive_prompts) && J.all_positive_prompts.length > 1 && (F.all_positive_prompts = J.all_positive_prompts), Array.isArray(J.all_negative_prompts) && J.all_negative_prompts.length > 1 && (F.all_negative_prompts = J.all_negative_prompts), Array.isArray(J.all_samplers) && J.all_samplers.length > 1 && (F.all_samplers = J.all_samplers), Array.isArray(J.chained_passes) && J.chained_passes.length > 1 && (F.chained_passes = J.chained_passes), Array.isArray(J.all_checkpoints) && J.all_checkpoints.length > 1 && (F.all_checkpoints = J.all_checkpoints); - const ke = J.size || null; - if (ke && typeof ke == "object" && (ke.width !== void 0 && (F.width = ke.width), ke.height !== void 0 && (F.height = ke.height)), J.engine && typeof J.engine == "object" && (F.engine = J.engine), Object.keys(F).length) return F; + le != null && (M.cfg = le); + const de = ((I = J.seed) == null ? void 0 : I.value) ?? J.seed ?? null; + de != null && (M.seed = de); + const se = ((p = J.voice) == null ? void 0 : p.name) ?? ((S = J.voice) == null ? void 0 : S.value) ?? J.voice ?? null; + se != null && String(se).trim() && (M.voice = String(se).trim()); + const ge = ((A = J.language) == null ? void 0 : A.value) ?? J.language ?? null; + ge != null && String(ge).trim() && (M.language = String(ge).trim()); + const je = ((C = J.temperature) == null ? void 0 : C.value) ?? J.temperature ?? null; + je != null && (M.temperature = je); + const Se = ((g = J.top_k) == null ? void 0 : g.value) ?? J.top_k ?? null; + Se != null && (M.top_k = Se); + const ke = ((Z = J.top_p) == null ? void 0 : Z.value) ?? J.top_p ?? null; + ke != null && (M.top_p = ke); + const we = ((f = J.repetition_penalty) == null ? void 0 : f.value) ?? J.repetition_penalty ?? null; + we != null && (M.repetition_penalty = we); + const Je = ((b = J.max_new_tokens) == null ? void 0 : b.value) ?? J.max_new_tokens ?? null; + Je != null && (M.max_new_tokens = Je); + const $e = ((L = J.device) == null ? void 0 : L.value) ?? J.device ?? null; + $e != null && String($e).trim() && (M.device = String($e).trim()); + const qe = ((h = J.voice_preset) == null ? void 0 : h.value) ?? J.voice_preset ?? null; + qe != null && String(qe).trim() && (M.voice_preset = String(qe).trim()); + const Ue = ((G = J.instruct) == null ? void 0 : G.value) ?? J.instruct ?? null; + Ue != null && String(Ue).trim() && (M.instruct = String(Ue).trim()); + const Te = ((W = J.dtype) == null ? void 0 : W.value) ?? J.dtype ?? null; + Te != null && String(Te).trim() && (M.dtype = String(Te).trim()); + const Oe = ((y = J.attn_implementation) == null ? void 0 : y.value) ?? J.attn_implementation ?? null; + Oe != null && String(Oe).trim() && (M.attn_implementation = String(Oe).trim()); + const pt = ((X = J.x_vector_only_mode) == null ? void 0 : X.value) ?? J.x_vector_only_mode ?? null; + pt != null && (M.x_vector_only_mode = pt); + const Me = ((x = J.use_torch_compile) == null ? void 0 : x.value) ?? J.use_torch_compile ?? null; + Me != null && (M.use_torch_compile = Me); + const Xt = ((T = J.use_cuda_graphs) == null ? void 0 : T.value) ?? J.use_cuda_graphs ?? null; + Xt != null && (M.use_cuda_graphs = Xt); + const Mt = ((v = J.compile_mode) == null ? void 0 : v.value) ?? J.compile_mode ?? null; + Mt != null && String(Mt).trim() && (M.compile_mode = String(Mt).trim()); + const me = ((w = J.enable_chunking) == null ? void 0 : w.value) ?? J.enable_chunking ?? null; + me != null && (M.enable_chunking = me); + const Pe = ((R = J.max_chars_per_chunk) == null ? void 0 : R.value) ?? J.max_chars_per_chunk ?? null; + Pe != null && (M.max_chars_per_chunk = Pe); + const Le = ((Y = J.chunk_combination_method) == null ? void 0 : Y.value) ?? J.chunk_combination_method ?? null; + Le != null && String(Le).trim() && (M.chunk_combination_method = String(Le).trim()); + const Ot = ((F = J.silence_between_chunks_ms) == null ? void 0 : F.value) ?? J.silence_between_chunks_ms ?? null; + Ot != null && (M.silence_between_chunks_ms = Ot); + const Xe = ((N = J.enable_audio_cache) == null ? void 0 : N.value) ?? J.enable_audio_cache ?? null; + Xe != null && (M.enable_audio_cache = Xe); + const Ee = ((V = J.batch_size) == null ? void 0 : V.value) ?? J.batch_size ?? null; + Ee != null && (M.batch_size = Ee); + const Ke = ((k = J.denoise) == null ? void 0 : k.value) ?? J.denoise ?? null; + Ke != null && (M.denoise = Ke); + const nt = ((K = J.clip_skip) == null ? void 0 : K.value) ?? J.clip_skip ?? J.clipSkip ?? null; + nt != null && (M.clip_skip = nt); + const ut = J.inputs; + Array.isArray(ut) && (M.inputs = ut); + const It = ((z = J.lyrics) == null ? void 0 : z.value) ?? J.lyrics ?? null; + typeof It == "string" && It.trim() && (M.lyrics = It); + const dt = ((B = J.lyrics_strength) == null ? void 0 : B.value) ?? J.lyrics_strength ?? null; + dt != null && (M.lyrics_strength = dt), Array.isArray(J.all_positive_prompts) && J.all_positive_prompts.length > 1 && (M.all_positive_prompts = J.all_positive_prompts), Array.isArray(J.all_negative_prompts) && J.all_negative_prompts.length > 1 && (M.all_negative_prompts = J.all_negative_prompts), Array.isArray(J.all_samplers) && J.all_samplers.length > 1 && (M.all_samplers = J.all_samplers), Array.isArray(J.chained_passes) && J.chained_passes.length > 1 && (M.chained_passes = J.chained_passes), Array.isArray(J.all_checkpoints) && J.all_checkpoints.length > 1 && (M.all_checkpoints = J.all_checkpoints); + const Re = J.size || null; + if (Re && typeof Re == "object" && (Re.width !== void 0 && (M.width = Re.width), Re.height !== void 0 && (M.height = Re.height)), J.engine && typeof J.engine == "object" && (M.engine = J.engine), Object.keys(M).length) return M; } if ([ "prompt", @@ -38804,34 +38862,34 @@ function rp(e) { "seed", "width", "height" - ].some((F) => Object.prototype.hasOwnProperty.call(e, F))) return e; - const Q = Gc(e); - if (Q) return Q; - if (op(e)) { - const F = Gc({ prompt: e }); - if (F) return F; + ].some((M) => Object.prototype.hasOwnProperty.call(e, M))) return e; + const $ = xc(e); + if ($) return $; + if (rp(e)) { + const M = xc({ prompt: e }); + if (M) return M; } const E = e.parameters || e["PNG:Parameters"] || e["EXIF:UserComment"] || e.UserComment || e.ImageDescription || null; if (typeof E == "string") { - const F = Vm(E); - if (F) return F; + const M = Xm(E); + if (M) return M; } - const K = e.workflow || e.Workflow || e.comfy || e.comfyui || e.ComfyUI || null; - if (K && typeof K == "object") { - const F = Gc(K); - if (F) return F; + const oe = e.workflow || e.Workflow || e.comfy || e.comfyui || e.ComfyUI || null; + if (oe && typeof oe == "object") { + const M = xc(oe); + if (M) return M; } return e; } if (typeof e == "string") { const J = e.trim(); if (!J) return null; - const T = Vm(J); - if (T) return T; + const P = Xm(J); + if (P) return P; if (J.startsWith("{") && J.endsWith("}") || J.startsWith("[") && J.endsWith("]")) try { - const D = JSON.parse(J); - return rp(D); + const H = JSON.parse(J); + return lp(H); } catch { return null; } @@ -38839,35 +38897,35 @@ function rp(e) { } return null; } -function _x(e) { +function tj(e) { const t = typeof e == "string" ? e.trim() : ""; return !t || t.includes(` -`) ? !1 : Px.test(t) || Qx.test(t); +`) ? !1 : $x.test(t) || ej.test(t); } -function Zo(e) { +function Wo(e) { const t = typeof e == "string" ? e.trim() : ""; - return t ? _x(t) ? "" : t : ""; + return t ? tj(t) ? "" : t : ""; } -function km(e, t) { - let n = Zo(e), i = Zo(t); +function Nm(e, t) { + let n = Wo(e), i = Wo(t); if (n) { const o = /(?:^|\n)\s*Negative prompt:\s*/i; if (o.test(n)) { const r = n.split(o), l = (r[0] || "").trim(), a = r.slice(1).join("Negative prompt:").trim(), c = a.search(/\n\s*Steps:\s*\d+/i), s = (c >= 0 ? a.slice(0, c) : a).trim(); - l && (n = Zo(l)), !i && s && (i = Zo(s)); + l && (n = Wo(l)), !i && s && (i = Wo(s)); } } return n && i && n.trim() === i.trim() && (i = ""), { positive: n, negative: i }; } -function _i(e) { +function to(e) { if (!e) return ""; const t = String(e).trim().replace(/\\/g, "/"); return (t.split("/").pop() || t).replace(/\.(safetensors|ckpt|pt|pth|bin|gguf|json)$/i, ""); } -function $x(e) { +function nj(e) { if (!e) return ""; - if (typeof e == "string") return _i(e); - const t = _i(e.name || e.lora_name || ""); + if (typeof e == "string") return to(e); + const t = to(e.name || e.lora_name || ""); if (!t) return ""; const n = e.weight ?? e.strength ?? null, i = e.strength_model ?? null, o = e.strength_clip ?? null; if (i !== null || o !== null) { @@ -38876,7 +38934,7 @@ function $x(e) { } return n != null ? `${t} (${n})` : t; } -const ej = /* @__PURE__ */ new Set([ +const ij = /* @__PURE__ */ new Set([ "png", "jpg", "jpeg", @@ -38892,18 +38950,18 @@ const ej = /* @__PURE__ */ new Set([ "hdr", "svg" ]); -function lp(e) { +function ap(e) { const t = String((e == null ? void 0 : e.filename) || (e == null ? void 0 : e.name) || (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || "").trim().toLowerCase(); return !t || !t.includes(".") ? "" : t.split(".").pop() || ""; } -function xc(e) { - return String((e == null ? void 0 : e.kind) || "").trim().toLowerCase() === "image" || String((e == null ? void 0 : e.mime) || (e == null ? void 0 : e.mimetype) || "").trim().toLowerCase().startsWith("image/") ? !0 : ej.has(lp(e)); +function jc(e) { + return String((e == null ? void 0 : e.kind) || "").trim().toLowerCase() === "image" || String((e == null ? void 0 : e.mime) || (e == null ? void 0 : e.mimetype) || "").trim().toLowerCase().startsWith("image/") ? !0 : ij.has(ap(e)); } -function tj(e) { - const t = lp(e); +function oj(e) { + const t = ap(e); return t === "jpg" || t === "jpeg"; } -function nj() { +function rj() { var e; try { const t = Xn(); @@ -38912,13 +38970,13 @@ function nj() { return !0; } } -function ij(e) { +function lj(e) { return e >= 0.75 ? "#4CAF50" : e >= 0.5 ? "#8BC34A" : e >= 0.3 ? "#FF9800" : "#F44336"; } -function oj(e) { +function aj(e) { return e >= 0.85 ? "Excellent" : e >= 0.7 ? "Good" : e >= 0.5 ? "Fair" : e >= 0.3 ? "Low" : "Very Low"; } -function Xm(e) { +function Rm(e) { const t = String(e || "").trim(); if (!t) return ""; const n = []; @@ -38930,17 +38988,17 @@ function Xm(e) { } return (n.length ? n.join(" ") : t).replace(/\s+/g, " ").replace(/:{2,}\s*$/, "").trim(); } -function rj(e) { +function cj(e) { const t = String((e == null ? void 0 : e.filename) || "").trim(); if (!t) return []; const n = String((e == null ? void 0 : e.subfolder) || "").trim(), i = String((e == null ? void 0 : e.folder_type) || "input").trim().toLowerCase(), o = [], r = (l) => { if (!l) return; - const a = dl(t, n, l); + const a = ul(t, n, l); a && !o.includes(a) && o.push(a); }; return (i === "input" || i === "output") && r(i), r("input"), r("output"), o; } -function lj(e) { +function sj(e) { const t = String(e || "").trim(); if (!t) return !1; if (t.startsWith("/")) return !0; @@ -38951,36 +39009,36 @@ function lj(e) { return !1; } } -function Mi(e) { +function xi(e) { return e == null || e === "" ? "-" : String(e); } -function Nm(e, t) { +function Fm(e, t) { const n = String((e == null ? void 0 : e.pass_name) || "").trim(); if (n) return n; const i = Number(e == null ? void 0 : e.denoise); return t === 0 || i === 1 ? "Base" : Number.isFinite(i) && i < 1 ? "Refine / Upscale" : `Pass ${t + 1}`; } -function aj(e) { +function dj(e) { return e != null && e.geninfo && typeof e.geninfo == "object" ? { geninfo: e.geninfo } : e != null && e.metadata && (typeof e.metadata == "object" || typeof e.metadata == "string") ? e.metadata : e != null && e.prompt && (typeof e.prompt == "object" || typeof e.prompt == "string") ? e.prompt : e != null && e.metadata_raw ? e.metadata_raw : e != null && e.exif ? e.exif : null; } -function cj(e) { +function uj(e) { try { if (!e || typeof e != "object") return !1; - if (e.engine && typeof e.engine == "object" && e.engine.type || Zo(e.prompt) || typeof (e.negative_prompt || e.negativePrompt) == "string" && Zo(e.negative_prompt || e.negativePrompt) || e.models || e.model || e.checkpoint || e.loras || e.sampler || e.sampler_name || e.steps || e.cfg || e.cfg_scale || e.scheduler || Array.isArray(e.chained_passes) && e.chained_passes.length > 0 || Array.isArray(e.all_samplers) && e.all_samplers.length > 0 || e.seed || e.denoise || e.denoising || e.clip_skip || e.voice || e.language || e.temperature || e.top_k || e.top_p || e.repetition_penalty || e.max_new_tokens || e.device || e.voice_preset || e.instruct || e.dtype || e.attn_implementation || e.enable_chunking !== void 0 || e.max_chars_per_chunk || e.chunk_combination_method || e.silence_between_chunks_ms || e.enable_audio_cache !== void 0 || e.batch_size !== void 0 || e.use_torch_compile !== void 0 || e.use_cuda_graphs !== void 0 || e.compile_mode || typeof e.lyrics == "string" && e.lyrics.trim()) return !0; + if (e.engine && typeof e.engine == "object" && e.engine.type || Wo(e.prompt) || typeof (e.negative_prompt || e.negativePrompt) == "string" && Wo(e.negative_prompt || e.negativePrompt) || e.models || e.model || e.checkpoint || e.loras || e.sampler || e.sampler_name || e.steps || e.cfg || e.cfg_scale || e.scheduler || Array.isArray(e.chained_passes) && e.chained_passes.length > 0 || Array.isArray(e.all_samplers) && e.all_samplers.length > 0 || e.seed || e.denoise || e.denoising || e.clip_skip || e.voice || e.language || e.temperature || e.top_k || e.top_p || e.repetition_penalty || e.max_new_tokens || e.device || e.voice_preset || e.instruct || e.dtype || e.attn_implementation || e.enable_chunking !== void 0 || e.max_chars_per_chunk || e.chunk_combination_method || e.silence_between_chunks_ms || e.enable_audio_cache !== void 0 || e.batch_size !== void 0 || e.use_torch_compile !== void 0 || e.use_cuda_graphs !== void 0 || e.compile_mode || typeof e.lyrics == "string" && e.lyrics.trim()) return !0; } catch { return !1; } return !1; } -function Go(e) { - return e ? typeof e == "string" ? _i(e) : typeof e == "object" ? _i(e.name || e.value || "") : "" : ""; +function jo(e) { + return e ? typeof e == "string" ? to(e) : typeof e == "object" ? to(e.name || e.value || "") : "" : ""; } -function Tr(e, t) { +function Ur(e, t) { return t == null ? null : { label: e, value: t ? "on" : "off" }; } -function sj(e) { - var g, h, f, b, v; - const t = rp(aj(e)), n = { +function mj(e) { + var g, Z, f, b, L; + const t = lp(dj(e)), n = { kind: "empty", title: "Generation", workflowType: "", @@ -38992,7 +39050,7 @@ function sj(e) { showAlignment: !1, captionLabel: "Image Description", emptyCaptionText: "No image description yet.", - isImageAsset: xc(e), + isImageAsset: jc(e), lyrics: "", modelFields: [], pipelineTabs: [], @@ -39006,127 +39064,127 @@ function sj(e) { imageFields: [], inputFiles: [] }; - if (!t || typeof t == "object" && Object.keys(t).length === 0 || !cj(t)) { - const C = ((g = e == null ? void 0 : e.metadata_raw) == null ? void 0 : g.geninfo_status) || (e == null ? void 0 : e.geninfo_status); - return C && typeof C == "object" && C.kind === "media_pipeline" ? { + if (!t || typeof t == "object" && Object.keys(t).length === 0 || !uj(t)) { + const h = ((g = e == null ? void 0 : e.metadata_raw) == null ? void 0 : g.geninfo_status) || (e == null ? void 0 : e.geninfo_status); + return h && typeof h == "object" && h.kind === "media_pipeline" ? { ...n, kind: "media-only", mediaOnlyMessage: "This file looks like a media-only pipeline (e.g. LoadVideo/VideoCombine) and does not contain generation parameters." - } : xc(e) || tj(e) ? { + } : jc(e) || oj(e) ? { ...n, kind: "caption-only", showAlignment: !1 } : n; } - const i = t, o = km( + const i = t, o = Nm( typeof i.prompt == "string" ? i.prompt : null, typeof (i.negative_prompt || i.negativePrompt) == "string" ? i.negative_prompt || i.negativePrompt : null - ), r = Array.isArray(i.all_positive_prompts) && i.all_positive_prompts.length > 1 ? i.all_positive_prompts.map((C, S) => { + ), r = Array.isArray(i.all_positive_prompts) && i.all_positive_prompts.length > 1 ? i.all_positive_prompts.map((h, G) => { var y; - const W = km( - typeof C == "string" ? C : "", - typeof ((y = i.all_negative_prompts) == null ? void 0 : y[S]) == "string" ? i.all_negative_prompts[S] : "" + const W = Nm( + typeof h == "string" ? h : "", + typeof ((y = i.all_negative_prompts) == null ? void 0 : y[G]) == "string" ? i.all_negative_prompts[G] : "" ); return { - label: `Prompt ${S + 1}`, - positive: Zo(W.positive), - negative: Zo(W.negative) + label: `Prompt ${G + 1}`, + positive: Wo(W.positive), + negative: Wo(W.negative) }; - }).filter((C) => C.positive) : [], l = [], a = i.models && typeof i.models == "object" ? i.models : null, c = Array.isArray(i.all_checkpoints) && i.all_checkpoints.length > 1 ? i.all_checkpoints : null; + }).filter((h) => h.positive) : [], l = [], a = i.models && typeof i.models == "object" ? i.models : null, c = Array.isArray(i.all_checkpoints) && i.all_checkpoints.length > 1 ? i.all_checkpoints : null; if (a) { if (c) - c.forEach((S, W) => { - const y = Go(S); + c.forEach((G, W) => { + const y = jo(G); y && l.push({ label: `Checkpoint ${W + 1}`, value: y }); }); else { - const S = Go(a.checkpoint); - S && l.push({ label: "Checkpoint", value: S }); + const G = jo(a.checkpoint); + G && l.push({ label: "Checkpoint", value: G }); } [ - ["UNet", Go(a.unet)], - ["Diffusion", Go(a.diffusion)], - ["Upscaler", Go(a.upscaler)], - ["CLIP", Go(a.clip)], - ["VAE", Go(a.vae)] - ].forEach(([S, W]) => { - W && l.push({ label: S, value: W }); + ["UNet", jo(a.unet)], + ["Diffusion", jo(a.diffusion)], + ["Upscaler", jo(a.upscaler)], + ["CLIP", jo(a.clip)], + ["VAE", jo(a.vae)] + ].forEach(([G, W]) => { + W && l.push({ label: G, value: W }); }); } else (i.model || i.checkpoint) && l.push({ label: "Model", - value: _i(i.model || i.checkpoint) + value: to(i.model || i.checkpoint) }); if (Array.isArray(i.loras) && i.loras.length > 0) { - const C = i.loras.map((S) => $x(S)).filter(Boolean).join(` + const h = i.loras.map((G) => nj(G)).filter(Boolean).join(` `); - C && l.push({ label: "LoRA", value: C }); + h && l.push({ label: "LoRA", value: h }); } - !a && i.clip && l.push({ label: "CLIP", value: _i(i.clip) }), !a && i.vae && l.push({ label: "VAE", value: _i(i.vae) }), !a && i.unet && l.push({ label: "UNet", value: _i(i.unet) }), !a && i.diffusion && l.push({ label: "Diffusion", value: _i(i.diffusion) }); + !a && i.clip && l.push({ label: "CLIP", value: to(i.clip) }), !a && i.vae && l.push({ label: "VAE", value: to(i.vae) }), !a && i.unet && l.push({ label: "UNet", value: to(i.unet) }), !a && i.diffusion && l.push({ label: "Diffusion", value: to(i.diffusion) }); const s = []; (i.sampler || i.sampler_name) && s.push({ label: "Sampler", value: i.sampler || i.sampler_name }), i.steps && s.push({ label: "Steps", value: i.steps }), (i.cfg || i.cfg_scale) && s.push({ label: "CFG Scale", value: i.cfg || i.cfg_scale }), i.scheduler && s.push({ label: "Scheduler", value: i.scheduler }); let d = []; - Array.isArray(i.chained_passes) && i.chained_passes.length > 1 ? d = i.chained_passes.filter((C) => C && typeof C == "object").map((C, S) => ({ - label: Nm(C, S), + Array.isArray(i.chained_passes) && i.chained_passes.length > 1 ? d = i.chained_passes.filter((h) => h && typeof h == "object").map((h, G) => ({ + label: Fm(h, G), fields: [ - { label: "Sampler", value: Mi((C == null ? void 0 : C.sampler_name) || (C == null ? void 0 : C.sampler)) }, - { label: "Scheduler", value: Mi(C == null ? void 0 : C.scheduler) }, - { label: "Steps", value: Mi(C == null ? void 0 : C.steps) }, - { label: "CFG", value: Mi(C == null ? void 0 : C.cfg) }, - { label: "Denoise", value: Mi(C == null ? void 0 : C.denoise) }, - { label: "Seed", value: Mi((C == null ? void 0 : C.seed_val) || (C == null ? void 0 : C.seed)) } + { label: "Sampler", value: xi((h == null ? void 0 : h.sampler_name) || (h == null ? void 0 : h.sampler)) }, + { label: "Scheduler", value: xi(h == null ? void 0 : h.scheduler) }, + { label: "Steps", value: xi(h == null ? void 0 : h.steps) }, + { label: "CFG", value: xi(h == null ? void 0 : h.cfg) }, + { label: "Denoise", value: xi(h == null ? void 0 : h.denoise) }, + { label: "Seed", value: xi((h == null ? void 0 : h.seed_val) || (h == null ? void 0 : h.seed)) } ] - })) : Array.isArray(i.all_samplers) && i.all_samplers.length > 1 && (d = i.all_samplers.filter((C) => C && typeof C == "object").map((C, S) => ({ - label: Nm(C, S), + })) : Array.isArray(i.all_samplers) && i.all_samplers.length > 1 && (d = i.all_samplers.filter((h) => h && typeof h == "object").map((h, G) => ({ + label: Fm(h, G), fields: [ - { label: "Sampler", value: Mi((C == null ? void 0 : C.sampler_name) || (C == null ? void 0 : C.sampler)) }, - { label: "Scheduler", value: Mi(C == null ? void 0 : C.scheduler) }, - { label: "Steps", value: Mi(C == null ? void 0 : C.steps) }, - { label: "CFG", value: Mi(C == null ? void 0 : C.cfg) }, - { label: "Denoise", value: Mi(C == null ? void 0 : C.denoise) }, - { label: "Seed", value: Mi((C == null ? void 0 : C.seed_val) || (C == null ? void 0 : C.seed)) } + { label: "Sampler", value: xi((h == null ? void 0 : h.sampler_name) || (h == null ? void 0 : h.sampler)) }, + { label: "Scheduler", value: xi(h == null ? void 0 : h.scheduler) }, + { label: "Steps", value: xi(h == null ? void 0 : h.steps) }, + { label: "CFG", value: xi(h == null ? void 0 : h.cfg) }, + { label: "Denoise", value: xi(h == null ? void 0 : h.denoise) }, + { label: "Seed", value: xi((h == null ? void 0 : h.seed_val) || (h == null ? void 0 : h.seed)) } ] }))); const u = []; i.voice && u.push({ label: "Narrator Voice", value: i.voice }), i.language && u.push({ label: "Language", value: i.language }), i.top_k !== void 0 && i.top_k !== null && u.push({ label: "Top-k", value: i.top_k }), i.top_p !== void 0 && i.top_p !== null && u.push({ label: "Top-p", value: i.top_p }), i.temperature !== void 0 && i.temperature !== null && u.push({ label: "Temperature", value: i.temperature }), i.repetition_penalty !== void 0 && i.repetition_penalty !== null && u.push({ label: "Repetition Penalty", value: i.repetition_penalty }), i.max_new_tokens !== void 0 && i.max_new_tokens !== null && u.push({ label: "Max New Tokens", value: i.max_new_tokens }); const I = []; i.device && I.push({ label: "Device", value: i.device }), i.voice_preset && I.push({ label: "Voice Preset", value: i.voice_preset }), i.dtype && I.push({ label: "Dtype", value: i.dtype }), i.attn_implementation && I.push({ label: "Attention", value: i.attn_implementation }), i.compile_mode && I.push({ label: "Compile Mode", value: i.compile_mode }), [ - Tr("Torch Compile", i.use_torch_compile), - Tr("CUDA Graphs", i.use_cuda_graphs), - Tr("X-Vector Only", i.x_vector_only_mode) - ].filter(Boolean).forEach((C) => I.push(C)); + Ur("Torch Compile", i.use_torch_compile), + Ur("CUDA Graphs", i.use_cuda_graphs), + Ur("X-Vector Only", i.x_vector_only_mode) + ].filter(Boolean).forEach((h) => I.push(h)); const p = []; [ - Tr("Chunking", i.enable_chunking), + Ur("Chunking", i.enable_chunking), i.max_chars_per_chunk !== void 0 && i.max_chars_per_chunk !== null ? { label: "Max Chars/Chunk", value: i.max_chars_per_chunk } : null, i.chunk_combination_method ? { label: "Chunk Method", value: i.chunk_combination_method } : null, i.silence_between_chunks_ms !== void 0 && i.silence_between_chunks_ms !== null ? { label: "Silence Between Chunks (ms)", value: i.silence_between_chunks_ms } : null, - Tr("Audio Cache", i.enable_audio_cache), + Ur("Audio Cache", i.enable_audio_cache), i.batch_size !== void 0 && i.batch_size !== null ? { label: "Batch Size", value: i.batch_size } : null - ].filter(Boolean).forEach((C) => p.push(C)); - const M = []; - i.lyrics_strength !== void 0 && i.lyrics_strength !== null && M.push({ label: "Lyrics Strength", value: i.lyrics_strength }); - const Z = []; - (i.denoise || i.denoising) && Z.push({ label: "Denoise", value: i.denoise || i.denoising }), i.clip_skip && Z.push({ label: "Clip Skip", value: i.clip_skip }); - const A = Array.isArray(i.inputs) ? i.inputs.filter((C) => C && typeof C == "object" && C.filename).map((C, S) => ({ - id: `${C.filename}-${S}`, - filename: String(C.filename || "").trim(), - filepath: String(C.filepath || C.filename || "").trim(), - role: String(C.role || "").trim(), - roleLabel: String(C.role || "").trim().replace(/_/g, " "), - isVideo: String(C.type || "").toLowerCase() === "video" || /\.(mp4|mov|webm)$/i.test(String(C.filename || "")), - previewCandidates: rj(C) + ].filter(Boolean).forEach((h) => p.push(h)); + const S = []; + i.lyrics_strength !== void 0 && i.lyrics_strength !== null && S.push({ label: "Lyrics Strength", value: i.lyrics_strength }); + const A = []; + (i.denoise || i.denoising) && A.push({ label: "Denoise", value: i.denoise || i.denoising }), i.clip_skip && A.push({ label: "Clip Skip", value: i.clip_skip }); + const C = Array.isArray(i.inputs) ? i.inputs.filter((h) => h && typeof h == "object" && h.filename).map((h, G) => ({ + id: `${h.filename}-${G}`, + filename: String(h.filename || "").trim(), + filepath: String(h.filepath || h.filename || "").trim(), + role: String(h.role || "").trim(), + roleLabel: String(h.role || "").trim().replace(/_/g, " "), + isVideo: String(h.type || "").toLowerCase() === "video" || /\.(mp4|mov|webm)$/i.test(String(h.filename || "")), + previewCandidates: cj(h) })) : []; return { ...n, kind: "full", metadata: i, - workflowType: String(((h = i == null ? void 0 : i.engine) == null ? void 0 : h.type) || "").trim(), - isTruncated: !!((f = e == null ? void 0 : e.geninfo) != null && f._truncated || (b = e == null ? void 0 : e.metadata) != null && b._truncated || (v = e == null ? void 0 : e.prompt) != null && v._truncated), + workflowType: String(((Z = i == null ? void 0 : i.engine) == null ? void 0 : Z.type) || "").trim(), + isTruncated: !!((f = e == null ? void 0 : e.geninfo) != null && f._truncated || (b = e == null ? void 0 : e.metadata) != null && b._truncated || (L = e == null ? void 0 : e.prompt) != null && L._truncated), positivePrompt: r.length ? "" : String(o.positive || "").trim(), negativePrompt: r.length ? "" : String(o.negative || "").trim(), promptTabs: r, showAlignment: !!(e != null && e.id) && (!!String(o.positive || "").trim() || r.length > 0), - isImageAsset: xc(e), + isImageAsset: jc(e), lyrics: String(i.lyrics || "").trim(), modelFields: l, pipelineTabs: d, @@ -39135,20 +39193,20 @@ function sj(e) { ttsEngineFields: I, ttsInstruction: String(i.instruct || "").trim(), ttsRuntimeFields: p, - audioFields: M, + audioFields: S, seed: i.seed ?? null, - imageFields: Z, - inputFiles: A + imageFields: A, + inputFiles: C }; } -const dj = ["title"], uj = ["src"], mj = ["src"], gj = { +const gj = ["title"], Ij = ["src"], bj = ["src"], pj = { key: 2, style: { position: "absolute", bottom: "0", left: "0", right: "0", background: "rgba(0,0,0,0.7)", color: "white", "font-size": "8px", padding: "2px", "text-align": "center", "white-space": "nowrap", overflow: "hidden", "text-overflow": "ellipsis" } -}, Ij = { +}, yj = { key: 3, title: "Video file", style: { position: "absolute", color: "white", opacity: "0.7", "font-size": "16px", "pointer-events": "none" } -}, bj = { +}, fj = { __name: "GenerationInputThumb", props: { inputFile: { type: Object, required: !0 } @@ -39165,45 +39223,45 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { n.value < d.length - 1 && (n.value += 1); } async function l(d) { - var I, p, M, Z; + var I, p, S, A; (I = d == null ? void 0 : d.stopPropagation) == null || I.call(d); - const u = String(((p = t.inputFile) == null ? void 0 : p.filepath) || ((M = t.inputFile) == null ? void 0 : M.filename) || "").trim(); + const u = String(((p = t.inputFile) == null ? void 0 : p.filepath) || ((S = t.inputFile) == null ? void 0 : S.filename) || "").trim(); if (u) try { await navigator.clipboard.writeText(u), i.value = !0, setTimeout(() => { i.value = !1; }, 350); - } catch (A) { - (Z = console.debug) == null || Z.call(console, A); + } catch (C) { + (A = console.debug) == null || A.call(console, C); } } function a(d) { var I, p; (I = d == null ? void 0 : d.stopPropagation) == null || I.call(d); const u = o(); - if (lj(u)) + if (sj(u)) try { window.open(u, "_blank", "noopener,noreferrer"); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } } function c(d) { - var u, I, p, M; - (M = (I = (u = d.target) == null ? void 0 : u.play) == null ? void 0 : (p = I.call(u)).catch) == null || M.call(p, () => { + var u, I, p, S; + (S = (I = (u = d.target) == null ? void 0 : u.play) == null ? void 0 : (p = I.call(u)).catch) == null || S.call(p, () => { }); } function s(d) { var u, I, p; try { (I = (u = d.target) == null ? void 0 : u.pause) == null || I.call(u); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } } - return (d, u) => (Ie(), he("div", { + return (d, u) => (be(), Ce("div", { title: `${e.inputFile.filename} (click to copy, double-click to open in new tab)`, - style: vt({ + style: Lt({ width: "64px", height: "64px", background: "#222", @@ -39220,7 +39278,7 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { onClick: l, onDblclick: a }, [ - e.inputFile.isVideo ? (Ie(), he("video", { + e.inputFile.isVideo ? (be(), Ce("video", { key: 0, src: o(), muted: "", @@ -39231,19 +39289,19 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { onError: r, onMouseover: c, onMouseout: s - }, null, 40, uj)) : (Ie(), he("img", { + }, null, 40, Ij)) : (be(), Ce("img", { key: 1, src: o(), style: { width: "100%", height: "100%", "object-fit": "cover" }, onError: r - }, null, 40, mj)), - e.inputFile.role && e.inputFile.role !== "secondary" ? (Ie(), he("div", gj, Ye(e.inputFile.roleLabel), 1)) : e.inputFile.isVideo ? (Ie(), he("div", Ij, " β–Ά ")) : yt("", !0) - ], 44, dj)); + }, null, 40, bj)), + e.inputFile.role && e.inputFile.role !== "secondary" ? (be(), Ce("div", pj, Ye(e.inputFile.roleLabel), 1)) : e.inputFile.isVideo ? (be(), Ce("div", yj, " β–Ά ")) : ft("", !0) + ], 44, gj)); } -}, pj = { +}, hj = { key: 0, style: { display: "flex", "flex-direction": "column", gap: "12px" } -}, yj = { +}, Cj = { key: 0, style: { display: "flex", @@ -39258,10 +39316,10 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { fontSize: "11px", color: "var(--fg-color, #ccc)" } -}, fj = ["title"], hj = { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, Cj = { style: { "font-size": "11px", "font-weight": "600", color: "#4CAF50", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "10px" } }, Zj = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "margin-bottom": "10px" } }, Aj = ["onClick"], Wj = ["onClick"], wj = ["onClick"], Mj = { style: { display: "flex", "align-items": "center", gap: "10px" } }, Sj = { style: { flex: "1", height: "8px", background: "rgba(255,255,255,0.1)", "border-radius": "4px", overflow: "hidden" } }, Gj = { +}, Zj = ["title"], Aj = { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, Wj = { style: { "font-size": "11px", "font-weight": "600", color: "#4CAF50", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "10px" } }, wj = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "margin-bottom": "10px" } }, Mj = ["onClick"], Sj = ["onClick"], Gj = ["onClick"], xj = { style: { display: "flex", "align-items": "center", gap: "10px" } }, jj = { style: { flex: "1", height: "8px", background: "rgba(255,255,255,0.1)", "border-radius": "4px", overflow: "hidden" } }, vj = { key: 0, style: { "font-size": "10px", color: "rgba(255,255,255,0.65)", border: "1px dashed rgba(255,255,255,0.25)", "border-radius": "4px", padding: "6px 8px", background: "rgba(255,255,255,0.04)" } -}, xj = { style: { "font-size": "10px", "font-weight": "600", color: "rgba(0, 188, 212, 0.75)", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-top": "8px", display: "flex", "align-items": "center", "justify-content": "space-between", gap: "8px" } }, jj = { title: "AI caption generated by Florence-2" }, vj = { style: { display: "flex", "align-items": "center", gap: "6px" } }, Lj = ["disabled"], Yj = ["disabled"], Vj = ["title"], kj = { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, Xj = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "margin-bottom": "10px" } }, Nj = ["onClick"], Rj = { style: { "font-size": "10px", "font-weight": "600", color: "rgba(255,255,255,0.6)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, Fj = ["onClick"], Oj = { style: { display: "grid", "grid-template-columns": "auto 1fr", gap: "8px 12px", "align-items": "start" } }, zj = ["title"], Jj = ["title", "onClick"], Tj = ["title"], Bj = ["title"], Uj = { style: { display: "flex", gap: "8px", "flex-wrap": "wrap" } }, Kj = { +}, Lj = { style: { "font-size": "10px", "font-weight": "600", color: "rgba(0, 188, 212, 0.75)", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-top": "8px", display: "flex", "align-items": "center", "justify-content": "space-between", gap: "8px" } }, Vj = { title: "AI caption generated by Florence-2" }, Yj = { style: { display: "flex", "align-items": "center", gap: "6px" } }, kj = ["disabled"], Xj = ["disabled"], Nj = ["title"], Rj = { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, Fj = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "margin-bottom": "10px" } }, Oj = ["onClick"], zj = { style: { "font-size": "10px", "font-weight": "600", color: "rgba(255,255,255,0.6)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, Jj = ["onClick"], Tj = { style: { display: "grid", "grid-template-columns": "auto 1fr", gap: "8px 12px", "align-items": "start" } }, Bj = ["title"], Uj = ["title", "onClick"], Kj = ["title"], Dj = ["title"], Ej = { style: { display: "flex", gap: "8px", "flex-wrap": "wrap" } }, Hj = { __name: "SidebarGenerationSection", props: { asset: { type: Object, required: !0 } @@ -39282,18 +39340,18 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { aiStatusText: "AI features are disabled (enable vector search env var)." }; } - function u(z, x) { - const w = String(z || "").trim().replace(/^#/, ""); - if (!/^[0-9a-fA-F]{6}$/.test(w)) return `rgba(255,255,255,${x})`; - const X = Number.parseInt(w.slice(0, 2), 16), V = Number.parseInt(w.slice(2, 4), 16), R = Number.parseInt(w.slice(4, 6), 16); - return `rgba(${X}, ${V}, ${R}, ${x})`; + function u(T, v) { + const w = String(T || "").trim().replace(/^#/, ""); + if (!/^[0-9a-fA-F]{6}$/.test(w)) return `rgba(255,255,255,${v})`; + const R = Number.parseInt(w.slice(0, 2), 16), Y = Number.parseInt(w.slice(2, 4), 16), F = Number.parseInt(w.slice(4, 6), 16); + return `rgba(${R}, ${Y}, ${F}, ${v})`; } - function I(z, { emphasis: x = !1, startAlpha: w = 0.16, endAlpha: X = 0.08 } = {}) { + function I(T, { emphasis: v = !1, startAlpha: w = 0.16, endAlpha: R = 0.08 } = {}) { return { - background: x ? `linear-gradient(135deg, ${u(z, w)} 0%, ${u(z, X)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))", - borderLeft: `3px solid ${z}`, - border: x ? `1px solid ${u(z, 0.45)}` : "1px solid var(--border-color, rgba(255,255,255,0.12))", - boxShadow: x ? `0 0 0 1px ${u(z, 0.15)} inset` : "none", + background: v ? `linear-gradient(135deg, ${u(T, w)} 0%, ${u(T, R)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))", + borderLeft: `3px solid ${T}`, + border: v ? `1px solid ${u(T, 0.45)}` : "1px solid var(--border-color, rgba(255,255,255,0.12))", + boxShadow: v ? `0 0 0 1px ${u(T, 0.15)} inset` : "none", borderRadius: "6px", padding: "12px" }; @@ -39310,81 +39368,81 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { gap: "12px" }; } - const M = Je(() => sj(t.asset)), Z = Je(() => nj()), A = Je( - () => M.value.kind === "full" || M.value.kind === "caption-only" - ), g = Je( - () => Xm(o.value) || M.value.emptyCaptionText - ), h = Je( + const S = ze(() => mj(t.asset)), A = ze(() => rj()), C = ze( + () => S.value.kind === "full" || S.value.kind === "caption-only" + ), g = ze( + () => Rm(o.value) || S.value.emptyCaptionText + ), Z = ze( () => { - var z; - return Z.value && M.value.isImageAsset && !!((z = t.asset) != null && z.id); + var T; + return A.value && S.value.isImageAsset && !!((T = t.asset) != null && T.id); } - ), f = Je( - () => Z.value && !!Xm(g.value) && g.value !== M.value.emptyCaptionText - ), b = Je(() => { - const z = []; - return M.value.modelFields.length && z.push({ + ), f = ze( + () => A.value && !!Rm(g.value) && g.value !== S.value.emptyCaptionText + ), b = ze(() => { + const T = []; + return S.value.modelFields.length && T.push({ key: "model", title: "Model & LoRA", accent: "#9C27B0", emphasis: !0, - fields: M.value.modelFields - }), !M.value.pipelineTabs.length && M.value.samplingFields.length && z.push({ + fields: S.value.modelFields + }), !S.value.pipelineTabs.length && S.value.samplingFields.length && T.push({ key: "sampling", title: "Sampling", accent: "#FF9800", emphasis: !0, - fields: M.value.samplingFields - }), (M.value.ttsFields.length || M.value.workflowType.toLowerCase() === "tts") && z.push({ + fields: S.value.samplingFields + }), (S.value.ttsFields.length || S.value.workflowType.toLowerCase() === "tts") && T.push({ key: "tts", title: "TTS", accent: "#26A69A", emphasis: !0, - fields: M.value.ttsFields - }), M.value.ttsEngineFields.length && z.push({ + fields: S.value.ttsFields + }), S.value.ttsEngineFields.length && T.push({ key: "tts-engine", title: "TTS Engine", accent: "#00897B", emphasis: !1, - fields: M.value.ttsEngineFields - }), M.value.ttsRuntimeFields.length && z.push({ + fields: S.value.ttsEngineFields + }), S.value.ttsRuntimeFields.length && T.push({ key: "tts-runtime", title: "TTS Runtime", accent: "#00796B", emphasis: !1, - fields: M.value.ttsRuntimeFields - }), M.value.audioFields.length && z.push({ + fields: S.value.ttsRuntimeFields + }), S.value.audioFields.length && T.push({ key: "audio", title: "Audio", accent: "#00BCD4", emphasis: !1, - fields: M.value.audioFields - }), M.value.imageFields.length && z.push({ + fields: S.value.audioFields + }), S.value.imageFields.length && T.push({ key: "image", title: "Image", accent: "#2196F3", emphasis: !1, - fields: M.value.imageFields - }), z; + fields: S.value.imageFields + }), T; }); - function v(z, x, w = 450) { - if (!z) return; - const X = z.style.background; - z.style.background = x, setTimeout(() => { - z.style.background = X || ""; + function L(T, v, w = 450) { + if (!T) return; + const R = T.style.background; + T.style.background = v, setTimeout(() => { + T.style.background = R || ""; }, w); } - async function C(z, x = null, w = "rgba(76, 175, 80, 0.35)") { - var V; - const X = String(z ?? "").trim(); - if (!(!X || X === "-")) + async function h(T, v = null, w = "rgba(76, 175, 80, 0.35)") { + var Y; + const R = String(T ?? "").trim(); + if (!(!R || R === "-")) try { - await navigator.clipboard.writeText(X), v(x, w); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + await navigator.clipboard.writeText(R), L(v, w); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } - function S() { + function G() { c.value = { scoreText: "AI OFF", scoreColor: "#9E9E9E", @@ -39401,27 +39459,27 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { c.value = d(); } async function y() { - var x, w; + var v, w; s += 1; - const z = s; - if (!M.value.showAlignment || !((x = t.asset) != null && x.id)) { + const T = s; + if (!S.value.showAlignment || !((v = t.asset) != null && v.id)) { W(); return; } - if (!Z.value) { - S(); + if (!A.value) { + G(); return; } W(); try { - const X = await Df(t.asset.id); - if (z !== s) return; - if (!(X != null && X.ok) && (String((X == null ? void 0 : X.code) || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String((X == null ? void 0 : X.error) || "")))) { - S(); + const R = await qf(t.asset.id); + if (T !== s) return; + if (!(R != null && R.ok) && (String((R == null ? void 0 : R.code) || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String((R == null ? void 0 : R.error) || "")))) { + G(); return; } - const R = X != null && X.ok && X.data != null ? Number(X.data) : null; - if (!Number.isFinite(R)) { + const F = R != null && R.ok && R.data != null ? Number(R.data) : null; + if (!Number.isFinite(F)) { c.value = { scoreText: "N/A", scoreColor: "#888", @@ -39435,20 +39493,20 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { }; return; } - const j = Math.round(R * 100), L = ij(R); + const N = Math.round(F * 100), V = lj(F); c.value = { - scoreText: `${j}%`, - scoreColor: L, - qualityText: oj(R), - qualityColor: L, - qualityBackground: `${L}33`, - fillWidth: `${j}%`, - fillColor: L, + scoreText: `${N}%`, + scoreColor: V, + qualityText: aj(F), + qualityColor: V, + qualityBackground: `${V}33`, + fillWidth: `${N}%`, + fillColor: V, aiStatusVisible: !1, aiStatusText: "" }; - } catch (X) { - if ((w = console.debug) == null || w.call(console, X), z !== s) return; + } catch (R) { + if ((w = console.debug) == null || w.call(console, R), T !== s) return; c.value = { scoreText: "-", scoreColor: "#888", @@ -39462,153 +39520,153 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { }; } } - async function k() { - var z; - if (!(!h.value || a.value)) { + async function X() { + var T; + if (!(!Z.value || a.value)) { a.value = !0, l.value = "Generating..."; try { - const x = await Ef(t.asset.id); - x != null && x.ok && (o.value = String((x == null ? void 0 : x.data) || "").trim()); - } catch (x) { - (z = console.debug) == null || z.call(console, x); + const v = await Pf(t.asset.id); + v != null && v.ok && (o.value = String((v == null ? void 0 : v.data) || "").trim()); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } finally { a.value = !1, l.value = "Generate"; } } } - async function G() { - var z; + async function x() { + var T; if (f.value) try { await navigator.clipboard.writeText(g.value), r.value = "Copied!", setTimeout(() => { r.value = "Copy"; }, 900); - } catch (x) { - (z = console.debug) == null || z.call(console, x); + } catch (v) { + (T = console.debug) == null || T.call(console, v); } } - return an( + return cn( () => t.asset, () => { - var z; - n.value = 0, i.value = 0, o.value = String(((z = t.asset) == null ? void 0 : z.enhanced_caption) || "").trim(), r.value = "Copy", l.value = "Generate"; + var T; + n.value = 0, i.value = 0, o.value = String(((T = t.asset) == null ? void 0 : T.enhanced_caption) || "").trim(), r.value = "Copy", l.value = "Generate"; }, { immediate: !0 } - ), an( + ), cn( () => { - var z; - return [(z = t.asset) == null ? void 0 : z.id, M.value.kind, M.value.showAlignment, Z.value]; + var T; + return [(T = t.asset) == null ? void 0 : T.id, S.value.kind, S.value.showAlignment, A.value]; }, () => { y(); }, { immediate: !0 } - ), (z, x) => M.value.kind !== "empty" ? (Ie(), he("div", pj, [ - M.value.workflowType ? (Ie(), he("div", yj, [ - x[4] || (x[4] = ne("span", { style: { opacity: "0.85" } }, "Workflow Type", -1)), - ne("span", { - title: `Workflow engine: ${M.value.workflowType}`, + ), (T, v) => S.value.kind !== "empty" ? (be(), Ce("div", hj, [ + S.value.workflowType ? (be(), Ce("div", Cj, [ + v[4] || (v[4] = ie("span", { style: { opacity: "0.85" } }, "Workflow Type", -1)), + ie("span", { + title: `Workflow engine: ${S.value.workflowType}`, style: { background: "#2196F3", color: "white", padding: "2px 6px", "border-radius": "3px", "font-weight": "bold", "font-size": "10px" } - }, Ye(M.value.workflowType), 9, fj) - ])) : yt("", !0), - M.value.isTruncated ? (Ie(), he("div", { + }, Ye(S.value.workflowType), 9, Zj) + ])) : ft("", !0), + S.value.isTruncated ? (be(), Ce("div", { key: 1, - style: vt(I("#FF9800", { emphasis: !0, startAlpha: 0.12, endAlpha: 0.08 })) - }, [...x[5] || (x[5] = [ - ne("div", { style: { "font-size": "11px", "font-weight": "600", color: "#FF9800", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, " Metadata Truncated ", -1), - ne("div", { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, " Generation data is incomplete because it exceeded the size limit. ", -1) - ])], 4)) : yt("", !0), - M.value.kind === "media-only" ? (Ie(), he("div", { + style: Lt(I("#FF9800", { emphasis: !0, startAlpha: 0.12, endAlpha: 0.08 })) + }, [...v[5] || (v[5] = [ + ie("div", { style: { "font-size": "11px", "font-weight": "600", color: "#FF9800", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, " Metadata Truncated ", -1), + ie("div", { style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word" } }, " Generation data is incomplete because it exceeded the size limit. ", -1) + ])], 4)) : ft("", !0), + S.value.kind === "media-only" ? (be(), Ce("div", { key: 2, - style: vt(I("#9E9E9E", { emphasis: !0, startAlpha: 0.1, endAlpha: 0.06 })) + style: Lt(I("#9E9E9E", { emphasis: !0, startAlpha: 0.1, endAlpha: 0.06 })) }, [ - x[6] || (x[6] = ne("div", { style: { "font-size": "11px", "font-weight": "600", color: "#9E9E9E", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, " Generation Data ", -1)), - ne("div", hj, Ye(M.value.mediaOnlyMessage), 1) - ], 4)) : yt("", !0), - M.value.kind === "full" ? (Ie(), he(Xt, { key: 3 }, [ - M.value.promptTabs.length ? (Ie(), he("div", { + v[6] || (v[6] = ie("div", { style: { "font-size": "11px", "font-weight": "600", color: "#9E9E9E", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, " Generation Data ", -1)), + ie("div", Aj, Ye(S.value.mediaOnlyMessage), 1) + ], 4)) : ft("", !0), + S.value.kind === "full" ? (be(), Ce(Nt, { key: 3 }, [ + S.value.promptTabs.length ? (be(), Ce("div", { key: 0, - style: vt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) + style: Lt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) }, [ - ne("div", Cj, " Prompt Pipeline (" + Ye(M.value.promptTabs.length) + " variants) ", 1), - ne("div", Zj, [ - (Ie(!0), he(Xt, null, Cn(M.value.promptTabs, (w, X) => (Ie(), he("button", { + ie("div", Wj, " Prompt Pipeline (" + Ye(S.value.promptTabs.length) + " variants) ", 1), + ie("div", wj, [ + (be(!0), Ce(Nt, null, Cn(S.value.promptTabs, (w, R) => (be(), Ce("button", { key: w.label, type: "button", - style: vt({ + style: Lt({ appearance: "none", - border: n.value === X ? "1px solid #4CAF50" : "1px solid var(--border-color, rgba(255,255,255,0.12))", + border: n.value === R ? "1px solid #4CAF50" : "1px solid var(--border-color, rgba(255,255,255,0.12))", borderRadius: "999px", - background: n.value === X ? "#4CAF5033" : "rgba(127,127,127,0.12)", - color: n.value === X ? "#4CAF50" : "var(--fg-color, #ddd)", + background: n.value === R ? "#4CAF5033" : "rgba(127,127,127,0.12)", + color: n.value === R ? "#4CAF50" : "var(--fg-color, #ddd)", fontSize: "11px", padding: "4px 10px", cursor: "pointer", - fontWeight: n.value === X ? "700" : "500", - boxShadow: n.value === X ? "0 0 0 1px #4CAF5055 inset" : "none" + fontWeight: n.value === R ? "700" : "500", + boxShadow: n.value === R ? "0 0 0 1px #4CAF5055 inset" : "none" }), - onClick: (V) => n.value = X - }, Ye(w.label), 13, Aj))), 128)) + onClick: (Y) => n.value = R + }, Ye(w.label), 13, Mj))), 128)) ]), - (Ie(!0), he(Xt, null, Cn(M.value.promptTabs, (w, X) => Bo((Ie(), he("div", { + (be(!0), Ce(Nt, null, Cn(S.value.promptTabs, (w, R) => Ko((be(), Ce("div", { key: `${w.label}-panel`, style: { display: "flex", "flex-direction": "column", gap: "8px", border: "1px solid rgba(76, 175, 80, 0.35)", "border-radius": "6px", background: "linear-gradient(135deg, rgba(76, 175, 80, 0.12) 0%, rgba(33, 150, 243, 0.08) 100%)", "box-shadow": "0 0 0 1px rgba(76, 175, 80, 0.12) inset", padding: "10px" } }, [ - x[8] || (x[8] = ne("div", { style: { "font-size": "10px", "font-weight": "700", color: "#4CAF50", "letter-spacing": "0.4px" } }, " POSITIVE ", -1)), - ne("div", { + v[8] || (v[8] = ie("div", { style: { "font-size": "10px", "font-weight": "700", color: "#4CAF50", "letter-spacing": "0.4px" } }, " POSITIVE ", -1)), + ie("div", { style: { "font-size": "12px", color: "var(--fg-color, #ddd)", "white-space": "pre-wrap", "line-height": "1.35", cursor: "pointer" }, - onClick: (V) => C(w.positive, V.currentTarget) - }, Ye(w.positive), 9, Wj), - w.negative ? (Ie(), he(Xt, { key: 0 }, [ - x[7] || (x[7] = ne("div", { style: { "font-size": "10px", "font-weight": "700", color: "#F44336", "letter-spacing": "0.4px", "margin-top": "4px" } }, " NEGATIVE ", -1)), - ne("div", { + onClick: (Y) => h(w.positive, Y.currentTarget) + }, Ye(w.positive), 9, Sj), + w.negative ? (be(), Ce(Nt, { key: 0 }, [ + v[7] || (v[7] = ie("div", { style: { "font-size": "10px", "font-weight": "700", color: "#F44336", "letter-spacing": "0.4px", "margin-top": "4px" } }, " NEGATIVE ", -1)), + ie("div", { style: { "font-size": "12px", color: "var(--fg-color, #ddd)", "white-space": "pre-wrap", "line-height": "1.35", cursor: "pointer" }, - onClick: (V) => C(w.negative, V.currentTarget) - }, Ye(w.negative), 9, wj) - ], 64)) : yt("", !0) + onClick: (Y) => h(w.negative, Y.currentTarget) + }, Ye(w.negative), 9, Gj) + ], 64)) : ft("", !0) ])), [ - [br, n.value === X] + [yr, n.value === R] ])), 128)) - ], 4)) : M.value.positivePrompt ? (Ie(), he("div", { + ], 4)) : S.value.positivePrompt ? (be(), Ce("div", { key: 1, - style: vt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) + style: Lt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) }, [ - x[9] || (x[9] = ne("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#4CAF50", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ - ne("span", null, "Positive Prompt") + v[9] || (v[9] = ie("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#4CAF50", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ + ie("span", null, "Positive Prompt") ], -1)), - ne("div", { + ie("div", { title: "Click to copy", style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word", cursor: "pointer" }, - onClick: x[0] || (x[0] = (w) => C(M.value.positivePrompt, w.currentTarget)) - }, Ye(M.value.positivePrompt), 1) - ], 4)) : yt("", !0), - !M.value.promptTabs.length && M.value.negativePrompt ? (Ie(), he("div", { + onClick: v[0] || (v[0] = (w) => h(S.value.positivePrompt, w.currentTarget)) + }, Ye(S.value.positivePrompt), 1) + ], 4)) : ft("", !0), + !S.value.promptTabs.length && S.value.negativePrompt ? (be(), Ce("div", { key: 2, - style: vt(I("#F44336", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) + style: Lt(I("#F44336", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) }, [ - x[10] || (x[10] = ne("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#F44336", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ - ne("span", null, "Negative Prompt") + v[10] || (v[10] = ie("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#F44336", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ + ie("span", null, "Negative Prompt") ], -1)), - ne("div", { + ie("div", { title: "Click to copy", style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word", cursor: "pointer" }, - onClick: x[1] || (x[1] = (w) => C(M.value.negativePrompt, w.currentTarget)) - }, Ye(M.value.negativePrompt), 1) - ], 4)) : yt("", !0) - ], 64)) : yt("", !0), - A.value ? (Ie(), he("div", { + onClick: v[1] || (v[1] = (w) => h(S.value.negativePrompt, w.currentTarget)) + }, Ye(S.value.negativePrompt), 1) + ], 4)) : ft("", !0) + ], 64)) : ft("", !0), + C.value ? (be(), Ce("div", { key: 4, style: { background: "linear-gradient(135deg, rgba(0, 188, 212, 0.14) 0%, rgba(33, 150, 243, 0.10) 100%)", border: "1px solid rgba(0, 188, 212, 0.40)", "border-radius": "6px", padding: "12px", display: "flex", "flex-direction": "column", gap: "10px" }, - class: Zn({ "mjr-ai-disabled-block": !Z.value }) + class: Zn({ "mjr-ai-disabled-block": !A.value }) }, [ - M.value.showAlignment ? (Ie(), he(Xt, { key: 0 }, [ - x[11] || (x[11] = ne("div", { style: { "font-size": "11px", "font-weight": "600", color: "#00BCD4", "text-transform": "uppercase", "letter-spacing": "0.5px", display: "flex", "align-items": "center", "justify-content": "space-between" } }, [ - ne("span", { title: "How closely the generated image matches the prompt (SigLIP2 score)" }, " Prompt Alignment ") + S.value.showAlignment ? (be(), Ce(Nt, { key: 0 }, [ + v[11] || (v[11] = ie("div", { style: { "font-size": "11px", "font-weight": "600", color: "#00BCD4", "text-transform": "uppercase", "letter-spacing": "0.5px", display: "flex", "align-items": "center", "justify-content": "space-between" } }, [ + ie("span", { title: "How closely the generated image matches the prompt (SigLIP2 score)" }, " Prompt Alignment ") ], -1)), - ne("div", Mj, [ - ne("div", Sj, [ - ne("div", { - style: vt({ + ie("div", xj, [ + ie("div", jj, [ + ie("div", { + style: Lt({ height: "100%", width: c.value.fillWidth, background: c.value.fillColor, @@ -39617,8 +39675,8 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { }) }, null, 4) ]), - ne("span", { - style: vt({ + ie("span", { + style: Lt({ fontSize: "13px", fontWeight: "700", color: c.value.scoreColor, @@ -39627,8 +39685,8 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { fontFamily: "'Consolas', 'Monaco', monospace" }) }, Ye(c.value.scoreText), 5), - ne("span", { - style: vt({ + ie("span", { + style: Lt({ fontSize: "9px", fontWeight: "700", padding: "2px 6px", @@ -39640,30 +39698,30 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { }) }, Ye(c.value.qualityText), 5) ]), - c.value.aiStatusVisible ? (Ie(), he("div", Gj, Ye(c.value.aiStatusText), 1)) : yt("", !0) - ], 64)) : yt("", !0), - ne("div", xj, [ - ne("span", jj, Ye(M.value.captionLabel), 1), - ne("div", vj, [ - ne("button", { + c.value.aiStatusVisible ? (be(), Ce("div", vj, Ye(c.value.aiStatusText), 1)) : ft("", !0) + ], 64)) : ft("", !0), + ie("div", Lj, [ + ie("span", Vj, Ye(S.value.captionLabel), 1), + ie("div", Yj, [ + ie("button", { type: "button", class: "mjr-ai-control", - disabled: !h.value || a.value, - style: vt([{ border: "1px solid rgba(0,188,212,0.45)", background: "rgba(0,188,212,0.12)", color: "#00BCD4", "border-radius": "4px", "font-size": "10px", "font-weight": "600", padding: "2px 8px", cursor: "pointer" }, { opacity: h.value ? "1" : "0.6", cursor: h.value ? "pointer" : "default" }]), - onClick: Fn(k, ["stop"]) - }, Ye(l.value), 13, Lj), - ne("button", { + disabled: !Z.value || a.value, + style: Lt([{ border: "1px solid rgba(0,188,212,0.45)", background: "rgba(0,188,212,0.12)", color: "#00BCD4", "border-radius": "4px", "font-size": "10px", "font-weight": "600", padding: "2px 8px", cursor: "pointer" }, { opacity: Z.value ? "1" : "0.6", cursor: Z.value ? "pointer" : "default" }]), + onClick: On(X, ["stop"]) + }, Ye(l.value), 13, kj), + ie("button", { type: "button", class: "mjr-ai-control", disabled: !f.value, - style: vt([{ border: "1px solid rgba(0,188,212,0.45)", background: "rgba(0,188,212,0.12)", color: "#00BCD4", "border-radius": "4px", "font-size": "10px", "font-weight": "600", padding: "2px 8px", cursor: "pointer" }, { opacity: f.value ? "1" : "0.6", cursor: f.value ? "pointer" : "default" }]), - onClick: Fn(G, ["stop"]) - }, Ye(r.value), 13, Yj) + style: Lt([{ border: "1px solid rgba(0,188,212,0.45)", background: "rgba(0,188,212,0.12)", color: "#00BCD4", "border-radius": "4px", "font-size": "10px", "font-weight": "600", padding: "2px 8px", cursor: "pointer" }, { opacity: f.value ? "1" : "0.6", cursor: f.value ? "pointer" : "default" }]), + onClick: On(x, ["stop"]) + }, Ye(r.value), 13, Xj) ]) ]), - ne("div", { - title: Z.value ? "Click to copy caption" : "AI caption controls are disabled", - style: vt({ + ie("div", { + title: A.value ? "Click to copy caption" : "AI caption controls are disabled", + style: Lt({ marginTop: "4px", padding: "8px", borderRadius: "6px", @@ -39676,66 +39734,66 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { wordBreak: "break-word", cursor: f.value ? "copy" : "default" }), - onClick: G - }, Ye(g.value), 13, Vj) - ], 2)) : yt("", !0), - M.value.lyrics ? (Ie(), he("div", { + onClick: x + }, Ye(g.value), 13, Nj) + ], 2)) : ft("", !0), + S.value.lyrics ? (be(), Ce("div", { key: 5, - style: vt(I("#00BCD4", { emphasis: !1 })) + style: Lt(I("#00BCD4", { emphasis: !1 })) }, [ - x[12] || (x[12] = ne("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#00BCD4", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ - ne("span", null, "Lyrics") + v[12] || (v[12] = ie("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#00BCD4", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ + ie("span", null, "Lyrics") ], -1)), - ne("div", kj, Ye(M.value.lyrics), 1) - ], 4)) : yt("", !0), - M.value.pipelineTabs.length ? (Ie(), he("div", { + ie("div", Rj, Ye(S.value.lyrics), 1) + ], 4)) : ft("", !0), + S.value.pipelineTabs.length ? (be(), Ce("div", { key: 6, - style: vt(I("#FF9800", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) + style: Lt(I("#FF9800", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) }, [ - x[13] || (x[13] = ne("div", { style: { "font-size": "11px", "font-weight": "600", color: "#FF9800", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "10px" } }, " Generation Pipeline ", -1)), - ne("div", Xj, [ - (Ie(!0), he(Xt, null, Cn(M.value.pipelineTabs, (w, X) => (Ie(), he("button", { + v[13] || (v[13] = ie("div", { style: { "font-size": "11px", "font-weight": "600", color: "#FF9800", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "10px" } }, " Generation Pipeline ", -1)), + ie("div", Fj, [ + (be(!0), Ce(Nt, null, Cn(S.value.pipelineTabs, (w, R) => (be(), Ce("button", { key: w.label, type: "button", - style: vt({ + style: Lt({ appearance: "none", - border: i.value === X ? "1px solid #FF9800" : "1px solid var(--border-color, rgba(255,255,255,0.12))", + border: i.value === R ? "1px solid #FF9800" : "1px solid var(--border-color, rgba(255,255,255,0.12))", borderRadius: "999px", - background: i.value === X ? "#FF980033" : "rgba(127,127,127,0.12)", - color: i.value === X ? "#FF9800" : "var(--fg-color, #ddd)", + background: i.value === R ? "#FF980033" : "rgba(127,127,127,0.12)", + color: i.value === R ? "#FF9800" : "var(--fg-color, #ddd)", fontSize: "11px", padding: "4px 10px", cursor: "pointer", - fontWeight: i.value === X ? "700" : "500", - boxShadow: i.value === X ? "0 0 0 1px #FF980055 inset" : "none" + fontWeight: i.value === R ? "700" : "500", + boxShadow: i.value === R ? "0 0 0 1px #FF980055 inset" : "none" }), - onClick: (V) => i.value = X - }, Ye(w.label), 13, Nj))), 128)) + onClick: (Y) => i.value = R + }, Ye(w.label), 13, Oj))), 128)) ]), - (Ie(!0), he(Xt, null, Cn(M.value.pipelineTabs, (w, X) => Bo((Ie(), he("div", { + (be(!0), Ce(Nt, null, Cn(S.value.pipelineTabs, (w, R) => Ko((be(), Ce("div", { key: `${w.label}-pipeline`, style: { display: "grid", "grid-template-columns": "repeat(auto-fit, minmax(150px, 1fr))", gap: "8px", padding: "8px", border: "1px solid rgba(255, 152, 0, 0.35)", "border-radius": "6px", background: "linear-gradient(135deg, rgba(255, 152, 0, 0.12) 0%, rgba(255, 193, 7, 0.08) 100%)", "box-shadow": "0 0 0 1px rgba(255, 152, 0, 0.12) inset" } }, [ - (Ie(!0), he(Xt, null, Cn(w.fields, (V) => (Ie(), he("div", { - key: `${w.label}-${V.label}`, + (be(!0), Ce(Nt, null, Cn(w.fields, (Y) => (be(), Ce("div", { + key: `${w.label}-${Y.label}`, style: { display: "flex", "flex-direction": "column", gap: "2px", "min-width": "0" } }, [ - ne("span", Rj, Ye(V.label), 1), - ne("span", { + ie("span", zj, Ye(Y.label), 1), + ie("span", { style: { "font-size": "12px", color: "var(--fg-color, #ddd)", "word-break": "break-word", padding: "1px 3px", "border-radius": "3px", transition: "background 0.2s ease", cursor: "copy" }, - onClick: (R) => C(V.value, R.currentTarget) - }, Ye(V.value), 9, Fj) + onClick: (F) => h(Y.value, F.currentTarget) + }, Ye(Y.value), 9, Jj) ]))), 128)) ])), [ - [br, i.value === X] + [yr, i.value === R] ])), 128)) - ], 4)) : yt("", !0), - (Ie(!0), he(Xt, null, Cn(b.value, (w) => (Ie(), he("div", { + ], 4)) : ft("", !0), + (be(!0), Ce(Nt, null, Cn(b.value, (w) => (be(), Ce("div", { key: w.key, - style: vt(I(w.accent, { emphasis: w.emphasis })) + style: Lt(I(w.accent, { emphasis: w.emphasis })) }, [ - ne("div", { - style: vt({ + ie("div", { + style: Lt({ fontSize: "11px", fontWeight: "600", color: w.accent, @@ -39744,71 +39802,71 @@ const dj = ["title"], uj = ["src"], mj = ["src"], gj = { marginBottom: "10px" }) }, Ye(w.title), 5), - ne("div", Oj, [ - (Ie(!0), he(Xt, null, Cn(w.fields, (X) => (Ie(), he(Xt, { - key: `${w.key}-${X.label}` + ie("div", Tj, [ + (be(!0), Ce(Nt, null, Cn(w.fields, (R) => (be(), Ce(Nt, { + key: `${w.key}-${R.label}` }, [ - ne("div", { - title: X.label, + ie("div", { + title: R.label, style: { "font-size": "11px", color: "var(--mjr-muted, rgba(127,127,127,0.9))", "font-weight": "500" } - }, Ye(X.label) + ": ", 9, zj), - ne("div", { - title: `${X.label}: ${X.value}`, + }, Ye(R.label) + ": ", 9, Bj), + ie("div", { + title: `${R.label}: ${R.value}`, style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.95))", "word-break": "break-word", "white-space": "pre-wrap", cursor: "pointer" }, - onClick: (V) => C(X.value, V.currentTarget) - }, Ye(X.value), 9, Jj) + onClick: (Y) => h(R.value, Y.currentTarget) + }, Ye(R.value), 9, Uj) ], 64))), 128)) ]) ], 4))), 128)), - M.value.ttsInstruction ? (Ie(), he("div", { + S.value.ttsInstruction ? (be(), Ce("div", { key: 7, - style: vt(I("#26A69A", { emphasis: !1 })) + style: Lt(I("#26A69A", { emphasis: !1 })) }, [ - x[14] || (x[14] = ne("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#26A69A", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ - ne("span", null, "TTS Instruction") + v[14] || (v[14] = ie("div", { style: { display: "flex", "justify-content": "space-between", "align-items": "center", "font-size": "11px", "font-weight": "600", color: "#26A69A", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } }, [ + ie("span", null, "TTS Instruction") ], -1)), - ne("div", { + ie("div", { title: "Click to copy", style: { "font-size": "12px", color: "var(--fg-color, rgba(255,255,255,0.9))", "line-height": "1.5", "white-space": "pre-wrap", "word-break": "break-word", cursor: "pointer" }, - onClick: x[2] || (x[2] = (w) => C(M.value.ttsInstruction, w.currentTarget)) - }, Ye(M.value.ttsInstruction), 1) - ], 4)) : yt("", !0), - M.value.seed !== null && M.value.seed !== void 0 && M.value.seed !== "" ? (Ie(), he("div", { + onClick: v[2] || (v[2] = (w) => h(S.value.ttsInstruction, w.currentTarget)) + }, Ye(S.value.ttsInstruction), 1) + ], 4)) : ft("", !0), + S.value.seed !== null && S.value.seed !== void 0 && S.value.seed !== "" ? (be(), Ce("div", { key: 8, - style: vt(p()) + style: Lt(p()) }, [ - x[15] || (x[15] = ne("div", { style: { "font-size": "11px", "font-weight": "700", color: "#E91E63", "text-transform": "uppercase", "letter-spacing": "1px" } }, " SEED ", -1)), - ne("div", { - title: `Click to copy seed: ${M.value.seed}`, + v[15] || (v[15] = ie("div", { style: { "font-size": "11px", "font-weight": "700", color: "#E91E63", "text-transform": "uppercase", "letter-spacing": "1px" } }, " SEED ", -1)), + ie("div", { + title: `Click to copy seed: ${S.value.seed}`, style: { "font-size": "18px", "font-weight": "700", color: "#fff", "font-family": "'Consolas', 'Monaco', monospace", "letter-spacing": "1px", cursor: "pointer", padding: "4px 8px", "border-radius": "4px", transition: "background 0.2s" }, - onClick: x[3] || (x[3] = (w) => C(M.value.seed, w.currentTarget, "rgba(76, 175, 80, 0.4)")) - }, Ye(M.value.seed), 9, Tj) - ], 4)) : yt("", !0), - M.value.inputFiles.length ? (Ie(), he("div", { + onClick: v[3] || (v[3] = (w) => h(S.value.seed, w.currentTarget, "rgba(76, 175, 80, 0.4)")) + }, Ye(S.value.seed), 9, Kj) + ], 4)) : ft("", !0), + S.value.inputFiles.length ? (be(), Ce("div", { key: 9, - style: vt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) + style: Lt(I("#4CAF50", { emphasis: !0, startAlpha: 0.16, endAlpha: 0.1 })) }, [ - ne("div", { - title: Ge(m)("tooltip.generationInputs", "Input files used in generation"), + ie("div", { + title: xe(m)("tooltip.generationInputs", "Input files used in generation"), style: { "font-size": "11px", "font-weight": "600", color: "#4CAF50", "text-transform": "uppercase", "letter-spacing": "0.5px", "margin-bottom": "8px" } - }, " Source Files ", 8, Bj), - ne("div", Uj, [ - (Ie(!0), he(Xt, null, Cn(M.value.inputFiles, (w) => (Ie(), Ei(bj, { + }, " Source Files ", 8, Dj), + ie("div", Ej, [ + (be(!0), Ce(Nt, null, Cn(S.value.inputFiles, (w) => (be(), Pi(fj, { key: w.id, "input-file": w }, null, 8, ["input-file"]))), 128)) ]) - ], 4)) : yt("", !0) - ])) : yt("", !0); + ], 4)) : ft("", !0) + ])) : ft("", !0); } -}, Dj = 6, Ej = 1, Hj = 8, Br = (e, t, n) => { +}, qj = 6, Pj = 1, Qj = 8, Kr = (e, t, n) => { const i = Number(e); return Number.isFinite(i) ? Math.max(t, Math.min(n, i)) : t; }; -function qj(e, t, n = null) { - var T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe; +function _j(e, t, n = null) { + var P, H, $, E, oe, M, j, O, D, q, ee, ce, ue; if (!e) return; - const i = (T = e.getContext) == null ? void 0 : T.call(e, "2d"); + const i = (P = e.getContext) == null ? void 0 : P.call(e, "2d"); if (!i) return; const o = { nodeColors: !0, @@ -39819,273 +39877,273 @@ function qj(e, t, n = null) { showViewport: !0, showNodeLabels: !1, ...n && typeof n == "object" ? n : {} - }, r = Array.isArray(t == null ? void 0 : t.nodes) ? t.nodes : [], l = Array.isArray(t == null ? void 0 : t.groups) && t.groups || Array.isArray((D = t == null ? void 0 : t.extra) == null ? void 0 : D.groups) && t.extra.groups || Array.isArray((Q = t == null ? void 0 : t.extra) == null ? void 0 : Q.groupNodes) && t.extra.groupNodes || Array.isArray((E = t == null ? void 0 : t.extra) == null ? void 0 : E.group_nodes) && t.extra.group_nodes || [], a = Array.isArray(t == null ? void 0 : t.links) && t.links || Array.isArray((K = t == null ? void 0 : t.extra) == null ? void 0 : K.links) && t.extra.links || [], c = Math.max(1, e.clientWidth || e.width || 1), s = Math.max(1, e.clientHeight || e.height || 1); + }, r = Array.isArray(t == null ? void 0 : t.nodes) ? t.nodes : [], l = Array.isArray(t == null ? void 0 : t.groups) && t.groups || Array.isArray((H = t == null ? void 0 : t.extra) == null ? void 0 : H.groups) && t.extra.groups || Array.isArray(($ = t == null ? void 0 : t.extra) == null ? void 0 : $.groupNodes) && t.extra.groupNodes || Array.isArray((E = t == null ? void 0 : t.extra) == null ? void 0 : E.group_nodes) && t.extra.group_nodes || [], a = Array.isArray(t == null ? void 0 : t.links) && t.links || Array.isArray((oe = t == null ? void 0 : t.extra) == null ? void 0 : oe.links) && t.extra.links || [], c = Math.max(1, e.clientWidth || e.width || 1), s = Math.max(1, e.clientHeight || e.height || 1); if ((!r || r.length === 0) && (!l || l.length === 0)) return i.clearRect(0, 0, c, s), null; - const d = (H, $) => { - if (!H) return `rgba(255,255,255,${$})`; - if (typeof H != "string") return `rgba(255,255,255,${$})`; - const _ = H.trim(); - if (!_) return `rgba(255,255,255,${$})`; + const d = (U, Q) => { + if (!U) return `rgba(255,255,255,${Q})`; + if (typeof U != "string") return `rgba(255,255,255,${Q})`; + const _ = U.trim(); + if (!_) return `rgba(255,255,255,${Q})`; const le = _.match(/^rgba?\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*([0-9.]+))?\)\s*$/i); if (le) { - const de = Number(le[1]), Ze = Number(le[2]), Fe = Number(le[3]); - if ([de, Ze, Fe].every((xe) => Number.isFinite(xe))) return `rgba(${de},${Ze},${Fe},${$})`; + const se = Number(le[1]), ge = Number(le[2]), je = Number(le[3]); + if ([se, ge, je].every((Se) => Number.isFinite(Se))) return `rgba(${se},${ge},${je},${Q})`; } - const se = _.startsWith("#") ? _.slice(1) : ""; - if (se.length === 3) { - const de = parseInt(se[0] + se[0], 16), Ze = parseInt(se[1] + se[1], 16), Fe = parseInt(se[2] + se[2], 16); - if ([de, Ze, Fe].every((xe) => Number.isFinite(xe))) return `rgba(${de},${Ze},${Fe},${$})`; + const de = _.startsWith("#") ? _.slice(1) : ""; + if (de.length === 3) { + const se = parseInt(de[0] + de[0], 16), ge = parseInt(de[1] + de[1], 16), je = parseInt(de[2] + de[2], 16); + if ([se, ge, je].every((Se) => Number.isFinite(Se))) return `rgba(${se},${ge},${je},${Q})`; } - if (se.length === 6) { - const de = parseInt(se.slice(0, 2), 16), Ze = parseInt(se.slice(2, 4), 16), Fe = parseInt(se.slice(4, 6), 16); - if ([de, Ze, Fe].every((xe) => Number.isFinite(xe))) return `rgba(${de},${Ze},${Fe},${$})`; + if (de.length === 6) { + const se = parseInt(de.slice(0, 2), 16), ge = parseInt(de.slice(2, 4), 16), je = parseInt(de.slice(4, 6), 16); + if ([se, ge, je].every((Se) => Number.isFinite(Se))) return `rgba(${se},${ge},${je},${Q})`; } return _; - }, u = [], I = /* @__PURE__ */ new Map(), p = (H) => { - if (Array.isArray(H) && H.length >= 2) return [Number(H[0]), Number(H[1])]; - if (H && typeof H == "object") { - const $ = H[0] ?? H[0] ?? H.x ?? H.left ?? null, _ = H[1] ?? H[1] ?? H.y ?? H.top ?? null; - if ($ !== null && _ !== null) return [Number($), Number(_)]; + }, u = [], I = /* @__PURE__ */ new Map(), p = (U) => { + if (Array.isArray(U) && U.length >= 2) return [Number(U[0]), Number(U[1])]; + if (U && typeof U == "object") { + const Q = U[0] ?? U[0] ?? U.x ?? U.left ?? null, _ = U[1] ?? U[1] ?? U.y ?? U.top ?? null; + if (Q !== null && _ !== null) return [Number(Q), Number(_)]; } return null; - }, M = (H) => { - if (Array.isArray(H) && H.length >= 2) return [Number(H[0]), Number(H[1])]; - if (H && typeof H == "object") { - const $ = H[0] ?? H[0] ?? H.w ?? H.width ?? null, _ = H[1] ?? H[1] ?? H.h ?? H.height ?? null; - if ($ !== null && _ !== null) return [Number($), Number(_)]; + }, S = (U) => { + if (Array.isArray(U) && U.length >= 2) return [Number(U[0]), Number(U[1])]; + if (U && typeof U == "object") { + const Q = U[0] ?? U[0] ?? U.w ?? U.width ?? null, _ = U[1] ?? U[1] ?? U.h ?? U.height ?? null; + if (Q !== null && _ !== null) return [Number(Q), Number(_)]; } return null; }; - for (const H of r || []) { - const $ = (H == null ? void 0 : H.id) ?? (H == null ? void 0 : H.ID) ?? (H == null ? void 0 : H.node_id) ?? null, _ = $ != null ? String($) : null, le = p(H == null ? void 0 : H.pos), se = M(H == null ? void 0 : H.size); - if (!le || !se) continue; - const de = Number(le[0]), Ze = Number(le[1]), Fe = Math.max(1, Number(se[0])), xe = Math.max(1, Number(se[1])); - if (!Number.isFinite(de) || !Number.isFinite(Ze) || !Number.isFinite(Fe) || !Number.isFinite(xe)) + for (const U of r || []) { + const Q = (U == null ? void 0 : U.id) ?? (U == null ? void 0 : U.ID) ?? (U == null ? void 0 : U.node_id) ?? null, _ = Q != null ? String(Q) : null, le = p(U == null ? void 0 : U.pos), de = S(U == null ? void 0 : U.size); + if (!le || !de) continue; + const se = Number(le[0]), ge = Number(le[1]), je = Math.max(1, Number(de[0])), Se = Math.max(1, Number(de[1])); + if (!Number.isFinite(se) || !Number.isFinite(ge) || !Number.isFinite(je) || !Number.isFinite(Se)) continue; - const ze = Number(H == null ? void 0 : H.mode), We = ze === 2 || ze === 4, De = ((F = t == null ? void 0 : t.extra) == null ? void 0 : F.errors) || ((Y = t == null ? void 0 : t.extra) == null ? void 0 : Y.node_errors) || null, Qe = !!((De && typeof De == "object" && _ ? De[_] : null) || H != null && H.error || H != null && H.errors || (U = H == null ? void 0 : H.flags) != null && U.error || (P = H == null ? void 0 : H.properties) != null && P.error); + const ke = Number(U == null ? void 0 : U.mode), we = ke === 2 || ke === 4, Je = ((M = t == null ? void 0 : t.extra) == null ? void 0 : M.errors) || ((j = t == null ? void 0 : t.extra) == null ? void 0 : j.node_errors) || null, qe = !!((Je && typeof Je == "object" && _ ? Je[_] : null) || U != null && U.error || U != null && U.errors || (O = U == null ? void 0 : U.flags) != null && O.error || (D = U == null ? void 0 : U.properties) != null && D.error); u.push({ kind: "node", id: _, - x: de, - y: Ze, - w: Fe, - h: xe, - fill: o.nodeColors && ((H == null ? void 0 : H.bgcolor) || (H == null ? void 0 : H.color)) || null, - stroke: o.nodeColors && ((H == null ? void 0 : H.color) || (H == null ? void 0 : H.bgcolor)) || null, - bypassed: We, - errored: Qe, - label: String((H == null ? void 0 : H.title) || (H == null ? void 0 : H.type) || (H == null ? void 0 : H.comfyClass) || (H == null ? void 0 : H.class_type) || _ || "").replace(/\s+/g, " ").trim() + x: se, + y: ge, + w: je, + h: Se, + fill: o.nodeColors && ((U == null ? void 0 : U.bgcolor) || (U == null ? void 0 : U.color)) || null, + stroke: o.nodeColors && ((U == null ? void 0 : U.color) || (U == null ? void 0 : U.bgcolor)) || null, + bypassed: we, + errored: qe, + label: String((U == null ? void 0 : U.title) || (U == null ? void 0 : U.type) || (U == null ? void 0 : U.comfyClass) || (U == null ? void 0 : U.class_type) || _ || "").replace(/\s+/g, " ").trim() }), _ && I.set(_, u[u.length - 1]); } if (o.showGroups) - for (const H of l || []) { - const $ = Array.isArray(H == null ? void 0 : H.bounding) && H.bounding.length >= 4 ? H.bounding : null, _ = $ ? [Number($[0]), Number($[1])] : p(H == null ? void 0 : H.pos), le = $ ? [Number($[2]), Number($[3])] : M(H == null ? void 0 : H.size); + for (const U of l || []) { + const Q = Array.isArray(U == null ? void 0 : U.bounding) && U.bounding.length >= 4 ? U.bounding : null, _ = Q ? [Number(Q[0]), Number(Q[1])] : p(U == null ? void 0 : U.pos), le = Q ? [Number(Q[2]), Number(Q[3])] : S(U == null ? void 0 : U.size); if (!_ || !le) continue; - const se = Number(_[0]), de = Number(_[1]), Ze = Math.max(1, Number(le[0])), Fe = Math.max(1, Number(le[1])); - !Number.isFinite(se) || !Number.isFinite(de) || !Number.isFinite(Ze) || !Number.isFinite(Fe) || u.push({ + const de = Number(_[0]), se = Number(_[1]), ge = Math.max(1, Number(le[0])), je = Math.max(1, Number(le[1])); + !Number.isFinite(de) || !Number.isFinite(se) || !Number.isFinite(ge) || !Number.isFinite(je) || u.push({ kind: "group", - x: se, - y: de, - w: Ze, - h: Fe, - fill: (H == null ? void 0 : H.color) || (H == null ? void 0 : H.bgcolor) || (H == null ? void 0 : H.borderColor) || null, - stroke: (H == null ? void 0 : H.borderColor) || (H == null ? void 0 : H.color) || (H == null ? void 0 : H.bgcolor) || null + x: de, + y: se, + w: ge, + h: je, + fill: (U == null ? void 0 : U.color) || (U == null ? void 0 : U.bgcolor) || (U == null ? void 0 : U.borderColor) || null, + stroke: (U == null ? void 0 : U.borderColor) || (U == null ? void 0 : U.color) || (U == null ? void 0 : U.bgcolor) || null }); } if (!u.length) return i.clearRect(0, 0, c, s), null; - let Z = u[0].x, A = u[0].y, g = u[0].x + u[0].w, h = u[0].y + u[0].h; - for (const H of u) - Z = Math.min(Z, H.x), A = Math.min(A, H.y), g = Math.max(g, H.x + H.w), h = Math.max(h, H.y + H.h); - const f = Math.max(1, g - Z), b = Math.max(1, h - A), v = Z + f / 2, C = A + b / 2, S = o.view && typeof o.view == "object" ? o.view : /* @__PURE__ */ Object.create(null), W = Br(S.zoom ?? 1, Ej, Hj), y = Math.max(1, f / W), k = Math.max(1, b / W), G = y / 2, z = k / 2, x = y >= f ? v : Br(S.centerX ?? v, Z + G, g - G), w = k >= b ? C : Br(S.centerY ?? C, A + z, h - z), X = x - G, V = w - z, R = Dj, j = Math.min((c - R * 2) / y, (s - R * 2) / k), L = S.hoveredNodeId !== null && S.hoveredNodeId !== void 0 ? String(S.hoveredNodeId) : null; + let A = u[0].x, C = u[0].y, g = u[0].x + u[0].w, Z = u[0].y + u[0].h; + for (const U of u) + A = Math.min(A, U.x), C = Math.min(C, U.y), g = Math.max(g, U.x + U.w), Z = Math.max(Z, U.y + U.h); + const f = Math.max(1, g - A), b = Math.max(1, Z - C), L = A + f / 2, h = C + b / 2, G = o.view && typeof o.view == "object" ? o.view : /* @__PURE__ */ Object.create(null), W = Kr(G.zoom ?? 1, Pj, Qj), y = Math.max(1, f / W), X = Math.max(1, b / W), x = y / 2, T = X / 2, v = y >= f ? L : Kr(G.centerX ?? L, A + x, g - x), w = X >= b ? h : Kr(G.centerY ?? h, C + T, Z - T), R = v - x, Y = w - T, F = qj, N = Math.min((c - F * 2) / y, (s - F * 2) / X), V = G.hoveredNodeId !== null && G.hoveredNodeId !== void 0 ? String(G.hoveredNodeId) : null; i.clearRect(0, 0, c, s), i.fillStyle = "rgba(0,0,0,0.22)", i.fillRect(0, 0, c, s); - const N = (H, $) => ({ - x: R + (H - X) * j, - y: R + ($ - V) * j - }), q = (H, $) => ({ - x: Br(X + (Number(H) - R) / j, Z, g), - y: Br(V + (Number($) - R) / j, A, h) - }), O = () => { + const k = (U, Q) => ({ + x: F + (U - R) * N, + y: F + (Q - Y) * N + }), K = (U, Q) => ({ + x: Kr(R + (Number(U) - F) / N, A, g), + y: Kr(Y + (Number(Q) - F) / N, C, Z) + }), z = () => { if (o.showLinks && !(!a || a.length === 0)) { i.save(), i.globalAlpha = 1, i.strokeStyle = "rgba(255,255,255,0.18)", i.lineWidth = 1; - for (const H of a) { - let $ = null, _ = null; - if (Array.isArray(H) && H.length >= 4 ? ($ = H[1], _ = H[3]) : H && typeof H == "object" && ($ = H.origin_id ?? H.originId ?? H.from ?? null, _ = H.target_id ?? H.targetId ?? H.to ?? null), $ === null || _ === null) continue; - const le = I.get(String($)), se = I.get(String(_)); - if (!le || !se) continue; - const de = N(le.x + le.w, le.y + le.h / 2), Ze = N(se.x, se.y + se.h / 2), Fe = Math.max(12, Math.min(80, Math.abs(Ze.x - de.x) * 0.35)); - i.beginPath(), i.moveTo(de.x, de.y), i.bezierCurveTo(de.x + Fe, de.y, Ze.x - Fe, Ze.y, Ze.x, Ze.y), i.stroke(); + for (const U of a) { + let Q = null, _ = null; + if (Array.isArray(U) && U.length >= 4 ? (Q = U[1], _ = U[3]) : U && typeof U == "object" && (Q = U.origin_id ?? U.originId ?? U.from ?? null, _ = U.target_id ?? U.targetId ?? U.to ?? null), Q === null || _ === null) continue; + const le = I.get(String(Q)), de = I.get(String(_)); + if (!le || !de) continue; + const se = k(le.x + le.w, le.y + le.h / 2), ge = k(de.x, de.y + de.h / 2), je = Math.max(12, Math.min(80, Math.abs(ge.x - se.x) * 0.35)); + i.beginPath(), i.moveTo(se.x, se.y), i.bezierCurveTo(se.x + je, se.y, ge.x - je, ge.y, ge.x, ge.y), i.stroke(); } i.restore(); } - }, B = (H) => { - var Qe, Ue, Ee, Re; - const $ = R + (H.x - X) * j, _ = R + (H.y - V) * j, le = Math.max(1, H.w * j), se = Math.max(1, H.h * j), de = H.kind === "node", Ze = H.kind === "group", Fe = !!H.bypassed, xe = !!H.errored, ze = Ze ? 0.18 : Fe && o.renderBypassState ? 0.14 : 0.62, We = Ze ? 0.55 : Fe && o.renderBypassState ? 0.32 : 0.8, De = d(H.fill, ze), Pe = d(H.stroke, We); - if (i.save(), i.globalAlpha = 1, typeof De == "string" && (De.startsWith("#") || De.startsWith("rgb") || De.startsWith("hsl")) ? (i.fillStyle = De, i.globalAlpha = ze) : (i.fillStyle = typeof De == "string" ? De : "rgba(255,255,255,0.20)", i.globalAlpha = ze), i.fillRect($, _, le, se), i.restore(), i.globalAlpha = 1, i.strokeStyle = "rgba(255,255,255,0.22)", typeof Pe == "string" && (Pe.startsWith("#") || Pe.startsWith("rgb") || Pe.startsWith("hsl")) && (i.save(), i.globalAlpha = We, i.strokeStyle = Pe, i.restore()), de && Fe && o.renderBypassState) + }, B = (U) => { + var qe, Ue, Te, Oe; + const Q = F + (U.x - R) * N, _ = F + (U.y - Y) * N, le = Math.max(1, U.w * N), de = Math.max(1, U.h * N), se = U.kind === "node", ge = U.kind === "group", je = !!U.bypassed, Se = !!U.errored, ke = ge ? 0.18 : je && o.renderBypassState ? 0.14 : 0.62, we = ge ? 0.55 : je && o.renderBypassState ? 0.32 : 0.8, Je = d(U.fill, ke), $e = d(U.stroke, we); + if (i.save(), i.globalAlpha = 1, typeof Je == "string" && (Je.startsWith("#") || Je.startsWith("rgb") || Je.startsWith("hsl")) ? (i.fillStyle = Je, i.globalAlpha = ke) : (i.fillStyle = typeof Je == "string" ? Je : "rgba(255,255,255,0.20)", i.globalAlpha = ke), i.fillRect(Q, _, le, de), i.restore(), i.globalAlpha = 1, i.strokeStyle = "rgba(255,255,255,0.22)", typeof $e == "string" && ($e.startsWith("#") || $e.startsWith("rgb") || $e.startsWith("hsl")) && (i.save(), i.globalAlpha = we, i.strokeStyle = $e, i.restore()), se && je && o.renderBypassState) try { i.setLineDash([3, 2]); - } catch (wt) { - (Qe = console.debug) == null || Qe.call(console, wt); + } catch (pt) { + (qe = console.debug) == null || qe.call(console, pt); } else try { i.setLineDash([]); - } catch (wt) { - (Ue = console.debug) == null || Ue.call(console, wt); + } catch (pt) { + (Ue = console.debug) == null || Ue.call(console, pt); } - if (i.lineWidth = 1, i.strokeRect($, _, le, se), de && xe && o.renderErrorState) { + if (i.lineWidth = 1, i.strokeRect(Q, _, le, de), se && Se && o.renderErrorState) { try { i.setLineDash([]); - } catch (wt) { - (Ee = console.debug) == null || Ee.call(console, wt); + } catch (pt) { + (Te = console.debug) == null || Te.call(console, pt); } - i.strokeStyle = "rgba(244,67,54,0.95)", i.lineWidth = 1.5, i.strokeRect($ - 0.5, _ - 0.5, le + 1, se + 1); + i.strokeStyle = "rgba(244,67,54,0.95)", i.lineWidth = 1.5, i.strokeRect(Q - 0.5, _ - 0.5, le + 1, de + 1); } - if (de && L && String(H.id || "") === L) { + if (se && V && String(U.id || "") === V) { try { i.setLineDash([]); - } catch (wt) { - (Re = console.debug) == null || Re.call(console, wt); + } catch (pt) { + (Oe = console.debug) == null || Oe.call(console, pt); } - i.strokeStyle = "rgba(255,224,130,0.96)", i.lineWidth = 2, i.strokeRect($ - 1, _ - 1, le + 2, se + 2); + i.strokeStyle = "rgba(255,224,130,0.96)", i.lineWidth = 2, i.strokeRect(Q - 1, _ - 1, le + 2, de + 2); } - if (de && o.showNodeLabels && H.label && le >= 42 && se >= 12) { - const wt = Math.max(8, Math.min(11, Math.floor(se * 0.28))), Se = _ + wt + 2, Ft = Math.max(20, le - 6); - let Gt = H.label; - for (i.save(), i.beginPath(), i.rect($ + 1, _ + 1, le - 2, se - 2), i.clip(), i.font = `600 ${wt}px sans-serif`; Gt.length > 3 && i.measureText(`${Gt}...`).width > Ft; ) - Gt = Gt.slice(0, -1); - const ue = Gt === H.label ? Gt : `${Gt}...`; - i.fillStyle = "rgba(255,255,255,0.92)", i.shadowColor = "rgba(0,0,0,0.5)", i.shadowBlur = 2, i.fillText(ue, $ + 3, Se, Ft), i.restore(); + if (se && o.showNodeLabels && U.label && le >= 42 && de >= 12) { + const pt = Math.max(8, Math.min(11, Math.floor(de * 0.28))), Me = _ + pt + 2, Xt = Math.max(20, le - 6); + let Mt = U.label; + for (i.save(), i.beginPath(), i.rect(Q + 1, _ + 1, le - 2, de - 2), i.clip(), i.font = `600 ${pt}px sans-serif`; Mt.length > 3 && i.measureText(`${Mt}...`).width > Xt; ) + Mt = Mt.slice(0, -1); + const me = Mt === U.label ? Mt : `${Mt}...`; + i.fillStyle = "rgba(255,255,255,0.92)", i.shadowColor = "rgba(0,0,0,0.5)", i.shadowBlur = 2, i.fillText(me, Q + 3, Me, Xt), i.restore(); } }; - for (const H of u.filter(($) => $.kind === "group")) B(H); - O(); - for (const H of u.filter(($) => $.kind === "node")) B(H); + for (const U of u.filter((Q) => Q.kind === "group")) B(U); + z(); + for (const U of u.filter((Q) => Q.kind === "node")) B(U); if (o.showViewport) try { - const H = (window == null ? void 0 : window.app) || null, $ = ((ee = H == null ? void 0 : H.canvas) == null ? void 0 : ee.canvas) || ((oe = H == null ? void 0 : H.canvas) == null ? void 0 : oe.el) || null, _ = ((ce = H == null ? void 0 : H.canvas) == null ? void 0 : ce.ds) || null, le = Number(_ == null ? void 0 : _.scale), se = _ == null ? void 0 : _.offset, de = Array.isArray(se) ? Number(se[0]) : Number(se == null ? void 0 : se.x), Ze = Array.isArray(se) ? Number(se[1]) : Number(se == null ? void 0 : se.y), Fe = Number(($ == null ? void 0 : $.clientWidth) || ($ == null ? void 0 : $.width)), xe = Number(($ == null ? void 0 : $.clientHeight) || ($ == null ? void 0 : $.height)); - if (Number.isFinite(le) && le > 0 && Number.isFinite(de) && Number.isFinite(Ze) && Number.isFinite(Fe) && Number.isFinite(xe) && Fe > 0 && xe > 0) { - const ze = -de / le, We = -Ze / le, De = (Fe - de) / le, Pe = (xe - Ze) / le, Qe = N(ze, We), Ue = N(De, Pe), Ee = Math.min(Qe.x, Ue.x), Re = Math.min(Qe.y, Ue.y), wt = Math.abs(Ue.x - Qe.x), Se = Math.abs(Ue.y - Qe.y); - i.save(), i.globalAlpha = 1, i.strokeStyle = "rgba(255,255,255,0.9)", i.lineWidth = 1, i.strokeRect(Ee, Re, wt, Se), i.restore(); + const U = (window == null ? void 0 : window.app) || null, Q = ((q = U == null ? void 0 : U.canvas) == null ? void 0 : q.canvas) || ((ee = U == null ? void 0 : U.canvas) == null ? void 0 : ee.el) || null, _ = ((ce = U == null ? void 0 : U.canvas) == null ? void 0 : ce.ds) || null, le = Number(_ == null ? void 0 : _.scale), de = _ == null ? void 0 : _.offset, se = Array.isArray(de) ? Number(de[0]) : Number(de == null ? void 0 : de.x), ge = Array.isArray(de) ? Number(de[1]) : Number(de == null ? void 0 : de.y), je = Number((Q == null ? void 0 : Q.clientWidth) || (Q == null ? void 0 : Q.width)), Se = Number((Q == null ? void 0 : Q.clientHeight) || (Q == null ? void 0 : Q.height)); + if (Number.isFinite(le) && le > 0 && Number.isFinite(se) && Number.isFinite(ge) && Number.isFinite(je) && Number.isFinite(Se) && je > 0 && Se > 0) { + const ke = -se / le, we = -ge / le, Je = (je - se) / le, $e = (Se - ge) / le, qe = k(ke, we), Ue = k(Je, $e), Te = Math.min(qe.x, Ue.x), Oe = Math.min(qe.y, Ue.y), pt = Math.abs(Ue.x - qe.x), Me = Math.abs(Ue.y - qe.y); + i.save(), i.globalAlpha = 1, i.strokeStyle = "rgba(255,255,255,0.9)", i.lineWidth = 1, i.strokeRect(Te, Oe, pt, Me), i.restore(); } - } catch (H) { - (pe = console.debug) == null || pe.call(console, H); + } catch (U) { + (ue = console.debug) == null || ue.call(console, U); } return i.globalAlpha = 1, { bounds: { - minX: Z, - minY: A, + minX: A, + minY: C, maxX: g, - maxY: h, + maxY: Z, width: f, height: b }, resolvedView: { zoom: W, - centerX: x, + centerX: v, centerY: w, visibleW: y, - visibleH: k, - viewMinX: X, - viewMinY: V, - pad: R, - renderScale: j + visibleH: X, + viewMinX: R, + viewMinY: Y, + pad: F, + renderScale: N }, - canvasToWorld: q, - worldToCanvas: N, - hitTestNode: (H, $) => { - const _ = q(H, $); + canvasToWorld: K, + worldToCanvas: k, + hitTestNode: (U, Q) => { + const _ = K(U, Q); for (let le = u.length - 1; le >= 0; le -= 1) { - const se = u[le]; - if (se.kind === "node" && _.x >= se.x && _.x <= se.x + se.w && _.y >= se.y && _.y <= se.y + se.h) - return se; + const de = u[le]; + if (de.kind === "node" && _.x >= de.x && _.x <= de.x + de.w && _.y >= de.y && _.y <= de.y + de.h) + return de; } return null; } }; } -function Pj(e, t = null) { +function $j(e, t = null) { if (!e || typeof e != "object") return null; const n = { maxNodes: 220, ...t && typeof t == "object" ? t : {} }, i = Object.entries(e); if (!i.length) return null; - const o = [], r = [], l = /* @__PURE__ */ new Map(), a = (A) => { - if (A == null) return null; - const g = String(A); + const o = [], r = [], l = /* @__PURE__ */ new Map(), a = (C) => { + if (C == null) return null; + const g = String(C); return g || null; - }, c = (A) => Array.isArray(A) && A.length === 2 && Number.isFinite(Number(A[0])); - for (const [A, g] of i.slice(0, n.maxNodes)) { + }, c = (C) => Array.isArray(C) && C.length === 2 && Number.isFinite(Number(C[0])); + for (const [C, g] of i.slice(0, n.maxNodes)) { if (!g || typeof g != "object") continue; - const h = a(A); - if (!h) continue; - const f = String(g.class_type || g.type || g.classType || "").trim(), b = g.inputs && typeof g.inputs == "object" ? g.inputs : {}, v = []; + const Z = a(C); + if (!Z) continue; + const f = String(g.class_type || g.type || g.classType || "").trim(), b = g.inputs && typeof g.inputs == "object" ? g.inputs : {}, L = []; for (const y of Object.values(b)) { if (!c(y)) continue; - const k = a(y[0]); - k && (v.push(k), r.push([k, h])); + const X = a(y[0]); + X && (L.push(X), r.push([X, Z])); } - l.set(h, v); - const C = f.toLowerCase(); - let S = "#3a3a3a", W = "#6b6b6b"; - C.includes("ksampler") || C.includes("sampler") ? (S = "#6a4b1f", W = "#b07a2c") : C.includes("cliptext") || C.includes("textencode") || C.includes("conditioning") ? (S = "#1f5f3a", W = "#2cb06c") : C.includes("checkpoint") || C.includes("loader") || C.includes("model") ? (S = "#243a6a", W = "#3f6fd6") : (C.includes("save") || C.includes("preview") || C.includes("video")) && (S = "#4a2a5f", W = "#8c4cd1"), o.push({ - id: Number.isFinite(Number(h)) ? Number(h) : h, + l.set(Z, L); + const h = f.toLowerCase(); + let G = "#3a3a3a", W = "#6b6b6b"; + h.includes("ksampler") || h.includes("sampler") ? (G = "#6a4b1f", W = "#b07a2c") : h.includes("cliptext") || h.includes("textencode") || h.includes("conditioning") ? (G = "#1f5f3a", W = "#2cb06c") : h.includes("checkpoint") || h.includes("loader") || h.includes("model") ? (G = "#243a6a", W = "#3f6fd6") : (h.includes("save") || h.includes("preview") || h.includes("video")) && (G = "#4a2a5f", W = "#8c4cd1"), o.push({ + id: Number.isFinite(Number(Z)) ? Number(Z) : Z, type: f || "Node", pos: [0, 0], size: [180, 80], - bgcolor: S, + bgcolor: G, color: W, inputs: [], outputs: [] }); } if (!o.length) return null; - const s = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(), u = (A) => { - if (s.has(A)) return s.get(A); - if (d.has(A)) return 0; - d.add(A); + const s = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(), u = (C) => { + if (s.has(C)) return s.get(C); + if (d.has(C)) return 0; + d.add(C); let g = 0; - const h = l.get(A) || []; - for (const f of h) g = Math.max(g, u(f) + 1); - return d.delete(A), s.set(A, g), g; + const Z = l.get(C) || []; + for (const f of Z) g = Math.max(g, u(f) + 1); + return d.delete(C), s.set(C, g), g; }; - for (const A of o) u(String(A.id)); + for (const C of o) u(String(C.id)); const I = /* @__PURE__ */ new Map(); - for (const A of o) { - const g = s.get(String(A.id)) ?? 0; - I.has(g) || I.set(g, []), I.get(g).push(A); + for (const C of o) { + const g = s.get(String(C.id)) ?? 0; + I.has(g) || I.set(g, []), I.get(g).push(C); } - const p = Array.from(I.keys()).sort((A, g) => A - g); - for (const A of p) { - const g = I.get(A) || []; - g.sort((h, f) => Number(h.id) - Number(f.id)); - for (let h = 0; h < g.length; h++) - g[h].pos = [A * 220, h * 110]; + const p = Array.from(I.keys()).sort((C, g) => C - g); + for (const C of p) { + const g = I.get(C) || []; + g.sort((Z, f) => Number(Z.id) - Number(f.id)); + for (let Z = 0; Z < g.length; Z++) + g[Z].pos = [C * 220, Z * 110]; } - let M = 1; - const Z = r.filter(([A, g]) => A !== g).slice(0, 4e3).map(([A, g]) => [ - M++, - Number.isFinite(Number(A)) ? Number(A) : A, + let S = 1; + const A = r.filter(([C, g]) => C !== g).slice(0, 4e3).map(([C, g]) => [ + S++, + Number.isFinite(Number(C)) ? Number(C) : C, 0, Number.isFinite(Number(g)) ? Number(g) : g, 0, "LINK" ]); - return { id: "synthetic", nodes: o, links: Z, extra: { synthetic: !0 } }; + return { id: "synthetic", nodes: o, links: A, extra: { synthetic: !0 } }; } -const Qj = { +const ev = { key: 0, class: "mjr-sidebar-section", style: { background: "var(--comfy-menu-bg, rgba(0,0,0,0.2))", border: "1px solid var(--border-color, rgba(255,255,255,0.14))", "border-radius": "8px", padding: "12px", "min-width": "300px" } -}, _j = { style: { display: "flex", "flex-wrap": "wrap", gap: "8px", "margin-bottom": "10px" } }, $j = { style: { padding: "4px 9px", "border-radius": "999px", background: "rgba(33,150,243,0.14)", border: "1px solid rgba(33,150,243,0.30)", "font-size": "11px", "font-weight": "700", color: "#90CAF9", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, ev = { +}, tv = { style: { display: "flex", "flex-wrap": "wrap", gap: "8px", "margin-bottom": "10px" } }, nv = { style: { padding: "4px 9px", "border-radius": "999px", background: "rgba(33,150,243,0.14)", border: "1px solid rgba(33,150,243,0.30)", "font-size": "11px", "font-weight": "700", color: "#90CAF9", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, iv = { key: 0, style: { padding: "4px 9px", "border-radius": "999px", background: "rgba(255,255,255,0.06)", border: "1px solid rgba(255,255,255,0.12)", "font-size": "11px", "font-weight": "600", color: "rgba(255,255,255,0.82)" } -}, tv = { style: { display: "grid", "grid-template-columns": "repeat(3, minmax(0, 1fr))", gap: "8px", "margin-bottom": "12px" } }, nv = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, iv = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, ov = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, rv = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, lv = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, av = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, cv = { style: { display: "flex", "align-items": "center", "justify-content": "space-between", gap: "10px", "margin-top": "8px" } }, sv = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "align-items": "center" } }, dv = ["title", "onClick"], uv = ["title"], mv = { +}, ov = { style: { display: "grid", "grid-template-columns": "repeat(3, minmax(0, 1fr))", gap: "8px", "margin-bottom": "12px" } }, rv = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, lv = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, av = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, cv = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, sv = { style: { padding: "8px 10px", "border-radius": "10px", background: "rgba(255,255,255,0.04)", border: "1px solid rgba(255,255,255,0.10)" } }, dv = { style: { "font-size": "18px", "font-weight": "700", color: "rgba(255,255,255,0.94)", "margin-top": "2px" } }, uv = { style: { display: "flex", "align-items": "center", "justify-content": "space-between", gap: "10px", "margin-top": "8px" } }, mv = { style: { display: "flex", "flex-wrap": "wrap", gap: "6px", "align-items": "center" } }, gv = ["title", "onClick"], Iv = ["title"], bv = { key: 0, style: { display: "grid", "grid-template-columns": "repeat(auto-fit, minmax(180px, 1fr))", gap: "8px", "align-items": "stretch", "margin-top": "10px", "margin-bottom": "10px" } -}, gv = ["onClick"], Iv = { style: { display: "flex", "flex-direction": "column", gap: "2px", "min-width": "0" } }, bv = { style: { "font-size": "13px", "font-weight": "600" } }, pv = { style: { "font-size": "11px", color: "rgba(255,255,255,0.58)" } }, yv = { style: { display: "flex", gap: "10px", "align-items": "stretch", "margin-top": "10px" } }, fv = { style: { display: "flex", "justify-content": "space-between", "align-items": "center", gap: "10px", "margin-top": "8px", "font-size": "11px", color: "rgba(255,255,255,0.58)" } }, hv = ["open"], Cv = { style: { background: "rgba(0,0,0,0.5)", padding: "10px", "border-radius": "6px", "font-size": "11px", overflow: "auto", "max-height": "180px", margin: "10px 0 0 0", color: "#90CAF9", "font-family": "'Consolas', 'Monaco', monospace" } }, Rm = 1, Fm = 8, Zv = { +}, pv = ["onClick"], yv = { style: { display: "flex", "flex-direction": "column", gap: "2px", "min-width": "0" } }, fv = { style: { "font-size": "13px", "font-weight": "600" } }, hv = { style: { "font-size": "11px", color: "rgba(255,255,255,0.58)" } }, Cv = { style: { display: "flex", gap: "10px", "align-items": "stretch", "margin-top": "10px" } }, Zv = { style: { display: "flex", "justify-content": "space-between", "align-items": "center", gap: "10px", "margin-top": "8px", "font-size": "11px", color: "rgba(255,255,255,0.58)" } }, Av = ["open"], Wv = { style: { background: "rgba(0,0,0,0.5)", padding: "10px", "border-radius": "6px", "font-size": "11px", overflow: "auto", "max-height": "180px", margin: "10px 0 0 0", color: "#90CAF9", "font-family": "'Consolas', 'Monaco', monospace" } }, Om = 1, zm = 8, wv = { __name: "SidebarWorkflowSection", props: { asset: { type: Object, required: !0 } @@ -40109,148 +40167,148 @@ const Qj = { { key: "compact", label: "Compact", height: 120 }, { key: "comfortable", label: "Comfort", height: 160 }, { key: "expanded", label: "Expanded", height: 220 } - ]), r = Ae(null), l = Ae(!1), a = Ae(!1), c = Ae(C()), s = Ae({ ...i }), d = Ae("crosshair"), u = Ae(""); - let I = null, p = null, M = null; - function Z(Y, U, P) { - const ee = Number(Y); - return Number.isFinite(ee) ? Math.max(U, Math.min(P, ee)) : U; + ]), r = Ae(null), l = Ae(!1), a = Ae(!1), c = Ae(h()), s = Ae({ ...i }), d = Ae("crosshair"), u = Ae(""); + let I = null, p = null, S = null; + function A(j, O, D) { + const q = Number(j); + return Number.isFinite(q) ? Math.max(O, Math.min(D, q)) : O; } - function A(Y) { - !Y || typeof Y != "object" || (s.value = { + function C(j) { + !j || typeof j != "object" || (s.value = { ...s.value, - zoom: Z(Y.zoom ?? s.value.zoom, Rm, Fm), - centerX: Number.isFinite(Number(Y.centerX)) ? Number(Y.centerX) : null, - centerY: Number.isFinite(Number(Y.centerY)) ? Number(Y.centerY) : null + zoom: A(j.zoom ?? s.value.zoom, Om, zm), + centerX: Number.isFinite(Number(j.centerX)) ? Number(j.centerX) : null, + centerY: Number.isFinite(Number(j.centerY)) ? Number(j.centerY) : null }); } function g() { s.value = { ...i }, u.value = ""; } - function h(Y) { - const U = (Y == null ? void 0 : Y.metadata_raw) ?? null; - if (!U) return null; - if (typeof U == "object") return U; - if (typeof U == "string") { - const P = U.trim(); - if (!P) return null; + function Z(j) { + const O = (j == null ? void 0 : j.metadata_raw) ?? null; + if (!O) return null; + if (typeof O == "object") return O; + if (typeof O == "string") { + const D = O.trim(); + if (!D) return null; try { - const ee = JSON.parse(P); - return ee && typeof ee == "object" ? ee : null; + const q = JSON.parse(D); + return q && typeof q == "object" ? q : null; } catch { return null; } } return null; } - function f(Y) { + function f(j) { try { - const U = Object.entries(Y || {}); - if (!U.length) return !1; - let P = 0; - for (const [, ee] of U.slice(0, 50)) - if (!(!ee || typeof ee != "object") && (ee.inputs && typeof ee.inputs == "object" && (P += 1), P >= 2)) + const O = Object.entries(j || {}); + if (!O.length) return !1; + let D = 0; + for (const [, q] of O.slice(0, 50)) + if (!(!q || typeof q != "object") && (q.inputs && typeof q.inputs == "object" && (D += 1), D >= 2)) return !0; } catch { return !1; } return !1; } - function b(Y) { - const U = h(Y), P = (Y == null ? void 0 : Y.workflow) || (Y == null ? void 0 : Y.Workflow) || (Y == null ? void 0 : Y.comfy_workflow) || (U == null ? void 0 : U.workflow) || (U == null ? void 0 : U.Workflow) || (U == null ? void 0 : U.comfy_workflow) || null; - if (!P) return null; - if (typeof P == "object") return P; - if (typeof P == "string") { - const ee = P.trim(); - if (!ee) return null; + function b(j) { + const O = Z(j), D = (j == null ? void 0 : j.workflow) || (j == null ? void 0 : j.Workflow) || (j == null ? void 0 : j.comfy_workflow) || (O == null ? void 0 : O.workflow) || (O == null ? void 0 : O.Workflow) || (O == null ? void 0 : O.comfy_workflow) || null; + if (!D) return null; + if (typeof D == "object") return D; + if (typeof D == "string") { + const q = D.trim(); + if (!q) return null; try { - return JSON.parse(ee); + return JSON.parse(q); } catch { return null; } } return null; } - function v(Y) { - const U = h(Y), P = (Y == null ? void 0 : Y.prompt) || (Y == null ? void 0 : Y.Prompt) || (U == null ? void 0 : U.prompt) || (U == null ? void 0 : U.Prompt) || null; - if (!P) return null; - if (typeof P == "object") return f(P) ? P : null; - if (typeof P == "string") { - const ee = P.trim(); - if (!ee) return null; + function L(j) { + const O = Z(j), D = (j == null ? void 0 : j.prompt) || (j == null ? void 0 : j.Prompt) || (O == null ? void 0 : O.prompt) || (O == null ? void 0 : O.Prompt) || null; + if (!D) return null; + if (typeof D == "object") return f(D) ? D : null; + if (typeof D == "string") { + const q = D.trim(); + if (!q) return null; try { - const oe = JSON.parse(ee); - return f(oe) ? oe : null; + const ee = JSON.parse(q); + return f(ee) ? ee : null; } catch { return null; } } return null; } - function C() { - var Y, U, P, ee; + function h() { + var j, O, D, q; try { - const oe = Xn == null ? void 0 : Xn(), ce = oe == null ? void 0 : oe.workflowMinimap; + const ee = Xn == null ? void 0 : Xn(), ce = ee == null ? void 0 : ee.workflowMinimap; if (ce && typeof ce == "object") return { ...n, ...ce }; - } catch (oe) { - (Y = console.debug) == null || Y.call(console, oe); + } catch (ee) { + (j = console.debug) == null || j.call(console, ee); } try { - const oe = (U = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : U.call(localStorage, Nd); - if (!oe) return { ...n }; - const ce = JSON.parse(oe); + const ee = (O = localStorage == null ? void 0 : localStorage.getItem) == null ? void 0 : O.call(localStorage, Fd); + if (!ee) return { ...n }; + const ce = JSON.parse(ee); if (!ce || typeof ce != "object") return { ...n }; - const pe = { ...n, ...ce }; + const ue = { ...n, ...ce }; try { - const H = Xn(); - H.workflowMinimap = { ...H.workflowMinimap, ...pe }, Te(H), (P = localStorage == null ? void 0 : localStorage.removeItem) == null || P.call(localStorage, Nd); - } catch (H) { - (ee = console.debug) == null || ee.call(console, H); + const U = Xn(); + U.workflowMinimap = { ...U.workflowMinimap, ...ue }, Be(U), (D = localStorage == null ? void 0 : localStorage.removeItem) == null || D.call(localStorage, Fd); + } catch (U) { + (q = console.debug) == null || q.call(console, U); } - return pe; + return ue; } catch { return { ...n }; } } - function S(Y) { - var U; + function G(j) { + var O; try { - const P = Xn(); - P.workflowMinimap = { ...P.workflowMinimap, ...Y }, Te(P); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + const D = Xn(); + D.workflowMinimap = { ...D.workflowMinimap, ...j }, Be(D); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } } - const W = Je(() => { - const Y = b(t.asset), U = v(t.asset); - return !Y && !U ? null : Y || Pj(U); - }), y = Je(() => { - var Y; - return (Y = t.asset) != null && Y.has_generation_data ? "Complete" : "Partial"; - }), k = Je( + const W = ze(() => { + const j = b(t.asset), O = L(t.asset); + return !j && !O ? null : j || $j(O); + }), y = ze(() => { + var j; + return (j = t.asset) != null && j.has_generation_data ? "Complete" : "Partial"; + }), X = ze( () => W.value ? JSON.stringify(W.value, null, 2) : "" - ), G = Je(() => { - var oe, ce, pe, H, $; - const Y = W.value; - if (!Y) + ), x = ze(() => { + var ee, ce, ue, U, Q; + const j = W.value; + if (!j) return { nodes: 0, links: 0, groups: 0, source: "" }; - const U = Array.isArray(Y == null ? void 0 : Y.nodes) ? Y.nodes.length : 0, P = Array.isArray(Y == null ? void 0 : Y.links) && Y.links.length || Array.isArray((oe = Y == null ? void 0 : Y.extra) == null ? void 0 : oe.links) && Y.extra.links.length || 0, ee = Array.isArray(Y == null ? void 0 : Y.groups) && Y.groups.length || Array.isArray((ce = Y == null ? void 0 : Y.extra) == null ? void 0 : ce.groups) && Y.extra.groups.length || Array.isArray((pe = Y == null ? void 0 : Y.extra) == null ? void 0 : pe.groupNodes) && Y.extra.groupNodes.length || Array.isArray((H = Y == null ? void 0 : Y.extra) == null ? void 0 : H.group_nodes) && Y.extra.group_nodes.length || 0; + const O = Array.isArray(j == null ? void 0 : j.nodes) ? j.nodes.length : 0, D = Array.isArray(j == null ? void 0 : j.links) && j.links.length || Array.isArray((ee = j == null ? void 0 : j.extra) == null ? void 0 : ee.links) && j.extra.links.length || 0, q = Array.isArray(j == null ? void 0 : j.groups) && j.groups.length || Array.isArray((ce = j == null ? void 0 : j.extra) == null ? void 0 : ce.groups) && j.extra.groups.length || Array.isArray((ue = j == null ? void 0 : j.extra) == null ? void 0 : ue.groupNodes) && j.extra.groupNodes.length || Array.isArray((U = j == null ? void 0 : j.extra) == null ? void 0 : U.group_nodes) && j.extra.group_nodes.length || 0; return { - nodes: U, - links: P, - groups: ee, - source: ($ = Y == null ? void 0 : Y.extra) != null && $.synthetic ? "Synthetic" : "Embedded" + nodes: O, + links: D, + groups: q, + source: (Q = j == null ? void 0 : j.extra) != null && Q.synthetic ? "Synthetic" : "Embedded" }; - }), z = Je(() => { - var U; - const Y = String(((U = c.value) == null ? void 0 : U.size) || "comfortable"); - return o.find((P) => P.key === Y) || o[1]; - }), x = Je(() => `${z.value.height}px`), w = Je(() => [ + }), T = ze(() => { + var O; + const j = String(((O = c.value) == null ? void 0 : O.size) || "comfortable"); + return o.find((D) => D.key === j) || o[1]; + }), v = ze(() => `${T.value.height}px`), w = ze(() => [ { key: "showNodeLabels", label: "Node Labels", iconClass: "pi pi-tag" }, { key: "nodeColors", label: "Node Colors", iconClass: "pi pi-palette" }, { key: "showLinks", label: "Show Links", iconClass: "pi pi-share-alt" }, @@ -40263,272 +40321,272 @@ const Qj = { }, { key: "showViewport", label: "Show Viewport", iconClass: "pi pi-window-maximize" } ]); - function X() { - const Y = r.value, U = W.value; - if (!Y || !U) return; - const P = Math.max(1, Y.clientWidth || 320), ee = Math.max(1, Y.clientHeight || 120), oe = Math.max(1, Math.min(2, window.devicePixelRatio || 1)); - Y.width = Math.floor(P * oe), Y.height = Math.floor(ee * oe); - const ce = Y.getContext("2d"); - ce && ce.setTransform(oe, 0, 0, oe, 0, 0), p = qj(Y, U, { + function R() { + const j = r.value, O = W.value; + if (!j || !O) return; + const D = Math.max(1, j.clientWidth || 320), q = Math.max(1, j.clientHeight || 120), ee = Math.max(1, Math.min(2, window.devicePixelRatio || 1)); + j.width = Math.floor(D * ee), j.height = Math.floor(q * ee); + const ce = j.getContext("2d"); + ce && ce.setTransform(ee, 0, 0, ee, 0, 0), p = _j(j, O, { ...c.value, view: s.value - }) || null, A(p == null ? void 0 : p.resolvedView); + }) || null, C(p == null ? void 0 : p.resolvedView); } - function V() { - const Y = (window == null ? void 0 : window.app) || null, U = (Y == null ? void 0 : Y.canvas) || null, P = (U == null ? void 0 : U.ds) || null, ee = (U == null ? void 0 : U.canvas) || (U == null ? void 0 : U.el) || null; - if (!U || !P || !ee) return null; - const oe = Number(P == null ? void 0 : P.scale), ce = Number((ee == null ? void 0 : ee.width) || (ee == null ? void 0 : ee.clientWidth) || 0), pe = Number((ee == null ? void 0 : ee.height) || (ee == null ? void 0 : ee.clientHeight) || 0); - return !Number.isFinite(oe) || oe <= 0 || !(ce > 0) || !(pe > 0) ? null : { app: Y, graphCanvas: U, ds: P, canvas: ee, scale: oe, width: ce, height: pe }; + function Y() { + const j = (window == null ? void 0 : window.app) || null, O = (j == null ? void 0 : j.canvas) || null, D = (O == null ? void 0 : O.ds) || null, q = (O == null ? void 0 : O.canvas) || (O == null ? void 0 : O.el) || null; + if (!O || !D || !q) return null; + const ee = Number(D == null ? void 0 : D.scale), ce = Number((q == null ? void 0 : q.width) || (q == null ? void 0 : q.clientWidth) || 0), ue = Number((q == null ? void 0 : q.height) || (q == null ? void 0 : q.clientHeight) || 0); + return !Number.isFinite(ee) || ee <= 0 || !(ce > 0) || !(ue > 0) ? null : { app: j, graphCanvas: O, ds: D, canvas: q, scale: ee, width: ce, height: ue }; } - function R(Y, U, P) { - if (Array.isArray(Y == null ? void 0 : Y.offset)) { - Y.offset[0] = U, Y.offset[1] = P; + function F(j, O, D) { + if (Array.isArray(j == null ? void 0 : j.offset)) { + j.offset[0] = O, j.offset[1] = D; return; } - Y != null && Y.offset && typeof Y.offset == "object" && (Y.offset.x = U, Y.offset.y = P); + j != null && j.offset && typeof j.offset == "object" && (j.offset.x = O, j.offset.y = D); } - function j(Y, U) { - var P, ee, oe, ce, pe; + function N(j, O) { + var D, q, ee, ce, ue; try { - (P = U == null ? void 0 : U.setDirty) == null || P.call(U, !0, !0); - } catch (H) { - (ee = console.debug) == null || ee.call(console, H); + (D = O == null ? void 0 : O.setDirty) == null || D.call(O, !0, !0); + } catch (U) { + (q = console.debug) == null || q.call(console, U); } try { - (ce = (oe = Y == null ? void 0 : Y.graph) == null ? void 0 : oe.setDirtyCanvas) == null || ce.call(oe, !0, !0); - } catch (H) { - (pe = console.debug) == null || pe.call(console, H); + (ce = (ee = j == null ? void 0 : j.graph) == null ? void 0 : ee.setDirtyCanvas) == null || ce.call(ee, !0, !0); + } catch (U) { + (ue = console.debug) == null || ue.call(console, U); } } - function L(Y) { - if (!Y) return; - const U = V(); - if (!U) return; - const P = Math.max(1, Number(window.devicePixelRatio) || 1), ee = -Number(Y.x) + U.width * 0.5 / (U.scale * P), oe = -Number(Y.y) + U.height * 0.5 / (U.scale * P); - !Number.isFinite(ee) || !Number.isFinite(oe) || (R(U.ds, ee, oe), j(U.app, U.graphCanvas)); + function V(j) { + if (!j) return; + const O = Y(); + if (!O) return; + const D = Math.max(1, Number(window.devicePixelRatio) || 1), q = -Number(j.x) + O.width * 0.5 / (O.scale * D), ee = -Number(j.y) + O.height * 0.5 / (O.scale * D); + !Number.isFinite(q) || !Number.isFinite(ee) || (F(O.ds, q, ee), N(O.app, O.graphCanvas)); } - function N(Y) { - var ee; - const U = r.value; - if (!U) return null; - const P = (ee = U.getBoundingClientRect) == null ? void 0 : ee.call(U); - return P ? { - x: Number(Y == null ? void 0 : Y.clientX) - P.left, - y: Number(Y == null ? void 0 : Y.clientY) - P.top + function k(j) { + var q; + const O = r.value; + if (!O) return null; + const D = (q = O.getBoundingClientRect) == null ? void 0 : q.call(O); + return D ? { + x: Number(j == null ? void 0 : j.clientX) - D.left, + y: Number(j == null ? void 0 : j.clientY) - D.top } : null; } - function q(Y) { - const U = N(Y); - return !U || !(p != null && p.canvasToWorld) ? null : { - local: U, - world: p.canvasToWorld(U.x, U.y) + function K(j) { + const O = k(j); + return !O || !(p != null && p.canvasToWorld) ? null : { + local: O, + world: p.canvasToWorld(O.x, O.y) }; } - function O(Y) { - const U = N(Y), P = U && (p != null && p.hitTestNode) ? p.hitTestNode(U.x, U.y) : null, ee = (P == null ? void 0 : P.id) !== null && (P == null ? void 0 : P.id) !== void 0 ? String(P.id) : null, oe = s.value.hoveredNodeId !== null && s.value.hoveredNodeId !== void 0 ? String(s.value.hoveredNodeId) : null; - u.value = (P == null ? void 0 : P.label) || "", ee !== oe && (s.value = { + function z(j) { + const O = k(j), D = O && (p != null && p.hitTestNode) ? p.hitTestNode(O.x, O.y) : null, q = (D == null ? void 0 : D.id) !== null && (D == null ? void 0 : D.id) !== void 0 ? String(D.id) : null, ee = s.value.hoveredNodeId !== null && s.value.hoveredNodeId !== void 0 ? String(s.value.hoveredNodeId) : null; + u.value = (D == null ? void 0 : D.label) || "", q !== ee && (s.value = { ...s.value, - hoveredNodeId: ee - }, X()); + hoveredNodeId: q + }, R()); } - function B(Y) { - Y && (L(Y), s.value = { + function B(j) { + j && (V(j), s.value = { ...s.value, - centerX: Number(Y.x), - centerY: Number(Y.y) - }, X()); + centerX: Number(j.x), + centerY: Number(j.y) + }, R()); } - function J(Y) { - var P, ee, oe, ce; - if (Number((Y == null ? void 0 : Y.button) ?? 0) !== 0) return; - const U = q(Y); - U && (M = Y.pointerId ?? 1, d.value = "grabbing", (ee = (P = r.value) == null ? void 0 : P.setPointerCapture) == null || ee.call(P, M), B(U.world), O(Y), (oe = Y.preventDefault) == null || oe.call(Y), (ce = Y.stopPropagation) == null || ce.call(Y)); + function J(j) { + var D, q, ee, ce; + if (Number((j == null ? void 0 : j.button) ?? 0) !== 0) return; + const O = K(j); + O && (S = j.pointerId ?? 1, d.value = "grabbing", (q = (D = r.value) == null ? void 0 : D.setPointerCapture) == null || q.call(D, S), B(O.world), z(j), (ee = j.preventDefault) == null || ee.call(j), (ce = j.stopPropagation) == null || ce.call(j)); } - function T(Y) { - var U, P; - if (M !== null && Y.pointerId === M) { - const ee = q(Y); - ee && B(ee.world), (U = Y.preventDefault) == null || U.call(Y), (P = Y.stopPropagation) == null || P.call(Y); + function P(j) { + var O, D; + if (S !== null && j.pointerId === S) { + const q = K(j); + q && B(q.world), (O = j.preventDefault) == null || O.call(j), (D = j.stopPropagation) == null || D.call(j); return; } - O(Y); + z(j); } - function D(Y) { - var U, P; - M !== null && (Y == null ? void 0 : Y.pointerId) === M && ((P = (U = r.value) == null ? void 0 : U.releasePointerCapture) == null || P.call(U, M), M = null, d.value = "crosshair"), (Y == null ? void 0 : Y.type) === "pointerleave" && (u.value = "", s.value.hoveredNodeId !== null && (s.value = { + function H(j) { + var O, D; + S !== null && (j == null ? void 0 : j.pointerId) === S && ((D = (O = r.value) == null ? void 0 : O.releasePointerCapture) == null || D.call(O, S), S = null, d.value = "crosshair"), (j == null ? void 0 : j.type) === "pointerleave" && (u.value = "", s.value.hoveredNodeId !== null && (s.value = { ...s.value, hoveredNodeId: null - }, X())); + }, R())); } - function Q(Y) { - var le, se, de, Ze, Fe, xe; - const U = q(Y), P = p == null ? void 0 : p.resolvedView; - if (!U || !P) return; - const ee = Z(Number(Y == null ? void 0 : Y.deltaY) || 0, -240, 240), oe = Math.exp(-ee * 25e-4), ce = Z( - (Number(s.value.zoom) || 1) * oe, - Rm, - Fm + function $(j) { + var le, de, se, ge, je, Se; + const O = K(j), D = p == null ? void 0 : p.resolvedView; + if (!O || !D) return; + const q = A(Number(j == null ? void 0 : j.deltaY) || 0, -240, 240), ee = Math.exp(-q * 25e-4), ce = A( + (Number(s.value.zoom) || 1) * ee, + Om, + zm ); if (Math.abs(ce - (Number(s.value.zoom) || 1)) < 1e-3) { - (le = Y.preventDefault) == null || le.call(Y), (se = Y.stopPropagation) == null || se.call(Y); + (le = j.preventDefault) == null || le.call(j), (de = j.stopPropagation) == null || de.call(j); return; } - const pe = Math.max(1, Number(((de = p == null ? void 0 : p.bounds) == null ? void 0 : de.width) || 1) / ce), H = Math.max(1, Number(((Ze = p == null ? void 0 : p.bounds) == null ? void 0 : Ze.height) || 1) / ce), $ = Z( - (Number(U.world.x) - Number(P.viewMinX || 0)) / Math.max(1, Number(P.visibleW || 1)), + const ue = Math.max(1, Number(((se = p == null ? void 0 : p.bounds) == null ? void 0 : se.width) || 1) / ce), U = Math.max(1, Number(((ge = p == null ? void 0 : p.bounds) == null ? void 0 : ge.height) || 1) / ce), Q = A( + (Number(O.world.x) - Number(D.viewMinX || 0)) / Math.max(1, Number(D.visibleW || 1)), 0, 1 - ), _ = Z( - (Number(U.world.y) - Number(P.viewMinY || 0)) / Math.max(1, Number(P.visibleH || 1)), + ), _ = A( + (Number(O.world.y) - Number(D.viewMinY || 0)) / Math.max(1, Number(D.visibleH || 1)), 0, 1 ); s.value = { ...s.value, zoom: ce, - centerX: Number(U.world.x) + (0.5 - $) * pe, - centerY: Number(U.world.y) + (0.5 - _) * H - }, X(), O(Y), (Fe = Y.preventDefault) == null || Fe.call(Y), (xe = Y.stopPropagation) == null || xe.call(Y); + centerX: Number(O.world.x) + (0.5 - Q) * ue, + centerY: Number(O.world.y) + (0.5 - _) * U + }, R(), z(j), (je = j.preventDefault) == null || je.call(j), (Se = j.stopPropagation) == null || Se.call(j); } - function E(Y) { - var P, ee; - const U = q(Y); - g(), U && L(U.world), X(), (P = Y.preventDefault) == null || P.call(Y), (ee = Y.stopPropagation) == null || ee.call(Y); + function E(j) { + var D, q; + const O = K(j); + g(), O && V(O.world), R(), (D = j.preventDefault) == null || D.call(j), (q = j.stopPropagation) == null || q.call(j); } - function K(Y) { - var U; + function oe(j) { + var O; c.value = { ...c.value, - [Y]: !((U = c.value) != null && U[Y]) - }, S(c.value); + [j]: !((O = c.value) != null && O[j]) + }, G(c.value); } - function F(Y) { - o.some((U) => U.key === Y) && (c.value = { + function M(j) { + o.some((O) => O.key === j) && (c.value = { ...c.value, - size: Y - }, S(c.value)); + size: j + }, G(c.value)); } return Dn(() => { - r.value && typeof ResizeObserver == "function" && (I = new ResizeObserver(() => X()), I.observe(r.value)), X(); - }), an(W, () => { - g(), X(); - }, { flush: "post" }), an(c, () => { - X(); - }, { deep: !0, flush: "post" }), an(l, () => { - X(); - }, { flush: "post" }), Mr(() => { - var Y, U; + r.value && typeof ResizeObserver == "function" && (I = new ResizeObserver(() => R()), I.observe(r.value)), R(); + }), cn(W, () => { + g(), R(); + }, { flush: "post" }), cn(c, () => { + R(); + }, { deep: !0, flush: "post" }), cn(l, () => { + R(); + }, { flush: "post" }), xr(() => { + var j, O; try { - (Y = I == null ? void 0 : I.disconnect) == null || Y.call(I); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + (j = I == null ? void 0 : I.disconnect) == null || j.call(I); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } - I = null, M = null; - }), (Y, U) => W.value ? (Ie(), he("div", Qj, [ - U[7] || (U[7] = ne("div", { style: { "font-size": "13px", "font-weight": "600", color: "var(--fg-color, #eaeaea)", "margin-bottom": "12px", "text-transform": "uppercase", "letter-spacing": "0.5px" } }, " ComfyUI Workflow ", -1)), - ne("div", _j, [ - ne("div", $j, Ye(y.value), 1), - G.value.source ? (Ie(), he("div", ev, Ye(G.value.source), 1)) : yt("", !0) + I = null, S = null; + }), (j, O) => W.value ? (be(), Ce("div", ev, [ + O[7] || (O[7] = ie("div", { style: { "font-size": "13px", "font-weight": "600", color: "var(--fg-color, #eaeaea)", "margin-bottom": "12px", "text-transform": "uppercase", "letter-spacing": "0.5px" } }, " ComfyUI Workflow ", -1)), + ie("div", tv, [ + ie("div", nv, Ye(y.value), 1), + x.value.source ? (be(), Ce("div", iv, Ye(x.value.source), 1)) : ft("", !0) ]), - ne("div", tv, [ - ne("div", nv, [ - U[2] || (U[2] = ne("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Nodes", -1)), - ne("div", iv, Ye(G.value.nodes), 1) + ie("div", ov, [ + ie("div", rv, [ + O[2] || (O[2] = ie("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Nodes", -1)), + ie("div", lv, Ye(x.value.nodes), 1) ]), - ne("div", ov, [ - U[3] || (U[3] = ne("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Links", -1)), - ne("div", rv, Ye(G.value.links), 1) + ie("div", av, [ + O[3] || (O[3] = ie("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Links", -1)), + ie("div", cv, Ye(x.value.links), 1) ]), - ne("div", lv, [ - U[4] || (U[4] = ne("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Groups", -1)), - ne("div", av, Ye(G.value.groups), 1) + ie("div", sv, [ + O[4] || (O[4] = ie("div", { style: { "font-size": "10px", "font-weight": "700", color: "rgba(255,255,255,0.55)", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, "Groups", -1)), + ie("div", dv, Ye(x.value.groups), 1) ]) ]), - ne("div", cv, [ - ne("div", sv, [ - (Ie(!0), he(Xt, null, Cn(Ge(o), (P) => (Ie(), he("button", { - key: P.key, + ie("div", uv, [ + ie("div", mv, [ + (be(!0), Ce(Nt, null, Cn(xe(o), (D) => (be(), Ce("button", { + key: D.key, type: "button", - title: `${P.label} minimap`, - style: vt({ + title: `${D.label} minimap`, + style: Lt({ appearance: "none", - border: c.value.size === P.key ? "1px solid rgba(33,150,243,0.55)" : "1px solid rgba(255,255,255,0.12)", + border: c.value.size === D.key ? "1px solid rgba(33,150,243,0.55)" : "1px solid rgba(255,255,255,0.12)", borderRadius: "999px", padding: "4px 10px", - background: c.value.size === P.key ? "rgba(33,150,243,0.18)" : "rgba(255,255,255,0.04)", - color: c.value.size === P.key ? "#90CAF9" : "rgba(255,255,255,0.78)", + background: c.value.size === D.key ? "rgba(33,150,243,0.18)" : "rgba(255,255,255,0.04)", + color: c.value.size === D.key ? "#90CAF9" : "rgba(255,255,255,0.78)", fontSize: "11px", - fontWeight: c.value.size === P.key ? "700" : "600", + fontWeight: c.value.size === D.key ? "700" : "600", cursor: "pointer" }), - onClick: (ee) => F(P.key) - }, Ye(P.label), 13, dv))), 128)) + onClick: (q) => M(D.key) + }, Ye(D.label), 13, gv))), 128)) ]), - ne("button", { + ie("button", { type: "button", class: "mjr-btn mjr-icon-btn", - title: Ge(m)("tooltip.minimapSettings", "Minimap settings"), + title: xe(m)("tooltip.minimapSettings", "Minimap settings"), style: { width: "28px", height: "28px", "border-radius": "8px", display: "inline-flex", "align-items": "center", "justify-content": "center", border: "1px solid var(--mjr-border, rgba(255,255,255,0.12))", background: "rgba(255,255,255,0.06)", color: "rgba(255,255,255,0.9)", cursor: "pointer" }, - onClick: U[0] || (U[0] = (P) => l.value = !l.value) - }, [...U[5] || (U[5] = [ - ne("i", { class: "pi pi-sliders-h" }, null, -1) - ])], 8, uv) + onClick: O[0] || (O[0] = (D) => l.value = !l.value) + }, [...O[5] || (O[5] = [ + ie("i", { class: "pi pi-sliders-h" }, null, -1) + ])], 8, Iv) ]), - l.value ? (Ie(), he("div", mv, [ - (Ie(!0), he(Xt, null, Cn(w.value, (P) => { - var ee, oe, ce, pe, H, $; - return Ie(), he("button", { - key: P.key, + l.value ? (be(), Ce("div", bv, [ + (be(!0), Ce(Nt, null, Cn(w.value, (D) => { + var q, ee, ce, ue, U, Q; + return be(), Ce("button", { + key: D.key, type: "button", - style: vt({ + style: Lt({ display: "flex", alignItems: "center", gap: "10px", padding: "9px 10px", borderRadius: "10px", - border: (ee = c.value) != null && ee[P.key] ? "1px solid rgba(76,175,80,0.40)" : "1px solid rgba(255,255,255,0.12)", - background: (oe = c.value) != null && oe[P.key] ? "rgba(76,175,80,0.10)" : "rgba(255,255,255,0.04)", + border: (q = c.value) != null && q[D.key] ? "1px solid rgba(76,175,80,0.40)" : "1px solid rgba(255,255,255,0.12)", + background: (ee = c.value) != null && ee[D.key] ? "rgba(76,175,80,0.10)" : "rgba(255,255,255,0.04)", cursor: "pointer", color: "rgba(255,255,255,0.92)", textAlign: "left" }), - onClick: (_) => K(P.key) + onClick: (_) => oe(D.key) }, [ - ne("span", { - style: vt({ + ie("span", { + style: Lt({ width: "22px", height: "22px", borderRadius: "6px", display: "inline-flex", alignItems: "center", justifyContent: "center", - background: (ce = c.value) != null && ce[P.key] ? "rgba(76,175,80,0.95)" : "rgba(255,255,255,0.08)", - border: (pe = c.value) != null && pe[P.key] ? "1px solid rgba(76,175,80,0.35)" : "1px solid rgba(255,255,255,0.12)", + background: (ce = c.value) != null && ce[D.key] ? "rgba(76,175,80,0.95)" : "rgba(255,255,255,0.08)", + border: (ue = c.value) != null && ue[D.key] ? "1px solid rgba(76,175,80,0.35)" : "1px solid rgba(255,255,255,0.12)", flex: "0 0 auto" }) }, [ - ne("i", { + ie("i", { class: "pi pi-check", - style: vt({ fontSize: "12px", opacity: (H = c.value) != null && H[P.key] ? "1" : "0" }) + style: Lt({ fontSize: "12px", opacity: (U = c.value) != null && U[D.key] ? "1" : "0" }) }, null, 4) ], 4), - ne("i", { - class: Zn(P.iconClass), + ie("i", { + class: Zn(D.iconClass), style: { "font-size": "18px", opacity: "0.9", width: "18px" } }, null, 2), - ne("div", Iv, [ - ne("div", bv, Ye(P.label), 1), - ne("div", pv, Ye(($ = c.value) != null && $[P.key] ? "On" : "Off"), 1) + ie("div", yv, [ + ie("div", fv, Ye(D.label), 1), + ie("div", hv, Ye((Q = c.value) != null && Q[D.key] ? "On" : "Off"), 1) ]) - ], 12, gv); + ], 12, pv); }), 128)) - ])) : yt("", !0), - ne("div", yv, [ - ne("canvas", { + ])) : ft("", !0), + ie("div", Cv, [ + ie("canvas", { ref_key: "canvasRef", ref: r, - style: vt({ + style: Lt({ width: "100%", - height: x.value, + height: v.value, cursor: d.value, touchAction: "none", borderRadius: "10px", @@ -40538,32 +40596,32 @@ const Qj = { boxShadow: "inset 0 0 0 1px rgba(255,255,255,0.03)" }), onPointerdown: J, - onPointermove: T, - onPointerup: D, - onPointercancel: D, - onPointerleave: D, - onWheel: Q, + onPointermove: P, + onPointerup: H, + onPointercancel: H, + onPointerleave: H, + onWheel: $, onDblclick: E }, null, 36) ]), - ne("div", fv, [ - ne("span", null, Ye(u.value || "Click/drag to navigate Β· wheel to zoom"), 1), - ne("span", null, Ye(Math.round((s.value.zoom || 1) * 100)) + "% Β· " + Ye(z.value.label), 1) + ie("div", Zv, [ + ie("span", null, Ye(u.value || "Click/drag to navigate Β· wheel to zoom"), 1), + ie("span", null, Ye(Math.round((s.value.zoom || 1) * 100)) + "% Β· " + Ye(T.value.label), 1) ]), - ne("details", { + ie("details", { open: a.value, style: { "margin-top": "10px" }, - onToggle: U[1] || (U[1] = (P) => a.value = P.target.open) + onToggle: O[1] || (O[1] = (D) => a.value = D.target.open) }, [ - U[6] || (U[6] = ne("summary", { style: { cursor: "pointer", color: "var(--mjr-muted, rgba(255,255,255,0.65))", "font-size": "12px", "user-select": "none" } }, " Show raw JSON ", -1)), - ne("pre", Cv, Ye(k.value), 1) - ], 40, hv) - ])) : yt("", !0); + O[6] || (O[6] = ie("summary", { style: { cursor: "pointer", color: "var(--mjr-muted, rgba(255,255,255,0.65))", "font-size": "12px", "user-select": "none" } }, " Show raw JSON ", -1)), + ie("pre", Wv, Ye(X.value), 1) + ], 40, Av) + ])) : ft("", !0); } -}, Av = { +}, Mv = { class: "mjr-sidebar-section", style: { background: "rgba(255, 255, 255, 0.03)", border: "1px solid var(--mjr-border, rgba(255, 255, 255, 0.12))", "border-radius": "8px", padding: "10px" } -}, Wv = { style: { display: "flex", "flex-direction": "column", gap: "6px" } }, wv = { style: { "font-size": "12px", opacity: "0.68", "min-width": "92px" } }, Mv = ["title"], Sv = { +}, Sv = { style: { display: "flex", "flex-direction": "column", gap: "6px" } }, Gv = { style: { "font-size": "12px", opacity: "0.68", "min-width": "92px" } }, xv = ["title"], jv = { __name: "SidebarFolderSection", props: { asset: { type: Object, required: !0 } @@ -40579,33 +40637,33 @@ const Qj = { a /= 1024, c += 1; return `${a.toFixed(c > 0 ? 1 : 0)} ${l[c]}`; } - const i = Je(() => { - const o = t.asset || {}, r = o.folder_info || o.folderInfo || {}, l = String(r.path || o.filepath || o.subfolder || ""), a = String(r.name || o.filename || "").trim(), c = Number(r.files ?? 0), s = Number(r.folders ?? 0), d = Number(r.size ?? 0), u = Number(r.mtime ?? o.mtime ?? 0), I = Number(r.ctime ?? 0), p = !!r.truncated, M = [ + const i = ze(() => { + const o = t.asset || {}, r = o.folder_info || o.folderInfo || {}, l = String(r.path || o.filepath || o.subfolder || ""), a = String(r.name || o.filename || "").trim(), c = Number(r.files ?? 0), s = Number(r.folders ?? 0), d = Number(r.size ?? 0), u = Number(r.mtime ?? o.mtime ?? 0), I = Number(r.ctime ?? 0), p = !!r.truncated, S = [ { label: "Name", value: a || "-" }, { label: "Path", value: l || "-" }, { label: "Folders", value: Number.isFinite(s) ? String(s) : "-" }, { label: "Files", value: Number.isFinite(c) ? String(c) : "-" }, { label: "Size", value: n(d) } ]; - return I > 0 && M.push({ label: "Created", value: `${Oa(I) || "-"} ${za(I) || ""}`.trim() }), u > 0 && M.push({ label: "Modified", value: `${Oa(u) || "-"} ${za(u) || ""}`.trim() }), p && M.push({ label: "Note", value: "Scan was truncated for performance", valueStyle: "color:#FFB74D;font-weight:600;" }), M; + return I > 0 && S.push({ label: "Created", value: `${za(I) || "-"} ${Ja(I) || ""}`.trim() }), u > 0 && S.push({ label: "Modified", value: `${za(u) || "-"} ${Ja(u) || ""}`.trim() }), p && S.push({ label: "Note", value: "Scan was truncated for performance", valueStyle: "color:#FFB74D;font-weight:600;" }), S; }); - return (o, r) => (Ie(), he("div", Av, [ - r[0] || (r[0] = ne("div", { style: { "font-size": "12px", "font-weight": "700", color: "#26a69a", "margin-bottom": "8px", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, " Folder Details ", -1)), - ne("div", Wv, [ - (Ie(!0), he(Xt, null, Cn(i.value, (l) => (Ie(), he("div", { + return (o, r) => (be(), Ce("div", Mv, [ + r[0] || (r[0] = ie("div", { style: { "font-size": "12px", "font-weight": "700", color: "#26a69a", "margin-bottom": "8px", "text-transform": "uppercase", "letter-spacing": "0.4px" } }, " Folder Details ", -1)), + ie("div", Sv, [ + (be(!0), Ce(Nt, null, Cn(i.value, (l) => (be(), Ce("div", { key: l.label, style: { display: "flex", gap: "10px", "align-items": "flex-start", "justify-content": "space-between" } }, [ - ne("div", wv, Ye(l.label), 1), - ne("div", { - style: vt(l.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"), + ie("div", Gv, Ye(l.label), 1), + ie("div", { + style: Lt(l.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"), title: String(l.value || "") - }, Ye(l.value), 13, Mv) + }, Ye(l.value), 13, xv) ]))), 128)) ]) ])); } -}, Gv = ["aria-busy", "aria-disabled", "aria-label", "aria-valuenow", "tabindex"], xv = ["aria-label", "aria-pressed", "disabled", "onClick", "onMouseenter"], jv = { +}, vv = ["aria-busy", "aria-disabled", "aria-label", "aria-valuenow", "tabindex"], Lv = ["aria-label", "aria-pressed", "disabled", "onClick", "onMouseenter"], Vv = { __name: "RatingEditor", props: { asset: { @@ -40624,143 +40682,143 @@ const Qj = { emits: ["update:modelValue", "rating-change"], setup(e, { emit: t }) { var y; - function n(k) { - return Math.max(0, Math.min(5, Number(k) || 0)); + function n(X) { + return Math.max(0, Math.min(5, Number(X) || 0)); } const i = e, o = t, r = n(((y = i.asset) == null ? void 0 : y.rating) ?? i.modelValue), l = Ae(r), a = Ae(0), c = Ae(!1); let s = r, d = r, u = null; - const I = Je( + const I = ze( () => a.value > 0 ? a.value : l.value - ), p = (k) => k <= I.value ? "#FFD45A" : "#555", M = (k) => k <= I.value ? "scale(1.1)" : "scale(1)", Z = (k) => Math.min(100 * 2 ** Math.max(0, k - 1), 2e3), A = (k) => new Promise((G) => setTimeout(G, k)); - function g(k) { + ), p = (X) => X <= I.value ? "#FFD45A" : "#555", S = (X) => X <= I.value ? "scale(1.1)" : "scale(1)", A = (X) => Math.min(100 * 2 ** Math.max(0, X - 1), 2e3), C = (X) => new Promise((x) => setTimeout(x, X)); + function g(X) { if (c.value) return; - const G = n(k); - s = G, d = G, G !== l.value && (l.value = G); + const x = n(X); + s = x, d = x, x !== l.value && (l.value = x); } - function h(k = null) { - l.value = s, d = s, o("update:modelValue", s), k && Ce(k, "error"); + function Z(X = null) { + l.value = s, d = s, o("update:modelValue", s), X && Ze(X, "error"); } async function f() { - var G, z, x, w, X; + var x, T, v, w, R; if (c.value) return; c.value = !0; - const k = Date.now(); + const X = Date.now(); try { - let V = 0; - for (; V < 10; ) { - if (Date.now() - k > 3e4) { - h(m("toast.ratingUpdateFailed", "Rating update failed")); + let Y = 0; + for (; Y < 10; ) { + if (Date.now() - X > 3e4) { + Z(m("toast.ratingUpdateFailed", "Rating update failed")); break; } - V > 0 && await A(Z(V)), V += 1; - const R = n(d), j = typeof AbortController < "u" ? new AbortController() : null; - u = j; - let L = null; + Y > 0 && await C(A(Y)), Y += 1; + const F = n(d), N = typeof AbortController < "u" ? new AbortController() : null; + u = N; + let V = null; try { - L = await Do(i.asset, R, j ? { signal: j.signal } : {}); - } catch (N) { - console.error("Failed to update rating:", N); + V = await Ho(i.asset, F, N ? { signal: N.signal } : {}); + } catch (k) { + console.error("Failed to update rating:", k); } - if (!(L != null && L.ok)) { - if ((L == null ? void 0 : L.code) === "ABORTED" && d !== R) + if (!(V != null && V.ok)) { + if ((V == null ? void 0 : V.code) === "ABORTED" && d !== F) continue; - h( - (L == null ? void 0 : L.error) || m("toast.ratingUpdateFailed", "Rating update failed") + Z( + (V == null ? void 0 : V.error) || m("toast.ratingUpdateFailed", "Rating update failed") ); break; } try { - const N = ((G = L == null ? void 0 : L.data) == null ? void 0 : G.asset_id) ?? null; - N != null && !pi(i.asset.id) && (i.asset.id = N); - } catch (N) { - (z = console.debug) == null || z.call(console, N); + const k = ((x = V == null ? void 0 : V.data) == null ? void 0 : x.asset_id) ?? null; + k != null && !fi(i.asset.id) && (i.asset.id = k); + } catch (k) { + (T = console.debug) == null || T.call(console, k); } - s = R, l.value = R; + s = F, l.value = F; try { - i.asset.rating = R; - } catch (N) { - (x = console.debug) == null || x.call(console, N); + i.asset.rating = F; + } catch (k) { + (v = console.debug) == null || v.call(console, k); } - if (o("update:modelValue", R), o("rating-change", { assetId: (w = i.asset) == null ? void 0 : w.id, rating: R }), ii(Ri, { - assetId: ((X = i.asset) == null ? void 0 : X.id) != null ? String(i.asset.id) : "", - rating: R - }), d === R) { - Ce(m("toast.ratingSetN", { n: R }), "success", 1e3); + if (o("update:modelValue", F), o("rating-change", { assetId: (w = i.asset) == null ? void 0 : w.id, rating: F }), oi(Fi, { + assetId: ((R = i.asset) == null ? void 0 : R.id) != null ? String(i.asset.id) : "", + rating: F + }), d === F) { + Ze(m("toast.ratingSetN", { n: F }), "success", 1e3); break; } } - V >= 10 && h(m("toast.ratingUpdateFailed", "Rating update failed")); + Y >= 10 && Z(m("toast.ratingUpdateFailed", "Rating update failed")); } finally { u = null, c.value = !1; } } - function b(k) { - var z, x; + function b(X) { + var T, v; if (i.disabled) return; - const G = n(k); - d = G, l.value = G, a.value = 0, o("update:modelValue", G); + const x = n(X); + d = x, l.value = x, a.value = 0, o("update:modelValue", x); try { - (z = u == null ? void 0 : u.abort) == null || z.call(u); + (T = u == null ? void 0 : u.abort) == null || T.call(u); } catch (w) { - (x = console.debug) == null || x.call(console, w); + (v = console.debug) == null || v.call(console, w); } f(); } - function v(k) { - b(k); + function L(X) { + b(X); } - function C(k) { - i.disabled || (a.value = k); + function h(X) { + i.disabled || (a.value = X); } - function S() { + function G() { a.value = 0; } - function W(k) { + function W(X) { if (i.disabled) return; - let G = null; - switch (k.key) { + let x = null; + switch (X.key) { case "ArrowRight": case "ArrowUp": - k.preventDefault(), G = Math.min(5, l.value + 1); + X.preventDefault(), x = Math.min(5, l.value + 1); break; case "ArrowLeft": case "ArrowDown": - k.preventDefault(), G = Math.max(0, l.value - 1); + X.preventDefault(), x = Math.max(0, l.value - 1); break; case "Home": - k.preventDefault(), G = 0; + X.preventDefault(), x = 0; break; case "End": - k.preventDefault(), G = 5; + X.preventDefault(), x = 5; break; default: - k.key >= "0" && k.key <= "5" && (k.preventDefault(), G = parseInt(k.key, 10)); + X.key >= "0" && X.key <= "5" && (X.preventDefault(), x = parseInt(X.key, 10)); } - G !== null && G !== l.value && b(G); + x !== null && x !== l.value && b(x); } - return Mr(() => { - var k, G; + return xr(() => { + var X, x; try { - (k = u == null ? void 0 : u.abort) == null || k.call(u); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + (X = u == null ? void 0 : u.abort) == null || X.call(u); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - }), an( + }), cn( () => i.modelValue, - (k) => { - g(k); + (X) => { + g(X); } - ), an( + ), cn( () => { - var k; - return (k = i.asset) == null ? void 0 : k.rating; + var X; + return (X = i.asset) == null ? void 0 : X.rating; }, - (k) => { - g(k); + (X) => { + g(X); } - ), (k, G) => (Ie(), he("div", { + ), (X, x) => (be(), Ce("div", { class: "mjr-rating-editor", - style: vt({ + style: Lt({ display: "inline-flex", gap: "2px", pointerEvents: e.disabled ? "none" : "auto", @@ -40769,20 +40827,20 @@ const Qj = { "aria-busy": c.value, "aria-disabled": e.disabled, role: "slider", - "aria-label": Ge(m)("rating.label", "Rating"), + "aria-label": xe(m)("rating.label", "Rating"), "aria-valuemin": 0, "aria-valuemax": 5, "aria-valuenow": l.value, tabindex: e.disabled ? -1 : 0, onKeydown: W }, [ - (Ie(), he(Xt, null, Cn(5, (z) => ne("button", { - key: z, + (be(), Ce(Nt, null, Cn(5, (T) => ie("button", { + key: T, type: "button", class: "mjr-rating-star", - style: vt({ - color: p(z), - transform: M(z), + style: Lt({ + color: p(T), + transform: S(T), fontSize: "16px", background: "none", border: "none", @@ -40790,22 +40848,22 @@ const Qj = { padding: "0", transition: "all 0.15s ease" }), - "aria-label": Ge(m)("rating.setN", { n: z }), - "aria-pressed": z <= l.value, + "aria-label": xe(m)("rating.setN", { n: T }), + "aria-pressed": T <= l.value, disabled: e.disabled, - onClick: (x) => v(z), - onMouseenter: (x) => C(z), - onMouseleave: S - }, " β˜… ", 44, xv)), 64)) - ], 44, Gv)); + onClick: (v) => L(T), + onMouseenter: (v) => h(T), + onMouseleave: G + }, " β˜… ", 44, Lv)), 64)) + ], 44, vv)); } -}, vv = /* @__PURE__ */ jr(jv, [["__scopeId", "data-v-6d012325"]]), Lv = { +}, Yv = /* @__PURE__ */ Vr(Vv, [["__scopeId", "data-v-6d012325"]]), kv = { class: "mjr-sidebar-content", style: { flex: "1", "overflow-y": "auto", padding: "10px 12px", display: "flex", "flex-direction": "column", gap: "16px" } -}, Yv = { +}, Xv = { class: "mjr-sidebar-rating-tags", style: { display: "flex", "flex-direction": "column", gap: "10px" } -}, Vv = { style: { display: "flex", "align-items": "center", gap: "8px" } }, kv = { style: { display: "flex", "flex-direction": "column", gap: "4px" } }, Xv = { +}, Nv = { style: { display: "flex", "align-items": "center", gap: "8px" } }, Rv = { style: { display: "flex", "flex-direction": "column", gap: "4px" } }, Fv = { __name: "AssetSidebarContent", props: { asset: { type: Object, required: !0 }, @@ -40814,16 +40872,16 @@ const Qj = { }, emits: ["close"], setup(e, { emit: t }) { - const n = e, i = t, o = Je(() => { + const n = e, i = t, o = ze(() => { var s; return String(((s = n.asset) == null ? void 0 : s.kind) || "").toLowerCase() === "folder"; - }), r = Je(() => { + }), r = ze(() => { var s; return Number((s = n.asset) == null ? void 0 : s.rating) || 0; - }), l = Je(() => { + }), l = ze(() => { var s; return ((s = n.asset) == null ? void 0 : s.tags) || []; - }), a = Je(() => { + }), a = ze(() => { var s; try { const d = Xn(); @@ -40836,117 +40894,117 @@ const Qj = { var s; if (n.sidebar) try { - Jb(n.sidebar); + Tb(n.sidebar); } catch (d) { (s = console.debug) == null || s.call(console, d); } else i("close"); } - return (s, d) => (Ie(), he(Xt, null, [ - fn(Xx, { + return (s, d) => (be(), Ce(Nt, null, [ + fn(Fx, { asset: e.asset, onClose: c }, null, 8, ["asset"]), - ne("div", Lv, [ - o.value ? (Ie(), Ei(Sv, { + ie("div", kv, [ + o.value ? (be(), Pi(jv, { key: 0, asset: e.asset - }, null, 8, ["asset"])) : (Ie(), he(Xt, { key: 1 }, [ - fn(Ux, { + }, null, 8, ["asset"])) : (be(), Ce(Nt, { key: 1 }, [ + fn(Ex, { asset: e.asset, "show-preview-thumb": a.value }, null, 8, ["asset", "show-preview-thumb"]), - ne("div", Yv, [ - ne("div", Vv, [ - d[0] || (d[0] = ne("span", { style: { "font-size": "0.8em", opacity: "0.6", "min-width": "44px" } }, "Rating", -1)), - fn(vv, { + ie("div", Xv, [ + ie("div", Nv, [ + d[0] || (d[0] = ie("span", { style: { "font-size": "0.8em", opacity: "0.6", "min-width": "44px" } }, "Rating", -1)), + fn(Yv, { asset: e.asset, "model-value": r.value }, null, 8, ["asset", "model-value"]) ]), - ne("div", kv, [ - d[1] || (d[1] = ne("span", { style: { "font-size": "0.8em", opacity: "0.6" } }, "Tags", -1)), - fn(dd, { + ie("div", Rv, [ + d[1] || (d[1] = ie("span", { style: { "font-size": "0.8em", opacity: "0.6" } }, "Tags", -1)), + fn(md, { asset: e.asset, "model-value": l.value }, null, 8, ["asset", "model-value"]) ]) ]), - fn(qx, { asset: e.asset }, null, 8, ["asset"]), - fn(Kj, { asset: e.asset }, null, 8, ["asset"]), - fn(Zv, { asset: e.asset }, null, 8, ["asset"]) + fn(_x, { asset: e.asset }, null, 8, ["asset"]), + fn(Hj, { asset: e.asset }, null, 8, ["asset"]), + fn(wv, { asset: e.asset }, null, 8, ["asset"]) ], 64)) ]) ], 64)); } -}, Nv = { +}, Ov = { key: 1, class: "mjr-sidebar-placeholder", style: { flex: "1", display: "flex", "align-items": "center", "justify-content": "center", padding: "20px", opacity: "0.4", "font-size": "0.85em", "text-align": "center" } -}, Rv = { +}, zv = { __name: "SidebarSection", setup(e, { expose: t }) { - const n = Ae(null), { activeAsset: i, onUpdateCallback: o } = P0(); + const n = Ae(null), { activeAsset: i, onUpdateCallback: o } = $0(); return Dn(() => { var I, p; const r = n.value; if (!r) return; r.style.flex = "0 0 0px", r.style.width = "0", r.style.maxWidth = "0", r.style.minWidth = "0", r.style.overflow = "hidden", r.style.borderLeft = "none", r.style.borderRight = "none", r._requestSeq = 0, r._currentAsset = null, r._currentFullAsset = null, r._ratingTagsSection = null; - const l = (M) => { - var A, g, h; - const Z = ((A = r._currentAsset) == null ? void 0 : A.id) ?? ((g = r._currentFullAsset) == null ? void 0 : g.id) ?? ((h = i.value) == null ? void 0 : h.id); - return Z == null || M == null ? !1 : String(Z) === String(M); - }, a = (M) => { - var h; - const Z = (M == null ? void 0 : M.detail) || {}, A = Z.assetId ?? Z.id ?? null, g = Number(Z.rating); - if (!(!l(A) || !Number.isFinite(g))) { - Is({ rating: g }, o.value); + const l = (S) => { + var C, g, Z; + const A = ((C = r._currentAsset) == null ? void 0 : C.id) ?? ((g = r._currentFullAsset) == null ? void 0 : g.id) ?? ((Z = i.value) == null ? void 0 : Z.id); + return A == null || S == null ? !1 : String(A) === String(S); + }, a = (S) => { + var Z; + const A = (S == null ? void 0 : S.detail) || {}, C = A.assetId ?? A.id ?? null, g = Number(A.rating); + if (!(!l(C) || !Number.isFinite(g))) { + ps({ rating: g }, o.value); try { r._currentAsset && (r._currentAsset.rating = g), r._currentFullAsset && (r._currentFullAsset.rating = g); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } } - }, c = (M) => { - var h; - const Z = (M == null ? void 0 : M.detail) || {}, A = Z.assetId ?? Z.id ?? null, g = Array.isArray(Z.tags) ? Z.tags : null; - if (!(!l(A) || !g)) { - Is({ tags: g }, o.value); + }, c = (S) => { + var Z; + const A = (S == null ? void 0 : S.detail) || {}, C = A.assetId ?? A.id ?? null, g = Array.isArray(A.tags) ? A.tags : null; + if (!(!l(C) || !g)) { + ps({ tags: g }, o.value); try { r._currentAsset && (r._currentAsset.tags = g), r._currentFullAsset && (r._currentFullAsset.tags = g); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } } }, s = [], d = typeof AbortController < "u" ? new AbortController() : null; r._mjrAbortController = d, r.dispose = () => { - var M, Z, A; + var S, A, C; try { - (M = d == null ? void 0 : d.abort) == null || M.call(d); + (S = d == null ? void 0 : d.abort) == null || S.call(d); } catch (g) { - (Z = console.debug) == null || Z.call(console, g); + (A = console.debug) == null || A.call(console, g); } for (const g of s.splice(0)) try { g == null || g(); - } catch (h) { - (A = console.debug) == null || A.call(console, h); + } catch (Z) { + (C = console.debug) == null || C.call(console, Z); } }, r._dispose = r.dispose; const u = d ? { signal: d.signal } : void 0; try { - window.addEventListener(Ri, a, u), window.addEventListener(Uo, c, u); - } catch (M) { - (I = console.debug) == null || I.call(console, M); + window.addEventListener(Fi, a, u), window.addEventListener(Do, c, u); + } catch (S) { + (I = console.debug) == null || I.call(console, S); try { - window.addEventListener(Ri, a), window.addEventListener(Uo, c), s.push( - () => window.removeEventListener(Ri, a) + window.addEventListener(Fi, a), window.addEventListener(Do, c), s.push( + () => window.removeEventListener(Fi, a) ), s.push( - () => window.removeEventListener(Uo, c) + () => window.removeEventListener(Do, c) ); - } catch (Z) { - (p = console.debug) == null || p.call(console, Z); + } catch (A) { + (p = console.debug) == null || p.call(console, A); } } }), _n(() => { @@ -40963,264 +41021,264 @@ const Qj = { get sidebar() { return n.value; } - }), (r, l) => (Ie(), he("div", { + }), (r, l) => (be(), Ce("div", { ref_key: "sidebarEl", ref: n, class: "mjr-inline-sidebar", "data-position": "right", style: { display: "flex", "flex-direction": "column", background: "var(--mjr-surface-1,#262626)", transition: "width 140ms ease,max-width 140ms ease,flex-basis 140ms ease,border-color 140ms ease", contain: "layout paint style" } }, [ - Ge(i) ? (Ie(), Ei(Xv, { + xe(i) ? (be(), Pi(Fv, { key: 0, - asset: Ge(i), - "on-update": Ge(o), + asset: xe(i), + "on-update": xe(o), sidebar: n.value - }, null, 8, ["asset", "on-update", "sidebar"])) : (Ie(), he("div", Nv, Ye(Ge(m)("sidebar.placeholderSelectAsset", "Select an asset to view details")), 1)) + }, null, 8, ["asset", "on-update", "sidebar"])) : (be(), Ce("div", Ov, Ye(xe(m)("sidebar.placeholderSelectAsset", "Select an asset to view details")), 1)) ], 512)); } -}, Fv = ["aria-label"], Ov = { class: "mjr-context-menu-title" }, zv = { class: "mjr-context-menu-item-left" }, Jv = { +}, Jv = ["aria-label"], Tv = { class: "mjr-context-menu-title" }, Bv = { class: "mjr-context-menu-item-left" }, Uv = { key: 0, class: "mjr-context-menu-note" -}, Tv = { +}, Kv = { key: 1, class: "mjr-context-menu-note is-error" -}, Bv = { +}, Dv = { key: 2, class: "mjr-context-menu-note" -}, Uv = ["onClick"], Kv = { class: "mjr-context-menu-item-left" }, Dv = { +}, Ev = ["onClick"], Hv = { class: "mjr-context-menu-item-left" }, qv = { key: 0, class: "mjr-context-menu-hint" -}, Ev = { +}, Pv = { __name: "AddToCollectionMenu", setup(e) { const t = Ae(null), n = Ae(!1), i = Ae([]), o = Ae(""); let r = 0, l = null; - const a = Je(() => ({ + const a = ze(() => ({ position: "fixed", left: `${Math.round(Number(Tn.x) || 0)}px`, top: `${Math.round(Number(Tn.y) || 0)}px`, display: "block", zIndex: "10004" - })), c = Je(() => Tn.assets.length || 0), s = Je( + })), c = ze(() => Tn.assets.length || 0), s = ze( () => m("ctx.addToCollection", "Add to collection") + (c.value > 1 ? ` (${c.value})` : "") ); - function d({ collectionName: h, selectedCount: f, addRes: b }) { - var k, G, z; - const v = Number(((k = b == null ? void 0 : b.data) == null ? void 0 : k.added) ?? 0) || 0, C = Number(((G = b == null ? void 0 : b.data) == null ? void 0 : G.skipped_existing) ?? 0) || 0, S = Number(((z = b == null ? void 0 : b.data) == null ? void 0 : z.skipped_duplicate) ?? 0) || 0, W = String(h || "").trim() || m("label.collection", "collection"); + function d({ collectionName: Z, selectedCount: f, addRes: b }) { + var X, x, T; + const L = Number(((X = b == null ? void 0 : b.data) == null ? void 0 : X.added) ?? 0) || 0, h = Number(((x = b == null ? void 0 : b.data) == null ? void 0 : x.skipped_existing) ?? 0) || 0, G = Number(((T = b == null ? void 0 : b.data) == null ? void 0 : T.skipped_duplicate) ?? 0) || 0, W = String(Z || "").trim() || m("label.collection", "collection"); let y = m("msg.collectionAdd.added", 'Added {added} item(s) to "{name}".', { - added: v, + added: L, name: W }); - return C > 0 && (y += ` + return h > 0 && (y += ` ${m( "msg.collectionAdd.skippedExisting", "Skipped {count} item(s): already present in the collection.", - { count: C } - )}`), S > 0 && (y += ` + { count: h } + )}`), G > 0 && (y += ` ${m( "msg.collectionAdd.skippedDuplicate", "Ignored {count} duplicate(s) in selection.", - { count: S } - )}`), v === 0 && C > 0 && f > 0 && (y = m( + { count: G } + )}`), L === 0 && h > 0 && f > 0 && (y = m( "msg.collectionAdd.noneAddedExisting", 'No new items added to "{name}" (all exist).', { name: W } )), y; } function u() { - const h = t.value; - if (!Tn.open || !h) return; - const f = h.getBoundingClientRect(), b = Number(window.innerWidth || 0), v = Number(window.innerHeight || 0); - let C = Number(Tn.x) || 0, S = Number(Tn.y) || 0; - C + f.width > b && (C = Math.max(8, b - f.width - 10)), S + f.height > v && (S = Math.max(8, v - f.height - 10)), C < 8 && (C = 8), S < 8 && (S = 8), Tn.x = C, Tn.y = S; + const Z = t.value; + if (!Tn.open || !Z) return; + const f = Z.getBoundingClientRect(), b = Number(window.innerWidth || 0), L = Number(window.innerHeight || 0); + let h = Number(Tn.x) || 0, G = Number(Tn.y) || 0; + h + f.width > b && (h = Math.max(8, b - f.width - 10)), G + f.height > L && (G = Math.max(8, L - f.height - 10)), h < 8 && (h = 8), G < 8 && (G = 8), Tn.x = h, Tn.y = G; } async function I() { - var f, b, v, C, S; - const h = ++r; + var f, b, L, h, G; + const Z = ++r; n.value = !0, o.value = ""; try { - const W = await Xg(); - if (h !== r) return; + const W = await Ng(); + if (Z !== r) return; i.value = Array.isArray(W == null ? void 0 : W.data) ? W.data : []; } catch (W) { - if (console.error("[AddToCollectionMenu.vue] listCollections failed:", W), h !== r) return; + if (console.error("[AddToCollectionMenu.vue] listCollections failed:", W), Z !== r) return; i.value = [], o.value = m("toast.failedLoadCollections", "Failed to load collections."); } finally { - if (h === r) { - n.value = !1, await Ao(), u(); + if (Z === r) { + n.value = !1, await wo(), u(); try { - (C = (v = (b = (f = t.value) == null ? void 0 : f.querySelector) == null ? void 0 : b.call(f, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : v.focus) == null || C.call(v); + (h = (L = (b = (f = t.value) == null ? void 0 : f.querySelector) == null ? void 0 : b.call(f, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : L.focus) == null || h.call(L); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } } } } - async function p(h, f) { + async function p(Z, f) { const b = Array.isArray(Tn.assets) ? Tn.assets : []; - Ho(); - const v = await Sa(h, b); - if (!(v != null && v.ok)) { - Ce( - (v == null ? void 0 : v.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), + Po(); + const L = await Ga(Z, b); + if (!(L != null && L.ok)) { + Ze( + (L == null ? void 0 : L.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error" ); return; } - Ce( + Ze( d({ collectionName: f, selectedCount: b.length, - addRes: v + addRes: L }), "success", 4e3 ); } - async function M() { - var S, W; - const h = Array.isArray(Tn.assets) ? Tn.assets : []; - Ho(); - const f = await ji( + async function S() { + var G, W; + const Z = Array.isArray(Tn.assets) ? Tn.assets : []; + Po(); + const f = await Vi( m("dialog.createCollection", "Create collection"), m("dialog.collectionPlaceholder", "My collection") ); if (!f) return; - const b = await ta(f); + const b = await na(f); if (!(b != null && b.ok)) { - Ce( + Ze( (b == null ? void 0 : b.error) || m("toast.failedCreateCollectionDot", "Failed to create collection."), "error" ); return; } - const v = (S = b.data) == null ? void 0 : S.id, C = await Sa(v, h); - if (!(C != null && C.ok)) { - Ce( - (C == null ? void 0 : C.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), + const L = (G = b.data) == null ? void 0 : G.id, h = await Ga(L, Z); + if (!(h != null && h.ok)) { + Ze( + (h == null ? void 0 : h.error) || m("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error" ); return; } - Ce( + Ze( d({ collectionName: ((W = b.data) == null ? void 0 : W.name) || f, - selectedCount: h.length, - addRes: C + selectedCount: Z.length, + addRes: h }), "success", 4e3 ); } - function Z(h) { + function A(Z) { var f, b; - (b = (f = t.value) == null ? void 0 : f.contains) != null && b.call(f, h == null ? void 0 : h.target) || Ho(); + (b = (f = t.value) == null ? void 0 : f.contains) != null && b.call(f, Z == null ? void 0 : Z.target) || Po(); } - function A(h) { - (h == null ? void 0 : h.key) === "Escape" && Ho(); + function C(Z) { + (Z == null ? void 0 : Z.key) === "Escape" && Po(); } function g() { - Ho(); + Po(); } - return an( + return cn( () => Tn.open, - async (h) => { - h && (i.value = [], await I()); + async (Z) => { + Z && (i.value = [], await I()); } ), Dn(() => { l = new AbortController(); - const h = { + const Z = { capture: !0, passive: !0, signal: l.signal }; - window.addEventListener("pointerdown", Z, h), window.addEventListener("keydown", A, { + window.addEventListener("pointerdown", A, Z), window.addEventListener("keydown", C, { capture: !0, signal: l.signal - }), window.addEventListener("scroll", g, h), window.addEventListener("wheel", g, h), window.addEventListener("resize", g, { + }), window.addEventListener("scroll", g, Z), window.addEventListener("wheel", g, Z), window.addEventListener("resize", g, { passive: !0, signal: l.signal }), window.addEventListener("mjr-close-all-menus", g, { signal: l.signal }); }), _n(() => { - var h; + var Z; try { l == null || l.abort(); } catch (f) { - (h = console.debug) == null || h.call(console, f); + (Z = console.debug) == null || Z.call(console, f); } - l = null, Ho(); - }), (h, f) => (Ie(), Ei(Ls, { to: "body" }, [ - Ge(Tn).open ? (Ie(), he("div", { + l = null, Po(); + }), (Z, f) => (be(), Pi(Ys, { to: "body" }, [ + xe(Tn).open ? (be(), Ce("div", { key: 0, ref_key: "menuRef", ref: t, class: "mjr-add-to-collection-menu mjr-context-menu", - style: vt(a.value), + style: Lt(a.value), role: "menu", "aria-label": s.value }, [ - ne("div", Ov, Ye(s.value), 1), - ne("button", { + ie("div", Tv, Ye(s.value), 1), + ie("button", { type: "button", class: "mjr-context-menu-item", role: "menuitem", - onClick: M + onClick: S }, [ - ne("span", zv, [ - f[0] || (f[0] = ne("i", { class: "pi pi-plus" }, null, -1)), - ne("span", null, Ye(Ge(m)("dialog.createCollection", "Create collection")) + "...", 1) + ie("span", Bv, [ + f[0] || (f[0] = ie("i", { class: "pi pi-plus" }, null, -1)), + ie("span", null, Ye(xe(m)("dialog.createCollection", "Create collection")) + "...", 1) ]) ]), - f[2] || (f[2] = ne("div", { class: "mjr-context-menu-separator" }, null, -1)), - n.value ? (Ie(), he("div", Jv, Ye(Ge(m)("msg.loadingCollections", "Loading collections...")), 1)) : o.value ? (Ie(), he("div", Tv, Ye(o.value), 1)) : i.value.length ? yt("", !0) : (Ie(), he("div", Bv, Ye(Ge(m)("msg.noCollections", "No collections yet.")), 1)), - (Ie(!0), he(Xt, null, Cn(i.value, (b) => (Ie(), he("button", { + f[2] || (f[2] = ie("div", { class: "mjr-context-menu-separator" }, null, -1)), + n.value ? (be(), Ce("div", Uv, Ye(xe(m)("msg.loadingCollections", "Loading collections...")), 1)) : o.value ? (be(), Ce("div", Kv, Ye(o.value), 1)) : i.value.length ? ft("", !0) : (be(), Ce("div", Dv, Ye(xe(m)("msg.noCollections", "No collections yet.")), 1)), + (be(!0), Ce(Nt, null, Cn(i.value, (b) => (be(), Ce("button", { key: String((b == null ? void 0 : b.id) || ""), type: "button", class: "mjr-context-menu-item", role: "menuitem", - onClick: (v) => p(String((b == null ? void 0 : b.id) || ""), String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.id) || "")) + onClick: (L) => p(String((b == null ? void 0 : b.id) || ""), String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.id) || "")) }, [ - ne("span", Kv, [ - f[1] || (f[1] = ne("i", { class: "pi pi-bookmark" }, null, -1)), - ne("span", null, Ye(String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.id) || "")), 1) + ie("span", Hv, [ + f[1] || (f[1] = ie("i", { class: "pi pi-bookmark" }, null, -1)), + ie("span", null, Ye(String((b == null ? void 0 : b.name) || (b == null ? void 0 : b.id) || "")), 1) ]), - Number((b == null ? void 0 : b.count) || 0) > 0 ? (Ie(), he("span", Dv, Ye(Number((b == null ? void 0 : b.count) || 0)), 1)) : yt("", !0) - ], 8, Uv))), 128)) - ], 12, Fv)) : yt("", !0) + Number((b == null ? void 0 : b.count) || 0) > 0 ? (be(), Ce("span", qv, Ye(Number((b == null ? void 0 : b.count) || 0)), 1)) : ft("", !0) + ], 8, Ev))), 128)) + ], 12, Jv)) : ft("", !0) ])); } -}, Hv = { +}, Qv = { key: 0, class: "mjr-context-menu-separator" -}, qv = ["aria-disabled", "tabindex", "onClick", "onMouseenter", "onMouseleave"], Pv = { class: "mjr-context-menu-item-left" }, Qv = { class: "mjr-context-menu-item-right" }, _v = { +}, _v = ["aria-disabled", "tabindex", "onClick", "onMouseenter", "onMouseleave"], $v = { class: "mjr-context-menu-item-left" }, eL = { class: "mjr-context-menu-item-right" }, tL = { key: 0, class: "mjr-context-menu-hint" -}, $v = { +}, nL = { key: 1, class: "mjr-context-menu-submenu-arrow" -}, eL = { +}, iL = { key: 0, class: "mjr-context-menu-separator" -}, tL = ["aria-disabled", "tabindex", "onClick"], nL = { class: "mjr-context-menu-item-left" }, iL = { +}, oL = ["aria-disabled", "tabindex", "onClick"], rL = { class: "mjr-context-menu-item-left" }, lL = { key: 0, class: "mjr-context-menu-hint" -}, oL = { +}, aL = { __name: "GridContextMenu", setup(e) { const t = Ae(null), n = Ae(null), i = Ae(null); let o = null, r = null; - const l = Je(() => s(Dt.main, 10031)), a = Je(() => s(Dt.submenu, 10032)), c = Je(() => s(Dt.tags, 10033)); - function s(G, z) { + const l = ze(() => s(Dt.main, 10031)), a = ze(() => s(Dt.submenu, 10032)), c = ze(() => s(Dt.tags, 10033)); + function s(x, T) { return { position: "fixed", - left: `${Math.round(Number(G == null ? void 0 : G.x) || 0)}px`, - top: `${Math.round(Number(G == null ? void 0 : G.y) || 0)}px`, + left: `${Math.round(Number(x == null ? void 0 : x.x) || 0)}px`, + top: `${Math.round(Number(x == null ? void 0 : x.y) || 0)}px`, display: "block", - zIndex: String(z) + zIndex: String(T) }; } function d() { @@ -41228,66 +41286,66 @@ ${m( } function u() { d(), o = setTimeout(() => { - mr(); + Ir(); }, 180); } - function I(G, z) { - if (!(G != null && G.open) || !z) return; - const x = z.getBoundingClientRect(), w = Number(window.innerWidth || 0), X = Number(window.innerHeight || 0); - let V = Number(G.x) || 0, R = Number(G.y) || 0; - V + x.width > w && (V = Math.max(8, w - x.width - 10)), R + x.height > X && (R = Math.max(8, X - x.height - 10)), V < 8 && (V = 8), R < 8 && (R = 8), G.x = V, G.y = R; + function I(x, T) { + if (!(x != null && x.open) || !T) return; + const v = T.getBoundingClientRect(), w = Number(window.innerWidth || 0), R = Number(window.innerHeight || 0); + let Y = Number(x.x) || 0, F = Number(x.y) || 0; + Y + v.width > w && (Y = Math.max(8, w - v.width - 10)), F + v.height > R && (F = Math.max(8, R - v.height - 10)), Y < 8 && (Y = 8), F < 8 && (F = 8), x.x = Y, x.y = F; } - async function p(G, z) { - await Ao(), I(G, (z == null ? void 0 : z.value) || null); + async function p(x, T) { + await wo(), I(x, (T == null ? void 0 : T.value) || null); } - function M(G) { - var z, x, w, X, V; + function S(x) { + var T, v, w, R, Y; try { - (X = (w = (x = (z = G == null ? void 0 : G.value) == null ? void 0 : z.querySelector) == null ? void 0 : x.call(z, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : w.focus) == null || X.call(w); - } catch (R) { - (V = console.debug) == null || V.call(console, R); + (R = (w = (v = (T = x == null ? void 0 : x.value) == null ? void 0 : T.querySelector) == null ? void 0 : v.call(T, '.mjr-context-menu-item:not([aria-disabled="true"])')) == null ? void 0 : w.focus) == null || R.call(w); + } catch (F) { + (Y = console.debug) == null || Y.call(console, F); } } - function Z(G, z) { - var X; - if (!Array.isArray(G == null ? void 0 : G.submenu) || !G.submenu.length) { - mr(); + function A(x, T) { + var R; + if (!Array.isArray(x == null ? void 0 : x.submenu) || !x.submenu.length) { + Ir(); return; } d(); - const x = z == null ? void 0 : z.currentTarget, w = (X = x == null ? void 0 : x.getBoundingClientRect) == null ? void 0 : X.call(x); - yW({ + const v = T == null ? void 0 : T.currentTarget, w = (R = v == null ? void 0 : v.getBoundingClientRect) == null ? void 0 : R.call(v); + CW({ x: Math.round(((w == null ? void 0 : w.right) || Dt.main.x || 0) + 6), y: Math.round(((w == null ? void 0 : w.top) || Dt.main.y || 0) - 4), - items: G.submenu, - title: G.label || "" + items: x.submenu, + title: x.label || "" }); } - async function A(G, z, x = "main") { + async function C(x, T, v = "main") { var w; - if (!(!G || G.type !== "item" || G.disabled)) { - if (Array.isArray(G.submenu) && G.submenu.length) { - Z(G, z); + if (!(!x || x.type !== "item" || x.disabled)) { + if (Array.isArray(x.submenu) && x.submenu.length) { + A(x, T); return; } try { - await ((w = G.action) == null ? void 0 : w.call(G)); - } catch (X) { - console.error("[GridContextMenu.vue] Action failed:", X); + await ((w = x.action) == null ? void 0 : w.call(x)); + } catch (R) { + console.error("[GridContextMenu.vue] Action failed:", R); } finally { - G.closeOnSelect !== !1 ? vo() : x === "submenu" && mr(); + x.closeOnSelect !== !1 ? Vo() : v === "submenu" && Ir(); } } } - function g(G, z) { - if (Array.isArray(G == null ? void 0 : G.submenu) && G.submenu.length) { - Z(G, z); + function g(x, T) { + if (Array.isArray(x == null ? void 0 : x.submenu) && x.submenu.length) { + A(x, T); return; } - mr(); + Ir(); } - function h(G) { - Array.isArray(G == null ? void 0 : G.submenu) && G.submenu.length && u(); + function Z(x) { + Array.isArray(x == null ? void 0 : x.submenu) && x.submenu.length && u(); } function f() { d(); @@ -41295,90 +41353,90 @@ ${m( function b() { u(); } - function v(G) { - var w, X, V, R, j, L; - const z = G == null ? void 0 : G.target; - ((X = (w = t.value) == null ? void 0 : w.contains) == null ? void 0 : X.call(w, z)) || ((R = (V = n.value) == null ? void 0 : V.contains) == null ? void 0 : R.call(V, z)) || ((L = (j = i.value) == null ? void 0 : j.contains) == null ? void 0 : L.call(j, z)) || vo(); + function L(x) { + var w, R, Y, F, N, V; + const T = x == null ? void 0 : x.target; + ((R = (w = t.value) == null ? void 0 : w.contains) == null ? void 0 : R.call(w, T)) || ((F = (Y = n.value) == null ? void 0 : Y.contains) == null ? void 0 : F.call(Y, T)) || ((V = (N = i.value) == null ? void 0 : N.contains) == null ? void 0 : V.call(N, T)) || Vo(); } - function C(G) { - (G == null ? void 0 : G.key) === "Escape" && vo(); + function h(x) { + (x == null ? void 0 : x.key) === "Escape" && Vo(); } - function S() { - vo(); + function G() { + Vo(); } - function W(G) { - var z; - String(((z = G == null ? void 0 : G.detail) == null ? void 0 : z.source) || "") !== "grid" && vo(); + function W(x) { + var T; + String(((T = x == null ? void 0 : x.detail) == null ? void 0 : T.source) || "") !== "grid" && Vo(); } - function y(G) { - const z = Dt.tags.asset; - z && (z.tags = Array.isArray(G) ? [...G] : []); + function y(x) { + const T = Dt.tags.asset; + T && (T.tags = Array.isArray(x) ? [...x] : []); } - function k(G) { - var x, w, X; - const z = Array.isArray(G == null ? void 0 : G.tags) ? G.tags : []; + function X(x) { + var v, w, R; + const T = Array.isArray(x == null ? void 0 : x.tags) ? x.tags : []; try { - (w = (x = Dt.tags).onChanged) == null || w.call(x, z); - } catch (V) { - (X = console.debug) == null || X.call(console, V); + (w = (v = Dt.tags).onChanged) == null || w.call(v, T); + } catch (Y) { + (R = console.debug) == null || R.call(console, Y); } } - return an( + return cn( () => Dt.main.open, - async (G) => { - G && (await p(Dt.main, t), M(t)); + async (x) => { + x && (await p(Dt.main, t), S(t)); } - ), an( + ), cn( () => Dt.submenu.open, - async (G) => { - G && (await p(Dt.submenu, n), M(n)); + async (x) => { + x && (await p(Dt.submenu, n), S(n)); } - ), an( + ), cn( () => Dt.tags.open, - async (G) => { - G && await p(Dt.tags, i); + async (x) => { + x && await p(Dt.tags, i); } ), Dn(() => { r = new AbortController(); - const G = { + const x = { capture: !0, passive: !0, signal: r.signal }; - window.addEventListener("pointerdown", v, G), window.addEventListener("keydown", C, { + window.addEventListener("pointerdown", L, x), window.addEventListener("keydown", h, { capture: !0, signal: r.signal - }), window.addEventListener("scroll", S, G), window.addEventListener("wheel", S, G), window.addEventListener("resize", S, { + }), window.addEventListener("scroll", G, x), window.addEventListener("wheel", G, x), window.addEventListener("resize", G, { passive: !0, signal: r.signal }), window.addEventListener("mjr-close-all-menus", W, { signal: r.signal }); }), _n(() => { - var G; + var x; d(); try { r == null || r.abort(); - } catch (z) { - (G = console.debug) == null || G.call(console, z); + } catch (T) { + (x = console.debug) == null || x.call(console, T); } - r = null, vo(); - }), (G, z) => { - var x; - return Ie(), Ei(Ls, { to: "body" }, [ - Ge(Dt).main.open ? (Ie(), he("div", { + r = null, Vo(); + }), (x, T) => { + var v; + return be(), Pi(Ys, { to: "body" }, [ + xe(Dt).main.open ? (be(), Ce("div", { key: 0, ref_key: "mainMenuRef", ref: t, class: "mjr-grid-context-menu mjr-context-menu", - style: vt(l.value), + style: Lt(l.value), role: "menu", "aria-label": "Grid context menu" }, [ - (Ie(!0), he(Xt, null, Cn(Ge(Dt).main.items, (w) => (Ie(), he(Xt, { + (be(!0), Ce(Nt, null, Cn(xe(Dt).main.items, (w) => (be(), Ce(Nt, { key: w.id }, [ - w.type === "separator" ? (Ie(), he("div", Hv)) : (Ie(), he("button", { + w.type === "separator" ? (be(), Ce("div", Qv)) : (be(), Ce("button", { key: 1, type: "button", class: Zn(["mjr-context-menu-item", { @@ -41388,89 +41446,89 @@ ${m( role: "menuitem", "aria-disabled": w.disabled ? "true" : "false", tabindex: w.disabled ? -1 : 0, - onClick: (X) => A(w, X), - onMouseenter: (X) => g(w, X), - onMouseleave: (X) => h(w) + onClick: (R) => C(w, R), + onMouseenter: (R) => g(w, R), + onMouseleave: (R) => Z(w) }, [ - ne("span", Pv, [ - w.iconClass ? (Ie(), he("i", { + ie("span", $v, [ + w.iconClass ? (be(), Ce("i", { key: 0, class: Zn(w.iconClass) - }, null, 2)) : yt("", !0), - ne("span", null, Ye(w.label), 1) + }, null, 2)) : ft("", !0), + ie("span", null, Ye(w.label), 1) ]), - ne("span", Qv, [ - w.rightHint ? (Ie(), he("span", _v, Ye(w.rightHint), 1)) : yt("", !0), - Array.isArray(w.submenu) && w.submenu.length ? (Ie(), he("span", $v, " > ")) : yt("", !0) + ie("span", eL, [ + w.rightHint ? (be(), Ce("span", tL, Ye(w.rightHint), 1)) : ft("", !0), + Array.isArray(w.submenu) && w.submenu.length ? (be(), Ce("span", nL, " > ")) : ft("", !0) ]) - ], 42, qv)) + ], 42, _v)) ], 64))), 128)) - ], 4)) : yt("", !0), - Ge(Dt).submenu.open ? (Ie(), he("div", { + ], 4)) : ft("", !0), + xe(Dt).submenu.open ? (be(), Ce("div", { key: 1, ref_key: "submenuRef", ref: n, class: "mjr-grid-rating-submenu mjr-context-menu", - style: vt(a.value), + style: Lt(a.value), role: "menu", "aria-label": "Grid context submenu", onMouseenter: f, onMouseleave: b }, [ - (Ie(!0), he(Xt, null, Cn(Ge(Dt).submenu.items, (w) => (Ie(), he(Xt, { + (be(!0), Ce(Nt, null, Cn(xe(Dt).submenu.items, (w) => (be(), Ce(Nt, { key: w.id }, [ - w.type === "separator" ? (Ie(), he("div", eL)) : (Ie(), he("button", { + w.type === "separator" ? (be(), Ce("div", iL)) : (be(), Ce("button", { key: 1, type: "button", class: Zn(["mjr-context-menu-item", { "is-disabled": w.disabled }]), role: "menuitem", "aria-disabled": w.disabled ? "true" : "false", tabindex: w.disabled ? -1 : 0, - onClick: (X) => A(w, X, "submenu") + onClick: (R) => C(w, R, "submenu") }, [ - ne("span", nL, [ - w.iconClass ? (Ie(), he("i", { + ie("span", rL, [ + w.iconClass ? (be(), Ce("i", { key: 0, class: Zn(w.iconClass) - }, null, 2)) : yt("", !0), - ne("span", null, Ye(w.label), 1) + }, null, 2)) : ft("", !0), + ie("span", null, Ye(w.label), 1) ]), - w.rightHint ? (Ie(), he("span", iL, Ye(w.rightHint), 1)) : yt("", !0) - ], 10, tL)) + w.rightHint ? (be(), Ce("span", lL, Ye(w.rightHint), 1)) : ft("", !0) + ], 10, oL)) ], 64))), 128)) - ], 36)) : yt("", !0), - Ge(Dt).tags.open && Ge(Dt).tags.asset ? (Ie(), he("div", { + ], 36)) : ft("", !0), + xe(Dt).tags.open && xe(Dt).tags.asset ? (be(), Ce("div", { key: 2, ref_key: "tagsPopoverRef", ref: i, class: "mjr-grid-popover", - style: vt(c.value) + style: Lt(c.value) }, [ - fn(dd, { - asset: Ge(Dt).tags.asset, - "model-value": ((x = Ge(Dt).tags.asset) == null ? void 0 : x.tags) || [], + fn(md, { + asset: xe(Dt).tags.asset, + "model-value": ((v = xe(Dt).tags.asset) == null ? void 0 : v.tags) || [], "onUpdate:modelValue": y, - onTagsChange: k + onTagsChange: X }, null, 8, ["asset", "model-value"]) - ], 4)) : yt("", !0) + ], 4)) : ft("", !0) ]); }; } -}, ap = { +}, cp = { __name: "ContextMenuPortal", setup(e) { - const t = Ae(""), n = Je(() => pW(t.value)); + const t = Ae(""), n = ze(() => hW(t.value)); return Dn(() => { - t.value = IW(); + t.value = yW(); }), _n(() => { - bW(t.value), t.value = ""; - }), (i, o) => n.value ? (Ie(), he(Xt, { key: 0 }, [ - fn(oL), - fn(Ev) - ], 64)) : yt("", !0); + fW(t.value), t.value = ""; + }), (i, o) => n.value ? (be(), Ce(Nt, { key: 0 }, [ + fn(aL), + fn(Pv) + ], 64)) : ft("", !0); } -}, rL = { +}, cL = { __name: "App", setup(e) { const t = Ae(null), n = Ae(null), i = Ae(null), o = Ae(null), r = Ae(null), l = Ae(null); @@ -41522,7 +41580,7 @@ ${m( return (u = (d = r.value) == null ? void 0 : d.disposeGrid) == null ? void 0 : u.call(d); }), l.value && (c.sidebar = l.value.sidebar); try { - a = await u2(t.value, { + a = await I2(t.value, { useComfyThemeUI: !0, external: c }); @@ -41536,29 +41594,29 @@ ${m( } catch { } a = null; - }), (c, s) => (Ie(), he(Xt, null, [ - fn(g2, { + }), (c, s) => (be(), Ce(Nt, null, [ + fn(p2, { ref_key: "statusSectionRef", ref: n }, null, 512), - fn(cx, { + fn(ux, { ref_key: "headerSectionRef", ref: i }, null, 512), - fn(Zx, { + fn(wx, { ref_key: "summaryBarSectionRef", ref: o }, null, 512), - fn(Yx, { + fn(Xx, { ref_key: "assetsGridRef", ref: r }, null, 512), - fn(Rv, { + fn(zv, { ref_key: "sidebarSectionRef", ref: l }, null, 512), - fn(ap), - ne("div", { + fn(cp), + ie("div", { ref_key: "containerRef", ref: t, class: "mjr-vue-root", @@ -41566,7 +41624,7 @@ ${m( }, null, 512) ], 64)); } -}, lL = { +}, sL = { __name: "GeneratedFeedApp", setup(e) { const t = Ae(null); @@ -41588,19 +41646,19 @@ ${m( return Dn(() => { if (t.value) try { - i(t.value), n = vY(t.value); + i(t.value), n = YV(t.value); } catch (o) { console.warn("[Majoor] GeneratedFeedApp.vue: createGeneratedFeedHost failed", o); } }), _n(() => { try { - LY(n); + kV(n); } catch { } n = null; - }), (o, r) => (Ie(), he(Xt, null, [ - fn(ap), - ne("div", { + }), (o, r) => (be(), Ce(Nt, null, [ + fn(cp), + ie("div", { ref_key: "containerRef", ref: t, class: "mjr-vue-feed-root", @@ -41608,23 +41666,23 @@ ${m( }, null, 512) ], 64)); } -}, md = "data-mjr-topbar-mfv-host", cp = "data-mjr-topbar-mfv-button", Cs = "data-mjr-topbar-mfv-slot", aL = "label.floatingViewer", cL = "Viewer", sL = "V, Ctrl/Cmd+V"; -let mi = null, Zs = null, Kn = null, yr = null, fr = null, ga = !1, ll = null, $i = !1, gd = !1; -function sp(e) { +}, Id = "data-mjr-topbar-mfv-host", sp = "data-mjr-topbar-mfv-button", As = "data-mjr-topbar-mfv-slot", dL = "label.floatingViewer", uL = "Viewer", mL = "V, Ctrl/Cmd+V"; +let Ii = null, Ws = null, Kn = null, hr = null, Cr = null, Ia = !1, cl = null, no = !1, bd = !1; +function dp(e) { var t, n; - if (!(mi && Zs === e)) { + if (!(Ii && Ws === e)) { if (!e) { !Kn && typeof MutationObserver < "u" && (Kn = new MutationObserver(() => { var o; - oc() && ((o = Kn == null ? void 0 : Kn.disconnect) == null || o.call(Kn), Kn = null, hr()); + rc() && ((o = Kn == null ? void 0 : Kn.disconnect) == null || o.call(Kn), Kn = null, Zr()); }), Kn.observe(document.body, { childList: !0, subtree: !0 })); return; } try { - (t = mi == null ? void 0 : mi.disconnect) == null || t.call(mi); + (t = Ii == null ? void 0 : Ii.disconnect) == null || t.call(Ii); } catch { } - mi = new MutationObserver(() => hr()), mi.observe(e, { childList: !0 }), Zs = e; + Ii = new MutationObserver(() => Zr()), Ii.observe(e, { childList: !0 }), Ws = e; try { (n = Kn == null ? void 0 : Kn.disconnect) == null || n.call(Kn); } catch { @@ -41632,10 +41690,10 @@ function sp(e) { Kn = null; } } -function oc() { +function rc() { return typeof document > "u" ? null : document.querySelector(".actionbar-container"); } -function jc(e = oc()) { +function vc(e = rc()) { var o; if (typeof document > "u") return; const t = (o = document.documentElement) == null ? void 0 : o.style; @@ -41647,86 +41705,86 @@ function jc(e = oc()) { const n = e.getBoundingClientRect(), i = Math.max(60, Math.ceil(n.bottom + 12)); t.setProperty("--mjr-mfv-top-offset", `${i}px`); } -function dL(e) { +function gL(e) { return e && e.querySelector(".queue-button-group") || null; } -function uL(e) { +function IL(e) { if (!e) return null; - let t = e.querySelector(`[${Cs}]`); - t || (t = document.createElement("div"), t.setAttribute(Cs, "1"), t.className = "flex h-full items-center pointer-events-auto", t.style.position = "relative", t.style.zIndex = "10030", t.style.padding = "0 4px"); - const n = dL(e), i = (n == null ? void 0 : n.parentElement) || e; + let t = e.querySelector(`[${As}]`); + t || (t = document.createElement("div"), t.setAttribute(As, "1"), t.className = "flex h-full items-center pointer-events-auto", t.style.position = "relative", t.style.zIndex = "10030", t.style.padding = "0 4px"); + const n = gL(e), i = (n == null ? void 0 : n.parentElement) || e; return t.parentElement !== i ? n && i ? i.insertBefore(t, n.nextSibling) : i.appendChild(t) : n && i && t.previousSibling !== n ? i.insertBefore(t, n.nextSibling) : !n && t !== i.lastElementChild && i.appendChild(t), t; } -function mL(e = "pi pi-eye") { +function bL(e = "pi pi-eye") { const t = document.createElement("i"); return t.className = e, t.setAttribute("aria-hidden", "true"), t; } -function gL(e = "Viewer") { +function pL(e = "Viewer") { const t = document.createElement("span"); return t.className = "mjr-topbar-mfv-label", t.textContent = e, t; } -function dp(e) { +function up(e) { if (!e) return; - const t = $i ? m("tooltip.closeMFV", "Close Floating Viewer") : m("tooltip.openMFV", "Open Floating Viewer"); - QI(e, t, sL, { + const t = no ? m("tooltip.closeMFV", "Close Floating Viewer") : m("tooltip.openMFV", "Open Floating Viewer"); + _I(e, t, mL, { ariaLabel: t - }), e.setAttribute("aria-pressed", $i ? "true" : "false"), e.classList.toggle("primary", $i), e.classList.toggle("mjr-topbar-mfv-active", $i), e.replaceChildren( - mL($i ? "pi pi-eye-slash" : "pi pi-eye"), - gL(m(aL, cL)) + }), e.setAttribute("aria-pressed", no ? "true" : "false"), e.classList.toggle("primary", no), e.classList.toggle("mjr-topbar-mfv-active", no), e.replaceChildren( + bL(no ? "pi pi-eye-slash" : "pi pi-eye"), + pL(m(dL, uL)) ); } -function IL() { +function yL() { var e; try { - window.dispatchEvent(new Event(ft.MFV_TOGGLE)); + window.dispatchEvent(new Event(ht.MFV_TOGGLE)); } catch (t) { (e = console.debug) == null || e.call(console, "[Majoor] top bar MFV launch failed", t); } - hr(); -} -function bL() { - const e = document.createElement("button"); - return e.type = "button", e.setAttribute(cp, "1"), e.className = "comfyui-button mjr-topbar-mfv-button", e.style.position = "relative", e.style.zIndex = "10030", e.style.width = "auto", e.style.height = "32px", e.style.minWidth = "32px", e.style.padding = "0 10px", e.style.gap = "6px", e.style.display = "inline-flex", e.style.alignItems = "center", e.style.justifyContent = "center", e.style.whiteSpace = "nowrap", e.addEventListener("click", IL), dp(e), e; -} -function pL() { - const e = document.createElement("div"); - return e.setAttribute(md, "1"), e.className = "mjr-topbar-mfv-button-host", e.style.position = "relative", e.appendChild(bL()), e; -} -function yL() { - if (typeof document > "u" || gd) return; - const e = !!document.querySelector(".mjr-mfv.is-visible"); - $i !== e && ($i = e); + Zr(); } function fL() { - const e = oc(); - if (!e) - return jc(null), null; - sp(e), yL(); - const t = uL(e); - if (!t) - return jc(e), null; - let n = t.querySelector(`[${md}]`); - return n || (n = pL()), n.parentElement !== t && t.replaceChildren(n), jc(e), dp(n.querySelector(`[${cp}]`)), t; -} -function hr() { - ga || (ga = !0, ll = window.setTimeout(() => { - ga = !1, ll = null, fL(); - }, 32)); + const e = document.createElement("button"); + return e.type = "button", e.setAttribute(sp, "1"), e.className = "comfyui-button mjr-topbar-mfv-button", e.style.position = "relative", e.style.zIndex = "10030", e.style.width = "auto", e.style.height = "32px", e.style.minWidth = "32px", e.style.padding = "0 10px", e.style.gap = "6px", e.style.display = "inline-flex", e.style.alignItems = "center", e.style.justifyContent = "center", e.style.whiteSpace = "nowrap", e.addEventListener("click", yL), up(e), e; } function hL() { - return typeof window > "u" || typeof document > "u" || !document.body ? !1 : (hr(), yr || (yr = (e) => { - var t; - $i = !!((t = e == null ? void 0 : e.detail) != null && t.visible), gd = !0, hr(); - }, window.addEventListener(ft.MFV_VISIBILITY_CHANGED, yr)), fr || (fr = () => hr(), window.addEventListener("resize", fr)), sp(oc()), !0); + const e = document.createElement("div"); + return e.setAttribute(Id, "1"), e.className = "mjr-topbar-mfv-button-host", e.style.position = "relative", e.appendChild(fL()), e; } -function up() { +function CL() { + if (typeof document > "u" || bd) return; + const e = !!document.querySelector(".mjr-mfv.is-visible"); + no !== e && (no = e); +} +function ZL() { + const e = rc(); + if (!e) + return vc(null), null; + dp(e), CL(); + const t = IL(e); + if (!t) + return vc(e), null; + let n = t.querySelector(`[${Id}]`); + return n || (n = hL()), n.parentElement !== t && t.replaceChildren(n), vc(e), up(n.querySelector(`[${sp}]`)), t; +} +function Zr() { + Ia || (Ia = !0, cl = window.setTimeout(() => { + Ia = !1, cl = null, ZL(); + }, 32)); +} +function AL() { + return typeof window > "u" || typeof document > "u" || !document.body ? !1 : (Zr(), hr || (hr = (e) => { + var t; + no = !!((t = e == null ? void 0 : e.detail) != null && t.visible), bd = !0, Zr(); + }, window.addEventListener(ht.MFV_VISIBILITY_CHANGED, hr)), Cr || (Cr = () => Zr(), window.addEventListener("resize", Cr)), dp(rc()), !0); +} +function mp() { var e, t, n, i, o, r, l, a, c, s, d, u; try { - (e = mi == null ? void 0 : mi.disconnect) == null || e.call(mi); + (e = Ii == null ? void 0 : Ii.disconnect) == null || e.call(Ii); } catch (I) { (t = console.debug) == null || t.call(console, I); } - mi = null, Zs = null; + Ii = null, Ws = null; try { (n = Kn == null ? void 0 : Kn.disconnect) == null || n.call(Kn); } catch (I) { @@ -41734,22 +41792,33 @@ function up() { } Kn = null; try { - ll && window.clearTimeout(ll); + cl && window.clearTimeout(cl); } catch (I) { (o = console.debug) == null || o.call(console, I); } - ll = null, yr && typeof window < "u" && window.removeEventListener(ft.MFV_VISIBILITY_CHANGED, yr), yr = null, fr && typeof window < "u" && window.removeEventListener("resize", fr), fr = null, ga = !1, $i = !1, gd = !1; + cl = null, hr && typeof window < "u" && window.removeEventListener(ht.MFV_VISIBILITY_CHANGED, hr), hr = null, Cr && typeof window < "u" && window.removeEventListener("resize", Cr), Cr = null, Ia = !1, no = !1, bd = !1; try { - (l = (r = document.documentElement) == null ? void 0 : r.style) == null || l.setProperty("--mjr-mfv-top-offset", "60px"), (c = (a = document.querySelector(`[${md}]`)) == null ? void 0 : a.remove) == null || c.call(a), (d = (s = document.querySelector(`[${Cs}]`)) == null ? void 0 : s.remove) == null || d.call(s); + (l = (r = document.documentElement) == null ? void 0 : r.style) == null || l.setProperty("--mjr-mfv-top-offset", "60px"), (c = (a = document.querySelector(`[${Id}]`)) == null ? void 0 : a.remove) == null || c.call(a), (d = (s = document.querySelector(`[${As}]`)) == null ? void 0 : s.remove) == null || d.call(s); } catch (I) { (u = console.debug) == null || u.call(console, I); } } -const As = "mjr-global-runtime-root", mp = "_mjrGlobalRuntimeVueApp", gp = "_mjrSidebarVueApp", Ip = "_mjrFeedVueApp"; -let eo = null, al = null; -const bp = 5e3; -let Ws = 0; -function pp() { +const ws = "mjr-global-runtime-root", gp = "_mjrGlobalRuntimeVueApp", Ip = "_mjrSidebarVueApp", bp = "_mjrFeedVueApp"; +let Di = null, Ar = null; +const pp = 15e3; +let Ms = 0, ii = null; +try { + window.addEventListener("pagehide", () => { + var e; + try { + (e = ii == null ? void 0 : ii.abort) == null || e.call(ii); + } catch { + } + ii = null, Di = null, Ar = null; + }, { once: !0 }); +} catch { +} +function yp() { var e; try { return !!String(((e = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : e.active_prompt_id) || "").trim(); @@ -41757,89 +41826,100 @@ function pp() { return !1; } } -function CL() { - if (pp()) +function fp() { + var n; + if (yp()) return null; const e = Date.now(), t = "output:*:mtime_desc"; - if (eo && al === t && e - Ws < bp) - return eo; - al = t, Ws = e; + if (Di && Ar === t && e - Ms < pp) + return Di; + Ar = t, Ms = e; try { - const n = Vs({ + try { + (n = ii == null ? void 0 : ii.abort) == null || n.call(ii); + } catch { + } + ii = typeof AbortController < "u" ? new AbortController() : null; + const i = Xs({ query: "*", - limit: ye.DEFAULT_PAGE_SIZE || 200, + limit: fe.DEFAULT_PAGE_SIZE || 200, offset: 0, scope: "output", - sort: "mtime_desc" + sort: "mtime_desc", + // Include total so useGridLoader can set state.total correctly. + // Without it the fallback was earlyAssets.length (page size), + // which caused state.done=true after the first page and blocked + // all subsequent pagination / infinite scroll. + includeTotal: !0 }); - eo = Rt(n).catch(() => null); + Di = Ft(i, ii ? { signal: ii.signal } : {}).catch(() => null); } catch { - eo = null; + Di = null, ii = null; } - return eo; + return Di; } -function ZL(e = "output:*:mtime_desc") { - if (!eo || al !== e) +function WL(e = "output:*:mtime_desc") { + if (!Di || Ar !== e) return null; - if (Date.now() - Ws >= bp) - return eo = null, al = null, null; - const n = eo; - return eo = null, al = null, n; + if (Date.now() - Ms >= pp) + return Di = null, Ar = null, null; + const n = Di; + return Di = null, Ar = null, ii = null, n; } -function AL() { +function wL() { if (typeof document > "u" || !(document != null && document.body)) return null; - let e = document.getElementById(As); - return e || (e = document.createElement("div"), e.id = As, e.setAttribute("role", "presentation"), e.style.cssText = // Keep runtime hosts above panel layers so main viewer overlay cannot render underneath. + let e = document.getElementById(ws); + return e || (e = document.createElement("div"), e.id = ws, e.setAttribute("role", "presentation"), e.style.cssText = // Keep runtime hosts above panel layers so main viewer overlay cannot render underneath. "position:fixed;inset:0;overflow:visible;pointer-events:none;z-index:10020;", document.body.appendChild(e), e); } -function WL() { +function ML() { try { - const e = AL(); + const e = wL(); if (!e) return !1; - const t = ad(e, A0, mp); - return hL(), t; + const t = sd(e, M0, gp); + return AL(), t; } catch { return !1; } } -function wL() { +function SL() { var e; try { - up(); - const t = document.getElementById(As); + mp(); + const t = document.getElementById(ws); if (!t) return; - cd(t, mp), (e = t.remove) == null || e.call(t); + dd(t, gp), (e = t.remove) == null || e.call(t); } catch { } } -function yp(e, t) { +function hp(e, t) { var i; - const n = wy(e, t); + const n = Gy(e, t); if (!n) try { - window.dispatchEvent(new Event(ft.OPEN_ASSETS_MANAGER)); + window.dispatchEvent(new Event(ht.OPEN_ASSETS_MANAGER)); } catch (o) { (i = console.debug) == null || i.call(console, o); } return n; } -function fp() { +function Cp() { var e; try { window.dispatchEvent( - new CustomEvent(ft.RELOAD_GRID, { detail: { reason: "command" } }) + new CustomEvent(ht.RELOAD_GRID, { detail: { reason: "command" } }) ); } catch (t) { (e = console.debug) == null || e.call(console, t); } } -function hp(e, { sidebarTabId: t, triggerStartupScan: n }) { +function Zp(e, { sidebarTabId: t, triggerStartupScan: n }) { return [ { id: "mjr.openAssetsManager", label: m("manager.title", "Assets Manager"), icon: "pi pi-folder-open", - function: () => yp(e, t) + function: () => hp(e, t) }, { id: "mjr.scanAssets", @@ -41854,7 +41934,7 @@ function hp(e, { sidebarTabId: t, triggerStartupScan: n }) { function: () => { var i; try { - window.dispatchEvent(new Event(ft.MFV_TOGGLE)); + window.dispatchEvent(new Event(ht.MFV_TOGGLE)); } catch (o) { (i = console.debug) == null || i.call(console, o); } @@ -41864,16 +41944,16 @@ function hp(e, { sidebarTabId: t, triggerStartupScan: n }) { id: "mjr.refreshAssetsGrid", label: m("command.refreshAssetsGrid", "Refresh assets grid"), icon: "pi pi-sync", - function: () => fp() + function: () => Cp() } ]; } -function ML(e, t) { - for (const n of hp(e, t)) - My(e, n); +function GL(e, t) { + for (const n of Zp(e, t)) + xy(e, n); } -function SL(e, { sidebarTabId: t }) { - return Sy(e, { +function xL(e, { sidebarTabId: t }) { + return jy(e, { id: t, icon: "pi pi-folder", title: m("manager.title"), @@ -41881,75 +41961,75 @@ function SL(e, { sidebarTabId: t }) { tooltip: m("tooltip.sidebarTab"), type: "custom", render(n) { - pp() || (CL(), gh({ idleOnly: !0 }).catch(() => null)), ad(n, rL, gp); + yp() || (fp(), ph({ idleOnly: !0 }).catch(() => null)), sd(n, cL, Ip); }, destroy(n) { } }); } -function GL() { +function jL() { try { - cd(null, gp); + dd(null, Ip); } catch { } } -function xL() { +function vL() { return { id: "majoor-generated-feed", title: m("bottomFeed.title", "Generated Feed"), icon: "pi pi-images", type: "custom", render(e) { - ad(e, lL, Ip); + sd(e, sL, bp); }, destroy(e) { } }; } -function jL() { - return [xL()]; +function LL() { + return [vL()]; } -function vL() { +function VL() { try { - cd(null, Ip); + dd(null, bp); } catch { } } -function LL(e) { +function YL(e) { var n; const t = String( (e == null ? void 0 : e.comfyClass) || (e == null ? void 0 : e.type) || ((n = e == null ? void 0 : e.constructor) == null ? void 0 : n.type) || "" ).trim(); return t ? /save|load|preview/i.test(t) : !1; } -function vc(e, t) { +function Lc(e, t) { return { content: e, callback: t }; } -function YL(e, t, { sidebarTabId: n }) { - return LL(e) ? [ - vc( +function kL(e, t, { sidebarTabId: n }) { + return YL(e) ? [ + Lc( "View in Assets Manager", - () => yp(t, n) + () => hp(t, n) ), - vc("Open in Floating Viewer", () => { + Lc("Open in Floating Viewer", () => { var i; try { - window.dispatchEvent(new Event(ft.MFV_OPEN)); + window.dispatchEvent(new Event(ht.MFV_OPEN)); } catch (o) { (i = console.debug) == null || i.call(console, o); } }), - vc("Index Output", () => { + Lc("Index Output", () => { var i; try { - fp(), Ce(m("toast.rescanningFile", "Rescanning file…"), "info", 1800); + Cp(), Ze(m("toast.rescanningFile", "Rescanning file…"), "info", 1800); } catch (o) { (i = console.debug) == null || i.call(console, o); } }) ] : []; } -function VL({ count: e = 0, limit: t = 0, offset: n = 0, total: i = null } = {}) { +function XL({ count: e = 0, limit: t = 0, offset: n = 0, total: i = null } = {}) { const o = Math.max(0, Number(e) || 0); if (o <= 0) return 0; const r = Math.max(0, Number(t) || 0), l = Math.max(0, Number(n) || 0), a = i == null ? null : Math.max(0, Number(i) || 0), c = a == null ? null : Math.max(0, a - l); @@ -41960,26 +42040,26 @@ function VL({ count: e = 0, limit: t = 0, offset: n = 0, total: i = null } = {}) const s = Math.min(r, c); return s <= 0 ? o : Math.max(o, s); } -function kL(e, t) { - var Z, A, g, h, f, b, v; +function NL(e, t) { + var A, C, g, Z, f, b, L; if (!t || typeof t != "object") return !1; - const n = String(((Z = e == null ? void 0 : e.dataset) == null ? void 0 : Z.mjrScope) || "output").trim().toLowerCase(), i = String(((A = e == null ? void 0 : e.dataset) == null ? void 0 : A.mjrSubfolder) || "").trim().toLowerCase(), o = String(((g = e == null ? void 0 : e.dataset) == null ? void 0 : g.mjrFilterKind) || "").trim().toLowerCase(), r = ((h = e == null ? void 0 : e.dataset) == null ? void 0 : h.mjrFilterWorkflowOnly) === "1", l = Number(((f = e == null ? void 0 : e.dataset) == null ? void 0 : f.mjrFilterMinRating) || 0) || 0, a = String(((b = e == null ? void 0 : e.dataset) == null ? void 0 : b.mjrFilterWorkflowType) || "").trim().toLowerCase(), c = String(((v = e == null ? void 0 : e.dataset) == null ? void 0 : v.mjrFilterDateExact) || "").trim(), s = String((t == null ? void 0 : t.subfolder) || "").trim().toLowerCase(), d = String((t == null ? void 0 : t.type) || (t == null ? void 0 : t.source) || "output").trim().toLowerCase(), u = String((t == null ? void 0 : t.kind) || "").trim().toLowerCase(), I = String((t == null ? void 0 : t.workflow_type) || (t == null ? void 0 : t.workflowType) || "").trim().toLowerCase(), p = String((t == null ? void 0 : t.date_exact) || (t == null ? void 0 : t.date) || "").trim(), M = !!((t == null ? void 0 : t.has_workflow) ?? (t == null ? void 0 : t.hasWorkflow)); - return !(n && n !== "all" && d && d !== n || i && s !== i || o && u && u !== o || r && !M || l > 0 && (Number((t == null ? void 0 : t.rating) || 0) || 0) < l || a && I !== a || c && p && p !== c); + const n = String(((A = e == null ? void 0 : e.dataset) == null ? void 0 : A.mjrScope) || "output").trim().toLowerCase(), i = String(((C = e == null ? void 0 : e.dataset) == null ? void 0 : C.mjrSubfolder) || "").trim().toLowerCase(), o = String(((g = e == null ? void 0 : e.dataset) == null ? void 0 : g.mjrFilterKind) || "").trim().toLowerCase(), r = ((Z = e == null ? void 0 : e.dataset) == null ? void 0 : Z.mjrFilterWorkflowOnly) === "1", l = Number(((f = e == null ? void 0 : e.dataset) == null ? void 0 : f.mjrFilterMinRating) || 0) || 0, a = String(((b = e == null ? void 0 : e.dataset) == null ? void 0 : b.mjrFilterWorkflowType) || "").trim().toLowerCase(), c = String(((L = e == null ? void 0 : e.dataset) == null ? void 0 : L.mjrFilterDateExact) || "").trim(), s = String((t == null ? void 0 : t.subfolder) || "").trim().toLowerCase(), d = String((t == null ? void 0 : t.type) || (t == null ? void 0 : t.source) || "output").trim().toLowerCase(), u = String((t == null ? void 0 : t.kind) || "").trim().toLowerCase(), I = String((t == null ? void 0 : t.workflow_type) || (t == null ? void 0 : t.workflowType) || "").trim().toLowerCase(), p = String((t == null ? void 0 : t.date_exact) || (t == null ? void 0 : t.date) || "").trim(), S = (t == null ? void 0 : t.has_workflow) ?? (t == null ? void 0 : t.hasWorkflow) ?? null; + return !(n && n !== "all" && d && d !== n || i && s !== i || o && u && u !== o || r && S !== null && !S || l > 0 && (Number((t == null ? void 0 : t.rating) || 0) || 0) < l || a && I !== a || c && p && p !== c); } -async function XL(e, t, n, i, o, { requestId: r = 0, signal: l = null } = {}) { - var w, X, V, R, j, L, N, q, O, B, J, T, D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H; - const a = ($) => { +async function RL(e, t, n, i, o, { requestId: r = 0, signal: l = null } = {}) { + var w, R, Y, F, N, V, k, K, z, B, J, P, H, $, E, oe, M, j, O, D, q, ee, ce, ue, U; + const a = (Q) => { var _; - if (typeof $ == "string") return $; - if ($ && typeof $ == "object") { - if (typeof $.value == "string") return $.value; - if (typeof ((_ = $.target) == null ? void 0 : _.value) == "string") return $.target.value; + if (typeof Q == "string") return Q; + if (Q && typeof Q == "object") { + if (typeof Q.value == "string") return Q.value; + if (typeof ((_ = Q.target) == null ? void 0 : _.value) == "string") return Q.target.value; } - return String($ || ""); - }, c = ((w = e == null ? void 0 : e.dataset) == null ? void 0 : w.mjrScope) || "output", s = ((X = e == null ? void 0 : e.dataset) == null ? void 0 : X.mjrCustomRootId) || "", d = ((V = e == null ? void 0 : e.dataset) == null ? void 0 : V.mjrSubfolder) || "", u = ((R = e == null ? void 0 : e.dataset) == null ? void 0 : R.mjrFilterKind) || "", I = ((j = e == null ? void 0 : e.dataset) == null ? void 0 : j.mjrFilterWorkflowOnly) === "1", p = Number(((L = e == null ? void 0 : e.dataset) == null ? void 0 : L.mjrFilterMinRating) || 0) || 0, M = Number(((N = e == null ? void 0 : e.dataset) == null ? void 0 : N.mjrFilterMinSizeMB) || 0) || 0, Z = Number(((q = e == null ? void 0 : e.dataset) == null ? void 0 : q.mjrFilterMaxSizeMB) || 0) || 0, A = String(((O = e == null ? void 0 : e.dataset) == null ? void 0 : O.mjrFilterResolutionCompare) || "gte") === "lte" ? "lte" : "gte", g = Number(((B = e == null ? void 0 : e.dataset) == null ? void 0 : B.mjrFilterMinWidth) || 0) || 0, h = Number(((J = e == null ? void 0 : e.dataset) == null ? void 0 : J.mjrFilterMinHeight) || 0) || 0, f = Number(((T = e == null ? void 0 : e.dataset) == null ? void 0 : T.mjrFilterMaxWidth) || 0) || 0, b = Number(((D = e == null ? void 0 : e.dataset) == null ? void 0 : D.mjrFilterMaxHeight) || 0) || 0, v = String(((Q = e == null ? void 0 : e.dataset) == null ? void 0 : Q.mjrFilterWorkflowType) || "").trim().toUpperCase(), C = String(((E = e == null ? void 0 : e.dataset) == null ? void 0 : E.mjrFilterDateRange) || "").trim().toLowerCase(), S = String(((K = e == null ? void 0 : e.dataset) == null ? void 0 : K.mjrFilterDateExact) || "").trim(), W = ((F = e == null ? void 0 : e.dataset) == null ? void 0 : F.mjrSort) || "mtime_desc", y = String(((Y = e == null ? void 0 : e.dataset) == null ? void 0 : Y.mjrGroupStacks) || "") === "1", G = a(t).trim() || "*", z = /^\[object\s+HTML.*Element\]$/i.test(G) ? "*" : G, x = o.sanitizeQuery(z) || z; + return String(Q || ""); + }, c = ((w = e == null ? void 0 : e.dataset) == null ? void 0 : w.mjrScope) || "output", s = ((R = e == null ? void 0 : e.dataset) == null ? void 0 : R.mjrCustomRootId) || "", d = ((Y = e == null ? void 0 : e.dataset) == null ? void 0 : Y.mjrSubfolder) || "", u = ((F = e == null ? void 0 : e.dataset) == null ? void 0 : F.mjrFilterKind) || "", I = ((N = e == null ? void 0 : e.dataset) == null ? void 0 : N.mjrFilterWorkflowOnly) === "1", p = Number(((V = e == null ? void 0 : e.dataset) == null ? void 0 : V.mjrFilterMinRating) || 0) || 0, S = Number(((k = e == null ? void 0 : e.dataset) == null ? void 0 : k.mjrFilterMinSizeMB) || 0) || 0, A = Number(((K = e == null ? void 0 : e.dataset) == null ? void 0 : K.mjrFilterMaxSizeMB) || 0) || 0, C = String(((z = e == null ? void 0 : e.dataset) == null ? void 0 : z.mjrFilterResolutionCompare) || "gte") === "lte" ? "lte" : "gte", g = Number(((B = e == null ? void 0 : e.dataset) == null ? void 0 : B.mjrFilterMinWidth) || 0) || 0, Z = Number(((J = e == null ? void 0 : e.dataset) == null ? void 0 : J.mjrFilterMinHeight) || 0) || 0, f = Number(((P = e == null ? void 0 : e.dataset) == null ? void 0 : P.mjrFilterMaxWidth) || 0) || 0, b = Number(((H = e == null ? void 0 : e.dataset) == null ? void 0 : H.mjrFilterMaxHeight) || 0) || 0, L = String((($ = e == null ? void 0 : e.dataset) == null ? void 0 : $.mjrFilterWorkflowType) || "").trim().toUpperCase(), h = String(((E = e == null ? void 0 : e.dataset) == null ? void 0 : E.mjrFilterDateRange) || "").trim().toLowerCase(), G = String(((oe = e == null ? void 0 : e.dataset) == null ? void 0 : oe.mjrFilterDateExact) || "").trim(), W = ((M = e == null ? void 0 : e.dataset) == null ? void 0 : M.mjrSort) || "mtime_desc", y = String(((j = e == null ? void 0 : e.dataset) == null ? void 0 : j.mjrGroupStacks) || "") === "1", x = a(t).trim() || "*", T = /^\[object\s+HTML.*Element\]$/i.test(x) ? "*" : x, v = o.sanitizeQuery(T) || T; try { - const $ = !(String(c || "").toLowerCase() === "output" && Number(i ?? 0) > 0), _ = o.buildListURL({ - q: x, + const Q = String(c || "").toLowerCase() === "output", _ = !!(d || s || u || I || p > 0 || S > 0 || A > 0 || g > 0 || Z > 0 || f > 0 || b > 0 || L || h || G || y), le = Q && Number(i ?? 0) === 0 && v === "*" && !_ && String(W || "mtime_desc").toLowerCase() === "mtime_desc", de = !(Q && (Number(i ?? 0) > 0 || le)), se = o.buildListURL({ + q: v, limit: n, offset: i, scope: c, @@ -41988,58 +42068,58 @@ async function XL(e, t, n, i, o, { requestId: r = 0, signal: l = null } = {}) { kind: u || null, hasWorkflow: I ? !0 : null, minRating: p > 0 ? p : null, - minSizeMB: M > 0 ? M : null, - maxSizeMB: Z > 0 ? Z : null, - resolutionCompare: A, + minSizeMB: S > 0 ? S : null, + maxSizeMB: A > 0 ? A : null, + resolutionCompare: C, minWidth: g > 0 ? g : null, - minHeight: h > 0 ? h : null, + minHeight: Z > 0 ? Z : null, maxWidth: f > 0 ? f : null, maxHeight: b > 0 ? b : null, - workflowType: v || null, - dateRange: C || null, - dateExact: S || null, + workflowType: L || null, + dateRange: h || null, + dateExact: G || null, sort: W, - includeTotal: $, + includeTotal: de, groupStacks: y - }), le = await o.get(_, l ? { signal: l } : void 0); + }), ge = await o.get(se, { timeoutMs: 12e4, ...l ? { signal: l } : {} }); try { - const se = o.getGridState(e); - if (se && Number(se.requestId) !== Number(r)) + const je = o.getGridState(e); + if (je && Number(je.requestId) !== Number(r)) return { ok: !1, stale: !0, error: "Stale response" }; - } catch (se) { - (U = console.debug) == null || U.call(console, se); + } catch (je) { + (O = console.debug) == null || O.call(console, je); } - if (le.ok) { - const se = ((P = le.data) == null ? void 0 : P.assets) || [], de = Array.isArray(se) ? se.length : 0, Ze = (ee = le.data) == null ? void 0 : ee.total, Fe = Ze == null ? null : Number(Ze ?? 0) || 0, xe = Math.max(0, Number((oe = le.data) == null ? void 0 : oe.limit) || 0), ze = Math.max(0, Number((ce = le.data) == null ? void 0 : ce.offset) || 0); + if (ge.ok) { + const je = ((D = ge.data) == null ? void 0 : D.assets) || [], Se = Array.isArray(je) ? je.length : 0, ke = (q = ge.data) == null ? void 0 : q.total, we = ke == null ? null : Number(ke ?? 0) || 0, Je = Math.max(0, Number((ee = ge.data) == null ? void 0 : ee.limit) || 0), $e = Math.max(0, Number((ce = ge.data) == null ? void 0 : ce.offset) || 0); return { ok: !0, - assets: se, - total: Fe, - count: de, - limit: xe, - offset: ze, + assets: je, + total: we, + count: Se, + limit: Je, + offset: $e, sortKey: W, - safeQuery: x + safeQuery: v }; } try { - if (String((le == null ? void 0 : le.code) || "") === "ABORTED") + if (String((ge == null ? void 0 : ge.code) || "") === "ABORTED") return { ok: !1, aborted: !0, error: "Aborted" }; - } catch (se) { - (pe = console.debug) == null || pe.call(console, se); + } catch (je) { + (ue = console.debug) == null || ue.call(console, je); } - return { ok: !1, error: le.error }; - } catch ($) { + return { ok: !1, error: ge.error }; + } catch (Q) { try { - if (String(($ == null ? void 0 : $.name) || "") === "AbortError") + if (String((Q == null ? void 0 : Q.name) || "") === "AbortError") return { ok: !1, aborted: !0, error: "Aborted" }; } catch (_) { - (H = console.debug) == null || H.call(console, _); + (U = console.debug) == null || U.call(console, _); } - return { ok: !1, error: $.message }; + return { ok: !1, error: Q.message }; } } -function Ta(e, t) { +function Ba(e, t) { switch (t) { case "mtime_desc": return -(Number(e == null ? void 0 : e.mtime) || 0); @@ -42052,36 +42132,36 @@ function Ta(e, t) { return -(Number(e == null ? void 0 : e.mtime) || 0); } } -function NL(e, t, n) { +function FL(e, t, n) { if (n === "name_desc") { const r = String((e == null ? void 0 : e.filename) || "").toLowerCase(), l = String((t == null ? void 0 : t.filename) || "").toLowerCase(); return r > l ? -1 : r < l ? 1 : 0; } - const i = Ta(e, n), o = Ta(t, n); + const i = Ba(e, n), o = Ba(t, n); return i < o ? -1 : i > o ? 1 : 0; } -function RL(e, t, n) { +function OL(e, t, n) { return n === "name_asc" ? String(e) < String(t) : n === "name_desc" ? String(e) > String(t) : Number(e) < Number(t); } -function FL(e, t, n) { - const i = Ta(t, n); +function zL(e, t, n) { + const i = Ba(t, n); for (let o = 0; o < e.length; o++) { - const r = Ta(e[o], n); - if (RL(i, r, n)) return o; + const r = Ba(e[o], n); + if (OL(i, r, n)) return o; } return e.length; } -function Cp(e, t) { +function Ap(e, t) { let n = t.get(e); return n || (n = { pending: /* @__PURE__ */ new Map(), timer: null, flushing: !1 }, t.set(e, n)), n; } -function Ur(e) { +function Dr(e) { return String(e ?? "").trim().toLowerCase(); } -function OL(e) { +function Wp(e) { return (e == null ? void 0 : e._mjrLivePlaceholder) === !0 || (e == null ? void 0 : e.is_live_placeholder) === !0 || String((e == null ? void 0 : e.id) || "").trim().toLowerCase().startsWith("live:"); } -function Om(e) { +function Vc(e) { var t; if (!e || typeof e != "object") return e; try { @@ -42091,35 +42171,55 @@ function Om(e) { } return e; } -function zm(e) { +function Jm(e) { if (!e || typeof e != "object") return ""; - const t = Ur((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output"), n = Ur((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || ""), i = Ur((e == null ? void 0 : e.subfolder) || ""), o = Ur((e == null ? void 0 : e.filename) || ""); + const t = Dr((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output"), n = Dr((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || ""), i = Dr((e == null ? void 0 : e.subfolder) || ""), o = Dr((e == null ? void 0 : e.filename) || ""); if (o) return `${t}|${n}|${i}|${o}`; - const r = Ur( + const r = Dr( (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || (e == null ? void 0 : e.fullpath) || (e == null ? void 0 : e.full_path) || "" ); return r ? `${t}|${n}|path|${r}` : ""; } -function zL(e, t, n) { +function JL(e, t, n) { const i = Array.isArray(e == null ? void 0 : e.assets) ? e.assets : []; if (t) { const r = i.findIndex((l) => String((l == null ? void 0 : l.id) || "") === t); if (r > -1) return r; } - const o = zm(n); - return o ? i.findIndex((r) => zm(r) === o) : -1; + const o = Jm(n); + return o ? i.findIndex((r) => Jm(r) === o) : -1; } -function JL(e, t) { +function TL(e, t) { + return !t || typeof t != "object" || !e || typeof e != "object" ? !1 : Wp(t) ? !0 : ![ + "filename", + "filepath", + "path", + "fullpath", + "full_path", + "subfolder", + "type", + "source", + "root_id", + "custom_root_id", + "kind", + "rating", + "workflow_type", + "workflowType", + "date_exact", + "date" + ].some((i) => Object.prototype.hasOwnProperty.call(e, i)); +} +function BL(e, t) { const n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Map(), r = []; for (const l of Array.isArray(e == null ? void 0 : e.assets) ? e.assets : []) { - const a = (l == null ? void 0 : l.id) != null ? String(l.id) : "", c = t.assetKey(l), s = pr(l == null ? void 0 : l.filename); + const a = (l == null ? void 0 : l.id) != null ? String(l.id) : "", c = t.assetKey(l), s = fr(l == null ? void 0 : l.filename); if (!(a && n.has(a)) && !(c && i.has(c))) { if (s) { const d = o.get(s); if (d) { - const u = Array.isArray(d._mjrDupMembers) ? d._mjrDupMembers : [d], I = new Set(u.map((M) => String((M == null ? void 0 : M.id) || ""))), p = [ + const u = Array.isArray(d._mjrDupMembers) ? d._mjrDupMembers : [d], I = new Set(u.map((S) => String((S == null ? void 0 : S.id) || ""))), p = [ ...u, - ...[l].filter((M) => !I.has(String((M == null ? void 0 : M.id) || ""))) + ...[l].filter((S) => !I.has(String((S == null ? void 0 : S.id) || ""))) ]; d._mjrDupStack = !0, d._mjrDupMembers = p, d._mjrDupCount = p.length, d._mjrNameCollision = !1, delete d._mjrNameCollisionCount, delete d._mjrNameCollisionPaths, l._mjrNameCollision = !1, delete l._mjrNameCollisionCount, delete l._mjrNameCollisionPaths, l._mjrDupStack = !1, l._mjrDupMembers = null, l._mjrDupCount = 0; continue; @@ -42130,8 +42230,8 @@ function JL(e, t) { } e.assets = r, e.assetIdSet = n, e.seenKeys = i; } -function Ba(e, t) { - var l, a, c, s, d, u, I, p, M, Z, A; +function Ua(e, t) { + var l, a, c, s, d, u, I, p, S, A, C; const n = t.upsertState.get(e); if (!n || n.pending.size === 0 || n.flushing) return; n.flushing = !0, n.timer && (clearTimeout(n.timer), n.timer = null); @@ -42140,24 +42240,24 @@ function Ba(e, t) { const o = t.getOrCreateState(e), r = t.ensureVirtualGrid(e, o); try { let g = !1; - for (const [h, f] of i.entries()) { - const b = OL(f); + for (const [Z, f] of i.entries()) { + const b = Wp(f); o.assetKeyFn = t.assetKey; - const v = XI(f, o, t.loadMajoorSettings); - if (Array.isArray(v == null ? void 0 : v.removed) && v.removed.length) { - const w = new Set(v.removed); - o.assets = o.assets.filter((X) => { - const V = !w.has(X); - return V || os(o, X, o), V; + const L = NI(f, o, t.loadMajoorSettings); + if (Array.isArray(L == null ? void 0 : L.removed) && L.removed.length) { + const w = new Set(L.removed); + o.assets = o.assets.filter((R) => { + const Y = !w.has(R); + return Y || ls(o, R, o), Y; }); try { - o.hiddenPngSiblings = (Number(o.hiddenPngSiblings || 0) || 0) + v.removed.length; - } catch (X) { - (l = console.debug) == null || l.call(console, X); + o.hiddenPngSiblings = (Number(o.hiddenPngSiblings || 0) || 0) + L.removed.length; + } catch (R) { + (l = console.debug) == null || l.call(console, R); } g = !0; } - if (v != null && v.hidden) { + if (L != null && L.hidden) { try { o.hiddenPngSiblings = (Number(o.hiddenPngSiblings || 0) || 0) + 1; } catch (w) { @@ -42165,53 +42265,60 @@ function Ba(e, t) { } continue; } - const C = o.assets.findIndex((w) => String(w.id) === h), S = C > -1 ? o.assets[C] : null, W = S ? { ...S, ...f } : f, y = C > -1 ? C : zL(o, h, W), k = y > -1 ? o.assets[y] : null, G = k ? { ...k, ...f } : W, z = t.assetKey(W); - if (!kL(e, G)) { + const h = o.assets.findIndex((w) => String(w.id) === Z), G = h > -1 ? o.assets[h] : null, W = G ? { ...G, ...f } : f, y = h > -1 ? h : JL(o, Z, W), X = y > -1 ? o.assets[y] : null, x = X ? { ...X, ...f } : W, T = t.assetKey(W); + if (!NL(e, x)) { if (y > -1) { + if (TL(f, X)) { + Object.assign(X, f), b || Vc(X), o.assets[y] = { ...X }, g = !0; + continue; + } const [w] = o.assets.splice(y, 1); - os(o, w, o), g = !0; + ls(o, w, o), g = !0; } continue; } if (y > -1) { - const w = t.assetKey(k); - Object.assign(k, f), b || Om(k); - const X = { ...k }, V = t.assetKey(X); - o.assets[y] = X, w && w !== V && ((s = (c = o.seenKeys) == null ? void 0 : c.delete) == null || s.call(c, w), V && ((u = (d = o.seenKeys) == null ? void 0 : d.add) == null || u.call(d, V))), g = !0; - } else if (!(o.seenKeys.has(z) || f.id != null && ((p = (I = o.assetIdSet) == null ? void 0 : I.has) == null ? void 0 : p.call(I, h)))) { - const X = e.dataset.mjrSort || "mtime_desc", V = b ? W : Om({ ...W }), R = FL(o.assets, V, X); - o.seenKeys.add(z), f.id != null && ((Z = (M = o.assetIdSet) == null ? void 0 : M.add) == null || Z.call(M, h)), o.assets.splice(R, 0, V), g = !0; + const w = t.assetKey(X); + Object.assign(X, f), b || Vc(X); + const R = { ...X }, Y = t.assetKey(R); + o.assets[y] = R, w && w !== Y && ((s = (c = o.seenKeys) == null ? void 0 : c.delete) == null || s.call(c, w), Y && ((u = (d = o.seenKeys) == null ? void 0 : d.add) == null || u.call(d, Y))), g = !0; + } else if (!(o.seenKeys.has(T) || f.id != null && ((p = (I = o.assetIdSet) == null ? void 0 : I.has) == null ? void 0 : p.call(I, Z)))) { + const R = e.dataset.mjrSort || "mtime_desc", Y = b ? W : Vc({ ...W }), F = zL(o.assets, Y, R); + o.seenKeys.add(T), f.id != null && ((A = (S = o.assetIdSet) == null ? void 0 : S.add) == null || A.call(S, Z)), o.assets.splice(F, 0, Y), g = !0; } } if (g && r) { - JL(o, t); + BL(o, t); try { e.dataset.mjrHiddenPngSiblings = String( Number(o.hiddenPngSiblings || 0) || 0 ); - } catch (h) { - (A = console.debug) == null || A.call(console, h); + } catch (Z) { + (C = console.debug) == null || C.call(console, Z); } r.setItems(o.assets); } } finally { - n.flushing = !1, n.pending.size > 0 && !n.timer && (n.timer = setTimeout(() => { - n.timer = null, Ba(e, t); - }, t.debounceMs)); + if (n.flushing = !1, n.pending.size > 0 && !n.timer) { + const g = Math.min(16, t.debounceMs); + n.timer = setTimeout(() => { + n.timer = null, Ua(e, t); + }, g); + } } } -function Jm(e, t, n) { +function Tm(e, t, n) { if (!t || !t.id) return !1; const i = n.getOrCreateState(e), o = String(t.id); if (!n.ensureVirtualGrid(e, i)) return !1; - const l = Cp(e, n.upsertState); - return l.pending.set(o, t), l.pending.size >= n.maxBatchSize ? Ba(e, n) : !l.timer && !l.flushing && (l.timer = setTimeout(() => { - l.timer = null, Ba(e, n); + const l = Ap(e, n.upsertState); + return l.pending.set(o, t), l.pending.size >= n.maxBatchSize ? Ua(e, n) : !l.timer && !l.flushing && (l.timer = setTimeout(() => { + l.timer = null, Ua(e, n); }, n.debounceMs)), !0; } -const Ii = /* @__PURE__ */ new Map(), TL = 8, BL = 800, Zp = "mjr_grid_snapshot_cache_v2", Ap = 1800 * 1e3, UL = 200, KL = 50, Lc = /* @__PURE__ */ new WeakMap(), El = 50; -let Tm = !1; -const DL = [ +const pi = /* @__PURE__ */ new Map(), UL = 8, KL = 800, wp = "mjr_grid_snapshot_cache_v2", Mp = 1800 * 1e3, DL = 200, EL = 50, Yc = /* @__PURE__ */ new WeakMap(), Hl = 50; +let Bm = !1; +const HL = [ "id", "filename", "name", @@ -42263,130 +42370,142 @@ const DL = [ "date", "date_exact" ]; -function Bm(e) { +function Um(e) { return new Promise((t) => setTimeout(t, Math.max(0, Number(e) || 0))); } -function Jn(e, t = "") { +function Fn(e, t = "") { try { return String(e ?? t).trim(); } catch { return String(t); } } -function Yc(e = {}) { +function qL(e) { + if (!e || typeof e != "object") return ""; + if (e.id != null && String(e.id).trim()) + return `id:${String(e.id).trim()}`; + const t = String((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output").trim().toLowerCase(), n = String(Mi(e) || "").trim().toLowerCase(), i = String((e == null ? void 0 : e.subfolder) || "").trim().toLowerCase(), o = String((e == null ? void 0 : e.filename) || "").trim().toLowerCase(); + if (o) return `${t}|${n}|${i}|${o}`; + const r = String( + (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || (e == null ? void 0 : e.fullpath) || (e == null ? void 0 : e.full_path) || "" + ).trim().toLowerCase(); + return r ? `${t}|${n}|path|${r}` : ""; +} +function kc(e = {}) { return JSON.stringify({ - scope: Jn(e.scope || "output", "output"), - query: Jn(e.query || "*", "*"), - customRootId: Jn(e.customRootId || ""), - subfolder: Jn(e.subfolder || ""), - collectionId: Jn(e.collectionId || ""), - viewScope: Jn(e.viewScope || ""), - kind: Jn(e.kind || ""), - workflowOnly: Jn(e.workflowOnly ? "1" : ""), - minRating: Jn(e.minRating || ""), - minSizeMB: Jn(e.minSizeMB || ""), - maxSizeMB: Jn(e.maxSizeMB || ""), - resolutionCompare: Jn(e.resolutionCompare || ""), - minWidth: Jn(e.minWidth || ""), - minHeight: Jn(e.minHeight || ""), - maxWidth: Jn(e.maxWidth || ""), - maxHeight: Jn(e.maxHeight || ""), - workflowType: Jn(e.workflowType || "").toUpperCase(), - dateRange: Jn(e.dateRange || ""), - dateExact: Jn(e.dateExact || ""), - sort: Jn(e.sort || "mtime_desc", "mtime_desc") + scope: Fn(e.scope || "output", "output"), + query: Fn(e.query || "*", "*"), + customRootId: Fn(e.customRootId || ""), + subfolder: Fn(e.subfolder || ""), + collectionId: Fn(e.collectionId || ""), + viewScope: Fn(e.viewScope || ""), + kind: Fn(e.kind || ""), + workflowOnly: Fn(e.workflowOnly ? "1" : ""), + minRating: Fn(e.minRating || ""), + minSizeMB: Fn(e.minSizeMB || ""), + maxSizeMB: Fn(e.maxSizeMB || ""), + resolutionCompare: Fn(e.resolutionCompare || ""), + minWidth: Fn(e.minWidth || ""), + minHeight: Fn(e.minHeight || ""), + maxWidth: Fn(e.maxWidth || ""), + maxHeight: Fn(e.maxHeight || ""), + workflowType: Fn(e.workflowType || "").toUpperCase(), + dateRange: Fn(e.dateRange || ""), + dateExact: Fn(e.dateExact || ""), + sort: Fn(e.sort || "mtime_desc", "mtime_desc"), + semanticMode: Fn(e.semanticMode ? "1" : "") }); } -function Wp() { +function Sp() { try { return (globalThis == null ? void 0 : globalThis.sessionStorage) || null; } catch { return null; } } -function wp(e) { +function Gp(e) { if (!e || typeof e != "object") return null; const t = {}; - for (const n of DL) + for (const n of HL) e[n] !== void 0 && (t[n] = e[n]); return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind || (t.kind = e.kind || "image"), Array.isArray(t.tags) && (t.tags = t.tags.slice(0, 80)), Array.isArray(t.auto_tags) && (t.auto_tags = t.auto_tags.slice(0, 80)), t; } -function Mp(e) { +function xp(e) { if (!e || typeof e != "object") return null; const t = Number(e.at || 0) || 0; - if (!t || Date.now() - t > Ap) return null; - const n = Array.isArray(e.assets) ? e.assets.map(wp).filter(Boolean) : []; + if (!t || Date.now() - t > Mp) return null; + const n = Array.isArray(e.assets) ? e.assets.map(Gp).filter(Boolean) : []; if (!n.length) return null; const i = Number(e.total ?? n.length), o = Number(e.offset ?? n.length); return { assets: n, - title: Jn(e.title || "Cached", "Cached"), + title: Fn(e.title || "Cached", "Cached"), at: t, total: Number.isFinite(i) ? Math.max(0, i) : n.length, offset: Number.isFinite(o) ? Math.max(n.length, o) : n.length, done: !!e.done, - query: Jn(e.query || "*", "*") + query: Fn(e.query || "*", "*") }; } -function Sp() { +function jp() { const e = Date.now(); - for (const [t, n] of Ii.entries()) { + for (const [t, n] of pi.entries()) { const i = Number((n == null ? void 0 : n.at) || 0) || 0; - (!i || e - i > Ap) && Ii.delete(t); + (!i || e - i > Mp) && pi.delete(t); } - for (; Ii.size > TL; ) { - const t = Ii.keys().next().value; + for (; pi.size > UL; ) { + const t = pi.keys().next().value; if (!t) break; - Ii.delete(t); + pi.delete(t); } } -function EL() { +function PL() { var e, t; - if (!Tm) { - Tm = !0; + if (!Bm) { + Bm = !0; try { - const n = Wp(), i = (e = n == null ? void 0 : n.getItem) == null ? void 0 : e.call(n, Zp); + const n = Sp(), i = (e = n == null ? void 0 : n.getItem) == null ? void 0 : e.call(n, wp); if (!i) return; const o = JSON.parse(i), r = Array.isArray(o == null ? void 0 : o.entries) ? o.entries : []; for (const l of r) { if (!Array.isArray(l) || l.length < 2) continue; - const a = String(l[0] || ""), c = Mp(l[1]); - a && c && Ii.set(a, c); + const a = String(l[0] || ""), c = xp(l[1]); + a && c && pi.set(a, c); } - Sp(); + jp(); } catch (n) { (t = console.debug) == null || t.call(console, n); } } } -function ws() { +function Ss() { var e; try { - Sp(); - const t = Wp(); + jp(); + const t = Sp(); if (!t) return; t.setItem( - Zp, + wp, JSON.stringify({ version: 2, - entries: Array.from(Ii.entries()) + entries: Array.from(pi.entries()) }) ); } catch (t) { (e = console.debug) == null || e.call(console, t); } } -function HL(e) { - EL(); - const t = Mp(Ii.get(e)); - return t ? (Ii.delete(e), Ii.set(e, t), ws(), t) : (Ii.delete(e), ws(), null); +function QL(e) { + PL(); + const t = xp(pi.get(e)); + return t ? (pi.delete(e), pi.set(e, t), Ss(), t) : (pi.delete(e), Ss(), null); } -function Um(e) { +function Km(e) { if (e == null) return e; const t = String(e); return t.trim() === "" ? t : t.trim() === "*" ? "*" : t.replace(/[\u0000-\u001f\u007f]+/g, " ").replace(/[<>]/g, " ").replace(/\s+/g, " ").trim() || t; } -function qL(e) { +function _L(e) { var t, n; if (typeof e == "string") return e; if (e && typeof e == "object") { @@ -42403,10 +42522,10 @@ function qL(e) { } return String(e || ""); } -function PL(e) { +function $L(e) { return e ? typeof e == "object" && "value" in e ? e.value || null : e : null; } -function QL(e) { +function eV(e) { var n; const t = String(e ?? ""); try { @@ -42417,8 +42536,8 @@ function QL(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -async function Km() { - await Ao(), await new Promise((e) => { +async function Dm() { + await wo(), await new Promise((e) => { try { requestAnimationFrame(() => requestAnimationFrame(e)); } catch { @@ -42426,7 +42545,7 @@ async function Km() { } }); } -function Vc(e, t) { +function Xc(e, t) { const n = String(e || "Failed to load"); try { const i = String((t == null ? void 0 : t.message) || t || "").trim(), o = i.toLowerCase(); @@ -42435,16 +42554,16 @@ function Vc(e, t) { return n; } } -function _L(e, t) { - const n = Math.max(1, Math.min(ye.MAX_PAGE_SIZE, Number(e) || 1)), i = Math.max(0, Number(t) || 0); +function tV(e, t) { + const n = Math.max(1, Math.min(fe.MAX_PAGE_SIZE, Number(e) || 1)), i = Math.max(0, Number(t) || 0); if (i <= 0) return n; const o = 2 ** Math.min(i, 5); - return Math.max(1, Math.min(ye.MAX_PAGE_SIZE, n * o)); + return Math.max(1, Math.min(fe.MAX_PAGE_SIZE, n * o)); } -function Hl(e) { +function ql(e) { e.seenKeys = /* @__PURE__ */ new Set(), e.assetIdSet = /* @__PURE__ */ new Set(), e.filenameCounts = /* @__PURE__ */ new Map(), e.nonImageSiblingKeys = /* @__PURE__ */ new Set(), e.stemMap = /* @__PURE__ */ new Map(), e.renderedFilenameMap = /* @__PURE__ */ new Map(), e.hiddenPngSiblings = 0; } -function $L({ +function nV({ gridContainerRef: e, state: t, setLoadingMessage: n, @@ -42460,283 +42579,316 @@ function $L({ }, canLoadMore: I = null } = {}) { - let p = !1, M = null; - function Z() { - return PL(e); + var oe; + let p = !1, S = null, A = null; + function C() { + return $L(e); } - function A() { - var D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $, _, le, se, de, Ze, Fe; - const T = Z(); + function g() { + var j, O, D, q, ee, ce, ue, U, Q, _, le, de, se, ge, je, Se, ke, we, Je, $e, qe; + const M = C(); return { - scope: ((D = T == null ? void 0 : T.dataset) == null ? void 0 : D.mjrScope) || "output", - query: ((Q = T == null ? void 0 : T.dataset) == null ? void 0 : Q.mjrQuery) || t.query || "*", - customRootId: ((E = T == null ? void 0 : T.dataset) == null ? void 0 : E.mjrCustomRootId) || "", - subfolder: ((K = T == null ? void 0 : T.dataset) == null ? void 0 : K.mjrSubfolder) || "", - collectionId: ((F = T == null ? void 0 : T.dataset) == null ? void 0 : F.mjrCollectionId) || "", - viewScope: ((Y = T == null ? void 0 : T.dataset) == null ? void 0 : Y.mjrViewScope) || "", - kind: ((U = T == null ? void 0 : T.dataset) == null ? void 0 : U.mjrFilterKind) || "", - workflowOnly: ((P = T == null ? void 0 : T.dataset) == null ? void 0 : P.mjrFilterWorkflowOnly) === "1", - minRating: ((ee = T == null ? void 0 : T.dataset) == null ? void 0 : ee.mjrFilterMinRating) || "", - minSizeMB: ((oe = T == null ? void 0 : T.dataset) == null ? void 0 : oe.mjrFilterMinSizeMB) || "", - maxSizeMB: ((ce = T == null ? void 0 : T.dataset) == null ? void 0 : ce.mjrFilterMaxSizeMB) || "", - resolutionCompare: ((pe = T == null ? void 0 : T.dataset) == null ? void 0 : pe.mjrFilterResolutionCompare) || "", - minWidth: ((H = T == null ? void 0 : T.dataset) == null ? void 0 : H.mjrFilterMinWidth) || "", - minHeight: (($ = T == null ? void 0 : T.dataset) == null ? void 0 : $.mjrFilterMinHeight) || "", - maxWidth: ((_ = T == null ? void 0 : T.dataset) == null ? void 0 : _.mjrFilterMaxWidth) || "", - maxHeight: ((le = T == null ? void 0 : T.dataset) == null ? void 0 : le.mjrFilterMaxHeight) || "", - workflowType: ((se = T == null ? void 0 : T.dataset) == null ? void 0 : se.mjrFilterWorkflowType) || "", - dateRange: ((de = T == null ? void 0 : T.dataset) == null ? void 0 : de.mjrFilterDateRange) || "", - dateExact: ((Ze = T == null ? void 0 : T.dataset) == null ? void 0 : Ze.mjrFilterDateExact) || "", - sort: ((Fe = T == null ? void 0 : T.dataset) == null ? void 0 : Fe.mjrSort) || "mtime_desc" + scope: ((j = M == null ? void 0 : M.dataset) == null ? void 0 : j.mjrScope) || "output", + query: ((O = M == null ? void 0 : M.dataset) == null ? void 0 : O.mjrQuery) || t.query || "*", + customRootId: ((D = M == null ? void 0 : M.dataset) == null ? void 0 : D.mjrCustomRootId) || "", + subfolder: ((q = M == null ? void 0 : M.dataset) == null ? void 0 : q.mjrSubfolder) || "", + collectionId: ((ee = M == null ? void 0 : M.dataset) == null ? void 0 : ee.mjrCollectionId) || "", + viewScope: ((ce = M == null ? void 0 : M.dataset) == null ? void 0 : ce.mjrViewScope) || "", + kind: ((ue = M == null ? void 0 : M.dataset) == null ? void 0 : ue.mjrFilterKind) || "", + workflowOnly: ((U = M == null ? void 0 : M.dataset) == null ? void 0 : U.mjrFilterWorkflowOnly) === "1", + minRating: ((Q = M == null ? void 0 : M.dataset) == null ? void 0 : Q.mjrFilterMinRating) || "", + minSizeMB: ((_ = M == null ? void 0 : M.dataset) == null ? void 0 : _.mjrFilterMinSizeMB) || "", + maxSizeMB: ((le = M == null ? void 0 : M.dataset) == null ? void 0 : le.mjrFilterMaxSizeMB) || "", + resolutionCompare: ((de = M == null ? void 0 : M.dataset) == null ? void 0 : de.mjrFilterResolutionCompare) || "", + minWidth: ((se = M == null ? void 0 : M.dataset) == null ? void 0 : se.mjrFilterMinWidth) || "", + minHeight: ((ge = M == null ? void 0 : M.dataset) == null ? void 0 : ge.mjrFilterMinHeight) || "", + maxWidth: ((je = M == null ? void 0 : M.dataset) == null ? void 0 : je.mjrFilterMaxWidth) || "", + maxHeight: ((Se = M == null ? void 0 : M.dataset) == null ? void 0 : Se.mjrFilterMaxHeight) || "", + workflowType: ((ke = M == null ? void 0 : M.dataset) == null ? void 0 : ke.mjrFilterWorkflowType) || "", + dateRange: ((we = M == null ? void 0 : M.dataset) == null ? void 0 : we.mjrFilterDateRange) || "", + dateExact: ((Je = M == null ? void 0 : M.dataset) == null ? void 0 : Je.mjrFilterDateExact) || "", + sort: (($e = M == null ? void 0 : M.dataset) == null ? void 0 : $e.mjrSort) || "mtime_desc", + semanticMode: ((qe = M == null ? void 0 : M.dataset) == null ? void 0 : qe.mjrSemanticMode) === "1" }; } - function g({ reset: T = !0, preserveVisibleUntilReady: D = !0 } = {}) { - return !T || D === !1 ? !1 : Array.isArray(t.assets) && t.assets.length > 0; + function Z({ reset: M = !0, preserveVisibleUntilReady: j = !0 } = {}) { + return !M || j === !1 ? !1 : Array.isArray(t.assets) && t.assets.length > 0; } - function h() { - var T; + function f() { + var M; try { if (typeof I == "function") return !!I(); - } catch (D) { - (T = console.debug) == null || T.call(console, D); - } - return sd(Z(), s()); - } - function f() { - var T, D; - if (!ye.DEFER_GRID_FETCH_DURING_EXECUTION) - return !1; - try { - return !!String(((T = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : T.active_prompt_id) || "").trim(); - } catch (Q) { - return (D = console.debug) == null || D.call(console, Q), !1; + } catch (j) { + (M = console.debug) == null || M.call(console, j); } + return ud(C(), s()); } function b() { - var T, D; + var M, j; + if (!fe.DEFER_GRID_FETCH_DURING_EXECUTION) + return !1; try { - M != null && M.timer && clearTimeout(M.timer); - } catch (Q) { - (T = console.debug) == null || T.call(console, Q); + return !!String(((M = window == null ? void 0 : window.__MJR_EXECUTION_RUNTIME__) == null ? void 0 : M.active_prompt_id) || "").trim(); + } catch (O) { + return (j = console.debug) == null || j.call(console, O), !1; } - try { - M != null && M.listener && window.removeEventListener(ft.RUNTIME_STATUS, M.listener); - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); - } - M = null; } - function v(T, D = {}) { - var K; - b(); - const Q = () => { - var F; - if (f()) { + function L() { + var M, j; + try { + S != null && S.timer && clearTimeout(S.timer); + } catch (O) { + (M = console.debug) == null || M.call(console, O); + } + try { + S != null && S.listener && window.removeEventListener(ht.RUNTIME_STATUS, S.listener); + } catch (O) { + (j = console.debug) == null || j.call(console, O); + } + S = null; + } + function h() { + var M; + try { + A && clearTimeout(A); + } catch (j) { + (M = console.debug) == null || M.call(console, j); + } + A = null; + } + function G(M, j = fe.PREFETCH_NEXT_PAGE_DELAY_MS) { + if (!fe.PREFETCH_NEXT_PAGE) + return; + h(); + const O = Math.max(0, Number(j) || 0); + A = setTimeout(() => { + A = null, !(t.requestId !== M || t.done || t.loading) && R().catch((D) => { + var q; + (q = console.debug) == null || q.call(console, "[AssetsManager][GridLoader] Delayed prefetch failed", D); + }); + }, O); + } + function W(M, j = {}) { + var q; + L(); + const O = () => { + var ue, U; + if (b()) { try { - M = { - ...M, - timer: setTimeout(Q, 1250) + S = { + ...S, + timer: setTimeout(O, 1250) }; - } catch (Y) { - (F = console.debug) == null || F.call(console, Y); + } catch (Q) { + (ue = console.debug) == null || ue.call(console, Q); } return; } - b(), Promise.resolve().then( - () => x(T, { - ...D || {}, + L(); + const ee = C(), ce = String(((U = ee == null ? void 0 : ee.dataset) == null ? void 0 : U.mjrQuery) || "").trim() || M; + Promise.resolve().then( + () => Y(ce, { + ...j || {}, reset: !0, preserveVisibleUntilReady: !0 }) - ).catch((Y) => { - var U; - return (U = console.debug) == null ? void 0 : U.call(console, Y); + ).catch((Q) => { + var _; + return (_ = console.debug) == null ? void 0 : _.call(console, Q); }); - }, E = (F) => { - var U; - String(((U = F == null ? void 0 : F.detail) == null ? void 0 : U.active_prompt_id) || "").trim() || Q(); + }, D = (ee) => { + var ue; + String(((ue = ee == null ? void 0 : ee.detail) == null ? void 0 : ue.active_prompt_id) || "").trim() || O(); }; - M = { - listener: E, - timer: setTimeout(Q, 1250) + S = { + listener: D, + timer: setTimeout(O, 1250) }; try { - window.addEventListener(ft.RUNTIME_STATUS, E); - } catch (F) { - (K = console.debug) == null || K.call(console, F); + window.addEventListener(ht.RUNTIME_STATUS, D); + } catch (ee) { + (q = console.debug) == null || q.call(console, ee); } } - function C(T, D = null) { - var E; - if (!T || typeof T != "object") return ""; - const Q = T.id != null ? `id:${T.id}` : `${T.type || ""}|${vi(T)}|${T.filepath || ""}|${T.subfolder || ""}|${T.filename || ""}`; - try { - const K = D || Z() || (globalThis == null ? void 0 : globalThis.__MJR_LAST_ASSETKEY_GRID__); - return XW(K, T, Q); - } catch (K) { - return (E = console.debug) == null || E.call(console, K), Q; - } - } - function S(T = "") { - var D, Q, E, K, F, Y, U, P, ee, oe, ce, pe, H, $, _, le, se, de, Ze, Fe, xe, ze; - try { - const We = Z(), De = Array.isArray(t.assets) ? t.assets : []; - if (!We || !De.length) return; - const Pe = De.slice(0, BL).map(wp).filter(Boolean); - if (!Pe.length) return; - const Qe = Pe.length < De.length, Ue = Number(t.offset || Pe.length) || Pe.length, Ee = Number(t.total ?? Pe.length), Re = Yc({ - scope: ((D = We.dataset) == null ? void 0 : D.mjrScope) || "output", - query: ((Q = We.dataset) == null ? void 0 : Q.mjrQuery) || t.query || "*", - customRootId: ((E = We.dataset) == null ? void 0 : E.mjrCustomRootId) || "", - subfolder: ((K = We.dataset) == null ? void 0 : K.mjrSubfolder) || "", - collectionId: ((F = We.dataset) == null ? void 0 : F.mjrCollectionId) || "", - viewScope: ((Y = We.dataset) == null ? void 0 : Y.mjrViewScope) || "", - kind: ((U = We.dataset) == null ? void 0 : U.mjrFilterKind) || "", - workflowOnly: ((P = We.dataset) == null ? void 0 : P.mjrFilterWorkflowOnly) === "1", - minRating: ((ee = We.dataset) == null ? void 0 : ee.mjrFilterMinRating) || "", - minSizeMB: ((oe = We.dataset) == null ? void 0 : oe.mjrFilterMinSizeMB) || "", - maxSizeMB: ((ce = We.dataset) == null ? void 0 : ce.mjrFilterMaxSizeMB) || "", - resolutionCompare: ((pe = We.dataset) == null ? void 0 : pe.mjrFilterResolutionCompare) || "", - minWidth: ((H = We.dataset) == null ? void 0 : H.mjrFilterMinWidth) || "", - minHeight: (($ = We.dataset) == null ? void 0 : $.mjrFilterMinHeight) || "", - maxWidth: ((_ = We.dataset) == null ? void 0 : _.mjrFilterMaxWidth) || "", - maxHeight: ((le = We.dataset) == null ? void 0 : le.mjrFilterMaxHeight) || "", - workflowType: ((se = We.dataset) == null ? void 0 : se.mjrFilterWorkflowType) || "", - dateRange: ((de = We.dataset) == null ? void 0 : de.mjrFilterDateRange) || "", - dateExact: ((Ze = We.dataset) == null ? void 0 : Ze.mjrFilterDateExact) || "", - sort: ((Fe = We.dataset) == null ? void 0 : Fe.mjrSort) || "mtime_desc" - }); - if (!Re) return; - Ii.delete(Re), Ii.set(Re, { - assets: Pe, - title: String(T || "").trim(), - query: String(t.query || ((xe = We.dataset) == null ? void 0 : xe.mjrQuery) || "*").trim() || "*", - total: Number.isFinite(Ee) ? Ee : Pe.length, - offset: Qe ? Pe.length : Math.max(Pe.length, Ue), - done: Qe ? !1 : !!t.done, - at: Date.now() - }), ws(); - } catch (We) { - (ze = console.debug) == null || ze.call(console, We); - } - } - function W() { + function y(M, j = null) { var D; - const T = Z(); - if (T) + if (!M || typeof M != "object") return ""; + const O = M.id != null ? `id:${M.id}` : `${M.type || ""}|${Mi(M)}|${M.filepath || ""}|${M.subfolder || ""}|${M.filename || ""}`; + try { + const q = j || C() || (globalThis == null ? void 0 : globalThis.__MJR_LAST_ASSETKEY_GRID__); + return FW(q, M, O); + } catch (q) { + return (D = console.debug) == null || D.call(console, q), O; + } + } + function X(M = "") { + var j, O, D, q, ee, ce, ue, U, Q, _, le, de, se, ge, je, Se, ke, we, Je, $e, qe, Ue; + try { + const Te = C(), Oe = Array.isArray(t.assets) ? t.assets : []; + if (!Te || !Oe.length) return; + const pt = Oe.slice(0, KL).map(Gp).filter(Boolean); + if (!pt.length) return; + const Me = pt.length < Oe.length, Xt = Number(t.offset || pt.length) || pt.length, Mt = Number(t.total ?? pt.length), me = kc({ + scope: ((j = Te.dataset) == null ? void 0 : j.mjrScope) || "output", + query: ((O = Te.dataset) == null ? void 0 : O.mjrQuery) || t.query || "*", + customRootId: ((D = Te.dataset) == null ? void 0 : D.mjrCustomRootId) || "", + subfolder: ((q = Te.dataset) == null ? void 0 : q.mjrSubfolder) || "", + collectionId: ((ee = Te.dataset) == null ? void 0 : ee.mjrCollectionId) || "", + viewScope: ((ce = Te.dataset) == null ? void 0 : ce.mjrViewScope) || "", + kind: ((ue = Te.dataset) == null ? void 0 : ue.mjrFilterKind) || "", + workflowOnly: ((U = Te.dataset) == null ? void 0 : U.mjrFilterWorkflowOnly) === "1", + minRating: ((Q = Te.dataset) == null ? void 0 : Q.mjrFilterMinRating) || "", + minSizeMB: ((_ = Te.dataset) == null ? void 0 : _.mjrFilterMinSizeMB) || "", + maxSizeMB: ((le = Te.dataset) == null ? void 0 : le.mjrFilterMaxSizeMB) || "", + resolutionCompare: ((de = Te.dataset) == null ? void 0 : de.mjrFilterResolutionCompare) || "", + minWidth: ((se = Te.dataset) == null ? void 0 : se.mjrFilterMinWidth) || "", + minHeight: ((ge = Te.dataset) == null ? void 0 : ge.mjrFilterMinHeight) || "", + maxWidth: ((je = Te.dataset) == null ? void 0 : je.mjrFilterMaxWidth) || "", + maxHeight: ((Se = Te.dataset) == null ? void 0 : Se.mjrFilterMaxHeight) || "", + workflowType: ((ke = Te.dataset) == null ? void 0 : ke.mjrFilterWorkflowType) || "", + dateRange: ((we = Te.dataset) == null ? void 0 : we.mjrFilterDateRange) || "", + dateExact: ((Je = Te.dataset) == null ? void 0 : Je.mjrFilterDateExact) || "", + sort: (($e = Te.dataset) == null ? void 0 : $e.mjrSort) || "mtime_desc" + }); + if (!me) return; + pi.delete(me), pi.set(me, { + assets: pt, + title: String(M || "").trim(), + query: String(t.query || ((qe = Te.dataset) == null ? void 0 : qe.mjrQuery) || "*").trim() || "*", + total: Number.isFinite(Mt) ? Mt : pt.length, + offset: Me ? pt.length : Math.max(pt.length, Xt), + done: Me ? !1 : !!t.done, + at: Date.now() + }), Ss(); + } catch (Te) { + (Ue = console.debug) == null || Ue.call(console, Te); + } + } + function x() { + var j; + const M = C(); + if (M) try { - const Q = Lc.get(T); - if (!Q) return; - Q.timer && (clearTimeout(Q.timer), Q.timer = null), Q.pending.clear(), Q.flushing = !1; - } catch (Q) { - (D = console.debug) == null || D.call(console, Q); + const O = Yc.get(M); + if (!O) return; + O.timer && (clearTimeout(O.timer), O.timer = null), O.pending.clear(), O.flushing = !1; + } catch (O) { + (j = console.debug) == null || j.call(console, O); } } - function y(T, D) { - return dZ(T, D, t, { + function T(M, j) { + return gZ(M, j, t, { loadMajoorSettings: Xn, clearGridMessage: () => { r(); }, ensureVirtualGrid: () => t.virtualGrid, - setFileBadgeCollision: mZ, - assetKey: (Q) => C(Q, T), - ensureDupStackCard: (Q, E, K) => RW(Q, E, K) + setFileBadgeCollision: bZ, + assetKey: (O) => y(O, M), + ensureDupStackCard: (O, D, q) => zW(O, D, q) }); } - async function k(T, D, Q, { requestId: E = 0, signal: K = null } = {}) { - var Y, U, P, ee, oe; - const F = Z(); - if (!F) + async function v(M, j, O, { requestId: D = 0, signal: q = null } = {}) { + var ce, ue, U, Q, _; + const ee = C(); + if (!ee) return { ok: !1, error: "Grid unavailable" }; - if (Q === 0) { - const ce = String(((Y = F.dataset) == null ? void 0 : Y.mjrScope) || "output").toLowerCase(), pe = String(((U = F.dataset) == null ? void 0 : U.mjrSort) || "mtime_desc").toLowerCase(), H = String(T || "*").trim() || "*"; - if (ce === "output" && H === "*" && pe === "mtime_desc") { - const _ = ZL("output:*:mtime_desc"); - if (_) + if (O === 0) { + const le = String(((ce = ee.dataset) == null ? void 0 : ce.mjrScope) || "output").toLowerCase(), de = String(((ue = ee.dataset) == null ? void 0 : ue.mjrSort) || "mtime_desc").toLowerCase(), se = String(M || "*").trim() || "*"; + if (le === "output" && se === "*" && de === "mtime_desc") { + const je = WL("output:*:mtime_desc"); + if (je) try { - const le = await _, se = (P = le == null ? void 0 : le.data) == null ? void 0 : P.assets; - if (le != null && le.ok && Array.isArray(se)) - return to("[Grid] Using early-fetched data:", se.length, "assets"), { + const Se = await je; + if (Number(t.requestId) !== Number(D)) + return { ok: !1, stale: !0, error: "Stale early fetch" }; + if (q != null && q.aborted) + return { ok: !1, aborted: !0, error: "Aborted" }; + const ke = (U = Se == null ? void 0 : Se.data) == null ? void 0 : U.assets; + if (Se != null && Se.ok && Array.isArray(ke)) { + io("[Grid] Using early-fetched data:", ke.length, "assets"); + const we = ((Q = Se.data) == null ? void 0 : Q.total) ?? ((_ = Se.meta) == null ? void 0 : _.total) ?? null; + return { ok: !0, - assets: se, - total: Number(((ee = le.data) == null ? void 0 : ee.total) ?? ((oe = le.meta) == null ? void 0 : oe.total) ?? se.length) || 0, - count: se.length, - limit: D, + assets: ke, + total: we != null ? Number(we) || 0 : null, + count: ke.length, + limit: j, offset: 0 }; - } catch (le) { - to("[Grid] Early fetch failed, falling back to normal fetch", le); + } + } catch (Se) { + io("[Grid] Early fetch failed, falling back to normal fetch", Se); } } } - return XL( - F, - T, - D, - Q, + return RL( + ee, + M, + j, + O, { - sanitizeQuery: Um, - buildListURL: Vs, - get: Rt, + sanitizeQuery: Km, + buildListURL: Xs, + get: Ft, getGridState: () => t }, - { requestId: E, signal: K } + { requestId: D, signal: q } ); } - function G({ title: T = "" } = {}) { - i(), Array.isArray(t.assets) && t.assets.length ? (r(), S(T || t.query)) : (!t.statusMessage || !t.statusError) && o("No assets found"); - const D = (Array.isArray(t.assets) ? t.assets : []).map((Q) => String((Q == null ? void 0 : Q.id) || "")).filter(Boolean); - c(D, { activeId: t.activeId }); + function w({ title: M = "" } = {}) { + i(), Array.isArray(t.assets) && t.assets.length ? (r(), X(M || t.query)) : (!t.statusMessage || !t.statusError) && o("No assets found"); + const j = (Array.isArray(t.assets) ? t.assets : []).map((O) => String((O == null ? void 0 : O.id) || "")).filter(Boolean); + c(j, { activeId: t.activeId }); } - async function z() { - var F, Y, U, P; - const T = Z(); - if (!T || t.loading || t.done) return { ok: !0, skipped: !0 }; - if (!h()) + async function R() { + var ee, ce, ue, U; + const M = C(); + if (!M || t.loading || t.done) return { ok: !0, skipped: !0 }; + if (!f()) return { ok: !0, skipped: !0, hidden: !0 }; - if (f()) + if (b()) return { ok: !0, skipped: !0, busy: !0 }; - const D = Math.max( + const j = Math.max( 1, - Math.min(ye.MAX_PAGE_SIZE, ye.DEFAULT_PAGE_SIZE) - ), Q = Date.now(), E = Number(t.total || 0) || 1e3, K = Math.min( + Math.min(fe.MAX_PAGE_SIZE, fe.DEFAULT_PAGE_SIZE) + ), O = Date.now(), D = Number(t.total || 0) || 1e3, q = Math.min( 200, - Math.max(8, Math.ceil(E / 1e3 * 30)) + Math.max(8, Math.ceil(D / 1e3 * 30)) ); t.loading = !0, r(); try { - let ee = 0; + let Q = 0; for (; !t.done; ) { - if (!h()) + if (!f()) return { ok: !0, skipped: !0, hidden: !0 }; - const oe = _L(D, ee), ce = await k(t.query, oe, t.offset, { + const _ = tV(j, Q), le = await v(t.query, _, t.offset, { requestId: Number(t.requestId ?? 0) || 0, - signal: ((F = t.abortController) == null ? void 0 : F.signal) || null + signal: ((ee = t.abortController) == null ? void 0 : ee.signal) || null }); - if (!ce.ok) - return ce.aborted || ce.stale || (t.done = !0, o( - Vc("Failed to load assets", (ce == null ? void 0 : ce.error) || "Unknown error"), + if (!le.ok) + return le.aborted || le.stale || (t.done = !0, o( + Xc("Failed to load assets", (le == null ? void 0 : le.error) || "Unknown error"), { error: !0 } - )), ce; - ce.total != null && (t.total = Number(ce.total) || 0), p && (l({ query: t.query || "*", total: null, done: !1 }), Hl(t), p = !1); - const pe = Number(ce.count || 0) || 0, H = VL({ - count: pe, - limit: Number(ce.limit || oe) || oe, + )), le; + le.total != null && (t.total = Number(le.total) || 0), p && (l({ query: t.query || "*", total: null, done: !1 }), ql(t), p = !1); + const de = Number(le.count || 0) || 0, se = XL({ + count: de, + limit: Number(le.limit || _) || _, offset: t.offset, - total: ce.total != null ? ce.total : t.total - }), $ = Number(y(T, ce.assets || []) || 0) || 0; - t.offset += H; - const _ = t.done; - if (t.done = H <= 0 || Number.isFinite(Number(t.total)) && Number(t.total || 0) > 0 && t.offset >= Number(t.total || 0), (ee > 0 || t.done) && to(`[Grid LoadPage] offset=${t.offset}, fetched=${pe}, consumed=${H}, added=${$}, limit=${oe}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}, emptyBatches=${ee}/${K}`), t.done || $ > 0) - return ($ > 0 || t.done) && S(t.query || ((Y = T.dataset) == null ? void 0 : Y.mjrQuery) || "*"), { + total: le.total != null ? le.total : t.total + }), ge = Number(T(M, le.assets || []) || 0) || 0; + t.offset += se; + const je = t.done; + if (t.done = se <= 0 || Number.isFinite(Number(t.total)) && Number(t.total || 0) > 0 && t.offset >= Number(t.total || 0), (Q > 0 || t.done) && io(`[Grid LoadPage] offset=${t.offset}, fetched=${de}, consumed=${se}, added=${ge}, limit=${_}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}, emptyBatches=${Q}/${q}`), t.done || ge > 0) + return (ge > 0 || t.done) && X(t.query || ((ce = M.dataset) == null ? void 0 : ce.mjrQuery) || "*"), { ok: !0, - count: pe, + count: de, total: t.total }; - if (ee += 1, ee >= K) - return to(`[Grid] Empty append batches limit reached: ${ee}/${K}`), { + if (Q += 1, Q >= q) + return io(`[Grid] Empty append batches limit reached: ${Q}/${q}`), { ok: !0, count: 0, total: t.total, @@ -42748,339 +42900,347 @@ function $L({ count: 0, total: t.total }; - } catch (ee) { + } catch (Q) { try { - if (String((ee == null ? void 0 : ee.name) || "") === "AbortError") + if (String((Q == null ? void 0 : Q.name) || "") === "AbortError") return { ok: !1, aborted: !0, error: "Aborted" }; - } catch (oe) { - (U = console.debug) == null || U.call(console, oe); + } catch (_) { + (ue = console.debug) == null || ue.call(console, _); } - return o(Vc("Failed to load assets", ee), { + return o(Xc("Failed to load assets", Q), { error: !0 - }), { ok: !1, error: (ee == null ? void 0 : ee.message) || String(ee) }; + }), { ok: !1, error: (Q == null ? void 0 : Q.message) || String(Q) }; } finally { try { - const ee = Date.now() - Q; - ee < El && await Bm(El - ee); - } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + const Q = Date.now() - O; + Q < Hl && await Um(Hl - Q); + } catch (Q) { + (U = console.debug) == null || U.call(console, Q); } t.loading = !1, i(); } } - async function x(T = "*", D = {}) { - var ee, oe, ce, pe, H; - const { reset: Q = !0, preserveVisibleUntilReady: E = !0 } = D || {}, K = Z(); - if (!K) + async function Y(M = "*", j = {}) { + var Q, _, le, de, se; + const { reset: O = !0, preserveVisibleUntilReady: D = !0 } = j || {}, q = C(); + if (!q) return { ok: !1, error: "Grid unavailable" }; try { - globalThis.__MJR_LAST_ASSETKEY_GRID__ = K; - } catch ($) { - (ee = console.debug) == null || ee.call(console, $); + globalThis.__MJR_LAST_ASSETKEY_GRID__ = q; + } catch (ge) { + (Q = console.debug) == null || Q.call(console, ge); } - const F = qL(T).trim() || "*", Y = /^\[object\s+HTML.*Element\]$/i.test(F) ? "*" : F, U = Um(Y) || Y; - if (t.query = U, Q && f()) - return n("Grid refresh deferred while ComfyUI is generating..."), v(U, D || {}), { + const ee = _L(M).trim() || "*", ce = /^\[object\s+HTML.*Element\]$/i.test(ee) ? "*" : ee, ue = Km(ce) || ce; + if (t.query = ue, O && b()) + return n("Grid refresh deferred while ComfyUI is generating..."), W(ue, j || {}), { ok: !0, deferred: !0, count: Number(t.offset || 0) || 0, total: Number(t.total || 0) || 0 }; - if (Q) { - p = g({ - reset: Q, - preserveVisibleUntilReady: E + if (O) { + p = Z({ + reset: O, + preserveVisibleUntilReady: D }); try { - (ce = (oe = t.abortController) == null ? void 0 : oe.abort) == null || ce.call(oe); - } catch ($) { - (pe = console.debug) == null || pe.call(console, $); + (le = (_ = t.abortController) == null ? void 0 : _.abort) == null || le.call(_); + } catch (ge) { + (de = console.debug) == null || de.call(console, ge); } try { t.abortController = typeof AbortController < "u" ? new AbortController() : null; } catch { t.abortController = null; } - if (t.requestId = (Number(t.requestId) || 0) + 1, W(), r(), p ? (t.query = U, t.offset = 0, t.total = null, t.done = !1) : l({ query: U, total: null, done: !1 }), n( - U === "*" ? "Loading assets..." : `Searching for "${U}"...` - ), U === "*" && p) + if (t.requestId = (Number(t.requestId) || 0) + 1, h(), x(), r(), p ? (t.query = ue, t.offset = 0, t.total = null, t.done = !1) : l({ query: ue, total: null, done: !1 }), n( + ue === "*" ? "Loading assets..." : `Searching for "${ue}"...` + ), ue === "*" && p) try { - const $ = A(); - $.query = "*"; - const _ = Yc($); - if (Ii.has(_) ? await N($, { + const ge = g(); + ge.query = "*"; + const je = kc(ge); + if (pi.has(je) ? await B(ge, { allowReplaceExisting: !0 - }) : !1) - return t.offset = 0, t.done = !1, t.loading = !1, i(), queueMicrotask(() => { - z().then((de) => { - de != null && de.ok && !(de != null && de.aborted) && G({ title: U }); - }).catch(() => { - }); - }), { + }) : !1) { + t.offset = 0, t.done = !1, t.loading = !1, i(); + const we = t.requestId; + return G( + we, + Math.min(fe.PREFETCH_NEXT_PAGE_DELAY_MS ?? 700, 250) + ), { ok: !0, count: Number(t.offset || 0) || 0, total: Number(t.total || 0) || 0, cached: !0 }; - } catch ($) { - (H = console.debug) == null || H.call(console, "[Grid] Snapshot fast-path failed, falling back", $); + } + } catch (ge) { + (se = console.debug) == null || se.call(console, "[Grid] Snapshot fast-path failed, falling back", ge); } } - const P = await z(); - return ye.PREFETCH_NEXT_PAGE && (P != null && P.ok) && !(P != null && P.skipped) && !t.done && !(P != null && P.aborted) && queueMicrotask(() => { - !t.done && !t.loading && z().catch(() => { - }); - }), Q && G({ title: U }), { - ok: !!(P != null && P.ok), + const U = await R(); + return fe.PREFETCH_NEXT_PAGE && (U != null && U.ok) && !(U != null && U.skipped) && !t.done && !(U != null && U.aborted) && G(t.requestId), O && w({ title: ue }), { + ok: !!(U != null && U.ok), count: Number(t.offset || 0) || 0, total: Number(t.total || 0) || 0, - error: P == null ? void 0 : P.error, - aborted: !!(P != null && P.aborted) + error: U == null ? void 0 : U.error, + aborted: !!(U != null && U.aborted) }; } - async function w(T, D = {}) { - var oe, ce, pe, H, $; + async function F(M, j = {}) { + var _, le, de, se, ge; const { - title: Q = "Collection", - reset: E = !0, - showLoading: K = !0, - preserveVisibleUntilReady: F = !0 - } = D || {}, Y = Z(); - if (!Y) + title: O = "Collection", + reset: D = !0, + showLoading: q = !0, + preserveVisibleUntilReady: ee = !0 + } = j || {}, ce = C(); + if (!ce) return { ok: !1, error: "Grid unavailable" }; - const U = Array.isArray(T) ? T.slice() : [], P = Date.now(), ee = g({ - reset: E, - preserveVisibleUntilReady: F + const ue = Array.isArray(M) ? M.slice() : [], U = Date.now(), Q = Z({ + reset: D, + preserveVisibleUntilReady: ee }); - if (E) { + if (D) { try { - (ce = (oe = t.abortController) == null ? void 0 : oe.abort) == null || ce.call(oe); - } catch (_) { - (pe = console.debug) == null || pe.call(console, _); + (le = (_ = t.abortController) == null ? void 0 : _.abort) == null || le.call(_); + } catch (je) { + (de = console.debug) == null || de.call(console, je); } try { t.abortController = typeof AbortController < "u" ? new AbortController() : null; } catch { t.abortController = null; } - t.requestId = (Number(t.requestId) || 0) + 1, W(), r(), ee ? (t.query = String(Q || "Collection"), t.offset = 0, t.total = U.length, t.done = !0) : (l({ - query: String(Q || "Collection"), - total: U.length, + t.requestId = (Number(t.requestId) || 0) + 1, x(), r(), Q ? (t.query = String(O || "Collection"), t.offset = 0, t.total = ue.length, t.done = !0) : (l({ + query: String(O || "Collection"), + total: ue.length, done: !0 - }), Hl(t)), K ? (n(U.length ? `Loading ${Q}...` : `${Q} is empty`), t.loading = !0) : (i(), t.loading = !1); + }), ql(t)), q ? (n(ue.length ? `Loading ${O}...` : `${O} is empty`), t.loading = !0) : (i(), t.loading = !1); } try { - const _ = ((H = Y.dataset) == null ? void 0 : H.mjrSort) || "mtime_desc", le = U.sort((se, de) => NL(se, de, _)); - return E && ee && (l({ - query: String(Q || "Collection"), - total: U.length, + const je = ((se = ce.dataset) == null ? void 0 : se.mjrSort) || "mtime_desc", Se = ue.sort((ke, we) => FL(ke, we, je)); + return D && Q && (l({ + query: String(O || "Collection"), + total: ue.length, done: !0 - }), Hl(t)), y(Y, le), t.offset = le.length, t.total = le.length, t.done = !0, G({ title: Q }), { ok: !0, count: le.length, total: le.length }; - } catch (_) { - return o(Vc("Failed to load collection", _), { + }), ql(t)), T(ce, Se), t.offset = Se.length, t.total = Se.length, t.done = !0, w({ title: O }), { ok: !0, count: Se.length, total: Se.length }; + } catch (je) { + return o(Xc("Failed to load collection", je), { error: !0 - }), { ok: !1, error: (_ == null ? void 0 : _.message) || String(_) }; + }), { ok: !1, error: (je == null ? void 0 : je.message) || String(je) }; } finally { - if (K) + if (q) try { - const _ = Date.now() - P; - _ < El && await Bm(El - _); - } catch (_) { - ($ = console.debug) == null || $.call(console, _); + const je = Date.now() - U; + je < Hl && await Um(Hl - je); + } catch (je) { + (ge = console.debug) == null || ge.call(console, je); } - t.loading = !1, K && i(); + t.loading = !1, q && i(); } } - function X() { - var T, D, Q, E; + function N() { + var M, j, O, D; try { - NW(Z()); - } catch (K) { - (T = console.debug) == null || T.call(console, K); + OW(C()); + } catch (q) { + (M = console.debug) == null || M.call(console, q); } try { - (Q = (D = t.abortController) == null ? void 0 : D.abort) == null || Q.call(D); - } catch (K) { - (E = console.debug) == null || E.call(console, K); + (O = (j = t.abortController) == null ? void 0 : j.abort) == null || O.call(j); + } catch (q) { + (D = console.debug) == null || D.call(console, q); } try { t.abortController = typeof AbortController < "u" ? new AbortController() : null; } catch { t.abortController = null; } - t.requestId = (Number(t.requestId) || 0) + 1, t.loading = !1, W(), i(), r(), p = !0, N(A(), { allowReplaceExisting: !0 }), a([], ""); + t.requestId = (Number(t.requestId) || 0) + 1, t.loading = !1, h(), x(), i(), r(), p = !0, B(g(), { allowReplaceExisting: !0 }), a([], ""); } function V() { - var T, D; - (D = (T = t.virtualGrid) == null ? void 0 : T.setItems) == null || D.call(T, t.assets || []); + var M, j; + (j = (M = t.virtualGrid) == null ? void 0 : M.setItems) == null || j.call(M, t.assets || []); } - function R(T, { updateSelection: D = !0 } = {}) { - const Q = new Set( - (Array.isArray(T) ? T : [T]).map((K) => K == null ? "" : typeof K == "object" && (K == null ? void 0 : K.id) != null ? String(K.id) : String(K)).filter(Boolean) + function k(M, { updateSelection: j = !0 } = {}) { + const O = new Set( + (Array.isArray(M) ? M : [M]).map((q) => q == null ? "" : typeof q == "object" && (q == null ? void 0 : q.id) != null ? String(q.id) : String(q)).filter(Boolean) ); - if (!Q.size) + if (!O.size) return { ok: !1, removed: 0, selectedIds: t.selectedIds.slice() }; - let E = 0; - if (t.assets = (Array.isArray(t.assets) ? t.assets : []).filter((K) => { - var Y; - const F = (K == null ? void 0 : K.id) != null ? String(K.id) : ""; - if (F && Q.has(F)) { - E += 1; + let D = 0; + if (t.assets = (Array.isArray(t.assets) ? t.assets : []).filter((q) => { + var ce; + const ee = (q == null ? void 0 : q.id) != null ? String(q.id) : ""; + if (ee && O.has(ee)) { + D += 1; try { - t.assetIdSet.delete(F); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + t.assetIdSet.delete(ee); + } catch (ue) { + (ce = console.debug) == null || ce.call(console, ue); } return !1; } return !0; - }), Number.isFinite(Number(t.total)) && (t.total = Math.max(0, Number(t.total || 0) - E)), D) { - const K = t.assets.map((F) => String((F == null ? void 0 : F.id) || "")).filter(Boolean); - c(K, { activeId: t.activeId }); + }), Number.isFinite(Number(t.total)) && (t.total = Math.max(0, Number(t.total || 0) - D)), j) { + const q = t.assets.map((ee) => String((ee == null ? void 0 : ee.id) || "")).filter(Boolean); + c(q, { activeId: t.activeId }); } return !t.assets.length && !t.loading && o("No assets found"), { ok: !0, - removed: E, + removed: D, selectedIds: t.selectedIds.slice() }; } - function j() { - var P, ee; - const T = Z(), D = s(); - if (!T || !D) return null; - const Q = (oe) => { - if (!oe) return !1; + function K() { + var U, Q; + const M = C(), j = s(); + if (!M || !j) return null; + const O = (_) => { + if (!_) return !1; try { - const ce = oe.getBoundingClientRect(), pe = D.getBoundingClientRect(); - return ce.bottom >= pe.top && ce.top <= pe.bottom; + const le = _.getBoundingClientRect(), de = j.getBoundingClientRect(); + return le.bottom >= de.top && le.top <= de.bottom; } catch { return !1; } - }, E = T.querySelector(".mjr-asset-card.is-selected"), K = d(), F = K.find((oe) => Q(oe)) || K[0] || null, U = Q(E) ? E : F; - if (!U) return null; + }, D = M.querySelector(".mjr-asset-card.is-selected"), q = d(), ee = q.find((_) => O(_)) || q[0] || null, ue = O(D) ? D : ee; + if (!ue) return null; try { - const oe = U.getBoundingClientRect(), ce = D.getBoundingClientRect(); + const _ = ue.getBoundingClientRect(), le = j.getBoundingClientRect(); return { - id: String(((P = U.dataset) == null ? void 0 : P.mjrAssetId) || ""), - top: oe.top - ce.top, - scrollTop: Number(D.scrollTop || 0) || 0 + id: String(((U = ue.dataset) == null ? void 0 : U.mjrAssetId) || ""), + top: _.top - le.top, + scrollTop: Number(j.scrollTop || 0) || 0 }; - } catch (oe) { - return (ee = console.debug) == null || ee.call(console, oe), null; + } catch (_) { + return (Q = console.debug) == null || Q.call(console, _), null; } } - async function L(T) { - var F; - const D = Z(), Q = s(); - if (!D || !Q || !T) return; - await Km(); - const E = String(T.id || "").trim(); - if (!E) { - Q.scrollTop = Number(T.scrollTop || 0) || 0; + async function z(M) { + var ee; + const j = C(), O = s(); + if (!j || !O || !M) return; + await Dm(); + const D = String(M.id || "").trim(); + if (!D) { + O.scrollTop = Number(M.scrollTop || 0) || 0; return; } - u(E, { align: "start" }), await Km(); - const K = D.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${QL(E)}"]` + u(D, { align: "start" }), await Dm(); + const q = j.querySelector( + `.mjr-asset-card[data-mjr-asset-id="${eV(D)}"]` ); - if (!K) { - Q.scrollTop = Number(T.scrollTop || 0) || 0; + if (!q) { + O.scrollTop = Number(M.scrollTop || 0) || 0; return; } try { - const Y = K.getBoundingClientRect(), U = Q.getBoundingClientRect(), P = Y.top - U.top - Number(T.top || 0); - Q.scrollTop = (Number(Q.scrollTop || 0) || 0) + P; - } catch (Y) { - (F = console.debug) == null || F.call(console, Y), Q.scrollTop = Number(T.scrollTop || 0) || 0; + const ce = q.getBoundingClientRect(), ue = O.getBoundingClientRect(), U = ce.top - ue.top - Number(M.top || 0); + O.scrollTop = (Number(O.scrollTop || 0) || 0) + U; + } catch (ce) { + (ee = console.debug) == null || ee.call(console, ce), O.scrollTop = Number(M.scrollTop || 0) || 0; } } - async function N(T = {}, D = {}) { - var F, Y, U; - const Q = Z(); - if (!Q) return !1; - const E = Yc(T), K = HL(E); - if (!K || !Array.isArray(K.assets) || !K.assets.length || !D.allowReplaceExisting && Array.isArray(t.assets) && t.assets.length) + async function B(M = {}, j = {}) { + var ee, ce, ue; + const O = C(); + if (!O) return !1; + const D = kc(M), q = QL(D); + if (!q || !Array.isArray(q.assets) || !q.assets.length || !j.allowReplaceExisting && Array.isArray(t.assets) && t.assets.length) return !1; try { - (Y = (F = t.abortController) == null ? void 0 : F.abort) == null || Y.call(F); - } catch (P) { - (U = console.debug) == null || U.call(console, P); + (ce = (ee = t.abortController) == null ? void 0 : ee.abort) == null || ce.call(ee); + } catch (U) { + (ue = console.debug) == null || ue.call(console, U); } try { t.abortController = typeof AbortController < "u" ? new AbortController() : null; } catch { t.abortController = null; } - return t.requestId = (Number(t.requestId) || 0) + 1, W(), l({ - query: K.query || D.title || "Cached", - total: Number(K.total ?? K.assets.length) || K.assets.length, - done: !!K.done - }), Hl(t), r(), i(), t.loading = !1, y(Q, K.assets), t.offset = Math.max( - Number(K.assets.length || 0) || 0, - Number(K.offset || K.assets.length) || K.assets.length - ), t.total = Number(K.total ?? K.assets.length) || K.assets.length, t.done = !!K.done, G({ title: K.title || D.title || "Cached" }), !0; + return t.requestId = (Number(t.requestId) || 0) + 1, h(), x(), l({ + query: q.query || j.title || "Cached", + total: Number(q.total ?? q.assets.length) || q.assets.length, + done: !!q.done + }), ql(t), r(), i(), t.loading = !1, T(O, q.assets), t.offset = Math.max( + Number(q.assets.length || 0) || 0, + Number(q.offset || q.assets.length) || q.assets.length + ), t.total = Number(q.total ?? q.assets.length) || q.assets.length, t.done = !!q.done, w({ title: q.title || j.title || "Cached" }), !0; } - function q(T) { + function J(M) { return { getOrCreateState: () => t, ensureVirtualGrid: () => t.virtualGrid, - upsertState: Lc, - maxBatchSize: KL, - debounceMs: UL, - assetKey: (D) => C(D, T), + upsertState: Yc, + maxBatchSize: EL, + debounceMs: DL, + assetKey: (j) => qL(j) || y(j, M), loadMajoorSettings: Xn }; } - function O(T) { - const D = Z(); - return !D || !T || !T.id ? !1 : Jm(D, T, q(D)); + function P(M) { + const j = C(); + return !j || !M || !M.id ? !1 : Tm(j, M, J(j)); } - function B(T) { - const D = Z(); - if (!D || !T || !T.id) return !1; - const Q = q(D), E = Jm(D, T, Q); - return E && Ba(D, Q), E; + let H = !1; + function $(M) { + const j = C(); + if (!j || !M || !M.id) return !1; + const O = J(j), D = Tm(j, M, O); + return D && !H && (H = !0, queueMicrotask(() => { + H = !1; + const q = C(); + q && Ua(q, J(q)); + })), D; } - function J() { - var D, Q, E, K, F, Y; - S(t.query || "Cached"), b(); + function E() { + var j, O, D, q, ee, ce; + X(t.query || "Cached"), L(), h(); try { - (Q = (D = t.abortController) == null ? void 0 : D.abort) == null || Q.call(D); - } catch (U) { - (E = console.debug) == null || E.call(console, U); + (O = (j = t.abortController) == null ? void 0 : j.abort) == null || O.call(j); + } catch (ue) { + (D = console.debug) == null || D.call(console, ue); } - const T = Z(); - if (T) + const M = C(); + if (M) try { - const U = Cp(T, Lc); - U != null && U.timer && (clearTimeout(U.timer), U.timer = null), (F = (K = U == null ? void 0 : U.pending) == null ? void 0 : K.clear) == null || F.call(K); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + const ue = Ap(M, Yc); + ue != null && ue.timer && (clearTimeout(ue.timer), ue.timer = null), (ee = (q = ue == null ? void 0 : ue.pending) == null ? void 0 : q.clear) == null || ee.call(q); + } catch (ue) { + (ce = console.debug) == null || ce.call(console, ue); } } + try { + window.addEventListener("pagehide", E, { once: !0 }); + } catch (M) { + (oe = console.debug) == null || oe.call(console, M); + } return { - loadAssets: x, - loadAssetsFromList: w, - loadNextPage: z, - prepareGridForScopeSwitch: X, + loadAssets: Y, + loadAssetsFromList: F, + loadNextPage: R, + prepareGridForScopeSwitch: N, refreshGrid: V, - removeAssets: R, - captureAnchor: j, - restoreAnchor: L, - hydrateFromSnapshot: N, - upsertAsset: O, - upsertAssetNow: B, - dispose: J + removeAssets: k, + captureAnchor: K, + restoreAnchor: z, + hydrateFromSnapshot: B, + upsertAsset: P, + upsertAssetNow: $, + dispose: E }; } -const eY = { +const iV = { key: 0, class: "mjr-grid-loading-overlay", style: { position: "absolute", inset: "0", "z-index": "4", display: "flex", "align-items": "flex-start", "justify-content": "center", padding: "14px", "pointer-events": "none" } -}, tY = { style: { width: "100%" } }, nY = { class: "mjr-grid-skeleton-layout" }, iY = { style: { "margin-top": "10px", "font-size": "12px", opacity: "0.68", "text-align": "center" } }, oY = ["data-index"], rY = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-ext", "data-mjr-stem", "data-mjr-kind", "data-mjr-live-placeholder", "data-mjr-stacked", "data-mjr-stack-count", "data-mjr-dup-stacked", "data-mjr-dup-count", "aria-label", "aria-selected", "onMousedown", "onClick", "onDblclick"], lY = { +}, oV = { style: { width: "100%" } }, rV = { class: "mjr-grid-skeleton-layout" }, lV = { style: { "margin-top": "10px", "font-size": "12px", opacity: "0.68", "text-align": "center" } }, aV = ["data-index"], cV = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-ext", "data-mjr-stem", "data-mjr-kind", "data-mjr-live-placeholder", "data-mjr-stacked", "data-mjr-stack-count", "data-mjr-dup-stacked", "data-mjr-dup-count", "aria-label", "aria-selected", "onMousedown", "onClick", "onDblclick"], sV = { key: 3, style: { display: "flex", "flex-direction": "column", width: "100%" } -}, aY = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-ext", "data-mjr-stem", "data-mjr-kind", "data-mjr-live-placeholder", "data-mjr-stacked", "data-mjr-stack-count", "data-mjr-dup-stacked", "data-mjr-dup-count", "aria-label", "aria-selected", "onMousedown", "onClick", "onDblclick"], cY = { +}, dV = ["data-mjr-asset-id", "data-mjr-filename-key", "data-mjr-ext", "data-mjr-stem", "data-mjr-kind", "data-mjr-live-placeholder", "data-mjr-stacked", "data-mjr-stack-count", "data-mjr-dup-stacked", "data-mjr-dup-count", "aria-label", "aria-selected", "onMousedown", "onClick", "onDblclick"], uV = { __name: "VirtualAssetGridHost", props: { scrollElement: { @@ -43111,51 +43271,51 @@ const eY = { setup(e, { expose: t }) { const n = e, i = Ae(null), o = Ae(0), r = Ae(!1), l = Ae(0), a = /* @__PURE__ */ new WeakMap(); function c(te) { - return (Array.isArray(te) ? te : []).slice().sort((ge, we) => { - const be = Number((ge == null ? void 0 : ge.mtime) || (ge == null ? void 0 : ge.created_at) || 0) || 0; - return (Number((we == null ? void 0 : we.mtime) || (we == null ? void 0 : we.created_at) || 0) || 0) - be; + return (Array.isArray(te) ? te : []).slice().sort((ye, We) => { + const pe = Number((ye == null ? void 0 : ye.mtime) || (ye == null ? void 0 : ye.created_at) || 0) || 0; + return (Number((We == null ? void 0 : We.mtime) || (We == null ? void 0 : We.created_at) || 0) || 0) - pe; }); } - rg("mjrStackService", { + lg("mjrStackService", { openStackGroup: async (te) => { - const ge = i.value; - if (!ge || !te) return; - const we = String(te.stack_id || "").trim(); - if (!we) return; - const be = `stack:${we}`; - ge._mjrStackMembersCache || (ge._mjrStackMembersCache = /* @__PURE__ */ new Map()); - let Oe = ge._mjrStackMembersCache.get(be); - if (!Array.isArray(Oe)) { - const dt = await Rt(ty(we), { timeoutMs: 3e4 }); - if (dt != null && dt.ok && Array.isArray(dt == null ? void 0 : dt.data)) - Oe = dt.data, ge._mjrStackMembersCache.set(be, Oe); + const ye = i.value; + if (!ye || !te) return; + const We = String(te.stack_id || "").trim(); + if (!We) return; + const pe = `stack:${We}`; + ye._mjrStackMembersCache || (ye._mjrStackMembersCache = /* @__PURE__ */ new Map()); + let De = ye._mjrStackMembersCache.get(pe); + if (!Array.isArray(De)) { + const Zt = await Ft(oy(We), { timeoutMs: 3e4 }); + if (Zt != null && Zt.ok && Array.isArray(Zt == null ? void 0 : Zt.data)) + De = Zt.data, ye._mjrStackMembersCache.set(pe, De); else return; } - const ot = c(Oe); - ge.dispatchEvent( - new CustomEvent(ft.OPEN_STACK_GROUP, { + const ot = c(De); + ye.dispatchEvent( + new CustomEvent(ht.OPEN_STACK_GROUP, { bubbles: !0, detail: { asset: te, members: ot, title: `Generation group (${ot.length} assets)`, - stackId: we + stackId: We } }) ); }, openDupGroup: (te) => { - const ge = i.value; - if (!ge || !te) return; - const we = Array.isArray(te._mjrDupMembers) ? te._mjrDupMembers : [te]; - ge.dispatchEvent( - new CustomEvent(ft.OPEN_STACK_GROUP, { + const ye = i.value; + if (!ye || !te) return; + const We = Array.isArray(te._mjrDupMembers) ? te._mjrDupMembers : [te]; + ye.dispatchEvent( + new CustomEvent(ht.OPEN_STACK_GROUP, { bubbles: !0, detail: { asset: te, - members: we, - title: `Duplicates β€” ${we.length} copies`, + members: We, + title: `Duplicates β€” ${We.length} copies`, isDupGroup: !0 } }) @@ -43168,358 +43328,358 @@ const eY = { setLoadingMessage: u, clearLoadingMessage: I, setStatusMessage: p, - clearStatusMessage: M, - resetAssets: Z, - setSelection: A, + clearStatusMessage: S, + resetAssets: A, + setSelection: C, reconcileSelection: g, - getSelectedAssets: h, + getSelectedAssets: Z, getActiveAsset: f - } = Hw(); + } = Qw(); function b(te) { return te ? typeof te == "object" && "value" in te ? te.value || null : te : null; } - const v = Je(() => b(n.scrollElement)); - function C() { - var ge; + const L = ze(() => b(n.scrollElement)); + function h() { + var ye; const te = i.value; if (!te) return []; try { return Array.from(te.querySelectorAll(".mjr-asset-card")); - } catch (we) { - return (ge = console.debug) == null || ge.call(console, we), []; + } catch (We) { + return (ye = console.debug) == null || ye.call(console, We), []; } } - function S(te, { align: ge = "auto" } = {}) { - var ot, dt, en, un; - const we = String(te || "").trim(); - if (!we) return; - const Oe = (Array.isArray(q.value) ? q.value : []).findIndex( - (Wt) => String((Wt == null ? void 0 : Wt.id) || "") === we + function G(te, { align: ye = "auto" } = {}) { + var ot, Zt, tn, Pt; + const We = String(te || "").trim(); + if (!We) return; + const De = (Array.isArray(K.value) ? K.value : []).findIndex( + (vt) => String((vt == null ? void 0 : vt.id) || "") === We ); - if (!(Oe < 0)) { + if (!(De < 0)) { if (n.virtualize) { - const Wt = Math.floor(Oe / Math.max(1, Q.value)); + const vt = Math.floor(De / Math.max(1, $.value)); try { - ce.value.scrollToIndex(Wt, { align: ge }); - } catch (tn) { - (ot = console.debug) == null || ot.call(console, tn); + ce.value.scrollToIndex(vt, { align: ye }); + } catch (re) { + (ot = console.debug) == null || ot.call(console, re); } return; } try { - (en = (dt = s.cardElements.get(we)) == null ? void 0 : dt.scrollIntoView) == null || en.call(dt, { + (tn = (Zt = s.cardElements.get(We)) == null ? void 0 : Zt.scrollIntoView) == null || tn.call(Zt, { block: "nearest", inline: "nearest" }); - } catch (Wt) { - (un = console.debug) == null || un.call(console, Wt); + } catch (vt) { + (Pt = console.debug) == null || Pt.call(console, vt); } } } function W() { - return sd(i.value, v.value); + return ud(i.value, L.value); } - const y = $L({ + const y = nV({ gridContainerRef: i, state: s, setLoadingMessage: u, clearLoadingMessage: I, setStatusMessage: p, - clearStatusMessage: M, - resetAssets: Z, - setSelection: A, + clearStatusMessage: S, + resetAssets: A, + setSelection: C, reconcileSelection: g, - readScrollElement: () => v.value, - readRenderedCards: C, - scrollToAssetId: S, + readScrollElement: () => L.value, + readRenderedCards: h, + scrollToAssetId: G, canLoadMore: W }); - function k(te) { - const ge = String((te == null ? void 0 : te.filename) || ""), we = ge.lastIndexOf("."); - return we >= 0 ? ge.slice(we + 1).toUpperCase() : ""; - } - function G(te) { - const ge = String((te == null ? void 0 : te.filename) || ""), we = ge.lastIndexOf("."); - return we >= 0 ? ge.slice(0, we).toLowerCase() : ge.toLowerCase(); - } - function z(te) { - return d.value.has(String((te == null ? void 0 : te.id) || "")); + function X(te) { + const ye = String((te == null ? void 0 : te.filename) || ""), We = ye.lastIndexOf("."); + return We >= 0 ? ye.slice(We + 1).toUpperCase() : ""; } function x(te) { + const ye = String((te == null ? void 0 : te.filename) || ""), We = ye.lastIndexOf("."); + return We >= 0 ? ye.slice(0, We).toLowerCase() : ye.toLowerCase(); + } + function T(te) { + return d.value.has(String((te == null ? void 0 : te.id) || "")); + } + function v(te) { return String((te == null ? void 0 : te.kind) || "").toLowerCase() === "folder"; } function w(te) { - var we; - const ge = i.value; - return !ge || String(((we = ge.dataset) == null ? void 0 : we.mjrGroupStacks) || "") !== "1" ? !1 : !!String((te == null ? void 0 : te.stack_id) || "").trim() && Number((te == null ? void 0 : te.stack_asset_count) || 0) > 1; + var We; + const ye = i.value; + return !ye || String(((We = ye.dataset) == null ? void 0 : We.mjrGroupStacks) || "") !== "1" ? !1 : !!String((te == null ? void 0 : te.stack_id) || "").trim() && Number((te == null ? void 0 : te.stack_asset_count) || 0) > 1; } - function X(te) { + function R(te) { return (te == null ? void 0 : te._mjrLivePlaceholder) === !0 || (te == null ? void 0 : te.is_live_placeholder) === !0 || String((te == null ? void 0 : te.id) || "").trim().toLowerCase().startsWith("live:"); } - function V(te) { + function Y(te) { return !!te && te._mjrDupHidden !== !0; } - function R() { - var we; + function F() { + var We; const te = i.value; if (!te) return; - const ge = new Set( - (Array.isArray(s.selectedIds) ? s.selectedIds : []).map((be) => String(be || "").trim()).filter(Boolean) + const ye = new Set( + (Array.isArray(s.selectedIds) ? s.selectedIds : []).map((pe) => String(pe || "").trim()).filter(Boolean) ); - nI(te, ge, s.activeId || ""); + iI(te, ye, s.activeId || ""); try { - ge.size ? te.dataset.mjrSelectedAssetId = String(s.activeId || Array.from(ge)[0] || "") : delete te.dataset.mjrSelectedAssetId; - } catch (be) { - (we = console.debug) == null || we.call(console, be); + ye.size ? te.dataset.mjrSelectedAssetId = String(s.activeId || Array.from(ye)[0] || "") : delete te.dataset.mjrSelectedAssetId; + } catch (pe) { + (We = console.debug) == null || We.call(console, pe); } } - function j() { - var dt, en; + function N() { + var Zt, tn; const te = i.value; if (!te) return; - const ge = Array.isArray(s.selectedIds) ? s.selectedIds.slice() : [], we = String(s.activeId || ""), be = `${ge.join("|")}::${we}`; - if (be === j._lastSelectionKey) return; - j._lastSelectionKey = be; - const Oe = h(), ot = { - selectedIds: ge, - activeId: we, - selectedAssets: Oe + const ye = Array.isArray(s.selectedIds) ? s.selectedIds.slice() : [], We = String(s.activeId || ""), pe = `${ye.join("|")}::${We}`; + if (pe === N._lastSelectionKey) return; + N._lastSelectionKey = pe; + const De = Z(), ot = { + selectedIds: ye, + activeId: We, + selectedAssets: De }; try { te.dispatchEvent(new CustomEvent("mjr:selection-changed", { detail: ot })); - } catch (un) { - (dt = console.debug) == null || dt.call(console, un); + } catch (Pt) { + (Zt = console.debug) == null || Zt.call(console, Pt); } if (n.emitWindowSelectionEvents) try { window.dispatchEvent(new CustomEvent("mjr:selection-changed", { detail: ot })); - } catch (un) { - (en = console.debug) == null || en.call(console, un); + } catch (Pt) { + (tn = console.debug) == null || tn.call(console, Pt); } } - j._lastSelectionKey = ""; - function L(te) { - const ge = Array.isArray(te) ? te : [], we = /* @__PURE__ */ new Map(); - for (const Oe of ge) { - const ot = pr(Oe == null ? void 0 : Oe.filename); + N._lastSelectionKey = ""; + function V(te) { + const ye = Array.isArray(te) ? te : [], We = /* @__PURE__ */ new Map(); + for (const De of ye) { + const ot = fr(De == null ? void 0 : De.filename); if (!ot) continue; - let dt = we.get(ot); - dt || (dt = [], we.set(ot, dt)), dt.push(Oe); + let Zt = We.get(ot); + Zt || (Zt = [], We.set(ot, Zt)), Zt.push(De); } - const be = []; - for (const Oe of ge) { - const ot = pr(Oe == null ? void 0 : Oe.filename); + const pe = []; + for (const De of ye) { + const ot = fr(De == null ? void 0 : De.filename); if (!ot) { - Oe._mjrNameCollision = !1, delete Oe._mjrNameCollisionCount, delete Oe._mjrNameCollisionPaths, Oe._mjrDupStack = !1, Oe._mjrDupMembers = null, Oe._mjrDupCount = 0, be.push(Oe); + De._mjrNameCollision = !1, delete De._mjrNameCollisionCount, delete De._mjrNameCollisionPaths, De._mjrDupStack = !1, De._mjrDupMembers = null, De._mjrDupCount = 0, pe.push(De); continue; } - const dt = we.get(ot) || []; - if (dt.length && dt[0] === Oe) { - for (const en of dt) - en._mjrNameCollision = !1, delete en._mjrNameCollisionCount, delete en._mjrNameCollisionPaths, en._mjrDupStack = !1, en._mjrDupMembers = null, en._mjrDupCount = 0; - if (dt.length >= 2) { - const en = Array.isArray(Oe._mjrDupMembers) ? Oe._mjrDupMembers : [], un = new Set(en.map((tn) => String((tn == null ? void 0 : tn.id) || ""))), Wt = [ - ...en, - ...dt.filter((tn) => !un.has(String((tn == null ? void 0 : tn.id) || ""))) + const Zt = We.get(ot) || []; + if (Zt.length && Zt[0] === De) { + for (const tn of Zt) + tn._mjrNameCollision = !1, delete tn._mjrNameCollisionCount, delete tn._mjrNameCollisionPaths, tn._mjrDupStack = !1, tn._mjrDupMembers = null, tn._mjrDupCount = 0; + if (Zt.length >= 2) { + const tn = Array.isArray(De._mjrDupMembers) ? De._mjrDupMembers : [], Pt = new Set(tn.map((re) => String((re == null ? void 0 : re.id) || ""))), vt = [ + ...tn, + ...Zt.filter((re) => !Pt.has(String((re == null ? void 0 : re.id) || ""))) ]; - Oe._mjrDupStack = !0, Oe._mjrDupMembers = Wt, Oe._mjrDupCount = Wt.length; + De._mjrDupStack = !0, De._mjrDupMembers = vt, De._mjrDupCount = vt.length; } - be.push(Oe); + pe.push(De); } } - return be; + return pe; } - const N = Je(() => L(s.assets)), q = Je(() => (Array.isArray(N.value) ? N.value : []).filter((ge) => V(ge))); - function O() { - var we, be; + const k = ze(() => V(s.assets)), K = ze(() => (Array.isArray(k.value) ? k.value : []).filter((ye) => Y(ye))); + function z() { + var We, pe; const te = i.value; if (!te) return; - const ge = { - count: Array.isArray(q.value) ? q.value.length : 0, + const ye = { + count: Array.isArray(K.value) ? K.value.length : 0, total: Number(s.total || 0) || 0 }; try { - te.dataset.mjrShown = String(ge.count), te.dataset.mjrTotal = String(ge.total), te.dataset.mjrHiddenPngSiblings = String( + te.dataset.mjrShown = String(ye.count), te.dataset.mjrTotal = String(ye.total), te.dataset.mjrHiddenPngSiblings = String( Number(s.hiddenPngSiblings || 0) || 0 ); - } catch (Oe) { - (we = console.debug) == null || we.call(console, Oe); + } catch (De) { + (We = console.debug) == null || We.call(console, De); } try { - te.dispatchEvent(new CustomEvent("mjr:grid-stats", { detail: ge })); - } catch (Oe) { - (be = console.debug) == null || be.call(console, Oe); + te.dispatchEvent(new CustomEvent("mjr:grid-stats", { detail: ye })); + } catch (De) { + (pe = console.debug) == null || pe.call(console, De); } } function B(te) { - var we; + var We; if (!(te != null && te.id)) return; - const ge = (Array.isArray(s.assets) ? s.assets : []).find( - (be) => String((be == null ? void 0 : be.id) || "") === String(te.id) + const ye = (Array.isArray(s.assets) ? s.assets : []).find( + (pe) => String((pe == null ? void 0 : pe.id) || "") === String(te.id) ); - if (ge) + if (ye) try { - ge.rating = te.rating, ge.tags = te.tags; - } catch (be) { - (we = console.debug) == null || we.call(console, be); + ye.rating = te.rating, ye.tags = te.tags; + } catch (pe) { + (We = console.debug) == null || We.call(console, pe); } } function J() { var te; try { window.dispatchEvent(new CustomEvent("mjr:open-sidebar", { detail: { tab: "details" } })); - } catch (ge) { - (te = console.debug) == null || te.call(console, ge); + } catch (ye) { + (te = console.debug) == null || te.call(console, ye); } } - function T(te) { - var ge, we, be, Oe; + function P(te) { + var ye, We, pe, De; if (te) { te._mjrSelectionManagedByVue = !0; try { - (ge = te._mjrPrimaryPointerSelectionUnbind) == null || ge.call(te); + (ye = te._mjrPrimaryPointerSelectionUnbind) == null || ye.call(te); } catch (ot) { - (we = console.debug) == null || we.call(console, ot); + (We = console.debug) == null || We.call(console, ot); } try { - Re == null || Re(); + Oe == null || Oe(); } catch (ot) { - (be = console.debug) == null || be.call(console, ot); + (pe = console.debug) == null || pe.call(console, ot); } - PC(te, { + $C(te, { applySettingsClasses: n.applyDefaultSettingsClasses }); try { - Re = iw(te); + Oe = lw(te); } catch (ot) { - (Oe = console.debug) == null || Oe.call(console, ot), Re = null; + (De = console.debug) == null || De.call(console, ot), Oe = null; } te._mjrPrimaryPointerSelectionUnbind = () => { - }, te._mjrGetAssets = () => Array.isArray(q.value) ? q.value : [], te._mjrSetSelection = (ot, dt = "") => { - const en = A(ot, dt); - return R(), j(), en.selectedIds; - }, te._mjrRemoveAssets = (ot, dt = {}) => { - const en = y.removeAssets(ot, dt); - return O(), en; - }, te._mjrGetRenderedCards = () => C(), te._mjrScrollToAssetId = (ot, dt = {}) => { - S(ot, dt); + }, te._mjrGetAssets = () => Array.isArray(K.value) ? K.value : [], te._mjrSetSelection = (ot, Zt = "") => { + const tn = C(ot, Zt); + return F(), N(), tn.selectedIds; + }, te._mjrRemoveAssets = (ot, Zt = {}) => { + const tn = y.removeAssets(ot, Zt); + return z(), tn; + }, te._mjrGetRenderedCards = () => h(), te._mjrScrollToAssetId = (ot, Zt = {}) => { + G(ot, Zt); }, te._mjrHasAssetId = (ot) => (Array.isArray(s.assets) ? s.assets : []).some( - (dt) => String((dt == null ? void 0 : dt.id) || "") === String(ot || "") - ), te._mjrGetGridState = () => s, te._mjrGetSelectedAssets = () => h(), te._mjrGetActiveAsset = () => f(), te._mjrOnKeyboardAssetChanged = (ot) => B(ot), te._mjrOpenKeyboardDetails = () => J(), te._mjrLoadAssets = (...ot) => y.loadAssets(...ot), te._mjrLoadAssetsFromList = (...ot) => y.loadAssetsFromList(...ot), te._mjrPrepareForScopeSwitch = () => y.prepareGridForScopeSwitch(), te._mjrRefreshGrid = () => (n.applyDefaultSettingsClasses && (nl(te), l.value += 1), y.refreshGrid()), te._mjrCaptureAnchor = () => y.captureAnchor(), te._mjrRestoreAnchor = (ot) => y.restoreAnchor(ot), te._mjrHydrateFromSnapshot = (...ot) => y.hydrateFromSnapshot(...ot), te._mjrUpsertAsset = (ot) => y.upsertAsset(ot), te._mjrUpsertAssetNow = (ot) => y.upsertAssetNow(ot), te._mjrDispose = () => { + (Zt) => String((Zt == null ? void 0 : Zt.id) || "") === String(ot || "") + ), te._mjrGetGridState = () => s, te._mjrGetSelectedAssets = () => Z(), te._mjrGetActiveAsset = () => f(), te._mjrOnKeyboardAssetChanged = (ot) => B(ot), te._mjrOpenKeyboardDetails = () => J(), te._mjrLoadAssets = (...ot) => y.loadAssets(...ot), te._mjrLoadAssetsFromList = (...ot) => y.loadAssetsFromList(...ot), te._mjrPrepareForScopeSwitch = () => y.prepareGridForScopeSwitch(), te._mjrRefreshGrid = () => (n.applyDefaultSettingsClasses && (ol(te), l.value += 1), y.refreshGrid()), te._mjrCaptureAnchor = () => y.captureAnchor(), te._mjrRestoreAnchor = (ot) => y.restoreAnchor(ot), te._mjrHydrateFromSnapshot = (...ot) => y.hydrateFromSnapshot(...ot), te._mjrUpsertAsset = (ot) => y.upsertAsset(ot), te._mjrUpsertAssetNow = (ot) => y.upsertAssetNow(ot), te._mjrDispose = () => { y.prepareGridForScopeSwitch(), y.dispose(), s.cardElements.clear(); }; } } - an( + cn( i, (te) => { - te && (T(te), R(), O()); + te && (P(te), F(), z()); }, { immediate: !0 } - ), an( + ), cn( () => `${(s.selectedIds || []).join("|")}::${String(s.activeId || "")}`, () => { - i.value && (R(), j()); + i.value && (F(), N()); }, { flush: "post" } - ), an( - () => `${Array.isArray(q.value) ? q.value.length : 0}::${Number(s.total || 0)}::${Number(s.hiddenPngSiblings || 0)}`, + ), cn( + () => `${Array.isArray(K.value) ? K.value.length : 0}::${Number(s.total || 0)}::${Number(s.hiddenPngSiblings || 0)}`, () => { - i.value && O(); + i.value && z(); }, { flush: "post", immediate: !0 } ); - function D() { - var be; - const te = i.value, ge = String(((be = te == null ? void 0 : te.dataset) == null ? void 0 : be.mjrBottomFeed) || "").toLowerCase() === "true", we = Number(ye.GRID_MIN_SIZE || 120) || 120; - return ge ? Math.max( + function H() { + var pe; + const te = i.value, ye = String(((pe = te == null ? void 0 : te.dataset) == null ? void 0 : pe.mjrBottomFeed) || "").toLowerCase() === "true", We = Number(fe.GRID_MIN_SIZE || 120) || 120; + return ye ? Math.max( 80, - Number(ye.FEED_GRID_MIN_SIZE || we) || we - ) : Math.max(80, we); + Number(fe.FEED_GRID_MIN_SIZE || We) || We + ) : Math.max(80, We); } - const Q = Je(() => { - var be; + const $ = ze(() => { + var pe; l.value; - const te = Math.max(0, Number(ye.GRID_GAP || 10) || 10), ge = D(), we = Number(o.value || 0) || Number(((be = v.value) == null ? void 0 : be.clientWidth) || 0) || 0; - return we <= 0 ? 1 : Math.max(1, Math.floor((we + te) / (ge + te))); - }), E = Je(() => { - var ge; - return (Number(o.value || 0) || Number(((ge = v.value) == null ? void 0 : ge.clientWidth) || 0) || 0) > 0; - }), K = Je(() => (l.value, Math.max(0, Number(ye.GRID_GAP || 10) || 10))), F = Je(() => { - var we; - const te = Math.max(1, Q.value), ge = Number(o.value || 0) || Number(((we = v.value) == null ? void 0 : we.clientWidth) || 0) || 0; - return ge <= 0 ? D() : Math.max(80, Math.floor((ge - K.value * Math.max(0, te - 1)) / te)); - }), Y = Je(() => { + const te = Math.max(0, Number(fe.GRID_GAP || 10) || 10), ye = H(), We = Number(o.value || 0) || Number(((pe = L.value) == null ? void 0 : pe.clientWidth) || 0) || 0; + return We <= 0 ? 1 : Math.max(1, Math.floor((We + te) / (ye + te))); + }), E = ze(() => { + var ye; + return (Number(o.value || 0) || Number(((ye = L.value) == null ? void 0 : ye.clientWidth) || 0) || 0) > 0; + }), oe = ze(() => (l.value, Math.max(0, Number(fe.GRID_GAP || 10) || 10))), M = ze(() => { + var We; + const te = Math.max(1, $.value), ye = Number(o.value || 0) || Number(((We = L.value) == null ? void 0 : We.clientWidth) || 0) || 0; + return ye <= 0 ? H() : Math.max(80, Math.floor((ye - oe.value * Math.max(0, te - 1)) / te)); + }), j = ze(() => { l.value; - const te = !!ye.GRID_SHOW_DETAILS; - return F.value + (te ? 82 : 0) + K.value; - }), U = Je(() => { - const te = Array.isArray(q.value) ? q.value : [], ge = Math.max(1, Q.value); + const te = !!fe.GRID_SHOW_DETAILS; + return M.value + (te ? 82 : 0) + oe.value; + }), O = ze(() => { + const te = Array.isArray(K.value) ? K.value : [], ye = Math.max(1, $.value); if (n.virtualize) return []; - const we = []; - for (let be = 0; be < te.length; be += ge) - we.push({ - index: Math.floor(be / ge), - items: te.slice(be, be + ge) + const We = []; + for (let pe = 0; pe < te.length; pe += ye) + We.push({ + index: Math.floor(pe / ye), + items: te.slice(pe, pe + ye) }); - return we; - }), P = Je(() => { - const te = Array.isArray(q.value) ? q.value : [], ge = Math.max(1, Q.value); - return Math.ceil(te.length / ge); + return We; + }), D = ze(() => { + const te = Array.isArray(K.value) ? K.value : [], ye = Math.max(1, $.value); + return Math.ceil(te.length / ye); }); - function ee(te) { - const ge = Array.isArray(q.value) ? q.value : [], we = Math.max(1, Q.value), be = Math.max(0, Number(te) || 0) * we; - return ge.slice(be, be + we); + function q(te) { + const ye = Array.isArray(K.value) ? K.value : [], We = Math.max(1, $.value), pe = Math.max(0, Number(te) || 0) * We; + return ye.slice(pe, pe + We); } - const oe = Je(() => { - var we; - const te = Math.max(1, Y.value), ge = ((we = v.value) == null ? void 0 : we.clientHeight) || 0; - return ge <= 0 ? 6 : Math.max(3, Math.min(20, Math.ceil(ge / te))); - }), ce = QW( - Je(() => ({ - count: n.virtualize ? P.value : 0, - getScrollElement: () => v.value, - estimateSize: () => Y.value, - overscan: oe.value, - measureElement: bb + const ee = ze(() => { + var We; + const te = Math.max(1, j.value), ye = ((We = L.value) == null ? void 0 : We.clientHeight) || 0; + return ye <= 0 ? 6 : Math.max(3, Math.min(20, Math.ceil(ye / te))); + }), ce = e1( + ze(() => ({ + count: n.virtualize ? D.value : 0, + getScrollElement: () => L.value, + estimateSize: () => j.value, + overscan: ee.value, + measureElement: pb })) - ), pe = Je(() => n.virtualize ? ce.value.getVirtualItems() : []), H = Je( - () => pe.value.map((te) => ({ + ), ue = ze(() => n.virtualize ? ce.value.getVirtualItems() : []), U = ze( + () => ue.value.map((te) => ({ key: te.key, index: te.index, - items: ee(te.index) + items: q(te.index) })) - ), $ = Je(() => { + ), Q = ze(() => { const te = /* @__PURE__ */ new Map(); - for (const ge of pe.value) - te.set(ge.index, ge); + for (const ye of ue.value) + te.set(ye.index, ye); return te; - }), _ = Je(() => n.virtualize ? ce.value.getTotalSize() : 0), le = Je(() => (l.value, !!ye.GRID_SHOW_DETAILS)), se = Je(() => { - const te = Math.max(1, Number(Q.value || 1)); + }), _ = ze(() => n.virtualize ? ce.value.getTotalSize() : 0), le = ze(() => (l.value, !!fe.GRID_SHOW_DETAILS)), de = ze(() => { + const te = Math.max(1, Number($.value || 1)); return Math.max(12, Math.min(36, te * 4)); - }), de = Je( - () => Array.from({ length: Number(se.value || 12) }, (te, ge) => ge) - ), Ze = Je(() => { - const te = Math.max(1, Number(Q.value || 1)), ge = de.value, we = []; - for (let be = 0; be < ge.length; be += te) - we.push(ge.slice(be, be + te)); - return we; - }), Fe = Je(() => { - const te = Math.max(80, Number(Y.value || 0) - Number(K.value || 0)), ge = Math.max(80, Number(F.value || 0)); - return Math.max(0, te - ge); - }), xe = Je(() => ({ + }), se = ze( + () => Array.from({ length: Number(de.value || 12) }, (te, ye) => ye) + ), ge = ze(() => { + const te = Math.max(1, Number($.value || 1)), ye = se.value, We = []; + for (let pe = 0; pe < ye.length; pe += te) + We.push(ye.slice(pe, pe + te)); + return We; + }), je = ze(() => { + const te = Math.max(80, Number(j.value || 0) - Number(oe.value || 0)), ye = Math.max(80, Number(M.value || 0)); + return Math.max(0, te - ye); + }), Se = ze(() => ({ display: "flex", - gap: `${K.value}px`, - paddingBottom: `${K.value}px`, + gap: `${oe.value}px`, + paddingBottom: `${oe.value}px`, boxSizing: "border-box" - })), ze = Je(() => { - const te = Math.max(80, Number(F.value || 0)), ge = Math.max(80, Number(Y.value || 0) - Number(K.value || 0)); + })), ke = ze(() => { + const te = Math.max(80, Number(M.value || 0)), ye = Math.max(80, Number(j.value || 0) - Number(oe.value || 0)); return { width: `${te}px`, flex: `0 0 ${te}px`, minWidth: `${te}px`, - height: `${ge}px`, + height: `${ye}px`, borderRadius: "12px", border: "1px solid rgba(255,255,255,0.22)", background: "rgba(192,198,206,0.20)", @@ -43527,13 +43687,13 @@ const eY = { boxShadow: "0 6px 18px rgba(0,0,0,0.24)", boxSizing: "border-box" }; - }), We = Je(() => ({ + }), we = ze(() => ({ width: "100%", - height: `${Math.max(80, Number(F.value || 0))}px`, + height: `${Math.max(80, Number(M.value || 0))}px`, background: "linear-gradient(90deg, rgba(168,174,182,0.40) 0%, rgba(220,225,232,0.54) 50%, rgba(168,174,182,0.40) 100%)", backgroundSize: "220% 100%", animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite" - })), De = Je(() => ({ + })), Je = ze(() => ({ height: "10px", margin: "10px 10px 6px", borderRadius: "8px", @@ -43541,7 +43701,7 @@ const eY = { background: "linear-gradient(90deg, rgba(162,168,176,0.38) 0%, rgba(214,219,226,0.52) 50%, rgba(162,168,176,0.38) 100%)", backgroundSize: "220% 100%", animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite" - })), Pe = Je(() => ({ + })), $e = ze(() => ({ height: "10px", margin: "0 10px 10px", borderRadius: "8px", @@ -43549,199 +43709,203 @@ const eY = { background: "linear-gradient(90deg, rgba(160,166,173,0.34) 0%, rgba(208,214,221,0.48) 50%, rgba(160,166,173,0.34) 100%)", backgroundSize: "220% 100%", animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite" - })), Qe = Je(() => ({ + })), qe = ze(() => ({ display: le.value ? "block" : "none", - minHeight: `${Math.max(0, Number(Fe.value || 0))}px` + minHeight: `${Math.max(0, Number(je.value || 0))}px` })); function Ue() { - var ge; - const te = Number(((ge = v.value) == null ? void 0 : ge.clientWidth) || 0) || 0; + var ye; + const te = Number(((ye = L.value) == null ? void 0 : ye.clientWidth) || 0) || 0; if (te > 0) { o.value = te, r.value = !0; return; } r.value || (o.value = 0); } - let Ee = null, Re = null, wt = !1; - an( - v, - (te, ge) => { - var we, be, Oe; + let Te = null, Oe = null, pt = !1; + cn( + L, + (te, ye) => { + var We, pe, De; try { - (we = Ee == null ? void 0 : Ee.disconnect) == null || we.call(Ee); + (We = Te == null ? void 0 : Te.disconnect) == null || We.call(Te); } catch (ot) { - (be = console.debug) == null || be.call(console, ot); + (pe = console.debug) == null || pe.call(console, ot); } if (te) { Ue(); try { - Ee = new ResizeObserver(() => { + Te = new ResizeObserver(() => { Ue(); - }), Ee.observe(te); + }), Te.observe(te); } catch (ot) { - (Oe = console.debug) == null || Oe.call(console, ot), Ee = null; + (De = console.debug) == null || De.call(console, ot), Te = null; } } }, { immediate: !0 } - ), an( - () => P.value, + ), cn( + () => D.value, async () => { var te; if (E.value) { - await Ao(), ue(); + await wo(), me(); try { ce.value.measure(); - } catch (ge) { - (te = console.debug) == null || te.call(console, ge); + } catch (ye) { + (te = console.debug) == null || te.call(console, ye); } } } - ), an( + ), cn( () => s.assets, - async () => { - await Ao(), ue(); + async (te) => { + if (!Array.isArray(te) || te.length === 0) { + const ye = i.value; + ye != null && ye._mjrStackMembersCache && ye._mjrStackMembersCache.clear(); + } + await wo(), me(); } ); - function Se(te, ge) { - const we = String((ge == null ? void 0 : ge.filename) || "").trim().toLowerCase(), be = a.get(te); - if (be && be !== we) { - const ot = s.renderedFilenameMap.get(be); - ot && (ot.delete(te), ot.size || s.renderedFilenameMap.delete(be)); + function Me(te, ye) { + const We = String((ye == null ? void 0 : ye.filename) || "").trim().toLowerCase(), pe = a.get(te); + if (pe && pe !== We) { + const ot = s.renderedFilenameMap.get(pe); + ot && (ot.delete(te), ot.size || s.renderedFilenameMap.delete(pe)); } - if (!we) { + if (!We) { a.delete(te); return; } - let Oe = s.renderedFilenameMap.get(we); - Oe || (Oe = /* @__PURE__ */ new Set(), s.renderedFilenameMap.set(we, Oe)), Oe.add(te), a.set(te, we); + let De = s.renderedFilenameMap.get(We); + De || (De = /* @__PURE__ */ new Set(), s.renderedFilenameMap.set(We, De)), De.add(te), a.set(te, We); } - function Ft(te) { + function Xt(te) { if (!te) return; - const ge = a.get(te); - if (!ge) return; - const we = s.renderedFilenameMap.get(ge); - we && (we.delete(te), we.size || s.renderedFilenameMap.delete(ge)), a.delete(te); + const ye = a.get(te); + if (!ye) return; + const We = s.renderedFilenameMap.get(ye); + We && (We.delete(te), We.size || s.renderedFilenameMap.delete(ye)), a.delete(te); } - function Gt(te) { - var tn, re, ie; - const ge = String(te || "").trim().toLowerCase(); - if (!ge) return; - const we = s.renderedFilenameMap.get(ge), be = Array.from(we || []); - if (!be.length) return; - const Oe = (Array.isArray(s.assets) ? s.assets : []).filter( - (me) => String((me == null ? void 0 : me.filename) || "").trim().toLowerCase() === ge + function Mt(te) { + var re, ne, Ie; + const ye = String(te || "").trim().toLowerCase(); + if (!ye) return; + const We = s.renderedFilenameMap.get(ye), pe = Array.from(We || []); + if (!pe.length) return; + const De = (Array.isArray(s.assets) ? s.assets : []).filter( + (Ne) => String((Ne == null ? void 0 : Ne.filename) || "").trim().toLowerCase() === ye ), ot = Math.max( - Number(((re = (tn = s.filenameCounts) == null ? void 0 : tn.get) == null ? void 0 : re.call(tn, ge)) || 0) || 0, - Oe.length - ), dt = jI(Oe), un = be.find((me) => { - var ut; - const Xe = String(((ut = me._mjrAsset) == null ? void 0 : ut.id) || ""), qe = String((dt == null ? void 0 : dt.id) || ""); - return Xe && qe && Xe === qe; - }) || be[0] || be[0] || null, Wt = (un == null ? void 0 : un._mjrAsset) || dt || Oe[0] || null; - vI(Wt, Oe); - for (const me of be) { - delete me.dataset.mjrDupHidden; - const Xe = me._mjrAsset; - Xe && (Xe._mjrNameCollision = !1, delete Xe._mjrNameCollisionCount, delete Xe._mjrNameCollisionPaths, Xe._mjrDupStack = !1, Xe._mjrDupMembers = null, Xe._mjrDupCount = 0, Xe._mjrDupHidden = !1); + Number(((ne = (re = s.filenameCounts) == null ? void 0 : re.get) == null ? void 0 : ne.call(re, ye)) || 0) || 0, + De.length + ), Zt = vI(De), Pt = pe.find((Ne) => { + var St; + const He = String(((St = Ne._mjrAsset) == null ? void 0 : St.id) || ""), rt = String((Zt == null ? void 0 : Zt.id) || ""); + return He && rt && He === rt; + }) || pe[0] || pe[0] || null, vt = (Pt == null ? void 0 : Pt._mjrAsset) || Zt || De[0] || null; + LI(vt, De); + for (const Ne of pe) { + delete Ne.dataset.mjrDupHidden; + const He = Ne._mjrAsset; + He && (He._mjrNameCollision = !1, delete He._mjrNameCollisionCount, delete He._mjrNameCollisionPaths, He._mjrDupStack = !1, He._mjrDupMembers = null, He._mjrDupCount = 0, He._mjrDupHidden = !1); } - if (!un || !Wt || ot < 2) { - for (const me of be) + if (!Pt || !vt || ot < 2) { + for (const Ne of pe) try { r && s.loadingMessage; - } catch (Xe) { - (ie = console.debug) == null || ie.call(console, Xe); + } catch (He) { + (Ie = console.debug) == null || Ie.call(console, He); } return; } - Wt._mjrDupStack = !0, Wt._mjrDupMembers = Oe.length ? Oe : [Wt], Wt._mjrDupCount = Wt._mjrDupMembers.length, Wt._mjrNameCollision = !1; - for (let me = 1; me < be.length; me += 1) - be[me].dataset.mjrDupHidden = "true", be[me]._mjrAsset && (be[me]._mjrAsset._mjrDupHidden = !0); + vt._mjrDupStack = !0, vt._mjrDupMembers = De.length ? De : [vt], vt._mjrDupCount = vt._mjrDupMembers.length, vt._mjrNameCollision = !1; + for (let Ne = 1; Ne < pe.length; Ne += 1) + pe[Ne].dataset.mjrDupHidden = "true", pe[Ne]._mjrAsset && (pe[Ne]._mjrAsset._mjrDupHidden = !0); } - function ue() { + function me() { for (const te of s.renderedFilenameMap.keys()) - Gt(te); + Mt(te); } - function He(te, ge) { - var Oe, ot; - const we = String((te == null ? void 0 : te.id) || "").trim(); - if (!we) return; - if (!ge) { - const dt = s.cardElements.get(we), en = dt ? a.get(dt) : ""; - Ft(dt), s.cardElements.delete(we), Gt(en); + function Pe(te, ye) { + var De, ot; + const We = String((te == null ? void 0 : te.id) || "").trim(); + if (!We) return; + if (!ye) { + const Zt = s.cardElements.get(We), tn = Zt ? a.get(Zt) : ""; + Xt(Zt), s.cardElements.delete(We), Mt(tn); return; } - const be = (ge == null ? void 0 : ge.$el) ?? ge; - if (be instanceof HTMLElement) { - s.cardElements.set(we, be), be._mjrIsVue = !0, be._mjrAsset = te, be._mjrReactiveAsset = te, be.dataset.mjrKind = String((te == null ? void 0 : te.kind) || ""), Se(be, te), Gt(String((te == null ? void 0 : te.filename) || "").trim().toLowerCase()); + const pe = (ye == null ? void 0 : ye.$el) ?? ye; + if (pe instanceof HTMLElement) { + s.cardElements.set(We, pe), pe._mjrIsVue = !0, pe._mjrAsset = te, pe._mjrReactiveAsset = te, pe.dataset.mjrKind = String((te == null ? void 0 : te.kind) || ""), Me(pe, te), Mt(String((te == null ? void 0 : te.filename) || "").trim().toLowerCase()); try { - (Oe = n.onCardRendered) == null || Oe.call(n, be, te, i.value); - } catch (dt) { - (ot = console.debug) == null || ot.call(console, dt); + (De = n.onCardRendered) == null || De.call(n, pe, te, i.value); + } catch (Zt) { + (ot = console.debug) == null || ot.call(console, Zt); } } } - function ve(te) { - return (ge) => He(te, ge); + function Le(te) { + return (ye) => Pe(te, ye); } - function Ot(te, ge) { - var we, be; + function Ot(te, ye) { + var We, pe; try { - const Oe = (we = te == null ? void 0 : te.closest) == null ? void 0 : we.call(te, "a, button, input, textarea, select, label"); - return !!(Oe && ((be = ge == null ? void 0 : ge.contains) != null && be.call(ge, Oe))); + const De = (We = te == null ? void 0 : te.closest) == null ? void 0 : We.call(te, "a, button, input, textarea, select, label"); + return !!(De && ((pe = ye == null ? void 0 : ye.contains) != null && pe.call(ye, De))); } catch { return !1; } } - const Ve = { + const Xe = { assetId: "", at: 0 }; - function Ke(te, ge) { - var dt, en, un; - const we = String((ge == null ? void 0 : ge.id) || "").trim(); - if (!we) return; + function Ee(te, ye) { + var Zt, tn, Pt; + const We = String((ye == null ? void 0 : ye.id) || "").trim(); + if (!We) return; if ((te == null ? void 0 : te.type) === "click" && Number((te == null ? void 0 : te.detail) || 0) > 0) { - const Wt = Date.now() - Number(Ve.at || 0); - if (Ve.assetId === we && Wt >= 0 && Wt < 500) { - Ve.assetId = "", Ve.at = 0; + const vt = Date.now() - Number(Xe.at || 0); + if (Xe.assetId === We && vt >= 0 && vt < 500) { + Xe.assetId = "", Xe.at = 0; return; } } if (Ot(te == null ? void 0 : te.target, te == null ? void 0 : te.currentTarget)) return; - const be = Array.isArray(s.assets) ? s.assets : [], Oe = be.findIndex((Wt) => String((Wt == null ? void 0 : Wt.id) || "") === we), ot = Array.isArray(s.selectedIds) ? s.selectedIds.slice() : []; - if (te != null && te.shiftKey && Oe >= 0) { - const Wt = String(s.selectionAnchorId || s.activeId || we).trim(), tn = be.findIndex((qe) => String((qe == null ? void 0 : qe.id) || "") === Wt), re = tn >= 0 ? tn : Oe, ie = Math.min(re, Oe), me = Math.max(re, Oe), Xe = be.slice(ie, me + 1).map((qe) => String((qe == null ? void 0 : qe.id) || "")).filter(Boolean); - A(Xe, we); + const pe = Array.isArray(s.assets) ? s.assets : [], De = pe.findIndex((vt) => String((vt == null ? void 0 : vt.id) || "") === We), ot = Array.isArray(s.selectedIds) ? s.selectedIds.slice() : []; + if (te != null && te.shiftKey && De >= 0) { + const vt = String(s.selectionAnchorId || s.activeId || We).trim(), re = pe.findIndex((rt) => String((rt == null ? void 0 : rt.id) || "") === vt), ne = re >= 0 ? re : De, Ie = Math.min(ne, De), Ne = Math.max(ne, De), He = pe.slice(Ie, Ne + 1).map((rt) => String((rt == null ? void 0 : rt.id) || "")).filter(Boolean); + C(He, We); return; } if (te != null && te.ctrlKey || te != null && te.metaKey) { - const Wt = new Set(ot.map(String)); - Wt.has(we) ? Wt.delete(we) : Wt.add(we); - const tn = Array.from(Wt); - A(tn, Wt.has(we) ? we : tn[0] || ""); + const vt = new Set(ot.map(String)); + vt.has(We) ? vt.delete(We) : vt.add(We); + const re = Array.from(vt); + C(re, vt.has(We) ? We : re[0] || ""); return; } - A([we], we); + C([We], We); try { - (en = (dt = s.cardElements.get(we)) == null ? void 0 : dt.focus) == null || en.call(dt, { preventScroll: !0 }); - } catch (Wt) { - (un = console.debug) == null || un.call(console, Wt); + (tn = (Zt = s.cardElements.get(We)) == null ? void 0 : Zt.focus) == null || tn.call(Zt, { preventScroll: !0 }); + } catch (vt) { + (Pt = console.debug) == null || Pt.call(console, vt); } } - function Be(te, ge) { - Number((te == null ? void 0 : te.button) ?? 0) === 0 && (Ve.assetId = String((ge == null ? void 0 : ge.id) || "").trim(), Ve.at = Date.now(), Ke(te, ge)); + function Ke(te, ye) { + Number((te == null ? void 0 : te.button) ?? 0) === 0 && (Xe.assetId = String((ye == null ? void 0 : ye.id) || "").trim(), Xe.at = Date.now(), Ee(te, ye)); } function nt(te) { - const ge = (Array.isArray(s.assets) ? s.assets : []).filter( - (be) => !x(be) - ), we = ge.findIndex( - (be) => String((be == null ? void 0 : be.id) || "") === String((te == null ? void 0 : te.id) || "") + const ye = (Array.isArray(s.assets) ? s.assets : []).filter( + (pe) => !v(pe) + ), We = ye.findIndex( + (pe) => String((pe == null ? void 0 : pe.id) || "") === String((te == null ? void 0 : te.id) || "") ); - !ge.length || we < 0 || ec({ assets: ge, index: we }); + !ye.length || We < 0 || tc({ assets: ye, index: We }); } - function mt(te) { - var ge, we, be, Oe; + function ut(te) { + var ye, We, pe, De; try { if (typeof n.onCardDblclick == "function") { n.onCardDblclick({ @@ -43752,169 +43916,186 @@ const eY = { return; } } catch (ot) { - (ge = console.debug) == null || ge.call(console, ot); + (ye = console.debug) == null || ye.call(console, ot); } - if (x(te)) { + if (v(te)) { try { - (be = (we = i.value) == null ? void 0 : we.dispatchEvent) == null || be.call( - we, + (pe = (We = i.value) == null ? void 0 : We.dispatchEvent) == null || pe.call( + We, new CustomEvent("mjr:open-folder-asset", { bubbles: !0, detail: { asset: te } }) ); } catch (ot) { - (Oe = console.debug) == null || Oe.call(console, ot); + (De = console.debug) == null || De.call(console, ot); } return; } nt(te); } - let bt = null; - function st() { - W() && Ct(); + let It = null; + function dt() { + var te, ye, We; + Ue(); + try { + (ye = (te = ce.value) == null ? void 0 : te.measure) == null || ye.call(te); + } catch (pe) { + (We = console.debug) == null || We.call(console, pe); + } } - function ke(te) { + function Re() { + if (dt(), !W()) { + requestAnimationFrame(() => { + requestAnimationFrame(() => { + dt(), lt(); + }); + }); + return; + } + lt(); + } + function Wt(te) { if (!te || !n.virtualize) return () => { }; - const ge = () => { + const ye = () => { if (s.loading || s.done) return; - Number(te.scrollHeight || 0) - (Number(te.scrollTop || 0) + Number(te.clientHeight || 0)) <= Math.max(120, Y.value * 2) && y.loadNextPage(); + Number(te.scrollHeight || 0) - (Number(te.scrollTop || 0) + Number(te.clientHeight || 0)) <= Math.max(600, j.value * 4) && y.loadNextPage(); }; - return te.addEventListener("scroll", ge, { passive: !0 }), () => { - var we; + return te.addEventListener("scroll", ye, { passive: !0 }), () => { + var We; try { - te.removeEventListener("scroll", ge); - } catch (be) { - (we = console.debug) == null || we.call(console, be); + te.removeEventListener("scroll", ye); + } catch (pe) { + (We = console.debug) == null || We.call(console, pe); } }; } - an( - v, + cn( + L, (te) => { - var ge; + var ye; try { - bt == null || bt(); - } catch (we) { - (ge = console.debug) == null || ge.call(console, we); + It == null || It(); + } catch (We) { + (ye = console.debug) == null || ye.call(console, We); } - bt = ke(te); + It = Wt(te); }, { immediate: !0 } ); - async function Ct() { + async function lt() { if (!n.virtualize || !E.value || s.loading || s.done) return; - const te = v.value; + const te = L.value; if (!te) return; - await Ao(); - const ge = Number(te.scrollHeight || 0) || 0, we = Number(te.clientHeight || 0) || 0; - ge <= we + 40 && y.loadNextPage(); + await wo(); + const ye = Number(te.scrollHeight || 0) || 0, We = Number(te.clientHeight || 0) || 0; + ye <= We + 40 && y.loadNextPage(); } - an( - () => `${Array.isArray(s.assets) ? s.assets.length : 0}::${Q.value}::${s.loading}::${s.done}`, + cn( + () => `${Array.isArray(s.assets) ? s.assets.length : 0}::${$.value}::${s.loading}::${s.done}`, () => { - Ct(); + lt(); }, { flush: "post" } ); - function at(te) { - var ge; + function qt(te) { + var ye; if (!(!te || !n.virtualize)) try { ce.value.measureElement(te); - } catch (we) { - (ge = console.debug) == null || ge.call(console, we); + } catch (We) { + (ye = console.debug) == null || ye.call(console, We); } } - function zt() { + function yt() { return { - width: `${F.value}px`, - flex: `0 0 ${F.value}px`, - minWidth: `${F.value}px` + width: `${M.value}px`, + flex: `0 0 ${M.value}px`, + minWidth: `${M.value}px` }; } - function Zt(te) { - return $.value.get(te) || null; + function mt(te) { + return Q.value.get(te) || null; } - function gt(te) { - const ge = Zt(te); + function kt(te) { + const ye = mt(te); return { position: "absolute", left: "0", top: "0", - transform: `translateY(${Number((ge == null ? void 0 : ge.start) || 0)}px)`, + transform: `translateY(${Number((ye == null ? void 0 : ye.start) || 0)}px)`, width: "100%", display: "flex", - gap: `${K.value}px`, - paddingBottom: `${K.value}px`, + gap: `${oe.value}px`, + paddingBottom: `${oe.value}px`, boxSizing: "border-box" }; } - function kt() { + function $t() { return { display: "flex", - gap: `${K.value}px`, - paddingBottom: `${K.value}px`, + gap: `${oe.value}px`, + paddingBottom: `${oe.value}px`, boxSizing: "border-box" }; } - function Qt() { - l.value += 1, n.applyDefaultSettingsClasses && i.value && nl(i.value); + function Tt() { + l.value += 1, n.applyDefaultSettingsClasses && i.value && ol(i.value); } - return an( + return cn( () => n.applyDefaultSettingsClasses, () => { - i.value && n.applyDefaultSettingsClasses && nl(i.value); + i.value && n.applyDefaultSettingsClasses && ol(i.value); }, { immediate: !0 } - ), Mr(() => { - var te, ge, we, be, Oe, ot, dt, en, un, Wt, tn; + ), xr(() => { + var te, ye, We, pe, De, ot, Zt, tn, Pt, vt, re; try { - (ge = (te = i.value) == null ? void 0 : te._mjrPrimaryPointerSelectionUnbind) == null || ge.call(te); - } catch (re) { - (we = console.debug) == null || we.call(console, re); + (ye = (te = i.value) == null ? void 0 : te._mjrPrimaryPointerSelectionUnbind) == null || ye.call(te); + } catch (ne) { + (We = console.debug) == null || We.call(console, ne); } try { i.value && (i.value._mjrPrimaryPointerSelectionUnbind = null, i.value._mjrSelectionManagedByVue = !1); - } catch (re) { - (be = console.debug) == null || be.call(console, re); + } catch (ne) { + (pe = console.debug) == null || pe.call(console, ne); } try { - (Oe = Ee == null ? void 0 : Ee.disconnect) == null || Oe.call(Ee); - } catch (re) { - (ot = console.debug) == null || ot.call(console, re); + (De = Te == null ? void 0 : Te.disconnect) == null || De.call(Te); + } catch (ne) { + (ot = console.debug) == null || ot.call(console, ne); } try { - bt == null || bt(); - } catch (re) { - (dt = console.debug) == null || dt.call(console, re); + It == null || It(); + } catch (ne) { + (Zt = console.debug) == null || Zt.call(console, ne); } try { y.dispose(); - } catch (re) { - (en = console.debug) == null || en.call(console, re); + } catch (ne) { + (tn = console.debug) == null || tn.call(console, ne); } try { - Re == null || Re(); - } catch (re) { - (un = console.debug) == null || un.call(console, re); + Oe == null || Oe(); + } catch (ne) { + (Pt = console.debug) == null || Pt.call(console, ne); } - Re = null; + Oe = null; try { - window.removeEventListener("mjr-settings-changed", Qt), wt = !1; - } catch (re) { - (Wt = console.debug) == null || Wt.call(console, re); + window.removeEventListener("mjr-settings-changed", Tt), pt = !1; + } catch (ne) { + (vt = console.debug) == null || vt.call(console, ne); } try { - window.removeEventListener("mjr:keepalive-attached", st); - } catch (re) { - (tn = console.debug) == null || tn.call(console, re); + window.removeEventListener("mjr:keepalive-attached", Re); + } catch (ne) { + (re = console.debug) == null || re.call(console, ne); } - }), an( + }), cn( i, (te) => { - te && (wt || (window.addEventListener("mjr-settings-changed", Qt), window.addEventListener("mjr:keepalive-attached", st), wt = !0)); + te && (pt || (window.addEventListener("mjr-settings-changed", Tt), window.addEventListener("mjr:keepalive-attached", Re), pt = !0)); }, { immediate: !0 } ), t({ @@ -43957,7 +44138,7 @@ const eY = { dispose() { return y.dispose(); } - }), (te, ge) => (Ie(), he("div", { + }), (te, ye) => (be(), Ce("div", { ref_key: "gridContainerRef", ref: i, class: "mjr-grid", @@ -43965,44 +44146,44 @@ const eY = { role: "grid", style: { position: "relative", "min-height": "100%" } }, [ - Ge(s).loading && !Ge(s).assets.length || !r.value && Ge(s).assets.length ? (Ie(), he("div", eY, [ - ne("div", tY, [ - ne("div", nY, [ - (Ie(!0), he(Xt, null, Cn(Ze.value, (we, be) => (Ie(), he("div", { - key: `skr-${be}`, - style: vt(xe.value) + xe(s).loading && !xe(s).assets.length || !r.value && xe(s).assets.length ? (be(), Ce("div", iV, [ + ie("div", oV, [ + ie("div", rV, [ + (be(!0), Ce(Nt, null, Cn(ge.value, (We, pe) => (be(), Ce("div", { + key: `skr-${pe}`, + style: Lt(Se.value) }, [ - (Ie(!0), he(Xt, null, Cn(we, (Oe) => (Ie(), he("div", { - key: `sk-${Oe}`, + (be(!0), Ce(Nt, null, Cn(We, (De) => (be(), Ce("div", { + key: `sk-${De}`, class: "mjr-grid-skeleton-card", - style: vt(ze.value) + style: Lt(ke.value) }, [ - ne("div", { + ie("div", { class: "mjr-grid-skeleton-thumb mjr-grid-skeleton-shimmer", - style: vt(We.value) + style: Lt(we.value) }, null, 4), - ne("div", { - style: vt(Qe.value) + ie("div", { + style: Lt(qe.value) }, [ - ne("div", { + ie("div", { class: "mjr-grid-skeleton-line mjr-grid-skeleton-line--title mjr-grid-skeleton-shimmer", - style: vt(De.value) + style: Lt(Je.value) }, null, 4), - ne("div", { + ie("div", { class: "mjr-grid-skeleton-line mjr-grid-skeleton-line--meta mjr-grid-skeleton-shimmer", - style: vt(Pe.value) + style: Lt($e.value) }, null, 4) ], 4) ], 4))), 128)) ], 4))), 128)) ]), - ne("div", iY, Ye(r.value ? Ge(s).loadingMessage || "Loading assets..." : "Preparing grid..."), 1) + ie("div", lV, Ye(r.value ? xe(s).loadingMessage || "Loading assets..." : "Preparing grid..."), 1) ]) - ])) : yt("", !0), - Ge(s).statusMessage && !Ge(s).assets.length && !Ge(s).loading ? (Ie(), he("div", { + ])) : ft("", !0), + xe(s).statusMessage && !xe(s).assets.length && !xe(s).loading ? (be(), Ce("div", { key: 1, class: "mjr-grid-message", - style: vt({ + style: Lt({ position: "absolute", inset: "0", zIndex: 3, @@ -44014,125 +44195,125 @@ const eY = { pointerEvents: "none", fontSize: "14px", lineHeight: "1.4", - color: Ge(s).statusError ? "var(--error-text, #f44336)" : "var(--muted-text, #bdbdbd)", + color: xe(s).statusError ? "var(--error-text, #f44336)" : "var(--muted-text, #bdbdbd)", background: "rgba(0, 0, 0, 0.35)" }) - }, Ye(Ge(s).statusMessage), 5)) : yt("", !0), - e.virtualize && r.value ? (Ie(), he("div", { + }, Ye(xe(s).statusMessage), 5)) : ft("", !0), + e.virtualize && r.value ? (be(), Ce("div", { key: 2, - style: vt({ + style: Lt({ height: `${_.value}px`, position: "relative", width: "100%" }) }, [ - (Ie(!0), he(Xt, null, Cn(H.value, (we) => (Ie(), he("div", { - key: we.key, + (be(!0), Ce(Nt, null, Cn(U.value, (We) => (be(), Ce("div", { + key: We.key, ref_for: !0, - ref: at, - "data-index": we.index, - style: vt(gt(we.index)) + ref: qt, + "data-index": We.index, + style: Lt(kt(We.index)) }, [ - we.items.length ? (Ie(!0), he(Xt, { key: 0 }, Cn(we.items, (be) => (Ie(), he(Xt, { - key: String(be.id) + We.items.length ? (be(!0), Ce(Nt, { key: 0 }, Cn(We.items, (pe) => (be(), Ce(Nt, { + key: String(pe.id) }, [ - x(be) ? (Ie(), Ei(rm, { + v(pe) ? (be(), Pi(am, { key: 0, ref_for: !0, - ref: ve(be), - asset: be, - selected: z(be), - style: vt(zt()), - onMousedown: Fn((Oe) => Be(Oe, be), ["left"]), - onClick: (Oe) => Ke(Oe, be), - onDblclick: Fn((Oe) => mt(be), ["stop"]) - }, null, 8, ["asset", "selected", "style", "onMousedown", "onClick", "onDblclick"])) : (Ie(), he("div", { + ref: Le(pe), + asset: pe, + selected: T(pe), + style: Lt(yt()), + onMousedown: On((De) => Ke(De, pe), ["left"]), + onClick: (De) => Ee(De, pe), + onDblclick: On((De) => ut(pe), ["stop"]) + }, null, 8, ["asset", "selected", "style", "onMousedown", "onClick", "onDblclick"])) : (be(), Ce("div", { key: 1, ref_for: !0, - ref: ve(be), + ref: Le(pe), class: Zn(["mjr-asset-card mjr-card", { - "is-selected": z(be), - "mjr-live-placeholder": X(be) + "is-selected": T(pe), + "mjr-live-placeholder": R(pe) }]), role: "button", tabindex: "0", draggable: "true", - style: vt([zt(), be._mjrDupHidden ? { display: "none" } : null]), - "data-mjr-asset-id": String(be.id ?? ""), - "data-mjr-filename-key": String(be.filename || "").toLowerCase(), - "data-mjr-ext": k(be), - "data-mjr-stem": G(be), - "data-mjr-kind": String(be.kind || ""), - "data-mjr-live-placeholder": X(be) ? "true" : void 0, - "data-mjr-stacked": w(be) ? "true" : void 0, - "data-mjr-stack-count": w(be) ? String(be.stack_asset_count || 0) : void 0, - "data-mjr-dup-stacked": be._mjrDupStack ? "true" : void 0, - "data-mjr-dup-count": be._mjrDupStack ? String(be._mjrDupCount || 0) : void 0, - "aria-label": `Asset ${be.filename || ""}`, - "aria-selected": z(be) ? "true" : "false", - onMousedown: Fn((Oe) => Be(Oe, be), ["left"]), - onClick: (Oe) => Ke(Oe, be), - onDblclick: Fn((Oe) => mt(be), ["stop"]) + style: Lt([yt(), pe._mjrDupHidden ? { display: "none" } : null]), + "data-mjr-asset-id": String(pe.id ?? ""), + "data-mjr-filename-key": String(pe.filename || "").toLowerCase(), + "data-mjr-ext": X(pe), + "data-mjr-stem": x(pe), + "data-mjr-kind": String(pe.kind || ""), + "data-mjr-live-placeholder": R(pe) ? "true" : void 0, + "data-mjr-stacked": w(pe) ? "true" : void 0, + "data-mjr-stack-count": w(pe) ? String(pe.stack_asset_count || 0) : void 0, + "data-mjr-dup-stacked": pe._mjrDupStack ? "true" : void 0, + "data-mjr-dup-count": pe._mjrDupStack ? String(pe._mjrDupCount || 0) : void 0, + "aria-label": `Asset ${pe.filename || ""}`, + "aria-selected": T(pe) ? "true" : "false", + onMousedown: On((De) => Ke(De, pe), ["left"]), + onClick: (De) => Ee(De, pe), + onDblclick: On((De) => ut(pe), ["stop"]) }, [ - fn(om, { asset: be }, null, 8, ["asset"]) - ], 46, rY)) - ], 64))), 128)) : yt("", !0) - ], 12, oY))), 128)) - ], 4)) : (Ie(), he("div", lY, [ - (Ie(!0), he(Xt, null, Cn(U.value, (we) => (Ie(), he("div", { - key: we.index, - style: vt(kt()) + fn(lm, { asset: pe }, null, 8, ["asset"]) + ], 46, cV)) + ], 64))), 128)) : ft("", !0) + ], 12, aV))), 128)) + ], 4)) : (be(), Ce("div", sV, [ + (be(!0), Ce(Nt, null, Cn(O.value, (We) => (be(), Ce("div", { + key: We.index, + style: Lt($t()) }, [ - (Ie(!0), he(Xt, null, Cn(we.items, (be) => (Ie(), he(Xt, { - key: String(be.id) + (be(!0), Ce(Nt, null, Cn(We.items, (pe) => (be(), Ce(Nt, { + key: String(pe.id) }, [ - x(be) ? (Ie(), Ei(rm, { + v(pe) ? (be(), Pi(am, { key: 0, ref_for: !0, - ref: ve(be), - asset: be, - selected: z(be), - style: vt(zt()), - onMousedown: Fn((Oe) => Be(Oe, be), ["left"]), - onClick: (Oe) => Ke(Oe, be), - onDblclick: Fn((Oe) => mt(be), ["stop"]) - }, null, 8, ["asset", "selected", "style", "onMousedown", "onClick", "onDblclick"])) : (Ie(), he("div", { + ref: Le(pe), + asset: pe, + selected: T(pe), + style: Lt(yt()), + onMousedown: On((De) => Ke(De, pe), ["left"]), + onClick: (De) => Ee(De, pe), + onDblclick: On((De) => ut(pe), ["stop"]) + }, null, 8, ["asset", "selected", "style", "onMousedown", "onClick", "onDblclick"])) : (be(), Ce("div", { key: 1, ref_for: !0, - ref: ve(be), + ref: Le(pe), class: Zn(["mjr-asset-card mjr-card", { - "is-selected": z(be), - "mjr-live-placeholder": X(be) + "is-selected": T(pe), + "mjr-live-placeholder": R(pe) }]), role: "button", tabindex: "0", draggable: "true", - style: vt([zt(), be._mjrDupHidden ? { display: "none" } : null]), - "data-mjr-asset-id": String(be.id ?? ""), - "data-mjr-filename-key": String(be.filename || "").toLowerCase(), - "data-mjr-ext": k(be), - "data-mjr-stem": G(be), - "data-mjr-kind": String(be.kind || ""), - "data-mjr-live-placeholder": X(be) ? "true" : void 0, - "data-mjr-stacked": w(be) ? "true" : void 0, - "data-mjr-stack-count": w(be) ? String(be.stack_asset_count || 0) : void 0, - "data-mjr-dup-stacked": be._mjrDupStack ? "true" : void 0, - "data-mjr-dup-count": be._mjrDupStack ? String(be._mjrDupCount || 0) : void 0, - "aria-label": `Asset ${be.filename || ""}`, - "aria-selected": z(be) ? "true" : "false", - onMousedown: Fn((Oe) => Be(Oe, be), ["left"]), - onClick: (Oe) => Ke(Oe, be), - onDblclick: Fn((Oe) => mt(be), ["stop"]) + style: Lt([yt(), pe._mjrDupHidden ? { display: "none" } : null]), + "data-mjr-asset-id": String(pe.id ?? ""), + "data-mjr-filename-key": String(pe.filename || "").toLowerCase(), + "data-mjr-ext": X(pe), + "data-mjr-stem": x(pe), + "data-mjr-kind": String(pe.kind || ""), + "data-mjr-live-placeholder": R(pe) ? "true" : void 0, + "data-mjr-stacked": w(pe) ? "true" : void 0, + "data-mjr-stack-count": w(pe) ? String(pe.stack_asset_count || 0) : void 0, + "data-mjr-dup-stacked": pe._mjrDupStack ? "true" : void 0, + "data-mjr-dup-count": pe._mjrDupStack ? String(pe._mjrDupCount || 0) : void 0, + "aria-label": `Asset ${pe.filename || ""}`, + "aria-selected": T(pe) ? "true" : "false", + onMousedown: On((De) => Ke(De, pe), ["left"]), + onClick: (De) => Ee(De, pe), + onDblclick: On((De) => ut(pe), ["stop"]) }, [ - fn(om, { asset: be }, null, 8, ["asset"]) - ], 46, aY)) + fn(lm, { asset: pe }, null, 8, ["asset"]) + ], 46, dV)) ], 64))), 128)) ], 4))), 128)) ])) ], 512)); } -}, Gp = /* @__PURE__ */ jr(cY, [["__scopeId", "data-v-41c1fc8a"]]), Dm = 240, Em = 120, sY = 80; -function dY(e) { +}, vp = /* @__PURE__ */ Vr(uV, [["__scopeId", "data-v-d9ff3613"]]), Em = 240, Hm = 120, mV = 80; +function gV(e) { var i; const t = document.createElement("button"); t.type = "button", t.className = "mjr-asset-card mjr-card mjr-feed-group-member-card", t.style.cssText = "display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:110px;padding:8px;border:1px solid var(--mjr-border,#444);border-radius:8px;background:var(--mjr-surface,#202020);color:inherit;text-align:left;overflow:hidden;"; @@ -44144,7 +44325,7 @@ function dY(e) { const n = document.createElement("div"); return n.className = "mjr-feed-group-member-name", n.style.cssText = "font-size:11px;font-weight:600;line-height:1.3;word-break:break-word;", n.textContent = String((e == null ? void 0 : e.filename) || "Asset"), t.appendChild(n), t; } -function Id(e) { +function pd(e) { var t, n, i; try { if (typeof (e == null ? void 0 : e._mjrGetRenderedCards) == "function") { @@ -44160,56 +44341,56 @@ function Id(e) { return (i = console.debug) == null || i.call(console, o), []; } } -function Ia(e, t, n = "") { +function ba(e, t, n = "") { const i = Array.isArray(t) ? t.map(String).filter(Boolean) : []; - return MC( + return xC( e, i, { activeId: n || i[0] || "" }, - Id + pd ); } -function uY(e) { +function IV(e) { const t = e == null ? void 0 : e.grid; if (!t) return; const n = (i) => { - var d, u, I, p, M, Z, A, g; + var d, u, I, p, S, A, C, g; if (i.defaultPrevented) return; const o = (u = (d = i.target) == null ? void 0 : d.closest) == null ? void 0 : u.call(d, ".mjr-asset-card"); if (!o || !t.contains(o)) return; const r = (p = (I = i.target) == null ? void 0 : I.closest) == null ? void 0 : p.call(I, "a, button, input, textarea, select, label"); if (r && r !== o && o.contains(r)) return; - const l = String(((M = o.dataset) == null ? void 0 : M.mjrAssetId) || "").trim(); + const l = String(((S = o.dataset) == null ? void 0 : S.mjrAssetId) || "").trim(); if (!l) return; try { window.__MJR_LAST_SELECTION_GRID__ = t; - } catch (h) { - (Z = console.debug) == null || Z.call(console, h); + } catch (Z) { + (A = console.debug) == null || A.call(console, Z); } - const a = Id(t), c = a.indexOf(o), s = Pa(t); + const a = pd(t), c = a.indexOf(o), s = Qa(t); if (i.shiftKey && c >= 0) { - const h = Number.isFinite(Number(t._mjrLastSelectedIndex)) ? Number(t._mjrLastSelectedIndex) : c, f = Math.min(h, c), b = Math.max(h, c), v = a.slice(f, b + 1).map((C) => { - var S; - return String(((S = C == null ? void 0 : C.dataset) == null ? void 0 : S.mjrAssetId) || "").trim(); + const Z = Number.isFinite(Number(t._mjrLastSelectedIndex)) ? Number(t._mjrLastSelectedIndex) : c, f = Math.min(Z, c), b = Math.max(Z, c), L = a.slice(f, b + 1).map((h) => { + var G; + return String(((G = h == null ? void 0 : h.dataset) == null ? void 0 : G.mjrAssetId) || "").trim(); }).filter(Boolean); - Ia(t, v, l), t._mjrLastSelectedIndex = c, i.preventDefault(), i.stopPropagation(); + ba(t, L, l), t._mjrLastSelectedIndex = c, i.preventDefault(), i.stopPropagation(); return; } if (i.ctrlKey || i.metaKey) { s.has(l) ? s.delete(l) : s.add(l); - const h = Array.from(s); - Ia( + const Z = Array.from(s); + ba( t, - h, - s.has(l) ? l : h[0] || "" + Z, + s.has(l) ? l : Z[0] || "" ), c >= 0 && (t._mjrLastSelectedIndex = c), i.preventDefault(), i.stopPropagation(); return; } - Ia(t, [l], l), c >= 0 && (t._mjrLastSelectedIndex = c); + ba(t, [l], l), c >= 0 && (t._mjrLastSelectedIndex = c); try { - (A = o.focus) == null || A.call(o, { preventScroll: !0 }); - } catch (h) { - (g = console.debug) == null || g.call(console, h); + (C = o.focus) == null || C.call(o, { preventScroll: !0 }); + } catch (Z) { + (g = console.debug) == null || g.call(console, Z); } i.preventDefault(), i.stopPropagation(); }; @@ -44222,24 +44403,24 @@ function uY(e) { } }; } -const Di = { +const qi = { hosts: /* @__PURE__ */ new Set(), pendingAssets: /* @__PURE__ */ new Map() }; -function mY(e) { - if (!ye.EXECUTION_GROUPING_ENABLED) - return Ua(e); +function bV(e) { + if (!fe.EXECUTION_GROUPING_ENABLED) + return Ka(e); const t = String((e == null ? void 0 : e.stack_id) || "").trim(); if (t) return `stack:${t}`; const n = String((e == null ? void 0 : e.job_id) || "").trim(); - return n ? `job:${n}` : Ua(e); + return n ? `job:${n}` : Ka(e); } -function bd(e) { +function yd(e) { const t = /* @__PURE__ */ new Map(); for (const i of Array.isArray(e) ? e : []) { - const o = pd(i); + const o = fd(i); if (!o) continue; - const r = mY(o); + const r = bV(o); let l = t.get(r); l || (l = { key: r, members: [] }, t.set(r, l)), l.members.push(o); } @@ -44262,20 +44443,20 @@ function bd(e) { return (Number((o == null ? void 0 : o.mtime) || (o == null ? void 0 : o.created_at) || 0) || 0) - r; }), n; } -function wl(e) { +function Ml(e) { var t, n; return Array.from(((n = (t = e == null ? void 0 : e.assetsByKey) == null ? void 0 : t.values) == null ? void 0 : n.call(t)) || []); } -function Ms(e, t) { - const n = pd(t); - return !e || !n ? null : (e.assetsByKey || (e.assetsByKey = /* @__PURE__ */ new Map()), e.assetsByKey.set(Ua(n), n), n); +function Gs(e, t) { + const n = fd(t); + return !e || !n ? null : (e.assetsByKey || (e.assetsByKey = /* @__PURE__ */ new Map()), e.assetsByKey.set(Ka(n), n), n); } -function xp(e) { +function Lp(e) { !(e != null && e.grid) || !e.loaded || e._renderTimer || (e._renderTimer = setTimeout(() => { - e._renderTimer = null, bY(e); - }, sY)); + e._renderTimer = null, fV(e); + }, mV)); } -function gY(e, t, n = 0) { +function pV(e, t, n = 0) { var a; const i = Array.isArray(t == null ? void 0 : t._mjrFeedGroupAssets) ? t._mjrFeedGroupAssets.filter(Boolean) : [t].filter(Boolean); if (!i.length) return; @@ -44286,11 +44467,11 @@ function gY(e, t, n = 0) { } catch (c) { (a = console.debug) == null || a.call(console, c); } - Ia(e.grid, [l], l); + ba(e.grid, [l], l); } - ec({ assets: i, index: o }); + tc({ assets: i, index: o }); } -function IY(e, t) { +function yV(e, t) { const n = document.createElement("div"); n.className = "mjr-popover mjr-feed-group-popover", n.style.cssText = "display:none; width:min(440px, 92vw); padding:10px;"; const i = document.createElement("div"); @@ -44299,37 +44480,37 @@ function IY(e, t) { o.className = "mjr-feed-group-popover-grid", o.style.cssText = "display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:8px; max-height:360px; overflow-y:auto; overscroll-behavior:contain;"; const r = Array.isArray(t == null ? void 0 : t._mjrFeedGroupAssets) ? t._mjrFeedGroupAssets : []; for (let l = 0; l < r.length; l += 1) { - const a = r[l], c = dY(a); + const a = r[l], c = gV(a); c.classList.add("mjr-feed-group-member-card"), l === 0 && c.classList.add("mjr-feed-group-member-card--cover"), c.addEventListener("click", (s) => { var d, u; - s.preventDefault(), s.stopPropagation(), (u = (d = e.popoverManager) == null ? void 0 : d.close) == null || u.call(d, n), gY(e, t, l); + s.preventDefault(), s.stopPropagation(), (u = (d = e.popoverManager) == null ? void 0 : d.close) == null || u.call(d, n), pV(e, t, l); }), o.appendChild(c); } return n.appendChild(o), e.root.appendChild(n), n; } -function jp(e, t, n) { +function Vp(e, t, n) { if (!t || !n) return; const i = Number((n == null ? void 0 : n._mjrFeedGroupCount) || 0) || 0; if (i <= 1 || (t.dataset.mjrFeedGrouped = "true", t.dataset.mjrFeedGroupCount = String(i), t.dataset.mjrStacked = "true", t.dataset.mjrStackCount = String(i), t.querySelector(".mjr-feed-group-button"))) return; const o = document.createElement("button"); - o.type = "button", o.className = "mjr-feed-group-button", o.title = m("bottomFeed.groupOpen", "Show other assets from this generation"), o.setAttribute("aria-label", `${i} assets`), o.innerHTML = `${i}`, o.style.cssText = "position:absolute; top:34px; right:6px; z-index:11;", gb(o); - const r = IY(e, n); + o.type = "button", o.className = "mjr-feed-group-button", o.title = m("bottomFeed.groupOpen", "Show other assets from this generation"), o.setAttribute("aria-label", `${i} assets`), o.innerHTML = `${i}`, o.style.cssText = "position:absolute; top:34px; right:6px; z-index:11;", Ib(o); + const r = yV(e, n); o.addEventListener("click", (l) => { var a, c; l.preventDefault(), l.stopPropagation(), (c = (a = e.popoverManager) == null ? void 0 : a.toggle) == null || c.call(a, r, o); }), t.appendChild(o); } -function vp(e, t) { +function Yp(e, t) { var i; const n = new Map( (Array.isArray(t) ? t : []).map((o) => [String((o == null ? void 0 : o.id) || "").trim(), o]).filter(([o]) => !!o) ); - for (const o of Id(e == null ? void 0 : e.grid)) { + for (const o of pd(e == null ? void 0 : e.grid)) { const r = String(((i = o == null ? void 0 : o.dataset) == null ? void 0 : i.mjrAssetId) || "").trim(), l = n.get(r); - l && jp(e, o, l); + l && Vp(e, o, l); } } -async function bY(e) { +async function fV(e) { var o, r, l, a, c, s, d; if (!(e != null && e.grid)) return; try { @@ -44343,42 +44524,42 @@ async function bY(e) { } catch (u) { (d = console.debug) == null || d.call(console, u); } - const t = bd(wl(e)), n = await _s(e.grid, t, { + const t = yd(Ml(e)), n = await ed(e.grid, t, { title: m("bottomFeed.title", "Generated Feed"), reset: !0 }); - vp(e, t), Number((n == null ? void 0 : n.count) || 0) <= 0 ? (e.empty.textContent = m("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none"; + Yp(e, t), Number((n == null ? void 0 : n.count) || 0) <= 0 ? (e.empty.textContent = m("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none"; } -function Ua(e) { +function Ka(e) { const t = String((e == null ? void 0 : e.id) || "").trim(); if (t) return `id:${t}`; const n = String((e == null ? void 0 : e.filename) || "").trim(), i = String((e == null ? void 0 : e.subfolder) || "").trim(); return `file:${String((e == null ? void 0 : e.source) || (e == null ? void 0 : e.type) || "").trim()}:${i}:${n}`; } -function pY(e) { +function hV(e) { const t = String(e || "").split(".").pop().toUpperCase(), n = /* @__PURE__ */ new Set(["MP4", "WEBM", "MOV", "AVI", "MKV"]), i = /* @__PURE__ */ new Set(["MP3", "WAV", "OGG", "FLAC", "AAC", "M4A"]), o = /* @__PURE__ */ new Set(["OBJ", "FBX", "GLB", "GLTF", "STL", "PLY", "SPLAT", "KSPLAT", "SPZ"]); return n.has(t) ? "video" : i.has(t) ? "audio" : o.has(t) ? "model3d" : "image"; } -function pd(e) { +function fd(e) { if (!e || typeof e != "object") return null; const t = { ...e }; - return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind || (t.kind = pY(t.ext || t.filename || "")), t; + return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind || (t.kind = hV(t.ext || t.filename || "")), t; } -function yY(e) { - const t = pd(e); +function CV(e) { + const t = fd(e); if (!t) return null; - const n = Ua(t); + const n = Ka(t); if (!n) return null; - if (Di.pendingAssets.set(n, t), Di.pendingAssets.size > 64) { - const i = Di.pendingAssets.keys().next().value; - i && Di.pendingAssets.delete(i); + if (qi.pendingAssets.set(n, t), qi.pendingAssets.size > 64) { + const i = qi.pendingAssets.keys().next().value; + i && qi.pendingAssets.delete(i); } return t; } -function fY() { - return Array.from(Di.pendingAssets.values()); +function ZV() { + return Array.from(qi.pendingAssets.values()); } -async function Lp(e) { +async function kp(e) { var t, n; if (e != null && e.grid) { e.empty.style.display = "none", e.empty.textContent = m("bottomFeed.loading", "Loading recent assets..."); @@ -44386,34 +44567,34 @@ async function Lp(e) { e.assetsByKey = /* @__PURE__ */ new Map(); const i = []; let o = 0; - for (; o < Dm; ) { - const s = Vs({ + for (; o < Em; ) { + const s = Xs({ q: "*", - limit: Math.min(Em, Dm - o), + limit: Math.min(Hm, Em - o), offset: o, scope: "output", sort: "mtime_desc", includeTotal: o === 0 - }), d = await Rt(s, { timeoutMs: 3e4 }); + }), d = await Ft(s, { timeoutMs: 3e4 }); if (!(d != null && d.ok)) throw new Error(String((d == null ? void 0 : d.error) || "Failed to load feed assets")); const u = Array.isArray((t = d == null ? void 0 : d.data) == null ? void 0 : t.assets) ? d.data.assets : []; if (!u.length) break; for (const I of u) { - const p = Ms(e, I); + const p = Gs(e, I); p && i.push(p); } - if (u.length < Em) break; + if (u.length < Hm) break; o += u.length; } - for (const s of fY()) - Ms(e, s); - Di.pendingAssets.clear(); - const r = wl(e), l = bd(r), a = await _s(e.grid, l, { + for (const s of ZV()) + Gs(e, s); + qi.pendingAssets.clear(); + const r = Ml(e), l = yd(r), a = await ed(e.grid, l, { title: m("bottomFeed.title", "Generated Feed"), reset: !0 }); - vp(e, l), Number((a == null ? void 0 : a.count) || 0) <= 0 ? (e.empty.textContent = m("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none"; + Yp(e, l), Number((a == null ? void 0 : a.count) || 0) <= 0 ? (e.empty.textContent = m("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none"; } catch (i) { (n = console.debug) == null || n.call(console, i), e.empty.textContent = m("bottomFeed.loadFailed", "Failed to load generated assets."), e.empty.style.display = ""; } finally { @@ -44421,23 +44602,23 @@ async function Lp(e) { } } } -async function hY() { +async function AV() { var e; - for (const t of Array.from(Di.hosts)) + for (const t of Array.from(qi.hosts)) try { - await Lp(t); + await kp(t); } catch (n) { (e = console.debug) == null || e.call(console, n); } } -function CY() { - hY(); +function WV() { + AV(); } -function ZY(e) { +function wV(e) { const t = document.createElement("div"); t.textContent = m("bottomFeed.loading", "Loading recent assets..."), t.style.cssText = "font-size:11px; opacity:0.65; padding:4px 2px 8px 2px;", e.root.appendChild(t), e.empty = t; } -function AY(e) { +function MV(e) { var n, i, o; if (!e) return; const t = [e, e.parentElement, (n = e.parentElement) == null ? void 0 : n.parentElement]; @@ -44454,14 +44635,14 @@ function AY(e) { (o = console.debug) == null || o.call(console, r); } } -function Hm(e) { +function qm(e) { if (!e) return; const t = (n, i) => { i ? e.classList.add(n) : e.classList.remove(n); }; - t("mjr-feed-show-info", ye.FEED_SHOW_INFO), t("mjr-feed-show-filename", ye.FEED_SHOW_FILENAME), t("mjr-feed-show-dimensions", ye.FEED_SHOW_DIMENSIONS), t("mjr-feed-show-date", ye.FEED_SHOW_DATE), t("mjr-feed-show-gentime", ye.FEED_SHOW_GENTIME), t("mjr-show-hover-info", ye.GRID_SHOW_HOVER_INFO), t("mjr-feed-show-dot", ye.FEED_SHOW_WORKFLOW_DOT), t("mjr-feed-show-badges-ext", ye.FEED_SHOW_BADGES_EXTENSION), t("mjr-feed-show-badges-rating", ye.FEED_SHOW_BADGES_RATING), t("mjr-feed-show-badges-tags", ye.FEED_SHOW_BADGES_TAGS); + t("mjr-feed-show-info", fe.FEED_SHOW_INFO), t("mjr-feed-show-filename", fe.FEED_SHOW_FILENAME), t("mjr-feed-show-dimensions", fe.FEED_SHOW_DIMENSIONS), t("mjr-feed-show-date", fe.FEED_SHOW_DATE), t("mjr-feed-show-gentime", fe.FEED_SHOW_GENTIME), t("mjr-show-hover-info", fe.GRID_SHOW_HOVER_INFO), t("mjr-feed-show-dot", fe.FEED_SHOW_WORKFLOW_DOT), t("mjr-feed-show-badges-ext", fe.FEED_SHOW_BADGES_EXTENSION), t("mjr-feed-show-badges-rating", fe.FEED_SHOW_BADGES_RATING), t("mjr-feed-show-badges-tags", fe.FEED_SHOW_BADGES_TAGS); } -function WY(e, t = null) { +function SV(e, t = null) { var d; const n = t ?? document.createElement("div"); n.classList.add("mjr-am-grid-scroll"), n.style.position = "relative", n.style.flex = "1 1 auto", n.style.minHeight = "0", n.style.height = "100%", n.style.overflow = "auto", n.style.scrollbarGutter = "stable", n.style.overscrollBehavior = "contain", n.style.webkitOverflowScrolling = "touch"; @@ -44476,13 +44657,13 @@ function WY(e, t = null) { var u; i(); try { - window.dispatchEvent(new Event(ft.MFV_OPEN)); + window.dispatchEvent(new Event(ht.MFV_OPEN)); } catch (I) { (u = console.debug) == null || u.call(console, I); } }, r = document.createElement("div"); n.appendChild(r), e.root.appendChild(n); - const { app: l } = Ib(Gp, { + const { app: l } = bb(vp, { scrollElement: n, virtualize: !1, applyDefaultSettingsClasses: !1, @@ -44491,9 +44672,9 @@ function WY(e, t = null) { onCardRendered: (u, I) => { var p; try { - jp(e, u, I); - } catch (M) { - (p = console.debug) == null || p.call(console, M); + Vp(e, u, I); + } catch (S) { + (p = console.debug) == null || p.call(console, S); } }, onCardDblclick: () => { @@ -44502,19 +44683,19 @@ function WY(e, t = null) { }), a = l.mount(r), c = (a == null ? void 0 : a.gridContainer) || ((d = r.querySelector) == null ? void 0 : d.call(r, ".mjr-grid")) || null; if (e.gridApp = l, e.gridVm = a, e.grid = c, !c) return; c.style.minHeight = "100%", c.style.height = "auto", c.dataset.mjrScope = "output", c.dataset.mjrQuery = "*", c.dataset.mjrSort = "mtime_desc", c.dataset.mjrBottomFeed = "true"; - const s = Number(ye.FEED_GRID_MIN_SIZE || ye.GRID_MIN_SIZE || 120); + const s = Number(fe.FEED_GRID_MIN_SIZE || fe.GRID_MIN_SIZE || 120); c.dataset.mjrFeedMinItemWidth = String(s), c.style.setProperty("--mjr-grid-min-size", `${s}px`), c.addEventListener("keydown", (u) => { - var p, M, Z, A, g, h, f; - const I = ((M = (p = u == null ? void 0 : u.key) == null ? void 0 : p.toLowerCase) == null ? void 0 : M.call(p)) || ""; + var p, S, A, C, g, Z, f; + const I = ((S = (p = u == null ? void 0 : u.key) == null ? void 0 : p.toLowerCase) == null ? void 0 : S.call(p)) || ""; if (!(u != null && u.ctrlKey || u != null && u.metaKey || u != null && u.altKey)) { if (I === "v") { - (Z = u.preventDefault) == null || Z.call(u), (A = u.stopPropagation) == null || A.call(u), o(); + (A = u.preventDefault) == null || A.call(u), (C = u.stopPropagation) == null || C.call(u), o(); return; } if (I === "c") { - (g = u.preventDefault) == null || g.call(u), (h = u.stopPropagation) == null || h.call(u), i(); + (g = u.preventDefault) == null || g.call(u), (Z = u.stopPropagation) == null || Z.call(u), i(); try { - On.open().then(() => On.toggleCompareAB()); + zn.open().then(() => zn.toggleCompareAB()); } catch (b) { (f = console.debug) == null || f.call(console, b); } @@ -44534,20 +44715,20 @@ function WY(e, t = null) { } }; } -function Yp(e) { +function Xp(e) { const t = e == null ? void 0 : e.grid; if (!t) return []; - const n = Pa(t); - return n.size ? wl(e).filter((o) => n.has(String((o == null ? void 0 : o.id) || ""))) : []; + const n = Qa(t); + return n.size ? Ml(e).filter((o) => n.has(String((o == null ? void 0 : o.id) || ""))) : []; } -function wY(e) { +function GV(e) { var i; const t = e == null ? void 0 : e.grid; if (!t) return null; const n = String(((i = t.dataset) == null ? void 0 : i.mjrSelectedAssetId) || "").trim(); - return n ? wl(e).find((o) => String((o == null ? void 0 : o.id) || "") === n) || null : Yp(e)[0] || null; + return n ? Ml(e).find((o) => String((o == null ? void 0 : o.id) || "") === n) || null : Xp(e)[0] || null; } -function MY(e) { +function xV(e) { var n; const t = String(e ?? ""); try { @@ -44558,27 +44739,27 @@ function MY(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -function SY(e) { +function jV(e) { const t = e == null ? void 0 : e.grid; if (!t) return; const n = () => { var i; try { - xp(e); + Lp(e); } catch (o) { (i = console.debug) == null || i.call(console, o); } }; - e.keyboard = ob({ + e.keyboard = rb({ gridContainer: t, - getState: () => ({ assets: bd(wl(e)) }), - getSelectedAssets: () => Yp(e), - getActiveAsset: () => wY(e), + getState: () => ({ assets: yd(Ml(e)) }), + getSelectedAssets: () => Xp(e), + getActiveAsset: () => GV(e), onOpenTagsEditor: (i) => { var c, s, d; const o = ((c = t.querySelector) == null ? void 0 : c.call( t, - `.mjr-asset-card[data-mjr-asset-id="${MY((i == null ? void 0 : i.id) || "")}"]` + `.mjr-asset-card[data-mjr-asset-id="${xV((i == null ? void 0 : i.id) || "")}"]` )) || null; let r = null; try { @@ -44587,20 +44768,20 @@ function SY(e) { (d = console.debug) == null || d.call(console, u); } const l = Math.round(((r == null ? void 0 : r.left) || 0) + Math.min(((r == null ? void 0 : r.width) || 0) * 0.5, 160)), a = Math.round(((r == null ? void 0 : r.top) || 0) + Math.min(((r == null ? void 0 : r.height) || 0) * 0.5, 120)); - ub(l, a, i, n); + mb(l, a, i, n); }, onAssetChanged: n - }), e.keyboard.bind(), e.ratingHotkeys = mb({ + }), e.keyboard.bind(), e.ratingHotkeys = gb({ gridContainer: t, createRatingBadge: Ya }), e.ratingHotkeys.bind(); } -const Ss = 60, Vp = 600, cl = 10; -function kc(e, t) { +const xs = 60, Np = 600, sl = 10; +function Nc(e, t) { var i, o, r, l; const n = Math.max( - Ss, - Math.min(Vp, Math.round(Number(t) / cl) * cl) + xs, + Math.min(Np, Math.round(Number(t) / sl) * sl) ); if (e != null && e.grid) try { @@ -44608,10 +44789,10 @@ function kc(e, t) { } catch (a) { (i = console.debug) == null || i.call(console, a); } - ye.FEED_GRID_MIN_SIZE = n; + fe.FEED_GRID_MIN_SIZE = n; try { const a = Xn(); - a.feed.minSize = n, Te(a), At(a); + a.feed.minSize = n, Be(a), At(a); } catch (a) { (o = console.debug) == null || o.call(console, a); } @@ -44629,10 +44810,10 @@ function kc(e, t) { } return n; } -function GY(e) { +function vV(e) { const t = Math.max( - Ss, - Number(ye.FEED_GRID_MIN_SIZE || 120) || 120 + xs, + Number(fe.FEED_GRID_MIN_SIZE || 120) || 120 ), n = document.createElement("div"); n.className = "mjr-feed-toolbar", n.style.cssText = "display:flex; align-items:center; gap:5px; padding:0 2px 5px 2px; flex-shrink:0; user-select:none;"; const i = document.createElement("span"); @@ -44640,19 +44821,19 @@ function GY(e) { const o = document.createElement("button"); o.type = "button", o.className = "mjr-feed-size-btn", o.textContent = "βˆ’", o.title = m("bottomFeed.cardSizeDecrease", "Decrease card size"), o.style.cssText = "width:20px; height:20px; padding:0; border:1px solid var(--mjr-border,#555); border-radius:4px; background:var(--mjr-surface,#2a2a2a); color:inherit; cursor:pointer; font-size:14px; line-height:1; flex-shrink:0; display:flex; align-items:center; justify-content:center;", n.appendChild(o); const r = document.createElement("input"); - r.type = "range", r.className = "mjr-feed-size-slider", r.min = String(Ss), r.max = String(Vp), r.step = String(cl), r.value = String(t), r.title = m("bottomFeed.cardSizeSlider", "Card size"), r.style.cssText = "flex:1 1 auto; min-width:40px; max-width:180px; height:4px; cursor:pointer; accent-color:var(--mjr-accent,#64b5f6);", n.appendChild(r); + r.type = "range", r.className = "mjr-feed-size-slider", r.min = String(xs), r.max = String(Np), r.step = String(sl), r.value = String(t), r.title = m("bottomFeed.cardSizeSlider", "Card size"), r.style.cssText = "flex:1 1 auto; min-width:40px; max-width:180px; height:4px; cursor:pointer; accent-color:var(--mjr-accent,#64b5f6);", n.appendChild(r); const l = document.createElement("button"); l.type = "button", l.className = "mjr-feed-size-btn", l.textContent = "+", l.title = m("bottomFeed.cardSizeIncrease", "Increase card size"), l.style.cssText = o.style.cssText, n.appendChild(l); const a = document.createElement("span"); a.className = "mjr-feed-size-display", a.textContent = `${t}px`, a.style.cssText = "font-size:11px; opacity:0.65; white-space:nowrap; min-width:36px; text-align:right; flex-shrink:0; font-variant-numeric:tabular-nums;", n.appendChild(a), o.addEventListener("click", () => { - kc(e, Number(r.value) - cl); + Nc(e, Number(r.value) - sl); }), l.addEventListener("click", () => { - kc(e, Number(r.value) + cl); + Nc(e, Number(r.value) + sl); }), r.addEventListener("input", () => { - kc(e, Number(r.value)); + Nc(e, Number(r.value)); }), e.root.appendChild(n), e._sizeToolbar = n; } -function xY(e, t = {}) { +function LV(e, t = {}) { const n = document.createElement("div"); n.className = "mjr-assets-manager mjr-bottom-feed", n.style.cssText = "padding:6px; height:100%; min-height:0; box-sizing:border-box; display:flex; flex-direction:column; overflow:hidden;", e.replaceChildren(n); const i = { @@ -44664,14 +44845,14 @@ function xY(e, t = {}) { assetsByKey: /* @__PURE__ */ new Map(), popoverManager: null }; - GY(i), ZY(i), WY(i, t.gridWrapper ?? null), uY(i), i.popoverManager = ib(n), i._disposeContextMenu = ld({ + vV(i), wV(i), SV(i, t.gridWrapper ?? null), IV(i), i.popoverManager = ob(n), i._disposeContextMenu = cd({ gridContainer: i.grid, getState: () => ({ scope: "output" }) - }), SY(i), Hm(i.grid); + }), jV(i), qm(i.grid); const o = () => { var r; try { - Hm(i.grid); + qm(i.grid); } catch (l) { (r = console.debug) == null || r.call(console, l); } @@ -44685,31 +44866,31 @@ function xY(e, t = {}) { } }, i; } -function jY(e) { +function VV(e) { var n; - const t = yY(e); + const t = CV(e); if (t) - for (const i of Array.from(Di.hosts)) + for (const i of Array.from(qi.hosts)) try { - if (!(i != null && i.grid) || (Ms(i, t), !i.loaded)) continue; - i.empty.style.display = "none", xp(i); + if (!(i != null && i.grid) || (Gs(i, t), !i.loaded)) continue; + i.empty.style.display = "none", Lp(i); } catch (o) { (n = console.debug) == null || n.call(console, o); } } -function vY(e, t = {}) { +function YV(e, t = {}) { var i; - AY(e); - const n = xY(e, t); + MV(e); + const n = LV(e, t); try { e._mjrGeneratedFeedHost = n; } catch (o) { (i = console.debug) == null || i.call(console, o); } - return Di.hosts.add(n), Lp(n), n; + return qi.hosts.add(n), kp(n), n; } -function LY(e) { - var i, o, r, l, a, c, s, d, u, I, p, M, Z, A, g, h, f, b, v, C, S, W, y, k, G, z, x; +function kV(e) { + var i, o, r, l, a, c, s, d, u, I, p, S, A, C, g, Z, f, b, L, h, G, W, y, X, x, T, v; const t = (e == null ? void 0 : e._mjrGeneratedFeedHost) || e || null; if (!t) return; const n = t.container || null; @@ -44719,12 +44900,12 @@ function LY(e) { } catch (w) { try { n._mjrGeneratedFeedHost = null; - } catch (X) { - (i = console.debug) == null || i.call(console, X); + } catch (R) { + (i = console.debug) == null || i.call(console, R); } (o = console.debug) == null || o.call(console, w); } - Di.hosts.delete(t); + qi.hosts.delete(t); try { (r = t._disposeSelection) == null || r.call(t); } catch (w) { @@ -44746,22 +44927,22 @@ function LY(e) { (I = console.debug) == null || I.call(console, w); } try { - (M = (p = t.keyboard) == null ? void 0 : p.dispose) == null || M.call(p); + (S = (p = t.keyboard) == null ? void 0 : p.dispose) == null || S.call(p); + } catch (w) { + (A = console.debug) == null || A.call(console, w); + } + try { + (g = (C = t.ratingHotkeys) == null ? void 0 : C.dispose) == null || g.call(C); } catch (w) { (Z = console.debug) == null || Z.call(console, w); } - try { - (g = (A = t.ratingHotkeys) == null ? void 0 : A.dispose) == null || g.call(A); - } catch (w) { - (h = console.debug) == null || h.call(console, w); - } try { (b = (f = t.popoverManager) == null ? void 0 : f.dispose) == null || b.call(f); } catch (w) { - (v = console.debug) == null || v.call(console, w); + (L = console.debug) == null || L.call(console, w); } try { - (S = (C = t.gridApp) == null ? void 0 : C.unmount) == null || S.call(C); + (G = (h = t.gridApp) == null ? void 0 : h.unmount) == null || G.call(h); } catch (w) { (W = console.debug) == null || W.call(console, w); } @@ -44771,47 +44952,47 @@ function LY(e) { (y = console.debug) == null || y.call(console, w); } try { - wI(t.grid); + MI(t.grid); } catch (w) { - (k = console.debug) == null || k.call(console, w); + (X = console.debug) == null || X.call(console, w); } try { - (z = (G = t.container) == null ? void 0 : G.replaceChildren) == null || z.call(G); + (T = (x = t.container) == null ? void 0 : x.replaceChildren) == null || T.call(x); } catch (w) { - (x = console.debug) == null || x.call(console, w); + (v = console.debug) == null || v.call(console, w); } } -function Xc(e) { +function Rc(e) { return String(e || "").trim(); } -function YY(e) { +function XV(e) { const t = String((e == null ? void 0 : e.filename) || "").trim(), n = String((e == null ? void 0 : e.subfolder) || "").trim(), i = String((e == null ? void 0 : e.type) || "output").trim().toLowerCase(), o = String((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || "").trim(); return `${i}|${o}|${n}|${t}`; } -function VY() { +function NV() { const e = /* @__PURE__ */ new Map(); function t(o, r) { - const l = Xc(o); + const l = Rc(o); if (!l) return []; const a = Array.isArray(r) ? r : []; if (!a.length) return []; let c = e.get(l); c || (c = /* @__PURE__ */ new Map(), e.set(l, c)); for (const s of a) { - const d = YY(s); + const d = XV(s); d && c.set(d, { ...c.get(d) || {}, ...s || {} }); } return Array.from(c.values()); } function n(o) { var a; - const r = Xc(o); + const r = Rc(o); if (!r) return []; const l = e.get(r); return e.delete(r), Array.from(((a = l == null ? void 0 : l.values) == null ? void 0 : a.call(l)) || []); } function i(o) { - const r = Xc(o); + const r = Rc(o); r && e.delete(r); } return { @@ -44821,7 +45002,7 @@ function VY() { _jobs: e }; } -function kY({ defaultDelayMs: e = 900, postJob: t } = {}) { +function RV({ defaultDelayMs: e = 900, postJob: t } = {}) { const n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(); let o = !1; async function r() { @@ -44859,24 +45040,24 @@ function kY({ defaultDelayMs: e = 900, postJob: t } = {}) { _timers: n }; } -function Nc(e) { +function Fc(e) { return String(e || "").trim(); } -function qm(e) { +function Pm(e) { const t = String((e == null ? void 0 : e.filename) || "").trim(), n = String((e == null ? void 0 : e.filepath) || "").trim(), i = String((e == null ? void 0 : e.subfolder) || "").trim(), o = String((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output").trim().toLowerCase(), r = String((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || "").trim(); return `${o}|${r}|${i}|${t || n}`; } -function XY(e, t) { +function FV(e, t) { return !t || String((e == null ? void 0 : e.job_id) || "").trim() === t ? e : { ...e || {}, job_id: t }; } -function NY() { +function OV() { const e = /* @__PURE__ */ new Map(); function t(r, { files: l = [], expectedCount: a = null } = {}) { - const c = Nc(r); + const c = Fc(r); if (!c) return; const s = /* @__PURE__ */ new Set(); for (const d of Array.isArray(l) ? l : []) { - const u = qm(d); + const u = Pm(d); u && s.add(u); } e.set(c, { @@ -44886,14 +45067,14 @@ function NY() { }); } function n(r) { - const l = Nc(r); + const l = Fc(r); l && e.delete(l); } function i(r) { var d, u; - const l = Nc(r == null ? void 0 : r.job_id); + const l = Fc(r == null ? void 0 : r.job_id); if (l) return l; - const a = qm(r); + const a = Pm(r); if (!a) return ""; let c = "", s = 1 / 0; for (const [I, p] of e.entries()) @@ -44903,7 +45084,7 @@ function NY() { function o(r) { const l = i(r); if (!l) return { detail: r, jobId: "", defer: !1 }; - const a = XY(r, l), c = e.get(l); + const a = FV(r, l), c = e.get(l); if (!c) return { detail: a, jobId: l, defer: !1 }; const s = String((a == null ? void 0 : a.stack_id) || "").trim(), u = Math.max(0, Number((c == null ? void 0 : c.expectedCount) || 0) || 0) > 1; return { @@ -44920,13 +45101,13 @@ function NY() { _pendingJobs: e }; } -const RY = 2e3, FY = 2e3, OY = /* @__PURE__ */ new Set([ +const zV = 2e3, JV = 2e3, TV = /* @__PURE__ */ new Set([ "DB_MAINTENANCE", "TIMEOUT", "NETWORK_ERROR", "SERVICE_UNAVAILABLE" -]), zY = 8, JY = 1200, TY = 15e3, BY = 600 * 1e3, UY = 500, KY = 6, DY = 3e4; -function EY({ +]), BV = 8, UV = 1200, KV = 15e3, DV = 600 * 1e3, EV = 500, HV = 6, qV = 3e4, PV = 500; +function QV({ post: e, ENDPOINTS: t, reportError: n, @@ -44936,493 +45117,511 @@ function EY({ refreshGeneratedFeedHosts: l, getActiveGridContainer: a }) { - const c = Cr({ ttlMs: RY, maxSize: FY }), s = Cr({ - ttlMs: BY, - maxSize: UY + const c = Wr({ ttlMs: zV, maxSize: JV }), s = Wr({ + ttlMs: DV, + maxSize: EV }), d = Math.max( 0, - Number(ye.EXECUTION_IDLE_GRACE_MS) || 6e3 - ), u = /* @__PURE__ */ new Map(), I = VY(), p = NY(); - let M = "", Z = 0, A = null; + Number(fe.EXECUTION_IDLE_GRACE_MS) || 6e3 + ), u = /* @__PURE__ */ new Map(), I = NV(), p = OV(); + let S = "", A = 0, C = null; function g() { - var K, F; + var M, j; try { - return typeof window > "u" ? !1 : window.__MJR_DEBUG_JOB_TRACKING__ === !0 ? !0 : String(((K = window.localStorage) == null ? void 0 : K.getItem("mjr.debug.jobTracking")) || "").trim() === "1"; - } catch (Y) { - return (F = console.debug) == null || F.call(console, Y), !1; + return typeof window > "u" ? !1 : window.__MJR_DEBUG_JOB_TRACKING__ === !0 ? !0 : String(((M = window.localStorage) == null ? void 0 : M.getItem("mjr.debug.jobTracking")) || "").trim() === "1"; + } catch (O) { + return (j = console.debug) == null || j.call(console, O), !1; } } - function h(K, F = {}) { - var Y; + function Z(M, j = {}) { + var O; if (g()) try { - console.debug("[Majoor][job-tracking]", K, F); - } catch (U) { - (Y = console.debug) == null || Y.call(console, U); + console.debug("[Majoor][job-tracking]", M, j); + } catch (D) { + (O = console.debug) == null || O.call(console, D); } } function f() { - return !!ye.EXECUTION_GROUPING_ENABLED; + return !!fe.EXECUTION_GROUPING_ENABLED; } function b() { - const K = f(); + const M = f(); return { - groupingEnabled: K, - useExecutionBuffer: K, - usePostExecutionScan: !K, - allowLiveStackFinalize: K + groupingEnabled: M, + useExecutionBuffer: M, + usePostExecutionScan: !M, + allowLiveStackFinalize: M }; } - function v(K = {}) { - var F, Y, U, P; - h("stacks-updated", { - targeted_job_id: String((K == null ? void 0 : K.targeted_job_id) || ""), - stacks: Array.isArray(K == null ? void 0 : K.stacks) ? K.stacks.map((ee) => ({ + function L(M = {}) { + var j, O, D, q; + Z("stacks-updated", { + targeted_job_id: String((M == null ? void 0 : M.targeted_job_id) || ""), + stacks: Array.isArray(M == null ? void 0 : M.stacks) ? M.stacks.map((ee) => ({ job_id: String((ee == null ? void 0 : ee.job_id) || ""), stack_id: String((ee == null ? void 0 : ee.stack_id) || ""), asset_count: Number((ee == null ? void 0 : ee.asset_count) || 0) || 0 })) : [] }); try { - const ee = String((K == null ? void 0 : K.targeted_job_id) || "").trim(); + const ee = String((M == null ? void 0 : M.targeted_job_id) || "").trim(); ee && p.clearPendingJob(ee); - const oe = Array.isArray(K == null ? void 0 : K.stacks) ? K.stacks : []; - for (const ce of oe) { - const pe = String((ce == null ? void 0 : ce.job_id) || "").trim(); - pe && p.clearPendingJob(pe); + const ce = Array.isArray(M == null ? void 0 : M.stacks) ? M.stacks : []; + for (const ue of ce) { + const U = String((ue == null ? void 0 : ue.job_id) || "").trim(); + U && p.clearPendingJob(U); } } catch (ee) { - (F = console.debug) == null || F.call(console, ee); + (j = console.debug) == null || j.call(console, ee); } try { - const ee = Array.isArray(K == null ? void 0 : K.stacks) ? K.stacks : [], oe = JSON.stringify({ - targeted_job_id: String((K == null ? void 0 : K.targeted_job_id) || ""), - stacks: ee.map((pe) => ({ - job_id: String((pe == null ? void 0 : pe.job_id) || ""), - stack_id: String((pe == null ? void 0 : pe.stack_id) || ""), - asset_count: Number((pe == null ? void 0 : pe.asset_count) || 0) || 0 + const ee = Array.isArray(M == null ? void 0 : M.stacks) ? M.stacks : [], ce = JSON.stringify({ + targeted_job_id: String((M == null ? void 0 : M.targeted_job_id) || ""), + stacks: ee.map((U) => ({ + job_id: String((U == null ? void 0 : U.job_id) || ""), + stack_id: String((U == null ? void 0 : U.stack_id) || ""), + asset_count: Number((U == null ? void 0 : U.asset_count) || 0) || 0 })) - }), ce = Date.now(); - if (oe && oe === M && ce - Z < 1500) + }), ue = Date.now(); + if (ce && ce === S && ue - A < 1500) return; - M = oe, Z = ce; + S = ce, A = ue; } catch (ee) { - (Y = console.debug) == null || Y.call(console, ee); + (O = console.debug) == null || O.call(console, ee); } try { window.dispatchEvent( - new CustomEvent("mjr:stacks-updated", { detail: { ...K || {} } }) + new CustomEvent("mjr:stacks-updated", { detail: { ...M || {} } }) ); } catch (ee) { - (U = console.debug) == null || U.call(console, ee); + (D = console.debug) == null || D.call(console, ee); } try { l(); } catch (ee) { - (P = console.debug) == null || P.call(console, ee); + (q = console.debug) == null || q.call(console, ee); } } - const C = kY({ + const h = RV({ defaultDelayMs: 900, - async postJob(K) { - var F; - h("auto-stack:start", { job_id: K }); + async postJob(M) { + var j; + Z("auto-stack:start", { job_id: M }); try { - const Y = await e(t.STACKS_AUTO_STACK, { + const O = await e(t.STACKS_AUTO_STACK, { mode: "job_id", - job_id: K + job_id: M }); - if (!(Y != null && Y.ok)) { - p.clearPendingJob(K), n( - new Error(String((Y == null ? void 0 : Y.error) || "Auto stack failed")), + if (!(O != null && O.ok)) { + p.clearPendingJob(M), n( + new Error(String((O == null ? void 0 : O.error) || "Auto stack failed")), "executionRuntime.execution_end.auto_stack" ); return; } - h("auto-stack:done", { - job_id: K, - stacks: Array.isArray((F = Y == null ? void 0 : Y.data) == null ? void 0 : F.stacks) ? Y.data.stacks.length : 0 - }), v((Y == null ? void 0 : Y.data) || { targeted_job_id: K }); - } catch (Y) { - n(Y, "executionRuntime.execution_end.auto_stack"); + Z("auto-stack:done", { + job_id: M, + stacks: Array.isArray((j = O == null ? void 0 : O.data) == null ? void 0 : j.stacks) ? O.data.stacks.length : 0 + }), L((O == null ? void 0 : O.data) || { targeted_job_id: M }); + } catch (O) { + n(O, "executionRuntime.execution_end.auto_stack"); } } }); - function S(K, F) { - if (!K) return; - const Y = Number(F) || Date.now(); - s.set(String(K), Y, { at: Y }), s.prune(); + function G(M, j) { + if (!M) return; + const O = Number(j) || Date.now(); + s.set(String(M), O, { at: O }), s.prune(); } - function W(K) { + function W(M) { c.prune(); - const F = []; - for (const Y of K) { - const U = `${Y.type || ""}|${Y.subfolder || ""}|${Y.filename || ""}`.toLowerCase(); - c.has(U) || (c.set(U, !0), F.push(Y)); + const j = []; + for (const O of M) { + const D = `${O.type || ""}|${O.subfolder || ""}|${O.filename || ""}`.toLowerCase(); + c.has(D) || (c.set(D, !0), j.push(O)); } - return F; + return j; } - function y(K) { - const F = Math.max(1, Number(K) || 1), Y = Math.min(6, F - 1); - return Math.min(TY, JY * 2 ** Y); + function y(M) { + const j = Math.max(1, Number(M) || 1), O = Math.min(6, j - 1); + return Math.min(KV, UV * 2 ** O); } - function k() { - A && (clearTimeout(A), A = null); + function X() { + C && (clearTimeout(C), C = null); } - function G(K, F = d) { - const Y = Math.max(0, Number(F) || 0, d); - k(), A = setTimeout(() => { - A = null; + function x(M, j = d) { + const O = Math.max(0, Number(j) || 0); + X(), C = setTimeout(() => { + C = null; try { - K == null || K(); - } catch (U) { - n(U, "executionRuntime.post_execution"); + M == null || M(); + } catch (D) { + n(D, "executionRuntime.post_execution"); } - }, Y); + }, O); } - function z(K) { - const F = String((K == null ? void 0 : K.code) || "").trim().toUpperCase(); - return OY.has(F); + function T(M) { + const j = String((M == null ? void 0 : M.code) || "").trim().toUpperCase(); + return TV.has(j); } - function x(K, F = 1, Y = {}) { - const U = Array.isArray(K) ? K : []; - if (!U.length) return; - const P = { files: U, origin: "generation" }; - (Y != null && Y.prompt_id || Y != null && Y.promptId) && (P.prompt_id = String(Y.prompt_id || Y.promptId)), h("index:direct", { - prompt_id: String(P.prompt_id || ""), - attempt: F, - files: U.map((ee) => String((ee == null ? void 0 : ee.filename) || (ee == null ? void 0 : ee.filepath) || "")) - }), e(t.INDEX_FILES, P).then((ee) => { - var oe; + function v(M, j = 1, O = {}) { + const D = Array.isArray(M) ? M : []; + if (!D.length) return; + const q = { files: D, origin: "generation" }; + (O != null && O.prompt_id || O != null && O.promptId) && (q.prompt_id = String(O.prompt_id || O.promptId)), Z("index:direct", { + prompt_id: String(q.prompt_id || ""), + attempt: j, + files: D.map((ee) => String((ee == null ? void 0 : ee.filename) || (ee == null ? void 0 : ee.filepath) || "")) + }), e(t.INDEX_FILES, q).then((ee) => { + var ce; if (!(ee != null && ee.ok)) { - if (z(ee) && F < zY) { - const ce = y(F); + if (T(ee) && j < BV) { + const ue = y(j); setTimeout( - () => x(U, F + 1, Y), - ce + () => v(D, j + 1, O), + ue ); return; } try { - const ce = String((ee == null ? void 0 : ee.code) || "INDEX_FAILED"), pe = String((ee == null ? void 0 : ee.error) || "Indexing generated files failed"); - n(new Error(`${ce}: ${pe}`), "executionRuntime.executed.index"); - } catch (ce) { - (oe = console.debug) == null || oe.call(console, ce); + const ue = String((ee == null ? void 0 : ee.code) || "INDEX_FAILED"), U = String((ee == null ? void 0 : ee.error) || "Indexing generated files failed"); + n(new Error(`${ue}: ${U}`), "executionRuntime.executed.index"); + } catch (ue) { + (ce = console.debug) == null || ce.call(console, ue); } } }).catch((ee) => n(ee, "executionRuntime.executed.index")); } - function w(K = {}) { - var Y, U; - const F = String((K == null ? void 0 : K.prompt_id) || (K == null ? void 0 : K.promptId) || "").trim(); - if (F) return F; + function w(M = {}) { + var O, D; + const j = String((M == null ? void 0 : M.prompt_id) || (M == null ? void 0 : M.promptId) || "").trim(); + if (j) return j; try { - return String(((Y = o()) == null ? void 0 : Y.active_prompt_id) || "").trim(); - } catch (P) { - return (U = console.debug) == null || U.call(console, P), ""; + return String(((O = o()) == null ? void 0 : O.active_prompt_id) || "").trim(); + } catch (q) { + return (D = console.debug) == null || D.call(console, q), ""; } } - function X(K) { - return !Array.isArray(K) || !K.length ? "" : K.map((F) => String((F == null ? void 0 : F.filepath) || (F == null ? void 0 : F.filename) || "")).filter(Boolean).sort().join("|"); + function R(M) { + return !Array.isArray(M) || !M.length ? "" : M.map((j) => String((j == null ? void 0 : j.filepath) || (j == null ? void 0 : j.filename) || "")).filter(Boolean).sort().join("|"); } - function V(K, F = {}, Y = 1) { - const U = Array.isArray(K) ? K : []; - if (!U.length) return; - const P = X(U); - if (!P) { - x(U, 1, F); + function Y(M, j = {}, O = 1) { + const D = Array.isArray(M) ? M : []; + if (!D.length) return; + const q = R(D); + if (!q) { + v(D, 1, j); return; } - const ee = u.get(P); + const ee = u.get(q); ee != null && ee.timer && clearTimeout(ee.timer); - const oe = (ee == null ? void 0 : ee.firstAttemptAt) ?? Date.now(); - if (Date.now() - oe >= DY) { - x(U, 1, F); + const ce = (ee == null ? void 0 : ee.firstAttemptAt) ?? Date.now(); + if (Date.now() - ce >= qV) { + v(D, 1, j); return; } - const ce = Math.max(1, Number(Y) || 1), pe = Math.min(2e3, 250 * ce), H = setTimeout(() => { - u.delete(P), L(U, F, ce + 1); - }, pe); - u.set(P, { - files: U, - meta: F, - attempt: ce, - timer: H, - firstAttemptAt: oe + const ue = Math.max(1, Number(O) || 1), U = Math.min(2e3, 250 * ue), Q = setTimeout(() => { + u.delete(q), V(D, j, ue + 1); + }, U); + u.set(q, { + files: D, + meta: j, + attempt: ue, + timer: Q, + firstAttemptAt: ce }); } - function R(K) { - var Y; - const F = String(K || "").trim(); - if (!(!F || u.size <= 0)) - for (const [U, P] of Array.from(u.entries())) { + function F(M) { + var O; + const j = String(M || "").trim(); + if (!(!j || u.size <= 0)) + for (const [D, q] of Array.from(u.entries())) { try { - P != null && P.timer && clearTimeout(P.timer); + q != null && q.timer && clearTimeout(q.timer); } catch (ee) { - (Y = console.debug) == null || Y.call(console, ee); + (O = console.debug) == null || O.call(console, ee); } - u.delete(U), I.add(F, (P == null ? void 0 : P.files) || []); + u.delete(D), I.add(j, (q == null ? void 0 : q.files) || []); } } - function j() { - var K; - for (const [F, Y] of Array.from(u.entries())) { + function N() { + var M; + for (const [j, O] of Array.from(u.entries())) { try { - Y != null && Y.timer && clearTimeout(Y.timer); - } catch (U) { - (K = console.debug) == null || K.call(console, U); + O != null && O.timer && clearTimeout(O.timer); + } catch (D) { + (M = console.debug) == null || M.call(console, D); } - u.delete(F); + u.delete(j); } } - function L(K, F = {}, Y = 1) { - const U = w(F); - if (h("buffer:add", { - prompt_id: U, - explicit_prompt_id: String((F == null ? void 0 : F.prompt_id) || (F == null ? void 0 : F.promptId) || ""), - attempt: Y, - file_count: Array.isArray(K) ? K.length : 0, - files: Array.isArray(K) ? K.map((P) => String((P == null ? void 0 : P.filename) || (P == null ? void 0 : P.filepath) || "")) : [] - }), !U) { - if (Y < KY) { - V(K, F, Y); + function V(M, j = {}, O = 1) { + const D = w(j); + if (Z("buffer:add", { + prompt_id: D, + explicit_prompt_id: String((j == null ? void 0 : j.prompt_id) || (j == null ? void 0 : j.promptId) || ""), + attempt: O, + file_count: Array.isArray(M) ? M.length : 0, + files: Array.isArray(M) ? M.map((q) => String((q == null ? void 0 : q.filename) || (q == null ? void 0 : q.filepath) || "")) : [] + }), !D) { + if (O < HV) { + Y(M, j, O); return; } - x(K, 1, F); + v(M, 1, j); return; } - I.add(U, K); + I.add(D, M); } - function N(K, F = 900) { - f() && (h("finalize:schedule", { job_id: String(K || ""), delay_ms: F }), C.schedule(K, F)); + function k(M, j = 900) { + f() && (Z("finalize:schedule", { job_id: String(M || ""), delay_ms: j }), h.schedule(M, j)); } - function q(K = 1200) { - G(() => { + function K(M = 1200) { + x(() => { e(t.SCAN, { recursive: !0, incremental: !0, fast: !0, background_metadata: !0 - }).catch((F) => n(F, "executionRuntime.execution_end.scan")); - }, K); + }).catch((j) => n(j, "executionRuntime.execution_end.scan")); + }, M); } - function O(K) { - const F = b(), Y = String(K || "").trim(); - if (!Y) return; - const U = I.take(Y); - if (h("buffer:flush", { - prompt_id: Y, - file_count: U.length, - files: U.map((P) => String((P == null ? void 0 : P.filename) || (P == null ? void 0 : P.filepath) || "")) - }), F.allowLiveStackFinalize && p.markPendingJob(Y, { files: U, expectedCount: U.length }), !U.length) { - F.allowLiveStackFinalize && N(Y); + function z(M) { + const j = b(), O = String(M || "").trim(); + if (!O) return; + const D = I.take(O); + if (Z("buffer:flush", { + prompt_id: O, + file_count: D.length, + files: D.map((q) => String((q == null ? void 0 : q.filename) || (q == null ? void 0 : q.filepath) || "")) + }), j.allowLiveStackFinalize && p.markPendingJob(O, { files: D, expectedCount: D.length }), !D.length) { + j.allowLiveStackFinalize && k(O); return; } e(t.INDEX_FILES, { - files: U, + files: D, origin: "generation", - prompt_id: Y - }).then((P) => { - if (!(P != null && P.ok)) { - F.allowLiveStackFinalize && p.clearPendingJob(Y), n( - new Error(String((P == null ? void 0 : P.error) || "Indexing generated files failed")), + prompt_id: O + }).then((q) => { + if (!(q != null && q.ok)) { + j.allowLiveStackFinalize && p.clearPendingJob(O), n( + new Error(String((q == null ? void 0 : q.error) || "Indexing generated files failed")), "executionRuntime.executed.index" ); return; } - h("index:flush:done", { - prompt_id: Y, - file_count: U.length - }), F.allowLiveStackFinalize && N(Y, 1800); - }).catch((P) => { - F.allowLiveStackFinalize && p.clearPendingJob(Y), n(P, "executionRuntime.executed.index"); + Z("index:flush:done", { + prompt_id: O, + file_count: D.length + }), j.allowLiveStackFinalize && k(O, 1800); + }).catch((q) => { + j.allowLiveStackFinalize && p.clearPendingJob(O), n(q, "executionRuntime.executed.index"); }); } - function B(K) { - var F; + function B(M) { + var O, D, q; + const j = String(M || "").trim(); + if (!j) return !1; + try { + const ee = (D = (O = I == null ? void 0 : I._jobs) == null ? void 0 : O.get) == null ? void 0 : D.call(O, j); + return !!ee && typeof ee.size == "number" && ee.size > 0; + } catch (ee) { + return (q = console.debug) == null || q.call(console, ee), !1; + } + } + function J(M) { + var j; if (!f()) - return { detail: K, jobId: "", defer: !1 }; + return { detail: M, jobId: "", defer: !1 }; try { - return p.prepare(K); - } catch (Y) { - return (F = console.debug) == null || F.call(console, Y), { detail: K, jobId: "", defer: !1 }; + return p.prepare(M); + } catch (O) { + return (j = console.debug) == null || j.call(console, O), { detail: M, jobId: "", defer: !1 }; } } - function J(K) { - const F = String((K == null ? void 0 : K.kind) || "").trim(), Y = String((K == null ? void 0 : K.filename) || "").trim(), U = String((K == null ? void 0 : K.filepath) || "").trim(); - return !!F && (!!Y || !!U); + function P(M) { + const j = String((M == null ? void 0 : M.kind) || "").trim(), O = String((M == null ? void 0 : M.filename) || "").trim(), D = String((M == null ? void 0 : M.filepath) || "").trim(); + return !!j && (!!O || !!D); } - function T(K, { appRef: F }) { - var $, _, le, se, de, Ze, Fe; + function H(M, { appRef: j }) { + var de, se, ge, je, Se, ke, we; if (!b().useExecutionBuffer) return; - const U = W(i(($ = K == null ? void 0 : K.detail) == null ? void 0 : $.output)); - if (!U.length) return; - const P = ((_ = K == null ? void 0 : K.detail) == null ? void 0 : _.prompt_id) || ((le = K == null ? void 0 : K.detail) == null ? void 0 : le.promptId), ee = String(((se = K == null ? void 0 : K.detail) == null ? void 0 : se.node) || ((de = K == null ? void 0 : K.detail) == null ? void 0 : de.display_node) || "").trim(), oe = P ? s.get(String(P)) : null, ce = oe ? Math.max(0, Date.now() - oe) : 0; - let pe = ""; + const D = W(i((de = M == null ? void 0 : M.detail) == null ? void 0 : de.output)); + if (!D.length) return; + const q = ((se = M == null ? void 0 : M.detail) == null ? void 0 : se.prompt_id) || ((ge = M == null ? void 0 : M.detail) == null ? void 0 : ge.promptId), ee = String(((je = M == null ? void 0 : M.detail) == null ? void 0 : je.node) || ((Se = M == null ? void 0 : M.detail) == null ? void 0 : Se.display_node) || "").trim(), ce = q ? s.get(String(q)) : null, ue = ce ? Math.max(0, Date.now() - ce) : 0; + let U = ""; try { - if (ee && typeof F < "u" && (F != null && F.graph)) { - const xe = F.graph.getNodeById(Number(ee)); - xe && (pe = String(xe.type || xe.comfyClass || "").trim()); + if (ee && typeof j < "u" && (j != null && j.graph)) { + const Je = j.graph.getNodeById(Number(ee)); + Je && (U = String(Je.type || Je.comfyClass || "").trim()); } - } catch (xe) { - (Ze = console.debug) == null || Ze.call(console, xe); + } catch (Je) { + (ke = console.debug) == null || ke.call(console, Je); } - const H = U.map((xe) => ({ - ...xe, - ...ce > 0 ? { generation_time_ms: ce } : {}, + const Q = D.map((Je) => ({ + ...Je, + ...ue > 0 ? { generation_time_ms: ue } : {}, ...ee ? { source_node_id: ee } : {}, - ...pe ? { source_node_type: pe } : {} + ...U ? { source_node_type: U } : {} })); - h("executed:event", { - prompt_id: String(P || ""), + Z("executed:event", { + prompt_id: String(q || ""), source_node_id: ee, - source_node_type: pe, - file_count: H.length, - files: H.map((xe) => String((xe == null ? void 0 : xe.filename) || (xe == null ? void 0 : xe.filepath) || "")) + source_node_type: U, + file_count: Q.length, + files: Q.map((Je) => String((Je == null ? void 0 : Je.filename) || (Je == null ? void 0 : Je.filepath) || "")) }); try { window.dispatchEvent( - new CustomEvent(ft.NEW_GENERATION_OUTPUT, { + new CustomEvent(ht.NEW_GENERATION_OUTPUT, { detail: { - files: H, - prompt_id: String(P || ""), - promptId: String(P || "") + files: Q, + prompt_id: String(q || ""), + promptId: String(q || "") } }) ); - } catch (xe) { - (Fe = console.debug) == null || Fe.call(console, xe); + } catch (Je) { + (we = console.debug) == null || we.call(console, Je); } - L(H, { prompt_id: P }); + const _ = Q.length > 0 ? [Q[0]] : [], le = Q.length > 1 ? Q.slice(1) : []; + _.length > 0 && v(_, 1, { prompt_id: q }), le.length > 0 && V(le, { prompt_id: q }); } - function D(K, { setCurrentJobId: F }) { - var P, ee, oe; - const Y = ((P = K == null ? void 0 : K.detail) == null ? void 0 : P.prompt_id) || ((ee = K == null ? void 0 : K.detail) == null ? void 0 : ee.promptId), U = (oe = K == null ? void 0 : K.detail) == null ? void 0 : oe.timestamp; - h("execution:start", { - prompt_id: String(Y || ""), - timestamp: Number(U) || null - }), S(Y, U), k(), F == null || F(Y || null), r({ - active_prompt_id: Y || null, + function $(M, { setCurrentJobId: j }) { + var q, ee, ce; + const O = ((q = M == null ? void 0 : M.detail) == null ? void 0 : q.prompt_id) || ((ee = M == null ? void 0 : M.detail) == null ? void 0 : ee.promptId), D = (ce = M == null ? void 0 : M.detail) == null ? void 0 : ce.timestamp; + Z("execution:start", { + prompt_id: String(O || ""), + timestamp: Number(D) || null + }), G(O, D), X(), j == null || j(O || null), r({ + active_prompt_id: O || null, cached_nodes: [], progress_node: null, progress_value: null, progress_max: null - }), Y && R(Y); + }), O && F(O); } - function Q(K, { setCurrentJobId: F }) { - var P, ee; - const Y = b(), U = ((P = K == null ? void 0 : K.detail) == null ? void 0 : P.prompt_id) || ((ee = K == null ? void 0 : K.detail) == null ? void 0 : ee.promptId); - h("execution:end", { - type: String((K == null ? void 0 : K.type) || ""), - prompt_id: String(U || "") - }), U && s.delete(String(U)), s.prune(), F == null || F(null), r({ + function E(M, { setCurrentJobId: j }) { + var q, ee; + const O = b(), D = ((q = M == null ? void 0 : M.detail) == null ? void 0 : q.prompt_id) || ((ee = M == null ? void 0 : M.detail) == null ? void 0 : ee.promptId); + if (Z("execution:end", { + type: String((M == null ? void 0 : M.type) || ""), + prompt_id: String(D || "") + }), D && s.delete(String(D)), s.prune(), j == null || j(null), r({ active_prompt_id: null, cached_nodes: [], progress_node: null, progress_value: null, progress_max: null - }), U && String((K == null ? void 0 : K.type) || "") !== "execution_success" && (h("buffer:clear", { - prompt_id: String(U || ""), - reason: String((K == null ? void 0 : K.type) || "") - }), k(), I.clear(U), Y.allowLiveStackFinalize && p.clearPendingJob(U), j()), String((K == null ? void 0 : K.type) || "") === "execution_success" && (Y.usePostExecutionScan ? q(d) : G(() => { - U && R(U), O(U); - }, d)); + }), D && String((M == null ? void 0 : M.type) || "") !== "execution_success" && (Z("buffer:clear", { + prompt_id: String(D || ""), + reason: String((M == null ? void 0 : M.type) || "") + }), X(), I.clear(D), O.allowLiveStackFinalize && p.clearPendingJob(D), N()), String((M == null ? void 0 : M.type) || "") === "execution_success") + if (O.usePostExecutionScan) + K(d); + else { + const ce = B(D) ? Math.min(d, PV) : d; + x(() => { + D && F(D), z(D); + }, ce); + } } - function E(K) { + function oe(M) { if (!f()) return; - const F = []; - for (const [, Y] of K instanceof Map ? K.entries() : []) { - const U = i(Y); - if (U != null && U.length) - for (const P of U) F.push(P); + const j = []; + for (const [, O] of M instanceof Map ? M.entries() : []) { + const D = i(O); + if (D != null && D.length) + for (const q of D) j.push(q); } - !F.length || !f() || (h("node-outputs:updated", { + !j.length || !f() || (Z("node-outputs:updated", { prompt_id: w(), - file_count: F.length - }), L(F, { prompt_id: w() })); + file_count: j.length + }), V(j, { prompt_id: w() })); } return { - notifyStacksUpdated: v, - prepareLiveAssetEvent: B, - isRenderableLiveAsset: J, - handleExecutedEvent: T, - handleExecutionStart: D, - handleExecutionEnd: Q, - handleNodeOutputsUpdated: E + notifyStacksUpdated: L, + prepareLiveAssetEvent: J, + isRenderableLiveAsset: P, + handleExecutedEvent: H, + handleExecutionStart: $, + handleExecutionEnd: E, + handleNodeOutputsUpdated: oe }; } -function HY(e) { - const t = [], n = /* @__PURE__ */ new Set(), i = 500, o = 4, r = 2e3, l = /\.(png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl)$/i, a = typeof WeakSet < "u" ? /* @__PURE__ */ new WeakSet() : null, c = ({ type: p, subfolder: M, filename: Z, path: A }) => A ? `path|${String(A).trim().toLowerCase()}` : `${p || ""}|${M || ""}|${Z || ""}`.toLowerCase(), s = (p) => { +function _V(e) { + const t = [], n = /* @__PURE__ */ new Set(), i = 500, o = 4, r = 2e3, l = /\.(png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl)$/i, a = typeof WeakSet < "u" ? /* @__PURE__ */ new WeakSet() : null, c = ({ type: p, subfolder: S, filename: A, path: C }) => C ? `path|${String(C).trim().toLowerCase()}` : `${p || ""}|${S || ""}|${A || ""}`.toLowerCase(), s = (p) => { if (!p) return; - const M = p.path || p.filepath || p.fullpath || p.fullPath || p.full_path; - let Z = p.filename; - if (!Z && M) { - const b = String(M).split(/[/\\\\]/); - Z = b[b.length - 1]; + const S = p.path || p.filepath || p.fullpath || p.fullPath || p.full_path; + let A = p.filename; + if (!A && S) { + const b = String(S).split(/[/\\\\]/); + A = b[b.length - 1]; } - if (!Z || (Z = String(Z), !Z)) return; - const A = p.subfolder || p.sub_folder || p.subFolder || "", g = p.type || p.output_type || "output", h = c({ type: g, subfolder: A, filename: Z, path: M }); - if (n.has(h)) return; - n.add(h); - const f = { filename: Z, subfolder: A, type: g }; - M && (f.path = M), t.push(f); + if (!A || (A = String(A), !A)) return; + const C = p.subfolder || p.sub_folder || p.subFolder || "", g = p.type || p.output_type || "output", Z = c({ type: g, subfolder: C, filename: A, path: S }); + if (n.has(Z)) return; + n.add(Z); + const f = { filename: A, subfolder: C, type: g }; + S && (f.path = S), t.push(f); }, d = (p) => { if (typeof p != "string") return; - const M = p.trim().replace(/^['"]|['"]$/g, ""); - if (!M || !l.test(M)) return; - const Z = M.split(/[/\\\\]/), A = Z[Z.length - 1]; - if (!A) return; - const g = c({ type: "output", subfolder: "", filename: A, path: M }); - n.has(g) || (n.add(g), t.push({ filename: A, subfolder: "", type: "output", path: M })); + const S = p.trim().replace(/^['"]|['"]$/g, ""); + if (!S || !l.test(S)) return; + const A = S.split(/[/\\\\]/), C = A[A.length - 1]; + if (!C) return; + const g = c({ type: "output", subfolder: "", filename: C, path: S }); + n.has(g) || (n.add(g), t.push({ filename: C, subfolder: "", type: "output", path: S })); }, u = (p) => { if (typeof p == "string") { d(p); return; } if (!Array.isArray(p)) return; - let M = 0; - for (const Z of p) { - if (t.length >= i || M >= r) break; - M += 1, Z && typeof Z == "object" && "filename" in Z ? s(Z) : typeof Z == "string" ? d(Z) : I(Z, 1); + let S = 0; + for (const A of p) { + if (t.length >= i || S >= r) break; + S += 1, A && typeof A == "object" && "filename" in A ? s(A) : typeof A == "string" ? d(A) : I(A, 1); } - }, I = (p, M) => { - if (!(!p || M > o || t.length >= i) && typeof p == "object") { + }, I = (p, S) => { + if (!(!p || S > o || t.length >= i) && typeof p == "object") { if (a) { if (a.has(p)) return; a.add(p); } if (Array.isArray(p)) { - let Z = 0; - for (const A of p) { - if (t.length >= i || Z >= r) break; - Z += 1, A && typeof A == "object" && "filename" in A ? s(A) : typeof A == "string" ? d(A) : I(A, M + 1); + let A = 0; + for (const C of p) { + if (t.length >= i || A >= r) break; + A += 1, C && typeof C == "object" && "filename" in C ? s(C) : typeof C == "string" ? d(C) : I(C, S + 1); } return; } - if ((p.images || p.gifs || p.videos || p.meshes || p.mesh || p.audio) && (u(p.images), u(p.gifs), u(p.videos), u(p.meshes), u(p.mesh), u(p.audio)), p.output && I(p.output, M + 1), p.outputs && I(p.outputs, M + 1), p.result && I(p.result, M + 1), p.data && I(p.data, M + 1), M < o) - for (const Z of Object.values(p)) { + if ((p.images || p.gifs || p.videos || p.meshes || p.mesh || p.audio) && (u(p.images), u(p.gifs), u(p.videos), u(p.meshes), u(p.mesh), u(p.audio)), p.output && I(p.output, S + 1), p.outputs && I(p.outputs, S + 1), p.result && I(p.result, S + 1), p.data && I(p.data, S + 1), S < o) + for (const A of Object.values(p)) { if (t.length >= i) break; - if (typeof Z == "string") { - d(Z); + if (typeof A == "string") { + d(A); continue; } - if (!(!Z || typeof Z != "object")) { - if (Z.images || Z.gifs || Z.videos || Z.meshes || Z.mesh || Z.audio) { - u(Z.images), u(Z.gifs), u(Z.videos), u(Z.meshes), u(Z.mesh), u(Z.audio); + if (!(!A || typeof A != "object")) { + if (A.images || A.gifs || A.videos || A.meshes || A.mesh || A.audio) { + u(A.images), u(A.gifs), u(A.videos), u(A.meshes), u(A.mesh), u(A.audio); continue; } - I(Z, M + 1); + I(A, S + 1); } } } }; return I(e, 0), t; } -const Pm = 3e4, Kr = /* @__PURE__ */ new Map(), qY = "live"; -function PY(e) { +const Qm = 3e4, Er = /* @__PURE__ */ new Map(), $V = "live"; +function eY(e) { return e === !0 || e === 1 || e === "1" ? !0 : e === !1 || e === 0 || e === "0" ? !1 : null; } -function QY(e) { +function tY(e) { const t = [ e == null ? void 0 : e.has_ai_vector, e == null ? void 0 : e.hasAiVector, @@ -45432,30 +45631,30 @@ function QY(e) { e == null ? void 0 : e.vectorIndexed ]; for (const n of t) { - const i = PY(n); + const i = eY(n); if (i !== null) return i; } return !1; } -function _Y(e) { - const t = Date.now(), n = Number(Kr.get(e) || 0); - if (n > 0 && t - n < Pm) +function nY(e) { + const t = Date.now(), n = Number(Er.get(e) || 0); + if (n > 0 && t - n < Qm) return !0; - if (Kr.set(e, t), Kr.size > 500) { - const i = t - 5 * Pm; - for (const [o, r] of Kr.entries()) - Number(r) < i && Kr.delete(o); + if (Er.set(e, t), Er.size > 500) { + const i = t - 5 * Qm; + for (const [o, r] of Er.entries()) + Number(r) < i && Er.delete(o); } return !1; } -function Qm(e) { +function _m(e) { const t = String((e == null ? void 0 : e.id) || "").trim(); - t && (QY(e) || _Y(t) || Fg(t).catch((n) => { + t && (tY(e) || nY(t) || Og(t).catch((n) => { var i; return (i = console.debug) == null ? void 0 : i.call(console, "[Majoor] auto vector index failed", n); })); } -function $Y(e) { +function iY(e) { var o, r; const t = String((e == null ? void 0 : e.kind) || "").trim().toLowerCase(); if (t) return t; @@ -45464,10 +45663,10 @@ function $Y(e) { ).trim(), i = n.includes(".") && ((r = (o = n.split(".").pop()) == null ? void 0 : o.toLowerCase) == null ? void 0 : r.call(o)) || ""; return i ? ["png", "jpg", "jpeg", "webp", "gif", "bmp", "tif", "tiff", "avif", "heic", "heif"].includes(i) ? "image" : ["mp4", "webm", "mov", "mkv", "avi", "m4v"].includes(i) ? "video" : ["mp3", "wav", "flac", "ogg"].includes(i) ? "audio" : ["glb", "gltf", "obj", "fbx", "ply", "stl", "splat", "ksplat", "spz"].includes(i) ? "model3d" : "unknown" : ""; } -function eV(e, { jobId: t = "" } = {}) { +function oY(e, { jobId: t = "" } = {}) { const n = String((e == null ? void 0 : e.filename) || "").trim(), i = String( (e == null ? void 0 : e.filepath) || (e == null ? void 0 : e.path) || (e == null ? void 0 : e.fullpath) || (e == null ? void 0 : e.full_path) || "" - ).trim(), o = String((e == null ? void 0 : e.subfolder) || (e == null ? void 0 : e.sub_folder) || (e == null ? void 0 : e.subFolder) || "").trim(), r = String((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output").trim().toLowerCase(), l = String((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || "").trim(), a = $Y(e); + ).trim(), o = String((e == null ? void 0 : e.subfolder) || (e == null ? void 0 : e.sub_folder) || (e == null ? void 0 : e.subFolder) || "").trim(), r = String((e == null ? void 0 : e.type) || (e == null ? void 0 : e.source) || "output").trim().toLowerCase(), l = String((e == null ? void 0 : e.root_id) || (e == null ? void 0 : e.custom_root_id) || "").trim(), a = iY(e); if (!a || !n && !i) return null; const c = n || i.split(/[/\\]/).filter(Boolean).pop() || ""; if (!c) return null; @@ -45478,7 +45677,7 @@ function eV(e, { jobId: t = "" } = {}) { c ].map((p) => String(p || "").trim().toLowerCase()).join("|"), u = Date.now() / 1e3, I = String((e == null ? void 0 : e.job_id) || t || "").trim(); return { - id: `${qY}:${d || s.toLowerCase()}`, + id: `${$V}:${d || s.toLowerCase()}`, filename: c, filepath: s, path: s, @@ -45501,7 +45700,7 @@ function eV(e, { jobId: t = "" } = {}) { _mjrLiveLabel: "In progress" }; } -function tV(e) { +function rY(e) { var n; const t = String(e || ""); try { @@ -45512,11 +45711,11 @@ function tV(e) { } return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); } -function nV(e, t) { +function lY(e, t) { const n = String(e || "").trim().toLowerCase(); return n === "delete_db" ? t("btn.deleteDb", "Delete DB") : n === "reset_index" ? t("btn.resetIndex", "Reset index") : n === "restore_db" ? t("btn.dbRestore", "Restore DB") : t("btn.maintenance", "Maintenance"); } -function iV(e, t) { +function aY(e, t) { const n = String(e || "").trim().toLowerCase(), i = String(t || "").trim().toLowerCase(), o = { delete_db: ["started", "stopping_workers", "resetting_db", "delete_db", "recreate_db", "restarting_scan", "done"], reset_index: ["started", "stopping_workers", "resetting_db", "restarting_scan", "done"], @@ -45529,7 +45728,7 @@ function iV(e, t) { label: i.replace(/[_-]+/g, " ") }; } -async function oV({ +async function cY({ api: e, runtime: t, executionRuntime: n, @@ -45544,245 +45743,245 @@ async function oV({ removeAssetsFromGrid: u, getEnrichmentState: I, setEnrichmentState: p, - comfyToast: M, - t: Z, - reportError: A, + comfyToast: S, + t: A, + reportError: C, registerCleanableListener: g, - syncExecutionBackendState: h + syncExecutionBackendState: Z }) { - e._mjrExecutedHandler = (C) => { + e._mjrExecutedHandler = (h) => { try { - n.handleExecutedEvent(C, { appRef: i }); - } catch (S) { - A(S, "entry.executed"); + n.handleExecutedEvent(h, { appRef: i }); + } catch (G) { + C(G, "entry.executed"); } - }, g(t, e, "executed", e._mjrExecutedHandler), e._mjrExecutionStartHandler = (C) => { - var S, W; + }, g(t, e, "executed", e._mjrExecutedHandler), e._mjrExecutionStartHandler = (h) => { + var G, W; try { - n.handleExecutionStart(C, { + n.handleExecutionStart(h, { setCurrentJobId: (y) => o == null ? void 0 : o.setCurrentJobId(y) - }), h == null || h({ + }), Z == null || Z({ active: !0, - promptId: ((S = C == null ? void 0 : C.detail) == null ? void 0 : S.prompt_id) || ((W = C == null ? void 0 : C.detail) == null ? void 0 : W.promptId) || "" + promptId: ((G = h == null ? void 0 : h.detail) == null ? void 0 : G.prompt_id) || ((W = h == null ? void 0 : h.detail) == null ? void 0 : W.promptId) || "" }); } catch (y) { - A(y, "entry.execution_start"); + C(y, "entry.execution_start"); } - }, e._mjrExecutionEndHandler = (C) => { - var S, W; + }, e._mjrExecutionEndHandler = (h) => { + var G, W; try { - n.handleExecutionEnd(C, { + n.handleExecutionEnd(h, { setCurrentJobId: (y) => o == null ? void 0 : o.setCurrentJobId(y) - }), h == null || h({ + }), Z == null || Z({ active: !1, - promptId: ((S = C == null ? void 0 : C.detail) == null ? void 0 : S.prompt_id) || ((W = C == null ? void 0 : C.detail) == null ? void 0 : W.promptId) || "" + promptId: ((G = h == null ? void 0 : h.detail) == null ? void 0 : G.prompt_id) || ((W = h == null ? void 0 : h.detail) == null ? void 0 : W.promptId) || "" }); } catch (y) { - A(y, "entry.execution_end"); + C(y, "entry.execution_end"); } - }, e._mjrStacksUpdatedHandler = (C) => { + }, e._mjrStacksUpdatedHandler = (h) => { try { - n.notifyStacksUpdated((C == null ? void 0 : C.detail) || {}); - } catch (S) { - A(S, "entry.stacks_updated"); + n.notifyStacksUpdated((h == null ? void 0 : h.detail) || {}); + } catch (G) { + C(G, "entry.stacks_updated"); } - }, e._mjrRuntimeStatusHandler = (C) => { - var S; + }, e._mjrRuntimeStatusHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}; + const W = (h == null ? void 0 : h.detail) || {}; l({ progress_node: (W == null ? void 0 : W.node) ?? null, progress_value: Number.isFinite(Number(W == null ? void 0 : W.value)) ? Number(W.value) : null, progress_max: Number.isFinite(Number(W == null ? void 0 : W.max)) ? Number(W.max) : null, - queue_remaining: Number.isFinite(Number((S = W == null ? void 0 : W.exec_info) == null ? void 0 : S.queue_remaining)) ? Number(W.exec_info.queue_remaining) : Number.isFinite(Number(W == null ? void 0 : W.queue_remaining)) ? Number(W.queue_remaining) : r().queue_remaining + queue_remaining: Number.isFinite(Number((G = W == null ? void 0 : W.exec_info) == null ? void 0 : G.queue_remaining)) ? Number(W.exec_info.queue_remaining) : Number.isFinite(Number(W == null ? void 0 : W.queue_remaining)) ? Number(W.queue_remaining) : r().queue_remaining }); } catch (W) { - A(W, "entry.runtime_status"); + C(W, "entry.runtime_status"); } - }, e._mjrExecutionCachedHandler = (C) => { + }, e._mjrExecutionCachedHandler = (h) => { try { - const S = (C == null ? void 0 : C.detail) || {}; + const G = (h == null ? void 0 : h.detail) || {}; l({ - active_prompt_id: (S == null ? void 0 : S.prompt_id) || (S == null ? void 0 : S.promptId) || r().active_prompt_id || null, - cached_nodes: Array.isArray(S == null ? void 0 : S.nodes) ? S.nodes.slice() : [] + active_prompt_id: (G == null ? void 0 : G.prompt_id) || (G == null ? void 0 : G.promptId) || r().active_prompt_id || null, + cached_nodes: Array.isArray(G == null ? void 0 : G.nodes) ? G.nodes.slice() : [] }); - } catch (S) { - A(S, "entry.execution_cached"); + } catch (G) { + C(G, "entry.execution_cached"); } - }, g(t, e, "execution_start", e._mjrExecutionStartHandler), g(t, e, "execution_success", e._mjrExecutionEndHandler), g(t, e, "execution_error", e._mjrExecutionEndHandler), g(t, e, "execution_interrupted", e._mjrExecutionEndHandler), g(t, e, "mjr.stacks.updated", e._mjrStacksUpdatedHandler), g(t, e, "progress", e._mjrRuntimeStatusHandler), g(t, e, "status", e._mjrRuntimeStatusHandler), g(t, e, ft.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), g(t, e, "execution_cached", e._mjrExecutionCachedHandler); + }, g(t, e, "execution_start", e._mjrExecutionStartHandler), g(t, e, "execution_success", e._mjrExecutionEndHandler), g(t, e, "execution_error", e._mjrExecutionEndHandler), g(t, e, "execution_interrupted", e._mjrExecutionEndHandler), g(t, e, "mjr.stacks.updated", e._mjrStacksUpdatedHandler), g(t, e, "progress", e._mjrRuntimeStatusHandler), g(t, e, "status", e._mjrRuntimeStatusHandler), g(t, e, ht.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), g(t, e, "execution_cached", e._mjrExecutionCachedHandler); function f() { - var C; + var h; try { window.__mjrLastAssetUpsert = Date.now(), window.__mjrLastAssetUpsertCount = (Number(window.__mjrLastAssetUpsertCount || 0) || 0) + 1; - } catch (S) { - (C = console.debug) == null || C.call(console, S); + } catch (G) { + (h = console.debug) == null || h.call(console, G); } } - function b(C, S, { immediate: W = !1, force: y = !1 } = {}) { - var N, q; - const k = String((S == null ? void 0 : S.id) || "").trim(), G = String((S == null ? void 0 : S.kind) || "").trim(), z = String((S == null ? void 0 : S.filename) || "").trim(), x = String((S == null ? void 0 : S.filepath) || "").trim(), w = !!G && (!!z || !!x); - let X = !1; - if (k) + function b(h, G, { immediate: W = !1, force: y = !1 } = {}) { + var k, K; + const X = String((G == null ? void 0 : G.id) || "").trim(), x = String((G == null ? void 0 : G.kind) || "").trim(), T = String((G == null ? void 0 : G.filename) || "").trim(), v = String((G == null ? void 0 : G.filepath) || "").trim(), w = !!x && (!!T || !!v); + let R = !1; + if (X) try { - typeof (C == null ? void 0 : C._mjrHasAssetId) == "function" ? X = !!C._mjrHasAssetId(k) : X = !!C.querySelector( - `.mjr-asset-card[data-mjr-asset-id="${tV(k)}"]` + typeof (h == null ? void 0 : h._mjrHasAssetId) == "function" ? R = !!h._mjrHasAssetId(X) : R = !!h.querySelector( + `.mjr-asset-card[data-mjr-asset-id="${rY(X)}"]` ); - } catch (O) { - (N = console.debug) == null || N.call(console, O); + } catch (z) { + (k = console.debug) == null || k.call(console, z); } - const V = w || X; - if (!X && V && !y && (String(((q = C == null ? void 0 : C.dataset) == null ? void 0 : q.mjrQuery) || "*").trim() || "*") !== "*") + const Y = w || R; + if (!R && Y && !y && (String(((K = h == null ? void 0 : h.dataset) == null ? void 0 : K.mjrQuery) || "*").trim() || "*") !== "*") return; - let R = !X && V && !S.mtime ? { ...S, mtime: Date.now() / 1e3 } : S; - if (!X && V) { - const O = S.has_workflow ?? S.hasWorkflow, B = S.has_generation_data ?? S.hasGenerationData; - O == null && B == null || (O == null || B == null) && (R = { - ...R, - has_workflow: O ?? null, + let F = !R && Y && !G.mtime ? { ...G, mtime: Date.now() / 1e3 } : G; + if (!R && Y) { + const z = G.has_workflow ?? G.hasWorkflow, B = G.has_generation_data ?? G.hasGenerationData; + z == null && B == null || (z == null || B == null) && (F = { + ...F, + has_workflow: z ?? null, has_generation_data: B ?? null }); } - (V ? !!(W && typeof d == "function" ? d : s)(C, R) : !1) && f(); + (Y ? !!(W && typeof d == "function" ? d : s)(h, F) : !1) && f(); } - e._mjrNewGenerationOutputHandler = (C) => { - var S, W, y, k; + e._mjrNewGenerationOutputHandler = (h) => { + var G, W, y, X; try { - const G = a(); - if (!G) return; - const z = String(((S = G == null ? void 0 : G.dataset) == null ? void 0 : S.mjrScope) || "output").trim().toLowerCase(); - if (z !== "output" && z !== "all") return; - const x = Array.isArray((W = C == null ? void 0 : C.detail) == null ? void 0 : W.files) ? C.detail.files : [], w = String(((y = C == null ? void 0 : C.detail) == null ? void 0 : y.prompt_id) || ((k = C == null ? void 0 : C.detail) == null ? void 0 : k.promptId) || "").trim(); - for (const X of x) { - const V = eV(X, { jobId: w }); - V && b(G, V, { immediate: !0, force: !0 }); + const x = a(); + if (!x) return; + const T = String(((G = x == null ? void 0 : x.dataset) == null ? void 0 : G.mjrScope) || "output").trim().toLowerCase(); + if (T !== "output" && T !== "all") return; + const v = Array.isArray((W = h == null ? void 0 : h.detail) == null ? void 0 : W.files) ? h.detail.files : [], w = String(((y = h == null ? void 0 : h.detail) == null ? void 0 : y.prompt_id) || ((X = h == null ? void 0 : h.detail) == null ? void 0 : X.promptId) || "").trim(); + for (const R of v) { + const Y = oY(R, { jobId: w }); + Y && b(x, Y, { immediate: !0, force: !0 }); } - } catch (G) { - A(G, "entry.new_generation_output"); + } catch (x) { + C(x, "entry.new_generation_output"); } - }, g(t, window, ft.NEW_GENERATION_OUTPUT, e._mjrNewGenerationOutputHandler), e._mjrAssetAddedHandler = (C) => { - var S, W; + }, g(t, window, ht.NEW_GENERATION_OUTPUT, e._mjrNewGenerationOutputHandler), e._mjrAssetAddedHandler = (h) => { + var G, W; try { const y = a(); - if (y && (C != null && C.detail)) { - const k = n.prepareLiveAssetEvent(C.detail), G = (k == null ? void 0 : k.detail) || C.detail, z = n.isRenderableLiveAsset(G); - z && c(G), Qm(G); - const x = ((S = y.dataset) == null ? void 0 : S.mjrScope) || "output"; - if (x !== "output" && x !== "all") return; + if (y && (h != null && h.detail)) { + const X = n.prepareLiveAssetEvent(h.detail), x = (X == null ? void 0 : X.detail) || h.detail, T = n.isRenderableLiveAsset(x); + T && c(x), _m(x); + const v = ((G = y.dataset) == null ? void 0 : G.mjrScope) || "output"; + if (v !== "output" && v !== "all") return; const w = ((W = y.dataset) == null ? void 0 : W.mjrQuery) || "*"; - String(w).trim() === "*" && z && b(y, G, { immediate: !0 }); + String(w).trim() === "*" && T && b(y, x, { immediate: !0 }); } } catch (y) { - A(y, "entry.asset_added"); + C(y, "entry.asset_added"); } - }, g(t, e, "mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler = (C) => { + }, g(t, e, "mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler = (h) => { try { - const S = a(); - if (S && (C != null && C.detail)) { - const W = n.prepareLiveAssetEvent(C.detail), y = (W == null ? void 0 : W.detail) || C.detail; - n.isRenderableLiveAsset(y) && c(y), b(S, y); + const G = a(); + if (G && (h != null && h.detail)) { + const W = n.prepareLiveAssetEvent(h.detail), y = (W == null ? void 0 : W.detail) || h.detail; + n.isRenderableLiveAsset(y) && c(y), b(G, y, { immediate: !0 }); } - } catch (S) { - A(S, "entry.asset_updated"); + } catch (G) { + C(G, "entry.asset_updated"); } - }, g(t, e, "mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrScanCompleteHandler = (C) => { - var S; + }, g(t, e, "mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrScanCompleteHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}; - window.dispatchEvent(new CustomEvent(ft.SCAN_COMPLETE, { detail: W })); + const W = (h == null ? void 0 : h.detail) || {}; + window.dispatchEvent(new CustomEvent(ht.SCAN_COMPLETE, { detail: W })); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.SCAN_COMPLETE, e._mjrScanCompleteHandler), e._mjrScanProgressHandler = (C) => { - var S; + }, g(t, e, ht.SCAN_COMPLETE, e._mjrScanCompleteHandler), e._mjrScanProgressHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}; - window.dispatchEvent(new CustomEvent(ft.SCAN_PROGRESS, { detail: W })); + const W = (h == null ? void 0 : h.detail) || {}; + window.dispatchEvent(new CustomEvent(ht.SCAN_PROGRESS, { detail: W })); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler = (C) => { - var S; + }, g(t, e, ht.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}; - window.dispatchEvent(new CustomEvent(ft.ASSET_INDEXING, { detail: W })); + const W = (h == null ? void 0 : h.detail) || {}; + window.dispatchEvent(new CustomEvent(ht.ASSET_INDEXING, { detail: W })); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler = (C) => { - var S; + }, g(t, e, ht.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}; - window.dispatchEvent(new CustomEvent(ft.ASSET_INDEXED, { detail: W })); + const W = (h == null ? void 0 : h.detail) || {}; + window.dispatchEvent(new CustomEvent(ht.ASSET_INDEXED, { detail: W })); const y = a(); if (y && W) { - const k = n.prepareLiveAssetEvent(W), G = (k == null ? void 0 : k.detail) || W; - n.isRenderableLiveAsset(G) && c(G), Qm(G), b(y, G, { immediate: !0, force: !0 }); + const X = n.prepareLiveAssetEvent(W), x = (X == null ? void 0 : X.detail) || W; + n.isRenderableLiveAsset(x) && c(x), _m(x), b(y, x, { immediate: !0, force: !0 }); } } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrEnrichmentStatusHandler = (C) => { - var S; + }, g(t, e, ht.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrEnrichmentStatusHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}, y = Number(W == null ? void 0 : W.queued), k = Number(W == null ? void 0 : W.queue_left), G = Number.isFinite(y) ? Math.max(0, Math.floor(y)) : Number.isFinite(k) ? Math.max(0, Math.floor(k)) : 0, z = !!(W != null && W.active) || G > 0, x = I().active; - p(z, G), window.dispatchEvent(new CustomEvent(ft.ENRICHMENT_STATUS, { detail: W })), x && !z && M(Z("toast.enrichmentComplete", "Metadata enrichment complete"), "success", 2600); + const W = (h == null ? void 0 : h.detail) || {}, y = Number(W == null ? void 0 : W.queued), X = Number(W == null ? void 0 : W.queue_left), x = Number.isFinite(y) ? Math.max(0, Math.floor(y)) : Number.isFinite(X) ? Math.max(0, Math.floor(X)) : 0, T = !!(W != null && W.active) || x > 0, v = I().active; + p(T, x), window.dispatchEvent(new CustomEvent(ht.ENRICHMENT_STATUS, { detail: W })), v && !T && S(A("toast.enrichmentComplete", "Metadata enrichment complete"), "success", 2600); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler = (C) => { - var S; + }, g(t, e, ht.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler = (h) => { + var G; try { - const W = (C == null ? void 0 : C.detail) || {}, y = String((W == null ? void 0 : W.step) || ""), k = String((W == null ? void 0 : W.level) || "info"), G = String((W == null ? void 0 : W.operation) || ""); - window.dispatchEvent(new CustomEvent(ft.DB_RESTORE_STATUS, { detail: W })); - const z = G === "delete_db", x = G === "reset_index", X = { - started: z ? Z("toast.dbDeleteTriggered", "Deleting database and rebuilding...") : x ? Z("toast.resetTriggered", "Reset triggered: Reindexing all files...") : Z("toast.dbRestoreStarted", "DB restore started"), - stopping_workers: Z("toast.dbRestoreStopping", "Stopping running workers"), - resetting_db: Z("toast.dbRestoreResetting", "Unlocking and resetting database"), - delete_db: Z("toast.dbDeleteTriggered", "Deleting database and rebuilding..."), - recreate_db: Z("toast.dbRestoreReplacing", "Recreating database"), - replacing_files: Z("toast.dbRestoreReplacing", "Replacing database files"), - restarting_scan: Z("toast.dbRestoreRescan", "Restarting scan"), - done: z ? Z("toast.dbDeleteSuccess", "Database deleted and rebuilt. Files are being reindexed.") : x ? Z("toast.resetStarted", "Index reset started. Files will be reindexed in the background.") : Z("toast.dbRestoreSuccess", "Database backup restored"), + const W = (h == null ? void 0 : h.detail) || {}, y = String((W == null ? void 0 : W.step) || ""), X = String((W == null ? void 0 : W.level) || "info"), x = String((W == null ? void 0 : W.operation) || ""); + window.dispatchEvent(new CustomEvent(ht.DB_RESTORE_STATUS, { detail: W })); + const T = x === "delete_db", v = x === "reset_index", R = { + started: T ? A("toast.dbDeleteTriggered", "Deleting database and rebuilding...") : v ? A("toast.resetTriggered", "Reset triggered: Reindexing all files...") : A("toast.dbRestoreStarted", "DB restore started"), + stopping_workers: A("toast.dbRestoreStopping", "Stopping running workers"), + resetting_db: A("toast.dbRestoreResetting", "Unlocking and resetting database"), + delete_db: A("toast.dbDeleteTriggered", "Deleting database and rebuilding..."), + recreate_db: A("toast.dbRestoreReplacing", "Recreating database"), + replacing_files: A("toast.dbRestoreReplacing", "Replacing database files"), + restarting_scan: A("toast.dbRestoreRescan", "Restarting scan"), + done: T ? A("toast.dbDeleteSuccess", "Database deleted and rebuilt. Files are being reindexed.") : v ? A("toast.resetStarted", "Index reset started. Files will be reindexed in the background.") : A("toast.dbRestoreSuccess", "Database backup restored"), failed: String( - (W == null ? void 0 : W.message) || (z ? Z("toast.dbDeleteFailed", "Failed to delete database") : x ? Z("toast.resetFailed", "Failed to reset index") : Z("toast.dbRestoreFailed", "Failed to restore DB backup")) + (W == null ? void 0 : W.message) || (T ? A("toast.dbDeleteFailed", "Failed to delete database") : v ? A("toast.resetFailed", "Failed to reset index") : A("toast.dbRestoreFailed", "Failed to restore DB backup")) ) }[y] || String((W == null ? void 0 : W.message) || ""); - if (!X) return; - const V = k === "error" || y === "failed" ? "error" : y === "done" ? "success" : "info", R = { + if (!R) return; + const Y = X === "error" || y === "failed" ? "error" : y === "done" ? "success" : "info", F = { history: { - trackId: `maintenance:${String(G || "db_restore").trim().toLowerCase() || "db_restore"}`, - title: nV(G, Z), - detail: X, + trackId: `maintenance:${String(x || "db_restore").trim().toLowerCase() || "db_restore"}`, + title: lY(x, A), + detail: R, status: y, - operation: String(G || "db_restore").trim().toLowerCase(), - progress: iV(G, y), + operation: String(x || "db_restore").trim().toLowerCase(), + progress: aY(x, y), source: String((W == null ? void 0 : W.name) || "").trim() || "maintenance", forceStore: !0 } }; - if (z && !["started", "done", "failed"].includes(y)) { - $r(X, V, 0, R); + if (T && !["started", "done", "failed"].includes(y)) { + tl(R, Y, 0, F); return; } - M(X, V, y === "done" || y === "failed" ? 2800 : 1800, R); + S(R, Y, y === "done" || y === "failed" ? 2800 : 1800, F); } catch (W) { - (S = console.debug) == null || S.call(console, W); + (G = console.debug) == null || G.call(console, W); } - }, g(t, e, ft.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler); - const v = (C) => { - var S, W; + }, g(t, e, ht.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler); + const L = (h) => { + var G, W; try { - const y = Array.isArray((S = C == null ? void 0 : C.detail) == null ? void 0 : S.ids) ? C.detail.ids.map((G) => String(G || "")).filter(Boolean) : []; + const y = Array.isArray((G = h == null ? void 0 : h.detail) == null ? void 0 : G.ids) ? h.detail.ids.map((x) => String(x || "")).filter(Boolean) : []; if (!y.length) return; - const k = a(); - k && u(k, y); + const X = a(); + X && u(X, y); } catch (y) { (W = console.debug) == null || W.call(console, y); } }; - g(t, window, ft.ASSETS_DELETED, v), t && typeof t == "object" && (t.api = e, t.assetsDeletedHandler = v), console.debug("[Majoor] Real-time listener registered"); + g(t, window, ht.ASSETS_DELETED, L), t && typeof t == "object" && (t.api = e, t.assetsDeletedHandler = L), console.debug("[Majoor] Real-time listener registered"); } -function rV({ resolveNodeStreamModule: e }) { +function sY({ resolveNodeStreamModule: e }) { var t; if (!(typeof window > "u")) { window.MajoorDebug = { @@ -45812,24 +46011,24 @@ function rV({ resolveNodeStreamModule: e }) { } } } -const Gs = "__MJR_ENTRY_RUNTIME__"; -function xs(e, t) { +const js = "__MJR_ENTRY_RUNTIME__"; +function vs(e, t) { if (e) try { - e._mjrAssetUpdateReloadTimer && (clearTimeout(e._mjrAssetUpdateReloadTimer), e._mjrAssetUpdateReloadTimer = null), e._mjrExecutedHandler && e.removeEventListener("executed", e._mjrExecutedHandler), e._mjrAssetAddedHandler && e.removeEventListener("mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler && e.removeEventListener("mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrScanCompleteHandler && e.removeEventListener(ft.SCAN_COMPLETE, e._mjrScanCompleteHandler), e._mjrScanProgressHandler && e.removeEventListener(ft.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler && e.removeEventListener(ft.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler && e.removeEventListener(ft.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrExecutionStartHandler && e.removeEventListener("execution_start", e._mjrExecutionStartHandler), e._mjrExecutionEndHandler && (e.removeEventListener("execution_success", e._mjrExecutionEndHandler), e.removeEventListener("execution_error", e._mjrExecutionEndHandler), e.removeEventListener("execution_interrupted", e._mjrExecutionEndHandler)), e._mjrStacksUpdatedHandler && e.removeEventListener("mjr.stacks.updated", e._mjrStacksUpdatedHandler), e._mjrEnrichmentStatusHandler && e.removeEventListener(ft.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler && e.removeEventListener(ft.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler), e._mjrRuntimeStatusHandler && (e.removeEventListener("progress", e._mjrRuntimeStatusHandler), e.removeEventListener("status", e._mjrRuntimeStatusHandler), e.removeEventListener(ft.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), e.removeEventListener("execution_cached", e._mjrExecutionCachedHandler)); + e._mjrAssetUpdateReloadTimer && (clearTimeout(e._mjrAssetUpdateReloadTimer), e._mjrAssetUpdateReloadTimer = null), e._mjrExecutedHandler && e.removeEventListener("executed", e._mjrExecutedHandler), e._mjrAssetAddedHandler && e.removeEventListener("mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler && e.removeEventListener("mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrScanCompleteHandler && e.removeEventListener(ht.SCAN_COMPLETE, e._mjrScanCompleteHandler), e._mjrScanProgressHandler && e.removeEventListener(ht.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler && e.removeEventListener(ht.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler && e.removeEventListener(ht.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrExecutionStartHandler && e.removeEventListener("execution_start", e._mjrExecutionStartHandler), e._mjrExecutionEndHandler && (e.removeEventListener("execution_success", e._mjrExecutionEndHandler), e.removeEventListener("execution_error", e._mjrExecutionEndHandler), e.removeEventListener("execution_interrupted", e._mjrExecutionEndHandler)), e._mjrStacksUpdatedHandler && e.removeEventListener("mjr.stacks.updated", e._mjrStacksUpdatedHandler), e._mjrEnrichmentStatusHandler && e.removeEventListener(ht.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler && e.removeEventListener(ht.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler), e._mjrRuntimeStatusHandler && (e.removeEventListener("progress", e._mjrRuntimeStatusHandler), e.removeEventListener("status", e._mjrRuntimeStatusHandler), e.removeEventListener(ht.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), e.removeEventListener("execution_cached", e._mjrExecutionCachedHandler)); } catch (n) { t == null || t(n, "entry.removeApiHandlers"); } } -function kp(e, t) { +function Rp(e, t) { try { const n = e == null ? void 0 : e.assetsDeletedHandler; - n && typeof window < "u" && window.removeEventListener(ft.ASSETS_DELETED, n); + n && typeof window < "u" && window.removeEventListener(ht.ASSETS_DELETED, n); } catch (n) { t == null || t(n, "entry.removeRuntimeWindowHandlers"); } } -function Xp(e, { reportError: t } = {}) { +function Fp(e, { reportError: t } = {}) { var n, i, o; if (!(!e || typeof e != "object")) { try { @@ -45857,13 +46056,13 @@ function Xp(e, { reportError: t } = {}) { console.warn("[MJR teardown]", r); } try { - xs(e.api || null, t), kp(e, t); + vs(e.api || null, t), Rp(e, t); } catch (r) { console.warn("[MJR teardown]", r); } } } -function lV(e, t, n, i, o = void 0) { +function dY(e, t, n, i, o = void 0) { var l; if (!e || !(t != null && t.addEventListener) || typeof i != "function") return null; const r = o && typeof o == "object" ? { ...o } : o; @@ -45883,8 +46082,8 @@ function lV(e, t, n, i, o = void 0) { } }), null; } -function aV({ - cleanupEntryRuntimeFn: e = Xp, +function uY({ + cleanupEntryRuntimeFn: e = Fp, teardownLiveStreamTracker: t, teardownNodeStream: n, teardownFloatingViewerManager: i, @@ -45897,7 +46096,7 @@ function aV({ try { if (typeof window < "u") { try { - const s = window[Gs]; + const s = window[js]; e(s, { reportError: c }); } catch (s) { console.warn("[MJR teardown]", s); @@ -45937,7 +46136,7 @@ function aV({ } catch (s) { console.warn("[MJR teardown]", s); } - window[Gs] = { + window[js] = { api: null, assetsDeletedHandler: null, _cleanupControllers: [], @@ -45948,10 +46147,10 @@ function aV({ console.warn("[MJR teardown]", s); } } -let sl = null, ir = null; -const ql = "majoor-assets", Pl = "__MJR_EXECUTION_RUNTIME__", cV = "Majoor.AssetsManager"; -let Rc = { active: null, promptId: "" }, Ql = null; -function rc() { +let dl = null, rr = null; +const Pl = "majoor-assets", Ql = "__MJR_EXECUTION_RUNTIME__", mY = "Majoor.AssetsManager"; +let Oc = { active: null, promptId: "" }, _l = null; +function lc() { var e; try { return typeof window > "u" ? { @@ -45961,69 +46160,69 @@ function rc() { progress_value: null, progress_max: null, cached_nodes: [] - } : ((!window[Pl] || typeof window[Pl] != "object") && (window[Pl] = { + } : ((!window[Ql] || typeof window[Ql] != "object") && (window[Ql] = { active_prompt_id: null, queue_remaining: null, progress_node: null, progress_value: null, progress_max: null, cached_nodes: [] - }), window[Pl]); + }), window[Ql]); } catch (t) { return (e = console.debug) == null || e.call(console, t), {}; } } -function Np(e = {}) { +function Op(e = {}) { var t; try { - const n = rc(); - Object.assign(n, e || {}), window.dispatchEvent(new CustomEvent(ft.RUNTIME_STATUS, { detail: { ...n } })); + const n = lc(); + Object.assign(n, e || {}), window.dispatchEvent(new CustomEvent(ht.RUNTIME_STATUS, { detail: { ...n } })); } catch (n) { (t = console.debug) == null || t.call(console, n); } } -async function sV({ active: e, promptId: t = "" } = {}) { +async function gY({ active: e, promptId: t = "" } = {}) { const n = !!e, i = String(t || "").trim(); - if (!(Rc.active === n && Rc.promptId === i)) { - Rc = { active: n, promptId: i }; + if (!(Oc.active === n && Oc.promptId === i)) { + Oc = { active: n, promptId: i }; try { - await Et(lt.RUNTIME_EXECUTION, { + await Et(ct.RUNTIME_EXECUTION, { active: n, prompt_id: i || void 0, - cooldown_ms: Number(ye.EXECUTION_IDLE_GRACE_MS) || 6e3 + cooldown_ms: Number(fe.EXECUTION_IDLE_GRACE_MS) || 6e3 }); } catch (o) { - li(o, "entry.execution_state_sync"); + ai(o, "entry.execution_state_sync"); } } } -function Rp() { +function zp() { var e, t; try { - return !!String(((e = rc()) == null ? void 0 : e.active_prompt_id) || "").trim(); + return !!String(((e = lc()) == null ? void 0 : e.active_prompt_id) || "").trim(); } catch (n) { return (t = console.debug) == null || t.call(console, n), !1; } } -function Fp(e = 1200) { +function Jp(e = 1200) { var t; try { - Ql && clearTimeout(Ql); + _l && clearTimeout(_l); } catch (n) { (t = console.debug) == null || t.call(console, n); } - Ql = setTimeout(() => { - if (Ql = null, Rp()) { - Fp(e); + _l = setTimeout(() => { + if (_l = null, zp()) { + Jp(e); return; } - const n = wo(); - n && Qs(n); + const n = So(); + n && $s(n); }, Math.max(250, Number(e) || 0)); } -function dV(e) { - import("./LiveStreamTracker-C2pYMJng.js").then((t) => { - sl = t; +function IY(e) { + import("./LiveStreamTracker-BR6kWxcl.js").then((t) => { + dl = t; try { t.initLiveStreamTracker(e); } catch (n) { @@ -46035,14 +46234,14 @@ function dV(e) { return; } } -async function uV(e, t) { +async function bY(e, t) { var o; - const n = await pg({ app: e, timeoutMs: 4e3 }) || ha(e); - if (hy(n || null), !n) { + const n = await yg({ app: e, timeoutMs: 4e3 }) || Ca(e); + if (Ay(n || null), !n) { console.warn("Majoor API not available, real-time updates disabled"); return; } - WI({ api: n, app: e }).catch( + wI({ api: n, app: e }).catch( (r) => { var l; return (l = console.debug) == null ? void 0 : l.call(console, "[Majoor] MFV progress tracking init failed", r); @@ -46050,106 +46249,108 @@ async function uV(e, t) { ); let i = null; try { - i = typeof window < "u" && window[Gs] || null; + i = typeof window < "u" && window[js] || null; } catch (r) { (o = console.debug) == null || o.call(console, r); } - xs((i == null ? void 0 : i.api) || null, li), n !== (i == null ? void 0 : i.api) && xs(n, li), kp(i, li), await oV({ + vs((i == null ? void 0 : i.api) || null, ai), n !== (i == null ? void 0 : i.api) && vs(n, ai), Rp(i, ai), await cY({ api: n, runtime: i, executionRuntime: t, - appRef: xo, - liveStreamModule: sl, - ensureExecutionRuntime: rc, - emitRuntimeStatus: Np, - getActiveGridContainer: wo, - pushGeneratedAsset: jY, - upsertAsset: nZ, - upsertAssetNow: iZ, - removeAssetsFromGrid: is, - getEnrichmentState: _a, - setEnrichmentState: GI, - comfyToast: Ce, + appRef: vo, + liveStreamModule: dl, + ensureExecutionRuntime: lc, + emitRuntimeStatus: Op, + getActiveGridContainer: So, + pushGeneratedAsset: VV, + upsertAsset: rZ, + upsertAssetNow: lZ, + removeAssetsFromGrid: rs, + getEnrichmentState: $a, + setEnrichmentState: xI, + comfyToast: Ze, t: m, - reportError: li, - registerCleanableListener: lV, - syncExecutionBackendState: sV + reportError: ai, + registerCleanableListener: dY, + syncExecutionBackendState: gY }); } -const _m = EY({ +const $m = QV({ post: Et, - ENDPOINTS: lt, - reportError: li, - extractOutputFiles: HY, - ensureExecutionRuntime: rc, - emitRuntimeStatus: Np, - refreshGeneratedFeedHosts: CY, - getActiveGridContainer: wo + ENDPOINTS: ct, + reportError: ai, + extractOutputFiles: _V, + ensureExecutionRuntime: lc, + emitRuntimeStatus: Op, + refreshGeneratedFeedHosts: WV, + getActiveGridContainer: So }); -xo.registerExtension({ - name: cV, +vo.registerExtension({ + name: mY, /** * Declarative settings β€” registered with ComfyUI's settings panel. * Replaces the imperative registerMajoorSettings() call for the settings UI. */ - settings: AC(xo), + settings: MC(vo), /** * Declarative commands β€” ComfyUI surfaces these in the command palette * and the shortcut editor without additional imperative calls. */ - commands: hp(xo, { - sidebarTabId: ql, - triggerStartupScan: gl + commands: Zp(vo, { + sidebarTabId: Pl, + triggerStartupScan: Il }), /** * Declarative bottom-panel tabs β€” processed by ComfyUI's extension service. * Each tab's render/destroy callbacks mount/unmount the Vue app via * mountKeepAlive() so state survives panel collapse/expand cycles. */ - bottomPanelTabs: jL(), + bottomPanelTabs: LL(), // ── lifecycle ────────────────────────────────────────────────────────────── async setup() { var t; - aV({ - cleanupEntryRuntimeFn: Xp, - teardownLiveStreamTracker: (n) => sl == null ? void 0 : sl.teardownLiveStreamTracker(n), - teardownNodeStream: (n) => ir == null ? void 0 : ir.teardownNodeStream(n), - teardownFloatingViewerManager: AI, - teardownGeneratedFeed: vL, - teardownAssetsSidebar: GL, - teardownGlobalRuntime: wL, - teardownTopBarMfvButton: up, - reportError: li - }), Od(xo); - const e = await Gy({ timeoutMs: 12e3 }) || xo; - Od(e); + uY({ + cleanupEntryRuntimeFn: Fp, + teardownLiveStreamTracker: (n) => dl == null ? void 0 : dl.teardownLiveStreamTracker(n), + teardownNodeStream: (n) => rr == null ? void 0 : rr.teardownNodeStream(n), + teardownFloatingViewerManager: WI, + teardownGeneratedFeed: VL, + teardownAssetsSidebar: jL, + teardownGlobalRuntime: SL, + teardownTopBarMfvButton: mp, + reportError: ai + }), Jd(vo); + const e = await vy({ timeoutMs: 12e3 }) || vo; + Jd(e); try { typeof window < "u" && (window.__MJR_RUNTIME_APP__ = e); } catch (n) { (t = console.debug) == null || t.call(console, n); } - Ih(), Rh({ enabled: !0 }), WL(), dV(e), ZC(e, () => { - const n = wo(); + yh(), zh({ enabled: !0 }), ML(), IY(e), wC(e, () => { + const n = So(); if (n) { - if (ye.DEFER_GRID_FETCH_DURING_EXECUTION && Rp()) { - Fp(); + if (fe.DEFER_GRID_FETCH_DURING_EXECUTION && zp()) { + Jp(); return; } - Qs(n); + $s(n); } - }), ML(e, { - sidebarTabId: ql, - triggerStartupScan: gl + }), GL(e, { + sidebarTabId: Pl, + triggerStartupScan: Il }), setTimeout(() => { - Nh(); - }, 5e3), uV(e, _m).catch( - (n) => li(n, "entry.api_setup") - ), SL(e, { - sidebarTabId: ql - }) ? to("[Majoor] Sidebar tab registered (Vue)") : console.warn( + Oh(); + }, 5e3), setTimeout(() => { + fp(); + }, 4e3), bY(e, $m).catch( + (n) => ai(n, "entry.api_setup") + ), xL(e, { + sidebarTabId: Pl + }) ? io("[Majoor] Sidebar tab registered (Vue)") : console.warn( "Majoor Assets Manager: extensionManager.registerSidebarTab is unavailable" - ), rV({ - resolveNodeStreamModule: async () => (ir || (ir = await import("./NodeStreamController-CLm6-3VG.js")), ir) + ), sY({ + resolveNodeStreamModule: async () => (rr || (rr = await import("./NodeStreamController-CLm6-3VG.js")), rr) }); }, // ── hooks ────────────────────────────────────────────────────────────────── @@ -46161,55 +46362,55 @@ xo.registerExtension({ onNodeOutputsUpdated(e) { var t; try { - _m.handleNodeOutputsUpdated(e); + $m.handleNodeOutputsUpdated(e); } catch (n) { (t = console.debug) == null || t.call(console, "[Majoor] onNodeOutputsUpdated error", n); } }, /** Context-menu items injected into ComfyUI node right-click menus. */ getNodeMenuItems(e) { - return YL(e, xo, { sidebarTabId: ql }); + return kL(e, vo, { sidebarTabId: Pl }); } }); export { - ye as A, - IV as B, - bV as C, - QI as D, - ft as E, - Wr as F, - Ce as G, - Ug as H, - ml as I, - cA as J, - pV as K, - SA as M, - GA as P, - qx as _, - eb as a, - VA as b, - Yu as c, - Ac as d, - On as e, - fV as f, - yV as g, + fe as A, + fY as B, + hY as C, + _I as D, + ht as E, + Sr as F, + Ze as G, + Kg as H, + gl as I, + uA as J, + CY as K, + jA as M, + vA as P, + _x as _, + tb as a, + NA as b, + ku as c, + Wc as d, + zn as e, + AY as f, + ZY as g, In as h, - Lu as i, - Kj as j, - Zv as k, - sj as l, - pt as m, - rp as n, - Ib as o, - EI as p, - dl as q, - YA as r, - Zo as s, - Bi as t, + Yu as i, + Hj as j, + wv as k, + mj as l, + bt as m, + lp as n, + bb as o, + HI as p, + ul as q, + XA as r, + Wo as s, + Ki as t, Qn as u, m as v, - pg as w, - Co as x, - WI as y, - ha as z + yg as w, + Ao as x, + wI as y, + Ca as z }; diff --git a/js_dist/chunks/genInfo-L1PrRwDk.js b/js_dist/chunks/genInfo-DPaWrr2W.js similarity index 99% rename from js_dist/chunks/genInfo-L1PrRwDk.js rename to js_dist/chunks/genInfo-DPaWrr2W.js index 46f9507f..8efa43da 100644 --- a/js_dist/chunks/genInfo-L1PrRwDk.js +++ b/js_dist/chunks/genInfo-DPaWrr2W.js @@ -1,4 +1,4 @@ -import { _ as nn, j as on, k as tn, A as B, l as en, m as rn, o as cn } from "./entry-DyjnHjNW.js"; +import { _ as nn, j as on, k as tn, A as B, l as en, m as rn, o as cn } from "./entry-Cn6KiPQv.js"; import { o as E, c as R, t as $, a as O, b as I, n as ln, d as z, e as j } from "./mjr-vue-vendor-DZo-ZbFS.js"; const un = { style: { display: "flex", "flex-direction": "column", gap: "10px", "margin-bottom": "14px" } }, fn = { key: 0, diff --git a/js_dist/chunks/model3dRenderer-B7QICZEL.js b/js_dist/chunks/model3dRenderer-CxixV6KF.js similarity index 87% rename from js_dist/chunks/model3dRenderer-B7QICZEL.js rename to js_dist/chunks/model3dRenderer-CxixV6KF.js index 9afb6fd3..2c926342 100644 --- a/js_dist/chunks/model3dRenderer-B7QICZEL.js +++ b/js_dist/chunks/model3dRenderer-CxixV6KF.js @@ -1,4 +1,4 @@ -import { M as s, a as o, P as D, b as t, c as M, f as d, g as l, i as E, d as r, r as i } from "./entry-DyjnHjNW.js"; +import { M as s, a as o, P as D, b as t, c as M, f as d, g as l, i as E, d as r, r as i } from "./entry-Cn6KiPQv.js"; export { s as MODEL3D_EXTS, o as MODEL3D_EXT_TO_LOADER, diff --git a/js_dist/chunks/scopes-DzaL48jb.js b/js_dist/chunks/scopes-zVIngGZC.js similarity index 99% rename from js_dist/chunks/scopes-DzaL48jb.js rename to js_dist/chunks/scopes-zVIngGZC.js index 6e5f0c7f..0d5820e1 100644 --- a/js_dist/chunks/scopes-DzaL48jb.js +++ b/js_dist/chunks/scopes-zVIngGZC.js @@ -1,4 +1,4 @@ -import { h as C } from "./entry-DyjnHjNW.js"; +import { h as C } from "./entry-Cn6KiPQv.js"; function H(t, n, o) { return 0.2126 * t + 0.7152 * n + 0.0722 * o; } diff --git a/js_dist/chunks/sideBySide-D0NSgnSp.js b/js_dist/chunks/sideBySide-B--hMG3P.js similarity index 99% rename from js_dist/chunks/sideBySide-D0NSgnSp.js rename to js_dist/chunks/sideBySide-B--hMG3P.js index 5d5e4f26..2dda3de6 100644 --- a/js_dist/chunks/sideBySide-D0NSgnSp.js +++ b/js_dist/chunks/sideBySide-B--hMG3P.js @@ -1,4 +1,4 @@ -import { i as q, n as Y, s as k } from "./entry-DyjnHjNW.js"; +import { i as q, n as Y, s as k } from "./entry-Cn6KiPQv.js"; function Z(o) { if (!o) return null; try { diff --git a/js_dist/entry.js b/js_dist/entry.js index fd555484..4536552a 100644 --- a/js_dist/entry.js +++ b/js_dist/entry.js @@ -1,2 +1,2 @@ -import "./chunks/entry-DyjnHjNW.js"; +import "./chunks/entry-Cn6KiPQv.js"; import "../../scripts/app.js"; diff --git a/mjr_am_backend/features/geninfo/api_node_extractor.py b/mjr_am_backend/features/geninfo/api_node_extractor.py index a2183067..e99d839d 100644 --- a/mjr_am_backend/features/geninfo/api_node_extractor.py +++ b/mjr_am_backend/features/geninfo/api_node_extractor.py @@ -231,7 +231,7 @@ def _provider_from_model_name(model: str) -> str | None: """Infer API provider from the model name string (secondary heuristic).""" m = model.lower() # Wan: only match when combined with "video" or "image" to avoid false positives - if "wan" in m and ("video" in m or "image" in m): + if "wan" in m: return "alibaba_wan" for keywords, provider in _MODEL_NAME_PROVIDERS: if any(kw in m for kw in keywords): @@ -528,8 +528,8 @@ def _populate_api_node_output( "width": int(width), "height": int(height), "confidence": "high", "source": source, } - except Exception: - pass + except Exception as exc: + logger.debug("size conversion failed for node %s: %s", source, exc) # Resolution string (e.g. "1080p", "720p") β€” convert to size when possible resolution = ins.get("resolution") diff --git a/mjr_am_backend/features/geninfo/prompt_tracer.py b/mjr_am_backend/features/geninfo/prompt_tracer.py index 2f53a2d7..0f38ee09 100644 --- a/mjr_am_backend/features/geninfo/prompt_tracer.py +++ b/mjr_am_backend/features/geninfo/prompt_tracer.py @@ -210,12 +210,68 @@ def _resolve_lora_stacker_node( active_loras.append(f"") return _join_text_fragments(active_loras, " ") or "" +def _resolve_text_generate_node( + nodes_by_id: dict[str, dict[str, Any]], ins: dict[str, Any], memo: set[str] +) -> str | None: + """ + TextGenerate is an LLM prompt-enhancer (e.g. Ernie Image). Its ``prompt`` + input is typically a system-prompt template processed through a chain of + StringReplace nodes that substitute ``{prompt}``, ``{width}``, ``{height}``. + + We trace the StringReplace chain upstream to extract the *original* user + prompt (the ``replace`` value whose ``find`` matches ``{prompt}``), rather + than the LLM-enhanced output. + """ + prompt_val = ins.get("prompt") + if isinstance(prompt_val, str) and prompt_val.strip(): + return prompt_val.strip() + if not _is_link(prompt_val): + return None + user_prompt = _trace_user_prompt_in_replace_chain(nodes_by_id, prompt_val, memo) + if user_prompt: + return user_prompt + return _resolve_text_value(nodes_by_id, prompt_val, memo) + + +def _trace_user_prompt_in_replace_chain( + nodes_by_id: dict[str, dict[str, Any]], link: Any, memo: set[str], max_hops: int = 10 +) -> str | None: + """ + Follow a chain of StringReplace nodes upstream from *link*. When one has a + ``find`` value containing the word ``prompt`` (e.g. ``{prompt}``), return + the resolved ``replace`` value β€” that is the user's original prompt text. + """ + current_link = link + for _ in range(max_hops): + src_id = _walk_passthrough(nodes_by_id, current_link) + if not src_id or src_id in memo: + break + node = nodes_by_id.get(src_id) + if not isinstance(node, dict): + break + ct = _lower(_node_type(node)) + if ct != "stringreplace": + break + node_ins = _inputs(node) + find_val = node_ins.get("find") + if isinstance(find_val, str) and "prompt" in find_val.lower(): + return _resolve_text_value(nodes_by_id, node_ins.get("replace"), memo | {src_id}) + string_link = node_ins.get("string") + if _is_link(string_link): + current_link = string_link + continue + break + return None + + def _resolve_composed_string_from_node( nodes_by_id: dict[str, dict[str, Any]], node: dict[str, Any], memo: set[str] ) -> str | None: ct = _lower(_node_type(node)) ins = _inputs(node) widgets = node.get("widgets_values") + if ct == "textgenerate": + return _resolve_text_generate_node(nodes_by_id, ins, memo) preview_text = _resolve_preview_text(ins) if preview_text is not None: return preview_text diff --git a/mjr_am_backend/features/index/searcher.py b/mjr_am_backend/features/index/searcher.py index d4323dc1..8739c82a 100644 --- a/mjr_am_backend/features/index/searcher.py +++ b/mjr_am_backend/features/index/searcher.py @@ -139,7 +139,14 @@ def _is_meaningful_token(token: str) -> bool: return True +_SAFE_ALIAS_RE = re.compile(r"^[a-zA-Z_][a-zA-Z0-9_.]{0,60}$") + + def _build_sort_sql(sort: str | None, *, table_alias: str = "a", rank_alias: str | None = None) -> str: + if not _SAFE_ALIAS_RE.fullmatch(table_alias): + raise ValueError(f"Unsafe table_alias: {table_alias!r}") + if rank_alias is not None and not _SAFE_ALIAS_RE.fullmatch(rank_alias): + raise ValueError(f"Unsafe rank_alias: {rank_alias!r}") key = _normalize_sort_key(sort) if key == "name_asc": return f"ORDER BY LOWER({table_alias}.filename) ASC, {table_alias}.id DESC" @@ -842,6 +849,7 @@ class IndexSearcher: # _BROWSE_COUNT_TTL seconds. self._browse_count_cache: dict[str, tuple[float, int]] = {} self._BROWSE_COUNT_TTL = 5.0 # seconds + self._BROWSE_COUNT_CACHE_MAX = 128 async def ensure_vocab(self): """Ensure FTS5 vocab table exists for autocomplete.""" @@ -1023,6 +1031,13 @@ class IndexSearcher: count_result = await self.db.aquery(count_sql, tuple(count_params)) total = count_result.data[0]["total"] if count_result.ok and count_result.data else 0 self._browse_count_cache[cache_key] = (now, total) + # Evict oldest entries when the cache grows beyond the bound. + if len(self._browse_count_cache) > self._BROWSE_COUNT_CACHE_MAX: + try: + oldest_key = min(self._browse_count_cache, key=lambda k: self._browse_count_cache[k][0]) + del self._browse_count_cache[oldest_key] + except Exception: # pragma: no cover + pass return Result.Ok({"rows": rows, "total": total}) async def _search_global_fts_rows( diff --git a/mjr_am_backend/features/index/watcher.py b/mjr_am_backend/features/index/watcher.py index 9728d1fe..52f3b742 100644 --- a/mjr_am_backend/features/index/watcher.py +++ b/mjr_am_backend/features/index/watcher.py @@ -161,6 +161,8 @@ class DebouncedWatchHandler(FileSystemEventHandler): concurrency = max(1, flush_concurrency or 1) self._flush_semaphore = asyncio.Semaphore(concurrency) self._last_pending_warning = 0.0 + self._last_overflow_drop_warning = 0.0 + self._dropped_count = 0 self._refresh_runtime_settings() def _is_ignored_path(self, path: str) -> bool: @@ -246,6 +248,22 @@ class DebouncedWatchHandler(FileSystemEventHandler): pass self._last_pending_warning = now + def _maybe_log_overflow_drop(self, path: str) -> None: + now = time.time() + if (now - self._last_overflow_drop_warning) < _PENDING_LIMIT_WARN_INTERVAL: + return + try: + logger.warning( + "Watcher overflow queue full (%d); file dropped: %s (total dropped: %d). " + "Files will be picked up on next scan.", + _MAX_PENDING_FILES, + path, + self._dropped_count, + ) + except Exception: + pass + self._last_overflow_drop_warning = now + def on_created(self, event): if isinstance(event, DirCreatedEvent): return @@ -301,6 +319,9 @@ class DebouncedWatchHandler(FileSystemEventHandler): # pending stays full and events arrive faster than they are flushed. if key not in self._overflow and len(self._overflow) < _MAX_PENDING_FILES: self._overflow[key] = now + elif key not in self._overflow: + self._dropped_count += 1 + self._maybe_log_overflow_drop(path) self._maybe_log_pending_limit(path) self._schedule_flush() return @@ -440,10 +461,19 @@ class DebouncedWatchHandler(FileSystemEventHandler): def _requeue_failed_files(self, files: list[str]) -> None: """Re-queue files that the index callback failed to process into overflow.""" now = time.time() + dropped = 0 with self._lock: for f in files: if _MAX_PENDING_FILES <= 0 or len(self._overflow) < _MAX_PENDING_FILES: self._overflow[f] = now + else: + dropped += 1 + if dropped: + logger.warning( + "Watcher: %d failed files could not be re-queued (overflow full at %d)", + dropped, + _MAX_PENDING_FILES, + ) def _requeue_runtime_deferred_files(self, files: list[str]) -> None: now = time.time() diff --git a/mjr_am_backend/routes/handlers/scan.py b/mjr_am_backend/routes/handlers/scan.py index 861a27ce..d3d7e199 100644 --- a/mjr_am_backend/routes/handlers/scan.py +++ b/mjr_am_backend/routes/handlers/scan.py @@ -1107,7 +1107,7 @@ def register_scan_routes(routes: web.RouteTableDef) -> None: (row_job_id, asset_id), ) restack_job_ids.add(row_job_id) - + # Propagate job_id to base video/audio files from suffixed siblings (e.g. -audio.mp4) for row in sibling_rows: filename_value = row.get("filename") or "" @@ -1186,6 +1186,10 @@ def register_scan_routes(routes: web.RouteTableDef) -> None: except Exception as ex: logger.debug("Failed to assign node provenance: %s", ex) + if restack_job_ids: + await _finalize_indexed_execution_stacks(svc, restack_job_ids) + restack_job_ids.clear() + if gen_time_by_id: try: payloads_by_id: dict[int, dict[str, Any]] = {} diff --git a/nodes.py b/nodes.py index 1045d521..7a9973a1 100644 --- a/nodes.py +++ b/nodes.py @@ -585,6 +585,6 @@ NODE_CLASS_MAPPINGS: dict[str, type] = { } NODE_DISPLAY_NAME_MAPPINGS: dict[str, str] = { - "MajoorSaveImage": "Majoor Save Image πŸ’Ύ", - "MajoorSaveVideo": "Majoor Save Video 🎬", + "MajoorSaveImage": "〽️ Majoor Save Image πŸ’Ύ", + "MajoorSaveVideo": "〽️ Majoor Save Video 🎬", } diff --git a/tests/features/test_api_node_extractor.py b/tests/features/test_api_node_extractor.py new file mode 100644 index 00000000..d672c131 --- /dev/null +++ b/tests/features/test_api_node_extractor.py @@ -0,0 +1,355 @@ +from mjr_am_backend.features.geninfo import api_node_extractor as x +from mjr_am_backend.features.geninfo import parser_impl as p + +# --------------------------------------------------------------------------- +# Detection helpers +# --------------------------------------------------------------------------- + +def test_detect_api_node_known_providers(): + assert x._detect_api_node("geminiimagenode") == "google_gemini" + assert x._detect_api_node("openaiimagenode") == "openai" + assert x._detect_api_node("claudenode") == "anthropic" + assert x._detect_api_node("bytedanceseedancenode") == "bytedance_seedance" + assert x._detect_api_node("klingtexttovideo") == "kling_ai" + assert x._detect_api_node("lumaimagetovideo") == "luma_dream_machine" + assert x._detect_api_node("minimaxhailuo") == "minimax_hailuo" + assert x._detect_api_node("runwayimagetovideo") == "runway" + assert x._detect_api_node("vidutexttovideo") == "vidu" + assert x._detect_api_node("moonvalleytxt2video") == "moonvalley" + assert x._detect_api_node("pixversetexttovideo") == "pixverse" + assert x._detect_api_node("ideogramv2") == "ideogram" + assert x._detect_api_node("recraftv4") == "recraft" + assert x._detect_api_node("grokimage") == "xai_grok" + assert x._detect_api_node("ltxvapitext") == "ltxv_api" + assert x._detect_api_node("elevenlabstextto") == "eleven_labs" + assert x._detect_api_node("wan2texttovideoapi") == "alibaba_wan" + assert x._detect_api_node("fluxkontext") == "black_forest_labs" + assert x._detect_api_node("stabilitystableimage") == "stability_ai" + assert x._detect_api_node("unknownnode") is None + + +def test_detect_api_node_specificity_order(): + # More specific fragments must match before the broad catch-all + assert x._detect_api_node("bytedanceseedream") == "bytedance_seedance" + assert x._detect_api_node("bytedance2referencenode") == "bytedance_seedance" + assert x._detect_api_node("geminiimage2node") == "google_gemini" + assert x._detect_api_node("veo3videogeneration") == "google_veo" + + +def test_provider_from_model_name(): + assert x._provider_from_model_name("seedance-2.0-pro") == "bytedance_seedance" + assert x._provider_from_model_name("gemini-2.0-flash") == "google_gemini" + assert x._provider_from_model_name("veo-3") == "google_veo" + assert x._provider_from_model_name("gpt-4o") == "openai" + assert x._provider_from_model_name("dall-e-3") == "openai" + assert x._provider_from_model_name("claude-3-opus") == "anthropic" + assert x._provider_from_model_name("flux-kontext-pro") == "black_forest_labs" + assert x._provider_from_model_name("stable-diffusion-xl") == "stability_ai" + assert x._provider_from_model_name("wan-2.1") == "alibaba_wan" + assert x._provider_from_model_name("kling-v2") == "kling_ai" + assert x._provider_from_model_name("luma-dream-machine") == "luma_dream_machine" + assert x._provider_from_model_name("minimax-01") == "minimax_hailuo" + assert x._provider_from_model_name("runway-gen3") == "runway" + assert x._provider_from_model_name("vidu-q1") == "vidu" + assert x._provider_from_model_name("ideogram-v3") == "ideogram" + assert x._provider_from_model_name("recraft-v3") == "recraft" + assert x._provider_from_model_name("grok-aurora") == "xai_grok" + assert x._provider_from_model_name("pixverse-v4") == "pixverse" + assert x._provider_from_model_name("unknown-model-xyz") is None + + +def test_provider_from_model_name_wan_no_media_type_required(): + # Wan provider must be detected even without "video" or "image" in name + assert x._provider_from_model_name("wan-2.1-14b") == "alibaba_wan" + assert x._provider_from_model_name("wanx-turbo") == "alibaba_wan" + + +# --------------------------------------------------------------------------- +# Node classification +# --------------------------------------------------------------------------- + +def test_is_api_image_node_known_class_type(): + node = {"class_type": "GeminiImageNode", "inputs": {}} + assert x._is_api_image_node(node) is True + + +def test_is_api_image_node_heuristic_fallback(): + node = { + "class_type": "CustomExternalGen", + "inputs": {"prompt": "a cat", "model": "custom-v1"}, + } + assert x._is_api_image_node(node) is True + + +def test_is_api_image_node_heuristic_rejects_sampler_node(): + node = { + "class_type": "CustomSampler", + "inputs": {"prompt": "a cat", "model": "v1", "cfg": 7.5, "steps": 20}, + } + assert x._is_api_image_node(node) is False + + +def test_is_api_image_node_rejects_non_api(): + node = {"class_type": "CLIPTextEncode", "inputs": {"text": "hello"}} + assert x._is_api_image_node(node) is False + + +# --------------------------------------------------------------------------- +# Field extraction helpers +# --------------------------------------------------------------------------- + +def test_extract_api_node_prompt_priority(): + assert x._extract_api_node_prompt({"prompt": "a cat"}) == "a cat" + assert x._extract_api_node_prompt({"text": "a dog"}) == "a dog" + assert x._extract_api_node_prompt({"positive_prompt": "sun"}) == "sun" + assert x._extract_api_node_prompt({}) is None + assert x._extract_api_node_prompt({"prompt": " "}) is None + + +def test_extract_api_node_negative(): + assert x._extract_api_node_negative({"negative_prompt": "blur"}) == "blur" + assert x._extract_api_node_negative({"negative": "ugly"}) == "ugly" + assert x._extract_api_node_negative({}) is None + + +def test_extract_api_node_model(): + node = {"class_type": "GeminiImageNode"} + m = x._extract_api_node_model({"model": "gemini-2.0-flash"}, "1", node) + assert m is not None + assert m["name"] == "gemini-2.0-flash" + assert m["confidence"] == "high" + assert x._extract_api_node_model({}, "1", node) is None + assert x._extract_api_node_model({"model": " "}, "1", node) is None + + +def test_extract_api_system_prompt(): + assert x._extract_api_system_prompt({"system_prompt": "be concise"}) == "be concise" + assert x._extract_api_system_prompt({"system": "you are helpful"}) == "you are helpful" + assert x._extract_api_system_prompt({}) is None + + +# --------------------------------------------------------------------------- +# Engine type refinement +# --------------------------------------------------------------------------- + +def test_refine_engine_type_txt2img(): + out = {"engine": {"type": "txt2img"}} + x._refine_engine_type(out, "openaitexttoimageapi", {}) + assert out["engine"]["type"] == "txt2img" + + +def test_refine_engine_type_img2vid(): + out = {"engine": {"type": "txt2vid"}} + x._refine_engine_type(out, "klingimagetovideo", {}) + assert out["engine"]["type"] == "img2vid" + + +def test_refine_engine_type_img2vid_from_video_with_image_input(): + out = {"engine": {"type": "txt2vid"}} + x._refine_engine_type(out, "somevideogen", {"image": ["1", 0]}) + assert out["engine"]["type"] == "img2vid" + + +def test_refine_engine_type_txt2vid_from_video_no_image_input(): + out = {"engine": {"type": "txt2img"}} + x._refine_engine_type(out, "somevideogen", {"prompt": "a sunset"}) + assert out["engine"]["type"] == "txt2vid" + + +def test_refine_engine_type_audio(): + out = {"engine": {"type": "txt2img"}} + x._refine_engine_type(out, "sonilotexttomusic", {}) + assert out["engine"]["type"] == "audio" + + +# --------------------------------------------------------------------------- +# Seedance helpers +# --------------------------------------------------------------------------- + +def test_seedance_size_from_resolution(): + assert x._seedance_size_from_resolution("720p") == (1280, 720) + assert x._seedance_size_from_resolution("1080p") == (1920, 1080) + assert x._seedance_size_from_resolution("480p") == (854, 480) + assert x._seedance_size_from_resolution("4k") == (3840, 2160) + assert x._seedance_size_from_resolution("360p") is None + + +def test_seedance_media_type_txt2vid(): + assert x._seedance_media_type({"prompt": "a cat"}) == "txt2vid" + + +def test_seedance_media_type_img2vid(): + ins = {"model.reference_images": ["1", 0]} + assert x._seedance_media_type(ins) == "img2vid" + + +# --------------------------------------------------------------------------- +# Full fallback entry-point +# --------------------------------------------------------------------------- + +def _make_gemini_nodes(prompt="a golden retriever in sunlight", model="gemini-2.0-flash-preview-image-generation"): + return { + "1": { + "class_type": "GeminiImageNode", + "inputs": {"prompt": prompt, "model": model, "seed": 42}, + }, + "2": {"class_type": "SaveImage", "inputs": {"images": ["1", 0]}}, + } + + +def test_extract_api_node_geninfo_fallback_basic(): + nodes = _make_gemini_nodes() + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["positive"]["value"] == "a golden retriever in sunlight" + assert result["engine"]["api_provider"] == "google_gemini" + assert result["engine"]["sampler_mode"] == "api" + assert result["checkpoint"]["name"] == "gemini-2.0-flash-preview-image-generation" + assert result["seed"]["value"] == 42 + + +def test_extract_api_node_geninfo_fallback_no_api_nodes(): + nodes = { + "1": {"class_type": "CLIPTextEncode", "inputs": {"text": "hello"}}, + } + assert x._extract_api_node_geninfo_fallback(nodes, None) is None + + +def test_extract_api_node_geninfo_fallback_returns_none_if_no_meaningful_fields(): + # Node is detected as API type but has no extractable data + nodes = {"1": {"class_type": "GeminiImageNode", "inputs": {}}} + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is None + + +def test_extract_api_node_geninfo_fallback_with_workflow_meta(): + nodes = _make_gemini_nodes() + meta = {"title": "Test Workflow"} + result = x._extract_api_node_geninfo_fallback(nodes, meta) + assert result is not None + assert result.get("metadata") == meta + + +def test_extract_api_node_geninfo_fallback_multiple_nodes(): + nodes = { + "1": { + "class_type": "GeminiImageNode", + "inputs": {"prompt": "first prompt", "model": "gemini-2.0"}, + }, + "2": { + "class_type": "OpenAIImageNode", + "inputs": {"prompt": "second prompt", "model": "dall-e-3"}, + }, + "3": {"class_type": "SaveImage", "inputs": {"images": ["1", 0]}}, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + extra = result.get("extra_api_passes", []) + assert len(extra) == 1 + assert extra[0]["positive"]["value"] == "second prompt" + + +def test_extract_api_node_geninfo_fallback_openai(): + nodes = { + "1": { + "class_type": "OpenAIImageNode", + "inputs": {"prompt": "a serene mountain lake", "model": "gpt-image-1", "seed": 7}, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["engine"]["api_provider"] == "openai" + assert result["positive"]["value"] == "a serene mountain lake" + + +def test_extract_api_node_geninfo_fallback_seedance_dotted_keys(): + nodes = { + "1": { + "class_type": "ByteDanceSeedanceNode", + "inputs": { + "model": "Seedance 2.0", + "model.prompt": "cinematic ocean sunset", + "model.negative_prompt": "blur, noisy", + "model.resolution": "1080p", + "model.duration": 5, + "seed": 99, + }, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["engine"]["api_provider"] == "bytedance_seedance" + assert result["positive"]["value"] == "cinematic ocean sunset" + assert result["negative"]["value"] == "blur, noisy" + assert result["size"]["width"] == 1920 + assert result["seed"]["value"] == 99 + + +def test_extract_api_node_geninfo_fallback_with_negative_prompt(): + nodes = { + "1": { + "class_type": "StabilityStableImage", + "inputs": { + "prompt": "portrait of a warrior", + "negative_prompt": "ugly, deformed", + "model": "stable-diffusion-xl-1024-v1-0", + }, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["negative"]["value"] == "ugly, deformed" + + +def test_extract_api_node_geninfo_fallback_size_from_width_height(): + nodes = { + "1": { + "class_type": "RecraftV4", + "inputs": {"prompt": "abstract art", "model": "recraft-v3", "width": 1024, "height": 768}, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["size"]["width"] == 1024 + assert result["size"]["height"] == 768 + + +def test_extract_api_node_geninfo_fallback_wan_provider(): + nodes = { + "1": { + "class_type": "Wan2TextToVideoAPI", + "inputs": {"prompt": "a butterfly emerging from cocoon", "model": "wan-2.1"}, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result["engine"]["api_provider"] == "alibaba_wan" + + +def test_extract_api_node_geninfo_fallback_aspect_ratio(): + nodes = { + "1": { + "class_type": "KlingTextToVideo", + "inputs": {"prompt": "flying eagle", "model": "kling-v2", "aspect_ratio": "16:9"}, + }, + } + result = x._extract_api_node_geninfo_fallback(nodes, None) + assert result is not None + assert result.get("aspect_ratio", {}).get("value") == "16:9" + + +def test_extract_api_node_geninfo_fallback_full_integration_via_parser(): + """End-to-end: parse_geninfo_from_prompt must surface API node data when no sampler present.""" + nodes = { + "1": { + "class_type": "GeminiImageNode", + "inputs": {"prompt": "a red fox in a snowy forest", "model": "gemini-2.0-flash", "seed": 12}, + }, + "2": {"class_type": "SaveImage", "inputs": {"images": ["1", 0]}}, + } + res = p.parse_geninfo_from_prompt(nodes) + assert res.ok + data = res.data + assert isinstance(data, dict) + assert data.get("positive", {}).get("value") == "a red fox in a snowy forest" + assert data.get("engine", {}).get("api_provider") == "google_gemini" diff --git a/tests/features/test_geninfo_parser_impl_more.py b/tests/features/test_geninfo_parser_impl_more.py index ebea1c46..cb227be9 100644 --- a/tests/features/test_geninfo_parser_impl_more.py +++ b/tests/features/test_geninfo_parser_impl_more.py @@ -278,6 +278,117 @@ def test_resolve_scalar_from_string_replace(): assert p._resolve_scalar_from_link(nodes, ["2", 0]) == "cinematic portrait of a woman" +def test_ernie_image_turbo_real_graph_extracts_original_prompt(): + """Real Ernie Image Turbo subgraph: TextGenerate enhances the user prompt + via a chain of StringReplace nodes feeding a system-prompt template. + The parser must extract the *original* user prompt, not the LLM-enhanced text.""" + user_prompt = "A stylized cinematic portrait of a woman at twilight" + nodes = { + "88:93": { + "class_type": "StringReplace", + "inputs": { + "string": '[SYSTEM_PROMPT]You are a prompt enhancer.[/SYSTEM_PROMPT][INST]{{"prompt": "{prompt}", "width": {width}, "height": {height}}}[/INST]', + "find": "{prompt}", + "replace": ["88:94", 0], + }, + }, + "88:94": { + "class_type": "PrimitiveStringMultiline", + "inputs": {"value": user_prompt}, + }, + "88:99": { + "class_type": "PreviewAny", + "inputs": {"preview_text": "1024", "source": 1024}, + }, + "88:100": { + "class_type": "PreviewAny", + "inputs": {"preview_text": "1024", "source": 1024}, + }, + "88:101": { + "class_type": "StringReplace", + "inputs": {"string": ["88:93", 0], "find": "{width}", "replace": ["88:99", 0]}, + }, + "88:102": { + "class_type": "StringReplace", + "inputs": {"string": ["88:101", 0], "find": "{height}", "replace": ["88:100", 0]}, + }, + "88:95": { + "class_type": "TextGenerate", + "inputs": {"prompt": ["88:102", 0], "max_length": 2048, "clip": ["88:98", 0]}, + }, + "88:96": {"class_type": "PrimitiveBoolean", "inputs": {"value": True}}, + "88:97": { + "class_type": "ComfySwitchNode", + "inputs": {"switch": ["88:96", 0], "on_false": ["88:94", 0], "on_true": ["88:95", 0]}, + }, + "88:103": { + "class_type": "PreviewAny", + "inputs": { + "source": ["88:95", 0], + "preview_text": "Enhanced Chinese LLM description of the image", + }, + }, + "88:67": { + "class_type": "CLIPTextEncode", + "inputs": {"text": ["88:97", 0], "clip": ["88:62", 0]}, + }, + "88:62": { + "class_type": "CLIPLoader", + "inputs": {"clip_name": "ministral-3-3b.safetensors", "type": "flux2"}, + }, + "88:91": { + "class_type": "ConditioningZeroOut", + "inputs": {"conditioning": ["88:67", 0]}, + }, + "88:66": { + "class_type": "UNETLoader", + "inputs": {"unet_name": "ernie-image-turbo.safetensors"}, + }, + "88:63": {"class_type": "VAELoader", "inputs": {"vae_name": "flux2-vae.safetensors"}}, + "88:71": { + "class_type": "EmptyFlux2LatentImage", + "inputs": {"width": 1024, "height": 1024, "batch_size": 1}, + }, + "88:70": { + "class_type": "KSampler", + "inputs": { + "seed": 42, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0, + "model": ["88:66", 0], + "positive": ["88:67", 0], + "negative": ["88:91", 0], + "latent_image": ["88:71", 0], + }, + }, + "88:65": { + "class_type": "VAEDecode", + "inputs": {"samples": ["88:70", 0], "vae": ["88:63", 0]}, + }, + "88:98": { + "class_type": "CLIPLoader", + "inputs": {"clip_name": "ernie-image-prompt-enhancer.safetensors", "type": "flux2"}, + }, + "104": { + "class_type": "SaveImage", + "inputs": {"filename_prefix": "output", "images": ["88:65", 0]}, + }, + } + + res = p.parse_geninfo_from_prompt(nodes) + assert res.ok + data = res.data + assert isinstance(data, dict) + pos = data.get("positive", {}) + assert pos.get("value") == user_prompt + # Negative is ConditioningZeroOut β€” no text expected. + neg = data.get("negative", {}) + assert not neg.get("value") + + def test_prompt_extracted_through_ernie_switch_and_preview_any_output(): nodes = { "1": {"class_type": "PrimitiveStringMultiline", "inputs": {"value": "portrait of a woman at dusk"}}, @@ -328,7 +439,7 @@ def test_prompt_extracted_through_ernie_switch_and_preview_any_output(): data = res.data assert isinstance(data, dict) pos = data.get("positive", {}) - assert pos.get("value") == "A cinematic side-profile portrait of a woman at dusk with dramatic neon rim lighting." + assert pos.get("value") == "portrait of a woman at dusk" def test_parse_geninfo_supports_pysssss_string_function_append():