PageSourceSearch

https://fyno.com/_next/static/chunks/779.2577637d9344877d.js

js fyno.com collected 2026-09-25 03:25:35 UTC 57,509 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[779],{16779:function(e,t,l){"use strict";l.r(t),l.d(t,{default:function(){return ec}});var s=l(85893),n=l(67294),a=l(27385),i=l(89355);let o=RegExp("(\\*\\*[^*]+\\*\\*|`[^`]+`|\\[[^\\]]+\\]\\((?:https?:\\/\\/)[^)\\s]+\\)|(?<![\\w*])\\*[^*\\n]+\\*(?![\\w*])|(?<![\\w_])_[^_\\n]+_(?![\\w_]))","g");function r(e,t){let l;let n=[],a=0,i=0,r=RegExp(o.source,"g");for(;null!==(l=r.exec(e));){let o=l.index;o>a&&n.push(e.slice(a,o));let r=l[0],c="".concat(t,"-").concat(i++);if(r.startsWith("**"))n.push((0,s.jsx)("strong",{children:r.slice(2,-2)},c));else if(r.startsWith("`"))n.push((0,s.jsx)("code",{children:r.slice(1,-1)},c));else if(r.startsWith("[")){let e=/^\[([^\]]+)\]\(([^)]+)\)$/.exec(r);e?n.push((0,s.jsx)("a",{href:e[2],target:"_blank",rel:"noreferrer noopener",children:e[1]},c)):n.push(r)}else n.push((0,s.jsx)("em",{children:r.slice(1,-1)},c));a=o+r.length}return a<e.length&&n.push(e.slice(a)),n}function c(e){let{text:t,className:l}=e,a=function(e){let t=[],l=e.replace(/\r/g,"").split("\n"),s=[],n=()=>{s.length&&t.push({kind:"p",text:s.join("\n")}),s=[]};for(let e of l){let l=e.trimEnd(),a=/^(#{1,4})\s+(.+)$/.exec(l),i=/^\s*\d+[.)]\s+(.+)$/.exec(l),o=/^\s*[-*•]\s+(.+)$/.exec(l);if(!l.trim()){n();continue}if(a){n(),t.push({kind:"h",level:a[1].length,text:a[2]});continue}if(i||o){n();let e=i?"ol":"ul",l=(i||o)[1],s=t[t.length-1];s&&s.kind===e?s.items.push(l):t.push({kind:e,items:[l]});continue}s.push(l)}return n(),t}(t);return(0,s.jsx)("div",{className:l,children:a.map((e,t)=>{if("h"===e.kind){let l="h".concat(Math.min(6,(e.level||3)+2));return(0,s.jsx)(l,{children:r(e.text,"h".concat(t))},t)}if("ol"===e.kind||"ul"===e.kind){let l=e.kind;return(0,s.jsx)(l,{children:e.items.map((e,l)=>(0,s.jsx)("li",{children:r(e,"l".concat(t,"-").concat(l))},l))},t)}let l=e.text.split("\n");return(0,s.jsx)("p",{children:l.map((e,l)=>(0,s.jsxs)(n.Fragment,{children:[l>0?(0,s.jsx)("br",{}):null,r(e,"p".concat(t,"-").concat(l))]},l))},t)})})}var d=l(64016),u=l.n(d);let h=l(83454).env.NEXT_PUBLIC_ADMIN_CHATS_URL||"https://us-central1-fyno-db.cloudfunctions.net/adminChats",m=["book","edit","chat"],p=["flights","stays","activities","itinerary","getting_around","general"],y=e=>{let t=0,l=null,s=0,n=0,a=0,i=0;for(let u of e){var o,r,c,d;t+=(null===(o=u.interaction)||void 0===o?void 0:o.costUsd)||0,(null===(r=u.feedback)||void 0===r?void 0:r.choice)==="like"&&s++,(null===(c=u.feedback)||void 0===c?void 0:c.choice)==="dislike"&&n++,u.report&&a++,(u.feedback||u.report)&&i++;let e=(null===(d=u.interaction)||void 0===d?void 0:d.serverTime)||u.createdAt||null;e&&(l=Math.max(l||0,e))}return{count:e.length,costUsd:t,lastAt:l,likes:s,dislikes:n,reports:a,reacted:i}},v=e=>"".concat(e.ownerId,"/").concat(e.tripId,"/").concat(e.uid),x={time:"any",timeFrom:"",timeTo:"",minCost:"",minWait:"",verdict:"any"},_={likes:0,dislikes:0,reports:0},f=(e,t)=>"any"===t||("liked"===t?e.likes>0:"disliked"===t?e.dislikes>0:"reported"===t?e.reports>0:e.likes+e.dislikes+e.reports>0),g=(e,t)=>{var l,s;return"any"===t||("liked"===t?(null===(l=e.feedback)||void 0===l?void 0:l.choice)==="like":"disliked"===t?(null===(s=e.feedback)||void 0===s?void 0:s.choice)==="dislike":"reported"===t?!!e.report:!!e.feedback||!!e.report)},j=e=>e?Date.parse(16===e.length?"".concat(e,":00Z"):"".concat(e,"Z")):NaN,b=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();if("any"===t.time)return!0;if(!e)return!1;if("1h"===t.time)return e>=l-36e5;if("24h"===t.time)return e>=l-864e5;if("7d"===t.time)return e>=l-7*864e5;let s=j(t.timeFrom),n=j(t.timeTo);return(!t.timeFrom||!Number.isFinite(s)||e>=s)&&(!t.timeTo||!Number.isFinite(n)||e<=n)},k=(e,t)=>{if("any"===t)return!0;if(!e)return!1;let l=e.percent;return"under50"===t?l<50:"50to80"===t?l>=50&&l<80:"over80"===t?l>=80:l>=100},w={tier:"all",usage:"any",verdict:"any",activity:"any",activeFrom:"",activeTo:"",trip:"any",tripFrom:"",tripTo:"",minMessages:"",minSpend:""},C=e=>("all"!==e.tier?1:0)+("any"!==e.usage?1:0)+("any"!==e.verdict?1:0)+("any"!==e.activity?1:0)+("any"!==e.trip?1:0)+(e.minMessages?1:0)+(e.minSpend?1:0),N=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),s=e||0;switch(t.activity){case"1h":return s>=l-36e5;case"12h":return s>=l-12*36e5;case"24h":return s>=l-864e5;case"7d":return s>=l-6048e5;case"30d":return s>=l-2592e6;
1case"custom":{let e=j(t.activeFrom),l=j(t.activeTo);return(!t.activeFrom||!Number.isFinite(e)||s>=e)&&(!t.activeTo||!Number.isFinite(l)||s<=l)}default:return!0}},S=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();if("any"===t.trip)return!0;if(!Number.isFinite(e))return!1;let s=864e5*Math.floor(l/864e5);switch(t.trip){case"next7":return e>=s&&e<s+7*864e5;case"next30":return e>=s&&e<s+30*864e5;case"next90":return e>=s&&e<s+90*864e5;case"past":return e<s;case"custom":return(!t.tripFrom||e>=D(t.tripFrom))&&(!t.tripTo||e<=T(t.tripTo));default:return!0}},D=e=>e?Date.parse("".concat(e,"T00:00:00Z")):NaN,T=e=>e?Date.parse("".concat(e,"T23:59:59.999Z")):NaN,A=e=>"number"==typeof e?(e+978307200)*1e3:"string"==typeof e&&e?Date.parse(e):NaN,I="adminChats.following",B="adminChats.seen",F=()=>{try{return JSON.parse(localStorage.getItem(B)||"{}")}catch(e){return{}}},E="adminChats.theme",L=()=>{var e,t;try{let e=localStorage.getItem(E);if("light"===e||"dark"===e)return e}catch(e){}return(null===(e=(t=window).matchMedia)||void 0===e?void 0:e.call(t,"(prefers-color-scheme: dark)").matches)?"dark":"light"},O=e=>{if(!e)return"";let t=Math.round(Math.max(0,Date.now()-e)/6e4);if(t<1)return"just now";if(t<60)return"".concat(t," minute").concat(1===t?"":"s"," ago");let l=Math.round(t/60);if(l<24)return"".concat(l," hour").concat(1===l?"":"s"," ago");let s=Math.round(l/24);return"".concat(s," day").concat(1===s?"":"s"," ago")},U=e=>{if(!e)return"";let t=Math.round(Math.max(0,Date.now()-e)/6e4);if(t<1)return"now";if(t<60)return"".concat(t,"m ago");let l=Math.round(t/60);return l<24?"".concat(l,"h ago"):"".concat(Math.round(l/24),"d ago")},M=[["#ffe1e0","#c8322b"],["#ffe8d6","#c25a12"],["#fff3cc","#9a6b00"],["#e6f6e4","#2b7a3d"],["#dcf5f2","#137a70"],["#dfeeff","#1f5fbf"],["#e7e4ff","#5535c9"],["#f6e0ff","#8a2fb3"],["#ffe0ef","#b8246f"],["#ececf0","#4a4a55"]],R=e=>{let t=(e||"").charCodeAt(3);return M[Number.isFinite(t)?t%M.length:M.length-1]};function W(e){let{owner:t,size:l=28}=e,n=((null==t?void 0:t.displayName)||(null==t?void 0:t.email)||(null==t?void 0:t.uid)||"?").trim().charAt(0).toUpperCase(),[a,i]=R(null==t?void 0:t.uid);return(null==t?void 0:t.photoURL)?(0,s.jsx)("img",{className:u().avatar,src:t.photoURL,alt:"",width:l,height:l,referrerPolicy:"no-referrer"}):(0,s.jsx)("span",{className:u().avatar,style:{width:l,height:l,fontSize:.45*l,"--av-bg":a,"--av-ink":i},children:n})}function H(e){let{usage:t}=e;if(!t)return null;let l=t.percent>=80?u().disliked:t.percent>=50?u().edit:u().book,n=t.pooled?"".concat(t.tier.toUpperCase()," \xb7 $").concat(t.pooled.spentUSD.toFixed(2)," of $").concat(t.pooled.capUSD.toFixed(2)," this month (").concat(t.pooled.monthKey,")").concat(t.topUpUSD?" \xb7 top-up balance $".concat(t.topUpUSD.toFixed(2)):""):t.free?"FREE \xb7 book $".concat(t.free.book.spentUSD.toFixed(2)," / $").concat(t.free.book.capUSD.toFixed(2)," \xb7 edit $").concat(t.free.edit.spentUSD.toFixed(2)," / $").concat(t.free.edit.capUSD.toFixed(2)," \xb7 chat ").concat(t.free.chat.count," / ").concat(t.free.chat.cap," messages").concat(t.topUpUSD?" \xb7 top-up balance $".concat(t.topUpUSD.toFixed(2)):""):void 0;return(0,s.jsxs)("span",{className:"".concat(u().pill," ").concat(l),title:n,children:["Usage ",t.percent,"%"]})}function P(e){let{on:t,onClick:l}=e;return(0,s.jsx)("button",{type:"button",className:"".concat(u().star," ").concat(t?u().starOn:""),onClick:l,title:t?"Unfollow":"Follow","aria-label":t?"Unfollow":"Follow",children:(0,s.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinejoin:"round",children:(0,s.jsx)("polygon",{points:"12 2.5 15.1 8.9 22 9.8 17 14.7 18.2 21.6 12 18.3 5.8 21.6 7 14.7 2 9.8 8.9 8.9"})})})}let J=new Set(["id","role","text","createdAt","interaction","feedback","report","options","toolCalls","showActions","activitySuggestionIds","suggestionTarget","browseActivityIds","flightUIMode"]),z={suggestedHotels:"\uD83C\uDFE8 suggestedHotels",flightOffers:"✈️ flightOffers",hotelBookingOptions:"\uD83C\uDFE8 hotelBookingOptions",suggestedActivities:"\uD83C\uDF9F suggestedActivities",dayTimeline:"\uD83D\uDD52 dayTimeline",dropList:"\uD83D\uDCC9 dropList",linkChips:"\uD83D\uDD17 linkChips",sources:"\uD83C\uDF10 sources",banner:"⚠️ banner",paywallCard:"\uD83D\uDCB3 paywallCard",flightAddedCard:"\uD83D\uDEEC flightAddedCard",activityActionCard:"\uD83C\uDF9F activityActionCard",swapActivityCard:"\uD83D\uDD01 swapActivityCard",regionStructureCard:"\uD83D\uDDFA regionStructureCard",stayOverviewCard:"\uD83C\uDFE8 stayOverviewCard",stayActionCard:"\uD83C\uDFE8 stayActionCard",regionsOverviewCard:"\uD83D\uDDFA regionsOverviewCard",dayOverviewCard:"\uD83D\uDCC5 dayOverviewCard",taskChecklistCard:"✅ taskChecklistCard"},G=e=>null==e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length,$=e=>e?new Date(e).toLocaleTimeString("en-GB",{timeZone:"UTC",hour:"2-digit",minute:"2-digit",second:"2-digit"})+" UTC":"",Q=e=>"number"==typeof e?"".concat((e/1e3).toFixed(1)," s"):"—",Z=e=>{var t;return(null===(t=e.interaction)||void 0===t?void 0:t.serverTime)||e.createdAt||null},q=e=>{var t,l;return(e.feedback?"".concat(e.feedback.choice,"@").concat(null!==(t=e.feedback.at)&&void 0!==t?t:""):"")+(e.report?"|report@".concat(null!==(l=e.report.at)&&void 0!==l?l:""):"")},K=e=>new Date(e).toISOString().slice(0,10),V=e=>{let t=K(Date.now()),l=K(Date.now()-864e5);return e===t?"Today":e===l?"Yesterday":new Date("".concat(e,"T00:00:00Z")).toLocaleDateString("en-GB",{timeZone:"UTC",day:"numeric",month:"long",year:"numeric"})},X=e=>"number"==typeof e?"$"+e.toFixed(2):"—",Y=e=>"number"==typeof e?new Date((e+978307200)*1e3).toLocaleDateString("en-GB",{timeZone:"UTC",day:"numeric",month:"short",year:"numeric"}):"string"==typeof e&&e?e.slice(0,10):null;
1class ee extends Error{}let et=["flightAddedCardJSON","activityActionCardJSON","swapActivityCardJSON","regionStructureCardJSON","stayOverviewCardJSON","stayActionCardJSON","regionsOverviewCardJSON","dayOverviewCardJSON","taskChecklistCardJSON"];function el(e){return(Array.isArray(e)?e:e&&"object"==typeof e?Object.keys(e).sort((e,t)=>Number(e)-Number(t)).map(t=>e[t]):[]).filter(Boolean).map(e=>{let t={};for(let[l,s]of Object.entries(e))if("attachmentThumbnailData"!==l){if(et.includes(l)){if("string"==typeof s&&s)try{t[l.replace(/JSON$/,"")]=JSON.parse(s)}catch(e){t[l]=s}continue}t[l]=s}return t})}async function es(e){let t=(0,a.v0)().currentUser;if(!t)throw new ee("Not signed in");let l=await t.getIdToken(),s="".concat(h,"?").concat(new URLSearchParams(e).toString()),n=await fetch(s,{headers:{Authorization:"Bearer ".concat(l)}});if(!n.ok){let e=await n.json().catch(()=>({}));if(403===n.status)throw new ee(e.error||"Admins only");throw Error(e.error||"HTTP ".concat(n.status))}return n.json()}function en(e){let{value:t,onChange:l,placeholder:n,className:a,onKeyDown:i}=e;return(0,s.jsxs)("div",{className:"".concat(u().searchWrap," ").concat(a||""),children:[(0,s.jsx)("input",{className:u().search,type:"text",placeholder:n,value:t,onChange:e=>l(e.target.value),onKeyDown:i}),t.trim()?(0,s.jsx)("button",{type:"button",className:u().searchClear,onClick:()=>l(""),"aria-label":"Clear search",children:(0,s.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"}),(0,s.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"})]})}):null]})}function ea(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,[l,s]=(0,n.useState)(e);return(0,n.useEffect)(()=>{if(!e.trim()){s(e);return}let l=window.setTimeout(()=>s(e),t);return()=>window.clearTimeout(l)},[e,t]),l}function ei(e){let{title:t,onClose:l,children:n}=e;return(0,s.jsx)("div",{className:u().overlay,onClick:l,role:"presentation",children:(0,s.jsxs)("div",{className:u().modal,role:"dialog","aria-label":t,onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:u().modalHead,children:[(0,s.jsx)("b",{children:t}),(0,s.jsx)("button",{type:"button",className:u().modalClose,onClick:l,"aria-label":"Close",children:(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"}),(0,s.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"})]})})]}),(0,s.jsx)("div",{className:u().modalBody,children:n})]})})}function eo(e){let{name:t,value:l}=e,a=(0,n.useMemo)(()=>"flightOffers"===t&&Array.isArray(null==l?void 0:l.offers)?l.offers.map((e,t)=>{var l,s;return"#".concat(t+1," ").concat(null===(l=e.outbound)||void 0===l?void 0:l.from,"→").concat(null===(s=e.outbound)||void 0===s?void 0:s.to," ").concat(e.currency||"USD"," ").concat(Math.round(e.priceTotal)).concat(e.badge?" \xb7 ".concat(e.badge):"")}).join(" \xb7 "):"suggestedHotels"===t&&Array.isArray(l)?l.map(e=>e.name).filter(Boolean).slice(0,4).join(" \xb7 "):"suggestedActivities"===t&&Array.isArray(l)?l.map(e=>e.name||e.title).filter(Boolean).slice(0,4).join(" \xb7 "):"linkChips"===t&&Array.isArray(l)?l.map(e=>e.title).filter(Boolean).join(" \xb7 "):"sources"===t&&Array.isArray(l)?"".concat(l.length," source").concat(1===l.length?"":"s"):"banner"===t?"".concat((null==l?void 0:l.style)||""," ").concat((null==l?void 0:l.text)||"").trim():Array.isArray(l)?"".concat(l.length," item").concat(1===l.length?"":"s"):null,[t,l]);return(0,s.jsxs)("details",{className:u().attach,children:[(0,s.jsxs)("summary",{children:[(0,s.jsx)("span",{className:u().attachLabel,children:z[t]||"\uD83D\uDCE6 ".concat(t)}),(0,s.jsx)("span",{className:u().attachHint,children:a||"json"})]}),(0,s.jsx)("pre",{children:JSON.stringify(l,null,2)})]})}function er(e){var t,l,n,a,i,o,r,d,h,m,p;let{m:y,dim:v,fresh:x,focused:_,onShare:f,shared:g,day:j}=e,b="user"===y.role,k=y.interaction,w=Object.entries(y).filter(e=>{let[t,l]=e;return!J.has(t)&&!G(l)});return(0,s.jsxs)("div",{id:"msg-".concat(y.id),"data-day":j||void 0,className:"".concat(u().msg," ").concat(b?u(
1).user:""," ").concat(v?u().dim:""," ").concat(x?u().fresh:""," ").concat(_?u().focused:""),children:[y.text?(0,s.jsxs)("div",{className:u().bubbleRow,children:[(0,s.jsxs)("div",{className:u().bubbleWrap,children:[b?(0,s.jsx)("div",{className:u().bubble,children:y.text}):(0,s.jsx)(c,{className:u().bubble,text:y.text}),!b&&(y.feedback||y.report)?(0,s.jsxs)("span",{className:"".concat(u().tapback," ").concat((null===(t=y.feedback)||void 0===t?void 0:t.choice)==="dislike"||y.report?u().tapbackBad:u().tapbackGood),title:[null===(l=y.feedback)||void 0===l?void 0:l.choice,y.report?"reported":""].filter(Boolean).join(" \xb7 "),children:[(null===(n=y.feedback)||void 0===n?void 0:n.choice)==="like"?"\uD83D\uDC4D":(null===(a=y.feedback)||void 0===a?void 0:a.choice)==="dislike"?"\uD83D\uDC4E":"",y.report?"\uD83D\uDEA9":""]},q(y)):null]}),f?(0,s.jsx)("button",{type:"button",className:"".concat(u().msgShare," ").concat(g?u().msgShared:""),onClick:()=>f(y.id),title:g?"Link copied":"Copy link to this message","aria-label":"Copy link to this message",children:g?(0,s.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("polyline",{points:"5 12 10 17 19 8"})}):(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.5 1.5"}),(0,s.jsx)("path",{d:"M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.5-1.5"})]})}):null]}):null,w.map(e=>{let[t,l]=e;return(0,s.jsx)(eo,{name:t,value:l},t)}),(null===(i=y.toolCalls)||void 0===i?void 0:i.length)?(0,s.jsxs)("details",{className:u().attach,children:[(0,s.jsxs)("summary",{children:[(0,s.jsxs)("span",{className:u().attachLabel,children:["\uD83D\uDEE0 toolCalls \xb7 ",y.toolCalls.length]}),(0,s.jsx)("span",{className:u().attachHint,children:y.toolCalls.map(e=>e.name).join(", ")})]}),(0,s.jsx)("pre",{children:JSON.stringify(y.toolCalls,null,2)})]}):null,(null===(r=y.feedback)||void 0===r?void 0:null===(o=r.reasons)||void 0===o?void 0:o.length)||(null===(d=y.feedback)||void 0===d?void 0:d.comment)?(0,s.jsxs)("div",{className:"".concat(u().attach," ").concat(u().feedbackBlock),children:[(0,s.jsx)("div",{className:u().feedbackHead,children:"\uD83D\uDC4E Dislike details"}),(null===(h=y.feedback.reasons)||void 0===h?void 0:h.length)?(0,s.jsx)("div",{className:u().optionChips,children:y.feedback.reasons.map(e=>(0,s.jsx)("span",{className:u().optionChip,children:e},e))}):null,y.feedback.comment?(0,s.jsx)("div",{className:u().feedbackComment,children:y.feedback.comment}):null]}):null,y.report?(0,s.jsxs)("div",{className:"".concat(u().attach," ").concat(u().feedbackBlock," ").concat(u().reportBlock),children:[(0,s.jsx)("div",{className:u().feedbackHead,children:"\uD83D\uDEA9 Reported"}),(null===(m=y.report.reasons)||void 0===m?void 0:m.length)?(0,s.jsx)("div",{className:u().optionChips,children:y.report.reasons.map(e=>(0,s.jsx)("span",{className:u().optionChip,children:e},e))}):null,y.report.comment?(0,s.jsx)("div",{className:u().feedbackComment,children:y.report.comment}):null]}):null,(null===(p=y.options)||void 0===p?void 0:p.length)?(0,s.jsx)("div",{className:u().optionChips,children:y.options.map(e=>(0,s.jsx)("span",{className:u().optionChip,children:e.startsWith("__")?e.replace(/^__|__$/g,""):e},e))}):null,(0,s.jsxs)("div",{className:"".concat(u().meta," ").concat(u().metaText),children:[!b&&k?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:(0,s.jsx)("b",{children:X(k.costUsd)})}),(0,s.jsxs)("span",{children:["wait ",Q(k.latencyMs)]})]}):null,(null==k?void 0:k.serverTime)||y.createdAt?(0,s.jsx)("span",{className:u().mono,children:$((null==k?void 0:k.serverTime)||y.createdAt)}):null]}),!b&&k?(0,s.jsxs)("div",{className:u().meta,children:[(0,s.jsx)("span",{className:"".concat(u().pill," ").concat(u()[k.category]||""),children:k.category}),(k.topics||[k.topic].filter(Boolean)).map(e=>(0,s.jsx)("span",{className:"".concat(u().pill," ").concat(u().topic),children:e},e)),(k.tools||[]).map(e=>(0,s.jsx)("span",{className:"".concat(u().pill," ").concat(u().tool),children:e},e))]}):null]})}function ec(){var e,t,l,a,o,r;let c;
1let[d,h]=(0,n.useState)(null),[j,D]=(0,n.useState)(null),[T,M]=(0,n.useState)(null),[R,J]=(0,n.useState)(null),[z,G]=(0,n.useState)(null),[$,et]=(0,n.useState)(!1),[eo,ec]=(0,n.useState)("all"),[ed,eu]=(0,n.useState)("all"),[eh,em]=(0,n.useState)("all"),[ep,ey]=(0,n.useState)(""),[ev,ex]=(0,n.useState)(!1),[e_,ef]=(0,n.useState)(x),[eg,ej]=(0,n.useState)({category:"all",topic:"all",tool:"all",...x}),eb=e=>ej(t=>({...t,...e})),[ek,ew]=(0,n.useState)(new Set),[eC,eN]=(0,n.useState)(new Set),[eS,eD]=(0,n.useState)(!1),[eT,eA]=(0,n.useState)(null),[eI,eB]=(0,n.useState)(!1),eF=(0,n.useRef)(null),{copied:eE,copy:eL}=function(){let[e,t]=(0,n.useState)(null);return{copied:e,copy:(0,n.useCallback)(async(e,l)=>{try{await navigator.clipboard.writeText(l)}catch(e){return}t(e),window.setTimeout(()=>t(t=>t===e?null:t),1400)},[])}}(),eO=(0,n.useCallback)((e,t)=>{let l=new URL(window.location.href);return l.search=new URLSearchParams({owner:e.ownerId,trip:e.tripId,uid:e.uid,...t?{msg:t}:{}}).toString(),l.toString()},[]),[eU,eM]=(0,n.useState)(null),[eR,eW]=(0,n.useState)(new Set),eH=(0,n.useRef)(null),[eP,eJ]=(0,n.use
1State)(!1),[ez,eG]=(0,n.useState)(null),[e$,eQ]=(0,n.useState)("chats"),[eZ,eq]=(0,n.useState)(""),[eK,eV]=(0,n.useState)(null),[eX,eY]=(0,n.useState)(!1),[e0,e1]=(0,n.useState)(w),[e2,e4]=(0,n.useState)(w),e8=e0.tier,e3=C(e0),e5=e=>e4(t=>({...t,...e})),[e6,e7]=(0,n.useState)(()=>{try{return new Set(JSON.parse(localStorage.getItem(I)||"[]"))}catch(e){return new Set}}),[e9,te]=(0,n.useState)(F),[tt,tl]=(0,n.useState)(L);(0,n.useEffect)(()=>{let e=document.documentElement,t=e.style.background;return e.style.background="dark"===tt?"#000":"",()=>{e.style.background=t}},[tt]);let ts=(0,n.useCallback)((e,t)=>{te(l=>{if(l[e]===t)return l;let s={...l,[e]:t};try{localStorage.setItem(B,JSON.stringify(s))}catch(e){}return s})},[]),tn=(0,n.useCallback)((e,t)=>{e7(t=>{let l=new Set(t);l.has(e)?l.delete(e):l.add(e);try{localStorage.setItem(I,JSON.stringify(Array.from(l)))}catch(e){}return l}),"number"==typeof t&&ts(e,t)},[ts]),[ta,ti]=(0,n.useState)({}),[to,tr]=(0,n.useState)({}),tc=(0,n.useCallback)(e=>e?e.uid in to?to[e.uid]:e.usage:null,[to]);(0,n.useEffect)(()=>{let e=[];return e6.forEach(t=>{let[l,s,n]=t.split("/");if(!l||!s||!n)return;let a=(0,i.ref)((0,i.N8)(),"v2/user-data/assistant/".concat(l,"/").concat(s,"/chats/").concat(n,"/messages"));e.push((0,i.jM)(a,e=>{let l=y(el(e.val()));ti(e=>e[t]&&e[t].count===l.count&&e[t].costUsd===l.costUsd&&e[t].lastAt===l.lastAt?e:{...e,[t]:l})},()=>void 0))}),()=>e.forEach(e=>e())},[e6]);let td=(0,n.useCallback)(e=>{var t,l,s;let n=v(e);if(!e6.has(n))return 0;let a=null!==(l=null===(t=ta[n])||void 0===t?void 0:t.count)&&void 0!==l?l:e.messageCount;return Math.max(0,a-(null!==(s=e9[n])&&void 0!==s?s:a))},[e6,ta,e9]),tu=(0,n.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];D(null),e&&eJ(!0);try{let t=await es(e?{op:"list",fresh:"1"}:{op:"list"});h(t.chats),eG(Date.now()),M(null)}catch(e){e instanceof ee?M(e.message):D(e.message),h([])}finally{eJ(!1)}},[]);(0,n.useEffect)(()=>{tu()},[tu]);let th=ea(eZ).trim().toLowerCase(),tm=(0,n.useCallback)(e=>{var t,l;return!th||[e.ownerId,e.uid,e.tripId,e.trip.name,e.trip.locationName,null===(t=e.owner)||void 0===t?void 0:t.email,null===(l=e.owner)||void 0===l?void 0:l.displayName].some(e=>(e||"").toLowerCase().includes(th))},[th]),tp=(0,n.useCallback)(e=>{var t,l;return null!==(l=null!==(t=ta[v(e)])&&void 0!==t?t:e.feedback)&&void 0!==l?l:_},[ta]),ty=(0,n.useMemo)(()=>{let e=d||[];return("following"===e$?e.filter(e=>e6.has(v(e))):"users"===e$&&eK?e.filter(e=>e.ownerId===eK):e).filter(tm).filter(e=>!("all"!==e0.tier&&(e.tier||"free")!==e0.tier||!f(tp(e),e0.verdict)||!N(e.lastAt,e0)||!S(A(e.trip.startDate),e0)||e0.minMessages&&e.messageCount<Number(e0.minMessages)||e0.minSpend&&(e.costUsd||0)<Number(e0.minSpend))&&!!k(tc(e.owner),e0.usage))},[d,e$,e6,eK,tm,e0,tp,tc]),tv=(0,n.useMemo)(()=>{let e,t,l,s;let n=d||[],a=("following"===e$?n.filter(e=>e6.has(v(e))):"users"===e$&&eK?n.filter(e=>e.ownerId===eK):n).filter(tm);return{liked:(e="liked",a.filter(t=>f(tp(t),e)).length),disliked:(t="disliked",a.filter(e=>f(tp(e),t)).length),reported:(l="reported",a.filter(e=>f(tp(e),l)).length),rated:(s="rated",a.filter(e=>f(tp(e),s)).length)}},[d,e$,e6,eK,tm,tp]),tx=(0,n.useMemo)(()=>{let e=new Map;for(let t of d||[]){let l=e.get(t.ownerId)||{owner:t.owner||{uid:t.ownerId},chats:0,messages:0,costUsd:0,lastAt:null,tier:null};l.chats+=1,l.messages+=t.messageCount,l.costUsd+=t.costUsd||0,l.lastAt=Math.max(l.lastAt||0,t.lastAt||0)||null,"pro"!==t.tier&&l.tier||(l.tier=t.tier||l.tier),e.set(t.ownerId,l)}return Array.from(e.values()).filter(e=>!th||[e.owner.uid,e.owner.email,e.owner.displayName].some(e=>(e||"").toLowerCase().includes(th))).filter(e=>"all"===e8||(e.tier||"free")===e8).filter(e=>N(e.lastAt,e0)).filter(e=>k(tc(e.owner),e0.usage)).sort((e,t)=>(t.lastAt||0)-(e.lastAt||0))},[d,th,e8,e0,tc]),t_=(0,n.useMemo)(()=>{var e,t;return eK?(null===(e=tx.find(e=>e.owner.uid===eK))||void 0===e?void 0:e.owner)||(null===(t=(d||[]).find(e=>e.ownerId===eK))||void 0===t?void 0:t.owner)||{uid:eK}:null},[eK,tx,d]),tf="users"!==e$||eK?ty.length:tx.length,tg=(0,n.useMemo)(()=>(d||[]).filter(e=>e6.has(v(e))&&td(e)>0).length,[d,e6,td]),tj=(0,n.useCallback)(async e=>{J(e),et(!0),D(null);try{G(await es({op:"chat",owner:e.ownerId,trip:e.tripId,uid:e.uid}))}catch(e){D(e.message),G(null)}finally{et(!1)}},[]),tb=(0,n.useRef)(!1);(0,n.useEffect)(()=>
1{if(tb.current||!d)return;tb.current=!0;let e=new URLSearchParams(window.location.search),t=e.get("owner"),l=e.get("trip"),s=e.get("uid");e.get("msg")&&eM(e.get("msg")),t&&l&&s&&tj(d.find(e=>e.ownerId===t&&e.tripId===l&&e.uid===s)||{ownerId:t,tripId:l,uid:s,trip:{},messageCount:0,tagged:0,counts:{},topics:{},tools:{},costUsd:0,tier:null,firstAt:null,lastAt:null,avgWaitMs:null})},[d,tj]);let tk=(0,n.useCallback)(()=>{let e=eH.current;e&&(e.scrollTop=e.scrollHeight)},[]),tw=z?"".concat(z.ownerId,"/").concat(z.tripId,"/").concat(z.uid):null,tC=(0,n.useMemo)(()=>{let e=new Set;return z&&e.add(z.ownerId),"users"!==e$||eK||tx.forEach(t=>e.add(t.owner.uid)),Array.from(e).sort()},[z,e$,eK,tx]),tN=tC.join("|");(0,n.useEffect)(()=>{let e=[];for(let t of tC){let l=!0;e.push((0,i.jM)((0,i.ref)((0,i.N8)(),"v2/user-data/users/".concat(t,"/ai-usage")),()=>{if(l){l=!1;return}es({op:"usage",uid:t}).then(e=>tr(l=>({...l,[t]:e.usage}))).catch(()=>void 0)},()=>void 0))}return()=>e.forEach(e=>e())},[tN]);let tS=(0,n.useMemo)(()=>z?y(z.messages):null,[z]);(0,n.useEffect)(()=>{tw&&tS&&ti(e=>e[tw]&&e[tw].count===tS.count&&e[tw].costUsd===tS.costUsd&&e[tw].lastAt===tS.lastAt?e:{...e,[tw]:tS})},[tw,tS]),(0,n.useEffect)(()=>{if(!tw||$)return;let e=requestAnimationFrame(()=>requestAnimationFrame(()=>{let e=eU?document.getElementById("msg-".concat(eU)):null;e?(e.scrollIntoView({block:"center"}),window.setTimeout(()=>eM(null),4e3)):tk()}));return()=>cancelAnimationFrame(e)},[tw,$,tk]);let tD=(0,n.useCallback)(()=>{let e=eH.current;if(!e)return;eD(e.scrollHeight-e.scrollTop-e.clientHeight>200);let t=e.querySelectorAll("[data-day]"),l=null;for(let s=0;s<t.length;s++){let n=t[s];if(n.offsetTop+n.offsetHeight>e.scrollTop+8){l=n.dataset.day||null;break}}eA(l),eB(!0),eF.current&&window.clearTimeout(eF.current),eF.current=window.setTimeout(()=>eB(!1),2e3);let s=e.scrollTop,n=s+e.clientHeight,a=e=>t=>{if(!t.size)return t;let l=new Set(t);return t.forEach(t=>{let s=document.getElementById("msg-".concat(t));s&&e(s)&&l.delete(t)}),l.size===t.size?t:l};ew(a(e=>e.offsetTop+e.offsetHeight<=n+4)),eN(a(e=>e.offsetTop>=s-12&&e.offsetTop+24<=n))},[]);(0,n.useEffect)(()=>{if(!z||z.legacy){ew(new Set),eN(new Set);return}
1let e="v2/user-data/assistant/".concat(z.ownerId,"/").concat(z.tripId,"/chats/").concat(z.uid,"/messages"),t=!0,l=(0,i.jM)((0,i.ref)((0,i.N8)(),e),e=>{if(t){t=!1;return}let l=el(e.val());l.length&&G(e=>{if(!e)return e;let t=new Map(e.messages.map(e=>[e.id,e])),s=l.filter(e=>!t.has(e.id)).map(e=>e.id),n=[],a=[];for(let e of l){let l=t.get(e.id);l&&q(l)!==q(e)&&(q(e)?n:a).push(e.id)}return s.length&&(ew(e=>{let t=new Set(e);return s.forEach(e=>t.add(e)),t}),eW(new Set(s)),window.setTimeout(()=>eW(new Set),900)),(n.length||a.length)&&eN(e=>{let t=new Set(e);return n.forEach(e=>t.add(e)),a.forEach(e=>t.delete(e)),t}),(s.length||n.length)&&requestAnimationFrame(tD),{...e,messages:l}})},e=>console.warn("[adminChats] live listener:",e.message));return()=>{l(),ew(new Set),eN(new Set)}},[null==z?void 0:z.ownerId,null==z?void 0:z.tripId,null==z?void 0:z.uid,null==z?void 0:z.legacy,tD]),(0,n.useEffect)(()=>{if(!ev&&!eX)return;let e=e=>{"Escape"===e.key&&(ex(!1),eY(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ev,eX]);let tT=ek.size;(0,n.useEffect)(()=>{z&&0===ek.size&&e6.has(v(z))&&ts(v(z),z.messages.length)},[z,ek,e6,ts]);let tA=(0,n.useCallback)(()=>{let e=eH.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},[]),tI=eC.size,tB=(0,n.useCallback)(()=>{let e=null;eC.forEach(t=>{let l=document.getElementById("msg-".concat(t));l&&(!e||l.offsetTop<e.offsetTop)&&(e=l)}),null==e||e.scrollIntoView({block:"center",behavior:"smooth"})},[eC]),tF=(0,n.useMemo)(()=>{let e=new Set;for(let t of d||[])for(let l of Object.keys(t.tools||{}))e.add(l);for(let t of Object.keys((null==z?void 0:z.tools)||{}))e.add(t);return Array.from(e).sort()},[d,z]),tE=("all"!==eo?1:0)+("all"!==ed?1:0)+("all"!==eh?1:0)+("any"!==e_.time?1:0)+(e_.minCost?1:0)+(e_.minWait?1:0)+("any"!==e_.verdict?1:0),tL=ea(ep).trim().toLowerCase(),tO="all"!==eo||"all"!==ed||"all"!==eh||!!e_.minCost||!!e_.minWait||"any"!==e_.verdict,tU=tO||"any"!==e_.time,tM=(0,n.useCallback)(e=>{if(!tO||"all"===eo&&"all"===ed&&"all"===eh&&!e_.minCost&&!e_.minWait)return!0;let t=e.interaction;return!(!t||"all"!==eo&&t.category!==eo||"all"!==ed&&!(t.topics||[t.topic]).includes(ed)||"all"!==eh&&!(t.tools||[]).includes(eh)||e_.minCost&&(t.costUsd||0)<Number(e_.minCost)||e_.minWait&&(t.latencyMs||0)<1e3*Number(e_.minWait))},[eo,ed,eh,e_,tO]),tR=(0,n.useMemo)(()=>{let e=new Set,t=e=>!tL||(e.text||"").toLowerCase().includes(tL);for(let l of(null==z?void 0:z.messages)||[])if(b(Z(l),e_)&&t(l)){if("user"===l.role){tO||e.add(l.id);continue}g(l,e_.verdict)&&tM(l)&&e.add(l.id)}return e},[z,tL,tM,tO,e_]),tW=(0,n.useCallback)(e=>tR.has(e.id),[tR]),tH=tU||!!tL,tP=(0,n.useMemo)(()=>tH?((null==z?void 0:z.messages)||[]).filter(e=>tR.has(e.id)).map(e=>e.id):[],[tH,z,tR]),[tJ,tz]=(0,n.useState)(-1),tG=null!==(a=tP[tJ])&&void 0!==a?a:null,t$=(0,n.useCallback)(e=>{var t;if(!tP.length)return;let l=(e%tP.length+tP.length)%tP.length;tz(l),null===(t=document.getElementById("msg-".concat(tP[l])))||void 0===t||t.scrollIntoView({block:"center",behavior:"smooth"})},[tP]),tQ=tP.join("|");(0,n.useEffect)(()=>{if(!tP.length){tz(-1);return}let e=window.setTimeout(()=>t$(tP.length-1),0);return()=>window.clearTimeout(e)},[tQ]);let tZ=(0,n.useCallback)(e=>{"Enter"===e.key&&(e.preventDefault(),t$(tJ+(e.shiftKey?1:-1)))},[t$,tJ]),tq=(0,n.useMemo)(()=>{if(!z)return{turns:0,total:0,cost:0,wait:null};let e=z.messages.filter(e=>"user"!==e.role&&e.interaction),t=e.filter(tW);return{turns:t.length,total:e.length,cost:t.reduce((e,t)=>{var l;return e+((null===(l=t.interaction)||void 0===l?void 0:l.costUsd)||0)},0),wait:(e=>{let t=e.filter(e=>"number"==typeof e);return t.length?t.reduce((e,t)=>e+t,0)/t.length:null})(t.map(e=>{var t;return null===(t=e.interaction)||void 0===t?void 0:t.latencyMs}))}},[z,tW]),tK=e=>{let{on:t,onClick:l,children:n}=e;return(0,s.jsx)("button",{type:"button",className:"".concat(u().chip," ").concat(t?u().on:""),onClick:l,children:n})};return((0,n.useEffect)(()=>{T&&window.location.replace("/")},[T]),T)?null:(0,s.jsxs)("div",{className:u().wrap,"data-theme":tt,children:[j?(0,s.jsx)("div",{className:u().error,children:j}):null,(0,s.jsx)("button",{type:"button",className:u().themeBtn,onClick:()=>tl(e=>{let t="dark"===e?"light":"dark";try{localStorage.setItem(E,t)}catch(e){}return t}),title:"dark"===tt?"Light theme":"Dark theme","aria-label":"dark"===tt?"Switch to light theme":"Switch to dark theme",children:"dark"===tt?(0,s.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,s.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"4"}),(0,s.jsx)("line",{x1:"12",y1:"20",x2:"12",y2:"22"}),(0,s.jsx)("line",{x1:"4.93",y1:"4.93",x2:"6.34",y2:"6.34"}),(0,s.jsx)("line",{x1:"17.66",y1:"17.66",x2:"19.07",y2:"19.07"}),(0,s.jsx)("line",{x1:"2",y1:"12",x2:"4",y2:"12"}),(0,s.jsx)("line",{x1:"20",y1:"12",x2:"22",y2:"12"}),(0,s.jsx)("line",{x1:"4.93",y1:"19.07",x2:"6.34",y2:"17.66"}),(0,s.jsx)("line",{x1:"17.66",y1:"6.34",x2:"19.07",y2:"4.93"})]}):(0,s.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})}),(0,s.jsxs)("div",{className:u().layout,children:[(0,s.jsxs)("div",{className:u().panel,children:[(0,s.jsx)("div",{className:u().tabs,children:["chats","users","following"].map(e=>(0,s.jsxs)("button",{type:"button",className:"".concat(u().tab," ").concat(e$===e?u().tabO
1n:""),onClick:()=>{eQ(e),eV(null)},children:["chats"===e?"All Chats":"users"===e?"Users":"Following","following"===e&&tg>0?(0,s.jsx)("span",{className:u().tabBadge,children:tg}):null]},e))}),(0,s.jsxs)("div",{className:u().searchRow,children:[(0,s.jsx)(en,{value:eZ,onChange:eq,placeholder:"users"!==e$||eK?"uid, trip id, trip name, email…":"uid, email, name…"}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",className:"".concat(u().iconBtn," ").concat(e3?u().iconBtnOn:""),onClick:()=>{e4(e0),eY(!0)},title:"Filters","aria-label":"Filters",children:[e3?(0,s.jsx)("span",{className:u().countBadge,children:e3}):null,(0,s.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("line",{x1:"4",y1:"7",x2:"20",y2:"7"}),(0,s.jsx)("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),(0,s.jsx)("line",{x1:"4",y1:"17",x2:"20",y2:"17"}),(0,s.jsx)("circle",{className:u().knob,cx:"9",cy:"7",r:"2"}),(0,s.jsx)("circle",{className:u().knob,cx:"15",cy:"12",r:"2"}),(0,s.jsx)("circle",{className:u().knob,cx:"8",cy:"17",r:"2"})]})]}),eX?(0,s.jsxs)(ei,{title:"Filter chats",onClose:()=>eY(!1),children:[(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"tier"}),(0,s.jsx)("div",{className:u().grp,children:["all","pro","free"].map(e=>(0,s.jsx)(tK,{on:e2.tier===e,onClick:()=>e5({tier:e}),children:"all"===e?"all":e.toUpperCase()},e))})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"usage"}),(0,s.jsx)("div",{className:u().grp,children:[["any","any"],["under50","under 50%"],["50to80","50–80%"],["over80","80%+"],["capped","at the cap"]].map(e=>{let[t,l]=e;return(0,s.jsx)(tK,{on:e2.usage===t,onClick:()=>e5({usage:t}),children:l},t)})})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"last activity"}),(0,s.jsxs)("div",{className:u().grp,children:[[["any","any time"],["1h","last hour"],["12h","last 12 hours"],["24h","last 24 hours"],["7d","last 7 days"],["30d","last 30 days"]].map(e=>{let[t,l]=e;return(0,s.jsx)(tK,{on:e2.activity===t,onClick:()=>e5({activity:t,activeFrom:"",activeTo:""}),children:l},t)}),(0,s.jsx)(tK,{on:"custom"===e2.activity,onClick:()=>e5({activity:"custom"}),children:"custom range…"})]}),"custom"===e2.activity?(0,s.jsxs)("div",{className:"".concat(u().dates," ").concat(u().datesReveal),children:[(0,s.jsx)("input",{type:"datetime-local",className:u().dateInput,value:e2.activeFrom,max:e2.activeTo||void 0,onChange:e=>e5({activeFrom:e.target.value})}),(0,s.jsx)("span",{className:u().dateSep,children:"–"}),(0,s.jsx)("input",{type:"datetime-local",className:u().dateInput,value:e2.activeTo,min:e2.activeFrom||void 0,onChange:e=>e5({activeTo:e.target.value})}),(0,s.jsx)("span",{className:u().dateHint,children:"UTC"})]}):null]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"feedback"}),(0,s.jsx)("div",{className:u().grp,children:[["any","all",null],["liked","\uD83D\uDC4D liked",tv.liked],["disliked","\uD83D\uDC4E disliked",tv.disliked],["reported","\uD83D\uDEA9 reported",tv.reported],["rated","any reaction",tv.rated]].map(e=>{let[t,l,n]=e;return(0,s.jsxs)(tK,{on:e2.verdict===t,onClick:()=>e5({verdict:t}),children:[l,"number"==typeof n?" (".concat(n,")"):""]},t)})})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"trip start"}),(0,s.jsxs)("div",{className:u().grp,children:[[["any","any time"],["next7","next 7 days"],["next30","next 30 days"],["next90","next 90 days"],["past","already started"]].map(e=>{let[t,l]=e;return(0,s.jsx)(tK,{on:e2.trip===t,onClick:()=>e5({trip:t,tripFrom:"",tripTo:""}),children:l},t)}),(0,s.jsx)(tK,{on:"custom"===e2.trip,onClick:()=>e5({trip:"custom"}),children:"custom range…"})]}),"custom"===e2.trip?(0,s.jsxs)("div",{className:"".concat(u().dates," ").concat(u().datesReveal),children:[(0,s.jsx)("input",{type:"date",className:u().dateInput,value:e2.tripFrom,max:e2.tripTo||void 0,onChange:e=>e5({tripFrom:e.target.value})}),(0,s.jsx)("span",{className:u().dateSep,children:"–"}),(0,s.jsx)("input",{type:"date",className:u().dateInput,value:e2.tripTo,min:e2.tripFrom||void 0,onChange:e=>e5({tripTo:e.target.value})})]}):null]}),(0,s.jsxs)("div",{className:u().twoCol,children:[(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"min messages"}),(0,s.jsx)("input",{type:"number",min:0,className:u().numInput,placeholder:"0",value:e2.minMessages,onChange:e=>e5({minMessages:e.target.value})})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"min spend, $"}),(0,s.jsx)("input",{type:"number",min:0,step:"0.1",className:u().numInput,placeholder:"0.00",value:e2.minSpend,onChange:e=>e5({minSpend:e.target.value})})]})]}),(0,s.jsxs)("div",{className:u().popFoot,children:[(0,s.jsx)("button",{type:"button",className:u().btnQuiet,onClick:()=>{e1(w),eY(!1)},children:"Clear"}),(0,s.jsx)("button",{type:"button",className:u().btnPrimary,onClick:()=>{e1(e2),eY(!1)},children:"Save"})]})]}):null]}),(0,s.jsx)("button",{type:"button",className:"".concat(u().iconBtn," ").concat(eP?u().spinning:""),onClick:()=>tu(!0),title:"Refresh","aria-label":"Refresh",disabled:eP,children:(0,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"M21 12a9 9 0 1 1-2.64-6.36"}),(0,s.jsx)("polyline",{points:"21 3 21 9 15 9"})]})})]}),(0,s.jsxs)("div",{className:u().ghost,children:[d?"".concat(tf," result").concat(1===tf?"":"s"):"Loading…",ez?" \xb7 ".concat(O(ez)):""]}),"users"===e$&&eK?(0,s.jsxs)("button",{type:"button",className:u().backBar,onClick:()=>eV(null),children:[(0,s.jsx)("svg",{className:u().backArrow,width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,s.jsx)("polyline",{points:"15 5 8 12 15 19"})}),(0,s.jsx)(W,{owner:t_,size:24}),(0,s.jsx)("span",{className:u().mono,children:(null==t_?void 0:t_.email)||(null==t_?void 0:t_.uid)||eK})]}):null,(0,s.jsx)("div",{className:u().list,children:d?"users"!==e$||eK?0===ty.length?(0,s.jsx)("div",{className:u().empty,children:"following"===e$?"Star a chat to follow it here.":0===d.length?"No chats on the new root yet.":"No chats match."}):ty.map(e=>{var t,l,n,a,i,o,r,c,d,h,m,p,y,x,_,f,g,j,b,k,w;let C=v(e);return(0,s.jsxs)("div",{className:"".concat(u().chatRow," ").concat(R&&v(R)===C?u().active:""),onClick:()=>tj(e),role:"button",tabIndex:0,onKeyDown:t=>{"Enter"===t.key&&tj(e)},children:[(0,s.jsxs)("div",{className:u().rowHead,children:[(0,s.jsxs)("b",{children:[e.trip.name||e.trip.locationName||e.tripId,Y(e.trip.startDate)?" \xb7 ".concat(Y(e.trip.startDate)):""]}),(0,s.jsx)(P,{on:e6.has(C),onClick:t=>{var l,s;t.stopPropagation(),tn(C,null!==(s=null===(l=ta[C])||void 0===l?void 0:l.count)&&void 0!==s?s:e.messageCount)}})]}),(0,s.jsxs)("small",{children:[(null===(t=e.owner)||void 0===t?void 0:t.email)||"owner ".concat(e.ownerId.slice(0,6),"…"),(null!==(x=null===(l=ta[C])||void 0===l?void 0:l.lastAt)&&void 0!==x?x:e.lastAt)?" \xb7 active ".concat(U(null!==(_=null===(n=ta[C])||void 0===n?void 0:n.lastAt)&&void 0!==_?_:e.lastAt)):""]}),(0,s.jsxs)("div",{className:u().stats,children:[td(e)>0?(0,s.jsxs)("span",{className:"".concat(u().pill," ").concat(u().newPill),children:[td(e)," new"]}):null,(0,s.jsxs)("span",{className:u().pill,children:[null!==(f=null===(a=ta[C])||void 0===a?void 0:a.count)&&void 0!==f?f:e.messageCount," msgs"]}),(0,s.jsx)("span",{className:u().pill,children:X(null!==(g=null===(i=ta[C])||void 0===i?void 0:i.costUsd)&&void 0!==g?g:e.costUsd)}),(null!==(j=null===(o=ta[C])||void 0===o?void 0:o.dislikes)&&void 0!==j?j:null===(r=e.feedback)||void 0===r?void 0:r.dislikes)?(0,s.jsxs)("span",{className:"".concat(u().pill," ").concat(u().disliked),children:["\uD83D\uDC4E ",null!==(b=null===(c=ta[C])||void 0===c?void 0:c.dislikes)&&void 0!==b?b:null===(d=e.feedback)||void 0===d?void 0:d.dislikes]}):null,(null!==(k=null===(h=ta[C])||void 0===h?void 0:h.reports)&&void 0!==k?k:null===(m=e.feedback)||void 0===m?void 0:m.reports)?(0,s.jsxs)("span",{className:"".concat(u().pill," ").concat(u().disliked),children:["\uD83D\uDEA9 ",null!==(w=null===(p=ta[C])||void 0===p?void 0:p.reports)&&void 0!==w?w:null===(y=e.feedback)||void 0===y?void 0:y.reports]}):null]})]},C)}):0===tx.length?(0,s.jsx)("div",{className:u().empty,children:"No users match."}):tx.map(e=>(0,s.jsxs)("button",{type:"button",className:u().userRow,onClick:()=>{eV(e.owner.uid),eq("")},children:[(0,s.jsx)(W,{owner:e.owner,size:36}),(0,s.jsxs)("span",{className:u().userText,children:[(0,s.jsxs)("span",{className:u().userHead,children:[(0,s.jsx)("b",{children:e.owner.dis
1playName||e.owner.email||e.owner.uid}),e.tier?(0,s.jsx)("span",{className:"".concat(u().pill," ").concat("pro"===e.tier?u().pro:""),children:e.tier.toUpperCase()}):null]}),e.owner.email&&e.owner.displayName?(0,s.jsx)("small",{children:e.owner.email}):null,(0,s.jsxs)("span",{className:u().stats,children:[(0,s.jsx)(H,{usage:tc(e.owner)}),(0,s.jsxs)("span",{className:u().pill,children:[e.chats," chat",1===e.chats?"":"s"]}),(0,s.jsxs)("span",{className:u().pill,children:[e.messages," msgs"]})]})]})]},e.owner.uid)):(0,s.jsx)("div",{className:u().empty,children:"Loading…"})})]}),(0,s.jsxs)("div",{className:u().panel,children:[z?(0,s.jsxs)("div",{className:u().chatHead,children:[(0,s.jsxs)("div",{className:u().profile,children:[(0,s.jsx)(W,{owner:z.owner,size:44}),(0,s.jsxs)("div",{className:u().profileText,children:[(0,s.jsxs)("div",{className:u().profileName,children:[(0,s.jsx)("b",{children:(null===(e=z.owner)||void 0===e?void 0:e.displayName)||(null===(t=z.owner)||void 0===t?void 0:t.email)||z.ownerId}),(0,s.jsx)(H,{usage:tc(z.owner)}),z.tier?(0,s.jsx)("span",{className:"".concat(u().pill," ").concat("pro"===z.tier?u().pro:""),children:z.tier.toUpperCase()}):null,(0,s.jsx)(P,{on:e6.has(v(z)),onClick:()=>tn(v(z),z.messages.length)})]}),(0,s.jsxs)("div",{className:u().profileLine,children:[(null===(l=z.owner)||void 0===l?void 0:l.email)?(0,s.jsx)("span",{children:z.owner.email}):null,(0,s.jsxs)("button",{type:"button",className:"".concat(u().uidCopy," ").concat("uid"===eE?u().uidCopied:""),onClick:()=>eL("uid",z.ownerId),title:"Copy uid",children:[(0,s.jsx)("span",{className:u().mono,children:z.ownerId}),(0,s.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("rect",{x:"9",y:"9",width:"12",height:"12",rx:"2"}),(0,s.jsx)("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]}),"uid"===eE?(0,s.jsx)("span",{className:u().copiedTag,children:"copied"}):null]})]}),(0,s.jsxs)("div",{className:u().profileMetrics,children:[(0,s.jsxs)("span",{children:[z.trip.name||z.trip.locationName||z.tripId,Y(z.trip.startDate)?" \xb7 ".concat(Y(z.trip.startDate)):""]}),(0,s.jsxs)("span",{children:["messages ",(0,s.jsx)("b",{children:z.messages.length})]}),(0,s.jsxs)("span",{children:["cost ",(0,s.jsx)("b",{children:X(tq.cost)})]}),(0,s.jsxs)("span",{children:["avg wait ",(0,s.jsx)("b",{children:Q(tq.wait)})]}),(null!==(o=null==tS?void 0:tS.lastAt)&&void 0!==o?o:z.lastAt)?(0,s.jsxs)("span",{children:["active ",(0,s.jsx)("b",{children:U(null!==(r=null==tS?void 0:tS.lastAt)&&void 0!==r?r:z.lastAt)})]}):null,tS&&(tS.likes||tS.dislikes||tS.reports)?(0,s.jsxs)("span",{children:["\uD83D\uDC4D ",(0,s.jsx)("b",{children:tS.likes})," \xb7 \uD83D\uDC4E ",(0,s.jsx)("b",{children:tS.dislikes}),tS.reports?(0,s.jsxs)(s.Fragment,{children:[" \xb7 \uD83D\uDEA9 ",(0,s.jsx)("b",{children:tS.reports})]}):null]}):null,z.legacy?(0,s.jsx)("span",{children:"legacy node"}):null]})]})]}),(0,s.jsxs)("div",{className:u().chatTools,children:[(0,s.jsx)(en,{className:u().searchSmall,value:ep,onChange:ey,placeholder:"Search messages…",onKeyDown:tZ}),(0,s.jsxs)("button",{type:"button",className:"".concat(u().iconBtn," ").concat(tE?u().iconBtnOn:""),onClick:()=>{ej({category:eo,topic:ed,tool:eh,...e_}),ex(!0)},title:"Filters","aria-label":"Filters",children:[tE?(0,s.jsx)("span",{className:u().countBadge,children:tE}):null,(0,s.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("line",{x1:"4",y1:"7",x2:"20",y2:"7"}),(0,s.jsx)("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),(0,s.jsx)("line",{x1:"4",y1:"17",x2:"20",y2:"17"}),(0,s.jsx)("circle",{className:u().knob,cx:"9",cy:"7",r:"2"}),(0,s.jsx)("circle",{className:u().knob,cx:"15",cy:"12",r:"2"}),(0,s.jsx)("circle",{className:u().knob,cx:"8",cy:"17",r:"2"})]})]}),(0,s.jsx)("button",{type:"button",className:"".concat(u().iconBtn," ").concat("link"===eE?u().iconBtnOn:""),onClick:()=>eL("link",eO(z)),title:"link"===eE?"Link copied":"Copy link to this chat","aria-label":"Share",children:"link"===eE?(0,s.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("polyline",{points:"5 12 10 17 19 8"})}):(0,s.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"}),(0,s.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,s.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]})}),ev?(0,s.jsxs)(ei,{title:"Filter messages",onClose:()=>ex(!1),children:[(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"category"}),(0,s.jsxs)("div",{className:u().grp,children:[(0,s.jsx)(tK,{on:"all"===eg.category,onClick:()=>ej(e=>({...e,category:"all"})),children:"all"}),m.map(e=>(0,s.jsx)(tK,{on:eg.category===e,onClick:()=>ej(t=>({...t,category:e})),children:e},e))]})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"topic"}),(0,s.jsxs)("div",{className:u().grp,children:[(0,s.jsx)(tK,{on:"all"===eg.topic,onClick:()=>ej(e=>({...e,topic:"all"})),children:"all"}),p.map(e=>(0,s.jsx)(tK,{on:eg.topic===e,onClick:()=>ej(t=>({...t,topic:e})),children:e.replace("_"," ")},e))]})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"feedback"}),(0,s.jsx)("div",{className:u().grp,children:[["any","all",null],["liked","\uD83D\uDC4D liked",null==tS?void 0:tS.likes],["disliked","\uD83D\uDC4E disliked",null==tS?void 0:tS.dislikes],["reported","\uD83D\uDEA9 reported",null==tS?void 0:tS.reports],["rated","any reaction",null==tS?void 0:tS.reacted]].map(e=>{let[t,l,n]=e;return(0,s.jsxs)(tK,{on:eg.verdict===t,onClick:()=>eb({verdict:t}
1),children:[l,"number"==typeof n?" (".concat(n,")"):""]},t)})})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"time"}),(0,s.jsxs)("div",{className:u().grp,children:[[["any","any time"],["1h","last hour"],["24h","last 24 hours"],["7d","last 7 days"]].map(e=>{let[t,l]=e;return(0,s.jsx)(tK,{on:eg.time===t,onClick:()=>eb({time:t,timeFrom:"",timeTo:""}),children:l},t)}),(0,s.jsx)(tK,{on:"custom"===eg.time,onClick:()=>eb({time:"custom"}),children:"custom range…"})]}),"custom"===eg.time?(0,s.jsxs)("div",{className:"".concat(u().dates," ").concat(u().datesReveal),children:[(0,s.jsx)("input",{type:"datetime-local",className:u().dateInput,value:eg.timeFrom,max:eg.timeTo||void 0,onChange:e=>eb({timeFrom:e.target.value})}),(0,s.jsx)("span",{className:u().dateSep,children:"–"}),(0,s.jsx)("input",{type:"datetime-local",className:u().dateInput,value:eg.timeTo,min:eg.timeFrom||void 0,onChange:e=>eb({timeTo:e.target.value})}),(0,s.jsx)("span",{className:u().dateHint,children:"UTC"})]}):null]}),(0,s.jsxs)("div",{className:u().twoCol,children:[(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"min cost, $"}),(0,s.jsx)("input",{type:"number",min:0,step:"0.01",className:u().numInput,placeholder:"0.00",value:eg.minCost,onChange:e=>eb({minCost:e.target.value})})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsx)("span",{className:u().lbl,children:"min wait, s"}),(0,s.jsx)("input",{type:"number",min:0,step:"1",className:u().numInput,placeholder:"0",value:eg.minWait,onChange:e=>eb({minWait:e.target.value})})]})]}),(0,s.jsxs)("div",{className:u().popSection,children:[(0,s.jsxs)("span",{className:u().lbl,children:["tool (",tF.length,")"]}),(0,s.jsxs)("div",{className:u().toolList,children:[(0,s.jsx)("button",{type:"button",className:"".concat(u().toolRow," ").concat("all"===eg.tool?u().toolRowOn:""),onClick:()=>ej(e=>({...e,tool:"all"})),children:(0,s.jsx)("span",{children:"any tool"})}),tF.map(e=>{var t;return(0,s.jsxs)("button",{type:"button",className:"".concat(u().toolRow," ").concat(eg.tool===e?u().toolRowOn:""),onClick:()=>ej(t=>({...t,tool:e})),children:[(0,s.jsx)("span",{className:u().mono,children:e}),(null==z?void 0:null===(t=z.tools)||void 0===t?void 0:t[e])?(0,s.jsx)("span",{className:u().toolCount,children:z.tools[e]}):null]},e)})]})]}),(0,s.jsxs)("div",{className:u().popFoot,children:[(0,s.jsx)("button",{type:"button",className:u().btnQuiet,onClick:()=>{ec("all"),eu("all"),em("all"),ef(x),ex(!1)},children:"Clear"}),(0,s.jsx)("button",{type:"button",className:u().btnPrimary,onClick:()=>{ec(eg.category),eu(eg.topic),em(eg.tool),ef({time:eg.time,timeFrom:eg.timeFrom,timeTo:eg.timeTo,minCost:eg.minCost,minWait:eg.minWait,verdict:eg.verdict}),ex(!1)},children:"Save"})]})]}):null]})]}):null,(0,s.jsxs)("div",{className:u().msgsWrap,children:[z&&eT?(0,s.jsx)("button",{type:"button",className:"".concat(u().stickyDay," ").concat(eI?u().stickyDayOn:""),onClick:()=>{let e=eH.current,t=null==e?void 0:e.querySelector('[data-divider="'.concat(eT,'"]'));e&&t&&e.scrollTo({top:t.offsetTop-8,behavior:"smooth"})},title:"Jump to the start of this day",children:V(eT)}):null,z&&tH?(0,s.jsxs)("div",{className:u().results,children:[(0,s.jsx)("button",{type:"button",className:u().resultsBtn,onClick:()=>{ey(""),ec("all"),eu("all"),em("all"),ef(x)},title:"Clear search and filters","aria-label":"Clear search and filters",children:(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"}),(0,s.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"})]})}),(0,s.jsx)("span",{className:u().resultsCount,children:tP.length?"".concat(tJ+1," / ").concat(tP.length):"No results"}),(0,s.jsx)("button",{type:"button",className:u().resultsBtn,onClick:()=>t$(tJ-1),disabled:!tP.length,title:"Older (Enter)","aria-label":"Older result",children:(0,s.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("polyline",{points:"6 15 12 9 18 15"})})}),(0,s.jsx)("button",{type:"button",className:u().resultsBtn,onClick:()=>t$(tJ+1),disabled:!tP.length,title:"Newer (Shift+Enter)","aria-label":"Newer result",children:(0,s.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("polyline",{points:"6 9 12 15 18 9"})})})]}):null,tT>0||tI>0?(0,s.jsxs)("div",{className:u().fabStack,children:[tI>0?(0,s.jsxs)("button",{type:"button",className:u().newBubble,onClick:tB,children:["Show ",tI," new reaction",1===tI?"":"s"]}):null,tT>0?(0,s.jsxs)("button",{type:"button",className:u().newBubble,onClick:tA,children:["Show ",tT," new message",1===tT?"":"s"]}):null]}):eS&&z?(0,s.jsx)("button",{type:"button",className:u().jumpEnd,onClick:tA,title:"Jump to the end","aria-label":"Jump to the end",children:(0,s.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("line",{x1:"12",y1:"4",x2:"12",y2:"20"}),(0,s.jsx)("polyline",{points:"5 13 12 20 19 13"})]})}):null,(0,s.jsx)("div",{className:u().msgs,ref:eH,onScroll:tD,children:(0,s.jsx)("div",{className:u().thread,children:$?(0,s.jsx)("div",{className:u().empty,children:"Loading chat…"}):z?(c=null,z.messages.map(e=>{let t=Z(e),l=t?K(t):null,a=l&&l!==c?l:null;return l&&(c=l),(0,s.jsxs)(n.Fragment,{children:[a?(0,s.jsx)("div",{className:u().dayDiv
1ider,"data-divider":a,children:(0,s.jsx)("span",{children:V(a)})}):null,(0,s.jsx)(er,{m:e,dim:!tW(e),fresh:eR.has(e.id),focused:tG===e.id||eU===e.id,onShare:e=>eL("msg:".concat(e),eO(z,e)),shared:eE==="msg:".concat(e.id),day:l})]},e.id)})):(0,s.jsx)("div",{className:u().empty,children:"Pick a chat on the left."})},z?"".concat(z.ownerId,"/").concat(z.tripId,"/").concat(z.uid):"none")})]})]})]})]})}},64016:function(e){e.exports={wrap:"style_wrap__rGeYN",avatar:"style_avatar__UKd9M",title:"style_title__ipzKU",sub:"style_sub__ci_Hz",layout:"style_layout__RQYtR",panel:"style_panel__LvMmK",list:"style_list__O1YGd",panelTitle:"style_panelTitle__89TTb",chatRow:"style_chatRow___kcXH",active:"style_active__4phyI",stats:"style_stats__Pc8O8",pill:"style_pill__Ea1V2",book:"style_book__xkiM8",edit:"style_edit__BbRtS",topic:"style_topic__0wm2d",pro:"style_pro__X5Oiz",tool:"style_tool__dwGUx",bar:"style_bar__Qe7Q6",search:"style_search__v11Xr",popSection:"style_popSection__A7zyE",popFoot:"style_popFoot__67jH6",grp:"style_grp__I6ikP",lbl:"style_lbl__jvCXN",chip:"style_chip__sV3NG",on:"style_on__NMjJQ",select:"style_select__fM6Xb",summary:"style_summary__ItUTu",msgs:"style_msgs__c8BJk",thread:"style_thread__OjRUj",msg:"style_msg__PqD1M",user:"style_user__LTdC3",dim:"style_dim__UOZQ_",fresh:"style_fresh__uTChd",msgIn:"style_msgIn__mIDoC",threadIn:"style_threadIn__SmnGx",bubble:"style_bubble__uiHgs",meta:"style_meta__nP4ql",mono:"style_mono__BZRmn",metaText:"style_metaText__hZAtW",attach:"style_attach__GrShv",attachLabel:"style_attachLabel__CKLFI",attachHint:"style_attachHint__zN4Ai",empty:"style_empty__rgjGO",error:"style_error__DptoG",optionChips:"style_optionChips__6rzRT",optionChip:"style_optionChip__OSsS4",msgsWrap:"style_msgsWrap__28Tld",fabStack:"style_fabStack__qxElG",newBubble:"style_newBubble__DAsAr",bubbleIn:"style_bubbleIn__v07x1",pop:"style_pop__S_pl2",tapback:"style_tapback__0JKMb",wall:"style_wall__TO_c9",themeBtn:"style_themeBtn__hachn",iconBtn:"style_iconBtn__W_NRL",iconBtnOn:"style_iconBtnOn__Mps4f",knob:"style_knob__r0B73",spinning:"style_spinning__wc0sC",spin:"style_spin__EOSZe",tabs:"style_tabs__xp_Gz",tab:"style_tab__u8dlf",tabOn:"style_tabOn__DVjaL",searchRow:"style_searchRow__o8tHl",ghost:"style_ghost__DBaFA",backBar:"style_backBar__c3L0P",backArrow:"style_backArrow__rsz3_",userRow:"style_userRow__PXmlH",userText:"style_userText__n0_Xd",userHead:"style_userHead__17SUi",rowHead:"style_rowHead__HVrur",star:"style_star__7LbyM",starOn:"style_starOn__E7b2F",starPop:"style_starPop__EqiMP",newPill:"style_newPill__Xow2M",tabBadge:"style_tabBadge__R7rA_",overlay:"style_overlay__uq2fm",overlayIn:"style_overlayIn__UHNZS",modal:"style_modal__sfYmx",modalIn:"style_modalIn__gpsuk",modalHead:"style_modalHead__VDBt2",modalClose:"style_modalClose__Tc2__",modalBody:"style_modalBody__C8p2T",toolList:"style_toolList__xJjsQ",toolRow:"style_toolRow__P31UC",toolRowOn:"style_toolRowOn__7j3Tv",toolCount:"style_toolCount___1sl5",btnQuiet:"style_btnQuiet__WFljI",btnPrimary:"style_btnPrimary__ffWRw",countBadge:"style_countBadge__TsU6Y",jumpEnd:"style_jumpEnd__hUzRC",popIn:"style_popIn__c2KNs",dates:"style_dates__XE_bd",dateSep:"style_dateSep__yY7_E",dateInput:"style_dateInput__PrGvj",numInput:"style_numInput__ngT_1",twoCol:"style_twoCol__SSCG9",datesReveal:"style_datesReveal__cAY7Z",revealIn:"style_revealIn__SWqMB",chatHead:"style_chatHead__MxJ5A",profile:"style_profile__cL32j",profileText:"style_profileText__Ib4hA",profileName:"style_profileName__kbyYD",profileLine:"style_profileLine__zwI4P",uidCopy:"style_uidCopy__2_85k",uidCopied:"style_uidCopied__toW8o",copiedTag:"style_copiedTag__Ah42Z",profileMetrics:"style_profileMetrics__RTh4E",chatTools:"style_chatTools__kn5B_",searchSmall:"style_searchSmall__m5jIK",results:"style_results__sPwhv",resultsCount:"style_resultsCount__pWkWC",resultsBtn:"style_resultsBtn__U3dhQ",focused:"style_focused__VRth7",searchWrap:"style_searchWrap__Cd7hq",searchClear:"style_searchClear__Q02R5",fadeIn:"style_fadeIn__BuDBT",bubbleRow:"style_bubbleRow__tq_0u",msgShare:"style_msgShare__jIihG",msgShared:"style_msgShared__hgFvc",dayDivider:"style_dayDiv
1ider__5OQQz",stickyDay:"style_stickyDay__ayRIE",stickyDayOn:"style_stickyDayOn__CLiop",dateHint:"style_dateHint__y6YVx",disliked:"style_disliked__pSUDF",bubbleWrap:"style_bubbleWrap__WQQFN",tapbackIn:"style_tapbackIn__XO2m0",tapbackGood:"style_tapbackGood__dkXCW",tapbackBad:"style_tapbackBad__hGRVY",feedbackBlock:"style_feedbackBlock__p0Jl0",reportBlock:"style_reportBlock__GUZgq",feedbackHead:"style_feedbackHead__AgR6z",feedbackComment:"style_feedbackComment__p6nSl"}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.