dexscreener 中,页面加载的数据 ,可能使用自定义Avro 流解析,请分析以下js代码,确...
생성일: 2025년 7월 15일
생성일: 2025년 7월 15일
dexscreener 中,页面加载的数据 ,可能使用自定义Avro 流解析,请分析以下js代码,确定解析方式, 获取解析逻辑,
实现:
把 DexScreener 的整套 DSL + 自定义 Avro reader
全部抠出来重写,实现自定义 Avro 库解析该二进制
最后将逻辑提取,实现函数形式,入参:后台加载数据,出参:已解析代码,
以下是相关 js代码,数据入口是searchPairs ,请从此开始分析。
用中文回复
js代码:
https://dexscreener.com/assets/chunks/dex-search.service-DfKmfY6j.js
import{c8 as Un,j0 as gt,hC as zn,hg as Wn,ep as Mn,j1 as Xt,j2 as st,j as m,j3 as Bn,j4 as Ee,j5 as qt,j6 as Yt,fn as Jt,fm as Se,j7 as Ye,fD as Pn,j8 as On,fB as _n,j9 as Vn,ja as Fn,bG as Nn,k as d,bM as Kn,cg as as qn,ai as ,V as et,b6 as Yn,Q as De,I as X,jb as Qt,bj as en,jc as xt,jd as tt,b4 as Ie,je as Jn,ab as tn,ac as Qn,d4 as Be,jf as ei,jg as nn,aY as at,jh as ti,dU as ni,di as bt,dc as ii,G as nt,dd as yt,ji as ri,d5 as si,hU as ai,p as rn,ci as oi,jj as ci,K as di,jk as wt,fh as li,dk as sn,eP as _e,s as pi,eG as fi,cf as Ct,eo as ui,jl as hi,M as mi,N as vi,jm as kt,U as gi,jn as xi,el as bi,cq as yi,cT as wi,dX as Ci,jo as ki,eI as Li,b5 as Lt,eJ as Ei,ae as Si,af as Di,eW as Et,jp as Ai,cW as ji,iv as Ti,cw as Ii,iw as Ri,jq as Hi,jr as Ui,hu as B,hy as zi,hA as R,js as Wi,jt as an,ju as Ge,jv as _,hw as H,hv as ee,jw as on,b0 as Mi,y as Bi}from"../entries/pages_catch-all.FHtMkZo8.js";import{c as Pi,o as Oi}from"./observable-http-client-Cd33c-JH.js";import{r as _i,d as Vi}from"./ErrorMessageServerConnection-BYTauIew.js";import{E as Fi,B as Ni}from"./embed-feature-disabled-modal-C1a-kc2O.js";import{b as Ki}from"./index-D2h-DOw2.js";function St(e,t){Un(2,arguments);var i=gt(e),n=gt(t);return i.getTime()<n.getTime()}class i extends zn{constructor(t,i){super(i(t.getValue())),this.property=t,this.f=i}subscribe(t){return t?typeof t=="function"?this.property.subscribe(i=>t(this.f(i))):this.property.subscribe({next:i=>{var n;return(n=t.next)==null?void 0:n.call(t,this.f(i))},error:i=>{var n;return(n=t.error)==null?void 0:n.call(t,i)},complete:()=>{var i;return(i=t.complete)==null?void 0:i.call(t)}}):Wn.EMPTY}get value(){return this.getValue()}getValue(){return this.f(this.property.getValue())}}function Gi(e,t){return new i(e,t)}const Ve=["twitter","telegram","discord","facebook","tiktok"],Zi="Website",cn=e=>e.label===Zi,dn=e=>e.filter(t=>t.type!==void 0).sort((t,i)=>Ve.indexOf(t.type)-Ve.indexOf(i.type)),ln=e=>e.filter(t=>t.type===void 0).map(t=>({url:t.url,label:t.label??""})),Xi=(e,t)=>{if(!t)return;const i=Xt(t.claims??[]),n=(e&&i?i.socials:t.socials)??[],r=Mn(n,"type").sort((a,u)=>Ve.indexOf(a.type)-Ve.indexOf(u.type)),s=(e&&i?i.websites:t.websites)??[],l=s.find(cn)??s[0];return{socials:r,websites:s,website:l}},qi=e=>{if(!e.cmsToken)return;const t=Xt(e.cmsToken.claims??[]),i=(e.includeClaims&&t?t.links:e.cmsToken.links)??[],n=dn(i),r=ln(i),s=r.find(cn)??r[0];return{socials:n,websites:r,website:s}},Us=e=>{const t=Xi(e.includeClaims,e.dsDataToken);if(t)return t;const i=qi({includeClaims:e.includeClaims,cmsToken:e.cmsToken});return i||{socials:[],websites:[],website:void 0}},zs=e=>{const t=e.links??[],i=dn(t),n=ln(t);return{socials:i,websites:n}};function pn(e){const t=st(()=>Ee(e)),{isStatic:i}=m.useContext(Bn);if(i){const[,n]=m.useState(e);m.useEffect(()=>t.on("change",n),[])}return t}const Yi=e=>typeof e=="object"&&e.mix,Ji=e=>Yi(e)?e.mix:void 0;function Qi(...e){const t=!Array.isArray(e[0]),i=t?0:-1,n=e[0+i],r=e[1+i],s=e[2+i],l=e[3+i],a=qt(r,s,{mixer:Ji(s[0]),...l});return t?a(n):a}function fn(e,t){const i=pn(t()),n=()=>i.set(t());return n(),Yt(()=>{const r=()=>Se.update(n,!1,!0),s=e.map(l=>l.on("change",r));return()=>{s.forEach(l=>l()),Jt(n)}}),i}function er(e){Ye.current=[],e();const t=fn(Ye.current,e);return Ye.current=void 0,t}function tr(e,t,i,n){if(typeof e=="function")return er(e);const r=typeof t=="function"?t:Qi(t,i,n);return Array.isArray(e)?Dt(e,r):Dt([e],([s])=>r(s))}function Dt(e,t){const i=st(()=>[]);return fn(e,()=>{i.length=0;const n=e.length;for(let r=0;r<n;r++)i[r]=e[r].get();return t(i)})}const Pe=new WeakMap;let ie;function nr(e,t){if(t){const{inlineSize:i,blockSize:n}=t[0];return{width:i,height:n}}else return e instanceof SVGElement&&"getBBox"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function ir({target:e,contentRect:t,borderBoxSize:i}){var n;(n=Pe.get(e))===null||n===void 0||n.forEach(r=>{r({target:e,contentSize:t,get size(){return nr(e,i)}})})}function rr(e){e.forEach(ir)}function sr(){typeof ResizeObserver>"u"||(ie=new ResizeObserver(rr))}function ar(e,t){ie||sr();const i=_i(e);return i.forEach(n=>{let r=Pe.get(n);r||(r=new Set,Pe.set(n,r)),r.add(t),ie==null||ie.observe(n)}),()=>{i.forEach(n=>{const r=Pe.get(n);r==null||r.delete(t),r!=null&&r.size||ie==null||ie.unobserve(n)})}}const Oe=new Set;let je;function or(){je=()=>{const e={width:window.innerWidth,height:window.innerHeight},t={target:window,size:e,contentSize:e};Oe.forEach(i=>i(t))},window.addEventListener("resize",je)}function cr(e){return Oe.add(e),je||or(),()=>{Oe.delete(e),!Oe.size&&je&&(je=void 0)}}function dr(e,t){return typeof e=="function"?cr(e):ar(e,t)}const lr=50,At=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),pr=()=>({time:0,x:At(),y:At()}),fr={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function jt(e,t,i,n){const r=i[t],{length:s,position:l}=fr[t],a=r.current,u=i.time;r.current=e["scroll"+l],r.scrollLength=e["scroll"+s]-e["client"+s],r.offset.length=0,r.offset[0]=0,r.offset[1]=r.scrollLength,r.progress=Pn(0,r.scrollLength,r.current);const f=n-u;r.velocity=f>lr?0:On(r.current-a,f)}function ur(e,t,i){jt(e,"x",t,i),jt(e,"y",t,i),t.time=i}function hr(e,t){const i={x:0,y:0};let n=e;for(;n&&n!==t;)if(n instanceof HTMLElement)i.x+=n.offsetLeft,i.y+=n.offsetTop,n=n.offsetParent;else if(n.tagName==="svg"){const r=n.getBoundingClientRect();n=n.parentElement;const s=n.getBoundingClientRect();i.x+=r.left-s.left,i.y+=r.top-s.top}else if(n instanceof SVGGraphicsElement){const{x:r,y:s}=n.getBBox();i.x+=r,i.y+=s;let l=null,a=n.parentNode;for(;!l;)a.tagName==="svg"&&(l=a),a=n.parentNode;n=l}else break;return i}const mr={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},it={start:0,center:.5,end:1};function Tt(e,t,i=0){let n=0;if(it[e]!==void 0&&(e=it[e]),typeof e=="string"){const r=parseFloat(e);e.endsWith("px")?n=r:e.endsWith("%")?e=r/100:e.endsWith("vw")?n=r/100document.documentElement.clientWidth:e.endsWith("vh")?n=r/100document.documentElement.clientHeight:e=r}return typeof e=="number"&&(n=te),i+n}const vr=[0,0];function gr(e,t,i,n){let r=Array.isArray(e)?e:vr,s=0,l=0;return typeof e=="number"?r=[e,e]:typeof e=="string"&&(e=e.trim(),e.includes(" ")?r=e.split(" "):r=[e,it[e]?e:"0"]),s=Tt(r[0],i,n),l=Tt(r[1],t),s-l}const xr={x:0,y:0};function br(e){return"getBBox"in e&&e.tagName!=="svg"?e.getBBox():{width:e.clientWidth,height:e.clientHeight}}function yr(e,t,i){let{offset:n=mr.All}=i;const{target:r=e,axis:s="y"}=i,l=s==="y"?"height":"width",a=r!==e?hr(r,e):xr,u=r===e?{width:e.scrollWidth,height:e.scrollHeight}:br(r),f={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let h=!t[s].interpolate;const b=n.length;for(let p=0;p<b;p++){const g=gr(n[p],f[l],u[l],a[s]);!h&&g!==t[s].interpolatorOffsets[p]&&(h=!0),t[s].offset[p]=g}h&&(t[s].interpolate=qt(t[s].offset,_n(n)),t[s].interpolatorOffsets=[...t[s].offset]),t[s].progress=t[s].interpolate(t[s].current)}function wr(e,t=e,i){if(i.x.targetOffset=0,i.y.targetOffset=0,t!==e){let n=t;for(;n&&n!==e;)i.x.targetOffset+=n.offsetLeft,i.y.targetOffset+=n.offsetTop,n=n.offsetParent}i.x.targetLength=t===e?t.scrollWidth:t.clientWidth,i.y.targetLength=t===e?t.scrollHeight:t.clientHeight,i.x.containerLength=e.clientWidth,i.y.containerLength=e.clientHeight}function Cr(e,t,i,n={}){return{measure:()=>wr(e,n.target,i),update:r=>{ur(e,i,r),(n.offset||n.target)&&yr(e,i,n)},notify:()=>t(i)}}const ke=new WeakMap,It=new WeakMap,Je=new WeakMap,Rt=e=>e===document.documentElement?window:e;function kr(e,{container:t=document.documentElement,...i}={}){let n=Je.get(t);n||(n=new Set,Je.set(t,n));const r=pr(),s=Cr(t,e,r,i);if(n.add(s),!ke.has(t)){const a=()=>{for(const p of n)p.measure()},u=()=>{for(const p of n)p.update(Vn.timestamp)},f=()=>{for(const p of n)p.notify()},h=()=>{Se.read(a,!1,!0),Se.update(u,!1,!0),Se.update(f,!1,!0)};ke.set(t,h);const b=Rt(t);window.addEventListener("resize",h,{passive:!0}),t!==document.documentElement&&It.set(t,dr(t,h)),b.addEventListener("scroll",h,{passive:!0})}const l=ke.get(t);return Se.read(l,!1,!0),()=>{var a;Jt(l);const u=Je.get(t);if(!u||(u.delete(s),u.size))return;const f=ke.get(t);ke.delete(t),f&&(Rt(t).removeEventListener("scroll",f),(a=It.get(t))===null||a===void 0||a(),window.removeEventListener("resize",f))}}function Ht(e,t){Fn(!!(!t||t.current),You have defined a ${e} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref, or setting its \layoutEffect: false` option.)}const Lr=()=>({scrollX:Ee(0),scrollY:Ee(0),scrollXProgress:Ee(0),scrollYProgress:Ee(0)});function Er({container:e,target:t,layoutEffect:i=!0,...n}={}){const r=st(Lr);return(i?Yt:m.useEffect)(()=>(Ht("target",t),Ht("container",e),kr(({x:l,y:a})=>{r.scrollX.set(l.current),r.scrollXProgress.set(l.progress),r.scrollY.set(a.current),r.scrollYProgress.set(a.progress)},{...n,container:(e==null?void 0:e.current)||void 0,target:(t==null?void 0:t.current)||void 0})),[e,t,JSON.stringify(n.offset)]),r}var Sr=Nn(function(t,i){const{templateAreas:n,gap:r,rowGap:s,columnGap:l,column:a,row:u,autoFlow:f,autoRows:h,templateRows:b,autoColumns:p,templateColumns:g,...y}=t,D={display:"grid",gridTemplateAreas:n,gridGap:r,gridRowGap:s,gridColumnGap:l,gridAutoColumns:p,gridColumn:a,gridRow:u,gridAutoFlow:f,gridAutoRows:h,gridTemplateRows:b,gridTemplateColumns:g};return d.jsx(Kn.div,{ref:i,__css:D,...y})});Sr.displayName="Grid";const Ws=e=>m.createElement("svg",{id:"eyes",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 128 128",style:{enableBackground:"new 0 0 128 128"},xmlSpace:"preserve",...e},m.createElement("g",null,m.createElement("g",null,m.createElement("g",null,m.createElement("g",null,m.createElement("path",{style:{fill:"#FAFAFA"},d:"M34.16,106.51C18.73,106.51,6.19,87.44,6.19,64c0-23.44,12.55-42.51,27.97-42.51 c15.42,0,27.97,19.07,27.97,42.51C62.13,87.44,49.58,106.51,34.16,106.51z"}),m.createElement("path",{style:{fill:"#B0BEC5"},d:"M34.16,23.49c6.63,0,12.98,4,17.87,11.27c5.22,7.75,8.1,18.14,8.1,29.24s-2.88,21.49-8.1,29.24 c-4.89,7.27-11.24,11.27-17.87,11.27s-12.98-4-17.87-11.27C11.06,85.49,8.19,75.1,8.19,64s2.88-21.49,8.1-29.24 C21.18,27.49,27.52,23.49,34.16,23.49 M34.16,19.49C17.61,19.49,4.19,39.42,4.19,64s13.42,44.51,29.97,44.51 S64.13,88.58,64.13,64S50.71,19.49,34.16,19.49L34.16,19.49z"})),m.createElement("linearGradient",{id:"emoji-u1f440-g1",gradientUnits:"userSpaceOnUse",x1:22.5233,y1:46.6759,x2:22.5233,y2:82.0828},m.createElement("stop",{offset:0,style:{stopColor:"#424242"}}),m.createElement("stop",{offset:1,style:{stopColor:"#212121"}})),m.createElement("path",{style:{fill:"url(#emoji-u1f440-g1)"},d:"M25.63,59.84c-2.7-2.54-2.1-7.58,1.36-11.26c0.18-0.19,0.36-0.37,0.55-0.54 c-1.54-0.87-3.23-1.36-5.01-1.36c-7.19,0-13.02,7.93-13.02,17.7s5.83,17.7,13.02,17.7s13.02-7.93,13.02-17.7 c0-1.75-0.19-3.45-0.54-5.05C31.77,61.66,27.9,61.97,25.63,59.84z"}))),m.createElement("g",null,m.createElement("g",null,m.createElement("ellipse",{style:{fill:"#EEEEEE"},cx:93.84,cy:64,rx:29.97,ry:44.51}),m.createElement("g",null,m.createElement("path",{style:{fill:"#FAFAFA"},d:"M93.84,106.51c-15.42,0-27.97-19.07-27.97-42.51c0-23.44,12.55-42.51,27.97-42.51 c15.42,0,27.97,19.07,27.97,42.51C121.81,87.44,109.27,106.51,93.84,106.51z"}),m.createElement("path",{style:{fill:"#B0BEC5"},d:"M93.84,23.49c6.63,0,12.98,4,17.87,11.27c5.22,7.75,8.1,18.14,8.1,29.24s-2.88,21.49-8.1,29.24 c-4.89,7.27-11.24,11.27-17.87,11.27s-12.98-4-17.87-11.27c-5.22-7.75-8.1-18.14-8.1-29.24s2.88-21.49,8.1-29.24 C80.86,27.49,87.21,23.49,93.84,23.49 M93.84,19.49c-16.55,0-29.97,19.93-29.97,44.51s13.42,44.51,29.97,44.51 S123.81,88.58,123.81,64S110.39,19.49,93.84,19.49L93.84,19.49z"})),m.createElement("linearGradient",{id:"emoji-u1f440-g2",gradientUnits:"userSpaceOnUse",x1:82.2093,y1:46.6759,x2:82.2093,y2:82.0828},m.createElement("stop",{offset:0,style:{stopColor:"#424242"}}),m.createElement("stop",{offset:1,style:{stopColor:"#212121"}})),m.createElement("path",{style:{fill:"url(#emoji-u1f440-g2)"},d:"M85.31,59.84c-2.7-2.54-2.1-7.58,1.36-11.26c0.18-0.19,0.36-0.37,0.55-0.54 c-1.54-0.87-3.23-1.36-5.01-1.36c-7.19,0-13.02,7.93-13.02,17.7s5.83,17.7,13.02,17.7c7.19,0,13.02-7.93,13.02-17.7 c0-1.75-0.19-3.45-0.54-5.05C91.46,61.66,87.58,61.97,85.31,59.84z"}))))),Ms=e=>m.createElement("svg",{viewBox:"0 0 540 620",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{d:"M538.459 65.0059C539.485 58.6244 540.277 52.114 539.181 45.7441C532.853 8.9565 491.088 -12.1336 457.137 7.48956L18.5484 316.242C-16.5855 336.549 2.05682 390.523 42.2045 384.733L256.185 343.176C285.831 338.9 314.658 353.019 329.742 378.059C333.869 384.911 336.002 392.719 337.839 400.503L382.773 590.916C383.692 594.808 384.772 598.719 386.777 602.18C403.758 631.491 449.437 622.816 454.691 589.504C455.363 585.248 455.53 580.904 456.214 576.65L538.459 65.0059Z",fill:"#DFFF18"})),Bs=e=>m.createElement("svg",{viewBox:"0 0 438 81",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},m.createElement("path",{d:"M122.387 64.9448C119.148 64.9448 116.111 63.6626 114.694 60.7607L100.859 32.0796C100.724 31.7422 100.32 31.5398 99.9821 31.5398C99.4422 31.5398 98.9023 31.9447 98.9023 32.7545V64H87.16V30.595C87.16 25.4661 88.7121 22.2943 91.4115 20.1348C93.4361 18.5152 96.1355 17.3679 99.3747 17.3679C105.178 17.3679 108.553 20.8097 110.915 25.871L121.24 48.276C121.51 48.9509 121.847 49.1533 122.387 49.1533C122.927 49.1533 123.264 48.9509 123.534 48.276L133.86 25.871C136.221 20.8097 139.596 17.3679 145.399 17.3679C148.639 17.3679 151.338 18.5152 153.363 20.1348C156.062 22.2943 157.614 25.4661 157.614 30.595V64H145.872V32.7545C145.872 31.9447 145.332 31.5398 144.792 31.5398C144.455 31.5398 144.05 31.7422 143.915 32.0796L130.08 60.7607C128.663 63.6626 125.626 64.9448 122.387 64.9448ZM198.355 64H188.772C180.606 64 174.6 61.1656 170.416 56.5767C166.772 52.5951 164.545 47.1963 164.545 41.1901C164.545 34.5766 167.379 28.5704 171.9 24.3864C175.95 20.6747 181.416 18.3802 188.772 18.3802H198.355C205.71 18.3802 211.177 20.6747 215.226 24.3864C219.747 28.5704 222.582 34.5766 222.582 41.1901C222.582 47.1963 220.355 52.5951 216.71 56.5767C212.526 61.1656 206.52 64 198.355 64ZM198.355 30.46H188.772C184.655 30.46 182.091 31.6073 180.134 33.4293C178.042 35.3864 176.759 38.2208 176.759 41.2576C176.759 44.0245 177.839 46.5889 179.594 48.4785C181.551 50.638 184.453 51.9877 188.772 51.9877H198.355C202.674 51.9877 205.575 50.638 207.532 48.4785C209.287 46.5889 210.367 44.0245 210.367 41.2576C210.367 38.2208 209.085 35.3864 206.993 33.4293C205.036 31.6073 202.471 30.46 198.355 30.46ZM262.576 64H252.993C244.827 64 238.821 61.1656 234.637 56.5767C230.993 52.5951 228.766 47.1963 228.766 41.1901C228.766 34.5766 231.6 28.5704 236.122 24.3864C240.171 20.6747 245.637 18.3802 252.993 18.3802H262.576C269.932 18.3802 275.398 20.6747 279.447 24.3864C283.969 28.5704 286.803 34.5766 286.803 41.1901C286.803 47.1963 284.576 52.5951 280.932 56.5767C276.748 61.1656 270.742 64 262.576 64ZM262.576 30.46H252.993C248.876 30.46 246.312 31.6073 244.355 33.4293C242.263 35.3864 240.981 38.2208 240.981 41.2576C240.981 44.0245 242.06 46.5889 243.815 48.4785C245.772 50.638 248.674 51.9877 252.993 51.9877H262.576C266.895 51.9877 269.797 50.638 271.754 48.4785C273.508 46.5889 274.588 44.0245 274.588 41.2576C274.588 38.2208 273.306 35.3864 271.214 33.4293C269.257 31.6073 266.692 30.46 262.576 30.46ZM350.619 18.3802V55.1595C350.619 62.0429 346.503 64.9448 342.049 64.9448C338.202 64.9448 335.3 63.865 333.141 61.3681L308.104 32.4171C307.766 32.0122 307.429 31.8097 307.024 31.8097C306.417 31.8097 305.877 32.2821 305.877 33.0919V64H293.865V28.0306C293.865 20.2698 298.319 17.3679 304.46 17.3679C308.779 17.3679 311.478 18.5152 314.313 21.8894L336.583 48.546C336.92 49.0184 337.325 49.0858 337.73 49.0858C338.27 49.0858 338.675 48.6809 338.675 47.8711V18.3802H350.619ZM358.816 18.3802H371.098V64H358.816V18.3802ZM377.251 18.3802H429.552V30.46H409.576V64H397.294V30.46H377.251V18.3802Z",fill:"#E1E1E1"}),m.createElement("path",{d:"M63.1308 14.8024C63.1375 14.7603 63.141 14.717 63.1406 14.6743C63.093 10.1847 58.2534 7.39301 54.3769 9.6447L7.98913 42.4623C4.27317 44.6207 6.24489 50.3577 10.4911 49.7422L33.1229 45.3251C36.6568 44.8128 40.0805 46.7841 41.4376 50.1017C41.4576 50.1506 41.4734 50.2014 41.4855 50.2529L46.6485 72.2403C46.6546 72.266 46.6627 72.2921 46.6727 72.3166C48.2829 76.2684 54.1321 75.134 54.1703 70.8642C54.1706 70.8357 54.1728 70.8065 54.1773 70.7784L63.1308 14.8024Z",fill:"#DFFF18"})),Ze=m.memo(()=>d.jsx($n,{size:"xs",spinnerContainerProps:{display:"flex"},width:"100%",justifyContent:"center"})),un=18,Dr=m.memo(e=>{const{contentWidth:t,width:i,children:n,height:r,onHide:s,isLoaded:l,advertiseLink:a}=e,u=we("white","blue.975");return d.jsxs(U,{display:"flex",flexDirection:"column",width:i,height:r,position:"relative",overflow:"hidden",alignItems:"center",children:[d.jsxs(U,{display:"flex",flexDirection:"column",flex:1,width:t,height:r,children:[d.jsx(U,{overflow:"hidden",flex:1,children:n}),d.jsxs(Ne,{pt:"2px",flexShrink:0,justifyContent:"space-between",height:{un}px`,opacity:.7,children:[a&&d.jsx(Te,{as:Ce,variant:"link",target:"_blank",href:a,height:"100%",size:"xs",fontWeight:"normal",children:"Advertise here"}),s&&d.jsx(Te,{marginLeft:"auto",height:"100%",size:"xs",variant:"link",fontWeight:"normal",onClick:s,children:"Hide ad"})]})]}),d.jsx(U,{position:"absolute",top:0,left:0,bottom:0,right:0,display:"flex",backgroundColor:u,pointerEvents:l?"none":"all",opacity:l?0:1,transitionDuration:"fast",transitionProperty:"opacity",children:d.jsx(Ze,{})})]})}),Ar=m.forwardRef((e,t)=>{const{src:i,width:n,height:r,...s}=e;return d.jsx("iframe",{...s,ref:t,style:{backgroundColor:"transparent",colorScheme:"auto",...s.style},src:i,width:n??"100%",height:r??"100%",allowtransparency:"true"})}),Ut=m.memo(e=>{const{height:t,onHide:i,ad:n,width:r,onView:s,onFallbackRequest:l,adUnit:a}=e,u=Me(n),[f,h]=m.useState(!1),b=m.useCallback(()=>{u.current&&(h(!0),s(u.current))},[u,s]),p=m.useCallback(()=>{l(a)},[a,l]);return d.jsx(Dr,{contentWidth:n?jr(n.adUnit):void 0,width:r,height:t,onHide:i,isLoaded:f,children:n&&d.jsxs(Ce,{href:n.url,target:"_blank",rel:"noopener noreferrer nofollow",children:[n.source==="image"&&d.jsx(Ke,{src:n.src,onLoad:b,onError:p,loading:"lazy"}),n.source==="iframe"&&d.jsx(Ar,{style:{pointerEvents:"none"},onLoad:b,onError:p,width:"100%",height:"100%",src:n.src})]})})});function jr(e){return`{e.size.width}px}var hn={exports:{}},Tr=hn.exports={};Tr.forEach=function(e,t){for(var i=0;i<e.length;i++){var n=t(e[i]);if(n)return n}};var mn=hn.exports,Ir=function(e){var t=e.stateHandler.getState;function i(l){var a=t(l);return a&&!!a.isDetectable}function n(l){t(l).isDetectable=!0}function r(l){return!!t(l).busy}function s(l,a){t(l).busy=!!a}return{isDetectable:i,markAsDetectable:n,isBusy:r,markBusy:s}},Rr=function(e){var t={};function i(l){var a=e.get(l);return a===void 0?[]:t[a]||[]}function n(l,a){var u=e.get(l);t[u]||(t[u]=[]),t[u].push(a)}function r(l,a){for(var u=i(l),f=0,h=u.length;f<h;++f)if(u[f]===a){u.splice(f,1);break}}function s(l){var a=i(l);a&&(a.length=0)}return{get:i,add:n,removeListener:r,removeAllListeners:s}},Hr=function(){var e=1;function t(){return e++}return{generate:t}},Ur=function(e){var t=e.idGenerator,i=e.stateHandler.getState;function n(s){var l=i(s);return l&&l.id!==void 0?l.id:null}function r(s){var l=i(s);if(!l)throw new Error("setId required the element to have a resize detection state.");var a=t.generate();return l.id=a,a}return{get:n,set:r}},zr=function(e){function t(){}var i={log:t,warn:t,error:t};if(!e&&window.console){var n=function(r,s){r[s]=function(){var a=console[s];if(a.apply)a.apply(console,arguments);else for(var u=0;u<arguments.length;u++)a(arguments[u])}};n(i,"log"),n(i,"warn"),n(i,"error")}return i},vn={exports:{}},gn=vn.exports={};gn.isIE=function(e){function t(){var n=navigator.userAgent.toLowerCase();return n.indexOf("msie")!==-1||n.indexOf("trident")!==-1||n.indexOf(" edge/")!==-1}if(!t())return!1;if(!e)return!0;var i=function(){var n,r=3,s=document.createElement("div"),l=s.getElementsByTagName("i");do s.innerHTML="<!--[if gt IE "+ ++r+"]><i></i><![endif]-->";while(l[0]);return r>4?r:n}();return e===i};gn.isLegacyOpera=function(){return!!window.opera};var xn=vn.exports,bn={exports:{}},Wr=bn.exports={};Wr.getOption=Mr;function Mr(e,t,i){var n=e[t];return n==null&&i!==void 0?i:n}var Br=bn.exports,zt=Br,Pr=function(t){t=t||{};var i=t.reporter,n=zt.getOption(t,"async",!0),r=zt.getOption(t,"auto",!0);r&&!n&&(i&&i.warn("Invalid options combination. auto=true and async=false is invalid. Setting async=true."),n=!0);var s=Wt(),l,a=!1;function u(y,D){!a&&r&&n&&s.size()===0&&b(),s.add(y,D)}function f(){for(a=!0;s.size();){var y=s;s=Wt(),y.process()}a=!1}function h(y){a||(y===void 0&&(y=n),l&&(p(l),l=null),y?b():f())}function b(){l=g(f)}function p(y){var D=clearTimeout;return D(y)}function g(y){var D=function(W){return setTimeout(W,0)};return D(y)}return{add:u,force:h}};function Wt(){var e={},t=0,i=0,n=0;function r(a,u){u||(u=a,a=0),a>i?i=a:a<n&&(n=a),e[a]||(e[a]=[]),e[a].push(u),t++}function s(){for(var a=n;a<=i;a++)for(var u=e[a],f=0;f<u.length;f++){var h=u[f];h()}}function l(){return t}return{add:r,process:s,size:l}}var ot="_erd";function Or(e){return e[ot]={},yn(e)}function yn(e){return e[ot]}function _r(e){delete e[ot]}var Vr={initState:Or,getState:yn,cleanState:_r},Le=xn,Fr=function(e){e=e||{};var t=e.reporter,i=e.batchProcessor,n=e.stateHandler.getState;if(!t)throw new Error("Missing required dependency: reporter.");function r(f,h){function b(){h(f)}if(Le.isIE(8))n(f).object={proxy:b},f.attachEvent("onresize",b);else{var p=a(f);if(!p)throw new Error("Element is not detectable by this strategy.");p.contentDocument.defaultView.addEventListener("resize",b)}}function s(f){var h=e.important?" !important; ":"; ";return(f.join(h)+h).trim()}function l(f,h,b){b||(b=h,h=f,f=null),f=f||{};function p(g,y){var D=s(["display: block","position: absolute","top: 0","left: 0","width: 100%","height: 100%","border: none","padding: 0","margin: 0","opacity: 0","z-index: -1000","pointer-events: none"]),W=!1,w=window.getComputedStyle(g),E=g.offsetWidth,S=g.offsetHeight;n(g).startSize={width:E,height:S};function c(){function o(){if(w.position==="static"){g.style.setProperty("position","relative",f.important?"important":"");var A=function(P,j,O,k){function I(V){return V.replace(/[^-\d\.]/g,"")}var N=O[k];N!=="auto"&&I(N)!=="0"&&(P.warn("An element that is positioned static has style."+k+"="+N+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+k+" will be set to 0. Element: ",j),j.style.setProperty(k,"0",f.important?"important":""))};A(t,g,w,"top"),A(t,g,w,"right"),A(t,g,w,"bottom"),A(t,g,w,"left")}}function C(){W||o();function A(j,O){if(!j.contentDocument){var k=n(j);k.checkForObjectDocumentTimeoutId&&window.clearTimeout(k.checkForObjectDocumentTimeoutId),k.checkForObjectDocumentTimeoutId=setTimeout(function(){k.checkForObjectDocumentTimeoutId=0,A(j,O)},100);return}O(j.contentDocument)}var P=this;A(P,function(O){y(g)})}w.position!==""&&(o(),W=!0);var v=document.createElement("object");v.style.cssText=D,v.tabIndex=-1,v.type="text/html",v.setAttribute("aria-hidden","true"),v.onload=C,Le.isIE()||(v.data="about:blank"),n(g)&&(g.appendChild(v),n(g).object=v,Le.isIE()&&(v.data="about:blank"))}i?i.add(c):c()}Le.isIE(8)?b(h):p(h,b)}function a(f){return n(f).object}function u(f){if(n(f)){var h=a(f);h&&(Le.isIE(8)?f.detachEvent("onresize",h.proxy):f.removeChild(h),n(f).checkForObjectDocumentTimeoutId&&window.clearTimeout(n(f).checkForObjectDocumentTimeoutId),delete n(f).object)}}return{makeDetectable:l,addListener:r,uninstall:u}},Nr=mn.forEach,Kr=function(e){e=e||{};var t=e.reporter,i=e.batchProcessor,n=e.stateHandler.getState,r=e.idHandler;if(!i)throw new Error("Missing required dependency: batchProcessor");if(!t)throw new Error("Missing required dependency: reporter.");var s=h(),l="erd_scroll_detection_scrollbar_style",a="erd_scroll_detection_container";function u(c){b(c,l,a)}u(window.document);function f(c){var o=e.important?" !important; ":"; ";return(c.join(o)+o).trim()}function h(){var c=500,o=500,C=document.createElement("div");C.style.cssText=f(["position: absolute","width: "+c*2+"px","height: "+o*2+"px","visibility: hidden","margin: 0","padding: 0"]);var v=document.createElement("div");v.style.cssText=f(["position: absolute","width: "+c+"px","height: "+o+"px","overflow: scroll","visibility: none","top: "+-c*3+"px","left: "+-o*3+"px","visibility: hidden","margin: 0","padding: 0"]),v.appendChild(C),document.body.insertBefore(v,document.body.firstChild);var A=c-v.clientWidth,P=o-v.clientHeight;return document.body.removeChild(v),{width:A,height:P}}function b(c,o,C){function v(O,k){k=k||function(N){c.head.appendChild(N)};var I=c.createElement("style");return I.innerHTML=O,I.id=o,k(I),I}if(!c.getElementById(o)){var A=C+"_animation",P=C+"_animation_active",j=/ Created by the element-resize-detector library. */
;j+="."+C+" > div::-webkit-scrollbar { "+f(["display: none"])+ }
,j+="."+P+" { "+f(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+A,"animation-name: "+A])+ }
,j+="@-webkit-keyframes "+A+ { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }
,j+="@keyframes "+A+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",v(j)}}function p(c){c.className+=" "+a+"_animation_active"}function g(c,o,C){if(c.addEventListener)c.addEventListener(o,C);else if(c.attachEvent)c.attachEvent("on"+o,C);else return t.error("[scroll] Don't know how to add event listeners.")}function y(c,o,C){if(c.removeEventListener)c.removeEventListener(o,C);else if(c.detachEvent)c.detachEvent("on"+o,C);else return t.error("[scroll] Don't know how to remove event listeners.")}function D(c){return n(c).container.childNodes[0].childNodes[0].childNodes[0]}function W(c){return n(c).container.childNodes[0].childNodes[0].childNodes[1]}function w(c,o){var C=n(c).listeners;if(!C.push)throw new Error("Cannot add listener to an element that is not detectable.");n(c).listeners.push(o)}function E(c,o,C){C||(C=o,o=c,c=null),c=c||{};function v(){if(c.debug){var x=Array.prototype.slice.call(arguments);if(x.unshift(r.get(o),"Scroll: "),t.log.apply)t.log.apply(null,x);else for(var L=0;L<x.length;L++)t.log(x[L])}}function A(x){function L(z){var Z=z.getRootNode&&z.getRootNode().contains(z);return z===z.ownerDocument.body||z.ownerDocument.body.contains(z)||Z}return!L(x)||window.getComputedStyle(x)===null}function P(x){var L=n(x).container.childNodes[0],z=window.getComputedStyle(L);return!z.width||z.width.indexOf("px")===-1}function j(){var x=window.getComputedStyle(o),L={};return L.position=x.position,L.width=o.offsetWidth,L.height=o.offsetHeight,L.top=x.top,L.right=x.right,L.bottom=x.bottom,L.left=x.left,L.widthCSS=x.width,L.heightCSS=x.height,L}function O(){var x=j();n(o).startSize={width:x.width,height:x.height},v("Element start size",n(o).startSize)}function k(){n(o).listeners=[]}function I(){if(v("storeStyle invoked."),!n(o)){v("Aborting because element has been uninstalled");return}var x=j();n(o).style=x}function N(x,L,z){n(x).lastWidth=L,n(x).lastHeight=z}function V(x){return D(x).childNodes[0]}function re(){return 2*s.width+1}function Re(){return 2*s.height+1}function He(x){return x+10+re()}function Ue(x){return x+10+Re()}function En(x){return x*2+re()}function Sn(x){return x*2+Re()}function lt(x,L,z){var Z=D(x),se=W(x),ce=He(L),de=Ue(z),F=En(L),T=Sn(z);Z.scrollLeft=ce,Z.scrollTop=de,se.scrollLeft=F,se.scrollTop=T}function pt(){var x=n(o).container;if(!x){x=document.createElement("div"),x.className=a,x.style.cssText=f(["visibility: hidden","display: inline","width: 0px","height: 0px","z-index: -1","overflow: hidden","margin: 0","padding: 0"]),n(o).container=x,p(x),o.appendChild(x);var L=function(){n(o).onRendered&&n(o).onRendered()};g(x,"animationstart",L),n(o).onAnimationStart=L}return x}function Dn(){function x(){var M=n(o).style;if(M.position==="static"){o.style.setProperty("position","relative",c.important?"important":"");var J=function(pe,oe,In,We){function Rn(Hn){return Hn.replace(/[^-\d\.]/g,"")}var qe=In[We];qe!=="auto"&&Rn(qe)!=="0"&&(pe.warn("An element that is positioned static has style."+We+"="+qe+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+We+" will be set to 0. Element: ",oe),oe.style[We]=0)};J(t,o,M,"top"),J(t,o,M,"right"),J(t,o,M,"bottom"),J(t,o,M,"left")}}function L(M,J,pe,oe){return M=M?M+"px":"0",J=J?J+"px":"0",pe=pe?pe+"px":"0",oe=oe?oe+"px":"0",["left: "+M,"top: "+J,"right: "+oe,"bottom: "+pe]}if(v("Injecting elements"),!n(o)){v("Aborting because element has been uninstalled");return}x();var z=n(o).container;z||(z=pt());var Z=s.width,se=s.height,ce=f(["position: absolute","flex: none","overflow: hidden","z-index: -1","visibility: hidden","width: 100%","height: 100%","left: 0px","top: 0px"]),de=f(["position: absolute","flex: none","overflow: hidden","z-index: -1","visibility: hidden"].concat(L(-(1+Z),-(1+se),-se,-Z))),F=f(["position: absolute","flex: none","overflow: scroll","z-index: -1","visibility: hidden","width: 100%","height: 100%"]),T=f(["position: absolute","flex: none","overflow: scroll","z-index: -1","visibility: hidden","width: 100%","height: 100%"]),K=f(["position: absolute","left: 0","top: 0"]),ae=f(["position: absolute","width: 200%","height: 200%"]),q=document.createElement("div"),Y=document.createElement("div"),le=document.createElement("div"),ut=document.createElement("div"),ze=document.createElement("div"),ht=document.createElement("div");q.dir="ltr",q.style.cssText=ce,q.className=a,Y.className=a,Y.style.cssText=de,le.style.cssText=F,ut.style.cssText=K,ze.style.cssText=T,ht.style.cssText=ae,le.appendChild(ut),ze.appendChild(ht),Y.appendChild(le),Y.appendChild(ze),q.appendChild(Y),z.appendChild(q);function mt(){var M=n(o);M&&M.onExpand?M.onExpand():v("Aborting expand scroll handler: element has been uninstalled")}function vt(){var M=n(o);M&&M.onShrink?M.onShrink():v("Aborting shrink scroll handler: element has been uninstalled")}g(le,"scroll",mt),g(ze,"scroll",vt),n(o).onExpandScroll=mt,n(o).onShrinkScroll=vt}function An(){function x(F,T,K){var ae=V(F),q=He(T),Y=Ue(K);ae.style.setProperty("width",q+"px",c.important?"important":""),ae.style.setProperty("height",Y+"px",c.important?"important":"")}function L(F){var T=o.offsetWidth,K=o.offsetHeight,ae=T!==n(o).lastWidth||K!==n(o).lastHeight;v("Storing current size",T,K),N(o,T,K),i.add(0,function(){if(ae){if(!n(o)){v("Aborting because element has been uninstalled");return}if(!z()){v("Aborting because element container has not been initialized");return}if(c.debug){var Y=o.offsetWidth,le=o.offsetHeight;(Y!==T||le!==K)&&t.warn(r.get(o),"Scroll: Size changed before updating detector elements.")}x(o,T,K)}}),i.add(1,function(){if(!n(o)){v("Aborting because element has been uninstalled");return}if(!z()){v("Aborting because element container has not been initialized");return}lt(o,T,K)}),ae&&F&&i.add(2,function(){if(!n(o)){v("Aborting because element has been uninstalled");return}if(!z()){v("Aborting because element container has not been initialized");return}F()})}function z(){return!!n(o).container}function Z(){function F(){return n(o).lastNotifiedWidth===void 0}v("notifyListenersIfNeeded invoked");var T=n(o);if(F()&&T.lastWidth===T.startSize.width&&T.lastHeight===T.startSize.height)return v("Not notifying: Size is the same as the start size, and there has been no notification yet.");if(T.lastWidth===T.lastNotifiedWidth&&T.lastHeight===T.lastNotifiedHeight)return v("Not notifying: Size already notified");v("Current size not notified, notifying..."),T.lastNotifiedWidth=T.lastWidth,T.lastNotifiedHeight=T.lastHeight,Nr(n(o).listeners,function(K){K(o)})}function se(){if(v("startanimation triggered."),P(o)){v("Ignoring since element is still unrendered...");return}v("Element rendered.");var F=D(o),T=W(o);(F.scrollLeft===0||F.scrollTop===0||T.scrollLeft===0||T.scrollTop===0)&&(v("Scrollbars out of sync. Updating detector elements..."),L(Z))}function ce(){if(v("Scroll detected."),P(o)){v("Scroll event fired while unrendered. Ignoring...");return}L(Z)}if(v("registerListenersAndPositionElements invoked."),!n(o)){v("Aborting because element has been uninstalled");return}n(o).onRendered=se,n(o).onExpand=ce,n(o).onShrink=ce;var de=n(o).style;x(o,de.width,de.height)}function jn(){if(v("finalizeDomMutation invoked."),!n(o)){v("Aborting because element has been uninstalled");return}var x=n(o).style;N(o,x.width,x.height),lt(o,x.width,x.height)}function Tn(){C(o)}function ft(){v("Installing..."),k(),O(),i.add(0,I),i.add(1,Dn),i.add(2,An),i.add(3,jn),i.add(4,Tn)}v("Making detectable..."),A(o)?(v("Element is detached"),pt(),v("Waiting until element is attached..."),n(o).onRendered=function(){v("Element is now attached"),ft()}):ft()}function S(c){var o=n(c);o&&(o.onExpandScroll&&y(D(c),"scroll",o.onExpandScroll),o.onShrinkScroll&&y(W(c),"scroll",o.onShrinkScroll),o.onAnimationStart&&y(o.container,"animationstart",o.onAnimationStart),o.container&&c.removeChild(o.container))}return{makeDetectable:E,addListener:w,uninstall:S,initDocument:u}},Ae=mn.forEach,$r=Ir,Gr=Rr,Zr=Hr,Xr=Ur,qr=zr,Mt=xn,Yr=Pr,te=Vr,Jr=Fr,Qr=Kr;function Bt(e){return Array.isArray(e)||e.length!==void 0}function Pt(e){if(Array.isArray(e))return e;var t=[];return Ae(e,function(i){t.push(i)}),t}function Ot(e){return e&&e.nodeType===1}var es=function(e){e=e||{};var t;if(e.idHandler)t={get:function(E){return e.idHandler.get(E,!0)},set:e.idHandler.set};else{var i=Zr(),n=Xr({idGenerator:i,stateHandler:te});t=n}var r=e.reporter;if(!r){var s=r===!1;r=qr(s)}var l=ne(e,"batchProcessor",Yr({reporter:r})),a={};a.callOnAdd=!!ne(e,"callOnAdd",!0),a.debug=!!ne(e,"debug",!1);var u=Gr(t),f=$r({stateHandler:te}),h,b=ne(e,"strategy","object"),p=ne(e,"important",!1),g={reporter:r,batchProcessor:l,stateHandler:te,idHandler:t,important:p};if(b==="scroll"&&(Mt.isLegacyOpera()?(r.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),b="object"):Mt.isIE(9)&&(r.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),b="object")),b==="scroll")h=Qr(g);else if(b==="object")h=Jr(g);else throw new Error("Invalid strategy name: "+b);var y={};function D(E,S,c){function o(O){var k=u.get(O);Ae(k,function(N){N(O)})}function C(O,k,I){u.add(k,I),O&&I(k)}if(c||(c=S,S=E,E={}),!S)throw new Error("At least one element required.");if(!c)throw new Error("Listener required.");if(Ot(S))S=[S];else if(Bt(S))S=Pt(S);else return r.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");var v=0,A=ne(E,"callOnAdd",a.callOnAdd),P=ne(E,"onReady",function(){}),j=ne(E,"debug",a.debug);Ae(S,function(k){te.getState(k)||(te.initState(k),t.set(k));var I=t.get(k);if(j&&r.log("Attaching listener to element",I,k),!f.isDetectable(k)){if(j&&r.log(I,"Not detectable."),f.isBusy(k)){j&&r.log(I,"System busy making it detectable"),C(A,k,c),y[I]=y[I]||[],y[I].push(function(){v++,v===S.length&&P()});return}return j&&r.log(I,"Making detectable..."),f.markBusy(k,!0),h.makeDetectable({debug:j,important:p},k,function(V){if(j&&r.log(I,"onElementDetectable"),te.getState(V)){f.markAsDetectable(V),f.markBusy(V,!1),h.addListener(V,o),C(A,V,c);var re=te.getState(V);if(re&&re.startSize){var Re=V.offsetWidth,He=V.offsetHeight;(re.startSize.width!==Re||re.startSize.height!==He)&&o(V)}y[I]&&Ae(y[I],function(Ue){Ue()})}else j&&r.log(I,"Element uninstalled before being detectable.");delete y[I],v++,v===S.length&&P()})}j&&r.log(I,"Already detecable, adding listener."),C(A,k,c),v++}),v===S.length&&P()}function W(E){if(!E)return r.error("At least one element is required.");if(Ot(E))E=[E];else if(Bt(E))E=Pt(E);else return r.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");Ae(E,function(S){u.removeAllListeners(S),h.uninstall(S),te.cleanState(S)})}function w(E){h.initDocument&&h.initDocument(E)}return{listenTo:D,removeListener:u.removeListener,removeAllListeners:u.removeAllListeners,uninstall:W,initDocument:w}};function ne(e,t,i){var n=e[t];return n==null&&i!==void 0?i:n}const wn=Gn(es),ct=e=>{const{containerProps:t,closeButtonProps:i,onClose:n,advertiseLink:r}=e,s=m.useCallback(l=>{l.preventDefault(),n==null||n()},[n]);return d.jsxs(U,{display:"flex",alignItems:"center",...t,children:[r!==void 0&&d.jsx(Ce,{pointerEvents:"auto",href:r,variant:"link",size:"sm",fontSize:"11px",fontWeight:"normal",opacity:.5,target:"_blank",rel:"noreferrer noopener",_hover:{opacity:.8},_focus:{outline:"none"},children:d.jsxs(Ne,{spacing:"3px",children:[d.jsx(Q,{as:Zn}),d.jsx(G,{children:"Ad"})]})}),d.jsx(Xn,{pointerEvents:"auto",onClick:s,size:"sm",icon:d.jsx(Q,{as:qn}),"aria-label":"Hide",variant:"link",minW:"23px",py:"7px",opacity:.5,_hover:{opacity:.8},_focus:{},...i})]})},dt=m.memo(e=>{const{title:t}=e,i=we("accent.600","accent.150");return d.jsx(G,{as:"span",fontWeight:"semibold",fontSize:{base:"sm",lg:"md"},noOfLines:1,color:i,children:t})}),ts=m.memo(e=>{const{onHide:t,ad:i,height:n}=e,{colorMode:r}=$e(),s=i&&i.url,l=s?Ce:U,a=m.useRef(null),[u,f]=m.useState();m.useEffect(()=>{const p=a.current;let g;return p&&(g=wn({strategy:"scroll"}),g.listenTo(p,y=>{f(y.getBoundingClientRect().height)})),()=>{p&&g&&g.uninstall(p)}},[]);const h=u!==void 0&&u>150,b=we("accent.600","accent.150");return d.jsxs(U,{position:"relative",children:[d.jsxs(l,{_focus:{outline:"none"},display:"flex",alignItems:"center",position:"relative",href:i==null?void 0:i.url,target:"_blank",rel:"sponsored noreferrer noopener",width:"100%",height:n,pt:"7px",pb:"8px",px:2,pl:"10px",borderWidth:1,borderRadius:"md",borderColor:$("gray.100","blue.850",r),transition:"background-color 0.25s",cursor:s?"pointer":"default",_hover:{textDecoration:"none",bg:s?$("gray.50","blue.875",r):"initial"},ref:a,children:[!(i&&u!==void 0)&&d.jsx(Ze,{}),i&&u!==void 0&&d.jsxs(et,{alignItems:"stretch",flex:1,spacing:h?"10px":"3px",children:[(i.thumbnail||i.title)&&d.jsxs(Yn,{direction:h?"column":"row",spacing:h?2:1,alignItems:"center",children:[i.thumbnail&&d.jsx(Ke,{src:i.thumbnail,w:"20px",h:"20px",loading:"lazy"}),i.title&&d.jsx(dt,{title:i.title})]}),!h&&(i.description||i.callToAction)&&d.jsxs(G,{fontSize:"sm",lineHeight:"15px",noOfLines:2,children:[i.description&&d.jsx(De,{children:i.description}),i.callToAction&&d.jsx(De,{paddingLeft:i.description?1:0,color:b,fontWeight:"semibold",children:i.callToAction})]}),h&&(i.description||i.callToAction)&&d.jsxs(et,{spacing:3,lineHeight:"20px",fontSize:"sm",alignItems:"center",children:[i.description&&d.jsx(De,{noOfLines:4,textAlign:"center",children:i.description}),i.callToAction&&d.jsx(De,{color:b,fontWeight:"semibold",children:i.callToAction})]})]})]}),i&&d.jsx(ct,{advertiseLink:i.advertiseLink,containerProps:{pos:"absolute",top:0,right:"3px"},onClose:t})]})}),_t=66,Vt=25,ns=m.memo(e=>{const{ad:t,onHide:i,height:n}=e,{colorMode:r}=$e(),s=t&&t.url,l=s?Ce:U,a=$("white","blue.950",r);return d.jsxs(U,{position:"relative",children:[d.jsxs(l,{_focus:{outline:"none"},href:t==null?void 0:t.url,target:"_blank",rel:"sponsored noreferrer noopener",height:n,pos:"relative",display:"flex",alignItems:"center",padding:2,borderColor:$("gray.100","blue.900",r),bg:a,px:{base:"10px",md:3},pt:{base:"6px",md:3},pb:{base:"6px",md:3},cursor:s?"pointer":"default",_hover:{textDecoration:"none",bg:s?$("gray.50","blue.900",r):a},borderWidth:1,borderRadius:"md",children:[!t&&d.jsx(Ze,{}),t&&d.jsxs(U,{display:"flex",flexDir:{base:"column",md:"row"},fontSize:{base:"sm",md:"md"},w:"100%",alignItems:{base:"flex-start",md:"center"},paddingRight:{md:t.advertiseLink===void 0?{_t}px},children:[d.jsxs(Ne,{align:{base:"flex-start",md:"center"},spacing:1,flexShrink:0,children:[t.thumbnail&&d.jsx(Ke,{alt:"thumbnail",src:t.thumbnail,width:"20px",height:"20px",display:"flex",alignSelf:"center",loading:"lazy"}),t.title&&d.jsx(dt,{title:t.title})]}),d.jsx(U,{lineHeight:"15px",fontSize:"sm",display:"flex",flexDirection:"row",width:{base:"100%",md:"initial"},children:d.jsxs(G,{as:"span",noOfLines:2,ml:{base:0,md:t.thumbnail||t.title?2:0},children:[t.description&&d.jsx(G,{as:"span",children:t.description}),t.callToAction&&d.jsx(G,{as:"span",ml:{base:1,lg:2},color:$("accent.600","accent.150",r),fontWeight:"semibold",children:t.callToAction})]})})]})]}),t&&d.jsx(ct,{advertiseLink:t.advertiseLink,containerProps:{pointerEvents:"none",justifyContent:"flex-end",width:t.advertiseLink===void 0?{_t}px,pos:"absolute",top:0,bottom:{md:0},right:{base:0,md:2}},closeButtonProps:{ml:{md:2}},onClose:i})]})}),Ft=66,Nt=25,is=m.memo(e=>{const{ad:t,onHide:i,height:n}=e,{colorMode:r}=$e(),s=t&&t.url,l=s?Ce:U,a=$("white","gray.925",r);return d.jsxs(U,{position:"relative",children:[d.jsxs(l,{_focus:{outline:"none"},href:t==null?void 0:t.url,target:"_blank",rel:"sponsored noreferrer noopener",height:n,pos:"relative",display:"flex",alignItems:"center",padding:2,borderColor:$("gray.100","gray.875",r),bg:a,px:{base:"10px",md:3},pt:{base:"6px",md:3},pb:{base:"6px",md:3},cursor:s?"pointer":"default",_hover:{textDecoration:"none",bg:s?$("gray.50","gray.875",r):a},borderWidth:1,borderRadius:"md",children:[!t&&d.jsx(Ze,{}),t&&d.jsx(U,{display:"flex",flexDir:{base:"column",md:"row"},fontSize:{base:"sm",md:"md"},w:"100%",alignItems:{base:"flex-start",md:"center"},paddingRight:{md:t.advertiseLink===void 0?{Ft}px},children:d.jsxs(Ne,{spacing:"2",flexShrink:0,children:[t.thumbnail&&d.jsx(Ke,{src:t.thumbnail,width:"48px",minWidth:"48px",height:"48px",display:"flex",alignSelf:"center",loading:"lazy"}),d.jsxs(et,{alignItems:"stretch",spacing:"0",children:[t.title&&d.jsx(dt,{title:t.title}),d.jsx(U,{lineHeight:"15px",fontSize:"sm",display:"flex",flexDirection:"row",width:{base:"100%",md:"initial"},children:d.jsxs(G,{as:"span",noOfLines:2,children:[t.description&&d.jsx(G,{as:"span",children:t.description}),t.callToAction&&d.jsx(G,{as:"span",ml:{base:1,md:2},color:$("accent.600","accent.150",r),fontWeight:"semibold",children:t.callToAction})]})})]})]})})]}),t&&d.jsx(ct,{advertiseLink:t.advertiseLink,containerProps:{pointerEvents:"none",justifyContent:"flex-end",width:t.advertiseLink===void 0?{Ft}px,pos:"absolute",top:0,right:0},onClose:i})]})}),Kt=m.memo(e=>{const{location:t,ad:i,onHide:n,height:r}=e;switch(t){case"screener":return d.jsx(ns,{ad:i,onHide:n,height:r});case"pair":return d.jsx(ts,{ad:i,onHide:n,height:r});case"search":return d.jsx(is,{ad:i,onHide:n,height:r})}});function $t(e,t){return e.width===t.width&&e.height===t.height}const rs=X("@dexscreener/data-access-ads//AdsWorkerAdsDataSource",en,e=>({notifyViewed:t=>Qt(async()=>{switch(t.provider){case"direct":{await Promise.all(t.impressionURLs.map(i=>e.text(i,{credentials:"include"})));break}case"fallback":{t.impressionUrl&&await e.text(t.impressionUrl,{credentials:"include"});break}}})})),Xe=X("@dexscreener/data-access-ads//DirectAdUnitsDataSource",()=>{const e={native:{home:{adKind:"native",provider:"direct",screen:"home",id:"native-ad-home"},search:{adKind:"native",provider:"direct",screen:"search",id:"native-ad-search"},multicharts:{adKind:"native",provider:"direct",screen:"multicharts",id:"native-ad-multicharts"},gainersLosers:{adKind:"native",provider:"direct",screen:"gainers-losers",id:"native-ad-gainers-losers"},newPairs:{adKind:"native",provider:"direct",screen:"new-pairs",id:"native-ad-new-pairs"},watchlist:{adKind:"native",provider:"direct",screen:"watchlist",id:"native-ad-watchlist"},screener:{adKind:"native",provider:"direct",screen:"screener",id:"native-ad-screener"}},display:{pair:{all:{"300x250":{adKind:"display",provider:"direct",screen:"pair",id:"direct-ad-300x250",size:{width:300,height:250}},"320x100":{adKind:"display",provider:"direct",screen:"pair",id:"direct-ad-320x100",size:{width:320,height:100}}}}}};return{map:e,nativeAdUnits:[e.native.home,e.native.search,e.native.multicharts,e.native.gainersLosers,e.native.newPairs,e.native.watchlist,e.native.screener],displayAdUnits:[e.display.pair.all["300x250"],e.display.pair.all["320x100"]]}}),ss=X(Xe,e=>[{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"instant-casino-3616397-300x250",src:"https://static.dexscreen.com/finixio/instant-casino-300x250-v4/300x250.html",url:"https://a1.adform.net/C/?bn=79892868",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892868;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/instant-casino-300x250"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"instant-casino-3616397-320x100",src:"https://static.dexscreen.com/finixio/instant-casino-320x100-v4/320x100.html",url:"https://a1.adform.net/C/?bn=79892864",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892864;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/instant-casino-320x100"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"coin-poker-3332312-300x250",src:"https://static.dexscreen.com/finixio/coin-poker-300x250-v5/300x250.html",url:"https://a1.adform.net/C/?bn=73094922",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094922;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-poker-300x250"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"coin-poker-3332312-320x100",src:"https://static.dexscreen.com/finixio/coin-poker-320x100-v5/320x100.html",url:"https://a1.adform.net/C/?bn=73094923",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094923;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-poker-320x100"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"snorter-token-3795718-300x250",src:"https://static.dexscreen.com/finixio/snorter-token-300x250-v2/300x250.html",url:"https://a1.adform.net/C/?bn=80975671",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975671;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/snorter-token-300x250"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:15},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"snorter-token-3795718-320x100",src:"https://static.dexscreen.com/finixio/snorter-token-320x100-v2/320x100.html",url:"https://a1.adform.net/C/?bn=80975675",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975675;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/snorter-token-320x100"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:15},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"best-wallet-3625392-300x250",src:"https://static.dexscreen.com/finixio/best-wallet-app-300x250/300x250.html",url:"https://a1.adform.net/C/?bn=78456412",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456412;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/best-wallet-300x250"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"best-wallet-3625392-320x100",src:"https://static.dexscreen.com/finixio/best-wallet-app-320x100/320x100.html",url:"https://a1.adform.net/C/?bn=78456413",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456413;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/best-wallet-320x100"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"bitcoin-hyper-3779689-300x250",src:"https://static.dexscreen.com/finixio/bitcoin-hyper-300x250/300x250.html",url:"https://a1.adform.net/C/?bn=81160322",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160322;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/bitcoin-hyper-300x250"],startDate:new Date("2025-06-05"),endDate:new Date("2025-08-01"),weight:15},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"bitcoin-hyper-3779689-320x100",src:"https://static.dexscreen.com/finixio/bitcoin-hyper-320x100/320x100.html",url:"https://a1.adform.net/C/?bn=81160324",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160324;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/bitcoin-hyper-320x100"],startDate:new Date("2025-06-05"),endDate:new Date("2025-08-01"),weight:15},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"lucky-block-3624738-300x250",src:"https://static.dexscreen.com/finixio/lucky-block-300x250-v5/300x250.html",url:"https://a1.adform.net/C/?bn=79893052",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893052;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/lucky-block-300x250"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"lucky-block-3624738-320x100",src:"https://static.dexscreen.com/finixio/lucky-block-320x100-v5/320x100.html",url:"https://a1.adform.net/C/?bn=79893054",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893054;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/lucky-block-320x100"],startDate:new Date("2023-04-30"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"coin-casino-3612999-300x250",src:"https://static.dexscreen.com/finixio/coin-casino-300x250/index.html",url:"https://a1.adform.net/C/?bn=79683958",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683958;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-casino-300x250"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"coin-casino-3612999-320x100",src:"https://static.dexscreen.com/finixio/coin-casino-320x100/320x100.html",url:"https://a1.adform.net/C/?bn=79683955",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683955;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-casino-320x100"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"token6900-3829610-300x250",src:"https://static.dexscreen.com/finixio/token6900-300x250/300x250.html",url:"https://a1.adform.net/C/?bn=81689393",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689393;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/token6900-300x250"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"token6900-3829610-320x100",src:"https://static.dexscreen.com/finixio/token6900-320x100/320x100.html",url:"https://a1.adform.net/C/?bn=81689390",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689390;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/token6900-320x100"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["300x250"]],source:"iframe",id:"coin-futures-3843825-300x250",src:"https://static.dexscreen.com/finixio/coin-futures-300x250/300x250.html",url:"https://a1.adform.net/C/?bn=81956088",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956088;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-futures-300x250"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10},{kind:"display",provider:"direct",adUnits:[e.map.display.pair.all["320x100"]],source:"iframe",id:"coin-futures-3843825-320x100",src:"https://static.dexscreen.com/finixio/coin-futures-320x100/320x100.html",url:"https://a1.adform.net/C/?bn=81956085",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956085;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/pair/display/coin-futures-320x100"],startDate:new Date("2023-03-28"),endDate:new Date("2025-08-01"),weight:10}]),fe={kind:"native",provider:"direct",title:"Instant Casino & Sportsbook",description:"Get 10% Cashback and Instant Crypto Withdrawals!",callToAction:"PLAY NOW",thumbnail:"https://static.dexscreen.com/finixio/instant-casino-logo.svg",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},ue={kind:"native",provider:"direct",title:"CoinPoker",description:"Instant Withdrawal Crypto Casino & Poker - $2,000 Bonus!",callToAction:"PLAY NOW",thumbnail:"https://static.dexscreen.com/finixio/coinpoker-logo.svg",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},he={kind:"native",provider:"direct",title:"Snorter Token",description:"Snorter: New Meme Coin Powers Solana’s Fastest Trading Bot - Presale LIVE!",callToAction:"BUY $SNORT",thumbnail:"https://static.dexscreen.com/finixio/snorter-token-logo.png",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:15},me={kind:"native",provider:"direct",title:"Best Wallet",description:"Best Wallet - No KYC Crypto Wallet - Early Token Access & High-APY Staking in One App.",callToAction:"DOWNLOAD NOW",thumbnail:"https://static.dexscreen.com/finixio/best-wallet-logo-v3.svg",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},ve={kind:"native",provider:"direct",title:"Bitcoin Hyper",description:"Bitcoin’s FIRST L2 for Fast, Low-Cost Transactions! Presale LIVE!",callToAction:"BUY $HYPER",thumbnail:"https://static.dexscreen.com/finixio/bitcoin-hyper-logo.png",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2025-06-05T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:15},ge={kind:"native",provider:"direct",title:"LuckyBlock",description:"LuckyBlock: Licensed Crypto Casino & Sportsbook – Huge Bonus, 4K+ Games, Instant Payouts, 20+ Cryptos!",callToAction:"PLAY NOW",thumbnail:"https://static.dexscreen.com/finixio/lucky-block-logo.jpg",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},xe={kind:"native",provider:"direct",title:"CoinCasino",description:"CoinCasino - Instant Withdrawal Crypto Casino with 200% Deposit Bonus!",callToAction:"PLAY NOW",thumbnail:"https://static.dexscreen.com/finixio/coin-casino-logo.svg",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},be={kind:"native",provider:"direct",title:"Token6900",description:"Whales Bet It’s The Next SPX6900. Presale LIVE!",callToAction:"Buy $T6900 Now!",thumbnail:"https://static.dexscreen.com/finixio/token6900-logo.webp",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},ye={kind:"native",provider:"direct",title:"CoinFutures",description:"NO KYC Crypto Futures Trading. Up To 1000x Leverage on BTC & ETH. Cash Out Anytime.",callToAction:"Register Now",thumbnail:"https://static.dexscreen.com/finixio/coin-futures-logo-v1.webp",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2024-04-16T00:00:00.00Z"),endDate:new Date("2025-08-01T00:00:00.00Z"),weight:10},as=X(Xe,e=>[{...fe,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=79892865",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892865;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/instant-casino"]},{...ue,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=73094925",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094925;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/coinpoker"]},{...he,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=80975674",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975674;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/snorter-token"]},{...me,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=78456411",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456411;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/best-wallet"]},{...ve,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=81160321",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160321;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=79893053",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893053;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/lucky-block"]},{...xe,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=79683960",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683960;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/coin-casino"]},{...be,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=81689389",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689389;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/token6900"]},{...ye,adUnit:e.map.native.home,url:"https://a1.adform.net/C/?bn=81956086",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956086;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/home/native/coin-futures"]},{...fe,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=79892867",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892867;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/instant-casino"]},{...ue,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=73094924",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094924;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/coinpoker"]},{...he,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=80975672",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975672;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/snorter-token"]},{...me,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=78456414",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456414;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/best-wallet"]},{...ve,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=81160323",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160323;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=79893051",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893051;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/lucky-block"]},{...xe,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=79683959",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683959;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/coin-casino"]},{...be,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=81689391",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689391;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/token6900"]},{...ye,adUnit:e.map.native.multicharts,url:"https://a1.adform.net/C/?bn=81956090",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956090;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/multicharts/native/coin-futures"]},{...fe,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=79892867",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892867;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/instant-casino"]},{...ue,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=73094924",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094924;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/coinpoker"]},{...he,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=80975672",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975672;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/snorter-token"]},{...me,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=78456414",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456414;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/best-wallet"]},{...ve,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=81160323",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160323;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=79893051",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893051;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/lucky-block"]},{...xe,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=79683959",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683959;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/coin-casino"]},{...be,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=81689391",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689391;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/token6900"]},{...ye,adUnit:e.map.native.gainersLosers,url:"https://a1.adform.net/C/?bn=81956090",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956090;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/gainers-losers/native/coin-futures"]},{...fe,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=79892867",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892867;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/instant-casino"]},{...ue,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=73094924",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094924;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/coinpoker"]},{...he,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=80975672",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975672;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/snorter-token"]},{...me,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=78456414",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456414;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/best-wallet"]},{...ve,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=81160323",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160323;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=79893051",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893051;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/lucky-block"]},{...xe,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=79683959",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683959;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/coin-casino"]},{...be,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=81689391",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689391;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/token6900"]},{...ye,adUnit:e.map.native.newPairs,url:"https://a1.adform.net/C/?bn=81956090",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956090;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/new-pairs/native/coin-futures"]},{...fe,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=79892867",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892867;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/instant-casino"]},{...ue,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=73094924",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094924;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/coinpoker"]},{...he,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=80975672",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975672;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/snorter-token"]},{...me,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=78456414",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456414;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/best-wallet"]},{...ve,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=81160323",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160323;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=79893051",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893051;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/lucky-block"]},{...xe,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=79683959",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683959;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/coin-casino"]},{...be,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=81689391",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689391;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/token6900"]},{...ye,adUnit:e.map.native.watchlist,url:"https://a1.adform.net/C/?bn=81956090",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956090;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/watchlist/native/coin-futures"]},{...fe,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=79892866",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79892866;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/instant-casino"]},{...ue,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=73094921",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=73094921;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/coinpoker"]},{...he,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=80975673",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=80975673;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/snorter-token"]},{...me,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=78456409",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=78456409;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/best-wallet"]},{...ve,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=81160320",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81160320;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/bitcoin-hyper"]},{...ge,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=79893050",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79893050;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/lucky-block"]},{...xe,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=79683957",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=79683957;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/coin-casino"]},{...be,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=81689392",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81689392;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/token6900"]},{...ye,adUnit:e.map.native.search,url:"https://a1.adform.net/C/?bn=81956089",impressionURLs:["https://a1.adform.net/adfserve/?CC=1&bn=81956089;1x1inv=1;srctype=3","https://cfw.dexscreener.com/a/direct/search/native/coin-futures"]}]),os=X(Xe,e=>[{kind:"native",provider:"direct",title:"MetaWin",description:"Claim your free shot at $50,000+. Draw Ends Soon!",callToAction:"Enter Now.",thumbnail:"https://dexscreener.com/a/direct/meta-win-logo.svg",url:"https://metawin.com/t/dexscreener-1?c=27537",advertiseLink:"https://docs.dexscreener.com/contact-us/advertise",startDate:new Date("2023-10-30T13:00:00.00Z"),endDate:new Date("2025-08-01T13:00:00.00Z"),weight:1,adUnit:e.map.native.screener,impressionURLs:["https://cfw.dexscreener.com/a/direct/screener/native/metawin"]}]),cs=X("@dexscreener/data-access-ads//DirectAdsDataSource",en,Xe,as,ss,os,(e,t,i,n,r)=>{const s=[...i,...r],l=[...n];return{findNativeAdUnit:a=>t.nativeAdUnits.find(u=>u.screen===a.screen),findDisplayAdUnit:a=>{const u=a.chainId;if(u){const f=t.displayAdUnits.find(h=>a.screen===h.screen&&$t(a.size,h.size)&&h.chainIds!==void 0&&h.chainIds.includes(u));if(f)return f}return t.displayAdUnits.find(f=>a.screen===f.screen&&$t(a.size,f.size)&&f.chainIds===void 0)},getNativeAd:a=>{const u=new Date,h=s.filter(p=>xt(u,p.startDate)&&St(u,p.endDate)&&p.adUnit.id===a.id).flatMap(p=>Array(p.weight).fill(p)),b=h.at(tt(h.length-1,!1));return Ie(b)},getDisplayAd:a=>{const u=new Date,h=l.filter(p=>xt(u,p.startDate)&&St(u,p.endDate)&&p.adUnits.includes(a)).flatMap(p=>Array(p.weight).fill({...p,adUnit:a})),b=h[tt(h.length-1,!1)];return Ie(b)},notifyViewed:a=>Qt(async({signal:u})=>{for(const f of a.impressionURLs)await e.text(f,{mode:"no-cors",signal:u})})}}),ds=X("@dexscreener/data-access-ads//fallbackAds",()=>[{kind:"native",provider:"fallback",description:"Advertise on DEX Screener and reach millions of crypto enthusiasts!",callToAction:"More info",url:"https://docs.dexscreener.com/contact-us/advertise"},{kind:"native",provider:"fallback",description:"Have you tried the DEX Screener app for iOS/Android yet?",callToAction:"Download now!",url:"https://docs.dexscreener.com/mobile-app"},{kind:"native",provider:"fallback",description:"Did you know DEX Screener has a free API?",callToAction:"More info",url:"https://docs.dexscreener.com/api/reference"}]),ls={adKind:"native",provider:"fallback"},ps=X("@dexcreener/data-access-ads//fallbackAdsDataSource",ds,e=>({getAd:()=>Ie(e[tt(0,e.length-1,!1)]??e[0]),findAdUnit:()=>ls})),fs=X(rs,ps,Qn,tn,cs,(e,t,i,n,r)=>{const s=i.getChildLogger({name:i.settings.name+"/AdsService"}),l=new Jn([]),a=p=>{switch(p.preferredAdKind){case"native":switch(p.provider){case"direct":return r.findNativeAdUnit(p)??t.findAdUnit()}case"display":switch(p.provider){case"direct":return r.findDisplayAdUnit(p)??t.findAdUnit()}}},u=p=>{switch(s.silly("getAdDirectly",p),p.adKind){case"native":switch(p.provider){case"fallback":return t.getAd();case"direct":return r.getNativeAd(p)}case"display":switch(p.provider){case"direct":return r.getDisplayAd(p)}}},f=()=>(s.silly("getNativeFallbackAdFromFallbacks"),t.getAd()),h=p=>{switch(s.silly("getFallbackAd",p),n.track(us(p)),p.adKind){case"native":return f();case"display":return p.provider==="direct",f()}},b=p=>(s.silly("getAdByAdUnit",p),u(p).pipe(Pi(()=>h(p)),Be(g=>g?Ie(g):h(p))));return{getAd:p=>{s.silly("getAd",p);const g=a(p);return b(g)},getAdByAdUnit:b,getFallbackAd:h,hideAd:p=>{const g=l.getValue();Gt(g,p)||(l.next([...g,p]),n.track(ms(p)))},notifyViewed:p=>{switch(n.track(hs(p)),p.kind){case"native":switch(p.provider){case"direct":return r.notifyViewed(p);case"fallback":return e.notifyViewed(p)}case"display":switch(p.provider){case"direct":return r.notifyViewed(p)}}},notifyHidden:p=>(n.track(vs(p)),Ie(void 0)),findAdUnit:a,isAdLocationHidden:p=>Gi(l,g=>Gt(g,p))}});function Gt(e,t){return e.some(i=>i.screen===t.screen)}function Cn(e){return{e.size.height}}function us(e){switch(e.adKind){case"native":switch(e.provider){case"direct":return{event:"adFallback",data:{adUnitKind:e.adKind,adUnitScreen:e.screen,adUnitID:e.id}};case"fallback":return{event:"adFallback",data:{adUnitKind:e.adKind}}}case"display":return{event:"adFallback",data:{adUnitKind:e.adKind,adUnitScreen:e.screen,adUnitID:e.id.toString(),adUnitProvider:e.provider,adUnitSize:Cn(e)}}}}function hs(e){switch(e.kind){case"native":return{event:"adImpression",data:{adKind:e.kind}};case"display":return{event:"adImpression",data:{adKind:e.kind,adUnitKind:e.adUnit.adKind,adUnitScreen:e.adUnit.screen,adUnitID:e.adUnit.id.toString(),adUnitProvider:e.adUnit.provider,adUnitSize:Cn(e.adUnit)}}}}function ms(e){switch(e.preferredAdKind){case"native":return{event:"hideAd",data:{kind:e.preferredAdKind,screen:e.screen}};case"display":return{event:"hideAd",data:{kind:e.preferredAdKind,screen:e.screen,provider:e.provider}}}}function vs(e){switch(e.preferredAdKind){case"native":return{event:"adHidden",data:{kind:e.preferredAdKind,screen:e.screen}};case"display":return{event:"adHidden",data:{kind:e.preferredAdKind,screen:e.screen,provider:e.provider}}}}const Ps=e=>{const[t,i]=nn();return{...e,refreshRequest:i,refresh:t}},[gs,Os]=ei("AdsProvider"),xs=()=>{const e=gs(),t=nt(fs),i=at(),n=ti(m.useMemo(()=>t.isAdLocationHidden(e.adLocation),[e.adLocation,t])),r=m.useMemo(()=>e.enabled?i?n:!1:!0,[e.enabled,n,i]),[s,l]=m.useState(r?void 0:e.ad),a=m.useMemo(()=>t.findAdUnit(e.adLocation),[e.adLocation,t]),[u,f]=m.useMemo(()=>nn(),[]),{value:h,enable:b}=ni(!1);bt(()=>{if(r||!h)return;const w=e.ad?yt:t.getAdByAdUnit(a),E=f.pipe(Be(()=>t.getFallbackAd(a))),S=e.ad?yt:e.refreshRequest.pipe(Be(()=>t.getAdByAdUnit(a)));return ri(w,S,E).pipe(si(l))},[a,e.ad,e.refresh,e.refreshRequest,t,f,r,h]);const p=m.useCallback(()=>{t.hideAd(e.adLocation)},[e.adLocation,t]),g=ii(w=>w.pipe(Be(t.notifyViewed)),[t.notifyViewed]),y=Me(e.adLocation),D=Me(e.enabled),W=Me(n);return bt(()=>{if(D.current&&W.current&&i)return t.notifyHidden(y.current)},[y,t,W,D,i]),{isHidden:r,ad:s,hide:p,adUnit:a,requestFallback:u,show:b,isShown:h,notifyViewed:g}},_s=m.memo(e=>{const{variant:t,containerProps:i}=e,{show:n,hide:r,ad:s,isHidden:l,adUnit:a,requestFallback:u,notifyViewed:f}=xs(),h=m.useMemo(()=>bs(t,a),[t,a]),b=m.useMemo(()=>ys(a),[a]),p=m.useRef(null);if(m.useEffect(()=>{let y;return p.current&&(y=new IntersectionObserver(D=>{for(const W of D)if(W.isIntersecting)return n()}),y.observe(p.current)),()=>{y&&y.disconnect()}},[n]),m.useEffect(()=>{s&&s.kind==="native"&&f(s)},[s,f]),l)return null;const g=()=>{if(s)switch(s.kind){case"native":return d.jsx(U,{width:"100%",children:d.jsx(Kt,{height:h,location:t,ad:s,onHide:r})});case"display":switch(s.provider){case"direct":return d.jsx(Ut,{onView:f,ad:s,width:b,height:h,adUnit:s.adUnit,onFallbackRequest:u,onHide:r})}}else switch(a.adKind){case"native":return d.jsx(U,{width:"100%",children:d.jsx(Kt,{height:h,location:t,ad:s,onHide:r})});case"display":switch(a.provider){case"direct":return d.jsx(Ut,{onView:f,width:b,height:h,adUnit:a,onFallbackRequest:u,onHide:r})}}};return d.jsx(U,{width:"100%",display:"flex",justifyContent:"center",overflow:"hidden",...i,ref:p,children:g()})});function bs(e,t){switch(t.adKind){case"native":switch(e){case"search":return{base:"64px",md:"74px"};case"screener":return{base:"64px",md:"47px"};case"pair":return{base:"58px",lg:"71px"}}case"display":returncalc({un}px)}}function ys(e){switch(e.adKind){case"native":return"100%";case"display":return{e.size.width}px`}}const ws=({background:e,width:t,scrollContainerRef:i,forceVisibility:n})=>{const r=we("white","black"),[s,l]=m.useState(n===!0),{scrollXProgress:a}=Er({container:i,axis:"x"}),u=pn(n?1:0),f=tr(a,[0,.9,1],[1,1,0]),{current:h}=i;return m.useEffect(()=>{(async()=>{if(h){const{clientWidth:p,scrollWidth:g}=h;g>p&&await Vi(u,1),l(!0);return}})()},[u,h]),d.jsx(U,{as:ai.div,pointerEvents:"none",position:"absolute",width:t??"50px",height:"100%",bgGradient:`linear(to-r, transparent, {e??r}),left:"0",top:"0",transform:"translateX(-100%)",style:{opacity:s?f:u},initial:{opacity:n?1:0}})},Vs=({boosts:e,prefix:t,...i})=>e===void 0||e.active===0?null:d.jsxs(rn,{fontWeight:"semibold",fontSize:"xs",color:"boost.accent.screener",gap:"1px",...i,children:[d.jsx(Q,{as:oi,boxSize:"12px"})," ",t??"",e.active]}),Zt={drag:1,wheel:1},Fs=({children:e,childRef:t,scrollSpeed:i,scrollShadeBackground:n,scrollShadeForceVisibility:r,trapMouseWheel:s,onOverflowChange:l})=>{const a=m.useRef(null),u=m.useRef(null),[f,h]=m.useState(),[b,p]=m.useState(!1),g=m.useRef(),[y]=ci("(hover: hover) and (pointer: fine)"),D=m.useCallback(c=>{if(t!=null&&t.current){const o=t.current.style.pointerEvents;c?o!=="none"&&(t.current.style.pointerEvents="none"):o==="none"&&(t.current.style.pointerEvents="auto")}},[t]),W=m.useCallback(c=>{if(!g.current)return;c.preventDefault();const o=document.getElementsByTagName("iframe");for(const j of Array.from(o))j.style.pointerEvents="none";document.body.style.userSelect="none";const C=u.current;if(!C)return;const v=c.pageX-C.offsetLeft,A=v-g.current.startX;if(Math.abs(A)<3)return;g.current.didSetIsDragging||(D(!0),g.current.didSetIsDragging=!0);const P=(v-g.current.startX)*(i??Zt.drag);C.scrollLeft=g.current.scrollLeft-P},[i,D]),w=m.useCallback(()=>{g.current&&(g.current.didSetIsDragging&&D(!1),g.current=void 0);const c=document.getElementsByTagName("iframe");for(const o of Array.from(c))o.style.pointerEvents="auto";document.body.style.userSelect="auto",document.removeEventListener("mousemove",W),document.removeEventListener("mouseup",w),document.removeEventListener("mouseleave",w)},[W,D]),E=m.useCallback(c=>{if(!t.current)return;const o=u.current;o&&(c.target instanceof Node&&!o.contains(c.target)||g.current||(g.current={startX:c.pageX-o.offsetLeft,scrollLeft:o.scrollLeft,didSetIsDragging:!1},document.addEventListener("mousemove",W),document.addEventListener("mouseup",w),document.addEventListener("mouseleave",w)))},[t,W,w]),S=m.useCallback(c=>{c.deltaX===0&&(s&&c.stopPropagation(),c.preventDefault(),!g.current&&u.current&&(u.current.scrollLeft+=c.deltaY*Zt.wheel))},[s]);return m.useEffect(()=>{if(!t.current)return;const c=u.current;if(c){if(c.scrollWidth===c.offsetWidth||!y){b&&(p(!1),l&&l(!1));return}b||(p(!0),l&&l(!0))}},[t,y,b,f,l]),m.useEffect(()=>{if(!y)return;const c=a.current;let o;return c&&(o=wn({strategy:"scroll"}),o.listenTo(c,C=>{h(C.getBoundingClientRect().width)})),()=>{c&&o&&o.uninstall(c)}},[y]),m.useEffect(()=>{const c=u.current;return c==null||c.addEventListener("wheel",S,{passive:!1}),()=>{c==null||c.removeEventListener("wheel",S)}},[S]),d.jsxs(U,{ref:a,display:"flex",width:"100%",overflowX:"hidden",children:[d.jsx(U,{ref:u,display:"flex",width:"100%",overflowX:"auto",cursor:b?"move":void 0,onMouseDown:y?E:void 0,sx:{"&::-webkit-scrollbar":{display:"none"},msOverflowStyle:"none",scrollbarWidth:"none"},children:e}),d.jsx(U,{position:"relative",children:d.jsx(ws,{background:n,scrollContainerRef:u,forceVisibility:r})})]})},Ns=e=>d.jsx(U,{display:"flex",alignItems:"center",justifyContent:"center",borderWidth:1,borderStyle:"dashed",borderColor:we("gray.300","blue.800"),color:we("gray.300","blue.800"),borderRadius:"3px",fontSize:"sm",userSelect:"none",...e,children:"?"}),Ks=e=>e.length>10?e.slice(0,5)+"..."+e.slice(-4):e;di.clone({DECIMAL_PLACES:50});const $s=(e,t)=>{const i=wt(e),n=wt(t);return i.multipliedBy(100).dividedBy(n)},Cs={strategy:"fixed",isLazy:!0,matchWidth:!0},rt={fontWeight:"normal",iconSpacing:"4px",_focus:{boxShadow:"none"}},Fe={boxSize:"20px"},ks=({watchlistPair:e,containerProps:t,buttonProps:i,menuProps:n})=>{const r=nt(tn),s=pi(),l=at(),u=nt(Ei).actions,[f,h]=m.useState(!1),{settings:b,setSettings:p}=fi(),g=m.useCallback(c=>p(c),[p]),y=Ct({value:ui(),onPending:()=>[],onFailure:()=>[],onSuccess:c=>c}),D=hi(),W=Ct({value:D,onPending:()=>[],onFailure:()=>[],onSuccess:c=>c}),w=[];y.forEach(c=>{c.pairs.find(o=>o.chainId===e.chainId&&o.pairId===e.pairId)&&w.push(c.id)});const E=sn(),S=async c=>{if(!e)return;const o=w.length===0||!w.includes(c)?"add":"remove";e.dexId&&r.track({event:"toggleWatchlist",data:{action:o,chainId:e.chainId,dexId:e.dexId,pairId:e.pairId,pair:{e.quoteTokenSymbol}}}),h(!0);const C=W.find(v=>v.id===c);if(o==="add")try{if(C)await u.addPairToWatchlist(c,e);else{const v=y.find(A=>A.id===c&&A.default);if(!v)throw new Error(The list '{c}' does not exist!`);await u.createWatchlist({visibility:"private",schemaVersion:"1.0.0",name:v.name,default:v.default,pairs:[e]})}}catch(v){s({status:"error",title:`Failed adding pair to watchlist: {Lt(v).message}})}else try{const v=C==null?void 0:C.pairs.find(A=>A.pairId===e.pairId&&A.chainId===e.chainId);if(!v){s({status:"error",title:"Failed removing pair from watchlist"});return}await u.removePairFromWatchlist(c,v)}catch(v){s({status:"error",title:Failed removing pair from watchlist: {Lt(v).message}`})}h(!1)};return d.jsxs(d.Fragment,{children:[d.jsx(U,{...t,children:d.jsxs(mi,{...Cs,...n,children:[d.jsxs(vi,{as:Te,isDisabled:!l||f,w:"100%",leftIcon:d.jsx(Q,{as:w.length===0?_e:kt,...Fe}),sx:{span:{flex:"initial"}},...rt,...i,children:[d.jsx(De,{children:"Watchlist"}),w.length>0&&d.jsx(Ni,{label:w.length})]}),d.jsxs(gi,{overflowX:"hidden",overflowY:"auto",maxH:{base:"max(20vh, 150px)",lg:"250px"},children:[d.jsx(xi,{children:y.map(c=>d.jsx(bi,{onClick:()=>S(c.id),closeOnSelect:!0,children:d.jsxs(G,{as:"span",display:"flex",alignItems:"center",fontWeight:w!=null&&w.includes(c.id)?"semibold":void 0,w:"100%",children:[d.jsx(Q,{as:w.length===0||!w.includes(c.id)?_e:kt,mr:2,...Fe}),d.jsx(G,{as:"span",children:yi(c.name,30)}),(w==null?void 0:w.includes(c.id))&&d.jsx(Q,{ml:"auto",as:wi})]})},c.id))}),d.jsx(Ci,{}),d.jsx(ki,{onOpenManager:E.onOpen,watchlistOrder:b,onWatchlistOrderChanged:g})]})]})}),E.isOpen&&d.jsx(Li,{onClose:E.onClose,watchlistOrder:b,onWatchlistOrderChanged:g})]})},Gs=({watchlistPair:e,menuContainerProps:t,buttonProps:i,menuProps:n})=>{const{isEmbed:r}=li(a=>a.embedSettings),s=sn(),l=at();return!l||!e?d.jsx(Te,{isDisabled:!l,leftIcon:d.jsx(Q,{as:_e,...Fe}),...rt,...i,children:"Watchlist"}):r?d.jsxs(d.Fragment,{children:[d.jsx(Te,{isDisabled:!l,onClick:s.onOpen,leftIcon:d.jsx(Q,{as:_e,...Fe}),...rt,...i,children:"Watchlist"}),s.isOpen&&d.jsx(Fi,{onClose:s.onClose})]}):d.jsx(ks,{watchlistPair:e,containerProps:t,buttonProps:i,menuProps:n})},kn=6e4,Ln=60*kn,Ls=24*Ln,Es=(e,t)=>{if(e>t)return;const i=t-e;if(!(i>Ls))return i>Ln?6e4:i>kn?5e3:200},Qe=e=>e instanceof Date?e.getTime():e,Ss=e=>{var s;const t=Si(Date.now(),(s=Di().data.current)==null?void 0:s.time),[i,n]=m.useState(Et(e.timestamp,{now:e.baseDate?Qe(e.baseDate):t,singleUnit:e.singleUnit})),r=Es(Qe(e.timestamp),Date.now());return m.useEffect(()=>{const l=r?setInterval(()=>{n(Et(e.timestamp,{now:e.baseDate?Qe(e.baseDate):Date.now(),singleUnit:e.singleUnit}))},r):-1;return()=>clearInterval(l)},[e.timestamp,e.singleUnit,e.baseDate,r]),{timeAgo:i??"0s"}},Zs=({timestamp:e,singleUnit:t,baseDate:i})=>{const{timeAgo:n}=Ss({timestamp:e,singleUnit:t,baseDate:i});return d.jsx("span",{children:n??"0s"})},Xs=({chainId:e,baseTokenAddress:t,containerProps:i})=>{const{colorMode:n}=e();return Ai({chainId:e,tokenAddress:t})?d.jsx(ji,{placement:"auto-start",label:"Recently advertised on DEX Screener!","aria-label":"Recently advertised on DEX Screener!",children:d.jsxs(rn,{color:("accent.darkGreen","accent.lightGreen",n),fontSize:"xs",fontWeight:"semibold",...i,children:[d.jsx(Q,{as:Ki,mr:"2px"}),"Ads"]})}):null},qs={telegram:Ti,twitter:Ii,discord:Ri,tiktok:Hi,facebook:Ui},Ds=B({schemaVersion:zi("10.0"),pairs:R(Wi)});B({latestProfiles:R(an.extend({boosts:Ge.optional()})),moonshot:B({trending:R(_),top:R(_),rising:R(_),new:R(_),finalized:R(_)})});B({latestProfiles:R(an.extend({boosts:Ge.optional()})),moonshot:B({trending:R(_),top:R(_),rising:R(_),new:R(_),finalized:R(_)}),boosts:B({top:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),tokenImageURL:H().optional()})),recent:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),amount:ee(),tokenImageURL:H().optional()}))})});B({latestProfiles:R(on.extend({boosts:Ge.optional()})),moonshot:B({trending:R(_),top:R(_),rising:R(_),new:R(_),finalized:R(_)}),boosts:B({top:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),tokenImageURL:H().optional()})),recent:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),amount:ee(),tokenImageURL:H().optional()}))})});const As=B({latestProfiles:R(on.extend({boosts:Ge.optional()})),moonit:B({finalized:R(_)}),boosts:B({top:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),tokenImageURL:H().optional()})),recent:R(B({chainId:H(),tokenAddress:H(),tokenSymbol:H(),totalAmount:ee(),amount:ee(),tokenImageURL:H().optional()}))})}),Ys=X({env:Bi(),httpClient:Oi},({env:e,httpClient:t})=>({searchPairs:({query:i,filters:n})=>{const r=new URL(e.DS_DEX_SCREENER_SEARCH_PUBLIC_ORIGIN);return r.pathname="/dex/search/v10/pairs",r.searchParams.append("q",i),n!=null&&n.moonshot&&r.searchParams.append("ms","true"),t.avro(r.toString(),Ds,{credentials:"include"}).pipe(Mi(s=>s.pairs))},spotlight:()=>{const i=new URL(e.DS_DEX_SCREENER_SEARCH_PUBLIC_ORIGIN);return i.pathname="/dex/search/spotlight/v8",t.avro(i.toString(),As,{credentials:"include"})}}));export{Os as A,Vs as D,Sr as G,Fs as H,ws as S,Zs as T,Ns as U,Gs as W,_s as a,Ms as b,Ve as c,Xs as d,qs as e,Ys as f,Bs as g,Ws as h,zs as i,Us as j,s as k,Ps as n,Ks as s,gs as u};
不要自作主张,要严格按以下2个js文件内容,逆向出解析器,
先确定成功读取以下网页源代码:
http://bjhgzxpt.dxjxh.com/log/pages_catch-all.FHtMkZo8.js
以下是observable-http-client-Cd33c-JH.js 源代码:
import {bg as b, bh as u, bi as c, I as l, bj as i, bk as f} from "../entries/pages_catch-all.FHtMkZo8.js";
function d(t) {
return b(function(o, n) {
var e = null, r = !1, a;
e = o.subscribe(u(n, void 0, void 0, function(s) {
a = c(t(s, d(t)(o))),
e ? (e.unsubscribe(),
e = null,
a.subscribe(n)) : r = !0
})),
r && (e.unsubscribe(),
e = null,
a.subscribe(n))
})
}
const g = l(i, t=>{
const o = n=>new f(e=>{
const r = new AbortController;
return n({
signal: r.signal
}).then(a=>{
e.next(a),
e.complete()
}
).catch(a=>{
(!(a instanceof Error) || a.name !== "AbortError") && e.error(a)
}
),
()=>r.abort()
}
);
return {
get: (n,e,r)=>o(({signal: a})=>t.get(n, e, {
...r,
signal: a
})),
post: (n,e,r)=>o(({signal: a})=>t.post(n, e, {
...r,
signal: a
})),
text: (n,e)=>o(({signal: r})=>t.text(n, {
...e,
signal: r
})),
head: (n,e)=>o(({signal: r})=>t.head(n, {
...e,
signal: r
})),
avro: (n,e,r)=>o(({signal: a})=>t.avro(n, e, {
...r,
signal: a
}))
}
}
);
export {d as c, g as o};
一定要先读取上传文件内容,再分析
一次性完成分析,输出完整内容
Hey there! What would you like to do next? I’m here to help—just let me know what you’re looking for.