1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,938266,326999,e=>{"use strict";var t=e.i(843476),a=e.i(500932),n=e.i(271645),o=e.i(981140),i=e.i(820783),d=e.i(30030),r=e.i(610772),s=e.i(369340),c=e.i(726330),u=e.i(765491),l=e.i(774606),m=e.i(296626),p=e.i(248425),f=e.i(303536),b=e.i(934620),g=e.i(985369),v=e.i(186312),y=e.i(991918),I=Object.defineProperty,N=(e,t)=>I(e,"name",{value:t,configurable:!0}),k="Dialog",[h,_]=(0,d.createContextScope)(k),[A,O]=h(k),w=N(e=>{let{__scopeDialog:a,children:o,open:i,defaultOpen:d,onOpenChange:c,modal:u=!0}=e,l=n.useRef(null),m=n.useRef(null),[p,f]=(0,s.useControllableState)({prop:i,defaultProp:d??!1,onChange:c,caller:k}),[b,g]=n.useState(0),[v,y]=n.useState(0);return(0,t.jsx)(A,{scope:a,triggerRef:l,contentRef:m,contentId:(0,r.useId)(),titleId:(0,r.useId)(),descriptionId:(0,r.useId)(),titlePresent:b>0,descriptionPresent:v>0,setTitleCount:g,setDescriptionCount:y,open:p,onOpenChange:f,onOpenToggle:n.useCallback(()=>f(e=>!e),[f]),modal:u,children:o})},"Dialog"),C=n.forwardRef(N(function(e,a){let{__scopeDialog:n,...d}=e,r=O("DialogTrigger",n),s=(0,i.useComposedRefs)(a,r.triggerRef);return(0,t.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":H(r.open),...d,ref:s,onClick:(0,o.composeEventHandlers)(e.onClick,r.onOpenToggle)})},"DialogTrigger")),P="DialogPortal",[q,B]=h(P,{forceMount:void 0}),D=N(e=>{let{__scopeDialog:a,forceMount:o,children:i,container:d}=e,r=O(P,a);return(0,t.jsx)(q,{scope:a,forceMount:o,children:n.Children.map(i,e=>(0,t.jsx)(m.Presence,{present:o||r.open,children:(0,t.jsx)(l.Portal,{asChild:!0,container:d,children:e})}))})},"DialogPortal"),x="DialogOverlay",R=n.forwardRef(N(function(e,a){let n=B(x,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,d=O(x,e.__scopeDialog);return d.modal?(0,t.jsx)(m.Presence,{present:o||d.open,children:(0,t.jsx)(V,{...i,ref:a})}):null},"DialogOverlay")),F=(0,y.createSlot)("DialogOverlay.RemoveScroll"),V=n.forwardRef(N(function(e,a){let{__scopeDialog:n,...o}=e,d=O(x,n),r=(0,c.useDismissableLayerSurface)(),s=(0,i.useComposedRefs)(a,r);return(0,t.jsx)(g.RemoveScroll,{as:F,allowPinchZoom:!0,shards:[d.contentRef],children:(0,t.jsx)(p.Primitive.div,{"data-state":H(d.open),...o,ref:s,style:{pointerEvents:"auto",...o.style}})})},"DialogOverlayImpl")),S="DialogContent",U=n.forwardRef(N(function(e,a){let n=B(S,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,d=O(S,e.__scopeDialog);return(0,t.jsx)(m.Presence,{present:o||d.open,children:d.modal?(0,t.jsx)(Q,{...i,ref:a}):(0,t.jsx)(M,{...i,ref:a})})},"DialogContent")),Q=n.forwardRef(N(function(e,a){let d=O(S,e.__scopeDialog),r=n.useRef(null),s=(0,i.useComposedRefs)(a,d.contentRef,r);return n.useEffect(()=>{let e=r.current;if(e)return(0,v.hideOthers)(e)},[]),(0,t.jsx)(T,{...e,ref:s,trapFocus:d.open,disableOutsidePointerEvents:d.open,onCloseAutoFocus:(0,o.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,a=0===t.button&&!0===t.ctrlKey;(2===t.button||a)&&e.preventDefault()}),onFocusOutside:(0,o.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})},"DialogContentModal")),M=n.forwardRef(N(function(e,a){let o=O(S,e.__scopeDialog),i=n.useRef(!1),d=n.useRef(!1);return(0,t.jsx)(T,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,d.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(d.current=!0));let a=t.target;o.triggerRef.current?.contains(a)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&d.current&&t.preventDefault()}})},"DialogContentNonModal")),T=n.forwardRef(N(function(e,a){let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:d,...r}=e,s=O(S,n);return(0,f.useFocusGuards)(),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(u.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:d,children:(0,t.jsx)(c.DismissableLayer,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":H(s.open),...r,ref:a,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},"DialogContentImpl")),j=n.forwardRef(N(function(e,a){let{__scopeDialog:n,...o}=e,i=O("DialogTitle",n),{setTitleCount:d}=i;return(0,b.useLayoutEffect)(()=>(d(e=>e+1),()=>d(e=>e-1)),[d]),(0,t.jsx)(p.Primitive.h2,{id:i.titleId,...o,ref:a})},"DialogTitle")),K=n.forwardRef(N(function(e,a){let{__scopeDialog:n,...o}=e,i=O("DialogDescription",n),{setDescriptionCount:d}=i;return(0,b.useLayoutEffect)(()=>(d(e=>e+1),()=>d(e=>e-1)),[d]),(0,t.jsx)(p.Primitive.p,{id:i.descriptionId,...o,ref:a})},"DialogDescription")),E=n.forwardRef(N(function(e,a){let{__scopeDialog:n,...i}=e,d=O("DialogClose",n);return(0,t.jsx)(p.Primitive.button,{type:"button",...i,ref:a,onClick:(0,o.composeEventHandlers)(e.onClick,()=>d.onOpenChange(!1))})},"DialogClose"));function H(e){return e?"open":"closed"}N(H,"getState"),e.s(["Close",0,E,"Content",0,U,"Description",0,K,"Overlay",0,R,"Portal",0,D,"Root",0,w,"Title",0,j,"Trigger",0,C],326999);var L=e.i(605458),$=e.i(811488),G=e.i(421417),z=e.i(703681),W=e.i(35626);
1let Z=n.forwardRef((e,n)=>{let o,i,d,r,s,c=(0,a.c)(12);c[0]!==e?({className:o,animationVariant:d,...i}=e,c[0]=e,c[1]=o,c[2]=i,c[3]=d):(o=c[1],i=c[2],d=c[3]);let u=void 0===d?"slide":d,l="none"!==u&&"bv:data-[state=open]:animate-modal-overlay-in",m="none"!==u&&"bv:data-[state=closed]:animate-modal-overlay-out";return c[4]!==o||c[5]!==l||c[6]!==m?(r=(0,L.cn)("bv:fixed bv:inset-0 bv:bg-black/60",l,m,o),c[4]=o,c[5]=l,c[6]=m,c[7]=r):r=c[7],c[8]!==i||c[9]!==n||c[10]!==r?(s=(0,t.jsx)(R,{ref:n,className:r,...i}),c[8]=i,c[9]=n,c[10]=r,c[11]=s):s=c[11],s});Z.displayName=R.displayName;let J=n.forwardRef((e,o)=>{let i,d,r,s,c,u,l,m,p,f,b,g,v,y,I,N,k,h,_,A,O,w,C,P,q,B,x=(0,a.c)(58);x[0]!==e?({noCloseButton:c,disableOutsideClick:u,closeOnEscape:l,restoreFocus:m,centered:p,noFullscreenOnMobile:f,animationVariant:b,animationDuration:i,preserveBodyPadding:g,className:r,children:d,...s}=e,x[0]=e,x[1]=i,x[2]=d,x[3]=r,x[4]=s,x[5]=c,x[6]=u,x[7]=l,x[8]=m,x[9]=p,x[10]=f,x[11]=b,x[12]=g):(i=x[1],d=x[2],r=x[3],s=x[4],c=x[5],u=x[6],l=x[7],m=x[8],p=x[9],f=x[10],b=x[11],g=x[12]);let R=void 0!==c&&c,F=void 0!==u&&u,V=void 0===l?z.MODAL_CONFIG.defaults.closeOnEscape:l,S=void 0===m?z.MODAL_CONFIG.defaults.restoreFocus:m,Q=void 0!==p&&p,M=void 0!==f&&f,T=void 0===b?"slide":b,j=void 0===g||g,K=s.style?.zIndex||z.MODAL_CONFIG.zIndex.base,H=n.useRef(null),J=(0,W.useModalContainer)();q=(0,a.c)(3),B=void 0===j||j,q[0]!==B?(C=()=>{if(!B)return;let e=window.getComputedStyle(document.body),t={top:e.paddingTop,right:e.paddingRight,bottom:e.paddingBottom,left:e.paddingLeft},a=!1,n=setTimeout(()=>{a=!0,"0px"!==t.top&&(document.body.style.paddingTop=t.top),"0px"!==t.left&&(document.body.style.paddingLeft=t.left),"0px"!==t.bottom&&(document.body.style.paddingBottom=t.bottom)},0);return()=>{clearTimeout(n),a&&("0px"!==t.top&&(document.body.style.paddingTop=""),"0px"!==t.left&&(document.body.style.paddingLeft=""),"0px"!==t.bottom&&(document.body.style.paddingBottom=""))}},P=[B],q[0]=B,q[1]=C,q[2]=P):(C=q[1],P=q[2]),(0,n.useEffect)(C,P);let X=i||z.MODAL_CONFIG.animation.enterDuration;x[13]!==S?(y=()=>{if(S)return H.current=document.activeElement,()=>{S&&setTimeout(()=>{H.current?.focus()},0)}},v=[S],x[13]=S,x[14]=v,x[15]=y):(v=x[14],y=x[15]),n.useEffect(y,v);let Y=K-1;x[16]!==Y?(I={zIndex:Y},x[16]=Y,x[17]=I):I=x[17],x[18]!==T||x[19]!==I?(N=(0,t.jsx)(Z,{style:I,animationVariant:T}),x[18]=T,x[19]=I,x[20]=N):N=x[20];let ea=Q?"bv:overflow-visible":"bv:max-h-screen bv:overflow-auto bv:custom-scrollbar",en=!Q&&"bv:left-[50%] bv:top-0",eo=Q&&"bv:top-[50%] bv:left-[50%]",ei=!M&&"bv:bv_small:inset-0",ed=!M&&"bv:bv_small:w-full bv:bv_small:h-screen bv:bv_small:max-h-none bv:bv_small:overflow-hidden",er=!M&&"bv:bv_small:border-0 bv:bv_small:rounded-none",es=M&&"bv:w-auto bv:h-auto bv:max-w-[90vw] bv:max-h-[90vh]",ec="slide"===T&&!M&&"bv:bv_small:data-[state=open]:animate-modal-mobile-in bv:bv_small:data-[state=closed]:animate-modal-mobile-out",eu="slide"===T&&Q&&(M?"bv:data-[state=open]:animate-modal-centered-in bv:data-[state=closed]:animate-modal-centered-out":"bv:bv_medium:data-[state=open]:animate-modal-centered-in bv:bv_medium:data-[state=closed]:animate-modal-centered-out"),el="slide"===T&&!Q&&"bv:bv_medium:data-[state=open]:animate-modal-in bv:bv_medium:data-[state=closed]:animate-modal-out",em="fade"===T&&"bv:data-[state=open]:animate-modal-fade-only-in bv:data-[state=closed]:animate-modal-fade-only-out",ep="scale"===T&&"bv:data-[state=open]:animate-modal-scale-in bv:data-[state=closed]:animate-modal-scale-out";x[21]!==r||x[22]!==ea||x[23]!==en||x[24]!==eo||x[25]!==ei||x[26]!==ed||x[27]!==er||x[28]!==es||x[29]!==ec||x[30]!==eu||x[31]!==el||x[32]!==em||x[33]!==ep?(k=(0,L.cn)("bv-ibe bv:fixed bv:flex bv:flex-col","bv:gap-0 bv:bg-bv_cardBackground bv:p-0 bv:shadow-lg","bv:transition-[height,max-height] bv:duration-300 bv:ease-in-out",ea,en,eo,"bv:border bv:rounded-lg",ei,ed,er,es,ec,eu,el,em,ep,r),x[21]=r,x[22]=ea,x[23]=en,x[24]=eo,x[25]=ei,x[26]=ed,x[27]=er,x[28]=es,x[29]=ec,x[30]=eu,x[31]=el,x[32]=em,x[33]=ep,x[34]=k):k=x[34];let ef=F?ee:void 0,eb=V?void 0:et;return x[35]!==i||x[36]!==X?(h=i&&{animationDuration:`${X}ms`},x[35]=i,x[36]=X,x[37]=h):h=x[37],x[38]!==s.style||x[39]!==h||x[40]!==K?(_={...s.style,zIndex:K,...h},x[38]=s.style,x[39]=h,x[40]=K,x[41]=_):_=x[41],x[42]!==V||x[43]!==R?(A=!R&&(0,t.jsxs)(E,{className:"bv:absolute bv:right-[10px] bv:top-[10px] bv:m-0 bv:grid bv:h-[40px] bv:w-[40p
1x] bv:place-content-center bv:rounded-full bv:border-0 bv:bg-black bv:text-white bv:bv_hover","aria-label":V?"Close dialog (Escape)":"Close dialog",children:[(0,t.jsx)($.FontAwesomeIcon,{icon:G.faTimes,className:"bv:h-[20px] bv:w-[15px]"}),(0,t.jsx)("span",{className:"bv:sr-only",children:V?"Close (Press Escape)":"Close"})]}),x[42]=V,x[43]=R,x[44]=A):A=x[44],x[45]!==d||x[46]!==s||x[47]!==o||x[48]!==k||x[49]!==ef||x[50]!==eb||x[51]!==_||x[52]!==A?(O=(0,t.jsxs)(U,{ref:o,"aria-modal":"true",className:k,onInteractOutside:ef,onEscapeKeyDown:eb,...s,style:_,children:[d,A]}),x[45]=d,x[46]=s,x[47]=o,x[48]=k,x[49]=ef,x[50]=eb,x[51]=_,x[52]=A,x[53]=O):O=x[53],x[54]!==J||x[55]!==N||x[56]!==O?(w=(0,t.jsxs)(D,{container:J,children:[N,O]}),x[54]=J,x[55]=N,x[56]=O,x[57]=w):w=x[57],w});J.displayName=U.displayName;let X=n.forwardRef((e,n)=>{let o,i,d,r,s=(0,a.c)(9);return s[0]!==e?({className:o,...i}=e,s[0]=e,s[1]=o,s[2]=i):(o=s[1],i=s[2]),s[3]!==o?(d=(0,L.cn)("bv:text-lg bv:font-semibold bv:leading-none bv:tracking-tight",o),s[3]=o,s[4]=d):d=s[4],s[5]!==i||s[6]!==n||s[7]!==d?(r=(0,t.jsx)(j,{ref:n,className:d,...i}),s[5]=i,s[6]=n,s[7]=d,s[8]=r):r=s[8],r});X.displayName=j.displayName;let Y=n.forwardRef((e,n)=>{let o,i,d,r,s=(0,a.c)(9);return s[0]!==e?({className:o,...i}=e,s[0]=e,s[1]=o,s[2]=i):(o=s[1],i=s[2]),s[3]!==o?(d=(0,L.cn)("bv:text-sm bv:text-muted-foreground",o),s[3]=o,s[4]=d):d=s[4],s[5]!==i||s[6]!==n||s[7]!==d?(r=(0,t.jsx)(K,{ref:n,className:d,...i}),s[5]=i,s[6]=n,s[7]=d,s[8]=r):r=s[8],r});function ee(e){return e.preventDefault()}function et(e){return e.preventDefault()}Y.displayName=K.displayName,e.s(["Dialog",0,w,"DialogClose",0,E,"DialogContent",0,J,"DialogDescription",0,Y,"DialogTitle",0,X,"DialogTrigger",0,C],938266)},48512,e=>{"use strict";var t=e.i(954616),a=e.i(912598),n=e.i(271645),o=e.i(150579),i=e.i(692156),d=e.i(906554),r=e.i(748863),s=e.i(628906),c=e.i(402872),u=e.i(58840),l=e.i(753368);e.s(["useBasketOperations",0,()=>{let e=(0,i.useGlobalContext)(),m=(0,n.useContext)(d.SinglePropertyContext),{currency:p}=(0,s.useBVEventTrackingContext)(),f=m?.channelId,b=e.APIClient,g=(0,a.useQueryClient)(),v=(0,u.useAccommodationTranslations)(),{registerAddToBasketEvent:y,registerRemoveFromBasketEvent:I}=(0,o.useTracking)(),{addToCartEvent:N,removeFromCartEvent:k}=(0,r.useBVTracking)(),h=(0,l.useResetMandatoryAddonProgress)(),_=()=>{h(),g.removeQueries({queryKey:["available_addons"]})},A=(0,t.useMutation)({mutationFn:async({request:e,skipRefetchBasket:t})=>{let a=await b.basketsRoomsAddV1({...e,channelId:e.channelId??f});if(!a.success)throw Error(v.dynamic(a.errorString??"Failed to add room to basket"));if(_(),!t){let t=await b.basketsBasketV1(!1,e.channelId??f);g.setQueryData(["basket",e.channelId??f],t)}return a},onSuccess:(e,t)=>{y({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{quantity:t.request.nrOfUnits,item_id:t.gtmInfo?.productId??"N/A",item_name:t.gtmInfo?.productName??"N/A",item_category:t.gtmInfo?.productCategory??"N/A",price:t.gtmInfo?.productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}),N({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{quantity:t.request.nrOfUnits,item_id:t.gtmInfo?.productId??"N/A",item_name:t.gtmInfo?.productName??"N/A",item_category:t.gtmInfo?.productCategory??"N/A",price:t.gtmInfo?.productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]})},mutationKey:["addToBasket"]}),O=async(e,t,a,n,o,i,d,r,s)=>{let c=await d.basketsUpdateBasketV1({channelId:r,bookingCode:e,addAddonsToBasket:t,updateAddonsInBasketRequest:o,removeAddonsFromBasket:n,updateStandaloneAddonsToBasketRequest:a,addRelatedProductsToBasketRequest:i});if(s){let e=await d.basketsBasketV1(!1,r);await g.setQueryData(["basket",r],e)}return c},w=(0,t.useMutation)({mutationFn:({addRequests:e,updateStandaloneAddonRequests:t,addRelatedProductsToBasketRequest:a,removeRequests:n,updateRequests:o,bookingCode:i,waitForNewBasket:d,bookingData:r,gtmInfo:s})=>O(i,e??[],t??[],n??[],o??[],a??[],b,f,d),onSuccess:async(e,t)=>{if(t.updateRequests?.length>0){let e=[],a=[];t.updateRequests?.forEach(n=>{let o=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===n.addonId),i=t?.gtmInfo?.find(e=>e.productId===n.addonId)?.productName;n.addonPackageId&&(o=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===n.addonPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===n.addonId));let d=o?.numberOfUnits-n?.nrOfUnits<=0;o&&d?a.push({item_id:n.addonId,item_name:i??"N/A",item_category:"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}):e.push({item_id:n.addonId,item_name:i??"N/A",item_category:"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(a)&&(I({currency:p??"N/A",value:a.reduce((e,t)=>
1e+Number(t.price),0),items:a}),k({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a})),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.addRequests?.length>0){let e=[];t.addRequests?.forEach(a=>{let n=t?.gtmInfo?.find(e=>e.productId===a.addonId)?.productName;e.push({item_id:a.addonId,item_name:n??"N/A",item_category:"Optional addon",quantity:a?.nrOfUnits??0,price:(a?.nrOfUnits??0)*(a?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.removeRequests?.length>0){let e=[];t.removeRequests?.forEach(a=>{let n=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===a.addOnId),o=t?.gtmInfo?.find(e=>e.productId===a.addOnId)?.productName;a.addOnPackageId&&(n=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===a.addOnPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===a.addOnId)),n&&e.push({item_id:a.addOnId,item_name:o??"N/A",item_category:"Optional addon",quantity:n?.numberOfUnits??0,price:(n?.numberOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(e)&&(I({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),k({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.updateStandaloneAddonRequests?.length>0){let e=[],a=[];t.updateRequests?.forEach(n=>{let o=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===n.addonId),i=t?.gtmInfo?.find(e=>e.productId===n.addonId)?.productName;n.addonPackageId&&(o=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===n.addonPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===n.addonId));let d=o?.numberOfUnits-n?.nrOfUnits<=0;o&&d?a.push({item_id:n.addonId,item_name:i??"N/A",item_category:"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}):e.push({item_id:n.addonId,item_name:i??"N/A",item_category:"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(a)&&(I({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a}),k({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a})),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.addRelatedProductsToBasketRequest?.length>0){let e=[];t.addRelatedProductsToBasketRequest?.forEach(a=>{let n=t?.gtmInfo?.find(e=>e.productId===a.addonId)?.productName;e.push({item_id:a.addonId,item_name:n??"N/A",item_category:"Standalone addon",item_category2:"Related",quantity:a?.nrOfUnits??0,price:(a?.nrOfUnits??0)*(a?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e})}e.success&&!t.waitForNewBasket&&await g.invalidateQueries({queryKey:["basket"]})},mutationKey:["updateBasket"]}),C=(0,t.useMutation)({mutationFn:async({request:e,waitForNewBasket:t,waitForOnlinePaymentMethods:a,bookingData:n,gtmInfo:o,onSuccess:i})=>{let d=await b.basketsUpdateBasketV1({...e,channelId:f});if(a&&g.getQueryData(["online_payment_methods",f])){let e=window.location.protocol+"//"+window.location.hostname;window.location.port&&(e=`${e}:${window.location.port}`);let t=await b.basketsOnlinePaymentMethodsV1(e,void 0,void 0,void 0,f);g.setQueryData(["online_payment_methods",f],t)}if(t){let e=await b.basketsBasketV1(!1,f);await g.setQueryData(["basket",f],e)}return d},onSuccess:async(e,t)=>{if(t?.onSuccess&&await t.onSuccess(),t.request.updateConferenceOptionalAddOnsRequest?.length>0){let e=[],a=[];t.request.updateConferenceOptionalAddOnsRequest?.forEach(n=>{let o=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===n.addOnId),i=t?.gtmInfo?.find(e=>e.productId===n.addOnId)?.productName,d=o?.numberOfUnits-n?.nrUnits<=0;o&&d?a.push({item_id:n.addOnId,item_name:i??"N/A",item_category:"Conference optional addon",quantity:n?.nrUnits??0,price:(n?.nrUnits??0)*(n?.pricePerUnit??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}):e.push({item_id:n.addOnId,item_name:i??"N/A",item_category:"Conference optional addon",quantity:n?.nrUnits??0,price:(n?.nrUnits??0)*(n?.pricePerUnit??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(a)&&(I({currency:p??"N/A",value:a.reduce((e,t)=>
1e+Number(t.price),0),items:a}),k({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a})),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.request.addAddonsToBasket?.length>0){let e=[];t.request.addAddonsToBasket?.forEach(a=>{let n=t?.gtmInfo?.find(e=>e.productId===a.addonId)?.productName;e.push({item_id:a.addonId,item_name:n??"N/A",item_category:"Optional addon",quantity:a?.nrOfUnits??0,price:(a?.nrOfUnits??0)*(a?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e})}if(t.request.updateAddonsInBasketRequest?.length>0){let e=[],a=[];t.request.updateAddonsInBasketRequest?.forEach(n=>{let o=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===n.addonId),i=t?.gtmInfo?.find(e=>e.productId===n.addonId)?.productName;n.addonPackageId&&(o=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===n.addonPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===n.addonId));let d=o?.numberOfUnits-n?.nrOfUnits<=0;o&&d?a.push({item_id:n.addonId,item_name:i??"N/A",item_category:n.addonPackageId?"Optional addon package":"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}):e.push({item_id:n.addonId,item_name:i??"N/A",item_category:n.addonPackageId?"Optional addon package":"Optional addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(a)&&(I({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a}),k({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a})),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.request.updateStandaloneAddonsToBasketRequest?.length>0){let e=[],a=[];t.request.updateStandaloneAddonsToBasketRequest?.forEach(n=>{let o=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===n.addonId),i=t?.gtmInfo?.find(e=>e.productId===n.addonId)?.productName;n.addonPackageId&&(o=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===n.addonPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===n.addonId));let d=o?.numberOfUnits-n?.nrOfUnits<=0;o&&d?a.push({item_id:n.addonId,item_name:i??"N/A",item_category:n.addonPackageId?"Standalone addon package":"Standalone addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}):e.push({item_id:n.addonId,item_name:i??"N/A",item_category:n.addonPackageId?"Standalone addon package":"Standalone addon",quantity:n?.nrOfUnits??0,price:(n?.nrOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(a)&&(I({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a}),k({currency:p??"N/A",value:a.reduce((e,t)=>e+Number(t.price),0),items:a})),(0,c.arrayHasItems)(e)&&(y({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}),N({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}if(t.request.removeAddonsFromBasket?.length>0){let e=[];t.request.removeAddonsFromBasket?.forEach(a=>{let n=t?.bookingData?.optionalAddOns?.find(e=>e.addOnId===a.addOnId),o=t?.gtmInfo?.find(e=>e.productId===a.addOnId)?.productName;a.addOnPackageId&&(n=t?.bookingData?.optionalAddOnPackages?.find(e=>e.addOnPackageId===a.addOnPackageId)?.basketAddOnPriceInfos?.find(e=>e.addOnId===a.addOnId)),n&&e.push({item_id:a.addOnId,item_name:o??"N/A",item_category:a.addOnPackageId?"Addon package":"Optional addon",quantity:n?.numberOfUnits??0,price:(n?.numberOfUnits??0)*(n?.price??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"})}),(0,c.arrayHasItems)(e)&&(I({currency:p??"N/A",value:e.reduce((e,t)=>
1e+Number(t.price),0),items:e}),k({currency:p??"N/A",value:e.reduce((e,t)=>e+Number(t.price),0),items:e}))}void 0!==t.request.updateCancellationInsuranceRequest&&(void 0!==t.request.updateCancellationInsuranceRequest.selectedCancellationInsuranceAddOnId?(y({currency:p??"N/A",value:Number(t.gtmInfo[0].productPrice??0),items:[{item_id:t.gtmInfo[0].productId,item_name:t.gtmInfo[0].productName??"N/A",item_category:"Optional addon",quantity:t.gtmInfo[0].productQuantity??1,price:t.gtmInfo[0].productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}),N({currency:p??"N/A",value:Number(t.gtmInfo[0].productPrice??0),items:[{item_id:t.gtmInfo[0].productId,item_name:t.gtmInfo[0].productName??"N/A",item_category:"Optional addon",quantity:t.gtmInfo[0].productQuantity??1,price:t.gtmInfo[0].productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]})):(I({currency:p??"N/A",value:Number(t.gtmInfo[0].productPrice??0),items:[{item_id:t.gtmInfo[0].productId,item_name:t.gtmInfo[0].productName??"N/A",item_category:"Optional addon",quantity:t.gtmInfo[0].productQuantity??1,price:t.gtmInfo[0].productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}),k({currency:p??"N/A",value:Number(t.gtmInfo[0].productPrice??0),items:[{item_id:t.gtmInfo[0].productId,item_name:t.gtmInfo[0].productName??"N/A",item_category:"Optional addon",quantity:t.gtmInfo[0].productQuantity??1,price:t.gtmInfo[0].productPrice,item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}))),e.success&&!t.waitForNewBasket&&g.invalidateQueries({queryKey:["basket"]})},mutationKey:["updateBasket"]}),P=(0,t.useMutation)({mutationFn:e=>b.basketsUpdateBasketV1({...e,channelId:f}),mutationKey:["updateTimeslotAddonMessageToRestaurant"]}),q=async(e,t,a,n,o)=>{var i=await t.basketsRoomsRemoveV2(e);if(o){let e=await t.basketsBasketV1(!1,a);await n.setQueryData(["basket",a],e)}return i},B=(0,t.useMutation)({mutationFn:({request:e,waitForNewBasket:t,gtmInfo:a})=>q(e,b,f,g,t),onSuccess:(e,t)=>{!t.waitForNewBasket&&e.success&&g.invalidateQueries({queryKey:["basket"]}),e.success&&(I({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{item_id:t.gtmInfo?.productId??"N/A",item_name:t.gtmInfo?.productName??"/NA",item_category:t.gtmInfo?.productCategory??"N/A",price:t.gtmInfo?.productPrice,quantity:Number(t.gtmInfo?.productQuantity??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}),k({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{item_id:t.gtmInfo?.productId??"N/A",item_name:t.gtmInfo?.productName??"/NA",item_category:t.gtmInfo?.productCategory??"N/A",price:t.gtmInfo?.productPrice,quantity:Number(t.gtmInfo?.productQuantity??0),item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}))},mutationKey:["removingRoomsFromBasket"]}),D=async(e,t,a,n,o)=>{let i=await a.basketsUpdateBasketV1({channelId:n,bookingCode:e,updateAddonsInBasketRequest:t});if(o){let e=await a.basketsBasketV1(!1,n);await g.setQueryData(["basket",n],e)}return i},x=(0,t.useMutation)({mutationFn:({requests:e,bookingCode:t,waitForNewBasket:a})=>D(t,e,b,f,a),onSuccess:e=>{e.success&&g.invalidateQueries({queryKey:["basket"]})},mutationKey:["updateBasket"]}),R=async(e,t,a,n,o,i)=>{let d=[];for(let o of t)d.push(await a.basketsUpdateBasketV1({channelId:n,bookingCode:e,removeAddonsFromBasket:[o]}));if(!i&&o){let e=await a.basketsBasketV1(!1,n);await g.setQueryData(["basket",n],e)}return d},F=(0,t.useMutation)({mutationFn:({requests:e,bookingCode:t,waitForNewBasket:a,skipInvalidation:n,gtmInfo:o})=>R(t,e,b,f,a,n),onSuccess:(e,t)=>{t.requests.forEach(e=>{I({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{item_id:e.addOnId??"N/A",quantity:1,item_name:t.gtmInfo?.productName??"N/A",item_brand:m?.channelInfo.hotelName??"N/A",item_category:t.gtmInfo?.productCategory??"N/A",affiliation:"BookVisit"}]}),k({currency:p??"N/A",value:Number(t.gtmInfo?.productPrice??0),items:[{item_id:e.addOnId??"N/A",quantity:1,item_name:t.gtmInfo?.productName??"N/A",item_brand:m?.channelInfo.hotelName??"N/A",item_category:t.gtmInfo?.productCategory??"N/A",affiliation:"BookVisit"}]})}),!t.skipInvalidation&&!t.waitForNewBasket&&e.some(e=>e.success)&&g.invalidateQueries({queryKey:["basket"]}),g.invalidateQueries({queryKey:["checkoutSettings",t.bookingCode]})},mutationKey:["removingAddonsFromBasket"]}),V=(0,t.useMutation)({mutationKey:["clear_basket"],mutationFn:async({channelId:e,noInvalidation:t})=>{g.setQueryData(["basket",e],void 0);let a=await b.basketsClearBasketV1({channelId:e??f});if(a.success&&_(),a.success&&!t){let t=await b.basketsBasketV1(!1,e??f);await g.setQueryData(["basket",e??f],t)}return a}}),S=async({request:e,waitForCheckoutSettings:t,bookingCode:a})=>{let n=await b.checkoutVoucherNumberV1Post({...e,channelId:f});if(t){let e=window.location.protocol+"//"+window.location.hostname;window.location.port&&(e=`${e}:${window.location.port}`);let t=await b.checkoutV1(e,f);await g.setQueryData(["checkoutSettings",a],t);let n=await b.basketsOnlinePaymentMethodsV1(e,void 0,void 0,void 0,f);await g.setQueryData(["online_payment_methods"],n)}return n},U=(0,t.useMutation)({mutationFn:({request:e,waitForCheckoutSettings:t,bookingCode:a})=>S({request:e,waitForCheckoutSettings:t,bookingCode:a}),mutationKey:["redeem_voucher"],onSuccess:(e,t)=>
1{e.success&&(g.invalidateQueries({queryKey:["basket"]}),t.waitForCheckoutSettings||(g.invalidateQueries({queryKey:["checkoutSettings",t.bookingCode]}),g.invalidateQueries({queryKey:["online_payment_methods"]})))}}),Q=async({request:e,waitForCheckoutSettings:t,bookingCode:a})=>{let n=await b.checkoutVoucherNumberV1Delete({...e,channelId:f});if(t){let e=window.location.protocol+"//"+window.location.hostname;window.location.port&&(e=`${e}:${window.location.port}`);let t=await b.checkoutV1(e,f);await g.setQueryData(["checkoutSettings",a],t);let n=await b.basketsOnlinePaymentMethodsV1(e,void 0,void 0,void 0,f);await g.setQueryData(["online_payment_methods"],n)}return n},M=(0,t.useMutation)({mutationFn:({request:e,waitForCheckoutSettings:t,bookingCode:a})=>Q({request:e,waitForCheckoutSettings:t,bookingCode:a}),mutationKey:["redeem_voucher"],onSuccess:(e,t)=>{e.success&&(g.invalidateQueries({queryKey:["basket"]}),t.waitForCheckoutSettings||(g.invalidateQueries({queryKey:["checkoutSettings",t.bookingCode]}),g.invalidateQueries({queryKey:["online_payment_methods"]})))}}),T=(0,t.useMutation)({mutationFn:e=>b.bookingsCommitV1({...e,channelId:f}),mutationKey:["committing_basket"]}),j=(0,t.useMutation)({mutationFn:e=>b.checkoutValidateNewMemberV1({...e,channelId:f}),mutationKey:["validating_new_member"]}),K=async e=>{let t=await b.basketsUpdateBasketV1({membershipUpdate:{addCustomerAuthSignupDiscount:{customerAuthServiceId:e.customerAuthServiceId}},bookingCode:e.bookingCode,channelId:f});if(e.waitForNewBasket){let e=await b.basketsBasketV1(!1,f);await g.setQueryData(["basket",f],e)}if(e.waitForCheckoutSettings){let t=window.location.protocol+"//"+window.location.hostname;window.location.port&&(t=`${t}:${window.location.port}`);let a=await b.checkoutV1(t,f);await g.setQueryData(["checkoutSettings",e.bookingCode],a)}return t},E=(0,t.useMutation)({mutationFn:e=>K(e),onSuccess:(e,t)=>{e.success&&(t.waitForNewBasket||g.invalidateQueries({queryKey:["basket"]}),t.waitForCheckoutSettings||g.invalidateQueries({queryKey:["checkoutSettings",t.bookingCode]}))},mutationKey:["addSignupDiscount"]}),H=(0,t.useMutation)({mutationKey:["apply_mp_code"],mutationFn:e=>b.multipropertiesApplyCodesV1(e)}),L=(0,t.useMutation)({mutationFn:({rq:e,dontInvalidateBasket:t,gtmInfo:a})=>b.basketsRoomsAddV1(e),mutationKey:["add_room_to_basket"],onSuccess:(e,t)=>{e.success&&_(),e.success&&!t.dontInvalidateBasket&&g.invalidateQueries({queryKey:["basket",t.rq.channelId]}),e.success&&t.gtmInfo&&(y({currency:p??"N/A",value:Number(t.gtmInfo[0].productPrice??0),items:[{item_id:t.gtmInfo[0]?.productId??"N/A",item_name:t.gtmInfo[0]?.productName??"N/A",price:t.gtmInfo[0]?.productPrice??"N/A",quantity:t.rq.nrOfUnits,item_category:t.gtmInfo[0]?.productCategory??"N/A",item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}),N({currency:p??"N/A",value:Number(t.gtmInfo[0]?.productPrice??0),items:[{item_id:t.gtmInfo[0]?.productId??"N/A",item_name:t.gtmInfo[0]?.productName??"N/A",price:t.gtmInfo[0]?.productPrice??"N/A",quantity:t.rq.nrOfUnits,item_category:t.gtmInfo[0]?.productCategory??"N/A",item_brand:m?.channelInfo.hotelName??"N/A",affiliation:"BookVisit"}]}))}}),{mutateAsync:$}=(0,t.useMutation)({mutationFn:()=>b.basketsCreateV1({channelId:f}),mutationKey:["creatingBasket"]});return{createNewBasket:$,removeVoucher:M,addSignupDiscount:E,commitBasket:T,applyMPCode:H,clearBasketNew:V,addRoomsToBasket:A,updateBasket:C,removeRoomsFromBasket:B,removeAddonsFromBasket:F,updateAddonsInBasket:x,updateBasketMulti:w,updateTimeslotAddonMessageToRestaurant:P,redeemVoucher:U,validateNewMember:j,addRoomToBasket:L}}])},304003,e=>{"use strict";var t=e.i(843476),a=e.i(500932),n=e.i(605458);e.s(["Divider",0,e=>{let o,i,d=(0,a.c)(6),{$noMargin:r,className:s,style:c}=e,u=r?"bv:m-0":"bv:mt-[30px] bv:mb-[30px]";return d[0]!==s||d[1]!==u?(o=(0,n.cn)("bv:h-bv_dividerBorderWidth bv:border-0 bv:w-full bv:bg-bv_cardDividerColor",u,s),d[0]=s,d[1]=u,d[2]=o):o=d[2],d[3]!==c||d[4]!==o?(i=(0,t.jsx)("hr",{className:o,style:c}
1),d[3]=c,d[4]=o,d[5]=i):i=d[5],i},"ModalChildrenContainer",0,e=>{let o,i,d=(0,a.c)(6),{children:r,className:s,style:c}=e;return d[0]!==s?(o=(0,n.cn)("bv:mt-[20px] bv:text-inherit bv:font-bv_titleFontFamily",s),d[0]=s,d[1]=o):o=d[1],d[2]!==r||d[3]!==c||d[4]!==o?(i=(0,t.jsx)("div",{className:o,style:c,children:r}),d[2]=r,d[3]=c,d[4]=o,d[5]=i):i=d[5],i},"ModalContent",0,e=>{let o,i,d=(0,a.c)(6),{children:r,className:s,style:c}=e;return d[0]!==s?(o=(0,n.cn)("bv:text-bv_bodyColor bv:bg-bv_frameworkBackground","bv:bv_small:grow",s),d[0]=s,d[1]=o):o=d[1],d[2]!==r||d[3]!==c||d[4]!==o?(i=(0,t.jsx)("div",{className:o,style:c,children:r}),d[2]=r,d[3]=c,d[4]=o,d[5]=i):i=d[5],i},"ModalContentInner",0,e=>{let o,i,d=(0,a.c)(7),{$noPadding:r,children:s,className:c,style:u}=e,l=r?"bv:p-0":"bv:px-[30px] bv:py-[40px] bv:bv_small:p-[20px]";return d[0]!==c||d[1]!==l?(o=(0,n.cn)("bv:text-bv_bodyFontSize",l,c),d[0]=c,d[1]=l,d[2]=o):o=d[2],d[3]!==s||d[4]!==u||d[5]!==o?(i=(0,t.jsx)("div",{className:o,style:u,children:s}),d[3]=s,d[4]=u,d[5]=o,d[6]=i):i=d[6],i},"ModalFooter",0,e=>{let o,i,d,r,s,c,u=(0,a.c)(12);return u[0]!==e?({children:o,className:i,style:r,...d}=e,u[0]=e,u[1]=o,u[2]=i,u[3]=d,u[4]=r):(o=u[1],i=u[2],d=u[3],r=u[4]),u[5]!==i?(s=(0,n.cn)("bv:z-99999 bv:h-[80px] bv:w-full bv:bg-bv_cardBackground","bv:sticky bv:flex bv:items-center bv:justify-end bv:gap-[15px]","bv:px-[30px] bv:bv_small:px-[20px]","bv:border-t-bv_cardBorderWidth bv:border-t-bv_cardBorderColor","bv:shadow-bv_cardBoxShadow bv:text-bv_cardColor","bv:shrink-0",i),u[5]=i,u[6]=s):s=u[6],u[7]!==o||u[8]!==d||u[9]!==r||u[10]!==s?(c=(0,t.jsx)("footer",{className:s,style:r,...d,children:o}),u[7]=o,u[8]=d,u[9]=r,u[10]=s,u[11]=c):c=u[11],c}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.