@intenque/network-sdk 2.2.0-beta.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  * pulling the others in.
5
5
  */
6
6
  /** Semver of this package; SDK major = manifest schema major (§6.1). Bumped by the version script. */
7
- declare const SDK_VERSION = "2.2.0-beta.2";
7
+ declare const SDK_VERSION = "2.2.0";
8
8
  /** `schema` this SDK reads (§4.3). A greater major → failure → fallback. */
9
9
  declare const MANIFEST_SCHEMA_MAJOR = 2;
10
10
  /**
@@ -4,7 +4,7 @@
4
4
  * pulling the others in.
5
5
  */
6
6
  /** Semver of this package; SDK major = manifest schema major (§6.1). Bumped by the version script. */
7
- declare const SDK_VERSION = "2.2.0-beta.2";
7
+ declare const SDK_VERSION = "2.2.0";
8
8
  /** `schema` this SDK reads (§4.3). A greater major → failure → fallback. */
9
9
  declare const MANIFEST_SCHEMA_MAJOR = 2;
10
10
  /**
@@ -1,3 +1,3 @@
1
- 'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var We=react.createContext(null),Q=react.createContext(null),ee=react.createContext(null);function $n(e){return jsxRuntime.jsx(We.Provider,{value:e.config,children:e.children})}function V(e){let n=react.useContext(We);return e??n}var F="2.2.0-beta.2",Xe=2,ge="https://inr-network-public.nyc3.cdn.digitaloceanspaces.com/network/v1";var ye={medium:"network",campaign:"cross-promo"},ze=1e4,ne=2e3,ke=1e3,Ye=300,be=.5,qe=864e5,Ze=2e4,he=24,Qe=8,we=4096,en=10,nn=64,j={webdriver:1,noLanguages:2,zeroPlugins:4,headlessUa:8,noOuterWindow:16},tn=["sig_fail","rev_rollback","stale_cache","fallback_invalid","fallback_key_expired","sitekey_from_fallback","sdk_outdated"];function rn(e,n,t){return `${e.replace(/\/+$/,"")}/${t==="preview"?"preview/":""}sites/${n}/manifest.json`}var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function Fn(e){let n="";for(let t=0;t<e.length;t+=3){let r=e[t]<<16|(e[t+1]??0)<<8|(e[t+2]??0);n+=te[r>>18]+te[r>>12&63],t+1<e.length&&(n+=te[r>>6&63]),t+2<e.length&&(n+=te[r&63]);}return n}function re(e){try{return crypto.getRandomValues(new Uint8Array(e))}catch{return null}}function on(e=re){let n=e(16);if(!n||n.length<16)return null;n[6]=n[6]&15|64,n[8]=n[8]&63|128;let t=Array.from(n.subarray(0,16),r=>r.toString(16).padStart(2,"0")).join("");return `${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function sn(e,n,t,r=re){let i=g=>Number.isInteger(g)&&g>=0&&g<=65535,o=Math.floor(t/6e4);if(!i(e)||!i(n)||!(o>=0&&o<=4294967295))return null;let s=r(16);if(!s||s.length<16)return null;let a=new Uint8Array(24);return a[0]=e>>>8,a[1]=e&255,a[2]=n>>>8,a[3]=n&255,a[4]=o>>>24,a[5]=o>>>16&255,a[6]=o>>>8&255,a[7]=o&255,a.set(s.subarray(0,16),8),Fn(a)}function ve(e,n){let t=e.indexOf("#"),r=t<0?e:e.slice(0,t),i=t<0?"":e.slice(t),o=r.indexOf("?"),s=o<0?[]:r.slice(o+1).split("&").filter(a=>a!==""&&a.split("=")[0]!=="inr");return s.push(`${"inr"}=${n}`),`${o<0?r:r.slice(0,o)}?${s.join("&")}${i}`}var Se=[],jn=[{kid:"root-dev-a01e0d",jwk:{kty:"EC",crv:"P-256",x:"4dO5Ybuh3aMQMYvVUYd82CZ2y-tM2wM4SeunZvxMKHQ",y:"Tw6MyboNkggXo9jV7_Tng8tCGNMin7Dxuept8AY0Anc"}}];var Hn=["section","container","heading","accentWord","subheading","grid","card","imageBox","image","placeholder","body","name","meta","description","button","buttonIcon"],an=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function ln(e){return !!e&&/^(localhost|.+\.localhost|127\.0\.0\.1|\[::1\]|::1)$/i.test(e)}function Gn(e){try{return !!e&&ln(new URL(e).hostname)}catch{return false}}function xe(e,n,t){return e.channel!=="preview"&&(e.dev||ln(n))&&!Gn(t)}function Jn(e){let n=an(e.fallback)?e.fallback:null,t=n&&typeof n.site=="string"?n.site:"",r=typeof e.siteKey=="string"&&e.siteKey?e.siteKey:t,i=e.channel==="preview"?"preview":"production",o=n&&typeof n.cdnBase=="string"?n.cdnBase:void 0,s=n&&an(n.analytics)?n.analytics:null,a=s&&typeof s.endpoint=="string"?s.endpoint:null,g=e.dev===true,p=xe({dev:g,channel:i},void 0,a)?null:a,y=e.consentMode==="require-consent"?"require-consent":"session-default";return {siteKey:r,siteKeyFromFallback:!e.siteKey&&!!t,channel:i,manifestUrl:e.manifestUrl??rn(e.cdnBase??o??ge,r,i),fallback:e.fallback,roots:e.manifestRootKeys??Se,consent:e.consent,consentMode:y,theme:e.theme??{},unstyled:e.unstyled===true,verifySignature:e.verifySignature!==false,allowInsecureFallback:e.allowInsecureFallback===true,dev:g,onEvent:e.onEvent,capture:{siteKey:r,endpoint:p,consent:e.consent,consentMode:y}}}function cn(e,n,t){let r=o=>{try{t?.(o);}catch{}return o};try{if(location.protocol=="https:"&&/^http:/i.test(e))return r(!1)}catch{}try{if(navigator.sendBeacon(e,n))return r(!0)}catch{}let i=o=>fetch(e,{method:"POST",mode:"no-cors",keepalive:o,credentials:"omit",body:n});try{return i(!0).then(()=>r(!0),()=>{try{if(document.visibilityState=="visible")return void i(!1).then(()=>r(!0),()=>r(!1))}catch{}r(!1);}),!0}catch{return r(false)}}var mn={now:()=>Date.now(),random:re,roll:()=>Math.random(),send:cn,later:(e,n)=>{let t=setTimeout(e,n);return ()=>clearTimeout(t)},doc:()=>typeof document>"u"?void 0:document,win:()=>typeof window>"u"?void 0:window,nav:()=>typeof navigator>"u"?void 0:navigator,host:()=>typeof location>"u"?void 0:location.hostname,IO:()=>typeof IntersectionObserver=="function"?IntersectionObserver:void 0},un=e=>({el:e,inter:false,since:null,ms:0,seen:false,fv:null}),fn=e=>Math.min(qe,Math.max(0,Math.round(e))),dn=e=>typeof e=="number"&&e>0?Math.min(Ze,Math.round(e)):0,Wn=.005,Xn=new Set(tn);function zn(e,n){let t=0;try{e&&(e.webdriver===!0&&(t|=j.webdriver),(!e.languages||e.languages.length===0)&&(t|=j.noLanguages),e.plugins&&e.plugins.length===0&&(t|=j.zeroPlugins),/HeadlessChrome/.test(e.userAgent??"")&&(t|=j.headlessUa)),n&&n.outerWidth===0&&n.outerHeight===0&&(t|=j.noOuterWindow);}catch{}return t}function Yn(e){let n=[];for(let t of e){let r=t==="sig_revoked"?"sig_fail":t;Xn.has(r)&&!n.includes(r)&&n.push(r);}return n.slice(0,Qe)}var R=e=>{try{e();}catch{}};function pn(e,n){let t=on(n.random);if(!t)return null;let r=e.manifest.analytics,i=Math.round(n.now()),o=r.enabled&&r.impressions&&r.samplePermille>0&&n.roll()*1e3<r.samplePermille?1:0,s=zn(n.nav(),n.win()),a=Yn(e.flags),g=e.rr!==null&&(a.includes("rev_rollback")||a.includes("stale_cache"))?e.rr:null,p=()=>{try{return e.withhold?.()===!0}catch{return true}},y=new Map,b=un(null),c=[],k=[],h=false,w=0,f="",x="",d=null,v=null,S=false,I=false,L=false,de=true,Fe=(l,m,u)=>{if(m)l.since===null&&(l.since=u,l.fv===null&&(l.fv=fn(u-i)));else if(l.since!==null){let M=Math.max(0,u-l.since);l.ms+=M,M>=ke&&(l.seen=true),l.since=null;}},je=(l,m)=>{if(!l)return {seen:false,ms:0,fv:null};let u=l.since===null?0:Math.max(0,m-l.since);return {seen:l.seen||u>=ke,ms:fn(l.ms+u),fv:l.fv}},N=()=>{let l=n.now(),m=L&&de&&n.doc()?.visibilityState==="visible",u=false;for(let M of y.values()){let T=m&&M.inter&&M.el!==null;u=u||T,Fe(M,T,l);}Fe(b,m&&(b.inter||u),l),b.fv!==null&&!h&&!v&&!S&&(v=n.later(()=>R(()=>{v=null,S=!0,N(),K("timer");}),ze));},On=l=>{for(let m of l){let u=b.el===m.target?b:[...y.values()].find(M=>M.el===m.target);u&&(u.inter=m.isIntersecting&&m.intersectionRatio>=be-Wn);}N();},He=l=>({v:2,k:e.manifest.site,pv:t,r:e.manifest.revision,src:e.src,sdk:F,tok:r.token,sp:r.samplePermille,smp:o,t:Math.round(l),hd:p()?0:s,m:i}),Ge=(l,m,u=null)=>n.send(`${r.endpoint.replace(/\/+$/,"")}/${l}`,JSON.stringify(m),M=>R(()=>e.onSignal(l,M,u))),Bn=(l,m)=>JSON.stringify([l.seen,l.ms>=Ye,m.map(u=>[u.seen,u.fv!==null])]),K=l=>{if(!L||!d||w>=en||h&&l==="timer")return false;let m=n.now(),u=je(b,m);if(b.fv===null||u.ms<1)return false;let M=k.map((U,me)=>({id:U,pos:me,...je(y.get(U),m)})),T=JSON.stringify([u,M]);if(h&&T===f)return false;let z=Bn(u,M);if(h&&l==="click"&&z===x)return false;v?.(),v=null,h=true,w+=1,f=T,x=z;let O=n.win(),$={...He(m),items:M,ss:u.seen,sm:u.ms,vp:p()?{w:0,h:0}:{w:dn(O?.innerWidth),h:dn(O?.innerHeight)},why:l};if(a.length&&($.fl=a),g!==null&&($.rr=g),JSON.stringify($).length>we){let U=M.filter(me=>me.fv!==null);for($.items=U;JSON.stringify($).length>we&&U.length;)U.pop();}return Ge("impression",$,l),true},Je=()=>{let l=n.IO(),m=n.doc(),u=n.win();if(!I||L||!l||!m)return;L=true,d??=new l(O=>R(()=>On(O)),{threshold:be}),b.el&&d.observe(b.el);for(let O of y.values())O.el&&d.observe(O.el);let M=()=>R(()=>{N(),m.visibilityState==="hidden"&&K("hidden");}),T=()=>R(()=>{N(),K("pagehide"),de=!1,N();}),z=()=>R(()=>{de=!0,N();});m.addEventListener("visibilitychange",M),u?.addEventListener("pagehide",T),u?.addEventListener("pageshow",z),c.push(()=>m.removeEventListener("visibilitychange",M),()=>u?.removeEventListener("pagehide",T),()=>u?.removeEventListener("pageshow",z)),N();};return {pv:t,m:i,smp:o,hd:s,get sent(){return h},setOrder(l){k=l.slice(0,he);},pos(l){let m=k.indexOf(l.id);return m>=0?m:Math.min(Math.max(0,l.position),he-1)},observe(l,m){R(()=>{let u=y.get(l);u&&u.el===m||(u?.el&&d?.unobserve(u.el),u?(u.el=m,u.inter=!1,N()):m&&y.set(l,un(m)),m&&d&&L&&d.observe(m));});},start(l){R(()=>{l&&(b.el=l);let m=n.doc();if(!(I||o===0||!m))if(I=!0,m.prerendering){let u=()=>R(Je);m.addEventListener("prerenderingchange",u,{once:!0}),c.push(()=>m.removeEventListener("prerenderingchange",u));}else Je();});},stop(){R(()=>{if(I){N(),K("hidden"),I=!1,L=!1,v?.(),v=null,d?.disconnect();for(let l of c.splice(0))l();N();}});},common:He,post:Ge,flushForClick(){return R(()=>{N(),K("click");}),h},flush:K}}var qn=5*6e4;function gn(e,n,t=mn){let r=c=>{try{e()?.onEvent?.(c);}catch{}},i=n.manifest,o=n.source,s=null;try{let c=e(),k=c!==null&&xe(c,t.host?.(),i?.analytics.endpoint??null);i&&!k&&i.analytics.enabled&&(o==="live"||o==="fallback")&&(s=pn({manifest:i,src:o,flags:n.flags,rr:n.rr,onSignal:(h,w,f)=>r({type:"signal",payload:f?{kind:h,sent:w,why:f}:{kind:h,sent:w}}),withhold:()=>{let h=e();return h?.consentMode==="require-consent"&&!(h.consent?.get()==="granted"&&t.nav()?.globalPrivacyControl!==!0)}},t));}catch{s=null;}let a=s!==null&&i!==null&&i.analytics.clicks,g=new Map,p=[],y=c=>i?sn(i.siteIndex,c.idx,t.now(),t.random):null,b=c=>{try{c();}catch{}};return {page:s,rendered(c){r({type:"impression",payload:{ids:c,revision:i?.revision??null}});},pointerDown(c,k){let h=null;return b(()=>{if(!a)return;let w=y(c);w&&(g.set(c.id,{id:w,at:t.now()}),c.instrumentation!=="none"&&(h=ve(k,w)));}),h},click(c,k,h,w){let f=k;return b(()=>{if(!a||!s)return;let x=g.get(c.id);g.delete(c.id);let d=x&&t.now()-x.at<=qn?x.id:y(c);if(!d||(c.instrumentation!=="none"&&(f=ve(k,d)),p.includes(d)))return;p.push(d),p.length>nn&&p.shift();let v=s.flushForClick();s.post("click",{...s.common(t.now()),c:d,b:c.id,pos:s.pos(c),btn:w,via:h,ip:v});}),r({type:"click",payload:{id:c.id,href:k,via:h}}),f},observe:(c,k)=>b(()=>s?.observe(c,k)),setOrder:c=>b(()=>s?.setOrder(c)),start:c=>b(()=>s?.start(c)),stop:()=>b(()=>s?.stop())}}var Zn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",yn={};for(let e=0;e<64;e++)yn[Zn[e]]=e;function Qn(e){return /^[A-Za-z0-9_-]*$/.test(e)}function Ee(e,n){if(typeof e!="string"||!Qn(e)||e.length!==Math.ceil(n*4/3))return null;let t=new Uint8Array(n),r=0,i=0,o=0;for(let s=0;s<e.length;s++)if(r=(r<<6|yn[e[s]])&65535,i+=6,i>=8){if(i-=8,o>=n)return null;t[o++]=r>>i&255;}return o!==n||i>0&&(r&(1<<i)-1)!==0?null:t}function Me(e){let n="";for(let t of e)n+=t.toString(16).padStart(2,"0");return n}var ie=/^[a-z0-9]+(-[a-z0-9]+)*$/,_e=48,Ne=24,Y=/^[a-z0-9][a-z0-9-]{1,63}$/,Re=/^[A-Za-z0-9_-]{85}[AQgw]$/,Ce=/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/,se=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/,et=/^[a-z0-9-]+\.\d+\.\d{8}\.[0-9a-f]{12}$/,kn=/^[a-z0-9.-]+$/,nt=/^([\w.~!$&'()*+,;=:@/?-]|%[\da-f]{2})*(#([\w.~!$&'()*+,;=:@/?-]|%[\da-f]{2})*)?$/i,Ae=class extends Error{},E=()=>{throw new Ae};function P(e,n){(e===null||typeof e!="object"||Array.isArray(e))&&E();let t=e;for(let r of Object.keys(t))n.includes(r)||E();for(let r of n)r in t||E();return t}function tt(e){let n=0;for(let t of e)n++;return n}function A(e,n,t){typeof e!="string"&&E();let r=tt(e);return (r<n||r>t)&&E(),e}function _(e,n,t=1024){let r=A(e,0,t);return n.test(r)||E(),r}function q(e,n,t){return (typeof e!="number"||!Number.isInteger(e)||e<n||e>t)&&E(),e}function H(e){return typeof e!="boolean"&&E(),e}function oe(e,n){return e===null?null:n(e)}function G(e,n){return e!==n&&E(),n}function bn(e,n){return (typeof e!="string"||!n.includes(e))&&E(),e}function hn(e){let n;try{n=new URL(e);}catch{return "must be an absolute URL"}let t=n.hostname==="localhost"||n.hostname==="127.0.0.1";return n.protocol!=="https:"&&!(n.protocol==="http:"&&t)?"must be https":n.username||n.password||n.search||n.hash?"no userinfo, query or fragment":null}function ae(e){let n=A(e,1,1024);return hn(n)!==null&&E(),n}function wn(e){if(e.length>200)return "must be at most 200 characters";let n;try{n=new URL(e);}catch{return "must be an absolute URL"}if(n.protocol!=="https:")return "must use https";if(n.username||n.password)return "must not contain credentials";if(n.port!==""&&n.port!=="443")return "port must be 443";let t=n.hostname;return t.startsWith("[")||/^\d+(\.\d+){3}$/.test(t)?"IP addresses are not allowed":!kn.test(t)||!t.includes(".")||t.startsWith(".")||t.endsWith(".")?"invalid hostname":n.toString()!==e||!nt.test(e.slice(n.origin.length))?"must be normalised":null}function rt(e){let n=A(e,1,200);return wn(n)!==null&&E(),n}function le(e){let n=P(e,["kty","crv","x","y"]);return {kty:G(n.kty,"EC"),crv:G(n.crv,"P-256"),x:_(n.x,Ce),y:_(n.y,Ce)}}function ot(e){let n=P(e,["src","src2x","alt","width","height"]);return {src:ae(n.src),src2x:ae(n.src2x),alt:A(n.alt,1,120),width:G(n.width,640),height:G(n.height,360)}}var it=["id","idx","name","description","url","domain","image","category","location","region","tags","pinned","position","instrumentation"];function st(e){let n=P(e,it),t=A(n.name,2,60);/^[=+@]/.test(t)&&E();let r=_(n.domain,kn,253);(r.length<1||r.startsWith("www."))&&E();let i=n.tags;return (!Array.isArray(i)||i.length>10)&&E(),{id:_(n.id,ie,_e),idx:q(n.idx,1,65535),name:t,description:A(n.description,1,140),url:rt(n.url),domain:r,image:ot(n.image),category:oe(n.category,o=>A(o,0,40)),location:oe(n.location,o=>A(o,0,60)),region:oe(n.region,o=>A(o,0,40)),tags:i.map(o=>A(o,0,24)),pinned:H(n.pinned),position:q(n.position,0,Ne-1),instrumentation:bn(n.instrumentation,["none","landings","conversions"])}}function at(e){let n=P(e,["kid","jwk","notBefore","notAfter","rootKid","rootSig","revokedKids"]),t=n.revokedKids;return Array.isArray(t)||E(),{kid:_(n.kid,Y),jwk:le(n.jwk),notBefore:_(n.notBefore,se),notAfter:_(n.notAfter,se),rootKid:_(n.rootKid,Y),rootSig:_(n.rootSig,Re),revokedKids:t.map(r=>_(r,Y))}}var lt=["schema","revision","publishedAt","site","siteIndex","channel","cdnBase","minSdkVersion","analytics","links","section","businesses","signer","sig"];function J(e){try{let n=P(e,lt),t=P(n.analytics,["enabled","endpoint","impressions","clicks","landings","samplePermille","token"]),r=P(n.links,["utmMedium","utmCampaign","utmSource","refParam","nofollow"]),i=P(n.section,["title","subtitle"]),o=P(n.sig,["alg","kid","value"]),s=n.businesses;return (!Array.isArray(s)||s.length>Ne)&&E(),{schema:G(n.schema,2),revision:q(n.revision,1,Number.MAX_SAFE_INTEGER),publishedAt:_(n.publishedAt,se),site:_(n.site,ie,_e),siteIndex:q(n.siteIndex,1,65535),channel:bn(n.channel,["production","preview"]),cdnBase:ae(n.cdnBase),minSdkVersion:_(n.minSdkVersion,/^\d+\.\d+\.\d+$/),analytics:{enabled:H(t.enabled),endpoint:ae(t.endpoint),impressions:H(t.impressions),clicks:H(t.clicks),landings:H(t.landings),samplePermille:q(t.samplePermille,0,1e3),token:_(t.token,et)},links:{utmMedium:A(r.utmMedium,1,40),utmCampaign:A(r.utmCampaign,1,40),utmSource:_(r.utmSource,ie,_e),refParam:_(r.refParam,/^[a-z]{1,8}$/),nofollow:H(r.nofollow)},section:{title:A(i.title,1,60),subtitle:oe(i.subtitle,a=>A(a,0,120))},businesses:s.map(st),signer:at(n.signer),sig:{alg:G(o.alg,"ES256"),kid:_(o.kid,Y),value:_(o.value,Re)}}}catch{return null}}var Sn=BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),ct=Sn>>1n;function Le(){let e=globalThis.crypto;return e&&e.subtle?e.subtle:null}function ut(e){let n=Ee(e,64);if(!n)return "encoding";let t=BigInt(`0x${Me(n.subarray(0,32))}`),r=BigInt(`0x${Me(n.subarray(32))}`);return t===0n||t>=Sn||r===0n||r>ct?"range":null}var vn=new WeakMap;async function ft(e,n){let t=vn.get(e);if(t)return t;let{kty:r,crv:i,x:o,y:s}=e,a=n.importKey("jwk",{...le({kty:r,crv:i,x:o,y:s}),ext:true},{name:"ECDSA",namedCurve:"P-256"},false,["verify"]);return vn.set(e,a),a}async function Ie(e,n,t){try{let r=Le();if(!r||ut(t)!==null)return !1;let i=Ee(t,64),o=await ft(e,r);return await r.verify({name:"ECDSA",hash:"SHA-256"},o,i,new TextEncoder().encode(n))}catch{return false}}var B=class extends Error{constructor(t,r){super(`${t} at ${r||"$"}`);this.path=r;this.name="CanonicalJsonError";}path};function W(e){return Pe(e,"$")}function Pe(e,n){if(e===null)return "null";switch(typeof e){case "boolean":return e?"true":"false";case "string":return JSON.stringify(e);case "number":if(!Number.isSafeInteger(e))throw new B(`non-integer or unsafe number ${String(e)}`,n);return String(e);case "object":{if(Array.isArray(e))return `[${e.map((i,o)=>Pe(i,`${n}[${o}]`)).join(",")}]`;let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new B("unsupported object type",n);let r=e;return `{${Object.keys(r).sort().map(i=>{let o=r[i];if(o===void 0)throw new B(`undefined value for key "${i}" (use null)`,n);return `${JSON.stringify(i)}:${Pe(o,`${n}.${i}`)}`}).join(",")}}`}default:throw new B(`unsupported type ${typeof e}`,n)}}function _n(e){return W({kid:e.kid,jwk:{kty:e.jwk.kty,crv:e.jwk.crv,x:e.jwk.x,y:e.jwk.y},notBefore:e.notBefore,notAfter:e.notAfter,rootKid:e.rootKid})}function Cn(e){let{sig:n,...t}=e;return W(t)}var En=e=>Array.isArray(e)&&e.every(n=>typeof n=="string");function Mn(e){let n=Date.parse(e);return new Date(n).toISOString().startsWith(e.slice(0,19))||E(),n}async function Z(e,n){try{if(!n||typeof n!="object")return {ok:!1,reason:"malformed"};let t=n.now instanceof Date?n.now.getTime():NaN;if(!Number.isFinite(t))return {ok:!1,reason:"malformed"};if(n.source!=="live"&&n.source!=="fallback")return {ok:!1,reason:"malformed"};if(!n.expect||typeof n.expect.site!="string"||typeof n.expect.channel!="string")return {ok:!1,reason:"malformed"};if(n.source==="live"&&!En(n.revokedKids))return {ok:!1,reason:"malformed"};if(n.revokedKids!==void 0&&!En(n.revokedKids))return {ok:!1,reason:"malformed"};let r=J(e);if(!r)return {ok:!1,reason:"malformed"};if(r.site!==n.expect.site||r.channel!==n.expect.channel||r.links.utmSource!==n.expect.site)return {ok:!1,reason:"identity"};let i=r.signer,s=(Array.isArray(n.roots)?n.roots:[]).find(p=>p&&p.kid===i.rootKid);if(!s)return {ok:!1,reason:"root_unknown"};if(!await Ie(s.jwk,_n(i),i.rootSig))return {ok:!1,reason:"root_sig"};let a=Mn(i.notBefore),g=Mn(i.notAfter);return g<a?{ok:!1,reason:"malformed"}:n.source==="live"&&(t<a||t>g+6048e5)?{ok:!1,reason:"window"}:r.sig.kid!==i.kid?{ok:!1,reason:"kid_mismatch"}:await Ie(i.jwk,Cn(r),r.sig.value)?(n.revokedKids??[]).includes(r.sig.kid)||i.revokedKids.includes(r.sig.kid)?{ok:!1,reason:"revoked"}:{ok:!0,manifest:r}:{ok:!1,reason:"sig"}}catch{return {ok:false,reason:"malformed"}}}async function ce(e,n){try{let t;if(typeof e=="string"){if(e.length>24576||new TextEncoder().encode(e).length>24576)return {ok:!1,reason:"malformed"};t=e;}else {if(!(e instanceof Uint8Array)||e.length>24576)return {ok:!1,reason:"malformed"};t=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(e);}let r=JSON.parse(t);return W(r)!==t?{ok:!1,reason:"malformed"}:await Z(r,n)}catch{return {ok:false,reason:"malformed"}}}var De={businesses:[],loading:true,source:"empty",revision:null,manifest:null,flags:[],rr:null};function mt(e){if(e===null||typeof e!="object")return false;let n=e;return n.schema===2&&n.revision===0&&Array.isArray(n.businesses)&&n.businesses.length===0&&!("sig"in n)}function pt(e,n){let t=e.split("-")[0].split(".").map(Number),r=n.split("-")[0].split(".").map(Number);for(let i=0;i<3;i++){let o=t[i]??0,s=r[i]??0;if(o!==s)return o>s}return false}function Te(e,n){let t=J(e);return t?t.site!==n.site||t.channel!==n.channel||t.links.utmSource!==n.site?{ok:false,reason:"identity"}:{ok:true,manifest:t}:{ok:false,reason:"malformed"}}async function An(e,n,t){let r=new AbortController,i=setTimeout(()=>r.abort(),4e3);try{let o=await e(n,{mode:"cors",credentials:"omit",cache:t,signal:r.signal});return o.ok?new Uint8Array(await o.arrayBuffer()):null}catch{return null}finally{clearTimeout(i);}}function Nn(e,n){return e.revision<n.revision||Date.parse(e.publishedAt)<Date.parse(n.publishedAt)}var gt=e=>e==="revoked"?"sig_revoked":"sig_fail";async function Oe(e,n={}){let t=[],r=null,i=n.warn??(a=>console.warn(`[network-sdk] ${a}`)),o=a=>{e.dev&&i(a);};try{let a=n.fetch??(typeof fetch=="function"?fetch.bind(globalThis):void 0),g=(n.now??(()=>new Date))(),p={site:e.siteKey,channel:e.channel},y=e.roots;if(e.siteKeyFromFallback&&t.push("sitekey_from_fallback"),!e.siteKey)return o("no siteKey and no fallback.site: rendering nothing (\xA74.6)"),s("empty",null,t);let b="full",c=Le()===null;if(!e.verifySignature)b="unverified",o("verifySignature is false: signatures are NOT checked");else if(c)if(t.push("insecure_context"),e.dev)b="unverified",i("crypto.subtle is unavailable (insecure context): signature verification skipped in dev (\xA74.6)");else if(e.allowInsecureFallback){let S=Te(e.fallback,p);return S.ok?s("fallback",S.manifest,t):s("empty",null,t)}else return s("empty",null,t);let k=(S,I,L)=>b==="full"?Z(S,{roots:y,now:g,expect:p,source:I,revokedKids:L}):Promise.resolve(Te(S,p)),h=(S,I)=>b==="full"?ce(S,{roots:y,now:g,expect:p,source:"live",revokedKids:I}):(()=>{try{let L=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(S);return Promise.resolve(Te(JSON.parse(L),p))}catch{return Promise.resolve({ok:!1,reason:"malformed"})}})(),w=null;if(e.fallback!==void 0&&!mt(e.fallback)){let S=await k(e.fallback,"fallback",[]);S.ok?w=S.manifest:(t.push("fallback_invalid"),o(`bundled fallback rejected (${S.reason}): floor ignored, fallback will not render (\xA74.6)`));}let f=w?w.signer.revokedKids:[],x=()=>w?(Date.parse(w.signer.notAfter)<g.getTime()&&t.push("fallback_key_expired"),s("fallback",w,t)):s("empty",null,t);if(!a)return t.push("fetch_fail"),x();let d=await An(a,e.manifestUrl,"default");if(d===null)return t.push("fetch_fail"),o(`manifest fetch failed (${e.manifestUrl}): rendering the fallback`),x();let v=await h(d,f);if(!v.ok)return t.push(gt(v.reason)),o(`live manifest rejected (${v.reason}): rendering the fallback`),x();if(w&&Nn(v.manifest,w)){d=await An(a,e.manifestUrl,"reload");let S=d===null?null:await h(d,f);if(S&&S.ok&&!Nn(S.manifest,w))t.push("stale_cache"),r=v.manifest.revision,v=S;else return t.push("rev_rollback"),r=S&&S.ok?S.manifest.revision:v.manifest.revision,o(`live manifest revision ${v.manifest.revision} is below the bundled floor ${w.revision}: rendering the fallback (rev_rollback)`),x()}return pt(v.manifest.minSdkVersion,F)&&(t.push("sdk_outdated"),o(`manifest requires SDK \u2265 ${v.manifest.minSdkVersion}, this is ${F}`)),s("live",v.manifest,t)}catch{return s("empty",null,t)}function s(a,g,p){let y=(n.hostname??yt()).replace(/^www\./,""),c={businesses:g?g.businesses.filter(k=>k.domain!==y&&k.id!==e.siteKey&&k.url.startsWith("https:")):[],loading:false,source:g?a:"empty",revision:g?g.revision:null,manifest:g,flags:p,rr:r};try{e.onEvent?.({type:"directory",payload:{source:c.source,revision:c.revision,flags:[...p]}});}catch{}return c}}function yt(){try{return typeof location<"u"?location.hostname.toLowerCase():""}catch{return ""}}var ht=e=>{if(e===null||typeof e!="object")return [typeof e];let n=e,t=n.sig&&typeof n.sig=="object"?n.sig:{};return [n.site,n.revision,n.publishedAt,t.value]};function wt(e){if(!e)return null;try{return JSON.stringify([e.siteKey,e.siteKeyFromFallback,e.channel,e.manifestUrl,e.verifySignature,e.allowInsecureFallback,e.dev,e.roots.map(n=>[n.kid,n.jwk.x,n.jwk.y]),ht(e.fallback)])}catch{return `${e.siteKey}|${e.manifestUrl}`}}function vt(e,n){return !e.loading&&e.source===n.source&&e.revision===n.revision&&e.rr===n.rr&&e.manifest?.sig.value===n.manifest?.sig.value&&e.businesses.length===n.businesses.length&&e.flags.join()===n.flags.join()}function Be(e){let n=V(e),t=react.useRef(n);react.useEffect(()=>{t.current=n;});let r=wt(n),[i,o]=react.useState(De);return react.useEffect(()=>{let s=t.current;if(!s){o(p=>!p.loading&&!p.manifest?p:{...De,loading:false});return}let a=true,g={...s,onEvent:p=>t.current?.onEvent?.(p)};return Oe(g).then(p=>{a&&o(y=>vt(y,p)?y:p);}),()=>{a=false;}},[r]),i}function Tn(e,n,t){let r=new URLSearchParams({utm_source:n.utmSource,utm_medium:n.utmMedium,utm_campaign:n.utmCampaign,utm_content:t}).toString(),i=e.indexOf("#"),o=i>=0?e.slice(0,i):e,s=i>=0?e.slice(i):"";return `${o}${o.includes("?")?"&":"?"}${r}${s}`}function ue(e,n){try{let t=e.currentTarget;n&&t&&typeof t=="object"&&typeof t.href=="string"&&t.href!==n&&(t.href=n);}catch{}}var In=e=>e==="click"?0:e==="auxclick"?1:2,Et=["pointerDown","click","observe"];function Pn(e){return typeof e=="object"&&e!==null&&Et.every(n=>typeof e[n]=="function")}var D=e=>(...n)=>{try{e(...n);}catch{}};function Ke(e,n){let t=react.useContext(Q),r=V(),i=react.useContext(ee),o=n===null?null:Pn(n)?n:Pn(i)?i:null,s=typeof n=="function"?n:null,a=e.id,g=react.useCallback(p=>{try{o?.observe(a,p);}catch{}},[o,a]);return react.useMemo(()=>{let p=t?.links??{utmSource:r?.siteKey??"",utmMedium:ye.medium,utmCampaign:ye.campaign,nofollow:false},y=Tn(e.url,p,e.id),b=null,c=()=>{b?.(),b=null;},k=(f,x)=>{c();let d={currentTarget:f.currentTarget};if(x<=0)return ue(d,y);let v=setTimeout(()=>{b=null,ue(d,y);},x);b=()=>clearTimeout(v);},h=(f,x)=>{o&&(ue(f,o.click(e,y,x,In(x))),k(f,ne));},w=(f="click",x)=>{let d=y;try{o&&(d=o.click(e,y,f,x??In(f)));}catch{d=y;}if(s)try{let v=s(e,d,f);if(typeof v=="string"&&v)return v}catch{}return d};return {href:y,linkProps:{href:y,target:"_blank",rel:`noopener noreferrer${p.nofollow?" nofollow":""}`,"aria-label":`Visit ${e.name} website (opens in a new tab)`,onPointerDown:D(f=>{c(),o&&ue(f,o.pointerDown(e,y));}),onPointerUp:D(f=>k(f,ne)),onPointerCancel:D(f=>k(f,ne)),onBlur:D(f=>k(f,0)),onClick:D(f=>h(f,"click")),onAuxClick:D(f=>{f.button===1&&h(f,"auxclick");}),onContextMenu:D(f=>h(f,"contextmenu")),onDragStart:D(f=>h(f,"drag"))},trackClick:w,observe:g}},[e,t,r,o,s,g])}var Ve="discover-businesses-heading",Dn=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`);function _t(e,n,t){let r=n[e];return t?r||void 0:r?`inr-${Dn(e)} ${r}`:`inr-${Dn(e)}`}function Ct(e){let n=e.trimEnd().lastIndexOf(" ");return n<0?["",e]:[e.slice(0,n+1),e.slice(n+1)]}function At(e){let n=V(e.config),t=e.onEvent??n?.onEvent,r=react.useMemo(()=>n?t===n.onEvent?n:{...n,onEvent:t}:null,[n,t]),i=react.useRef(r);react.useEffect(()=>{i.current=r;});let o=Be(r),s=react.useMemo(()=>gn(()=>i.current,o),[o]),a=react.useMemo(()=>{let d=e.maxItems&&e.maxItems>0?e.maxItems:o.businesses.length;return o.businesses.slice(0,d)},[o.businesses,e.maxItems]),g=react.useRef(false);react.useEffect(()=>{a.length>0&&!g.current&&(g.current=true,s.rendered(a.map(d=>d.id)));},[a,s]),react.useEffect(()=>{s.setOrder(a.map(d=>d.id));},[a,s]);let p=!!r&&!o.loading&&a.length>0&&!!o.manifest,y=react.useRef(null);if(react.useEffect(()=>{if(p)return s.start(y.current),()=>s.stop()},[s,p]),!r||o.loading||a.length===0||!o.manifest)return null;let b=e.theme?{...r.theme,...e.theme}:r.theme,c=e.unstyled??r.unstyled,k=d=>_t(d,b,c),h=e.title??o.manifest.section.title,w=e.subtitle===void 0?o.manifest.section.subtitle:e.subtitle,[f,x]=Ct(h);return jsxRuntime.jsx(Q.Provider,{value:o.manifest,children:jsxRuntime.jsx(ee.Provider,{value:s,children:jsxRuntime.jsx("section",{ref:y,className:k("section"),"aria-labelledby":Ve,"data-inr-rev":o.revision??void 0,"data-inr-source":o.source,children:jsxRuntime.jsxs("div",{className:k("container"),children:[jsxRuntime.jsxs("h2",{id:Ve,className:k("heading"),children:[f,jsxRuntime.jsx("span",{className:k("accentWord"),children:x})]}),w?jsxRuntime.jsx("p",{className:k("subheading"),children:w}):null,jsxRuntime.jsx("div",{className:k("grid"),children:a.map(d=>jsxRuntime.jsx(Nt,{business:d,cls:k,renderCard:e.renderCard},d.id))})]})})})})}function Nt(e){let{business:n,cls:t}=e,r=Ke(n),[i,o]=react.useState(false);if(e.renderCard)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.renderCard(n,r)});let s=[n.category,n.location].filter(Boolean).join(" \xB7 ");return jsxRuntime.jsxs("article",{ref:r.observe,className:t("card"),"data-inr-id":n.id,children:[jsxRuntime.jsx("div",{className:t("imageBox"),children:i?jsxRuntime.jsx("div",{className:t("placeholder"),role:"img","aria-label":n.image.alt,children:n.name.trim().charAt(0).toUpperCase()}):jsxRuntime.jsx("img",{className:t("image"),src:n.image.src,srcSet:`${n.image.src} 1x, ${n.image.src2x} 2x`,alt:n.image.alt,width:n.image.width,height:n.image.height,loading:"lazy",decoding:"async",onError:()=>o(true)})}),jsxRuntime.jsxs("div",{className:t("body"),children:[jsxRuntime.jsx("h3",{className:t("name"),children:n.name}),s?jsxRuntime.jsx("p",{className:t("meta"),children:s}):null,jsxRuntime.jsx("p",{className:t("description"),children:n.description}),jsxRuntime.jsxs("a",{...r.linkProps,className:t("button"),children:["Visit Website",jsxRuntime.jsxs("svg",{className:t("buttonIcon"),"aria-hidden":"true",focusable:"false",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})]})]})]})}
2
- exports.DEFAULT_CDN_BASE=ge;exports.DEV_ROOT_PUBLIC_KEYS=jn;exports.DiscoverBusinesses=At;exports.HEADING_ID=Ve;exports.MANIFEST_SCHEMA_MAJOR=Xe;exports.NetworkProvider=$n;exports.SDK_VERSION=F;exports.THEME_SLOTS=Hn;exports.buildHref=Tn;exports.canonicalJson=W;exports.defineNetworkConfig=Jn;exports.loadDirectory=Oe;exports.parseManifest=J;exports.rootPublicKeys=Se;exports.useNetworkDirectory=Be;exports.useNetworkLink=Ke;exports.verifyManifest=Z;exports.verifyManifestBytes=ce;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var Xe=react.createContext(null),ee=react.createContext(null),ne=react.createContext(null);function Vn(e){return jsxRuntime.jsx(Xe.Provider,{value:e.config,children:e.children})}function V(e){let n=react.useContext(Xe);return e??n}var F="2.2.0",ze=2,ge="https://inr-network-public.nyc3.cdn.digitaloceanspaces.com/network/v1";var ye={medium:"network",campaign:"cross-promo"},Ye=1e4,te=2e3,ke=1e3,qe=300,be=.5,Ze=864e5,Qe=2e4,he=24,en=8,we=4096,nn=10,tn=64,j={webdriver:1,noLanguages:2,zeroPlugins:4,headlessUa:8,noOuterWindow:16},rn=["sig_fail","rev_rollback","stale_cache","fallback_invalid","fallback_key_expired","sitekey_from_fallback","sdk_outdated"];function on(e,n,t){return `${e.replace(/\/+$/,"")}/${t==="preview"?"preview/":""}sites/${n}/manifest.json`}var ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",sn={};for(let e=0;e<64;e++)sn[ve[e]]=e;function jn(e){return /^[A-Za-z0-9_-]*$/.test(e)}function Se(e,n){if(typeof e!="string"||!jn(e)||e.length!==Math.ceil(n*4/3))return null;let t=new Uint8Array(n),r=0,i=0,o=0;for(let s=0;s<e.length;s++)if(r=(r<<6|sn[e[s]])&65535,i+=6,i>=8){if(i-=8,o>=n)return null;t[o++]=r>>i&255;}return o!==n||i>0&&(r&(1<<i)-1)!==0?null:t}function an(e){let n="",t=0,r=0;for(let i of e)for(t=(t<<8|i)&65535,r+=8;r>=6;)r-=6,n+=ve[t>>r&63];return r>0&&(n+=ve[t<<6-r&63]),n}function Y(e){let n="";for(let t of e)n+=t.toString(16).padStart(2,"0");return n}var Gn=an;function re(e){try{return crypto.getRandomValues(new Uint8Array(e))}catch{return null}}function ln(e=re){let n=e(16);return !n||n.length<16?null:(n[6]=n[6]&15|64,n[8]=n[8]&63|128,Y(n.subarray(0,16)).replace(/^(.{8})(.{4})(.{4})(.{4})/,"$1-$2-$3-$4-"))}function cn(e,n,t,r=re){let i=u=>Number.isInteger(u)&&u>=0&&u<=65535,o=Math.floor(t/6e4);if(!i(e)||!i(n)||!(o>=0&&o<=4294967295))return null;let s=r(16);if(!s||s.length<16)return null;let l=new Uint8Array(24),g=new DataView(l.buffer);return g.setUint16(0,e),g.setUint16(2,n),g.setUint32(4,o),l.set(s.subarray(0,16),8),Gn(l)}function xe(e){let n=e.indexOf("#");return n<0?[e,""]:[e.slice(0,n),e.slice(n)]}function Ee(e,n){let[t,r]=xe(e),i=t.indexOf("?"),o=i<0?[]:t.slice(i+1).split("&").filter(s=>s!==""&&s.split("=")[0]!=="inr");return o.push(`${"inr"}=${n}`),`${i<0?t:t.slice(0,i)}?${o.join("&")}${r}`}var Me=[{kid:"root-2026",jwk:{kty:"EC",crv:"P-256",x:"9Xly8AJB8fMVSBjA1TK7HnAxxYRXwwlPU54zl_AkUcs",y:"Tehja7BG1JLpIHfIMJjSRWPpZKXCvRIXS-EtAv1Mc68"}}],Jn=[{kid:"root-dev-a01e0d",jwk:{kty:"EC",crv:"P-256",x:"4dO5Ybuh3aMQMYvVUYd82CZ2y-tM2wM4SeunZvxMKHQ",y:"Tw6MyboNkggXo9jV7_Tng8tCGNMin7Dxuept8AY0Anc"}}];var Wn=["section","container","heading","accentWord","subheading","grid","card","imageBox","image","placeholder","body","name","meta","description","button","buttonIcon"],un=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function fn(e){return !!e&&/^(localhost|.+\.localhost|127\.0\.0\.1|\[::1\]|::1)$/i.test(e)}function Xn(e){try{return !!e&&fn(new URL(e).hostname)}catch{return false}}function _e(e,n,t){return e.channel!=="preview"&&(e.dev||fn(n))&&!Xn(t)}function zn(e){let n=un(e.fallback)?e.fallback:null,t=n&&typeof n.site=="string"?n.site:"",r=typeof e.siteKey=="string"&&e.siteKey?e.siteKey:t,i=e.channel==="preview"?"preview":"production",o=n&&typeof n.cdnBase=="string"?n.cdnBase:void 0,s=n&&un(n.analytics)?n.analytics:null,l=s&&typeof s.endpoint=="string"?s.endpoint:null,g=e.dev===true,u=_e({dev:g,channel:i},void 0,l)?null:l,y=e.consentMode==="require-consent"?"require-consent":"session-default";return {siteKey:r,siteKeyFromFallback:!e.siteKey&&!!t,channel:i,manifestUrl:e.manifestUrl??on(e.cdnBase??o??ge,r,i),fallback:e.fallback,roots:e.manifestRootKeys??Me,consent:e.consent,consentMode:y,theme:e.theme??{},unstyled:e.unstyled===true,verifySignature:e.verifySignature!==false,allowInsecureFallback:e.allowInsecureFallback===true,dev:g,onEvent:e.onEvent,capture:{siteKey:r,endpoint:u,consent:e.consent,consentMode:y}}}function dn(e,n,t){let r=o=>{try{t?.(o);}catch{}return o};try{if(location.protocol=="https:"&&/^http:/i.test(e))return r(!1)}catch{}try{if(navigator.sendBeacon(e,n))return r(!0)}catch{}let i=o=>fetch(e,{method:"POST",mode:"no-cors",keepalive:o,credentials:"omit",body:n});try{return i(!0).then(()=>r(!0),()=>{try{if(document.visibilityState=="visible")return void i(!1).then(()=>r(!0),()=>r(!1))}catch{}r(!1);}),!0}catch{return r(false)}}var yn={now:()=>Date.now(),random:re,roll:()=>Math.random(),send:dn,later:(e,n)=>{let t=setTimeout(e,n);return ()=>clearTimeout(t)},doc:()=>globalThis.document,win:()=>globalThis.window,nav:()=>globalThis.navigator,host:()=>globalThis.location?.hostname,IO:()=>globalThis.IntersectionObserver},mn=e=>({el:e,inter:false,since:null,ms:0,seen:false,fv:null}),pn=e=>Math.min(Ze,Math.max(0,Math.round(e))),gn=e=>typeof e=="number"&&e>0?Math.min(Qe,Math.round(e)):0,Yn=.005,qn=new Set(rn);function Zn(e,n){let t=0;try{e&&(e.webdriver===!0&&(t|=j.webdriver),(!e.languages||e.languages.length===0)&&(t|=j.noLanguages),e.plugins&&e.plugins.length===0&&(t|=j.zeroPlugins),/HeadlessChrome/.test(e.userAgent??"")&&(t|=j.headlessUa)),n&&n.outerWidth===0&&n.outerHeight===0&&(t|=j.noOuterWindow);}catch{}return t}function Qn(e){let n=[];for(let t of e){let r=t==="sig_revoked"?"sig_fail":t;qn.has(r)&&!n.includes(r)&&n.push(r);}return n.slice(0,en)}var R=e=>{try{e();}catch{}};function kn(e,n){let t=ln(n.random);if(!t)return null;let r=e.manifest.analytics,i=Math.round(n.now()),o=r.enabled&&r.impressions&&r.samplePermille>0&&n.roll()*1e3<r.samplePermille?1:0,s=Zn(n.nav(),n.win()),l=Qn(e.flags),g=e.rr!==null&&(l.includes("rev_rollback")||l.includes("stale_cache"))?e.rr:null,u=()=>{try{return e.withhold?.()===!0}catch{return true}},y=new Map,b=mn(null),c=[],k=[],h=false,w=0,d="",x="",m=null,v=null,S=false,I=false,L=false,de=true,je=(a,p,f)=>{if(p)a.since===null&&(a.since=f,a.fv===null&&(a.fv=pn(f-i)));else if(a.since!==null){let M=Math.max(0,f-a.since);a.ms+=M,M>=ke&&(a.seen=true),a.since=null;}},He=(a,p)=>{if(!a)return {seen:false,ms:0,fv:null};let f=a.since===null?0:Math.max(0,p-a.since);return {seen:a.seen||f>=ke,ms:pn(a.ms+f),fv:a.fv}},N=()=>{let a=n.now(),p=L&&de&&n.doc()?.visibilityState==="visible",f=false;for(let M of y.values()){let P=p&&M.inter&&M.el!==null;f=f||P,je(M,P,a);}je(b,p&&(b.inter||f),a),b.fv!==null&&!h&&!v&&!S&&(v=n.later(()=>R(()=>{v=null,S=!0,N(),K("timer");}),Ye));},Kn=a=>{for(let p of a){let f=b.el===p.target?b:[...y.values()].find(M=>M.el===p.target);f&&(f.inter=p.isIntersecting&&p.intersectionRatio>=be-Yn);}N();},Ge=a=>({v:2,k:e.manifest.site,pv:t,r:e.manifest.revision,src:e.src,sdk:F,tok:r.token,sp:r.samplePermille,smp:o,t:Math.round(a),hd:u()?0:s,m:i}),Je=(a,p,f=null)=>n.send(`${r.endpoint.replace(/\/+$/,"")}/${a}`,JSON.stringify(p),M=>R(()=>e.onSignal(a,M,f))),$n=(a,p)=>JSON.stringify([a.seen,a.ms>=qe,p.map(f=>[f.seen,f.fv!==null])]),K=a=>{if(!L||!m||w>=nn||h&&a==="timer")return false;let p=n.now(),f=He(b,p);if(b.fv===null||f.ms<1)return false;let M=k.map((U,me)=>({id:U,pos:me,...He(y.get(U),p)})),P=JSON.stringify([f,M]);if(h&&P===d)return false;let z=$n(f,M);if(h&&a==="click"&&z===x)return false;v?.(),v=null,h=true,w+=1,d=P,x=z;let O=n.win(),$={...Ge(p),items:M,ss:f.seen,sm:f.ms,vp:u()?{w:0,h:0}:{w:gn(O?.innerWidth),h:gn(O?.innerHeight)},why:a};if(l.length&&($.fl=l),g!==null&&($.rr=g),JSON.stringify($).length>we){let U=M.filter(me=>me.fv!==null);for($.items=U;JSON.stringify($).length>we&&U.length;)U.pop();}return Je("impression",$,a),true},We=()=>{let a=n.IO(),p=n.doc(),f=n.win();if(!I||L||!a||!p)return;L=true,m??=new a(O=>R(()=>Kn(O)),{threshold:be}),b.el&&m.observe(b.el);for(let O of y.values())O.el&&m.observe(O.el);let M=()=>R(()=>{N(),p.visibilityState==="hidden"&&K("hidden");}),P=()=>R(()=>{N(),K("pagehide"),de=!1,N();}),z=()=>R(()=>{de=!0,N();});p.addEventListener("visibilitychange",M),f?.addEventListener("pagehide",P),f?.addEventListener("pageshow",z),c.push(()=>p.removeEventListener("visibilitychange",M),()=>f?.removeEventListener("pagehide",P),()=>f?.removeEventListener("pageshow",z)),N();};return {pv:t,m:i,smp:o,hd:s,get sent(){return h},setOrder(a){k=a.slice(0,he);},pos(a){let p=k.indexOf(a.id);return p>=0?p:Math.min(Math.max(0,a.position),he-1)},observe(a,p){R(()=>{let f=y.get(a);f&&f.el===p||(f?.el&&m?.unobserve(f.el),f?(f.el=p,f.inter=!1,N()):p&&y.set(a,mn(p)),p&&m&&L&&m.observe(p));});},start(a){R(()=>{a&&(b.el=a);let p=n.doc();if(!(I||o===0||!p))if(I=!0,p.prerendering){let f=()=>R(We);p.addEventListener("prerenderingchange",f,{once:!0}),c.push(()=>p.removeEventListener("prerenderingchange",f));}else We();});},stop(){R(()=>{if(I){N(),K("hidden"),I=!1,L=!1,v?.(),v=null,m?.disconnect();for(let a of c.splice(0))a();N();}});},common:Ge,post:Je,flushForClick(){return R(()=>{N(),K("click");}),h},flush:K}}var et=5*6e4;function bn(e,n,t=yn){let r=c=>{try{e()?.onEvent?.(c);}catch{}},i=n.manifest,o=n.source,s=null;try{let c=e(),k=c!==null&&_e(c,t.host?.(),i?.analytics.endpoint??null);i&&!k&&i.analytics.enabled&&(o==="live"||o==="fallback")&&(s=kn({manifest:i,src:o,flags:n.flags,rr:n.rr,onSignal:(h,w,d)=>r({type:"signal",payload:d?{kind:h,sent:w,why:d}:{kind:h,sent:w}}),withhold:()=>{let h=e();return h?.consentMode==="require-consent"&&!(h.consent?.get()==="granted"&&t.nav()?.globalPrivacyControl!==!0)}},t));}catch{s=null;}let l=s!==null&&i!==null&&i.analytics.clicks,g=new Map,u=[],y=c=>i?cn(i.siteIndex,c.idx,t.now(),t.random):null,b=c=>{try{c();}catch{}};return {page:s,rendered(c){r({type:"impression",payload:{ids:c,revision:i?.revision??null}});},pointerDown(c,k){let h=null;return b(()=>{if(!l)return;let w=y(c);w&&(g.set(c.id,{id:w,at:t.now()}),c.instrumentation!=="none"&&(h=Ee(k,w)));}),h},click(c,k,h,w){let d=k;return b(()=>{if(!l||!s)return;let x=g.get(c.id);g.delete(c.id);let m=x&&t.now()-x.at<=et?x.id:y(c);if(!m||(c.instrumentation!=="none"&&(d=Ee(k,m)),u.includes(m)))return;u.push(m),u.length>tn&&u.shift();let v=s.flushForClick();s.post("click",{...s.common(t.now()),c:m,b:c.id,pos:s.pos(c),btn:w,via:h,ip:v});}),r({type:"click",payload:{id:c.id,href:k,via:h}}),d},observe:(c,k)=>b(()=>s?.observe(c,k)),setOrder:c=>b(()=>s?.setOrder(c)),start:c=>b(()=>s?.start(c)),stop:()=>b(()=>s?.stop())}}var ie=/^[a-z0-9]+(-[a-z0-9]+)*$/,Ce=48,Re=24,q=/^[a-z0-9][a-z0-9-]{1,63}$/,Le=/^[A-Za-z0-9_-]{85}[AQgw]$/,Ae=/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/,se=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/,nt=/^[a-z0-9-]+\.\d+\.\d{8}\.[0-9a-f]{12}$/,hn=/^[a-z0-9.-]+$/,tt=/^([\w.~!$&'()*+,;=:@/?-]|%[\da-f]{2})*(#([\w.~!$&'()*+,;=:@/?-]|%[\da-f]{2})*)?$/i,Ne=class extends Error{},E=()=>{throw new Ne};function T(e,n){(e===null||typeof e!="object"||Array.isArray(e))&&E();let t=e;for(let r of Object.keys(t))n.includes(r)||E();for(let r of n)r in t||E();return t}function rt(e){let n=0;for(let t of e)n++;return n}function A(e,n,t){typeof e!="string"&&E();let r=rt(e);return (r<n||r>t)&&E(),e}function _(e,n,t=1024){let r=A(e,0,t);return n.test(r)||E(),r}function Z(e,n,t){return (typeof e!="number"||!Number.isInteger(e)||e<n||e>t)&&E(),e}function H(e){return typeof e!="boolean"&&E(),e}function oe(e,n){return e===null?null:n(e)}function G(e,n){return e!==n&&E(),n}function wn(e,n){return (typeof e!="string"||!n.includes(e))&&E(),e}function vn(e){let n;try{n=new URL(e);}catch{return "must be an absolute URL"}let t=n.hostname==="localhost"||n.hostname==="127.0.0.1";return n.protocol!=="https:"&&!(n.protocol==="http:"&&t)?"must be https":n.username||n.password||n.search||n.hash?"no userinfo, query or fragment":null}function ae(e){let n=A(e,1,1024);return vn(n)!==null&&E(),n}function Sn(e){if(e.length>200)return "must be at most 200 characters";let n;try{n=new URL(e);}catch{return "must be an absolute URL"}if(n.protocol!=="https:")return "must use https";if(n.username||n.password)return "must not contain credentials";if(n.port!==""&&n.port!=="443")return "port must be 443";let t=n.hostname;return t.startsWith("[")||/^\d+(\.\d+){3}$/.test(t)?"IP addresses are not allowed":!hn.test(t)||!t.includes(".")||t.startsWith(".")||t.endsWith(".")?"invalid hostname":n.toString()!==e||!tt.test(e.slice(n.origin.length))?"must be normalised":null}function ot(e){let n=A(e,1,200);return Sn(n)!==null&&E(),n}function le(e){let n=T(e,["kty","crv","x","y"]);return {kty:G(n.kty,"EC"),crv:G(n.crv,"P-256"),x:_(n.x,Ae),y:_(n.y,Ae)}}function it(e){let n=T(e,["src","src2x","alt","width","height"]);return {src:ae(n.src),src2x:ae(n.src2x),alt:A(n.alt,1,120),width:G(n.width,640),height:G(n.height,360)}}var st=["id","idx","name","description","url","domain","image","category","location","region","tags","pinned","position","instrumentation"];function at(e){let n=T(e,st),t=A(n.name,2,60);/^[=+@]/.test(t)&&E();let r=_(n.domain,hn,253);(r.length<1||r.startsWith("www."))&&E();let i=n.tags;return (!Array.isArray(i)||i.length>10)&&E(),{id:_(n.id,ie,Ce),idx:Z(n.idx,1,65535),name:t,description:A(n.description,1,140),url:ot(n.url),domain:r,image:it(n.image),category:oe(n.category,o=>A(o,0,40)),location:oe(n.location,o=>A(o,0,60)),region:oe(n.region,o=>A(o,0,40)),tags:i.map(o=>A(o,0,24)),pinned:H(n.pinned),position:Z(n.position,0,Re-1),instrumentation:wn(n.instrumentation,["none","landings","conversions"])}}function lt(e){let n=T(e,["kid","jwk","notBefore","notAfter","rootKid","rootSig","revokedKids"]),t=n.revokedKids;return Array.isArray(t)||E(),{kid:_(n.kid,q),jwk:le(n.jwk),notBefore:_(n.notBefore,se),notAfter:_(n.notAfter,se),rootKid:_(n.rootKid,q),rootSig:_(n.rootSig,Le),revokedKids:t.map(r=>_(r,q))}}var ct=["schema","revision","publishedAt","site","siteIndex","channel","cdnBase","minSdkVersion","analytics","links","section","businesses","signer","sig"];function J(e){try{let n=T(e,ct),t=T(n.analytics,["enabled","endpoint","impressions","clicks","landings","samplePermille","token"]),r=T(n.links,["utmMedium","utmCampaign","utmSource","refParam","nofollow"]),i=T(n.section,["title","subtitle"]),o=T(n.sig,["alg","kid","value"]),s=n.businesses;return (!Array.isArray(s)||s.length>Re)&&E(),{schema:G(n.schema,2),revision:Z(n.revision,1,Number.MAX_SAFE_INTEGER),publishedAt:_(n.publishedAt,se),site:_(n.site,ie,Ce),siteIndex:Z(n.siteIndex,1,65535),channel:wn(n.channel,["production","preview"]),cdnBase:ae(n.cdnBase),minSdkVersion:_(n.minSdkVersion,/^\d+\.\d+\.\d+$/),analytics:{enabled:H(t.enabled),endpoint:ae(t.endpoint),impressions:H(t.impressions),clicks:H(t.clicks),landings:H(t.landings),samplePermille:Z(t.samplePermille,0,1e3),token:_(t.token,nt)},links:{utmMedium:A(r.utmMedium,1,40),utmCampaign:A(r.utmCampaign,1,40),utmSource:_(r.utmSource,ie,Ce),refParam:_(r.refParam,/^[a-z]{1,8}$/),nofollow:H(r.nofollow)},section:{title:A(i.title,1,60),subtitle:oe(i.subtitle,l=>A(l,0,120))},businesses:s.map(at),signer:lt(n.signer),sig:{alg:G(o.alg,"ES256"),kid:_(o.kid,q),value:_(o.value,Le)}}}catch{return null}}var En=BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),ut=En>>1n;function Ie(){let e=globalThis.crypto;return e&&e.subtle?e.subtle:null}function ft(e){let n=Se(e,64);if(!n)return "encoding";let t=BigInt(`0x${Y(n.subarray(0,32))}`),r=BigInt(`0x${Y(n.subarray(32))}`);return t===0n||t>=En||r===0n||r>ut?"range":null}var xn=new WeakMap;async function dt(e,n){let t=xn.get(e);if(t)return t;let{kty:r,crv:i,x:o,y:s}=e,l=n.importKey("jwk",{...le({kty:r,crv:i,x:o,y:s}),ext:true},{name:"ECDSA",namedCurve:"P-256"},false,["verify"]);return xn.set(e,l),l}async function Te(e,n,t){try{let r=Ie();if(!r||ft(t)!==null)return !1;let i=Se(t,64),o=await dt(e,r);return await r.verify({name:"ECDSA",hash:"SHA-256"},o,i,new TextEncoder().encode(n))}catch{return false}}var B=class extends Error{constructor(t,r){super(`${t} at ${r||"$"}`);this.path=r;this.name="CanonicalJsonError";}path};function W(e){return Pe(e,"$")}function Pe(e,n){if(e===null)return "null";switch(typeof e){case "boolean":return e?"true":"false";case "string":return JSON.stringify(e);case "number":if(!Number.isSafeInteger(e))throw new B(`non-integer or unsafe number ${String(e)}`,n);return String(e);case "object":{if(Array.isArray(e))return `[${e.map((i,o)=>Pe(i,`${n}[${o}]`)).join(",")}]`;let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new B("unsupported object type",n);let r=e;return `{${Object.keys(r).sort().map(i=>{let o=r[i];if(o===void 0)throw new B(`undefined value for key "${i}" (use null)`,n);return `${JSON.stringify(i)}:${Pe(o,`${n}.${i}`)}`}).join(",")}}`}default:throw new B(`unsupported type ${typeof e}`,n)}}function An(e){return W({kid:e.kid,jwk:{kty:e.jwk.kty,crv:e.jwk.crv,x:e.jwk.x,y:e.jwk.y},notBefore:e.notBefore,notAfter:e.notAfter,rootKid:e.rootKid})}function Nn(e){let{sig:n,...t}=e;return W(t)}var _n=e=>Array.isArray(e)&&e.every(n=>typeof n=="string");function Cn(e){let n=Date.parse(e);return new Date(n).toISOString().startsWith(e.slice(0,19))||E(),n}async function Q(e,n){try{if(!n||typeof n!="object")return {ok:!1,reason:"malformed"};let t=n.now instanceof Date?n.now.getTime():NaN;if(!Number.isFinite(t))return {ok:!1,reason:"malformed"};if(n.source!=="live"&&n.source!=="fallback")return {ok:!1,reason:"malformed"};if(!n.expect||typeof n.expect.site!="string"||typeof n.expect.channel!="string")return {ok:!1,reason:"malformed"};if(n.source==="live"&&!_n(n.revokedKids))return {ok:!1,reason:"malformed"};if(n.revokedKids!==void 0&&!_n(n.revokedKids))return {ok:!1,reason:"malformed"};let r=J(e);if(!r)return {ok:!1,reason:"malformed"};if(r.site!==n.expect.site||r.channel!==n.expect.channel||r.links.utmSource!==n.expect.site)return {ok:!1,reason:"identity"};let i=r.signer,s=(Array.isArray(n.roots)?n.roots:[]).find(u=>u&&u.kid===i.rootKid);if(!s)return {ok:!1,reason:"root_unknown"};if(!await Te(s.jwk,An(i),i.rootSig))return {ok:!1,reason:"root_sig"};let l=Cn(i.notBefore),g=Cn(i.notAfter);return g<l?{ok:!1,reason:"malformed"}:n.source==="live"&&(t<l||t>g+6048e5)?{ok:!1,reason:"window"}:r.sig.kid!==i.kid?{ok:!1,reason:"kid_mismatch"}:await Te(i.jwk,Nn(r),r.sig.value)?(n.revokedKids??[]).includes(r.sig.kid)||i.revokedKids.includes(r.sig.kid)?{ok:!1,reason:"revoked"}:{ok:!0,manifest:r}:{ok:!1,reason:"sig"}}catch{return {ok:false,reason:"malformed"}}}async function ce(e,n){try{let t;if(typeof e=="string"){if(e.length>24576||new TextEncoder().encode(e).length>24576)return {ok:!1,reason:"malformed"};t=e;}else {if(!(e instanceof Uint8Array)||e.length>24576)return {ok:!1,reason:"malformed"};t=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(e);}let r=JSON.parse(t);return W(r)!==t?{ok:!1,reason:"malformed"}:await Q(r,n)}catch{return {ok:false,reason:"malformed"}}}var Oe={businesses:[],loading:true,source:"empty",revision:null,manifest:null,flags:[],rr:null};function pt(e){if(e===null||typeof e!="object")return false;let n=e;return n.schema===2&&n.revision===0&&Array.isArray(n.businesses)&&n.businesses.length===0&&!("sig"in n)}function gt(e,n){let t=e.split("-")[0].split(".").map(Number),r=n.split("-")[0].split(".").map(Number);for(let i=0;i<3;i++){let o=t[i]??0,s=r[i]??0;if(o!==s)return o>s}return false}function De(e,n){let t=J(e);return t?t.site!==n.site||t.channel!==n.channel||t.links.utmSource!==n.site?{ok:false,reason:"identity"}:{ok:true,manifest:t}:{ok:false,reason:"malformed"}}async function Rn(e,n,t){let r=new AbortController,i=setTimeout(()=>r.abort(),4e3);try{let o=await e(n,{mode:"cors",credentials:"omit",cache:t,signal:r.signal});return o.ok?new Uint8Array(await o.arrayBuffer()):null}catch{return null}finally{clearTimeout(i);}}function Ln(e,n){return e.revision<n.revision||Date.parse(e.publishedAt)<Date.parse(n.publishedAt)}var yt=e=>e==="revoked"?"sig_revoked":"sig_fail";async function Be(e,n={}){let t=[],r=null,i=n.warn??(l=>console.warn(`[network-sdk] ${l}`)),o=l=>{e.dev&&i(l);};try{let l=n.fetch??(typeof fetch=="function"?fetch.bind(globalThis):void 0),g=(n.now??(()=>new Date))(),u={site:e.siteKey,channel:e.channel},y=e.roots;if(e.siteKeyFromFallback&&t.push("sitekey_from_fallback"),!e.siteKey)return o("no siteKey and no fallback.site: rendering nothing (\xA74.6)"),s("empty",null,t);let b="full",c=Ie()===null;if(!e.verifySignature)b="unverified",o("verifySignature is false: signatures are NOT checked");else if(c)if(t.push("insecure_context"),e.dev)b="unverified",i("crypto.subtle is unavailable (insecure context): signature verification skipped in dev (\xA74.6)");else if(e.allowInsecureFallback){let S=De(e.fallback,u);return S.ok?s("fallback",S.manifest,t):s("empty",null,t)}else return s("empty",null,t);let k=(S,I,L)=>b==="full"?Q(S,{roots:y,now:g,expect:u,source:I,revokedKids:L}):Promise.resolve(De(S,u)),h=(S,I)=>b==="full"?ce(S,{roots:y,now:g,expect:u,source:"live",revokedKids:I}):(()=>{try{let L=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(S);return Promise.resolve(De(JSON.parse(L),u))}catch{return Promise.resolve({ok:!1,reason:"malformed"})}})(),w=null;if(e.fallback!==void 0&&!pt(e.fallback)){let S=await k(e.fallback,"fallback",[]);S.ok?w=S.manifest:(t.push("fallback_invalid"),o(`bundled fallback rejected (${S.reason}): floor ignored, fallback will not render (\xA74.6)`));}let d=w?w.signer.revokedKids:[],x=()=>w?(Date.parse(w.signer.notAfter)<g.getTime()&&t.push("fallback_key_expired"),s("fallback",w,t)):s("empty",null,t);if(!l)return t.push("fetch_fail"),x();let m=await Rn(l,e.manifestUrl,"default");if(m===null)return t.push("fetch_fail"),o(`manifest fetch failed (${e.manifestUrl}): rendering the fallback`),x();let v=await h(m,d);if(!v.ok)return t.push(yt(v.reason)),o(`live manifest rejected (${v.reason}): rendering the fallback`),x();if(w&&Ln(v.manifest,w)){m=await Rn(l,e.manifestUrl,"reload");let S=m===null?null:await h(m,d);if(S&&S.ok&&!Ln(S.manifest,w))t.push("stale_cache"),r=v.manifest.revision,v=S;else return t.push("rev_rollback"),r=S&&S.ok?S.manifest.revision:v.manifest.revision,o(`live manifest revision ${v.manifest.revision} is below the bundled floor ${w.revision}: rendering the fallback (rev_rollback)`),x()}return gt(v.manifest.minSdkVersion,F)&&(t.push("sdk_outdated"),o(`manifest requires SDK \u2265 ${v.manifest.minSdkVersion}, this is ${F}`)),s("live",v.manifest,t)}catch{return s("empty",null,t)}function s(l,g,u){let y=(n.hostname??kt()).replace(/^www\./,""),c={businesses:g?g.businesses.filter(k=>k.domain!==y&&k.id!==e.siteKey&&k.url.startsWith("https:")):[],loading:false,source:g?l:"empty",revision:g?g.revision:null,manifest:g,flags:u,rr:r};try{e.onEvent?.({type:"directory",payload:{source:c.source,revision:c.revision,flags:[...u]}});}catch{}return c}}function kt(){try{return (globalThis.location?.hostname??"").toLowerCase()}catch{return ""}}var wt=e=>{if(e===null||typeof e!="object")return [typeof e];let n=e,t=n.sig&&typeof n.sig=="object"?n.sig:{};return [n.site,n.revision,n.publishedAt,t.value]};function vt(e){if(!e)return null;try{return JSON.stringify([e.siteKey,e.siteKeyFromFallback,e.channel,e.manifestUrl,e.verifySignature,e.allowInsecureFallback,e.dev,e.roots.map(n=>[n.kid,n.jwk.x,n.jwk.y]),wt(e.fallback)])}catch{return `${e.siteKey}|${e.manifestUrl}`}}function St(e,n){return !e.loading&&e.source===n.source&&e.revision===n.revision&&e.rr===n.rr&&e.manifest?.sig.value===n.manifest?.sig.value&&e.businesses.length===n.businesses.length&&e.flags.join()===n.flags.join()}function Ke(e){let n=V(e),t=react.useRef(n);react.useEffect(()=>{t.current=n;});let r=vt(n),[i,o]=react.useState(Oe);return react.useEffect(()=>{let s=t.current;if(!s){o(u=>!u.loading&&!u.manifest?u:{...Oe,loading:false});return}let l=true,g={...s,onEvent:u=>t.current?.onEvent?.(u)};return Be(g).then(u=>{l&&o(y=>St(y,u)?y:u);}),()=>{l=false;}},[r]),i}function On(e,n,t){let r=new URLSearchParams({utm_source:n.utmSource,utm_medium:n.utmMedium,utm_campaign:n.utmCampaign,utm_content:t}).toString(),[i,o]=xe(e);return `${i}${i.includes("?")?"&":"?"}${r}${o}`}function ue(e,n){try{let t=e.currentTarget;n&&t&&typeof t=="object"&&typeof t.href=="string"&&t.href!==n&&(t.href=n);}catch{}}var Pn=e=>e==="click"?0:e==="auxclick"?1:2,Mt=["pointerDown","click","observe"];function Dn(e){return typeof e=="object"&&e!==null&&Mt.every(n=>typeof e[n]=="function")}var D=e=>(...n)=>{try{e(...n);}catch{}};function $e(e,n){let t=react.useContext(ee),r=V(),i=react.useContext(ne),o=n===null?null:Dn(n)?n:Dn(i)?i:null,s=typeof n=="function"?n:null,l=e.id,g=react.useCallback(u=>{try{o?.observe(l,u);}catch{}},[o,l]);return react.useMemo(()=>{let u=t?.links??{utmSource:r?.siteKey??"",utmMedium:ye.medium,utmCampaign:ye.campaign,nofollow:false},y=On(e.url,u,e.id),b=null,c=()=>{b?.(),b=null;},k=(d,x)=>{c();let m={currentTarget:d.currentTarget};if(x<=0)return ue(m,y);let v=setTimeout(()=>{b=null,ue(m,y);},x);b=()=>clearTimeout(v);},h=(d,x)=>{o&&(ue(d,o.click(e,y,x,Pn(x))),k(d,te));},w=(d="click",x)=>{let m=y;try{o&&(m=o.click(e,y,d,x??Pn(d)));}catch{m=y;}if(s)try{let v=s(e,m,d);if(typeof v=="string"&&v)return v}catch{}return m};return {href:y,linkProps:{href:y,target:"_blank",rel:`noopener noreferrer${u.nofollow?" nofollow":""}`,"aria-label":`Visit ${e.name} website (opens in a new tab)`,onPointerDown:D(d=>{c(),o&&ue(d,o.pointerDown(e,y));}),onPointerUp:D(d=>k(d,te)),onPointerCancel:D(d=>k(d,te)),onBlur:D(d=>k(d,0)),onClick:D(d=>h(d,"click")),onAuxClick:D(d=>{d.button===1&&h(d,"auxclick");}),onContextMenu:D(d=>h(d,"contextmenu")),onDragStart:D(d=>h(d,"drag"))},trackClick:w,observe:g}},[e,t,r,o,s,g])}var Fe="discover-businesses-heading",Bn=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`);function Ct(e,n,t){let r=n[e];return t?r||void 0:r?`inr-${Bn(e)} ${r}`:`inr-${Bn(e)}`}function At(e){let n=e.trimEnd().lastIndexOf(" ");return n<0?["",e]:[e.slice(0,n+1),e.slice(n+1)]}function Nt(e){let n=V(e.config),t=e.onEvent??n?.onEvent,r=react.useMemo(()=>n?t===n.onEvent?n:{...n,onEvent:t}:null,[n,t]),i=react.useRef(r);react.useEffect(()=>{i.current=r;});let o=Ke(r),s=react.useMemo(()=>bn(()=>i.current,o),[o]),l=react.useMemo(()=>{let m=e.maxItems&&e.maxItems>0?e.maxItems:o.businesses.length;return o.businesses.slice(0,m)},[o.businesses,e.maxItems]),g=react.useRef(false);react.useEffect(()=>{l.length>0&&!g.current&&(g.current=true,s.rendered(l.map(m=>m.id)));},[l,s]),react.useEffect(()=>{s.setOrder(l.map(m=>m.id));},[l,s]);let u=!!r&&!o.loading&&l.length>0&&!!o.manifest,y=react.useRef(null);if(react.useEffect(()=>{if(u)return s.start(y.current),()=>s.stop()},[s,u]),!r||o.loading||l.length===0||!o.manifest)return null;let b=e.theme?{...r.theme,...e.theme}:r.theme,c=e.unstyled??r.unstyled,k=m=>Ct(m,b,c),h=e.title??o.manifest.section.title,w=e.subtitle===void 0?o.manifest.section.subtitle:e.subtitle,[d,x]=At(h);return jsxRuntime.jsx(ee.Provider,{value:o.manifest,children:jsxRuntime.jsx(ne.Provider,{value:s,children:jsxRuntime.jsx("section",{ref:y,className:k("section"),"aria-labelledby":Fe,"data-inr-rev":o.revision??void 0,"data-inr-source":o.source,children:jsxRuntime.jsxs("div",{className:k("container"),children:[jsxRuntime.jsxs("h2",{id:Fe,className:k("heading"),children:[d,jsxRuntime.jsx("span",{className:k("accentWord"),children:x})]}),w?jsxRuntime.jsx("p",{className:k("subheading"),children:w}):null,jsxRuntime.jsx("div",{className:k("grid"),children:l.map(m=>jsxRuntime.jsx(Rt,{business:m,cls:k,renderCard:e.renderCard},m.id))})]})})})})}function Rt(e){let{business:n,cls:t}=e,r=$e(n),[i,o]=react.useState(false);if(e.renderCard)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.renderCard(n,r)});let s=[n.category,n.location].filter(Boolean).join(" \xB7 ");return jsxRuntime.jsxs("article",{ref:r.observe,className:t("card"),"data-inr-id":n.id,children:[jsxRuntime.jsx("div",{className:t("imageBox"),children:i?jsxRuntime.jsx("div",{className:t("placeholder"),role:"img","aria-label":n.image.alt,children:n.name.trim().charAt(0).toUpperCase()}):jsxRuntime.jsx("img",{className:t("image"),src:n.image.src,srcSet:`${n.image.src} 1x, ${n.image.src2x} 2x`,alt:n.image.alt,width:n.image.width,height:n.image.height,loading:"lazy",decoding:"async",onError:()=>o(true)})}),jsxRuntime.jsxs("div",{className:t("body"),children:[jsxRuntime.jsx("h3",{className:t("name"),children:n.name}),s?jsxRuntime.jsx("p",{className:t("meta"),children:s}):null,jsxRuntime.jsx("p",{className:t("description"),children:n.description}),jsxRuntime.jsxs("a",{...r.linkProps,className:t("button"),children:["Visit Website",jsxRuntime.jsxs("svg",{className:t("buttonIcon"),"aria-hidden":"true",focusable:"false",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})]})]})]})}
2
+ exports.DEFAULT_CDN_BASE=ge;exports.DEV_ROOT_PUBLIC_KEYS=Jn;exports.DiscoverBusinesses=Nt;exports.HEADING_ID=Fe;exports.MANIFEST_SCHEMA_MAJOR=ze;exports.NetworkProvider=Vn;exports.SDK_VERSION=F;exports.THEME_SLOTS=Wn;exports.buildHref=On;exports.canonicalJson=W;exports.defineNetworkConfig=zn;exports.loadDirectory=Be;exports.parseManifest=J;exports.rootPublicKeys=Me;exports.useNetworkDirectory=Ke;exports.useNetworkLink=$e;exports.verifyManifest=Q;exports.verifyManifestBytes=ce;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map