1<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/assets/styles-CoZhhTF5.css" data-precedence="default"/><title>Téléchargements · ReadingTK</title><meta name="robots" content="index, follow"/><meta name="author" content="TKISSDev"/><meta name="theme-color" content="#0f0f0f"/><meta name="description" content="Téléchargez l'extension ReadingTK (Chrome, Firefox) et l'application Windows pour détecter automatiquement les nouveaux chapitres manga et manhwa."/><link rel="modulepreload" href="/assets/index-Bj7licZY.js"/><link rel="modulepreload" href="/assets/vendor-react-BBy2ZWQs.js"/><link rel="modulepreload" href="/assets/vendor-misc-UQ56Iyoi.js"/><link rel="modulepreload" href="/assets/vendor-supabase-B4HII3_u.js"/><link rel="modulepreload" href="/assets/vendor-ui-BxcOQNql.js"/><link rel="modulepreload" href="/assets/download-2NA5ohTm.js"/><link rel="modulepreload" href="/assets/Footer-DpSQzbZj.js"/><link rel="icon" type="image/png" href="/favicon.png"/><link rel="canonical" href="https://readingtk.net/"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebApplication","name":"ReadingTK","url":"https://readingtk.net","description":"Tracker de lecture manga, manhwa, manhuas et novels. Détection automatique des nouveaux chapitres et notifications instantanées.","applicationCategory":"EntertainmentApplication","operatingSystem":"Web","offers":{"@type":"Offer","price":"0","priceCurrency":"EUR"},"author":{"@type":"Organization","name":"TKISSDev","email":"[email protected]"},"inLanguage":["fr","en"]}</script>
1</head><body><!--$--><div class="flex min-h-screen flex-col bg-background text-foreground"><div class="mx-auto w-full max-w-4xl flex-1 px-6 py-16"><button class="mb-10 inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground">â <!-- -->Retour</button><h1 class="mb-3 text-3xl font-bold">Téléchargements</h1><p class="mb-12 text-sm leading-relaxed text-muted-foreground">Installez l'extension navigateur et/ou l'application Windows pour détecter automatiquement les nouveaux chapitres, sans jamais avoir à vérifier vos sites de lecture manuellement.</p><section class="mb-20"><h2 class="mb-2 text-xl font-bold">Extension navigateur</h2><p class="mb-6 text-sm leading-relaxed text-muted-foreground">S'exécute en arrière-plan dans votre navigateur et vous notifie dès qu'un chapitre est disponible.</p><div class="mb-10 grid gap-5 md:grid-cols-2"><div class="flex flex-col gap-4 rounded-2xl border border-border bg-card/60 p-6" style="box-shadow:var(--shadow-card)"><div class="flex items-center gap-3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" fill="#fff"></circle><path d="M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z" fill="#1a73e8"></path><path d="M12 8h9.2a10 10 0 0 0-18.4 0H12z" fill="#ea4335"></path><path d="M3.46 14A10 10 0 0 0 12 22l4.6-7.96A4 4 0 0 1 12 16a4 4 0 0 1-3.46-2H3.46z" fill="#34a853"></path><path d="M20.54 14A10 10 0 0 0 21.2 8H12a4 4 0 0 1 4.6 4.04L20.54 14z" fill="#fbbc05"></path></svg><div><div class="font-semibold">Chrome</div><div class="text-xs text-muted-foreground">Manifest V3 · v<!-- -->1.1.2</div></div></div><div class="rounded-md border border-border bg-muted/30 px-4 py-2.5 text-center text-sm text-muted-foreground">â³ Soumis â en cours de validation</div><a href="/downloads/readingtk-chrome.zip" download="" class="flex items-center justify-center gap-2 rounded-md border border-border bg-card/50 px-4 py-2 text-sm font-medium text-muted-foreground transition hover:border-accent/60 hover:text-foreground"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <!-- -->Télécharger le ZIP (installation manuelle)</a></div>
1<div class="flex flex-col gap-4 rounded-2xl border border-border bg-card/60 p-6" style="box-shadow:var(--shadow-card)"><div class="flex items-center gap-3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" fill="#FF9500"></circle><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm3.5 14.5c-1 .7-2.2 1-3.5 1-3.87 0-7-3.13-7-7 0-1.5.47-2.89 1.27-4.03.2.6.5 1.5 1.23 2.03.9.65 2 .5 2 .5s-.5 1 .5 2c.67.67 1.5.7 2 .5.4 1.2 1.5 2 2.5 2s2-.8 2-2c0-.5-.2-1-.5-1.5.5.2 1 .6 1.3 1.2.8 1.5.4 3.5-1.8 5.3z" fill="#FF6611"></path></svg><div><div class="font-semibold">Firefox</div><div class="text-xs text-muted-foreground">Manifest V2 · v<!-- -->1.1.2</div></div></div><a href="https://addons.mozilla.org/fr/firefox/addon/readingtk/" target="_blank" rel="noreferrer" class="flex items-center justify-center gap-2 rounded-md px-4 py-2.5 text-sm font-semibold text-white transition hover:opacity-90" style="background:var(--gradient-primary)"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg> <!-- -->Installer depuis Firefox Add-ons</a><a href="/downloads/readingtk-firefox.zip" download="" class="flex items-center justify-center gap-2 rounded-md border border-border bg-card/50 px-4 py-2 text-sm font-medium text-muted-foreground transition hover:border-accent/60 hover:text-foreground"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <!-- -->Télécharger le ZIP (installation manuelle)</a></div></div><div class="mb-10 flex flex-col items-start gap-12 md:flex-row md:items-center"><div class="shrink-0"><div style="width:260px;background:#0f0f13;border:1px solid #2a2a38;border-radius:12px;padding:18px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:13px;color:#e8e8f0;box-shadow:0 20px 60px rgba(0,0,0,0.5)"><div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:14px"><span style="font-size:17px;font-weight:700;background:linear-gradient(135deg, #6366f1, #818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent">ReadingTK</span><span style="font-size:11px;color:#555;cursor:pointer">Déconnexion</span></div><div style="background:#1a1a24;border:1px solid #2a2a38;border-radius:8px;padding:10px 13px;margin-bottom:12px"><div style="display:flex;justify-content:space-between;margin-bottom:7px"><span style="color:#888;font-size:11px">Dernière vérification</span><span style="font-size:12px;font-weight:500">il y a 8 min</span></div><div style="display:flex;justify-content:space-between"><span style="color:#888;font-size:11px">Nouveaux chapitres</span><span style="font-size:12px;font-weight:600;color:#818cf8">3 détectés</span></div></div><button style="width:100%;padding:8px 14px;border-radius:7px;border:none;background:linear-gradient(135deg, #6366f1, #818cf8);color:#fff;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:12px">⻠Vérifier maintenant</button><div style="display:flex;flex-direction:column;gap:9px;margin-bottom:12px"><div style="display:flex;align-items:center;justify-content:space-between"><span style="color:#aaa;font-size:12px">Intervalle automatique</span><select style="background:#1a1a24;border:1px solid #2a2a38;color:#e8e8f0;font-size:12px;padding:3px 7px;border-radius:5px"><option value="60" selected="">1 heure</option></select></div><div style="display:flex;align-items:center;justify-content:space-between"><span style="color:#aaa;font-size:12px">Notifications</span><div style="width:36px;height:20px;background:#6366f1;border-radius:20px;position:relative"><div style="position:absolute;width:14px;
1height:14px;background:#fff;border-radius:50%;top:3px;left:19px"></div></div></div></div><div style="text-align:center;color:#6366f1;font-size:12px">Ouvrir ReadingTK â</div></div></div><div class="flex flex-col gap-4"><h3 class="text-lg font-semibold">Ce que fait l'extension</h3><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Détecte les nouveaux chapitres sur toutes vos sources configurées</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Envoie une notification push dès qu'un chapitre sort</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Se synchronise automatiquement avec votre bibliothèque ReadingTK</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Vérification automatique réglable (15 min à 4 heures)</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Fonctionne entièrement en arrière-plan</span></div></div></div><div class="rounded-2xl border border-border bg-card/40 p-8"><h3 class="mb-6 text-lg font-semibold">Installation manuelle (Chrome, en attendant la validation du store)</h3><div class="flex flex-col gap-5"><div class="flex items-start gap-4"><div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white" style="background:var(--gradient-primary)">1</div><div><div class="text-sm font-semibold text-foreground">Télécharge l'extension</div><div class="mt-0.5 text-sm text-muted-foreground">Clique sur le bouton ci-dessus pour télécharger le fichier ZIP.</div></div></div><div class="flex items-start gap-4"><div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white" style="background:var(--gradient-primary)">2</div><div><div class="text-sm font-semibold text-foreground">Ouvre la page des extensions</div><div class="mt-0.5 text-sm text-muted-foreground">Dans Chrome : tape chrome://extensions dans la barre d'adresse. Dans Firefox : tape about:addons.</div></div></div><div class="flex items-start gap-4"><div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white" style="background:var(--gradient-primary)">3</div><div><div class="text-sm font-semibold text-foreground">Active le mode développeur</div><div class="mt-0.5 text-sm text-muted-foreground">Chrome uniquement â active le bouton « Mode développeur » en haut à droite.</div></div></div><div class="flex items-start gap-4"><div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white" style="background:var(--gradient-primary)">4</div><div><div class="text-sm font-semibold text-foreground">Charge l'extension</div><div class="mt-0.5 text-sm text-muted-foreground">Chrome : « Charger l'extension non empaquetée » puis sélectionne le dossier extrait. Firefox : « Installer depuis un fichier » puis sélectionne le ZIP.</div></div></div><div class="flex items-start gap-4"><div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white" style="background:var(--gradient-primary)">5</div><div><div class="text-sm font-semibold text-foreground">Connecte-toi</div><div class="mt-0.5 text-sm text-muted-foreground">Clique sur l'icône de l'extension et connecte-toi avec ton compte ReadingTK.</div></div></div></div></div></section><section><h2 class="mb-2 text-xl font-bold">Application Windows</h2><p class="mb-6 text-sm leading-relaxed text-muted-foreground">Une icône dans la barre système qui vérifie vos lectures en continu, même quand votre navigateur est fermé.</p><div class="mb-10 flex items-center gap-3 rounded-2xl border border-border bg-card/60 p-6" style="box-shadow:var(--shadow-card)"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><path d="M3 5.5 10.4 4.5V11.4H3V5.5Z" fill="#00A4EF"></path><path d="M11.3 4.4 21 3V11.3H11.3V4.4Z" fill="#00A4EF"></path><path d="M3 12.4H10.4V19.4L3 18.4V12.4Z" fill="#00A4EF"></path><path d="M11.3 12.4H21V20.9L11.3 19.5V12.4Z" fill="#00A4EF"></path></svg><div><div class="font-semibold">Windows 10 / 11</div><div class="text-xs text-muted-foreground">Version 1.0.9</div></div></div><div class="mb-10 grid gap-5 md:grid-cols-3"><a href="https://github.com/tkissdev/readingtk/releases/download/windows-app-v1.0.9/ReadingTK-Setup-1.0.9.exe" class="flex flex-col items-center gap-2 rounded-2xl border border-accent/60 bg-card/60 p-6 text-center transition hover:border-accent" style="box-shadow:var(--shadow-card)"><div class="mb-1 flex h-10 w-10 items-center justify-center rounded-lg bg-accent/10 text-accent"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></div><div class="font-semibold">Installateur (recommandé)</div><div class="text-xs text-muted-foreground">Assistant d'installation classique + désinstalleur</div>
1<div class="text-xs text-muted-foreground/70">v<!-- -->1.0.9</div></a><a href="https://github.com/tkissdev/readingtk/releases/download/windows-app-v1.0.9/ReadingTK-1.0.9-win64.msi" class="flex flex-col items-center gap-2 rounded-2xl border border-border bg-card/60 p-6 text-center transition hover:border-accent/60" style="box-shadow:var(--shadow-card)"><div class="mb-1 flex h-10 w-10 items-center justify-center rounded-lg bg-accent/10 text-accent"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></div><div class="font-semibold">Installateur .msi</div><div class="text-xs text-muted-foreground">Installation classique + menu Démarrer</div><div class="text-xs text-muted-foreground/70">v<!-- -->1.0.9</div></a><a href="https://github.com/tkissdev/readingtk/releases/download/windows-app-v1.0.9/ReadingTK-1.0.9-portable.zip" class="flex flex-col items-center gap-2 rounded-2xl border border-border bg-card/60 p-6 text-center transition hover:border-accent/60" style="box-shadow:var(--shadow-card)"><div class="mb-1 flex h-10 w-10 items-center justify-center rounded-lg bg-accent/10 text-accent"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></div><div class="font-semibold">Version .zip</div><div class="text-xs text-muted-foreground">Archive contenant l'exécutable portable</div><div class="text-xs text-muted-foreground/70">v<!-- -->1.0.9</div></a></div><div class="mb-10 rounded-xl border border-amber-500/30 bg-amber-500/10 p-4 text-sm"><p class="mb-1 font-medium text-foreground">â ï¸ Windows peut afficher un avertissement SmartScreen</p><p class="text-muted-foreground">L'application n'a pas encore de certificat de signature numérique. Si Windows affiche « Windows a protégé votre ordinateur », cliquez sur « Informations complémentaires » puis sur « Exécuter quand même » pour installer l'application.</p></div><div class="flex flex-col gap-4"><h3 class="text-lg font-semibold">Ce que fait l'application</h3><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Icône dans la barre système (systray) avec vérification à la demande</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Vérification automatique en arrière-plan, à intervalle réglable</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Notifications natives Windows dès qu'un chapitre est détecté</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Rapport détaillé des erreurs du dernier check</span></div><div class="flex items-start gap-3"><div class="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-accent/20 text-accent"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></div><span class="text-sm text-muted-foreground">Démarrage automatique avec Windows (optionnel)</span></div></div></section>
1<section class="flex items-center justify-between gap-4 rounded-2xl border border-border bg-card/60 p-6" style="box-shadow:var(--shadow-card)"><div><h2 class="text-lg font-bold">Code source</h2><p class="text-sm text-muted-foreground">ReadingTK est open source (licence MIT) â site web, extensions et application Windows.</p></div><a href="https://github.com/tkissdev/readingtk" target="_blank" rel="noreferrer" class="flex shrink-0 items-center gap-2 rounded-md border border-border bg-background px-4 py-2 text-sm font-medium transition hover:bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-4 w-4" aria-hidden="true"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg> GitHub</a></section></div><footer class="flex shrink-0 items-center justify-center gap-2 border-t border-border py-4 text-xs text-muted-foreground"><span>ReadingTK v<!-- -->1.12</span><span>·</span><a href="/privacy" class="hover:text-foreground hover:underline">Politique de confidentialité</a><span>·</span><a href="/contribute" class="hover:text-foreground hover:underline">Faire un don</a></footer></div>
1<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
1<!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
1<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-Bj7licZY.js","/assets/vendor-react-BBy2ZWQs.js","/assets/vendor-misc-UQ56Iyoi.js","/assets/vendor-supabase-B4HII3_u.js","/assets/vendor-ui-BxcOQNql.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-Bj7licZY.js"}}]},"/download":$R[8]={preloads:$R[9]=["/assets/download-2NA5ohTm.js","/assets/Footer-DpSQzbZj.js"]}}},matches:$R[10]=[$R[11]={i:"__root__�",u:1790906515257,s:"success",ssr:!0},$R[12]={i:"�download�download",u:1790906515261,s:"success",ssr:!0}],lastMatchId:"�download�download"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
1<script type="module" async="" src="/assets/index-Bj7licZY.js"></script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.