PageSourceSearch

https://lunarcrush.com/_next/static/chunks/074cab13fa3701e2.js

js lunarcrush.com collected 2026-10-02 02:56:49 UTC 42,086 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76821,t=>{"use strict";function e(t,e,r){if(!t)return;let n=(r??e).trim().toLowerCase(),a=n.replace(/\s+/g,"-"),i=t.find(t=>t.id?.toLowerCase()===a||t.id?.toLowerCase()===n)??t.find(t=>t.name?.toLowerCase()===n);if(i)return i;let o=t.filter(t=>t.symbol?.toLowerCase()===e.toLowerCase()&&t.id),s=t=>t.market_cap_rank&&t.market_cap_rank>0?t.market_cap_rank:1/0;return o.sort((t,e)=>s(t)-s(e))[0]}t.s(["matchGeckoAsset",()=>e])},38242,47458,13065,87495,28121,t=>{"use strict";let e=/^[A-Za-z0-9]{20,}$/;function r(t,r){let n=(t??"").trim(),a=(r??"").trim();return!n||!a||e.test(n)}function n(t){let e=(t??"").trim();return!!(e.length<2||e.includes("@")||/^https?:\/\//i.test(e)||/^[^a-zA-Z0-9]/.test(e))}function a(t){if(!t||"object"!=typeof t)return null;let e=t.asset;if("string"!=typeof e)return null;let r=/^(coins|stocks):(\d+)$/.exec(e.trim());if(!r)return null;let n=Number(r[2]);if(!Number.isFinite(n)||n<=0)return null;let a=t.symbol,i=t.name;return{kind:"coins"===r[1]?"coin":"stock",id:n,symbol:"string"==typeof a&&a?a:null,name:"string"==typeof i&&i?i:null}}function i(t){if(!Array.isArray(t))return null;let e=t.map(a).filter(t=>null!==t);return 1===e.length?e[0]:null}function o(t,e){return t.map(([t,r])=>{let n=e.get(t);return n?{category:t,title:n,rank:r}:null}).filter(t=>null!==t).sort((t,e)=>t.rank-e.rank)}function s(t){let e=[],r=new Map;for(let n of t){let t=n.creator_id;if(!t){e.push(n);continue}let a=r.get(t);if(void 0===a){r.set(t,e.length),e.push(n);continue}l(n)<l(e[a])&&(e[a]=n)}return e}function l(t){let e=t.creator_rank;return"number"==typeof e&&e>0?e:1/0}function c(t,e,r){let n=new Map;for(let{category:a,rank:i}of e){let e,i=[];for(let e of t){let t=e.creator_categories?.find(([t])=>t===a);t&&i.push({creator_id:e.creator_id,creator_name:e.creator_name,creator_display_name:e.creator_display_name,creator_avatar:e.creator_avatar,creator_network:e.creator_network,rank:t[1]})}i.sort((t,e)=>t.rank-e.rank);let o=i.findIndex(t=>t.creator_id===r);if(-1===o)e=i.slice(0,5);else{let t=Math.max(0,o-2),n=Math.min(i.length,o+2+1);if((e=i.slice(t,n).filter(t=>t.creator_id!==r)).length<5){if(o<2){let t=5-e.length,n=i.slice(o+2+1,o+2+1+t).filter(t=>t.creator_id!==r);e.push(...n)}else if(o>i.length-2-1){let t=5-e.length,n=i.slice(Math.max(0,o-2-t),o-2).filter(t=>t.creator_id!==r);e.unshift(...n)}}e=e.slice(0,5)}n.set(a,{total:i.length,peers:e})}return n}t.s(["isJunkCoinIdentity",()=>r,"isJunkTopicTitle",()=>n],38242),t.s(["primaryStormAsset",()=>i],47458),t.s(["buildCategoryRanks",()=>o],13065),t.s(["dedupeCreatorsById",()=>s],87495),t.s(["computeCategoryCohorts",()=>c],28121)},17945,t=>{"use strict";function e(t){let e=(t||"twitter").toLowerCase().replace(/-.*/,"");return"x"===e||"tweet"===e?"twitter":e}function r(t,r){return["creator-posts",e(t),r?.toLowerCase()??""]}t.s(["creatorPostsKey",()=>r,"normalizeCreatorNetwork",()=>e])},36760,79580,5577,t=>{"use strict";var e=t.i(22889);let r=0,n=0,a=[],i=[];function o(){for(;r<8;){let t=a.shift();if(t){r++,t();continue}if(n<6){let t=i.shift();if(t){r++,n++,t();continue}}break}}function s(t,e){return new Promise((s,l)=>{let c="high"!==t;(c?i:a).push(()=>{e().then(s,l).finally(()=>{r--,c&&n--,o()})}),o()})}function l(t){return t.includes("/coins/list")||t.includes("/topics/list")||t.includes("/stocks/list")||t.includes("/creators/list")||/\/category\/[^/]+(\/topics)?(\/v1)?(\?|$)/.test(t)}function c(t){if(null==t||"object"!=typeof t)return!1;let e=t.name;return"AbortError"===e||"CancelledError"===e}function u(t,e,r,n){let a=t.get(e);if(!a){let r=new AbortController,i={promise:Promise.resolve().then(()=>{if(r.signal.aborted)throw r.signal.reason instanceof Error?r.signal.reason:new DOMException("The operation was aborted.","AbortError");return n(r.signal)}).finally(()=>{t.get(e)===i&&t.delete(e)}),controller:r,waiters:0};a=i,t.set(e,i)}let i=a;return i.waiters+=1,new Promise((t,e)=>{let n=!1,a=()=>{if(n)return;n=!0,i.waiters-=1,i.waiters<=0&&!i.controller.signal.aborted&&i.controller.abort();let t=r?.reason;e(t instanceof Error?t:new DOMException("The operation was aborted.","AbortError"))};r?.aborted?a():(r?.addEventListener("abort",a,{once:!0}),i.promise.then(e=>{n||(n=!0,r?.removeEventListener("abort",a),i.waiters-=1,t(e))},t=>{n||(n=!0,r?.removeEventListener("abort",a),i.waiters-=1,e(t))}))})}async function f(t,e,r){let n=e&&!e.aborted?AbortSignal.any([t,e]):t;
1try{return await r(n)}catch(e){if(c(e)&&!t.aborted)return await r(t);throw e}}t.s(["isCriticalPath",()=>l,"schedule",()=>s],79580),t.s(["fetchWithRouteAbort",()=>f,"isAbortError",()=>c,"joinAbortableFlight",()=>u],5577);class m extends Error{status;transient;constructor(t,e,r){super(r),this.name="StormError",this.status=t,this.transient=e}}let d=new Map,p=new Map;async function h(t,e,r){try{return await _(t,e,void 0,r)}catch(t){if(c(t))throw t;return null}}async function _(t,r,n,a){let i=a?.tier==="guest",o=`${(0,e.isAuthenticated)()&&!i?"u":"g"}:${t}`,s=p.get(o);return s&&Date.now()-s.t<3e4?(n?.throwIfAborted(),s.value):u(d,o,n,async e=>{let n=await w(t,r,e,i);return p.size>=500&&p.clear(),p.set(o,{t:Date.now(),value:n}),n})}async function w(t,r,n,a=!1){var i;let o,u,f=(i=t,o=window.__lcEdgePrefetch,u=o?.storm?.[i],o&&u&&(o.storm[i]=void 0),u),d=(0,e.isAuthenticated)()&&!a?void 0:f;if(d){let t=await d;if(void 0!==t)return t}return s(r??(l(t)?"high":"low"),async()=>{let r=AbortSignal.timeout(1e4),i=n?AbortSignal.any([r,n]):r;for(let r=0;r<2;r++){let n,o=a?await (0,e.getGuestBearer)():await (0,e.getApiBearer)();try{n=await fetch(`https://lunarcrush.com/api3/storm${t}`,{method:"GET",headers:{Accept:"application/json",...o?{Authorization:`Bearer ${o}`}:{}},cache:"no-store",signal:i})}catch(e){if(c(e))throw e;throw new m(0,!0,`storm fetch failed: ${t}`)}if(401===n.status&&0===r){(0,e.refreshGuestToken)();continue}if(!n.ok){let e=n.status>=500||429===n.status||401===n.status;throw new m(n.status,e,`storm ${n.status}: ${t}`)}if(!(n.headers.get("content-type")??"").includes("application/json"))throw new m(n.status,!1,`storm non-JSON: ${t}`);try{return await n.json()}catch{throw new m(n.status,!1,`storm bad JSON: ${t}`)}}throw new m(401,!0,`storm auth failed: ${t}`)})}t.s(["StormError",()=>m,"fetchStormJson",()=>h,"fetchStormJsonOrThrow",()=>_],36760)},66720,t=>{"use strict";let e=null;function r(t){return 400===t||402===t||403===t}function n(t){return t&&"object"==typeof t?"ApiError"!==t.name||"number"!=typeof t.status?null:{name:"ApiError",status:t.status,endpoint:"string"==typeof t.endpoint?t.endpoint:""}:null}function a(t,e){let a=n(t);return!!a&&(!!r(a.status)||e&&401===a.status)}function i(t,e){if(e&&"object"==typeof e){let t=e.name;if("AbortError"===t||"CancelledError"===t)return!1}let a=n(e);
1if(a&&(r(a.status)||401===a.status||404===a.status))return!1;let i=e&&"object"==typeof e?"StormError"!==e.name||"boolean"!=typeof e.transient?null:{name:"StormError",transient:e.transient}:null;return(!i||!!i.transient)&&t<2}function o(t){e={endpoint:t.endpoint,status:t.status,at:Date.now()}}function s(){return e}function l(t,n){if(a(t,n))return!0;let i=e;return!(!i||Date.now()-i.at>=5e3)&&(r(i.status)||n&&401===i.status)}t.s(["getLastDataFailure",()=>s,"isEntitlementBoundaryError",()=>l,"isEntitlementFailure",()=>a,"isEntitlementStatus",()=>r,"recordLastDataFailure",()=>o,"shouldRetryQuery",()=>i])},6009,t=>{"use strict";let e=!1,r=()=>{},n=new Promise(t=>{r=t}),a=!1,i=()=>{},o=new Promise(t=>{i=t});function s(){a=!0,i()}let l=!1;function c(){e=!0,r()}function u(){c(),s()}function f(){if(!function(){if(a||l)return;l=!0;let t=()=>{window.setTimeout(()=>{let t=window.requestIdleCallback;"function"==typeof t?t(()=>s(),{timeout:4e3}):window.setTimeout(s,500)},12e3)};"complete"===document.readyState?t():window.addEventListener("load",t,{once:!0})}(),e)return;let t=window.requestIdleCallback;"function"==typeof t?t(()=>c(),{timeout:2e3}):window.setTimeout(c,1200)}function m(){return n}function d(){return o}/\/(topic|coin|stock|creator|post|compare)\//.test(window.location.pathname)||/\/fantasy(?:\/|$)/.test(window.location.pathname)||/\/creators\/?$/.test(window.location.pathname)||f(),t.s(["catalogGate",()=>m,"fullCatalogGate",()=>d,"openCatalogGate",()=>u,"openCatalogGateDeferred",()=>f])},29451,t=>{"use strict";var e=t.i(76821),r=t.i(38242),n=t.i(47458),a=t.i(13065),i=t.i(87495),o=t.i(28121),s=t.i(17945),l=t.i(22889),c=t.i(38944),u=t.i(36760),f=t.i(79580),m=t.i(66720),d=t.i(5577),p=t.i(6009);let h=new Map,_=new Set;function w(){try{return(0,l.isAuthenticated)()}catch{return!1}}function y(t,e,r){let n=`${r?"u":"g"}|${t}`;e?_.add(n):_.delete(n)}function g(t){return _.has(`${w()?"u":"g"}|${t}`)}let k="/api/lc",v=[/^\/(?:coins|stocks)\/list\/v[12]$/,/^\/(?:categories|topics)\/list\/v1$/,/^\/creators\/list\/v1$/,/^\/category\/[^/?]+\/(?:topics|creators)\/v1$/,/^\/topic\/[^/?]+\/(?:creators\/)?v1$/,/^\/(?:coins|stocks)\/[^/?]+\/v1$/,/^\/creator\/(?:twitter|youtube|tiktok|reddit|instagram|news)\/[^/?]+\/v1$/,/^\/creator\/(?:twitter|youtube|tiktok|reddit|instagram|news)\/[^/?]+\/posts\/v1$/],$=[/^\/(?:coins|stocks)\/[0-9]+\/time-series\/v2$/,/^\/topic\/[^/?]+\/time-series\/v1$/,/^\/creator\/(?:twitter|youtube|tiktok|reddit|instagram|news)\/[^/?]+\/time-series\/v1$/];function b(t){let[e,r=""]=t.split("?",2);if(v.some(t=>t.test(e)))return!0;if(!$.some(t=>t.test(e)))return!1;let n=new URLSearchParams(r),a=n.get("bucket");return"1d"===n.get("interval")&&(e.startsWith("/creator/")?null===a||"hour"===a:"hour"===a||"day"===a)}let C=!1;function A(t){C=t}function S(t){return!C&&b(t)}async function E(t,e){if(!S(t))return null;let r=P(t);if(r){let t=await r.catch(()=>void 0);if(null!=t)return t}let n=await T(t,e);return n&&n.headers.get("x-lc-grant")?await n.json():null}async function T(t,e){for(let r=0;r<2;r++)try{let n=await fetch(`${k}${t}`,{signal:e?AbortSignal.any([e,AbortSignal.timeout(1e4)]):AbortSignal.timeout(1e4)});if(n.ok&&(n.headers.get("x-lc-grant")||!b(t)))return n;await n.body?.cancel(),0===r&&await new Promise(t=>setTimeout(t,1200))}catch(t){if((0,d.isAbortError)(t)&&e?.aborted)throw t;0===r&&await new Promise(t=>setTimeout(t,1200))}return null}function L(t){return encodeURIComponent(t).replace(/%24/g,"$")}class I extends Error{status;endpoint;constructor(t,e,r=""){super(e),this.name="ApiError",this.status=t,this.endpoint=r}get isTierRestricted(){return(0,m.isEntitlementStatus)(this.status)}}function P(t){let e=window.__lcEdgePrefetch,r=e?.api4?.[t];return e?.api4&&r&&(e.api4[t]=void 0),r}async function R(t,e,r=!1,n){let a=w(),i=`${a?"u":"g"}|${t}`,o=(0,d.joinAbortableFlight)(h,i,n,async r=>{let n=!1,i=AbortSignal.timeout(1e4),o=AbortSignal.any([i,r]),s=P(t),u=s&&(0,c.edgePrefetchAdoptable)({authed:a,userToken:function(){try{return(0,l.getUserToken)()}catch{return null}}(),grantEligible:b(t),store:window.__lcEdgePrefetch})?s:void 0;if(u){let e=await u;if(null!=e)return y(t,!1,a),e}return(0,f.schedule)(e??((0,f.isCriticalPath)(t)?"high":"low"),async()=>{let e;if(!a&&("/coins/list/v2"===(e=t.split("?",1)[0])||"/stocks/list/v1"===e||"/creators/list/v1"===e||"/categories/list/v1"===e||/^\/topic\/[^/?]+\/creators\/v1$/.test(e))||S(t))if(S(t)){let e=await T(t,r);
1if(e)return y(t,!1,a),await e.json()}else try{let e=await fetch(`${k}${t}`,{signal:o});if(e.ok)return y(t,!1,a),await e.json()}catch(t){if((0,d.isAbortError)(t)&&r.aborted)throw t}for(let e=0;e<2;e++){let r=await (0,l.getApiBearer)(),i=await fetch(`https://lunarcrush.com/api4/public${t}`,{headers:r?{Authorization:`Bearer ${r}`}:void 0,signal:o});if(i.ok)return y(t,n,a),i.json();if(401===i.status&&0===e){n=!0,y(t,!0,a),(0,l.refreshGuestToken)();continue}let s="";try{s=(await i.clone().text()).slice(0,200)}catch{}throw(0,m.recordLastDataFailure)({endpoint:t,status:i.status}),new I(i.status,`API error: ${i.status}${s?` — ${s}`:""}`,t)}throw(0,m.recordLastDataFailure)({endpoint:t,status:401}),new I(401,"API error: unauthorized (token refresh failed)",t)})}),s=await o;return!a&&!r&&w()?R(t,e,!0,n):s}let U=["id","price","price_btc","volume_24h","percent_change_1h","percent_change_24h","percent_change_7d","percent_change_30d","market_cap","market_cap_rank","interactions_24h","interactions_24h_prev","interactions_24h_previous","social_volume_24h","social_volume_24h_prev","social_volume_24h_previous","social_dominance","social_dominance_prev","galaxy_score","galaxy_score_previous","alt_rank","alt_rank_previous","sentiment","market_dominance","market_dominance_prev","volatility","volatility_30d","volatility_spike","volatility_30d_change_7d","volatility_percentile_1y","circulating_supply","max_supply","total_supply","fully_diluted_valuation"];function M(t){let e={...t};for(let t of U){if(null==e[t])continue;let r=function(t){if(null==t)return;let e="number"==typeof t?t:Number(t);return Number.isFinite(e)?e:void 0}(e[t]);void 0===r?delete e[t]:e[t]=r}return e}let x=new Map;async function j(t){let e=t.toUpperCase(),r=x.get(e);return r||(r=fetch(`/data/correlations/${e}.json`).then(t=>t.ok?t.json():null).catch(()=>null),x.set(e,r)),r}async function F(t){let e=await j(t);return e?.price??null}async function O(t){let e=await j(t);return e?.profile??null}let N=new Map;function W(t="market_cap_rank",e=1e4,r,n){let a=`${w()?"u":"g"}|${t}|${e}|${r??""}`,i=N.get(a);if(i)return i;let o=D(t,e,r,n);return N.set(a,o),o.then(()=>N.delete(a),()=>N.delete(a)),o}async function D(t="market_cap_rank",e=1e4,n,a){let i=Math.min(1e3,Math.max(e,10)),o=Math.ceil(Math.min(e,1e4)/i);e>200&&await (0,p.catalogGate)(),!n&&e>1e3&&await (0,p.fullCatalogGate)();for(let e=0;e<3;e++){let s=[];for(let e=0;e<o;e++){let r=`/coins/list/v2?sort=${t}&limit=${i}&page=${e}`;n&&(r+=`&filter=${encodeURIComponent(n)}`);let o=null;for(let t=0;t<2;t++)try{o=(await R(r,a)).data??[];break}catch{0===t&&await new Promise(t=>setTimeout(t,300))}if(!o||0===o.length){if(0===e)try{let e=(await R(`/coins/list/v1?sort=${t}&limit=${i}`,a)).data??[];if(e.length>0)return e}catch{}break}if(s.push(...o),o.length<i)break}let l=(function(t){let e=new Map;for(let r of t){let t=e.get(r.symbol);if(!t){e.set(r.symbol,r);continue}let n=t.market_cap_rank||1/0,a=r.market_cap_rank||1/0;if(a<n)e.set(r.symbol,r);else if(a===n){let n=t.market_cap??0,a=r.market_cap??0;(a>n||a===n&&r.id<t.id)&&e.set(r.symbol,r)}}return Array.from(e.values())})(s).filter(t=>!(0,r.isJunkCoinIdentity)(t.symbol,t.name));if(l.length>0)return l;e<2&&await new Promise(t=>setTimeout(t,400*(e+1)))}return[]}function G(t,e){if("hour"!==e||t.length<4)return t;let r=t.length-1,n=t[r],a=n?.social_dominance;if(null==a||a<=0)return t;let i=[];for(let e=r-1;e>=0&&i.length<6;e--){let r=t[e].social_dominance;null!=r&&r>0&&i.push(r)}if(i.length<3)return t;let o=Math.max(...i);if(a<=o)return t;let s=t.slice();return s[r]={...n,social_dominance:o},s}function B(t,e,r){let n=t.get(e);if(n)return n;
1let a=Promise.resolve().then(r).finally(()=>{t.get(e)===a&&t.delete(e)});return t.set(e,a),a}let z=new Map;async function J(t,e){return B(z,`${w()?"u":"g"}|${t}`,async()=>{try{return(await R(`/coins/${t}/v1`,e)).data??null}catch{return null}})}let q=new Map;function K(t,e,r){let n=`/${t}/${L(e)}/v1`;return B(q,`${w()?"u":"g"}|${n}`,async()=>{let t=await R(n,r??"high");return t?.data??null})}async function H(t,e,r){let n=async e=>{let n=await K(t,e,r??"high");return n&&n.symbol&&n.name?{id:n.id,symbol:n.symbol,name:n.name,topic:n.topic}:null},a=await n(e);return a||(/^[$#]/.test(e)?null:n(`$${e}`))}async function V(t,e,r){try{let n=await K("stock"===t?"stocks":"coins",String(e),r??"low");if(!n||!n.symbol||!n.name)return null;return{...M(n),kind:t}}catch{return null}}async function Z(t,e,r){let n="stock"===t?"stocks":"coins",a=async e=>{try{let a=await K(n,e,r??"low");if(!a||!a.symbol||!a.name)return null;return{...M(a),kind:t}}catch{return null}},i=await a(e);return i||(/^[$#]/.test(e)?null:a(`$${e}`))}async function Q(t,e="day",r="1y",n){let a=`/coins/${t}/time-series/v2?bucket=${e}&interval=${r}`;return te(`coin:${a}`,async()=>{try{let t=await R(a,n);return G(t.data,e)}catch(t){if((0,m.isEntitlementFailure)(t,w()))return[];throw t}})}async function X(t,e="day",r="1y",n){let a=`/stocks/${t}/time-series/v2?bucket=${e}&interval=${r}`;return te(`stock:${a}`,async()=>{try{let t=(await R(a,n)).data??[];if("hour"===e)return G(t,e);return t.map(t=>{let e=new Date(1e3*t.time).getDay();return 0===e||6===e?{...t,open:0,close:0,high:0,low:0}:t})}catch(t){if((0,m.isEntitlementFailure)(t,w()))return[];throw t}})}let Y={"1d":86400,"1w":604800,"1m":2592e3,"3m":7776e3,"6m":15552e3,"1y":31536e3,all:1/0},tt=new Map;function te(t,e,r){return(0,d.joinAbortableFlight)(tt,t,r,e)}async function tr(t,e,r="1y",n,a){let i;try{i=await (0,u.fetchStormJsonOrThrow)(`/time-series/topic/${encodeURIComponent(t.toLowerCase())}?bucket=${e}&interval=${r}`,n,a)}catch(t){if((0,d.isAbortError)(t))throw t;if(t instanceof u.StormError&&!t.transient)return[];throw t}let o=i?.data;if(!Array.isArray(o))return[];let s=o.map(t=>({time:t.time??0,open:0,close:0,high:0,low:0,volume_24h:t.volume_24h??0,market_cap:t.market_cap??0,interactions:t.interactions??0,posts_active:t.posts_active??0,posts_created:t.posts_created??0,contributors_active:t.contributors_active??0,sentiment:t.sentiment??0,galaxy_score:0,alt_rank:0,social_dominance:0,market_dominance:0})),l=Y[r];if(!Number.isFinite(l))return s;let c=Date.now()/1e3-l,f=s.filter(t=>t.time>=c);return f.length>0?f:s}function tn(t){return(t??[]).map(t=>{let e=t.volume_24h??t.volume??0;return{time:t.time??0,open:t.open??0,close:t.close??0,high:t.high??0,low:t.low??0,volume_24h:e,market_cap:t.market_cap??0,interactions:t.interactions??0,posts_active:t.posts_active??0,posts_created:t.posts_created??0,contributors_active:t.contributors_active??0,sentiment:t.sentiment??0,galaxy_score:t.galaxy_score??0,alt_rank:t.alt_rank??0,social_dominance:t.social_dominance??0,market_dominance:t.market_dominance??0,circulating_supply:t.circulating_supply}})}async function ta(t,e,r){let n=`/topic/${L(t)}/time-series/v1?bucket=hour&interval=1d`;return te(`table-48h:${n}`,async r=>{try{let t=await T(n,r);if(t?.headers.get("x-lc-grant")){let e=await t.json();if(Array.isArray(e.data))return G(tn(e.data),"hour")}}catch(t){if(r.aborted)throw t}let a=await ti(t,"hour",S(n)?"1d":"1w",e,r),i=Math.max(...a.map(t=>t.time));return a.filter(t=>t.time>=i-172800)},r)}async function ti(t,e="day",r="1y",n,a){let i=`/topic/${L(t)}/time-series/v1?bucket=${e}&interval=${r}`;return te(`${w()||S(i)?"api4":"storm"}:${i}`,async a=>{let o=S(i)?await E(i,a):null;if(!o&&!(0,l.isAuthenticated)())return tr(t,e,r,n,a);try{let t=o??await R(i,n,!1,a),r=tn(t.data);return G(r,e)}catch(t){if((0,d.isAbortError)(t))throw t;if((0,m.isEntitlementFailure)(t,w()))return[];throw t}},a)}let to=new Map;function ts(t="market_cap_rank",e=1e4,r){let n=`${w()?"u":"g"}|${t}|${e}`,a=to.get(n);if(a)return a;let i=tl(t,e,r);return to.set(n,i),i.then(()=>to.delete(n),()=>to.delete(n)),i}async function tl(t="market_cap_rank",e=1e4,n){return e>200&&await (0,p.catalogGate)(),e>1e3&&await (0,p.fullCatalogGate)(),[...(await R(`/stocks/list/v1?sort=${t}&limit=${e}`,n)).data.filter(t=>!(0,r.isJunkCoinIdentity)(t.symbol,t.name)).map(t=>({...t,market_cap:(t=>{if(null==t)return;let e="number"==typeof t?t:Number(t);return Number.isFinite(e)?e:void 0})(t.market_cap)}))].sort((t,e)=>(e.market_cap??0)-(t.market_cap??0)).map((t,e)=>({...t,market_cap_rank:e+1}))}async function tc(t){try{return(await R("/topics/list/v1",t)).data}catch(t){if((0,m.isEntitlementFailure)(t,w()))return[];throw t}}function tu(t){let e={positive:0,neutral:0,negative:0};if(t&&"object"==typeof t)for(let r of Object.values(t))r&&"object"==typeof r&&(e.positive+=Number(r.positive)||0,e.neutral+=Number(r.neutral)||0,e.negative+=Number(r.negative)||0);return e}function tf(t,e){if(!e)return!1;let r=t=>
1t.toLowerCase().trim().replace(/\s+/g,"-"),n=r(t),a=r(e);return n===a||n.startsWith(`${a}-`)||a.startsWith(`${n}-`)}function tm(t,e){let r=(0,n.primaryStormAsset)(t.assets);return{topic:t.topic??e,title:t.title??e,symbol:t.symbol??r?.symbol??null,asset_id:r?.id??null,asset_kind:r?.kind??null,topic_rank:t.topic_rank??t.rank??0,related_topics:Array.isArray(t.related_topics)?t.related_topics:[],types_count:t.types_count??{},types_interactions:t.types_eng??t.types_interactions??{},types_sentiment:t.types_sentiment??{},sentiment_posts:tu(t.sentiment_types),sentiment_posts_by_channel:t.sentiment_types??{},interactions_24h:t.interactions_24h??0,num_contributors:t.num_contributors??0,num_posts:t.num_posts??0,categories:Array.isArray(t.categories)?t.categories:[],trend:t.trend??""}}let td=new Map,tp=new Map;function th(t){return t.toLowerCase().trim().replace(/[-\s]+/g,"")}async function t_(t,e,r,n){let a=th(t),i=n?.tier==="guest"?`g:${a}`:a;return(0,d.joinAbortableFlight)(tp,i,r,r=>tw(t,a,e,r,n))}async function tw(t,e,r,n,a){let i=t.toLowerCase().trim(),o=i.replace(/-/g," "),s=[...new Set([i,o,`stocks ${o}`,e])],l=td.get(e),c=!1,f=async t=>{try{let e=await (0,u.fetchStormJsonOrThrow)(`/topic/${encodeURIComponent(t)}`,r,n,a);return e?.data??null}catch(t){if((0,d.isAbortError)(t))throw t;return t instanceof u.StormError&&!t.transient||(c=!0),null}};if(l){let t=await f(l);if(t)return{detail:tm(t,l),transient:!1,raw:t};td.delete(e)}for(let t of s){if(t===l)continue;let r=await f(t);if(r)return td.set(e,t),{detail:tm(r,t),transient:!1,raw:r}}return{detail:null,transient:c,raw:null}}async function ty(t,e,r){try{let{raw:n}=await t_(t,e,void 0,r);return n}catch{return null}}function tg(t){if(!t)return null;let e=t.types_sentiment_detail;return t.sentiment_posts=tu(e),t.sentiment_posts_by_channel=e??{},t}async function tk(t,e,r){let n,a=!1,i=async()=>{let{detail:n,transient:i}=await t_(t,e,r);return i&&(a=!0),n},o=`/topic/${L(t)}/v1`,s=S(o)?await E(o,r):null;if(!s&&!(0,l.isAuthenticated)()){let t=await i();if(t)return t}let c=null,u=!1,f=!1;try{let n=s??await R(`/topic/${L(t)}/v1`,e,!1,r);c=tg(n.data)}catch(t){if((0,d.isAbortError)(t))throw t;(0,m.isEntitlementFailure)(t,w())?f=!0:u=!0}if(c&&(tf(t,c.topic)||function(t,e){if(!e)return!1;let r=t=>t.toLowerCase().trim().replace(/\s+/g,"-"),n=r(t),a=r(e);if(!a||!n.endsWith(`-${a}`))return!1;let i=n.slice(0,n.length-a.length-1);return/^[a-z0-9]{1,6}$/.test(i)}(t,c.topic)))return c;let p=await i();if(p)return p;if((a||u)&&!f)throw Error(`topic detail unavailable (transient): ${t}`);return n=t.replace(/[-_]+/g," ").replace(/\b\w/g,t=>t.toUpperCase()).trim(),{topic:t,title:n,topic_rank:0,related_topics:[],types_count:{},types_interactions:{},types_sentiment:{},sentiment_posts:{positive:0,neutral:0,negative:0},interactions_24h:0,num_contributors:0,num_posts:0,categories:[],trend:""}}async function tv(t,e){try{return await R(`/topic/${L(t)}/whatsup/v1`,e)}catch{return null}}async function t$(t){try{let e=await (0,u.fetchStormJson)(`/category/${encodeURIComponent(t.toLowerCase())}`),r=e?.data;if(!Array.isArray(r))return[];return r.map(t=>({topic:"number"==typeof t.id?t.id:0,title:t.n??t.tp??"",topic_rank:t.tr??0,topic_rank_1h_previous:t.tr_p_1h??0,topic_rank_24h_previous:t.tr_p_24h??0,num_contributors:t.cc??0,social_dominance:t.sd??0,num_posts:t.psa??0,interactions_24h:t.e24h??0,categories:"string"==typeof t.categories?t.categories:void 0}))}catch{return[]}}let tb=["num_contributors","num_posts","interactions_24h","social_dominance","topic_rank"];async function tC(t,e){e?.primary||await (0,p.catalogGate)();let r=`/category/${encodeURIComponent(t)}/topics/v1`,n=S(r)?(await E(r))?.data??null:null;if(n?.length&&!e?.preferStorm)return n;let a=e?.preferStorm||!(0,l.isAuthenticated)();if(a){let e=await t$(t);if(e.length>0&&n?.length){let t,r;return t=new Map(n.map(t=>[String(t.topic),t])),r=new Map(n.map(t=>[String(t.title??"").toLowerCase(),t])),e.map(e=>{let n=t.get(String(e.topic))??r.get(String(e.title??"").toLowerCase());if(!n)return e;let a={...e};for(let t of tb){let e=n[t];"number"==typeof e&&Number.isFinite(e)&&(a[t]=e)}return a})}if(e.length>0)return e;if(n?.length)return n}try{let e=(await R(`/category/${encodeURIComponent(t)}/topics/v1`)).data??[];if(e.length>0)return e;return a?[]:await t$(t)}catch{return a?[]:await t$(t)}}async function tA(t,e){try{let r=((await R(`/topic/${L(t)}/time-series/v1?bucket=hour&interval=1d`,e)).data??[]).filter(t=>"number"==typeof t?.sentiment&&t.sentiment>0);if(0===r.length)return null;let n=r.reduce((t,e)=>t+(e.interactions??0),0);if(n>0)return Math.round(r.reduce((t,e)=>t+e.sentiment*(e.interactions??0),0)/n);return Math.round(r.reduce((t,e)=>t+e.sentiment,0)/r.length)}catch{return null}}async function tS(t,e){if((0,l.isAuthenticated)())return tA(t,e);try{let r=await R(`/topic/${L(t)}/v1`,e),n=Object.values(r.data.types_sentiment??{}).filter(t=>"number"==typeof t);return n.length>0?Math.round(n.reduce((t,e)=>t+e,0)/n.length):null}catch{return null}}async function tE(){try{return(await R("/creators/list/v1")).data??[]}catch{return[]}}function tT(t){let e=String(t.i??""),r=e.indexOf("::");return{creator_id:r>=0?e.slice(r+2):e,creator_network:r>=0?e.slice(0,r):void 0,creator_name:t.n??"",creator_display_name:t.d??void 0,creator_avatar:t.a??void 0,creator_followers:t.f??0,creator_rank:t.r??0,interactions_24h:t.x??void 0,creator_posts:t.p??void 0,creator_categories:t.c??[]}}let tL=null,tI=new Map,tP=null,tR=null,tU=null;async function tM(){return tL||(tL=fetch("/data/creators/index.json").then(t=>t.ok?t.json():null).then(t=>
1t?.shards&&t.total?t:null).catch(()=>null)),tL}function tx(t){let e=tI.get(t);return e||(e=fetch(`/data/creators/shard-${String(t).padStart(2,"0")}.json`).then(t=>t.ok?t.json():null).catch(()=>null),tI.set(t,e)),e}async function tj(){tP||(tP=(async()=>{if(!await tM())return null;let t=await tx(0);if(!t)return null;let e=t.map(tT);return e.length?e:null})().catch(()=>null));let t=await tP;return t||tE()}async function tF(){tR||(tR=(async()=>{let t=await tM();if(!t)return null;let e=await Promise.all(Array.from({length:t.shards},(t,e)=>tx(e)));if(e.some(t=>null===t))return null;let r=[];for(let t of e)for(let e of t)r.push(tT(e));return r.length?r:null})().then(t=>(tU=t&&t.length?t:null,t)).catch(()=>(tU=null,null)));let t=await tR;return t||tE()}let tO=null;function tN(){let t=Date.now();return(!tO||t-tO.at>3e5)&&(tO={at:t,promise:tE().then(t=>(0===t.length&&(tO=null),t))}),tO.promise}async function tW(t){if(!t.some(t=>!t.creator_name&&!t.creator_display_name&&t.creator_id))return t;let e=await tN().catch(()=>[]);if(0===e.length)return t;let r=new Map(e.map(t=>[`${t.creator_network??"twitter"}::${t.creator_id}`,t]));return t.map(t=>{if(t.creator_name||t.creator_display_name||!t.creator_id)return t;let e=r.get(t.creator_id);return e?{...t,creator_name:e.creator_name,creator_display_name:e.creator_display_name,creator_avatar:t.creator_avatar||e.creator_avatar,creator_followers:t.creator_followers??(Number(e.creator_followers)||void 0)}:t})}async function tD(){try{return(await R("/categories/list/v1")).data??[]}catch{return[]}}function tG(t){return t.length>0&&t.every(t=>!Number(t.num_posts)&&!Number(t.interactions_24h)&&!Number(t.num_contributors))}let tB=[400,1200];async function tz(){try{let t,e,r=(t=window.__lcEdgePrefetch,e=t?.categoriesList,t&&e&&(t.categoriesList=void 0),e),n=w()?void 0:r;if(n){let t=await n;if(w());else if(t&&Array.isArray(t.data))return t.data}let a=(await R("/categories/list/v1")).data??[];try{console.warn("[DEV-12409]",JSON.stringify({authed:w(),freshToken:(0,l.isTokenFreshThisLoad)(),rows:a.length,firstPosts:a[0]?.num_posts??null,guestShaped:tG(a)}))}catch{}for(let t=0;t<tB.length;t++){let e=w(),r=0===a.length||tG(a);if(!e||!r)break;await new Promise(e=>setTimeout(e,tB[t]));let n=(await R("/categories/list/v1")).data??[];n.length&&(a=n)}if(w()&&(0===a.length||tG(a)))return[];return a}catch{return[]}}let tJ=null,tq=!1;function tK(){return tJ||(tq=w(),tJ=tz()),tJ}function tH(){if(tJ){let t=tJ;if(tJ=null,tq===w())return t}return tz()}async function tV(t,e,r){try{let n=await R(`/category/${encodeURIComponent(t)}/creators/v1`,e,!1,r);return(0,i.dedupeCreatorsById)(n.data??[])}catch(e){if((0,d.isAbortError)(e))throw e;return console.warn(`[getCategoryCreators] ${t} failed:`,e),[]}}async function tZ(t,e){try{return(await R(`/topic/${L(t)}/creators/v1`,e)).data||[]}catch{return[]}}async function tQ(t,e=2,r=10,n){let a=new Set,i=[],o=t.map(async t=>{try{let e=await R(`/topic/${L(t)}/creators/v1`,n);return{topic:t,creators:e.data||[]}}catch{return{topic:t,creators:[]}}}),s=await Promise.all(o);for(let{topic:t,creators:n}of s){let o=0;for(let s of n){if(o>=e||i.length>=r)break;!a.has(s.creator_id)&&(a.add(s.creator_id),i.push({...s,topic:t}),o++)}}if(i.length<r)for(let{topic:t,creators:e}of s)for(let n of e){if(i.length>=r)break;a.has(n.creator_id)||(a.add(n.creator_id),i.push({...n,topic:t}))}return i}async function tX(t,e){let r=Array.from(new Set(t.map(t=>t.toLowerCase())));if(r.length<2)return[];let n=await Promise.all(r.map(async t=>{try{return(await R(`/topic/${L(t)}/creators/v1`,e)).data||[]}catch{return[]}}));if(n.some(t=>0===t.length))return[];let[a,...i]=n,o=i.map(t=>new Set(t.map(t=>t.creator_id))),s=a.filter(t=>o.every(e=>e.has(t.creator_id))),l=t=>t.creator_rank&&t.creator_rank>0?t.creator_rank:Number.MAX_SAFE_INTEGER;return s.sort((t,e)=>l(t)-l(e)),s}let tY=new Map;function t0(t,e){let r=`/creator/${encodeURIComponent(t)}/${encodeURIComponent(e)}/v1`;return B(tY,`${w()?"u":"g"}|${r}`,()=>R(r))}async function t1(t,e="twitter"){let r=async()=>{try{let r=e.replace(/-.*/,"");return(await tN()).find(e=>e.creator_name.toLowerCase()===t.toLowerCase()&&(!e.creator_network||e.creator_network.replace(/-.*/,"")===r))??null}catch{return null}};try{let n=await t0(e,t),a=n?.data?{...n.data,ai_summary:n.data.ai_summary??n.ai_summary??null}:null;if(a&&!a.creator_name){let t=await r();if(t)return{...t,creator_id:a.creator_id??t.creator_id,ai_summary:a.ai_summary??t.ai_summary??null};return null}return a}catch{return r()}}async function t2(t,e){let r=await (0,u.fetchStormJson)(`/${encodeURIComponent(t)}/${encodeURIComponent(e)}`);
1return r?.data?.ai_summary??null}async function t4(t){let e=await (0,u.fetchStormJson)(`/search?query=${encodeURIComponent(t)}`),r=t.toLowerCase();for(let t of e?.data?.creators??[]){if((t.name??"").toLowerCase()!==r)continue;let e=(t.network??t.creator_id?.split("::")[0])?.replace(/-.*/,"")||"twitter";return{creator_name:t.name,creator_display_name:t.display_name??t.name,creator_id:t.creator_id??`${e}::${t.name}`,creator_network:e,creator_avatar:t.avatar,creator_followers:t.followers??0,creator_rank:0}}for(let t of e?.data?.posts??[]){if((t.influencer_name??"").toLowerCase()!==r)continue;let e=t.influencer_id?.split("::")[0]?.replace(/-.*/,"")||"twitter";return{creator_name:t.influencer_name,creator_display_name:t.influencer_display_name??t.influencer_name,creator_id:t.influencer_id??`${e}::${t.influencer_name}`,creator_network:e,creator_avatar:t.influencer_avatar,creator_followers:0,creator_rank:0}}return null}async function t3(t){let e=t.trim();if(!e)return[];let r=await (0,u.fetchStormJson)(`/search?query=${encodeURIComponent(e)}`);return(r?.data?.posts??[]).map(t=>{let e=[t.extraText,t.description].filter(Boolean).join(" ").trim();return{id:String(t.id??""),creator_id:t.influencer_id,creator_display_name:t.influencer_display_name,creator_name:t.influencer_name,creator_avatar:t.influencer_avatar,post_title:t.title,post_body:e||void 0,interactions_total:t.total_interactions,network:t.type,post_created:t.created}})}function t5(t,e,r,n){let a=e.replace(/-.*/,""),i=n.indexOf("::"),o=i>=0?n.slice(i+2):n,s=t=>!t.creator_network||t.creator_network.replace(/-.*/,"")===a,l=t.find(t=>void 0!==t.creator_categories&&t.creator_id===o&&s(t));if(l)return l;let c=r.toLowerCase();return t.find(t=>void 0!==t.creator_categories&&t.creator_name.toLowerCase()===c&&s(t))}async function t7(t,e,r){try{let n=tU;if(n){let a=t5(n,t,e,r);return a?a.creator_categories??[]:[]}let a=await tM();if(!a){let n=await tj(),a=t5(n,t,e,r);if(a)return a.creator_categories??[];if(n.some(t=>void 0!==t.creator_categories))return[];return null}for(let n=0;n<a.shards;n++){let i=await tx(n);if(i){let n=function(t,e,r,n){let a=e.replace(/-.*/,"").toLowerCase(),i=(n.includes("::")?n:`${a}::${n}`).toLowerCase(),o=r.toLowerCase(),s=t.find(t=>String(t.i??"").toLowerCase()===i);if(s)return s.c??[];let l=t.find(t=>{if(String(t.n??"").toLowerCase()!==o)return!1;let e=String(t.i??""),r=e.indexOf("::"),n=(r>=0?e.slice(0,r):"").replace(/-.*/,"").toLowerCase();return!n||n===a});return l?l.c??[]:void 0}(i,t,e,r);if(n)return n}n+1<a.shards&&await new Promise(t=>setTimeout(t,0))}return[]}catch{return null}}async function t8(t,e,r){try{let n=r?.creatorId,i=r?.creatorRank;if(!n){let r=await t0(t,e),a=r?.data;if(!a?.creator_id)return null;n=a.creator_id,i=a.creator_rank}let s=i??0,c=await R("/categories/list/v1"),u=c?.data??[],f=new Map(u.map(t=>[t.category,t.title])),m=await t7(t,e,n);if(null!==m){let t=(0,a.buildCategoryRanks)(m,f),e=tU,r=e?(0,o.computeCategoryCohorts)(e,t,n):void 0;return{overall_rank:s,categories:t,cohorts:r}}if(!(0,l.isAuthenticated)()||0===u.length)return{overall_rank:s,categories:[]};let d=(await Promise.all(u.slice(0,50).map(async t=>{try{let e=await R(`/category/${encodeURIComponent(t.category)}/creators/v1`),r=e?.data?.find(t=>t.creator_id===n);if(!r)return null;return{category:t.category,title:t.title,rank:r.creator_rank}}catch{return null}}))).filter(t=>null!==t).sort((t,e)=>t.rank-e.rank);return{overall_rank:s,categories:d}}catch{return null}}async function t6(t,e){try{return(await R(`/posts/${encodeURIComponent(t)}/${encodeURIComponent(e)}/time-series/v1`)).data??[]}catch{return[]}}async function t9(t,e="twitter",r="1y"){try{return(await R(`/creator/${encodeURIComponent(e)}/${encodeURIComponent(t)}/time-series/v1?interval=${r}`)).data??[]}catch{return[]}}let et=new Map;async function ee(t,e="twitter"){let r=(0,s.normalizeCreatorNetwork)(e),n=`/creator/${encodeURIComponent(r)}/${encodeURIComponent(t)}/posts/v1`;return B(et,`${w()?"u":"g"}|${n}`,async()=>{try{let e=[...(await R(n)).data??[]].sort((t,e)=>(e.post_created??0)-(t.post_created??0));return(await tW(e)).map(e=>e.creator_name||e.creator_display_name?e:{...e,creator_name:t})}catch{return[]}})}async function er(t,e){try{return await R(`/posts/${encodeURIComponent(t)}/${encodeURIComponent(e)}/v1`)}catch{return null}}async function en(t,e=48){return Object.fromEntries((await Promise.all(t.slice(0,e).map(async t=>{let e=await er(t.post_type,t.id);return e?.metrics?[t.id,e.metrics]:null}))).filter(t=>null!==t))}async function ea(t,r){try{let n=await fetch(`/api/coingecko/search?query=${encodeURIComponent(r)}`);if(!n.ok)return null;let a=(await n.json()).coins??[],i=(0,e.matchGeckoAsset)(a,r,t);return i?.id??null}catch{return null}}async function ei(t,e){try{let r=t.toLowerCase().replace(/\s+/g,"-"),n=await fetch(`/api/coingecko/coins/${encodeURIComponent(r)}?localization=false&tickers=false&market_data=true&community_data=false&developer_data=false`);if(!n.ok){let r=await ea(t,e);if(!r||!(n=await fetch(`/api/coingecko/coins/${encodeURIComponent(r)}?localization=false&tickers=false&market_data=true&community_data=false&developer_data=false`)).ok)return null}let a=(await n.json()).market_data,i=t=>"number"==typeof t&&Number.isFinite(t)?t:null;return{ath:a.ath?.usd??0,ath_date:a.ath_date?.usd??"",ath_change_percentage:a.ath_change_percentage?.usd??0,atl:a.atl?.usd??0,atl_date:a.atl_date?.usd??"",atl_change_percentage:a.atl_change_percentage?.usd??0,fdv:i(a.fully_diluted_valuation?.usd),total_supply:i(a.total_supply),fdv_market_cap:i(a.market_cap?.usd)}}catch{return null}}let eo=new Map;function es(t,e=10,r,n=!1){let a,i=r&&(n||(a=Math.floor(Date.now()/1e3)-172800,r.start<a))?r:void 0,o=i?`&start=${i.start}&end=${i.end+86400}`:"",s=`/topic/${L(t)}/posts/v1?limit=${e}${o}
1`,l=`${w()?"u":"g"}|${s}`,c=eo.get(l);if(c)return c;let u=el(s).finally(()=>{eo.delete(l)});return eo.set(l,u),u}async function el(t){let e;for(let r=0;r<3;r++)try{let e=await R(t);return tW(e.data??[])}catch(t){if((0,m.isEntitlementFailure)(t,w())||t instanceof I&&404===t.status)return[];if(t instanceof I&&t.status<500&&429!==t.status)throw t;e=t,r<2&&await new Promise(t=>setTimeout(t,300*(r+1)))}throw e}t.s(["CATEGORY_TOPICS_STALE_MS",0,9e5,"SPORTS_TEAM_CATEGORIES",0,["nfl","nba","mlb","nhl","mls","premier-league","la-liga","bundesliga","champions-league","liga-mx","ncaa-football","ncaa-basketball","formula-1","nascar","world-cup"],"backfillPostCreators",()=>tW,"canonicalStormKey",()=>th,"encodeTopicSlug",()=>L,"fetchGrant",()=>E,"getAllCreators",()=>tF,"getAssetById",()=>V,"getAssetBySymbol",()=>Z,"getAssetIdentity",()=>H,"getCategoriesList",()=>tD,"getCategoriesRanked",()=>tH,"getCategoryCreators",()=>tV,"getCategoryTopics",()=>tC,"getCoin",()=>J,"getCoinAthAtl",()=>ei,"getCoinTimeSeries",()=>Q,"getCoins",()=>W,"getCorrelationPrice",()=>F,"getCorrelationProfile",()=>O,"getCreatorByName",()=>t1,"getCreatorCategoryRanks",()=>t8,"getCreatorPosts",()=>ee,"getCreatorPostsEngagement",()=>en,"getCreatorStormAiSummary",()=>t2,"getCreatorTimeSeries",()=>t9,"getCreatorViaPostSearch",()=>t4,"getCreators",()=>tE,"getCreatorsByTopics",()=>tQ,"getCreatorsSeed",()=>tj,"getOverlapCreators",()=>tX,"getPostDetails",()=>er,"getPostTimeSeries",()=>t6,"getStockTimeSeries",()=>X,"getStocks",()=>ts,"getStormTopicShared",()=>ty,"getTopicCreators",()=>tZ,"getTopicDetail",()=>tk,"getTopicPosts",()=>es,"getTopicSentiment",()=>tS,"getTopicTableHourlySeries",()=>ta,"getTopicTimeSeries",()=>ti,"getTopicWhatsup",()=>tv,"getTopics",()=>tc,"isFetchTierDegraded",()=>g,"looksGuestTier",()=>tG,"mapApi4TopicSeries",()=>tn,"searchPostsForTerm",()=>t3,"setApiPaidSession",()=>A,"topicDetailFromApi4",()=>tg,"topicSlugCorresponds",()=>tf,"warmCategoriesRanked",()=>tK])},79438,t=>{"use strict";let e="/api/proxy-image",r=new Set(["img.lunarcrush.com","cdn.lunarcrush.com","s3.coinmarketcap.com","s2.coinmarketcap.com","cryptologos.cc","assets.coingecko.com","logos-world.net","raw.githubusercontent.com","pbs.twimg.com","yt3.ggpht.com","yt3.googleusercontent.com","i.ytimg.com","abs.twimg.com","sleepercdn.com","a.espncdn.com"]),n=[".tiktokcdn.com",".tiktokcdn-us.com",".tiktokcdn-eu.com",".cdninstagram.com",".fbcdn.net"];function a(t){var e;let a;if(!t.startsWith("http://")&&!t.startsWith("https://"))return!1;try{a=new URL(t).hostname}catch{return!1}return"unavatar.io"!==a&&"wsrv.nl"!==a&&(e=a,!!r.has(e)||n.some(t=>e===t.slice(1)||e.endsWith(t)))}function i(t,r){if(t.startsWith(e))return t;let n=new URLSearchParams({url:t});return void 0!==r&&n.set("width",String(Math.round(r))),`${e}?${n.toString()}`}function o(t,r=32){return t.startsWith(e)||!a(t)?t:i(t,r)}t.s(["corsSafeThumbUrl",()=>o,"isProxyableImageUrl",()=>a,"proxyImageUrl",()=>i])},67824,21102,t=>{"use strict";let e={x:"twitter",tweet:"twitter",tweets:"twitter",twitter:"twitter"};function r(t){let r,n;if(!t)return null;let a=(n=(r=(t.creator_network??t.creator_id??"").toString().trim().toLowerCase()).includes("::")?r.split("::")[0]:r)?e[n]??n:"unknown",i=(t.creator_name??"").toString().trim().replace(/^@+/,"").toLowerCase().normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9._-]/g,"");return i?{network:a,handle:i,handleDisplay:(t.creator_name??"").toString().trim().replace(/^@+/,""),key:`${a}/${i}`}:null}function n(t,e="original",r){return`https://cdn.lunarcrush.com/avatars/creators/${encodeURIComponent(t.network)}/${t.handle.replace(/\./g,"~2e")}${r?`.v${r}`:""}${"original"===e?"":`-${e}`}.webp`}t.s(["normalizeCreatorKey",()=>r,"ownedCreatorAvatarUrl",()=>n],67824);let a=new Map,i=new Set,o=new Set;function s(t){for(let e of t)if("string"==typeof e){let t=function(t){let e=r({creator_id:t.split("/")[0],creator_name:t.split("/")[1]});return e?n(e):void 0}(e);t&&a.set(e,t),o.add(e),i.delete(e)}else{let[t,r]=e;a.set(t,r),o.add(t),i.delete(t)}}function l(t){for(let e of t)a.delete(e),o.add(e),i.delete(e)}function c(t){for(let e of t)o.has(e)||i.add(e)}function u(t){return!!t&&a.has(t)}function f(t){return t?a.get(t):void 0}function m(t){return t?a.has(t)?"fresh":i.has(t)&&!o.has(t)?"held":"open":"open"}function d(t){for(let e of t)o.add(e),i.delete(e)}t.s(["isOwnedAvatarFresh",()=>u,"markOwnedAvatarsFresh",()=>s,"markOwnedAvatarsRequested",()=>c,"markOwnedAvatarsStale",()=>l,"ownedAvatarState",()=>m,"ownedAvatarUrl",()=>f,"releaseOwnedAvatarRequests",()=>d],21102)},95771,t=>{"use strict";var e=t.i(79438),r=t.i(67824),n=t.i(21102);let a="https://unavatar.io/",i="#lc-direct",o="/api/proxy-image";function s(t){let e=t.endsWith(i)?t.slice(0,-i.length):t;return e.startsWith("https://cdn.lunarcrush.com/")||e.startsWith("https://img.lunarcrush.com/")}function l(t){if(t)return s(t)?t.endsWith(i)?t:`${t}${i}`:t}function c(t,r=112){if(t)return t.startsWith(o)||t.startsWith(a)||s(t)?t:(0,e.isProxyableImageUrl)(t)?(0,e.proxyImageUrl)(t,r):t}function u(t,e){return`${a}${t}/${encodeURIComponent(e)}?fallback=false`}function f(t,e){if(!e)return;let r=(t??"").toLowerCase(),n=r.includes("::")?r.split("::")[0]:r;return n.startsWith("tiktok")?u("tiktok",e):n.startsWith("instagram")?u("instagram",e):void 0}function m(t,e=112,a){if(!t)return[];let i=[],s=(t.creator_network??t.creator_id??"").toLowerCase(),f=s.includes("::")?s.split("::")[0]:s,p=t.creator_name,h=a?.compact??!1,_=t.creator_avatar,w=h?function(t,e=112){if(t)return!t.startsWith("http")||t.startsWith(o)?t:c(t,e)}(_,e):c(_,e),y=(0,r.normalizeCreatorKey)(t),g=(0,n.ownedAvatarState)(y?.key),k=y&&"fresh"===g?l((0,n.ownedAvatarUrl)(y.key)??(0,r.ownedCreatorAvatarUrl)(y)):void 0,v=p&&f.startsWith("tiktok")?[u("tiktok",p)]:p&&f.startsWith("instagram")?[u("instagram",p)]:[],$=t=>{let e=t.filter(t=>!!t);return"held"===g?e.filter(d):e};return h?_||k?Array.from(new Set($([k,w,...v]))):$(v):(k&&i.push(k),w&&i.push(l(w)??w),i.push(...v),Array.from(new Set($(i))))}function d(t){return!!(t.startsWith(o)||s(t))||!/^https?:\/\//.test(t)}t.s(["creatorAvatarCandidates",()=>
1m,"resolveCreatorAvatarByHandle",()=>f,"resolveCreatorAvatarSrc",()=>c])}]);

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.