1import{bZ as M,b_ as h,t as P,f as F,Y as U,aJ as L,ab as Re,aY as nt,R as ot}from"./chunkReloadRecoveryrjuMb-b8.js";import{aa as Ae,ab as q,r as st,I as Fe,ac as at,J as j}from"./OperationQueueKzEpmh-u.js";import{g as Z,u as it}from"./url.utils3SlYVg-c.js";import{r as ct}from"./item-name.utilsBH3paGZr.js";import{b as ut}from"./common.storeDJ22K8d0.js";import{ae as he,af as lt,c as dt}from"./refresh.storeCM69jM7x.js";import{e as ft,f as pt,h as mt,j as gt}from"./item.typesx7Q7rrX9.js";import{a1 as yt}from"./vue-runtimeBHGad_ZB.js";const pr="rediscover",St={title:"Rediscover",type:"rediscover",description:"Things from your library you have not opened in a while. Three new ones each day.",consumeSettings:{mode:"whats_new"}},Le=()=>typeof window<"u"&&window.electron!==void 0&&window.electron.isElectron===!0,Ee=()=>Le()?window.electron:null,mr=async()=>{const e=Ee();return!e||!e.getDesktopStatus?null:e.getDesktopStatus()},gr=async()=>{const e=Ee();return!e||!e.consumeDesktopAuthHandoff?null:e.consumeDesktopAuthHandoff()},ye=24*60*60*1e3;function E(e){if(typeof e!="string"||e.length===0)return null;const t=Date.parse(e);return Number.isFinite(t)?t:null}function It(e){var t;return E(e.createdAt)??E((t=e.feedback)==null?void 0:t.createdAt)??null}function wt(e){var n,o;const t=[E((n=e.feedback)==null?void 0:n.lastVisit),E((o=e.feedback)==null?void 0:o.updatedAt),E(e.lastVisit),E(e.updatedAt),E(e.createdAt)];let r=null;for(const s of t)s!=null&&(r==null||s>r)&&(r=s);return r}function Ut(e,t,r){if(r.minItemAgeDays>0){const n=It(e);if(n!=null&&t-n<r.minItemAgeDays*ye)return!1}if(r.minSinceTouchedDays>0){const n=wt(e);if(n!=null&&t-n<r.minSinceTouchedDays*ye)return!1}return!0}function _t(e,t,r){return e.filter(n=>Ut(n,t,r))}const Tt=14,bt=14,Rt=["open","snoozed","dismissed"];function At(e,t){const r=e&&typeof e=="object"?e:{},o=r.date===t&&typeof r.itemId=="string"&&r.itemId?r.itemId:null,s=o&&Rt.includes(r.outcome)?r.outcome:null;return{date:t,itemId:o,outcome:s}}function ve(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619)>>>0;return t>>>0}function ke(e,t,r){const n=Array.from(new Set(e.filter(Boolean))).sort();return n.length===0?null:n[ve(`${r}:${t}`)%n.length]}function yr(e,t,r,n){const o=e.date===r?e:At(e,r);if(o.itemId){const d=t.includes(o.itemId);return{state:o,done:o.outcome!=null||!d,changed:o!==e}}const s=ke(t,r,n);return{state:{date:r,itemId:s,outcome:null},done:!1,changed:s!=null||o!==e}}const Ft="rediscover",Ce=3,Sr=St;function ht(e){return(e==null?void 0:e.refType)===Ft}function Lt(e){const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e||"");return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3])).toISOString():new Date().toISOString()}function Et(e,t,r,n=Ce,o){const s=Array.from(new Set(e.filter(l=>!!l&&l!==o)));return s.length===0||n<=0?[]:s.map(l=>({id:l,rank:ve(`${r}:${t}:${l}`)})).sort((l,S)=>l.rank-S.rank||(l.id<S.id?-1:l.id>S.id?1:0)).slice(0,n).map(l=>l.id)}function vt(e,t,r){const n=Lt(r);return t.map(({info:o,display:s})=>{var l,S,a,m;const d=s.url||((l=o.details)==null?void 0:l.url)||"";return{_id:o.itemId,type:"item",baseType:"subItem",sourceId:o.itemId,title:s.name||((S=o.details)==null?void 0:S.name)||d||"Untitled",url:d,description:s.description||((a=o.details)==null?void 0:a.description)||"",imageUrl:null,defaultImage:null,all:"",subDetails:e,createdAt:n,itemMatch:o,info:(m=o.details)==null?void 0:m.info,patterns:d?[Z(d)]:[]}})}const kt=/\.(avif|bmp|gif|ico|jpe?g|png|svg|webp)(?:$|[?#])/i;function f(e){return typeof e!="string"?void 0:e.trim()||void 0}function Ct(e){var n,o;const t=e.subDetails;if(!t)return null;const r=t.item;return gt({savedFromItemType:e.type==="pub_item"?"pub_item":"feed_item",subscriptionId:f(t._id),subscriptionRefType:f(t.refType),subscriptionRefId:f(t.refId),feedId:f(t.feedId),feedURL:f(t.feedURL),parentItemId:f(r==null?void 0:r._id),parentItemUrl:f(r==null?void 0:r.url),parentTitle:f((r==null?void 0:r.name)||t.title),parentSubtitle:f(r==null?void 0:r.description),channelId:f((o=(n=r==null?void 0:r.meta)==null?void 0:n.tsExtractedInfo)==null?void 0:o.channelId)})}function Se(e,t){var o;const r=f(e);
1if(!r)return!1;const n=(o=f(t))==null?void 0:o.toLowerCase();if(n){if(n==="image"||n.startsWith("image/"))return!0;if(n==="audio"||n.startsWith("audio/")||n==="video"||n.startsWith("video/"))return!1}return r.startsWith("data:image/")?!0:kt.test(r)}function J(e){var n;const t=f(e);if(!t)return;if(typeof DOMParser<"u"){const s=(n=new DOMParser().parseFromString(t,"text/html").querySelector("img[src]"))==null?void 0:n.getAttribute("src"),d=f(s);if(d)return d}const r=t.match(/<img[\s\S]*?src=['"]([^'"]+)['"]/i);return f(r==null?void 0:r[1])}function Gt(e){const t=f(e);if(t)return f(t.replace(/<br\s*\/?>/gi," ").replace(/<\/(p|div|li|figure|figcaption|section|article|h[1-6])>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/\s+([.,!?;:])/g,"$1").replace(/\s+/g," "))}function Ir(e){const t=f(e.imageUrl),r=ft({audioUrl:f(e.audioUrl),audioType:f(e.audioType),audioDuration:f(e.audioDuration),sourceUrl:e.url,artworkUrl:t,title:f(e.title)}),n=Ct(e);let o=r?pt(void 0,r):void 0;return n&&(o=mt(o,n)),{url:e.url,name:f(e.title),tags:[],patterns:[Z(e.url)],meta:{title:f(e.title),description:f(e.description),imageSrc:t,bannerImageSrcPath:t},info:o,type:"link"}}const u=yt({followingLookup:void 0,subscriptionLookup:void 0,subGroupInfo:void 0,subSettingsInfo:void 0,feedGroupInfo:void 0}),Nt=1e3*60*60*24,Ot=1e3*60*60*24,B=75;async function D(){if(!U.currentUser())return!1;const e=await L("/following/listByUserId",{userId:U.currentUserId()});u.followingLookup=new Set(e.result.map(t=>t.refId))}async function Ge(e,t,r=void 0){if(!U.currentUser())return!1;u.followingLookup&&u.followingLookup.has(t)?await Q(e,t,r):await Pt(e,t,r)}async function Pt(e,t,r){if(!U.currentUser())return!1;r=r||U.currentUserId(),await D()}async function Q(e,t,r=void 0){if(!U.currentUser())return!1;r=r||U.currentUserId(),await D()}async function b(e=!1){if(!U.currentUser())return!1;await V(null,e)}function Ne(e){return u.subscriptionLookup?e in u.subscriptionLookup:(b(),!1)}function Oe(e){var t;return(t=u.subscriptionLookup)==null?void 0:t[e]}async function Mt(e){return u.subscriptionLookup||await b(),Object.fromEntries(e.map(t=>[t,u.subscriptionLookup[t]]))}function xt(){return u.subscriptionLookup||b(),u.subscriptionLookup}async function Pe(e,t,r,n=null){if(!U.currentUser())return!1;n=n||U.currentUserId();const o=await L("/subscription/add",{userId:n,refType:e,refId:t,data:r});return await b(!0),o.result}async function Bt(e,t,r){await b(!0)}async function qt(e,t,r,n){let o=null;r&&(o={...r});let s=await L("/subscription/add",{refId:e,refType:t,userId:n,data:o});return await b(!0),s.result}function Ie(e,t){t===U.currentUserId()&&(u.subscriptionLookup=Object.fromEntries(e.map(r=>{var o;let n=r.refId;return(r.refType=="item_feed"||r.refType=="custom")&&(n=it((o=r==null?void 0:r.data)==null?void 0:o.feedURL)),[n,r]}).filter(r=>r[0]!=null)))}async function V(e,t=!1){const r=U.currentUserId(),n=(e??r)||void 0;if(!n)return[];if(!t){const d=await M("subscription_list",n);if(d!=null&&d.data){const l=typeof d.timestamp=="number"?d.timestamp:0;if(l&&new Date().getTime()-l<Nt)return Ie(d.data,n),d.data}}const o=await P("/subscription/listForUser",{userId:n}),s=o==null?void 0:o.result;if(!(o!=null&&o.success)||!Array.isArray(s))throw new ot((o==null?void 0:o.message)||"Couldn't load subscriptions.",o==null?void 0:o.status,o==null?void 0:o.details,o==null?void 0:o.errorType);return Ie(s,n),await h("subscription_list",s,n),s}async function Me(e,t=!1){return(await V(e,t)).map(n=>xe(n))}function Dt(e){return(e==null?void 0:e.type)=="col"&&(e.baseType==="published"||e!=null&&e.publishId)?"pub_sub":"item_feed"}function Vt(e){return e==null?void 0:e._id}function Ht(e,t){let r=Vt(e),n=Dt(e);return{_id:null,refId:r,refType:n,...t,item:e||(t==null?void 0:t.item)||null,isTemp:!0}}function xe(e){var l,S,a;const t={_id:e._id,refId:e.refId,refType:e.refType,createdAt:e.createdAt},r={custom:()=>null,rediscover:()=>null,item_feed:()=>j(e.item),col:()=>j(e.item),shared_col:()=>j(e.item),pub_col:()=>Fe(e.item)},n=e.item?((l=r[e.refType])==null?void 0:l.call(r))??e.item:null;let o={...e.data,item:n,...t};delete o.isTemp;const s=(o==null?void 0:o.title)||(n==null?void 0:n.name)||((S=n==null?void 0:n.details)==null?void 0:S.name)||(e==null?void 0:e.title)||((a=e==null?void 0:e.data)==null?void 0:a.feedURL)||(o==null?void 0:o.feedURL)||"",d=String(s||"").trim();return o.title=d.length>0?d:"Untitled",o}async function $t(e,t,r=void 0){if(!U.currentUser())return!1;r=r||U.currentUserId(),await b()}async function Be(e){if(!U.currentUser()||!e)return!1;const t=await L("/subscription/removeById",{subscriptionId:e});return t.success?(await b(),!0):(console.error(t.message),!1)}async function H(e=!1){const t=await M("cache_subSettingsInfo");return!e&&(t!=null&&t.data)?u.subSettingsInfo={settings:t.data.settings,lastUpdate:t.data.lastUpdate}:(u.subSettingsInfo={settings:{},lastUpdate:new Date().getTime()},await h("cache_subSettingsInfo",u.subSettingsInfo)),u.subSettingsInfo.settings}async function qe(e={}){const n={settings:{...await H(!1)||{},...e||{}},lastUpdate:new Date().getTime()};
1await h("cache_subSettingsInfo",n),u.subSettingsInfo=n}function Kt(){var r,n;let e=((r=u.subGroupInfo)==null?void 0:r.groups)||[];((n=u.subGroupInfo)==null?void 0:n.lastUpdate)==null&&te(),e=e||[];for(let o=0;o<e.length;o++)e[o].name=e[o].name||"Group "+(o+1),e[o]._id=e[o]._id||o;return e}async function W(e,t){let r="cache_"+e;const n=await L("/user/prefs/update",{updates:{[e]:t}});if(!n.success){console.error(n.message);return}await h(r,t)}async function ee(e,t=!1){var n;let r=null;try{const o=await P("/user/prefs/getValue",{key:e},{forceRefresh:t});r=(n=o.result)==null?void 0:n.value}catch{r=null}return r}async function te(e=!1){let t=await ee("subGroupInfo",e);return t!=null&&t.groups?u.subGroupInfo={groups:t==null?void 0:t.groups,lastUpdate:t==null?void 0:t.lastUpdate}:u.subGroupInfo={groups:[],lastUpdate:new Date().getTime()},u.subGroupInfo}async function De(e=[]){const t={groups:e,lastUpdate:new Date().getTime()};await W("subGroupInfo",{...t}),u.subGroupInfo=t}function zt(){var r,n;let e=((r=u.subSettingsInfo)==null?void 0:r.settings)||{};return((n=u.subSettingsInfo)==null?void 0:n.lastUpdate)==null&&H(),e||[]}async function Ve(e,t){const r=await L("/data/text",{url:e,options:t});return r==null?void 0:r.result}const Yt={Accept:"application/rss+xml, application/xml, text/xml","User-Agent":"Mozilla/5.0 (compatible; RSS Reader/1.0)"};function He(){return ut()||nt()}function jt(){return!He()&&!Le()}async function we(e){return await Ve(e,{method:"GET",headers:Yt})}async function Ue(e){return(await L("/feed/proxy",{url:e})).result}async function _e(e,t){if(Re())return await we(e);if(t)try{return await we(e)}catch(r){F("GetFeedFromURL: direct fetch failed, falling back to proxy",{url:e,directError:r});try{return await Ue(e)}catch(n){throw F("GetFeedFromURL: proxy fallback also failed",{url:e,proxyError:n}),r}}return await Ue(e)}async function Jt(e){var r,n;const t=String(((r=e==null?void 0:e.item)==null?void 0:r.url)||(e==null?void 0:e.url)||"").trim();if(!t||!t.includes("youtube.com"))return null;try{const o=await L("/feed/resolveYouTubeFeedUrl",{url:t,meta:((n=e==null?void 0:e.item)==null?void 0:n.meta)||null,currentFeedURL:e.feedURL});return(o==null?void 0:o.result)||null}catch(o){return F("GetFeedFromURL: failed to resolve fresh youtube channel identifier",{feedURL:e==null?void 0:e.feedURL,itemUrl:t,error:o}),null}}async function $(e){const t=He()||Re(),r=Ae(e);let n=null;try{if(n=await _e(e,t),!r)return n;const o=q(n);if(o.ok)return n;F("GetFeedFromURL: youtube channel feed invalid, trying uploads playlist fallback",{url:e,fallbackUrl:r,reason:o.reason})}catch(o){if(!r)throw o;F("GetFeedFromURL: youtube channel feed request failed, trying uploads playlist fallback",{url:e,fallbackUrl:r,error:o})}try{const o=await _e(r,t);return q(o).ok||n==null?o:n}catch(o){if(F("GetFeedFromURL: youtube uploads playlist fallback failed",{url:e,fallbackUrl:r,fallbackError:o}),n!=null)return n;throw o}}async function Xt(e){try{const t=await $(e);return q(t,e)}catch(t){return F("ValidateFeedURL: fetch failed",{url:e,error:t}),{ok:!1,reason:"Unable to fetch feed URL."}}}const Zt=/^([\s\S]*)\s*\b(?:The|This)\s+(?:post|article|story|entry)\b[\s\S]*?\bappeared\s+first\s+on\b[\s\S]*$/i,Te=1200;function Qt(e){const t=Gt(e);if(!t)return;const r=t.replace(Zt,"$1").trim();if(!r)return;if(r.length<=Te)return r;const n=r.slice(0,Te),o=n.lastIndexOf(" ");return`${(o>0?n.slice(0,o):n).trimEnd()}â¦`}function be(e){return e?e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&#\d+;/g," "):null}async function $e(e,t){var c,I,_,T,v,p,A,G,ie,ce,ue,le,de,fe,pe,me;const n=new DOMParser().parseFromString(t,"text/xml");let o=((I=(c=n.querySelector("image"))==null?void 0:c.querySelector("url"))==null?void 0:I.textContent)||((_=n.querySelector("icon"))==null?void 0:_.textContent)||((T=n.querySelector("logo"))==null?void 0:T.textContent),s=n.lookupNamespaceURI("content"),d=n.lookupNamespaceURI("media"),l=n.lookupNamespaceURI("itunes"),S=n.lookupNamespaceURI("dc"),a=n.querySelectorAll("item");a.length==0&&(a=n.querySelectorAll("entry"));const m=new Set,i=[];a.length==0&&(a=n.querySelectorAll("channel > item"));for(const g of a)try{if(!g)continue;const K=Array.from(g.querySelectorAll("enclosure"));let N=((v=g.querySelector(":scope >
1 link"))==null?void 0:v.getAttribute("href"))||((p=g.querySelector(":scope > link"))==null?void 0:p.textContent);if(N||(N=(A=g.querySelector(":scope > enclosure"))==null?void 0:A.getAttribute("url")),m.has(N))continue;m.add(N);const R=s?g.getElementsByTagNameNS(s,"encoded")[0]:void 0,z=(G=g.querySelector(":scope > content"))==null?void 0:G.textContent,Qe=(ie=g.querySelector(":scope > summary"))==null?void 0:ie.textContent;let x=[(ce=g.querySelector(":scope > description"))==null?void 0:ce.textContent,(R==null?void 0:R.textContent)||(R==null?void 0:R.innerHTML),z,Qe].map(Qt).find(y=>!!y),w=(ue=g.querySelector("thumbnail"))==null?void 0:ue.getAttribute("url");if(!w&&l){const y=g.getElementsByTagNameNS(l,"image")[0];y&&(w=y.getAttribute("href"))}if(!w&&d){const y=g.getElementsByTagNameNS(d,"content")[0];if(y){const O=y.getAttribute("url"),rt=y.getAttribute("type")||y.getAttribute("medium");Se(O,rt)&&(w=O||void 0)}}if(!w&&R&&(w=J(R.textContent||R.innerHTML)),!w&&z&&(w=J(z)),!w&&x&&x.length>50&&(w=J(x)),!w){const y=K.find(O=>Se(O.getAttribute("url"),O.getAttribute("type")));y&&(w=y.getAttribute("url")||void 0)}const We=Array.from(g.getElementsByTagName("category")).map(y=>({term:y.getAttribute("term"),label:y.getAttribute("label")}));let Y=((le=g.querySelector("pubDate"))==null?void 0:le.innerHTML)||((de=g.querySelector("published"))==null?void 0:de.innerHTML)||((fe=g.querySelector("updated"))==null?void 0:fe.innerHTML);S&&(Y=((pe=g.getElementsByTagNameNS(S,"date")[0])==null?void 0:pe.textContent)||Y);let ge;const k=at(g),et=k==null?void 0:k.url,tt=k==null?void 0:k.type;if(l){const y=g.getElementsByTagNameNS(l,"duration")[0];y&&(ge=y.textContent||void 0)}w=w||o;const C={baseType:"subItem",title:be((me=g.querySelector("title"))==null?void 0:me.textContent),type:"feed_item",url:N,description:be(x),createdAt:Y,categories:We,imageUrl:w,defaultImage:w,all:"",subDetails:e,audioUrl:et,audioDuration:ge,audioType:tt};try{C.createdAt?C.createdAt=new Date(C.createdAt).toISOString():C.createdAt=new Date().toISOString()}catch{C.createdAt=new Date(new Date().getTime()-1e3*60*60*24*30*6).toISOString()}i.push(C)}catch(K){console.error("Error parsing feed item",K)}return i}function Ke(e,t){return t=Fe(t),{...t,type:"pub_item",sourceId:t.refId,refId:t.refId,refType:t.refType,title:t.name,url:t.url,description:t.description,imageUrl:t.imageFilename,createdAt:t.createdAt,subDetails:e,data:t}}async function Wt(e,t=!1){var d,l,S;if(ht(e))return tr(e,!!t);const r=e.refType==="col"||e.refType==="shared_col",n=(r?"sub_v4_":"sub_v3_")+e._id;if(!t&&!e.isTemp){const a=await M(n);if(a&&a.timestamp>new Date().getTime()-Ot)return e.itemsLastUpdated=a.timestamp,X(e,((d=a==null?void 0:a.data)==null?void 0:d.items)||[])}let o=[];if(e.refType==="col"||e.refType==="shared_col"){const a=await P("/collection/items",{collectionId:e.refId});if(!a.success)return console.error(a.message),[];const m=i=>{try{return i?new Date(i).toISOString():new Date().toISOString()}catch{return new Date().toISOString()}};o=(a.result||[]).map(i=>{var p,A;const c=(i==null?void 0:i.details)||{},I=(c==null?void 0:c.url)||"",_=((p=i==null?void 0:i.collectionRelation)==null?void 0:p.createdAt)||(c==null?void 0:c.updatedAt)||(c==null?void 0:c.createdAt)||new Date().toISOString(),T=I?[Z(I)]:[];return{_id:(c==null?void 0:c._id)||(i==null?void 0:i.itemId)||void 0,type:"item",baseType:"subItem",sourceId:(c==null?void 0:c._id)||(i==null?void 0:i.itemId)||void 0,title:ct(c)||I||"Untitled",url:I,description:(c==null?void 0:c.description)||"",imageUrl:null,defaultImage:null,all:"",subDetails:e,createdAt:m(_),collectionOrder:typeof((A=i==null?void 0:i.collectionRelation)==null?void 0:A.order)=="number"?i.collectionRelation.order:void 0,itemMatch:i,info:c==null?void 0:c.info,patterns:T}}).filter(i=>!!i.title)}else if(e.type=="rss"||e.type=="item_feed"||e.type=="rss_feed"){const a=async c=>{const I=await $(c),_=await $e({...e,feedURL:c},I);if(_.length===0){const T=q(I,c);if(!T.ok)throw new Error(T.reason||"Feed could not be read.")}return _},m=!!Ae(e.feedURL)||String(((l=e==null?void 0:e.item)==null?void 0:l.url)||"").includes("youtube.com");let i=null;try{o=await a(e.feedURL)}catch(c){i=c}if(m&&(i||o.length===0)){const c=await Jt(e);if(c)try{const I=await a(c);(I.length>0||i)&&(e.feedURL=c,o=I,i=null)}catch(I){F("LoadSubscriptionItems: resolved youtube feed retry failed",{originalFeedURL:e.feedURL,resolvedFeedUrl:c,resolvedError:I})}}if(i&&o.length===0)throw i}else if(e.type=="pub_col"){const a=await P("/published/collectionItemFeed",{itemId:(S=e==null?void 0:e.config)==null?void 0:S.pubId});if(!a.success)return console.error(a.message),[];o=a.result.map(m=>Ke(e,m))}let s=o.filter(a=>{var m;return!a.url||a.url&&!((m=a==null?void 0:a.url)!=null&&m.includes("youtube.com/shorts"))});if(r&&s.length>B)s=s.slice(0,B);else if(s.length>B){const a=m=>{const i=new Date(m.createdAt).getTime();return Number.isNaN(i)?0:i};s=s.sort((m,i)=>a(i)-a(m)).slice(0,B)}return e.itemsLastUpdated=new Date().getTime(),e.isTemp||h(n,{items:s,itemsLastUpdated:e.itemsLastUpdated}),X(e,s)}const er=1e3*60*60*24*2;function X(e,t){if(!(e.refType==="col"||e.refType==="shared_col")||dt(e)==="work_through")return t;const n=new Date().getTime()-er;return t.filter(o=>{const s=new Date(o.createdAt).getTime();return Number.isNaN(s)||s>=n})}async function tr(e,t){var v;const r=lt(),n="sub_rediscover_v1_"+e._id;if(!t&&!e.isTemp){const p=await M(n);if(((v=p==null?void 0:p.data)==null?void 0:v.dateKey)===r&&Array.isArray(p.data.items))return e.itemsLastUpdated=p.timestamp,p.data.items}const o=await P("/item/rediscover",{timeFrameDays:7,showReadLater:!1,showCollections:!1});if(!o.success)return console.error(o.message),[];const s=o.result||[],d=new Map(s.map(p=>[p.itemId,p])),l=Date.now(),S=_t(st(s,50,!1),l,{minItemAgeDays:Tt,minSinceTouchedDays:bt}),a=new Map(S.map(p=>[p._id,p])),m=S.map(p=>p._id),i=U.currentUserId()||"",c=ke(m,r,i),I=Et(m,r,i,Ce,c),_=[];for(const p of I){const A=d.get(p),G=a.get(p);A&&G&&_.push({info:A,display:G})}const T=vt(e,_,r);return e.itemsLastUpdated=l,e.isTemp||h(n,{dateKey:r,items:T,itemsLastUpdated:l}),T}async function re(e,t=!1){const r=`${e}GroupInfo`;if(u.feedGroupInfo||(u.feedGroupInfo={}),!t&&u.feedGroupInfo[e])return u.feedGroupInfo[e];let n=await ee(r,t);return n!=null&&n.groups?u.feedGroupInfo[e]={groups:n.groups||[],lastUpdate:n.lastUpdate||new Date().getTime()}:u.feedGroupInfo[e]={groups:[],lastUpdate:new Date().getTime()},u.feedGroupInfo[e]}
1async function ze(e,t=[]){const r={groups:t,lastUpdate:new Date().getTime()},n=`${e}GroupInfo`;await W(n,{...r}),u.feedGroupInfo||(u.feedGroupInfo={}),u.feedGroupInfo[e]=r}function rr(e){var r;if(!u.feedGroupInfo||!u.feedGroupInfo[e])return re(e),[];let t=((r=u.feedGroupInfo[e])==null?void 0:r.groups)||[];for(let n=0;n<t.length;n++)t[n].name=t[n].name||"Group "+(n+1),t[n]._id=t[n]._id||n;return t}async function Ye(e,t=!1){const r=`${e}SettingsInfo`,n=await M(r);if(!t&&(n!=null&&n.data))return n.data.settings;{const o={settings:{},lastUpdate:new Date().getTime()};return await h(r,o),o.settings}}async function je(e,t={}){const r=`${e}SettingsInfo`,n={settings:t,lastUpdate:new Date().getTime()};await h(r,n)}const ne="__ungrouped__";function Je(e,t=[]){const r=new Set;return(t||[]).forEach(n=>{(Array.isArray(n==null?void 0:n.subIds)?n.subIds:[]).forEach(o=>r.add(o))}),e.filter(n=>!r.has(n._id)).slice().sort(he)}function oe(e){return{_id:null,name:"All",subIds:e.map(t=>t._id)}}function se(e,t=[]){return[oe(e),...t||[]]}function Xe(e,t,r=[]){if(e==null)return t;if(e===ne)return Je(t,r);if(r.length==0)return[];const n=r.find(s=>s._id==e);return n?t.filter(s=>n.subIds.includes(s._id)).slice().sort(he):[]}function ae(e,t,r=[]){return se(t,r).find(o=>o._id==e)}function Ze(e,t,r=[]){if(e==null)return"All";if(e===ne)return"Ungrouped";const n=ae(e,t,r);return(n==null?void 0:n.name)||"Unknown Group"}const nr={subGroupList:()=>Kt(),subSettings:()=>zt(),getFeedGroups:e=>rr(e),createDefaultGroup:oe,createSubGroupListsForView:se,getGroupSubscriptions:Xe,findActiveGroup:ae,getActiveGroupName:Ze},or={ToggleFollowing:Ge,RemoveFromFollowing:Q,RefreshFollowing:D,RemoveFromSubscription:$t,RefreshSubscriptions:b,ListAllSubscriptions:V,ListAllPreparedSubscriptions:Me,EditSubscription:Bt,createCustomSubscription:Pe,UpdateSubscriptionGroups:De,FetchSubGroupList:te,UpdateSubSettings:qe,FetchSubSettings:H,isSubscription:Ne,getSubscriptionByKey:Oe,getSubscriptionsMap:Mt,RemoveFromSubscriptionById:Be,GetFeedFromURL:$,FetchFeedGroupList:re,UpdateFeedGroups:ze,FetchFeedSettings:Ye,UpdateFeedSettings:je},wr=Object.freeze(Object.defineProperty({__proto__:null,AddSubscriptionForUser:qt,ClientFetch:Ve,FetchFeedGroupList:re,FetchFeedSettings:Ye,FetchSubGroupList:te,FetchSubSettings:H,FetchUserPrefByKey:ee,GetFeedFromURL:$,ListAllPreparedSubscriptions:Me,ListAllSubscriptions:V,LoadSubscriptionItems:Wt,ParseFeedItems:$e,PreparePubItem:Ke,PrepareSubscription:xe,PrepareTempSub:Ht,RefreshFollowing:D,RefreshSubscriptions:b,RemoveFromFollowing:Q,RemoveFromSubscriptionById:Be,ToggleFollowing:Ge,UNGROUPED_GROUP_ID:ne,UpdateFeedGroups:ze,UpdateFeedSettings:je,UpdateSubSettings:qe,UpdateSubscriptionGroups:De,UpdateUserPrefWithKey:W,ValidateFeedURL:Xt,_state:u,actions:or,applyCollectionRecentWindow:X,createCustomSubscription:Pe,createDefaultGroup:oe,createSubGroupListsForView:se,findActiveGroup:ae,getActiveGroupName:Ze,getGroupSubscriptions:Xe,getSubscriptionByKey:Oe,getSubscriptionsLookup:xt,getUngroupedSubscriptions:Je,getters:nr,isFeedProxyBoundWebapp:jt,isSubscription:Ne},Symbol.toStringTag,{value:"Module"}));export{qt as A,yr as B,At as C,Tt as D,bt as E,H as F,$ as G,W as H,mr as I,gr as J,wr as K,Wt as L,Ht as P,b as R,qe as U,Xt as V,or as a,Ir as b,Be as c,pr as d,Ft as e,_t as f,xt as g,Sr as h,Gt as i,V as j,Oe as k,Ne as l,ht as m,Xe as n,nr as o,ne as p,jt as q,oe as r,se as s,Ze as t,ae as u,te as v,De as w,Me as x,Le as y,ee as z};
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.