From 235f76a12404936ee24b2260a2d9d12f9a744e90 Mon Sep 17 00:00:00 2001 From: Zetaphor Date: Wed, 5 Aug 2026 22:29:38 -0500 Subject: [PATCH] Populating metadata --- background.js | 255 +++++++++++++++++++++++++++++++++++++++++----- content-script.js | 218 ++++++++++++++++++++++++++++++++++++++- history.css | 9 ++ history.js | 27 ++++- logo.png | Bin 0 -> 121672 bytes popup.css | 9 ++ popup.js | 25 ++++- 7 files changed, 508 insertions(+), 35 deletions(-) create mode 100644 logo.png diff --git a/background.js b/background.js index 53000d2..d31a53b 100644 --- a/background.js +++ b/background.js @@ -10,6 +10,8 @@ const WAVEFORM_PATH_RE = /\.wv\.json$/i; const SCRAMBLED_PATH_RE = /-scrambled\//i; const HASH_RE = /^[a-f0-9]{64}$/i; const GRAPHQL_URL = "https://surfaces-graphql.splice.com/graphql"; +const DEBUG_TRACE = true; +const DEBUG_TRACE_MARKER = "S3DBG_MAPTRACE_V1"; function isDomainAllowed(pageUrl) { return typeof pageUrl === "string" && SPLICE_DOMAIN_RE.test(pageUrl); @@ -75,6 +77,28 @@ function normalizeUrl(url) { } } +function normalizeName(value) { + return typeof value === "string" ? value.trim().toLowerCase() : ""; +} + +function debugMapTrace(stage, entry) { + if (!DEBUG_TRACE) { + return; + } + const safe = entry && typeof entry === "object" ? entry : {}; + console.debug(DEBUG_TRACE_MARKER, stage, { + sampleId: safe.sampleId || "", + fileName: safe.fileName || "", + key: safe.key || "", + bpm: safe.bpm || "", + tagsCount: Array.isArray(safe.tags) ? safe.tags.length : 0, + coverImageUrl: safe.coverImageUrl || "", + previewUrl: safe.previewUrl || "", + fullUrl: safe.fullUrl || "", + source: safe.source || "" + }); +} + function extractSampleIdFromUrl(url) { try { const parsed = new URL(url); @@ -128,7 +152,8 @@ function maybeClearTabState(tabId) { } } -function mergeEntry(tabState, inputEntry, source) { +function mergeEntry(tabState, inputEntry, source, options) { + const setLatest = !options || options.setLatest !== false; const sampleId = inputEntry.sampleId || extractSampleIdFromUrl(inputEntry.previewUrl || inputEntry.fullUrl || ""); if (!sampleId) { return null; @@ -138,6 +163,11 @@ function mergeEntry(tabState, inputEntry, source) { sampleId, previewUrl: "", fullUrl: "", + fileName: "", + key: "", + bpm: "", + tags: [], + coverImageUrl: "", source: source || "unknown", capturedAt: Date.now() }; @@ -158,9 +188,26 @@ function mergeEntry(tabState, inputEntry, source) { } else if (!merged.fullUrl && FULL_URL_BY_SAMPLE.has(sampleId)) { merged.fullUrl = FULL_URL_BY_SAMPLE.get(sampleId); } + if (inputEntry.fileName) { + merged.fileName = String(inputEntry.fileName).trim(); + } + if (typeof inputEntry.key === "string" && inputEntry.key.trim()) { + merged.key = inputEntry.key.trim(); + } + if (typeof inputEntry.bpm === "string" && inputEntry.bpm.trim()) { + merged.bpm = inputEntry.bpm.trim(); + } + if (Array.isArray(inputEntry.tags) && inputEntry.tags.length) { + merged.tags = Array.from(new Set(inputEntry.tags.map((x) => String(x).trim()).filter(Boolean))); + } + if (typeof inputEntry.coverImageUrl === "string" && inputEntry.coverImageUrl.trim()) { + merged.coverImageUrl = inputEntry.coverImageUrl.trim(); + } tabState.entriesBySample.set(sampleId, merged); - tabState.latestSampleId = sampleId; + if (setLatest) { + tabState.latestSampleId = sampleId; + } return merged; } @@ -176,12 +223,28 @@ function upsertPreviewContext(tabId, context, source) { } return mergeEntry( tabState, - { sampleId, previewUrl, fullUrl: context.fullUrl ? normalizeUrl(context.fullUrl) : "" }, - source || "graphql_preview" + { + sampleId, + previewUrl, + fullUrl: context.fullUrl ? normalizeUrl(context.fullUrl) : "", + fileName: context.fileName || "", + key: context.key || "", + bpm: context.bpm || "", + tags: Array.isArray(context.tags) ? context.tags : [], + coverImageUrl: context.coverImageUrl || "" + }, + source || "graphql_preview", + { setLatest: false } ); } function upsertUrl(tabId, url, source) { + const sourceTag = source && typeof source === "object" ? source.tag || "" : source || ""; + const sourceFileName = source && typeof source === "object" ? source.fileName || "" : ""; + const sourceKey = source && typeof source === "object" ? source.key || "" : ""; + const sourceBpm = source && typeof source === "object" ? source.bpm || "" : ""; + const sourceTags = source && typeof source === "object" && Array.isArray(source.tags) ? source.tags : []; + const sourceCoverImageUrl = source && typeof source === "object" ? source.coverImageUrl || "" : ""; const normalized = normalizeUrl(url); if (!normalized || !isAudioSampleUrl(normalized) || isWaveformUrl(normalized)) { return null; @@ -195,11 +258,16 @@ function upsertUrl(tabId, url, source) { const entry = { sampleId, previewUrl: isPreviewUrl(normalized) ? normalized : "", - fullUrl: isFullUrl(normalized) ? normalized : "" + fullUrl: isFullUrl(normalized) ? normalized : "", + fileName: sourceFileName, + key: sourceKey, + bpm: sourceBpm, + tags: sourceTags, + coverImageUrl: sourceCoverImageUrl }; if (typeof tabId === "number" && tabId >= 0) { - return mergeEntry(ensureTabState(tabId), entry, source); + return mergeEntry(ensureTabState(tabId), entry, sourceTag); } if (entry.fullUrl) { @@ -216,14 +284,32 @@ async function appendHistoryRows(rows) { const data = await browser.storage.local.get(HISTORY_KEY); const current = Array.isArray(data[HISTORY_KEY]) ? data[HISTORY_KEY] : []; const combined = [...current]; - const seen = new Set(current.map((item) => `${item.sampleId}|${item.url}`)); + const seenMap = new Map(); + current.forEach((item, idx) => { + seenMap.set(`${item.sampleId}|${item.url}`, idx); + }); for (const row of rows) { const key = `${row.sampleId}|${row.url}`; - if (!row.url || seen.has(key)) { + if (!row.url) { continue; } - seen.add(key); + if (seenMap.has(key)) { + const existingIdx = seenMap.get(key); + const existing = combined[existingIdx] || {}; + const hasCoverImageUrl = Object.prototype.hasOwnProperty.call(row, "coverImageUrl"); + combined[existingIdx] = { + ...existing, + ...row, + fileName: row.fileName || existing.fileName || "", + key: row.key || existing.key || "", + bpm: row.bpm || existing.bpm || "", + tags: Array.isArray(row.tags) && row.tags.length ? row.tags : (existing.tags || []), + coverImageUrl: hasCoverImageUrl ? String(row.coverImageUrl || "") : (existing.coverImageUrl || "") + }; + continue; + } + seenMap.set(key, combined.length); combined.push(row); } @@ -236,6 +322,11 @@ async function appendDownloadHistory(entry, result) { sampleId: resolvedEntry.sampleId || "", previewUrl: resolvedEntry.previewUrl || "", fullUrl: resolvedEntry.fullUrl || "", + fileName: resolvedEntry.fileName || "", + key: resolvedEntry.key || "", + bpm: resolvedEntry.bpm || "", + tags: Array.isArray(resolvedEntry.tags) ? resolvedEntry.tags : [], + coverImageUrl: resolvedEntry.coverImageUrl || "", url: result.historyUrl || resolvedEntry.fullUrl || "", source: result.mode === "full" ? "full_download" : "decoded_preview", capturedAt: Date.now(), @@ -253,6 +344,11 @@ function makeDecodedPlaceholderRow(entry, source) { sampleId, previewUrl: entry.previewUrl || "", fullUrl: entry.fullUrl || "", + fileName: entry.fileName || "", + key: entry.key || "", + bpm: entry.bpm || "", + tags: Array.isArray(entry.tags) ? entry.tags : [], + coverImageUrl: entry.coverImageUrl || "", url: `decoded://${sampleId}`, source: source || entry.source || "captured_preview", capturedAt: entry.capturedAt || Date.now(), @@ -293,14 +389,28 @@ function decodeSpliceAudio(data) { } function deriveFilename(entry, mode) { - const base = entry.sampleId || `splice-${Date.now()}`; + const sampleBase = entry.sampleId || `splice-${Date.now()}`; + const rawName = typeof entry.fileName === "string" ? entry.fileName.trim() : ""; + const cleanName = rawName ? rawName.replace(/[<>:"/\\|?*\u0000-\u001f]/g, "_") : ""; + const hasExt = cleanName.lastIndexOf(".") > 0; + const stem = hasExt ? cleanName.slice(0, cleanName.lastIndexOf(".")) : cleanName; + const ext = hasExt ? cleanName.slice(cleanName.lastIndexOf(".")).toLowerCase() : ""; + + const safeStem = stem || sampleBase; if (mode === "full") { - const full = entry.fullUrl || ""; - if (full.endsWith(".wav") || full.includes(".wav?")) { - return `${base}.wav`; + if (ext === ".wav" || ext === ".mp3" || ext === ".aif" || ext === ".aiff" || ext === ".flac") { + return `${safeStem}${ext}`; } + const full = (entry.fullUrl || "").toLowerCase(); + if (full.endsWith(".wav") || full.includes(".wav?")) { + return `${safeStem}.wav`; + } + if (full.endsWith(".mp3") || full.includes(".mp3?")) { + return `${safeStem}.mp3`; + } + return `${safeStem}.wav`; } - return `${base}-decoded.mp3`; + return `${safeStem}_decoded.mp3`; } async function downloadDirectUrl(url, entry) { @@ -421,7 +531,12 @@ function findEntryInTabStates(sampleId) { return { sampleId: entry.sampleId || sampleId, previewUrl: normalizeUrl(entry.previewUrl || ""), - fullUrl: normalizeUrl(entry.fullUrl || "") + fullUrl: normalizeUrl(entry.fullUrl || ""), + fileName: entry.fileName || "", + key: entry.key || "", + bpm: entry.bpm || "", + tags: Array.isArray(entry.tags) ? entry.tags : [], + coverImageUrl: entry.coverImageUrl || "" }; } } @@ -439,7 +554,16 @@ async function hydrateEntryFromHistory(sampleId) { const previewUrl = normalizeUrl(row.previewUrl || ""); const fullUrl = normalizeUrl(row.fullUrl || ""); if (previewUrl || fullUrl) { - return { sampleId, previewUrl, fullUrl }; + return { + sampleId, + previewUrl, + fullUrl, + fileName: row.fileName || "", + key: row.key || "", + bpm: row.bpm || "", + tags: Array.isArray(row.tags) ? row.tags : [], + coverImageUrl: row.coverImageUrl || "" + }; } } return null; @@ -451,7 +575,12 @@ async function resolveAndDownloadEntry(entryInput) { let normalizedEntry = { sampleId, previewUrl: normalizeUrl(entry.previewUrl || ""), - fullUrl: normalizeUrl(entry.fullUrl || "") + fullUrl: normalizeUrl(entry.fullUrl || ""), + fileName: entry.fileName || "", + key: entry.key || "", + bpm: entry.bpm || "", + tags: Array.isArray(entry.tags) ? entry.tags : [], + coverImageUrl: entry.coverImageUrl || "" }; if (normalizedEntry.sampleId && !normalizedEntry.previewUrl && !normalizedEntry.fullUrl) { @@ -499,6 +628,11 @@ function serializeEntry(entry) { sampleId: entry.sampleId || "", previewUrl: entry.previewUrl || "", fullUrl: entry.fullUrl || "", + fileName: entry.fileName || "", + key: entry.key || "", + bpm: entry.bpm || "", + tags: Array.isArray(entry.tags) ? entry.tags : [], + coverImageUrl: entry.coverImageUrl || "", source: entry.source || "", capturedAt: entry.capturedAt || Date.now() }; @@ -526,26 +660,33 @@ browser.runtime.onMessage.addListener((message, sender) => { } const contexts = Array.isArray(message.contexts) ? message.contexts : []; - const rows = []; for (const context of contexts) { const merged = upsertPreviewContext(tabId, context, "graphql_preview"); if (merged) { - const row = makeDecodedPlaceholderRow(merged, "graphql_preview"); - if (row) { - rows.push(row); - } + debugMapTrace("CAPTURE_PREVIEW_CONTEXT_MERGED", merged); } } - return appendHistoryRows(rows).then(() => ({ ok: true, added: contexts.length })); + return Promise.resolve({ ok: true, added: contexts.length }); } if (message.type === "CAPTURE_URLS") { const tabId = tabIdFromSender(sender); const urls = Array.isArray(message.urls) ? message.urls : []; + const canAttachPlaybackMeta = urls.length === 1; const rows = []; for (const raw of urls) { - const merged = upsertUrl(tabId, raw, message.source || "network_preview"); - if (merged && merged.previewUrl) { + const merged = upsertUrl(tabId, raw, { + tag: message.source || "network_preview", + fileName: canAttachPlaybackMeta ? (message.fileName || "") : "", + key: "", + bpm: "", + tags: [], + coverImageUrl: "" + }); + if (merged) { + debugMapTrace("CAPTURE_URLS_MERGED", merged); + } + if (merged && merged.previewUrl && canAttachPlaybackMeta) { const row = makeDecodedPlaceholderRow(merged, message.source || "network_preview"); if (row) { rows.push(row); @@ -597,6 +738,70 @@ browser.runtime.onMessage.addListener((message, sender) => { .catch((error) => ({ ok: false, error: error.message || "Download failed." })); } + if (message.type === "UPDATE_ACTIVE_PLAYBACK_META" || message.type === "UPDATE_ACTIVE_FILENAME") { + const tabId = tabIdFromSender(sender); + const state = TAB_CAPTURED.get(tabId); + if (!state || !state.latestSampleId) { + return Promise.resolve({ ok: false }); + } + const latest = state.entriesBySample.get(state.latestSampleId); + if (!latest) { + return Promise.resolve({ ok: false }); + } + const fileName = typeof message.fileName === "string" ? message.fileName.trim() : ""; + const key = typeof message.key === "string" ? message.key.trim() : ""; + const bpm = typeof message.bpm === "string" ? message.bpm.trim() : ""; + const tags = Array.isArray(message.tags) ? message.tags.map((x) => String(x).trim()).filter(Boolean) : []; + const coverImageUrl = typeof message.coverImageUrl === "string" ? message.coverImageUrl.trim() : ""; + const entries = Array.from(state.entriesBySample.values()); + let targetEntry = null; + if (fileName) { + const wantedName = normalizeName(fileName); + const matches = entries + .filter((entry) => normalizeName(entry.fileName) === wantedName) + .sort((a, b) => (b.capturedAt || 0) - (a.capturedAt || 0)); + if (matches.length) { + targetEntry = matches[0]; + } + } + if (!targetEntry && state.latestSampleId) { + const latestEntry = state.entriesBySample.get(state.latestSampleId); + const freshEnough = latestEntry && (Date.now() - (latestEntry.capturedAt || 0) < 15000); + const canHydrate = latestEntry && !latestEntry.fileName; + if (freshEnough && canHydrate) { + targetEntry = latestEntry; + } + } + if (!targetEntry) { + return Promise.resolve({ ok: false }); + } + + if (fileName) { + targetEntry.fileName = fileName; + } + if (key) { + targetEntry.key = key; + } + if (bpm) { + targetEntry.bpm = bpm; + } + if (tags.length) { + targetEntry.tags = Array.from(new Set(tags)); + } + if (coverImageUrl) { + targetEntry.coverImageUrl = coverImageUrl; + } + targetEntry.capturedAt = Date.now(); + state.entriesBySample.set(targetEntry.sampleId, targetEntry); + state.latestSampleId = targetEntry.sampleId; + debugMapTrace("UPDATE_ACTIVE_PLAYBACK_META_TARGET", targetEntry); + const row = makeDecodedPlaceholderRow(targetEntry, targetEntry.source || "playback_meta"); + if (!row) { + return Promise.resolve({ ok: true }); + } + return appendHistoryRows([row]).then(() => ({ ok: true })); + } + if (message.type === "DOWNLOAD_LATEST") { const tabId = tabIdFromSender(sender); const latest = getLatestEntryForTab(tabId); diff --git a/content-script.js b/content-script.js index 50379c7..0b32efd 100644 --- a/content-script.js +++ b/content-script.js @@ -6,6 +6,7 @@ const SPLICE_DOMAIN_RE = /^https?:\/\/([a-z0-9-]+\.)*splice\.com(\/|$)/i; const GRAPHQL_URL_FRAGMENT = "surfaces-graphql.splice.com/graphql"; const PROBE_EVENT_SOURCE = "S3_CAPTURE_PROBE"; const DEBUG_CAPTURE = true; +const DEBUG_PLAYBACK_META_MARKER = "S3DBG_PLAYBAR_META_V2"; let knownUrls = new Set(); let knownPerformanceUrls = new Set(); let observer = null; @@ -14,6 +15,13 @@ let performanceObserver = null; let fetchPatched = false; let xhrPatched = false; let probeListenerInstalled = false; +let currentPlaybackFilename = ""; +let currentPlaybackKey = ""; +let currentPlaybackBpm = ""; +let currentPlaybackTags = []; +let currentPlaybackCoverImageUrl = ""; +let lastPlaybackMetaSignature = ""; +let lastPlaybackMetaApplied = false; function isDomainAllowed(url) { return typeof url === "string" && SPLICE_DOMAIN_RE.test(url); @@ -55,6 +63,121 @@ function normalizeUrl(rawUrl) { } } +function normalizeFileName(raw) { + if (typeof raw !== "string") { + return ""; + } + const trimmed = raw.trim(); + if (!trimmed) { + return ""; + } + const parts = trimmed.split("/"); + return parts[parts.length - 1] || trimmed; +} + +function getPlaybackRoot() { + const playbar = document.querySelector(TARGET_SELECTOR); + if (playbar) { + return playbar; + } + const filenameNode = document.querySelector('[data-qa="filename"]'); + if (filenameNode && typeof filenameNode.closest === "function") { + return filenameNode.closest(".playbar-playback-info-bar"); + } + return null; +} + +function queryPlaybackNode(selector) { + const root = getPlaybackRoot(); + if (!root) { + return null; + } + return root.querySelector(selector); +} + +function getPlaybackFilenameFromDom() { + const el = queryPlaybackNode('[data-qa="filename"]'); + if (!el) { + return ""; + } + return normalizeFileName(el.textContent || ""); +} + +function getPlaybackKeyFromDom() { + const el = queryPlaybackNode('[data-qa="key"]'); + return el ? String(el.textContent || "").trim() : ""; +} + +function getPlaybackBpmFromDom() { + const el = queryPlaybackNode('[data-qa="bpm"]'); + return el ? String(el.textContent || "").trim() : ""; +} + +function getPlaybackTagsFromDom() { + const root = queryPlaybackNode('[data-qa="tags"]'); + if (!root) { + return []; + } + const tags = []; + const spans = root.querySelectorAll("span.tag"); + for (const span of spans) { + const value = String(span.textContent || "").trim(); + if (value) { + tags.push(value); + } + } + return Array.from(new Set(tags)); +} + +function getPlaybackCoverImageFromDom() { + const img = queryPlaybackNode('[data-qa="cover-art-image"]'); + if (!img) { + return ""; + } + const src = img.getAttribute("src") || img.currentSrc || ""; + return normalizeUrl(src); +} + +function extractCoverImageFromGraphqlItem(item) { + if (!item || typeof item !== "object") { + return ""; + } + const ownFiles = Array.isArray(item.files) ? item.files : []; + for (const file of ownFiles) { + if (!file || typeof file !== "object") { + continue; + } + const typeSlug = String(file.asset_file_type_slug || "").toLowerCase(); + if (typeSlug !== "cover_image") { + continue; + } + const url = normalizeUrl(file.url || ""); + if (url) { + return url; + } + } + if (!item.parents || !Array.isArray(item.parents.items)) { + return ""; + } + for (const parent of item.parents.items) { + const files = parent && Array.isArray(parent.files) ? parent.files : []; + for (const file of files) { + if (!file || typeof file !== "object") { + continue; + } + const typeSlug = String(file.asset_file_type_slug || "").toLowerCase(); + if (typeSlug !== "cover_image") { + continue; + } + const url = normalizeUrl(file.url || ""); + if (url) { + return url; + } + } + } + return ""; +} + function logDebug(message, extra) { if (!DEBUG_CAPTURE) { return; @@ -142,6 +265,13 @@ function extractPreviewContextsFromGraphql(json) { continue; } const sampleId = typeof item.uuid === "string" ? item.uuid.toLowerCase() : ""; + const itemName = normalizeFileName(String(item.name || "")); + const itemKey = typeof item.key === "string" ? item.key.trim().toUpperCase() : ""; + const itemBpm = item.bpm == null ? "" : String(item.bpm).trim(); + const itemTags = Array.isArray(item.tags) + ? Array.from(new Set(item.tags.map((tag) => (tag && tag.label ? String(tag.label).trim() : "")).filter(Boolean))) + : []; + const itemCoverImageUrl = extractCoverImageFromGraphqlItem(item); const files = Array.isArray(item.files) ? item.files : []; for (const file of files) { @@ -155,7 +285,12 @@ function extractPreviewContextsFromGraphql(json) { } contexts.push({ sampleId: sampleId || extractSampleIdFromUrl(fileUrl), - previewUrl: fileUrl + previewUrl: fileUrl, + fileName: itemName, + key: itemKey, + bpm: itemBpm, + tags: itemTags, + coverImageUrl: itemCoverImageUrl }); } } @@ -221,7 +356,8 @@ function captureUrls(inputUrls) { browser.runtime.sendMessage({ type: "CAPTURE_URLS", urls: newUrls, - source: "content_capture" + source: "content_capture", + fileName: getPlaybackFilenameFromDom() }).catch(() => { // Ignore transient extension context failures. }); @@ -499,6 +635,7 @@ function startUiObserver() { } observer = new MutationObserver(() => { injectControls(); + syncPlaybackMeta(); }); observer.observe(document.documentElement, { childList: true, subtree: true }); } @@ -527,6 +664,71 @@ function startCaptureObserver() { }); } +function syncPlaybackMeta() { + const fileName = getPlaybackFilenameFromDom(); + const key = getPlaybackKeyFromDom(); + const bpm = getPlaybackBpmFromDom(); + const tags = getPlaybackTagsFromDom(); + const coverImageUrl = getPlaybackCoverImageFromDom(); + + const sameTags = + tags.length === currentPlaybackTags.length && + tags.every((tag, idx) => tag === currentPlaybackTags[idx]); + + if ( + (!fileName || fileName === currentPlaybackFilename) && + key === currentPlaybackKey && + bpm === currentPlaybackBpm && + sameTags && + coverImageUrl === currentPlaybackCoverImageUrl + ) { + const signature = JSON.stringify({ + fileName: currentPlaybackFilename, + key: currentPlaybackKey, + bpm: currentPlaybackBpm, + tags: currentPlaybackTags, + coverImageUrl: currentPlaybackCoverImageUrl + }); + if (lastPlaybackMetaApplied && signature === lastPlaybackMetaSignature) { + return; + } + } + if (fileName) { + currentPlaybackFilename = fileName; + } + currentPlaybackKey = key; + currentPlaybackBpm = bpm; + currentPlaybackTags = tags; + currentPlaybackCoverImageUrl = coverImageUrl; + const payload = { + type: "UPDATE_ACTIVE_PLAYBACK_META", + fileName: currentPlaybackFilename, + key: currentPlaybackKey, + bpm: currentPlaybackBpm, + tags: currentPlaybackTags, + coverImageUrl: currentPlaybackCoverImageUrl + }; + if (DEBUG_CAPTURE) { + console.debug(DEBUG_PLAYBACK_META_MARKER, { + fileName: payload.fileName, + key: payload.key, + bpm: payload.bpm, + tagsCount: Array.isArray(payload.tags) ? payload.tags.length : 0, + coverImageUrl: payload.coverImageUrl + }); + } + const signature = JSON.stringify(payload); + lastPlaybackMetaSignature = signature; + lastPlaybackMetaApplied = false; + browser.runtime.sendMessage(payload).then((result) => { + // Keep retrying on the next interval until background confirms attachment. + lastPlaybackMetaApplied = Boolean(result && result.ok); + }).catch(() => { + lastPlaybackMetaApplied = false; + // Ignore transient extension messaging failures. + }); +} + function installPageProbeListener() { if (probeListenerInstalled) { return; @@ -584,15 +786,21 @@ function init() { installPageProbeListener(); injectPageProbeScript(); + currentPlaybackFilename = getPlaybackFilenameFromDom(); + currentPlaybackKey = getPlaybackKeyFromDom(); + currentPlaybackBpm = getPlaybackBpmFromDom(); + currentPlaybackTags = getPlaybackTagsFromDom(); + currentPlaybackCoverImageUrl = getPlaybackCoverImageFromDom(); + lastPlaybackMetaSignature = ""; + lastPlaybackMetaApplied = false; scanNodeForUrls(document); patchFetch(); patchXhr(); - capturePerformanceResourceUrls(); - startPerformanceObserver(); - window.setInterval(capturePerformanceResourceUrls, 2000); + // Avoid buffered resource sweeps; they can re-capture stale previews. injectControls(); startUiObserver(); startCaptureObserver(); + window.setInterval(syncPlaybackMeta, 700); } init(); diff --git a/history.css b/history.css index e11983b..b2f69fb 100644 --- a/history.css +++ b/history.css @@ -35,6 +35,15 @@ p { background: #151a26; } +.history-cover-image { + width: 48px; + height: 48px; + border-radius: 6px; + object-fit: cover; + display: block; + margin-bottom: 10px; +} + .history-url { margin: 0 0 8px; word-break: break-all; diff --git a/history.js b/history.js index 4cce27a..c9df467 100644 --- a/history.js +++ b/history.js @@ -11,18 +11,38 @@ function formatDate(ms) { } } +function formatMeta(entry) { + const key = entry && entry.key ? entry.key : "n/a"; + const bpm = entry && entry.bpm ? entry.bpm : "n/a"; + const tags = entry && Array.isArray(entry.tags) && entry.tags.length ? entry.tags.join(", ") : "n/a"; + return `Key: ${key} | BPM: ${bpm} | Tags: ${tags}`; +} + function buildItem(entry) { const li = document.createElement("li"); li.className = "history-item"; + if (entry.coverImageUrl) { + const cover = document.createElement("img"); + cover.className = "history-cover-image"; + cover.src = entry.coverImageUrl; + cover.alt = "Cover art"; + cover.loading = "lazy"; + li.appendChild(cover); + } + const url = document.createElement("p"); url.className = "history-url"; - url.textContent = entry.fullUrl || entry.url || ""; + url.textContent = entry.fileName || entry.sampleId || "(unknown filename)"; const meta = document.createElement("p"); meta.className = "history-meta"; - const mode = entry.fullUrl ? "full candidate" : "preview fallback"; - meta.textContent = `Captured: ${formatDate(entry.capturedAt)} | Mode: ${mode} | Source: ${entry.source || "unknown"}`; + const mode = entry.mode === "full" || entry.fullUrl ? "full candidate" : "preview fallback"; + meta.textContent = `Captured: ${formatDate(entry.capturedAt)} | Mode: ${mode} | Source: ${entry.source || "unknown"} | ID: ${entry.sampleId || "n/a"}`; + + const details = document.createElement("p"); + details.className = "history-meta"; + details.textContent = formatMeta(entry); const download = document.createElement("button"); download.type = "button"; @@ -41,6 +61,7 @@ function buildItem(entry) { li.appendChild(url); li.appendChild(meta); + li.appendChild(details); li.appendChild(download); return li; } diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..946d8a4e8ac233195ab371f7b65d2277ba53b9fa GIT binary patch literal 121672 zcmXt<1yCE^*T#cWG!&;e#odFuySux)Yq8?)RxD_7heC08cP&ty;?9?M{`1|LOlCKk z&7IAjbI0stN?0Kkbc0Kl6G0N^_3 zcBt?}KKSG;t>Xp&AY=abf&ygc;z3R#xXUO=Ae`HXRwZ0$R#B4jDu-e!fjgf8y^hq0=7x)GMbe-Uve9j+PyBOM!k6~E*HDE z?{v2BMKVuBAwT~2BwRrdV_yiEA_T%frLl7tfkFV8nX@yNcN9sJh7wYsp1sj!HQiFJ z$L+M%iK=bqUYG)^$OGs2Q84}y@aW&8wQIpYPErcogyYwP(r?(o>-5S~25stpFpjvQ zThw9tAzRMNMS7q&y>)D=@#&Te)nkxr{^r?-BGi0abP~w_yks_wE$e`q(ZHZ`c#edB zgn|L!2ya6L;4tdDUx^?PyG_(n|GsaguGVe#f4UCHU~F!NPa;=>le3}>l%ylD+l%~Z-1F7&|EXb%xpZl~s;*KQ_LJx#uvC8(i-76sRBf7Ar~-!Y%up}_wh;i!9_WI93pA<}ecw)}dG~MG zHGk@3JdEG))53r`$k~SW45g+yAL$99syX*#-7Y}!KxlwD@b&$;%<=dBl+jk;%i8uw z;AxA4VY|Mwfhd5yx(T1(EtKnfJ=8#{ZcEm^M13(;y}qMk4yG;(qj)w3&}>7`EWLqy zk;{S7Nz$uClM_jzdO-i6zIbWir1QSasfam_WZ_qTZ%f84vheY5qK*uLpNENxyQ$WJ z$QP|qb_!YCI4M(5$=%JdEimXEj$1uzfSTvuVmqd1`WTL8v9#3|KtRuikDC^;%bzT( zJhxG>lfdx+CRFdkt1x^lnH3=^+*9E1{b}?2psZ68By_9s>_2>aa>8)X&jhDQ8gWr*d4z zG4QPrCvL_7b;iAYW(hpcbK~3hOLAKs=A)mh7ypPyHA#wJAWrd!MOgQpewLHpOa}sB zV86onqKgoBrbu4{0bO577K5fL8viv!)_+}ks-TQw$KS@&`Wn4ix@U9e)? z)-)Ba}*l(Mrsu`L>{WUil4wPzSKw zk*G|x$IKTQi#JCaLXRZZ~z*t zjd>%lwdL->w-N8CNGj@K$QTDFANhy?VFO8FAOS+qRf3e7EGq*}TasPJRoO#nX0C2d zWkU>cZRZ#KZ`720EgBAdSjl1bxhaxBR*(W6RS;3h4WHvK`HIA8g&I^(I~cH+CS^)3 z6Kuos@%XOXRUD^K+9DI&PF{I-2)xw+*y4I_R~mFhBQsx|$;j^mep{WT-n-J|EHUT( z_@r0QX4$vd1}xfXizNdP`tOMRcpaejJlj$bH*DwU`fmz`bZOA|13hx|s;b{>f%P^9 z-*!t>RcXO?ki>7=o{!ar6;m_^nD{pG~Y+fLNO@_(SSE&$UU z*IPXxSx59IZ6eRKx|v11z?%Dug7&$Njg>raS=`AO=lu>pi=P6F_y%Whd;)GRJHWXO zbeVhO`1W)z{^x0HrkiBfkPlHfn)gY@<$sF6W z-eP?ZxY}vf>QfQB6Ad_2__^DNDTA7d%JXt-|AiPM;AnkY@T^V@s)rUU8U{ubaj5MW z*@_0wRo)OKk*uK-hQQN(k4{C`Oihz}M$b#}H7?1zi|aP6qSR^F6FyU~l(``{{xF@; ztKt1jaEigkq0q>oJ(SlNlqvdQwNAv+c-LY2UEyM@hh&aucs3PKqaYT!4+H=czIjT=(ZngSBOoJGI3;U`jMmv1tNmth8d6#M}LX_r@ttn{!jKw@7fN#t0Y}@ zR5*JAe*0nkK(&HHMqEkoX#kR8X$cX4$b%uL9X0zM@%u;@&Qy5W8BsSe0Db<+O;-&o z!=#zxzqvIu+qB@K-m-bzo>keB>1P%@%(Kr_f3x9gXa_kPj{-|213XBKEPFLJb8BO_ z<^AeQ7hTJp4rN5Izo5XH$s_J|)X=Wfn+}eVY`?0J6AuZ7Y&YZ%UQP5cR*QYf zRlL%(c-3W0#93dX>jtY`F-JJ69)BHDq@zuXW!ip#-1R7HclSS`B+omqJ~sdpW9I^8 z8Z7-~kFZ{6G^-HysU&tWz|zuv^d$Y*YWZANyTgK)j~T9cV5w86194oxneg&F)-&wZ zBmlr|&?jBTm#`}5VUNj6syaAN(4$kqc4$G~<82urP5-5S z7RPy^zOSMoi!rOfz13#_`yf)A0Sn2omo)<@>fEbi|IJP+gHx9vfMg({QMthkP@|QQ z&l#%l4PXhi(FEu0*Z(=M%N5p{@uOsG@XP78A`|UT>ErsFnoJYU11il}yK0QxpN&&b zV_MywbECs?v9Val66S;)Vx|BTGAf$7cuDQzFhW!9EyR>S=+&r#urLfCT<~e1O7wD- zqIJ+*qjyUf5PmMtc`vF;$?z^`o4>(f-IEG0rcINT4vVn9yu}tpnz~}qIf`6$cmV&V zs+g5X!<+=i%|^fIlaqfe(QsWoLyu!_$kfIUi*3lT0 z9WB*_E|7|LWNkHF!pc=3Gr;q8QM)k53bH9L~bvvfk%3!p!4J0MuJocQ9aB3pkz?iRNiOJ==5 z!DEa0-2&L}*j8_!rz~Kmj=EEc5HLn&ttOfoUj6e|Y>7LC1m5(`n3I41mzuY^=I?~p zm8$K3aP(n0{>HoEENux3r@P`xd?=-1At(KtW{Qe2mijaJ5!$>mvcHeI>OI-=BB8uM z-a@yKj@_S{yd7ANL_`#(pkl5>)j9?}OKXQCNk{5YlbBfI^{^E22j^ z_}TQsx&k%N&J*E+kkRi%+Rn}9>bCl9O)=mQ4GSe__i$;|I5v<^``*E?^zv&qB6~^t zf*3NwEfPJhu64XbBr1Nwuf!dnt;!U|_q~q~X8Hs}{KxLowxNdb4ZLF@zOwo)P9nKI z4xb3-t>u?dQ+;f*F7w|-(V@mc|%gA7*A`mFjl&t0ZbjHZvVfiYPfotCBF_rUrz7?hWT#Mz_!j?5}?(LH? zEr$KVhTkJD3?Kji72-IiKu1OTOeFqSy+5AHrgMD`Pltww33maBw4c7?mD-k~*y1=g z+~`56MbgbxV?Eiaxg&5g0wcqcIBRvUXN#y56oja5OURVbV&3U!!8>PnwSI3s!vDS@ z5HqC7iXv8XHp!!FArzZ%DVV{W>fA3VlH5*qILLeECq=mW+Fae|1MGzE?IV(3*jE{s}LeSv4dWtj)C4E$LXc31RbnHj2oGo+pmd8FXmUK8HY&OHF>WAU85t95pN;$td|EJT zNjqf%HH^E@z)YGq6aG_bIFp`8b#t!BN{+PEjgbLG+CU(Z-<+5{tSpIg@ zES02M9ybk+RKizCsZmDOyN7@WMqFnj;QWf$oDiv+O`M&tT7SPyVmtl5KDJs4k4(=Z z7+iZypYODPWrk|$bhg`58++`ZP?}cNYT>Ce>HoF)OV-L_bQeq&G$)PK7|y6@7n%5D zY3RP!5!suvw%d3;d40_0+lhT(>KEUsLFLU^HMQ|z=IwqB^zoOwy5+|2lp`A7I9xzf z*+nASH~wlLKQV`zS%-KKf?eDFr*w`CgEsHR(KlMpo`DpovFUQexb~yT0r3JCD=A9)%_jpIwY;}8 zJfUI{%=E771c9};tFd&wde`1ClY2s+ST^6v|LEP;QdKPU^z_WzEq9-8YE}C@stkLy z?~r}h5;df}ue@+u*}!n9y31dekA_ig?guxvyYeWLg-e@hH5RX%+Yk?cL9gNLkmNNn zQc_A%4h*S8b(qq+RDr3@3@NwLPbJWEsyS`VSCu=gsH2Bzs&FJgC5SxM;@t|<|7U`TU} zw0YDC@3sbfSrO+^tOLF+-b5F+YbTTDUcSnC%6S~LWYu>in@ub&<`iL zvCcx;l>{184Gn2*RKMe?AGbAkUm}R?Jmss7-N^oUJXL~Rj&&*qW)QER2fm;64+@^A zIf;XCPG}dfj$M%^r?lnEmKqq^=iX{{PI;MdWpIq{<0wP%&@AVbM`@PeL zU9^C4qB}IdgeOU0O2+^GH6gi^pE{z{j`CfFM^>|EG5Z zteEhUFueto1{w7fP4euK6`G$+unhnLVY~B}{C&_-p5GQ^Y4_fSdGG%tPvAGfm6GWZMRV8rdl_JnW=kt)Tw+sJi8Q_lAw6TgOYF9d9qE#BoJ5y}Q9TG1H z&ha16iPm~}H4X-ye&i?u*j|=9_8a4ikNpVMRyqzyzL7b@_GVFpown7S;>5rWyMT^@ zp6U}YRoeCM--IPvYGy*fP4%s`VDOx(ZAFv%SBpoalJq%$1^nMu73#^Vit@1^o7?ZG z02Hhk2s*|_f-nyQDa0udmEp*Uur*#s=8max0Zo{8lksdE_lCH*pX7a}oxgu>B$vb5 zZA)txS9Io+RSB;X})b$>6|_*n{_>iNv<3-(~ls*|Hjw#{-lj&7%_?hDI$IcZW*5j z2LT=){(A(#cu}T`IOxoUa&cwFyIuWSKuK1{#vjw~E5*-Ja0w~tHud&$cddO+HUuR+ z9WcMq1Mn7x@Q`{Xu#~AlZm`J3W8Qx!4|4e+5sd|p03UILLa`T3k>LBcm$UoGX}de% zXetjAbH5u&@a1V5x(7mcj;4PY5zJU;Wfx2)-M5&QR8 zL8DnB+RJ>b^>GqD#bVtPHB*Az%0F`)YvXpna$`?co7Sm4cdQi41?jSj-0d?jn-J%0 zt%)J`N45(ExSpIY?R@1pf~*X)B5e7+CKXJmV9ha?Tx2HydDdZKwfnJL_LO90HNaVr z0wWqJH1r(M0)?hJH8t5S@KWF*;Dr4LrYH+psw%*`TUeJ2qcn|7t60fEg_ zRAgli104b$x~AsMrP(%4L{caUXFdyA_u)K);?im;_T%%j4YO4_lDIEnOLNnmCQT#5 zn;4ozNJjN1*$tsGb>b~Q{_x z5hFm#3`_wba?#qxX_W z)Z+0Mf1oBQif3P4)JKVeL@x}cTvS-lt5ZO9ysU{ZA4_|sdvc>GM zcqp7UeEM?wj5p+Q4fx@vED}da&}D&k9LJAxJoNSUV3ldBS_KAH*z(;xm?{Md&#d%y zIL#?&7+cG*F!hgqCMs9SWJBiXy+HgK5lw>);OsZF*~p?j<9`=^7w_9Y-cz;cTzVCV z+JH?^%9-e2R8+$wDrS&^b8}Lmv7fjhoHb^!ZxGkW{3HSt-{~|W(FoZwd+&oeqGGijkZJ9AgyuL)V`RTlj%YAr4V~0qs z6-Vm`+N*;bcUv(66DfH9ZW#FZi z&`X6L0|APC-^Ay2ZBZKnLD8IB4FDL+233Wts&IWyH_zu#XFQ#eEF`bf)BoXRyYnIc zMSq!dqC)q$L2IkQV!ZaE0~wL2?JA@P9dyJcR!MY&^;V|Q$hzlIE=V(gMuk5j3}5SW z$Es!MasZJQ9 z^nA3$U7^kyjyY$3e8<8+TVQKRQ+9+|%u8&}Uf)*NHqlkwXo?iFYY!i_iJ{BbWy`U)yQrc@Eie9^-XM@T;oWMM}e9{0&pY5~27^PNq$$7Ktbg zH@w;4@Zv=5w=nUOEuDi@+?)_qEDa7-1jZVWf_;K$QrRCqQLX~xdA`wnQBj7!Zx_^h z-*p-Ifh+hRG1PV`N13)19qjGCJ((lQHb3*JiW69Z0hDxkWp%hto|VQT_}`T}94*KV-? zhRvly5qpm80t#f@E*8vM75b)3FRD{%Ik~tbx1&MEJZw`2;KhNzk5^Y4zdwwEAQ#ZT zx%=YudP(y7z&_1il^Uy%KajZ;R??p{{0T`svBg$VC6E?nt2eu;3~P9v(?P6=0N}!V z#v3pLZ!5{Gc2thTJrOA4SYNK3^DrtnvbZkRwOckrDK_t@al~ed?Poi5VHP+O;cBp9 z0*d2tAY$_+t^^<^*!;Fzdz{amqU+XDoNNjWcj z#0;7iD%0S^0G#i2tekv&a#U?y8?aylfsd-$*&TFLUB4gAt#G9eOOKlEH%K zN-of*frCp>^Lk92gRSA^`P2z?bLMu4hK`F2snrk=5Rk)7>$TnWhcQCjh}m7j;jT)r z10(G5cQ>G{dWyY(>jJwT)I7fsELzw87914RKOBdPP-Y*)MG zh9srJ_oXXPMe7Es;(x$c;#Wl?assSL=U@@b$tHY-9i6L}U;(l0bLPU@Kv)!)_YgS8 z!aBd@8rAl&kznDJJ$e1t@3=(W*BZqX#e?5MQ26Jj;BfOlsDrNGnFHTr;(^(J+wZ24 zdl3-e<;km5ZMVVWHQk5V^NK=uV1=9|ft#~r2|4DVmji^~C#2gq?fuoNc8ifDVpS&I z!99NlBwFfwxp*XJLx*aS!h)gO)NTFkH(U_5Zt}f;pBh~LI;}C!3dzEY3+&Kd-}jtckhOIMcD?(O)&wAF?d2Mx!~lw5HE1?6X~; zb1=@wQMTHd`1GxsBaWt*m3=5EJAlx4@!*Vyaz(Yec&IVUrBIpZV0CJmFU&~~bL=dA zttBEU+wjvo<$-il%SGcay-gnlSaGVlI94i{_Pvp`phtutaU6_*Hqt~g7>+x%GnC)~ z0gNJ&hzWH`mX@Dw8yh<_Ga=!~fMB;8VfLXAVKh`U1J_Z#n(pW9zTlTrqwRprOOe*?YDQp$ShM~PKwVq1Y-ND5UfiJ9pam|Ju=2oZ<)G>zMk~! z^?qlApJmgXS#|A1c)ny6o0rvaW1)7cZ)iM}h9|pq9%jO9T%P$8?8Gp7jK*o`^_TTP z5S53BdHEv$1KPLXz%S=#u3^Vy4z}*D>UWECDgkB<4Vgtd6eqXj_H}HhJTVf;(WUT~ zRb2R-*-q6Qc&f9Qih{?f^Gf(6B&|quRHNCkWaK(gDOl7vq~u2^fZ-uYuk$qlet!O- zcYi?YH|Dg@q73>?e-p*fpC_(Gh7A@igxCRy z-Of6;g&c&7eD?0OT8!Q<>;MHI7E;3RtS!#FuX0=0>3Tt)Uod>~x&ND%LN>(3B4l!% zEMjc>l$uOeBH-Yxv+F2JN7)?zq?#s?OW^9X3R_8A$x5jK5%hPy+Z$Ra(PIahyglD> zfBZR|4t&44Y`czLg#6##AAvVV)ATqoj=iW)8pUTuQ(4Y!`$)^2yP*=0-g`fOpJgi1 zZZgwWThQ%tQ zPVeKsxq+~KP$W$=F(Co(b9pg9ST-s$LFnIOXRXhJR_)96u2c;mI4Nm1=shFoeaox+ z6bGrG+4v_REOnmywbpOnO-PqZMNQSd6A$!g%c?|4t;b+8yM;DA&mrR|R|-dI*T~I^ zEK%h}L^(KlM<8_G5kaWuW{oIM-KaNPjwf1gwcl(Ac)8Co+Ul^HzDU}npsdAu>>e!z zKu@&;(byngy5~gyx!Msxf241x5L-}o{I5}~*4|?kJ$q&F#=Yyj%#hD+O}czp+VnED zw5xnt^Fpf?dZF$|h9)64XLH)GWzWfcl%3QQX?Lktc^hsPG-Yux7Ie4g-6#Ulua5!q z$a0qWfY31F0`j3DXZft(KfKTWy02Ob+4Oc}JYIK4vy60`9zlr#5ObeM+w2k<&C3ty)BK2Xbk3SxiC-@fXbR}vB{ z!6yf@PC*&F+q;|FyT6C{1V@ZU*O#w36HG1yyAR>6^{9nLa=J#>!`sJ%z^SdY5J-_{ zW5Gp~<73#IBYdksjU73h{?Tf@`$`cHVq^IA{iot+3Q*zwsP*Htl79Ob6rViDvPcJB zGg@sQmoOZwpBvvCe511a6j5W>R7w?No7G(IXzjWA(z^3(Q%Cg$MmgK|_i-+P6N8kG zKnG^M_&Fk#g`?**m&%0hDO4FOIqW9ZswaGPUg1aVfY ziLeCLPu(who@2*=VAzlw*uwfNJbj8D;5TwZR)90IqlliFH22qD|w|_z@rZI~yBAd~d(o-V_1GxtIWQx6Qr_ z0}4oYtTYh{Ix^ujiA7$Pp=<__dV zL4|2c8ghhRo^I;zQo)LORHrT6y`*u(d73~2)bp~6j(N0^oT5Ng!|G;$u0X#wx{0+K zg2kATTc2Sdcy)mnZa+EP>S)7^8C?!FKgWQj6UC>#B_EwH>59t39sZQVM$&Z^|1h+4 zQCw|nCsL;uuPWHBG}Z8JZSiA&`orJZIx!No&!qyj;L<};!0MCr1zvT_?IR$E%N`=| zQ!&`Tv^XdUye*96Cuy}@uC&{EwW~uH;TrmzoUb(l>P+_GhdmVe&To4%VjH8PqE2gn zzmG2)j^nZ0t49{dut!j>FDSPTC5R1>BBnDNy|;{Sw;1>SB1P;|UxdvqQotkWoM0Ut ztGk)74WkSj8U%?!;xgnDu~DqcRMykF3n5e6 z&M##e`}LOdFWYS{rluk6H8iCJ#oC413Nqe@bo7bMU5pCt_q-iPCjCc>I`@s^V_0P( z*d7y+i}$vcT)FoFPV866^FzVJNa|J&gq%td^WJm&$3;wn_1hlO@smIs_^AyBzdIZn zF{Wn8f&ByllhL^VS@7qh+@91RxgLdZo6-Bv1pS#yzLR3;)p{>}!yd6|k#4M9T=$!o z{trSQ`$AB`ZjwFvt-&P|=+x9yf)82K{Es^@^a;MGR*y3<=&#TDo%m+Dr>2F@7hkrV zPmarkUUy(x-}i9Aqijd9KzuXaO0pw3C^7!s%zZS_-vZYPSj6ne!6b(yRCv~(6C%+jMnmz`M(;k$7sJI|>{;Qn` zRAw}E^p|dufbczb7jsWp*?~o9fjC(vbMY_ubGe1Pi)%x7Phkm z7Q0ZsVBd)l%1e>i7dMM|#GP}n^Jbc`KJaH&6;D?iz$8CA(&ZF?%c4`^dBC*XUs4gO z{x~if3j;>@noP|Q0zkJK-#6}W^rEco?I-9n{I^q7OWEmCgcRP;Qv53+&NYnLNuful zWtXHvXV{}yHuS?nN?HVux!@@{GQciMknP$`c#Jdj~RVIojX7iFk_ z*9B5wK+5or8)k190Lp(l0#?jm5t*woXt;b)l@;^WrJzoA z--!FVsxHASqpO;0TUnynAUS0t(QQMA&iO0gF{AX)bX4Bza|8U1w8SP_BgE-&=JjOG#U~ z%Gxq=zIM_}HO?i`bmwjxRo>q2IoRpk^c*-6>_Q3g$2tgWr5a(Q52B&5Qw z9E}Sg*`@B%=jLdV9ajH8*#}@9%wGVtt8K813p+fQmypokjBmZb=!}jffWT>=##YciL;}k zh}KM|FF^$A9xa=arJugBV1DxWJ|p&lY?DT4!tU|6?6HZj>r(6nB?OyTz4{~vgS813 zo^N4+t9yngo^Om+6SkgR1|>7y)vSn&d`MXK7-YIQN`2YrF4M06IX5MrKvGq^5xPke z5KdHUAM`IAH&WVJ3z3LDj%^5q<|nRAP4jg?Tu&QIZ&0DgXV&xWsY(!>`V|^G7zI9_ zQz#sb`dr>GKajTM>+O9p2Ob9q!vGWK2mqQj{E$Xr%YXsL(Es0H2A5Ny#ml_`pBE%D z1pFkaAt{QQIx3P?F=AFu0uYV}$Pc<-rDqC~a&dNsECS!=a&LMbFhq{8Qaf$t4?8cr zFCX_4v{Xmy#Da$y!%ep(dAi?i`BPp%77Er_2} z0RR0Er9sGU+6Q$?N!4`jJ|8Vre<2`13JE6DDq$_69R0Xw+P|q-(|8xINpC-rQu5&vGaJ^p(`C@&CP_^0VJyw3^csY{3;cl+n%2RkRT%I+**I&Ui32_G;8 zy~XpPJ|tC^Ju9OzBSza_k(*;c`q85)g`($SSa!-LpR;Oz{$9jc9>a;ggeNK;fq`#t zu17f+S)K+T+>g$8)&p~&A`(1;2vsbusFnx~5FQR^nUO3-1oVI?rXQwwF5|qm?y5-M z9)}@To?4-|*!={dDIyxhbSkk@1oElXjdnK-mw$bOQnmW+-n)InfiHj8sF$a**v*N> z(`hp!&-z{D@p}O>cBX^?V#AxOJ8pfi0TU@E-CvKvF!x?zW{=tyK>nABM!O~cK14;K z{n$`+0Z?MHiK=keXL9v%#qY-e)SSPm1PfmMvMKPY&n2P9eXbf+nZYw$ZxYzPX9RtR z#{|fOeJOT7Ue|wrAOMuJo6zL(dFD7Qc<0W1y2hotm=e71i=D^iz;8*%y97U1Pq%a& zbt@dr0t7x_M-6eLz)Lwv0;q0dR|C0c&2erSW!4Jg$ZVYgtrl!$>3N@sDzBx9y2+Yd zs&Imo=YI?{jHeTs4)Qz%1Z`dYnhv-}zI;m&x|g+Jf*tsDJu2(O65%wNuxo!OsEN>%9lblM(V>? z(gKczzcBEhMfRf$-A0O`37Q`#2N3)GX%%|IIHS%%|eDk zB=oV6Hr7bfD&mN)0_~8iobxK1ziluD=<|^lrvEfOtL8#;WG4j_GF{C zJ8;uO6tSPnvgRk0vxc4JrTJ#xdoWgBojJ!$X2AIFyf-h99vWh2_JreqaGfE7Bh(Sr zctKt#t|!PQ!tg_XzR@~#cx%CNcQoOp(=@9!-CVpvqDwU=v@llL_v1jkKVQ>4VMz!GuV6Ip1^O{< z+sY;?$rVsAfUl%&SFhZg*Tp%_OCyQwXn6DND}~O&*d;o!HjQ|iIEhoeqGHN?w#dMq zueo$!dH6^mbfRP1zb_>I9|#bPt4Vji#Fdzuoy*QhXyltoIAfoxnqImW8wTxy=2?yL z*8$O)&yQ!RavUUPqQx!U{A@z`$2)ieqo=u++E1`#VQ~9C5xV9FC!W(4n3jJ=6ANYy zo*_2$0iPV&%te*}qwD=AyU=4HI_)-$xViQAc#VK@#(JF(8i2+ZCX*I3B$j=usN>6s zDKX%WHH+o|YjmCcYPVIM&pp0X?)4cm^G|~pzh##w4z?jYJWV(p%`cX)h$DnjEb)P) zN`dFJ)Vbb$#R-CAc=T;(M;q8oxEn68X1Q)m8ro9>525?oGzJAgm~eC`QU0I48m0p6 zCx8@DcLV84SQ+84%o~#dR63ouIQeJq7&fGR63xH5O=tn|PRgkxm8nSnLA$TvQpBFt zA*W==vikOu8(hkjq>pe;zji+S@7-P)2sE)?cRGbQ+Tj4iW*alBIU8{ED7`*~JEDJ{ z6nvyAJfnb^z~vR+bmBjydq^yAPS0j`@Nl>x$fUv%O8oCDKi-bNQ_Er2?9+i!JH%kk ztiO&J;+a#0;;qs9ZF;xjym?W)@vKSdks)z+Jc_ zlHVs`t`!p?_B($wBm1{qc?LJE<6M>TN{&bXxA zn`xns?uU2PY2Occ9IbsZp7AKp?rMcD}Z}1)GZiokIFS2h{kd8xTHW!6BB>jlUXY zi8cdh_Mih&sf)oa^IR3cd|X_9TtJHQ*%)Sf7I#AtQiTB2>6@V;so$?@%;?j3d>{@` z&^u&bz#%q7St-0qO7IuA6M$@>`5)pmTzz;WMJ!4E4Px0^0m()gl22L_itpA9PoxNo4sWnZh1t>m*t;De* zb?JXvJz;ZKhbWNYMEavHGf?*hdU4N-oYPKxa27y4qg`$Ga_bI*BIIdflu%)p!(5kV zd}Q1yB7A%gqQa<5mzsvk9a?+lU?FiSU3xIbU@9F9Ot_v?*M5J{{n50*4Hkf5#p`&M zKB42|9ieF{Hzq|<(B`-=Jcrx9`y`=u^&uGM5bOKa)sWjc9w)TJBXOkl)XWteuKr^& z$;V^-`UPG-I|DfPYnT0TcUitGFF73;&rF;k>U#x>@_GM2n>edT2Nt4^B{F?;p{Wn0 zWG5YrMKWE|0$sh*w^S@5R+F$u-BSqUbeS);gGiS~TQ2K8I|a#~lO%Y0@O0UVUsS$O znu!&EZLaYuz?3-?Adj2gq?{4eh(8nKh123Vux~lGM)bE&akK|r=;8&w(-+c5Gz}^J zFsy&N^A)XT-k~K77kEHa^`jD?Pmk73>xCWV`pdW$ zQT|QVW5dN|HH(EZ*x4E-Tc%{uMPQvOcij0FxGsQE$Fh}M*Oc{ep6?>s8DJaE$e*|w zsQU!Yq}QLDVigUeIlx8xk+-_ydIpK^wjelstHLcW`zpDYpFBROa@n_)m;^{kZik>E zZ5rqvh!w)X8qoAKxTh9XM+Umw*GH+)L5O51xZwe-?LD8+UB1^^x)rdU zJoetTW z;f4$pr1Cx%PM1ZN|7SlH&q~!o-R*s5MnZ?Iw{PNUP@uuBD+*- zz2Kr(Iv1yqJ#uTQ<66o7k~H=1%M4lY=;&xv)TcSyO*N%Fm!VV0-C$^g%WyM1t{E)# z$_iYH%G;l=V0=Oiuk$1&d%MUGc-OKU(!Sz5c< z0InWh-n@T6-D(tFq!3{lo0;`^B0h+G`#`!UTxgA_h#W2oLC&;TVUYgqM58L`Vdb)U zDFqYrKer*1Pd+XcA*||XVr-L0s3}UT-9t@=p)b!>=yP2D=bkLB0aZE~`siML`2^h* z!^IFsuHY(@kp*2j%1~0o*PdWGGpS!MHAX}p3rGN<;t0GQ=HOwB?lVG%M|C(O0Ca|u zw=K^O(}dx*p?l715&m2E|GfaY5rCQ_rL(7kL2RTKlXg$_#!16XK8ypTo$NHMmqT)+ z*|@&7nHeRQDS!NlEcPP>+}z*p+W{e@&V<9_gCYa-%Gl?rNMSV?LfHe1rsDpxYtGdK zgr6Xmv4?<5zK;XMUO21&17Sg)zMOH!O^PQF$sjo6b+5nvy00H{$ibz_lH)k0_;1bO zww{j_1?Eh(5d>H;f5C$J003HRv}nZAH=>&JS*PARRTQ|l$hRtkVi6MpRl_mXV2)xq zhkz#Z?WUV<`uN8`zH8@B#}$U!!t|}3l|XIlpuB=cs>4vK=w~~AQR5G4aMd;uX3;RWgA@y|F)tr0F!?h80?32BN87+NKIYDOIT@#HYWf{oMMvN=St;772Dy6s8}fO z-m~Y^pZfH_Ui&W$xmze0iye@uaY7i4bfa38 zXVpki?;F-=Bk1T9psilpSVbKo`EGyFc4q;1BEy|5o|}5ipZ#3Qb}y&B?*1j(kTHr& zS(y6#k%2KZX)(rp8O$4=d+|jVEnB{He0>jyD0D*^!L+$}hv{m)oIF|=caKniPu?3$#HA!M}iRBae% zv(H-QL;K@|qbk+ens_a#DPD8z?AzEbSHlwK6r5+CUH9RS{P{0$y^RY2XkaKHX^IR$ z={ms4Q#v7*E$gEx_mA#tx~8(wsqHb%y?@;?`P6(0c5HQFcb}Mj?i!?L=F+gKEB!=@ zq=j@&Y&eXK7LwUDYI#?(CbQ!d$?09FjN0M)L>L+gQexgm$gQL6b_QHsvz@ah&WlxH zAR+z<*-3%fgjk5kQ2N0cXPj}_WtVEw02GCCQ4AG`KwHU`u_3N@RHpSjuxL^_#+i~K zrTxmIkG|;Qi-JH+PL_Pn(@Gn(Stt~C?0RM0Gf&5(j0}JSIYfeh1M-kZ3uF3%(0mrw zLxb3BYY7w9a=}tqg)OP^fp)2SGQG5*Qi=-J8b;9Vi$9DHTN`+7C?CtBdnaJ7INeQ9Sz7yVNv#>%5uA4*P@Z!1h?A zI$7(XB4>)K$l)-<&s#Ro*oTskwa-8nY_~gY=7LexQ1l8)+GR~M8pf(;5UslqB2|4F z&$Q848A&s1a5qEiBTv(VubDb`NUJex&4+kWtE6yQWV!nRi`L@DjDyxE%S>cNj#Q~` zF$RD}CXuNKG9VEH?)l#E(9j#td&8oA_L&%;5W+FhR{)?1Sk3saG)q&Agepqb+LU%- zsk1l;44IU2!TbgP_>Z4@%cYlY-M0Pyd+xpQ8#fSXbEfe;Z)9XoUGs_USRmuwP1V1p zY+_guYn4`Z6hc&p_Yh3Qu3^fARyhS!+m--U=$rw_kz+ZGI4l;6&t|09E@_$F8aGqLb~>7fnw90ANK@7b#s1rUM9W*FaX0E1)Fhmn1f+pL zD}Bl-r(AmZ{0){pvLjJ^b589~l}ND*N8Np*c$zFRi+9Vg>`W!s)1LQH678Be~E!nYvH9=~z9+ zG2N-H1<^*L)=#7F5G6*86zgk3xM1$9 z8XHpDUQgM~6wQV{(6m*$*j|=KzWuInvSg_pN_{X6Eeur4rQW-Bg11LFDfijWMWdT- zoAG)y8%>y3_gm8#sd=FuEQYQ=^mSd|yp9lz85CHpf=VIA=Qf)c3 zOVTFDiU zt@TkWj{L)m{zxe`vS-xy{IkzF=Pj4NRZ7W)XsjtHWqYHPD+WWO8DVUnqDov>e>lme zf=3D=aGFufCZvZXy3jbPje~;HKME5SG=#2bBBix*9j9EH{KtR%)P?6?aPPf$bIu({ zAOTplk5eUvD+#!=qIs%}$e*!SYxTphWBMgoPHE46=epmG5_;2T8Knrs!ue=FzOnPo z?pI;ScWNwc*6sDsqCiTM3L2AvCe{n6#p!70xTez^VooW<)Ir2}C)4vyL`hb;iK?TN z8IXl0#*iPDjDtAlEe-$DX&NyLZblkI8$MRobsl)|!B76h|Gf8sd$iJAgcW*2&=zI{ zTOGA?dt2Xkd(0t|V;KT!TQoX;H0;Y8W>GPeX)SeIr(>P?1ZYH-idB~IoM!=>8NH0_ zzZ=%URF#|>Mw*^Xaf9KVjm_wxzHLeabf|)o?f9A&ZX&dSQw&U+UC@Scfpcz1PJQ1y z{O}|G?b$!zl?FEr3|F& zx{NX7aII1$F@U2KOd}hMMDvQ_yLPx*T!bww^GgZ4ReU$j8RtBtI?N$!&}swG0`uB;vT@Okl_@ipApAmtX$k=Rg0=fB)95-McyG0BG}G#J$E8I<-ob z)Y@1ms{kZ&-A;u9Xtj=%9W&YTCV_culdYMZ8tbe!qqwF-5BcJ`mH}MPF)>z6bM16X z3%~)jwQea7p{Q8@br+Hy?%T<|szN8&{N<20-ED=LBztUACs!keG0xQQUiJO~a2>61 znQg63kJw59X`2$Zs=Q5&F~*qh`;Ks~xblj#&pB&+e2j6f2^bP01D2$_rDwe|$jm0W zrz8X{{vS+LgsZzxgh6&%D+F|17n5?kmHAdNltSy~Ax5KEHBgn?(wO-okE(f76ENV6 zqe!5Z{UAd^s^z|Fs}QWusvDN^jx!Pcdo=$&K9_~jUUJm426~q zf{QP@_@3uwn7?4b!i9^M?YnHBeHQPxeEELM_FcYw z`GE%=xM<u3QS?S zilI*nnm4}G+&sEjp-JfA4h-t+T#j@5^l@tnYXBh~n4Jqp=2tChA z#M#)mW*1>6ixbsxo%IWn?(&u)+EE-Bmd*{$*IMhrfx-8`_x-C+S?&40a2*5y;u&Y6 zvL!XlMM!mvd#AptWtkyMS!7>>h>CA8xSBv*L6APzVE&G;){oSx$PgKVMy8aSdWolVED~0)I%(nAnFg{8 zMv}YQ42?me->JFHkF0WyjUSh>v$S_8{dyxtS;hqWH>ngOvs=3SBGqa#rfo5h3yi}g zU<2)dkf!dOjsfn}>Z3e*T2CiX{eI;;-3`@Y4T=bAIGmlx!@yc*z+9quYql1fSG)}t zVMb?v%OIwnAF2A$S^7kj=K(z9VyHoO)N-MmcACo=a~y{;28g6|*(-nWeINYiFa5LD zN)rho5YfPwD1$PI+G=T@(g4m5sK7LzB&E!7kgjJIS01UkvzXL@&^HPQh+J^NxOu>q zEic`D&;7UGdfO9gpV;`~hVhAU-wU+XN=Y*yoH1>vD!SRm^K93+6*zZ$F!p;>ub;E ze$>MG32W7|sx1|5R3)0Jr}lQVU0(Y{UOmA?8N}(+cKj>YpH~Ha#7D4p`-Eu)MwToX z8E@AmG|MlzV&YwFmIcbWq2`<8nOH1t`U=>oP z1~3k*+L>O_h)4}uPgMCBjFAvR?8&sNdxZ8jfI^|b7$ee8KDqX`TW|aIUB7zrcTeuz zvuk{OLTeLO2aXVo^SCSsGStf45G-yQgfM;r(}(*g#*Y%luBZYp#gC{Mc2i`;kdI>5Yr+EsS3W^UhQe{qMv2tr&r zl9`Nn3iG?M(*BaxRw<%%0wZyuoKovqAS@<|iYjj-Lxy3kB~1iGhKA72vYg6(3;;m0 z&c8m3!ELI++1uPeJ?0q8)nz5zg0^W?`zgZ38PRGhPw)ES3F{tBLvWPdQwa!wF|aDS z0q5Kgf^*I~`x`ghc;KrJlv2hWh$u?a^$!s1+uAI|5$!A0h2ZSEw+RVVDz&L{&Dypo zv^YjJMU`wdDXozKXWVfd00@HM{s->=>Cb+4_pg4vapQ)O(b00bthJ6IY3!pkikFB& zSj8Z$D9kwmGR{bAL`Fc2F#}=aa%%~X1Vluuu_H6`_939w8W6N53Jr6lqwLq%gn(qj zK(LF^rLy-Mu1mWTUuQr=-8(k`aIHC5XT;uY9Q)2y&s|JN%(@Ie~&xx9pow&+57aTN6C8d%TcVN~frJ_i2WdbhM zMwj;I%d#2LG?1g7p|=*KqbUGa<%z5DsN70pc0wMpt93)W{J2~ad$1Bh1q%bG z^J`N&xK4UkP1?uSQ>(F_WwhQ3Y&)T8Hu`u*jt{os!%YaQkr2rhg?V%5YoLUCj^dLQ zSrv?ooy-V2BSXT1KtvN06TS=(QQP&qEmD&y_Yw^Ap%?%Lz7GKVEL!-g!w)_3=oO0= zE-tu*S9ZSg{IkzJz4n={TekoJGUhmfv{p*TsbiS{K}!Nv59;Ng41}}x!Zr*r)*RPN z6r))k)nVgbjt02wvVhg+gNjPKh7>?Y832)Ki5qP;F)?xcvB!Ps+J8Ik^iwCs$GH%k z^Eh%p?oAEYOVvlY)TdF|H%zC^QyO|$fB*?<1jHrzFroL>Q~=S+*xndp#!m_W4?q0y zkAM1q@4EBO7oLB9&z=#_^AUk_fsCOkqZYX`C`>|St`LlK0PuZZX=MX71X#Ri(UPT0 zmM+_O$dCEZr{3n+xD$n zwrtzFZO4vRCdVhnCnw6DUz(hpn3zChkv%U#W=VCrNQ^04oMZMym;FFlMFR1u?5Qr$f89HzVdHhJM8d7LqMk^QowX%n-v`waupj~CuJZ2 z?_KlIC;#HF%B3>nJo2RyL}3sOOk`madk8Ag^E{65hBv+GZI@rZ>Vy-Q?zgPq78v7* zsFd`}{+>O%U)sF+&U^0o-nW17`?XJ*_+v`=@N|~FrNL>fnrXg)0dHChLSDM1A9R#m zS*FYFNi=yULDuvl$*3ZyZeluGOC(Qi?kq+?2D*Wr7l{y-QwxJdgyWP-rDI<6nrpB9 z>KU&)wNxqr0At*E50NvQ4=@hYt#D;RIyHf^v@$iNR+0`-Z3G=Xl8As1h?LSwO9C1g zC^E)h+_3RSx7_l7fBKWhAA6$gdF9CoBrP~HqpuM)Aps~&1crLcIi@Iw!M^=n>p$g5tpWa-j5!@~oEgPe2MahPD7bIwdXyt;XLIwEn9Do}w6 zg24CvAn>)4o*y_uY=33jC;#T}?!4{xVxbU7Y4tbhZe)R@e$~7kj}@rLz1=_OW@=Mw zQ$Anole2Hw7 zw*BSPPCaAOrp-cdZK`CGjh9`JtG}LnGMMhJx^?e4?|I(mectCi;zR#% z(b31P?d|O`?O$dBi$RuVwP@DW>fp9*TW|Q@_pbcRRol02D|w|zMM;v}$nJ5-$2wdj zG(oI$M&|SUSCtZu{pV?6l-&QHX18Idj4WKsT-HSiL`xXB7=dX(LIeiQOoFP_>WYJx zUvu?mk3QzeAP5qtHvrTO7y$qvag5RH%As|QqA^NDgyLD&`8b;8;IO!d*mQQlnMYPsY7+C?FW~EdFQ4_xa z^DjgwP{^_@m&@@$Ez|Z}TDbS36JP#{U;W}{A-x2^aq_F|%+*M3K_=E7D;kN2ZL|<> zyYj!iiC~-bD4FNV1vj}EI=6UdczlC(lCzHTEpnB5i{20rllgO2&o*gtFEjM_4@6O* zHA^8(0ij9JkO8z|+O^hNSIQMho|G~kVQh9>%&Di~FJ0KNCK!RW(%SR9FbvOq*ZKeS z&;K}kuUUZT*ZjZ_0YL~sLLfq%Cn^%;$yxBuby_Xr}>tV%>W zMwU%Zjs|WW!vF#}E{tp|Ru`@6!~RkZ`w?(3Jmya-?fiqk2(jY`sez%T;UhCW8RO5J z2XIE#MS!MsiZRWFh(v;!K%gY74h|lE$YEDrdDWVu*3@b>0El}P2y{AB3Um^YIipPD zJgLUXWIh~fD`IACHe6NaL272LmDV~^N-HGn>gwLUecKnW`{H-Md&5JIJpAGdyO_0M z$iV(=B2OkEND6^OT0;+K$Md{OM@0ycN@)O; z(n@JI-YERUZ|5H#BQ7A{_((4#UXvZW(}@4!p7lm+wu367><`)8{T!I`7E?jLo6!B@i1@l zFs+iEx1Pv{r`xxL*;{H&Lvry!GXQI)Nf5Ge^Cbep#O4Umw%VhsfU_e}lRchzFEXTq ziP`>P%*UG8$zHvep_cVHL^z`3;$J{jcvxh6B&)GK+>SAy9dvF?HQl? z^k?SHpTo?8Y|)iS*nme#I4E!+B*1Kfnl~#M0@-l-``9q-7-26*QKVEPgy`<-diL2( zpa1;lzw^y+Jofk#0|Ns9AcQczoGMZgGZ9HCN}_Cp#Z}+0R%=ACY}r94o%pI#Pd{be zoO!*ICU|1*bN`L#GX~M;(D3nTh}~Y0{Jf zmMnex>5V0?1WF}yinzfV8oL$DErX9S;>1Sb=sn?3$Z#)d+&;p@=RKTB$WT9HGy7dg zjCR;`d>eW!Mmh+{l)^37XxHtsa_7_;&6`QC*md5`xP>DCYGzcLh!m^UD-QYSr5~Q$ zHz^83&y!jM0vYbi1UEtkO2Y^dG6)0|0)!AsshP88UwiGfr<{7qwyoPdPb$SJs>kdy z;bspP+c+j`m^CaMv!#Z6ZjYPw=86HvNPEB|_-SWPOt2&@5gfE3c=F%IkVDzzSu-;s zYGy+8yi%k>4*0$Ae(%RVap{!4DJoKy!6FIl1}V;=bLRX(n<6}idCPmwWs2_*6K|Z$ zs~qTHtxt-U1?&@!RbbpJ=c(>cT(??B}@MI=RY@+n)nBrtp2eba6Qg_YB^845z}cCN`5<{E8+T&(7s;w zJ!hRYqM>TVST1FvAkzVD#3Gu3%s#}#AktcVC+IEXyA4iXJGe~)xeJbSso1qUc}4p_ zP$2%x$3H%2?rbnx4Ir(VH5$c*MQ;cQ?D~NV!A!P|3=mZm9eUWIZ+PRIKX=X5N-44y zC&{Pg*f5F52cVB&)$#alsB!zGc|0+};tY=0{%&1#i>*yi#g_HHBN<#Vir~3Np0FHp znIe*qvRbWnb$0!~4`2Mg3(oKA?lMRS5v7zun1NBb^^qAWn*L?lva)8o4LGQV%oG=@ z)>x!Bpb%8*d`Ec z*l%i~f=k&Bn+U;{7Qp!EkVb+73~b8{g-eVP0SFyeaApRZ>>OfOeWW8x4mUT2++sBsx^XCZJd28nwz8!<2GV;M#$KpjiGGb z3%~~K)&Kw?07*naRF;{oAhi&Vxb*$^AOWPJ?>xy7kSyiQW+GGo%323FZ2Io^~0<+18dD% zsjjXr0J!;=zx>P`#u1yT)pDd(@tM^%<&5sEu1!e zddUo9h{DJZ6Y&`da>)1SFgsmQwAY0c?O7HBYWXV1_Edt}dX zJ6bfxz`Jg5o7(P25CQ5b!0geVZ@|X*OTs~s-?eKdNz=`-P3`5`dU;WCH zKX&P*2d`X?z)=(mL59N5KY3{nmsiTQ$Q`ZdWb4CQwge2$jy|5u4LflwjiE4!y;?ICkd7x|uFXA%wM;qe87&>O3BoLY2~UX3k!{dbQFj2t#3MeSyMu{@Xyo z`OXVxT#_BxZ2lvPqSIe@`gLFW($4KW%9V25haO|WJX14rP%?B+Yt!#el!cC2%|~lt z0$X+S!X}F_N7FVECpLi&+$583g~ux7pRhgot*hiIq%ud2-r89E9viO`+mz;acRA*iFXW9!y!S6zA44d1(A(=!{RD3a1M?fS{D5(z|0xy_n6 z5O!aybYB-}mF1CZ>)}&LuahbD|5z7#sdzW-2TetkTS&3N8Yy zni+^h0!%YU>K-bUj9`y(JyD1w3#}9W!1yctVmHhoj?J{qF^TCZDHe|eOwU9lK+`*J zTO8sB2eY*c%_-5&q$x5w$|XMt44O&$YqIOc>7Y-fZ|GQraBMpY`3Zyd_&kO1PMk_66ULa$dM~L+b@y~@ z&HwoyU;X^&uX*_4M{0hpR4RF%XMQFQb0mcH{hHQ#$pHtPdFENCo_gwng$sIndjK%- zgTVLgd@M)Kj4p}B2+1H&N1l=cU0erF;yZz^*q_}wHR)uEgmU8s1UbZ?NEooFlw#I} z26{X?E@~JS(xYn#ZJwavU-&H4zaTlq=n+-B0CbBBY1r#63yFjfu?reI3|zvrS$9g# zC_)Neb4Y`{?9GuFWA6GcZX zlPy?eKR#!eIj(1!7&B8`?W<=7(>o-aj+B!sp_}x##YSXURh2PH!FjyABF6&i{WXts z#cU(e7_|Gf(m=zBHmt>iA!`#=0K7PT(YTeo@st8iJ5o8*n;Mrd8xk}yZ^2w7WX%Q3 zCA03?rRpsxV>9g`#g3*JvDfU`M5vT%q0!_oenlewB`|%BbDJ@Wenb39JToT!$&A#3_8D}?>q0UdD_&c+ivSAd3uf+8rXc|9n##0} zqA=?2=^3mJe*6=k`118%+OY9y04|k0ts#o1OWCGTBqSUh96aurwU=MT-HRbsYz(t!BBjo`xb&L_FB5;P0VCJLJx+b!ToA}j zfk$U&7a=Oy0trbnQ&x2e>`DqaE30&hNC1pTM7CIjZX$xi4jKi`RpZiL zFwvk}1MwnCA{0VsrK{EIf&~jMxZwR~o_WU1Su+jsCP{kaAz0omg<@_}=#mXsh9^e`_A9~^Tn6k{@dTwYPCwGj7Ul;ts^rIK?p%e zLJDRb2GJR>J>yeXe0u(ZIldnRzAvSeo=2wTfU;e&DWT=$GcLuLs`v7x()>79sBg1m zr$CI5_m5_7q_jz!<$w^QDBQMfYeLcGD?t-77&T&3cnsD$@1eJzAhcZb-rf;OYcZFq zjrB5X@kU`0`G8QT&CUI|IgPZ=Hx;=pSx#6=LIgU>HcsZAWL$fPx=Y4ML`tmh-_NdK zj`wuJdf2`S$m{Kl^ND61Q-{s;usn+KdTm>l!&$&X$oa=|hwi~Z(b`3h`nt@rC3BLI zVn#*=hyq`dM}*2s&6RPyZuGFM#}*M0mP(ZykgQfI>FwmMyUKtUH>@*l%Po~zv{}jmO z)*3fBRC4yd_EF~sr&@NCme)99zU-#5g8xWyX^0a2=$W4N^R*Fa~ z)=_lU8E0R0_0?0S_4&1$(i+WDGigF`TEi~I=+yAD5;smm4CW6A$Pmb!-W1NfZUN%R zVK~Ein2$yT%s@g6>>7CT&l@22e97fu^_ye@&LQ3-*OOa>|)+!c~WgCFvKY7rHjpKDpOt99hH5SE_+?VOzkNn8!RT|z* zBO5T@Ub#_$G2?@0c5pWTf27crI-H8%2g|Sy1Jt%tkr5H zg;$b-DTx~l*37I9z+}zdxK8($aRyI*tYG>=<|nM{rVT=@A&Mdf?(Xis=l8$==p`S! z_10ewRIBAm1%RV4GRhB#Jy7D`(qRyteDbTVyz(U_c~h)eJ+VE^Zk%KR&J4v{oS!GjH3zLo-VuOkV>J?Y7b?0@wpv zWz1TCaz3MD=Xu-qoU>8iDULczOwf-I!ViMORvmu9`R`kL;8J!<{A}m_rld2*XBHxu zDRM-pnF$CGzJ1^gcinln%~FV2fr5zLkjJTK*67z8PXNIRx7@Hc8qmI;~X+k0P}{)TsVRl>vTsk z*a8$ntbgX|Y!u=QBurjVXMzs9He=2!8?o=kXErixL)A}}H&r1s&g z&C0 zK>q;5qh%Y3ErR8D_Ve80metiWm zMZhgTwDthF#~=UGuHCy4F;bD%7D+QVbfQS&Nb2?tsdXVjgJGHJA8hm!$t^JJMo1xq zltOfLcHDl)ZD*Z*_Se7hjlsdea;1Yny3^g`AvCC!4#O}EBfnNV^3cP-aP4)A_ua?$ zYtoZK2t)!#){aLx#=y+Lv}F8&{SzNc@xCw!6I`SPMcxLSXg0HcOq`x{2Cy2;%DHX1{&N0!LIdN+iFO{QN_)X zVajxxy!%Z;q-63bx)81K=9*fmJ$o|M(q@8k1R&=YYOR%4Qp)=tyzlq-+{3Je5JE^I zVY-pD)>)4G5N0Me5;-gMK>9nT?Ra?oa{#*Af7!h2*}wD9Q1 z_!J+bjBZc8q+2gb))1L_Bk`BTZSlVdibpm%KM(_i#CAS*FlEr~BHh{-^GCJ-T>dF@>A=4`WFYT)Ca_6j$(+zMPC*n#pG7qmrnmxDW#OM z-KL11=Y8ut-~PKd{oP%6-z5Z<%Ozk%$byi}iy}%%Qc4oSG$%w+bl4$>e(~S`eV_gJ ztyTw#gjsY6FUHz_9%QExA-+I#K$fd(wtQTy1VneYU{TEAcqTSu#!{0Vcc(&I9Zd65 zd%Lv#V>s;{J9gZ1+igk1MvNyJQ^gMg{H>62SR zWoz$}neR0AYXj3Q?ph=o_|yCtNE;O5|I%(SY>kwP3AQw!Q(Bq9&ENU%4FD*F5G2e% z2>Z$!Km*6+Q%*r6GebOmhLKQ6K|&CT+Tg$szWe=}U$cWyO++301?qR=fQ2PrdiN^LFgm(bL@xL`oZ=oRqYaZmk5tAOZrpS*&Z692Xu_ zCaWM(x6w+0R_WSPY{&cgzVCTn7=|DJ*MEKAdGB5S)P~MV2N5AF0ZO1EP=s0_2!SMo zkkTv3Qn{>@T65Up|NiCwJn*2U1A_x*GETaX7<8ORgR5hU(NyEQLtK}L{phSMZ~g$t z&HRdKwv@i(^!=O(Yi#E&Lc&f%eo_N7uyIJ)@Z^*K`#=9v@=983A%r9(*2o%IxjFjZ z4u%_jdf)b3itB(qjwm9e`YdR_EC{omQ=<<$%tO#2Jc^4P?ysCtD-mpt-kgvDu?j+Sq@r@E^!@Mu;Feo%MN0Q+f(@;lBc{>J8)^;O z5oREv5CQ=zmGW2r>+ARY{vJc!X|0t~nl;B6`j z**qD_EPh+^JlQ|cf8F)hzxMRgzx~Z`l{~LfE~`)lK^R4mQd+4L?xsR3Ors>%84Z{o zu2|dF#F?A{(?F@TGE`g?MO|H8&u-fEu6Mor-#+n)9XofH%3f$LMzcj=c5VRyke%<2 zRIOHzTyy00U;2+_%MYv$)?_?~zV0hcf6{b1-Bs!H%1PTeLxx}?mW#h@J9Oe7ic_P8 zlPNH*ba3$+rWDc<00D3R!Sjc6?@Km!{}xi;a>s%!&dhQjAfYS z(aC7Iy*yZhgM`762aMT$7>m=c$urM8!RO}IH`eWC#!V%ER8b(q#!)v9a~PNtok^`) z{on^bxcQmQ3=jli7)DVPnP_XyKSD4X3q<={rp6kXu6w1zF!V~LM<03Q)1UtI?%lgg z{Zwo17J0KEa(L@4`QXjfjYGaTk0tGjZCazbC_2h*y9a|OHn@-k31s9yS;ML%5@LFy zW#m29JB*ugp9Q6Z_65BW-dJp8)jI4D)HXypOrEe#=op*ADy2%LG63Fw#~tUt@BFjQ zIP-u1=YLA2az{r8Glx;ARA^{_%!Bc`s>oT$91jb%bv>8mb)Jah$^>Agl5A$1c6D_< z@%Ur!e%HId`qi%t4h{+_eLo1pP(_haN-Izrm<6K%q@-LpFfg#@h$FAN_R9wyyi}>s z^E@df8HNxAp)I6Re4VD+>#S3!=O8VZ+9mHcB5^&s!Q>;OQ>#tMGpBM2?EIZ@Zx(Sm z|Afd$3VyRSm`l+Y>{mcIW0AU!KH&@IGK!HinQ*LqelPE_LxiEiYaL>uq zhUNyqw(GVXA7Lvusww3=ey7(^EFg~YdDGr(p+4GT(aLO6mB_zZysfkw8?wB9{l{_3 z5}d(sR!�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 un-LTkbw?eP%_nj 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 literal 0 HcmV?d00001 diff --git a/popup.css b/popup.css index fbfde40..54f5605 100644 --- a/popup.css +++ b/popup.css @@ -61,6 +61,15 @@ button.secondary { padding: 8px; } +.cover-image { + width: 36px; + height: 36px; + border-radius: 4px; + object-fit: cover; + display: block; + margin-bottom: 8px; +} + .url-text { margin: 0 0 8px; font-size: 11px; diff --git a/popup.js b/popup.js index 703034a..02ed569 100644 --- a/popup.js +++ b/popup.js @@ -12,17 +12,37 @@ function entryLabel(entry) { return entry && entry.fullUrl ? "full candidate" : "preview fallback"; } +function formatMeta(entry) { + const key = entry && entry.key ? entry.key : "n/a"; + const bpm = entry && entry.bpm ? entry.bpm : "n/a"; + const tags = entry && Array.isArray(entry.tags) && entry.tags.length ? entry.tags.join(", ") : "n/a"; + return `Key: ${key} | BPM: ${bpm} | Tags: ${tags}`; +} + function buildRow(entry) { const li = document.createElement("li"); li.className = "url-item"; + if (entry.coverImageUrl) { + const cover = document.createElement("img"); + cover.className = "cover-image"; + cover.src = entry.coverImageUrl; + cover.alt = "Cover art"; + cover.loading = "lazy"; + li.appendChild(cover); + } + const p = document.createElement("p"); p.className = "url-text"; - p.textContent = entry.previewUrl || entry.fullUrl || ""; + p.textContent = entry.fileName || entry.sampleId || "(unknown filename)"; const status = document.createElement("p"); status.className = "status"; - status.textContent = `Source: ${entry.source || "unknown"} | Mode: ${entryLabel(entry)}`; + status.textContent = `Source: ${entry.source || "unknown"} | Mode: ${entryLabel(entry)} | ID: ${entry.sampleId || "n/a"}`; + + const meta = document.createElement("p"); + meta.className = "status"; + meta.textContent = formatMeta(entry); const actions = document.createElement("div"); actions.className = "actions"; @@ -52,6 +72,7 @@ function buildRow(entry) { actions.appendChild(copy); li.appendChild(p); li.appendChild(status); + li.appendChild(meta); li.appendChild(actions); return li; }