From bb5fc2d25c809c437e707502b258dc26a17b4544 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 16 Oct 2026 06:07:41 +0000 Subject: [PATCH] ventures: refresh havre from havre-next --- ventures/havre/app.js | 210 ++++++++++++++++++++++++----- ventures/havre/index.html | 36 ++++- ventures/havre/shots/desktop.png | Bin 74355 -> 75683 bytes ventures/havre/style.css | 14 ++ ventures/havre/tests/card.test.mjs | 36 +++++ ventures/havre/tests/smoke.mjs | 82 +++++++++-- ventures/havre/venice.js | 51 ++++--- 7 files changed, 357 insertions(+), 72 deletions(-) diff --git a/ventures/havre/app.js b/ventures/havre/app.js index 4a2b8d8..3b5aff6 100644 --- a/ventures/havre/app.js +++ b/ventures/havre/app.js @@ -38,17 +38,20 @@ function box(kind) { } const local = box("localStorage"), session = box("sessionStorage"); const K = { cards: "havre.cards.v1", chats: "havre.chats.v1", sel: "havre.selected", key: "havre.key", model: "havre.model", - sort: "havre.vsort", seeded: "havre.seeded.v1" }; + sort: "havre.vsort", seeded: "havre.seeded.v1", adult: "havre.adult", adult18: "havre.adult.18", plainModel: "havre.plain.model", + own: "havre.venice.models" }; const PAGE = 24; +const PLAIN = "_plain"; // a plain chat with a model: no character, no card const SORTS = ["featured", "imports", "highestRating", "mostRecent"]; // what a character hears when they speak first; it stays out of the conversation on screen const OPENER = "[Start the conversation: someone new just came to talk to you. Say hello in character, in a line or two.]"; const S = { - cards: [], sel: "", chats: {}, key: "", keyRemembered: false, model: C.DEFAULT_MODEL, models: null, replying: null, - demo: {}, rx: null, v: { list: [], offset: 0, more: false, query: "", sort: "featured", loading: false, asked: 0 }, + cards: [], sel: "", chats: {}, key: "", keyRemembered: false, model: C.DEFAULT_MODEL, models: null, modelsError: "", + replying: null, demo: {}, rx: null, plain: null, own: {}, + v: { list: [], offset: 0, more: false, query: "", sort: "featured", tag: "", adult: false, loading: false, asked: 0 }, }; -const card = () => S.cards.find((c) => c.id === S.sel) || S.cards[0] || null; +const card = () => (S.sel === PLAIN ? S.plain : S.cards.find((c) => c.id === S.sel) || S.cards[0] || null); // ---------- boot ---------- function boot() { @@ -57,16 +60,21 @@ function boot() { for (const [id, hist] of Object.entries(S.chats)) if (!Array.isArray(hist)) delete S.chats[id]; S.sel = local.get(K.sel, "") || ""; retireFirstCast(); - if (!S.cards.some((c) => c.id === S.sel)) S.sel = S.cards[0] ? S.cards[0].id : ""; + if (S.sel !== PLAIN && !S.cards.some((c) => c.id === S.sel)) S.sel = S.cards[0] ? S.cards[0].id : ""; const kept = local.get(K.key, ""); S.key = kept || session.get(K.key, "") || ""; S.keyRemembered = !!kept; S.model = local.get(K.model, C.DEFAULT_MODEL) || C.DEFAULT_MODEL; + S.plain = { ...C.normalizeCard({ name: "no character", voice: { short_form: false } }), id: PLAIN, plain: true, + model: local.get(K.plainModel, C.DEFAULT_MODEL) || C.DEFAULT_MODEL }; const sort = local.get(K.sort, "featured"); S.v.sort = SORTS.includes(sort) ? sort : "featured"; + S.v.adult = local.get(K.adult, false) === true && local.get(K.adult18, false) === true; + S.own = local.get(K.own, {}) || {}; bind(); renderAll(); - if (S.key) loadVenice(0); + loadModels(); + if (S.key) { loadVenice(0); loadBalance(); } } // The first version of Havre arrived with three characters of its own. This one has none, so they leave, unless @@ -93,7 +101,7 @@ function persistCards(now = false) { } function persistChats() { for (const id of Object.keys(S.chats)) { - if (!S.cards.some((c) => c.id === id)) delete S.chats[id]; + if (id !== PLAIN && !S.cards.some((c) => c.id === id)) delete S.chats[id]; else if (S.chats[id].length > 80) S.chats[id] = S.chats[id].slice(-80); } local.set(K.chats, S.chats); @@ -118,10 +126,15 @@ function replaceCard(next) { } // ---------- faces ---------- +// Venice keeps character photos (outerface.venice.ai) behind its own sign-in; its image service hands them out +const OUTERFACE = /^https:\/\/outerface\.venice\.ai\//; +function veniceImg(url, w = 384) { + return OUTERFACE.test(url || "") ? `https://venice.ai/_next/image?url=${encodeURIComponent(url)}&w=${w}&q=75` : url || ""; +} function portraitSrc(c) { const p = (c && c.portrait) || ""; if (/^data:image\/(png|jpe?g|webp|gif|svg\+xml)[;,]/i.test(p)) return p; - if (/^https:\/\/outerface\.venice\.ai\//.test(p)) return p; + if (OUTERFACE.test(p)) return veniceImg(p); if (p.startsWith(C.SITE)) return p.slice(C.SITE.length); if (p && !/^[a-z][a-z0-9+.-]*:/i.test(p) && !p.startsWith("//")) return p; return ""; @@ -156,16 +169,33 @@ function renderGrid() { $("#vnext").disabled = !S.v.more || S.v.loading; $("#vrange").textContent = showing ? `${S.v.offset + 1}–${S.v.offset + S.v.list.length}` : ""; if (!S.key) vStatus("paste your venice key above and venice's characters show up here."); + renderTags(); } +/** the tags on this page, most common first; one picked narrows the search to it */ +function renderTags() { + const p = $("#vtags"); + p.textContent = ""; + const counts = new Map(); + for (const v of S.v.list) for (const t of v.tags || []) { const k = String(t).toLowerCase().trim(); if (k) counts.set(k, (counts.get(k) || 0) + 1); } + const top = [...counts].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).slice(0, 14).map(([t]) => t); + if (S.v.tag && !top.includes(S.v.tag)) top.unshift(S.v.tag); + p.hidden = !S.key || !top.length; + if (p.hidden) return; + p.append("tags: ", ...slashed(top.map((t) => (t === S.v.tag + ? h("b", {}, "#" + t + " ", linkish("×", () => setTag(""), { "aria-label": `Show every tag, not just ${t}` })) + : linkish("#" + t, () => setTag(t), { "aria-label": `Only characters tagged ${t}` }))))); +} +function setTag(t) { S.v.tag = t; loadVenice(0); } function tile(v, now) { const here = S.cards.some((c) => c.engine.venice_character === v.slug), on = now === v.slug; const ph = h("span", { class: "ph" }); - paintFace(ph, v.photo); + paintFace(ph, veniceImg(v.photo)); return h("li", {}, h("button", { type: "button", class: "tile", "aria-pressed": on ? "true" : "false", "data-slug": v.slug, "aria-label": `Talk to ${v.name}`, title: v.description ? v.description.slice(0, 300) : null, onclick: () => talkTo(v) }, ph, h("span", { class: "tx" }, h("span", { class: "nm", text: v.name }), v.description ? h("span", { class: "ds", text: v.description }) : null, - h("span", { class: "go", text: on ? "talking now" : here ? "talk again" : "talk" })))); + h("span", { class: "go", text: on ? "talking now" : here ? "talk again" : "talk" }), + v.adult ? h("span", { class: "x18", text: "18+" }) : null))); } /** who is talking now, and who is in your harbor already, without redrawing the photos */ function markTiles() { @@ -185,10 +215,12 @@ async function loadVenice(offset = 0, { paging = false } = {}) { vStatus("asking venice for characters…"); renderGrid(); try { - const { list, more } = await new Venice(S.key).characterPage({ search: S.v.query, sort: S.v.sort, limit: PAGE, offset }); + const { list, more } = await new Venice(S.key).characterPage({ search: S.v.query, sort: S.v.sort, tags: S.v.tag, + adult: S.v.adult, limit: PAGE, offset }); if (asked !== S.v.asked) return; // a newer search is on its way Object.assign(S.v, { list, more, offset, loading: false }); - vStatus(list.length ? "" : S.v.query ? `nothing safe for work matched “${S.v.query}”.` : "venice sent back no characters."); + vStatus(list.length ? "" : S.v.query || S.v.tag ? `nothing matched${S.v.query ? " “" + S.v.query + "”" : ""}${S.v.tag ? " in #" + S.v.tag : ""}.` + : "venice sent back no characters."); renderGrid(); if (paging) $("#chars").scrollIntoView({ behavior: motion(), block: "start" }); } catch (e) { @@ -201,6 +233,7 @@ async function loadVenice(offset = 0, { paging = false } = {}) { function talkTo(v) { if (!S.key) return needKey("paste your venice key first."); + if (v.model && S.own[v.slug] !== v.model) { S.own[v.slug] = v.model; local.set(K.own, S.own); } // the model they use on Venice let c = S.cards.find((x) => x.engine.venice_character === v.slug); if (!c) { c = addCard({ @@ -250,23 +283,25 @@ function selectCard(id, { talk = false, scroll = false } = {}) { // a Venice character, or one of yours with no greeting written, says hello first function speakFirst() { const c = card(); - if (!c || !S.key || S.replying || (S.chats[c.id] || []).length) return; + if (!c || c.plain || !S.key || S.replying || (S.chats[c.id] || []).length) return; if (c.engine.venice_character || (!c.greeting && c.persona)) send(OPENER, { hidden: true }); } // ---------- the conversation ---------- +/** characters from Venice, and the plain chat, need a key to say anything */ +const needsKey = (c) => !!(c && (c.plain || c.engine.venice_character)); function renderChat() { const c = card(); $("#who-name").textContent = c ? c.name : "chat"; renderChatMeta(); - const venice = !!(c && c.engine.venice_character); - const locked = !c || (venice && !S.key); + const locked = !c || (needsKey(c) && !S.key); $("#say").disabled = locked; $("#sendbtn").disabled = locked || !!S.replying; - $("#say").placeholder = c ? `say something to ${c.name}` : "say something"; + $("#say").placeholder = c && !c.plain ? `say something to ${c.name}` : "say something"; const kn = $("#keynote"); kn.hidden = !c || !!S.key; - kn.textContent = venice ? `paste your venice key above to talk to ${c.name}.` + kn.textContent = c && c.plain ? "paste your venice key above to chat." + : needsKey(c) ? `paste your venice key above to talk to ${c.name}.` : "no key yet: replies come from the card's own examples. paste your venice key above to really talk."; renderLog(); } @@ -275,8 +310,9 @@ function renderChatMeta() { meta.textContent = ""; if (!c) return; meta.append(...slashed([ - c.engine.venice_character ? "via venice, with their own prompt" : c.tagline, - linkish("card", () => openCard("edit")), + c.plain ? "just the model, no character" : c.engine.venice_character ? "via venice, with their own prompt" : c.tagline, + h("span", {}, "model: ", linkish(modelName(c.model), openModels, { id: "model-btn", "aria-label": `Model: ${modelName(c.model)}. Change it` })), + c.plain ? null : linkish("card", () => openCard("edit")), linkish("start over", startOver, { title: "Start this conversation over" }), ])); } @@ -294,7 +330,7 @@ function startOver() { /** one line of the script: who says it, then what they say. kind: note, err, typing or suggest */ function line(text, who, kind = "") { const c = card(); - const name = who === "me" ? "you" : who === "havre" ? "havre" : c ? c.name : ""; + const name = who === "me" ? "you" : who === "havre" ? "havre" : !c ? "" : c.plain ? modelName(c.model) : c.name; const said = h("div", { class: "said" }); if (kind) said.textContent = text; else { @@ -325,12 +361,15 @@ function renderLog() { return; } const hist = S.chats[c.id] || []; - if (c.engine.venice_character) { + if (c.plain) { + if (!hist.length) put(line(S.key ? "a plain chat: no character, just the model you pick above. say anything." + : "paste your venice key above to chat with a model.", "havre", "note")); + } else if (c.engine.venice_character) { if (!hist.length) put(line(`${c.name} speaks through venice, with their own prompt.${S.key ? " say hello." : ""}`, "havre", "note")); } else if (c.greeting) for (const b of C.splitBubbles(C.fill(c.greeting, c, "you"))) put(line(b, "them")); for (const m of hist) { if (m.role === "user" && !m.hidden) put(line(m.content, "me")); - else if (m.role === "assistant") for (const b of C.splitBubbles(m.content)) put(line(b, "them")); + else if (m.role === "assistant") for (const b of bubblesOf(c, m.content)) put(line(b, "them")); } const ideas = hist.some((m) => m.role === "user" && !m.hidden) ? [] : C.suggestions(c); if (ideas.length) { @@ -342,9 +381,13 @@ function renderLog() { scrollLog(); } +/** a character texts in short bubbles; a plain chat answers in one piece */ +const bubblesOf = (c, text) => (c.plain ? [C.stripThinking(text)].filter(Boolean) : C.splitBubbles(text)); +const plainMessages = (hist) => hist.filter((m) => !m.demo && (m.role === "user" || m.role === "assistant")).slice(-40) + .map((m) => ({ role: m.role, content: m.content })); function setBusy(on) { const c = card(); - $("#sendbtn").disabled = on || !c || !!(c.engine.venice_character && !S.key); + $("#sendbtn").disabled = on || !c || (needsKey(c) && !S.key); $("#composer").setAttribute("aria-busy", on ? "true" : "false"); } @@ -367,6 +410,7 @@ async function send(text, { hidden = false } = {}) { try { let reply; if (demo) { + if (c.plain) throw new Error("Paste your Venice key above to chat."); if (c.engine.venice_character) throw new Error(`${c.name} lives on Venice, so they need your Venice key to talk.`); await sleep(still ? 250 : 750); const n = S.demo[c.id] || 0; @@ -374,7 +418,8 @@ async function send(text, { hidden = false } = {}) { reply = C.demoReply(c, n, text); } else { const r = await new Venice(S.key).chat({ model: c.model || S.model, characterSlug: c.engine.venice_character || "", - messages: C.chatMessages(c, hist.filter((m) => !m.demo)), signal: ctrl.signal }); + veniceSystemPrompt: !!c.plain, maxTokens: c.plain ? 2000 : 700, + messages: c.plain ? plainMessages(hist) : C.chatMessages(c, hist.filter((m) => !m.demo)), signal: ctrl.signal }); reply = C.stripThinking(r.text); if (!reply) throw new Error("Venice sent back an empty reply. Try again, or pick another model on the card."); } @@ -382,7 +427,8 @@ async function send(text, { hidden = false } = {}) { hist.push({ role: "assistant", content: reply, ...(demo ? { demo: true } : {}) }); persistChats(); typing.remove(); - await play(C.splitBubbles(reply), ctrl.signal); + if (!demo) balanceSoon(); + await play(bubblesOf(c, reply), ctrl.signal); } catch (e) { if (e && e.name === "AbortError") return; typing.remove(); @@ -414,10 +460,14 @@ async function play(bubbles, signal) { // ---------- the card ---------- function renderCard() { - const c = card(); - $("#card-empty").hidden = !!c; - $("#card-body").hidden = !c; - $("#card-h").textContent = c ? "CARD: " + c.name.toUpperCase() : "CARD"; + const c = card(), real = !!c && !c.plain; + const empty = $("#card-empty"); + empty.hidden = real; + empty.textContent = c && c.plain ? "a plain chat has no card. pick a character to see theirs." + : "no character yet. the card shows up here once someone is in your harbor."; + $("#card-body").hidden = !real; + $("#card-h").textContent = real ? "CARD: " + c.name.toUpperCase() : "CARD"; + if (!real) return; renderSheet(); resetRemix(); } @@ -444,13 +494,84 @@ function fillModels(sel, current) { if (current && ![...sel.options].some((o) => o.value === current)) sel.prepend(h("option", { value: current, text: current })); sel.value = current || C.DEFAULT_MODEL; } -async function loadModels() { - if (S.models) return; +let modelsAsked = null; +function loadModels() { + if (S.models) return Promise.resolve(); + if (!modelsAsked) { + modelsAsked = new Venice("").models().then((ms) => { + S.models = ms; + S.modelsError = ""; + const c = card(); + if (c && !c.plain) fillModels($("#model-select"), c.model); + renderChatMeta(); + if ($("#modeldlg").open) renderModels(); + }).catch((e) => { S.modelsError = e.message; modelsAsked = null; if ($("#modeldlg").open) renderModels(); }); + } + return modelsAsked; +} +const modelName = (id) => { const m = S.models && S.models.find((x) => x.id === id); return m ? m.name : id || "?"; }; + +// ---------- the model picker ---------- +/** the model a Venice character uses on Venice itself, as Havre last saw it */ +const ownModel = (c) => (c && c.engine.venice_character && S.own[c.engine.venice_character]) || ""; +const usd = (n) => (n == null ? "?" : "$" + (n >= 10 ? n.toFixed(0) : n >= 1 ? n.toFixed(2).replace(/\.?0+$/, "") : n.toFixed(2))); +function openModels() { + const c = card(); + if (!c) return; + const own = ownModel(c); + $("#model-for").textContent = c.plain ? "for the plain chat." : `for ${c.name}.` + (own ? ` their own on venice: ${modelName(own)}.` : ""); + $("#msearch").value = ""; + $("#modeldlg").showModal(); + renderModels(); + loadModels(); +} +function renderModels() { + const c = card(), tb = $("#mlist"), q = $("#msearch").value.trim().toLowerCase(); + tb.textContent = ""; + if (!c) return; + if (!S.models) { + tb.append(h("tr", {}, h("td", { colspan: "5", text: S.modelsError || "asking venice for its models…" }))); + return; + } + const own = ownModel(c); + const rank = (m) => (m.id === c.model ? 2 : 0) + (m.id === own ? 1 : 0); + const list = S.models.filter((m) => !q || `${m.id} ${m.name} ${m.traits.join(" ")} ${m.privacy}`.toLowerCase().includes(q)) + .sort((a, b) => rank(b) - rank(a) || a.name.localeCompare(b.name)); + for (const m of list) { + const can = [m.vision && "sees", m.tools && "tools", m.reasoning && "reasons", m.web && "web", m.uncensored && "uncensored"].filter(Boolean); + const notes = [m.id, m.id === own && "their own", m.traits.includes("default") && "venice's default", m.retiring && "retiring " + m.retiring].filter(Boolean); + tb.append(h("tr", { "aria-current": m.id === c.model ? "true" : null }, + h("th", { scope: "row" }, linkish(m.name, () => chooseModel(m.id), { "aria-label": `Use ${m.name}` }), h("span", { class: "mid", text: notes.join(" · ") })), + h("td", { text: m.privacy || "?" }), + h("td", { text: can.join(" · ") || "text" }), + h("td", { class: "num", text: `${usd(m.input)} / ${usd(m.output)}` }), + h("td", { class: "num", text: m.ctx ? Math.round(m.ctx / 1000) + "k" : "" }))); + } + if (!list.length) tb.append(h("tr", {}, h("td", { colspan: "5", text: `no model matches “${$("#msearch").value.trim()}”.` }))); +} +function chooseModel(id) { + const c = card(); + if (!c) return; + if (c.plain) { S.plain.model = id; local.set(K.plainModel, id); } + else { replaceCard({ ...c, model: id }); fillModels($("#model-select"), id); } + $("#modeldlg").close(); + renderChatMeta(); + toast(`${c.plain ? "The plain chat" : c.name} now talks through ${modelName(id)}.`); +} + +// ---------- what is left on the key ---------- +let balanceTimer = 0; +function balanceSoon() { clearTimeout(balanceTimer); balanceTimer = setTimeout(loadBalance, 1500); } +async function loadBalance() { + const el = $("#balance"); + if (!S.key) { el.hidden = true; return; } try { - S.models = await new Venice("").models(); - const c = card(); - if (c) fillModels($("#model-select"), c.model); - } catch { /* the recommended list is enough */ } + const { amount, currency } = await new Venice(S.key).balance(); + if (amount == null || !S.key) { el.hidden = true; return; } + el.textContent = "balance " + (currency === "USD" ? "$" + amount.toFixed(2) + : currency === "DIEM" ? amount.toFixed(2) + " diem" : amount.toFixed(2) + " credits"); + el.hidden = false; + } catch { el.hidden = true; } } function renderSheet() { @@ -612,6 +733,7 @@ async function saveKey(ev) { renderChat(); resetRemix(); loadVenice(0); + loadBalance(); } function forgetKey() { if (S.replying) { S.replying.abort(); S.replying = null; setBusy(false); } @@ -624,6 +746,7 @@ function forgetKey() { $("#keyremember").checked = false; updateKeyUI(); keyStatus("forgotten.", false, true); + $("#balance").hidden = true; renderGrid(); renderChat(); resetRemix(); @@ -710,7 +833,7 @@ async function rxSource(c) { } async function distill() { const c = card(); - if (!c || S.rx.busy) return; + if (!c || c.plain || S.rx.busy) return; if (!S.key) return needKey("remix needs your venice key."); rxBusy(true); try { @@ -944,6 +1067,21 @@ function bind() { local.set(K.sort, S.v.sort); if (S.key) loadVenice(0); }); + $("#vadult").checked = S.v.adult; + $("#vadult").addEventListener("change", () => { + const box = $("#vadult"); + if (box.checked && !local.get(K.adult18, false)) { + if (!confirm("Adult characters are for people 18 or older.\n\nAre you 18 or older?")) { box.checked = false; return; } + local.set(K.adult18, true); + } + S.v.adult = box.checked; + local.set(K.adult, S.v.adult); + if (S.key) loadVenice(0); + }); + $("#plain").addEventListener("click", () => selectCard(PLAIN, { talk: true })); + $("#msearch").addEventListener("input", renderModels); + $("#modelform").addEventListener("submit", (e) => e.preventDefault()); // Enter in the search box keeps it open + $("#mclose").addEventListener("click", () => $("#modeldlg").close()); $("#vprev").addEventListener("click", () => loadVenice(Math.max(0, S.v.offset - PAGE), { paging: true })); $("#vnext").addEventListener("click", () => loadVenice(S.v.offset + PAGE, { paging: true })); diff --git a/ventures/havre/index.html b/ventures/havre/index.html index bddd07f..bf979b7 100644 --- a/ventures/havre/index.html +++ b/ventures/havre/index.html @@ -3,7 +3,7 @@ - + Havre @@ -37,6 +37,7 @@ + sent to api.venice.ai and nowhere else. get a key @@ -45,7 +46,7 @@

CHARACTERS

- venice's public characters, safe for work. + venice's public characters.
+

-

(v1, v2, v3, json or png) /

+

/ (v1, v2, v3, json or png) /

@@ -190,8 +193,8 @@
  1. Paste your Venice API key. It stays in this browser, and the page can reach api.venice.ai and nothing else.
  2. -
  3. Pick a character: one of Venice's, a card file you import, or one you write. Venice's characters say hello first.
  4. -
  5. Talk. Replies come as a few short texts. Without a key, the characters you write answer from their own examples.
  6. +
  7. Pick a character: one of Venice's, a card file you import, or one you write. Venice's characters say hello first. Or chat with a model and no character at all.
  8. +
  9. Talk. Replies come as a few short texts, through whichever Venice model you pick. Without a key, the characters you write answer from their own examples.
  10. Keep them. Export a character as a file, or remix them into someone new; the credit stays in the card.
@@ -218,7 +221,7 @@ a remixtwo short calls; five more for a venice character -

each card's model list shows venice's price per million tokens.

+

the model picker shows venice's price per million tokens, and your balance shows next to your key.

@@ -249,7 +252,7 @@

Characters and conversations are saved in this browser. Export them to keep them anywhere else.

Your key stays in this browser and goes only to api.venice.ai; the page's security policy blocks every other address. Conversations run on your Venice account, under Venice's terms.

-

Safe for work only: Havre lists only Venice characters that aren't marked adult.

+

Adult characters stay hidden unless you switch them on and confirm you're 18 or older.

Someone else's character comes in as a link with credit, not a copy, and Remix writes someone new from ideas alone. Names and broad ideas aren't protected by copyright; a character's written expression can be. When in doubt, ask the creator. This isn't legal advice.

Havre is independent. It isn't part of Venice.ai and isn't endorsed by Venice.

@@ -280,6 +283,25 @@ + +
+

MODEL

+
+

+ + +
+ + + +
MODELPRIVACYCAN$ IN / OUTCONTEXT
+
+

private: what you say is used for the reply and not kept. anonymized: venice passes it to the model's maker without saying who you are, and they can read it. prices are per million tokens.

+

+
+
+
+ diff --git a/ventures/havre/shots/desktop.png b/ventures/havre/shots/desktop.png index ed78e456811e7b7713acae29ddb5470c018d4844..4da71b27701fa5de8e536fbbc139f841fc932350 100644 GIT binary patch literal 75683 zcmdqJbx@b<*EcHN-AIRobcb|`s36@S(kV!nbR#GT3X-BoNC?s(AV^3l(p@4A()q5h z`g@+|%$&c@%$axIm)Wyt_7>s3uWMaved_u~Yur)6!=}c*a^(u%O;yEvSFWICU%7%3 zhKUUSXOtHy{K^%=D>oJ8w7oOdr_j7fRW32Mu^0)tYHmIBVyhwZ@`|aaFr4HVZqk^f z4bhscYA->JoY&1J3}Iur-8*3>>C^ zUwY&wghYS8YQ@mSqW*q$F7bboQ~dkI^8^Y1-#5GY;JW_%?xY^e$D#ke+n5f8=HE9j z?o!S&{QK_IFIO=B^P_M4U+|-eSaGR^Y`?v}$+VZN@+5F;x>5VxJuHFQ!8{dFmuXTW zj4%AolQlc)+svNpqalCRhTZKU4n974!uMi>55f+^QJDLSUC&54?u}+RE_J7H8+{}t zvfrLRN=dR3o*iqE^_mM&!hl!6)O#b2`SBrf7{ODx@jTI%L zN!Si{cb{rLIoerZj!5ZXF{yhrR$+CzobIAXdFzG1()YJ_l@`N4`)|(%|JjS&?N&B1 zrsfi(>eU42Pq|95@?^6NsoUQ^kB`2-`D|JAo%XwL)iZ(D|88f7sgPXK)b3JGIFhLI zq?qS=T6V$W@$a90hnuf%__(ET>O5t;JKYp;Ium%hvGC=|-#6_v;QvI_)#$x*zvnr3 zD`hAnv724c<@q7}w$-6`&zO{AmV47rkB%AwPIdp5kT?|vhM2&E&e^3UR;D|B8RC|o zqb&N9Z$7(rJ6)tCN(^4}&a-Rrn3lIvdGK&?NjtLdI0UT)9KE&Ayy2smCik2ipP1XQ zQtaV8X6n+)sc+eGshErExFXOYjI9}xdb=2^1 zA>!kFgNfI#_;v*X`->IqON+p}^xda(2kKMGmfs9^sHVqbFS3Xa}EMI+qOFTWqom#vwn z9M#P5IZ?{*z;Uc1+BI@qtZ=xMh*PI9%r+deF_waNbE4X%Edmd{S?MW*TnIV0Awxkh zpIn-Bg#}5)7mjCRA8d@$m+QBh6ckZfC{RCy(Yl71H;3W86tGgeyf_bE@ITs~Tm4al z>B$8(I`ZD6)#_hgA?<7B_>?2|Xhq|AcPZQycHE@Vw+fRNc0XWeK762OW<~}M6Vv>o zwc*=&#B_$3=dbT(nXc?^&$Z!F2~hgnVN{NzwB5Lyd85`9f0S}Psoe$-PG?!*xi68L zv$J#Sl?{^PA4Phd@h9&8u|kvP!jS^RBp>=`?P3=DF>kwURvcczfapTRw90iQI2gEP+X*@2@j%g)5kB*L30#mSV2G`v5R;Jq+ zZ1nR&JyIN1s4JHt`qL_HK9v?I8m^6$9{&DKlJLQCOn|xn^wGw+4yB;i=H%ThX)HEE zO3E77Ir-Q;0h>PKd^IwnrW-eIgqfmYlTyMFf_+eVLPtB!<4Ec-T>MVAWIU39UUBG| zu!HX3LvZIYQi3YZ4(6N&lhmXez-sn~KbTo*v`=V`evbK6$gO z>~UQ5+b4U!nB!guJ3MzqjwR==5W4~U1Sf!EuCJ4X#=h2VX}r$E;p}K9oCk-3M~E2N z-Nc~c0nwlFK{`k|8nzY+_d+lu;A#em3LZi6KEx`F%6xc9>QBV zJ=8|DO}0B+#s&#A;=`q8^ip+w(>@X&t9!7AMC}jyG7SE78cjt@ctXPl@ACFJ=q0xk z8G`vfefgrYLMCXfuKhTiAODOePTGC>Yx!`a?Uw}F@U0ytdw-{<>nfF<#Z5DMdoW!pApYxXo_U zmtobNOhnY;O;2Mj;kC)N_Y#Id*E2RH?bg2|GD*<8ZR7QU34 zHS_GLLAQgJ7>0z&|22(YK`{}|iou$xkiWE=eNx`ZtOm4^T-jh`d0x~UMeSDUzau;Y z356ypJ}YbHWPeQo|863KT%+&)cAo$7E-WKCI+uQ#ET#FGUpe%`Ck0#WhNlva>!amH zRrah*M9gmP+W&{}ZC8{nK~W@aAEEiYS_aVF?c z`mp6fQ&fs2C;L-S6AZ1dln--N@A2~T5=E18>1(WbK+}Sr8pGZ;HT8<%;h&vR0>r_T zzSNUyMDu=Aq{3ruxb-odw5yJ}&{XUBtj8HPOC znP}iGu?_p4(96)dd4F^qQ%mJ3IeWpZk^u7t6Qwv@bA9ObO_I==SQt$6Nz5vWV%WI2 zmBTHC)zw}(^5Ke$#4>^Y%y(HcWP(f;S^t5XKTnn7^LyEVhNqrF$6>tk9p5a>N56}+ z+JWoPF`$!X(Blyf=X$a`0N$1)P4|8Gc={8@Gy!ae{ zRc~egXvdN$rHtSY0L#UsFwuBW4y#1LYZ^vl3Ns`z>-Np(Tm~?cJvS#g_6+MD*&+I_ zDb$t=K#>@->tUvt6<;%@{3dH2GObTF__)K$lB-lXPf5UwFbN0{&(`=IzK>Gd{n;<$ zyJx$fh?u8;&Na3Q)H>ZT-8_s8)=7nmb6J2V&x3{4>2Sj ztuSOfj*N`NL_uG;hJLEg`1gIupct_nOw1$B0%Ht6Soek@1qKFQ6?G;>7jhaOIy$^h zKr6x0`n2kc=)Kpf!AD6^4QJ=);Ye^$DgOIWI%f}Of|?&LD0j|L2|Os!FVF3WOS!Ix zKXz$bK>${d#GG+NfuRZoE@S-@)A zlY*7m)UgjEoSu?26Bz!R?o0l|5#4q*)j0|Y2^Z|Xo!ynVTQFgZX5 z+-E_T+hbUnHKcs^Fk?MhWG>GHy|-rpqC$&o24D!xfW+c?1hu=JBYKD=vvQn% zb6}%7wns4=1B3bOr(jBAUeg;cE-w2Q_KqFUdg~tj3Q1%=z~5mG8$yG_nDpWP49@rq|5E$JyLF0z@OS- z%^(!511(zP8rp^Sa%=e7%3vN8_`%_!O829!X_MN|c8(oTGkl-Fe8C{<7k6LY+n5;X z>~TPxW{Vgk{1NMowX*%yA0IBSlEc`1uaOhNccmoUmV*pE+x*qF+te0U3Xw4IX$TWS z)souhfCpB;btln_+#~g6RLKd@S0smXLjK+o@BtK00tp-b_=M!6mB$hvU%hJA1@Zwf z6hMyrKJ?trYD>nJ!Mho~Y5dId6lrL0(J%DK^?@IJbebrXd1d||Enr?g%-3TuSLtEO zC&VdaqLZ-dCN*{^WQF5x9Zk%dyq0!=tk5&JCNJv)>ke48b(7_8rvGS}g}x#DIK|P| zIaRfe&JjvM=ldhT&VVyL7jZJQh;aaX?gz+4M0BAg6a#)#_e%R^+22yWcEn#Lx?WyOh3S(a;ejoP4;%rSF1nxbpQfjU>snI=6N0^6 zs|pUFPKlvT7-t&a}Q!kBlNUI&o$-l)3Iu!?+wgQIT}H;)W2{QLaVZkb<3QjLj~zZ( zCuDzwuda~p9xgJ#AVZZft6GNL_h_S+@XbYGmXx2!gHA$6tk(Ljr>s!1nFto|rUuW- z=isystLNqAMUg`U>>M~R77CzWxAPMZ3t4E=mlmedb;;>#gUQmT_Lf zb--~xkQ>r!q?R3+q!nx*bp)eeeC6cJ5dbBEC>jCNYVZ}Y+MDHG2-@^@5}2NyAI`}0 zPT}BUW4EHI1s);JS|mR0(|`wW?!2m#3q=R${B-K3BY+`LUYsUAl39F$vte(3K*X%v znQ8_lIGLwHkWPQ~TPk$YvB@~aXyWtZpIM`8P{oXUTwXFtF{B{NP(c^Yzm>Ypc8y)P zm@*-@EMK?85Y!KqIF#lrnV<_8Aix9)*(iZiK<66!%?=$_90g|25BMXQz%xoWZ#cI5 z!kX~+gzdh)ZhdUk^E^kF8MhPuIw0*ZBzAwJwbajn!za5@Faln0nUZo>7NGr-P9Wpd zE`V7b#g&Nv{zn^oAH!!+ptEbs%Mp$ZRz2j#gaflKccq5QaTI^l!BYdQY>x}YAW&Y^ zJTAizgf2n1?-VEBOZ5=LLzF6EY1^asm1H$&6aaDCkx%#6B8zUnlJKas8BC2Bceisv ze=23x?vC85JU;wnLs~WMyRy;A~hwT<9RPK*=|XZA4KAnMbeG zR6Z33A>y$q%V2+~h3zp>hKmg>w+)Ds*LjU=8204bxnKjxC1+(HwT;_2#65HATw6{g zIqpumUQkDQEX&o31dxF|;j#7HA1-g*moZjiBx->>UZ)v}D^Bx{#c1dciRtuFq~Nj2 zijLat%aU>7ubZ2jvtW@JsI=1p=mq2dDz0nx>Je1b)nC{5=G$Z8w3Y&Z8)*OXYZ7550WT(uvy)ofn-tAXX>Hs#JgE%x9wgfYZi`U03)tGP>% z(MLz0^OGt*2Ecx>H)I`OK`&UbDhcXEM#E+Z2-CvG#3V$AE|#xTq>IT-747^8z}*oE z3F5>kD%SCTn)B62uNv-EL~v4m^k&Q5odp$#7K&4kU*A}Bn<)H#FW+|H?XWCTTnusT zfHn-nKJ&UBPbh6_@^w9Dz$*XL$oZPl>zpj=RbH`M8Z5V8RzfMZQiiFVYrGSE#1Qh(B1MK%5ro#=N3QSgqCxPBRJ{HfyNWO2DZA1HmDGc+aq`CPLIC?-p z0Iz97!9~nlB6x-Uot?jYUXchfL@hUnqG3K$ZN)NLcEkY@7I#~W8d&?5e+#4pou;(x zy8s>HQN_Z3-F^m&RC@yL#D#%$z{!IRxd@QKBJDNj`c-Edm7y6wJXjyw+}!;4Hu5`U zWE8(a1clS0Ph*7`NV6*HVeg7GE!3e+0UTh%^*-LUvNd}SvoRjJA@j^BM@PO|3O0r> zJbs+>9}XuOv2C>b zN9YK!ryNgxRm73dR|@bg{2o9>g+X8dgfNyF4QpG{n6^-97Ks-G zXVP}$JuNW{^rY6>AMZ^jjzk@j&OupaLqOfAPBNg1dTvMC7DDNfG<4jCLKx_XREc`EM{SzGL)@0Xa{POEzE5)k&Gw+reQlwX^N+MwDfC5t+ZR|0H^ zW$!xj7OI6Ti;QB6%4n@?iH2#IXU*FM^LKQbjp2N~z zgR?6D{E&(NgW_9Rx)A)^R1WXQ03e0ZqiRfRWHh`Bnl6Z+(nV zdJ8n>J_V!5m!|TX@fcJn=1HP!uYy8i{ZRYCs_CPSI4ac+cm^z!_h!x0Fb6;dj%Dv4 z%bJb)^pj{PRKkfGdAzy=Z8W^dpvk|M?<>$=0E&8*cZ{w& zlu&e4+I@#Jsi#N|_z-);%e@zrBy-T=m}2CBOZd`ty%78fs|{)#?~JJCA*0*>8(+eN zLCV9bnrIIEN#yO&XdJMy{k0L^ThF=l0fptmDYtaDL&3mTez?Nu?XeVa_U@!`k}d0e zRJ7!Y?;Q{`rLHe7rz$mVT>X}h!!$Hn4;wIcY#yaNJs_4md{)LuLysBlYLcJN(#liMA=8H>k3lJJhK)qwfdRUbwdlg9x6kZjSJ+(#wF^?@A zd-hQ*%f-X{;Ya|+Kj=ocF8@0{038ZRz^u83t{?()sK)(gLX?^Y3cP-lE3MvpW4U3V z$QET-7uw2rlzg)w2!lrCzq^Q4D3P;a^Ao5EXqEJW)^SpT_KxWC&yA{`m7MVQora1L z=N+2lM!pA}V3_swo*VZffRmzDd4YI$rmS@GU$p59ZLda$M2Cyf2J?Ww8rGZVoI7)s(2h3wDq4jKBzF(tORf%lHRSNH3 zX+Ud!9}e8*vF9y^nIl&>&~`dzR+N*G+IcPF>csEhExE)_#pVvum1Hx0lf#k(nl8^< z*`2E!O&uGh#&laI4?1=lKyzyA!GZ*RGR|8CKSwieiTrBz`Hh~E4}Q?z`j{5wHZ&E0 z5_ew+ze#WyW`!f1kQ#Rk3ST*FbQ;>o^?V+CC!X|li=+b{2S;=!mA~}vx&VP&Ut1)B zQ{d_?NtYF|v-4RiwSC$O=*vaZ)R^8}KVKK?NEL8i?Rhr&s+bPBH!)Q1v8uEJ9*WXeD(inTy=f zaLBbI9`t8UWx9w59Zq?HlH-d2R#Jny*|Na^*cJ}K8`ueglb(EdTf})Xs=GnJvOAe0 zWo8sDeQKvWUQ?!g=DmsJ@!MXHaL-`kd$PwHOH28VIUPGsOK%GU$5>n~?zM6k|g4oi5BjbjxBu$Qosg6`5|@wg4GW>SS_=wNHcfhFKp8F^$H2EK^rErGJemrxl-8If^@i3UQau6C$f$oed z#$(z*2^@ zyFOBybv9h;DEbj&RS9efT4{f=J_c>S2kw=dy`9gwuU_bRdAe?l3-2@I4u6iL`T&Hq zpbUEG95m^u@9!wQPxkDrx`FCWd>?R%_b-r}!fJw`e48T&U*v*EV5)ejfFf0Viq`IF`jIYJeN!3+6!7TW7ag^Na!T2dS zjkMwsjKS+Vg^y-GA+eP9ezC7KkhE~3Q;WsQ_dYu+mkLM*n2PWuGHAy+{}4$rYC#$Q zBSM-3+@?VW^_hEE_*Ne*Q~_4Y9^a+hUhci>QLqFMeb_WB$xMhaiNa6|3~d{WPrwPm zV`l5*U{y6f|OJ3PFEb_Kr30}5PF^}k#KSRi{t5YpZE@Z#dsCH>a35hRP%O^Vw) z@zlZ<-bxkjg7@CunF9I;lc-Aumf9OM2T-WSKgd21=fe2m_Ibn=DH%oUwdx=YE0{WF zb&s%u?#Ba6*78cFG*o4G?1zGV(7O#jZoyGkpv_*%Ez96>_vit7-gty8)xMA~=>wj% zaNwD@cFN8vKo(xJChcY?i=?E693(mN2eSYXnJ+&_5w&G{Sb^ts>^KG@UKl_1nmixv z&i$~BLcLNtpd-+Jou=w^&atl27QZSJA;@nJyB9|#h#qX>=NrSy#1x~C>nbMcFqN4z z3jqL*R#TAt5vD3a8-~>@<@@TLWdqPdTb`R;%W&P46s^8M!@~vCNcbll3DAhLFSeVs zm=^H+ROnsCOpAvqe0)I{XJB`h8ddXzc!BCSU15du(q~XNj=B$uWJ&V4!a-qZb9>^x z$0LM7`g(t3LhsNT^SdxN6nlZQ1$O~TUX#twiHm|G$cK=ZOj`H%^XivngS!SGrxjV# zg$4}CUbZrg@`CrT%v*kf z#k9Nu^>J-6oR4mhaN(tg`91Hgee@F#4{${r`eeOV|9ZPZya!|PlNyw#xvq1q<(6NR z+o#RrrpN1CUE1f4&W_!KkE)3TW-cuo5_p zFGZZ{eE02%OrKu6eKOyUlS6?`t|pi#4fs=eXK20vC@|;(N?|xcr~ue+QX(9Vg~s^Y z&(VdcQs{2nJDO6B)^DfpehfD>T z@|Ht(iz}oI!2UEtsOwSe-D`t+U!c?pH;G+Vl{r4PEYQ0i#hLF&OLxoQ2p2_LI!1Fr3VrU4hX>bOOp#E>`BLYjB>hO^9dJQ0CLvjg4j7X6rh0mADM|t26+FuAhIwRI zX-h;(%F?+A_`PSl zOo!k_Za1`>FL6}Nor}<07%_IS{+gzI?N=fNvGMUuYg}{MHK(Vi5lIH39Pk1MbE&%d zAigp4(J7s;*mGkXtTIyk@Gx$KuTcn%PU_*jqQzIJ$0s!6OsY{}ZA8%6Zs!gDVfnAY z#j<$>O8}VIkcO;pDz-2O-|=jsa#(^Ki|n%j%>|*#(6L0ZFi2~K2AJS z2NwPM90A=85CUFBjYCL-OS+}yZ;C)O4Gf)Mh?NHwlw1W)87tH~)4Y)Fz^7Tu1KUOD z#_#yP_Vg415o(n)tahdawUTHl;CHWRhne;mNFS56?nZg``5zNC@xz>V_dwN4v4tk-yh2R~b_y+_iXC zeR4(G6ci6iDc?t+LxdG!^>eMVyhZ6(gWgRDy_?oyKM0iq1bqgkmpd*s#xQnam0HU{ z4hI&gM5zl@5*`-kBz1>EhcE|__>1@3R{+75nlS0(Tux=y~II z_V;PUT(hH|a&>HhqJbM2)_LbIF~x87gosWj7?LL*IseUa;f%8D6b^wcziu!Kof|SC zaSY}l5fN6`fuAU_niX_Gb;BF_aQI*5sHwGn8-HtaGn2;z3TT)k56Z*!jX8Hz5QGQ&(?#!6RRME_tQW)~a^Z0b zzFCee>Z@l-c-ZfIeFjsL3JyNF9Vc$QEg5T%zvN!PcujB?LvL@t)_M|1qE@@ zyq!ki1a?&BL|>2vI|#led`_h(f+HafhzOpmdpDKKAY?WFtEB`vWgk|4K!b*oqVYNq zpQu)I0juDG$@}*+%yPzYwR->w1T1zYU7r1vvHX(IzFts-Q$NS2Q)(IjNg}n6BdXKj zep_&N9!J^W!7zlruI6P}_hAKaF41g_#~QgOJyL)lT_Em8-Tlu|!K)Gi5o4|_Z-`UM z{_RdJ9OhA6W6@;B&QW$3mOB~xD^mOGM1^_9yeNc3n%>ZkqO+Cy#`UxZZ-h)hP>;O| z({g}wDew=dt{GTHeps0Mi*lo&fXZ`a0O^)O7hM}7Km@8I z2+9!16atBjeZbPLg5p8EW}Rr;cwjhM@P1)w;;(Gn}#p{o|0*ufnLJ<_c9*7E`q}z ztaC&KQEdGQ@by1~A`FSRfIPq-2%mpFgi@}rmdfX3zCwn*3x=&iQ zh3~y_ggJGlWtqI$TlUe+;&ZuO)Zb#kx>>AmSFi<8hNVgqiU)z&+(z)qNM<)Qzw8U zXu4%Kc4D&n^5A=y6#$6kY^!=kLD+ULkU4Shk30=DHF-vrYN>_(OLr3U7cf(IEJ31y z-!=taCnN~A6@Im74d35ly~}U`E(xJg-UJ9yCZ$ghL)ER!YDeKir%m zd2`LoA_fDkXnnfTNUGFi;PT=>T0r|19`cZrpFpiqkdeVTh+Ym5H$FtB?djC?^wtwT z8Ask!d*M)C7_!IuV$VPaeL>bB ze`_HiW8mA=4@9^U&4A5JJDTkJb3SXJaKnY?Nx1gu!%>_ZOW-BoMu zIuH=e&CQzw&%v4qm9Y{mWy$K)Xf^~@2tlwMo_w2*17-5MFcr(S5ad>8Y7d#pJc&h* zfB-vob-d<(betHeiutq7Qa!p`Fz^rEHxNJnDAmvPAI6{ZkMXO0HaJAi-&QY}E!zsx zY{J;vo>MsfsYT*v{W-rBVpUMuW;L#itE0O+NERx)-8Cr!-Nmu&wDrY-sz|k}O;n8Q zVp{T5Jg8!XC9PdU?9srMzO)ZL$zd=S61V^BG!#A z_&BeR_piwRLBH-1M>jUPim=nT_Q$JYPrz2mF5`)lW9(qGngmRi!Xn{wU z>ti2U_XbstkDoMOUKk~`u1A@6#k7F_rYV?2!5^di(H*6=x!RH+$gtZt|BN0 zY|oE>eSZs~$~3Ew;NmRyy_z^$I6wJD2;%M^nm)SykESP=YQI)Z$^~&CPvuF|qhG`q zpLs~H>#9$6Y*1>=ha^&9L%2ziVD}wt{=$W1>%j834*QSnz}q0I8e+Hsrj_hZ>#xJ$6Sg zGUOWe*l?4nBU|#Iq{nLIAKvS^HO+0dh_7W^uW-uuGF;P7h4BJXTf=W2MY!C^%c+3U zWY0q+qdX|JiHEi-jgq0JAwxO>#!8y~5POqeu|Co5dNFr!Fh#vKjmJV4Kprh)PyUrs z^R|N>gmK90K+IF{K_{d&?;9U#P?ZUy$9$){J&;C(AqCK<`TQXL+wTy|U#bcgg-_;g z$p0W31BDb>^{#foBD;2Tc@Jm_zA%53Av3>%kkmY7&mnhSVe2S*%JgOvP2#zyeE5NP z&PAL?`0m@Y4KT`o&yk`&PIMV;eKLLo=>8*w7RP&}pNc|MV3guGMR#Mdy$<}*&>}0K z=6tayn{Sw7=b!Gj5y+T#z#85sXW_VaFX5ZCmV7G(-@6_Tijqs<%j7mI=!)&t4a;8uiPYN}QpdA|*lgh@MA&Mu_& zKv>T2)=|(Y3b!CQXH7s!K}g(bhPdKKGs;lnpkLqeHPuyoFqO!sc#D~?GT&a`a>IQG zb$}u%nSp}?ezn4VQ$aajCVsp?C)CrBU3NEWwM2oe(cg;=uga1@i6e}F*^R40wWP|$ z4R;hO_(~$KIafw^B`48NMRy`w&2wnI!DNbIfYsaC-IY&kJ6eb&2c}gHhAAYqi67v` z_|(W5`Pq%w@dK0+$HLHiI+($vfD&ajdkJWEE=XuvqL70O@Aa;wck7UrgfknQQ596i z#^^X-mYYvMXDa2WovjQqQ}rZHL|^W(ITt0Itf0JPNS=Y;thl7*%obySX=B_RXd=C2 z`^?{cbR8_sXY7mwLJaJs%Mt^KkUd0-+o-@t(w6aEWxu$%kW>%*RYf7>#V{I-o(SSh zq`f%Yv|!iCcC`4p2MQtf&lU8iL@iuH6Aveo(mE^^tRGzCKV_#Ch$h~Wy_Q5DJ%m(F zthhFGY(W1Y=hd}tLZK>F^)$kt0(T@bo*?jcah7rPHgL||Y_q^)E1%DRD@0t|hZp6$H@zr| z2XN4N6O8y679fKNq31xNP6?Es#q{!=@aO%22PxP!K3(t%B)$~fYmp=U(U~2ANpaB3 ze3M)Wn1H|OOMK?9R}>ZRguLRqw>St{3%_d%BNqE|=C*+5Lmrin;t>4FQi~I!(2)8( zfU1EmIsW}~0&P8rYax%Q#9R?N0a`fS>EFwE*be?mtV}7e^YEChWzdWONwy~d(F&8C z3b4Tbes~`tZ1W@X9*qqRiZ!PP6D}kystimCQuH4xyQZcBz)OIj2So(PP>2gnOx?5B zIsfP&7QMasGu|u$p=TK&mO^7RNS8Guc=PAa6c-ndVz8Asp-QOflQ}f9ujF0*`v*zH zS^wjn;J-@?V21u5dhbx_Z&rttNWgk8UHbePrpoCdMqO>Ag!^)=t2DE+Klnrx7S^E8 zA};D3?c_<3m^IT46%0-+c9}8PHZ+(995JXG6+9gYR~!m#47i?nxY(=|D~(e@@b7A+ zrcwm%pz@Q16wVYMZu2h*SB8EnE$)NaG>Eu}aiBi)y2~i&a+X$d9u0%-h6iV093>O6 zY#KV_RU&lx^o9g7j>GHD#=#AdK^*sLuqv*aY5qyQ$8ZW*$AJJ6Uii{o`um(L+^6{p zt|Fx7)?ZM@{{%PYg&4ncj{N44px=S&H%|X~MRScrOq?7w)5zH3QzeP*e=-~9!X}S| zhws+%0jJBf=qkqGOe4wpNn`)hc3!!Vk$kn|tud0Q;4B#&f+u>r)rQBr7kMfZ-eDI% zvt&5$Hl&9Ox-IWr<)3dm*++8Yx)?G|h8Snf&bM#*Ss$!^`|U8*cx@fNyB83E^kDi1 z4(~7Hx;?bt?+t!mVhLD(RpH|FT-Q5_EIB8B`S|Nh&?QjFJ;?Ws3O9@l-sCOadbIl2tnJ*40^Y`B$qCfvbec2Rpb>oET68q7n@%;o!cX-qab7)W4%-jSeVFX=Ae~kc+4TTk=JIA}z?Z~Vk|>onL!-Fyp}G8O zmZ{;^-B-ogMfm?-)FriebN5oertI|e5Xo;<)$#vzxVk!4QEOI5D#O5F5sJQC8g#>#)VQ(kGL66drO5eKfzt%?8};Mu z?{~{ho9}op$Bi6pARV!-i$LzKrNpyeT0(aogq$6}O{J-FoqN0095hp3 z{qutjmZ(btKq(bg2~Z^m=R3&6LaLq7O3dgf+;3;nOf1*A?uoiwtS^up_NIqb+4~H= zTew{83cCK@@=Ks>3MAshBt1V%2Hqg#nBBaX(Ib1#b$sJN=V>&FD z(}XL0@ZNb_s3X<)>bFFIgmgmd*B6)Z{=F|q{JNfs-F#Zp^{Ta5$nL_33b%jp)s5qY zl|g!R{5}6|hL*=jnanDIlrk61Mg>U?)J7{Tr}+;xgc2$e9JNYbsw{sUT<*WTEMxeF z*V7_5lBsDaD1;vaxXol()h86A{o22)&`jz}-E^-c+T+M@QZmw_N$OvT|E}^O?fqa| znI*vL8IC=er$i#`;G4`&MEip>t~;gYe7K~vC4@>)TIc=xFjKFX`vbATxmxFTr#bDb#sOwhN7R_%h`*{NUpKK z(}_S*^vB4E7fcJ1YwCm%x3ezZ-J<9hak@Y2Z9!pJo$zi*uzbnxyRzQ_*UE^QrA_yq z2mQt`iMdGn`%W`-1hK?sS&G~Kr@9$Zr!xmTjeaPGl~KWl4&PoogMf0NvB6WAbbjjh zoael%IyeMv3IjI^t{w%Y_a)7u;V8Qdd{S_h?Rq-6;d9J>;~9l`j^&p$VSDe-Pqu)P z$LSQ!Cv)!4IFkrH)te!Y_!($NLmHn~%sgTKyeU8`Nub+EJeEA5b!^f4dOadFA~#5x zU*1E_;j)-L8v36rSkI(RFEOq)G)yiEP78QGmI$@4u!TTVmHad2$kX0*v!Jgp_xYWT zt4->W-y0u?D4Pqd#{65(!Mvc7NMUCh!9{`4(DtAGE%DTiO1(Dgqx!3w`>X8`pfyZl za*^=#-&*)Bu011kyz_+~T)|99FJ}u}k*(!kUNr22L!9XC%Q=*F!}AmV8}eEP;0^Um z)@Ci%W0hM51@JC^Z^rvgK#y+Kdotr;@#6Tmik`^A!A3SHFWC)AgVkH7S4BgTtHtlV ziF-5ty7Z>KyI?D~4+=_Bgxu=e_(GlEvJC2@YNi23T6NOy|Iq>{olo-v5Cu7q;zW4S zW^ukzT}mKLBTW-k{4Ga8J>A`40?|YQ8iYIzn3v*dNd5T!(?oI&IG+T4+|%ql+-laP z)fkg4*_veOk( zk)fTJ!mX_cyoWOWm~=Oe6eep*MO;3vl^-ZvQ;5VTiwHPok`Lr0?VVi>WFpKZ&KYbt zHmb~ZnK;-tNqhV_%-XU<$2ZA_oHrq_At^Y>tcm53;P$(C*E`eZw-_ll7JpQS&()ey zV{AKDDdI-mVefoY>}KHOBM zB$qlFp>Th1thqIkdc$YZLxo%;OQpNggB)_U7? zbmXsG*0#I{j~bv+9RIB^lA7cH@y;P?s-fs~aIbpr@bctmM?4bSU37reRn*VK-7B*h z%B_1rHIkZdCke+^nyC~1WKEDK!m38P(J#|%?vW)O&8&jFy zL&>zayGM#>uAK8ldM$v9WYwgDE@rZo!?Eesh66e>vAS z)dN%qJ>znN(%p6Ws&m7Yc5!cR&ye%bn4FtF5gt#^d8kqOB(=)FAZhmmKj!>Dw|gaE zgKuU@8^(~DnK{$TT(ot>KeQ?(r=vrLtF$sW21V}-f1vE+r6VN>+B9_@E`EP=eu6d1 zq}0?DNzdGI-74h0iDm9P5rv46%*;}abMLcJWi)j#-<=xH-`st&uth&vz2$fOv*uwr zB=Mf}=Ve8HDKe}&v;5+DRp7Ih9~RuLr2)ekBAt!JjRYjVjlS*c(^EjqOWz%CR9^&~ zczbTWm-&Q5!q$-~{+r~vZeGU(ht_?s6~Ye=BZrn9{w1sllylL0>KRAE_|LM;H1gHx zx+m22eM&6rnc=G`CrQ0LOTzcM9hJymBW6J(ShbGfr{=@dxNzvwi= z)3GvG{!;j~4sUweWxOg@+@du|)Rg(}s@_`2wxzLhKt>7wR^9&nZOg_)^RwoFfXhpZ z7#@=wTa#F;LtWD}1u&2>lq{1wcpP3gB!m)kI=AHblE?oE`bM?t^}aNdDVFpoGzrFy z!S?r;K3v_um~KSPOo$_>X;}H2?`|F0n1E{@r&t0Ex2dZ!2#7Ji_#AMFDaDMmVxa=Y zbz=c}sM=xpbBPAy$vZ7Gd^+3}IGjdOhCNC(s!u;}9J{MrE6p-<4M8Q!f`B%5&}CTb zL+JqG%*?q*8etqRs2H&Tj!yP`WE}Om6h&LPZ-sHJr@Ep_xBUC$2xE;~5aU{SZ-Qjg zj~;l&4ggBaNBD7W4K`U*Q^fb?=AVFh;{2u9?%n?%pM~-dSwk@5|F#c6`TzKdFq408 z{zC9AcHy7n4L5=Qw|r1cZsP2$xt!wruHN3>J`R%|_3EIlKQ&ow@tE1(f;*&>j9=m= zf}%bk`TyfHZH$#6jW|)|@N;Qte|PCtI?%0*Bk&*~-r&2t7>&5+mD`zsgzv@=VTKuy z&A=7|HIOlmO4=V0c?mq*QIS*RK^}~U`=1a)>goH1&`mDC#9w90n1IiH0bz_ELgqxZ z=FQ9CeY-8HI*)3=j?6T)YDxR}=n09;FKcdW&0tPNt7aSSp@YcY@Y5`hA_$ zITs7#7;er$QsTY{p#mR`3|tYVK5N$4P5f?7+V>L-`7RkqXM{5D9zx`-cll%~)hs#u z5F)dEAZM8*;{fF>SbEKB?6?&5;;`GutyW$h5a}Y_efrK1buhljf z8F2N>1=9*3b&B-$VgsuoMabxXK#r2$GYMEVes%^<*ex z>)@jX$JRrwR=Ff5r7#|ZSlEr#*L7T-m|G0;dp7bl`I|Gw7Dzh2He$6kRHVmZ{dRPW zG`ft6a^yDGVp_WsArl$|b|J@ZZd9#-6*xrQ$?z|QIk7t#V%9y7wvypzjhQ_PSRLXx zJJ{b($vZjRda~@B{Gt2|Le;q%nS2)Vs6~$NZz+IDTw&ci4ws4HsvmPAky{8N_6WB( zAVbj)pZ^25A1kW|=v0~3F{zvQN(BbyJMwgA!1Z%!KK}@??TF-ZK{Ud=#+C518u)Gk zuCua3o*&_!I=J=_g%{_P3qb{KR$gLjvX&$`1y=kWkb&|AC{V9-$WZkdTnTdY=S#20kaD zm6l6H6*t^^5PqI@?eZu}^6+%(aR6b*v+NgvSyX^j<3ibMTA1^%dQ4 z$ho4fZ-B?VV*{V^0NF{agNz|~r-+)ehUod+M;cZLBt{0u?k6}splvG@V^AE=&d$;Y z9?2zu5lemt@!?L4XpkCtjjN)Lp%(|Xtc9;}$KY(ln@q^sQ@+4)?NX{cK0Sr|3z&MA zRy9><_AU+RsB1)(t%lRhK~L%_6S4)cZ|gwrP8!4)Xldojk~6by$+l#&Wv0^JQ8GU) zoBfX~;A#)93XR#+Q-15OluHImipM`bWCx?-QQGo-lG=ozneDeS8^H>=Ej^FwxeB2+ zRjPe<2fL_XF>Kpwnr|ShLm9&Zb@zQ*eiGBVKQrL(M`tk9x=NPS^5lYSjAk=wLsI!I z$LB6pI5LVG&hA&(dW{O5n9o4HTF2sx5O>gBd9q0h<66Zlz;OagnWI+Qr%6Aw!8y8Qc&v6wTLyY-sjX#DI=_ky7C*YI7wam*CWQEx}_7=;?l+3tv~P2)eFgCBQQ6j^fZ6E#ldb0=2|#grCD@#c$@qI*j%Ddg2xwdo%IZhb!6 z{Z8GQ+eh1Rms*ueXhw!V9HRMFQM^iKXttb+cb^kRLXcZ`tB13KO(B_4z>@ zxe~9i$7fulOqNCdoRC5-zUC{HKPiSBIoI!j9EDN3Wa*OI*NTe8xWi2aiWoCPYOdfn zNYLAU(q*)PyPbHo7>M(P`K5&;W&%Bd0=vGT+@|OGZ4RyZWiS?_L7>wv(#5+OR@AU7 zPk4Zg5da+tJ{L#P5%bn3LUC+HV$v1O;o>9SO5z?(IHk(=d5@ydn9Q}o#P+B!7cK~W z!L5>0&f_FD*L=KubzPu48|-^$_&||fZvV3*{%_bzfuF@RNIU9W8{s}d(uWqE6-X)6 zpfWy)mS>B>sVQf?SFHXx7q@V%05|Ueb0hWnUv_^w_GIj+ztbPBZxO|uU=9As5-1`8nlmHS!}`n@B;b6%CX`C+gql5-&h z7J}tUD_AsY6jrnnfp=BIFNt7p{_g%LIPT1@5wha%O+ijoJqpU=|5V4IK&X*Z%I&>YJAjEHn^qWNbFW4@i{bvLhUR2|Dx_a zgQ9G=^-m;cy2&{-f(?=-BT5DZp_?R8G9p0<0%9OHIok*dO2!6J$w5R(VgsU}fPg4j zC918U&nrU&s#=ty@Pu`X_|T^VtW-!!dt`DtZ_FT*LoFY;LVRy#JIJTr}*5;$k)DTmzi>1FaF+*;1+Q z+SRKAznOfK6iRwCZ>w5c_~z@L>XEB)d3gX%bQ5K_zkOwGT=t7#Z~Q0n5~uIxJRuw} zjW}aC&3fK(I%N@!PY7z#(-Mm;<4jeru$=8#Vs_JrU&VyIJ|woPx8o6H&o~`Zg(#DhLzL<6Jqows{*(zi_HTE)N1%vOA(oT@r zRuTyUvuaArdW8g1KUSS4D-Ytc(KBeTIcc#XQC22`!Q55-5aio&sFUXho<_=j; zDe3GQBZswGt>?4|3# z_+O%*lCzPcBtf5leyuqt2 zS7XelJP*eL;*2^M_9n7VbSrt7wjL=rM9`z(RTVDrYxD#D300Tq9(RVMJ}-OhywAs+ zmqEC0T9}wpNSJ6CL~t{0bFEvWS%J`4gqAE7JznJfF`DYw({n2V$1ztG@c}D8P_>mx6mInz_((N!DtZvPasO_(i+|OapFpu`^H`|v%7o)|aLf;O!xdOk)MB)Fs&HvNF6 zls8^LaiEK6*m|r~=5oWdxQGB&Q_6VQxQ*}9L$QtBq~l`mSJ>B>(!NHu-L&C48s zKjgWR!LqB%4QI~W5(bt~Z#@3s-vV2sSpP@r_+^GD&zD`21HEWf*VZ>%D_bWEb7+gM zwa`A&=d-x~Xk;;U=iv|^R^4EUS`ArI$Fqs@s}mKDs{De-_OgZ%69?{#m)jEC_h>U?%C-hY>7=TvOe+(jdp=QX{6 zDbn*1*p!Li95Jt%ULJK@1xn>{rcv_?)8Jm2t~z-}dRYtojIClL#6A%!^W!SIYfbFJ zjH#i^gQfMSG73aj8hmuKUkMaACJn4XKs?&h>G?IqQeo(SY=jfT>5Wfy#S9rLnsVR7 zN^br7g*{eh|B-zFnPc%*R0DHHb#>|kzu+Yq`xmH3nA047aH=li*!eimWPV_NIVQAR z5^eLY92_3#7sW9qym7Y${nn=2PLxt5U8yp@bmjTpbra&1B=z`7sgk|qBpaAJAY-Zl z`al|Oj8|upHq58^rUT(WWW{lp7td=YCjM02OOYlm1t2$SoN4?omjqKL`pTgm#wPeQ z_7vBM&ot^awAK7ArHI*W@eea9W88Rpwh^psedNIHHQ~_EUbQ7F+8lck!TMv~=aKaV zS0lcb>V7%*%G)mi9;F5~5wDW22Q&%Qnc=wTC_F} zlC||<(UcXLy3`6_0X%<@xISuD?xoKN$}QFCcxpDYPPV|4M*8&r*DsCJcz>;o9j6{$ zM0*whbM8|ga(F9DcWF+;2o5?JAfE&ne1h_N95;4_^{ zBok7eklr}hm6sIc-m$*5`raHZbX9(MDCm}juV(?+A>3rnQlc5y1l18^bfZN}ff{#> z7@V{sWVa%Ve-wW&I9~Y9t6|GJPT*;m3AbT9bhbc6ooK@)MYx65pW#I+T3=f#D9Mx@_b|ito)%)X8UpLzR_H{AJCmj>Pk!cfpw9rP1*=!p^~3Hf zjoJeiEsQq9ZZNQ9ZCfHHNx4TtFC`4}>TP@^CLJ3I!9Ax?O>Kq&L9zifB z^<+AF4T?b|yC$S6C#j^w#M+^?G5P$7rbL3qf?at^1fXBKd z?8))PzE5U^;rAUn`1Rbai0PsAG$F^b>;TLM-64_C^V2SvP8~GkV@VK3#=pDieAmX$ zY2+z{$vF;Aj29~;@ZTjp%sIAhf1V)6`YZ&`yt<&%0)9dOf32upXlg;6>jt09Q>Qj1 zJ!t|fQ(|yn^aAKvpf41jx}{lPzY`;Iqc}K;@g<4RIsl!)BW39c_H}iQY|Yj$C7rS_ zy-TSmulQ&Rz^5inQ%8CvX}|l*7f<94eh=O?nXql-Tgyr_`(}T8H_fQP!>r}xtJlDj zThrnpP6l-KeFF0((f(Q3`VRQlh!W0+RHibUd&*6&9}9_pMdb?u5JDVmP{9iAvXnHppIY^~QZ ze?TAoZO&qQpA#8TaJBD2Mn{Z~zJ?n>1bnhMD>E-blWeZ) zp}BVrTONZtjw048=K{@X(YK;9aa>oKWnkk(_FPb?kVbI1_Mk!7E52hcv<81B-#)qj zcnCMtY2*CW*V^>wr?rI{v65FKGczvZZe)iPx7O&ju~6Q^wEB%ig4#+;>p%Kk(Xao2 zpc21U{1Gs0e*aP9zP%L+J+}Ys!!ZA7E20Viqg*^W@E_jRqF|M=?UyQtbmLWdM9URH zdqGy^5i)#t`H_iQx_{iK^tF4|`4^`3V<*p|6=X95LAU`_gly^_& z=_8Sd?kk+NqZTfX<#o6)y$xMC3p_fTJ&|?2Piq*$KM2|G^^1V&KzB;X3xYgI5p#_B zwbcIV)0gCWG$95$7W`#W9RP0`y}o3-v?2v>}_U_$XCMvmrHA}_Ah}( zYDb>{0v-an55Miy^hrVSC63ypGyO9I_MQRGJKsO)-3mb(CMjQfKa1C`xO^$?ake|HVoxI2sq^a@LYB*27w`99h4?WOj5QM&I?PYb=j7r#R|}!HEEU4 z*IwnxA=w*D`Xx+jRqQHrCLFn z{hV@6cAt;jA&VDr_6W-^o$1}c47B6-p9_ZBRQ!#@G&2zzq(}_z;`gG@UpC_2&EyJ502l zfQIHzd-nN+!%_MK@M?QPloGIV%Jp*T@$d8ar=*@L^05B8BkLIWI0Gq8ds#Uwa;}RX z9@$5V)$t?-jI|f`l}&iRXZnl9&^0G8be)xD4tNHE!#giK09-RsI5;lql;PRC&mS&= z2YFGe@}xD$heAAbw=~YOaFl5_gRnN~f8~Sybq9Pf+J3&Vbn+szV+K`i@jmy$=nK!x5d>{)ioVzkp-)xRUDU7l6cBA^!8~b zjph!dPpiu_xxqPM6ZJ@-A-`!;3~{Mp%-QYmONm}aUj&jL?rc3SYe@X4>orM(ZVNgL zx4|O4&n&Ppyg_y|C?Bpc<-vc)JZPMFnu5&OOJRh-e->!0@yvxE)f5E?k=pECNm(-} zXLl5N9z)~}5C03#z$hRILGJ{3t`L6_;<$`MBjM)a>51HzuA(;t0>-MxAo&fTx0LS* z^;#J#Z&LsFO$84{Pir&=d{R|5NEg(2|N8YYa34Xf;@s?iH_+$l7bMv)55F-CH@-k5 z%#e4Dl}hlB3%J&SD*N`F@l$^z&0xS=-vY+%@g!n2^qz4Y*VK=Fb~)8_dqIm2;^U0s zAX?-&$4oGAcyRw`GKPhmF-&ms#7_G_>ci&7sc&}y>%%i6rPN+XYDySSnO4f$=5^)TR?Kjsk-|jKR{EbER${JpefTM`4ggopq|m0-hdE1%vB*w zNl4Rcn*;vND{p$O;?W!+UTz}dDG&neTjU@#6ikQEVQ+TAcmQUfOmvj($<9p7%=jLp zj5_oT3c0Ga`~PCl6tVR55<~`tK~T4bRB36XykxdGX@u4`$zTn4u%g4al)vwI+-zC0 zWs5B4z0Wf3?85`v;WUJEYo7sQ@R6x0`iq$F9R;`UEK{RM{hAf17Uh={}vsQBQX9s6BcRRzs5x(Kh7O*L};Drxb|bO!v< zRTp3zh*zx+{sn}jqjPdz4e5Uvg(q=TfA|fi<9g^OV!@DAdG9JPqv3nL#CUsGaia+; z7~?`cK1-N30~iF_r${SiCZwfb{M9%+tlH zaTJ0{6YMwK1t<2wpPtWRP|_>2f@Eh@_NgPohn1)e6CuPYhI|1UKfYzL6I5RC7cq;R z+Jm1s^ay#IQT9_l)2)g|mwtQ&hF9>nw~vKmZDymTE7E~iAo{aB?OZkrr+KYBfmWhX zMd}DEZjv2QVL4SCUxjaW?V>DapBD%2gR9Eb*A4`LPd5d?T^r8> z+WHJ13F2Dt=qKF7d|*DyZbHo|1zHvx;KW|kRzRS4CD;P8#aN|(Fpz!!(BdinhA0H2 zCURi*OB}1p%Yrinc^!@g_Ge@?fBc0)^`Ps2H^@OmDSeE!-kG=l^<)U@cO!_I!;tG? z#$|e|6Qdw~gI^;%RUtBu%@25U23LD(bT%O)ROKkeIp?$pv1>H(*O3h9)SRDR!)`ag zwR-yCpGTvQ?RjfJ^CDjyVQo|`R-yW9+K|+z!Qo~Gli}b+V#!{_l);TVFr9?~A!h|Q z-ea@}i5rotgtqP?O!Nkd$SL#U-YG}b?mv;_(ZEm+zndg{0$5n^3<7%}zIsTF7cUv_ ze*LemF%K0=IS71%r~U!ySgZl~50K3; zb+(DPECCPzxVLJsWeM~hP{_J|f%76|7@P;`TXdI|^FyDNm^;D~x)hTKItwa#>BkR| zULPo6jr zPkZRgW`qNb``h8@hi71kU;mVH9sJrYZD&Eg`wx-O*9%ZUT@wPFCL~$mhUh`4eSt3G zA7r!?(q;)0eF%q&`|Ap%24f&>1D94Fs42+nJ_g;-OMI=D;X(wn1@4GXu2L$ugvA4= z?R0AEaMNb@SB#twVZsg!o=XjC_HeKk7XE6#X?OcaNihOfidVpiErwfit{B}5lnaKs z7QaNKcrDAZnFTik<1z6oE%i-D*pHgHZfS7E?PDPBybL%cYc?sT*4n0IV5}_dNuw2gTK;V|6%tqTvhIb?;eQ-;bzD0{94 zo+-$zb6REas|>g&UW5YCoVfji1koD9RC6e`G58$)H~g1iZXB>zWe0T?Cde}yN)Z8X zeR$@?3;Tgc0y<{gcmjMvG}X|?YnblCo%dwe5BM<9^I;Ci5SqS==7H=XQ7(?(=A*&1+#Y!hh!-JY{cdj*UPvz52#A8`vA;55v)! zo4?PIE0&p;^5malzUlN5s0nfhe}_2tfO?2IF!D@_C zg6H;)ERw7>$urOvc-|z`> zt!WGpt%O4ZpIL}zdY?$RWGMiyBC7@uPsI(_htbi|Fl)d1eOTAoT-v^V5oXmxm1(fa zY2FHWbM>u)N2j15Ns+Y&Tt1X5!M1MK^VlLXZ5w_cZ}4FRV2=ynM#y|)FHy$x&;VLm zNXCi62bhz57AOeMeu4hgK_GfGeUu-O6d}zaQ{Q~C$R3^oOi%+{iO2P!&QZGgFEDk6 zPsOTO=ZIe!BezT|lo4>yITldJ3c#DEaHG)RZ9Wt)n=R*SCm~#lvEZmY6W|0+Avk)< zgy(Hex?d#uENDjV0gUN))bs|Cj_gtrBjLPMj}a;W}lmxJI2U=TI| zRWk&Xc?unaiO-E6iTR7IiSGJc`PBS)P1h`jGWVH$1Ec}PIde|kx(?SGr<@?)tO-aM zlZb{5)%5RVV(aD4G8y+2++wxaf<)=zutyr40T6<}YBikcD-?8>```(*Q9EmA1=~F) zm-FmnT%o4&zVad-60<8%vcl>X%YF6aQ9wb3MpJpw_&?bB@Hd~vkTEoov(JShNOY09 zVZ$53l6Q}uVRutAxIb`5_PCybQ5HRqoYSzJwA%$wkf)xBM#fhkz>P`vU_YQ(9tW-v zC}@vPYYN0*bgcj0@uhx$%rh)S2jme}R#sT~L%y42%x61qh3i3)a$m)d`|VX-15W<` z^+f3Z>-nlLIH9o3H32rIg7j+OnyVfFh+zN`uLry)^2W4ooVW{?!9MO5Y+DQDCk14K z5vPo=cP-`(JiP_y{J%L$6FSyZmf^U*{tp7{P&+@=e!4bv6(j;N5roR_6#cxYcj!?w z*pbG#iFkN+C5!!-dCfs@@;L%wFrKVGkA`~0zad-yZrq73bpy0P7TEJ=j8O%+NAMOs zJh*kSpGw^w#Lx_J~rE2=$TEKFdtTzpB zukq*ziw@dAs0z|xj8+-Ufv`0R?7s0UVo*OK-yRu45|-wTC62$@IX2UH>9&2tOVvhm zLi=5yLtO`ppmOC)Fg^h_6vK2xcan45BCh_d^ob;+yGupsc zJ4bkNl>?}8@b&`1;09a(pj+D}eA;%nJq5itLa3({FJ>p{&RCy!joJmGlLb@dP-nmt zDf`2$4+sl&(D^{yejI>kJA+YhA?HeTgFlIIKE9X?9tJ;P5~W-u845o@fXnU<0JsMS znfP?}C$c$b473-)H~{zGaR?%g!xB5;0yiN}eMJe9fH^pMJ>b1%=d=0GbG);B%>N|i z&4D85-g|o|6nb;kq>@%A!u^!Jbq}E7Vj7Pf1EioGUj}73e2>|-U%q@;kWP5y1#bWh z#<##PxZczQCk5CR(>cTd`!N2Z1`uY+CuWwGoOy@XxS15Zf4mgsbl)=Mg`>ZAfk;8u zy#*dJYc}2A?b;^}pl|fC3MzK$w+a*z)(lNk9uHVi| zjVF$PCv8+8bH%!wj1I{`CWh$`EN*$oY7igyNkkNC8YX89*b;i ztyBa32Ym3{fL!zQF!S_55>@pBHF!YJ7V)r4_vCwnrzFV<@T(k?M(q+T5xfE?;q-&V zt*Ci6EVF}mgh|U)M3E&($#dUG#I~#|(}w;1wAEqoM+wM(is%muwK&@~@5I+c3!}z7{7SGVWDJ z5$DMD#Cye__l^XrG?4s-!k$T!&zYi^gFyjM{nov%V6BZ=5p~f}TzzZBqUO=~y*lwt z(P@`>+Ivc)MVKSjL9(h|bkx+uV@k?9%R2p%fFoKF^IoE|E*yQA_B`tF%Y$$HS#Jr+ zB{nVw=yF-9YWMoI;!*@Ae$OsYebe6bmk5o8lXd1Mm{=y-{Z8k3%2(5 z57^+6onQaXfm0i6e_!p2F#nf@-ehpxa^m+MoQ{(FriZib6B<^^Y?fKK7<0$Mi`c_H z9Gy9!K}l!#3aSAGUnr2s3$WILnxV5N9wls4e>3##T07B`v`Pj*0J0!SOY}J`_tS4+ zos-cUH$3hHMkvfv2#4%}zt$s!y9R!M^#I`kEY?pjxP|s+#(#aWT2KL%ZW0f42OLsy zx3QHsfdK|ef)gAyd%(Pgr{GszX7KgiS~36|g49QqD7DW@c2z7u-2m@a*A;4G#OrK} zYs(X}pjo=hl2nwP!m_#tbQ_z)7L`4#L3R;Oa)L_>Ao(|e67CfH;mZ=XxO*RNyl37O zoHUo!yu19UZz8$LusXMQP^H7Tti;(`n;I8d5K{6=%dGu|K`y(B+;$UZdjFel7H}^^ zC^(Hi9h4SAsyKnN-(6{Z8 z?zBVk=OO1Bzc76`@4Q}kYB5zB-NOP)R2K15M_8?YVO^5%)7uqU_b-rm(@`YDi$Te*Vr!>!=T$ z>k~d&EUc`}s@kP&=$SGv%Xq%YDN&c}AMQxQY~LAxJ|1tuDxO%@EV%a)@XXSBY-1jN-|_K@!OJ&~xrIjH>rEVX`6f)rHS4OE}86a#wN+&>Ds z>c2jdwy)Kp-HzKWoHQk49-x5v0R+>Vi(NHgi+1%rOa(`14AeY#pHm)Tt!Ss#;*zpl zBvV+}bhXcR{HSk{9c_PeL4v*tx;pPGbqRaTOx`9+( zV}V`J8x46MHlKrOQxurE6eO+@yveZM9Yd~04|vCw7LU1R{{^hxm960;-TEd3sJ0eb zU{-CZ{~edRF;PeLD;C;!bh@?AGvfgJs-4n^nXe68Hi23UWUxDx)_qQX6NT_sVM_ym|CHck%@PfD9?oezen^ ze|MwPK8qDJ)ZB<=xS}Gq*6!9Wfs#cZJ#asVr9AA3w&y=8I^?%95@#PE8Uwa2rqygh z*9J`P+4tAU3yL~5o;;v9&l_2XLt6$nw?CIjET-@{k>EaVBED-&UKQsiVB@BZhIs+WuOO9X!){5C zT>)x`@H+#Wg`vsJCU0zI+Sb(eeM}!)`~@fR=*EX$_lLj+YxKcZqz2dg$#aR+&5eX{ zJV_imkqX`g_kNP@_3{&8PM@7=R-SPedFs}aacKGKi{A{h=%F};nll7Ms4)u(*Ko`m zz59H0dfM93=_~I72+pwXO?VRC!9g*iw7MBo={6P#((}-6r*#lvK~=pGY{%=Zh8BzP z=SOshep3So+a?yH0@>LLj5a%Bl7y~-7KdTIC(rN0Qln;w48Wc5@*TGq=YJ9m{*5kk z6#X%1TX%JKU-(=;t|Dre1z8&>%_kY!Vb5yr5h_~Po+xncFE{|yVVM#{&f=?ztOZ{H z>QBreaXQH#z(te|^0W7rzjSCd(=jDOpP9pC<5iwJ6krE{ZK&1}Bl+qm9V5^4SCL0ctJ95qr`8#g9UjQT?7MjFZ)ZID`x%huvkb8q@u#?0AC%K5d5NsGAW z(NLKAZ{cU47)6*_c*ojR-;757^_f1SNUc_!)x|me9U06rNjC`;=fGF`5e$#Uu^>>P z>JuG(ik`A^$p{{~G2Jsfoi1?Hw;5PAxh-zn{cp${zNX}l6N2x6u=Uu!!N}uotK;Ao z9qjzaNcvKkktET(rmw^#N!sm=JCI%Ar_7?OWw<43^o5K*w@XW(XjODvqxnEC@nPER zp^C^wH@xeuE>U-{J3*r?BOZhZ>|&ES@_1lEn%Q`&v^taj8i<`BzW8qCvOqxC*>mWe zKFr6*W=0K;yqbFNulL5})I#)GQOYyplKS_DWukGNckNHhvkzF>jY6wUo-|y=2&0q0 zH3Owfo#v<^Qb_;On|}@Mgp5-5c4&UAZF6Hx0^{qlPN6eP6;jXzYq!~P8nA88e%Wx0 zbIDxUv*b@g>4V9ZUZ(L(Cfutf>GVPm59e%Vxqd66EP++1x}z$I zqLei=gfThpHtQ?*hIjP|oZ?2z{wKG7K@?2g1(TAypC)?RBh-#FhZB1`elJS|q0@Cq zPU}op7;0fI3nsBFMm8rsEuN?!N8%wkK5kd=%3;9cWneU>x^I&X7fQ{cI0Rb;$lV7< z$OyM~bP1%fRx`0OcbO+A;eRtHr(J6ZQHKY_tbE#U#q4wjcK`zZBZymECjleMZZM9h zc`PJ#8UR(+SF%R!#HX(Oa&)fhoE)N{!}jXYpE6^zM*RtoDERB+)Sqh+B<55asi$zX zcYKV7f+74%R-VuLd@tN>$k>tpdSZ<8XEKwCO`@GK)%BCBA3!e`6Qm>qaXqc5qt5;J zZh7MWTuT2d8Q8BVls-UZK%zb|`~Pv85W0WzfBsLQHJ3r${m*}huMF8>4Lp1{gYvwB z0s$s#_!TnaDd9g0h{ziOJpM<3^#6(A;eY-bPQw4kZ(X-Q`1Ide015IRfgvFr2AmNz zFtok+YBkd@=<9O>*u3<{{qj+eZp{R@sp(7^46<{7e+;>{AH%Ue;69oY0r zHw|(B>y!S^KjQyd!c+df$vteoV5=S$%bUjyGTwJ!l0k|7>pDKESMKRa}Zi!#t z;5u6>g4?{W2%1M&$5Zv`Wo;+OKhX8@a)9pFwH^h0Vm*Y0_T3f`DWtoNKoh%l^QM6T zd7Hi8t){6ns;y9`1Cg)x;sB^*xJzFd#KGv&d#Vp+gaYIcp6=FvZ9F2X!0tFj*vxPm zl3>z_qLi_R5Ly&J#GfWx0}gAftKLI>3HxwWp{0fPPihdDulwJl0N!q!b)pI~c{ zhQK4sa)y@jI9gB$_V++2qFbs73OTq%P&q&)vxoHKK%RUQ%%DIag}^2z>(+lBa%8q2 zOg|mTTTN=o+WE_uQLsP=G0UrY6@36`O(Dt7Oz=RUp40()&dqm@9FU510+9i_WLSy% z*vTAngXB$EL@Agn*kb5m*mCFY-R=)?5ym&<@N^IvdDg+AN8W??`Lj?I+2ap?G&LP8 zuPcMl8q^b4vV;`)B)JW;g;4x3tA!

in|UpMcBcp@p*X1T-1&quT>=FMKb6t%OjI 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 ie7ShJwZvVtios@6jn6?Nqus53 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 diff --git a/ventures/havre/style.css b/ventures/havre/style.css index 63c178e..944a0bb 100644 --- a/ventures/havre/style.css +++ b/ventures/havre/style.css @@ -105,6 +105,7 @@ input:disabled, textarea:disabled, select:disabled { background: #f2f2f2; color: .keystatus.bad { color: #ff8a8a; } .keystatus.ok { color: var(--ink); background: var(--hi); padding: 0 4px; } .keyfine { margin-left: auto; } +.balance { padding: 0 6px; border: 1px solid var(--paper); white-space: nowrap; } .keybar :focus-visible { outline-color: var(--hi); } /* ---------- section heads ---------- */ @@ -131,6 +132,10 @@ input:disabled, textarea:disabled, select:disabled { background: #f2f2f2; color: .pick select { width: auto; font: 14px var(--mono); } #venstatus { padding: 10px var(--gut); border-bottom: 1px solid var(--ink); } #venstatus:empty { display: none; } +.tags { padding: 10px var(--gut); border-bottom: 1px solid var(--ink); font: 14px/1.6 var(--mono); } +.tags b { background: var(--ink); color: var(--paper); padding: 0 4px; font-weight: 400; } +.tags b .linkish { color: var(--paper); text-decoration: none; } +.tags b .linkish:hover { color: var(--ink); } .grid { margin: 0 -1px 0 0; padding: 0; list-style: none; @@ -155,6 +160,7 @@ input:disabled, textarea:disabled, select:disabled { background: #f2f2f2; color: .tile[aria-pressed="true"] { background: var(--ink); color: var(--paper); } .tile[aria-pressed="true"] .go { color: var(--paper); text-decoration: none; } .tile[aria-pressed="true"]:hover .nm { color: var(--ink); } +.tile .x18 { align-self: flex-start; display: inline-block; margin-top: 4px; padding: 0 4px; border: 1px solid currentColor; font: 11px/1.5 var(--mono); } .grid > li.ghost .tile { cursor: default; } .grid > li.ghost .tx { min-height: 64px; } /* no photo: an empty frame with an X through it */ @@ -297,6 +303,14 @@ p.note { padding: 8px 10px; border: 1px solid var(--ink); background: var(--hi); border: 2px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); } .dlg::backdrop { background: rgba(255, 255, 255, 0.85); } +.dlg.wide { width: min(1040px, calc(100vw - 32px)); } +.mtable { max-height: min(58vh, 560px); overflow: auto; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); } +.models { font-size: 16px; } +.models thead th { position: sticky; top: 0; background: var(--paper); } +.models tbody th .mid { display: block; font: 12px/1.4 var(--mono); font-weight: 400; overflow-wrap: anywhere; } +.models td { font: 13px/1.5 var(--mono); } +.models td.num { white-space: nowrap; } +.models tr[aria-current="true"] .mid { color: var(--paper); } .dlg h2 { padding: 10px 16px; background: var(--ink); color: var(--paper); font: 700 15px var(--mono); } .dlgbody { display: flex; flex-direction: column; gap: 14px; padding: 16px; } .dlgbody label { display: flex; flex-direction: column; gap: 4px; font: 13px var(--mono); } diff --git a/ventures/havre/tests/card.test.mjs b/ventures/havre/tests/card.test.mjs index 4bb312b..b47e9de 100644 --- a/ventures/havre/tests/card.test.mjs +++ b/ventures/havre/tests/card.test.mjs @@ -290,3 +290,39 @@ test("venice: a page of characters asks for safe-for-work ones, sorted, and says assert.equal(tries.length, 2, "asked again without the sort"); assert.ok(!tries[1].url.includes("sortBy") && !tries[1].url.includes("isAdult")); }); + +test("venice: adult characters only when asked for, and tags narrow the list", async () => { + const urls = []; + const data = [{ slug: "a", name: "A", adult: false, tags: ["sea"] }, { slug: "b", name: "B", adult: true, tags: [] }]; + const v = new Venice("sk", { fetch: fakeFetch(() => ({ status: 200, body: { data } }), urls) }); + const all = await v.characterPage({ adult: true, tags: "sea" }); + const q = new URL(urls[0].url).searchParams; + assert.equal(q.get("isAdult"), null, "no filter when adult characters are wanted"); + assert.equal(q.get("tags"), "sea"); + assert.deepEqual(all.list.map((c) => [c.slug, c.adult]), [["a", false], ["b", true]]); + assert.deepEqual((await v.characters()).map((c) => c.slug), ["a"], "and none when they aren't"); +}); + +test("venice: models say what they can do and how private they are; beta-only ones are left out; the balance reads", async () => { + const v = new Venice("sk", { fetch: fakeFetch((p) => (p.startsWith("/models") ? { status: 200, body: { data: [ + { id: "m1", model_spec: { name: "M One", privacy: "private", uncensored: true, availableContextTokens: 65536, traits: ["default"], + capabilities: { supportsVision: true, supportsFunctionCalling: true, supportsReasoning: false, supportsWebSearch: true }, + pricing: { input: { usd: 0.5 }, output: { usd: 2 } }, deprecation: { removesAt: "2026-12-01T00:00:00Z" } } }, + { id: "m2", model_spec: { name: "Beta", beta: true } }] } } + : { status: 200, body: { canConsume: true, consumptionCurrency: "DIEM", balances: { diem: 42.25, usd: 3, bundledCredits: null, earnedCredits: null }, diemEpochAllocation: 100 } }), []) }); + const [m] = await v.models(); + assert.equal((await v.models()).length, 1); + assert.deepEqual([m.name, m.privacy, m.uncensored, m.vision, m.tools, m.reasoning, m.web, m.ctx, m.input, m.output, m.retiring], + ["M One", "private", true, true, true, false, true, 65536, 0.5, 2, "2026-12-01"]); + assert.deepEqual(await v.balance(), { amount: 42.25, currency: "DIEM", canConsume: true }); +}); + +test("venice: a plain chat keeps Venice's own system prompt; a character's chat doesn't", async () => { + const bodies = []; + const v = new Venice("sk", { fetch: async (url, init) => { bodies.push(JSON.parse(init.body)); return { ok: true, status: 200, json: async () => ({ choices: [{ message: { content: "hi" } }] }) }; } }); + await v.chat({ model: "m", messages: [{ role: "user", content: "hi" }], veniceSystemPrompt: true, maxTokens: 2000 }); + assert.equal(bodies[0].venice_parameters.include_venice_system_prompt, true); + assert.equal(bodies[0].max_tokens, 2000); + await v.chat({ model: "m", messages: [] }); + assert.equal(bodies[1].venice_parameters.include_venice_system_prompt, false); +}); diff --git a/ventures/havre/tests/smoke.mjs b/ventures/havre/tests/smoke.mjs index 13a648a..53d200d 100644 --- a/ventures/havre/tests/smoke.mjs +++ b/ventures/havre/tests/smoke.mjs @@ -1,10 +1,11 @@ // node tests/smoke.mjs [--shots DIR]: Havre in a real browser, against a fake Venice (no network, no key). // // Serves this folder on localhost and drives Chromium through the page on a desktop and a phone: the first visit, -// a card import and a chat without a key, the key, Venice's characters (adult ones never listed) and one who says -// hello first, a remix end to end, the exports, the retirement of the first version's cast, and the page's security -// policy. Fails on any console error. With --shots, it also takes the screenshots: desktop.png and og.png are the ones -// the site serves (tools/build.sh copies them to shots/). +// a card import and a chat without a key, the key and the balance, Venice's characters (photos through Venice's +// image service, tags, adult ones only once asked for) and one who says hello first, the model picker, a plain +// chat, a remix end to end, the exports, the retirement of the first version's cast, and the page's security policy. +// Fails on any console error. With --shots, it also takes the screenshots: desktop.png and og.png are the ones the +// site serves (tools/build.sh copies them to shots/). // // Playwright: PW_MODULE (a path to playwright-core's index.mjs, or a package name), else playwright-core, else // playwright. Chrome: CHROME, with CHROME_FLAGS (e.g. --no-sandbox as root); else Playwright's own Chromium. @@ -50,11 +51,11 @@ function serve() { // ---------- a stand-in for api.venice.ai that answers like it does ---------- const PIXEL = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==", "base64"); -const seen = { characters: [], chats: [] }; +const seen = { characters: [], chats: [], photos: [] }; const CHARACTERS = [ { slug: "sable-penrose", name: "Sable Penrose", description: "Your new neighbor needs help moving in.", author: "btrzm", photoUrl: "https://outerface.venice.ai/sable.png", adult: false, webEnabled: false, modelId: "zai-org-glm-5-2", tags: ["neighbor"], stats: { imports: 25752 } }, - { slug: "hidden", name: "Hidden", description: "", author: "x", photoUrl: null, adult: true, modelId: "m", tags: [], stats: {} }, + { slug: "after-dark", name: "After Dark", description: "Only for grown-ups.", author: "x", photoUrl: null, adult: true, modelId: "m", tags: [], stats: {} }, { slug: "wren", name: "Wren", description: "A deckhand on the night ferry.", author: "q", photoUrl: null, adult: false, modelId: "zai-org-glm-5-2", tags: [], stats: {} }, ]; async function fakeVenice(route) { @@ -65,11 +66,22 @@ async function fakeVenice(route) { return route.fulfill({ status: 204, headers: { ...cors, "access-control-allow-headers": "*", "access-control-allow-methods": "GET,POST,OPTIONS" } }); } if (url.includes("/models")) { - return ok({ data: [{ id: "zai-org-glm-5-2", model_spec: { pricing: { input: { usd: 1.4 }, output: { usd: 4.4 } } } }, - { id: "tiny-model", model_spec: { pricing: { input: { usd: 0.1 }, output: { usd: 0.2 } } } }] }); + return ok({ data: [ + { id: "zai-org-glm-5-2", model_spec: { name: "GLM 5.2", privacy: "private", traits: ["default"], availableContextTokens: 198000, + capabilities: { supportsFunctionCalling: true, supportsReasoning: true }, pricing: { input: { usd: 1.4 }, output: { usd: 4.4 } } } }, + { id: "tiny-model", model_spec: { name: "Tiny", privacy: "anonymized", uncensored: true, availableContextTokens: 32000, + capabilities: { supportsVision: true }, pricing: { input: { usd: 0.1 }, output: { usd: 0.2 } } } }, + { id: "beta-model", model_spec: { name: "Beta only", beta: true, privacy: "private", pricing: {} } }] }); } if (auth !== "Bearer sk-good") return ok({ error: "Authentication failed" }, 401); - if (url.includes("/characters")) { seen.characters.push(url); return ok({ object: "list", data: CHARACTERS }); } + if (url.includes("/billing/balance")) { + return ok({ canConsume: true, consumptionCurrency: "USD", balances: { usd: 12.5, diem: null, bundledCredits: null, earnedCredits: null }, diemEpochAllocation: 0 }); + } + if (url.includes("/characters")) { + seen.characters.push(url); + const q = new URL(url).searchParams, tag = q.get("tags"); + return ok({ object: "list", data: CHARACTERS.filter((c) => (q.get("isAdult") !== "false" || !c.adult) && (!tag || c.tags.includes(tag))) }); + } if (url.includes("/chat/completions")) { const b = JSON.parse(body); seen.chats.push(b); @@ -127,7 +139,9 @@ async function main() { }; const venice = async (page) => { await page.route(/^https:\/\/api\.venice\.ai\//, fakeVenice); - await page.route(/^https:\/\/outerface\.venice\.ai\//, (r) => r.fulfill({ status: 200, contentType: "image/png", body: PIXEL })); + // Venice's photos only come through its image service; asked for directly, they're refused + await page.route(/^https:\/\/venice\.ai\/_next\/image\?/, (r) => { seen.photos.push(r.request().url()); r.fulfill({ status: 200, contentType: "image/png", body: PIXEL }); }); + await page.route(/^https:\/\/outerface\.venice\.ai\//, (r) => r.fulfill({ status: 403, contentType: "application/json", body: "{}" })); }; if (SHOTS) await mkdir(SHOTS, { recursive: true }); const shot = async (page, name, opts = {}) => { if (SHOTS) await page.screenshot({ path: join(SHOTS, name), ...opts }); }; @@ -177,21 +191,41 @@ async function main() { assert.equal(await page.evaluate(() => localStorage.getItem("havre.key")), null, "an unremembered key stays out of localStorage"); assert.equal(await page.evaluate(() => JSON.parse(sessionStorage.getItem("havre.key"))), "sk-good"); - // Venice's characters: adult ones are never listed, and a photo from outerface.venice.ai shows + // Venice's characters: adult ones only when asked for, and photos come through Venice's image service await count(page, "#vgrid li:not(.ghost)", 2); - assert.ok(seen.characters.some((u) => /isAdult=false/.test(u) && /sortBy=featured/.test(u)), "asked for safe-for-work characters"); + assert.ok(seen.characters.some((u) => /isAdult=false/.test(u) && /sortBy=featured/.test(u)), "no adult characters unless asked"); await until(page, () => { const i = document.querySelector("#vgrid img"); return !!i && i.complete && i.naturalWidth > 0; }, null, "a character's photo"); + assert.ok(seen.photos[0].startsWith("https://venice.ai/_next/image?url=https%3A%2F%2Fouterface.venice.ai%2Fsable.png&w="), seen.photos[0]); assert.equal(await page.locator("#vgrid .noface").count(), 1, "no photo is an empty frame"); - const asked = seen.characters.length; + await has(page, "#balance", /^balance \$12\.50$/); + let asked = seen.characters.length; await page.selectOption("#vsort", "imports"); await poll(() => seen.characters.length > asked, "a sorted search"); assert.ok(seen.characters.at(-1).includes("sortBy=imports"), "the sort reaches Venice"); await count(page, "#vgrid li:not(.ghost)", 2); await has(page, "#vgrid .nm", /Wren/); + // a tag narrows the list, and comes off again + asked = seen.characters.length; + await page.getByRole("button", { name: "Only characters tagged neighbor" }).click(); + await poll(() => seen.characters.length > asked, "a search by tag"); + assert.ok(seen.characters.at(-1).includes("tags=neighbor")); + await count(page, "#vgrid li:not(.ghost)", 1); + await page.getByRole("button", { name: "Show every tag, not just neighbor" }).click(); + await count(page, "#vgrid li:not(.ghost)", 2); + // adult characters, once someone says they're 18 or older + page.once("dialog", (d) => d.accept()); + await page.check("#vadult"); + await count(page, "#vgrid li:not(.ghost)", 3); + assert.ok(!seen.characters.at(-1).includes("isAdult"), "every character, adult ones too"); + await has(page, "#vgrid .x18", /18\+/); + assert.equal(await page.evaluate(() => localStorage.getItem("havre.adult.18")), "true"); + await page.uncheck("#vadult"); + await count(page, "#vgrid li:not(.ghost)", 2); // one of them says hello first, through Venice, with their own prompt const chatsBefore = seen.chats.length; await page.locator("#vgrid .tile", { hasText: "Sable Penrose" }).click(); + await page.waitForTimeout(50); await has(page, "#who-name", /^Sable Penrose$/); await has(page, "#log .line.them .said", /Careful, the boxes bite\./); assert.equal(await page.locator("#log .line.me").count(), 0, "what started it isn't shown"); @@ -201,12 +235,34 @@ async function main() { assert.equal(hello.messages[0].role, "user"); await count(page, "#roster tr", 2); assert.match(await page.locator('#vgrid .tile[aria-pressed="true"]').evaluate((el) => el.textContent), /Sable Penrose.*talking now/); + // the model: their own on Venice to start with, and any other Venice model from the picker + await has(page, "#model-btn", /^GLM 5\.2$/); + await page.click("#model-btn"); + await count(page, "#mlist tr", 2); + assert.match(await textOf(page, "#mlist tr"), /GLM 5\.2.*their own/); + assert.match(await page.locator("#mlist tr", { hasText: "Tiny" }).evaluate((el) => el.textContent), /anonymized.*sees.*uncensored.*\$0\.10 \/ \$0\.20.*32k/); + await shot(page, "desktop-models.png"); + await page.getByRole("button", { name: "Use Tiny" }).click(); + await has(page, "#model-btn", /^Tiny$/); await page.fill("#say", "Do you have a boat?"); await page.keyboard.press("Enter"); await has(page, "#log .line.them .said", /Ask me again after the tide\./); + assert.equal(seen.chats.at(-1).model, "tiny-model"); await page.waitForTimeout(400); await shot(page, "desktop-chat.png"); + // a plain chat: no character, just a model, in one piece + await page.click("#plain"); + await has(page, "#who-name", /^no character$/); + await page.fill("#say", "What is a harbor?"); + await page.keyboard.press("Enter"); + await has(page, "#log .line.them .said", /Mm\. Good question\.\n\nAsk me again after the tide\./); + const plain = seen.chats.at(-1); + assert.equal(plain.messages[0].role, "user", "no system prompt of Havre's"); + assert.equal(plain.venice_parameters.include_venice_system_prompt, true); + assert.ok(!plain.venice_parameters.character_slug); + assert.ok(await page.locator("#card-body").isHidden(), "a plain chat has no card"); + // remix with credit, end to end, from the card that came in await page.locator("#roster tr", { hasText: "Captain Ro" }).getByRole("button", { name: "Remix Captain Ro" }).click(); await has(page, "#rx-from", /^Captain Ro$/); diff --git a/ventures/havre/venice.js b/ventures/havre/venice.js index 1f35d70..6d972e9 100644 --- a/ventures/havre/venice.js +++ b/ventures/havre/venice.js @@ -46,60 +46,78 @@ export class Venice { return data; } - /** text models with their prices (USD per million tokens); no key needed */ + /** + * Text models: what each can do, how private it is, and what it costs (USD per million tokens). No key needed. + * Models that are offline, or open only to Venice's beta testers, are left out. + */ async models() { const d = await this.call("/models?type=text", { auth: false }); - return (d && d.data || []).filter((m) => !(m.model_spec && m.model_spec.offline)).map((m) => { - const s = m.model_spec || {}, p = s.pricing || {}; + return (d && d.data || []).filter((m) => m && !(m.model_spec && (m.model_spec.offline || m.model_spec.beta))).map((m) => { + const s = m.model_spec || {}, p = s.pricing || {}, c = s.capabilities || {}, dep = s.deprecation || null; return { id: m.id, name: s.name || m.id, ctx: s.availableContextTokens || 0, traits: s.traits || [], input: p.input && p.input.usd, output: p.output && p.output.usd, - json: !!(s.capabilities && s.capabilities.supportsResponseSchema), + privacy: s.privacy || "", uncensored: !!s.uncensored, + vision: !!c.supportsVision, tools: !!c.supportsFunctionCalling, reasoning: !!c.supportsReasoning, web: !!c.supportsWebSearch, + json: !!c.supportsResponseSchema, + retiring: dep ? String(dep.removesAt || dep.date || "soon").slice(0, 10) : "", }; }); } + /** what is left to spend on this key: { amount, currency, canConsume } */ + async balance() { + const d = await this.call("/billing/balance"); + const b = d && d.balances || {}, currency = d && d.consumptionCurrency || "USD"; + const amount = { DIEM: b.diem, BUNDLED_CREDITS: b.bundledCredits, EARNED_CREDITS: b.earnedCredits }[currency] ?? b.usd; + return { amount: typeof amount === "number" ? amount : null, currency, canConsume: !!(d && d.canConsume) }; + } + /** - * One page of public Venice characters, safe for work only: { list, more }. sort: featured, imports, highestRating, - * mostRecent (or any other sortBy Venice takes); search matches names, descriptions and #tags. + * One page of public Venice characters: { list, more }. Adult characters only with adult: true. sort: featured, + * imports, highestRating, mostRecent (or any other sortBy Venice takes); search matches names, descriptions and + * #tags; tags narrows to a tag. */ - async characterPage({ search = "", limit = 24, offset = 0, sort = "" } = {}) { - const q = new URLSearchParams({ limit: String(limit), offset: String(offset), isAdult: "false" }); + async characterPage({ search = "", limit = 24, offset = 0, sort = "", tags = "", adult = false } = {}) { + const q = new URLSearchParams({ limit: String(limit), offset: String(offset) }); + if (!adult) q.set("isAdult", "false"); if (search) q.set("search", search); if (sort) q.set("sortBy", sort); + if (tags) q.set("tags", tags); let d; try { d = await this.call("/characters?" + q); } catch (e) { if (e.status !== 400) throw e; - q.delete("sortBy"); q.delete("isAdult"); // asked for something this API doesn't take: ask plainly + for (const k of ["sortBy", "isAdult", "tags"]) q.delete(k); // asked for something this API doesn't take: ask plainly d = await this.call("/characters?" + q); } const raw = d && Array.isArray(d.data) ? d.data : []; - return { list: raw.filter((c) => c && !c.adult).map(characterInfo), more: raw.length >= limit }; + return { list: raw.filter((c) => c && (adult || !c.adult)).map(characterInfo), more: raw.length >= limit }; } - /** public Venice characters, safe for work only */ + /** public Venice characters (adult ones only with adult: true) */ async characters(opts = {}) { return (await this.characterPage(opts)).list; } - async character(slug) { + async character(slug, { adult = false } = {}) { const d = await this.call("/characters/" + encodeURIComponent(slug)); const c = d && d.data; if (!c) throw new VeniceError("Venice doesn't know that character.", 404); - if (c.adult) throw new VeniceError("That character is marked adult; Havre only shows safe-for-work characters for now.", 451); + if (c.adult && !adult) throw new VeniceError("That character is marked adult. Switch on adult characters to see them.", 451); return characterInfo(c); } /** * One chat completion. characterSlug: speak through a public Venice character (its own prompt, which Havre never - * sees). schema: ask for JSON matching it. Returns { text, usage }. + * sees). veniceSystemPrompt: keep Venice's own system prompt (a plain chat with no character). schema: ask for JSON + * matching it. Returns { text, usage }. */ - async chat({ model, messages, characterSlug = "", schema = null, maxTokens = 700, temperature = 0.8, signal } = {}) { + async chat({ model, messages, characterSlug = "", veniceSystemPrompt = false, schema = null, maxTokens = 700, temperature = 0.8, signal } = {}) { // short-form chat wants fast, plain replies: no reasoning pass (a reasoning model can spend the whole budget // thinking and send back nothing), and only Havre's own system prompt - const venice_parameters = { disable_thinking: true, strip_thinking_response: true, include_venice_system_prompt: false }; + const venice_parameters = { disable_thinking: true, strip_thinking_response: true, include_venice_system_prompt: !!veniceSystemPrompt }; if (characterSlug) { venice_parameters.character_slug = characterSlug; delete venice_parameters.include_venice_system_prompt; } const body = { model, messages, max_tokens: maxTokens, temperature, stream: false, venice_parameters }; if (schema) body.response_format = { type: "json_schema", json_schema: { name: "result", strict: true, schema } }; @@ -122,5 +140,6 @@ function characterInfo(c) { photo: /^https:\/\/outerface\.venice\.ai\//.test(c.photoUrl || "") ? c.photoUrl : "", url: "https://venice.ai/c/" + encodeURIComponent(c.slug), model: c.modelId || "", tags: c.tags || [], imports: c.stats && c.stats.imports || 0, rating: c.stats && c.stats.averageRating || 0, web: !!c.webEnabled, + adult: !!c.adult, }; }