1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,9165,e=>{"use strict";let t="https://drfranks-api-1064616364621.europe-west2.run.app/api/v1";class r extends Error{status;constructor(e,t){super(e),this.status=t,this.name="ApiError"}}async function n(e,i={}){let a=`${t}${e}`,{timeoutMs:o=5e3,...s}=i,l={"Content-Type":"application/json",...s.headers||{}};{let e=localStorage.getItem("access_token");e&&(l.Authorization=`Bearer ${e}`)}let u=new AbortController,c=setTimeout(()=>u.abort(),o);try{let e=await fetch(a,{...s,headers:l,signal:u.signal,credentials:"include"});if(!e.ok){let t=await e.json().catch(()=>({detail:e.statusText}));throw new r(t.detail||"Request failed",e.status)}return e.json()}finally{clearTimeout(c)}}async function i(){return n("/treatments")}async function a(e){return n("/auth/login",{method:"POST",body:JSON.stringify(e)})}async function o(e){return n("/auth/register",{method:"POST",body:JSON.stringify(e)})}async function s(e){return n("/auth/refresh",{method:"POST",body:JSON.stringify({refresh_token:e})})}async function l(){return n("/auth/me")}async function u(e){await n("/auth/logout",{method:"POST",body:JSON.stringify({refresh_token:e})})}async function c(e){await n("/auth/forgot-password",{method:"POST",body:JSON.stringify({email:e})})}async function d(e,t){await n("/auth/reset-password",{method:"POST",body:JSON.stringify({token:e,new_password:t})})}async function f(){return(await n("/blog")).items}async function h(e){return n(`/blog/${e}`)}async function p(e){return n(`/products/${e}`)}async function g(){return n("/cart")}async function m(e){return n("/cart",{method:"POST",body:JSON.stringify(e)})}async function y(e,t){return n(`/cart/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function b(e){return n(`/cart/${e}`,{method:"DELETE"})}async function w(){return n("/cart",{method:"DELETE"})}async function v(){return n("/checkout/create-intent",{method:"POST"})}async function k(e){return n("/checkout/confirm",{method:"POST",body:JSON.stringify(e)})}async function _(){return n("/assessments")}async function S(){return n("/subscriptions/me")}async function P(e){return n("/auth/me",{method:"PATCH",body:JSON.stringify(e)})}async function C(e){await n("/auth/change-password",{method:"POST",body:JSON.stringify(e)})}async function O(){return n("/profile")}async function E(e){return n("/profile",{method:"PATCH",body:JSON.stringify(e)})}async function j(e){let t=new URLSearchParams;e?.start_date&&t.set("start_date",e.start_date),e?.end_date&&t.set("end_date",e.end_date),e?.page&&t.set("page",String(e.page)),e?.page_size&&t.set("page_size",String(e.page_size));let r=t.toString();return n(`/weight${r?`?${r}`:""}`)}async function I(){return n("/weight/summary")}async function M(e){return n("/weight",{method:"POST",body:JSON.stringify(e)})}async function T(e){let t=new URLSearchParams;e?.page&&t.set("page",String(e.page)),e?.page_size&&t.set("page_size",String(e.page_size));let r=t.toString();return n(`/orders/me${r?`?${r}`:""}`)}async function x(e){let t=new URLSearchParams;e?.upcoming_only&&t.set("upcoming_only","true");let r=t.toString();return n(`/appointments/me${r?`?${r}`:""}`)}async function R(){return n("/appointments/available-nurses")}async function A(e,t,r){let i=new URLSearchParams({nurse_id:e,start_date:t,end_date:r});return n(`/appointments/slots?${i}`)}async function N(e){return n("/appointments",{method:"POST",body:JSON.stringify(e)})}async function L(e,t){return n(`/appointments/${e}/cancel`,{method:"POST",body:JSON.stringify({reason:t})})}async function $(){return n("/applications/me")}async function U(e,r){let n=`${t}${e}`,i=new AbortController,a=setTimeout(()=>i.abort(),15e3);try{let e=new FormData;e.append("file",r);let t=await fetch(n,{method:"POST",body:e,signal:i.signal});if(!t.ok)return{valid:!1,errors:["An unexpected error occurred. Please try again."],confidence_scores:{}};return t.json()}catch(e){return{valid:!1,errors:[e instanceof DOMException&&"AbortError"===e.name?"Photo check is taking too long. Please try again.":"Connection error. Please check your internet and try again."],confidence_scores:{}}}finally{clearTimeout(a)}}async function D(e){return U("/validate/fullbody",e)}async function z(e){return U("/validate/scales",e)}async function F(){return n("/dashboard/health-summary")}
1async function q(){return n("/recommendations/me")}async function B(e=!1){return n("/recommendations/generate",{method:"POST",body:JSON.stringify({force_regenerate:e}),timeoutMs:3e4})}e.s(["ApiError",()=>r,"addToCart",()=>m,"bookAppointment",()=>N,"cancelAppointment",()=>L,"changePassword",()=>C,"clearCart",()=>w,"confirmCheckout",()=>k,"createCheckoutIntent",()=>v,"forgotPassword",()=>c,"generateRecommendation",()=>B,"getAvailableNurses",()=>R,"getBlogPost",()=>h,"getBlogPosts",()=>f,"getCart",()=>g,"getHealthSummary",()=>F,"getMe",()=>l,"getMyApplications",()=>$,"getMyAppointments",()=>x,"getMyAssessments",()=>_,"getMyOrders",()=>T,"getMyRecommendation",()=>q,"getMySubscriptions",()=>S,"getProduct",()=>p,"getProfile",()=>O,"getSlots",()=>A,"getTreatments",()=>i,"getWeightHistory",()=>j,"getWeightSummary",()=>I,"logWeight",()=>M,"login",()=>a,"logout",()=>u,"refreshToken",()=>s,"register",()=>o,"removeCartItem",()=>b,"resetPassword",()=>d,"updateCartItem",()=>y,"updateMe",()=>P,"updateProfile",()=>E,"validateFullBody",()=>D,"validateScales",()=>z])},18566,(e,t,r)=>{t.exports=e.r(76562)},94690,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(18566),i=e.i(9165);let a=(0,r.createContext)(void 0);function o({children:e}){let[o,s]=(0,r.useState)(null),[l,u]=(0,r.useState)(!0),c=(0,n.useRouter)();function d(){localStorage.removeItem("access_token"),localStorage.removeItem("refresh_token"),s(null)}(0,r.useEffect)(()=>{!async function(){if(!localStorage.getItem("access_token"))return u(!1);try{let e=await i.getMe();s(e)}catch{let e=localStorage.getItem("refresh_token");if(e)try{let t=await i.refreshToken(e);localStorage.setItem("access_token",t.access_token),localStorage.setItem("refresh_token",t.refresh_token);let r=await i.getMe();s(r)}catch{d()}else d()}finally{u(!1)}}()},[]);let f=(0,r.useCallback)(async e=>{let t=await i.login(e);localStorage.setItem("access_token",t.access_token),localStorage.setItem("refresh_token",t.refresh_token),s(await i.getMe())},[]),h=(0,r.useCallback)(async e=>{let t=await i.register(e);localStorage.setItem("access_token",t.access_token),localStorage.setItem("refresh_token",t.refresh_token),s(await i.getMe())},[]),p=(0,r.useCallback)(async()=>{let e=localStorage.getItem("refresh_token");if(e)try{await i.logout(e)}catch{}d(),c.push("/")},[c]);return(0,t.jsx)(a.Provider,{value:{user:o,isLoading:l,isAuthenticated:!!o,login:f,register:h,logout:p},children:e})}function s(){let e=(0,r.useContext)(a);if(!e)throw Error("useAuth must be used inside <AuthProvider>");return e}e.s(["AuthProvider",()=>o,"useAuth",()=>s])},79474,(e,t,r)=>{"use strict";var n=e.r(71645).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;r.c=function(e){return n.H.useMemoCache(e)}},932,(e,t,r)=>{"use strict";t.exports=e.r(79474)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:s="",children:l,iconNode:u,...c},d)=>(0,t.createElement)("svg",{ref:d,...i,width:n,height:n,stroke:e,strokeWidth:o?24*Number(a)/Number(n):a,className:r("lucide",s),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),o=(e,i)=>{let o=(0,t.forwardRef)(({className:o,...s},l)=>(0,t.createElement)(a,{ref:l,iconNode:i,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...s}));return o.displayName=n(e),o};e.s(["default",()=>o],75254)},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},18581,(e,t,r)=>{"use strict";
1Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=a(e,n)),t&&(i.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return w},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return _}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}
1" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class w extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function _(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),i=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return w}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=e.r(90809),o=e.r(43476),s=a._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let h=e.r(91949),p=e.r(73668),g=e.r(9396);function m(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,i,a,[l,y]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:v,as:k,children:_,prefetch:S=null,passHref:P,replace:C,shallow:O,scroll:E,onClick:j,onMouseEnter:I,onTouchStart:M,legacyBehavior:T=!1,onNavigate:x,ref:R,unstable_dynamicOnHover:A,...N}=t;n=_,T&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let L=s.default.useContext(u.AppRouterContext),$=!1!==S,U=!1!==S?null===(r=S)||"auto"===r?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,{href:D,as:z}=s.default.useMemo(()=>{let e=m(v);return{href:e,as:k?m(k):e}},[v,k]);if(T){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let F=T?i&&"object"==typeof i&&i.ref:R,q=s.default.useCallback(e=>(null!==L&&(w.current=(0,h.mountLinkInstance)(e,D,L,U,$,y)),()=>{w.current&&((0,h.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,h.unmountPrefetchableInstance)(e)}),[$,D,L,U,y]),B={ref:(0,c.useMergedRef)(q,F),onClick(t){T||"function"!=typeof j||j(t),T&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!L||t.defaultPrevented||function(t,r,n,i,a,o,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(n||r,a?"replace":"push",o??!0,i.current)})}}(t,D,z,w,C,E,x)},onMouseEnter(e){T||"function"!=typeof I||I(e),T&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),L&&$&&(0,h.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){T||"function"!=typeof M||M(e),T&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),L&&$&&(0,h.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,d.isAbsoluteUrl)(z)?B.href=z:T&&!P&&("a"!==i.type||"href"in i.props)||(B.href=(0,f.addBasePath)(z)),a=T?s.default.cloneElement(i,B):(0,o.jsx)("a",{...N,...B,children:n}),(0,o.jsx)(b.Provider,{value:l,children:a})}e.r(84508);let b=(0,s.createContext)(h.IDLE_LINK_STATUS),w=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},72520,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],72520)},69638,e=>{"use strict";let t=(0,e.i(75254).default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],69638)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=e.r(55682),o=e.r(8927),s=e.r(5500),l=a._(e.r(1948));function u(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=s.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},80351,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(9165);let i="drk_treatment_cart",a=(0,r.createContext)(void 0);function o({children:e}){let[o,s]=(0,r.useState)([]),[l,u]=(0,r.useState)(0),[c,d]=(0,r.useState)(0),[f,h]=(0,r.useState)(!1),[p,g]=(0,r.useState)([]);(0,r.useEffect)(()=>{try{let e=localStorage.getItem(i);if(e){let t=JSON.parse(e);Array.isArray(t)?g(t):t&&t.treatment_id&&(g([t]),localStorage.setItem(i,JSON.stringify([t])))}}catch{}},[]),(0,r.useCallback)(e=>{g(e),localStorage.setItem(i,JSON.stringify(e))},[]);let m=(0,r.useCallback)(e=>{g(t=>{let r,n=t.findIndex(t=>t.treatment_id===e.treatment_id);return n>=0?(r=[...t])[n]=e:r=[...t,e],localStorage.setItem(i,JSON.stringify(r)),r})},[]),y=(0,r.useCallback)(e=>{g(t=>{let r=t.filter(t=>t.treatment_id!==e);return localStorage.setItem(i,JSON.stringify(r)),r})},[]),b=(0,r.useCallback)(()=>{g([]),localStorage.removeItem(i)},[]),w=(0,r.useCallback)(e=>{s(e.items),u(e.total_items),d(e.total_amount)},[]),v=(0,r.useCallback)(async()=>{try{let e=await n.getCart();w(e)}catch{s([]),u(0),d(0)}},[w]);(0,r.useEffect)(()=>{v()},[v]);let k=(0,r.useCallback)(async(e,t=1)=>{h(!0);try{let r=await n.addToCart({product_id:e,quantity:t});w(r)}finally{h(!1)}},[w]),_=(0,r.useCallback)(async(e,t)=>{h(!0);try{let r=await n.updateCartItem(e,{quantity:t});w(r)}finally{h(!1)}},[w]),S=(0,r.useCallback)(async e=>{h(!0);try{let t=await n.removeCartItem(e);w(t)}finally{h(!1)}},[w]),P=(0,r.useCallback)(async()=>{h(!0);try{let e=await n.clearCart();w(e)}finally{h(!1)}b()},[w,b]),C=l+p.length,O=p.reduce((e,t)=>e+t.price_per_month*t.plan_duration_months,0);return(0,t.jsx)(a.Provider,{value:{items:o,totalItems:l,totalAmount:c,loading:f,addItem:k,updateItem:_,removeItem:S,clearAll:P,refresh:v,treatmentItems:p,addTreatmentItem:m,removeTreatmentItem:y,clearTreatmentItems:b,combinedCount:C,combinedTotal:c+O},children:e})}function s(){let e=(0,r.useContext)(a);if(!e)throw Error("useCart must be used within <CartProvider>");return e}e.s(["CartProvider",()=>o,"useCart",()=>s])},85149,e=>{"use strict";e.s(["FAQ_ITEMS",0,[{question:"How do I join Dr. Frank's Weight Loss Clinic?",answer:"Start by completing our online assessment to determine your eligibility. Our specialist nurse will review your application within 24 hours. If approved, you'll choose your plan and treatment, and your medication will be delivered to your door within 2â4 working days via Royal Mail."},{question:"Who is eligible for treatment?",answer:"Adults aged 18â75 (over 75 via Clinician-Led programme) with a BMI of 30 or above, or 27+ with a weight-related condition such as high blood pressure, type 2 diabetes, or obstructive sleep apnoea. Ethnicity-adjusted BMI thresholds may apply."},{question:"Is this a safe and effective way to manage my weight loss?",answer:"GIP and GLP-1 medications, prescribed and monitored by our clinical team, are clinically proven. Mounjaro users can lose up to 22.5% of body weight (SURMOUNT-1 trial), and Wegovy users average ~15%. All treatments are MHRA-approved and prescribed only after a thorough medical assessment."},{question:"How long will it take to see results?",answer:"Most people begin noticing changes within the first few weeks. Clinical trials show up to 22.5% body weight loss over 72 weeks for Mounjaro. As a guide, most patients lose at least 5% of their body weight within 12 weeks of starting treatment."},{question:"How do I calculate my BMI?",answer:"BMI = weight (kg) ÷ height (m)². A BMI of 30 or above typically qualifies for treatment, or 27+ with a weight-related health condition. You can use our free BMI calculator on this website. Ethnicity-adjusted thresholds may apply for South Asian, Chinese, Middle Eastern, Black African, and other backgrounds."},{question:"Are there medical conditions that might disqualify me?",answer:"Certain conditions may affect eligibility, including pregnancy or breastfeeding, history of pancreatitis, medullary thyroid carcinoma, severe gastrointestinal disorders, severe renal impairment, liver disease, or a history of eating disorders. Our online assessment is designed to identify your suitability."},{question:"Why do I need a prescription?",answer:"In the UK, GLP-1 medications are regulated by the MHRA and require a prescription from a qualified healthcare professional. Our specialist nurses review every application and prescribe the most suitable treatment for you via our GPhC-registered partner pharmacy (DAM Pharmacy, GPhC reg: 9012599)."},{question:"How long does it take to receive my medication?",answer:"Once your application is reviewed and approved by our nurse (within 24 hours of reaching 'Processing' status), your prescription is sent to our pharmacy. Orders are dispatched within 1â2 working days and delivered by Royal Mail within 2â4 working days."}],"HOW_IT_WORKS_STEPS",0,[{number:1,title:"Take Assessment",description:"Take our 5-minute assessment to see if you qual
1ify for doctor-backed weight loss â no commitment, just answers.",icon:"ClipboardCheck"},{number:2,title:"Choose Plan",description:"Find a plan that's tailored to your unique lifestyle, preferences, and goals so you can lose weight in a way that actually works for you.",icon:"ListChecks"},{number:3,title:"Choose Treatment",description:"Choose from our range of doctor-trusted weight loss treatments designed to support safe, effective and lasting results.",icon:"Pill"},{number:4,title:"Start Losing",description:"Dive into a revitalised way of living â and start your journey toward your ideal weight and lasting confidence.",icon:"TrendingDown"}],"NAV_MAIN_LINKS",0,[{label:"Treatments",href:"/treatments",children:[{label:"Mounjaro",href:"/treatments/mounjaro"},{label:"Wegovy",href:"/treatments/wegovy"}]},{label:"Pathways",href:"/pathways",megaMenu:!0,children:[{label:"Clinician Led",href:"/pathways/clinician-led",description:"Medical guidance and expert support.",icon:"stethoscope",badge:"Qualified Nurse"},{label:"Maintenance",href:"/pathways/maintenance-plan",description:"Long-term support to keep weight off.",icon:"heart"}]},{label:"Book Appointments",href:"/book"}],"NAV_TOP_LINKS",0,[{label:"BMI Calculator",href:"/bmi-calculator"},{label:"Help Centre",href:"/help"}],"NURSE_SPOTLIGHT",0,{name:"Emma",role:"Weight Loss Nurse",patientName:"Seb",quote:"Watching Seb's transformation has been truly inspiring. Through Dr. Frank's tailored blend of coaching and medication, Seb hasn't just lost weight â he's reclaimed his health. He's even shared that his sleep apnea has completely resolved, a milestone that's changed his day-to-day life in ways he never expected.",image:"/images/results/nurse-emma.jpg"},"PLAN_FEATURES",0,{"Clinician Led":["Monthly nurse reviews","Unlimited wellbeing calls","Priority support","Dose adjustment guidance"],"Self Directed":["Flexible, self-guided treatment","Nurse appointments at £15/session","Online dashboard access","Email support"],Maintenance:["For patients on highest dose","Quarterly check-ins","Weight maintenance support","Lowest monthly cost"]},"RESULTS_STATS",0,[{value:"41k+",label:"Patients",description:"Have been supported through Dr. Frank's weight-loss programmes"},{value:"20%",label:"Body Weight",description:"Reductions in the first year under clinical guidance"},{value:"15 Years",label:"Experience",description:"In obesity and diabetes care"}],"RESULTS_STORIES",0,[{name:"Tina",quote:"Six months ago, I was diagnosed with pre-diabetes and didn't know where to turn. Since joining the clinician-led programme at Dr. Frank's, everything has changed. With the guidance and support of their team, I've not only lost weight but completely reversed my pre-diabetes. I feel healthier, more confident, and finally in control of my health.",weightLoss:"28kg",duration:"6 Months",treatment:"Mounjaro",plan:"Clinician Led",image:"/images/results/tina.jpg"},{name:"Helena",quote:"Ten months ago, I could barely keep up with my toddler. Now I'm 21kg lighter, full of energy, and finally feel like the mum I want to be. The nurses at Dr. Frank's have been incredibly supportive throughout â it's made all the difference. I've never been this happy in my own skin.",weightLoss:"21kg",duration:"10 Months",treatment:"Mounjaro",plan:"Clinician Led",image:"/images/results/helena.jpg"},{name:"Seb",quote:"I've struggled with my weight for as long as I can remember, and nothing ever seemed to work. For the first time, I feel in control, and the results are finally showing. My sleep apnea has completely resolved â a milestone that's changed my day-to-day life in ways I never expected.",weightLoss:"35kg",duration:"12 Months",treatment:"Mounjaro",plan:"Clinician Led",image:"/images/results/seb.jpg"},{name:"Emily",quote:"The support from the clinical team has been incredible. I've lost over 15kg in just 4 months and I've never felt healthier. The regular check-ins kept me accountable and the dose adjustments made sure I was always on the right track.",weightLoss:"15kg",duration:"4 Months",treatment:"Wegovy",plan:"Clinician Led",image:"/images/results/emily.jpg"},{name:"James",quote:"Easy to use, great communication, and the results speak for themselves. I wish I'd started sooner! The whole process from assessment to receiving my medication was seamless, and the ongoing support has kept me motivated every step of the way.",weightLoss:"18kg",duration:"7 Months",treatment:"Saxenda",plan:"Self Directed",image:"/images/results/james.jpg"}],"SITE_NAME",0,"Dr. Frank's","TESTIMONIALS",0,[{name:"Seb",quote:"I've struggled with my weight for as long as I can remember, and n
1othing ever seemed to work. For the first time, I feel in control, and the results are finally showing. This programme has changed everything for me.",image:"/images/Seb.png"},{name:"Helena",quote:"Ten months ago, I could barely keep up with my toddler. Now I'm 21kg lighter, full of energy, and finally feel like the mum I want to be. I've never been this happy in my own skin.",image:"/images/person-son.webp"},{name:"Tina",quote:"Before the programme, I was prediabetic and constantly worried. I'm no longer prediabetic, and I finally have the energy to enjoy time with my grandkids.",image:"/images/testimonials/tina.jpg"},{name:"Emily",quote:"The support from the clinical team has been incredible. I've lost over 15kg in 4 months and I've never felt healthier.",image:"/images/testimonials/emily.jpg"},{name:"James",quote:"Easy to use, great communication, and the results speak for themselves. Wish I'd started sooner!",image:"/images/testimonials/james.jpg"}],"TREATMENT_TAGLINES",0,{mounjaro:"Lose up to 22.5% of your body weight",wegovy:"Lose up to 15% of your body weight",saxenda:"Daily Weight Loss Treatment",ozempic:"Proven GLP-1 for weight management"}])},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:a}){let o=r?40*r:e,s=n?40*n:t,l=o&&s?`viewBox='0 0 ${o} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return a},imageConfigDefault:function(){return o}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=["default","imgix","cloudinary","akamai","custom"],o={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(33525);let n=e.r(43369),i=e.r(88143),a=e.r(87690),o=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:c=!1,loading:d,className:f,quality:h,width:p,height:g,fill:m=!1,style:y,overrideSrc:b,onLoad:w,onLoadingComplete:v,placeholder:k="empty",blurDataURL:_,fetchPriority:S,decoding:P="async",layout:C,objectFit:O,objectPosition:E,lazyBoundary:j,lazyRoot:I,...M},T){var x;let R,A,N,{imgConf:L,showAltText:$,blurComplete:U,defaultLoader:D}=T,z=L||a.imageConfigDefault;if("allSizes"in z)R=z;else{let e=[...z.deviceSizes,...z.imageSizes].sort((e,t)=>e-t),t=z.deviceSizes.sort((e,t)=>e-t),r=z.qualities?.sort((e,t)=>e-t);R={...z,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,
1configurable:!0});let F=M.loader||D;delete M.loader,delete M.srcSet;let q="__next_img_default"in F;if(q){if("custom"===R.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(C){"fill"===C&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(y={...y,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let B="",W=l(p),H=l(g);if((x=e)&&"object"==typeof x&&(s(x)||void 0!==x.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,N=t.blurHeight,_=_||t.blurDataURL,B=t.src,!m)if(W||H){if(W&&!H){let e=W/t.width;H=Math.round(t.height*e)}else if(!W&&H){let e=H/t.height;W=Math.round(t.width*e)}}else W=t.width,H=t.height}let J=!u&&!c&&("lazy"===d||void 0===d);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,J=!1),R.unoptimized&&(r=!0),q&&!R.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let G=l(h),K=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:E}:{},$?{}:{color:"transparent"},y),V=U||"empty"===k?null:"blur"===k?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:W,heightInt:H,blurWidth:A,blurHeight:N,blurDataURL:_||"",objectFit:K.objectFit})}")`:`url("${k}")`,X=o.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,Q=V?{backgroundSize:X,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},Y=function({config:e,src:t,unoptimized:r,width:i,quality:a,sizes:o,loader:s}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,o),c=l.length-1;return{sizes:o||"w"!==u?o:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:a,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:s({config:e,src:t,quality:a,width:l[c]})}}({config:R,src:e,unoptimized:r,width:W,quality:G,sizes:t,loader:F}),Z=J?"lazy":d;return{props:{...M,loading:Z,fetchPriority:S,width:W,height:H,decoding:P,className:f,style:{...K,...Q},sizes:Y.sizes,srcSet:Y.srcSet,src:b||Y.src},meta:{unoptimized:r,preload:c||u,placeholder:k,fill:m}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(71645),i="u"<typeof window,a=i?()=>{}:n.useLayoutEffect,o=i?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),s()),a(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),a(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";
2Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=e.r(55682),o=e.r(90809),s=e.r(43476),l=o._(e.r(71645)),u=a._(e.r(98879)),c=e.r(42732);function d(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let h=["name","httpEquiv","charSet","itemProp"];function p(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let a=!0,o=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){o=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?a=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?a=!1:r.add(e.type);break;case"meta":for(let t=0,r=h.length;t<r;t++){let r=h[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?a=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!o)&&n.has(t)?a=!1:(n.add(t),i[r]=n)}}}return a})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,s.jsx)(u.default,{reduceComponentsToState:p,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=e.r(55682)._(e.r(71645)),i=e.r(87690),a=n.default.createContext(i.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(70965),i=e.r(43369);function a({config:e,src:t,width:r,quality:a}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,n.findClosestQuality)(a,e),s=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${o}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}a.__next_img_default=!0;let o=a},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let n=e.r(55682),i=e.r(90809),a=e.r(43476),o=i._(e.r(71645)),s=n._(e.r(74080)),l=n._(e.r(25633)),u=e.r(8927),c=e.r(87690),d=e.r(18556);e.r(33525);let f=e.r(65856),h=n._(e.r(1948)),p=e.r(18581),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function m(e,t,r,n,i,a,o){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,o.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:s,className:l,style:u,fetchPriority:c,placeholder:d,loading:f,unoptimized:h,fill:g,onLoadRef:b,onLoadingCompleteRef:w,setBlurComplete:v,setShowAltText:k,sizesInput:_,onLoad:S,onError:P,...C},O)=>{let E=(0,o.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&m(e,d,b,w,v,h,_))},[e,d,b,w,v,P,h,_]),j=(0,p.useMergedRef)(O,E);return(0,a.jsx)("img",{...C,...y(c),loading:f,width:i,height:n,decoding:s,"data-nimg":g?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:j,onLoad:e=>{m(e.currentTarget,d,b,w,v,h,_)},onError:e=>{k(!0),"empty"!==d&&v(!0),P&&P(e)}})});function w({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,a.jsx)(l.default,{children:(0,a.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(f.RouterContext),n=(0,o.useContext)(d.ImageConfigContext),i=(0,o.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,p=(0,o.useRef)(s);(0,o.useEffect)(()=>{p.current=s},[s]);let m=(0,o.useRef)(l);(0,o.useEffect)(()=>{m.current=l},[l]);let[y,v]=(0,o.useState)(!1),[k,_]=(0,o.useState)(!1),{props:S,meta:P}=(0,u.getImgProps)(e,{defaultLoader:h.default,imgConf:i,blurComplete:y,showAltText:k});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{...S,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:p,onLoadingCompleteRef:m,setBlurComplete:v,setShowAltText:_,sizesInput:e.sizes,ref:t}),P.preload?(0,a.jsx)(w,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},20286,e=>{"use strict";let t=(0,e.i(75254).default)("stethoscope",[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]]);e.s(["Stethoscope",()=>t],20286)},22219,58276,e=>{"use strict";var t=e.i(43476),r=e.i(932),n=e.i(71645);let i={weightLoss:{initialConsultationVirtual:"https://online-booking.semble.io/?token=20f74946f98bc811ee8aab7f28f30a34e0cd324e",followUpConsultation:"https://online-booking.semble.io/?token=7690fb3b53b7e4cc4277834b164511b5846b57e7",bmiDiscussion:"https://online-booking.semble.io/?token=d96aa0cbde917fb73e91b0630f83a163ff93cdc5",sideEffectsPhoneCall:"https://online-booking.semble.io/?token=54f958db784d656f19d73e1c15cb73b995d29d1c"},diabetic:{diabeticConsultation:"https://online-booking.semble.io/?token=7a74259a7287097a6dc4be64ea87545762865ac2",diabeticMonthlyReview:"https://online-booking.semble.io/?token=60d0fa005b12b427c910def36dc9fb67274d2098"},clinicianLed:{clinicianConsultation:"https://online-booking.semble.io/?token=20f74946f98bc811ee8aab7f28f30a34e0cd324e",clinicianLedMonthlyReview:"https://online-booking.semble.io/?token=7690fb3b53b7e4cc4277834b164511b5846b57e7"},menopause:{initialF2F:"https://online-booking.semble.io/?token=b5464c3753513a3713631d07f8d9b8845c0adc85",initialVirtual:"https://online-booking.semble.io/?token=f8db56e4984e7b0a117e1fb18222abe903552bbb",followUpF2F:"https://online-booking.semble.io/?token=74f3bae20256d2061927e7728b3f4f75d8f02fdc",followUpVirtual:"https://online-booking.semble.io/?token=4087c12a21cc4bff272342e96e2d87c02bc4c871"},testosterone:{initialF2F:"https://online-booking.semble.io/?token=6162559360c1ac6f5702f774dea2a386265d1846",initialVirtual:"https://online-booking.semble.io/?token=cf228c079534da04d9e42ba6b17b6b27d7b2af28",monitoringVirtual:"https://online-booking.semble.io/?token=076b72347dc8b7fe58124ee5ce286632e1670c24",monitoringF2F:"https://online-booking.semble.io/?token=a83bc51d6631a42c13d2f646b1841d162f14d161",step1Phone:"https://online-booking.semble.io/?token=0735ebc07ff47df2cc1e243889ae331ded446bd5",step2Phone:"https://online-booking.semble.io/?token=edb43d886410bbb7fd0776de603076afc35e5b5d"},ivNutrition:{initialPhone:"https://online-booking.semble.io/?token=9c4ce3499e7738a3e712983e8f754a82868737a5",session1Hour:"https://online-booking.semble.io/?token=03cfa48629d223fe11c120b9bdf49680f121ca84",nad3Hour:"https://online-booking.semble.io/?token=2fd9db3c93694ab0d54b8ae616fa088dc9b16e51"},general:{generalConsultation:"https://online-booking.semble.io/?token=327737acd1758163da9acb963aefda56717f2525"}},a=i.weightLoss.initialConsultationVirtual;function o(e,t){let[r,n]=t.split("."),i=e[r];return i?i[n]??null:null}async function s(e){try{let n=await fetch("/booking-urls.json",{cache:"no-cache",signal:e});if(!n.ok)return null;let a=await n.json();var t=i,r=a;let o={};for(let e of Object.keys(t))o[e]={...t[e],...r[e]??{}};return o}catch{return null}}e.s(["BOOKING_TILES",0,[{label:"Clinician-Led Initial Consultation",urlKey:"clinicianLed.clinicianConsultation",description:"Your first appointment with our Specialist Nurse Team."},{label:"Clinician-Led Monthly Review",urlKey:"clinicianLed.clinicianLedMonthlyReview",description:"Ongoing review for existing clinician-led patients."},{label:"Diabetic Initial Consultation",urlKey:"diabetic.diabeticConsultation",description:"Type 1 / Type 2 patients â first clinician appointment."},{label:"Diabetic Monthly Review",urlKey:"diabetic.diabeticMonthlyReview",description:"Ongoing review for returning diabetic patients."}],"BOOKING_URLS",0,i,"PRIMARY_BOOKING_URL",0,a,"fetchBookingUrls",()=>s,"resolveUrl",()=>o],58276);let l=(0,n.createContext)({urls:i,primary:a,loaded:!1});function u(e){let a,o,u,c,d=(0,r.c)(8),{children:f}
3=e,[h,p]=(0,n.useState)(i),[g,m]=(0,n.useState)(!1);d[0]===Symbol.for("react.memo_cache_sentinel")?(a=()=>{let e=new AbortController;return s(e.signal).then(e=>{e&&p(e),m(!0)}),()=>e.abort()},o=[],d[0]=a,d[1]=o):(a=d[0],o=d[1]),(0,n.useEffect)(a,o),d[2]!==g||d[3]!==h?(u={urls:h,primary:h.weightLoss.initialConsultationVirtual,loaded:g},d[2]=g,d[3]=h,d[4]=u):u=d[4];let y=u;return d[5]!==f||d[6]!==y?(c=(0,t.jsx)(l.Provider,{value:y,children:f}),d[5]=f,d[6]=y,d[7]=c):c=d[7],c}function c(){return(0,n.useContext)(l)}e.s(["BookingUrlsProvider",()=>u,"useBookingUrls",()=>c],22219)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},1928,e=>{"use strict";let t=(0,e.i(75254).default)("shopping-cart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]);e.s(["ShoppingCart",()=>t],1928)},84614,e=>{"use strict";let t=(0,e.i(75254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],84614)},30699,e=>{"use strict";let t=(0,e.i(75254).default)("gift",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",key:"1sqzm4"}],["path",{d:"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5",key:"kc0143"}],["rect",{x:"3",y:"7",width:"18",height:"4",rx:"1",key:"1hberx"}]]);e.s(["Gift",()=>t],30699)},60289,e=>{"use strict";let t=(0,e.i(75254).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);e.s(["LayoutDashboard",()=>t],60289)},69426,e=>{e.v(t=>Promise.all(["static/chunks/a8e7a5acdb2260a4.js"].map(t=>e.l(t))).then(()=>t(81791)))}]);
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.