@metron-labs/quote-react 0.1.34 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
- import{a as Ra,b as Y}from"./chunk-SQE76S5B.js";var um=Ra(at=>{"use strict";function kc(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,n=e[r];if(0<ul(n,t))e[r]=t,e[a]=n,a=r;else break e}}function Ua(e){return e.length===0?null:e[0]}function dl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,n=e.length,i=n>>>1;r<i;){var o=2*(r+1)-1,l=e[o],c=o+1,p=e[c];if(0>ul(l,a))c<n&&0>ul(p,l)?(e[r]=p,e[c]=a,r=c):(e[r]=l,e[o]=a,r=o);else if(c<n&&0>ul(p,a))e[r]=p,e[c]=a,r=c;else break e}}return t}function ul(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}at.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(tm=performance,at.unstable_now=function(){return tm.now()}):(yc=Date,am=yc.now(),at.unstable_now=function(){return yc.now()-am});var tm,yc,am,Xa=[],vr=[],Gw=1,pa=null,At=3,Nc=!1,Xn=!1,$n=!1,Sc=!1,nm=typeof setTimeout=="function"?setTimeout:null,om=typeof clearTimeout=="function"?clearTimeout:null,rm=typeof setImmediate<"u"?setImmediate:null;function pl(e){for(var t=Ua(vr);t!==null;){if(t.callback===null)dl(vr);else if(t.startTime<=e)dl(vr),t.sortIndex=t.expirationTime,kc(Xa,t);else break;t=Ua(vr)}}function Cc(e){if($n=!1,pl(e),!Xn)if(Ua(Xa)!==null)Xn=!0,Ri||(Ri=!0,Ai());else{var t=Ua(vr);t!==null&&qc(Cc,t.startTime-e)}}var Ri=!1,Zn=-1,lm=5,sm=-1;function cm(){return Sc?!0:!(at.unstable_now()-sm<lm)}function _c(){if(Sc=!1,Ri){var e=at.unstable_now();sm=e;var t=!0;try{e:{Xn=!1,$n&&($n=!1,om(Zn),Zn=-1),Nc=!0;var a=At;try{t:{for(pl(e),pa=Ua(Xa);pa!==null&&!(pa.expirationTime>e&&cm());){var r=pa.callback;if(typeof r=="function"){pa.callback=null,At=pa.priorityLevel;var n=r(pa.expirationTime<=e);if(e=at.unstable_now(),typeof n=="function"){pa.callback=n,pl(e),t=!0;break t}pa===Ua(Xa)&&dl(Xa),pl(e)}else dl(Xa);pa=Ua(Xa)}if(pa!==null)t=!0;else{var i=Ua(vr);i!==null&&qc(Cc,i.startTime-e),t=!1}}break e}finally{pa=null,At=a,Nc=!1}t=void 0}}finally{t?Ai():Ri=!1}}}var Ai;typeof rm=="function"?Ai=function(){rm(_c)}:typeof MessageChannel<"u"?(xc=new MessageChannel,im=xc.port2,xc.port1.onmessage=_c,Ai=function(){im.postMessage(null)}):Ai=function(){nm(_c,0)};var xc,im;function qc(e,t){Zn=nm(function(){e(at.unstable_now())},t)}at.unstable_IdlePriority=5;at.unstable_ImmediatePriority=1;at.unstable_LowPriority=4;at.unstable_NormalPriority=3;at.unstable_Profiling=null;at.unstable_UserBlockingPriority=2;at.unstable_cancelCallback=function(e){e.callback=null};at.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):lm=0<e?Math.floor(1e3/e):5};at.unstable_getCurrentPriorityLevel=function(){return At};at.unstable_next=function(e){switch(At){case 1:case 2:case 3:var t=3;break;default:t=At}var a=At;At=t;try{return e()}finally{At=a}};at.unstable_requestPaint=function(){Sc=!0};at.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=At;At=e;try{return t()}finally{At=a}};at.unstable_scheduleCallback=function(e,t,a){var r=at.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=a+n,e={id:Gw++,callback:t,priorityLevel:e,startTime:a,expirationTime:n,sortIndex:-1},a>r?(e.sortIndex=a,kc(vr,e),Ua(Xa)===null&&e===Ua(vr)&&($n?(om(Zn),Zn=-1):$n=!0,qc(Cc,a-r))):(e.sortIndex=n,kc(Xa,e),Xn||Nc||(Xn=!0,Ri||(Ri=!0,Ai()))),e};at.unstable_shouldYield=cm;at.unstable_wrapCallback=function(e){var t=At;return function(){var a=At;At=t;try{return e.apply(this,arguments)}finally{At=a}}}});var dm=Ra((nx,pm)=>{"use strict";pm.exports=um()});var km=Ra(be=>{"use strict";var Tc=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.portal"),Yw=Symbol.for("react.fragment"),Vw=Symbol.for("react.strict_mode"),Xw=Symbol.for("react.profiler"),$w=Symbol.for("react.consumer"),Zw=Symbol.for("react.context"),Kw=Symbol.for("react.forward_ref"),Pw=Symbol.for("react.suspense"),Jw=Symbol.for("react.memo"),bm=Symbol.for("react.lazy"),Fw=Symbol.for("react.activity"),mm=Symbol.iterator;function Iw(e){return e===null||typeof e!="object"?null:(e=mm&&e[mm]||e["@@iterator"],typeof e=="function"?e:null)}var vm={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wm=Object.assign,ym={};function Di(e,t,a){this.props=e,this.context=t,this.refs=ym,this.updater=a||vm}Di.prototype.isReactComponent={};Di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function _m(){}_m.prototype=Di.prototype;function zc(e,t,a){this.props=e,this.context=t,this.refs=ym,this.updater=a||vm}var Ac=zc.prototype=new _m;Ac.constructor=zc;wm(Ac,Di.prototype);Ac.isPureReactComponent=!0;var fm=Array.isArray;function Mc(){}var Fe={H:null,A:null,T:null,S:null},xm=Object.prototype.hasOwnProperty;function Rc(e,t,a){var r=a.ref;return{$$typeof:Tc,type:e,key:t,ref:r!==void 0?r:null,props:a}}function Ww(e,t){return Rc(e.type,t,e.props)}function Uc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function e0(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var gm=/\/+/g;function Ec(e,t){return typeof e=="object"&&e!==null&&e.key!=null?e0(""+e.key):t.toString(36)}function t0(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Mc,Mc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ui(e,t,a,r,n){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Tc:case Qw:o=!0;break;case bm:return o=e._init,Ui(o(e._payload),t,a,r,n)}}if(o)return n=n(e),o=r===""?"."+Ec(e,0):r,fm(n)?(a="",o!=null&&(a=o.replace(gm,"$&/")+"/"),Ui(n,t,a,"",function(p){return p})):n!=null&&(Uc(n)&&(n=Ww(n,a+(n.key==null||e&&e.key===n.key?"":(""+n.key).replace(gm,"$&/")+"/")+o)),t.push(n)),1;o=0;var l=r===""?".":r+":";if(fm(e))for(var c=0;c<e.length;c++)r=e[c],i=l+Ec(r,c),o+=Ui(r,t,a,i,n);else if(c=Iw(e),typeof c=="function")for(e=c.call(e),c=0;!(r=e.next()).done;)r=r.value,i=l+Ec(r,c++),o+=Ui(r,t,a,i,n);else if(i==="object"){if(typeof e.then=="function")return Ui(t0(e),t,a,r,n);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return o}function ml(e,t,a){if(e==null)return e;var r=[],n=0;return Ui(e,r,"","",function(i){return t.call(a,i,n++)}),r}function a0(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var hm=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},r0={map:ml,forEach:function(e,t,a){ml(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return ml(e,function(){t++}),t},toArray:function(e){return ml(e,function(t){return t})||[]},only:function(e){if(!Uc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};be.Activity=Fw;be.Children=r0;be.Component=Di;be.Fragment=Yw;be.Profiler=Xw;be.PureComponent=zc;be.StrictMode=Vw;be.Suspense=Pw;be.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Fe;be.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Fe.H.useMemoCache(e)}};be.cache=function(e){return function(){return e.apply(null,arguments)}};be.cacheSignal=function(){return null};be.cloneElement=function(e,t,a){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=wm({},e.props),n=e.key;if(t!=null)for(i in t.key!==void 0&&(n=""+t.key),t)!xm.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(r[i]=t[i]);var i=arguments.length-2;if(i===1)r.children=a;else if(1<i){for(var o=Array(i),l=0;l<i;l++)o[l]=arguments[l+2];r.children=o}return Rc(e.type,n,r)};be.createContext=function(e){return e={$$typeof:Zw,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:$w,_context:e},e};be.createElement=function(e,t,a){var r,n={},i=null;if(t!=null)for(r in t.key!==void 0&&(i=""+t.key),t)xm.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(n[r]=t[r]);var o=arguments.length-2;if(o===1)n.children=a;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];n.children=l}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)n[r]===void 0&&(n[r]=o[r]);return Rc(e,i,n)};be.createRef=function(){return{current:null}};be.forwardRef=function(e){return{$$typeof:Kw,render:e}};be.isValidElement=Uc;be.lazy=function(e){return{$$typeof:bm,_payload:{_status:-1,_result:e},_init:a0}};be.memo=function(e,t){return{$$typeof:Jw,type:e,compare:t===void 0?null:t}};be.startTransition=function(e){var t=Fe.T,a={};Fe.T=a;try{var r=e(),n=Fe.S;n!==null&&n(a,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(Mc,hm)}catch(i){hm(i)}finally{t!==null&&a.types!==null&&(t.types=a.types),Fe.T=t}};be.unstable_useCacheRefresh=function(){return Fe.H.useCacheRefresh()};be.use=function(e){return Fe.H.use(e)};be.useActionState=function(e,t,a){return Fe.H.useActionState(e,t,a)};be.useCallback=function(e,t){return Fe.H.useCallback(e,t)};be.useContext=function(e){return Fe.H.useContext(e)};be.useDebugValue=function(){};be.useDeferredValue=function(e,t){return Fe.H.useDeferredValue(e,t)};be.useEffect=function(e,t){return Fe.H.useEffect(e,t)};be.useEffectEvent=function(e){return Fe.H.useEffectEvent(e)};be.useId=function(){return Fe.H.useId()};be.useImperativeHandle=function(e,t,a){return Fe.H.useImperativeHandle(e,t,a)};be.useInsertionEffect=function(e,t){return Fe.H.useInsertionEffect(e,t)};be.useLayoutEffect=function(e,t){return Fe.H.useLayoutEffect(e,t)};be.useMemo=function(e,t){return Fe.H.useMemo(e,t)};be.useOptimistic=function(e,t){return Fe.H.useOptimistic(e,t)};be.useReducer=function(e,t,a){return Fe.H.useReducer(e,t,a)};be.useRef=function(e){return Fe.H.useRef(e)};be.useState=function(e){return Fe.H.useState(e)};be.useSyncExternalStore=function(e,t,a){return Fe.H.useSyncExternalStore(e,t,a)};be.useTransition=function(){return Fe.H.useTransition()};be.version="19.2.3"});var $e=Ra((lx,Nm)=>{"use strict";Nm.exports=km()});var Cm=Ra(Dt=>{"use strict";var i0=$e();function Sm(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function wr(){}var Ut={d:{f:wr,r:function(){throw Error(Sm(522))},D:wr,C:wr,L:wr,m:wr,X:wr,S:wr,M:wr},p:0,findDOMNode:null},n0=Symbol.for("react.portal");function o0(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:n0,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}var Kn=i0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function fl(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Dt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ut;Dt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Sm(299));return o0(e,t,null,a)};Dt.flushSync=function(e){var t=Kn.T,a=Ut.p;try{if(Kn.T=null,Ut.p=2,e)return e()}finally{Kn.T=t,Ut.p=a,Ut.d.f()}};Dt.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Ut.d.C(e,t))};Dt.prefetchDNS=function(e){typeof e=="string"&&Ut.d.D(e)};Dt.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var a=t.as,r=fl(a,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;a==="style"?Ut.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:n,fetchPriority:i}):a==="script"&&Ut.d.X(e,{crossOrigin:r,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Dt.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var a=fl(t.as,t.crossOrigin);Ut.d.M(e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Ut.d.M(e)};Dt.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var a=t.as,r=fl(a,t.crossOrigin);Ut.d.L(e,a,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Dt.preloadModule=function(e,t){if(typeof e=="string")if(t){var a=fl(t.as,t.crossOrigin);Ut.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Ut.d.m(e)};Dt.requestFormReset=function(e){Ut.d.r(e)};Dt.unstable_batchedUpdates=function(e,t){return e(t)};Dt.useFormState=function(e,t,a){return Kn.H.useFormState(e,t,a)};Dt.useFormStatus=function(){return Kn.H.useHostTransitionStatus()};Dt.version="19.2.3"});var Mm=Ra((cx,Em)=>{"use strict";function qm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qm)}catch(e){console.error(e)}}qm(),Em.exports=Cm()});var Qb=Ra(Hs=>{"use strict";var wt=dm(),ag=$e(),l0=Mm();function B(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function rg(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Do(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function ig(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ng(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Tm(e){if(Do(e)!==e)throw Error(B(188))}function s0(e){var t=e.alternate;if(!t){if(t=Do(e),t===null)throw Error(B(188));return t!==e?null:e}for(var a=e,r=t;;){var n=a.return;if(n===null)break;var i=n.alternate;if(i===null){if(r=n.return,r!==null){a=r;continue}break}if(n.child===i.child){for(i=n.child;i;){if(i===a)return Tm(n),e;if(i===r)return Tm(n),t;i=i.sibling}throw Error(B(188))}if(a.return!==r.return)a=n,r=i;else{for(var o=!1,l=n.child;l;){if(l===a){o=!0,a=n,r=i;break}if(l===r){o=!0,r=n,a=i;break}l=l.sibling}if(!o){for(l=i.child;l;){if(l===a){o=!0,a=i,r=n;break}if(l===r){o=!0,r=i,a=n;break}l=l.sibling}if(!o)throw Error(B(189))}}if(a.alternate!==r)throw Error(B(190))}if(a.tag!==3)throw Error(B(188));return a.stateNode.current===a?e:t}function og(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=og(e),t!==null)return t;e=e.sibling}return null}var et=Object.assign,c0=Symbol.for("react.element"),gl=Symbol.for("react.transitional.element"),ao=Symbol.for("react.portal"),Gi=Symbol.for("react.fragment"),lg=Symbol.for("react.strict_mode"),fu=Symbol.for("react.profiler"),sg=Symbol.for("react.consumer"),Wa=Symbol.for("react.context"),cp=Symbol.for("react.forward_ref"),gu=Symbol.for("react.suspense"),hu=Symbol.for("react.suspense_list"),up=Symbol.for("react.memo"),yr=Symbol.for("react.lazy"),bu=Symbol.for("react.activity"),u0=Symbol.for("react.memo_cache_sentinel"),zm=Symbol.iterator;function Pn(e){return e===null||typeof e!="object"?null:(e=zm&&e[zm]||e["@@iterator"],typeof e=="function"?e:null)}var p0=Symbol.for("react.client.reference");function vu(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===p0?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Gi:return"Fragment";case fu:return"Profiler";case lg:return"StrictMode";case gu:return"Suspense";case hu:return"SuspenseList";case bu:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ao:return"Portal";case Wa:return e.displayName||"Context";case sg:return(e._context.displayName||"Context")+".Consumer";case cp:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case up:return t=e.displayName||null,t!==null?t:vu(e.type)||"Memo";case yr:t=e._payload,e=e._init;try{return vu(e(t))}catch{}}return null}var ro=Array.isArray,me=ag.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,De=l0.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ii={pending:!1,data:null,method:null,action:null},wu=[],Qi=-1;function Ha(e){return{current:e}}function kt(e){0>Qi||(e.current=wu[Qi],wu[Qi]=null,Qi--)}function Pe(e,t){Qi++,wu[Qi]=e.current,e.current=t}var La=Ha(null),_o=Ha(null),zr=Ha(null),Kl=Ha(null);function Pl(e,t){switch(Pe(zr,t),Pe(_o,e),Pe(La,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hf(t),e=Eb(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}kt(La),Pe(La,e)}function ln(){kt(La),kt(_o),kt(zr)}function yu(e){e.memoizedState!==null&&Pe(Kl,e);var t=La.current,a=Eb(t,e.type);t!==a&&(Pe(_o,e),Pe(La,a))}function Jl(e){_o.current===e&&(kt(La),kt(_o)),Kl.current===e&&(kt(Kl),Ao._currentValue=ii)}var Dc,Am;function ei(e){if(Dc===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Dc=t&&t[1]||"",Am=-1<a.stack.indexOf(`
1
+ import{a as Ra,b as Y}from"./chunk-SQE76S5B.js";var pm=Ra(nt=>{"use strict";function kc(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,n=e[r];if(0<ul(n,t))e[r]=t,e[a]=n,a=r;else break e}}function Ua(e){return e.length===0?null:e[0]}function dl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,n=e.length,i=n>>>1;r<i;){var o=2*(r+1)-1,l=e[o],c=o+1,p=e[c];if(0>ul(l,a))c<n&&0>ul(p,l)?(e[r]=p,e[c]=a,r=c):(e[r]=l,e[o]=a,r=o);else if(c<n&&0>ul(p,a))e[r]=p,e[c]=a,r=c;else break e}}return t}function ul(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}nt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(am=performance,nt.unstable_now=function(){return am.now()}):(yc=Date,rm=yc.now(),nt.unstable_now=function(){return yc.now()-rm});var am,yc,rm,Xa=[],vr=[],Qw=1,pa=null,Rt=3,Nc=!1,Xn=!1,$n=!1,Sc=!1,om=typeof setTimeout=="function"?setTimeout:null,lm=typeof clearTimeout=="function"?clearTimeout:null,im=typeof setImmediate<"u"?setImmediate:null;function pl(e){for(var t=Ua(vr);t!==null;){if(t.callback===null)dl(vr);else if(t.startTime<=e)dl(vr),t.sortIndex=t.expirationTime,kc(Xa,t);else break;t=Ua(vr)}}function Cc(e){if($n=!1,pl(e),!Xn)if(Ua(Xa)!==null)Xn=!0,Ri||(Ri=!0,Ai());else{var t=Ua(vr);t!==null&&qc(Cc,t.startTime-e)}}var Ri=!1,Zn=-1,sm=5,cm=-1;function um(){return Sc?!0:!(nt.unstable_now()-cm<sm)}function _c(){if(Sc=!1,Ri){var e=nt.unstable_now();cm=e;var t=!0;try{e:{Xn=!1,$n&&($n=!1,lm(Zn),Zn=-1),Nc=!0;var a=Rt;try{t:{for(pl(e),pa=Ua(Xa);pa!==null&&!(pa.expirationTime>e&&um());){var r=pa.callback;if(typeof r=="function"){pa.callback=null,Rt=pa.priorityLevel;var n=r(pa.expirationTime<=e);if(e=nt.unstable_now(),typeof n=="function"){pa.callback=n,pl(e),t=!0;break t}pa===Ua(Xa)&&dl(Xa),pl(e)}else dl(Xa);pa=Ua(Xa)}if(pa!==null)t=!0;else{var i=Ua(vr);i!==null&&qc(Cc,i.startTime-e),t=!1}}break e}finally{pa=null,Rt=a,Nc=!1}t=void 0}}finally{t?Ai():Ri=!1}}}var Ai;typeof im=="function"?Ai=function(){im(_c)}:typeof MessageChannel<"u"?(xc=new MessageChannel,nm=xc.port2,xc.port1.onmessage=_c,Ai=function(){nm.postMessage(null)}):Ai=function(){om(_c,0)};var xc,nm;function qc(e,t){Zn=om(function(){e(nt.unstable_now())},t)}nt.unstable_IdlePriority=5;nt.unstable_ImmediatePriority=1;nt.unstable_LowPriority=4;nt.unstable_NormalPriority=3;nt.unstable_Profiling=null;nt.unstable_UserBlockingPriority=2;nt.unstable_cancelCallback=function(e){e.callback=null};nt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):sm=0<e?Math.floor(1e3/e):5};nt.unstable_getCurrentPriorityLevel=function(){return Rt};nt.unstable_next=function(e){switch(Rt){case 1:case 2:case 3:var t=3;break;default:t=Rt}var a=Rt;Rt=t;try{return e()}finally{Rt=a}};nt.unstable_requestPaint=function(){Sc=!0};nt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=Rt;Rt=e;try{return t()}finally{Rt=a}};nt.unstable_scheduleCallback=function(e,t,a){var r=nt.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=a+n,e={id:Qw++,callback:t,priorityLevel:e,startTime:a,expirationTime:n,sortIndex:-1},a>r?(e.sortIndex=a,kc(vr,e),Ua(Xa)===null&&e===Ua(vr)&&($n?(lm(Zn),Zn=-1):$n=!0,qc(Cc,a-r))):(e.sortIndex=n,kc(Xa,e),Xn||Nc||(Xn=!0,Ri||(Ri=!0,Ai()))),e};nt.unstable_shouldYield=um;nt.unstable_wrapCallback=function(e){var t=Rt;return function(){var a=Rt;Rt=t;try{return e.apply(this,arguments)}finally{Rt=a}}}});var mm=Ra((ox,dm)=>{"use strict";dm.exports=pm()});var Nm=Ra(fe=>{"use strict";var Tc=Symbol.for("react.transitional.element"),Yw=Symbol.for("react.portal"),Vw=Symbol.for("react.fragment"),Xw=Symbol.for("react.strict_mode"),$w=Symbol.for("react.profiler"),Zw=Symbol.for("react.consumer"),Kw=Symbol.for("react.context"),Pw=Symbol.for("react.forward_ref"),Jw=Symbol.for("react.suspense"),Fw=Symbol.for("react.memo"),vm=Symbol.for("react.lazy"),Iw=Symbol.for("react.activity"),fm=Symbol.iterator;function Ww(e){return e===null||typeof e!="object"?null:(e=fm&&e[fm]||e["@@iterator"],typeof e=="function"?e:null)}var wm={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ym=Object.assign,_m={};function Di(e,t,a){this.props=e,this.context=t,this.refs=_m,this.updater=a||wm}Di.prototype.isReactComponent={};Di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function xm(){}xm.prototype=Di.prototype;function zc(e,t,a){this.props=e,this.context=t,this.refs=_m,this.updater=a||wm}var Ac=zc.prototype=new xm;Ac.constructor=zc;ym(Ac,Di.prototype);Ac.isPureReactComponent=!0;var gm=Array.isArray;function Mc(){}var tt={H:null,A:null,T:null,S:null},km=Object.prototype.hasOwnProperty;function Rc(e,t,a){var r=a.ref;return{$$typeof:Tc,type:e,key:t,ref:r!==void 0?r:null,props:a}}function e0(e,t){return Rc(e.type,t,e.props)}function Uc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function t0(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var hm=/\/+/g;function Ec(e,t){return typeof e=="object"&&e!==null&&e.key!=null?t0(""+e.key):t.toString(36)}function a0(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Mc,Mc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ui(e,t,a,r,n){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Tc:case Yw:o=!0;break;case vm:return o=e._init,Ui(o(e._payload),t,a,r,n)}}if(o)return n=n(e),o=r===""?"."+Ec(e,0):r,gm(n)?(a="",o!=null&&(a=o.replace(hm,"$&/")+"/"),Ui(n,t,a,"",function(p){return p})):n!=null&&(Uc(n)&&(n=e0(n,a+(n.key==null||e&&e.key===n.key?"":(""+n.key).replace(hm,"$&/")+"/")+o)),t.push(n)),1;o=0;var l=r===""?".":r+":";if(gm(e))for(var c=0;c<e.length;c++)r=e[c],i=l+Ec(r,c),o+=Ui(r,t,a,i,n);else if(c=Ww(e),typeof c=="function")for(e=c.call(e),c=0;!(r=e.next()).done;)r=r.value,i=l+Ec(r,c++),o+=Ui(r,t,a,i,n);else if(i==="object"){if(typeof e.then=="function")return Ui(a0(e),t,a,r,n);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return o}function ml(e,t,a){if(e==null)return e;var r=[],n=0;return Ui(e,r,"","",function(i){return t.call(a,i,n++)}),r}function r0(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var bm=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},i0={map:ml,forEach:function(e,t,a){ml(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return ml(e,function(){t++}),t},toArray:function(e){return ml(e,function(t){return t})||[]},only:function(e){if(!Uc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};fe.Activity=Iw;fe.Children=i0;fe.Component=Di;fe.Fragment=Vw;fe.Profiler=$w;fe.PureComponent=zc;fe.StrictMode=Xw;fe.Suspense=Jw;fe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=tt;fe.__COMPILER_RUNTIME={__proto__:null,c:function(e){return tt.H.useMemoCache(e)}};fe.cache=function(e){return function(){return e.apply(null,arguments)}};fe.cacheSignal=function(){return null};fe.cloneElement=function(e,t,a){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=ym({},e.props),n=e.key;if(t!=null)for(i in t.key!==void 0&&(n=""+t.key),t)!km.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(r[i]=t[i]);var i=arguments.length-2;if(i===1)r.children=a;else if(1<i){for(var o=Array(i),l=0;l<i;l++)o[l]=arguments[l+2];r.children=o}return Rc(e.type,n,r)};fe.createContext=function(e){return e={$$typeof:Kw,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:Zw,_context:e},e};fe.createElement=function(e,t,a){var r,n={},i=null;if(t!=null)for(r in t.key!==void 0&&(i=""+t.key),t)km.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(n[r]=t[r]);var o=arguments.length-2;if(o===1)n.children=a;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];n.children=l}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)n[r]===void 0&&(n[r]=o[r]);return Rc(e,i,n)};fe.createRef=function(){return{current:null}};fe.forwardRef=function(e){return{$$typeof:Pw,render:e}};fe.isValidElement=Uc;fe.lazy=function(e){return{$$typeof:vm,_payload:{_status:-1,_result:e},_init:r0}};fe.memo=function(e,t){return{$$typeof:Fw,type:e,compare:t===void 0?null:t}};fe.startTransition=function(e){var t=tt.T,a={};tt.T=a;try{var r=e(),n=tt.S;n!==null&&n(a,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(Mc,bm)}catch(i){bm(i)}finally{t!==null&&a.types!==null&&(t.types=a.types),tt.T=t}};fe.unstable_useCacheRefresh=function(){return tt.H.useCacheRefresh()};fe.use=function(e){return tt.H.use(e)};fe.useActionState=function(e,t,a){return tt.H.useActionState(e,t,a)};fe.useCallback=function(e,t){return tt.H.useCallback(e,t)};fe.useContext=function(e){return tt.H.useContext(e)};fe.useDebugValue=function(){};fe.useDeferredValue=function(e,t){return tt.H.useDeferredValue(e,t)};fe.useEffect=function(e,t){return tt.H.useEffect(e,t)};fe.useEffectEvent=function(e){return tt.H.useEffectEvent(e)};fe.useId=function(){return tt.H.useId()};fe.useImperativeHandle=function(e,t,a){return tt.H.useImperativeHandle(e,t,a)};fe.useInsertionEffect=function(e,t){return tt.H.useInsertionEffect(e,t)};fe.useLayoutEffect=function(e,t){return tt.H.useLayoutEffect(e,t)};fe.useMemo=function(e,t){return tt.H.useMemo(e,t)};fe.useOptimistic=function(e,t){return tt.H.useOptimistic(e,t)};fe.useReducer=function(e,t,a){return tt.H.useReducer(e,t,a)};fe.useRef=function(e){return tt.H.useRef(e)};fe.useState=function(e){return tt.H.useState(e)};fe.useSyncExternalStore=function(e,t,a){return tt.H.useSyncExternalStore(e,t,a)};fe.useTransition=function(){return tt.H.useTransition()};fe.version="19.2.3"});var Ke=Ra((sx,Sm)=>{"use strict";Sm.exports=Nm()});var qm=Ra(Bt=>{"use strict";var n0=Ke();function Cm(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function wr(){}var Dt={d:{f:wr,r:function(){throw Error(Cm(522))},D:wr,C:wr,L:wr,m:wr,X:wr,S:wr,M:wr},p:0,findDOMNode:null},o0=Symbol.for("react.portal");function l0(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o0,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}var Kn=n0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function fl(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Bt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Dt;Bt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Cm(299));return l0(e,t,null,a)};Bt.flushSync=function(e){var t=Kn.T,a=Dt.p;try{if(Kn.T=null,Dt.p=2,e)return e()}finally{Kn.T=t,Dt.p=a,Dt.d.f()}};Bt.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Dt.d.C(e,t))};Bt.prefetchDNS=function(e){typeof e=="string"&&Dt.d.D(e)};Bt.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var a=t.as,r=fl(a,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;a==="style"?Dt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:n,fetchPriority:i}):a==="script"&&Dt.d.X(e,{crossOrigin:r,integrity:n,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Bt.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var a=fl(t.as,t.crossOrigin);Dt.d.M(e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Dt.d.M(e)};Bt.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var a=t.as,r=fl(a,t.crossOrigin);Dt.d.L(e,a,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Bt.preloadModule=function(e,t){if(typeof e=="string")if(t){var a=fl(t.as,t.crossOrigin);Dt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Dt.d.m(e)};Bt.requestFormReset=function(e){Dt.d.r(e)};Bt.unstable_batchedUpdates=function(e,t){return e(t)};Bt.useFormState=function(e,t,a){return Kn.H.useFormState(e,t,a)};Bt.useFormStatus=function(){return Kn.H.useHostTransitionStatus()};Bt.version="19.2.3"});var Tm=Ra((ux,Mm)=>{"use strict";function Em(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Em)}catch(e){console.error(e)}}Em(),Mm.exports=qm()});var Yb=Ra(Hs=>{"use strict";var _t=mm(),rg=Ke(),s0=Tm();function B(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function ig(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Do(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function ng(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function og(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function zm(e){if(Do(e)!==e)throw Error(B(188))}function c0(e){var t=e.alternate;if(!t){if(t=Do(e),t===null)throw Error(B(188));return t!==e?null:e}for(var a=e,r=t;;){var n=a.return;if(n===null)break;var i=n.alternate;if(i===null){if(r=n.return,r!==null){a=r;continue}break}if(n.child===i.child){for(i=n.child;i;){if(i===a)return zm(n),e;if(i===r)return zm(n),t;i=i.sibling}throw Error(B(188))}if(a.return!==r.return)a=n,r=i;else{for(var o=!1,l=n.child;l;){if(l===a){o=!0,a=n,r=i;break}if(l===r){o=!0,r=n,a=i;break}l=l.sibling}if(!o){for(l=i.child;l;){if(l===a){o=!0,a=i,r=n;break}if(l===r){o=!0,r=i,a=n;break}l=l.sibling}if(!o)throw Error(B(189))}}if(a.alternate!==r)throw Error(B(190))}if(a.tag!==3)throw Error(B(188));return a.stateNode.current===a?e:t}function lg(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=lg(e),t!==null)return t;e=e.sibling}return null}var it=Object.assign,u0=Symbol.for("react.element"),gl=Symbol.for("react.transitional.element"),ao=Symbol.for("react.portal"),Gi=Symbol.for("react.fragment"),sg=Symbol.for("react.strict_mode"),fu=Symbol.for("react.profiler"),cg=Symbol.for("react.consumer"),Wa=Symbol.for("react.context"),cp=Symbol.for("react.forward_ref"),gu=Symbol.for("react.suspense"),hu=Symbol.for("react.suspense_list"),up=Symbol.for("react.memo"),yr=Symbol.for("react.lazy"),bu=Symbol.for("react.activity"),p0=Symbol.for("react.memo_cache_sentinel"),Am=Symbol.iterator;function Pn(e){return e===null||typeof e!="object"?null:(e=Am&&e[Am]||e["@@iterator"],typeof e=="function"?e:null)}var d0=Symbol.for("react.client.reference");function vu(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===d0?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Gi:return"Fragment";case fu:return"Profiler";case sg:return"StrictMode";case gu:return"Suspense";case hu:return"SuspenseList";case bu:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ao:return"Portal";case Wa:return e.displayName||"Context";case cg:return(e._context.displayName||"Context")+".Consumer";case cp:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case up:return t=e.displayName||null,t!==null?t:vu(e.type)||"Memo";case yr:t=e._payload,e=e._init;try{return vu(e(t))}catch{}}return null}var ro=Array.isArray,de=rg.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,De=s0.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ii={pending:!1,data:null,method:null,action:null},wu=[],Qi=-1;function Ha(e){return{current:e}}function St(e){0>Qi||(e.current=wu[Qi],wu[Qi]=null,Qi--)}function Fe(e,t){Qi++,wu[Qi]=e.current,e.current=t}var La=Ha(null),_o=Ha(null),zr=Ha(null),Kl=Ha(null);function Pl(e,t){switch(Fe(zr,t),Fe(_o,e),Fe(La,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jf(t),e=Mb(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}St(La),Fe(La,e)}function ln(){St(La),St(_o),St(zr)}function yu(e){e.memoizedState!==null&&Fe(Kl,e);var t=La.current,a=Mb(t,e.type);t!==a&&(Fe(_o,e),Fe(La,a))}function Jl(e){_o.current===e&&(St(La),St(_o)),Kl.current===e&&(St(Kl),Ao._currentValue=ii)}var Dc,Rm;function ei(e){if(Dc===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Dc=t&&t[1]||"",Rm=-1<a.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Dc+e+Am}var Bc=!1;function Oc(e,t){if(!e||Bc)return"";Bc=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var b=function(){throw Error()};if(Object.defineProperty(b.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(b,[])}catch(h){var d=h}Reflect.construct(e,[],b)}else{try{b.call()}catch(h){d=h}e.call(b.prototype)}}else{try{throw Error()}catch(h){d=h}(b=e())&&typeof b.catch=="function"&&b.catch(function(){})}}catch(h){if(h&&d&&typeof h.stack=="string")return[h.stack,d.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=r.DetermineComponentFrameRoot(),o=i[0],l=i[1];if(o&&l){var c=o.split(`
3
+ `+Dc+e+Rm}var Bc=!1;function Oc(e,t){if(!e||Bc)return"";Bc=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var b=function(){throw Error()};if(Object.defineProperty(b.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(b,[])}catch(h){var d=h}Reflect.construct(e,[],b)}else{try{b.call()}catch(h){d=h}e.call(b.prototype)}}else{try{throw Error()}catch(h){d=h}(b=e())&&typeof b.catch=="function"&&b.catch(function(){})}}catch(h){if(h&&d&&typeof h.stack=="string")return[h.stack,d.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=r.DetermineComponentFrameRoot(),o=i[0],l=i[1];if(o&&l){var c=o.split(`
4
4
  `),p=l.split(`
5
5
  `);for(n=r=0;r<c.length&&!c[r].includes("DetermineComponentFrameRoot");)r++;for(;n<p.length&&!p[n].includes("DetermineComponentFrameRoot");)n++;if(r===c.length||n===p.length)for(r=c.length-1,n=p.length-1;1<=r&&0<=n&&c[r]!==p[n];)n--;for(;1<=r&&0<=n;r--,n--)if(c[r]!==p[n]){if(r!==1||n!==1)do if(r--,n--,0>n||c[r]!==p[n]){var f=`
6
- `+c[r].replace(" at new "," at ");return e.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",e.displayName)),f}while(1<=r&&0<=n);break}}}finally{Bc=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ei(a):""}function d0(e,t){switch(e.tag){case 26:case 27:case 5:return ei(e.type);case 16:return ei("Lazy");case 13:return e.child!==t&&t!==null?ei("Suspense Fallback"):ei("Suspense");case 19:return ei("SuspenseList");case 0:case 15:return Oc(e.type,!1);case 11:return Oc(e.type.render,!1);case 1:return Oc(e.type,!0);case 31:return ei("Activity");default:return""}}function Rm(e){try{var t="",a=null;do t+=d0(e,a),a=e,e=e.return;while(e);return t}catch(r){return`
6
+ `+c[r].replace(" at new "," at ");return e.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",e.displayName)),f}while(1<=r&&0<=n);break}}}finally{Bc=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ei(a):""}function m0(e,t){switch(e.tag){case 26:case 27:case 5:return ei(e.type);case 16:return ei("Lazy");case 13:return e.child!==t&&t!==null?ei("Suspense Fallback"):ei("Suspense");case 19:return ei("SuspenseList");case 0:case 15:return Oc(e.type,!1);case 11:return Oc(e.type.render,!1);case 1:return Oc(e.type,!0);case 31:return ei("Activity");default:return""}}function Um(e){try{var t="",a=null;do t+=m0(e,a),a=e,e=e.return;while(e);return t}catch(r){return`
7
7
  Error generating stack: `+r.message+`
8
- `+r.stack}}var _u=Object.prototype.hasOwnProperty,pp=wt.unstable_scheduleCallback,Lc=wt.unstable_cancelCallback,m0=wt.unstable_shouldYield,f0=wt.unstable_requestPaint,ia=wt.unstable_now,g0=wt.unstable_getCurrentPriorityLevel,cg=wt.unstable_ImmediatePriority,ug=wt.unstable_UserBlockingPriority,Fl=wt.unstable_NormalPriority,h0=wt.unstable_LowPriority,pg=wt.unstable_IdlePriority,b0=wt.log,v0=wt.unstable_setDisableYieldValue,Bo=null,na=null;function Cr(e){if(typeof b0=="function"&&v0(e),na&&typeof na.setStrictMode=="function")try{na.setStrictMode(Bo,e)}catch{}}var oa=Math.clz32?Math.clz32:_0,w0=Math.log,y0=Math.LN2;function _0(e){return e>>>=0,e===0?32:31-(w0(e)/y0|0)|0}var hl=256,bl=262144,vl=4194304;function ti(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ks(e,t,a){var r=e.pendingLanes;if(r===0)return 0;var n=0,i=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~i,r!==0?n=ti(r):(o&=l,o!==0?n=ti(o):a||(a=l&~e,a!==0&&(n=ti(a))))):(l=r&~i,l!==0?n=ti(l):o!==0?n=ti(o):a||(a=r&~e,a!==0&&(n=ti(a)))),n===0?0:t!==0&&t!==n&&(t&i)===0&&(i=n&-n,a=t&-t,i>=a||i===32&&(a&4194048)!==0)?t:n}function Oo(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function x0(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function dg(){var e=vl;return vl<<=1,(vl&62914560)===0&&(vl=4194304),e}function Hc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Lo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function k0(e,t,a,r,n,i){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var l=e.entanglements,c=e.expirationTimes,p=e.hiddenUpdates;for(a=o&~a;0<a;){var f=31-oa(a),b=1<<f;l[f]=0,c[f]=-1;var d=p[f];if(d!==null)for(p[f]=null,f=0;f<d.length;f++){var h=d[f];h!==null&&(h.lane&=-536870913)}a&=~b}r!==0&&mg(e,r,0),i!==0&&n===0&&e.tag!==0&&(e.suspendedLanes|=i&~(o&~t))}function mg(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-oa(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|a&261930}function fg(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-oa(a),n=1<<r;n&t|e[r]&t&&(e[r]|=t),a&=~n}}function gg(e,t){var a=t&-t;return a=(a&42)!==0?1:dp(a),(a&(e.suspendedLanes|t))!==0?0:a}function dp(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function mp(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function hg(){var e=De.p;return e!==0?e:(e=window.event,e===void 0?32:Hb(e.type))}function Um(e,t){var a=De.p;try{return De.p=e,t()}finally{De.p=a}}var Vr=Math.random().toString(36).slice(2),St="__reactFiber$"+Vr,$t="__reactProps$"+Vr,vn="__reactContainer$"+Vr,xu="__reactEvents$"+Vr,N0="__reactListeners$"+Vr,S0="__reactHandles$"+Vr,Dm="__reactResources$"+Vr,Ho="__reactMarker$"+Vr;function fp(e){delete e[St],delete e[$t],delete e[xu],delete e[N0],delete e[S0]}function Yi(e){var t=e[St];if(t)return t;for(var a=e.parentNode;a;){if(t=a[vn]||a[St]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Vf(e);e!==null;){if(a=e[St])return a;e=Vf(e)}return t}e=a,a=e.parentNode}return null}function wn(e){if(e=e[St]||e[vn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function io(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(B(33))}function Wi(e){var t=e[Dm];return t||(t=e[Dm]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function xt(e){e[Ho]=!0}var bg=new Set,vg={};function fi(e,t){sn(e,t),sn(e+"Capture",t)}function sn(e,t){for(vg[e]=t,e=0;e<t.length;e++)bg.add(t[e])}var C0=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Bm={},Om={};function q0(e){return _u.call(Om,e)?!0:_u.call(Bm,e)?!1:C0.test(e)?Om[e]=!0:(Bm[e]=!0,!1)}function Rl(e,t,a){if(q0(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function wl(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function $a(e,t,a,r){if(r===null)e.removeAttribute(a);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+r)}}function ma(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function wg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function E0(e,t,a){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var n=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(o){a=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ku(e){if(!e._valueTracker){var t=wg(e)?"checked":"value";e._valueTracker=E0(e,t,""+e[t])}}function yg(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=wg(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function Il(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var M0=/[\n"\\]/g;function ha(e){return e.replace(M0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Nu(e,t,a,r,n,i,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+ma(t)):e.value!==""+ma(t)&&(e.value=""+ma(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Su(e,o,ma(t)):a!=null?Su(e,o,ma(a)):r!=null&&e.removeAttribute("value"),n==null&&i!=null&&(e.defaultChecked=!!i),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+ma(l):e.removeAttribute("name")}function _g(e,t,a,r,n,i,o,l){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||a!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){ku(e);return}a=a!=null?""+ma(a):"",t=t!=null?""+ma(t):a,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??n,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),ku(e)}function Su(e,t,a){t==="number"&&Il(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function en(e,t,a,r){if(e=e.options,t){t={};for(var n=0;n<a.length;n++)t["$"+a[n]]=!0;for(a=0;a<e.length;a++)n=t.hasOwnProperty("$"+e[a].value),e[a].selected!==n&&(e[a].selected=n),n&&r&&(e[a].defaultSelected=!0)}else{for(a=""+ma(a),t=null,n=0;n<e.length;n++){if(e[n].value===a){e[n].selected=!0,r&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function xg(e,t,a){if(t!=null&&(t=""+ma(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+ma(a):""}function kg(e,t,a,r){if(t==null){if(r!=null){if(a!=null)throw Error(B(92));if(ro(r)){if(1<r.length)throw Error(B(93));r=r[0]}a=r}a==null&&(a=""),t=a}a=ma(t),e.defaultValue=a,r=e.textContent,r===a&&r!==""&&r!==null&&(e.value=r),ku(e)}function cn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var T0=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Lm(e,t,a){var r=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,a):typeof a!="number"||a===0||T0.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Ng(e,t,a){if(t!=null&&typeof t!="object")throw Error(B(62));if(e=e.style,a!=null){for(var r in a)!a.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var n in t)r=t[n],t.hasOwnProperty(n)&&a[n]!==r&&Lm(e,n,r)}else for(var i in t)t.hasOwnProperty(i)&&Lm(e,i,t[i])}function gp(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var z0=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),A0=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ul(e){return A0.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function er(){}var Cu=null;function hp(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Vi=null,tn=null;function Hm(e){var t=wn(e);if(t&&(e=t.stateNode)){var a=e[$t]||null;e:switch(e=t.stateNode,t.type){case"input":if(Nu(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+ha(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var n=r[$t]||null;if(!n)throw Error(B(90));Nu(r,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name)}}for(t=0;t<a.length;t++)r=a[t],r.form===e.form&&yg(r)}break e;case"textarea":xg(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&en(e,!!a.multiple,t,!1)}}}var jc=!1;function Sg(e,t,a){if(jc)return e(t,a);jc=!0;try{var r=e(t);return r}finally{if(jc=!1,(Vi!==null||tn!==null)&&(Ds(),Vi&&(t=Vi,e=tn,tn=Vi=null,Hm(t),e)))for(t=0;t<e.length;t++)Hm(e[t])}}function xo(e,t){var a=e.stateNode;if(a===null)return null;var r=a[$t]||null;if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(B(231,t,typeof a));return a}var nr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),qu=!1;if(nr)try{Bi={},Object.defineProperty(Bi,"passive",{get:function(){qu=!0}}),window.addEventListener("test",Bi,Bi),window.removeEventListener("test",Bi,Bi)}catch{qu=!1}var Bi,qr=null,bp=null,Dl=null;function Cg(){if(Dl)return Dl;var e,t=bp,a=t.length,r,n="value"in qr?qr.value:qr.textContent,i=n.length;for(e=0;e<a&&t[e]===n[e];e++);var o=a-e;for(r=1;r<=o&&t[a-r]===n[i-r];r++);return Dl=n.slice(e,1<r?1-r:void 0)}function Bl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yl(){return!0}function jm(){return!1}function Zt(e){function t(a,r,n,i,o){this._reactName=a,this._targetInst=n,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(a=e[l],this[l]=a?a(i):i[l]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yl:jm,this.isPropagationStopped=jm,this}return et(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=yl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=yl)},persist:function(){},isPersistent:yl}),t}var gi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=Zt(gi),jo=et({},gi,{view:0,detail:0}),R0=Zt(jo),Gc,Qc,Jn,Ss=et({},jo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vp,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Jn&&(Jn&&e.type==="mousemove"?(Gc=e.screenX-Jn.screenX,Qc=e.screenY-Jn.screenY):Qc=Gc=0,Jn=e),Gc)},movementY:function(e){return"movementY"in e?e.movementY:Qc}}),Gm=Zt(Ss),U0=et({},Ss,{dataTransfer:0}),D0=Zt(U0),B0=et({},jo,{relatedTarget:0}),Yc=Zt(B0),O0=et({},gi,{animationName:0,elapsedTime:0,pseudoElement:0}),L0=Zt(O0),H0=et({},gi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),j0=Zt(H0),G0=et({},gi,{data:0}),Qm=Zt(G0),Q0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Y0={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},V0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function X0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=V0[e])?!!t[e]:!1}function vp(){return X0}var $0=et({},jo,{key:function(e){if(e.key){var t=Q0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Bl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Y0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vp,charCode:function(e){return e.type==="keypress"?Bl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Bl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Z0=Zt($0),K0=et({},Ss,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ym=Zt(K0),P0=et({},jo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vp}),J0=Zt(P0),F0=et({},gi,{propertyName:0,elapsedTime:0,pseudoElement:0}),I0=Zt(F0),W0=et({},Ss,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ey=Zt(W0),ty=et({},gi,{newState:0,oldState:0}),ay=Zt(ty),ry=[9,13,27,32],wp=nr&&"CompositionEvent"in window,lo=null;nr&&"documentMode"in document&&(lo=document.documentMode);var iy=nr&&"TextEvent"in window&&!lo,qg=nr&&(!wp||lo&&8<lo&&11>=lo),Vm=" ",Xm=!1;function Eg(e,t){switch(e){case"keyup":return ry.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Mg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xi=!1;function ny(e,t){switch(e){case"compositionend":return Mg(t);case"keypress":return t.which!==32?null:(Xm=!0,Vm);case"textInput":return e=t.data,e===Vm&&Xm?null:e;default:return null}}function oy(e,t){if(Xi)return e==="compositionend"||!wp&&Eg(e,t)?(e=Cg(),Dl=bp=qr=null,Xi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return qg&&t.locale!=="ko"?null:t.data;default:return null}}var ly={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $m(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ly[e.type]:t==="textarea"}function Tg(e,t,a,r){Vi?tn?tn.push(r):tn=[r]:Vi=r,t=hs(t,"onChange"),0<t.length&&(a=new Ns("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var so=null,ko=null;function sy(e){Sb(e,0)}function Cs(e){var t=io(e);if(yg(t))return e}function Zm(e,t){if(e==="change")return t}var zg=!1;nr&&(nr?(xl="oninput"in document,xl||(Vc=document.createElement("div"),Vc.setAttribute("oninput","return;"),xl=typeof Vc.oninput=="function"),_l=xl):_l=!1,zg=_l&&(!document.documentMode||9<document.documentMode));var _l,xl,Vc;function Km(){so&&(so.detachEvent("onpropertychange",Ag),ko=so=null)}function Ag(e){if(e.propertyName==="value"&&Cs(ko)){var t=[];Tg(t,ko,e,hp(e)),Sg(sy,t)}}function cy(e,t,a){e==="focusin"?(Km(),so=t,ko=a,so.attachEvent("onpropertychange",Ag)):e==="focusout"&&Km()}function uy(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cs(ko)}function py(e,t){if(e==="click")return Cs(t)}function dy(e,t){if(e==="input"||e==="change")return Cs(t)}function my(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sa=typeof Object.is=="function"?Object.is:my;function No(e,t){if(sa(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var n=a[r];if(!_u.call(t,n)||!sa(e[n],t[n]))return!1}return!0}function Pm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Jm(e,t){var a=Pm(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Pm(a)}}function Rg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Rg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ug(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Il(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Il(e.document)}return t}function yp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var fy=nr&&"documentMode"in document&&11>=document.documentMode,$i=null,Eu=null,co=null,Mu=!1;function Fm(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Mu||$i==null||$i!==Il(r)||(r=$i,"selectionStart"in r&&yp(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),co&&No(co,r)||(co=r,r=hs(Eu,"onSelect"),0<r.length&&(t=new Ns("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=$i)))}function Wr(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Zi={animationend:Wr("Animation","AnimationEnd"),animationiteration:Wr("Animation","AnimationIteration"),animationstart:Wr("Animation","AnimationStart"),transitionrun:Wr("Transition","TransitionRun"),transitionstart:Wr("Transition","TransitionStart"),transitioncancel:Wr("Transition","TransitionCancel"),transitionend:Wr("Transition","TransitionEnd")},Xc={},Dg={};nr&&(Dg=document.createElement("div").style,"AnimationEvent"in window||(delete Zi.animationend.animation,delete Zi.animationiteration.animation,delete Zi.animationstart.animation),"TransitionEvent"in window||delete Zi.transitionend.transition);function hi(e){if(Xc[e])return Xc[e];if(!Zi[e])return e;var t=Zi[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Dg)return Xc[e]=t[a];return e}var Bg=hi("animationend"),Og=hi("animationiteration"),Lg=hi("animationstart"),gy=hi("transitionrun"),hy=hi("transitionstart"),by=hi("transitioncancel"),Hg=hi("transitionend"),jg=new Map,Tu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Tu.push("scrollEnd");function Aa(e,t){jg.set(e,t),fi(t,[e])}var Wl=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},da=[],Ki=0,_p=0;function qs(){for(var e=Ki,t=_p=Ki=0;t<e;){var a=da[t];da[t++]=null;var r=da[t];da[t++]=null;var n=da[t];da[t++]=null;var i=da[t];if(da[t++]=null,r!==null&&n!==null){var o=r.pending;o===null?n.next=n:(n.next=o.next,o.next=n),r.pending=n}i!==0&&Gg(a,n,i)}}function Es(e,t,a,r){da[Ki++]=e,da[Ki++]=t,da[Ki++]=a,da[Ki++]=r,_p|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function xp(e,t,a,r){return Es(e,t,a,r),es(e)}function bi(e,t){return Es(e,null,null,t),es(e)}function Gg(e,t,a){e.lanes|=a;var r=e.alternate;r!==null&&(r.lanes|=a);for(var n=!1,i=e.return;i!==null;)i.childLanes|=a,r=i.alternate,r!==null&&(r.childLanes|=a),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(n=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,n&&t!==null&&(n=31-oa(a),e=i.hiddenUpdates,r=e[n],r===null?e[n]=[t]:r.push(t),t.lane=a|536870912),i):null}function es(e){if(50<wo)throw wo=0,Fu=null,Error(B(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Pi={};function vy(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function aa(e,t,a,r){return new vy(e,t,a,r)}function kp(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ar(e,t){var a=e.alternate;return a===null?(a=aa(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Qg(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ol(e,t,a,r,n,i){var o=0;if(r=e,typeof e=="function")kp(e)&&(o=1);else if(typeof e=="string")o=_1(e,a,La.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case bu:return e=aa(31,a,t,n),e.elementType=bu,e.lanes=i,e;case Gi:return ni(a.children,n,i,t);case lg:o=8,n|=24;break;case fu:return e=aa(12,a,t,n|2),e.elementType=fu,e.lanes=i,e;case gu:return e=aa(13,a,t,n),e.elementType=gu,e.lanes=i,e;case hu:return e=aa(19,a,t,n),e.elementType=hu,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Wa:o=10;break e;case sg:o=9;break e;case cp:o=11;break e;case up:o=14;break e;case yr:o=16,r=null;break e}o=29,a=Error(B(130,e===null?"null":typeof e,"")),r=null}return t=aa(o,a,t,n),t.elementType=e,t.type=r,t.lanes=i,t}function ni(e,t,a,r){return e=aa(7,e,r,t),e.lanes=a,e}function $c(e,t,a){return e=aa(6,e,null,t),e.lanes=a,e}function Yg(e){var t=aa(18,null,null,0);return t.stateNode=e,t}function Zc(e,t,a){return t=aa(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Im=new WeakMap;function ba(e,t){if(typeof e=="object"&&e!==null){var a=Im.get(e);return a!==void 0?a:(t={value:e,source:t,stack:Rm(t)},Im.set(e,t),t)}return{value:e,source:t,stack:Rm(t)}}var Ji=[],Fi=0,ts=null,So=0,fa=[],ga=0,jr=null,Da=1,Ba="";function Fa(e,t){Ji[Fi++]=So,Ji[Fi++]=ts,ts=e,So=t}function Vg(e,t,a){fa[ga++]=Da,fa[ga++]=Ba,fa[ga++]=jr,jr=e;var r=Da;e=Ba;var n=32-oa(r)-1;r&=~(1<<n),a+=1;var i=32-oa(t)+n;if(30<i){var o=n-n%5;i=(r&(1<<o)-1).toString(32),r>>=o,n-=o,Da=1<<32-oa(t)+n|a<<n|r,Ba=i+e}else Da=1<<i|a<<n|r,Ba=e}function Np(e){e.return!==null&&(Fa(e,1),Vg(e,1,0))}function Sp(e){for(;e===ts;)ts=Ji[--Fi],Ji[Fi]=null,So=Ji[--Fi],Ji[Fi]=null;for(;e===jr;)jr=fa[--ga],fa[ga]=null,Ba=fa[--ga],fa[ga]=null,Da=fa[--ga],fa[ga]=null}function Xg(e,t){fa[ga++]=Da,fa[ga++]=Ba,fa[ga++]=jr,Da=t.id,Ba=t.overflow,jr=e}var Ct=null,We=null,Te=!1,Ar=null,va=!1,zu=Error(B(519));function Gr(e){var t=Error(B(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Co(ba(t,e)),zu}function Wm(e){var t=e.stateNode,a=e.type,r=e.memoizedProps;switch(t[St]=e,t[$t]=r,a){case"dialog":qe("cancel",t),qe("close",t);break;case"iframe":case"object":case"embed":qe("load",t);break;case"video":case"audio":for(a=0;a<To.length;a++)qe(To[a],t);break;case"source":qe("error",t);break;case"img":case"image":case"link":qe("error",t),qe("load",t);break;case"details":qe("toggle",t);break;case"input":qe("invalid",t),_g(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":qe("invalid",t);break;case"textarea":qe("invalid",t),kg(t,r.value,r.defaultValue,r.children)}a=r.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||r.suppressHydrationWarning===!0||qb(t.textContent,a)?(r.popover!=null&&(qe("beforetoggle",t),qe("toggle",t)),r.onScroll!=null&&qe("scroll",t),r.onScrollEnd!=null&&qe("scrollend",t),r.onClick!=null&&(t.onclick=er),t=!0):t=!1,t||Gr(e,!0)}function ef(e){for(Ct=e.return;Ct;)switch(Ct.tag){case 5:case 31:case 13:va=!1;return;case 27:case 3:va=!0;return;default:Ct=Ct.return}}function Oi(e){if(e!==Ct)return!1;if(!Te)return ef(e),Te=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||ap(e.type,e.memoizedProps)),a=!a),a&&We&&Gr(e),ef(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));We=Yf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));We=Yf(e)}else t===27?(t=We,Xr(e.type)?(e=op,op=null,We=e):We=t):We=Ct?ya(e.stateNode.nextSibling):null;return!0}function ci(){We=Ct=null,Te=!1}function Kc(){var e=Ar;return e!==null&&(Vt===null?Vt=e:Vt.push.apply(Vt,e),Ar=null),e}function Co(e){Ar===null?Ar=[e]:Ar.push(e)}var Au=Ha(null),vi=null,tr=null;function xr(e,t,a){Pe(Au,t._currentValue),t._currentValue=a}function rr(e){e._currentValue=Au.current,kt(Au)}function Ru(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Uu(e,t,a,r){var n=e.child;for(n!==null&&(n.return=e);n!==null;){var i=n.dependencies;if(i!==null){var o=n.child;i=i.firstContext;e:for(;i!==null;){var l=i;i=n;for(var c=0;c<t.length;c++)if(l.context===t[c]){i.lanes|=a,l=i.alternate,l!==null&&(l.lanes|=a),Ru(i.return,a,e),r||(o=null);break e}i=l.next}}else if(n.tag===18){if(o=n.return,o===null)throw Error(B(341));o.lanes|=a,i=o.alternate,i!==null&&(i.lanes|=a),Ru(o,a,e),o=null}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===e){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}}function yn(e,t,a,r){e=null;for(var n=t,i=!1;n!==null;){if(!i){if((n.flags&524288)!==0)i=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var o=n.alternate;if(o===null)throw Error(B(387));if(o=o.memoizedProps,o!==null){var l=n.type;sa(n.pendingProps.value,o.value)||(e!==null?e.push(l):e=[l])}}else if(n===Kl.current){if(o=n.alternate,o===null)throw Error(B(387));o.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(e!==null?e.push(Ao):e=[Ao])}n=n.return}e!==null&&Uu(t,e,a,r),t.flags|=262144}function as(e){for(e=e.firstContext;e!==null;){if(!sa(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ui(e){vi=e,tr=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function qt(e){return $g(vi,e)}function kl(e,t){return vi===null&&ui(e),$g(e,t)}function $g(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},tr===null){if(e===null)throw Error(B(308));tr=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else tr=tr.next=t;return a}var wy=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},yy=wt.unstable_scheduleCallback,_y=wt.unstable_NormalPriority,ht={$$typeof:Wa,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Cp(){return{controller:new wy,data:new Map,refCount:0}}function Go(e){e.refCount--,e.refCount===0&&yy(_y,function(){e.controller.abort()})}var uo=null,Du=0,un=0,an=null;function xy(e,t){if(uo===null){var a=uo=[];Du=0,un=Fp(),an={status:"pending",value:void 0,then:function(r){a.push(r)}}}return Du++,t.then(tf,tf),t}function tf(){if(--Du===0&&uo!==null){an!==null&&(an.status="fulfilled");var e=uo;uo=null,un=0,an=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ky(e,t){var a=[],r={status:"pending",value:null,reason:null,then:function(n){a.push(n)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var n=0;n<a.length;n++)(0,a[n])(t)},function(n){for(r.status="rejected",r.reason=n,n=0;n<a.length;n++)(0,a[n])(void 0)}),r}var af=me.S;me.S=function(e,t){ob=ia(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&xy(e,t),af!==null&&af(e,t)};var oi=Ha(null);function qp(){var e=oi.current;return e!==null?e:Ze.pooledCache}function Ll(e,t){t===null?Pe(oi,oi.current):Pe(oi,t.pool)}function Zg(){var e=qp();return e===null?null:{parent:ht._currentValue,pool:e}}var _n=Error(B(460)),Ep=Error(B(474)),Ms=Error(B(542)),rs={then:function(){}};function rf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Kg(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(er,er),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,of(e),e;default:if(typeof t.status=="string")t.then(er,er);else{if(e=Ze,e!==null&&100<e.shellSuspendCounter)throw Error(B(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var n=t;n.status="fulfilled",n.value=r}},function(r){if(t.status==="pending"){var n=t;n.status="rejected",n.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,of(e),e}throw li=t,_n}}function ai(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(li=a,_n):a}}var li=null;function nf(){if(li===null)throw Error(B(459));var e=li;return li=null,e}function of(e){if(e===_n||e===Ms)throw Error(B(483))}var rn=null,qo=0;function Nl(e){var t=qo;return qo+=1,rn===null&&(rn=[]),Kg(rn,e,t)}function Fn(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Sl(e,t){throw t.$$typeof===c0?Error(B(525)):(e=Object.prototype.toString.call(t),Error(B(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Pg(e){function t(m,u){if(e){var g=m.deletions;g===null?(m.deletions=[u],m.flags|=16):g.push(u)}}function a(m,u){if(!e)return null;for(;u!==null;)t(m,u),u=u.sibling;return null}function r(m){for(var u=new Map;m!==null;)m.key!==null?u.set(m.key,m):u.set(m.index,m),m=m.sibling;return u}function n(m,u){return m=ar(m,u),m.index=0,m.sibling=null,m}function i(m,u,g){return m.index=g,e?(g=m.alternate,g!==null?(g=g.index,g<u?(m.flags|=67108866,u):g):(m.flags|=67108866,u)):(m.flags|=1048576,u)}function o(m){return e&&m.alternate===null&&(m.flags|=67108866),m}function l(m,u,g,v){return u===null||u.tag!==6?(u=$c(g,m.mode,v),u.return=m,u):(u=n(u,g),u.return=m,u)}function c(m,u,g,v){var N=g.type;return N===Gi?f(m,u,g.props.children,v,g.key):u!==null&&(u.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===yr&&ai(N)===u.type)?(u=n(u,g.props),Fn(u,g),u.return=m,u):(u=Ol(g.type,g.key,g.props,null,m.mode,v),Fn(u,g),u.return=m,u)}function p(m,u,g,v){return u===null||u.tag!==4||u.stateNode.containerInfo!==g.containerInfo||u.stateNode.implementation!==g.implementation?(u=Zc(g,m.mode,v),u.return=m,u):(u=n(u,g.children||[]),u.return=m,u)}function f(m,u,g,v,N){return u===null||u.tag!==7?(u=ni(g,m.mode,v,N),u.return=m,u):(u=n(u,g),u.return=m,u)}function b(m,u,g){if(typeof u=="string"&&u!==""||typeof u=="number"||typeof u=="bigint")return u=$c(""+u,m.mode,g),u.return=m,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case gl:return g=Ol(u.type,u.key,u.props,null,m.mode,g),Fn(g,u),g.return=m,g;case ao:return u=Zc(u,m.mode,g),u.return=m,u;case yr:return u=ai(u),b(m,u,g)}if(ro(u)||Pn(u))return u=ni(u,m.mode,g,null),u.return=m,u;if(typeof u.then=="function")return b(m,Nl(u),g);if(u.$$typeof===Wa)return b(m,kl(m,u),g);Sl(m,u)}return null}function d(m,u,g,v){var N=u!==null?u.key:null;if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return N!==null?null:l(m,u,""+g,v);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case gl:return g.key===N?c(m,u,g,v):null;case ao:return g.key===N?p(m,u,g,v):null;case yr:return g=ai(g),d(m,u,g,v)}if(ro(g)||Pn(g))return N!==null?null:f(m,u,g,v,null);if(typeof g.then=="function")return d(m,u,Nl(g),v);if(g.$$typeof===Wa)return d(m,u,kl(m,g),v);Sl(m,g)}return null}function h(m,u,g,v,N){if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return m=m.get(g)||null,l(u,m,""+v,N);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case gl:return m=m.get(v.key===null?g:v.key)||null,c(u,m,v,N);case ao:return m=m.get(v.key===null?g:v.key)||null,p(u,m,v,N);case yr:return v=ai(v),h(m,u,g,v,N)}if(ro(v)||Pn(v))return m=m.get(g)||null,f(u,m,v,N,null);if(typeof v.then=="function")return h(m,u,g,Nl(v),N);if(v.$$typeof===Wa)return h(m,u,g,kl(u,v),N);Sl(u,v)}return null}function w(m,u,g,v){for(var N=null,A=null,T=u,z=u=0,G=null;T!==null&&z<g.length;z++){T.index>z?(G=T,T=null):G=T.sibling;var K=d(m,T,g[z],v);if(K===null){T===null&&(T=G);break}e&&T&&K.alternate===null&&t(m,T),u=i(K,u,z),A===null?N=K:A.sibling=K,A=K,T=G}if(z===g.length)return a(m,T),Te&&Fa(m,z),N;if(T===null){for(;z<g.length;z++)T=b(m,g[z],v),T!==null&&(u=i(T,u,z),A===null?N=T:A.sibling=T,A=T);return Te&&Fa(m,z),N}for(T=r(T);z<g.length;z++)G=h(T,m,z,g[z],v),G!==null&&(e&&G.alternate!==null&&T.delete(G.key===null?z:G.key),u=i(G,u,z),A===null?N=G:A.sibling=G,A=G);return e&&T.forEach(function(he){return t(m,he)}),Te&&Fa(m,z),N}function M(m,u,g,v){if(g==null)throw Error(B(151));for(var N=null,A=null,T=u,z=u=0,G=null,K=g.next();T!==null&&!K.done;z++,K=g.next()){T.index>z?(G=T,T=null):G=T.sibling;var he=d(m,T,K.value,v);if(he===null){T===null&&(T=G);break}e&&T&&he.alternate===null&&t(m,T),u=i(he,u,z),A===null?N=he:A.sibling=he,A=he,T=G}if(K.done)return a(m,T),Te&&Fa(m,z),N;if(T===null){for(;!K.done;z++,K=g.next())K=b(m,K.value,v),K!==null&&(u=i(K,u,z),A===null?N=K:A.sibling=K,A=K);return Te&&Fa(m,z),N}for(T=r(T);!K.done;z++,K=g.next())K=h(T,m,z,K.value,v),K!==null&&(e&&K.alternate!==null&&T.delete(K.key===null?z:K.key),u=i(K,u,z),A===null?N=K:A.sibling=K,A=K);return e&&T.forEach(function(ze){return t(m,ze)}),Te&&Fa(m,z),N}function D(m,u,g,v){if(typeof g=="object"&&g!==null&&g.type===Gi&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case gl:e:{for(var N=g.key;u!==null;){if(u.key===N){if(N=g.type,N===Gi){if(u.tag===7){a(m,u.sibling),v=n(u,g.props.children),v.return=m,m=v;break e}}else if(u.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===yr&&ai(N)===u.type){a(m,u.sibling),v=n(u,g.props),Fn(v,g),v.return=m,m=v;break e}a(m,u);break}else t(m,u);u=u.sibling}g.type===Gi?(v=ni(g.props.children,m.mode,v,g.key),v.return=m,m=v):(v=Ol(g.type,g.key,g.props,null,m.mode,v),Fn(v,g),v.return=m,m=v)}return o(m);case ao:e:{for(N=g.key;u!==null;){if(u.key===N)if(u.tag===4&&u.stateNode.containerInfo===g.containerInfo&&u.stateNode.implementation===g.implementation){a(m,u.sibling),v=n(u,g.children||[]),v.return=m,m=v;break e}else{a(m,u);break}else t(m,u);u=u.sibling}v=Zc(g,m.mode,v),v.return=m,m=v}return o(m);case yr:return g=ai(g),D(m,u,g,v)}if(ro(g))return w(m,u,g,v);if(Pn(g)){if(N=Pn(g),typeof N!="function")throw Error(B(150));return g=N.call(g),M(m,u,g,v)}if(typeof g.then=="function")return D(m,u,Nl(g),v);if(g.$$typeof===Wa)return D(m,u,kl(m,g),v);Sl(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint"?(g=""+g,u!==null&&u.tag===6?(a(m,u.sibling),v=n(u,g),v.return=m,m=v):(a(m,u),v=$c(g,m.mode,v),v.return=m,m=v),o(m)):a(m,u)}return function(m,u,g,v){try{qo=0;var N=D(m,u,g,v);return rn=null,N}catch(T){if(T===_n||T===Ms)throw T;var A=aa(29,T,null,m.mode);return A.lanes=v,A.return=m,A}}}var pi=Pg(!0),Jg=Pg(!1),_r=!1;function Mp(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Bu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Rr(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ur(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Ue&2)!==0){var n=r.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),r.pending=t,t=es(e),Gg(e,null,a),t}return Es(e,r,t,a),es(e)}function po(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,fg(e,a)}}function Pc(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var n=null,i=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};i===null?n=i=o:i=i.next=o,a=a.next}while(a!==null);i===null?n=i=t:i=i.next=t}else n=i=t;a={baseState:r.baseState,firstBaseUpdate:n,lastBaseUpdate:i,shared:r.shared,callbacks:r.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Ou=!1;function mo(){if(Ou){var e=an;if(e!==null)throw e}}function fo(e,t,a,r){Ou=!1;var n=e.updateQueue;_r=!1;var i=n.firstBaseUpdate,o=n.lastBaseUpdate,l=n.shared.pending;if(l!==null){n.shared.pending=null;var c=l,p=c.next;c.next=null,o===null?i=p:o.next=p,o=c;var f=e.alternate;f!==null&&(f=f.updateQueue,l=f.lastBaseUpdate,l!==o&&(l===null?f.firstBaseUpdate=p:l.next=p,f.lastBaseUpdate=c))}if(i!==null){var b=n.baseState;o=0,f=p=c=null,l=i;do{var d=l.lane&-536870913,h=d!==l.lane;if(h?(Me&d)===d:(r&d)===d){d!==0&&d===un&&(Ou=!0),f!==null&&(f=f.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var w=e,M=l;d=t;var D=a;switch(M.tag){case 1:if(w=M.payload,typeof w=="function"){b=w.call(D,b,d);break e}b=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=M.payload,d=typeof w=="function"?w.call(D,b,d):w,d==null)break e;b=et({},b,d);break e;case 2:_r=!0}}d=l.callback,d!==null&&(e.flags|=64,h&&(e.flags|=8192),h=n.callbacks,h===null?n.callbacks=[d]:h.push(d))}else h={lane:d,tag:l.tag,payload:l.payload,callback:l.callback,next:null},f===null?(p=f=h,c=b):f=f.next=h,o|=d;if(l=l.next,l===null){if(l=n.shared.pending,l===null)break;h=l,l=h.next,h.next=null,n.lastBaseUpdate=h,n.shared.pending=null}}while(!0);f===null&&(c=b),n.baseState=c,n.firstBaseUpdate=p,n.lastBaseUpdate=f,i===null&&(n.shared.lanes=0),Yr|=o,e.lanes=o,e.memoizedState=b}}function Fg(e,t){if(typeof e!="function")throw Error(B(191,e));e.call(t)}function Ig(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Fg(a[e],t)}var pn=Ha(null),is=Ha(0);function lf(e,t){e=cr,Pe(is,e),Pe(pn,t),cr=e|t.baseLanes}function Lu(){Pe(is,cr),Pe(pn,pn.current)}function Tp(){cr=is.current,kt(pn),kt(is)}var ca=Ha(null),wa=null;function kr(e){var t=e.alternate;Pe(ut,ut.current&1),Pe(ca,e),wa===null&&(t===null||pn.current!==null||t.memoizedState!==null)&&(wa=e)}function Hu(e){Pe(ut,ut.current),Pe(ca,e),wa===null&&(wa=e)}function Wg(e){e.tag===22?(Pe(ut,ut.current),Pe(ca,e),wa===null&&(wa=e)):Nr(e)}function Nr(){Pe(ut,ut.current),Pe(ca,ca.current)}function ta(e){kt(ca),wa===e&&(wa=null),kt(ut)}var ut=Ha(0);function ns(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||ip(a)||np(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var or=0,ve=null,Ye=null,ft=null,os=!1,nn=!1,di=!1,ls=0,Eo=0,on=null,Ny=0;function ot(){throw Error(B(321))}function zp(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!sa(e[a],t[a]))return!1;return!0}function Ap(e,t,a,r,n,i){return or=i,ve=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,me.H=e===null||e.memoizedState===null?Th:Yp,di=!1,i=a(r,n),di=!1,nn&&(i=th(t,a,r,n)),eh(e),i}function eh(e){me.H=Mo;var t=Ye!==null&&Ye.next!==null;if(or=0,ft=Ye=ve=null,os=!1,Eo=0,on=null,t)throw Error(B(300));e===null||bt||(e=e.dependencies,e!==null&&as(e)&&(bt=!0))}function th(e,t,a,r){ve=e;var n=0;do{if(nn&&(on=null),Eo=0,nn=!1,25<=n)throw Error(B(301));if(n+=1,ft=Ye=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}me.H=zh,i=t(a,r)}while(nn);return i}function Sy(){var e=me.H,t=e.useState()[0];return t=typeof t.then=="function"?Qo(t):t,e=e.useState()[0],(Ye!==null?Ye.memoizedState:null)!==e&&(ve.flags|=1024),t}function Rp(){var e=ls!==0;return ls=0,e}function Up(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Dp(e){if(os){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}os=!1}or=0,ft=Ye=ve=null,nn=!1,Eo=ls=0,on=null}function Bt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ft===null?ve.memoizedState=ft=e:ft=ft.next=e,ft}function pt(){if(Ye===null){var e=ve.alternate;e=e!==null?e.memoizedState:null}else e=Ye.next;var t=ft===null?ve.memoizedState:ft.next;if(t!==null)ft=t,Ye=e;else{if(e===null)throw ve.alternate===null?Error(B(467)):Error(B(310));Ye=e,e={memoizedState:Ye.memoizedState,baseState:Ye.baseState,baseQueue:Ye.baseQueue,queue:Ye.queue,next:null},ft===null?ve.memoizedState=ft=e:ft=ft.next=e}return ft}function Ts(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qo(e){var t=Eo;return Eo+=1,on===null&&(on=[]),e=Kg(on,e,t),t=ve,(ft===null?t.memoizedState:ft.next)===null&&(t=t.alternate,me.H=t===null||t.memoizedState===null?Th:Yp),e}function zs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Qo(e);if(e.$$typeof===Wa)return qt(e)}throw Error(B(438,String(e)))}function Bp(e){var t=null,a=ve.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var r=ve.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(n){return n.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ts(),ve.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),r=0;r<e;r++)a[r]=u0;return t.index++,a}function lr(e,t){return typeof t=="function"?t(e):t}function Hl(e){var t=pt();return Op(t,Ye,e)}function Op(e,t,a){var r=e.queue;if(r===null)throw Error(B(311));r.lastRenderedReducer=a;var n=e.baseQueue,i=r.pending;if(i!==null){if(n!==null){var o=n.next;n.next=i.next,i.next=o}t.baseQueue=n=i,r.pending=null}if(i=e.baseState,n===null)e.memoizedState=i;else{t=n.next;var l=o=null,c=null,p=t,f=!1;do{var b=p.lane&-536870913;if(b!==p.lane?(Me&b)===b:(or&b)===b){var d=p.revertLane;if(d===0)c!==null&&(c=c.next={lane:0,revertLane:0,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),b===un&&(f=!0);else if((or&d)===d){p=p.next,d===un&&(f=!0);continue}else b={lane:0,revertLane:p.revertLane,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=b,o=i):c=c.next=b,ve.lanes|=d,Yr|=d;b=p.action,di&&a(i,b),i=p.hasEagerState?p.eagerState:a(i,b)}else d={lane:b,revertLane:p.revertLane,gesture:p.gesture,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=d,o=i):c=c.next=d,ve.lanes|=b,Yr|=b;p=p.next}while(p!==null&&p!==t);if(c===null?o=i:c.next=l,!sa(i,e.memoizedState)&&(bt=!0,f&&(a=an,a!==null)))throw a;e.memoizedState=i,e.baseState=o,e.baseQueue=c,r.lastRenderedState=i}return n===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Jc(e){var t=pt(),a=t.queue;if(a===null)throw Error(B(311));a.lastRenderedReducer=e;var r=a.dispatch,n=a.pending,i=t.memoizedState;if(n!==null){a.pending=null;var o=n=n.next;do i=e(i,o.action),o=o.next;while(o!==n);sa(i,t.memoizedState)||(bt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),a.lastRenderedState=i}return[i,r]}function ah(e,t,a){var r=ve,n=pt(),i=Te;if(i){if(a===void 0)throw Error(B(407));a=a()}else a=t();var o=!sa((Ye||n).memoizedState,a);if(o&&(n.memoizedState=a,bt=!0),n=n.queue,Lp(nh.bind(null,r,n,e),[e]),n.getSnapshot!==t||o||ft!==null&&ft.memoizedState.tag&1){if(r.flags|=2048,dn(9,{destroy:void 0},ih.bind(null,r,n,a,t),null),Ze===null)throw Error(B(349));i||(or&127)!==0||rh(r,t,a)}return a}function rh(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ve.updateQueue,t===null?(t=Ts(),ve.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function ih(e,t,a,r){t.value=a,t.getSnapshot=r,oh(t)&&lh(e)}function nh(e,t,a){return a(function(){oh(t)&&lh(e)})}function oh(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!sa(e,a)}catch{return!0}}function lh(e){var t=bi(e,2);t!==null&&Xt(t,e,2)}function ju(e){var t=Bt();if(typeof e=="function"){var a=e;if(e=a(),di){Cr(!0);try{a()}finally{Cr(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:e},t}function sh(e,t,a,r){return e.baseState=a,Op(e,Ye,typeof r=="function"?r:lr)}function Cy(e,t,a,r,n){if(Rs(e))throw Error(B(485));if(e=t.action,e!==null){var i={payload:n,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(o){i.listeners.push(o)}};me.T!==null?a(!0):i.isTransition=!1,r(i),a=t.pending,a===null?(i.next=t.pending=i,ch(t,i)):(i.next=a.next,t.pending=a.next=i)}}function ch(e,t){var a=t.action,r=t.payload,n=e.state;if(t.isTransition){var i=me.T,o={};me.T=o;try{var l=a(n,r),c=me.S;c!==null&&c(o,l),sf(e,t,l)}catch(p){Gu(e,t,p)}finally{i!==null&&o.types!==null&&(i.types=o.types),me.T=i}}else try{i=a(n,r),sf(e,t,i)}catch(p){Gu(e,t,p)}}function sf(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(r){cf(e,t,r)},function(r){return Gu(e,t,r)}):cf(e,t,a)}function cf(e,t,a){t.status="fulfilled",t.value=a,uh(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,ch(e,a)))}function Gu(e,t,a){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=a,uh(t),t=t.next;while(t!==r)}e.action=null}function uh(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ph(e,t){return t}function uf(e,t){if(Te){var a=Ze.formState;if(a!==null){e:{var r=ve;if(Te){if(We){t:{for(var n=We,i=va;n.nodeType!==8;){if(!i){n=null;break t}if(n=ya(n.nextSibling),n===null){n=null;break t}}i=n.data,n=i==="F!"||i==="F"?n:null}if(n){We=ya(n.nextSibling),r=n.data==="F!";break e}}Gr(r)}r=!1}r&&(t=a[0])}}return a=Bt(),a.memoizedState=a.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ph,lastRenderedState:t},a.queue=r,a=qh.bind(null,ve,r),r.dispatch=a,r=ju(!1),i=Qp.bind(null,ve,!1,r.queue),r=Bt(),n={state:t,dispatch:null,action:e,pending:null},r.queue=n,a=Cy.bind(null,ve,n,i,a),n.dispatch=a,r.memoizedState=e,[t,a,!1]}function pf(e){var t=pt();return dh(t,Ye,e)}function dh(e,t,a){if(t=Op(e,t,ph)[0],e=Hl(lr)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Qo(t)}catch(o){throw o===_n?Ms:o}else r=t;t=pt();var n=t.queue,i=n.dispatch;return a!==t.memoizedState&&(ve.flags|=2048,dn(9,{destroy:void 0},qy.bind(null,n,a),null)),[r,i,e]}function qy(e,t){e.action=t}function df(e){var t=pt(),a=Ye;if(a!==null)return dh(t,a,e);pt(),t=t.memoizedState,a=pt();var r=a.queue.dispatch;return a.memoizedState=e,[t,r,!1]}function dn(e,t,a,r){return e={tag:e,create:a,deps:r,inst:t,next:null},t=ve.updateQueue,t===null&&(t=Ts(),ve.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e),e}function mh(){return pt().memoizedState}function jl(e,t,a,r){var n=Bt();ve.flags|=e,n.memoizedState=dn(1|t,{destroy:void 0},a,r===void 0?null:r)}function As(e,t,a,r){var n=pt();r=r===void 0?null:r;var i=n.memoizedState.inst;Ye!==null&&r!==null&&zp(r,Ye.memoizedState.deps)?n.memoizedState=dn(t,i,a,r):(ve.flags|=e,n.memoizedState=dn(1|t,i,a,r))}function mf(e,t){jl(8390656,8,e,t)}function Lp(e,t){As(2048,8,e,t)}function Ey(e){ve.flags|=4;var t=ve.updateQueue;if(t===null)t=Ts(),ve.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function fh(e){var t=pt().memoizedState;return Ey({ref:t,nextImpl:e}),function(){if((Ue&2)!==0)throw Error(B(440));return t.impl.apply(void 0,arguments)}}function gh(e,t){return As(4,2,e,t)}function hh(e,t){return As(4,4,e,t)}function bh(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function vh(e,t,a){a=a!=null?a.concat([e]):null,As(4,4,bh.bind(null,t,e),a)}function Hp(){}function wh(e,t){var a=pt();t=t===void 0?null:t;var r=a.memoizedState;return t!==null&&zp(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function yh(e,t){var a=pt();t=t===void 0?null:t;var r=a.memoizedState;if(t!==null&&zp(t,r[1]))return r[0];if(r=e(),di){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r}function jp(e,t,a){return a===void 0||(or&1073741824)!==0&&(Me&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=sb(),ve.lanes|=e,Yr|=e,a)}function _h(e,t,a,r){return sa(a,t)?a:pn.current!==null?(e=jp(e,a,r),sa(e,t)||(bt=!0),e):(or&42)===0||(or&1073741824)!==0&&(Me&261930)===0?(bt=!0,e.memoizedState=a):(e=sb(),ve.lanes|=e,Yr|=e,t)}function xh(e,t,a,r,n){var i=De.p;De.p=i!==0&&8>i?i:8;var o=me.T,l={};me.T=l,Qp(e,!1,t,a);try{var c=n(),p=me.S;if(p!==null&&p(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var f=ky(c,r);go(e,t,f,la(e))}else go(e,t,r,la(e))}catch(b){go(e,t,{then:function(){},status:"rejected",reason:b},la())}finally{De.p=i,o!==null&&l.types!==null&&(o.types=l.types),me.T=o}}function My(){}function Qu(e,t,a,r){if(e.tag!==5)throw Error(B(476));var n=kh(e).queue;xh(e,n,t,ii,a===null?My:function(){return Nh(e),a(r)})}function kh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ii,baseState:ii,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:ii},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Nh(e){var t=kh(e);t.next===null&&(t=e.alternate.memoizedState),go(e,t.next.queue,{},la())}function Gp(){return qt(Ao)}function Sh(){return pt().memoizedState}function Ch(){return pt().memoizedState}function Ty(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=la();e=Rr(a);var r=Ur(t,e,a);r!==null&&(Xt(r,t,a),po(r,t,a)),t={cache:Cp()},e.payload=t;return}t=t.return}}function zy(e,t,a){var r=la();a={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Rs(e)?Eh(t,a):(a=xp(e,t,a,r),a!==null&&(Xt(a,e,r),Mh(a,t,r)))}function qh(e,t,a){var r=la();go(e,t,a,r)}function go(e,t,a,r){var n={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Rs(e))Eh(t,n);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,a);if(n.hasEagerState=!0,n.eagerState=l,sa(l,o))return Es(e,t,n,0),Ze===null&&qs(),!1}catch{}if(a=xp(e,t,n,r),a!==null)return Xt(a,e,r),Mh(a,t,r),!0}return!1}function Qp(e,t,a,r){if(r={lane:2,revertLane:Fp(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Rs(e)){if(t)throw Error(B(479))}else t=xp(e,a,r,2),t!==null&&Xt(t,e,2)}function Rs(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function Eh(e,t){nn=os=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Mh(e,t,a){if((a&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,fg(e,a)}}var Mo={readContext:qt,use:zs,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useLayoutEffect:ot,useInsertionEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useSyncExternalStore:ot,useId:ot,useHostTransitionStatus:ot,useFormState:ot,useActionState:ot,useOptimistic:ot,useMemoCache:ot,useCacheRefresh:ot};Mo.useEffectEvent=ot;var Th={readContext:qt,use:zs,useCallback:function(e,t){return Bt().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:mf,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,jl(4194308,4,bh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return jl(4194308,4,e,t)},useInsertionEffect:function(e,t){jl(4,2,e,t)},useMemo:function(e,t){var a=Bt();t=t===void 0?null:t;var r=e();if(di){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r},useReducer:function(e,t,a){var r=Bt();if(a!==void 0){var n=a(t);if(di){Cr(!0);try{a(t)}finally{Cr(!1)}}}else n=t;return r.memoizedState=r.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=zy.bind(null,ve,e),[r.memoizedState,e]},useRef:function(e){var t=Bt();return e={current:e},t.memoizedState=e},useState:function(e){e=ju(e);var t=e.queue,a=qh.bind(null,ve,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Hp,useDeferredValue:function(e,t){var a=Bt();return jp(a,e,t)},useTransition:function(){var e=ju(!1);return e=xh.bind(null,ve,e.queue,!0,!1),Bt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var r=ve,n=Bt();if(Te){if(a===void 0)throw Error(B(407));a=a()}else{if(a=t(),Ze===null)throw Error(B(349));(Me&127)!==0||rh(r,t,a)}n.memoizedState=a;var i={value:a,getSnapshot:t};return n.queue=i,mf(nh.bind(null,r,i,e),[e]),r.flags|=2048,dn(9,{destroy:void 0},ih.bind(null,r,i,a,t),null),a},useId:function(){var e=Bt(),t=Ze.identifierPrefix;if(Te){var a=Ba,r=Da;a=(r&~(1<<32-oa(r)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ls++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Ny++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Gp,useFormState:uf,useActionState:uf,useOptimistic:function(e){var t=Bt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Qp.bind(null,ve,!0,a),a.dispatch=t,[e,t]},useMemoCache:Bp,useCacheRefresh:function(){return Bt().memoizedState=Ty.bind(null,ve)},useEffectEvent:function(e){var t=Bt(),a={impl:e};return t.memoizedState=a,function(){if((Ue&2)!==0)throw Error(B(440));return a.impl.apply(void 0,arguments)}}},Yp={readContext:qt,use:zs,useCallback:wh,useContext:qt,useEffect:Lp,useImperativeHandle:vh,useInsertionEffect:gh,useLayoutEffect:hh,useMemo:yh,useReducer:Hl,useRef:mh,useState:function(){return Hl(lr)},useDebugValue:Hp,useDeferredValue:function(e,t){var a=pt();return _h(a,Ye.memoizedState,e,t)},useTransition:function(){var e=Hl(lr)[0],t=pt().memoizedState;return[typeof e=="boolean"?e:Qo(e),t]},useSyncExternalStore:ah,useId:Sh,useHostTransitionStatus:Gp,useFormState:pf,useActionState:pf,useOptimistic:function(e,t){var a=pt();return sh(a,Ye,e,t)},useMemoCache:Bp,useCacheRefresh:Ch};Yp.useEffectEvent=fh;var zh={readContext:qt,use:zs,useCallback:wh,useContext:qt,useEffect:Lp,useImperativeHandle:vh,useInsertionEffect:gh,useLayoutEffect:hh,useMemo:yh,useReducer:Jc,useRef:mh,useState:function(){return Jc(lr)},useDebugValue:Hp,useDeferredValue:function(e,t){var a=pt();return Ye===null?jp(a,e,t):_h(a,Ye.memoizedState,e,t)},useTransition:function(){var e=Jc(lr)[0],t=pt().memoizedState;return[typeof e=="boolean"?e:Qo(e),t]},useSyncExternalStore:ah,useId:Sh,useHostTransitionStatus:Gp,useFormState:df,useActionState:df,useOptimistic:function(e,t){var a=pt();return Ye!==null?sh(a,Ye,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Bp,useCacheRefresh:Ch};zh.useEffectEvent=fh;function Fc(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:et({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Yu={enqueueSetState:function(e,t,a){e=e._reactInternals;var r=la(),n=Rr(r);n.payload=t,a!=null&&(n.callback=a),t=Ur(e,n,r),t!==null&&(Xt(t,e,r),po(t,e,r))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=la(),n=Rr(r);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Ur(e,n,r),t!==null&&(Xt(t,e,r),po(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=la(),r=Rr(a);r.tag=2,t!=null&&(r.callback=t),t=Ur(e,r,a),t!==null&&(Xt(t,e,a),po(t,e,a))}};function ff(e,t,a,r,n,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,o):t.prototype&&t.prototype.isPureReactComponent?!No(a,r)||!No(n,i):!0}function gf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Yu.enqueueReplaceState(t,t.state,null)}function mi(e,t){var a=t;if("ref"in t){a={};for(var r in t)r!=="ref"&&(a[r]=t[r])}if(e=e.defaultProps){a===t&&(a=et({},a));for(var n in e)a[n]===void 0&&(a[n]=e[n])}return a}function Ah(e){Wl(e)}function Rh(e){console.error(e)}function Uh(e){Wl(e)}function ss(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function hf(e,t,a){try{var r=e.onCaughtError;r(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function Vu(e,t,a){return a=Rr(a),a.tag=3,a.payload={element:null},a.callback=function(){ss(e,t)},a}function Dh(e){return e=Rr(e),e.tag=3,e}function Bh(e,t,a,r){var n=a.type.getDerivedStateFromError;if(typeof n=="function"){var i=r.value;e.payload=function(){return n(i)},e.callback=function(){hf(t,a,r)}}var o=a.stateNode;o!==null&&typeof o.componentDidCatch=="function"&&(e.callback=function(){hf(t,a,r),typeof n!="function"&&(Dr===null?Dr=new Set([this]):Dr.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Ay(e,t,a,r,n){if(a.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=a.alternate,t!==null&&yn(t,a,n,!0),a=ca.current,a!==null){switch(a.tag){case 31:case 13:return wa===null?ms():a.alternate===null&&lt===0&&(lt=3),a.flags&=-257,a.flags|=65536,a.lanes=n,r===rs?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([r]):t.add(r),su(e,r,n)),!1;case 22:return a.flags|=65536,r===rs?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([r]):a.add(r)),su(e,r,n)),!1}throw Error(B(435,a.tag))}return su(e,r,n),ms(),!1}if(Te)return t=ca.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=n,r!==zu&&(e=Error(B(422),{cause:r}),Co(ba(e,a)))):(r!==zu&&(t=Error(B(423),{cause:r}),Co(ba(t,a))),e=e.current.alternate,e.flags|=65536,n&=-n,e.lanes|=n,r=ba(r,a),n=Vu(e.stateNode,r,n),Pc(e,n),lt!==4&&(lt=2)),!1;var i=Error(B(520),{cause:r});if(i=ba(i,a),vo===null?vo=[i]:vo.push(i),lt!==4&&(lt=2),t===null)return!0;r=ba(r,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=n&-n,a.lanes|=e,e=Vu(a.stateNode,r,e),Pc(a,e),!1;case 1:if(t=a.type,i=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Dr===null||!Dr.has(i))))return a.flags|=65536,n&=-n,a.lanes|=n,n=Dh(n),Bh(n,e,a,r),Pc(a,n),!1}a=a.return}while(a!==null);return!1}var Vp=Error(B(461)),bt=!1;function Nt(e,t,a,r){t.child=e===null?Jg(t,null,a,r):pi(t,e.child,a,r)}function bf(e,t,a,r,n){a=a.render;var i=t.ref;if("ref"in r){var o={};for(var l in r)l!=="ref"&&(o[l]=r[l])}else o=r;return ui(t),r=Ap(e,t,a,o,i,n),l=Rp(),e!==null&&!bt?(Up(e,t,n),sr(e,t,n)):(Te&&l&&Np(t),t.flags|=1,Nt(e,t,r,n),t.child)}function vf(e,t,a,r,n){if(e===null){var i=a.type;return typeof i=="function"&&!kp(i)&&i.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=i,Oh(e,t,i,r,n)):(e=Ol(a.type,null,r,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Xp(e,n)){var o=i.memoizedProps;if(a=a.compare,a=a!==null?a:No,a(o,r)&&e.ref===t.ref)return sr(e,t,n)}return t.flags|=1,e=ar(i,r),e.ref=t.ref,e.return=t,t.child=e}function Oh(e,t,a,r,n){if(e!==null){var i=e.memoizedProps;if(No(i,r)&&e.ref===t.ref)if(bt=!1,t.pendingProps=r=i,Xp(e,n))(e.flags&131072)!==0&&(bt=!0);else return t.lanes=e.lanes,sr(e,t,n)}return Xu(e,t,a,r,n)}function Lh(e,t,a,r){var n=r.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|a:a,e!==null){for(r=t.child=e.child,n=0;r!==null;)n=n|r.lanes|r.childLanes,r=r.sibling;r=n&~i}else r=0,t.child=null;return wf(e,t,i,a,r)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ll(t,i!==null?i.cachePool:null),i!==null?lf(t,i):Lu(),Wg(t);else return r=t.lanes=536870912,wf(e,t,i!==null?i.baseLanes|a:a,a,r)}else i!==null?(Ll(t,i.cachePool),lf(t,i),Nr(t),t.memoizedState=null):(e!==null&&Ll(t,null),Lu(),Nr(t));return Nt(e,t,n,a),t.child}function no(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function wf(e,t,a,r,n){var i=qp();return i=i===null?null:{parent:ht._currentValue,pool:i},t.memoizedState={baseLanes:a,cachePool:i},e!==null&&Ll(t,null),Lu(),Wg(t),e!==null&&yn(e,t,r,!0),t.childLanes=n,null}function Gl(e,t){return t=cs({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function yf(e,t,a){return pi(t,e.child,null,a),e=Gl(t,t.pendingProps),e.flags|=2,ta(t),t.memoizedState=null,e}function Ry(e,t,a){var r=t.pendingProps,n=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(r.mode==="hidden")return e=Gl(t,r),t.lanes=536870912,no(null,e);if(Hu(t),(e=We)?(e=Tb(e,va),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Da,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Yg(e),a.return=t,t.child=a,Ct=t,We=null)):e=null,e===null)throw Gr(t);return t.lanes=536870912,null}return Gl(t,r)}var i=e.memoizedState;if(i!==null){var o=i.dehydrated;if(Hu(t),n)if(t.flags&256)t.flags&=-257,t=yf(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(B(558));else if(bt||yn(e,t,a,!1),n=(a&e.childLanes)!==0,bt||n){if(r=Ze,r!==null&&(o=gg(r,a),o!==0&&o!==i.retryLane))throw i.retryLane=o,bi(e,o),Xt(r,e,o),Vp;ms(),t=yf(e,t,a)}else e=i.treeContext,We=ya(o.nextSibling),Ct=t,Te=!0,Ar=null,va=!1,e!==null&&Xg(t,e),t=Gl(t,r),t.flags|=4096;return t}return e=ar(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ql(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(B(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Xu(e,t,a,r,n){return ui(t),a=Ap(e,t,a,r,void 0,n),r=Rp(),e!==null&&!bt?(Up(e,t,n),sr(e,t,n)):(Te&&r&&Np(t),t.flags|=1,Nt(e,t,a,n),t.child)}function _f(e,t,a,r,n,i){return ui(t),t.updateQueue=null,a=th(t,r,a,n),eh(e),r=Rp(),e!==null&&!bt?(Up(e,t,i),sr(e,t,i)):(Te&&r&&Np(t),t.flags|=1,Nt(e,t,a,i),t.child)}function xf(e,t,a,r,n){if(ui(t),t.stateNode===null){var i=Pi,o=a.contextType;typeof o=="object"&&o!==null&&(i=qt(o)),i=new a(r,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Yu,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=r,i.state=t.memoizedState,i.refs={},Mp(t),o=a.contextType,i.context=typeof o=="object"&&o!==null?qt(o):Pi,i.state=t.memoizedState,o=a.getDerivedStateFromProps,typeof o=="function"&&(Fc(t,a,o,r),i.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(o=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),o!==i.state&&Yu.enqueueReplaceState(i,i.state,null),fo(t,r,i,n),mo(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){i=t.stateNode;var l=t.memoizedProps,c=mi(a,l);i.props=c;var p=i.context,f=a.contextType;o=Pi,typeof f=="object"&&f!==null&&(o=qt(f));var b=a.getDerivedStateFromProps;f=typeof b=="function"||typeof i.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,f||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(l||p!==o)&&gf(t,i,r,o),_r=!1;var d=t.memoizedState;i.state=d,fo(t,r,i,n),mo(),p=t.memoizedState,l||d!==p||_r?(typeof b=="function"&&(Fc(t,a,b,r),p=t.memoizedState),(c=_r||ff(t,a,c,r,d,p,o))?(f||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=p),i.props=r,i.state=p,i.context=o,r=c):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Bu(e,t),o=t.memoizedProps,f=mi(a,o),i.props=f,b=t.pendingProps,d=i.context,p=a.contextType,c=Pi,typeof p=="object"&&p!==null&&(c=qt(p)),l=a.getDerivedStateFromProps,(p=typeof l=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o!==b||d!==c)&&gf(t,i,r,c),_r=!1,d=t.memoizedState,i.state=d,fo(t,r,i,n),mo();var h=t.memoizedState;o!==b||d!==h||_r||e!==null&&e.dependencies!==null&&as(e.dependencies)?(typeof l=="function"&&(Fc(t,a,l,r),h=t.memoizedState),(f=_r||ff(t,a,f,r,d,h,c)||e!==null&&e.dependencies!==null&&as(e.dependencies))?(p||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,h,c),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,h,c)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=c,r=f):(typeof i.componentDidUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return i=r,Ql(e,t),r=(t.flags&128)!==0,i||r?(i=t.stateNode,a=r&&typeof a.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&r?(t.child=pi(t,e.child,null,n),t.child=pi(t,null,a,n)):Nt(e,t,a,n),t.memoizedState=i.state,e=t.child):e=sr(e,t,n),e}function kf(e,t,a,r){return ci(),t.flags|=256,Nt(e,t,a,r),t.child}var Ic={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Wc(e){return{baseLanes:e,cachePool:Zg()}}function eu(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ra),e}function Hh(e,t,a){var r=t.pendingProps,n=!1,i=(t.flags&128)!==0,o;if((o=i)||(o=e!==null&&e.memoizedState===null?!1:(ut.current&2)!==0),o&&(n=!0,t.flags&=-129),o=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(n?kr(t):Nr(t),(e=We)?(e=Tb(e,va),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Da,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Yg(e),a.return=t,t.child=a,Ct=t,We=null)):e=null,e===null)throw Gr(t);return np(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,n?(Nr(t),n=t.mode,l=cs({mode:"hidden",children:l},n),r=ni(r,n,a,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Wc(a),r.childLanes=eu(e,o,a),t.memoizedState=Ic,no(null,r)):(kr(t),$u(t,l))}var c=e.memoizedState;if(c!==null&&(l=c.dehydrated,l!==null)){if(i)t.flags&256?(kr(t),t.flags&=-257,t=tu(e,t,a)):t.memoizedState!==null?(Nr(t),t.child=e.child,t.flags|=128,t=null):(Nr(t),l=r.fallback,n=t.mode,r=cs({mode:"visible",children:r.children},n),l=ni(l,n,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,pi(t,e.child,null,a),r=t.child,r.memoizedState=Wc(a),r.childLanes=eu(e,o,a),t.memoizedState=Ic,t=no(null,r));else if(kr(t),np(l)){if(o=l.nextSibling&&l.nextSibling.dataset,o)var p=o.dgst;o=p,r=Error(B(419)),r.stack="",r.digest=o,Co({value:r,source:null,stack:null}),t=tu(e,t,a)}else if(bt||yn(e,t,a,!1),o=(a&e.childLanes)!==0,bt||o){if(o=Ze,o!==null&&(r=gg(o,a),r!==0&&r!==c.retryLane))throw c.retryLane=r,bi(e,r),Xt(o,e,r),Vp;ip(l)||ms(),t=tu(e,t,a)}else ip(l)?(t.flags|=192,t.child=e.child,t=null):(e=c.treeContext,We=ya(l.nextSibling),Ct=t,Te=!0,Ar=null,va=!1,e!==null&&Xg(t,e),t=$u(t,r.children),t.flags|=4096);return t}return n?(Nr(t),l=r.fallback,n=t.mode,c=e.child,p=c.sibling,r=ar(c,{mode:"hidden",children:r.children}),r.subtreeFlags=c.subtreeFlags&65011712,p!==null?l=ar(p,l):(l=ni(l,n,a,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,no(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Wc(a):(n=l.cachePool,n!==null?(c=ht._currentValue,n=n.parent!==c?{parent:c,pool:c}:n):n=Zg(),l={baseLanes:l.baseLanes|a,cachePool:n}),r.memoizedState=l,r.childLanes=eu(e,o,a),t.memoizedState=Ic,no(e.child,r)):(kr(t),a=e.child,e=a.sibling,a=ar(a,{mode:"visible",children:r.children}),a.return=t,a.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a)}function $u(e,t){return t=cs({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function cs(e,t){return e=aa(22,e,null,t),e.lanes=0,e}function tu(e,t,a){return pi(t,e.child,null,a),e=$u(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ru(e.return,t,a)}function au(e,t,a,r,n,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:n,treeForkCount:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=a,o.tailMode=n,o.treeForkCount=i)}function jh(e,t,a){var r=t.pendingProps,n=r.revealOrder,i=r.tail;r=r.children;var o=ut.current,l=(o&2)!==0;if(l?(o=o&1|2,t.flags|=128):o&=1,Pe(ut,o),Nt(e,t,r,a),r=Te?So:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nf(e,a,t);else if(e.tag===19)Nf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(n){case"forwards":for(a=t.child,n=null;a!==null;)e=a.alternate,e!==null&&ns(e)===null&&(n=a),a=a.sibling;a=n,a===null?(n=t.child,t.child=null):(n=a.sibling,a.sibling=null),au(t,!1,n,a,i,r);break;case"backwards":case"unstable_legacy-backwards":for(a=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&ns(e)===null){t.child=n;break}e=n.sibling,n.sibling=a,a=n,n=e}au(t,!0,a,null,i,r);break;case"together":au(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function sr(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(yn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(B(153));if(t.child!==null){for(e=t.child,a=ar(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ar(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Xp(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&as(e)))}function Uy(e,t,a){switch(t.tag){case 3:Pl(t,t.stateNode.containerInfo),xr(t,ht,e.memoizedState.cache),ci();break;case 27:case 5:yu(t);break;case 4:Pl(t,t.stateNode.containerInfo);break;case 10:xr(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Hu(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(kr(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Hh(e,t,a):(kr(t),e=sr(e,t,a),e!==null?e.sibling:null);kr(t);break;case 19:var n=(e.flags&128)!==0;if(r=(a&t.childLanes)!==0,r||(yn(e,t,a,!1),r=(a&t.childLanes)!==0),n){if(r)return jh(e,t,a);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),Pe(ut,ut.current),r)break;return null;case 22:return t.lanes=0,Lh(e,t,a,t.pendingProps);case 24:xr(t,ht,e.memoizedState.cache)}return sr(e,t,a)}function Gh(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)bt=!0;else{if(!Xp(e,a)&&(t.flags&128)===0)return bt=!1,Uy(e,t,a);bt=(e.flags&131072)!==0}else bt=!1,Te&&(t.flags&1048576)!==0&&Vg(t,So,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=ai(t.elementType),t.type=e,typeof e=="function")kp(e)?(r=mi(e,r),t.tag=1,t=xf(null,t,e,r,a)):(t.tag=0,t=Xu(null,t,e,r,a));else{if(e!=null){var n=e.$$typeof;if(n===cp){t.tag=11,t=bf(null,t,e,r,a);break e}else if(n===up){t.tag=14,t=vf(null,t,e,r,a);break e}}throw t=vu(e)||e,Error(B(306,t,""))}}return t;case 0:return Xu(e,t,t.type,t.pendingProps,a);case 1:return r=t.type,n=mi(r,t.pendingProps),xf(e,t,r,n,a);case 3:e:{if(Pl(t,t.stateNode.containerInfo),e===null)throw Error(B(387));r=t.pendingProps;var i=t.memoizedState;n=i.element,Bu(e,t),fo(t,r,null,a);var o=t.memoizedState;if(r=o.cache,xr(t,ht,r),r!==i.cache&&Uu(t,[ht],a,!0),mo(),r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=kf(e,t,r,a);break e}else if(r!==n){n=ba(Error(B(424)),t),Co(n),t=kf(e,t,r,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,We=ya(e.firstChild),Ct=t,Te=!0,Ar=null,va=!0,a=Jg(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ci(),r===n){t=sr(e,t,a);break e}Nt(e,t,r,a)}t=t.child}return t;case 26:return Ql(e,t),e===null?(a=$f(t.type,null,t.pendingProps,null))?t.memoizedState=a:Te||(a=t.type,e=t.pendingProps,r=bs(zr.current).createElement(a),r[St]=t,r[$t]=e,Et(r,a,e),xt(r),t.stateNode=r):t.memoizedState=$f(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return yu(t),e===null&&Te&&(r=t.stateNode=zb(t.type,t.pendingProps,zr.current),Ct=t,va=!0,n=We,Xr(t.type)?(op=n,We=ya(r.firstChild)):We=n),Nt(e,t,t.pendingProps.children,a),Ql(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((n=r=We)&&(r=s1(r,t.type,t.pendingProps,va),r!==null?(t.stateNode=r,Ct=t,We=ya(r.firstChild),va=!1,n=!0):n=!1),n||Gr(t)),yu(t),n=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,r=i.children,ap(n,i)?r=null:o!==null&&ap(n,o)&&(t.flags|=32),t.memoizedState!==null&&(n=Ap(e,t,Sy,null,null,a),Ao._currentValue=n),Ql(e,t),Nt(e,t,r,a),t.child;case 6:return e===null&&Te&&((e=a=We)&&(a=c1(a,t.pendingProps,va),a!==null?(t.stateNode=a,Ct=t,We=null,e=!0):e=!1),e||Gr(t)),null;case 13:return Hh(e,t,a);case 4:return Pl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=pi(t,null,r,a):Nt(e,t,r,a),t.child;case 11:return bf(e,t,t.type,t.pendingProps,a);case 7:return Nt(e,t,t.pendingProps,a),t.child;case 8:return Nt(e,t,t.pendingProps.children,a),t.child;case 12:return Nt(e,t,t.pendingProps.children,a),t.child;case 10:return r=t.pendingProps,xr(t,t.type,r.value),Nt(e,t,r.children,a),t.child;case 9:return n=t.type._context,r=t.pendingProps.children,ui(t),n=qt(n),r=r(n),t.flags|=1,Nt(e,t,r,a),t.child;case 14:return vf(e,t,t.type,t.pendingProps,a);case 15:return Oh(e,t,t.type,t.pendingProps,a);case 19:return jh(e,t,a);case 31:return Ry(e,t,a);case 22:return Lh(e,t,a,t.pendingProps);case 24:return ui(t),r=qt(ht),e===null?(n=qp(),n===null&&(n=Ze,i=Cp(),n.pooledCache=i,i.refCount++,i!==null&&(n.pooledCacheLanes|=a),n=i),t.memoizedState={parent:r,cache:n},Mp(t),xr(t,ht,n)):((e.lanes&a)!==0&&(Bu(e,t),fo(t,null,null,a),mo()),n=e.memoizedState,i=t.memoizedState,n.parent!==r?(n={parent:r,cache:r},t.memoizedState=n,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=n),xr(t,ht,r)):(r=i.cache,xr(t,ht,r),r!==n.cache&&Uu(t,[ht],a,!0))),Nt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(B(156,t.tag))}function Za(e){e.flags|=4}function ru(e,t,a,r,n){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(n&335544128)===n)if(e.stateNode.complete)e.flags|=8192;else if(pb())e.flags|=8192;else throw li=rs,Ep}else e.flags&=-16777217}function Sf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Ub(t))if(pb())e.flags|=8192;else throw li=rs,Ep}function Cl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?dg():536870912,e.lanes|=t,mn|=t)}function In(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ie(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var n=e.child;n!==null;)a|=n.lanes|n.childLanes,r|=n.subtreeFlags&65011712,r|=n.flags&65011712,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)a|=n.lanes|n.childLanes,r|=n.subtreeFlags,r|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Dy(e,t,a){var r=t.pendingProps;switch(Sp(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ie(t),null;case 1:return Ie(t),null;case 3:return a=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),rr(ht),ln(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Oi(t)?Za(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Kc())),Ie(t),null;case 26:var n=t.type,i=t.memoizedState;return e===null?(Za(t),i!==null?(Ie(t),Sf(t,i)):(Ie(t),ru(t,n,null,r,a))):i?i!==e.memoizedState?(Za(t),Ie(t),Sf(t,i)):(Ie(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&Za(t),Ie(t),ru(t,n,e,r,a)),null;case 27:if(Jl(t),a=zr.current,n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return Ie(t),null}e=La.current,Oi(t)?Wm(t,e):(e=zb(n,r,a),t.stateNode=e,Za(t))}return Ie(t),null;case 5:if(Jl(t),n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return Ie(t),null}if(i=La.current,Oi(t))Wm(t,i);else{var o=bs(zr.current);switch(i){case 1:i=o.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:i=o.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":i=o.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":i=o.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":i=o.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof r.is=="string"?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?i.multiple=!0:r.size&&(i.size=r.size);break;default:i=typeof r.is=="string"?o.createElement(n,{is:r.is}):o.createElement(n)}}i[St]=t,i[$t]=r;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=i;e:switch(Et(i,n,r),n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Za(t)}}return Ie(t),ru(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(B(166));if(e=zr.current,Oi(t)){if(e=t.stateNode,a=t.memoizedProps,r=null,n=Ct,n!==null)switch(n.tag){case 27:case 5:r=n.memoizedProps}e[St]=t,e=!!(e.nodeValue===a||r!==null&&r.suppressHydrationWarning===!0||qb(e.nodeValue,a)),e||Gr(t,!0)}else e=bs(e).createTextNode(r),e[St]=t,t.stateNode=e}return Ie(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(r=Oi(t),a!==null){if(e===null){if(!r)throw Error(B(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(557));e[St]=t}else ci(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ie(t),e=!1}else a=Kc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(ta(t),t):(ta(t),null);if((t.flags&128)!==0)throw Error(B(558))}return Ie(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=Oi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(B(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(B(317));n[St]=t}else ci(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ie(t),n=!1}else n=Kc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(ta(t),t):(ta(t),null)}return ta(t),(t.flags&128)!==0?(t.lanes=a,t):(a=r!==null,e=e!==null&&e.memoizedState!==null,a&&(r=t.child,n=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(n=r.alternate.memoizedState.cachePool.pool),i=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(i=r.memoizedState.cachePool.pool),i!==n&&(r.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Cl(t,t.updateQueue),Ie(t),null);case 4:return ln(),e===null&&Ip(t.stateNode.containerInfo),Ie(t),null;case 10:return rr(t.type),Ie(t),null;case 19:if(kt(ut),r=t.memoizedState,r===null)return Ie(t),null;if(n=(t.flags&128)!==0,i=r.rendering,i===null)if(n)In(r,!1);else{if(lt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=ns(e),i!==null){for(t.flags|=128,In(r,!1),e=i.updateQueue,t.updateQueue=e,Cl(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Qg(a,e),a=a.sibling;return Pe(ut,ut.current&1|2),Te&&Fa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ia()>ps&&(t.flags|=128,n=!0,In(r,!1),t.lanes=4194304)}else{if(!n)if(e=ns(i),e!==null){if(t.flags|=128,n=!0,e=e.updateQueue,t.updateQueue=e,Cl(t,e),In(r,!0),r.tail===null&&r.tailMode==="hidden"&&!i.alternate&&!Te)return Ie(t),null}else 2*ia()-r.renderingStartTime>ps&&a!==536870912&&(t.flags|=128,n=!0,In(r,!1),t.lanes=4194304);r.isBackwards?(i.sibling=t.child,t.child=i):(e=r.last,e!==null?e.sibling=i:t.child=i,r.last=i)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ia(),e.sibling=null,a=ut.current,Pe(ut,n?a&1|2:a&1),Te&&Fa(t,r.treeForkCount),e):(Ie(t),null);case 22:case 23:return ta(t),Tp(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(a&536870912)!==0&&(t.flags&128)===0&&(Ie(t),t.subtreeFlags&6&&(t.flags|=8192)):Ie(t),a=t.updateQueue,a!==null&&Cl(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==a&&(t.flags|=2048),e!==null&&kt(oi),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),rr(ht),Ie(t),null;case 25:return null;case 30:return null}throw Error(B(156,t.tag))}function By(e,t){switch(Sp(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return rr(ht),ln(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Jl(t),null;case 31:if(t.memoizedState!==null){if(ta(t),t.alternate===null)throw Error(B(340));ci()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ta(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(B(340));ci()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return kt(ut),null;case 4:return ln(),null;case 10:return rr(t.type),null;case 22:case 23:return ta(t),Tp(),e!==null&&kt(oi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return rr(ht),null;case 25:return null;default:return null}}function Qh(e,t){switch(Sp(t),t.tag){case 3:rr(ht),ln();break;case 26:case 27:case 5:Jl(t);break;case 4:ln();break;case 31:t.memoizedState!==null&&ta(t);break;case 13:ta(t);break;case 19:kt(ut);break;case 10:rr(t.type);break;case 22:case 23:ta(t),Tp(),e!==null&&kt(oi);break;case 24:rr(ht)}}function Yo(e,t){try{var a=t.updateQueue,r=a!==null?a.lastEffect:null;if(r!==null){var n=r.next;a=n;do{if((a.tag&e)===e){r=void 0;var i=a.create,o=a.inst;r=i(),o.destroy=r}a=a.next}while(a!==n)}}catch(l){Oe(t,t.return,l)}}function Qr(e,t,a){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var i=n.next;r=i;do{if((r.tag&e)===e){var o=r.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,n=t;var c=a,p=l;try{p()}catch(f){Oe(n,c,f)}}}r=r.next}while(r!==i)}}catch(f){Oe(t,t.return,f)}}function Yh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Ig(t,a)}catch(r){Oe(e,e.return,r)}}}function Vh(e,t,a){a.props=mi(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(r){Oe(e,t,r)}}function ho(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof a=="function"?e.refCleanup=a(r):a.current=r}}catch(n){Oe(e,t,n)}}function Oa(e,t){var a=e.ref,r=e.refCleanup;if(a!==null)if(typeof r=="function")try{r()}catch(n){Oe(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(n){Oe(e,t,n)}else a.current=null}function Xh(e){var t=e.type,a=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&r.focus();break e;case"img":a.src?r.src=a.src:a.srcSet&&(r.srcset=a.srcSet)}}catch(n){Oe(e,e.return,n)}}function iu(e,t,a){try{var r=e.stateNode;a1(r,e.type,a,t),r[$t]=t}catch(n){Oe(e,e.return,n)}}function $h(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Xr(e.type)||e.tag===4}function nu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$h(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Xr(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=er));else if(r!==4&&(r===27&&Xr(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Zu(e,t,a),e=e.sibling;e!==null;)Zu(e,t,a),e=e.sibling}function us(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(r===27&&Xr(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(us(e,t,a),e=e.sibling;e!==null;)us(e,t,a),e=e.sibling}function Zh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var r=e.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Et(t,r,a),t[St]=e,t[$t]=a}catch(i){Oe(e,e.return,i)}}var Ia=!1,gt=!1,ou=!1,Cf=typeof WeakSet=="function"?WeakSet:Set,_t=null;function Oy(e,t){if(e=e.containerInfo,ep=_s,e=Ug(e),yp(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var n=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{a.nodeType,i.nodeType}catch{a=null;break e}var o=0,l=-1,c=-1,p=0,f=0,b=e,d=null;t:for(;;){for(var h;b!==a||n!==0&&b.nodeType!==3||(l=o+n),b!==i||r!==0&&b.nodeType!==3||(c=o+r),b.nodeType===3&&(o+=b.nodeValue.length),(h=b.firstChild)!==null;)d=b,b=h;for(;;){if(b===e)break t;if(d===a&&++p===n&&(l=o),d===i&&++f===r&&(c=o),(h=b.nextSibling)!==null)break;b=d,d=b.parentNode}b=h}a=l===-1||c===-1?null:{start:l,end:c}}else a=null}a=a||{start:0,end:0}}else a=null;for(tp={focusedElem:e,selectionRange:a},_s=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)n=e[a],n.ref.impl=n.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,a=t,n=i.memoizedProps,i=i.memoizedState,r=a.stateNode;try{var w=mi(a.type,n);e=r.getSnapshotBeforeUpdate(w,i),r.__reactInternalSnapshotBeforeUpdate=e}catch(M){Oe(a,a.return,M)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)rp(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rp(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(B(163))}if(e=t.sibling,e!==null){e.return=t.return,_t=e;break}_t=t.return}}function Kh(e,t,a){var r=a.flags;switch(a.tag){case 0:case 11:case 15:Pa(e,a),r&4&&Yo(5,a);break;case 1:if(Pa(e,a),r&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(o){Oe(a,a.return,o)}else{var n=mi(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(n,t,e.__reactInternalSnapshotBeforeUpdate)}catch(o){Oe(a,a.return,o)}}r&64&&Yh(a),r&512&&ho(a,a.return);break;case 3:if(Pa(e,a),r&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Ig(e,t)}catch(o){Oe(a,a.return,o)}}break;case 27:t===null&&r&4&&Zh(a);case 26:case 5:Pa(e,a),t===null&&r&4&&Xh(a),r&512&&ho(a,a.return);break;case 12:Pa(e,a);break;case 31:Pa(e,a),r&4&&Fh(e,a);break;case 13:Pa(e,a),r&4&&Ih(e,a),r&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=$y.bind(null,a),u1(e,a))));break;case 22:if(r=a.memoizedState!==null||Ia,!r){t=t!==null&&t.memoizedState!==null||gt,n=Ia;var i=gt;Ia=r,(gt=t)&&!i?Ja(e,a,(a.subtreeFlags&8772)!==0):Pa(e,a),Ia=n,gt=i}break;case 30:break;default:Pa(e,a)}}function Ph(e){var t=e.alternate;t!==null&&(e.alternate=null,Ph(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&fp(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var rt=null,Yt=!1;function Ka(e,t,a){for(a=a.child;a!==null;)Jh(e,t,a),a=a.sibling}function Jh(e,t,a){if(na&&typeof na.onCommitFiberUnmount=="function")try{na.onCommitFiberUnmount(Bo,a)}catch{}switch(a.tag){case 26:gt||Oa(a,t),Ka(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:gt||Oa(a,t);var r=rt,n=Yt;Xr(a.type)&&(rt=a.stateNode,Yt=!1),Ka(e,t,a),yo(a.stateNode),rt=r,Yt=n;break;case 5:gt||Oa(a,t);case 6:if(r=rt,n=Yt,rt=null,Ka(e,t,a),rt=r,Yt=n,rt!==null)if(Yt)try{(rt.nodeType===9?rt.body:rt.nodeName==="HTML"?rt.ownerDocument.body:rt).removeChild(a.stateNode)}catch(i){Oe(a,t,i)}else try{rt.removeChild(a.stateNode)}catch(i){Oe(a,t,i)}break;case 18:rt!==null&&(Yt?(e=rt,Gf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),bn(e)):Gf(rt,a.stateNode));break;case 4:r=rt,n=Yt,rt=a.stateNode.containerInfo,Yt=!0,Ka(e,t,a),rt=r,Yt=n;break;case 0:case 11:case 14:case 15:Qr(2,a,t),gt||Qr(4,a,t),Ka(e,t,a);break;case 1:gt||(Oa(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"&&Vh(a,t,r)),Ka(e,t,a);break;case 21:Ka(e,t,a);break;case 22:gt=(r=gt)||a.memoizedState!==null,Ka(e,t,a),gt=r;break;default:Ka(e,t,a)}}function Fh(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{bn(e)}catch(a){Oe(t,t.return,a)}}}function Ih(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{bn(e)}catch(a){Oe(t,t.return,a)}}function Ly(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Cf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Cf),t;default:throw Error(B(435,e.tag))}}function ql(e,t){var a=Ly(e);t.forEach(function(r){if(!a.has(r)){a.add(r);var n=Zy.bind(null,e,r);r.then(n,n)}})}function Gt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var n=a[r],i=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 27:if(Xr(l.type)){rt=l.stateNode,Yt=!1;break e}break;case 5:rt=l.stateNode,Yt=!1;break e;case 3:case 4:rt=l.stateNode.containerInfo,Yt=!0;break e}l=l.return}if(rt===null)throw Error(B(160));Jh(i,o,n),rt=null,Yt=!1,i=n.alternate,i!==null&&(i.return=null),n.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Wh(t,e),t=t.sibling}var za=null;function Wh(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Gt(t,e),Qt(e),r&4&&(Qr(3,e,e.return),Yo(3,e),Qr(5,e,e.return));break;case 1:Gt(t,e),Qt(e),r&512&&(gt||a===null||Oa(a,a.return)),r&64&&Ia&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?r:a.concat(r))));break;case 26:var n=za;if(Gt(t,e),Qt(e),r&512&&(gt||a===null||Oa(a,a.return)),r&4){var i=a!==null?a.memoizedState:null;if(r=e.memoizedState,a===null)if(r===null)if(e.stateNode===null){e:{r=e.type,a=e.memoizedProps,n=n.ownerDocument||n;t:switch(r){case"title":i=n.getElementsByTagName("title")[0],(!i||i[Ho]||i[St]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=n.createElement(r),n.head.insertBefore(i,n.querySelector("head > title"))),Et(i,r,a),i[St]=e,xt(i),r=i;break e;case"link":var o=Kf("link","href",n).get(r+(a.href||""));if(o){for(var l=0;l<o.length;l++)if(i=o[l],i.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&i.getAttribute("rel")===(a.rel==null?null:a.rel)&&i.getAttribute("title")===(a.title==null?null:a.title)&&i.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){o.splice(l,1);break t}}i=n.createElement(r),Et(i,r,a),n.head.appendChild(i);break;case"meta":if(o=Kf("meta","content",n).get(r+(a.content||""))){for(l=0;l<o.length;l++)if(i=o[l],i.getAttribute("content")===(a.content==null?null:""+a.content)&&i.getAttribute("name")===(a.name==null?null:a.name)&&i.getAttribute("property")===(a.property==null?null:a.property)&&i.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&i.getAttribute("charset")===(a.charSet==null?null:a.charSet)){o.splice(l,1);break t}}i=n.createElement(r),Et(i,r,a),n.head.appendChild(i);break;default:throw Error(B(468,r))}i[St]=e,xt(i),r=i}e.stateNode=r}else Pf(n,e.type,e.stateNode);else e.stateNode=Zf(n,r,e.memoizedProps);else i!==r?(i===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):i.count--,r===null?Pf(n,e.type,e.stateNode):Zf(n,r,e.memoizedProps)):r===null&&e.stateNode!==null&&iu(e,e.memoizedProps,a.memoizedProps)}break;case 27:Gt(t,e),Qt(e),r&512&&(gt||a===null||Oa(a,a.return)),a!==null&&r&4&&iu(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Gt(t,e),Qt(e),r&512&&(gt||a===null||Oa(a,a.return)),e.flags&32){n=e.stateNode;try{cn(n,"")}catch(w){Oe(e,e.return,w)}}r&4&&e.stateNode!=null&&(n=e.memoizedProps,iu(e,n,a!==null?a.memoizedProps:n)),r&1024&&(ou=!0);break;case 6:if(Gt(t,e),Qt(e),r&4){if(e.stateNode===null)throw Error(B(162));r=e.memoizedProps,a=e.stateNode;try{a.nodeValue=r}catch(w){Oe(e,e.return,w)}}break;case 3:if(Xl=null,n=za,za=vs(t.containerInfo),Gt(t,e),za=n,Qt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{bn(t.containerInfo)}catch(w){Oe(e,e.return,w)}ou&&(ou=!1,eb(e));break;case 4:r=za,za=vs(e.stateNode.containerInfo),Gt(t,e),Qt(e),za=r;break;case 12:Gt(t,e),Qt(e);break;case 31:Gt(t,e),Qt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 13:Gt(t,e),Qt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Us=ia()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 22:n=e.memoizedState!==null;var c=a!==null&&a.memoizedState!==null,p=Ia,f=gt;if(Ia=p||n,gt=f||c,Gt(t,e),gt=f,Ia=p,Qt(e),r&8192)e:for(t=e.stateNode,t._visibility=n?t._visibility&-2:t._visibility|1,n&&(a===null||c||Ia||gt||ri(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){c=a=t;try{if(i=c.stateNode,n)o=i.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{l=c.stateNode;var b=c.memoizedProps.style,d=b!=null&&b.hasOwnProperty("display")?b.display:null;l.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(w){Oe(c,c.return,w)}}}else if(t.tag===6){if(a===null){c=t;try{c.stateNode.nodeValue=n?"":c.memoizedProps}catch(w){Oe(c,c.return,w)}}}else if(t.tag===18){if(a===null){c=t;try{var h=c.stateNode;n?Qf(h,!0):Qf(c.stateNode,!1)}catch(w){Oe(c,c.return,w)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(a=r.retryQueue,a!==null&&(r.retryQueue=null,ql(e,a))));break;case 19:Gt(t,e),Qt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 30:break;case 21:break;default:Gt(t,e),Qt(e)}}function Qt(e){var t=e.flags;if(t&2){try{for(var a,r=e.return;r!==null;){if($h(r)){a=r;break}r=r.return}if(a==null)throw Error(B(160));switch(a.tag){case 27:var n=a.stateNode,i=nu(e);us(e,i,n);break;case 5:var o=a.stateNode;a.flags&32&&(cn(o,""),a.flags&=-33);var l=nu(e);us(e,l,o);break;case 3:case 4:var c=a.stateNode.containerInfo,p=nu(e);Zu(e,p,c);break;default:throw Error(B(161))}}catch(f){Oe(e,e.return,f)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function eb(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;eb(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Pa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Kh(e,t.alternate,t),t=t.sibling}function ri(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Qr(4,t,t.return),ri(t);break;case 1:Oa(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Vh(t,t.return,a),ri(t);break;case 27:yo(t.stateNode);case 26:case 5:Oa(t,t.return),ri(t);break;case 22:t.memoizedState===null&&ri(t);break;case 30:ri(t);break;default:ri(t)}e=e.sibling}}function Ja(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,n=e,i=t,o=i.flags;switch(i.tag){case 0:case 11:case 15:Ja(n,i,a),Yo(4,i);break;case 1:if(Ja(n,i,a),r=i,n=r.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(p){Oe(r,r.return,p)}if(r=i,n=r.updateQueue,n!==null){var l=r.stateNode;try{var c=n.shared.hiddenCallbacks;if(c!==null)for(n.shared.hiddenCallbacks=null,n=0;n<c.length;n++)Fg(c[n],l)}catch(p){Oe(r,r.return,p)}}a&&o&64&&Yh(i),ho(i,i.return);break;case 27:Zh(i);case 26:case 5:Ja(n,i,a),a&&r===null&&o&4&&Xh(i),ho(i,i.return);break;case 12:Ja(n,i,a);break;case 31:Ja(n,i,a),a&&o&4&&Fh(n,i);break;case 13:Ja(n,i,a),a&&o&4&&Ih(n,i);break;case 22:i.memoizedState===null&&Ja(n,i,a),ho(i,i.return);break;case 30:break;default:Ja(n,i,a)}t=t.sibling}}function $p(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Go(a))}function Zp(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Go(e))}function Ta(e,t,a,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)tb(e,t,a,r),t=t.sibling}function tb(e,t,a,r){var n=t.flags;switch(t.tag){case 0:case 11:case 15:Ta(e,t,a,r),n&2048&&Yo(9,t);break;case 1:Ta(e,t,a,r);break;case 3:Ta(e,t,a,r),n&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Go(e)));break;case 12:if(n&2048){Ta(e,t,a,r),e=t.stateNode;try{var i=t.memoizedProps,o=i.id,l=i.onPostCommit;typeof l=="function"&&l(o,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(c){Oe(t,t.return,c)}}else Ta(e,t,a,r);break;case 31:Ta(e,t,a,r);break;case 13:Ta(e,t,a,r);break;case 23:break;case 22:i=t.stateNode,o=t.alternate,t.memoizedState!==null?i._visibility&2?Ta(e,t,a,r):bo(e,t):i._visibility&2?Ta(e,t,a,r):(i._visibility|=2,Hi(e,t,a,r,(t.subtreeFlags&10256)!==0||!1)),n&2048&&$p(o,t);break;case 24:Ta(e,t,a,r),n&2048&&Zp(t.alternate,t);break;default:Ta(e,t,a,r)}}function Hi(e,t,a,r,n){for(n=n&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,o=t,l=a,c=r,p=o.flags;switch(o.tag){case 0:case 11:case 15:Hi(i,o,l,c,n),Yo(8,o);break;case 23:break;case 22:var f=o.stateNode;o.memoizedState!==null?f._visibility&2?Hi(i,o,l,c,n):bo(i,o):(f._visibility|=2,Hi(i,o,l,c,n)),n&&p&2048&&$p(o.alternate,o);break;case 24:Hi(i,o,l,c,n),n&&p&2048&&Zp(o.alternate,o);break;default:Hi(i,o,l,c,n)}t=t.sibling}}function bo(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,r=t,n=r.flags;switch(r.tag){case 22:bo(a,r),n&2048&&$p(r.alternate,r);break;case 24:bo(a,r),n&2048&&Zp(r.alternate,r);break;default:bo(a,r)}t=t.sibling}}var oo=8192;function Li(e,t,a){if(e.subtreeFlags&oo)for(e=e.child;e!==null;)ab(e,t,a),e=e.sibling}function ab(e,t,a){switch(e.tag){case 26:Li(e,t,a),e.flags&oo&&e.memoizedState!==null&&x1(a,za,e.memoizedState,e.memoizedProps);break;case 5:Li(e,t,a);break;case 3:case 4:var r=za;za=vs(e.stateNode.containerInfo),Li(e,t,a),za=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=oo,oo=16777216,Li(e,t,a),oo=r):Li(e,t,a));break;default:Li(e,t,a)}}function rb(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Wn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];_t=r,nb(r,e)}rb(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)ib(e),e=e.sibling}function ib(e){switch(e.tag){case 0:case 11:case 15:Wn(e),e.flags&2048&&Qr(9,e,e.return);break;case 3:Wn(e);break;case 12:Wn(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Yl(e)):Wn(e);break;default:Wn(e)}}function Yl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];_t=r,nb(r,e)}rb(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Qr(8,t,t.return),Yl(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Yl(t));break;default:Yl(t)}e=e.sibling}}function nb(e,t){for(;_t!==null;){var a=_t;switch(a.tag){case 0:case 11:case 15:Qr(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var r=a.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Go(a.memoizedState.cache)}if(r=a.child,r!==null)r.return=a,_t=r;else e:for(a=e;_t!==null;){r=_t;var n=r.sibling,i=r.return;if(Ph(r),r===a){_t=null;break e}if(n!==null){n.return=i,_t=n;break e}_t=i}}}var Hy={getCacheForType:function(e){var t=qt(ht),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return qt(ht).controller.signal}},jy=typeof WeakMap=="function"?WeakMap:Map,Ue=0,Ze=null,Ee=null,Me=0,Be=0,ea=null,Er=!1,xn=!1,Kp=!1,cr=0,lt=0,Yr=0,si=0,Pp=0,ra=0,mn=0,vo=null,Vt=null,Ku=!1,Us=0,ob=0,ps=1/0,ds=null,Dr=null,vt=0,Br=null,fn=null,ir=0,Pu=0,Ju=null,lb=null,wo=0,Fu=null;function la(){return(Ue&2)!==0&&Me!==0?Me&-Me:me.T!==null?Fp():hg()}function sb(){if(ra===0)if((Me&536870912)===0||Te){var e=bl;bl<<=1,(bl&3932160)===0&&(bl=262144),ra=e}else ra=536870912;return e=ca.current,e!==null&&(e.flags|=32),ra}function Xt(e,t,a){(e===Ze&&(Be===2||Be===9)||e.cancelPendingCommit!==null)&&(gn(e,0),Mr(e,Me,ra,!1)),Lo(e,a),((Ue&2)===0||e!==Ze)&&(e===Ze&&((Ue&2)===0&&(si|=a),lt===4&&Mr(e,Me,ra,!1)),ja(e))}function cb(e,t,a){if((Ue&6)!==0)throw Error(B(327));var r=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Oo(e,t),n=r?Yy(e,t):lu(e,t,!0),i=r;do{if(n===0){xn&&!r&&Mr(e,t,0,!1);break}else{if(a=e.current.alternate,i&&!Gy(a)){n=lu(e,t,!1),i=!1;continue}if(n===2){if(i=t,e.errorRecoveryDisabledLanes&i)var o=0;else o=e.pendingLanes&-536870913,o=o!==0?o:o&536870912?536870912:0;if(o!==0){t=o;e:{var l=e;n=vo;var c=l.current.memoizedState.isDehydrated;if(c&&(gn(l,o).flags|=256),o=lu(l,o,!1),o!==2){if(Kp&&!c){l.errorRecoveryDisabledLanes|=i,si|=i,n=4;break e}i=Vt,Vt=n,i!==null&&(Vt===null?Vt=i:Vt.push.apply(Vt,i))}n=o}if(i=!1,n!==2)continue}}if(n===1){gn(e,0),Mr(e,t,0,!0);break}e:{switch(r=e,i=n,i){case 0:case 1:throw Error(B(345));case 4:if((t&4194048)!==t)break;case 6:Mr(r,t,ra,!Er);break e;case 2:Vt=null;break;case 3:case 5:break;default:throw Error(B(329))}if((t&62914560)===t&&(n=Us+300-ia(),10<n)){if(Mr(r,t,ra,!Er),ks(r,0,!0)!==0)break e;ir=t,r.timeoutHandle=Mb(qf.bind(null,r,a,Vt,ds,Ku,t,ra,si,mn,Er,i,"Throttled",-0,0),n);break e}qf(r,a,Vt,ds,Ku,t,ra,si,mn,Er,i,null,-0,0)}}break}while(!0);ja(e)}function qf(e,t,a,r,n,i,o,l,c,p,f,b,d,h){if(e.timeoutHandle=-1,b=t.subtreeFlags,b&8192||(b&16785408)===16785408){b={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:er},ab(t,i,b);var w=(i&62914560)===i?Us-ia():(i&4194048)===i?ob-ia():0;if(w=k1(b,w),w!==null){ir=i,e.cancelPendingCommit=w(Mf.bind(null,e,t,i,a,r,n,o,l,c,f,b,null,d,h)),Mr(e,i,o,!p);return}}Mf(e,t,i,a,r,n,o,l,c)}function Gy(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var r=0;r<a.length;r++){var n=a[r],i=n.getSnapshot;n=n.value;try{if(!sa(i(),n))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Mr(e,t,a,r){t&=~Pp,t&=~si,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var n=t;0<n;){var i=31-oa(n),o=1<<i;r[i]=-1,n&=~o}a!==0&&mg(e,a,t)}function Ds(){return(Ue&6)===0?(Vo(0,!1),!1):!0}function Jp(){if(Ee!==null){if(Be===0)var e=Ee.return;else e=Ee,tr=vi=null,Dp(e),rn=null,qo=0,e=Ee;for(;e!==null;)Qh(e.alternate,e),e=e.return;Ee=null}}function gn(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,n1(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),ir=0,Jp(),Ze=e,Ee=a=ar(e.current,null),Me=t,Be=0,ea=null,Er=!1,xn=Oo(e,t),Kp=!1,mn=ra=Pp=si=Yr=lt=0,Vt=vo=null,Ku=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var n=31-oa(r),i=1<<n;t|=e[n],r&=~i}return cr=t,qs(),a}function ub(e,t){ve=null,me.H=Mo,t===_n||t===Ms?(t=nf(),Be=3):t===Ep?(t=nf(),Be=4):Be=t===Vp?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ea=t,Ee===null&&(lt=1,ss(e,ba(t,e.current)))}function pb(){var e=ca.current;return e===null?!0:(Me&4194048)===Me?wa===null:(Me&62914560)===Me||(Me&536870912)!==0?e===wa:!1}function db(){var e=me.H;return me.H=Mo,e===null?Mo:e}function mb(){var e=me.A;return me.A=Hy,e}function ms(){lt=4,Er||(Me&4194048)!==Me&&ca.current!==null||(xn=!0),(Yr&134217727)===0&&(si&134217727)===0||Ze===null||Mr(Ze,Me,ra,!1)}function lu(e,t,a){var r=Ue;Ue|=2;var n=db(),i=mb();(Ze!==e||Me!==t)&&(ds=null,gn(e,t)),t=!1;var o=lt;e:do try{if(Be!==0&&Ee!==null){var l=Ee,c=ea;switch(Be){case 8:Jp(),o=6;break e;case 3:case 2:case 9:case 6:ca.current===null&&(t=!0);var p=Be;if(Be=0,ea=null,Ii(e,l,c,p),a&&xn){o=0;break e}break;default:p=Be,Be=0,ea=null,Ii(e,l,c,p)}}Qy(),o=lt;break}catch(f){ub(e,f)}while(!0);return t&&e.shellSuspendCounter++,tr=vi=null,Ue=r,me.H=n,me.A=i,Ee===null&&(Ze=null,Me=0,qs()),o}function Qy(){for(;Ee!==null;)fb(Ee)}function Yy(e,t){var a=Ue;Ue|=2;var r=db(),n=mb();Ze!==e||Me!==t?(ds=null,ps=ia()+500,gn(e,t)):xn=Oo(e,t);e:do try{if(Be!==0&&Ee!==null){t=Ee;var i=ea;t:switch(Be){case 1:Be=0,ea=null,Ii(e,t,i,1);break;case 2:case 9:if(rf(i)){Be=0,ea=null,Ef(t);break}t=function(){Be!==2&&Be!==9||Ze!==e||(Be=7),ja(e)},i.then(t,t);break e;case 3:Be=7;break e;case 4:Be=5;break e;case 7:rf(i)?(Be=0,ea=null,Ef(t)):(Be=0,ea=null,Ii(e,t,i,7));break;case 5:var o=null;switch(Ee.tag){case 26:o=Ee.memoizedState;case 5:case 27:var l=Ee;if(o?Ub(o):l.stateNode.complete){Be=0,ea=null;var c=l.sibling;if(c!==null)Ee=c;else{var p=l.return;p!==null?(Ee=p,Bs(p)):Ee=null}break t}}Be=0,ea=null,Ii(e,t,i,5);break;case 6:Be=0,ea=null,Ii(e,t,i,6);break;case 8:Jp(),lt=6;break e;default:throw Error(B(462))}}Vy();break}catch(f){ub(e,f)}while(!0);return tr=vi=null,me.H=r,me.A=n,Ue=a,Ee!==null?0:(Ze=null,Me=0,qs(),lt)}function Vy(){for(;Ee!==null&&!m0();)fb(Ee)}function fb(e){var t=Gh(e.alternate,e,cr);e.memoizedProps=e.pendingProps,t===null?Bs(e):Ee=t}function Ef(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=_f(a,t,t.pendingProps,t.type,void 0,Me);break;case 11:t=_f(a,t,t.pendingProps,t.type.render,t.ref,Me);break;case 5:Dp(t);default:Qh(a,t),t=Ee=Qg(t,cr),t=Gh(a,t,cr)}e.memoizedProps=e.pendingProps,t===null?Bs(e):Ee=t}function Ii(e,t,a,r){tr=vi=null,Dp(t),rn=null,qo=0;var n=t.return;try{if(Ay(e,n,t,a,Me)){lt=1,ss(e,ba(a,e.current)),Ee=null;return}}catch(i){if(n!==null)throw Ee=n,i;lt=1,ss(e,ba(a,e.current)),Ee=null;return}t.flags&32768?(Te||r===1?e=!0:xn||(Me&536870912)!==0?e=!1:(Er=e=!0,(r===2||r===9||r===3||r===6)&&(r=ca.current,r!==null&&r.tag===13&&(r.flags|=16384))),gb(t,e)):Bs(t)}function Bs(e){var t=e;do{if((t.flags&32768)!==0){gb(t,Er);return}e=t.return;var a=Dy(t.alternate,t,cr);if(a!==null){Ee=a;return}if(t=t.sibling,t!==null){Ee=t;return}Ee=t=e}while(t!==null);lt===0&&(lt=5)}function gb(e,t){do{var a=By(e.alternate,e);if(a!==null){a.flags&=32767,Ee=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){Ee=e;return}Ee=e=a}while(e!==null);lt=6,Ee=null}function Mf(e,t,a,r,n,i,o,l,c){e.cancelPendingCommit=null;do Os();while(vt!==0);if((Ue&6)!==0)throw Error(B(327));if(t!==null){if(t===e.current)throw Error(B(177));if(i=t.lanes|t.childLanes,i|=_p,k0(e,a,i,o,l,c),e===Ze&&(Ee=Ze=null,Me=0),fn=t,Br=e,ir=a,Pu=i,Ju=n,lb=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Ky(Fl,function(){return yb(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=me.T,me.T=null,n=De.p,De.p=2,o=Ue,Ue|=4;try{Oy(e,t,a)}finally{Ue=o,De.p=n,me.T=r}}vt=1,hb(),bb(),vb()}}function hb(){if(vt===1){vt=0;var e=Br,t=fn,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=me.T,me.T=null;var r=De.p;De.p=2;var n=Ue;Ue|=4;try{Wh(t,e);var i=tp,o=Ug(e.containerInfo),l=i.focusedElem,c=i.selectionRange;if(o!==l&&l&&l.ownerDocument&&Rg(l.ownerDocument.documentElement,l)){if(c!==null&&yp(l)){var p=c.start,f=c.end;if(f===void 0&&(f=p),"selectionStart"in l)l.selectionStart=p,l.selectionEnd=Math.min(f,l.value.length);else{var b=l.ownerDocument||document,d=b&&b.defaultView||window;if(d.getSelection){var h=d.getSelection(),w=l.textContent.length,M=Math.min(c.start,w),D=c.end===void 0?M:Math.min(c.end,w);!h.extend&&M>D&&(o=D,D=M,M=o);var m=Jm(l,M),u=Jm(l,D);if(m&&u&&(h.rangeCount!==1||h.anchorNode!==m.node||h.anchorOffset!==m.offset||h.focusNode!==u.node||h.focusOffset!==u.offset)){var g=b.createRange();g.setStart(m.node,m.offset),h.removeAllRanges(),M>D?(h.addRange(g),h.extend(u.node,u.offset)):(g.setEnd(u.node,u.offset),h.addRange(g))}}}}for(b=[],h=l;h=h.parentNode;)h.nodeType===1&&b.push({element:h,left:h.scrollLeft,top:h.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<b.length;l++){var v=b[l];v.element.scrollLeft=v.left,v.element.scrollTop=v.top}}_s=!!ep,tp=ep=null}finally{Ue=n,De.p=r,me.T=a}}e.current=t,vt=2}}function bb(){if(vt===2){vt=0;var e=Br,t=fn,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=me.T,me.T=null;var r=De.p;De.p=2;var n=Ue;Ue|=4;try{Kh(e,t.alternate,t)}finally{Ue=n,De.p=r,me.T=a}}vt=3}}function vb(){if(vt===4||vt===3){vt=0,f0();var e=Br,t=fn,a=ir,r=lb;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?vt=5:(vt=0,fn=Br=null,wb(e,e.pendingLanes));var n=e.pendingLanes;if(n===0&&(Dr=null),mp(a),t=t.stateNode,na&&typeof na.onCommitFiberRoot=="function")try{na.onCommitFiberRoot(Bo,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=me.T,n=De.p,De.p=2,me.T=null;try{for(var i=e.onRecoverableError,o=0;o<r.length;o++){var l=r[o];i(l.value,{componentStack:l.stack})}}finally{me.T=t,De.p=n}}(ir&3)!==0&&Os(),ja(e),n=e.pendingLanes,(a&261930)!==0&&(n&42)!==0?e===Fu?wo++:(wo=0,Fu=e):wo=0,Vo(0,!1)}}function wb(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Go(t)))}function Os(){return hb(),bb(),vb(),yb()}function yb(){if(vt!==5)return!1;var e=Br,t=Pu;Pu=0;var a=mp(ir),r=me.T,n=De.p;try{De.p=32>a?32:a,me.T=null,a=Ju,Ju=null;var i=Br,o=ir;if(vt=0,fn=Br=null,ir=0,(Ue&6)!==0)throw Error(B(331));var l=Ue;if(Ue|=4,ib(i.current),tb(i,i.current,o,a),Ue=l,Vo(0,!1),na&&typeof na.onPostCommitFiberRoot=="function")try{na.onPostCommitFiberRoot(Bo,i)}catch{}return!0}finally{De.p=n,me.T=r,wb(e,t)}}function Tf(e,t,a){t=ba(a,t),t=Vu(e.stateNode,t,2),e=Ur(e,t,2),e!==null&&(Lo(e,2),ja(e))}function Oe(e,t,a){if(e.tag===3)Tf(e,e,a);else for(;t!==null;){if(t.tag===3){Tf(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Dr===null||!Dr.has(r))){e=ba(a,e),a=Dh(2),r=Ur(t,a,2),r!==null&&(Bh(a,r,t,e),Lo(r,2),ja(r));break}}t=t.return}}function su(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new jy;var n=new Set;r.set(t,n)}else n=r.get(t),n===void 0&&(n=new Set,r.set(t,n));n.has(a)||(Kp=!0,n.add(a),e=Xy.bind(null,e,t,a),t.then(e,e))}function Xy(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ze===e&&(Me&a)===a&&(lt===4||lt===3&&(Me&62914560)===Me&&300>ia()-Us?(Ue&2)===0&&gn(e,0):Pp|=a,mn===Me&&(mn=0)),ja(e)}function _b(e,t){t===0&&(t=dg()),e=bi(e,t),e!==null&&(Lo(e,t),ja(e))}function $y(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),_b(e,a)}function Zy(e,t){var a=0;switch(e.tag){case 31:case 13:var r=e.stateNode,n=e.memoizedState;n!==null&&(a=n.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(B(314))}r!==null&&r.delete(t),_b(e,a)}function Ky(e,t){return pp(e,t)}var fs=null,ji=null,Iu=!1,gs=!1,cu=!1,Tr=0;function ja(e){e!==ji&&e.next===null&&(ji===null?fs=ji=e:ji=ji.next=e),gs=!0,Iu||(Iu=!0,Jy())}function Vo(e,t){if(!cu&&gs){cu=!0;do for(var a=!1,r=fs;r!==null;){if(!t)if(e!==0){var n=r.pendingLanes;if(n===0)var i=0;else{var o=r.suspendedLanes,l=r.pingedLanes;i=(1<<31-oa(42|e)+1)-1,i&=n&~(o&~l),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(a=!0,zf(r,i))}else i=Me,i=ks(r,r===Ze?i:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(i&3)===0||Oo(r,i)||(a=!0,zf(r,i));r=r.next}while(a);cu=!1}}function Py(){xb()}function xb(){gs=Iu=!1;var e=0;Tr!==0&&i1()&&(e=Tr);for(var t=ia(),a=null,r=fs;r!==null;){var n=r.next,i=kb(r,t);i===0?(r.next=null,a===null?fs=n:a.next=n,n===null&&(ji=a)):(a=r,(e!==0||(i&3)!==0)&&(gs=!0)),r=n}vt!==0&&vt!==5||Vo(e,!1),Tr!==0&&(Tr=0)}function kb(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,n=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var o=31-oa(i),l=1<<o,c=n[o];c===-1?((l&a)===0||(l&r)!==0)&&(n[o]=x0(l,t)):c<=t&&(e.expiredLanes|=l),i&=~l}if(t=Ze,a=Me,a=ks(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,a===0||e===t&&(Be===2||Be===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Lc(r),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Oo(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(r!==null&&Lc(r),mp(a)){case 2:case 8:a=ug;break;case 32:a=Fl;break;case 268435456:a=pg;break;default:a=Fl}return r=Nb.bind(null,e),a=pp(a,r),e.callbackPriority=t,e.callbackNode=a,t}return r!==null&&r!==null&&Lc(r),e.callbackPriority=2,e.callbackNode=null,2}function Nb(e,t){if(vt!==0&&vt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Os()&&e.callbackNode!==a)return null;var r=Me;return r=ks(e,e===Ze?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(cb(e,r,t),kb(e,ia()),e.callbackNode!=null&&e.callbackNode===a?Nb.bind(null,e):null)}function zf(e,t){if(Os())return null;cb(e,t,!0)}function Jy(){o1(function(){(Ue&6)!==0?pp(cg,Py):xb()})}function Fp(){if(Tr===0){var e=un;e===0&&(e=hl,hl<<=1,(hl&261888)===0&&(hl=256)),Tr=e}return Tr}function Af(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ul(""+e)}function Rf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Fy(e,t,a,r,n){if(t==="submit"&&a&&a.stateNode===n){var i=Af((n[$t]||null).action),o=r.submitter;o&&(t=(t=o[$t]||null)?Af(t.formAction):o.getAttribute("formAction"),t!==null&&(i=t,o=null));var l=new Ns("action","action",null,r,n);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Tr!==0){var c=o?Rf(n,o):new FormData(n);Qu(a,{pending:!0,data:c,method:n.method,action:i},null,c)}}else typeof i=="function"&&(l.preventDefault(),c=o?Rf(n,o):new FormData(n),Qu(a,{pending:!0,data:c,method:n.method,action:i},i,c))},currentTarget:n}]})}}for(El=0;El<Tu.length;El++)Ml=Tu[El],Uf=Ml.toLowerCase(),Df=Ml[0].toUpperCase()+Ml.slice(1),Aa(Uf,"on"+Df);var Ml,Uf,Df,El;Aa(Bg,"onAnimationEnd");Aa(Og,"onAnimationIteration");Aa(Lg,"onAnimationStart");Aa("dblclick","onDoubleClick");Aa("focusin","onFocus");Aa("focusout","onBlur");Aa(gy,"onTransitionRun");Aa(hy,"onTransitionStart");Aa(by,"onTransitionCancel");Aa(Hg,"onTransitionEnd");sn("onMouseEnter",["mouseout","mouseover"]);sn("onMouseLeave",["mouseout","mouseover"]);sn("onPointerEnter",["pointerout","pointerover"]);sn("onPointerLeave",["pointerout","pointerover"]);fi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fi("onBeforeInput",["compositionend","keypress","textInput","paste"]);fi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var To="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Iy=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(To));function Sb(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],n=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,p=l.currentTarget;if(l=l.listener,c!==i&&n.isPropagationStopped())break e;i=l,n.currentTarget=p;try{i(n)}catch(f){Wl(f)}n.currentTarget=null,i=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,p=l.currentTarget,l=l.listener,c!==i&&n.isPropagationStopped())break e;i=l,n.currentTarget=p;try{i(n)}catch(f){Wl(f)}n.currentTarget=null,i=c}}}}function qe(e,t){var a=t[xu];a===void 0&&(a=t[xu]=new Set);var r=e+"__bubble";a.has(r)||(Cb(t,e,2,!1),a.add(r))}function uu(e,t,a){var r=0;t&&(r|=4),Cb(a,e,r,t)}var Tl="_reactListening"+Math.random().toString(36).slice(2);function Ip(e){if(!e[Tl]){e[Tl]=!0,bg.forEach(function(a){a!=="selectionchange"&&(Iy.has(a)||uu(a,!1,e),uu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Tl]||(t[Tl]=!0,uu("selectionchange",!1,t))}}function Cb(e,t,a,r){switch(Hb(t)){case 2:var n=C1;break;case 8:n=q1;break;default:n=ad}a=n.bind(null,t,a,e),n=void 0,!qu||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),r?n!==void 0?e.addEventListener(t,a,{capture:!0,passive:n}):e.addEventListener(t,a,!0):n!==void 0?e.addEventListener(t,a,{passive:n}):e.addEventListener(t,a,!1)}function pu(e,t,a,r,n){var i=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===n)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===n)return;o=o.return}for(;l!==null;){if(o=Yi(l),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=i=o;continue e}l=l.parentNode}}r=r.return}Sg(function(){var p=i,f=hp(a),b=[];e:{var d=jg.get(e);if(d!==void 0){var h=Ns,w=e;switch(e){case"keypress":if(Bl(a)===0)break e;case"keydown":case"keyup":h=Z0;break;case"focusin":w="focus",h=Yc;break;case"focusout":w="blur",h=Yc;break;case"beforeblur":case"afterblur":h=Yc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":h=Gm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=D0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=J0;break;case Bg:case Og:case Lg:h=L0;break;case Hg:h=I0;break;case"scroll":case"scrollend":h=R0;break;case"wheel":h=ey;break;case"copy":case"cut":case"paste":h=j0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=Ym;break;case"toggle":case"beforetoggle":h=ay}var M=(t&4)!==0,D=!M&&(e==="scroll"||e==="scrollend"),m=M?d!==null?d+"Capture":null:d;M=[];for(var u=p,g;u!==null;){var v=u;if(g=v.stateNode,v=v.tag,v!==5&&v!==26&&v!==27||g===null||m===null||(v=xo(u,m),v!=null&&M.push(zo(u,v,g))),D)break;u=u.return}0<M.length&&(d=new h(d,w,null,a,f),b.push({event:d,listeners:M}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",d&&a!==Cu&&(w=a.relatedTarget||a.fromElement)&&(Yi(w)||w[vn]))break e;if((h||d)&&(d=f.window===f?f:(d=f.ownerDocument)?d.defaultView||d.parentWindow:window,h?(w=a.relatedTarget||a.toElement,h=p,w=w?Yi(w):null,w!==null&&(D=Do(w),M=w.tag,w!==D||M!==5&&M!==27&&M!==6)&&(w=null)):(h=null,w=p),h!==w)){if(M=Gm,v="onMouseLeave",m="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(M=Ym,v="onPointerLeave",m="onPointerEnter",u="pointer"),D=h==null?d:io(h),g=w==null?d:io(w),d=new M(v,u+"leave",h,a,f),d.target=D,d.relatedTarget=g,v=null,Yi(f)===p&&(M=new M(m,u+"enter",w,a,f),M.target=g,M.relatedTarget=D,v=M),D=v,h&&w)t:{for(M=Wy,m=h,u=w,g=0,v=m;v;v=M(v))g++;v=0;for(var N=u;N;N=M(N))v++;for(;0<g-v;)m=M(m),g--;for(;0<v-g;)u=M(u),v--;for(;g--;){if(m===u||u!==null&&m===u.alternate){M=m;break t}m=M(m),u=M(u)}M=null}else M=null;h!==null&&Bf(b,d,h,M,!1),w!==null&&D!==null&&Bf(b,D,w,M,!0)}}e:{if(d=p?io(p):window,h=d.nodeName&&d.nodeName.toLowerCase(),h==="select"||h==="input"&&d.type==="file")var A=Zm;else if($m(d))if(zg)A=dy;else{A=uy;var T=cy}else h=d.nodeName,!h||h.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?p&&gp(p.elementType)&&(A=Zm):A=py;if(A&&(A=A(e,p))){Tg(b,A,a,f);break e}T&&T(e,d,p),e==="focusout"&&p&&d.type==="number"&&p.memoizedProps.value!=null&&Su(d,"number",d.value)}switch(T=p?io(p):window,e){case"focusin":($m(T)||T.contentEditable==="true")&&($i=T,Eu=p,co=null);break;case"focusout":co=Eu=$i=null;break;case"mousedown":Mu=!0;break;case"contextmenu":case"mouseup":case"dragend":Mu=!1,Fm(b,a,f);break;case"selectionchange":if(fy)break;case"keydown":case"keyup":Fm(b,a,f)}var z;if(wp)e:{switch(e){case"compositionstart":var G="onCompositionStart";break e;case"compositionend":G="onCompositionEnd";break e;case"compositionupdate":G="onCompositionUpdate";break e}G=void 0}else Xi?Eg(e,a)&&(G="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(G="onCompositionStart");G&&(qg&&a.locale!=="ko"&&(Xi||G!=="onCompositionStart"?G==="onCompositionEnd"&&Xi&&(z=Cg()):(qr=f,bp="value"in qr?qr.value:qr.textContent,Xi=!0)),T=hs(p,G),0<T.length&&(G=new Qm(G,e,null,a,f),b.push({event:G,listeners:T}),z?G.data=z:(z=Mg(a),z!==null&&(G.data=z)))),(z=iy?ny(e,a):oy(e,a))&&(G=hs(p,"onBeforeInput"),0<G.length&&(T=new Qm("onBeforeInput","beforeinput",null,a,f),b.push({event:T,listeners:G}),T.data=z)),Fy(b,e,p,a,f)}Sb(b,t)})}function zo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function hs(e,t){for(var a=t+"Capture",r=[];e!==null;){var n=e,i=n.stateNode;if(n=n.tag,n!==5&&n!==26&&n!==27||i===null||(n=xo(e,a),n!=null&&r.unshift(zo(e,n,i)),n=xo(e,t),n!=null&&r.push(zo(e,n,i))),e.tag===3)return r;e=e.return}return[]}function Wy(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Bf(e,t,a,r,n){for(var i=t._reactName,o=[];a!==null&&a!==r;){var l=a,c=l.alternate,p=l.stateNode;if(l=l.tag,c!==null&&c===r)break;l!==5&&l!==26&&l!==27||p===null||(c=p,n?(p=xo(a,i),p!=null&&o.unshift(zo(a,p,c))):n||(p=xo(a,i),p!=null&&o.push(zo(a,p,c)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var e1=/\r\n?/g,t1=/\u0000|\uFFFD/g;function Of(e){return(typeof e=="string"?e:""+e).replace(e1,`
9
- `).replace(t1,"")}function qb(e,t){return t=Of(t),Of(e)===t}function Qe(e,t,a,r,n,i){switch(a){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cn(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cn(e,""+r);break;case"className":wl(e,"class",r);break;case"tabIndex":wl(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":wl(e,a,r);break;case"style":Ng(e,r,i);break;case"data":if(t!=="object"){wl(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ul(""+r),e.setAttribute(a,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(a==="formAction"?(t!=="input"&&Qe(e,t,"name",n.name,n,null),Qe(e,t,"formEncType",n.formEncType,n,null),Qe(e,t,"formMethod",n.formMethod,n,null),Qe(e,t,"formTarget",n.formTarget,n,null)):(Qe(e,t,"encType",n.encType,n,null),Qe(e,t,"method",n.method,n,null),Qe(e,t,"target",n.target,n,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ul(""+r),e.setAttribute(a,r);break;case"onClick":r!=null&&(e.onclick=er);break;case"onScroll":r!=null&&qe("scroll",e);break;case"onScrollEnd":r!=null&&qe("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(n.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}a=Ul(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,""+r):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":r===!0?e.setAttribute(a,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,r):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(a,r):e.removeAttribute(a);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(a):e.setAttribute(a,r);break;case"popover":qe("beforetoggle",e),qe("toggle",e),Rl(e,"popover",r);break;case"xlinkActuate":$a(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":$a(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":$a(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":$a(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":$a(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":$a(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":$a(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":$a(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":$a(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Rl(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=z0.get(a)||a,Rl(e,a,r))}}function Wu(e,t,a,r,n,i){switch(a){case"style":Ng(e,r,i);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(n.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"children":typeof r=="string"?cn(e,r):(typeof r=="number"||typeof r=="bigint")&&cn(e,""+r);break;case"onScroll":r!=null&&qe("scroll",e);break;case"onScrollEnd":r!=null&&qe("scrollend",e);break;case"onClick":r!=null&&(e.onclick=er);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!vg.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(n=a.endsWith("Capture"),t=a.slice(2,n?a.length-7:void 0),i=e[$t]||null,i=i!=null?i[a]:null,typeof i=="function"&&e.removeEventListener(t,i,n),typeof r=="function")){typeof i!="function"&&i!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,r,n);break e}a in e?e[a]=r:r===!0?e.setAttribute(a,""):Rl(e,a,r)}}}function Et(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":qe("error",e),qe("load",e);var r=!1,n=!1,i;for(i in a)if(a.hasOwnProperty(i)){var o=a[i];if(o!=null)switch(i){case"src":r=!0;break;case"srcSet":n=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Qe(e,t,i,o,a,null)}}n&&Qe(e,t,"srcSet",a.srcSet,a,null),r&&Qe(e,t,"src",a.src,a,null);return;case"input":qe("invalid",e);var l=i=o=n=null,c=null,p=null;for(r in a)if(a.hasOwnProperty(r)){var f=a[r];if(f!=null)switch(r){case"name":n=f;break;case"type":o=f;break;case"checked":c=f;break;case"defaultChecked":p=f;break;case"value":i=f;break;case"defaultValue":l=f;break;case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(B(137,t));break;default:Qe(e,t,r,f,a,null)}}_g(e,i,l,c,p,o,n,!1);return;case"select":qe("invalid",e),r=o=i=null;for(n in a)if(a.hasOwnProperty(n)&&(l=a[n],l!=null))switch(n){case"value":i=l;break;case"defaultValue":o=l;break;case"multiple":r=l;default:Qe(e,t,n,l,a,null)}t=i,a=o,e.multiple=!!r,t!=null?en(e,!!r,t,!1):a!=null&&en(e,!!r,a,!0);return;case"textarea":qe("invalid",e),i=n=r=null;for(o in a)if(a.hasOwnProperty(o)&&(l=a[o],l!=null))switch(o){case"value":r=l;break;case"defaultValue":n=l;break;case"children":i=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(B(91));break;default:Qe(e,t,o,l,a,null)}kg(e,r,n,i);return;case"option":for(c in a)a.hasOwnProperty(c)&&(r=a[c],r!=null)&&(c==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Qe(e,t,c,r,a,null));return;case"dialog":qe("beforetoggle",e),qe("toggle",e),qe("cancel",e),qe("close",e);break;case"iframe":case"object":qe("load",e);break;case"video":case"audio":for(r=0;r<To.length;r++)qe(To[r],e);break;case"image":qe("error",e),qe("load",e);break;case"details":qe("toggle",e);break;case"embed":case"source":case"link":qe("error",e),qe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(p in a)if(a.hasOwnProperty(p)&&(r=a[p],r!=null))switch(p){case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Qe(e,t,p,r,a,null)}return;default:if(gp(t)){for(f in a)a.hasOwnProperty(f)&&(r=a[f],r!==void 0&&Wu(e,t,f,r,a,void 0));return}}for(l in a)a.hasOwnProperty(l)&&(r=a[l],r!=null&&Qe(e,t,l,r,a,null))}function a1(e,t,a,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var n=null,i=null,o=null,l=null,c=null,p=null,f=null;for(h in a){var b=a[h];if(a.hasOwnProperty(h)&&b!=null)switch(h){case"checked":break;case"value":break;case"defaultValue":c=b;default:r.hasOwnProperty(h)||Qe(e,t,h,null,r,b)}}for(var d in r){var h=r[d];if(b=a[d],r.hasOwnProperty(d)&&(h!=null||b!=null))switch(d){case"type":i=h;break;case"name":n=h;break;case"checked":p=h;break;case"defaultChecked":f=h;break;case"value":o=h;break;case"defaultValue":l=h;break;case"children":case"dangerouslySetInnerHTML":if(h!=null)throw Error(B(137,t));break;default:h!==b&&Qe(e,t,d,h,r,b)}}Nu(e,o,l,c,p,f,i,n);return;case"select":h=o=l=d=null;for(i in a)if(c=a[i],a.hasOwnProperty(i)&&c!=null)switch(i){case"value":break;case"multiple":h=c;default:r.hasOwnProperty(i)||Qe(e,t,i,null,r,c)}for(n in r)if(i=r[n],c=a[n],r.hasOwnProperty(n)&&(i!=null||c!=null))switch(n){case"value":d=i;break;case"defaultValue":l=i;break;case"multiple":o=i;default:i!==c&&Qe(e,t,n,i,r,c)}t=l,a=o,r=h,d!=null?en(e,!!a,d,!1):!!r!=!!a&&(t!=null?en(e,!!a,t,!0):en(e,!!a,a?[]:"",!1));return;case"textarea":h=d=null;for(l in a)if(n=a[l],a.hasOwnProperty(l)&&n!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:Qe(e,t,l,null,r,n)}for(o in r)if(n=r[o],i=a[o],r.hasOwnProperty(o)&&(n!=null||i!=null))switch(o){case"value":d=n;break;case"defaultValue":h=n;break;case"children":break;case"dangerouslySetInnerHTML":if(n!=null)throw Error(B(91));break;default:n!==i&&Qe(e,t,o,n,r,i)}xg(e,d,h);return;case"option":for(var w in a)d=a[w],a.hasOwnProperty(w)&&d!=null&&!r.hasOwnProperty(w)&&(w==="selected"?e.selected=!1:Qe(e,t,w,null,r,d));for(c in r)d=r[c],h=a[c],r.hasOwnProperty(c)&&d!==h&&(d!=null||h!=null)&&(c==="selected"?e.selected=d&&typeof d!="function"&&typeof d!="symbol":Qe(e,t,c,d,r,h));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var M in a)d=a[M],a.hasOwnProperty(M)&&d!=null&&!r.hasOwnProperty(M)&&Qe(e,t,M,null,r,d);for(p in r)if(d=r[p],h=a[p],r.hasOwnProperty(p)&&d!==h&&(d!=null||h!=null))switch(p){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(B(137,t));break;default:Qe(e,t,p,d,r,h)}return;default:if(gp(t)){for(var D in a)d=a[D],a.hasOwnProperty(D)&&d!==void 0&&!r.hasOwnProperty(D)&&Wu(e,t,D,void 0,r,d);for(f in r)d=r[f],h=a[f],!r.hasOwnProperty(f)||d===h||d===void 0&&h===void 0||Wu(e,t,f,d,r,h);return}}for(var m in a)d=a[m],a.hasOwnProperty(m)&&d!=null&&!r.hasOwnProperty(m)&&Qe(e,t,m,null,r,d);for(b in r)d=r[b],h=a[b],!r.hasOwnProperty(b)||d===h||d==null&&h==null||Qe(e,t,b,d,r,h)}function Lf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function r1(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),r=0;r<a.length;r++){var n=a[r],i=n.transferSize,o=n.initiatorType,l=n.duration;if(i&&l&&Lf(o)){for(o=0,l=n.responseEnd,r+=1;r<a.length;r++){var c=a[r],p=c.startTime;if(p>l)break;var f=c.transferSize,b=c.initiatorType;f&&Lf(b)&&(c=c.responseEnd,o+=f*(c<l?1:(l-p)/(c-p)))}if(--r,t+=8*(i+o)/(n.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ep=null,tp=null;function bs(e){return e.nodeType===9?e:e.ownerDocument}function Hf(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Eb(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function ap(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var du=null;function i1(){var e=window.event;return e&&e.type==="popstate"?e===du?!1:(du=e,!0):(du=null,!1)}var Mb=typeof setTimeout=="function"?setTimeout:void 0,n1=typeof clearTimeout=="function"?clearTimeout:void 0,jf=typeof Promise=="function"?Promise:void 0,o1=typeof queueMicrotask=="function"?queueMicrotask:typeof jf<"u"?function(e){return jf.resolve(null).then(e).catch(l1)}:Mb;function l1(e){setTimeout(function(){throw e})}function Xr(e){return e==="head"}function Gf(e,t){var a=t,r=0;do{var n=a.nextSibling;if(e.removeChild(a),n&&n.nodeType===8)if(a=n.data,a==="/$"||a==="/&"){if(r===0){e.removeChild(n),bn(t);return}r--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")r++;else if(a==="html")yo(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,yo(a);for(var i=a.firstChild;i;){var o=i.nextSibling,l=i.nodeName;i[Ho]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&i.rel.toLowerCase()==="stylesheet"||a.removeChild(i),i=o}}else a==="body"&&yo(e.ownerDocument.body);a=n}while(a);bn(t)}function Qf(e,t){var a=e;e=0;do{var r=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=r}while(a)}function rp(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":rp(a),fp(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function s1(e,t,a,r){for(;e.nodeType===1;){var n=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Ho])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==n.rel||e.getAttribute("href")!==(n.href==null||n.href===""?null:n.href)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin)||e.getAttribute("title")!==(n.title==null?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(n.src==null?null:n.src)||e.getAttribute("type")!==(n.type==null?null:n.type)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=n.name==null?null:""+n.name;if(n.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=ya(e.nextSibling),e===null)break}return null}function c1(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=ya(e.nextSibling),e===null))return null;return e}function Tb(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=ya(e.nextSibling),e===null))return null;return e}function ip(e){return e.data==="$?"||e.data==="$~"}function np(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function u1(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var r=function(){t(),a.removeEventListener("DOMContentLoaded",r)};a.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function ya(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var op=null;function Yf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return ya(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Vf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function zb(e,t,a){switch(t=bs(a),e){case"html":if(e=t.documentElement,!e)throw Error(B(452));return e;case"head":if(e=t.head,!e)throw Error(B(453));return e;case"body":if(e=t.body,!e)throw Error(B(454));return e;default:throw Error(B(451))}}function yo(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);fp(e)}var _a=new Map,Xf=new Set;function vs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var ur=De.d;De.d={f:p1,r:d1,D:m1,C:f1,L:g1,m:h1,X:v1,S:b1,M:w1};function p1(){var e=ur.f(),t=Ds();return e||t}function d1(e){var t=wn(e);t!==null&&t.tag===5&&t.type==="form"?Nh(t):ur.r(e)}var kn=typeof document>"u"?null:document;function Ab(e,t,a){var r=kn;if(r&&typeof t=="string"&&t){var n=ha(t);n='link[rel="'+e+'"][href="'+n+'"]',typeof a=="string"&&(n+='[crossorigin="'+a+'"]'),Xf.has(n)||(Xf.add(n),e={rel:e,crossOrigin:a,href:t},r.querySelector(n)===null&&(t=r.createElement("link"),Et(t,"link",e),xt(t),r.head.appendChild(t)))}}function m1(e){ur.D(e),Ab("dns-prefetch",e,null)}function f1(e,t){ur.C(e,t),Ab("preconnect",e,t)}function g1(e,t,a){ur.L(e,t,a);var r=kn;if(r&&e&&t){var n='link[rel="preload"][as="'+ha(t)+'"]';t==="image"&&a&&a.imageSrcSet?(n+='[imagesrcset="'+ha(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(n+='[imagesizes="'+ha(a.imageSizes)+'"]')):n+='[href="'+ha(e)+'"]';var i=n;switch(t){case"style":i=hn(e);break;case"script":i=Nn(e)}_a.has(i)||(e=et({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),_a.set(i,e),r.querySelector(n)!==null||t==="style"&&r.querySelector(Xo(i))||t==="script"&&r.querySelector($o(i))||(t=r.createElement("link"),Et(t,"link",e),xt(t),r.head.appendChild(t)))}}function h1(e,t){ur.m(e,t);var a=kn;if(a&&e){var r=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+ha(r)+'"][href="'+ha(e)+'"]',i=n;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=Nn(e)}if(!_a.has(i)&&(e=et({rel:"modulepreload",href:e},t),_a.set(i,e),a.querySelector(n)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector($o(i)))return}r=a.createElement("link"),Et(r,"link",e),xt(r),a.head.appendChild(r)}}}function b1(e,t,a){ur.S(e,t,a);var r=kn;if(r&&e){var n=Wi(r).hoistableStyles,i=hn(e);t=t||"default";var o=n.get(i);if(!o){var l={loading:0,preload:null};if(o=r.querySelector(Xo(i)))l.loading=5;else{e=et({rel:"stylesheet",href:e,"data-precedence":t},a),(a=_a.get(i))&&Wp(e,a);var c=o=r.createElement("link");xt(c),Et(c,"link",e),c._p=new Promise(function(p,f){c.onload=p,c.onerror=f}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,Vl(o,t,r)}o={type:"stylesheet",instance:o,count:1,state:l},n.set(i,o)}}}function v1(e,t){ur.X(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,n=Nn(e),i=r.get(n);i||(i=a.querySelector($o(n)),i||(e=et({src:e,async:!0},t),(t=_a.get(n))&&ed(e,t),i=a.createElement("script"),xt(i),Et(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},r.set(n,i))}}function w1(e,t){ur.M(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,n=Nn(e),i=r.get(n);i||(i=a.querySelector($o(n)),i||(e=et({src:e,async:!0,type:"module"},t),(t=_a.get(n))&&ed(e,t),i=a.createElement("script"),xt(i),Et(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},r.set(n,i))}}function $f(e,t,a,r){var n=(n=zr.current)?vs(n):null;if(!n)throw Error(B(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=hn(a.href),a=Wi(n).hoistableStyles,r=a.get(t),r||(r={type:"style",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=hn(a.href);var i=Wi(n).hoistableStyles,o=i.get(e);if(o||(n=n.ownerDocument||n,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,o),(i=n.querySelector(Xo(e)))&&!i._p&&(o.instance=i,o.state.loading=5),_a.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},_a.set(e,a),i||y1(n,e,a,o.state))),t&&r===null)throw Error(B(528,""));return o}if(t&&r!==null)throw Error(B(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Nn(a),a=Wi(n).hoistableScripts,r=a.get(t),r||(r={type:"script",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(B(444,e))}}function hn(e){return'href="'+ha(e)+'"'}function Xo(e){return'link[rel="stylesheet"]['+e+"]"}function Rb(e){return et({},e,{"data-precedence":e.precedence,precedence:null})}function y1(e,t,a,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Et(t,"link",a),xt(t),e.head.appendChild(t))}function Nn(e){return'[src="'+ha(e)+'"]'}function $o(e){return"script[async]"+e}function Zf(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ha(a.href)+'"]');if(r)return t.instance=r,xt(r),r;var n=et({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),xt(r),Et(r,"style",n),Vl(r,a.precedence,e),t.instance=r;case"stylesheet":n=hn(a.href);var i=e.querySelector(Xo(n));if(i)return t.state.loading|=4,t.instance=i,xt(i),i;r=Rb(a),(n=_a.get(n))&&Wp(r,n),i=(e.ownerDocument||e).createElement("link"),xt(i);var o=i;return o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Et(i,"link",r),t.state.loading|=4,Vl(i,a.precedence,e),t.instance=i;case"script":return i=Nn(a.src),(n=e.querySelector($o(i)))?(t.instance=n,xt(n),n):(r=a,(n=_a.get(i))&&(r=et({},a),ed(r,n)),e=e.ownerDocument||e,n=e.createElement("script"),xt(n),Et(n,"link",r),e.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(B(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,Vl(r,a.precedence,e));return t.instance}function Vl(e,t,a){for(var r=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=r.length?r[r.length-1]:null,i=n,o=0;o<r.length;o++){var l=r[o];if(l.dataset.precedence===t)i=l;else if(i!==n)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Wp(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function ed(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Xl=null;function Kf(e,t,a){if(Xl===null){var r=new Map,n=Xl=new Map;n.set(a,r)}else n=Xl,r=n.get(a),r||(r=new Map,n.set(a,r));if(r.has(e))return r;for(r.set(e,null),a=a.getElementsByTagName(e),n=0;n<a.length;n++){var i=a[n];if(!(i[Ho]||i[St]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var o=i.getAttribute(t)||"";o=e+o;var l=r.get(o);l?l.push(i):r.set(o,[i])}}return r}function Pf(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function _1(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ub(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function x1(e,t,a,r){if(a.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var n=hn(r.href),i=t.querySelector(Xo(n));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ws.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=i,xt(i);return}i=t.ownerDocument||t,r=Rb(r),(n=_a.get(n))&&Wp(r,n),i=i.createElement("link"),xt(i);var o=i;o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Et(i,"link",r),a.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ws.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var mu=0;function k1(e,t){return e.stylesheets&&e.count===0&&$l(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var r=setTimeout(function(){if(e.stylesheets&&$l(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&mu===0&&(mu=62500*r1());var n=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&$l(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>mu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(n)}}:null}function ws(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)$l(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ys=null;function $l(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ys=new Map,t.forEach(N1,e),ys=null,ws.call(e))}function N1(e,t){if(!(t.state.loading&4)){var a=ys.get(e);if(a)var r=a.get(null);else{a=new Map,ys.set(e,a);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<n.length;i++){var o=n[i];(o.nodeName==="LINK"||o.getAttribute("media")!=="not all")&&(a.set(o.dataset.precedence,o),r=o)}r&&a.set(null,r)}n=t.instance,o=n.getAttribute("data-precedence"),i=a.get(o)||r,i===r&&a.set(null,n),a.set(o,n),this.count++,r=ws.bind(this),n.addEventListener("load",r),n.addEventListener("error",r),i?i.parentNode.insertBefore(n,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(n,e.firstChild)),t.state.loading|=4}}var Ao={$$typeof:Wa,Provider:null,Consumer:null,_currentValue:ii,_currentValue2:ii,_threadCount:0};function S1(e,t,a,r,n,i,o,l,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Hc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hc(0),this.hiddenUpdates=Hc(null),this.identifierPrefix=r,this.onUncaughtError=n,this.onCaughtError=i,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function Db(e,t,a,r,n,i,o,l,c,p,f,b){return e=new S1(e,t,a,o,c,p,f,b,l),t=1,i===!0&&(t|=24),i=aa(3,null,null,t),e.current=i,i.stateNode=e,t=Cp(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:r,isDehydrated:a,cache:t},Mp(i),e}function Bb(e){return e?(e=Pi,e):Pi}function Ob(e,t,a,r,n,i){n=Bb(n),r.context===null?r.context=n:r.pendingContext=n,r=Rr(t),r.payload={element:a},i=i===void 0?null:i,i!==null&&(r.callback=i),a=Ur(e,r,t),a!==null&&(Xt(a,e,t),po(a,e,t))}function Jf(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function td(e,t){Jf(e,t),(e=e.alternate)&&Jf(e,t)}function Lb(e){if(e.tag===13||e.tag===31){var t=bi(e,67108864);t!==null&&Xt(t,e,67108864),td(e,67108864)}}function Ff(e){if(e.tag===13||e.tag===31){var t=la();t=dp(t);var a=bi(e,t);a!==null&&Xt(a,e,t),td(e,t)}}var _s=!0;function C1(e,t,a,r){var n=me.T;me.T=null;var i=De.p;try{De.p=2,ad(e,t,a,r)}finally{De.p=i,me.T=n}}function q1(e,t,a,r){var n=me.T;me.T=null;var i=De.p;try{De.p=8,ad(e,t,a,r)}finally{De.p=i,me.T=n}}function ad(e,t,a,r){if(_s){var n=lp(r);if(n===null)pu(e,t,r,xs,a),If(e,r);else if(M1(n,e,t,a,r))r.stopPropagation();else if(If(e,r),t&4&&-1<E1.indexOf(e)){for(;n!==null;){var i=wn(n);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var o=ti(i.pendingLanes);if(o!==0){var l=i;for(l.pendingLanes|=2,l.entangledLanes|=2;o;){var c=1<<31-oa(o);l.entanglements[1]|=c,o&=~c}ja(i),(Ue&6)===0&&(ps=ia()+500,Vo(0,!1))}}break;case 31:case 13:l=bi(i,2),l!==null&&Xt(l,i,2),Ds(),td(i,2)}if(i=lp(r),i===null&&pu(e,t,r,xs,a),i===n)break;n=i}n!==null&&r.stopPropagation()}else pu(e,t,r,null,a)}}function lp(e){return e=hp(e),rd(e)}var xs=null;function rd(e){if(xs=null,e=Yi(e),e!==null){var t=Do(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=ig(t),e!==null)return e;e=null}else if(a===31){if(e=ng(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xs=e,null}function Hb(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(g0()){case cg:return 2;case ug:return 8;case Fl:case h0:return 32;case pg:return 268435456;default:return 32}default:return 32}}var sp=!1,Or=null,Lr=null,Hr=null,Ro=new Map,Uo=new Map,Sr=[],E1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function If(e,t){switch(e){case"focusin":case"focusout":Or=null;break;case"dragenter":case"dragleave":Lr=null;break;case"mouseover":case"mouseout":Hr=null;break;case"pointerover":case"pointerout":Ro.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Uo.delete(t.pointerId)}}function eo(e,t,a,r,n,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:i,targetContainers:[n]},t!==null&&(t=wn(t),t!==null&&Lb(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function M1(e,t,a,r,n){switch(t){case"focusin":return Or=eo(Or,e,t,a,r,n),!0;case"dragenter":return Lr=eo(Lr,e,t,a,r,n),!0;case"mouseover":return Hr=eo(Hr,e,t,a,r,n),!0;case"pointerover":var i=n.pointerId;return Ro.set(i,eo(Ro.get(i)||null,e,t,a,r,n)),!0;case"gotpointercapture":return i=n.pointerId,Uo.set(i,eo(Uo.get(i)||null,e,t,a,r,n)),!0}return!1}function jb(e){var t=Yi(e.target);if(t!==null){var a=Do(t);if(a!==null){if(t=a.tag,t===13){if(t=ig(a),t!==null){e.blockedOn=t,Um(e.priority,function(){Ff(a)});return}}else if(t===31){if(t=ng(a),t!==null){e.blockedOn=t,Um(e.priority,function(){Ff(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Zl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=lp(e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);Cu=r,a.target.dispatchEvent(r),Cu=null}else return t=wn(a),t!==null&&Lb(t),e.blockedOn=a,!1;t.shift()}return!0}function Wf(e,t,a){Zl(e)&&a.delete(t)}function T1(){sp=!1,Or!==null&&Zl(Or)&&(Or=null),Lr!==null&&Zl(Lr)&&(Lr=null),Hr!==null&&Zl(Hr)&&(Hr=null),Ro.forEach(Wf),Uo.forEach(Wf)}function zl(e,t){e.blockedOn===t&&(e.blockedOn=null,sp||(sp=!0,wt.unstable_scheduleCallback(wt.unstable_NormalPriority,T1)))}var Al=null;function eg(e){Al!==e&&(Al=e,wt.unstable_scheduleCallback(wt.unstable_NormalPriority,function(){Al===e&&(Al=null);for(var t=0;t<e.length;t+=3){var a=e[t],r=e[t+1],n=e[t+2];if(typeof r!="function"){if(rd(r||a)===null)continue;break}var i=wn(a);i!==null&&(e.splice(t,3),t-=3,Qu(i,{pending:!0,data:n,method:a.method,action:r},r,n))}}))}function bn(e){function t(c){return zl(c,e)}Or!==null&&zl(Or,e),Lr!==null&&zl(Lr,e),Hr!==null&&zl(Hr,e),Ro.forEach(t),Uo.forEach(t);for(var a=0;a<Sr.length;a++){var r=Sr[a];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Sr.length&&(a=Sr[0],a.blockedOn===null);)jb(a),a.blockedOn===null&&Sr.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(r=0;r<a.length;r+=3){var n=a[r],i=a[r+1],o=n[$t]||null;if(typeof i=="function")o||eg(a);else if(o){var l=null;if(i&&i.hasAttribute("formAction")){if(n=i,o=i[$t]||null)l=o.formAction;else if(rd(n)!==null)continue}else l=o.action;typeof l=="function"?a[r+1]=l:(a.splice(r,3),r-=3),eg(a)}}}function Gb(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(o){return n=o})},focusReset:"manual",scroll:"manual"})}function t(){n!==null&&(n(),n=null),r||setTimeout(a,20)}function a(){if(!r&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,n=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),n!==null&&(n(),n=null)}}}function id(e){this._internalRoot=e}Ls.prototype.render=id.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(B(409));var a=t.current,r=la();Ob(a,r,e,t,null,null)};Ls.prototype.unmount=id.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ob(e.current,2,null,e,null,null),Ds(),t[vn]=null}};function Ls(e){this._internalRoot=e}Ls.prototype.unstable_scheduleHydration=function(e){if(e){var t=hg();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Sr.length&&t!==0&&t<Sr[a].priority;a++);Sr.splice(a,0,e),a===0&&jb(e)}};var tg=ag.version;if(tg!=="19.2.3")throw Error(B(527,tg,"19.2.3"));De.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(B(188)):(e=Object.keys(e).join(","),Error(B(268,e)));return e=s0(t),e=e!==null?og(e):null,e=e===null?null:e.stateNode,e};var z1={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:me,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(to=__REACT_DEVTOOLS_GLOBAL_HOOK__,!to.isDisabled&&to.supportsFiber))try{Bo=to.inject(z1),na=to}catch{}var to;Hs.createRoot=function(e,t){if(!rg(e))throw Error(B(299));var a=!1,r="",n=Ah,i=Rh,o=Uh;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(n=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Db(e,1,!1,null,null,a,r,null,n,i,o,Gb),e[vn]=t.current,Ip(e),new id(t)};Hs.hydrateRoot=function(e,t,a){if(!rg(e))throw Error(B(299));var r=!1,n="",i=Ah,o=Rh,l=Uh,c=null;return a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onUncaughtError!==void 0&&(i=a.onUncaughtError),a.onCaughtError!==void 0&&(o=a.onCaughtError),a.onRecoverableError!==void 0&&(l=a.onRecoverableError),a.formState!==void 0&&(c=a.formState)),t=Db(e,1,!0,t,a??null,r,n,c,i,o,l,Gb),t.context=Bb(null),a=t.current,r=la(),r=dp(r),n=Rr(r),n.callback=null,Ur(a,n,r),a=r,t.current.lanes=a,Lo(t,a),ja(t),e[vn]=t.current,Ip(e),new Ls(t)};Hs.version="19.2.3"});var Xb=Ra((px,Vb)=>{"use strict";function Yb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Yb)}catch(e){console.error(e)}}Yb(),Vb.exports=Qb()});var Bv=Ra(Ys=>{"use strict";var H1=Symbol.for("react.transitional.element"),j1=Symbol.for("react.fragment");function Dv(e,t,a){var r=null;if(a!==void 0&&(r=""+a),t.key!==void 0&&(r=""+t.key),"key"in t){a={};for(var n in t)n!=="key"&&(a[n]=t[n])}else a=t;return t=a.ref,{$$typeof:H1,type:e,key:r,ref:t!==void 0?t:null,props:a}}Ys.Fragment=j1;Ys.jsx=Dv;Ys.jsxs=Dv});var ae=Ra((Lk,Ov)=>{"use strict";Ov.exports=Bv()});var Tw=Y(Xb());var $b=`/* Every rule is scoped to .app-wrapper, the root of each widget, so nothing here styles
8
+ `+r.stack}}var _u=Object.prototype.hasOwnProperty,pp=_t.unstable_scheduleCallback,Lc=_t.unstable_cancelCallback,f0=_t.unstable_shouldYield,g0=_t.unstable_requestPaint,ia=_t.unstable_now,h0=_t.unstable_getCurrentPriorityLevel,ug=_t.unstable_ImmediatePriority,pg=_t.unstable_UserBlockingPriority,Fl=_t.unstable_NormalPriority,b0=_t.unstable_LowPriority,dg=_t.unstable_IdlePriority,v0=_t.log,w0=_t.unstable_setDisableYieldValue,Bo=null,na=null;function Cr(e){if(typeof v0=="function"&&w0(e),na&&typeof na.setStrictMode=="function")try{na.setStrictMode(Bo,e)}catch{}}var oa=Math.clz32?Math.clz32:x0,y0=Math.log,_0=Math.LN2;function x0(e){return e>>>=0,e===0?32:31-(y0(e)/_0|0)|0}var hl=256,bl=262144,vl=4194304;function ti(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ks(e,t,a){var r=e.pendingLanes;if(r===0)return 0;var n=0,i=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~i,r!==0?n=ti(r):(o&=l,o!==0?n=ti(o):a||(a=l&~e,a!==0&&(n=ti(a))))):(l=r&~i,l!==0?n=ti(l):o!==0?n=ti(o):a||(a=r&~e,a!==0&&(n=ti(a)))),n===0?0:t!==0&&t!==n&&(t&i)===0&&(i=n&-n,a=t&-t,i>=a||i===32&&(a&4194048)!==0)?t:n}function Oo(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function k0(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function mg(){var e=vl;return vl<<=1,(vl&62914560)===0&&(vl=4194304),e}function Hc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Lo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function N0(e,t,a,r,n,i){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var l=e.entanglements,c=e.expirationTimes,p=e.hiddenUpdates;for(a=o&~a;0<a;){var f=31-oa(a),b=1<<f;l[f]=0,c[f]=-1;var d=p[f];if(d!==null)for(p[f]=null,f=0;f<d.length;f++){var h=d[f];h!==null&&(h.lane&=-536870913)}a&=~b}r!==0&&fg(e,r,0),i!==0&&n===0&&e.tag!==0&&(e.suspendedLanes|=i&~(o&~t))}function fg(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-oa(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|a&261930}function gg(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-oa(a),n=1<<r;n&t|e[r]&t&&(e[r]|=t),a&=~n}}function hg(e,t){var a=t&-t;return a=(a&42)!==0?1:dp(a),(a&(e.suspendedLanes|t))!==0?0:a}function dp(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function mp(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function bg(){var e=De.p;return e!==0?e:(e=window.event,e===void 0?32:jb(e.type))}function Dm(e,t){var a=De.p;try{return De.p=e,t()}finally{De.p=a}}var Vr=Math.random().toString(36).slice(2),qt="__reactFiber$"+Vr,$t="__reactProps$"+Vr,vn="__reactContainer$"+Vr,xu="__reactEvents$"+Vr,S0="__reactListeners$"+Vr,C0="__reactHandles$"+Vr,Bm="__reactResources$"+Vr,Ho="__reactMarker$"+Vr;function fp(e){delete e[qt],delete e[$t],delete e[xu],delete e[S0],delete e[C0]}function Yi(e){var t=e[qt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[vn]||a[qt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Xf(e);e!==null;){if(a=e[qt])return a;e=Xf(e)}return t}e=a,a=e.parentNode}return null}function wn(e){if(e=e[qt]||e[vn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function io(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(B(33))}function Wi(e){var t=e[Bm];return t||(t=e[Bm]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Nt(e){e[Ho]=!0}var vg=new Set,wg={};function fi(e,t){sn(e,t),sn(e+"Capture",t)}function sn(e,t){for(wg[e]=t,e=0;e<t.length;e++)vg.add(t[e])}var q0=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Om={},Lm={};function E0(e){return _u.call(Lm,e)?!0:_u.call(Om,e)?!1:q0.test(e)?Lm[e]=!0:(Om[e]=!0,!1)}function Rl(e,t,a){if(E0(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function wl(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function $a(e,t,a,r){if(r===null)e.removeAttribute(a);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+r)}}function ma(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function yg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function M0(e,t,a){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var n=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(o){a=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ku(e){if(!e._valueTracker){var t=yg(e)?"checked":"value";e._valueTracker=M0(e,t,""+e[t])}}function _g(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=yg(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function Il(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var T0=/[\n"\\]/g;function ha(e){return e.replace(T0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Nu(e,t,a,r,n,i,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+ma(t)):e.value!==""+ma(t)&&(e.value=""+ma(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Su(e,o,ma(t)):a!=null?Su(e,o,ma(a)):r!=null&&e.removeAttribute("value"),n==null&&i!=null&&(e.defaultChecked=!!i),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+ma(l):e.removeAttribute("name")}function xg(e,t,a,r,n,i,o,l){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||a!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){ku(e);return}a=a!=null?""+ma(a):"",t=t!=null?""+ma(t):a,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??n,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),ku(e)}function Su(e,t,a){t==="number"&&Il(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function en(e,t,a,r){if(e=e.options,t){t={};for(var n=0;n<a.length;n++)t["$"+a[n]]=!0;for(a=0;a<e.length;a++)n=t.hasOwnProperty("$"+e[a].value),e[a].selected!==n&&(e[a].selected=n),n&&r&&(e[a].defaultSelected=!0)}else{for(a=""+ma(a),t=null,n=0;n<e.length;n++){if(e[n].value===a){e[n].selected=!0,r&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function kg(e,t,a){if(t!=null&&(t=""+ma(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+ma(a):""}function Ng(e,t,a,r){if(t==null){if(r!=null){if(a!=null)throw Error(B(92));if(ro(r)){if(1<r.length)throw Error(B(93));r=r[0]}a=r}a==null&&(a=""),t=a}a=ma(t),e.defaultValue=a,r=e.textContent,r===a&&r!==""&&r!==null&&(e.value=r),ku(e)}function cn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var z0=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Hm(e,t,a){var r=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,a):typeof a!="number"||a===0||z0.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Sg(e,t,a){if(t!=null&&typeof t!="object")throw Error(B(62));if(e=e.style,a!=null){for(var r in a)!a.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var n in t)r=t[n],t.hasOwnProperty(n)&&a[n]!==r&&Hm(e,n,r)}else for(var i in t)t.hasOwnProperty(i)&&Hm(e,i,t[i])}function gp(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var A0=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),R0=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ul(e){return R0.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function er(){}var Cu=null;function hp(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Vi=null,tn=null;function jm(e){var t=wn(e);if(t&&(e=t.stateNode)){var a=e[$t]||null;e:switch(e=t.stateNode,t.type){case"input":if(Nu(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+ha(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var n=r[$t]||null;if(!n)throw Error(B(90));Nu(r,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name)}}for(t=0;t<a.length;t++)r=a[t],r.form===e.form&&_g(r)}break e;case"textarea":kg(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&en(e,!!a.multiple,t,!1)}}}var jc=!1;function Cg(e,t,a){if(jc)return e(t,a);jc=!0;try{var r=e(t);return r}finally{if(jc=!1,(Vi!==null||tn!==null)&&(Ds(),Vi&&(t=Vi,e=tn,tn=Vi=null,jm(t),e)))for(t=0;t<e.length;t++)jm(e[t])}}function xo(e,t){var a=e.stateNode;if(a===null)return null;var r=a[$t]||null;if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(B(231,t,typeof a));return a}var nr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),qu=!1;if(nr)try{Bi={},Object.defineProperty(Bi,"passive",{get:function(){qu=!0}}),window.addEventListener("test",Bi,Bi),window.removeEventListener("test",Bi,Bi)}catch{qu=!1}var Bi,qr=null,bp=null,Dl=null;function qg(){if(Dl)return Dl;var e,t=bp,a=t.length,r,n="value"in qr?qr.value:qr.textContent,i=n.length;for(e=0;e<a&&t[e]===n[e];e++);var o=a-e;for(r=1;r<=o&&t[a-r]===n[i-r];r++);return Dl=n.slice(e,1<r?1-r:void 0)}function Bl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yl(){return!0}function Gm(){return!1}function Zt(e){function t(a,r,n,i,o){this._reactName=a,this._targetInst=n,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(a=e[l],this[l]=a?a(i):i[l]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yl:Gm,this.isPropagationStopped=Gm,this}return it(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=yl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=yl)},persist:function(){},isPersistent:yl}),t}var gi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=Zt(gi),jo=it({},gi,{view:0,detail:0}),U0=Zt(jo),Gc,Qc,Jn,Ss=it({},jo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vp,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Jn&&(Jn&&e.type==="mousemove"?(Gc=e.screenX-Jn.screenX,Qc=e.screenY-Jn.screenY):Qc=Gc=0,Jn=e),Gc)},movementY:function(e){return"movementY"in e?e.movementY:Qc}}),Qm=Zt(Ss),D0=it({},Ss,{dataTransfer:0}),B0=Zt(D0),O0=it({},jo,{relatedTarget:0}),Yc=Zt(O0),L0=it({},gi,{animationName:0,elapsedTime:0,pseudoElement:0}),H0=Zt(L0),j0=it({},gi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),G0=Zt(j0),Q0=it({},gi,{data:0}),Ym=Zt(Q0),Y0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},V0={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},X0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function $0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=X0[e])?!!t[e]:!1}function vp(){return $0}var Z0=it({},jo,{key:function(e){if(e.key){var t=Y0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Bl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?V0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vp,charCode:function(e){return e.type==="keypress"?Bl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Bl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),K0=Zt(Z0),P0=it({},Ss,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Vm=Zt(P0),J0=it({},jo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vp}),F0=Zt(J0),I0=it({},gi,{propertyName:0,elapsedTime:0,pseudoElement:0}),W0=Zt(I0),ey=it({},Ss,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ty=Zt(ey),ay=it({},gi,{newState:0,oldState:0}),ry=Zt(ay),iy=[9,13,27,32],wp=nr&&"CompositionEvent"in window,lo=null;nr&&"documentMode"in document&&(lo=document.documentMode);var ny=nr&&"TextEvent"in window&&!lo,Eg=nr&&(!wp||lo&&8<lo&&11>=lo),Xm=" ",$m=!1;function Mg(e,t){switch(e){case"keyup":return iy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xi=!1;function oy(e,t){switch(e){case"compositionend":return Tg(t);case"keypress":return t.which!==32?null:($m=!0,Xm);case"textInput":return e=t.data,e===Xm&&$m?null:e;default:return null}}function ly(e,t){if(Xi)return e==="compositionend"||!wp&&Mg(e,t)?(e=qg(),Dl=bp=qr=null,Xi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Eg&&t.locale!=="ko"?null:t.data;default:return null}}var sy={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!sy[e.type]:t==="textarea"}function zg(e,t,a,r){Vi?tn?tn.push(r):tn=[r]:Vi=r,t=hs(t,"onChange"),0<t.length&&(a=new Ns("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var so=null,ko=null;function cy(e){Cb(e,0)}function Cs(e){var t=io(e);if(_g(t))return e}function Km(e,t){if(e==="change")return t}var Ag=!1;nr&&(nr?(xl="oninput"in document,xl||(Vc=document.createElement("div"),Vc.setAttribute("oninput","return;"),xl=typeof Vc.oninput=="function"),_l=xl):_l=!1,Ag=_l&&(!document.documentMode||9<document.documentMode));var _l,xl,Vc;function Pm(){so&&(so.detachEvent("onpropertychange",Rg),ko=so=null)}function Rg(e){if(e.propertyName==="value"&&Cs(ko)){var t=[];zg(t,ko,e,hp(e)),Cg(cy,t)}}function uy(e,t,a){e==="focusin"?(Pm(),so=t,ko=a,so.attachEvent("onpropertychange",Rg)):e==="focusout"&&Pm()}function py(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cs(ko)}function dy(e,t){if(e==="click")return Cs(t)}function my(e,t){if(e==="input"||e==="change")return Cs(t)}function fy(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sa=typeof Object.is=="function"?Object.is:fy;function No(e,t){if(sa(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var n=a[r];if(!_u.call(t,n)||!sa(e[n],t[n]))return!1}return!0}function Jm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fm(e,t){var a=Jm(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Jm(a)}}function Ug(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ug(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Dg(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Il(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Il(e.document)}return t}function yp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var gy=nr&&"documentMode"in document&&11>=document.documentMode,$i=null,Eu=null,co=null,Mu=!1;function Im(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Mu||$i==null||$i!==Il(r)||(r=$i,"selectionStart"in r&&yp(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),co&&No(co,r)||(co=r,r=hs(Eu,"onSelect"),0<r.length&&(t=new Ns("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=$i)))}function Wr(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Zi={animationend:Wr("Animation","AnimationEnd"),animationiteration:Wr("Animation","AnimationIteration"),animationstart:Wr("Animation","AnimationStart"),transitionrun:Wr("Transition","TransitionRun"),transitionstart:Wr("Transition","TransitionStart"),transitioncancel:Wr("Transition","TransitionCancel"),transitionend:Wr("Transition","TransitionEnd")},Xc={},Bg={};nr&&(Bg=document.createElement("div").style,"AnimationEvent"in window||(delete Zi.animationend.animation,delete Zi.animationiteration.animation,delete Zi.animationstart.animation),"TransitionEvent"in window||delete Zi.transitionend.transition);function hi(e){if(Xc[e])return Xc[e];if(!Zi[e])return e;var t=Zi[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Bg)return Xc[e]=t[a];return e}var Og=hi("animationend"),Lg=hi("animationiteration"),Hg=hi("animationstart"),hy=hi("transitionrun"),by=hi("transitionstart"),vy=hi("transitioncancel"),jg=hi("transitionend"),Gg=new Map,Tu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Tu.push("scrollEnd");function Aa(e,t){Gg.set(e,t),fi(t,[e])}var Wl=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},da=[],Ki=0,_p=0;function qs(){for(var e=Ki,t=_p=Ki=0;t<e;){var a=da[t];da[t++]=null;var r=da[t];da[t++]=null;var n=da[t];da[t++]=null;var i=da[t];if(da[t++]=null,r!==null&&n!==null){var o=r.pending;o===null?n.next=n:(n.next=o.next,o.next=n),r.pending=n}i!==0&&Qg(a,n,i)}}function Es(e,t,a,r){da[Ki++]=e,da[Ki++]=t,da[Ki++]=a,da[Ki++]=r,_p|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function xp(e,t,a,r){return Es(e,t,a,r),es(e)}function bi(e,t){return Es(e,null,null,t),es(e)}function Qg(e,t,a){e.lanes|=a;var r=e.alternate;r!==null&&(r.lanes|=a);for(var n=!1,i=e.return;i!==null;)i.childLanes|=a,r=i.alternate,r!==null&&(r.childLanes|=a),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(n=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,n&&t!==null&&(n=31-oa(a),e=i.hiddenUpdates,r=e[n],r===null?e[n]=[t]:r.push(t),t.lane=a|536870912),i):null}function es(e){if(50<wo)throw wo=0,Fu=null,Error(B(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Pi={};function wy(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function aa(e,t,a,r){return new wy(e,t,a,r)}function kp(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ar(e,t){var a=e.alternate;return a===null?(a=aa(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Yg(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ol(e,t,a,r,n,i){var o=0;if(r=e,typeof e=="function")kp(e)&&(o=1);else if(typeof e=="string")o=x1(e,a,La.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case bu:return e=aa(31,a,t,n),e.elementType=bu,e.lanes=i,e;case Gi:return ni(a.children,n,i,t);case sg:o=8,n|=24;break;case fu:return e=aa(12,a,t,n|2),e.elementType=fu,e.lanes=i,e;case gu:return e=aa(13,a,t,n),e.elementType=gu,e.lanes=i,e;case hu:return e=aa(19,a,t,n),e.elementType=hu,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Wa:o=10;break e;case cg:o=9;break e;case cp:o=11;break e;case up:o=14;break e;case yr:o=16,r=null;break e}o=29,a=Error(B(130,e===null?"null":typeof e,"")),r=null}return t=aa(o,a,t,n),t.elementType=e,t.type=r,t.lanes=i,t}function ni(e,t,a,r){return e=aa(7,e,r,t),e.lanes=a,e}function $c(e,t,a){return e=aa(6,e,null,t),e.lanes=a,e}function Vg(e){var t=aa(18,null,null,0);return t.stateNode=e,t}function Zc(e,t,a){return t=aa(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Wm=new WeakMap;function ba(e,t){if(typeof e=="object"&&e!==null){var a=Wm.get(e);return a!==void 0?a:(t={value:e,source:t,stack:Um(t)},Wm.set(e,t),t)}return{value:e,source:t,stack:Um(t)}}var Ji=[],Fi=0,ts=null,So=0,fa=[],ga=0,jr=null,Da=1,Ba="";function Fa(e,t){Ji[Fi++]=So,Ji[Fi++]=ts,ts=e,So=t}function Xg(e,t,a){fa[ga++]=Da,fa[ga++]=Ba,fa[ga++]=jr,jr=e;var r=Da;e=Ba;var n=32-oa(r)-1;r&=~(1<<n),a+=1;var i=32-oa(t)+n;if(30<i){var o=n-n%5;i=(r&(1<<o)-1).toString(32),r>>=o,n-=o,Da=1<<32-oa(t)+n|a<<n|r,Ba=i+e}else Da=1<<i|a<<n|r,Ba=e}function Np(e){e.return!==null&&(Fa(e,1),Xg(e,1,0))}function Sp(e){for(;e===ts;)ts=Ji[--Fi],Ji[Fi]=null,So=Ji[--Fi],Ji[Fi]=null;for(;e===jr;)jr=fa[--ga],fa[ga]=null,Ba=fa[--ga],fa[ga]=null,Da=fa[--ga],fa[ga]=null}function $g(e,t){fa[ga++]=Da,fa[ga++]=Ba,fa[ga++]=jr,Da=t.id,Ba=t.overflow,jr=e}var Et=null,rt=null,Te=!1,Ar=null,va=!1,zu=Error(B(519));function Gr(e){var t=Error(B(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Co(ba(t,e)),zu}function ef(e){var t=e.stateNode,a=e.type,r=e.memoizedProps;switch(t[qt]=e,t[$t]=r,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<To.length;a++)Ce(To[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),xg(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Ng(t,r.value,r.defaultValue,r.children)}a=r.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||r.suppressHydrationWarning===!0||Eb(t.textContent,a)?(r.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),r.onScroll!=null&&Ce("scroll",t),r.onScrollEnd!=null&&Ce("scrollend",t),r.onClick!=null&&(t.onclick=er),t=!0):t=!1,t||Gr(e,!0)}function tf(e){for(Et=e.return;Et;)switch(Et.tag){case 5:case 31:case 13:va=!1;return;case 27:case 3:va=!0;return;default:Et=Et.return}}function Oi(e){if(e!==Et)return!1;if(!Te)return tf(e),Te=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||ap(e.type,e.memoizedProps)),a=!a),a&&rt&&Gr(e),tf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));rt=Vf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));rt=Vf(e)}else t===27?(t=rt,Xr(e.type)?(e=op,op=null,rt=e):rt=t):rt=Et?ya(e.stateNode.nextSibling):null;return!0}function ci(){rt=Et=null,Te=!1}function Kc(){var e=Ar;return e!==null&&(Vt===null?Vt=e:Vt.push.apply(Vt,e),Ar=null),e}function Co(e){Ar===null?Ar=[e]:Ar.push(e)}var Au=Ha(null),vi=null,tr=null;function xr(e,t,a){Fe(Au,t._currentValue),t._currentValue=a}function rr(e){e._currentValue=Au.current,St(Au)}function Ru(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Uu(e,t,a,r){var n=e.child;for(n!==null&&(n.return=e);n!==null;){var i=n.dependencies;if(i!==null){var o=n.child;i=i.firstContext;e:for(;i!==null;){var l=i;i=n;for(var c=0;c<t.length;c++)if(l.context===t[c]){i.lanes|=a,l=i.alternate,l!==null&&(l.lanes|=a),Ru(i.return,a,e),r||(o=null);break e}i=l.next}}else if(n.tag===18){if(o=n.return,o===null)throw Error(B(341));o.lanes|=a,i=o.alternate,i!==null&&(i.lanes|=a),Ru(o,a,e),o=null}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===e){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}}function yn(e,t,a,r){e=null;for(var n=t,i=!1;n!==null;){if(!i){if((n.flags&524288)!==0)i=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var o=n.alternate;if(o===null)throw Error(B(387));if(o=o.memoizedProps,o!==null){var l=n.type;sa(n.pendingProps.value,o.value)||(e!==null?e.push(l):e=[l])}}else if(n===Kl.current){if(o=n.alternate,o===null)throw Error(B(387));o.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(e!==null?e.push(Ao):e=[Ao])}n=n.return}e!==null&&Uu(t,e,a,r),t.flags|=262144}function as(e){for(e=e.firstContext;e!==null;){if(!sa(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ui(e){vi=e,tr=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Mt(e){return Zg(vi,e)}function kl(e,t){return vi===null&&ui(e),Zg(e,t)}function Zg(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},tr===null){if(e===null)throw Error(B(308));tr=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else tr=tr.next=t;return a}var yy=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},_y=_t.unstable_scheduleCallback,xy=_t.unstable_NormalPriority,vt={$$typeof:Wa,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Cp(){return{controller:new yy,data:new Map,refCount:0}}function Go(e){e.refCount--,e.refCount===0&&_y(xy,function(){e.controller.abort()})}var uo=null,Du=0,un=0,an=null;function ky(e,t){if(uo===null){var a=uo=[];Du=0,un=Fp(),an={status:"pending",value:void 0,then:function(r){a.push(r)}}}return Du++,t.then(af,af),t}function af(){if(--Du===0&&uo!==null){an!==null&&(an.status="fulfilled");var e=uo;uo=null,un=0,an=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ny(e,t){var a=[],r={status:"pending",value:null,reason:null,then:function(n){a.push(n)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var n=0;n<a.length;n++)(0,a[n])(t)},function(n){for(r.status="rejected",r.reason=n,n=0;n<a.length;n++)(0,a[n])(void 0)}),r}var rf=de.S;de.S=function(e,t){lb=ia(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&ky(e,t),rf!==null&&rf(e,t)};var oi=Ha(null);function qp(){var e=oi.current;return e!==null?e:Pe.pooledCache}function Ll(e,t){t===null?Fe(oi,oi.current):Fe(oi,t.pool)}function Kg(){var e=qp();return e===null?null:{parent:vt._currentValue,pool:e}}var _n=Error(B(460)),Ep=Error(B(474)),Ms=Error(B(542)),rs={then:function(){}};function nf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Pg(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(er,er),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,lf(e),e;default:if(typeof t.status=="string")t.then(er,er);else{if(e=Pe,e!==null&&100<e.shellSuspendCounter)throw Error(B(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var n=t;n.status="fulfilled",n.value=r}},function(r){if(t.status==="pending"){var n=t;n.status="rejected",n.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,lf(e),e}throw li=t,_n}}function ai(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(li=a,_n):a}}var li=null;function of(){if(li===null)throw Error(B(459));var e=li;return li=null,e}function lf(e){if(e===_n||e===Ms)throw Error(B(483))}var rn=null,qo=0;function Nl(e){var t=qo;return qo+=1,rn===null&&(rn=[]),Pg(rn,e,t)}function Fn(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Sl(e,t){throw t.$$typeof===u0?Error(B(525)):(e=Object.prototype.toString.call(t),Error(B(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Jg(e){function t(m,u){if(e){var g=m.deletions;g===null?(m.deletions=[u],m.flags|=16):g.push(u)}}function a(m,u){if(!e)return null;for(;u!==null;)t(m,u),u=u.sibling;return null}function r(m){for(var u=new Map;m!==null;)m.key!==null?u.set(m.key,m):u.set(m.index,m),m=m.sibling;return u}function n(m,u){return m=ar(m,u),m.index=0,m.sibling=null,m}function i(m,u,g){return m.index=g,e?(g=m.alternate,g!==null?(g=g.index,g<u?(m.flags|=67108866,u):g):(m.flags|=67108866,u)):(m.flags|=1048576,u)}function o(m){return e&&m.alternate===null&&(m.flags|=67108866),m}function l(m,u,g,v){return u===null||u.tag!==6?(u=$c(g,m.mode,v),u.return=m,u):(u=n(u,g),u.return=m,u)}function c(m,u,g,v){var N=g.type;return N===Gi?f(m,u,g.props.children,v,g.key):u!==null&&(u.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===yr&&ai(N)===u.type)?(u=n(u,g.props),Fn(u,g),u.return=m,u):(u=Ol(g.type,g.key,g.props,null,m.mode,v),Fn(u,g),u.return=m,u)}function p(m,u,g,v){return u===null||u.tag!==4||u.stateNode.containerInfo!==g.containerInfo||u.stateNode.implementation!==g.implementation?(u=Zc(g,m.mode,v),u.return=m,u):(u=n(u,g.children||[]),u.return=m,u)}function f(m,u,g,v,N){return u===null||u.tag!==7?(u=ni(g,m.mode,v,N),u.return=m,u):(u=n(u,g),u.return=m,u)}function b(m,u,g){if(typeof u=="string"&&u!==""||typeof u=="number"||typeof u=="bigint")return u=$c(""+u,m.mode,g),u.return=m,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case gl:return g=Ol(u.type,u.key,u.props,null,m.mode,g),Fn(g,u),g.return=m,g;case ao:return u=Zc(u,m.mode,g),u.return=m,u;case yr:return u=ai(u),b(m,u,g)}if(ro(u)||Pn(u))return u=ni(u,m.mode,g,null),u.return=m,u;if(typeof u.then=="function")return b(m,Nl(u),g);if(u.$$typeof===Wa)return b(m,kl(m,u),g);Sl(m,u)}return null}function d(m,u,g,v){var N=u!==null?u.key:null;if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return N!==null?null:l(m,u,""+g,v);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case gl:return g.key===N?c(m,u,g,v):null;case ao:return g.key===N?p(m,u,g,v):null;case yr:return g=ai(g),d(m,u,g,v)}if(ro(g)||Pn(g))return N!==null?null:f(m,u,g,v,null);if(typeof g.then=="function")return d(m,u,Nl(g),v);if(g.$$typeof===Wa)return d(m,u,kl(m,g),v);Sl(m,g)}return null}function h(m,u,g,v,N){if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return m=m.get(g)||null,l(u,m,""+v,N);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case gl:return m=m.get(v.key===null?g:v.key)||null,c(u,m,v,N);case ao:return m=m.get(v.key===null?g:v.key)||null,p(u,m,v,N);case yr:return v=ai(v),h(m,u,g,v,N)}if(ro(v)||Pn(v))return m=m.get(g)||null,f(u,m,v,N,null);if(typeof v.then=="function")return h(m,u,g,Nl(v),N);if(v.$$typeof===Wa)return h(m,u,g,kl(u,v),N);Sl(u,v)}return null}function w(m,u,g,v){for(var N=null,R=null,T=u,z=u=0,G=null;T!==null&&z<g.length;z++){T.index>z?(G=T,T=null):G=T.sibling;var K=d(m,T,g[z],v);if(K===null){T===null&&(T=G);break}e&&T&&K.alternate===null&&t(m,T),u=i(K,u,z),R===null?N=K:R.sibling=K,R=K,T=G}if(z===g.length)return a(m,T),Te&&Fa(m,z),N;if(T===null){for(;z<g.length;z++)T=b(m,g[z],v),T!==null&&(u=i(T,u,z),R===null?N=T:R.sibling=T,R=T);return Te&&Fa(m,z),N}for(T=r(T);z<g.length;z++)G=h(T,m,z,g[z],v),G!==null&&(e&&G.alternate!==null&&T.delete(G.key===null?z:G.key),u=i(G,u,z),R===null?N=G:R.sibling=G,R=G);return e&&T.forEach(function(xe){return t(m,xe)}),Te&&Fa(m,z),N}function E(m,u,g,v){if(g==null)throw Error(B(151));for(var N=null,R=null,T=u,z=u=0,G=null,K=g.next();T!==null&&!K.done;z++,K=g.next()){T.index>z?(G=T,T=null):G=T.sibling;var xe=d(m,T,K.value,v);if(xe===null){T===null&&(T=G);break}e&&T&&xe.alternate===null&&t(m,T),u=i(xe,u,z),R===null?N=xe:R.sibling=xe,R=xe,T=G}if(K.done)return a(m,T),Te&&Fa(m,z),N;if(T===null){for(;!K.done;z++,K=g.next())K=b(m,K.value,v),K!==null&&(u=i(K,u,z),R===null?N=K:R.sibling=K,R=K);return Te&&Fa(m,z),N}for(T=r(T);!K.done;z++,K=g.next())K=h(T,m,z,K.value,v),K!==null&&(e&&K.alternate!==null&&T.delete(K.key===null?z:K.key),u=i(K,u,z),R===null?N=K:R.sibling=K,R=K);return e&&T.forEach(function(Ee){return t(m,Ee)}),Te&&Fa(m,z),N}function D(m,u,g,v){if(typeof g=="object"&&g!==null&&g.type===Gi&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case gl:e:{for(var N=g.key;u!==null;){if(u.key===N){if(N=g.type,N===Gi){if(u.tag===7){a(m,u.sibling),v=n(u,g.props.children),v.return=m,m=v;break e}}else if(u.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===yr&&ai(N)===u.type){a(m,u.sibling),v=n(u,g.props),Fn(v,g),v.return=m,m=v;break e}a(m,u);break}else t(m,u);u=u.sibling}g.type===Gi?(v=ni(g.props.children,m.mode,v,g.key),v.return=m,m=v):(v=Ol(g.type,g.key,g.props,null,m.mode,v),Fn(v,g),v.return=m,m=v)}return o(m);case ao:e:{for(N=g.key;u!==null;){if(u.key===N)if(u.tag===4&&u.stateNode.containerInfo===g.containerInfo&&u.stateNode.implementation===g.implementation){a(m,u.sibling),v=n(u,g.children||[]),v.return=m,m=v;break e}else{a(m,u);break}else t(m,u);u=u.sibling}v=Zc(g,m.mode,v),v.return=m,m=v}return o(m);case yr:return g=ai(g),D(m,u,g,v)}if(ro(g))return w(m,u,g,v);if(Pn(g)){if(N=Pn(g),typeof N!="function")throw Error(B(150));return g=N.call(g),E(m,u,g,v)}if(typeof g.then=="function")return D(m,u,Nl(g),v);if(g.$$typeof===Wa)return D(m,u,kl(m,g),v);Sl(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint"?(g=""+g,u!==null&&u.tag===6?(a(m,u.sibling),v=n(u,g),v.return=m,m=v):(a(m,u),v=$c(g,m.mode,v),v.return=m,m=v),o(m)):a(m,u)}return function(m,u,g,v){try{qo=0;var N=D(m,u,g,v);return rn=null,N}catch(T){if(T===_n||T===Ms)throw T;var R=aa(29,T,null,m.mode);return R.lanes=v,R.return=m,R}}}var pi=Jg(!0),Fg=Jg(!1),_r=!1;function Mp(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Bu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Rr(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ur(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Ue&2)!==0){var n=r.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),r.pending=t,t=es(e),Qg(e,null,a),t}return Es(e,r,t,a),es(e)}function po(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,gg(e,a)}}function Pc(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var n=null,i=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};i===null?n=i=o:i=i.next=o,a=a.next}while(a!==null);i===null?n=i=t:i=i.next=t}else n=i=t;a={baseState:r.baseState,firstBaseUpdate:n,lastBaseUpdate:i,shared:r.shared,callbacks:r.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Ou=!1;function mo(){if(Ou){var e=an;if(e!==null)throw e}}function fo(e,t,a,r){Ou=!1;var n=e.updateQueue;_r=!1;var i=n.firstBaseUpdate,o=n.lastBaseUpdate,l=n.shared.pending;if(l!==null){n.shared.pending=null;var c=l,p=c.next;c.next=null,o===null?i=p:o.next=p,o=c;var f=e.alternate;f!==null&&(f=f.updateQueue,l=f.lastBaseUpdate,l!==o&&(l===null?f.firstBaseUpdate=p:l.next=p,f.lastBaseUpdate=c))}if(i!==null){var b=n.baseState;o=0,f=p=c=null,l=i;do{var d=l.lane&-536870913,h=d!==l.lane;if(h?(Me&d)===d:(r&d)===d){d!==0&&d===un&&(Ou=!0),f!==null&&(f=f.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var w=e,E=l;d=t;var D=a;switch(E.tag){case 1:if(w=E.payload,typeof w=="function"){b=w.call(D,b,d);break e}b=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=E.payload,d=typeof w=="function"?w.call(D,b,d):w,d==null)break e;b=it({},b,d);break e;case 2:_r=!0}}d=l.callback,d!==null&&(e.flags|=64,h&&(e.flags|=8192),h=n.callbacks,h===null?n.callbacks=[d]:h.push(d))}else h={lane:d,tag:l.tag,payload:l.payload,callback:l.callback,next:null},f===null?(p=f=h,c=b):f=f.next=h,o|=d;if(l=l.next,l===null){if(l=n.shared.pending,l===null)break;h=l,l=h.next,h.next=null,n.lastBaseUpdate=h,n.shared.pending=null}}while(!0);f===null&&(c=b),n.baseState=c,n.firstBaseUpdate=p,n.lastBaseUpdate=f,i===null&&(n.shared.lanes=0),Yr|=o,e.lanes=o,e.memoizedState=b}}function Ig(e,t){if(typeof e!="function")throw Error(B(191,e));e.call(t)}function Wg(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Ig(a[e],t)}var pn=Ha(null),is=Ha(0);function sf(e,t){e=cr,Fe(is,e),Fe(pn,t),cr=e|t.baseLanes}function Lu(){Fe(is,cr),Fe(pn,pn.current)}function Tp(){cr=is.current,St(pn),St(is)}var ca=Ha(null),wa=null;function kr(e){var t=e.alternate;Fe(dt,dt.current&1),Fe(ca,e),wa===null&&(t===null||pn.current!==null||t.memoizedState!==null)&&(wa=e)}function Hu(e){Fe(dt,dt.current),Fe(ca,e),wa===null&&(wa=e)}function eh(e){e.tag===22?(Fe(dt,dt.current),Fe(ca,e),wa===null&&(wa=e)):Nr(e)}function Nr(){Fe(dt,dt.current),Fe(ca,ca.current)}function ta(e){St(ca),wa===e&&(wa=null),St(dt)}var dt=Ha(0);function ns(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||ip(a)||np(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var or=0,be=null,$e=null,ht=null,os=!1,nn=!1,di=!1,ls=0,Eo=0,on=null,Sy=0;function ct(){throw Error(B(321))}function zp(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!sa(e[a],t[a]))return!1;return!0}function Ap(e,t,a,r,n,i){return or=i,be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,de.H=e===null||e.memoizedState===null?zh:Yp,di=!1,i=a(r,n),di=!1,nn&&(i=ah(t,a,r,n)),th(e),i}function th(e){de.H=Mo;var t=$e!==null&&$e.next!==null;if(or=0,ht=$e=be=null,os=!1,Eo=0,on=null,t)throw Error(B(300));e===null||wt||(e=e.dependencies,e!==null&&as(e)&&(wt=!0))}function ah(e,t,a,r){be=e;var n=0;do{if(nn&&(on=null),Eo=0,nn=!1,25<=n)throw Error(B(301));if(n+=1,ht=$e=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}de.H=Ah,i=t(a,r)}while(nn);return i}function Cy(){var e=de.H,t=e.useState()[0];return t=typeof t.then=="function"?Qo(t):t,e=e.useState()[0],($e!==null?$e.memoizedState:null)!==e&&(be.flags|=1024),t}function Rp(){var e=ls!==0;return ls=0,e}function Up(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Dp(e){if(os){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}os=!1}or=0,ht=$e=be=null,nn=!1,Eo=ls=0,on=null}function Ot(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ht===null?be.memoizedState=ht=e:ht=ht.next=e,ht}function mt(){if($e===null){var e=be.alternate;e=e!==null?e.memoizedState:null}else e=$e.next;var t=ht===null?be.memoizedState:ht.next;if(t!==null)ht=t,$e=e;else{if(e===null)throw be.alternate===null?Error(B(467)):Error(B(310));$e=e,e={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},ht===null?be.memoizedState=ht=e:ht=ht.next=e}return ht}function Ts(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qo(e){var t=Eo;return Eo+=1,on===null&&(on=[]),e=Pg(on,e,t),t=be,(ht===null?t.memoizedState:ht.next)===null&&(t=t.alternate,de.H=t===null||t.memoizedState===null?zh:Yp),e}function zs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Qo(e);if(e.$$typeof===Wa)return Mt(e)}throw Error(B(438,String(e)))}function Bp(e){var t=null,a=be.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var r=be.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(n){return n.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ts(),be.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),r=0;r<e;r++)a[r]=p0;return t.index++,a}function lr(e,t){return typeof t=="function"?t(e):t}function Hl(e){var t=mt();return Op(t,$e,e)}function Op(e,t,a){var r=e.queue;if(r===null)throw Error(B(311));r.lastRenderedReducer=a;var n=e.baseQueue,i=r.pending;if(i!==null){if(n!==null){var o=n.next;n.next=i.next,i.next=o}t.baseQueue=n=i,r.pending=null}if(i=e.baseState,n===null)e.memoizedState=i;else{t=n.next;var l=o=null,c=null,p=t,f=!1;do{var b=p.lane&-536870913;if(b!==p.lane?(Me&b)===b:(or&b)===b){var d=p.revertLane;if(d===0)c!==null&&(c=c.next={lane:0,revertLane:0,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),b===un&&(f=!0);else if((or&d)===d){p=p.next,d===un&&(f=!0);continue}else b={lane:0,revertLane:p.revertLane,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=b,o=i):c=c.next=b,be.lanes|=d,Yr|=d;b=p.action,di&&a(i,b),i=p.hasEagerState?p.eagerState:a(i,b)}else d={lane:b,revertLane:p.revertLane,gesture:p.gesture,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=d,o=i):c=c.next=d,be.lanes|=b,Yr|=b;p=p.next}while(p!==null&&p!==t);if(c===null?o=i:c.next=l,!sa(i,e.memoizedState)&&(wt=!0,f&&(a=an,a!==null)))throw a;e.memoizedState=i,e.baseState=o,e.baseQueue=c,r.lastRenderedState=i}return n===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Jc(e){var t=mt(),a=t.queue;if(a===null)throw Error(B(311));a.lastRenderedReducer=e;var r=a.dispatch,n=a.pending,i=t.memoizedState;if(n!==null){a.pending=null;var o=n=n.next;do i=e(i,o.action),o=o.next;while(o!==n);sa(i,t.memoizedState)||(wt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),a.lastRenderedState=i}return[i,r]}function rh(e,t,a){var r=be,n=mt(),i=Te;if(i){if(a===void 0)throw Error(B(407));a=a()}else a=t();var o=!sa(($e||n).memoizedState,a);if(o&&(n.memoizedState=a,wt=!0),n=n.queue,Lp(oh.bind(null,r,n,e),[e]),n.getSnapshot!==t||o||ht!==null&&ht.memoizedState.tag&1){if(r.flags|=2048,dn(9,{destroy:void 0},nh.bind(null,r,n,a,t),null),Pe===null)throw Error(B(349));i||(or&127)!==0||ih(r,t,a)}return a}function ih(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=be.updateQueue,t===null?(t=Ts(),be.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function nh(e,t,a,r){t.value=a,t.getSnapshot=r,lh(t)&&sh(e)}function oh(e,t,a){return a(function(){lh(t)&&sh(e)})}function lh(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!sa(e,a)}catch{return!0}}function sh(e){var t=bi(e,2);t!==null&&Xt(t,e,2)}function ju(e){var t=Ot();if(typeof e=="function"){var a=e;if(e=a(),di){Cr(!0);try{a()}finally{Cr(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:e},t}function ch(e,t,a,r){return e.baseState=a,Op(e,$e,typeof r=="function"?r:lr)}function qy(e,t,a,r,n){if(Rs(e))throw Error(B(485));if(e=t.action,e!==null){var i={payload:n,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(o){i.listeners.push(o)}};de.T!==null?a(!0):i.isTransition=!1,r(i),a=t.pending,a===null?(i.next=t.pending=i,uh(t,i)):(i.next=a.next,t.pending=a.next=i)}}function uh(e,t){var a=t.action,r=t.payload,n=e.state;if(t.isTransition){var i=de.T,o={};de.T=o;try{var l=a(n,r),c=de.S;c!==null&&c(o,l),cf(e,t,l)}catch(p){Gu(e,t,p)}finally{i!==null&&o.types!==null&&(i.types=o.types),de.T=i}}else try{i=a(n,r),cf(e,t,i)}catch(p){Gu(e,t,p)}}function cf(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(r){uf(e,t,r)},function(r){return Gu(e,t,r)}):uf(e,t,a)}function uf(e,t,a){t.status="fulfilled",t.value=a,ph(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,uh(e,a)))}function Gu(e,t,a){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=a,ph(t),t=t.next;while(t!==r)}e.action=null}function ph(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function dh(e,t){return t}function pf(e,t){if(Te){var a=Pe.formState;if(a!==null){e:{var r=be;if(Te){if(rt){t:{for(var n=rt,i=va;n.nodeType!==8;){if(!i){n=null;break t}if(n=ya(n.nextSibling),n===null){n=null;break t}}i=n.data,n=i==="F!"||i==="F"?n:null}if(n){rt=ya(n.nextSibling),r=n.data==="F!";break e}}Gr(r)}r=!1}r&&(t=a[0])}}return a=Ot(),a.memoizedState=a.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:dh,lastRenderedState:t},a.queue=r,a=Eh.bind(null,be,r),r.dispatch=a,r=ju(!1),i=Qp.bind(null,be,!1,r.queue),r=Ot(),n={state:t,dispatch:null,action:e,pending:null},r.queue=n,a=qy.bind(null,be,n,i,a),n.dispatch=a,r.memoizedState=e,[t,a,!1]}function df(e){var t=mt();return mh(t,$e,e)}function mh(e,t,a){if(t=Op(e,t,dh)[0],e=Hl(lr)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Qo(t)}catch(o){throw o===_n?Ms:o}else r=t;t=mt();var n=t.queue,i=n.dispatch;return a!==t.memoizedState&&(be.flags|=2048,dn(9,{destroy:void 0},Ey.bind(null,n,a),null)),[r,i,e]}function Ey(e,t){e.action=t}function mf(e){var t=mt(),a=$e;if(a!==null)return mh(t,a,e);mt(),t=t.memoizedState,a=mt();var r=a.queue.dispatch;return a.memoizedState=e,[t,r,!1]}function dn(e,t,a,r){return e={tag:e,create:a,deps:r,inst:t,next:null},t=be.updateQueue,t===null&&(t=Ts(),be.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e),e}function fh(){return mt().memoizedState}function jl(e,t,a,r){var n=Ot();be.flags|=e,n.memoizedState=dn(1|t,{destroy:void 0},a,r===void 0?null:r)}function As(e,t,a,r){var n=mt();r=r===void 0?null:r;var i=n.memoizedState.inst;$e!==null&&r!==null&&zp(r,$e.memoizedState.deps)?n.memoizedState=dn(t,i,a,r):(be.flags|=e,n.memoizedState=dn(1|t,i,a,r))}function ff(e,t){jl(8390656,8,e,t)}function Lp(e,t){As(2048,8,e,t)}function My(e){be.flags|=4;var t=be.updateQueue;if(t===null)t=Ts(),be.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function gh(e){var t=mt().memoizedState;return My({ref:t,nextImpl:e}),function(){if((Ue&2)!==0)throw Error(B(440));return t.impl.apply(void 0,arguments)}}function hh(e,t){return As(4,2,e,t)}function bh(e,t){return As(4,4,e,t)}function vh(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function wh(e,t,a){a=a!=null?a.concat([e]):null,As(4,4,vh.bind(null,t,e),a)}function Hp(){}function yh(e,t){var a=mt();t=t===void 0?null:t;var r=a.memoizedState;return t!==null&&zp(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function _h(e,t){var a=mt();t=t===void 0?null:t;var r=a.memoizedState;if(t!==null&&zp(t,r[1]))return r[0];if(r=e(),di){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r}function jp(e,t,a){return a===void 0||(or&1073741824)!==0&&(Me&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=cb(),be.lanes|=e,Yr|=e,a)}function xh(e,t,a,r){return sa(a,t)?a:pn.current!==null?(e=jp(e,a,r),sa(e,t)||(wt=!0),e):(or&42)===0||(or&1073741824)!==0&&(Me&261930)===0?(wt=!0,e.memoizedState=a):(e=cb(),be.lanes|=e,Yr|=e,t)}function kh(e,t,a,r,n){var i=De.p;De.p=i!==0&&8>i?i:8;var o=de.T,l={};de.T=l,Qp(e,!1,t,a);try{var c=n(),p=de.S;if(p!==null&&p(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var f=Ny(c,r);go(e,t,f,la(e))}else go(e,t,r,la(e))}catch(b){go(e,t,{then:function(){},status:"rejected",reason:b},la())}finally{De.p=i,o!==null&&l.types!==null&&(o.types=l.types),de.T=o}}function Ty(){}function Qu(e,t,a,r){if(e.tag!==5)throw Error(B(476));var n=Nh(e).queue;kh(e,n,t,ii,a===null?Ty:function(){return Sh(e),a(r)})}function Nh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ii,baseState:ii,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:ii},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Sh(e){var t=Nh(e);t.next===null&&(t=e.alternate.memoizedState),go(e,t.next.queue,{},la())}function Gp(){return Mt(Ao)}function Ch(){return mt().memoizedState}function qh(){return mt().memoizedState}function zy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=la();e=Rr(a);var r=Ur(t,e,a);r!==null&&(Xt(r,t,a),po(r,t,a)),t={cache:Cp()},e.payload=t;return}t=t.return}}function Ay(e,t,a){var r=la();a={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Rs(e)?Mh(t,a):(a=xp(e,t,a,r),a!==null&&(Xt(a,e,r),Th(a,t,r)))}function Eh(e,t,a){var r=la();go(e,t,a,r)}function go(e,t,a,r){var n={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Rs(e))Mh(t,n);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,a);if(n.hasEagerState=!0,n.eagerState=l,sa(l,o))return Es(e,t,n,0),Pe===null&&qs(),!1}catch{}if(a=xp(e,t,n,r),a!==null)return Xt(a,e,r),Th(a,t,r),!0}return!1}function Qp(e,t,a,r){if(r={lane:2,revertLane:Fp(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Rs(e)){if(t)throw Error(B(479))}else t=xp(e,a,r,2),t!==null&&Xt(t,e,2)}function Rs(e){var t=e.alternate;return e===be||t!==null&&t===be}function Mh(e,t){nn=os=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Th(e,t,a){if((a&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,gg(e,a)}}var Mo={readContext:Mt,use:zs,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useInsertionEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useDeferredValue:ct,useTransition:ct,useSyncExternalStore:ct,useId:ct,useHostTransitionStatus:ct,useFormState:ct,useActionState:ct,useOptimistic:ct,useMemoCache:ct,useCacheRefresh:ct};Mo.useEffectEvent=ct;var zh={readContext:Mt,use:zs,useCallback:function(e,t){return Ot().memoizedState=[e,t===void 0?null:t],e},useContext:Mt,useEffect:ff,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,jl(4194308,4,vh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return jl(4194308,4,e,t)},useInsertionEffect:function(e,t){jl(4,2,e,t)},useMemo:function(e,t){var a=Ot();t=t===void 0?null:t;var r=e();if(di){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r},useReducer:function(e,t,a){var r=Ot();if(a!==void 0){var n=a(t);if(di){Cr(!0);try{a(t)}finally{Cr(!1)}}}else n=t;return r.memoizedState=r.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=Ay.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Ot();return e={current:e},t.memoizedState=e},useState:function(e){e=ju(e);var t=e.queue,a=Eh.bind(null,be,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Hp,useDeferredValue:function(e,t){var a=Ot();return jp(a,e,t)},useTransition:function(){var e=ju(!1);return e=kh.bind(null,be,e.queue,!0,!1),Ot().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var r=be,n=Ot();if(Te){if(a===void 0)throw Error(B(407));a=a()}else{if(a=t(),Pe===null)throw Error(B(349));(Me&127)!==0||ih(r,t,a)}n.memoizedState=a;var i={value:a,getSnapshot:t};return n.queue=i,ff(oh.bind(null,r,i,e),[e]),r.flags|=2048,dn(9,{destroy:void 0},nh.bind(null,r,i,a,t),null),a},useId:function(){var e=Ot(),t=Pe.identifierPrefix;if(Te){var a=Ba,r=Da;a=(r&~(1<<32-oa(r)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ls++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Sy++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Gp,useFormState:pf,useActionState:pf,useOptimistic:function(e){var t=Ot();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Qp.bind(null,be,!0,a),a.dispatch=t,[e,t]},useMemoCache:Bp,useCacheRefresh:function(){return Ot().memoizedState=zy.bind(null,be)},useEffectEvent:function(e){var t=Ot(),a={impl:e};return t.memoizedState=a,function(){if((Ue&2)!==0)throw Error(B(440));return a.impl.apply(void 0,arguments)}}},Yp={readContext:Mt,use:zs,useCallback:yh,useContext:Mt,useEffect:Lp,useImperativeHandle:wh,useInsertionEffect:hh,useLayoutEffect:bh,useMemo:_h,useReducer:Hl,useRef:fh,useState:function(){return Hl(lr)},useDebugValue:Hp,useDeferredValue:function(e,t){var a=mt();return xh(a,$e.memoizedState,e,t)},useTransition:function(){var e=Hl(lr)[0],t=mt().memoizedState;return[typeof e=="boolean"?e:Qo(e),t]},useSyncExternalStore:rh,useId:Ch,useHostTransitionStatus:Gp,useFormState:df,useActionState:df,useOptimistic:function(e,t){var a=mt();return ch(a,$e,e,t)},useMemoCache:Bp,useCacheRefresh:qh};Yp.useEffectEvent=gh;var Ah={readContext:Mt,use:zs,useCallback:yh,useContext:Mt,useEffect:Lp,useImperativeHandle:wh,useInsertionEffect:hh,useLayoutEffect:bh,useMemo:_h,useReducer:Jc,useRef:fh,useState:function(){return Jc(lr)},useDebugValue:Hp,useDeferredValue:function(e,t){var a=mt();return $e===null?jp(a,e,t):xh(a,$e.memoizedState,e,t)},useTransition:function(){var e=Jc(lr)[0],t=mt().memoizedState;return[typeof e=="boolean"?e:Qo(e),t]},useSyncExternalStore:rh,useId:Ch,useHostTransitionStatus:Gp,useFormState:mf,useActionState:mf,useOptimistic:function(e,t){var a=mt();return $e!==null?ch(a,$e,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Bp,useCacheRefresh:qh};Ah.useEffectEvent=gh;function Fc(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:it({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Yu={enqueueSetState:function(e,t,a){e=e._reactInternals;var r=la(),n=Rr(r);n.payload=t,a!=null&&(n.callback=a),t=Ur(e,n,r),t!==null&&(Xt(t,e,r),po(t,e,r))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=la(),n=Rr(r);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Ur(e,n,r),t!==null&&(Xt(t,e,r),po(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=la(),r=Rr(a);r.tag=2,t!=null&&(r.callback=t),t=Ur(e,r,a),t!==null&&(Xt(t,e,a),po(t,e,a))}};function gf(e,t,a,r,n,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,o):t.prototype&&t.prototype.isPureReactComponent?!No(a,r)||!No(n,i):!0}function hf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Yu.enqueueReplaceState(t,t.state,null)}function mi(e,t){var a=t;if("ref"in t){a={};for(var r in t)r!=="ref"&&(a[r]=t[r])}if(e=e.defaultProps){a===t&&(a=it({},a));for(var n in e)a[n]===void 0&&(a[n]=e[n])}return a}function Rh(e){Wl(e)}function Uh(e){console.error(e)}function Dh(e){Wl(e)}function ss(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function bf(e,t,a){try{var r=e.onCaughtError;r(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function Vu(e,t,a){return a=Rr(a),a.tag=3,a.payload={element:null},a.callback=function(){ss(e,t)},a}function Bh(e){return e=Rr(e),e.tag=3,e}function Oh(e,t,a,r){var n=a.type.getDerivedStateFromError;if(typeof n=="function"){var i=r.value;e.payload=function(){return n(i)},e.callback=function(){bf(t,a,r)}}var o=a.stateNode;o!==null&&typeof o.componentDidCatch=="function"&&(e.callback=function(){bf(t,a,r),typeof n!="function"&&(Dr===null?Dr=new Set([this]):Dr.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Ry(e,t,a,r,n){if(a.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=a.alternate,t!==null&&yn(t,a,n,!0),a=ca.current,a!==null){switch(a.tag){case 31:case 13:return wa===null?ms():a.alternate===null&&ut===0&&(ut=3),a.flags&=-257,a.flags|=65536,a.lanes=n,r===rs?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([r]):t.add(r),su(e,r,n)),!1;case 22:return a.flags|=65536,r===rs?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([r]):a.add(r)),su(e,r,n)),!1}throw Error(B(435,a.tag))}return su(e,r,n),ms(),!1}if(Te)return t=ca.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=n,r!==zu&&(e=Error(B(422),{cause:r}),Co(ba(e,a)))):(r!==zu&&(t=Error(B(423),{cause:r}),Co(ba(t,a))),e=e.current.alternate,e.flags|=65536,n&=-n,e.lanes|=n,r=ba(r,a),n=Vu(e.stateNode,r,n),Pc(e,n),ut!==4&&(ut=2)),!1;var i=Error(B(520),{cause:r});if(i=ba(i,a),vo===null?vo=[i]:vo.push(i),ut!==4&&(ut=2),t===null)return!0;r=ba(r,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=n&-n,a.lanes|=e,e=Vu(a.stateNode,r,e),Pc(a,e),!1;case 1:if(t=a.type,i=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Dr===null||!Dr.has(i))))return a.flags|=65536,n&=-n,a.lanes|=n,n=Bh(n),Oh(n,e,a,r),Pc(a,n),!1}a=a.return}while(a!==null);return!1}var Vp=Error(B(461)),wt=!1;function Ct(e,t,a,r){t.child=e===null?Fg(t,null,a,r):pi(t,e.child,a,r)}function vf(e,t,a,r,n){a=a.render;var i=t.ref;if("ref"in r){var o={};for(var l in r)l!=="ref"&&(o[l]=r[l])}else o=r;return ui(t),r=Ap(e,t,a,o,i,n),l=Rp(),e!==null&&!wt?(Up(e,t,n),sr(e,t,n)):(Te&&l&&Np(t),t.flags|=1,Ct(e,t,r,n),t.child)}function wf(e,t,a,r,n){if(e===null){var i=a.type;return typeof i=="function"&&!kp(i)&&i.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=i,Lh(e,t,i,r,n)):(e=Ol(a.type,null,r,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Xp(e,n)){var o=i.memoizedProps;if(a=a.compare,a=a!==null?a:No,a(o,r)&&e.ref===t.ref)return sr(e,t,n)}return t.flags|=1,e=ar(i,r),e.ref=t.ref,e.return=t,t.child=e}function Lh(e,t,a,r,n){if(e!==null){var i=e.memoizedProps;if(No(i,r)&&e.ref===t.ref)if(wt=!1,t.pendingProps=r=i,Xp(e,n))(e.flags&131072)!==0&&(wt=!0);else return t.lanes=e.lanes,sr(e,t,n)}return Xu(e,t,a,r,n)}function Hh(e,t,a,r){var n=r.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|a:a,e!==null){for(r=t.child=e.child,n=0;r!==null;)n=n|r.lanes|r.childLanes,r=r.sibling;r=n&~i}else r=0,t.child=null;return yf(e,t,i,a,r)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ll(t,i!==null?i.cachePool:null),i!==null?sf(t,i):Lu(),eh(t);else return r=t.lanes=536870912,yf(e,t,i!==null?i.baseLanes|a:a,a,r)}else i!==null?(Ll(t,i.cachePool),sf(t,i),Nr(t),t.memoizedState=null):(e!==null&&Ll(t,null),Lu(),Nr(t));return Ct(e,t,n,a),t.child}function no(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function yf(e,t,a,r,n){var i=qp();return i=i===null?null:{parent:vt._currentValue,pool:i},t.memoizedState={baseLanes:a,cachePool:i},e!==null&&Ll(t,null),Lu(),eh(t),e!==null&&yn(e,t,r,!0),t.childLanes=n,null}function Gl(e,t){return t=cs({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function _f(e,t,a){return pi(t,e.child,null,a),e=Gl(t,t.pendingProps),e.flags|=2,ta(t),t.memoizedState=null,e}function Uy(e,t,a){var r=t.pendingProps,n=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(r.mode==="hidden")return e=Gl(t,r),t.lanes=536870912,no(null,e);if(Hu(t),(e=rt)?(e=zb(e,va),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Da,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Vg(e),a.return=t,t.child=a,Et=t,rt=null)):e=null,e===null)throw Gr(t);return t.lanes=536870912,null}return Gl(t,r)}var i=e.memoizedState;if(i!==null){var o=i.dehydrated;if(Hu(t),n)if(t.flags&256)t.flags&=-257,t=_f(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(B(558));else if(wt||yn(e,t,a,!1),n=(a&e.childLanes)!==0,wt||n){if(r=Pe,r!==null&&(o=hg(r,a),o!==0&&o!==i.retryLane))throw i.retryLane=o,bi(e,o),Xt(r,e,o),Vp;ms(),t=_f(e,t,a)}else e=i.treeContext,rt=ya(o.nextSibling),Et=t,Te=!0,Ar=null,va=!1,e!==null&&$g(t,e),t=Gl(t,r),t.flags|=4096;return t}return e=ar(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ql(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(B(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Xu(e,t,a,r,n){return ui(t),a=Ap(e,t,a,r,void 0,n),r=Rp(),e!==null&&!wt?(Up(e,t,n),sr(e,t,n)):(Te&&r&&Np(t),t.flags|=1,Ct(e,t,a,n),t.child)}function xf(e,t,a,r,n,i){return ui(t),t.updateQueue=null,a=ah(t,r,a,n),th(e),r=Rp(),e!==null&&!wt?(Up(e,t,i),sr(e,t,i)):(Te&&r&&Np(t),t.flags|=1,Ct(e,t,a,i),t.child)}function kf(e,t,a,r,n){if(ui(t),t.stateNode===null){var i=Pi,o=a.contextType;typeof o=="object"&&o!==null&&(i=Mt(o)),i=new a(r,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Yu,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=r,i.state=t.memoizedState,i.refs={},Mp(t),o=a.contextType,i.context=typeof o=="object"&&o!==null?Mt(o):Pi,i.state=t.memoizedState,o=a.getDerivedStateFromProps,typeof o=="function"&&(Fc(t,a,o,r),i.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(o=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),o!==i.state&&Yu.enqueueReplaceState(i,i.state,null),fo(t,r,i,n),mo(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){i=t.stateNode;var l=t.memoizedProps,c=mi(a,l);i.props=c;var p=i.context,f=a.contextType;o=Pi,typeof f=="object"&&f!==null&&(o=Mt(f));var b=a.getDerivedStateFromProps;f=typeof b=="function"||typeof i.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,f||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(l||p!==o)&&hf(t,i,r,o),_r=!1;var d=t.memoizedState;i.state=d,fo(t,r,i,n),mo(),p=t.memoizedState,l||d!==p||_r?(typeof b=="function"&&(Fc(t,a,b,r),p=t.memoizedState),(c=_r||gf(t,a,c,r,d,p,o))?(f||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=p),i.props=r,i.state=p,i.context=o,r=c):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Bu(e,t),o=t.memoizedProps,f=mi(a,o),i.props=f,b=t.pendingProps,d=i.context,p=a.contextType,c=Pi,typeof p=="object"&&p!==null&&(c=Mt(p)),l=a.getDerivedStateFromProps,(p=typeof l=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o!==b||d!==c)&&hf(t,i,r,c),_r=!1,d=t.memoizedState,i.state=d,fo(t,r,i,n),mo();var h=t.memoizedState;o!==b||d!==h||_r||e!==null&&e.dependencies!==null&&as(e.dependencies)?(typeof l=="function"&&(Fc(t,a,l,r),h=t.memoizedState),(f=_r||gf(t,a,f,r,d,h,c)||e!==null&&e.dependencies!==null&&as(e.dependencies))?(p||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,h,c),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,h,c)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=c,r=f):(typeof i.componentDidUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return i=r,Ql(e,t),r=(t.flags&128)!==0,i||r?(i=t.stateNode,a=r&&typeof a.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&r?(t.child=pi(t,e.child,null,n),t.child=pi(t,null,a,n)):Ct(e,t,a,n),t.memoizedState=i.state,e=t.child):e=sr(e,t,n),e}function Nf(e,t,a,r){return ci(),t.flags|=256,Ct(e,t,a,r),t.child}var Ic={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Wc(e){return{baseLanes:e,cachePool:Kg()}}function eu(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ra),e}function jh(e,t,a){var r=t.pendingProps,n=!1,i=(t.flags&128)!==0,o;if((o=i)||(o=e!==null&&e.memoizedState===null?!1:(dt.current&2)!==0),o&&(n=!0,t.flags&=-129),o=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(n?kr(t):Nr(t),(e=rt)?(e=zb(e,va),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Da,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Vg(e),a.return=t,t.child=a,Et=t,rt=null)):e=null,e===null)throw Gr(t);return np(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,n?(Nr(t),n=t.mode,l=cs({mode:"hidden",children:l},n),r=ni(r,n,a,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Wc(a),r.childLanes=eu(e,o,a),t.memoizedState=Ic,no(null,r)):(kr(t),$u(t,l))}var c=e.memoizedState;if(c!==null&&(l=c.dehydrated,l!==null)){if(i)t.flags&256?(kr(t),t.flags&=-257,t=tu(e,t,a)):t.memoizedState!==null?(Nr(t),t.child=e.child,t.flags|=128,t=null):(Nr(t),l=r.fallback,n=t.mode,r=cs({mode:"visible",children:r.children},n),l=ni(l,n,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,pi(t,e.child,null,a),r=t.child,r.memoizedState=Wc(a),r.childLanes=eu(e,o,a),t.memoizedState=Ic,t=no(null,r));else if(kr(t),np(l)){if(o=l.nextSibling&&l.nextSibling.dataset,o)var p=o.dgst;o=p,r=Error(B(419)),r.stack="",r.digest=o,Co({value:r,source:null,stack:null}),t=tu(e,t,a)}else if(wt||yn(e,t,a,!1),o=(a&e.childLanes)!==0,wt||o){if(o=Pe,o!==null&&(r=hg(o,a),r!==0&&r!==c.retryLane))throw c.retryLane=r,bi(e,r),Xt(o,e,r),Vp;ip(l)||ms(),t=tu(e,t,a)}else ip(l)?(t.flags|=192,t.child=e.child,t=null):(e=c.treeContext,rt=ya(l.nextSibling),Et=t,Te=!0,Ar=null,va=!1,e!==null&&$g(t,e),t=$u(t,r.children),t.flags|=4096);return t}return n?(Nr(t),l=r.fallback,n=t.mode,c=e.child,p=c.sibling,r=ar(c,{mode:"hidden",children:r.children}),r.subtreeFlags=c.subtreeFlags&65011712,p!==null?l=ar(p,l):(l=ni(l,n,a,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,no(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Wc(a):(n=l.cachePool,n!==null?(c=vt._currentValue,n=n.parent!==c?{parent:c,pool:c}:n):n=Kg(),l={baseLanes:l.baseLanes|a,cachePool:n}),r.memoizedState=l,r.childLanes=eu(e,o,a),t.memoizedState=Ic,no(e.child,r)):(kr(t),a=e.child,e=a.sibling,a=ar(a,{mode:"visible",children:r.children}),a.return=t,a.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a)}function $u(e,t){return t=cs({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function cs(e,t){return e=aa(22,e,null,t),e.lanes=0,e}function tu(e,t,a){return pi(t,e.child,null,a),e=$u(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Sf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ru(e.return,t,a)}function au(e,t,a,r,n,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:n,treeForkCount:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=a,o.tailMode=n,o.treeForkCount=i)}function Gh(e,t,a){var r=t.pendingProps,n=r.revealOrder,i=r.tail;r=r.children;var o=dt.current,l=(o&2)!==0;if(l?(o=o&1|2,t.flags|=128):o&=1,Fe(dt,o),Ct(e,t,r,a),r=Te?So:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Sf(e,a,t);else if(e.tag===19)Sf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(n){case"forwards":for(a=t.child,n=null;a!==null;)e=a.alternate,e!==null&&ns(e)===null&&(n=a),a=a.sibling;a=n,a===null?(n=t.child,t.child=null):(n=a.sibling,a.sibling=null),au(t,!1,n,a,i,r);break;case"backwards":case"unstable_legacy-backwards":for(a=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&ns(e)===null){t.child=n;break}e=n.sibling,n.sibling=a,a=n,n=e}au(t,!0,a,null,i,r);break;case"together":au(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function sr(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(yn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(B(153));if(t.child!==null){for(e=t.child,a=ar(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ar(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Xp(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&as(e)))}function Dy(e,t,a){switch(t.tag){case 3:Pl(t,t.stateNode.containerInfo),xr(t,vt,e.memoizedState.cache),ci();break;case 27:case 5:yu(t);break;case 4:Pl(t,t.stateNode.containerInfo);break;case 10:xr(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Hu(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(kr(t),t.flags|=128,null):(a&t.child.childLanes)!==0?jh(e,t,a):(kr(t),e=sr(e,t,a),e!==null?e.sibling:null);kr(t);break;case 19:var n=(e.flags&128)!==0;if(r=(a&t.childLanes)!==0,r||(yn(e,t,a,!1),r=(a&t.childLanes)!==0),n){if(r)return Gh(e,t,a);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),Fe(dt,dt.current),r)break;return null;case 22:return t.lanes=0,Hh(e,t,a,t.pendingProps);case 24:xr(t,vt,e.memoizedState.cache)}return sr(e,t,a)}function Qh(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)wt=!0;else{if(!Xp(e,a)&&(t.flags&128)===0)return wt=!1,Dy(e,t,a);wt=(e.flags&131072)!==0}else wt=!1,Te&&(t.flags&1048576)!==0&&Xg(t,So,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=ai(t.elementType),t.type=e,typeof e=="function")kp(e)?(r=mi(e,r),t.tag=1,t=kf(null,t,e,r,a)):(t.tag=0,t=Xu(null,t,e,r,a));else{if(e!=null){var n=e.$$typeof;if(n===cp){t.tag=11,t=vf(null,t,e,r,a);break e}else if(n===up){t.tag=14,t=wf(null,t,e,r,a);break e}}throw t=vu(e)||e,Error(B(306,t,""))}}return t;case 0:return Xu(e,t,t.type,t.pendingProps,a);case 1:return r=t.type,n=mi(r,t.pendingProps),kf(e,t,r,n,a);case 3:e:{if(Pl(t,t.stateNode.containerInfo),e===null)throw Error(B(387));r=t.pendingProps;var i=t.memoizedState;n=i.element,Bu(e,t),fo(t,r,null,a);var o=t.memoizedState;if(r=o.cache,xr(t,vt,r),r!==i.cache&&Uu(t,[vt],a,!0),mo(),r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Nf(e,t,r,a);break e}else if(r!==n){n=ba(Error(B(424)),t),Co(n),t=Nf(e,t,r,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,rt=ya(e.firstChild),Et=t,Te=!0,Ar=null,va=!0,a=Fg(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ci(),r===n){t=sr(e,t,a);break e}Ct(e,t,r,a)}t=t.child}return t;case 26:return Ql(e,t),e===null?(a=Zf(t.type,null,t.pendingProps,null))?t.memoizedState=a:Te||(a=t.type,e=t.pendingProps,r=bs(zr.current).createElement(a),r[qt]=t,r[$t]=e,Tt(r,a,e),Nt(r),t.stateNode=r):t.memoizedState=Zf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return yu(t),e===null&&Te&&(r=t.stateNode=Ab(t.type,t.pendingProps,zr.current),Et=t,va=!0,n=rt,Xr(t.type)?(op=n,rt=ya(r.firstChild)):rt=n),Ct(e,t,t.pendingProps.children,a),Ql(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((n=r=rt)&&(r=c1(r,t.type,t.pendingProps,va),r!==null?(t.stateNode=r,Et=t,rt=ya(r.firstChild),va=!1,n=!0):n=!1),n||Gr(t)),yu(t),n=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,r=i.children,ap(n,i)?r=null:o!==null&&ap(n,o)&&(t.flags|=32),t.memoizedState!==null&&(n=Ap(e,t,Cy,null,null,a),Ao._currentValue=n),Ql(e,t),Ct(e,t,r,a),t.child;case 6:return e===null&&Te&&((e=a=rt)&&(a=u1(a,t.pendingProps,va),a!==null?(t.stateNode=a,Et=t,rt=null,e=!0):e=!1),e||Gr(t)),null;case 13:return jh(e,t,a);case 4:return Pl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=pi(t,null,r,a):Ct(e,t,r,a),t.child;case 11:return vf(e,t,t.type,t.pendingProps,a);case 7:return Ct(e,t,t.pendingProps,a),t.child;case 8:return Ct(e,t,t.pendingProps.children,a),t.child;case 12:return Ct(e,t,t.pendingProps.children,a),t.child;case 10:return r=t.pendingProps,xr(t,t.type,r.value),Ct(e,t,r.children,a),t.child;case 9:return n=t.type._context,r=t.pendingProps.children,ui(t),n=Mt(n),r=r(n),t.flags|=1,Ct(e,t,r,a),t.child;case 14:return wf(e,t,t.type,t.pendingProps,a);case 15:return Lh(e,t,t.type,t.pendingProps,a);case 19:return Gh(e,t,a);case 31:return Uy(e,t,a);case 22:return Hh(e,t,a,t.pendingProps);case 24:return ui(t),r=Mt(vt),e===null?(n=qp(),n===null&&(n=Pe,i=Cp(),n.pooledCache=i,i.refCount++,i!==null&&(n.pooledCacheLanes|=a),n=i),t.memoizedState={parent:r,cache:n},Mp(t),xr(t,vt,n)):((e.lanes&a)!==0&&(Bu(e,t),fo(t,null,null,a),mo()),n=e.memoizedState,i=t.memoizedState,n.parent!==r?(n={parent:r,cache:r},t.memoizedState=n,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=n),xr(t,vt,r)):(r=i.cache,xr(t,vt,r),r!==n.cache&&Uu(t,[vt],a,!0))),Ct(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(B(156,t.tag))}function Za(e){e.flags|=4}function ru(e,t,a,r,n){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(n&335544128)===n)if(e.stateNode.complete)e.flags|=8192;else if(db())e.flags|=8192;else throw li=rs,Ep}else e.flags&=-16777217}function Cf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Db(t))if(db())e.flags|=8192;else throw li=rs,Ep}function Cl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?mg():536870912,e.lanes|=t,mn|=t)}function In(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function at(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var n=e.child;n!==null;)a|=n.lanes|n.childLanes,r|=n.subtreeFlags&65011712,r|=n.flags&65011712,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)a|=n.lanes|n.childLanes,r|=n.subtreeFlags,r|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function By(e,t,a){var r=t.pendingProps;switch(Sp(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return at(t),null;case 1:return at(t),null;case 3:return a=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),rr(vt),ln(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Oi(t)?Za(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Kc())),at(t),null;case 26:var n=t.type,i=t.memoizedState;return e===null?(Za(t),i!==null?(at(t),Cf(t,i)):(at(t),ru(t,n,null,r,a))):i?i!==e.memoizedState?(Za(t),at(t),Cf(t,i)):(at(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&Za(t),at(t),ru(t,n,e,r,a)),null;case 27:if(Jl(t),a=zr.current,n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return at(t),null}e=La.current,Oi(t)?ef(t,e):(e=Ab(n,r,a),t.stateNode=e,Za(t))}return at(t),null;case 5:if(Jl(t),n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return at(t),null}if(i=La.current,Oi(t))ef(t,i);else{var o=bs(zr.current);switch(i){case 1:i=o.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:i=o.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":i=o.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":i=o.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":i=o.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof r.is=="string"?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?i.multiple=!0:r.size&&(i.size=r.size);break;default:i=typeof r.is=="string"?o.createElement(n,{is:r.is}):o.createElement(n)}}i[qt]=t,i[$t]=r;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=i;e:switch(Tt(i,n,r),n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Za(t)}}return at(t),ru(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Za(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(B(166));if(e=zr.current,Oi(t)){if(e=t.stateNode,a=t.memoizedProps,r=null,n=Et,n!==null)switch(n.tag){case 27:case 5:r=n.memoizedProps}e[qt]=t,e=!!(e.nodeValue===a||r!==null&&r.suppressHydrationWarning===!0||Eb(e.nodeValue,a)),e||Gr(t,!0)}else e=bs(e).createTextNode(r),e[qt]=t,t.stateNode=e}return at(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(r=Oi(t),a!==null){if(e===null){if(!r)throw Error(B(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(557));e[qt]=t}else ci(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;at(t),e=!1}else a=Kc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(ta(t),t):(ta(t),null);if((t.flags&128)!==0)throw Error(B(558))}return at(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=Oi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(B(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(B(317));n[qt]=t}else ci(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;at(t),n=!1}else n=Kc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(ta(t),t):(ta(t),null)}return ta(t),(t.flags&128)!==0?(t.lanes=a,t):(a=r!==null,e=e!==null&&e.memoizedState!==null,a&&(r=t.child,n=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(n=r.alternate.memoizedState.cachePool.pool),i=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(i=r.memoizedState.cachePool.pool),i!==n&&(r.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Cl(t,t.updateQueue),at(t),null);case 4:return ln(),e===null&&Ip(t.stateNode.containerInfo),at(t),null;case 10:return rr(t.type),at(t),null;case 19:if(St(dt),r=t.memoizedState,r===null)return at(t),null;if(n=(t.flags&128)!==0,i=r.rendering,i===null)if(n)In(r,!1);else{if(ut!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=ns(e),i!==null){for(t.flags|=128,In(r,!1),e=i.updateQueue,t.updateQueue=e,Cl(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Yg(a,e),a=a.sibling;return Fe(dt,dt.current&1|2),Te&&Fa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ia()>ps&&(t.flags|=128,n=!0,In(r,!1),t.lanes=4194304)}else{if(!n)if(e=ns(i),e!==null){if(t.flags|=128,n=!0,e=e.updateQueue,t.updateQueue=e,Cl(t,e),In(r,!0),r.tail===null&&r.tailMode==="hidden"&&!i.alternate&&!Te)return at(t),null}else 2*ia()-r.renderingStartTime>ps&&a!==536870912&&(t.flags|=128,n=!0,In(r,!1),t.lanes=4194304);r.isBackwards?(i.sibling=t.child,t.child=i):(e=r.last,e!==null?e.sibling=i:t.child=i,r.last=i)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ia(),e.sibling=null,a=dt.current,Fe(dt,n?a&1|2:a&1),Te&&Fa(t,r.treeForkCount),e):(at(t),null);case 22:case 23:return ta(t),Tp(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(a&536870912)!==0&&(t.flags&128)===0&&(at(t),t.subtreeFlags&6&&(t.flags|=8192)):at(t),a=t.updateQueue,a!==null&&Cl(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==a&&(t.flags|=2048),e!==null&&St(oi),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),rr(vt),at(t),null;case 25:return null;case 30:return null}throw Error(B(156,t.tag))}function Oy(e,t){switch(Sp(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return rr(vt),ln(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Jl(t),null;case 31:if(t.memoizedState!==null){if(ta(t),t.alternate===null)throw Error(B(340));ci()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ta(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(B(340));ci()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return St(dt),null;case 4:return ln(),null;case 10:return rr(t.type),null;case 22:case 23:return ta(t),Tp(),e!==null&&St(oi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return rr(vt),null;case 25:return null;default:return null}}function Yh(e,t){switch(Sp(t),t.tag){case 3:rr(vt),ln();break;case 26:case 27:case 5:Jl(t);break;case 4:ln();break;case 31:t.memoizedState!==null&&ta(t);break;case 13:ta(t);break;case 19:St(dt);break;case 10:rr(t.type);break;case 22:case 23:ta(t),Tp(),e!==null&&St(oi);break;case 24:rr(vt)}}function Yo(e,t){try{var a=t.updateQueue,r=a!==null?a.lastEffect:null;if(r!==null){var n=r.next;a=n;do{if((a.tag&e)===e){r=void 0;var i=a.create,o=a.inst;r=i(),o.destroy=r}a=a.next}while(a!==n)}}catch(l){Le(t,t.return,l)}}function Qr(e,t,a){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var i=n.next;r=i;do{if((r.tag&e)===e){var o=r.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,n=t;var c=a,p=l;try{p()}catch(f){Le(n,c,f)}}}r=r.next}while(r!==i)}}catch(f){Le(t,t.return,f)}}function Vh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Wg(t,a)}catch(r){Le(e,e.return,r)}}}function Xh(e,t,a){a.props=mi(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(r){Le(e,t,r)}}function ho(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof a=="function"?e.refCleanup=a(r):a.current=r}}catch(n){Le(e,t,n)}}function Oa(e,t){var a=e.ref,r=e.refCleanup;if(a!==null)if(typeof r=="function")try{r()}catch(n){Le(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(n){Le(e,t,n)}else a.current=null}function $h(e){var t=e.type,a=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&r.focus();break e;case"img":a.src?r.src=a.src:a.srcSet&&(r.srcset=a.srcSet)}}catch(n){Le(e,e.return,n)}}function iu(e,t,a){try{var r=e.stateNode;r1(r,e.type,a,t),r[$t]=t}catch(n){Le(e,e.return,n)}}function Zh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Xr(e.type)||e.tag===4}function nu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Zh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Xr(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=er));else if(r!==4&&(r===27&&Xr(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Zu(e,t,a),e=e.sibling;e!==null;)Zu(e,t,a),e=e.sibling}function us(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(r===27&&Xr(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(us(e,t,a),e=e.sibling;e!==null;)us(e,t,a),e=e.sibling}function Kh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var r=e.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Tt(t,r,a),t[qt]=e,t[$t]=a}catch(i){Le(e,e.return,i)}}var Ia=!1,bt=!1,ou=!1,qf=typeof WeakSet=="function"?WeakSet:Set,kt=null;function Ly(e,t){if(e=e.containerInfo,ep=_s,e=Dg(e),yp(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var n=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{a.nodeType,i.nodeType}catch{a=null;break e}var o=0,l=-1,c=-1,p=0,f=0,b=e,d=null;t:for(;;){for(var h;b!==a||n!==0&&b.nodeType!==3||(l=o+n),b!==i||r!==0&&b.nodeType!==3||(c=o+r),b.nodeType===3&&(o+=b.nodeValue.length),(h=b.firstChild)!==null;)d=b,b=h;for(;;){if(b===e)break t;if(d===a&&++p===n&&(l=o),d===i&&++f===r&&(c=o),(h=b.nextSibling)!==null)break;b=d,d=b.parentNode}b=h}a=l===-1||c===-1?null:{start:l,end:c}}else a=null}a=a||{start:0,end:0}}else a=null;for(tp={focusedElem:e,selectionRange:a},_s=!1,kt=t;kt!==null;)if(t=kt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,kt=e;else for(;kt!==null;){switch(t=kt,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)n=e[a],n.ref.impl=n.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,a=t,n=i.memoizedProps,i=i.memoizedState,r=a.stateNode;try{var w=mi(a.type,n);e=r.getSnapshotBeforeUpdate(w,i),r.__reactInternalSnapshotBeforeUpdate=e}catch(E){Le(a,a.return,E)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)rp(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rp(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(B(163))}if(e=t.sibling,e!==null){e.return=t.return,kt=e;break}kt=t.return}}function Ph(e,t,a){var r=a.flags;switch(a.tag){case 0:case 11:case 15:Pa(e,a),r&4&&Yo(5,a);break;case 1:if(Pa(e,a),r&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(o){Le(a,a.return,o)}else{var n=mi(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(n,t,e.__reactInternalSnapshotBeforeUpdate)}catch(o){Le(a,a.return,o)}}r&64&&Vh(a),r&512&&ho(a,a.return);break;case 3:if(Pa(e,a),r&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Wg(e,t)}catch(o){Le(a,a.return,o)}}break;case 27:t===null&&r&4&&Kh(a);case 26:case 5:Pa(e,a),t===null&&r&4&&$h(a),r&512&&ho(a,a.return);break;case 12:Pa(e,a);break;case 31:Pa(e,a),r&4&&Ih(e,a);break;case 13:Pa(e,a),r&4&&Wh(e,a),r&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Zy.bind(null,a),p1(e,a))));break;case 22:if(r=a.memoizedState!==null||Ia,!r){t=t!==null&&t.memoizedState!==null||bt,n=Ia;var i=bt;Ia=r,(bt=t)&&!i?Ja(e,a,(a.subtreeFlags&8772)!==0):Pa(e,a),Ia=n,bt=i}break;case 30:break;default:Pa(e,a)}}function Jh(e){var t=e.alternate;t!==null&&(e.alternate=null,Jh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&fp(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var ot=null,Yt=!1;function Ka(e,t,a){for(a=a.child;a!==null;)Fh(e,t,a),a=a.sibling}function Fh(e,t,a){if(na&&typeof na.onCommitFiberUnmount=="function")try{na.onCommitFiberUnmount(Bo,a)}catch{}switch(a.tag){case 26:bt||Oa(a,t),Ka(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:bt||Oa(a,t);var r=ot,n=Yt;Xr(a.type)&&(ot=a.stateNode,Yt=!1),Ka(e,t,a),yo(a.stateNode),ot=r,Yt=n;break;case 5:bt||Oa(a,t);case 6:if(r=ot,n=Yt,ot=null,Ka(e,t,a),ot=r,Yt=n,ot!==null)if(Yt)try{(ot.nodeType===9?ot.body:ot.nodeName==="HTML"?ot.ownerDocument.body:ot).removeChild(a.stateNode)}catch(i){Le(a,t,i)}else try{ot.removeChild(a.stateNode)}catch(i){Le(a,t,i)}break;case 18:ot!==null&&(Yt?(e=ot,Qf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),bn(e)):Qf(ot,a.stateNode));break;case 4:r=ot,n=Yt,ot=a.stateNode.containerInfo,Yt=!0,Ka(e,t,a),ot=r,Yt=n;break;case 0:case 11:case 14:case 15:Qr(2,a,t),bt||Qr(4,a,t),Ka(e,t,a);break;case 1:bt||(Oa(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"&&Xh(a,t,r)),Ka(e,t,a);break;case 21:Ka(e,t,a);break;case 22:bt=(r=bt)||a.memoizedState!==null,Ka(e,t,a),bt=r;break;default:Ka(e,t,a)}}function Ih(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{bn(e)}catch(a){Le(t,t.return,a)}}}function Wh(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{bn(e)}catch(a){Le(t,t.return,a)}}function Hy(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new qf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new qf),t;default:throw Error(B(435,e.tag))}}function ql(e,t){var a=Hy(e);t.forEach(function(r){if(!a.has(r)){a.add(r);var n=Ky.bind(null,e,r);r.then(n,n)}})}function Gt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var n=a[r],i=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 27:if(Xr(l.type)){ot=l.stateNode,Yt=!1;break e}break;case 5:ot=l.stateNode,Yt=!1;break e;case 3:case 4:ot=l.stateNode.containerInfo,Yt=!0;break e}l=l.return}if(ot===null)throw Error(B(160));Fh(i,o,n),ot=null,Yt=!1,i=n.alternate,i!==null&&(i.return=null),n.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)eb(t,e),t=t.sibling}var za=null;function eb(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Gt(t,e),Qt(e),r&4&&(Qr(3,e,e.return),Yo(3,e),Qr(5,e,e.return));break;case 1:Gt(t,e),Qt(e),r&512&&(bt||a===null||Oa(a,a.return)),r&64&&Ia&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?r:a.concat(r))));break;case 26:var n=za;if(Gt(t,e),Qt(e),r&512&&(bt||a===null||Oa(a,a.return)),r&4){var i=a!==null?a.memoizedState:null;if(r=e.memoizedState,a===null)if(r===null)if(e.stateNode===null){e:{r=e.type,a=e.memoizedProps,n=n.ownerDocument||n;t:switch(r){case"title":i=n.getElementsByTagName("title")[0],(!i||i[Ho]||i[qt]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=n.createElement(r),n.head.insertBefore(i,n.querySelector("head > title"))),Tt(i,r,a),i[qt]=e,Nt(i),r=i;break e;case"link":var o=Pf("link","href",n).get(r+(a.href||""));if(o){for(var l=0;l<o.length;l++)if(i=o[l],i.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&i.getAttribute("rel")===(a.rel==null?null:a.rel)&&i.getAttribute("title")===(a.title==null?null:a.title)&&i.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){o.splice(l,1);break t}}i=n.createElement(r),Tt(i,r,a),n.head.appendChild(i);break;case"meta":if(o=Pf("meta","content",n).get(r+(a.content||""))){for(l=0;l<o.length;l++)if(i=o[l],i.getAttribute("content")===(a.content==null?null:""+a.content)&&i.getAttribute("name")===(a.name==null?null:a.name)&&i.getAttribute("property")===(a.property==null?null:a.property)&&i.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&i.getAttribute("charset")===(a.charSet==null?null:a.charSet)){o.splice(l,1);break t}}i=n.createElement(r),Tt(i,r,a),n.head.appendChild(i);break;default:throw Error(B(468,r))}i[qt]=e,Nt(i),r=i}e.stateNode=r}else Jf(n,e.type,e.stateNode);else e.stateNode=Kf(n,r,e.memoizedProps);else i!==r?(i===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):i.count--,r===null?Jf(n,e.type,e.stateNode):Kf(n,r,e.memoizedProps)):r===null&&e.stateNode!==null&&iu(e,e.memoizedProps,a.memoizedProps)}break;case 27:Gt(t,e),Qt(e),r&512&&(bt||a===null||Oa(a,a.return)),a!==null&&r&4&&iu(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Gt(t,e),Qt(e),r&512&&(bt||a===null||Oa(a,a.return)),e.flags&32){n=e.stateNode;try{cn(n,"")}catch(w){Le(e,e.return,w)}}r&4&&e.stateNode!=null&&(n=e.memoizedProps,iu(e,n,a!==null?a.memoizedProps:n)),r&1024&&(ou=!0);break;case 6:if(Gt(t,e),Qt(e),r&4){if(e.stateNode===null)throw Error(B(162));r=e.memoizedProps,a=e.stateNode;try{a.nodeValue=r}catch(w){Le(e,e.return,w)}}break;case 3:if(Xl=null,n=za,za=vs(t.containerInfo),Gt(t,e),za=n,Qt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{bn(t.containerInfo)}catch(w){Le(e,e.return,w)}ou&&(ou=!1,tb(e));break;case 4:r=za,za=vs(e.stateNode.containerInfo),Gt(t,e),Qt(e),za=r;break;case 12:Gt(t,e),Qt(e);break;case 31:Gt(t,e),Qt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 13:Gt(t,e),Qt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Us=ia()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 22:n=e.memoizedState!==null;var c=a!==null&&a.memoizedState!==null,p=Ia,f=bt;if(Ia=p||n,bt=f||c,Gt(t,e),bt=f,Ia=p,Qt(e),r&8192)e:for(t=e.stateNode,t._visibility=n?t._visibility&-2:t._visibility|1,n&&(a===null||c||Ia||bt||ri(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){c=a=t;try{if(i=c.stateNode,n)o=i.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{l=c.stateNode;var b=c.memoizedProps.style,d=b!=null&&b.hasOwnProperty("display")?b.display:null;l.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(w){Le(c,c.return,w)}}}else if(t.tag===6){if(a===null){c=t;try{c.stateNode.nodeValue=n?"":c.memoizedProps}catch(w){Le(c,c.return,w)}}}else if(t.tag===18){if(a===null){c=t;try{var h=c.stateNode;n?Yf(h,!0):Yf(c.stateNode,!1)}catch(w){Le(c,c.return,w)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(a=r.retryQueue,a!==null&&(r.retryQueue=null,ql(e,a))));break;case 19:Gt(t,e),Qt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ql(e,r)));break;case 30:break;case 21:break;default:Gt(t,e),Qt(e)}}function Qt(e){var t=e.flags;if(t&2){try{for(var a,r=e.return;r!==null;){if(Zh(r)){a=r;break}r=r.return}if(a==null)throw Error(B(160));switch(a.tag){case 27:var n=a.stateNode,i=nu(e);us(e,i,n);break;case 5:var o=a.stateNode;a.flags&32&&(cn(o,""),a.flags&=-33);var l=nu(e);us(e,l,o);break;case 3:case 4:var c=a.stateNode.containerInfo,p=nu(e);Zu(e,p,c);break;default:throw Error(B(161))}}catch(f){Le(e,e.return,f)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tb(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tb(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Pa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Ph(e,t.alternate,t),t=t.sibling}function ri(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Qr(4,t,t.return),ri(t);break;case 1:Oa(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Xh(t,t.return,a),ri(t);break;case 27:yo(t.stateNode);case 26:case 5:Oa(t,t.return),ri(t);break;case 22:t.memoizedState===null&&ri(t);break;case 30:ri(t);break;default:ri(t)}e=e.sibling}}function Ja(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,n=e,i=t,o=i.flags;switch(i.tag){case 0:case 11:case 15:Ja(n,i,a),Yo(4,i);break;case 1:if(Ja(n,i,a),r=i,n=r.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(p){Le(r,r.return,p)}if(r=i,n=r.updateQueue,n!==null){var l=r.stateNode;try{var c=n.shared.hiddenCallbacks;if(c!==null)for(n.shared.hiddenCallbacks=null,n=0;n<c.length;n++)Ig(c[n],l)}catch(p){Le(r,r.return,p)}}a&&o&64&&Vh(i),ho(i,i.return);break;case 27:Kh(i);case 26:case 5:Ja(n,i,a),a&&r===null&&o&4&&$h(i),ho(i,i.return);break;case 12:Ja(n,i,a);break;case 31:Ja(n,i,a),a&&o&4&&Ih(n,i);break;case 13:Ja(n,i,a),a&&o&4&&Wh(n,i);break;case 22:i.memoizedState===null&&Ja(n,i,a),ho(i,i.return);break;case 30:break;default:Ja(n,i,a)}t=t.sibling}}function $p(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Go(a))}function Zp(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Go(e))}function Ta(e,t,a,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)ab(e,t,a,r),t=t.sibling}function ab(e,t,a,r){var n=t.flags;switch(t.tag){case 0:case 11:case 15:Ta(e,t,a,r),n&2048&&Yo(9,t);break;case 1:Ta(e,t,a,r);break;case 3:Ta(e,t,a,r),n&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Go(e)));break;case 12:if(n&2048){Ta(e,t,a,r),e=t.stateNode;try{var i=t.memoizedProps,o=i.id,l=i.onPostCommit;typeof l=="function"&&l(o,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(c){Le(t,t.return,c)}}else Ta(e,t,a,r);break;case 31:Ta(e,t,a,r);break;case 13:Ta(e,t,a,r);break;case 23:break;case 22:i=t.stateNode,o=t.alternate,t.memoizedState!==null?i._visibility&2?Ta(e,t,a,r):bo(e,t):i._visibility&2?Ta(e,t,a,r):(i._visibility|=2,Hi(e,t,a,r,(t.subtreeFlags&10256)!==0||!1)),n&2048&&$p(o,t);break;case 24:Ta(e,t,a,r),n&2048&&Zp(t.alternate,t);break;default:Ta(e,t,a,r)}}function Hi(e,t,a,r,n){for(n=n&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,o=t,l=a,c=r,p=o.flags;switch(o.tag){case 0:case 11:case 15:Hi(i,o,l,c,n),Yo(8,o);break;case 23:break;case 22:var f=o.stateNode;o.memoizedState!==null?f._visibility&2?Hi(i,o,l,c,n):bo(i,o):(f._visibility|=2,Hi(i,o,l,c,n)),n&&p&2048&&$p(o.alternate,o);break;case 24:Hi(i,o,l,c,n),n&&p&2048&&Zp(o.alternate,o);break;default:Hi(i,o,l,c,n)}t=t.sibling}}function bo(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,r=t,n=r.flags;switch(r.tag){case 22:bo(a,r),n&2048&&$p(r.alternate,r);break;case 24:bo(a,r),n&2048&&Zp(r.alternate,r);break;default:bo(a,r)}t=t.sibling}}var oo=8192;function Li(e,t,a){if(e.subtreeFlags&oo)for(e=e.child;e!==null;)rb(e,t,a),e=e.sibling}function rb(e,t,a){switch(e.tag){case 26:Li(e,t,a),e.flags&oo&&e.memoizedState!==null&&k1(a,za,e.memoizedState,e.memoizedProps);break;case 5:Li(e,t,a);break;case 3:case 4:var r=za;za=vs(e.stateNode.containerInfo),Li(e,t,a),za=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=oo,oo=16777216,Li(e,t,a),oo=r):Li(e,t,a));break;default:Li(e,t,a)}}function ib(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Wn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];kt=r,ob(r,e)}ib(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)nb(e),e=e.sibling}function nb(e){switch(e.tag){case 0:case 11:case 15:Wn(e),e.flags&2048&&Qr(9,e,e.return);break;case 3:Wn(e);break;case 12:Wn(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Yl(e)):Wn(e);break;default:Wn(e)}}function Yl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];kt=r,ob(r,e)}ib(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Qr(8,t,t.return),Yl(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Yl(t));break;default:Yl(t)}e=e.sibling}}function ob(e,t){for(;kt!==null;){var a=kt;switch(a.tag){case 0:case 11:case 15:Qr(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var r=a.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Go(a.memoizedState.cache)}if(r=a.child,r!==null)r.return=a,kt=r;else e:for(a=e;kt!==null;){r=kt;var n=r.sibling,i=r.return;if(Jh(r),r===a){kt=null;break e}if(n!==null){n.return=i,kt=n;break e}kt=i}}}var jy={getCacheForType:function(e){var t=Mt(vt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Mt(vt).controller.signal}},Gy=typeof WeakMap=="function"?WeakMap:Map,Ue=0,Pe=null,qe=null,Me=0,Oe=0,ea=null,Er=!1,xn=!1,Kp=!1,cr=0,ut=0,Yr=0,si=0,Pp=0,ra=0,mn=0,vo=null,Vt=null,Ku=!1,Us=0,lb=0,ps=1/0,ds=null,Dr=null,yt=0,Br=null,fn=null,ir=0,Pu=0,Ju=null,sb=null,wo=0,Fu=null;function la(){return(Ue&2)!==0&&Me!==0?Me&-Me:de.T!==null?Fp():bg()}function cb(){if(ra===0)if((Me&536870912)===0||Te){var e=bl;bl<<=1,(bl&3932160)===0&&(bl=262144),ra=e}else ra=536870912;return e=ca.current,e!==null&&(e.flags|=32),ra}function Xt(e,t,a){(e===Pe&&(Oe===2||Oe===9)||e.cancelPendingCommit!==null)&&(gn(e,0),Mr(e,Me,ra,!1)),Lo(e,a),((Ue&2)===0||e!==Pe)&&(e===Pe&&((Ue&2)===0&&(si|=a),ut===4&&Mr(e,Me,ra,!1)),ja(e))}function ub(e,t,a){if((Ue&6)!==0)throw Error(B(327));var r=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Oo(e,t),n=r?Vy(e,t):lu(e,t,!0),i=r;do{if(n===0){xn&&!r&&Mr(e,t,0,!1);break}else{if(a=e.current.alternate,i&&!Qy(a)){n=lu(e,t,!1),i=!1;continue}if(n===2){if(i=t,e.errorRecoveryDisabledLanes&i)var o=0;else o=e.pendingLanes&-536870913,o=o!==0?o:o&536870912?536870912:0;if(o!==0){t=o;e:{var l=e;n=vo;var c=l.current.memoizedState.isDehydrated;if(c&&(gn(l,o).flags|=256),o=lu(l,o,!1),o!==2){if(Kp&&!c){l.errorRecoveryDisabledLanes|=i,si|=i,n=4;break e}i=Vt,Vt=n,i!==null&&(Vt===null?Vt=i:Vt.push.apply(Vt,i))}n=o}if(i=!1,n!==2)continue}}if(n===1){gn(e,0),Mr(e,t,0,!0);break}e:{switch(r=e,i=n,i){case 0:case 1:throw Error(B(345));case 4:if((t&4194048)!==t)break;case 6:Mr(r,t,ra,!Er);break e;case 2:Vt=null;break;case 3:case 5:break;default:throw Error(B(329))}if((t&62914560)===t&&(n=Us+300-ia(),10<n)){if(Mr(r,t,ra,!Er),ks(r,0,!0)!==0)break e;ir=t,r.timeoutHandle=Tb(Ef.bind(null,r,a,Vt,ds,Ku,t,ra,si,mn,Er,i,"Throttled",-0,0),n);break e}Ef(r,a,Vt,ds,Ku,t,ra,si,mn,Er,i,null,-0,0)}}break}while(!0);ja(e)}function Ef(e,t,a,r,n,i,o,l,c,p,f,b,d,h){if(e.timeoutHandle=-1,b=t.subtreeFlags,b&8192||(b&16785408)===16785408){b={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:er},rb(t,i,b);var w=(i&62914560)===i?Us-ia():(i&4194048)===i?lb-ia():0;if(w=N1(b,w),w!==null){ir=i,e.cancelPendingCommit=w(Tf.bind(null,e,t,i,a,r,n,o,l,c,f,b,null,d,h)),Mr(e,i,o,!p);return}}Tf(e,t,i,a,r,n,o,l,c)}function Qy(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var r=0;r<a.length;r++){var n=a[r],i=n.getSnapshot;n=n.value;try{if(!sa(i(),n))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Mr(e,t,a,r){t&=~Pp,t&=~si,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var n=t;0<n;){var i=31-oa(n),o=1<<i;r[i]=-1,n&=~o}a!==0&&fg(e,a,t)}function Ds(){return(Ue&6)===0?(Vo(0,!1),!1):!0}function Jp(){if(qe!==null){if(Oe===0)var e=qe.return;else e=qe,tr=vi=null,Dp(e),rn=null,qo=0,e=qe;for(;e!==null;)Yh(e.alternate,e),e=e.return;qe=null}}function gn(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,o1(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),ir=0,Jp(),Pe=e,qe=a=ar(e.current,null),Me=t,Oe=0,ea=null,Er=!1,xn=Oo(e,t),Kp=!1,mn=ra=Pp=si=Yr=ut=0,Vt=vo=null,Ku=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var n=31-oa(r),i=1<<n;t|=e[n],r&=~i}return cr=t,qs(),a}function pb(e,t){be=null,de.H=Mo,t===_n||t===Ms?(t=of(),Oe=3):t===Ep?(t=of(),Oe=4):Oe=t===Vp?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ea=t,qe===null&&(ut=1,ss(e,ba(t,e.current)))}function db(){var e=ca.current;return e===null?!0:(Me&4194048)===Me?wa===null:(Me&62914560)===Me||(Me&536870912)!==0?e===wa:!1}function mb(){var e=de.H;return de.H=Mo,e===null?Mo:e}function fb(){var e=de.A;return de.A=jy,e}function ms(){ut=4,Er||(Me&4194048)!==Me&&ca.current!==null||(xn=!0),(Yr&134217727)===0&&(si&134217727)===0||Pe===null||Mr(Pe,Me,ra,!1)}function lu(e,t,a){var r=Ue;Ue|=2;var n=mb(),i=fb();(Pe!==e||Me!==t)&&(ds=null,gn(e,t)),t=!1;var o=ut;e:do try{if(Oe!==0&&qe!==null){var l=qe,c=ea;switch(Oe){case 8:Jp(),o=6;break e;case 3:case 2:case 9:case 6:ca.current===null&&(t=!0);var p=Oe;if(Oe=0,ea=null,Ii(e,l,c,p),a&&xn){o=0;break e}break;default:p=Oe,Oe=0,ea=null,Ii(e,l,c,p)}}Yy(),o=ut;break}catch(f){pb(e,f)}while(!0);return t&&e.shellSuspendCounter++,tr=vi=null,Ue=r,de.H=n,de.A=i,qe===null&&(Pe=null,Me=0,qs()),o}function Yy(){for(;qe!==null;)gb(qe)}function Vy(e,t){var a=Ue;Ue|=2;var r=mb(),n=fb();Pe!==e||Me!==t?(ds=null,ps=ia()+500,gn(e,t)):xn=Oo(e,t);e:do try{if(Oe!==0&&qe!==null){t=qe;var i=ea;t:switch(Oe){case 1:Oe=0,ea=null,Ii(e,t,i,1);break;case 2:case 9:if(nf(i)){Oe=0,ea=null,Mf(t);break}t=function(){Oe!==2&&Oe!==9||Pe!==e||(Oe=7),ja(e)},i.then(t,t);break e;case 3:Oe=7;break e;case 4:Oe=5;break e;case 7:nf(i)?(Oe=0,ea=null,Mf(t)):(Oe=0,ea=null,Ii(e,t,i,7));break;case 5:var o=null;switch(qe.tag){case 26:o=qe.memoizedState;case 5:case 27:var l=qe;if(o?Db(o):l.stateNode.complete){Oe=0,ea=null;var c=l.sibling;if(c!==null)qe=c;else{var p=l.return;p!==null?(qe=p,Bs(p)):qe=null}break t}}Oe=0,ea=null,Ii(e,t,i,5);break;case 6:Oe=0,ea=null,Ii(e,t,i,6);break;case 8:Jp(),ut=6;break e;default:throw Error(B(462))}}Xy();break}catch(f){pb(e,f)}while(!0);return tr=vi=null,de.H=r,de.A=n,Ue=a,qe!==null?0:(Pe=null,Me=0,qs(),ut)}function Xy(){for(;qe!==null&&!f0();)gb(qe)}function gb(e){var t=Qh(e.alternate,e,cr);e.memoizedProps=e.pendingProps,t===null?Bs(e):qe=t}function Mf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=xf(a,t,t.pendingProps,t.type,void 0,Me);break;case 11:t=xf(a,t,t.pendingProps,t.type.render,t.ref,Me);break;case 5:Dp(t);default:Yh(a,t),t=qe=Yg(t,cr),t=Qh(a,t,cr)}e.memoizedProps=e.pendingProps,t===null?Bs(e):qe=t}function Ii(e,t,a,r){tr=vi=null,Dp(t),rn=null,qo=0;var n=t.return;try{if(Ry(e,n,t,a,Me)){ut=1,ss(e,ba(a,e.current)),qe=null;return}}catch(i){if(n!==null)throw qe=n,i;ut=1,ss(e,ba(a,e.current)),qe=null;return}t.flags&32768?(Te||r===1?e=!0:xn||(Me&536870912)!==0?e=!1:(Er=e=!0,(r===2||r===9||r===3||r===6)&&(r=ca.current,r!==null&&r.tag===13&&(r.flags|=16384))),hb(t,e)):Bs(t)}function Bs(e){var t=e;do{if((t.flags&32768)!==0){hb(t,Er);return}e=t.return;var a=By(t.alternate,t,cr);if(a!==null){qe=a;return}if(t=t.sibling,t!==null){qe=t;return}qe=t=e}while(t!==null);ut===0&&(ut=5)}function hb(e,t){do{var a=Oy(e.alternate,e);if(a!==null){a.flags&=32767,qe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){qe=e;return}qe=e=a}while(e!==null);ut=6,qe=null}function Tf(e,t,a,r,n,i,o,l,c){e.cancelPendingCommit=null;do Os();while(yt!==0);if((Ue&6)!==0)throw Error(B(327));if(t!==null){if(t===e.current)throw Error(B(177));if(i=t.lanes|t.childLanes,i|=_p,N0(e,a,i,o,l,c),e===Pe&&(qe=Pe=null,Me=0),fn=t,Br=e,ir=a,Pu=i,Ju=n,sb=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Py(Fl,function(){return _b(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=de.T,de.T=null,n=De.p,De.p=2,o=Ue,Ue|=4;try{Ly(e,t,a)}finally{Ue=o,De.p=n,de.T=r}}yt=1,bb(),vb(),wb()}}function bb(){if(yt===1){yt=0;var e=Br,t=fn,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=de.T,de.T=null;var r=De.p;De.p=2;var n=Ue;Ue|=4;try{eb(t,e);var i=tp,o=Dg(e.containerInfo),l=i.focusedElem,c=i.selectionRange;if(o!==l&&l&&l.ownerDocument&&Ug(l.ownerDocument.documentElement,l)){if(c!==null&&yp(l)){var p=c.start,f=c.end;if(f===void 0&&(f=p),"selectionStart"in l)l.selectionStart=p,l.selectionEnd=Math.min(f,l.value.length);else{var b=l.ownerDocument||document,d=b&&b.defaultView||window;if(d.getSelection){var h=d.getSelection(),w=l.textContent.length,E=Math.min(c.start,w),D=c.end===void 0?E:Math.min(c.end,w);!h.extend&&E>D&&(o=D,D=E,E=o);var m=Fm(l,E),u=Fm(l,D);if(m&&u&&(h.rangeCount!==1||h.anchorNode!==m.node||h.anchorOffset!==m.offset||h.focusNode!==u.node||h.focusOffset!==u.offset)){var g=b.createRange();g.setStart(m.node,m.offset),h.removeAllRanges(),E>D?(h.addRange(g),h.extend(u.node,u.offset)):(g.setEnd(u.node,u.offset),h.addRange(g))}}}}for(b=[],h=l;h=h.parentNode;)h.nodeType===1&&b.push({element:h,left:h.scrollLeft,top:h.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<b.length;l++){var v=b[l];v.element.scrollLeft=v.left,v.element.scrollTop=v.top}}_s=!!ep,tp=ep=null}finally{Ue=n,De.p=r,de.T=a}}e.current=t,yt=2}}function vb(){if(yt===2){yt=0;var e=Br,t=fn,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=de.T,de.T=null;var r=De.p;De.p=2;var n=Ue;Ue|=4;try{Ph(e,t.alternate,t)}finally{Ue=n,De.p=r,de.T=a}}yt=3}}function wb(){if(yt===4||yt===3){yt=0,g0();var e=Br,t=fn,a=ir,r=sb;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?yt=5:(yt=0,fn=Br=null,yb(e,e.pendingLanes));var n=e.pendingLanes;if(n===0&&(Dr=null),mp(a),t=t.stateNode,na&&typeof na.onCommitFiberRoot=="function")try{na.onCommitFiberRoot(Bo,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=de.T,n=De.p,De.p=2,de.T=null;try{for(var i=e.onRecoverableError,o=0;o<r.length;o++){var l=r[o];i(l.value,{componentStack:l.stack})}}finally{de.T=t,De.p=n}}(ir&3)!==0&&Os(),ja(e),n=e.pendingLanes,(a&261930)!==0&&(n&42)!==0?e===Fu?wo++:(wo=0,Fu=e):wo=0,Vo(0,!1)}}function yb(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Go(t)))}function Os(){return bb(),vb(),wb(),_b()}function _b(){if(yt!==5)return!1;var e=Br,t=Pu;Pu=0;var a=mp(ir),r=de.T,n=De.p;try{De.p=32>a?32:a,de.T=null,a=Ju,Ju=null;var i=Br,o=ir;if(yt=0,fn=Br=null,ir=0,(Ue&6)!==0)throw Error(B(331));var l=Ue;if(Ue|=4,nb(i.current),ab(i,i.current,o,a),Ue=l,Vo(0,!1),na&&typeof na.onPostCommitFiberRoot=="function")try{na.onPostCommitFiberRoot(Bo,i)}catch{}return!0}finally{De.p=n,de.T=r,yb(e,t)}}function zf(e,t,a){t=ba(a,t),t=Vu(e.stateNode,t,2),e=Ur(e,t,2),e!==null&&(Lo(e,2),ja(e))}function Le(e,t,a){if(e.tag===3)zf(e,e,a);else for(;t!==null;){if(t.tag===3){zf(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Dr===null||!Dr.has(r))){e=ba(a,e),a=Bh(2),r=Ur(t,a,2),r!==null&&(Oh(a,r,t,e),Lo(r,2),ja(r));break}}t=t.return}}function su(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Gy;var n=new Set;r.set(t,n)}else n=r.get(t),n===void 0&&(n=new Set,r.set(t,n));n.has(a)||(Kp=!0,n.add(a),e=$y.bind(null,e,t,a),t.then(e,e))}function $y(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Pe===e&&(Me&a)===a&&(ut===4||ut===3&&(Me&62914560)===Me&&300>ia()-Us?(Ue&2)===0&&gn(e,0):Pp|=a,mn===Me&&(mn=0)),ja(e)}function xb(e,t){t===0&&(t=mg()),e=bi(e,t),e!==null&&(Lo(e,t),ja(e))}function Zy(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),xb(e,a)}function Ky(e,t){var a=0;switch(e.tag){case 31:case 13:var r=e.stateNode,n=e.memoizedState;n!==null&&(a=n.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(B(314))}r!==null&&r.delete(t),xb(e,a)}function Py(e,t){return pp(e,t)}var fs=null,ji=null,Iu=!1,gs=!1,cu=!1,Tr=0;function ja(e){e!==ji&&e.next===null&&(ji===null?fs=ji=e:ji=ji.next=e),gs=!0,Iu||(Iu=!0,Fy())}function Vo(e,t){if(!cu&&gs){cu=!0;do for(var a=!1,r=fs;r!==null;){if(!t)if(e!==0){var n=r.pendingLanes;if(n===0)var i=0;else{var o=r.suspendedLanes,l=r.pingedLanes;i=(1<<31-oa(42|e)+1)-1,i&=n&~(o&~l),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(a=!0,Af(r,i))}else i=Me,i=ks(r,r===Pe?i:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(i&3)===0||Oo(r,i)||(a=!0,Af(r,i));r=r.next}while(a);cu=!1}}function Jy(){kb()}function kb(){gs=Iu=!1;var e=0;Tr!==0&&n1()&&(e=Tr);for(var t=ia(),a=null,r=fs;r!==null;){var n=r.next,i=Nb(r,t);i===0?(r.next=null,a===null?fs=n:a.next=n,n===null&&(ji=a)):(a=r,(e!==0||(i&3)!==0)&&(gs=!0)),r=n}yt!==0&&yt!==5||Vo(e,!1),Tr!==0&&(Tr=0)}function Nb(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,n=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var o=31-oa(i),l=1<<o,c=n[o];c===-1?((l&a)===0||(l&r)!==0)&&(n[o]=k0(l,t)):c<=t&&(e.expiredLanes|=l),i&=~l}if(t=Pe,a=Me,a=ks(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,a===0||e===t&&(Oe===2||Oe===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Lc(r),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Oo(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(r!==null&&Lc(r),mp(a)){case 2:case 8:a=pg;break;case 32:a=Fl;break;case 268435456:a=dg;break;default:a=Fl}return r=Sb.bind(null,e),a=pp(a,r),e.callbackPriority=t,e.callbackNode=a,t}return r!==null&&r!==null&&Lc(r),e.callbackPriority=2,e.callbackNode=null,2}function Sb(e,t){if(yt!==0&&yt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Os()&&e.callbackNode!==a)return null;var r=Me;return r=ks(e,e===Pe?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ub(e,r,t),Nb(e,ia()),e.callbackNode!=null&&e.callbackNode===a?Sb.bind(null,e):null)}function Af(e,t){if(Os())return null;ub(e,t,!0)}function Fy(){l1(function(){(Ue&6)!==0?pp(ug,Jy):kb()})}function Fp(){if(Tr===0){var e=un;e===0&&(e=hl,hl<<=1,(hl&261888)===0&&(hl=256)),Tr=e}return Tr}function Rf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ul(""+e)}function Uf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Iy(e,t,a,r,n){if(t==="submit"&&a&&a.stateNode===n){var i=Rf((n[$t]||null).action),o=r.submitter;o&&(t=(t=o[$t]||null)?Rf(t.formAction):o.getAttribute("formAction"),t!==null&&(i=t,o=null));var l=new Ns("action","action",null,r,n);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Tr!==0){var c=o?Uf(n,o):new FormData(n);Qu(a,{pending:!0,data:c,method:n.method,action:i},null,c)}}else typeof i=="function"&&(l.preventDefault(),c=o?Uf(n,o):new FormData(n),Qu(a,{pending:!0,data:c,method:n.method,action:i},i,c))},currentTarget:n}]})}}for(El=0;El<Tu.length;El++)Ml=Tu[El],Df=Ml.toLowerCase(),Bf=Ml[0].toUpperCase()+Ml.slice(1),Aa(Df,"on"+Bf);var Ml,Df,Bf,El;Aa(Og,"onAnimationEnd");Aa(Lg,"onAnimationIteration");Aa(Hg,"onAnimationStart");Aa("dblclick","onDoubleClick");Aa("focusin","onFocus");Aa("focusout","onBlur");Aa(hy,"onTransitionRun");Aa(by,"onTransitionStart");Aa(vy,"onTransitionCancel");Aa(jg,"onTransitionEnd");sn("onMouseEnter",["mouseout","mouseover"]);sn("onMouseLeave",["mouseout","mouseover"]);sn("onPointerEnter",["pointerout","pointerover"]);sn("onPointerLeave",["pointerout","pointerover"]);fi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fi("onBeforeInput",["compositionend","keypress","textInput","paste"]);fi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var To="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Wy=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(To));function Cb(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],n=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,p=l.currentTarget;if(l=l.listener,c!==i&&n.isPropagationStopped())break e;i=l,n.currentTarget=p;try{i(n)}catch(f){Wl(f)}n.currentTarget=null,i=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,p=l.currentTarget,l=l.listener,c!==i&&n.isPropagationStopped())break e;i=l,n.currentTarget=p;try{i(n)}catch(f){Wl(f)}n.currentTarget=null,i=c}}}}function Ce(e,t){var a=t[xu];a===void 0&&(a=t[xu]=new Set);var r=e+"__bubble";a.has(r)||(qb(t,e,2,!1),a.add(r))}function uu(e,t,a){var r=0;t&&(r|=4),qb(a,e,r,t)}var Tl="_reactListening"+Math.random().toString(36).slice(2);function Ip(e){if(!e[Tl]){e[Tl]=!0,vg.forEach(function(a){a!=="selectionchange"&&(Wy.has(a)||uu(a,!1,e),uu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Tl]||(t[Tl]=!0,uu("selectionchange",!1,t))}}function qb(e,t,a,r){switch(jb(t)){case 2:var n=q1;break;case 8:n=E1;break;default:n=ad}a=n.bind(null,t,a,e),n=void 0,!qu||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),r?n!==void 0?e.addEventListener(t,a,{capture:!0,passive:n}):e.addEventListener(t,a,!0):n!==void 0?e.addEventListener(t,a,{passive:n}):e.addEventListener(t,a,!1)}function pu(e,t,a,r,n){var i=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===n)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===n)return;o=o.return}for(;l!==null;){if(o=Yi(l),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=i=o;continue e}l=l.parentNode}}r=r.return}Cg(function(){var p=i,f=hp(a),b=[];e:{var d=Gg.get(e);if(d!==void 0){var h=Ns,w=e;switch(e){case"keypress":if(Bl(a)===0)break e;case"keydown":case"keyup":h=K0;break;case"focusin":w="focus",h=Yc;break;case"focusout":w="blur",h=Yc;break;case"beforeblur":case"afterblur":h=Yc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":h=Qm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=B0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=F0;break;case Og:case Lg:case Hg:h=H0;break;case jg:h=W0;break;case"scroll":case"scrollend":h=U0;break;case"wheel":h=ty;break;case"copy":case"cut":case"paste":h=G0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=Vm;break;case"toggle":case"beforetoggle":h=ry}var E=(t&4)!==0,D=!E&&(e==="scroll"||e==="scrollend"),m=E?d!==null?d+"Capture":null:d;E=[];for(var u=p,g;u!==null;){var v=u;if(g=v.stateNode,v=v.tag,v!==5&&v!==26&&v!==27||g===null||m===null||(v=xo(u,m),v!=null&&E.push(zo(u,v,g))),D)break;u=u.return}0<E.length&&(d=new h(d,w,null,a,f),b.push({event:d,listeners:E}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",d&&a!==Cu&&(w=a.relatedTarget||a.fromElement)&&(Yi(w)||w[vn]))break e;if((h||d)&&(d=f.window===f?f:(d=f.ownerDocument)?d.defaultView||d.parentWindow:window,h?(w=a.relatedTarget||a.toElement,h=p,w=w?Yi(w):null,w!==null&&(D=Do(w),E=w.tag,w!==D||E!==5&&E!==27&&E!==6)&&(w=null)):(h=null,w=p),h!==w)){if(E=Qm,v="onMouseLeave",m="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(E=Vm,v="onPointerLeave",m="onPointerEnter",u="pointer"),D=h==null?d:io(h),g=w==null?d:io(w),d=new E(v,u+"leave",h,a,f),d.target=D,d.relatedTarget=g,v=null,Yi(f)===p&&(E=new E(m,u+"enter",w,a,f),E.target=g,E.relatedTarget=D,v=E),D=v,h&&w)t:{for(E=e1,m=h,u=w,g=0,v=m;v;v=E(v))g++;v=0;for(var N=u;N;N=E(N))v++;for(;0<g-v;)m=E(m),g--;for(;0<v-g;)u=E(u),v--;for(;g--;){if(m===u||u!==null&&m===u.alternate){E=m;break t}m=E(m),u=E(u)}E=null}else E=null;h!==null&&Of(b,d,h,E,!1),w!==null&&D!==null&&Of(b,D,w,E,!0)}}e:{if(d=p?io(p):window,h=d.nodeName&&d.nodeName.toLowerCase(),h==="select"||h==="input"&&d.type==="file")var R=Km;else if(Zm(d))if(Ag)R=my;else{R=py;var T=uy}else h=d.nodeName,!h||h.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?p&&gp(p.elementType)&&(R=Km):R=dy;if(R&&(R=R(e,p))){zg(b,R,a,f);break e}T&&T(e,d,p),e==="focusout"&&p&&d.type==="number"&&p.memoizedProps.value!=null&&Su(d,"number",d.value)}switch(T=p?io(p):window,e){case"focusin":(Zm(T)||T.contentEditable==="true")&&($i=T,Eu=p,co=null);break;case"focusout":co=Eu=$i=null;break;case"mousedown":Mu=!0;break;case"contextmenu":case"mouseup":case"dragend":Mu=!1,Im(b,a,f);break;case"selectionchange":if(gy)break;case"keydown":case"keyup":Im(b,a,f)}var z;if(wp)e:{switch(e){case"compositionstart":var G="onCompositionStart";break e;case"compositionend":G="onCompositionEnd";break e;case"compositionupdate":G="onCompositionUpdate";break e}G=void 0}else Xi?Mg(e,a)&&(G="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(G="onCompositionStart");G&&(Eg&&a.locale!=="ko"&&(Xi||G!=="onCompositionStart"?G==="onCompositionEnd"&&Xi&&(z=qg()):(qr=f,bp="value"in qr?qr.value:qr.textContent,Xi=!0)),T=hs(p,G),0<T.length&&(G=new Ym(G,e,null,a,f),b.push({event:G,listeners:T}),z?G.data=z:(z=Tg(a),z!==null&&(G.data=z)))),(z=ny?oy(e,a):ly(e,a))&&(G=hs(p,"onBeforeInput"),0<G.length&&(T=new Ym("onBeforeInput","beforeinput",null,a,f),b.push({event:T,listeners:G}),T.data=z)),Iy(b,e,p,a,f)}Cb(b,t)})}function zo(e,t,a){return{instance:e,listener:t,currentTarget:a}}function hs(e,t){for(var a=t+"Capture",r=[];e!==null;){var n=e,i=n.stateNode;if(n=n.tag,n!==5&&n!==26&&n!==27||i===null||(n=xo(e,a),n!=null&&r.unshift(zo(e,n,i)),n=xo(e,t),n!=null&&r.push(zo(e,n,i))),e.tag===3)return r;e=e.return}return[]}function e1(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Of(e,t,a,r,n){for(var i=t._reactName,o=[];a!==null&&a!==r;){var l=a,c=l.alternate,p=l.stateNode;if(l=l.tag,c!==null&&c===r)break;l!==5&&l!==26&&l!==27||p===null||(c=p,n?(p=xo(a,i),p!=null&&o.unshift(zo(a,p,c))):n||(p=xo(a,i),p!=null&&o.push(zo(a,p,c)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var t1=/\r\n?/g,a1=/\u0000|\uFFFD/g;function Lf(e){return(typeof e=="string"?e:""+e).replace(t1,`
9
+ `).replace(a1,"")}function Eb(e,t){return t=Lf(t),Lf(e)===t}function Xe(e,t,a,r,n,i){switch(a){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cn(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cn(e,""+r);break;case"className":wl(e,"class",r);break;case"tabIndex":wl(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":wl(e,a,r);break;case"style":Sg(e,r,i);break;case"data":if(t!=="object"){wl(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ul(""+r),e.setAttribute(a,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(a==="formAction"?(t!=="input"&&Xe(e,t,"name",n.name,n,null),Xe(e,t,"formEncType",n.formEncType,n,null),Xe(e,t,"formMethod",n.formMethod,n,null),Xe(e,t,"formTarget",n.formTarget,n,null)):(Xe(e,t,"encType",n.encType,n,null),Xe(e,t,"method",n.method,n,null),Xe(e,t,"target",n.target,n,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ul(""+r),e.setAttribute(a,r);break;case"onClick":r!=null&&(e.onclick=er);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(n.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}a=Ul(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,""+r):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":r===!0?e.setAttribute(a,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,r):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(a,r):e.removeAttribute(a);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(a):e.setAttribute(a,r);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),Rl(e,"popover",r);break;case"xlinkActuate":$a(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":$a(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":$a(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":$a(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":$a(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":$a(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":$a(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":$a(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":$a(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Rl(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=A0.get(a)||a,Rl(e,a,r))}}function Wu(e,t,a,r,n,i){switch(a){case"style":Sg(e,r,i);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(n.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"children":typeof r=="string"?cn(e,r):(typeof r=="number"||typeof r=="bigint")&&cn(e,""+r);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"onClick":r!=null&&(e.onclick=er);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wg.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(n=a.endsWith("Capture"),t=a.slice(2,n?a.length-7:void 0),i=e[$t]||null,i=i!=null?i[a]:null,typeof i=="function"&&e.removeEventListener(t,i,n),typeof r=="function")){typeof i!="function"&&i!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,r,n);break e}a in e?e[a]=r:r===!0?e.setAttribute(a,""):Rl(e,a,r)}}}function Tt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var r=!1,n=!1,i;for(i in a)if(a.hasOwnProperty(i)){var o=a[i];if(o!=null)switch(i){case"src":r=!0;break;case"srcSet":n=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Xe(e,t,i,o,a,null)}}n&&Xe(e,t,"srcSet",a.srcSet,a,null),r&&Xe(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var l=i=o=n=null,c=null,p=null;for(r in a)if(a.hasOwnProperty(r)){var f=a[r];if(f!=null)switch(r){case"name":n=f;break;case"type":o=f;break;case"checked":c=f;break;case"defaultChecked":p=f;break;case"value":i=f;break;case"defaultValue":l=f;break;case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(B(137,t));break;default:Xe(e,t,r,f,a,null)}}xg(e,i,l,c,p,o,n,!1);return;case"select":Ce("invalid",e),r=o=i=null;for(n in a)if(a.hasOwnProperty(n)&&(l=a[n],l!=null))switch(n){case"value":i=l;break;case"defaultValue":o=l;break;case"multiple":r=l;default:Xe(e,t,n,l,a,null)}t=i,a=o,e.multiple=!!r,t!=null?en(e,!!r,t,!1):a!=null&&en(e,!!r,a,!0);return;case"textarea":Ce("invalid",e),i=n=r=null;for(o in a)if(a.hasOwnProperty(o)&&(l=a[o],l!=null))switch(o){case"value":r=l;break;case"defaultValue":n=l;break;case"children":i=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(B(91));break;default:Xe(e,t,o,l,a,null)}Ng(e,r,n,i);return;case"option":for(c in a)a.hasOwnProperty(c)&&(r=a[c],r!=null)&&(c==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Xe(e,t,c,r,a,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(r=0;r<To.length;r++)Ce(To[r],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(p in a)if(a.hasOwnProperty(p)&&(r=a[p],r!=null))switch(p){case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Xe(e,t,p,r,a,null)}return;default:if(gp(t)){for(f in a)a.hasOwnProperty(f)&&(r=a[f],r!==void 0&&Wu(e,t,f,r,a,void 0));return}}for(l in a)a.hasOwnProperty(l)&&(r=a[l],r!=null&&Xe(e,t,l,r,a,null))}function r1(e,t,a,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var n=null,i=null,o=null,l=null,c=null,p=null,f=null;for(h in a){var b=a[h];if(a.hasOwnProperty(h)&&b!=null)switch(h){case"checked":break;case"value":break;case"defaultValue":c=b;default:r.hasOwnProperty(h)||Xe(e,t,h,null,r,b)}}for(var d in r){var h=r[d];if(b=a[d],r.hasOwnProperty(d)&&(h!=null||b!=null))switch(d){case"type":i=h;break;case"name":n=h;break;case"checked":p=h;break;case"defaultChecked":f=h;break;case"value":o=h;break;case"defaultValue":l=h;break;case"children":case"dangerouslySetInnerHTML":if(h!=null)throw Error(B(137,t));break;default:h!==b&&Xe(e,t,d,h,r,b)}}Nu(e,o,l,c,p,f,i,n);return;case"select":h=o=l=d=null;for(i in a)if(c=a[i],a.hasOwnProperty(i)&&c!=null)switch(i){case"value":break;case"multiple":h=c;default:r.hasOwnProperty(i)||Xe(e,t,i,null,r,c)}for(n in r)if(i=r[n],c=a[n],r.hasOwnProperty(n)&&(i!=null||c!=null))switch(n){case"value":d=i;break;case"defaultValue":l=i;break;case"multiple":o=i;default:i!==c&&Xe(e,t,n,i,r,c)}t=l,a=o,r=h,d!=null?en(e,!!a,d,!1):!!r!=!!a&&(t!=null?en(e,!!a,t,!0):en(e,!!a,a?[]:"",!1));return;case"textarea":h=d=null;for(l in a)if(n=a[l],a.hasOwnProperty(l)&&n!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:Xe(e,t,l,null,r,n)}for(o in r)if(n=r[o],i=a[o],r.hasOwnProperty(o)&&(n!=null||i!=null))switch(o){case"value":d=n;break;case"defaultValue":h=n;break;case"children":break;case"dangerouslySetInnerHTML":if(n!=null)throw Error(B(91));break;default:n!==i&&Xe(e,t,o,n,r,i)}kg(e,d,h);return;case"option":for(var w in a)d=a[w],a.hasOwnProperty(w)&&d!=null&&!r.hasOwnProperty(w)&&(w==="selected"?e.selected=!1:Xe(e,t,w,null,r,d));for(c in r)d=r[c],h=a[c],r.hasOwnProperty(c)&&d!==h&&(d!=null||h!=null)&&(c==="selected"?e.selected=d&&typeof d!="function"&&typeof d!="symbol":Xe(e,t,c,d,r,h));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var E in a)d=a[E],a.hasOwnProperty(E)&&d!=null&&!r.hasOwnProperty(E)&&Xe(e,t,E,null,r,d);for(p in r)if(d=r[p],h=a[p],r.hasOwnProperty(p)&&d!==h&&(d!=null||h!=null))switch(p){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(B(137,t));break;default:Xe(e,t,p,d,r,h)}return;default:if(gp(t)){for(var D in a)d=a[D],a.hasOwnProperty(D)&&d!==void 0&&!r.hasOwnProperty(D)&&Wu(e,t,D,void 0,r,d);for(f in r)d=r[f],h=a[f],!r.hasOwnProperty(f)||d===h||d===void 0&&h===void 0||Wu(e,t,f,d,r,h);return}}for(var m in a)d=a[m],a.hasOwnProperty(m)&&d!=null&&!r.hasOwnProperty(m)&&Xe(e,t,m,null,r,d);for(b in r)d=r[b],h=a[b],!r.hasOwnProperty(b)||d===h||d==null&&h==null||Xe(e,t,b,d,r,h)}function Hf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function i1(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),r=0;r<a.length;r++){var n=a[r],i=n.transferSize,o=n.initiatorType,l=n.duration;if(i&&l&&Hf(o)){for(o=0,l=n.responseEnd,r+=1;r<a.length;r++){var c=a[r],p=c.startTime;if(p>l)break;var f=c.transferSize,b=c.initiatorType;f&&Hf(b)&&(c=c.responseEnd,o+=f*(c<l?1:(l-p)/(c-p)))}if(--r,t+=8*(i+o)/(n.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ep=null,tp=null;function bs(e){return e.nodeType===9?e:e.ownerDocument}function jf(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Mb(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function ap(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var du=null;function n1(){var e=window.event;return e&&e.type==="popstate"?e===du?!1:(du=e,!0):(du=null,!1)}var Tb=typeof setTimeout=="function"?setTimeout:void 0,o1=typeof clearTimeout=="function"?clearTimeout:void 0,Gf=typeof Promise=="function"?Promise:void 0,l1=typeof queueMicrotask=="function"?queueMicrotask:typeof Gf<"u"?function(e){return Gf.resolve(null).then(e).catch(s1)}:Tb;function s1(e){setTimeout(function(){throw e})}function Xr(e){return e==="head"}function Qf(e,t){var a=t,r=0;do{var n=a.nextSibling;if(e.removeChild(a),n&&n.nodeType===8)if(a=n.data,a==="/$"||a==="/&"){if(r===0){e.removeChild(n),bn(t);return}r--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")r++;else if(a==="html")yo(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,yo(a);for(var i=a.firstChild;i;){var o=i.nextSibling,l=i.nodeName;i[Ho]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&i.rel.toLowerCase()==="stylesheet"||a.removeChild(i),i=o}}else a==="body"&&yo(e.ownerDocument.body);a=n}while(a);bn(t)}function Yf(e,t){var a=e;e=0;do{var r=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=r}while(a)}function rp(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":rp(a),fp(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function c1(e,t,a,r){for(;e.nodeType===1;){var n=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Ho])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==n.rel||e.getAttribute("href")!==(n.href==null||n.href===""?null:n.href)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin)||e.getAttribute("title")!==(n.title==null?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(n.src==null?null:n.src)||e.getAttribute("type")!==(n.type==null?null:n.type)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=n.name==null?null:""+n.name;if(n.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=ya(e.nextSibling),e===null)break}return null}function u1(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=ya(e.nextSibling),e===null))return null;return e}function zb(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=ya(e.nextSibling),e===null))return null;return e}function ip(e){return e.data==="$?"||e.data==="$~"}function np(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function p1(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var r=function(){t(),a.removeEventListener("DOMContentLoaded",r)};a.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function ya(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var op=null;function Vf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return ya(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Xf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Ab(e,t,a){switch(t=bs(a),e){case"html":if(e=t.documentElement,!e)throw Error(B(452));return e;case"head":if(e=t.head,!e)throw Error(B(453));return e;case"body":if(e=t.body,!e)throw Error(B(454));return e;default:throw Error(B(451))}}function yo(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);fp(e)}var _a=new Map,$f=new Set;function vs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var ur=De.d;De.d={f:d1,r:m1,D:f1,C:g1,L:h1,m:b1,X:w1,S:v1,M:y1};function d1(){var e=ur.f(),t=Ds();return e||t}function m1(e){var t=wn(e);t!==null&&t.tag===5&&t.type==="form"?Sh(t):ur.r(e)}var kn=typeof document>"u"?null:document;function Rb(e,t,a){var r=kn;if(r&&typeof t=="string"&&t){var n=ha(t);n='link[rel="'+e+'"][href="'+n+'"]',typeof a=="string"&&(n+='[crossorigin="'+a+'"]'),$f.has(n)||($f.add(n),e={rel:e,crossOrigin:a,href:t},r.querySelector(n)===null&&(t=r.createElement("link"),Tt(t,"link",e),Nt(t),r.head.appendChild(t)))}}function f1(e){ur.D(e),Rb("dns-prefetch",e,null)}function g1(e,t){ur.C(e,t),Rb("preconnect",e,t)}function h1(e,t,a){ur.L(e,t,a);var r=kn;if(r&&e&&t){var n='link[rel="preload"][as="'+ha(t)+'"]';t==="image"&&a&&a.imageSrcSet?(n+='[imagesrcset="'+ha(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(n+='[imagesizes="'+ha(a.imageSizes)+'"]')):n+='[href="'+ha(e)+'"]';var i=n;switch(t){case"style":i=hn(e);break;case"script":i=Nn(e)}_a.has(i)||(e=it({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),_a.set(i,e),r.querySelector(n)!==null||t==="style"&&r.querySelector(Xo(i))||t==="script"&&r.querySelector($o(i))||(t=r.createElement("link"),Tt(t,"link",e),Nt(t),r.head.appendChild(t)))}}function b1(e,t){ur.m(e,t);var a=kn;if(a&&e){var r=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+ha(r)+'"][href="'+ha(e)+'"]',i=n;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=Nn(e)}if(!_a.has(i)&&(e=it({rel:"modulepreload",href:e},t),_a.set(i,e),a.querySelector(n)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector($o(i)))return}r=a.createElement("link"),Tt(r,"link",e),Nt(r),a.head.appendChild(r)}}}function v1(e,t,a){ur.S(e,t,a);var r=kn;if(r&&e){var n=Wi(r).hoistableStyles,i=hn(e);t=t||"default";var o=n.get(i);if(!o){var l={loading:0,preload:null};if(o=r.querySelector(Xo(i)))l.loading=5;else{e=it({rel:"stylesheet",href:e,"data-precedence":t},a),(a=_a.get(i))&&Wp(e,a);var c=o=r.createElement("link");Nt(c),Tt(c,"link",e),c._p=new Promise(function(p,f){c.onload=p,c.onerror=f}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,Vl(o,t,r)}o={type:"stylesheet",instance:o,count:1,state:l},n.set(i,o)}}}function w1(e,t){ur.X(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,n=Nn(e),i=r.get(n);i||(i=a.querySelector($o(n)),i||(e=it({src:e,async:!0},t),(t=_a.get(n))&&ed(e,t),i=a.createElement("script"),Nt(i),Tt(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},r.set(n,i))}}function y1(e,t){ur.M(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,n=Nn(e),i=r.get(n);i||(i=a.querySelector($o(n)),i||(e=it({src:e,async:!0,type:"module"},t),(t=_a.get(n))&&ed(e,t),i=a.createElement("script"),Nt(i),Tt(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},r.set(n,i))}}function Zf(e,t,a,r){var n=(n=zr.current)?vs(n):null;if(!n)throw Error(B(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=hn(a.href),a=Wi(n).hoistableStyles,r=a.get(t),r||(r={type:"style",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=hn(a.href);var i=Wi(n).hoistableStyles,o=i.get(e);if(o||(n=n.ownerDocument||n,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,o),(i=n.querySelector(Xo(e)))&&!i._p&&(o.instance=i,o.state.loading=5),_a.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},_a.set(e,a),i||_1(n,e,a,o.state))),t&&r===null)throw Error(B(528,""));return o}if(t&&r!==null)throw Error(B(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Nn(a),a=Wi(n).hoistableScripts,r=a.get(t),r||(r={type:"script",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(B(444,e))}}function hn(e){return'href="'+ha(e)+'"'}function Xo(e){return'link[rel="stylesheet"]['+e+"]"}function Ub(e){return it({},e,{"data-precedence":e.precedence,precedence:null})}function _1(e,t,a,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Tt(t,"link",a),Nt(t),e.head.appendChild(t))}function Nn(e){return'[src="'+ha(e)+'"]'}function $o(e){return"script[async]"+e}function Kf(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ha(a.href)+'"]');if(r)return t.instance=r,Nt(r),r;var n=it({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),Nt(r),Tt(r,"style",n),Vl(r,a.precedence,e),t.instance=r;case"stylesheet":n=hn(a.href);var i=e.querySelector(Xo(n));if(i)return t.state.loading|=4,t.instance=i,Nt(i),i;r=Ub(a),(n=_a.get(n))&&Wp(r,n),i=(e.ownerDocument||e).createElement("link"),Nt(i);var o=i;return o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Tt(i,"link",r),t.state.loading|=4,Vl(i,a.precedence,e),t.instance=i;case"script":return i=Nn(a.src),(n=e.querySelector($o(i)))?(t.instance=n,Nt(n),n):(r=a,(n=_a.get(i))&&(r=it({},a),ed(r,n)),e=e.ownerDocument||e,n=e.createElement("script"),Nt(n),Tt(n,"link",r),e.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(B(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,Vl(r,a.precedence,e));return t.instance}function Vl(e,t,a){for(var r=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=r.length?r[r.length-1]:null,i=n,o=0;o<r.length;o++){var l=r[o];if(l.dataset.precedence===t)i=l;else if(i!==n)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Wp(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function ed(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Xl=null;function Pf(e,t,a){if(Xl===null){var r=new Map,n=Xl=new Map;n.set(a,r)}else n=Xl,r=n.get(a),r||(r=new Map,n.set(a,r));if(r.has(e))return r;for(r.set(e,null),a=a.getElementsByTagName(e),n=0;n<a.length;n++){var i=a[n];if(!(i[Ho]||i[qt]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var o=i.getAttribute(t)||"";o=e+o;var l=r.get(o);l?l.push(i):r.set(o,[i])}}return r}function Jf(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function x1(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Db(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function k1(e,t,a,r){if(a.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var n=hn(r.href),i=t.querySelector(Xo(n));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ws.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=i,Nt(i);return}i=t.ownerDocument||t,r=Ub(r),(n=_a.get(n))&&Wp(r,n),i=i.createElement("link"),Nt(i);var o=i;o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Tt(i,"link",r),a.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ws.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var mu=0;function N1(e,t){return e.stylesheets&&e.count===0&&$l(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var r=setTimeout(function(){if(e.stylesheets&&$l(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&mu===0&&(mu=62500*i1());var n=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&$l(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>mu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(n)}}:null}function ws(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)$l(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ys=null;function $l(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ys=new Map,t.forEach(S1,e),ys=null,ws.call(e))}function S1(e,t){if(!(t.state.loading&4)){var a=ys.get(e);if(a)var r=a.get(null);else{a=new Map,ys.set(e,a);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<n.length;i++){var o=n[i];(o.nodeName==="LINK"||o.getAttribute("media")!=="not all")&&(a.set(o.dataset.precedence,o),r=o)}r&&a.set(null,r)}n=t.instance,o=n.getAttribute("data-precedence"),i=a.get(o)||r,i===r&&a.set(null,n),a.set(o,n),this.count++,r=ws.bind(this),n.addEventListener("load",r),n.addEventListener("error",r),i?i.parentNode.insertBefore(n,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(n,e.firstChild)),t.state.loading|=4}}var Ao={$$typeof:Wa,Provider:null,Consumer:null,_currentValue:ii,_currentValue2:ii,_threadCount:0};function C1(e,t,a,r,n,i,o,l,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Hc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hc(0),this.hiddenUpdates=Hc(null),this.identifierPrefix=r,this.onUncaughtError=n,this.onCaughtError=i,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function Bb(e,t,a,r,n,i,o,l,c,p,f,b){return e=new C1(e,t,a,o,c,p,f,b,l),t=1,i===!0&&(t|=24),i=aa(3,null,null,t),e.current=i,i.stateNode=e,t=Cp(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:r,isDehydrated:a,cache:t},Mp(i),e}function Ob(e){return e?(e=Pi,e):Pi}function Lb(e,t,a,r,n,i){n=Ob(n),r.context===null?r.context=n:r.pendingContext=n,r=Rr(t),r.payload={element:a},i=i===void 0?null:i,i!==null&&(r.callback=i),a=Ur(e,r,t),a!==null&&(Xt(a,e,t),po(a,e,t))}function Ff(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function td(e,t){Ff(e,t),(e=e.alternate)&&Ff(e,t)}function Hb(e){if(e.tag===13||e.tag===31){var t=bi(e,67108864);t!==null&&Xt(t,e,67108864),td(e,67108864)}}function If(e){if(e.tag===13||e.tag===31){var t=la();t=dp(t);var a=bi(e,t);a!==null&&Xt(a,e,t),td(e,t)}}var _s=!0;function q1(e,t,a,r){var n=de.T;de.T=null;var i=De.p;try{De.p=2,ad(e,t,a,r)}finally{De.p=i,de.T=n}}function E1(e,t,a,r){var n=de.T;de.T=null;var i=De.p;try{De.p=8,ad(e,t,a,r)}finally{De.p=i,de.T=n}}function ad(e,t,a,r){if(_s){var n=lp(r);if(n===null)pu(e,t,r,xs,a),Wf(e,r);else if(T1(n,e,t,a,r))r.stopPropagation();else if(Wf(e,r),t&4&&-1<M1.indexOf(e)){for(;n!==null;){var i=wn(n);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var o=ti(i.pendingLanes);if(o!==0){var l=i;for(l.pendingLanes|=2,l.entangledLanes|=2;o;){var c=1<<31-oa(o);l.entanglements[1]|=c,o&=~c}ja(i),(Ue&6)===0&&(ps=ia()+500,Vo(0,!1))}}break;case 31:case 13:l=bi(i,2),l!==null&&Xt(l,i,2),Ds(),td(i,2)}if(i=lp(r),i===null&&pu(e,t,r,xs,a),i===n)break;n=i}n!==null&&r.stopPropagation()}else pu(e,t,r,null,a)}}function lp(e){return e=hp(e),rd(e)}var xs=null;function rd(e){if(xs=null,e=Yi(e),e!==null){var t=Do(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=ng(t),e!==null)return e;e=null}else if(a===31){if(e=og(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xs=e,null}function jb(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(h0()){case ug:return 2;case pg:return 8;case Fl:case b0:return 32;case dg:return 268435456;default:return 32}default:return 32}}var sp=!1,Or=null,Lr=null,Hr=null,Ro=new Map,Uo=new Map,Sr=[],M1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Wf(e,t){switch(e){case"focusin":case"focusout":Or=null;break;case"dragenter":case"dragleave":Lr=null;break;case"mouseover":case"mouseout":Hr=null;break;case"pointerover":case"pointerout":Ro.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Uo.delete(t.pointerId)}}function eo(e,t,a,r,n,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:i,targetContainers:[n]},t!==null&&(t=wn(t),t!==null&&Hb(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function T1(e,t,a,r,n){switch(t){case"focusin":return Or=eo(Or,e,t,a,r,n),!0;case"dragenter":return Lr=eo(Lr,e,t,a,r,n),!0;case"mouseover":return Hr=eo(Hr,e,t,a,r,n),!0;case"pointerover":var i=n.pointerId;return Ro.set(i,eo(Ro.get(i)||null,e,t,a,r,n)),!0;case"gotpointercapture":return i=n.pointerId,Uo.set(i,eo(Uo.get(i)||null,e,t,a,r,n)),!0}return!1}function Gb(e){var t=Yi(e.target);if(t!==null){var a=Do(t);if(a!==null){if(t=a.tag,t===13){if(t=ng(a),t!==null){e.blockedOn=t,Dm(e.priority,function(){If(a)});return}}else if(t===31){if(t=og(a),t!==null){e.blockedOn=t,Dm(e.priority,function(){If(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Zl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=lp(e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);Cu=r,a.target.dispatchEvent(r),Cu=null}else return t=wn(a),t!==null&&Hb(t),e.blockedOn=a,!1;t.shift()}return!0}function eg(e,t,a){Zl(e)&&a.delete(t)}function z1(){sp=!1,Or!==null&&Zl(Or)&&(Or=null),Lr!==null&&Zl(Lr)&&(Lr=null),Hr!==null&&Zl(Hr)&&(Hr=null),Ro.forEach(eg),Uo.forEach(eg)}function zl(e,t){e.blockedOn===t&&(e.blockedOn=null,sp||(sp=!0,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,z1)))}var Al=null;function tg(e){Al!==e&&(Al=e,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,function(){Al===e&&(Al=null);for(var t=0;t<e.length;t+=3){var a=e[t],r=e[t+1],n=e[t+2];if(typeof r!="function"){if(rd(r||a)===null)continue;break}var i=wn(a);i!==null&&(e.splice(t,3),t-=3,Qu(i,{pending:!0,data:n,method:a.method,action:r},r,n))}}))}function bn(e){function t(c){return zl(c,e)}Or!==null&&zl(Or,e),Lr!==null&&zl(Lr,e),Hr!==null&&zl(Hr,e),Ro.forEach(t),Uo.forEach(t);for(var a=0;a<Sr.length;a++){var r=Sr[a];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Sr.length&&(a=Sr[0],a.blockedOn===null);)Gb(a),a.blockedOn===null&&Sr.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(r=0;r<a.length;r+=3){var n=a[r],i=a[r+1],o=n[$t]||null;if(typeof i=="function")o||tg(a);else if(o){var l=null;if(i&&i.hasAttribute("formAction")){if(n=i,o=i[$t]||null)l=o.formAction;else if(rd(n)!==null)continue}else l=o.action;typeof l=="function"?a[r+1]=l:(a.splice(r,3),r-=3),tg(a)}}}function Qb(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(o){return n=o})},focusReset:"manual",scroll:"manual"})}function t(){n!==null&&(n(),n=null),r||setTimeout(a,20)}function a(){if(!r&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,n=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),n!==null&&(n(),n=null)}}}function id(e){this._internalRoot=e}Ls.prototype.render=id.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(B(409));var a=t.current,r=la();Lb(a,r,e,t,null,null)};Ls.prototype.unmount=id.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Lb(e.current,2,null,e,null,null),Ds(),t[vn]=null}};function Ls(e){this._internalRoot=e}Ls.prototype.unstable_scheduleHydration=function(e){if(e){var t=bg();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Sr.length&&t!==0&&t<Sr[a].priority;a++);Sr.splice(a,0,e),a===0&&Gb(e)}};var ag=rg.version;if(ag!=="19.2.3")throw Error(B(527,ag,"19.2.3"));De.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(B(188)):(e=Object.keys(e).join(","),Error(B(268,e)));return e=c0(t),e=e!==null?lg(e):null,e=e===null?null:e.stateNode,e};var A1={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:de,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(to=__REACT_DEVTOOLS_GLOBAL_HOOK__,!to.isDisabled&&to.supportsFiber))try{Bo=to.inject(A1),na=to}catch{}var to;Hs.createRoot=function(e,t){if(!ig(e))throw Error(B(299));var a=!1,r="",n=Rh,i=Uh,o=Dh;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(n=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Bb(e,1,!1,null,null,a,r,null,n,i,o,Qb),e[vn]=t.current,Ip(e),new id(t)};Hs.hydrateRoot=function(e,t,a){if(!ig(e))throw Error(B(299));var r=!1,n="",i=Rh,o=Uh,l=Dh,c=null;return a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onUncaughtError!==void 0&&(i=a.onUncaughtError),a.onCaughtError!==void 0&&(o=a.onCaughtError),a.onRecoverableError!==void 0&&(l=a.onRecoverableError),a.formState!==void 0&&(c=a.formState)),t=Bb(e,1,!0,t,a??null,r,n,c,i,o,l,Qb),t.context=Ob(null),a=t.current,r=la(),r=dp(r),n=Rr(r),n.callback=null,Ur(a,n,r),a=r,t.current.lanes=a,Lo(t,a),ja(t),e[vn]=t.current,Ip(e),new Ls(t)};Hs.version="19.2.3"});var $b=Ra((dx,Xb)=>{"use strict";function Vb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Vb)}catch(e){console.error(e)}}Vb(),Xb.exports=Yb()});var Ov=Ra(Ys=>{"use strict";var j1=Symbol.for("react.transitional.element"),G1=Symbol.for("react.fragment");function Bv(e,t,a){var r=null;if(a!==void 0&&(r=""+a),t.key!==void 0&&(r=""+t.key),"key"in t){a={};for(var n in t)n!=="key"&&(a[n]=t[n])}else a=t;return t=a.ref,{$$typeof:j1,type:e,key:r,ref:t!==void 0?t:null,props:a}}Ys.Fragment=G1;Ys.jsx=Bv;Ys.jsxs=Bv});var ae=Ra((Hk,Lv)=>{"use strict";Lv.exports=Ov()});var zw=Y($b());var Zb=`/* Every rule is scoped to .app-wrapper, the root of each widget, so nothing here styles
10
10
  the host page. Start new selectors with :where(.app-wrapper), which scopes without
11
11
  adding specificity, or with .app-wrapper for rules on the root itself. */
12
12
 
@@ -6772,11 +6772,11 @@ Error generating stack: `+r.message+`
6772
6772
  width: 100%;
6773
6773
  height: 100%;
6774
6774
  }
6775
- `;var Je=Y($e());var js={};function Zb(e){js=e}function pr(){return js}function nd(){return!!js.apiBaseUrl}var R1=e=>e.replace(/\/$/,"");function Ot(e){let t=js.apiBaseUrl;return t?`${R1(t)}${e.replace(/^\/api\//,"/v1/")}`:e}var Sn=Y($e());var U1="metron:step",D1="metron_step",Zo=(0,Sn.createContext)(()=>{}),Cn=()=>(0,Sn.useContext)(Zo);function Gs(e,t){return(0,Sn.useCallback)((a,r={})=>{let n=pr(),i=n.analytics??"all";if(i==="none")return;let o={...r,widget:e,step:a};t.current?.dispatchEvent(new CustomEvent(U1,{detail:o,bubbles:!0,composed:!0})),n.onEvent?.(o);let l=window.dataLayer;i==="all"&&Array.isArray(l)&&l.push({event:D1,...o})},[e,t])}var Kb="boq-session-id",Pb="x-boq-session";function Jb(){if(typeof window>"u")return"server";try{let e=window.localStorage.getItem(Kb);return e||(e=crypto.randomUUID(),window.localStorage.setItem(Kb,e)),e}catch{return crypto.randomUUID()}}var B1="x-boq-client";function Qs(){return pr().client}function Ga(){let{client:e,apiKey:t}=pr();return nd()?t?{Authorization:`Bearer ${t}`}:{}:e?{[B1]:e}:{}}function wi(){return{...nd()?{}:{[Pb]:Jb()},...Ga()}}function O1(e){return e&&typeof e=="object"&&e.success===!0&&"data"in e?e.data:e}async function Kt(e){return O1(await e.json().catch(()=>({})))}var Fb=9e4;async function Ib(e,t){let a=new AbortController,r=setTimeout(()=>a.abort(),Fb),n;try{n=await fetch(e,{...t,signal:a.signal})}catch(o){throw o?.name==="AbortError"?new Error(`Request to ${e} timed out after ${Fb/1e3}s. Please try again.`):o}finally{clearTimeout(r)}let i=await Kt(n);if(!n.ok||i?.error){let o=i;throw new Error(o.detail??o.message??o.error??`Server error ${n.status}`)}return i}function Wb(e,t,a=!0){let r=new FormData;return r.append("file",e),t?.length&&r.append("provided_lines_json",JSON.stringify(t)),a||r.append("archive_source","false"),Ib(Ot("/api/schedule"),{method:"POST",body:r,headers:wi()})}function ev(e,t){let a=t?`?account=${encodeURIComponent(t)}`:"";return Ib(Ot(`/api/schedule/${e}${a}`),{headers:Ga()})}function tv(e,t,a,r){let n=!1,i=null,o=performance.now();return{promise:new Promise((p,f)=>{let b=async()=>{if(!n)try{let d=await e();if(n)return;if(d.status==="completed"||d.status==="failed"){console.log(`[pollJob:${r??"job"}] ${d.status} (${Math.round(performance.now()-o)}ms)`),p(d);return}a?.(),i=setTimeout(b,t)}catch(d){n||f(d)}};i=setTimeout(b,t)}),cancel:()=>{n=!0,i&&(clearTimeout(i),i=null)}}}var ua=Y($e());var av=new URL("../assets/decking/boards/diagonal.webp",import.meta.url).href;var rv=new URL("../assets/decking/boards/no-border.webp",import.meta.url).href;var iv=new URL("../assets/decking/boards/picture-frame.webp",import.meta.url).href;var nv=new URL("../assets/decking/boards/straight.webp",import.meta.url).href;var ov=new URL("../assets/fencing/gates/no-gate.webp",import.meta.url).href;var lv=new URL("../assets/fencing/gates/single-gate.webp",import.meta.url).href;var sv=new URL("../assets/fencing/gravel-board.webp",import.meta.url).href;var cv=new URL("../assets/fencing/height/0.9.webp",import.meta.url).href;var uv=new URL("../assets/fencing/height/1.2.webp",import.meta.url).href;var pv=new URL("../assets/fencing/height/1.5.webp",import.meta.url).href;var dv=new URL("../assets/fencing/height/1.8.webp",import.meta.url).href;var mv=new URL("../assets/fencing/no-gravel-board.webp",import.meta.url).href;var fv=new URL("../assets/quick-order/paste-list.webp",import.meta.url).href;var gv=new URL("../assets/quick-order/photo-list.webp",import.meta.url).href;var hv=new URL("../assets/quick-order/upload-file.webp",import.meta.url).href;var bv=new URL("../assets/schedule-products/building-sand.webp",import.meta.url).href;var vv=new URL("../assets/schedule-products/drywall-screws.webp",import.meta.url).href;var wv=new URL("../assets/schedule-products/loft-insulation-roll.webp",import.meta.url).href;var yv=new URL("../assets/schedule-products/red-multi-stock-bricks.webp",import.meta.url).href;var _v=new URL("../assets/schedule-products/scrim-tape.webp",import.meta.url).href;var xv=new URL("../assets/schedule-products/wall-ties.webp",import.meta.url).href;var kv=new URL("../assets/tool-images/architrave.webp",import.meta.url).href;var Nv=new URL("../assets/tool-images/brick-block.webp",import.meta.url).href;var Sv=new URL("../assets/tool-images/concrete-aggregate.webp",import.meta.url).href;var Cv=new URL("../assets/tool-images/decking.webp",import.meta.url).href;var qv=new URL("../assets/tool-images/fencing.webp",import.meta.url).href;var Ev=new URL("../assets/tool-images/insulation.webp",import.meta.url).href;var Mv=new URL("../assets/tool-images/paint.webp",import.meta.url).href;var Tv=new URL("../assets/tool-images/paving.webp",import.meta.url).href;var zv=new URL("../assets/tool-images/plasterboard.webp",import.meta.url).href;var Av=new URL("../assets/tool-images/skirting.webp",import.meta.url).href;var Rv=new URL("../assets/tool-images/timber.webp",import.meta.url).href;var Uv=new URL("../assets/tool-images/truss.webp",import.meta.url).href;var Ae=e=>typeof e=="string"?e:e.src,L1={"/decking/boards/diagonal.webp":Ae(av),"/decking/boards/no-border.webp":Ae(rv),"/decking/boards/picture-frame.webp":Ae(iv),"/decking/boards/straight.webp":Ae(nv),"/fencing/gates/no-gate.webp":Ae(ov),"/fencing/gates/single-gate.webp":Ae(lv),"/fencing/gravel-board.webp":Ae(sv),"/fencing/height/0.9.webp":Ae(cv),"/fencing/height/1.2.webp":Ae(uv),"/fencing/height/1.5.webp":Ae(pv),"/fencing/height/1.8.webp":Ae(dv),"/fencing/no-gravel-board.webp":Ae(mv),"/quick-order/paste-list.webp":Ae(fv),"/quick-order/photo-list.webp":Ae(gv),"/quick-order/upload-file.webp":Ae(hv),"/schedule-products/building-sand.webp":Ae(bv),"/schedule-products/drywall-screws.webp":Ae(vv),"/schedule-products/loft-insulation-roll.webp":Ae(wv),"/schedule-products/red-multi-stock-bricks.webp":Ae(yv),"/schedule-products/scrim-tape.webp":Ae(_v),"/schedule-products/wall-ties.webp":Ae(xv),"/tool-images/architrave.webp":Ae(kv),"/tool-images/brick-block.webp":Ae(Nv),"/tool-images/concrete-aggregate.webp":Ae(Sv),"/tool-images/decking.webp":Ae(Cv),"/tool-images/fencing.webp":Ae(qv),"/tool-images/insulation.webp":Ae(Ev),"/tool-images/paint.webp":Ae(Mv),"/tool-images/paving.webp":Ae(Tv),"/tool-images/plasterboard.webp":Ae(zv),"/tool-images/skirting.webp":Ae(Av),"/tool-images/timber.webp":Ae(Rv),"/tool-images/truss.webp":Ae(Uv)};function Pt(e){return L1[e]??e}var od=Y(ae());function Lt(){return(0,od.jsx)("svg",{className:"forward-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,od.jsx)("path",{d:"M3 8H13M13 8L9 4M13 8L9 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var ld=Y(ae());function Ko(){return(0,ld.jsx)("svg",{className:"close-icon",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,ld.jsx)("path",{d:"M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}var qn={schedule:[".xlsx",".xls",".csv",".pdf",".docx"],photo:[".png",".jpg",".jpeg",".webp",".gif",".bmp",".heic",".heif"],email:[".eml",".msg"]};var Hv=(e,t)=>qn[t].some(a=>e.toLowerCase().endsWith(a)),En=e=>e.type.startsWith("image/")||Hv(e.name,"photo"),G1=e=>En(e)||Hv(e.name,"schedule"),Lv=e=>`${Math.max(.1,Math.round(e/1048576*10)/10)} MB`;function sd(e,t=5242880){return G1(e)?e.size===0?"That file is empty.":e.size>t?`That file is ${Lv(e.size)} - the limit is ${Lv(t)}.`:null:`Please upload a list or image file (${[...qn.schedule,...qn.photo].join(", ")}).`}var Q1=e=>e.split(`
6776
- `).map(t=>t.trim()).filter(Boolean);function jv(e){let t=Q1(e);if(t.length>500)return`That's ${t.length} lines - the limit is 500. Split the list and match it in parts.`;if(e.length>5e4)return`That's ${e.length.toLocaleString("en-GB")} characters - the limit is ${5e4.toLocaleString("en-GB")}. Split the list and match it in parts.`;let a=t.findIndex(r=>r.length>500);return a>=0?`Line ${a+1} is ${t[a].length} characters - keep each item on its own line (max 500).`:null}async function Gv(e){if(e.size<=5242880)return e;let t;try{t=await createImageBitmap(e)}catch{return e}let a=Math.min(1,2e3/Math.max(t.width,t.height)),r=document.createElement("canvas");r.width=Math.round(t.width*a),r.height=Math.round(t.height*a);let n=r.getContext("2d");if(!n)return e;n.fillStyle="#fff",n.fillRect(0,0,r.width,r.height),n.drawImage(t,0,0,r.width,r.height),t.close();let i=await new Promise(o=>r.toBlob(o,"image/jpeg",.85));return!i||i.size>=e.size?e:new File([i],`${e.name.replace(/\.[^.]+$/,"")}.jpg`,{type:"image/jpeg"})}var $r=Y($e());var Xs=Y($e()),Vs=Y(ae()),Y1=[4,5,4],cd=4e3;function dr(){let[e,t]=(0,Xs.useState)(0);(0,Xs.useEffect)(()=>{let r=setInterval(()=>t(n=>n+1),cd);return()=>clearInterval(r)},[]);let a=0;return(0,Vs.jsx)("div",{className:"brick-wall","aria-hidden":!0,children:Y1.map((r,n)=>(0,Vs.jsx)("div",{className:"brick-wall__course",children:Array.from({length:r},(i,o)=>(0,Vs.jsx)("span",{className:`brick-wall__brick${r===5&&(o===0||o===4)?" brick-wall__brick--half":""}`,style:{"--i":a++}},o))},n))},e)}var Po=Y(ae()),$s=["Measuring twice, quoting once","Counting bricks so you don't have to","Haggling with the price of timber","Adding a bit extra for the skip","Double-checking nobody ordered too much sand","Rounding up, obviously","Making sure the numbers add up better than the last lot did","Checking if copper pipe is still worth its weight in gold","Squeezing a bit more accuracy out of the numbers","Totting it all up on the back of a fag packet, digitally","Making sure the quote is tighter than your tolerances","Nearly there, unlike most site schedules","Working out if it'll all fit on one pallet","Double-checking the VAT, because someone has to","Giving the calculator a proper workout","Making sure nothing's out of stock before you get excited"];function Qv(e){let t=[...e];for(let a=t.length-1;a>0;a--){let r=Math.floor(Math.random()*(a+1));[t[a],t[r]]=[t[r],t[a]]}return t}function Yv(){let e=(0,$r.useRef)(Qv($s.map((o,l)=>l))),t=(0,$r.useRef)(0),[a,r]=(0,$r.useState)($s[e.current[0]]),[n,i]=(0,$r.useState)(!0);return(0,$r.useEffect)(()=>{let o=setInterval(()=>{i(!1),window.setTimeout(()=>{t.current++,t.current>=e.current.length&&(e.current=Qv($s.map((l,c)=>c)),t.current=0),r($s[e.current[t.current]]),i(!0)},600)},cd);return()=>clearInterval(o)},[]),(0,Po.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",children:[(0,Po.jsx)(dr,{}),(0,Po.jsx)("p",{className:`banter-message${n?" is-visible":""}`,children:a})]})}var P=Y(ae()),V1=[...qn.schedule,...qn.photo].join(","),X1={paste:[{title:"Paste List",desc:"Paste your material list straight from a spreadsheet or document."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}],upload:[{title:"Upload File",desc:"Upload a photo, spreadsheet, Word document or PDF."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}]};function ud({onPasteSchedule:e,onUploadSchedule:t,onEntryModeChange:a}){let[r,n]=(0,ua.useState)(null),i=Cn(),[o,l]=(0,ua.useState)(""),[c,p]=(0,ua.useState)(null),[f,b]=(0,ua.useState)(""),[d,h]=(0,ua.useState)(!1),[w,M]=(0,ua.useState)(!1),[D,m]=(0,ua.useState)(null),u=(0,ua.useRef)(0),g=(0,ua.useRef)(null),v=o.split(`
6777
- `).filter(Q=>Q.trim()).length,N=jv(o),A=r==="paste"?!!o:!!c;(0,ua.useEffect)(()=>{if(!c||!En(c)){m(null);return}let Q=URL.createObjectURL(c);return m(Q),()=>URL.revokeObjectURL(Q)},[c]);let T=Q=>{i("method_selected",{method:Q}),n(Q),a(null)},z=()=>{n(null),a(null)},G=Q=>{if(!Q?.length)return;if(Q.length>1)return b("Please choose one file at a time.");let ce=Q[0],Se=sd(ce,En(ce)?1/0:void 0);if(Se)return b(Se);b(""),p(ce)},K=async Q=>{h(!0);try{await Q()}finally{h(!1)}},he=async Q=>{try{let ce=await Gv(Q),Se=sd(ce);if(Se)throw new Error(Se);let xe=new FormData;xe.append("file",ce);let ee=await fetch(Ot("/api/schedule/extract-photo"),{method:"POST",body:xe,headers:Ga()}),se=await Kt(ee);if(!ee.ok)throw new Error(se?.error||se?.message||"Failed to extract line items from image");let Ne=typeof se?.text=="string"?se.text.trim():"";if(!Ne)throw new Error("No line items were extracted from this image.");let fe=Array.isArray(se?.lines)?se.lines.filter(Xe=>!!(Xe&&typeof Xe=="object"&&typeof Xe.text=="string")):void 0;await e(Ne,fe,!1)}catch(ce){i("error",{stage:"photo"}),b(ce?.message||"Failed to extract line items from image")}},ze=()=>{if(c)return i("list_submitted",{method:En(c)?"photo":"upload"}),K(()=>En(c)?he(c):t(c))},Ve=Q=>Q.dataTransfer.types.includes("Files"),He=Q=>{Ve(Q)&&(Q.preventDefault(),u.current+=1,M(!0))},it=Q=>{Ve(Q)&&(u.current-=1,u.current<=0&&(u.current=0,M(!1)))},pe=Q=>{Ve(Q)&&(Q.preventDefault(),u.current=0,M(!1),G(Q.dataTransfer.files),T("upload"))};return(0,P.jsxs)("div",{className:"wizard-step entry-stage",onDragEnter:He,onDragOver:Q=>Ve(Q)&&Q.preventDefault(),onDragLeave:it,onDrop:pe,children:[w&&(0,P.jsx)("div",{className:"entry-drop-overlay","aria-hidden":"true",children:"Drop your file to upload"}),(0,P.jsxs)("div",{className:"quick-order-card",children:[(0,P.jsxs)("div",{className:"quick-order-alt",children:[(0,P.jsxs)("div",{className:"quick-order-entry-copy",children:[(0,P.jsx)("div",{className:"quick-order-alt-title",children:"How would you like to get started?"}),(0,P.jsx)("p",{className:"quick-order-alt-intro",children:"Upload a file or type a list of items and quantities. We'll match them to our products and help you build a quote."})]}),(0,P.jsxs)("div",{className:"entry-options entry-options--workflow entry-options--two",children:[(0,P.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--paste${r==="paste"?" entry-option-card--active":""}`,onClick:()=>T("paste"),children:[(0,P.jsxs)("span",{className:"entry-option-content",children:[(0,P.jsx)("span",{className:"entry-option-title",children:"Type or paste a list"}),(0,P.jsx)("span",{className:"entry-option-desc",children:"Enter your materials and quantities"})]}),(0,P.jsx)("span",{className:"entry-option-media entry-option-media--paste","aria-hidden":"true",children:(0,P.jsx)("img",{className:"fill-img",src:Pt("/quick-order/paste-list.webp"),alt:""})})]}),(0,P.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--upload${r==="upload"?" entry-option-card--active":""}`,onClick:()=>T("upload"),children:[(0,P.jsxs)("span",{className:"entry-option-content",children:[(0,P.jsx)("span",{className:"entry-option-title",children:"Upload a file"}),(0,P.jsx)("span",{className:"entry-option-desc",children:"A photo, spreadsheet, Word document or PDF"})]}),(0,P.jsx)("span",{className:"entry-option-media entry-option-media--upload","aria-hidden":"true",children:(0,P.jsx)("img",{className:"fill-img",src:Pt("/quick-order/photo-list.webp"),alt:""})})]})]})]}),r&&(0,P.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"quick-order-workflow-title",onClick:()=>!A&&z(),children:(0,P.jsxs)("section",{className:`quick-order-workflow-modal${d?" quick-order-workflow-modal--matching":""}`,onClick:Q=>Q.stopPropagation(),children:[(0,P.jsxs)("header",{className:"quick-order-workflow-modal-header",children:[(0,P.jsx)("h2",{id:"quick-order-workflow-title",children:r==="paste"?"Type or paste a list":"Upload a file"}),(0,P.jsx)("button",{type:"button",className:"quick-order-workflow-close",onClick:z,"aria-label":"Close",children:(0,P.jsx)(Ko,{})})]}),(0,P.jsxs)("div",{className:"quick-order-panel",children:[(0,P.jsxs)("div",{className:"quick-order-body","aria-hidden":d,children:[(0,P.jsx)("div",{className:"quick-order-body-main",children:r==="paste"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("textarea",{className:"paste-textarea",placeholder:`Paste your line items here, one per line, e.g.
6775
+ `;var He=Y(Ke());var js={};function Kb(e){js=e}function pr(){return js}function nd(){return!!js.apiBaseUrl}var U1=e=>e.replace(/\/$/,"");function Lt(e){let t=js.apiBaseUrl;return t?`${U1(t)}${e.replace(/^\/api\//,"/v1/")}`:e}var Sn=Y(Ke());var D1="metron:step",B1="metron_step",Zo=(0,Sn.createContext)(()=>{}),Cn=()=>(0,Sn.useContext)(Zo);function Gs(e,t){return(0,Sn.useCallback)((a,r={})=>{let n=pr(),i=n.analytics??"all";if(i==="none")return;let o={...r,widget:e,step:a};t.current?.dispatchEvent(new CustomEvent(D1,{detail:o,bubbles:!0,composed:!0})),n.onEvent?.(o);let l=window.dataLayer;i==="all"&&Array.isArray(l)&&l.push({event:B1,...o})},[e,t])}var Pb="boq-session-id",Jb="x-boq-session";function Fb(){if(typeof window>"u")return"server";try{let e=window.localStorage.getItem(Pb);return e||(e=crypto.randomUUID(),window.localStorage.setItem(Pb,e)),e}catch{return crypto.randomUUID()}}var O1="x-boq-client";function Qs(){return pr().client}function Ga(){let{client:e,apiKey:t}=pr();return nd()?t?{Authorization:`Bearer ${t}`}:{}:e?{[O1]:e}:{}}function wi(){return{...nd()?{}:{[Jb]:Fb()},...Ga()}}function L1(e){return e&&typeof e=="object"&&e.success===!0&&"data"in e?e.data:e}async function Kt(e){return L1(await e.json().catch(()=>({})))}var Ib=9e4;async function Wb(e,t){let a=new AbortController,r=setTimeout(()=>a.abort(),Ib),n;try{n=await fetch(e,{...t,signal:a.signal})}catch(o){throw o?.name==="AbortError"?new Error(`Request to ${e} timed out after ${Ib/1e3}s. Please try again.`):o}finally{clearTimeout(r)}let i=await Kt(n);if(!n.ok||i?.error){let o=i;throw new Error(o.detail??o.message??o.error??`Server error ${n.status}`)}return i}function ev(e,t,a=!0){let r=new FormData;return r.append("file",e),t?.length&&r.append("provided_lines_json",JSON.stringify(t)),a||r.append("archive_source","false"),Wb(Lt("/api/schedule"),{method:"POST",body:r,headers:wi()})}function tv(e,t){let a=t?`?account=${encodeURIComponent(t)}`:"";return Wb(Lt(`/api/schedule/${e}${a}`),{headers:Ga()})}function av(e,t,a,r){let n=!1,i=null,o=performance.now();return{promise:new Promise((p,f)=>{let b=async()=>{if(!n)try{let d=await e();if(n)return;if(d.status==="completed"||d.status==="failed"){console.log(`[pollJob:${r??"job"}] ${d.status} (${Math.round(performance.now()-o)}ms)`),p(d);return}a?.(),i=setTimeout(b,t)}catch(d){n||f(d)}};i=setTimeout(b,t)}),cancel:()=>{n=!0,i&&(clearTimeout(i),i=null)}}}var ua=Y(Ke());var rv=new URL("../assets/decking/boards/diagonal.webp",import.meta.url).href;var iv=new URL("../assets/decking/boards/no-border.webp",import.meta.url).href;var nv=new URL("../assets/decking/boards/picture-frame.webp",import.meta.url).href;var ov=new URL("../assets/decking/boards/straight.webp",import.meta.url).href;var lv=new URL("../assets/fencing/gates/no-gate.webp",import.meta.url).href;var sv=new URL("../assets/fencing/gates/single-gate.webp",import.meta.url).href;var cv=new URL("../assets/fencing/gravel-board.webp",import.meta.url).href;var uv=new URL("../assets/fencing/height/0.9.webp",import.meta.url).href;var pv=new URL("../assets/fencing/height/1.2.webp",import.meta.url).href;var dv=new URL("../assets/fencing/height/1.5.webp",import.meta.url).href;var mv=new URL("../assets/fencing/height/1.8.webp",import.meta.url).href;var fv=new URL("../assets/fencing/no-gravel-board.webp",import.meta.url).href;var gv=new URL("../assets/quick-order/paste-list.webp",import.meta.url).href;var hv=new URL("../assets/quick-order/photo-list.webp",import.meta.url).href;var bv=new URL("../assets/quick-order/upload-file.webp",import.meta.url).href;var vv=new URL("../assets/schedule-products/building-sand.webp",import.meta.url).href;var wv=new URL("../assets/schedule-products/drywall-screws.webp",import.meta.url).href;var yv=new URL("../assets/schedule-products/loft-insulation-roll.webp",import.meta.url).href;var _v=new URL("../assets/schedule-products/red-multi-stock-bricks.webp",import.meta.url).href;var xv=new URL("../assets/schedule-products/scrim-tape.webp",import.meta.url).href;var kv=new URL("../assets/schedule-products/wall-ties.webp",import.meta.url).href;var Nv=new URL("../assets/tool-images/architrave.webp",import.meta.url).href;var Sv=new URL("../assets/tool-images/brick-block.webp",import.meta.url).href;var Cv=new URL("../assets/tool-images/concrete-aggregate.webp",import.meta.url).href;var qv=new URL("../assets/tool-images/decking.webp",import.meta.url).href;var Ev=new URL("../assets/tool-images/fencing.webp",import.meta.url).href;var Mv=new URL("../assets/tool-images/insulation.webp",import.meta.url).href;var Tv=new URL("../assets/tool-images/paint.webp",import.meta.url).href;var zv=new URL("../assets/tool-images/paving.webp",import.meta.url).href;var Av=new URL("../assets/tool-images/plasterboard.webp",import.meta.url).href;var Rv=new URL("../assets/tool-images/skirting.webp",import.meta.url).href;var Uv=new URL("../assets/tool-images/timber.webp",import.meta.url).href;var Dv=new URL("../assets/tool-images/truss.webp",import.meta.url).href;var ze=e=>typeof e=="string"?e:e.src,H1={"/decking/boards/diagonal.webp":ze(rv),"/decking/boards/no-border.webp":ze(iv),"/decking/boards/picture-frame.webp":ze(nv),"/decking/boards/straight.webp":ze(ov),"/fencing/gates/no-gate.webp":ze(lv),"/fencing/gates/single-gate.webp":ze(sv),"/fencing/gravel-board.webp":ze(cv),"/fencing/height/0.9.webp":ze(uv),"/fencing/height/1.2.webp":ze(pv),"/fencing/height/1.5.webp":ze(dv),"/fencing/height/1.8.webp":ze(mv),"/fencing/no-gravel-board.webp":ze(fv),"/quick-order/paste-list.webp":ze(gv),"/quick-order/photo-list.webp":ze(hv),"/quick-order/upload-file.webp":ze(bv),"/schedule-products/building-sand.webp":ze(vv),"/schedule-products/drywall-screws.webp":ze(wv),"/schedule-products/loft-insulation-roll.webp":ze(yv),"/schedule-products/red-multi-stock-bricks.webp":ze(_v),"/schedule-products/scrim-tape.webp":ze(xv),"/schedule-products/wall-ties.webp":ze(kv),"/tool-images/architrave.webp":ze(Nv),"/tool-images/brick-block.webp":ze(Sv),"/tool-images/concrete-aggregate.webp":ze(Cv),"/tool-images/decking.webp":ze(qv),"/tool-images/fencing.webp":ze(Ev),"/tool-images/insulation.webp":ze(Mv),"/tool-images/paint.webp":ze(Tv),"/tool-images/paving.webp":ze(zv),"/tool-images/plasterboard.webp":ze(Av),"/tool-images/skirting.webp":ze(Rv),"/tool-images/timber.webp":ze(Uv),"/tool-images/truss.webp":ze(Dv)};function Pt(e){return H1[e]??e}var od=Y(ae());function Ht(){return(0,od.jsx)("svg",{className:"forward-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,od.jsx)("path",{d:"M3 8H13M13 8L9 4M13 8L9 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var ld=Y(ae());function Ko(){return(0,ld.jsx)("svg",{className:"close-icon",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,ld.jsx)("path",{d:"M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}var qn={schedule:[".xlsx",".xls",".csv",".pdf",".docx"],photo:[".png",".jpg",".jpeg",".webp",".gif",".bmp",".heic",".heif"],email:[".eml",".msg"]};var jv=(e,t)=>qn[t].some(a=>e.toLowerCase().endsWith(a)),En=e=>e.type.startsWith("image/")||jv(e.name,"photo"),Q1=e=>En(e)||jv(e.name,"schedule"),Hv=e=>`${Math.max(.1,Math.round(e/1048576*10)/10)} MB`;function sd(e,t=5242880){return Q1(e)?e.size===0?"That file is empty.":e.size>t?`That file is ${Hv(e.size)} - the limit is ${Hv(t)}.`:null:`Please upload a list or image file (${[...qn.schedule,...qn.photo].join(", ")}).`}var Y1=e=>e.split(`
6776
+ `).map(t=>t.trim()).filter(Boolean);function Gv(e){let t=Y1(e);if(t.length>500)return`That's ${t.length} lines - the limit is 500. Split the list and match it in parts.`;if(e.length>5e4)return`That's ${e.length.toLocaleString("en-GB")} characters - the limit is ${5e4.toLocaleString("en-GB")}. Split the list and match it in parts.`;let a=t.findIndex(r=>r.length>500);return a>=0?`Line ${a+1} is ${t[a].length} characters - keep each item on its own line (max 500).`:null}async function Qv(e){if(e.size<=5242880)return e;let t;try{t=await createImageBitmap(e)}catch{return e}let a=Math.min(1,2e3/Math.max(t.width,t.height)),r=document.createElement("canvas");r.width=Math.round(t.width*a),r.height=Math.round(t.height*a);let n=r.getContext("2d");if(!n)return e;n.fillStyle="#fff",n.fillRect(0,0,r.width,r.height),n.drawImage(t,0,0,r.width,r.height),t.close();let i=await new Promise(o=>r.toBlob(o,"image/jpeg",.85));return!i||i.size>=e.size?e:new File([i],`${e.name.replace(/\.[^.]+$/,"")}.jpg`,{type:"image/jpeg"})}var $r=Y(Ke());var Xs=Y(Ke()),Vs=Y(ae()),V1=[4,5,4],cd=4e3;function dr(){let[e,t]=(0,Xs.useState)(0);(0,Xs.useEffect)(()=>{let r=setInterval(()=>t(n=>n+1),cd);return()=>clearInterval(r)},[]);let a=0;return(0,Vs.jsx)("div",{className:"brick-wall","aria-hidden":!0,children:V1.map((r,n)=>(0,Vs.jsx)("div",{className:"brick-wall__course",children:Array.from({length:r},(i,o)=>(0,Vs.jsx)("span",{className:`brick-wall__brick${r===5&&(o===0||o===4)?" brick-wall__brick--half":""}`,style:{"--i":a++}},o))},n))},e)}var Po=Y(ae()),$s=["Measuring twice, quoting once","Counting bricks so you don't have to","Haggling with the price of timber","Adding a bit extra for the skip","Double-checking nobody ordered too much sand","Rounding up, obviously","Making sure the numbers add up better than the last lot did","Checking if copper pipe is still worth its weight in gold","Squeezing a bit more accuracy out of the numbers","Totting it all up on the back of a fag packet, digitally","Making sure the quote is tighter than your tolerances","Nearly there, unlike most site schedules","Working out if it'll all fit on one pallet","Double-checking the VAT, because someone has to","Giving the calculator a proper workout","Making sure nothing's out of stock before you get excited"];function Yv(e){let t=[...e];for(let a=t.length-1;a>0;a--){let r=Math.floor(Math.random()*(a+1));[t[a],t[r]]=[t[r],t[a]]}return t}function Vv(){let e=(0,$r.useRef)(Yv($s.map((o,l)=>l))),t=(0,$r.useRef)(0),[a,r]=(0,$r.useState)($s[e.current[0]]),[n,i]=(0,$r.useState)(!0);return(0,$r.useEffect)(()=>{let o=setInterval(()=>{i(!1),window.setTimeout(()=>{t.current++,t.current>=e.current.length&&(e.current=Yv($s.map((l,c)=>c)),t.current=0),r($s[e.current[t.current]]),i(!0)},600)},cd);return()=>clearInterval(o)},[]),(0,Po.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",children:[(0,Po.jsx)(dr,{}),(0,Po.jsx)("p",{className:`banter-message${n?" is-visible":""}`,children:a})]})}var P=Y(ae()),X1=[...qn.schedule,...qn.photo].join(","),$1={paste:[{title:"Paste List",desc:"Paste your material list straight from a spreadsheet or document."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}],upload:[{title:"Upload File",desc:"Upload a photo, spreadsheet, Word document or PDF."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}]};function ud({onPasteSchedule:e,onUploadSchedule:t,onEntryModeChange:a}){let[r,n]=(0,ua.useState)(null),i=Cn(),[o,l]=(0,ua.useState)(""),[c,p]=(0,ua.useState)(null),[f,b]=(0,ua.useState)(""),[d,h]=(0,ua.useState)(!1),[w,E]=(0,ua.useState)(!1),[D,m]=(0,ua.useState)(null),u=(0,ua.useRef)(0),g=(0,ua.useRef)(null),v=o.split(`
6777
+ `).filter(Q=>Q.trim()).length,N=Gv(o),R=r==="paste"?!!o:!!c;(0,ua.useEffect)(()=>{if(!c||!En(c)){m(null);return}let Q=URL.createObjectURL(c);return m(Q),()=>URL.revokeObjectURL(Q)},[c]);let T=Q=>{i("method_selected",{method:Q}),n(Q),a(null)},z=()=>{n(null),a(null)},G=Q=>{if(!Q?.length)return;if(Q.length>1)return b("Please choose one file at a time.");let se=Q[0],Ne=sd(se,En(se)?1/0:void 0);if(Ne)return b(Ne);b(""),p(se)},K=async Q=>{h(!0);try{await Q()}finally{h(!1)}},xe=async Q=>{try{let se=await Qv(Q),Ne=sd(se);if(Ne)throw new Error(Ne);let lt=new FormData;lt.append("file",se);let Ye=await fetch(Lt("/api/schedule/extract-photo"),{method:"POST",body:lt,headers:Ga()}),ge=await Kt(Ye);if(!Ye.ok)throw new Error(ge?.error||ge?.message||"Failed to extract line items from image");let We=typeof ge?.text=="string"?ge.text.trim():"";if(!We)throw new Error("No line items were extracted from this image.");let he=Array.isArray(ge?.lines)?ge.lines.filter(W=>!!(W&&typeof W=="object"&&typeof W.text=="string")):void 0;await e(We,he,!1)}catch(se){i("error",{stage:"photo"}),b(se?.message||"Failed to extract line items from image")}},Ee=()=>{if(c)return i("list_submitted",{method:En(c)?"photo":"upload"}),K(()=>En(c)?xe(c):t(c))},Ge=Q=>Q.dataTransfer.types.includes("Files"),Qe=Q=>{Ge(Q)&&(Q.preventDefault(),u.current+=1,E(!0))},Ie=Q=>{Ge(Q)&&(u.current-=1,u.current<=0&&(u.current=0,E(!1)))},ue=Q=>{Ge(Q)&&(Q.preventDefault(),u.current=0,E(!1),G(Q.dataTransfer.files),T("upload"))};return(0,P.jsxs)("div",{className:"wizard-step entry-stage",onDragEnter:Qe,onDragOver:Q=>Ge(Q)&&Q.preventDefault(),onDragLeave:Ie,onDrop:ue,children:[w&&(0,P.jsx)("div",{className:"entry-drop-overlay","aria-hidden":"true",children:"Drop your file to upload"}),(0,P.jsxs)("div",{className:"quick-order-card",children:[(0,P.jsxs)("div",{className:"quick-order-alt",children:[(0,P.jsxs)("div",{className:"quick-order-entry-copy",children:[(0,P.jsx)("div",{className:"quick-order-alt-title",children:"How would you like to get started?"}),(0,P.jsx)("p",{className:"quick-order-alt-intro",children:"Upload a file or type a list of items and quantities. We'll match them to our products and help you build a quote."})]}),(0,P.jsxs)("div",{className:"entry-options entry-options--workflow entry-options--two",children:[(0,P.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--paste${r==="paste"?" entry-option-card--active":""}`,onClick:()=>T("paste"),children:[(0,P.jsxs)("span",{className:"entry-option-content",children:[(0,P.jsx)("span",{className:"entry-option-title",children:"Type or paste a list"}),(0,P.jsx)("span",{className:"entry-option-desc",children:"Enter your materials and quantities"})]}),(0,P.jsx)("span",{className:"entry-option-media entry-option-media--paste","aria-hidden":"true",children:(0,P.jsx)("img",{className:"fill-img",src:Pt("/quick-order/paste-list.webp"),alt:""})})]}),(0,P.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--upload${r==="upload"?" entry-option-card--active":""}`,onClick:()=>T("upload"),children:[(0,P.jsxs)("span",{className:"entry-option-content",children:[(0,P.jsx)("span",{className:"entry-option-title",children:"Upload a file"}),(0,P.jsx)("span",{className:"entry-option-desc",children:"A photo, spreadsheet, Word document or PDF"})]}),(0,P.jsx)("span",{className:"entry-option-media entry-option-media--upload","aria-hidden":"true",children:(0,P.jsx)("img",{className:"fill-img",src:Pt("/quick-order/photo-list.webp"),alt:""})})]})]})]}),r&&(0,P.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"quick-order-workflow-title",onClick:()=>!R&&z(),children:(0,P.jsxs)("section",{className:`quick-order-workflow-modal${d?" quick-order-workflow-modal--matching":""}`,onClick:Q=>Q.stopPropagation(),children:[(0,P.jsxs)("header",{className:"quick-order-workflow-modal-header",children:[(0,P.jsx)("h2",{id:"quick-order-workflow-title",children:r==="paste"?"Type or paste a list":"Upload a file"}),(0,P.jsx)("button",{type:"button",className:"quick-order-workflow-close",onClick:z,"aria-label":"Close",children:(0,P.jsx)(Ko,{})})]}),(0,P.jsxs)("div",{className:"quick-order-panel",children:[(0,P.jsxs)("div",{className:"quick-order-body","aria-hidden":d,children:[(0,P.jsx)("div",{className:"quick-order-body-main",children:r==="paste"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("textarea",{className:"paste-textarea",placeholder:`Paste your line items here, one per line, e.g.
6778
6778
  insulated plasterboard 50mm
6779
- C24 timber 4.8m`,value:o,onChange:Q=>l(Q.target.value),"aria-label":"Paste schedule line items"}),N&&(0,P.jsxs)("div",{className:"error-box",role:"alert",children:[(0,P.jsx)("strong",{children:"Error:"})," ",N]}),(0,P.jsxs)("div",{className:"quick-order-hint",children:[(0,P.jsx)("strong",{children:"Tip:"}),'\xA0Paste one line per item. Include a count, e.g. "x10", to help us find the right stock and pricing.']}),(0,P.jsx)("div",{className:"quick-order-actions",children:(0,P.jsxs)("button",{type:"button",className:"cta-btn",disabled:!v||!!N,onClick:()=>{i("list_submitted",{method:"paste",lines:v}),K(()=>e(o))},"aria-label":"Match pasted lines",children:[(0,P.jsx)("span",{children:"Match line items"}),(0,P.jsx)("span",{className:"arrow",children:(0,P.jsx)(Lt,{})})]})})]}):(0,P.jsxs)(P.Fragment,{children:[f&&(0,P.jsxs)("div",{className:"error-box",role:"alert",children:[(0,P.jsx)("strong",{children:"Error:"})," ",f]}),(0,P.jsxs)("div",{className:`upload-zone${c?" has-file":""}`,onClick:()=>g.current?.click(),onDragOver:Q=>Q.preventDefault(),onDrop:pe,role:"button",tabIndex:0,onKeyDown:Q=>(Q.key==="Enter"||Q.key===" ")&&g.current?.click(),"aria-label":"Upload zone: click or drag a list or image file here",children:[D?(0,P.jsx)("img",{src:D,alt:c?.name??"Selected photo",className:"upload-zone-photo-preview"}):(0,P.jsx)("div",{className:"upload-zone-icon",children:(0,P.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,P.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,P.jsx)("polyline",{points:"14,2 14,8 20,8"}),(0,P.jsx)("polyline",{points:"9,15 11,17 15,13"})]})}),c?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{className:"upload-zone-subtext",children:c.name}),(0,P.jsx)("button",{type:"button",className:"link-btn link-btn--underline",onClick:Q=>{Q.stopPropagation(),p(null),b(""),g.current&&(g.current.value="")},children:"Remove"})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{className:"upload-zone-text",children:"Drop a photo, spreadsheet, Word document or PDF"}),(0,P.jsx)("div",{className:"upload-zone-subtext",children:"or click to choose a file"})]}),(0,P.jsx)("input",{ref:g,type:"file",accept:V1,className:"visually-hidden",onChange:Q=>G(Q.target.files),tabIndex:-1,"aria-hidden":"true"})]}),(0,P.jsx)("div",{className:"quick-order-actions",children:(0,P.jsxs)("button",{type:"button",className:"cta-btn",disabled:!c,onClick:()=>{ze()},"aria-label":"Match uploaded items",children:[(0,P.jsx)("span",{children:"Match items"}),(0,P.jsx)("span",{className:"arrow",children:(0,P.jsx)(Lt,{})})]})})]})}),(0,P.jsx)("aside",{className:"quick-order-sidebar",children:X1[r].map((Q,ce)=>(0,P.jsxs)("div",{className:"quick-order-step quick-order-step--rail",children:[(0,P.jsx)("span",{className:"quick-order-step-dot",children:ce+1}),(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"quick-order-step-title",children:Q.title}),(0,P.jsx)("div",{className:"quick-order-step-desc",children:Q.desc})]})]},Q.title))})]}),d&&(0,P.jsx)("div",{className:"quick-order-matching-overlay",children:(0,P.jsx)(Yv,{})})]})]})})]})]})}var _e=Y($e());var pd=Y(ae());function Zr(){return(0,pd.jsx)("svg",{className:"back-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,pd.jsx)("path",{d:"M13 8H3M3 8L7 4M3 8L7 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var yi=Y(ae());function dd(){return(0,yi.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,yi.jsx)("path",{d:"M3 12a9 9 0 0 1 15.36-6.36L21 8"}),(0,yi.jsx)("path",{d:"M21 3v5h-5"}),(0,yi.jsx)("path",{d:"M21 12a9 9 0 0 1-15.36 6.36L3 16"}),(0,yi.jsx)("path",{d:"M3 21v-5h5"})]})}var Jo=Y(ae());function md({unit:e}){return(0,Jo.jsx)(Jo.Fragment,{children:e.split(/([²³])/).map((t,a)=>t==="\xB2"||t==="\xB3"?(0,Jo.jsx)("span",{className:"unit-sup",children:t},a):t)})}var Vv=Y(ae());function $1(e,t){return t===1||/^m\d*$/i.test(e)?e:/(s|x|z|ch|sh)$/i.test(e)?`${e}es`:/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:`${e}s`}function xa(e,t){let a=(e??"").trim();if(!a||a==="-")return"";let r=/^each$/i.test(a)?"unit":a;return t!=null?$1(r,t):r}function ka(e,t){let a=xa(e,t);return a?(0,Vv.jsx)(md,{unit:a}):null}function Fo(e){let t=(e??"").trim();if(!t)return"";let a=t.match(/^per\s+(.+)$/i);if(!a)return t;let r=xa(a[1]);return r?`per ${r}`:""}function _i(e){return e===0?"-":Number.isInteger(e)?e.toString():e<1?e.toFixed(2):e.toFixed(1)}function nt(e){return`\xA3${e.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function Xv(e){return`data:image/svg+xml;utf8,${encodeURIComponent(e)}`}var Z1=[{match:["building sand"],path:"/schedule-products/building-sand.webp"},{match:["drywall screw"],path:"/schedule-products/drywall-screws.webp"},{match:["scrim"],path:"/schedule-products/scrim-tape.webp"},{match:["loft insulation","loft roll"],path:"/schedule-products/loft-insulation-roll.webp"},{match:["wall tie"],path:"/schedule-products/wall-ties.webp"},{match:["red multi","multi stock","brick"],path:"/schedule-products/red-multi-stock-bricks.webp"}],K1=[{match:["mortar"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Blue+Circle+Quality+Assured+Mortar+Mix+-+Photo.jpg"},{match:["mot type 1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/MOT+-+Photo+1.jpg"},{match:["soft sand","building sand"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Soft+Building+Sand+-+Photo+1.jpg"},{match:["cement"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/blue+circle+general+cement+bagged.jpg"},{match:["brick"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/class+B+engineering+brick+smooth+red+perforated+65mm+-+Photo+1+comp.jpg"},{match:["dense block","concrete block"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+solid+dense+concrete+block+-+Photo+1+-+1920+comp.jpg"},{match:["metal c stud","c stud"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/70mm+c+stud+angle.jpg"},{match:["timber","carcassing","sawn","c24","c16"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/47mm+x+100mm+sawn+treated+c16+-+Photo+1+1920.jpg"},{match:["osb"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/18mm+structural+OSB+-+Photo+1+comp.jpg"},{match:["dpc"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/225mm+damp+proof+course.jpg"},{match:["soil pipe","soil bend","underground","drainage"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/110mm+Soil+Pipe+Single+Socket+Black+3m+-+High+Res.jpg"},{match:["nail"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/galvanised+round+wire+nail+vertical.jpg"},{match:["retaining clip","retaining clips","insulation disc","insulation disks"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/multiple+zinc+insulation+discs.jpg"},{match:["wall tie"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Type+4+Wall+Ties+-+Photo.jpg"},{match:["loft insulation","loft roll","insulation roll"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/200mm+knauf+loft+roll+44+unwrapping.jpg"},{match:["pir insulation","insulation board","celotex","unilin","indiboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+celotex+sheet+logo.jpg"},{match:["plasterboard","wallboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/12.5mm+wallboard+tapered+edge+corner.jpg"},{match:["drywall screw"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/close+up+drywall+course+thread.jpg"},{match:["scrim","jointing tape","paper tape"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/50mm+scrim+tape.jpg"},{match:["adhesive","high grab","evostik","stixall","gripfill","sealant","ct1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Instant+Nails+Solvent+Free+Grab+Adhesive+White+290ml+-+Photo.jpg"}];function Qa(e,t,a){if(a)return a;let r=(e||"").toLowerCase(),n=K1.find(o=>o.match.some(l=>r.includes(l)));if(n)return n.url;let i=Z1.find(o=>o.match.some(l=>r.includes(l)));return i?Pt(i.path):r.includes("insulation")?Xv(`
6779
+ C24 timber 4.8m`,value:o,onChange:Q=>l(Q.target.value),"aria-label":"Paste schedule line items"}),N&&(0,P.jsxs)("div",{className:"error-box",role:"alert",children:[(0,P.jsx)("strong",{children:"Error:"})," ",N]}),(0,P.jsxs)("div",{className:"quick-order-hint",children:[(0,P.jsx)("strong",{children:"Tip:"}),'\xA0Paste one line per item. Include a count, e.g. "x10", to help us find the right stock and pricing.']}),(0,P.jsx)("div",{className:"quick-order-actions",children:(0,P.jsxs)("button",{type:"button",className:"cta-btn",disabled:!v||!!N,onClick:()=>{i("list_submitted",{method:"paste",lines:v}),K(()=>e(o))},"aria-label":"Match pasted lines",children:[(0,P.jsx)("span",{children:"Match line items"}),(0,P.jsx)("span",{className:"arrow",children:(0,P.jsx)(Ht,{})})]})})]}):(0,P.jsxs)(P.Fragment,{children:[f&&(0,P.jsxs)("div",{className:"error-box",role:"alert",children:[(0,P.jsx)("strong",{children:"Error:"})," ",f]}),(0,P.jsxs)("div",{className:`upload-zone${c?" has-file":""}`,onClick:()=>g.current?.click(),onDragOver:Q=>Q.preventDefault(),onDrop:ue,role:"button",tabIndex:0,onKeyDown:Q=>(Q.key==="Enter"||Q.key===" ")&&g.current?.click(),"aria-label":"Upload zone: click or drag a list or image file here",children:[D?(0,P.jsx)("img",{src:D,alt:c?.name??"Selected photo",className:"upload-zone-photo-preview"}):(0,P.jsx)("div",{className:"upload-zone-icon",children:(0,P.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,P.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,P.jsx)("polyline",{points:"14,2 14,8 20,8"}),(0,P.jsx)("polyline",{points:"9,15 11,17 15,13"})]})}),c?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{className:"upload-zone-subtext",children:c.name}),(0,P.jsx)("button",{type:"button",className:"link-btn link-btn--underline",onClick:Q=>{Q.stopPropagation(),p(null),b(""),g.current&&(g.current.value="")},children:"Remove"})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{className:"upload-zone-text",children:"Drop a photo, spreadsheet, Word document or PDF"}),(0,P.jsx)("div",{className:"upload-zone-subtext",children:"or click to choose a file"})]}),(0,P.jsx)("input",{ref:g,type:"file",accept:X1,className:"visually-hidden",onChange:Q=>G(Q.target.files),tabIndex:-1,"aria-hidden":"true"})]}),(0,P.jsx)("div",{className:"quick-order-actions",children:(0,P.jsxs)("button",{type:"button",className:"cta-btn",disabled:!c,onClick:()=>{Ee()},"aria-label":"Match uploaded items",children:[(0,P.jsx)("span",{children:"Match items"}),(0,P.jsx)("span",{className:"arrow",children:(0,P.jsx)(Ht,{})})]})})]})}),(0,P.jsx)("aside",{className:"quick-order-sidebar",children:$1[r].map((Q,se)=>(0,P.jsxs)("div",{className:"quick-order-step quick-order-step--rail",children:[(0,P.jsx)("span",{className:"quick-order-step-dot",children:se+1}),(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"quick-order-step-title",children:Q.title}),(0,P.jsx)("div",{className:"quick-order-step-desc",children:Q.desc})]})]},Q.title))})]}),d&&(0,P.jsx)("div",{className:"quick-order-matching-overlay",children:(0,P.jsx)(Vv,{})})]})]})})]})]})}var _e=Y(Ke());var pd=Y(ae());function Zr(){return(0,pd.jsx)("svg",{className:"back-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,pd.jsx)("path",{d:"M13 8H3M3 8L7 4M3 8L7 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var yi=Y(ae());function dd(){return(0,yi.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,yi.jsx)("path",{d:"M3 12a9 9 0 0 1 15.36-6.36L21 8"}),(0,yi.jsx)("path",{d:"M21 3v5h-5"}),(0,yi.jsx)("path",{d:"M21 12a9 9 0 0 1-15.36 6.36L3 16"}),(0,yi.jsx)("path",{d:"M3 21v-5h5"})]})}var Jo=Y(ae());function md({unit:e}){return(0,Jo.jsx)(Jo.Fragment,{children:e.split(/([²³])/).map((t,a)=>t==="\xB2"||t==="\xB3"?(0,Jo.jsx)("span",{className:"unit-sup",children:t},a):t)})}var Xv=Y(ae());function Z1(e,t){return t===1||/^m\d*$/i.test(e)?e:/(s|x|z|ch|sh)$/i.test(e)?`${e}es`:/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:`${e}s`}function xa(e,t){let a=(e??"").trim();if(!a||a==="-")return"";let r=/^each$/i.test(a)?"unit":a;return t!=null?Z1(r,t):r}function ka(e,t){let a=xa(e,t);return a?(0,Xv.jsx)(md,{unit:a}):null}function Fo(e){let t=(e??"").trim();if(!t)return"";let a=t.match(/^per\s+(.+)$/i);if(!a)return t;let r=xa(a[1]);return r?`per ${r}`:""}function _i(e){return e===0?"-":Number.isInteger(e)?e.toString():e<1?e.toFixed(2):e.toFixed(1)}function st(e){return`\xA3${e.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function $v(e){return`data:image/svg+xml;utf8,${encodeURIComponent(e)}`}var K1=[{match:["building sand"],path:"/schedule-products/building-sand.webp"},{match:["drywall screw"],path:"/schedule-products/drywall-screws.webp"},{match:["scrim"],path:"/schedule-products/scrim-tape.webp"},{match:["loft insulation","loft roll"],path:"/schedule-products/loft-insulation-roll.webp"},{match:["wall tie"],path:"/schedule-products/wall-ties.webp"},{match:["red multi","multi stock","brick"],path:"/schedule-products/red-multi-stock-bricks.webp"}],P1=[{match:["mortar"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Blue+Circle+Quality+Assured+Mortar+Mix+-+Photo.jpg"},{match:["mot type 1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/MOT+-+Photo+1.jpg"},{match:["soft sand","building sand"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Soft+Building+Sand+-+Photo+1.jpg"},{match:["cement"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/blue+circle+general+cement+bagged.jpg"},{match:["brick"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/class+B+engineering+brick+smooth+red+perforated+65mm+-+Photo+1+comp.jpg"},{match:["dense block","concrete block"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+solid+dense+concrete+block+-+Photo+1+-+1920+comp.jpg"},{match:["metal c stud","c stud"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/70mm+c+stud+angle.jpg"},{match:["timber","carcassing","sawn","c24","c16"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/47mm+x+100mm+sawn+treated+c16+-+Photo+1+1920.jpg"},{match:["osb"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/18mm+structural+OSB+-+Photo+1+comp.jpg"},{match:["dpc"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/225mm+damp+proof+course.jpg"},{match:["soil pipe","soil bend","underground","drainage"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/110mm+Soil+Pipe+Single+Socket+Black+3m+-+High+Res.jpg"},{match:["nail"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/galvanised+round+wire+nail+vertical.jpg"},{match:["retaining clip","retaining clips","insulation disc","insulation disks"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/multiple+zinc+insulation+discs.jpg"},{match:["wall tie"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Type+4+Wall+Ties+-+Photo.jpg"},{match:["loft insulation","loft roll","insulation roll"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/200mm+knauf+loft+roll+44+unwrapping.jpg"},{match:["pir insulation","insulation board","celotex","unilin","indiboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+celotex+sheet+logo.jpg"},{match:["plasterboard","wallboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/12.5mm+wallboard+tapered+edge+corner.jpg"},{match:["drywall screw"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/close+up+drywall+course+thread.jpg"},{match:["scrim","jointing tape","paper tape"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/50mm+scrim+tape.jpg"},{match:["adhesive","high grab","evostik","stixall","gripfill","sealant","ct1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Instant+Nails+Solvent+Free+Grab+Adhesive+White+290ml+-+Photo.jpg"}];function Qa(e,t,a){if(a)return a;let r=(e||"").toLowerCase(),n=P1.find(o=>o.match.some(l=>r.includes(l)));if(n)return n.url;let i=K1.find(o=>o.match.some(l=>r.includes(l)));return i?Pt(i.path):r.includes("insulation")?$v(`
6780
6780
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 420">
6781
6781
  <rect width="640" height="420" fill="#fbf1cf"/>
6782
6782
  <rect x="88" y="78" width="432" height="264" rx="16" fill="#f0c43f"/>
@@ -6787,7 +6787,7 @@ C24 timber 4.8m`,value:o,onChange:Q=>l(Q.target.value),"aria-label":"Paste sched
6787
6787
  <line x1="140" y1="240" x2="468" y2="240"/>
6788
6788
  </g>
6789
6789
  </svg>
6790
- `):Xv(`
6790
+ `):$v(`
6791
6791
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 420">
6792
6792
  <rect width="640" height="420" fill="#edf1f5"/>
6793
6793
  <rect x="132" y="108" width="376" height="204" rx="18" fill="#d5dde6"/>
@@ -6795,9 +6795,9 @@ C24 timber 4.8m`,value:o,onChange:Q=>l(Q.target.value),"aria-label":"Paste sched
6795
6795
  <rect x="168" y="188" width="250" height="24" rx="12" fill="#aab5c0"/>
6796
6796
  <rect x="168" y="232" width="220" height="24" rx="12" fill="#aab5c0"/>
6797
6797
  </svg>
6798
- `)}function Kr(e,t){return{lineId:t.lineId,description:e?.description||t.description||"(no description)",requestedDescription:t.description,productId:e?.product_id??"-",price:e?.price??null,priceBasis:e?.price_basis??null,unit:t.unit,uoi:e?.uoi??t.unit,uoiCount:e?.uoi_count??null,saleUnit:e?.conversion?.sale_unit??null,saleUnitQuantity:e?.conversion?.sale_unit_quantity??null,unitConversions:e?.conversion?.unit_conversions?.map(a=>({requestUom:a.request_uom,quantityPerSaleUnit:a.quantity_per_sale_unit,evidence:a.evidence,confidence:a.confidence})),pdpPhotoUrl:e?.pdp_photo_url??null,measurementsMm:e?.measurements_mm??[],conversionType:e?.conversion?.conversion_type??null,requestUomsSupported:e?.conversion?.request_uoms_supported??null,salesUomNormalised:e?.conversion?.sales_uom_normalised??null,salesUnitSize:e?.conversion?.sales_unit_size??null,salesUnitSizeUom:e?.conversion?.sales_unit_size_uom??null,coverageQty:e?.conversion?.coverage_qty??null,coverageUom:e?.conversion?.coverage_uom??null,itemsPerPallet:e?.conversion?.items_per_pallet??null,itemsPerPack:e?.conversion?.items_per_pack??null,itemsPerBox:e?.conversion?.items_per_box??null,itemsPerM2:e?.conversion?.items_per_m2??null,wasteFactorDefault:e?.conversion?.waste_factor_default??null,roundingRule:e?.conversion?.rounding_rule??null,derivedCoverageM2:e?.conversion?.derived_coverage_m2??null,derivedLengthM:e?.conversion?.derived_length_m??null,quoteQtyFormulaType:e?.conversion?.quote_qty_formula_type??null,conversionConfidence:e?.conversion?.conversion_confidence??null,conversionNotes:e?.conversion?.conversion_notes??null,calculatorWasteIncluded:t.calculatorWasteIncluded,qty:t.qty,linkedContext:t.linkedContext}}var Fv=e=>(e??"").trim().toLowerCase(),P1={sqm:"m2","sq m":"m2","m\xB2":"m2",cbm:"m3","cu m":"m3",lm:"m","lin m":"m",metre:"m",meter:"m",each:"each",ea:"each",nr:"each",no:"each",item:"each",unit:"each",units:"each",pc:"each",pcs:"each",board:"sheet",bags:"bag",length:"length",lengths:"length",pallet:"pallet",pallets:"pallet"},$v=new Set(["sheet","length","box","bag","pack","roll","set","tub","each"]),Zv=new Set(["box","bag","pack","pallet","roll","set","tub"]),Kv=(e,t)=>t==="ml"?e:["l","litre","litres"].includes(t)?e*1e3:null,Pv=(e,t)=>t==="g"?e:["kg","kilogram","kilograms"].includes(t)?e*1e3:["t","tonne","tonnes"].includes(t)?e*1e6:null,xi=e=>{let t=Fv(e);return P1[t]??t},st=(e,t)=>{let a=xi(e),r=xi(t);return a.length>0&&a===r},J1=(e,t)=>{let a=Fv(t);return a?a.includes("round_up_1000")?Math.ceil(e):a.includes("allow_decimal")?Math.round(e*1e3)/1e3:a.includes("round_up")?Math.ceil(e):e:e},F1=e=>(e??"").split(",").map(t=>xi(t)).filter(Boolean),I1=(e,t)=>{let a=F1(e.requestUomsSupported);return!!(a.length===0||a.includes(t)||st(t,"pallet")&&e.itemsPerPallet!=null&&e.itemsPerPallet>0||st(t,"pack")&&e.itemsPerPack!=null&&e.itemsPerPack>0||st(t,"box")&&e.itemsPerBox!=null&&e.itemsPerBox>0)},Jv=(e,t)=>st(t,"pallet")?e.itemsPerPallet??null:st(t,"pack")?e.itemsPerPack??null:st(t,"box")?e.itemsPerBox??null:null,W1=(e,t,a)=>{if(!st(t,"m2"))return null;let r=e.description.match(/(\d+(?:[.,]\d+)?)\s*(m2|m²|sqm|sq\.?\s*m)\s*(?:\/|per)\s*([a-z]+)/i);if(!r||!st(r[3],a))return null;let n=Number.parseFloat(r[1].replace(",","."));return Number.isFinite(n)&&n>0?n:null};function Zs(e,t){return e.reduce((a,r)=>a+(Rt(r,t).lineTotal??0),0)}function Rt(e,t){let a=e.qty,r=xi(e.saleUnit??e.salesUnitSizeUom??e.uoi??e.salesUomNormalised)||"-",n=xi(e.unit)||(a>0&&$v.has(r)?r:"-"),i=e.saleUnitQuantity??e.salesUnitSize??e.uoiCount??1,o=t?.wasteFactorEnabled===!1?0:t?.wasteFactorOverride??e.wasteFactorOverride??e.wasteFactorDefault??0,l=e.sellUnitsOverride!=null&&Number.isFinite(e.sellUnitsOverride)&&e.sellUnitsOverride>0,c=l?e.sellUnitsOverride??null:null,p=v=>({requestedAmount:a,requestedUnit:n,salesUnitSize:e.salesUnitSize??e.uoiCount??null,sellUnit:r,calculatedSellUnits:null,requiredSellUnits:c,unitPrice:e.price,lineTotal:e.price!=null&&c!=null?e.price*c:null,calculation:c!=null?`${v} Manually set to ${c} ${r}.`:v,costingMode:"review"});if(!I1(e,n))return p("Requested unit is not supported by this catalogue conversion.");let f=null,b="review",d=e.roundingRule,h=`Quantity review required, initial request needed ${a} ${n}.`,w=1+o,M=W1(e,n,r),D=e.unitConversions?.find(v=>st(v.requestUom,n));if(!!e.saleUnit&&(st(n,r)||!!D||st(n,"each")&&!Zv.has(r)))if(st(n,r))f=a*w/i,b="direct",h=`${a} ${n}${o>0?` x ${w}`:""}`;else if(D){f=a*w/D.quantityPerSaleUnit,b="derived";let v=1/D.quantityPerSaleUnit,N=Math.round(v);h=st(r,"each")&&D.quantityPerSaleUnit<1&&Math.abs(v-N)<1e-9?`${a} ${n}${o>0?` x ${w}`:""} x ${N} per ${n}`:`${a} ${n}${o>0?` x ${w}`:""} / ${D.quantityPerSaleUnit} ${n} per ${r}`}else st(n,"each")&&!Zv.has(r)&&(f=a*w/i,b="derived",h=`${a} ${r}${o>0?` x ${w}`:""}`);else if(st(n,r)&&i>0)f=a*w/i,b="direct",h=o>0?`${a} ${n} x ${w} / ${i} ${r} per sell unit`:`${a} ${n} / ${i} ${r} per sell unit`;else if(st(n,"each")&&i>0&&$v.has(r))f=a*w/i,b="derived",h=o>0?`${a} each x ${w} / ${i} each per ${r}`:`${a} each / ${i} each per ${r}`;else if(Jv(e,n)!=null&&i>0){let v=Jv(e,n)??0;f=a*v*w/i,b="derived";let N=`${a} ${n} x ${v} each${o>0?` x ${w}`:""}`;h=i===1&&st(r,"each")?N:`${N} / ${i} each per ${r}`}else if(M!=null)f=a*w/M,b="derived",d??(d="round_up_each"),h=`${a} m2 x ${w} / ${M} m2 per ${r} (from product description)`;else if(e.conversionType==="basket_line_unit")i>0&&(f=a*w/i,b="derived",h=`${a} ${n}${o>0?` x ${w}`:""} / ${i} ${n} per ${r}`);else{if(e.conversionType==="count_only")return p(`Quantity review required, initial request needed ${a} ${n}.`);if(["area_from_dims","explicit_coverage_area","roll_area"].includes(e.conversionType??"")){let v=e.coverageQty??e.derivedCoverageM2??null;st(n,"m2")&&v!=null&&v>0&&(f=a*w/v,b="derived",h=`${a} m2 x ${w} / ${v} m2 per ${r}`)}else if(e.conversionType==="count_per_area"){let v=e.coverageQty??null;st(n,"m2")&&v!=null&&v>0?(f=a/v,b="derived",h=`${a} m2 / ${v} m2 per sell unit`):st(n,"m2")&&e.itemsPerM2!=null&&e.itemsPerM2>0&&i>0&&(f=a*e.itemsPerM2*w/i,b="derived",h=`${a} m2 x ${e.itemsPerM2} ${r}/m2 x ${w} / ${i}`)}else if(e.conversionType==="length_from_dims"){let v=e.coverageQty??e.derivedLengthM??null;st(n,"m")&&v!=null&&v>0&&(f=a*w/v,b="derived",h=`${a} m x ${w} / ${v} m per ${r}`)}else if(e.conversionType==="volume_from_description"){let v=Kv(a,n),N=Kv(e.coverageQty??0,xi(e.coverageUom));v!=null&&N!=null&&N>0&&(f=v*w/N,b="derived",h=`${a} ${n} x ${w} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="weight_from_description"){let v=Pv(a,n),N=Pv(e.coverageQty??0,xi(e.coverageUom));v!=null&&N!=null&&N>0&&(f=v*w/N,b="derived",h=`${a} ${n} x ${w} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="same_unit_volume"){let v=e.coverageQty??null;st(n,"m3")&&v!=null&&v>0&&(f=a/v,b="derived",h=`${a} m3 / ${v} m3 per ${r}`)}}if(f==null||!Number.isFinite(f)||f<0)return p(`Quantity review required, initial request needed ${a} ${n}.`);let u=J1(f,d),g=l?e.sellUnitsOverride??null:u;return{requestedAmount:a,requestedUnit:n,salesUnitSize:i,sellUnit:r,calculatedSellUnits:u,requiredSellUnits:g,unitPrice:e.price,lineTotal:e.price!=null&&g!=null?e.price*g:null,calculation:l?`${h} = ${u} ${r} (manually set to ${g})`:`${h} = ${g} ${r}`,costingMode:b}}var Iv=()=>import("./xlsx-K4MOA2QM.js"),Wo=["Source Line ID","Split Line ID","Description","Section","Qty","Unit","Procurement intent","Procurement aliases","Build-up type","Layer count","Total thickness (mm)","Installation clues","System clues","Component requirements","Technical classification","Include in quote","Approval required","Approval type","Missing information","Adjudicator confidence","Decision reason","Selected candidate ID","Selected candidate description","Price basis","Price","Line total","Confidence","Status"],e_=Wo.indexOf("Line total");function t_(e){return e.unmatchable?"Not matched (labour/plant/referential)":e.decision?.include_in_quote===!0&&e.decision.approval_required===!0?"Approval required":e.decision?.include_in_quote===!0?"Quoted":e.decision?.technical_classification==="no_suitable_candidate"?"No suitable candidate":(e.best,"No match")}async function Wv(e){let t=await Iv(),a=t.utils.book_new(),r=new Date().toISOString().slice(0,10),n=[Wo],i=0;for(let c of e){let{item:p,best:f,qty:b,band:d,unmatchable:h,decision:w}=c,M=[p.section,p.subsection,p.subheading].filter(Boolean).join(" / "),D=!h&&f?.price!=null?f.price*b:null;D!=null&&(i+=D),n.push([p.source_line_id,p.line_id,p.description_original||"(no description)",M,b,p.unit,p.procurement_intent||"-",p.procurement_aliases.join(", "),p.build_up_type,p.layer_count,p.total_required_thickness_mm,p.installation_clues.join(", "),p.system_clues.join(", "),p.component_requirements.join(", "),w?.technical_classification??"",w?.include_in_quote==null?"":w.include_in_quote?"yes":"no",w?.approval_required==null?"":w.approval_required?"yes":"no",w?.approval_type??"",w?.missing_information.join(", ")??"",w?.confidence??"",w?.reason??"",h?"-":f?.product_id??w?.selected_candidate_id??"-",h?"-":f?.description??"-",h?"-":f?.price_basis??"-",h?null:f?.price??null,D,h?"-":d,t_(c)])}n.push(Array(Wo.length).fill(null));let o=Array(Wo.length).fill(null);o[0]="Estimated total",o[e_]=i,n.push(o),n.push(["DISCLAIMER: These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence.",...Array(Wo.length-1).fill(null)]);let l=t.utils.aoa_to_sheet(n);l["!cols"]=[{wch:12},{wch:12},{wch:44},{wch:24},{wch:8},{wch:8},{wch:28},{wch:28},{wch:16},{wch:10},{wch:12},{wch:24},{wch:24},{wch:24},{wch:22},{wch:14},{wch:14},{wch:18},{wch:24},{wch:16},{wch:48},{wch:16},{wch:40},{wch:10},{wch:10},{wch:12},{wch:11},{wch:26}],t.utils.book_append_sheet(a,l,"Schedule match"),t.writeFile(a,`schedule-quote-${r}.xlsx`)}var Io=["Product ID","Description","Costing mode","Required amount","Req unit","Sell unit size","Sell unit","Required sell units","Unit price","Line total"];async function ew(e,t){let a=await Iv(),r=a.utils.book_new(),n=new Date().toISOString().slice(0,10),i=t?[["Account",t.name+" ("+t.id+")"],[],Io]:[Io],o=0;for(let p of e){let f=Rt(p),b=f.lineTotal;b!=null&&(o+=b),i.push([p.productId,p.description,f.costingMode,f.requestedAmount,xa(f.requestedUnit),f.salesUnitSize,xa(f.sellUnit),f.requiredSellUnits,f.unitPrice,b])}i.push(Array(Io.length).fill(null));let l=Array(Io.length).fill(null);l[0]="Estimated total",l[Io.length-1]=o,i.push(l);let c=a.utils.aoa_to_sheet(i);c["!cols"]=[{wch:14},{wch:48},{wch:12},{wch:14},{wch:10},{wch:14},{wch:10},{wch:16},{wch:12},{wch:14}],a.utils.book_append_sheet(r,c,"Basket"),a.writeFile(r,t?`basket-${t.id}-${n}.xlsx`:`basket-${n}.xlsx`)}var s=Y(ae()),gd="__none__",el=24,a_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}];function iw(e){return e==null?"low":e>=.7?"high":e>=.5?"medium":"low"}var r_=e=>e.attrs.supply_nature==="labour_only"||e.attrs.supply_nature==="plant"||e.flags.includes("referential");function i_(e,t){if(t!==gd){if(t)return e?.candidates.find(a=>a.product_id===t);if(e?.decision?.selected_candidate_id!=null)return e.candidates.find(a=>a.product_id===e.decision.selected_candidate_id)}}function tw(e){return{product_id:e.productId,description:e.description,source_list:null,price:e.price,price_basis:e.priceBasis,uoi_count:e.uoiCount??null,uoi:e.uoi,pdp_photo_url:e.pdpPhotoUrl??null,measurements_mm:e.measurementsMm??[],conversion:{sale_unit:e.saleUnit,sale_unit_quantity:e.saleUnitQuantity,unit_conversions:e.unitConversions?.map(t=>({request_uom:t.requestUom,quantity_per_sale_unit:t.quantityPerSaleUnit,evidence:t.evidence,confidence:t.confidence})),sales_uom_normalised:e.salesUomNormalised,conversion_type:e.conversionType,request_uoms_supported:e.requestUomsSupported,sales_unit_size:e.salesUnitSize,sales_unit_size_uom:e.salesUnitSizeUom,coverage_qty:e.coverageQty,coverage_uom:e.coverageUom,items_per_pallet:e.itemsPerPallet,items_per_pack:e.itemsPerPack,items_per_box:e.itemsPerBox,items_per_m2:e.itemsPerM2,waste_factor_default:e.wasteFactorDefault,rounding_rule:e.roundingRule,derived_coverage_m2:e.derivedCoverageM2,derived_length_m:e.derivedLengthM,quote_qty_formula_type:e.quoteQtyFormulaType,conversion_confidence:e.conversionConfidence,conversion_notes:e.conversionNotes},scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"manual_cart_selection"}}function n_(e){return e?e.replace(/_/g," "):"not stated"}function o_({band:e}){return(0,s.jsx)("span",{className:`status-dot status-dot--${e}`,title:e,children:(0,s.jsx)("span",{className:"status-dot__mark"})})}function Tn(e,t){if(e==null)return"-";let a=Fo(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function hd(e){return e&&e.length>0?e.join(" x "):"-"}function l_(e){return e==null?"-":Number.isInteger(e/1e3)?`${e/1e3}m`:`${(e/1e3).toFixed(1)}m`}function Mn(e){let t=(e??[]).map(a=>a.trim()).filter(Boolean);return t.length>0?t.join(", "):"-"}function Pr(e,t){let a=typeof e.description_original=="string"?e.description_original.trim():"";return(typeof e.customer_display_label=="string"?e.customer_display_label.trim():"")||a||"(no description)"}var aw=[{background:"#fff7ed",borderColor:"#fdba74",color:"#9a3412"},{background:"#eff6ff",borderColor:"#93c5fd",color:"#1d4ed8"},{background:"#ecfeff",borderColor:"#67e8f9",color:"#0f766e"},{background:"#f0fdf4",borderColor:"#86efac",color:"#166534"},{background:"#fdf4ff",borderColor:"#f0abfc",color:"#a21caf"}];function s_(e){let t=new Map;return[...new Set(e.filter(mr).map(r=>r.linked_group_id))].forEach((r,n)=>{let i=n%26;t.set(r,{token:String.fromCharCode(65+i),bubbleStyle:aw[n%aw.length]})}),t}function mr(e){return!1}function zn(e){if(!e.linked_group_id)return null;let t=e.linked_group_label||"Linked group",a=e.linked_group_role==="anchor"?"anchor":e.linked_group_role==="dependent"?"dependent":"member",r=e.linked_group_shared_width_mm!=null?`, ${e.linked_group_shared_width_mm}mm family`:"";return`${t} (${a}${r})`}function fd({meta:e}){return e?(0,s.jsx)("span",{className:"results-linked-pill",style:e.bubbleStyle,children:`Link ${e.token}`}):null}function c_(e,t,a){let r=t?.rerank?.recommendedCandidateIds??[];if(r.length===0){let o=e.slice(0,5),l=o.some(c=>c.product_id===a)?void 0:e.find(c=>c.product_id===a);return l?[...o,l]:o}let n=new Map(e.map(o=>[o.product_id,o])),i=r.map(o=>n.get(o)).filter(o=>o!=null);if(a&&!i.some(o=>o.product_id===a)){let o=n.get(a);o&&i.unshift(o)}return[...new Map(i.map(o=>[o.product_id,o])).values()].slice(0,5)}function Ks(e){let t=e?.rerank?.recommendedCandidateIds??[];if(t.length===0||!e)return[];let a=new Map(e.candidates.map(r=>[r.product_id,r]));return t.map(r=>a.get(r)).filter(r=>r!=null)}function Ps(e){if(e>=6e4){let t=Math.floor(e/6e4),a=Math.round(e%6e4/1e3);return a===60?`${t+1}m`:`${t}m ${a}s`}return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${e}ms`}function u_({processStages:e,llmCalls:t,totalDurationMs:a,llmDurationMs:r,llmCallCount:n}){let i=[...t].sort((l,c)=>c.durationMs-l.durationMs).slice(0,12),o=Math.max(0,t.length-i.length);return(0,s.jsxs)("div",{className:"results-detail-block",style:{marginBottom:18},children:[(0,s.jsx)("h3",{style:{margin:"0 0 12px"},children:"Pipeline timings"}),(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:12},children:[(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ps(a)})," total"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:n})," LLM calls"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ps(r)})," LLM time"]})]}),(0,s.jsxs)("table",{className:"score-breakdown-table",style:{marginBottom:14},children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Process stage"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:e.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ps(l.durationMs)})]},`${l.key}-${c}`))})]}),t.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{style:{margin:"0 0 10px"},children:"LLM calls"}),(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Call"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:i.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ps(l.durationMs)})]},`${l.key}-${c}`))})]}),o>0&&(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Showing slowest ",i.length," of ",t.length," LLM calls."]})]})]})}function p_({queries:e}){return e.length===0?null:(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Retrieval by procurement query"}),e.map((t,a)=>(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsxs)("div",{className:"results-row-meta",style:{marginBottom:6},children:["Query: ",(0,s.jsx)("strong",{children:t.query})]}),t.candidates.length===0?(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates returned for this query."}):(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Unit"}),(0,s.jsx)("th",{children:"bm25"})]})}),(0,s.jsx)("tbody",{children:t.candidates.slice(0,5).map((r,n)=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:r.description}),(0,s.jsx)("div",{className:"results-row-meta",children:r.product_id})]}),(0,s.jsx)("td",{children:hd(r.measurements_mm)}),(0,s.jsx)("td",{children:Fo(r.price_basis)||"-"}),(0,s.jsx)("td",{children:r.bm25.toFixed(2)})]},`${r.product_id}-${n}`))})]})]},`${t.query}-${a}`))]})}function rw({item:e,result:t}){let a=t?.retrieval_debug.map(n=>n.query).filter(Boolean)??[],r=[["Procurement intent",e.procurement_intent||"-"],["Procurement aliases",Mn(e.procurement_aliases)],["Retrieval queries",Mn(a)],["Category",e.attrs.category||"-"],["Fine category",e.attrs.category_fine||"-"],["Brand",e.attrs.brand||"-"],["Material",e.attrs.material||"-"],["Grade / standard",e.attrs.grade_standard||"-"],["Treatment",e.attrs.treatment||"-"],["Supply nature",e.attrs.supply_nature||"-"],["Measurements (mm)",hd(e.attrs.measurements_mm)],["Stock length",l_(e.attrs.stock_length_mm)],["Matching mode",e.matching_mode||"-"],["Build-up type",e.build_up_type||"-"],["Layer count",e.layer_count!=null?String(e.layer_count):"-"],["Required thickness (mm)",e.total_required_thickness_mm!=null?String(e.total_required_thickness_mm):"-"],["Allowed layer thicknesses (mm)",e.acceptable_layer_thicknesses_mm.length>0?e.acceptable_layer_thicknesses_mm.join(", "):"-"],["Installation clues",Mn(e.installation_clues)],["System clues",Mn(e.system_clues)],["Component requirements",Mn(e.component_requirements)],["Linked group",zn(e)||"-"],["Flags",Mn(e.flags)]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Search context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:r.map(([n,i])=>(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:n}),(0,s.jsx)("dd",{children:i})]},n))})]})}function d_({item:e}){let t=e.decomposition_debug;return t?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Decomposition"}),(0,s.jsxs)("dl",{className:"results-detail-grid",children:[(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Attempted"}),(0,s.jsx)("dd",{children:t.attempted?"yes":"no"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Applied"}),(0,s.jsx)("dd",{children:t.applied?"yes":"no"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned items"}),(0,s.jsx)("dd",{children:t.returned_item_count??"-"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Reason"}),(0,s.jsx)("dd",{children:t.reason||"-"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned intents"}),(0,s.jsx)("dd",{children:t.items.length>0?t.items.map(a=>`${a.intent}${a.inherits_quantity?" (inherits qty)":""}`).join(", "):"-"})]})]})]}):null}function m_({result:e}){let t=e?.adjudication_debug;if(!t)return null;let a=[["Dependent rerank applied",t.dependent_rerank_applied?"yes":"no"],["Linked parent selected product",t.linked_parent_selected_candidate_description||t.linked_parent_selected_candidate_id||"-"],["Dimension reason overridden",t.dimension_reason_overridden?"yes":"no"]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Adjudication context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:a.map(([r,n])=>(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:r}),(0,s.jsx)("dd",{children:n})]},r))}),t.rerank_line_item_input?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h5",{style:{margin:"12px 0 8px"},children:"Rerank input"}),(0,s.jsx)("pre",{className:"results-pre",children:JSON.stringify(t.rerank_line_item_input,null,2)})]}):null]})}function f_({item:e,decision:t,result:a,showRetrievalDebug:r,reviewOnly:n=!1,linkedGroupMeta:i}){if(!t)return null;let o=t.technical_classification==="no_suitable_candidate"?"Exact match not found:":`AI review (${t.confidence??"confidence not stated"}):`;return n?t.reason?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",i?`Link ${i.token} - `:"",zn(e)]}):null]}):null:!t.reason&&!r?(0,s.jsx)(rw,{item:e,result:a}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(rw,{item:e,result:a}),r&&(0,s.jsx)(d_,{item:e}),r&&(0,s.jsx)(m_,{result:a}),t.reason&&(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",i?`Link ${i.token} - `:"",zn(e)]}):null]}),r&&(0,s.jsx)(p_,{queries:a?.retrieval_debug??[]})]})}function g_({item:e,candidates:t,result:a,decision:r,unmatchable:n,selectedProductId:i,detailMode:o,onPick:l,onClear:c,showAll:p=!1,internal:f=!1,debugEnabled:b=!1,forceReviewNote:d=!1,linkedGroupMeta:h}){let w=f||o==="detailed",M=b&&o==="detailed",D=w||d?(0,s.jsx)(f_,{item:e,decision:r,result:a,showRetrievalDebug:M,reviewOnly:d&&!w,linkedGroupMeta:h}):null;if(n)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"Classified as labour/plant or referencing another line item - skipped by design."})]});if(t.length===0)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates were returned for this line item."})]});let m=p||f||o==="detailed"?t:c_(t,a,i);return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Price"}),M&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{children:"dimension"}),(0,s.jsx)("th",{children:"grade"}),(0,s.jsx)("th",{children:"brand"}),(0,s.jsx)("th",{children:"fuzzy"}),(0,s.jsx)("th",{children:"bm25"}),(0,s.jsx)("th",{children:"overall"})]}),(0,s.jsx)("th",{"aria-label":"Actions"})]})}),(0,s.jsx)("tbody",{children:m.map((u,g)=>{let v=u.product_id===i;return(0,s.jsxs)("tr",{className:v?"score-breakdown-row--best":"",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:u.description}),(0,s.jsx)("div",{className:"results-row-meta",children:u.product_id})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"unit-badge",children:hd(u.measurements_mm??u.debug?.candidate.measurements_mm)})}),(0,s.jsx)("td",{children:Tn(u.price,u.price_basis)}),M&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:(u.scores?.dimension??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.grade??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.brand??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.fuzzy??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.bm25??0).toFixed(2)}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,s.jsx)(o_,{band:iw(u.scores?.overall)}),(0,s.jsx)("span",{className:"results-overall-cell",children:(u.scores?.overall??0).toFixed(2)})]})})]}),(0,s.jsx)("td",{children:(0,s.jsxs)("label",{className:"switch-toggle",title:v?"Currently selected":"Use this candidate",children:[(0,s.jsx)("input",{type:"checkbox",checked:v,onChange:()=>{v?c?.():l(u)},"aria-label":v?`${u.description} selected`:`Use ${u.description}`}),(0,s.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},`${u.product_id}-${g}`)})})]})]})}function bd({scheduleResult:e,onStartOver:t,cart:a,onAddToCart:r,onRemoveFromCart:n,onGoToBasket:i,cartSeeded:o,onCartSeeded:l,reviewGateComplete:c,onReviewGateComplete:p,internal:f=!1}){let b=!f&&Qs()==="QZA6-MRA4",d=b?"quote":"basket",{results:h,lineItems:w,parseReport:M,timings:D}=e,[m,u]=(0,_e.useState)({}),g=Cn(),[v,N]=(0,_e.useState)({}),[A,T]=(0,_e.useState)({}),[z,G]=(0,_e.useState)(""),[K,he]=(0,_e.useState)(null),[ze,Ve]=(0,_e.useState)(1),[He,it]=(0,_e.useState)(!1);(0,_e.useEffect)(()=>{it(new URLSearchParams(window.location.search).get("debug")==="1")},[]);let[pe,Q]=(0,_e.useState)("simple"),[ce,Se]=(0,_e.useState)(f?"list":"tile"),[xe,ee]=(0,_e.useState)(!1),[se,Ne]=(0,_e.useState)(null),[fe,Xe]=(0,_e.useState)(""),[jt,zt]=(0,_e.useState)([]),[tt,ct]=(0,_e.useState)(!1),[je,E]=(0,_e.useState)(null),[x,R]=(0,_e.useState)(!1),[I,ue]=(0,_e.useState)(null),ge=(0,_e.useRef)(null),[ke,k]=(0,_e.useState)(new Set),[j,O]=(0,_e.useState)(new Set),[ne,W]=(0,_e.useState)(!1);(0,_e.useEffect)(()=>{Ve(1)},[z,K,ce]);let C=new Map(h.map(_=>[_.line_id,_])),V=s_(w),X=w.map(_=>{let L=C.get(_.line_id),we=L?.decision,mt=r_(_),Ke=m[_.line_id],Wt=i_(L,Ke),zi=a[_.line_id],Hw=Ke===gd?void 0:v[_.line_id]??(zi&&zi.productId!==Wt?.product_id?tw(zi):Wt),em=mt?void 0:Hw,jw=_.qty??0;return{item:_,result:L,decision:we,unmatchable:mt,best:em,qty:jw,band:iw(em?.scores?.overall)}}),de=Zs(Object.values(a),{wasteFactorEnabled:!1,wasteFactorOverride:0}),Ce=0;for(let _ of X){if(_.unmatchable||_.decision?.include_in_quote!==!0||!_.best)continue;let L=a[_.item.line_id];(!L||Rt(L).lineTotal==null)&&(Ce+=1)}Ce>0&&(de=null);let dt=_=>!_.unmatchable&&!_.best&&_.decision?.technical_classification!=="no_suitable_candidate"&&Ks(_.result).length>0,Ge=_=>_.best??Ks(_.result)[0],Ir=X.filter(_=>!_.unmatchable&&!_.best).filter(_=>!j.has(_.item.line_id)),ll=X.filter(_=>j.has(_.item.line_id)),Ea=X;if(z.trim()){let _=z.trim().toLowerCase();Ea=Ea.filter(L=>L.item.description_original?.toLowerCase().includes(_)||Ge(L)?.description?.toLowerCase().includes(_))}if(K){let _=K==="asc"?1:-1;Ea=[...Ea].sort((L,we)=>_*(L.item.description_original||"").localeCompare(we.item.description_original||""))}let hr=Math.max(1,Math.ceil(Ea.length/el)),Ft=Math.min(ze,hr),It=Ea.slice((Ft-1)*el,Ft*el),Vd=It.filter(_=>!_.unmatchable&&_.best),Xd=It.filter(_=>dt(_)),hc=It.filter(_=>!_.unmatchable&&(_.best||dt(_))),$d=It.filter(_=>_.unmatchable||!_.best&&!dt(_)),J=se?X.find(_=>_.item.line_id===se)??null:null,Aw=!f&&!c&&!J&&Ir.length>0,Gn=(0,_e.useRef)(null),Qn=()=>{let _=ge.current;if(!_)return;let{top:L,left:we,width:mt,height:Ke}=_.getBoundingClientRect(),zi=_.querySelector(".bom-toolbar-btn")?.closest("td")?.getBoundingClientRect().left;ue({top:L,left:we,width:zi?zi-we:mt,height:Ke})};(0,_e.useEffect)(()=>(window.addEventListener("scroll",Qn,!0),window.addEventListener("resize",Qn),()=>{window.removeEventListener("scroll",Qn,!0),window.removeEventListener("resize",Qn)})),(0,_e.useEffect)(()=>{let _=L=>{Gn.current&&!L.composedPath().includes(Gn.current)&&Gn.current.removeAttribute("open")};return document.addEventListener("click",_),()=>document.removeEventListener("click",_)},[]);let Ei=_=>{Ne(_),Xe("")},Rw=()=>{if(!se)return;let _=a[se];if(_){u(L=>({...L,[se]:_.productId})),N(L=>({...L,[se]:tw(_)}));return}u(L=>{let we={...L};return delete we[se],we}),N(L=>{let we={...L};return delete we[se],we})},br=(_=!1)=>{let L=se?a[se]:void 0;!_&&L&&J?.best&&L.productId!==J.best.product_id&&!window.confirm("You have selected a new product. Leave without updating it?")||(_||Rw(),Ne(null),W(!1))},Uw=_=>{if(k(L=>new Set(L).add(_)),Ir.some(L=>L.item.line_id!==_)){br(!0);return}p(),br(!0)},Dw=_=>{if(bc(_),O(L=>new Set(L).add(_)),Ir.some(L=>L.item.line_id!==_)){br(!0);return}p(),br(!0)},Bw=()=>{O(_=>new Set([..._,...Ir.map(L=>L.item.line_id)])),p()},Zd=()=>{J?.best&&(Pd(J.item.line_id,J.best),r(Mi(J)),ne?Uw(J.item.line_id):br(!0))},Kd=$d.length>0?(0,s.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,s.jsxs)("div",{className:"results-tile-section__head",children:[(0,s.jsx)("h3",{children:"Require Matching"}),(0,s.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,s.jsx)("div",{className:"results-unmatched-list",children:$d.map(_=>{let{item:L,qty:we}=_;return(0,s.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>Ei(L.line_id),children:[(0,s.jsx)("span",{className:"results-unmatched-card__main",children:(0,s.jsx)("span",{className:"results-unmatched-card__title",children:Pr(L,w)})}),(0,s.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},L.line_id)})})]}):null,bc=_=>{u(L=>({...L,[_]:gd})),N(L=>({...L,[_]:void 0})),T(L=>({...L,[_]:void 0})),n(_)},vc=(_,L)=>{u(we=>({...we,[_]:L.product_id})),N(we=>({...we,[_]:L}))},Pd=(_,L)=>{L.method==="catalogue_search"&&T(we=>({...we,[_]:L}))};function rx(){g("downloaded",{type:"schedule",lines:X.length}),Wv(X.map(({item:_,best:L,qty:we,band:mt,unmatchable:Ke,decision:Wt})=>({item:_,best:L,qty:we,band:mt,unmatchable:Ke,decision:Wt})))}function Mi(_){let L=_.best??Ks(_.result)[0];return Kr(L,{lineId:_.item.line_id,description:_.item.description_original,unit:_.item.unit,qty:_.qty,linkedContext:_.item.linked_group_role==="dependent"&&_.item.linked_group_id?w.filter(we=>we.linked_group_id===_.item.linked_group_id&&we.linked_group_role==="anchor").slice(0,1).map(we=>{let mt=a[we.line_id];return{line_id:we.line_id,product_id:mt?.productId??null,measurements_mm:mt?.measurementsMm??we.attrs.measurements_mm,description:mt?.description??we.description_original,qty:we.qty,unit:we.unit,role:"anchor"}}):void 0})}(0,_e.useEffect)(()=>{if(!o){for(let _ of X)!_.unmatchable&&_.best&&r(Mi(_));l()}},[o]),(0,_e.useEffect)(()=>{for(let _ of X)!a[_.item.line_id]&&!_.unmatchable&&_.best&&r(Mi(_))},[e]),(0,_e.useEffect)(()=>{if(!se){zt([]),E(null),ct(!1);return}let _=fe.trim();if(!_){zt([]),E(null),ct(!1);return}let L=!1,we=window.setTimeout(async()=>{try{ct(!0),E(null);let mt=await fetch(Ot(`/api/catalogue/search?q=${encodeURIComponent(_)}`),{headers:wi()}),Ke=await Kt(mt);if(!mt.ok)throw new Error(Ke?.error||Ke?.message||"Failed to search catalogue");L||zt(Array.isArray(Ke?.items)?Ke.items:[])}catch(mt){L||(zt([]),E(mt?.message||"Failed to search catalogue"))}finally{L||ct(!1)}},250);return()=>{L=!0,window.clearTimeout(we)}},[fe,se]);let wc=Object.keys(a).length,Ma=fe.trim(),Jd=Ks(J?.result),sl=J?.decision?.technical_classification==="no_suitable_candidate"||!!J&&!J.best,Fd=J?.decision?.technical_classification!=null,Id=J?.decision?.reason??(sl?"No catalogue candidate found. Refine the request or search the catalogue.":null),Ow=jt.map(_=>({product_id:_.product_id,description:_.description,source_list:_.source_list,price:_.price,price_basis:_.price_basis,uoi_count:_.uoi_count??null,uoi:_.uoi,pdp_photo_url:_.pdp_photo_url??null,conversion:_.conversion,measurements_mm:_.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"catalogue_search"})),Yn=Ma?Ow:Jd,Ti=J?A[J.item.line_id]:void 0,Vn=!Ma&&Ti&&!Yn.some(_=>_.product_id===Ti.product_id)?[...Yn,Ti]:Yn,Wd=(()=>{let _=Vn.slice(0,Ma?12:3);return Ma||!Ti||_.some(L=>L.product_id===Ti.product_id)?_:[..._,Ti]})(),cl=!!J?.best&&a[J.item.line_id]?.productId===J.best.product_id,Lw=!!J?.best&&!!a[J.item.line_id]&&!cl;return(0,s.jsxs)("div",{className:"wizard-step entry-stage",children:[(0,s.jsxs)("div",{className:`quick-order-card${f?"":" quick-order-card--customer"}`,children:[(0,s.jsx)("div",{className:`quick-order-hero${f?"":" quick-order-hero--customer"}`,children:f?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,s.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,s.jsx)("h1",{children:"Your Results"}),(0,s.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,s.jsx)("strong",{children:de==null?"Calculating\u2026":nt(de)})," Est. total"]})]}),(0,s.jsx)("p",{children:"Each line item from your schedule matched against your catalogue, ranked by confidence."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{children:"Review your matched products"}),(0,s.jsxs)("p",{children:["Check you're happy with these items, then click ",b?"View Quote":"View Basket"," to continue."]})]}),(0,s.jsxs)("button",{type:"button",className:"results-total-action",onClick:i,"aria-label":b?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[(0,s.jsx)("small",{children:b?"View Quote":"View Basket"}),(0,s.jsx)("strong",{children:de==null?"Calculating\u2026":nt(de)})]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Lt,{})})]})]})}),(0,s.jsxs)("div",{className:"quick-order-panel",style:{paddingTop:16},children:[He&&(0,s.jsx)("div",{className:"results-summary",style:{marginBottom:12},children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn","aria-pressed":xe,onClick:()=>ee(_=>!_),children:xe?"Hide timings":"Show timings"})}),He&&xe&&(0,s.jsx)(u_,{...D}),!b&&(0,s.jsx)("div",{className:"results-toolbar-row",children:!J&&(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:0},children:[Ce>0&&(0,s.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,s.jsx)("strong",{children:Ce})," need pricing"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:z,onChange:_=>G(_.target.value),"aria-label":"Search line items"}),!f&&(0,s.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${ce==="tile"?" is-active":""}`,"aria-pressed":ce==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>Se("tile"),children:(0,s.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,s.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${ce==="list"?" is-active":""}`,"aria-pressed":ce==="list","aria-label":"List view",title:"List view",onClick:()=>Se("list"),children:(0,s.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),He&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Q(_=>_==="simple"?"detailed":"simple"),children:pe==="detailed"?"Hide detailed view":"Show detailed view"}),(0,s.jsxs)("details",{ref:Gn,style:{position:"relative"},children:[(0,s.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort line items",style:{fontSize:16},children:"\u21C5"}),(0,s.jsx)("div",{className:"sort-menu-panel",children:a_.map(_=>{let L=K===_.dir;return(0,s.jsxs)("button",{type:"button",className:`sort-menu-item${L?" is-active":""}`,onClick:()=>{he(L?null:_.dir),Gn.current?.removeAttribute("open")},children:[(0,s.jsx)("span",{className:"sort-menu-item__check",children:L?"\u2713":""}),_.label]},_.dir)})})]})]})]})}),ce==="tile"||J?(0,s.jsxs)(s.Fragment,{children:[J?(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-label":"Product options",onClick:()=>br(),children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal results-review-modal",onClick:_=>_.stopPropagation(),children:[(0,s.jsx)("button",{type:"button",className:"quick-order-workflow-close results-review-modal__close",onClick:()=>br(),"aria-label":"Close product options",children:(0,s.jsx)(Ko,{})}),(0,s.jsx)("div",{className:"results-review-page",children:f?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"results-review-page__top",children:[(0,s.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:()=>br(),children:[(0,s.jsx)(Zr,{}),"Back to results"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[He&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Q(_=>_==="simple"?"detailed":"simple"),children:pe==="detailed"?"Hide detailed info":"Show detailed info"}),(0,s.jsx)("div",{className:"results-review-searchbar",children:(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:fe,onChange:_=>Xe(_.target.value),"aria-label":"Search database candidates"})}),(0,s.jsx)("div",{className:"results-candidate-actions",children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>bc(J.item.line_id),children:"Clear selected product"})})]})]}),(0,s.jsxs)("div",{className:"results-review-page__hero",children:[(0,s.jsx)("div",{className:"results-review-page__image-wrap",children:(0,s.jsx)("img",{className:"fill-img results-review-page__image",src:Qa(Ge(J)?.description||J.item.description_original,Ge(J)?.product_id,Ge(J)?.pdp_photo_url),alt:""})}),(0,s.jsxs)("div",{className:"results-review-page__summary",children:[(0,s.jsx)("h2",{children:Pr(J.item,w)}),(0,s.jsxs)("p",{className:"results-review-page__meta",children:[_i(J.qty)," ",ka(J.item.unit,J.qty)]}),J.best?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:J.best.description}),J.best.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:Tn(J.best.price,J.best.price_basis)}):null]}):Ge(J)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:Ge(J)?.description}),Ge(J)?.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:Tn(Ge(J)?.price??null,Ge(J)?.price_basis??null)}):null,(0,s.jsx)("div",{className:"results-row-meta",children:"Best reviewed alternative - not yet selected"})]}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),mr(J.item)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,s.jsx)(fd,{meta:V.get(J.item.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:zn(J.item)})]}):null,(0,s.jsx)("div",{className:"results-review-page__actions",children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[J.item.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[J.item.line_id]?n(J.item.line_id):(J.best&&Pd(J.item.line_id,J.best),r(Mi(J)))},disabled:!J.best,"aria-label":a[J.item.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[J.item.line_id]?"\u2713 Added":f?"+ Add to selection":`Add to ${d}`})})]})]}),tt?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,!tt&&je?(0,s.jsx)("div",{className:"results-empty-card",children:je}):null,!tt&&!je&&Ma&&Yn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No candidate products match this database search."}):!tt&&!je?(0,s.jsx)(g_,{item:J.item,candidates:Yn,result:J.result,decision:J.decision,unmatchable:J.unmatchable,selectedProductId:J.best?.product_id??null,detailMode:pe,linkedGroupMeta:mr(J.item)?V.get(J.item.linked_group_id):void 0,onPick:_=>vc(J.item.line_id,_),onClear:()=>bc(J.item.line_id),showAll:f||He||Ma.length>0,internal:f,debugEnabled:He,forceReviewNote:!0}):null]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"customer-review-request",children:[(0,s.jsx)("span",{className:"customer-review-eyebrow",children:"Original request"}),(0,s.jsx)("strong",{children:Pr(J.item,w)||"Original request"})]}),Id?(0,s.jsxs)("section",{className:"customer-review-ai",children:[(0,s.jsx)("strong",{children:sl?"Exact match not found:":"AI review:"})," ",Id]}):null,(0,s.jsxs)("section",{className:"customer-review-options",children:[(0,s.jsx)("div",{className:"customer-review-options__head",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:sl?"We couldn't find a suitable product":Fd?"Choose a product":"We couldn't review this item"}),(0,s.jsx)("p",{children:sl?Jd.length>0?"These AI-reviewed alternatives may be useful, but need approval.":"Search the catalogue to choose an alternative.":Fd?`Select the option you want to add to your ${d}.`:"Search the catalogue to choose a product."})]})}),!Ma&&Vn.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:Wd.map(_=>{let L=_.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${L?" is-selected":""}`,onClick:()=>vc(J.item.line_id,_),"aria-pressed":L,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Qa(_.description,_.product_id,_.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:_.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:_.price!=null?`\xA3${Tn(_.price,_.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:L?"Selected":"Choose"})]},_.product_id)})}):null,Vn.length>0&&(0,s.jsx)("div",{className:"customer-review-divider",children:(0,s.jsx)("span",{children:"or"})}),(0,s.jsxs)("label",{className:"customer-review-search",children:[(0,s.jsx)("span",{children:"Search our full catalogue"}),(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products...",value:fe,onChange:_=>Xe(_.target.value),"aria-label":"Search catalogue"})]}),Ma&&tt?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,Ma&&!tt&&je?(0,s.jsx)("div",{className:"results-empty-card",children:je}):null,Ma&&!tt&&!je&&Vn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No products match this search."}):null,Ma&&!tt&&!je&&Vn.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:Wd.map(_=>{let L=_.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${L?" is-selected":""}`,onClick:()=>vc(J.item.line_id,_),"aria-pressed":L,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Qa(_.description,_.product_id,_.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:_.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:_.price!=null?`\xA3${Tn(_.price,_.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:L?"Selected":"Choose"})]},_.product_id)})}):null]}),J.best?Lw?(0,s.jsxs)("div",{style:{display:"grid",gap:8},children:[(0,s.jsx)("button",{type:"button",className:"cta-btn customer-review-add",onClick:()=>{Zd()},children:(0,s.jsx)("span",{children:"Update product"})}),(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-add",onClick:()=>n(J.item.line_id),children:(0,s.jsx)("span",{children:`Remove from ${d}`})})]}):(0,s.jsx)("button",{type:"button",className:`cta-btn customer-review-add${cl?" cta-btn-secondary":""}`,onClick:()=>{cl?n(J.item.line_id):Zd()},children:(0,s.jsx)("span",{children:cl?`Remove from ${d}`:`Add selected product to ${d}`})}):null,ne?(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-skip",onClick:()=>Dw(J.item.line_id),children:"Skip this item"}):null]})})]})}):null,(0,s.jsxs)("div",{className:"results-tile-layout",children:[Ea.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No line items match the current search/filter."}):null,hc.length>0?(0,s.jsx)("section",{className:"results-tile-section","aria-label":"Matched and review items",children:(0,s.jsx)("div",{className:"results-tile-grid",children:hc.map(_=>{let{item:L,best:we,qty:mt}=_,Ke=Ge(_),Wt=!we&&dt(_);return(0,s.jsxs)("article",{className:"results-tile-card",children:[(0,s.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>Ei(L.line_id),"aria-label":`Review match for ${Pr(L,w)||"item"}`,children:[(0,s.jsxs)("div",{className:"results-tile-card__media",children:[Wt||mr(L)?(0,s.jsxs)("div",{className:"results-tile-card__badges",children:[mr(L)?(0,s.jsx)(fd,{meta:V.get(L.linked_group_id)}):(0,s.jsx)("span",{}),Wt?(0,s.jsx)("span",{style:{padding:"6px 10px",borderRadius:999,background:"#fef3c7",color:"#92400e",fontSize:12,fontWeight:700,lineHeight:1},children:"Partially matched"}):null]}):null,(0,s.jsx)("img",{className:"fill-img results-tile-card__image",src:Qa(Ke?.description||L.description_original,Ke?.product_id,Ke?.pdp_photo_url),alt:""})]}),(0,s.jsxs)("div",{className:"results-tile-card__body",children:[Ke?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"results-tile-card__heading",children:(0,s.jsx)("div",{className:"results-tile-card__title",children:Ke.description})})}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),(0,s.jsx)("div",{className:"results-tile-card__match",children:Ke?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-tile-card__match-label",children:Wt?"\u21B3 partially matched from":"\u21B3 matched from"}),(0,s.jsx)("div",{className:"results-tile-card__match-name",children:Pr(L,w)}),mr(L)?(0,s.jsx)("div",{className:"results-row-meta",children:zn(L)}):null]}):(0,s.jsx)("span",{className:"results-empty-hint",children:"No matched product selected."})})]}),(0,s.jsx)("span",{className:"results-tile-card__hover-prompt","aria-hidden":"true",children:"Click to view options"})]}),(0,s.jsxs)("div",{className:"results-tile-card__actions",children:[f&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ei(L.line_id),children:"Review"}),(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[L.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[L.line_id]?n(L.line_id):r(Mi(_))},disabled:!Ke,"aria-label":a[L.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[L.line_id]?"\u2713 Added":f?"+ Add":`Add to ${d}`})]})]},L.line_id)})})}):null,Kd]})]}):(0,s.jsxs)(s.Fragment,{children:[I&&(0,s.jsx)("div",{className:"results-table__hover-overlay",style:I,"aria-hidden":"true",children:"Click to view options"}),(0,s.jsx)("div",{className:"bom-table-wrap",children:(0,s.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched line items",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"col-item"}),(0,s.jsx)("col",{style:{width:"220px"}}),(0,s.jsx)("col",{style:{width:"100px"}}),pe==="simple"&&(0,s.jsx)("col",{style:{width:"110px"}})]}),(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"bom-col-header",children:[(0,s.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Price"}),pe==="simple"&&(0,s.jsx)("th",{style:{textAlign:"center"},children:f?"Selection":b?"Quote":"Basket"})]})}),(0,s.jsxs)("tbody",{children:[Ea.length===0&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:pe==="simple"?4:3,className:"results-empty-hint",style:{padding:"16px 8px"},children:"No line items match the current search/filter."})}),hc.map(_=>{let{item:L,result:we,decision:mt,best:Ke}=_;return(0,s.jsxs)("tr",{className:"bom-row results-table__review-row",onClick:()=>Ei(L.line_id),onMouseEnter:Wt=>{ge.current=Wt.currentTarget,Qn()},onMouseLeave:()=>{ge.current=null,ue(null)},children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{className:"bom-component-name",children:Pr(L,w)}),mr(L)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[(0,s.jsx)(fd,{meta:V.get(L.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:zn(L)})]}):null]}),(0,s.jsx)("td",{children:Ke?(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"results-match-cell-text",title:Ke.description,children:Ke.description}),pe==="detailed"&&mt?.technical_classification&&(0,s.jsxs)("div",{className:"results-row-meta",children:[n_(mt.technical_classification),mt.approval_required?" - approval required":""]})]}):(0,s.jsx)("span",{className:"results-empty-hint"})}),(0,s.jsx)("td",{style:{textAlign:"center"},children:Ke?.price!=null?Tn(Ke.price,Ke.price_basis):"-"}),pe==="simple"&&(0,s.jsx)("td",{style:{textAlign:"center"},children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[L.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,style:{width:84,justifyContent:"center"},onClick:Wt=>{Wt.stopPropagation(),a[L.line_id]?n(L.line_id):r(Mi(_))},"aria-label":a[L.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[L.line_id]?"\u2713 Added":f?"+ Add":`Add to ${d}`})})]},L.line_id)})]})]})}),Kd]}),!J&&hr>1&&(0,s.jsxs)("div",{className:"results-pagination",children:[(0,s.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(Ft-1)*el+1,"\u2013",Math.min(Ft*el,Ea.length)," of ",Ea.length]}),(0,s.jsxs)("div",{className:"results-pagination-controls",children:[(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ve(Ft-1),disabled:Ft===1,children:"Previous"}),(0,s.jsxs)("span",{className:"results-pagination-page",children:["Page ",Ft," of ",hr]}),(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ve(Ft+1),disabled:Ft===hr,children:"Next"})]})]}),(M.itemCount!=null||M.headingCount!=null||M.skippedCount!=null)&&(0,s.jsxs)("div",{className:"results-summary",style:{marginTop:16},children:[M.itemCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:M.itemCount})," items parsed"]}),M.headingCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:M.headingCount})," headings"]}),M.skippedCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:M.skippedCount})," rows skipped"]})]}),(0,s.jsxs)("div",{className:"disclaimer-box",children:[(0,s.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,s.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before purchase."})]}),!J&&(0,s.jsxs)("div",{className:"btn-row results-actions",children:[(0,s.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:(wc>0,"0 1 30%"),gap:10,justifyContent:"center"},onClick:()=>R(!0),"aria-label":"Start over",children:[(0,s.jsx)(dd,{}),(0,s.jsx)("span",{children:"Start Over"})]}),wc>0&&(0,s.jsxs)("button",{className:"cta-btn",style:{flex:"0 1 70%"},onClick:i,"aria-label":f?"View selection":b?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[f?"View Selection":b?"View Quote":"View Basket"," (",wc,")"]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Lt,{})})]})]})]})]}),Aw&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop review-gate-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"review-gate-title",children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal review-gate-modal",children:[(0,s.jsxs)("div",{className:"review-gate-modal__header",children:[(0,s.jsx)("h2",{id:"review-gate-title",children:"Choose products for these items"}),(0,s.jsx)("p",{children:"We couldn\u2019t find a clear match for these items, so we need your help. Select an option from the suggestions, search the catalogue, or leave the item out."})]}),(0,s.jsx)("div",{className:"review-gate-list",children:Ir.map(_=>{let L=ke.has(_.item.line_id),we=dt(_);return(0,s.jsx)("div",{className:`review-gate-item${L?" is-reviewed":""}`,children:(0,s.jsxs)("button",{type:"button",className:"review-gate-item__review",onClick:()=>{W(!0),Ei(_.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Pr(_.item,w)}),(0,s.jsx)("span",{children:_.decision?.reason||(we?"A close alternative is available but needs confirmation.":"No product has been selected for this item yet.")})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:L?"Choice made":"Choose a product"})]})},_.item.line_id)})}),(0,s.jsx)("button",{type:"button",className:"review-gate-skip",onClick:Bw,children:"Skip all"}),ll.length>0?(0,s.jsxs)("div",{className:"review-gate-skipped",children:[(0,s.jsx)("strong",{children:"Skipped"}),ll.map(_=>(0,s.jsxs)("button",{type:"button",className:"review-gate-item is-skipped",onClick:()=>{O(L=>{let we=new Set(L);return we.delete(_.item.line_id),we}),W(!0),Ei(_.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Pr(_.item,w)}),(0,s.jsx)("span",{children:`Not added to your ${d}.`})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:"Choose a product"})]},_.item.line_id))]}):null]})}),x&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop start-over-modal",role:"dialog","aria-modal":"true","aria-labelledby":"start-over-modal-title",children:(0,s.jsxs)("div",{className:"modal-card start-over-modal__card",children:[(0,s.jsx)("h2",{id:"start-over-modal-title",className:"modal-title",children:"Start over?"}),(0,s.jsxs)("p",{className:"modal-body",children:["This will clear the current results and ",b?"quote":"basket"," and take you back to the start."]}),(0,s.jsxs)("div",{className:"modal-actions",children:[(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-secondary",onClick:()=>R(!1),children:"Cancel"}),(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-danger",onClick:()=>{R(!1),t()},autoFocus:!0,children:"Start Over"})]})]})})]})}var yt=Y($e());var q=Y(ae()),h_=.2,tl=10,nw="Enter a valid email address so we can send your quote.",b_=(e,t)=>{let a=`${t.requestedAmount} ${xa(t.requestedUnit,t.requestedAmount)}`,r=`${t.requiredSellUnits} ${xa(t.sellUnit,t.requiredSellUnits??0)}`,n=e.unitConversions?.find(i=>i.requestUom===t.requestedUnit);return n&&n.quantityPerSaleUnit<1?`${a} requested \u2192 order ${r} (${Math.round(1/n.quantityPerSaleUnit)} ${xa(t.sellUnit,2)} per ${xa(t.requestedUnit,1)})`:e.coverageQty&&/^m per /i.test(e.coverageUom??"")?`${a} requested \u2192 order ${r} (${e.coverageQty} ${e.coverageUom})`:`${a} requested \u2192 order ${r}`},v_=e=>["box","pack"].includes(e.requestedUnit)?"Pack size needed to calculate the order quantity.":`This product is sold by ${xa(e.sellUnit,1)}.`;function w_(){return(0,q.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,q.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,q.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,q.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})}function al(){return(0,q.jsx)("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",children:(0,q.jsx)("path",{d:"M1 4L4 1L7 4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function rl({cart:e,onUpdateQty:t,onUpdateSellUnits:a,onResolveConversions:r,onRemove:n,onBack:i,onStartNewQuote:o,internal:l=!1}){let c=(0,yt.useId)(),p=!l&&Qs()==="QZA6-MRA4",f=Object.values(e),[b,d]=(0,yt.useState)(""),[h,w]=(0,yt.useState)(!1),[M,D]=(0,yt.useState)(!1),m=Cn(),[u,g]=(0,yt.useState)(""),[v,N]=(0,yt.useState)({}),[A,T]=(0,yt.useState)({}),[z,G]=(0,yt.useState)(1),[K,he]=(0,yt.useState)({}),[ze,Ve]=(0,yt.useState)(!1),[He,it]=(0,yt.useState)("0"),pe=(0,yt.useRef)(new Set);(0,yt.useEffect)(()=>{if(!r)return;for(let R of Object.values(e))Rt(R).requiredSellUnits!=null&&pe.current.delete(R.lineId);let x=Object.values(e).filter(R=>R.productId!=="-"&&Rt(R).requiredSellUnits==null&&!pe.current.has(R.lineId));x.length!==0&&(x.forEach(R=>pe.current.add(R.lineId)),fetch(Ot("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({lines:x.map(R=>({line_id:R.lineId,product_id:R.productId,requested_description:R.requestedDescription??R.description,requested_qty:R.qty,requested_uom:R.unit||null,linked_context:R.linkedContext??[],selected_description:R.description,selected_uoi:R.uoi,selected_uoi_count:R.uoiCount,selected_conversion:{sales_uom_normalised:R.salesUomNormalised,conversion_type:R.conversionType,sales_unit_size:R.salesUnitSize,sales_unit_size_uom:R.salesUnitSizeUom,coverage_qty:R.coverageQty,coverage_uom:R.coverageUom}}))})}).then(R=>R.ok?Kt(R):null).then(R=>{let I={};for(let ue of R?.data?.items??R?.items??[]){let ge=ue?.conversion;if(!ge||typeof ue?.line_id!="string")continue;let ke=e[ue.line_id];I[ue.line_id]={conversionType:ge.conversion_type,requestUomsSupported:ge.request_uoms_supported,salesUomNormalised:ge.sales_uom_normalised,salesUnitSize:ge.sales_unit_size,salesUnitSizeUom:ge.sales_unit_size_uom,coverageQty:ge.coverage_qty,coverageUom:ge.coverage_uom,roundingRule:ge.rounding_rule,conversionConfidence:ge.conversion_confidence,conversionNotes:ge.conversion_notes,...ke?.qty===0&&Number.isFinite(ge.suggested_order_qty)&&ge.suggested_order_qty>0?{qty:ge.suggested_order_qty,unit:ge.suggested_order_uom||ke.unit}:{}}}Object.keys(I).length>0&&r(I)}).catch(R=>console.error("Catalogue conversion resolution failed",R)))},[e,r]);function Q(x){N(R=>{let I={...R};return delete I[x],I})}function ce(x,R){let I=parseFloat(R);!isNaN(I)&&I>=0&&t(x,I),Q(x)}function Se(x,R,I){t(x,Math.max(0,R+I)),Q(x)}function xe(x){T(R=>{let I={...R};return delete I[x],I})}function ee(x,R){let I=parseFloat(R);!isNaN(I)&&I>=0&&a(x,I),xe(x)}function se(x,R,I){a(x,Math.max(0,R+I)),xe(x)}async function Ne(){let x=b.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(x)){g(nw);return}g(""),D(!0);try{let R=await fetch(Ot("/api/quote-requests"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({email:x,items:fe.map(({item:I,pricing:ue})=>{let ge=ue.requiredSellUnits??ue.requestedAmount,ke=ue.requiredSellUnits!=null?ue.sellUnit:ue.requestedUnit;return{product_id:I.productId,description:I.description,quantity:ge,unit:xa(ke,ge),unit_price:ue.requiredSellUnits!=null?ue.unitPrice:null,line_total:ue.lineTotal}})})});if(!R.ok){let I=await Kt(R);console.error("Quote request failed",R.status,I?.message),g(R.status===429?"You've sent a few requests already. Please try again in a few minutes.":"Your request couldn't be sent. Please try again, or contact us if it keeps happening.");return}m("quote_requested",{items:fe.length,total:Math.round(zt*100)/100}),w(!0),window.scrollTo(0,0)}catch{g("Your request couldn't be sent. Check your connection and try again.")}finally{D(!1)}}let fe=f.map(x=>({item:x,pricing:Rt(x,{wasteFactorEnabled:ze,wasteFactorOverride:Math.max(0,Number.parseFloat(He)||0)/100})})),Xe=Zs(f,{wasteFactorEnabled:ze,wasteFactorOverride:Math.max(0,Number.parseFloat(He)||0)/100}),jt=Xe*h_,zt=Xe+jt,tt=(0,yt.useRef)({items:fe.length,total:Math.round(zt*100)/100});(0,yt.useEffect)(()=>{m("basket_viewed",tt.current)},[m]);let ct=Math.max(1,Math.ceil(fe.length/tl)),je=Math.min(z,ct),E=fe.slice((je-1)*tl,je*tl);return h?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",role:"status",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsx)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,q.jsx)("polyline",{points:"5 12.5 10 17.5 19 7"})})}),(0,q.jsx)("h1",{children:"Quote requested"}),(0,q.jsxs)("p",{children:["You're all done. We'll email your sharper price to ",(0,q.jsx)("strong",{children:b.trim()}),", usually within one working day."]}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Start a new quote"})}),(0,q.jsx)("p",{className:"quote-request-sent-note",children:"Nothing is charged until you approve the quote."})]})}):(0,q.jsx)("div",{className:`wizard-step entry-stage${p?" basket-layout--qza6-mra4":""}`,children:(0,q.jsxs)("div",{className:`quick-order-card${l?"":" quick-order-card--customer"}`,children:[(0,q.jsxs)("div",{className:`quick-order-hero${l?"":" quick-order-hero--customer"}`,children:[l&&(0,q.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,q.jsxs)("div",{className:"basket-hero-copy",children:[p&&(0,q.jsxs)("button",{type:"button",className:"cta-btn cta-btn-secondary basket-hero-back",onClick:i,children:[(0,q.jsx)(Zr,{}),(0,q.jsx)("span",{children:"Back to results"})]}),(0,q.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,q.jsx)("h1",{children:l?"Your Selection":p?"Request a quote":"Your Basket"}),l&&(0,q.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,q.jsx)("strong",{children:f.length})," ",f.length===1?"item":"items"]})]}),(0,q.jsx)("p",{children:l?"Review the items you've added before exporting them for review.":p?"Check your items & quantities below, and we'll do our best to beat list prices.":"Review your quantities and order summary before you buy."})]})]}),(0,q.jsx)("div",{className:"quick-order-panel",style:{paddingTop:16},children:f.length===0?(0,q.jsxs)("div",{className:"quick-order-history-empty",children:[(0,q.jsx)("div",{className:"basket-empty-icon","aria-hidden":"true",children:l?"\u{1F4CB}":"\u{1F9FA}"}),(0,q.jsx)("p",{children:l?"Your selection is empty.":p?"Your quote request is empty.":"Your basket is empty."}),(0,q.jsx)("p",{className:"basket-empty-hint",children:p?"Go back to your results and add items for your quote.":"Go back to your results and add quoted items."}),(0,q.jsx)("div",{className:"btn-row",style:{marginTop:20,justifyContent:"center"},children:(0,q.jsx)("button",{className:"cta-btn",style:{width:"auto",maxWidth:280},onClick:i,"aria-label":"Back to results",children:(0,q.jsx)("span",{children:"Back to Results"})})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)("div",{className:"basket-layout",children:[(0,q.jsxs)("div",{className:"basket-main",children:[(0,q.jsx)("div",{className:"basket-list","aria-label":l?"Selection items":p?"Quote request items":"Basket items",children:E.map(({item:x,pricing:R})=>{let I=v[x.lineId]??String(R.requestedAmount),ue=R.requestedUnit===R.sellUnit||R.costingMode==="review",ge=R.requiredSellUnits==null||R.requestedAmount!==R.requiredSellUnits||R.requestedUnit!==R.sellUnit;return(0,q.jsxs)("article",{className:"basket-card",children:[(0,q.jsxs)("div",{className:"basket-card-top",children:[(0,q.jsx)("img",{className:"basket-card-thumb",src:Qa(x.description,x.productId,x.pdpPhotoUrl),alt:"",width:48,height:48}),(0,q.jsxs)("div",{className:"basket-card-info",children:[(0,q.jsx)("div",{className:"bom-component-name",children:x.description}),ge&&R.costingMode!=="review"&&(0,q.jsxs)("button",{type:"button",className:"basket-calc-toggle",onClick:()=>he(ke=>({...ke,[x.lineId]:!ke[x.lineId]})),"aria-expanded":!!K[x.lineId],children:["How we calculated this",(0,q.jsx)("span",{className:`basket-calc-toggle-chevron${K[x.lineId]?" basket-calc-toggle-chevron--open":""}`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("div",{className:"basket-card-actions",children:(0,q.jsx)("button",{type:"button",className:"mf-remove-small-btn basket-card-remove",onClick:()=>n(x.lineId),"aria-label":`Remove ${x.description}`,children:(0,q.jsx)(w_,{})})})]}),l&&(0,q.jsxs)("div",{className:"results-detail-block basket-internal-detail",children:[(0,q.jsxs)("dl",{className:"results-detail-grid",children:[(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion type"}),(0,q.jsx)("dd",{children:x.conversionType??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion confidence"}),(0,q.jsx)("dd",{children:x.conversionConfidence??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Sales unit"}),(0,q.jsx)("dd",{children:x.salesUnitSize!=null?(0,q.jsxs)(q.Fragment,{children:[x.salesUnitSize," ",ka(x.salesUnitSizeUom,x.salesUnitSize)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Coverage"}),(0,q.jsx)("dd",{children:x.coverageQty!=null?(0,q.jsxs)(q.Fragment,{children:[x.coverageQty," ",ka(x.coverageUom,x.coverageQty)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Waste factor"}),(0,q.jsx)("dd",{children:x.wasteFactorDefault??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Rounding rule"}),(0,q.jsx)("dd",{children:x.roundingRule??"-"})]})]}),x.conversionNotes&&(0,q.jsx)("p",{className:"results-rerank-note",children:x.conversionNotes})]}),R.costingMode==="review"?(0,q.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,q.jsx)("strong",{children:"Quantity needs confirmation."})," ",v_(R)]}):ge&&K[x.lineId]?(0,q.jsx)("p",{className:"basket-calc-text",children:b_(x,R)}):null,(0,q.jsxs)("div",{className:"basket-card-stats",children:[(0,q.jsxs)("div",{className:"basket-stat",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Requested qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:I,disabled:ue,onChange:ke=>N(k=>({...k,[x.lineId]:ke.target.value})),onBlur:ke=>ce(x.lineId,ke.target.value),onKeyDown:ke=>{ke.key==="Enter"&&ke.target.blur()},"aria-label":`${x.description} requested quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",disabled:ue,onClick:()=>Se(x.lineId,parseFloat(I)||0,1),"aria-label":`Increase ${x.description} quantity`,children:(0,q.jsx)(al,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",disabled:ue,onClick:()=>Se(x.lineId,parseFloat(I)||0,-1),"aria-label":`Decrease ${x.description} quantity`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:ka(R.requestedUnit,parseFloat(I)||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--right",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Order qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:A[x.lineId]??String(R.requiredSellUnits??""),onChange:ke=>T(k=>({...k,[x.lineId]:ke.target.value})),onBlur:ke=>ee(x.lineId,ke.target.value),onKeyDown:ke=>{ke.key==="Enter"&&ke.target.blur()},"aria-label":`${x.description} order quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",onClick:()=>se(x.lineId,parseFloat(A[x.lineId]??String(R.requiredSellUnits??"0"))||0,1),"aria-label":`Increase ${x.description} order quantity`,children:(0,q.jsx)(al,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",onClick:()=>se(x.lineId,parseFloat(A[x.lineId]??String(R.requiredSellUnits??"0"))||0,-1),"aria-label":`Decrease ${x.description} order quantity`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:ka(R.sellUnit,parseFloat(A[x.lineId]??String(R.requiredSellUnits??"0"))||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--total",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Total"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsx)("strong",{children:R.lineTotal!=null?nt(R.lineTotal):"-"}),R.lineTotal!=null&&(0,q.jsx)("span",{className:"basket-metric-unit",children:"ex. VAT"})]})]})]})]},x.lineId)})}),ct>1&&(0,q.jsxs)("div",{className:"results-pagination",children:[(0,q.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(je-1)*tl+1,"\u2013",Math.min(je*tl,fe.length)," of ",fe.length]}),(0,q.jsxs)("div",{className:"results-pagination-controls",children:[(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>G(je-1),disabled:je===1,children:"Previous"}),(0,q.jsxs)("span",{className:"results-pagination-page",children:["Page ",je," of ",ct]}),(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>G(je+1),disabled:je===ct,children:"Next"})]})]})]}),(0,q.jsxs)("aside",{className:"basket-sidebar",children:[(0,q.jsx)("div",{className:"basket-sidebar-title",children:p?"Quote request summary":"Order summary"}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:p?"List price (ex. VAT)":"Subtotal (ex. VAT)"}),(0,q.jsx)("span",{children:nt(Xe)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:"VAT (20%)"}),(0,q.jsx)("span",{children:nt(jt)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row basket-sidebar-row--total",children:[(0,q.jsx)("span",{children:p?"List price (inc. VAT)":"Total"}),(0,q.jsx)("span",{children:nt(zt)})]}),!p&&(0,q.jsx)("div",{className:"basket-summary-waste",children:(0,q.jsxs)("div",{className:"basket-waste-control",children:[(0,q.jsxs)("label",{className:"basket-global-waste",children:[(0,q.jsx)("input",{type:"checkbox",checked:ze,onChange:x=>Ve(x.target.checked)}),(0,q.jsx)("span",{children:"Add waste factor"})]}),(0,q.jsxs)("label",{className:"basket-global-waste-percent",children:[(0,q.jsx)("input",{type:"number",inputMode:"decimal",min:"0",step:"0.1",value:He,onChange:x=>it(x.target.value),disabled:!ze,"aria-label":"Waste factor percent"}),(0,q.jsx)("span",{children:"%"})]})]})}),(0,q.jsx)("label",{htmlFor:`${c}-basket-reference`,className:"basket-sidebar-label",children:p?"Enter email for your sharper quote":"Your reference (optional)"}),(0,q.jsx)("input",{id:`${c}-basket-reference`,type:p?"email":"text",className:"basket-sidebar-input",value:b,onChange:x=>{d(x.target.value),p&&g("")},placeholder:p?"you@example.com":"PO number or job reference","aria-invalid":p&&u===nw,"aria-describedby":p&&u?`${c}-basket-reference-error`:void 0}),p&&u&&(0,q.jsx)("p",{id:`${c}-basket-reference-error`,className:"basket-quote-request-error",role:"alert",children:u}),p?(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:()=>{Ne()},disabled:M,"aria-busy":M,children:(0,q.jsx)("span",{children:M?"Sending\u2026":"Request our best quote"})}):(0,q.jsx)("button",{className:"cta-btn",onClick:()=>{m("downloaded",{type:"basket",items:f.length}),ew(f)},"aria-label":l?"Download selection":"Download basket",children:(0,q.jsx)("span",{children:l?"Download Quote":"Buy Now"})}),(0,q.jsxs)("p",{className:"basket-sidebar-disclaimer",children:[(0,q.jsx)("span",{"aria-hidden":"true",children:"\u26A0\uFE0F"}),p?"This is a quote request, not an order. We'll confirm our best price, availability and delivery before you approve.":"Prices and availability are estimates and should be confirmed before procurement."]})]})]}),(0,q.jsx)("div",{className:"btn-row results-actions",children:(0,q.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",gap:10,justifyContent:"center"},onClick:i,"aria-label":"Back to results",children:[(0,q.jsx)(Zr,{}),(0,q.jsx)("span",{children:"Back to results"})]})})]})})]})})}var Mt=Y($e()),ow=Y(ae());function y_(e,t){let a={...e,[t.lineId]:t};for(let[r,n]of Object.entries(a)){if(!n.linkedContext)continue;let i=n.linkedContext.find(l=>l.role==="anchor"&&l.line_id&&a[l.line_id]),o=i?.line_id?a[i.line_id]:void 0;if(!(!i||!o||i.product_id===o.productId&&i.description===o.description)){if(n.conversionType!=="basket_line_unit"){a[r]={...n,linkedContext:n.linkedContext.map(l=>l.line_id===i.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l)};continue}a[r]={...n,qty:0,sellUnitsOverride:null,linkedContext:n.linkedContext.map(l=>l.line_id===i.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l),conversionType:null,requestUomsSupported:null,salesUomNormalised:null,salesUnitSize:null,salesUnitSizeUom:null,coverageQty:null,coverageUom:null,roundingRule:null,conversionConfidence:null,conversionNotes:null}}}return a}var vd=(0,Mt.createContext)(null);function Js({children:e,onOpenBasket:t}){let[a,r]=(0,Mt.useState)({}),n=(0,Mt.useCallback)(d=>{r(h=>y_(h,d))},[]),i=(0,Mt.useCallback)(d=>{r(h=>{let w={...h};for(let M of d)w[M.lineId]=M;return w})},[]),o=(0,Mt.useCallback)(d=>{r(h=>{let w={...h};return delete w[d],w})},[]),l=(0,Mt.useCallback)((d,h)=>{r(w=>w[d]?{...w,[d]:{...w[d],qty:h,sellUnitsOverride:null}}:w)},[]),c=(0,Mt.useCallback)((d,h)=>{r(w=>w[d]?{...w,[d]:{...w[d],sellUnitsOverride:h}}:w)},[]),p=(0,Mt.useCallback)(d=>{r(h=>{let w=!1,M={...h};for(let[D,m]of Object.entries(d))M[D]&&(M[D]={...M[D],...m},w=!0);return w?M:h})},[]),f=(0,Mt.useCallback)(()=>r({}),[]),b=(0,Mt.useMemo)(()=>({cart:a,count:Object.keys(a).length,addToCart:n,addManyToCart:i,removeFromCart:o,updateCartQty:l,updateCartSellUnits:c,updateCartConversions:p,clearCart:f,openBasket:t??(()=>{})}),[a,n,i,o,l,c,p,f,t]);return(0,ow.jsx)(vd.Provider,{value:b,children:e})}function An(){let e=(0,Mt.useContext)(vd);if(!e)throw new Error("useCart must be used inside a <CartProvider>");return e}function Fs(){return(0,Mt.useContext)(vd)}var Na=Y(ae());function Is(e){return(0,Na.jsx)(Js,{children:(0,Na.jsx)(__,{...e})})}function __({fullPage:e=!1,hideHeader:t=!1,internal:a=!1}){let[r,n]=(0,Je.useState)("entry"),[i,o]=(0,Je.useState)(null),[l,c]=(0,Je.useState)(""),p=(0,Je.useRef)(null),[f,b]=(0,Je.useState)(0),[d,h]=(0,Je.useState)(null),[w,M]=(0,Je.useState)(!1),{cart:D,addToCart:m,removeFromCart:u,updateCartQty:g,updateCartSellUnits:v,updateCartConversions:N,clearCart:A}=An(),[T,z]=(0,Je.useState)(!1),G=(0,Je.useRef)(new Map),K=(0,Je.useRef)(null),he=Gs("quick-quote",K);(0,Je.useEffect)(()=>{he("viewed")},[he]),(0,Je.useEffect)(()=>{for(let ee of Object.values(D))Rt(ee).requiredSellUnits!=null&&G.current.delete(ee.lineId);let xe=Object.values(D).filter(ee=>{if(ee.productId==="-"||Rt(ee).requiredSellUnits!=null)return!1;let se=`${ee.productId}|${ee.qty}|${ee.unit}`;return G.current.get(ee.lineId)===se?!1:(G.current.set(ee.lineId,se),!0)});xe.length!==0&&fetch(Ot("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({lines:xe.map(ee=>({line_id:ee.lineId,product_id:ee.productId,requested_description:ee.requestedDescription??ee.description,requested_qty:ee.qty,requested_uom:ee.unit||null,selected_description:ee.description,selected_uoi:ee.uoi,selected_uoi_count:ee.uoiCount,linked_context:ee.linkedContext??[],selected_conversion:{sales_uom_normalised:ee.salesUomNormalised,conversion_type:ee.conversionType,sales_unit_size:ee.salesUnitSize,sales_unit_size_uom:ee.salesUnitSizeUom,coverage_qty:ee.coverageQty,coverage_uom:ee.coverageUom}}))})}).then(ee=>ee.ok?Kt(ee):null).then(ee=>{let se={};for(let Ne of ee?.data?.items??ee?.items??[]){let fe=Ne?.conversion;if(!fe||typeof Ne?.line_id!="string")continue;let Xe=D[Ne.line_id];se[Ne.line_id]={conversionType:fe.conversion_type,requestUomsSupported:fe.request_uoms_supported,salesUomNormalised:fe.sales_uom_normalised,salesUnitSize:fe.sales_unit_size,salesUnitSizeUom:fe.sales_unit_size_uom,coverageQty:fe.coverage_qty,coverageUom:fe.coverage_uom,roundingRule:fe.rounding_rule,conversionConfidence:fe.conversion_confidence,conversionNotes:fe.conversion_notes,...Xe?.qty===0&&Number.isFinite(fe.suggested_order_qty)&&fe.suggested_order_qty>0?{qty:fe.suggested_order_qty,unit:fe.suggested_order_uom||Xe.unit}:{}}}Object.keys(se).length>0&&N(se)}).catch(ee=>console.error("Catalogue conversion resolution failed",ee))},[D,N]),(0,Je.useEffect)(()=>{if(window.location.hash!=="#matched-products"&&window.location.hash!=="#quote-request")return;let xe=new URL(window.location.href);xe.hash="",window.history.replaceState(window.history.state,"",xe)},[]);let ze=(0,Je.useCallback)(xe=>{if(typeof window>"u")return;let ee=new URL(window.location.href);ee.hash=xe==="basket"?"quote-request":"matched-products";let se=xe==="results"&&(window.location.hash==="#matched-products"||window.location.hash==="#quote-request");window.history[se?"replaceState":"pushState"]({boqQuoteStage:xe},"",ee)},[]);(0,Je.useEffect)(()=>{let xe=ee=>{let se=window.location.hash;n(se==="#quote-request"?"basket":se==="#matched-products"&&d?"results":"entry");let Ne=ee.state,fe=window.location.href;setTimeout(()=>{Ne?.turbo||window.location.href!==fe||window.history.state?.turbo&&window.history.replaceState(Ne,"",fe)})};return window.addEventListener("popstate",xe),()=>window.removeEventListener("popstate",xe)},[d]);let Ve=(0,Je.useCallback)(()=>{ze("basket"),n("basket")},[ze]),He=(0,Je.useCallback)(()=>{if(window.location.hash==="#quote-request"){window.history.back();return}n(d?"results":"entry")},[d]),it=(0,Je.useRef)(r);(0,Je.useEffect)(()=>{it.current!==r&&(it.current=r,window.scrollTo(0,0))},[r]);let pe=()=>{n("entry"),o(null),c(""),b(0),h(null),M(!1),A(),z(!1)},Q=(0,Je.useCallback)(async(xe,ee,se=!0)=>{c(""),b(0);let Ne=0,fe=()=>{Ne=Math.min(Ne+1,3),b(Ne)};try{let{jobId:Xe}=await Wb(xe,ee,se),{promise:jt,cancel:zt}=tv(()=>ev(Xe),5e3,fe,"schedule");p.current=zt;let tt=await jt;if(tt.status==="failed"||!tt.result)throw new Error(tt.error||"Failed to process schedule");let ct=tt.result.lineItems.length,je=tt.result.results.filter(E=>E.candidates.length>0).length;he("results_shown",{lines:ct,matched:je,unmatched:ct-je}),M(!1),h(tt.result),ze("results"),n("results")}catch(Xe){he("error",{stage:"matching"}),c(Xe?.message||"Failed to process schedule"),n("entry")}finally{p.current?.(),p.current=null}},[ze,he]),ce=(0,Je.useCallback)(async(xe,ee,se=!0)=>{let Ne=xe.trim();if(!Ne)return;o("schedule");let fe=new File([Ne],"pasted-schedule.txt",{type:"text/plain"});await Q(fe,ee,se)},[Q]),Se=(0,Je.useCallback)(async xe=>{o("schedule"),await Q(xe)},[Q]);return(0,Na.jsx)(Zo.Provider,{value:he,children:(0,Na.jsx)("div",{ref:K,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}${!e&&r==="processing"?" app-wrapper--loading":""}`,style:pr().theme,children:(0,Na.jsxs)("main",{className:"main-content",children:[l&&(0,Na.jsxs)("div",{className:"error-box",role:"alert",children:[(0,Na.jsx)("strong",{children:"Error:"})," ",l]}),r==="entry"&&(0,Na.jsx)(ud,{onPasteSchedule:ce,onUploadSchedule:Se,onEntryModeChange:o}),r==="results"&&i==="schedule"&&d&&(0,Na.jsx)(bd,{scheduleResult:d,onStartOver:pe,cart:D,onAddToCart:m,onRemoveFromCart:u,onGoToBasket:Ve,cartSeeded:T,onCartSeeded:()=>z(!0),reviewGateComplete:w,onReviewGateComplete:()=>M(!0),internal:a}),r==="basket"&&(0,Na.jsx)(rl,{cart:D,onUpdateQty:g,onUpdateSellUnits:v,onRemove:u,onBack:He,onStartNewQuote:pe,internal:a})]})})})}var Va=Y($e());var ki=Y($e()),te=Y(ae()),lw=[{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"},{id:"ovolo",label:"Ovolo",blurb:"Traditional rounded profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"square-edge",label:"Square edge",blurb:"Clean contemporary edge"}],Ws=e=>Number.parseFloat(e)||0,sw=(e,t)=>Ws(e)*(t==="m"?1:.3048),wd=(e,t)=>Ws(e.quantity)*(2*sw(e.height,t)+sw(e.width,t)),x_=()=>({quantity:"1",width:"",height:""});function k_({profile:e}){return(0,te.jsxs)("svg",{className:"architrave-calculator__profile-diagram",viewBox:"0 0 112 76","aria-hidden":"true",children:[(0,te.jsx)("path",{d:{ogee:"M18 62 V38 C18 28 28 22 40 22 H78 C88 22 94 28 94 38 V62",torus:"M18 62 V40 C18 27 30 20 42 20 C54 20 58 30 66 30 C74 30 78 20 90 20 C102 20 94 34 94 40 V62",ovolo:"M18 62 V38 C18 28 30 20 42 20 H70 C82 20 94 28 94 38 V62","pencil-round":"M18 62 V38 C18 28 28 20 40 20 H72 C84 20 94 28 94 38 V62","square-edge":"M18 62 V20 H94 V62"}[e]}),(0,te.jsx)("line",{x1:"12",y1:"66",x2:"100",y2:"66"})]})}function yd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,ki.useState)("m"),[i,o]=(0,ki.useState)({quantity:"1",width:"0.76",height:"1.98"}),[l,c]=(0,ki.useState)({quantity:"0",width:"1.52",height:"1.98"}),[p,f]=(0,ki.useState)([]),[b,d]=(0,ki.useState)("ogee"),[h,w]=(0,ki.useState)("2.4"),M=(N,A,T)=>{N(z=>({...z,[A]:T}))},D=wd(i,r)+wd(l,r)+p.reduce((N,A)=>N+wd(A,r),0),m=Ws(h)>0?Math.ceil(D/Ws(h)):0,u=lw.find(N=>N.id===b)?.label??"",g=[{key:`architrave-${b}`,label:`Architrave (${u})`,qty:D,unit:"m",query:`${u} architrave`,category:"architrave"}],v=(N,A,T,z)=>(0,te.jsxs)("div",{className:"architrave-calculator__opening-row",children:[(0,te.jsx)("span",{children:N}),(0,te.jsx)("input",{"aria-label":`${N} quantity`,type:"number",min:"0",step:"1",value:A.quantity,onChange:G=>T("quantity",G.target.value)}),(0,te.jsx)("input",{"aria-label":`${N} width`,type:"number",min:"0",step:"0.01",value:A.width,onChange:G=>T("width",G.target.value)}),(0,te.jsx)("input",{"aria-label":`${N} height`,type:"number",min:"0",step:"0.01",value:A.height,onChange:G=>T("height",G.target.value)}),z?(0,te.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:z,children:"Remove"}):null]});return(0,te.jsx)(te.Fragment,{children:(0,te.jsxs)("div",{className:"truss-estimator",children:[(0,te.jsxs)("div",{className:"quick-order-hero",children:[(0,te.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,te.jsx)("h1",{children:"Architrave Calculator"}),(0,te.jsx)("p",{children:"Estimate architrave lengths and board quantities for door openings."})]}),(0,te.jsxs)("div",{className:"truss-estimator__card architrave-calculator",children:[(0,te.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure your openings"}),(0,te.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each door or window opening. Mitred corners are allowed for, and board lengths are worked out from the net run."}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Door openings"}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Each opening is calculated as two side pieces plus one head piece."}),(0,te.jsxs)("div",{className:"architrave-calculator__unit-row",children:[(0,te.jsx)("span",{children:"Units"}),(0,te.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,te.jsx)("button",{type:"button",className:r==="m"?"is-selected":"",onClick:()=>n("m"),children:"Metres"}),(0,te.jsx)("button",{type:"button",className:r==="ft"?"is-selected":"",onClick:()=>n("ft"),children:"Feet"})]})]}),(0,te.jsxs)("div",{className:"architrave-calculator__dimensions-header",children:[(0,te.jsx)("span",{children:"Opening"}),(0,te.jsx)("span",{children:"Qty"}),(0,te.jsxs)("span",{children:["Width (",r,")"]}),(0,te.jsxs)("span",{children:["Height (",r,")"]}),(0,te.jsx)("span",{})]}),v("Single doors",i,(N,A)=>M(o,N,A)),v("Double doors",l,(N,A)=>M(c,N,A)),p.map((N,A)=>v(`Alternative door ${A+1}`,N,(T,z)=>f(G=>G.map((K,he)=>he===A?{...K,[T]:z}:K)),()=>f(T=>T.filter((z,G)=>G!==A)))),(0,te.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>f(N=>[...N,x_()]),children:"+ Add alternative-sized door"})]}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Standard profile"}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Choose the profile you plan to use. Length calculations are the same for each profile."}),(0,te.jsx)("div",{className:"architrave-calculator__profiles",children:lw.map(N=>(0,te.jsxs)("button",{type:"button",className:`truss-estimator__option-card${b===N.id?" is-selected":""}`,onClick:()=>d(N.id),children:[(0,te.jsx)(k_,{profile:N.id}),(0,te.jsx)("div",{className:"truss-estimator__option-title",children:N.label}),(0,te.jsx)("div",{className:"truss-estimator__option-copy",children:N.blurb})]},N.id))})]}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,te.jsx)("div",{className:"architrave-calculator__options",children:(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Board length (m)"}),(0,te.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Waste allows for mitred corners, cuts and damaged lengths."})]}),(0,te.jsxs)("div",{className:"architrave-calculator__totals",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,te.jsxs)("div",{className:"architrave-calculator__result-grid",children:[(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Architrave needed"}),(0,te.jsxs)("strong",{children:[D.toFixed(2)," m"]})]}),(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Board lengths"}),(0,te.jsx)("strong",{children:m})]})]})]}),(0,te.jsxs)("div",{className:"architrave-calculator__actions",children:[(0,te.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,te.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(g),disabled:D<=0,children:a})]})]})]})})}var Ni=Y($e()),le=Y(ae()),cw=60,uw=10,N_=.02,S_=.012,C_=.01,Rn=e=>Number.parseFloat(e)||0,q_=(e,t=2)=>e.toFixed(t);function _d({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,Ni.useState)("brick"),[i,o]=(0,Ni.useState)("engineering-red"),[l,c]=(0,Ni.useState)("metric"),[p,f]=(0,Ni.useState)(""),[b,d]=(0,Ni.useState)(""),[h,w]=(0,Ni.useState)(!0),M=l==="metric"?Rn(p)*Rn(b):Rn(p)*Rn(b)*.092903,m=M*(r==="brick"?cw:uw),u=Math.ceil(m),g=M*(r==="brick"?N_:S_),v=Math.ceil(g/C_),N=l==="metric"?M:M*10.7639,A=[{key:r==="brick"?`brick-${i}`:"block",label:r==="brick"?{common:"Common concrete bricks","engineering-red":"Red engineering bricks","engineering-blue":"Blue engineering bricks"}[i]:"Blocks",qty:u,unit:"each",query:r==="brick"?"facing brick":"concrete block",category:"masonry"},...h?[{key:"mortar",label:"Blue Circle Quality Assured Mortar Mix 20kg",qty:v,unit:"bag",query:"ready mixed mortar",category:"mortar"}]:[]],T=z=>{if(z===l)return;let G=z==="imperial"?3.28084:.3048;f((Rn(p)*G).toFixed(2)),d((Rn(b)*G).toFixed(2)),c(z)};return(0,le.jsx)(le.Fragment,{children:(0,le.jsxs)("div",{className:"truss-estimator",children:[(0,le.jsxs)("div",{className:"quick-order-hero",children:[(0,le.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,le.jsx)("h1",{children:"Brick & Block Calculator"}),(0,le.jsx)("p",{children:"Estimate masonry units, sand and cement for a wall."})]}),(0,le.jsxs)("div",{className:"truss-estimator__card brick-calculator",children:[(0,le.jsx)("h2",{className:"truss-estimator__step-title",children:"Wall area and masonry type"}),(0,le.jsx)("p",{className:"truss-estimator__step-sub",children:"Pick brick or block and enter the wall dimensions for unit counts plus ready-mixed mortar."}),(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Masonry type"}),(0,le.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["brick","Brick"],["block","Block"]].map(([z,G])=>(0,le.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===z?" is-selected":""}`,onClick:()=>n(z),children:[(0,le.jsx)("div",{className:"truss-estimator__option-title",children:G}),(0,le.jsxs)("div",{className:"truss-estimator__option-copy",children:["Approx. ",z==="brick"?cw:uw," per m\xB2"]})]},z))})]}),r==="brick"&&(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Brick type"}),(0,le.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["common","Common concrete","General-purpose grey concrete brick"],["engineering-red","Engineering red","Class B perforated, 65mm"],["engineering-blue","Engineering blue","Class B solid, 65mm"]].map(([z,G,K])=>(0,le.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i===z?" is-selected":""}`,onClick:()=>o(z),children:[(0,le.jsx)("div",{className:"truss-estimator__option-title",children:G}),(0,le.jsx)("div",{className:"truss-estimator__option-copy",children:K})]},z))})]}),(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,le.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,le.jsx)("button",{type:"button",className:l==="metric"?"is-selected":"",onClick:()=>T("metric"),children:"Metric"}),(0,le.jsx)("button",{type:"button",className:l==="imperial"?"is-selected":"",onClick:()=>T("imperial"),children:"Imperial"})]}),(0,le.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,le.jsxs)("label",{className:"truss-estimator__field",children:[(0,le.jsxs)("span",{children:["Height (",l==="metric"?"m":"ft",")"]}),(0,le.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:z=>f(z.target.value)})]}),(0,le.jsxs)("label",{className:"truss-estimator__field",children:[(0,le.jsxs)("span",{children:["Width (",l==="metric"?"m":"ft",")"]}),(0,le.jsx)("input",{type:"number",min:"0",step:"0.01",value:b,onChange:z=>d(z.target.value)})]})]})]}),(0,le.jsx)("div",{className:"brick-calculator__options",children:(0,le.jsxs)("label",{className:"brick-calculator__checkbox",children:[(0,le.jsx)("input",{type:"checkbox",checked:h,onChange:z=>w(z.target.checked)}),(0,le.jsx)("span",{children:"Include ready-mixed mortar"})]})}),(0,le.jsxs)("div",{className:"brick-calculator__totals",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,le.jsxs)("div",{className:"brick-calculator__result-grid",children:[(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:"Wall area"}),(0,le.jsxs)("strong",{children:[q_(N)," ",l==="metric"?"m\xB2":"ft\xB2"]})]}),(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:r==="brick"?"Bricks":"Blocks"}),(0,le.jsx)("strong",{children:u.toLocaleString("en-GB")})]}),h?(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:"Ready-mixed mortar"}),(0,le.jsxs)("strong",{children:[v," x 20kg bags"]})]}):null]}),(0,le.jsx)("p",{className:"brick-calculator__note",children:"Estimate based on standard nominal sizes and 10mm joints. Mortar bags are approximate; confirm the required mortar specification before ordering."})]}),(0,le.jsxs)("div",{className:"brick-calculator__actions",children:[(0,le.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,le.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(A),disabled:M<=0,children:a})]})]})]})})}var fr=Y($e());var pw=new Map;function E_(e){return{product_id:e.product_id,description:e.description,source_list:e.source_list??null,price:e.price??null,list_price:e.list_price,discount:e.discount,price_basis:e.price_basis??null,uoi_count:e.uoi_count??null,uoi:e.uoi??null,pdp_photo_url:e.pdp_photo_url??null,conversion:e.conversion,measurements_mm:e.measurements_mm??e.attrs?.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"estimator_catalogue_search"}}async function Jr(e,t,a=12,r){let n=`${e}||${t??""}||${a}||${r??""}`,i=pw.get(n);if(i)return i;let o=new URLSearchParams({q:e,limit:String(a)});t&&o.set("category",t),r&&o.set("account",r);let l=await fetch(Ot(`/api/catalogue/search?${o.toString()}`),{headers:wi()}),c=await Kt(l);if(!l.ok)throw new Error(c?.error||c?.message||"Could not reach the product catalogue");let p=Array.isArray(c?.items)?c.items.map(E_):[];return pw.set(n,p),p}async function dw(e,t){return await Promise.all(e.map(async r=>{try{return{requirement:r,candidates:await Jr(r.query,r.category,void 0,t)}}catch{return{requirement:r,candidates:[]}}}))}async function mw(){let e=await fetch(Ot("/api/catalogue"),{headers:wi()});if(!e.ok)return{itemCount:0,uploadedAt:null};let t=await Kt(e);return{itemCount:Number(t?.itemCount)||0,uploadedAt:t?.uploadedAt??null}}var $=Y(ae()),M_=1.54,T_=1440,z_=25,xd=800,A_=1500,kd=e=>Number.parseFloat(e)||0,Un={mot:{label:"MOT Type 1",blurb:"Sub-base for patios and driveways",density:1.7,productId:"6001007"},"sharp-sand":{label:"Sharp sand",blurb:"Bedding and general groundwork",density:1.6,productId:"6001012"},gravel:{label:"20mm gravel",blurb:"Drainage and landscaping",density:1.6,productId:"6001004"}};function Nd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let r=Fs(),[n,i]=(0,fr.useState)("m"),[o,l]=(0,fr.useState)(""),[c,p]=(0,fr.useState)(""),[f,b]=(0,fr.useState)(""),[d,h]=(0,fr.useState)("concrete"),[w,M]=(0,fr.useState)("mot"),[D,m]=(0,fr.useState)(!1),[u,g]=(0,fr.useState)(null),v=n==="m"?1:.3048,N=kd(o)*v*kd(c)*v*kd(f)*(n==="m"?.01:.0254),A=Un[w],T=N*M_/7,z=T*T_,G=T*2,K=T*4,he=Math.ceil(z/z_),ze=Math.ceil(G*Un["sharp-sand"].density*1e3/xd),Ve=Math.ceil(K*Un.gravel.density*1e3/xd),He=Math.ceil(N*A.density*1e3/xd),it=d==="concrete"?[{key:"cement",label:"Blue Circle General Purpose Grey Cement 25kg",qty:he,productId:"6003004"},{key:"sharp-sand",label:"Sharp Sand Bulk Bag (800kg)",qty:ze,productId:"6001012"},{key:"gravel",label:"20mm Non Decorative Pea Shingle/Gravel Bulk Bag (800kg)",qty:Ve,productId:"6001004"}]:[{key:w,label:`${A.label} Bulk Bag (800kg)`,qty:He,productId:A.productId}],pe=()=>{if(t){t(it.map(ce=>({key:ce.key,label:ce.label,qty:ce.qty,unit:"each",query:ce.productId})));return}Q()},Q=async()=>{let ce=Date.now();m(!0),g(null);try{let Se=await Promise.all(it.map(async ee=>{let se=(await Jr(ee.productId)).find(Ne=>Ne.product_id===ee.productId);if(!se)throw new Error(`${ee.label} is no longer available in this catalogue.`);return Kr(se,{lineId:`concrete-aggregate:${ee.key}`,description:ee.label,unit:"bag",qty:ee.qty})})),xe=A_-(Date.now()-ce);xe>0&&await new Promise(ee=>window.setTimeout(ee,xe)),r?.clearCart(),r?.addManyToCart(Se),r?.openBasket()}catch(Se){g(Se instanceof Error?Se.message:"Could not add the products to your basket.")}finally{m(!1)}};return D?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)("div",{className:"truss-estimator",children:[(0,$.jsxs)("div",{className:"quick-order-hero",children:[(0,$.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,$.jsx)("h1",{children:"Your Materials"}),(0,$.jsx)("p",{children:"Calculating quantities from the Concrete & Aggregate Calculator."})]}),(0,$.jsx)("div",{className:"truss-estimator__card",children:(0,$.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,$.jsx)(dr,{}),(0,$.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})}):(0,$.jsx)($.Fragment,{children:(0,$.jsxs)("div",{className:"truss-estimator",children:[(0,$.jsxs)("div",{className:"quick-order-hero",children:[(0,$.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,$.jsx)("h1",{children:"Concrete & Aggregate Calculator"}),(0,$.jsx)("p",{children:"Calculate fixed site-mix concrete ingredients or aggregate bulk bags."})]}),(0,$.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,$.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose what you need"}),(0,$.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the area and depth. The calculator adds the fixed Materials Market products directly to your basket."}),(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Material type"}),(0,$.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${d==="concrete"?" is-selected":""}`,onClick:()=>h("concrete"),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:"Site-mixed concrete"}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:"Cement, sharp sand and 20mm aggregate"})]}),(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${d==="aggregate"?" is-selected":""}`,onClick:()=>h("aggregate"),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:"Aggregates"}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:"MOT Type 1, sharp sand or 20mm gravel"})]})]})]}),d==="aggregate"&&(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Aggregate type"}),(0,$.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.keys(Un).map(ce=>(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${w===ce?" is-selected":""}`,onClick:()=>M(ce),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:Un[ce].label}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:Un[ce].blurb})]},ce))})]}),(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and depth"}),(0,$.jsxs)("div",{className:"materials-calculator__unit-row",children:[(0,$.jsx)("span",{children:"Units"}),(0,$.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,$.jsx)("button",{type:"button",className:n==="m"?"is-selected":"",onClick:()=>i("m"),children:"Metric"}),(0,$.jsx)("button",{type:"button",className:n==="ft"?"is-selected":"",onClick:()=>i("ft"),children:"Imperial"})]})]}),(0,$.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,$.jsxs)("label",{className:"truss-estimator__field",children:[(0,$.jsxs)("span",{children:["Length (",n,")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.01",value:o,onChange:ce=>l(ce.target.value)})]}),(0,$.jsxs)("label",{className:"truss-estimator__field",children:[(0,$.jsxs)("span",{children:["Width (",n,")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.01",value:c,onChange:ce=>p(ce.target.value)})]})]}),(0,$.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,$.jsxs)("span",{children:["Depth (",n==="m"?"cm":"inches",")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.1",value:f,onChange:ce=>b(ce.target.value)})]})]}),(0,$.jsxs)("div",{className:"materials-calculator__totals",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Materials required"}),(0,$.jsx)("div",{className:"materials-calculator__result-grid",children:d==="concrete"?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Cement"}),(0,$.jsxs)("strong",{children:[z.toFixed(0)," kg"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Sharp sand"}),(0,$.jsxs)("strong",{children:[G.toFixed(2)," m\xB3"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"20mm aggregate"}),(0,$.jsxs)("strong",{children:[K.toFixed(2)," m\xB3"]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:A.label}),(0,$.jsxs)("strong",{children:[N.toFixed(2)," m\xB3"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Approx. weight"}),(0,$.jsxs)("strong",{children:[(N*A.density).toFixed(2)," t"]})]}),(0,$.jsx)("div",{})]})}),(0,$.jsx)("p",{className:"materials-calculator__note",children:d==="concrete"?"Based on a 1:2:4 mix. Confirm the mix design for structural work.":"Figures are estimates. Confirm the specification and supplier quantities before ordering."})]}),u&&(0,$.jsx)("p",{className:"results-empty-hint estimator-products__error",children:u}),(0,$.jsxs)("div",{className:"materials-calculator__actions",children:[(0,$.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,$.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:pe,disabled:N<=0||D,children:D?"Adding products\u2026":a})]})]})]})})}var Ya=Y($e());var U=Y(ae()),Dn=12,Bn=8,ec=.56,fw=.21,Sa={ranges:{meridian:{label:"Standard grooved timber",blurb:"32 \xD7 125mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.125},summit:{label:"Wide grooved timber",blurb:"32 \xD7 150mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.15}},boardGapM:.006,wastage:{straight:.05,diagonal:.15},pictureFrame:{extraWastage:.08},joist:{lengthM:2.4,spacingOptions:[{id:"300",label:"300mm centres (heavy duty)",spacingM:.3},{id:"400",label:"400mm centres (standard)",spacingM:.4},{id:"450",label:"450mm centres (light use)",spacingM:.45}]}},Si=["range","grid","pictureFrame","substructure"],R_={range:null,colour:null,deckSizeMode:"quick",quickLengthM:"",quickWidthM:"",points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:"",pictureFrame:null,direction:null,deckHeightMode:"standard",deckHeightCm:"",joistSpacing:null,supportType:null,contact:{name:"",email:""}},tc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),ac=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),U_=(e,t,a,r)=>{let n=tc(e,t,a),i=tc(e,t,r),o=tc(a,r,e),l=tc(a,r,t);return n===0&&ac(e,t,a)||i===0&&ac(e,t,r)||o===0&&ac(a,r,e)||l===0&&ac(a,r,t)?!0:n>0!=i>0&&o>0!=l>0},Sd=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1){let n=e[(r+1)%e.length];for(let i=r+1;i<a;i+=1)if(!(i===r+1||t&&r===0&&i===a-1)&&U_(e[r],n,e[i],e[(i+1)%e.length]))return!0}return!1};function Cd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,Ya.useState)(0),[i,o]=(0,Ya.useState)(R_),[l,c]=(0,Ya.useState)(1),[p,f]=(0,Ya.useState)({x:0,y:0}),[b,d]=(0,Ya.useState)(null),h=(0,Ya.useRef)(null),w=(0,Ya.useRef)(null),M=(0,Ya.useRef)(null),D=Si[r],m=i.range?Sa.ranges[i.range]:null,u=Dn/l,g=Bn/l,v=(Dn-u)/2,N=(Bn-g)/2,A=Math.max(-Dn,Math.min(Dn*2-u,v+p.x)),T=Math.max(-Bn,Math.min(Bn*2-g,N+p.y)),z=Number.parseFloat(i.quickLengthM),G=Number.parseFloat(i.quickWidthM),K=z>0&&G>0,he=E=>Math.abs(E.reduce((x,R,I)=>{let ue=E[(I+1)%E.length];return x+R.x*ue.y-ue.x*R.y},0))/2,ze=(E,x)=>Math.hypot(x.x-E.x,x.y-E.y),Ve=i.isOutlineClosed?he(i.points):0,He=i.isOutlineClosed?i.points.reduce((E,x,R)=>E+ze(x,i.points[(R+1)%i.points.length]),0):0,it=i.isOutlineClosed?i.points.reduce((E,x,R)=>E+(i.wallSegments.has(R)?0:ze(x,i.points[(R+1)%i.points.length])),0):0,pe=i.points.reduce((E,x)=>({x:E.x+x.x/i.points.length,y:E.y+x.y/i.points.length}),{x:0,y:0}),Q=i.points.length>1?(()=>{let E=i.points[0],x=i.points[1],R=ze(E,x),I=R?-(x.y-E.y)/R:0,ue=R?(x.x-E.x)/R:0,ge=(E.x+x.x)/2,ke=(E.y+x.y)/2,k=I*(ge-pe.x)+ue*(ke-pe.y)>=0?1:-1;return{x:ge+I*ec*k,y:ke+ue*ec*k}})():null,Se=(()=>{let E=i.range?Sa.ranges[i.range]:Sa.ranges.meridian,x=i.deckSizeMode==="quick"?z*G:Ve,R=i.deckSizeMode==="quick"?2*(z+G):it,I=i.direction==="diagonal"?Sa.wastage.diagonal:Sa.wastage.straight,ue=i.pictureFrame==="yes"?Sa.pictureFrame.extraWastage:0,ke=x/(E.boardWidthM+Sa.boardGapM)/E.boardLengthM,k=Math.ceil(ke*(1+I+ue)),j=Math.ceil(x*30*(1+I+ue)/200),O=Sa.joist.spacingOptions.find(C=>C.id===i.joistSpacing)??Sa.joist.spacingOptions[1],ne=x/O.spacingM,W=Math.ceil(ne/Sa.joist.lengthM);return{range:E,area:x,boardCount:k,screwBoxes:j,joistLengthsNeeded:W,spacing:O}})(),xe=Se?[{key:`boards-${i.range??"meridian"}`,label:`Deck boards (${Se.range.label})`,qty:Se.boardCount,unit:"each",query:"timber decking board",category:"decking",calculatorWasteIncluded:!0},{key:"joists",label:"Treated C24 joists",qty:Se.joistLengthsNeeded,unit:"each",query:"treated joist",category:"timber",calculatorWasteIncluded:!0},{key:"screws",label:"Green decking screws (200/box)",qty:Se.screwBoxes,unit:"box",query:"green decking screws",category:"fixings",calculatorWasteIncluded:!0}]:[],ee=()=>D==="range"?!!i.range:D==="grid"?i.deckSizeMode==="quick"?K:i.isOutlineClosed&&Ve>0:D==="pictureFrame"?!!i.pictureFrame&&!!i.direction:D==="substructure"?!!i.joistSpacing:!0,se=r===Si.length-1?a:"Next",Ne=(E,x,R=!1)=>{let I=M.current?.getBoundingClientRect();if(!I)return null;let ue=R?1:.25;return{x:Math.round(Math.max(A,Math.min(A+u,A+(E-I.left)/I.width*u))/ue)*ue,y:Math.round(Math.max(T,Math.min(T+g,T+(x-I.top)/I.height*g))/ue)*ue}},fe=E=>{if(i.isOutlineClosed){let R=E.target;if(R!==E.currentTarget&&!R.classList.contains("deck-outline__grid"))return;w.current={startX:E.clientX,startY:E.clientY,startViewX:A,startViewY:T},E.currentTarget.setPointerCapture(E.pointerId);return}if(i.drawMode!=="outline")return;let x=Ne(E.clientX,E.clientY,!0);x&&(d(null),o(R=>{let I=[...R.points,x];return Sd(I,!1)?{...R,drawError:"Edges cannot cross. Choose another corner."}:{...R,points:I,drawError:""}}))},Xe=(E,x)=>{if(!i.isOutlineClosed){E.stopPropagation(),x===0&&i.points.length>=3&&o(R=>({...R,isOutlineClosed:!0,drawMode:"edges"}));return}E.stopPropagation(),h.current=x,E.currentTarget.setPointerCapture(E.pointerId)},jt=E=>{if(w.current){let I=M.current?.getBoundingClientRect();if(!I)return;let ue=w.current,ge=ue.startViewX-(E.clientX-ue.startX)/I.width*u,ke=ue.startViewY-(E.clientY-ue.startY)/I.height*g;f({x:ge-v,y:ke-N});return}!i.isOutlineClosed&&i.drawMode==="outline"&&d(Ne(E.clientX,E.clientY,!0));let x=h.current;if(x===null)return;let R=Ne(E.clientX,E.clientY);R&&o(I=>{let ue=I.points.map((ge,ke)=>ke===x?R:ge);return Sd(ue,!0)?{...I,drawError:"Edges cannot cross. Move the corner to a different position."}:{...I,points:ue,drawError:""}})},zt=E=>{w.current=null,h.current=null,E.currentTarget.hasPointerCapture(E.pointerId)&&E.currentTarget.releasePointerCapture(E.pointerId)},tt=E=>{o(x=>{let R=new Set(x.wallSegments);return R.has(E)?R.delete(E):R.add(E),{...x,wallSegments:R}})},ct=()=>{r===0?e():n(E=>E-1)},je=()=>{ee()&&(r===Si.length-1?t?.(xe):n(E=>E+1))};return(0,U.jsx)(U.Fragment,{children:(0,U.jsxs)("div",{className:"truss-estimator",children:[(0,U.jsxs)("div",{className:"quick-order-hero",children:[(0,U.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,U.jsx)("h1",{children:"Decking Calculator"}),(0,U.jsx)("p",{children:"Estimate timber boards, joists and screws for your deck."})]}),(0,U.jsxs)("div",{className:"truss-estimator__card",children:[(0,U.jsxs)("div",{className:"truss-estimator__body",children:[D==="range"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your timber decking"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Both options are fixed, orderable pressure-treated timber boards."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Sa.ranges).map(([E,x])=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.range===E?" is-selected":""}`,onClick:()=>o(R=>({...R,range:E})),children:[(0,U.jsx)("div",{className:"truss-estimator__option-title",children:x.label}),(0,U.jsx)("div",{className:"truss-estimator__option-copy",children:x.blurb}),(0,U.jsxs)("div",{className:"truss-estimator__option-copy",children:[x.boardLengthM,"m boards"]})]},E))})]}):null,D==="grid"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Tell us your deck size"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Start with a quick rectangle estimate, or draw an irregular deck for a more precise result."}),(0,U.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.deckSizeMode==="quick"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"quick"})),children:"Quick estimate"}),(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.deckSizeMode==="draw"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"draw",drawMode:"outline"})),children:"Draw your space"})]}),i.deckSizeMode==="quick"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Length (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:i.quickLengthM,onChange:E=>o(x=>({...x,quickLengthM:E.target.value}))})]}),(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Width (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:i.quickWidthM,onChange:E=>o(x=>({...x,quickWidthM:E.target.value}))})]})]}),(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:"For L-shaped decks, cut-outs, or sides against a wall, use Draw your space."}),K?(0,U.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,U.jsxs)("div",{children:[(z*G).toFixed(2)," m\xB2 deck"]}),(0,U.jsxs)("div",{children:[(2*(z+G)).toFixed(2)," m perimeter"]})]}):null]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Draw your deck"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Click to add corners, then close the outline. Drag any handle to refine it."}),(0,U.jsxs)("div",{className:"deck-outline__toolbar",children:[i.isOutlineClosed?(0,U.jsxs)("div",{className:"deck-outline__summary",children:[(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Deck area"}),(0,U.jsxs)("strong",{children:[Ve.toFixed(2)," m\xB2"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Perimeter"}),(0,U.jsxs)("strong",{children:[He.toFixed(2)," m"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Wall edges"}),(0,U.jsx)("strong",{children:i.wallSegments.size>0?i.wallSegments.size:"None"})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Visible edge"}),(0,U.jsxs)("strong",{children:[it.toFixed(2)," m"]})]})]}):null,(0,U.jsxs)("div",{className:"deck-outline__actions",children:[(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:E.points.slice(0,-1)})),disabled:i.points.length===0||i.isOutlineClosed,children:"Undo"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{d(null),o(E=>({...E,points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:""}))},disabled:i.points.length===0,children:"Clear"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5}],isOutlineClosed:!0,wallSegments:new Set,drawMode:"edges",drawError:""})),children:"Start with rectangle"})]})]}),(0,U.jsx)("div",{className:"deck-editor-layout",children:(0,U.jsxs)("div",{className:"deck-editor-layout__canvas-column",children:[(0,U.jsxs)("div",{className:"deck-outline",children:[(0,U.jsxs)("svg",{ref:M,className:`deck-outline__canvas${i.isOutlineClosed?" is-pan-mode":""}`,viewBox:`${A} ${T} ${u} ${g}`,preserveAspectRatio:"none","aria-label":"Deck outline drawing area",onPointerDown:fe,onPointerMove:jt,onPointerUp:zt,onPointerLeave:()=>{d(null),w.current||(h.current=null)},children:[(0,U.jsx)("defs",{children:(0,U.jsx)("pattern",{id:"deck-outline-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,U.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,U.jsx)("rect",{x:-Dn,y:-Bn,width:Dn*3,height:Bn*3,className:"deck-outline__grid",fill:"url(#deck-outline-grid)"}),i.points.length>1?(0,U.jsx)("polyline",{className:"deck-outline__preview",points:i.points.map(E=>`${E.x},${E.y}`).join(" ")}):null,i.isOutlineClosed?(0,U.jsx)("polygon",{className:"deck-outline__shape",points:i.points.map(E=>`${E.x},${E.y}`).join(" "),stroke:"none"}):null,i.points.length>1?i.points.slice(0,i.isOutlineClosed?void 0:-1).map((E,x)=>{let R=i.points[i.isOutlineClosed?(x+1)%i.points.length:x+1],I=ze(E,R),ue=I?-(R.y-E.y)/I:0,ge=I?(R.x-E.x)/I:0,ke=(E.x+R.x)/2,k=(E.y+R.y)/2,j=ue*(ke-pe.x)+ge*(k-pe.y)>=0?1:-1,O=ke+ue*ec*j,ne=k+ge*ec*j;return(0,U.jsxs)("g",{children:[(0,U.jsx)("line",{className:"deck-outline__edge-hit",x1:E.x,y1:E.y,x2:R.x,y2:R.y,onClick:i.isOutlineClosed?()=>tt(x):void 0}),(0,U.jsx)("line",{className:`deck-outline__edge${i.wallSegments.has(x)?" is-wall":""}`,x1:E.x,y1:E.y,x2:R.x,y2:R.y,pointerEvents:"none"}),(0,U.jsxs)("text",{className:`deck-outline__edge-label${i.wallSegments.has(x)?" is-wall":""}`,x:O,y:ne,textAnchor:"middle",dominantBaseline:"central",fontSize:fw/l,children:[I.toFixed(2)," m"]})]},`segment-${x}`)}):null,!i.isOutlineClosed&&i.points.length>0&&b?(()=>{let E=i.points[i.points.length-1],x=ze(E,b);if(!x)return null;let R=-(b.y-E.y)/x,I=(b.x-E.x)/x,ue=(E.x+b.x)/2,ge=(E.y+b.y)/2;return(0,U.jsxs)("g",{className:"deck-outline__live-measurement",children:[(0,U.jsx)("line",{x1:E.x,y1:E.y,x2:b.x,y2:b.y}),(0,U.jsxs)("text",{x:ue+R*.34,y:ge+I*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:fw/l,children:[x.toFixed(2)," m"]})]})})():null,i.points.map((E,x)=>(0,U.jsx)("circle",{className:"deck-outline__point",cx:E.x,cy:E.y,r:"0.13",onPointerDown:R=>Xe(R,x)},`point-${x}`))]}),(0,U.jsxs)("div",{className:"deck-outline__zoom","aria-label":"Zoom controls",children:[(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.max(.5,E-.25)),disabled:l===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,U.jsxs)("span",{children:[Math.round(l*100),"%"]}),(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.min(1,E+.25)),disabled:l===1,"aria-label":"Zoom in",children:"+"})]}),i.isOutlineClosed&&i.wallSegments.size===0&&Q?(0,U.jsx)("div",{className:"deck-outline__edge-prompt",role:"status",style:{left:`${(Q.x-A)/u*100}%`,top:`${(Q.y-T)/g*100}%`},children:"Tap an edge to mark it as a wall, or leave it as a visible edge."}):null,!i.isOutlineClosed&&i.points.length>=3?(0,U.jsx)("button",{type:"button",className:"deck-outline__close",onClick:()=>o(E=>Sd(E.points,!0)?{...E,drawError:"Edges cannot cross. Adjust the outline before finishing."}:{...E,isOutlineClosed:!0,drawMode:"edges",drawError:""}),children:"Finish outline"}):null]}),(0,U.jsxs)("div",{className:"deck-outline__supporting",children:[(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:i.isOutlineClosed?"Drag a corner handle to refine the outline.":"Add at least three corners, then click Finish outline."}),i.drawError?(0,U.jsx)("div",{className:"deck-outline__error",role:"alert",children:i.drawError}):null]})]})})]})]}):null,D==="pictureFrame"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Picture frame border?"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"A picture frame border runs boards around the perimeter for a finished look and uses extra material."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No border",img:"/decking/boards/no-border.webp"},{id:"yes",label:"Picture frame",img:"/decking/boards/picture-frame.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.pictureFrame===E.id?" is-selected":""}`,onClick:()=>o(x=>({...x,pictureFrame:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:Pt(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))}),(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Board direction"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"straight",label:"Straight",img:"/decking/boards/straight.webp"},{id:"diagonal",label:"Diagonal",img:"/decking/boards/diagonal.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.direction===E.id?" is-selected":""}`,onClick:()=>o(x=>({...x,direction:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:Pt(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))})]})]}):null,D==="substructure"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Substructure"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the joist spacing. Posts, footings and ground preparation vary by site, so are not included."}),(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Joist spacing"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Sa.joist.spacingOptions.map(E=>(0,U.jsx)("button",{type:"button",className:`truss-estimator__option-card${i.joistSpacing===E.id?" is-selected":""}`,onClick:()=>o(x=>({...x,joistSpacing:E.id})),children:(0,U.jsx)("div",{className:"truss-estimator__option-title",children:E.label})},E.id))})]}):null]}),(0,U.jsxs)("div",{className:"truss-estimator__nav",children:[(0,U.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:ct,children:"Back"}),(0,U.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:je,disabled:!ee(),children:[(0,U.jsx)("span",{children:se}),(0,U.jsx)("span",{className:"arrow",children:(0,U.jsx)(Lt,{})})]})]})]})]})})}var qa=Y($e());var H=Y(ae()),gw=12,hw=30,On=12,Ln=8,bw=.56,Ca={ranges:{boundary:{label:"Horizontal lap",blurb:"Traditional pressure-treated timber panels.",panelWidthM:1.83},skyline:{label:"Feather edge",blurb:"Heavier timber panels for a more solid boundary.",panelWidthM:1.83}},heights:["0.9","1.2","1.5","1.8"],gate:{single:{label:"Single lap gate",widthDefault:.9}},mounting:{concrete:{label:"Concrete posts",blurb:"Slotted concrete posts with matching panels."},postcrete:{label:"Postcrete bags",blurb:"Fast-set post-mix bags in a dug hole.",bagsPerPost:2}}},Ci=["range","height","gate","posts"],D_={range:null,colour:null,grid:new Set,excludedEdges:new Set,gridMode:"draw",boundaryMode:"quick",quickLengthM:"",boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set,height:null,gravelBoard:null,gateType:null,gateWidthM:"",mountingType:null,contact:{name:"",email:""}},rc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),ic=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),B_=(e,t,a,r)=>{let n=rc(e,t,a),i=rc(e,t,r),o=rc(a,r,e),l=rc(a,r,t);return n===0&&ic(e,t,a)||i===0&&ic(e,t,r)||o===0&&ic(a,r,e)||l===0&&ic(a,r,t)?!0:n>0!=i>0&&o>0!=l>0},nc=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1)for(let n=r+1;n<a;n+=1)if(!(n===r+1||t&&r===0&&n===a-1)&&B_(e[r],e[(r+1)%e.length],e[n],e[(n+1)%e.length]))return!0;return!1};function qd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,qa.useState)(0),[i,o]=(0,qa.useState)(D_),l=(0,qa.useRef)(null),c=(0,qa.useRef)(null),[p,f]=(0,qa.useState)(1),[b,d]=(0,qa.useState)({x:0,y:0}),[h,w]=(0,qa.useState)(null),M=(0,qa.useRef)(null),D=(0,qa.useRef)(null),m=(0,qa.useRef)(null),u=Ci[r],g=i.range?Ca.ranges[i.range]:null,v=On/p,N=Ln/p,A=(On-v)/2,T=(Ln-N)/2,z=Math.max(-On,Math.min(On*2-v,A+b.x)),G=Math.max(-Ln,Math.min(Ln*2-N,T+b.y)),K=i.boundaryPoints.reduce((k,j)=>({x:k.x+j.x/Math.max(1,i.boundaryPoints.length),y:k.y+j.y/Math.max(1,i.boundaryPoints.length)}),{x:0,y:0}),he=k=>{let j=new Set,O=[];return k.forEach(ne=>{let[W,C]=ne.split(",").map(Number),V=[{key:`H,${W},${C}`,type:"H",x:W,y:C},{key:`H,${W},${C+1}`,type:"H",x:W,y:C+1},{key:`V,${W},${C}`,type:"V",x:W,y:C},{key:`V,${W+1},${C}`,type:"V",x:W+1,y:C}],X=[!k.has(`${W},${C-1}`),!k.has(`${W},${C+1}`),!k.has(`${W-1},${C}`),!k.has(`${W+1},${C}`)];V.forEach((de,Ce)=>{X[Ce]&&!j.has(de.key)&&(j.add(de.key),O.push(de))})}),O},ze=(k,j)=>he(k).filter(O=>!j.has(O.key)),Ve=(k,j)=>ze(k,j).length,He=(k,j)=>{let O={};ze(k,j).forEach(W=>{var C,V,X,de;W.type==="H"?((O[C=`${W.x},${W.y}`]||(O[C]=[])).push("H"),(O[V=`${W.x+1},${W.y}`]||(O[V]=[])).push("H")):((O[X=`${W.x},${W.y}`]||(O[X]=[])).push("V"),(O[de=`${W.x},${W.y+1}`]||(O[de]=[])).push("V"))});let ne=0;return Object.values(O).forEach(W=>{(W.length===1||W.length===2&&W[0]!==W[1]||W.length>=3)&&(ne+=1)}),ne},pe=(()=>{let k=i.range?Ca.ranges[i.range]:Ca.ranges.boundary,j=i.height??"1.8",O=i.boundaryMode==="quick"?Math.max(0,Number.parseFloat(i.quickLengthM)||0):i.boundaryClosed?i.boundaryPoints.slice(0,-1).reduce((hr,Ft,It)=>hr+(i.excludedBoundaryEdges.has(It)?0:Math.hypot(i.boundaryPoints[It+1].x-Ft.x,i.boundaryPoints[It+1].y-Ft.y)),0):0,ne=i.gateType&&i.gateType!=="none"?Number.parseFloat(i.gateWidthM)||Ca.gate[i.gateType].widthDefault:0,W=Math.max(0,O-ne),C=W>0?Math.ceil(W/k.panelWidthM):0,V=i.boundaryPoints.length>2&&i.boundaryPoints[0].x===i.boundaryPoints[i.boundaryPoints.length-1].x&&i.boundaryPoints[0].y===i.boundaryPoints[i.boundaryPoints.length-1].y,X=i.boundaryMode==="quick"?W>0?2:0:i.boundaryClosed?i.boundaryPoints.slice(0,V?-1:void 0).reduce((hr,Ft,It)=>{let Vd=It>0&&!i.excludedBoundaryEdges.has(It-1),Xd=It<i.boundaryPoints.length-1&&!i.excludedBoundaryEdges.has(It);return hr+(Vd||Xd?1:0)},0):0,de=W>0?Math.ceil(W/k.panelWidthM)+1:0,Ce=Math.max(0,de-X),dt=i.mountingType?Ca.mounting[i.mountingType]:Ca.mounting.concrete,Ge=i.gateType&&i.gateType!=="none"?2:0,Fr=Ce+X+Ge,Ir=i.mountingType==="postcrete"?Fr*Ca.mounting.postcrete.bagsPerPost:0,ll=i.gravelBoard==="yes"?C:0;return{range:k,height:j,totalEdgeM:O,fencedLengthM:W,gateWidthM:ne,panelsCount:C,cornerPostCount:X,intermediatePostCount:Ce,gatePostCount:Ge,totalPostCount:Fr,bagsCount:Ir,gravelCount:ll,capCount:Fr,mounting:dt}})(),Q=i.gateType&&i.gateType!=="none"?Ca.gate[i.gateType].label:null,ce=Number(pe.height)<=1.2?"6":"8",Se=pe?[{key:`panels-${i.range??"boundary"}-${pe.height}`,label:`${pe.range.label} panels (${pe.height}m)`,qty:pe.panelsCount,unit:"each",query:"fence panel",category:"fencing"},...i.mountingType==="concrete"?[{key:`concrete-intermediate-${ce}`,label:"Intermediate concrete posts",qty:pe.intermediatePostCount,unit:"each",query:"concrete fence post",category:"fencing"},{key:`concrete-end-${ce}`,label:"End and corner concrete posts",qty:pe.cornerPostCount+pe.gatePostCount,unit:"each",query:"concrete end post",category:"fencing"}]:[{key:`timber-post-${ce}`,label:"Timber fence posts",qty:pe.totalPostCount,unit:"each",query:"timber fence post",category:"fencing"},{key:"postcrete",label:"Postcrete",qty:pe.bagsCount,unit:"bag",query:"postcrete",category:"cement"}],...Q?[{key:"gate",label:Q,qty:1,unit:"each",query:"lap gate",category:"fencing"}]:[],...pe.gravelCount>0?[{key:"gravel-boards",label:"Concrete gravel boards",qty:pe.gravelCount,unit:"each",query:"gravel board",category:"fencing"}]:[]]:[],xe=()=>{if(u==="range"){let k=i.boundaryMode==="quick"?(Number.parseFloat(i.quickLengthM)||0)>0:i.boundaryClosed&&i.boundaryPoints.length>=2;return!!i.range&&k}return u==="height"?!!i.height&&!!i.gravelBoard:u==="gate"?!!i.gateType&&(i.gateType==="none"||i.gateWidthM.trim()!==""):u==="posts"?!!i.mountingType:!0},ee=r===Ci.length-1?a:"Next",se=k=>{o(j=>{let O=k(new Set(j.grid)),ne=new Set([...j.excludedEdges].filter(W=>he(O).some(C=>C.key===W)));return{...j,grid:O,excludedEdges:ne}})},Ne=(k,j,O)=>{se(ne=>{let W=`${k},${j}`;return O?ne.add(W):ne.delete(W),ne})},fe=(k,j,O,ne,W)=>{let C=k,V=j,X=Math.abs(O-k),de=k<O?1:-1,Ce=-Math.abs(ne-j),dt=j<ne?1:-1,Ge=X+Ce;for(;Ne(C,V,W),!(C===O&&V===ne);){let Fr=2*Ge;Fr>=Ce&&(Ge+=Ce,C+=de),Fr<=X&&(Ge+=X,V+=dt)}},Xe=(k,j)=>{let O=c.current?.getBoundingClientRect();if(!O)return null;let ne=Math.floor((k-O.left)/hw),W=Math.floor((j-O.top)/hw);return ne<0||W<0||ne>=gw||W>=gw?null:{x:ne,y:W}},jt=k=>{if(i.gridMode!=="draw")return;let j=Xe(k.clientX,k.clientY);if(!j)return;k.preventDefault();let O=`${j.x},${j.y}`,ne=!i.grid.has(O);l.current={active:!0,paintValue:ne,lastX:j.x,lastY:j.y},k.currentTarget.setPointerCapture(k.pointerId),Ne(j.x,j.y,ne)},zt=k=>{let j=l.current;if(!j?.active)return;let O=Xe(k.clientX,k.clientY);O&&(O.x===j.lastX&&O.y===j.lastY||(fe(j.lastX,j.lastY,O.x,O.y,j.paintValue),l.current={...j,lastX:O.x,lastY:O.y}))},tt=k=>{l.current?.active&&(l.current=null,k.currentTarget.releasePointerCapture(k.pointerId))},ct=(k,j,O=!1)=>{let ne=m.current?.getBoundingClientRect();if(!ne)return null;let W=O?1:.25;return{x:Math.round(Math.max(z,Math.min(z+v,z+(k-ne.left)/ne.width*v))/W)*W,y:Math.round(Math.max(G,Math.min(G+N,G+(j-ne.top)/ne.height*N))/W)*W}},je=k=>{if(i.boundaryClosed){let O=k.target;if(O!==k.currentTarget&&!O.classList.contains("fence-boundary__grid"))return;D.current={startX:k.clientX,startY:k.clientY,startViewX:z,startViewY:G},k.currentTarget.setPointerCapture(k.pointerId);return}let j=ct(k.clientX,k.clientY,!0);j&&(w(null),o(O=>{let ne=[...O.boundaryPoints,j];return nc(ne,!1)?{...O}:{...O,boundaryPoints:ne}}))},E=(k,j)=>{if(k.stopPropagation(),!i.boundaryClosed){if(j!==0||i.boundaryPoints.length<3)return;o(O=>nc(O.boundaryPoints,!0)?O:{...O,boundaryPoints:[...O.boundaryPoints,O.boundaryPoints[0]],boundaryClosed:!0});return}M.current=j,k.currentTarget.setPointerCapture(k.pointerId)},x=k=>{if(D.current){let O=m.current?.getBoundingClientRect();if(!O)return;let ne=D.current,W=ne.startViewX-(k.clientX-ne.startX)/O.width*v,C=ne.startViewY-(k.clientY-ne.startY)/O.height*N;d({x:W-A,y:C-T});return}if(i.boundaryClosed||w(ct(k.clientX,k.clientY,!0)),M.current===null)return;let j=ct(k.clientX,k.clientY);j&&o(O=>{let ne=O.boundaryPoints.length>2&&O.boundaryPoints[0].x===O.boundaryPoints[O.boundaryPoints.length-1].x&&O.boundaryPoints[0].y===O.boundaryPoints[O.boundaryPoints.length-1].y,W=O.boundaryPoints.map((C,V)=>{let X=V===M.current,de=ne&&M.current===0&&V===O.boundaryPoints.length-1;return X||de?j:C});return nc(W,!1)?O:{...O,boundaryPoints:W}})},R=k=>{D.current=null,M.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},I=k=>{o(j=>{let O=new Set(j.excludedBoundaryEdges);return O.has(k)?O.delete(k):O.add(k),{...j,excludedBoundaryEdges:O}})},ue=()=>{r===0?e():n(k=>k-1)},ge=()=>{xe()&&(r===Ci.length-1?t?.(Se):n(k=>k+1))},ke=he(i.grid);return(0,H.jsx)(H.Fragment,{children:(0,H.jsxs)("div",{className:"truss-estimator",children:[(0,H.jsxs)("div",{className:"quick-order-hero",children:[(0,H.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,H.jsx)("h1",{children:"Fencing Calculator"}),(0,H.jsx)("p",{children:"Estimate panels, posts and cost for your fence line in a few steps."})]}),(0,H.jsxs)("div",{className:"truss-estimator__card",children:[(0,H.jsxs)("div",{className:"truss-estimator__body",children:[u==="range"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your fence panels"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"The calculator uses fixed, orderable timber panels from the catalogue."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ca.ranges).map(([k,j])=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.range===k?" is-selected":""}`,onClick:()=>o(O=>({...O,range:k})),children:[(0,H.jsx)("div",{className:"truss-estimator__option-title",children:j.label}),(0,H.jsx)("div",{className:"truss-estimator__option-copy",children:j.blurb})]},k))})]}):null,u==="range"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("div",{className:"truss-estimator__section-heading",children:"Measure your fence line"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Use a quick total, or draw the boundary to mark existing edges that do not need new fencing."}),(0,H.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,H.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.boundaryMode==="quick"?" is-selected":""}`,onClick:()=>o(k=>({...k,boundaryMode:"quick"})),children:"Quick estimate"}),(0,H.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.boundaryMode==="draw"?" is-selected":""}`,onClick:()=>o(k=>({...k,boundaryMode:"draw"})),children:"Draw your boundary"})]}),i.boundaryMode==="quick"?(0,H.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact fence-boundary__quick-field",children:[(0,H.jsx)("span",{children:"Total fence length (m)"}),(0,H.jsx)("input",{type:"number",min:"0",step:"0.1",value:i.quickLengthM,onChange:k=>o(j=>({...j,quickLengthM:k.target.value}))})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("div",{className:"fence-boundary__toolbar",children:(0,H.jsxs)("div",{className:"fence-boundary__actions",children:[(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(k=>({...k,boundaryPoints:k.boundaryPoints.slice(0,-1),boundaryClosed:!1,excludedBoundaryEdges:new Set})),disabled:i.boundaryPoints.length===0||i.boundaryClosed,children:"Undo"}),(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{d({x:0,y:0}),w(null),o(k=>({...k,boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set}))},disabled:i.boundaryPoints.length===0,children:"Clear"}),(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(k=>({...k,boundaryPoints:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5},{x:2,y:2}],boundaryClosed:!0,excludedBoundaryEdges:new Set})),children:"Start with rectangle"})]})}),(0,H.jsxs)("div",{className:"fence-boundary",children:[(0,H.jsxs)("svg",{ref:m,className:`fence-boundary__canvas${i.boundaryClosed?" is-pan-mode":""}`,viewBox:`${z} ${G} ${v} ${N}`,preserveAspectRatio:"none","aria-label":"Fence boundary drawing area",onPointerDown:je,onPointerMove:x,onPointerUp:R,onPointerLeave:()=>{w(null),D.current||(M.current=null)},children:[(0,H.jsx)("defs",{children:(0,H.jsx)("pattern",{id:"fence-boundary-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,H.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,H.jsx)("rect",{x:-On,y:-Ln,width:On*3,height:Ln*3,className:"fence-boundary__grid",fill:"url(#fence-boundary-grid)"}),i.boundaryPoints.length>1?(0,H.jsx)("polyline",{className:"fence-boundary__preview",points:i.boundaryPoints.map(k=>`${k.x},${k.y}`).join(" ")}):null,i.boundaryPoints.length>1?i.boundaryPoints.slice(0,-1).map((k,j)=>{let O=i.boundaryPoints[j+1],ne=Math.hypot(O.x-k.x,O.y-k.y),W=ne?-(O.y-k.y)/ne:0,C=ne?(O.x-k.x)/ne:0,V=(k.x+O.x)/2,X=(k.y+O.y)/2,de=W*(V-K.x)+C*(X-K.y)>=0?1:-1,Ce=V+W*bw*de,dt=X+C*bw*de;return(0,H.jsxs)("g",{children:[(0,H.jsx)("line",{className:"fence-boundary__edge-hit",x1:k.x,y1:k.y,x2:O.x,y2:O.y,onClick:i.boundaryClosed?()=>I(j):void 0}),(0,H.jsx)("line",{className:`fence-boundary__edge${i.excludedBoundaryEdges.has(j)?" is-excluded":""}`,x1:k.x,y1:k.y,x2:O.x,y2:O.y,pointerEvents:"none"}),(0,H.jsxs)("text",{className:`fence-boundary__edge-label${i.excludedBoundaryEdges.has(j)?" is-excluded":""}`,x:Ce,y:dt,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[ne.toFixed(2)," m"]})]},`fence-edge-${j}`)}):null,!i.boundaryClosed&&i.boundaryPoints.length>0&&h?(()=>{let k=i.boundaryPoints[i.boundaryPoints.length-1],j=Math.hypot(h.x-k.x,h.y-k.y);if(!j)return null;let O=-(h.y-k.y)/j,ne=(h.x-k.x)/j,W=(k.x+h.x)/2,C=(k.y+h.y)/2;return(0,H.jsxs)("g",{className:"fence-boundary__live-measurement",children:[(0,H.jsx)("line",{x1:k.x,y1:k.y,x2:h.x,y2:h.y}),(0,H.jsxs)("text",{x:W+O*.34,y:C+ne*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[j.toFixed(2)," m"]})]})})():null,i.boundaryPoints.map((k,j)=>j>0&&j===i.boundaryPoints.length-1&&k.x===i.boundaryPoints[0]?.x&&k.y===i.boundaryPoints[0]?.y?null:(0,H.jsx)("circle",{className:`fence-boundary__point${!i.boundaryClosed&&j===0&&i.boundaryPoints.length>=3?" is-close-target":""}`,cx:k.x,cy:k.y,r:"0.13",onPointerDown:O=>E(O,j)},`fence-point-${j}`))]}),(0,H.jsxs)("div",{className:"fence-boundary__zoom","aria-label":"Zoom controls",children:[(0,H.jsx)("button",{type:"button",onClick:()=>f(k=>Math.max(.5,k-.25)),disabled:p===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,H.jsxs)("span",{children:[Math.round(p*100),"%"]}),(0,H.jsx)("button",{type:"button",onClick:()=>f(k=>Math.min(1,k+.25)),disabled:p===1,"aria-label":"Zoom in",children:"+"})]}),!i.boundaryClosed&&i.boundaryPoints.length>=2?(0,H.jsx)("button",{type:"button",className:"fence-boundary__close",onClick:()=>o(k=>nc(k.boundaryPoints,!1)?k:{...k,boundaryClosed:!0}),children:"Finish fence line"}):null]}),(0,H.jsx)("div",{className:"truss-estimator__grid-hint",children:i.boundaryClosed?"Drag the blank canvas to pan. Tap an edge to exclude it from the new fence.":"Click to add points, then finish the fence line. The displayed distances update as you draw."})]}),(0,H.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,H.jsx)("div",{children:i.boundaryMode==="quick"?`${(Number.parseFloat(i.quickLengthM)||0).toFixed(2)} m fence line`:`${pe.totalEdgeM.toFixed(2)} m fence line`}),i.boundaryMode==="draw"&&i.boundaryClosed?(0,H.jsxs)("div",{children:[pe.cornerPostCount," corner/end posts"]}):null]})]}):null,null,u==="height"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Fence height"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Select the nearest available panel height."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:Ca.heights.map(k=>(0,H.jsx)("button",{type:"button",className:`truss-estimator__visual-card${i.height===k?" is-selected":""}`,onClick:()=>o(j=>({...j,height:k})),children:(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--tall",src:Pt(`/fencing/height/${k}.webp`),alt:""})},k))}),(0,H.jsx)("div",{className:"truss-estimator__section-heading",children:"Gravel board?"}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No gravel board",img:"/fencing/no-gravel-board.webp"},{id:"yes",label:"Add gravel board",img:"/fencing/gravel-board.webp"}].map(k=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.gravelBoard===k.id?" is-selected":""}`,onClick:()=>o(j=>({...j,gravelBoard:k.id})),children:[(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:Pt(k.img),alt:""}),(0,H.jsx)("span",{children:k.label})]},k.id))})]}):null,u==="gate"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Do you need a gate?"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"A gate opening replaces part of the panel run and adds a gate kit with heavy-duty posts."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"none",label:"No gate",img:"/fencing/gates/no-gate.webp"},{id:"single",label:"Single gate",img:"/fencing/gates/single-gate.webp"}].map(k=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${i.gateType===k.id?" is-selected":""}`,onClick:()=>o(j=>({...j,gateType:k.id,gateWidthM:k.id==="none"?"":String(Ca.gate[k.id].widthDefault)})),children:[(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:Pt(k.img),alt:""}),(0,H.jsx)("span",{children:k.label})]},k.id))}),i.gateType&&i.gateType!=="none"?(0,H.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,H.jsx)("span",{children:"Gate width (m)"}),(0,H.jsx)("input",{type:"text",inputMode:"decimal",value:i.gateWidthM,onChange:k=>o(j=>({...j,gateWidthM:k.target.value}))})]}):null]}):null,u==="posts"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Posts and fixing type"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose how the posts will be set."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ca.mounting).map(([k,j])=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.mountingType===k?" is-selected":""}`,onClick:()=>o(O=>({...O,mountingType:k})),children:[(0,H.jsx)("div",{className:"truss-estimator__option-title",children:j.label}),(0,H.jsx)("div",{className:"truss-estimator__option-copy",children:j.blurb})]},k))})]}):null]}),(0,H.jsxs)("div",{className:"truss-estimator__nav",children:[(0,H.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:ue,children:"Back"}),(0,H.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:ge,disabled:!xe(),children:[(0,H.jsx)("span",{children:ee}),(0,H.jsx)("span",{className:"arrow",children:(0,H.jsx)(Lt,{})})]})]})]})]})})}var oc=Y($e()),ye=Y(ae()),vw={floor:{label:"Floor",product:"Knauf Acoustic Roll",thickness:"100mm",coverage:12.36,salesUnit:"roll"},wall:{label:"Cavity wall",product:"Celotex CW4100",thickness:"100mm",coverage:3.24,salesUnit:"pack"},roof:{label:"Pitched roof",product:"Kingspan K107",thickness:"100mm",coverage:8.64,salesUnit:"pack"},loft:{label:"Loft",product:"Knauf Loft Roll 44",thickness:"100mm",coverage:13.89,salesUnit:"roll"}};function Ed({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,oc.useState)("floor"),[i,o]=(0,oc.useState)(""),[l,c]=(0,oc.useState)(""),p=Number.parseFloat(i)*Number.parseFloat(l)||0,f=vw[r],b=Math.ceil(p/f.coverage),d=[{key:`insulation-${r}`,label:`${f.product} ${f.thickness}`,qty:b,unit:f.salesUnit,query:f.product,category:"insulation"}],h=Object.entries(vw);return(0,ye.jsx)(ye.Fragment,{children:(0,ye.jsxs)("div",{className:"truss-estimator",children:[(0,ye.jsxs)("div",{className:"quick-order-hero",children:[(0,ye.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ye.jsx)("h1",{children:"Insulation Calculator"}),(0,ye.jsx)("p",{children:"Estimate insulation coverage and pack quantities for floors, walls, roofs and lofts."})]}),(0,ye.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ye.jsx)("h2",{className:"truss-estimator__step-title",children:"Where and what you are insulating"}),(0,ye.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the application and product, and enter the area, for coverage and pack quantities."}),(0,ye.jsxs)("div",{className:"materials-calculator__section",children:[(0,ye.jsx)("div",{className:"truss-estimator__section-heading",children:"Application"}),(0,ye.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:h.map(([w,M])=>(0,ye.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===w?" is-selected":""}`,onClick:()=>n(w),children:[(0,ye.jsx)("div",{className:"truss-estimator__option-title",children:M.label}),(0,ye.jsxs)("div",{className:"truss-estimator__option-copy",children:[M.product,", ",M.thickness]})]},w))})]}),(0,ye.jsxs)("div",{className:"materials-calculator__section",children:[(0,ye.jsx)("div",{className:"truss-estimator__section-heading",children:"Area"}),(0,ye.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ye.jsxs)("label",{className:"truss-estimator__field",children:[(0,ye.jsx)("span",{children:"Length (m)"}),(0,ye.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:w=>o(w.target.value)})]}),(0,ye.jsxs)("label",{className:"truss-estimator__field",children:[(0,ye.jsx)("span",{children:"Width (m)"}),(0,ye.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:w=>c(w.target.value)})]})]})]}),(0,ye.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ye.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ye.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ye.jsxs)("div",{children:[(0,ye.jsx)("span",{children:"Insulated area"}),(0,ye.jsxs)("strong",{children:[p.toFixed(2)," m\xB2"]})]}),(0,ye.jsxs)("div",{children:[(0,ye.jsx)("span",{children:f.product}),(0,ye.jsxs)("strong",{children:[b," packs"]})]})]}),(0,ye.jsx)("p",{className:"materials-calculator__note",children:"This is a simple product choice, not thermal or Building Regulations advice. Confirm the specification before ordering."})]}),(0,ye.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ye.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ye.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(d),disabled:p<=0,children:a})]})]})]})})}var Hn=Y($e()),Z=Y(ae()),O_=10,L_=1.9*.762,H_=1.9*1.524,lc=()=>({height:"",width:""}),sc=e=>Number.parseFloat(e)||0,ww=({height:e,width:t})=>sc(e)*sc(t);function Md({onBack:e}){let[t,a]=(0,Hn.useState)([lc()]),[r,n]=(0,Hn.useState)([lc()]),[i,o]=(0,Hn.useState)("0"),[l,c]=(0,Hn.useState)("0"),[p,f]=(0,Hn.useState)(1),b=t.reduce((m,u)=>m+ww(u),0),d=r.reduce((m,u)=>m+ww(u),0),h=sc(i)*L_+sc(l)*H_,w=Math.max(0,b-d-h),M=w*p/O_,D=(m,u,g,v)=>{m(N=>N.map((A,T)=>T===u?{...A,[g]:v}:A))};return(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)("div",{className:"truss-estimator",children:[(0,Z.jsxs)("div",{className:"quick-order-hero",children:[(0,Z.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Z.jsx)("h1",{children:"Paint Calculator"}),(0,Z.jsx)("p",{children:"Estimate how much paint you need for your walls, including multiple coats and excluded areas."})]}),(0,Z.jsxs)("div",{className:"truss-estimator__card paint-calculator",children:[(0,Z.jsx)("h2",{className:"truss-estimator__step-title",children:"Walls, exclusions and coats"}),(0,Z.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each wall, subtract windows and doors, and choose your number of coats. Quantities assume a coverage of 10 m\xB2 per litre."}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Enter the height and width of each wall you want to paint."}),(0,Z.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,Z.jsx)("span",{}),(0,Z.jsx)("span",{children:"Height (m)"}),(0,Z.jsx)("span",{children:"Width (m)"}),(0,Z.jsx)("span",{})]}),t.map((m,u)=>(0,Z.jsxs)("div",{className:"paint-calculator__row",children:[(0,Z.jsxs)("span",{className:"paint-calculator__row-label",children:["Wall ",u+1]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,Z.jsx)("input",{"aria-label":`Wall ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:m.height,onChange:g=>D(a,u,"height",g.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,Z.jsx)("input",{"aria-label":`Wall ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:m.width,onChange:g=>D(a,u,"width",g.target.value)})]}),t.length>1?(0,Z.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>a(g=>g.filter((v,N)=>N!==u)),children:"Remove"}):null]},`wall-${u}`)),(0,Z.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>a(m=>[...m,lc()]),children:"+ Add another wall"})]}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Areas to exclude"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Add windows, sockets, skirting boards or other areas that will not be painted."}),(0,Z.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,Z.jsx)("span",{}),(0,Z.jsx)("span",{children:"Height (m)"}),(0,Z.jsx)("span",{children:"Width (m)"}),(0,Z.jsx)("span",{})]}),r.map((m,u)=>(0,Z.jsxs)("div",{className:"paint-calculator__row",children:[(0,Z.jsxs)("span",{className:"paint-calculator__row-label",children:["Area ",u+1]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,Z.jsx)("input",{"aria-label":`Area ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:m.height,onChange:g=>D(n,u,"height",g.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,Z.jsx)("input",{"aria-label":`Area ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:m.width,onChange:g=>D(n,u,"width",g.target.value)})]}),r.length>1?(0,Z.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>n(g=>g.filter((v,N)=>N!==u)),children:"Remove"}):null]},`excluded-${u}`)),(0,Z.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>n(m=>[...m,lc()]),children:"+ Add another area"})]}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Doors and coats"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Enter the number of standard single and double doors to leave unpainted. Door sizes are estimated automatically."}),(0,Z.jsxs)("div",{className:"truss-estimator__field-grid paint-calculator__small-fields",children:[(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Doors"}),(0,Z.jsx)("input",{type:"number",min:"0",step:"1",value:i,onChange:m=>o(m.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Double doors"}),(0,Z.jsx)("input",{type:"number",min:"0",step:"1",value:l,onChange:m=>c(m.target.value)})]})]}),(0,Z.jsxs)("div",{className:"paint-calculator__coat-field",children:[(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Most walls need 2 coats for an even finish. Use 3 coats when changing colour significantly or covering a darker wall."}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Number of coats"}),(0,Z.jsxs)("select",{value:p,onChange:m=>f(Number(m.target.value)),children:[(0,Z.jsx)("option",{value:"1",children:"1 coat"}),(0,Z.jsx)("option",{value:"2",children:"2 coats"}),(0,Z.jsx)("option",{value:"3",children:"3 coats"})]})]})]})]}),(0,Z.jsxs)("div",{className:"paint-calculator__totals",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,Z.jsxs)("div",{className:"paint-calculator__result-grid",children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Paintable area"}),(0,Z.jsxs)("strong",{children:[w.toFixed(2)," m\xB2"]})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Coverage"}),(0,Z.jsxs)("strong",{children:[p," ",p===1?"coat":"coats"]})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Paint required"}),(0,Z.jsxs)("strong",{children:[M.toFixed(1)," litres"]})]})]}),(0,Z.jsx)("p",{className:"paint-calculator__note",children:"Based on paint coverage of 10 m\xB2 per litre. Decorative paint is not currently stocked in this catalogue, so this remains an estimate only."})]}),(0,Z.jsxs)("div",{className:"paint-calculator__actions",children:[(0,Z.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,Z.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",disabled:!0,children:"Paint products unavailable"})]})]})]})})}var gr=Y($e()),re=Y(ae()),cc=e=>Number.parseFloat(e)||0,Td={paving:[{id:"council",label:"Council paving slab (600 \xD7 600mm)"},{id:"raj",label:"Raj blend sandstone (600 \xD7 600mm)"}],block:[{id:"brindle",label:"Brindle block paving (60mm)"},{id:"charcoal",label:"Charcoal block paving (60mm)"}],gravel:[{id:"pea",label:"20mm pea shingle"}]};function zd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,gr.useState)("paving"),[i,o]=(0,gr.useState)("council"),[l,c]=(0,gr.useState)(""),[p,f]=(0,gr.useState)(""),[b,d]=(0,gr.useState)("100"),[h,w]=(0,gr.useState)("50"),[M,D]=(0,gr.useState)(!0),[m,u]=(0,gr.useState)(!0),g=cc(l)*cc(p),v=g,N=g*(cc(b)/1e3),A=g*.04,T=g*(cc(h)/1e3),z=Math.ceil(v/.36),G=Math.ceil(v/.1),K=Math.ceil(N*1700/800),he=Math.ceil(A*1600/800),ze=Math.ceil(T*1600/800),Ve=r==="paving"?{qty:z,unit:"each"}:r==="block"?{qty:v,unit:"m2"}:{qty:ze,unit:"bag"},He={paving:"paving slab",block:"block paver",gravel:"decorative gravel"}[r],it=[{key:`surface-${i}`,label:Td[r].find(Q=>Q.id===i)?.label??"Surface material",qty:Ve.qty,unit:Ve.unit,query:He,category:"landscaping"},...M?[{key:"sub-base",label:"MOT Type 1 sub-base",qty:K,unit:"bag",query:"MOT Type 1 sub base",category:"aggregate"}]:[],...m?[{key:"bedding",label:"Sharp sand bedding",qty:he,unit:"bag",query:"sharp sand",category:"aggregate"}]:[]];return(0,re.jsx)(re.Fragment,{children:(0,re.jsxs)("div",{className:"truss-estimator",children:[(0,re.jsxs)("div",{className:"quick-order-hero",children:[(0,re.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,re.jsx)("h1",{children:"Paving & Driveway Calculator"}),(0,re.jsx)("p",{children:"Estimate paving, block paving, sub-base and bedding materials for outdoor areas."})]}),(0,re.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,re.jsx)("h2",{className:"truss-estimator__step-title",children:"Surface and ground build-up"}),(0,re.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the surface material and enter the area. Sub-base and bedding sand are estimated alongside the surface units."}),(0,re.jsxs)("div",{className:"materials-calculator__section",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Surface material"}),(0,re.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["paving","Paving slabs","For patios and paths"],["block","Block paving","For driveways and paths"],["gravel","Decorative gravel","For paths and landscaping"]].map(([Q,ce,Se])=>(0,re.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===Q?" is-selected":""}`,onClick:()=>{n(Q),o(Td[Q][0].id)},children:[(0,re.jsx)("div",{className:"truss-estimator__option-title",children:ce}),(0,re.jsx)("div",{className:"truss-estimator__option-copy",children:Se})]},Q))}),(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Finish"}),(0,re.jsx)("select",{value:i,onChange:Q=>o(Q.target.value),children:Td[r].map(Q=>(0,re.jsx)("option",{value:Q.id,children:Q.label},Q.id))})]})]}),(0,re.jsxs)("div",{className:"materials-calculator__section",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and groundwork"}),(0,re.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,re.jsxs)("label",{className:"truss-estimator__field",children:[(0,re.jsx)("span",{children:"Length (m)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:Q=>c(Q.target.value)})]}),(0,re.jsxs)("label",{className:"truss-estimator__field",children:[(0,re.jsx)("span",{children:"Width (m)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:Q=>f(Q.target.value)})]})]}),r==="gravel"&&(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Gravel depth (mm)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"10",value:h,onChange:Q=>w(Q.target.value)})]}),M&&(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Sub-base depth (mm)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"10",value:b,onChange:Q=>d(Q.target.value)})]}),(0,re.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,re.jsx)("input",{type:"checkbox",checked:M,onChange:Q=>D(Q.target.checked)}),(0,re.jsx)("span",{children:"Include MOT Type 1 sub-base"})]}),(0,re.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,re.jsx)("input",{type:"checkbox",checked:m,onChange:Q=>u(Q.target.checked)}),(0,re.jsx)("span",{children:"Include sharp sand bedding"})]})]}),(0,re.jsxs)("div",{className:"materials-calculator__totals",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,re.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"Surface area"}),(0,re.jsxs)("strong",{children:[g.toFixed(2)," m\xB2"]})]}),(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:r==="paving"?"Paving slabs":r==="block"?"Block paving":"Gravel"}),(0,re.jsx)("strong",{children:r==="paving"?`${z} slabs`:r==="block"?`${v.toFixed(2)} m\xB2`:`${ze} bulk bags`})]}),M&&(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"MOT Type 1"}),(0,re.jsxs)("strong",{children:[K," bulk bags"]})]}),m&&(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"Sharp sand"}),(0,re.jsxs)("strong",{children:[he," bulk bags"]})]})]}),(0,re.jsx)("p",{className:"materials-calculator__note",children:"Slab and block quantities use typical sizes. Confirm pack coverage and laying pattern before ordering."})]}),(0,re.jsxs)("div",{className:"materials-calculator__actions",children:[(0,re.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,re.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(it),disabled:g<=0,children:a})]})]})]})})}var il=Y($e()),ie=Y(ae()),j_=2.88,yw=[{id:"standard",label:"Standard wallboard",blurb:"General internal walls and ceilings"},{id:"moisture",label:"Moisture resistant",blurb:"Kitchens, bathrooms and utility rooms"},{id:"fire",label:"Fire resistant",blurb:"Where fire-rated lining is required"},{id:"sound",label:"Sound resistant",blurb:"Improved acoustic performance"}],_w=()=>({length:"",height:""}),Ad=e=>Number.parseFloat(e)||0;function Rd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,il.useState)([_w()]),[i,o]=(0,il.useState)(""),[l,c]=(0,il.useState)("standard"),[p,f]=(0,il.useState)("screws"),b=r.reduce((A,T)=>A+Ad(T.length)*Ad(T.height),0),d=Math.max(0,b-Ad(i)),h=Math.ceil(d/j_),w=Math.ceil(d*12),M=Math.ceil(w/1e3),D=Math.ceil(d*1.2),m=Math.ceil(D/90),u=Math.ceil(d/3.5),g=yw.find(A=>A.id===l)?.label??"Standard",v=[{key:"board",label:`${g} plasterboard`,qty:h,unit:"sheet",query:`${g} plasterboard`,category:"plasterboard"},...p==="screws"?[{key:"screws",label:"Drywall screws",qty:M,unit:"box",query:"drywall screws",category:"fixings"}]:[{key:"adhesive",label:"Board adhesive",qty:u,unit:"bag",query:"drywall board adhesive",category:"plasterboard"}],{key:"tape",label:"Joint tape",qty:m,unit:"roll",query:"plasterboard joint tape",category:"plasterboard"}],N=(A,T,z)=>{n(G=>G.map((K,he)=>he===A?{...K,[T]:z}:K))};return(0,ie.jsx)(ie.Fragment,{children:(0,ie.jsxs)("div",{className:"truss-estimator",children:[(0,ie.jsxs)("div",{className:"quick-order-hero",children:[(0,ie.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ie.jsx)("h1",{children:"Plasterboard & Drylining Calculator"}),(0,ie.jsx)("p",{children:"Estimate boards, fixings and jointing materials for walls and ceilings."})]}),(0,ie.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ie.jsx)("h2",{className:"truss-estimator__step-title",children:"Boards, fixings and jointing"}),(0,ie.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the surfaces you are lining and the board specification. Screws, tape and adhesive are estimated with the boards."}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Board type"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:yw.map(A=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${l===A.id?" is-selected":""}`,onClick:()=>c(A.id),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:A.label}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:A.blurb})]},A.id))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Fixing method"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["screws","Drywall screws","For timber or metal framing"],["adhesive","Board adhesive","For masonry dot-and-dab"]].map(([A,T,z])=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${p===A?" is-selected":""}`,onClick:()=>f(A),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:T}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:z})]},A))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall and ceiling areas"}),(0,ie.jsx)("p",{className:"materials-calculator__hint",children:"Add each surface separately so different wall sizes are easy to measure."}),(0,ie.jsxs)("div",{className:"materials-calculator__dimensions-header",children:[(0,ie.jsx)("span",{children:"Surface"}),(0,ie.jsx)("span",{children:"Length (m)"}),(0,ie.jsx)("span",{children:"Height (m)"}),(0,ie.jsx)("span",{})]}),r.map((A,T)=>(0,ie.jsxs)("div",{className:"materials-calculator__surface-row",children:[(0,ie.jsxs)("span",{children:["Surface ",T+1]}),(0,ie.jsx)("input",{"aria-label":`Surface ${T+1} length`,type:"number",min:"0",step:"0.01",value:A.length,onChange:z=>N(T,"length",z.target.value)}),(0,ie.jsx)("input",{"aria-label":`Surface ${T+1} height`,type:"number",min:"0",step:"0.01",value:A.height,onChange:z=>N(T,"height",z.target.value)}),r.length>1?(0,ie.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>n(z=>z.filter((G,K)=>K!==T)),children:"Remove"}):null]},`surface-${T}`)),(0,ie.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>n(A=>[...A,_w()]),children:"+ Add another surface"}),(0,ie.jsxs)("label",{className:"truss-estimator__field materials-calculator__openings",children:[(0,ie.jsxs)("span",{children:["Openings to deduct (m\xB2) ",(0,ie.jsx)("small",{children:"optional"})]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:A=>o(A.target.value)})]})]}),(0,ie.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ie.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Board area"}),(0,ie.jsxs)("strong",{children:[d.toFixed(2)," m\xB2"]})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"2.4 x 1.2 m boards"}),(0,ie.jsx)("strong",{children:h})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:p==="screws"?"Drywall screws":"Board adhesive"}),(0,ie.jsx)("strong",{children:p==="screws"?`${w} (${M} boxes)`:`${u} bags`})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Joint tape"}),(0,ie.jsxs)("strong",{children:[D," m (",m," rolls)"]})]})]}),(0,ie.jsx)("p",{className:"materials-calculator__note",children:"Figures are estimates. Confirm board specification, fixing patterns and fire or acoustic requirements before ordering."})]}),(0,ie.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ie.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ie.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(v),disabled:d<=0,children:a})]})]})]})})}var nl=Y($e());var y=Y(ae()),Tt={ranges:{standard:{label:"Standard Fink",blurb:"Classic W-shaped truss for standard pitched roofs."},attic:{label:"Attic",blurb:"Room-in-roof truss with usable attic space and clear span."},mono:{label:"Mono-pitch",blurb:"Single-slope truss for lean-to roofs and outbuildings."}},pitches:["15","20","22.5","25","30","35","40","45","50","55"],pitchMultipliers:{15:.95,20:.98,"22.5":1,25:1.02,30:1.05,35:1.1,40:1.18,45:1.27,50:1.38,55:1.52},overhang:{thresholdMM:300,surchargePerTruss:3.5},centresOptions:["400","600"],treatment:{treated:{label:"Treated (tanalised)",surchargePct:.08},untreated:{label:"Untreated",surchargePct:0}},estimate:{design:250,delivery:250,bracingPerMetre:6.5,girderMultiplier:1.8,ranges:{standard:{supplyAt8m:53.33,installPerTruss:30},attic:{supplyAt8m:128.35,installPerTruss:55},mono:{supplyAt8m:60,installPerTruss:38}}}},uc=["range","pitchAndDimensions","quantityAndGirders","bracing"],G_={range:null,pitch:null,spanMM:"",overhangMM:"",roofLengthM:"",centres:null,girderCount:0,bracing:null,treatment:null,contact:{name:"",email:""}};function Q_({degrees:e}){let a=e*Math.PI/180,n=82-Math.min(58,38*Math.tan(a));return(0,y.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,y.jsx)("line",{x1:"6",y1:"82",x2:"94",y2:"82",stroke:"var(--border)",strokeWidth:"2"}),(0,y.jsx)("polygon",{points:`12,82 88,82 50,${n}`,fill:"var(--accent-light)",stroke:"var(--accent)",strokeWidth:"3",strokeLinejoin:"round"})]})}function Y_({type:e}){let t="#b3835a",a="#5c3b22",r="#d9b48f",n="#d3d8de",i="#7c8494",o=(f,b,d,h,w=8,M)=>{let D=d-f,m=h-b,u=Math.hypot(D,m)||1,g=-m/u,v=D/u,N=w*.2;return(0,y.jsxs)("g",{children:[(0,y.jsx)("line",{x1:f,y1:b,x2:d,y2:h,stroke:a,strokeWidth:w+3,strokeLinecap:"square"}),(0,y.jsx)("line",{x1:f,y1:b,x2:d,y2:h,stroke:t,strokeWidth:w,strokeLinecap:"square"}),(0,y.jsx)("line",{x1:f-g*N,y1:b-v*N,x2:d-g*N,y2:h-v*N,stroke:r,strokeWidth:Math.max(1.5,w*.24),strokeLinecap:"round",opacity:"0.9"})]},M)},l=(f,b,d)=>(0,y.jsxs)("g",{children:[(0,y.jsx)("rect",{x:f-7.5,y:b-5.5,width:"15",height:"11",rx:"2",fill:n,stroke:i,strokeWidth:"1"}),(0,y.jsx)("circle",{cx:f-4,cy:b-2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f+4,cy:b-2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f-4,cy:b+2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f+4,cy:b+2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f,cy:b,r:"1",fill:i})]},d),c=(f,b)=>(0,y.jsx)("rect",{x:f-9,y:"110",width:"18",height:"10",fill:a},b),p=(0,y.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"});return e==="attic"?(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,26,8,"b1"),o(174,112,100,26,8,"b2"),o(26,112,174,112,8,"b3"),o(58,112,58,70,6,"b4"),o(142,112,142,70,6,"b5"),o(58,70,142,70,7,"b6"),(0,y.jsx)("rect",{x:"90",y:"82",width:"20",height:"24",fill:"#cfe3f2",stroke:a,strokeWidth:"2"}),(0,y.jsx)("line",{x1:"100",y1:"82",x2:"100",y2:"106",stroke:a,strokeWidth:"1.5"}),l(26,112,"p1"),l(174,112,"p2"),l(100,26,"p3"),l(58,112,"p4"),l(58,70,"p5"),l(142,112,"p6"),l(142,70,"p7")]}):e==="mono"?(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,174,26,8,"b1"),o(174,26,174,112,8,"b2"),o(26,112,174,112,8,"b3"),o(90,112,90,75,5,"b4"),o(90,75,132,112,5,"b5"),l(26,112,"p1"),l(174,26,"p2"),l(174,112,"p3"),l(90,112,"p4"),l(90,75,"p5"),l(132,112,"p6")]}):(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,34,8,"b1"),o(174,112,100,34,8,"b2"),o(26,112,174,112,8,"b3"),o(63,112,100,34,5,"b4"),o(137,112,100,34,5,"b5"),o(63,112,54,83,5,"b6"),o(137,112,146,83,5,"b7"),(0,y.jsx)("rect",{x:"96",y:"108",width:"8",height:"8",fill:a}),l(26,112,"p1"),l(174,112,"p2"),l(100,34,"p3"),l(63,112,"p4"),l(137,112,"p5"),l(54,83,"p6"),l(146,83,"p7")]})}function V_({enabled:e}){return(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[(0,y.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"}),(0,y.jsx)("rect",{x:"17",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,y.jsx)("rect",{x:"165",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),e?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("line",{x1:"45",y1:"112",x2:"140",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"}),(0,y.jsx)("line",{x1:"155",y1:"112",x2:"60",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"})]}):null,(0,y.jsx)("rect",{x:"18.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,y.jsx)("rect",{x:"166.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,y.jsx)("rect",{x:"92.5",y:"28.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"})]})}function xw({treated:e}){let t=e?"#5a7a4a":"var(--accent)";return(0,y.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,y.jsx)("rect",{x:"10",y:"22",width:"80",height:"14",rx:"2",fill:t}),(0,y.jsx)("rect",{x:"10",y:"43",width:"80",height:"14",rx:"2",fill:e?"#8faf7a":"var(--accent-light)"}),(0,y.jsx)("rect",{x:"10",y:"64",width:"80",height:"14",rx:"2",fill:t})]})}function Ud({onBack:e}){let[t,a]=(0,nl.useState)(0),[r,n]=(0,nl.useState)(G_),[i,o]=(0,nl.useState)(!1),[l,c]=(0,nl.useState)(!1),p=()=>{let m=Number.parseFloat(r.roofLengthM)||0,u=Number.parseFloat(r.centres??"");return m<=0||!u?0:Math.ceil(m*1e3/u)+1},b=(()=>{let m=r.range?Tt.ranges[r.range]:Tt.ranges.standard,u=r.pitch??"22.5",g=Tt.pitchMultipliers[u],v=(Number.parseFloat(r.spanMM)||0)/1e3,A=(Number.parseFloat(r.overhangMM)||0)>Tt.overhang.thresholdMM,T=p(),z=T+r.girderCount,G=Number.parseFloat(r.roofLengthM)||0,K=r.treatment?Tt.treatment[r.treatment]:Tt.treatment.untreated,he=Tt.estimate.ranges[r.range??"standard"],ze=he.supplyAt8m*Math.max(.7,v/8)*g*(1+K.surchargePct)+(A?Tt.overhang.surchargePerTruss:0),Ve=T*ze,He=r.girderCount*ze*Tt.estimate.girderMultiplier,it=r.bracing==="yes"?G*Tt.estimate.bracingPerMetre:0,pe=Ve+He+it+Tt.estimate.delivery,Q=Tt.estimate.design+T*he.installPerTruss+r.girderCount*40,ce=pe+Q,Se=ce*.2;return{range:m,count:T,girderCount:r.girderCount,overhangApplies:A,overhangUnits:z,roofLengthM:G,treatment:K,trussSupply:Ve,bracingMaterials:it,delivery:Tt.estimate.delivery,labour:Q,subtotal:ce,vat:Se,total:ce+Se}})(),d=()=>{let m=uc[t];return m==="range"?!!r.range:m==="pitchAndDimensions"?!!r.pitch&&r.spanMM.trim()!==""&&r.overhangMM.trim()!=="":m==="quantityAndGirders"?r.roofLengthM.trim()!==""&&!!r.centres:m==="bracing"?!!r.bracing&&!!r.treatment:!0},h=t===uc.length-1?"View truss request":"Next",w=()=>{i?o(!1):t===0?e():a(m=>m-1)},M=()=>{d()&&(t===uc.length-1?(c(!1),o(!0)):a(m=>m+1))},D=()=>{let m=uc[t];return m==="range"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 1 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your truss range"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Pricing shown is placeholder. Swap in your real engineering and pricing catalogue."}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--range",children:Object.entries(Tt.ranges).map(([u,g])=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r.range===u?" is-selected":""}`,onClick:()=>n(v=>({...v,range:u})),children:[(0,y.jsx)(Y_,{type:u}),(0,y.jsxs)("div",{className:"truss-estimator__option-info",children:[(0,y.jsx)("div",{className:"truss-estimator__option-title",children:g.label}),(0,y.jsx)("div",{className:"truss-estimator__option-copy",children:g.blurb})]})]},u))})]}):m==="pitchAndDimensions"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 2 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Span, overhang and roof pitch"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Span is wall-to-wall, overhang is the eaves tail beyond the wall line. Steeper pitches use more timber per truss."}),(0,y.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,y.jsxs)("label",{className:"truss-estimator__field",children:[(0,y.jsx)("span",{children:"Span (mm)"}),(0,y.jsx)("input",{type:"text",inputMode:"numeric",value:r.spanMM,onChange:u=>n(g=>({...g,spanMM:u.target.value}))})]}),(0,y.jsxs)("label",{className:"truss-estimator__field",children:[(0,y.jsx)("span",{children:"Overhang (mm)"}),(0,y.jsx)("input",{type:"text",inputMode:"numeric",value:r.overhangMM,onChange:u=>n(g=>({...g,overhangMM:u.target.value}))}),(0,y.jsxs)("small",{children:["Overhangs beyond ",Tt.overhang.thresholdMM,"mm add a small surcharge per truss."]})]})]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Roof pitch"}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:Tt.pitches.map(u=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${r.pitch===u?" is-selected":""}`,onClick:()=>n(g=>({...g,pitch:u})),children:[(0,y.jsx)(Q_,{degrees:Number.parseFloat(u)}),(0,y.jsxs)("span",{children:[u,"\xB0"]})]},u))})]}):m==="quantityAndGirders"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 3 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Roof length"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Trusses are based on designs at 400mm or 600mm centres wherever possible."}),(0,y.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,y.jsx)("span",{children:"Roof length (m)"}),(0,y.jsx)("input",{type:"text",inputMode:"decimal",value:r.roofLengthM,onChange:u=>n(g=>({...g,roofLengthM:u.target.value}))})]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Truss centres"}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--centres",children:Tt.centresOptions.map(u=>(0,y.jsx)("button",{type:"button",className:`truss-estimator__option-card truss-estimator__option-card--compact${r.centres===u?" is-selected":""}`,onClick:()=>n(g=>({...g,centres:u})),children:(0,y.jsxs)("div",{className:"truss-estimator__option-title",children:[u,"mm centres"]})},u))}),(0,y.jsxs)("div",{className:"truss-estimator__stat",children:[p()," trusses estimated"]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Girder trusses"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Heavy-duty girder trusses carry point loads over large openings. Set 0 if you do not need any."}),(0,y.jsxs)("div",{className:"truss-estimator__stepper",children:[(0,y.jsx)("button",{type:"button",onClick:()=>n(u=>({...u,girderCount:Math.max(0,u.girderCount-1)})),children:"\u2212"}),(0,y.jsx)("span",{children:r.girderCount}),(0,y.jsx)("button",{type:"button",onClick:()=>n(u=>({...u,girderCount:Math.min(3,u.girderCount+1)})),children:"+"})]})]}):m==="bracing"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 4 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Bracing pack?"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"A timber bracing pack stabilises the roof structure once trusses are erected."}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No bracing pack"},{id:"yes",label:"Add bracing pack"}].map(u=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.bracing===u.id?" is-selected":""}`,onClick:()=>n(g=>({...g,bracing:u.id})),children:[(0,y.jsx)(V_,{enabled:u.id==="yes"}),(0,y.jsx)("span",{children:u.label})]},u.id))}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber treatment"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Tanalised timber protects against rot in exposed or damp locations."}),(0,y.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="untreated"?" is-selected":""}`,onClick:()=>n(u=>({...u,treatment:"untreated"})),children:[(0,y.jsx)(xw,{treated:!1}),(0,y.jsx)("span",{children:"Untreated"})]}),(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="treated"?" is-selected":""}`,onClick:()=>n(u=>({...u,treatment:"treated"})),children:[(0,y.jsx)(xw,{treated:!0}),(0,y.jsx)("span",{children:"Treated (+8% cost)"}),(0,y.jsx)("small",{children:"Applies to trusses, girders and overhang"})]})]})]}):null};return i?(0,y.jsx)(y.Fragment,{children:(0,y.jsxs)("div",{className:"truss-estimator",children:[(0,y.jsxs)("div",{className:"quick-order-hero",children:[(0,y.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,y.jsx)("h1",{children:"Your truss estimate"}),(0,y.jsx)("p",{children:"A provisional quantity and specification based on the dimensions you entered."})]}),(0,y.jsxs)("div",{className:"truss-estimator__card truss-request",style:{minHeight:0},children:[(0,y.jsxs)("div",{className:"truss-request__heading",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Estimated requirement"}),(0,y.jsxs)("h2",{children:[b.range.label," roof trusses"]})]}),(0,y.jsxs)("strong",{children:[b.count,(0,y.jsx)("span",{children:"trusses"})]})]}),(0,y.jsxs)("div",{className:"truss-request__grid",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Span"}),(0,y.jsxs)("strong",{children:[r.spanMM," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Roof length"}),(0,y.jsxs)("strong",{children:[r.roofLengthM," m"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Pitch"}),(0,y.jsxs)("strong",{children:[r.pitch,"\xB0"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Centres"}),(0,y.jsxs)("strong",{children:[r.centres," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Overhang"}),(0,y.jsxs)("strong",{children:[r.overhangMM," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Treatment"}),(0,y.jsx)("strong",{children:b.treatment.label})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Girder trusses"}),(0,y.jsx)("strong",{children:b.girderCount||"None"})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Bracing pack"}),(0,y.jsx)("strong",{children:r.bracing==="yes"?"Included":"Not included"})]})]}),(0,y.jsxs)("div",{className:"truss-request__price",children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Indicative cost estimate"}),(0,y.jsxs)("div",{className:"truss-request__price-grid",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Truss supply allowance"}),(0,y.jsx)("strong",{children:nt(b.trussSupply)})]}),b.bracingMaterials>0&&(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Bracing materials allowance"}),(0,y.jsx)("strong",{children:nt(b.bracingMaterials)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Delivery allowance"}),(0,y.jsx)("strong",{children:nt(b.delivery)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Design and installation labour"}),(0,y.jsx)("strong",{children:nt(b.labour)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Subtotal (ex. VAT)"}),(0,y.jsx)("strong",{children:nt(b.subtotal)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"VAT (20%)"}),(0,y.jsx)("strong",{children:nt(b.vat)})]}),(0,y.jsxs)("div",{className:"truss-request__price-total",children:[(0,y.jsx)("span",{children:"Estimated total"}),(0,y.jsx)("strong",{children:nt(b.total)})]})]}),(0,y.jsx)("p",{children:"Trusses are not listed as fixed products in this catalogue, so supply, delivery and labour are benchmark allowances. Confirm the engineered design and final quote before ordering."})]}),(0,y.jsxs)("div",{className:"truss-request__notice",children:[(0,y.jsx)("strong",{children:"Before ordering"}),(0,y.jsx)("span",{children:"Roof trusses must be designed and signed off for the building. Confirm loading, bearings, wind bracing and final drawings with the truss manufacturer."})]}),(0,y.jsxs)("div",{className:"truss-estimator__nav",children:[(0,y.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:w,children:"Back to calculator"}),(0,y.jsx)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",justifyContent:"center",marginTop:0},onClick:()=>c(!0),children:"Request order"})]}),l&&(0,y.jsx)("p",{className:"truss-request__demo",children:"Demo only \u2014 no order has been sent."})]})]})}):(0,y.jsx)(y.Fragment,{children:(0,y.jsxs)("div",{className:"truss-estimator",children:[(0,y.jsxs)("div",{className:"quick-order-hero",children:[(0,y.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,y.jsx)("h1",{children:"Roof Truss Calculator"}),(0,y.jsx)("p",{children:"Estimate trusses, girders and cost for your roof in a few steps."})]}),(0,y.jsxs)("div",{className:"truss-estimator__card",children:[(0,y.jsx)("div",{className:"truss-estimator__body",children:D()}),(0,y.jsxs)("div",{className:"truss-estimator__nav",children:[(0,y.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:w,children:"Back"}),(0,y.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:M,disabled:!d(),children:[(0,y.jsx)("span",{children:h}),(0,y.jsx)("span",{className:"arrow",children:(0,y.jsx)(Lt,{})})]})]})]})]})})}var qi=Y($e()),F=Y(ae()),Sw=e=>Number.parseFloat(e)||0,pc=(e,t)=>Sw(e)*(t==="m"?1:.3048),kw=()=>({length:"",width:""}),Nw=[{id:"chamfered",label:"Chamfered",blurb:"Clean angled edge"},{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"}];function X_({profile:e}){return(0,F.jsxs)("svg",{className:"skirting-calculator__profile-diagram",viewBox:"0 0 120 84","aria-hidden":"true",children:[(0,F.jsx)("path",{d:{chamfered:"M16 70V43L43 16H104V70Z",ogee:"M16 70V47C16 36 27 31 40 31C40 21 50 16 63 16H104V70Z","pencil-round":"M16 70V37C16 25 25 16 37 16H104V70Z",torus:"M16 70V49C16 39 25 34 36 34C36 22 47 16 61 16H104V70Z"}[e]}),(0,F.jsx)("line",{x1:"12",y1:"70",x2:"108",y2:"70"})]})}function Dd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,qi.useState)("total"),[i,o]=(0,qi.useState)("m"),[l,c]=(0,qi.useState)(""),[p,f]=(0,qi.useState)([kw()]),[b,d]=(0,qi.useState)(""),[h,w]=(0,qi.useState)("chamfered"),M="4.2",D=r==="total"?pc(l,i):p.reduce((N,A)=>N+2*(pc(A.length,i)+pc(A.width,i)),0),m=Math.max(0,D-pc(b,i)),u=Math.ceil(m/Sw(M)),g=[{key:`skirting-${h}`,label:`${Nw.find(N=>N.id===h)?.label} skirting board`,qty:m,unit:"m",query:"skirting board",category:"skirting"}],v=(N,A,T)=>{f(z=>z.map((G,K)=>K===N?{...G,[A]:T}:G))};return(0,F.jsx)(F.Fragment,{children:(0,F.jsxs)("div",{className:"truss-estimator",children:[(0,F.jsxs)("div",{className:"quick-order-hero",children:[(0,F.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,F.jsx)("h1",{children:"Skirting Board Calculator"}),(0,F.jsx)("p",{children:"Work out how many skirting board lengths you need for one room or a whole project."})]}),(0,F.jsxs)("div",{className:"truss-estimator__card skirting-calculator",children:[(0,F.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure by room or total length"}),(0,F.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter a single total or work room by room. The run is converted straight into board lengths."}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"How would you like to measure?"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle skirting-calculator__mode-toggle",role:"group","aria-label":"Calculation method",children:[(0,F.jsx)("button",{type:"button",className:r==="total"?"is-selected":"",onClick:()=>n("total"),children:"Total length"}),(0,F.jsx)("button",{type:"button",className:r==="rooms"?"is-selected":"",onClick:()=>n("rooms"),children:"Room by room"})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Measurements"}),(0,F.jsxs)("div",{className:"skirting-calculator__unit-row",children:[(0,F.jsx)("span",{children:"Units"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,F.jsx)("button",{type:"button",className:i==="m"?"is-selected":"",onClick:()=>o("m"),children:"Metres"}),(0,F.jsx)("button",{type:"button",className:i==="ft"?"is-selected":"",onClick:()=>o("ft"),children:"Feet"})]})]}),r==="total"?(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Total skirting length (",i,")"]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:N=>c(N.target.value)})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)("div",{className:"skirting-calculator__dimensions-header",children:[(0,F.jsx)("span",{children:"Room"}),(0,F.jsxs)("span",{children:["Length (",i,")"]}),(0,F.jsxs)("span",{children:["Width (",i,")"]}),(0,F.jsx)("span",{})]}),p.map((N,A)=>(0,F.jsxs)("div",{className:"skirting-calculator__room-row",children:[(0,F.jsxs)("span",{className:"skirting-calculator__room-label",children:["Room ",A+1]}),(0,F.jsx)("input",{"aria-label":`Room ${A+1} length in ${i}`,type:"number",min:"0",step:"0.01",value:N.length,onChange:T=>v(A,"length",T.target.value)}),(0,F.jsx)("input",{"aria-label":`Room ${A+1} width in ${i}`,type:"number",min:"0",step:"0.01",value:N.width,onChange:T=>v(A,"width",T.target.value)}),p.length>1?(0,F.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>f(T=>T.filter((z,G)=>G!==A)),children:"Remove"}):null]},`room-${A}`)),(0,F.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>f(N=>[...N,kw()]),children:"+ Add another room"})]}),(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Openings and doorways to deduct (",i,") ",(0,F.jsx)("small",{children:"optional"})]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:b,onChange:N=>d(N.target.value)})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Profile"}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Choose the finish you want for the fixed 4.2m white-primed MDF boards."}),(0,F.jsx)("div",{className:"architrave-calculator__profiles",children:Nw.map(N=>(0,F.jsxs)("button",{type:"button",className:`truss-estimator__option-card${h===N.id?" is-selected":""}`,onClick:()=>w(N.id),children:[(0,F.jsx)(X_,{profile:N.id}),(0,F.jsx)("div",{className:"truss-estimator__option-title",children:N.label}),(0,F.jsx)("div",{className:"truss-estimator__option-copy",children:N.blurb})]},N.id))})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,F.jsx)("div",{className:"truss-estimator__field-grid skirting-calculator__options-grid",children:(0,F.jsxs)("label",{className:"truss-estimator__field",children:[(0,F.jsx)("span",{children:"Board length"}),(0,F.jsx)("input",{value:"4.20 m",disabled:!0})]})}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Longer boards can reduce the number of joins, while 10% waste allows for cuts, corners and mistakes."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__totals",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,F.jsxs)("div",{className:"skirting-calculator__result-grid",children:[(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Net skirting"}),(0,F.jsxs)("strong",{children:[m.toFixed(2)," m"]})]}),(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Board lengths"}),(0,F.jsx)("strong",{children:u})]})]}),(0,F.jsx)("p",{className:"skirting-calculator__note",children:"Corners and joins vary by room layout. Measure each wall where possible for the most accurate result."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__actions",children:[(0,F.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,F.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(g),disabled:m<=0,children:a})]})]})]})})}var jn=Y($e()),oe=Y(ae()),ol=e=>Number.parseFloat(e)||0;function Bd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,jn.useState)("studs"),[i,o]=(0,jn.useState)(""),[l,c]=(0,jn.useState)(""),[p,f]=(0,jn.useState)("600"),[b,d]=(0,jn.useState)("2.4"),h=i&&l&&p?Math.ceil(ol(l)/(ol(p)/1e3))+1:0,w=h*ol(i),M=ol(b)>0?Math.ceil(w/ol(b)):0,D=[{key:r,label:{studs:"Stud timber",joists:"Joist timber",battens:"Batten timber"}[r],qty:w,unit:"m",query:{studs:"cls studwork timber",joists:"timber joist",battens:"roofing batten"}[r],category:"timber"}],m={studs:["Stud wall","Vertical studs along a wall length"],joists:["Joists","Parallel joists across a floor or deck"],battens:["Battens","Regularly spaced battens for lining or cladding"]},g={studs:{member:"Wall height",overall:"Wall length",help:"Studs repeat across the wall length.",count:"Studs"},joists:{member:"Joist span",overall:"Overall width",help:"Joists repeat across the overall floor or deck width.",count:"Joists"},battens:{member:"Batten length",overall:"Overall width",help:"Battens repeat across the overall lining or cladding width.",count:"Battens"}}[r];return(0,oe.jsx)(oe.Fragment,{children:(0,oe.jsxs)("div",{className:"truss-estimator",children:[(0,oe.jsxs)("div",{className:"quick-order-hero",children:[(0,oe.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,oe.jsx)("h1",{children:"Timber Calculator"}),(0,oe.jsx)("p",{children:"Estimate studs, joists or battens from a run length, width and spacing."})]}),(0,oe.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,oe.jsx)("h2",{className:"truss-estimator__step-title",children:"Member size and spacing"}),(0,oe.jsxs)("p",{className:"truss-estimator__step-sub",children:[g.help," Enter the member length and centres to estimate the number of pieces and stock lengths."]}),(0,oe.jsxs)("div",{className:"materials-calculator__section",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber use"}),(0,oe.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:Object.keys(m).map(v=>(0,oe.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===v?" is-selected":""}`,onClick:()=>n(v),children:[(0,oe.jsx)("div",{className:"truss-estimator__option-title",children:m[v][0]}),(0,oe.jsx)("div",{className:"truss-estimator__option-copy",children:m[v][1]})]},v))})]}),(0,oe.jsxs)("div",{className:"materials-calculator__section",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Dimensions and spacing"}),(0,oe.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsxs)("span",{children:[g.member," (m)"]}),(0,oe.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:v=>o(v.target.value)})]}),(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsxs)("span",{children:[g.overall," (m)"]}),(0,oe.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:v=>c(v.target.value)})]})]}),(0,oe.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsx)("span",{children:"Centres (mm)"}),(0,oe.jsxs)("select",{value:p,onChange:v=>f(v.target.value),children:[(0,oe.jsx)("option",{value:"300",children:"300 mm"}),(0,oe.jsx)("option",{value:"400",children:"400 mm"}),(0,oe.jsx)("option",{value:"450",children:"450 mm"}),(0,oe.jsx)("option",{value:"600",children:"600 mm"})]})]}),(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsx)("span",{children:"Stock length (m)"}),(0,oe.jsxs)("select",{value:b,onChange:v=>d(v.target.value),children:[(0,oe.jsx)("option",{value:"2.4",children:"2.40 m"}),(0,oe.jsx)("option",{value:"3.6",children:"3.60 m"}),(0,oe.jsx)("option",{value:"4.8",children:"4.80 m"})]})]})]})]}),(0,oe.jsxs)("div",{className:"materials-calculator__totals",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,oe.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,oe.jsxs)("div",{children:[(0,oe.jsx)("span",{children:g.count}),(0,oe.jsx)("strong",{children:h})]}),(0,oe.jsxs)("div",{children:[(0,oe.jsx)("span",{children:"Linear metres"}),(0,oe.jsxs)("strong",{children:[w.toFixed(2)," m"]})]}),(0,oe.jsxs)("div",{children:[(0,oe.jsxs)("span",{children:[b," m lengths"]}),(0,oe.jsx)("strong",{children:M})]})]}),(0,oe.jsx)("p",{className:"materials-calculator__note",children:"Spacing is measured centre-to-centre. Add extra timber for plates, noggins, trimming and openings where required."})]}),(0,oe.jsxs)("div",{className:"materials-calculator__actions",children:[(0,oe.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,oe.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(D),disabled:w<=0,children:a})]})]})]})})}var Od=[{id:"truss",title:"Roof Truss Calculator",desc:"Estimate trusses, girders and roof structure costs.",imageUrl:"/tool-images/truss.webp",Component:Ud},{id:"fencing",title:"Fencing Calculator",desc:"Estimate fence panels, posts, gravel boards and fixings.",imageUrl:"/tool-images/fencing.webp",Component:qd},{id:"decking",title:"Decking Calculator",desc:"Estimate boards, substructure and fixing quantities.",imageUrl:"/tool-images/decking.webp",Component:Cd},{id:"brick-block",title:"Brick & Block Calculator",desc:"Estimate masonry units and ready-mixed mortar for a wall.",imageUrl:"/tool-images/brick-block.webp",Component:_d},{id:"paint",title:"Paint Calculator",desc:"Estimate paint for walls, doors and multiple coats.",imageUrl:"/tool-images/paint.webp",Component:Md},{id:"skirting",title:"Skirting Board Calculator",desc:"Estimate skirting lengths for rooms and wall runs.",imageUrl:"/tool-images/skirting.webp",Component:Dd},{id:"architrave",title:"Architrave Calculator",desc:"Estimate architrave lengths for door and window openings.",imageUrl:"/tool-images/architrave.webp",Component:yd},{id:"concrete-aggregate",title:"Concrete & Aggregate Calculator",desc:"Estimate concrete, MOT, sand and gravel quantities.",imageUrl:"/tool-images/concrete-aggregate.webp",Component:Nd},{id:"plasterboard",title:"Plasterboard Calculator",desc:"Estimate plasterboard sheets, screws, tape and adhesive.",imageUrl:"/tool-images/plasterboard.webp",Component:Rd},{id:"insulation",title:"Insulation Calculator",desc:"Estimate insulation packs for floors, walls, roofs and lofts.",imageUrl:"/tool-images/insulation.webp",Component:Ed},{id:"timber",title:"Timber Calculator",desc:"Estimate studs, joists and battens from spacing and lengths.",imageUrl:"/tool-images/timber.webp",Component:Bd},{id:"paving",title:"Paving & Driveway Calculator",desc:"Estimate paving, block paving, MOT and sharp sand.",imageUrl:"/tool-images/paving.webp",Component:zd}];var mc=Y($e());var Le=Y($e());var S=Y(ae()),$_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}],Ld={wasteFactorEnabled:!0},Z_=3e3,Cw=null;function dc(e,t){let a=Fo(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function K_(e){return e&&e.length>0?e.join(" x "):"-"}function Hd({toolId:e,requirements:t,ready:a,onBack:r,onTotalChange:n}){let i=Fs(),o=`${e}~${t.map(C=>`${C.key}|${C.query}|${C.category??""}|${C.qty}`).join("~")}`,l=o!==Cw,[c,p]=(0,Le.useState)(null),[f,b]=(0,Le.useState)([]),[d,h]=(0,Le.useState)(l),[w,M]=(0,Le.useState)(null),[D,m]=(0,Le.useState)("tile"),[u,g]=(0,Le.useState)(null),[v,N]=(0,Le.useState)(""),[A,T]=(0,Le.useState)(null),[z,G]=(0,Le.useState)(""),[K,he]=(0,Le.useState)([]),[ze,Ve]=(0,Le.useState)(new Set),[He,it]=(0,Le.useState)(null),[pe,Q]=(0,Le.useState)(""),[ce,Se]=(0,Le.useState)([]),xe=(0,Le.useRef)(null),ee=(0,Le.useRef)(!1),se=C=>`${e}:${C}`,Ne=C=>Kr(C.chosen,{lineId:se(C.requirement.key),description:C.requirement.label,unit:C.requirement.unit,qty:C.requirement.qty}),fe=(0,Le.useMemo)(()=>t.map(C=>`${C.key}|${C.query}|${C.category??""}`).join("~"),[t]);(0,Le.useEffect)(()=>{let C=!1;return mw().then(V=>{C||p(V.itemCount>0)}).catch(()=>{C||p(!1)}),()=>{C=!0}},[]),(0,Le.useEffect)(()=>{if(!a||!c)return;let C=!1,V;l&&h(!0),M(null);let X=Date.now();return(async()=>{let de=null;try{de=(await dw(t)).map(({requirement:dt,candidates:Ge})=>({requirement:dt,candidates:Ge,chosen:Ge[0]??null}))}catch(Ce){C||M(Ce instanceof Error?Ce.message:"Could not load products")}if(!C){if(Cw=o,l){let Ce=Z_-(Date.now()-X);Ce>0&&await new Promise(dt=>{V=window.setTimeout(dt,Ce)})}C||(de&&(b(de),!ee.current&&i&&(ee.current=!0,i.addManyToCart(de.filter(Ce=>Ce.chosen).map(Ne)))),h(!1))}})(),()=>{C=!0,window.clearTimeout(V)}},[a,c,fe]),(0,Le.useEffect)(()=>{if(!A)return;let C=z.trim();if(!C){he([]);return}let V=!1,X=window.setTimeout(()=>{Jr(C).then(de=>{V||he(de)}).catch(()=>{V||he([])})},250);return()=>{V=!0,window.clearTimeout(X)}},[A,z]),(0,Le.useEffect)(()=>{if(!He)return;let C=pe.trim();if(!C){Se([]);return}let V=!1,X=window.setTimeout(()=>{Jr(C).then(de=>{V||Se(de)}).catch(()=>{V||Se([])})},250);return()=>{V=!0,window.clearTimeout(X)}},[He,pe]);let Xe=(0,Le.useMemo)(()=>{let C=v.trim().toLowerCase(),V=C?f.filter(X=>X.requirement.label.toLowerCase().includes(C)||(X.chosen?.description??"").toLowerCase().includes(C)||(X.chosen?.product_id??"").toLowerCase().includes(C)):f;return u?[...V].sort((X,de)=>{let Ce=X.requirement.label.localeCompare(de.requirement.label);return u==="asc"?Ce:-Ce}):V},[f,v,u]),jt=Xe.filter(C=>C.chosen),zt=Xe.filter(C=>!C.chosen),tt=f.filter(C=>C.chosen),ct=tt.filter(C=>C.chosen?.price==null).length,je=tt.reduce((C,V)=>C+(Rt(Ne(V),Ld).lineTotal??0),0);if((0,Le.useEffect)(()=>{n?.(je)},[je,n]),!a||c===!1)return null;let E=i?tt.filter(C=>i.cart[se(C.requirement.key)]).length:0,x=He?f.find(C=>C.requirement.key===He)??null:null,I=pe.trim()?ce:x?.candidates??[],ue=C=>{let V=A===C.requirement.key;T(V?null:C.requirement.key),G(V?"":C.requirement.query)},ge=(C,V)=>{let X=f.find(de=>de.requirement.key===C);b(de=>de.map(Ce=>Ce.requirement.key===C?{...Ce,chosen:V}:Ce)),i&&X&&i.cart[se(C)]&&i.addToCart(Ne({...X,chosen:V})),T(null),G("")},ke=C=>{b(V=>V.map(X=>X.requirement.key===C?{...X,chosen:null}:X)),i?.cart[se(C)]&&i.removeFromCart(se(C))},k=C=>{it(C.requirement.key),Q(""),Se([])},j=()=>{it(null),Q(""),Se([])},O=C=>{if(!i)return;let V=se(C.requirement.key);i.cart[V]?i.removeFromCart(V):i.addToCart(Ne(C))},ne=C=>{Ve(V=>{let X=new Set(V);return X.has(C)?X.delete(C):X.add(C),X})},W=C=>{let V=K.length>0?K:C.candidates;return(0,S.jsxs)("div",{className:"estimator-products__picker",children:[(0,S.jsx)("input",{type:"text",className:"results-search-input",value:z,autoFocus:!0,placeholder:"Search products in catalogue...",onChange:X=>G(X.target.value),"aria-label":`Search a product for ${C.requirement.label}`}),(0,S.jsxs)("div",{className:"estimator-products__options",children:[V.map(X=>(0,S.jsxs)("button",{type:"button",className:`estimator-products__option${X.product_id===C.chosen?.product_id?" is-selected":""}`,onClick:()=>ge(C.requirement.key,X),children:[(0,S.jsx)("span",{children:X.description}),(0,S.jsxs)("span",{className:"results-row-meta",children:[X.product_id,X.price!=null&&` \xB7 ${nt(X.price)}`]})]},X.product_id)),V.length===0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No matching products."})]})]})};return(0,S.jsxs)("section",{className:"estimator-products results-tile-section","aria-label":"Matched products",children:[!d&&(0,S.jsxs)("div",{className:"estimator-products__head",children:[(0,S.jsxs)("div",{className:"results-tile-section__head",children:[(0,S.jsx)("h3",{children:"Matched Products"}),(0,S.jsx)("p",{children:"Products matched to your estimate, check before adding to your basket."})]}),!x&&(0,S.jsxs)("div",{className:"results-summary estimator-products__toolbar",children:[ct>0&&(0,S.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,S.jsx)("strong",{children:ct})," need pricing"]}),(0,S.jsxs)("div",{className:"estimator-products__controls",children:[(0,S.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:v,onChange:C=>N(C.target.value),"aria-label":"Search matched products"}),(0,S.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,S.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="tile"?" is-active":""}`,"aria-pressed":D==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>m("tile"),children:(0,S.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,S.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,S.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="list"?" is-active":""}`,"aria-pressed":D==="list","aria-label":"List view",title:"List view",onClick:()=>m("list"),children:(0,S.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,S.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,S.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,S.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),(0,S.jsxs)("details",{ref:xe,style:{position:"relative"},children:[(0,S.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort materials",style:{fontSize:16},children:"\u21C5"}),(0,S.jsx)("div",{className:"sort-menu-panel",children:$_.map(C=>{let V=u===C.dir;return(0,S.jsxs)("button",{type:"button",className:`sort-menu-item${V?" is-active":""}`,onClick:()=>{g(V?null:C.dir),xe.current?.removeAttribute("open")},children:[(0,S.jsx)("span",{className:"sort-menu-item__check",children:V?"\u2713":""}),C.label]},C.dir)})})]})]})]})]}),x&&(0,S.jsxs)("div",{className:"results-review-page",children:[(0,S.jsxs)("div",{className:"results-review-page__top",children:[(0,S.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:j,children:[(0,S.jsx)(Zr,{}),"Back to results"]}),(0,S.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,S.jsx)("div",{className:"results-review-searchbar",children:(0,S.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:pe,onChange:C=>Q(C.target.value),"aria-label":`Search a product for ${x.requirement.label}`})}),x.chosen&&(0,S.jsx)("div",{className:"results-candidate-actions",children:(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ke(x.requirement.key),children:"Clear selected product"})})]})]}),(0,S.jsxs)("div",{className:"results-review-page__hero",children:[(0,S.jsx)("div",{className:"results-review-page__image-wrap",children:(0,S.jsx)("img",{className:"fill-img results-review-page__image",src:Qa(x.chosen?.description||x.requirement.label,x.chosen?.product_id,x.chosen?.pdp_photo_url),alt:""})}),(0,S.jsxs)("div",{className:"results-review-page__summary",children:[(0,S.jsx)("h2",{children:x.requirement.label}),(0,S.jsxs)("p",{className:"results-review-page__meta",children:[_i(x.requirement.qty)," ",ka(x.requirement.unit,x.requirement.qty)]}),x.chosen?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("div",{className:"results-review-page__product",children:x.chosen.description}),(0,S.jsxs)("div",{className:"results-row-meta",children:[x.chosen.product_id,x.chosen.price!=null?` \xB7 ${dc(x.chosen.price,x.chosen.price_basis)}`:""]})]}):(0,S.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line."}),(0,S.jsx)("div",{className:"results-review-page__actions",children:(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${i?.cart[se(x.requirement.key)]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(x),disabled:!x.chosen||!i,children:i?.cart[se(x.requirement.key)]?"\u2713 Added":"+ Add to basket"})})]})]}),I.length===0?(0,S.jsx)("p",{className:"results-empty-hint",children:"No matching products."}):(0,S.jsxs)("table",{className:"score-breakdown-table",children:[(0,S.jsx)("thead",{children:(0,S.jsxs)("tr",{children:[(0,S.jsx)("th",{children:"Product"}),(0,S.jsx)("th",{children:"Dims (mm)"}),(0,S.jsx)("th",{children:"Price"}),(0,S.jsx)("th",{"aria-label":"Actions"})]})}),(0,S.jsx)("tbody",{children:I.map(C=>{let V=C.product_id===x.chosen?.product_id;return(0,S.jsxs)("tr",{className:V?"score-breakdown-row--best":"",children:[(0,S.jsxs)("td",{children:[(0,S.jsx)("div",{children:C.description}),(0,S.jsx)("div",{className:"results-row-meta",children:C.product_id})]}),(0,S.jsx)("td",{children:(0,S.jsx)("span",{className:"unit-badge",children:K_(C.measurements_mm)})}),(0,S.jsx)("td",{children:C.price!=null?dc(C.price,C.price_basis):"-"}),(0,S.jsx)("td",{children:(0,S.jsxs)("label",{className:"switch-toggle",title:V?"Currently selected":"Use this candidate",children:[(0,S.jsx)("input",{type:"checkbox",checked:V,onChange:()=>{V?ke(x.requirement.key):ge(x.requirement.key,C)},"aria-label":V?`${C.description} selected`:`Use ${C.description}`}),(0,S.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},C.product_id)})})]})]}),!x&&d&&(0,S.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{padding:"32px 24px"},children:[(0,S.jsx)(dr,{}),(0,S.jsx)("p",{className:"banter-message is-visible",style:{fontSize:15,minHeight:0},children:"Matching your materials against the catalogue\u2026"})]}),!x&&w&&(0,S.jsx)("p",{className:"results-empty-hint estimator-products__error",children:w}),!x&&!d&&!w&&Xe.length===0&&f.length>0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No materials match the current search."}),!x&&!d&&!w&&D==="tile"&&jt.length>0&&(0,S.jsx)("div",{className:"results-tile-grid",children:jt.map(C=>{let{requirement:V,chosen:X}=C,de=X?Rt(Ne(C),Ld):null,Ce=i?!!i.cart[se(V.key)]:!1;return(0,S.jsxs)("article",{className:"results-tile-card",children:[(0,S.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>k(C),"aria-label":`Review match for ${V.label}`,children:[(0,S.jsx)("div",{className:"results-tile-card__media",children:(0,S.jsx)("img",{className:"fill-img results-tile-card__image",src:Qa(X?.description||V.label,X?.product_id,X?.pdp_photo_url),alt:""})}),(0,S.jsxs)("div",{className:"results-tile-card__body",children:[X?(0,S.jsxs)("div",{className:"results-tile-card__heading",children:[(0,S.jsx)("div",{className:"results-tile-card__title",children:X.description}),(0,S.jsxs)("div",{className:"results-tile-card__match-meta",children:[(0,S.jsx)("span",{children:X.product_id}),X.price!=null?(0,S.jsx)("span",{children:dc(X.price,X.price_basis)}):null]})]}):(0,S.jsx)("div",{className:"results-empty-hint",children:"No product matched for this line."}),(0,S.jsxs)("div",{className:"results-tile-card__match",children:[(0,S.jsx)("div",{className:"results-tile-card__match-label",children:"\u21B3 calculated as"}),(0,S.jsx)("div",{className:"results-tile-card__match-name",children:V.label}),(0,S.jsxs)("div",{className:"results-tile-card__meta",children:[_i(V.qty)," ",ka(V.unit,V.qty)]}),de?.requiredSellUnits!=null?(0,S.jsxs)("div",{className:"results-tile-card__meta estimator-products__order",children:["Order ",de.requiredSellUnits," ",de.sellUnit,de.lineTotal!=null?` \xB7 ${nt(de.lineTotal)}`:""]}):X?(0,S.jsx)("div",{className:"results-row-meta",children:"Quantity needs review"}):null]})]})]}),(0,S.jsxs)("div",{className:"results-tile-card__actions",children:[(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>k(C),children:"Review"}),(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${Ce?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(C),disabled:!X||!i,children:Ce?"\u2713 Added":"+ Add"})]})]},V.key)})}),!x&&!d&&!w&&D==="list"&&jt.length>0&&(0,S.jsx)("div",{className:"bom-table-wrap",children:(0,S.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched materials",children:[(0,S.jsxs)("colgroup",{children:[(0,S.jsx)("col",{style:{width:"56px"}}),(0,S.jsx)("col",{className:"col-item"}),(0,S.jsx)("col",{style:{width:"90px"}}),(0,S.jsx)("col",{style:{width:"80px"}}),(0,S.jsx)("col",{style:{width:"220px"}}),(0,S.jsx)("col",{style:{width:"110px"}})]}),(0,S.jsx)("thead",{children:(0,S.jsxs)("tr",{className:"bom-col-header",children:[(0,S.jsx)("th",{"aria-label":"Expand"}),(0,S.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Qty"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Unit"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Basket"})]})}),(0,S.jsx)("tbody",{children:jt.map(C=>{let{requirement:V,chosen:X}=C,de=X?Rt(Ne(C),Ld):null,Ce=i?!!i.cart[se(V.key)]:!1,dt=ze.has(V.key);return(0,S.jsxs)(Le.Fragment,{children:[(0,S.jsxs)("tr",{className:"bom-row",children:[(0,S.jsx)("td",{className:"bom-actions",style:{textAlign:"center",paddingLeft:0,paddingRight:0},children:(0,S.jsx)("button",{type:"button",className:"link-btn",onClick:()=>ne(V.key),"aria-expanded":dt,"aria-label":dt?"Collapse product options":"Expand product options",children:dt?"\u25BE":"\u25B8"})}),(0,S.jsxs)("td",{style:{paddingLeft:0},children:[(0,S.jsx)("div",{className:"bom-component-name",children:V.label}),de?.requiredSellUnits!=null&&(0,S.jsxs)("div",{className:"results-row-meta",children:["Order ",de.requiredSellUnits," ",de.sellUnit,de.lineTotal!=null?` \xB7 ${nt(de.lineTotal)}`:""]})]}),(0,S.jsx)("td",{className:"bom-qty col-order",style:{textAlign:"center"},children:_i(V.qty)}),(0,S.jsx)("td",{style:{textAlign:"center"},children:ka(V.unit,V.qty)}),(0,S.jsx)("td",{style:{textAlign:"center"},children:X?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("div",{className:"bom-component-name",children:X.description}),(0,S.jsxs)("div",{className:"results-row-meta",children:[X.product_id,X.price!=null&&` \xB7 ${dc(X.price,X.price_basis)}`]})]}):(0,S.jsx)("span",{className:"results-empty-hint",children:"No match"})}),(0,S.jsx)("td",{style:{textAlign:"center"},children:(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${Ce?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(C),disabled:!X||!i,children:Ce?"\u2713 Added":"+ Add"})})]}),dt&&(0,S.jsx)("tr",{children:(0,S.jsx)("td",{colSpan:6,style:{paddingLeft:0,paddingRight:0},children:A===V.key?W(C):(0,S.jsxs)("div",{className:"estimator-products__picker",children:[(0,S.jsxs)("div",{className:"estimator-products__options",children:[C.candidates.map(Ge=>(0,S.jsxs)("button",{type:"button",className:`estimator-products__option${Ge.product_id===X?.product_id?" is-selected":""}`,onClick:()=>ge(V.key,Ge),children:[(0,S.jsx)("span",{children:Ge.description}),(0,S.jsxs)("span",{className:"results-row-meta",children:[Ge.product_id,Ge.price!=null&&` \xB7 ${nt(Ge.price)}`]})]},Ge.product_id)),C.candidates.length===0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No candidates found."})]}),(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ue(C),children:"Search the catalogue"})]})})})]},V.key)})})]})}),!x&&!d&&!w&&zt.length>0&&(0,S.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,S.jsxs)("div",{className:"results-tile-section__head",children:[(0,S.jsx)("h3",{children:"Require Matching"}),(0,S.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,S.jsx)("div",{className:"results-unmatched-list",children:zt.map(C=>(0,S.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>k(C),children:[(0,S.jsxs)("span",{className:"results-unmatched-card__main",children:[(0,S.jsx)("span",{className:"results-unmatched-card__title",children:C.requirement.label}),(0,S.jsxs)("span",{className:"results-row-meta",children:[_i(C.requirement.qty)," ",ka(C.requirement.unit,C.requirement.qty)]})]}),(0,S.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},C.requirement.key))})]}),!d&&!w&&f.length>0&&(0,S.jsxs)("div",{className:"disclaimer-box",style:{alignItems:"center"},children:[(0,S.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,S.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence."})]}),!x&&!d&&!w&&(r||E>0)&&(0,S.jsxs)("div",{className:"btn-row estimator-products__footer",children:[r&&(0,S.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:r,children:"Back"}),E>0&&i&&(0,S.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:r?"0 1 70%":1,marginTop:0},onClick:i.openBasket,children:[(0,S.jsxs)("span",{children:["View Basket (",E,")"]}),(0,S.jsx)("span",{className:"arrow",children:(0,S.jsx)(Lt,{})})]})]})]})}var Ht=Y(ae());function jd({toolId:e,toolTitle:t,requirements:a,onBack:r}){let[n,i]=(0,mc.useState)(0),o=(0,mc.useCallback)(l=>i(l),[]);return(0,Ht.jsx)(Ht.Fragment,{children:(0,Ht.jsxs)("div",{className:"truss-estimator",children:[(0,Ht.jsxs)("div",{className:"quick-order-hero",children:[(0,Ht.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Ht.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,Ht.jsx)("h1",{children:"Your Materials"}),n>0&&(0,Ht.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,Ht.jsx)("strong",{children:nt(n)})," Est. total"]})]}),(0,Ht.jsxs)("p",{children:["Quantities from the ",t,", matched against your merchant\u2019s catalogue."]})]}),(0,Ht.jsx)("div",{className:"truss-estimator__card",style:{minHeight:0},children:(0,Ht.jsx)(Hd,{toolId:e,requirements:a,ready:!0,onBack:r,onTotalChange:o})})]})})}var P_=(e,t)=>{let a=t.key,r={"brick-block":{"brick-common":"5001444","brick-engineering-red":"5002008","brick-engineering-blue":"5001439",block:"5003187",mortar:"6003088"},skirting:{"skirting-chamfered":"4006057","skirting-ogee":"4006045","skirting-pencil-round":"4006048","skirting-torus":"4006042"},architrave:{"architrave-ogee":"4006060","architrave-ovolo":"4006063","architrave-pencil-round":"4006061","architrave-square-edge":"4006062","architrave-torus":"4006059"},plasterboard:{board:"2001035",screws:"2006040",tape:"2007043",adhesive:"2004023"},insulation:{"insulation-floor":"3002110","insulation-wall":"3002012","insulation-roof":"3004047","insulation-loft":"3003046"},timber:{studs:"4001168",joists:"4001201",battens:"4001053"},fencing:{"panels-boundary-0.9":"4001268","panels-boundary-1.2":"4001269","panels-boundary-1.5":"4001270","panels-boundary-1.8":"4001271","panels-skyline-0.9":"4001264","panels-skyline-1.2":"4001265","panels-skyline-1.5":"4001266","panels-skyline-1.8":"4001267","concrete-intermediate-6":"4001290","concrete-intermediate-8":"4001291","concrete-end-6":"4001294","concrete-end-8":"4001295","timber-post-6":"4001242","timber-post-8":"4001243",postcrete:"6003008",gate:"4001630","gravel-boards":"4001284"},decking:{"boards-meridian":"4001251","boards-summit":"4001360",joists:"4001201",screws:"1001103"},paving:{"surface-council":"7003121","surface-raj":"7003003","surface-brindle":"4001621","surface-charcoal":"4001622","surface-pea":"6001004","sub-base":"6001007",bedding:"6001012"}};return e==="plasterboard"?{standard:"2001035",moisture:"2002039",fire:"2002087",sound:"2002044"}[t.label.split(" ")[0].toLowerCase()]??r[e]?.[a]??null:r[e]?.[a]??null};function qw(e,t){if(e==="paint"||e==="concrete-aggregate")return null;let a=t.map(r=>{let n=P_(e,r);return n?{key:r.key,productId:n,qty:r.qty,unit:r.unit}:null});return a.every(Boolean)?a:null}var Gd=Y($e());var Jt=Y(ae()),J_=1500;function Ew(e){let{addManyToCart:t,clearCart:a,openBasket:r}=An(),[n,i]=(0,Gd.useState)(!1),[o,l]=(0,Gd.useState)(null);return{adding:n,basketError:o,addToBasket:async(p,f)=>{let b=Date.now();i(!0),l(null);try{let d=await Promise.all(p.filter(w=>w.qty>0).map(async w=>{let M=(await Jr(w.productId)).find(D=>D.product_id===w.productId);if(!M)throw new Error("A selected product is no longer available in this catalogue.");return Kr(M,{lineId:`${e}:${w.key}`,description:M.description,unit:w.unit??"each",qty:w.qty,calculatorWasteIncluded:f})})),h=J_-(Date.now()-b);h>0&&await new Promise(w=>window.setTimeout(w,h)),a(),t(d),r()}catch(d){l(d instanceof Error?d.message:"Could not add the products to your basket.")}finally{i(!1)}}}}function Mw({toolTitle:e}){return(0,Jt.jsx)(Jt.Fragment,{children:(0,Jt.jsxs)("div",{className:"truss-estimator",children:[(0,Jt.jsxs)("div",{className:"quick-order-hero",children:[(0,Jt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Jt.jsx)("h1",{children:"Your Materials"}),(0,Jt.jsxs)("p",{children:["Calculating quantities from the ",e,"."]})]}),(0,Jt.jsx)("div",{className:"truss-estimator__card",children:(0,Jt.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,Jt.jsx)(dr,{}),(0,Jt.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})})}var Re=Y(ae());function fc(e){let[t,a]=(0,Va.useState)(!1);return(0,Re.jsx)(Js,{onOpenBasket:()=>a(!0),children:(0,Re.jsx)(F_,{...e,showBasket:t,onShowBasket:a})})}function F_({fullPage:e=!1,hideHeader:t=!1,internal:a=!1,showBasket:r,onShowBasket:n}){let[i,o]=(0,Va.useState)(null),[l,c]=(0,Va.useState)(null),p=Od.find(z=>z.id===i),{cart:f,updateCartQty:b,updateCartSellUnits:d,updateCartConversions:h,removeFromCart:w,clearCart:M}=An(),{adding:D,basketError:m,addToBasket:u}=Ew(p?.title??"calculator"),g=(0,Va.useRef)(null),v=Gs("estimating-tools",g);(0,Va.useEffect)(()=>{v("viewed")},[v]);let N=r?"basket":D?"adding":l?"review":i??"list",A=(0,Va.useRef)(N);(0,Va.useEffect)(()=>{A.current!==N&&(A.current=N,window.scrollTo(0,0))},[N]);let T=z=>{if(!p)return;v("estimate_completed",{calculator:p.id,lines:z.length});let G=qw(p.id,z);G?u(G,z[0]?.calculatorWasteIncluded??!1):c(z)};return(0,Re.jsx)(Zo.Provider,{value:v,children:(0,Re.jsx)("div",{ref:g,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}`,style:pr().theme,children:(0,Re.jsx)("main",{className:"main-content",children:r?(0,Re.jsx)(rl,{cart:f,onUpdateQty:b,onUpdateSellUnits:d,onResolveConversions:h,onRemove:w,onBack:()=>n(!1),onStartNewQuote:()=>{M(),o(null),c(null),n(!1)},internal:a}):D&&p?(0,Re.jsx)(Mw,{toolTitle:p.title}):p?(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsx)("div",{hidden:l!==null,children:(0,Re.jsx)(p.Component,{onBack:()=>o(null),onReview:T})}),m&&(0,Re.jsx)("p",{className:"results-empty-hint estimator-products__error",children:m}),l!==null&&(0,Re.jsx)(jd,{toolId:p.id,toolTitle:p.title,requirements:l,onBack:()=>c(null)})]}):(0,Re.jsx)(Re.Fragment,{children:(0,Re.jsxs)("div",{className:"quick-order-card",children:[(0,Re.jsxs)("div",{className:"quick-order-hero",children:[(0,Re.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,Re.jsx)("h1",{children:"Estimating Tools"}),(0,Re.jsx)("p",{children:"Trade-specific calculators for trusses, fencing, decking, masonry and painting. Dial in your specs and get an instant material estimate."})]}),(0,Re.jsxs)("div",{className:"quick-order-alt",children:[(0,Re.jsx)("div",{className:"quick-order-alt-title",children:"Choose a Calculator"}),(0,Re.jsx)("div",{className:"estimator-tools-grid",children:Od.map(z=>(0,Re.jsxs)("button",{type:"button",className:"estimator-tool-card",onClick:()=>{v("calculator_selected",{calculator:z.id}),o(z.id),c(null)},children:[(0,Re.jsx)("span",{className:"estimator-tool-card__image-wrap",children:(0,Re.jsx)("img",{className:"fill-img estimator-tool-card__image",src:Pt(z.imageUrl),alt:""})}),(0,Re.jsxs)("span",{className:"estimator-tool-card__content",children:[(0,Re.jsx)("span",{className:"estimator-tool-card__title",children:z.title}),(0,Re.jsx)("span",{className:"estimator-tool-card__desc",children:z.desc})]})]},z.id))})]})]})})})})})}var gc=Y(ae());function Qd({config:e,children:t}){return Zb(e),(0,gc.jsx)(gc.Fragment,{children:t})}var Yd=Y(ae()),I_="https://api.metronlabs.ai",W_=["client","api-key","api-url","theme","hide-header","analytics"],ex=["all","events-only","none"];function zw(e,t){var a;customElements.get(e)||customElements.define(e,(a=class extends HTMLElement{constructor(){super();this.root=null;this.attachShadow({mode:"open"})}connectedCallback(){if(this.dataset.version="0.1.34",!this.root){let n=document.createElement("div"),i=document.createElement("style");i.textContent=`:host { display: block; }
6798
+ `)}function Kr(e,t){return{lineId:t.lineId,description:e?.description||t.description||"(no description)",requestedDescription:t.description,productId:e?.product_id??"-",price:e?.price??null,priceBasis:e?.price_basis??null,unit:t.unit,uoi:e?.uoi??t.unit,uoiCount:e?.uoi_count??null,saleUnit:e?.conversion?.sale_unit??null,saleUnitQuantity:e?.conversion?.sale_unit_quantity??null,unitConversions:e?.conversion?.unit_conversions?.map(a=>({requestUom:a.request_uom,quantityPerSaleUnit:a.quantity_per_sale_unit,evidence:a.evidence,confidence:a.confidence})),pdpPhotoUrl:e?.pdp_photo_url??null,measurementsMm:e?.measurements_mm??[],conversionType:e?.conversion?.conversion_type??null,requestUomsSupported:e?.conversion?.request_uoms_supported??null,salesUomNormalised:e?.conversion?.sales_uom_normalised??null,salesUnitSize:e?.conversion?.sales_unit_size??null,salesUnitSizeUom:e?.conversion?.sales_unit_size_uom??null,coverageQty:e?.conversion?.coverage_qty??null,coverageUom:e?.conversion?.coverage_uom??null,itemsPerPallet:e?.conversion?.items_per_pallet??null,itemsPerPack:e?.conversion?.items_per_pack??null,itemsPerBox:e?.conversion?.items_per_box??null,itemsPerM2:e?.conversion?.items_per_m2??null,wasteFactorDefault:e?.conversion?.waste_factor_default??null,roundingRule:e?.conversion?.rounding_rule??null,derivedCoverageM2:e?.conversion?.derived_coverage_m2??null,derivedLengthM:e?.conversion?.derived_length_m??null,quoteQtyFormulaType:e?.conversion?.quote_qty_formula_type??null,conversionConfidence:e?.conversion?.conversion_confidence??null,conversionNotes:e?.conversion?.conversion_notes??null,calculatorWasteIncluded:t.calculatorWasteIncluded,qty:t.qty,linkedContext:t.linkedContext}}var Iv=e=>(e??"").trim().toLowerCase(),J1={sqm:"m2","sq m":"m2","m\xB2":"m2",cbm:"m3","cu m":"m3",lm:"m","lin m":"m",metre:"m",meter:"m",each:"each",ea:"each",nr:"each",no:"each",item:"each",unit:"each",units:"each",pc:"each",pcs:"each",board:"sheet",bags:"bag",length:"length",lengths:"length",pallet:"pallet",pallets:"pallet"},Zv=new Set(["sheet","length","box","bag","pack","roll","set","tub","each"]),Kv=new Set(["box","bag","pack","pallet","roll","set","tub"]),Pv=(e,t)=>t==="ml"?e:["l","litre","litres"].includes(t)?e*1e3:null,Jv=(e,t)=>t==="g"?e:["kg","kilogram","kilograms"].includes(t)?e*1e3:["t","tonne","tonnes"].includes(t)?e*1e6:null,xi=e=>{let t=Iv(e);return J1[t]??t},pt=(e,t)=>{let a=xi(e),r=xi(t);return a.length>0&&a===r},F1=(e,t)=>{let a=Iv(t);return a?a.includes("round_up_1000")?Math.ceil(e):a.includes("allow_decimal")?Math.round(e*1e3)/1e3:a.includes("round_up")?Math.ceil(e):e:e},I1=e=>(e??"").split(",").map(t=>xi(t)).filter(Boolean),W1=(e,t)=>{let a=I1(e.requestUomsSupported);return!!(a.length===0||a.includes(t)||pt(t,"pallet")&&e.itemsPerPallet!=null&&e.itemsPerPallet>0||pt(t,"pack")&&e.itemsPerPack!=null&&e.itemsPerPack>0||pt(t,"box")&&e.itemsPerBox!=null&&e.itemsPerBox>0)},Fv=(e,t)=>pt(t,"pallet")?e.itemsPerPallet??null:pt(t,"pack")?e.itemsPerPack??null:pt(t,"box")?e.itemsPerBox??null:null,e_=(e,t,a)=>{if(!pt(t,"m2"))return null;let r=e.description.match(/(\d+(?:[.,]\d+)?)\s*(m2|m²|sqm|sq\.?\s*m)\s*(?:\/|per)\s*([a-z]+)/i);if(!r||!pt(r[3],a))return null;let n=Number.parseFloat(r[1].replace(",","."));return Number.isFinite(n)&&n>0?n:null};function Zs(e,t){return e.reduce((a,r)=>a+(Ut(r,t).lineTotal??0),0)}function Ut(e,t){let a=e.qty,r=xi(e.saleUnit??e.salesUnitSizeUom??e.uoi??e.salesUomNormalised)||"-",n=xi(e.unit)||(a>0&&Zv.has(r)?r:"-"),i=e.saleUnitQuantity??e.salesUnitSize??e.uoiCount??1,o=t?.wasteFactorEnabled===!1?0:t?.wasteFactorOverride??e.wasteFactorOverride??e.wasteFactorDefault??0,l=e.sellUnitsOverride!=null&&Number.isFinite(e.sellUnitsOverride)&&e.sellUnitsOverride>0,c=l?e.sellUnitsOverride??null:null,p=v=>({requestedAmount:a,requestedUnit:n,salesUnitSize:e.salesUnitSize??e.uoiCount??null,sellUnit:r,calculatedSellUnits:null,requiredSellUnits:c,unitPrice:e.price,lineTotal:e.price!=null&&c!=null?e.price*c:null,calculation:c!=null?`${v} Manually set to ${c} ${r}.`:v,costingMode:"review"});if(!W1(e,n))return p("Requested unit is not supported by this catalogue conversion.");let f=null,b="review",d=e.roundingRule,h=`Quantity review required, initial request needed ${a} ${n}.`,w=1+o,E=e_(e,n,r),D=e.unitConversions?.find(v=>pt(v.requestUom,n));if(!!e.saleUnit&&(pt(n,r)||!!D||pt(n,"each")&&!Kv.has(r)))if(pt(n,r))f=a*w/i,b="direct",h=`${a} ${n}${o>0?` x ${w}`:""}`;else if(D){f=a*w/D.quantityPerSaleUnit,b="derived";let v=1/D.quantityPerSaleUnit,N=Math.round(v);h=pt(r,"each")&&D.quantityPerSaleUnit<1&&Math.abs(v-N)<1e-9?`${a} ${n}${o>0?` x ${w}`:""} x ${N} per ${n}`:`${a} ${n}${o>0?` x ${w}`:""} / ${D.quantityPerSaleUnit} ${n} per ${r}`}else pt(n,"each")&&!Kv.has(r)&&(f=a*w/i,b="derived",h=`${a} ${r}${o>0?` x ${w}`:""}`);else if(pt(n,r)&&i>0)f=a*w/i,b="direct",h=o>0?`${a} ${n} x ${w} / ${i} ${r} per sell unit`:`${a} ${n} / ${i} ${r} per sell unit`;else if(pt(n,"each")&&i>0&&Zv.has(r))f=a*w/i,b="derived",h=o>0?`${a} each x ${w} / ${i} each per ${r}`:`${a} each / ${i} each per ${r}`;else if(Fv(e,n)!=null&&i>0){let v=Fv(e,n)??0;f=a*v*w/i,b="derived";let N=`${a} ${n} x ${v} each${o>0?` x ${w}`:""}`;h=i===1&&pt(r,"each")?N:`${N} / ${i} each per ${r}`}else if(E!=null)f=a*w/E,b="derived",d??(d="round_up_each"),h=`${a} m2 x ${w} / ${E} m2 per ${r} (from product description)`;else if(e.conversionType==="basket_line_unit")i>0&&(f=a*w/i,b="derived",h=`${a} ${n}${o>0?` x ${w}`:""} / ${i} ${n} per ${r}`);else{if(e.conversionType==="count_only")return p(`Quantity review required, initial request needed ${a} ${n}.`);if(["area_from_dims","explicit_coverage_area","roll_area"].includes(e.conversionType??"")){let v=e.coverageQty??e.derivedCoverageM2??null;pt(n,"m2")&&v!=null&&v>0&&(f=a*w/v,b="derived",h=`${a} m2 x ${w} / ${v} m2 per ${r}`)}else if(e.conversionType==="count_per_area"){let v=e.coverageQty??null;pt(n,"m2")&&v!=null&&v>0?(f=a/v,b="derived",h=`${a} m2 / ${v} m2 per sell unit`):pt(n,"m2")&&e.itemsPerM2!=null&&e.itemsPerM2>0&&i>0&&(f=a*e.itemsPerM2*w/i,b="derived",h=`${a} m2 x ${e.itemsPerM2} ${r}/m2 x ${w} / ${i}`)}else if(e.conversionType==="length_from_dims"){let v=e.coverageQty??e.derivedLengthM??null;pt(n,"m")&&v!=null&&v>0&&(f=a*w/v,b="derived",h=`${a} m x ${w} / ${v} m per ${r}`)}else if(e.conversionType==="volume_from_description"){let v=Pv(a,n),N=Pv(e.coverageQty??0,xi(e.coverageUom));v!=null&&N!=null&&N>0&&(f=v*w/N,b="derived",h=`${a} ${n} x ${w} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="weight_from_description"){let v=Jv(a,n),N=Jv(e.coverageQty??0,xi(e.coverageUom));v!=null&&N!=null&&N>0&&(f=v*w/N,b="derived",h=`${a} ${n} x ${w} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="same_unit_volume"){let v=e.coverageQty??null;pt(n,"m3")&&v!=null&&v>0&&(f=a/v,b="derived",h=`${a} m3 / ${v} m3 per ${r}`)}}if(f==null||!Number.isFinite(f)||f<0)return p(`Quantity review required, initial request needed ${a} ${n}.`);let u=F1(f,d),g=l?e.sellUnitsOverride??null:u;return{requestedAmount:a,requestedUnit:n,salesUnitSize:i,sellUnit:r,calculatedSellUnits:u,requiredSellUnits:g,unitPrice:e.price,lineTotal:e.price!=null&&g!=null?e.price*g:null,calculation:l?`${h} = ${u} ${r} (manually set to ${g})`:`${h} = ${g} ${r}`,costingMode:b}}var Wv=()=>import("./xlsx-K4MOA2QM.js"),Wo=["Source Line ID","Split Line ID","Description","Section","Qty","Unit","Procurement intent","Procurement aliases","Build-up type","Layer count","Total thickness (mm)","Installation clues","System clues","Component requirements","Technical classification","Include in quote","Approval required","Approval type","Missing information","Adjudicator confidence","Decision reason","Selected candidate ID","Selected candidate description","Price basis","Price","Line total","Confidence","Status"],t_=Wo.indexOf("Line total");function a_(e){return e.unmatchable?"Not matched (labour/plant/referential)":e.decision?.include_in_quote===!0&&e.decision.approval_required===!0?"Approval required":e.decision?.include_in_quote===!0?"Quoted":e.decision?.technical_classification==="no_suitable_candidate"?"No suitable candidate":(e.best,"No match")}async function ew(e){let t=await Wv(),a=t.utils.book_new(),r=new Date().toISOString().slice(0,10),n=[Wo],i=0;for(let c of e){let{item:p,best:f,qty:b,band:d,unmatchable:h,decision:w}=c,E=[p.section,p.subsection,p.subheading].filter(Boolean).join(" / "),D=!h&&f?.price!=null?f.price*b:null;D!=null&&(i+=D),n.push([p.source_line_id,p.line_id,p.description_original||"(no description)",E,b,p.unit,p.procurement_intent||"-",p.procurement_aliases.join(", "),p.build_up_type,p.layer_count,p.total_required_thickness_mm,p.installation_clues.join(", "),p.system_clues.join(", "),p.component_requirements.join(", "),w?.technical_classification??"",w?.include_in_quote==null?"":w.include_in_quote?"yes":"no",w?.approval_required==null?"":w.approval_required?"yes":"no",w?.approval_type??"",w?.missing_information.join(", ")??"",w?.confidence??"",w?.reason??"",h?"-":f?.product_id??w?.selected_candidate_id??"-",h?"-":f?.description??"-",h?"-":f?.price_basis??"-",h?null:f?.price??null,D,h?"-":d,a_(c)])}n.push(Array(Wo.length).fill(null));let o=Array(Wo.length).fill(null);o[0]="Estimated total",o[t_]=i,n.push(o),n.push(["DISCLAIMER: These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence.",...Array(Wo.length-1).fill(null)]);let l=t.utils.aoa_to_sheet(n);l["!cols"]=[{wch:12},{wch:12},{wch:44},{wch:24},{wch:8},{wch:8},{wch:28},{wch:28},{wch:16},{wch:10},{wch:12},{wch:24},{wch:24},{wch:24},{wch:22},{wch:14},{wch:14},{wch:18},{wch:24},{wch:16},{wch:48},{wch:16},{wch:40},{wch:10},{wch:10},{wch:12},{wch:11},{wch:26}],t.utils.book_append_sheet(a,l,"Schedule match"),t.writeFile(a,`schedule-quote-${r}.xlsx`)}var Io=["Product ID","Description","Costing mode","Required amount","Req unit","Sell unit size","Sell unit","Required sell units","Unit price","Line total"];async function tw(e,t){let a=await Wv(),r=a.utils.book_new(),n=new Date().toISOString().slice(0,10),i=t?[["Account",t.name+" ("+t.id+")"],[],Io]:[Io],o=0;for(let p of e){let f=Ut(p),b=f.lineTotal;b!=null&&(o+=b),i.push([p.productId,p.description,f.costingMode,f.requestedAmount,xa(f.requestedUnit),f.salesUnitSize,xa(f.sellUnit),f.requiredSellUnits,f.unitPrice,b])}i.push(Array(Io.length).fill(null));let l=Array(Io.length).fill(null);l[0]="Estimated total",l[Io.length-1]=o,i.push(l);let c=a.utils.aoa_to_sheet(i);c["!cols"]=[{wch:14},{wch:48},{wch:12},{wch:14},{wch:10},{wch:14},{wch:10},{wch:16},{wch:12},{wch:14}],a.utils.book_append_sheet(r,c,"Basket"),a.writeFile(r,t?`basket-${t.id}-${n}.xlsx`:`basket-${n}.xlsx`)}var s=Y(ae()),gd="__none__",el=24,r_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}];function nw(e){return e==null?"low":e>=.7?"high":e>=.5?"medium":"low"}var i_=e=>e.attrs.supply_nature==="labour_only"||e.attrs.supply_nature==="plant"||e.flags.includes("referential");function n_(e,t){if(t!==gd){if(t)return e?.candidates.find(a=>a.product_id===t);if(e?.decision?.selected_candidate_id!=null)return e.candidates.find(a=>a.product_id===e.decision.selected_candidate_id)}}function aw(e){return{product_id:e.productId,description:e.description,source_list:null,price:e.price,price_basis:e.priceBasis,uoi_count:e.uoiCount??null,uoi:e.uoi,pdp_photo_url:e.pdpPhotoUrl??null,measurements_mm:e.measurementsMm??[],conversion:{sale_unit:e.saleUnit,sale_unit_quantity:e.saleUnitQuantity,unit_conversions:e.unitConversions?.map(t=>({request_uom:t.requestUom,quantity_per_sale_unit:t.quantityPerSaleUnit,evidence:t.evidence,confidence:t.confidence})),sales_uom_normalised:e.salesUomNormalised,conversion_type:e.conversionType,request_uoms_supported:e.requestUomsSupported,sales_unit_size:e.salesUnitSize,sales_unit_size_uom:e.salesUnitSizeUom,coverage_qty:e.coverageQty,coverage_uom:e.coverageUom,items_per_pallet:e.itemsPerPallet,items_per_pack:e.itemsPerPack,items_per_box:e.itemsPerBox,items_per_m2:e.itemsPerM2,waste_factor_default:e.wasteFactorDefault,rounding_rule:e.roundingRule,derived_coverage_m2:e.derivedCoverageM2,derived_length_m:e.derivedLengthM,quote_qty_formula_type:e.quoteQtyFormulaType,conversion_confidence:e.conversionConfidence,conversion_notes:e.conversionNotes},scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"manual_cart_selection"}}function o_(e){return e?e.replace(/_/g," "):"not stated"}function l_({band:e}){return(0,s.jsx)("span",{className:`status-dot status-dot--${e}`,title:e,children:(0,s.jsx)("span",{className:"status-dot__mark"})})}function Tn(e,t){if(e==null)return"-";let a=Fo(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function hd(e){return e&&e.length>0?e.join(" x "):"-"}function s_(e){return e==null?"-":Number.isInteger(e/1e3)?`${e/1e3}m`:`${(e/1e3).toFixed(1)}m`}function Mn(e){let t=(e??[]).map(a=>a.trim()).filter(Boolean);return t.length>0?t.join(", "):"-"}function Pr(e,t){let a=typeof e.description_original=="string"?e.description_original.trim():"";return(typeof e.customer_display_label=="string"?e.customer_display_label.trim():"")||a||"(no description)"}var rw=[{background:"#fff7ed",borderColor:"#fdba74",color:"#9a3412"},{background:"#eff6ff",borderColor:"#93c5fd",color:"#1d4ed8"},{background:"#ecfeff",borderColor:"#67e8f9",color:"#0f766e"},{background:"#f0fdf4",borderColor:"#86efac",color:"#166534"},{background:"#fdf4ff",borderColor:"#f0abfc",color:"#a21caf"}];function c_(e){let t=new Map;return[...new Set(e.filter(mr).map(r=>r.linked_group_id))].forEach((r,n)=>{let i=n%26;t.set(r,{token:String.fromCharCode(65+i),bubbleStyle:rw[n%rw.length]})}),t}function mr(e){return!1}function zn(e){if(!e.linked_group_id)return null;let t=e.linked_group_label||"Linked group",a=e.linked_group_role==="anchor"?"anchor":e.linked_group_role==="dependent"?"dependent":"member",r=e.linked_group_shared_width_mm!=null?`, ${e.linked_group_shared_width_mm}mm family`:"";return`${t} (${a}${r})`}function fd({meta:e}){return e?(0,s.jsx)("span",{className:"results-linked-pill",style:e.bubbleStyle,children:`Link ${e.token}`}):null}function u_(e,t,a){let r=t?.rerank?.recommendedCandidateIds??[];if(r.length===0){let o=e.slice(0,5),l=o.some(c=>c.product_id===a)?void 0:e.find(c=>c.product_id===a);return l?[...o,l]:o}let n=new Map(e.map(o=>[o.product_id,o])),i=r.map(o=>n.get(o)).filter(o=>o!=null);if(a&&!i.some(o=>o.product_id===a)){let o=n.get(a);o&&i.unshift(o)}return[...new Map(i.map(o=>[o.product_id,o])).values()].slice(0,5)}function Ks(e){let t=e?.rerank?.recommendedCandidateIds??[];if(t.length===0||!e)return[];let a=new Map(e.candidates.map(r=>[r.product_id,r]));return t.map(r=>a.get(r)).filter(r=>r!=null)}function Ps(e){if(e>=6e4){let t=Math.floor(e/6e4),a=Math.round(e%6e4/1e3);return a===60?`${t+1}m`:`${t}m ${a}s`}return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${e}ms`}function p_({processStages:e,llmCalls:t,totalDurationMs:a,llmDurationMs:r,llmCallCount:n}){let i=[...t].sort((l,c)=>c.durationMs-l.durationMs).slice(0,12),o=Math.max(0,t.length-i.length);return(0,s.jsxs)("div",{className:"results-detail-block",style:{marginBottom:18},children:[(0,s.jsx)("h3",{style:{margin:"0 0 12px"},children:"Pipeline timings"}),(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:12},children:[(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ps(a)})," total"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:n})," LLM calls"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ps(r)})," LLM time"]})]}),(0,s.jsxs)("table",{className:"score-breakdown-table",style:{marginBottom:14},children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Process stage"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:e.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ps(l.durationMs)})]},`${l.key}-${c}`))})]}),t.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{style:{margin:"0 0 10px"},children:"LLM calls"}),(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Call"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:i.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ps(l.durationMs)})]},`${l.key}-${c}`))})]}),o>0&&(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Showing slowest ",i.length," of ",t.length," LLM calls."]})]})]})}function d_({queries:e}){return e.length===0?null:(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Retrieval by procurement query"}),e.map((t,a)=>(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsxs)("div",{className:"results-row-meta",style:{marginBottom:6},children:["Query: ",(0,s.jsx)("strong",{children:t.query})]}),t.candidates.length===0?(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates returned for this query."}):(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Unit"}),(0,s.jsx)("th",{children:"bm25"})]})}),(0,s.jsx)("tbody",{children:t.candidates.slice(0,5).map((r,n)=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:r.description}),(0,s.jsx)("div",{className:"results-row-meta",children:r.product_id})]}),(0,s.jsx)("td",{children:hd(r.measurements_mm)}),(0,s.jsx)("td",{children:Fo(r.price_basis)||"-"}),(0,s.jsx)("td",{children:r.bm25.toFixed(2)})]},`${r.product_id}-${n}`))})]})]},`${t.query}-${a}`))]})}function iw({item:e,result:t}){let a=t?.retrieval_debug.map(n=>n.query).filter(Boolean)??[],r=[["Procurement intent",e.procurement_intent||"-"],["Procurement aliases",Mn(e.procurement_aliases)],["Retrieval queries",Mn(a)],["Category",e.attrs.category||"-"],["Fine category",e.attrs.category_fine||"-"],["Brand",e.attrs.brand||"-"],["Material",e.attrs.material||"-"],["Grade / standard",e.attrs.grade_standard||"-"],["Treatment",e.attrs.treatment||"-"],["Supply nature",e.attrs.supply_nature||"-"],["Measurements (mm)",hd(e.attrs.measurements_mm)],["Stock length",s_(e.attrs.stock_length_mm)],["Matching mode",e.matching_mode||"-"],["Build-up type",e.build_up_type||"-"],["Layer count",e.layer_count!=null?String(e.layer_count):"-"],["Required thickness (mm)",e.total_required_thickness_mm!=null?String(e.total_required_thickness_mm):"-"],["Allowed layer thicknesses (mm)",e.acceptable_layer_thicknesses_mm.length>0?e.acceptable_layer_thicknesses_mm.join(", "):"-"],["Installation clues",Mn(e.installation_clues)],["System clues",Mn(e.system_clues)],["Component requirements",Mn(e.component_requirements)],["Linked group",zn(e)||"-"],["Flags",Mn(e.flags)]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Search context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:r.map(([n,i])=>(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:n}),(0,s.jsx)("dd",{children:i})]},n))})]})}function m_({item:e}){let t=e.decomposition_debug;return t?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Decomposition"}),(0,s.jsxs)("dl",{className:"results-detail-grid",children:[(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Attempted"}),(0,s.jsx)("dd",{children:t.attempted?"yes":"no"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Applied"}),(0,s.jsx)("dd",{children:t.applied?"yes":"no"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned items"}),(0,s.jsx)("dd",{children:t.returned_item_count??"-"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Reason"}),(0,s.jsx)("dd",{children:t.reason||"-"})]}),(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned intents"}),(0,s.jsx)("dd",{children:t.items.length>0?t.items.map(a=>`${a.intent}${a.inherits_quantity?" (inherits qty)":""}`).join(", "):"-"})]})]})]}):null}function f_({result:e}){let t=e?.adjudication_debug;if(!t)return null;let a=[["Dependent rerank applied",t.dependent_rerank_applied?"yes":"no"],["Linked parent selected product",t.linked_parent_selected_candidate_description||t.linked_parent_selected_candidate_id||"-"],["Dimension reason overridden",t.dimension_reason_overridden?"yes":"no"]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Adjudication context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:a.map(([r,n])=>(0,s.jsxs)(_e.Fragment,{children:[(0,s.jsx)("dt",{children:r}),(0,s.jsx)("dd",{children:n})]},r))}),t.rerank_line_item_input?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h5",{style:{margin:"12px 0 8px"},children:"Rerank input"}),(0,s.jsx)("pre",{className:"results-pre",children:JSON.stringify(t.rerank_line_item_input,null,2)})]}):null]})}function g_({item:e,decision:t,result:a,showRetrievalDebug:r,reviewOnly:n=!1,linkedGroupMeta:i}){if(!t)return null;let o=t.technical_classification==="no_suitable_candidate"?"Exact match not found:":`AI review (${t.confidence??"confidence not stated"}):`;return n?t.reason?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",i?`Link ${i.token} - `:"",zn(e)]}):null]}):null:!t.reason&&!r?(0,s.jsx)(iw,{item:e,result:a}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(iw,{item:e,result:a}),r&&(0,s.jsx)(m_,{item:e}),r&&(0,s.jsx)(f_,{result:a}),t.reason&&(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",i?`Link ${i.token} - `:"",zn(e)]}):null]}),r&&(0,s.jsx)(d_,{queries:a?.retrieval_debug??[]})]})}function h_({item:e,candidates:t,result:a,decision:r,unmatchable:n,selectedProductId:i,detailMode:o,onPick:l,onClear:c,showAll:p=!1,internal:f=!1,debugEnabled:b=!1,forceReviewNote:d=!1,linkedGroupMeta:h}){let w=f||o==="detailed",E=b&&o==="detailed",D=w||d?(0,s.jsx)(g_,{item:e,decision:r,result:a,showRetrievalDebug:E,reviewOnly:d&&!w,linkedGroupMeta:h}):null;if(n)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"Classified as labour/plant or referencing another line item - skipped by design."})]});if(t.length===0)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates were returned for this line item."})]});let m=p||f||o==="detailed"?t:u_(t,a,i);return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Price"}),E&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{children:"dimension"}),(0,s.jsx)("th",{children:"grade"}),(0,s.jsx)("th",{children:"brand"}),(0,s.jsx)("th",{children:"fuzzy"}),(0,s.jsx)("th",{children:"bm25"}),(0,s.jsx)("th",{children:"overall"})]}),(0,s.jsx)("th",{"aria-label":"Actions"})]})}),(0,s.jsx)("tbody",{children:m.map((u,g)=>{let v=u.product_id===i;return(0,s.jsxs)("tr",{className:v?"score-breakdown-row--best":"",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:u.description}),(0,s.jsx)("div",{className:"results-row-meta",children:u.product_id})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"unit-badge",children:hd(u.measurements_mm??u.debug?.candidate.measurements_mm)})}),(0,s.jsx)("td",{children:Tn(u.price,u.price_basis)}),E&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:(u.scores?.dimension??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.grade??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.brand??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.fuzzy??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.bm25??0).toFixed(2)}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,s.jsx)(l_,{band:nw(u.scores?.overall)}),(0,s.jsx)("span",{className:"results-overall-cell",children:(u.scores?.overall??0).toFixed(2)})]})})]}),(0,s.jsx)("td",{children:(0,s.jsxs)("label",{className:"switch-toggle",title:v?"Currently selected":"Use this candidate",children:[(0,s.jsx)("input",{type:"checkbox",checked:v,onChange:()=>{v?c?.():l(u)},"aria-label":v?`${u.description} selected`:`Use ${u.description}`}),(0,s.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},`${u.product_id}-${g}`)})})]})]})}function bd({scheduleResult:e,onStartOver:t,cart:a,onAddToCart:r,onRemoveFromCart:n,onGoToBasket:i,cartSeeded:o,onCartSeeded:l,reviewGateComplete:c,onReviewGateComplete:p,internal:f=!1}){let b=!f&&Qs()==="QZA6-MRA4",d=b?"quote":"basket",{results:h,lineItems:w,parseReport:E,timings:D}=e,[m,u]=(0,_e.useState)({}),g=Cn(),[v,N]=(0,_e.useState)({}),[R,T]=(0,_e.useState)({}),[z,G]=(0,_e.useState)(""),[K,xe]=(0,_e.useState)(null),[Ee,Ge]=(0,_e.useState)(1),[Qe,Ie]=(0,_e.useState)(!1);(0,_e.useEffect)(()=>{Ie(new URLSearchParams(window.location.search).get("debug")==="1")},[]);let[ue,Q]=(0,_e.useState)("simple"),[se,Ne]=(0,_e.useState)(f?"list":"tile"),[lt,Ye]=(0,_e.useState)(!1),[ge,We]=(0,_e.useState)(null),[he,W]=(0,_e.useState)(""),[Re,Be]=(0,_e.useState)([]),[ye,et]=(0,_e.useState)(!1),[Ze,M]=(0,_e.useState)(null),[x,A]=(0,_e.useState)(!1),[I,ce]=(0,_e.useState)(null),me=(0,_e.useRef)(null),[ke,k]=(0,_e.useState)(new Set),[j,O]=(0,_e.useState)(new Set),[ne,ee]=(0,_e.useState)(!1);(0,_e.useEffect)(()=>{Ge(1)},[z,K,se]);let C=new Map(h.map(_=>[_.line_id,_])),V=c_(w),X=w.map(_=>{let L=C.get(_.line_id),ve=L?.decision,gt=i_(_),Je=m[_.line_id],Wt=n_(L,Je),zi=a[_.line_id],jw=Je===gd?void 0:v[_.line_id]??(zi&&zi.productId!==Wt?.product_id?aw(zi):Wt),tm=gt?void 0:jw,Gw=_.qty??0;return{item:_,result:L,decision:ve,unmatchable:gt,best:tm,qty:Gw,band:nw(tm?.scores?.overall)}}),pe=Zs(Object.values(a),{wasteFactorEnabled:!1,wasteFactorOverride:0}),Se=0;for(let _ of X){if(_.unmatchable||_.decision?.include_in_quote!==!0||!_.best)continue;let L=a[_.item.line_id];(!L||Ut(L).lineTotal==null)&&(Se+=1)}Se>0&&(pe=null);let ft=_=>!_.unmatchable&&!_.best&&_.decision?.technical_classification!=="no_suitable_candidate"&&Ks(_.result).length>0,Ve=_=>_.best??Ks(_.result)[0],Ir=X.filter(_=>!_.unmatchable&&!_.best).filter(_=>!j.has(_.item.line_id)),ll=X.filter(_=>j.has(_.item.line_id)),Ea=X;if(z.trim()){let _=z.trim().toLowerCase();Ea=Ea.filter(L=>L.item.description_original?.toLowerCase().includes(_)||Ve(L)?.description?.toLowerCase().includes(_))}if(K){let _=K==="asc"?1:-1;Ea=[...Ea].sort((L,ve)=>_*(L.item.description_original||"").localeCompare(ve.item.description_original||""))}let hr=Math.max(1,Math.ceil(Ea.length/el)),Ft=Math.min(Ee,hr),It=Ea.slice((Ft-1)*el,Ft*el),Xd=It.filter(_=>!_.unmatchable&&_.best),$d=It.filter(_=>ft(_)),hc=It.filter(_=>!_.unmatchable&&(_.best||ft(_))),Zd=It.filter(_=>_.unmatchable||!_.best&&!ft(_)),J=ge?X.find(_=>_.item.line_id===ge)??null:null,Rw=!f&&!c&&!J&&Ir.length>0,Gn=(0,_e.useRef)(null),Qn=()=>{let _=me.current;if(!_)return;let{top:L,left:ve,width:gt,height:Je}=_.getBoundingClientRect(),zi=_.querySelector(".bom-toolbar-btn")?.closest("td")?.getBoundingClientRect().left;ce({top:L,left:ve,width:zi?zi-ve:gt,height:Je})};(0,_e.useEffect)(()=>(window.addEventListener("scroll",Qn,!0),window.addEventListener("resize",Qn),()=>{window.removeEventListener("scroll",Qn,!0),window.removeEventListener("resize",Qn)})),(0,_e.useEffect)(()=>{let _=L=>{Gn.current&&!L.composedPath().includes(Gn.current)&&Gn.current.removeAttribute("open")};return document.addEventListener("click",_),()=>document.removeEventListener("click",_)},[]);let Ei=_=>{We(_),W("")},Uw=()=>{if(!ge)return;let _=a[ge];if(_){u(L=>({...L,[ge]:_.productId})),N(L=>({...L,[ge]:aw(_)}));return}u(L=>{let ve={...L};return delete ve[ge],ve}),N(L=>{let ve={...L};return delete ve[ge],ve})},br=(_=!1)=>{let L=ge?a[ge]:void 0;!_&&L&&J?.best&&L.productId!==J.best.product_id&&!window.confirm("You have selected a new product. Leave without updating it?")||(_||Uw(),We(null),ee(!1))},Dw=_=>{if(k(L=>new Set(L).add(_)),Ir.some(L=>L.item.line_id!==_)){br(!0);return}p(),br(!0)},Bw=_=>{if(bc(_),O(L=>new Set(L).add(_)),Ir.some(L=>L.item.line_id!==_)){br(!0);return}p(),br(!0)},Ow=()=>{O(_=>new Set([..._,...Ir.map(L=>L.item.line_id)])),p()},Kd=()=>{J?.best&&(Jd(J.item.line_id,J.best),r(Mi(J)),ne?Dw(J.item.line_id):br(!0))},Pd=Zd.length>0?(0,s.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,s.jsxs)("div",{className:"results-tile-section__head",children:[(0,s.jsx)("h3",{children:"Require Matching"}),(0,s.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,s.jsx)("div",{className:"results-unmatched-list",children:Zd.map(_=>{let{item:L,qty:ve}=_;return(0,s.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>Ei(L.line_id),children:[(0,s.jsx)("span",{className:"results-unmatched-card__main",children:(0,s.jsx)("span",{className:"results-unmatched-card__title",children:Pr(L,w)})}),(0,s.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},L.line_id)})})]}):null,bc=_=>{u(L=>({...L,[_]:gd})),N(L=>({...L,[_]:void 0})),T(L=>({...L,[_]:void 0})),n(_)},vc=(_,L)=>{u(ve=>({...ve,[_]:L.product_id})),N(ve=>({...ve,[_]:L}))},Jd=(_,L)=>{L.method==="catalogue_search"&&T(ve=>({...ve,[_]:L}))};function ix(){g("downloaded",{type:"schedule",lines:X.length}),ew(X.map(({item:_,best:L,qty:ve,band:gt,unmatchable:Je,decision:Wt})=>({item:_,best:L,qty:ve,band:gt,unmatchable:Je,decision:Wt})))}function Mi(_){let L=_.best??Ks(_.result)[0];return Kr(L,{lineId:_.item.line_id,description:_.item.description_original,unit:_.item.unit,qty:_.qty,linkedContext:_.item.linked_group_role==="dependent"&&_.item.linked_group_id?w.filter(ve=>ve.linked_group_id===_.item.linked_group_id&&ve.linked_group_role==="anchor").slice(0,1).map(ve=>{let gt=a[ve.line_id];return{line_id:ve.line_id,product_id:gt?.productId??null,measurements_mm:gt?.measurementsMm??ve.attrs.measurements_mm,description:gt?.description??ve.description_original,qty:ve.qty,unit:ve.unit,role:"anchor"}}):void 0})}(0,_e.useEffect)(()=>{if(!o){for(let _ of X)!_.unmatchable&&_.best&&r(Mi(_));l()}},[o]),(0,_e.useEffect)(()=>{for(let _ of X)!a[_.item.line_id]&&!_.unmatchable&&_.best&&r(Mi(_))},[e]),(0,_e.useEffect)(()=>{if(!ge){Be([]),M(null),et(!1);return}let _=he.trim();if(!_){Be([]),M(null),et(!1);return}let L=!1,ve=window.setTimeout(async()=>{try{et(!0),M(null);let gt=await fetch(Lt(`/api/catalogue/search?q=${encodeURIComponent(_)}`),{headers:wi()}),Je=await Kt(gt);if(!gt.ok)throw new Error(Je?.error||Je?.message||"Failed to search catalogue");L||Be(Array.isArray(Je?.items)?Je.items:[])}catch(gt){L||(Be([]),M(gt?.message||"Failed to search catalogue"))}finally{L||et(!1)}},250);return()=>{L=!0,window.clearTimeout(ve)}},[he,ge]);let wc=Object.keys(a).length,Ma=he.trim(),Fd=Ks(J?.result),sl=J?.decision?.technical_classification==="no_suitable_candidate"||!!J&&!J.best,Id=J?.decision?.technical_classification!=null,Wd=J?.decision?.reason??(sl?"No catalogue candidate found. Refine the request or search the catalogue.":null),Lw=Re.map(_=>({product_id:_.product_id,description:_.description,source_list:_.source_list,price:_.price,price_basis:_.price_basis,uoi_count:_.uoi_count??null,uoi:_.uoi,pdp_photo_url:_.pdp_photo_url??null,conversion:_.conversion,measurements_mm:_.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"catalogue_search"})),Yn=Ma?Lw:Fd,Ti=J?R[J.item.line_id]:void 0,Vn=!Ma&&Ti&&!Yn.some(_=>_.product_id===Ti.product_id)?[...Yn,Ti]:Yn,em=(()=>{let _=Vn.slice(0,Ma?12:3);return Ma||!Ti||_.some(L=>L.product_id===Ti.product_id)?_:[..._,Ti]})(),cl=!!J?.best&&a[J.item.line_id]?.productId===J.best.product_id,Hw=!!J?.best&&!!a[J.item.line_id]&&!cl;return(0,s.jsxs)("div",{className:"wizard-step entry-stage",children:[(0,s.jsxs)("div",{className:`quick-order-card${f?"":" quick-order-card--customer"}`,children:[(0,s.jsx)("div",{className:`quick-order-hero${f?"":" quick-order-hero--customer"}`,children:f?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,s.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,s.jsx)("h1",{children:"Your Results"}),(0,s.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,s.jsx)("strong",{children:pe==null?"Calculating\u2026":st(pe)})," Est. total"]})]}),(0,s.jsx)("p",{children:"Each line item from your schedule matched against your catalogue, ranked by confidence."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{children:"Review your matched products"}),(0,s.jsxs)("p",{children:["Check you're happy with these items, then click ",b?"View Quote":"View Basket"," to continue."]})]}),(0,s.jsxs)("button",{type:"button",className:"results-total-action",onClick:i,"aria-label":b?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[(0,s.jsx)("small",{children:b?"View Quote":"View Basket"}),(0,s.jsx)("strong",{children:pe==null?"Calculating\u2026":st(pe)})]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Ht,{})})]})]})}),(0,s.jsxs)("div",{className:"quick-order-panel",style:{paddingTop:16},children:[Qe&&(0,s.jsx)("div",{className:"results-summary",style:{marginBottom:12},children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn","aria-pressed":lt,onClick:()=>Ye(_=>!_),children:lt?"Hide timings":"Show timings"})}),Qe&&lt&&(0,s.jsx)(p_,{...D}),!b&&(0,s.jsx)("div",{className:"results-toolbar-row",children:!J&&(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:0},children:[Se>0&&(0,s.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,s.jsx)("strong",{children:Se})," need pricing"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:z,onChange:_=>G(_.target.value),"aria-label":"Search line items"}),!f&&(0,s.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${se==="tile"?" is-active":""}`,"aria-pressed":se==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>Ne("tile"),children:(0,s.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,s.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${se==="list"?" is-active":""}`,"aria-pressed":se==="list","aria-label":"List view",title:"List view",onClick:()=>Ne("list"),children:(0,s.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),Qe&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Q(_=>_==="simple"?"detailed":"simple"),children:ue==="detailed"?"Hide detailed view":"Show detailed view"}),(0,s.jsxs)("details",{ref:Gn,style:{position:"relative"},children:[(0,s.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort line items",style:{fontSize:16},children:"\u21C5"}),(0,s.jsx)("div",{className:"sort-menu-panel",children:r_.map(_=>{let L=K===_.dir;return(0,s.jsxs)("button",{type:"button",className:`sort-menu-item${L?" is-active":""}`,onClick:()=>{xe(L?null:_.dir),Gn.current?.removeAttribute("open")},children:[(0,s.jsx)("span",{className:"sort-menu-item__check",children:L?"\u2713":""}),_.label]},_.dir)})})]})]})]})}),se==="tile"||J?(0,s.jsxs)(s.Fragment,{children:[J?(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-label":"Product options",onClick:()=>br(),children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal results-review-modal",onClick:_=>_.stopPropagation(),children:[(0,s.jsx)("button",{type:"button",className:"quick-order-workflow-close results-review-modal__close",onClick:()=>br(),"aria-label":"Close product options",children:(0,s.jsx)(Ko,{})}),(0,s.jsx)("div",{className:"results-review-page",children:f?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"results-review-page__top",children:[(0,s.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:()=>br(),children:[(0,s.jsx)(Zr,{}),"Back to results"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[Qe&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Q(_=>_==="simple"?"detailed":"simple"),children:ue==="detailed"?"Hide detailed info":"Show detailed info"}),(0,s.jsx)("div",{className:"results-review-searchbar",children:(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:he,onChange:_=>W(_.target.value),"aria-label":"Search database candidates"})}),(0,s.jsx)("div",{className:"results-candidate-actions",children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>bc(J.item.line_id),children:"Clear selected product"})})]})]}),(0,s.jsxs)("div",{className:"results-review-page__hero",children:[(0,s.jsx)("div",{className:"results-review-page__image-wrap",children:(0,s.jsx)("img",{className:"fill-img results-review-page__image",src:Qa(Ve(J)?.description||J.item.description_original,Ve(J)?.product_id,Ve(J)?.pdp_photo_url),alt:""})}),(0,s.jsxs)("div",{className:"results-review-page__summary",children:[(0,s.jsx)("h2",{children:Pr(J.item,w)}),(0,s.jsxs)("p",{className:"results-review-page__meta",children:[_i(J.qty)," ",ka(J.item.unit,J.qty)]}),J.best?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:J.best.description}),J.best.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:Tn(J.best.price,J.best.price_basis)}):null]}):Ve(J)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:Ve(J)?.description}),Ve(J)?.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:Tn(Ve(J)?.price??null,Ve(J)?.price_basis??null)}):null,(0,s.jsx)("div",{className:"results-row-meta",children:"Best reviewed alternative - not yet selected"})]}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),mr(J.item)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,s.jsx)(fd,{meta:V.get(J.item.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:zn(J.item)})]}):null,(0,s.jsx)("div",{className:"results-review-page__actions",children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[J.item.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[J.item.line_id]?n(J.item.line_id):(J.best&&Jd(J.item.line_id,J.best),r(Mi(J)))},disabled:!J.best,"aria-label":a[J.item.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[J.item.line_id]?"\u2713 Added":f?"+ Add to selection":`Add to ${d}`})})]})]}),ye?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,!ye&&Ze?(0,s.jsx)("div",{className:"results-empty-card",children:Ze}):null,!ye&&!Ze&&Ma&&Yn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No candidate products match this database search."}):!ye&&!Ze?(0,s.jsx)(h_,{item:J.item,candidates:Yn,result:J.result,decision:J.decision,unmatchable:J.unmatchable,selectedProductId:J.best?.product_id??null,detailMode:ue,linkedGroupMeta:mr(J.item)?V.get(J.item.linked_group_id):void 0,onPick:_=>vc(J.item.line_id,_),onClear:()=>bc(J.item.line_id),showAll:f||Qe||Ma.length>0,internal:f,debugEnabled:Qe,forceReviewNote:!0}):null]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"customer-review-request",children:[(0,s.jsx)("span",{className:"customer-review-eyebrow",children:"Original request"}),(0,s.jsx)("strong",{children:Pr(J.item,w)||"Original request"})]}),Wd?(0,s.jsxs)("section",{className:"customer-review-ai",children:[(0,s.jsx)("strong",{children:sl?"Exact match not found:":"AI review:"})," ",Wd]}):null,(0,s.jsxs)("section",{className:"customer-review-options",children:[(0,s.jsx)("div",{className:"customer-review-options__head",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:sl?"We couldn't find a suitable product":Id?"Choose a product":"We couldn't review this item"}),(0,s.jsx)("p",{children:sl?Fd.length>0?"These AI-reviewed alternatives may be useful, but need approval.":"Search the catalogue to choose an alternative.":Id?`Select the option you want to add to your ${d}.`:"Search the catalogue to choose a product."})]})}),!Ma&&Vn.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:em.map(_=>{let L=_.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${L?" is-selected":""}`,onClick:()=>vc(J.item.line_id,_),"aria-pressed":L,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Qa(_.description,_.product_id,_.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:_.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:_.price!=null?`\xA3${Tn(_.price,_.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:L?"Selected":"Choose"})]},_.product_id)})}):null,Vn.length>0&&(0,s.jsx)("div",{className:"customer-review-divider",children:(0,s.jsx)("span",{children:"or"})}),(0,s.jsxs)("label",{className:"customer-review-search",children:[(0,s.jsx)("span",{children:"Search our full catalogue"}),(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products...",value:he,onChange:_=>W(_.target.value),"aria-label":"Search catalogue"})]}),Ma&&ye?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,Ma&&!ye&&Ze?(0,s.jsx)("div",{className:"results-empty-card",children:Ze}):null,Ma&&!ye&&!Ze&&Vn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No products match this search."}):null,Ma&&!ye&&!Ze&&Vn.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:em.map(_=>{let L=_.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${L?" is-selected":""}`,onClick:()=>vc(J.item.line_id,_),"aria-pressed":L,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Qa(_.description,_.product_id,_.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:_.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:_.price!=null?`\xA3${Tn(_.price,_.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:L?"Selected":"Choose"})]},_.product_id)})}):null]}),J.best?Hw?(0,s.jsxs)("div",{style:{display:"grid",gap:8},children:[(0,s.jsx)("button",{type:"button",className:"cta-btn customer-review-add",onClick:()=>{Kd()},children:(0,s.jsx)("span",{children:"Update product"})}),(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-add",onClick:()=>n(J.item.line_id),children:(0,s.jsx)("span",{children:`Remove from ${d}`})})]}):(0,s.jsx)("button",{type:"button",className:`cta-btn customer-review-add${cl?" cta-btn-secondary":""}`,onClick:()=>{cl?n(J.item.line_id):Kd()},children:(0,s.jsx)("span",{children:cl?`Remove from ${d}`:`Add selected product to ${d}`})}):null,ne?(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-skip",onClick:()=>Bw(J.item.line_id),children:"Skip this item"}):null]})})]})}):null,(0,s.jsxs)("div",{className:"results-tile-layout",children:[Ea.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No line items match the current search/filter."}):null,hc.length>0?(0,s.jsx)("section",{className:"results-tile-section","aria-label":"Matched and review items",children:(0,s.jsx)("div",{className:"results-tile-grid",children:hc.map(_=>{let{item:L,best:ve,qty:gt}=_,Je=Ve(_),Wt=!ve&&ft(_);return(0,s.jsxs)("article",{className:"results-tile-card",children:[(0,s.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>Ei(L.line_id),"aria-label":`Review match for ${Pr(L,w)||"item"}`,children:[(0,s.jsxs)("div",{className:"results-tile-card__media",children:[Wt||mr(L)?(0,s.jsxs)("div",{className:"results-tile-card__badges",children:[mr(L)?(0,s.jsx)(fd,{meta:V.get(L.linked_group_id)}):(0,s.jsx)("span",{}),Wt?(0,s.jsx)("span",{style:{padding:"6px 10px",borderRadius:999,background:"#fef3c7",color:"#92400e",fontSize:12,fontWeight:700,lineHeight:1},children:"Partially matched"}):null]}):null,(0,s.jsx)("img",{className:"fill-img results-tile-card__image",src:Qa(Je?.description||L.description_original,Je?.product_id,Je?.pdp_photo_url),alt:""})]}),(0,s.jsxs)("div",{className:"results-tile-card__body",children:[Je?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"results-tile-card__heading",children:(0,s.jsx)("div",{className:"results-tile-card__title",children:Je.description})})}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),(0,s.jsx)("div",{className:"results-tile-card__match",children:Je?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-tile-card__match-label",children:Wt?"\u21B3 partially matched from":"\u21B3 matched from"}),(0,s.jsx)("div",{className:"results-tile-card__match-name",children:Pr(L,w)}),mr(L)?(0,s.jsx)("div",{className:"results-row-meta",children:zn(L)}):null]}):(0,s.jsx)("span",{className:"results-empty-hint",children:"No matched product selected."})})]}),(0,s.jsx)("span",{className:"results-tile-card__hover-prompt","aria-hidden":"true",children:"Click to view options"})]}),(0,s.jsxs)("div",{className:"results-tile-card__actions",children:[f&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ei(L.line_id),children:"Review"}),(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[L.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[L.line_id]?n(L.line_id):r(Mi(_))},disabled:!Je,"aria-label":a[L.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[L.line_id]?"\u2713 Added":f?"+ Add":`Add to ${d}`})]})]},L.line_id)})})}):null,Pd]})]}):(0,s.jsxs)(s.Fragment,{children:[I&&(0,s.jsx)("div",{className:"results-table__hover-overlay",style:I,"aria-hidden":"true",children:"Click to view options"}),(0,s.jsx)("div",{className:"bom-table-wrap",children:(0,s.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched line items",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"col-item"}),(0,s.jsx)("col",{style:{width:"220px"}}),(0,s.jsx)("col",{style:{width:"100px"}}),ue==="simple"&&(0,s.jsx)("col",{style:{width:"110px"}})]}),(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"bom-col-header",children:[(0,s.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Price"}),ue==="simple"&&(0,s.jsx)("th",{style:{textAlign:"center"},children:f?"Selection":b?"Quote":"Basket"})]})}),(0,s.jsxs)("tbody",{children:[Ea.length===0&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:ue==="simple"?4:3,className:"results-empty-hint",style:{padding:"16px 8px"},children:"No line items match the current search/filter."})}),hc.map(_=>{let{item:L,result:ve,decision:gt,best:Je}=_;return(0,s.jsxs)("tr",{className:"bom-row results-table__review-row",onClick:()=>Ei(L.line_id),onMouseEnter:Wt=>{me.current=Wt.currentTarget,Qn()},onMouseLeave:()=>{me.current=null,ce(null)},children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{className:"bom-component-name",children:Pr(L,w)}),mr(L)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[(0,s.jsx)(fd,{meta:V.get(L.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:zn(L)})]}):null]}),(0,s.jsx)("td",{children:Je?(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"results-match-cell-text",title:Je.description,children:Je.description}),ue==="detailed"&&gt?.technical_classification&&(0,s.jsxs)("div",{className:"results-row-meta",children:[o_(gt.technical_classification),gt.approval_required?" - approval required":""]})]}):(0,s.jsx)("span",{className:"results-empty-hint"})}),(0,s.jsx)("td",{style:{textAlign:"center"},children:Je?.price!=null?Tn(Je.price,Je.price_basis):"-"}),ue==="simple"&&(0,s.jsx)("td",{style:{textAlign:"center"},children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[L.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,style:{width:84,justifyContent:"center"},onClick:Wt=>{Wt.stopPropagation(),a[L.line_id]?n(L.line_id):r(Mi(_))},"aria-label":a[L.line_id]?f?"Remove from selection":`Remove from ${d}`:f?"Add to selection":`Add to ${d}`,children:a[L.line_id]?"\u2713 Added":f?"+ Add":`Add to ${d}`})})]},L.line_id)})]})]})}),Pd]}),!J&&hr>1&&(0,s.jsxs)("div",{className:"results-pagination",children:[(0,s.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(Ft-1)*el+1,"\u2013",Math.min(Ft*el,Ea.length)," of ",Ea.length]}),(0,s.jsxs)("div",{className:"results-pagination-controls",children:[(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ge(Ft-1),disabled:Ft===1,children:"Previous"}),(0,s.jsxs)("span",{className:"results-pagination-page",children:["Page ",Ft," of ",hr]}),(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ge(Ft+1),disabled:Ft===hr,children:"Next"})]})]}),(E.itemCount!=null||E.headingCount!=null||E.skippedCount!=null)&&(0,s.jsxs)("div",{className:"results-summary",style:{marginTop:16},children:[E.itemCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:E.itemCount})," items parsed"]}),E.headingCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:E.headingCount})," headings"]}),E.skippedCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:E.skippedCount})," rows skipped"]})]}),(0,s.jsxs)("div",{className:"disclaimer-box",children:[(0,s.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,s.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before purchase."})]}),!J&&(0,s.jsxs)("div",{className:"btn-row results-actions",children:[(0,s.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:(wc>0,"0 1 30%"),gap:10,justifyContent:"center"},onClick:()=>A(!0),"aria-label":"Start over",children:[(0,s.jsx)(dd,{}),(0,s.jsx)("span",{children:"Start Over"})]}),wc>0&&(0,s.jsxs)("button",{className:"cta-btn",style:{flex:"0 1 70%"},onClick:i,"aria-label":f?"View selection":b?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[f?"View Selection":b?"View Quote":"View Basket"," (",wc,")"]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Ht,{})})]})]})]})]}),Rw&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop review-gate-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"review-gate-title",children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal review-gate-modal",children:[(0,s.jsxs)("div",{className:"review-gate-modal__header",children:[(0,s.jsx)("h2",{id:"review-gate-title",children:"Choose products for these items"}),(0,s.jsx)("p",{children:"We couldn\u2019t find a clear match for these items, so we need your help. Select an option from the suggestions, search the catalogue, or leave the item out."})]}),(0,s.jsx)("div",{className:"review-gate-list",children:Ir.map(_=>{let L=ke.has(_.item.line_id),ve=ft(_);return(0,s.jsx)("div",{className:`review-gate-item${L?" is-reviewed":""}`,children:(0,s.jsxs)("button",{type:"button",className:"review-gate-item__review",onClick:()=>{ee(!0),Ei(_.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Pr(_.item,w)}),(0,s.jsx)("span",{children:_.decision?.reason||(ve?"A close alternative is available but needs confirmation.":"No product has been selected for this item yet.")})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:L?"Choice made":"Choose a product"})]})},_.item.line_id)})}),(0,s.jsx)("button",{type:"button",className:"review-gate-skip",onClick:Ow,children:"Skip all"}),ll.length>0?(0,s.jsxs)("div",{className:"review-gate-skipped",children:[(0,s.jsx)("strong",{children:"Skipped"}),ll.map(_=>(0,s.jsxs)("button",{type:"button",className:"review-gate-item is-skipped",onClick:()=>{O(L=>{let ve=new Set(L);return ve.delete(_.item.line_id),ve}),ee(!0),Ei(_.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Pr(_.item,w)}),(0,s.jsx)("span",{children:`Not added to your ${d}.`})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:"Choose a product"})]},_.item.line_id))]}):null]})}),x&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop start-over-modal",role:"dialog","aria-modal":"true","aria-labelledby":"start-over-modal-title",children:(0,s.jsxs)("div",{className:"modal-card start-over-modal__card",children:[(0,s.jsx)("h2",{id:"start-over-modal-title",className:"modal-title",children:"Start over?"}),(0,s.jsxs)("p",{className:"modal-body",children:["This will clear the current results and ",b?"quote":"basket"," and take you back to the start."]}),(0,s.jsxs)("div",{className:"modal-actions",children:[(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-secondary",onClick:()=>A(!1),children:"Cancel"}),(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-danger",onClick:()=>{A(!1),t()},autoFocus:!0,children:"Start Over"})]})]})})]})}var xt=Y(Ke());var q=Y(ae()),b_=.2,tl=10,ow="Enter a valid email address so we can send your quote.",v_=(e,t)=>{let a=`${t.requestedAmount} ${xa(t.requestedUnit,t.requestedAmount)}`,r=`${t.requiredSellUnits} ${xa(t.sellUnit,t.requiredSellUnits??0)}`,n=e.unitConversions?.find(i=>i.requestUom===t.requestedUnit);return n&&n.quantityPerSaleUnit<1?`${a} requested \u2192 order ${r} (${Math.round(1/n.quantityPerSaleUnit)} ${xa(t.sellUnit,2)} per ${xa(t.requestedUnit,1)})`:e.coverageQty&&/^m per /i.test(e.coverageUom??"")?`${a} requested \u2192 order ${r} (${e.coverageQty} ${e.coverageUom})`:`${a} requested \u2192 order ${r}`},w_=e=>["box","pack"].includes(e.requestedUnit)?"Pack size needed to calculate the order quantity.":`This product is sold by ${xa(e.sellUnit,1)}.`;function y_(){return(0,q.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,q.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,q.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,q.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})}function al(){return(0,q.jsx)("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",children:(0,q.jsx)("path",{d:"M1 4L4 1L7 4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function rl({cart:e,onUpdateQty:t,onUpdateSellUnits:a,onResolveConversions:r,onRemove:n,onBack:i,onStartNewQuote:o,internal:l=!1}){let c=(0,xt.useId)(),p=!l&&Qs()==="QZA6-MRA4",f=Object.values(e),[b,d]=(0,xt.useState)(""),[h,w]=(0,xt.useState)(!1),[E,D]=(0,xt.useState)(!1),m=Cn(),[u,g]=(0,xt.useState)(""),[v,N]=(0,xt.useState)({}),[R,T]=(0,xt.useState)({}),[z,G]=(0,xt.useState)(1),[K,xe]=(0,xt.useState)({}),[Ee,Ge]=(0,xt.useState)(!1),[Qe,Ie]=(0,xt.useState)("0"),ue=(0,xt.useRef)(new Set);(0,xt.useEffect)(()=>{if(!r)return;for(let A of Object.values(e))Ut(A).requiredSellUnits!=null&&ue.current.delete(A.lineId);let x=Object.values(e).filter(A=>A.productId!=="-"&&Ut(A).requiredSellUnits==null&&!ue.current.has(A.lineId));x.length!==0&&(x.forEach(A=>ue.current.add(A.lineId)),fetch(Lt("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({lines:x.map(A=>({line_id:A.lineId,product_id:A.productId,requested_description:A.requestedDescription??A.description,requested_qty:A.qty,requested_uom:A.unit||null,linked_context:A.linkedContext??[],selected_description:A.description,selected_uoi:A.uoi,selected_uoi_count:A.uoiCount,selected_conversion:{sales_uom_normalised:A.salesUomNormalised,conversion_type:A.conversionType,sales_unit_size:A.salesUnitSize,sales_unit_size_uom:A.salesUnitSizeUom,coverage_qty:A.coverageQty,coverage_uom:A.coverageUom}}))})}).then(A=>A.ok?Kt(A):null).then(A=>{let I={};for(let ce of A?.data?.items??A?.items??[]){let me=ce?.conversion;if(!me||typeof ce?.line_id!="string")continue;let ke=e[ce.line_id];I[ce.line_id]={conversionType:me.conversion_type,requestUomsSupported:me.request_uoms_supported,salesUomNormalised:me.sales_uom_normalised,salesUnitSize:me.sales_unit_size,salesUnitSizeUom:me.sales_unit_size_uom,coverageQty:me.coverage_qty,coverageUom:me.coverage_uom,roundingRule:me.rounding_rule,conversionConfidence:me.conversion_confidence,conversionNotes:me.conversion_notes,...ke?.qty===0&&Number.isFinite(me.suggested_order_qty)&&me.suggested_order_qty>0?{qty:me.suggested_order_qty,unit:me.suggested_order_uom||ke.unit}:{}}}Object.keys(I).length>0&&r(I)}).catch(A=>console.error("Catalogue conversion resolution failed",A)))},[e,r]);function Q(x){N(A=>{let I={...A};return delete I[x],I})}function se(x,A){let I=parseFloat(A);!isNaN(I)&&I>=0&&t(x,I),Q(x)}function Ne(x,A,I){t(x,Math.max(0,A+I)),Q(x)}function lt(x){T(A=>{let I={...A};return delete I[x],I})}function Ye(x,A){let I=parseFloat(A);!isNaN(I)&&I>=0&&a(x,I),lt(x)}function ge(x,A,I){a(x,Math.max(0,A+I)),lt(x)}async function We(){let x=b.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(x)){g(ow);return}g(""),D(!0);try{let A=await fetch(Lt("/api/quote-requests"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({email:x,items:he.map(({item:I,pricing:ce})=>{let me=ce.requiredSellUnits??ce.requestedAmount,ke=ce.requiredSellUnits!=null?ce.sellUnit:ce.requestedUnit;return{product_id:I.productId,description:I.description,quantity:me,unit:xa(ke,me),unit_price:ce.requiredSellUnits!=null?ce.unitPrice:null,line_total:ce.lineTotal}})})});if(!A.ok){let I=await Kt(A);console.error("Quote request failed",A.status,I?.message),g(A.status===429?"You've sent a few requests already. Please try again in a few minutes.":"Your request couldn't be sent. Please try again, or contact us if it keeps happening.");return}m("quote_requested",{items:he.length,total:Math.round(Be*100)/100}),w(!0),window.scrollTo(0,0)}catch{g("Your request couldn't be sent. Check your connection and try again.")}finally{D(!1)}}let he=f.map(x=>({item:x,pricing:Ut(x,{wasteFactorEnabled:Ee,wasteFactorOverride:Math.max(0,Number.parseFloat(Qe)||0)/100})})),W=Zs(f,{wasteFactorEnabled:Ee,wasteFactorOverride:Math.max(0,Number.parseFloat(Qe)||0)/100}),Re=W*b_,Be=W+Re,ye=(0,xt.useRef)({items:he.length,total:Math.round(Be*100)/100});(0,xt.useEffect)(()=>{m("basket_viewed",ye.current)},[m]);let et=Math.max(1,Math.ceil(he.length/tl)),Ze=Math.min(z,et),M=he.slice((Ze-1)*tl,Ze*tl);return h?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",role:"status",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsx)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,q.jsx)("polyline",{points:"5 12.5 10 17.5 19 7"})})}),(0,q.jsx)("h1",{children:"Quote requested"}),(0,q.jsxs)("p",{children:["You're all done. We'll email your sharper price to ",(0,q.jsx)("strong",{children:b.trim()}),", usually within one working day."]}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Start a new quote"})}),(0,q.jsx)("p",{className:"quote-request-sent-note",children:"Nothing is charged until you approve the quote."})]})}):(0,q.jsx)("div",{className:`wizard-step entry-stage${p?" basket-layout--qza6-mra4":""}`,children:(0,q.jsxs)("div",{className:`quick-order-card${l?"":" quick-order-card--customer"}`,children:[(0,q.jsxs)("div",{className:`quick-order-hero${l?"":" quick-order-hero--customer"}`,children:[l&&(0,q.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,q.jsxs)("div",{className:"basket-hero-copy",children:[p&&(0,q.jsxs)("button",{type:"button",className:"cta-btn cta-btn-secondary basket-hero-back",onClick:i,children:[(0,q.jsx)(Zr,{}),(0,q.jsx)("span",{children:"Back to results"})]}),(0,q.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,q.jsx)("h1",{children:l?"Your Selection":p?"Request a quote":"Your Basket"}),l&&(0,q.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,q.jsx)("strong",{children:f.length})," ",f.length===1?"item":"items"]})]}),(0,q.jsx)("p",{children:l?"Review the items you've added before exporting them for review.":p?"Check your items & quantities below, and we'll do our best to beat list prices.":"Review your quantities and order summary before you buy."})]})]}),(0,q.jsx)("div",{className:"quick-order-panel",style:{paddingTop:16},children:f.length===0?(0,q.jsxs)("div",{className:"quick-order-history-empty",children:[(0,q.jsx)("div",{className:"basket-empty-icon","aria-hidden":"true",children:l?"\u{1F4CB}":"\u{1F9FA}"}),(0,q.jsx)("p",{children:l?"Your selection is empty.":p?"Your quote request is empty.":"Your basket is empty."}),(0,q.jsx)("p",{className:"basket-empty-hint",children:p?"Go back to your results and add items for your quote.":"Go back to your results and add quoted items."}),(0,q.jsx)("div",{className:"btn-row",style:{marginTop:20,justifyContent:"center"},children:(0,q.jsx)("button",{className:"cta-btn",style:{width:"auto",maxWidth:280},onClick:i,"aria-label":"Back to results",children:(0,q.jsx)("span",{children:"Back to Results"})})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)("div",{className:"basket-layout",children:[(0,q.jsxs)("div",{className:"basket-main",children:[(0,q.jsx)("div",{className:"basket-list","aria-label":l?"Selection items":p?"Quote request items":"Basket items",children:M.map(({item:x,pricing:A})=>{let I=v[x.lineId]??String(A.requestedAmount),ce=A.requestedUnit===A.sellUnit||A.costingMode==="review",me=A.requiredSellUnits==null||A.requestedAmount!==A.requiredSellUnits||A.requestedUnit!==A.sellUnit;return(0,q.jsxs)("article",{className:"basket-card",children:[(0,q.jsxs)("div",{className:"basket-card-top",children:[(0,q.jsx)("img",{className:"basket-card-thumb",src:Qa(x.description,x.productId,x.pdpPhotoUrl),alt:"",width:48,height:48}),(0,q.jsxs)("div",{className:"basket-card-info",children:[(0,q.jsx)("div",{className:"bom-component-name",children:x.description}),me&&A.costingMode!=="review"&&(0,q.jsxs)("button",{type:"button",className:"basket-calc-toggle",onClick:()=>xe(ke=>({...ke,[x.lineId]:!ke[x.lineId]})),"aria-expanded":!!K[x.lineId],children:["How we calculated this",(0,q.jsx)("span",{className:`basket-calc-toggle-chevron${K[x.lineId]?" basket-calc-toggle-chevron--open":""}`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("div",{className:"basket-card-actions",children:(0,q.jsx)("button",{type:"button",className:"mf-remove-small-btn basket-card-remove",onClick:()=>n(x.lineId),"aria-label":`Remove ${x.description}`,children:(0,q.jsx)(y_,{})})})]}),l&&(0,q.jsxs)("div",{className:"results-detail-block basket-internal-detail",children:[(0,q.jsxs)("dl",{className:"results-detail-grid",children:[(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion type"}),(0,q.jsx)("dd",{children:x.conversionType??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion confidence"}),(0,q.jsx)("dd",{children:x.conversionConfidence??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Sales unit"}),(0,q.jsx)("dd",{children:x.salesUnitSize!=null?(0,q.jsxs)(q.Fragment,{children:[x.salesUnitSize," ",ka(x.salesUnitSizeUom,x.salesUnitSize)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Coverage"}),(0,q.jsx)("dd",{children:x.coverageQty!=null?(0,q.jsxs)(q.Fragment,{children:[x.coverageQty," ",ka(x.coverageUom,x.coverageQty)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Waste factor"}),(0,q.jsx)("dd",{children:x.wasteFactorDefault??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Rounding rule"}),(0,q.jsx)("dd",{children:x.roundingRule??"-"})]})]}),x.conversionNotes&&(0,q.jsx)("p",{className:"results-rerank-note",children:x.conversionNotes})]}),A.costingMode==="review"?(0,q.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,q.jsx)("strong",{children:"Quantity needs confirmation."})," ",w_(A)]}):me&&K[x.lineId]?(0,q.jsx)("p",{className:"basket-calc-text",children:v_(x,A)}):null,(0,q.jsxs)("div",{className:"basket-card-stats",children:[(0,q.jsxs)("div",{className:"basket-stat",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Requested qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:I,disabled:ce,onChange:ke=>N(k=>({...k,[x.lineId]:ke.target.value})),onBlur:ke=>se(x.lineId,ke.target.value),onKeyDown:ke=>{ke.key==="Enter"&&ke.target.blur()},"aria-label":`${x.description} requested quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",disabled:ce,onClick:()=>Ne(x.lineId,parseFloat(I)||0,1),"aria-label":`Increase ${x.description} quantity`,children:(0,q.jsx)(al,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",disabled:ce,onClick:()=>Ne(x.lineId,parseFloat(I)||0,-1),"aria-label":`Decrease ${x.description} quantity`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:ka(A.requestedUnit,parseFloat(I)||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--right",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Order qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:R[x.lineId]??String(A.requiredSellUnits??""),onChange:ke=>T(k=>({...k,[x.lineId]:ke.target.value})),onBlur:ke=>Ye(x.lineId,ke.target.value),onKeyDown:ke=>{ke.key==="Enter"&&ke.target.blur()},"aria-label":`${x.description} order quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",onClick:()=>ge(x.lineId,parseFloat(R[x.lineId]??String(A.requiredSellUnits??"0"))||0,1),"aria-label":`Increase ${x.description} order quantity`,children:(0,q.jsx)(al,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",onClick:()=>ge(x.lineId,parseFloat(R[x.lineId]??String(A.requiredSellUnits??"0"))||0,-1),"aria-label":`Decrease ${x.description} order quantity`,children:(0,q.jsx)(al,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:ka(A.sellUnit,parseFloat(R[x.lineId]??String(A.requiredSellUnits??"0"))||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--total",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Total"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsx)("strong",{children:A.lineTotal!=null?st(A.lineTotal):"-"}),A.lineTotal!=null&&(0,q.jsx)("span",{className:"basket-metric-unit",children:"ex. VAT"})]})]})]})]},x.lineId)})}),et>1&&(0,q.jsxs)("div",{className:"results-pagination",children:[(0,q.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(Ze-1)*tl+1,"\u2013",Math.min(Ze*tl,he.length)," of ",he.length]}),(0,q.jsxs)("div",{className:"results-pagination-controls",children:[(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>G(Ze-1),disabled:Ze===1,children:"Previous"}),(0,q.jsxs)("span",{className:"results-pagination-page",children:["Page ",Ze," of ",et]}),(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>G(Ze+1),disabled:Ze===et,children:"Next"})]})]})]}),(0,q.jsxs)("aside",{className:"basket-sidebar",children:[(0,q.jsx)("div",{className:"basket-sidebar-title",children:p?"Quote request summary":"Order summary"}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:p?"List price (ex. VAT)":"Subtotal (ex. VAT)"}),(0,q.jsx)("span",{children:st(W)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:"VAT (20%)"}),(0,q.jsx)("span",{children:st(Re)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row basket-sidebar-row--total",children:[(0,q.jsx)("span",{children:p?"List price (inc. VAT)":"Total"}),(0,q.jsx)("span",{children:st(Be)})]}),!p&&(0,q.jsx)("div",{className:"basket-summary-waste",children:(0,q.jsxs)("div",{className:"basket-waste-control",children:[(0,q.jsxs)("label",{className:"basket-global-waste",children:[(0,q.jsx)("input",{type:"checkbox",checked:Ee,onChange:x=>Ge(x.target.checked)}),(0,q.jsx)("span",{children:"Add waste factor"})]}),(0,q.jsxs)("label",{className:"basket-global-waste-percent",children:[(0,q.jsx)("input",{type:"number",inputMode:"decimal",min:"0",step:"0.1",value:Qe,onChange:x=>Ie(x.target.value),disabled:!Ee,"aria-label":"Waste factor percent"}),(0,q.jsx)("span",{children:"%"})]})]})}),(0,q.jsx)("label",{htmlFor:`${c}-basket-reference`,className:"basket-sidebar-label",children:p?"Enter email for your sharper quote":"Your reference (optional)"}),(0,q.jsx)("input",{id:`${c}-basket-reference`,type:p?"email":"text",className:"basket-sidebar-input",value:b,onChange:x=>{d(x.target.value),p&&g("")},placeholder:p?"you@example.com":"PO number or job reference","aria-invalid":p&&u===ow,"aria-describedby":p&&u?`${c}-basket-reference-error`:void 0}),p&&u&&(0,q.jsx)("p",{id:`${c}-basket-reference-error`,className:"basket-quote-request-error",role:"alert",children:u}),p?(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:()=>{We()},disabled:E,"aria-busy":E,children:(0,q.jsx)("span",{children:E?"Sending\u2026":"Request our best quote"})}):(0,q.jsx)("button",{className:"cta-btn",onClick:()=>{m("downloaded",{type:"basket",items:f.length}),tw(f)},"aria-label":l?"Download selection":"Download basket",children:(0,q.jsx)("span",{children:l?"Download Quote":"Buy Now"})}),(0,q.jsxs)("p",{className:"basket-sidebar-disclaimer",children:[(0,q.jsx)("span",{"aria-hidden":"true",children:"\u26A0\uFE0F"}),p?"This is a quote request, not an order. We'll confirm our best price, availability and delivery before you approve.":"Prices and availability are estimates and should be confirmed before procurement."]})]})]}),(0,q.jsx)("div",{className:"btn-row results-actions",children:(0,q.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",gap:10,justifyContent:"center"},onClick:i,"aria-label":"Back to results",children:[(0,q.jsx)(Zr,{}),(0,q.jsx)("span",{children:"Back to results"})]})})]})})]})})}var zt=Y(Ke()),lw=Y(ae());function __(e,t){let a={...e,[t.lineId]:t};for(let[r,n]of Object.entries(a)){if(!n.linkedContext)continue;let i=n.linkedContext.find(l=>l.role==="anchor"&&l.line_id&&a[l.line_id]),o=i?.line_id?a[i.line_id]:void 0;if(!(!i||!o||i.product_id===o.productId&&i.description===o.description)){if(n.conversionType!=="basket_line_unit"){a[r]={...n,linkedContext:n.linkedContext.map(l=>l.line_id===i.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l)};continue}a[r]={...n,qty:0,sellUnitsOverride:null,linkedContext:n.linkedContext.map(l=>l.line_id===i.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l),conversionType:null,requestUomsSupported:null,salesUomNormalised:null,salesUnitSize:null,salesUnitSizeUom:null,coverageQty:null,coverageUom:null,roundingRule:null,conversionConfidence:null,conversionNotes:null}}}return a}var vd=(0,zt.createContext)(null);function Js({children:e,onOpenBasket:t}){let[a,r]=(0,zt.useState)({}),n=(0,zt.useCallback)(d=>{r(h=>__(h,d))},[]),i=(0,zt.useCallback)(d=>{r(h=>{let w={...h};for(let E of d)w[E.lineId]=E;return w})},[]),o=(0,zt.useCallback)(d=>{r(h=>{let w={...h};return delete w[d],w})},[]),l=(0,zt.useCallback)((d,h)=>{r(w=>w[d]?{...w,[d]:{...w[d],qty:h,sellUnitsOverride:null}}:w)},[]),c=(0,zt.useCallback)((d,h)=>{r(w=>w[d]?{...w,[d]:{...w[d],sellUnitsOverride:h}}:w)},[]),p=(0,zt.useCallback)(d=>{r(h=>{let w=!1,E={...h};for(let[D,m]of Object.entries(d))E[D]&&(E[D]={...E[D],...m},w=!0);return w?E:h})},[]),f=(0,zt.useCallback)(()=>r({}),[]),b=(0,zt.useMemo)(()=>({cart:a,count:Object.keys(a).length,addToCart:n,addManyToCart:i,removeFromCart:o,updateCartQty:l,updateCartSellUnits:c,updateCartConversions:p,clearCart:f,openBasket:t??(()=>{})}),[a,n,i,o,l,c,p,f,t]);return(0,lw.jsx)(vd.Provider,{value:b,children:e})}function An(){let e=(0,zt.useContext)(vd);if(!e)throw new Error("useCart must be used inside a <CartProvider>");return e}function Fs(){return(0,zt.useContext)(vd)}var Na=Y(ae()),wd="metron-quick-quote";function Is(e){return(0,Na.jsx)(Js,{children:(0,Na.jsx)(x_,{...e})})}function x_({fullPage:e=!1,hideHeader:t=!1,internal:a=!1}){let[r,n]=(0,He.useState)("entry"),[i,o]=(0,He.useState)(null),[l,c]=(0,He.useState)(""),p=(0,He.useRef)(null),[f,b]=(0,He.useState)(0),[d,h]=(0,He.useState)(null),[w,E]=(0,He.useState)(!1),{cart:D,addToCart:m,addManyToCart:u,removeFromCart:g,updateCartQty:v,updateCartSellUnits:N,updateCartConversions:R,clearCart:T}=An(),[z,G]=(0,He.useState)(!1),K=(0,He.useRef)(new Map),xe=(0,He.useRef)(null),Ee=Gs("quick-quote",xe);(0,He.useEffect)(()=>{Ee("viewed")},[Ee]),(0,He.useEffect)(()=>{for(let W of Object.values(D))Ut(W).requiredSellUnits!=null&&K.current.delete(W.lineId);let he=Object.values(D).filter(W=>{if(W.productId==="-"||Ut(W).requiredSellUnits!=null)return!1;let Re=`${W.productId}|${W.qty}|${W.unit}`;return K.current.get(W.lineId)===Re?!1:(K.current.set(W.lineId,Re),!0)});he.length!==0&&fetch(Lt("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...Ga()},body:JSON.stringify({lines:he.map(W=>({line_id:W.lineId,product_id:W.productId,requested_description:W.requestedDescription??W.description,requested_qty:W.qty,requested_uom:W.unit||null,selected_description:W.description,selected_uoi:W.uoi,selected_uoi_count:W.uoiCount,linked_context:W.linkedContext??[],selected_conversion:{sales_uom_normalised:W.salesUomNormalised,conversion_type:W.conversionType,sales_unit_size:W.salesUnitSize,sales_unit_size_uom:W.salesUnitSizeUom,coverage_qty:W.coverageQty,coverage_uom:W.coverageUom}}))})}).then(W=>W.ok?Kt(W):null).then(W=>{let Re={};for(let Be of W?.data?.items??W?.items??[]){let ye=Be?.conversion;if(!ye||typeof Be?.line_id!="string")continue;let et=D[Be.line_id];Re[Be.line_id]={conversionType:ye.conversion_type,requestUomsSupported:ye.request_uoms_supported,salesUomNormalised:ye.sales_uom_normalised,salesUnitSize:ye.sales_unit_size,salesUnitSizeUom:ye.sales_unit_size_uom,coverageQty:ye.coverage_qty,coverageUom:ye.coverage_uom,roundingRule:ye.rounding_rule,conversionConfidence:ye.conversion_confidence,conversionNotes:ye.conversion_notes,...et?.qty===0&&Number.isFinite(ye.suggested_order_qty)&&ye.suggested_order_qty>0?{qty:ye.suggested_order_qty,unit:ye.suggested_order_uom||et.unit}:{}}}Object.keys(Re).length>0&&R(Re)}).catch(W=>console.error("Catalogue conversion resolution failed",W))},[D,R]);let[Ge,Qe]=(0,He.useState)(!1);(0,He.useEffect)(()=>{let he=window.location.hash,W=null;try{W=JSON.parse(window.sessionStorage.getItem(wd)??"null")}catch{}if(W?.scheduleResult)o("schedule"),h(W.scheduleResult),E(W.reviewGateComplete),G(W.cartSeeded),u(Object.values(W.cart)),he==="#quote-request"?n("basket"):he==="#matched-products"&&n("results");else if(he==="#matched-products"||he==="#quote-request"){let Re=new URL(window.location.href);Re.hash="",window.history.replaceState(window.history.state,"",Re)}Qe(!0)},[]),(0,He.useEffect)(()=>{if(Ge)try{d?window.sessionStorage.setItem(wd,JSON.stringify({scheduleResult:d,reviewGateComplete:w,cartSeeded:z,cart:D})):window.sessionStorage.removeItem(wd)}catch{}},[Ge,d,w,z,D]);let Ie=(0,He.useCallback)(he=>{if(typeof window>"u")return;let W=new URL(window.location.href);W.hash=he==="basket"?"quote-request":"matched-products";let Re=he==="results"&&(window.location.hash==="#matched-products"||window.location.hash==="#quote-request");window.history[Re?"replaceState":"pushState"]({boqQuoteStage:he},"",W)},[]),ue=(0,He.useRef)(!1);(0,He.useEffect)(()=>{let he=W=>{ue.current=!1;let Re=window.location.hash;n(Re==="#quote-request"?"basket":Re==="#matched-products"&&d?"results":"entry");let Be=W.state,ye=window.location.href;setTimeout(()=>{Be?.turbo||window.location.href!==ye||window.history.state?.turbo&&window.history.replaceState(Be,"",ye)})};return window.addEventListener("popstate",he),()=>window.removeEventListener("popstate",he)},[d]);let Q=(0,He.useCallback)(()=>{Ie("basket"),n("basket")},[Ie]),se=(0,He.useCallback)(()=>{if(window.location.hash==="#quote-request"){if(ue.current)return;ue.current=!0,window.history.back();return}n(d?"results":"entry")},[d]),Ne=(0,He.useRef)(r);(0,He.useEffect)(()=>{Ne.current!==r&&(Ne.current=r,window.scrollTo(0,0))},[r]);let lt=()=>{n("entry"),o(null),c(""),b(0),h(null),E(!1),T(),G(!1)},Ye=(0,He.useCallback)(async(he,W,Re=!0)=>{c(""),b(0);let Be=0,ye=()=>{Be=Math.min(Be+1,3),b(Be)};try{let{jobId:et}=await ev(he,W,Re),{promise:Ze,cancel:M}=av(()=>tv(et),5e3,ye,"schedule");p.current=M;let x=await Ze;if(x.status==="failed"||!x.result)throw new Error(x.error||"Failed to process schedule");let A=x.result.lineItems.length,I=x.result.results.filter(ce=>ce.candidates.length>0).length;Ee("results_shown",{lines:A,matched:I,unmatched:A-I}),E(!1),h(x.result),Ie("results"),n("results")}catch(et){Ee("error",{stage:"matching"}),c(et?.message||"Failed to process schedule"),n("entry")}finally{p.current?.(),p.current=null}},[Ie,Ee]),ge=(0,He.useCallback)(async(he,W,Re=!0)=>{let Be=he.trim();if(!Be)return;o("schedule");let ye=new File([Be],"pasted-schedule.txt",{type:"text/plain"});await Ye(ye,W,Re)},[Ye]),We=(0,He.useCallback)(async he=>{o("schedule"),await Ye(he)},[Ye]);return(0,Na.jsx)(Zo.Provider,{value:Ee,children:(0,Na.jsx)("div",{ref:xe,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}${!e&&r==="processing"?" app-wrapper--loading":""}`,style:pr().theme,children:(0,Na.jsxs)("main",{className:"main-content",children:[l&&(0,Na.jsxs)("div",{className:"error-box",role:"alert",children:[(0,Na.jsx)("strong",{children:"Error:"})," ",l]}),r==="entry"&&(0,Na.jsx)(ud,{onPasteSchedule:ge,onUploadSchedule:We,onEntryModeChange:o}),r==="results"&&i==="schedule"&&d&&(0,Na.jsx)(bd,{scheduleResult:d,onStartOver:lt,cart:D,onAddToCart:m,onRemoveFromCart:g,onGoToBasket:Q,cartSeeded:z,onCartSeeded:()=>G(!0),reviewGateComplete:w,onReviewGateComplete:()=>E(!0),internal:a}),r==="basket"&&(0,Na.jsx)(rl,{cart:D,onUpdateQty:v,onUpdateSellUnits:N,onRemove:g,onBack:se,onStartNewQuote:lt,internal:a})]})})})}var Va=Y(Ke());var ki=Y(Ke()),te=Y(ae()),sw=[{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"},{id:"ovolo",label:"Ovolo",blurb:"Traditional rounded profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"square-edge",label:"Square edge",blurb:"Clean contemporary edge"}],Ws=e=>Number.parseFloat(e)||0,cw=(e,t)=>Ws(e)*(t==="m"?1:.3048),yd=(e,t)=>Ws(e.quantity)*(2*cw(e.height,t)+cw(e.width,t)),k_=()=>({quantity:"1",width:"",height:""});function N_({profile:e}){return(0,te.jsxs)("svg",{className:"architrave-calculator__profile-diagram",viewBox:"0 0 112 76","aria-hidden":"true",children:[(0,te.jsx)("path",{d:{ogee:"M18 62 V38 C18 28 28 22 40 22 H78 C88 22 94 28 94 38 V62",torus:"M18 62 V40 C18 27 30 20 42 20 C54 20 58 30 66 30 C74 30 78 20 90 20 C102 20 94 34 94 40 V62",ovolo:"M18 62 V38 C18 28 30 20 42 20 H70 C82 20 94 28 94 38 V62","pencil-round":"M18 62 V38 C18 28 28 20 40 20 H72 C84 20 94 28 94 38 V62","square-edge":"M18 62 V20 H94 V62"}[e]}),(0,te.jsx)("line",{x1:"12",y1:"66",x2:"100",y2:"66"})]})}function _d({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,ki.useState)("m"),[i,o]=(0,ki.useState)({quantity:"1",width:"0.76",height:"1.98"}),[l,c]=(0,ki.useState)({quantity:"0",width:"1.52",height:"1.98"}),[p,f]=(0,ki.useState)([]),[b,d]=(0,ki.useState)("ogee"),[h,w]=(0,ki.useState)("2.4"),E=(N,R,T)=>{N(z=>({...z,[R]:T}))},D=yd(i,r)+yd(l,r)+p.reduce((N,R)=>N+yd(R,r),0),m=Ws(h)>0?Math.ceil(D/Ws(h)):0,u=sw.find(N=>N.id===b)?.label??"",g=[{key:`architrave-${b}`,label:`Architrave (${u})`,qty:D,unit:"m",query:`${u} architrave`,category:"architrave"}],v=(N,R,T,z)=>(0,te.jsxs)("div",{className:"architrave-calculator__opening-row",children:[(0,te.jsx)("span",{children:N}),(0,te.jsx)("input",{"aria-label":`${N} quantity`,type:"number",min:"0",step:"1",value:R.quantity,onChange:G=>T("quantity",G.target.value)}),(0,te.jsx)("input",{"aria-label":`${N} width`,type:"number",min:"0",step:"0.01",value:R.width,onChange:G=>T("width",G.target.value)}),(0,te.jsx)("input",{"aria-label":`${N} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:G=>T("height",G.target.value)}),z?(0,te.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:z,children:"Remove"}):null]});return(0,te.jsx)(te.Fragment,{children:(0,te.jsxs)("div",{className:"truss-estimator",children:[(0,te.jsxs)("div",{className:"quick-order-hero",children:[(0,te.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,te.jsx)("h1",{children:"Architrave Calculator"}),(0,te.jsx)("p",{children:"Estimate architrave lengths and board quantities for door openings."})]}),(0,te.jsxs)("div",{className:"truss-estimator__card architrave-calculator",children:[(0,te.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure your openings"}),(0,te.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each door or window opening. Mitred corners are allowed for, and board lengths are worked out from the net run."}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Door openings"}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Each opening is calculated as two side pieces plus one head piece."}),(0,te.jsxs)("div",{className:"architrave-calculator__unit-row",children:[(0,te.jsx)("span",{children:"Units"}),(0,te.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,te.jsx)("button",{type:"button",className:r==="m"?"is-selected":"",onClick:()=>n("m"),children:"Metres"}),(0,te.jsx)("button",{type:"button",className:r==="ft"?"is-selected":"",onClick:()=>n("ft"),children:"Feet"})]})]}),(0,te.jsxs)("div",{className:"architrave-calculator__dimensions-header",children:[(0,te.jsx)("span",{children:"Opening"}),(0,te.jsx)("span",{children:"Qty"}),(0,te.jsxs)("span",{children:["Width (",r,")"]}),(0,te.jsxs)("span",{children:["Height (",r,")"]}),(0,te.jsx)("span",{})]}),v("Single doors",i,(N,R)=>E(o,N,R)),v("Double doors",l,(N,R)=>E(c,N,R)),p.map((N,R)=>v(`Alternative door ${R+1}`,N,(T,z)=>f(G=>G.map((K,xe)=>xe===R?{...K,[T]:z}:K)),()=>f(T=>T.filter((z,G)=>G!==R)))),(0,te.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>f(N=>[...N,k_()]),children:"+ Add alternative-sized door"})]}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Standard profile"}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Choose the profile you plan to use. Length calculations are the same for each profile."}),(0,te.jsx)("div",{className:"architrave-calculator__profiles",children:sw.map(N=>(0,te.jsxs)("button",{type:"button",className:`truss-estimator__option-card${b===N.id?" is-selected":""}`,onClick:()=>d(N.id),children:[(0,te.jsx)(N_,{profile:N.id}),(0,te.jsx)("div",{className:"truss-estimator__option-title",children:N.label}),(0,te.jsx)("div",{className:"truss-estimator__option-copy",children:N.blurb})]},N.id))})]}),(0,te.jsxs)("div",{className:"architrave-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,te.jsx)("div",{className:"architrave-calculator__options",children:(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Board length (m)"}),(0,te.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,te.jsx)("p",{className:"architrave-calculator__hint",children:"Waste allows for mitred corners, cuts and damaged lengths."})]}),(0,te.jsxs)("div",{className:"architrave-calculator__totals",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,te.jsxs)("div",{className:"architrave-calculator__result-grid",children:[(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Architrave needed"}),(0,te.jsxs)("strong",{children:[D.toFixed(2)," m"]})]}),(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Board lengths"}),(0,te.jsx)("strong",{children:m})]})]})]}),(0,te.jsxs)("div",{className:"architrave-calculator__actions",children:[(0,te.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,te.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(g),disabled:D<=0,children:a})]})]})]})})}var Ni=Y(Ke()),le=Y(ae()),uw=60,pw=10,S_=.02,C_=.012,q_=.01,Rn=e=>Number.parseFloat(e)||0,E_=(e,t=2)=>e.toFixed(t);function xd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,Ni.useState)("brick"),[i,o]=(0,Ni.useState)("engineering-red"),[l,c]=(0,Ni.useState)("metric"),[p,f]=(0,Ni.useState)(""),[b,d]=(0,Ni.useState)(""),[h,w]=(0,Ni.useState)(!0),E=l==="metric"?Rn(p)*Rn(b):Rn(p)*Rn(b)*.092903,m=E*(r==="brick"?uw:pw),u=Math.ceil(m),g=E*(r==="brick"?S_:C_),v=Math.ceil(g/q_),N=l==="metric"?E:E*10.7639,R=[{key:r==="brick"?`brick-${i}`:"block",label:r==="brick"?{common:"Common concrete bricks","engineering-red":"Red engineering bricks","engineering-blue":"Blue engineering bricks"}[i]:"Blocks",qty:u,unit:"each",query:r==="brick"?"facing brick":"concrete block",category:"masonry"},...h?[{key:"mortar",label:"Blue Circle Quality Assured Mortar Mix 20kg",qty:v,unit:"bag",query:"ready mixed mortar",category:"mortar"}]:[]],T=z=>{if(z===l)return;let G=z==="imperial"?3.28084:.3048;f((Rn(p)*G).toFixed(2)),d((Rn(b)*G).toFixed(2)),c(z)};return(0,le.jsx)(le.Fragment,{children:(0,le.jsxs)("div",{className:"truss-estimator",children:[(0,le.jsxs)("div",{className:"quick-order-hero",children:[(0,le.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,le.jsx)("h1",{children:"Brick & Block Calculator"}),(0,le.jsx)("p",{children:"Estimate masonry units, sand and cement for a wall."})]}),(0,le.jsxs)("div",{className:"truss-estimator__card brick-calculator",children:[(0,le.jsx)("h2",{className:"truss-estimator__step-title",children:"Wall area and masonry type"}),(0,le.jsx)("p",{className:"truss-estimator__step-sub",children:"Pick brick or block and enter the wall dimensions for unit counts plus ready-mixed mortar."}),(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Masonry type"}),(0,le.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["brick","Brick"],["block","Block"]].map(([z,G])=>(0,le.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===z?" is-selected":""}`,onClick:()=>n(z),children:[(0,le.jsx)("div",{className:"truss-estimator__option-title",children:G}),(0,le.jsxs)("div",{className:"truss-estimator__option-copy",children:["Approx. ",z==="brick"?uw:pw," per m\xB2"]})]},z))})]}),r==="brick"&&(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Brick type"}),(0,le.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["common","Common concrete","General-purpose grey concrete brick"],["engineering-red","Engineering red","Class B perforated, 65mm"],["engineering-blue","Engineering blue","Class B solid, 65mm"]].map(([z,G,K])=>(0,le.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i===z?" is-selected":""}`,onClick:()=>o(z),children:[(0,le.jsx)("div",{className:"truss-estimator__option-title",children:G}),(0,le.jsx)("div",{className:"truss-estimator__option-copy",children:K})]},z))})]}),(0,le.jsxs)("div",{className:"brick-calculator__section",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,le.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,le.jsx)("button",{type:"button",className:l==="metric"?"is-selected":"",onClick:()=>T("metric"),children:"Metric"}),(0,le.jsx)("button",{type:"button",className:l==="imperial"?"is-selected":"",onClick:()=>T("imperial"),children:"Imperial"})]}),(0,le.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,le.jsxs)("label",{className:"truss-estimator__field",children:[(0,le.jsxs)("span",{children:["Height (",l==="metric"?"m":"ft",")"]}),(0,le.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:z=>f(z.target.value)})]}),(0,le.jsxs)("label",{className:"truss-estimator__field",children:[(0,le.jsxs)("span",{children:["Width (",l==="metric"?"m":"ft",")"]}),(0,le.jsx)("input",{type:"number",min:"0",step:"0.01",value:b,onChange:z=>d(z.target.value)})]})]})]}),(0,le.jsx)("div",{className:"brick-calculator__options",children:(0,le.jsxs)("label",{className:"brick-calculator__checkbox",children:[(0,le.jsx)("input",{type:"checkbox",checked:h,onChange:z=>w(z.target.checked)}),(0,le.jsx)("span",{children:"Include ready-mixed mortar"})]})}),(0,le.jsxs)("div",{className:"brick-calculator__totals",children:[(0,le.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,le.jsxs)("div",{className:"brick-calculator__result-grid",children:[(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:"Wall area"}),(0,le.jsxs)("strong",{children:[E_(N)," ",l==="metric"?"m\xB2":"ft\xB2"]})]}),(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:r==="brick"?"Bricks":"Blocks"}),(0,le.jsx)("strong",{children:u.toLocaleString("en-GB")})]}),h?(0,le.jsxs)("div",{children:[(0,le.jsx)("span",{children:"Ready-mixed mortar"}),(0,le.jsxs)("strong",{children:[v," x 20kg bags"]})]}):null]}),(0,le.jsx)("p",{className:"brick-calculator__note",children:"Estimate based on standard nominal sizes and 10mm joints. Mortar bags are approximate; confirm the required mortar specification before ordering."})]}),(0,le.jsxs)("div",{className:"brick-calculator__actions",children:[(0,le.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,le.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(R),disabled:E<=0,children:a})]})]})]})})}var fr=Y(Ke());var dw=new Map;function M_(e){return{product_id:e.product_id,description:e.description,source_list:e.source_list??null,price:e.price??null,list_price:e.list_price,discount:e.discount,price_basis:e.price_basis??null,uoi_count:e.uoi_count??null,uoi:e.uoi??null,pdp_photo_url:e.pdp_photo_url??null,conversion:e.conversion,measurements_mm:e.measurements_mm??e.attrs?.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"estimator_catalogue_search"}}async function Jr(e,t,a=12,r){let n=`${e}||${t??""}||${a}||${r??""}`,i=dw.get(n);if(i)return i;let o=new URLSearchParams({q:e,limit:String(a)});t&&o.set("category",t),r&&o.set("account",r);let l=await fetch(Lt(`/api/catalogue/search?${o.toString()}`),{headers:wi()}),c=await Kt(l);if(!l.ok)throw new Error(c?.error||c?.message||"Could not reach the product catalogue");let p=Array.isArray(c?.items)?c.items.map(M_):[];return dw.set(n,p),p}async function mw(e,t){return await Promise.all(e.map(async r=>{try{return{requirement:r,candidates:await Jr(r.query,r.category,void 0,t)}}catch{return{requirement:r,candidates:[]}}}))}async function fw(){let e=await fetch(Lt("/api/catalogue"),{headers:wi()});if(!e.ok)return{itemCount:0,uploadedAt:null};let t=await Kt(e);return{itemCount:Number(t?.itemCount)||0,uploadedAt:t?.uploadedAt??null}}var $=Y(ae()),T_=1.54,z_=1440,A_=25,kd=800,R_=1500,Nd=e=>Number.parseFloat(e)||0,Un={mot:{label:"MOT Type 1",blurb:"Sub-base for patios and driveways",density:1.7,productId:"6001007"},"sharp-sand":{label:"Sharp sand",blurb:"Bedding and general groundwork",density:1.6,productId:"6001012"},gravel:{label:"20mm gravel",blurb:"Drainage and landscaping",density:1.6,productId:"6001004"}};function Sd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let r=Fs(),[n,i]=(0,fr.useState)("m"),[o,l]=(0,fr.useState)(""),[c,p]=(0,fr.useState)(""),[f,b]=(0,fr.useState)(""),[d,h]=(0,fr.useState)("concrete"),[w,E]=(0,fr.useState)("mot"),[D,m]=(0,fr.useState)(!1),[u,g]=(0,fr.useState)(null),v=n==="m"?1:.3048,N=Nd(o)*v*Nd(c)*v*Nd(f)*(n==="m"?.01:.0254),R=Un[w],T=N*T_/7,z=T*z_,G=T*2,K=T*4,xe=Math.ceil(z/A_),Ee=Math.ceil(G*Un["sharp-sand"].density*1e3/kd),Ge=Math.ceil(K*Un.gravel.density*1e3/kd),Qe=Math.ceil(N*R.density*1e3/kd),Ie=d==="concrete"?[{key:"cement",label:"Blue Circle General Purpose Grey Cement 25kg",qty:xe,productId:"6003004"},{key:"sharp-sand",label:"Sharp Sand Bulk Bag (800kg)",qty:Ee,productId:"6001012"},{key:"gravel",label:"20mm Non Decorative Pea Shingle/Gravel Bulk Bag (800kg)",qty:Ge,productId:"6001004"}]:[{key:w,label:`${R.label} Bulk Bag (800kg)`,qty:Qe,productId:R.productId}],ue=()=>{if(t){t(Ie.map(se=>({key:se.key,label:se.label,qty:se.qty,unit:"each",query:se.productId})));return}Q()},Q=async()=>{let se=Date.now();m(!0),g(null);try{let Ne=await Promise.all(Ie.map(async Ye=>{let ge=(await Jr(Ye.productId)).find(We=>We.product_id===Ye.productId);if(!ge)throw new Error(`${Ye.label} is no longer available in this catalogue.`);return Kr(ge,{lineId:`concrete-aggregate:${Ye.key}`,description:Ye.label,unit:"bag",qty:Ye.qty})})),lt=R_-(Date.now()-se);lt>0&&await new Promise(Ye=>window.setTimeout(Ye,lt)),r?.clearCart(),r?.addManyToCart(Ne),r?.openBasket()}catch(Ne){g(Ne instanceof Error?Ne.message:"Could not add the products to your basket.")}finally{m(!1)}};return D?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)("div",{className:"truss-estimator",children:[(0,$.jsxs)("div",{className:"quick-order-hero",children:[(0,$.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,$.jsx)("h1",{children:"Your Materials"}),(0,$.jsx)("p",{children:"Calculating quantities from the Concrete & Aggregate Calculator."})]}),(0,$.jsx)("div",{className:"truss-estimator__card",children:(0,$.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,$.jsx)(dr,{}),(0,$.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})}):(0,$.jsx)($.Fragment,{children:(0,$.jsxs)("div",{className:"truss-estimator",children:[(0,$.jsxs)("div",{className:"quick-order-hero",children:[(0,$.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,$.jsx)("h1",{children:"Concrete & Aggregate Calculator"}),(0,$.jsx)("p",{children:"Calculate fixed site-mix concrete ingredients or aggregate bulk bags."})]}),(0,$.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,$.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose what you need"}),(0,$.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the area and depth. The calculator adds the fixed Materials Market products directly to your basket."}),(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Material type"}),(0,$.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${d==="concrete"?" is-selected":""}`,onClick:()=>h("concrete"),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:"Site-mixed concrete"}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:"Cement, sharp sand and 20mm aggregate"})]}),(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${d==="aggregate"?" is-selected":""}`,onClick:()=>h("aggregate"),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:"Aggregates"}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:"MOT Type 1, sharp sand or 20mm gravel"})]})]})]}),d==="aggregate"&&(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Aggregate type"}),(0,$.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.keys(Un).map(se=>(0,$.jsxs)("button",{type:"button",className:`truss-estimator__option-card${w===se?" is-selected":""}`,onClick:()=>E(se),children:[(0,$.jsx)("div",{className:"truss-estimator__option-title",children:Un[se].label}),(0,$.jsx)("div",{className:"truss-estimator__option-copy",children:Un[se].blurb})]},se))})]}),(0,$.jsxs)("div",{className:"materials-calculator__section",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and depth"}),(0,$.jsxs)("div",{className:"materials-calculator__unit-row",children:[(0,$.jsx)("span",{children:"Units"}),(0,$.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,$.jsx)("button",{type:"button",className:n==="m"?"is-selected":"",onClick:()=>i("m"),children:"Metric"}),(0,$.jsx)("button",{type:"button",className:n==="ft"?"is-selected":"",onClick:()=>i("ft"),children:"Imperial"})]})]}),(0,$.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,$.jsxs)("label",{className:"truss-estimator__field",children:[(0,$.jsxs)("span",{children:["Length (",n,")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.01",value:o,onChange:se=>l(se.target.value)})]}),(0,$.jsxs)("label",{className:"truss-estimator__field",children:[(0,$.jsxs)("span",{children:["Width (",n,")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.01",value:c,onChange:se=>p(se.target.value)})]})]}),(0,$.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,$.jsxs)("span",{children:["Depth (",n==="m"?"cm":"inches",")"]}),(0,$.jsx)("input",{type:"number",min:"0",step:"0.1",value:f,onChange:se=>b(se.target.value)})]})]}),(0,$.jsxs)("div",{className:"materials-calculator__totals",children:[(0,$.jsx)("div",{className:"truss-estimator__section-heading",children:"Materials required"}),(0,$.jsx)("div",{className:"materials-calculator__result-grid",children:d==="concrete"?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Cement"}),(0,$.jsxs)("strong",{children:[z.toFixed(0)," kg"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Sharp sand"}),(0,$.jsxs)("strong",{children:[G.toFixed(2)," m\xB3"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"20mm aggregate"}),(0,$.jsxs)("strong",{children:[K.toFixed(2)," m\xB3"]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:R.label}),(0,$.jsxs)("strong",{children:[N.toFixed(2)," m\xB3"]})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("span",{children:"Approx. weight"}),(0,$.jsxs)("strong",{children:[(N*R.density).toFixed(2)," t"]})]}),(0,$.jsx)("div",{})]})}),(0,$.jsx)("p",{className:"materials-calculator__note",children:d==="concrete"?"Based on a 1:2:4 mix. Confirm the mix design for structural work.":"Figures are estimates. Confirm the specification and supplier quantities before ordering."})]}),u&&(0,$.jsx)("p",{className:"results-empty-hint estimator-products__error",children:u}),(0,$.jsxs)("div",{className:"materials-calculator__actions",children:[(0,$.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,$.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:ue,disabled:N<=0||D,children:D?"Adding products\u2026":a})]})]})]})})}var Ya=Y(Ke());var U=Y(ae()),Dn=12,Bn=8,ec=.56,gw=.21,Sa={ranges:{meridian:{label:"Standard grooved timber",blurb:"32 \xD7 125mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.125},summit:{label:"Wide grooved timber",blurb:"32 \xD7 150mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.15}},boardGapM:.006,wastage:{straight:.05,diagonal:.15},pictureFrame:{extraWastage:.08},joist:{lengthM:2.4,spacingOptions:[{id:"300",label:"300mm centres (heavy duty)",spacingM:.3},{id:"400",label:"400mm centres (standard)",spacingM:.4},{id:"450",label:"450mm centres (light use)",spacingM:.45}]}},Si=["range","grid","pictureFrame","substructure"],U_={range:null,colour:null,deckSizeMode:"quick",quickLengthM:"",quickWidthM:"",points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:"",pictureFrame:null,direction:null,deckHeightMode:"standard",deckHeightCm:"",joistSpacing:null,supportType:null,contact:{name:"",email:""}},tc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),ac=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),D_=(e,t,a,r)=>{let n=tc(e,t,a),i=tc(e,t,r),o=tc(a,r,e),l=tc(a,r,t);return n===0&&ac(e,t,a)||i===0&&ac(e,t,r)||o===0&&ac(a,r,e)||l===0&&ac(a,r,t)?!0:n>0!=i>0&&o>0!=l>0},Cd=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1){let n=e[(r+1)%e.length];for(let i=r+1;i<a;i+=1)if(!(i===r+1||t&&r===0&&i===a-1)&&D_(e[r],n,e[i],e[(i+1)%e.length]))return!0}return!1};function qd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,Ya.useState)(0),[i,o]=(0,Ya.useState)(U_),[l,c]=(0,Ya.useState)(1),[p,f]=(0,Ya.useState)({x:0,y:0}),[b,d]=(0,Ya.useState)(null),h=(0,Ya.useRef)(null),w=(0,Ya.useRef)(null),E=(0,Ya.useRef)(null),D=Si[r],m=i.range?Sa.ranges[i.range]:null,u=Dn/l,g=Bn/l,v=(Dn-u)/2,N=(Bn-g)/2,R=Math.max(-Dn,Math.min(Dn*2-u,v+p.x)),T=Math.max(-Bn,Math.min(Bn*2-g,N+p.y)),z=Number.parseFloat(i.quickLengthM),G=Number.parseFloat(i.quickWidthM),K=z>0&&G>0,xe=M=>Math.abs(M.reduce((x,A,I)=>{let ce=M[(I+1)%M.length];return x+A.x*ce.y-ce.x*A.y},0))/2,Ee=(M,x)=>Math.hypot(x.x-M.x,x.y-M.y),Ge=i.isOutlineClosed?xe(i.points):0,Qe=i.isOutlineClosed?i.points.reduce((M,x,A)=>M+Ee(x,i.points[(A+1)%i.points.length]),0):0,Ie=i.isOutlineClosed?i.points.reduce((M,x,A)=>M+(i.wallSegments.has(A)?0:Ee(x,i.points[(A+1)%i.points.length])),0):0,ue=i.points.reduce((M,x)=>({x:M.x+x.x/i.points.length,y:M.y+x.y/i.points.length}),{x:0,y:0}),Q=i.points.length>1?(()=>{let M=i.points[0],x=i.points[1],A=Ee(M,x),I=A?-(x.y-M.y)/A:0,ce=A?(x.x-M.x)/A:0,me=(M.x+x.x)/2,ke=(M.y+x.y)/2,k=I*(me-ue.x)+ce*(ke-ue.y)>=0?1:-1;return{x:me+I*ec*k,y:ke+ce*ec*k}})():null,Ne=(()=>{let M=i.range?Sa.ranges[i.range]:Sa.ranges.meridian,x=i.deckSizeMode==="quick"?z*G:Ge,A=i.deckSizeMode==="quick"?2*(z+G):Ie,I=i.direction==="diagonal"?Sa.wastage.diagonal:Sa.wastage.straight,ce=i.pictureFrame==="yes"?Sa.pictureFrame.extraWastage:0,ke=x/(M.boardWidthM+Sa.boardGapM)/M.boardLengthM,k=Math.ceil(ke*(1+I+ce)),j=Math.ceil(x*30*(1+I+ce)/200),O=Sa.joist.spacingOptions.find(C=>C.id===i.joistSpacing)??Sa.joist.spacingOptions[1],ne=x/O.spacingM,ee=Math.ceil(ne/Sa.joist.lengthM);return{range:M,area:x,boardCount:k,screwBoxes:j,joistLengthsNeeded:ee,spacing:O}})(),lt=Ne?[{key:`boards-${i.range??"meridian"}`,label:`Deck boards (${Ne.range.label})`,qty:Ne.boardCount,unit:"each",query:"timber decking board",category:"decking",calculatorWasteIncluded:!0},{key:"joists",label:"Treated C24 joists",qty:Ne.joistLengthsNeeded,unit:"each",query:"treated joist",category:"timber",calculatorWasteIncluded:!0},{key:"screws",label:"Green decking screws (200/box)",qty:Ne.screwBoxes,unit:"box",query:"green decking screws",category:"fixings",calculatorWasteIncluded:!0}]:[],Ye=()=>D==="range"?!!i.range:D==="grid"?i.deckSizeMode==="quick"?K:i.isOutlineClosed&&Ge>0:D==="pictureFrame"?!!i.pictureFrame&&!!i.direction:D==="substructure"?!!i.joistSpacing:!0,ge=r===Si.length-1?a:"Next",We=(M,x,A=!1)=>{let I=E.current?.getBoundingClientRect();if(!I)return null;let ce=A?1:.25;return{x:Math.round(Math.max(R,Math.min(R+u,R+(M-I.left)/I.width*u))/ce)*ce,y:Math.round(Math.max(T,Math.min(T+g,T+(x-I.top)/I.height*g))/ce)*ce}},he=M=>{if(i.isOutlineClosed){let A=M.target;if(A!==M.currentTarget&&!A.classList.contains("deck-outline__grid"))return;w.current={startX:M.clientX,startY:M.clientY,startViewX:R,startViewY:T},M.currentTarget.setPointerCapture(M.pointerId);return}if(i.drawMode!=="outline")return;let x=We(M.clientX,M.clientY,!0);x&&(d(null),o(A=>{let I=[...A.points,x];return Cd(I,!1)?{...A,drawError:"Edges cannot cross. Choose another corner."}:{...A,points:I,drawError:""}}))},W=(M,x)=>{if(!i.isOutlineClosed){M.stopPropagation(),x===0&&i.points.length>=3&&o(A=>({...A,isOutlineClosed:!0,drawMode:"edges"}));return}M.stopPropagation(),h.current=x,M.currentTarget.setPointerCapture(M.pointerId)},Re=M=>{if(w.current){let I=E.current?.getBoundingClientRect();if(!I)return;let ce=w.current,me=ce.startViewX-(M.clientX-ce.startX)/I.width*u,ke=ce.startViewY-(M.clientY-ce.startY)/I.height*g;f({x:me-v,y:ke-N});return}!i.isOutlineClosed&&i.drawMode==="outline"&&d(We(M.clientX,M.clientY,!0));let x=h.current;if(x===null)return;let A=We(M.clientX,M.clientY);A&&o(I=>{let ce=I.points.map((me,ke)=>ke===x?A:me);return Cd(ce,!0)?{...I,drawError:"Edges cannot cross. Move the corner to a different position."}:{...I,points:ce,drawError:""}})},Be=M=>{w.current=null,h.current=null,M.currentTarget.hasPointerCapture(M.pointerId)&&M.currentTarget.releasePointerCapture(M.pointerId)},ye=M=>{o(x=>{let A=new Set(x.wallSegments);return A.has(M)?A.delete(M):A.add(M),{...x,wallSegments:A}})},et=()=>{r===0?e():n(M=>M-1)},Ze=()=>{Ye()&&(r===Si.length-1?t?.(lt):n(M=>M+1))};return(0,U.jsx)(U.Fragment,{children:(0,U.jsxs)("div",{className:"truss-estimator",children:[(0,U.jsxs)("div",{className:"quick-order-hero",children:[(0,U.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,U.jsx)("h1",{children:"Decking Calculator"}),(0,U.jsx)("p",{children:"Estimate timber boards, joists and screws for your deck."})]}),(0,U.jsxs)("div",{className:"truss-estimator__card",children:[(0,U.jsxs)("div",{className:"truss-estimator__body",children:[D==="range"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your timber decking"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Both options are fixed, orderable pressure-treated timber boards."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Sa.ranges).map(([M,x])=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.range===M?" is-selected":""}`,onClick:()=>o(A=>({...A,range:M})),children:[(0,U.jsx)("div",{className:"truss-estimator__option-title",children:x.label}),(0,U.jsx)("div",{className:"truss-estimator__option-copy",children:x.blurb}),(0,U.jsxs)("div",{className:"truss-estimator__option-copy",children:[x.boardLengthM,"m boards"]})]},M))})]}):null,D==="grid"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Tell us your deck size"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Start with a quick rectangle estimate, or draw an irregular deck for a more precise result."}),(0,U.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.deckSizeMode==="quick"?" is-selected":""}`,onClick:()=>o(M=>({...M,deckSizeMode:"quick"})),children:"Quick estimate"}),(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.deckSizeMode==="draw"?" is-selected":""}`,onClick:()=>o(M=>({...M,deckSizeMode:"draw",drawMode:"outline"})),children:"Draw your space"})]}),i.deckSizeMode==="quick"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Length (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:i.quickLengthM,onChange:M=>o(x=>({...x,quickLengthM:M.target.value}))})]}),(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Width (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:i.quickWidthM,onChange:M=>o(x=>({...x,quickWidthM:M.target.value}))})]})]}),(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:"For L-shaped decks, cut-outs, or sides against a wall, use Draw your space."}),K?(0,U.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,U.jsxs)("div",{children:[(z*G).toFixed(2)," m\xB2 deck"]}),(0,U.jsxs)("div",{children:[(2*(z+G)).toFixed(2)," m perimeter"]})]}):null]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Draw your deck"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Click to add corners, then close the outline. Drag any handle to refine it."}),(0,U.jsxs)("div",{className:"deck-outline__toolbar",children:[i.isOutlineClosed?(0,U.jsxs)("div",{className:"deck-outline__summary",children:[(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Deck area"}),(0,U.jsxs)("strong",{children:[Ge.toFixed(2)," m\xB2"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Perimeter"}),(0,U.jsxs)("strong",{children:[Qe.toFixed(2)," m"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Wall edges"}),(0,U.jsx)("strong",{children:i.wallSegments.size>0?i.wallSegments.size:"None"})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Visible edge"}),(0,U.jsxs)("strong",{children:[Ie.toFixed(2)," m"]})]})]}):null,(0,U.jsxs)("div",{className:"deck-outline__actions",children:[(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(M=>({...M,points:M.points.slice(0,-1)})),disabled:i.points.length===0||i.isOutlineClosed,children:"Undo"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{d(null),o(M=>({...M,points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:""}))},disabled:i.points.length===0,children:"Clear"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(M=>({...M,points:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5}],isOutlineClosed:!0,wallSegments:new Set,drawMode:"edges",drawError:""})),children:"Start with rectangle"})]})]}),(0,U.jsx)("div",{className:"deck-editor-layout",children:(0,U.jsxs)("div",{className:"deck-editor-layout__canvas-column",children:[(0,U.jsxs)("div",{className:"deck-outline",children:[(0,U.jsxs)("svg",{ref:E,className:`deck-outline__canvas${i.isOutlineClosed?" is-pan-mode":""}`,viewBox:`${R} ${T} ${u} ${g}`,preserveAspectRatio:"none","aria-label":"Deck outline drawing area",onPointerDown:he,onPointerMove:Re,onPointerUp:Be,onPointerLeave:()=>{d(null),w.current||(h.current=null)},children:[(0,U.jsx)("defs",{children:(0,U.jsx)("pattern",{id:"deck-outline-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,U.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,U.jsx)("rect",{x:-Dn,y:-Bn,width:Dn*3,height:Bn*3,className:"deck-outline__grid",fill:"url(#deck-outline-grid)"}),i.points.length>1?(0,U.jsx)("polyline",{className:"deck-outline__preview",points:i.points.map(M=>`${M.x},${M.y}`).join(" ")}):null,i.isOutlineClosed?(0,U.jsx)("polygon",{className:"deck-outline__shape",points:i.points.map(M=>`${M.x},${M.y}`).join(" "),stroke:"none"}):null,i.points.length>1?i.points.slice(0,i.isOutlineClosed?void 0:-1).map((M,x)=>{let A=i.points[i.isOutlineClosed?(x+1)%i.points.length:x+1],I=Ee(M,A),ce=I?-(A.y-M.y)/I:0,me=I?(A.x-M.x)/I:0,ke=(M.x+A.x)/2,k=(M.y+A.y)/2,j=ce*(ke-ue.x)+me*(k-ue.y)>=0?1:-1,O=ke+ce*ec*j,ne=k+me*ec*j;return(0,U.jsxs)("g",{children:[(0,U.jsx)("line",{className:"deck-outline__edge-hit",x1:M.x,y1:M.y,x2:A.x,y2:A.y,onClick:i.isOutlineClosed?()=>ye(x):void 0}),(0,U.jsx)("line",{className:`deck-outline__edge${i.wallSegments.has(x)?" is-wall":""}`,x1:M.x,y1:M.y,x2:A.x,y2:A.y,pointerEvents:"none"}),(0,U.jsxs)("text",{className:`deck-outline__edge-label${i.wallSegments.has(x)?" is-wall":""}`,x:O,y:ne,textAnchor:"middle",dominantBaseline:"central",fontSize:gw/l,children:[I.toFixed(2)," m"]})]},`segment-${x}`)}):null,!i.isOutlineClosed&&i.points.length>0&&b?(()=>{let M=i.points[i.points.length-1],x=Ee(M,b);if(!x)return null;let A=-(b.y-M.y)/x,I=(b.x-M.x)/x,ce=(M.x+b.x)/2,me=(M.y+b.y)/2;return(0,U.jsxs)("g",{className:"deck-outline__live-measurement",children:[(0,U.jsx)("line",{x1:M.x,y1:M.y,x2:b.x,y2:b.y}),(0,U.jsxs)("text",{x:ce+A*.34,y:me+I*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:gw/l,children:[x.toFixed(2)," m"]})]})})():null,i.points.map((M,x)=>(0,U.jsx)("circle",{className:"deck-outline__point",cx:M.x,cy:M.y,r:"0.13",onPointerDown:A=>W(A,x)},`point-${x}`))]}),(0,U.jsxs)("div",{className:"deck-outline__zoom","aria-label":"Zoom controls",children:[(0,U.jsx)("button",{type:"button",onClick:()=>c(M=>Math.max(.5,M-.25)),disabled:l===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,U.jsxs)("span",{children:[Math.round(l*100),"%"]}),(0,U.jsx)("button",{type:"button",onClick:()=>c(M=>Math.min(1,M+.25)),disabled:l===1,"aria-label":"Zoom in",children:"+"})]}),i.isOutlineClosed&&i.wallSegments.size===0&&Q?(0,U.jsx)("div",{className:"deck-outline__edge-prompt",role:"status",style:{left:`${(Q.x-R)/u*100}%`,top:`${(Q.y-T)/g*100}%`},children:"Tap an edge to mark it as a wall, or leave it as a visible edge."}):null,!i.isOutlineClosed&&i.points.length>=3?(0,U.jsx)("button",{type:"button",className:"deck-outline__close",onClick:()=>o(M=>Cd(M.points,!0)?{...M,drawError:"Edges cannot cross. Adjust the outline before finishing."}:{...M,isOutlineClosed:!0,drawMode:"edges",drawError:""}),children:"Finish outline"}):null]}),(0,U.jsxs)("div",{className:"deck-outline__supporting",children:[(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:i.isOutlineClosed?"Drag a corner handle to refine the outline.":"Add at least three corners, then click Finish outline."}),i.drawError?(0,U.jsx)("div",{className:"deck-outline__error",role:"alert",children:i.drawError}):null]})]})})]})]}):null,D==="pictureFrame"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Picture frame border?"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"A picture frame border runs boards around the perimeter for a finished look and uses extra material."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No border",img:"/decking/boards/no-border.webp"},{id:"yes",label:"Picture frame",img:"/decking/boards/picture-frame.webp"}].map(M=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.pictureFrame===M.id?" is-selected":""}`,onClick:()=>o(x=>({...x,pictureFrame:M.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:Pt(M.img),alt:""}),(0,U.jsx)("span",{children:M.label})]},M.id))}),(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Board direction"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"straight",label:"Straight",img:"/decking/boards/straight.webp"},{id:"diagonal",label:"Diagonal",img:"/decking/boards/diagonal.webp"}].map(M=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.direction===M.id?" is-selected":""}`,onClick:()=>o(x=>({...x,direction:M.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:Pt(M.img),alt:""}),(0,U.jsx)("span",{children:M.label})]},M.id))})]})]}):null,D==="substructure"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Substructure"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the joist spacing. Posts, footings and ground preparation vary by site, so are not included."}),(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Joist spacing"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Sa.joist.spacingOptions.map(M=>(0,U.jsx)("button",{type:"button",className:`truss-estimator__option-card${i.joistSpacing===M.id?" is-selected":""}`,onClick:()=>o(x=>({...x,joistSpacing:M.id})),children:(0,U.jsx)("div",{className:"truss-estimator__option-title",children:M.label})},M.id))})]}):null]}),(0,U.jsxs)("div",{className:"truss-estimator__nav",children:[(0,U.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:et,children:"Back"}),(0,U.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:Ze,disabled:!Ye(),children:[(0,U.jsx)("span",{children:ge}),(0,U.jsx)("span",{className:"arrow",children:(0,U.jsx)(Ht,{})})]})]})]})]})})}var qa=Y(Ke());var H=Y(ae()),hw=12,bw=30,On=12,Ln=8,vw=.56,Ca={ranges:{boundary:{label:"Horizontal lap",blurb:"Traditional pressure-treated timber panels.",panelWidthM:1.83},skyline:{label:"Feather edge",blurb:"Heavier timber panels for a more solid boundary.",panelWidthM:1.83}},heights:["0.9","1.2","1.5","1.8"],gate:{single:{label:"Single lap gate",widthDefault:.9}},mounting:{concrete:{label:"Concrete posts",blurb:"Slotted concrete posts with matching panels."},postcrete:{label:"Postcrete bags",blurb:"Fast-set post-mix bags in a dug hole.",bagsPerPost:2}}},Ci=["range","height","gate","posts"],B_={range:null,colour:null,grid:new Set,excludedEdges:new Set,gridMode:"draw",boundaryMode:"quick",quickLengthM:"",boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set,height:null,gravelBoard:null,gateType:null,gateWidthM:"",mountingType:null,contact:{name:"",email:""}},rc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),ic=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),O_=(e,t,a,r)=>{let n=rc(e,t,a),i=rc(e,t,r),o=rc(a,r,e),l=rc(a,r,t);return n===0&&ic(e,t,a)||i===0&&ic(e,t,r)||o===0&&ic(a,r,e)||l===0&&ic(a,r,t)?!0:n>0!=i>0&&o>0!=l>0},nc=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1)for(let n=r+1;n<a;n+=1)if(!(n===r+1||t&&r===0&&n===a-1)&&O_(e[r],e[(r+1)%e.length],e[n],e[(n+1)%e.length]))return!0;return!1};function Ed({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,qa.useState)(0),[i,o]=(0,qa.useState)(B_),l=(0,qa.useRef)(null),c=(0,qa.useRef)(null),[p,f]=(0,qa.useState)(1),[b,d]=(0,qa.useState)({x:0,y:0}),[h,w]=(0,qa.useState)(null),E=(0,qa.useRef)(null),D=(0,qa.useRef)(null),m=(0,qa.useRef)(null),u=Ci[r],g=i.range?Ca.ranges[i.range]:null,v=On/p,N=Ln/p,R=(On-v)/2,T=(Ln-N)/2,z=Math.max(-On,Math.min(On*2-v,R+b.x)),G=Math.max(-Ln,Math.min(Ln*2-N,T+b.y)),K=i.boundaryPoints.reduce((k,j)=>({x:k.x+j.x/Math.max(1,i.boundaryPoints.length),y:k.y+j.y/Math.max(1,i.boundaryPoints.length)}),{x:0,y:0}),xe=k=>{let j=new Set,O=[];return k.forEach(ne=>{let[ee,C]=ne.split(",").map(Number),V=[{key:`H,${ee},${C}`,type:"H",x:ee,y:C},{key:`H,${ee},${C+1}`,type:"H",x:ee,y:C+1},{key:`V,${ee},${C}`,type:"V",x:ee,y:C},{key:`V,${ee+1},${C}`,type:"V",x:ee+1,y:C}],X=[!k.has(`${ee},${C-1}`),!k.has(`${ee},${C+1}`),!k.has(`${ee-1},${C}`),!k.has(`${ee+1},${C}`)];V.forEach((pe,Se)=>{X[Se]&&!j.has(pe.key)&&(j.add(pe.key),O.push(pe))})}),O},Ee=(k,j)=>xe(k).filter(O=>!j.has(O.key)),Ge=(k,j)=>Ee(k,j).length,Qe=(k,j)=>{let O={};Ee(k,j).forEach(ee=>{var C,V,X,pe;ee.type==="H"?((O[C=`${ee.x},${ee.y}`]||(O[C]=[])).push("H"),(O[V=`${ee.x+1},${ee.y}`]||(O[V]=[])).push("H")):((O[X=`${ee.x},${ee.y}`]||(O[X]=[])).push("V"),(O[pe=`${ee.x},${ee.y+1}`]||(O[pe]=[])).push("V"))});let ne=0;return Object.values(O).forEach(ee=>{(ee.length===1||ee.length===2&&ee[0]!==ee[1]||ee.length>=3)&&(ne+=1)}),ne},ue=(()=>{let k=i.range?Ca.ranges[i.range]:Ca.ranges.boundary,j=i.height??"1.8",O=i.boundaryMode==="quick"?Math.max(0,Number.parseFloat(i.quickLengthM)||0):i.boundaryClosed?i.boundaryPoints.slice(0,-1).reduce((hr,Ft,It)=>hr+(i.excludedBoundaryEdges.has(It)?0:Math.hypot(i.boundaryPoints[It+1].x-Ft.x,i.boundaryPoints[It+1].y-Ft.y)),0):0,ne=i.gateType&&i.gateType!=="none"?Number.parseFloat(i.gateWidthM)||Ca.gate[i.gateType].widthDefault:0,ee=Math.max(0,O-ne),C=ee>0?Math.ceil(ee/k.panelWidthM):0,V=i.boundaryPoints.length>2&&i.boundaryPoints[0].x===i.boundaryPoints[i.boundaryPoints.length-1].x&&i.boundaryPoints[0].y===i.boundaryPoints[i.boundaryPoints.length-1].y,X=i.boundaryMode==="quick"?ee>0?2:0:i.boundaryClosed?i.boundaryPoints.slice(0,V?-1:void 0).reduce((hr,Ft,It)=>{let Xd=It>0&&!i.excludedBoundaryEdges.has(It-1),$d=It<i.boundaryPoints.length-1&&!i.excludedBoundaryEdges.has(It);return hr+(Xd||$d?1:0)},0):0,pe=ee>0?Math.ceil(ee/k.panelWidthM)+1:0,Se=Math.max(0,pe-X),ft=i.mountingType?Ca.mounting[i.mountingType]:Ca.mounting.concrete,Ve=i.gateType&&i.gateType!=="none"?2:0,Fr=Se+X+Ve,Ir=i.mountingType==="postcrete"?Fr*Ca.mounting.postcrete.bagsPerPost:0,ll=i.gravelBoard==="yes"?C:0;return{range:k,height:j,totalEdgeM:O,fencedLengthM:ee,gateWidthM:ne,panelsCount:C,cornerPostCount:X,intermediatePostCount:Se,gatePostCount:Ve,totalPostCount:Fr,bagsCount:Ir,gravelCount:ll,capCount:Fr,mounting:ft}})(),Q=i.gateType&&i.gateType!=="none"?Ca.gate[i.gateType].label:null,se=Number(ue.height)<=1.2?"6":"8",Ne=ue?[{key:`panels-${i.range??"boundary"}-${ue.height}`,label:`${ue.range.label} panels (${ue.height}m)`,qty:ue.panelsCount,unit:"each",query:"fence panel",category:"fencing"},...i.mountingType==="concrete"?[{key:`concrete-intermediate-${se}`,label:"Intermediate concrete posts",qty:ue.intermediatePostCount,unit:"each",query:"concrete fence post",category:"fencing"},{key:`concrete-end-${se}`,label:"End and corner concrete posts",qty:ue.cornerPostCount+ue.gatePostCount,unit:"each",query:"concrete end post",category:"fencing"}]:[{key:`timber-post-${se}`,label:"Timber fence posts",qty:ue.totalPostCount,unit:"each",query:"timber fence post",category:"fencing"},{key:"postcrete",label:"Postcrete",qty:ue.bagsCount,unit:"bag",query:"postcrete",category:"cement"}],...Q?[{key:"gate",label:Q,qty:1,unit:"each",query:"lap gate",category:"fencing"}]:[],...ue.gravelCount>0?[{key:"gravel-boards",label:"Concrete gravel boards",qty:ue.gravelCount,unit:"each",query:"gravel board",category:"fencing"}]:[]]:[],lt=()=>{if(u==="range"){let k=i.boundaryMode==="quick"?(Number.parseFloat(i.quickLengthM)||0)>0:i.boundaryClosed&&i.boundaryPoints.length>=2;return!!i.range&&k}return u==="height"?!!i.height&&!!i.gravelBoard:u==="gate"?!!i.gateType&&(i.gateType==="none"||i.gateWidthM.trim()!==""):u==="posts"?!!i.mountingType:!0},Ye=r===Ci.length-1?a:"Next",ge=k=>{o(j=>{let O=k(new Set(j.grid)),ne=new Set([...j.excludedEdges].filter(ee=>xe(O).some(C=>C.key===ee)));return{...j,grid:O,excludedEdges:ne}})},We=(k,j,O)=>{ge(ne=>{let ee=`${k},${j}`;return O?ne.add(ee):ne.delete(ee),ne})},he=(k,j,O,ne,ee)=>{let C=k,V=j,X=Math.abs(O-k),pe=k<O?1:-1,Se=-Math.abs(ne-j),ft=j<ne?1:-1,Ve=X+Se;for(;We(C,V,ee),!(C===O&&V===ne);){let Fr=2*Ve;Fr>=Se&&(Ve+=Se,C+=pe),Fr<=X&&(Ve+=X,V+=ft)}},W=(k,j)=>{let O=c.current?.getBoundingClientRect();if(!O)return null;let ne=Math.floor((k-O.left)/bw),ee=Math.floor((j-O.top)/bw);return ne<0||ee<0||ne>=hw||ee>=hw?null:{x:ne,y:ee}},Re=k=>{if(i.gridMode!=="draw")return;let j=W(k.clientX,k.clientY);if(!j)return;k.preventDefault();let O=`${j.x},${j.y}`,ne=!i.grid.has(O);l.current={active:!0,paintValue:ne,lastX:j.x,lastY:j.y},k.currentTarget.setPointerCapture(k.pointerId),We(j.x,j.y,ne)},Be=k=>{let j=l.current;if(!j?.active)return;let O=W(k.clientX,k.clientY);O&&(O.x===j.lastX&&O.y===j.lastY||(he(j.lastX,j.lastY,O.x,O.y,j.paintValue),l.current={...j,lastX:O.x,lastY:O.y}))},ye=k=>{l.current?.active&&(l.current=null,k.currentTarget.releasePointerCapture(k.pointerId))},et=(k,j,O=!1)=>{let ne=m.current?.getBoundingClientRect();if(!ne)return null;let ee=O?1:.25;return{x:Math.round(Math.max(z,Math.min(z+v,z+(k-ne.left)/ne.width*v))/ee)*ee,y:Math.round(Math.max(G,Math.min(G+N,G+(j-ne.top)/ne.height*N))/ee)*ee}},Ze=k=>{if(i.boundaryClosed){let O=k.target;if(O!==k.currentTarget&&!O.classList.contains("fence-boundary__grid"))return;D.current={startX:k.clientX,startY:k.clientY,startViewX:z,startViewY:G},k.currentTarget.setPointerCapture(k.pointerId);return}let j=et(k.clientX,k.clientY,!0);j&&(w(null),o(O=>{let ne=[...O.boundaryPoints,j];return nc(ne,!1)?{...O}:{...O,boundaryPoints:ne}}))},M=(k,j)=>{if(k.stopPropagation(),!i.boundaryClosed){if(j!==0||i.boundaryPoints.length<3)return;o(O=>nc(O.boundaryPoints,!0)?O:{...O,boundaryPoints:[...O.boundaryPoints,O.boundaryPoints[0]],boundaryClosed:!0});return}E.current=j,k.currentTarget.setPointerCapture(k.pointerId)},x=k=>{if(D.current){let O=m.current?.getBoundingClientRect();if(!O)return;let ne=D.current,ee=ne.startViewX-(k.clientX-ne.startX)/O.width*v,C=ne.startViewY-(k.clientY-ne.startY)/O.height*N;d({x:ee-R,y:C-T});return}if(i.boundaryClosed||w(et(k.clientX,k.clientY,!0)),E.current===null)return;let j=et(k.clientX,k.clientY);j&&o(O=>{let ne=O.boundaryPoints.length>2&&O.boundaryPoints[0].x===O.boundaryPoints[O.boundaryPoints.length-1].x&&O.boundaryPoints[0].y===O.boundaryPoints[O.boundaryPoints.length-1].y,ee=O.boundaryPoints.map((C,V)=>{let X=V===E.current,pe=ne&&E.current===0&&V===O.boundaryPoints.length-1;return X||pe?j:C});return nc(ee,!1)?O:{...O,boundaryPoints:ee}})},A=k=>{D.current=null,E.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},I=k=>{o(j=>{let O=new Set(j.excludedBoundaryEdges);return O.has(k)?O.delete(k):O.add(k),{...j,excludedBoundaryEdges:O}})},ce=()=>{r===0?e():n(k=>k-1)},me=()=>{lt()&&(r===Ci.length-1?t?.(Ne):n(k=>k+1))},ke=xe(i.grid);return(0,H.jsx)(H.Fragment,{children:(0,H.jsxs)("div",{className:"truss-estimator",children:[(0,H.jsxs)("div",{className:"quick-order-hero",children:[(0,H.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,H.jsx)("h1",{children:"Fencing Calculator"}),(0,H.jsx)("p",{children:"Estimate panels, posts and cost for your fence line in a few steps."})]}),(0,H.jsxs)("div",{className:"truss-estimator__card",children:[(0,H.jsxs)("div",{className:"truss-estimator__body",children:[u==="range"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your fence panels"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"The calculator uses fixed, orderable timber panels from the catalogue."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ca.ranges).map(([k,j])=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.range===k?" is-selected":""}`,onClick:()=>o(O=>({...O,range:k})),children:[(0,H.jsx)("div",{className:"truss-estimator__option-title",children:j.label}),(0,H.jsx)("div",{className:"truss-estimator__option-copy",children:j.blurb})]},k))})]}):null,u==="range"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("div",{className:"truss-estimator__section-heading",children:"Measure your fence line"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Use a quick total, or draw the boundary to mark existing edges that do not need new fencing."}),(0,H.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,H.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.boundaryMode==="quick"?" is-selected":""}`,onClick:()=>o(k=>({...k,boundaryMode:"quick"})),children:"Quick estimate"}),(0,H.jsx)("button",{type:"button",className:`truss-estimator__toggle${i.boundaryMode==="draw"?" is-selected":""}`,onClick:()=>o(k=>({...k,boundaryMode:"draw"})),children:"Draw your boundary"})]}),i.boundaryMode==="quick"?(0,H.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact fence-boundary__quick-field",children:[(0,H.jsx)("span",{children:"Total fence length (m)"}),(0,H.jsx)("input",{type:"number",min:"0",step:"0.1",value:i.quickLengthM,onChange:k=>o(j=>({...j,quickLengthM:k.target.value}))})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("div",{className:"fence-boundary__toolbar",children:(0,H.jsxs)("div",{className:"fence-boundary__actions",children:[(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(k=>({...k,boundaryPoints:k.boundaryPoints.slice(0,-1),boundaryClosed:!1,excludedBoundaryEdges:new Set})),disabled:i.boundaryPoints.length===0||i.boundaryClosed,children:"Undo"}),(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{d({x:0,y:0}),w(null),o(k=>({...k,boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set}))},disabled:i.boundaryPoints.length===0,children:"Clear"}),(0,H.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(k=>({...k,boundaryPoints:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5},{x:2,y:2}],boundaryClosed:!0,excludedBoundaryEdges:new Set})),children:"Start with rectangle"})]})}),(0,H.jsxs)("div",{className:"fence-boundary",children:[(0,H.jsxs)("svg",{ref:m,className:`fence-boundary__canvas${i.boundaryClosed?" is-pan-mode":""}`,viewBox:`${z} ${G} ${v} ${N}`,preserveAspectRatio:"none","aria-label":"Fence boundary drawing area",onPointerDown:Ze,onPointerMove:x,onPointerUp:A,onPointerLeave:()=>{w(null),D.current||(E.current=null)},children:[(0,H.jsx)("defs",{children:(0,H.jsx)("pattern",{id:"fence-boundary-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,H.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,H.jsx)("rect",{x:-On,y:-Ln,width:On*3,height:Ln*3,className:"fence-boundary__grid",fill:"url(#fence-boundary-grid)"}),i.boundaryPoints.length>1?(0,H.jsx)("polyline",{className:"fence-boundary__preview",points:i.boundaryPoints.map(k=>`${k.x},${k.y}`).join(" ")}):null,i.boundaryPoints.length>1?i.boundaryPoints.slice(0,-1).map((k,j)=>{let O=i.boundaryPoints[j+1],ne=Math.hypot(O.x-k.x,O.y-k.y),ee=ne?-(O.y-k.y)/ne:0,C=ne?(O.x-k.x)/ne:0,V=(k.x+O.x)/2,X=(k.y+O.y)/2,pe=ee*(V-K.x)+C*(X-K.y)>=0?1:-1,Se=V+ee*vw*pe,ft=X+C*vw*pe;return(0,H.jsxs)("g",{children:[(0,H.jsx)("line",{className:"fence-boundary__edge-hit",x1:k.x,y1:k.y,x2:O.x,y2:O.y,onClick:i.boundaryClosed?()=>I(j):void 0}),(0,H.jsx)("line",{className:`fence-boundary__edge${i.excludedBoundaryEdges.has(j)?" is-excluded":""}`,x1:k.x,y1:k.y,x2:O.x,y2:O.y,pointerEvents:"none"}),(0,H.jsxs)("text",{className:`fence-boundary__edge-label${i.excludedBoundaryEdges.has(j)?" is-excluded":""}`,x:Se,y:ft,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[ne.toFixed(2)," m"]})]},`fence-edge-${j}`)}):null,!i.boundaryClosed&&i.boundaryPoints.length>0&&h?(()=>{let k=i.boundaryPoints[i.boundaryPoints.length-1],j=Math.hypot(h.x-k.x,h.y-k.y);if(!j)return null;let O=-(h.y-k.y)/j,ne=(h.x-k.x)/j,ee=(k.x+h.x)/2,C=(k.y+h.y)/2;return(0,H.jsxs)("g",{className:"fence-boundary__live-measurement",children:[(0,H.jsx)("line",{x1:k.x,y1:k.y,x2:h.x,y2:h.y}),(0,H.jsxs)("text",{x:ee+O*.34,y:C+ne*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[j.toFixed(2)," m"]})]})})():null,i.boundaryPoints.map((k,j)=>j>0&&j===i.boundaryPoints.length-1&&k.x===i.boundaryPoints[0]?.x&&k.y===i.boundaryPoints[0]?.y?null:(0,H.jsx)("circle",{className:`fence-boundary__point${!i.boundaryClosed&&j===0&&i.boundaryPoints.length>=3?" is-close-target":""}`,cx:k.x,cy:k.y,r:"0.13",onPointerDown:O=>M(O,j)},`fence-point-${j}`))]}),(0,H.jsxs)("div",{className:"fence-boundary__zoom","aria-label":"Zoom controls",children:[(0,H.jsx)("button",{type:"button",onClick:()=>f(k=>Math.max(.5,k-.25)),disabled:p===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,H.jsxs)("span",{children:[Math.round(p*100),"%"]}),(0,H.jsx)("button",{type:"button",onClick:()=>f(k=>Math.min(1,k+.25)),disabled:p===1,"aria-label":"Zoom in",children:"+"})]}),!i.boundaryClosed&&i.boundaryPoints.length>=2?(0,H.jsx)("button",{type:"button",className:"fence-boundary__close",onClick:()=>o(k=>nc(k.boundaryPoints,!1)?k:{...k,boundaryClosed:!0}),children:"Finish fence line"}):null]}),(0,H.jsx)("div",{className:"truss-estimator__grid-hint",children:i.boundaryClosed?"Drag the blank canvas to pan. Tap an edge to exclude it from the new fence.":"Click to add points, then finish the fence line. The displayed distances update as you draw."})]}),(0,H.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,H.jsx)("div",{children:i.boundaryMode==="quick"?`${(Number.parseFloat(i.quickLengthM)||0).toFixed(2)} m fence line`:`${ue.totalEdgeM.toFixed(2)} m fence line`}),i.boundaryMode==="draw"&&i.boundaryClosed?(0,H.jsxs)("div",{children:[ue.cornerPostCount," corner/end posts"]}):null]})]}):null,null,u==="height"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Fence height"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Select the nearest available panel height."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:Ca.heights.map(k=>(0,H.jsx)("button",{type:"button",className:`truss-estimator__visual-card${i.height===k?" is-selected":""}`,onClick:()=>o(j=>({...j,height:k})),children:(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--tall",src:Pt(`/fencing/height/${k}.webp`),alt:""})},k))}),(0,H.jsx)("div",{className:"truss-estimator__section-heading",children:"Gravel board?"}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No gravel board",img:"/fencing/no-gravel-board.webp"},{id:"yes",label:"Add gravel board",img:"/fencing/gravel-board.webp"}].map(k=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${i.gravelBoard===k.id?" is-selected":""}`,onClick:()=>o(j=>({...j,gravelBoard:k.id})),children:[(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:Pt(k.img),alt:""}),(0,H.jsx)("span",{children:k.label})]},k.id))})]}):null,u==="gate"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Do you need a gate?"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"A gate opening replaces part of the panel run and adds a gate kit with heavy-duty posts."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"none",label:"No gate",img:"/fencing/gates/no-gate.webp"},{id:"single",label:"Single gate",img:"/fencing/gates/single-gate.webp"}].map(k=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${i.gateType===k.id?" is-selected":""}`,onClick:()=>o(j=>({...j,gateType:k.id,gateWidthM:k.id==="none"?"":String(Ca.gate[k.id].widthDefault)})),children:[(0,H.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:Pt(k.img),alt:""}),(0,H.jsx)("span",{children:k.label})]},k.id))}),i.gateType&&i.gateType!=="none"?(0,H.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,H.jsx)("span",{children:"Gate width (m)"}),(0,H.jsx)("input",{type:"text",inputMode:"decimal",value:i.gateWidthM,onChange:k=>o(j=>({...j,gateWidthM:k.target.value}))})]}):null]}):null,u==="posts"?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ci.length]}),(0,H.jsx)("h2",{className:"truss-estimator__step-title",children:"Posts and fixing type"}),(0,H.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose how the posts will be set."}),(0,H.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ca.mounting).map(([k,j])=>(0,H.jsxs)("button",{type:"button",className:`truss-estimator__option-card${i.mountingType===k?" is-selected":""}`,onClick:()=>o(O=>({...O,mountingType:k})),children:[(0,H.jsx)("div",{className:"truss-estimator__option-title",children:j.label}),(0,H.jsx)("div",{className:"truss-estimator__option-copy",children:j.blurb})]},k))})]}):null]}),(0,H.jsxs)("div",{className:"truss-estimator__nav",children:[(0,H.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:ce,children:"Back"}),(0,H.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:me,disabled:!lt(),children:[(0,H.jsx)("span",{children:Ye}),(0,H.jsx)("span",{className:"arrow",children:(0,H.jsx)(Ht,{})})]})]})]})]})})}var oc=Y(Ke()),we=Y(ae()),ww={floor:{label:"Floor",product:"Knauf Acoustic Roll",thickness:"100mm",coverage:12.36,salesUnit:"roll"},wall:{label:"Cavity wall",product:"Celotex CW4100",thickness:"100mm",coverage:3.24,salesUnit:"pack"},roof:{label:"Pitched roof",product:"Kingspan K107",thickness:"100mm",coverage:8.64,salesUnit:"pack"},loft:{label:"Loft",product:"Knauf Loft Roll 44",thickness:"100mm",coverage:13.89,salesUnit:"roll"}};function Md({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,oc.useState)("floor"),[i,o]=(0,oc.useState)(""),[l,c]=(0,oc.useState)(""),p=Number.parseFloat(i)*Number.parseFloat(l)||0,f=ww[r],b=Math.ceil(p/f.coverage),d=[{key:`insulation-${r}`,label:`${f.product} ${f.thickness}`,qty:b,unit:f.salesUnit,query:f.product,category:"insulation"}],h=Object.entries(ww);return(0,we.jsx)(we.Fragment,{children:(0,we.jsxs)("div",{className:"truss-estimator",children:[(0,we.jsxs)("div",{className:"quick-order-hero",children:[(0,we.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,we.jsx)("h1",{children:"Insulation Calculator"}),(0,we.jsx)("p",{children:"Estimate insulation coverage and pack quantities for floors, walls, roofs and lofts."})]}),(0,we.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,we.jsx)("h2",{className:"truss-estimator__step-title",children:"Where and what you are insulating"}),(0,we.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the application and product, and enter the area, for coverage and pack quantities."}),(0,we.jsxs)("div",{className:"materials-calculator__section",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Application"}),(0,we.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:h.map(([w,E])=>(0,we.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===w?" is-selected":""}`,onClick:()=>n(w),children:[(0,we.jsx)("div",{className:"truss-estimator__option-title",children:E.label}),(0,we.jsxs)("div",{className:"truss-estimator__option-copy",children:[E.product,", ",E.thickness]})]},w))})]}),(0,we.jsxs)("div",{className:"materials-calculator__section",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Area"}),(0,we.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,we.jsxs)("label",{className:"truss-estimator__field",children:[(0,we.jsx)("span",{children:"Length (m)"}),(0,we.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:w=>o(w.target.value)})]}),(0,we.jsxs)("label",{className:"truss-estimator__field",children:[(0,we.jsx)("span",{children:"Width (m)"}),(0,we.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:w=>c(w.target.value)})]})]})]}),(0,we.jsxs)("div",{className:"materials-calculator__totals",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,we.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,we.jsxs)("div",{children:[(0,we.jsx)("span",{children:"Insulated area"}),(0,we.jsxs)("strong",{children:[p.toFixed(2)," m\xB2"]})]}),(0,we.jsxs)("div",{children:[(0,we.jsx)("span",{children:f.product}),(0,we.jsxs)("strong",{children:[b," packs"]})]})]}),(0,we.jsx)("p",{className:"materials-calculator__note",children:"This is a simple product choice, not thermal or Building Regulations advice. Confirm the specification before ordering."})]}),(0,we.jsxs)("div",{className:"materials-calculator__actions",children:[(0,we.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,we.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(d),disabled:p<=0,children:a})]})]})]})})}var Hn=Y(Ke()),Z=Y(ae()),L_=10,H_=1.9*.762,j_=1.9*1.524,lc=()=>({height:"",width:""}),sc=e=>Number.parseFloat(e)||0,yw=({height:e,width:t})=>sc(e)*sc(t);function Td({onBack:e}){let[t,a]=(0,Hn.useState)([lc()]),[r,n]=(0,Hn.useState)([lc()]),[i,o]=(0,Hn.useState)("0"),[l,c]=(0,Hn.useState)("0"),[p,f]=(0,Hn.useState)(1),b=t.reduce((m,u)=>m+yw(u),0),d=r.reduce((m,u)=>m+yw(u),0),h=sc(i)*H_+sc(l)*j_,w=Math.max(0,b-d-h),E=w*p/L_,D=(m,u,g,v)=>{m(N=>N.map((R,T)=>T===u?{...R,[g]:v}:R))};return(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)("div",{className:"truss-estimator",children:[(0,Z.jsxs)("div",{className:"quick-order-hero",children:[(0,Z.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Z.jsx)("h1",{children:"Paint Calculator"}),(0,Z.jsx)("p",{children:"Estimate how much paint you need for your walls, including multiple coats and excluded areas."})]}),(0,Z.jsxs)("div",{className:"truss-estimator__card paint-calculator",children:[(0,Z.jsx)("h2",{className:"truss-estimator__step-title",children:"Walls, exclusions and coats"}),(0,Z.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each wall, subtract windows and doors, and choose your number of coats. Quantities assume a coverage of 10 m\xB2 per litre."}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Enter the height and width of each wall you want to paint."}),(0,Z.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,Z.jsx)("span",{}),(0,Z.jsx)("span",{children:"Height (m)"}),(0,Z.jsx)("span",{children:"Width (m)"}),(0,Z.jsx)("span",{})]}),t.map((m,u)=>(0,Z.jsxs)("div",{className:"paint-calculator__row",children:[(0,Z.jsxs)("span",{className:"paint-calculator__row-label",children:["Wall ",u+1]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,Z.jsx)("input",{"aria-label":`Wall ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:m.height,onChange:g=>D(a,u,"height",g.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,Z.jsx)("input",{"aria-label":`Wall ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:m.width,onChange:g=>D(a,u,"width",g.target.value)})]}),t.length>1?(0,Z.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>a(g=>g.filter((v,N)=>N!==u)),children:"Remove"}):null]},`wall-${u}`)),(0,Z.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>a(m=>[...m,lc()]),children:"+ Add another wall"})]}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Areas to exclude"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Add windows, sockets, skirting boards or other areas that will not be painted."}),(0,Z.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,Z.jsx)("span",{}),(0,Z.jsx)("span",{children:"Height (m)"}),(0,Z.jsx)("span",{children:"Width (m)"}),(0,Z.jsx)("span",{})]}),r.map((m,u)=>(0,Z.jsxs)("div",{className:"paint-calculator__row",children:[(0,Z.jsxs)("span",{className:"paint-calculator__row-label",children:["Area ",u+1]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,Z.jsx)("input",{"aria-label":`Area ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:m.height,onChange:g=>D(n,u,"height",g.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,Z.jsx)("input",{"aria-label":`Area ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:m.width,onChange:g=>D(n,u,"width",g.target.value)})]}),r.length>1?(0,Z.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>n(g=>g.filter((v,N)=>N!==u)),children:"Remove"}):null]},`excluded-${u}`)),(0,Z.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>n(m=>[...m,lc()]),children:"+ Add another area"})]}),(0,Z.jsxs)("div",{className:"paint-calculator__section",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Doors and coats"}),(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Enter the number of standard single and double doors to leave unpainted. Door sizes are estimated automatically."}),(0,Z.jsxs)("div",{className:"truss-estimator__field-grid paint-calculator__small-fields",children:[(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Doors"}),(0,Z.jsx)("input",{type:"number",min:"0",step:"1",value:i,onChange:m=>o(m.target.value)})]}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Double doors"}),(0,Z.jsx)("input",{type:"number",min:"0",step:"1",value:l,onChange:m=>c(m.target.value)})]})]}),(0,Z.jsxs)("div",{className:"paint-calculator__coat-field",children:[(0,Z.jsx)("p",{className:"paint-calculator__hint",children:"Most walls need 2 coats for an even finish. Use 3 coats when changing colour significantly or covering a darker wall."}),(0,Z.jsxs)("label",{className:"truss-estimator__field",children:[(0,Z.jsx)("span",{children:"Number of coats"}),(0,Z.jsxs)("select",{value:p,onChange:m=>f(Number(m.target.value)),children:[(0,Z.jsx)("option",{value:"1",children:"1 coat"}),(0,Z.jsx)("option",{value:"2",children:"2 coats"}),(0,Z.jsx)("option",{value:"3",children:"3 coats"})]})]})]})]}),(0,Z.jsxs)("div",{className:"paint-calculator__totals",children:[(0,Z.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,Z.jsxs)("div",{className:"paint-calculator__result-grid",children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Paintable area"}),(0,Z.jsxs)("strong",{children:[w.toFixed(2)," m\xB2"]})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Coverage"}),(0,Z.jsxs)("strong",{children:[p," ",p===1?"coat":"coats"]})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("span",{children:"Paint required"}),(0,Z.jsxs)("strong",{children:[E.toFixed(1)," litres"]})]})]}),(0,Z.jsx)("p",{className:"paint-calculator__note",children:"Based on paint coverage of 10 m\xB2 per litre. Decorative paint is not currently stocked in this catalogue, so this remains an estimate only."})]}),(0,Z.jsxs)("div",{className:"paint-calculator__actions",children:[(0,Z.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,Z.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",disabled:!0,children:"Paint products unavailable"})]})]})]})})}var gr=Y(Ke()),re=Y(ae()),cc=e=>Number.parseFloat(e)||0,zd={paving:[{id:"council",label:"Council paving slab (600 \xD7 600mm)"},{id:"raj",label:"Raj blend sandstone (600 \xD7 600mm)"}],block:[{id:"brindle",label:"Brindle block paving (60mm)"},{id:"charcoal",label:"Charcoal block paving (60mm)"}],gravel:[{id:"pea",label:"20mm pea shingle"}]};function Ad({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,gr.useState)("paving"),[i,o]=(0,gr.useState)("council"),[l,c]=(0,gr.useState)(""),[p,f]=(0,gr.useState)(""),[b,d]=(0,gr.useState)("100"),[h,w]=(0,gr.useState)("50"),[E,D]=(0,gr.useState)(!0),[m,u]=(0,gr.useState)(!0),g=cc(l)*cc(p),v=g,N=g*(cc(b)/1e3),R=g*.04,T=g*(cc(h)/1e3),z=Math.ceil(v/.36),G=Math.ceil(v/.1),K=Math.ceil(N*1700/800),xe=Math.ceil(R*1600/800),Ee=Math.ceil(T*1600/800),Ge=r==="paving"?{qty:z,unit:"each"}:r==="block"?{qty:v,unit:"m2"}:{qty:Ee,unit:"bag"},Qe={paving:"paving slab",block:"block paver",gravel:"decorative gravel"}[r],Ie=[{key:`surface-${i}`,label:zd[r].find(Q=>Q.id===i)?.label??"Surface material",qty:Ge.qty,unit:Ge.unit,query:Qe,category:"landscaping"},...E?[{key:"sub-base",label:"MOT Type 1 sub-base",qty:K,unit:"bag",query:"MOT Type 1 sub base",category:"aggregate"}]:[],...m?[{key:"bedding",label:"Sharp sand bedding",qty:xe,unit:"bag",query:"sharp sand",category:"aggregate"}]:[]];return(0,re.jsx)(re.Fragment,{children:(0,re.jsxs)("div",{className:"truss-estimator",children:[(0,re.jsxs)("div",{className:"quick-order-hero",children:[(0,re.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,re.jsx)("h1",{children:"Paving & Driveway Calculator"}),(0,re.jsx)("p",{children:"Estimate paving, block paving, sub-base and bedding materials for outdoor areas."})]}),(0,re.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,re.jsx)("h2",{className:"truss-estimator__step-title",children:"Surface and ground build-up"}),(0,re.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the surface material and enter the area. Sub-base and bedding sand are estimated alongside the surface units."}),(0,re.jsxs)("div",{className:"materials-calculator__section",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Surface material"}),(0,re.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["paving","Paving slabs","For patios and paths"],["block","Block paving","For driveways and paths"],["gravel","Decorative gravel","For paths and landscaping"]].map(([Q,se,Ne])=>(0,re.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===Q?" is-selected":""}`,onClick:()=>{n(Q),o(zd[Q][0].id)},children:[(0,re.jsx)("div",{className:"truss-estimator__option-title",children:se}),(0,re.jsx)("div",{className:"truss-estimator__option-copy",children:Ne})]},Q))}),(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Finish"}),(0,re.jsx)("select",{value:i,onChange:Q=>o(Q.target.value),children:zd[r].map(Q=>(0,re.jsx)("option",{value:Q.id,children:Q.label},Q.id))})]})]}),(0,re.jsxs)("div",{className:"materials-calculator__section",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and groundwork"}),(0,re.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,re.jsxs)("label",{className:"truss-estimator__field",children:[(0,re.jsx)("span",{children:"Length (m)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:Q=>c(Q.target.value)})]}),(0,re.jsxs)("label",{className:"truss-estimator__field",children:[(0,re.jsx)("span",{children:"Width (m)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:Q=>f(Q.target.value)})]})]}),r==="gravel"&&(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Gravel depth (mm)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"10",value:h,onChange:Q=>w(Q.target.value)})]}),E&&(0,re.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,re.jsx)("span",{children:"Sub-base depth (mm)"}),(0,re.jsx)("input",{type:"number",min:"0",step:"10",value:b,onChange:Q=>d(Q.target.value)})]}),(0,re.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,re.jsx)("input",{type:"checkbox",checked:E,onChange:Q=>D(Q.target.checked)}),(0,re.jsx)("span",{children:"Include MOT Type 1 sub-base"})]}),(0,re.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,re.jsx)("input",{type:"checkbox",checked:m,onChange:Q=>u(Q.target.checked)}),(0,re.jsx)("span",{children:"Include sharp sand bedding"})]})]}),(0,re.jsxs)("div",{className:"materials-calculator__totals",children:[(0,re.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,re.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"Surface area"}),(0,re.jsxs)("strong",{children:[g.toFixed(2)," m\xB2"]})]}),(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:r==="paving"?"Paving slabs":r==="block"?"Block paving":"Gravel"}),(0,re.jsx)("strong",{children:r==="paving"?`${z} slabs`:r==="block"?`${v.toFixed(2)} m\xB2`:`${Ee} bulk bags`})]}),E&&(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"MOT Type 1"}),(0,re.jsxs)("strong",{children:[K," bulk bags"]})]}),m&&(0,re.jsxs)("div",{children:[(0,re.jsx)("span",{children:"Sharp sand"}),(0,re.jsxs)("strong",{children:[xe," bulk bags"]})]})]}),(0,re.jsx)("p",{className:"materials-calculator__note",children:"Slab and block quantities use typical sizes. Confirm pack coverage and laying pattern before ordering."})]}),(0,re.jsxs)("div",{className:"materials-calculator__actions",children:[(0,re.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,re.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(Ie),disabled:g<=0,children:a})]})]})]})})}var il=Y(Ke()),ie=Y(ae()),G_=2.88,_w=[{id:"standard",label:"Standard wallboard",blurb:"General internal walls and ceilings"},{id:"moisture",label:"Moisture resistant",blurb:"Kitchens, bathrooms and utility rooms"},{id:"fire",label:"Fire resistant",blurb:"Where fire-rated lining is required"},{id:"sound",label:"Sound resistant",blurb:"Improved acoustic performance"}],xw=()=>({length:"",height:""}),Rd=e=>Number.parseFloat(e)||0;function Ud({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,il.useState)([xw()]),[i,o]=(0,il.useState)(""),[l,c]=(0,il.useState)("standard"),[p,f]=(0,il.useState)("screws"),b=r.reduce((R,T)=>R+Rd(T.length)*Rd(T.height),0),d=Math.max(0,b-Rd(i)),h=Math.ceil(d/G_),w=Math.ceil(d*12),E=Math.ceil(w/1e3),D=Math.ceil(d*1.2),m=Math.ceil(D/90),u=Math.ceil(d/3.5),g=_w.find(R=>R.id===l)?.label??"Standard",v=[{key:"board",label:`${g} plasterboard`,qty:h,unit:"sheet",query:`${g} plasterboard`,category:"plasterboard"},...p==="screws"?[{key:"screws",label:"Drywall screws",qty:E,unit:"box",query:"drywall screws",category:"fixings"}]:[{key:"adhesive",label:"Board adhesive",qty:u,unit:"bag",query:"drywall board adhesive",category:"plasterboard"}],{key:"tape",label:"Joint tape",qty:m,unit:"roll",query:"plasterboard joint tape",category:"plasterboard"}],N=(R,T,z)=>{n(G=>G.map((K,xe)=>xe===R?{...K,[T]:z}:K))};return(0,ie.jsx)(ie.Fragment,{children:(0,ie.jsxs)("div",{className:"truss-estimator",children:[(0,ie.jsxs)("div",{className:"quick-order-hero",children:[(0,ie.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ie.jsx)("h1",{children:"Plasterboard & Drylining Calculator"}),(0,ie.jsx)("p",{children:"Estimate boards, fixings and jointing materials for walls and ceilings."})]}),(0,ie.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ie.jsx)("h2",{className:"truss-estimator__step-title",children:"Boards, fixings and jointing"}),(0,ie.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the surfaces you are lining and the board specification. Screws, tape and adhesive are estimated with the boards."}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Board type"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:_w.map(R=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${l===R.id?" is-selected":""}`,onClick:()=>c(R.id),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:R.label}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:R.blurb})]},R.id))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Fixing method"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["screws","Drywall screws","For timber or metal framing"],["adhesive","Board adhesive","For masonry dot-and-dab"]].map(([R,T,z])=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${p===R?" is-selected":""}`,onClick:()=>f(R),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:T}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:z})]},R))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall and ceiling areas"}),(0,ie.jsx)("p",{className:"materials-calculator__hint",children:"Add each surface separately so different wall sizes are easy to measure."}),(0,ie.jsxs)("div",{className:"materials-calculator__dimensions-header",children:[(0,ie.jsx)("span",{children:"Surface"}),(0,ie.jsx)("span",{children:"Length (m)"}),(0,ie.jsx)("span",{children:"Height (m)"}),(0,ie.jsx)("span",{})]}),r.map((R,T)=>(0,ie.jsxs)("div",{className:"materials-calculator__surface-row",children:[(0,ie.jsxs)("span",{children:["Surface ",T+1]}),(0,ie.jsx)("input",{"aria-label":`Surface ${T+1} length`,type:"number",min:"0",step:"0.01",value:R.length,onChange:z=>N(T,"length",z.target.value)}),(0,ie.jsx)("input",{"aria-label":`Surface ${T+1} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:z=>N(T,"height",z.target.value)}),r.length>1?(0,ie.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>n(z=>z.filter((G,K)=>K!==T)),children:"Remove"}):null]},`surface-${T}`)),(0,ie.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>n(R=>[...R,xw()]),children:"+ Add another surface"}),(0,ie.jsxs)("label",{className:"truss-estimator__field materials-calculator__openings",children:[(0,ie.jsxs)("span",{children:["Openings to deduct (m\xB2) ",(0,ie.jsx)("small",{children:"optional"})]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:R=>o(R.target.value)})]})]}),(0,ie.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ie.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Board area"}),(0,ie.jsxs)("strong",{children:[d.toFixed(2)," m\xB2"]})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"2.4 x 1.2 m boards"}),(0,ie.jsx)("strong",{children:h})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:p==="screws"?"Drywall screws":"Board adhesive"}),(0,ie.jsx)("strong",{children:p==="screws"?`${w} (${E} boxes)`:`${u} bags`})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Joint tape"}),(0,ie.jsxs)("strong",{children:[D," m (",m," rolls)"]})]})]}),(0,ie.jsx)("p",{className:"materials-calculator__note",children:"Figures are estimates. Confirm board specification, fixing patterns and fire or acoustic requirements before ordering."})]}),(0,ie.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ie.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ie.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(v),disabled:d<=0,children:a})]})]})]})})}var nl=Y(Ke());var y=Y(ae()),At={ranges:{standard:{label:"Standard Fink",blurb:"Classic W-shaped truss for standard pitched roofs."},attic:{label:"Attic",blurb:"Room-in-roof truss with usable attic space and clear span."},mono:{label:"Mono-pitch",blurb:"Single-slope truss for lean-to roofs and outbuildings."}},pitches:["15","20","22.5","25","30","35","40","45","50","55"],pitchMultipliers:{15:.95,20:.98,"22.5":1,25:1.02,30:1.05,35:1.1,40:1.18,45:1.27,50:1.38,55:1.52},overhang:{thresholdMM:300,surchargePerTruss:3.5},centresOptions:["400","600"],treatment:{treated:{label:"Treated (tanalised)",surchargePct:.08},untreated:{label:"Untreated",surchargePct:0}},estimate:{design:250,delivery:250,bracingPerMetre:6.5,girderMultiplier:1.8,ranges:{standard:{supplyAt8m:53.33,installPerTruss:30},attic:{supplyAt8m:128.35,installPerTruss:55},mono:{supplyAt8m:60,installPerTruss:38}}}},uc=["range","pitchAndDimensions","quantityAndGirders","bracing"],Q_={range:null,pitch:null,spanMM:"",overhangMM:"",roofLengthM:"",centres:null,girderCount:0,bracing:null,treatment:null,contact:{name:"",email:""}};function Y_({degrees:e}){let a=e*Math.PI/180,n=82-Math.min(58,38*Math.tan(a));return(0,y.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,y.jsx)("line",{x1:"6",y1:"82",x2:"94",y2:"82",stroke:"var(--border)",strokeWidth:"2"}),(0,y.jsx)("polygon",{points:`12,82 88,82 50,${n}`,fill:"var(--accent-light)",stroke:"var(--accent)",strokeWidth:"3",strokeLinejoin:"round"})]})}function V_({type:e}){let t="#b3835a",a="#5c3b22",r="#d9b48f",n="#d3d8de",i="#7c8494",o=(f,b,d,h,w=8,E)=>{let D=d-f,m=h-b,u=Math.hypot(D,m)||1,g=-m/u,v=D/u,N=w*.2;return(0,y.jsxs)("g",{children:[(0,y.jsx)("line",{x1:f,y1:b,x2:d,y2:h,stroke:a,strokeWidth:w+3,strokeLinecap:"square"}),(0,y.jsx)("line",{x1:f,y1:b,x2:d,y2:h,stroke:t,strokeWidth:w,strokeLinecap:"square"}),(0,y.jsx)("line",{x1:f-g*N,y1:b-v*N,x2:d-g*N,y2:h-v*N,stroke:r,strokeWidth:Math.max(1.5,w*.24),strokeLinecap:"round",opacity:"0.9"})]},E)},l=(f,b,d)=>(0,y.jsxs)("g",{children:[(0,y.jsx)("rect",{x:f-7.5,y:b-5.5,width:"15",height:"11",rx:"2",fill:n,stroke:i,strokeWidth:"1"}),(0,y.jsx)("circle",{cx:f-4,cy:b-2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f+4,cy:b-2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f-4,cy:b+2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f+4,cy:b+2.5,r:"1",fill:i}),(0,y.jsx)("circle",{cx:f,cy:b,r:"1",fill:i})]},d),c=(f,b)=>(0,y.jsx)("rect",{x:f-9,y:"110",width:"18",height:"10",fill:a},b),p=(0,y.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"});return e==="attic"?(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,26,8,"b1"),o(174,112,100,26,8,"b2"),o(26,112,174,112,8,"b3"),o(58,112,58,70,6,"b4"),o(142,112,142,70,6,"b5"),o(58,70,142,70,7,"b6"),(0,y.jsx)("rect",{x:"90",y:"82",width:"20",height:"24",fill:"#cfe3f2",stroke:a,strokeWidth:"2"}),(0,y.jsx)("line",{x1:"100",y1:"82",x2:"100",y2:"106",stroke:a,strokeWidth:"1.5"}),l(26,112,"p1"),l(174,112,"p2"),l(100,26,"p3"),l(58,112,"p4"),l(58,70,"p5"),l(142,112,"p6"),l(142,70,"p7")]}):e==="mono"?(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,174,26,8,"b1"),o(174,26,174,112,8,"b2"),o(26,112,174,112,8,"b3"),o(90,112,90,75,5,"b4"),o(90,75,132,112,5,"b5"),l(26,112,"p1"),l(174,26,"p2"),l(174,112,"p3"),l(90,112,"p4"),l(90,75,"p5"),l(132,112,"p6")]}):(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,34,8,"b1"),o(174,112,100,34,8,"b2"),o(26,112,174,112,8,"b3"),o(63,112,100,34,5,"b4"),o(137,112,100,34,5,"b5"),o(63,112,54,83,5,"b6"),o(137,112,146,83,5,"b7"),(0,y.jsx)("rect",{x:"96",y:"108",width:"8",height:"8",fill:a}),l(26,112,"p1"),l(174,112,"p2"),l(100,34,"p3"),l(63,112,"p4"),l(137,112,"p5"),l(54,83,"p6"),l(146,83,"p7")]})}function X_({enabled:e}){return(0,y.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[(0,y.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"}),(0,y.jsx)("rect",{x:"17",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,y.jsx)("rect",{x:"165",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,y.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),e?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("line",{x1:"45",y1:"112",x2:"140",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"}),(0,y.jsx)("line",{x1:"155",y1:"112",x2:"60",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"})]}):null,(0,y.jsx)("rect",{x:"18.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,y.jsx)("rect",{x:"166.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,y.jsx)("rect",{x:"92.5",y:"28.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"})]})}function kw({treated:e}){let t=e?"#5a7a4a":"var(--accent)";return(0,y.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,y.jsx)("rect",{x:"10",y:"22",width:"80",height:"14",rx:"2",fill:t}),(0,y.jsx)("rect",{x:"10",y:"43",width:"80",height:"14",rx:"2",fill:e?"#8faf7a":"var(--accent-light)"}),(0,y.jsx)("rect",{x:"10",y:"64",width:"80",height:"14",rx:"2",fill:t})]})}function Dd({onBack:e}){let[t,a]=(0,nl.useState)(0),[r,n]=(0,nl.useState)(Q_),[i,o]=(0,nl.useState)(!1),[l,c]=(0,nl.useState)(!1),p=()=>{let m=Number.parseFloat(r.roofLengthM)||0,u=Number.parseFloat(r.centres??"");return m<=0||!u?0:Math.ceil(m*1e3/u)+1},b=(()=>{let m=r.range?At.ranges[r.range]:At.ranges.standard,u=r.pitch??"22.5",g=At.pitchMultipliers[u],v=(Number.parseFloat(r.spanMM)||0)/1e3,R=(Number.parseFloat(r.overhangMM)||0)>At.overhang.thresholdMM,T=p(),z=T+r.girderCount,G=Number.parseFloat(r.roofLengthM)||0,K=r.treatment?At.treatment[r.treatment]:At.treatment.untreated,xe=At.estimate.ranges[r.range??"standard"],Ee=xe.supplyAt8m*Math.max(.7,v/8)*g*(1+K.surchargePct)+(R?At.overhang.surchargePerTruss:0),Ge=T*Ee,Qe=r.girderCount*Ee*At.estimate.girderMultiplier,Ie=r.bracing==="yes"?G*At.estimate.bracingPerMetre:0,ue=Ge+Qe+Ie+At.estimate.delivery,Q=At.estimate.design+T*xe.installPerTruss+r.girderCount*40,se=ue+Q,Ne=se*.2;return{range:m,count:T,girderCount:r.girderCount,overhangApplies:R,overhangUnits:z,roofLengthM:G,treatment:K,trussSupply:Ge,bracingMaterials:Ie,delivery:At.estimate.delivery,labour:Q,subtotal:se,vat:Ne,total:se+Ne}})(),d=()=>{let m=uc[t];return m==="range"?!!r.range:m==="pitchAndDimensions"?!!r.pitch&&r.spanMM.trim()!==""&&r.overhangMM.trim()!=="":m==="quantityAndGirders"?r.roofLengthM.trim()!==""&&!!r.centres:m==="bracing"?!!r.bracing&&!!r.treatment:!0},h=t===uc.length-1?"View truss request":"Next",w=()=>{i?o(!1):t===0?e():a(m=>m-1)},E=()=>{d()&&(t===uc.length-1?(c(!1),o(!0)):a(m=>m+1))},D=()=>{let m=uc[t];return m==="range"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 1 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your truss range"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Pricing shown is placeholder. Swap in your real engineering and pricing catalogue."}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--range",children:Object.entries(At.ranges).map(([u,g])=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r.range===u?" is-selected":""}`,onClick:()=>n(v=>({...v,range:u})),children:[(0,y.jsx)(V_,{type:u}),(0,y.jsxs)("div",{className:"truss-estimator__option-info",children:[(0,y.jsx)("div",{className:"truss-estimator__option-title",children:g.label}),(0,y.jsx)("div",{className:"truss-estimator__option-copy",children:g.blurb})]})]},u))})]}):m==="pitchAndDimensions"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 2 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Span, overhang and roof pitch"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Span is wall-to-wall, overhang is the eaves tail beyond the wall line. Steeper pitches use more timber per truss."}),(0,y.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,y.jsxs)("label",{className:"truss-estimator__field",children:[(0,y.jsx)("span",{children:"Span (mm)"}),(0,y.jsx)("input",{type:"text",inputMode:"numeric",value:r.spanMM,onChange:u=>n(g=>({...g,spanMM:u.target.value}))})]}),(0,y.jsxs)("label",{className:"truss-estimator__field",children:[(0,y.jsx)("span",{children:"Overhang (mm)"}),(0,y.jsx)("input",{type:"text",inputMode:"numeric",value:r.overhangMM,onChange:u=>n(g=>({...g,overhangMM:u.target.value}))}),(0,y.jsxs)("small",{children:["Overhangs beyond ",At.overhang.thresholdMM,"mm add a small surcharge per truss."]})]})]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Roof pitch"}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:At.pitches.map(u=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${r.pitch===u?" is-selected":""}`,onClick:()=>n(g=>({...g,pitch:u})),children:[(0,y.jsx)(Y_,{degrees:Number.parseFloat(u)}),(0,y.jsxs)("span",{children:[u,"\xB0"]})]},u))})]}):m==="quantityAndGirders"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 3 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Roof length"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Trusses are based on designs at 400mm or 600mm centres wherever possible."}),(0,y.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,y.jsx)("span",{children:"Roof length (m)"}),(0,y.jsx)("input",{type:"text",inputMode:"decimal",value:r.roofLengthM,onChange:u=>n(g=>({...g,roofLengthM:u.target.value}))})]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Truss centres"}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--centres",children:At.centresOptions.map(u=>(0,y.jsx)("button",{type:"button",className:`truss-estimator__option-card truss-estimator__option-card--compact${r.centres===u?" is-selected":""}`,onClick:()=>n(g=>({...g,centres:u})),children:(0,y.jsxs)("div",{className:"truss-estimator__option-title",children:[u,"mm centres"]})},u))}),(0,y.jsxs)("div",{className:"truss-estimator__stat",children:[p()," trusses estimated"]}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Girder trusses"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Heavy-duty girder trusses carry point loads over large openings. Set 0 if you do not need any."}),(0,y.jsxs)("div",{className:"truss-estimator__stepper",children:[(0,y.jsx)("button",{type:"button",onClick:()=>n(u=>({...u,girderCount:Math.max(0,u.girderCount-1)})),children:"\u2212"}),(0,y.jsx)("span",{children:r.girderCount}),(0,y.jsx)("button",{type:"button",onClick:()=>n(u=>({...u,girderCount:Math.min(3,u.girderCount+1)})),children:"+"})]})]}):m==="bracing"?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Step 4 of 4"}),(0,y.jsx)("h2",{className:"truss-estimator__step-title",children:"Bracing pack?"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"A timber bracing pack stabilises the roof structure once trusses are erected."}),(0,y.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No bracing pack"},{id:"yes",label:"Add bracing pack"}].map(u=>(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.bracing===u.id?" is-selected":""}`,onClick:()=>n(g=>({...g,bracing:u.id})),children:[(0,y.jsx)(X_,{enabled:u.id==="yes"}),(0,y.jsx)("span",{children:u.label})]},u.id))}),(0,y.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber treatment"}),(0,y.jsx)("p",{className:"truss-estimator__step-sub",children:"Tanalised timber protects against rot in exposed or damp locations."}),(0,y.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="untreated"?" is-selected":""}`,onClick:()=>n(u=>({...u,treatment:"untreated"})),children:[(0,y.jsx)(kw,{treated:!1}),(0,y.jsx)("span",{children:"Untreated"})]}),(0,y.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="treated"?" is-selected":""}`,onClick:()=>n(u=>({...u,treatment:"treated"})),children:[(0,y.jsx)(kw,{treated:!0}),(0,y.jsx)("span",{children:"Treated (+8% cost)"}),(0,y.jsx)("small",{children:"Applies to trusses, girders and overhang"})]})]})]}):null};return i?(0,y.jsx)(y.Fragment,{children:(0,y.jsxs)("div",{className:"truss-estimator",children:[(0,y.jsxs)("div",{className:"quick-order-hero",children:[(0,y.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,y.jsx)("h1",{children:"Your truss estimate"}),(0,y.jsx)("p",{children:"A provisional quantity and specification based on the dimensions you entered."})]}),(0,y.jsxs)("div",{className:"truss-estimator__card truss-request",style:{minHeight:0},children:[(0,y.jsxs)("div",{className:"truss-request__heading",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Estimated requirement"}),(0,y.jsxs)("h2",{children:[b.range.label," roof trusses"]})]}),(0,y.jsxs)("strong",{children:[b.count,(0,y.jsx)("span",{children:"trusses"})]})]}),(0,y.jsxs)("div",{className:"truss-request__grid",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Span"}),(0,y.jsxs)("strong",{children:[r.spanMM," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Roof length"}),(0,y.jsxs)("strong",{children:[r.roofLengthM," m"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Pitch"}),(0,y.jsxs)("strong",{children:[r.pitch,"\xB0"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Centres"}),(0,y.jsxs)("strong",{children:[r.centres," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Overhang"}),(0,y.jsxs)("strong",{children:[r.overhangMM," mm"]})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Treatment"}),(0,y.jsx)("strong",{children:b.treatment.label})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Girder trusses"}),(0,y.jsx)("strong",{children:b.girderCount||"None"})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Bracing pack"}),(0,y.jsx)("strong",{children:r.bracing==="yes"?"Included":"Not included"})]})]}),(0,y.jsxs)("div",{className:"truss-request__price",children:[(0,y.jsx)("div",{className:"truss-estimator__step-label",children:"Indicative cost estimate"}),(0,y.jsxs)("div",{className:"truss-request__price-grid",children:[(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Truss supply allowance"}),(0,y.jsx)("strong",{children:st(b.trussSupply)})]}),b.bracingMaterials>0&&(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Bracing materials allowance"}),(0,y.jsx)("strong",{children:st(b.bracingMaterials)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Delivery allowance"}),(0,y.jsx)("strong",{children:st(b.delivery)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Design and installation labour"}),(0,y.jsx)("strong",{children:st(b.labour)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"Subtotal (ex. VAT)"}),(0,y.jsx)("strong",{children:st(b.subtotal)})]}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{children:"VAT (20%)"}),(0,y.jsx)("strong",{children:st(b.vat)})]}),(0,y.jsxs)("div",{className:"truss-request__price-total",children:[(0,y.jsx)("span",{children:"Estimated total"}),(0,y.jsx)("strong",{children:st(b.total)})]})]}),(0,y.jsx)("p",{children:"Trusses are not listed as fixed products in this catalogue, so supply, delivery and labour are benchmark allowances. Confirm the engineered design and final quote before ordering."})]}),(0,y.jsxs)("div",{className:"truss-request__notice",children:[(0,y.jsx)("strong",{children:"Before ordering"}),(0,y.jsx)("span",{children:"Roof trusses must be designed and signed off for the building. Confirm loading, bearings, wind bracing and final drawings with the truss manufacturer."})]}),(0,y.jsxs)("div",{className:"truss-estimator__nav",children:[(0,y.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:w,children:"Back to calculator"}),(0,y.jsx)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",justifyContent:"center",marginTop:0},onClick:()=>c(!0),children:"Request order"})]}),l&&(0,y.jsx)("p",{className:"truss-request__demo",children:"Demo only \u2014 no order has been sent."})]})]})}):(0,y.jsx)(y.Fragment,{children:(0,y.jsxs)("div",{className:"truss-estimator",children:[(0,y.jsxs)("div",{className:"quick-order-hero",children:[(0,y.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,y.jsx)("h1",{children:"Roof Truss Calculator"}),(0,y.jsx)("p",{children:"Estimate trusses, girders and cost for your roof in a few steps."})]}),(0,y.jsxs)("div",{className:"truss-estimator__card",children:[(0,y.jsx)("div",{className:"truss-estimator__body",children:D()}),(0,y.jsxs)("div",{className:"truss-estimator__nav",children:[(0,y.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:w,children:"Back"}),(0,y.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:E,disabled:!d(),children:[(0,y.jsx)("span",{children:h}),(0,y.jsx)("span",{className:"arrow",children:(0,y.jsx)(Ht,{})})]})]})]})]})})}var qi=Y(Ke()),F=Y(ae()),Cw=e=>Number.parseFloat(e)||0,pc=(e,t)=>Cw(e)*(t==="m"?1:.3048),Nw=()=>({length:"",width:""}),Sw=[{id:"chamfered",label:"Chamfered",blurb:"Clean angled edge"},{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"}];function $_({profile:e}){return(0,F.jsxs)("svg",{className:"skirting-calculator__profile-diagram",viewBox:"0 0 120 84","aria-hidden":"true",children:[(0,F.jsx)("path",{d:{chamfered:"M16 70V43L43 16H104V70Z",ogee:"M16 70V47C16 36 27 31 40 31C40 21 50 16 63 16H104V70Z","pencil-round":"M16 70V37C16 25 25 16 37 16H104V70Z",torus:"M16 70V49C16 39 25 34 36 34C36 22 47 16 61 16H104V70Z"}[e]}),(0,F.jsx)("line",{x1:"12",y1:"70",x2:"108",y2:"70"})]})}function Bd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,qi.useState)("total"),[i,o]=(0,qi.useState)("m"),[l,c]=(0,qi.useState)(""),[p,f]=(0,qi.useState)([Nw()]),[b,d]=(0,qi.useState)(""),[h,w]=(0,qi.useState)("chamfered"),E="4.2",D=r==="total"?pc(l,i):p.reduce((N,R)=>N+2*(pc(R.length,i)+pc(R.width,i)),0),m=Math.max(0,D-pc(b,i)),u=Math.ceil(m/Cw(E)),g=[{key:`skirting-${h}`,label:`${Sw.find(N=>N.id===h)?.label} skirting board`,qty:m,unit:"m",query:"skirting board",category:"skirting"}],v=(N,R,T)=>{f(z=>z.map((G,K)=>K===N?{...G,[R]:T}:G))};return(0,F.jsx)(F.Fragment,{children:(0,F.jsxs)("div",{className:"truss-estimator",children:[(0,F.jsxs)("div",{className:"quick-order-hero",children:[(0,F.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,F.jsx)("h1",{children:"Skirting Board Calculator"}),(0,F.jsx)("p",{children:"Work out how many skirting board lengths you need for one room or a whole project."})]}),(0,F.jsxs)("div",{className:"truss-estimator__card skirting-calculator",children:[(0,F.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure by room or total length"}),(0,F.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter a single total or work room by room. The run is converted straight into board lengths."}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"How would you like to measure?"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle skirting-calculator__mode-toggle",role:"group","aria-label":"Calculation method",children:[(0,F.jsx)("button",{type:"button",className:r==="total"?"is-selected":"",onClick:()=>n("total"),children:"Total length"}),(0,F.jsx)("button",{type:"button",className:r==="rooms"?"is-selected":"",onClick:()=>n("rooms"),children:"Room by room"})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Measurements"}),(0,F.jsxs)("div",{className:"skirting-calculator__unit-row",children:[(0,F.jsx)("span",{children:"Units"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,F.jsx)("button",{type:"button",className:i==="m"?"is-selected":"",onClick:()=>o("m"),children:"Metres"}),(0,F.jsx)("button",{type:"button",className:i==="ft"?"is-selected":"",onClick:()=>o("ft"),children:"Feet"})]})]}),r==="total"?(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Total skirting length (",i,")"]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:N=>c(N.target.value)})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)("div",{className:"skirting-calculator__dimensions-header",children:[(0,F.jsx)("span",{children:"Room"}),(0,F.jsxs)("span",{children:["Length (",i,")"]}),(0,F.jsxs)("span",{children:["Width (",i,")"]}),(0,F.jsx)("span",{})]}),p.map((N,R)=>(0,F.jsxs)("div",{className:"skirting-calculator__room-row",children:[(0,F.jsxs)("span",{className:"skirting-calculator__room-label",children:["Room ",R+1]}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} length in ${i}`,type:"number",min:"0",step:"0.01",value:N.length,onChange:T=>v(R,"length",T.target.value)}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} width in ${i}`,type:"number",min:"0",step:"0.01",value:N.width,onChange:T=>v(R,"width",T.target.value)}),p.length>1?(0,F.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>f(T=>T.filter((z,G)=>G!==R)),children:"Remove"}):null]},`room-${R}`)),(0,F.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>f(N=>[...N,Nw()]),children:"+ Add another room"})]}),(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Openings and doorways to deduct (",i,") ",(0,F.jsx)("small",{children:"optional"})]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:b,onChange:N=>d(N.target.value)})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Profile"}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Choose the finish you want for the fixed 4.2m white-primed MDF boards."}),(0,F.jsx)("div",{className:"architrave-calculator__profiles",children:Sw.map(N=>(0,F.jsxs)("button",{type:"button",className:`truss-estimator__option-card${h===N.id?" is-selected":""}`,onClick:()=>w(N.id),children:[(0,F.jsx)($_,{profile:N.id}),(0,F.jsx)("div",{className:"truss-estimator__option-title",children:N.label}),(0,F.jsx)("div",{className:"truss-estimator__option-copy",children:N.blurb})]},N.id))})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,F.jsx)("div",{className:"truss-estimator__field-grid skirting-calculator__options-grid",children:(0,F.jsxs)("label",{className:"truss-estimator__field",children:[(0,F.jsx)("span",{children:"Board length"}),(0,F.jsx)("input",{value:"4.20 m",disabled:!0})]})}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Longer boards can reduce the number of joins, while 10% waste allows for cuts, corners and mistakes."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__totals",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,F.jsxs)("div",{className:"skirting-calculator__result-grid",children:[(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Net skirting"}),(0,F.jsxs)("strong",{children:[m.toFixed(2)," m"]})]}),(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Board lengths"}),(0,F.jsx)("strong",{children:u})]})]}),(0,F.jsx)("p",{className:"skirting-calculator__note",children:"Corners and joins vary by room layout. Measure each wall where possible for the most accurate result."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__actions",children:[(0,F.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,F.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(g),disabled:m<=0,children:a})]})]})]})})}var jn=Y(Ke()),oe=Y(ae()),ol=e=>Number.parseFloat(e)||0;function Od({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,n]=(0,jn.useState)("studs"),[i,o]=(0,jn.useState)(""),[l,c]=(0,jn.useState)(""),[p,f]=(0,jn.useState)("600"),[b,d]=(0,jn.useState)("2.4"),h=i&&l&&p?Math.ceil(ol(l)/(ol(p)/1e3))+1:0,w=h*ol(i),E=ol(b)>0?Math.ceil(w/ol(b)):0,D=[{key:r,label:{studs:"Stud timber",joists:"Joist timber",battens:"Batten timber"}[r],qty:w,unit:"m",query:{studs:"cls studwork timber",joists:"timber joist",battens:"roofing batten"}[r],category:"timber"}],m={studs:["Stud wall","Vertical studs along a wall length"],joists:["Joists","Parallel joists across a floor or deck"],battens:["Battens","Regularly spaced battens for lining or cladding"]},g={studs:{member:"Wall height",overall:"Wall length",help:"Studs repeat across the wall length.",count:"Studs"},joists:{member:"Joist span",overall:"Overall width",help:"Joists repeat across the overall floor or deck width.",count:"Joists"},battens:{member:"Batten length",overall:"Overall width",help:"Battens repeat across the overall lining or cladding width.",count:"Battens"}}[r];return(0,oe.jsx)(oe.Fragment,{children:(0,oe.jsxs)("div",{className:"truss-estimator",children:[(0,oe.jsxs)("div",{className:"quick-order-hero",children:[(0,oe.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,oe.jsx)("h1",{children:"Timber Calculator"}),(0,oe.jsx)("p",{children:"Estimate studs, joists or battens from a run length, width and spacing."})]}),(0,oe.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,oe.jsx)("h2",{className:"truss-estimator__step-title",children:"Member size and spacing"}),(0,oe.jsxs)("p",{className:"truss-estimator__step-sub",children:[g.help," Enter the member length and centres to estimate the number of pieces and stock lengths."]}),(0,oe.jsxs)("div",{className:"materials-calculator__section",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber use"}),(0,oe.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:Object.keys(m).map(v=>(0,oe.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===v?" is-selected":""}`,onClick:()=>n(v),children:[(0,oe.jsx)("div",{className:"truss-estimator__option-title",children:m[v][0]}),(0,oe.jsx)("div",{className:"truss-estimator__option-copy",children:m[v][1]})]},v))})]}),(0,oe.jsxs)("div",{className:"materials-calculator__section",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Dimensions and spacing"}),(0,oe.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsxs)("span",{children:[g.member," (m)"]}),(0,oe.jsx)("input",{type:"number",min:"0",step:"0.01",value:i,onChange:v=>o(v.target.value)})]}),(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsxs)("span",{children:[g.overall," (m)"]}),(0,oe.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:v=>c(v.target.value)})]})]}),(0,oe.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsx)("span",{children:"Centres (mm)"}),(0,oe.jsxs)("select",{value:p,onChange:v=>f(v.target.value),children:[(0,oe.jsx)("option",{value:"300",children:"300 mm"}),(0,oe.jsx)("option",{value:"400",children:"400 mm"}),(0,oe.jsx)("option",{value:"450",children:"450 mm"}),(0,oe.jsx)("option",{value:"600",children:"600 mm"})]})]}),(0,oe.jsxs)("label",{className:"truss-estimator__field",children:[(0,oe.jsx)("span",{children:"Stock length (m)"}),(0,oe.jsxs)("select",{value:b,onChange:v=>d(v.target.value),children:[(0,oe.jsx)("option",{value:"2.4",children:"2.40 m"}),(0,oe.jsx)("option",{value:"3.6",children:"3.60 m"}),(0,oe.jsx)("option",{value:"4.8",children:"4.80 m"})]})]})]})]}),(0,oe.jsxs)("div",{className:"materials-calculator__totals",children:[(0,oe.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,oe.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,oe.jsxs)("div",{children:[(0,oe.jsx)("span",{children:g.count}),(0,oe.jsx)("strong",{children:h})]}),(0,oe.jsxs)("div",{children:[(0,oe.jsx)("span",{children:"Linear metres"}),(0,oe.jsxs)("strong",{children:[w.toFixed(2)," m"]})]}),(0,oe.jsxs)("div",{children:[(0,oe.jsxs)("span",{children:[b," m lengths"]}),(0,oe.jsx)("strong",{children:E})]})]}),(0,oe.jsx)("p",{className:"materials-calculator__note",children:"Spacing is measured centre-to-centre. Add extra timber for plates, noggins, trimming and openings where required."})]}),(0,oe.jsxs)("div",{className:"materials-calculator__actions",children:[(0,oe.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,oe.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(D),disabled:w<=0,children:a})]})]})]})})}var Ld=[{id:"truss",title:"Roof Truss Calculator",desc:"Estimate trusses, girders and roof structure costs.",imageUrl:"/tool-images/truss.webp",Component:Dd},{id:"fencing",title:"Fencing Calculator",desc:"Estimate fence panels, posts, gravel boards and fixings.",imageUrl:"/tool-images/fencing.webp",Component:Ed},{id:"decking",title:"Decking Calculator",desc:"Estimate boards, substructure and fixing quantities.",imageUrl:"/tool-images/decking.webp",Component:qd},{id:"brick-block",title:"Brick & Block Calculator",desc:"Estimate masonry units and ready-mixed mortar for a wall.",imageUrl:"/tool-images/brick-block.webp",Component:xd},{id:"paint",title:"Paint Calculator",desc:"Estimate paint for walls, doors and multiple coats.",imageUrl:"/tool-images/paint.webp",Component:Td},{id:"skirting",title:"Skirting Board Calculator",desc:"Estimate skirting lengths for rooms and wall runs.",imageUrl:"/tool-images/skirting.webp",Component:Bd},{id:"architrave",title:"Architrave Calculator",desc:"Estimate architrave lengths for door and window openings.",imageUrl:"/tool-images/architrave.webp",Component:_d},{id:"concrete-aggregate",title:"Concrete & Aggregate Calculator",desc:"Estimate concrete, MOT, sand and gravel quantities.",imageUrl:"/tool-images/concrete-aggregate.webp",Component:Sd},{id:"plasterboard",title:"Plasterboard Calculator",desc:"Estimate plasterboard sheets, screws, tape and adhesive.",imageUrl:"/tool-images/plasterboard.webp",Component:Ud},{id:"insulation",title:"Insulation Calculator",desc:"Estimate insulation packs for floors, walls, roofs and lofts.",imageUrl:"/tool-images/insulation.webp",Component:Md},{id:"timber",title:"Timber Calculator",desc:"Estimate studs, joists and battens from spacing and lengths.",imageUrl:"/tool-images/timber.webp",Component:Od},{id:"paving",title:"Paving & Driveway Calculator",desc:"Estimate paving, block paving, MOT and sharp sand.",imageUrl:"/tool-images/paving.webp",Component:Ad}];var mc=Y(Ke());var je=Y(Ke());var S=Y(ae()),Z_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}],Hd={wasteFactorEnabled:!0},K_=3e3,qw=null;function dc(e,t){let a=Fo(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function P_(e){return e&&e.length>0?e.join(" x "):"-"}function jd({toolId:e,requirements:t,ready:a,onBack:r,onTotalChange:n}){let i=Fs(),o=`${e}~${t.map(C=>`${C.key}|${C.query}|${C.category??""}|${C.qty}`).join("~")}`,l=o!==qw,[c,p]=(0,je.useState)(null),[f,b]=(0,je.useState)([]),[d,h]=(0,je.useState)(l),[w,E]=(0,je.useState)(null),[D,m]=(0,je.useState)("tile"),[u,g]=(0,je.useState)(null),[v,N]=(0,je.useState)(""),[R,T]=(0,je.useState)(null),[z,G]=(0,je.useState)(""),[K,xe]=(0,je.useState)([]),[Ee,Ge]=(0,je.useState)(new Set),[Qe,Ie]=(0,je.useState)(null),[ue,Q]=(0,je.useState)(""),[se,Ne]=(0,je.useState)([]),lt=(0,je.useRef)(null),Ye=(0,je.useRef)(!1),ge=C=>`${e}:${C}`,We=C=>Kr(C.chosen,{lineId:ge(C.requirement.key),description:C.requirement.label,unit:C.requirement.unit,qty:C.requirement.qty}),he=(0,je.useMemo)(()=>t.map(C=>`${C.key}|${C.query}|${C.category??""}`).join("~"),[t]);(0,je.useEffect)(()=>{let C=!1;return fw().then(V=>{C||p(V.itemCount>0)}).catch(()=>{C||p(!1)}),()=>{C=!0}},[]),(0,je.useEffect)(()=>{if(!a||!c)return;let C=!1,V;l&&h(!0),E(null);let X=Date.now();return(async()=>{let pe=null;try{pe=(await mw(t)).map(({requirement:ft,candidates:Ve})=>({requirement:ft,candidates:Ve,chosen:Ve[0]??null}))}catch(Se){C||E(Se instanceof Error?Se.message:"Could not load products")}if(!C){if(qw=o,l){let Se=K_-(Date.now()-X);Se>0&&await new Promise(ft=>{V=window.setTimeout(ft,Se)})}C||(pe&&(b(pe),!Ye.current&&i&&(Ye.current=!0,i.addManyToCart(pe.filter(Se=>Se.chosen).map(We)))),h(!1))}})(),()=>{C=!0,window.clearTimeout(V)}},[a,c,he]),(0,je.useEffect)(()=>{if(!R)return;let C=z.trim();if(!C){xe([]);return}let V=!1,X=window.setTimeout(()=>{Jr(C).then(pe=>{V||xe(pe)}).catch(()=>{V||xe([])})},250);return()=>{V=!0,window.clearTimeout(X)}},[R,z]),(0,je.useEffect)(()=>{if(!Qe)return;let C=ue.trim();if(!C){Ne([]);return}let V=!1,X=window.setTimeout(()=>{Jr(C).then(pe=>{V||Ne(pe)}).catch(()=>{V||Ne([])})},250);return()=>{V=!0,window.clearTimeout(X)}},[Qe,ue]);let W=(0,je.useMemo)(()=>{let C=v.trim().toLowerCase(),V=C?f.filter(X=>X.requirement.label.toLowerCase().includes(C)||(X.chosen?.description??"").toLowerCase().includes(C)||(X.chosen?.product_id??"").toLowerCase().includes(C)):f;return u?[...V].sort((X,pe)=>{let Se=X.requirement.label.localeCompare(pe.requirement.label);return u==="asc"?Se:-Se}):V},[f,v,u]),Re=W.filter(C=>C.chosen),Be=W.filter(C=>!C.chosen),ye=f.filter(C=>C.chosen),et=ye.filter(C=>C.chosen?.price==null).length,Ze=ye.reduce((C,V)=>C+(Ut(We(V),Hd).lineTotal??0),0);if((0,je.useEffect)(()=>{n?.(Ze)},[Ze,n]),!a||c===!1)return null;let M=i?ye.filter(C=>i.cart[ge(C.requirement.key)]).length:0,x=Qe?f.find(C=>C.requirement.key===Qe)??null:null,I=ue.trim()?se:x?.candidates??[],ce=C=>{let V=R===C.requirement.key;T(V?null:C.requirement.key),G(V?"":C.requirement.query)},me=(C,V)=>{let X=f.find(pe=>pe.requirement.key===C);b(pe=>pe.map(Se=>Se.requirement.key===C?{...Se,chosen:V}:Se)),i&&X&&i.cart[ge(C)]&&i.addToCart(We({...X,chosen:V})),T(null),G("")},ke=C=>{b(V=>V.map(X=>X.requirement.key===C?{...X,chosen:null}:X)),i?.cart[ge(C)]&&i.removeFromCart(ge(C))},k=C=>{Ie(C.requirement.key),Q(""),Ne([])},j=()=>{Ie(null),Q(""),Ne([])},O=C=>{if(!i)return;let V=ge(C.requirement.key);i.cart[V]?i.removeFromCart(V):i.addToCart(We(C))},ne=C=>{Ge(V=>{let X=new Set(V);return X.has(C)?X.delete(C):X.add(C),X})},ee=C=>{let V=K.length>0?K:C.candidates;return(0,S.jsxs)("div",{className:"estimator-products__picker",children:[(0,S.jsx)("input",{type:"text",className:"results-search-input",value:z,autoFocus:!0,placeholder:"Search products in catalogue...",onChange:X=>G(X.target.value),"aria-label":`Search a product for ${C.requirement.label}`}),(0,S.jsxs)("div",{className:"estimator-products__options",children:[V.map(X=>(0,S.jsxs)("button",{type:"button",className:`estimator-products__option${X.product_id===C.chosen?.product_id?" is-selected":""}`,onClick:()=>me(C.requirement.key,X),children:[(0,S.jsx)("span",{children:X.description}),(0,S.jsxs)("span",{className:"results-row-meta",children:[X.product_id,X.price!=null&&` \xB7 ${st(X.price)}`]})]},X.product_id)),V.length===0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No matching products."})]})]})};return(0,S.jsxs)("section",{className:"estimator-products results-tile-section","aria-label":"Matched products",children:[!d&&(0,S.jsxs)("div",{className:"estimator-products__head",children:[(0,S.jsxs)("div",{className:"results-tile-section__head",children:[(0,S.jsx)("h3",{children:"Matched Products"}),(0,S.jsx)("p",{children:"Products matched to your estimate, check before adding to your basket."})]}),!x&&(0,S.jsxs)("div",{className:"results-summary estimator-products__toolbar",children:[et>0&&(0,S.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,S.jsx)("strong",{children:et})," need pricing"]}),(0,S.jsxs)("div",{className:"estimator-products__controls",children:[(0,S.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:v,onChange:C=>N(C.target.value),"aria-label":"Search matched products"}),(0,S.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,S.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="tile"?" is-active":""}`,"aria-pressed":D==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>m("tile"),children:(0,S.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,S.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,S.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,S.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="list"?" is-active":""}`,"aria-pressed":D==="list","aria-label":"List view",title:"List view",onClick:()=>m("list"),children:(0,S.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,S.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,S.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,S.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),(0,S.jsxs)("details",{ref:lt,style:{position:"relative"},children:[(0,S.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort materials",style:{fontSize:16},children:"\u21C5"}),(0,S.jsx)("div",{className:"sort-menu-panel",children:Z_.map(C=>{let V=u===C.dir;return(0,S.jsxs)("button",{type:"button",className:`sort-menu-item${V?" is-active":""}`,onClick:()=>{g(V?null:C.dir),lt.current?.removeAttribute("open")},children:[(0,S.jsx)("span",{className:"sort-menu-item__check",children:V?"\u2713":""}),C.label]},C.dir)})})]})]})]})]}),x&&(0,S.jsxs)("div",{className:"results-review-page",children:[(0,S.jsxs)("div",{className:"results-review-page__top",children:[(0,S.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:j,children:[(0,S.jsx)(Zr,{}),"Back to results"]}),(0,S.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,S.jsx)("div",{className:"results-review-searchbar",children:(0,S.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:ue,onChange:C=>Q(C.target.value),"aria-label":`Search a product for ${x.requirement.label}`})}),x.chosen&&(0,S.jsx)("div",{className:"results-candidate-actions",children:(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ke(x.requirement.key),children:"Clear selected product"})})]})]}),(0,S.jsxs)("div",{className:"results-review-page__hero",children:[(0,S.jsx)("div",{className:"results-review-page__image-wrap",children:(0,S.jsx)("img",{className:"fill-img results-review-page__image",src:Qa(x.chosen?.description||x.requirement.label,x.chosen?.product_id,x.chosen?.pdp_photo_url),alt:""})}),(0,S.jsxs)("div",{className:"results-review-page__summary",children:[(0,S.jsx)("h2",{children:x.requirement.label}),(0,S.jsxs)("p",{className:"results-review-page__meta",children:[_i(x.requirement.qty)," ",ka(x.requirement.unit,x.requirement.qty)]}),x.chosen?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("div",{className:"results-review-page__product",children:x.chosen.description}),(0,S.jsxs)("div",{className:"results-row-meta",children:[x.chosen.product_id,x.chosen.price!=null?` \xB7 ${dc(x.chosen.price,x.chosen.price_basis)}`:""]})]}):(0,S.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line."}),(0,S.jsx)("div",{className:"results-review-page__actions",children:(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${i?.cart[ge(x.requirement.key)]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(x),disabled:!x.chosen||!i,children:i?.cart[ge(x.requirement.key)]?"\u2713 Added":"+ Add to basket"})})]})]}),I.length===0?(0,S.jsx)("p",{className:"results-empty-hint",children:"No matching products."}):(0,S.jsxs)("table",{className:"score-breakdown-table",children:[(0,S.jsx)("thead",{children:(0,S.jsxs)("tr",{children:[(0,S.jsx)("th",{children:"Product"}),(0,S.jsx)("th",{children:"Dims (mm)"}),(0,S.jsx)("th",{children:"Price"}),(0,S.jsx)("th",{"aria-label":"Actions"})]})}),(0,S.jsx)("tbody",{children:I.map(C=>{let V=C.product_id===x.chosen?.product_id;return(0,S.jsxs)("tr",{className:V?"score-breakdown-row--best":"",children:[(0,S.jsxs)("td",{children:[(0,S.jsx)("div",{children:C.description}),(0,S.jsx)("div",{className:"results-row-meta",children:C.product_id})]}),(0,S.jsx)("td",{children:(0,S.jsx)("span",{className:"unit-badge",children:P_(C.measurements_mm)})}),(0,S.jsx)("td",{children:C.price!=null?dc(C.price,C.price_basis):"-"}),(0,S.jsx)("td",{children:(0,S.jsxs)("label",{className:"switch-toggle",title:V?"Currently selected":"Use this candidate",children:[(0,S.jsx)("input",{type:"checkbox",checked:V,onChange:()=>{V?ke(x.requirement.key):me(x.requirement.key,C)},"aria-label":V?`${C.description} selected`:`Use ${C.description}`}),(0,S.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},C.product_id)})})]})]}),!x&&d&&(0,S.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{padding:"32px 24px"},children:[(0,S.jsx)(dr,{}),(0,S.jsx)("p",{className:"banter-message is-visible",style:{fontSize:15,minHeight:0},children:"Matching your materials against the catalogue\u2026"})]}),!x&&w&&(0,S.jsx)("p",{className:"results-empty-hint estimator-products__error",children:w}),!x&&!d&&!w&&W.length===0&&f.length>0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No materials match the current search."}),!x&&!d&&!w&&D==="tile"&&Re.length>0&&(0,S.jsx)("div",{className:"results-tile-grid",children:Re.map(C=>{let{requirement:V,chosen:X}=C,pe=X?Ut(We(C),Hd):null,Se=i?!!i.cart[ge(V.key)]:!1;return(0,S.jsxs)("article",{className:"results-tile-card",children:[(0,S.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>k(C),"aria-label":`Review match for ${V.label}`,children:[(0,S.jsx)("div",{className:"results-tile-card__media",children:(0,S.jsx)("img",{className:"fill-img results-tile-card__image",src:Qa(X?.description||V.label,X?.product_id,X?.pdp_photo_url),alt:""})}),(0,S.jsxs)("div",{className:"results-tile-card__body",children:[X?(0,S.jsxs)("div",{className:"results-tile-card__heading",children:[(0,S.jsx)("div",{className:"results-tile-card__title",children:X.description}),(0,S.jsxs)("div",{className:"results-tile-card__match-meta",children:[(0,S.jsx)("span",{children:X.product_id}),X.price!=null?(0,S.jsx)("span",{children:dc(X.price,X.price_basis)}):null]})]}):(0,S.jsx)("div",{className:"results-empty-hint",children:"No product matched for this line."}),(0,S.jsxs)("div",{className:"results-tile-card__match",children:[(0,S.jsx)("div",{className:"results-tile-card__match-label",children:"\u21B3 calculated as"}),(0,S.jsx)("div",{className:"results-tile-card__match-name",children:V.label}),(0,S.jsxs)("div",{className:"results-tile-card__meta",children:[_i(V.qty)," ",ka(V.unit,V.qty)]}),pe?.requiredSellUnits!=null?(0,S.jsxs)("div",{className:"results-tile-card__meta estimator-products__order",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${st(pe.lineTotal)}`:""]}):X?(0,S.jsx)("div",{className:"results-row-meta",children:"Quantity needs review"}):null]})]})]}),(0,S.jsxs)("div",{className:"results-tile-card__actions",children:[(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>k(C),children:"Review"}),(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${Se?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(C),disabled:!X||!i,children:Se?"\u2713 Added":"+ Add"})]})]},V.key)})}),!x&&!d&&!w&&D==="list"&&Re.length>0&&(0,S.jsx)("div",{className:"bom-table-wrap",children:(0,S.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched materials",children:[(0,S.jsxs)("colgroup",{children:[(0,S.jsx)("col",{style:{width:"56px"}}),(0,S.jsx)("col",{className:"col-item"}),(0,S.jsx)("col",{style:{width:"90px"}}),(0,S.jsx)("col",{style:{width:"80px"}}),(0,S.jsx)("col",{style:{width:"220px"}}),(0,S.jsx)("col",{style:{width:"110px"}})]}),(0,S.jsx)("thead",{children:(0,S.jsxs)("tr",{className:"bom-col-header",children:[(0,S.jsx)("th",{"aria-label":"Expand"}),(0,S.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Qty"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Unit"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,S.jsx)("th",{style:{textAlign:"center"},children:"Basket"})]})}),(0,S.jsx)("tbody",{children:Re.map(C=>{let{requirement:V,chosen:X}=C,pe=X?Ut(We(C),Hd):null,Se=i?!!i.cart[ge(V.key)]:!1,ft=Ee.has(V.key);return(0,S.jsxs)(je.Fragment,{children:[(0,S.jsxs)("tr",{className:"bom-row",children:[(0,S.jsx)("td",{className:"bom-actions",style:{textAlign:"center",paddingLeft:0,paddingRight:0},children:(0,S.jsx)("button",{type:"button",className:"link-btn",onClick:()=>ne(V.key),"aria-expanded":ft,"aria-label":ft?"Collapse product options":"Expand product options",children:ft?"\u25BE":"\u25B8"})}),(0,S.jsxs)("td",{style:{paddingLeft:0},children:[(0,S.jsx)("div",{className:"bom-component-name",children:V.label}),pe?.requiredSellUnits!=null&&(0,S.jsxs)("div",{className:"results-row-meta",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${st(pe.lineTotal)}`:""]})]}),(0,S.jsx)("td",{className:"bom-qty col-order",style:{textAlign:"center"},children:_i(V.qty)}),(0,S.jsx)("td",{style:{textAlign:"center"},children:ka(V.unit,V.qty)}),(0,S.jsx)("td",{style:{textAlign:"center"},children:X?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("div",{className:"bom-component-name",children:X.description}),(0,S.jsxs)("div",{className:"results-row-meta",children:[X.product_id,X.price!=null&&` \xB7 ${dc(X.price,X.price_basis)}`]})]}):(0,S.jsx)("span",{className:"results-empty-hint",children:"No match"})}),(0,S.jsx)("td",{style:{textAlign:"center"},children:(0,S.jsx)("button",{type:"button",className:`bom-toolbar-btn${Se?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>O(C),disabled:!X||!i,children:Se?"\u2713 Added":"+ Add"})})]}),ft&&(0,S.jsx)("tr",{children:(0,S.jsx)("td",{colSpan:6,style:{paddingLeft:0,paddingRight:0},children:R===V.key?ee(C):(0,S.jsxs)("div",{className:"estimator-products__picker",children:[(0,S.jsxs)("div",{className:"estimator-products__options",children:[C.candidates.map(Ve=>(0,S.jsxs)("button",{type:"button",className:`estimator-products__option${Ve.product_id===X?.product_id?" is-selected":""}`,onClick:()=>me(V.key,Ve),children:[(0,S.jsx)("span",{children:Ve.description}),(0,S.jsxs)("span",{className:"results-row-meta",children:[Ve.product_id,Ve.price!=null&&` \xB7 ${st(Ve.price)}`]})]},Ve.product_id)),C.candidates.length===0&&(0,S.jsx)("p",{className:"results-empty-hint",children:"No candidates found."})]}),(0,S.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ce(C),children:"Search the catalogue"})]})})})]},V.key)})})]})}),!x&&!d&&!w&&Be.length>0&&(0,S.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,S.jsxs)("div",{className:"results-tile-section__head",children:[(0,S.jsx)("h3",{children:"Require Matching"}),(0,S.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,S.jsx)("div",{className:"results-unmatched-list",children:Be.map(C=>(0,S.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>k(C),children:[(0,S.jsxs)("span",{className:"results-unmatched-card__main",children:[(0,S.jsx)("span",{className:"results-unmatched-card__title",children:C.requirement.label}),(0,S.jsxs)("span",{className:"results-row-meta",children:[_i(C.requirement.qty)," ",ka(C.requirement.unit,C.requirement.qty)]})]}),(0,S.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},C.requirement.key))})]}),!d&&!w&&f.length>0&&(0,S.jsxs)("div",{className:"disclaimer-box",style:{alignItems:"center"},children:[(0,S.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,S.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence."})]}),!x&&!d&&!w&&(r||M>0)&&(0,S.jsxs)("div",{className:"btn-row estimator-products__footer",children:[r&&(0,S.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:r,children:"Back"}),M>0&&i&&(0,S.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:r?"0 1 70%":1,marginTop:0},onClick:i.openBasket,children:[(0,S.jsxs)("span",{children:["View Basket (",M,")"]}),(0,S.jsx)("span",{className:"arrow",children:(0,S.jsx)(Ht,{})})]})]})]})}var jt=Y(ae());function Gd({toolId:e,toolTitle:t,requirements:a,onBack:r}){let[n,i]=(0,mc.useState)(0),o=(0,mc.useCallback)(l=>i(l),[]);return(0,jt.jsx)(jt.Fragment,{children:(0,jt.jsxs)("div",{className:"truss-estimator",children:[(0,jt.jsxs)("div",{className:"quick-order-hero",children:[(0,jt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,jt.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,jt.jsx)("h1",{children:"Your Materials"}),n>0&&(0,jt.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,jt.jsx)("strong",{children:st(n)})," Est. total"]})]}),(0,jt.jsxs)("p",{children:["Quantities from the ",t,", matched against your merchant\u2019s catalogue."]})]}),(0,jt.jsx)("div",{className:"truss-estimator__card",style:{minHeight:0},children:(0,jt.jsx)(jd,{toolId:e,requirements:a,ready:!0,onBack:r,onTotalChange:o})})]})})}var J_=(e,t)=>{let a=t.key,r={"brick-block":{"brick-common":"5001444","brick-engineering-red":"5002008","brick-engineering-blue":"5001439",block:"5003187",mortar:"6003088"},skirting:{"skirting-chamfered":"4006057","skirting-ogee":"4006045","skirting-pencil-round":"4006048","skirting-torus":"4006042"},architrave:{"architrave-ogee":"4006060","architrave-ovolo":"4006063","architrave-pencil-round":"4006061","architrave-square-edge":"4006062","architrave-torus":"4006059"},plasterboard:{board:"2001035",screws:"2006040",tape:"2007043",adhesive:"2004023"},insulation:{"insulation-floor":"3002110","insulation-wall":"3002012","insulation-roof":"3004047","insulation-loft":"3003046"},timber:{studs:"4001168",joists:"4001201",battens:"4001053"},fencing:{"panels-boundary-0.9":"4001268","panels-boundary-1.2":"4001269","panels-boundary-1.5":"4001270","panels-boundary-1.8":"4001271","panels-skyline-0.9":"4001264","panels-skyline-1.2":"4001265","panels-skyline-1.5":"4001266","panels-skyline-1.8":"4001267","concrete-intermediate-6":"4001290","concrete-intermediate-8":"4001291","concrete-end-6":"4001294","concrete-end-8":"4001295","timber-post-6":"4001242","timber-post-8":"4001243",postcrete:"6003008",gate:"4001630","gravel-boards":"4001284"},decking:{"boards-meridian":"4001251","boards-summit":"4001360",joists:"4001201",screws:"1001103"},paving:{"surface-council":"7003121","surface-raj":"7003003","surface-brindle":"4001621","surface-charcoal":"4001622","surface-pea":"6001004","sub-base":"6001007",bedding:"6001012"}};return e==="plasterboard"?{standard:"2001035",moisture:"2002039",fire:"2002087",sound:"2002044"}[t.label.split(" ")[0].toLowerCase()]??r[e]?.[a]??null:r[e]?.[a]??null};function Ew(e,t){if(e==="paint"||e==="concrete-aggregate")return null;let a=t.map(r=>{let n=J_(e,r);return n?{key:r.key,productId:n,qty:r.qty,unit:r.unit}:null});return a.every(Boolean)?a:null}var Qd=Y(Ke());var Jt=Y(ae()),F_=1500;function Mw(e){let{addManyToCart:t,clearCart:a,openBasket:r}=An(),[n,i]=(0,Qd.useState)(!1),[o,l]=(0,Qd.useState)(null);return{adding:n,basketError:o,addToBasket:async(p,f)=>{let b=Date.now();i(!0),l(null);try{let d=await Promise.all(p.filter(w=>w.qty>0).map(async w=>{let E=(await Jr(w.productId)).find(D=>D.product_id===w.productId);if(!E)throw new Error("A selected product is no longer available in this catalogue.");return Kr(E,{lineId:`${e}:${w.key}`,description:E.description,unit:w.unit??"each",qty:w.qty,calculatorWasteIncluded:f})})),h=F_-(Date.now()-b);h>0&&await new Promise(w=>window.setTimeout(w,h)),a(),t(d),r()}catch(d){l(d instanceof Error?d.message:"Could not add the products to your basket.")}finally{i(!1)}}}}function Tw({toolTitle:e}){return(0,Jt.jsx)(Jt.Fragment,{children:(0,Jt.jsxs)("div",{className:"truss-estimator",children:[(0,Jt.jsxs)("div",{className:"quick-order-hero",children:[(0,Jt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Jt.jsx)("h1",{children:"Your Materials"}),(0,Jt.jsxs)("p",{children:["Calculating quantities from the ",e,"."]})]}),(0,Jt.jsx)("div",{className:"truss-estimator__card",children:(0,Jt.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,Jt.jsx)(dr,{}),(0,Jt.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})})}var Ae=Y(ae());function fc(e){let[t,a]=(0,Va.useState)(!1);return(0,Ae.jsx)(Js,{onOpenBasket:()=>a(!0),children:(0,Ae.jsx)(I_,{...e,showBasket:t,onShowBasket:a})})}function I_({fullPage:e=!1,hideHeader:t=!1,internal:a=!1,showBasket:r,onShowBasket:n}){let[i,o]=(0,Va.useState)(null),[l,c]=(0,Va.useState)(null),p=Ld.find(z=>z.id===i),{cart:f,updateCartQty:b,updateCartSellUnits:d,updateCartConversions:h,removeFromCart:w,clearCart:E}=An(),{adding:D,basketError:m,addToBasket:u}=Mw(p?.title??"calculator"),g=(0,Va.useRef)(null),v=Gs("estimating-tools",g);(0,Va.useEffect)(()=>{v("viewed")},[v]);let N=r?"basket":D?"adding":l?"review":i??"list",R=(0,Va.useRef)(N);(0,Va.useEffect)(()=>{R.current!==N&&(R.current=N,window.scrollTo(0,0))},[N]);let T=z=>{if(!p)return;v("estimate_completed",{calculator:p.id,lines:z.length});let G=Ew(p.id,z);G?u(G,z[0]?.calculatorWasteIncluded??!1):c(z)};return(0,Ae.jsx)(Zo.Provider,{value:v,children:(0,Ae.jsx)("div",{ref:g,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}`,style:pr().theme,children:(0,Ae.jsx)("main",{className:"main-content",children:r?(0,Ae.jsx)(rl,{cart:f,onUpdateQty:b,onUpdateSellUnits:d,onResolveConversions:h,onRemove:w,onBack:()=>n(!1),onStartNewQuote:()=>{E(),o(null),c(null),n(!1)},internal:a}):D&&p?(0,Ae.jsx)(Tw,{toolTitle:p.title}):p?(0,Ae.jsxs)(Ae.Fragment,{children:[(0,Ae.jsx)("div",{hidden:l!==null,children:(0,Ae.jsx)(p.Component,{onBack:()=>o(null),onReview:T})}),m&&(0,Ae.jsx)("p",{className:"results-empty-hint estimator-products__error",children:m}),l!==null&&(0,Ae.jsx)(Gd,{toolId:p.id,toolTitle:p.title,requirements:l,onBack:()=>c(null)})]}):(0,Ae.jsx)(Ae.Fragment,{children:(0,Ae.jsxs)("div",{className:"quick-order-card",children:[(0,Ae.jsxs)("div",{className:"quick-order-hero",children:[(0,Ae.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,Ae.jsx)("h1",{children:"Estimating Tools"}),(0,Ae.jsx)("p",{children:"Trade-specific calculators for trusses, fencing, decking, masonry and painting. Dial in your specs and get an instant material estimate."})]}),(0,Ae.jsxs)("div",{className:"quick-order-alt",children:[(0,Ae.jsx)("div",{className:"quick-order-alt-title",children:"Choose a Calculator"}),(0,Ae.jsx)("div",{className:"estimator-tools-grid",children:Ld.map(z=>(0,Ae.jsxs)("button",{type:"button",className:"estimator-tool-card",onClick:()=>{v("calculator_selected",{calculator:z.id}),o(z.id),c(null)},children:[(0,Ae.jsx)("span",{className:"estimator-tool-card__image-wrap",children:(0,Ae.jsx)("img",{className:"fill-img estimator-tool-card__image",src:Pt(z.imageUrl),alt:""})}),(0,Ae.jsxs)("span",{className:"estimator-tool-card__content",children:[(0,Ae.jsx)("span",{className:"estimator-tool-card__title",children:z.title}),(0,Ae.jsx)("span",{className:"estimator-tool-card__desc",children:z.desc})]})]},z.id))})]})]})})})})})}var gc=Y(ae());function Yd({config:e,children:t}){return Kb(e),(0,gc.jsx)(gc.Fragment,{children:t})}var Vd=Y(ae()),W_="https://api.metronlabs.ai",ex=["client","api-key","api-url","theme","hide-header","analytics"],tx=["all","events-only","none"];function Aw(e,t){var a;customElements.get(e)||customElements.define(e,(a=class extends HTMLElement{constructor(){super();this.root=null;this.attachShadow({mode:"open"})}connectedCallback(){if(this.dataset.version="0.1.36",this.id||(this.id=e),this.setAttribute("data-turbo-permanent",""),this.setAttribute("data-turbolinks-permanent",""),!this.root){let n=document.createElement("div"),i=document.createElement("style");i.textContent=`:host { display: block; }
6799
6799
  :host > div { all: initial; display: block; }
6800
- ${$b}`,this.shadowRoot.replaceChildren(i,n),this.root=(0,Tw.createRoot)(n)}this.renderWidget()}disconnectedCallback(){queueMicrotask(()=>{this.isConnected||!this.root||(this.root.unmount(),this.root=null)})}attributeChangedCallback(){this.root&&this.renderWidget()}renderWidget(){let n=this.getAttribute("client")??void 0,i=this.getAttribute("api-key")??void 0;(!n||!i)&&console.error(`<${e}> needs client and api-key attributes.`);let o={apiBaseUrl:this.getAttribute("api-url")||I_,client:n,apiKey:i,theme:ax(e,this.getAttribute("theme")),analytics:tx(this.getAttribute("analytics"))};this.root.render((0,Yd.jsx)(Qd,{config:o,children:(0,Yd.jsx)(t,{hideHeader:this.hasAttribute("hide-header")})}))}},a.observedAttributes=W_,a))}function tx(e){return ex.find(t=>t===e)??"all"}function ax(e,t){if(t)try{return JSON.parse(t)}catch{console.error(`<${e}> theme attribute isn't valid JSON; using the default colours.`);return}}zw("metron-labs-quick-quote",Is);zw("metron-labs-estimating-tools",fc);
6800
+ ${Zb}`,this.shadowRoot.replaceChildren(i,n),this.root=(0,zw.createRoot)(n)}this.renderWidget()}disconnectedCallback(){queueMicrotask(()=>{this.isConnected||!this.root||(this.root.unmount(),this.root=null)})}attributeChangedCallback(){this.root&&this.renderWidget()}renderWidget(){let n=this.getAttribute("client")??void 0,i=this.getAttribute("api-key")??void 0;(!n||!i)&&console.error(`<${e}> needs client and api-key attributes.`);let o={apiBaseUrl:this.getAttribute("api-url")||W_,client:n,apiKey:i,theme:rx(e,this.getAttribute("theme")),analytics:ax(this.getAttribute("analytics"))};this.root.render((0,Vd.jsx)(Yd,{config:o,children:(0,Vd.jsx)(t,{hideHeader:this.hasAttribute("hide-header")})}))}},a.observedAttributes=ex,a))}function ax(e){return tx.find(t=>t===e)??"all"}function rx(e,t){if(t)try{return JSON.parse(t)}catch{console.error(`<${e}> theme attribute isn't valid JSON; using the default colours.`);return}}Aw("metron-labs-quick-quote",Is);Aw("metron-labs-estimating-tools",fc);
6801
6801
  /*! Bundled license information:
6802
6802
 
6803
6803
  scheduler/cjs/scheduler.production.js: